diff --git a/.clang-tidy.hash b/.clang-tidy.hash index 9661c2ca02..1cb5f98c28 100644 --- a/.clang-tidy.hash +++ b/.clang-tidy.hash @@ -1 +1 @@ -d272a88e8ca28ae9340a9a03295a566432a52cb696501908f57764475bf7ca65 +cf3d341206b4184ec8b7fe85141aef4fe4696aa720c3f8a06d4e57930574bdab diff --git a/.claude/skills/pr-workflow/SKILL.md b/.claude/skills/pr-workflow/SKILL.md new file mode 100644 index 0000000000..4ec2551804 --- /dev/null +++ b/.claude/skills/pr-workflow/SKILL.md @@ -0,0 +1,96 @@ +--- +name: pr-workflow +description: Create pull requests for esphome. Use when creating PRs, submitting changes, or preparing contributions. +allowed-tools: Read, Bash, Glob, Grep +--- + +# ESPHome PR Workflow + +When creating a pull request for esphome, follow these steps: + +## 1. Create Branch from Upstream + +Always base your branch on **upstream** (not origin/fork) to ensure you have the latest code: + +```bash +git fetch upstream +git checkout -b upstream/dev +``` + +## 2. Read the PR Template + +Before creating a PR, read `.github/PULL_REQUEST_TEMPLATE.md` to understand required fields. + +## 3. Create the PR + +Use `gh pr create` with the **full template** filled in. Never skip or abbreviate sections. + +Required fields: +- **What does this implement/fix?**: Brief description of changes +- **Types of changes**: Check ONE appropriate box (Bugfix, New feature, Breaking change, etc.) +- **Related issue**: Use `fixes ` syntax if applicable +- **Pull request in esphome-docs**: Link if docs are needed +- **Test Environment**: Check platforms you tested on +- **Example config.yaml**: Include working example YAML +- **Checklist**: Verify code is tested and tests added + +## 4. Example PR Body + +```markdown +# What does this implement/fix? + + + +## Types of changes + +- [ ] Bugfix (non-breaking change which fixes an issue) +- [x] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] Developer breaking change (an API change that could break external components) +- [ ] Code quality improvements to existing code or addition of tests +- [ ] Other + +**Related issue or feature (if applicable):** + +- fixes https://github.com/esphome/esphome/issues/XXX + +**Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** + +- esphome/esphome-docs#XXX + +## Test Environment + +- [x] ESP32 +- [x] ESP32 IDF +- [ ] ESP8266 +- [ ] RP2040 +- [ ] BK72xx +- [ ] RTL87xx +- [ ] LN882x +- [ ] nRF52840 + +## Example entry for `config.yaml`: + +```yaml +# Example config.yaml +component_name: + id: my_component + option: value +``` + +## Checklist: + - [x] The code change is tested and works locally. + - [x] Tests have been added to verify that the new code works (under `tests/` folder). + +If user exposed functionality or configuration variables are added/changed: + - [ ] Documentation added/updated in [esphome-docs](https://github.com/esphome/esphome-docs). +``` + +## 5. Push and Create PR + +```bash +git push -u origin +gh pr create --repo esphome/esphome --base dev --title "[component] Brief description" +``` + +Title should be prefixed with the component name in brackets, e.g. `[safe_mode] Add feature`. diff --git a/.github/actions/restore-python/action.yml b/.github/actions/restore-python/action.yml index 75586fd854..e178610a97 100644 --- a/.github/actions/restore-python/action.yml +++ b/.github/actions/restore-python/action.yml @@ -17,12 +17,12 @@ runs: steps: - name: Set up Python ${{ inputs.python-version }} id: python - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ inputs.python-version }} - name: Restore Python virtual environment id: cache-venv - uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/restore@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: venv # yamllint disable-line rule:line-length diff --git a/.github/scripts/auto-label-pr/constants.js b/.github/scripts/auto-label-pr/constants.js new file mode 100644 index 0000000000..d5e42fa1b9 --- /dev/null +++ b/.github/scripts/auto-label-pr/constants.js @@ -0,0 +1,36 @@ +// Constants and markers for PR auto-labeling +module.exports = { + BOT_COMMENT_MARKER: '', + CODEOWNERS_MARKER: '', + TOO_BIG_MARKER: '', + + MANAGED_LABELS: [ + 'new-component', + 'new-platform', + 'new-target-platform', + 'merging-to-release', + 'merging-to-beta', + 'chained-pr', + 'core', + 'small-pr', + 'dashboard', + 'github-actions', + 'by-code-owner', + 'has-tests', + 'needs-tests', + 'needs-docs', + 'needs-codeowners', + 'too-big', + 'labeller-recheck', + 'bugfix', + 'new-feature', + 'breaking-change', + 'developer-breaking-change', + 'code-quality', + ], + + DOCS_PR_PATTERNS: [ + /https:\/\/github\.com\/esphome\/esphome-docs\/pull\/\d+/, + /esphome\/esphome-docs#\d+/ + ] +}; diff --git a/.github/scripts/auto-label-pr/detectors.js b/.github/scripts/auto-label-pr/detectors.js new file mode 100644 index 0000000000..79025988dd --- /dev/null +++ b/.github/scripts/auto-label-pr/detectors.js @@ -0,0 +1,302 @@ +const fs = require('fs'); +const { DOCS_PR_PATTERNS } = require('./constants'); + +// Strategy: Merge branch detection +async function detectMergeBranch(context) { + const labels = new Set(); + const baseRef = context.payload.pull_request.base.ref; + + if (baseRef === 'release') { + labels.add('merging-to-release'); + } else if (baseRef === 'beta') { + labels.add('merging-to-beta'); + } else if (baseRef !== 'dev') { + labels.add('chained-pr'); + } + + return labels; +} + +// Strategy: Component and platform labeling +async function detectComponentPlatforms(changedFiles, apiData) { + const labels = new Set(); + const componentRegex = /^esphome\/components\/([^\/]+)\//; + const targetPlatformRegex = new RegExp(`^esphome\/components\/(${apiData.targetPlatforms.join('|')})/`); + + for (const file of changedFiles) { + const componentMatch = file.match(componentRegex); + if (componentMatch) { + labels.add(`component: ${componentMatch[1]}`); + } + + const platformMatch = file.match(targetPlatformRegex); + if (platformMatch) { + labels.add(`platform: ${platformMatch[1]}`); + } + } + + return labels; +} + +// Strategy: New component detection +async function detectNewComponents(prFiles) { + const labels = new Set(); + const addedFiles = prFiles.filter(file => file.status === 'added').map(file => file.filename); + + for (const file of addedFiles) { + const componentMatch = file.match(/^esphome\/components\/([^\/]+)\/__init__\.py$/); + if (componentMatch) { + try { + const content = fs.readFileSync(file, 'utf8'); + if (content.includes('IS_TARGET_PLATFORM = True')) { + labels.add('new-target-platform'); + } + } catch (error) { + console.log(`Failed to read content of ${file}:`, error.message); + } + labels.add('new-component'); + } + } + + return labels; +} + +// Strategy: New platform detection +async function detectNewPlatforms(prFiles, apiData) { + const labels = new Set(); + const addedFiles = prFiles.filter(file => file.status === 'added').map(file => file.filename); + + for (const file of addedFiles) { + const platformFileMatch = file.match(/^esphome\/components\/([^\/]+)\/([^\/]+)\.py$/); + if (platformFileMatch) { + const [, component, platform] = platformFileMatch; + if (apiData.platformComponents.includes(platform)) { + labels.add('new-platform'); + } + } + + const platformDirMatch = file.match(/^esphome\/components\/([^\/]+)\/([^\/]+)\/__init__\.py$/); + if (platformDirMatch) { + const [, component, platform] = platformDirMatch; + if (apiData.platformComponents.includes(platform)) { + labels.add('new-platform'); + } + } + } + + return labels; +} + +// Strategy: Core files detection +async function detectCoreChanges(changedFiles) { + const labels = new Set(); + const coreFiles = changedFiles.filter(file => + file.startsWith('esphome/core/') || + (file.startsWith('esphome/') && file.split('/').length === 2) + ); + + if (coreFiles.length > 0) { + labels.add('core'); + } + + return labels; +} + +// Strategy: PR size detection +async function detectPRSize(prFiles, totalAdditions, totalDeletions, totalChanges, isMegaPR, SMALL_PR_THRESHOLD, TOO_BIG_THRESHOLD) { + const labels = new Set(); + + if (totalChanges <= SMALL_PR_THRESHOLD) { + labels.add('small-pr'); + return labels; + } + + const testAdditions = prFiles + .filter(file => file.filename.startsWith('tests/')) + .reduce((sum, file) => sum + (file.additions || 0), 0); + const testDeletions = prFiles + .filter(file => file.filename.startsWith('tests/')) + .reduce((sum, file) => sum + (file.deletions || 0), 0); + + const nonTestChanges = (totalAdditions - testAdditions) - (totalDeletions - testDeletions); + + // Don't add too-big if mega-pr label is already present + if (nonTestChanges > TOO_BIG_THRESHOLD && !isMegaPR) { + labels.add('too-big'); + } + + return labels; +} + +// Strategy: Dashboard changes +async function detectDashboardChanges(changedFiles) { + const labels = new Set(); + const dashboardFiles = changedFiles.filter(file => + file.startsWith('esphome/dashboard/') || + file.startsWith('esphome/components/dashboard_import/') + ); + + if (dashboardFiles.length > 0) { + labels.add('dashboard'); + } + + return labels; +} + +// Strategy: GitHub Actions changes +async function detectGitHubActionsChanges(changedFiles) { + const labels = new Set(); + const githubActionsFiles = changedFiles.filter(file => + file.startsWith('.github/workflows/') + ); + + if (githubActionsFiles.length > 0) { + labels.add('github-actions'); + } + + return labels; +} + +// Strategy: Code owner detection +async function detectCodeOwner(github, context, changedFiles) { + const labels = new Set(); + const { owner, repo } = context.repo; + + try { + const { data: codeownersFile } = await github.rest.repos.getContent({ + owner, + repo, + path: 'CODEOWNERS', + }); + + const codeownersContent = Buffer.from(codeownersFile.content, 'base64').toString('utf8'); + const prAuthor = context.payload.pull_request.user.login; + + const codeownersLines = codeownersContent.split('\n') + .map(line => line.trim()) + .filter(line => line && !line.startsWith('#')); + + const codeownersRegexes = codeownersLines.map(line => { + const parts = line.split(/\s+/); + const pattern = parts[0]; + const owners = parts.slice(1); + + let regex; + if (pattern.endsWith('*')) { + const dir = pattern.slice(0, -1); + regex = new RegExp(`^${dir.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}`); + } else if (pattern.includes('*')) { + // First escape all regex special chars except *, then replace * with .* + const regexPattern = pattern + .replace(/[.+?^${}()|[\]\\]/g, '\\$&') + .replace(/\*/g, '.*'); + regex = new RegExp(`^${regexPattern}$`); + } else { + regex = new RegExp(`^${pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}$`); + } + + return { regex, owners }; + }); + + for (const file of changedFiles) { + for (const { regex, owners } of codeownersRegexes) { + if (regex.test(file) && owners.some(owner => owner === `@${prAuthor}`)) { + labels.add('by-code-owner'); + return labels; + } + } + } + } catch (error) { + console.log('Failed to read or parse CODEOWNERS file:', error.message); + } + + return labels; +} + +// Strategy: Test detection +async function detectTests(changedFiles) { + const labels = new Set(); + const testFiles = changedFiles.filter(file => file.startsWith('tests/')); + + if (testFiles.length > 0) { + labels.add('has-tests'); + } + + return labels; +} + +// Strategy: PR Template Checkbox detection +async function detectPRTemplateCheckboxes(context) { + const labels = new Set(); + const prBody = context.payload.pull_request.body || ''; + + console.log('Checking PR template checkboxes...'); + + // Check for checked checkboxes in the "Types of changes" section + const checkboxPatterns = [ + { pattern: /- \[x\] Bugfix \(non-breaking change which fixes an issue\)/i, label: 'bugfix' }, + { pattern: /- \[x\] New feature \(non-breaking change which adds functionality\)/i, label: 'new-feature' }, + { pattern: /- \[x\] Breaking change \(fix or feature that would cause existing functionality to not work as expected\)/i, label: 'breaking-change' }, + { pattern: /- \[x\] Developer breaking change \(an API change that could break external components\)/i, label: 'developer-breaking-change' }, + { pattern: /- \[x\] Code quality improvements to existing code or addition of tests/i, label: 'code-quality' } + ]; + + for (const { pattern, label } of checkboxPatterns) { + if (pattern.test(prBody)) { + console.log(`Found checked checkbox for: ${label}`); + labels.add(label); + } + } + + return labels; +} + +// Strategy: Requirements detection +async function detectRequirements(allLabels, prFiles, context) { + const labels = new Set(); + + // Check for missing tests + if ((allLabels.has('new-component') || allLabels.has('new-platform') || allLabels.has('new-feature')) && !allLabels.has('has-tests')) { + labels.add('needs-tests'); + } + + // Check for missing docs + if (allLabels.has('new-component') || allLabels.has('new-platform') || allLabels.has('new-feature')) { + const prBody = context.payload.pull_request.body || ''; + const hasDocsLink = DOCS_PR_PATTERNS.some(pattern => pattern.test(prBody)); + + if (!hasDocsLink) { + labels.add('needs-docs'); + } + } + + // Check for missing CODEOWNERS + if (allLabels.has('new-component')) { + const codeownersModified = prFiles.some(file => + file.filename === 'CODEOWNERS' && + (file.status === 'modified' || file.status === 'added') && + (file.additions || 0) > 0 + ); + + if (!codeownersModified) { + labels.add('needs-codeowners'); + } + } + + return labels; +} + +module.exports = { + detectMergeBranch, + detectComponentPlatforms, + detectNewComponents, + detectNewPlatforms, + detectCoreChanges, + detectPRSize, + detectDashboardChanges, + detectGitHubActionsChanges, + detectCodeOwner, + detectTests, + detectPRTemplateCheckboxes, + detectRequirements +}; diff --git a/.github/scripts/auto-label-pr/index.js b/.github/scripts/auto-label-pr/index.js new file mode 100644 index 0000000000..95ecfc4e33 --- /dev/null +++ b/.github/scripts/auto-label-pr/index.js @@ -0,0 +1,179 @@ +const { MANAGED_LABELS } = require('./constants'); +const { + detectMergeBranch, + detectComponentPlatforms, + detectNewComponents, + detectNewPlatforms, + detectCoreChanges, + detectPRSize, + detectDashboardChanges, + detectGitHubActionsChanges, + detectCodeOwner, + detectTests, + detectPRTemplateCheckboxes, + detectRequirements +} = require('./detectors'); +const { handleReviews } = require('./reviews'); +const { applyLabels, removeOldLabels } = require('./labels'); + +// Fetch API data +async function fetchApiData() { + try { + const response = await fetch('https://data.esphome.io/components.json'); + const componentsData = await response.json(); + return { + targetPlatforms: componentsData.target_platforms || [], + platformComponents: componentsData.platform_components || [] + }; + } catch (error) { + console.log('Failed to fetch components data from API:', error.message); + return { targetPlatforms: [], platformComponents: [] }; + } +} + +module.exports = async ({ github, context }) => { + // Environment variables + const SMALL_PR_THRESHOLD = parseInt(process.env.SMALL_PR_THRESHOLD); + const MAX_LABELS = parseInt(process.env.MAX_LABELS); + const TOO_BIG_THRESHOLD = parseInt(process.env.TOO_BIG_THRESHOLD); + const COMPONENT_LABEL_THRESHOLD = parseInt(process.env.COMPONENT_LABEL_THRESHOLD); + + // Global state + const { owner, repo } = context.repo; + const pr_number = context.issue.number; + + // Get current labels and PR data + const { data: currentLabelsData } = await github.rest.issues.listLabelsOnIssue({ + owner, + repo, + issue_number: pr_number + }); + const currentLabels = currentLabelsData.map(label => label.name); + const managedLabels = currentLabels.filter(label => + label.startsWith('component: ') || MANAGED_LABELS.includes(label) + ); + + // Check for mega-PR early - if present, skip most automatic labeling + const isMegaPR = currentLabels.includes('mega-pr'); + + // Get all PR files with automatic pagination + const prFiles = await github.paginate( + github.rest.pulls.listFiles, + { + owner, + repo, + pull_number: pr_number + } + ); + + // Calculate data from PR files + const changedFiles = prFiles.map(file => file.filename); + const totalAdditions = prFiles.reduce((sum, file) => sum + (file.additions || 0), 0); + const totalDeletions = prFiles.reduce((sum, file) => sum + (file.deletions || 0), 0); + const totalChanges = totalAdditions + totalDeletions; + + console.log('Current labels:', currentLabels.join(', ')); + console.log('Changed files:', changedFiles.length); + console.log('Total changes:', totalChanges); + if (isMegaPR) { + console.log('Mega-PR detected - applying limited labeling logic'); + } + + // Fetch API data + const apiData = await fetchApiData(); + const baseRef = context.payload.pull_request.base.ref; + + // Early exit for release and beta branches only + if (baseRef === 'release' || baseRef === 'beta') { + const branchLabels = await detectMergeBranch(context); + const finalLabels = Array.from(branchLabels); + + console.log('Computed labels (merge branch only):', finalLabels.join(', ')); + + // Apply labels + await applyLabels(github, context, finalLabels); + + // Remove old managed labels + await removeOldLabels(github, context, managedLabels, finalLabels); + + return; + } + + // Run all strategies + const [ + branchLabels, + componentLabels, + newComponentLabels, + newPlatformLabels, + coreLabels, + sizeLabels, + dashboardLabels, + actionsLabels, + codeOwnerLabels, + testLabels, + checkboxLabels, + ] = await Promise.all([ + detectMergeBranch(context), + detectComponentPlatforms(changedFiles, apiData), + detectNewComponents(prFiles), + detectNewPlatforms(prFiles, apiData), + detectCoreChanges(changedFiles), + detectPRSize(prFiles, totalAdditions, totalDeletions, totalChanges, isMegaPR, SMALL_PR_THRESHOLD, TOO_BIG_THRESHOLD), + detectDashboardChanges(changedFiles), + detectGitHubActionsChanges(changedFiles), + detectCodeOwner(github, context, changedFiles), + detectTests(changedFiles), + detectPRTemplateCheckboxes(context), + ]); + + // Combine all labels + const allLabels = new Set([ + ...branchLabels, + ...componentLabels, + ...newComponentLabels, + ...newPlatformLabels, + ...coreLabels, + ...sizeLabels, + ...dashboardLabels, + ...actionsLabels, + ...codeOwnerLabels, + ...testLabels, + ...checkboxLabels, + ]); + + // Detect requirements based on all other labels + const requirementLabels = await detectRequirements(allLabels, prFiles, context); + for (const label of requirementLabels) { + allLabels.add(label); + } + + let finalLabels = Array.from(allLabels); + + // For mega-PRs, exclude component labels if there are too many + if (isMegaPR) { + const componentLabels = finalLabels.filter(label => label.startsWith('component: ')); + if (componentLabels.length > COMPONENT_LABEL_THRESHOLD) { + finalLabels = finalLabels.filter(label => !label.startsWith('component: ')); + console.log(`Mega-PR detected - excluding ${componentLabels.length} component labels (threshold: ${COMPONENT_LABEL_THRESHOLD})`); + } + } + + // Handle too many labels (only for non-mega PRs) + const tooManyLabels = finalLabels.length > MAX_LABELS; + const originalLabelCount = finalLabels.length; + + if (tooManyLabels && !isMegaPR && !finalLabels.includes('too-big')) { + finalLabels = ['too-big']; + } + + console.log('Computed labels:', finalLabels.join(', ')); + + // Handle reviews + await handleReviews(github, context, finalLabels, originalLabelCount, prFiles, totalAdditions, totalDeletions, MAX_LABELS, TOO_BIG_THRESHOLD); + + // Apply labels + await applyLabels(github, context, finalLabels); + + // Remove old managed labels + await removeOldLabels(github, context, managedLabels, finalLabels); +}; diff --git a/.github/scripts/auto-label-pr/labels.js b/.github/scripts/auto-label-pr/labels.js new file mode 100644 index 0000000000..2268f7ded9 --- /dev/null +++ b/.github/scripts/auto-label-pr/labels.js @@ -0,0 +1,41 @@ +// Apply labels to PR +async function applyLabels(github, context, finalLabels) { + const { owner, repo } = context.repo; + const pr_number = context.issue.number; + + if (finalLabels.length > 0) { + console.log(`Adding labels: ${finalLabels.join(', ')}`); + await github.rest.issues.addLabels({ + owner, + repo, + issue_number: pr_number, + labels: finalLabels + }); + } +} + +// Remove old managed labels +async function removeOldLabels(github, context, managedLabels, finalLabels) { + const { owner, repo } = context.repo; + const pr_number = context.issue.number; + + const labelsToRemove = managedLabels.filter(label => !finalLabels.includes(label)); + for (const label of labelsToRemove) { + console.log(`Removing label: ${label}`); + try { + await github.rest.issues.removeLabel({ + owner, + repo, + issue_number: pr_number, + name: label + }); + } catch (error) { + console.log(`Failed to remove label ${label}:`, error.message); + } + } +} + +module.exports = { + applyLabels, + removeOldLabels +}; diff --git a/.github/scripts/auto-label-pr/reviews.js b/.github/scripts/auto-label-pr/reviews.js new file mode 100644 index 0000000000..a84e9ae5aa --- /dev/null +++ b/.github/scripts/auto-label-pr/reviews.js @@ -0,0 +1,124 @@ +const { + BOT_COMMENT_MARKER, + CODEOWNERS_MARKER, + TOO_BIG_MARKER, +} = require('./constants'); + +// Generate review messages +function generateReviewMessages(finalLabels, originalLabelCount, prFiles, totalAdditions, totalDeletions, prAuthor, MAX_LABELS, TOO_BIG_THRESHOLD) { + const messages = []; + + // Too big message + if (finalLabels.includes('too-big')) { + const testAdditions = prFiles + .filter(file => file.filename.startsWith('tests/')) + .reduce((sum, file) => sum + (file.additions || 0), 0); + const testDeletions = prFiles + .filter(file => file.filename.startsWith('tests/')) + .reduce((sum, file) => sum + (file.deletions || 0), 0); + const nonTestChanges = (totalAdditions - testAdditions) - (totalDeletions - testDeletions); + + const tooManyLabels = originalLabelCount > MAX_LABELS; + const tooManyChanges = nonTestChanges > TOO_BIG_THRESHOLD; + + let message = `${TOO_BIG_MARKER}\n### 📦 Pull Request Size\n\n`; + + if (tooManyLabels && tooManyChanges) { + message += `This PR is too large with ${nonTestChanges} line changes (excluding tests) and affects ${originalLabelCount} different components/areas.`; + } else if (tooManyLabels) { + message += `This PR affects ${originalLabelCount} different components/areas.`; + } else { + message += `This PR is too large with ${nonTestChanges} line changes (excluding tests).`; + } + + message += ` Please consider breaking it down into smaller, focused PRs to make review easier and reduce the risk of conflicts.\n\n`; + message += `For guidance on breaking down large PRs, see: https://developers.esphome.io/contributing/submitting-your-work/#how-to-approach-large-submissions`; + + messages.push(message); + } + + // CODEOWNERS message + if (finalLabels.includes('needs-codeowners')) { + const message = `${CODEOWNERS_MARKER}\n### 👥 Code Ownership\n\n` + + `Hey there @${prAuthor},\n` + + `Thanks for submitting this pull request! Can you add yourself as a codeowner for this integration? ` + + `This way we can notify you if a bug report for this integration is reported.\n\n` + + `In \`__init__.py\` of the integration, please add:\n\n` + + `\`\`\`python\nCODEOWNERS = ["@${prAuthor}"]\n\`\`\`\n\n` + + `And run \`script/build_codeowners.py\``; + + messages.push(message); + } + + return messages; +} + +// Handle reviews +async function handleReviews(github, context, finalLabels, originalLabelCount, prFiles, totalAdditions, totalDeletions, MAX_LABELS, TOO_BIG_THRESHOLD) { + const { owner, repo } = context.repo; + const pr_number = context.issue.number; + const prAuthor = context.payload.pull_request.user.login; + + const reviewMessages = generateReviewMessages(finalLabels, originalLabelCount, prFiles, totalAdditions, totalDeletions, prAuthor, MAX_LABELS, TOO_BIG_THRESHOLD); + const hasReviewableLabels = finalLabels.some(label => + ['too-big', 'needs-codeowners'].includes(label) + ); + + const { data: reviews } = await github.rest.pulls.listReviews({ + owner, + repo, + pull_number: pr_number + }); + + const botReviews = reviews.filter(review => + review.user.type === 'Bot' && + review.state === 'CHANGES_REQUESTED' && + review.body && review.body.includes(BOT_COMMENT_MARKER) + ); + + if (hasReviewableLabels) { + const reviewBody = `${BOT_COMMENT_MARKER}\n\n${reviewMessages.join('\n\n---\n\n')}`; + + if (botReviews.length > 0) { + // Update existing review + await github.rest.pulls.updateReview({ + owner, + repo, + pull_number: pr_number, + review_id: botReviews[0].id, + body: reviewBody + }); + console.log('Updated existing bot review'); + } else { + // Create new review + await github.rest.pulls.createReview({ + owner, + repo, + pull_number: pr_number, + body: reviewBody, + event: 'REQUEST_CHANGES' + }); + console.log('Created new bot review'); + } + } else if (botReviews.length > 0) { + // Dismiss existing reviews + for (const review of botReviews) { + try { + await github.rest.pulls.dismissReview({ + owner, + repo, + pull_number: pr_number, + review_id: review.id, + message: 'Review dismissed: All requirements have been met' + }); + console.log(`Dismissed bot review ${review.id}`); + } catch (error) { + console.log(`Failed to dismiss review ${review.id}:`, error.message); + } + } + } +} + +module.exports = { + handleReviews +}; diff --git a/.github/workflows/auto-label-pr.yml b/.github/workflows/auto-label-pr.yml index 8e96297cc0..6fcb50b70a 100644 --- a/.github/workflows/auto-label-pr.yml +++ b/.github/workflows/auto-label-pr.yml @@ -22,7 +22,7 @@ jobs: if: github.event.action != 'labeled' || github.event.sender.type != 'Bot' steps: - name: Checkout - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Generate a token id: generate-token @@ -36,633 +36,5 @@ jobs: with: github-token: ${{ steps.generate-token.outputs.token }} script: | - const fs = require('fs'); - - // Constants - const SMALL_PR_THRESHOLD = parseInt('${{ env.SMALL_PR_THRESHOLD }}'); - const MAX_LABELS = parseInt('${{ env.MAX_LABELS }}'); - const TOO_BIG_THRESHOLD = parseInt('${{ env.TOO_BIG_THRESHOLD }}'); - const COMPONENT_LABEL_THRESHOLD = parseInt('${{ env.COMPONENT_LABEL_THRESHOLD }}'); - const BOT_COMMENT_MARKER = ''; - const CODEOWNERS_MARKER = ''; - const TOO_BIG_MARKER = ''; - - const MANAGED_LABELS = [ - 'new-component', - 'new-platform', - 'new-target-platform', - 'merging-to-release', - 'merging-to-beta', - 'chained-pr', - 'core', - 'small-pr', - 'dashboard', - 'github-actions', - 'by-code-owner', - 'has-tests', - 'needs-tests', - 'needs-docs', - 'needs-codeowners', - 'too-big', - 'labeller-recheck', - 'bugfix', - 'new-feature', - 'breaking-change', - 'developer-breaking-change', - 'code-quality' - ]; - - const DOCS_PR_PATTERNS = [ - /https:\/\/github\.com\/esphome\/esphome-docs\/pull\/\d+/, - /esphome\/esphome-docs#\d+/ - ]; - - // Global state - const { owner, repo } = context.repo; - const pr_number = context.issue.number; - - // Get current labels and PR data - const { data: currentLabelsData } = await github.rest.issues.listLabelsOnIssue({ - owner, - repo, - issue_number: pr_number - }); - const currentLabels = currentLabelsData.map(label => label.name); - const managedLabels = currentLabels.filter(label => - label.startsWith('component: ') || MANAGED_LABELS.includes(label) - ); - - // Check for mega-PR early - if present, skip most automatic labeling - const isMegaPR = currentLabels.includes('mega-pr'); - - // Get all PR files with automatic pagination - const prFiles = await github.paginate( - github.rest.pulls.listFiles, - { - owner, - repo, - pull_number: pr_number - } - ); - - // Calculate data from PR files - const changedFiles = prFiles.map(file => file.filename); - const totalAdditions = prFiles.reduce((sum, file) => sum + (file.additions || 0), 0); - const totalDeletions = prFiles.reduce((sum, file) => sum + (file.deletions || 0), 0); - const totalChanges = totalAdditions + totalDeletions; - - console.log('Current labels:', currentLabels.join(', ')); - console.log('Changed files:', changedFiles.length); - console.log('Total changes:', totalChanges); - if (isMegaPR) { - console.log('Mega-PR detected - applying limited labeling logic'); - } - - // Fetch API data - async function fetchApiData() { - try { - const response = await fetch('https://data.esphome.io/components.json'); - const componentsData = await response.json(); - return { - targetPlatforms: componentsData.target_platforms || [], - platformComponents: componentsData.platform_components || [] - }; - } catch (error) { - console.log('Failed to fetch components data from API:', error.message); - return { targetPlatforms: [], platformComponents: [] }; - } - } - - // Strategy: Merge branch detection - async function detectMergeBranch() { - const labels = new Set(); - const baseRef = context.payload.pull_request.base.ref; - - if (baseRef === 'release') { - labels.add('merging-to-release'); - } else if (baseRef === 'beta') { - labels.add('merging-to-beta'); - } else if (baseRef !== 'dev') { - labels.add('chained-pr'); - } - - return labels; - } - - // Strategy: Component and platform labeling - async function detectComponentPlatforms(apiData) { - const labels = new Set(); - const componentRegex = /^esphome\/components\/([^\/]+)\//; - const targetPlatformRegex = new RegExp(`^esphome\/components\/(${apiData.targetPlatforms.join('|')})/`); - - for (const file of changedFiles) { - const componentMatch = file.match(componentRegex); - if (componentMatch) { - labels.add(`component: ${componentMatch[1]}`); - } - - const platformMatch = file.match(targetPlatformRegex); - if (platformMatch) { - labels.add(`platform: ${platformMatch[1]}`); - } - } - - return labels; - } - - // Strategy: New component detection - async function detectNewComponents() { - const labels = new Set(); - const addedFiles = prFiles.filter(file => file.status === 'added').map(file => file.filename); - - for (const file of addedFiles) { - const componentMatch = file.match(/^esphome\/components\/([^\/]+)\/__init__\.py$/); - if (componentMatch) { - try { - const content = fs.readFileSync(file, 'utf8'); - if (content.includes('IS_TARGET_PLATFORM = True')) { - labels.add('new-target-platform'); - } - } catch (error) { - console.log(`Failed to read content of ${file}:`, error.message); - } - labels.add('new-component'); - } - } - - return labels; - } - - // Strategy: New platform detection - async function detectNewPlatforms(apiData) { - const labels = new Set(); - const addedFiles = prFiles.filter(file => file.status === 'added').map(file => file.filename); - - for (const file of addedFiles) { - const platformFileMatch = file.match(/^esphome\/components\/([^\/]+)\/([^\/]+)\.py$/); - if (platformFileMatch) { - const [, component, platform] = platformFileMatch; - if (apiData.platformComponents.includes(platform)) { - labels.add('new-platform'); - } - } - - const platformDirMatch = file.match(/^esphome\/components\/([^\/]+)\/([^\/]+)\/__init__\.py$/); - if (platformDirMatch) { - const [, component, platform] = platformDirMatch; - if (apiData.platformComponents.includes(platform)) { - labels.add('new-platform'); - } - } - } - - return labels; - } - - // Strategy: Core files detection - async function detectCoreChanges() { - const labels = new Set(); - const coreFiles = changedFiles.filter(file => - file.startsWith('esphome/core/') || - (file.startsWith('esphome/') && file.split('/').length === 2) - ); - - if (coreFiles.length > 0) { - labels.add('core'); - } - - return labels; - } - - // Strategy: PR size detection - async function detectPRSize() { - const labels = new Set(); - - if (totalChanges <= SMALL_PR_THRESHOLD) { - labels.add('small-pr'); - return labels; - } - - const testAdditions = prFiles - .filter(file => file.filename.startsWith('tests/')) - .reduce((sum, file) => sum + (file.additions || 0), 0); - const testDeletions = prFiles - .filter(file => file.filename.startsWith('tests/')) - .reduce((sum, file) => sum + (file.deletions || 0), 0); - - const nonTestChanges = (totalAdditions - testAdditions) - (totalDeletions - testDeletions); - - // Don't add too-big if mega-pr label is already present - if (nonTestChanges > TOO_BIG_THRESHOLD && !isMegaPR) { - labels.add('too-big'); - } - - return labels; - } - - // Strategy: Dashboard changes - async function detectDashboardChanges() { - const labels = new Set(); - const dashboardFiles = changedFiles.filter(file => - file.startsWith('esphome/dashboard/') || - file.startsWith('esphome/components/dashboard_import/') - ); - - if (dashboardFiles.length > 0) { - labels.add('dashboard'); - } - - return labels; - } - - // Strategy: GitHub Actions changes - async function detectGitHubActionsChanges() { - const labels = new Set(); - const githubActionsFiles = changedFiles.filter(file => - file.startsWith('.github/workflows/') - ); - - if (githubActionsFiles.length > 0) { - labels.add('github-actions'); - } - - return labels; - } - - // Strategy: Code owner detection - async function detectCodeOwner() { - const labels = new Set(); - - try { - const { data: codeownersFile } = await github.rest.repos.getContent({ - owner, - repo, - path: 'CODEOWNERS', - }); - - const codeownersContent = Buffer.from(codeownersFile.content, 'base64').toString('utf8'); - const prAuthor = context.payload.pull_request.user.login; - - const codeownersLines = codeownersContent.split('\n') - .map(line => line.trim()) - .filter(line => line && !line.startsWith('#')); - - const codeownersRegexes = codeownersLines.map(line => { - const parts = line.split(/\s+/); - const pattern = parts[0]; - const owners = parts.slice(1); - - let regex; - if (pattern.endsWith('*')) { - const dir = pattern.slice(0, -1); - regex = new RegExp(`^${dir.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}`); - } else if (pattern.includes('*')) { - // First escape all regex special chars except *, then replace * with .* - const regexPattern = pattern - .replace(/[.+?^${}()|[\]\\]/g, '\\$&') - .replace(/\*/g, '.*'); - regex = new RegExp(`^${regexPattern}$`); - } else { - regex = new RegExp(`^${pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}$`); - } - - return { regex, owners }; - }); - - for (const file of changedFiles) { - for (const { regex, owners } of codeownersRegexes) { - if (regex.test(file) && owners.some(owner => owner === `@${prAuthor}`)) { - labels.add('by-code-owner'); - return labels; - } - } - } - } catch (error) { - console.log('Failed to read or parse CODEOWNERS file:', error.message); - } - - return labels; - } - - // Strategy: Test detection - async function detectTests() { - const labels = new Set(); - const testFiles = changedFiles.filter(file => file.startsWith('tests/')); - - if (testFiles.length > 0) { - labels.add('has-tests'); - } - - return labels; - } - - // Strategy: PR Template Checkbox detection - async function detectPRTemplateCheckboxes() { - const labels = new Set(); - const prBody = context.payload.pull_request.body || ''; - - console.log('Checking PR template checkboxes...'); - - // Check for checked checkboxes in the "Types of changes" section - const checkboxPatterns = [ - { pattern: /- \[x\] Bugfix \(non-breaking change which fixes an issue\)/i, label: 'bugfix' }, - { pattern: /- \[x\] New feature \(non-breaking change which adds functionality\)/i, label: 'new-feature' }, - { pattern: /- \[x\] Breaking change \(fix or feature that would cause existing functionality to not work as expected\)/i, label: 'breaking-change' }, - { pattern: /- \[x\] Developer breaking change \(an API change that could break external components\)/i, label: 'developer-breaking-change' }, - { pattern: /- \[x\] Code quality improvements to existing code or addition of tests/i, label: 'code-quality' } - ]; - - for (const { pattern, label } of checkboxPatterns) { - if (pattern.test(prBody)) { - console.log(`Found checked checkbox for: ${label}`); - labels.add(label); - } - } - - return labels; - } - - // Strategy: Requirements detection - async function detectRequirements(allLabels) { - const labels = new Set(); - - // Check for missing tests - if ((allLabels.has('new-component') || allLabels.has('new-platform') || allLabels.has('new-feature')) && !allLabels.has('has-tests')) { - labels.add('needs-tests'); - } - - // Check for missing docs - if (allLabels.has('new-component') || allLabels.has('new-platform') || allLabels.has('new-feature')) { - const prBody = context.payload.pull_request.body || ''; - const hasDocsLink = DOCS_PR_PATTERNS.some(pattern => pattern.test(prBody)); - - if (!hasDocsLink) { - labels.add('needs-docs'); - } - } - - // Check for missing CODEOWNERS - if (allLabels.has('new-component')) { - const codeownersModified = prFiles.some(file => - file.filename === 'CODEOWNERS' && - (file.status === 'modified' || file.status === 'added') && - (file.additions || 0) > 0 - ); - - if (!codeownersModified) { - labels.add('needs-codeowners'); - } - } - - return labels; - } - - // Generate review messages - function generateReviewMessages(finalLabels, originalLabelCount) { - const messages = []; - const prAuthor = context.payload.pull_request.user.login; - - // Too big message - if (finalLabels.includes('too-big')) { - const testAdditions = prFiles - .filter(file => file.filename.startsWith('tests/')) - .reduce((sum, file) => sum + (file.additions || 0), 0); - const testDeletions = prFiles - .filter(file => file.filename.startsWith('tests/')) - .reduce((sum, file) => sum + (file.deletions || 0), 0); - const nonTestChanges = (totalAdditions - testAdditions) - (totalDeletions - testDeletions); - - const tooManyLabels = originalLabelCount > MAX_LABELS; - const tooManyChanges = nonTestChanges > TOO_BIG_THRESHOLD; - - let message = `${TOO_BIG_MARKER}\n### 📦 Pull Request Size\n\n`; - - if (tooManyLabels && tooManyChanges) { - message += `This PR is too large with ${nonTestChanges} line changes (excluding tests) and affects ${originalLabelCount} different components/areas.`; - } else if (tooManyLabels) { - message += `This PR affects ${originalLabelCount} different components/areas.`; - } else { - message += `This PR is too large with ${nonTestChanges} line changes (excluding tests).`; - } - - message += ` Please consider breaking it down into smaller, focused PRs to make review easier and reduce the risk of conflicts.\n\n`; - message += `For guidance on breaking down large PRs, see: https://developers.esphome.io/contributing/submitting-your-work/#how-to-approach-large-submissions`; - - messages.push(message); - } - - // CODEOWNERS message - if (finalLabels.includes('needs-codeowners')) { - const message = `${CODEOWNERS_MARKER}\n### 👥 Code Ownership\n\n` + - `Hey there @${prAuthor},\n` + - `Thanks for submitting this pull request! Can you add yourself as a codeowner for this integration? ` + - `This way we can notify you if a bug report for this integration is reported.\n\n` + - `In \`__init__.py\` of the integration, please add:\n\n` + - `\`\`\`python\nCODEOWNERS = ["@${prAuthor}"]\n\`\`\`\n\n` + - `And run \`script/build_codeowners.py\``; - - messages.push(message); - } - - return messages; - } - - // Handle reviews - async function handleReviews(finalLabels, originalLabelCount) { - const reviewMessages = generateReviewMessages(finalLabels, originalLabelCount); - const hasReviewableLabels = finalLabels.some(label => - ['too-big', 'needs-codeowners'].includes(label) - ); - - const { data: reviews } = await github.rest.pulls.listReviews({ - owner, - repo, - pull_number: pr_number - }); - - const botReviews = reviews.filter(review => - review.user.type === 'Bot' && - review.state === 'CHANGES_REQUESTED' && - review.body && review.body.includes(BOT_COMMENT_MARKER) - ); - - if (hasReviewableLabels) { - const reviewBody = `${BOT_COMMENT_MARKER}\n\n${reviewMessages.join('\n\n---\n\n')}`; - - if (botReviews.length > 0) { - // Update existing review - await github.rest.pulls.updateReview({ - owner, - repo, - pull_number: pr_number, - review_id: botReviews[0].id, - body: reviewBody - }); - console.log('Updated existing bot review'); - } else { - // Create new review - await github.rest.pulls.createReview({ - owner, - repo, - pull_number: pr_number, - body: reviewBody, - event: 'REQUEST_CHANGES' - }); - console.log('Created new bot review'); - } - } else if (botReviews.length > 0) { - // Dismiss existing reviews - for (const review of botReviews) { - try { - await github.rest.pulls.dismissReview({ - owner, - repo, - pull_number: pr_number, - review_id: review.id, - message: 'Review dismissed: All requirements have been met' - }); - console.log(`Dismissed bot review ${review.id}`); - } catch (error) { - console.log(`Failed to dismiss review ${review.id}:`, error.message); - } - } - } - } - - // Main execution - const apiData = await fetchApiData(); - const baseRef = context.payload.pull_request.base.ref; - - // Early exit for release and beta branches only - if (baseRef === 'release' || baseRef === 'beta') { - const branchLabels = await detectMergeBranch(); - const finalLabels = Array.from(branchLabels); - - console.log('Computed labels (merge branch only):', finalLabels.join(', ')); - - // Apply labels - if (finalLabels.length > 0) { - await github.rest.issues.addLabels({ - owner, - repo, - issue_number: pr_number, - labels: finalLabels - }); - } - - // Remove old managed labels - const labelsToRemove = managedLabels.filter(label => !finalLabels.includes(label)); - for (const label of labelsToRemove) { - try { - await github.rest.issues.removeLabel({ - owner, - repo, - issue_number: pr_number, - name: label - }); - } catch (error) { - console.log(`Failed to remove label ${label}:`, error.message); - } - } - - return; - } - - // Run all strategies - const [ - branchLabels, - componentLabels, - newComponentLabels, - newPlatformLabels, - coreLabels, - sizeLabels, - dashboardLabels, - actionsLabels, - codeOwnerLabels, - testLabels, - checkboxLabels - ] = await Promise.all([ - detectMergeBranch(), - detectComponentPlatforms(apiData), - detectNewComponents(), - detectNewPlatforms(apiData), - detectCoreChanges(), - detectPRSize(), - detectDashboardChanges(), - detectGitHubActionsChanges(), - detectCodeOwner(), - detectTests(), - detectPRTemplateCheckboxes() - ]); - - // Combine all labels - const allLabels = new Set([ - ...branchLabels, - ...componentLabels, - ...newComponentLabels, - ...newPlatformLabels, - ...coreLabels, - ...sizeLabels, - ...dashboardLabels, - ...actionsLabels, - ...codeOwnerLabels, - ...testLabels, - ...checkboxLabels - ]); - - // Detect requirements based on all other labels - const requirementLabels = await detectRequirements(allLabels); - for (const label of requirementLabels) { - allLabels.add(label); - } - - let finalLabels = Array.from(allLabels); - - // For mega-PRs, exclude component labels if there are too many - if (isMegaPR) { - const componentLabels = finalLabels.filter(label => label.startsWith('component: ')); - if (componentLabels.length > COMPONENT_LABEL_THRESHOLD) { - finalLabels = finalLabels.filter(label => !label.startsWith('component: ')); - console.log(`Mega-PR detected - excluding ${componentLabels.length} component labels (threshold: ${COMPONENT_LABEL_THRESHOLD})`); - } - } - - // Handle too many labels (only for non-mega PRs) - const tooManyLabels = finalLabels.length > MAX_LABELS; - const originalLabelCount = finalLabels.length; - - if (tooManyLabels && !isMegaPR && !finalLabels.includes('too-big')) { - finalLabels = ['too-big']; - } - - console.log('Computed labels:', finalLabels.join(', ')); - - // Handle reviews - await handleReviews(finalLabels, originalLabelCount); - - // Apply labels - if (finalLabels.length > 0) { - console.log(`Adding labels: ${finalLabels.join(', ')}`); - await github.rest.issues.addLabels({ - owner, - repo, - issue_number: pr_number, - labels: finalLabels - }); - } - - // Remove old managed labels - const labelsToRemove = managedLabels.filter(label => !finalLabels.includes(label)); - for (const label of labelsToRemove) { - console.log(`Removing label: ${label}`); - try { - await github.rest.issues.removeLabel({ - owner, - repo, - issue_number: pr_number, - name: label - }); - } catch (error) { - console.log(`Failed to remove label ${label}:`, error.message); - } - } + const script = require('./.github/scripts/auto-label-pr/index.js'); + await script({ github, context }); diff --git a/.github/workflows/ci-api-proto.yml b/.github/workflows/ci-api-proto.yml index 4c4bbf9981..0328611f5c 100644 --- a/.github/workflows/ci-api-proto.yml +++ b/.github/workflows/ci-api-proto.yml @@ -21,9 +21,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.11" diff --git a/.github/workflows/ci-clang-tidy-hash.yml b/.github/workflows/ci-clang-tidy-hash.yml index 94068c19d6..5054a62207 100644 --- a/.github/workflows/ci-clang-tidy-hash.yml +++ b/.github/workflows/ci-clang-tidy-hash.yml @@ -21,10 +21,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.11" diff --git a/.github/workflows/ci-docker.yml b/.github/workflows/ci-docker.yml index 84d79cda17..a83bcae0b0 100644 --- a/.github/workflows/ci-docker.yml +++ b/.github/workflows/ci-docker.yml @@ -43,9 +43,9 @@ jobs: - "docker" # - "lint" steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.11" - name: Set up Docker Buildx diff --git a/.github/workflows/ci-memory-impact-comment.yml b/.github/workflows/ci-memory-impact-comment.yml index 7e81e1184d..fbcf5ea584 100644 --- a/.github/workflows/ci-memory-impact-comment.yml +++ b/.github/workflows/ci-memory-impact-comment.yml @@ -49,7 +49,7 @@ jobs: - name: Check out code from base repository if: steps.pr.outputs.skip != 'true' - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: # Always check out from the base repository (esphome/esphome), never from forks # Use the PR's target branch to ensure we run trusted code from the main repo diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 434aa388f7..f521b07bae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,18 +36,18 @@ jobs: cache-key: ${{ steps.cache-key.outputs.key }} steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Generate cache-key id: cache-key run: echo key="${{ hashFiles('requirements.txt', 'requirements_test.txt', '.pre-commit-config.yaml') }}" >> $GITHUB_OUTPUT - name: Set up Python ${{ env.DEFAULT_PYTHON }} id: python - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ env.DEFAULT_PYTHON }} - name: Restore Python virtual environment id: cache-venv - uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: venv # yamllint disable-line rule:line-length @@ -70,7 +70,7 @@ jobs: if: needs.determine-jobs.outputs.python-linters == 'true' steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Restore Python uses: ./.github/actions/restore-python with: @@ -91,7 +91,7 @@ jobs: - common steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Restore Python uses: ./.github/actions/restore-python with: @@ -132,7 +132,7 @@ jobs: - common steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Restore Python id: restore-python uses: ./.github/actions/restore-python @@ -157,7 +157,7 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} - name: Save Python virtual environment cache if: github.ref == 'refs/heads/dev' - uses: actions/cache/save@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/save@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: venv key: ${{ runner.os }}-${{ steps.restore-python.outputs.python-version }}-venv-${{ needs.common.outputs.cache-key }} @@ -183,7 +183,7 @@ jobs: component-test-batches: ${{ steps.determine.outputs.component-test-batches }} steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: # Fetch enough history to find the merge base fetch-depth: 2 @@ -193,7 +193,7 @@ jobs: python-version: ${{ env.DEFAULT_PYTHON }} cache-key: ${{ needs.common.outputs.cache-key }} - name: Restore components graph cache - uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/restore@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: .temp/components_graph.json key: components-graph-${{ hashFiles('esphome/components/**/*.py') }} @@ -223,7 +223,7 @@ jobs: echo "component-test-batches=$(echo "$output" | jq -c '.component_test_batches')" >> $GITHUB_OUTPUT - name: Save components graph cache if: github.ref == 'refs/heads/dev' - uses: actions/cache/save@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/save@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: .temp/components_graph.json key: components-graph-${{ hashFiles('esphome/components/**/*.py') }} @@ -237,15 +237,15 @@ jobs: if: needs.determine-jobs.outputs.integration-tests == 'true' steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python 3.13 id: python - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.13" - name: Restore Python virtual environment id: cache-venv - uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: venv key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{ needs.common.outputs.cache-key }} @@ -273,7 +273,7 @@ jobs: if: github.event_name == 'pull_request' && (needs.determine-jobs.outputs.cpp-unit-tests-run-all == 'true' || needs.determine-jobs.outputs.cpp-unit-tests-components != '[]') steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Restore Python uses: ./.github/actions/restore-python @@ -321,7 +321,7 @@ jobs: steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: # Need history for HEAD~1 to work for checking changed files fetch-depth: 2 @@ -334,14 +334,14 @@ jobs: - name: Cache platformio if: github.ref == 'refs/heads/dev' - uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: ~/.platformio key: platformio-${{ matrix.pio_cache_key }}-${{ hashFiles('platformio.ini') }} - name: Cache platformio if: github.ref != 'refs/heads/dev' - uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/restore@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: ~/.platformio key: platformio-${{ matrix.pio_cache_key }}-${{ hashFiles('platformio.ini') }} @@ -400,7 +400,7 @@ jobs: GH_TOKEN: ${{ github.token }} steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: # Need history for HEAD~1 to work for checking changed files fetch-depth: 2 @@ -413,14 +413,14 @@ jobs: - name: Cache platformio if: github.ref == 'refs/heads/dev' - uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: ~/.platformio key: platformio-tidyesp32-${{ hashFiles('platformio.ini') }} - name: Cache platformio if: github.ref != 'refs/heads/dev' - uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/restore@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: ~/.platformio key: platformio-tidyesp32-${{ hashFiles('platformio.ini') }} @@ -489,7 +489,7 @@ jobs: steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: # Need history for HEAD~1 to work for checking changed files fetch-depth: 2 @@ -502,14 +502,14 @@ jobs: - name: Cache platformio if: github.ref == 'refs/heads/dev' - uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: ~/.platformio key: platformio-tidyesp32-${{ hashFiles('platformio.ini') }} - name: Cache platformio if: github.ref != 'refs/heads/dev' - uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/restore@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: ~/.platformio key: platformio-tidyesp32-${{ hashFiles('platformio.ini') }} @@ -577,7 +577,7 @@ jobs: version: 1.0 - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Restore Python uses: ./.github/actions/restore-python with: @@ -662,7 +662,7 @@ jobs: if: github.event_name == 'pull_request' && !startsWith(github.base_ref, 'beta') && !startsWith(github.base_ref, 'release') steps: - name: Check out code from GitHub - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Restore Python uses: ./.github/actions/restore-python with: @@ -688,7 +688,7 @@ jobs: skip: ${{ steps.check-script.outputs.skip }} steps: - name: Check out target branch - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.base_ref }} @@ -735,7 +735,7 @@ jobs: - name: Restore cached memory analysis id: cache-memory-analysis if: steps.check-script.outputs.skip != 'true' - uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/restore@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: memory-analysis-target.json key: ${{ steps.cache-key.outputs.cache-key }} @@ -759,7 +759,7 @@ jobs: - name: Cache platformio if: steps.check-script.outputs.skip != 'true' && steps.cache-memory-analysis.outputs.cache-hit != 'true' - uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/restore@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: ~/.platformio key: platformio-memory-${{ fromJSON(needs.determine-jobs.outputs.memory_impact).platform }}-${{ hashFiles('platformio.ini') }} @@ -800,7 +800,7 @@ jobs: - name: Save memory analysis to cache if: steps.check-script.outputs.skip != 'true' && steps.cache-memory-analysis.outputs.cache-hit != 'true' && steps.build.outcome == 'success' - uses: actions/cache/save@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/save@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: memory-analysis-target.json key: ${{ steps.cache-key.outputs.cache-key }} @@ -840,14 +840,14 @@ jobs: flash_usage: ${{ steps.extract.outputs.flash_usage }} steps: - name: Check out PR branch - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Restore Python uses: ./.github/actions/restore-python with: python-version: ${{ env.DEFAULT_PYTHON }} cache-key: ${{ needs.common.outputs.cache-key }} - name: Cache platformio - uses: actions/cache/restore@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 + uses: actions/cache/restore@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 with: path: ~/.platformio key: platformio-memory-${{ fromJSON(needs.determine-jobs.outputs.memory_impact).platform }}-${{ hashFiles('platformio.ini') }} @@ -908,7 +908,7 @@ jobs: GH_TOKEN: ${{ github.token }} steps: - name: Check out code - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Restore Python uses: ./.github/actions/restore-python with: diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 399fb13aa5..be761cee3d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -54,11 +54,11 @@ jobs: # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages steps: - name: Checkout repository - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10 + uses: github/codeql-action/init@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} @@ -86,6 +86,6 @@ jobs: exit 1 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10 + uses: github/codeql-action/analyze@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b41b118504..479b01ee37 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: branch_build: ${{ steps.tag.outputs.branch_build }} deploy_env: ${{ steps.tag.outputs.deploy_env }} steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Get tag id: tag # yamllint disable rule:line-length @@ -60,9 +60,9 @@ jobs: contents: read id-token: write steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.x" - name: Build @@ -92,9 +92,9 @@ jobs: os: "ubuntu-24.04-arm" steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: "3.11" @@ -102,12 +102,12 @@ jobs: uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 - name: Log in to docker hub - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Log in to the GitHub container registry - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -168,7 +168,7 @@ jobs: - ghcr - dockerhub steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Download digests uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 @@ -182,13 +182,13 @@ jobs: - name: Log in to docker hub if: matrix.registry == 'dockerhub' - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Log in to the GitHub container registry if: matrix.registry == 'ghcr' - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ghcr.io username: ${{ github.actor }} diff --git a/.github/workflows/sync-device-classes.yml b/.github/workflows/sync-device-classes.yml index 8c830d99c7..b0d966555b 100644 --- a/.github/workflows/sync-device-classes.yml +++ b/.github/workflows/sync-device-classes.yml @@ -13,16 +13,16 @@ jobs: if: github.repository == 'esphome/esphome' steps: - name: Checkout - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Checkout Home Assistant - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: home-assistant/core path: lib/home-assistant - name: Setup Python - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: 3.13 @@ -41,7 +41,7 @@ jobs: python script/run-in-env.py pre-commit run --all-files - name: Commit changes - uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0 + uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0 with: commit-message: "Synchronise Device Classes from Home Assistant" committer: esphomebot diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3295cf070a..b068673ecf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ ci: repos: - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.14.11 + rev: v0.14.14 hooks: # Run the linter. - id: ruff diff --git a/CODEOWNERS b/CODEOWNERS index 8a37aeb29f..00a22fed7c 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -88,7 +88,8 @@ esphome/components/bmp3xx/* @latonita esphome/components/bmp3xx_base/* @latonita @martgras esphome/components/bmp3xx_i2c/* @latonita esphome/components/bmp3xx_spi/* @latonita -esphome/components/bmp581/* @kahrendt +esphome/components/bmp581_base/* @danielkent-net @kahrendt +esphome/components/bmp581_i2c/* @danielkent-net @kahrendt esphome/components/bp1658cj/* @Cossid esphome/components/bp5758d/* @Cossid esphome/components/bthome_mithermometer/* @nagyrobi @@ -481,6 +482,7 @@ esphome/components/switch/* @esphome/core esphome/components/switch/binary_sensor/* @ssieb esphome/components/sx126x/* @swoboda1337 esphome/components/sx127x/* @swoboda1337 +esphome/components/sy6970/* @linkedupbits esphome/components/syslog/* @clydebarrow esphome/components/t6615/* @tylermenezes esphome/components/tc74/* @sethgirvan diff --git a/esphome/__main__.py b/esphome/__main__.py index 3849a585ca..55297e8d9b 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -1,5 +1,6 @@ # PYTHON_ARGCOMPLETE_OK import argparse +from collections.abc import Callable from datetime import datetime import functools import getpass @@ -42,6 +43,7 @@ from esphome.const import ( CONF_SUBSTITUTIONS, CONF_TOPIC, ENV_NOGITIGNORE, + KEY_NATIVE_IDF, PLATFORM_ESP32, PLATFORM_ESP8266, PLATFORM_RP2040, @@ -115,6 +117,7 @@ class ArgsProtocol(Protocol): configuration: str name: str upload_speed: str | None + native_idf: bool def choose_prompt(options, purpose: str = None): @@ -222,8 +225,13 @@ def choose_upload_log_host( else: resolved.append(device) if not resolved: + if CORE.dashboard: + hint = "If you know the IP, set 'use_address' in your network config." + else: + hint = "If you know the IP, try --device " raise EsphomeError( - f"All specified devices {defaults} could not be resolved. Is the device connected to the network?" + f"All specified devices {defaults} could not be resolved. " + f"Is the device connected to the network? {hint}" ) return resolved @@ -494,12 +502,15 @@ def wrap_to_code(name, comp): return wrapped -def write_cpp(config: ConfigType) -> int: +def write_cpp(config: ConfigType, native_idf: bool = False) -> int: if not get_bool_env(ENV_NOGITIGNORE): writer.write_gitignore() + # Store native_idf flag so esp32 component can check it + CORE.data[KEY_NATIVE_IDF] = native_idf + generate_cpp_contents(config) - return write_cpp_file() + return write_cpp_file(native_idf=native_idf) def generate_cpp_contents(config: ConfigType) -> None: @@ -513,32 +524,54 @@ def generate_cpp_contents(config: ConfigType) -> None: CORE.flush_tasks() -def write_cpp_file() -> int: +def write_cpp_file(native_idf: bool = False) -> int: code_s = indent(CORE.cpp_main_section) writer.write_cpp(code_s) - from esphome.build_gen import platformio + if native_idf and CORE.is_esp32 and CORE.target_framework == "esp-idf": + from esphome.build_gen import espidf - platformio.write_project() + espidf.write_project() + else: + from esphome.build_gen import platformio + + platformio.write_project() return 0 def compile_program(args: ArgsProtocol, config: ConfigType) -> int: - from esphome import platformio_api + native_idf = getattr(args, "native_idf", False) # NOTE: "Build path:" format is parsed by script/ci_memory_impact_extract.py # If you change this format, update the regex in that script as well _LOGGER.info("Compiling app... Build path: %s", CORE.build_path) - rc = platformio_api.run_compile(config, CORE.verbose) - if rc != 0: - return rc + + if native_idf and CORE.is_esp32 and CORE.target_framework == "esp-idf": + from esphome import espidf_api + + rc = espidf_api.run_compile(config, CORE.verbose) + if rc != 0: + return rc + + # Create factory.bin and ota.bin + espidf_api.create_factory_bin() + espidf_api.create_ota_bin() + else: + from esphome import platformio_api + + rc = platformio_api.run_compile(config, CORE.verbose) + if rc != 0: + return rc + + idedata = platformio_api.get_idedata(config) + if idedata is None: + return 1 # Check if firmware was rebuilt and emit build_info + create manifest _check_and_emit_build_info() - idedata = platformio_api.get_idedata(config) - return 0 if idedata is not None else 1 + return 0 def _check_and_emit_build_info() -> None: @@ -795,7 +828,8 @@ def command_vscode(args: ArgsProtocol) -> int | None: def command_compile(args: ArgsProtocol, config: ConfigType) -> int | None: - exit_code = write_cpp(config) + native_idf = getattr(args, "native_idf", False) + exit_code = write_cpp(config, native_idf=native_idf) if exit_code != 0: return exit_code if args.only_generate: @@ -850,7 +884,8 @@ def command_logs(args: ArgsProtocol, config: ConfigType) -> int | None: def command_run(args: ArgsProtocol, config: ConfigType) -> int | None: - exit_code = write_cpp(config) + native_idf = getattr(args, "native_idf", False) + exit_code = write_cpp(config, native_idf=native_idf) if exit_code != 0: return exit_code exit_code = compile_program(args, config) @@ -931,11 +966,21 @@ def command_dashboard(args: ArgsProtocol) -> int | None: return dashboard.start_dashboard(args) -def command_update_all(args: ArgsProtocol) -> int | None: +def run_multiple_configs( + files: list, command_builder: Callable[[str], list[str]] +) -> int: + """Run a command for each configuration file in a subprocess. + + Args: + files: List of configuration files to process. + command_builder: Callable that takes a file path and returns a command list. + + Returns: + Number of failed files. + """ import click success = {} - files = list_yaml_files(args.configuration) twidth = 60 def print_bar(middle_text): @@ -945,17 +990,19 @@ def command_update_all(args: ArgsProtocol) -> int | None: safe_print(f"{half_line}{middle_text}{half_line}") for f in files: - safe_print(f"Updating {color(AnsiFore.CYAN, str(f))}") + f_path = Path(f) if not isinstance(f, Path) else f + + if any(f_path.name == x for x in SECRETS_FILES): + _LOGGER.warning("Skipping secrets file %s", f_path) + continue + + safe_print(f"Processing {color(AnsiFore.CYAN, str(f))}") safe_print("-" * twidth) safe_print() - if CORE.dashboard: - rc = run_external_process( - "esphome", "--dashboard", "run", f, "--no-logs", "--device", "OTA" - ) - else: - rc = run_external_process( - "esphome", "run", f, "--no-logs", "--device", "OTA" - ) + + cmd = command_builder(f) + rc = run_external_process(*cmd) + if rc == 0: print_bar(f"[{color(AnsiFore.BOLD_GREEN, 'SUCCESS')}] {str(f)}") success[f] = True @@ -970,6 +1017,8 @@ def command_update_all(args: ArgsProtocol) -> int | None: print_bar(f"[{color(AnsiFore.BOLD_WHITE, 'SUMMARY')}]") failed = 0 for f in files: + if f not in success: + continue # Skipped file if success[f]: safe_print(f" - {str(f)}: {color(AnsiFore.GREEN, 'SUCCESS')}") else: @@ -978,6 +1027,17 @@ def command_update_all(args: ArgsProtocol) -> int | None: return failed +def command_update_all(args: ArgsProtocol) -> int | None: + files = list_yaml_files(args.configuration) + + def build_command(f): + if CORE.dashboard: + return ["esphome", "--dashboard", "run", f, "--no-logs", "--device", "OTA"] + return ["esphome", "run", f, "--no-logs", "--device", "OTA"] + + return run_multiple_configs(files, build_command) + + def command_idedata(args: ArgsProtocol, config: ConfigType) -> int: import json @@ -1279,6 +1339,11 @@ def parse_args(argv): help="Only generate source code, do not compile.", action="store_true", ) + parser_compile.add_argument( + "--native-idf", + help="Build with native ESP-IDF instead of PlatformIO (ESP32 esp-idf framework only).", + action="store_true", + ) parser_upload = subparsers.add_parser( "upload", @@ -1360,6 +1425,11 @@ def parse_args(argv): help="Reset the device before starting serial logs.", default=os.getenv("ESPHOME_SERIAL_LOGGING_RESET"), ) + parser_run.add_argument( + "--native-idf", + help="Build with native ESP-IDF instead of PlatformIO (ESP32 esp-idf framework only).", + action="store_true", + ) parser_clean = subparsers.add_parser( "clean-mqtt", @@ -1528,38 +1598,48 @@ def run_esphome(argv): _LOGGER.info("ESPHome %s", const.__version__) - for conf_path in args.configuration: - conf_path = Path(conf_path) - if any(conf_path.name == x for x in SECRETS_FILES): - _LOGGER.warning("Skipping secrets file %s", conf_path) - continue + # Multiple configurations: use subprocesses to avoid state leakage + # between compilations (e.g., LVGL touchscreen state in module globals) + if len(args.configuration) > 1: + # Build command by reusing argv, replacing all configs with single file + # argv[0] is the program path, skip it since we prefix with "esphome" + def build_command(f): + return ( + ["esphome"] + + [arg for arg in argv[1:] if arg not in args.configuration] + + [str(f)] + ) - CORE.config_path = conf_path - CORE.dashboard = args.dashboard + return run_multiple_configs(args.configuration, build_command) - # For logs command, skip updating external components - skip_external = args.command == "logs" - config = read_config( - dict(args.substitution) if args.substitution else {}, - skip_external_update=skip_external, - ) - if config is None: - return 2 - CORE.config = config + # Single configuration + conf_path = Path(args.configuration[0]) + if any(conf_path.name == x for x in SECRETS_FILES): + _LOGGER.warning("Skipping secrets file %s", conf_path) + return 0 - if args.command not in POST_CONFIG_ACTIONS: - safe_print(f"Unknown command {args.command}") + CORE.config_path = conf_path + CORE.dashboard = args.dashboard - try: - rc = POST_CONFIG_ACTIONS[args.command](args, config) - except EsphomeError as e: - _LOGGER.error(e, exc_info=args.verbose) - return 1 - if rc != 0: - return rc + # For logs command, skip updating external components + skip_external = args.command == "logs" + config = read_config( + dict(args.substitution) if args.substitution else {}, + skip_external_update=skip_external, + ) + if config is None: + return 2 + CORE.config = config - CORE.reset() - return 0 + if args.command not in POST_CONFIG_ACTIONS: + safe_print(f"Unknown command {args.command}") + return 1 + + try: + return POST_CONFIG_ACTIONS[args.command](args, config) + except EsphomeError as e: + _LOGGER.error(e, exc_info=args.verbose) + return 1 def main(): diff --git a/esphome/build_gen/espidf.py b/esphome/build_gen/espidf.py new file mode 100644 index 0000000000..f45efb82c1 --- /dev/null +++ b/esphome/build_gen/espidf.py @@ -0,0 +1,139 @@ +"""ESP-IDF direct build generator for ESPHome.""" + +import json +from pathlib import Path + +from esphome.components.esp32 import get_esp32_variant +from esphome.core import CORE +from esphome.helpers import mkdir_p, write_file_if_changed + + +def get_available_components() -> list[str] | None: + """Get list of available ESP-IDF components from project_description.json. + + Returns only internal ESP-IDF components, excluding external/managed + components (from idf_component.yml). + """ + project_desc = Path(CORE.build_path) / "build" / "project_description.json" + if not project_desc.exists(): + return None + + try: + with open(project_desc, encoding="utf-8") as f: + data = json.load(f) + + component_info = data.get("build_component_info", {}) + + result = [] + for name, info in component_info.items(): + # Exclude our own src component + if name == "src": + continue + + # Exclude managed/external components + comp_dir = info.get("dir", "") + if "managed_components" in comp_dir: + continue + + result.append(name) + + return result + except (json.JSONDecodeError, OSError): + return None + + +def has_discovered_components() -> bool: + """Check if we have discovered components from a previous configure.""" + return get_available_components() is not None + + +def get_project_cmakelists() -> str: + """Generate the top-level CMakeLists.txt for ESP-IDF project.""" + # Get IDF target from ESP32 variant (e.g., ESP32S3 -> esp32s3) + variant = get_esp32_variant() + idf_target = variant.lower().replace("-", "") + + return f"""\ +# Auto-generated by ESPHome +cmake_minimum_required(VERSION 3.16) + +set(IDF_TARGET {idf_target}) +set(EXTRA_COMPONENT_DIRS ${{CMAKE_SOURCE_DIR}}/src) + +include($ENV{{IDF_PATH}}/tools/cmake/project.cmake) +project({CORE.name}) +""" + + +def get_component_cmakelists(minimal: bool = False) -> str: + """Generate the main component CMakeLists.txt.""" + idf_requires = [] if minimal else (get_available_components() or []) + requires_str = " ".join(idf_requires) + + # Extract compile definitions from build flags (-DXXX -> XXX) + compile_defs = [flag[2:] for flag in CORE.build_flags if flag.startswith("-D")] + compile_defs_str = "\n ".join(compile_defs) if compile_defs else "" + + # Extract compile options (-W flags, excluding linker flags) + compile_opts = [ + flag + for flag in CORE.build_flags + if flag.startswith("-W") and not flag.startswith("-Wl,") + ] + compile_opts_str = "\n ".join(compile_opts) if compile_opts else "" + + # Extract linker options (-Wl, flags) + link_opts = [flag for flag in CORE.build_flags if flag.startswith("-Wl,")] + link_opts_str = "\n ".join(link_opts) if link_opts else "" + + return f"""\ +# Auto-generated by ESPHome +file(GLOB_RECURSE app_sources + "${{CMAKE_CURRENT_SOURCE_DIR}}/*.cpp" + "${{CMAKE_CURRENT_SOURCE_DIR}}/*.c" + "${{CMAKE_CURRENT_SOURCE_DIR}}/esphome/*.cpp" + "${{CMAKE_CURRENT_SOURCE_DIR}}/esphome/*.c" +) + +idf_component_register( + SRCS ${{app_sources}} + INCLUDE_DIRS "." "esphome" + REQUIRES {requires_str} +) + +# Apply C++ standard +target_compile_features(${{COMPONENT_LIB}} PUBLIC cxx_std_20) + +# ESPHome compile definitions +target_compile_definitions(${{COMPONENT_LIB}} PUBLIC + {compile_defs_str} +) + +# ESPHome compile options +target_compile_options(${{COMPONENT_LIB}} PUBLIC + {compile_opts_str} +) + +# ESPHome linker options +target_link_options(${{COMPONENT_LIB}} PUBLIC + {link_opts_str} +) +""" + + +def write_project(minimal: bool = False) -> None: + """Write ESP-IDF project files.""" + mkdir_p(CORE.build_path) + mkdir_p(CORE.relative_src_path()) + + # Write top-level CMakeLists.txt + write_file_if_changed( + CORE.relative_build_path("CMakeLists.txt"), + get_project_cmakelists(), + ) + + # Write component CMakeLists.txt in src/ + write_file_if_changed( + CORE.relative_src_path("CMakeLists.txt"), + get_component_cmakelists(minimal=minimal), + ) diff --git a/esphome/codegen.py b/esphome/codegen.py index 6d55c6023d..4a2a5975c6 100644 --- a/esphome/codegen.py +++ b/esphome/codegen.py @@ -69,6 +69,7 @@ from esphome.cpp_types import ( # noqa: F401 JsonObjectConst, Parented, PollingComponent, + StringRef, arduino_json_ns, bool_, const_char_ptr, diff --git a/esphome/components/adc/sensor.py b/esphome/components/adc/sensor.py index 607609bbc7..64dd22b0c3 100644 --- a/esphome/components/adc/sensor.py +++ b/esphome/components/adc/sensor.py @@ -160,21 +160,21 @@ async def to_code(config): zephyr_add_user("io-channels", f"<&adc {channel_id}>") zephyr_add_overlay( f""" -&adc {{ - #address-cells = <1>; - #size-cells = <0>; + &adc {{ + #address-cells = <1>; + #size-cells = <0>; - channel@{channel_id} {{ - reg = <{channel_id}>; - zephyr,gain = "{gain}"; - zephyr,reference = "ADC_REF_INTERNAL"; - zephyr,acquisition-time = ; - zephyr,input-positive = ; - zephyr,resolution = <14>; - zephyr,oversampling = <8>; - }}; -}}; -""" + channel@{channel_id} {{ + reg = <{channel_id}>; + zephyr,gain = "{gain}"; + zephyr,reference = "ADC_REF_INTERNAL"; + zephyr,acquisition-time = ; + zephyr,input-positive = ; + zephyr,resolution = <14>; + zephyr,oversampling = <8>; + }}; + }}; + """ ) diff --git a/esphome/components/alarm_control_panel/alarm_control_panel.cpp b/esphome/components/alarm_control_panel/alarm_control_panel.cpp index 248b5065ad..ab0a780cef 100644 --- a/esphome/components/alarm_control_panel/alarm_control_panel.cpp +++ b/esphome/components/alarm_control_panel/alarm_control_panel.cpp @@ -67,52 +67,29 @@ void AlarmControlPanel::add_on_ready_callback(std::function &&callback) this->ready_callback_.add(std::move(callback)); } -void AlarmControlPanel::arm_away(optional code) { +void AlarmControlPanel::arm_with_code_(AlarmControlPanelCall &(AlarmControlPanelCall::*arm_method)(), + const char *code) { auto call = this->make_call(); - call.arm_away(); - if (code.has_value()) - call.set_code(code.value()); + (call.*arm_method)(); + if (code != nullptr) + call.set_code(code); call.perform(); } -void AlarmControlPanel::arm_home(optional code) { - auto call = this->make_call(); - call.arm_home(); - if (code.has_value()) - call.set_code(code.value()); - call.perform(); +void AlarmControlPanel::arm_away(const char *code) { this->arm_with_code_(&AlarmControlPanelCall::arm_away, code); } + +void AlarmControlPanel::arm_home(const char *code) { this->arm_with_code_(&AlarmControlPanelCall::arm_home, code); } + +void AlarmControlPanel::arm_night(const char *code) { this->arm_with_code_(&AlarmControlPanelCall::arm_night, code); } + +void AlarmControlPanel::arm_vacation(const char *code) { + this->arm_with_code_(&AlarmControlPanelCall::arm_vacation, code); } -void AlarmControlPanel::arm_night(optional code) { - auto call = this->make_call(); - call.arm_night(); - if (code.has_value()) - call.set_code(code.value()); - call.perform(); +void AlarmControlPanel::arm_custom_bypass(const char *code) { + this->arm_with_code_(&AlarmControlPanelCall::arm_custom_bypass, code); } -void AlarmControlPanel::arm_vacation(optional code) { - auto call = this->make_call(); - call.arm_vacation(); - if (code.has_value()) - call.set_code(code.value()); - call.perform(); -} - -void AlarmControlPanel::arm_custom_bypass(optional code) { - auto call = this->make_call(); - call.arm_custom_bypass(); - if (code.has_value()) - call.set_code(code.value()); - call.perform(); -} - -void AlarmControlPanel::disarm(optional code) { - auto call = this->make_call(); - call.disarm(); - if (code.has_value()) - call.set_code(code.value()); - call.perform(); -} +void AlarmControlPanel::disarm(const char *code) { this->arm_with_code_(&AlarmControlPanelCall::disarm, code); } } // namespace esphome::alarm_control_panel diff --git a/esphome/components/alarm_control_panel/alarm_control_panel.h b/esphome/components/alarm_control_panel/alarm_control_panel.h index 340f15bcd6..e8dc197e26 100644 --- a/esphome/components/alarm_control_panel/alarm_control_panel.h +++ b/esphome/components/alarm_control_panel/alarm_control_panel.h @@ -76,37 +76,53 @@ class AlarmControlPanel : public EntityBase { * * @param code The code */ - void arm_away(optional code = nullopt); + void arm_away(const char *code = nullptr); + void arm_away(const optional &code) { + this->arm_away(code.has_value() ? code.value().c_str() : nullptr); + } /** arm the alarm in home mode * * @param code The code */ - void arm_home(optional code = nullopt); + void arm_home(const char *code = nullptr); + void arm_home(const optional &code) { + this->arm_home(code.has_value() ? code.value().c_str() : nullptr); + } /** arm the alarm in night mode * * @param code The code */ - void arm_night(optional code = nullopt); + void arm_night(const char *code = nullptr); + void arm_night(const optional &code) { + this->arm_night(code.has_value() ? code.value().c_str() : nullptr); + } /** arm the alarm in vacation mode * * @param code The code */ - void arm_vacation(optional code = nullopt); + void arm_vacation(const char *code = nullptr); + void arm_vacation(const optional &code) { + this->arm_vacation(code.has_value() ? code.value().c_str() : nullptr); + } /** arm the alarm in custom bypass mode * * @param code The code */ - void arm_custom_bypass(optional code = nullopt); + void arm_custom_bypass(const char *code = nullptr); + void arm_custom_bypass(const optional &code) { + this->arm_custom_bypass(code.has_value() ? code.value().c_str() : nullptr); + } /** disarm the alarm * * @param code The code */ - void disarm(optional code = nullopt); + void disarm(const char *code = nullptr); + void disarm(const optional &code) { this->disarm(code.has_value() ? code.value().c_str() : nullptr); } /** Get the state * @@ -118,6 +134,8 @@ class AlarmControlPanel : public EntityBase { protected: friend AlarmControlPanelCall; + // Helper to reduce code duplication for arm/disarm methods + void arm_with_code_(AlarmControlPanelCall &(AlarmControlPanelCall::*arm_method)(), const char *code); // in order to store last panel state in flash ESPPreferenceObject pref_; // current state diff --git a/esphome/components/alarm_control_panel/alarm_control_panel_call.cpp b/esphome/components/alarm_control_panel/alarm_control_panel_call.cpp index 5e98d58368..ba58ee3904 100644 --- a/esphome/components/alarm_control_panel/alarm_control_panel_call.cpp +++ b/esphome/components/alarm_control_panel/alarm_control_panel_call.cpp @@ -10,8 +10,10 @@ static const char *const TAG = "alarm_control_panel"; AlarmControlPanelCall::AlarmControlPanelCall(AlarmControlPanel *parent) : parent_(parent) {} -AlarmControlPanelCall &AlarmControlPanelCall::set_code(const std::string &code) { - this->code_ = code; +AlarmControlPanelCall &AlarmControlPanelCall::set_code(const char *code) { + if (code != nullptr) { + this->code_ = std::string(code); + } return *this; } diff --git a/esphome/components/alarm_control_panel/alarm_control_panel_call.h b/esphome/components/alarm_control_panel/alarm_control_panel_call.h index cff00900dd..58764ea166 100644 --- a/esphome/components/alarm_control_panel/alarm_control_panel_call.h +++ b/esphome/components/alarm_control_panel/alarm_control_panel_call.h @@ -14,7 +14,8 @@ class AlarmControlPanelCall { public: AlarmControlPanelCall(AlarmControlPanel *parent); - AlarmControlPanelCall &set_code(const std::string &code); + AlarmControlPanelCall &set_code(const char *code); + AlarmControlPanelCall &set_code(const std::string &code) { return this->set_code(code.c_str()); } AlarmControlPanelCall &arm_away(); AlarmControlPanelCall &arm_home(); AlarmControlPanelCall &arm_night(); diff --git a/esphome/components/alarm_control_panel/automation.h b/esphome/components/alarm_control_panel/automation.h index ce5ceadb47..4ff34de0d5 100644 --- a/esphome/components/alarm_control_panel/automation.h +++ b/esphome/components/alarm_control_panel/automation.h @@ -66,15 +66,7 @@ template class ArmAwayAction : public Action { TEMPLATABLE_VALUE(std::string, code) - void play(const Ts &...x) override { - auto call = this->alarm_control_panel_->make_call(); - auto code = this->code_.optional_value(x...); - if (code.has_value()) { - call.set_code(code.value()); - } - call.arm_away(); - call.perform(); - } + void play(const Ts &...x) override { this->alarm_control_panel_->arm_away(this->code_.optional_value(x...)); } protected: AlarmControlPanel *alarm_control_panel_; @@ -86,15 +78,7 @@ template class ArmHomeAction : public Action { TEMPLATABLE_VALUE(std::string, code) - void play(const Ts &...x) override { - auto call = this->alarm_control_panel_->make_call(); - auto code = this->code_.optional_value(x...); - if (code.has_value()) { - call.set_code(code.value()); - } - call.arm_home(); - call.perform(); - } + void play(const Ts &...x) override { this->alarm_control_panel_->arm_home(this->code_.optional_value(x...)); } protected: AlarmControlPanel *alarm_control_panel_; @@ -106,15 +90,7 @@ template class ArmNightAction : public Action { TEMPLATABLE_VALUE(std::string, code) - void play(const Ts &...x) override { - auto call = this->alarm_control_panel_->make_call(); - auto code = this->code_.optional_value(x...); - if (code.has_value()) { - call.set_code(code.value()); - } - call.arm_night(); - call.perform(); - } + void play(const Ts &...x) override { this->alarm_control_panel_->arm_night(this->code_.optional_value(x...)); } protected: AlarmControlPanel *alarm_control_panel_; diff --git a/esphome/components/am43/am43_base.cpp b/esphome/components/am43/am43_base.cpp index af474dcb79..d70e638382 100644 --- a/esphome/components/am43/am43_base.cpp +++ b/esphome/components/am43/am43_base.cpp @@ -1,21 +1,12 @@ #include "am43_base.h" +#include "esphome/core/helpers.h" #include -#include namespace esphome { namespace am43 { const uint8_t START_PACKET[5] = {0x00, 0xff, 0x00, 0x00, 0x9a}; -std::string pkt_to_hex(const uint8_t *data, uint16_t len) { - char buf[64]; - memset(buf, 0, 64); - for (int i = 0; i < len; i++) - sprintf(&buf[i * 2], "%02x", data[i]); - std::string ret = buf; - return ret; -} - Am43Packet *Am43Encoder::get_battery_level_request() { uint8_t data = 0x1; return this->encode_(0xA2, &data, 1); @@ -73,7 +64,9 @@ Am43Packet *Am43Encoder::encode_(uint8_t command, uint8_t *data, uint8_t length) memcpy(&this->packet_.data[7], data, length); this->packet_.length = length + 7; this->checksum_(); - ESP_LOGV("am43", "ENC(%d): 0x%s", packet_.length, pkt_to_hex(packet_.data, packet_.length).c_str()); + char hex_buf[format_hex_size(sizeof(this->packet_.data))]; + ESP_LOGV("am43", "ENC(%d): 0x%s", this->packet_.length, + format_hex_to(hex_buf, this->packet_.data, this->packet_.length)); return &this->packet_; } @@ -88,7 +81,8 @@ void Am43Decoder::decode(const uint8_t *data, uint16_t length) { this->has_set_state_response_ = false; this->has_position_ = false; this->has_pin_response_ = false; - ESP_LOGV("am43", "DEC(%d): 0x%s", length, pkt_to_hex(data, length).c_str()); + char hex_buf[format_hex_size(24)]; // Max expected packet size + ESP_LOGV("am43", "DEC(%d): 0x%s", length, format_hex_to(hex_buf, data, length)); if (length < 2 || data[0] != 0x9a) return; diff --git a/esphome/components/anova/anova_base.cpp b/esphome/components/anova/anova_base.cpp index ce4febbe37..fef4f1d852 100644 --- a/esphome/components/anova/anova_base.cpp +++ b/esphome/components/anova/anova_base.cpp @@ -18,31 +18,31 @@ AnovaPacket *AnovaCodec::clean_packet_() { AnovaPacket *AnovaCodec::get_read_device_status_request() { this->current_query_ = READ_DEVICE_STATUS; - sprintf((char *) this->packet_.data, "%s", CMD_READ_DEVICE_STATUS); + snprintf((char *) this->packet_.data, sizeof(this->packet_.data), "%s", CMD_READ_DEVICE_STATUS); return this->clean_packet_(); } AnovaPacket *AnovaCodec::get_read_target_temp_request() { this->current_query_ = READ_TARGET_TEMPERATURE; - sprintf((char *) this->packet_.data, "%s", CMD_READ_TARGET_TEMP); + snprintf((char *) this->packet_.data, sizeof(this->packet_.data), "%s", CMD_READ_TARGET_TEMP); return this->clean_packet_(); } AnovaPacket *AnovaCodec::get_read_current_temp_request() { this->current_query_ = READ_CURRENT_TEMPERATURE; - sprintf((char *) this->packet_.data, "%s", CMD_READ_CURRENT_TEMP); + snprintf((char *) this->packet_.data, sizeof(this->packet_.data), "%s", CMD_READ_CURRENT_TEMP); return this->clean_packet_(); } AnovaPacket *AnovaCodec::get_read_unit_request() { this->current_query_ = READ_UNIT; - sprintf((char *) this->packet_.data, "%s", CMD_READ_UNIT); + snprintf((char *) this->packet_.data, sizeof(this->packet_.data), "%s", CMD_READ_UNIT); return this->clean_packet_(); } AnovaPacket *AnovaCodec::get_read_data_request() { this->current_query_ = READ_DATA; - sprintf((char *) this->packet_.data, "%s", CMD_READ_DATA); + snprintf((char *) this->packet_.data, sizeof(this->packet_.data), "%s", CMD_READ_DATA); return this->clean_packet_(); } @@ -50,25 +50,25 @@ AnovaPacket *AnovaCodec::get_set_target_temp_request(float temperature) { this->current_query_ = SET_TARGET_TEMPERATURE; if (this->fahrenheit_) temperature = ctof(temperature); - sprintf((char *) this->packet_.data, CMD_SET_TARGET_TEMP, temperature); + snprintf((char *) this->packet_.data, sizeof(this->packet_.data), CMD_SET_TARGET_TEMP, temperature); return this->clean_packet_(); } AnovaPacket *AnovaCodec::get_set_unit_request(char unit) { this->current_query_ = SET_UNIT; - sprintf((char *) this->packet_.data, CMD_SET_TEMP_UNIT, unit); + snprintf((char *) this->packet_.data, sizeof(this->packet_.data), CMD_SET_TEMP_UNIT, unit); return this->clean_packet_(); } AnovaPacket *AnovaCodec::get_start_request() { this->current_query_ = START; - sprintf((char *) this->packet_.data, CMD_START); + snprintf((char *) this->packet_.data, sizeof(this->packet_.data), "%s", CMD_START); return this->clean_packet_(); } AnovaPacket *AnovaCodec::get_stop_request() { this->current_query_ = STOP; - sprintf((char *) this->packet_.data, CMD_STOP); + snprintf((char *) this->packet_.data, sizeof(this->packet_.data), "%s", CMD_STOP); return this->clean_packet_(); } diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index 0804985cc5..1626f395e6 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -1712,17 +1712,16 @@ void APIConnection::on_home_assistant_state_response(const HomeAssistantStateRes } // Create null-terminated state for callback (parse_number needs null-termination) - // HA state max length is 255, so 256 byte buffer covers all cases - char state_buf[256]; - size_t copy_len = msg.state.size(); - if (copy_len >= sizeof(state_buf)) { - copy_len = sizeof(state_buf) - 1; // Truncate to leave space for null terminator + // HA state max length is 255 characters, but attributes can be much longer + // Use stack buffer for common case (states), heap fallback for large attributes + size_t state_len = msg.state.size(); + SmallBufferWithHeapFallback state_buf_alloc(state_len + 1); + char *state_buf = reinterpret_cast(state_buf_alloc.get()); + if (state_len > 0) { + memcpy(state_buf, msg.state.c_str(), state_len); } - if (copy_len > 0) { - memcpy(state_buf, msg.state.c_str(), copy_len); - } - state_buf[copy_len] = '\0'; - it.callback(StringRef(state_buf, copy_len)); + state_buf[state_len] = '\0'; + it.callback(StringRef(state_buf, state_len)); } } #endif @@ -1845,23 +1844,8 @@ bool APIConnection::send_buffer(ProtoWriteBuffer buffer, uint8_t message_type) { return false; } - // Toggle Nagle's algorithm based on message type to prevent log messages from - // filling the TCP send buffer and crowding out important state updates. - // - // This honors the `no_delay` proto option - SubscribeLogsResponse is the only - // message with `option (no_delay) = false;` in api.proto, indicating it should - // allow Nagle coalescing. This option existed since 2019 but was never implemented. - // - // - Log messages: Enable Nagle (NODELAY=false) so small log packets coalesce - // into fewer, larger packets. They flush naturally via TCP delayed ACK timer - // (~200ms), buffer filling, or when a state update triggers a flush. - // - // - All other messages (state updates, responses): Disable Nagle (NODELAY=true) - // for immediate delivery. These are time-sensitive and should not be delayed. - // - // This must be done proactively BEFORE the buffer fills up - checking buffer - // state here would be too late since we'd already be in a degraded state. - this->helper_->set_nodelay(!is_log_message); + // Set TCP_NODELAY based on message type - see set_nodelay_for_message() for details + this->helper_->set_nodelay_for_message(is_log_message); APIError err = this->helper_->write_protobuf_packet(message_type, buffer); if (err == APIError::WOULD_BLOCK) diff --git a/esphome/components/api/api_frame_helper.h b/esphome/components/api/api_frame_helper.h index 27ec1ff915..f311e34fd7 100644 --- a/esphome/components/api/api_frame_helper.h +++ b/esphome/components/api/api_frame_helper.h @@ -120,26 +120,39 @@ class APIFrameHelper { } return APIError::OK; } - /// Toggle TCP_NODELAY socket option to control Nagle's algorithm. - /// - /// This is used to allow log messages to coalesce (Nagle enabled) while keeping - /// state updates low-latency (NODELAY enabled). Without this, many small log - /// packets fill the TCP send buffer, crowding out important state updates. - /// - /// State is tracked to minimize setsockopt() overhead - on lwip_raw (ESP8266/RP2040) - /// this is just a boolean assignment; on other platforms it's a lightweight syscall. - /// - /// @param enable true to enable NODELAY (disable Nagle), false to enable Nagle - /// @return true if successful or already in desired state - bool set_nodelay(bool enable) { - if (this->nodelay_enabled_ == enable) - return true; - int val = enable ? 1 : 0; - int err = this->socket_->setsockopt(IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int)); - if (err == 0) { - this->nodelay_enabled_ = enable; + // Manage TCP_NODELAY (Nagle's algorithm) based on message type. + // + // For non-log messages (sensor data, state updates): Always disable Nagle + // (NODELAY on) for immediate delivery - these are time-sensitive. + // + // For log messages: Use Nagle to coalesce multiple small log packets into + // fewer larger packets, reducing WiFi overhead. However, we limit batching + // to 3 messages to avoid excessive LWIP buffer pressure on memory-constrained + // devices like ESP8266. LWIP's TCP_OVERSIZE option coalesces the data into + // shared pbufs, but holding data too long waiting for Nagle's timer causes + // buffer exhaustion and dropped messages. + // + // Flow: Log 1 (Nagle on) -> Log 2 (Nagle on) -> Log 3 (NODELAY, flush all) + // + void set_nodelay_for_message(bool is_log_message) { + if (!is_log_message) { + if (this->nodelay_state_ != NODELAY_ON) { + this->set_nodelay_raw_(true); + this->nodelay_state_ = NODELAY_ON; + } + return; + } + + // Log messages 1-3: state transitions -1 -> 1 -> 2 -> -1 (flush on 3rd) + if (this->nodelay_state_ == NODELAY_ON) { + this->set_nodelay_raw_(false); + this->nodelay_state_ = 1; + } else if (this->nodelay_state_ >= LOG_NAGLE_COUNT) { + this->set_nodelay_raw_(true); + this->nodelay_state_ = NODELAY_ON; + } else { + this->nodelay_state_++; } - return err == 0; } virtual APIError write_protobuf_packet(uint8_t type, ProtoWriteBuffer buffer) = 0; // Write multiple protobuf messages in a single operation @@ -229,10 +242,18 @@ class APIFrameHelper { uint8_t tx_buf_head_{0}; uint8_t tx_buf_tail_{0}; uint8_t tx_buf_count_{0}; - // Tracks TCP_NODELAY state to minimize setsockopt() calls. Initialized to true - // since init_common_() enables NODELAY. Used by set_nodelay() to allow log - // messages to coalesce while keeping state updates low-latency. - bool nodelay_enabled_{true}; + // Nagle batching state for log messages. NODELAY_ON (-1) means NODELAY is enabled + // (immediate send). Values 1-2 count log messages in the current Nagle batch. + // After LOG_NAGLE_COUNT logs, we switch to NODELAY to flush and reset. + static constexpr int8_t NODELAY_ON = -1; + static constexpr int8_t LOG_NAGLE_COUNT = 2; + int8_t nodelay_state_{NODELAY_ON}; + + // Internal helper to set TCP_NODELAY socket option + void set_nodelay_raw_(bool enable) { + int val = enable ? 1 : 0; + this->socket_->setsockopt(IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int)); + } // Common initialization for both plaintext and noise protocols APIError init_common_(); diff --git a/esphome/components/api/api_frame_helper_noise.cpp b/esphome/components/api/api_frame_helper_noise.cpp index 21b0463dfe..4a9257231d 100644 --- a/esphome/components/api/api_frame_helper_noise.cpp +++ b/esphome/components/api/api_frame_helper_noise.cpp @@ -3,6 +3,7 @@ #ifdef USE_API_NOISE #include "api_connection.h" // For ClientInfo struct #include "esphome/core/application.h" +#include "esphome/core/entity_base.h" #include "esphome/core/hal.h" #include "esphome/core/helpers.h" #include "esphome/core/log.h" @@ -256,28 +257,30 @@ APIError APINoiseFrameHelper::state_action_() { } if (state_ == State::SERVER_HELLO) { // send server hello - constexpr size_t mac_len = 13; // 12 hex chars + null terminator const std::string &name = App.get_name(); - char mac[mac_len]; + char mac[MAC_ADDRESS_BUFFER_SIZE]; get_mac_address_into_buffer(mac); // Calculate positions and sizes size_t name_len = name.size() + 1; // including null terminator size_t name_offset = 1; size_t mac_offset = name_offset + name_len; - size_t total_size = 1 + name_len + mac_len; + size_t total_size = 1 + name_len + MAC_ADDRESS_BUFFER_SIZE; - auto msg = std::make_unique(total_size); + // 1 (proto) + name (max ESPHOME_DEVICE_NAME_MAX_LEN) + 1 (name null) + // + mac (MAC_ADDRESS_BUFFER_SIZE - 1) + 1 (mac null) + constexpr size_t max_msg_size = 1 + ESPHOME_DEVICE_NAME_MAX_LEN + 1 + MAC_ADDRESS_BUFFER_SIZE; + uint8_t msg[max_msg_size]; // chosen proto msg[0] = 0x01; // node name, terminated by null byte - std::memcpy(msg.get() + name_offset, name.c_str(), name_len); + std::memcpy(msg + name_offset, name.c_str(), name_len); // node mac, terminated by null byte - std::memcpy(msg.get() + mac_offset, mac, mac_len); + std::memcpy(msg + mac_offset, mac, MAC_ADDRESS_BUFFER_SIZE); - aerr = write_frame_(msg.get(), total_size); + aerr = write_frame_(msg, total_size); if (aerr != APIError::OK) return aerr; @@ -353,35 +356,32 @@ APIError APINoiseFrameHelper::state_action_() { return APIError::OK; } void APINoiseFrameHelper::send_explicit_handshake_reject_(const LogString *reason) { + // Max reject message: "Bad handshake packet len" (24) + 1 (failure byte) = 25 bytes + uint8_t data[32]; + data[0] = 0x01; // failure + #ifdef USE_STORE_LOG_STR_IN_FLASH // On ESP8266 with flash strings, we need to use PROGMEM-aware functions size_t reason_len = strlen_P(reinterpret_cast(reason)); - size_t data_size = reason_len + 1; - auto data = std::make_unique(data_size); - data[0] = 0x01; // failure - - // Copy error message from PROGMEM if (reason_len > 0) { - memcpy_P(data.get() + 1, reinterpret_cast(reason), reason_len); + memcpy_P(data + 1, reinterpret_cast(reason), reason_len); } #else // Normal memory access const char *reason_str = LOG_STR_ARG(reason); size_t reason_len = strlen(reason_str); - size_t data_size = reason_len + 1; - auto data = std::make_unique(data_size); - data[0] = 0x01; // failure - - // Copy error message in bulk if (reason_len > 0) { - std::memcpy(data.get() + 1, reason_str, reason_len); + // NOLINTNEXTLINE(bugprone-not-null-terminated-result) - binary protocol, not a C string + std::memcpy(data + 1, reason_str, reason_len); } #endif + size_t data_size = reason_len + 1; + // temporarily remove failed state auto orig_state = state_; state_ = State::EXPLICIT_REJECT; - write_frame_(data.get(), data_size); + write_frame_(data, data_size); state_ = orig_state; } APIError APINoiseFrameHelper::read_packet(ReadPacketBuffer *buffer) { diff --git a/esphome/components/api/proto.cpp b/esphome/components/api/proto.cpp index eac26997cf..2a0ddf91db 100644 --- a/esphome/components/api/proto.cpp +++ b/esphome/components/api/proto.cpp @@ -48,14 +48,14 @@ uint32_t ProtoDecodableMessage::count_repeated_field(const uint8_t *buffer, size } uint32_t field_length = res->as_uint32(); ptr += consumed; - if (ptr + field_length > end) { + if (field_length > static_cast(end - ptr)) { return count; // Out of bounds } ptr += field_length; break; } case WIRE_TYPE_FIXED32: { // 32-bit - skip 4 bytes - if (ptr + 4 > end) { + if (end - ptr < 4) { return count; } ptr += 4; @@ -110,7 +110,7 @@ void ProtoDecodableMessage::decode(const uint8_t *buffer, size_t length) { } uint32_t field_length = res->as_uint32(); ptr += consumed; - if (ptr + field_length > end) { + if (field_length > static_cast(end - ptr)) { ESP_LOGV(TAG, "Out-of-bounds Length Delimited at offset %ld", (long) (ptr - buffer)); return; } @@ -121,7 +121,7 @@ void ProtoDecodableMessage::decode(const uint8_t *buffer, size_t length) { break; } case WIRE_TYPE_FIXED32: { // 32-bit - if (ptr + 4 > end) { + if (end - ptr < 4) { ESP_LOGV(TAG, "Out-of-bounds Fixed32-bit at offset %ld", (long) (ptr - buffer)); return; } diff --git a/esphome/components/aqi/sensor.py b/esphome/components/aqi/sensor.py index 0b5ee8d75a..5842aea88c 100644 --- a/esphome/components/aqi/sensor.py +++ b/esphome/components/aqi/sensor.py @@ -13,14 +13,11 @@ from . import AQI_CALCULATION_TYPE, CONF_CALCULATION_TYPE, aqi_ns CODEOWNERS = ["@jasstrong"] DEPENDENCIES = ["sensor"] -UNIT_INDEX = "index" - AQISensor = aqi_ns.class_("AQISensor", sensor.Sensor, cg.Component) CONFIG_SCHEMA = ( sensor.sensor_schema( AQISensor, - unit_of_measurement=UNIT_INDEX, accuracy_decimals=0, device_class=DEVICE_CLASS_AQI, state_class=STATE_CLASS_MEASUREMENT, diff --git a/esphome/components/async_tcp/__init__.py b/esphome/components/async_tcp/__init__.py index 1ff4805f03..2a07903b68 100644 --- a/esphome/components/async_tcp/__init__.py +++ b/esphome/components/async_tcp/__init__.py @@ -38,8 +38,10 @@ async def to_code(config): # https://github.com/ESP32Async/ESPAsyncTCP cg.add_library("ESP32Async/ESPAsyncTCP", "2.0.0") elif CORE.is_rp2040: - # https://github.com/khoih-prog/AsyncTCP_RP2040W - cg.add_library("khoih-prog/AsyncTCP_RP2040W", "1.2.0") + # https://github.com/ayushsharma82/RPAsyncTCP + # RPAsyncTCP is a drop-in replacement for AsyncTCP_RP2040W with better + # ESPAsyncWebServer compatibility + cg.add_library("ayushsharma82/RPAsyncTCP", "1.3.2") # Other platforms (host, etc) use socket-based implementation diff --git a/esphome/components/async_tcp/async_tcp.h b/esphome/components/async_tcp/async_tcp.h index 6d9211f023..21fcfe239f 100644 --- a/esphome/components/async_tcp/async_tcp.h +++ b/esphome/components/async_tcp/async_tcp.h @@ -8,8 +8,8 @@ // Use ESPAsyncTCP library for ESP8266 (always Arduino) #include #elif defined(USE_RP2040) -// Use AsyncTCP_RP2040W library for RP2040 -#include +// Use RPAsyncTCP library for RP2040 +#include #else // Use socket-based implementation for other platforms #include "async_tcp_socket.h" diff --git a/esphome/components/atm90e32/atm90e32.cpp b/esphome/components/atm90e32/atm90e32.cpp index 634260b5e9..412964d0f8 100644 --- a/esphome/components/atm90e32/atm90e32.cpp +++ b/esphome/components/atm90e32/atm90e32.cpp @@ -108,10 +108,14 @@ void ATM90E32Component::update() { #endif } +void ATM90E32Component::get_cs_summary_(std::span buffer) { + this->cs_->dump_summary(buffer.data(), buffer.size()); +} + void ATM90E32Component::setup() { this->spi_setup(); - this->cs_summary_ = this->cs_->dump_summary(); - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); uint16_t mmode0 = 0x87; // 3P4W 50Hz uint16_t high_thresh = 0; @@ -158,12 +162,14 @@ void ATM90E32Component::setup() { if (this->enable_offset_calibration_) { // Initialize flash storage for offset calibrations - uint32_t o_hash = fnv1_hash(std::string("_offset_calibration_") + this->cs_summary_); + uint32_t o_hash = fnv1_hash("_offset_calibration_"); + o_hash = fnv1_hash_extend(o_hash, cs); this->offset_pref_ = global_preferences->make_preference(o_hash, true); this->restore_offset_calibrations_(); // Initialize flash storage for power offset calibrations - uint32_t po_hash = fnv1_hash(std::string("_power_offset_calibration_") + this->cs_summary_); + uint32_t po_hash = fnv1_hash("_power_offset_calibration_"); + po_hash = fnv1_hash_extend(po_hash, cs); this->power_offset_pref_ = global_preferences->make_preference(po_hash, true); this->restore_power_offset_calibrations_(); } else { @@ -183,7 +189,8 @@ void ATM90E32Component::setup() { if (this->enable_gain_calibration_) { // Initialize flash storage for gain calibration - uint32_t g_hash = fnv1_hash(std::string("_gain_calibration_") + this->cs_summary_); + uint32_t g_hash = fnv1_hash("_gain_calibration_"); + g_hash = fnv1_hash_extend(g_hash, cs); this->gain_calibration_pref_ = global_preferences->make_preference(g_hash, true); this->restore_gain_calibrations_(); @@ -214,7 +221,8 @@ void ATM90E32Component::setup() { } void ATM90E32Component::log_calibration_status_() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); bool offset_mismatch = false; bool power_mismatch = false; @@ -565,7 +573,8 @@ float ATM90E32Component::get_chip_temperature_() { } void ATM90E32Component::run_gain_calibrations() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); if (!this->enable_gain_calibration_) { ESP_LOGW(TAG, "[CALIBRATION][%s] Gain calibration is disabled! Enable it first with enable_gain_calibration: true", cs); @@ -665,7 +674,8 @@ void ATM90E32Component::run_gain_calibrations() { } void ATM90E32Component::save_gain_calibration_to_memory_() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); bool success = this->gain_calibration_pref_.save(&this->gain_phase_); global_preferences->sync(); if (success) { @@ -678,7 +688,8 @@ void ATM90E32Component::save_gain_calibration_to_memory_() { } void ATM90E32Component::save_offset_calibration_to_memory_() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); bool success = this->offset_pref_.save(&this->offset_phase_); global_preferences->sync(); if (success) { @@ -694,7 +705,8 @@ void ATM90E32Component::save_offset_calibration_to_memory_() { } void ATM90E32Component::save_power_offset_calibration_to_memory_() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); bool success = this->power_offset_pref_.save(&this->power_offset_phase_); global_preferences->sync(); if (success) { @@ -710,7 +722,8 @@ void ATM90E32Component::save_power_offset_calibration_to_memory_() { } void ATM90E32Component::run_offset_calibrations() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); if (!this->enable_offset_calibration_) { ESP_LOGW(TAG, "[CALIBRATION][%s] Offset calibration is disabled! Enable it first with enable_offset_calibration: true", @@ -740,7 +753,8 @@ void ATM90E32Component::run_offset_calibrations() { } void ATM90E32Component::run_power_offset_calibrations() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); if (!this->enable_offset_calibration_) { ESP_LOGW( TAG, @@ -813,7 +827,8 @@ void ATM90E32Component::write_power_offsets_to_registers_(uint8_t phase, int16_t } void ATM90E32Component::restore_gain_calibrations_() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); for (uint8_t i = 0; i < 3; ++i) { this->config_gain_phase_[i].voltage_gain = this->phase_[i].voltage_gain_; this->config_gain_phase_[i].current_gain = this->phase_[i].ct_gain_; @@ -867,7 +882,8 @@ void ATM90E32Component::restore_gain_calibrations_() { } void ATM90E32Component::restore_offset_calibrations_() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); for (uint8_t i = 0; i < 3; ++i) this->config_offset_phase_[i] = this->offset_phase_[i]; @@ -909,7 +925,8 @@ void ATM90E32Component::restore_offset_calibrations_() { } void ATM90E32Component::restore_power_offset_calibrations_() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); for (uint8_t i = 0; i < 3; ++i) this->config_power_offset_phase_[i] = this->power_offset_phase_[i]; @@ -951,7 +968,8 @@ void ATM90E32Component::restore_power_offset_calibrations_() { } void ATM90E32Component::clear_gain_calibrations() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); if (!this->using_saved_calibrations_) { ESP_LOGI(TAG, "[CALIBRATION][%s] No stored gain calibrations to clear. Current values:", cs); ESP_LOGI(TAG, "[CALIBRATION][%s] ----------------------------------------------------------", cs); @@ -1000,7 +1018,8 @@ void ATM90E32Component::clear_gain_calibrations() { } void ATM90E32Component::clear_offset_calibrations() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); if (!this->restored_offset_calibration_) { ESP_LOGI(TAG, "[CALIBRATION][%s] No stored offset calibrations to clear. Current values:", cs); ESP_LOGI(TAG, "[CALIBRATION][%s] --------------------------------------------------------------", cs); @@ -1042,7 +1061,8 @@ void ATM90E32Component::clear_offset_calibrations() { } void ATM90E32Component::clear_power_offset_calibrations() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); if (!this->restored_power_offset_calibration_) { ESP_LOGI(TAG, "[CALIBRATION][%s] No stored power offsets to clear. Current values:", cs); ESP_LOGI(TAG, "[CALIBRATION][%s] ---------------------------------------------------------------------", cs); @@ -1117,7 +1137,8 @@ int16_t ATM90E32Component::calibrate_power_offset(uint8_t phase, bool reactive) } bool ATM90E32Component::verify_gain_writes_() { - const char *cs = this->cs_summary_.c_str(); + char cs[GPIO_SUMMARY_MAX_LEN]; + this->get_cs_summary_(cs); bool success = true; for (uint8_t phase = 0; phase < 3; phase++) { uint16_t read_voltage = this->read16_(voltage_gain_registers[phase]); diff --git a/esphome/components/atm90e32/atm90e32.h b/esphome/components/atm90e32/atm90e32.h index 938ce512ce..2524616470 100644 --- a/esphome/components/atm90e32/atm90e32.h +++ b/esphome/components/atm90e32/atm90e32.h @@ -1,11 +1,13 @@ #pragma once +#include #include #include "atm90e32_reg.h" #include "esphome/components/sensor/sensor.h" #include "esphome/components/spi/spi.h" #include "esphome/core/application.h" #include "esphome/core/component.h" +#include "esphome/core/gpio.h" #include "esphome/core/helpers.h" #include "esphome/core/preferences.h" @@ -182,6 +184,7 @@ class ATM90E32Component : public PollingComponent, bool verify_gain_writes_(); bool validate_spi_read_(uint16_t expected, const char *context = nullptr); void log_calibration_status_(); + void get_cs_summary_(std::span buffer); struct ATM90E32Phase { uint16_t voltage_gain_{0}; @@ -247,7 +250,6 @@ class ATM90E32Component : public PollingComponent, ESPPreferenceObject offset_pref_; ESPPreferenceObject power_offset_pref_; ESPPreferenceObject gain_calibration_pref_; - std::string cs_summary_; sensor::Sensor *freq_sensor_{nullptr}; #ifdef USE_TEXT_SENSOR diff --git a/esphome/components/audio/__init__.py b/esphome/components/audio/__init__.py index 7b03e4b6a7..6c721652e1 100644 --- a/esphome/components/audio/__init__.py +++ b/esphome/components/audio/__init__.py @@ -1,4 +1,5 @@ import esphome.codegen as cg +from esphome.components.esp32 import add_idf_component import esphome.config_validation as cv from esphome.const import CONF_BITS_PER_SAMPLE, CONF_NUM_CHANNELS, CONF_SAMPLE_RATE import esphome.final_validate as fv @@ -165,4 +166,7 @@ def final_validate_audio_schema( async def to_code(config): - cg.add_library("esphome/esp-audio-libs", "2.0.1") + add_idf_component( + name="esphome/esp-audio-libs", + ref="2.0.3", + ) diff --git a/esphome/components/audio/audio_decoder.cpp b/esphome/components/audio/audio_decoder.cpp index d1ad571a52..8f514468c4 100644 --- a/esphome/components/audio/audio_decoder.cpp +++ b/esphome/components/audio/audio_decoder.cpp @@ -300,7 +300,7 @@ FileDecoderState AudioDecoder::decode_mp3_() { // Advance read pointer to match the offset for the syncword this->input_transfer_buffer_->decrease_buffer_length(offset); - uint8_t *buffer_start = this->input_transfer_buffer_->get_buffer_start(); + const uint8_t *buffer_start = this->input_transfer_buffer_->get_buffer_start(); buffer_length = (int) this->input_transfer_buffer_->available(); int err = esp_audio_libs::helix_decoder::MP3Decode(this->mp3_decoder_, &buffer_start, &buffer_length, diff --git a/esphome/components/audio/audio_reader.cpp b/esphome/components/audio/audio_reader.cpp index 7794187a69..4e4bd31f9b 100644 --- a/esphome/components/audio/audio_reader.cpp +++ b/esphome/components/audio/audio_reader.cpp @@ -185,18 +185,16 @@ esp_err_t AudioReader::start(const std::string &uri, AudioFileType &file_type) { return err; } - std::string url_string = str_lower_case(url); - - if (str_endswith(url_string, ".wav")) { + if (str_endswith_ignore_case(url, ".wav")) { file_type = AudioFileType::WAV; } #ifdef USE_AUDIO_MP3_SUPPORT - else if (str_endswith(url_string, ".mp3")) { + else if (str_endswith_ignore_case(url, ".mp3")) { file_type = AudioFileType::MP3; } #endif #ifdef USE_AUDIO_FLAC_SUPPORT - else if (str_endswith(url_string, ".flac")) { + else if (str_endswith_ignore_case(url, ".flac")) { file_type = AudioFileType::FLAC; } #endif diff --git a/esphome/components/binary_sensor/binary_sensor.cpp b/esphome/components/binary_sensor/binary_sensor.cpp index 4fe2a019e0..7c3b06970d 100644 --- a/esphome/components/binary_sensor/binary_sensor.cpp +++ b/esphome/components/binary_sensor/binary_sensor.cpp @@ -14,10 +14,7 @@ void log_binary_sensor(const char *tag, const char *prefix, const char *type, Bi } ESP_LOGCONFIG(tag, "%s%s '%s'", prefix, type, obj->get_name().c_str()); - - if (!obj->get_device_class_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Device Class: '%s'", prefix, obj->get_device_class_ref().c_str()); - } + LOG_ENTITY_DEVICE_CLASS(tag, prefix, *obj); } void BinarySensor::publish_state(bool new_state) { diff --git a/esphome/components/bl0940/number/calibration_number.cpp b/esphome/components/bl0940/number/calibration_number.cpp index e83c3add1f..5e775004bd 100644 --- a/esphome/components/bl0940/number/calibration_number.cpp +++ b/esphome/components/bl0940/number/calibration_number.cpp @@ -9,7 +9,7 @@ static const char *const TAG = "bl0940.number"; void CalibrationNumber::setup() { float value = 0.0f; if (this->restore_value_) { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); if (!this->pref_.load(&value)) { value = 0.0f; } diff --git a/esphome/components/bluetooth_proxy/bluetooth_connection.cpp b/esphome/components/bluetooth_proxy/bluetooth_connection.cpp index 1d6f7e23b3..60f56fda54 100644 --- a/esphome/components/bluetooth_proxy/bluetooth_connection.cpp +++ b/esphome/components/bluetooth_proxy/bluetooth_connection.cpp @@ -135,8 +135,8 @@ void BluetoothConnection::loop() { // - For V3_WITH_CACHE: Services are never sent, disable after INIT state // - For V3_WITHOUT_CACHE: Disable only after service discovery is complete // (send_service_ == DONE_SENDING_SERVICES, which is only set after services are sent) - if (this->state_ != espbt::ClientState::INIT && (this->connection_type_ == espbt::ConnectionType::V3_WITH_CACHE || - this->send_service_ == DONE_SENDING_SERVICES)) { + if (this->state() != espbt::ClientState::INIT && (this->connection_type_ == espbt::ConnectionType::V3_WITH_CACHE || + this->send_service_ == DONE_SENDING_SERVICES)) { this->disable_loop(); } } diff --git a/esphome/components/bmp581/sensor.py b/esphome/components/bmp581/sensor.py index e2790f83b9..0dd06bfd36 100644 --- a/esphome/components/bmp581/sensor.py +++ b/esphome/components/bmp581/sensor.py @@ -1,164 +1,5 @@ -import math - -import esphome.codegen as cg -from esphome.components import i2c, sensor import esphome.config_validation as cv -from esphome.const import ( - CONF_ID, - CONF_IIR_FILTER, - CONF_OVERSAMPLING, - CONF_PRESSURE, - CONF_TEMPERATURE, - DEVICE_CLASS_ATMOSPHERIC_PRESSURE, - DEVICE_CLASS_TEMPERATURE, - STATE_CLASS_MEASUREMENT, - UNIT_CELSIUS, - UNIT_PASCAL, + +CONFIG_SCHEMA = cv.invalid( + "The bmp581 sensor component has been renamed to bmp581_i2c." ) - -CODEOWNERS = ["@kahrendt"] -DEPENDENCIES = ["i2c"] - -bmp581_ns = cg.esphome_ns.namespace("bmp581") - -Oversampling = bmp581_ns.enum("Oversampling") -OVERSAMPLING_OPTIONS = { - "NONE": Oversampling.OVERSAMPLING_NONE, - "2X": Oversampling.OVERSAMPLING_X2, - "4X": Oversampling.OVERSAMPLING_X4, - "8X": Oversampling.OVERSAMPLING_X8, - "16X": Oversampling.OVERSAMPLING_X16, - "32X": Oversampling.OVERSAMPLING_X32, - "64X": Oversampling.OVERSAMPLING_X64, - "128X": Oversampling.OVERSAMPLING_X128, -} - -IIRFilter = bmp581_ns.enum("IIRFilter") -IIR_FILTER_OPTIONS = { - "OFF": IIRFilter.IIR_FILTER_OFF, - "2X": IIRFilter.IIR_FILTER_2, - "4X": IIRFilter.IIR_FILTER_4, - "8X": IIRFilter.IIR_FILTER_8, - "16X": IIRFilter.IIR_FILTER_16, - "32X": IIRFilter.IIR_FILTER_32, - "64X": IIRFilter.IIR_FILTER_64, - "128X": IIRFilter.IIR_FILTER_128, -} - -BMP581Component = bmp581_ns.class_( - "BMP581Component", cg.PollingComponent, i2c.I2CDevice -) - - -def compute_measurement_conversion_time(config): - # - adds up sensor conversion time based on temperature and pressure oversampling rates given in datasheet - # - returns a rounded up time in ms - - # Page 12 of datasheet - PRESSURE_OVERSAMPLING_CONVERSION_TIMES = { - "NONE": 1.0, - "2X": 1.7, - "4X": 2.9, - "8X": 5.4, - "16X": 10.4, - "32X": 20.4, - "64X": 40.4, - "128X": 80.4, - } - - # Page 12 of datasheet - TEMPERATURE_OVERSAMPLING_CONVERSION_TIMES = { - "NONE": 1.0, - "2X": 1.1, - "4X": 1.5, - "8X": 2.1, - "16X": 3.3, - "32X": 5.8, - "64X": 10.8, - "128X": 20.8, - } - - pressure_conversion_time = ( - 0.0 # No conversion time necessary without a pressure sensor - ) - if pressure_config := config.get(CONF_PRESSURE): - pressure_conversion_time = PRESSURE_OVERSAMPLING_CONVERSION_TIMES[ - pressure_config.get(CONF_OVERSAMPLING) - ] - - temperature_conversion_time = ( - 1.0 # BMP581 always samples the temperature even if only reading pressure - ) - if temperature_config := config.get(CONF_TEMPERATURE): - temperature_conversion_time = TEMPERATURE_OVERSAMPLING_CONVERSION_TIMES[ - temperature_config.get(CONF_OVERSAMPLING) - ] - - # Datasheet indicates a 5% possible error in each conversion time listed - return math.ceil(1.05 * (pressure_conversion_time + temperature_conversion_time)) - - -CONFIG_SCHEMA = ( - cv.Schema( - { - cv.GenerateID(): cv.declare_id(BMP581Component), - cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema( - unit_of_measurement=UNIT_CELSIUS, - accuracy_decimals=1, - device_class=DEVICE_CLASS_TEMPERATURE, - state_class=STATE_CLASS_MEASUREMENT, - ).extend( - { - cv.Optional(CONF_OVERSAMPLING, default="NONE"): cv.enum( - OVERSAMPLING_OPTIONS, upper=True - ), - cv.Optional(CONF_IIR_FILTER, default="OFF"): cv.enum( - IIR_FILTER_OPTIONS, upper=True - ), - } - ), - cv.Optional(CONF_PRESSURE): sensor.sensor_schema( - unit_of_measurement=UNIT_PASCAL, - accuracy_decimals=0, - device_class=DEVICE_CLASS_ATMOSPHERIC_PRESSURE, - state_class=STATE_CLASS_MEASUREMENT, - ).extend( - { - cv.Optional(CONF_OVERSAMPLING, default="16X"): cv.enum( - OVERSAMPLING_OPTIONS, upper=True - ), - cv.Optional(CONF_IIR_FILTER, default="OFF"): cv.enum( - IIR_FILTER_OPTIONS, upper=True - ), - } - ), - } - ) - .extend(cv.polling_component_schema("60s")) - .extend(i2c.i2c_device_schema(0x46)) -) - - -async def to_code(config): - var = cg.new_Pvariable(config[CONF_ID]) - await cg.register_component(var, config) - await i2c.register_i2c_device(var, config) - if temperature_config := config.get(CONF_TEMPERATURE): - sens = await sensor.new_sensor(temperature_config) - cg.add(var.set_temperature_sensor(sens)) - cg.add( - var.set_temperature_oversampling_config( - temperature_config[CONF_OVERSAMPLING] - ) - ) - cg.add( - var.set_temperature_iir_filter_config(temperature_config[CONF_IIR_FILTER]) - ) - - if pressure_config := config.get(CONF_PRESSURE): - sens = await sensor.new_sensor(pressure_config) - cg.add(var.set_pressure_sensor(sens)) - cg.add(var.set_pressure_oversampling_config(pressure_config[CONF_OVERSAMPLING])) - cg.add(var.set_pressure_iir_filter_config(pressure_config[CONF_IIR_FILTER])) - - cg.add(var.set_conversion_time(compute_measurement_conversion_time(config))) diff --git a/esphome/components/bmp581_base/__init__.py b/esphome/components/bmp581_base/__init__.py new file mode 100644 index 0000000000..6a7cf45089 --- /dev/null +++ b/esphome/components/bmp581_base/__init__.py @@ -0,0 +1,157 @@ +import math + +import esphome.codegen as cg +from esphome.components import sensor +import esphome.config_validation as cv +from esphome.const import ( + CONF_ID, + CONF_IIR_FILTER, + CONF_OVERSAMPLING, + CONF_PRESSURE, + CONF_TEMPERATURE, + DEVICE_CLASS_ATMOSPHERIC_PRESSURE, + DEVICE_CLASS_TEMPERATURE, + STATE_CLASS_MEASUREMENT, + UNIT_CELSIUS, + UNIT_PASCAL, +) + +CODEOWNERS = ["@kahrendt", "@danielkent-net"] + +bmp581_ns = cg.esphome_ns.namespace("bmp581_base") + +Oversampling = bmp581_ns.enum("Oversampling") +OVERSAMPLING_OPTIONS = { + "NONE": Oversampling.OVERSAMPLING_NONE, + "2X": Oversampling.OVERSAMPLING_X2, + "4X": Oversampling.OVERSAMPLING_X4, + "8X": Oversampling.OVERSAMPLING_X8, + "16X": Oversampling.OVERSAMPLING_X16, + "32X": Oversampling.OVERSAMPLING_X32, + "64X": Oversampling.OVERSAMPLING_X64, + "128X": Oversampling.OVERSAMPLING_X128, +} + +IIRFilter = bmp581_ns.enum("IIRFilter") +IIR_FILTER_OPTIONS = { + "OFF": IIRFilter.IIR_FILTER_OFF, + "2X": IIRFilter.IIR_FILTER_2, + "4X": IIRFilter.IIR_FILTER_4, + "8X": IIRFilter.IIR_FILTER_8, + "16X": IIRFilter.IIR_FILTER_16, + "32X": IIRFilter.IIR_FILTER_32, + "64X": IIRFilter.IIR_FILTER_64, + "128X": IIRFilter.IIR_FILTER_128, +} + +BMP581Component = bmp581_ns.class_("BMP581Component", cg.PollingComponent) + + +def compute_measurement_conversion_time(config): + # - adds up sensor conversion time based on temperature and pressure oversampling rates given in datasheet + # - returns a rounded up time in ms + + # Page 12 of datasheet + PRESSURE_OVERSAMPLING_CONVERSION_TIMES = { + "NONE": 1.0, + "2X": 1.7, + "4X": 2.9, + "8X": 5.4, + "16X": 10.4, + "32X": 20.4, + "64X": 40.4, + "128X": 80.4, + } + + # Page 12 of datasheet + TEMPERATURE_OVERSAMPLING_CONVERSION_TIMES = { + "NONE": 1.0, + "2X": 1.1, + "4X": 1.5, + "8X": 2.1, + "16X": 3.3, + "32X": 5.8, + "64X": 10.8, + "128X": 20.8, + } + + pressure_conversion_time = ( + 0.0 # No conversion time necessary without a pressure sensor + ) + if pressure_config := config.get(CONF_PRESSURE): + pressure_conversion_time = PRESSURE_OVERSAMPLING_CONVERSION_TIMES[ + pressure_config.get(CONF_OVERSAMPLING) + ] + + temperature_conversion_time = ( + 1.0 # BMP581 always samples the temperature even if only reading pressure + ) + if temperature_config := config.get(CONF_TEMPERATURE): + temperature_conversion_time = TEMPERATURE_OVERSAMPLING_CONVERSION_TIMES[ + temperature_config.get(CONF_OVERSAMPLING) + ] + + # Datasheet indicates a 5% possible error in each conversion time listed + return math.ceil(1.05 * (pressure_conversion_time + temperature_conversion_time)) + + +CONFIG_SCHEMA_BASE = cv.Schema( + { + cv.GenerateID(): cv.declare_id(BMP581Component), + cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema( + unit_of_measurement=UNIT_CELSIUS, + accuracy_decimals=1, + device_class=DEVICE_CLASS_TEMPERATURE, + state_class=STATE_CLASS_MEASUREMENT, + ).extend( + { + cv.Optional(CONF_OVERSAMPLING, default="NONE"): cv.enum( + OVERSAMPLING_OPTIONS, upper=True + ), + cv.Optional(CONF_IIR_FILTER, default="OFF"): cv.enum( + IIR_FILTER_OPTIONS, upper=True + ), + } + ), + cv.Optional(CONF_PRESSURE): sensor.sensor_schema( + unit_of_measurement=UNIT_PASCAL, + accuracy_decimals=0, + device_class=DEVICE_CLASS_ATMOSPHERIC_PRESSURE, + state_class=STATE_CLASS_MEASUREMENT, + ).extend( + { + cv.Optional(CONF_OVERSAMPLING, default="16X"): cv.enum( + OVERSAMPLING_OPTIONS, upper=True + ), + cv.Optional(CONF_IIR_FILTER, default="OFF"): cv.enum( + IIR_FILTER_OPTIONS, upper=True + ), + } + ), + } +).extend(cv.polling_component_schema("60s")) + + +async def to_code_base(config): + var = cg.new_Pvariable(config[CONF_ID]) + await cg.register_component(var, config) + if temperature_config := config.get(CONF_TEMPERATURE): + sens = await sensor.new_sensor(temperature_config) + cg.add(var.set_temperature_sensor(sens)) + cg.add( + var.set_temperature_oversampling_config( + temperature_config[CONF_OVERSAMPLING] + ) + ) + cg.add( + var.set_temperature_iir_filter_config(temperature_config[CONF_IIR_FILTER]) + ) + + if pressure_config := config.get(CONF_PRESSURE): + sens = await sensor.new_sensor(pressure_config) + cg.add(var.set_pressure_sensor(sens)) + cg.add(var.set_pressure_oversampling_config(pressure_config[CONF_OVERSAMPLING])) + cg.add(var.set_pressure_iir_filter_config(pressure_config[CONF_IIR_FILTER])) + + cg.add(var.set_conversion_time(compute_measurement_conversion_time(config))) + return var diff --git a/esphome/components/bmp581/bmp581.cpp b/esphome/components/bmp581_base/bmp581_base.cpp similarity index 95% rename from esphome/components/bmp581/bmp581.cpp rename to esphome/components/bmp581_base/bmp581_base.cpp index 301fc31df0..67c6771862 100644 --- a/esphome/components/bmp581/bmp581.cpp +++ b/esphome/components/bmp581_base/bmp581_base.cpp @@ -10,12 +10,11 @@ * - All datasheet page references refer to Bosch Document Number BST-BMP581-DS004-04 (revision number 1.4) */ -#include "bmp581.h" +#include "bmp581_base.h" #include "esphome/core/log.h" #include "esphome/core/hal.h" -namespace esphome { -namespace bmp581 { +namespace esphome::bmp581_base { static const char *const TAG = "bmp581"; @@ -91,7 +90,6 @@ void BMP581Component::dump_config() { break; } - LOG_I2C_DEVICE(this); LOG_UPDATE_INTERVAL(this); ESP_LOGCONFIG(TAG, " Measurement conversion time: %ums", this->conversion_time_); @@ -149,7 +147,7 @@ void BMP581Component::setup() { uint8_t chip_id; // read chip id from sensor - if (!this->read_byte(BMP581_CHIP_ID, &chip_id)) { + if (!this->bmp_read_byte(BMP581_CHIP_ID, &chip_id)) { ESP_LOGE(TAG, "Read chip ID failed"); this->error_code_ = ERROR_COMMUNICATION_FAILED; @@ -172,7 +170,7 @@ void BMP581Component::setup() { // 3) Verify sensor status (check if NVM is okay) // //////////////////////////////////////////////////// - if (!this->read_byte(BMP581_STATUS, &this->status_.reg)) { + if (!this->bmp_read_byte(BMP581_STATUS, &this->status_.reg)) { ESP_LOGE(TAG, "Failed to read status register"); this->error_code_ = ERROR_COMMUNICATION_FAILED; @@ -359,7 +357,7 @@ bool BMP581Component::check_data_readiness_() { uint8_t status; - if (!this->read_byte(BMP581_INT_STATUS, &status)) { + if (!this->bmp_read_byte(BMP581_INT_STATUS, &status)) { ESP_LOGE(TAG, "Failed to read interrupt status register"); return false; } @@ -400,7 +398,7 @@ bool BMP581Component::prime_iir_filter_() { // flush the IIR filter with forced measurements (we will only flush once) this->dsp_config_.bit.iir_flush_forced_en = true; - if (!this->write_byte(BMP581_DSP, this->dsp_config_.reg)) { + if (!this->bmp_write_byte(BMP581_DSP, this->dsp_config_.reg)) { ESP_LOGE(TAG, "Failed to write IIR source register"); return false; @@ -430,7 +428,7 @@ bool BMP581Component::prime_iir_filter_() { // disable IIR filter flushings on future forced measurements this->dsp_config_.bit.iir_flush_forced_en = false; - if (!this->write_byte(BMP581_DSP, this->dsp_config_.reg)) { + if (!this->bmp_write_byte(BMP581_DSP, this->dsp_config_.reg)) { ESP_LOGE(TAG, "Failed to write IIR source register"); return false; @@ -454,7 +452,7 @@ bool BMP581Component::read_temperature_(float &temperature) { } uint8_t data[3]; - if (!this->read_bytes(BMP581_MEASUREMENT_DATA, &data[0], 3)) { + if (!this->bmp_read_bytes(BMP581_MEASUREMENT_DATA, &data[0], 3)) { ESP_LOGW(TAG, "Failed to read measurement"); this->status_set_warning(); @@ -483,7 +481,7 @@ bool BMP581Component::read_temperature_and_pressure_(float &temperature, float & } uint8_t data[6]; - if (!this->read_bytes(BMP581_MEASUREMENT_DATA, &data[0], 6)) { + if (!this->bmp_read_bytes(BMP581_MEASUREMENT_DATA, &data[0], 6)) { ESP_LOGW(TAG, "Failed to read measurement"); this->status_set_warning(); @@ -507,7 +505,7 @@ bool BMP581Component::reset_() { // - returns the Power-On-Reboot interrupt status, which is asserted if successful // writes reset command to BMP's command register - if (!this->write_byte(BMP581_COMMAND, RESET_COMMAND)) { + if (!this->bmp_write_byte(BMP581_COMMAND, RESET_COMMAND)) { ESP_LOGE(TAG, "Failed to write reset command"); return false; @@ -518,7 +516,7 @@ bool BMP581Component::reset_() { delay(3); // read interrupt status register - if (!this->read_byte(BMP581_INT_STATUS, &this->int_status_.reg)) { + if (!this->bmp_read_byte(BMP581_INT_STATUS, &this->int_status_.reg)) { ESP_LOGE(TAG, "Failed to read interrupt status register"); return false; @@ -562,7 +560,7 @@ bool BMP581Component::write_iir_settings_(IIRFilter temperature_iir, IIRFilter p // BMP581_DSP register and BMP581_DSP_IIR registers are successive // - allows us to write the IIR configuration with one command to both registers uint8_t register_data[2] = {this->dsp_config_.reg, this->iir_config_.reg}; - return this->write_bytes(BMP581_DSP, register_data, sizeof(register_data)); + return this->bmp_write_bytes(BMP581_DSP, register_data, sizeof(register_data)); } bool BMP581Component::write_interrupt_source_settings_(bool data_ready_enable) { @@ -572,7 +570,7 @@ bool BMP581Component::write_interrupt_source_settings_(bool data_ready_enable) { this->int_source_.bit.drdy_data_reg_en = data_ready_enable; // write interrupt source register - return this->write_byte(BMP581_INT_SOURCE, this->int_source_.reg); + return this->bmp_write_byte(BMP581_INT_SOURCE, this->int_source_.reg); } bool BMP581Component::write_oversampling_settings_(Oversampling temperature_oversampling, @@ -583,7 +581,7 @@ bool BMP581Component::write_oversampling_settings_(Oversampling temperature_over this->osr_config_.bit.osr_t = temperature_oversampling; this->osr_config_.bit.osr_p = pressure_oversampling; - return this->write_byte(BMP581_OSR, this->osr_config_.reg); + return this->bmp_write_byte(BMP581_OSR, this->osr_config_.reg); } bool BMP581Component::write_power_mode_(OperationMode mode) { @@ -593,8 +591,7 @@ bool BMP581Component::write_power_mode_(OperationMode mode) { this->odr_config_.bit.pwr_mode = mode; // write odr register - return this->write_byte(BMP581_ODR, this->odr_config_.reg); + return this->bmp_write_byte(BMP581_ODR, this->odr_config_.reg); } -} // namespace bmp581 -} // namespace esphome +} // namespace esphome::bmp581_base diff --git a/esphome/components/bmp581/bmp581.h b/esphome/components/bmp581_base/bmp581_base.h similarity index 95% rename from esphome/components/bmp581/bmp581.h rename to esphome/components/bmp581_base/bmp581_base.h index 1d7e932fa1..d99c420272 100644 --- a/esphome/components/bmp581/bmp581.h +++ b/esphome/components/bmp581_base/bmp581_base.h @@ -3,11 +3,9 @@ #pragma once #include "esphome/core/component.h" -#include "esphome/components/i2c/i2c.h" #include "esphome/components/sensor/sensor.h" -namespace esphome { -namespace bmp581 { +namespace esphome::bmp581_base { static const uint8_t BMP581_ASIC_ID = 0x50; // BMP581's ASIC chip ID (page 51 of datasheet) static const uint8_t RESET_COMMAND = 0xB6; // Soft reset command @@ -59,7 +57,7 @@ enum IIRFilter { IIR_FILTER_128 = 0x7 }; -class BMP581Component : public PollingComponent, public i2c::I2CDevice { +class BMP581Component : public PollingComponent { public: void dump_config() override; @@ -84,6 +82,11 @@ class BMP581Component : public PollingComponent, public i2c::I2CDevice { void set_conversion_time(uint8_t conversion_time) { this->conversion_time_ = conversion_time; } protected: + virtual bool bmp_read_byte(uint8_t a_register, uint8_t *data) = 0; + virtual bool bmp_write_byte(uint8_t a_register, uint8_t data) = 0; + virtual bool bmp_read_bytes(uint8_t a_register, uint8_t *data, size_t len) = 0; + virtual bool bmp_write_bytes(uint8_t a_register, uint8_t *data, size_t len) = 0; + sensor::Sensor *temperature_sensor_{nullptr}; sensor::Sensor *pressure_sensor_{nullptr}; @@ -216,5 +219,4 @@ class BMP581Component : public PollingComponent, public i2c::I2CDevice { } odr_config_ = {.reg = 0}; }; -} // namespace bmp581 -} // namespace esphome +} // namespace esphome::bmp581_base diff --git a/esphome/components/bmp581_i2c/__init__.py b/esphome/components/bmp581_i2c/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/esphome/components/bmp581_i2c/bmp581_i2c.cpp b/esphome/components/bmp581_i2c/bmp581_i2c.cpp new file mode 100644 index 0000000000..8df4610e0b --- /dev/null +++ b/esphome/components/bmp581_i2c/bmp581_i2c.cpp @@ -0,0 +1,12 @@ +#include "bmp581_i2c.h" +#include "esphome/core/hal.h" +#include "esphome/core/log.h" + +namespace esphome::bmp581_i2c { + +void BMP581I2CComponent::dump_config() { + LOG_I2C_DEVICE(this); + BMP581Component::dump_config(); +} + +} // namespace esphome::bmp581_i2c diff --git a/esphome/components/bmp581_i2c/bmp581_i2c.h b/esphome/components/bmp581_i2c/bmp581_i2c.h new file mode 100644 index 0000000000..a4e43daf64 --- /dev/null +++ b/esphome/components/bmp581_i2c/bmp581_i2c.h @@ -0,0 +1,24 @@ +#pragma once + +#include "esphome/components/bmp581_base/bmp581_base.h" +#include "esphome/components/i2c/i2c.h" + +namespace esphome::bmp581_i2c { + +static const char *const TAG = "bmp581_i2c.sensor"; + +/// This class implements support for the BMP581 Temperature+Pressure i2c sensor. +class BMP581I2CComponent : public esphome::bmp581_base::BMP581Component, public i2c::I2CDevice { + public: + bool bmp_read_byte(uint8_t a_register, uint8_t *data) override { return read_byte(a_register, data); } + bool bmp_write_byte(uint8_t a_register, uint8_t data) override { return write_byte(a_register, data); } + bool bmp_read_bytes(uint8_t a_register, uint8_t *data, size_t len) override { + return read_bytes(a_register, data, len); + } + bool bmp_write_bytes(uint8_t a_register, uint8_t *data, size_t len) override { + return write_bytes(a_register, data, len); + } + void dump_config() override; +}; + +} // namespace esphome::bmp581_i2c diff --git a/esphome/components/bmp581_i2c/sensor.py b/esphome/components/bmp581_i2c/sensor.py new file mode 100644 index 0000000000..42645022a6 --- /dev/null +++ b/esphome/components/bmp581_i2c/sensor.py @@ -0,0 +1,23 @@ +import esphome.codegen as cg +from esphome.components import i2c +import esphome.config_validation as cv + +from ..bmp581_base import CONFIG_SCHEMA_BASE, to_code_base + +AUTO_LOAD = ["bmp581_base"] +CODEOWNERS = ["@kahrendt", "@danielkent-net"] +DEPENDENCIES = ["i2c"] + +bmp581_ns = cg.esphome_ns.namespace("bmp581_i2c") +BMP581I2CComponent = bmp581_ns.class_( + "BMP581I2CComponent", cg.PollingComponent, i2c.I2CDevice +) + +CONFIG_SCHEMA = CONFIG_SCHEMA_BASE.extend( + i2c.i2c_device_schema(default_address=0x46) +).extend({cv.GenerateID(): cv.declare_id(BMP581I2CComponent)}) + + +async def to_code(config): + var = await to_code_base(config) + await i2c.register_i2c_device(var, config) diff --git a/esphome/components/bthome_mithermometer/__init__.py b/esphome/components/bthome_mithermometer/__init__.py index 0e84278afa..8ce216da22 100644 --- a/esphome/components/bthome_mithermometer/__init__.py +++ b/esphome/components/bthome_mithermometer/__init__.py @@ -1,7 +1,8 @@ import esphome.codegen as cg from esphome.components import esp32_ble_tracker import esphome.config_validation as cv -from esphome.const import CONF_ID, CONF_MAC_ADDRESS +from esphome.const import CONF_BINDKEY, CONF_ID, CONF_MAC_ADDRESS +from esphome.core import HexInt CODEOWNERS = ["@nagyrobi"] DEPENDENCIES = ["esp32_ble_tracker"] @@ -22,6 +23,7 @@ def bthome_mithermometer_base_schema(extra_schema=None): { cv.GenerateID(CONF_ID): cv.declare_id(BTHomeMiThermometer), cv.Required(CONF_MAC_ADDRESS): cv.mac_address, + cv.Optional(CONF_BINDKEY): cv.bind_key, } ) .extend(BLE_DEVICE_SCHEMA) @@ -34,3 +36,9 @@ async def setup_bthome_mithermometer(var, config): await cg.register_component(var, config) await esp32_ble_tracker.register_ble_device(var, config) cg.add(var.set_address(config[CONF_MAC_ADDRESS].as_hex)) + if bindkey := config.get(CONF_BINDKEY): + bindkey_bytes = [ + HexInt(int(bindkey[index : index + 2], 16)) + for index in range(0, len(bindkey), 2) + ] + cg.add(var.set_bindkey(cg.ArrayInitializer(*bindkey_bytes))) diff --git a/esphome/components/bthome_mithermometer/bthome_ble.cpp b/esphome/components/bthome_mithermometer/bthome_ble.cpp index d1c5165896..2b73d8735c 100644 --- a/esphome/components/bthome_mithermometer/bthome_ble.cpp +++ b/esphome/components/bthome_mithermometer/bthome_ble.cpp @@ -3,15 +3,23 @@ #include "esphome/core/helpers.h" #include "esphome/core/log.h" +#include #include +#include #include #ifdef USE_ESP32 +#include "mbedtls/ccm.h" + namespace esphome { namespace bthome_mithermometer { static const char *const TAG = "bthome_mithermometer"; +static constexpr size_t BTHOME_BINDKEY_SIZE = 16; +static constexpr size_t BTHOME_NONCE_SIZE = 13; +static constexpr size_t BTHOME_MIC_SIZE = 4; +static constexpr size_t BTHOME_COUNTER_SIZE = 4; static const char *format_mac_address(std::span buffer, uint64_t address) { std::array mac{}; @@ -130,6 +138,10 @@ void BTHomeMiThermometer::dump_config() { char addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; ESP_LOGCONFIG(TAG, "BTHome MiThermometer"); ESP_LOGCONFIG(TAG, " MAC Address: %s", format_mac_address(addr_buf, this->address_)); + if (this->has_bindkey_) { + char bindkey_hex[format_hex_pretty_size(BTHOME_BINDKEY_SIZE)]; + ESP_LOGCONFIG(TAG, " Bindkey: %s", format_hex_pretty_to(bindkey_hex, this->bindkey_, BTHOME_BINDKEY_SIZE, '.')); + } LOG_SENSOR(" ", "Temperature", this->temperature_); LOG_SENSOR(" ", "Humidity", this->humidity_); LOG_SENSOR(" ", "Battery Level", this->battery_level_); @@ -150,6 +162,60 @@ bool BTHomeMiThermometer::parse_device(const esp32_ble_tracker::ESPBTDevice &dev return matched; } +void BTHomeMiThermometer::set_bindkey(std::initializer_list bindkey) { + if (bindkey.size() != sizeof(this->bindkey_)) { + ESP_LOGW(TAG, "BTHome bindkey size mismatch: %zu", bindkey.size()); + return; + } + std::copy(bindkey.begin(), bindkey.end(), this->bindkey_); + this->has_bindkey_ = true; +} + +bool BTHomeMiThermometer::decrypt_bthome_payload_(const std::vector &data, uint64_t source_address, + std::vector &payload) const { + if (data.size() <= 1 + BTHOME_COUNTER_SIZE + BTHOME_MIC_SIZE) { + ESP_LOGVV(TAG, "Encrypted BTHome payload too short: %zu", data.size()); + return false; + } + + const size_t ciphertext_size = data.size() - 1 - BTHOME_COUNTER_SIZE - BTHOME_MIC_SIZE; + payload.resize(ciphertext_size); + + std::array mac{}; + for (size_t i = 0; i < MAC_ADDRESS_SIZE; i++) { + mac[i] = (source_address >> ((MAC_ADDRESS_SIZE - 1 - i) * 8)) & 0xFF; + } + + std::array nonce{}; + memcpy(nonce.data(), mac.data(), mac.size()); + nonce[6] = 0xD2; + nonce[7] = 0xFC; + nonce[8] = data[0]; + memcpy(nonce.data() + 9, &data[data.size() - BTHOME_COUNTER_SIZE - BTHOME_MIC_SIZE], BTHOME_COUNTER_SIZE); + + const uint8_t *ciphertext = data.data() + 1; + const uint8_t *mic = data.data() + data.size() - BTHOME_MIC_SIZE; + + mbedtls_ccm_context ctx; + mbedtls_ccm_init(&ctx); + + int ret = mbedtls_ccm_setkey(&ctx, MBEDTLS_CIPHER_ID_AES, this->bindkey_, BTHOME_BINDKEY_SIZE * 8); + if (ret) { + ESP_LOGVV(TAG, "mbedtls_ccm_setkey() failed."); + mbedtls_ccm_free(&ctx); + return false; + } + + ret = mbedtls_ccm_auth_decrypt(&ctx, ciphertext_size, nonce.data(), nonce.size(), nullptr, 0, ciphertext, + payload.data(), mic, BTHOME_MIC_SIZE); + mbedtls_ccm_free(&ctx); + if (ret) { + ESP_LOGVV(TAG, "BTHome decryption failed (ret=%d).", ret); + return false; + } + return true; +} + bool BTHomeMiThermometer::handle_service_data_(const esp32_ble_tracker::ServiceData &service_data, const esp32_ble_tracker::ESPBTDevice &device) { if (!service_data.uuid.contains(0xD2, 0xFC)) { @@ -173,51 +239,88 @@ bool BTHomeMiThermometer::handle_service_data_(const esp32_ble_tracker::ServiceD return false; } - char addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; - if (is_encrypted) { - ESP_LOGV(TAG, "Ignoring encrypted BTHome frame from %s", device.address_str_to(addr_buf)); + uint64_t source_address = device.address_uint64(); + bool address_matches = source_address == this->address_; + if (!is_encrypted && mac_included && data.size() >= 7) { + uint64_t advertised_address = 0; + for (int i = 5; i >= 0; i--) { + advertised_address = (advertised_address << 8) | data[1 + i]; + } + address_matches = address_matches || advertised_address == this->address_; + } + + if (is_encrypted && !this->has_bindkey_) { + if (address_matches) { + char addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + ESP_LOGE(TAG, "Encrypted BTHome frame received but no bindkey configured for %s", + device.address_str_to(addr_buf)); + } return false; } - size_t payload_index = 1; - uint64_t source_address = device.address_uint64(); + if (!is_encrypted && this->has_bindkey_) { + if (address_matches) { + char addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + ESP_LOGE(TAG, "Unencrypted BTHome frame received with bindkey configured for %s", + device.address_str_to(addr_buf)); + } + return false; + } + std::vector decrypted_payload; + const uint8_t *payload = nullptr; + size_t payload_size = 0; + + if (is_encrypted) { + if (!this->decrypt_bthome_payload_(data, source_address, decrypted_payload)) { + char addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + ESP_LOGVV(TAG, "Failed to decrypt BTHome frame from %s", device.address_str_to(addr_buf)); + return false; + } + payload = decrypted_payload.data(); + payload_size = decrypted_payload.size(); + } else { + payload = data.data() + 1; + payload_size = data.size() - 1; + } if (mac_included) { - if (data.size() < 7) { + if (payload_size < 6) { ESP_LOGVV(TAG, "BTHome payload missing MAC address"); return false; } source_address = 0; for (int i = 5; i >= 0; i--) { - source_address = (source_address << 8) | data[1 + i]; + source_address = (source_address << 8) | payload[i]; } - payload_index = 7; + payload += 6; + payload_size -= 6; } + char addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; if (source_address != this->address_) { ESP_LOGVV(TAG, "BTHome frame from unexpected device %s", format_mac_address(addr_buf, source_address)); return false; } - if (payload_index >= data.size()) { + if (payload_size == 0) { ESP_LOGVV(TAG, "BTHome payload empty after header"); return false; } bool reported = false; - size_t offset = payload_index; + size_t offset = 0; uint8_t last_type = 0; - while (offset < data.size()) { - const uint8_t obj_type = data[offset++]; + while (offset < payload_size) { + const uint8_t obj_type = payload[offset++]; size_t value_length = 0; bool has_length_byte = obj_type == 0x53; // text objects include explicit length if (has_length_byte) { - if (offset >= data.size()) { + if (offset >= payload_size) { break; } - value_length = data[offset++]; + value_length = payload[offset++]; } else { if (!get_bthome_value_length(obj_type, value_length)) { ESP_LOGVV(TAG, "Unknown BTHome object 0x%02X", obj_type); @@ -229,12 +332,12 @@ bool BTHomeMiThermometer::handle_service_data_(const esp32_ble_tracker::ServiceD break; } - if (offset + value_length > data.size()) { + if (offset + value_length > payload_size) { ESP_LOGVV(TAG, "BTHome object length exceeds payload"); break; } - const uint8_t *value = &data[offset]; + const uint8_t *value = &payload[offset]; offset += value_length; if (obj_type < last_type) { diff --git a/esphome/components/bthome_mithermometer/bthome_ble.h b/esphome/components/bthome_mithermometer/bthome_ble.h index 3d2380b48d..ef3038ec93 100644 --- a/esphome/components/bthome_mithermometer/bthome_ble.h +++ b/esphome/components/bthome_mithermometer/bthome_ble.h @@ -5,6 +5,8 @@ #include "esphome/core/component.h" #include +#include +#include #ifdef USE_ESP32 @@ -14,6 +16,7 @@ namespace bthome_mithermometer { class BTHomeMiThermometer : public esp32_ble_tracker::ESPBTDeviceListener, public Component { public: void set_address(uint64_t address) { this->address_ = address; } + void set_bindkey(std::initializer_list bindkey); void set_temperature(sensor::Sensor *temperature) { this->temperature_ = temperature; } void set_humidity(sensor::Sensor *humidity) { this->humidity_ = humidity; } @@ -27,9 +30,13 @@ class BTHomeMiThermometer : public esp32_ble_tracker::ESPBTDeviceListener, publi protected: bool handle_service_data_(const esp32_ble_tracker::ServiceData &service_data, const esp32_ble_tracker::ESPBTDevice &device); + bool decrypt_bthome_payload_(const std::vector &data, uint64_t source_address, + std::vector &payload) const; uint64_t address_{0}; optional last_packet_id_{}; + bool has_bindkey_{false}; + uint8_t bindkey_[16]; sensor::Sensor *temperature_{nullptr}; sensor::Sensor *humidity_{nullptr}; diff --git a/esphome/components/button/button.cpp b/esphome/components/button/button.cpp index 87a222776e..8c06cfe59b 100644 --- a/esphome/components/button/button.cpp +++ b/esphome/components/button/button.cpp @@ -12,10 +12,7 @@ void log_button(const char *tag, const char *prefix, const char *type, Button *o } ESP_LOGCONFIG(tag, "%s%s '%s'", prefix, type, obj->get_name().c_str()); - - if (!obj->get_icon_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Icon: '%s'", prefix, obj->get_icon_ref().c_str()); - } + LOG_ENTITY_ICON(tag, prefix, *obj); } void Button::press() { diff --git a/esphome/components/captive_portal/captive_portal.cpp b/esphome/components/captive_portal/captive_portal.cpp index bf65ae67c0..8d88a10b27 100644 --- a/esphome/components/captive_portal/captive_portal.cpp +++ b/esphome/components/captive_portal/captive_portal.cpp @@ -96,10 +96,16 @@ void CaptivePortal::start() { } void CaptivePortal::handleRequest(AsyncWebServerRequest *req) { - if (req->url() == ESPHOME_F("/config.json")) { +#ifdef USE_ESP32 + char url_buf[AsyncWebServerRequest::URL_BUF_SIZE]; + StringRef url = req->url_to(url_buf); +#else + const auto &url = req->url(); +#endif + if (url == ESPHOME_F("/config.json")) { this->handle_config(req); return; - } else if (req->url() == ESPHOME_F("/wifisave")) { + } else if (url == ESPHOME_F("/wifisave")) { this->handle_wifisave(req); return; } diff --git a/esphome/components/cc1101/cc1101.cpp b/esphome/components/cc1101/cc1101.cpp index c4507a54e5..46cd89e0e8 100644 --- a/esphome/components/cc1101/cc1101.cpp +++ b/esphome/components/cc1101/cc1101.cpp @@ -152,6 +152,13 @@ void CC1101Component::setup() { } } +void CC1101Component::call_listeners_(const std::vector &packet, float freq_offset, float rssi, uint8_t lqi) { + for (auto &listener : this->listeners_) { + listener->on_packet(packet, freq_offset, rssi, lqi); + } + this->packet_trigger_->trigger(packet, freq_offset, rssi, lqi); +} + void CC1101Component::loop() { if (this->state_.PKT_FORMAT != static_cast(PacketFormat::PACKET_FORMAT_FIFO) || this->gdo0_pin_ == nullptr || !this->gdo0_pin_->digital_read()) { @@ -198,7 +205,7 @@ void CC1101Component::loop() { bool crc_ok = (this->state_.LQI & STATUS_CRC_OK_MASK) != 0; uint8_t lqi = this->state_.LQI & STATUS_LQI_MASK; if (this->state_.CRC_EN == 0 || crc_ok) { - this->packet_trigger_->trigger(this->packet_, freq_offset, rssi, lqi); + this->call_listeners_(this->packet_, freq_offset, rssi, lqi); } // Return to rx diff --git a/esphome/components/cc1101/cc1101.h b/esphome/components/cc1101/cc1101.h index 43ae5b3612..6e3f01af90 100644 --- a/esphome/components/cc1101/cc1101.h +++ b/esphome/components/cc1101/cc1101.h @@ -11,6 +11,11 @@ namespace esphome::cc1101 { enum class CC1101Error { NONE = 0, TIMEOUT, PARAMS, CRC_ERROR, FIFO_OVERFLOW, PLL_LOCK }; +class CC1101Listener { + public: + virtual void on_packet(const std::vector &packet, float freq_offset, float rssi, uint8_t lqi) = 0; +}; + class CC1101Component : public Component, public spi::SPIDevice { @@ -73,6 +78,7 @@ class CC1101Component : public Component, // Packet mode operations CC1101Error transmit_packet(const std::vector &packet); + void register_listener(CC1101Listener *listener) { this->listeners_.push_back(listener); } Trigger, float, float, uint8_t> *get_packet_trigger() const { return this->packet_trigger_; } protected: @@ -89,9 +95,11 @@ class CC1101Component : public Component, InternalGPIOPin *gdo0_pin_{nullptr}; // Packet handling + void call_listeners_(const std::vector &packet, float freq_offset, float rssi, uint8_t lqi); Trigger, float, float, uint8_t> *packet_trigger_{ new Trigger, float, float, uint8_t>()}; std::vector packet_; + std::vector listeners_; // Low-level Helpers uint8_t strobe_(Command cmd); diff --git a/esphome/components/ccs811/ccs811.cpp b/esphome/components/ccs811/ccs811.cpp index 84355f2793..9ff01b32b2 100644 --- a/esphome/components/ccs811/ccs811.cpp +++ b/esphome/components/ccs811/ccs811.cpp @@ -81,8 +81,8 @@ void CCS811Component::setup() { bootloader_version, application_version); if (this->version_ != nullptr) { char version[20]; // "15.15.15 (0xffff)" is 17 chars, plus NUL, plus wiggle room - sprintf(version, "%d.%d.%d (0x%02x)", (application_version >> 12 & 15), (application_version >> 8 & 15), - (application_version >> 4 & 15), application_version); + buf_append_printf(version, sizeof(version), 0, "%d.%d.%d (0x%02x)", (application_version >> 12 & 15), + (application_version >> 8 & 15), (application_version >> 4 & 15), application_version); ESP_LOGD(TAG, "publishing version state: %s", version); this->version_->publish_state(version); } diff --git a/esphome/components/ch422g/ch422g.cpp b/esphome/components/ch422g/ch422g.cpp index d031c31294..eef95b9ba2 100644 --- a/esphome/components/ch422g/ch422g.cpp +++ b/esphome/components/ch422g/ch422g.cpp @@ -133,7 +133,7 @@ bool CH422GGPIOPin::digital_read() { return this->parent_->digital_read(this->pi void CH422GGPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value ^ this->inverted_); } size_t CH422GGPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "EXIO%u via CH422G", this->pin_); + return buf_append_printf(buffer, len, 0, "EXIO%u via CH422G", this->pin_); } void CH422GGPIOPin::set_flags(gpio::Flags flags) { flags_ = flags; diff --git a/esphome/components/climate/climate.cpp b/esphome/components/climate/climate.cpp index 816bd5dfcb..ba6de4ff61 100644 --- a/esphome/components/climate/climate.cpp +++ b/esphome/components/climate/climate.cpp @@ -360,8 +360,7 @@ void Climate::add_on_control_callback(std::function &&callb static const uint32_t RESTORE_STATE_VERSION = 0x848EA6ADUL; optional Climate::restore_state_() { - this->rtc_ = global_preferences->make_preference(this->get_preference_hash() ^ - RESTORE_STATE_VERSION); + this->rtc_ = this->make_entity_preference(RESTORE_STATE_VERSION); ClimateDeviceRestoreState recovered{}; if (!this->rtc_.load(&recovered)) return {}; diff --git a/esphome/components/cover/cover.cpp b/esphome/components/cover/cover.cpp index 97b8c2213e..0d9e7e8ffb 100644 --- a/esphome/components/cover/cover.cpp +++ b/esphome/components/cover/cover.cpp @@ -1,11 +1,11 @@ #include "cover.h" #include "esphome/core/defines.h" #include "esphome/core/controller_registry.h" +#include "esphome/core/log.h" +#include "esphome/core/progmem.h" #include -#include "esphome/core/log.h" - namespace esphome::cover { static const char *const TAG = "cover"; @@ -39,13 +39,13 @@ Cover::Cover() : position{COVER_OPEN} {} CoverCall::CoverCall(Cover *parent) : parent_(parent) {} CoverCall &CoverCall::set_command(const char *command) { - if (strcasecmp(command, "OPEN") == 0) { + if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR("OPEN")) == 0) { this->set_command_open(); - } else if (strcasecmp(command, "CLOSE") == 0) { + } else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR("CLOSE")) == 0) { this->set_command_close(); - } else if (strcasecmp(command, "STOP") == 0) { + } else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR("STOP")) == 0) { this->set_command_stop(); - } else if (strcasecmp(command, "TOGGLE") == 0) { + } else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR("TOGGLE")) == 0) { this->set_command_toggle(); } else { ESP_LOGW(TAG, "'%s' - Unrecognized command %s", this->parent_->get_name().c_str(), command); @@ -187,7 +187,7 @@ void Cover::publish_state(bool save) { } } optional Cover::restore_state_() { - this->rtc_ = global_preferences->make_preference(this->get_preference_hash()); + this->rtc_ = this->make_entity_preference(); CoverRestoreState recovered{}; if (!this->rtc_.load(&recovered)) return {}; diff --git a/esphome/components/cover/cover.h b/esphome/components/cover/cover.h index e710915a0e..e5427ceaa8 100644 --- a/esphome/components/cover/cover.h +++ b/esphome/components/cover/cover.h @@ -20,9 +20,7 @@ const extern float COVER_CLOSED; if (traits_.get_is_assumed_state()) { \ ESP_LOGCONFIG(TAG, "%s Assumed State: YES", prefix); \ } \ - if (!(obj)->get_device_class_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Device Class: '%s'", prefix, (obj)->get_device_class_ref().c_str()); \ - } \ + LOG_ENTITY_DEVICE_CLASS(TAG, prefix, *(obj)); \ } class Cover; diff --git a/esphome/components/cs5460a/cs5460a.h b/esphome/components/cs5460a/cs5460a.h index 11b13f5851..99c3017510 100644 --- a/esphome/components/cs5460a/cs5460a.h +++ b/esphome/components/cs5460a/cs5460a.h @@ -76,7 +76,6 @@ class CS5460AComponent : public Component, void restart() { restart_(); } void setup() override; - void loop() override {} void dump_config() override; protected: diff --git a/esphome/components/cse7766/cse7766.cpp b/esphome/components/cse7766/cse7766.cpp index 71fe15f0ae..4432195365 100644 --- a/esphome/components/cse7766/cse7766.cpp +++ b/esphome/components/cse7766/cse7766.cpp @@ -207,20 +207,24 @@ void CSE7766Component::parse_data_() { #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE { - std::string buf = "Parsed:"; + // Buffer: 7 + 15 + 33 + 15 + 25 = 95 chars max + null, rounded to 128 for safety margin. + // Float sizes with %.4f can be up to 11 chars for large values (e.g., 999999.9999). + char buf[128]; + size_t pos = buf_append_printf(buf, sizeof(buf), 0, "Parsed:"); if (have_voltage) { - buf += str_sprintf(" V=%fV", voltage); + pos = buf_append_printf(buf, sizeof(buf), pos, " V=%.4fV", voltage); } if (have_current) { - buf += str_sprintf(" I=%fmA (~%fmA)", current * 1000.0f, calculated_current * 1000.0f); + pos = buf_append_printf(buf, sizeof(buf), pos, " I=%.4fmA (~%.4fmA)", current * 1000.0f, + calculated_current * 1000.0f); } if (have_power) { - buf += str_sprintf(" P=%fW", power); + pos = buf_append_printf(buf, sizeof(buf), pos, " P=%.4fW", power); } if (energy != 0.0f) { - buf += str_sprintf(" E=%fkWh (%u)", energy, cf_pulses); + buf_append_printf(buf, sizeof(buf), pos, " E=%.4fkWh (%u)", energy, cf_pulses); } - ESP_LOGVV(TAG, "%s", buf.c_str()); + ESP_LOGVV(TAG, "%s", buf); } #endif } diff --git a/esphome/components/daikin_arc/daikin_arc.cpp b/esphome/components/daikin_arc/daikin_arc.cpp index f05342f482..4726310806 100644 --- a/esphome/components/daikin_arc/daikin_arc.cpp +++ b/esphome/components/daikin_arc/daikin_arc.cpp @@ -258,8 +258,9 @@ bool DaikinArcClimate::parse_state_frame_(const uint8_t frame[]) { } char buf[DAIKIN_STATE_FRAME_SIZE * 3 + 1] = {0}; + size_t pos = 0; for (size_t i = 0; i < DAIKIN_STATE_FRAME_SIZE; i++) { - sprintf(buf, "%s%02x ", buf, frame[i]); + pos = buf_append_printf(buf, sizeof(buf), pos, "%02x ", frame[i]); } ESP_LOGD(TAG, "FRAME %s", buf); @@ -349,8 +350,9 @@ bool DaikinArcClimate::on_receive(remote_base::RemoteReceiveData data) { if (data.expect_item(DAIKIN_HEADER_MARK, DAIKIN_HEADER_SPACE)) { valid_daikin_frame = true; size_t bytes_count = data.size() / 2 / 8; - std::unique_ptr buf(new char[bytes_count * 3 + 1]); - buf[0] = '\0'; + size_t buf_size = bytes_count * 3 + 1; + std::unique_ptr buf(new char[buf_size]()); // value-initialize (zero-fill) + size_t buf_pos = 0; for (size_t i = 0; i < bytes_count; i++) { uint8_t byte = 0; for (int8_t bit = 0; bit < 8; bit++) { @@ -361,19 +363,19 @@ bool DaikinArcClimate::on_receive(remote_base::RemoteReceiveData data) { break; } } - sprintf(buf.get(), "%s%02x ", buf.get(), byte); + buf_pos = buf_append_printf(buf.get(), buf_size, buf_pos, "%02x ", byte); } ESP_LOGD(TAG, "WHOLE FRAME %s size: %d", buf.get(), data.size()); } if (!valid_daikin_frame) { - char sbuf[16 * 10 + 1]; - sbuf[0] = '\0'; + char sbuf[16 * 10 + 1] = {0}; + size_t sbuf_pos = 0; for (size_t j = 0; j < static_cast(data.size()); j++) { if ((j - 2) % 16 == 0) { if (j > 0) { ESP_LOGD(TAG, "DATA %04x: %s", (j - 16 > 0xffff ? 0 : j - 16), sbuf); } - sbuf[0] = '\0'; + sbuf_pos = 0; } char type_ch = ' '; // debug_tolerance = 25% @@ -401,9 +403,10 @@ bool DaikinArcClimate::on_receive(remote_base::RemoteReceiveData data) { type_ch = '0'; if (abs(data[j]) > 100000) { - sprintf(sbuf, "%s%-5d[%c] ", sbuf, data[j] > 0 ? 99999 : -99999, type_ch); + sbuf_pos = buf_append_printf(sbuf, sizeof(sbuf), sbuf_pos, "%-5d[%c] ", data[j] > 0 ? 99999 : -99999, type_ch); } else { - sprintf(sbuf, "%s%-5d[%c] ", sbuf, (int) (round(data[j] / 10.) * 10), type_ch); + sbuf_pos = + buf_append_printf(sbuf, sizeof(sbuf), sbuf_pos, "%-5d[%c] ", (int) (round(data[j] / 10.) * 10), type_ch); } if (j + 1 == static_cast(data.size())) { ESP_LOGD(TAG, "DATA %04x: %s", (j - 8 > 0xffff ? 0 : j - 8), sbuf); diff --git a/esphome/components/datetime/date_entity.cpp b/esphome/components/datetime/date_entity.cpp index c5ea051914..3ba488c0aa 100644 --- a/esphome/components/datetime/date_entity.cpp +++ b/esphome/components/datetime/date_entity.cpp @@ -106,9 +106,9 @@ DateCall &DateCall::set_date(uint16_t year, uint8_t month, uint8_t day) { DateCall &DateCall::set_date(ESPTime time) { return this->set_date(time.year, time.month, time.day_of_month); }; -DateCall &DateCall::set_date(const std::string &date) { +DateCall &DateCall::set_date(const char *date, size_t len) { ESPTime val{}; - if (!ESPTime::strptime(date, val)) { + if (!ESPTime::strptime(date, len, val)) { ESP_LOGE(TAG, "Could not convert the date string to an ESPTime object"); return *this; } diff --git a/esphome/components/datetime/date_entity.h b/esphome/components/datetime/date_entity.h index 069116d162..cbf2b85506 100644 --- a/esphome/components/datetime/date_entity.h +++ b/esphome/components/datetime/date_entity.h @@ -15,9 +15,7 @@ namespace esphome::datetime { #define LOG_DATETIME_DATE(prefix, type, obj) \ if ((obj) != nullptr) { \ ESP_LOGCONFIG(TAG, "%s%s '%s'", prefix, LOG_STR_LITERAL(type), (obj)->get_name().c_str()); \ - if (!(obj)->get_icon_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Icon: '%s'", prefix, (obj)->get_icon_ref().c_str()); \ - } \ + LOG_ENTITY_ICON(TAG, prefix, *(obj)); \ } class DateCall; @@ -67,7 +65,9 @@ class DateCall { void perform(); DateCall &set_date(uint16_t year, uint8_t month, uint8_t day); DateCall &set_date(ESPTime time); - DateCall &set_date(const std::string &date); + DateCall &set_date(const char *date, size_t len); + DateCall &set_date(const char *date) { return this->set_date(date, strlen(date)); } + DateCall &set_date(const std::string &date) { return this->set_date(date.c_str(), date.size()); } DateCall &set_year(uint16_t year) { this->year_ = year; diff --git a/esphome/components/datetime/datetime_entity.cpp b/esphome/components/datetime/datetime_entity.cpp index fd3901fcfc..730abb3ca8 100644 --- a/esphome/components/datetime/datetime_entity.cpp +++ b/esphome/components/datetime/datetime_entity.cpp @@ -163,9 +163,9 @@ DateTimeCall &DateTimeCall::set_datetime(ESPTime datetime) { datetime.second); }; -DateTimeCall &DateTimeCall::set_datetime(const std::string &datetime) { +DateTimeCall &DateTimeCall::set_datetime(const char *datetime, size_t len) { ESPTime val{}; - if (!ESPTime::strptime(datetime, val)) { + if (!ESPTime::strptime(datetime, len, val)) { ESP_LOGE(TAG, "Could not convert the time string to an ESPTime object"); return *this; } diff --git a/esphome/components/datetime/datetime_entity.h b/esphome/components/datetime/datetime_entity.h index 018346b34b..b1b8a77846 100644 --- a/esphome/components/datetime/datetime_entity.h +++ b/esphome/components/datetime/datetime_entity.h @@ -15,9 +15,7 @@ namespace esphome::datetime { #define LOG_DATETIME_DATETIME(prefix, type, obj) \ if ((obj) != nullptr) { \ ESP_LOGCONFIG(TAG, "%s%s '%s'", prefix, LOG_STR_LITERAL(type), (obj)->get_name().c_str()); \ - if (!(obj)->get_icon_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Icon: '%s'", prefix, (obj)->get_icon_ref().c_str()); \ - } \ + LOG_ENTITY_ICON(TAG, prefix, *(obj)); \ } class DateTimeCall; @@ -71,7 +69,11 @@ class DateTimeCall { void perform(); DateTimeCall &set_datetime(uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second); DateTimeCall &set_datetime(ESPTime datetime); - DateTimeCall &set_datetime(const std::string &datetime); + DateTimeCall &set_datetime(const char *datetime, size_t len); + DateTimeCall &set_datetime(const char *datetime) { return this->set_datetime(datetime, strlen(datetime)); } + DateTimeCall &set_datetime(const std::string &datetime) { + return this->set_datetime(datetime.c_str(), datetime.size()); + } DateTimeCall &set_datetime(time_t epoch_seconds); DateTimeCall &set_year(uint16_t year) { diff --git a/esphome/components/datetime/time_entity.cpp b/esphome/components/datetime/time_entity.cpp index d0b8875ed1..74e43fbbe7 100644 --- a/esphome/components/datetime/time_entity.cpp +++ b/esphome/components/datetime/time_entity.cpp @@ -74,9 +74,9 @@ TimeCall &TimeCall::set_time(uint8_t hour, uint8_t minute, uint8_t second) { TimeCall &TimeCall::set_time(ESPTime time) { return this->set_time(time.hour, time.minute, time.second); }; -TimeCall &TimeCall::set_time(const std::string &time) { +TimeCall &TimeCall::set_time(const char *time, size_t len) { ESPTime val{}; - if (!ESPTime::strptime(time, val)) { + if (!ESPTime::strptime(time, len, val)) { ESP_LOGE(TAG, "Could not convert the time string to an ESPTime object"); return *this; } diff --git a/esphome/components/datetime/time_entity.h b/esphome/components/datetime/time_entity.h index d3be3130b1..3f224684bb 100644 --- a/esphome/components/datetime/time_entity.h +++ b/esphome/components/datetime/time_entity.h @@ -15,9 +15,7 @@ namespace esphome::datetime { #define LOG_DATETIME_TIME(prefix, type, obj) \ if ((obj) != nullptr) { \ ESP_LOGCONFIG(TAG, "%s%s '%s'", prefix, LOG_STR_LITERAL(type), (obj)->get_name().c_str()); \ - if (!(obj)->get_icon_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Icon: '%s'", prefix, (obj)->get_icon_ref().c_str()); \ - } \ + LOG_ENTITY_ICON(TAG, prefix, *(obj)); \ } class TimeCall; @@ -69,7 +67,9 @@ class TimeCall { void perform(); TimeCall &set_time(uint8_t hour, uint8_t minute, uint8_t second); TimeCall &set_time(ESPTime time); - TimeCall &set_time(const std::string &time); + TimeCall &set_time(const char *time, size_t len); + TimeCall &set_time(const char *time) { return this->set_time(time, strlen(time)); } + TimeCall &set_time(const std::string &time) { return this->set_time(time.c_str(), time.size()); } TimeCall &set_hour(uint8_t hour) { this->hour_ = hour; diff --git a/esphome/components/debug/debug_component.cpp b/esphome/components/debug/debug_component.cpp index ae38fb2ccd..15f68c3a3b 100644 --- a/esphome/components/debug/debug_component.cpp +++ b/esphome/components/debug/debug_component.cpp @@ -30,7 +30,7 @@ void DebugComponent::dump_config() { char device_info_buffer[DEVICE_INFO_BUFFER_SIZE]; ESP_LOGD(TAG, "ESPHome version %s", ESPHOME_VERSION); - size_t pos = buf_append(device_info_buffer, DEVICE_INFO_BUFFER_SIZE, 0, "%s", ESPHOME_VERSION); + size_t pos = buf_append_printf(device_info_buffer, DEVICE_INFO_BUFFER_SIZE, 0, "%s", ESPHOME_VERSION); this->free_heap_ = get_free_heap_(); ESP_LOGD(TAG, "Free Heap Size: %" PRIu32 " bytes", this->free_heap_); diff --git a/esphome/components/debug/debug_component.h b/esphome/components/debug/debug_component.h index 6cf52d890c..e4f4bb36eb 100644 --- a/esphome/components/debug/debug_component.h +++ b/esphome/components/debug/debug_component.h @@ -5,12 +5,6 @@ #include "esphome/core/helpers.h" #include "esphome/core/macros.h" #include -#include -#include -#include -#ifdef USE_ESP8266 -#include -#endif #ifdef USE_SENSOR #include "esphome/components/sensor/sensor.h" @@ -25,40 +19,7 @@ namespace debug { static constexpr size_t DEVICE_INFO_BUFFER_SIZE = 256; static constexpr size_t RESET_REASON_BUFFER_SIZE = 128; -#ifdef USE_ESP8266 -// ESP8266: Use vsnprintf_P to keep format strings in flash (PROGMEM) -// Format strings must be wrapped with PSTR() macro -inline size_t buf_append_p(char *buf, size_t size, size_t pos, PGM_P fmt, ...) { - if (pos >= size) { - return size; - } - va_list args; - va_start(args, fmt); - int written = vsnprintf_P(buf + pos, size - pos, fmt, args); - va_end(args); - if (written < 0) { - return pos; // encoding error - } - return std::min(pos + static_cast(written), size); -} -#define buf_append(buf, size, pos, fmt, ...) buf_append_p(buf, size, pos, PSTR(fmt), ##__VA_ARGS__) -#else -/// Safely append formatted string to buffer, returning new position (capped at size) -__attribute__((format(printf, 4, 5))) inline size_t buf_append(char *buf, size_t size, size_t pos, const char *fmt, - ...) { - if (pos >= size) { - return size; - } - va_list args; - va_start(args, fmt); - int written = vsnprintf(buf + pos, size - pos, fmt, args); - va_end(args); - if (written < 0) { - return pos; // encoding error - } - return std::min(pos + static_cast(written), size); -} -#endif +// buf_append_printf is now provided by esphome/core/helpers.h class DebugComponent : public PollingComponent { public: diff --git a/esphome/components/debug/debug_esp32.cpp b/esphome/components/debug/debug_esp32.cpp index 8c41011f7d..aad4c7426c 100644 --- a/esphome/components/debug/debug_esp32.cpp +++ b/esphome/components/debug/debug_esp32.cpp @@ -173,8 +173,8 @@ size_t DebugComponent::get_device_info_(std::span uint32_t flash_size = ESP.getFlashChipSize() / 1024; // NOLINT uint32_t flash_speed = ESP.getFlashChipSpeed() / 1000000; // NOLINT ESP_LOGD(TAG, "Flash Chip: Size=%" PRIu32 "kB Speed=%" PRIu32 "MHz Mode=%s", flash_size, flash_speed, flash_mode); - pos = buf_append(buf, size, pos, "|Flash: %" PRIu32 "kB Speed:%" PRIu32 "MHz Mode:%s", flash_size, flash_speed, - flash_mode); + pos = buf_append_printf(buf, size, pos, "|Flash: %" PRIu32 "kB Speed:%" PRIu32 "MHz Mode:%s", flash_size, flash_speed, + flash_mode); #endif esp_chip_info_t info; @@ -182,52 +182,52 @@ size_t DebugComponent::get_device_info_(std::span const char *model = ESPHOME_VARIANT; // Build features string - pos = buf_append(buf, size, pos, "|Chip: %s Features:", model); + pos = buf_append_printf(buf, size, pos, "|Chip: %s Features:", model); bool first_feature = true; for (const auto &feature : CHIP_FEATURES) { if (info.features & feature.bit) { - pos = buf_append(buf, size, pos, "%s%s", first_feature ? "" : ", ", feature.name); + pos = buf_append_printf(buf, size, pos, "%s%s", first_feature ? "" : ", ", feature.name); first_feature = false; info.features &= ~feature.bit; } } if (info.features != 0) { - pos = buf_append(buf, size, pos, "%sOther:0x%" PRIx32, first_feature ? "" : ", ", info.features); + pos = buf_append_printf(buf, size, pos, "%sOther:0x%" PRIx32, first_feature ? "" : ", ", info.features); } ESP_LOGD(TAG, "Chip: Model=%s, Cores=%u, Revision=%u", model, info.cores, info.revision); - pos = buf_append(buf, size, pos, " Cores:%u Revision:%u", info.cores, info.revision); + pos = buf_append_printf(buf, size, pos, " Cores:%u Revision:%u", info.cores, info.revision); uint32_t cpu_freq_mhz = arch_get_cpu_freq_hz() / 1000000; ESP_LOGD(TAG, "CPU Frequency: %" PRIu32 " MHz", cpu_freq_mhz); - pos = buf_append(buf, size, pos, "|CPU Frequency: %" PRIu32 " MHz", cpu_freq_mhz); + pos = buf_append_printf(buf, size, pos, "|CPU Frequency: %" PRIu32 " MHz", cpu_freq_mhz); // Framework detection #ifdef USE_ARDUINO ESP_LOGD(TAG, "Framework: Arduino"); - pos = buf_append(buf, size, pos, "|Framework: Arduino"); + pos = buf_append_printf(buf, size, pos, "|Framework: Arduino"); #elif defined(USE_ESP32) ESP_LOGD(TAG, "Framework: ESP-IDF"); - pos = buf_append(buf, size, pos, "|Framework: ESP-IDF"); + pos = buf_append_printf(buf, size, pos, "|Framework: ESP-IDF"); #else ESP_LOGW(TAG, "Framework: UNKNOWN"); - pos = buf_append(buf, size, pos, "|Framework: UNKNOWN"); + pos = buf_append_printf(buf, size, pos, "|Framework: UNKNOWN"); #endif ESP_LOGD(TAG, "ESP-IDF Version: %s", esp_get_idf_version()); - pos = buf_append(buf, size, pos, "|ESP-IDF: %s", esp_get_idf_version()); + pos = buf_append_printf(buf, size, pos, "|ESP-IDF: %s", esp_get_idf_version()); uint8_t mac[6]; get_mac_address_raw(mac); ESP_LOGD(TAG, "EFuse MAC: %02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); - pos = buf_append(buf, size, pos, "|EFuse MAC: %02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], - mac[5]); + pos = buf_append_printf(buf, size, pos, "|EFuse MAC: %02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], + mac[4], mac[5]); char reason_buffer[RESET_REASON_BUFFER_SIZE]; const char *reset_reason = get_reset_reason_(std::span(reason_buffer)); - pos = buf_append(buf, size, pos, "|Reset: %s", reset_reason); + pos = buf_append_printf(buf, size, pos, "|Reset: %s", reset_reason); const char *wakeup_cause = get_wakeup_cause_(std::span(reason_buffer)); - pos = buf_append(buf, size, pos, "|Wakeup: %s", wakeup_cause); + pos = buf_append_printf(buf, size, pos, "|Wakeup: %s", wakeup_cause); return pos; } diff --git a/esphome/components/debug/debug_esp8266.cpp b/esphome/components/debug/debug_esp8266.cpp index 274f77e20d..a4b6468b49 100644 --- a/esphome/components/debug/debug_esp8266.cpp +++ b/esphome/components/debug/debug_esp8266.cpp @@ -3,21 +3,80 @@ #include "esphome/core/log.h" #include +extern "C" { +#include + +// Global reset info struct populated by SDK at boot +extern struct rst_info resetInfo; + +// Core version - either a string pointer or a version number to format as hex +extern uint32_t core_version; +extern const char *core_release; +} + namespace esphome { namespace debug { static const char *const TAG = "debug"; +// Get reset reason string from reason code (no heap allocation) +// Returns LogString* pointing to flash (PROGMEM) on ESP8266 +static const LogString *get_reset_reason_str(uint32_t reason) { + switch (reason) { + case REASON_DEFAULT_RST: + return LOG_STR("Power On"); + case REASON_WDT_RST: + return LOG_STR("Hardware Watchdog"); + case REASON_EXCEPTION_RST: + return LOG_STR("Exception"); + case REASON_SOFT_WDT_RST: + return LOG_STR("Software Watchdog"); + case REASON_SOFT_RESTART: + return LOG_STR("Software/System restart"); + case REASON_DEEP_SLEEP_AWAKE: + return LOG_STR("Deep-Sleep Wake"); + case REASON_EXT_SYS_RST: + return LOG_STR("External System"); + default: + return LOG_STR("Unknown"); + } +} + +// Size for core version hex buffer +static constexpr size_t CORE_VERSION_BUFFER_SIZE = 12; + +// Get core version string (no heap allocation) +// Returns either core_release directly or formats core_version as hex into provided buffer +static const char *get_core_version_str(std::span buffer) { + if (core_release != nullptr) { + return core_release; + } + snprintf_P(buffer.data(), CORE_VERSION_BUFFER_SIZE, PSTR("%08x"), core_version); + return buffer.data(); +} + +// Size for reset info buffer +static constexpr size_t RESET_INFO_BUFFER_SIZE = 200; + +// Get detailed reset info string (no heap allocation) +// For watchdog/exception resets, includes detailed exception info +static const char *get_reset_info_str(std::span buffer, uint32_t reason) { + if (reason >= REASON_WDT_RST && reason <= REASON_SOFT_WDT_RST) { + snprintf_P(buffer.data(), RESET_INFO_BUFFER_SIZE, + PSTR("Fatal exception:%d flag:%d (%s) epc1:0x%08x epc2:0x%08x epc3:0x%08x excvaddr:0x%08x depc:0x%08x"), + static_cast(resetInfo.exccause), static_cast(reason), + LOG_STR_ARG(get_reset_reason_str(reason)), resetInfo.epc1, resetInfo.epc2, resetInfo.epc3, + resetInfo.excvaddr, resetInfo.depc); + return buffer.data(); + } + return LOG_STR_ARG(get_reset_reason_str(reason)); +} + const char *DebugComponent::get_reset_reason_(std::span buffer) { - char *buf = buffer.data(); -#if !defined(CLANG_TIDY) - String reason = ESP.getResetReason(); // NOLINT - snprintf_P(buf, RESET_REASON_BUFFER_SIZE, PSTR("%s"), reason.c_str()); - return buf; -#else - buf[0] = '\0'; - return buf; -#endif + // Copy from flash to provided buffer + strncpy_P(buffer.data(), (PGM_P) get_reset_reason_str(resetInfo.reason), RESET_REASON_BUFFER_SIZE - 1); + buffer[RESET_REASON_BUFFER_SIZE - 1] = '\0'; + return buffer.data(); } const char *DebugComponent::get_wakeup_cause_(std::span buffer) { @@ -33,37 +92,42 @@ size_t DebugComponent::get_device_info_(std::span constexpr size_t size = DEVICE_INFO_BUFFER_SIZE; char *buf = buffer.data(); - const char *flash_mode; + const LogString *flash_mode; switch (ESP.getFlashChipMode()) { // NOLINT(readability-static-accessed-through-instance) case FM_QIO: - flash_mode = "QIO"; + flash_mode = LOG_STR("QIO"); break; case FM_QOUT: - flash_mode = "QOUT"; + flash_mode = LOG_STR("QOUT"); break; case FM_DIO: - flash_mode = "DIO"; + flash_mode = LOG_STR("DIO"); break; case FM_DOUT: - flash_mode = "DOUT"; + flash_mode = LOG_STR("DOUT"); break; default: - flash_mode = "UNKNOWN"; + flash_mode = LOG_STR("UNKNOWN"); } - uint32_t flash_size = ESP.getFlashChipSize() / 1024; // NOLINT - uint32_t flash_speed = ESP.getFlashChipSpeed() / 1000000; // NOLINT - ESP_LOGD(TAG, "Flash Chip: Size=%" PRIu32 "kB Speed=%" PRIu32 "MHz Mode=%s", flash_size, flash_speed, flash_mode); - pos = buf_append(buf, size, pos, "|Flash: %" PRIu32 "kB Speed:%" PRIu32 "MHz Mode:%s", flash_size, flash_speed, - flash_mode); + uint32_t flash_size = ESP.getFlashChipSize() / 1024; // NOLINT(readability-static-accessed-through-instance) + uint32_t flash_speed = ESP.getFlashChipSpeed() / 1000000; // NOLINT(readability-static-accessed-through-instance) + ESP_LOGD(TAG, "Flash Chip: Size=%" PRIu32 "kB Speed=%" PRIu32 "MHz Mode=%s", flash_size, flash_speed, + LOG_STR_ARG(flash_mode)); + pos = buf_append_printf(buf, size, pos, "|Flash: %" PRIu32 "kB Speed:%" PRIu32 "MHz Mode:%s", flash_size, flash_speed, + LOG_STR_ARG(flash_mode)); -#if !defined(CLANG_TIDY) char reason_buffer[RESET_REASON_BUFFER_SIZE]; - const char *reset_reason = get_reset_reason_(std::span(reason_buffer)); + const char *reset_reason = get_reset_reason_(reason_buffer); + char core_version_buffer[CORE_VERSION_BUFFER_SIZE]; + char reset_info_buffer[RESET_INFO_BUFFER_SIZE]; + // NOLINTBEGIN(readability-static-accessed-through-instance) uint32_t chip_id = ESP.getChipId(); uint8_t boot_version = ESP.getBootVersion(); uint8_t boot_mode = ESP.getBootMode(); uint8_t cpu_freq = ESP.getCpuFreqMHz(); uint32_t flash_chip_id = ESP.getFlashChipId(); + const char *sdk_version = ESP.getSdkVersion(); + // NOLINTEND(readability-static-accessed-through-instance) ESP_LOGD(TAG, "Chip ID: 0x%08" PRIX32 "\n" @@ -74,19 +138,18 @@ size_t DebugComponent::get_device_info_(std::span "Flash Chip ID=0x%08" PRIX32 "\n" "Reset Reason: %s\n" "Reset Info: %s", - chip_id, ESP.getSdkVersion(), ESP.getCoreVersion().c_str(), boot_version, boot_mode, cpu_freq, flash_chip_id, - reset_reason, ESP.getResetInfo().c_str()); + chip_id, sdk_version, get_core_version_str(core_version_buffer), boot_version, boot_mode, cpu_freq, + flash_chip_id, reset_reason, get_reset_info_str(reset_info_buffer, resetInfo.reason)); - pos = buf_append(buf, size, pos, "|Chip: 0x%08" PRIX32, chip_id); - pos = buf_append(buf, size, pos, "|SDK: %s", ESP.getSdkVersion()); - pos = buf_append(buf, size, pos, "|Core: %s", ESP.getCoreVersion().c_str()); - pos = buf_append(buf, size, pos, "|Boot: %u", boot_version); - pos = buf_append(buf, size, pos, "|Mode: %u", boot_mode); - pos = buf_append(buf, size, pos, "|CPU: %u", cpu_freq); - pos = buf_append(buf, size, pos, "|Flash: 0x%08" PRIX32, flash_chip_id); - pos = buf_append(buf, size, pos, "|Reset: %s", reset_reason); - pos = buf_append(buf, size, pos, "|%s", ESP.getResetInfo().c_str()); -#endif + pos = buf_append_printf(buf, size, pos, "|Chip: 0x%08" PRIX32, chip_id); + pos = buf_append_printf(buf, size, pos, "|SDK: %s", sdk_version); + pos = buf_append_printf(buf, size, pos, "|Core: %s", get_core_version_str(core_version_buffer)); + pos = buf_append_printf(buf, size, pos, "|Boot: %u", boot_version); + pos = buf_append_printf(buf, size, pos, "|Mode: %u", boot_mode); + pos = buf_append_printf(buf, size, pos, "|CPU: %u", cpu_freq); + pos = buf_append_printf(buf, size, pos, "|Flash: 0x%08" PRIX32, flash_chip_id); + pos = buf_append_printf(buf, size, pos, "|Reset: %s", reset_reason); + pos = buf_append_printf(buf, size, pos, "|%s", get_reset_info_str(reset_info_buffer, resetInfo.reason)); return pos; } diff --git a/esphome/components/debug/debug_libretiny.cpp b/esphome/components/debug/debug_libretiny.cpp index aae27c8ca2..14bbdb945a 100644 --- a/esphome/components/debug/debug_libretiny.cpp +++ b/esphome/components/debug/debug_libretiny.cpp @@ -36,12 +36,12 @@ size_t DebugComponent::get_device_info_(std::span lt_get_version(), lt_cpu_get_model_name(), lt_cpu_get_model(), lt_cpu_get_freq_mhz(), mac_id, lt_get_board_code(), flash_kib, ram_kib, reset_reason); - pos = buf_append(buf, size, pos, "|Version: %s", LT_BANNER_STR + 10); - pos = buf_append(buf, size, pos, "|Reset Reason: %s", reset_reason); - pos = buf_append(buf, size, pos, "|Chip Name: %s", lt_cpu_get_model_name()); - pos = buf_append(buf, size, pos, "|Chip ID: 0x%06" PRIX32, mac_id); - pos = buf_append(buf, size, pos, "|Flash: %" PRIu32 " KiB", flash_kib); - pos = buf_append(buf, size, pos, "|RAM: %" PRIu32 " KiB", ram_kib); + pos = buf_append_printf(buf, size, pos, "|Version: %s", LT_BANNER_STR + 10); + pos = buf_append_printf(buf, size, pos, "|Reset Reason: %s", reset_reason); + pos = buf_append_printf(buf, size, pos, "|Chip Name: %s", lt_cpu_get_model_name()); + pos = buf_append_printf(buf, size, pos, "|Chip ID: 0x%06" PRIX32, mac_id); + pos = buf_append_printf(buf, size, pos, "|Flash: %" PRIu32 " KiB", flash_kib); + pos = buf_append_printf(buf, size, pos, "|RAM: %" PRIu32 " KiB", ram_kib); return pos; } diff --git a/esphome/components/debug/debug_rp2040.cpp b/esphome/components/debug/debug_rp2040.cpp index a426a73bc2..c9d41942db 100644 --- a/esphome/components/debug/debug_rp2040.cpp +++ b/esphome/components/debug/debug_rp2040.cpp @@ -19,7 +19,7 @@ size_t DebugComponent::get_device_info_(std::span uint32_t cpu_freq = rp2040.f_cpu(); ESP_LOGD(TAG, "CPU Frequency: %" PRIu32, cpu_freq); - pos = buf_append(buf, size, pos, "|CPU Frequency: %" PRIu32, cpu_freq); + pos = buf_append_printf(buf, size, pos, "|CPU Frequency: %" PRIu32, cpu_freq); return pos; } diff --git a/esphome/components/debug/debug_zephyr.cpp b/esphome/components/debug/debug_zephyr.cpp index 3f9af03b2b..0291cc3061 100644 --- a/esphome/components/debug/debug_zephyr.cpp +++ b/esphome/components/debug/debug_zephyr.cpp @@ -20,9 +20,9 @@ static size_t append_reset_reason(char *buf, size_t size, size_t pos, bool set, return pos; } if (pos > 0) { - pos = buf_append(buf, size, pos, ", "); + pos = buf_append_printf(buf, size, pos, ", "); } - return buf_append(buf, size, pos, "%s", reason); + return buf_append_printf(buf, size, pos, "%s", reason); } static inline uint32_t read_mem_u32(uintptr_t addr) { @@ -132,6 +132,26 @@ void DebugComponent::log_partition_info_() { flash_area_foreach(fa_cb, nullptr); } +static const char *regout0_to_str(uint32_t value) { + switch (value) { + case (UICR_REGOUT0_VOUT_DEFAULT): + return "1.8V (default)"; + case (UICR_REGOUT0_VOUT_1V8): + return "1.8V"; + case (UICR_REGOUT0_VOUT_2V1): + return "2.1V"; + case (UICR_REGOUT0_VOUT_2V4): + return "2.4V"; + case (UICR_REGOUT0_VOUT_2V7): + return "2.7V"; + case (UICR_REGOUT0_VOUT_3V0): + return "3.0V"; + case (UICR_REGOUT0_VOUT_3V3): + return "3.3V"; + } + return "???V"; +} + size_t DebugComponent::get_device_info_(std::span buffer, size_t pos) { constexpr size_t size = DEVICE_INFO_BUFFER_SIZE; char *buf = buffer.data(); @@ -140,48 +160,28 @@ size_t DebugComponent::get_device_info_(std::span const char *supply_status = (nrf_power_mainregstatus_get(NRF_POWER) == NRF_POWER_MAINREGSTATUS_NORMAL) ? "Normal voltage." : "High voltage."; ESP_LOGD(TAG, "Main supply status: %s", supply_status); - pos = buf_append(buf, size, pos, "|Main supply status: %s", supply_status); + pos = buf_append_printf(buf, size, pos, "|Main supply status: %s", supply_status); // Regulator stage 0 if (nrf_power_mainregstatus_get(NRF_POWER) == NRF_POWER_MAINREGSTATUS_HIGH) { const char *reg0_type = nrf_power_dcdcen_vddh_get(NRF_POWER) ? "DC/DC" : "LDO"; - const char *reg0_voltage; - switch (NRF_UICR->REGOUT0 & UICR_REGOUT0_VOUT_Msk) { - case (UICR_REGOUT0_VOUT_DEFAULT << UICR_REGOUT0_VOUT_Pos): - reg0_voltage = "1.8V (default)"; - break; - case (UICR_REGOUT0_VOUT_1V8 << UICR_REGOUT0_VOUT_Pos): - reg0_voltage = "1.8V"; - break; - case (UICR_REGOUT0_VOUT_2V1 << UICR_REGOUT0_VOUT_Pos): - reg0_voltage = "2.1V"; - break; - case (UICR_REGOUT0_VOUT_2V4 << UICR_REGOUT0_VOUT_Pos): - reg0_voltage = "2.4V"; - break; - case (UICR_REGOUT0_VOUT_2V7 << UICR_REGOUT0_VOUT_Pos): - reg0_voltage = "2.7V"; - break; - case (UICR_REGOUT0_VOUT_3V0 << UICR_REGOUT0_VOUT_Pos): - reg0_voltage = "3.0V"; - break; - case (UICR_REGOUT0_VOUT_3V3 << UICR_REGOUT0_VOUT_Pos): - reg0_voltage = "3.3V"; - break; - default: - reg0_voltage = "???V"; - } + const char *reg0_voltage = regout0_to_str((NRF_UICR->REGOUT0 & UICR_REGOUT0_VOUT_Msk) >> UICR_REGOUT0_VOUT_Pos); ESP_LOGD(TAG, "Regulator stage 0: %s, %s", reg0_type, reg0_voltage); - pos = buf_append(buf, size, pos, "|Regulator stage 0: %s, %s", reg0_type, reg0_voltage); + pos = buf_append_printf(buf, size, pos, "|Regulator stage 0: %s, %s", reg0_type, reg0_voltage); +#ifdef USE_NRF52_REG0_VOUT + if ((NRF_UICR->REGOUT0 & UICR_REGOUT0_VOUT_Msk) >> UICR_REGOUT0_VOUT_Pos != USE_NRF52_REG0_VOUT) { + ESP_LOGE(TAG, "Regulator stage 0: expected %s", regout0_to_str(USE_NRF52_REG0_VOUT)); + } +#endif } else { ESP_LOGD(TAG, "Regulator stage 0: disabled"); - pos = buf_append(buf, size, pos, "|Regulator stage 0: disabled"); + pos = buf_append_printf(buf, size, pos, "|Regulator stage 0: disabled"); } // Regulator stage 1 const char *reg1_type = nrf_power_dcdcen_get(NRF_POWER) ? "DC/DC" : "LDO"; ESP_LOGD(TAG, "Regulator stage 1: %s", reg1_type); - pos = buf_append(buf, size, pos, "|Regulator stage 1: %s", reg1_type); + pos = buf_append_printf(buf, size, pos, "|Regulator stage 1: %s", reg1_type); // USB power state const char *usb_state; @@ -195,7 +195,7 @@ size_t DebugComponent::get_device_info_(std::span usb_state = "disconnected"; } ESP_LOGD(TAG, "USB power state: %s", usb_state); - pos = buf_append(buf, size, pos, "|USB power state: %s", usb_state); + pos = buf_append_printf(buf, size, pos, "|USB power state: %s", usb_state); // Power-fail comparator bool enabled; @@ -300,14 +300,14 @@ size_t DebugComponent::get_device_info_(std::span break; } ESP_LOGD(TAG, "Power-fail comparator: %s, VDDH: %s", pof_voltage, vddh_voltage); - pos = buf_append(buf, size, pos, "|Power-fail comparator: %s, VDDH: %s", pof_voltage, vddh_voltage); + pos = buf_append_printf(buf, size, pos, "|Power-fail comparator: %s, VDDH: %s", pof_voltage, vddh_voltage); } else { ESP_LOGD(TAG, "Power-fail comparator: %s", pof_voltage); - pos = buf_append(buf, size, pos, "|Power-fail comparator: %s", pof_voltage); + pos = buf_append_printf(buf, size, pos, "|Power-fail comparator: %s", pof_voltage); } } else { ESP_LOGD(TAG, "Power-fail comparator: disabled"); - pos = buf_append(buf, size, pos, "|Power-fail comparator: disabled"); + pos = buf_append_printf(buf, size, pos, "|Power-fail comparator: disabled"); } auto package = [](uint32_t value) { diff --git a/esphome/components/dfrobot_sen0395/commands.cpp b/esphome/components/dfrobot_sen0395/commands.cpp index 8bb6ddf942..2c44c6fba9 100644 --- a/esphome/components/dfrobot_sen0395/commands.cpp +++ b/esphome/components/dfrobot_sen0395/commands.cpp @@ -127,7 +127,9 @@ DetRangeCfgCommand::DetRangeCfgCommand(float min1, float max1, float min2, float this->min2_ = min2 = this->max2_ = max2 = this->min3_ = min3 = this->max3_ = max3 = this->min4_ = min4 = this->max4_ = max4 = -1; - this->cmd_ = str_sprintf("detRangeCfg -1 %.0f %.0f", min1 / 0.15, max1 / 0.15); + char buf[72]; // max 72: "detRangeCfg -1 "(15) + 8 * (float(5) + space(1)) + null + snprintf(buf, sizeof(buf), "detRangeCfg -1 %.0f %.0f", min1 / 0.15, max1 / 0.15); + this->cmd_ = buf; } else if (min3 < 0 || max3 < 0) { this->min1_ = min1 = round(min1 / 0.15) * 0.15; this->max1_ = max1 = round(max1 / 0.15) * 0.15; @@ -135,7 +137,10 @@ DetRangeCfgCommand::DetRangeCfgCommand(float min1, float max1, float min2, float this->max2_ = max2 = round(max2 / 0.15) * 0.15; this->min3_ = min3 = this->max3_ = max3 = this->min4_ = min4 = this->max4_ = max4 = -1; - this->cmd_ = str_sprintf("detRangeCfg -1 %.0f %.0f %.0f %.0f", min1 / 0.15, max1 / 0.15, min2 / 0.15, max2 / 0.15); + char buf[72]; // max 72: "detRangeCfg -1 "(15) + 8 * (float(5) + space(1)) + null + snprintf(buf, sizeof(buf), "detRangeCfg -1 %.0f %.0f %.0f %.0f", min1 / 0.15, max1 / 0.15, min2 / 0.15, + max2 / 0.15); + this->cmd_ = buf; } else if (min4 < 0 || max4 < 0) { this->min1_ = min1 = round(min1 / 0.15) * 0.15; this->max1_ = max1 = round(max1 / 0.15) * 0.15; @@ -145,9 +150,10 @@ DetRangeCfgCommand::DetRangeCfgCommand(float min1, float max1, float min2, float this->max3_ = max3 = round(max3 / 0.15) * 0.15; this->min4_ = min4 = this->max4_ = max4 = -1; - this->cmd_ = str_sprintf("detRangeCfg -1 " - "%.0f %.0f %.0f %.0f %.0f %.0f", - min1 / 0.15, max1 / 0.15, min2 / 0.15, max2 / 0.15, min3 / 0.15, max3 / 0.15); + char buf[72]; // max 72: "detRangeCfg -1 "(15) + 8 * (float(5) + space(1)) + null + snprintf(buf, sizeof(buf), "detRangeCfg -1 %.0f %.0f %.0f %.0f %.0f %.0f", min1 / 0.15, max1 / 0.15, min2 / 0.15, + max2 / 0.15, min3 / 0.15, max3 / 0.15); + this->cmd_ = buf; } else { this->min1_ = min1 = round(min1 / 0.15) * 0.15; this->max1_ = max1 = round(max1 / 0.15) * 0.15; @@ -158,10 +164,10 @@ DetRangeCfgCommand::DetRangeCfgCommand(float min1, float max1, float min2, float this->min4_ = min4 = round(min4 / 0.15) * 0.15; this->max4_ = max4 = round(max4 / 0.15) * 0.15; - this->cmd_ = str_sprintf("detRangeCfg -1 " - "%.0f %.0f %.0f %.0f %.0f %.0f %.0f %.0f", - min1 / 0.15, max1 / 0.15, min2 / 0.15, max2 / 0.15, min3 / 0.15, max3 / 0.15, min4 / 0.15, - max4 / 0.15); + char buf[72]; // max 72: "detRangeCfg -1 "(15) + 8 * (float(5) + space(1)) + null + snprintf(buf, sizeof(buf), "detRangeCfg -1 %.0f %.0f %.0f %.0f %.0f %.0f %.0f %.0f", min1 / 0.15, max1 / 0.15, + min2 / 0.15, max2 / 0.15, min3 / 0.15, max3 / 0.15, min4 / 0.15, max4 / 0.15); + this->cmd_ = buf; } this->min1_ = min1; @@ -203,7 +209,10 @@ SetLatencyCommand::SetLatencyCommand(float delay_after_detection, float delay_af delay_after_disappear = std::round(delay_after_disappear / 0.025f) * 0.025f; this->delay_after_detection_ = clamp(delay_after_detection, 0.0f, 1638.375f); this->delay_after_disappear_ = clamp(delay_after_disappear, 0.0f, 1638.375f); - this->cmd_ = str_sprintf("setLatency %.03f %.03f", this->delay_after_detection_, this->delay_after_disappear_); + // max 32: "setLatency "(11) + float(8) + " "(1) + float(8) + null, rounded to 32 + char buf[32]; + snprintf(buf, sizeof(buf), "setLatency %.03f %.03f", this->delay_after_detection_, this->delay_after_disappear_); + this->cmd_ = buf; }; uint8_t SetLatencyCommand::on_message(std::string &message) { diff --git a/esphome/components/dfrobot_sen0395/commands.h b/esphome/components/dfrobot_sen0395/commands.h index cf3ba50be0..3b0551b184 100644 --- a/esphome/components/dfrobot_sen0395/commands.h +++ b/esphome/components/dfrobot_sen0395/commands.h @@ -75,8 +75,8 @@ class SetLatencyCommand : public Command { class SensorCfgStartCommand : public Command { public: SensorCfgStartCommand(bool startup_mode) : startup_mode_(startup_mode) { - char tmp_cmd[20] = {0}; - sprintf(tmp_cmd, "sensorCfgStart %d", startup_mode); + char tmp_cmd[20]; // "sensorCfgStart " (15) + "0/1" (1) + null = 17 + buf_append_printf(tmp_cmd, sizeof(tmp_cmd), 0, "sensorCfgStart %d", startup_mode); cmd_ = std::string(tmp_cmd); } uint8_t on_message(std::string &message) override; @@ -142,8 +142,8 @@ class SensitivityCommand : public Command { SensitivityCommand(uint8_t sensitivity) : sensitivity_(sensitivity) { if (sensitivity > 9) sensitivity_ = sensitivity = 9; - char tmp_cmd[20] = {0}; - sprintf(tmp_cmd, "setSensitivity %d", sensitivity); + char tmp_cmd[20]; // "setSensitivity " (15) + "0-9" (1) + null = 17 + buf_append_printf(tmp_cmd, sizeof(tmp_cmd), 0, "setSensitivity %d", sensitivity); cmd_ = std::string(tmp_cmd); }; uint8_t on_message(std::string &message) override; diff --git a/esphome/components/dht/dht.cpp b/esphome/components/dht/dht.cpp index 6cb204c8de..276ea24717 100644 --- a/esphome/components/dht/dht.cpp +++ b/esphome/components/dht/dht.cpp @@ -89,10 +89,8 @@ bool HOT IRAM_ATTR DHT::read_sensor_(float *temperature, float *humidity, bool r delayMicroseconds(500); } else if (this->model_ == DHT_MODEL_DHT22_TYPE2) { delayMicroseconds(2000); - } else if (this->model_ == DHT_MODEL_AM2120 || this->model_ == DHT_MODEL_AM2302) { - delayMicroseconds(1000); } else { - delayMicroseconds(800); + delayMicroseconds(1000); } #ifdef USE_ESP32 diff --git a/esphome/components/dsmr/__init__.py b/esphome/components/dsmr/__init__.py index 0ba68daf5d..386da3ce21 100644 --- a/esphome/components/dsmr/__init__.py +++ b/esphome/components/dsmr/__init__.py @@ -25,29 +25,13 @@ dsmr_ns = cg.esphome_ns.namespace("esphome::dsmr") Dsmr = dsmr_ns.class_("Dsmr", cg.Component, uart.UARTDevice) -def _validate_key(value): - value = cv.string_strict(value) - parts = [value[i : i + 2] for i in range(0, len(value), 2)] - if len(parts) != 16: - raise cv.Invalid("Decryption key must consist of 16 hexadecimal numbers") - parts_int = [] - if any(len(part) != 2 for part in parts): - raise cv.Invalid("Decryption key must be format XX") - for part in parts: - try: - parts_int.append(int(part, 16)) - except ValueError: - # pylint: disable=raise-missing-from - raise cv.Invalid("Decryption key must be hex values from 00 to FF") - - return "".join(f"{part:02X}" for part in parts_int) - - CONFIG_SCHEMA = cv.All( cv.Schema( { cv.GenerateID(): cv.declare_id(Dsmr), - cv.Optional(CONF_DECRYPTION_KEY): _validate_key, + cv.Optional(CONF_DECRYPTION_KEY): lambda value: cv.bind_key( + value, name="Decryption key" + ), cv.Optional(CONF_CRC_CHECK, default=True): cv.boolean, cv.Optional(CONF_GAS_MBUS_ID, default=1): cv.int_, cv.Optional(CONF_WATER_MBUS_ID, default=2): cv.int_, diff --git a/esphome/components/dsmr/dsmr.cpp b/esphome/components/dsmr/dsmr.cpp index 5c62aa93ab..c78d37bf5e 100644 --- a/esphome/components/dsmr/dsmr.cpp +++ b/esphome/components/dsmr/dsmr.cpp @@ -1,4 +1,5 @@ #include "dsmr.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include @@ -294,8 +295,8 @@ void Dsmr::dump_config() { DSMR_TEXT_SENSOR_LIST(DSMR_LOG_TEXT_SENSOR, ) } -void Dsmr::set_decryption_key(const std::string &decryption_key) { - if (decryption_key.empty()) { +void Dsmr::set_decryption_key(const char *decryption_key) { + if (decryption_key == nullptr || decryption_key[0] == '\0') { ESP_LOGI(TAG, "Disabling decryption"); this->decryption_key_.clear(); if (this->crypt_telegram_ != nullptr) { @@ -305,21 +306,15 @@ void Dsmr::set_decryption_key(const std::string &decryption_key) { return; } - if (decryption_key.length() != 32) { - ESP_LOGE(TAG, "Error, decryption key must be 32 character long"); + if (!parse_hex(decryption_key, this->decryption_key_, 16)) { + ESP_LOGE(TAG, "Error, decryption key must be 32 hex characters"); + this->decryption_key_.clear(); return; } - this->decryption_key_.clear(); ESP_LOGI(TAG, "Decryption key is set"); // Verbose level prints decryption key - ESP_LOGV(TAG, "Using decryption key: %s", decryption_key.c_str()); - - char temp[3] = {0}; - for (int i = 0; i < 16; i++) { - strncpy(temp, &(decryption_key.c_str()[i * 2]), 2); - this->decryption_key_.push_back(std::strtoul(temp, nullptr, 16)); - } + ESP_LOGV(TAG, "Using decryption key: %s", decryption_key); if (this->crypt_telegram_ == nullptr) { this->crypt_telegram_ = new uint8_t[this->max_telegram_len_]; // NOLINT diff --git a/esphome/components/dsmr/dsmr.h b/esphome/components/dsmr/dsmr.h index 56ba75b5fa..b7e05a22b3 100644 --- a/esphome/components/dsmr/dsmr.h +++ b/esphome/components/dsmr/dsmr.h @@ -63,7 +63,7 @@ class Dsmr : public Component, public uart::UARTDevice { void dump_config() override; - void set_decryption_key(const std::string &decryption_key); + void set_decryption_key(const char *decryption_key); void set_max_telegram_length(size_t length) { this->max_telegram_len_ = length; } void set_request_pin(GPIOPin *request_pin) { this->request_pin_ = request_pin; } void set_request_interval(uint32_t interval) { this->request_interval_ = interval; } diff --git a/esphome/components/duty_time/duty_time_sensor.cpp b/esphome/components/duty_time/duty_time_sensor.cpp index f77f1fcf53..561040623d 100644 --- a/esphome/components/duty_time/duty_time_sensor.cpp +++ b/esphome/components/duty_time/duty_time_sensor.cpp @@ -41,7 +41,7 @@ void DutyTimeSensor::setup() { uint32_t seconds = 0; if (this->restore_) { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); this->pref_.load(&seconds); } diff --git a/esphome/components/epaper_spi/display.py b/esphome/components/epaper_spi/display.py index a77e291237..8cc7b2663c 100644 --- a/esphome/components/epaper_spi/display.py +++ b/esphome/components/epaper_spi/display.py @@ -190,7 +190,7 @@ async def to_code(config): # Rotation is handled by setting the transform display_config = {k: v for k, v in config.items() if k != CONF_ROTATION} await display.register_display(var, display_config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index 45fe8d1c26..fccf0ed09f 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -34,6 +34,7 @@ from esphome.const import ( KEY_CORE, KEY_FRAMEWORK_VERSION, KEY_NAME, + KEY_NATIVE_IDF, KEY_TARGET_FRAMEWORK, KEY_TARGET_PLATFORM, PLATFORM_ESP32, @@ -53,6 +54,8 @@ from .const import ( # noqa KEY_COMPONENTS, KEY_ESP32, KEY_EXTRA_BUILD_FILES, + KEY_FLASH_SIZE, + KEY_FULL_CERT_BUNDLE, KEY_PATH, KEY_REF, KEY_REPO, @@ -180,6 +183,12 @@ def set_core_data(config): path=[CONF_CPU_FREQUENCY], ) + if variant == VARIANT_ESP32P4 and cpu_frequency == "400MHZ": + _LOGGER.warning( + "400MHz on ESP32-P4 is experimental and may not boot. " + "Consider using 360MHz instead. See https://github.com/esphome/esphome/issues/13425" + ) + CORE.data[KEY_ESP32] = {} CORE.data[KEY_CORE][KEY_TARGET_PLATFORM] = PLATFORM_ESP32 conf = config[CONF_FRAMEWORK] @@ -199,6 +208,7 @@ def set_core_data(config): ) CORE.data[KEY_ESP32][KEY_BOARD] = config[CONF_BOARD] + CORE.data[KEY_ESP32][KEY_FLASH_SIZE] = config[CONF_FLASH_SIZE] CORE.data[KEY_ESP32][KEY_VARIANT] = variant CORE.data[KEY_ESP32][KEY_EXTRA_BUILD_FILES] = {} @@ -339,7 +349,12 @@ def add_extra_build_file(filename: str, path: Path) -> bool: def _format_framework_arduino_version(ver: cv.Version) -> str: # format the given arduino (https://github.com/espressif/arduino-esp32/releases) version to # a PIO pioarduino/framework-arduinoespressif32 value - return f"pioarduino/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32/releases/download/{str(ver)}/esp32-{str(ver)}.zip" + # 3.3.6+ changed filename from esp32-{ver}.zip to esp32-core-{ver}.tar.xz + if ver >= cv.Version(3, 3, 6): + filename = f"esp32-core-{ver}.tar.xz" + else: + filename = f"esp32-{ver}.zip" + return f"pioarduino/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32/releases/download/{ver}/{filename}" def _format_framework_espidf_version(ver: cv.Version, release: str) -> str: @@ -374,11 +389,12 @@ def _is_framework_url(source: str) -> bool: # The default/recommended arduino framework version # - https://github.com/espressif/arduino-esp32/releases ARDUINO_FRAMEWORK_VERSION_LOOKUP = { - "recommended": cv.Version(3, 3, 5), - "latest": cv.Version(3, 3, 5), - "dev": cv.Version(3, 3, 5), + "recommended": cv.Version(3, 3, 6), + "latest": cv.Version(3, 3, 6), + "dev": cv.Version(3, 3, 6), } ARDUINO_PLATFORM_VERSION_LOOKUP = { + cv.Version(3, 3, 6): cv.Version(55, 3, 36), cv.Version(3, 3, 5): cv.Version(55, 3, 35), cv.Version(3, 3, 4): cv.Version(55, 3, 31, "2"), cv.Version(3, 3, 3): cv.Version(55, 3, 31, "2"), @@ -396,6 +412,7 @@ ARDUINO_PLATFORM_VERSION_LOOKUP = { # These versions correspond to pioarduino/esp-idf releases # See: https://github.com/pioarduino/esp-idf/releases ARDUINO_IDF_VERSION_LOOKUP = { + cv.Version(3, 3, 6): cv.Version(5, 5, 2), cv.Version(3, 3, 5): cv.Version(5, 5, 2), cv.Version(3, 3, 4): cv.Version(5, 5, 1), cv.Version(3, 3, 3): cv.Version(5, 5, 1), @@ -418,7 +435,7 @@ ESP_IDF_FRAMEWORK_VERSION_LOOKUP = { "dev": cv.Version(5, 5, 2), } ESP_IDF_PLATFORM_VERSION_LOOKUP = { - cv.Version(5, 5, 2): cv.Version(55, 3, 35), + cv.Version(5, 5, 2): cv.Version(55, 3, 36), cv.Version(5, 5, 1): cv.Version(55, 3, 31, "2"), cv.Version(5, 5, 0): cv.Version(55, 3, 31, "2"), cv.Version(5, 4, 3): cv.Version(55, 3, 32), @@ -435,9 +452,9 @@ ESP_IDF_PLATFORM_VERSION_LOOKUP = { # The platform-espressif32 version # - https://github.com/pioarduino/platform-espressif32/releases PLATFORM_VERSION_LOOKUP = { - "recommended": cv.Version(55, 3, 35), - "latest": cv.Version(55, 3, 35), - "dev": cv.Version(55, 3, 35), + "recommended": cv.Version(55, 3, 36), + "latest": cv.Version(55, 3, 36), + "dev": cv.Version(55, 3, 36), } @@ -654,6 +671,7 @@ CONF_FREERTOS_IN_IRAM = "freertos_in_iram" CONF_RINGBUF_IN_IRAM = "ringbuf_in_iram" CONF_HEAP_IN_IRAM = "heap_in_iram" CONF_LOOP_TASK_STACK_SIZE = "loop_task_stack_size" +CONF_USE_FULL_CERTIFICATE_BUNDLE = "use_full_certificate_bundle" # VFS requirement tracking # Components that need VFS features can call require_vfs_select() or require_vfs_dir() @@ -679,6 +697,18 @@ def require_vfs_dir() -> None: CORE.data[KEY_VFS_DIR_REQUIRED] = True +def require_full_certificate_bundle() -> None: + """Request the full certificate bundle instead of the common-CAs-only bundle. + + By default, ESPHome uses CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN which + includes only CAs with >1% market share (~51 KB smaller than full bundle). + This covers ~99% of websites including Let's Encrypt, DigiCert, Google, Amazon. + + Call this from components that need to connect to services using uncommon CAs. + """ + CORE.data[KEY_ESP32][KEY_FULL_CERT_BUNDLE] = True + + def _parse_idf_component(value: str) -> ConfigType: """Parse IDF component shorthand syntax like 'owner/component^version'""" # Match operator followed by version-like string (digit or *) @@ -760,6 +790,9 @@ FRAMEWORK_SCHEMA = cv.Schema( min=8192, max=32768 ), cv.Optional(CONF_ENABLE_OTA_ROLLBACK, default=True): cv.boolean, + cv.Optional( + CONF_USE_FULL_CERTIFICATE_BUNDLE, default=False + ): cv.boolean, } ), cv.Optional(CONF_COMPONENTS, default=[]): cv.ensure_list( @@ -962,12 +995,54 @@ async def _add_yaml_idf_components(components: list[ConfigType]): async def to_code(config): - cg.add_platformio_option("board", config[CONF_BOARD]) - cg.add_platformio_option("board_upload.flash_size", config[CONF_FLASH_SIZE]) - cg.add_platformio_option( - "board_upload.maximum_size", - int(config[CONF_FLASH_SIZE].removesuffix("MB")) * 1024 * 1024, - ) + framework_ver: cv.Version = CORE.data[KEY_CORE][KEY_FRAMEWORK_VERSION] + conf = config[CONF_FRAMEWORK] + + # Check if using native ESP-IDF build (--native-idf) + use_platformio = not CORE.data.get(KEY_NATIVE_IDF, False) + if use_platformio: + # Clear IDF environment variables to avoid conflicts with PlatformIO's ESP-IDF + # but keep them when using --native-idf for native ESP-IDF builds + for clean_var in ("IDF_PATH", "IDF_TOOLS_PATH"): + os.environ.pop(clean_var, None) + + cg.add_platformio_option("lib_ldf_mode", "off") + cg.add_platformio_option("lib_compat_mode", "strict") + cg.add_platformio_option("platform", conf[CONF_PLATFORM_VERSION]) + cg.add_platformio_option("board", config[CONF_BOARD]) + cg.add_platformio_option("board_upload.flash_size", config[CONF_FLASH_SIZE]) + cg.add_platformio_option( + "board_upload.maximum_size", + int(config[CONF_FLASH_SIZE].removesuffix("MB")) * 1024 * 1024, + ) + + if CONF_SOURCE in conf: + cg.add_platformio_option("platform_packages", [conf[CONF_SOURCE]]) + + add_extra_script( + "pre", + "pre_build.py", + Path(__file__).parent / "pre_build.py.script", + ) + + add_extra_script( + "post", + "post_build.py", + Path(__file__).parent / "post_build.py.script", + ) + + # In testing mode, add IRAM fix script to allow linking grouped component tests + # Similar to ESP8266's approach but for ESP-IDF + if CORE.testing_mode: + cg.add_build_flag("-DESPHOME_TESTING_MODE") + add_extra_script( + "pre", + "iram_fix.py", + Path(__file__).parent / "iram_fix.py.script", + ) + else: + cg.add_build_flag("-Wno-error=format") + cg.set_cpp_standard("gnu++20") cg.add_build_flag("-DUSE_ESP32") cg.add_build_flag("-Wl,-z,noexecstack") @@ -977,81 +1052,76 @@ async def to_code(config): cg.add_define("ESPHOME_VARIANT", VARIANT_FRIENDLY[variant]) cg.add_define(ThreadModel.MULTI_ATOMICS) - cg.add_platformio_option("lib_ldf_mode", "off") - cg.add_platformio_option("lib_compat_mode", "strict") - - framework_ver: cv.Version = CORE.data[KEY_CORE][KEY_FRAMEWORK_VERSION] - - conf = config[CONF_FRAMEWORK] - cg.add_platformio_option("platform", conf[CONF_PLATFORM_VERSION]) - if CONF_SOURCE in conf: - cg.add_platformio_option("platform_packages", [conf[CONF_SOURCE]]) - if conf[CONF_ADVANCED][CONF_IGNORE_EFUSE_CUSTOM_MAC]: cg.add_define("USE_ESP32_IGNORE_EFUSE_CUSTOM_MAC") - for clean_var in ("IDF_PATH", "IDF_TOOLS_PATH"): - os.environ.pop(clean_var, None) - # Set the location of the IDF component manager cache os.environ["IDF_COMPONENT_CACHE_PATH"] = str( CORE.relative_internal_path(".espressif") ) - add_extra_script( - "pre", - "pre_build.py", - Path(__file__).parent / "pre_build.py.script", - ) - - add_extra_script( - "post", - "post_build.py", - Path(__file__).parent / "post_build.py.script", - ) - - # In testing mode, add IRAM fix script to allow linking grouped component tests - # Similar to ESP8266's approach but for ESP-IDF - if CORE.testing_mode: - cg.add_build_flag("-DESPHOME_TESTING_MODE") - add_extra_script( - "pre", - "iram_fix.py", - Path(__file__).parent / "iram_fix.py.script", - ) - if conf[CONF_TYPE] == FRAMEWORK_ESP_IDF: - cg.add_platformio_option("framework", "espidf") cg.add_build_flag("-DUSE_ESP_IDF") cg.add_build_flag("-DUSE_ESP32_FRAMEWORK_ESP_IDF") + if use_platformio: + cg.add_platformio_option("framework", "espidf") + + # Wrap std::__throw_* functions to abort immediately, eliminating ~3KB of + # exception class overhead. See throw_stubs.cpp for implementation. + # ESP-IDF already compiles with -fno-exceptions, so this code was dead anyway. + for mangled in [ + "_ZSt20__throw_length_errorPKc", + "_ZSt19__throw_logic_errorPKc", + "_ZSt20__throw_out_of_rangePKc", + "_ZSt24__throw_out_of_range_fmtPKcz", + "_ZSt17__throw_bad_allocv", + "_ZSt25__throw_bad_function_callv", + ]: + cg.add_build_flag(f"-Wl,--wrap={mangled}") else: - cg.add_platformio_option("framework", "arduino, espidf") cg.add_build_flag("-DUSE_ARDUINO") cg.add_build_flag("-DUSE_ESP32_FRAMEWORK_ARDUINO") + if use_platformio: + cg.add_platformio_option("framework", "arduino, espidf") + + # Add IDF framework source for Arduino builds to ensure it uses the same version as + # the ESP-IDF framework + if (idf_ver := ARDUINO_IDF_VERSION_LOOKUP.get(framework_ver)) is not None: + cg.add_platformio_option( + "platform_packages", + [_format_framework_espidf_version(idf_ver, None)], + ) + + # ESP32-S2 Arduino: Disable USB Serial on boot to avoid TinyUSB dependency + if get_esp32_variant() == VARIANT_ESP32S2: + cg.add_build_unflag("-DARDUINO_USB_CDC_ON_BOOT=1") + cg.add_build_unflag("-DARDUINO_USB_CDC_ON_BOOT=0") + cg.add_build_flag("-DARDUINO_USB_CDC_ON_BOOT=0") + cg.add_define( "USE_ARDUINO_VERSION_CODE", cg.RawExpression( f"VERSION_CODE({framework_ver.major}, {framework_ver.minor}, {framework_ver.patch})" ), ) + add_idf_sdkconfig_option("CONFIG_MBEDTLS_PSK_MODES", True) add_idf_sdkconfig_option("CONFIG_MBEDTLS_CERTIFICATE_BUNDLE", True) - # Add IDF framework source for Arduino builds to ensure it uses the same version as - # the ESP-IDF framework - if (idf_ver := ARDUINO_IDF_VERSION_LOOKUP.get(framework_ver)) is not None: - cg.add_platformio_option( - "platform_packages", [_format_framework_espidf_version(idf_ver, None)] - ) - - # ESP32-S2 Arduino: Disable USB Serial on boot to avoid TinyUSB dependency - if get_esp32_variant() == VARIANT_ESP32S2: - cg.add_build_unflag("-DARDUINO_USB_CDC_ON_BOOT=1") - cg.add_build_unflag("-DARDUINO_USB_CDC_ON_BOOT=0") - cg.add_build_flag("-DARDUINO_USB_CDC_ON_BOOT=0") - cg.add_build_flag("-Wno-nonnull-compare") + # Use CMN (common CAs) bundle by default to save ~51KB flash + # CMN covers CAs with >1% market share (~99% of websites) + # Components needing uncommon CAs can call require_full_certificate_bundle() + use_full_bundle = conf[CONF_ADVANCED].get( + CONF_USE_FULL_CERTIFICATE_BUNDLE, False + ) or CORE.data[KEY_ESP32].get(KEY_FULL_CERT_BUNDLE, False) + add_idf_sdkconfig_option( + "CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL", use_full_bundle + ) + if not use_full_bundle: + add_idf_sdkconfig_option("CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN", True) + add_idf_sdkconfig_option(f"CONFIG_IDF_TARGET_{variant}", True) add_idf_sdkconfig_option( f"CONFIG_ESPTOOLPY_FLASHSIZE_{config[CONF_FLASH_SIZE]}", True @@ -1196,7 +1266,8 @@ async def to_code(config): "CONFIG_VFS_SUPPORT_DIR", not advanced[CONF_DISABLE_VFS_SUPPORT_DIR] ) - cg.add_platformio_option("board_build.partitions", "partitions.csv") + if use_platformio: + cg.add_platformio_option("board_build.partitions", "partitions.csv") if CONF_PARTITIONS in config: add_extra_build_file( "partitions.csv", CORE.relative_config_path(config[CONF_PARTITIONS]) @@ -1361,19 +1432,16 @@ def copy_files(): _write_idf_component_yml() if "partitions.csv" not in CORE.data[KEY_ESP32][KEY_EXTRA_BUILD_FILES]: + flash_size = CORE.data[KEY_ESP32][KEY_FLASH_SIZE] if CORE.using_arduino: write_file_if_changed( CORE.relative_build_path("partitions.csv"), - get_arduino_partition_csv( - CORE.platformio_options.get("board_upload.flash_size") - ), + get_arduino_partition_csv(flash_size), ) else: write_file_if_changed( CORE.relative_build_path("partitions.csv"), - get_idf_partition_csv( - CORE.platformio_options.get("board_upload.flash_size") - ), + get_idf_partition_csv(flash_size), ) # IDF build scripts look for version string to put in the build. # However, if the build path does not have an initialized git repo, diff --git a/esphome/components/esp32/boards.py b/esphome/components/esp32/boards.py index 8a7a9428db..8b066064f2 100644 --- a/esphome/components/esp32/boards.py +++ b/esphome/components/esp32/boards.py @@ -175,6 +175,32 @@ ESP32_BOARD_PINS = { "LED": 13, "LED_BUILTIN": 13, }, + "adafruit_feather_esp32s3_reversetft": { + "BUTTON": 0, + "A0": 18, + "A1": 17, + "A2": 16, + "A3": 15, + "A4": 14, + "A5": 8, + "SCK": 36, + "MOSI": 35, + "MISO": 37, + "RX": 38, + "TX": 39, + "SCL": 4, + "SDA": 3, + "NEOPIXEL": 33, + "PIN_NEOPIXEL": 33, + "NEOPIXEL_POWER": 21, + "TFT_I2C_POWER": 7, + "TFT_CS": 42, + "TFT_DC": 40, + "TFT_RESET": 41, + "TFT_BACKLIGHT": 45, + "LED": 13, + "LED_BUILTIN": 13, + }, "adafruit_feather_esp32s3_tft": { "BUTTON": 0, "A0": 18, diff --git a/esphome/components/esp32/const.py b/esphome/components/esp32/const.py index dfb736f615..9f8165818b 100644 --- a/esphome/components/esp32/const.py +++ b/esphome/components/esp32/const.py @@ -2,6 +2,7 @@ import esphome.codegen as cg KEY_ESP32 = "esp32" KEY_BOARD = "board" +KEY_FLASH_SIZE = "flash_size" KEY_VARIANT = "variant" KEY_SDKCONFIG_OPTIONS = "sdkconfig_options" KEY_COMPONENTS = "components" @@ -11,6 +12,7 @@ KEY_REFRESH = "refresh" KEY_PATH = "path" KEY_SUBMODULES = "submodules" KEY_EXTRA_BUILD_FILES = "extra_build_files" +KEY_FULL_CERT_BUNDLE = "full_cert_bundle" VARIANT_ESP32 = "ESP32" VARIANT_ESP32C2 = "ESP32C2" diff --git a/esphome/components/esp32/preferences.cpp b/esphome/components/esp32/preferences.cpp index 24c719c91c..3d21ec25b8 100644 --- a/esphome/components/esp32/preferences.cpp +++ b/esphome/components/esp32/preferences.cpp @@ -172,7 +172,8 @@ class ESP32Preferences : public ESPPreferences { if (actual_len != to_save.data.size()) { return true; } - auto stored_data = std::make_unique(actual_len); + // Most preferences are small, use stack buffer with heap fallback for large ones + SmallBufferWithHeapFallback<256> stored_data(actual_len); err = nvs_get_blob(nvs_handle, key_str, stored_data.get(), &actual_len); if (err != 0) { ESP_LOGV(TAG, "nvs_get_blob('%s') failed: %s", key_str, esp_err_to_name(err)); diff --git a/esphome/components/esp32/throw_stubs.cpp b/esphome/components/esp32/throw_stubs.cpp new file mode 100644 index 0000000000..e82e5645de --- /dev/null +++ b/esphome/components/esp32/throw_stubs.cpp @@ -0,0 +1,57 @@ +/* + * Linker wrap stubs for std::__throw_* functions. + * + * ESP-IDF compiles with -fno-exceptions, so C++ exceptions always abort. + * However, ESP-IDF only wraps low-level functions (__cxa_throw, etc.), + * not the std::__throw_* functions that construct exception objects first. + * This pulls in ~3KB of dead exception class code that can never run. + * + * ESP8266 Arduino already solved this: their toolchain rebuilds libstdc++ + * with throw functions that just call abort(). We achieve the same result + * using linker --wrap without requiring toolchain changes. + * + * These stubs abort immediately with a descriptive message, allowing + * the linker to dead-code eliminate the exception class infrastructure. + * + * Wrapped functions and their callers: + * - std::__throw_length_error: std::string::reserve, std::vector::reserve + * - std::__throw_logic_error: std::promise, std::packaged_task + * - std::__throw_out_of_range: std::string::at, std::vector::at + * - std::__throw_out_of_range_fmt: std::bitset::to_ulong + * - std::__throw_bad_alloc: operator new + * - std::__throw_bad_function_call: std::function::operator() + */ + +#ifdef USE_ESP_IDF +#include "esp_system.h" + +namespace esphome::esp32 {} + +// Linker wraps for std::__throw_* - must be extern "C" at global scope. +// Names must be __wrap_ + mangled name for the linker's --wrap option. + +// NOLINTBEGIN(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp,readability-identifier-naming) +extern "C" { + +// std::__throw_length_error(char const*) - called when container size exceeds max_size() +void __wrap__ZSt20__throw_length_errorPKc(const char *) { esp_system_abort("std::length_error"); } + +// std::__throw_logic_error(char const*) - called for logic errors (e.g., promise already satisfied) +void __wrap__ZSt19__throw_logic_errorPKc(const char *) { esp_system_abort("std::logic_error"); } + +// std::__throw_out_of_range(char const*) - called by at() when index is out of bounds +void __wrap__ZSt20__throw_out_of_rangePKc(const char *) { esp_system_abort("std::out_of_range"); } + +// std::__throw_out_of_range_fmt(char const*, ...) - called by bitset::to_ulong when value doesn't fit +void __wrap__ZSt24__throw_out_of_range_fmtPKcz(const char *, ...) { esp_system_abort("std::out_of_range"); } + +// std::__throw_bad_alloc() - called when operator new fails +void __wrap__ZSt17__throw_bad_allocv() { esp_system_abort("std::bad_alloc"); } + +// std::__throw_bad_function_call() - called when invoking empty std::function +void __wrap__ZSt25__throw_bad_function_callv() { esp_system_abort("std::bad_function_call"); } + +} // extern "C" +// NOLINTEND(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp,readability-identifier-naming) + +#endif // USE_ESP_IDF diff --git a/esphome/components/esp32_ble/ble_uuid.h b/esphome/components/esp32_ble/ble_uuid.h index ae593955a4..6c8ef7bfd9 100644 --- a/esphome/components/esp32_ble/ble_uuid.h +++ b/esphome/components/esp32_ble/ble_uuid.h @@ -46,6 +46,8 @@ class ESPBTUUID { esp_bt_uuid_t get_uuid() const; + // Remove before 2026.8.0 + ESPDEPRECATED("Use to_str() instead. Removed in 2026.8.0", "2026.2.0") std::string to_string() const; const char *to_str(std::span output) const; diff --git a/esphome/components/esp32_ble_client/ble_client_base.cpp b/esphome/components/esp32_ble_client/ble_client_base.cpp index 01f79156a9..c464c89390 100644 --- a/esphome/components/esp32_ble_client/ble_client_base.cpp +++ b/esphome/components/esp32_ble_client/ble_client_base.cpp @@ -50,7 +50,7 @@ void BLEClientBase::loop() { this->set_state(espbt::ClientState::INIT); return; } - if (this->state_ == espbt::ClientState::INIT) { + if (this->state() == espbt::ClientState::INIT) { auto ret = esp_ble_gattc_app_register(this->app_id); if (ret) { ESP_LOGE(TAG, "gattc app register failed. app_id=%d code=%d", this->app_id, ret); @@ -60,7 +60,7 @@ void BLEClientBase::loop() { } // If idle, we can disable the loop as connect() // will enable it again when a connection is needed. - else if (this->state_ == espbt::ClientState::IDLE) { + else if (this->state() == espbt::ClientState::IDLE) { this->disable_loop(); } } @@ -86,7 +86,7 @@ bool BLEClientBase::parse_device(const espbt::ESPBTDevice &device) { return false; if (this->address_ == 0 || device.address_uint64() != this->address_) return false; - if (this->state_ != espbt::ClientState::IDLE) + if (this->state() != espbt::ClientState::IDLE) return false; this->log_event_("Found device"); @@ -102,10 +102,10 @@ bool BLEClientBase::parse_device(const espbt::ESPBTDevice &device) { void BLEClientBase::connect() { // Prevent duplicate connection attempts - if (this->state_ == espbt::ClientState::CONNECTING || this->state_ == espbt::ClientState::CONNECTED || - this->state_ == espbt::ClientState::ESTABLISHED) { + if (this->state() == espbt::ClientState::CONNECTING || this->state() == espbt::ClientState::CONNECTED || + this->state() == espbt::ClientState::ESTABLISHED) { ESP_LOGW(TAG, "[%d] [%s] Connection already in progress, state=%s", this->connection_index_, this->address_str_, - espbt::client_state_to_string(this->state_)); + espbt::client_state_to_string(this->state())); return; } ESP_LOGI(TAG, "[%d] [%s] 0x%02x Connecting", this->connection_index_, this->address_str_, this->remote_addr_type_); @@ -133,12 +133,12 @@ void BLEClientBase::connect() { esp_err_t BLEClientBase::pair() { return esp_ble_set_encryption(this->remote_bda_, ESP_BLE_SEC_ENCRYPT); } void BLEClientBase::disconnect() { - if (this->state_ == espbt::ClientState::IDLE || this->state_ == espbt::ClientState::DISCONNECTING) { + if (this->state() == espbt::ClientState::IDLE || this->state() == espbt::ClientState::DISCONNECTING) { ESP_LOGI(TAG, "[%d] [%s] Disconnect requested, but already %s", this->connection_index_, this->address_str_, - espbt::client_state_to_string(this->state_)); + espbt::client_state_to_string(this->state())); return; } - if (this->state_ == espbt::ClientState::CONNECTING || this->conn_id_ == UNSET_CONN_ID) { + if (this->state() == espbt::ClientState::CONNECTING || this->conn_id_ == UNSET_CONN_ID) { ESP_LOGD(TAG, "[%d] [%s] Disconnect before connected, disconnect scheduled", this->connection_index_, this->address_str_); this->want_disconnect_ = true; @@ -150,7 +150,7 @@ void BLEClientBase::disconnect() { void BLEClientBase::unconditional_disconnect() { // Disconnect without checking the state. ESP_LOGI(TAG, "[%d] [%s] Disconnecting (conn_id: %d).", this->connection_index_, this->address_str_, this->conn_id_); - if (this->state_ == espbt::ClientState::DISCONNECTING) { + if (this->state() == espbt::ClientState::DISCONNECTING) { this->log_error_("Already disconnecting"); return; } @@ -170,7 +170,7 @@ void BLEClientBase::unconditional_disconnect() { this->log_gattc_warning_("esp_ble_gattc_close", err); } - if (this->state_ == espbt::ClientState::DISCOVERED) { + if (this->state() == espbt::ClientState::DISCOVERED) { this->set_address(0); this->set_state(espbt::ClientState::IDLE); } else { @@ -295,18 +295,18 @@ bool BLEClientBase::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ // ESP-IDF's BLE stack may send ESP_GATTC_OPEN_EVT after esp_ble_gattc_open() returns an // error, if the error occurred at the BTA/GATT layer. This can result in the event // arriving after we've already transitioned to IDLE state. - if (this->state_ == espbt::ClientState::IDLE) { + if (this->state() == espbt::ClientState::IDLE) { ESP_LOGD(TAG, "[%d] [%s] ESP_GATTC_OPEN_EVT in IDLE state (status=%d), ignoring", this->connection_index_, this->address_str_, param->open.status); break; } - if (this->state_ != espbt::ClientState::CONNECTING) { + if (this->state() != espbt::ClientState::CONNECTING) { // This should not happen but lets log it in case it does // because it means we have a bad assumption about how the // ESP BT stack works. ESP_LOGE(TAG, "[%d] [%s] ESP_GATTC_OPEN_EVT in %s state (status=%d)", this->connection_index_, - this->address_str_, espbt::client_state_to_string(this->state_), param->open.status); + this->address_str_, espbt::client_state_to_string(this->state()), param->open.status); } if (param->open.status != ESP_GATT_OK && param->open.status != ESP_GATT_ALREADY_OPEN) { this->log_gattc_warning_("Connection open", param->open.status); @@ -327,7 +327,7 @@ bool BLEClientBase::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ if (this->connection_type_ == espbt::ConnectionType::V3_WITH_CACHE) { // Cached connections already connected with medium parameters, no update needed // only set our state, subclients might have more stuff to do yet. - this->state_ = espbt::ClientState::ESTABLISHED; + this->set_state_internal_(espbt::ClientState::ESTABLISHED); break; } // For V3_WITHOUT_CACHE, we already set fast params before connecting @@ -356,7 +356,7 @@ bool BLEClientBase::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ return false; // Check if we were disconnected while waiting for service discovery if (param->disconnect.reason == ESP_GATT_CONN_TERMINATE_PEER_USER && - this->state_ == espbt::ClientState::CONNECTED) { + this->state() == espbt::ClientState::CONNECTED) { this->log_warning_("Remote closed during discovery"); } else { ESP_LOGD(TAG, "[%d] [%s] ESP_GATTC_DISCONNECT_EVT, reason 0x%02x", this->connection_index_, this->address_str_, @@ -433,7 +433,7 @@ bool BLEClientBase::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_ #endif } ESP_LOGI(TAG, "[%d] [%s] Service discovery complete", this->connection_index_, this->address_str_); - this->state_ = espbt::ClientState::ESTABLISHED; + this->set_state_internal_(espbt::ClientState::ESTABLISHED); break; } case ESP_GATTC_READ_DESCR_EVT: { diff --git a/esphome/components/esp32_ble_client/ble_client_base.h b/esphome/components/esp32_ble_client/ble_client_base.h index c52f0e5d2d..c2336b2349 100644 --- a/esphome/components/esp32_ble_client/ble_client_base.h +++ b/esphome/components/esp32_ble_client/ble_client_base.h @@ -44,7 +44,7 @@ class BLEClientBase : public espbt::ESPBTClient, public Component { void unconditional_disconnect(); void release_services(); - bool connected() { return this->state_ == espbt::ClientState::ESTABLISHED; } + bool connected() { return this->state() == espbt::ClientState::ESTABLISHED; } void set_auto_connect(bool auto_connect) { this->auto_connect_ = auto_connect; } diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp index 995755ac84..73a298d279 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp @@ -105,15 +105,13 @@ void ESP32BLETracker::loop() { } // Check for scan timeout - moved here from scheduler to avoid false reboots - // when the loop is blocked + // when the loop is blocked. This must run every iteration for safety. if (this->scanner_state_ == ScannerState::RUNNING) { switch (this->scan_timeout_state_) { case ScanTimeoutState::MONITORING: { - uint32_t now = App.get_loop_component_start_time(); - uint32_t timeout_ms = this->scan_duration_ * 2000; // Robust time comparison that handles rollover correctly // This works because unsigned arithmetic wraps around predictably - if ((now - this->scan_start_time_) > timeout_ms) { + if ((App.get_loop_component_start_time() - this->scan_start_time_) > this->scan_timeout_ms_) { // First time we've seen the timeout exceeded - wait one more loop iteration // This ensures all components have had a chance to process pending events // This is because esp32_ble may not have run yet and called @@ -128,13 +126,31 @@ void ESP32BLETracker::loop() { ESP_LOGE(TAG, "Scan never terminated, rebooting"); App.reboot(); break; - case ScanTimeoutState::INACTIVE: - // This case should be unreachable - scanner and timeout states are always synchronized break; } } + // Fast path: skip expensive client state counting and processing + // if no state has changed since last loop iteration. + // + // How state changes ensure we reach the code below: + // - handle_scanner_failure_(): scanner_state_ becomes FAILED via set_scanner_state_(), or + // scan_set_param_failed_ requires scanner_state_==RUNNING which can only be reached via + // set_scanner_state_(RUNNING) in gap_scan_start_complete_() (scan params are set during + // STARTING, not RUNNING, so version is always incremented before this condition is true) + // - start_scan_(): scanner_state_ becomes IDLE via set_scanner_state_() in cleanup_scan_state_() + // - try_promote_discovered_clients_(): client enters DISCOVERED via set_state(), or + // connecting client finishes (state change), or scanner reaches RUNNING/IDLE + // + // All conditions that affect the logic below are tied to state changes that increment + // state_version_, so the fast path is safe. + if (this->state_version_ == this->last_processed_version_) { + return; + } + this->last_processed_version_ = this->state_version_; + + // State changed - do full processing ClientStateCounts counts = this->count_client_states_(); if (counts != this->client_state_counts_) { this->client_state_counts_ = counts; @@ -142,6 +158,7 @@ void ESP32BLETracker::loop() { this->client_state_counts_.discovered, this->client_state_counts_.disconnecting); } + // Scanner failure: reached when set_scanner_state_(FAILED) or scan_set_param_failed_ set if (this->scanner_state_ == ScannerState::FAILED || (this->scan_set_param_failed_ && this->scanner_state_ == ScannerState::RUNNING)) { this->handle_scanner_failure_(); @@ -160,6 +177,8 @@ void ESP32BLETracker::loop() { */ + // Start scan: reached when scanner_state_ becomes IDLE (via set_scanner_state_()) and + // all clients are idle (their state changes increment version when they finish) if (this->scanner_state_ == ScannerState::IDLE && !counts.connecting && !counts.disconnecting && !counts.discovered) { #ifdef USE_ESP32_BLE_SOFTWARE_COEXISTENCE this->update_coex_preference_(false); @@ -168,8 +187,9 @@ void ESP32BLETracker::loop() { this->start_scan_(false); // first = false } } - // If there is a discovered client and no connecting - // clients, then promote the discovered client to ready to connect. + // Promote discovered clients: reached when a client's state becomes DISCOVERED (via set_state()), + // or when a blocking condition clears (connecting client finishes, scanner reaches RUNNING/IDLE). + // All these trigger state_version_ increment, so we'll process and check promotion eligibility. // We check both RUNNING and IDLE states because: // - RUNNING: gap_scan_event_handler initiates stop_scan_() but promotion can happen immediately // - IDLE: Scanner has already stopped (naturally or by gap_scan_event_handler) @@ -236,6 +256,7 @@ void ESP32BLETracker::start_scan_(bool first) { // Start timeout monitoring in loop() instead of using scheduler // This prevents false reboots when the loop is blocked this->scan_start_time_ = App.get_loop_component_start_time(); + this->scan_timeout_ms_ = this->scan_duration_ * 2000; this->scan_timeout_state_ = ScanTimeoutState::MONITORING; esp_err_t err = esp_ble_gap_set_scan_params(&this->scan_params_); @@ -253,6 +274,10 @@ void ESP32BLETracker::start_scan_(bool first) { void ESP32BLETracker::register_client(ESPBTClient *client) { #ifdef ESPHOME_ESP32_BLE_TRACKER_CLIENT_COUNT client->app_id = ++this->app_id_; + // Give client a pointer to our state_version_ so it can notify us of state changes. + // This enables loop() fast-path optimization - we skip expensive work when no state changed. + // Safe because ESP32BLETracker (singleton) outlives all registered clients. + client->set_tracker_state_version(&this->state_version_); this->clients_.push_back(client); this->recalculate_advertisement_parser_types(); #endif @@ -382,6 +407,7 @@ void ESP32BLETracker::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_i void ESP32BLETracker::set_scanner_state_(ScannerState state) { this->scanner_state_ = state; + this->state_version_++; for (auto *listener : this->scanner_state_listeners_) { listener->on_scanner_state(state); } diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h index f538a0eddc..fa0cdb6f45 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.h @@ -216,6 +216,19 @@ enum class ConnectionType : uint8_t { V3_WITHOUT_CACHE }; +/// Base class for BLE GATT clients that connect to remote devices. +/// +/// State Change Tracking Design: +/// ----------------------------- +/// ESP32BLETracker::loop() needs to know when client states change to avoid +/// expensive polling. Rather than checking all clients every iteration (~7000/min), +/// we use a version counter owned by ESP32BLETracker that clients increment on +/// state changes. The tracker compares versions to skip work when nothing changed. +/// +/// Ownership: ESP32BLETracker owns state_version_. Clients hold a non-owning +/// pointer (tracker_state_version_) set during register_client(). Clients +/// increment the counter through this pointer when their state changes. +/// The pointer may be null if the client is not registered with a tracker. class ESPBTClient : public ESPBTDeviceListener { public: virtual bool gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, @@ -225,26 +238,49 @@ class ESPBTClient : public ESPBTDeviceListener { virtual void disconnect() = 0; bool disconnect_pending() const { return this->want_disconnect_; } void cancel_pending_disconnect() { this->want_disconnect_ = false; } + + /// Set the client state with IDLE handling (clears want_disconnect_). + /// Notifies the tracker of state change for loop optimization. virtual void set_state(ClientState st) { - this->state_ = st; + this->set_state_internal_(st); if (st == ClientState::IDLE) { this->want_disconnect_ = false; } } - ClientState state() const { return state_; } + ClientState state() const { return this->state_; } + + /// Called by ESP32BLETracker::register_client() to enable state change notifications. + /// The pointer must remain valid for the lifetime of the client (guaranteed since + /// ESP32BLETracker is a singleton that outlives all clients). + void set_tracker_state_version(uint8_t *version) { this->tracker_state_version_ = version; } // Memory optimized layout uint8_t app_id; // App IDs are small integers assigned sequentially protected: - // Group 1: 1-byte types - ClientState state_{ClientState::INIT}; + /// Set state without IDLE handling - use for direct state transitions. + /// Increments the tracker's state version counter to signal that loop() + /// should do full processing on the next iteration. + void set_state_internal_(ClientState st) { + this->state_ = st; + // Notify tracker that state changed (tracker_state_version_ is owned by ESP32BLETracker) + if (this->tracker_state_version_ != nullptr) { + (*this->tracker_state_version_)++; + } + } + // want_disconnect_ is set to true when a disconnect is requested // while the client is connecting. This is used to disconnect the // client as soon as we get the connection id (conn_id_) from the // ESP_GATTC_OPEN_EVT event. bool want_disconnect_{false}; - // 2 bytes used, 2 bytes padding + + private: + ClientState state_{ClientState::INIT}; + /// Non-owning pointer to ESP32BLETracker::state_version_. When this client's + /// state changes, we increment the tracker's counter to signal that loop() + /// should perform full processing. Null if client not registered with tracker. + uint8_t *tracker_state_version_{nullptr}; }; class ESP32BLETracker : public Component, @@ -380,6 +416,16 @@ class ESP32BLETracker : public Component, // Group 4: 1-byte types (enums, uint8_t, bool) uint8_t app_id_{0}; uint8_t scan_start_fail_count_{0}; + /// Version counter for loop() fast-path optimization. Incremented when: + /// - Scanner state changes (via set_scanner_state_()) + /// - Any registered client's state changes (clients hold pointer to this counter) + /// Owned by this class; clients receive non-owning pointer via register_client(). + /// When loop() sees state_version_ == last_processed_version_, it skips expensive + /// client state counting and takes the fast path (just timeout check + return). + uint8_t state_version_{0}; + /// Last state_version_ value when loop() did full processing. Compared against + /// state_version_ to detect if any state changed since last iteration. + uint8_t last_processed_version_{0}; ScannerState scanner_state_{ScannerState::IDLE}; bool scan_continuous_; bool scan_active_; @@ -396,6 +442,8 @@ class ESP32BLETracker : public Component, EXCEEDED_WAIT, // Timeout exceeded, waiting one loop before reboot }; uint32_t scan_start_time_{0}; + /// Precomputed timeout value: scan_duration_ * 2000 + uint32_t scan_timeout_ms_{0}; ScanTimeoutState scan_timeout_state_{ScanTimeoutState::INACTIVE}; }; diff --git a/esphome/components/esp32_hosted/__init__.py b/esphome/components/esp32_hosted/__init__.py index e40431c851..170f436f02 100644 --- a/esphome/components/esp32_hosted/__init__.py +++ b/esphome/components/esp32_hosted/__init__.py @@ -12,6 +12,7 @@ from esphome.const import ( KEY_FRAMEWORK_VERSION, ) from esphome.core import CORE +from esphome.cpp_generator import add_define CODEOWNERS = ["@swoboda1337"] @@ -42,6 +43,7 @@ CONFIG_SCHEMA = cv.All( async def to_code(config): + add_define("USE_ESP32_HOSTED") if config[CONF_ACTIVE_HIGH]: esp32.add_idf_sdkconfig_option( "CONFIG_ESP_HOSTED_SDIO_RESET_ACTIVE_HIGH", diff --git a/esphome/components/esp32_hosted/update/esp32_hosted_update.cpp b/esphome/components/esp32_hosted/update/esp32_hosted_update.cpp index d69a438578..ebcdd5f36e 100644 --- a/esphome/components/esp32_hosted/update/esp32_hosted_update.cpp +++ b/esphome/components/esp32_hosted/update/esp32_hosted_update.cpp @@ -11,6 +11,7 @@ #include #ifdef USE_ESP32_HOSTED_HTTP_UPDATE +#include "esphome/components/http_request/http_request.h" #include "esphome/components/json/json_util.h" #include "esphome/components/network/util.h" #endif @@ -69,7 +70,10 @@ void Esp32HostedUpdate::setup() { // Get coprocessor version esp_hosted_coprocessor_fwver_t ver_info; if (esp_hosted_get_coprocessor_fwversion(&ver_info) == ESP_OK) { - this->update_info_.current_version = str_sprintf("%d.%d.%d", ver_info.major1, ver_info.minor1, ver_info.patch1); + // 16 bytes: "255.255.255" (11 chars) + null + safety margin + char buf[16]; + snprintf(buf, sizeof(buf), "%d.%d.%d", ver_info.major1, ver_info.minor1, ver_info.patch1); + this->update_info_.current_version = buf; } else { this->update_info_.current_version = "unknown"; } @@ -181,15 +185,23 @@ bool Esp32HostedUpdate::fetch_manifest_() { } // Read manifest JSON into string (manifest is small, ~1KB max) + // NOTE: HttpContainer::read() has non-BSD socket semantics - see http_request.h + // Use http_read_loop_result() helper instead of checking return values directly std::string json_str; json_str.reserve(container->content_length); uint8_t buf[256]; + uint32_t last_data_time = millis(); + const uint32_t read_timeout = this->http_request_parent_->get_timeout(); while (container->get_bytes_read() < container->content_length) { - int read = container->read(buf, sizeof(buf)); - if (read > 0) { - json_str.append(reinterpret_cast(buf), read); - } + int read_or_error = container->read(buf, sizeof(buf)); + App.feed_wdt(); yield(); + auto result = http_request::http_read_loop_result(read_or_error, last_data_time, read_timeout); + if (result == http_request::HttpReadLoopResult::RETRY) + continue; + if (result != http_request::HttpReadLoopResult::DATA) + break; // ERROR or TIMEOUT + json_str.append(reinterpret_cast(buf), read_or_error); } container->end(); @@ -294,32 +306,38 @@ bool Esp32HostedUpdate::stream_firmware_to_coprocessor_() { } // Stream firmware to coprocessor while computing SHA256 + // NOTE: HttpContainer::read() has non-BSD socket semantics - see http_request.h + // Use http_read_loop_result() helper instead of checking return values directly sha256::SHA256 hasher; hasher.init(); uint8_t buffer[CHUNK_SIZE]; + uint32_t last_data_time = millis(); + const uint32_t read_timeout = this->http_request_parent_->get_timeout(); while (container->get_bytes_read() < total_size) { - int read = container->read(buffer, sizeof(buffer)); + int read_or_error = container->read(buffer, sizeof(buffer)); // Feed watchdog and give other tasks a chance to run App.feed_wdt(); yield(); - // Exit loop if no data available (stream closed or end of data) - if (read <= 0) { - if (read < 0) { - ESP_LOGE(TAG, "Stream closed with error"); - esp_hosted_slave_ota_end(); // NOLINT - container->end(); - this->status_set_error(LOG_STR("Download failed")); - return false; + auto result = http_request::http_read_loop_result(read_or_error, last_data_time, read_timeout); + if (result == http_request::HttpReadLoopResult::RETRY) + continue; + if (result != http_request::HttpReadLoopResult::DATA) { + if (result == http_request::HttpReadLoopResult::TIMEOUT) { + ESP_LOGE(TAG, "Timeout reading firmware data"); + } else { + ESP_LOGE(TAG, "Error reading firmware data: %d", read_or_error); } - // read == 0: no more data available, exit loop - break; + esp_hosted_slave_ota_end(); // NOLINT + container->end(); + this->status_set_error(LOG_STR("Download failed")); + return false; } - hasher.add(buffer, read); - err = esp_hosted_slave_ota_write(buffer, read); // NOLINT + hasher.add(buffer, read_or_error); + err = esp_hosted_slave_ota_write(buffer, read_or_error); // NOLINT if (err != ESP_OK) { ESP_LOGE(TAG, "Failed to write OTA data: %s", esp_err_to_name(err)); esp_hosted_slave_ota_end(); // NOLINT diff --git a/esphome/components/esp8266/core.cpp b/esphome/components/esp8266/core.cpp index 200ca567c2..784b87916b 100644 --- a/esphome/components/esp8266/core.cpp +++ b/esphome/components/esp8266/core.cpp @@ -6,7 +6,11 @@ #include "esphome/core/helpers.h" #include "preferences.h" #include -#include +#include + +extern "C" { +#include +} namespace esphome { @@ -16,23 +20,19 @@ void IRAM_ATTR HOT delay(uint32_t ms) { ::delay(ms); } uint32_t IRAM_ATTR HOT micros() { return ::micros(); } void IRAM_ATTR HOT delayMicroseconds(uint32_t us) { delay_microseconds_safe(us); } void arch_restart() { - ESP.restart(); // NOLINT(readability-static-accessed-through-instance) + system_restart(); // restart() doesn't always end execution while (true) { // NOLINT(clang-diagnostic-unreachable-code) yield(); } } void arch_init() {} -void IRAM_ATTR HOT arch_feed_wdt() { - ESP.wdtFeed(); // NOLINT(readability-static-accessed-through-instance) -} +void IRAM_ATTR HOT arch_feed_wdt() { system_soft_wdt_feed(); } uint8_t progmem_read_byte(const uint8_t *addr) { return pgm_read_byte(addr); // NOLINT } -uint32_t IRAM_ATTR HOT arch_get_cpu_cycle_count() { - return ESP.getCycleCount(); // NOLINT(readability-static-accessed-through-instance) -} +uint32_t IRAM_ATTR HOT arch_get_cpu_cycle_count() { return esp_get_cycle_count(); } uint32_t arch_get_cpu_freq_hz() { return F_CPU; } void force_link_symbols() { diff --git a/esphome/components/esp8266/gpio.cpp b/esphome/components/esp8266/gpio.cpp index 7a5ee08984..659233443e 100644 --- a/esphome/components/esp8266/gpio.cpp +++ b/esphome/components/esp8266/gpio.cpp @@ -99,7 +99,7 @@ void ESP8266GPIOPin::pin_mode(gpio::Flags flags) { } size_t ESP8266GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "GPIO%u", this->pin_); + return buf_append_printf(buffer, len, 0, "GPIO%u", this->pin_); } bool ESP8266GPIOPin::digital_read() { diff --git a/esphome/components/esp8266/preferences.cpp b/esphome/components/esp8266/preferences.cpp index 47987b4a95..35d1cd07f7 100644 --- a/esphome/components/esp8266/preferences.cpp +++ b/esphome/components/esp8266/preferences.cpp @@ -12,7 +12,6 @@ extern "C" { #include "preferences.h" #include -#include namespace esphome::esp8266 { @@ -143,16 +142,8 @@ class ESP8266PreferenceBackend : public ESPPreferenceBackend { return false; const size_t buffer_size = static_cast(this->length_words) + 1; - uint32_t stack_buffer[PREF_BUFFER_WORDS]; - std::unique_ptr heap_buffer; - uint32_t *buffer; - - if (buffer_size <= PREF_BUFFER_WORDS) { - buffer = stack_buffer; - } else { - heap_buffer = make_unique(buffer_size); - buffer = heap_buffer.get(); - } + SmallBufferWithHeapFallback buffer_alloc(buffer_size); + uint32_t *buffer = buffer_alloc.get(); memset(buffer, 0, buffer_size * sizeof(uint32_t)); memcpy(buffer, data, len); @@ -167,16 +158,8 @@ class ESP8266PreferenceBackend : public ESPPreferenceBackend { return false; const size_t buffer_size = static_cast(this->length_words) + 1; - uint32_t stack_buffer[PREF_BUFFER_WORDS]; - std::unique_ptr heap_buffer; - uint32_t *buffer; - - if (buffer_size <= PREF_BUFFER_WORDS) { - buffer = stack_buffer; - } else { - heap_buffer = make_unique(buffer_size); - buffer = heap_buffer.get(); - } + SmallBufferWithHeapFallback buffer_alloc(buffer_size); + uint32_t *buffer = buffer_alloc.get(); bool ret = this->in_flash ? load_from_flash(this->offset, buffer, buffer_size) : load_from_rtc(this->offset, buffer, buffer_size); diff --git a/esphome/components/event/__init__.py b/esphome/components/event/__init__.py index e2b69ba872..8fac7a279c 100644 --- a/esphome/components/event/__init__.py +++ b/esphome/components/event/__init__.py @@ -90,9 +90,7 @@ async def setup_event_core_(var, config, *, event_types: list[str]): for conf in config.get(CONF_ON_EVENT, []): trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) - await automation.build_automation( - trigger, [(cg.std_string, "event_type")], conf - ) + await automation.build_automation(trigger, [(cg.StringRef, "event_type")], conf) cg.add(var.set_event_types(event_types)) diff --git a/esphome/components/event/automation.h b/esphome/components/event/automation.h index 5bdba18687..7730506c10 100644 --- a/esphome/components/event/automation.h +++ b/esphome/components/event/automation.h @@ -14,10 +14,10 @@ template class TriggerEventAction : public Action, public void play(const Ts &...x) override { this->parent_->trigger(this->event_type_.value(x...)); } }; -class EventTrigger : public Trigger { +class EventTrigger : public Trigger { public: EventTrigger(Event *event) { - event->add_on_event_callback([this](const std::string &event_type) { this->trigger(event_type); }); + event->add_on_event_callback([this](StringRef event_type) { this->trigger(event_type); }); } }; diff --git a/esphome/components/event/event.cpp b/esphome/components/event/event.cpp index 8015f2255a..667d4218f3 100644 --- a/esphome/components/event/event.cpp +++ b/esphome/components/event/event.cpp @@ -23,7 +23,7 @@ void Event::trigger(const std::string &event_type) { } this->last_event_type_ = found; ESP_LOGD(TAG, "'%s' >> '%s'", this->get_name().c_str(), this->last_event_type_); - this->event_callback_.call(event_type); + this->event_callback_.call(StringRef(found)); #if defined(USE_EVENT) && defined(USE_CONTROLLER_REGISTRY) ControllerRegistry::notify_event(this); #endif @@ -45,7 +45,7 @@ void Event::set_event_types(const std::vector &event_types) { this->last_event_type_ = nullptr; // Reset when types change } -void Event::add_on_event_callback(std::function &&callback) { +void Event::add_on_event_callback(std::function &&callback) { this->event_callback_.add(std::move(callback)); } diff --git a/esphome/components/event/event.h b/esphome/components/event/event.h index f77ad326d9..a7451407bb 100644 --- a/esphome/components/event/event.h +++ b/esphome/components/event/event.h @@ -16,12 +16,8 @@ namespace event { #define LOG_EVENT(prefix, type, obj) \ if ((obj) != nullptr) { \ ESP_LOGCONFIG(TAG, "%s%s '%s'", prefix, LOG_STR_LITERAL(type), (obj)->get_name().c_str()); \ - if (!(obj)->get_icon_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Icon: '%s'", prefix, (obj)->get_icon_ref().c_str()); \ - } \ - if (!(obj)->get_device_class_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Device Class: '%s'", prefix, (obj)->get_device_class_ref().c_str()); \ - } \ + LOG_ENTITY_ICON(TAG, prefix, *(obj)); \ + LOG_ENTITY_DEVICE_CLASS(TAG, prefix, *(obj)); \ } class Event : public EntityBase, public EntityBase_DeviceClass { @@ -70,10 +66,10 @@ class Event : public EntityBase, public EntityBase_DeviceClass { /// Check if an event has been triggered. bool has_event() const { return this->last_event_type_ != nullptr; } - void add_on_event_callback(std::function &&callback); + void add_on_event_callback(std::function &&callback); protected: - LazyCallbackManager event_callback_; + LazyCallbackManager event_callback_; FixedVector types_; private: diff --git a/esphome/components/ezo/ezo.cpp b/esphome/components/ezo/ezo.cpp index 2e92c58e29..e4036021df 100644 --- a/esphome/components/ezo/ezo.cpp +++ b/esphome/components/ezo/ezo.cpp @@ -160,7 +160,7 @@ void EZOSensor::loop() { this->commands_.pop_front(); } -void EZOSensor::add_command_(const std::string &command, EzoCommandType command_type, uint16_t delay_ms) { +void EZOSensor::add_command_(const char *command, EzoCommandType command_type, uint16_t delay_ms) { std::unique_ptr ezo_command(new EzoCommand); ezo_command->command = command; ezo_command->command_type = command_type; @@ -169,13 +169,17 @@ void EZOSensor::add_command_(const std::string &command, EzoCommandType command_ } void EZOSensor::set_calibration_point_(EzoCalibrationType type, float value) { - std::string payload = str_sprintf("Cal,%s,%0.2f", EZO_CALIBRATION_TYPE_STRINGS[type], value); + // max 21: "Cal,"(4) + type(4) + ","(1) + float(11) + null; use 24 for safety + char payload[24]; + snprintf(payload, sizeof(payload), "Cal,%s,%0.2f", EZO_CALIBRATION_TYPE_STRINGS[type], value); this->add_command_(payload, EzoCommandType::EZO_CALIBRATION, 900); } void EZOSensor::set_address(uint8_t address) { if (address > 0 && address < 128) { - std::string payload = str_sprintf("I2C,%u", address); + // max 8: "I2C,"(4) + uint8(3) + null + char payload[8]; + snprintf(payload, sizeof(payload), "I2C,%u", address); this->new_address_ = address; this->add_command_(payload, EzoCommandType::EZO_I2C); } else { @@ -194,7 +198,9 @@ void EZOSensor::get_slope() { this->add_command_("Slope,?", EzoCommandType::EZO_ void EZOSensor::get_t() { this->add_command_("T,?", EzoCommandType::EZO_T); } void EZOSensor::set_t(float value) { - std::string payload = str_sprintf("T,%0.2f", value); + // max 14 bytes: "T,"(2) + float with "%0.2f" (up to 11 chars) + null(1); use 16 for alignment + char payload[16]; + snprintf(payload, sizeof(payload), "T,%0.2f", value); this->add_command_(payload, EzoCommandType::EZO_T); } @@ -215,7 +221,9 @@ void EZOSensor::set_calibration_point_high(float value) { } void EZOSensor::set_calibration_generic(float value) { - std::string payload = str_sprintf("Cal,%0.2f", value); + // exact 16 bytes: "Cal," (4) + float with "%0.2f" (up to 11 chars, e.g. "-9999999.99") + null (1) = 16 + char payload[16]; + snprintf(payload, sizeof(payload), "Cal,%0.2f", value); this->add_command_(payload, EzoCommandType::EZO_CALIBRATION, 900); } @@ -223,13 +231,11 @@ void EZOSensor::clear_calibration() { this->add_command_("Cal,clear", EzoCommand void EZOSensor::get_led_state() { this->add_command_("L,?", EzoCommandType::EZO_LED); } -void EZOSensor::set_led_state(bool on) { - std::string to_send = "L,"; - to_send += on ? "1" : "0"; - this->add_command_(to_send, EzoCommandType::EZO_LED); -} +void EZOSensor::set_led_state(bool on) { this->add_command_(on ? "L,1" : "L,0", EzoCommandType::EZO_LED); } -void EZOSensor::send_custom(const std::string &to_send) { this->add_command_(to_send, EzoCommandType::EZO_CUSTOM); } +void EZOSensor::send_custom(const std::string &to_send) { + this->add_command_(to_send.c_str(), EzoCommandType::EZO_CUSTOM); +} } // namespace ezo } // namespace esphome diff --git a/esphome/components/ezo/ezo.h b/esphome/components/ezo/ezo.h index 00dd98fc80..f1a2802cbd 100644 --- a/esphome/components/ezo/ezo.h +++ b/esphome/components/ezo/ezo.h @@ -92,7 +92,7 @@ class EZOSensor : public sensor::Sensor, public PollingComponent, public i2c::I2 std::deque> commands_; int new_address_; - void add_command_(const std::string &command, EzoCommandType command_type, uint16_t delay_ms = 300); + void add_command_(const char *command, EzoCommandType command_type, uint16_t delay_ms = 300); void set_calibration_point_(EzoCalibrationType type, float value); diff --git a/esphome/components/ezo_pmp/ezo_pmp.cpp b/esphome/components/ezo_pmp/ezo_pmp.cpp index 61b601328a..9d2f4fc687 100644 --- a/esphome/components/ezo_pmp/ezo_pmp.cpp +++ b/esphome/components/ezo_pmp/ezo_pmp.cpp @@ -318,90 +318,93 @@ void EzoPMP::send_next_command_() { switch (this->next_command_) { // Read Commands case EZO_PMP_COMMAND_READ_DOSING: // Page 54 - command_buffer_length = sprintf((char *) command_buffer, "D,?"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "D,?"); break; case EZO_PMP_COMMAND_READ_SINGLE_REPORT: // Single Report (page 53) - command_buffer_length = sprintf((char *) command_buffer, "R"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "R"); break; case EZO_PMP_COMMAND_READ_MAX_FLOW_RATE: - command_buffer_length = sprintf((char *) command_buffer, "DC,?"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "DC,?"); break; case EZO_PMP_COMMAND_READ_PAUSE_STATUS: - command_buffer_length = sprintf((char *) command_buffer, "P,?"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "P,?"); break; case EZO_PMP_COMMAND_READ_TOTAL_VOLUME_DOSED: - command_buffer_length = sprintf((char *) command_buffer, "TV,?"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "TV,?"); break; case EZO_PMP_COMMAND_READ_ABSOLUTE_TOTAL_VOLUME_DOSED: - command_buffer_length = sprintf((char *) command_buffer, "ATV,?"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "ATV,?"); break; case EZO_PMP_COMMAND_READ_CALIBRATION_STATUS: - command_buffer_length = sprintf((char *) command_buffer, "Cal,?"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "Cal,?"); break; case EZO_PMP_COMMAND_READ_PUMP_VOLTAGE: - command_buffer_length = sprintf((char *) command_buffer, "PV,?"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "PV,?"); break; // Non-Read Commands case EZO_PMP_COMMAND_FIND: // Find (page 52) - command_buffer_length = sprintf((char *) command_buffer, "Find"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "Find"); wait_time_for_command = 60000; // This command will block all updates for a minute break; case EZO_PMP_COMMAND_DOSE_CONTINUOUSLY: // Continuous Dispensing (page 54) - command_buffer_length = sprintf((char *) command_buffer, "D,*"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "D,*"); break; case EZO_PMP_COMMAND_CLEAR_TOTAL_VOLUME_DOSED: // Clear Total Volume Dosed (page 64) - command_buffer_length = sprintf((char *) command_buffer, "Clear"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "Clear"); break; case EZO_PMP_COMMAND_CLEAR_CALIBRATION: // Clear Calibration (page 65) - command_buffer_length = sprintf((char *) command_buffer, "Cal,clear"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "Cal,clear"); break; case EZO_PMP_COMMAND_PAUSE_DOSING: // Pause (page 61) - command_buffer_length = sprintf((char *) command_buffer, "P"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "P"); break; case EZO_PMP_COMMAND_STOP_DOSING: // Stop (page 62) - command_buffer_length = sprintf((char *) command_buffer, "X"); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "X"); break; // Non-Read commands with parameters case EZO_PMP_COMMAND_DOSE_VOLUME: // Volume Dispensing (page 55) - command_buffer_length = sprintf((char *) command_buffer, "D,%0.1f", this->next_command_volume_); + command_buffer_length = + snprintf((char *) command_buffer, sizeof(command_buffer), "D,%0.1f", this->next_command_volume_); break; case EZO_PMP_COMMAND_DOSE_VOLUME_OVER_TIME: // Dose over time (page 56) - command_buffer_length = - sprintf((char *) command_buffer, "D,%0.1f,%i", this->next_command_volume_, this->next_command_duration_); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "D,%0.1f,%i", + this->next_command_volume_, this->next_command_duration_); break; case EZO_PMP_COMMAND_DOSE_WITH_CONSTANT_FLOW_RATE: // Constant Flow Rate (page 57) - command_buffer_length = - sprintf((char *) command_buffer, "DC,%0.1f,%i", this->next_command_volume_, this->next_command_duration_); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "DC,%0.1f,%i", + this->next_command_volume_, this->next_command_duration_); break; case EZO_PMP_COMMAND_SET_CALIBRATION_VOLUME: // Set Calibration Volume (page 65) - command_buffer_length = sprintf((char *) command_buffer, "Cal,%0.2f", this->next_command_volume_); + command_buffer_length = + snprintf((char *) command_buffer, sizeof(command_buffer), "Cal,%0.2f", this->next_command_volume_); break; case EZO_PMP_COMMAND_CHANGE_I2C_ADDRESS: // Change I2C Address (page 73) - command_buffer_length = sprintf((char *) command_buffer, "I2C,%i", this->next_command_duration_); + command_buffer_length = + snprintf((char *) command_buffer, sizeof(command_buffer), "I2C,%i", this->next_command_duration_); break; case EZO_PMP_COMMAND_EXEC_ARBITRARY_COMMAND_ADDRESS: // Run an arbitrary command - command_buffer_length = sprintf((char *) command_buffer, this->arbitrary_command_, this->next_command_duration_); + command_buffer_length = snprintf((char *) command_buffer, sizeof(command_buffer), "%s", this->arbitrary_command_); ESP_LOGI(TAG, "Sending arbitrary command: %s", (char *) command_buffer); break; diff --git a/esphome/components/factory_reset/factory_reset.cpp b/esphome/components/factory_reset/factory_reset.cpp index 2e3f802343..cd4134e9ae 100644 --- a/esphome/components/factory_reset/factory_reset.cpp +++ b/esphome/components/factory_reset/factory_reset.cpp @@ -3,6 +3,7 @@ #include "esphome/core/application.h" #include "esphome/core/hal.h" #include "esphome/core/log.h" +#include "esphome/core/progmem.h" #include @@ -19,7 +20,8 @@ static bool was_power_cycled() { #endif #ifdef USE_ESP8266 auto reset_reason = EspClass::getResetReason(); - return strcasecmp(reset_reason.c_str(), "power On") == 0 || strcasecmp(reset_reason.c_str(), "external system") == 0; + return ESPHOME_strcasecmp_P(reset_reason.c_str(), ESPHOME_PSTR("power On")) == 0 || + ESPHOME_strcasecmp_P(reset_reason.c_str(), ESPHOME_PSTR("external system")) == 0; #endif #ifdef USE_LIBRETINY auto reason = lt_get_reboot_reason(); diff --git a/esphome/components/fan/__init__.py b/esphome/components/fan/__init__.py index 35a351e8f1..6010aa8ed4 100644 --- a/esphome/components/fan/__init__.py +++ b/esphome/components/fan/__init__.py @@ -77,7 +77,7 @@ FanSpeedSetTrigger = fan_ns.class_( "FanSpeedSetTrigger", automation.Trigger.template(cg.int_) ) FanPresetSetTrigger = fan_ns.class_( - "FanPresetSetTrigger", automation.Trigger.template(cg.std_string) + "FanPresetSetTrigger", automation.Trigger.template(cg.StringRef) ) FanIsOnCondition = fan_ns.class_("FanIsOnCondition", automation.Condition.template()) @@ -287,7 +287,7 @@ async def setup_fan_core_(var, config): await automation.build_automation(trigger, [(cg.int_, "x")], conf) for conf in config.get(CONF_ON_PRESET_SET, []): trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) - await automation.build_automation(trigger, [(cg.std_string, "x")], conf) + await automation.build_automation(trigger, [(cg.StringRef, "x")], conf) async def register_fan(var, config): diff --git a/esphome/components/fan/automation.h b/esphome/components/fan/automation.h index 77abc2f13f..3c3b0ce519 100644 --- a/esphome/components/fan/automation.h +++ b/esphome/components/fan/automation.h @@ -208,7 +208,7 @@ class FanSpeedSetTrigger : public Trigger { int last_speed_; }; -class FanPresetSetTrigger : public Trigger { +class FanPresetSetTrigger : public Trigger { public: FanPresetSetTrigger(Fan *state) { state->add_on_state_callback([this, state]() { @@ -216,7 +216,7 @@ class FanPresetSetTrigger : public Trigger { auto should_trigger = preset_mode != this->last_preset_mode_; this->last_preset_mode_ = preset_mode; if (should_trigger) { - this->trigger(std::string(preset_mode)); + this->trigger(preset_mode); } }); this->last_preset_mode_ = state->get_preset_mode(); diff --git a/esphome/components/fan/fan.cpp b/esphome/components/fan/fan.cpp index 02fde730eb..a983babe1c 100644 --- a/esphome/components/fan/fan.cpp +++ b/esphome/components/fan/fan.cpp @@ -227,8 +227,7 @@ void Fan::publish_state() { constexpr uint32_t RESTORE_STATE_VERSION = 0x71700ABA; optional Fan::restore_state_() { FanRestoreState recovered{}; - this->rtc_ = - global_preferences->make_preference(this->get_preference_hash() ^ RESTORE_STATE_VERSION); + this->rtc_ = this->make_entity_preference(RESTORE_STATE_VERSION); bool restored = this->rtc_.load(&recovered); switch (this->restore_mode_) { diff --git a/esphome/components/fingerprint_grow/fingerprint_grow.cpp b/esphome/components/fingerprint_grow/fingerprint_grow.cpp index eb7ede8fe9..da4535fc82 100644 --- a/esphome/components/fingerprint_grow/fingerprint_grow.cpp +++ b/esphome/components/fingerprint_grow/fingerprint_grow.cpp @@ -1,4 +1,5 @@ #include "fingerprint_grow.h" +#include "esphome/core/gpio.h" #include "esphome/core/log.h" #include @@ -532,14 +533,21 @@ void FingerprintGrowComponent::sensor_sleep_() { } void FingerprintGrowComponent::dump_config() { + char sensing_pin_buf[GPIO_SUMMARY_MAX_LEN]; + char power_pin_buf[GPIO_SUMMARY_MAX_LEN]; + if (this->has_sensing_pin_) { + this->sensing_pin_->dump_summary(sensing_pin_buf, sizeof(sensing_pin_buf)); + } + if (this->has_power_pin_) { + this->sensor_power_pin_->dump_summary(power_pin_buf, sizeof(power_pin_buf)); + } ESP_LOGCONFIG(TAG, "GROW_FINGERPRINT_READER:\n" " System Identifier Code: 0x%.4X\n" " Touch Sensing Pin: %s\n" " Sensor Power Pin: %s", - this->system_identifier_code_, - this->has_sensing_pin_ ? this->sensing_pin_->dump_summary().c_str() : "None", - this->has_power_pin_ ? this->sensor_power_pin_->dump_summary().c_str() : "None"); + this->system_identifier_code_, this->has_sensing_pin_ ? sensing_pin_buf : "None", + this->has_power_pin_ ? power_pin_buf : "None"); if (this->idle_period_to_sleep_ms_ < UINT32_MAX) { ESP_LOGCONFIG(TAG, " Idle Period to Sleep: %" PRIu32 " ms", this->idle_period_to_sleep_ms_); } else { diff --git a/esphome/components/gdk101/gdk101.cpp b/esphome/components/gdk101/gdk101.cpp index 617e2138fb..ddf38f2f55 100644 --- a/esphome/components/gdk101/gdk101.cpp +++ b/esphome/components/gdk101/gdk101.cpp @@ -163,9 +163,10 @@ bool GDK101Component::read_fw_version_(uint8_t *data) { return false; } - const std::string fw_version_str = str_sprintf("%d.%d", data[0], data[1]); - - this->fw_version_text_sensor_->publish_state(fw_version_str); + // max 8: "255.255" (7 chars) + null + char buf[8]; + snprintf(buf, sizeof(buf), "%d.%d", data[0], data[1]); + this->fw_version_text_sensor_->publish_state(buf); } #endif // USE_TEXT_SENSOR return true; diff --git a/esphome/components/globals/__init__.py b/esphome/components/globals/__init__.py index 633ccea66b..fc400c5dd1 100644 --- a/esphome/components/globals/__init__.py +++ b/esphome/components/globals/__init__.py @@ -9,30 +9,56 @@ from esphome.const import ( CONF_VALUE, ) from esphome.core import CoroPriority, coroutine_with_priority +from esphome.types import ConfigType CODEOWNERS = ["@esphome/core"] globals_ns = cg.esphome_ns.namespace("globals") GlobalsComponent = globals_ns.class_("GlobalsComponent", cg.Component) -RestoringGlobalsComponent = globals_ns.class_("RestoringGlobalsComponent", cg.Component) +RestoringGlobalsComponent = globals_ns.class_( + "RestoringGlobalsComponent", cg.PollingComponent +) RestoringGlobalStringComponent = globals_ns.class_( - "RestoringGlobalStringComponent", cg.Component + "RestoringGlobalStringComponent", cg.PollingComponent ) GlobalVarSetAction = globals_ns.class_("GlobalVarSetAction", automation.Action) CONF_MAX_RESTORE_DATA_LENGTH = "max_restore_data_length" +# Base schema fields shared by both variants +_BASE_SCHEMA = { + cv.Required(CONF_ID): cv.declare_id(GlobalsComponent), + cv.Required(CONF_TYPE): cv.string_strict, + cv.Optional(CONF_INITIAL_VALUE): cv.string_strict, + cv.Optional(CONF_MAX_RESTORE_DATA_LENGTH): cv.int_range(0, 254), +} -MULTI_CONF = True -CONFIG_SCHEMA = cv.Schema( +# Non-restoring globals: regular Component (no polling needed) +_NON_RESTORING_SCHEMA = cv.Schema( { - cv.Required(CONF_ID): cv.declare_id(GlobalsComponent), - cv.Required(CONF_TYPE): cv.string_strict, - cv.Optional(CONF_INITIAL_VALUE): cv.string_strict, + **_BASE_SCHEMA, cv.Optional(CONF_RESTORE_VALUE, default=False): cv.boolean, - cv.Optional(CONF_MAX_RESTORE_DATA_LENGTH): cv.int_range(0, 254), } ).extend(cv.COMPONENT_SCHEMA) +# Restoring globals: PollingComponent with configurable update_interval +_RESTORING_SCHEMA = cv.Schema( + { + **_BASE_SCHEMA, + cv.Optional(CONF_RESTORE_VALUE, default=True): cv.boolean, + } +).extend(cv.polling_component_schema("1s")) + + +def _globals_schema(config: ConfigType) -> ConfigType: + """Select schema based on restore_value setting.""" + if config.get(CONF_RESTORE_VALUE, False): + return _RESTORING_SCHEMA(config) + return _NON_RESTORING_SCHEMA(config) + + +MULTI_CONF = True +CONFIG_SCHEMA = _globals_schema + # Run with low priority so that namespaces are registered first @coroutine_with_priority(CoroPriority.LATE) diff --git a/esphome/components/globals/globals_component.h b/esphome/components/globals/globals_component.h index 1d2a08937e..3db29bea35 100644 --- a/esphome/components/globals/globals_component.h +++ b/esphome/components/globals/globals_component.h @@ -5,8 +5,7 @@ #include "esphome/core/helpers.h" #include -namespace esphome { -namespace globals { +namespace esphome::globals { template class GlobalsComponent : public Component { public: @@ -24,13 +23,14 @@ template class GlobalsComponent : public Component { T value_{}; }; -template class RestoringGlobalsComponent : public Component { +template class RestoringGlobalsComponent : public PollingComponent { public: using value_type = T; - explicit RestoringGlobalsComponent() = default; - explicit RestoringGlobalsComponent(T initial_value) : value_(initial_value) {} + explicit RestoringGlobalsComponent() : PollingComponent(1000) {} + explicit RestoringGlobalsComponent(T initial_value) : PollingComponent(1000), value_(initial_value) {} explicit RestoringGlobalsComponent( - std::array::type, std::extent::value> initial_value) { + std::array::type, std::extent::value> initial_value) + : PollingComponent(1000) { memcpy(this->value_, initial_value.data(), sizeof(T)); } @@ -44,7 +44,7 @@ template class RestoringGlobalsComponent : public Component { float get_setup_priority() const override { return setup_priority::HARDWARE; } - void loop() override { store_value_(); } + void update() override { store_value_(); } void on_shutdown() override { store_value_(); } @@ -66,13 +66,14 @@ template class RestoringGlobalsComponent : public Component { }; // Use with string or subclasses of strings -template class RestoringGlobalStringComponent : public Component { +template class RestoringGlobalStringComponent : public PollingComponent { public: using value_type = T; - explicit RestoringGlobalStringComponent() = default; - explicit RestoringGlobalStringComponent(T initial_value) { this->value_ = initial_value; } + explicit RestoringGlobalStringComponent() : PollingComponent(1000) {} + explicit RestoringGlobalStringComponent(T initial_value) : PollingComponent(1000) { this->value_ = initial_value; } explicit RestoringGlobalStringComponent( - std::array::type, std::extent::value> initial_value) { + std::array::type, std::extent::value> initial_value) + : PollingComponent(1000) { memcpy(this->value_, initial_value.data(), sizeof(T)); } @@ -90,7 +91,7 @@ template class RestoringGlobalStringComponent : public C float get_setup_priority() const override { return setup_priority::HARDWARE; } - void loop() override { store_value_(); } + void update() override { store_value_(); } void on_shutdown() override { store_value_(); } @@ -144,5 +145,4 @@ template T &id(GlobalsComponent *value) { return value->value(); template T &id(RestoringGlobalsComponent *value) { return value->value(); } template T &id(RestoringGlobalStringComponent *value) { return value->value(); } -} // namespace globals -} // namespace esphome +} // namespace esphome::globals diff --git a/esphome/components/haier/haier_base.cpp b/esphome/components/haier/haier_base.cpp index cd2673a272..1882aa439e 100644 --- a/esphome/components/haier/haier_base.cpp +++ b/esphome/components/haier/haier_base.cpp @@ -350,8 +350,7 @@ ClimateTraits HaierClimateBase::traits() { return traits_; } void HaierClimateBase::initialization() { constexpr uint32_t restore_settings_version = 0xA77D21EF; - this->base_rtc_ = - global_preferences->make_preference(this->get_preference_hash() ^ restore_settings_version); + this->base_rtc_ = this->make_entity_preference(restore_settings_version); HaierBaseSettings recovered; if (!this->base_rtc_.load(&recovered)) { recovered = {false, true}; diff --git a/esphome/components/haier/hon_climate.cpp b/esphome/components/haier/hon_climate.cpp index 23d28bfd47..d98d273957 100644 --- a/esphome/components/haier/hon_climate.cpp +++ b/esphome/components/haier/hon_climate.cpp @@ -515,8 +515,7 @@ haier_protocol::HaierMessage HonClimate::get_power_message(bool state) { void HonClimate::initialization() { HaierClimateBase::initialization(); constexpr uint32_t restore_settings_version = 0x57EB59DDUL; - this->hon_rtc_ = - global_preferences->make_preference(this->get_preference_hash() ^ restore_settings_version); + this->hon_rtc_ = this->make_entity_preference(restore_settings_version); HonSettings recovered; if (this->hon_rtc_.load(&recovered)) { this->settings_ = recovered; diff --git a/esphome/components/hc8/sensor.py b/esphome/components/hc8/sensor.py index 90698b2661..2f39b47f3c 100644 --- a/esphome/components/hc8/sensor.py +++ b/esphome/components/hc8/sensor.py @@ -6,6 +6,7 @@ from esphome.const import ( CONF_BASELINE, CONF_CO2, CONF_ID, + CONF_WARMUP_TIME, DEVICE_CLASS_CARBON_DIOXIDE, ICON_MOLECULE_CO2, STATE_CLASS_MEASUREMENT, @@ -14,8 +15,6 @@ from esphome.const import ( DEPENDENCIES = ["uart"] -CONF_WARMUP_TIME = "warmup_time" - hc8_ns = cg.esphome_ns.namespace("hc8") HC8Component = hc8_ns.class_("HC8Component", cg.PollingComponent, uart.UARTDevice) HC8CalibrateAction = hc8_ns.class_("HC8CalibrateAction", automation.Action) diff --git a/esphome/components/heatpumpir/climate.py b/esphome/components/heatpumpir/climate.py index ec6eac670f..0d760938d0 100644 --- a/esphome/components/heatpumpir/climate.py +++ b/esphome/components/heatpumpir/climate.py @@ -107,7 +107,7 @@ CONFIG_SCHEMA = cv.All( cv.Required(CONF_MAX_TEMPERATURE): cv.temperature, } ), - cv.only_with_arduino, + cv.Any(cv.only_with_arduino, cv.only_on_esp32), ) @@ -126,6 +126,6 @@ async def to_code(config): cg.add(var.set_max_temperature(config[CONF_MAX_TEMPERATURE])) cg.add(var.set_min_temperature(config[CONF_MIN_TEMPERATURE])) - cg.add_library("tonia/HeatpumpIR", "1.0.37") + cg.add_library("tonia/HeatpumpIR", "1.0.40") if CORE.is_libretiny or CORE.is_esp32: CORE.add_platformio_option("lib_ignore", ["IRremoteESP8266"]) diff --git a/esphome/components/heatpumpir/heatpumpir.cpp b/esphome/components/heatpumpir/heatpumpir.cpp index 67447a3123..6b73a24dc4 100644 --- a/esphome/components/heatpumpir/heatpumpir.cpp +++ b/esphome/components/heatpumpir/heatpumpir.cpp @@ -1,15 +1,46 @@ #include "heatpumpir.h" -#ifdef USE_ARDUINO +#if defined(USE_ARDUINO) || defined(USE_ESP32) #include -#include "ir_sender_esphome.h" -#include "HeatpumpIRFactory.h" +#include +#include +#include "esphome/components/remote_base/remote_base.h" #include "esphome/core/log.h" namespace esphome { namespace heatpumpir { +// IRSenderESPHome - bridge between ESPHome's remote_transmitter and HeatpumpIR library +// Defined here (not in a header) to isolate HeatpumpIR's headers from the rest of ESPHome, +// as they define conflicting symbols like millis() in the global namespace. +class IRSenderESPHome : public IRSender { + public: + IRSenderESPHome(remote_base::RemoteTransmitterBase *transmitter) : IRSender(0), transmit_(transmitter->transmit()) {} + + void setFrequency(int frequency) override { // NOLINT(readability-identifier-naming) + auto *data = this->transmit_.get_data(); + data->set_carrier_frequency(1000 * frequency); + } + + void space(int space_length) override { + if (space_length) { + auto *data = this->transmit_.get_data(); + data->space(space_length); + } else { + this->transmit_.perform(); + } + } + + void mark(int mark_length) override { + auto *data = this->transmit_.get_data(); + data->mark(mark_length); + } + + protected: + remote_base::RemoteTransmitterBase::TransmitCall transmit_; +}; + static const char *const TAG = "heatpumpir.climate"; const std::map> PROTOCOL_CONSTRUCTOR_MAP = { diff --git a/esphome/components/heatpumpir/heatpumpir.h b/esphome/components/heatpumpir/heatpumpir.h index ed43ffdc83..6270dd1e5a 100644 --- a/esphome/components/heatpumpir/heatpumpir.h +++ b/esphome/components/heatpumpir/heatpumpir.h @@ -1,6 +1,6 @@ #pragma once -#ifdef USE_ARDUINO +#if defined(USE_ARDUINO) || defined(USE_ESP32) #include "esphome/components/climate_ir/climate_ir.h" diff --git a/esphome/components/heatpumpir/ir_sender_esphome.cpp b/esphome/components/heatpumpir/ir_sender_esphome.cpp deleted file mode 100644 index 173d595119..0000000000 --- a/esphome/components/heatpumpir/ir_sender_esphome.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include "ir_sender_esphome.h" - -#ifdef USE_ARDUINO - -namespace esphome { -namespace heatpumpir { - -void IRSenderESPHome::setFrequency(int frequency) { // NOLINT(readability-identifier-naming) - auto *data = transmit_.get_data(); - data->set_carrier_frequency(1000 * frequency); -} - -// Send an IR 'mark' symbol, i.e. transmitter ON -void IRSenderESPHome::mark(int mark_length) { - auto *data = transmit_.get_data(); - data->mark(mark_length); -} - -// Send an IR 'space' symbol, i.e. transmitter OFF -void IRSenderESPHome::space(int space_length) { - if (space_length) { - auto *data = transmit_.get_data(); - data->space(space_length); - } else { - transmit_.perform(); - } -} - -} // namespace heatpumpir -} // namespace esphome - -#endif diff --git a/esphome/components/heatpumpir/ir_sender_esphome.h b/esphome/components/heatpumpir/ir_sender_esphome.h deleted file mode 100644 index 944d0e859c..0000000000 --- a/esphome/components/heatpumpir/ir_sender_esphome.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#ifdef USE_ARDUINO - -#include "esphome/components/remote_base/remote_base.h" -#include // arduino-heatpump library - -namespace esphome { -namespace heatpumpir { - -class IRSenderESPHome : public IRSender { - public: - IRSenderESPHome(remote_base::RemoteTransmitterBase *transmitter) : IRSender(0), transmit_(transmitter->transmit()){}; - void setFrequency(int frequency) override; // NOLINT(readability-identifier-naming) - void space(int space_length) override; - void mark(int mark_length) override; - - protected: - remote_base::RemoteTransmitterBase::TransmitCall transmit_; -}; - -} // namespace heatpumpir -} // namespace esphome - -#endif diff --git a/esphome/components/hmac_sha256/hmac_sha256.cpp b/esphome/components/hmac_sha256/hmac_sha256.cpp index cf5daf63af..2146e961bc 100644 --- a/esphome/components/hmac_sha256/hmac_sha256.cpp +++ b/esphome/components/hmac_sha256/hmac_sha256.cpp @@ -1,4 +1,3 @@ -#include #include #include "hmac_sha256.h" #if defined(USE_ESP32) || defined(USE_ESP8266) || defined(USE_RP2040) || defined(USE_LIBRETINY) || defined(USE_HOST) @@ -26,9 +25,7 @@ void HmacSHA256::calculate() { mbedtls_md_hmac_finish(&this->ctx_, this->digest_ void HmacSHA256::get_bytes(uint8_t *output) { memcpy(output, this->digest_, SHA256_DIGEST_SIZE); } void HmacSHA256::get_hex(char *output) { - for (size_t i = 0; i < SHA256_DIGEST_SIZE; i++) { - sprintf(output + (i * 2), "%02x", this->digest_[i]); - } + format_hex_to(output, SHA256_DIGEST_SIZE * 2 + 1, this->digest_, SHA256_DIGEST_SIZE); } bool HmacSHA256::equals_bytes(const uint8_t *expected) { diff --git a/esphome/components/homeassistant/number/homeassistant_number.cpp b/esphome/components/homeassistant/number/homeassistant_number.cpp index 92ecd5ea39..00ea88ff16 100644 --- a/esphome/components/homeassistant/number/homeassistant_number.cpp +++ b/esphome/components/homeassistant/number/homeassistant_number.cpp @@ -97,7 +97,7 @@ void HomeassistantNumber::control(float value) { entity_value.key = VALUE_KEY; // Stack buffer - no heap allocation; %g produces shortest representation char value_buf[16]; - snprintf(value_buf, sizeof(value_buf), "%g", value); + buf_append_printf(value_buf, sizeof(value_buf), 0, "%g", value); entity_value.value = StringRef(value_buf); api::global_api_server->send_homeassistant_action(resp); diff --git a/esphome/components/http_request/__init__.py b/esphome/components/http_request/__init__.py index b133aa69b2..07bc758037 100644 --- a/esphome/components/http_request/__init__.py +++ b/esphome/components/http_request/__init__.py @@ -126,7 +126,7 @@ CONFIG_SCHEMA = cv.All( ), cv.Optional(CONF_CA_CERTIFICATE_PATH): cv.All( cv.file_, - cv.only_on(PLATFORM_HOST), + cv.Any(cv.only_on(PLATFORM_HOST), cv.only_on_esp32), ), } ).extend(cv.COMPONENT_SCHEMA), @@ -157,9 +157,27 @@ async def to_code(config): if CORE.is_esp32: cg.add(var.set_buffer_size_rx(config[CONF_BUFFER_SIZE_RX])) cg.add(var.set_buffer_size_tx(config[CONF_BUFFER_SIZE_TX])) + cg.add(var.set_verify_ssl(config[CONF_VERIFY_SSL])) if config.get(CONF_VERIFY_SSL): - esp32.add_idf_sdkconfig_option("CONFIG_MBEDTLS_CERTIFICATE_BUNDLE", True) + if ca_cert_path := config.get(CONF_CA_CERTIFICATE_PATH): + with open(ca_cert_path, encoding="utf-8") as f: + ca_cert_content = f.read() + cg.add(var.set_ca_certificate(ca_cert_content)) + else: + # Uses the certificate bundle configured in esp32 component. + # By default, ESPHome uses the CMN (common CAs) bundle which covers + # ~99% of websites including GitHub, Let's Encrypt, DigiCert, etc. + # If connecting to services with uncommon CAs, components can call: + # esp32.require_full_certificate_bundle() + # Or users can set in their config: + # esp32: + # framework: + # advanced: + # use_full_certificate_bundle: true + esp32.add_idf_sdkconfig_option( + "CONFIG_MBEDTLS_CERTIFICATE_BUNDLE", True + ) esp32.add_idf_sdkconfig_option( "CONFIG_ESP_TLS_INSECURE", diff --git a/esphome/components/http_request/http_request.h b/esphome/components/http_request/http_request.h index 1b5fd9f00e..fb39ca504c 100644 --- a/esphome/components/http_request/http_request.h +++ b/esphome/components/http_request/http_request.h @@ -79,6 +79,81 @@ inline bool is_redirect(int const status) { */ inline bool is_success(int const status) { return status >= HTTP_STATUS_OK && status < HTTP_STATUS_MULTIPLE_CHOICES; } +/* + * HTTP Container Read Semantics + * ============================= + * + * IMPORTANT: These semantics differ from standard BSD sockets! + * + * BSD socket read() returns: + * > 0: bytes read + * == 0: connection closed (EOF) + * < 0: error (check errno) + * + * HttpContainer::read() returns: + * > 0: bytes read successfully + * == 0: no data available yet OR all content read + * (caller should check bytes_read vs content_length) + * < 0: error or connection closed (caller should EXIT) + * HTTP_ERROR_CONNECTION_CLOSED (-1) = connection closed prematurely + * other negative values = platform-specific errors + * + * Platform behaviors: + * - ESP-IDF: blocking reads, 0 only returned when all content read + * - Arduino: non-blocking, 0 means "no data yet" or "all content read" + * + * Use the helper functions below instead of checking return values directly: + * - http_read_loop_result(): for manual loops with per-chunk processing + * - http_read_fully(): for simple "read N bytes into buffer" operations + */ + +/// Error code returned by HttpContainer::read() when connection closed prematurely +/// NOTE: Unlike BSD sockets where 0 means EOF, here 0 means "no data yet, retry" +static constexpr int HTTP_ERROR_CONNECTION_CLOSED = -1; + +/// Status of a read operation +enum class HttpReadStatus : uint8_t { + OK, ///< Read completed successfully + ERROR, ///< Read error occurred + TIMEOUT, ///< Timeout waiting for data +}; + +/// Result of an HTTP read operation +struct HttpReadResult { + HttpReadStatus status; ///< Status of the read operation + int error_code; ///< Error code from read() on failure, 0 on success +}; + +/// Result of processing a non-blocking read with timeout (for manual loops) +enum class HttpReadLoopResult : uint8_t { + DATA, ///< Data was read, process it + RETRY, ///< No data yet, already delayed, caller should continue loop + ERROR, ///< Read error, caller should exit loop + TIMEOUT, ///< Timeout waiting for data, caller should exit loop +}; + +/// Process a read result with timeout tracking and delay handling +/// @param bytes_read_or_error Return value from read() - positive for bytes read, negative for error +/// @param last_data_time Time of last successful read, updated when data received +/// @param timeout_ms Maximum time to wait for data +/// @return DATA if data received, RETRY if should continue loop, ERROR/TIMEOUT if should exit +inline HttpReadLoopResult http_read_loop_result(int bytes_read_or_error, uint32_t &last_data_time, + uint32_t timeout_ms) { + if (bytes_read_or_error > 0) { + last_data_time = millis(); + return HttpReadLoopResult::DATA; + } + if (bytes_read_or_error < 0) { + return HttpReadLoopResult::ERROR; + } + // bytes_read_or_error == 0: no data available yet + if (millis() - last_data_time >= timeout_ms) { + return HttpReadLoopResult::TIMEOUT; + } + delay(1); // Small delay to prevent tight spinning + return HttpReadLoopResult::RETRY; +} + class HttpRequestComponent; class HttpContainer : public Parented { @@ -88,6 +163,33 @@ class HttpContainer : public Parented { int status_code; uint32_t duration_ms; + /** + * @brief Read data from the HTTP response body. + * + * WARNING: These semantics differ from BSD sockets! + * BSD sockets: 0 = EOF (connection closed) + * This method: 0 = no data yet OR all content read, negative = error/closed + * + * @param buf Buffer to read data into + * @param max_len Maximum number of bytes to read + * @return + * - > 0: Number of bytes read successfully + * - 0: No data available yet OR all content read + * (check get_bytes_read() >= content_length to distinguish) + * - HTTP_ERROR_CONNECTION_CLOSED (-1): Connection closed prematurely + * - < -1: Other error (platform-specific error code) + * + * Platform notes: + * - ESP-IDF: blocking read, 0 only when all content read + * - Arduino: non-blocking, 0 can mean "no data yet" or "all content read" + * + * Use get_bytes_read() and content_length to track progress. + * When get_bytes_read() >= content_length, all data has been received. + * + * IMPORTANT: Do not use raw return values directly. Use these helpers: + * - http_read_loop_result(): for loops with per-chunk processing + * - http_read_fully(): for simple "read N bytes" operations + */ virtual int read(uint8_t *buf, size_t max_len) = 0; virtual void end() = 0; @@ -110,6 +212,38 @@ class HttpContainer : public Parented { std::map> response_headers_{}; }; +/// Read data from HTTP container into buffer with timeout handling +/// Handles feed_wdt, yield, and timeout checking internally +/// @param container The HTTP container to read from +/// @param buffer Buffer to read into +/// @param total_size Total bytes to read +/// @param chunk_size Maximum bytes per read call +/// @param timeout_ms Read timeout in milliseconds +/// @return HttpReadResult with status and error_code on failure +inline HttpReadResult http_read_fully(HttpContainer *container, uint8_t *buffer, size_t total_size, size_t chunk_size, + uint32_t timeout_ms) { + size_t read_index = 0; + uint32_t last_data_time = millis(); + + while (read_index < total_size) { + int read_bytes_or_error = container->read(buffer + read_index, std::min(chunk_size, total_size - read_index)); + + App.feed_wdt(); + yield(); + + auto result = http_read_loop_result(read_bytes_or_error, last_data_time, timeout_ms); + if (result == HttpReadLoopResult::RETRY) + continue; + if (result == HttpReadLoopResult::ERROR) + return {HttpReadStatus::ERROR, read_bytes_or_error}; + if (result == HttpReadLoopResult::TIMEOUT) + return {HttpReadStatus::TIMEOUT, 0}; + + read_index += read_bytes_or_error; + } + return {HttpReadStatus::OK, 0}; +} + class HttpRequestResponseTrigger : public Trigger, std::string &> { public: void process(const std::shared_ptr &container, std::string &response_body) { @@ -124,6 +258,7 @@ class HttpRequestComponent : public Component { void set_useragent(const char *useragent) { this->useragent_ = useragent; } void set_timeout(uint32_t timeout) { this->timeout_ = timeout; } + uint32_t get_timeout() const { return this->timeout_; } void set_watchdog_timeout(uint32_t watchdog_timeout) { this->watchdog_timeout_ = watchdog_timeout; } uint32_t get_watchdog_timeout() const { return this->watchdog_timeout_; } void set_follow_redirects(bool follow_redirects) { this->follow_redirects_ = follow_redirects; } @@ -242,24 +377,28 @@ template class HttpRequestSendAction : public Action { return; } - size_t content_length = container->content_length; - size_t max_length = std::min(content_length, this->max_response_buffer_size_); - + size_t max_length = this->max_response_buffer_size_; #ifdef USE_HTTP_REQUEST_RESPONSE if (this->capture_response_.value(x...)) { std::string response_body; RAMAllocator allocator; uint8_t *buf = allocator.allocate(max_length); if (buf != nullptr) { + // NOTE: HttpContainer::read() has non-BSD socket semantics - see top of this file + // Use http_read_loop_result() helper instead of checking return values directly size_t read_index = 0; + uint32_t last_data_time = millis(); + const uint32_t read_timeout = this->parent_->get_timeout(); while (container->get_bytes_read() < max_length) { - int read = container->read(buf + read_index, std::min(max_length - read_index, 512)); - if (read <= 0) { - break; - } + int read_or_error = container->read(buf + read_index, std::min(max_length - read_index, 512)); App.feed_wdt(); yield(); - read_index += read; + auto result = http_read_loop_result(read_or_error, last_data_time, read_timeout); + if (result == HttpReadLoopResult::RETRY) + continue; + if (result != HttpReadLoopResult::DATA) + break; // ERROR or TIMEOUT + read_index += read_or_error; } response_body.reserve(read_index); response_body.assign((char *) buf, read_index); diff --git a/esphome/components/http_request/http_request_arduino.cpp b/esphome/components/http_request/http_request_arduino.cpp index a653942b18..82538b2cb3 100644 --- a/esphome/components/http_request/http_request_arduino.cpp +++ b/esphome/components/http_request/http_request_arduino.cpp @@ -131,6 +131,10 @@ std::shared_ptr HttpRequestArduino::perform(const std::string &ur } } + // HTTPClient::getSize() returns -1 for chunked transfer encoding (no Content-Length). + // When cast to size_t, -1 becomes SIZE_MAX (4294967295 on 32-bit). + // The read() method handles this: bytes_read_ can never reach SIZE_MAX, so the + // early return check (bytes_read_ >= content_length) will never trigger. int content_length = container->client_.getSize(); ESP_LOGD(TAG, "Content-Length: %d", content_length); container->content_length = (size_t) content_length; @@ -139,6 +143,23 @@ std::shared_ptr HttpRequestArduino::perform(const std::string &ur return container; } +// Arduino HTTP read implementation +// +// WARNING: Return values differ from BSD sockets! See http_request.h for full documentation. +// +// Arduino's WiFiClient is inherently non-blocking - available() returns 0 when +// no data is ready. We use connected() to distinguish "no data yet" from +// "connection closed". +// +// WiFiClient behavior: +// available() > 0: data ready to read +// available() == 0 && connected(): no data yet, still connected +// available() == 0 && !connected(): connection closed +// +// We normalize to HttpContainer::read() contract (NOT BSD socket semantics!): +// > 0: bytes read +// 0: no data yet, retry <-- NOTE: 0 means retry, NOT EOF! +// < 0: error/connection closed <-- connection closed returns -1, not 0 int HttpContainerArduino::read(uint8_t *buf, size_t max_len) { const uint32_t start = millis(); watchdog::WatchdogManager wdm(this->parent_->get_watchdog_timeout()); @@ -146,15 +167,29 @@ int HttpContainerArduino::read(uint8_t *buf, size_t max_len) { WiFiClient *stream_ptr = this->client_.getStreamPtr(); if (stream_ptr == nullptr) { ESP_LOGE(TAG, "Stream pointer vanished!"); - return -1; + return HTTP_ERROR_CONNECTION_CLOSED; } int available_data = stream_ptr->available(); - int bufsize = std::min(max_len, std::min(this->content_length - this->bytes_read_, (size_t) available_data)); + // For chunked transfer encoding, HTTPClient::getSize() returns -1, which becomes SIZE_MAX when + // cast to size_t. SIZE_MAX - bytes_read_ is still huge, so it won't limit the read. + size_t remaining = (this->content_length > 0) ? (this->content_length - this->bytes_read_) : max_len; + int bufsize = std::min(max_len, std::min(remaining, (size_t) available_data)); if (bufsize == 0) { this->duration_ms += (millis() - start); - return 0; + // Check if we've read all expected content (only valid when content_length is known and not SIZE_MAX) + // For chunked encoding (content_length == SIZE_MAX), we can't use this check + if (this->content_length > 0 && this->bytes_read_ >= this->content_length) { + return 0; // All content read successfully + } + // No data available - check if connection is still open + // For chunked encoding, !connected() after reading means EOF (all chunks received) + // For known content_length with bytes_read_ < content_length, it means connection dropped + if (!stream_ptr->connected()) { + return HTTP_ERROR_CONNECTION_CLOSED; // Connection closed or EOF for chunked + } + return 0; // No data yet, caller should retry } App.feed_wdt(); diff --git a/esphome/components/http_request/http_request_idf.cpp b/esphome/components/http_request/http_request_idf.cpp index 725a9c1c1e..2b4dee953a 100644 --- a/esphome/components/http_request/http_request_idf.cpp +++ b/esphome/components/http_request/http_request_idf.cpp @@ -27,8 +27,9 @@ void HttpRequestIDF::dump_config() { HttpRequestComponent::dump_config(); ESP_LOGCONFIG(TAG, " Buffer Size RX: %u\n" - " Buffer Size TX: %u", - this->buffer_size_rx_, this->buffer_size_tx_); + " Buffer Size TX: %u\n" + " Custom CA Certificate: %s", + this->buffer_size_rx_, this->buffer_size_tx_, YESNO(this->ca_certificate_ != nullptr)); } esp_err_t HttpRequestIDF::http_event_handler(esp_http_client_event_t *evt) { @@ -88,11 +89,15 @@ std::shared_ptr HttpRequestIDF::perform(const std::string &url, c config.disable_auto_redirect = !this->follow_redirects_; config.max_redirection_count = this->redirect_limit_; config.auth_type = HTTP_AUTH_TYPE_BASIC; + if (secure && this->verify_ssl_) { + if (this->ca_certificate_ != nullptr) { + config.cert_pem = this->ca_certificate_; #if CONFIG_MBEDTLS_CERTIFICATE_BUNDLE - if (secure) { - config.crt_bundle_attach = esp_crt_bundle_attach; - } + } else { + config.crt_bundle_attach = esp_crt_bundle_attach; #endif + } + } if (this->useragent_ != nullptr) { config.user_agent = this->useragent_; @@ -152,6 +157,8 @@ std::shared_ptr HttpRequestIDF::perform(const std::string &url, c } container->feed_wdt(); + // esp_http_client_fetch_headers() returns 0 for chunked transfer encoding (no Content-Length header). + // The read() method handles content_length == 0 specially to support chunked responses. container->content_length = esp_http_client_fetch_headers(client); container->feed_wdt(); container->status_code = esp_http_client_get_status_code(client); @@ -209,32 +216,71 @@ std::shared_ptr HttpRequestIDF::perform(const std::string &url, c return container; } +// ESP-IDF HTTP read implementation (blocking mode) +// +// WARNING: Return values differ from BSD sockets! See http_request.h for full documentation. +// +// esp_http_client_read() in blocking mode returns: +// > 0: bytes read +// 0: connection closed (end of stream) +// < 0: error +// +// We normalize to HttpContainer::read() contract: +// > 0: bytes read +// 0: all content read (only returned when content_length is known and fully read) +// < 0: error/connection closed +// +// Note on chunked transfer encoding: +// esp_http_client_fetch_headers() returns 0 for chunked responses (no Content-Length header). +// We handle this by skipping the content_length check when content_length is 0, +// allowing esp_http_client_read() to handle chunked decoding internally and signal EOF +// by returning 0. int HttpContainerIDF::read(uint8_t *buf, size_t max_len) { const uint32_t start = millis(); watchdog::WatchdogManager wdm(this->parent_->get_watchdog_timeout()); - int bufsize = std::min(max_len, this->content_length - this->bytes_read_); - - if (bufsize == 0) { - this->duration_ms += (millis() - start); - return 0; + // Check if we've already read all expected content + // Skip this check when content_length is 0 (chunked transfer encoding or unknown length) + // For chunked responses, esp_http_client_read() will return 0 when all data is received + if (this->content_length > 0 && this->bytes_read_ >= this->content_length) { + return 0; // All content read successfully } this->feed_wdt(); - int read_len = esp_http_client_read(this->client_, (char *) buf, bufsize); + int read_len_or_error = esp_http_client_read(this->client_, (char *) buf, max_len); this->feed_wdt(); - this->bytes_read_ += read_len; this->duration_ms += (millis() - start); - return read_len; + if (read_len_or_error > 0) { + this->bytes_read_ += read_len_or_error; + return read_len_or_error; + } + + // esp_http_client_read() returns 0 in two cases: + // 1. Known content_length: connection closed before all data received (error) + // 2. Chunked encoding (content_length == 0): end of stream reached (EOF) + // For case 1, returning HTTP_ERROR_CONNECTION_CLOSED is correct. + // For case 2, 0 indicates that all chunked data has already been delivered + // in previous successful read() calls, so treating this as a closed + // connection does not cause any loss of response data. + if (read_len_or_error == 0) { + return HTTP_ERROR_CONNECTION_CLOSED; + } + + // Negative value - error, return the actual error code for debugging + return read_len_or_error; } void HttpContainerIDF::end() { + if (this->client_ == nullptr) { + return; // Already cleaned up + } watchdog::WatchdogManager wdm(this->parent_->get_watchdog_timeout()); esp_http_client_close(this->client_); esp_http_client_cleanup(this->client_); + this->client_ = nullptr; } void HttpContainerIDF::feed_wdt() { diff --git a/esphome/components/http_request/http_request_idf.h b/esphome/components/http_request/http_request_idf.h index 4dc4736423..ad11811a8f 100644 --- a/esphome/components/http_request/http_request_idf.h +++ b/esphome/components/http_request/http_request_idf.h @@ -34,6 +34,8 @@ class HttpRequestIDF : public HttpRequestComponent { void set_buffer_size_rx(uint16_t buffer_size_rx) { this->buffer_size_rx_ = buffer_size_rx; } void set_buffer_size_tx(uint16_t buffer_size_tx) { this->buffer_size_tx_ = buffer_size_tx; } + void set_verify_ssl(bool verify_ssl) { this->verify_ssl_ = verify_ssl; } + void set_ca_certificate(const char *ca_certificate) { this->ca_certificate_ = ca_certificate; } protected: std::shared_ptr perform(const std::string &url, const std::string &method, const std::string &body, @@ -42,6 +44,8 @@ class HttpRequestIDF : public HttpRequestComponent { // if zero ESP-IDF will use DEFAULT_HTTP_BUF_SIZE uint16_t buffer_size_rx_{}; uint16_t buffer_size_tx_{}; + bool verify_ssl_{true}; + const char *ca_certificate_{nullptr}; /// @brief Monitors the http client events to gather response headers static esp_err_t http_event_handler(esp_http_client_event_t *evt); diff --git a/esphome/components/http_request/ota/ota_http_request.cpp b/esphome/components/http_request/ota/ota_http_request.cpp index 2a7db9137f..8a4b3684cf 100644 --- a/esphome/components/http_request/ota/ota_http_request.cpp +++ b/esphome/components/http_request/ota/ota_http_request.cpp @@ -82,7 +82,7 @@ uint8_t OtaHttpRequestComponent::do_ota_() { uint32_t last_progress = 0; uint32_t update_start_time = millis(); md5::MD5Digest md5_receive; - std::unique_ptr md5_receive_str(new char[33]); + char md5_receive_str[33]; if (this->md5_expected_.empty() && !this->http_get_md5_()) { return OTA_MD5_INVALID; @@ -115,39 +115,47 @@ uint8_t OtaHttpRequestComponent::do_ota_() { return error_code; } + // NOTE: HttpContainer::read() has non-BSD socket semantics - see http_request.h + // Use http_read_loop_result() helper instead of checking return values directly + uint32_t last_data_time = millis(); + const uint32_t read_timeout = this->parent_->get_timeout(); + while (container->get_bytes_read() < container->content_length) { - // read a maximum of chunk_size bytes into buf. (real read size returned) - int bufsize = container->read(buf, OtaHttpRequestComponent::HTTP_RECV_BUFFER); - ESP_LOGVV(TAG, "bytes_read_ = %u, body_length_ = %u, bufsize = %i", container->get_bytes_read(), - container->content_length, bufsize); + // read a maximum of chunk_size bytes into buf. (real read size returned, or negative error code) + int bufsize_or_error = container->read(buf, OtaHttpRequestComponent::HTTP_RECV_BUFFER); + ESP_LOGVV(TAG, "bytes_read_ = %u, body_length_ = %u, bufsize_or_error = %i", container->get_bytes_read(), + container->content_length, bufsize_or_error); // feed watchdog and give other tasks a chance to run App.feed_wdt(); yield(); - // Exit loop if no data available (stream closed or end of data) - if (bufsize <= 0) { - if (bufsize < 0) { - ESP_LOGE(TAG, "Stream closed with error"); - this->cleanup_(std::move(backend), container); - return OTA_CONNECTION_ERROR; + auto result = http_read_loop_result(bufsize_or_error, last_data_time, read_timeout); + if (result == HttpReadLoopResult::RETRY) + continue; + if (result != HttpReadLoopResult::DATA) { + if (result == HttpReadLoopResult::TIMEOUT) { + ESP_LOGE(TAG, "Timeout reading data"); + } else { + ESP_LOGE(TAG, "Error reading data: %d", bufsize_or_error); } - // bufsize == 0: no more data available, exit loop - break; + this->cleanup_(std::move(backend), container); + return OTA_CONNECTION_ERROR; } - if (bufsize <= OtaHttpRequestComponent::HTTP_RECV_BUFFER) { + // At this point bufsize_or_error > 0, so it's a valid size + if (bufsize_or_error <= OtaHttpRequestComponent::HTTP_RECV_BUFFER) { // add read bytes to MD5 - md5_receive.add(buf, bufsize); + md5_receive.add(buf, bufsize_or_error); // write bytes to OTA backend this->update_started_ = true; - error_code = backend->write(buf, bufsize); + error_code = backend->write(buf, bufsize_or_error); if (error_code != ota::OTA_RESPONSE_OK) { // error code explanation available at // https://github.com/esphome/esphome/blob/dev/esphome/components/ota/ota_backend.h ESP_LOGE(TAG, "Error code (%02X) writing binary data to flash at offset %d and size %d", error_code, - container->get_bytes_read() - bufsize, container->content_length); + container->get_bytes_read() - bufsize_or_error, container->content_length); this->cleanup_(std::move(backend), container); return error_code; } @@ -168,14 +176,14 @@ uint8_t OtaHttpRequestComponent::do_ota_() { // verify MD5 is as expected and act accordingly md5_receive.calculate(); - md5_receive.get_hex(md5_receive_str.get()); - this->md5_computed_ = md5_receive_str.get(); + md5_receive.get_hex(md5_receive_str); + this->md5_computed_ = md5_receive_str; if (strncmp(this->md5_computed_.c_str(), this->md5_expected_.c_str(), MD5_SIZE) != 0) { ESP_LOGE(TAG, "MD5 computed: %s - Aborting due to MD5 mismatch", this->md5_computed_.c_str()); this->cleanup_(std::move(backend), container); return ota::OTA_RESPONSE_ERROR_MD5_MISMATCH; } else { - backend->set_update_md5(md5_receive_str.get()); + backend->set_update_md5(md5_receive_str); } container->end(); @@ -244,19 +252,19 @@ bool OtaHttpRequestComponent::http_get_md5_() { } this->md5_expected_.resize(MD5_SIZE); - int read_len = 0; - while (container->get_bytes_read() < MD5_SIZE) { - read_len = container->read((uint8_t *) this->md5_expected_.data(), MD5_SIZE); - if (read_len <= 0) { - break; - } - App.feed_wdt(); - yield(); - } + auto result = http_read_fully(container.get(), (uint8_t *) this->md5_expected_.data(), MD5_SIZE, MD5_SIZE, + this->parent_->get_timeout()); container->end(); - ESP_LOGV(TAG, "Read len: %u, MD5 expected: %u", read_len, MD5_SIZE); - return read_len == MD5_SIZE; + if (result.status != HttpReadStatus::OK) { + if (result.status == HttpReadStatus::TIMEOUT) { + ESP_LOGE(TAG, "Timeout reading MD5"); + } else { + ESP_LOGE(TAG, "Error reading MD5: %d", result.error_code); + } + return false; + } + return true; } bool OtaHttpRequestComponent::validate_url_(const std::string &url) { diff --git a/esphome/components/http_request/update/http_request_update.cpp b/esphome/components/http_request/update/http_request_update.cpp index 82b391e01f..c63e55d159 100644 --- a/esphome/components/http_request/update/http_request_update.cpp +++ b/esphome/components/http_request/update/http_request_update.cpp @@ -11,7 +11,12 @@ namespace http_request { // The update function runs in a task only on ESP32s. #ifdef USE_ESP32 -#define UPDATE_RETURN vTaskDelete(nullptr) // Delete the current update task +// vTaskDelete doesn't return, but clang-tidy doesn't know that +#define UPDATE_RETURN \ + do { \ + vTaskDelete(nullptr); \ + __builtin_unreachable(); \ + } while (0) #else #define UPDATE_RETURN return #endif @@ -70,19 +75,21 @@ void HttpRequestUpdate::update_task(void *params) { UPDATE_RETURN; } - size_t read_index = 0; - while (container->get_bytes_read() < container->content_length) { - int read_bytes = container->read(data + read_index, MAX_READ_SIZE); - - yield(); - - if (read_bytes <= 0) { - // Network error or connection closed - break to avoid infinite loop - break; + auto read_result = http_read_fully(container.get(), data, container->content_length, MAX_READ_SIZE, + this_update->request_parent_->get_timeout()); + if (read_result.status != HttpReadStatus::OK) { + if (read_result.status == HttpReadStatus::TIMEOUT) { + ESP_LOGE(TAG, "Timeout reading manifest"); + } else { + ESP_LOGE(TAG, "Error reading manifest: %d", read_result.error_code); } - - read_index += read_bytes; + // Defer to main loop to avoid race condition on component_state_ read-modify-write + this_update->defer([this_update]() { this_update->status_set_error(LOG_STR("Failed to read manifest")); }); + allocator.deallocate(data, container->content_length); + container->end(); + UPDATE_RETURN; } + size_t read_index = container->get_bytes_read(); bool valid = false; { // Ensures the response string falls out of scope and deallocates before the task ends diff --git a/esphome/components/hub75/boards/huidu.py b/esphome/components/hub75/boards/huidu.py index 52744d397e..c4e4c3c135 100644 --- a/esphome/components/hub75/boards/huidu.py +++ b/esphome/components/hub75/boards/huidu.py @@ -2,6 +2,25 @@ from . import BoardConfig +# Huidu HD-WF1 +BoardConfig( + "huidu-hd-wf1", + r1_pin=2, + g1_pin=6, + b1_pin=3, + r2_pin=4, + g2_pin=8, + b2_pin=5, + a_pin=39, + b_pin=38, + c_pin=37, + d_pin=36, + e_pin=12, + lat_pin=33, + oe_pin=35, + clk_pin=34, +) + # Huidu HD-WF2 BoardConfig( "huidu-hd-wf2", diff --git a/esphome/components/hub75/display.py b/esphome/components/hub75/display.py index 20c731e730..f1e6ef4243 100644 --- a/esphome/components/hub75/display.py +++ b/esphome/components/hub75/display.py @@ -1,3 +1,4 @@ +import logging from typing import Any from esphome import automation, pins @@ -18,13 +19,16 @@ from esphome.const import ( CONF_ROTATION, CONF_UPDATE_INTERVAL, ) -from esphome.core import ID +from esphome.core import ID, EnumValue from esphome.cpp_generator import MockObj, TemplateArgsType import esphome.final_validate as fv +from esphome.helpers import add_class_to_obj from esphome.types import ConfigType from . import boards, hub75_ns +_LOGGER = logging.getLogger(__name__) + DEPENDENCIES = ["esp32"] CODEOWNERS = ["@stuartparmenter"] @@ -120,13 +124,51 @@ PANEL_LAYOUTS = { } Hub75ScanWiring = cg.global_ns.enum("Hub75ScanWiring", is_class=True) -SCAN_PATTERNS = { +SCAN_WIRINGS = { "STANDARD_TWO_SCAN": Hub75ScanWiring.STANDARD_TWO_SCAN, - "FOUR_SCAN_16PX_HIGH": Hub75ScanWiring.FOUR_SCAN_16PX_HIGH, - "FOUR_SCAN_32PX_HIGH": Hub75ScanWiring.FOUR_SCAN_32PX_HIGH, - "FOUR_SCAN_64PX_HIGH": Hub75ScanWiring.FOUR_SCAN_64PX_HIGH, + "SCAN_1_4_16PX_HIGH": Hub75ScanWiring.SCAN_1_4_16PX_HIGH, + "SCAN_1_8_32PX_HIGH": Hub75ScanWiring.SCAN_1_8_32PX_HIGH, + "SCAN_1_8_40PX_HIGH": Hub75ScanWiring.SCAN_1_8_40PX_HIGH, + "SCAN_1_8_64PX_HIGH": Hub75ScanWiring.SCAN_1_8_64PX_HIGH, } +# Deprecated scan wiring names - mapped to new names +DEPRECATED_SCAN_WIRINGS = { + "FOUR_SCAN_16PX_HIGH": "SCAN_1_4_16PX_HIGH", + "FOUR_SCAN_32PX_HIGH": "SCAN_1_8_32PX_HIGH", + "FOUR_SCAN_64PX_HIGH": "SCAN_1_8_64PX_HIGH", +} + + +def _validate_scan_wiring(value): + """Validate scan_wiring with deprecation warnings for old names.""" + value = cv.string(value).upper().replace(" ", "_") + + # Check if using deprecated name + # Remove deprecated names in 2026.7.0 + if value in DEPRECATED_SCAN_WIRINGS: + new_name = DEPRECATED_SCAN_WIRINGS[value] + _LOGGER.warning( + "Scan wiring '%s' is deprecated and will be removed in ESPHome 2026.7.0. " + "Please use '%s' instead.", + value, + new_name, + ) + value = new_name + + # Validate against allowed values + if value not in SCAN_WIRINGS: + raise cv.Invalid( + f"Unknown scan wiring '{value}'. " + f"Valid options are: {', '.join(sorted(SCAN_WIRINGS.keys()))}" + ) + + # Return as EnumValue like cv.enum does + result = add_class_to_obj(value, EnumValue) + result.enum_value = SCAN_WIRINGS[value] + return result + + Hub75ClockSpeed = cg.global_ns.enum("Hub75ClockSpeed", is_class=True) CLOCK_SPEEDS = { "8MHZ": Hub75ClockSpeed.HZ_8M, @@ -382,9 +424,7 @@ CONFIG_SCHEMA = cv.All( cv.Optional(CONF_LAYOUT_COLS): cv.positive_int, cv.Optional(CONF_LAYOUT): cv.enum(PANEL_LAYOUTS, upper=True, space="_"), # Panel hardware configuration - cv.Optional(CONF_SCAN_WIRING): cv.enum( - SCAN_PATTERNS, upper=True, space="_" - ), + cv.Optional(CONF_SCAN_WIRING): _validate_scan_wiring, cv.Optional(CONF_SHIFT_DRIVER): cv.enum(SHIFT_DRIVERS, upper=True), # Display configuration cv.Optional(CONF_DOUBLE_BUFFER): cv.boolean, @@ -547,7 +587,7 @@ def _build_config_struct( async def to_code(config: ConfigType) -> None: add_idf_component( name="esphome/esp-hub75", - ref="0.2.2", + ref="0.3.2", ) # Set compile-time configuration via build flags (so external library sees them) diff --git a/esphome/components/i2c/i2c.cpp b/esphome/components/i2c/i2c.cpp index f8c7a1b40b..c1e7336ce4 100644 --- a/esphome/components/i2c/i2c.cpp +++ b/esphome/components/i2c/i2c.cpp @@ -42,8 +42,8 @@ ErrorCode I2CDevice::read_register16(uint16_t a_register, uint8_t *data, size_t } ErrorCode I2CDevice::write_register(uint8_t a_register, const uint8_t *data, size_t len) const { - SmallBufferWithHeapFallback<17> buffer_alloc; // Most I2C writes are <= 16 bytes - uint8_t *buffer = buffer_alloc.get(len + 1); + SmallBufferWithHeapFallback<17> buffer_alloc(len + 1); // Most I2C writes are <= 16 bytes + uint8_t *buffer = buffer_alloc.get(); buffer[0] = a_register; std::copy(data, data + len, buffer + 1); @@ -51,8 +51,8 @@ ErrorCode I2CDevice::write_register(uint8_t a_register, const uint8_t *data, siz } ErrorCode I2CDevice::write_register16(uint16_t a_register, const uint8_t *data, size_t len) const { - SmallBufferWithHeapFallback<18> buffer_alloc; // Most I2C writes are <= 16 bytes + 2 for register - uint8_t *buffer = buffer_alloc.get(len + 2); + SmallBufferWithHeapFallback<18> buffer_alloc(len + 2); // Most I2C writes are <= 16 bytes + 2 for register + uint8_t *buffer = buffer_alloc.get(); buffer[0] = a_register >> 8; buffer[1] = a_register; diff --git a/esphome/components/i2c/i2c_bus.h b/esphome/components/i2c/i2c_bus.h index 1acbe506a3..3de5d5ca7b 100644 --- a/esphome/components/i2c/i2c_bus.h +++ b/esphome/components/i2c/i2c_bus.h @@ -11,22 +11,6 @@ namespace esphome { namespace i2c { -/// @brief Helper class for efficient buffer allocation - uses stack for small sizes, heap for large -template class SmallBufferWithHeapFallback { - public: - uint8_t *get(size_t size) { - if (size <= STACK_SIZE) { - return this->stack_buffer_; - } - this->heap_buffer_ = std::unique_ptr(new uint8_t[size]); - return this->heap_buffer_.get(); - } - - private: - uint8_t stack_buffer_[STACK_SIZE]; - std::unique_ptr heap_buffer_; -}; - /// @brief Error codes returned by I2CBus and I2CDevice methods enum ErrorCode { NO_ERROR = 0, ///< No error found during execution of method @@ -92,8 +76,8 @@ class I2CBus { total_len += read_buffers[i].len; } - SmallBufferWithHeapFallback<128> buffer_alloc; // Most I2C reads are small - uint8_t *buffer = buffer_alloc.get(total_len); + SmallBufferWithHeapFallback<128> buffer_alloc(total_len); // Most I2C reads are small + uint8_t *buffer = buffer_alloc.get(); auto err = this->write_readv(address, nullptr, 0, buffer, total_len); if (err != ERROR_OK) @@ -116,8 +100,8 @@ class I2CBus { total_len += write_buffers[i].len; } - SmallBufferWithHeapFallback<128> buffer_alloc; // Most I2C writes are small - uint8_t *buffer = buffer_alloc.get(total_len); + SmallBufferWithHeapFallback<128> buffer_alloc(total_len); // Most I2C writes are small + uint8_t *buffer = buffer_alloc.get(); size_t pos = 0; for (size_t i = 0; i != count; i++) { diff --git a/esphome/components/i2c/i2c_bus_esp_idf.cpp b/esphome/components/i2c/i2c_bus_esp_idf.cpp index 191c849aa3..7a965ce5ad 100644 --- a/esphome/components/i2c/i2c_bus_esp_idf.cpp +++ b/esphome/components/i2c/i2c_bus_esp_idf.cpp @@ -185,7 +185,7 @@ ErrorCode IDFI2CBus::write_readv(uint8_t address, const uint8_t *write_buffer, s } jobs[num_jobs++].command = I2C_MASTER_CMD_STOP; ESP_LOGV(TAG, "Sending %zu jobs", num_jobs); - esp_err_t err = i2c_master_execute_defined_operations(this->dev_, jobs, num_jobs, 20); + esp_err_t err = i2c_master_execute_defined_operations(this->dev_, jobs, num_jobs, 100); if (err == ESP_ERR_INVALID_STATE) { ESP_LOGV(TAG, "TX to %02X failed: not acked", address); return ERROR_NOT_ACKNOWLEDGED; diff --git a/esphome/components/ili9xxx/display.py b/esphome/components/ili9xxx/display.py index 9588bccd55..bfb2300f4f 100644 --- a/esphome/components/ili9xxx/display.py +++ b/esphome/components/ili9xxx/display.py @@ -223,7 +223,7 @@ async def to_code(config): var = cg.Pvariable(config[CONF_ID], rhs) await display.register_display(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) if init_sequences := config.get(CONF_INIT_SEQUENCE): diff --git a/esphome/components/infrared/infrared.cpp b/esphome/components/infrared/infrared.cpp index 294d69e523..4431869951 100644 --- a/esphome/components/infrared/infrared.cpp +++ b/esphome/components/infrared/infrared.cpp @@ -19,12 +19,12 @@ InfraredCall &InfraredCall::set_carrier_frequency(uint32_t frequency) { InfraredCall &InfraredCall::set_raw_timings(const std::vector &timings) { this->raw_timings_ = &timings; this->packed_data_ = nullptr; - this->base85_ptr_ = nullptr; + this->base64url_ptr_ = nullptr; return *this; } -InfraredCall &InfraredCall::set_raw_timings_base85(const std::string &base85) { - this->base85_ptr_ = &base85; +InfraredCall &InfraredCall::set_raw_timings_base64url(const std::string &base64url) { + this->base64url_ptr_ = &base64url; this->raw_timings_ = nullptr; this->packed_data_ = nullptr; return *this; @@ -35,7 +35,7 @@ InfraredCall &InfraredCall::set_raw_timings_packed(const uint8_t *data, uint16_t this->packed_length_ = length; this->packed_count_ = count; this->raw_timings_ = nullptr; - this->base85_ptr_ = nullptr; + this->base64url_ptr_ = nullptr; return *this; } @@ -101,13 +101,22 @@ void Infrared::control(const InfraredCall &call) { call.get_packed_count()); ESP_LOGD(TAG, "Transmitting packed raw timings: count=%u, repeat=%u", call.get_packed_count(), call.get_repeat_count()); - } else if (call.is_base85()) { - // Decode base85 directly into transmit buffer (zero heap allocations) - if (!transmit_data->set_data_from_base85(call.get_base85_data())) { - ESP_LOGE(TAG, "Invalid base85 data"); + } else if (call.is_base64url()) { + // Decode base64url (URL-safe) into transmit buffer + if (!transmit_data->set_data_from_base64url(call.get_base64url_data())) { + ESP_LOGE(TAG, "Invalid base64url data"); return; } - ESP_LOGD(TAG, "Transmitting base85 raw timings: count=%zu, repeat=%u", transmit_data->get_data().size(), + // Sanity check: validate timing values are within reasonable bounds + constexpr int32_t max_timing_us = 500000; // 500ms absolute max + for (int32_t timing : transmit_data->get_data()) { + int32_t abs_timing = timing < 0 ? -timing : timing; + if (abs_timing > max_timing_us) { + ESP_LOGE(TAG, "Invalid timing value: %d µs (max %d)", timing, max_timing_us); + return; + } + } + ESP_LOGD(TAG, "Transmitting base64url raw timings: count=%zu, repeat=%u", transmit_data->get_data().size(), call.get_repeat_count()); } else { // From vector (lambdas/automations) diff --git a/esphome/components/infrared/infrared.h b/esphome/components/infrared/infrared.h index ba426c9daa..59535f499a 100644 --- a/esphome/components/infrared/infrared.h +++ b/esphome/components/infrared/infrared.h @@ -40,11 +40,11 @@ class InfraredCall { /// @note Usage: Primarily for lambdas/automations where the vector is in scope. InfraredCall &set_raw_timings(const std::vector &timings); - /// Set the raw timings from base85-encoded int32 data + /// Set the raw timings from base64url-encoded little-endian int32 data /// @note Lifetime: Stores a pointer to the string. The string must outlive perform(). - /// @note Usage: For web_server where the encoded string is on the stack. + /// @note Usage: For web_server - base64url is fully URL-safe (uses '-' and '_'). /// @note Decoding happens at perform() time, directly into the transmit buffer. - InfraredCall &set_raw_timings_base85(const std::string &base85); + InfraredCall &set_raw_timings_base64url(const std::string &base64url); /// Set the raw timings from packed protobuf sint32 data (zigzag + varint encoded) /// @note Lifetime: Stores a pointer to the buffer. The buffer must outlive perform(). @@ -59,18 +59,18 @@ class InfraredCall { /// Get the carrier frequency const optional &get_carrier_frequency() const { return this->carrier_frequency_; } - /// Get the raw timings (only valid if set via set_raw_timings, not packed or base85) + /// Get the raw timings (only valid if set via set_raw_timings) const std::vector &get_raw_timings() const { return *this->raw_timings_; } - /// Check if raw timings have been set (vector, packed, or base85) + /// Check if raw timings have been set (any format) bool has_raw_timings() const { - return this->raw_timings_ != nullptr || this->packed_data_ != nullptr || this->base85_ptr_ != nullptr; + return this->raw_timings_ != nullptr || this->packed_data_ != nullptr || this->base64url_ptr_ != nullptr; } /// Check if using packed data format bool is_packed() const { return this->packed_data_ != nullptr; } - /// Check if using base85 data format - bool is_base85() const { return this->base85_ptr_ != nullptr; } - /// Get the base85 data string - const std::string &get_base85_data() const { return *this->base85_ptr_; } + /// Check if using base64url data format + bool is_base64url() const { return this->base64url_ptr_ != nullptr; } + /// Get the base64url data string + const std::string &get_base64url_data() const { return *this->base64url_ptr_; } /// Get packed data (only valid if set via set_raw_timings_packed) const uint8_t *get_packed_data() const { return this->packed_data_; } uint16_t get_packed_length() const { return this->packed_length_; } @@ -84,8 +84,8 @@ class InfraredCall { optional carrier_frequency_; // Pointer to vector-based timings (caller-owned, must outlive perform()) const std::vector *raw_timings_{nullptr}; - // Pointer to base85-encoded string (caller-owned, must outlive perform()) - const std::string *base85_ptr_{nullptr}; + // Pointer to base64url-encoded string (caller-owned, must outlive perform()) + const std::string *base64url_ptr_{nullptr}; // Pointer to packed protobuf buffer (caller-owned, must outlive perform()) const uint8_t *packed_data_{nullptr}; uint16_t packed_length_{0}; diff --git a/esphome/components/integration/integration_sensor.cpp b/esphome/components/integration/integration_sensor.cpp index 80c718dc8d..b084801d3b 100644 --- a/esphome/components/integration/integration_sensor.cpp +++ b/esphome/components/integration/integration_sensor.cpp @@ -10,7 +10,7 @@ static const char *const TAG = "integration"; void IntegrationSensor::setup() { if (this->restore_) { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); float preference_value = 0; this->pref_.load(&preference_value); this->result_ = preference_value; diff --git a/esphome/components/ir_rf_proxy/ir_rf_proxy.h b/esphome/components/ir_rf_proxy/ir_rf_proxy.h index d7c8919def..f067a6e17a 100644 --- a/esphome/components/ir_rf_proxy/ir_rf_proxy.h +++ b/esphome/components/ir_rf_proxy/ir_rf_proxy.h @@ -5,8 +5,6 @@ // Once the API is considered stable, this warning will be removed. #include "esphome/components/infrared/infrared.h" -#include "esphome/components/remote_transmitter/remote_transmitter.h" -#include "esphome/components/remote_receiver/remote_receiver.h" namespace esphome::ir_rf_proxy { diff --git a/esphome/components/json/__init__.py b/esphome/components/json/__init__.py index 4cd737c60d..28fdcd41ef 100644 --- a/esphome/components/json/__init__.py +++ b/esphome/components/json/__init__.py @@ -1,6 +1,6 @@ import esphome.codegen as cg import esphome.config_validation as cv -from esphome.core import CoroPriority, coroutine_with_priority +from esphome.core import CORE, CoroPriority, coroutine_with_priority CODEOWNERS = ["@esphome/core"] json_ns = cg.esphome_ns.namespace("json") @@ -12,6 +12,11 @@ CONFIG_SCHEMA = cv.All( @coroutine_with_priority(CoroPriority.BUS) async def to_code(config): - cg.add_library("bblanchon/ArduinoJson", "7.4.2") + if CORE.is_esp32: + from esphome.components.esp32 import add_idf_component + + add_idf_component(name="bblanchon/arduinojson", ref="7.4.2") + else: + cg.add_library("bblanchon/ArduinoJson", "7.4.2") cg.add_define("USE_JSON") cg.add_global(json_ns.using) diff --git a/esphome/components/ld2450/ld2450.cpp b/esphome/components/ld2450/ld2450.cpp index 58d469b2a7..ca8d918441 100644 --- a/esphome/components/ld2450/ld2450.cpp +++ b/esphome/components/ld2450/ld2450.cpp @@ -184,7 +184,7 @@ static inline bool validate_header_footer(const uint8_t *header_footer, const ui void LD2450Component::setup() { #ifdef USE_NUMBER if (this->presence_timeout_number_ != nullptr) { - this->pref_ = global_preferences->make_preference(this->presence_timeout_number_->get_preference_hash()); + this->pref_ = this->presence_timeout_number_->make_entity_preference(); this->set_presence_timeout(); } #endif @@ -451,7 +451,7 @@ void LD2450Component::handle_periodic_data_() { int16_t ty = 0; int16_t td = 0; int16_t ts = 0; - int16_t angle = 0; + float angle = 0; uint8_t index = 0; Direction direction{DIRECTION_UNDEFINED}; bool is_moving = false; diff --git a/esphome/components/ld2450/sensor.py b/esphome/components/ld2450/sensor.py index 3dee8bf470..ce58cedf11 100644 --- a/esphome/components/ld2450/sensor.py +++ b/esphome/components/ld2450/sensor.py @@ -143,6 +143,7 @@ CONFIG_SCHEMA = CONFIG_SCHEMA.extend( ], icon=ICON_FORMAT_TEXT_ROTATION_ANGLE_UP, unit_of_measurement=UNIT_DEGREES, + accuracy_decimals=1, ), cv.Optional(CONF_DISTANCE): sensor.sensor_schema( device_class=DEVICE_CLASS_DISTANCE, diff --git a/esphome/components/libretiny/__init__.py b/esphome/components/libretiny/__init__.py index 8318722b80..553179beec 100644 --- a/esphome/components/libretiny/__init__.py +++ b/esphome/components/libretiny/__init__.py @@ -191,10 +191,17 @@ def _notify_old_style(config): # The dev and latest branches will be at *least* this version, which is what matters. +# Use GitHub releases directly to avoid PlatformIO moderation delays. ARDUINO_VERSIONS = { - "dev": (cv.Version(1, 9, 2), "https://github.com/libretiny-eu/libretiny.git"), - "latest": (cv.Version(1, 9, 2), "libretiny"), - "recommended": (cv.Version(1, 9, 2), None), + "dev": (cv.Version(1, 11, 0), "https://github.com/libretiny-eu/libretiny.git"), + "latest": ( + cv.Version(1, 11, 0), + "https://github.com/libretiny-eu/libretiny.git#v1.11.0", + ), + "recommended": ( + cv.Version(1, 11, 0), + "https://github.com/libretiny-eu/libretiny.git#v1.11.0", + ), } @@ -382,4 +389,11 @@ async def component_to_code(config): "custom_options.sys_config#h", _BK7231N_SYS_CONFIG_OPTIONS ) + # Disable LWIP statistics to save RAM - not needed in production + # Must explicitly disable all sub-stats to avoid redefinition warnings + cg.add_platformio_option( + "custom_options.lwip", + ["LWIP_STATS=0", "MEM_STATS=0", "MEMP_STATS=0"], + ) + await cg.register_component(var, config) diff --git a/esphome/components/libretiny/preferences.cpp b/esphome/components/libretiny/preferences.cpp index 287c635256..fbe354a09b 100644 --- a/esphome/components/libretiny/preferences.cpp +++ b/esphome/components/libretiny/preferences.cpp @@ -157,8 +157,8 @@ class LibreTinyPreferences : public ESPPreferences { return true; } - // Allocate buffer on heap to avoid stack allocation for large data - auto stored_data = std::make_unique(kv.value_len); + // Most preferences are small, use stack buffer with heap fallback for large ones + SmallBufferWithHeapFallback<256> stored_data(kv.value_len); fdb_blob_make(&this->blob, stored_data.get(), kv.value_len); size_t actual_len = fdb_kv_get_blob(db, key_str, &this->blob); if (actual_len != kv.value_len) { diff --git a/esphome/components/light/addressable_light_wrapper.h b/esphome/components/light/addressable_light_wrapper.h index 8665e62a79..cd83482248 100644 --- a/esphome/components/light/addressable_light_wrapper.h +++ b/esphome/components/light/addressable_light_wrapper.h @@ -7,9 +7,7 @@ namespace esphome::light { class AddressableLightWrapper : public light::AddressableLight { public: - explicit AddressableLightWrapper(light::LightState *light_state) : light_state_(light_state) { - this->wrapper_state_ = new uint8_t[5]; // NOLINT(cppcoreguidelines-owning-memory) - } + explicit AddressableLightWrapper(light::LightState *light_state) : light_state_(light_state) {} int32_t size() const override { return 1; } @@ -118,7 +116,7 @@ class AddressableLightWrapper : public light::AddressableLight { } light::LightState *light_state_; - uint8_t *wrapper_state_; + mutable uint8_t wrapper_state_[5]{}; ColorMode color_mode_{ColorMode::UNKNOWN}; }; diff --git a/esphome/components/light/light_call.cpp b/esphome/components/light/light_call.cpp index 234d641f0d..6d42dd1513 100644 --- a/esphome/components/light/light_call.cpp +++ b/esphome/components/light/light_call.cpp @@ -391,7 +391,10 @@ void LightCall::transform_parameters_() { min_mireds > 0.0f && max_mireds > 0.0f) { ESP_LOGD(TAG, "'%s': setting cold/warm white channels using white/color temperature values", this->parent_->get_name().c_str()); - if (this->has_color_temperature()) { + // Only compute cold_white/warm_white from color_temperature if they're not already explicitly set. + // This is important for state restoration, where both color_temperature and cold_white/warm_white + // are restored from flash - we want to preserve the saved cold_white/warm_white values. + if (this->has_color_temperature() && !this->has_cold_white() && !this->has_warm_white()) { const float color_temp = clamp(this->color_temperature_, min_mireds, max_mireds); const float range = max_mireds - min_mireds; const float ww_fraction = (color_temp - min_mireds) / range; diff --git a/esphome/components/light/light_json_schema.cpp b/esphome/components/light/light_json_schema.cpp index f370980737..631f59221f 100644 --- a/esphome/components/light/light_json_schema.cpp +++ b/esphome/components/light/light_json_schema.cpp @@ -1,4 +1,5 @@ #include "light_json_schema.h" +#include "color_mode.h" #include "light_output.h" #include "esphome/core/progmem.h" @@ -8,29 +9,32 @@ namespace esphome::light { // See https://www.home-assistant.io/integrations/light.mqtt/#json-schema for documentation on the schema -// Get JSON string for color mode using linear search (avoids large switch jump table) -static const char *get_color_mode_json_str(ColorMode mode) { - // Parallel arrays: mode values and their corresponding strings - // Uses less RAM than a switch jump table on sparse enum values - static constexpr ColorMode MODES[] = { - ColorMode::ON_OFF, - ColorMode::BRIGHTNESS, - ColorMode::WHITE, - ColorMode::COLOR_TEMPERATURE, - ColorMode::COLD_WARM_WHITE, - ColorMode::RGB, - ColorMode::RGB_WHITE, - ColorMode::RGB_COLOR_TEMPERATURE, - ColorMode::RGB_COLD_WARM_WHITE, - }; - static constexpr const char *STRINGS[] = { - "onoff", "brightness", "white", "color_temp", "cwww", "rgb", "rgbw", "rgbct", "rgbww", - }; - for (size_t i = 0; i < sizeof(MODES) / sizeof(MODES[0]); i++) { - if (MODES[i] == mode) - return STRINGS[i]; +// Get JSON string for color mode. +// ColorMode enum values are sparse bitmasks (0, 1, 3, 7, 11, 19, 35, 39, 47, 51) which would +// generate a large jump table. Converting to bit index (0-9) allows a compact switch. +static ProgmemStr get_color_mode_json_str(ColorMode mode) { + switch (ColorModeBitPolicy::to_bit(mode)) { + case 1: + return ESPHOME_F("onoff"); + case 2: + return ESPHOME_F("brightness"); + case 3: + return ESPHOME_F("white"); + case 4: + return ESPHOME_F("color_temp"); + case 5: + return ESPHOME_F("cwww"); + case 6: + return ESPHOME_F("rgb"); + case 7: + return ESPHOME_F("rgbw"); + case 8: + return ESPHOME_F("rgbct"); + case 9: + return ESPHOME_F("rgbww"); + default: + return nullptr; } - return nullptr; } void LightJSONSchema::dump_json(LightState &state, JsonObject root) { @@ -44,7 +48,7 @@ void LightJSONSchema::dump_json(LightState &state, JsonObject root) { auto values = state.remote_values; const auto color_mode = values.get_color_mode(); - const char *mode_str = get_color_mode_json_str(color_mode); + const auto *mode_str = get_color_mode_json_str(color_mode); if (mode_str != nullptr) { root[ESPHOME_F("color_mode")] = mode_str; } diff --git a/esphome/components/light/light_state.cpp b/esphome/components/light/light_state.cpp index 91bb2e2f1f..ed86bf58da 100644 --- a/esphome/components/light/light_state.cpp +++ b/esphome/components/light/light_state.cpp @@ -44,7 +44,7 @@ void LightState::setup() { case LIGHT_RESTORE_DEFAULT_ON: case LIGHT_RESTORE_INVERTED_DEFAULT_OFF: case LIGHT_RESTORE_INVERTED_DEFAULT_ON: - this->rtc_ = global_preferences->make_preference(this->get_preference_hash()); + this->rtc_ = this->make_entity_preference(); // Attempt to load from preferences, else fall back to default values if (!this->rtc_.load(&recovered)) { recovered.state = (this->restore_mode_ == LIGHT_RESTORE_DEFAULT_ON || @@ -57,7 +57,7 @@ void LightState::setup() { break; case LIGHT_RESTORE_AND_OFF: case LIGHT_RESTORE_AND_ON: - this->rtc_ = global_preferences->make_preference(this->get_preference_hash()); + this->rtc_ = this->make_entity_preference(); this->rtc_.load(&recovered); recovered.state = (this->restore_mode_ == LIGHT_RESTORE_AND_ON); break; diff --git a/esphome/components/lightwaverf/lightwaverf.cpp b/esphome/components/lightwaverf/lightwaverf.cpp index 31ac1fc576..2b44195c97 100644 --- a/esphome/components/lightwaverf/lightwaverf.cpp +++ b/esphome/components/lightwaverf/lightwaverf.cpp @@ -1,3 +1,4 @@ +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP8266 @@ -44,13 +45,16 @@ void LightWaveRF::send_rx(const std::vector &msg, uint8_t repeats, bool } void LightWaveRF::print_msg_(uint8_t *msg, uint8_t len) { - char buffer[65]; +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_DEBUG + char buffer[65]; // max 10 entries * 6 chars + null ESP_LOGD(TAG, " Received code (len:%i): ", len); + size_t pos = 0; for (int i = 0; i < len; i++) { - sprintf(&buffer[i * 6], "0x%02x, ", msg[i]); + pos = buf_append_printf(buffer, sizeof(buffer), pos, "0x%02x, ", msg[i]); } ESP_LOGD(TAG, "[%s]", buffer); +#endif } void LightWaveRF::dump_config() { diff --git a/esphome/components/lock/lock.cpp b/esphome/components/lock/lock.cpp index aca6ec10f3..9fa1ba3600 100644 --- a/esphome/components/lock/lock.cpp +++ b/esphome/components/lock/lock.cpp @@ -28,16 +28,14 @@ const LogString *lock_state_to_string(LockState state) { Lock::Lock() : state(LOCK_STATE_NONE) {} LockCall Lock::make_call() { return LockCall(this); } -void Lock::lock() { +void Lock::set_state_(LockState state) { auto call = this->make_call(); - call.set_state(LOCK_STATE_LOCKED); - this->control(call); -} -void Lock::unlock() { - auto call = this->make_call(); - call.set_state(LOCK_STATE_UNLOCKED); + call.set_state(state); this->control(call); } + +void Lock::lock() { this->set_state_(LOCK_STATE_LOCKED); } +void Lock::unlock() { this->set_state_(LOCK_STATE_UNLOCKED); } void Lock::open() { if (traits.get_supports_open()) { ESP_LOGD(TAG, "'%s' Opening.", this->get_name().c_str()); diff --git a/esphome/components/lock/lock.h b/esphome/components/lock/lock.h index f77b11b145..69fc405713 100644 --- a/esphome/components/lock/lock.h +++ b/esphome/components/lock/lock.h @@ -14,9 +14,7 @@ class Lock; #define LOG_LOCK(prefix, type, obj) \ if ((obj) != nullptr) { \ ESP_LOGCONFIG(TAG, "%s%s '%s'", prefix, LOG_STR_LITERAL(type), (obj)->get_name().c_str()); \ - if (!(obj)->get_icon_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Icon: '%s'", prefix, (obj)->get_icon_ref().c_str()); \ - } \ + LOG_ENTITY_ICON(TAG, prefix, *(obj)); \ if ((obj)->traits.get_assumed_state()) { \ ESP_LOGCONFIG(TAG, "%s Assumed State: YES", prefix); \ } \ @@ -156,6 +154,9 @@ class Lock : public EntityBase { protected: friend LockCall; + /// Helper for lock/unlock convenience methods + void set_state_(LockState state); + /** Perform the open latch action with hardware. This method is optional to implement * when creating a new lock. * diff --git a/esphome/components/logger/logger.cpp b/esphome/components/logger/logger.cpp index 34430dbafa..3a726d4046 100644 --- a/esphome/components/logger/logger.cpp +++ b/esphome/components/logger/logger.cpp @@ -1,8 +1,5 @@ #include "logger.h" #include -#ifdef USE_ESPHOME_TASK_LOG_BUFFER -#include // For unique_ptr -#endif #include "esphome/core/application.h" #include "esphome/core/hal.h" @@ -199,7 +196,8 @@ inline uint8_t Logger::level_for(const char *tag) { Logger::Logger(uint32_t baud_rate, size_t tx_buffer_size) : baud_rate_(baud_rate), tx_buffer_size_(tx_buffer_size) { // add 1 to buffer size for null terminator - this->tx_buffer_ = new char[this->tx_buffer_size_ + 1]; // NOLINT + // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - allocated once, never freed + this->tx_buffer_ = new char[this->tx_buffer_size_ + 1]; #if defined(USE_ESP32) || defined(USE_LIBRETINY) this->main_task_ = xTaskGetCurrentTaskHandle(); #elif defined(USE_ZEPHYR) @@ -212,11 +210,14 @@ Logger::Logger(uint32_t baud_rate, size_t tx_buffer_size) : baud_rate_(baud_rate void Logger::init_log_buffer(size_t total_buffer_size) { #ifdef USE_HOST // Host uses slot count instead of byte size - this->log_buffer_ = esphome::make_unique(total_buffer_size); + // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - allocated once, never freed + this->log_buffer_ = new logger::TaskLogBufferHost(total_buffer_size); #elif defined(USE_ESP32) - this->log_buffer_ = esphome::make_unique(total_buffer_size); + // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - allocated once, never freed + this->log_buffer_ = new logger::TaskLogBuffer(total_buffer_size); #elif defined(USE_LIBRETINY) - this->log_buffer_ = esphome::make_unique(total_buffer_size); + // NOLINTNEXTLINE(cppcoreguidelines-owning-memory) - allocated once, never freed + this->log_buffer_ = new logger::TaskLogBufferLibreTiny(total_buffer_size); #endif #if defined(USE_ESP32) || defined(USE_LIBRETINY) diff --git a/esphome/components/logger/logger.h b/esphome/components/logger/logger.h index 3e8538c2ae..fe9cab4993 100644 --- a/esphome/components/logger/logger.h +++ b/esphome/components/logger/logger.h @@ -412,11 +412,11 @@ class Logger : public Component { #endif #ifdef USE_ESPHOME_TASK_LOG_BUFFER #ifdef USE_HOST - std::unique_ptr log_buffer_; // Will be initialized with init_log_buffer + logger::TaskLogBufferHost *log_buffer_{nullptr}; // Allocated once, never freed #elif defined(USE_ESP32) - std::unique_ptr log_buffer_; // Will be initialized with init_log_buffer + logger::TaskLogBuffer *log_buffer_{nullptr}; // Allocated once, never freed #elif defined(USE_LIBRETINY) - std::unique_ptr log_buffer_; // Will be initialized with init_log_buffer + logger::TaskLogBufferLibreTiny *log_buffer_{nullptr}; // Allocated once, never freed #endif #endif diff --git a/esphome/components/lvgl/number/lvgl_number.h b/esphome/components/lvgl/number/lvgl_number.h index d9885bc7fb..44409a0ad5 100644 --- a/esphome/components/lvgl/number/lvgl_number.h +++ b/esphome/components/lvgl/number/lvgl_number.h @@ -21,7 +21,7 @@ class LVGLNumber : public number::Number, public Component { void setup() override { float value = this->value_lambda_(); if (this->restore_) { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); if (this->pref_.load(&value)) { this->control_lambda_(value); } diff --git a/esphome/components/lvgl/select/lvgl_select.h b/esphome/components/lvgl/select/lvgl_select.h index 70bb3e7bcb..ba03920a88 100644 --- a/esphome/components/lvgl/select/lvgl_select.h +++ b/esphome/components/lvgl/select/lvgl_select.h @@ -20,7 +20,7 @@ class LVGLSelect : public select::Select, public Component { this->set_options_(); if (this->restore_) { size_t index; - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); if (this->pref_.load(&index)) this->widget_->set_selected_index(index, LV_ANIM_OFF); } diff --git a/esphome/components/lvgl/widgets/dropdown.py b/esphome/components/lvgl/widgets/dropdown.py index 9ff183f3dd..ca89bb625b 100644 --- a/esphome/components/lvgl/widgets/dropdown.py +++ b/esphome/components/lvgl/widgets/dropdown.py @@ -1,3 +1,4 @@ +from esphome import codegen as cg import esphome.config_validation as cv from esphome.const import CONF_OPTIONS @@ -24,6 +25,34 @@ from .label import CONF_LABEL CONF_DROPDOWN = "dropdown" CONF_DROPDOWN_LIST = "dropdown_list" +# Example valid dropdown symbol (left arrow) for error messages +EXAMPLE_DROPDOWN_SYMBOL = "\U00002190" # ← + + +def dropdown_symbol_validator(value): + """ + Validate that the dropdown symbol is a single Unicode character + with a codepoint of 0x100 (256) or greater. + This is required because LVGL uses codepoints below 0x100 for internal symbols. + """ + value = cv.string(value) + # len(value) counts Unicode code points, not grapheme clusters or bytes + if len(value) != 1: + raise cv.Invalid( + f"Dropdown symbol must be a single character, got '{value}' with length {len(value)}" + ) + codepoint = ord(value) + if codepoint < 0x100: + # Format the example symbol as a Unicode escape for the error message + example_escape = f"\\U{ord(EXAMPLE_DROPDOWN_SYMBOL):08X}" + raise cv.Invalid( + f"Dropdown symbol must have a Unicode codepoint of 0x100 (256) or greater. " + f"'{value}' has codepoint {codepoint} (0x{codepoint:X}). " + f"Use a character like '{example_escape}' ({EXAMPLE_DROPDOWN_SYMBOL}) or other Unicode symbols with codepoint >= 0x100." + ) + return value + + lv_dropdown_t = LvSelect("LvDropdownType", parents=(LvCompound,)) lv_dropdown_list_t = LvType("lv_dropdown_list_t") @@ -33,7 +62,7 @@ dropdown_list_spec = WidgetType( DROPDOWN_BASE_SCHEMA = cv.Schema( { - cv.Optional(CONF_SYMBOL): lv_text, + cv.Optional(CONF_SYMBOL): dropdown_symbol_validator, cv.Exclusive(CONF_SELECTED_INDEX, CONF_SELECTED_TEXT): lv_int, cv.Exclusive(CONF_SELECTED_TEXT, CONF_SELECTED_TEXT): lv_text, cv.Optional(CONF_DROPDOWN_LIST): part_schema(dropdown_list_spec.parts), @@ -70,7 +99,7 @@ class DropdownType(WidgetType): if options := config.get(CONF_OPTIONS): lv_add(w.var.set_options(options)) if symbol := config.get(CONF_SYMBOL): - lv.dropdown_set_symbol(w.var.obj, await lv_text.process(symbol)) + lv.dropdown_set_symbol(w.var.obj, cg.safe_exp(symbol)) if (selected := config.get(CONF_SELECTED_INDEX)) is not None: value = await lv_int.process(selected) lv_add(w.var.set_selected_index(value, literal("LV_ANIM_OFF"))) diff --git a/esphome/components/lvgl/widgets/label.py b/esphome/components/lvgl/widgets/label.py index 3a3a997737..8afd8d610f 100644 --- a/esphome/components/lvgl/widgets/label.py +++ b/esphome/components/lvgl/widgets/label.py @@ -32,7 +32,7 @@ class LabelType(WidgetType): async def to_code(self, w: Widget, config): """For a text object, create and set text""" - if value := config.get(CONF_TEXT): + if (value := config.get(CONF_TEXT)) is not None: await w.set_property(CONF_TEXT, await lv_text.process(value)) await w.set_property(CONF_LONG_MODE, config) await w.set_property(CONF_RECOLOR, config) diff --git a/esphome/components/mapping/mapping.h b/esphome/components/mapping/mapping.h index 99c1f38829..2b8f0d39b2 100644 --- a/esphome/components/mapping/mapping.h +++ b/esphome/components/mapping/mapping.h @@ -2,6 +2,7 @@ #include "esphome/core/helpers.h" #include "esphome/core/log.h" +#include #include #include @@ -43,8 +44,17 @@ template class Mapping { esph_log_e(TAG, "Key '%p' not found in mapping", key); } else if constexpr (std::is_same_v) { esph_log_e(TAG, "Key '%s' not found in mapping", key.c_str()); + } else if constexpr (std::is_integral_v) { + char buf[24]; // enough for 64-bit integer + if constexpr (std::is_unsigned_v) { + buf_append_printf(buf, sizeof(buf), 0, "%" PRIu64, static_cast(key)); + } else { + buf_append_printf(buf, sizeof(buf), 0, "%" PRId64, static_cast(key)); + } + esph_log_e(TAG, "Key '%s' not found in mapping", buf); } else { - esph_log_e(TAG, "Key '%s' not found in mapping", to_string(key).c_str()); + // All supported key types are handled above - this should never be reached + static_assert(sizeof(K) == 0, "Unsupported key type for Mapping error logging"); } return {}; } diff --git a/esphome/components/max6956/max6956.cpp b/esphome/components/max6956/max6956.cpp index 13fe5a5323..6ba17f11d1 100644 --- a/esphome/components/max6956/max6956.cpp +++ b/esphome/components/max6956/max6956.cpp @@ -162,7 +162,7 @@ void MAX6956GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this- bool MAX6956GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void MAX6956GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } size_t MAX6956GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via Max6956", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via Max6956", this->pin_); } } // namespace max6956 diff --git a/esphome/components/max7219/display.py b/esphome/components/max7219/display.py index c9d10f3c45..a434125148 100644 --- a/esphome/components/max7219/display.py +++ b/esphome/components/max7219/display.py @@ -29,7 +29,7 @@ CONFIG_SCHEMA = ( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) await display.register_display(var, config) cg.add(var.set_num_chips(config[CONF_NUM_CHIPS])) diff --git a/esphome/components/max7219digit/display.py b/esphome/components/max7219digit/display.py index fef121ff10..e6d53efc5d 100644 --- a/esphome/components/max7219digit/display.py +++ b/esphome/components/max7219digit/display.py @@ -86,7 +86,7 @@ CONFIG_SCHEMA = ( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) await display.register_display(var, config) cg.add(var.set_num_chips(config[CONF_NUM_CHIPS])) diff --git a/esphome/components/mcp23016/mcp23016.cpp b/esphome/components/mcp23016/mcp23016.cpp index 87c2668962..56b2ecf9f4 100644 --- a/esphome/components/mcp23016/mcp23016.cpp +++ b/esphome/components/mcp23016/mcp23016.cpp @@ -100,7 +100,7 @@ void MCP23016GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this bool MCP23016GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void MCP23016GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } size_t MCP23016GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via MCP23016", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via MCP23016", this->pin_); } } // namespace mcp23016 diff --git a/esphome/components/mcp23xxx_base/mcp23xxx_base.cpp b/esphome/components/mcp23xxx_base/mcp23xxx_base.cpp index 302f6b8280..535119fc5c 100644 --- a/esphome/components/mcp23xxx_base/mcp23xxx_base.cpp +++ b/esphome/components/mcp23xxx_base/mcp23xxx_base.cpp @@ -17,7 +17,7 @@ template void MCP23XXXGPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } template size_t MCP23XXXGPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via MCP23XXX", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via MCP23XXX", this->pin_); } template class MCP23XXXGPIOPin<8>; diff --git a/esphome/components/mdns/mdns_esp32.cpp b/esphome/components/mdns/mdns_esp32.cpp index e6b43e59cb..3123f3b604 100644 --- a/esphome/components/mdns/mdns_esp32.cpp +++ b/esphome/components/mdns/mdns_esp32.cpp @@ -24,13 +24,14 @@ static void register_esp32(MDNSComponent *comp, StaticVector(service.txt_records.size()); + // Stack buffer for up to 16 txt records, heap fallback for more + SmallBufferWithHeapFallback<16, mdns_txt_item_t> txt_records(service.txt_records.size()); for (size_t i = 0; i < service.txt_records.size(); i++) { const auto &record = service.txt_records[i]; // key and value are either compile-time string literals in flash or pointers to dynamic_txt_values_ // Both remain valid for the lifetime of this function, and ESP-IDF makes internal copies - txt_records[i].key = MDNS_STR_ARG(record.key); - txt_records[i].value = MDNS_STR_ARG(record.value); + txt_records.get()[i].key = MDNS_STR_ARG(record.key); + txt_records.get()[i].value = MDNS_STR_ARG(record.value); } uint16_t port = const_cast &>(service.port).value(); err = mdns_service_add(nullptr, MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), port, diff --git a/esphome/components/mhz19/mhz19.cpp b/esphome/components/mhz19/mhz19.cpp index 00e6e14d85..b6b4031e16 100644 --- a/esphome/components/mhz19/mhz19.cpp +++ b/esphome/components/mhz19/mhz19.cpp @@ -3,8 +3,7 @@ #include -namespace esphome { -namespace mhz19 { +namespace esphome::mhz19 { static const char *const TAG = "mhz19"; static const uint8_t MHZ19_REQUEST_LENGTH = 8; @@ -17,6 +16,19 @@ static const uint8_t MHZ19_COMMAND_DETECTION_RANGE_0_2000PPM[] = {0xFF, 0x01, 0x static const uint8_t MHZ19_COMMAND_DETECTION_RANGE_0_5000PPM[] = {0xFF, 0x01, 0x99, 0x00, 0x00, 0x00, 0x13, 0x88}; static const uint8_t MHZ19_COMMAND_DETECTION_RANGE_0_10000PPM[] = {0xFF, 0x01, 0x99, 0x00, 0x00, 0x00, 0x27, 0x10}; +static const LogString *detection_range_to_log_string(MHZ19DetectionRange range) { + switch (range) { + case MHZ19_DETECTION_RANGE_0_2000PPM: + return LOG_STR("0-2000 ppm"); + case MHZ19_DETECTION_RANGE_0_5000PPM: + return LOG_STR("0-5000 ppm"); + case MHZ19_DETECTION_RANGE_0_10000PPM: + return LOG_STR("0-10000 ppm"); + default: + return LOG_STR("default"); + } +} + uint8_t mhz19_checksum(const uint8_t *command) { uint8_t sum = 0; for (uint8_t i = 1; i < MHZ19_REQUEST_LENGTH; i++) { @@ -91,24 +103,24 @@ void MHZ19Component::abc_disable() { this->mhz19_write_command_(MHZ19_COMMAND_ABC_DISABLE, nullptr); } -void MHZ19Component::range_set(MHZ19DetectionRange detection_ppm) { - switch (detection_ppm) { - case MHZ19_DETECTION_RANGE_DEFAULT: - ESP_LOGV(TAG, "Using previously set detection range (no change)"); - break; +void MHZ19Component::range_set(MHZ19DetectionRange detection_range) { + const uint8_t *command; + switch (detection_range) { case MHZ19_DETECTION_RANGE_0_2000PPM: - ESP_LOGD(TAG, "Setting detection range to 0 to 2000ppm"); - this->mhz19_write_command_(MHZ19_COMMAND_DETECTION_RANGE_0_2000PPM, nullptr); + command = MHZ19_COMMAND_DETECTION_RANGE_0_2000PPM; break; case MHZ19_DETECTION_RANGE_0_5000PPM: - ESP_LOGD(TAG, "Setting detection range to 0 to 5000ppm"); - this->mhz19_write_command_(MHZ19_COMMAND_DETECTION_RANGE_0_5000PPM, nullptr); + command = MHZ19_COMMAND_DETECTION_RANGE_0_5000PPM; break; case MHZ19_DETECTION_RANGE_0_10000PPM: - ESP_LOGD(TAG, "Setting detection range to 0 to 10000ppm"); - this->mhz19_write_command_(MHZ19_COMMAND_DETECTION_RANGE_0_10000PPM, nullptr); + command = MHZ19_COMMAND_DETECTION_RANGE_0_10000PPM; break; + default: + ESP_LOGV(TAG, "Using previously set detection range (no change)"); + return; } + ESP_LOGD(TAG, "Setting detection range to %s", LOG_STR_ARG(detection_range_to_log_string(detection_range))); + this->mhz19_write_command_(command, nullptr); } bool MHZ19Component::mhz19_write_command_(const uint8_t *command, uint8_t *response) { @@ -140,24 +152,7 @@ void MHZ19Component::dump_config() { } ESP_LOGCONFIG(TAG, " Warmup time: %" PRIu32 " s", this->warmup_seconds_); - - const char *range_str; - switch (this->detection_range_) { - case MHZ19_DETECTION_RANGE_DEFAULT: - range_str = "default"; - break; - case MHZ19_DETECTION_RANGE_0_2000PPM: - range_str = "0 to 2000ppm"; - break; - case MHZ19_DETECTION_RANGE_0_5000PPM: - range_str = "0 to 5000ppm"; - break; - case MHZ19_DETECTION_RANGE_0_10000PPM: - range_str = "0 to 10000ppm"; - break; - } - ESP_LOGCONFIG(TAG, " Detection range: %s", range_str); + ESP_LOGCONFIG(TAG, " Detection range: %s", LOG_STR_ARG(detection_range_to_log_string(this->detection_range_))); } -} // namespace mhz19 -} // namespace esphome +} // namespace esphome::mhz19 diff --git a/esphome/components/mhz19/mhz19.h b/esphome/components/mhz19/mhz19.h index 5898bab649..a27f1c31eb 100644 --- a/esphome/components/mhz19/mhz19.h +++ b/esphome/components/mhz19/mhz19.h @@ -5,8 +5,7 @@ #include "esphome/components/sensor/sensor.h" #include "esphome/components/uart/uart.h" -namespace esphome { -namespace mhz19 { +namespace esphome::mhz19 { enum MHZ19ABCLogic { MHZ19_ABC_NONE = 0, @@ -32,7 +31,7 @@ class MHZ19Component : public PollingComponent, public uart::UARTDevice { void calibrate_zero(); void abc_enable(); void abc_disable(); - void range_set(MHZ19DetectionRange detection_ppm); + void range_set(MHZ19DetectionRange detection_range); void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; } void set_co2_sensor(sensor::Sensor *co2_sensor) { co2_sensor_ = co2_sensor; } @@ -74,5 +73,4 @@ template class MHZ19DetectionRangeSetAction : public Actionparent_->range_set(this->detection_range_.value(x...)); } }; -} // namespace mhz19 -} // namespace esphome +} // namespace esphome::mhz19 diff --git a/esphome/components/mhz19/sensor.py b/esphome/components/mhz19/sensor.py index 1f698be404..2841afde7a 100644 --- a/esphome/components/mhz19/sensor.py +++ b/esphome/components/mhz19/sensor.py @@ -7,6 +7,7 @@ from esphome.const import ( CONF_CO2, CONF_ID, CONF_TEMPERATURE, + CONF_WARMUP_TIME, DEVICE_CLASS_CARBON_DIOXIDE, DEVICE_CLASS_TEMPERATURE, ICON_MOLECULE_CO2, @@ -18,7 +19,6 @@ from esphome.const import ( DEPENDENCIES = ["uart"] CONF_AUTOMATIC_BASELINE_CALIBRATION = "automatic_baseline_calibration" -CONF_WARMUP_TIME = "warmup_time" CONF_DETECTION_RANGE = "detection_range" mhz19_ns = cg.esphome_ns.namespace("mhz19") diff --git a/esphome/components/mipi_dsi/models/guition.py b/esphome/components/mipi_dsi/models/guition.py index cd566633f9..db13c7f6cc 100644 --- a/esphome/components/mipi_dsi/models/guition.py +++ b/esphome/components/mipi_dsi/models/guition.py @@ -101,4 +101,225 @@ DriverChip( (0xFF, 0x77, 0x01, 0x00, 0x00, 0x00), ] ) + +# jc8012P4A1 Driver Configuration (jd9365) +# Using parameters from esp_lcd_jd9365.h and the working full init sequence +# ---------------------------------------------------------------------------------------------------------------------- +# * Resolution: 800x1280 +# * PCLK Frequency: 60 MHz +# * DSI Lane Bit Rate: 1 Gbps (using 2-Lane DSI configuration) +# * Horizontal Timing (hsync_pulse_width=20, hsync_back_porch=20, hsync_front_porch=40) +# * Vertical Timing (vsync_pulse_width=4, vsync_back_porch=8, vsync_front_porch=20) +# ---------------------------------------------------------------------------------------------------------------------- +DriverChip( + "JC8012P4A1", + width=800, + height=1280, + hsync_back_porch=20, + hsync_pulse_width=20, + hsync_front_porch=40, + vsync_back_porch=8, + vsync_pulse_width=4, + vsync_front_porch=20, + pclk_frequency="60MHz", + lane_bit_rate="1Gbps", + swap_xy=cv.UNDEFINED, + color_order="RGB", + reset_pin=27, + initsequence=[ + (0xE0, 0x00), + (0xE1, 0x93), + (0xE2, 0x65), + (0xE3, 0xF8), + (0x80, 0x01), + (0xE0, 0x01), + (0x00, 0x00), + (0x01, 0x39), + (0x03, 0x10), + (0x04, 0x41), + (0x0C, 0x74), + (0x17, 0x00), + (0x18, 0xD7), + (0x19, 0x00), + (0x1A, 0x00), + (0x1B, 0xD7), + (0x1C, 0x00), + (0x24, 0xFE), + (0x35, 0x26), + (0x37, 0x69), + (0x38, 0x05), + (0x39, 0x06), + (0x3A, 0x08), + (0x3C, 0x78), + (0x3D, 0xFF), + (0x3E, 0xFF), + (0x3F, 0xFF), + (0x40, 0x06), + (0x41, 0xA0), + (0x43, 0x14), + (0x44, 0x0B), + (0x45, 0x30), + (0x4B, 0x04), + (0x55, 0x02), + (0x57, 0x89), + (0x59, 0x0A), + (0x5A, 0x28), + (0x5B, 0x15), + (0x5D, 0x50), + (0x5E, 0x37), + (0x5F, 0x29), + (0x60, 0x1E), + (0x61, 0x1D), + (0x62, 0x12), + (0x63, 0x1A), + (0x64, 0x08), + (0x65, 0x25), + (0x66, 0x26), + (0x67, 0x28), + (0x68, 0x49), + (0x69, 0x3A), + (0x6A, 0x43), + (0x6B, 0x3A), + (0x6C, 0x3B), + (0x6D, 0x32), + (0x6E, 0x1F), + (0x6F, 0x0E), + (0x70, 0x50), + (0x71, 0x37), + (0x72, 0x29), + (0x73, 0x1E), + (0x74, 0x1D), + (0x75, 0x12), + (0x76, 0x1A), + (0x77, 0x08), + (0x78, 0x25), + (0x79, 0x26), + (0x7A, 0x28), + (0x7B, 0x49), + (0x7C, 0x3A), + (0x7D, 0x43), + (0x7E, 0x3A), + (0x7F, 0x3B), + (0x80, 0x32), + (0x81, 0x1F), + (0x82, 0x0E), + (0xE0, 0x02), + (0x00, 0x1F), + (0x01, 0x1F), + (0x02, 0x52), + (0x03, 0x51), + (0x04, 0x50), + (0x05, 0x4B), + (0x06, 0x4A), + (0x07, 0x49), + (0x08, 0x48), + (0x09, 0x47), + (0x0A, 0x46), + (0x0B, 0x45), + (0x0C, 0x44), + (0x0D, 0x40), + (0x0E, 0x41), + (0x0F, 0x1F), + (0x10, 0x1F), + (0x11, 0x1F), + (0x12, 0x1F), + (0x13, 0x1F), + (0x14, 0x1F), + (0x15, 0x1F), + (0x16, 0x1F), + (0x17, 0x1F), + (0x18, 0x52), + (0x19, 0x51), + (0x1A, 0x50), + (0x1B, 0x4B), + (0x1C, 0x4A), + (0x1D, 0x49), + (0x1E, 0x48), + (0x1F, 0x47), + (0x20, 0x46), + (0x21, 0x45), + (0x22, 0x44), + (0x23, 0x40), + (0x24, 0x41), + (0x25, 0x1F), + (0x26, 0x1F), + (0x27, 0x1F), + (0x28, 0x1F), + (0x29, 0x1F), + (0x2A, 0x1F), + (0x2B, 0x1F), + (0x2C, 0x1F), + (0x2D, 0x1F), + (0x2E, 0x52), + (0x2F, 0x40), + (0x30, 0x41), + (0x31, 0x48), + (0x32, 0x49), + (0x33, 0x4A), + (0x34, 0x4B), + (0x35, 0x44), + (0x36, 0x45), + (0x37, 0x46), + (0x38, 0x47), + (0x39, 0x51), + (0x3A, 0x50), + (0x3B, 0x1F), + (0x3C, 0x1F), + (0x3D, 0x1F), + (0x3E, 0x1F), + (0x3F, 0x1F), + (0x40, 0x1F), + (0x41, 0x1F), + (0x42, 0x1F), + (0x43, 0x1F), + (0x44, 0x52), + (0x45, 0x40), + (0x46, 0x41), + (0x47, 0x48), + (0x48, 0x49), + (0x49, 0x4A), + (0x4A, 0x4B), + (0x4B, 0x44), + (0x4C, 0x45), + (0x4D, 0x46), + (0x4E, 0x47), + (0x4F, 0x51), + (0x50, 0x50), + (0x51, 0x1F), + (0x52, 0x1F), + (0x53, 0x1F), + (0x54, 0x1F), + (0x55, 0x1F), + (0x56, 0x1F), + (0x57, 0x1F), + (0x58, 0x40), + (0x59, 0x00), + (0x5A, 0x00), + (0x5B, 0x10), + (0x5C, 0x05), + (0x5D, 0x50), + (0x5E, 0x01), + (0x5F, 0x02), + (0x60, 0x50), + (0x61, 0x06), + (0x62, 0x04), + (0x63, 0x03), + (0x64, 0x64), + (0x65, 0x65), + (0x66, 0x0B), + (0x67, 0x73), + (0x68, 0x07), + (0x69, 0x06), + (0x6A, 0x64), + (0x6B, 0x08), + (0x6C, 0x00), + (0x6D, 0x32), + (0x6E, 0x08), + (0xE0, 0x04), + (0x2C, 0x6B), + (0x35, 0x08), + (0x37, 0x00), + (0xE0, 0x00), + ] +) # fmt: on diff --git a/esphome/components/mipi_dsi/models/m5stack.py b/esphome/components/mipi_dsi/models/m5stack.py index 6055c77f8f..2298f76cd4 100644 --- a/esphome/components/mipi_dsi/models/m5stack.py +++ b/esphome/components/mipi_dsi/models/m5stack.py @@ -55,3 +55,44 @@ DriverChip( (0x35,), (0xFE,), ], ) + +DriverChip( + "M5STACK-TAB5-V2", + height=1280, + width=720, + hsync_back_porch=40, + hsync_pulse_width=2, + hsync_front_porch=40, + vsync_back_porch=8, + vsync_pulse_width=2, + vsync_front_porch=220, + pclk_frequency="80MHz", + lane_bit_rate="960Mbps", + swap_xy=cv.UNDEFINED, + color_order="RGB", + initsequence=[ + (0x60, 0x71, 0x23, 0xa2), + (0x60, 0x71, 0x23, 0xa3), + (0x60, 0x71, 0x23, 0xa4), + (0xA4, 0x31), + (0xD7, 0x10, 0x0A, 0x10, 0x2A, 0x80, 0x80), + (0x90, 0x71, 0x23, 0x5A, 0x20, 0x24, 0x09, 0x09), + (0xA3, 0x80, 0x01, 0x88, 0x30, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x1E, 0x5C, 0x1E, 0x80, 0x00, 0x4F, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x1E, 0x5C, 0x1E, 0x80, 0x00, 0x6F, 0x58, 0x00, 0x00, 0x00, 0xFF), + (0xA6, 0x03, 0x00, 0x24, 0x55, 0x36, 0x00, 0x39, 0x00, 0x6E, 0x6E, 0x91, 0xFF, 0x00, 0x24, 0x55, 0x38, 0x00, 0x37, 0x00, 0x6E, 0x6E, 0x91, 0xFF, 0x00, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x6E, 0x91, 0xFF, 0x00, 0xEC, 0x11, 0x00, 0x03, 0x00, 0x03, 0x6E, 0x6E, 0xFF, 0xFF, 0x00, 0x08, 0x80, 0x08, 0x80, 0x06, 0x00, 0x00, 0x00, 0x00), + (0xA7, 0x19, 0x19, 0x80, 0x64, 0x40, 0x07, 0x16, 0x40, 0x00, 0x44, 0x03, 0x6E, 0x6E, 0x91, 0xFF, 0x08, 0x80, 0x64, 0x40, 0x25, 0x34, 0x40, 0x00, 0x02, 0x01, 0x6E, 0x6E, 0x91, 0xFF, 0x08, 0x80, 0x64, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x6E, 0x6E, 0x91, 0xFF, 0x08, 0x80, 0x64, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x6E, 0x6E, 0x84, 0xFF, 0x08, 0x80, 0x44), + (0xAC, 0x03, 0x19, 0x19, 0x18, 0x18, 0x06, 0x13, 0x13, 0x11, 0x11, 0x08, 0x08, 0x0A, 0x0A, 0x1C, 0x1C, 0x07, 0x07, 0x00, 0x00, 0x02, 0x02, 0x01, 0x19, 0x19, 0x18, 0x18, 0x06, 0x12, 0x12, 0x10, 0x10, 0x09, 0x09, 0x0B, 0x0B, 0x1C, 0x1C, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01), + (0xAD, 0xF0, 0x00, 0x46, 0x00, 0x03, 0x50, 0x50, 0xFF, 0xFF, 0xF0, 0x40, 0x06, 0x01, 0x07, 0x42, 0x42, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF), + (0xAE, 0xFE, 0x3F, 0x3F, 0xFE, 0x3F, 0x3F, 0x00), + (0xB2, 0x15, 0x19, 0x05, 0x23, 0x49, 0xAF, 0x03, 0x2E, 0x5C, 0xD2, 0xFF, 0x10, 0x20, 0xFD, 0x20, 0xC0, 0x00), + (0xE8, 0x20, 0x6F, 0x04, 0x97, 0x97, 0x3E, 0x04, 0xDC, 0xDC, 0x3E, 0x06, 0xFA, 0x26, 0x3E), + (0x75, 0x03, 0x04), + (0xE7, 0x3B, 0x00, 0x00, 0x7C, 0xA1, 0x8C, 0x20, 0x1A, 0xF0, 0xB1, 0x50, 0x00, 0x50, 0xB1, 0x50, 0xB1, 0x50, 0xD8, 0x00, 0x55, 0x00, 0xB1, 0x00, 0x45, 0xC9, 0x6A, 0xFF, 0x5A, 0xD8, 0x18, 0x88, 0x15, 0xB1, 0x01, 0x01, 0x77), + (0xEA, 0x13, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x2C), + (0xB0, 0x22, 0x43, 0x11, 0x61, 0x25, 0x43, 0x43), + (0xb7, 0x00, 0x00, 0x73, 0x73), + (0xBF, 0xA6, 0xAA), + (0xA9, 0x00, 0x00, 0x73, 0xFF, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03), + (0xC8, 0x00, 0x00, 0x10, 0x1F, 0x36, 0x00, 0x5D, 0x04, 0x9D, 0x05, 0x10, 0xF2, 0x06, 0x60, 0x03, 0x11, 0xAD, 0x00, 0xEF, 0x01, 0x22, 0x2E, 0x0E, 0x74, 0x08, 0x32, 0xDC, 0x09, 0x33, 0x0F, 0xF3, 0x77, 0x0D, 0xB0, 0xDC, 0x03, 0xFF), + (0xC9, 0x00, 0x00, 0x10, 0x1F, 0x36, 0x00, 0x5D, 0x04, 0x9D, 0x05, 0x10, 0xF2, 0x06, 0x60, 0x03, 0x11, 0xAD, 0x00, 0xEF, 0x01, 0x22, 0x2E, 0x0E, 0x74, 0x08, 0x32, 0xDC, 0x09, 0x33, 0x0F, 0xF3, 0x77, 0x0D, 0xB0, 0xDC, 0x03, 0xFF), + ], +) diff --git a/esphome/components/mipi_rgb/display.py b/esphome/components/mipi_rgb/display.py index 96e167b2e6..084fe6de14 100644 --- a/esphome/components/mipi_rgb/display.py +++ b/esphome/components/mipi_rgb/display.py @@ -260,7 +260,7 @@ async def to_code(config): cg.add(var.set_enable_pins(enable)) if CONF_SPI_ID in config: - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) sequence, madctl = model.get_sequence(config) cg.add(var.set_init_sequence(sequence)) cg.add(var.set_madctl(madctl)) diff --git a/esphome/components/mipi_rgb/mipi_rgb.cpp b/esphome/components/mipi_rgb/mipi_rgb.cpp index ef96da8a1c..d0e716bd24 100644 --- a/esphome/components/mipi_rgb/mipi_rgb.cpp +++ b/esphome/components/mipi_rgb/mipi_rgb.cpp @@ -1,9 +1,11 @@ #ifdef USE_ESP32_VARIANT_ESP32S3 #include "mipi_rgb.h" +#include "esphome/core/gpio.h" +#include "esphome/core/hal.h" #include "esphome/core/helpers.h" #include "esphome/core/log.h" -#include "esphome/core/hal.h" #include "esp_lcd_panel_rgb.h" +#include namespace esphome { namespace mipi_rgb { @@ -343,19 +345,27 @@ int MipiRgb::get_height() { } } -static std::string get_pin_name(GPIOPin *pin) { +static const char *get_pin_name(GPIOPin *pin, std::span buffer) { if (pin == nullptr) return "None"; - return pin->dump_summary(); + pin->dump_summary(buffer.data(), buffer.size()); + return buffer.data(); } void MipiRgb::dump_pins_(uint8_t start, uint8_t end, const char *name, uint8_t offset) { + char pin_summary[GPIO_SUMMARY_MAX_LEN]; for (uint8_t i = start; i != end; i++) { - ESP_LOGCONFIG(TAG, " %s pin %d: %s", name, offset++, this->data_pins_[i]->dump_summary().c_str()); + this->data_pins_[i]->dump_summary(pin_summary, sizeof(pin_summary)); + ESP_LOGCONFIG(TAG, " %s pin %d: %s", name, offset++, pin_summary); } } void MipiRgb::dump_config() { + char reset_buf[GPIO_SUMMARY_MAX_LEN]; + char de_buf[GPIO_SUMMARY_MAX_LEN]; + char pclk_buf[GPIO_SUMMARY_MAX_LEN]; + char hsync_buf[GPIO_SUMMARY_MAX_LEN]; + char vsync_buf[GPIO_SUMMARY_MAX_LEN]; ESP_LOGCONFIG(TAG, "MIPI_RGB LCD" "\n Model: %s" @@ -379,9 +389,9 @@ void MipiRgb::dump_config() { this->model_, this->width_, this->height_, this->rotation_, YESNO(this->pclk_inverted_), this->hsync_pulse_width_, this->hsync_back_porch_, this->hsync_front_porch_, this->vsync_pulse_width_, this->vsync_back_porch_, this->vsync_front_porch_, YESNO(this->invert_colors_), - (unsigned) (this->pclk_frequency_ / 1000000), get_pin_name(this->reset_pin_).c_str(), - get_pin_name(this->de_pin_).c_str(), get_pin_name(this->pclk_pin_).c_str(), - get_pin_name(this->hsync_pin_).c_str(), get_pin_name(this->vsync_pin_).c_str()); + (unsigned) (this->pclk_frequency_ / 1000000), get_pin_name(this->reset_pin_, reset_buf), + get_pin_name(this->de_pin_, de_buf), get_pin_name(this->pclk_pin_, pclk_buf), + get_pin_name(this->hsync_pin_, hsync_buf), get_pin_name(this->vsync_pin_, vsync_buf)); this->dump_pins_(8, 13, "Blue", 0); this->dump_pins_(13, 16, "Green", 0); diff --git a/esphome/components/mipi_rgb/models/st7701s.py b/esphome/components/mipi_rgb/models/st7701s.py index 3c66380d04..990a1ca4f3 100644 --- a/esphome/components/mipi_rgb/models/st7701s.py +++ b/esphome/components/mipi_rgb/models/st7701s.py @@ -55,6 +55,7 @@ st7701s = ST7701S( pclk_frequency="16MHz", pclk_inverted=True, initsequence=( + (0x01,), # Software Reset (0xFF, 0x77, 0x01, 0x00, 0x00, 0x10), # Page 0 (0xC0, 0x3B, 0x00), (0xC1, 0x0D, 0x02), (0xC2, 0x31, 0x05), (0xB0, 0x00, 0x11, 0x18, 0x0E, 0x11, 0x06, 0x07, 0x08, 0x07, 0x22, 0x04, 0x12, 0x0F, 0xAA, 0x31, 0x18,), diff --git a/esphome/components/mipi_spi/display.py b/esphome/components/mipi_spi/display.py index 69bf133c68..8dccfa3a92 100644 --- a/esphome/components/mipi_spi/display.py +++ b/esphome/components/mipi_spi/display.py @@ -443,6 +443,4 @@ async def to_code(config): ) cg.add(var.set_writer(lambda_)) await display.register_display(var, config) - await spi.register_spi_device(var, config) - # Displays are write-only, set the SPI device to write-only as well - cg.add(var.set_write_only(True)) + await spi.register_spi_device(var, config, write_only=True) diff --git a/esphome/components/mipi_spi/mipi_spi.h b/esphome/components/mipi_spi/mipi_spi.h index a59cb8104b..fd5bc97596 100644 --- a/esphome/components/mipi_spi/mipi_spi.h +++ b/esphome/components/mipi_spi/mipi_spi.h @@ -224,12 +224,9 @@ class MipiSpi : public display::Display, this->madctl_ & MADCTL_BGR ? "BGR" : "RGB", DISPLAYPIXEL * 8, IS_BIG_ENDIAN ? "Big" : "Little"); if (this->brightness_.has_value()) esph_log_config(TAG, " Brightness: %u", this->brightness_.value()); - if (this->cs_ != nullptr) - esph_log_config(TAG, " CS Pin: %s", this->cs_->dump_summary().c_str()); - if (this->reset_pin_ != nullptr) - esph_log_config(TAG, " Reset Pin: %s", this->reset_pin_->dump_summary().c_str()); - if (this->dc_pin_ != nullptr) - esph_log_config(TAG, " DC Pin: %s", this->dc_pin_->dump_summary().c_str()); + log_pin(TAG, " CS Pin: ", this->cs_); + log_pin(TAG, " Reset Pin: ", this->reset_pin_); + log_pin(TAG, " DC Pin: ", this->dc_pin_); esph_log_config(TAG, " SPI Mode: %d\n" " SPI Data rate: %dMHz\n" diff --git a/esphome/components/mipi_spi/models/adafruit.py b/esphome/components/mipi_spi/models/adafruit.py index 0e91107bee..26790b1493 100644 --- a/esphome/components/mipi_spi/models/adafruit.py +++ b/esphome/components/mipi_spi/models/adafruit.py @@ -26,5 +26,3 @@ ST7789V.extend( reset_pin=40, invert_colors=True, ) - -models = {} diff --git a/esphome/components/mipi_spi/models/amoled.py b/esphome/components/mipi_spi/models/amoled.py index 4d6c8da4b0..32cad70ac0 100644 --- a/esphome/components/mipi_spi/models/amoled.py +++ b/esphome/components/mipi_spi/models/amoled.py @@ -105,6 +105,3 @@ CO5300 = DriverChip( (WCE, 0x00), ), ) - - -models = {} diff --git a/esphome/components/mipi_spi/models/cyd.py b/esphome/components/mipi_spi/models/cyd.py index a25ecf33a8..7229412f18 100644 --- a/esphome/components/mipi_spi/models/cyd.py +++ b/esphome/components/mipi_spi/models/cyd.py @@ -1,10 +1,45 @@ -from .ili import ILI9341 +from .ili import ILI9341, ILI9342, ST7789V ILI9341.extend( + # ESP32-2432S028 CYD board with Micro USB, has ILI9341 controller "ESP32-2432S028", data_rate="40MHz", - cs_pin=15, - dc_pin=2, + cs_pin={"number": 15, "ignore_strapping_warning": True}, + dc_pin={"number": 2, "ignore_strapping_warning": True}, ) -models = {} +ST7789V.extend( + # ESP32-2432S028 CYD board with USB C + Micro USB, has ST7789V controller + "ESP32-2432S028-7789", + data_rate="40MHz", + cs_pin={"number": 15, "ignore_strapping_warning": True}, + dc_pin={"number": 2, "ignore_strapping_warning": True}, +) + +# fmt: off + +ILI9342.extend( + # ESP32-2432S028 CYD board with USB C + Micro USB, has ILI9342 controller + "ESP32-2432S028-9342", + data_rate="40MHz", + cs_pin={"number": 15, "ignore_strapping_warning": True}, + dc_pin={"number": 2, "ignore_strapping_warning": True}, + initsequence=( + (0xCB, 0x39, 0x2C, 0x00, 0x34, 0x02), # Power Control A + (0xCF, 0x00, 0xC1, 0x30), # Power Control B + (0xE8, 0x85, 0x00, 0x78), # Driver timing control A + (0xEA, 0x00, 0x00), # Driver timing control B + (0xED, 0x64, 0x03, 0x12, 0x81), # Power on sequence control + (0xF7, 0x20), # Pump ratio control + (0xC0, 0x23), # Power Control 1 + (0xC1, 0x10), # Power Control 2 + (0xC5, 0x3E, 0x28), # VCOM Control 1 + (0xC7, 0x86), # VCOM Control 2 + (0xB1, 0x00, 0x1B), # Frame Rate Control + (0xB6, 0x0A, 0xA2, 0x27, 0x00), # Display Function Control + (0xF2, 0x00), # Enable 3G + (0x26, 0x01), # Gamma Set + (0xE0, 0x00, 0x0C, 0x11, 0x04, 0x11, 0x08, 0x37, 0x89, 0x4C, 0x06, 0x0C, 0x0A, 0x2E, 0x34, 0x0F), # Positive Gamma Correction + (0xE1, 0x00, 0x0B, 0x11, 0x05, 0x13, 0x09, 0x33, 0x67, 0x48, 0x07, 0x0E, 0x0B, 0x23, 0x33, 0x0F), # Negative Gamma Correction + ) +) diff --git a/esphome/components/mipi_spi/models/ili.py b/esphome/components/mipi_spi/models/ili.py index 60a25c32a9..6b672b0859 100644 --- a/esphome/components/mipi_spi/models/ili.py +++ b/esphome/components/mipi_spi/models/ili.py @@ -148,6 +148,34 @@ ILI9341 = DriverChip( ), ), ) + +# fmt: off + +ILI9342 = DriverChip( + "ILI9342", + width=320, + height=240, + mirror_x=True, + initsequence=( + (0xCB, 0x39, 0x2C, 0x00, 0x34, 0x02), # Power Control A + (0xCF, 0x00, 0xC1, 0x30), # Power Control B + (0xE8, 0x85, 0x00, 0x78), # Driver timing control A + (0xEA, 0x00, 0x00), # Driver timing control B + (0xED, 0x64, 0x03, 0x12, 0x81), # Power on sequence control + (0xF7, 0x20), # Pump ratio control + (0xC0, 0x23), # Power Control 1 + (0xC1, 0x10), # Power Control 2 + (0xC5, 0x3E, 0x28), # VCOM Control 1 + (0xC7, 0x86), # VCOM Control 2 + (0xB1, 0x00, 0x1B), # Frame Rate Control + (0xB6, 0x0A, 0xA2, 0x27, 0x00), # Display Function Control + (0xF2, 0x00), # Enable 3G + (0x26, 0x01), # Gamma Set + (0xE0, 0x0F, 0x1F, 0x1C, 0x0C, 0x0F, 0x08, 0x48, 0x98, 0x37, 0x0A, 0x13, 0x04, 0x11, 0x0D, 0x00), # Positive Gamma + (0xE1, 0x0F, 0x32, 0x2E, 0x0B, 0x0D, 0x05, 0x47, 0x75, 0x37, 0x06, 0x10, 0x03, 0x24, 0x20, 0x00), # Negative Gamma + ), +) + # M5Stack Core2 uses ILI9341 chip - mirror_x disabled for correct orientation ILI9341.extend( "M5CORE2", @@ -758,5 +786,3 @@ ST7796.extend( dc_pin=0, invert_colors=True, ) - -models = {} diff --git a/esphome/components/mipi_spi/models/jc.py b/esphome/components/mipi_spi/models/jc.py index 5b936fd956..854814f572 100644 --- a/esphome/components/mipi_spi/models/jc.py +++ b/esphome/components/mipi_spi/models/jc.py @@ -588,5 +588,3 @@ DriverChip( (0x29, 0x00), ), ) - -models = {} diff --git a/esphome/components/mipi_spi/models/lanbon.py b/esphome/components/mipi_spi/models/lanbon.py index 6f9aa58674..8cec3c8317 100644 --- a/esphome/components/mipi_spi/models/lanbon.py +++ b/esphome/components/mipi_spi/models/lanbon.py @@ -11,5 +11,3 @@ ST7789V.extend( dc_pin=21, reset_pin=18, ) - -models = {} diff --git a/esphome/components/mipi_spi/models/lilygo.py b/esphome/components/mipi_spi/models/lilygo.py index 13ddc67465..46ec809029 100644 --- a/esphome/components/mipi_spi/models/lilygo.py +++ b/esphome/components/mipi_spi/models/lilygo.py @@ -56,5 +56,3 @@ ST7796.extend( backlight_pin=48, invert_colors=True, ) - -models = {} diff --git a/esphome/components/modbus_controller/__init__.py b/esphome/components/modbus_controller/__init__.py index 1c23783ce3..c45c338bb3 100644 --- a/esphome/components/modbus_controller/__init__.py +++ b/esphome/components/modbus_controller/__init__.py @@ -279,7 +279,7 @@ def modbus_calc_properties(config): if isinstance(value, str): value = value.encode() config[CONF_ADDRESS] = binascii.crc_hqx(value, 0) - config[CONF_REGISTER_TYPE] = ModbusRegisterType.CUSTOM + config[CONF_REGISTER_TYPE] = cv.enum(MODBUS_REGISTER_TYPE)("custom") config[CONF_FORCE_NEW_RANGE] = True return byte_offset, reg_count diff --git a/esphome/components/modbus_controller/modbus_controller.h b/esphome/components/modbus_controller/modbus_controller.h index 6ed05715cb..fca2926568 100644 --- a/esphome/components/modbus_controller/modbus_controller.h +++ b/esphome/components/modbus_controller/modbus_controller.h @@ -271,24 +271,31 @@ class ServerRegister { // Formats a raw value into a string representation based on the value type for debugging std::string format_value(int64_t value) const { + // max 44: float with %.1f can be up to 42 chars (3.4e38 → 39 integer digits + sign + decimal + 1 digit) + // plus null terminator = 43, rounded to 44 for 4-byte alignment + char buf[44]; switch (this->value_type) { case SensorValueType::U_WORD: case SensorValueType::U_DWORD: case SensorValueType::U_DWORD_R: case SensorValueType::U_QWORD: case SensorValueType::U_QWORD_R: - return std::to_string(static_cast(value)); + buf_append_printf(buf, sizeof(buf), 0, "%" PRIu64, static_cast(value)); + return buf; case SensorValueType::S_WORD: case SensorValueType::S_DWORD: case SensorValueType::S_DWORD_R: case SensorValueType::S_QWORD: case SensorValueType::S_QWORD_R: - return std::to_string(value); + buf_append_printf(buf, sizeof(buf), 0, "%" PRId64, value); + return buf; case SensorValueType::FP32_R: case SensorValueType::FP32: - return str_sprintf("%.1f", bit_cast(static_cast(value))); + buf_append_printf(buf, sizeof(buf), 0, "%.1f", bit_cast(static_cast(value))); + return buf; default: - return std::to_string(value); + buf_append_printf(buf, sizeof(buf), 0, "%" PRId64, value); + return buf; } } diff --git a/esphome/components/modbus_controller/text_sensor/modbus_textsensor.cpp b/esphome/components/modbus_controller/text_sensor/modbus_textsensor.cpp index 89e86741b0..b26411b72e 100644 --- a/esphome/components/modbus_controller/text_sensor/modbus_textsensor.cpp +++ b/esphome/components/modbus_controller/text_sensor/modbus_textsensor.cpp @@ -16,12 +16,20 @@ void ModbusTextSensor::parse_and_publish(const std::vector &data) { while ((items_left > 0) && index < data.size()) { uint8_t b = data[index]; switch (this->encode_) { - case RawEncoding::HEXBYTES: - output_str += str_snprintf("%02x", 2, b); + case RawEncoding::HEXBYTES: { + // max 3: 2 hex digits + null + char hex_buf[3]; + snprintf(hex_buf, sizeof(hex_buf), "%02x", b); + output_str += hex_buf; break; - case RawEncoding::COMMA: - output_str += str_sprintf(index != this->offset ? ",%d" : "%d", b); + } + case RawEncoding::COMMA: { + // max 5: optional ','(1) + uint8(3) + null, for both ",%d" and "%d" + char dec_buf[5]; + snprintf(dec_buf, sizeof(dec_buf), index != this->offset ? ",%d" : "%d", b); + output_str += dec_buf; break; + } case RawEncoding::ANSI: if (b < 0x20) break; diff --git a/esphome/components/mpr121/mpr121.cpp b/esphome/components/mpr121/mpr121.cpp index 4b358e384c..cd9c81fe03 100644 --- a/esphome/components/mpr121/mpr121.cpp +++ b/esphome/components/mpr121/mpr121.cpp @@ -154,7 +154,7 @@ void MPR121GPIOPin::digital_write(bool value) { } size_t MPR121GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "ELE%u on MPR121", this->pin_); + return buf_append_printf(buffer, len, 0, "ELE%u on MPR121", this->pin_); } } // namespace mpr121 diff --git a/esphome/components/mqtt/custom_mqtt_device.cpp b/esphome/components/mqtt/custom_mqtt_device.cpp index 7ff65bb42c..64521f5cf3 100644 --- a/esphome/components/mqtt/custom_mqtt_device.cpp +++ b/esphome/components/mqtt/custom_mqtt_device.cpp @@ -18,7 +18,7 @@ bool CustomMQTTDevice::publish(const std::string &topic, float value, int8_t num } bool CustomMQTTDevice::publish(const std::string &topic, int value) { char buffer[24]; - int len = snprintf(buffer, sizeof(buffer), "%d", value); + size_t len = buf_append_printf(buffer, sizeof(buffer), 0, "%d", value); return global_mqtt_client->publish(topic, buffer, len); } bool CustomMQTTDevice::publish_json(const std::string &topic, const json::json_build_t &f, uint8_t qos, bool retain) { diff --git a/esphome/components/mqtt/mqtt_alarm_control_panel.cpp b/esphome/components/mqtt/mqtt_alarm_control_panel.cpp index 6245d10882..263e554778 100644 --- a/esphome/components/mqtt/mqtt_alarm_control_panel.cpp +++ b/esphome/components/mqtt/mqtt_alarm_control_panel.cpp @@ -1,5 +1,6 @@ #include "mqtt_alarm_control_panel.h" #include "esphome/core/log.h" +#include "esphome/core/progmem.h" #include "mqtt_const.h" @@ -18,21 +19,21 @@ void MQTTAlarmControlPanelComponent::setup() { this->alarm_control_panel_->add_on_state_callback([this]() { this->publish_state(); }); this->subscribe(this->get_command_topic_(), [this](const std::string &topic, const std::string &payload) { auto call = this->alarm_control_panel_->make_call(); - if (strcasecmp(payload.c_str(), "ARM_AWAY") == 0) { + if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("ARM_AWAY")) == 0) { call.arm_away(); - } else if (strcasecmp(payload.c_str(), "ARM_HOME") == 0) { + } else if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("ARM_HOME")) == 0) { call.arm_home(); - } else if (strcasecmp(payload.c_str(), "ARM_NIGHT") == 0) { + } else if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("ARM_NIGHT")) == 0) { call.arm_night(); - } else if (strcasecmp(payload.c_str(), "ARM_VACATION") == 0) { + } else if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("ARM_VACATION")) == 0) { call.arm_vacation(); - } else if (strcasecmp(payload.c_str(), "ARM_CUSTOM_BYPASS") == 0) { + } else if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("ARM_CUSTOM_BYPASS")) == 0) { call.arm_custom_bypass(); - } else if (strcasecmp(payload.c_str(), "DISARM") == 0) { + } else if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("DISARM")) == 0) { call.disarm(); - } else if (strcasecmp(payload.c_str(), "PENDING") == 0) { + } else if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("PENDING")) == 0) { call.pending(); - } else if (strcasecmp(payload.c_str(), "TRIGGERED") == 0) { + } else if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("TRIGGERED")) == 0) { call.triggered(); } else { ESP_LOGW(TAG, "'%s': Received unknown command payload %s", this->friendly_name_().c_str(), payload.c_str()); @@ -43,7 +44,7 @@ void MQTTAlarmControlPanelComponent::setup() { void MQTTAlarmControlPanelComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT alarm_control_panel '%s':", this->alarm_control_panel_->get_name().c_str()); - LOG_MQTT_COMPONENT(true, true) + LOG_MQTT_COMPONENT(true, true); ESP_LOGCONFIG(TAG, " Supported Features: %" PRIu32 "\n" " Requires Code to Disarm: %s\n" @@ -119,7 +120,8 @@ bool MQTTAlarmControlPanelComponent::publish_state() { default: state_s = "unknown"; } - return this->publish(this->get_state_topic_(), state_s); + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish(this->get_state_topic_to_(topic_buf), state_s); } } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_binary_sensor.cpp b/esphome/components/mqtt/mqtt_binary_sensor.cpp index a37043406b..75995f61e0 100644 --- a/esphome/components/mqtt/mqtt_binary_sensor.cpp +++ b/esphome/components/mqtt/mqtt_binary_sensor.cpp @@ -19,7 +19,7 @@ void MQTTBinarySensorComponent::setup() { void MQTTBinarySensorComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT Binary Sensor '%s':", this->binary_sensor_->get_name().c_str()); - LOG_MQTT_COMPONENT(true, false) + LOG_MQTT_COMPONENT(true, false); } MQTTBinarySensorComponent::MQTTBinarySensorComponent(binary_sensor::BinarySensor *binary_sensor) : binary_sensor_(binary_sensor) { @@ -52,8 +52,9 @@ bool MQTTBinarySensorComponent::publish_state(bool state) { if (this->binary_sensor_->is_status_binary_sensor()) return true; + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; const char *state_s = state ? "ON" : "OFF"; - return this->publish(this->get_state_topic_(), state_s); + return this->publish(this->get_state_topic_to_(topic_buf), state_s); } } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_client.cpp b/esphome/components/mqtt/mqtt_client.cpp index 0ab5b238b5..e7364f3406 100644 --- a/esphome/components/mqtt/mqtt_client.cpp +++ b/esphome/components/mqtt/mqtt_client.cpp @@ -5,6 +5,7 @@ #include #include "esphome/components/network/util.h" #include "esphome/core/application.h" +#include "esphome/core/entity_base.h" #include "esphome/core/helpers.h" #include "esphome/core/log.h" #include "esphome/core/version.h" @@ -66,10 +67,13 @@ void MQTTClientComponent::setup() { "esphome/discover", [this](const std::string &topic, const std::string &payload) { this->send_device_info_(); }, 2); - std::string topic = "esphome/ping/"; - topic.append(App.get_name()); + // Format topic on stack - subscribe() copies it + // "esphome/ping/" (13) + name (ESPHOME_DEVICE_NAME_MAX_LEN) + null (1) + constexpr size_t ping_topic_buffer_size = 13 + ESPHOME_DEVICE_NAME_MAX_LEN + 1; + char ping_topic[ping_topic_buffer_size]; + buf_append_printf(ping_topic, sizeof(ping_topic), 0, "esphome/ping/%s", App.get_name().c_str()); this->subscribe( - topic, [this](const std::string &topic, const std::string &payload) { this->send_device_info_(); }, 2); + ping_topic, [this](const std::string &topic, const std::string &payload) { this->send_device_info_(); }, 2); } if (this->enable_on_boot_) { @@ -81,8 +85,11 @@ void MQTTClientComponent::send_device_info_() { if (!this->is_connected() or !this->is_discovery_ip_enabled()) { return; } - std::string topic = "esphome/discover/"; - topic.append(App.get_name()); + // Format topic on stack to avoid heap allocation + // "esphome/discover/" (17) + name (ESPHOME_DEVICE_NAME_MAX_LEN) + null (1) + constexpr size_t topic_buffer_size = 17 + ESPHOME_DEVICE_NAME_MAX_LEN + 1; + char topic[topic_buffer_size]; + buf_append_printf(topic, sizeof(topic), 0, "esphome/discover/%s", App.get_name().c_str()); // NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson this->publish_json( @@ -91,7 +98,17 @@ void MQTTClientComponent::send_device_info_() { uint8_t index = 0; for (auto &ip : network::get_ip_addresses()) { if (ip.is_set()) { - root["ip" + (index == 0 ? "" : esphome::to_string(index))] = ip.str(); + char key[8]; // "ip" + up to 3 digits + null + char ip_buf[network::IP_ADDRESS_BUFFER_SIZE]; + if (index == 0) { + key[0] = 'i'; + key[1] = 'p'; + key[2] = '\0'; + } else { + buf_append_printf(key, sizeof(key), 0, "ip%u", index); + } + ip.str_to(ip_buf); + root[key] = ip_buf; index++; } } @@ -396,6 +413,12 @@ void MQTTClientComponent::loop() { this->last_connected_ = now; this->resubscribe_subscriptions_(); + + // Process pending resends for all MQTT components centrally + // This is more efficient than each component polling in its own loop + for (MQTTComponent *component : this->children_) { + component->process_resend(); + } } break; } @@ -500,39 +523,49 @@ bool MQTTClientComponent::publish(const std::string &topic, const std::string &p bool MQTTClientComponent::publish(const std::string &topic, const char *payload, size_t payload_length, uint8_t qos, bool retain) { - return publish({.topic = topic, .payload = std::string(payload, payload_length), .qos = qos, .retain = retain}); + return this->publish(topic.c_str(), payload, payload_length, qos, retain); } bool MQTTClientComponent::publish(const MQTTMessage &message) { + return this->publish(message.topic.c_str(), message.payload.c_str(), message.payload.length(), message.qos, + message.retain); +} +bool MQTTClientComponent::publish_json(const std::string &topic, const json::json_build_t &f, uint8_t qos, + bool retain) { + return this->publish_json(topic.c_str(), f, qos, retain); +} + +bool MQTTClientComponent::publish(const char *topic, const char *payload, size_t payload_length, uint8_t qos, + bool retain) { if (!this->is_connected()) { - // critical components will re-transmit their messages return false; } - bool logging_topic = this->log_message_.topic == message.topic; - bool ret = this->mqtt_backend_.publish(message); + size_t topic_len = strlen(topic); + bool logging_topic = (topic_len == this->log_message_.topic.size()) && + (memcmp(this->log_message_.topic.c_str(), topic, topic_len) == 0); + bool ret = this->mqtt_backend_.publish(topic, payload, payload_length, qos, retain); delay(0); if (!ret && !logging_topic && this->is_connected()) { delay(0); - ret = this->mqtt_backend_.publish(message); + ret = this->mqtt_backend_.publish(topic, payload, payload_length, qos, retain); delay(0); } if (!logging_topic) { if (ret) { - ESP_LOGV(TAG, "Publish(topic='%s' payload='%s' retain=%d qos=%d)", message.topic.c_str(), message.payload.c_str(), - message.retain, message.qos); + ESP_LOGV(TAG, "Publish(topic='%s' retain=%d qos=%d)", topic, retain, qos); + ESP_LOGVV(TAG, "Publish payload (len=%u): '%.*s'", payload_length, static_cast(payload_length), payload); } else { - ESP_LOGV(TAG, "Publish failed for topic='%s' (len=%u). Will retry", message.topic.c_str(), - message.payload.length()); + ESP_LOGV(TAG, "Publish failed for topic='%s' (len=%u). Will retry", topic, payload_length); this->status_momentary_warning("publish", 1000); } } return ret != 0; } -bool MQTTClientComponent::publish_json(const std::string &topic, const json::json_build_t &f, uint8_t qos, - bool retain) { + +bool MQTTClientComponent::publish_json(const char *topic, const json::json_build_t &f, uint8_t qos, bool retain) { std::string message = json::build_json(f); - return this->publish(topic, message, qos, retain); + return this->publish(topic, message.c_str(), message.length(), qos, retain); } void MQTTClientComponent::enable() { @@ -610,18 +643,10 @@ static bool topic_match(const char *message, const char *subscription) { } void MQTTClientComponent::on_message(const std::string &topic, const std::string &payload) { -#ifdef USE_ESP8266 - // on ESP8266, this is called in lwIP/AsyncTCP task; some components do not like running - // from a different task. - this->defer([this, topic, payload]() { -#endif - for (auto &subscription : this->subscriptions_) { - if (topic_match(topic.c_str(), subscription.topic.c_str())) - subscription.callback(topic, payload); - } -#ifdef USE_ESP8266 - }); -#endif + for (auto &subscription : this->subscriptions_) { + if (topic_match(topic.c_str(), subscription.topic.c_str())) + subscription.callback(topic, payload); + } } // Setters @@ -635,7 +660,8 @@ void MQTTClientComponent::set_log_message_template(MQTTMessage &&message) { this const MQTTDiscoveryInfo &MQTTClientComponent::get_discovery_info() const { return this->discovery_info_; } void MQTTClientComponent::set_topic_prefix(const std::string &topic_prefix, const std::string &check_topic_prefix) { if (App.is_name_add_mac_suffix_enabled() && (topic_prefix == check_topic_prefix)) { - this->topic_prefix_ = str_sanitize(App.get_name()); + char buf[ESPHOME_DEVICE_NAME_MAX_LEN + 1]; + this->topic_prefix_ = str_sanitize_to(buf, App.get_name().c_str()); } else { this->topic_prefix_ = topic_prefix; } diff --git a/esphome/components/mqtt/mqtt_client.h b/esphome/components/mqtt/mqtt_client.h index 9e9db03b19..38bc0b4da3 100644 --- a/esphome/components/mqtt/mqtt_client.h +++ b/esphome/components/mqtt/mqtt_client.h @@ -229,6 +229,9 @@ class MQTTClientComponent : public Component bool publish(const std::string &topic, const char *payload, size_t payload_length, uint8_t qos = 0, bool retain = false); + /// Publish directly without creating MQTTMessage (avoids heap allocation for topic) + bool publish(const char *topic, const char *payload, size_t payload_length, uint8_t qos = 0, bool retain = false); + /** Construct and send a JSON MQTT message. * * @param topic The topic. @@ -237,6 +240,9 @@ class MQTTClientComponent : public Component */ bool publish_json(const std::string &topic, const json::json_build_t &f, uint8_t qos = 0, bool retain = false); + /// Publish JSON directly without heap allocation for topic + bool publish_json(const char *topic, const json::json_build_t &f, uint8_t qos = 0, bool retain = false); + /// Setup the MQTT client, registering a bunch of callbacks and attempting to connect. void setup() override; void dump_config() override; diff --git a/esphome/components/mqtt/mqtt_component.cpp b/esphome/components/mqtt/mqtt_component.cpp index 20c111de43..aec6140e3f 100644 --- a/esphome/components/mqtt/mqtt_component.cpp +++ b/esphome/components/mqtt/mqtt_component.cpp @@ -27,20 +27,23 @@ inline char *append_char(char *p, char c) { // Max lengths for stack-based topic building. // These limits are enforced at Python config validation time in mqtt/__init__.py // using cv.Length() validators for topic_prefix and discovery_prefix. -// MQTT_COMPONENT_TYPE_MAX_LEN and MQTT_SUFFIX_MAX_LEN are defined in mqtt_component.h. +// MQTT_COMPONENT_TYPE_MAX_LEN, MQTT_SUFFIX_MAX_LEN, and MQTT_DEFAULT_TOPIC_MAX_LEN are in mqtt_component.h. // ESPHOME_DEVICE_NAME_MAX_LEN and OBJECT_ID_MAX_LEN are defined in entity_base.h. // This ensures the stack buffers below are always large enough. -static constexpr size_t TOPIC_PREFIX_MAX_LEN = 64; // Validated in Python: cv.Length(max=64) static constexpr size_t DISCOVERY_PREFIX_MAX_LEN = 64; // Validated in Python: cv.Length(max=64) - -// Stack buffer sizes - safe because all inputs are length-validated at config time -// Format: prefix + "/" + type + "/" + object_id + "/" + suffix + null -static constexpr size_t DEFAULT_TOPIC_MAX_LEN = - TOPIC_PREFIX_MAX_LEN + 1 + MQTT_COMPONENT_TYPE_MAX_LEN + 1 + OBJECT_ID_MAX_LEN + 1 + MQTT_SUFFIX_MAX_LEN + 1; // Format: prefix + "/" + type + "/" + name + "/" + object_id + "/config" + null static constexpr size_t DISCOVERY_TOPIC_MAX_LEN = DISCOVERY_PREFIX_MAX_LEN + 1 + MQTT_COMPONENT_TYPE_MAX_LEN + 1 + ESPHOME_DEVICE_NAME_MAX_LEN + 1 + OBJECT_ID_MAX_LEN + 7 + 1; +// Function implementation of LOG_MQTT_COMPONENT macro to reduce code size +void log_mqtt_component(const char *tag, MQTTComponent *obj, bool state_topic, bool command_topic) { + char buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + if (state_topic) + ESP_LOGCONFIG(tag, " State Topic: '%s'", obj->get_state_topic_to_(buf).c_str()); + if (command_topic) + ESP_LOGCONFIG(tag, " Command Topic: '%s'", obj->get_command_topic_to_(buf).c_str()); +} + void MQTTComponent::set_qos(uint8_t qos) { this->qos_ = qos; } void MQTTComponent::set_subscribe_qos(uint8_t qos) { this->subscribe_qos_ = qos; } @@ -48,7 +51,8 @@ void MQTTComponent::set_subscribe_qos(uint8_t qos) { this->subscribe_qos_ = qos; void MQTTComponent::set_retain(bool retain) { this->retain_ = retain; } std::string MQTTComponent::get_discovery_topic_(const MQTTDiscoveryInfo &discovery_info) const { - std::string sanitized_name = str_sanitize(App.get_name()); + char sanitized_name[ESPHOME_DEVICE_NAME_MAX_LEN + 1]; + str_sanitize_to(sanitized_name, App.get_name().c_str()); const char *comp_type = this->component_type(); char object_id_buf[OBJECT_ID_MAX_LEN]; StringRef object_id = this->get_default_object_id_to_(object_id_buf); @@ -60,7 +64,7 @@ std::string MQTTComponent::get_discovery_topic_(const MQTTDiscoveryInfo &discove p = append_char(p, '/'); p = append_str(p, comp_type, strlen(comp_type)); p = append_char(p, '/'); - p = append_str(p, sanitized_name.data(), sanitized_name.size()); + p = append_str(p, sanitized_name, strlen(sanitized_name)); p = append_char(p, '/'); p = append_str(p, object_id.c_str(), object_id.size()); p = append_str(p, "/config", 7); @@ -68,19 +72,18 @@ std::string MQTTComponent::get_discovery_topic_(const MQTTDiscoveryInfo &discove return std::string(buf, p - buf); } -std::string MQTTComponent::get_default_topic_for_(const std::string &suffix) const { +StringRef MQTTComponent::get_default_topic_for_to_(std::span buf, const char *suffix, + size_t suffix_len) const { const std::string &topic_prefix = global_mqtt_client->get_topic_prefix(); if (topic_prefix.empty()) { - // If the topic_prefix is null, the default topic should be null - return ""; + return StringRef(); // Empty topic_prefix means no default topic } const char *comp_type = this->component_type(); char object_id_buf[OBJECT_ID_MAX_LEN]; StringRef object_id = this->get_default_object_id_to_(object_id_buf); - char buf[DEFAULT_TOPIC_MAX_LEN]; - char *p = buf; + char *p = buf.data(); p = append_str(p, topic_prefix.data(), topic_prefix.size()); p = append_char(p, '/'); @@ -88,35 +91,70 @@ std::string MQTTComponent::get_default_topic_for_(const std::string &suffix) con p = append_char(p, '/'); p = append_str(p, object_id.c_str(), object_id.size()); p = append_char(p, '/'); - p = append_str(p, suffix.data(), suffix.size()); + p = append_str(p, suffix, suffix_len); + *p = '\0'; - return std::string(buf, p - buf); + return StringRef(buf.data(), p - buf.data()); +} + +std::string MQTTComponent::get_default_topic_for_(const std::string &suffix) const { + char buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + StringRef ref = this->get_default_topic_for_to_(buf, suffix.data(), suffix.size()); + return std::string(ref.c_str(), ref.size()); +} + +StringRef MQTTComponent::get_state_topic_to_(std::span buf) const { + if (this->custom_state_topic_.has_value()) { + // Returns ref to existing data for static/value, uses buf only for lambda case + return this->custom_state_topic_.ref_or_copy_to(buf.data(), buf.size()); + } + return this->get_default_topic_for_to_(buf, "state", 5); +} + +StringRef MQTTComponent::get_command_topic_to_(std::span buf) const { + if (this->custom_command_topic_.has_value()) { + // Returns ref to existing data for static/value, uses buf only for lambda case + return this->custom_command_topic_.ref_or_copy_to(buf.data(), buf.size()); + } + return this->get_default_topic_for_to_(buf, "command", 7); } std::string MQTTComponent::get_state_topic_() const { - if (this->custom_state_topic_.has_value()) - return this->custom_state_topic_.value(); - return this->get_default_topic_for_("state"); + char buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + StringRef ref = this->get_state_topic_to_(buf); + return std::string(ref.c_str(), ref.size()); } std::string MQTTComponent::get_command_topic_() const { - if (this->custom_command_topic_.has_value()) - return this->custom_command_topic_.value(); - return this->get_default_topic_for_("command"); + char buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + StringRef ref = this->get_command_topic_to_(buf); + return std::string(ref.c_str(), ref.size()); } bool MQTTComponent::publish(const std::string &topic, const std::string &payload) { - return this->publish(topic, payload.data(), payload.size()); + return this->publish(topic.c_str(), payload.data(), payload.size()); } bool MQTTComponent::publish(const std::string &topic, const char *payload, size_t payload_length) { - if (topic.empty()) + return this->publish(topic.c_str(), payload, payload_length); +} + +bool MQTTComponent::publish(const char *topic, const char *payload, size_t payload_length) { + if (topic[0] == '\0') return false; return global_mqtt_client->publish(topic, payload, payload_length, this->qos_, this->retain_); } +bool MQTTComponent::publish(const char *topic, const char *payload) { + return this->publish(topic, payload, strlen(payload)); +} + bool MQTTComponent::publish_json(const std::string &topic, const json::json_build_t &f) { - if (topic.empty()) + return this->publish_json(topic.c_str(), f); +} + +bool MQTTComponent::publish_json(const char *topic, const json::json_build_t &f) { + if (topic[0] == '\0') return false; return global_mqtt_client->publish_json(topic, f, this->qos_, this->retain_); } @@ -167,10 +205,14 @@ bool MQTTComponent::send_discovery_() { break; } - if (config.state_topic) - root[MQTT_STATE_TOPIC] = this->get_state_topic_(); - if (config.command_topic) - root[MQTT_COMMAND_TOPIC] = this->get_command_topic_(); + if (config.state_topic) { + char state_topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + root[MQTT_STATE_TOPIC] = this->get_state_topic_to_(state_topic_buf); + } + if (config.command_topic) { + char command_topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + root[MQTT_COMMAND_TOPIC] = this->get_command_topic_to_(command_topic_buf); + } if (this->command_retain_) root[MQTT_COMMAND_RETAIN] = true; @@ -189,28 +231,37 @@ bool MQTTComponent::send_discovery_() { StringRef object_id = this->get_default_object_id_to_(object_id_buf); if (discovery_info.unique_id_generator == MQTT_MAC_ADDRESS_UNIQUE_ID_GENERATOR) { char friendly_name_hash[9]; - sprintf(friendly_name_hash, "%08" PRIx32, fnv1_hash(this->friendly_name_())); - friendly_name_hash[8] = 0; // ensure the hash-string ends with null + buf_append_printf(friendly_name_hash, sizeof(friendly_name_hash), 0, "%08" PRIx32, + fnv1_hash(this->friendly_name_())); // Format: mac-component_type-hash (e.g. "aabbccddeeff-sensor-12345678") // MAC (12) + "-" (1) + domain (max 20) + "-" (1) + hash (8) + null (1) = 43 char unique_id[MAC_ADDRESS_BUFFER_SIZE + ESPHOME_DOMAIN_MAX_LEN + 11]; char mac_buf[MAC_ADDRESS_BUFFER_SIZE]; get_mac_address_into_buffer(mac_buf); - snprintf(unique_id, sizeof(unique_id), "%s-%s-%s", mac_buf, this->component_type(), friendly_name_hash); + buf_append_printf(unique_id, sizeof(unique_id), 0, "%s-%s-%s", mac_buf, this->component_type(), + friendly_name_hash); root[MQTT_UNIQUE_ID] = unique_id; } else { // default to almost-unique ID. It's a hack but the only way to get that // gorgeous device registry view. - root[MQTT_UNIQUE_ID] = "ESP" + std::string(this->component_type()) + object_id.c_str(); + // "ESP" (3) + component_type (max 20) + object_id (max 128) + null + char unique_id_buf[3 + MQTT_COMPONENT_TYPE_MAX_LEN + OBJECT_ID_MAX_LEN + 1]; + buf_append_printf(unique_id_buf, sizeof(unique_id_buf), 0, "ESP%s%s", this->component_type(), + object_id.c_str()); + root[MQTT_UNIQUE_ID] = unique_id_buf; } const std::string &node_name = App.get_name(); - if (discovery_info.object_id_generator == MQTT_DEVICE_NAME_OBJECT_ID_GENERATOR) - root[MQTT_OBJECT_ID] = node_name + "_" + object_id.c_str(); + if (discovery_info.object_id_generator == MQTT_DEVICE_NAME_OBJECT_ID_GENERATOR) { + // node_name (max 31) + "_" (1) + object_id (max 128) + null + char object_id_full[ESPHOME_DEVICE_NAME_MAX_LEN + 1 + OBJECT_ID_MAX_LEN + 1]; + buf_append_printf(object_id_full, sizeof(object_id_full), 0, "%s_%s", node_name.c_str(), object_id.c_str()); + root[MQTT_OBJECT_ID] = object_id_full; + } const std::string &friendly_name_ref = App.get_friendly_name(); const std::string &node_friendly_name = friendly_name_ref.empty() ? node_name : friendly_name_ref; - std::string node_area = App.get_area(); + const char *node_area = App.get_area(); JsonObject device_info = root[MQTT_DEVICE].to(); char mac[MAC_ADDRESS_BUFFER_SIZE]; @@ -221,18 +272,29 @@ bool MQTTComponent::send_discovery_() { device_info[MQTT_DEVICE_SW_VERSION] = ESPHOME_PROJECT_VERSION " (ESPHome " ESPHOME_VERSION ")"; const char *model = std::strchr(ESPHOME_PROJECT_NAME, '.'); device_info[MQTT_DEVICE_MODEL] = model == nullptr ? ESPHOME_BOARD : model + 1; - device_info[MQTT_DEVICE_MANUFACTURER] = - model == nullptr ? ESPHOME_PROJECT_NAME : std::string(ESPHOME_PROJECT_NAME, model - ESPHOME_PROJECT_NAME); + if (model == nullptr) { + device_info[MQTT_DEVICE_MANUFACTURER] = ESPHOME_PROJECT_NAME; + } else { + // Extract manufacturer (part before '.') using stack buffer to avoid heap allocation + // memcpy is used instead of strncpy since we know the exact length and strncpy + // would still require manual null-termination + char manufacturer[sizeof(ESPHOME_PROJECT_NAME)]; + size_t len = model - ESPHOME_PROJECT_NAME; + memcpy(manufacturer, ESPHOME_PROJECT_NAME, len); + manufacturer[len] = '\0'; + device_info[MQTT_DEVICE_MANUFACTURER] = manufacturer; + } #else static const char ver_fmt[] PROGMEM = ESPHOME_VERSION " (config hash 0x%08" PRIx32 ")"; + // Buffer sized for format string expansion: ~4 bytes net growth from format specifier to 8 hex digits, plus + // safety margin + char version_buf[sizeof(ver_fmt) + 8]; #ifdef USE_ESP8266 - char fmt_buf[sizeof(ver_fmt)]; - strcpy_P(fmt_buf, ver_fmt); - const char *fmt = fmt_buf; + snprintf_P(version_buf, sizeof(version_buf), ver_fmt, App.get_config_hash()); #else - const char *fmt = ver_fmt; + snprintf(version_buf, sizeof(version_buf), ver_fmt, App.get_config_hash()); #endif - device_info[MQTT_DEVICE_SW_VERSION] = str_sprintf(fmt, App.get_config_hash()); + device_info[MQTT_DEVICE_SW_VERSION] = version_buf; device_info[MQTT_DEVICE_MODEL] = ESPHOME_BOARD; #if defined(USE_ESP8266) || defined(USE_ESP32) device_info[MQTT_DEVICE_MANUFACTURER] = "Espressif"; @@ -246,7 +308,7 @@ bool MQTTComponent::send_discovery_() { device_info[MQTT_DEVICE_MANUFACTURER] = "Host"; #endif #endif - if (!node_area.empty()) { + if (node_area[0] != '\0') { device_info[MQTT_DEVICE_SUGGESTED_AREA] = node_area; } @@ -288,7 +350,9 @@ void MQTTComponent::set_availability(std::string topic, std::string payload_avai } void MQTTComponent::disable_availability() { this->set_availability("", "", ""); } void MQTTComponent::call_setup() { - if (this->is_internal()) + // Cache is_internal result once during setup - topics don't change after this + this->is_internal_ = this->compute_is_internal_(); + if (this->is_internal_) return; this->setup(); @@ -308,16 +372,12 @@ void MQTTComponent::call_setup() { } } -void MQTTComponent::call_loop() { - if (this->is_internal()) +void MQTTComponent::process_resend() { + // Called by MQTTClientComponent when connected to process pending resends + // Note: is_internal() check not needed - internal components are never registered + if (!this->resend_state_) return; - this->loop(); - - if (!this->resend_state_ || !this->is_connected_()) { - return; - } - this->resend_state_ = false; if (this->is_discovery_enabled()) { if (!this->send_discovery_()) { @@ -344,26 +404,28 @@ StringRef MQTTComponent::get_default_object_id_to_(std::spanget_entity()->get_icon_ref(); } bool MQTTComponent::is_disabled_by_default_() const { return this->get_entity()->is_disabled_by_default(); } -bool MQTTComponent::is_internal() { +bool MQTTComponent::compute_is_internal_() { if (this->custom_state_topic_.has_value()) { - // If the custom state_topic is null, return true as it is internal and should not publish + // If the custom state_topic is empty, return true as it is internal and should not publish // else, return false, as it is explicitly set to a topic, so it is not internal and should publish - return this->get_state_topic_().empty(); + // Using is_empty() avoids heap allocation for non-lambda cases + return this->custom_state_topic_.is_empty(); } if (this->custom_command_topic_.has_value()) { - // If the custom command_topic is null, return true as it is internal and should not publish + // If the custom command_topic is empty, return true as it is internal and should not publish // else, return false, as it is explicitly set to a topic, so it is not internal and should publish - return this->get_command_topic_().empty(); + // Using is_empty() avoids heap allocation for non-lambda cases + return this->custom_command_topic_.is_empty(); } - // No custom topics have been set - if (this->get_default_topic_for_("").empty()) { - // If the default topic prefix is null, then the component, by default, is internal and should not publish + // No custom topics have been set - check topic_prefix directly to avoid allocation + if (global_mqtt_client->get_topic_prefix().empty()) { + // If the default topic prefix is empty, then the component, by default, is internal and should not publish return true; } - // Use ESPHome's component internal state if topic_prefix is not null with no custom state_topic or command_topic + // Use ESPHome's component internal state if topic_prefix is not empty with no custom state_topic or command_topic return this->get_entity()->is_internal(); } diff --git a/esphome/components/mqtt/mqtt_component.h b/esphome/components/mqtt/mqtt_component.h index 676e3ad35d..304a2c0d0e 100644 --- a/esphome/components/mqtt/mqtt_component.h +++ b/esphome/components/mqtt/mqtt_component.h @@ -20,17 +20,22 @@ struct SendDiscoveryConfig { bool command_topic{true}; ///< If the command topic should be included. Default to true. }; -// Max lengths for stack-based topic building (must match mqtt_component.cpp) +// Max lengths for stack-based topic building. +// These limits are enforced at Python config validation time in mqtt/__init__.py +// using cv.Length() validators for topic_prefix and discovery_prefix. +// This ensures the stack buffers are always large enough. static constexpr size_t MQTT_COMPONENT_TYPE_MAX_LEN = 20; static constexpr size_t MQTT_SUFFIX_MAX_LEN = 32; +static constexpr size_t MQTT_TOPIC_PREFIX_MAX_LEN = 64; // Validated in Python: cv.Length(max=64) +// Stack buffer size - safe because all inputs are length-validated at config time +// Format: prefix + "/" + type + "/" + object_id + "/" + suffix + null +static constexpr size_t MQTT_DEFAULT_TOPIC_MAX_LEN = + MQTT_TOPIC_PREFIX_MAX_LEN + 1 + MQTT_COMPONENT_TYPE_MAX_LEN + 1 + OBJECT_ID_MAX_LEN + 1 + MQTT_SUFFIX_MAX_LEN + 1; -#define LOG_MQTT_COMPONENT(state_topic, command_topic) \ - if (state_topic) { \ - ESP_LOGCONFIG(TAG, " State Topic: '%s'", this->get_state_topic_().c_str()); \ - } \ - if (command_topic) { \ - ESP_LOGCONFIG(TAG, " Command Topic: '%s'", this->get_command_topic_().c_str()); \ - } +class MQTTComponent; // Forward declaration +void log_mqtt_component(const char *tag, MQTTComponent *obj, bool state_topic, bool command_topic); + +#define LOG_MQTT_COMPONENT(state_topic, command_topic) log_mqtt_component(TAG, this, state_topic, command_topic) // Macro to define component_type() with compile-time length verification // Usage: MQTT_COMPONENT_TYPE(MQTTSensorComponent, "sensor") @@ -74,6 +79,8 @@ static constexpr size_t MQTT_SUFFIX_MAX_LEN = 32; * a clean separation. */ class MQTTComponent : public Component { + friend void log_mqtt_component(const char *tag, MQTTComponent *obj, bool state_topic, bool command_topic); + public: /// Constructs a MQTTComponent. explicit MQTTComponent(); @@ -81,8 +88,6 @@ class MQTTComponent : public Component { /// Override setup_ so that we can call send_discovery() when needed. void call_setup() override; - void call_loop() override; - void call_dump_config() override; /// Send discovery info the Home Assistant, override this. @@ -90,7 +95,8 @@ class MQTTComponent : public Component { virtual bool send_initial_state() = 0; - virtual bool is_internal(); + /// Returns cached is_internal result (computed once during setup). + bool is_internal() const { return this->is_internal_; } /// Set QOS for state messages. void set_qos(uint8_t qos); @@ -133,6 +139,9 @@ class MQTTComponent : public Component { /// Internal method for the MQTT client base to schedule a resend of the state on reconnect. void schedule_resend_state(); + /// Process pending resend if needed (called by MQTTClientComponent) + void process_resend(); + /** Send a MQTT message. * * @param topic The topic. @@ -148,6 +157,38 @@ class MQTTComponent : public Component { */ bool publish(const std::string &topic, const char *payload, size_t payload_length); + /** Send a MQTT message (no heap allocation for topic). + * + * @param topic The topic as C string. + * @param payload The payload buffer. + * @param payload_length The length of the payload. + */ + bool publish(const char *topic, const char *payload, size_t payload_length); + + /** Send a MQTT message (no heap allocation for topic). + * + * @param topic The topic as StringRef (for use with get_state_topic_to_()). + * @param payload The payload buffer. + * @param payload_length The length of the payload. + */ + bool publish(StringRef topic, const char *payload, size_t payload_length) { + return this->publish(topic.c_str(), payload, payload_length); + } + + /** Send a MQTT message (no heap allocation for topic). + * + * @param topic The topic as C string. + * @param payload The null-terminated payload. + */ + bool publish(const char *topic, const char *payload); + + /** Send a MQTT message (no heap allocation for topic). + * + * @param topic The topic as StringRef (for use with get_state_topic_to_()). + * @param payload The null-terminated payload. + */ + bool publish(StringRef topic, const char *payload) { return this->publish(topic.c_str(), payload); } + /** Construct and send a JSON MQTT message. * * @param topic The topic. @@ -155,6 +196,20 @@ class MQTTComponent : public Component { */ bool publish_json(const std::string &topic, const json::json_build_t &f); + /** Construct and send a JSON MQTT message (no heap allocation for topic). + * + * @param topic The topic as C string. + * @param f The Json Message builder. + */ + bool publish_json(const char *topic, const json::json_build_t &f); + + /** Construct and send a JSON MQTT message (no heap allocation for topic). + * + * @param topic The topic as StringRef (for use with get_state_topic_to_()). + * @param f The Json Message builder. + */ + bool publish_json(StringRef topic, const json::json_build_t &f) { return this->publish_json(topic.c_str(), f); } + /** Subscribe to a MQTT topic. * * @param topic The topic. Wildcards are currently not supported. @@ -178,7 +233,16 @@ class MQTTComponent : public Component { /// Helper method to get the discovery topic for this component. std::string get_discovery_topic_(const MQTTDiscoveryInfo &discovery_info) const; - /** Get this components state/command/... topic. + /** Get this components state/command/... topic into a buffer. + * + * @param buf The buffer to write to (must be exactly MQTT_DEFAULT_TOPIC_MAX_LEN). + * @param suffix The suffix/key such as "state" or "command". + * @return StringRef pointing to the buffer with the topic. + */ + StringRef get_default_topic_for_to_(std::span buf, const char *suffix, + size_t suffix_len) const; + + /** Get this components state/command/... topic (allocates std::string). * * @param suffix The suffix/key such as "state" or "command". * @return The full topic. @@ -199,10 +263,20 @@ class MQTTComponent : public Component { /// Get whether the underlying Entity is disabled by default bool is_disabled_by_default_() const; - /// Get the MQTT topic that new states will be shared to. + /// Get the MQTT state topic into a buffer (no heap allocation for non-lambda custom topics). + /// @param buf Buffer of exactly MQTT_DEFAULT_TOPIC_MAX_LEN bytes. + /// @return StringRef pointing to the topic in the buffer. + StringRef get_state_topic_to_(std::span buf) const; + + /// Get the MQTT command topic into a buffer (no heap allocation for non-lambda custom topics). + /// @param buf Buffer of exactly MQTT_DEFAULT_TOPIC_MAX_LEN bytes. + /// @return StringRef pointing to the topic in the buffer. + StringRef get_command_topic_to_(std::span buf) const; + + /// Get the MQTT topic that new states will be shared to (allocates std::string). std::string get_state_topic_() const; - /// Get the MQTT topic for listening to commands. + /// Get the MQTT topic for listening to commands (allocates std::string). std::string get_command_topic_() const; bool is_connected_() const; @@ -220,12 +294,18 @@ class MQTTComponent : public Component { std::unique_ptr availability_; - bool command_retain_{false}; - bool retain_{true}; - uint8_t qos_{0}; - uint8_t subscribe_qos_{0}; - bool discovery_enabled_{true}; - bool resend_state_{false}; + // Packed bitfields - QoS values are 0-2, bools are flags + uint8_t qos_ : 2 {0}; + uint8_t subscribe_qos_ : 2 {0}; + bool command_retain_ : 1 {false}; + bool retain_ : 1 {true}; + bool discovery_enabled_ : 1 {true}; + bool resend_state_ : 1 {false}; + bool is_internal_ : 1 {false}; ///< Cached result of compute_is_internal_(), set during setup + + /// Compute is_internal status based on topics and entity state. + /// Called once during setup to cache the result. + bool compute_is_internal_(); }; } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_cover.cpp b/esphome/components/mqtt/mqtt_cover.cpp index f2df6af236..d5bd13869a 100644 --- a/esphome/components/mqtt/mqtt_cover.cpp +++ b/esphome/components/mqtt/mqtt_cover.cpp @@ -51,7 +51,7 @@ void MQTTCoverComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT cover '%s':", this->cover_->get_name().c_str()); auto traits = this->cover_->get_traits(); bool has_command_topic = traits.get_supports_position() || !traits.get_supports_tilt(); - LOG_MQTT_COMPONENT(true, has_command_topic) + LOG_MQTT_COMPONENT(true, has_command_topic); if (traits.get_supports_position()) { ESP_LOGCONFIG(TAG, " Position State Topic: '%s'\n" @@ -115,7 +115,8 @@ bool MQTTCoverComponent::publish_state() { : this->cover_->position == COVER_OPEN ? "open" : traits.get_supports_position() ? "open" : "unknown"; - if (!this->publish(this->get_state_topic_(), state_s)) + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + if (!this->publish(this->get_state_topic_to_(topic_buf), state_s)) success = false; return success; } diff --git a/esphome/components/mqtt/mqtt_date.cpp b/esphome/components/mqtt/mqtt_date.cpp index dba7c1a671..c422bb3058 100644 --- a/esphome/components/mqtt/mqtt_date.cpp +++ b/esphome/components/mqtt/mqtt_date.cpp @@ -36,7 +36,7 @@ void MQTTDateComponent::setup() { void MQTTDateComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT Date '%s':", this->date_->get_name().c_str()); - LOG_MQTT_COMPONENT(true, true) + LOG_MQTT_COMPONENT(true, true); } MQTT_COMPONENT_TYPE(MQTTDateComponent, "date") @@ -53,7 +53,8 @@ bool MQTTDateComponent::send_initial_state() { } } bool MQTTDateComponent::publish_state(uint16_t year, uint8_t month, uint8_t day) { - return this->publish_json(this->get_state_topic_(), [year, month, day](JsonObject root) { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish_json(this->get_state_topic_to_(topic_buf), [year, month, day](JsonObject root) { // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson root[ESPHOME_F("year")] = year; root[ESPHOME_F("month")] = month; diff --git a/esphome/components/mqtt/mqtt_datetime.cpp b/esphome/components/mqtt/mqtt_datetime.cpp index 5f1cf19b97..1492abd011 100644 --- a/esphome/components/mqtt/mqtt_datetime.cpp +++ b/esphome/components/mqtt/mqtt_datetime.cpp @@ -47,7 +47,7 @@ void MQTTDateTimeComponent::setup() { void MQTTDateTimeComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT DateTime '%s':", this->datetime_->get_name().c_str()); - LOG_MQTT_COMPONENT(true, true) + LOG_MQTT_COMPONENT(true, true); } MQTT_COMPONENT_TYPE(MQTTDateTimeComponent, "datetime") @@ -66,15 +66,17 @@ bool MQTTDateTimeComponent::send_initial_state() { } bool MQTTDateTimeComponent::publish_state(uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) { - return this->publish_json(this->get_state_topic_(), [year, month, day, hour, minute, second](JsonObject root) { - // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson - root[ESPHOME_F("year")] = year; - root[ESPHOME_F("month")] = month; - root[ESPHOME_F("day")] = day; - root[ESPHOME_F("hour")] = hour; - root[ESPHOME_F("minute")] = minute; - root[ESPHOME_F("second")] = second; - }); + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish_json(this->get_state_topic_to_(topic_buf), + [year, month, day, hour, minute, second](JsonObject root) { + // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson + root[ESPHOME_F("year")] = year; + root[ESPHOME_F("month")] = month; + root[ESPHOME_F("day")] = day; + root[ESPHOME_F("hour")] = hour; + root[ESPHOME_F("minute")] = minute; + root[ESPHOME_F("second")] = second; + }); } } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_event.cpp b/esphome/components/mqtt/mqtt_event.cpp index 42fbc1eabd..37d5c2551a 100644 --- a/esphome/components/mqtt/mqtt_event.cpp +++ b/esphome/components/mqtt/mqtt_event.cpp @@ -44,7 +44,8 @@ void MQTTEventComponent::dump_config() { } bool MQTTEventComponent::publish_event_(const std::string &event_type) { - return this->publish_json(this->get_state_topic_(), [event_type](JsonObject root) { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish_json(this->get_state_topic_to_(topic_buf), [event_type](JsonObject root) { // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson root[MQTT_EVENT_TYPE] = event_type; }); diff --git a/esphome/components/mqtt/mqtt_fan.cpp b/esphome/components/mqtt/mqtt_fan.cpp index a6f0503588..c9791fb0f1 100644 --- a/esphome/components/mqtt/mqtt_fan.cpp +++ b/esphome/components/mqtt/mqtt_fan.cpp @@ -158,9 +158,10 @@ void MQTTFanComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfig } } bool MQTTFanComponent::publish_state() { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; const char *state_s = this->state_->state ? "ON" : "OFF"; ESP_LOGD(TAG, "'%s' Sending state %s.", this->state_->get_name().c_str(), state_s); - this->publish(this->get_state_topic_(), state_s); + this->publish(this->get_state_topic_to_(topic_buf), state_s); bool failed = false; if (this->state_->get_traits().supports_direction()) { bool success = this->publish(this->get_direction_state_topic(), @@ -175,7 +176,7 @@ bool MQTTFanComponent::publish_state() { auto traits = this->state_->get_traits(); if (traits.supports_speed()) { char buf[12]; - int len = snprintf(buf, sizeof(buf), "%d", this->state_->speed); + size_t len = buf_append_printf(buf, sizeof(buf), 0, "%d", this->state_->speed); bool success = this->publish(this->get_speed_level_state_topic(), buf, len); failed = failed || !success; } diff --git a/esphome/components/mqtt/mqtt_light.cpp b/esphome/components/mqtt/mqtt_light.cpp index fac19f3210..3e3537fa5c 100644 --- a/esphome/components/mqtt/mqtt_light.cpp +++ b/esphome/components/mqtt/mqtt_light.cpp @@ -34,7 +34,8 @@ void MQTTJSONLightComponent::on_light_remote_values_update() { MQTTJSONLightComponent::MQTTJSONLightComponent(LightState *state) : state_(state) {} bool MQTTJSONLightComponent::publish_state_() { - return this->publish_json(this->get_state_topic_(), [this](JsonObject root) { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish_json(this->get_state_topic_to_(topic_buf), [this](JsonObject root) { // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson LightJSONSchema::dump_json(*this->state_, root); }); @@ -90,7 +91,7 @@ void MQTTJSONLightComponent::send_discovery(JsonObject root, mqtt::SendDiscovery bool MQTTJSONLightComponent::send_initial_state() { return this->publish_state_(); } void MQTTJSONLightComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT Light '%s':", this->state_->get_name().c_str()); - LOG_MQTT_COMPONENT(true, true) + LOG_MQTT_COMPONENT(true, true); } } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_lock.cpp b/esphome/components/mqtt/mqtt_lock.cpp index 43ef60bdf4..45d8e4698f 100644 --- a/esphome/components/mqtt/mqtt_lock.cpp +++ b/esphome/components/mqtt/mqtt_lock.cpp @@ -1,5 +1,6 @@ #include "mqtt_lock.h" #include "esphome/core/log.h" +#include "esphome/core/progmem.h" #include "mqtt_const.h" @@ -16,11 +17,11 @@ MQTTLockComponent::MQTTLockComponent(lock::Lock *a_lock) : lock_(a_lock) {} void MQTTLockComponent::setup() { this->subscribe(this->get_command_topic_(), [this](const std::string &topic, const std::string &payload) { - if (strcasecmp(payload.c_str(), "LOCK") == 0) { + if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("LOCK")) == 0) { this->lock_->lock(); - } else if (strcasecmp(payload.c_str(), "UNLOCK") == 0) { + } else if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("UNLOCK")) == 0) { this->lock_->unlock(); - } else if (strcasecmp(payload.c_str(), "OPEN") == 0) { + } else if (ESPHOME_strcasecmp_P(payload.c_str(), ESPHOME_PSTR("OPEN")) == 0) { this->lock_->open(); } else { ESP_LOGW(TAG, "'%s': Received unknown status payload: %s", this->friendly_name_().c_str(), payload.c_str()); @@ -47,13 +48,14 @@ void MQTTLockComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryConfi bool MQTTLockComponent::send_initial_state() { return this->publish_state(); } bool MQTTLockComponent::publish_state() { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; #ifdef USE_STORE_LOG_STR_IN_FLASH char buf[LOCK_STATE_STR_SIZE]; strncpy_P(buf, (PGM_P) lock_state_to_string(this->lock_->state), sizeof(buf) - 1); buf[sizeof(buf) - 1] = '\0'; - return this->publish(this->get_state_topic_(), buf); + return this->publish(this->get_state_topic_to_(topic_buf), buf); #else - return this->publish(this->get_state_topic_(), LOG_STR_ARG(lock_state_to_string(this->lock_->state))); + return this->publish(this->get_state_topic_to_(topic_buf), LOG_STR_ARG(lock_state_to_string(this->lock_->state))); #endif } diff --git a/esphome/components/mqtt/mqtt_number.cpp b/esphome/components/mqtt/mqtt_number.cpp index 8342210ee4..7dc93eee0c 100644 --- a/esphome/components/mqtt/mqtt_number.cpp +++ b/esphome/components/mqtt/mqtt_number.cpp @@ -30,7 +30,7 @@ void MQTTNumberComponent::setup() { void MQTTNumberComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT Number '%s':", this->number_->get_name().c_str()); - LOG_MQTT_COMPONENT(true, false) + LOG_MQTT_COMPONENT(true, false); } MQTT_COMPONENT_TYPE(MQTTNumberComponent, "number") @@ -74,9 +74,10 @@ bool MQTTNumberComponent::send_initial_state() { } } bool MQTTNumberComponent::publish_state(float value) { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; char buffer[64]; - snprintf(buffer, sizeof(buffer), "%f", value); - return this->publish(this->get_state_topic_(), buffer); + size_t len = buf_append_printf(buffer, sizeof(buffer), 0, "%f", value); + return this->publish(this->get_state_topic_to_(topic_buf), buffer, len); } } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_select.cpp b/esphome/components/mqtt/mqtt_select.cpp index 03ab82312b..25fd813496 100644 --- a/esphome/components/mqtt/mqtt_select.cpp +++ b/esphome/components/mqtt/mqtt_select.cpp @@ -25,7 +25,7 @@ void MQTTSelectComponent::setup() { void MQTTSelectComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT Select '%s':", this->select_->get_name().c_str()); - LOG_MQTT_COMPONENT(true, false) + LOG_MQTT_COMPONENT(true, false); } MQTT_COMPONENT_TYPE(MQTTSelectComponent, "select") @@ -50,7 +50,8 @@ bool MQTTSelectComponent::send_initial_state() { } } bool MQTTSelectComponent::publish_state(const std::string &value) { - return this->publish(this->get_state_topic_(), value); + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish(this->get_state_topic_to_(topic_buf), value.data(), value.size()); } } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_sensor.cpp b/esphome/components/mqtt/mqtt_sensor.cpp index c14c889d47..e83eab6732 100644 --- a/esphome/components/mqtt/mqtt_sensor.cpp +++ b/esphome/components/mqtt/mqtt_sensor.cpp @@ -28,7 +28,7 @@ void MQTTSensorComponent::dump_config() { if (this->get_expire_after() > 0) { ESP_LOGCONFIG(TAG, " Expire After: %" PRIu32 "s", this->get_expire_after() / 1000); } - LOG_MQTT_COMPONENT(true, false) + LOG_MQTT_COMPONENT(true, false); } MQTT_COMPONENT_TYPE(MQTTSensorComponent, "sensor") @@ -79,12 +79,13 @@ bool MQTTSensorComponent::send_initial_state() { } } bool MQTTSensorComponent::publish_state(float value) { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; if (mqtt::global_mqtt_client->is_publish_nan_as_none() && std::isnan(value)) - return this->publish(this->get_state_topic_(), "None", 4); + return this->publish(this->get_state_topic_to_(topic_buf), "None", 4); int8_t accuracy = this->sensor_->get_accuracy_decimals(); char buf[VALUE_ACCURACY_MAX_LEN]; size_t len = value_accuracy_to_buf(buf, value, accuracy); - return this->publish(this->get_state_topic_(), buf, len); + return this->publish(this->get_state_topic_to_(topic_buf), buf, len); } } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_switch.cpp b/esphome/components/mqtt/mqtt_switch.cpp index a985ec66be..70cd03a4eb 100644 --- a/esphome/components/mqtt/mqtt_switch.cpp +++ b/esphome/components/mqtt/mqtt_switch.cpp @@ -52,8 +52,9 @@ void MQTTSwitchComponent::send_discovery(JsonObject root, mqtt::SendDiscoveryCon bool MQTTSwitchComponent::send_initial_state() { return this->publish_state(this->switch_->state); } bool MQTTSwitchComponent::publish_state(bool state) { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; const char *state_s = state ? "ON" : "OFF"; - return this->publish(this->get_state_topic_(), state_s); + return this->publish(this->get_state_topic_to_(topic_buf), state_s); } } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_text.cpp b/esphome/components/mqtt/mqtt_text.cpp index cee94965c6..16293c0603 100644 --- a/esphome/components/mqtt/mqtt_text.cpp +++ b/esphome/components/mqtt/mqtt_text.cpp @@ -26,7 +26,7 @@ void MQTTTextComponent::setup() { void MQTTTextComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT text '%s':", this->text_->get_name().c_str()); - LOG_MQTT_COMPONENT(true, true) + LOG_MQTT_COMPONENT(true, true); } MQTT_COMPONENT_TYPE(MQTTTextComponent, "text") @@ -53,7 +53,8 @@ bool MQTTTextComponent::send_initial_state() { } } bool MQTTTextComponent::publish_state(const std::string &value) { - return this->publish(this->get_state_topic_(), value); + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish(this->get_state_topic_to_(topic_buf), value.data(), value.size()); } } // namespace esphome::mqtt diff --git a/esphome/components/mqtt/mqtt_text_sensor.cpp b/esphome/components/mqtt/mqtt_text_sensor.cpp index 5346923b41..a6b9f90b68 100644 --- a/esphome/components/mqtt/mqtt_text_sensor.cpp +++ b/esphome/components/mqtt/mqtt_text_sensor.cpp @@ -31,7 +31,10 @@ void MQTTTextSensor::dump_config() { LOG_MQTT_COMPONENT(true, false); } -bool MQTTTextSensor::publish_state(const std::string &value) { return this->publish(this->get_state_topic_(), value); } +bool MQTTTextSensor::publish_state(const std::string &value) { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish(this->get_state_topic_to_(topic_buf), value.data(), value.size()); +} bool MQTTTextSensor::send_initial_state() { if (this->sensor_->has_state()) { return this->publish_state(this->sensor_->state); diff --git a/esphome/components/mqtt/mqtt_time.cpp b/esphome/components/mqtt/mqtt_time.cpp index b75325022a..be391ce88c 100644 --- a/esphome/components/mqtt/mqtt_time.cpp +++ b/esphome/components/mqtt/mqtt_time.cpp @@ -36,7 +36,7 @@ void MQTTTimeComponent::setup() { void MQTTTimeComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT Time '%s':", this->time_->get_name().c_str()); - LOG_MQTT_COMPONENT(true, true) + LOG_MQTT_COMPONENT(true, true); } MQTT_COMPONENT_TYPE(MQTTTimeComponent, "time") @@ -53,7 +53,8 @@ bool MQTTTimeComponent::send_initial_state() { } } bool MQTTTimeComponent::publish_state(uint8_t hour, uint8_t minute, uint8_t second) { - return this->publish_json(this->get_state_topic_(), [hour, minute, second](JsonObject root) { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish_json(this->get_state_topic_to_(topic_buf), [hour, minute, second](JsonObject root) { // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson root[ESPHOME_F("hour")] = hour; root[ESPHOME_F("minute")] = minute; diff --git a/esphome/components/mqtt/mqtt_update.cpp b/esphome/components/mqtt/mqtt_update.cpp index 99e0c85509..c01fb9e52e 100644 --- a/esphome/components/mqtt/mqtt_update.cpp +++ b/esphome/components/mqtt/mqtt_update.cpp @@ -28,7 +28,8 @@ void MQTTUpdateComponent::setup() { } bool MQTTUpdateComponent::publish_state() { - return this->publish_json(this->get_state_topic_(), [this](JsonObject root) { + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + return this->publish_json(this->get_state_topic_to_(topic_buf), [this](JsonObject root) { root[ESPHOME_F("installed_version")] = this->update_->update_info.current_version; root[ESPHOME_F("latest_version")] = this->update_->update_info.latest_version; root[ESPHOME_F("title")] = this->update_->update_info.title; diff --git a/esphome/components/mqtt/mqtt_valve.cpp b/esphome/components/mqtt/mqtt_valve.cpp index 2faaace46b..2e100823bf 100644 --- a/esphome/components/mqtt/mqtt_valve.cpp +++ b/esphome/components/mqtt/mqtt_valve.cpp @@ -39,7 +39,7 @@ void MQTTValveComponent::dump_config() { ESP_LOGCONFIG(TAG, "MQTT valve '%s':", this->valve_->get_name().c_str()); auto traits = this->valve_->get_traits(); bool has_command_topic = traits.get_supports_position(); - LOG_MQTT_COMPONENT(true, has_command_topic) + LOG_MQTT_COMPONENT(true, has_command_topic); if (traits.get_supports_position()) { ESP_LOGCONFIG(TAG, " Position State Topic: '%s'\n" @@ -84,7 +84,8 @@ bool MQTTValveComponent::publish_state() { : this->valve_->position == VALVE_OPEN ? "open" : traits.get_supports_position() ? "open" : "unknown"; - if (!this->publish(this->get_state_topic_(), state_s)) + char topic_buf[MQTT_DEFAULT_TOPIC_MAX_LEN]; + if (!this->publish(this->get_state_topic_to_(topic_buf), state_s)) success = false; return success; } diff --git a/esphome/components/network/ip_address.h b/esphome/components/network/ip_address.h index b719d1a70e..d0ac8164af 100644 --- a/esphome/components/network/ip_address.h +++ b/esphome/components/network/ip_address.h @@ -43,6 +43,14 @@ namespace network { /// Buffer size for IP address string (IPv6 max: 39 chars + null) static constexpr size_t IP_ADDRESS_BUFFER_SIZE = 40; +/// Lowercase hex digits in IP address string (A-F -> a-f for IPv6 per RFC 5952) +inline void lowercase_ip_str(char *buf) { + for (char *p = buf; *p; ++p) { + if (*p >= 'A' && *p <= 'F') + *p += 32; + } +} + struct IPAddress { public: #ifdef USE_HOST @@ -52,10 +60,17 @@ struct IPAddress { } IPAddress(const std::string &in_address) { inet_aton(in_address.c_str(), &ip_addr_); } IPAddress(const ip_addr_t *other_ip) { ip_addr_ = *other_ip; } - std::string str() const { return str_lower_case(inet_ntoa(ip_addr_)); } + // Remove before 2026.8.0 + ESPDEPRECATED("Use str_to() instead. Removed in 2026.8.0", "2026.2.0") + std::string str() const { + char buf[IP_ADDRESS_BUFFER_SIZE]; + this->str_to(buf); + return buf; + } /// Write IP address to buffer. Buffer must be at least IP_ADDRESS_BUFFER_SIZE bytes. char *str_to(char *buf) const { - return const_cast(inet_ntop(AF_INET, &ip_addr_, buf, IP_ADDRESS_BUFFER_SIZE)); + inet_ntop(AF_INET, &ip_addr_, buf, IP_ADDRESS_BUFFER_SIZE); + return buf; // IPv4 only, no hex letters to lowercase } #else IPAddress() { ip_addr_set_zero(&ip_addr_); } @@ -134,9 +149,20 @@ struct IPAddress { bool is_ip4() const { return IP_IS_V4(&ip_addr_); } bool is_ip6() const { return IP_IS_V6(&ip_addr_); } bool is_multicast() const { return ip_addr_ismulticast(&ip_addr_); } - std::string str() const { return str_lower_case(ipaddr_ntoa(&ip_addr_)); } + // Remove before 2026.8.0 + ESPDEPRECATED("Use str_to() instead. Removed in 2026.8.0", "2026.2.0") + std::string str() const { + char buf[IP_ADDRESS_BUFFER_SIZE]; + this->str_to(buf); + return buf; + } /// Write IP address to buffer. Buffer must be at least IP_ADDRESS_BUFFER_SIZE bytes. - char *str_to(char *buf) const { return ipaddr_ntoa_r(&ip_addr_, buf, IP_ADDRESS_BUFFER_SIZE); } + /// Output is lowercased per RFC 5952 (IPv6 hex digits a-f). + char *str_to(char *buf) const { + ipaddr_ntoa_r(&ip_addr_, buf, IP_ADDRESS_BUFFER_SIZE); + lowercase_ip_str(buf); + return buf; + } bool operator==(const IPAddress &other) const { return ip_addr_cmp(&ip_addr_, &other.ip_addr_); } bool operator!=(const IPAddress &other) const { return !ip_addr_cmp(&ip_addr_, &other.ip_addr_); } IPAddress &operator+=(uint8_t increase) { diff --git a/esphome/components/nextion/base_component.py b/esphome/components/nextion/base_component.py index 392481e39a..86551cbe23 100644 --- a/esphome/components/nextion/base_component.py +++ b/esphome/components/nextion/base_component.py @@ -16,6 +16,7 @@ CONF_EXIT_REPARSE_ON_START = "exit_reparse_on_start" CONF_FONT_ID = "font_id" CONF_FOREGROUND_PRESSED_COLOR = "foreground_pressed_color" CONF_MAX_COMMANDS_PER_LOOP = "max_commands_per_loop" +CONF_MAX_QUEUE_AGE = "max_queue_age" CONF_MAX_QUEUE_SIZE = "max_queue_size" CONF_ON_BUFFER_OVERFLOW = "on_buffer_overflow" CONF_ON_PAGE = "on_page" @@ -25,6 +26,7 @@ CONF_ON_WAKE = "on_wake" CONF_PRECISION = "precision" CONF_SKIP_CONNECTION_HANDSHAKE = "skip_connection_handshake" CONF_START_UP_PAGE = "start_up_page" +CONF_STARTUP_OVERRIDE_MS = "startup_override_ms" CONF_TFT_URL = "tft_url" CONF_TOUCH_SLEEP_TIMEOUT = "touch_sleep_timeout" CONF_VARIABLE_NAME = "variable_name" diff --git a/esphome/components/nextion/display.py b/esphome/components/nextion/display.py index 0b4ba3a171..ffc509fc64 100644 --- a/esphome/components/nextion/display.py +++ b/esphome/components/nextion/display.py @@ -23,6 +23,7 @@ from .base_component import ( CONF_DUMP_DEVICE_INFO, CONF_EXIT_REPARSE_ON_START, CONF_MAX_COMMANDS_PER_LOOP, + CONF_MAX_QUEUE_AGE, CONF_MAX_QUEUE_SIZE, CONF_ON_BUFFER_OVERFLOW, CONF_ON_PAGE, @@ -31,6 +32,7 @@ from .base_component import ( CONF_ON_WAKE, CONF_SKIP_CONNECTION_HANDSHAKE, CONF_START_UP_PAGE, + CONF_STARTUP_OVERRIDE_MS, CONF_TFT_URL, CONF_TOUCH_SLEEP_TIMEOUT, CONF_WAKE_UP_PAGE, @@ -65,6 +67,12 @@ CONFIG_SCHEMA = ( ), cv.Optional(CONF_DUMP_DEVICE_INFO, default=False): cv.boolean, cv.Optional(CONF_EXIT_REPARSE_ON_START, default=False): cv.boolean, + cv.Optional(CONF_MAX_QUEUE_AGE, default="8000ms"): cv.All( + cv.positive_time_period_milliseconds, + cv.Range( + min=TimePeriod(milliseconds=0), max=TimePeriod(milliseconds=65535) + ), + ), cv.Optional(CONF_MAX_COMMANDS_PER_LOOP): cv.uint16_t, cv.Optional(CONF_MAX_QUEUE_SIZE): cv.positive_int, cv.Optional(CONF_ON_BUFFER_OVERFLOW): automation.validate_automation( @@ -100,6 +108,12 @@ CONFIG_SCHEMA = ( } ), cv.Optional(CONF_SKIP_CONNECTION_HANDSHAKE, default=False): cv.boolean, + cv.Optional(CONF_STARTUP_OVERRIDE_MS, default="8000ms"): cv.All( + cv.positive_time_period_milliseconds, + cv.Range( + min=TimePeriod(milliseconds=0), max=TimePeriod(milliseconds=65535) + ), + ), cv.Optional(CONF_START_UP_PAGE): cv.uint8_t, cv.Optional(CONF_TFT_URL): cv.url, cv.Optional(CONF_TOUCH_SLEEP_TIMEOUT): cv.Any( @@ -138,6 +152,8 @@ async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await uart.register_uart_device(var, config) + cg.add(var.set_max_queue_age(config[CONF_MAX_QUEUE_AGE])) + if max_queue_size := config.get(CONF_MAX_QUEUE_SIZE): cg.add_define("USE_NEXTION_MAX_QUEUE_SIZE") cg.add(var.set_max_queue_size(max_queue_size)) @@ -146,6 +162,8 @@ async def to_code(config): cg.add_define("USE_NEXTION_COMMAND_SPACING") cg.add(var.set_command_spacing(command_spacing.total_milliseconds)) + cg.add(var.set_startup_override_ms(config[CONF_STARTUP_OVERRIDE_MS])) + if CONF_BRIGHTNESS in config: cg.add(var.set_brightness(config[CONF_BRIGHTNESS])) diff --git a/esphome/components/nextion/nextion.cpp b/esphome/components/nextion/nextion.cpp index d77af510d7..e57a258edb 100644 --- a/esphome/components/nextion/nextion.cpp +++ b/esphome/components/nextion/nextion.cpp @@ -1,6 +1,7 @@ #include "nextion.h" #include #include "esphome/core/application.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include "esphome/core/util.h" @@ -149,22 +150,23 @@ void Nextion::dump_config() { #ifdef USE_NEXTION_CONFIG_SKIP_CONNECTION_HANDSHAKE ESP_LOGCONFIG(TAG, " Skip handshake: YES"); #else // USE_NEXTION_CONFIG_SKIP_CONNECTION_HANDSHAKE - ESP_LOGCONFIG(TAG, #ifdef USE_NEXTION_CONFIG_DUMP_DEVICE_INFO - " Device Model: %s\n" - " FW Version: %s\n" - " Serial Number: %s\n" - " Flash Size: %s\n" + ESP_LOGCONFIG(TAG, + " Device Model: %s\n" + " FW Version: %s\n" + " Serial Number: %s\n" + " Flash Size: %s\n" + " Max queue age: %u ms\n" + " Startup override: %u ms\n", + this->device_model_.c_str(), this->firmware_version_.c_str(), this->serial_number_.c_str(), + this->flash_size_.c_str(), this->max_q_age_ms_, this->startup_override_ms_); #endif // USE_NEXTION_CONFIG_DUMP_DEVICE_INFO #ifdef USE_NEXTION_CONFIG_EXIT_REPARSE_ON_START - " Exit reparse: YES\n" + ESP_LOGCONFIG(TAG, " Exit reparse: YES\n"); #endif // USE_NEXTION_CONFIG_EXIT_REPARSE_ON_START - " Wake On Touch: %s\n" - " Touch Timeout: %" PRIu16, -#ifdef USE_NEXTION_CONFIG_DUMP_DEVICE_INFO - this->device_model_.c_str(), this->firmware_version_.c_str(), this->serial_number_.c_str(), - this->flash_size_.c_str(), -#endif // USE_NEXTION_CONFIG_DUMP_DEVICE_INFO + ESP_LOGCONFIG(TAG, + " Wake On Touch: %s\n" + " Touch Timeout: %" PRIu16, YESNO(this->connection_state_.auto_wake_on_touch_), this->touch_sleep_timeout_); #endif // USE_NEXTION_CONFIG_SKIP_CONNECTION_HANDSHAKE @@ -173,21 +175,21 @@ void Nextion::dump_config() { #endif // USE_NEXTION_MAX_COMMANDS_PER_LOOP if (this->wake_up_page_ != 255) { - ESP_LOGCONFIG(TAG, " Wake Up Page: %u", this->wake_up_page_); + ESP_LOGCONFIG(TAG, " Wake Up Page: %u", this->wake_up_page_); } #ifdef USE_NEXTION_CONF_START_UP_PAGE if (this->start_up_page_ != 255) { - ESP_LOGCONFIG(TAG, " Start Up Page: %u", this->start_up_page_); + ESP_LOGCONFIG(TAG, " Start Up Page: %u", this->start_up_page_); } #endif // USE_NEXTION_CONF_START_UP_PAGE #ifdef USE_NEXTION_COMMAND_SPACING - ESP_LOGCONFIG(TAG, " Cmd spacing: %u ms", this->command_pacer_.get_spacing()); + ESP_LOGCONFIG(TAG, " Cmd spacing: %u ms", this->command_pacer_.get_spacing()); #endif // USE_NEXTION_COMMAND_SPACING #ifdef USE_NEXTION_MAX_QUEUE_SIZE - ESP_LOGCONFIG(TAG, " Max queue size: %zu", this->max_queue_size_); + ESP_LOGCONFIG(TAG, " Max queue size: %zu", this->max_queue_size_); #endif } @@ -335,7 +337,8 @@ void Nextion::loop() { if (this->started_ms_ == 0) this->started_ms_ = App.get_loop_component_start_time(); - if (this->started_ms_ + this->startup_override_ms_ < App.get_loop_component_start_time()) { + if (this->startup_override_ms_ > 0 && + this->started_ms_ + this->startup_override_ms_ < App.get_loop_component_start_time()) { ESP_LOGV(TAG, "Manual ready set"); this->connection_state_.nextion_reports_is_setup_ = true; } @@ -844,7 +847,8 @@ void Nextion::process_nextion_commands_() { const uint32_t ms = App.get_loop_component_start_time(); - if (!this->nextion_queue_.empty() && this->nextion_queue_.front()->queue_time + this->max_q_age_ms_ < ms) { + if (this->max_q_age_ms_ > 0 && !this->nextion_queue_.empty() && + this->nextion_queue_.front()->queue_time + this->max_q_age_ms_ < ms) { for (size_t i = 0; i < this->nextion_queue_.size(); i++) { NextionComponentBase *component = this->nextion_queue_[i]->component; if (this->nextion_queue_[i]->queue_time + this->max_q_age_ms_ < ms) { @@ -1283,8 +1287,9 @@ void Nextion::check_pending_waveform_() { size_t buffer_to_send = component->get_wave_buffer_size() < 255 ? component->get_wave_buffer_size() : 255; // ADDT command can only send 255 - std::string command = "addt " + to_string(component->get_component_id()) + "," + - to_string(component->get_wave_channel_id()) + "," + to_string(buffer_to_send); + char command[24]; // "addt " + uint8 + "," + uint8 + "," + uint8 + null = max 17 chars + buf_append_printf(command, sizeof(command), 0, "addt %u,%u,%zu", component->get_component_id(), + component->get_wave_channel_id(), buffer_to_send); if (!this->send_command_(command)) { delete nb; // NOLINT(cppcoreguidelines-owning-memory) this->waveform_queue_.pop_front(); diff --git a/esphome/components/nextion/nextion.h b/esphome/components/nextion/nextion.h index 331e901578..c543e14bfe 100644 --- a/esphome/components/nextion/nextion.h +++ b/esphome/components/nextion/nextion.h @@ -1309,6 +1309,30 @@ class Nextion : public NextionBase, public PollingComponent, public uart::UARTDe */ bool is_connected() { return this->connection_state_.is_connected_; } + /** + * @brief Set the maximum age for queue items + * @param age_ms Maximum age in milliseconds before queue items are removed + */ + inline void set_max_queue_age(uint16_t age_ms) { this->max_q_age_ms_ = age_ms; } + + /** + * @brief Get the maximum age for queue items + * @return Maximum age in milliseconds + */ + inline uint16_t get_max_queue_age() const { return this->max_q_age_ms_; } + + /** + * @brief Set the startup override timeout + * @param timeout_ms Time in milliseconds to wait before forcing setup complete + */ + inline void set_startup_override_ms(uint16_t timeout_ms) { this->startup_override_ms_ = timeout_ms; } + + /** + * @brief Get the startup override timeout + * @return Startup override timeout in milliseconds + */ + inline uint16_t get_startup_override_ms() const { return this->startup_override_ms_; } + protected: #ifdef USE_NEXTION_MAX_COMMANDS_PER_LOOP uint16_t max_commands_per_loop_{1000}; @@ -1479,9 +1503,10 @@ class Nextion : public NextionBase, public PollingComponent, public uart::UARTDe void reset_(bool reset_nextion = true); std::string command_data_; - const uint16_t startup_override_ms_ = 8000; - const uint16_t max_q_age_ms_ = 8000; uint32_t started_ms_ = 0; + + uint16_t startup_override_ms_ = 8000; ///< Timeout before forcing setup complete + uint16_t max_q_age_ms_ = 8000; ///< Maximum age for queue items in ms }; } // namespace nextion diff --git a/esphome/components/nextion/nextion_upload_arduino.cpp b/esphome/components/nextion/nextion_upload_arduino.cpp index d210bad004..220c75f9d3 100644 --- a/esphome/components/nextion/nextion_upload_arduino.cpp +++ b/esphome/components/nextion/nextion_upload_arduino.cpp @@ -34,7 +34,7 @@ int Nextion::upload_by_chunks_(HTTPClient &http_client, uint32_t &range_start) { } char range_header[32]; - sprintf(range_header, "bytes=%" PRIu32 "-%" PRIu32, range_start, range_end); + buf_append_printf(range_header, sizeof(range_header), 0, "bytes=%" PRIu32 "-%" PRIu32, range_start, range_end); ESP_LOGV(TAG, "Range: %s", range_header); http_client.addHeader("Range", range_header); int code = http_client.GET(); diff --git a/esphome/components/nextion/nextion_upload_esp32.cpp b/esphome/components/nextion/nextion_upload_esp32.cpp index 712fa8e78e..c4e6ff7182 100644 --- a/esphome/components/nextion/nextion_upload_esp32.cpp +++ b/esphome/components/nextion/nextion_upload_esp32.cpp @@ -36,7 +36,7 @@ int Nextion::upload_by_chunks_(esp_http_client_handle_t http_client, uint32_t &r } char range_header[32]; - sprintf(range_header, "bytes=%" PRIu32 "-%" PRIu32, range_start, range_end); + buf_append_printf(range_header, sizeof(range_header), 0, "bytes=%" PRIu32 "-%" PRIu32, range_start, range_end); ESP_LOGV(TAG, "Range: %s", range_header); esp_http_client_set_header(http_client, "Range", range_header); ESP_LOGV(TAG, "Open HTTP"); diff --git a/esphome/components/nfc/binary_sensor/nfc_binary_sensor.cpp b/esphome/components/nfc/binary_sensor/nfc_binary_sensor.cpp index b62b243cc6..524ad5a413 100644 --- a/esphome/components/nfc/binary_sensor/nfc_binary_sensor.cpp +++ b/esphome/components/nfc/binary_sensor/nfc_binary_sensor.cpp @@ -40,7 +40,7 @@ void NfcTagBinarySensor::set_tag_name(const std::string &str) { this->match_tag_name_ = true; } -void NfcTagBinarySensor::set_uid(const std::vector &uid) { this->uid_ = uid; } +void NfcTagBinarySensor::set_uid(const NfcTagUid &uid) { this->uid_ = uid; } bool NfcTagBinarySensor::tag_match_ndef_string(const std::shared_ptr &msg) { for (const auto &record : msg->get_records()) { @@ -63,7 +63,7 @@ bool NfcTagBinarySensor::tag_match_tag_name(const std::shared_ptr & return false; } -bool NfcTagBinarySensor::tag_match_uid(const std::vector &data) { +bool NfcTagBinarySensor::tag_match_uid(const NfcTagUid &data) { if (data.size() != this->uid_.size()) { return false; } diff --git a/esphome/components/nfc/binary_sensor/nfc_binary_sensor.h b/esphome/components/nfc/binary_sensor/nfc_binary_sensor.h index cc313c2f2b..0a7ca0ca76 100644 --- a/esphome/components/nfc/binary_sensor/nfc_binary_sensor.h +++ b/esphome/components/nfc/binary_sensor/nfc_binary_sensor.h @@ -19,11 +19,11 @@ class NfcTagBinarySensor : public binary_sensor::BinarySensor, void set_ndef_match_string(const std::string &str); void set_tag_name(const std::string &str); - void set_uid(const std::vector &uid); + void set_uid(const NfcTagUid &uid); bool tag_match_ndef_string(const std::shared_ptr &msg); bool tag_match_tag_name(const std::shared_ptr &msg); - bool tag_match_uid(const std::vector &data); + bool tag_match_uid(const NfcTagUid &data); void tag_off(NfcTag &tag) override; void tag_on(NfcTag &tag) override; @@ -31,7 +31,7 @@ class NfcTagBinarySensor : public binary_sensor::BinarySensor, protected: bool match_tag_name_{false}; std::string match_string_; - std::vector uid_; + NfcTagUid uid_; }; } // namespace nfc diff --git a/esphome/components/nfc/nfc.cpp b/esphome/components/nfc/nfc.cpp index f60d2671cd..8567b0969a 100644 --- a/esphome/components/nfc/nfc.cpp +++ b/esphome/components/nfc/nfc.cpp @@ -8,19 +8,23 @@ namespace nfc { static const char *const TAG = "nfc"; -char *format_uid_to(char *buffer, const std::vector &uid) { +char *format_uid_to(char *buffer, std::span uid) { return format_hex_pretty_to(buffer, FORMAT_UID_BUFFER_SIZE, uid.data(), uid.size(), '-'); } -char *format_bytes_to(char *buffer, const std::vector &bytes) { +char *format_bytes_to(char *buffer, std::span bytes) { return format_hex_pretty_to(buffer, FORMAT_BYTES_BUFFER_SIZE, bytes.data(), bytes.size(), ' '); } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" // Deprecated wrappers intentionally use heap-allocating version for backward compatibility -std::string format_uid(const std::vector &uid) { return format_hex_pretty(uid, '-', false); } // NOLINT -std::string format_bytes(const std::vector &bytes) { return format_hex_pretty(bytes, ' ', false); } // NOLINT +std::string format_uid(std::span uid) { + return format_hex_pretty(uid.data(), uid.size(), '-', false); // NOLINT +} +std::string format_bytes(std::span bytes) { + return format_hex_pretty(bytes.data(), bytes.size(), ' ', false); // NOLINT +} #pragma GCC diagnostic pop uint8_t guess_tag_type(uint8_t uid_length) { diff --git a/esphome/components/nfc/nfc.h b/esphome/components/nfc/nfc.h index 6568c60a85..5191904833 100644 --- a/esphome/components/nfc/nfc.h +++ b/esphome/components/nfc/nfc.h @@ -6,6 +6,7 @@ #include "ndef_record.h" #include "nfc_tag.h" +#include #include namespace esphome { @@ -56,19 +57,19 @@ static const uint8_t MAD_KEY[6] = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5}; /// Max UID size is 10 bytes, formatted as "XX-XX-XX-XX-XX-XX-XX-XX-XX-XX\0" = 30 chars static constexpr size_t FORMAT_UID_BUFFER_SIZE = 30; /// Format UID to buffer with '-' separator (e.g., "04-11-22-33"). Returns buffer for inline use. -char *format_uid_to(char *buffer, const std::vector &uid); +char *format_uid_to(char *buffer, std::span uid); /// Buffer size for format_bytes_to (64 bytes max = 192 chars with space separator) static constexpr size_t FORMAT_BYTES_BUFFER_SIZE = 192; /// Format bytes to buffer with ' ' separator (e.g., "04 11 22 33"). Returns buffer for inline use. -char *format_bytes_to(char *buffer, const std::vector &bytes); +char *format_bytes_to(char *buffer, std::span bytes); // Remove before 2026.6.0 ESPDEPRECATED("Use format_uid_to() with stack buffer instead. Removed in 2026.6.0", "2025.12.0") -std::string format_uid(const std::vector &uid); +std::string format_uid(std::span uid); // Remove before 2026.6.0 ESPDEPRECATED("Use format_bytes_to() with stack buffer instead. Removed in 2026.6.0", "2025.12.0") -std::string format_bytes(const std::vector &bytes); +std::string format_bytes(std::span bytes); uint8_t guess_tag_type(uint8_t uid_length); uint8_t get_mifare_classic_ndef_start_index(std::vector &data); diff --git a/esphome/components/nfc/nfc_tag.h b/esphome/components/nfc/nfc_tag.h index 55600c3bd9..0ded4cd6ee 100644 --- a/esphome/components/nfc/nfc_tag.h +++ b/esphome/components/nfc/nfc_tag.h @@ -10,26 +10,27 @@ namespace esphome { namespace nfc { +// NFC UIDs are 4, 7, or 10 bytes depending on tag type +static constexpr size_t NFC_UID_MAX_LENGTH = 10; +using NfcTagUid = StaticVector; + class NfcTag { public: - NfcTag() { - this->uid_ = {}; - this->tag_type_ = "Unknown"; - }; - NfcTag(std::vector &uid) { + NfcTag() { this->tag_type_ = "Unknown"; }; + NfcTag(const NfcTagUid &uid) { this->uid_ = uid; this->tag_type_ = "Unknown"; }; - NfcTag(std::vector &uid, const std::string &tag_type) { + NfcTag(const NfcTagUid &uid, const std::string &tag_type) { this->uid_ = uid; this->tag_type_ = tag_type; }; - NfcTag(std::vector &uid, const std::string &tag_type, std::unique_ptr ndef_message) { + NfcTag(const NfcTagUid &uid, const std::string &tag_type, std::unique_ptr ndef_message) { this->uid_ = uid; this->tag_type_ = tag_type; this->ndef_message_ = std::move(ndef_message); }; - NfcTag(std::vector &uid, const std::string &tag_type, std::vector &ndef_data) { + NfcTag(const NfcTagUid &uid, const std::string &tag_type, std::vector &ndef_data) { this->uid_ = uid; this->tag_type_ = tag_type; this->ndef_message_ = make_unique(ndef_data); @@ -41,14 +42,14 @@ class NfcTag { ndef_message_ = make_unique(*rhs.ndef_message_); } - std::vector &get_uid() { return this->uid_; }; + NfcTagUid &get_uid() { return this->uid_; }; const std::string &get_tag_type() { return this->tag_type_; }; bool has_ndef_message() { return this->ndef_message_ != nullptr; }; const std::shared_ptr &get_ndef_message() { return this->ndef_message_; }; void set_ndef_message(std::unique_ptr ndef_message) { this->ndef_message_ = std::move(ndef_message); }; protected: - std::vector uid_; + NfcTagUid uid_; std::string tag_type_; std::shared_ptr ndef_message_; }; diff --git a/esphome/components/nrf52/__init__.py b/esphome/components/nrf52/__init__.py index 5fb8abddfc..7d3d59f0ad 100644 --- a/esphome/components/nrf52/__init__.py +++ b/esphome/components/nrf52/__init__.py @@ -69,9 +69,21 @@ def set_core_data(config: ConfigType) -> ConfigType: def set_framework(config: ConfigType) -> ConfigType: - version = cv.Version.parse(cv.version_number(config[CONF_FRAMEWORK][CONF_VERSION])) - CORE.data[KEY_CORE][KEY_FRAMEWORK_VERSION] = version - return config + framework_ver = cv.Version.parse( + cv.version_number(config[CONF_FRAMEWORK][CONF_VERSION]) + ) + CORE.data[KEY_CORE][KEY_FRAMEWORK_VERSION] = framework_ver + if framework_ver < cv.Version(2, 9, 2): + return cv.require_framework_version( + nrf52_zephyr=cv.Version(2, 6, 1, "a"), + )(config) + if framework_ver < cv.Version(3, 2, 0): + return cv.require_framework_version( + nrf52_zephyr=cv.Version(2, 9, 2, "2"), + )(config) + return cv.require_framework_version( + nrf52_zephyr=cv.Version(3, 2, 0, "1"), + )(config) BOOTLOADERS = [ @@ -140,7 +152,7 @@ CONFIG_SCHEMA = cv.All( cv.Optional(CONF_UICR_ERASE, default=False): cv.boolean, } ), - cv.Optional(CONF_FRAMEWORK, default={CONF_VERSION: "2.6.1-7"}): cv.Schema( + cv.Optional(CONF_FRAMEWORK, default={CONF_VERSION: "2.6.1-a"}): cv.Schema( { cv.Required(CONF_VERSION): cv.string_strict, } @@ -181,13 +193,12 @@ async def to_code(config: ConfigType) -> None: cg.add_platformio_option(CONF_FRAMEWORK, CORE.data[KEY_CORE][KEY_TARGET_FRAMEWORK]) cg.add_platformio_option( "platform", - "https://github.com/tomaszduda23/platform-nordicnrf52/archive/refs/tags/v10.3.0-1.zip", + "https://github.com/tomaszduda23/platform-nordicnrf52/archive/refs/tags/v10.3.0-5.zip", ) cg.add_platformio_option( "platform_packages", [ f"platformio/framework-zephyr@https://github.com/tomaszduda23/framework-sdk-nrf/archive/refs/tags/v{CORE.data[KEY_CORE][KEY_FRAMEWORK_VERSION]}.zip", - "platformio/toolchain-gccarmnoneeabi@https://github.com/tomaszduda23/toolchain-sdk-ng/archive/refs/tags/v0.17.4-0.zip", ], ) diff --git a/esphome/components/ntc/ntc.cpp b/esphome/components/ntc/ntc.cpp index b08f84029b..cc500ba429 100644 --- a/esphome/components/ntc/ntc.cpp +++ b/esphome/components/ntc/ntc.cpp @@ -23,7 +23,7 @@ void NTC::process_(float value) { double v = this->a_ + this->b_ * lr + this->c_ * lr * lr * lr; auto temp = float(1.0 / v - 273.15); - ESP_LOGD(TAG, "'%s' - Temperature: %.1f°C", this->name_.c_str(), temp); + ESP_LOGV(TAG, "'%s' - Temperature: %.1f°C", this->name_.c_str(), temp); this->publish_state(temp); } diff --git a/esphome/components/number/automation.cpp b/esphome/components/number/automation.cpp index 78ffc255fe..a3d49a6ff6 100644 --- a/esphome/components/number/automation.cpp +++ b/esphome/components/number/automation.cpp @@ -14,8 +14,7 @@ void ValueRangeTrigger::setup() { float local_min = this->min_.value(0.0); float local_max = this->max_.value(0.0); convert hash = {.from = (local_max - local_min)}; - uint32_t myhash = hash.to ^ this->parent_->get_preference_hash(); - this->rtc_ = global_preferences->make_preference(myhash); + this->rtc_ = this->parent_->make_entity_preference(hash.to); bool initial_state; if (this->rtc_.load(&initial_state)) { this->previous_in_range_ = initial_state; diff --git a/esphome/components/number/number.cpp b/esphome/components/number/number.cpp index b0af604189..1c4126496c 100644 --- a/esphome/components/number/number.cpp +++ b/esphome/components/number/number.cpp @@ -14,18 +14,9 @@ void log_number(const char *tag, const char *prefix, const char *type, Number *o } ESP_LOGCONFIG(tag, "%s%s '%s'", prefix, type, obj->get_name().c_str()); - - if (!obj->get_icon_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Icon: '%s'", prefix, obj->get_icon_ref().c_str()); - } - - if (!obj->traits.get_unit_of_measurement_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Unit of Measurement: '%s'", prefix, obj->traits.get_unit_of_measurement_ref().c_str()); - } - - if (!obj->traits.get_device_class_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Device Class: '%s'", prefix, obj->traits.get_device_class_ref().c_str()); - } + LOG_ENTITY_ICON(tag, prefix, *obj); + LOG_ENTITY_UNIT_OF_MEASUREMENT(tag, prefix, obj->traits); + LOG_ENTITY_DEVICE_CLASS(tag, prefix, obj->traits); } void Number::publish_state(float state) { diff --git a/esphome/components/opentherm/number/opentherm_number.cpp b/esphome/components/opentherm/number/opentherm_number.cpp index f0c69144c8..bdb02a605c 100644 --- a/esphome/components/opentherm/number/opentherm_number.cpp +++ b/esphome/components/opentherm/number/opentherm_number.cpp @@ -17,7 +17,7 @@ void OpenthermNumber::setup() { if (!this->restore_value_) { value = this->initial_value_; } else { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); if (!this->pref_.load(&value)) { if (!std::isnan(this->initial_value_)) { value = this->initial_value_; diff --git a/esphome/components/opentherm/opentherm.cpp b/esphome/components/opentherm/opentherm.cpp index c6443f1282..2bf438a52f 100644 --- a/esphome/components/opentherm/opentherm.cpp +++ b/esphome/components/opentherm/opentherm.cpp @@ -561,8 +561,9 @@ const char *OpenTherm::message_id_to_str(MessageId id) { } void OpenTherm::debug_data(OpenthermData &data) { - ESP_LOGD(TAG, "%s %s %s %s", format_bin(data.type).c_str(), format_bin(data.id).c_str(), - format_bin(data.valueHB).c_str(), format_bin(data.valueLB).c_str()); + char type_buf[9], id_buf[9], hb_buf[9], lb_buf[9]; + ESP_LOGD(TAG, "%s %s %s %s", format_bin_to(type_buf, data.type), format_bin_to(id_buf, data.id), + format_bin_to(hb_buf, data.valueHB), format_bin_to(lb_buf, data.valueLB)); ESP_LOGD(TAG, "type: %s; id: %u; HB: %u; LB: %u; uint_16: %u; float: %f", this->message_type_to_str((MessageType) data.type), data.id, data.valueHB, data.valueLB, data.u16(), data.f88()); diff --git a/esphome/components/pca6416a/pca6416a.cpp b/esphome/components/pca6416a/pca6416a.cpp index 909bac5f05..f393af88ce 100644 --- a/esphome/components/pca6416a/pca6416a.cpp +++ b/esphome/components/pca6416a/pca6416a.cpp @@ -181,7 +181,7 @@ void PCA6416AGPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this bool PCA6416AGPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void PCA6416AGPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } size_t PCA6416AGPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via PCA6416A", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via PCA6416A", this->pin_); } } // namespace pca6416a diff --git a/esphome/components/pca9554/pca9554.cpp b/esphome/components/pca9554/pca9554.cpp index a6f9c2396c..c574ce6593 100644 --- a/esphome/components/pca9554/pca9554.cpp +++ b/esphome/components/pca9554/pca9554.cpp @@ -130,7 +130,7 @@ void PCA9554GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this- bool PCA9554GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void PCA9554GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } size_t PCA9554GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via PCA9554", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via PCA9554", this->pin_); } } // namespace pca9554 diff --git a/esphome/components/pcd8544/display.py b/esphome/components/pcd8544/display.py index 2c24b133da..9d993c2105 100644 --- a/esphome/components/pcd8544/display.py +++ b/esphome/components/pcd8544/display.py @@ -44,7 +44,7 @@ async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await display.register_display(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/pcf8574/pcf8574.cpp b/esphome/components/pcf8574/pcf8574.cpp index 8bdd312ab9..b7d3848f0e 100644 --- a/esphome/components/pcf8574/pcf8574.cpp +++ b/esphome/components/pcf8574/pcf8574.cpp @@ -107,7 +107,7 @@ void PCF8574GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this- bool PCF8574GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void PCF8574GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } size_t PCF8574GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via PCF8574", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via PCF8574", this->pin_); } } // namespace pcf8574 diff --git a/esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp b/esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp index f3a1f013d9..fdff11dedb 100644 --- a/esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +++ b/esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp @@ -165,7 +165,7 @@ void PI4IOE5V6408GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } size_t PI4IOE5V6408GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via PI4IOE5V6408", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via PI4IOE5V6408", this->pin_); } } // namespace pi4ioe5v6408 diff --git a/esphome/components/pipsolar/output/pipsolar_output.cpp b/esphome/components/pipsolar/output/pipsolar_output.cpp index 163fbf4eb2..60f6342759 100644 --- a/esphome/components/pipsolar/output/pipsolar_output.cpp +++ b/esphome/components/pipsolar/output/pipsolar_output.cpp @@ -8,8 +8,8 @@ namespace pipsolar { static const char *const TAG = "pipsolar.output"; void PipsolarOutput::write_state(float state) { - char tmp[10]; - sprintf(tmp, this->set_command_.c_str(), state); + char tmp[16]; + snprintf(tmp, sizeof(tmp), this->set_command_, state); if (std::find(this->possible_values_.begin(), this->possible_values_.end(), state) != this->possible_values_.end()) { ESP_LOGD(TAG, "Will write: %s out of value %f / %02.0f", tmp, state, state); diff --git a/esphome/components/pipsolar/output/pipsolar_output.h b/esphome/components/pipsolar/output/pipsolar_output.h index b4b8000962..66eda8e391 100644 --- a/esphome/components/pipsolar/output/pipsolar_output.h +++ b/esphome/components/pipsolar/output/pipsolar_output.h @@ -15,13 +15,15 @@ class PipsolarOutput : public output::FloatOutput { public: PipsolarOutput() {} void set_parent(Pipsolar *parent) { this->parent_ = parent; } - void set_set_command(const std::string &command) { this->set_command_ = command; }; + void set_set_command(const char *command) { this->set_command_ = command; } + /// Prevent accidental use of std::string which would dangle + void set_set_command(const std::string &command) = delete; void set_possible_values(std::vector possible_values) { this->possible_values_ = std::move(possible_values); } - void set_value(float value) { this->write_state(value); }; + void set_value(float value) { this->write_state(value); } protected: void write_state(float state) override; - std::string set_command_; + const char *set_command_{nullptr}; Pipsolar *parent_; std::vector possible_values_; }; diff --git a/esphome/components/pipsolar/switch/pipsolar_switch.cpp b/esphome/components/pipsolar/switch/pipsolar_switch.cpp index 649d951618..512587511b 100644 --- a/esphome/components/pipsolar/switch/pipsolar_switch.cpp +++ b/esphome/components/pipsolar/switch/pipsolar_switch.cpp @@ -9,14 +9,9 @@ static const char *const TAG = "pipsolar.switch"; void PipsolarSwitch::dump_config() { LOG_SWITCH("", "Pipsolar Switch", this); } void PipsolarSwitch::write_state(bool state) { - if (state) { - if (!this->on_command_.empty()) { - this->parent_->queue_command(this->on_command_); - } - } else { - if (!this->off_command_.empty()) { - this->parent_->queue_command(this->off_command_); - } + const char *command = state ? this->on_command_ : this->off_command_; + if (command != nullptr) { + this->parent_->queue_command(command); } } diff --git a/esphome/components/pipsolar/switch/pipsolar_switch.h b/esphome/components/pipsolar/switch/pipsolar_switch.h index 11ff6c853a..bb62d4794a 100644 --- a/esphome/components/pipsolar/switch/pipsolar_switch.h +++ b/esphome/components/pipsolar/switch/pipsolar_switch.h @@ -9,15 +9,18 @@ namespace pipsolar { class Pipsolar; class PipsolarSwitch : public switch_::Switch, public Component { public: - void set_parent(Pipsolar *parent) { this->parent_ = parent; }; - void set_on_command(const std::string &command) { this->on_command_ = command; }; - void set_off_command(const std::string &command) { this->off_command_ = command; }; + void set_parent(Pipsolar *parent) { this->parent_ = parent; } + void set_on_command(const char *command) { this->on_command_ = command; } + void set_off_command(const char *command) { this->off_command_ = command; } + /// Prevent accidental use of std::string which would dangle + void set_on_command(const std::string &command) = delete; + void set_off_command(const std::string &command) = delete; void dump_config() override; protected: void write_state(bool state) override; - std::string on_command_; - std::string off_command_; + const char *on_command_{nullptr}; + const char *off_command_{nullptr}; Pipsolar *parent_; }; diff --git a/esphome/components/pn532/pn532.cpp b/esphome/components/pn532/pn532.cpp index 8f0c5581d4..733810c242 100644 --- a/esphome/components/pn532/pn532.cpp +++ b/esphome/components/pn532/pn532.cpp @@ -168,11 +168,11 @@ void PN532::loop() { } uint8_t nfcid_length = read[5]; - std::vector nfcid(read.begin() + 6, read.begin() + 6 + nfcid_length); - if (read.size() < 6U + nfcid_length) { + if (nfcid_length > nfc::NFC_UID_MAX_LENGTH || read.size() < 6U + nfcid_length) { // oops, pn532 returned invalid data return; } + nfc::NfcTagUid nfcid(read.begin() + 6, read.begin() + 6 + nfcid_length); bool report = true; for (auto *bin_sens : this->binary_sensors_) { @@ -358,7 +358,7 @@ void PN532::turn_off_rf_() { }); } -std::unique_ptr PN532::read_tag_(std::vector &uid) { +std::unique_ptr PN532::read_tag_(nfc::NfcTagUid &uid) { uint8_t type = nfc::guess_tag_type(uid.size()); if (type == nfc::TAG_TYPE_MIFARE_CLASSIC) { @@ -393,7 +393,7 @@ void PN532::write_mode(nfc::NdefMessage *message) { ESP_LOGD(TAG, "Waiting to write next tag"); } -bool PN532::clean_tag_(std::vector &uid) { +bool PN532::clean_tag_(nfc::NfcTagUid &uid) { uint8_t type = nfc::guess_tag_type(uid.size()); if (type == nfc::TAG_TYPE_MIFARE_CLASSIC) { return this->format_mifare_classic_mifare_(uid); @@ -404,7 +404,7 @@ bool PN532::clean_tag_(std::vector &uid) { return false; } -bool PN532::format_tag_(std::vector &uid) { +bool PN532::format_tag_(nfc::NfcTagUid &uid) { uint8_t type = nfc::guess_tag_type(uid.size()); if (type == nfc::TAG_TYPE_MIFARE_CLASSIC) { return this->format_mifare_classic_ndef_(uid); @@ -415,7 +415,7 @@ bool PN532::format_tag_(std::vector &uid) { return false; } -bool PN532::write_tag_(std::vector &uid, nfc::NdefMessage *message) { +bool PN532::write_tag_(nfc::NfcTagUid &uid, nfc::NdefMessage *message) { uint8_t type = nfc::guess_tag_type(uid.size()); if (type == nfc::TAG_TYPE_MIFARE_CLASSIC) { return this->write_mifare_classic_tag_(uid, message); @@ -448,7 +448,7 @@ void PN532::dump_config() { } } -bool PN532BinarySensor::process(std::vector &data) { +bool PN532BinarySensor::process(const nfc::NfcTagUid &data) { if (data.size() != this->uid_.size()) return false; diff --git a/esphome/components/pn532/pn532.h b/esphome/components/pn532/pn532.h index eeb15648fb..488ec4af3b 100644 --- a/esphome/components/pn532/pn532.h +++ b/esphome/components/pn532/pn532.h @@ -69,28 +69,28 @@ class PN532 : public PollingComponent { virtual bool read_data(std::vector &data, uint8_t len) = 0; virtual bool read_response(uint8_t command, std::vector &data) = 0; - std::unique_ptr read_tag_(std::vector &uid); + std::unique_ptr read_tag_(nfc::NfcTagUid &uid); - bool format_tag_(std::vector &uid); - bool clean_tag_(std::vector &uid); - bool write_tag_(std::vector &uid, nfc::NdefMessage *message); + bool format_tag_(nfc::NfcTagUid &uid); + bool clean_tag_(nfc::NfcTagUid &uid); + bool write_tag_(nfc::NfcTagUid &uid, nfc::NdefMessage *message); - std::unique_ptr read_mifare_classic_tag_(std::vector &uid); + std::unique_ptr read_mifare_classic_tag_(nfc::NfcTagUid &uid); bool read_mifare_classic_block_(uint8_t block_num, std::vector &data); bool write_mifare_classic_block_(uint8_t block_num, std::vector &data); - bool auth_mifare_classic_block_(std::vector &uid, uint8_t block_num, uint8_t key_num, const uint8_t *key); - bool format_mifare_classic_mifare_(std::vector &uid); - bool format_mifare_classic_ndef_(std::vector &uid); - bool write_mifare_classic_tag_(std::vector &uid, nfc::NdefMessage *message); + bool auth_mifare_classic_block_(nfc::NfcTagUid &uid, uint8_t block_num, uint8_t key_num, const uint8_t *key); + bool format_mifare_classic_mifare_(nfc::NfcTagUid &uid); + bool format_mifare_classic_ndef_(nfc::NfcTagUid &uid); + bool write_mifare_classic_tag_(nfc::NfcTagUid &uid, nfc::NdefMessage *message); - std::unique_ptr read_mifare_ultralight_tag_(std::vector &uid); + std::unique_ptr read_mifare_ultralight_tag_(nfc::NfcTagUid &uid); bool read_mifare_ultralight_bytes_(uint8_t start_page, uint16_t num_bytes, std::vector &data); bool is_mifare_ultralight_formatted_(const std::vector &page_3_to_6); uint16_t read_mifare_ultralight_capacity_(); bool find_mifare_ultralight_ndef_(const std::vector &page_3_to_6, uint8_t &message_length, uint8_t &message_start_index); bool write_mifare_ultralight_page_(uint8_t page_num, std::vector &write_data); - bool write_mifare_ultralight_tag_(std::vector &uid, nfc::NdefMessage *message); + bool write_mifare_ultralight_tag_(nfc::NfcTagUid &uid, nfc::NdefMessage *message); bool clean_mifare_ultralight_(); bool updates_enabled_{true}; @@ -98,7 +98,7 @@ class PN532 : public PollingComponent { std::vector binary_sensors_; std::vector triggers_ontag_; std::vector triggers_ontagremoved_; - std::vector current_uid_; + nfc::NfcTagUid current_uid_; nfc::NdefMessage *next_task_message_to_write_; uint32_t rd_start_time_{0}; enum PN532ReadReady rd_ready_ { WOULDBLOCK }; @@ -118,9 +118,9 @@ class PN532 : public PollingComponent { class PN532BinarySensor : public binary_sensor::BinarySensor { public: - void set_uid(const std::vector &uid) { uid_ = uid; } + void set_uid(const nfc::NfcTagUid &uid) { uid_ = uid; } - bool process(std::vector &data); + bool process(const nfc::NfcTagUid &data); void on_scan_end() { if (!this->found_) { @@ -130,7 +130,7 @@ class PN532BinarySensor : public binary_sensor::BinarySensor { } protected: - std::vector uid_; + nfc::NfcTagUid uid_; bool found_{false}; }; diff --git a/esphome/components/pn532/pn532_mifare_classic.cpp b/esphome/components/pn532/pn532_mifare_classic.cpp index 28ab22e160..b762d5d936 100644 --- a/esphome/components/pn532/pn532_mifare_classic.cpp +++ b/esphome/components/pn532/pn532_mifare_classic.cpp @@ -8,7 +8,7 @@ namespace pn532 { static const char *const TAG = "pn532.mifare_classic"; -std::unique_ptr PN532::read_mifare_classic_tag_(std::vector &uid) { +std::unique_ptr PN532::read_mifare_classic_tag_(nfc::NfcTagUid &uid) { uint8_t current_block = 4; uint8_t message_start_index = 0; uint32_t message_length = 0; @@ -82,8 +82,7 @@ bool PN532::read_mifare_classic_block_(uint8_t block_num, std::vector & return true; } -bool PN532::auth_mifare_classic_block_(std::vector &uid, uint8_t block_num, uint8_t key_num, - const uint8_t *key) { +bool PN532::auth_mifare_classic_block_(nfc::NfcTagUid &uid, uint8_t block_num, uint8_t key_num, const uint8_t *key) { std::vector data({ PN532_COMMAND_INDATAEXCHANGE, 0x01, // One card @@ -106,7 +105,7 @@ bool PN532::auth_mifare_classic_block_(std::vector &uid, uint8_t block_ return true; } -bool PN532::format_mifare_classic_mifare_(std::vector &uid) { +bool PN532::format_mifare_classic_mifare_(nfc::NfcTagUid &uid) { std::vector blank_buffer( {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}); std::vector trailer_buffer( @@ -141,7 +140,7 @@ bool PN532::format_mifare_classic_mifare_(std::vector &uid) { return !error; } -bool PN532::format_mifare_classic_ndef_(std::vector &uid) { +bool PN532::format_mifare_classic_ndef_(nfc::NfcTagUid &uid) { std::vector empty_ndef_message( {0x03, 0x03, 0xD0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}); std::vector blank_block( @@ -216,7 +215,7 @@ bool PN532::write_mifare_classic_block_(uint8_t block_num, std::vector return true; } -bool PN532::write_mifare_classic_tag_(std::vector &uid, nfc::NdefMessage *message) { +bool PN532::write_mifare_classic_tag_(nfc::NfcTagUid &uid, nfc::NdefMessage *message) { auto encoded = message->encode(); uint32_t message_length = encoded.size(); diff --git a/esphome/components/pn532/pn532_mifare_ultralight.cpp b/esphome/components/pn532/pn532_mifare_ultralight.cpp index 0221ba31c5..01e41df5c0 100644 --- a/esphome/components/pn532/pn532_mifare_ultralight.cpp +++ b/esphome/components/pn532/pn532_mifare_ultralight.cpp @@ -8,7 +8,7 @@ namespace pn532 { static const char *const TAG = "pn532.mifare_ultralight"; -std::unique_ptr PN532::read_mifare_ultralight_tag_(std::vector &uid) { +std::unique_ptr PN532::read_mifare_ultralight_tag_(nfc::NfcTagUid &uid) { std::vector data; // pages 3 to 6 contain various info we are interested in -- do one read to grab it all if (!this->read_mifare_ultralight_bytes_(3, nfc::MIFARE_ULTRALIGHT_PAGE_SIZE * nfc::MIFARE_ULTRALIGHT_READ_SIZE, @@ -114,7 +114,7 @@ bool PN532::find_mifare_ultralight_ndef_(const std::vector &page_3_to_6 return false; } -bool PN532::write_mifare_ultralight_tag_(std::vector &uid, nfc::NdefMessage *message) { +bool PN532::write_mifare_ultralight_tag_(nfc::NfcTagUid &uid, nfc::NdefMessage *message) { uint32_t capacity = this->read_mifare_ultralight_capacity_(); auto encoded = message->encode(); diff --git a/esphome/components/pn7150/pn7150.cpp b/esphome/components/pn7150/pn7150.cpp index e1ba3761d4..7bec1e08a9 100644 --- a/esphome/components/pn7150/pn7150.cpp +++ b/esphome/components/pn7150/pn7150.cpp @@ -478,7 +478,7 @@ uint8_t PN7150::read_endpoint_data_(nfc::NfcTag &tag) { return nfc::STATUS_FAILED; } -uint8_t PN7150::clean_endpoint_(std::vector &uid) { +uint8_t PN7150::clean_endpoint_(nfc::NfcTagUid &uid) { uint8_t type = nfc::guess_tag_type(uid.size()); switch (type) { case nfc::TAG_TYPE_MIFARE_CLASSIC: @@ -494,7 +494,7 @@ uint8_t PN7150::clean_endpoint_(std::vector &uid) { return nfc::STATUS_FAILED; } -uint8_t PN7150::format_endpoint_(std::vector &uid) { +uint8_t PN7150::format_endpoint_(nfc::NfcTagUid &uid) { uint8_t type = nfc::guess_tag_type(uid.size()); switch (type) { case nfc::TAG_TYPE_MIFARE_CLASSIC: @@ -510,7 +510,7 @@ uint8_t PN7150::format_endpoint_(std::vector &uid) { return nfc::STATUS_FAILED; } -uint8_t PN7150::write_endpoint_(std::vector &uid, std::shared_ptr &message) { +uint8_t PN7150::write_endpoint_(nfc::NfcTagUid &uid, std::shared_ptr &message) { uint8_t type = nfc::guess_tag_type(uid.size()); switch (type) { case nfc::TAG_TYPE_MIFARE_CLASSIC: @@ -534,7 +534,7 @@ std::unique_ptr PN7150::build_tag_(const uint8_t mode_tech, const s ESP_LOGE(TAG, "UID length cannot be zero"); return nullptr; } - std::vector uid(data.begin() + 3, data.begin() + 3 + uid_length); + nfc::NfcTagUid uid(data.begin() + 3, data.begin() + 3 + uid_length); const auto *tag_type_str = nfc::guess_tag_type(uid_length) == nfc::TAG_TYPE_MIFARE_CLASSIC ? nfc::MIFARE_CLASSIC : nfc::NFC_FORUM_TYPE_2; return make_unique(uid, tag_type_str); @@ -543,7 +543,7 @@ std::unique_ptr PN7150::build_tag_(const uint8_t mode_tech, const s return nullptr; } -optional PN7150::find_tag_uid_(const std::vector &uid) { +optional PN7150::find_tag_uid_(const nfc::NfcTagUid &uid) { if (!this->discovered_endpoint_.empty()) { for (size_t i = 0; i < this->discovered_endpoint_.size(); i++) { auto existing_tag_uid = this->discovered_endpoint_[i].tag->get_uid(); diff --git a/esphome/components/pn7150/pn7150.h b/esphome/components/pn7150/pn7150.h index 42cd7a6ef7..a5dcef9f99 100644 --- a/esphome/components/pn7150/pn7150.h +++ b/esphome/components/pn7150/pn7150.h @@ -203,12 +203,12 @@ class PN7150 : public nfc::Nfcc, public Component { void select_endpoint_(); uint8_t read_endpoint_data_(nfc::NfcTag &tag); - uint8_t clean_endpoint_(std::vector &uid); - uint8_t format_endpoint_(std::vector &uid); - uint8_t write_endpoint_(std::vector &uid, std::shared_ptr &message); + uint8_t clean_endpoint_(nfc::NfcTagUid &uid); + uint8_t format_endpoint_(nfc::NfcTagUid &uid); + uint8_t write_endpoint_(nfc::NfcTagUid &uid, std::shared_ptr &message); std::unique_ptr build_tag_(uint8_t mode_tech, const std::vector &data); - optional find_tag_uid_(const std::vector &uid); + optional find_tag_uid_(const nfc::NfcTagUid &uid); void purge_old_tags_(); void erase_tag_(uint8_t tag_index); @@ -251,7 +251,7 @@ class PN7150 : public nfc::Nfcc, public Component { uint8_t find_mifare_ultralight_ndef_(const std::vector &page_3_to_6, uint8_t &message_length, uint8_t &message_start_index); uint8_t write_mifare_ultralight_page_(uint8_t page_num, std::vector &write_data); - uint8_t write_mifare_ultralight_tag_(std::vector &uid, const std::shared_ptr &message); + uint8_t write_mifare_ultralight_tag_(nfc::NfcTagUid &uid, const std::shared_ptr &message); uint8_t clean_mifare_ultralight_(); enum NfcTask : uint8_t { diff --git a/esphome/components/pn7150/pn7150_mifare_ultralight.cpp b/esphome/components/pn7150/pn7150_mifare_ultralight.cpp index ac15475bad..166065f6c1 100644 --- a/esphome/components/pn7150/pn7150_mifare_ultralight.cpp +++ b/esphome/components/pn7150/pn7150_mifare_ultralight.cpp @@ -115,8 +115,7 @@ uint8_t PN7150::find_mifare_ultralight_ndef_(const std::vector &page_3_ return nfc::STATUS_FAILED; } -uint8_t PN7150::write_mifare_ultralight_tag_(std::vector &uid, - const std::shared_ptr &message) { +uint8_t PN7150::write_mifare_ultralight_tag_(nfc::NfcTagUid &uid, const std::shared_ptr &message) { uint32_t capacity = this->read_mifare_ultralight_capacity_(); auto encoded = message->encode(); diff --git a/esphome/components/pn7160/pn7160.cpp b/esphome/components/pn7160/pn7160.cpp index 1a38dce5fd..28907b8e30 100644 --- a/esphome/components/pn7160/pn7160.cpp +++ b/esphome/components/pn7160/pn7160.cpp @@ -506,7 +506,7 @@ uint8_t PN7160::read_endpoint_data_(nfc::NfcTag &tag) { return nfc::STATUS_FAILED; } -uint8_t PN7160::clean_endpoint_(std::vector &uid) { +uint8_t PN7160::clean_endpoint_(nfc::NfcTagUid &uid) { uint8_t type = nfc::guess_tag_type(uid.size()); switch (type) { case nfc::TAG_TYPE_MIFARE_CLASSIC: @@ -522,7 +522,7 @@ uint8_t PN7160::clean_endpoint_(std::vector &uid) { return nfc::STATUS_FAILED; } -uint8_t PN7160::format_endpoint_(std::vector &uid) { +uint8_t PN7160::format_endpoint_(nfc::NfcTagUid &uid) { uint8_t type = nfc::guess_tag_type(uid.size()); switch (type) { case nfc::TAG_TYPE_MIFARE_CLASSIC: @@ -538,7 +538,7 @@ uint8_t PN7160::format_endpoint_(std::vector &uid) { return nfc::STATUS_FAILED; } -uint8_t PN7160::write_endpoint_(std::vector &uid, std::shared_ptr &message) { +uint8_t PN7160::write_endpoint_(nfc::NfcTagUid &uid, std::shared_ptr &message) { uint8_t type = nfc::guess_tag_type(uid.size()); switch (type) { case nfc::TAG_TYPE_MIFARE_CLASSIC: @@ -562,7 +562,7 @@ std::unique_ptr PN7160::build_tag_(const uint8_t mode_tech, const s ESP_LOGE(TAG, "UID length cannot be zero"); return nullptr; } - std::vector uid(data.begin() + 3, data.begin() + 3 + uid_length); + nfc::NfcTagUid uid(data.begin() + 3, data.begin() + 3 + uid_length); const auto *tag_type_str = nfc::guess_tag_type(uid_length) == nfc::TAG_TYPE_MIFARE_CLASSIC ? nfc::MIFARE_CLASSIC : nfc::NFC_FORUM_TYPE_2; return make_unique(uid, tag_type_str); @@ -571,7 +571,7 @@ std::unique_ptr PN7160::build_tag_(const uint8_t mode_tech, const s return nullptr; } -optional PN7160::find_tag_uid_(const std::vector &uid) { +optional PN7160::find_tag_uid_(const nfc::NfcTagUid &uid) { if (!this->discovered_endpoint_.empty()) { for (size_t i = 0; i < this->discovered_endpoint_.size(); i++) { auto existing_tag_uid = this->discovered_endpoint_[i].tag->get_uid(); diff --git a/esphome/components/pn7160/pn7160.h b/esphome/components/pn7160/pn7160.h index fc00296a71..572fab3351 100644 --- a/esphome/components/pn7160/pn7160.h +++ b/esphome/components/pn7160/pn7160.h @@ -220,12 +220,12 @@ class PN7160 : public nfc::Nfcc, public Component { void select_endpoint_(); uint8_t read_endpoint_data_(nfc::NfcTag &tag); - uint8_t clean_endpoint_(std::vector &uid); - uint8_t format_endpoint_(std::vector &uid); - uint8_t write_endpoint_(std::vector &uid, std::shared_ptr &message); + uint8_t clean_endpoint_(nfc::NfcTagUid &uid); + uint8_t format_endpoint_(nfc::NfcTagUid &uid); + uint8_t write_endpoint_(nfc::NfcTagUid &uid, std::shared_ptr &message); std::unique_ptr build_tag_(uint8_t mode_tech, const std::vector &data); - optional find_tag_uid_(const std::vector &uid); + optional find_tag_uid_(const nfc::NfcTagUid &uid); void purge_old_tags_(); void erase_tag_(uint8_t tag_index); @@ -268,7 +268,7 @@ class PN7160 : public nfc::Nfcc, public Component { uint8_t find_mifare_ultralight_ndef_(const std::vector &page_3_to_6, uint8_t &message_length, uint8_t &message_start_index); uint8_t write_mifare_ultralight_page_(uint8_t page_num, std::vector &write_data); - uint8_t write_mifare_ultralight_tag_(std::vector &uid, const std::shared_ptr &message); + uint8_t write_mifare_ultralight_tag_(nfc::NfcTagUid &uid, const std::shared_ptr &message); uint8_t clean_mifare_ultralight_(); enum NfcTask : uint8_t { diff --git a/esphome/components/pn7160/pn7160_mifare_ultralight.cpp b/esphome/components/pn7160/pn7160_mifare_ultralight.cpp index 584385f113..c473ff48d9 100644 --- a/esphome/components/pn7160/pn7160_mifare_ultralight.cpp +++ b/esphome/components/pn7160/pn7160_mifare_ultralight.cpp @@ -115,8 +115,7 @@ uint8_t PN7160::find_mifare_ultralight_ndef_(const std::vector &page_3_ return nfc::STATUS_FAILED; } -uint8_t PN7160::write_mifare_ultralight_tag_(std::vector &uid, - const std::shared_ptr &message) { +uint8_t PN7160::write_mifare_ultralight_tag_(nfc::NfcTagUid &uid, const std::shared_ptr &message) { uint32_t capacity = this->read_mifare_ultralight_capacity_(); auto encoded = message->encode(); diff --git a/esphome/components/prometheus/prometheus_handler.h b/esphome/components/prometheus/prometheus_handler.h index fc48ad67e3..7aecab99d1 100644 --- a/esphome/components/prometheus/prometheus_handler.h +++ b/esphome/components/prometheus/prometheus_handler.h @@ -41,12 +41,14 @@ class PrometheusHandler : public AsyncWebHandler, public Component { void add_label_name(EntityBase *obj, const std::string &value) { relabel_map_name_.insert({obj, value}); } bool canHandle(AsyncWebServerRequest *request) const override { - if (request->method() == HTTP_GET) { - if (request->url() == "/metrics") - return true; - } - - return false; + if (request->method() != HTTP_GET) + return false; +#ifdef USE_ESP32 + char url_buf[AsyncWebServerRequest::URL_BUF_SIZE]; + return request->url_to(url_buf) == "/metrics"; +#else + return request->url() == ESPHOME_F("/metrics"); +#endif } void handleRequest(AsyncWebServerRequest *req) override; diff --git a/esphome/components/qspi_dbi/display.py b/esphome/components/qspi_dbi/display.py index e4440c9b81..48d1f6d12e 100644 --- a/esphome/components/qspi_dbi/display.py +++ b/esphome/components/qspi_dbi/display.py @@ -161,7 +161,7 @@ CONFIG_SCHEMA = cv.All( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await display.register_display(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) chip = DriverChip.chips[config[CONF_MODEL]] if chip.initsequence: diff --git a/esphome/components/rc522_spi/rc522_spi.cpp b/esphome/components/rc522_spi/rc522_spi.cpp index 23e92be65a..40da449814 100644 --- a/esphome/components/rc522_spi/rc522_spi.cpp +++ b/esphome/components/rc522_spi/rc522_spi.cpp @@ -1,4 +1,5 @@ #include "rc522_spi.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" // Based on: @@ -70,7 +71,7 @@ void RC522Spi::pcd_read_register(PcdRegister reg, ///< The register to read fro index++; #ifdef ESPHOME_LOG_HAS_VERY_VERBOSE - sprintf(cstrb, " %x", values[0]); + buf_append_printf(cstrb, sizeof(cstrb), 0, " %x", values[0]); buf.append(cstrb); #endif } @@ -78,7 +79,7 @@ void RC522Spi::pcd_read_register(PcdRegister reg, ///< The register to read fro values[index] = transfer_byte(address); // Read value and tell that we want to read the same address again. #ifdef ESPHOME_LOG_HAS_VERY_VERBOSE - sprintf(cstrb, " %x", values[index]); + buf_append_printf(cstrb, sizeof(cstrb), 0, " %x", values[index]); buf.append(cstrb); #endif @@ -88,7 +89,7 @@ void RC522Spi::pcd_read_register(PcdRegister reg, ///< The register to read fro #ifdef ESPHOME_LOG_HAS_VERY_VERBOSE buf = buf + " "; - sprintf(cstrb, "%x", values[index]); + buf_append_printf(cstrb, sizeof(cstrb), 0, "%x", values[index]); buf.append(cstrb); ESP_LOGVV(TAG, "read_register_array_(%x, %d, , %d) -> %s", reg, count, rx_align, buf.c_str()); @@ -127,7 +128,7 @@ void RC522Spi::pcd_write_register(PcdRegister reg, ///< The register to write t transfer_byte(values[index]); #ifdef ESPHOME_LOG_HAS_VERY_VERBOSE - sprintf(cstrb, " %x", values[index]); + buf_append_printf(cstrb, sizeof(cstrb), 0, " %x", values[index]); buf.append(cstrb); #endif } diff --git a/esphome/components/rd03d/rd03d.cpp b/esphome/components/rd03d/rd03d.cpp index d9b0b59fe9..ba05abe8e0 100644 --- a/esphome/components/rd03d/rd03d.cpp +++ b/esphome/components/rd03d/rd03d.cpp @@ -133,14 +133,17 @@ void RD03DComponent::process_frame_() { uint8_t offset = FRAME_HEADER_SIZE + (i * TARGET_DATA_SIZE); // Extract raw bytes for this target + // Note: Despite datasheet Table 5-2 showing order as X, Y, Speed, Resolution, + // actual radar output has Resolution before Speed (verified empirically - + // stationary targets were showing non-zero speed with original field order) uint8_t x_low = this->buffer_[offset + 0]; uint8_t x_high = this->buffer_[offset + 1]; uint8_t y_low = this->buffer_[offset + 2]; uint8_t y_high = this->buffer_[offset + 3]; - uint8_t speed_low = this->buffer_[offset + 4]; - uint8_t speed_high = this->buffer_[offset + 5]; - uint8_t res_low = this->buffer_[offset + 6]; - uint8_t res_high = this->buffer_[offset + 7]; + uint8_t res_low = this->buffer_[offset + 4]; + uint8_t res_high = this->buffer_[offset + 5]; + uint8_t speed_low = this->buffer_[offset + 6]; + uint8_t speed_high = this->buffer_[offset + 7]; // Decode values per RD-03D format int16_t x = decode_value(x_low, x_high); diff --git a/esphome/components/remote_base/aeha_protocol.cpp b/esphome/components/remote_base/aeha_protocol.cpp index 04fe731817..3b926e7981 100644 --- a/esphome/components/remote_base/aeha_protocol.cpp +++ b/esphome/components/remote_base/aeha_protocol.cpp @@ -85,8 +85,8 @@ optional AEHAProtocol::decode(RemoteReceiveData src) { std::string AEHAProtocol::format_data_(const std::vector &data) { std::string out; for (uint8_t byte : data) { - char buf[6]; - sprintf(buf, "0x%02X,", byte); + char buf[8]; // "0x%02X," = 5 chars + null + margin + snprintf(buf, sizeof(buf), "0x%02X,", byte); out += buf; } out.pop_back(); diff --git a/esphome/components/remote_base/raw_protocol.cpp b/esphome/components/remote_base/raw_protocol.cpp index ef0cb8454e..7e6be3b77e 100644 --- a/esphome/components/remote_base/raw_protocol.cpp +++ b/esphome/components/remote_base/raw_protocol.cpp @@ -1,4 +1,5 @@ #include "raw_protocol.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" namespace esphome { @@ -8,36 +9,30 @@ static const char *const TAG = "remote.raw"; bool RawDumper::dump(RemoteReceiveData src) { char buffer[256]; - uint32_t buffer_offset = 0; - buffer_offset += sprintf(buffer, "Received Raw: "); + size_t pos = buf_append_printf(buffer, sizeof(buffer), 0, "Received Raw: "); for (int32_t i = 0; i < src.size() - 1; i++) { const int32_t value = src[i]; - const uint32_t remaining_length = sizeof(buffer) - buffer_offset; - int written; + size_t prev_pos = pos; if (i + 1 < src.size() - 1) { - written = snprintf(buffer + buffer_offset, remaining_length, "%" PRId32 ", ", value); + pos = buf_append_printf(buffer, sizeof(buffer), pos, "%" PRId32 ", ", value); } else { - written = snprintf(buffer + buffer_offset, remaining_length, "%" PRId32, value); + pos = buf_append_printf(buffer, sizeof(buffer), pos, "%" PRId32, value); } - if (written < 0 || written >= int(remaining_length)) { - // write failed, flush... - buffer[buffer_offset] = '\0'; + if (pos >= sizeof(buffer) - 1) { + // buffer full, flush and continue + buffer[prev_pos] = '\0'; ESP_LOGI(TAG, "%s", buffer); - buffer_offset = 0; - written = sprintf(buffer, " "); if (i + 1 < src.size() - 1) { - written += sprintf(buffer + written, "%" PRId32 ", ", value); + pos = buf_append_printf(buffer, sizeof(buffer), 0, " %" PRId32 ", ", value); } else { - written += sprintf(buffer + written, "%" PRId32, value); + pos = buf_append_printf(buffer, sizeof(buffer), 0, " %" PRId32, value); } } - - buffer_offset += written; } - if (buffer_offset != 0) { + if (pos != 0) { ESP_LOGI(TAG, "%s", buffer); } return true; diff --git a/esphome/components/remote_base/remote_base.cpp b/esphome/components/remote_base/remote_base.cpp index e3d9463243..b4a549f0be 100644 --- a/esphome/components/remote_base/remote_base.cpp +++ b/esphome/components/remote_base/remote_base.cpp @@ -1,8 +1,7 @@ #include "remote_base.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" -#include - namespace esphome { namespace remote_base { @@ -159,8 +158,8 @@ void RemoteTransmitData::set_data_from_packed_sint32(const uint8_t *data, size_t } } -bool RemoteTransmitData::set_data_from_base85(const std::string &base85) { - return base85_decode_int32_vector(base85, this->data_); +bool RemoteTransmitData::set_data_from_base64url(const std::string &base64url) { + return base64_decode_int32_vector(base64url, this->data_); } /* RemoteTransmitterBase */ @@ -169,36 +168,31 @@ void RemoteTransmitterBase::send_(uint32_t send_times, uint32_t send_wait) { #ifdef ESPHOME_LOG_HAS_VERY_VERBOSE const auto &vec = this->temp_.get_data(); char buffer[256]; - uint32_t buffer_offset = 0; - buffer_offset += sprintf(buffer, "Sending times=%" PRIu32 " wait=%" PRIu32 "ms: ", send_times, send_wait); + size_t pos = buf_append_printf(buffer, sizeof(buffer), 0, + "Sending times=%" PRIu32 " wait=%" PRIu32 "ms: ", send_times, send_wait); for (size_t i = 0; i < vec.size(); i++) { const int32_t value = vec[i]; - const uint32_t remaining_length = sizeof(buffer) - buffer_offset; - int written; + size_t prev_pos = pos; if (i + 1 < vec.size()) { - written = snprintf(buffer + buffer_offset, remaining_length, "%" PRId32 ", ", value); + pos = buf_append_printf(buffer, sizeof(buffer), pos, "%" PRId32 ", ", value); } else { - written = snprintf(buffer + buffer_offset, remaining_length, "%" PRId32, value); + pos = buf_append_printf(buffer, sizeof(buffer), pos, "%" PRId32, value); } - if (written < 0 || written >= int(remaining_length)) { - // write failed, flush... - buffer[buffer_offset] = '\0'; + if (pos >= sizeof(buffer) - 1) { + // buffer full, flush and continue + buffer[prev_pos] = '\0'; ESP_LOGVV(TAG, "%s", buffer); - buffer_offset = 0; - written = sprintf(buffer, " "); if (i + 1 < vec.size()) { - written += sprintf(buffer + written, "%" PRId32 ", ", value); + pos = buf_append_printf(buffer, sizeof(buffer), 0, " %" PRId32 ", ", value); } else { - written += sprintf(buffer + written, "%" PRId32, value); + pos = buf_append_printf(buffer, sizeof(buffer), 0, " %" PRId32, value); } } - - buffer_offset += written; } - if (buffer_offset != 0) { + if (pos != 0) { ESP_LOGVV(TAG, "%s", buffer); } #endif diff --git a/esphome/components/remote_base/remote_base.h b/esphome/components/remote_base/remote_base.h index 2d7642cc31..0cac28506f 100644 --- a/esphome/components/remote_base/remote_base.h +++ b/esphome/components/remote_base/remote_base.h @@ -36,11 +36,11 @@ class RemoteTransmitData { /// @param len Length of the buffer in bytes /// @param count Number of values (for reserve optimization) void set_data_from_packed_sint32(const uint8_t *data, size_t len, size_t count); - /// Set data from base85-encoded int32 values - /// Decodes directly into internal buffer (zero heap allocations) - /// @param base85 Base85-encoded string (5 chars per int32 value) + /// Set data from base64url-encoded little-endian int32 values + /// Base64url is URL-safe: uses '-' instead of '+', '_' instead of '/' + /// @param base64url Base64url-encoded string of little-endian int32 values /// @return true if successful, false if decode failed or invalid size - bool set_data_from_base85(const std::string &base85); + bool set_data_from_base64url(const std::string &base64url); void reset() { this->data_.clear(); this->carrier_frequency_ = 0; diff --git a/esphome/components/resistance/resistance_sensor.cpp b/esphome/components/resistance/resistance_sensor.cpp index 6e57214449..706a059de3 100644 --- a/esphome/components/resistance/resistance_sensor.cpp +++ b/esphome/components/resistance/resistance_sensor.cpp @@ -39,7 +39,7 @@ void ResistanceSensor::process_(float value) { } res *= this->resistor_; - ESP_LOGD(TAG, "'%s' - Resistance %.1fΩ", this->name_.c_str(), res); + ESP_LOGV(TAG, "'%s' - Resistance %.1fΩ", this->name_.c_str(), res); this->publish_state(res); } diff --git a/esphome/components/rf_bridge/rf_bridge.cpp b/esphome/components/rf_bridge/rf_bridge.cpp index 52ce037dbe..8105767485 100644 --- a/esphome/components/rf_bridge/rf_bridge.cpp +++ b/esphome/components/rf_bridge/rf_bridge.cpp @@ -1,6 +1,7 @@ #include "rf_bridge.h" -#include "esphome/core/log.h" #include "esphome/core/application.h" +#include "esphome/core/helpers.h" +#include "esphome/core/log.h" #include #include @@ -72,9 +73,9 @@ bool RFBridgeComponent::parse_bridge_byte_(uint8_t byte) { data.length = raw[2]; data.protocol = raw[3]; - char next_byte[3]; + char next_byte[3]; // 2 hex chars + null for (uint8_t i = 0; i < data.length - 1; i++) { - sprintf(next_byte, "%02X", raw[4 + i]); + buf_append_printf(next_byte, sizeof(next_byte), 0, "%02X", raw[4 + i]); data.code += next_byte; } @@ -90,10 +91,10 @@ bool RFBridgeComponent::parse_bridge_byte_(uint8_t byte) { uint8_t buckets = raw[2] << 1; std::string str; - char next_byte[3]; + char next_byte[3]; // 2 hex chars + null for (uint32_t i = 0; i <= at; i++) { - sprintf(next_byte, "%02X", raw[i]); + buf_append_printf(next_byte, sizeof(next_byte), 0, "%02X", raw[i]); str += next_byte; if ((i > 3) && buckets) { buckets--; diff --git a/esphome/components/rotary_encoder/rotary_encoder.cpp b/esphome/components/rotary_encoder/rotary_encoder.cpp index 26e20664f2..c652944120 100644 --- a/esphome/components/rotary_encoder/rotary_encoder.cpp +++ b/esphome/components/rotary_encoder/rotary_encoder.cpp @@ -132,7 +132,7 @@ void RotaryEncoderSensor::setup() { int32_t initial_value = 0; switch (this->restore_mode_) { case ROTARY_ENCODER_RESTORE_DEFAULT_ZERO: - this->rtc_ = global_preferences->make_preference(this->get_preference_hash()); + this->rtc_ = this->make_entity_preference(); if (!this->rtc_.load(&initial_value)) { initial_value = 0; } diff --git a/esphome/components/rp2040/preferences.cpp b/esphome/components/rp2040/preferences.cpp index cbf2b00641..e84033bc52 100644 --- a/esphome/components/rp2040/preferences.cpp +++ b/esphome/components/rp2040/preferences.cpp @@ -8,7 +8,6 @@ #include "preferences.h" #include -#include #include "esphome/core/helpers.h" #include "esphome/core/log.h" @@ -25,6 +24,9 @@ static bool s_flash_dirty = false; // NOLINT(cppcoreguidelines-avoid-no static const uint32_t RP2040_FLASH_STORAGE_SIZE = 512; +// Stack buffer size for preferences - covers virtually all real-world preferences without heap allocation +static constexpr size_t PREF_BUFFER_SIZE = 64; + extern "C" uint8_t _EEPROM_start; template uint8_t calculate_crc(It first, It last, uint32_t type) { @@ -42,12 +44,14 @@ class RP2040PreferenceBackend : public ESPPreferenceBackend { uint32_t type = 0; bool save(const uint8_t *data, size_t len) override { - std::vector buffer; - buffer.resize(len + 1); - memcpy(buffer.data(), data, len); - buffer[buffer.size() - 1] = calculate_crc(buffer.begin(), buffer.end() - 1, type); + const size_t buffer_size = len + 1; + SmallBufferWithHeapFallback buffer_alloc(buffer_size); + uint8_t *buffer = buffer_alloc.get(); - for (uint32_t i = 0; i < len + 1; i++) { + memcpy(buffer, data, len); + buffer[len] = calculate_crc(buffer, buffer + len, type); + + for (size_t i = 0; i < buffer_size; i++) { uint32_t j = offset + i; if (j >= RP2040_FLASH_STORAGE_SIZE) return false; @@ -60,22 +64,23 @@ class RP2040PreferenceBackend : public ESPPreferenceBackend { return true; } bool load(uint8_t *data, size_t len) override { - std::vector buffer; - buffer.resize(len + 1); + const size_t buffer_size = len + 1; + SmallBufferWithHeapFallback buffer_alloc(buffer_size); + uint8_t *buffer = buffer_alloc.get(); - for (size_t i = 0; i < len + 1; i++) { + for (size_t i = 0; i < buffer_size; i++) { uint32_t j = offset + i; if (j >= RP2040_FLASH_STORAGE_SIZE) return false; buffer[i] = s_flash_storage[j]; } - uint8_t crc = calculate_crc(buffer.begin(), buffer.end() - 1, type); - if (buffer[buffer.size() - 1] != crc) { + uint8_t crc = calculate_crc(buffer, buffer + len, type); + if (buffer[len] != crc) { return false; } - memcpy(data, buffer.data(), len); + memcpy(data, buffer, len); return true; } }; diff --git a/esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp b/esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp index a81bb17dfc..363f4b63b8 100644 --- a/esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp +++ b/esphome/components/rpi_dpi_rgb/rpi_dpi_rgb.cpp @@ -1,5 +1,6 @@ #ifdef USE_ESP32_VARIANT_ESP32S3 #include "rpi_dpi_rgb.h" +#include "esphome/core/gpio.h" #include "esphome/core/log.h" namespace esphome { @@ -134,8 +135,11 @@ void RpiDpiRgb::dump_config() { LOG_PIN(" Enable Pin: ", this->enable_pin_); LOG_PIN(" Reset Pin: ", this->reset_pin_); size_t data_pin_count = sizeof(this->data_pins_) / sizeof(this->data_pins_[0]); - for (size_t i = 0; i != data_pin_count; i++) - ESP_LOGCONFIG(TAG, " Data pin %d: %s", i, (this->data_pins_[i])->dump_summary().c_str()); + char pin_summary[GPIO_SUMMARY_MAX_LEN]; + for (size_t i = 0; i != data_pin_count; i++) { + this->data_pins_[i]->dump_summary(pin_summary, sizeof(pin_summary)); + ESP_LOGCONFIG(TAG, " Data pin %d: %s", i, pin_summary); + } } void RpiDpiRgb::reset_display_() const { diff --git a/esphome/components/rtl87xx/boards.py b/esphome/components/rtl87xx/boards.py index 5a3228fb1d..45ef02b7e7 100644 --- a/esphome/components/rtl87xx/boards.py +++ b/esphome/components/rtl87xx/boards.py @@ -23,6 +23,10 @@ RTL87XX_BOARDS = { "name": "WR2 Wi-Fi Module", "family": FAMILY_RTL8710B, }, + "wbr3": { + "name": "WBR3 Wi-Fi Module", + "family": FAMILY_RTL8720C, + }, "generic-rtl8710bn-2mb-468k": { "name": "Generic - RTL8710BN (2M/468k)", "family": FAMILY_RTL8710B, @@ -79,6 +83,10 @@ RTL87XX_BOARDS = { "name": "T103_V1.0", "family": FAMILY_RTL8710B, }, + "generic-rtl8720cf-2mb-896k": { + "name": "Generic - RTL8720CF (2M/896k)", + "family": FAMILY_RTL8720C, + }, "generic-rtl8720cf-2mb-992k": { "name": "Generic - RTL8720CF (2M/992k)", "family": FAMILY_RTL8720C, @@ -221,6 +229,71 @@ RTL87XX_BOARD_PINS = { "D9": 29, "A1": 41, }, + "wbr3": { + "WIRE0_SCL_0": 11, + "WIRE0_SCL_1": 2, + "WIRE0_SCL_2": 19, + "WIRE0_SCL_3": 15, + "WIRE0_SDA_0": 3, + "WIRE0_SDA_1": 12, + "WIRE0_SDA_2": 16, + "SERIAL0_RX_0": 12, + "SERIAL0_RX_1": 13, + "SERIAL0_TX_0": 11, + "SERIAL0_TX_1": 14, + "SERIAL1_CTS": 4, + "SERIAL1_RX_0": 2, + "SERIAL1_RX_1": 0, + "SERIAL1_TX_0": 3, + "SERIAL1_TX_1": 1, + "SERIAL2_CTS": 19, + "SERIAL2_RX": 15, + "SERIAL2_TX": 16, + "CS0": 15, + "CTS1": 4, + "CTS2": 19, + "PA00": 0, + "PA0": 0, + "PA01": 1, + "PA1": 1, + "PA02": 2, + "PA2": 2, + "PA03": 3, + "PA3": 3, + "PA04": 4, + "PA4": 4, + "PA07": 7, + "PA7": 7, + "PA11": 11, + "PA12": 12, + "PA13": 13, + "PA14": 14, + "PA15": 15, + "PA16": 16, + "PA17": 17, + "PA18": 18, + "PA19": 19, + "PWM5": 17, + "PWM6": 18, + "RX2": 15, + "SDA0": 16, + "TX2": 16, + "D0": 7, + "D1": 11, + "D2": 2, + "D3": 3, + "D4": 4, + "D5": 12, + "D6": 16, + "D7": 17, + "D8": 18, + "D9": 19, + "D10": 13, + "D11": 14, + "D12": 15, + "D13": 0, + "D14": 1, + }, "generic-rtl8710bn-2mb-468k": { "SPI0_CS": 19, "SPI0_MISO": 22, @@ -1178,6 +1251,104 @@ RTL87XX_BOARD_PINS = { "A0": 19, "A1": 41, }, + "generic-rtl8720cf-2mb-896k": { + "SPI0_CS_0": 2, + "SPI0_CS_1": 7, + "SPI0_CS_2": 15, + "SPI0_MISO_0": 10, + "SPI0_MISO_1": 20, + "SPI0_MOSI_0": 4, + "SPI0_MOSI_1": 9, + "SPI0_MOSI_2": 19, + "SPI0_SCK_0": 3, + "SPI0_SCK_1": 8, + "SPI0_SCK_2": 16, + "WIRE0_SCL_0": 2, + "WIRE0_SCL_1": 11, + "WIRE0_SCL_2": 15, + "WIRE0_SCL_3": 19, + "WIRE0_SDA_0": 3, + "WIRE0_SDA_1": 12, + "WIRE0_SDA_2": 16, + "WIRE0_SDA_3": 20, + "SERIAL0_CTS": 10, + "SERIAL0_RTS": 9, + "SERIAL0_RX_0": 12, + "SERIAL0_RX_1": 13, + "SERIAL0_TX_0": 11, + "SERIAL0_TX_1": 14, + "SERIAL1_CTS": 4, + "SERIAL1_RX_0": 0, + "SERIAL1_RX_1": 2, + "SERIAL1_TX_0": 1, + "SERIAL1_TX_1": 3, + "SERIAL2_CTS": 19, + "SERIAL2_RTS": 20, + "SERIAL2_RX": 15, + "SERIAL2_TX": 16, + "CS0": 15, + "CTS0": 10, + "CTS1": 4, + "CTS2": 19, + "MOSI0": 19, + "PA00": 0, + "PA0": 0, + "PA01": 1, + "PA1": 1, + "PA02": 2, + "PA2": 2, + "PA03": 3, + "PA3": 3, + "PA04": 4, + "PA4": 4, + "PA07": 7, + "PA7": 7, + "PA08": 8, + "PA8": 8, + "PA09": 9, + "PA9": 9, + "PA10": 10, + "PA11": 11, + "PA12": 12, + "PA13": 13, + "PA14": 14, + "PA15": 15, + "PA16": 16, + "PA17": 17, + "PA18": 18, + "PA19": 19, + "PA20": 20, + "PA23": 23, + "PWM0": 20, + "PWM5": 17, + "PWM6": 18, + "PWM7": 23, + "RTS0": 9, + "RTS2": 20, + "RX2": 15, + "SCK0": 16, + "TX2": 16, + "D0": 0, + "D1": 1, + "D2": 2, + "D3": 3, + "D4": 4, + "D5": 7, + "D6": 8, + "D7": 9, + "D8": 10, + "D9": 11, + "D10": 12, + "D11": 13, + "D12": 14, + "D13": 15, + "D14": 16, + "D15": 17, + "D16": 18, + "D17": 19, + "D18": 20, + "D19": 23, + }, "generic-rtl8720cf-2mb-992k": { "SPI0_CS_0": 2, "SPI0_CS_1": 7, diff --git a/esphome/components/runtime_stats/runtime_stats.cpp b/esphome/components/runtime_stats/runtime_stats.cpp index 9a1e1a109a..410695da04 100644 --- a/esphome/components/runtime_stats/runtime_stats.cpp +++ b/esphome/components/runtime_stats/runtime_stats.cpp @@ -27,46 +27,61 @@ void RuntimeStatsCollector::record_component_time(Component *component, uint32_t } void RuntimeStatsCollector::log_stats_() { + // First pass: count active components + size_t count = 0; + for (const auto &it : this->component_stats_) { + if (it.second.get_period_count() > 0) { + count++; + } + } + ESP_LOGI(TAG, "Component Runtime Statistics\n" - " Period stats (last %" PRIu32 "ms):", - this->log_interval_); + " Period stats (last %" PRIu32 "ms): %zu active components", + this->log_interval_, count); - // First collect stats we want to display - std::vector stats_to_display; + if (count == 0) { + return; + } + // Stack buffer sized to actual active count (up to 256 components), heap fallback for larger + SmallBufferWithHeapFallback<256, Component *> buffer(count); + Component **sorted = buffer.get(); + + // Second pass: fill buffer with active components + size_t idx = 0; for (const auto &it : this->component_stats_) { - Component *component = it.first; - const ComponentRuntimeStats &stats = it.second; - if (stats.get_period_count() > 0) { - ComponentStatPair pair = {component, &stats}; - stats_to_display.push_back(pair); + if (it.second.get_period_count() > 0) { + sorted[idx++] = it.first; } } // Sort by period runtime (descending) - std::sort(stats_to_display.begin(), stats_to_display.end(), std::greater()); + std::sort(sorted, sorted + count, [this](Component *a, Component *b) { + return this->component_stats_[a].get_period_time_ms() > this->component_stats_[b].get_period_time_ms(); + }); // Log top components by period runtime - for (const auto &it : stats_to_display) { + for (size_t i = 0; i < count; i++) { + const auto &stats = this->component_stats_[sorted[i]]; ESP_LOGI(TAG, " %s: count=%" PRIu32 ", avg=%.2fms, max=%" PRIu32 "ms, total=%" PRIu32 "ms", - LOG_STR_ARG(it.component->get_component_log_str()), it.stats->get_period_count(), - it.stats->get_period_avg_time_ms(), it.stats->get_period_max_time_ms(), it.stats->get_period_time_ms()); + LOG_STR_ARG(sorted[i]->get_component_log_str()), stats.get_period_count(), stats.get_period_avg_time_ms(), + stats.get_period_max_time_ms(), stats.get_period_time_ms()); } - // Log total stats since boot - ESP_LOGI(TAG, " Total stats (since boot):"); + // Log total stats since boot (only for active components - idle ones haven't changed) + ESP_LOGI(TAG, " Total stats (since boot): %zu active components", count); // Re-sort by total runtime for all-time stats - std::sort(stats_to_display.begin(), stats_to_display.end(), - [](const ComponentStatPair &a, const ComponentStatPair &b) { - return a.stats->get_total_time_ms() > b.stats->get_total_time_ms(); - }); + std::sort(sorted, sorted + count, [this](Component *a, Component *b) { + return this->component_stats_[a].get_total_time_ms() > this->component_stats_[b].get_total_time_ms(); + }); - for (const auto &it : stats_to_display) { + for (size_t i = 0; i < count; i++) { + const auto &stats = this->component_stats_[sorted[i]]; ESP_LOGI(TAG, " %s: count=%" PRIu32 ", avg=%.2fms, max=%" PRIu32 "ms, total=%" PRIu32 "ms", - LOG_STR_ARG(it.component->get_component_log_str()), it.stats->get_total_count(), - it.stats->get_total_avg_time_ms(), it.stats->get_total_max_time_ms(), it.stats->get_total_time_ms()); + LOG_STR_ARG(sorted[i]->get_component_log_str()), stats.get_total_count(), stats.get_total_avg_time_ms(), + stats.get_total_max_time_ms(), stats.get_total_time_ms()); } } diff --git a/esphome/components/runtime_stats/runtime_stats.h b/esphome/components/runtime_stats/runtime_stats.h index 56122364c2..c7fea7474b 100644 --- a/esphome/components/runtime_stats/runtime_stats.h +++ b/esphome/components/runtime_stats/runtime_stats.h @@ -5,7 +5,6 @@ #ifdef USE_RUNTIME_STATS #include -#include #include #include #include "esphome/core/helpers.h" @@ -77,17 +76,6 @@ class ComponentRuntimeStats { uint32_t total_max_time_ms_; }; -// For sorting components by run time -struct ComponentStatPair { - Component *component; - const ComponentRuntimeStats *stats; - - bool operator>(const ComponentStatPair &other) const { - // Sort by period time as that's what we're displaying in the logs - return stats->get_period_time_ms() > other.stats->get_period_time_ms(); - } -}; - class RuntimeStatsCollector { public: RuntimeStatsCollector(); diff --git a/esphome/components/select/__init__.py b/esphome/components/select/__init__.py index 7c50fe02c0..84ad591ba1 100644 --- a/esphome/components/select/__init__.py +++ b/esphome/components/select/__init__.py @@ -8,17 +8,20 @@ from esphome.const import ( CONF_ICON, CONF_ID, CONF_INDEX, + CONF_LAMBDA, CONF_MODE, CONF_MQTT_ID, CONF_ON_VALUE, CONF_OPERATION, CONF_OPTION, + CONF_OPTIONS, CONF_TRIGGER_ID, CONF_WEB_SERVER, ) -from esphome.core import CORE, CoroPriority, coroutine_with_priority +from esphome.core import CORE, ID, CoroPriority, coroutine_with_priority from esphome.core.entity_helpers import entity_duplicate_validator, setup_entity -from esphome.cpp_generator import MockObjClass +from esphome.cpp_generator import MockObjClass, TemplateArguments +from esphome.cpp_types import global_ns CODEOWNERS = ["@esphome/core"] IS_PLATFORM_COMPONENT = True @@ -30,7 +33,7 @@ SelectPtr = Select.operator("ptr") # Triggers SelectStateTrigger = select_ns.class_( "SelectStateTrigger", - automation.Trigger.template(cg.std_string, cg.size_t), + automation.Trigger.template(cg.StringRef, cg.size_t), ) # Actions @@ -38,6 +41,9 @@ SelectSetAction = select_ns.class_("SelectSetAction", automation.Action) SelectSetIndexAction = select_ns.class_("SelectSetIndexAction", automation.Action) SelectOperationAction = select_ns.class_("SelectOperationAction", automation.Action) +# Conditions +SelectIsCondition = select_ns.class_("SelectIsCondition", automation.Condition) + # Enums SelectOperation = select_ns.enum("SelectOperation") SELECT_OPERATION_OPTIONS = { @@ -94,7 +100,7 @@ async def setup_select_core_(var, config, *, options: list[str]): for conf in config.get(CONF_ON_VALUE, []): trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var) await automation.build_automation( - trigger, [(cg.std_string, "x"), (cg.size_t, "i")], conf + trigger, [(cg.StringRef, "x"), (cg.size_t, "i")], conf ) if (mqtt_id := config.get(CONF_MQTT_ID)) is not None: @@ -165,6 +171,41 @@ async def select_set_index_to_code(config, action_id, template_arg, args): return var +@automation.register_condition( + "select.is", + SelectIsCondition, + OPERATION_BASE_SCHEMA.extend( + { + cv.Optional(CONF_OPTIONS): cv.All( + cv.ensure_list(cv.string_strict), cv.Length(min=1) + ), + cv.Optional(CONF_LAMBDA): cv.returning_lambda, + } + ).add_extra(cv.has_exactly_one_key(CONF_OPTIONS, CONF_LAMBDA)), +) +async def select_is_to_code(config, condition_id, template_arg, args): + paren = await cg.get_variable(config[CONF_ID]) + if options := config.get(CONF_OPTIONS): + # List of constant options + # Create a constexpr and pass that with a template length + arr_id = ID( + f"{condition_id}_data", + is_declaration=True, + type=global_ns.namespace("constexpr char * const"), + ) + arg = cg.static_const_array(arr_id, cg.ArrayInitializer(*options)) + template_arg = TemplateArguments(len(options), *template_arg) + else: + # Lambda + arg = await cg.process_lambda( + config[CONF_LAMBDA], + [(global_ns.namespace("StringRef &").operator("const"), "current")] + args, + return_type=cg.bool_, + ) + template_arg = TemplateArguments(0, *template_arg) + return cg.new_Pvariable(condition_id, template_arg, paren, arg) + + @automation.register_action( "select.operation", SelectOperationAction, diff --git a/esphome/components/select/automation.h b/esphome/components/select/automation.h index dda5403557..ffdabd5f7c 100644 --- a/esphome/components/select/automation.h +++ b/esphome/components/select/automation.h @@ -6,11 +6,11 @@ namespace esphome::select { -class SelectStateTrigger : public Trigger { +class SelectStateTrigger : public Trigger { public: explicit SelectStateTrigger(Select *parent) : parent_(parent) { parent->add_on_state_callback( - [this](size_t index) { this->trigger(std::string(this->parent_->option_at(index)), index); }); + [this](size_t index) { this->trigger(StringRef(this->parent_->option_at(index)), index); }); } protected: @@ -66,4 +66,34 @@ template class SelectOperationAction : public Action { Select *select_; }; +template class SelectIsCondition : public Condition { + public: + SelectIsCondition(Select *parent, const char *const *option_list) : parent_(parent), option_list_(option_list) {} + + bool check(const Ts &...x) override { + auto current = this->parent_->current_option(); + for (size_t i = 0; i != N; i++) { + if (current == this->option_list_[i]) { + return true; + } + } + return false; + } + + protected: + Select *parent_; + const char *const *option_list_; +}; + +template class SelectIsCondition<0, Ts...> : public Condition { + public: + SelectIsCondition(Select *parent, std::function &&f) + : parent_(parent), f_(f) {} + + bool check(const Ts &...x) override { return this->f_(this->parent_->current_option(), x...); } + + protected: + Select *parent_; + std::function f_; +}; } // namespace esphome::select diff --git a/esphome/components/select/select.h b/esphome/components/select/select.h index 8b05487704..c91acd1e19 100644 --- a/esphome/components/select/select.h +++ b/esphome/components/select/select.h @@ -12,9 +12,7 @@ namespace esphome::select { #define LOG_SELECT(prefix, type, obj) \ if ((obj) != nullptr) { \ ESP_LOGCONFIG(TAG, "%s%s '%s'", prefix, LOG_STR_LITERAL(type), (obj)->get_name().c_str()); \ - if (!(obj)->get_icon_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Icon: '%s'", prefix, (obj)->get_icon_ref().c_str()); \ - } \ + LOG_ENTITY_ICON(TAG, prefix, *(obj)); \ } #define SUB_SELECT(name) \ diff --git a/esphome/components/sen5x/sen5x.cpp b/esphome/components/sen5x/sen5x.cpp index d5c9dfa3ae..fc4932d867 100644 --- a/esphome/components/sen5x/sen5x.cpp +++ b/esphome/components/sen5x/sen5x.cpp @@ -30,6 +30,19 @@ static const int8_t SEN5X_INDEX_SCALE_FACTOR = 10; // static const int8_t SEN5X_MIN_INDEX_VALUE = 1 * SEN5X_INDEX_SCALE_FACTOR; // must be adjusted by the scale factor static const int16_t SEN5X_MAX_INDEX_VALUE = 500 * SEN5X_INDEX_SCALE_FACTOR; // must be adjusted by the scale factor +static const LogString *type_to_string(Sen5xType type) { + switch (type) { + case Sen5xType::SEN50: + return LOG_STR("SEN50"); + case Sen5xType::SEN54: + return LOG_STR("SEN54"); + case Sen5xType::SEN55: + return LOG_STR("SEN55"); + default: + return LOG_STR("UNKNOWN"); + } +} + static const LogString *rht_accel_mode_to_string(RhtAccelerationMode mode) { switch (mode) { case LOW_ACCELERATION: @@ -43,6 +56,15 @@ static const LogString *rht_accel_mode_to_string(RhtAccelerationMode mode) { } } +// This function performs an in-place conversion of the provided buffer +// from uint16_t values to big endianness +static inline const char *sensirion_convert_to_string_in_place(uint16_t *array, size_t length) { + for (size_t i = 0; i < length; i++) { + array[i] = convert_big_endian(array[i]); + } + return reinterpret_cast(array); +} + void SEN5XComponent::setup() { // the sensor needs 1000 ms to enter the idle state this->set_timeout(1000, [this]() { @@ -75,18 +97,18 @@ void SEN5XComponent::setup() { stop_measurement_delay = 200; } this->set_timeout(stop_measurement_delay, [this]() { - uint16_t raw_serial_number[3]; - if (!this->get_register(SEN5X_CMD_GET_SERIAL_NUMBER, raw_serial_number, 3, 20)) { + // note: serial number register is actually 32-bytes long but we grab only the first 16-bytes, + // this appears to be all that Sensirion uses for serial numbers, this could change + uint16_t raw_serial_number[8]; + if (!this->get_register(SEN5X_CMD_GET_SERIAL_NUMBER, raw_serial_number, 8, 20)) { ESP_LOGE(TAG, "Failed to read serial number"); this->error_code_ = SERIAL_NUMBER_IDENTIFICATION_FAILED; this->mark_failed(); return; } - this->serial_number_[0] = static_cast(uint16_t(raw_serial_number[0]) & 0xFF); - this->serial_number_[1] = static_cast(raw_serial_number[0] & 0xFF); - this->serial_number_[2] = static_cast(raw_serial_number[1] >> 8); - ESP_LOGV(TAG, "Serial number %02d.%02d.%02d", this->serial_number_[0], this->serial_number_[1], - this->serial_number_[2]); + const char *serial_number = sensirion_convert_to_string_in_place(raw_serial_number, 8); + snprintf(this->serial_number_, sizeof(this->serial_number_), "%s", serial_number); + ESP_LOGV(TAG, "Serial number %s", this->serial_number_); uint16_t raw_product_name[16]; if (!this->get_register(SEN5X_CMD_GET_PRODUCT_NAME, raw_product_name, 16, 20)) { @@ -95,50 +117,35 @@ void SEN5XComponent::setup() { this->mark_failed(); return; } - // 2 ASCII bytes are encoded in an int - const uint16_t *current_int = raw_product_name; - char current_char; - uint8_t max = 16; - do { - // first char - current_char = *current_int >> 8; - if (current_char) { - this->product_name_.push_back(current_char); - // second char - current_char = *current_int & 0xFF; - if (current_char) { - this->product_name_.push_back(current_char); - } - } - current_int++; - } while (current_char && --max); - - Sen5xType sen5x_type = UNKNOWN; - if (this->product_name_ == "SEN50") { - sen5x_type = SEN50; + const char *product_name = sensirion_convert_to_string_in_place(raw_product_name, 16); + if (strncmp(product_name, "SEN50", 5) == 0) { + this->type_ = Sen5xType::SEN50; + } else if (strncmp(product_name, "SEN54", 5) == 0) { + this->type_ = Sen5xType::SEN54; + } else if (strncmp(product_name, "SEN55", 5) == 0) { + this->type_ = Sen5xType::SEN55; } else { - if (this->product_name_ == "SEN54") { - sen5x_type = SEN54; - } else { - if (this->product_name_ == "SEN55") { - sen5x_type = SEN55; - } - } - ESP_LOGD(TAG, "Product name: %s", this->product_name_.c_str()); + this->type_ = Sen5xType::UNKNOWN; + ESP_LOGE(TAG, "Unknown product name: %.32s", product_name); + this->error_code_ = PRODUCT_NAME_FAILED; + this->mark_failed(); + return; } - if (this->humidity_sensor_ && sen5x_type == SEN50) { + + ESP_LOGD(TAG, "Type: %s", LOG_STR_ARG(type_to_string(this->type_))); + if (this->humidity_sensor_ && this->type_ == Sen5xType::SEN50) { ESP_LOGE(TAG, "Relative humidity requires a SEN54 or SEN55"); this->humidity_sensor_ = nullptr; // mark as not used } - if (this->temperature_sensor_ && sen5x_type == SEN50) { + if (this->temperature_sensor_ && this->type_ == Sen5xType::SEN50) { ESP_LOGE(TAG, "Temperature requires a SEN54 or SEN55"); this->temperature_sensor_ = nullptr; // mark as not used } - if (this->voc_sensor_ && sen5x_type == SEN50) { + if (this->voc_sensor_ && this->type_ == Sen5xType::SEN50) { ESP_LOGE(TAG, "VOC requires a SEN54 or SEN55"); this->voc_sensor_ = nullptr; // mark as not used } - if (this->nox_sensor_ && sen5x_type != SEN55) { + if (this->nox_sensor_ && this->type_ != Sen5xType::SEN55) { ESP_LOGE(TAG, "NOx requires a SEN55"); this->nox_sensor_ = nullptr; // mark as not used } @@ -153,43 +160,25 @@ void SEN5XComponent::setup() { ESP_LOGV(TAG, "Firmware version %d", this->firmware_version_); if (this->voc_sensor_ && this->store_baseline_) { - uint32_t combined_serial = - encode_uint24(this->serial_number_[0], this->serial_number_[1], this->serial_number_[2]); - // Hash with config hash, version, and serial number - // This ensures the baseline storage is cleared after OTA - // Serial numbers are unique to each sensor, so multiple sensors can be used without conflict - uint32_t hash = fnv1a_hash_extend(App.get_config_version_hash(), combined_serial); - this->pref_ = global_preferences->make_preference(hash, true); - - if (this->pref_.load(&this->voc_baselines_storage_)) { - ESP_LOGI(TAG, "Loaded VOC baseline state0: 0x%04" PRIX32 ", state1: 0x%04" PRIX32, - this->voc_baselines_storage_.state0, this->voc_baselines_storage_.state1); - } - - // Initialize storage timestamp - this->seconds_since_last_store_ = 0; - - if (this->voc_baselines_storage_.state0 > 0 && this->voc_baselines_storage_.state1 > 0) { - ESP_LOGI(TAG, "Setting VOC baseline from save state0: 0x%04" PRIX32 ", state1: 0x%04" PRIX32, - this->voc_baselines_storage_.state0, this->voc_baselines_storage_.state1); - uint16_t states[4]; - - states[0] = this->voc_baselines_storage_.state0 >> 16; - states[1] = this->voc_baselines_storage_.state0 & 0xFFFF; - states[2] = this->voc_baselines_storage_.state1 >> 16; - states[3] = this->voc_baselines_storage_.state1 & 0xFFFF; - - if (!this->write_command(SEN5X_CMD_VOC_ALGORITHM_STATE, states, 4)) { - ESP_LOGE(TAG, "Failed to set VOC baseline from saved state"); + // Hash with serial number, serial numbers are unique, so multiple sensors can be used without conflict + uint32_t hash = fnv1a_hash(this->serial_number_); + this->pref_ = global_preferences->make_preference(hash, true); + this->voc_baseline_time_ = App.get_loop_component_start_time(); + if (this->pref_.load(&this->voc_baseline_state_)) { + if (!this->write_command(SEN5X_CMD_VOC_ALGORITHM_STATE, this->voc_baseline_state_, 4)) { + ESP_LOGE(TAG, "VOC Baseline State write to sensor failed"); + } else { + ESP_LOGV(TAG, "VOC Baseline State loaded"); + delay(20); } } } bool result; if (this->auto_cleaning_interval_.has_value()) { // override default value - result = write_command(SEN5X_CMD_AUTO_CLEANING_INTERVAL, this->auto_cleaning_interval_.value()); + result = this->write_command(SEN5X_CMD_AUTO_CLEANING_INTERVAL, this->auto_cleaning_interval_.value()); } else { - result = write_command(SEN5X_CMD_AUTO_CLEANING_INTERVAL); + result = this->write_command(SEN5X_CMD_AUTO_CLEANING_INTERVAL); } if (result) { delay(20); @@ -276,11 +265,10 @@ void SEN5XComponent::dump_config() { } } ESP_LOGCONFIG(TAG, - " Product name: %s\n" + " Type: %s\n" " Firmware version: %d\n" - " Serial number %02d.%02d.%02d", - this->product_name_.c_str(), this->firmware_version_, this->serial_number_[0], this->serial_number_[1], - this->serial_number_[2]); + " Serial number: %s", + LOG_STR_ARG(type_to_string(this->type_)), this->firmware_version_, this->serial_number_); if (this->auto_cleaning_interval_.has_value()) { ESP_LOGCONFIG(TAG, " Auto cleaning interval: %" PRId32 "s", this->auto_cleaning_interval_.value()); } @@ -288,6 +276,14 @@ void SEN5XComponent::dump_config() { ESP_LOGCONFIG(TAG, " RH/T acceleration mode: %s", LOG_STR_ARG(rht_accel_mode_to_string(this->acceleration_mode_.value()))); } + if (this->voc_sensor_) { + char hex_buf[5 * 4]; + format_hex_pretty_to(hex_buf, this->voc_baseline_state_, 4, 0); + ESP_LOGCONFIG(TAG, + " Store Baseline: %s\n" + " State: %s\n", + TRUEFALSE(this->store_baseline_), hex_buf); + } LOG_UPDATE_INTERVAL(this); LOG_SENSOR(" ", "PM 1.0", this->pm_1_0_sensor_); LOG_SENSOR(" ", "PM 2.5", this->pm_2_5_sensor_); @@ -304,36 +300,6 @@ void SEN5XComponent::update() { return; } - // Store baselines after defined interval or if the difference between current and stored baseline becomes too - // much - if (this->store_baseline_ && this->seconds_since_last_store_ > SHORTEST_BASELINE_STORE_INTERVAL) { - if (this->write_command(SEN5X_CMD_VOC_ALGORITHM_STATE)) { - // run it a bit later to avoid adding a delay here - this->set_timeout(550, [this]() { - uint16_t states[4]; - if (this->read_data(states, 4)) { - uint32_t state0 = states[0] << 16 | states[1]; - uint32_t state1 = states[2] << 16 | states[3]; - if ((uint32_t) std::abs(static_cast(this->voc_baselines_storage_.state0 - state0)) > - MAXIMUM_STORAGE_DIFF || - (uint32_t) std::abs(static_cast(this->voc_baselines_storage_.state1 - state1)) > - MAXIMUM_STORAGE_DIFF) { - this->seconds_since_last_store_ = 0; - this->voc_baselines_storage_.state0 = state0; - this->voc_baselines_storage_.state1 = state1; - - if (this->pref_.save(&this->voc_baselines_storage_)) { - ESP_LOGI(TAG, "Stored VOC baseline state0: 0x%04" PRIX32 ", state1: 0x%04" PRIX32, - this->voc_baselines_storage_.state0, this->voc_baselines_storage_.state1); - } else { - ESP_LOGW(TAG, "Could not store VOC baselines"); - } - } - } - }); - } - } - if (!this->write_command(SEN5X_CMD_READ_MEASUREMENT)) { this->status_set_warning(); ESP_LOGD(TAG, "Write error: read measurement (%d)", this->last_error_); @@ -402,7 +368,29 @@ void SEN5XComponent::update() { if (this->nox_sensor_ != nullptr) { this->nox_sensor_->publish_state(nox); } - this->status_clear_warning(); + + if (!this->voc_sensor_ || !this->store_baseline_ || + (App.get_loop_component_start_time() - this->voc_baseline_time_) < SHORTEST_BASELINE_STORE_INTERVAL) { + this->status_clear_warning(); + } else { + this->voc_baseline_time_ = App.get_loop_component_start_time(); + if (!this->write_command(SEN5X_CMD_VOC_ALGORITHM_STATE)) { + this->status_set_warning(); + ESP_LOGW(TAG, ESP_LOG_MSG_COMM_FAIL); + } else { + this->set_timeout(20, [this]() { + if (!this->read_data(this->voc_baseline_state_, 4)) { + this->status_set_warning(); + ESP_LOGW(TAG, ESP_LOG_MSG_COMM_FAIL); + } else { + if (this->pref_.save(&this->voc_baseline_state_)) { + ESP_LOGD(TAG, "VOC Baseline State saved"); + } + this->status_clear_warning(); + } + }); + } + } }); } diff --git a/esphome/components/sen5x/sen5x.h b/esphome/components/sen5x/sen5x.h index 9e5b6bf231..e3bf931b41 100644 --- a/esphome/components/sen5x/sen5x.h +++ b/esphome/components/sen5x/sen5x.h @@ -24,10 +24,7 @@ enum RhtAccelerationMode : uint16_t { HIGH_ACCELERATION = 2, }; -struct Sen5xBaselines { - int32_t state0; - int32_t state1; -} PACKED; // NOLINT +enum class Sen5xType : uint8_t { SEN50, SEN54, SEN55, UNKNOWN }; struct GasTuning { uint16_t index_offset; @@ -44,11 +41,9 @@ struct TemperatureCompensation { uint16_t time_constant; }; -// Shortest time interval of 3H for storing baseline values. +// Shortest time interval of 2H (in milliseconds) for storing baseline values. // Prevents wear of the flash because of too many write operations -static const uint32_t SHORTEST_BASELINE_STORE_INTERVAL = 10800; -// Store anyway if the baseline difference exceeds the max storage diff value -static const uint32_t MAXIMUM_STORAGE_DIFF = 50; +static const uint32_t SHORTEST_BASELINE_STORE_INTERVAL = 2 * 60 * 60 * 1000; class SEN5XComponent : public PollingComponent, public sensirion_common::SensirionI2CDevice { public: @@ -56,20 +51,20 @@ class SEN5XComponent : public PollingComponent, public sensirion_common::Sensiri void dump_config() override; void update() override; - enum Sen5xType { SEN50, SEN54, SEN55, UNKNOWN }; + void set_pm_1_0_sensor(sensor::Sensor *pm_1_0) { this->pm_1_0_sensor_ = pm_1_0; } + void set_pm_2_5_sensor(sensor::Sensor *pm_2_5) { this->pm_2_5_sensor_ = pm_2_5; } + void set_pm_4_0_sensor(sensor::Sensor *pm_4_0) { this->pm_4_0_sensor_ = pm_4_0; } + void set_pm_10_0_sensor(sensor::Sensor *pm_10_0) { this->pm_10_0_sensor_ = pm_10_0; } - void set_pm_1_0_sensor(sensor::Sensor *pm_1_0) { pm_1_0_sensor_ = pm_1_0; } - void set_pm_2_5_sensor(sensor::Sensor *pm_2_5) { pm_2_5_sensor_ = pm_2_5; } - void set_pm_4_0_sensor(sensor::Sensor *pm_4_0) { pm_4_0_sensor_ = pm_4_0; } - void set_pm_10_0_sensor(sensor::Sensor *pm_10_0) { pm_10_0_sensor_ = pm_10_0; } - - void set_voc_sensor(sensor::Sensor *voc_sensor) { voc_sensor_ = voc_sensor; } - void set_nox_sensor(sensor::Sensor *nox_sensor) { nox_sensor_ = nox_sensor; } - void set_humidity_sensor(sensor::Sensor *humidity_sensor) { humidity_sensor_ = humidity_sensor; } - void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; } - void set_store_baseline(bool store_baseline) { store_baseline_ = store_baseline; } - void set_acceleration_mode(RhtAccelerationMode mode) { acceleration_mode_ = mode; } - void set_auto_cleaning_interval(uint32_t auto_cleaning_interval) { auto_cleaning_interval_ = auto_cleaning_interval; } + void set_voc_sensor(sensor::Sensor *voc_sensor) { this->voc_sensor_ = voc_sensor; } + void set_nox_sensor(sensor::Sensor *nox_sensor) { this->nox_sensor_ = nox_sensor; } + void set_humidity_sensor(sensor::Sensor *humidity_sensor) { this->humidity_sensor_ = humidity_sensor; } + void set_temperature_sensor(sensor::Sensor *temperature_sensor) { this->temperature_sensor_ = temperature_sensor; } + void set_store_baseline(bool store_baseline) { this->store_baseline_ = store_baseline; } + void set_acceleration_mode(RhtAccelerationMode mode) { this->acceleration_mode_ = mode; } + void set_auto_cleaning_interval(uint32_t auto_cleaning_interval) { + this->auto_cleaning_interval_ = auto_cleaning_interval; + } void set_voc_algorithm_tuning(uint16_t index_offset, uint16_t learning_time_offset_hours, uint16_t learning_time_gain_hours, uint16_t gating_max_duration_minutes, uint16_t std_initial, uint16_t gain_factor) { @@ -80,7 +75,7 @@ class SEN5XComponent : public PollingComponent, public sensirion_common::Sensiri tuning_params.gating_max_duration_minutes = gating_max_duration_minutes; tuning_params.std_initial = std_initial; tuning_params.gain_factor = gain_factor; - voc_tuning_params_ = tuning_params; + this->voc_tuning_params_ = tuning_params; } void set_nox_algorithm_tuning(uint16_t index_offset, uint16_t learning_time_offset_hours, uint16_t learning_time_gain_hours, uint16_t gating_max_duration_minutes, @@ -92,14 +87,14 @@ class SEN5XComponent : public PollingComponent, public sensirion_common::Sensiri tuning_params.gating_max_duration_minutes = gating_max_duration_minutes; tuning_params.std_initial = 50; tuning_params.gain_factor = gain_factor; - nox_tuning_params_ = tuning_params; + this->nox_tuning_params_ = tuning_params; } void set_temperature_compensation(float offset, float normalized_offset_slope, uint16_t time_constant) { TemperatureCompensation temp_comp; temp_comp.offset = offset * 200; temp_comp.normalized_offset_slope = normalized_offset_slope * 10000; temp_comp.time_constant = time_constant; - temperature_compensation_ = temp_comp; + this->temperature_compensation_ = temp_comp; } bool start_fan_cleaning(); @@ -107,10 +102,12 @@ class SEN5XComponent : public PollingComponent, public sensirion_common::Sensiri bool write_tuning_parameters_(uint16_t i2c_command, const GasTuning &tuning); bool write_temperature_compensation_(const TemperatureCompensation &compensation); - uint32_t seconds_since_last_store_; + char serial_number_[17] = "UNKNOWN"; + uint16_t voc_baseline_state_[4]{0}; + uint32_t voc_baseline_time_; uint16_t firmware_version_; + Sen5xType type_{Sen5xType::UNKNOWN}; ERRORCODE error_code_; - uint8_t serial_number_[4]; bool initialized_{false}; bool store_baseline_; @@ -131,8 +128,6 @@ class SEN5XComponent : public PollingComponent, public sensirion_common::Sensiri optional nox_tuning_params_; optional temperature_compensation_; ESPPreferenceObject pref_; - std::string product_name_; - Sen5xBaselines voc_baselines_storage_; }; } // namespace sen5x diff --git a/esphome/components/sen5x/sensor.py b/esphome/components/sen5x/sensor.py index 9c3114b9e2..538a2f5239 100644 --- a/esphome/components/sen5x/sensor.py +++ b/esphome/components/sen5x/sensor.py @@ -210,6 +210,7 @@ SENSOR_MAP = { SETTING_MAP = { CONF_AUTO_CLEANING_INTERVAL: "set_auto_cleaning_interval", CONF_ACCELERATION_MODE: "set_acceleration_mode", + CONF_STORE_BASELINE: "set_store_baseline", } diff --git a/esphome/components/sensirion_common/i2c_sensirion.cpp b/esphome/components/sensirion_common/i2c_sensirion.cpp index 9eac6b4525..26702c148c 100644 --- a/esphome/components/sensirion_common/i2c_sensirion.cpp +++ b/esphome/components/sensirion_common/i2c_sensirion.cpp @@ -39,42 +39,23 @@ bool SensirionI2CDevice::read_data(uint16_t *data, const uint8_t len) { */ bool SensirionI2CDevice::write_command_(uint16_t command, CommandLen command_len, const uint16_t *data, const uint8_t data_len) { - uint8_t temp_stack[BUFFER_STACK_SIZE]; - std::unique_ptr temp_heap; - uint8_t *temp; size_t required_buffer_len = data_len * 3 + 2; - - // Is a dynamic allocation required ? - if (required_buffer_len >= BUFFER_STACK_SIZE) { - temp_heap = std::unique_ptr(new uint8_t[required_buffer_len]); - temp = temp_heap.get(); - } else { - temp = temp_stack; - } + SmallBufferWithHeapFallback buffer(required_buffer_len); + uint8_t *temp = buffer.get(); // First byte or word is the command uint8_t raw_idx = 0; if (command_len == 1) { temp[raw_idx++] = command & 0xFF; } else { // command is 2 bytes -#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ temp[raw_idx++] = command >> 8; temp[raw_idx++] = command & 0xFF; -#else - temp[raw_idx++] = command & 0xFF; - temp[raw_idx++] = command >> 8; -#endif } // add parameters followed by crc // skipped if len == 0 for (size_t i = 0; i < data_len; i++) { -#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ temp[raw_idx++] = data[i] >> 8; temp[raw_idx++] = data[i] & 0xFF; -#else - temp[raw_idx++] = data[i] & 0xFF; - temp[raw_idx++] = data[i] >> 8; -#endif // Use MSB first since Sensirion devices use CRC-8 with MSB first uint8_t crc = crc8(&temp[raw_idx - 2], 2, 0xFF, CRC_POLYNOMIAL, true); temp[raw_idx++] = crc; diff --git a/esphome/components/sensor/__init__.py b/esphome/components/sensor/__init__.py index 2ac45a55ac..ebbe0fbccc 100644 --- a/esphome/components/sensor/__init__.py +++ b/esphome/components/sensor/__init__.py @@ -9,6 +9,7 @@ from esphome.const import ( CONF_ABOVE, CONF_ACCURACY_DECIMALS, CONF_ALPHA, + CONF_BASELINE, CONF_BELOW, CONF_CALIBRATION, CONF_DEVICE_CLASS, @@ -38,7 +39,6 @@ from esphome.const import ( CONF_TIMEOUT, CONF_TO, CONF_TRIGGER_ID, - CONF_TYPE, CONF_UNIT_OF_MEASUREMENT, CONF_VALUE, CONF_WEB_SERVER, @@ -107,7 +107,7 @@ from esphome.const import ( ) from esphome.core import CORE, CoroPriority, coroutine_with_priority from esphome.core.entity_helpers import entity_duplicate_validator, setup_entity -from esphome.cpp_generator import MockObjClass +from esphome.cpp_generator import MockObj, MockObjClass from esphome.util import Registry CODEOWNERS = ["@esphome/core"] @@ -574,38 +574,56 @@ async def lambda_filter_to_code(config, filter_id): return automation.new_lambda_pvariable(filter_id, lambda_, StatelessLambdaFilter) -DELTA_SCHEMA = cv.Schema( - { - cv.Required(CONF_VALUE): cv.positive_float, - cv.Optional(CONF_TYPE, default="absolute"): cv.one_of( - "absolute", "percentage", lower=True - ), - } +def validate_delta_value(value): + if isinstance(value, str) and value.endswith("%"): + # Check it's a well-formed percentage, but return the string as-is + try: + cv.positive_float(value[:-1]) + return value + except cv.Invalid as exc: + raise cv.Invalid("Malformed delta % value") from exc + return cv.positive_float(value) + + +# This ideally would be done with `cv.maybe_simple_value` but it doesn't seem to respect the default for min_value. +DELTA_SCHEMA = cv.Any( + cv.All( + { + # Ideally this would be 'default=float("inf")' but it doesn't translate well to C++ + cv.Optional(CONF_MAX_VALUE): validate_delta_value, + cv.Optional(CONF_MIN_VALUE, default="0.0"): validate_delta_value, + cv.Optional(CONF_BASELINE): cv.templatable(cv.float_), + }, + cv.has_at_least_one_key(CONF_MAX_VALUE, CONF_MIN_VALUE), + ), + validate_delta_value, ) -def validate_delta(config): - try: - value = cv.positive_float(config) - return DELTA_SCHEMA({CONF_VALUE: value, CONF_TYPE: "absolute"}) - except cv.Invalid: - pass - try: - value = cv.percentage(config) - return DELTA_SCHEMA({CONF_VALUE: value, CONF_TYPE: "percentage"}) - except cv.Invalid: - pass - raise cv.Invalid("Delta filter requires a positive number or percentage value.") +def _get_delta(value): + if isinstance(value, str): + assert value.endswith("%") + return 0.0, float(value[:-1]) + return value, 0.0 -@FILTER_REGISTRY.register("delta", DeltaFilter, cv.Any(DELTA_SCHEMA, validate_delta)) +@FILTER_REGISTRY.register("delta", DeltaFilter, DELTA_SCHEMA) async def delta_filter_to_code(config, filter_id): - percentage = config[CONF_TYPE] == "percentage" - return cg.new_Pvariable( - filter_id, - config[CONF_VALUE], - percentage, - ) + # The config could be just the min_value, or it could be a dict. + max = MockObj("std::numeric_limits::infinity()"), 0 + if isinstance(config, dict): + min = _get_delta(config[CONF_MIN_VALUE]) + if CONF_MAX_VALUE in config: + max = _get_delta(config[CONF_MAX_VALUE]) + else: + min = _get_delta(config) + var = cg.new_Pvariable(filter_id, *min, *max) + if isinstance(config, dict) and (baseline_lambda := config.get(CONF_BASELINE)): + baseline = await cg.process_lambda( + baseline_lambda, [(float, "x")], return_type=float + ) + cg.add(var.set_baseline(baseline)) + return var @FILTER_REGISTRY.register("or", OrFilter, validate_filters) diff --git a/esphome/components/sensor/automation.h b/esphome/components/sensor/automation.h index 996c7fc9b5..b4de712727 100644 --- a/esphome/components/sensor/automation.h +++ b/esphome/components/sensor/automation.h @@ -39,7 +39,7 @@ class ValueRangeTrigger : public Trigger, public Component { template void set_max(V max) { this->max_ = max; } void setup() override { - this->rtc_ = global_preferences->make_preference(this->parent_->get_preference_hash()); + this->rtc_ = this->parent_->make_entity_preference(); bool initial_state; if (this->rtc_.load(&initial_state)) { this->previous_in_range_ = initial_state; diff --git a/esphome/components/sensor/filter.cpp b/esphome/components/sensor/filter.cpp index 8450ec4c4e..375505a557 100644 --- a/esphome/components/sensor/filter.cpp +++ b/esphome/components/sensor/filter.cpp @@ -291,22 +291,27 @@ optional ThrottleWithPriorityFilter::new_value(float value) { } // DeltaFilter -DeltaFilter::DeltaFilter(float delta, bool percentage_mode) - : delta_(delta), current_delta_(delta), last_value_(NAN), percentage_mode_(percentage_mode) {} +DeltaFilter::DeltaFilter(float min_a0, float min_a1, float max_a0, float max_a1) + : min_a0_(min_a0), min_a1_(min_a1), max_a0_(max_a0), max_a1_(max_a1) {} + +void DeltaFilter::set_baseline(float (*fn)(float)) { this->baseline_ = fn; } + optional DeltaFilter::new_value(float value) { - if (std::isnan(value)) { - if (std::isnan(this->last_value_)) { - return {}; - } else { - return this->last_value_ = value; - } + // Always yield the first value. + if (std::isnan(this->last_value_)) { + this->last_value_ = value; + return value; } - float diff = fabsf(value - this->last_value_); - if (std::isnan(this->last_value_) || (diff > 0.0f && diff >= this->current_delta_)) { - if (this->percentage_mode_) { - this->current_delta_ = fabsf(value * this->delta_); - } - return this->last_value_ = value; + // calculate min and max using the linear equation + float ref = this->baseline_(this->last_value_); + float min = fabsf(this->min_a0_ + ref * this->min_a1_); + float max = fabsf(this->max_a0_ + ref * this->max_a1_); + float delta = fabsf(value - ref); + // if there is no reference, e.g. for the first value, just accept this one, + // otherwise accept only if within range. + if (delta > min && delta <= max) { + this->last_value_ = value; + return value; } return {}; } @@ -440,22 +445,18 @@ optional CalibratePolynomialFilter::new_value(float value) { ClampFilter::ClampFilter(float min, float max, bool ignore_out_of_range) : min_(min), max_(max), ignore_out_of_range_(ignore_out_of_range) {} optional ClampFilter::new_value(float value) { - if (std::isfinite(value)) { - if (std::isfinite(this->min_) && value < this->min_) { - if (this->ignore_out_of_range_) { - return {}; - } else { - return this->min_; - } + if (std::isfinite(this->min_) && !(value >= this->min_)) { + if (this->ignore_out_of_range_) { + return {}; } + return this->min_; + } - if (std::isfinite(this->max_) && value > this->max_) { - if (this->ignore_out_of_range_) { - return {}; - } else { - return this->max_; - } + if (std::isfinite(this->max_) && !(value <= this->max_)) { + if (this->ignore_out_of_range_) { + return {}; } + return this->max_; } return value; } diff --git a/esphome/components/sensor/filter.h b/esphome/components/sensor/filter.h index 15c7656a7b..573b916a5d 100644 --- a/esphome/components/sensor/filter.h +++ b/esphome/components/sensor/filter.h @@ -452,15 +452,21 @@ class HeartbeatFilter : public Filter, public Component { class DeltaFilter : public Filter { public: - explicit DeltaFilter(float delta, bool percentage_mode); + explicit DeltaFilter(float min_a0, float min_a1, float max_a0, float max_a1); + + void set_baseline(float (*fn)(float)); optional new_value(float value) override; protected: - float delta_; - float current_delta_; + // These values represent linear equations for the min and max values but in practice only one of a0 and a1 will be + // non-zero Each limit is calculated as fabs(a0 + value * a1) + + float min_a0_, min_a1_, max_a0_, max_a1_; + // default baseline is the previous value + float (*baseline_)(float) = [](float last_value) { return last_value; }; + float last_value_{NAN}; - bool percentage_mode_; }; class OrFilter : public Filter { diff --git a/esphome/components/sensor/sensor.cpp b/esphome/components/sensor/sensor.cpp index 9fdb7bbafd..3f2be02af2 100644 --- a/esphome/components/sensor/sensor.cpp +++ b/esphome/components/sensor/sensor.cpp @@ -22,13 +22,8 @@ void log_sensor(const char *tag, const char *prefix, const char *type, Sensor *o LOG_STR_ARG(state_class_to_string(obj->get_state_class())), prefix, obj->get_unit_of_measurement_ref().c_str(), prefix, obj->get_accuracy_decimals()); - if (!obj->get_device_class_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Device Class: '%s'", prefix, obj->get_device_class_ref().c_str()); - } - - if (!obj->get_icon_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Icon: '%s'", prefix, obj->get_icon_ref().c_str()); - } + LOG_ENTITY_DEVICE_CLASS(tag, prefix, *obj); + LOG_ENTITY_ICON(tag, prefix, *obj); if (obj->get_force_update()) { ESP_LOGV(tag, "%s Force Update: YES", prefix); diff --git a/esphome/components/shtcx/shtcx.cpp b/esphome/components/shtcx/shtcx.cpp index 933dd9bde9..aca305b88d 100644 --- a/esphome/components/shtcx/shtcx.cpp +++ b/esphome/components/shtcx/shtcx.cpp @@ -13,14 +13,14 @@ static const uint16_t SHTCX_COMMAND_READ_ID_REGISTER = 0xEFC8; static const uint16_t SHTCX_COMMAND_SOFT_RESET = 0x805D; static const uint16_t SHTCX_COMMAND_POLLING_H = 0x7866; -inline const char *to_string(SHTCXType type) { +static const LogString *shtcx_type_to_string(SHTCXType type) { switch (type) { case SHTCX_TYPE_SHTC3: - return "SHTC3"; + return LOG_STR("SHTC3"); case SHTCX_TYPE_SHTC1: - return "SHTC1"; + return LOG_STR("SHTC1"); default: - return "UNKNOWN"; + return LOG_STR("UNKNOWN"); } } @@ -52,7 +52,7 @@ void SHTCXComponent::dump_config() { ESP_LOGCONFIG(TAG, "SHTCx:\n" " Model: %s (%04x)", - to_string(this->type_), this->sensor_id_); + LOG_STR_ARG(shtcx_type_to_string(this->type_)), this->sensor_id_); LOG_I2C_DEVICE(this); if (this->is_failed()) { ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL); diff --git a/esphome/components/sim800l/sim800l.cpp b/esphome/components/sim800l/sim800l.cpp index e3edda0e72..251e18648b 100644 --- a/esphome/components/sim800l/sim800l.cpp +++ b/esphome/components/sim800l/sim800l.cpp @@ -1,4 +1,5 @@ #include "sim800l.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include @@ -50,8 +51,8 @@ void Sim800LComponent::update() { } else if (state_ == STATE_RECEIVED_SMS) { // Serial Buffer should have flushed. // Send cmd to delete received sms - char delete_cmd[20]; - sprintf(delete_cmd, "AT+CMGD=%d", this->parse_index_); + char delete_cmd[20]; // "AT+CMGD=" (8) + uint8_t (max 3) + null = 12 <= 20 + buf_append_printf(delete_cmd, sizeof(delete_cmd), 0, "AT+CMGD=%d", this->parse_index_); this->send_cmd_(delete_cmd); this->state_ = STATE_CHECK_SMS; this->expect_ack_ = true; diff --git a/esphome/components/slow_pwm/slow_pwm_output.cpp b/esphome/components/slow_pwm/slow_pwm_output.cpp index 48ded94b3a..033729c407 100644 --- a/esphome/components/slow_pwm/slow_pwm_output.cpp +++ b/esphome/components/slow_pwm/slow_pwm_output.cpp @@ -1,6 +1,7 @@ #include "slow_pwm_output.h" -#include "esphome/core/log.h" #include "esphome/core/application.h" +#include "esphome/core/gpio.h" +#include "esphome/core/log.h" namespace esphome { namespace slow_pwm { @@ -20,7 +21,9 @@ void SlowPWMOutput::set_output_state_(bool new_state) { } if (new_state != current_state_) { if (this->pin_) { - ESP_LOGV(TAG, "Switching output pin %s to %s", this->pin_->dump_summary().c_str(), ONOFF(new_state)); + char pin_summary[GPIO_SUMMARY_MAX_LEN]; + this->pin_->dump_summary(pin_summary, sizeof(pin_summary)); + ESP_LOGV(TAG, "Switching output pin %s to %s", pin_summary, ONOFF(new_state)); } else { ESP_LOGV(TAG, "Switching to %s", ONOFF(new_state)); } diff --git a/esphome/components/sml/constants.h b/esphome/components/sml/constants.h index d6761d4bb7..0142fe98f7 100644 --- a/esphome/components/sml/constants.h +++ b/esphome/components/sml/constants.h @@ -1,5 +1,6 @@ #pragma once +#include #include namespace esphome { @@ -21,7 +22,7 @@ enum SmlMessageType : uint16_t { SML_PUBLIC_OPEN_RES = 0x0101, SML_GET_LIST_RES const uint16_t START_MASK = 0x55aa; // 0x1b 1b 1b 1b 01 01 01 01 const uint16_t END_MASK = 0x0157; // 0x1b 1b 1b 1b 1a -const std::vector START_SEQ = {0x1b, 0x1b, 0x1b, 0x1b, 0x01, 0x01, 0x01, 0x01}; +constexpr std::array START_SEQ = {0x1b, 0x1b, 0x1b, 0x1b, 0x01, 0x01, 0x01, 0x01}; } // namespace sml } // namespace esphome diff --git a/esphome/components/sml/sml_parser.cpp b/esphome/components/sml/sml_parser.cpp index 85e5a2da03..16e37949dc 100644 --- a/esphome/components/sml/sml_parser.cpp +++ b/esphome/components/sml/sml_parser.cpp @@ -104,7 +104,10 @@ std::vector SmlFile::get_obis_info() { std::string bytes_repr(const BytesView &buffer) { std::string repr; for (auto const value : buffer) { - repr += str_sprintf("%02x", value & 0xff); + // max 3: 2 hex digits + null + char hex_buf[3]; + snprintf(hex_buf, sizeof(hex_buf), "%02x", static_cast(value)); + repr += hex_buf; } return repr; } @@ -146,7 +149,11 @@ ObisInfo::ObisInfo(const BytesView &server_id, const SmlNode &val_list_entry) : } std::string ObisInfo::code_repr() const { - return str_sprintf("%d-%d:%d.%d.%d", this->code[0], this->code[1], this->code[2], this->code[3], this->code[4]); + // max 20: "255-255:255.255.255" (19 chars) + null + char buf[20]; + snprintf(buf, sizeof(buf), "%d-%d:%d.%d.%d", this->code[0], this->code[1], this->code[2], this->code[3], + this->code[4]); + return buf; } } // namespace sml diff --git a/esphome/components/sn74hc165/sn74hc165.cpp b/esphome/components/sn74hc165/sn74hc165.cpp index 718e0b86ed..63b3f98521 100644 --- a/esphome/components/sn74hc165/sn74hc165.cpp +++ b/esphome/components/sn74hc165/sn74hc165.cpp @@ -65,7 +65,7 @@ float SN74HC165Component::get_setup_priority() const { return setup_priority::IO bool SN74HC165GPIOPin::digital_read() { return this->parent_->digital_read_(this->pin_) != this->inverted_; } size_t SN74HC165GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via SN74HC165", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via SN74HC165", this->pin_); } } // namespace sn74hc165 diff --git a/esphome/components/sn74hc595/sn74hc595.cpp b/esphome/components/sn74hc595/sn74hc595.cpp index 6b5c5d9fc4..1bb8c7936d 100644 --- a/esphome/components/sn74hc595/sn74hc595.cpp +++ b/esphome/components/sn74hc595/sn74hc595.cpp @@ -94,7 +94,7 @@ void SN74HC595GPIOPin::digital_write(bool value) { this->parent_->digital_write_(this->pin_, value != this->inverted_); } size_t SN74HC595GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via SN74HC595", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via SN74HC595", this->pin_); } } // namespace sn74hc595 diff --git a/esphome/components/socket/lwip_raw_tcp_impl.cpp b/esphome/components/socket/lwip_raw_tcp_impl.cpp index 429f59ceca..a9c2eda4e8 100644 --- a/esphome/components/socket/lwip_raw_tcp_impl.cpp +++ b/esphome/components/socket/lwip_raw_tcp_impl.cpp @@ -29,6 +29,14 @@ void socket_delay(uint32_t ms) { // Use esp_delay with a callback that checks if socket data arrived. // This allows the delay to exit early when socket_wake() is called by // lwip recv_fn/accept_fn callbacks, reducing socket latency. + // + // When ms is 0, we must use delay(0) because esp_delay(0, callback) + // exits immediately without yielding, which can cause watchdog timeouts + // when the main loop runs in high-frequency mode (e.g., during light effects). + if (ms == 0) { + delay(0); + return; + } s_socket_woke = false; esp_delay(ms, []() { return !s_socket_woke; }); } diff --git a/esphome/components/socket/socket.cpp b/esphome/components/socket/socket.cpp index c92e33393b..fd8725b363 100644 --- a/esphome/components/socket/socket.cpp +++ b/esphome/components/socket/socket.cpp @@ -46,15 +46,15 @@ static inline const char *esphome_inet_ntop6(const void *addr, char *buf, size_t #endif // Format sockaddr into caller-provided buffer, returns length written (excluding null) -static size_t format_sockaddr_to(const struct sockaddr_storage &storage, std::span buf) { - if (storage.ss_family == AF_INET) { - const auto *addr = reinterpret_cast(&storage); +size_t format_sockaddr_to(const struct sockaddr *addr_ptr, socklen_t len, std::span buf) { + if (addr_ptr->sa_family == AF_INET && len >= sizeof(const struct sockaddr_in)) { + const auto *addr = reinterpret_cast(addr_ptr); if (esphome_inet_ntop4(&addr->sin_addr, buf.data(), buf.size()) != nullptr) return strlen(buf.data()); } #if USE_NETWORK_IPV6 - else if (storage.ss_family == AF_INET6) { - const auto *addr = reinterpret_cast(&storage); + else if (addr_ptr->sa_family == AF_INET6 && len >= sizeof(sockaddr_in6)) { + const auto *addr = reinterpret_cast(addr_ptr); #ifndef USE_SOCKET_IMPL_LWIP_TCP // Format IPv4-mapped IPv6 addresses as regular IPv4 (not supported on ESP8266 raw TCP) if (addr->sin6_addr.un.u32_addr[0] == 0 && addr->sin6_addr.un.u32_addr[1] == 0 && @@ -78,7 +78,7 @@ size_t Socket::getpeername_to(std::span buf) { buf[0] = '\0'; return 0; } - return format_sockaddr_to(storage, buf); + return format_sockaddr_to(reinterpret_cast(&storage), len, buf); } size_t Socket::getsockname_to(std::span buf) { @@ -88,7 +88,7 @@ size_t Socket::getsockname_to(std::span buf) { buf[0] = '\0'; return 0; } - return format_sockaddr_to(storage, buf); + return format_sockaddr_to(reinterpret_cast(&storage), len, buf); } std::unique_ptr socket_ip(int type, int protocol) { @@ -107,9 +107,9 @@ std::unique_ptr socket_ip_loop_monitored(int type, int protocol) { #endif /* USE_NETWORK_IPV6 */ } -socklen_t set_sockaddr(struct sockaddr *addr, socklen_t addrlen, const std::string &ip_address, uint16_t port) { +socklen_t set_sockaddr(struct sockaddr *addr, socklen_t addrlen, const char *ip_address, uint16_t port) { #if USE_NETWORK_IPV6 - if (ip_address.find(':') != std::string::npos) { + if (strchr(ip_address, ':') != nullptr) { if (addrlen < sizeof(sockaddr_in6)) { errno = EINVAL; return 0; @@ -121,14 +121,14 @@ socklen_t set_sockaddr(struct sockaddr *addr, socklen_t addrlen, const std::stri #ifdef USE_SOCKET_IMPL_BSD_SOCKETS // Use standard inet_pton for BSD sockets - if (inet_pton(AF_INET6, ip_address.c_str(), &server->sin6_addr) != 1) { + if (inet_pton(AF_INET6, ip_address, &server->sin6_addr) != 1) { errno = EINVAL; return 0; } #else // Use LWIP-specific functions ip6_addr_t ip6; - inet6_aton(ip_address.c_str(), &ip6); + inet6_aton(ip_address, &ip6); memcpy(server->sin6_addr.un.u32_addr, ip6.addr, sizeof(ip6.addr)); #endif return sizeof(sockaddr_in6); @@ -141,7 +141,7 @@ socklen_t set_sockaddr(struct sockaddr *addr, socklen_t addrlen, const std::stri auto *server = reinterpret_cast(addr); memset(server, 0, sizeof(sockaddr_in)); server->sin_family = AF_INET; - server->sin_addr.s_addr = inet_addr(ip_address.c_str()); + server->sin_addr.s_addr = inet_addr(ip_address); server->sin_port = htons(port); return sizeof(sockaddr_in); } diff --git a/esphome/components/socket/socket.h b/esphome/components/socket/socket.h index 9f9f61de85..e8b0948acd 100644 --- a/esphome/components/socket/socket.h +++ b/esphome/components/socket/socket.h @@ -87,11 +87,24 @@ std::unique_ptr socket_loop_monitored(int domain, int type, int protocol std::unique_ptr socket_ip_loop_monitored(int type, int protocol); /// Set a sockaddr to the specified address and port for the IP version used by socket_ip(). -socklen_t set_sockaddr(struct sockaddr *addr, socklen_t addrlen, const std::string &ip_address, uint16_t port); +/// @param addr Destination sockaddr structure +/// @param addrlen Size of the addr buffer +/// @param ip_address Null-terminated IP address string (IPv4 or IPv6) +/// @param port Port number in host byte order +/// @return Size of the sockaddr structure used, or 0 on error +socklen_t set_sockaddr(struct sockaddr *addr, socklen_t addrlen, const char *ip_address, uint16_t port); + +/// Convenience overload for std::string (backward compatible). +inline socklen_t set_sockaddr(struct sockaddr *addr, socklen_t addrlen, const std::string &ip_address, uint16_t port) { + return set_sockaddr(addr, addrlen, ip_address.c_str(), port); +} /// Set a sockaddr to the any address and specified port for the IP version used by socket_ip(). socklen_t set_sockaddr_any(struct sockaddr *addr, socklen_t addrlen, uint16_t port); +/// Format sockaddr into caller-provided buffer, returns length written (excluding null) +size_t format_sockaddr_to(const struct sockaddr *addr_ptr, socklen_t len, std::span buf); + #if defined(USE_ESP8266) && defined(USE_SOCKET_IMPL_LWIP_TCP) /// Delay that can be woken early by socket activity. /// On ESP8266, lwip callbacks set a flag and call esp_schedule() to wake the delay. diff --git a/esphome/components/speaker/media_player/speaker_media_player.cpp b/esphome/components/speaker/media_player/speaker_media_player.cpp index 9a3a47bac8..172bc980a8 100644 --- a/esphome/components/speaker/media_player/speaker_media_player.cpp +++ b/esphome/components/speaker/media_player/speaker_media_player.cpp @@ -55,7 +55,7 @@ void SpeakerMediaPlayer::setup() { this->media_control_command_queue_ = xQueueCreate(MEDIA_CONTROLS_QUEUE_LENGTH, sizeof(MediaCallCommand)); - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); VolumeRestoreState volume_restore_state; if (this->pref_.load(&volume_restore_state)) { diff --git a/esphome/components/spi/__init__.py b/esphome/components/spi/__init__.py index e890567abf..931882be8d 100644 --- a/esphome/components/spi/__init__.py +++ b/esphome/components/spi/__init__.py @@ -39,6 +39,7 @@ from esphome.const import ( ) from esphome.core import CORE, CoroPriority, coroutine_with_priority import esphome.final_validate as fv +from esphome.types import ConfigType CODEOWNERS = ["@esphome/core", "@clydebarrow"] spi_ns = cg.esphome_ns.namespace("spi") @@ -448,9 +449,13 @@ def spi_device_schema( ) -async def register_spi_device(var, config): +async def register_spi_device( + var: cg.Pvariable, config: ConfigType, write_only: bool = False +) -> None: parent = await cg.get_variable(config[CONF_SPI_ID]) cg.add(var.set_spi_parent(parent)) + if write_only: + cg.add(var.set_write_only(True)) if cs_pin := config.get(CONF_CS_PIN): pin = await cg.gpio_pin_expression(cs_pin) cg.add(var.set_cs_pin(pin)) diff --git a/esphome/components/spi/spi_esp_idf.cpp b/esphome/components/spi/spi_esp_idf.cpp index a1837fa58d..107b6a3f1a 100644 --- a/esphome/components/spi/spi_esp_idf.cpp +++ b/esphome/components/spi/spi_esp_idf.cpp @@ -195,8 +195,11 @@ class SPIDelegateHw : public SPIDelegate { config.post_cb = nullptr; if (this->bit_order_ == BIT_ORDER_LSB_FIRST) config.flags |= SPI_DEVICE_BIT_LSBFIRST; - if (this->write_only_) + if (this->write_only_) { config.flags |= SPI_DEVICE_HALFDUPLEX | SPI_DEVICE_NO_DUMMY; + ESP_LOGD(TAG, "SPI device with CS pin %d using half-duplex mode (write-only)", + Utility::get_pin_no(this->cs_pin_)); + } esp_err_t const err = spi_bus_add_device(this->channel_, &config, &this->handle_); if (err != ESP_OK) { ESP_LOGE(TAG, "Add device failed - err %X", err); diff --git a/esphome/components/spi_led_strip/spi_led_strip.cpp b/esphome/components/spi_led_strip/spi_led_strip.cpp index afb51afe3a..ff8d2e6ee0 100644 --- a/esphome/components/spi_led_strip/spi_led_strip.cpp +++ b/esphome/components/spi_led_strip/spi_led_strip.cpp @@ -1,4 +1,5 @@ #include "spi_led_strip.h" +#include "esphome/core/helpers.h" namespace esphome { namespace spi_led_strip { @@ -47,15 +48,14 @@ void SpiLedStrip::dump_config() { void SpiLedStrip::write_state(light::LightState *state) { if (this->is_failed()) return; - if (ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE) { - char strbuf[49]; - size_t len = std::min(this->buffer_size_, (size_t) (sizeof(strbuf) - 1) / 3); - memset(strbuf, 0, sizeof(strbuf)); - for (size_t i = 0; i != len; i++) { - sprintf(strbuf + i * 3, "%02X ", this->buf_[i]); - } +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + { + char strbuf[49]; // format_hex_pretty_size(16) = 48, fits 16 bytes + size_t len = std::min(this->buffer_size_, (size_t) 16); + format_hex_pretty_to(strbuf, sizeof(strbuf), this->buf_, len, ' '); esph_log_v(TAG, "write_state: buf = %s", strbuf); } +#endif this->enable(); this->write_array(this->buf_, this->buffer_size_); this->disable(); diff --git a/esphome/components/sprinkler/sprinkler.cpp b/esphome/components/sprinkler/sprinkler.cpp index 2813b4450b..2a60eb042b 100644 --- a/esphome/components/sprinkler/sprinkler.cpp +++ b/esphome/components/sprinkler/sprinkler.cpp @@ -16,7 +16,7 @@ void SprinklerControllerNumber::setup() { if (!this->restore_value_) { value = this->initial_value_; } else { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); if (!this->pref_.load(&value)) { if (!std::isnan(this->initial_value_)) { value = this->initial_value_; @@ -43,13 +43,11 @@ SprinklerControllerSwitch::SprinklerControllerSwitch() : turn_on_trigger_(new Trigger<>()), turn_off_trigger_(new Trigger<>()) {} void SprinklerControllerSwitch::loop() { - if (!this->f_.has_value()) - return; + // Loop is only enabled when f_ has a value (see setup()) auto s = (*this->f_)(); - if (!s.has_value()) - return; - - this->publish_state(*s); + if (s.has_value()) { + this->publish_state(*s); + } } void SprinklerControllerSwitch::write_state(bool state) { @@ -74,7 +72,13 @@ float SprinklerControllerSwitch::get_setup_priority() const { return setup_prior Trigger<> *SprinklerControllerSwitch::get_turn_on_trigger() const { return this->turn_on_trigger_; } Trigger<> *SprinklerControllerSwitch::get_turn_off_trigger() const { return this->turn_off_trigger_; } -void SprinklerControllerSwitch::setup() { this->state = this->get_initial_state_with_restore_mode().value_or(false); } +void SprinklerControllerSwitch::setup() { + this->state = this->get_initial_state_with_restore_mode().value_or(false); + // Disable loop if no state lambda is set - nothing to poll + if (!this->f_.has_value()) { + this->disable_loop(); + } +} void SprinklerControllerSwitch::dump_config() { LOG_SWITCH("", "Sprinkler Switch", this); } @@ -327,25 +331,32 @@ SprinklerValveOperator *SprinklerValveRunRequest::valve_operator() { return this SprinklerValveRunRequestOrigin SprinklerValveRunRequest::request_is_from() { return this->origin_; } -Sprinkler::Sprinkler() {} -Sprinkler::Sprinkler(const std::string &name) { - // The `name` is needed to set timers up, hence non-default constructor - // replaces `set_name()` method previously existed - this->name_ = name; +Sprinkler::Sprinkler() : Sprinkler("") {} +Sprinkler::Sprinkler(const char *name) : name_(name) { + // The `name` is stored for dump_config logging this->timer_.init(2); - this->timer_.push_back({this->name_ + "sm", false, 0, 0, std::bind(&Sprinkler::sm_timer_callback_, this)}); - this->timer_.push_back({this->name_ + "vs", false, 0, 0, std::bind(&Sprinkler::valve_selection_callback_, this)}); + // Timer names only need to be unique within this component instance + this->timer_.push_back({"sm", false, 0, 0, std::bind(&Sprinkler::sm_timer_callback_, this)}); + this->timer_.push_back({"vs", false, 0, 0, std::bind(&Sprinkler::valve_selection_callback_, this)}); } -void Sprinkler::setup() { this->all_valves_off_(true); } +void Sprinkler::setup() { + this->all_valves_off_(true); + // Start with loop disabled - nothing to do when idle + this->disable_loop(); +} void Sprinkler::loop() { for (auto &vo : this->valve_op_) { vo.loop(); } - if (this->prev_req_.has_request() && this->prev_req_.has_valve_operator() && - this->prev_req_.valve_operator()->state() == IDLE) { - this->prev_req_.reset(); + if (this->prev_req_.has_request()) { + if (this->prev_req_.has_valve_operator() && this->prev_req_.valve_operator()->state() == IDLE) { + this->prev_req_.reset(); + } + } else if (this->state_ == IDLE) { + // Nothing more to do - disable loop until next activation + this->disable_loop(); } } @@ -1333,6 +1344,8 @@ void Sprinkler::start_valve_(SprinklerValveRunRequest *req) { if (!this->is_a_valid_valve(req->valve())) { return; // we can't do anything if the valve number isn't valid } + // Enable loop to monitor valve operator states + this->enable_loop(); for (auto &vo : this->valve_op_) { // find the first available SprinklerValveOperator, load it and start it up if (vo.state() == IDLE) { auto run_duration = req->run_duration() ? req->run_duration() : this->valve_run_duration_adjusted(req->valve()); @@ -1575,8 +1588,7 @@ const LogString *Sprinkler::state_as_str_(SprinklerState state) { void Sprinkler::start_timer_(const SprinklerTimerIndex timer_index) { if (this->timer_duration_(timer_index) > 0) { - // FixedVector ensures timer_ can't be resized, so .c_str() pointers remain valid - this->set_timeout(this->timer_[timer_index].name.c_str(), this->timer_duration_(timer_index), + this->set_timeout(this->timer_[timer_index].name, this->timer_duration_(timer_index), this->timer_cbf_(timer_index)); this->timer_[timer_index].start_time = millis(); this->timer_[timer_index].active = true; @@ -1587,7 +1599,7 @@ void Sprinkler::start_timer_(const SprinklerTimerIndex timer_index) { bool Sprinkler::cancel_timer_(const SprinklerTimerIndex timer_index) { this->timer_[timer_index].active = false; - return this->cancel_timeout(this->timer_[timer_index].name.c_str()); + return this->cancel_timeout(this->timer_[timer_index].name); } bool Sprinkler::timer_active_(const SprinklerTimerIndex timer_index) { return this->timer_[timer_index].active; } @@ -1618,7 +1630,7 @@ void Sprinkler::sm_timer_callback_() { } void Sprinkler::dump_config() { - ESP_LOGCONFIG(TAG, "Sprinkler Controller -- %s", this->name_.c_str()); + ESP_LOGCONFIG(TAG, "Sprinkler Controller -- %s", this->name_); if (this->manual_selection_delay_.has_value()) { ESP_LOGCONFIG(TAG, " Manual Selection Delay: %" PRIu32 " seconds", this->manual_selection_delay_.value_or(0)); } diff --git a/esphome/components/sprinkler/sprinkler.h b/esphome/components/sprinkler/sprinkler.h index 273c0e9208..04efa28031 100644 --- a/esphome/components/sprinkler/sprinkler.h +++ b/esphome/components/sprinkler/sprinkler.h @@ -11,7 +11,7 @@ namespace esphome::sprinkler { -const std::string MIN_STR = "min"; +inline constexpr const char *MIN_STR = "min"; enum SprinklerState : uint8_t { // NOTE: these states are used by both SprinklerValveOperator and Sprinkler (the controller)! @@ -49,7 +49,7 @@ struct SprinklerQueueItem { }; struct SprinklerTimer { - const std::string name; + const char *name; bool active; uint32_t time; uint32_t start_time; @@ -176,7 +176,7 @@ class SprinklerValveRunRequest { class Sprinkler : public Component { public: Sprinkler(); - Sprinkler(const std::string &name); + Sprinkler(const char *name); void setup() override; void loop() override; void dump_config() override; @@ -504,7 +504,7 @@ class Sprinkler : public Component { uint32_t start_delay_{0}; uint32_t stop_delay_{0}; - std::string name_; + const char *name_{""}; /// Sprinkler controller state SprinklerState state_{IDLE}; diff --git a/esphome/components/ssd1306_spi/display.py b/esphome/components/ssd1306_spi/display.py index 4af41073d4..26953b4f39 100644 --- a/esphome/components/ssd1306_spi/display.py +++ b/esphome/components/ssd1306_spi/display.py @@ -32,7 +32,7 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await ssd1306_base.setup_ssd1306(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/ssd1322_spi/display.py b/esphome/components/ssd1322_spi/display.py index 849e71abee..3d01caf874 100644 --- a/esphome/components/ssd1322_spi/display.py +++ b/esphome/components/ssd1322_spi/display.py @@ -32,7 +32,7 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await ssd1322_base.setup_ssd1322(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/ssd1325_spi/display.py b/esphome/components/ssd1325_spi/display.py index e18db33c68..dbb9a14ac2 100644 --- a/esphome/components/ssd1325_spi/display.py +++ b/esphome/components/ssd1325_spi/display.py @@ -32,7 +32,7 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await ssd1325_base.setup_ssd1325(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/ssd1327_spi/display.py b/esphome/components/ssd1327_spi/display.py index b622c098ec..f052764a91 100644 --- a/esphome/components/ssd1327_spi/display.py +++ b/esphome/components/ssd1327_spi/display.py @@ -32,7 +32,7 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await ssd1327_base.setup_ssd1327(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/ssd1331_spi/display.py b/esphome/components/ssd1331_spi/display.py index 50895b3175..c16780302f 100644 --- a/esphome/components/ssd1331_spi/display.py +++ b/esphome/components/ssd1331_spi/display.py @@ -32,7 +32,7 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await ssd1331_base.setup_ssd1331(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/ssd1351_spi/display.py b/esphome/components/ssd1351_spi/display.py index bd7033c3d4..2a6e984029 100644 --- a/esphome/components/ssd1351_spi/display.py +++ b/esphome/components/ssd1351_spi/display.py @@ -32,7 +32,7 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await ssd1351_base.setup_ssd1351(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/st7567_spi/display.py b/esphome/components/st7567_spi/display.py index 305aa35024..02cd2c105c 100644 --- a/esphome/components/st7567_spi/display.py +++ b/esphome/components/st7567_spi/display.py @@ -32,7 +32,7 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await st7567_base.setup_st7567(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/st7701s/display.py b/esphome/components/st7701s/display.py index 3078158d25..a8b12dfa28 100644 --- a/esphome/components/st7701s/display.py +++ b/esphome/components/st7701s/display.py @@ -173,7 +173,7 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await display.register_display(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) sequence = [] for seq in config[CONF_INIT_SEQUENCE]: diff --git a/esphome/components/st7701s/st7701s.cpp b/esphome/components/st7701s/st7701s.cpp index 6314c99fb0..221fe39b9d 100644 --- a/esphome/components/st7701s/st7701s.cpp +++ b/esphome/components/st7701s/st7701s.cpp @@ -1,5 +1,6 @@ #ifdef USE_ESP32_VARIANT_ESP32S3 #include "st7701s.h" +#include "esphome/core/gpio.h" #include "esphome/core/log.h" namespace esphome { @@ -183,8 +184,11 @@ void ST7701S::dump_config() { LOG_PIN(" DE Pin: ", this->de_pin_); LOG_PIN(" Reset Pin: ", this->reset_pin_); size_t data_pin_count = sizeof(this->data_pins_) / sizeof(this->data_pins_[0]); - for (size_t i = 0; i != data_pin_count; i++) - ESP_LOGCONFIG(TAG, " Data pin %d: %s", i, (this->data_pins_[i])->dump_summary().c_str()); + char pin_summary[GPIO_SUMMARY_MAX_LEN]; + for (size_t i = 0; i != data_pin_count; i++) { + this->data_pins_[i]->dump_summary(pin_summary, sizeof(pin_summary)); + ESP_LOGCONFIG(TAG, " Data pin %d: %s", i, pin_summary); + } ESP_LOGCONFIG(TAG, " SPI Data rate: %dMHz", (unsigned) (this->data_rate_ / 1000000)); } diff --git a/esphome/components/st7735/display.py b/esphome/components/st7735/display.py index 2761214315..9dc69f27ff 100644 --- a/esphome/components/st7735/display.py +++ b/esphome/components/st7735/display.py @@ -99,7 +99,7 @@ async def to_code(config): config[CONF_INVERT_COLORS], ) await setup_st7735(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/st7789v/display.py b/esphome/components/st7789v/display.py index 8259eacf2d..c9f4199616 100644 --- a/esphome/components/st7789v/display.py +++ b/esphome/components/st7789v/display.py @@ -177,7 +177,7 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await display.register_display(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) cg.add(var.set_model_str(config[CONF_MODEL])) diff --git a/esphome/components/st7920/display.py b/esphome/components/st7920/display.py index de7b2247dd..ef33fac6c6 100644 --- a/esphome/components/st7920/display.py +++ b/esphome/components/st7920/display.py @@ -28,7 +28,7 @@ CONFIG_SCHEMA = ( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) if CONF_LAMBDA in config: lambda_ = await cg.process_lambda( diff --git a/esphome/components/statsd/statsd.cpp b/esphome/components/statsd/statsd.cpp index 7729f36858..7d773bc56e 100644 --- a/esphome/components/statsd/statsd.cpp +++ b/esphome/components/statsd/statsd.cpp @@ -114,14 +114,22 @@ void StatsdComponent::update() { // This implies you can't explicitly set a gauge to a negative number without first setting it to zero. if (val < 0) { if (this->prefix_) { - out.append(str_sprintf("%s.", this->prefix_)); + out.append(this->prefix_); + out.append("."); } - out.append(str_sprintf("%s:0|g\n", s.name)); + out.append(s.name); + out.append(":0|g\n"); } if (this->prefix_) { - out.append(str_sprintf("%s.", this->prefix_)); + out.append(this->prefix_); + out.append("."); } - out.append(str_sprintf("%s:%f|g\n", s.name, val)); + out.append(s.name); + // Buffer for ":" + value + "|g\n". + // %f with -DBL_MAX can produce up to 321 chars, plus ":" and "|g\n" (4) + null = 326 + char val_buf[330]; + buf_append_printf(val_buf, sizeof(val_buf), 0, ":%f|g\n", val); + out.append(val_buf); if (out.length() > SEND_THRESHOLD) { this->send_(&out); diff --git a/esphome/components/status/binary_sensor.py b/esphome/components/status/binary_sensor.py index c1a4a52ce2..f0c7c87e17 100644 --- a/esphome/components/status/binary_sensor.py +++ b/esphome/components/status/binary_sensor.py @@ -7,14 +7,14 @@ DEPENDENCIES = ["network"] status_ns = cg.esphome_ns.namespace("status") StatusBinarySensor = status_ns.class_( - "StatusBinarySensor", binary_sensor.BinarySensor, cg.Component + "StatusBinarySensor", binary_sensor.BinarySensor, cg.PollingComponent ) CONFIG_SCHEMA = binary_sensor.binary_sensor_schema( StatusBinarySensor, device_class=DEVICE_CLASS_CONNECTIVITY, entity_category=ENTITY_CATEGORY_DIAGNOSTIC, -).extend(cv.COMPONENT_SCHEMA) +).extend(cv.polling_component_schema("1s")) async def to_code(config): diff --git a/esphome/components/status/status_binary_sensor.cpp b/esphome/components/status/status_binary_sensor.cpp index 1795a9c41b..2c95be8569 100644 --- a/esphome/components/status/status_binary_sensor.cpp +++ b/esphome/components/status/status_binary_sensor.cpp @@ -10,12 +10,11 @@ #include "esphome/components/api/api_server.h" #endif -namespace esphome { -namespace status { +namespace esphome::status { static const char *const TAG = "status"; -void StatusBinarySensor::loop() { +void StatusBinarySensor::update() { bool status = network::is_connected(); #ifdef USE_MQTT if (mqtt::global_mqtt_client != nullptr) { @@ -33,5 +32,4 @@ void StatusBinarySensor::loop() { void StatusBinarySensor::setup() { this->publish_initial_state(false); } void StatusBinarySensor::dump_config() { LOG_BINARY_SENSOR("", "Status Binary Sensor", this); } -} // namespace status -} // namespace esphome +} // namespace esphome::status diff --git a/esphome/components/status/status_binary_sensor.h b/esphome/components/status/status_binary_sensor.h index feda8b6328..7e8c31d741 100644 --- a/esphome/components/status/status_binary_sensor.h +++ b/esphome/components/status/status_binary_sensor.h @@ -3,12 +3,11 @@ #include "esphome/core/component.h" #include "esphome/components/binary_sensor/binary_sensor.h" -namespace esphome { -namespace status { +namespace esphome::status { -class StatusBinarySensor : public binary_sensor::BinarySensor, public Component { +class StatusBinarySensor : public binary_sensor::BinarySensor, public PollingComponent { public: - void loop() override; + void update() override; void setup() override; void dump_config() override; @@ -16,5 +15,4 @@ class StatusBinarySensor : public binary_sensor::BinarySensor, public Component bool is_status_binary_sensor() const override { return true; } }; -} // namespace status -} // namespace esphome +} // namespace esphome::status diff --git a/esphome/components/sun/text_sensor/sun_text_sensor.h b/esphome/components/sun/text_sensor/sun_text_sensor.h index 9345a32223..c3b60ffd65 100644 --- a/esphome/components/sun/text_sensor/sun_text_sensor.h +++ b/esphome/components/sun/text_sensor/sun_text_sensor.h @@ -14,7 +14,9 @@ class SunTextSensor : public text_sensor::TextSensor, public PollingComponent { void set_parent(Sun *parent) { parent_ = parent; } void set_elevation(double elevation) { elevation_ = elevation; } void set_sunrise(bool sunrise) { sunrise_ = sunrise; } - void set_format(const std::string &format) { format_ = format; } + void set_format(const char *format) { this->format_ = format; } + /// Prevent accidental use of std::string which would dangle + void set_format(const std::string &format) = delete; void update() override { optional res; @@ -29,14 +31,14 @@ class SunTextSensor : public text_sensor::TextSensor, public PollingComponent { } char buf[ESPTime::STRFTIME_BUFFER_SIZE]; - size_t len = res->strftime_to(buf, this->format_.c_str()); + size_t len = res->strftime_to(buf, this->format_); this->publish_state(buf, len); } void dump_config() override; protected: - std::string format_{}; + const char *format_{nullptr}; Sun *parent_; double elevation_; bool sunrise_; diff --git a/esphome/components/switch/switch.cpp b/esphome/components/switch/switch.cpp index 069533fa78..61a273d25c 100644 --- a/esphome/components/switch/switch.cpp +++ b/esphome/components/switch/switch.cpp @@ -34,7 +34,7 @@ optional Switch::get_initial_state() { if (!(restore_mode & RESTORE_MODE_PERSISTENT_MASK)) return {}; - this->rtc_ = global_preferences->make_preference(this->get_preference_hash()); + this->rtc_ = this->make_entity_preference(); bool initial_state; if (!this->rtc_.load(&initial_state)) return {}; @@ -96,18 +96,14 @@ void log_switch(const char *tag, const char *prefix, const char *type, Switch *o LOG_STR_ARG(onoff)); // Add optional fields separately - if (!obj->get_icon_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Icon: '%s'", prefix, obj->get_icon_ref().c_str()); - } + LOG_ENTITY_ICON(tag, prefix, *obj); if (obj->assumed_state()) { ESP_LOGCONFIG(tag, "%s Assumed State: YES", prefix); } if (obj->is_inverted()) { ESP_LOGCONFIG(tag, "%s Inverted: YES", prefix); } - if (!obj->get_device_class_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Device Class: '%s'", prefix, obj->get_device_class_ref().c_str()); - } + LOG_ENTITY_DEVICE_CLASS(tag, prefix, *obj); } } diff --git a/esphome/components/sx1509/sx1509_gpio_pin.cpp b/esphome/components/sx1509/sx1509_gpio_pin.cpp index 41a99eba4b..a7e5d0514d 100644 --- a/esphome/components/sx1509/sx1509_gpio_pin.cpp +++ b/esphome/components/sx1509/sx1509_gpio_pin.cpp @@ -13,7 +13,7 @@ void SX1509GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this-> bool SX1509GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void SX1509GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } size_t SX1509GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via sx1509", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via sx1509", this->pin_); } } // namespace sx1509 diff --git a/esphome/components/sy6970/__init__.py b/esphome/components/sy6970/__init__.py new file mode 100644 index 0000000000..2390d046e4 --- /dev/null +++ b/esphome/components/sy6970/__init__.py @@ -0,0 +1,63 @@ +import esphome.codegen as cg +from esphome.components import i2c +import esphome.config_validation as cv +from esphome.const import CONF_ID + +CODEOWNERS = ["@linkedupbits"] +DEPENDENCIES = ["i2c"] +MULTI_CONF = True + +CONF_SY6970_ID = "sy6970_id" +CONF_ENABLE_STATUS_LED = "enable_status_led" +CONF_INPUT_CURRENT_LIMIT = "input_current_limit" +CONF_CHARGE_VOLTAGE = "charge_voltage" +CONF_CHARGE_CURRENT = "charge_current" +CONF_PRECHARGE_CURRENT = "precharge_current" +CONF_CHARGE_ENABLED = "charge_enabled" +CONF_ENABLE_ADC = "enable_adc" + +sy6970_ns = cg.esphome_ns.namespace("sy6970") +SY6970Component = sy6970_ns.class_( + "SY6970Component", cg.PollingComponent, i2c.I2CDevice +) +SY6970Listener = sy6970_ns.class_("SY6970Listener") + +CONFIG_SCHEMA = ( + cv.Schema( + { + cv.GenerateID(): cv.declare_id(SY6970Component), + cv.Optional(CONF_ENABLE_STATUS_LED, default=True): cv.boolean, + cv.Optional(CONF_INPUT_CURRENT_LIMIT, default=500): cv.int_range( + min=100, max=3200 + ), + cv.Optional(CONF_CHARGE_VOLTAGE, default=4208): cv.int_range( + min=3840, max=4608 + ), + cv.Optional(CONF_CHARGE_CURRENT, default=2048): cv.int_range( + min=0, max=5056 + ), + cv.Optional(CONF_PRECHARGE_CURRENT, default=128): cv.int_range( + min=64, max=1024 + ), + cv.Optional(CONF_CHARGE_ENABLED, default=True): cv.boolean, + cv.Optional(CONF_ENABLE_ADC, default=True): cv.boolean, + } + ) + .extend(cv.polling_component_schema("5s")) + .extend(i2c.i2c_device_schema(0x6A)) +) + + +async def to_code(config): + var = cg.new_Pvariable( + config[CONF_ID], + config[CONF_ENABLE_STATUS_LED], + config[CONF_INPUT_CURRENT_LIMIT], + config[CONF_CHARGE_VOLTAGE], + config[CONF_CHARGE_CURRENT], + config[CONF_PRECHARGE_CURRENT], + config[CONF_CHARGE_ENABLED], + config[CONF_ENABLE_ADC], + ) + await cg.register_component(var, config) + await i2c.register_i2c_device(var, config) diff --git a/esphome/components/sy6970/binary_sensor/__init__.py b/esphome/components/sy6970/binary_sensor/__init__.py new file mode 100644 index 0000000000..132b282051 --- /dev/null +++ b/esphome/components/sy6970/binary_sensor/__init__.py @@ -0,0 +1,56 @@ +import esphome.codegen as cg +from esphome.components import binary_sensor +import esphome.config_validation as cv +from esphome.const import DEVICE_CLASS_CONNECTIVITY, DEVICE_CLASS_POWER + +from .. import CONF_SY6970_ID, SY6970Component, sy6970_ns + +DEPENDENCIES = ["sy6970"] + +CONF_VBUS_CONNECTED = "vbus_connected" +CONF_CHARGING = "charging" +CONF_CHARGE_DONE = "charge_done" + +SY6970VbusConnectedBinarySensor = sy6970_ns.class_( + "SY6970VbusConnectedBinarySensor", binary_sensor.BinarySensor +) +SY6970ChargingBinarySensor = sy6970_ns.class_( + "SY6970ChargingBinarySensor", binary_sensor.BinarySensor +) +SY6970ChargeDoneBinarySensor = sy6970_ns.class_( + "SY6970ChargeDoneBinarySensor", binary_sensor.BinarySensor +) + +CONFIG_SCHEMA = cv.Schema( + { + cv.GenerateID(CONF_SY6970_ID): cv.use_id(SY6970Component), + cv.Optional(CONF_VBUS_CONNECTED): binary_sensor.binary_sensor_schema( + SY6970VbusConnectedBinarySensor, + device_class=DEVICE_CLASS_CONNECTIVITY, + ), + cv.Optional(CONF_CHARGING): binary_sensor.binary_sensor_schema( + SY6970ChargingBinarySensor, + device_class=DEVICE_CLASS_POWER, + ), + cv.Optional(CONF_CHARGE_DONE): binary_sensor.binary_sensor_schema( + SY6970ChargeDoneBinarySensor, + device_class=DEVICE_CLASS_POWER, + ), + } +) + + +async def to_code(config): + parent = await cg.get_variable(config[CONF_SY6970_ID]) + + if vbus_connected_config := config.get(CONF_VBUS_CONNECTED): + sens = await binary_sensor.new_binary_sensor(vbus_connected_config) + cg.add(parent.add_listener(sens)) + + if charging_config := config.get(CONF_CHARGING): + sens = await binary_sensor.new_binary_sensor(charging_config) + cg.add(parent.add_listener(sens)) + + if charge_done_config := config.get(CONF_CHARGE_DONE): + sens = await binary_sensor.new_binary_sensor(charge_done_config) + cg.add(parent.add_listener(sens)) diff --git a/esphome/components/sy6970/binary_sensor/sy6970_binary_sensor.h b/esphome/components/sy6970/binary_sensor/sy6970_binary_sensor.h new file mode 100644 index 0000000000..4a374d7e3d --- /dev/null +++ b/esphome/components/sy6970/binary_sensor/sy6970_binary_sensor.h @@ -0,0 +1,43 @@ +#pragma once + +#include "../sy6970.h" +#include "esphome/components/binary_sensor/binary_sensor.h" + +namespace esphome::sy6970 { + +template +class StatusBinarySensor : public SY6970Listener, public binary_sensor::BinarySensor { + public: + void on_data(const SY6970Data &data) override { + uint8_t value = (data.registers[REG] >> SHIFT) & MASK; + this->publish_state(value == TRUE_VALUE); + } +}; + +template +class InverseStatusBinarySensor : public SY6970Listener, public binary_sensor::BinarySensor { + public: + void on_data(const SY6970Data &data) override { + uint8_t value = (data.registers[REG] >> SHIFT) & MASK; + this->publish_state(value != FALSE_VALUE); + } +}; + +// Custom binary sensor for charging (true when pre-charge or fast charge) +class SY6970ChargingBinarySensor : public SY6970Listener, public binary_sensor::BinarySensor { + public: + void on_data(const SY6970Data &data) override { + uint8_t chrg_stat = (data.registers[SY6970_REG_STATUS] >> 3) & 0x03; + bool charging = chrg_stat != CHARGE_STATUS_NOT_CHARGING && chrg_stat != CHARGE_STATUS_CHARGE_DONE; + this->publish_state(charging); + } +}; + +// Specialized sensor types using templates +// VBUS connected: BUS_STATUS != NO_INPUT +using SY6970VbusConnectedBinarySensor = InverseStatusBinarySensor; + +// Charge done: CHARGE_STATUS == CHARGE_DONE +using SY6970ChargeDoneBinarySensor = StatusBinarySensor; + +} // namespace esphome::sy6970 diff --git a/esphome/components/sy6970/sensor/__init__.py b/esphome/components/sy6970/sensor/__init__.py new file mode 100644 index 0000000000..e6ee9d1337 --- /dev/null +++ b/esphome/components/sy6970/sensor/__init__.py @@ -0,0 +1,95 @@ +import esphome.codegen as cg +from esphome.components import sensor +import esphome.config_validation as cv +from esphome.const import ( + CONF_BATTERY_VOLTAGE, + DEVICE_CLASS_CURRENT, + DEVICE_CLASS_VOLTAGE, + STATE_CLASS_MEASUREMENT, + UNIT_MILLIAMP, + UNIT_VOLT, +) + +from .. import CONF_SY6970_ID, SY6970Component, sy6970_ns + +DEPENDENCIES = ["sy6970"] + +CONF_VBUS_VOLTAGE = "vbus_voltage" +CONF_SYSTEM_VOLTAGE = "system_voltage" +CONF_CHARGE_CURRENT = "charge_current" +CONF_PRECHARGE_CURRENT = "precharge_current" + +SY6970VbusVoltageSensor = sy6970_ns.class_("SY6970VbusVoltageSensor", sensor.Sensor) +SY6970BatteryVoltageSensor = sy6970_ns.class_( + "SY6970BatteryVoltageSensor", sensor.Sensor +) +SY6970SystemVoltageSensor = sy6970_ns.class_("SY6970SystemVoltageSensor", sensor.Sensor) +SY6970ChargeCurrentSensor = sy6970_ns.class_("SY6970ChargeCurrentSensor", sensor.Sensor) +SY6970PrechargeCurrentSensor = sy6970_ns.class_( + "SY6970PrechargeCurrentSensor", sensor.Sensor +) + +CONFIG_SCHEMA = cv.Schema( + { + cv.GenerateID(CONF_SY6970_ID): cv.use_id(SY6970Component), + cv.Optional(CONF_VBUS_VOLTAGE): sensor.sensor_schema( + SY6970VbusVoltageSensor, + unit_of_measurement=UNIT_VOLT, + accuracy_decimals=2, + device_class=DEVICE_CLASS_VOLTAGE, + state_class=STATE_CLASS_MEASUREMENT, + ), + cv.Optional(CONF_BATTERY_VOLTAGE): sensor.sensor_schema( + SY6970BatteryVoltageSensor, + unit_of_measurement=UNIT_VOLT, + accuracy_decimals=2, + device_class=DEVICE_CLASS_VOLTAGE, + state_class=STATE_CLASS_MEASUREMENT, + ), + cv.Optional(CONF_SYSTEM_VOLTAGE): sensor.sensor_schema( + SY6970SystemVoltageSensor, + unit_of_measurement=UNIT_VOLT, + accuracy_decimals=2, + device_class=DEVICE_CLASS_VOLTAGE, + state_class=STATE_CLASS_MEASUREMENT, + ), + cv.Optional(CONF_CHARGE_CURRENT): sensor.sensor_schema( + SY6970ChargeCurrentSensor, + unit_of_measurement=UNIT_MILLIAMP, + accuracy_decimals=0, + device_class=DEVICE_CLASS_CURRENT, + state_class=STATE_CLASS_MEASUREMENT, + ), + cv.Optional(CONF_PRECHARGE_CURRENT): sensor.sensor_schema( + SY6970PrechargeCurrentSensor, + unit_of_measurement=UNIT_MILLIAMP, + accuracy_decimals=0, + device_class=DEVICE_CLASS_CURRENT, + state_class=STATE_CLASS_MEASUREMENT, + ), + } +) + + +async def to_code(config): + parent = await cg.get_variable(config[CONF_SY6970_ID]) + + if vbus_voltage_config := config.get(CONF_VBUS_VOLTAGE): + sens = await sensor.new_sensor(vbus_voltage_config) + cg.add(parent.add_listener(sens)) + + if battery_voltage_config := config.get(CONF_BATTERY_VOLTAGE): + sens = await sensor.new_sensor(battery_voltage_config) + cg.add(parent.add_listener(sens)) + + if system_voltage_config := config.get(CONF_SYSTEM_VOLTAGE): + sens = await sensor.new_sensor(system_voltage_config) + cg.add(parent.add_listener(sens)) + + if charge_current_config := config.get(CONF_CHARGE_CURRENT): + sens = await sensor.new_sensor(charge_current_config) + cg.add(parent.add_listener(sens)) + + if precharge_current_config := config.get(CONF_PRECHARGE_CURRENT): + sens = await sensor.new_sensor(precharge_current_config) + cg.add(parent.add_listener(sens)) diff --git a/esphome/components/sy6970/sensor/sy6970_sensor.h b/esphome/components/sy6970/sensor/sy6970_sensor.h new file mode 100644 index 0000000000..f912d726b2 --- /dev/null +++ b/esphome/components/sy6970/sensor/sy6970_sensor.h @@ -0,0 +1,46 @@ +#pragma once + +#include "../sy6970.h" +#include "esphome/components/sensor/sensor.h" + +namespace esphome::sy6970 { + +// Template for voltage sensors (converts mV to V) +template +class VoltageSensor : public SY6970Listener, public sensor::Sensor { + public: + void on_data(const SY6970Data &data) override { + uint8_t val = data.registers[REG] & MASK; + uint16_t voltage_mv = BASE + (val * STEP); + this->publish_state(voltage_mv * 0.001f); // Convert mV to V + } +}; + +// Template for current sensors (returns mA) +template +class CurrentSensor : public SY6970Listener, public sensor::Sensor { + public: + void on_data(const SY6970Data &data) override { + uint8_t val = data.registers[REG] & MASK; + uint16_t current_ma = BASE + (val * STEP); + this->publish_state(current_ma); + } +}; + +// Specialized sensor types using templates +using SY6970VbusVoltageSensor = VoltageSensor; +using SY6970BatteryVoltageSensor = VoltageSensor; +using SY6970SystemVoltageSensor = VoltageSensor; +using SY6970ChargeCurrentSensor = CurrentSensor; + +// Precharge current sensor needs special handling (bit shift) +class SY6970PrechargeCurrentSensor : public SY6970Listener, public sensor::Sensor { + public: + void on_data(const SY6970Data &data) override { + uint8_t iprechg = (data.registers[SY6970_REG_PRECHARGE_CURRENT] >> 4) & 0x0F; + uint16_t iprechg_ma = PRE_CHG_BASE_MA + (iprechg * PRE_CHG_STEP_MA); + this->publish_state(iprechg_ma); + } +}; + +} // namespace esphome::sy6970 diff --git a/esphome/components/sy6970/sy6970.cpp b/esphome/components/sy6970/sy6970.cpp new file mode 100644 index 0000000000..1f1648cfa7 --- /dev/null +++ b/esphome/components/sy6970/sy6970.cpp @@ -0,0 +1,201 @@ +#include "sy6970.h" +#include "esphome/core/hal.h" +#include "esphome/core/log.h" + +namespace esphome::sy6970 { + +static const char *const TAG = "sy6970"; + +bool SY6970Component::read_all_registers_() { + // Read all registers from 0x00 to 0x14 in one transaction (21 bytes) + // This includes unused registers 0x0F, 0x10 for performance + if (!this->read_bytes(SY6970_REG_INPUT_CURRENT_LIMIT, this->data_.registers, 21)) { + ESP_LOGW(TAG, "Failed to read registers 0x00-0x14"); + return false; + } + + return true; +} + +bool SY6970Component::write_register_(uint8_t reg, uint8_t value) { + if (!this->write_byte(reg, value)) { + ESP_LOGW(TAG, "Failed to write register 0x%02X", reg); + return false; + } + return true; +} + +bool SY6970Component::update_register_(uint8_t reg, uint8_t mask, uint8_t value) { + uint8_t reg_value; + if (!this->read_byte(reg, ®_value)) { + ESP_LOGW(TAG, "Failed to read register 0x%02X for update", reg); + return false; + } + reg_value = (reg_value & ~mask) | (value & mask); + return this->write_register_(reg, reg_value); +} + +void SY6970Component::setup() { + ESP_LOGV(TAG, "Setting up SY6970..."); + + // Try to read chip ID + uint8_t reg_value; + if (!this->read_byte(SY6970_REG_DEVICE_ID, ®_value)) { + ESP_LOGE(TAG, "Failed to communicate with SY6970"); + this->mark_failed(); + return; + } + + uint8_t chip_id = reg_value & 0x03; + if (chip_id != 0x00) { + ESP_LOGW(TAG, "Unexpected chip ID: 0x%02X (expected 0x00)", chip_id); + } + + // Apply configuration options (all have defaults now) + ESP_LOGV(TAG, "Setting LED enabled to %s", ONOFF(this->led_enabled_)); + this->set_led_enabled(this->led_enabled_); + + ESP_LOGV(TAG, "Setting input current limit to %u mA", this->input_current_limit_); + this->set_input_current_limit(this->input_current_limit_); + + ESP_LOGV(TAG, "Setting charge voltage to %u mV", this->charge_voltage_); + this->set_charge_target_voltage(this->charge_voltage_); + + ESP_LOGV(TAG, "Setting charge current to %u mA", this->charge_current_); + this->set_charge_current(this->charge_current_); + + ESP_LOGV(TAG, "Setting precharge current to %u mA", this->precharge_current_); + this->set_precharge_current(this->precharge_current_); + + ESP_LOGV(TAG, "Setting charge enabled to %s", ONOFF(this->charge_enabled_)); + this->set_charge_enabled(this->charge_enabled_); + + ESP_LOGV(TAG, "Setting ADC measurements to %s", ONOFF(this->enable_adc_)); + this->set_enable_adc_measure(this->enable_adc_); + + ESP_LOGV(TAG, "SY6970 initialized successfully"); +} + +void SY6970Component::dump_config() { + ESP_LOGCONFIG(TAG, + "SY6970:\n" + " LED Enabled: %s\n" + " Input Current Limit: %u mA\n" + " Charge Voltage: %u mV\n" + " Charge Current: %u mA\n" + " Precharge Current: %u mA\n" + " Charge Enabled: %s\n" + " ADC Enabled: %s", + ONOFF(this->led_enabled_), this->input_current_limit_, this->charge_voltage_, this->charge_current_, + this->precharge_current_, ONOFF(this->charge_enabled_), ONOFF(this->enable_adc_)); + LOG_I2C_DEVICE(this); + LOG_UPDATE_INTERVAL(this); + if (this->is_failed()) { + ESP_LOGE(TAG, "Communication with SY6970 failed!"); + } +} + +void SY6970Component::update() { + if (this->is_failed()) { + return; + } + + // Read all registers in one transaction + if (!this->read_all_registers_()) { + ESP_LOGW(TAG, "Failed to read registers during update"); + this->status_set_warning(); + return; + } + + this->status_clear_warning(); + + // Notify all listeners with the new data + for (auto *listener : this->listeners_) { + listener->on_data(this->data_); + } +} + +void SY6970Component::set_input_current_limit(uint16_t milliamps) { + if (this->is_failed()) + return; + + if (milliamps < INPUT_CURRENT_MIN) { + milliamps = INPUT_CURRENT_MIN; + } + + uint8_t val = (milliamps - INPUT_CURRENT_MIN) / INPUT_CURRENT_STEP; + if (val > 0x3F) { + val = 0x3F; + } + + this->update_register_(SY6970_REG_INPUT_CURRENT_LIMIT, 0x3F, val); +} + +void SY6970Component::set_charge_target_voltage(uint16_t millivolts) { + if (this->is_failed()) + return; + + if (millivolts < CHG_VOLTAGE_BASE) { + millivolts = CHG_VOLTAGE_BASE; + } + + uint8_t val = (millivolts - CHG_VOLTAGE_BASE) / CHG_VOLTAGE_STEP; + if (val > 0x3F) { + val = 0x3F; + } + + this->update_register_(SY6970_REG_CHARGE_VOLTAGE, 0xFC, val << 2); +} + +void SY6970Component::set_precharge_current(uint16_t milliamps) { + if (this->is_failed()) + return; + + if (milliamps < PRE_CHG_BASE_MA) { + milliamps = PRE_CHG_BASE_MA; + } + + uint8_t val = (milliamps - PRE_CHG_BASE_MA) / PRE_CHG_STEP_MA; + if (val > 0x0F) { + val = 0x0F; + } + + this->update_register_(SY6970_REG_PRECHARGE_CURRENT, 0xF0, val << 4); +} + +void SY6970Component::set_charge_current(uint16_t milliamps) { + if (this->is_failed()) + return; + + uint8_t val = milliamps / 64; + if (val > 0x7F) { + val = 0x7F; + } + + this->update_register_(SY6970_REG_CHARGE_CURRENT, 0x7F, val); +} + +void SY6970Component::set_charge_enabled(bool enabled) { + if (this->is_failed()) + return; + + this->update_register_(SY6970_REG_SYS_CONTROL, 0x10, enabled ? 0x10 : 0x00); +} + +void SY6970Component::set_led_enabled(bool enabled) { + if (this->is_failed()) + return; + + // Bit 6: 0 = LED enabled, 1 = LED disabled + this->update_register_(SY6970_REG_TIMER_CONTROL, 0x40, enabled ? 0x00 : 0x40); +} + +void SY6970Component::set_enable_adc_measure(bool enabled) { + if (this->is_failed()) + return; + + // Set bits to enable ADC conversion + this->update_register_(SY6970_REG_ADC_CONTROL, 0xC0, enabled ? 0xC0 : 0x00); +} + +} // namespace esphome::sy6970 diff --git a/esphome/components/sy6970/sy6970.h b/esphome/components/sy6970/sy6970.h new file mode 100644 index 0000000000..bacc072f9b --- /dev/null +++ b/esphome/components/sy6970/sy6970.h @@ -0,0 +1,122 @@ +#pragma once + +#include "esphome/components/i2c/i2c.h" +#include "esphome/core/component.h" +#include + +namespace esphome::sy6970 { + +// SY6970 Register addresses with descriptive names +static const uint8_t SY6970_REG_INPUT_CURRENT_LIMIT = 0x00; // Input current limit control +static const uint8_t SY6970_REG_VINDPM = 0x01; // Input voltage limit +static const uint8_t SY6970_REG_ADC_CONTROL = 0x02; // ADC control and function disable +static const uint8_t SY6970_REG_SYS_CONTROL = 0x03; // Charge enable and system config +static const uint8_t SY6970_REG_CHARGE_CURRENT = 0x04; // Fast charge current limit +static const uint8_t SY6970_REG_PRECHARGE_CURRENT = 0x05; // Pre-charge/termination current +static const uint8_t SY6970_REG_CHARGE_VOLTAGE = 0x06; // Charge voltage limit +static const uint8_t SY6970_REG_TIMER_CONTROL = 0x07; // Charge timer and status LED control +static const uint8_t SY6970_REG_IR_COMP = 0x08; // IR compensation +static const uint8_t SY6970_REG_FORCE_DPDM = 0x09; // Force DPDM detection +static const uint8_t SY6970_REG_BOOST_CONTROL = 0x0A; // Boost mode voltage/current +static const uint8_t SY6970_REG_STATUS = 0x0B; // System status (bus, charge status) +static const uint8_t SY6970_REG_FAULT = 0x0C; // Fault status (NTC) +static const uint8_t SY6970_REG_VINDPM_STATUS = 0x0D; // Input voltage limit status (also sys voltage) +static const uint8_t SY6970_REG_BATV = 0x0E; // Battery voltage +static const uint8_t SY6970_REG_VBUS_VOLTAGE = 0x11; // VBUS voltage +static const uint8_t SY6970_REG_CHARGE_CURRENT_MONITOR = 0x12; // Charge current +static const uint8_t SY6970_REG_INPUT_VOLTAGE_LIMIT = 0x13; // Input voltage limit +static const uint8_t SY6970_REG_DEVICE_ID = 0x14; // Part information + +// Constants for voltage and current calculations +static const uint16_t VBUS_BASE_MV = 2600; // mV +static const uint16_t VBUS_STEP_MV = 100; // mV +static const uint16_t VBAT_BASE_MV = 2304; // mV +static const uint16_t VBAT_STEP_MV = 20; // mV +static const uint16_t VSYS_BASE_MV = 2304; // mV +static const uint16_t VSYS_STEP_MV = 20; // mV +static const uint16_t CHG_CURRENT_STEP_MA = 50; // mA +static const uint16_t PRE_CHG_BASE_MA = 64; // mA +static const uint16_t PRE_CHG_STEP_MA = 64; // mA +static const uint16_t CHG_VOLTAGE_BASE = 3840; // mV +static const uint16_t CHG_VOLTAGE_STEP = 16; // mV +static const uint16_t INPUT_CURRENT_MIN = 100; // mA +static const uint16_t INPUT_CURRENT_STEP = 50; // mA + +// Bus Status values (REG_0B[7:5]) +enum BusStatus { + BUS_STATUS_NO_INPUT = 0, + BUS_STATUS_USB_SDP = 1, + BUS_STATUS_USB_CDP = 2, + BUS_STATUS_USB_DCP = 3, + BUS_STATUS_HVDCP = 4, + BUS_STATUS_ADAPTER = 5, + BUS_STATUS_NO_STD_ADAPTER = 6, + BUS_STATUS_OTG = 7, +}; + +// Charge Status values (REG_0B[4:3]) +enum ChargeStatus { + CHARGE_STATUS_NOT_CHARGING = 0, + CHARGE_STATUS_PRE_CHARGE = 1, + CHARGE_STATUS_FAST_CHARGE = 2, + CHARGE_STATUS_CHARGE_DONE = 3, +}; + +// Structure to hold all register data read in one transaction +struct SY6970Data { + uint8_t registers[21]; // Registers 0x00-0x14 (includes unused 0x0F, 0x10) +}; + +// Listener interface for components that want to receive SY6970 data updates +class SY6970Listener { + public: + virtual void on_data(const SY6970Data &data) = 0; +}; + +class SY6970Component : public PollingComponent, public i2c::I2CDevice { + public: + SY6970Component(bool led_enabled, uint16_t input_current_limit, uint16_t charge_voltage, uint16_t charge_current, + uint16_t precharge_current, bool charge_enabled, bool enable_adc) + : led_enabled_(led_enabled), + input_current_limit_(input_current_limit), + charge_voltage_(charge_voltage), + charge_current_(charge_current), + precharge_current_(precharge_current), + charge_enabled_(charge_enabled), + enable_adc_(enable_adc) {} + void setup() override; + void dump_config() override; + void update() override; + float get_setup_priority() const override { return setup_priority::DATA; } + + // Listener registration + void add_listener(SY6970Listener *listener) { this->listeners_.push_back(listener); } + + // Configuration methods to be called from lambdas + void set_input_current_limit(uint16_t milliamps); + void set_charge_target_voltage(uint16_t millivolts); + void set_precharge_current(uint16_t milliamps); + void set_charge_current(uint16_t milliamps); + void set_charge_enabled(bool enabled); + void set_led_enabled(bool enabled); + void set_enable_adc_measure(bool enabled = true); + + protected: + bool read_all_registers_(); + bool write_register_(uint8_t reg, uint8_t value); + bool update_register_(uint8_t reg, uint8_t mask, uint8_t value); + + SY6970Data data_{}; + std::vector listeners_; + + // Configuration values to set during setup() + bool led_enabled_; + uint16_t input_current_limit_; + uint16_t charge_voltage_; + uint16_t charge_current_; + uint16_t precharge_current_; + bool charge_enabled_; + bool enable_adc_; +}; + +} // namespace esphome::sy6970 diff --git a/esphome/components/sy6970/text_sensor/__init__.py b/esphome/components/sy6970/text_sensor/__init__.py new file mode 100644 index 0000000000..2a4eb90811 --- /dev/null +++ b/esphome/components/sy6970/text_sensor/__init__.py @@ -0,0 +1,52 @@ +import esphome.codegen as cg +from esphome.components import text_sensor +import esphome.config_validation as cv + +from .. import CONF_SY6970_ID, SY6970Component, sy6970_ns + +DEPENDENCIES = ["sy6970"] + +CONF_BUS_STATUS = "bus_status" +CONF_CHARGE_STATUS = "charge_status" +CONF_NTC_STATUS = "ntc_status" + +SY6970BusStatusTextSensor = sy6970_ns.class_( + "SY6970BusStatusTextSensor", text_sensor.TextSensor +) +SY6970ChargeStatusTextSensor = sy6970_ns.class_( + "SY6970ChargeStatusTextSensor", text_sensor.TextSensor +) +SY6970NtcStatusTextSensor = sy6970_ns.class_( + "SY6970NtcStatusTextSensor", text_sensor.TextSensor +) + +CONFIG_SCHEMA = cv.Schema( + { + cv.GenerateID(CONF_SY6970_ID): cv.use_id(SY6970Component), + cv.Optional(CONF_BUS_STATUS): text_sensor.text_sensor_schema( + SY6970BusStatusTextSensor + ), + cv.Optional(CONF_CHARGE_STATUS): text_sensor.text_sensor_schema( + SY6970ChargeStatusTextSensor + ), + cv.Optional(CONF_NTC_STATUS): text_sensor.text_sensor_schema( + SY6970NtcStatusTextSensor + ), + } +) + + +async def to_code(config): + parent = await cg.get_variable(config[CONF_SY6970_ID]) + + if bus_status_config := config.get(CONF_BUS_STATUS): + sens = await text_sensor.new_text_sensor(bus_status_config) + cg.add(parent.add_listener(sens)) + + if charge_status_config := config.get(CONF_CHARGE_STATUS): + sens = await text_sensor.new_text_sensor(charge_status_config) + cg.add(parent.add_listener(sens)) + + if ntc_status_config := config.get(CONF_NTC_STATUS): + sens = await text_sensor.new_text_sensor(ntc_status_config) + cg.add(parent.add_listener(sens)) diff --git a/esphome/components/sy6970/text_sensor/sy6970_text_sensor.h b/esphome/components/sy6970/text_sensor/sy6970_text_sensor.h new file mode 100644 index 0000000000..665c5eca64 --- /dev/null +++ b/esphome/components/sy6970/text_sensor/sy6970_text_sensor.h @@ -0,0 +1,96 @@ +#pragma once + +#include "../sy6970.h" +#include "esphome/components/text_sensor/text_sensor.h" + +namespace esphome::sy6970 { + +// Bus status text sensor +class SY6970BusStatusTextSensor : public SY6970Listener, public text_sensor::TextSensor { + public: + void on_data(const SY6970Data &data) override { + uint8_t status = (data.registers[SY6970_REG_STATUS] >> 5) & 0x07; + const char *status_str = this->get_bus_status_string_(status); + this->publish_state(status_str); + } + + protected: + const char *get_bus_status_string_(uint8_t status) { + switch (status) { + case BUS_STATUS_NO_INPUT: + return "No Input"; + case BUS_STATUS_USB_SDP: + return "USB SDP"; + case BUS_STATUS_USB_CDP: + return "USB CDP"; + case BUS_STATUS_USB_DCP: + return "USB DCP"; + case BUS_STATUS_HVDCP: + return "HVDCP"; + case BUS_STATUS_ADAPTER: + return "Adapter"; + case BUS_STATUS_NO_STD_ADAPTER: + return "Non-Standard Adapter"; + case BUS_STATUS_OTG: + return "OTG"; + default: + return "Unknown"; + } + } +}; + +// Charge status text sensor +class SY6970ChargeStatusTextSensor : public SY6970Listener, public text_sensor::TextSensor { + public: + void on_data(const SY6970Data &data) override { + uint8_t status = (data.registers[SY6970_REG_STATUS] >> 3) & 0x03; + const char *status_str = this->get_charge_status_string_(status); + this->publish_state(status_str); + } + + protected: + const char *get_charge_status_string_(uint8_t status) { + switch (status) { + case CHARGE_STATUS_NOT_CHARGING: + return "Not Charging"; + case CHARGE_STATUS_PRE_CHARGE: + return "Pre-charge"; + case CHARGE_STATUS_FAST_CHARGE: + return "Fast Charge"; + case CHARGE_STATUS_CHARGE_DONE: + return "Charge Done"; + default: + return "Unknown"; + } + } +}; + +// NTC status text sensor +class SY6970NtcStatusTextSensor : public SY6970Listener, public text_sensor::TextSensor { + public: + void on_data(const SY6970Data &data) override { + uint8_t status = data.registers[SY6970_REG_FAULT] & 0x07; + const char *status_str = this->get_ntc_status_string_(status); + this->publish_state(status_str); + } + + protected: + const char *get_ntc_status_string_(uint8_t status) { + switch (status) { + case 0: + return "Normal"; + case 2: + return "Warm"; + case 3: + return "Cool"; + case 5: + return "Cold"; + case 6: + return "Hot"; + default: + return "Unknown"; + } + } +}; + +} // namespace esphome::sy6970 diff --git a/esphome/components/syslog/esphome_syslog.cpp b/esphome/components/syslog/esphome_syslog.cpp index 83ad6b2720..376de54db4 100644 --- a/esphome/components/syslog/esphome_syslog.cpp +++ b/esphome/components/syslog/esphome_syslog.cpp @@ -47,29 +47,27 @@ void Syslog::log_(const int level, const char *tag, const char *message, size_t size_t remaining = sizeof(packet); // Write PRI - abort if this fails as packet would be malformed - int ret = snprintf(packet, remaining, "<%d>", pri); - if (ret <= 0 || static_cast(ret) >= remaining) { - return; + offset = buf_append_printf(packet, sizeof(packet), 0, "<%d>", pri); + if (offset == 0) { + return; // PRI always produces at least "<0>" (3 chars), so 0 means error } - offset = ret; - remaining -= ret; + remaining -= offset; // Write timestamp directly into packet (RFC 5424: use "-" if time not valid or strftime fails) auto now = this->time_->now(); size_t ts_written = now.is_valid() ? now.strftime(packet + offset, remaining, "%b %e %H:%M:%S") : 0; if (ts_written > 0) { offset += ts_written; - remaining -= ts_written; } else if (remaining > 0) { packet[offset++] = '-'; - remaining--; } // Write hostname, tag, and message - ret = snprintf(packet + offset, remaining, " %s %s: %.*s", App.get_name().c_str(), tag, (int) len, message); - if (ret > 0) { - // snprintf returns chars that would be written; clamp to actual buffer space - offset += std::min(static_cast(ret), remaining > 0 ? remaining - 1 : 0); + offset = buf_append_printf(packet, sizeof(packet), offset, " %s %s: %.*s", App.get_name().c_str(), tag, (int) len, + message); + // Clamp to exclude null terminator position if buffer was filled + if (offset >= sizeof(packet)) { + offset = sizeof(packet) - 1; } if (offset > 0) { diff --git a/esphome/components/tca9555/tca9555.cpp b/esphome/components/tca9555/tca9555.cpp index 376de6a370..79c5253898 100644 --- a/esphome/components/tca9555/tca9555.cpp +++ b/esphome/components/tca9555/tca9555.cpp @@ -139,7 +139,7 @@ void TCA9555GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this- bool TCA9555GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void TCA9555GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } size_t TCA9555GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via TCA9555", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via TCA9555", this->pin_); } } // namespace tca9555 diff --git a/esphome/components/template/alarm_control_panel/__init__.py b/esphome/components/template/alarm_control_panel/__init__.py index 256c7f276a..59624a5f53 100644 --- a/esphome/components/template/alarm_control_panel/__init__.py +++ b/esphome/components/template/alarm_control_panel/__init__.py @@ -118,8 +118,7 @@ async def to_code(config): var = await alarm_control_panel.new_alarm_control_panel(config) await cg.register_component(var, config) if CONF_CODES in config: - for acode in config[CONF_CODES]: - cg.add(var.add_code(acode)) + cg.add(var.set_codes(config[CONF_CODES])) if CONF_REQUIRES_CODE_TO_ARM in config: cg.add(var.set_requires_code_to_arm(config[CONF_REQUIRES_CODE_TO_ARM])) diff --git a/esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp b/esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp index 50e43da8d5..1a5aef6b8d 100644 --- a/esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp +++ b/esphome/components/template/alarm_control_panel/template_alarm_control_panel.cpp @@ -82,7 +82,7 @@ void TemplateAlarmControlPanel::setup() { this->current_state_ = ACP_STATE_DISARMED; if (this->restore_mode_ == ALARM_CONTROL_PANEL_RESTORE_DEFAULT_DISARMED) { uint8_t value; - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); if (this->pref_.load(&value)) { this->current_state_ = static_cast(value); } @@ -206,7 +206,13 @@ bool TemplateAlarmControlPanel::is_code_valid_(optional code) { if (!this->codes_.empty()) { if (code.has_value()) { ESP_LOGVV(TAG, "Checking code: %s", code.value().c_str()); - return (std::count(this->codes_.begin(), this->codes_.end(), code.value()) == 1); + // Use strcmp for const char* comparison + const char *code_cstr = code.value().c_str(); + for (const char *stored_code : this->codes_) { + if (strcmp(stored_code, code_cstr) == 0) + return true; + } + return false; } ESP_LOGD(TAG, "No code provided"); return false; diff --git a/esphome/components/template/alarm_control_panel/template_alarm_control_panel.h b/esphome/components/template/alarm_control_panel/template_alarm_control_panel.h index 2038d8f1b0..df3b64fb6e 100644 --- a/esphome/components/template/alarm_control_panel/template_alarm_control_panel.h +++ b/esphome/components/template/alarm_control_panel/template_alarm_control_panel.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include "esphome/core/automation.h" @@ -86,11 +87,14 @@ class TemplateAlarmControlPanel final : public alarm_control_panel::AlarmControl AlarmSensorType type = ALARM_SENSOR_TYPE_DELAYED); #endif - /** add a code + /** Set the codes (from initializer list). * - * @param code The code + * @param codes The list of valid codes */ - void add_code(const std::string &code) { this->codes_.push_back(code); } + void set_codes(std::initializer_list codes) { this->codes_ = codes; } + + // Deleted overload to catch incorrect std::string usage at compile time + void set_codes(std::initializer_list codes) = delete; /** set requires a code to arm * @@ -155,8 +159,8 @@ class TemplateAlarmControlPanel final : public alarm_control_panel::AlarmControl uint32_t pending_time_; // the time in trigger uint32_t trigger_time_; - // a list of codes - std::vector codes_; + // a list of codes (const char* pointers to string literals in flash) + FixedVector codes_; // requires a code to arm bool requires_code_to_arm_ = false; bool supports_arm_home_ = false; diff --git a/esphome/components/template/datetime/template_date.cpp b/esphome/components/template/datetime/template_date.cpp index 303d5ae2b0..be1d875a7e 100644 --- a/esphome/components/template/datetime/template_date.cpp +++ b/esphome/components/template/datetime/template_date.cpp @@ -18,8 +18,7 @@ void TemplateDate::setup() { state = this->initial_value_; } else { datetime::DateEntityRestoreState temp; - this->pref_ = - global_preferences->make_preference(194434030U ^ this->get_preference_hash()); + this->pref_ = this->make_entity_preference(194434030U); if (this->pref_.load(&temp)) { temp.apply(this); return; diff --git a/esphome/components/template/datetime/template_datetime.cpp b/esphome/components/template/datetime/template_datetime.cpp index 81a823f53e..e134f2b654 100644 --- a/esphome/components/template/datetime/template_datetime.cpp +++ b/esphome/components/template/datetime/template_datetime.cpp @@ -18,8 +18,7 @@ void TemplateDateTime::setup() { state = this->initial_value_; } else { datetime::DateTimeEntityRestoreState temp; - this->pref_ = global_preferences->make_preference( - 194434090U ^ this->get_preference_hash()); + this->pref_ = this->make_entity_preference(194434090U); if (this->pref_.load(&temp)) { temp.apply(this); return; diff --git a/esphome/components/template/datetime/template_time.cpp b/esphome/components/template/datetime/template_time.cpp index 21f843dcc7..586e126e3b 100644 --- a/esphome/components/template/datetime/template_time.cpp +++ b/esphome/components/template/datetime/template_time.cpp @@ -18,8 +18,7 @@ void TemplateTime::setup() { state = this->initial_value_; } else { datetime::TimeEntityRestoreState temp; - this->pref_ = - global_preferences->make_preference(194434060U ^ this->get_preference_hash()); + this->pref_ = this->make_entity_preference(194434060U); if (this->pref_.load(&temp)) { temp.apply(this); return; diff --git a/esphome/components/template/number/template_number.cpp b/esphome/components/template/number/template_number.cpp index 76fef82225..885265cf5d 100644 --- a/esphome/components/template/number/template_number.cpp +++ b/esphome/components/template/number/template_number.cpp @@ -13,7 +13,7 @@ void TemplateNumber::setup() { if (!this->restore_value_) { value = this->initial_value_; } else { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); if (!this->pref_.load(&value)) { if (!std::isnan(this->initial_value_)) { value = this->initial_value_; diff --git a/esphome/components/template/select/__init__.py b/esphome/components/template/select/__init__.py index 0e9c240547..574f1f5fb7 100644 --- a/esphome/components/template/select/__init__.py +++ b/esphome/components/template/select/__init__.py @@ -88,5 +88,5 @@ async def to_code(config): if CONF_SET_ACTION in config: await automation.build_automation( - var.get_set_trigger(), [(cg.std_string, "x")], config[CONF_SET_ACTION] + var.get_set_trigger(), [(cg.StringRef, "x")], config[CONF_SET_ACTION] ) diff --git a/esphome/components/template/select/template_select.cpp b/esphome/components/template/select/template_select.cpp index 9d2df0956b..fa34aa9fa7 100644 --- a/esphome/components/template/select/template_select.cpp +++ b/esphome/components/template/select/template_select.cpp @@ -11,7 +11,7 @@ void TemplateSelect::setup() { size_t index = this->initial_option_index_; if (this->restore_value_) { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); size_t restored_index; if (this->pref_.load(&restored_index) && this->has_index(restored_index)) { index = restored_index; @@ -41,7 +41,7 @@ void TemplateSelect::update() { } void TemplateSelect::control(size_t index) { - this->set_trigger_->trigger(std::string(this->option_at(index))); + this->set_trigger_->trigger(StringRef(this->option_at(index))); if (this->optimistic_) this->publish_state(index); diff --git a/esphome/components/template/select/template_select.h b/esphome/components/template/select/template_select.h index 2757c51405..114d25b9ce 100644 --- a/esphome/components/template/select/template_select.h +++ b/esphome/components/template/select/template_select.h @@ -4,6 +4,7 @@ #include "esphome/core/automation.h" #include "esphome/core/component.h" #include "esphome/core/preferences.h" +#include "esphome/core/string_ref.h" #include "esphome/core/template_lambda.h" namespace esphome::template_ { @@ -17,7 +18,7 @@ class TemplateSelect final : public select::Select, public PollingComponent { void dump_config() override; float get_setup_priority() const override { return setup_priority::HARDWARE; } - Trigger *get_set_trigger() const { return this->set_trigger_; } + Trigger *get_set_trigger() const { return this->set_trigger_; } void set_optimistic(bool optimistic) { this->optimistic_ = optimistic; } void set_initial_option_index(size_t initial_option_index) { this->initial_option_index_ = initial_option_index; } void set_restore_value(bool restore_value) { this->restore_value_ = restore_value; } @@ -27,7 +28,7 @@ class TemplateSelect final : public select::Select, public PollingComponent { bool optimistic_ = false; size_t initial_option_index_{0}; bool restore_value_ = false; - Trigger *set_trigger_ = new Trigger(); + Trigger *set_trigger_ = new Trigger(); TemplateLambda f_; ESPPreferenceObject pref_; diff --git a/esphome/components/template/text/template_text.cpp b/esphome/components/template/text/template_text.cpp index 32ed8f047b..70b8dce312 100644 --- a/esphome/components/template/text/template_text.cpp +++ b/esphome/components/template/text/template_text.cpp @@ -8,16 +8,30 @@ static const char *const TAG = "template.text"; void TemplateText::setup() { if (this->f_.has_value()) return; - std::string value = this->initial_value_; - if (!this->pref_) { - ESP_LOGD(TAG, "State from initial: %s", value.c_str()); - } else { - uint32_t key = this->get_preference_hash(); - key += this->traits.get_min_length() << 2; - key += this->traits.get_max_length() << 4; - key += fnv1_hash(this->traits.get_pattern_c_str()) << 6; - this->pref_->setup(key, value); + + if (this->pref_ == nullptr) { + // No restore - use const char* directly, no heap allocation needed + if (this->initial_value_ != nullptr && this->initial_value_[0] != '\0') { + ESP_LOGD(TAG, "State from initial: %s", this->initial_value_); + this->publish_state(this->initial_value_); + } + return; } + + // Need std::string for pref_->setup() to fill from flash + std::string value{this->initial_value_ != nullptr ? this->initial_value_ : ""}; + // For future hash migration: use migrate_entity_preference_() with: + // old_key = get_preference_hash() + extra + // new_key = get_preference_hash_v2() + extra + // See: https://github.com/esphome/backlog/issues/85 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + uint32_t key = this->get_preference_hash(); +#pragma GCC diagnostic pop + key += this->traits.get_min_length() << 2; + key += this->traits.get_max_length() << 4; + key += fnv1_hash(this->traits.get_pattern_c_str()) << 6; + this->pref_->setup(key, value); if (!value.empty()) this->publish_state(value); } diff --git a/esphome/components/template/text/template_text.h b/esphome/components/template/text/template_text.h index 178b410ed2..e5e5e4f4a8 100644 --- a/esphome/components/template/text/template_text.h +++ b/esphome/components/template/text/template_text.h @@ -70,13 +70,15 @@ class TemplateText final : public text::Text, public PollingComponent { Trigger *get_set_trigger() const { return this->set_trigger_; } void set_optimistic(bool optimistic) { this->optimistic_ = optimistic; } - void set_initial_value(const std::string &initial_value) { this->initial_value_ = initial_value; } + void set_initial_value(const char *initial_value) { this->initial_value_ = initial_value; } + /// Prevent accidental use of std::string which would dangle + void set_initial_value(const std::string &initial_value) = delete; void set_value_saver(TemplateTextSaverBase *restore_value_saver) { this->pref_ = restore_value_saver; } protected: void control(const std::string &value) override; bool optimistic_ = false; - std::string initial_value_; + const char *initial_value_{nullptr}; Trigger *set_trigger_ = new Trigger(); TemplateLambda f_{}; diff --git a/esphome/components/template/water_heater/__init__.py b/esphome/components/template/water_heater/__init__.py index 716289035a..bddd378b23 100644 --- a/esphome/components/template/water_heater/__init__.py +++ b/esphome/components/template/water_heater/__init__.py @@ -20,7 +20,7 @@ from .. import template_ns CONF_CURRENT_TEMPERATURE = "current_temperature" TemplateWaterHeater = template_ns.class_( - "TemplateWaterHeater", water_heater.WaterHeater + "TemplateWaterHeater", cg.Component, water_heater.WaterHeater ) TemplateWaterHeaterPublishAction = template_ns.class_( @@ -36,24 +36,29 @@ RESTORE_MODES = { "RESTORE_AND_CALL": TemplateWaterHeaterRestoreMode.WATER_HEATER_RESTORE_AND_CALL, } -CONFIG_SCHEMA = water_heater.water_heater_schema(TemplateWaterHeater).extend( - { - cv.Optional(CONF_OPTIMISTIC, default=True): cv.boolean, - cv.Optional(CONF_SET_ACTION): automation.validate_automation(single=True), - cv.Optional(CONF_RESTORE_MODE, default="NO_RESTORE"): cv.enum( - RESTORE_MODES, upper=True - ), - cv.Optional(CONF_CURRENT_TEMPERATURE): cv.returning_lambda, - cv.Optional(CONF_MODE): cv.returning_lambda, - cv.Optional(CONF_SUPPORTED_MODES): cv.ensure_list( - water_heater.validate_water_heater_mode - ), - } +CONFIG_SCHEMA = ( + water_heater.water_heater_schema(TemplateWaterHeater) + .extend( + { + cv.Optional(CONF_OPTIMISTIC, default=True): cv.boolean, + cv.Optional(CONF_SET_ACTION): automation.validate_automation(single=True), + cv.Optional(CONF_RESTORE_MODE, default="NO_RESTORE"): cv.enum( + RESTORE_MODES, upper=True + ), + cv.Optional(CONF_CURRENT_TEMPERATURE): cv.returning_lambda, + cv.Optional(CONF_MODE): cv.returning_lambda, + cv.Optional(CONF_SUPPORTED_MODES): cv.ensure_list( + water_heater.validate_water_heater_mode + ), + } + ) + .extend(cv.COMPONENT_SCHEMA) ) async def to_code(config: ConfigType) -> None: var = cg.new_Pvariable(config[CONF_ID]) + await cg.register_component(var, config) await water_heater.register_water_heater(var, config) cg.add(var.set_optimistic(config[CONF_OPTIMISTIC])) diff --git a/esphome/components/template/water_heater/template_water_heater.cpp b/esphome/components/template/water_heater/template_water_heater.cpp index 5ae5c30f36..e89c96ca48 100644 --- a/esphome/components/template/water_heater/template_water_heater.cpp +++ b/esphome/components/template/water_heater/template_water_heater.cpp @@ -10,7 +10,7 @@ TemplateWaterHeater::TemplateWaterHeater() : set_trigger_(new Trigger<>()) {} void TemplateWaterHeater::setup() { if (this->restore_mode_ == TemplateWaterHeaterRestoreMode::WATER_HEATER_RESTORE || this->restore_mode_ == TemplateWaterHeaterRestoreMode::WATER_HEATER_RESTORE_AND_CALL) { - auto restore = this->restore_state(); + auto restore = this->restore_state_(); if (restore.has_value()) { restore->perform(); diff --git a/esphome/components/template/water_heater/template_water_heater.h b/esphome/components/template/water_heater/template_water_heater.h index e5f51b72dc..c2a2dcbb23 100644 --- a/esphome/components/template/water_heater/template_water_heater.h +++ b/esphome/components/template/water_heater/template_water_heater.h @@ -13,7 +13,7 @@ enum TemplateWaterHeaterRestoreMode { WATER_HEATER_RESTORE_AND_CALL, }; -class TemplateWaterHeater : public water_heater::WaterHeater { +class TemplateWaterHeater : public Component, public water_heater::WaterHeater { public: TemplateWaterHeater(); diff --git a/esphome/components/text/text.h b/esphome/components/text/text.h index e4ad64334b..3a1bea56cb 100644 --- a/esphome/components/text/text.h +++ b/esphome/components/text/text.h @@ -12,9 +12,7 @@ namespace text { #define LOG_TEXT(prefix, type, obj) \ if ((obj) != nullptr) { \ ESP_LOGCONFIG(TAG, "%s%s '%s'", prefix, LOG_STR_LITERAL(type), (obj)->get_name().c_str()); \ - if (!(obj)->get_icon_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Icon: '%s'", prefix, (obj)->get_icon_ref().c_str()); \ - } \ + LOG_ENTITY_ICON(TAG, prefix, *(obj)); \ } /** Base-class for all text inputs. diff --git a/esphome/components/text_sensor/filter.cpp b/esphome/components/text_sensor/filter.cpp index 4cace372ae..4ee12e8602 100644 --- a/esphome/components/text_sensor/filter.cpp +++ b/esphome/components/text_sensor/filter.cpp @@ -9,19 +9,18 @@ namespace text_sensor { static const char *const TAG = "text_sensor.filter"; // Filter -void Filter::input(const std::string &value) { +void Filter::input(std::string value) { ESP_LOGVV(TAG, "Filter(%p)::input(%s)", this, value.c_str()); - optional out = this->new_value(value); - if (out.has_value()) - this->output(*out); + if (this->new_value(value)) + this->output(value); } -void Filter::output(const std::string &value) { +void Filter::output(std::string &value) { if (this->next_ == nullptr) { ESP_LOGVV(TAG, "Filter(%p)::output(%s) -> SENSOR", this, value.c_str()); this->parent_->internal_send_state_to_frontend(value); } else { ESP_LOGVV(TAG, "Filter(%p)::output(%s) -> %p", this, value.c_str(), this->next_); - this->next_->input(value); + this->next_->input(std::move(value)); } } void Filter::initialize(TextSensor *parent, Filter *next) { @@ -35,43 +34,48 @@ LambdaFilter::LambdaFilter(lambda_filter_t lambda_filter) : lambda_filter_(std:: const lambda_filter_t &LambdaFilter::get_lambda_filter() const { return this->lambda_filter_; } void LambdaFilter::set_lambda_filter(const lambda_filter_t &lambda_filter) { this->lambda_filter_ = lambda_filter; } -optional LambdaFilter::new_value(std::string value) { - auto it = this->lambda_filter_(value); - ESP_LOGVV(TAG, "LambdaFilter(%p)::new_value(%s) -> %s", this, value.c_str(), it.value_or("").c_str()); - return it; +bool LambdaFilter::new_value(std::string &value) { + auto result = this->lambda_filter_(value); + if (result.has_value()) { + ESP_LOGVV(TAG, "LambdaFilter(%p)::new_value(%s) -> %s (continue)", this, value.c_str(), result->c_str()); + value = std::move(*result); + return true; + } + ESP_LOGVV(TAG, "LambdaFilter(%p)::new_value(%s) -> (stop)", this, value.c_str()); + return false; } // ToUpperFilter -optional ToUpperFilter::new_value(std::string value) { +bool ToUpperFilter::new_value(std::string &value) { for (char &c : value) c = ::toupper(c); - return value; + return true; } // ToLowerFilter -optional ToLowerFilter::new_value(std::string value) { +bool ToLowerFilter::new_value(std::string &value) { for (char &c : value) c = ::tolower(c); - return value; + return true; } // Append -optional AppendFilter::new_value(std::string value) { +bool AppendFilter::new_value(std::string &value) { value.append(this->suffix_); - return value; + return true; } // Prepend -optional PrependFilter::new_value(std::string value) { +bool PrependFilter::new_value(std::string &value) { value.insert(0, this->prefix_); - return value; + return true; } // Substitute SubstituteFilter::SubstituteFilter(const std::initializer_list &substitutions) : substitutions_(substitutions) {} -optional SubstituteFilter::new_value(std::string value) { +bool SubstituteFilter::new_value(std::string &value) { for (const auto &sub : this->substitutions_) { // Compute lengths once per substitution (strlen is fast, called infrequently) const size_t from_len = strlen(sub.from); @@ -84,20 +88,20 @@ optional SubstituteFilter::new_value(std::string value) { pos += to_len; } } - return value; + return true; } // Map MapFilter::MapFilter(const std::initializer_list &mappings) : mappings_(mappings) {} -optional MapFilter::new_value(std::string value) { +bool MapFilter::new_value(std::string &value) { for (const auto &mapping : this->mappings_) { if (value == mapping.from) { value.assign(mapping.to); - return value; + return true; } } - return value; // Pass through if no match + return true; // Pass through if no match } } // namespace text_sensor diff --git a/esphome/components/text_sensor/filter.h b/esphome/components/text_sensor/filter.h index 0f66b753b4..1922b503ca 100644 --- a/esphome/components/text_sensor/filter.h +++ b/esphome/components/text_sensor/filter.h @@ -17,21 +17,20 @@ class Filter { public: /** This will be called every time the filter receives a new value. * - * It can return an empty optional to indicate that the filter chain - * should stop, otherwise the value in the filter will be passed down - * the chain. + * Modify the value in place. Return false to stop the filter chain + * (value will not be published), or true to continue. * - * @param value The new value. - * @return An optional string, the new value that should be pushed out. + * @param value The value to filter (modified in place). + * @return True to continue the filter chain, false to stop. */ - virtual optional new_value(std::string value) = 0; + virtual bool new_value(std::string &value) = 0; /// Initialize this filter, please note this can be called more than once. virtual void initialize(TextSensor *parent, Filter *next); - void input(const std::string &value); + void input(std::string value); - void output(const std::string &value); + void output(std::string &value); protected: friend TextSensor; @@ -45,15 +44,14 @@ using lambda_filter_t = std::function(std::string)>; /** This class allows for creation of simple template filters. * * The constructor accepts a lambda of the form std::string -> optional. - * It will be called with each new value in the filter chain and returns the modified - * value that shall be passed down the filter chain. Returning an empty Optional - * means that the value shall be discarded. + * Return a modified string to continue the chain, or return {} to stop + * (value will not be published). */ class LambdaFilter : public Filter { public: explicit LambdaFilter(lambda_filter_t lambda_filter); - optional new_value(std::string value) override; + bool new_value(std::string &value) override; const lambda_filter_t &get_lambda_filter() const; void set_lambda_filter(const lambda_filter_t &lambda_filter); @@ -71,7 +69,14 @@ class StatelessLambdaFilter : public Filter { public: explicit StatelessLambdaFilter(optional (*lambda_filter)(std::string)) : lambda_filter_(lambda_filter) {} - optional new_value(std::string value) override { return this->lambda_filter_(value); } + bool new_value(std::string &value) override { + auto result = this->lambda_filter_(value); + if (result.has_value()) { + value = std::move(*result); + return true; + } + return false; + } protected: optional (*lambda_filter_)(std::string); @@ -80,20 +85,20 @@ class StatelessLambdaFilter : public Filter { /// A simple filter that converts all text to uppercase class ToUpperFilter : public Filter { public: - optional new_value(std::string value) override; + bool new_value(std::string &value) override; }; /// A simple filter that converts all text to lowercase class ToLowerFilter : public Filter { public: - optional new_value(std::string value) override; + bool new_value(std::string &value) override; }; /// A simple filter that adds a string to the end of another string class AppendFilter : public Filter { public: explicit AppendFilter(const char *suffix) : suffix_(suffix) {} - optional new_value(std::string value) override; + bool new_value(std::string &value) override; protected: const char *suffix_; @@ -103,7 +108,7 @@ class AppendFilter : public Filter { class PrependFilter : public Filter { public: explicit PrependFilter(const char *prefix) : prefix_(prefix) {} - optional new_value(std::string value) override; + bool new_value(std::string &value) override; protected: const char *prefix_; @@ -118,7 +123,7 @@ struct Substitution { class SubstituteFilter : public Filter { public: explicit SubstituteFilter(const std::initializer_list &substitutions); - optional new_value(std::string value) override; + bool new_value(std::string &value) override; protected: FixedVector substitutions_; @@ -151,7 +156,7 @@ class SubstituteFilter : public Filter { class MapFilter : public Filter { public: explicit MapFilter(const std::initializer_list &mappings); - optional new_value(std::string value) override; + bool new_value(std::string &value) override; protected: FixedVector mappings_; diff --git a/esphome/components/text_sensor/text_sensor.cpp b/esphome/components/text_sensor/text_sensor.cpp index 86e2387dc7..c48bdf4b82 100644 --- a/esphome/components/text_sensor/text_sensor.cpp +++ b/esphome/components/text_sensor/text_sensor.cpp @@ -15,14 +15,8 @@ void log_text_sensor(const char *tag, const char *prefix, const char *type, Text } ESP_LOGCONFIG(tag, "%s%s '%s'", prefix, type, obj->get_name().c_str()); - - if (!obj->get_device_class_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Device Class: '%s'", prefix, obj->get_device_class_ref().c_str()); - } - - if (!obj->get_icon_ref().empty()) { - ESP_LOGCONFIG(tag, "%s Icon: '%s'", prefix, obj->get_icon_ref().c_str()); - } + LOG_ENTITY_DEVICE_CLASS(tag, prefix, *obj); + LOG_ENTITY_ICON(tag, prefix, *obj); } void TextSensor::publish_state(const std::string &state) { this->publish_state(state.data(), state.size()); } diff --git a/esphome/components/thermostat/thermostat_climate.cpp b/esphome/components/thermostat/thermostat_climate.cpp index 0416438dcd..44087969b5 100644 --- a/esphome/components/thermostat/thermostat_climate.cpp +++ b/esphome/components/thermostat/thermostat_climate.cpp @@ -1060,11 +1060,11 @@ bool ThermostatClimate::cooling_required_() { auto temperature = this->supports_two_points_ ? this->target_temperature_high : this->target_temperature; if (this->supports_cool_) { - if (this->current_temperature > temperature + this->cooling_deadband_) { - // if the current temperature exceeds the target + deadband, cooling is required + if (this->current_temperature >= temperature + this->cooling_deadband_) { + // if the current temperature reaches or exceeds the target + deadband, cooling is required return true; - } else if (this->current_temperature < temperature - this->cooling_overrun_) { - // if the current temperature is less than the target - overrun, cooling should stop + } else if (this->current_temperature <= temperature - this->cooling_overrun_) { + // if the current temperature is less than or equal to the target - overrun, cooling should stop return false; } else { // if we get here, the current temperature is between target + deadband and target - overrun, @@ -1081,11 +1081,11 @@ bool ThermostatClimate::fanning_required_() { if (this->supports_fan_only_) { if (this->supports_fan_only_cooling_) { - if (this->current_temperature > temperature + this->cooling_deadband_) { - // if the current temperature exceeds the target + deadband, fanning is required + if (this->current_temperature >= temperature + this->cooling_deadband_) { + // if the current temperature reaches or exceeds the target + deadband, fanning is required return true; - } else if (this->current_temperature < temperature - this->cooling_overrun_) { - // if the current temperature is less than the target - overrun, fanning should stop + } else if (this->current_temperature <= temperature - this->cooling_overrun_) { + // if the current temperature is less than or equal to the target - overrun, fanning should stop return false; } else { // if we get here, the current temperature is between target + deadband and target - overrun, @@ -1103,11 +1103,12 @@ bool ThermostatClimate::heating_required_() { auto temperature = this->supports_two_points_ ? this->target_temperature_low : this->target_temperature; if (this->supports_heat_) { - if (this->current_temperature < temperature - this->heating_deadband_) { - // if the current temperature is below the target - deadband, heating is required + if (this->current_temperature <= temperature - this->heating_deadband_) { + // if the current temperature is below or equal to the target - deadband, heating is required return true; - } else if (this->current_temperature > temperature + this->heating_overrun_) { - // if the current temperature is above the target + overrun, heating should stop + } else if (this->current_temperature >= temperature + this->heating_overrun_) { + // if the current temperature is above or equal to the target + overrun, heating should stop + return false; } else { // if we get here, the current temperature is between target - deadband and target + overrun, diff --git a/esphome/components/time/real_time_clock.cpp b/esphome/components/time/real_time_clock.cpp index f217d14c55..8a78186178 100644 --- a/esphome/components/time/real_time_clock.cpp +++ b/esphome/components/time/real_time_clock.cpp @@ -27,6 +27,9 @@ void RealTimeClock::dump_config() { #ifdef USE_TIME_TIMEZONE ESP_LOGCONFIG(TAG, "Timezone: '%s'", this->timezone_.c_str()); #endif + auto time = this->now(); + ESP_LOGCONFIG(TAG, "Current time: %04d-%02d-%02d %02d:%02d:%02d", time.year, time.month, time.day_of_month, time.hour, + time.minute, time.second); } void RealTimeClock::synchronize_epoch_(uint32_t epoch) { @@ -40,6 +43,9 @@ void RealTimeClock::synchronize_epoch_(uint32_t epoch) { // Unsigned subtraction handles wraparound correctly, then cast to signed int32_t diff = static_cast(epoch - static_cast(current_time)); if (diff >= -1 && diff <= 1) { + // Time is already synchronized, but still call callbacks so components + // waiting for time sync (e.g., uptime timestamp sensor) can initialize + this->time_sync_callback_.call(); return; } } diff --git a/esphome/components/tm1638/tm1638.cpp b/esphome/components/tm1638/tm1638.cpp index 7ba63fe218..8ef546ff32 100644 --- a/esphome/components/tm1638/tm1638.cpp +++ b/esphome/components/tm1638/tm1638.cpp @@ -35,9 +35,6 @@ void TM1638Component::setup() { this->set_intensity(intensity_); this->reset_(); // all LEDs off - - for (uint8_t i = 0; i < 8; i++) // zero fill print buffer - this->buffer_[i] = 0; } void TM1638Component::dump_config() { diff --git a/esphome/components/tm1638/tm1638.h b/esphome/components/tm1638/tm1638.h index f6b2922ecf..27898aa3dc 100644 --- a/esphome/components/tm1638/tm1638.h +++ b/esphome/components/tm1638/tm1638.h @@ -70,7 +70,7 @@ class TM1638Component : public PollingComponent { GPIOPin *clk_pin_; GPIOPin *stb_pin_; GPIOPin *dio_pin_; - uint8_t *buffer_ = new uint8_t[8]; + uint8_t buffer_[8]{}; tm1638_writer_t writer_{}; std::vector listeners_{}; }; diff --git a/esphome/components/tormatic/tormatic_protocol.h b/esphome/components/tormatic/tormatic_protocol.h index e26535e985..057713b884 100644 --- a/esphome/components/tormatic/tormatic_protocol.h +++ b/esphome/components/tormatic/tormatic_protocol.h @@ -55,6 +55,7 @@ enum MessageType : uint16_t { COMMAND = 0x0106, }; +// Max string length: 7 ("Unknown"/"Command"). Update print() buffer sizes if adding longer strings. inline const char *message_type_to_str(MessageType t) { switch (t) { case STATUS: @@ -83,7 +84,11 @@ struct MessageHeader { } std::string print() { - return str_sprintf("MessageHeader: seq %d, len %d, type %s", this->seq, this->len, message_type_to_str(this->type)); + // 64 bytes: "MessageHeader: seq " + uint16 + ", len " + uint32 + ", type " + type + safety margin + char buf[64]; + buf_append_printf(buf, sizeof(buf), 0, "MessageHeader: seq %d, len %d, type %s", this->seq, this->len, + message_type_to_str(this->type)); + return buf; } void byteswap() { @@ -131,6 +136,7 @@ inline CoverOperation gate_status_to_cover_operation(GateStatus s) { return COVER_OPERATION_IDLE; } +// Max string length: 11 ("Ventilating"). Update print() buffer sizes if adding longer strings. inline const char *gate_status_to_str(GateStatus s) { switch (s) { case PAUSED: @@ -170,7 +176,12 @@ struct StatusReply { GateStatus state; uint8_t trailer = 0x0; - std::string print() { return str_sprintf("StatusReply: state %s", gate_status_to_str(this->state)); } + std::string print() { + // 48 bytes: "StatusReply: state " (19) + state (11) + safety margin + char buf[48]; + buf_append_printf(buf, sizeof(buf), 0, "StatusReply: state %s", gate_status_to_str(this->state)); + return buf; + } void byteswap(){}; } __attribute__((packed)); @@ -202,7 +213,12 @@ struct CommandRequestReply { CommandRequestReply() = default; CommandRequestReply(GateStatus state) { this->state = state; } - std::string print() { return str_sprintf("CommandRequestReply: state %s", gate_status_to_str(this->state)); } + std::string print() { + // 56 bytes: "CommandRequestReply: state " (27) + state (11) + safety margin + char buf[56]; + buf_append_printf(buf, sizeof(buf), 0, "CommandRequestReply: state %s", gate_status_to_str(this->state)); + return buf; + } void byteswap() { this->type = convert_big_endian(this->type); } } __attribute__((packed)); diff --git a/esphome/components/toshiba/toshiba.cpp b/esphome/components/toshiba/toshiba.cpp index 5efa70d6b4..7b5e78af52 100644 --- a/esphome/components/toshiba/toshiba.cpp +++ b/esphome/components/toshiba/toshiba.cpp @@ -1,5 +1,6 @@ #include "toshiba.h" #include "esphome/components/remote_base/toshiba_ac_protocol.h" +#include "esphome/core/helpers.h" #include @@ -427,10 +428,17 @@ void ToshibaClimate::setup() { // Never send nan to HA if (std::isnan(this->target_temperature)) this->target_temperature = 24; +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE // Log final state for debugging HA errors - ESP_LOGV(TAG, "Setup complete - Mode: %d, Fan: %s, Swing: %d, Temp: %.1f", static_cast(this->mode), - this->fan_mode.has_value() ? std::to_string(static_cast(this->fan_mode.value())).c_str() : "NONE", + const char *fan_mode_str = "NONE"; + char fan_mode_buf[4]; // max 3 digits for fan mode enum + null + if (this->fan_mode.has_value()) { + buf_append_printf(fan_mode_buf, sizeof(fan_mode_buf), 0, "%d", static_cast(this->fan_mode.value())); + fan_mode_str = fan_mode_buf; + } + ESP_LOGV(TAG, "Setup complete - Mode: %d, Fan: %s, Swing: %d, Temp: %.1f", static_cast(this->mode), fan_mode_str, static_cast(this->swing_mode), this->target_temperature); +#endif } void ToshibaClimate::transmit_state() { diff --git a/esphome/components/total_daily_energy/total_daily_energy.cpp b/esphome/components/total_daily_energy/total_daily_energy.cpp index 818696f99b..e7a45a5edf 100644 --- a/esphome/components/total_daily_energy/total_daily_energy.cpp +++ b/esphome/components/total_daily_energy/total_daily_energy.cpp @@ -10,7 +10,7 @@ void TotalDailyEnergy::setup() { float initial_value = 0; if (this->restore_) { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); this->pref_.load(&initial_value); } this->publish_state_and_save(initial_value); diff --git a/esphome/components/tuya/light/tuya_light.cpp b/esphome/components/tuya/light/tuya_light.cpp index c487f9f50b..097b3c1af8 100644 --- a/esphome/components/tuya/light/tuya_light.cpp +++ b/esphome/components/tuya/light/tuya_light.cpp @@ -191,7 +191,7 @@ void TuyaLight::write_state(light::LightState *state) { case TuyaColorType::RGB: { char buffer[7]; const char *format_str = this->color_type_lowercase_ ? "%02x%02x%02x" : "%02X%02X%02X"; - sprintf(buffer, format_str, int(red * 255), int(green * 255), int(blue * 255)); + snprintf(buffer, sizeof(buffer), format_str, int(red * 255), int(green * 255), int(blue * 255)); color_value = buffer; break; } @@ -201,7 +201,7 @@ void TuyaLight::write_state(light::LightState *state) { rgb_to_hsv(red, green, blue, hue, saturation, value); char buffer[13]; const char *format_str = this->color_type_lowercase_ ? "%04x%04x%04x" : "%04X%04X%04X"; - sprintf(buffer, format_str, hue, int(saturation * 1000), int(value * 1000)); + snprintf(buffer, sizeof(buffer), format_str, hue, int(saturation * 1000), int(value * 1000)); color_value = buffer; break; } @@ -211,8 +211,8 @@ void TuyaLight::write_state(light::LightState *state) { rgb_to_hsv(red, green, blue, hue, saturation, value); char buffer[15]; const char *format_str = this->color_type_lowercase_ ? "%02x%02x%02x%04x%02x%02x" : "%02X%02X%02X%04X%02X%02X"; - sprintf(buffer, format_str, int(red * 255), int(green * 255), int(blue * 255), hue, int(saturation * 255), - int(value * 255)); + snprintf(buffer, sizeof(buffer), format_str, int(red * 255), int(green * 255), int(blue * 255), hue, + int(saturation * 255), int(value * 255)); color_value = buffer; break; } diff --git a/esphome/components/tuya/number/tuya_number.cpp b/esphome/components/tuya/number/tuya_number.cpp index 44b22167de..fd22e642c6 100644 --- a/esphome/components/tuya/number/tuya_number.cpp +++ b/esphome/components/tuya/number/tuya_number.cpp @@ -8,7 +8,7 @@ static const char *const TAG = "tuya.number"; void TuyaNumber::setup() { if (this->restore_value_) { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); + this->pref_ = this->make_entity_preference(); } this->parent_->register_listener(this->number_id_, [this](const TuyaDatapoint &datapoint) { diff --git a/esphome/components/tuya/text_sensor/tuya_text_sensor.cpp b/esphome/components/tuya/text_sensor/tuya_text_sensor.cpp index 36b6d630ae..b15fb6f85a 100644 --- a/esphome/components/tuya/text_sensor/tuya_text_sensor.cpp +++ b/esphome/components/tuya/text_sensor/tuya_text_sensor.cpp @@ -24,7 +24,7 @@ void TuyaTextSensor::setup() { } case TuyaDatapointType::ENUM: { char buf[4]; // uint8_t max is 3 digits + null - snprintf(buf, sizeof(buf), "%u", datapoint.value_enum); + buf_append_printf(buf, sizeof(buf), 0, "%u", datapoint.value_enum); ESP_LOGD(TAG, "MCU reported text sensor %u is: %s", datapoint.id, buf); this->publish_state(buf); break; diff --git a/esphome/components/uart/uart_debugger.cpp b/esphome/components/uart/uart_debugger.cpp index b51a57d68e..5490154d01 100644 --- a/esphome/components/uart/uart_debugger.cpp +++ b/esphome/components/uart/uart_debugger.cpp @@ -107,7 +107,7 @@ void UARTDebug::log_hex(UARTDirection direction, std::vector bytes, uin if (i > 0) { res += separator; } - sprintf(buf, "%02X", bytes[i]); + buf_append_printf(buf, sizeof(buf), 0, "%02X", bytes[i]); res += buf; } ESP_LOGD(TAG, "%s", res.c_str()); @@ -147,7 +147,7 @@ void UARTDebug::log_string(UARTDirection direction, std::vector bytes) } else if (bytes[i] == 92) { res += "\\\\"; } else if (bytes[i] < 32 || bytes[i] > 127) { - sprintf(buf, "\\x%02X", bytes[i]); + buf_append_printf(buf, sizeof(buf), 0, "\\x%02X", bytes[i]); res += buf; } else { res += bytes[i]; @@ -166,11 +166,13 @@ void UARTDebug::log_int(UARTDirection direction, std::vector bytes, uin } else { res += ">>> "; } + char buf[4]; // max 3 digits for uint8_t (255) + null for (size_t i = 0; i < len; i++) { if (i > 0) { res += separator; } - res += to_string(bytes[i]); + buf_append_printf(buf, sizeof(buf), 0, "%u", bytes[i]); + res += buf; } ESP_LOGD(TAG, "%s", res.c_str()); delay(10); @@ -189,7 +191,7 @@ void UARTDebug::log_binary(UARTDirection direction, std::vector bytes, if (i > 0) { res += separator; } - sprintf(buf, "0b" BYTE_TO_BINARY_PATTERN " (0x%02X)", BYTE_TO_BINARY(bytes[i]), bytes[i]); + buf_append_printf(buf, sizeof(buf), 0, "0b" BYTE_TO_BINARY_PATTERN " (0x%02X)", BYTE_TO_BINARY(bytes[i]), bytes[i]); res += buf; } ESP_LOGD(TAG, "%s", res.c_str()); diff --git a/esphome/components/udp/__init__.py b/esphome/components/udp/__init__.py index 69abf4b989..9be196d420 100644 --- a/esphome/components/udp/__init__.py +++ b/esphome/components/udp/__init__.py @@ -108,8 +108,7 @@ async def to_code(config): cg.add(var.set_broadcast_port(conf_port[CONF_BROADCAST_PORT])) if (listen_address := str(config[CONF_LISTEN_ADDRESS])) != "255.255.255.255": cg.add(var.set_listen_address(listen_address)) - for address in config[CONF_ADDRESSES]: - cg.add(var.add_address(str(address))) + cg.add(var.set_addresses([str(addr) for addr in config[CONF_ADDRESSES]])) if on_receive := config.get(CONF_ON_RECEIVE): on_receive = on_receive[0] trigger = cg.new_Pvariable(on_receive[CONF_TRIGGER_ID]) diff --git a/esphome/components/udp/udp_component.cpp b/esphome/components/udp/udp_component.cpp index 4474efeb77..947a59dfa9 100644 --- a/esphome/components/udp/udp_component.cpp +++ b/esphome/components/udp/udp_component.cpp @@ -5,8 +5,7 @@ #include "esphome/components/network/util.h" #include "udp_component.h" -namespace esphome { -namespace udp { +namespace esphome::udp { static const char *const TAG = "udp"; @@ -95,7 +94,7 @@ void UDPComponent::setup() { // 8266 and RP2040 `Duino for (const auto &address : this->addresses_) { auto ipaddr = IPAddress(); - ipaddr.fromString(address.c_str()); + ipaddr.fromString(address); this->ipaddrs_.push_back(ipaddr); } if (this->should_listen_) @@ -130,8 +129,8 @@ void UDPComponent::dump_config() { " Listen Port: %u\n" " Broadcast Port: %u", this->listen_port_, this->broadcast_port_); - for (const auto &address : this->addresses_) - ESP_LOGCONFIG(TAG, " Address: %s", address.c_str()); + for (const char *address : this->addresses_) + ESP_LOGCONFIG(TAG, " Address: %s", address); if (this->listen_address_.has_value()) { char addr_buf[network::IP_ADDRESS_BUFFER_SIZE]; ESP_LOGCONFIG(TAG, " Listen address: %s", this->listen_address_.value().str_to(addr_buf)); @@ -162,7 +161,6 @@ void UDPComponent::send_packet(const uint8_t *data, size_t size) { } #endif } -} // namespace udp -} // namespace esphome +} // namespace esphome::udp #endif diff --git a/esphome/components/udp/udp_component.h b/esphome/components/udp/udp_component.h index 065789ae28..9967e4dbbb 100644 --- a/esphome/components/udp/udp_component.h +++ b/esphome/components/udp/udp_component.h @@ -2,6 +2,7 @@ #include "esphome/core/defines.h" #ifdef USE_NETWORK +#include "esphome/core/helpers.h" #include "esphome/components/network/ip_address.h" #if defined(USE_SOCKET_IMPL_BSD_SOCKETS) || defined(USE_SOCKET_IMPL_LWIP_SOCKETS) #include "esphome/components/socket/socket.h" @@ -9,15 +10,17 @@ #ifdef USE_SOCKET_IMPL_LWIP_TCP #include #endif +#include #include -namespace esphome { -namespace udp { +namespace esphome::udp { static const size_t MAX_PACKET_SIZE = 508; class UDPComponent : public Component { public: - void add_address(const char *addr) { this->addresses_.emplace_back(addr); } + void set_addresses(std::initializer_list addresses) { this->addresses_ = addresses; } + /// Prevent accidental use of std::string which would dangle + void set_addresses(std::initializer_list addresses) = delete; void set_listen_address(const char *listen_addr) { this->listen_address_ = network::IPAddress(listen_addr); } void set_listen_port(uint16_t port) { this->listen_port_ = port; } void set_broadcast_port(uint16_t port) { this->broadcast_port_ = port; } @@ -49,11 +52,10 @@ class UDPComponent : public Component { std::vector ipaddrs_{}; WiFiUDP udp_client_{}; #endif - std::vector addresses_{}; + FixedVector addresses_{}; optional listen_address_{}; }; -} // namespace udp -} // namespace esphome +} // namespace esphome::udp #endif diff --git a/esphome/components/uln2003/uln2003.cpp b/esphome/components/uln2003/uln2003.cpp index 11e1c3d4c0..a2244eadaa 100644 --- a/esphome/components/uln2003/uln2003.cpp +++ b/esphome/components/uln2003/uln2003.cpp @@ -1,11 +1,23 @@ #include "uln2003.h" #include "esphome/core/log.h" -namespace esphome { -namespace uln2003 { +namespace esphome::uln2003 { static const char *const TAG = "uln2003.stepper"; +static const LogString *step_mode_to_log_string(ULN2003StepMode mode) { + switch (mode) { + case ULN2003_STEP_MODE_FULL_STEP: + return LOG_STR("FULL STEP"); + case ULN2003_STEP_MODE_HALF_STEP: + return LOG_STR("HALF STEP"); + case ULN2003_STEP_MODE_WAVE_DRIVE: + return LOG_STR("WAVE DRIVE"); + default: + return LOG_STR("UNKNOWN"); + } +} + void ULN2003::setup() { this->pin_a_->setup(); this->pin_b_->setup(); @@ -42,22 +54,7 @@ void ULN2003::dump_config() { LOG_PIN(" Pin B: ", this->pin_b_); LOG_PIN(" Pin C: ", this->pin_c_); LOG_PIN(" Pin D: ", this->pin_d_); - const char *step_mode_s; - switch (this->step_mode_) { - case ULN2003_STEP_MODE_FULL_STEP: - step_mode_s = "FULL STEP"; - break; - case ULN2003_STEP_MODE_HALF_STEP: - step_mode_s = "HALF STEP"; - break; - case ULN2003_STEP_MODE_WAVE_DRIVE: - step_mode_s = "WAVE DRIVE"; - break; - default: - step_mode_s = "UNKNOWN"; - break; - } - ESP_LOGCONFIG(TAG, " Step Mode: %s", step_mode_s); + ESP_LOGCONFIG(TAG, " Step Mode: %s", LOG_STR_ARG(step_mode_to_log_string(this->step_mode_))); } void ULN2003::write_step_(int32_t step) { int32_t n = this->step_mode_ == ULN2003_STEP_MODE_HALF_STEP ? 8 : 4; @@ -90,5 +87,4 @@ void ULN2003::write_step_(int32_t step) { this->pin_d_->digital_write((res >> 3) & 1); } -} // namespace uln2003 -} // namespace esphome +} // namespace esphome::uln2003 diff --git a/esphome/components/uln2003/uln2003.h b/esphome/components/uln2003/uln2003.h index 4f559ed9a0..70f55f72bf 100644 --- a/esphome/components/uln2003/uln2003.h +++ b/esphome/components/uln2003/uln2003.h @@ -4,8 +4,7 @@ #include "esphome/core/hal.h" #include "esphome/components/stepper/stepper.h" -namespace esphome { -namespace uln2003 { +namespace esphome::uln2003 { enum ULN2003StepMode { ULN2003_STEP_MODE_FULL_STEP, @@ -40,5 +39,4 @@ class ULN2003 : public stepper::Stepper, public Component { int32_t current_uln_pos_{0}; }; -} // namespace uln2003 -} // namespace esphome +} // namespace esphome::uln2003 diff --git a/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp b/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp index b7b3273f39..acd3980a1a 100644 --- a/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp +++ b/esphome/components/uptime/text_sensor/uptime_text_sensor.cpp @@ -9,17 +9,12 @@ namespace uptime { static const char *const TAG = "uptime.sensor"; -// Clamp position to valid buffer range when snprintf indicates truncation -static size_t clamp_buffer_pos(size_t pos, size_t buf_size) { return pos < buf_size ? pos : buf_size - 1; } - static void append_unit(char *buf, size_t buf_size, size_t &pos, const char *separator, unsigned value, const char *label) { if (pos > 0) { - pos += snprintf(buf + pos, buf_size - pos, "%s", separator); - pos = clamp_buffer_pos(pos, buf_size); + pos = buf_append_printf(buf, buf_size, pos, "%s", separator); } - pos += snprintf(buf + pos, buf_size - pos, "%u%s", value, label); - pos = clamp_buffer_pos(pos, buf_size); + pos = buf_append_printf(buf, buf_size, pos, "%u%s", value, label); } void UptimeTextSensor::setup() { diff --git a/esphome/components/valve/valve.cpp b/esphome/components/valve/valve.cpp index a9086747ce..607f614ef7 100644 --- a/esphome/components/valve/valve.cpp +++ b/esphome/components/valve/valve.cpp @@ -2,6 +2,8 @@ #include "esphome/core/defines.h" #include "esphome/core/controller_registry.h" #include "esphome/core/log.h" +#include "esphome/core/progmem.h" + #include namespace esphome { @@ -38,13 +40,13 @@ Valve::Valve() : position{VALVE_OPEN} {} ValveCall::ValveCall(Valve *parent) : parent_(parent) {} ValveCall &ValveCall::set_command(const char *command) { - if (strcasecmp(command, "OPEN") == 0) { + if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR("OPEN")) == 0) { this->set_command_open(); - } else if (strcasecmp(command, "CLOSE") == 0) { + } else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR("CLOSE")) == 0) { this->set_command_close(); - } else if (strcasecmp(command, "STOP") == 0) { + } else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR("STOP")) == 0) { this->set_command_stop(); - } else if (strcasecmp(command, "TOGGLE") == 0) { + } else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR("TOGGLE")) == 0) { this->set_command_toggle(); } else { ESP_LOGW(TAG, "'%s' - Unrecognized command %s", this->parent_->get_name().c_str(), command); @@ -161,7 +163,7 @@ void Valve::publish_state(bool save) { } } optional Valve::restore_state_() { - this->rtc_ = global_preferences->make_preference(this->get_preference_hash()); + this->rtc_ = this->make_entity_preference(); ValveRestoreState recovered{}; if (!this->rtc_.load(&recovered)) return {}; diff --git a/esphome/components/valve/valve.h b/esphome/components/valve/valve.h index 2b3419b67a..cd46144372 100644 --- a/esphome/components/valve/valve.h +++ b/esphome/components/valve/valve.h @@ -20,9 +20,7 @@ const extern float VALVE_CLOSED; if (traits_.get_is_assumed_state()) { \ ESP_LOGCONFIG(TAG, "%s Assumed State: YES", prefix); \ } \ - if (!(obj)->get_device_class_ref().empty()) { \ - ESP_LOGCONFIG(TAG, "%s Device Class: '%s'", prefix, (obj)->get_device_class_ref().c_str()); \ - } \ + LOG_ENTITY_DEVICE_CLASS(TAG, prefix, *(obj)); \ } class Valve; diff --git a/esphome/components/voice_assistant/voice_assistant.h b/esphome/components/voice_assistant/voice_assistant.h index b1b3df7bbd..d61a8fbbc1 100644 --- a/esphome/components/voice_assistant/voice_assistant.h +++ b/esphome/components/voice_assistant/voice_assistant.h @@ -81,6 +81,8 @@ struct Timer { this->id.c_str(), this->name.c_str(), this->total_seconds, this->seconds_left, YESNO(this->is_active)); return buffer.data(); } + // Remove before 2026.8.0 + ESPDEPRECATED("Use to_str() instead. Removed in 2026.8.0", "2026.2.0") std::string to_string() const { char buffer[TO_STR_BUFFER_SIZE]; return this->to_str(buffer); diff --git a/esphome/components/water_heater/__init__.py b/esphome/components/water_heater/__init__.py index 5420e7c435..db32c2d919 100644 --- a/esphome/components/water_heater/__init__.py +++ b/esphome/components/water_heater/__init__.py @@ -18,7 +18,7 @@ CODEOWNERS = ["@dhoeben"] IS_PLATFORM_COMPONENT = True water_heater_ns = cg.esphome_ns.namespace("water_heater") -WaterHeater = water_heater_ns.class_("WaterHeater", cg.EntityBase, cg.Component) +WaterHeater = water_heater_ns.class_("WaterHeater", cg.EntityBase) WaterHeaterCall = water_heater_ns.class_("WaterHeaterCall") WaterHeaterTraits = water_heater_ns.class_("WaterHeaterTraits") @@ -46,7 +46,7 @@ _WATER_HEATER_SCHEMA = cv.ENTITY_BASE_SCHEMA.extend( } ), } -).extend(cv.COMPONENT_SCHEMA) +) _WATER_HEATER_SCHEMA.add_extra(entity_duplicate_validator("water_heater")) @@ -91,8 +91,6 @@ async def register_water_heater(var: cg.Pvariable, config: ConfigType) -> cg.Pva cg.add_define("USE_WATER_HEATER") - await cg.register_component(var, config) - cg.add(cg.App.register_water_heater(var)) CORE.register_platform_component("water_heater", var) diff --git a/esphome/components/water_heater/water_heater.cpp b/esphome/components/water_heater/water_heater.cpp index 7b947057e1..7266294d84 100644 --- a/esphome/components/water_heater/water_heater.cpp +++ b/esphome/components/water_heater/water_heater.cpp @@ -146,10 +146,6 @@ void WaterHeaterCall::validate_() { } } -void WaterHeater::setup() { - this->pref_ = global_preferences->make_preference(this->get_preference_hash()); -} - void WaterHeater::publish_state() { auto traits = this->get_traits(); ESP_LOGD(TAG, @@ -188,7 +184,8 @@ void WaterHeater::publish_state() { this->pref_.save(&saved); } -optional WaterHeater::restore_state() { +optional WaterHeater::restore_state_() { + this->pref_ = this->make_entity_preference(); SavedWaterHeaterState recovered{}; if (!this->pref_.load(&recovered)) return {}; diff --git a/esphome/components/water_heater/water_heater.h b/esphome/components/water_heater/water_heater.h index e223dd59b2..84fc46d208 100644 --- a/esphome/components/water_heater/water_heater.h +++ b/esphome/components/water_heater/water_heater.h @@ -177,7 +177,7 @@ class WaterHeaterTraits { WaterHeaterModeMask supported_modes_; }; -class WaterHeater : public EntityBase, public Component { +class WaterHeater : public EntityBase { public: WaterHeaterMode get_mode() const { return this->mode_; } float get_current_temperature() const { return this->current_temperature_; } @@ -204,16 +204,15 @@ class WaterHeater : public EntityBase, public Component { #endif virtual void control(const WaterHeaterCall &call) = 0; - void setup() override; - - optional restore_state(); - protected: virtual WaterHeaterTraits traits() = 0; /// Log the traits of this water heater for dump_config(). void dump_traits_(const char *tag); + /// Restore the state of the water heater, call this from your setup() method. + optional restore_state_(); + /// Set the mode of the water heater. Should only be called from control(). void set_mode_(WaterHeaterMode mode) { this->mode_ = mode; } /// Set the target temperature of the water heater. Should only be called from control(). diff --git a/esphome/components/waveshare_epaper/__init__.py b/esphome/components/waveshare_epaper/__init__.py index c58ce8a01e..b410406a58 100644 --- a/esphome/components/waveshare_epaper/__init__.py +++ b/esphome/components/waveshare_epaper/__init__.py @@ -1 +1,6 @@ CODEOWNERS = ["@clydebarrow"] + +DEPRECATED_COMPONENT = """ +The 'waveshare_epaper' component is deprecated and no new models will be added to it. +New model PRs should target the newer and more performant 'epaper_spi' component. +""" diff --git a/esphome/components/waveshare_epaper/display.py b/esphome/components/waveshare_epaper/display.py index cea0b2be5e..5db7a1fc3d 100644 --- a/esphome/components/waveshare_epaper/display.py +++ b/esphome/components/waveshare_epaper/display.py @@ -239,7 +239,7 @@ async def to_code(config): raise NotImplementedError() await display.register_display(var, config) - await spi.register_spi_device(var, config) + await spi.register_spi_device(var, config, write_only=True) dc = await cg.gpio_pin_expression(config[CONF_DC_PIN]) cg.add(var.set_dc_pin(dc)) diff --git a/esphome/components/web_server/__init__.py b/esphome/components/web_server/__init__.py index 3f1e094afc..8b02a6baee 100644 --- a/esphome/components/web_server/__init__.py +++ b/esphome/components/web_server/__init__.py @@ -31,6 +31,7 @@ from esphome.const import ( PLATFORM_ESP32, PLATFORM_ESP8266, PLATFORM_LN882X, + PLATFORM_RP2040, PLATFORM_RTL87XX, ) from esphome.core import CORE, CoroPriority, coroutine_with_priority @@ -213,6 +214,7 @@ CONFIG_SCHEMA = cv.All( PLATFORM_ESP8266, PLATFORM_BK72XX, PLATFORM_LN882X, + PLATFORM_RP2040, PLATFORM_RTL87XX, ] ), diff --git a/esphome/components/web_server/list_entities.cpp b/esphome/components/web_server/list_entities.cpp index 0af9521326..8458298062 100644 --- a/esphome/components/web_server/list_entities.cpp +++ b/esphome/components/web_server/list_entities.cpp @@ -143,7 +143,7 @@ bool ListEntitiesIterator::on_water_heater(water_heater::WaterHeater *obj) { #ifdef USE_INFRARED bool ListEntitiesIterator::on_infrared(infrared::Infrared *obj) { - // Infrared web_server support not yet implemented - this stub acknowledges the entity + this->events_->deferrable_send_state(obj, "state_detail_all", WebServer::infrared_all_json_generator); return true; } #endif diff --git a/esphome/components/web_server/ota/ota_web_server.cpp b/esphome/components/web_server/ota/ota_web_server.cpp index 3793f01eb5..4be162ccd3 100644 --- a/esphome/components/web_server/ota/ota_web_server.cpp +++ b/esphome/components/web_server/ota/ota_web_server.cpp @@ -32,8 +32,15 @@ class OTARequestHandler : public AsyncWebHandler { void handleUpload(AsyncWebServerRequest *request, const PlatformString &filename, size_t index, uint8_t *data, size_t len, bool final) override; bool canHandle(AsyncWebServerRequest *request) const override { - // Check if this is an OTA update request - bool is_ota_request = request->url() == "/update" && request->method() == HTTP_POST; + if (request->method() != HTTP_POST) + return false; + // Check if this is an OTA update request +#ifdef USE_ESP32 + char url_buf[AsyncWebServerRequest::URL_BUF_SIZE]; + bool is_ota_request = request->url_to(url_buf) == "/update"; +#else + bool is_ota_request = request->url() == ESPHOME_F("/update"); +#endif #if defined(USE_WEBSERVER_OTA_DISABLED) && defined(USE_CAPTIVE_PORTAL) // IMPORTANT: USE_WEBSERVER_OTA_DISABLED only disables OTA for the web_server component diff --git a/esphome/components/web_server/server_index_v2.h b/esphome/components/web_server/server_index_v2.h index b224354a6b..cc37db6a6b 100644 --- a/esphome/components/web_server/server_index_v2.h +++ b/esphome/components/web_server/server_index_v2.h @@ -10,1239 +10,1306 @@ namespace esphome::web_server { #ifdef USE_WEBSERVER_GZIP const uint8_t INDEX_GZ[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xed, 0x7d, 0xdb, 0x72, 0xe3, 0x46, 0x96, 0xe0, 0xf3, - 0xfa, 0x2b, 0x20, 0x58, 0x2d, 0x23, 0x9b, 0x49, 0xf0, 0x22, 0xa9, 0x4a, 0x05, 0x32, 0xc9, 0x56, 0xa9, 0xca, 0x5d, - 0x76, 0xd7, 0xcd, 0xa5, 0xb2, 0xdd, 0x6e, 0x5a, 0x2d, 0x42, 0x40, 0x92, 0x48, 0x17, 0x08, 0xd0, 0x40, 0x52, 0x17, - 0x93, 0x98, 0xd8, 0x0f, 0xd8, 0x88, 0x8d, 0xd8, 0xa7, 0x7d, 0xd9, 0xd8, 0x79, 0xd8, 0x8f, 0xd8, 0xe7, 0xf9, 0x94, - 0xf9, 0x81, 0xdd, 0x4f, 0xd8, 0x38, 0x79, 0x01, 0x12, 0xbc, 0xa8, 0x54, 0xb6, 0x7b, 0x66, 0x1e, 0x36, 0x1c, 0x56, - 0x11, 0x89, 0xbc, 0x9c, 0x3c, 0x79, 0xf2, 0xdc, 0x33, 0xd1, 0xdf, 0x0b, 0xd3, 0x80, 0xdf, 0xcd, 0xa9, 0x15, 0xf1, - 0x59, 0x3c, 0xe8, 0xab, 0xbf, 0xd4, 0x0f, 0x07, 0xfd, 0x98, 0x25, 0x1f, 0xac, 0x8c, 0xc6, 0x84, 0x05, 0x69, 0x62, - 0x45, 0x19, 0x9d, 0x90, 0xd0, 0xe7, 0xbe, 0xc7, 0x66, 0xfe, 0x94, 0x5a, 0xad, 0x41, 0x7f, 0x46, 0xb9, 0x6f, 0x05, - 0x91, 0x9f, 0xe5, 0x94, 0x93, 0x6f, 0xdf, 0x7f, 0xd9, 0x3c, 0x19, 0xf4, 0xf3, 0x20, 0x63, 0x73, 0x6e, 0x41, 0x97, - 0x64, 0x96, 0x86, 0x8b, 0x98, 0x0e, 0x5a, 0xad, 0x9b, 0x9b, 0x1b, 0xf7, 0xa7, 0xfc, 0xb3, 0x20, 0x4d, 0x72, 0x6e, - 0xbd, 0x24, 0x37, 0x2c, 0x09, 0xd3, 0x1b, 0xcc, 0x38, 0x79, 0xe9, 0x9e, 0x47, 0x7e, 0x98, 0xde, 0xbc, 0x4b, 0x53, - 0x7e, 0x70, 0xe0, 0xc8, 0xc7, 0xbb, 0xb3, 0xf3, 0x73, 0x42, 0xc8, 0x75, 0xca, 0x42, 0xab, 0xbd, 0x5a, 0x55, 0x85, - 0x6e, 0xe2, 0x73, 0x76, 0x4d, 0x65, 0x13, 0x74, 0x70, 0x60, 0xfb, 0x61, 0x3a, 0xe7, 0x34, 0x3c, 0xe7, 0x77, 0x31, - 0x3d, 0x8f, 0x28, 0xe5, 0xb9, 0xcd, 0x12, 0xeb, 0x59, 0x1a, 0x2c, 0x66, 0x34, 0xe1, 0xee, 0x3c, 0x4b, 0x79, 0x0a, - 0x90, 0x1c, 0x1c, 0xd8, 0x19, 0x9d, 0xc7, 0x7e, 0x40, 0xe1, 0xfd, 0xd9, 0xf9, 0x79, 0xd5, 0xa2, 0xaa, 0x84, 0x73, - 0x4e, 0xce, 0xef, 0x66, 0x57, 0x69, 0xec, 0x20, 0x1c, 0x73, 0x92, 0xd0, 0x1b, 0xeb, 0x7b, 0xea, 0x7f, 0x78, 0xe5, - 0xcf, 0x7b, 0x41, 0xec, 0xe7, 0xb9, 0x75, 0xcb, 0x97, 0x62, 0x0a, 0xd9, 0x22, 0xe0, 0x69, 0xe6, 0x70, 0x4c, 0x31, - 0x43, 0x4b, 0x36, 0x71, 0x78, 0xc4, 0x72, 0xf7, 0x72, 0x3f, 0xc8, 0xf3, 0x77, 0x34, 0x5f, 0xc4, 0x7c, 0x9f, 0xec, - 0xb5, 0x31, 0xdb, 0x23, 0x24, 0xe7, 0x88, 0x47, 0x59, 0x7a, 0x63, 0x3d, 0xcf, 0xb2, 0x34, 0x73, 0xec, 0xb3, 0xf3, - 0x73, 0x59, 0xc3, 0x62, 0xb9, 0x95, 0xa4, 0xdc, 0x2a, 0xfb, 0xf3, 0xaf, 0x62, 0xea, 0x5a, 0xdf, 0xe6, 0xd4, 0x1a, - 0x2f, 0x92, 0xdc, 0x9f, 0xd0, 0xb3, 0xf3, 0xf3, 0xb1, 0x95, 0x66, 0xd6, 0x38, 0xc8, 0xf3, 0xb1, 0xc5, 0x92, 0x9c, - 0x53, 0x3f, 0x74, 0x6d, 0xd4, 0x13, 0x83, 0x05, 0x79, 0xfe, 0x9e, 0xde, 0x72, 0xc2, 0xb1, 0x78, 0xe4, 0x84, 0x16, - 0x53, 0xca, 0xad, 0xbc, 0x9c, 0x97, 0x83, 0x96, 0x31, 0xe5, 0x16, 0x27, 0xe2, 0x7d, 0xda, 0x93, 0xb8, 0xa7, 0xf2, - 0x91, 0xf7, 0xd8, 0xc4, 0x61, 0xfc, 0xe0, 0x80, 0x97, 0x78, 0x46, 0x72, 0x6a, 0x16, 0x23, 0x74, 0x4f, 0x97, 0x1d, - 0x1c, 0x50, 0x37, 0xa6, 0xc9, 0x94, 0x47, 0x84, 0x90, 0x4e, 0x8f, 0x1d, 0x1c, 0x38, 0x9c, 0xc4, 0xdc, 0x9d, 0x52, - 0xee, 0x50, 0x84, 0x70, 0xd5, 0xfa, 0xe0, 0xc0, 0x91, 0x48, 0x48, 0x89, 0x44, 0x5c, 0x0d, 0xc7, 0xc8, 0x55, 0xd8, - 0x3f, 0xbf, 0x4b, 0x02, 0xc7, 0x84, 0x1f, 0x61, 0x76, 0x70, 0x10, 0x73, 0x37, 0x87, 0x1e, 0x31, 0x47, 0xa8, 0xc8, - 0x28, 0x5f, 0x64, 0x89, 0xc5, 0x0b, 0x9e, 0x9e, 0xf3, 0x8c, 0x25, 0x53, 0x07, 0x2d, 0x75, 0x99, 0xd1, 0xb0, 0x28, - 0x24, 0xb8, 0xaf, 0x39, 0x49, 0xc8, 0x00, 0x46, 0xbc, 0xe5, 0x0e, 0xac, 0x62, 0x3a, 0xb1, 0x12, 0x42, 0xec, 0x5c, - 0xb4, 0xb5, 0x87, 0x89, 0x97, 0x34, 0x6c, 0x1b, 0x4b, 0x28, 0x71, 0xce, 0x11, 0xfe, 0x40, 0x9c, 0x04, 0xbb, 0xae, - 0xcb, 0x11, 0x19, 0x2c, 0x35, 0x56, 0x12, 0x63, 0x9e, 0xc3, 0x64, 0xd4, 0xbe, 0xf0, 0xb8, 0x9b, 0xd1, 0x70, 0x11, - 0x50, 0xc7, 0x61, 0x38, 0xc7, 0x19, 0x22, 0x03, 0xd6, 0x70, 0x52, 0x32, 0x80, 0xe5, 0x4e, 0xeb, 0x6b, 0x4d, 0xc8, - 0x5e, 0x1b, 0x29, 0x18, 0x53, 0x0d, 0x20, 0x60, 0x58, 0xc1, 0x93, 0x12, 0x62, 0x27, 0x8b, 0xd9, 0x15, 0xcd, 0xec, - 0xb2, 0x5a, 0xaf, 0x46, 0x16, 0x8b, 0x9c, 0x5a, 0x41, 0x9e, 0x5b, 0x93, 0x45, 0x12, 0x70, 0x96, 0x26, 0x96, 0xdd, - 0x48, 0x1b, 0xb6, 0x24, 0x87, 0x92, 0x1a, 0x6c, 0x54, 0x20, 0x27, 0x47, 0x8d, 0x64, 0x94, 0x35, 0x3a, 0x17, 0x18, - 0xa0, 0x44, 0x3d, 0xd5, 0x9f, 0x42, 0x00, 0xc5, 0x09, 0xcc, 0xb1, 0xc0, 0xef, 0x38, 0xcc, 0x52, 0x4c, 0x91, 0xf1, - 0x61, 0xe2, 0x6e, 0x6e, 0x14, 0xc2, 0xdd, 0x99, 0x3f, 0x77, 0x28, 0x19, 0x50, 0x41, 0x5c, 0x7e, 0x12, 0x00, 0xac, - 0xb5, 0x75, 0x1b, 0x52, 0x8f, 0xba, 0x15, 0x49, 0x21, 0x8f, 0xbb, 0x93, 0x34, 0x7b, 0xee, 0x07, 0x11, 0xb4, 0x2b, - 0x09, 0x26, 0xd4, 0xfb, 0x2d, 0xc8, 0xa8, 0xcf, 0xe9, 0xf3, 0x98, 0xc2, 0x93, 0x63, 0x8b, 0x96, 0x36, 0xc2, 0x39, - 0x79, 0xe9, 0xc6, 0x8c, 0xbf, 0x4e, 0x93, 0x80, 0xf6, 0x72, 0x83, 0xba, 0x18, 0xac, 0xfb, 0x29, 0xe7, 0x19, 0xbb, - 0x5a, 0x70, 0xea, 0xd8, 0x09, 0xd4, 0xb0, 0x71, 0x8e, 0x30, 0x73, 0x39, 0xbd, 0xe5, 0x67, 0x69, 0xc2, 0x69, 0xc2, - 0x09, 0xd5, 0x48, 0xc5, 0x89, 0xeb, 0xcf, 0xe7, 0x34, 0x09, 0xcf, 0x22, 0x16, 0x87, 0x0e, 0x43, 0x05, 0x2a, 0x70, - 0xc4, 0x09, 0xcc, 0x91, 0x0c, 0x12, 0x0f, 0xfe, 0xec, 0x9e, 0x8d, 0xc3, 0xc9, 0x40, 0x6c, 0x0a, 0x4a, 0x6c, 0xbb, - 0x37, 0x49, 0x33, 0x47, 0xcd, 0xc0, 0x4a, 0x27, 0x16, 0x87, 0x31, 0xde, 0x2d, 0x62, 0x9a, 0x23, 0xda, 0x20, 0xac, - 0x5c, 0x46, 0x85, 0xe0, 0xd7, 0x40, 0xf1, 0x05, 0x72, 0x12, 0xe4, 0x25, 0xbd, 0x6b, 0x3f, 0xb3, 0xbe, 0x57, 0x3b, - 0xea, 0x99, 0xe6, 0x66, 0x01, 0x27, 0xcf, 0x5c, 0x9e, 0x2d, 0x72, 0x4e, 0xc3, 0xf7, 0x77, 0x73, 0x9a, 0xe3, 0xa7, - 0x9c, 0x04, 0x7c, 0x18, 0x70, 0x97, 0xce, 0xe6, 0xfc, 0xee, 0x5c, 0x30, 0x46, 0xcf, 0xb6, 0x71, 0x08, 0x35, 0x33, - 0xea, 0x07, 0xc0, 0xcc, 0x14, 0xb6, 0xde, 0xa6, 0xf1, 0xdd, 0x84, 0xc5, 0xf1, 0xf9, 0x62, 0x3e, 0x4f, 0x33, 0x8e, - 0xff, 0x4a, 0x96, 0x3c, 0xad, 0x50, 0x03, 0x6b, 0xb9, 0xcc, 0x6f, 0x18, 0x0f, 0x22, 0x87, 0xa3, 0x65, 0xe0, 0xe7, - 0xd4, 0x7a, 0x9a, 0xa6, 0x31, 0xf5, 0x61, 0xd2, 0xc9, 0xf0, 0x29, 0xf7, 0x92, 0x45, 0x1c, 0xf7, 0xae, 0x32, 0xea, - 0x7f, 0xe8, 0x89, 0xd7, 0x6f, 0xae, 0x7e, 0xa2, 0x01, 0xf7, 0xc4, 0xef, 0xd3, 0x2c, 0xf3, 0xef, 0xa0, 0x22, 0x21, - 0x50, 0x6d, 0x98, 0x78, 0x5f, 0x9f, 0xbf, 0x79, 0xed, 0xca, 0x4d, 0xc2, 0x26, 0x77, 0x4e, 0x52, 0x6e, 0xbc, 0xa4, - 0xc0, 0x93, 0x2c, 0x9d, 0xad, 0x0d, 0x2d, 0xb1, 0x96, 0xf4, 0x76, 0x80, 0x40, 0x49, 0xb2, 0x27, 0xbb, 0x36, 0x21, - 0x78, 0x2d, 0x68, 0x1e, 0x5e, 0x12, 0x3d, 0xee, 0x22, 0x8e, 0x3d, 0x59, 0xec, 0x24, 0xe8, 0x7e, 0x68, 0x79, 0x76, - 0xb7, 0xa4, 0x44, 0xc0, 0x39, 0x07, 0x09, 0x03, 0x30, 0x06, 0x3e, 0x0f, 0xa2, 0x25, 0x15, 0x9d, 0x15, 0x1a, 0x62, - 0x5a, 0x14, 0xf8, 0xb4, 0xa4, 0x77, 0x0e, 0x80, 0x08, 0x46, 0x45, 0xf8, 0x6a, 0x05, 0x13, 0x46, 0xf8, 0x6f, 0x64, - 0xe9, 0xeb, 0xf9, 0x78, 0x7b, 0x6d, 0x0c, 0xfb, 0xd2, 0x93, 0xdc, 0x05, 0x07, 0x69, 0x72, 0x4d, 0x33, 0x4e, 0x33, - 0xef, 0xaf, 0x38, 0xa3, 0x93, 0x18, 0xa0, 0xd8, 0xeb, 0xe0, 0xc8, 0xcf, 0xcf, 0x22, 0x3f, 0x99, 0xd2, 0xd0, 0x3b, - 0xe5, 0x05, 0xe6, 0x9c, 0xd8, 0x13, 0x96, 0xf8, 0x31, 0xfb, 0x85, 0x86, 0xb6, 0x12, 0x07, 0xcf, 0x2d, 0x7a, 0xcb, - 0x69, 0x12, 0xe6, 0xd6, 0x8b, 0xf7, 0xaf, 0x5e, 0xaa, 0x85, 0xac, 0x49, 0x08, 0xb4, 0xcc, 0x17, 0x73, 0x9a, 0x39, - 0x08, 0x2b, 0x09, 0xf1, 0x9c, 0x09, 0xee, 0xf8, 0xca, 0x9f, 0xcb, 0x12, 0x96, 0x7f, 0x3b, 0x0f, 0x7d, 0x4e, 0xdf, - 0xd2, 0x24, 0x64, 0xc9, 0x94, 0xec, 0x75, 0x64, 0x79, 0xe4, 0xab, 0x17, 0x61, 0x59, 0x74, 0xb9, 0xff, 0x3c, 0x16, - 0x13, 0x2f, 0x1f, 0x17, 0x0e, 0x2a, 0x72, 0xee, 0x73, 0x16, 0x58, 0x7e, 0x18, 0x7e, 0x95, 0x30, 0xce, 0x04, 0x80, - 0x19, 0xac, 0x0f, 0xd0, 0x28, 0x95, 0xb2, 0x42, 0x03, 0xee, 0x20, 0xec, 0x38, 0x4a, 0x02, 0x44, 0x48, 0x2d, 0xd8, - 0xc1, 0x41, 0xc5, 0xef, 0x87, 0xd4, 0x93, 0x2f, 0xc9, 0xe8, 0x02, 0xb9, 0xf3, 0x45, 0x0e, 0x2b, 0xad, 0x87, 0x00, - 0xf1, 0x92, 0x5e, 0xe5, 0x34, 0xbb, 0xa6, 0x61, 0x49, 0x1d, 0xb9, 0x83, 0x96, 0x6b, 0x63, 0xa8, 0x7d, 0xc1, 0xc9, - 0xe8, 0xa2, 0x67, 0x32, 0x6e, 0xaa, 0x08, 0x3d, 0x4b, 0xe7, 0x34, 0xe3, 0x8c, 0xe6, 0x25, 0x2f, 0x71, 0x40, 0x8c, - 0x96, 0xfc, 0x24, 0x27, 0x7a, 0x7e, 0x73, 0x87, 0x61, 0x8a, 0x6a, 0x1c, 0x43, 0x4b, 0xda, 0xe7, 0xd7, 0x42, 0x64, - 0xe4, 0x98, 0x21, 0xcc, 0x25, 0xa4, 0x39, 0x42, 0x05, 0xc2, 0x5c, 0x83, 0x2b, 0x79, 0x91, 0x1a, 0xed, 0x0e, 0x64, - 0x35, 0xf9, 0x9b, 0x90, 0xd5, 0xc0, 0xd1, 0x7c, 0x4e, 0x0f, 0x0e, 0x1c, 0xea, 0x96, 0x54, 0x41, 0xf6, 0x3a, 0x6a, - 0x8d, 0x0c, 0x64, 0xed, 0x00, 0x1b, 0x06, 0xe6, 0x98, 0x22, 0xbc, 0x47, 0xdd, 0x24, 0x3d, 0x0d, 0x02, 0x9a, 0xe7, - 0x69, 0x76, 0x70, 0xb0, 0x27, 0xea, 0x97, 0xea, 0x04, 0xac, 0xe1, 0x9b, 0x9b, 0xa4, 0x82, 0x00, 0x55, 0x22, 0x56, - 0x09, 0x06, 0x0e, 0x82, 0x4a, 0x68, 0x1c, 0xf6, 0x50, 0x6b, 0x1e, 0x9e, 0x7d, 0x79, 0x69, 0x37, 0x38, 0x56, 0x68, - 0x98, 0x52, 0x3d, 0xf4, 0xdd, 0x33, 0x2a, 0x75, 0x2b, 0xa1, 0x79, 0x6c, 0x60, 0x46, 0x6e, 0x20, 0x37, 0xa4, 0x13, - 0x96, 0x18, 0xd3, 0xae, 0x81, 0x84, 0x39, 0xce, 0x51, 0x61, 0x2c, 0xe8, 0xd6, 0xae, 0x85, 0x52, 0x23, 0x57, 0x6e, - 0x39, 0x15, 0x8a, 0x84, 0xb1, 0x8c, 0x23, 0x7a, 0x51, 0x60, 0x81, 0x7a, 0x3d, 0x9b, 0x4c, 0x00, 0x3a, 0xe2, 0x17, - 0x3d, 0xf5, 0x9e, 0xe4, 0x12, 0x73, 0x19, 0xfd, 0x79, 0x41, 0x73, 0x2e, 0xe9, 0xd8, 0xe1, 0x38, 0xc3, 0x0c, 0x15, - 0xb0, 0xdf, 0x26, 0x6c, 0xba, 0xc8, 0x40, 0xdf, 0x81, 0xbd, 0x48, 0x93, 0xc5, 0x8c, 0xea, 0xa7, 0x6d, 0xb0, 0xbd, - 0x99, 0x83, 0x44, 0xcc, 0x81, 0xa6, 0xef, 0x27, 0x27, 0x80, 0x95, 0xa3, 0xd5, 0xea, 0x6f, 0xba, 0x93, 0x6a, 0x29, - 0x4b, 0x1d, 0x6d, 0x7d, 0x4d, 0x38, 0x52, 0x12, 0x79, 0xaf, 0x23, 0xc1, 0xe7, 0xfc, 0x82, 0xec, 0xb5, 0x4b, 0x1a, - 0x56, 0x58, 0x95, 0xe0, 0x48, 0x24, 0xbe, 0x91, 0x5d, 0x21, 0x21, 0xe0, 0x6b, 0xe4, 0xe2, 0x46, 0x1b, 0x94, 0x1a, - 0x91, 0x11, 0xa8, 0x1a, 0x6e, 0x74, 0xb1, 0x8b, 0x9c, 0x34, 0x3f, 0x70, 0xf8, 0xe6, 0xbb, 0x8a, 0x6d, 0x5c, 0xd7, - 0xd9, 0xc6, 0xda, 0x34, 0xec, 0x79, 0xd9, 0xc4, 0x2e, 0xa9, 0x4c, 0x6d, 0xf4, 0xea, 0x15, 0x66, 0x02, 0x98, 0x6a, - 0x4a, 0x46, 0x17, 0xaf, 0xfd, 0x19, 0xcd, 0x1d, 0x8a, 0xf0, 0xae, 0x0a, 0x92, 0x3c, 0xa1, 0xca, 0x85, 0x21, 0x39, - 0x73, 0x90, 0x9c, 0x0c, 0x49, 0xc5, 0xac, 0xbe, 0xe1, 0x72, 0x4c, 0x47, 0xf9, 0x45, 0xa5, 0xcf, 0x19, 0x93, 0x17, - 0x22, 0x59, 0xd1, 0xb7, 0xc6, 0x9f, 0x2c, 0x93, 0x48, 0x13, 0x7a, 0x43, 0x8e, 0xf0, 0x5e, 0x7b, 0x7d, 0x25, 0x75, - 0xad, 0x6a, 0x8e, 0xa3, 0x0b, 0x58, 0x07, 0x21, 0x31, 0x5c, 0x96, 0x8b, 0x7f, 0x6b, 0x3b, 0x0d, 0xd0, 0x76, 0x0e, - 0x84, 0xe1, 0x4e, 0x62, 0x9f, 0x3b, 0x9d, 0x56, 0x1b, 0x94, 0xd1, 0x6b, 0x0a, 0x02, 0x05, 0xa1, 0xcd, 0xa9, 0x50, - 0x77, 0x91, 0xe4, 0x11, 0x9b, 0x70, 0x27, 0xe2, 0x82, 0xa5, 0xd0, 0x38, 0xa7, 0x16, 0xaf, 0xa9, 0xc4, 0x82, 0xdd, - 0x44, 0x40, 0x6c, 0xa5, 0xfe, 0x45, 0x35, 0xa4, 0x82, 0x6d, 0x01, 0x77, 0xa8, 0xd4, 0xe9, 0x8a, 0xcb, 0xe8, 0xda, - 0x0c, 0x54, 0xc6, 0xce, 0x50, 0xf6, 0xe8, 0x29, 0x66, 0xc0, 0x0c, 0xad, 0x95, 0x79, 0x26, 0x87, 0x50, 0x85, 0xdc, - 0xe5, 0xe9, 0xcb, 0xf4, 0x86, 0x66, 0x67, 0x3e, 0x00, 0xef, 0xc9, 0xe6, 0x85, 0x14, 0x04, 0x82, 0xdf, 0xf3, 0x9e, - 0xa6, 0x97, 0x4b, 0x31, 0xf1, 0xb7, 0x59, 0x3a, 0x63, 0x39, 0x05, 0x65, 0x4d, 0xe2, 0x3f, 0x81, 0x7d, 0x26, 0x36, - 0x24, 0x08, 0x1b, 0x5a, 0xd2, 0xd7, 0xe9, 0xcb, 0x3a, 0x7d, 0x5d, 0xee, 0x3f, 0x9f, 0x6a, 0x06, 0x58, 0xdf, 0xc6, - 0x08, 0x3b, 0xca, 0xa4, 0x30, 0xe4, 0x9c, 0x1b, 0x21, 0x25, 0xe1, 0x57, 0x2b, 0x6e, 0x58, 0x6e, 0x35, 0x75, 0x91, - 0xca, 0x6d, 0x83, 0x0a, 0x3f, 0x0c, 0x41, 0xb1, 0xcb, 0xd2, 0x38, 0x36, 0x44, 0x15, 0x66, 0xbd, 0x52, 0x38, 0x5d, - 0xee, 0x3f, 0x3f, 0xbf, 0x4f, 0x3e, 0xc1, 0x7b, 0x53, 0x44, 0x69, 0x40, 0x93, 0x90, 0x66, 0x60, 0x49, 0x1a, 0xab, - 0xa5, 0xa4, 0xec, 0x59, 0x9a, 0x24, 0x34, 0xe0, 0x34, 0x04, 0x43, 0x85, 0x11, 0xee, 0x46, 0x69, 0xce, 0xcb, 0xc2, - 0x0a, 0x7a, 0x66, 0x40, 0xcf, 0xdc, 0xc0, 0x8f, 0x63, 0x47, 0x1a, 0x25, 0xb3, 0xf4, 0x9a, 0x6e, 0x81, 0xba, 0x57, - 0x03, 0xb9, 0xec, 0x86, 0x1a, 0xdd, 0x50, 0x37, 0x9f, 0xc7, 0x2c, 0xa0, 0xa5, 0xe8, 0x3a, 0x77, 0x59, 0x12, 0xd2, - 0x5b, 0xe0, 0x23, 0x68, 0x30, 0x18, 0xb4, 0x71, 0x07, 0x15, 0x12, 0xe1, 0xcb, 0x0d, 0xc4, 0xde, 0x23, 0x34, 0x81, - 0xc8, 0xc8, 0x60, 0xb9, 0x8d, 0x1f, 0x50, 0x64, 0x48, 0x4a, 0xa6, 0x8d, 0x2b, 0xc9, 0x9d, 0x11, 0x0e, 0x69, 0x4c, - 0x39, 0xd5, 0xdc, 0x1c, 0x54, 0x68, 0xb9, 0x75, 0xdf, 0x95, 0xf8, 0x2b, 0xc9, 0x49, 0xef, 0x32, 0xbd, 0xe6, 0x79, - 0x69, 0xac, 0x57, 0xcb, 0x53, 0x61, 0x7b, 0xc8, 0xe5, 0xf2, 0xf8, 0x9c, 0xfb, 0x41, 0x24, 0xad, 0x74, 0x67, 0x63, - 0x4a, 0x55, 0x1f, 0x8a, 0xb3, 0x97, 0x9b, 0xe8, 0x9d, 0x06, 0x73, 0x1b, 0x0a, 0xce, 0x15, 0x53, 0xa0, 0x60, 0xf8, - 0xc9, 0x65, 0x3b, 0xf3, 0xe3, 0xf8, 0xca, 0x0f, 0x3e, 0xd4, 0xa9, 0xbf, 0x22, 0x03, 0xb2, 0xce, 0x8d, 0x8d, 0x57, - 0x06, 0xcb, 0x32, 0xe7, 0xad, 0xb9, 0x74, 0x6d, 0xa3, 0x38, 0x7b, 0xed, 0x8a, 0xec, 0xeb, 0x0b, 0xbd, 0x93, 0xda, - 0x05, 0x44, 0x4c, 0xcd, 0xcc, 0x01, 0x2e, 0xf0, 0x51, 0x8a, 0xd3, 0xfc, 0x40, 0xd1, 0x1d, 0x98, 0x1b, 0xc5, 0x1a, - 0x20, 0x1c, 0x2d, 0x8b, 0x90, 0xe5, 0xbb, 0x31, 0xf0, 0xbb, 0x40, 0xf9, 0xcc, 0x18, 0xe1, 0xa1, 0x80, 0x96, 0x3c, - 0x4e, 0x69, 0xcd, 0x25, 0x64, 0x4a, 0x9f, 0xd0, 0x8c, 0xe6, 0x2f, 0xa0, 0xbb, 0x08, 0x7a, 0x7f, 0x23, 0x5f, 0x81, - 0x56, 0x06, 0x50, 0xe4, 0x3d, 0x53, 0x9d, 0xa8, 0x51, 0x80, 0xe2, 0xa9, 0x4c, 0x88, 0xdc, 0xac, 0x66, 0x3f, 0x2a, - 0x8d, 0x5d, 0x9a, 0xe0, 0x8a, 0xe5, 0xa6, 0xc4, 0x71, 0x9c, 0x1c, 0x4c, 0x38, 0xad, 0xda, 0x57, 0x93, 0xc8, 0x37, - 0x26, 0x91, 0xbb, 0x86, 0x9d, 0x85, 0x2a, 0x5a, 0x36, 0x9a, 0x7b, 0x7f, 0x45, 0x66, 0x25, 0x50, 0x57, 0x5d, 0xe0, - 0xcf, 0xa8, 0x64, 0xb7, 0x31, 0xe1, 0x38, 0x55, 0x36, 0x8e, 0xa2, 0x34, 0x60, 0x18, 0x55, 0x93, 0x0c, 0xc9, 0xad, - 0x51, 0xb3, 0x77, 0x33, 0x9c, 0xa2, 0x35, 0xdd, 0xbe, 0x28, 0x14, 0x8e, 0x28, 0x52, 0x6b, 0x53, 0x53, 0x8a, 0x0d, - 0xac, 0xe0, 0x8c, 0x28, 0x45, 0x58, 0xea, 0x3d, 0xeb, 0xb8, 0x29, 0xfb, 0xdd, 0x23, 0x24, 0xab, 0x50, 0x53, 0xd3, - 0x28, 0xb5, 0x6a, 0x95, 0x21, 0x1c, 0x69, 0x9d, 0x34, 0xad, 0xe6, 0x4d, 0x88, 0xad, 0x1d, 0x12, 0xf6, 0x70, 0x59, - 0xb3, 0x0a, 0x3d, 0xa3, 0x5a, 0xe1, 0x01, 0x4b, 0x4d, 0xb7, 0xa1, 0x7b, 0x1b, 0xcd, 0xd4, 0xfa, 0x31, 0x10, 0x9e, - 0x9a, 0x08, 0x37, 0x30, 0x9b, 0x49, 0xce, 0x95, 0x5d, 0x90, 0xa8, 0xde, 0xd6, 0xa1, 0x38, 0x95, 0xeb, 0xb0, 0x81, - 0xc4, 0x75, 0xd5, 0x53, 0x90, 0x20, 0xd8, 0xb0, 0x39, 0x28, 0x77, 0xa6, 0x7c, 0x70, 0x00, 0x76, 0xb6, 0x5a, 0x6d, - 0x10, 0xdd, 0x56, 0x0d, 0x14, 0xb9, 0x95, 0x5d, 0xb8, 0x5a, 0x9d, 0x72, 0xe4, 0x28, 0xdd, 0x17, 0x53, 0x34, 0xd4, - 0x1c, 0xf7, 0xf4, 0x25, 0xd4, 0x12, 0xaa, 0x68, 0x55, 0x52, 0x1a, 0x0d, 0x75, 0x9a, 0xad, 0xaf, 0x13, 0x37, 0xd8, - 0xf6, 0xd9, 0x06, 0xf7, 0x12, 0x85, 0x4a, 0x4c, 0x57, 0x53, 0x3e, 0x53, 0x5d, 0x33, 0x84, 0x90, 0x97, 0x0b, 0x3b, - 0x66, 0x6f, 0x9b, 0x69, 0x79, 0x70, 0x90, 0x1b, 0x1d, 0x5d, 0x96, 0x6c, 0xe2, 0x27, 0x07, 0x44, 0x72, 0x7e, 0x97, - 0x08, 0xdd, 0xe5, 0x27, 0x2d, 0x84, 0x36, 0x0c, 0xd3, 0x76, 0x0f, 0x0c, 0x72, 0xff, 0xc6, 0x67, 0xdc, 0x2a, 0x7b, - 0x91, 0x06, 0xb9, 0x43, 0xd1, 0x52, 0xa9, 0x1a, 0x6e, 0x46, 0x41, 0x79, 0x04, 0x9e, 0xa0, 0x55, 0x68, 0x49, 0xf7, - 0x41, 0x44, 0xc1, 0x17, 0xac, 0xb5, 0x88, 0xd2, 0x32, 0xdc, 0x53, 0x52, 0x44, 0x75, 0xbc, 0x1d, 0xf6, 0x62, 0xbd, - 0x79, 0xcd, 0x12, 0x98, 0xd3, 0x6c, 0x92, 0x66, 0x33, 0xfd, 0xae, 0x58, 0x7b, 0x56, 0x9c, 0x91, 0x4d, 0x9c, 0xad, - 0x7d, 0x2b, 0xfd, 0xbf, 0xb7, 0x66, 0x76, 0x57, 0x06, 0x7b, 0x4d, 0x94, 0x96, 0xd2, 0x57, 0xba, 0x04, 0x35, 0x65, - 0xe6, 0xa6, 0x81, 0xaf, 0xfc, 0xa9, 0x3d, 0xe9, 0x33, 0xd9, 0xeb, 0xf4, 0x4a, 0xab, 0x4f, 0x53, 0x43, 0x4f, 0xfa, - 0x36, 0x94, 0x48, 0x4d, 0x17, 0x71, 0xa8, 0x80, 0x65, 0x08, 0x53, 0x45, 0x47, 0x37, 0x2c, 0x8e, 0xab, 0xd2, 0x4f, - 0xe1, 0xeb, 0xb9, 0xe2, 0xeb, 0x99, 0xe6, 0xeb, 0xc0, 0x29, 0x80, 0xaf, 0xcb, 0xee, 0xaa, 0xe6, 0xd9, 0xc6, 0xee, - 0xcc, 0x24, 0x47, 0xcf, 0x85, 0x25, 0x0d, 0xe3, 0x2d, 0x34, 0x04, 0xa8, 0xd4, 0xbc, 0x3e, 0x38, 0xca, 0x0f, 0x03, - 0x26, 0xa0, 0xf4, 0x62, 0x52, 0xd3, 0x49, 0xf1, 0xc1, 0x41, 0x38, 0x2f, 0x68, 0x49, 0xd9, 0xa7, 0xcf, 0xc1, 0x4f, - 0x67, 0x4c, 0x07, 0x84, 0x98, 0x28, 0xfe, 0x24, 0x25, 0x4a, 0xcf, 0x8e, 0xa9, 0xd9, 0xe5, 0x7a, 0x76, 0xc0, 0xe9, - 0xab, 0xd9, 0x85, 0xf7, 0xf3, 0x7a, 0x31, 0x3d, 0x56, 0x4e, 0xaf, 0x5a, 0xef, 0xd5, 0xca, 0x59, 0x2b, 0x01, 0x17, - 0xbe, 0x32, 0x51, 0xb2, 0xb2, 0x77, 0xe0, 0x01, 0x26, 0x66, 0xa0, 0xa0, 0x90, 0x93, 0x2e, 0x45, 0xdc, 0xcb, 0x8f, - 0xb9, 0x78, 0x84, 0xa7, 0x5e, 0xb6, 0x3f, 0x4b, 0x67, 0x73, 0xd0, 0xc6, 0xd6, 0x48, 0x7a, 0x4a, 0xd5, 0x80, 0xd5, - 0xfb, 0x62, 0x4b, 0x59, 0xad, 0x8d, 0xd8, 0x8f, 0x35, 0x6a, 0x2a, 0x2d, 0xe6, 0xbd, 0x76, 0xb1, 0x28, 0x8b, 0x4a, - 0xc6, 0xb1, 0xcd, 0xad, 0x72, 0xb6, 0xee, 0x94, 0xd1, 0x2f, 0xde, 0x38, 0x4c, 0xf2, 0x61, 0x06, 0xbc, 0xce, 0x60, - 0x3f, 0x9a, 0xdc, 0xcd, 0xf5, 0x2f, 0x2a, 0xe4, 0x2c, 0x8b, 0x35, 0xf4, 0x2d, 0x8b, 0xe2, 0xb9, 0xb2, 0xb2, 0xf1, - 0xf3, 0xdd, 0xe6, 0x70, 0xf5, 0x4e, 0x59, 0x8b, 0xa3, 0x0b, 0xfc, 0x7c, 0x53, 0x77, 0x24, 0xcb, 0x59, 0x1a, 0x52, - 0xcf, 0x4e, 0xe7, 0x34, 0xb1, 0x0b, 0xf0, 0xac, 0xaa, 0xc5, 0x0f, 0xb9, 0xb3, 0x7c, 0x57, 0x77, 0xb1, 0x7a, 0xcf, - 0x0b, 0x70, 0x80, 0x7d, 0xbf, 0xe9, 0x7c, 0xfd, 0x8e, 0x66, 0xb9, 0xd0, 0x44, 0x4b, 0xa5, 0xf6, 0xfb, 0x4a, 0x2e, - 0x7d, 0xef, 0xed, 0xac, 0x5f, 0xd9, 0x20, 0x76, 0xc7, 0x7d, 0xe4, 0x1e, 0xda, 0x48, 0xb8, 0x86, 0xbf, 0x56, 0x3b, - 0xfe, 0x27, 0xed, 0x1a, 0x3e, 0x27, 0x3f, 0xd5, 0x3d, 0xc3, 0x0b, 0x4e, 0xce, 0x87, 0xe7, 0xda, 0x64, 0x4e, 0x63, - 0x16, 0xdc, 0x39, 0x76, 0xcc, 0x78, 0x13, 0xc2, 0x6f, 0x36, 0x5e, 0xca, 0x17, 0xe0, 0x55, 0x14, 0x2e, 0xed, 0x42, - 0x1b, 0x7b, 0x98, 0x72, 0x62, 0xef, 0xc7, 0x8c, 0xef, 0xdb, 0x78, 0x42, 0xc6, 0xf0, 0x63, 0x7f, 0xe9, 0xbc, 0xf2, - 0x79, 0xe4, 0x66, 0x7e, 0x12, 0xa6, 0x33, 0x07, 0x35, 0x6c, 0x1b, 0xb9, 0xb9, 0x30, 0x38, 0x9e, 0xa0, 0x62, 0x7f, - 0x8c, 0x9f, 0x73, 0x62, 0x0f, 0xed, 0xc6, 0x04, 0xbf, 0xe0, 0x64, 0xdc, 0xdf, 0x5f, 0x3e, 0xe7, 0xc5, 0x60, 0x8c, - 0x6f, 0x4b, 0xaf, 0x3d, 0xfe, 0x96, 0x38, 0x88, 0x0c, 0x6e, 0x15, 0x34, 0x67, 0xe9, 0x4c, 0x7a, 0xef, 0x6d, 0x84, - 0xdf, 0x8b, 0xd8, 0x4a, 0xc5, 0x6e, 0x54, 0x78, 0x65, 0x8f, 0xd8, 0xa9, 0xf0, 0x11, 0xd8, 0x07, 0x07, 0x46, 0x59, - 0xa9, 0x2b, 0xe0, 0x73, 0x4e, 0x6a, 0x16, 0x39, 0x7e, 0x25, 0xa2, 0x34, 0xe7, 0xdc, 0x49, 0x90, 0xee, 0xc6, 0xd1, - 0xbe, 0x68, 0xb5, 0x37, 0x93, 0x91, 0x74, 0x31, 0xb8, 0x8c, 0xd3, 0xcc, 0xe7, 0x69, 0x76, 0x81, 0x4c, 0xfd, 0x03, - 0xff, 0x85, 0x8c, 0x47, 0xd6, 0x7f, 0xfa, 0xec, 0xc7, 0xc9, 0x8f, 0xd9, 0xc5, 0x18, 0xbf, 0x25, 0xad, 0xbe, 0x33, - 0xf4, 0x9c, 0xbd, 0x66, 0x73, 0xf5, 0x63, 0x6b, 0xf4, 0x77, 0xbf, 0xf9, 0xcb, 0x69, 0xf3, 0x6f, 0x17, 0x68, 0xe5, - 0xfc, 0xd8, 0x1a, 0x8e, 0xd4, 0xd3, 0xe8, 0xef, 0x83, 0x1f, 0xf3, 0x8b, 0x3f, 0xca, 0xc2, 0x7d, 0x84, 0x5a, 0x53, - 0x3c, 0xe7, 0xa4, 0xd5, 0x6c, 0x0e, 0x5a, 0x53, 0x3c, 0xe5, 0xa4, 0x05, 0xff, 0x5e, 0x91, 0x77, 0x74, 0xfa, 0xfc, - 0x76, 0xee, 0x8c, 0x07, 0xab, 0xfd, 0xe5, 0x5f, 0x0a, 0xe8, 0x75, 0xf4, 0xf7, 0x1f, 0x7f, 0xcc, 0xed, 0x2f, 0x06, - 0xa4, 0x75, 0xd1, 0x40, 0x0e, 0x94, 0xfe, 0x91, 0x88, 0xbf, 0xce, 0xd0, 0x1b, 0xfd, 0x5d, 0x41, 0x61, 0x7f, 0xf1, - 0xe3, 0xb8, 0x3f, 0x20, 0x17, 0x2b, 0xc7, 0x5e, 0x7d, 0x81, 0x56, 0x08, 0xad, 0xf6, 0xd1, 0x18, 0xdb, 0x53, 0x1b, - 0xe1, 0x4b, 0x4e, 0x5a, 0x5f, 0xb4, 0xa6, 0xf8, 0x9a, 0x93, 0x96, 0xdd, 0x9a, 0xe2, 0x33, 0x4e, 0x5a, 0x7f, 0x77, - 0x86, 0x9e, 0x74, 0xb2, 0xad, 0x84, 0x7f, 0x63, 0x05, 0x01, 0x0e, 0x3f, 0xa3, 0xfe, 0x8a, 0x33, 0x1e, 0x53, 0xb4, - 0xdf, 0x62, 0xf8, 0x8d, 0x40, 0x93, 0xc3, 0xc1, 0x0b, 0x03, 0xc6, 0x9d, 0xb3, 0xbc, 0x84, 0xc5, 0x06, 0x9a, 0xd9, - 0xf7, 0x20, 0xb2, 0x03, 0x8e, 0x80, 0xdc, 0xe3, 0xf8, 0xda, 0x8f, 0x17, 0x34, 0xf7, 0x68, 0x81, 0x70, 0x4c, 0xde, - 0x70, 0xa7, 0x83, 0xf0, 0x4b, 0x0e, 0x3f, 0xba, 0x08, 0x9f, 0xa9, 0x20, 0x26, 0xec, 0x64, 0x49, 0x54, 0x49, 0x2a, - 0x55, 0x16, 0x1b, 0xe1, 0xf9, 0x96, 0x97, 0x3c, 0x02, 0xf7, 0x02, 0xc2, 0xfb, 0xb5, 0x90, 0x27, 0xbe, 0x21, 0x9a, - 0x24, 0xde, 0x67, 0x94, 0x7e, 0xef, 0xc7, 0x1f, 0x68, 0xe6, 0xdc, 0xe2, 0x4e, 0xf7, 0x09, 0x16, 0x5e, 0xe8, 0xbd, - 0x0e, 0xea, 0x95, 0xf1, 0xaa, 0x0f, 0x5c, 0xc6, 0x09, 0x40, 0xca, 0xd6, 0x9d, 0x31, 0xb0, 0xe2, 0x7b, 0xc9, 0x86, - 0xc7, 0x2a, 0xf3, 0x6f, 0x6c, 0x54, 0x8f, 0x8d, 0xb2, 0xe4, 0xda, 0x8f, 0x59, 0x68, 0x71, 0x3a, 0x9b, 0xc7, 0x3e, - 0xa7, 0x96, 0x9a, 0xaf, 0xe5, 0x43, 0x47, 0x76, 0xa9, 0x33, 0x2c, 0x0c, 0x8b, 0x73, 0xa1, 0x83, 0x4e, 0xb0, 0x57, - 0x1c, 0x88, 0x50, 0x29, 0xbd, 0xe3, 0x59, 0x15, 0x00, 0x5b, 0x8f, 0xf1, 0x35, 0x3b, 0xe0, 0x09, 0xbb, 0x10, 0xf2, - 0x39, 0xc7, 0x19, 0x01, 0x29, 0xda, 0x1d, 0xda, 0xfd, 0xfc, 0x7a, 0x3a, 0xb0, 0x21, 0x3e, 0x93, 0x92, 0xb7, 0xc2, - 0x31, 0x04, 0x15, 0x22, 0xd2, 0xee, 0x45, 0x7d, 0xda, 0x8b, 0x1a, 0x0d, 0xad, 0x44, 0xfb, 0x24, 0x19, 0x45, 0xb2, - 0x79, 0x80, 0x43, 0xbc, 0x20, 0xcd, 0x0e, 0x9e, 0x92, 0xb6, 0x68, 0xd2, 0x9b, 0xf6, 0x7d, 0x35, 0xcc, 0xc1, 0x81, - 0x93, 0xba, 0xb1, 0x9f, 0xf3, 0xaf, 0xc0, 0xda, 0x27, 0x53, 0x1c, 0x92, 0xd4, 0xa5, 0xb7, 0x34, 0x70, 0x7c, 0x84, - 0x43, 0xc5, 0x69, 0x50, 0x0f, 0x4d, 0x89, 0x51, 0x0d, 0xac, 0x08, 0xf2, 0x76, 0x18, 0x8e, 0x3a, 0x17, 0x84, 0x10, - 0x7b, 0xaf, 0xd9, 0xb4, 0x87, 0x29, 0x99, 0x73, 0x0f, 0x4a, 0x0c, 0x5d, 0x99, 0x4c, 0xa1, 0xa8, 0x6b, 0x14, 0x39, - 0x67, 0xdc, 0xe5, 0x34, 0xe7, 0x0e, 0x14, 0x83, 0xfd, 0x9f, 0x6b, 0xc2, 0xb6, 0xfb, 0x2d, 0xbb, 0x01, 0xa5, 0x82, - 0x38, 0x11, 0x4e, 0xc9, 0x15, 0xf2, 0xc2, 0xd1, 0xe1, 0x85, 0x29, 0x00, 0x44, 0x21, 0x0c, 0x7e, 0x35, 0x0c, 0x47, - 0x6d, 0x31, 0xf8, 0xc0, 0x1e, 0x3a, 0x29, 0xc9, 0xa5, 0x86, 0x36, 0xcc, 0xbd, 0xb7, 0x62, 0xaa, 0xc8, 0x53, 0xc0, - 0xe9, 0x15, 0x20, 0xcd, 0xae, 0xe7, 0x2c, 0xcc, 0x49, 0x34, 0x61, 0x30, 0x85, 0x05, 0x1c, 0x10, 0xa8, 0x8f, 0x53, - 0x02, 0x23, 0x56, 0xcd, 0xae, 0x3c, 0xf5, 0xfc, 0x85, 0xfd, 0xc5, 0xf0, 0x9a, 0x7b, 0x97, 0x5c, 0x0e, 0x7f, 0xcd, - 0x57, 0x2b, 0xf8, 0xf7, 0x92, 0x0f, 0x53, 0x72, 0x25, 0x8a, 0xe6, 0xaa, 0x68, 0x0a, 0x45, 0x6f, 0x3d, 0x00, 0x15, - 0xe7, 0xa5, 0x96, 0x25, 0xd7, 0xe4, 0x92, 0x08, 0xd8, 0x0f, 0x0e, 0x92, 0x51, 0xd4, 0xe8, 0x5c, 0x80, 0x8b, 0x3f, - 0xe3, 0xf9, 0xf7, 0x8c, 0x47, 0x8e, 0xdd, 0x1a, 0xd8, 0x68, 0x68, 0x5b, 0xb0, 0xb4, 0xbd, 0xac, 0x41, 0x24, 0x86, - 0xfd, 0xc6, 0x0b, 0xee, 0x2d, 0x06, 0xa4, 0x3d, 0x74, 0x98, 0x64, 0xe1, 0x01, 0xc2, 0xbe, 0x62, 0x9c, 0x6d, 0xbc, - 0x40, 0x0d, 0xca, 0x1b, 0xfa, 0x79, 0x81, 0x1a, 0x93, 0xc6, 0x25, 0xf2, 0xfc, 0xc6, 0xa4, 0xe1, 0x2c, 0x08, 0x21, - 0xcd, 0x6e, 0xd9, 0x4c, 0x8b, 0xbf, 0x08, 0x79, 0x97, 0xda, 0xdb, 0x39, 0x12, 0xdb, 0x21, 0x6b, 0x38, 0xc9, 0x88, - 0x5e, 0xac, 0x56, 0x76, 0x7f, 0x38, 0xb0, 0x51, 0xc3, 0xd1, 0x84, 0xd6, 0xd2, 0x94, 0x86, 0x10, 0x66, 0x17, 0x85, - 0x8a, 0x26, 0xbd, 0xae, 0x45, 0x8e, 0x96, 0xd5, 0x66, 0x37, 0x78, 0x00, 0x2d, 0x4a, 0x43, 0x46, 0x2a, 0xac, 0x73, - 0x98, 0xa6, 0x26, 0xe6, 0x8c, 0xb4, 0x71, 0x4a, 0xb4, 0xf3, 0x3a, 0x22, 0xbc, 0x22, 0x78, 0x9f, 0x54, 0xd5, 0xf1, - 0x28, 0xc0, 0xe1, 0x05, 0x79, 0x26, 0x0d, 0x92, 0x9e, 0x76, 0x8d, 0xd3, 0x98, 0xbc, 0x5e, 0x8b, 0xe0, 0x06, 0x10, - 0x5e, 0xb9, 0x71, 0x83, 0x45, 0x96, 0xd1, 0x84, 0xbf, 0x4e, 0x43, 0xa5, 0xa7, 0xd1, 0x18, 0x4c, 0x25, 0x08, 0xcd, - 0x62, 0x50, 0xd2, 0xba, 0x7a, 0x67, 0x2c, 0x36, 0x5e, 0x4f, 0xc9, 0x42, 0xea, 0x4f, 0x22, 0x60, 0xdb, 0x9b, 0x2a, - 0xc3, 0xd8, 0x41, 0x78, 0xa1, 0x22, 0xb9, 0x8e, 0xeb, 0xba, 0x53, 0x37, 0x80, 0xd7, 0x30, 0x40, 0x8e, 0x0a, 0xb1, - 0x8f, 0x9c, 0x9c, 0xdc, 0xb8, 0x09, 0xbd, 0x15, 0xa3, 0x3a, 0xa8, 0x92, 0xcc, 0x7a, 0x7b, 0xf5, 0xa3, 0x9e, 0x60, - 0x37, 0xb9, 0x9b, 0xa4, 0x21, 0x05, 0xf4, 0x40, 0xec, 0x5e, 0x15, 0x45, 0x7e, 0x6e, 0x86, 0xa8, 0x2a, 0xf8, 0x46, - 0xa6, 0xf7, 0x7a, 0x0a, 0x2e, 0x5f, 0xa1, 0x6c, 0x95, 0x95, 0xa5, 0x1f, 0x1c, 0x21, 0x36, 0x71, 0xa6, 0x2e, 0x84, - 0xf6, 0x04, 0x09, 0x51, 0xb0, 0xe5, 0xa6, 0x26, 0x51, 0x4d, 0xca, 0x3e, 0x2f, 0x49, 0x38, 0x4a, 0x1b, 0x0d, 0xe1, - 0x86, 0x5e, 0x48, 0x92, 0x98, 0x22, 0x7c, 0x59, 0xee, 0x2d, 0x5d, 0xef, 0x3b, 0x52, 0x1f, 0xc9, 0xb9, 0xac, 0xbb, - 0x73, 0x1b, 0x90, 0x26, 0x01, 0x9e, 0x42, 0xee, 0x4c, 0x10, 0x3e, 0x25, 0x2d, 0x67, 0xe4, 0x0e, 0xff, 0x74, 0x81, - 0x86, 0x8e, 0xfb, 0x47, 0xd4, 0x92, 0x8c, 0xe3, 0x12, 0xf5, 0x7c, 0x39, 0xc4, 0x52, 0x84, 0x30, 0x3b, 0x58, 0x78, - 0x12, 0xbd, 0x0c, 0x27, 0xfe, 0x8c, 0x7a, 0xa7, 0xb0, 0xc7, 0x35, 0xdd, 0x7c, 0x87, 0x81, 0x8e, 0xbc, 0x53, 0xc5, - 0x49, 0x5c, 0x7b, 0xf8, 0x15, 0x2f, 0x9f, 0x86, 0xf6, 0xf0, 0x97, 0xea, 0xe9, 0x4f, 0xf6, 0xf0, 0x4b, 0xee, 0xfd, - 0x52, 0x28, 0x67, 0x77, 0x6d, 0x88, 0x47, 0x7a, 0x88, 0x42, 0x2e, 0x8c, 0x81, 0xb9, 0x05, 0xda, 0xf4, 0x73, 0x4c, - 0x51, 0xc1, 0x26, 0x25, 0x2b, 0xca, 0x5d, 0xee, 0x4f, 0x01, 0xa5, 0xc6, 0x0a, 0xe4, 0x66, 0x64, 0xbf, 0x9a, 0x30, - 0x10, 0x8a, 0xa6, 0x56, 0x40, 0xe5, 0x74, 0xd0, 0x46, 0xcb, 0x5a, 0x5d, 0xa1, 0x31, 0xd5, 0x23, 0xe9, 0x25, 0x97, - 0xbe, 0x24, 0xed, 0xde, 0x65, 0x7f, 0xda, 0xbb, 0x6c, 0x34, 0x50, 0xae, 0x09, 0x6b, 0x31, 0xba, 0xbc, 0xc0, 0xdf, - 0x82, 0x4f, 0xcf, 0xa4, 0x24, 0x5c, 0x9b, 0x5e, 0x57, 0x4d, 0xaf, 0xd1, 0xc8, 0x0a, 0xd4, 0x33, 0x9a, 0x4e, 0x65, - 0xd3, 0xa2, 0x90, 0x38, 0x59, 0x27, 0xb4, 0x13, 0x24, 0x4a, 0x20, 0x1d, 0x8a, 0x10, 0xf2, 0x9c, 0xa3, 0xad, 0xbd, - 0x42, 0x9f, 0xd0, 0x5c, 0xec, 0x58, 0x60, 0x9e, 0x52, 0x46, 0x38, 0x80, 0x05, 0x68, 0x5a, 0x3a, 0x82, 0x27, 0x78, - 0xd1, 0xe8, 0x08, 0x22, 0x6f, 0x76, 0x7a, 0xf5, 0xbe, 0x1e, 0x57, 0x7d, 0xe1, 0x45, 0x83, 0x4c, 0x4a, 0x2c, 0x15, - 0x59, 0xa3, 0x51, 0xd4, 0xa3, 0x9d, 0x7a, 0xdf, 0xd6, 0xe2, 0x0f, 0xb7, 0xeb, 0x69, 0x19, 0x5a, 0xbe, 0x56, 0x12, - 0x95, 0xb9, 0x2c, 0x49, 0x68, 0x06, 0x32, 0x94, 0x70, 0xcc, 0x8a, 0xa2, 0x94, 0xeb, 0x6f, 0x40, 0x88, 0x62, 0x4a, - 0x12, 0xe0, 0x3b, 0xc2, 0xec, 0xc2, 0x19, 0x4e, 0x71, 0x24, 0xb8, 0x06, 0x21, 0xe4, 0x4c, 0x27, 0xb4, 0x70, 0xc1, - 0x81, 0x7c, 0xc2, 0x0c, 0x89, 0x94, 0x13, 0xea, 0x5e, 0xee, 0x9f, 0xa5, 0xf7, 0x9a, 0x64, 0x23, 0x76, 0xe1, 0x89, - 0x6a, 0xb1, 0xe2, 0x5b, 0x01, 0x79, 0xef, 0x70, 0x54, 0x06, 0x47, 0x5c, 0xc1, 0xfe, 0x9e, 0xb1, 0x8c, 0x0a, 0x0d, - 0x7c, 0x5f, 0x9b, 0x7d, 0x7e, 0x5d, 0x7d, 0xf4, 0x4d, 0xe7, 0x0d, 0x20, 0x32, 0x00, 0xdf, 0x4e, 0x46, 0x36, 0xaa, - 0x5d, 0xee, 0x9f, 0xbe, 0xd9, 0x66, 0x02, 0xaf, 0x56, 0xca, 0xf8, 0xf5, 0x41, 0xb3, 0xc1, 0x41, 0x05, 0xa9, 0xaf, - 0x7e, 0x78, 0x8e, 0x2f, 0x14, 0xa4, 0xc0, 0x49, 0x80, 0x8a, 0x2e, 0xf7, 0x4f, 0xdf, 0x3b, 0x89, 0x70, 0x2d, 0x21, - 0x6c, 0x4e, 0xdb, 0x49, 0x89, 0x13, 0x11, 0x8a, 0xe4, 0xdc, 0x4b, 0xc6, 0x95, 0x1a, 0xe2, 0xdb, 0x8b, 0xc4, 0x4b, - 0xb0, 0x1f, 0x46, 0xec, 0x82, 0xf8, 0x0a, 0x03, 0xc4, 0x47, 0xd8, 0xaf, 0x99, 0x65, 0x04, 0x16, 0x40, 0x8c, 0x75, - 0x0e, 0x2b, 0xe1, 0x4a, 0xc5, 0x0f, 0x61, 0x5f, 0x8c, 0xca, 0x0b, 0x29, 0x3a, 0x7e, 0xda, 0xc8, 0x4b, 0xab, 0xac, - 0xd1, 0xef, 0xc0, 0x72, 0xd2, 0x0f, 0xaf, 0x55, 0xd7, 0x65, 0xc1, 0x33, 0x9d, 0x40, 0x76, 0xb9, 0x7f, 0xfa, 0x4a, - 0xe5, 0x90, 0xcd, 0x7d, 0xcd, 0xed, 0x37, 0x2c, 0xcc, 0xd3, 0x57, 0x6e, 0xf5, 0x56, 0x54, 0xbe, 0xdc, 0x3f, 0xfd, - 0x76, 0x5b, 0x35, 0x28, 0x2f, 0x16, 0x95, 0x89, 0x2f, 0xe0, 0x5b, 0xd2, 0xd8, 0x5b, 0x2a, 0xd1, 0xe0, 0xb1, 0x02, - 0x0b, 0x71, 0xe4, 0xe5, 0x45, 0xe9, 0x19, 0x79, 0x86, 0x33, 0x22, 0xa2, 0x40, 0xf5, 0x55, 0x53, 0x4a, 0x1e, 0x4b, - 0x93, 0xf3, 0x20, 0x9d, 0xd3, 0x1d, 0xa1, 0xa1, 0x5b, 0xe4, 0xb2, 0x19, 0x24, 0xcf, 0x08, 0xd0, 0x19, 0xde, 0x6b, - 0xa3, 0x5e, 0x5d, 0x78, 0x65, 0x82, 0x48, 0xd3, 0x9a, 0x64, 0xc1, 0x11, 0x69, 0x63, 0x9f, 0xb4, 0x71, 0x40, 0xf2, - 0x51, 0x5b, 0x8a, 0x87, 0x5e, 0x50, 0xf6, 0x2b, 0x85, 0x0c, 0xe4, 0x85, 0x05, 0x72, 0xb7, 0x4a, 0xf1, 0x1b, 0xf6, - 0x02, 0xe1, 0x7a, 0x14, 0x12, 0x3d, 0x14, 0x64, 0xf1, 0xd4, 0x49, 0x71, 0x2a, 0x3a, 0x3e, 0x67, 0x57, 0x31, 0xa4, - 0x96, 0xc0, 0xac, 0x30, 0x47, 0x5e, 0x59, 0xb5, 0xa3, 0xaa, 0x06, 0xae, 0x58, 0xa7, 0x14, 0x07, 0x2e, 0x30, 0x6e, - 0x1c, 0xa8, 0x4c, 0x9c, 0x7c, 0xb3, 0xc9, 0xa3, 0x83, 0x03, 0x47, 0x36, 0xfa, 0x8e, 0x3b, 0xa9, 0x7e, 0x5f, 0x05, - 0xee, 0xbe, 0x93, 0xbc, 0x22, 0x44, 0x02, 0xfe, 0x46, 0xc3, 0xbf, 0x28, 0x20, 0x0a, 0xed, 0x04, 0x75, 0x0c, 0x6a, - 0xe0, 0x85, 0xa6, 0x57, 0x9f, 0x7e, 0xa3, 0x51, 0x06, 0x69, 0xeb, 0xd8, 0xba, 0xc5, 0x59, 0x71, 0xed, 0x94, 0xc9, - 0x3f, 0xed, 0x8d, 0x8c, 0x29, 0x0d, 0x02, 0x62, 0x26, 0xcd, 0x32, 0x3d, 0x19, 0x63, 0x4b, 0x30, 0xa8, 0xf7, 0x95, - 0x4a, 0x5b, 0xc0, 0x22, 0xbf, 0x4a, 0x55, 0xd2, 0xec, 0xac, 0x8b, 0x3c, 0x5d, 0x09, 0x82, 0x52, 0x50, 0xa9, 0x51, - 0x28, 0xf2, 0x7e, 0xba, 0x99, 0x75, 0x89, 0x73, 0xa4, 0x7c, 0x5c, 0x02, 0x0a, 0x81, 0xac, 0x6e, 0x89, 0x94, 0x17, - 0x64, 0xbe, 0x9b, 0xe4, 0x4f, 0x0d, 0x92, 0x7f, 0x4a, 0xa8, 0x41, 0xfe, 0xd2, 0xc3, 0xe1, 0xa6, 0xca, 0xb5, 0x90, - 0xeb, 0x57, 0x67, 0x73, 0x02, 0x3e, 0xb4, 0x3a, 0x46, 0x6b, 0x51, 0xc5, 0x1d, 0x0c, 0xc5, 0xdc, 0x21, 0xc2, 0x0b, - 0x89, 0x75, 0x08, 0xd8, 0xa9, 0x62, 0x6a, 0x30, 0xf4, 0x36, 0x97, 0x9e, 0xc9, 0x01, 0x4f, 0xbf, 0xbd, 0x3f, 0x1c, - 0x7a, 0x36, 0xdf, 0xdc, 0xb9, 0x46, 0xf6, 0x27, 0xcc, 0xda, 0xd8, 0xb8, 0xf5, 0x5c, 0x50, 0x18, 0xbf, 0x0c, 0x63, - 0xd7, 0x99, 0xcf, 0xda, 0x26, 0xd4, 0xf2, 0x0f, 0xa0, 0xed, 0x74, 0x44, 0x0d, 0x6a, 0x74, 0x0b, 0xfc, 0x48, 0xe6, - 0xa0, 0xfa, 0xd9, 0x0e, 0xf6, 0x71, 0x2a, 0x2a, 0xd0, 0x24, 0xdc, 0xfe, 0xfa, 0x69, 0xa1, 0xc8, 0x44, 0x82, 0x86, - 0x96, 0xc0, 0xff, 0x24, 0xc9, 0x03, 0xdd, 0x08, 0xb9, 0x00, 0x08, 0x9a, 0x0b, 0x3c, 0x55, 0x08, 0xb3, 0xed, 0xca, - 0xf9, 0xfe, 0x62, 0x8f, 0x90, 0x79, 0xe5, 0x7c, 0x7c, 0x57, 0xe5, 0x5e, 0x01, 0x59, 0x20, 0x0f, 0x8c, 0xc7, 0xb2, - 0x40, 0x46, 0x2f, 0xcf, 0x74, 0x75, 0x61, 0x40, 0xba, 0x95, 0xbe, 0x6d, 0x44, 0x36, 0x85, 0x57, 0x4e, 0xbe, 0xd7, - 0x68, 0x58, 0x7b, 0xbb, 0x0f, 0x6f, 0x5f, 0x71, 0x01, 0x23, 0x3c, 0xbf, 0x17, 0xb5, 0x75, 0xbf, 0xc5, 0x87, 0xf5, - 0x04, 0x96, 0xb5, 0x45, 0x71, 0x59, 0x92, 0xd3, 0x8c, 0x3f, 0xa5, 0x93, 0x34, 0x83, 0x90, 0x45, 0x89, 0x13, 0x54, - 0xec, 0x1b, 0x6e, 0x3b, 0x31, 0x3f, 0x23, 0x4e, 0xb0, 0x36, 0x41, 0xf1, 0xeb, 0x83, 0x88, 0x59, 0x5f, 0xae, 0xb7, - 0x9a, 0x1f, 0x1c, 0xbc, 0xaf, 0xd0, 0xa4, 0xa0, 0x14, 0x50, 0x18, 0x4c, 0x4b, 0xaa, 0x34, 0x2a, 0x90, 0xbb, 0xef, - 0x94, 0x2e, 0x00, 0xcd, 0x30, 0x4c, 0xde, 0xf3, 0x82, 0xf0, 0x62, 0xba, 0xce, 0xe2, 0x95, 0x6b, 0x82, 0x99, 0x66, - 0x0b, 0x70, 0x78, 0x30, 0xb4, 0xa5, 0xaf, 0x28, 0xaf, 0xd2, 0x61, 0x4b, 0x18, 0xce, 0x00, 0x59, 0x8e, 0x30, 0x42, - 0x0c, 0x0a, 0xdc, 0x6a, 0x94, 0x7c, 0x00, 0xbd, 0x32, 0xc2, 0xb9, 0x1b, 0x41, 0x02, 0x6c, 0x6d, 0xcb, 0x22, 0x84, - 0x65, 0x5e, 0x8e, 0x91, 0x49, 0x70, 0xfa, 0x62, 0x9b, 0x47, 0x59, 0x13, 0x35, 0x15, 0x52, 0x07, 0x6a, 0x64, 0xa8, - 0x6c, 0xe0, 0x5e, 0x3b, 0x4c, 0x29, 0x6e, 0x3a, 0x6c, 0x06, 0x0c, 0xf8, 0x27, 0xee, 0xc8, 0x58, 0x14, 0xc8, 0x8c, - 0xd4, 0x5d, 0x38, 0xb5, 0xa1, 0x7b, 0xa9, 0x68, 0x86, 0x15, 0xe2, 0x22, 0x13, 0x4d, 0xa9, 0x08, 0xeb, 0x9d, 0x55, - 0xbc, 0x74, 0x5f, 0xe6, 0x50, 0x73, 0xcd, 0x05, 0xab, 0x3c, 0x12, 0x63, 0xfa, 0xfb, 0x32, 0x2d, 0xba, 0xac, 0x04, - 0x6a, 0x18, 0xbd, 0xb1, 0x5e, 0x8b, 0x35, 0xa0, 0x05, 0xd0, 0xd7, 0xf2, 0x9c, 0x1b, 0x2b, 0xaa, 0x7d, 0xd8, 0x62, - 0x4c, 0x43, 0xea, 0xbf, 0x83, 0x4c, 0x97, 0xf5, 0x3d, 0xff, 0x42, 0xc8, 0x42, 0x86, 0xf3, 0x1a, 0x63, 0xcf, 0x04, - 0x63, 0x47, 0xa0, 0xa7, 0xe9, 0xd4, 0xef, 0xa1, 0x4a, 0x78, 0x61, 0x4a, 0xca, 0x29, 0x12, 0xfb, 0xb6, 0x0c, 0x96, - 0x1b, 0xbf, 0xd7, 0x56, 0xc3, 0x63, 0x04, 0x92, 0x80, 0xb0, 0xe2, 0xec, 0x19, 0xc2, 0x79, 0xa3, 0xd1, 0xcb, 0xfb, - 0xb4, 0x72, 0x91, 0x54, 0x30, 0x32, 0x88, 0xe7, 0x02, 0xc1, 0xd7, 0x64, 0x28, 0x44, 0xfc, 0x75, 0x6e, 0x76, 0x0e, - 0xae, 0xf6, 0xd3, 0x77, 0x8e, 0xc9, 0xd5, 0xcc, 0xba, 0x65, 0xcc, 0x14, 0xe6, 0xe3, 0x54, 0xf1, 0x96, 0xb7, 0xf7, - 0xe7, 0x77, 0x00, 0xdc, 0x7b, 0x1d, 0x0c, 0xb9, 0x68, 0xa8, 0xc7, 0x25, 0x4b, 0x28, 0x77, 0x5f, 0x0f, 0x55, 0x69, - 0x89, 0xe6, 0x60, 0x3d, 0x5e, 0x99, 0xb2, 0x9c, 0xe4, 0x45, 0x91, 0xd3, 0x2a, 0xba, 0xbf, 0x96, 0x7f, 0x29, 0x84, - 0xcb, 0xa6, 0xb3, 0xfd, 0x6c, 0x4e, 0x38, 0x36, 0x08, 0xf5, 0xed, 0xae, 0xd0, 0x47, 0x05, 0x26, 0xec, 0x6b, 0x25, - 0x14, 0x7f, 0xd9, 0x26, 0x14, 0x71, 0xa6, 0xb6, 0xbc, 0x10, 0x88, 0x9d, 0x07, 0x08, 0x44, 0xe5, 0x64, 0xd7, 0x32, - 0x11, 0xd4, 0x91, 0x9a, 0x4c, 0xac, 0x2f, 0x29, 0xc9, 0x30, 0x53, 0xab, 0x31, 0xe8, 0xae, 0x56, 0x6c, 0xd4, 0x06, - 0x27, 0x92, 0x6d, 0xc3, 0xcf, 0x8e, 0xfc, 0x69, 0x70, 0x62, 0xe9, 0x04, 0x76, 0x58, 0x69, 0xb2, 0x20, 0x17, 0x52, - 0x9c, 0x1d, 0x91, 0x93, 0x25, 0x68, 0x5a, 0x51, 0x90, 0x22, 0x70, 0xc2, 0xca, 0x28, 0x13, 0x40, 0x2c, 0x64, 0x85, - 0x32, 0x20, 0x9d, 0xad, 0xc9, 0x7f, 0xda, 0xbc, 0xfc, 0xb8, 0x26, 0x5a, 0x93, 0x2b, 0x52, 0x7d, 0xa8, 0xa5, 0x1b, - 0x28, 0x08, 0x94, 0x7e, 0xb8, 0x27, 0x4c, 0xd0, 0x4a, 0x94, 0x23, 0x53, 0x0e, 0xe1, 0x36, 0xb8, 0xd0, 0xf6, 0xde, - 0xcb, 0x00, 0xef, 0x16, 0x69, 0x82, 0x53, 0x83, 0xae, 0x5f, 0x10, 0x5e, 0x63, 0x25, 0x11, 0x51, 0x96, 0x12, 0x0e, - 0x04, 0x99, 0x72, 0x92, 0x8d, 0xda, 0x17, 0xa0, 0x80, 0xf6, 0xfc, 0x7e, 0x56, 0x99, 0xc0, 0x7e, 0xa3, 0x81, 0x02, - 0x3d, 0x6a, 0x34, 0x62, 0x0d, 0xff, 0x02, 0x53, 0xec, 0x4b, 0xc3, 0xe4, 0xec, 0xe0, 0xc0, 0x09, 0xaa, 0x71, 0x47, - 0xfe, 0x05, 0xc2, 0xe9, 0x6a, 0xe5, 0x08, 0xb0, 0x02, 0xb4, 0x5a, 0x05, 0x26, 0x58, 0xe2, 0x35, 0x34, 0x9b, 0x0f, - 0x39, 0x99, 0x0b, 0x01, 0x38, 0x07, 0x08, 0x1b, 0xc4, 0x09, 0x94, 0x73, 0x2f, 0x00, 0x67, 0x54, 0x23, 0x1b, 0xf9, - 0x8d, 0xce, 0x85, 0xc1, 0xb8, 0x46, 0xfe, 0x05, 0x09, 0x8a, 0xf4, 0xe0, 0x60, 0x2f, 0x57, 0x22, 0xf2, 0x27, 0x10, - 0x65, 0x3f, 0x09, 0xc9, 0x22, 0x3b, 0x34, 0x57, 0x63, 0xdd, 0x19, 0x50, 0x52, 0x94, 0x5a, 0x56, 0x5d, 0xaf, 0x96, - 0x04, 0x51, 0x56, 0xc2, 0x2a, 0x16, 0x3c, 0x04, 0xcb, 0xbe, 0x24, 0xf3, 0xaf, 0x78, 0x99, 0x64, 0xfd, 0xcb, 0xd6, - 0xd4, 0x6a, 0xd7, 0x75, 0xfd, 0x6c, 0x2a, 0x22, 0x19, 0x3a, 0x0a, 0x2b, 0x88, 0xff, 0x50, 0x81, 0x69, 0x0c, 0x3c, - 0x2a, 0xc7, 0xba, 0x20, 0x12, 0x7c, 0xad, 0xda, 0xe8, 0xd3, 0x24, 0x3f, 0x6f, 0xf5, 0x32, 0xa8, 0x0d, 0xf7, 0x6b, - 0x21, 0x39, 0x52, 0x90, 0x48, 0xf2, 0x58, 0xc3, 0xd9, 0x0e, 0x5c, 0xfc, 0xcc, 0xd7, 0x70, 0xb6, 0x1b, 0xb7, 0x1a, - 0x53, 0x5f, 0xee, 0x82, 0xcf, 0xe0, 0x0d, 0x12, 0xd0, 0xaa, 0xc0, 0x80, 0xf2, 0x78, 0x5d, 0xf7, 0x92, 0xac, 0x14, - 0x84, 0x29, 0x27, 0x0e, 0xab, 0x6f, 0x80, 0x4a, 0x1b, 0x35, 0x0c, 0x5f, 0xe6, 0xcd, 0x91, 0xe1, 0x12, 0xa8, 0x67, - 0xae, 0x00, 0x39, 0x29, 0x5f, 0xfb, 0xfc, 0xe0, 0x00, 0x6c, 0x03, 0x50, 0xe2, 0xdc, 0xc0, 0x9f, 0xf3, 0x45, 0x06, - 0xaa, 0x54, 0xae, 0x7f, 0x43, 0x31, 0x9c, 0x03, 0x11, 0x65, 0xf0, 0x03, 0x0a, 0xe6, 0x7e, 0x9e, 0xb3, 0x6b, 0x59, - 0xa6, 0x7e, 0xe3, 0x94, 0x68, 0x52, 0xce, 0xa5, 0x4e, 0x98, 0xa1, 0x5e, 0xa6, 0xe8, 0xb4, 0x8e, 0xb6, 0xe7, 0xd7, - 0x34, 0xe1, 0x2f, 0x59, 0xce, 0x69, 0x02, 0xd3, 0xaf, 0x28, 0x0e, 0x66, 0x94, 0x23, 0xd8, 0xb0, 0xb5, 0x56, 0x7e, - 0x18, 0xde, 0xdb, 0x84, 0xd7, 0x75, 0xa0, 0xc8, 0x4f, 0xc2, 0x58, 0x0e, 0x62, 0xa6, 0x33, 0xea, 0x14, 0xce, 0xb2, - 0xa6, 0x99, 0x4e, 0x53, 0x29, 0x1b, 0x82, 0xbb, 0x3b, 0x8c, 0x68, 0x49, 0xa0, 0xa5, 0xe7, 0xbd, 0x5a, 0x0b, 0x04, - 0xbc, 0x77, 0x2c, 0x82, 0x39, 0x13, 0xcc, 0x0d, 0x8e, 0xea, 0xd6, 0xe1, 0xd4, 0x74, 0xf3, 0xdd, 0xd6, 0x43, 0x6d, - 0xdb, 0x84, 0x83, 0xa0, 0x93, 0x47, 0xbb, 0x2d, 0xab, 0x57, 0x5a, 0x72, 0x68, 0x69, 0xc1, 0x1e, 0xca, 0x98, 0xd1, - 0x52, 0x93, 0x17, 0xd2, 0x5b, 0x71, 0xc6, 0xc9, 0x4f, 0x70, 0x6a, 0xe8, 0x05, 0x9f, 0xc5, 0x6b, 0x87, 0x63, 0x7a, - 0xb3, 0x52, 0xfb, 0x9f, 0x71, 0xe7, 0x35, 0x7e, 0x0a, 0x61, 0xdd, 0xaf, 0xab, 0xea, 0x9b, 0xe1, 0xdc, 0xaf, 0x2b, - 0x04, 0x7d, 0xed, 0x6d, 0xd4, 0x33, 0xc2, 0xb8, 0x5d, 0xf7, 0xc4, 0x6d, 0xdb, 0x5a, 0x5b, 0xfa, 0x5e, 0x06, 0x91, - 0x64, 0xa2, 0xa5, 0xd8, 0x0f, 0xb8, 0x4a, 0x53, 0x83, 0x74, 0xb9, 0xba, 0x85, 0x44, 0x55, 0x82, 0xa1, 0xd4, 0xe1, - 0x77, 0x2d, 0x8f, 0x92, 0x31, 0x99, 0xb4, 0x33, 0xde, 0xfa, 0x19, 0xdf, 0x87, 0x5d, 0x96, 0x6e, 0x9c, 0xc4, 0x8b, - 0x08, 0x78, 0xd0, 0x1e, 0x36, 0x84, 0x61, 0x6c, 0xe7, 0xf2, 0x24, 0x90, 0xd9, 0x3f, 0x49, 0xb5, 0xee, 0x56, 0xb7, - 0x32, 0xbe, 0x05, 0xfb, 0x1f, 0xe1, 0x48, 0x1f, 0x8f, 0xa3, 0x8a, 0x03, 0x53, 0x6f, 0x59, 0x94, 0x4e, 0x81, 0x54, - 0x2a, 0x6f, 0x09, 0xc2, 0x69, 0x21, 0xc2, 0xdb, 0xdf, 0xe0, 0x1f, 0x14, 0x4b, 0xbc, 0x2e, 0x39, 0xce, 0xf3, 0x87, - 0x72, 0x44, 0x09, 0x7e, 0x19, 0xbd, 0x07, 0x3a, 0x16, 0x14, 0x5a, 0x68, 0x2a, 0x7a, 0x96, 0xaa, 0x89, 0xec, 0xcc, - 0x4a, 0xc5, 0xb4, 0xcc, 0xa8, 0x11, 0xc3, 0x6c, 0x49, 0xe3, 0xd4, 0x56, 0x36, 0x2f, 0x77, 0x55, 0x6d, 0x5c, 0xb4, - 0x03, 0x8b, 0x55, 0x60, 0x71, 0xb5, 0x72, 0xea, 0xa8, 0x26, 0xcc, 0x88, 0x63, 0x20, 0xcc, 0x8c, 0x84, 0x8a, 0x9a, - 0x66, 0x2d, 0xdb, 0x38, 0x68, 0x3d, 0x9f, 0x48, 0xeb, 0xe6, 0x35, 0x38, 0x4c, 0x17, 0x82, 0x6c, 0x6e, 0xfa, 0x14, - 0xb0, 0x9c, 0x5d, 0x39, 0x90, 0x81, 0xa1, 0xef, 0xcb, 0x4c, 0xd9, 0x2a, 0xa5, 0x75, 0x0b, 0x7e, 0xd1, 0x3d, 0xb9, - 0xb2, 0x0a, 0x75, 0x9b, 0xef, 0x8d, 0x5c, 0xa3, 0x67, 0xe9, 0xae, 0x5c, 0xa3, 0x9a, 0xb6, 0xbb, 0xd7, 0x46, 0xf7, - 0x67, 0xa5, 0xca, 0xb1, 0xb6, 0x57, 0xf9, 0x15, 0xc3, 0x75, 0x80, 0x36, 0x25, 0x9a, 0x35, 0x57, 0x39, 0x2b, 0x8a, - 0xeb, 0xf2, 0x2c, 0x81, 0x48, 0xdd, 0xb9, 0x96, 0xf4, 0xaf, 0xac, 0x46, 0x71, 0x20, 0xd7, 0xf9, 0x86, 0x4c, 0xe3, - 0xf4, 0xca, 0x8f, 0xdf, 0xc3, 0x78, 0xd5, 0xcb, 0x17, 0x77, 0x61, 0xe6, 0x73, 0xaa, 0xb8, 0x4b, 0x05, 0xc3, 0x37, - 0x06, 0x0c, 0xdf, 0x48, 0x3e, 0x5d, 0xb5, 0xc7, 0xcb, 0x97, 0x65, 0x07, 0xde, 0x75, 0xa1, 0x59, 0xc6, 0x84, 0x6f, - 0x1f, 0x63, 0x9d, 0x85, 0x4d, 0x4a, 0x16, 0x36, 0xe1, 0xce, 0x7a, 0x57, 0x8e, 0xf3, 0xc3, 0xf6, 0x5e, 0x36, 0x39, - 0xdb, 0x0f, 0xd5, 0xc6, 0xff, 0xc1, 0xbb, 0xb7, 0x8d, 0xc1, 0xe5, 0x0e, 0xdd, 0x43, 0x91, 0xac, 0x22, 0x41, 0x7e, - 0x01, 0x49, 0x07, 0x9c, 0x0c, 0x8c, 0x23, 0x07, 0x95, 0x9c, 0xd2, 0x79, 0x40, 0x4e, 0xb0, 0xc8, 0x79, 0x3a, 0x53, - 0x7d, 0xe6, 0xea, 0x9c, 0x91, 0x78, 0x09, 0xae, 0x68, 0x11, 0x6b, 0xf7, 0xea, 0x27, 0xb9, 0x96, 0x1f, 0x58, 0x12, - 0x7a, 0x39, 0x56, 0x52, 0x24, 0xf7, 0xb2, 0x82, 0xe8, 0x5c, 0xe3, 0xcd, 0x77, 0x78, 0xc2, 0x12, 0x96, 0x47, 0x34, - 0x73, 0x52, 0xb4, 0xdc, 0x35, 0x58, 0x0a, 0x01, 0x19, 0x39, 0x18, 0xfe, 0x5b, 0x75, 0xe4, 0xcf, 0x85, 0xde, 0xc0, - 0x0f, 0x34, 0xa3, 0x3c, 0x4a, 0x43, 0x48, 0x4b, 0x71, 0xc3, 0xf2, 0x48, 0xd3, 0xc1, 0xc1, 0x9e, 0x63, 0x0b, 0xb7, - 0x04, 0x1c, 0xfe, 0x36, 0xdf, 0xa0, 0xe1, 0x12, 0x4e, 0xe7, 0x54, 0x43, 0x53, 0xb4, 0xa4, 0xeb, 0x07, 0x59, 0xb8, - 0xfb, 0x81, 0xde, 0xe1, 0x04, 0x15, 0x85, 0x27, 0xa1, 0xb6, 0x27, 0x8c, 0xc6, 0xa1, 0x8d, 0x3f, 0xd0, 0x3b, 0xaf, - 0x3c, 0x2f, 0x2e, 0x8e, 0x37, 0x8b, 0x05, 0xb4, 0xd3, 0x9b, 0xc4, 0xc6, 0xd5, 0x20, 0xde, 0xb2, 0xc0, 0x69, 0xc6, - 0xa6, 0x40, 0x9c, 0x7f, 0xa1, 0x77, 0x9e, 0xec, 0x8f, 0x19, 0xa7, 0xf5, 0xd0, 0x52, 0xa3, 0xde, 0x35, 0x8a, 0xcd, - 0x65, 0x50, 0x06, 0xc5, 0x48, 0xb4, 0xbd, 0x20, 0xb5, 0x7a, 0x95, 0x79, 0x88, 0x50, 0xf1, 0xd0, 0xa9, 0xe0, 0xaf, - 0x4d, 0xd1, 0xc6, 0x6b, 0x99, 0xaf, 0x6b, 0x8d, 0x28, 0x34, 0xa8, 0x32, 0x3d, 0x66, 0x4e, 0xa2, 0x77, 0x9d, 0x3a, - 0x82, 0x60, 0x38, 0xc2, 0xbe, 0xe6, 0xaa, 0x53, 0xef, 0x6f, 0x32, 0x21, 0xa4, 0x8a, 0x24, 0xbd, 0xaa, 0xda, 0x59, - 0x33, 0x07, 0xf0, 0x0e, 0x09, 0x2d, 0xbe, 0x38, 0x90, 0x59, 0xe8, 0x6c, 0xd1, 0xbf, 0x70, 0xe2, 0x2c, 0xf5, 0x14, - 0xbc, 0xc4, 0xc4, 0x22, 0x2f, 0x80, 0x0a, 0x15, 0x7d, 0xc9, 0x04, 0x40, 0x38, 0xc3, 0xbe, 0x21, 0x35, 0x33, 0x21, - 0x35, 0x5d, 0x03, 0xe3, 0x3b, 0xa4, 0x24, 0x15, 0xc8, 0x10, 0x4a, 0xa4, 0x10, 0x7a, 0x6a, 0x71, 0x15, 0x09, 0x99, - 0x0b, 0x5a, 0x9e, 0x9f, 0x93, 0x6b, 0x9e, 0xd5, 0xc0, 0x72, 0x44, 0x3f, 0xa8, 0xf0, 0x60, 0x4a, 0x54, 0x56, 0x28, - 0xca, 0x63, 0xd9, 0x3a, 0xbd, 0xd5, 0x49, 0x5d, 0x3d, 0x2d, 0xa2, 0x51, 0xe2, 0x44, 0x68, 0x99, 0x38, 0x11, 0xce, - 0x20, 0x1d, 0x31, 0x2d, 0x4a, 0xf8, 0xa9, 0xb9, 0x1a, 0xb5, 0x64, 0xe5, 0xed, 0x67, 0xfc, 0x40, 0x99, 0xe7, 0x90, - 0xa2, 0x89, 0x13, 0xcd, 0x53, 0x12, 0x47, 0x1c, 0xb6, 0x33, 0x96, 0xed, 0x1b, 0x95, 0xa0, 0xa3, 0x00, 0xfb, 0x0b, - 0x77, 0x96, 0xc6, 0x2c, 0xcc, 0xd3, 0xdc, 0xea, 0xcc, 0x9f, 0x0a, 0xf6, 0x55, 0x39, 0xa4, 0x4e, 0x4e, 0xd6, 0x24, - 0xce, 0xfd, 0xa9, 0x96, 0x3f, 0x2f, 0x68, 0x76, 0x77, 0x4e, 0x21, 0xd5, 0x39, 0x85, 0xd3, 0xbe, 0xd5, 0x32, 0x54, - 0x69, 0xea, 0xc3, 0x4c, 0x28, 0x2b, 0x45, 0xfd, 0x14, 0xe0, 0xfa, 0x19, 0xc1, 0x42, 0x44, 0x1b, 0x0d, 0x47, 0x8c, - 0xdc, 0x2d, 0x74, 0xe7, 0xe9, 0x49, 0xda, 0x63, 0xe0, 0x5f, 0xab, 0x30, 0xad, 0x82, 0x05, 0x38, 0x35, 0x4f, 0xa4, - 0x8e, 0xf2, 0x8b, 0x75, 0xaf, 0x0c, 0x14, 0x41, 0xf8, 0x2e, 0xdb, 0x3d, 0xd5, 0x6d, 0x49, 0xb3, 0xbb, 0xa7, 0x5a, - 0x0b, 0xfa, 0x89, 0x84, 0x1f, 0xac, 0xc6, 0x29, 0x8f, 0x2f, 0xb3, 0xa2, 0x40, 0x05, 0x80, 0xf7, 0xe7, 0x9e, 0xe3, - 0xfc, 0x59, 0xa5, 0x0c, 0xba, 0x10, 0x8b, 0x3d, 0x8f, 0x53, 0xcd, 0xc4, 0xab, 0xf1, 0xff, 0xbc, 0x31, 0xfe, 0x9f, - 0x8d, 0x33, 0xa7, 0x60, 0x1a, 0x4d, 0x13, 0x1a, 0x6a, 0xd6, 0x89, 0x24, 0x01, 0x0a, 0xbd, 0x2d, 0xe1, 0xe4, 0xc3, - 0xd8, 0x03, 0x8d, 0x6b, 0x39, 0x49, 0x13, 0xde, 0x9c, 0xf8, 0x33, 0x16, 0xdf, 0x79, 0x0b, 0xd6, 0x9c, 0xa5, 0x49, - 0x9a, 0xcf, 0xfd, 0x80, 0xe2, 0xfc, 0x2e, 0xe7, 0x74, 0xd6, 0x5c, 0x30, 0xfc, 0x82, 0xc6, 0xd7, 0x94, 0xb3, 0xc0, - 0xc7, 0xf6, 0x69, 0xc6, 0xfc, 0xd8, 0x7a, 0xed, 0x67, 0x59, 0x7a, 0x63, 0xe3, 0x77, 0xe9, 0x55, 0xca, 0x53, 0xfc, - 0xe6, 0xf6, 0x6e, 0x4a, 0x13, 0xfc, 0xed, 0xd5, 0x22, 0xe1, 0x0b, 0x9c, 0xfb, 0x49, 0xde, 0xcc, 0x69, 0xc6, 0x26, - 0xbd, 0x20, 0x8d, 0xd3, 0xac, 0x09, 0x19, 0xdb, 0x33, 0xea, 0xc5, 0x6c, 0x1a, 0x71, 0x2b, 0xf4, 0xb3, 0x0f, 0xbd, - 0x66, 0x73, 0x9e, 0xb1, 0x99, 0x9f, 0xdd, 0x35, 0x45, 0x0d, 0xef, 0xf3, 0xf6, 0xa1, 0xff, 0x64, 0x72, 0xd4, 0xe3, - 0x99, 0x9f, 0xe4, 0x0c, 0x96, 0xc9, 0xf3, 0xe3, 0xd8, 0x3a, 0x3c, 0x6e, 0xcf, 0xf2, 0x3d, 0x19, 0xc8, 0xf3, 0x13, - 0x5e, 0x8c, 0xf1, 0x5b, 0x80, 0xdb, 0xbd, 0xe2, 0x09, 0xbe, 0x5a, 0x70, 0x9e, 0x26, 0xcb, 0x60, 0x91, 0xe5, 0x69, - 0xe6, 0xcd, 0x53, 0x96, 0x70, 0x9a, 0xf5, 0xae, 0xd2, 0x2c, 0xa4, 0x59, 0x33, 0xf3, 0x43, 0xb6, 0xc8, 0xbd, 0xa3, - 0xf9, 0x6d, 0x0f, 0x34, 0x8b, 0x69, 0x96, 0x2e, 0x92, 0x50, 0x8d, 0xc5, 0x92, 0x88, 0x66, 0x8c, 0x9b, 0x2f, 0xc4, - 0x25, 0x26, 0x5e, 0xcc, 0x12, 0xea, 0x67, 0xcd, 0x29, 0x34, 0x06, 0xb3, 0xa8, 0x1d, 0xd2, 0x29, 0xce, 0xa6, 0x57, - 0xbe, 0xd3, 0xe9, 0x3e, 0xc6, 0xfa, 0x7f, 0xf7, 0x18, 0x59, 0xed, 0xed, 0xc5, 0x9d, 0x76, 0xfb, 0x0f, 0xa8, 0xb7, - 0x36, 0x8a, 0x00, 0xc8, 0xeb, 0xcc, 0x6f, 0xad, 0x3c, 0x85, 0x8c, 0xb6, 0x6d, 0x2d, 0x7b, 0x73, 0x3f, 0x84, 0x7c, - 0x60, 0xaf, 0x3b, 0xbf, 0x2d, 0x60, 0x76, 0x9e, 0x4c, 0x31, 0x55, 0x93, 0x54, 0x4f, 0xcb, 0x5f, 0x0b, 0xf1, 0xc9, - 0x76, 0x88, 0xbb, 0x1a, 0xe2, 0x0a, 0xeb, 0xcd, 0x70, 0x91, 0x89, 0xd8, 0xaa, 0xd7, 0xc9, 0x25, 0x20, 0x51, 0x7a, - 0x4d, 0x33, 0x0d, 0x87, 0x78, 0xf8, 0xd5, 0x60, 0x74, 0xb7, 0x83, 0x71, 0xf2, 0x31, 0x30, 0xb2, 0x24, 0x5c, 0xd6, - 0xd7, 0xb5, 0x93, 0xd1, 0x59, 0x2f, 0xa2, 0x40, 0x4f, 0x5e, 0x17, 0x7e, 0xdf, 0xb0, 0x90, 0x47, 0xf2, 0xa7, 0x20, - 0xe7, 0x1b, 0xf9, 0xee, 0xb8, 0xdd, 0x96, 0xcf, 0x39, 0xfb, 0x85, 0x7a, 0x1d, 0x17, 0x2a, 0x14, 0x63, 0xfc, 0x43, - 0x79, 0x96, 0xb7, 0xce, 0x3d, 0xf1, 0x9f, 0xcd, 0x43, 0xbe, 0x46, 0x8a, 0x62, 0x75, 0x24, 0x1a, 0x67, 0x5a, 0x56, - 0x4a, 0xe1, 0x03, 0x6e, 0x3b, 0xc1, 0x1d, 0x09, 0x1b, 0x94, 0x87, 0x38, 0xd9, 0xf0, 0xcf, 0x32, 0xef, 0xc2, 0x83, - 0x48, 0x87, 0x91, 0x6a, 0x98, 0xf6, 0xb2, 0x01, 0x69, 0xf7, 0xb2, 0x66, 0x13, 0x39, 0x29, 0x49, 0x46, 0x99, 0x4a, - 0xce, 0x73, 0xd8, 0x30, 0x15, 0xc6, 0x76, 0x8e, 0xbc, 0x14, 0x4e, 0x9a, 0xae, 0x56, 0x55, 0x18, 0x80, 0x89, 0xd3, - 0x1a, 0x3f, 0x70, 0x55, 0x01, 0xe7, 0x06, 0x27, 0x4f, 0xf5, 0xd5, 0x2e, 0x89, 0xe6, 0x15, 0x71, 0x1a, 0x08, 0xcc, - 0xb9, 0x73, 0x9f, 0x47, 0xe0, 0xa5, 0x28, 0xc5, 0x4f, 0x95, 0xc2, 0x64, 0xb7, 0x6c, 0x34, 0x4c, 0xca, 0xfc, 0x36, - 0xc8, 0xe3, 0x4b, 0x0a, 0xe8, 0xe5, 0x8e, 0x13, 0x61, 0x31, 0x95, 0xfd, 0x7f, 0xcb, 0x0d, 0x49, 0x9d, 0xb8, 0x2c, - 0x09, 0xe2, 0x45, 0x48, 0x73, 0xd1, 0x43, 0x25, 0xce, 0xff, 0x6a, 0xd6, 0x12, 0x4d, 0xa0, 0x77, 0x91, 0xcd, 0x03, - 0x15, 0xe1, 0x06, 0x95, 0xf2, 0xb9, 0x29, 0x9e, 0xab, 0xb6, 0xfa, 0x52, 0x09, 0x36, 0x71, 0xa0, 0xa5, 0xbb, 0x48, - 0xd8, 0xcf, 0x0b, 0x7a, 0xc9, 0x42, 0xe3, 0xdc, 0x2e, 0x4d, 0x82, 0x34, 0xa4, 0xdf, 0xbe, 0xfb, 0x0a, 0xb2, 0xdd, - 0xd3, 0x04, 0x48, 0x2c, 0x91, 0xfe, 0x2e, 0x9c, 0x93, 0xc4, 0x0d, 0xe9, 0x35, 0x0b, 0xe8, 0x70, 0xbc, 0xbf, 0xdc, - 0x5a, 0x51, 0xbe, 0x46, 0x45, 0x6b, 0x2c, 0x92, 0xfe, 0x04, 0x94, 0xe3, 0xfd, 0xe5, 0x1d, 0x2f, 0x5a, 0xfb, 0xcb, - 0xc4, 0x0d, 0xd3, 0x99, 0xcf, 0x12, 0xf8, 0x9d, 0x17, 0xfb, 0x4b, 0x06, 0x3f, 0x78, 0x31, 0x2e, 0xaa, 0x44, 0xd1, - 0x12, 0x22, 0x63, 0x0a, 0x0a, 0x77, 0x1d, 0xe4, 0xfe, 0x94, 0xb2, 0x44, 0x14, 0xdd, 0xd7, 0x33, 0xd5, 0xbd, 0x02, - 0x92, 0xbf, 0x22, 0xd2, 0x60, 0xd6, 0xe6, 0xf2, 0xf5, 0x43, 0xcd, 0x65, 0x9a, 0x70, 0x26, 0xd2, 0xe2, 0x75, 0x38, - 0x27, 0xf2, 0xf3, 0xcb, 0x40, 0x9e, 0x43, 0xcd, 0xab, 0x53, 0x17, 0xbe, 0x40, 0xac, 0xb4, 0x80, 0x69, 0x26, 0x8c, - 0x7d, 0xba, 0xfb, 0xa0, 0x64, 0x72, 0x9f, 0xf1, 0x57, 0x52, 0x55, 0x9e, 0x2e, 0xb2, 0x00, 0x62, 0xbd, 0x4a, 0xa5, - 0xd8, 0xf4, 0x8a, 0xd9, 0x42, 0x7f, 0xb3, 0x31, 0x37, 0x92, 0x6c, 0x39, 0x66, 0xe6, 0x9d, 0x1d, 0x54, 0xc4, 0x13, - 0xe5, 0x59, 0x18, 0xa5, 0x3f, 0xe8, 0x29, 0x81, 0x42, 0x14, 0x8a, 0x7c, 0x51, 0x27, 0x23, 0x83, 0xac, 0xc2, 0x39, - 0x21, 0x84, 0xb9, 0x2c, 0x14, 0x81, 0x3c, 0x50, 0x2c, 0x9a, 0x1d, 0x88, 0x0c, 0xb1, 0xb0, 0xd2, 0xf0, 0x98, 0xc2, - 0xf3, 0x6a, 0xf5, 0x57, 0xee, 0xc8, 0xba, 0xd2, 0xa9, 0x02, 0x3a, 0x18, 0xc3, 0xf2, 0xa5, 0x97, 0xe1, 0xb2, 0x4b, - 0x0f, 0x2a, 0x15, 0xbd, 0x54, 0xa0, 0x4f, 0x22, 0x8b, 0x68, 0x74, 0x9e, 0x4a, 0x15, 0x21, 0x45, 0xd8, 0x7c, 0x5d, - 0x1e, 0xe0, 0xaf, 0xe1, 0xbb, 0xbd, 0xb6, 0x2c, 0xd2, 0x9e, 0x4a, 0xd7, 0x4b, 0xf3, 0x34, 0xe3, 0x8e, 0x13, 0x61, - 0x1f, 0x91, 0x41, 0x24, 0xa8, 0xb6, 0xef, 0x8b, 0x7f, 0x86, 0xcd, 0x8e, 0xd7, 0x29, 0x3d, 0x21, 0xb5, 0x73, 0xd5, - 0x32, 0xcf, 0x4c, 0x9d, 0xcd, 0x05, 0x70, 0x71, 0xf9, 0x5b, 0xce, 0xa7, 0x7a, 0x2e, 0xa7, 0x85, 0x15, 0xe7, 0x92, - 0x52, 0xdf, 0xa9, 0x01, 0x21, 0xe2, 0x6e, 0x3b, 0x86, 0x42, 0x45, 0x35, 0xef, 0x72, 0x17, 0x8f, 0xa5, 0xb6, 0x73, - 0x69, 0x90, 0xf1, 0x98, 0x69, 0x7f, 0x5d, 0x9d, 0xc0, 0x0a, 0x85, 0x11, 0x83, 0x05, 0x6c, 0xab, 0x26, 0x61, 0xb9, - 0x23, 0xc9, 0x56, 0x2a, 0x75, 0xe5, 0x23, 0x95, 0xba, 0xd6, 0xf6, 0x2a, 0x22, 0xeb, 0x71, 0x1b, 0x60, 0xe0, 0x01, - 0xc8, 0xb9, 0x9e, 0x02, 0x30, 0x93, 0x09, 0x15, 0x17, 0xd3, 0x48, 0xd6, 0x82, 0x97, 0x52, 0x8d, 0xf7, 0xec, 0xb7, - 0x6f, 0xce, 0xdf, 0xdb, 0x18, 0xee, 0x33, 0xa3, 0x59, 0xee, 0x2d, 0x6d, 0x95, 0x4c, 0xd8, 0x84, 0xc0, 0xb4, 0xed, - 0xd9, 0xfe, 0x1c, 0xce, 0x66, 0x0b, 0xee, 0xd9, 0xba, 0x6d, 0xde, 0xdc, 0xdc, 0x34, 0xe1, 0xe8, 0x58, 0x73, 0x91, - 0xc5, 0x92, 0xaf, 0x84, 0x76, 0x51, 0x20, 0x97, 0x47, 0x34, 0x29, 0x6f, 0x3c, 0x4a, 0x63, 0xea, 0xc6, 0xe9, 0x54, - 0x1e, 0x7b, 0x5d, 0xf7, 0x43, 0xc4, 0xe3, 0xbe, 0xb8, 0xc9, 0x6b, 0xd0, 0xe7, 0xf2, 0x0e, 0x35, 0x9e, 0xc1, 0xcf, - 0x01, 0x44, 0xa9, 0xfa, 0x2d, 0x1e, 0x89, 0x87, 0x73, 0xd8, 0x36, 0xe2, 0x69, 0x7f, 0xb9, 0x41, 0x64, 0x43, 0xe8, - 0x22, 0x1a, 0xc8, 0xa9, 0xe5, 0xa2, 0xd6, 0xd8, 0x8b, 0xc7, 0xe3, 0xa2, 0xdf, 0x82, 0xbe, 0x5a, 0xba, 0xdf, 0xab, - 0x34, 0xbc, 0xd3, 0xed, 0x4b, 0xc2, 0x83, 0x1b, 0x9d, 0x12, 0x32, 0x80, 0x2e, 0x60, 0xdc, 0x70, 0x20, 0x70, 0xa6, - 0x78, 0xe5, 0xa8, 0x7a, 0x28, 0x2e, 0x2c, 0xe0, 0x8c, 0x05, 0x94, 0x00, 0x5d, 0x42, 0xe7, 0x61, 0xd9, 0x40, 0x6c, - 0x6b, 0x59, 0xb4, 0x0b, 0x40, 0x59, 0xb1, 0xda, 0x2e, 0xd2, 0x9f, 0x5d, 0x91, 0x85, 0x86, 0x38, 0x34, 0x81, 0x1f, - 0x23, 0xf8, 0x57, 0x00, 0xde, 0x6f, 0x49, 0x34, 0x8d, 0xcd, 0xdb, 0x65, 0xe4, 0xbd, 0x0f, 0x25, 0x32, 0x47, 0x09, - 0xc7, 0x6f, 0x39, 0xfe, 0x30, 0x16, 0x55, 0xb5, 0x3a, 0x00, 0x7a, 0x2a, 0xa8, 0x4d, 0x6d, 0xad, 0xf7, 0x05, 0x69, - 0x1c, 0xfb, 0xf3, 0x9c, 0x7a, 0xfa, 0x87, 0xd2, 0x0c, 0x40, 0xc1, 0xd8, 0x54, 0xc5, 0x54, 0x82, 0xd3, 0x19, 0x28, - 0x6c, 0x9b, 0x7a, 0xe2, 0xb5, 0x9f, 0x39, 0xcd, 0x66, 0xd0, 0xbc, 0x9a, 0xa2, 0x82, 0x47, 0x4b, 0x53, 0xaf, 0x78, - 0xd4, 0x6e, 0xf7, 0x20, 0x1b, 0xb5, 0xe9, 0xc7, 0x6c, 0x9a, 0x78, 0x31, 0x9d, 0xf0, 0x82, 0xc3, 0x31, 0xc1, 0xa5, - 0x56, 0xe4, 0xdc, 0xee, 0x71, 0x46, 0x67, 0x96, 0x0b, 0x7f, 0xef, 0x1f, 0xb8, 0xe0, 0xa1, 0x97, 0xf0, 0xa8, 0x29, - 0xb2, 0x9e, 0xe1, 0xcc, 0x06, 0x8f, 0x6a, 0xcf, 0x4b, 0x63, 0xa0, 0x80, 0x82, 0x92, 0x5b, 0xf0, 0xcc, 0xe2, 0x11, - 0xe6, 0x99, 0x59, 0x2f, 0x41, 0xcb, 0x8d, 0x19, 0x6c, 0xea, 0x5a, 0x87, 0xa8, 0xc8, 0x85, 0x69, 0xb2, 0x59, 0x59, - 0x2b, 0xac, 0xf5, 0xa7, 0x0d, 0xf4, 0x19, 0xaa, 0x75, 0x21, 0x5d, 0xfb, 0x4b, 0xd9, 0xe2, 0x21, 0xc8, 0xac, 0x29, - 0xfd, 0xd8, 0x6c, 0x81, 0x0a, 0x96, 0xcc, 0x17, 0x7c, 0x24, 0xc2, 0x0a, 0x19, 0x1c, 0x50, 0xb9, 0xc0, 0x46, 0x09, - 0xe0, 0xe0, 0x62, 0x29, 0x81, 0x09, 0xfc, 0x38, 0x70, 0x00, 0x22, 0xab, 0x69, 0x9d, 0x64, 0x74, 0x86, 0x7a, 0x33, - 0x96, 0x34, 0xe5, 0xbb, 0x63, 0x43, 0x31, 0x74, 0x1f, 0xc3, 0x53, 0xe1, 0x8a, 0xde, 0xb0, 0xc8, 0x1e, 0xde, 0x82, - 0xcb, 0xf1, 0x45, 0x51, 0xf4, 0x32, 0xee, 0x8c, 0x5e, 0x39, 0xe8, 0x02, 0x7f, 0x65, 0xdc, 0x8f, 0x63, 0xeb, 0x9d, - 0x64, 0xe3, 0x2e, 0xda, 0x51, 0xc5, 0xdc, 0x0b, 0xa2, 0xda, 0x57, 0x04, 0x2a, 0xbe, 0x70, 0x6c, 0x9a, 0xcf, 0x9b, - 0x92, 0xe5, 0x35, 0x05, 0xc9, 0xda, 0xd0, 0x14, 0x29, 0x5f, 0x39, 0xa5, 0x4b, 0xc1, 0xcd, 0xd4, 0x21, 0x19, 0xe9, - 0xce, 0xb9, 0x28, 0x0f, 0x55, 0xa9, 0x67, 0xf3, 0x18, 0x15, 0xaa, 0xb1, 0x9b, 0xf1, 0x69, 0x9d, 0x35, 0x82, 0x72, - 0x51, 0x5e, 0x22, 0xe8, 0xc7, 0x31, 0x0c, 0x38, 0xd6, 0x1a, 0x89, 0x79, 0xeb, 0xca, 0x88, 0x5f, 0x38, 0xa8, 0x50, - 0xfb, 0xf4, 0xa9, 0x50, 0xea, 0x8d, 0x9b, 0x0b, 0xf7, 0xb8, 0x0e, 0xd7, 0x49, 0x11, 0xcd, 0x20, 0xe1, 0xa0, 0x96, - 0x98, 0xde, 0xab, 0x58, 0x9b, 0x34, 0x09, 0x2c, 0x31, 0x21, 0x62, 0x67, 0x49, 0x68, 0x5b, 0x7f, 0x0a, 0x62, 0x16, - 0x7c, 0x20, 0xf6, 0xfe, 0xd2, 0x41, 0x9b, 0xe7, 0x4e, 0x05, 0x57, 0xd0, 0x7c, 0x1e, 0xd5, 0x43, 0x19, 0x99, 0x6b, - 0xb0, 0x70, 0x79, 0x31, 0x91, 0x3d, 0x00, 0xbd, 0xa9, 0xdf, 0x92, 0xe3, 0x0c, 0xc6, 0xc5, 0x65, 0x75, 0xdf, 0x58, - 0x05, 0x05, 0xa0, 0x59, 0x96, 0x5b, 0x82, 0xa8, 0x88, 0xfd, 0x51, 0x4a, 0xb3, 0x2d, 0xc9, 0xd4, 0x00, 0x4e, 0xae, - 0xf8, 0x9b, 0x6d, 0xfd, 0xa9, 0x2c, 0xa3, 0xa5, 0x4f, 0x49, 0x24, 0xc5, 0x10, 0x1b, 0xc6, 0x02, 0x47, 0x82, 0x1b, - 0x52, 0xee, 0xb3, 0x58, 0x36, 0xe9, 0x69, 0x17, 0xc8, 0xda, 0x8c, 0x56, 0xab, 0xbc, 0x3e, 0x17, 0x56, 0xc7, 0xa0, - 0x98, 0x59, 0xbf, 0x55, 0xc1, 0x2d, 0x66, 0x26, 0xf6, 0xa4, 0x19, 0x9c, 0xad, 0x66, 0x28, 0xdf, 0x59, 0x7f, 0x0a, - 0xc4, 0xb1, 0x2d, 0x00, 0x30, 0x55, 0x00, 0x42, 0xda, 0x80, 0x3c, 0x96, 0xe4, 0xf8, 0x24, 0x75, 0xb9, 0x9f, 0x4d, - 0x29, 0x5f, 0x43, 0xac, 0x2f, 0xb3, 0x84, 0x7b, 0x3a, 0x45, 0x60, 0x03, 0xda, 0xa0, 0x0e, 0x2d, 0x28, 0xd1, 0xc5, - 0x10, 0xf4, 0x60, 0xb2, 0x55, 0x9d, 0x8e, 0x10, 0xc8, 0x5b, 0xb1, 0x38, 0x52, 0xc2, 0xa4, 0x42, 0xc2, 0x48, 0x4e, - 0x60, 0x89, 0xb1, 0x04, 0x88, 0x85, 0x6d, 0x0d, 0x25, 0xe4, 0x34, 0x94, 0x30, 0x93, 0x4c, 0xb4, 0x4a, 0x8b, 0x7e, - 0x4b, 0xd6, 0x96, 0x22, 0x40, 0x56, 0x02, 0x24, 0x88, 0x7d, 0x5a, 0xe1, 0x00, 0x32, 0xcb, 0x4d, 0x3c, 0x84, 0xec, - 0xba, 0x24, 0x36, 0x71, 0x80, 0x6d, 0xd0, 0x8f, 0xfd, 0x2b, 0x1a, 0x0f, 0xf6, 0x97, 0xd9, 0x6a, 0xd5, 0x2e, 0xfa, - 0x2d, 0xf9, 0x68, 0xf5, 0x05, 0xdf, 0x90, 0x97, 0x8e, 0x8a, 0x25, 0x86, 0x53, 0xa1, 0x90, 0x6f, 0xab, 0x13, 0xcd, - 0x3c, 0xd5, 0x41, 0x61, 0x5b, 0x22, 0xc5, 0x45, 0x54, 0x2a, 0xf5, 0xa8, 0xc2, 0xb6, 0x58, 0xb8, 0x59, 0x96, 0x73, - 0x3a, 0x87, 0xd2, 0x68, 0xb5, 0xea, 0x14, 0xb6, 0x35, 0x63, 0x09, 0x3c, 0x65, 0xab, 0x95, 0x38, 0x70, 0x39, 0x63, - 0x89, 0xd3, 0x06, 0xb2, 0xb5, 0xad, 0x99, 0x7f, 0x2b, 0x26, 0xac, 0xdf, 0xf8, 0xb7, 0x4e, 0x47, 0xbd, 0x72, 0x4b, - 0xfc, 0xe4, 0x40, 0x71, 0xd5, 0x8a, 0xfa, 0x6a, 0x45, 0x43, 0xbc, 0x90, 0x47, 0xc9, 0x88, 0x13, 0x12, 0x7f, 0xfb, - 0x8a, 0x86, 0x7a, 0x45, 0x17, 0x3b, 0x56, 0x74, 0x71, 0xcf, 0x8a, 0x06, 0x6a, 0xf5, 0xac, 0x12, 0x77, 0xe9, 0x6a, - 0xd5, 0x69, 0x57, 0xd8, 0xeb, 0xb7, 0x42, 0x76, 0x0d, 0xab, 0x01, 0xda, 0x21, 0x67, 0x33, 0xba, 0x9d, 0x28, 0xeb, - 0x28, 0xa6, 0x9f, 0x84, 0xc9, 0x0a, 0x0b, 0x59, 0x1d, 0x0b, 0x26, 0x5d, 0x97, 0x51, 0xcf, 0xdf, 0x93, 0xb2, 0x19, - 0xe0, 0x21, 0x07, 0x3c, 0x44, 0xfa, 0x12, 0x52, 0xc7, 0x7e, 0x6f, 0x63, 0xdb, 0xb2, 0x35, 0x59, 0x8f, 0x8b, 0x4b, - 0x90, 0x11, 0x62, 0x7e, 0x0f, 0xa2, 0x45, 0xa8, 0x6d, 0x0f, 0x76, 0xd3, 0x1c, 0x24, 0x28, 0xdc, 0xa4, 0x59, 0x68, - 0x7b, 0xb2, 0xea, 0x27, 0xa1, 0x6a, 0xc6, 0x12, 0x95, 0xee, 0xb6, 0x93, 0xd6, 0xaa, 0xf7, 0x26, 0xc5, 0x75, 0x8f, - 0x8f, 0x65, 0x8d, 0xb9, 0xcf, 0x39, 0xcd, 0x12, 0x45, 0xb9, 0xb6, 0xfd, 0x1f, 0x82, 0x0a, 0xb7, 0xf0, 0x95, 0x40, - 0x2f, 0x80, 0x26, 0x40, 0xa5, 0xe7, 0x2b, 0x9e, 0x2f, 0xc5, 0xd3, 0x5e, 0xa5, 0xe0, 0xde, 0x21, 0xd3, 0xd6, 0x90, - 0x45, 0x60, 0xfa, 0x2c, 0x66, 0x34, 0xbc, 0x14, 0x0c, 0x7a, 0x18, 0x8f, 0x95, 0xc2, 0xba, 0x26, 0xee, 0xaa, 0x06, - 0xd8, 0xfe, 0x71, 0xd1, 0x7d, 0x7c, 0x74, 0x66, 0x63, 0xc9, 0xe3, 0xd3, 0xc9, 0xc4, 0x46, 0x85, 0xf5, 0xb0, 0x66, - 0x9d, 0xa3, 0x1f, 0x17, 0x5f, 0x3e, 0x6f, 0x7f, 0x59, 0x36, 0x4e, 0x80, 0x88, 0x54, 0x86, 0x85, 0x16, 0x55, 0x06, - 0xbc, 0x7a, 0x46, 0x13, 0x3f, 0xd9, 0x3d, 0x9d, 0x91, 0x39, 0x9d, 0x7c, 0x4e, 0x69, 0x08, 0xc4, 0x89, 0x37, 0x4a, - 0x2f, 0x63, 0x7a, 0x4d, 0xf5, 0xe5, 0x8f, 0x5b, 0x06, 0xdb, 0xd2, 0x22, 0x48, 0x17, 0x09, 0x57, 0xa9, 0x26, 0x8a, - 0xd5, 0x1a, 0x53, 0x1a, 0x8b, 0x39, 0x98, 0x26, 0xc4, 0x9d, 0x94, 0x73, 0x75, 0xe9, 0x55, 0x8c, 0xb1, 0x6d, 0x00, - 0xb0, 0x13, 0xb2, 0xe1, 0x8e, 0x72, 0xaf, 0x8d, 0xdb, 0xbb, 0x60, 0xc3, 0x1d, 0xe4, 0xd9, 0xf6, 0x85, 0xc6, 0x93, - 0xf0, 0x16, 0xd7, 0x6e, 0xec, 0xd8, 0x89, 0xaf, 0x8f, 0x62, 0xe0, 0x2a, 0x83, 0xce, 0x12, 0x9a, 0xe7, 0x3b, 0x11, - 0x50, 0x2e, 0x22, 0xb6, 0xab, 0xda, 0xf6, 0x8e, 0x5e, 0x70, 0x1b, 0xc3, 0x0e, 0x13, 0x00, 0x97, 0x31, 0x6b, 0x55, - 0x8b, 0x4e, 0x26, 0x34, 0x28, 0x9d, 0xed, 0x10, 0x7d, 0x9c, 0xb0, 0x98, 0x43, 0x10, 0x4e, 0x44, 0xc7, 0xec, 0xd7, - 0x69, 0x42, 0x6d, 0xa4, 0xf3, 0x69, 0x15, 0xfc, 0x4a, 0xfe, 0x6f, 0x87, 0x47, 0xf6, 0x58, 0x87, 0x45, 0x8d, 0xb2, - 0x5a, 0x69, 0x5f, 0x50, 0xad, 0xbc, 0x8e, 0xc8, 0x54, 0x38, 0x7b, 0x76, 0x6d, 0xa0, 0x87, 0x6d, 0x93, 0x65, 0xe7, - 0xcb, 0xe3, 0x4e, 0xbb, 0xb0, 0xb1, 0x0d, 0xdd, 0x3d, 0x74, 0x97, 0x88, 0x56, 0x87, 0xd0, 0x6a, 0x91, 0x7c, 0x4a, - 0xbb, 0x6e, 0xe7, 0x49, 0xc7, 0xc6, 0xf2, 0x22, 0x07, 0x54, 0x94, 0xcc, 0x20, 0x00, 0xf7, 0xf3, 0x6f, 0x9e, 0x4a, - 0xbd, 0xf3, 0x87, 0xc1, 0xf3, 0xa8, 0xd3, 0xb6, 0xb1, 0x9d, 0xf3, 0x74, 0xfe, 0x09, 0x53, 0x38, 0xb4, 0xb1, 0x1d, - 0xc4, 0x69, 0x4e, 0xcd, 0x39, 0x48, 0x75, 0xf6, 0xb7, 0x4f, 0x42, 0x42, 0x34, 0xcf, 0x68, 0x9e, 0x5b, 0x66, 0xff, - 0x8a, 0x94, 0x3e, 0xc2, 0x30, 0xb7, 0x52, 0x5c, 0x4e, 0xb9, 0xc0, 0x8b, 0xbc, 0x63, 0xc1, 0xa4, 0x2a, 0x59, 0xb6, - 0x41, 0x6c, 0x42, 0x04, 0x94, 0x8c, 0x4d, 0x6a, 0x57, 0x1f, 0x1d, 0x79, 0xcb, 0xd6, 0x93, 0x03, 0xcb, 0xa8, 0xfc, - 0xe6, 0x00, 0xb5, 0x92, 0x19, 0x4b, 0x2e, 0xb7, 0x94, 0xfa, 0xb7, 0x5b, 0x4a, 0x41, 0x65, 0x2b, 0xa1, 0x53, 0xf7, - 0xff, 0x7c, 0x1c, 0xeb, 0x95, 0xe2, 0x63, 0x82, 0x18, 0x0a, 0xe7, 0xe6, 0x47, 0x20, 0x35, 0x96, 0x41, 0xf4, 0xf0, - 0xeb, 0x87, 0x83, 0x92, 0x4f, 0x19, 0xae, 0xec, 0xe5, 0xb7, 0xcd, 0x10, 0x4a, 0x9b, 0x10, 0x41, 0x88, 0x3f, 0x69, - 0xae, 0xf4, 0xf6, 0xe3, 0x04, 0x67, 0x68, 0x55, 0xbf, 0x61, 0xe9, 0xd5, 0x3d, 0x02, 0xeb, 0x6b, 0xbf, 0xa5, 0x58, - 0x29, 0x3e, 0xe5, 0xfa, 0x07, 0x31, 0x9b, 0x55, 0x24, 0xb0, 0x09, 0xa6, 0xd0, 0x78, 0x20, 0x9d, 0xcc, 0xec, 0x44, - 0xaa, 0x3e, 0x97, 0x70, 0x48, 0x16, 0xee, 0x21, 0x59, 0x64, 0xf4, 0x32, 0x4e, 0x6f, 0xd6, 0x2f, 0x56, 0xdb, 0x5d, - 0x39, 0x62, 0xd3, 0xc8, 0x38, 0xf9, 0x46, 0x49, 0xb9, 0x08, 0xf7, 0x0e, 0x50, 0xfc, 0xcb, 0x3f, 0xbb, 0xee, 0xbf, - 0xfc, 0xf3, 0x47, 0xab, 0x42, 0xf7, 0xc5, 0x18, 0xf3, 0xaa, 0xdb, 0xdd, 0xbb, 0x6b, 0xfb, 0x48, 0x75, 0x9c, 0x6f, - 0xaf, 0xb3, 0xb1, 0x08, 0xf0, 0x7e, 0x63, 0x09, 0x36, 0x0a, 0xe5, 0xee, 0xb3, 0x7e, 0x0d, 0x60, 0x30, 0xaf, 0x8f, - 0x42, 0x06, 0x95, 0x7e, 0x13, 0x68, 0x63, 0xe4, 0x3d, 0x68, 0x45, 0x7e, 0x3d, 0x86, 0x3f, 0x36, 0x87, 0xdf, 0x08, - 0xbe, 0xf2, 0x4f, 0xc4, 0xe3, 0x71, 0x99, 0xe2, 0x68, 0x36, 0x85, 0x0b, 0x14, 0x86, 0x1b, 0x25, 0x4a, 0xf1, 0xf0, - 0xda, 0x68, 0x20, 0x0e, 0x68, 0x92, 0x78, 0xfc, 0x0a, 0x6e, 0x4d, 0xea, 0x5f, 0x65, 0xda, 0xc1, 0x7b, 0x8f, 0x70, - 0x80, 0x2e, 0xea, 0xb3, 0x12, 0x9d, 0x6e, 0x48, 0x06, 0x28, 0x05, 0x73, 0x03, 0xc0, 0xc4, 0xf1, 0x58, 0x59, 0x9b, - 0x67, 0xd2, 0x0d, 0xe3, 0xad, 0x93, 0xb6, 0x72, 0xcf, 0xd4, 0x90, 0x8e, 0xad, 0xf7, 0x02, 0x5f, 0xa2, 0x32, 0xad, - 0xac, 0x7b, 0xe1, 0xea, 0x02, 0x3b, 0xa2, 0x64, 0x3f, 0xd7, 0x7e, 0x7c, 0xfd, 0x30, 0xc6, 0xb7, 0x5b, 0xa0, 0xae, - 0xac, 0xd5, 0x3f, 0x5a, 0x25, 0x58, 0x35, 0x57, 0xdb, 0xf4, 0x81, 0x1b, 0x9f, 0xd3, 0xec, 0x32, 0x82, 0x2c, 0xab, - 0xec, 0x23, 0xcc, 0x09, 0x56, 0x1a, 0x53, 0xf1, 0x97, 0x11, 0x75, 0x47, 0xf5, 0x3f, 0x88, 0x53, 0x31, 0x48, 0x91, - 0x84, 0xa1, 0x8c, 0x45, 0xf8, 0xff, 0x7c, 0xeb, 0x3f, 0x0c, 0xdf, 0xba, 0x7f, 0x88, 0xda, 0x01, 0xec, 0x4f, 0x5e, - 0xc8, 0xff, 0xd8, 0xec, 0x2e, 0x17, 0xec, 0xee, 0x57, 0x30, 0xba, 0xfc, 0x1f, 0xc3, 0xe8, 0x84, 0x8d, 0xac, 0x39, - 0x9d, 0xba, 0x78, 0xc7, 0x7c, 0xef, 0xdf, 0xf8, 0x77, 0xd5, 0xbe, 0x8a, 0xc7, 0xa7, 0x37, 0xfe, 0x5d, 0xb5, 0x08, - 0xbb, 0xd9, 0xc5, 0x7a, 0x1f, 0x43, 0xfb, 0xcd, 0x6b, 0xdb, 0xb3, 0xdf, 0x7c, 0xf9, 0xa5, 0x8d, 0xc7, 0x39, 0xe5, - 0x43, 0x28, 0x24, 0xfb, 0xcb, 0xbd, 0xf5, 0x8a, 0xe0, 0x46, 0x81, 0x29, 0x8a, 0x50, 0x1b, 0x64, 0x34, 0x1a, 0xef, - 0x59, 0x7e, 0x99, 0x26, 0x26, 0x34, 0x6f, 0xc1, 0xb2, 0xff, 0x54, 0x70, 0x44, 0x2f, 0x1b, 0xf0, 0x88, 0xd2, 0x75, - 0x80, 0x44, 0x61, 0x0d, 0xa2, 0xea, 0x3e, 0xa2, 0xfb, 0xf9, 0x7f, 0x75, 0xe7, 0x82, 0xbc, 0x4a, 0x24, 0x1a, 0xc6, - 0xe3, 0x4f, 0x11, 0x1f, 0x72, 0xb0, 0xca, 0x63, 0xa7, 0xdd, 0x9d, 0x7e, 0xb1, 0xbf, 0x8c, 0x0e, 0x0e, 0xd8, 0xd0, - 0xc6, 0xe2, 0x12, 0xa8, 0x62, 0x9b, 0x70, 0xc9, 0xe1, 0x4f, 0x06, 0x7f, 0xd2, 0x62, 0x5c, 0x88, 0x7c, 0x3c, 0x46, - 0x77, 0xa4, 0x0c, 0xe5, 0xf4, 0xa3, 0x29, 0x43, 0xfe, 0x83, 0x52, 0x86, 0x72, 0xfa, 0x7b, 0xa7, 0x0c, 0x31, 0x6a, - 0xa4, 0x0c, 0x01, 0x1a, 0x7f, 0x7e, 0x50, 0xe6, 0x89, 0xce, 0x13, 0x48, 0x6f, 0x72, 0xd2, 0x51, 0xde, 0x9a, 0x38, - 0x9d, 0x42, 0xda, 0xc9, 0x3f, 0x3e, 0x8b, 0x24, 0x4e, 0xa7, 0x66, 0x0e, 0x09, 0xdc, 0xce, 0x0e, 0x49, 0x23, 0x38, - 0x23, 0x4b, 0xfb, 0xc7, 0xdb, 0xce, 0xd3, 0x51, 0xa7, 0x77, 0xd8, 0x99, 0xd9, 0x9e, 0x0d, 0xe6, 0x91, 0x28, 0x68, - 0xf7, 0x0e, 0x0f, 0xa1, 0xe0, 0xc6, 0x28, 0xe8, 0x42, 0x01, 0x33, 0x0a, 0x8e, 0xa1, 0x20, 0x30, 0x0a, 0x1e, 0x41, - 0x41, 0x68, 0x14, 0x3c, 0x86, 0x82, 0x6b, 0xbb, 0x18, 0xb1, 0x32, 0x2f, 0xea, 0x31, 0x12, 0x17, 0x39, 0xed, 0x65, - 0xf5, 0x43, 0x6c, 0x11, 0xd1, 0x55, 0x1e, 0x97, 0x07, 0x60, 0x9b, 0x47, 0xfa, 0xbe, 0xa6, 0xf1, 0x67, 0x63, 0x84, - 0x7d, 0x02, 0xe7, 0xd1, 0x31, 0x78, 0x4f, 0x65, 0xcd, 0x43, 0xfd, 0xda, 0xf6, 0xca, 0xe4, 0xa1, 0x36, 0xee, 0xea, - 0xf4, 0x21, 0xcf, 0x46, 0x78, 0x51, 0x56, 0x3e, 0x6e, 0x84, 0xaa, 0x5b, 0xb8, 0x0a, 0xa9, 0xba, 0x87, 0xec, 0x10, - 0x61, 0x79, 0x95, 0xff, 0x33, 0x61, 0xc8, 0xb8, 0x3c, 0x7d, 0xcf, 0x66, 0x54, 0x7f, 0x18, 0x4b, 0x0f, 0x60, 0x89, - 0x04, 0xab, 0x5e, 0x54, 0x5d, 0xde, 0xf9, 0x1d, 0x3e, 0xad, 0xae, 0xbe, 0x7b, 0xcf, 0x89, 0xbc, 0x4b, 0x28, 0xc3, - 0xd2, 0x23, 0x37, 0xc5, 0xdc, 0x9f, 0x7a, 0x90, 0x61, 0x02, 0xc1, 0x2d, 0xef, 0x94, 0x10, 0xd2, 0x1e, 0x2e, 0xbc, - 0xef, 0xf0, 0x4d, 0x44, 0x13, 0xef, 0xb2, 0xe8, 0x95, 0x04, 0x20, 0x13, 0x5c, 0xde, 0xf3, 0xf2, 0xc6, 0x54, 0x41, - 0x15, 0xd5, 0x6b, 0x09, 0x67, 0xb3, 0xa4, 0x9e, 0x1d, 0x39, 0x11, 0x86, 0xf3, 0x7c, 0x12, 0xa7, 0x37, 0xcd, 0x5b, - 0x7b, 0xb0, 0x3d, 0x4f, 0x02, 0x66, 0x57, 0xe6, 0x49, 0xbc, 0x04, 0x60, 0xcb, 0xa7, 0xf7, 0xfe, 0xb4, 0xfc, 0xfd, - 0x8a, 0xe6, 0xb9, 0x3f, 0x55, 0x35, 0x77, 0xe7, 0x45, 0x08, 0x10, 0xcd, 0x9c, 0x08, 0x0d, 0x04, 0x24, 0x2f, 0x00, - 0x46, 0xc0, 0xf9, 0xac, 0x72, 0x19, 0x60, 0xea, 0xf5, 0x34, 0x08, 0x81, 0xab, 0x7a, 0x11, 0xf7, 0xa7, 0x55, 0x41, - 0x7f, 0x9e, 0x51, 0x95, 0x60, 0x01, 0x68, 0x2c, 0xfa, 0x2d, 0x28, 0x90, 0xaf, 0x77, 0xa4, 0x3b, 0x68, 0x4f, 0xf7, - 0xee, 0xa4, 0x07, 0x4b, 0xa7, 0x3b, 0x98, 0x29, 0xba, 0x65, 0x7e, 0xee, 0x66, 0x90, 0xfd, 0xf3, 0x4e, 0x00, 0xff, - 0xa9, 0x10, 0xfe, 0xe7, 0x93, 0xc9, 0xe4, 0xde, 0xf4, 0x87, 0xcf, 0xc3, 0x09, 0xed, 0xd2, 0xe3, 0x1e, 0xa4, 0x6f, - 0x36, 0x55, 0xd0, 0xbc, 0x53, 0x08, 0xdc, 0x2d, 0x1f, 0x56, 0x19, 0xe2, 0xeb, 0x3c, 0x5a, 0x3e, 0x3c, 0x15, 0xa2, - 0x98, 0x67, 0x74, 0x39, 0xf3, 0xb3, 0x29, 0x4b, 0xbc, 0x76, 0xe1, 0x5e, 0xab, 0xdc, 0x81, 0xcf, 0x4f, 0x4e, 0x4e, - 0x0a, 0x37, 0xd4, 0x4f, 0xed, 0x30, 0x2c, 0xdc, 0x60, 0x59, 0x4e, 0xa3, 0xdd, 0x9e, 0x4c, 0x0a, 0x97, 0xe9, 0x82, - 0xc3, 0x6e, 0x10, 0x1e, 0x76, 0x0b, 0xf7, 0xc6, 0xa8, 0x51, 0xb8, 0x54, 0x3d, 0x65, 0x34, 0xac, 0xe5, 0x80, 0x3e, - 0x6e, 0xb7, 0x0b, 0x57, 0x12, 0xda, 0x12, 0xfc, 0x87, 0xf2, 0xa7, 0xe7, 0x2f, 0xb8, 0x60, 0xee, 0x3d, 0x9f, 0x3b, - 0xa3, 0x99, 0xba, 0x5f, 0x4b, 0x7e, 0x8d, 0xaa, 0x40, 0x17, 0xf8, 0x67, 0x33, 0xca, 0x0f, 0xc4, 0x2c, 0xa2, 0xfb, - 0xbe, 0x4e, 0x02, 0xa8, 0xbd, 0x06, 0xca, 0x12, 0xaf, 0x7f, 0x26, 0x7e, 0x15, 0xfc, 0x07, 0x4e, 0x06, 0x35, 0xe5, - 0x35, 0xb0, 0xc9, 0x2e, 0xf9, 0x91, 0x7d, 0x5c, 0x7e, 0xdc, 0x3d, 0x44, 0x7c, 0x64, 0xbf, 0xbb, 0xf8, 0x48, 0x4c, - 0xf1, 0x21, 0x99, 0xc7, 0x15, 0x27, 0x76, 0x10, 0xd1, 0xe0, 0xc3, 0x55, 0x7a, 0xdb, 0x84, 0x2d, 0x91, 0xd9, 0x42, - 0xb0, 0xec, 0xff, 0xda, 0x94, 0x46, 0xdd, 0x99, 0xf1, 0x2d, 0x2b, 0x21, 0x8a, 0xdf, 0x24, 0xc4, 0x7e, 0xa3, 0x9d, - 0x90, 0xb2, 0x64, 0x32, 0x21, 0xf6, 0x9b, 0xc9, 0xc4, 0xd6, 0xb7, 0x04, 0xf8, 0x9c, 0x8a, 0x5a, 0xaf, 0x6b, 0x25, - 0xa2, 0x16, 0x28, 0x25, 0x55, 0x99, 0x59, 0xa0, 0x72, 0x04, 0xcc, 0x7c, 0x00, 0xf5, 0x26, 0x64, 0x39, 0x6c, 0x35, - 0xf8, 0xc4, 0x56, 0xfd, 0x96, 0xe2, 0xa4, 0xf6, 0x41, 0x89, 0x12, 0xe0, 0x2d, 0x5f, 0xc1, 0x58, 0xbf, 0x22, 0x67, - 0x4a, 0x75, 0xc6, 0xfe, 0xd3, 0xbb, 0xaf, 0x42, 0xe7, 0x8a, 0xa3, 0x82, 0xe5, 0x6f, 0x92, 0xb5, 0xe3, 0xaf, 0x12, - 0x46, 0x42, 0xcc, 0x69, 0x15, 0x3c, 0x9d, 0x4e, 0x63, 0xf8, 0xca, 0xd9, 0xb2, 0x76, 0x73, 0xba, 0x6c, 0x3e, 0xac, - 0xcd, 0xd7, 0x33, 0x1b, 0xaa, 0x7b, 0xc6, 0xc5, 0x47, 0x17, 0xe5, 0xb1, 0xa9, 0x6b, 0xf5, 0xf5, 0x3d, 0xe1, 0xbf, - 0x5c, 0x2a, 0x26, 0xbf, 0x94, 0x87, 0x6d, 0x38, 0x66, 0xa1, 0x6c, 0xce, 0xc2, 0xa2, 0x50, 0xc7, 0x14, 0x43, 0x96, - 0xcf, 0xe1, 0x46, 0x6f, 0xd9, 0x92, 0x7e, 0x8c, 0x85, 0xe7, 0x37, 0x46, 0x20, 0xbe, 0xb6, 0x5c, 0x85, 0x8e, 0xc4, - 0xcb, 0xc8, 0xe6, 0x15, 0x2f, 0x6c, 0x15, 0x20, 0xd5, 0x48, 0xb4, 0x2d, 0x89, 0x4f, 0x99, 0x22, 0x60, 0xcc, 0x10, - 0xa2, 0x94, 0xe5, 0x82, 0xe8, 0x57, 0xba, 0xa0, 0x30, 0x13, 0x4d, 0xc4, 0x1b, 0x89, 0x2d, 0x11, 0xd6, 0xce, 0xe7, - 0x7e, 0x22, 0xd9, 0x28, 0xb1, 0x25, 0x3f, 0xd8, 0x5f, 0x56, 0x2b, 0x5f, 0xd8, 0x1a, 0x6c, 0x49, 0xbc, 0x83, 0x7e, - 0x0b, 0x1a, 0x0c, 0xac, 0x1a, 0xe8, 0xc9, 0x46, 0x34, 0xfc, 0xfe, 0xbc, 0xb4, 0x0f, 0x63, 0x37, 0xbf, 0xc1, 0x6e, - 0x7e, 0x63, 0xfd, 0x71, 0xd9, 0xbc, 0xa1, 0x57, 0x1f, 0x18, 0x6f, 0x72, 0x7f, 0xde, 0x04, 0x4b, 0x4f, 0x44, 0xb1, - 0x14, 0x7b, 0x16, 0xf9, 0xed, 0xf2, 0x92, 0x9f, 0xde, 0x22, 0x87, 0xf4, 0x35, 0x61, 0x7e, 0x78, 0x49, 0x9a, 0xd0, - 0x5e, 0xfd, 0x1c, 0x83, 0x99, 0x0d, 0xa5, 0xb1, 0x75, 0xb1, 0x4c, 0x21, 0xdd, 0x8d, 0xdf, 0x79, 0x6d, 0xc5, 0xd6, - 0xdb, 0x3a, 0xd5, 0xa9, 0xbd, 0xb5, 0xbe, 0xa7, 0x90, 0xdb, 0x10, 0xd2, 0x2b, 0xdb, 0x4c, 0xf9, 0xda, 0x95, 0xb2, - 0xf5, 0xb1, 0xac, 0x7e, 0x88, 0x7d, 0xe9, 0xff, 0x8d, 0xe3, 0x10, 0xeb, 0xc5, 0x22, 0xab, 0xff, 0x21, 0x90, 0x79, - 0xfe, 0x84, 0xd3, 0x0c, 0x3f, 0xa4, 0xe6, 0x95, 0x38, 0x80, 0xbb, 0x04, 0x31, 0xe3, 0x75, 0x4e, 0xe6, 0xb7, 0x0f, - 0xef, 0xfe, 0xfe, 0xe9, 0x17, 0x0a, 0x47, 0xfa, 0x42, 0x3a, 0xdb, 0xee, 0xc1, 0x46, 0x88, 0xfd, 0x3b, 0x8f, 0x25, - 0x42, 0xe6, 0x5d, 0x41, 0x00, 0xab, 0x37, 0x4f, 0xd5, 0xf1, 0x94, 0x8c, 0xc6, 0xe2, 0xfb, 0xb3, 0x6a, 0x29, 0x0e, - 0x1f, 0xcd, 0x6f, 0xf5, 0x6a, 0x74, 0xd6, 0x8e, 0x9d, 0xfc, 0xae, 0xa7, 0x4b, 0x76, 0x1f, 0x67, 0xa9, 0x9f, 0x90, - 0x38, 0x9e, 0xdf, 0xf6, 0xa4, 0xa0, 0x6d, 0x66, 0x12, 0xaa, 0xf6, 0xfc, 0xd6, 0x3c, 0x5f, 0x53, 0x75, 0x64, 0xb9, - 0x87, 0xb9, 0x45, 0xfd, 0x9c, 0xf6, 0xe0, 0x8b, 0x1b, 0x2c, 0xf0, 0x63, 0x25, 0xcc, 0x67, 0x2c, 0x0c, 0x63, 0xda, - 0xd3, 0xf2, 0xda, 0xea, 0x3c, 0x82, 0xe3, 0x29, 0xe6, 0x92, 0xd5, 0x57, 0xc5, 0x40, 0x5e, 0x89, 0x27, 0xff, 0x2a, - 0x4f, 0x63, 0xf8, 0xdc, 0xd5, 0x56, 0x74, 0xaa, 0x73, 0x1b, 0xed, 0x0a, 0x79, 0xe2, 0x77, 0x7d, 0x2e, 0xc7, 0xed, - 0x3f, 0xf4, 0xc4, 0x82, 0xb7, 0x7b, 0x3c, 0x9d, 0x7b, 0xcd, 0xc3, 0xfa, 0x44, 0xe0, 0x55, 0x39, 0x05, 0xbc, 0x65, - 0x5a, 0x18, 0xa4, 0x95, 0xe4, 0xd3, 0x96, 0xdb, 0x51, 0x65, 0xa2, 0x03, 0xc8, 0xef, 0x2d, 0x8b, 0x8a, 0xfa, 0x64, - 0xfe, 0x31, 0xbb, 0xe5, 0xc9, 0xf6, 0xdd, 0xf2, 0x44, 0xef, 0x96, 0xfb, 0x29, 0xf6, 0xf3, 0x49, 0x07, 0xfe, 0xeb, - 0x55, 0x13, 0xf2, 0xda, 0xd6, 0xe1, 0xfc, 0xd6, 0x02, 0x3d, 0xad, 0xd9, 0x9d, 0xdf, 0xca, 0xd3, 0x45, 0x10, 0x64, - 0x6f, 0xc3, 0x79, 0x1b, 0xdc, 0xb6, 0xa0, 0x10, 0xfe, 0x6f, 0xd7, 0x5e, 0x75, 0x8e, 0xe0, 0x1d, 0xb4, 0x3a, 0xde, - 0x7c, 0xd7, 0xbd, 0x7f, 0xd3, 0x7a, 0x49, 0xca, 0x1d, 0x4f, 0x73, 0x63, 0xe4, 0x72, 0xff, 0xea, 0x8a, 0x86, 0xde, - 0x24, 0x0d, 0x16, 0xf9, 0x3f, 0x29, 0xf8, 0x15, 0x12, 0xef, 0xdd, 0xd2, 0x6b, 0xfd, 0xe8, 0xa6, 0xf2, 0xac, 0x93, - 0xee, 0x61, 0x59, 0xae, 0x93, 0x97, 0x07, 0x7e, 0x4c, 0x9d, 0xae, 0x7b, 0xb4, 0x65, 0x13, 0xfc, 0x9b, 0xac, 0xcd, - 0xd6, 0xc9, 0xfc, 0x56, 0x64, 0xdc, 0x8b, 0x84, 0x4f, 0xc2, 0x81, 0xb9, 0x86, 0xed, 0x93, 0xed, 0xe0, 0x8e, 0xf4, - 0x48, 0x17, 0x5a, 0x28, 0x28, 0xb9, 0x13, 0xd2, 0x89, 0xbf, 0x88, 0xf9, 0xfd, 0xbd, 0xee, 0xa2, 0x8c, 0x8d, 0x5e, - 0xef, 0x61, 0xe8, 0x55, 0xdd, 0x07, 0x72, 0xe9, 0xcf, 0x9f, 0x1c, 0xc1, 0x7f, 0x32, 0x51, 0xf7, 0xae, 0xd2, 0xd5, - 0xa5, 0xdd, 0x0b, 0xba, 0xfa, 0x7e, 0x4d, 0x19, 0x97, 0x22, 0x5c, 0xe8, 0xe3, 0x0f, 0xad, 0x0d, 0x5a, 0xe5, 0x83, - 0xaa, 0x2b, 0x2d, 0xeb, 0x93, 0x6a, 0x7f, 0x5a, 0xe7, 0x0f, 0xac, 0x1b, 0x48, 0xcd, 0xb5, 0x5e, 0x57, 0x7d, 0x80, - 0x77, 0xa3, 0xb2, 0xc6, 0xb8, 0xa8, 0xbf, 0x4f, 0xee, 0x4a, 0x13, 0x45, 0xa6, 0xcd, 0x80, 0x95, 0xb2, 0x2f, 0xad, - 0x94, 0x94, 0x92, 0x71, 0x7f, 0x78, 0x3b, 0x8b, 0xad, 0x6b, 0x79, 0x51, 0x00, 0xb1, 0x3b, 0x6e, 0xdb, 0xb6, 0x44, - 0xc2, 0x16, 0x7c, 0xaf, 0xc4, 0x16, 0x1f, 0x76, 0xb7, 0x87, 0xa0, 0x69, 0x5d, 0x4f, 0x85, 0x66, 0xf7, 0xd2, 0xbf, - 0xa3, 0xd9, 0x65, 0xd7, 0xb6, 0xc0, 0x4f, 0xd3, 0x94, 0xb9, 0x6d, 0xa2, 0xcc, 0xea, 0xda, 0xd6, 0xed, 0x2c, 0x4e, - 0x72, 0x62, 0x47, 0x9c, 0xcf, 0x3d, 0xf9, 0xe5, 0xf7, 0x9b, 0x43, 0x37, 0xcd, 0xa6, 0xad, 0x6e, 0xbb, 0xdd, 0x86, - 0xab, 0xcf, 0x6d, 0xeb, 0x9a, 0xd1, 0x9b, 0xa7, 0xe9, 0x2d, 0xb1, 0xdb, 0x56, 0xdb, 0xea, 0x74, 0x4f, 0xac, 0x4e, - 0xf7, 0xc8, 0x7d, 0x74, 0x62, 0x0f, 0x3e, 0xb3, 0xac, 0x7e, 0x48, 0x27, 0x39, 0xfc, 0xb0, 0xac, 0xbe, 0x50, 0xbc, - 0xe4, 0x6f, 0xcb, 0x72, 0x83, 0x38, 0x6f, 0x76, 0xac, 0xa5, 0x7a, 0xb4, 0x2c, 0xb8, 0x4e, 0xc1, 0xb3, 0x3e, 0x9f, - 0x74, 0x27, 0x47, 0x93, 0x27, 0x3d, 0x55, 0x5c, 0x7c, 0x56, 0xab, 0x8e, 0xe5, 0xbf, 0x5d, 0xa3, 0x59, 0xce, 0xb3, - 0xf4, 0x03, 0x55, 0xc9, 0xe3, 0x16, 0x88, 0x9e, 0xad, 0x4d, 0xbb, 0x9b, 0x23, 0x75, 0x4e, 0xae, 0x82, 0x49, 0xb7, - 0xaa, 0x2e, 0x60, 0x6c, 0x95, 0x40, 0xf6, 0x5b, 0x1a, 0xf4, 0xbe, 0x89, 0xa6, 0x4e, 0x73, 0x1b, 0xa2, 0x3a, 0xb6, - 0x9a, 0xe3, 0x54, 0xcf, 0xaf, 0x0f, 0xa7, 0xf7, 0xb4, 0xae, 0x2a, 0x20, 0xb0, 0xad, 0x90, 0xd8, 0xaf, 0x3a, 0xdd, - 0x13, 0xdc, 0xe9, 0x3c, 0x72, 0x1f, 0x9d, 0x04, 0x6d, 0x7c, 0xe4, 0x1e, 0x35, 0x0f, 0xdd, 0x47, 0xf8, 0xa4, 0x79, - 0x82, 0x4f, 0x5e, 0x9c, 0x04, 0xcd, 0x23, 0xf7, 0x08, 0xb7, 0x9b, 0x27, 0x50, 0xd8, 0x3c, 0x69, 0x9e, 0x5c, 0x37, - 0x8f, 0x4e, 0x82, 0xb6, 0x28, 0xed, 0xba, 0xc7, 0xc7, 0xcd, 0x4e, 0xdb, 0x3d, 0x3e, 0xc6, 0xc7, 0xee, 0xa3, 0x47, - 0xcd, 0xce, 0xa1, 0xfb, 0xe8, 0xd1, 0xcb, 0xe3, 0x13, 0xf7, 0x10, 0xde, 0x1d, 0x1e, 0x06, 0x87, 0x6e, 0xa7, 0xd3, - 0x84, 0x3f, 0xf8, 0xc4, 0xed, 0xca, 0x1f, 0x9d, 0x8e, 0x7b, 0xd8, 0xc1, 0xed, 0xf8, 0xb8, 0xeb, 0x3e, 0x7a, 0x82, - 0xc5, 0x5f, 0x51, 0x0d, 0x8b, 0x3f, 0xd0, 0x0d, 0x7e, 0xe2, 0x76, 0x1f, 0xc9, 0x5f, 0xa2, 0xc3, 0xeb, 0xa3, 0x93, - 0xbf, 0xd9, 0xad, 0x9d, 0x73, 0xe8, 0xc8, 0x39, 0x9c, 0x1c, 0xbb, 0x87, 0x87, 0xf8, 0xa8, 0xe3, 0x9e, 0x1c, 0x46, - 0xcd, 0xa3, 0xae, 0xfb, 0xe8, 0x71, 0xd0, 0xec, 0xb8, 0x8f, 0x1f, 0xe3, 0x76, 0xf3, 0xd0, 0xed, 0xe2, 0x8e, 0x7b, - 0x74, 0x28, 0x7e, 0x1c, 0xba, 0xdd, 0xeb, 0xc7, 0x4f, 0xdc, 0x47, 0xc7, 0xd1, 0x23, 0xf7, 0xe8, 0xbb, 0xa3, 0x13, - 0xb7, 0x7b, 0x18, 0x1d, 0x3e, 0x72, 0xbb, 0x8f, 0xaf, 0x1f, 0xb9, 0x47, 0x51, 0xb3, 0xfb, 0xe8, 0xde, 0x96, 0x9d, - 0xae, 0x0b, 0x38, 0x12, 0xaf, 0xe1, 0x05, 0x56, 0x2f, 0xe0, 0xff, 0x48, 0xb4, 0xfd, 0x37, 0xec, 0x26, 0xdf, 0x6c, - 0xfa, 0xc4, 0x3d, 0x79, 0x1c, 0xc8, 0xea, 0x50, 0xd0, 0xd4, 0x35, 0xa0, 0xc9, 0x75, 0x53, 0x0e, 0x2b, 0xba, 0x6b, - 0xea, 0x8e, 0xf4, 0xff, 0x6a, 0xb0, 0xeb, 0x26, 0x0c, 0x2c, 0xc7, 0xfd, 0x77, 0xed, 0xa7, 0x5c, 0xf2, 0x7e, 0x6b, - 0x2a, 0x49, 0x7f, 0x3a, 0xf8, 0x4c, 0x7e, 0xd7, 0xe0, 0xb3, 0x31, 0xf6, 0x77, 0x39, 0x3e, 0xe2, 0x8f, 0x3b, 0x3e, - 0x22, 0xfa, 0x10, 0xcf, 0x47, 0xfc, 0xbb, 0x7b, 0x3e, 0xfc, 0x75, 0xc7, 0xf9, 0x0d, 0xdf, 0x70, 0x70, 0xac, 0x5b, - 0xc5, 0x2f, 0xb9, 0x33, 0x4a, 0xe1, 0x0b, 0x9a, 0x45, 0xef, 0x86, 0x93, 0x88, 0x9a, 0x7e, 0xa0, 0x14, 0x58, 0xec, - 0x0d, 0x97, 0x3c, 0x36, 0xd8, 0x85, 0x90, 0xf0, 0xe3, 0x08, 0xf9, 0xf2, 0x21, 0xf8, 0x08, 0x7f, 0x77, 0x7c, 0x04, - 0x26, 0x3e, 0x6a, 0xbe, 0x7c, 0xe1, 0x69, 0x10, 0x9e, 0x82, 0x73, 0xf1, 0xec, 0xc0, 0xf1, 0xe1, 0x86, 0xdd, 0xa2, - 0x50, 0x94, 0xdb, 0x32, 0x22, 0xf6, 0xee, 0x53, 0xc2, 0x0e, 0xf2, 0xae, 0x00, 0x62, 0x2b, 0xb7, 0xcc, 0x5c, 0x48, - 0x1d, 0xf5, 0x50, 0x0a, 0xa5, 0xae, 0xdb, 0x76, 0xdb, 0xa5, 0x4b, 0x07, 0xee, 0x87, 0x20, 0xcb, 0x94, 0xfb, 0xf0, - 0xad, 0xf6, 0x38, 0x9d, 0x8a, 0xaf, 0xba, 0xc3, 0x77, 0x74, 0x20, 0x3b, 0x33, 0x90, 0x9f, 0x30, 0x82, 0x50, 0x8f, - 0x72, 0xf4, 0xf8, 0xd9, 0x87, 0x6f, 0xe0, 0x8e, 0x06, 0x1d, 0x95, 0x98, 0x81, 0xb7, 0xe3, 0x15, 0x0d, 0x99, 0xef, - 0xd8, 0xce, 0x3c, 0xa3, 0x13, 0x9a, 0xe5, 0xcd, 0xda, 0xc5, 0x05, 0xe2, 0xce, 0x02, 0x64, 0xeb, 0x8f, 0x82, 0x67, - 0xf0, 0x5d, 0x08, 0x32, 0x52, 0xfe, 0x46, 0x5b, 0x19, 0x60, 0x76, 0x81, 0x75, 0x49, 0x06, 0xb2, 0xb6, 0x52, 0xda, - 0x6c, 0xa9, 0xb5, 0x75, 0xdc, 0xee, 0x31, 0xb2, 0x44, 0x31, 0xdc, 0xb8, 0xff, 0x83, 0xd3, 0x3c, 0x6c, 0xff, 0x01, - 0x19, 0xcd, 0xca, 0x8e, 0x2e, 0x94, 0xbb, 0x2d, 0x29, 0xbf, 0xcb, 0xb4, 0x76, 0xab, 0x84, 0x2d, 0x29, 0xe2, 0x73, - 0x39, 0x77, 0x1b, 0xf5, 0x12, 0x15, 0xe0, 0x97, 0x77, 0x23, 0x4d, 0xd8, 0xd4, 0x31, 0xce, 0xdd, 0x26, 0xf2, 0x46, - 0x7f, 0xb8, 0xb6, 0x17, 0xa1, 0xa2, 0xaa, 0x92, 0xa0, 0xa5, 0x88, 0xb7, 0xb0, 0xc4, 0x4a, 0x56, 0x2b, 0x27, 0x01, - 0x17, 0x39, 0x31, 0x70, 0x0a, 0xcf, 0xa8, 0x86, 0xe4, 0x04, 0x97, 0x00, 0x09, 0x04, 0x93, 0x44, 0xfe, 0x5b, 0x15, - 0xeb, 0x1f, 0xca, 0xf1, 0xe5, 0xc6, 0x7e, 0x32, 0x05, 0x2a, 0xf4, 0x93, 0xe9, 0x86, 0x5b, 0x4d, 0x86, 0x8c, 0xd6, - 0x4a, 0xab, 0xae, 0x2a, 0xf7, 0x59, 0xfe, 0xf4, 0xee, 0xbd, 0xba, 0xfa, 0xd3, 0x06, 0xef, 0xb4, 0x88, 0x70, 0x54, - 0x9f, 0x29, 0x68, 0x90, 0x2f, 0xfa, 0x33, 0xca, 0x7d, 0x99, 0x58, 0x0f, 0xfa, 0x04, 0xdc, 0x17, 0x61, 0x29, 0x6b, - 0x94, 0xd8, 0x42, 0xba, 0x13, 0x79, 0xd8, 0x51, 0x8a, 0x7a, 0x6c, 0xa9, 0x3b, 0x73, 0x9a, 0x62, 0x69, 0x48, 0x07, - 0x4b, 0x7f, 0x4c, 0xe0, 0x8b, 0xa3, 0x53, 0x24, 0x49, 0xed, 0xc1, 0x17, 0xe5, 0x77, 0xbf, 0x77, 0x2d, 0x42, 0xcc, - 0x92, 0x0f, 0xa3, 0x8c, 0xc6, 0xff, 0x44, 0xbe, 0x60, 0x41, 0x9a, 0x7c, 0x71, 0x61, 0xa3, 0x1e, 0x77, 0xa3, 0x8c, - 0x4e, 0xc8, 0x17, 0x20, 0xe3, 0x3d, 0x61, 0x7d, 0x00, 0x23, 0x6c, 0xdc, 0xce, 0x62, 0x2c, 0x34, 0xa6, 0x07, 0x28, - 0x44, 0x12, 0x5c, 0xbb, 0x7b, 0x6c, 0x5b, 0xd2, 0x26, 0x16, 0xbf, 0x07, 0x52, 0x9c, 0x0a, 0x25, 0xc0, 0xea, 0x74, - 0xdd, 0xe3, 0xa8, 0xeb, 0x3e, 0xb9, 0x7e, 0xec, 0x9e, 0x44, 0x9d, 0xc7, 0xd7, 0x4d, 0xf8, 0xb7, 0xeb, 0x3e, 0x89, - 0x9b, 0x5d, 0xf7, 0x09, 0xfc, 0xff, 0xdd, 0x91, 0x7b, 0x1c, 0x35, 0x3b, 0xee, 0xc9, 0xf5, 0xa1, 0x7b, 0xf8, 0xb2, - 0xd3, 0x75, 0x0f, 0xad, 0x8e, 0x25, 0xdb, 0x01, 0xbb, 0x96, 0xdc, 0xf9, 0x8b, 0xb5, 0x0d, 0xb1, 0x25, 0x1c, 0x27, - 0x0f, 0x07, 0xd8, 0xd8, 0x29, 0xbf, 0x2e, 0xac, 0xf6, 0xa7, 0x72, 0xd6, 0x3d, 0xf3, 0x33, 0xf8, 0xc4, 0x5b, 0x7d, - 0xef, 0xd6, 0xde, 0xe1, 0x1a, 0xbf, 0xd8, 0x32, 0x04, 0xec, 0x70, 0x1b, 0x9b, 0x97, 0xce, 0xc0, 0x8d, 0x2d, 0xe2, - 0x8b, 0x18, 0xfa, 0x62, 0xe0, 0xdd, 0xa4, 0x2d, 0x2b, 0xea, 0xcb, 0x87, 0x05, 0xb3, 0x60, 0xe2, 0xdb, 0x43, 0x62, - 0x90, 0xaf, 0xc2, 0x62, 0x7d, 0x7c, 0x38, 0xa3, 0x90, 0xa5, 0xc6, 0xbd, 0x3b, 0xb4, 0x3a, 0x59, 0x17, 0x32, 0xb8, - 0x29, 0xa9, 0x28, 0x34, 0xe8, 0x35, 0x37, 0x6d, 0x85, 0x25, 0xc1, 0x2f, 0x68, 0x3e, 0xb4, 0xa1, 0xc8, 0xf6, 0x6c, - 0xe1, 0xe2, 0xb3, 0xcb, 0xcf, 0xdc, 0x95, 0x84, 0x5d, 0x15, 0x60, 0x71, 0x3a, 0x16, 0x76, 0x2d, 0xe0, 0xc7, 0x46, - 0x07, 0x07, 0x3b, 0xf7, 0x8b, 0x50, 0x20, 0x61, 0xae, 0xd5, 0xd7, 0xb1, 0x4c, 0x56, 0x64, 0x9b, 0x88, 0x2e, 0xfb, - 0x15, 0x28, 0x44, 0x0a, 0x4f, 0x57, 0xd4, 0xe7, 0xae, 0x9f, 0xc8, 0x6c, 0x47, 0x83, 0x61, 0xe1, 0x0e, 0x3d, 0x44, - 0x45, 0xca, 0x7d, 0x99, 0x65, 0x64, 0xee, 0xf3, 0x94, 0xfb, 0xfa, 0x16, 0x09, 0xe3, 0xc2, 0x3c, 0x70, 0xf4, 0x46, - 0xdd, 0xc1, 0x9b, 0xf7, 0xa7, 0x96, 0xdc, 0x9e, 0xfd, 0x56, 0xd4, 0x1d, 0xf4, 0x85, 0xcf, 0x44, 0x9e, 0xa8, 0x26, - 0xf2, 0x44, 0xb5, 0xa5, 0x0e, 0xd1, 0x43, 0x24, 0xad, 0x68, 0xc9, 0x69, 0x0b, 0x9b, 0x41, 0x7a, 0x7b, 0x67, 0x8b, - 0x98, 0x33, 0xf8, 0xba, 0x43, 0x4b, 0x1c, 0xa7, 0x86, 0x05, 0x2b, 0x0f, 0xcc, 0x28, 0xed, 0xf0, 0x8a, 0x27, 0xda, - 0x37, 0x3c, 0x61, 0x31, 0xd5, 0x47, 0x64, 0x54, 0x57, 0xe5, 0x91, 0xae, 0xcd, 0xda, 0xf9, 0xe2, 0x6a, 0xc6, 0xb8, - 0xad, 0x0f, 0x9e, 0x7d, 0xab, 0x1a, 0xf4, 0xc5, 0x50, 0x83, 0x71, 0xa1, 0x9c, 0xd7, 0xfa, 0x3b, 0x76, 0xf5, 0x25, - 0x55, 0xb3, 0x57, 0x12, 0x02, 0x8e, 0x32, 0x47, 0x87, 0x83, 0xd2, 0x5d, 0x6c, 0xbe, 0x2b, 0xfa, 0xad, 0xe8, 0x70, - 0x30, 0xf6, 0xe6, 0xaa, 0xbf, 0x97, 0xe9, 0x74, 0x7b, 0x5f, 0x71, 0x3a, 0x1d, 0x8a, 0x33, 0x7b, 0xf2, 0x72, 0x0b, - 0xad, 0xfc, 0xa6, 0xb1, 0x3d, 0xe8, 0x2b, 0x65, 0xc0, 0x12, 0x81, 0x75, 0xfb, 0xb8, 0xad, 0x8f, 0x01, 0xc6, 0xe9, - 0x14, 0x36, 0xa4, 0x6c, 0x62, 0x0c, 0x52, 0xf3, 0xb8, 0x47, 0x9d, 0x41, 0xdf, 0xb7, 0x04, 0x6f, 0x11, 0xcc, 0x23, - 0xf7, 0x5a, 0xd0, 0x38, 0x4a, 0x67, 0xd4, 0x65, 0x69, 0xeb, 0x86, 0x5e, 0x35, 0xfd, 0x39, 0xab, 0xdc, 0xdb, 0xa0, - 0x74, 0x94, 0x43, 0xa6, 0xda, 0x23, 0xae, 0x0e, 0xc9, 0x76, 0x2b, 0x77, 0xdb, 0x11, 0xd8, 0x3c, 0xda, 0x35, 0x27, - 0x7c, 0x72, 0x06, 0x58, 0xe9, 0xa0, 0xdf, 0xf2, 0xd7, 0x30, 0x22, 0xf8, 0x7d, 0xa1, 0x1c, 0xed, 0x60, 0xd8, 0x00, - 0xbd, 0xd9, 0x96, 0x14, 0x07, 0xda, 0x21, 0xaf, 0x04, 0x75, 0x61, 0x0f, 0xfe, 0xf5, 0x7f, 0xfc, 0x2f, 0xe5, 0x63, - 0xef, 0xb7, 0xa2, 0x8e, 0xee, 0x6b, 0x6d, 0x55, 0x8a, 0x3e, 0x1c, 0xe4, 0xaf, 0x82, 0xc2, 0xf4, 0xb6, 0x39, 0xcd, - 0x58, 0xd8, 0x8c, 0xfc, 0x78, 0x62, 0x0f, 0x76, 0x63, 0xd3, 0x3c, 0x5f, 0xab, 0xa0, 0xae, 0x17, 0x01, 0xbd, 0xfe, - 0xaa, 0x13, 0xa2, 0xfa, 0xa0, 0xa1, 0xd8, 0xda, 0xe6, 0x79, 0xd1, 0x6a, 0xf7, 0xd5, 0xce, 0x8c, 0x26, 0xea, 0xe3, - 0x98, 0x8a, 0x03, 0x26, 0xb5, 0xa3, 0xa2, 0x85, 0x6d, 0x95, 0x41, 0xad, 0xff, 0xfb, 0x3f, 0xff, 0xcb, 0x7f, 0xd3, - 0x8f, 0x10, 0xab, 0xfa, 0xd7, 0xff, 0xfe, 0x9f, 0xff, 0xcf, 0xff, 0xfe, 0xaf, 0x70, 0xbc, 0x50, 0xc5, 0xb3, 0x04, - 0x53, 0xb1, 0xaa, 0x60, 0x96, 0xe4, 0x2e, 0x16, 0x64, 0xe0, 0xcf, 0x58, 0xce, 0x59, 0x50, 0x3f, 0x3c, 0x7a, 0x2e, - 0x06, 0x14, 0x3b, 0x53, 0x41, 0x27, 0x76, 0x78, 0x51, 0x11, 0x54, 0x0d, 0xe5, 0x82, 0x70, 0x8b, 0x7e, 0x0b, 0xf0, - 0xfd, 0xb0, 0xf3, 0xf6, 0x6e, 0xb9, 0x1c, 0x4b, 0x4d, 0x26, 0x50, 0x52, 0x54, 0xe5, 0x16, 0xc4, 0x56, 0x96, 0xf0, - 0xe8, 0x75, 0x8d, 0x62, 0xb1, 0x7a, 0xb5, 0x36, 0xbd, 0x9f, 0x16, 0x39, 0x67, 0x13, 0x40, 0xb9, 0xf4, 0x13, 0x8b, - 0x30, 0x76, 0x13, 0x74, 0xc5, 0xf8, 0xae, 0x10, 0xbd, 0x48, 0x02, 0x3d, 0x3a, 0xf9, 0x43, 0xf1, 0xa7, 0x19, 0x68, - 0x64, 0x96, 0x33, 0xf3, 0x6f, 0x95, 0x79, 0xfe, 0xa8, 0xdd, 0x9e, 0xdf, 0xa2, 0x65, 0x35, 0x02, 0xde, 0x35, 0x98, - 0xa0, 0x63, 0xb3, 0x43, 0x11, 0xff, 0x2e, 0xdd, 0xd8, 0x6d, 0x0b, 0x7c, 0xe1, 0x56, 0xbb, 0x28, 0xfe, 0xb8, 0x14, - 0x9e, 0x54, 0xf6, 0x0b, 0xc4, 0xa9, 0x95, 0xd3, 0xf9, 0x2a, 0x35, 0x27, 0xb7, 0x34, 0x5a, 0x75, 0x65, 0xab, 0xa8, - 0xb3, 0x79, 0x8c, 0xdc, 0x8c, 0xb3, 0x9b, 0x11, 0xf2, 0x23, 0x88, 0x79, 0x47, 0x1d, 0x1c, 0x75, 0x97, 0x65, 0xf7, - 0x9c, 0xa7, 0x33, 0x33, 0xb0, 0x4e, 0x7d, 0x1a, 0xd0, 0x89, 0x76, 0xd6, 0xab, 0xf7, 0x32, 0x68, 0x5e, 0x44, 0x87, - 0x5b, 0xc6, 0x52, 0x20, 0x89, 0x80, 0xba, 0xd5, 0x2e, 0x3e, 0x87, 0x1d, 0xb8, 0x9c, 0xc4, 0xa9, 0xcf, 0x3d, 0x41, - 0xb0, 0x3d, 0x33, 0x3c, 0xef, 0x03, 0x4f, 0x4a, 0x97, 0x06, 0x3c, 0x3d, 0x59, 0x15, 0xdc, 0xe6, 0xf5, 0xc3, 0xfe, - 0x85, 0x2b, 0x9a, 0x9b, 0x5d, 0x49, 0xaf, 0xdb, 0x97, 0x2a, 0xea, 0xfd, 0xae, 0xe6, 0xae, 0x52, 0x02, 0xa9, 0x8b, - 0xb6, 0xbf, 0x97, 0x72, 0x5d, 0xbe, 0xfd, 0x86, 0x3b, 0xb6, 0x00, 0xd3, 0x5e, 0xaf, 0x25, 0x0a, 0xa1, 0xd6, 0x3b, - 0xf2, 0x65, 0x69, 0x32, 0xf9, 0xf3, 0xb9, 0xa8, 0x88, 0x7a, 0xfd, 0x96, 0xd4, 0x74, 0x81, 0x7b, 0x88, 0x94, 0x0e, - 0x99, 0x41, 0xa1, 0x2a, 0xa9, 0xad, 0x20, 0x7f, 0xa9, 0xdc, 0x0a, 0xf8, 0x68, 0xea, 0xe0, 0xff, 0x01, 0x0b, 0x95, - 0x29, 0x52, 0xc9, 0x90, 0x00, 0x00}; + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xed, 0x7d, 0xd9, 0x72, 0xdb, 0x48, 0xb6, 0xe0, 0xf3, + 0xd4, 0x57, 0x40, 0x28, 0xb5, 0x8c, 0x2c, 0x26, 0xc1, 0x45, 0x92, 0x2d, 0x83, 0x4a, 0xb2, 0x65, 0xd9, 0xd5, 0x76, + 0x97, 0xb7, 0xb6, 0xec, 0xda, 0x58, 0x6c, 0x09, 0x02, 0x92, 0x44, 0x96, 0x41, 0x80, 0x05, 0x24, 0xb5, 0x14, 0x89, + 0x1b, 0xf3, 0x01, 0x13, 0x31, 0x11, 0xf3, 0x34, 0x2f, 0x13, 0x73, 0x1f, 0xe6, 0x23, 0xe6, 0xf9, 0x7e, 0xca, 0xfd, + 0x81, 0x99, 0x4f, 0x98, 0x38, 0xb9, 0x00, 0x09, 0x2e, 0xb2, 0x5c, 0x55, 0x7d, 0xef, 0x7d, 0x98, 0xa8, 0x28, 0x99, + 0x48, 0xe4, 0x72, 0xf2, 0xe4, 0xc9, 0xb3, 0x67, 0xe2, 0x78, 0x27, 0x4c, 0x03, 0x7e, 0x3b, 0xa3, 0x56, 0xc4, 0xa7, + 0x71, 0xff, 0x58, 0xfd, 0xa5, 0x7e, 0xd8, 0x3f, 0x8e, 0x59, 0xf2, 0xd1, 0xca, 0x68, 0x4c, 0x58, 0x90, 0x26, 0x56, + 0x94, 0xd1, 0x31, 0x09, 0x7d, 0xee, 0x7b, 0x6c, 0xea, 0x4f, 0xa8, 0xd5, 0xea, 0x1f, 0x4f, 0x29, 0xf7, 0xad, 0x20, + 0xf2, 0xb3, 0x9c, 0x72, 0xf2, 0xe1, 0xfd, 0xd7, 0xcd, 0xa3, 0xfe, 0x71, 0x1e, 0x64, 0x6c, 0xc6, 0x2d, 0xe8, 0x92, + 0x4c, 0xd3, 0x70, 0x1e, 0xd3, 0x7e, 0xab, 0x75, 0x7d, 0x7d, 0xed, 0xfe, 0x9c, 0x7f, 0x11, 0xa4, 0x49, 0xce, 0xad, + 0xa7, 0xe4, 0x9a, 0x25, 0x61, 0x7a, 0x8d, 0x73, 0x4e, 0x9e, 0xba, 0x67, 0x91, 0x1f, 0xa6, 0xd7, 0xef, 0xd2, 0x94, + 0xef, 0xed, 0x39, 0xf2, 0xf1, 0xf6, 0xf4, 0xec, 0x8c, 0x10, 0x72, 0x95, 0xb2, 0xd0, 0x6a, 0x2f, 0x97, 0x55, 0xa1, + 0x9b, 0xf8, 0x9c, 0x5d, 0x51, 0xd9, 0x04, 0xed, 0xed, 0xd9, 0x7e, 0x98, 0xce, 0x38, 0x0d, 0xcf, 0xf8, 0x6d, 0x4c, + 0xcf, 0x22, 0x4a, 0x79, 0x6e, 0xb3, 0xc4, 0x7a, 0x9a, 0x06, 0xf3, 0x29, 0x4d, 0xb8, 0x3b, 0xcb, 0x52, 0x9e, 0x02, + 0x24, 0x7b, 0x7b, 0x76, 0x46, 0x67, 0xb1, 0x1f, 0x50, 0x78, 0x7f, 0x7a, 0x76, 0x56, 0xb5, 0xa8, 0x2a, 0xe1, 0x84, + 0x93, 0xb3, 0xdb, 0xe9, 0x65, 0x1a, 0x3b, 0x08, 0x47, 0x9c, 0x24, 0xf4, 0xda, 0xfa, 0x8e, 0xfa, 0x1f, 0x5f, 0xf9, + 0xb3, 0x5e, 0x10, 0xfb, 0x79, 0x6e, 0x9d, 0xf0, 0x85, 0x98, 0x42, 0x36, 0x0f, 0x78, 0x9a, 0x39, 0x1c, 0x53, 0xcc, + 0xd0, 0x82, 0x8d, 0x1d, 0x1e, 0xb1, 0xdc, 0x3d, 0xdf, 0x0d, 0xf2, 0xfc, 0x1d, 0xcd, 0xe7, 0x31, 0xdf, 0x25, 0x3b, + 0x6d, 0xcc, 0x76, 0x08, 0x49, 0x38, 0xe2, 0x51, 0x96, 0x5e, 0x5b, 0xcf, 0xb2, 0x2c, 0xcd, 0x1c, 0xfb, 0xf4, 0xec, + 0x4c, 0xd6, 0xb0, 0x58, 0x6e, 0x25, 0x29, 0xb7, 0xca, 0xfe, 0xfc, 0xcb, 0x98, 0xba, 0xd6, 0x87, 0x9c, 0x5a, 0x17, + 0xf3, 0x24, 0xf7, 0xc7, 0xf4, 0xf4, 0xec, 0xec, 0xc2, 0x4a, 0x33, 0xeb, 0x22, 0xc8, 0xf3, 0x0b, 0x8b, 0x25, 0x39, + 0xa7, 0x7e, 0xe8, 0xda, 0xa8, 0x27, 0x06, 0x0b, 0xf2, 0xfc, 0x3d, 0xbd, 0xe1, 0x84, 0x63, 0xf1, 0xc8, 0x09, 0x2d, + 0x26, 0x94, 0x5b, 0x79, 0x39, 0x2f, 0x07, 0x2d, 0x62, 0xca, 0x2d, 0x4e, 0xc4, 0xfb, 0xb4, 0x27, 0x71, 0x4f, 0xe5, + 0x23, 0xef, 0xb1, 0xb1, 0x93, 0xf3, 0xbd, 0x3d, 0x5e, 0xe2, 0x19, 0xc9, 0xa9, 0x59, 0x8c, 0xd0, 0x1d, 0x5d, 0xb6, + 0xb7, 0x47, 0xdd, 0x98, 0x26, 0x13, 0x1e, 0x11, 0x42, 0x3a, 0x3d, 0xb6, 0xb7, 0xe7, 0x70, 0x12, 0x71, 0x77, 0x42, + 0xb9, 0x43, 0x11, 0xc2, 0x55, 0xeb, 0xbd, 0x3d, 0x47, 0x22, 0x21, 0x25, 0x12, 0x71, 0x35, 0x1c, 0x23, 0x57, 0x61, + 0xff, 0xec, 0x36, 0x09, 0x1c, 0x13, 0x7e, 0x84, 0xd9, 0xde, 0x5e, 0xc4, 0xdd, 0x1c, 0x7a, 0xc4, 0x1c, 0xa1, 0x22, + 0xa3, 0x7c, 0x9e, 0x25, 0x16, 0x2f, 0x78, 0x7a, 0xc6, 0x33, 0x96, 0x4c, 0x1c, 0xb4, 0xd0, 0x65, 0x46, 0xc3, 0xa2, + 0x90, 0xe0, 0xbe, 0xe3, 0x24, 0x21, 0x7d, 0x18, 0xf1, 0x84, 0x3b, 0xb0, 0x8a, 0xe9, 0xd8, 0x4a, 0x08, 0xb1, 0x73, + 0xd1, 0xd6, 0x1e, 0x24, 0x5e, 0xd2, 0xb0, 0x6d, 0x2c, 0xa1, 0xc4, 0x09, 0x47, 0xf8, 0x23, 0x71, 0x12, 0xec, 0xba, + 0x2e, 0x47, 0xa4, 0xbf, 0xd0, 0x58, 0x49, 0x8c, 0x79, 0x0e, 0x92, 0x61, 0x7b, 0xe4, 0x71, 0x37, 0xa3, 0xe1, 0x3c, + 0xa0, 0x8e, 0xc3, 0x70, 0x8e, 0x53, 0x44, 0xfa, 0xac, 0xe1, 0x64, 0xa4, 0x0f, 0xcb, 0x9d, 0xd5, 0xd7, 0x9a, 0x90, + 0x9d, 0x36, 0x52, 0x30, 0x66, 0x1a, 0x40, 0xc0, 0xb0, 0x82, 0x27, 0x23, 0xc4, 0x4e, 0xe6, 0xd3, 0x4b, 0x9a, 0xd9, + 0x65, 0xb5, 0x5e, 0x8d, 0x2c, 0xe6, 0x39, 0xb5, 0x82, 0x3c, 0xb7, 0xc6, 0xf3, 0x24, 0xe0, 0x2c, 0x4d, 0x2c, 0xbb, + 0x91, 0x35, 0x6c, 0x49, 0x0e, 0x25, 0x35, 0xd8, 0xa8, 0x40, 0x4e, 0x8e, 0x1a, 0xc9, 0x30, 0x6d, 0x74, 0x46, 0x18, + 0xa0, 0x44, 0x3d, 0xd5, 0x9f, 0x42, 0x00, 0xc5, 0x09, 0xcc, 0xb1, 0xc0, 0x4f, 0x38, 0xcc, 0x52, 0x4c, 0x31, 0xe7, + 0x83, 0xc4, 0x5d, 0xdf, 0x28, 0x84, 0xbb, 0x53, 0x7f, 0xe6, 0x50, 0xd2, 0xa7, 0x82, 0xb8, 0xfc, 0x24, 0x00, 0x58, + 0x6b, 0xeb, 0x36, 0xa0, 0x1e, 0x75, 0x2b, 0x92, 0x42, 0x1e, 0x77, 0xc7, 0x69, 0xf6, 0xcc, 0x0f, 0x22, 0x68, 0x57, + 0x12, 0x4c, 0xa8, 0xf7, 0x5b, 0x90, 0x51, 0x9f, 0xd3, 0x67, 0x31, 0x85, 0x27, 0xc7, 0x16, 0x2d, 0x6d, 0x84, 0x73, + 0xf2, 0xd4, 0x8d, 0x19, 0x7f, 0x9d, 0x26, 0x01, 0xed, 0xe5, 0x06, 0x75, 0x31, 0x58, 0xf7, 0x13, 0xce, 0x33, 0x76, + 0x39, 0xe7, 0xd4, 0xb1, 0x13, 0xa8, 0x61, 0xe3, 0x1c, 0x61, 0xe6, 0x72, 0x7a, 0xc3, 0x4f, 0xd3, 0x84, 0xd3, 0x84, + 0x13, 0xaa, 0x91, 0x8a, 0x13, 0xd7, 0x9f, 0xcd, 0x68, 0x12, 0x9e, 0x46, 0x2c, 0x0e, 0x1d, 0x86, 0x0a, 0x54, 0xe0, + 0x80, 0x13, 0x98, 0x23, 0xe9, 0x27, 0x1e, 0xfc, 0xd9, 0x3e, 0x1b, 0x87, 0x93, 0xbe, 0xd8, 0x14, 0x94, 0xd8, 0x76, + 0x6f, 0x9c, 0x66, 0x8e, 0x9a, 0x81, 0x95, 0x8e, 0x2d, 0x0e, 0x63, 0xbc, 0x9b, 0xc7, 0x34, 0x47, 0xb4, 0x41, 0x58, + 0xb9, 0x8c, 0x0a, 0xc1, 0xef, 0x80, 0xe2, 0x0b, 0xe4, 0x24, 0xc8, 0x4b, 0x7a, 0x57, 0x7e, 0x66, 0xfd, 0xa8, 0x76, + 0xd4, 0xcf, 0x9a, 0x9b, 0x85, 0x9c, 0xfc, 0xec, 0xf2, 0x6c, 0x9e, 0x73, 0x1a, 0xbe, 0xbf, 0x9d, 0xd1, 0x1c, 0x3f, + 0xe7, 0x24, 0xe4, 0x83, 0x90, 0xbb, 0x74, 0x3a, 0xe3, 0xb7, 0x67, 0x82, 0x31, 0x7a, 0xb6, 0x8d, 0xe7, 0x50, 0x33, + 0xa3, 0x7e, 0x00, 0xcc, 0x4c, 0x61, 0xeb, 0x6d, 0x1a, 0xdf, 0x8e, 0x59, 0x1c, 0x9f, 0xcd, 0x67, 0xb3, 0x34, 0xe3, + 0x98, 0x73, 0xb2, 0xe0, 0x69, 0x85, 0x1b, 0x58, 0xcc, 0x45, 0x7e, 0xcd, 0x78, 0x10, 0x39, 0x1c, 0x2d, 0x02, 0x3f, + 0xa7, 0xd6, 0x93, 0x34, 0x8d, 0xa9, 0x0f, 0xb3, 0x4e, 0x06, 0xcf, 0xb9, 0x97, 0xcc, 0xe3, 0xb8, 0x77, 0x99, 0x51, + 0xff, 0x63, 0x4f, 0xbc, 0x7e, 0x73, 0xf9, 0x33, 0x0d, 0xb8, 0x27, 0x7e, 0x9f, 0x64, 0x99, 0x7f, 0x0b, 0x15, 0x09, + 0x81, 0x6a, 0x83, 0xc4, 0xfb, 0xeb, 0xd9, 0x9b, 0xd7, 0xae, 0xdc, 0x25, 0x6c, 0x7c, 0xeb, 0x24, 0xe5, 0xce, 0x4b, + 0x0a, 0x3c, 0xce, 0xd2, 0xe9, 0xca, 0xd0, 0x12, 0x6d, 0x49, 0x6f, 0x0b, 0x08, 0x94, 0x24, 0x3b, 0xb2, 0x6b, 0x13, + 0x82, 0xd7, 0x82, 0xe8, 0xe1, 0x25, 0xd1, 0xe3, 0xce, 0xe3, 0xd8, 0x93, 0xc5, 0x4e, 0x82, 0xee, 0x86, 0x96, 0x67, + 0xb7, 0x0b, 0x4a, 0x04, 0x9c, 0x33, 0x10, 0x31, 0x00, 0x63, 0xe0, 0xf3, 0x20, 0x5a, 0x50, 0xd1, 0x59, 0xa1, 0x21, + 0xa6, 0x45, 0x81, 0x9f, 0x95, 0x04, 0xcf, 0x01, 0x10, 0xc1, 0xa9, 0x08, 0x5f, 0x2e, 0x61, 0xc2, 0x08, 0xff, 0x95, + 0x2c, 0x7c, 0x3d, 0x1f, 0x6f, 0xa7, 0x8d, 0x61, 0x63, 0x7a, 0x92, 0xbd, 0xe0, 0x20, 0x4d, 0xae, 0x68, 0xc6, 0x69, + 0xe6, 0x71, 0x8e, 0x33, 0x3a, 0x8e, 0x01, 0x8c, 0x9d, 0x0e, 0x8e, 0xfc, 0xfc, 0x34, 0xf2, 0x93, 0x09, 0x0d, 0xbd, + 0x67, 0xbc, 0xc0, 0x94, 0x13, 0x7b, 0xcc, 0x12, 0x3f, 0x66, 0xbf, 0xd2, 0xd0, 0x56, 0x02, 0xe1, 0x99, 0x45, 0x6f, + 0x38, 0x4d, 0xc2, 0xdc, 0x7a, 0xfe, 0xfe, 0xd5, 0x4b, 0xb5, 0x94, 0x35, 0x19, 0x81, 0x16, 0xf9, 0x7c, 0x46, 0x33, + 0x07, 0x61, 0x25, 0x23, 0x9e, 0x31, 0xc1, 0x1f, 0x5f, 0xf9, 0x33, 0x59, 0xc2, 0xf2, 0x0f, 0xb3, 0xd0, 0xe7, 0xf4, + 0x2d, 0x4d, 0x42, 0x96, 0x4c, 0xc8, 0x4e, 0x47, 0x96, 0x47, 0xbe, 0x7a, 0x11, 0x96, 0x45, 0xe7, 0xbb, 0xcf, 0x62, + 0x31, 0xf3, 0xf2, 0x71, 0xee, 0xa0, 0x22, 0xe7, 0x3e, 0x67, 0x81, 0xe5, 0x87, 0xe1, 0x8b, 0x84, 0x71, 0x26, 0x00, + 0xcc, 0x60, 0x81, 0x80, 0x4a, 0xa9, 0x94, 0x16, 0x1a, 0x70, 0x07, 0x61, 0xc7, 0x51, 0x32, 0x20, 0x42, 0x6a, 0xc5, + 0xf6, 0xf6, 0x2a, 0x8e, 0x3f, 0xa0, 0x9e, 0x7c, 0x49, 0x86, 0x23, 0xe4, 0xce, 0xe6, 0x39, 0x2c, 0xb5, 0x1e, 0x02, + 0x04, 0x4c, 0x7a, 0x99, 0xd3, 0xec, 0x8a, 0x86, 0x25, 0x79, 0xe4, 0x0e, 0x5a, 0xac, 0x8c, 0xa1, 0x76, 0x06, 0x27, + 0xc3, 0x51, 0xcf, 0x64, 0xdd, 0x54, 0x91, 0x7a, 0x96, 0xce, 0x68, 0xc6, 0x19, 0xcd, 0x4b, 0x6e, 0xe2, 0x80, 0x20, + 0x2d, 0x39, 0x4a, 0x4e, 0xf4, 0xfc, 0x66, 0x0e, 0xc3, 0x14, 0xd5, 0x78, 0x86, 0x96, 0xb5, 0xcf, 0xae, 0x84, 0xd0, + 0xc8, 0x31, 0x43, 0x98, 0x4b, 0x48, 0x73, 0x84, 0x0a, 0x84, 0xb9, 0x06, 0x57, 0x72, 0x23, 0x35, 0xda, 0x2d, 0x48, + 0x6b, 0xf2, 0x57, 0x21, 0xad, 0x81, 0xa7, 0xf9, 0x9c, 0xee, 0xed, 0x39, 0xd4, 0x2d, 0xc9, 0x82, 0xec, 0x74, 0xd4, + 0x1a, 0x19, 0xc8, 0xda, 0x02, 0x36, 0x0c, 0xcc, 0x31, 0x45, 0x78, 0x87, 0xba, 0x49, 0x7a, 0x12, 0x04, 0x34, 0xcf, + 0xd3, 0x6c, 0x6f, 0x6f, 0x47, 0xd4, 0x2f, 0x15, 0x0a, 0x58, 0xc3, 0x37, 0xd7, 0x49, 0x05, 0x01, 0xaa, 0x84, 0xac, + 0x12, 0x0d, 0x1c, 0x44, 0x95, 0xd0, 0x39, 0xec, 0x81, 0xd6, 0x3d, 0x3c, 0xfb, 0xfc, 0xdc, 0x6e, 0x70, 0xac, 0xd0, + 0x30, 0xa1, 0x7a, 0xe8, 0xdb, 0xa7, 0x54, 0x6a, 0x57, 0x42, 0xf7, 0x58, 0xc3, 0x8c, 0xdc, 0x41, 0x6e, 0x48, 0xc7, + 0x2c, 0x31, 0xa6, 0x5d, 0x03, 0x09, 0x73, 0x9c, 0xa3, 0xc2, 0x58, 0xd0, 0x8d, 0x5d, 0x0b, 0xb5, 0x46, 0xae, 0xdc, + 0x62, 0x22, 0x54, 0x09, 0x63, 0x19, 0x87, 0x74, 0x54, 0x60, 0x81, 0x7a, 0x3d, 0x9b, 0x54, 0x00, 0x3a, 0xe4, 0xa3, + 0x9e, 0x7a, 0x4f, 0x72, 0x89, 0xb9, 0x8c, 0xfe, 0x32, 0xa7, 0x39, 0x97, 0x74, 0xec, 0x70, 0x9c, 0x62, 0x06, 0xfc, + 0x3a, 0x4d, 0xc6, 0x6c, 0x32, 0xcf, 0x40, 0xe3, 0x81, 0xcd, 0x48, 0x93, 0xf9, 0x94, 0xea, 0xa7, 0x4d, 0xb0, 0xbd, + 0x99, 0x81, 0x4c, 0xcc, 0x81, 0xa6, 0xef, 0x26, 0x27, 0x80, 0x95, 0xa3, 0xe5, 0xf2, 0xaf, 0xba, 0x93, 0x6a, 0x29, + 0x4b, 0x2d, 0x6d, 0x65, 0x4d, 0x28, 0x47, 0x4a, 0x26, 0xef, 0x74, 0x14, 0xf8, 0x7c, 0x44, 0x76, 0xda, 0x25, 0x0d, + 0x2b, 0xac, 0x4a, 0x70, 0x24, 0x12, 0xdf, 0xc8, 0xae, 0x90, 0x10, 0xf1, 0x35, 0x72, 0x71, 0xa3, 0x35, 0x4a, 0x8d, + 0xc8, 0x10, 0x94, 0x0d, 0x37, 0x1a, 0x6d, 0x23, 0x27, 0xcd, 0x0f, 0x1c, 0xbe, 0xfe, 0xae, 0x62, 0x1b, 0x57, 0x75, + 0xb6, 0xb1, 0x32, 0x0d, 0x7b, 0x56, 0x36, 0xb1, 0x4b, 0x2a, 0x53, 0x1b, 0xbd, 0x7a, 0x85, 0x99, 0x00, 0xa6, 0x9a, + 0x92, 0xd1, 0xc5, 0x6b, 0x7f, 0x4a, 0x73, 0x87, 0x22, 0xbc, 0xad, 0x82, 0x24, 0x4f, 0xa8, 0x32, 0x32, 0x64, 0x67, + 0x0e, 0xb2, 0x93, 0x21, 0xa9, 0x9a, 0xd5, 0x37, 0x5c, 0x8e, 0xe9, 0x30, 0x1f, 0x55, 0x1a, 0x9d, 0x31, 0x79, 0x21, + 0x94, 0x15, 0x7d, 0x6b, 0xfc, 0xc9, 0x32, 0x89, 0x34, 0xa1, 0x39, 0xe4, 0x08, 0xef, 0xb4, 0x57, 0x57, 0x52, 0xd7, + 0xaa, 0xe6, 0x38, 0x1c, 0xc1, 0x3a, 0x08, 0x91, 0xe1, 0xb2, 0x5c, 0xfc, 0x5b, 0xdb, 0x69, 0x80, 0xb6, 0x33, 0x20, + 0x0c, 0x77, 0x1c, 0xfb, 0xdc, 0xe9, 0xb4, 0xda, 0xa0, 0x8e, 0x5e, 0x51, 0x90, 0x28, 0x08, 0xad, 0x4f, 0x85, 0xba, + 0xf3, 0x24, 0x8f, 0xd8, 0x98, 0x3b, 0x01, 0x17, 0x2c, 0x85, 0xc6, 0x39, 0xb5, 0x78, 0x4d, 0x29, 0x16, 0xec, 0x26, + 0x00, 0x62, 0x2b, 0x35, 0x30, 0xaa, 0x21, 0x15, 0x6c, 0x0b, 0xb8, 0x43, 0xa5, 0x50, 0x57, 0x5c, 0x46, 0xd7, 0x66, + 0xa0, 0x34, 0x76, 0x06, 0xb2, 0x47, 0x4f, 0x31, 0x03, 0x66, 0xe8, 0xad, 0xcc, 0x33, 0x39, 0x84, 0x2a, 0xe4, 0x2e, + 0x4f, 0x5f, 0xa6, 0xd7, 0x34, 0x3b, 0xf5, 0x01, 0x78, 0x4f, 0x36, 0x2f, 0xa4, 0x20, 0x10, 0xfc, 0x9e, 0xf7, 0x34, + 0xbd, 0x9c, 0x8b, 0x89, 0xbf, 0xcd, 0xd2, 0x29, 0xcb, 0x29, 0xa8, 0x6b, 0x12, 0xff, 0x09, 0xec, 0x33, 0xb1, 0x21, + 0x41, 0xd8, 0xd0, 0x92, 0xbe, 0x4e, 0x5e, 0xd6, 0xe9, 0xeb, 0x7c, 0xf7, 0xd9, 0x44, 0x33, 0xc0, 0xfa, 0x36, 0x46, + 0xd8, 0x51, 0x46, 0x85, 0x21, 0xe7, 0xdc, 0x08, 0x29, 0x11, 0xbf, 0x5c, 0x72, 0xc3, 0x76, 0xab, 0x29, 0x8c, 0x54, + 0x6e, 0x1b, 0x54, 0xf8, 0x61, 0x08, 0xaa, 0x5d, 0x96, 0xc6, 0xb1, 0x21, 0xaa, 0x30, 0xeb, 0x95, 0xc2, 0xe9, 0x7c, + 0xf7, 0xd9, 0xd9, 0x5d, 0xf2, 0x09, 0xde, 0x9b, 0x22, 0x4a, 0x03, 0x9a, 0x84, 0x34, 0x03, 0x5b, 0xd2, 0x58, 0x2d, + 0x25, 0x65, 0x4f, 0xd3, 0x24, 0xa1, 0x01, 0xa7, 0x21, 0x98, 0x2a, 0x8c, 0x70, 0x37, 0x4a, 0x73, 0x5e, 0x16, 0x56, + 0xd0, 0x33, 0x03, 0x7a, 0xe6, 0x06, 0x7e, 0x1c, 0x3b, 0xd2, 0x2c, 0x99, 0xa6, 0x57, 0x74, 0x03, 0xd4, 0xbd, 0x1a, + 0xc8, 0x65, 0x37, 0xd4, 0xe8, 0x86, 0xba, 0xf9, 0x2c, 0x66, 0x01, 0x2d, 0x45, 0xd7, 0x99, 0xcb, 0x92, 0x90, 0xde, + 0x00, 0x1f, 0x41, 0xfd, 0x7e, 0xbf, 0x8d, 0x3b, 0xa8, 0x90, 0x08, 0x5f, 0xac, 0x21, 0xf6, 0x0e, 0xa1, 0x09, 0x44, + 0x46, 0xfa, 0x8b, 0x8d, 0x6c, 0x0d, 0x19, 0x92, 0x92, 0x69, 0xf3, 0x4a, 0x72, 0x67, 0x84, 0x43, 0x1a, 0x53, 0x4e, + 0x35, 0x37, 0x07, 0x25, 0x5a, 0x6e, 0xdd, 0x77, 0x25, 0xfe, 0x4a, 0x72, 0xd2, 0xbb, 0x4c, 0xaf, 0x79, 0x5e, 0x9a, + 0xeb, 0xd5, 0xf2, 0x54, 0xd8, 0x1e, 0x70, 0xb9, 0x3c, 0x3e, 0xe7, 0x7e, 0x10, 0x49, 0x3b, 0xdd, 0x59, 0x9b, 0x52, + 0xd5, 0x87, 0xe2, 0xec, 0xe5, 0x26, 0x7a, 0xa2, 0xc1, 0xdc, 0x84, 0x82, 0x33, 0xc5, 0x14, 0x28, 0x98, 0x7e, 0x72, + 0xd9, 0x4e, 0xfd, 0x38, 0xbe, 0xf4, 0x83, 0x8f, 0x75, 0xea, 0xaf, 0xc8, 0x80, 0xac, 0x72, 0x63, 0xe3, 0x95, 0xc1, + 0xb2, 0xcc, 0x79, 0x6b, 0x2e, 0x5d, 0xdb, 0x28, 0xce, 0x4e, 0xbb, 0x22, 0xfb, 0xfa, 0x42, 0x6f, 0xa5, 0x76, 0x01, + 0x11, 0x53, 0x33, 0x73, 0x80, 0x0b, 0x7c, 0x92, 0xe2, 0x34, 0x3f, 0x50, 0x74, 0x07, 0x06, 0x47, 0xb1, 0x02, 0x08, + 0x47, 0x8b, 0x22, 0x64, 0xf9, 0x76, 0x0c, 0xfc, 0x21, 0x50, 0x3e, 0x35, 0x46, 0xb8, 0x2f, 0xa0, 0x25, 0x8f, 0x53, + 0x5a, 0x73, 0x09, 0x99, 0xd2, 0x27, 0x34, 0xa3, 0xf9, 0x06, 0x74, 0x17, 0x41, 0xef, 0x6f, 0xe4, 0x2b, 0xd0, 0xca, + 0x00, 0x8a, 0xbc, 0x67, 0xaa, 0x13, 0x35, 0x0a, 0x50, 0x3c, 0x95, 0x09, 0x91, 0x9b, 0xd6, 0x2c, 0x48, 0xa5, 0xb1, + 0x4b, 0x23, 0x5c, 0xb1, 0xdc, 0x8c, 0x38, 0x8e, 0x93, 0x83, 0x11, 0xa7, 0x75, 0xfb, 0x6a, 0x12, 0xf9, 0xda, 0x24, + 0x72, 0xd7, 0x30, 0xb4, 0x50, 0x45, 0xcb, 0x46, 0x73, 0x8f, 0x73, 0x64, 0xd6, 0x02, 0x7d, 0xd5, 0x05, 0x06, 0x8d, + 0x4a, 0x7e, 0x1b, 0x13, 0x8e, 0x33, 0x65, 0xe5, 0x28, 0x52, 0x03, 0x8e, 0x51, 0x35, 0x49, 0x91, 0xdc, 0x1b, 0x35, + 0x93, 0x37, 0xc5, 0x19, 0x5a, 0x51, 0xee, 0x8b, 0x42, 0x21, 0x89, 0x22, 0xb5, 0x38, 0x35, 0xad, 0xd8, 0x40, 0x0b, + 0x4e, 0x89, 0xd2, 0x84, 0xa5, 0xe2, 0xb3, 0x8a, 0x9c, 0xb2, 0xdf, 0x1d, 0x42, 0xd2, 0x0a, 0x37, 0x35, 0x95, 0x52, + 0xeb, 0x56, 0x29, 0xc2, 0x91, 0x56, 0x4a, 0xb3, 0x6a, 0xe2, 0x84, 0xd8, 0xda, 0x27, 0x61, 0x0f, 0x16, 0x35, 0xbb, + 0xd0, 0x33, 0xaa, 0x15, 0x1e, 0xf0, 0xd4, 0x6c, 0x13, 0xbe, 0x37, 0x11, 0x4d, 0xad, 0x1f, 0x03, 0xe3, 0x59, 0x0d, + 0xe3, 0x06, 0x6a, 0x53, 0xc9, 0xbb, 0xd2, 0x11, 0x89, 0xea, 0x8d, 0x1d, 0x8a, 0x33, 0xb9, 0x10, 0x6b, 0x58, 0x5c, + 0x55, 0x3e, 0x05, 0x11, 0x82, 0x19, 0x9b, 0x83, 0x7a, 0x67, 0x4a, 0x08, 0x07, 0x80, 0x67, 0xcb, 0xe5, 0x1a, 0xd9, + 0x6d, 0xd4, 0x41, 0x91, 0x5b, 0x59, 0x86, 0xcb, 0xe5, 0x33, 0x8e, 0x1c, 0xa5, 0xfd, 0x62, 0x8a, 0x06, 0x9a, 0xe7, + 0x9e, 0xbc, 0x84, 0x5a, 0x42, 0x19, 0xad, 0x4a, 0x4a, 0xb3, 0xa1, 0x4e, 0xb5, 0xf5, 0x85, 0xe2, 0x06, 0xe3, 0x3e, + 0x5d, 0xe3, 0x5f, 0xa2, 0x50, 0x09, 0xea, 0x6a, 0xca, 0xa7, 0xaa, 0x6b, 0x86, 0x10, 0xf2, 0x72, 0x61, 0xc9, 0xec, + 0x6c, 0x32, 0x2e, 0xf7, 0xf6, 0x72, 0xa3, 0xa3, 0xf3, 0x92, 0x51, 0xfc, 0xec, 0x80, 0x50, 0xce, 0x6f, 0x13, 0xa1, + 0xbd, 0xfc, 0xac, 0xc5, 0xd0, 0x9a, 0x69, 0xda, 0xee, 0x81, 0x4d, 0xee, 0x5f, 0xfb, 0x8c, 0x5b, 0x65, 0x2f, 0xd2, + 0x26, 0x77, 0x28, 0x5a, 0x28, 0x65, 0xc3, 0xcd, 0x28, 0xa8, 0x8f, 0xc0, 0x15, 0xb4, 0x12, 0x2d, 0x09, 0x3f, 0x88, + 0x28, 0xf8, 0x83, 0xb5, 0x1e, 0x51, 0xda, 0x86, 0x3b, 0x4a, 0x8e, 0xa8, 0x8e, 0x37, 0xc3, 0x5e, 0xac, 0x36, 0xaf, + 0xd9, 0x02, 0x33, 0x9a, 0x8d, 0xd3, 0x6c, 0xaa, 0xdf, 0x15, 0x2b, 0xcf, 0x8a, 0x37, 0xb2, 0xb1, 0xb3, 0xb1, 0x6f, + 0x65, 0x01, 0xf4, 0x56, 0x0c, 0xef, 0xca, 0x64, 0xaf, 0x09, 0xd3, 0x52, 0xfe, 0x4a, 0xb7, 0xa0, 0xa6, 0xcc, 0xdc, + 0x34, 0xf1, 0x95, 0x4f, 0xb5, 0x27, 0xdd, 0x26, 0x3b, 0x9d, 0x5e, 0x69, 0xf7, 0x69, 0x6a, 0xe8, 0x49, 0xf7, 0x86, + 0x12, 0xaa, 0xe9, 0x3c, 0x0e, 0x15, 0xb0, 0x0c, 0x61, 0xaa, 0xe8, 0xe8, 0x9a, 0xc5, 0x71, 0x55, 0xfa, 0x39, 0x9c, + 0x3d, 0x57, 0x9c, 0x3d, 0xd5, 0x9c, 0x1d, 0x58, 0x05, 0x70, 0x76, 0xd9, 0x5d, 0xd5, 0x3c, 0x5d, 0xdb, 0x9e, 0xa9, + 0xe4, 0xe9, 0xb9, 0xb0, 0xa5, 0x61, 0xbc, 0xb9, 0x86, 0x00, 0x95, 0xba, 0xd7, 0x47, 0x47, 0xb9, 0x62, 0xc0, 0x08, + 0x94, 0x9e, 0x4c, 0x6a, 0xba, 0x29, 0x3e, 0x3a, 0x08, 0xe7, 0x05, 0x2d, 0x29, 0xfb, 0xe4, 0x19, 0xf8, 0xea, 0x8c, + 0xe9, 0x80, 0x18, 0x13, 0xc5, 0x9f, 0xa5, 0x46, 0xe9, 0xd9, 0x31, 0x35, 0xbb, 0x5c, 0xcf, 0x0e, 0x78, 0x7d, 0x35, + 0xbb, 0xf0, 0x6e, 0x6e, 0x2f, 0xa6, 0xc7, 0xca, 0xe9, 0x55, 0xeb, 0xbd, 0x5c, 0x3a, 0x2b, 0x25, 0xe0, 0xc6, 0x57, + 0x46, 0x4a, 0x56, 0xf6, 0x0e, 0x3c, 0xc0, 0xc4, 0x0c, 0x14, 0x14, 0x72, 0xd2, 0xa5, 0x90, 0x7b, 0xf9, 0x29, 0x27, + 0x8f, 0xf0, 0xd6, 0xcb, 0xf6, 0xa7, 0xe9, 0x74, 0x06, 0xfa, 0xd8, 0x0a, 0x49, 0x4f, 0xa8, 0x1a, 0xb0, 0x7a, 0x5f, + 0x6c, 0x28, 0xab, 0xb5, 0x11, 0xfb, 0xb1, 0x46, 0x4d, 0xa5, 0xcd, 0xbc, 0xd3, 0x2e, 0xe6, 0x65, 0x51, 0xc9, 0x38, + 0x36, 0x39, 0x56, 0x4e, 0x57, 0xdd, 0x32, 0xfa, 0xc5, 0x1b, 0x87, 0x49, 0x3e, 0xcc, 0x80, 0xd7, 0x19, 0xec, 0x47, + 0x93, 0xbb, 0xb9, 0xfe, 0x45, 0x85, 0x9c, 0x45, 0xb1, 0x82, 0xbe, 0x45, 0x51, 0x3c, 0x53, 0x76, 0x36, 0x7e, 0xb6, + 0xdd, 0x20, 0xae, 0xde, 0x29, 0x7b, 0x71, 0x38, 0xc2, 0xcf, 0xd6, 0xb5, 0x47, 0xb2, 0x98, 0xa6, 0x21, 0xf5, 0xec, + 0x74, 0x46, 0x13, 0xbb, 0x00, 0xef, 0xaa, 0x5a, 0xfc, 0x39, 0x77, 0x16, 0xef, 0xea, 0x6e, 0x56, 0xef, 0x59, 0x01, + 0x2e, 0xb0, 0x1f, 0xd7, 0x1d, 0xb0, 0xdf, 0xd2, 0x2c, 0x17, 0xba, 0x68, 0xa9, 0xd6, 0xfe, 0x58, 0x09, 0xa6, 0x1f, + 0xbd, 0xad, 0xf5, 0x2b, 0x2b, 0xc4, 0xee, 0xb8, 0x0f, 0xdd, 0x7d, 0x1b, 0x09, 0xf7, 0xf0, 0x37, 0x6a, 0xc7, 0xff, + 0xa2, 0xdd, 0xc3, 0x67, 0xe4, 0x97, 0xba, 0x77, 0x78, 0xc6, 0xc9, 0xd9, 0xe0, 0x4c, 0x1b, 0xcd, 0x69, 0xcc, 0x82, + 0x5b, 0xc7, 0x8e, 0x19, 0x6f, 0x42, 0x08, 0xce, 0xc6, 0x0b, 0xf9, 0x02, 0xfc, 0x8a, 0xc2, 0xad, 0x5d, 0x68, 0x73, + 0x0f, 0x33, 0x4e, 0xec, 0xdd, 0x98, 0xf1, 0x5d, 0x1b, 0xdf, 0x92, 0x0b, 0xf8, 0xb1, 0xbb, 0x70, 0x5e, 0xf9, 0x3c, + 0x72, 0x33, 0x3f, 0x09, 0xd3, 0xa9, 0x83, 0x1a, 0xb6, 0x8d, 0xdc, 0x5c, 0x98, 0x1c, 0x8f, 0x51, 0xb1, 0x7b, 0x81, + 0xcf, 0x38, 0xb1, 0x07, 0x76, 0xe3, 0x16, 0xbf, 0xe2, 0xe4, 0xe2, 0x78, 0x77, 0x71, 0xc6, 0x8b, 0xfe, 0x05, 0x3e, + 0x29, 0x3d, 0xf7, 0xf8, 0x35, 0x71, 0x10, 0xe9, 0x9f, 0x28, 0x68, 0x4e, 0xd3, 0xa9, 0xf4, 0xe0, 0xdb, 0x08, 0xbf, + 0x13, 0xf1, 0x95, 0x8a, 0xdd, 0xa8, 0x10, 0xcb, 0x0e, 0xb1, 0x53, 0xe1, 0x25, 0xb0, 0xf7, 0xf6, 0x8c, 0xb2, 0x52, + 0x59, 0xc0, 0xa7, 0x9c, 0xd4, 0x6c, 0x72, 0xfc, 0x52, 0x44, 0x6a, 0x4e, 0xb9, 0x93, 0x20, 0xdd, 0x8d, 0xa3, 0xdd, + 0xd1, 0x6a, 0x6f, 0x26, 0x43, 0xe9, 0x64, 0x70, 0x19, 0xa7, 0x99, 0xcf, 0xd3, 0x6c, 0x84, 0x4c, 0x05, 0x04, 0xff, + 0x8d, 0x5c, 0x0c, 0xad, 0xff, 0xf4, 0xc5, 0x4f, 0xe3, 0x9f, 0xb2, 0xd1, 0x05, 0xfe, 0x40, 0x5a, 0xc7, 0xce, 0xc0, + 0x73, 0x76, 0x9a, 0xcd, 0xe5, 0x4f, 0xad, 0xe1, 0xdf, 0xfd, 0xe6, 0xaf, 0x27, 0xcd, 0x1f, 0x47, 0x68, 0xe9, 0xfc, + 0xd4, 0x1a, 0x0c, 0xd5, 0xd3, 0xf0, 0xef, 0xfd, 0x9f, 0xf2, 0xd1, 0x57, 0xb2, 0x70, 0x17, 0xa1, 0xd6, 0x04, 0x4f, + 0x38, 0x69, 0x35, 0x9b, 0xfd, 0xd6, 0x04, 0x4f, 0x39, 0x69, 0xc1, 0xbf, 0xd7, 0xe4, 0x1d, 0x9d, 0x3c, 0xbb, 0x99, + 0x39, 0x17, 0xfd, 0xe5, 0xee, 0xe2, 0x6f, 0x05, 0xf4, 0x3a, 0xfc, 0xfb, 0x4f, 0x3f, 0xe5, 0xf6, 0x83, 0x3e, 0x69, + 0x8d, 0x1a, 0xc8, 0x81, 0xd2, 0xaf, 0x88, 0xf8, 0xeb, 0x0c, 0xbc, 0xe1, 0xdf, 0x15, 0x14, 0xf6, 0x83, 0x9f, 0x2e, + 0x8e, 0xfb, 0x64, 0xb4, 0x74, 0xec, 0xe5, 0x03, 0xb4, 0x44, 0x68, 0xb9, 0x8b, 0x2e, 0xb0, 0x3d, 0xb1, 0x11, 0x1e, + 0x73, 0xd2, 0x7a, 0xd0, 0x9a, 0xe0, 0x73, 0x4e, 0x5a, 0x76, 0x6b, 0x82, 0xdf, 0x70, 0xd2, 0xfa, 0xbb, 0x33, 0xf0, + 0xa4, 0x9b, 0x6d, 0x29, 0x3c, 0x1c, 0x4b, 0x08, 0x72, 0xf8, 0x19, 0xf5, 0x97, 0x9c, 0xf1, 0x98, 0xa2, 0xdd, 0x16, + 0xc3, 0x1f, 0x05, 0x9a, 0x1c, 0x0e, 0x7e, 0x18, 0x30, 0xef, 0x9c, 0xc5, 0x39, 0x2c, 0x36, 0xd0, 0xcc, 0xae, 0x97, + 0x60, 0xe9, 0x0a, 0xc8, 0x3d, 0x8e, 0xaf, 0xfc, 0x78, 0x4e, 0x73, 0x8f, 0x16, 0x08, 0xc7, 0xe4, 0x23, 0x77, 0x3a, + 0x08, 0xbf, 0xe0, 0xf0, 0xa3, 0x8b, 0xf0, 0xa9, 0x0a, 0x64, 0xc2, 0x4e, 0x96, 0x44, 0x95, 0xa4, 0x52, 0x65, 0xb1, + 0x11, 0x9e, 0x6c, 0x78, 0xc9, 0x23, 0x70, 0x30, 0x20, 0x7c, 0x55, 0x0b, 0x7b, 0xe2, 0x1b, 0xa2, 0x49, 0xe2, 0x7d, + 0x46, 0xe9, 0x77, 0x7e, 0xfc, 0x91, 0x66, 0xce, 0x09, 0xee, 0x74, 0x1f, 0x63, 0xe1, 0x87, 0xde, 0xe9, 0xa0, 0x5e, + 0x19, 0xb3, 0x7a, 0xcb, 0x65, 0xa8, 0x00, 0xa4, 0x6c, 0xdd, 0x1d, 0x03, 0x2b, 0xbe, 0x93, 0xac, 0xf9, 0xac, 0x32, + 0xff, 0xda, 0x46, 0xf5, 0xf8, 0x28, 0x4b, 0xae, 0xfc, 0x98, 0x85, 0x16, 0xa7, 0xd3, 0x59, 0xec, 0x73, 0x6a, 0xa9, + 0xf9, 0x5a, 0x3e, 0x74, 0x64, 0x97, 0x3a, 0xc3, 0xcc, 0xb0, 0x39, 0x67, 0x3a, 0xf0, 0x04, 0x7b, 0xc5, 0x81, 0x28, + 0x95, 0xd2, 0x3b, 0x9e, 0x56, 0x41, 0xb0, 0xd5, 0x38, 0x5f, 0xb3, 0x03, 0xbe, 0xb0, 0x91, 0x90, 0xcf, 0x39, 0x86, + 0xa0, 0x25, 0x21, 0xdd, 0x81, 0x7d, 0x9c, 0x5f, 0x4d, 0xfa, 0x36, 0xc4, 0x68, 0x32, 0xf2, 0x41, 0xb8, 0x86, 0xa0, + 0x42, 0x44, 0xda, 0xbd, 0xe8, 0x98, 0xf6, 0xa2, 0x46, 0x43, 0x6b, 0xd1, 0x3e, 0x49, 0x86, 0x91, 0x6c, 0x1e, 0xe0, + 0x10, 0xcf, 0x49, 0xb3, 0x83, 0x67, 0xa4, 0x2d, 0x9a, 0xf4, 0x66, 0xc7, 0xbe, 0x1a, 0x66, 0x6f, 0xcf, 0xc9, 0xdc, + 0xd8, 0xcf, 0xf9, 0x0b, 0xb0, 0xf7, 0xc9, 0x0c, 0x87, 0x24, 0x73, 0xe9, 0x0d, 0x0d, 0x1c, 0x1f, 0xe1, 0x50, 0x71, + 0x1a, 0xd4, 0x43, 0x33, 0x62, 0x54, 0x03, 0x33, 0x82, 0x7c, 0x18, 0x84, 0xc3, 0xce, 0x88, 0x10, 0x62, 0xef, 0x34, + 0x9b, 0xf6, 0x20, 0x23, 0x13, 0xee, 0x41, 0x89, 0xa1, 0x2c, 0x93, 0x29, 0x14, 0x75, 0x8d, 0x22, 0xe7, 0x0d, 0x77, + 0x39, 0xcd, 0xb9, 0x03, 0xc5, 0xe0, 0x01, 0xc8, 0x35, 0x61, 0xdb, 0xc7, 0x2d, 0xbb, 0x01, 0xa5, 0x82, 0x38, 0x11, + 0xce, 0xc8, 0x35, 0xf2, 0xc2, 0xe1, 0xfe, 0xc8, 0x14, 0x00, 0xa2, 0x10, 0x06, 0xbf, 0x1e, 0x84, 0xc3, 0xb6, 0x18, + 0xbc, 0x6f, 0x0f, 0x9c, 0x8c, 0xe4, 0x52, 0x43, 0x1b, 0xe4, 0xde, 0x07, 0x31, 0x55, 0xe4, 0x29, 0xe0, 0xd4, 0xb8, + 0x73, 0xd2, 0xec, 0x7a, 0xce, 0xdc, 0x9c, 0x44, 0x13, 0x06, 0x53, 0x58, 0xc0, 0x01, 0x81, 0xfa, 0x38, 0x23, 0x30, + 0x62, 0xd5, 0xec, 0xda, 0x53, 0xcf, 0x0f, 0xec, 0x07, 0x83, 0x73, 0xee, 0x8d, 0xb9, 0x1c, 0xfe, 0x9c, 0x2f, 0x97, + 0xf0, 0xef, 0x98, 0x0f, 0x32, 0x72, 0x2d, 0x8a, 0x26, 0xaa, 0x68, 0x0a, 0x45, 0x1f, 0x3c, 0x00, 0x15, 0xe7, 0xa5, + 0x96, 0x25, 0xd7, 0x64, 0x4a, 0x04, 0xec, 0x7b, 0x7b, 0xc9, 0x30, 0x6a, 0x74, 0x46, 0xe0, 0xe4, 0xcf, 0x78, 0xfe, + 0x1d, 0xe3, 0x91, 0x63, 0xb7, 0xfa, 0x36, 0x1a, 0xd8, 0x16, 0x2c, 0x6d, 0x2f, 0x6d, 0x10, 0x89, 0x61, 0xbf, 0xf1, + 0x8a, 0x7b, 0xf3, 0x3e, 0x69, 0x0f, 0x1c, 0xa6, 0x5c, 0x7a, 0x08, 0xfb, 0x8a, 0x71, 0xb6, 0xf1, 0x1c, 0x35, 0x18, + 0x6f, 0xe8, 0xe7, 0x39, 0x6a, 0xdc, 0x36, 0xa6, 0xc8, 0xf3, 0x1b, 0xb7, 0x0d, 0x67, 0x4e, 0x08, 0x69, 0x76, 0xcb, + 0x66, 0x5a, 0xfc, 0x45, 0xc8, 0x9b, 0x6a, 0x7f, 0xe7, 0x50, 0x6c, 0x87, 0xb4, 0xe1, 0x24, 0x43, 0x3a, 0x5a, 0x2e, + 0xed, 0xe3, 0x41, 0xdf, 0x46, 0x0d, 0x47, 0x13, 0x5a, 0x4b, 0x53, 0x1a, 0x42, 0x98, 0x8d, 0x0a, 0x15, 0x4f, 0x7a, + 0x52, 0x8b, 0x1d, 0x2d, 0xaa, 0xcd, 0x6e, 0xf0, 0x00, 0x5a, 0x94, 0x86, 0x8c, 0x54, 0x58, 0x67, 0x30, 0x4d, 0x4d, + 0xcc, 0x29, 0x69, 0xe3, 0x8c, 0x68, 0xf7, 0x75, 0x44, 0x78, 0x45, 0xf0, 0x3e, 0xa9, 0xaa, 0xe3, 0x61, 0x80, 0xc3, + 0x11, 0x79, 0x2a, 0x0d, 0x92, 0x9e, 0x76, 0x8e, 0xd3, 0x98, 0x3c, 0x59, 0x89, 0xe2, 0x06, 0x10, 0x60, 0xb9, 0x71, + 0x83, 0x79, 0x96, 0xd1, 0x84, 0xbf, 0x4e, 0x43, 0xa5, 0xa7, 0xd1, 0x18, 0x4c, 0x25, 0x08, 0xcf, 0x62, 0x50, 0xd2, + 0xba, 0x7a, 0x67, 0xcc, 0xd7, 0x5e, 0xcf, 0xc8, 0x5c, 0xea, 0x4f, 0x22, 0x68, 0xdb, 0x9b, 0x29, 0xcb, 0xd8, 0x41, + 0x78, 0xae, 0xa2, 0xb9, 0x8e, 0xeb, 0xba, 0x33, 0x37, 0x80, 0xd7, 0x30, 0x40, 0x8e, 0x0a, 0xb1, 0x8f, 0x9c, 0x9c, + 0xdc, 0xb8, 0x09, 0xbd, 0x11, 0xa3, 0x3a, 0xa8, 0x92, 0xcc, 0x7a, 0x7b, 0x1d, 0x47, 0x3d, 0xc1, 0x6e, 0x72, 0x37, + 0x49, 0x43, 0x0a, 0xe8, 0x81, 0xf8, 0xbd, 0x2a, 0x8a, 0xfc, 0xdc, 0x0c, 0x52, 0x55, 0xf0, 0x0d, 0x4d, 0xff, 0xf5, + 0x0c, 0x9c, 0xbe, 0x42, 0xd9, 0x2a, 0x2b, 0x4b, 0x4f, 0x38, 0x42, 0x6c, 0xec, 0xcc, 0x5c, 0x08, 0xee, 0x09, 0x12, + 0x62, 0x60, 0xcb, 0xcd, 0x4c, 0xa2, 0xba, 0x2d, 0xfb, 0x9c, 0x92, 0x70, 0x98, 0x35, 0x1a, 0xc2, 0x11, 0x3d, 0x97, + 0x24, 0x31, 0x43, 0x78, 0x5a, 0xee, 0x2d, 0x5d, 0xef, 0x2d, 0xa9, 0x8f, 0xe4, 0x4c, 0xeb, 0x0e, 0xdd, 0x06, 0xe3, + 0x48, 0xf8, 0x0a, 0xb9, 0x73, 0x8b, 0xf0, 0x98, 0xb4, 0x9c, 0xa1, 0x3b, 0xf8, 0xf3, 0x08, 0x0d, 0x1c, 0xf7, 0x2b, + 0xd4, 0x92, 0x8c, 0x63, 0x8a, 0x7a, 0xbe, 0x1c, 0x62, 0x21, 0xa2, 0x98, 0x1d, 0x2c, 0x7c, 0x89, 0x5e, 0x8a, 0x13, + 0x7f, 0x4a, 0xbd, 0x31, 0xec, 0x71, 0x4d, 0x37, 0x6f, 0x31, 0xd0, 0x91, 0x37, 0x56, 0x9c, 0xc4, 0xb5, 0x07, 0xbf, + 0xf0, 0xf2, 0x69, 0x60, 0x0f, 0xbe, 0xae, 0x9e, 0xfe, 0x6c, 0x0f, 0xbe, 0xe5, 0xde, 0xb7, 0x85, 0x72, 0x77, 0xd7, + 0x86, 0x78, 0xa8, 0x87, 0x28, 0xe4, 0xc2, 0x18, 0x98, 0x9b, 0xa3, 0x75, 0x47, 0xc7, 0x0c, 0x15, 0x6c, 0x5c, 0xb2, + 0xa2, 0xdc, 0xe5, 0xfe, 0x04, 0x50, 0x6a, 0xac, 0x40, 0x6e, 0x46, 0xf7, 0xab, 0x09, 0x03, 0xa1, 0x68, 0x6a, 0x05, + 0x54, 0xce, 0xfa, 0x6d, 0xb4, 0xa8, 0xd5, 0x15, 0x1a, 0x53, 0x3d, 0x9a, 0x5e, 0x72, 0xe9, 0x29, 0x69, 0xf7, 0xa6, + 0xc7, 0xb3, 0xde, 0xb4, 0xd1, 0x40, 0xb9, 0x26, 0xac, 0xf9, 0x70, 0x3a, 0xc2, 0xaf, 0xc1, 0xab, 0x67, 0x52, 0x12, + 0xae, 0x4d, 0xaf, 0xab, 0xa6, 0xd7, 0x68, 0xa4, 0x05, 0xea, 0x19, 0x4d, 0x67, 0xb2, 0x69, 0x51, 0x48, 0x9c, 0xac, + 0x12, 0xda, 0x11, 0x12, 0x25, 0x90, 0x12, 0x45, 0x08, 0x39, 0xe3, 0x68, 0x63, 0xaf, 0xd0, 0x27, 0x34, 0x17, 0x3b, + 0x16, 0x98, 0xa7, 0x94, 0x11, 0x0e, 0x60, 0x01, 0x9a, 0x96, 0xae, 0xe0, 0x5b, 0x3c, 0x6f, 0x74, 0x04, 0x91, 0x37, + 0x3b, 0xbd, 0x7a, 0x5f, 0x8f, 0xaa, 0xbe, 0xf0, 0xbc, 0x41, 0x6e, 0x4b, 0x2c, 0x15, 0x69, 0xa3, 0x51, 0xd4, 0xe3, + 0x9d, 0x7a, 0xdf, 0xd6, 0x22, 0x10, 0x27, 0xab, 0xa9, 0x19, 0x5a, 0xbe, 0x56, 0x12, 0x95, 0xb9, 0x2c, 0x49, 0x68, + 0x06, 0x32, 0x94, 0x70, 0xcc, 0x8a, 0xa2, 0x94, 0xeb, 0x6f, 0x40, 0x88, 0x62, 0x4a, 0x12, 0xe0, 0x3b, 0xc2, 0xec, + 0xc2, 0x29, 0xce, 0x70, 0x24, 0xb8, 0x06, 0x21, 0xe4, 0x54, 0x27, 0xb5, 0x70, 0xc1, 0x81, 0x7c, 0xc2, 0x0c, 0x89, + 0x94, 0x13, 0xea, 0x9e, 0xef, 0x9e, 0xa6, 0x77, 0x9a, 0x64, 0x43, 0x36, 0xf2, 0x44, 0xb5, 0x58, 0xf1, 0xad, 0x80, + 0xbc, 0x73, 0x38, 0x2a, 0xc3, 0x23, 0xae, 0x60, 0x7f, 0x4f, 0x59, 0x46, 0x85, 0x06, 0xbe, 0xab, 0xcd, 0x3e, 0xbf, + 0xae, 0x3e, 0xfa, 0xa6, 0xf3, 0x06, 0x10, 0x19, 0x80, 0x6f, 0x27, 0x25, 0x6b, 0xd5, 0xce, 0x77, 0x4f, 0xde, 0x6c, + 0x32, 0x81, 0x97, 0x4b, 0x65, 0xfc, 0xfa, 0xa0, 0xd9, 0xe0, 0xa0, 0x82, 0xd4, 0x57, 0x3f, 0x3c, 0xc7, 0x17, 0x0a, + 0x52, 0xe0, 0x24, 0x40, 0x45, 0xe7, 0xbb, 0x27, 0xef, 0x9d, 0x44, 0xb8, 0x96, 0x10, 0x36, 0xa7, 0xed, 0x64, 0xc4, + 0x89, 0x08, 0x45, 0x72, 0xee, 0x25, 0xe3, 0xca, 0x0c, 0xf1, 0xed, 0x45, 0xe2, 0x25, 0xd8, 0x0f, 0x43, 0x36, 0x22, + 0xbe, 0xc2, 0x00, 0xf1, 0x11, 0xf6, 0x6b, 0x66, 0x19, 0x81, 0x05, 0x10, 0x63, 0x9d, 0xc1, 0x4a, 0xb8, 0x52, 0xf1, + 0x43, 0xd8, 0x17, 0xa3, 0xf2, 0x42, 0x8a, 0x8e, 0x9f, 0xd7, 0x72, 0xd3, 0x2a, 0x6b, 0xf4, 0x5b, 0xb0, 0x9c, 0xf4, + 0xc3, 0x6b, 0xd5, 0x75, 0x59, 0xf0, 0x54, 0x27, 0x91, 0x9d, 0xef, 0x9e, 0xbc, 0x52, 0x79, 0x64, 0x33, 0x5f, 0x73, + 0xfb, 0x35, 0x0b, 0xf3, 0xe4, 0x95, 0x5b, 0xbd, 0x15, 0x95, 0xcf, 0x77, 0x4f, 0x3e, 0x6c, 0xaa, 0x06, 0xe5, 0xc5, + 0xbc, 0x32, 0xf1, 0x05, 0x7c, 0x0b, 0x1a, 0x7b, 0x0b, 0x25, 0x1a, 0x3c, 0x56, 0x60, 0x21, 0x8e, 0xbc, 0xbc, 0x28, + 0x3d, 0x23, 0x4f, 0x71, 0x4a, 0x44, 0x1c, 0xa8, 0xbe, 0x6a, 0x4a, 0xc9, 0x63, 0x69, 0x72, 0x16, 0xa4, 0x33, 0xba, + 0x25, 0x38, 0x74, 0x82, 0x5c, 0x36, 0x85, 0x04, 0x1a, 0x01, 0x3a, 0xc3, 0x3b, 0x6d, 0xd4, 0xab, 0x0b, 0xaf, 0x54, + 0x10, 0x69, 0x56, 0x93, 0x2c, 0x38, 0x22, 0x6d, 0xec, 0x93, 0x36, 0x0e, 0x48, 0x3e, 0x6c, 0x4b, 0xf1, 0xd0, 0x0b, + 0xca, 0x7e, 0xa5, 0x90, 0x81, 0xdc, 0xb0, 0x40, 0xee, 0x56, 0x29, 0x7e, 0xc3, 0x5e, 0x20, 0x5c, 0x8f, 0x42, 0xa2, + 0x87, 0xd2, 0x68, 0x75, 0x32, 0x9c, 0x89, 0x8e, 0xcf, 0xd8, 0x65, 0x0c, 0xd9, 0x25, 0x30, 0x2b, 0xcc, 0x91, 0x57, + 0x56, 0xed, 0xa8, 0xaa, 0x81, 0x2b, 0xd6, 0x29, 0xc3, 0x81, 0x0b, 0x8c, 0x1b, 0x07, 0x2a, 0x19, 0x27, 0x5f, 0x6f, + 0xf2, 0x70, 0x6f, 0xcf, 0x91, 0x8d, 0xbe, 0xe3, 0x4e, 0xa6, 0xdf, 0x57, 0xa1, 0xbb, 0x6f, 0x25, 0xaf, 0x08, 0x91, + 0x80, 0xbf, 0xd1, 0xf0, 0x47, 0x05, 0xc4, 0xa1, 0x9d, 0xa0, 0x8e, 0x41, 0x0d, 0xbc, 0xd0, 0xf4, 0xea, 0xd3, 0x6f, + 0x34, 0xca, 0x30, 0x6d, 0x1d, 0x5b, 0x27, 0x38, 0x2d, 0xae, 0x9c, 0x32, 0xff, 0xa7, 0xbd, 0x96, 0x35, 0xa5, 0x41, + 0x40, 0xcc, 0xa4, 0x59, 0xa6, 0x27, 0x63, 0x6c, 0x09, 0x06, 0xf5, 0x5e, 0xa8, 0xc4, 0x05, 0x2c, 0x72, 0xac, 0x54, + 0x25, 0xcd, 0xce, 0xba, 0xc8, 0xd3, 0x95, 0x20, 0x2c, 0x05, 0x95, 0x1a, 0x85, 0x22, 0xef, 0x57, 0xeb, 0x99, 0x97, + 0x38, 0x47, 0xca, 0xc7, 0x25, 0xa0, 0x10, 0xc8, 0xea, 0x96, 0x48, 0x79, 0x4e, 0x26, 0xdb, 0x49, 0xfe, 0xc4, 0x20, + 0xf9, 0x27, 0x84, 0x1a, 0xe4, 0x2f, 0x3d, 0x1c, 0x6e, 0xaa, 0x5c, 0x0b, 0xb9, 0x7e, 0x75, 0x3a, 0x23, 0xe0, 0x43, + 0xab, 0x63, 0xb4, 0x16, 0x57, 0xdc, 0xc2, 0x50, 0xcc, 0x1d, 0x22, 0xbc, 0x90, 0x58, 0x07, 0x81, 0x9d, 0x2a, 0xaa, + 0x06, 0x43, 0x6f, 0x72, 0xe9, 0x99, 0x1c, 0xf0, 0xe4, 0xc3, 0xdd, 0x01, 0xd1, 0xd3, 0xd9, 0xfa, 0xce, 0x35, 0x32, + 0x40, 0x61, 0xd6, 0xc6, 0xc6, 0xad, 0xe7, 0x83, 0xc2, 0xf8, 0x65, 0x20, 0xbb, 0xce, 0x7c, 0x56, 0x36, 0xa1, 0x96, + 0x7f, 0x00, 0x6d, 0xa7, 0x23, 0x6a, 0x50, 0xa3, 0x5b, 0xe0, 0x47, 0x32, 0x0f, 0xd5, 0xcf, 0xb6, 0xb0, 0x8f, 0x13, + 0x51, 0x81, 0x26, 0xe1, 0xe6, 0xd7, 0x4f, 0x0a, 0x45, 0x26, 0x12, 0x34, 0xb4, 0x00, 0xfe, 0x27, 0x49, 0x1e, 0xe8, + 0x46, 0xc8, 0x05, 0x40, 0xd0, 0x44, 0xe0, 0xa9, 0x42, 0x98, 0x6d, 0x57, 0xce, 0xf7, 0xe7, 0x3b, 0x84, 0x4c, 0x2a, + 0xe7, 0xe3, 0xbb, 0x2a, 0xfb, 0x0a, 0xc8, 0x02, 0x79, 0x60, 0x3c, 0x96, 0x05, 0x32, 0x7e, 0x79, 0xaa, 0xab, 0x0b, + 0x03, 0xd2, 0xad, 0xf4, 0x6d, 0x23, 0xb6, 0x29, 0xbc, 0x72, 0xf2, 0xbd, 0x46, 0xc3, 0xca, 0xdb, 0x5d, 0x78, 0xfb, + 0x92, 0x0b, 0x18, 0xe1, 0xf9, 0xbd, 0xa8, 0xad, 0xfb, 0x2d, 0x3e, 0xae, 0xa6, 0xb0, 0xac, 0x2c, 0x8a, 0xcb, 0x92, + 0x9c, 0x66, 0xfc, 0x09, 0x1d, 0xa7, 0x19, 0x84, 0x2c, 0x4a, 0x9c, 0xa0, 0x62, 0xd7, 0x70, 0xdb, 0x89, 0xf9, 0x19, + 0x71, 0x82, 0x95, 0x09, 0x8a, 0x5f, 0x1f, 0x45, 0xd4, 0xfa, 0x7c, 0xb5, 0xd5, 0x64, 0x6f, 0xef, 0x5d, 0x85, 0x26, + 0x05, 0xa5, 0x80, 0xc2, 0x60, 0x5a, 0x52, 0xa5, 0x51, 0xa1, 0xdc, 0x5d, 0xa7, 0x74, 0x01, 0x68, 0x86, 0x61, 0xf2, + 0x9e, 0xe7, 0x84, 0x17, 0x93, 0x55, 0x16, 0xaf, 0x5c, 0x13, 0xcc, 0x34, 0x5b, 0x80, 0xc3, 0x83, 0xa1, 0x2d, 0x7d, + 0x45, 0x79, 0x95, 0x12, 0x5b, 0xc2, 0x70, 0x0a, 0xc8, 0x72, 0x84, 0x11, 0x62, 0x50, 0xe0, 0x46, 0xa3, 0xe4, 0x2d, + 0xe8, 0x95, 0x11, 0xce, 0xdd, 0x08, 0x92, 0x60, 0x6b, 0x5b, 0x16, 0x21, 0x2c, 0x33, 0x73, 0x8c, 0x5c, 0x82, 0x93, + 0xe7, 0x9b, 0x3c, 0xca, 0x9a, 0xa8, 0xa9, 0x90, 0x3a, 0x50, 0x23, 0x45, 0x65, 0x03, 0xf7, 0xca, 0x61, 0x4a, 0x71, + 0xd3, 0x71, 0x33, 0x60, 0xc0, 0x3f, 0x73, 0x47, 0xc6, 0xa2, 0x40, 0x66, 0x64, 0xee, 0xdc, 0xa9, 0x0d, 0xdd, 0xcb, + 0x44, 0x33, 0xac, 0x10, 0x17, 0x99, 0x68, 0xca, 0x44, 0x5c, 0xef, 0xb4, 0xe2, 0xa5, 0x57, 0x32, 0x8f, 0x9a, 0x6b, + 0x2e, 0x58, 0x65, 0x92, 0x18, 0xd3, 0xbf, 0x92, 0xa9, 0xd1, 0x65, 0x25, 0x50, 0xc3, 0xe8, 0xb5, 0xf5, 0x44, 0xac, + 0x01, 0x2d, 0x80, 0xbe, 0x16, 0xa7, 0xdc, 0x58, 0x51, 0xed, 0xc3, 0x16, 0x63, 0x1a, 0x52, 0xff, 0x1d, 0xe4, 0xba, + 0xac, 0xee, 0xf9, 0xe7, 0x42, 0x16, 0x32, 0x9c, 0xd7, 0x18, 0x7b, 0x2a, 0x18, 0x3b, 0x02, 0x3d, 0x4d, 0xa7, 0x7f, + 0x0f, 0x54, 0xca, 0x8b, 0xca, 0x5d, 0x74, 0x14, 0x89, 0xbd, 0x2e, 0xc3, 0xe5, 0xc6, 0xef, 0x95, 0xd5, 0xf0, 0x18, + 0x81, 0x34, 0x20, 0xac, 0x38, 0x7b, 0x8a, 0x70, 0xde, 0x68, 0xf4, 0xf2, 0x63, 0x5a, 0xb9, 0x48, 0x2a, 0x18, 0x19, + 0x44, 0x74, 0x81, 0xe0, 0x6b, 0x32, 0x14, 0x62, 0xfe, 0x3a, 0x3f, 0x3b, 0x07, 0x57, 0xfb, 0xc9, 0x3b, 0xc7, 0xe4, + 0x6a, 0x66, 0xdd, 0x32, 0x68, 0x0a, 0xf3, 0x71, 0xaa, 0x78, 0xcb, 0xdb, 0xbb, 0x33, 0x3c, 0x00, 0xee, 0x9d, 0x0e, + 0x86, 0x6c, 0x34, 0xd4, 0xe3, 0x92, 0x25, 0x94, 0xbb, 0xaf, 0x87, 0xaa, 0xc4, 0x44, 0x73, 0xb0, 0x1e, 0xaf, 0x4c, + 0x59, 0x4e, 0xf2, 0xa2, 0xc8, 0x69, 0x15, 0xdf, 0x5f, 0xc9, 0xc0, 0x14, 0xc2, 0x65, 0xdd, 0xd9, 0x7e, 0x3a, 0x23, + 0x1c, 0x1b, 0x84, 0xfa, 0x76, 0x5b, 0xe8, 0xa3, 0x02, 0x13, 0xf6, 0xb5, 0x12, 0x8a, 0xdf, 0x6e, 0x12, 0x8a, 0x38, + 0x55, 0x5b, 0x5e, 0x08, 0xc4, 0xce, 0x3d, 0x04, 0xa2, 0x72, 0xb2, 0x6b, 0x99, 0x08, 0xea, 0x48, 0x4d, 0x26, 0xd6, + 0x97, 0x94, 0xa4, 0x98, 0xa9, 0xd5, 0xe8, 0x77, 0x97, 0x4b, 0x36, 0x6c, 0x83, 0x13, 0xc9, 0xb6, 0xe1, 0x67, 0x47, + 0xfe, 0x34, 0x38, 0xb1, 0x74, 0x02, 0x3b, 0xac, 0x34, 0x59, 0x90, 0x0b, 0x69, 0xce, 0x8e, 0xc8, 0xca, 0x12, 0x34, + 0xad, 0x28, 0x48, 0x11, 0x38, 0x61, 0x65, 0x94, 0x09, 0x20, 0x16, 0xb2, 0x42, 0x19, 0x90, 0xce, 0xc6, 0xf4, 0x3f, + 0x6d, 0x5e, 0x7e, 0x5a, 0x13, 0xad, 0xc9, 0x15, 0xa9, 0x3e, 0xd4, 0x12, 0x0e, 0x14, 0x04, 0x4a, 0x3f, 0xdc, 0x11, + 0x26, 0x68, 0x25, 0xca, 0x91, 0x29, 0x87, 0x70, 0x1b, 0x5c, 0x68, 0x3b, 0xef, 0x64, 0x80, 0x77, 0x83, 0x34, 0xc1, + 0x99, 0x41, 0xd7, 0xcf, 0x09, 0xaf, 0xb1, 0x92, 0x88, 0x28, 0x4b, 0x09, 0x07, 0x82, 0x4c, 0x39, 0x49, 0x87, 0xed, + 0x11, 0x28, 0xa0, 0x3d, 0xff, 0x38, 0xad, 0x4c, 0x60, 0xbf, 0xd1, 0x40, 0x81, 0x1e, 0x35, 0x1a, 0xb2, 0x86, 0x3f, + 0xc2, 0x14, 0xfb, 0xd2, 0x30, 0x39, 0xdd, 0xdb, 0x73, 0x82, 0x6a, 0xdc, 0xa1, 0x3f, 0x42, 0x38, 0x5b, 0x2e, 0x1d, + 0x01, 0x56, 0x80, 0x96, 0xcb, 0xc0, 0x04, 0x4b, 0xbc, 0x86, 0x66, 0x93, 0x01, 0x27, 0x13, 0x21, 0x00, 0x27, 0x00, + 0x61, 0x83, 0x38, 0x81, 0x72, 0xee, 0x05, 0xe0, 0x8c, 0x6a, 0xa4, 0x43, 0xbf, 0xd1, 0x19, 0x19, 0x8c, 0x6b, 0xe8, + 0x8f, 0x48, 0x50, 0x40, 0x72, 0x6b, 0xae, 0x44, 0xe4, 0xcf, 0x20, 0xca, 0x7e, 0x16, 0x92, 0x45, 0x76, 0x68, 0xae, + 0xc6, 0xaa, 0x33, 0xa0, 0xa4, 0x28, 0xb5, 0xac, 0xba, 0x5e, 0x2d, 0x0b, 0xa2, 0xac, 0x84, 0x55, 0x2c, 0x78, 0x00, + 0x96, 0x7d, 0x49, 0xe6, 0xbf, 0xf0, 0x32, 0xcd, 0xfa, 0xdb, 0x8d, 0xc9, 0xd5, 0xae, 0xeb, 0xfa, 0xd9, 0x44, 0x44, + 0x32, 0x74, 0x14, 0x56, 0x10, 0xff, 0xbe, 0x02, 0xd3, 0x18, 0x78, 0x58, 0x8e, 0x35, 0x22, 0x12, 0x7c, 0xad, 0xda, + 0xe8, 0x13, 0x25, 0xbf, 0x6e, 0xf4, 0x32, 0x48, 0x48, 0xbe, 0xfe, 0xad, 0x90, 0x1c, 0x28, 0x48, 0x24, 0x79, 0xac, + 0xe0, 0x6c, 0x0b, 0x2e, 0x7e, 0xe5, 0x2b, 0x38, 0xdb, 0x8e, 0xdb, 0x92, 0x21, 0x6c, 0x83, 0xcf, 0xe0, 0x0d, 0x12, + 0xd0, 0xaa, 0xc0, 0x80, 0xf2, 0x70, 0x55, 0xf7, 0x92, 0xac, 0x14, 0x84, 0x29, 0x27, 0x0e, 0xab, 0x6f, 0x80, 0x4a, + 0x1b, 0x35, 0x0c, 0x5f, 0xe6, 0x4d, 0x90, 0xe1, 0x12, 0xa8, 0xa7, 0xae, 0x00, 0x39, 0x29, 0x5f, 0x3b, 0xa4, 0x22, + 0xec, 0x48, 0x25, 0xce, 0x0d, 0xfc, 0x19, 0x9f, 0x67, 0xa0, 0x4a, 0xe5, 0xfa, 0x37, 0x14, 0xc3, 0x59, 0x10, 0x51, + 0x06, 0x3f, 0xa0, 0x60, 0xe6, 0xe7, 0x39, 0xbb, 0x92, 0x65, 0xea, 0x37, 0xce, 0x88, 0x26, 0xe5, 0x5c, 0xea, 0x84, + 0x29, 0xea, 0xa5, 0x8a, 0x4e, 0xeb, 0x68, 0x7b, 0x76, 0x45, 0x13, 0xfe, 0x92, 0xe5, 0x9c, 0x26, 0x30, 0xfd, 0x8a, + 0xe2, 0x60, 0x46, 0x39, 0x82, 0x0d, 0x5b, 0x6b, 0xe5, 0x87, 0xe1, 0x9d, 0x4d, 0x78, 0x5d, 0x07, 0x8a, 0xfc, 0x24, + 0x8c, 0xe5, 0x20, 0x66, 0x42, 0xa3, 0x4e, 0xe2, 0x2c, 0x6b, 0x9a, 0xf9, 0x34, 0x95, 0xb2, 0x21, 0xb8, 0xbb, 0xc3, + 0x88, 0x96, 0x04, 0x5a, 0x7a, 0xde, 0xa9, 0xb5, 0x40, 0xc0, 0x7b, 0xcb, 0x22, 0x98, 0x33, 0xc1, 0xdc, 0xe0, 0xa8, + 0x6e, 0x1d, 0x4e, 0x4d, 0x37, 0xdf, 0x6d, 0x3c, 0xd8, 0xb6, 0x49, 0x38, 0x08, 0x3a, 0x79, 0xb8, 0xdd, 0xb2, 0x7a, + 0xa5, 0x25, 0x87, 0x96, 0x16, 0xec, 0xbe, 0x8c, 0x19, 0x2d, 0x34, 0x79, 0x21, 0xbd, 0x15, 0x77, 0x39, 0xf9, 0x05, + 0x4e, 0x0e, 0x3d, 0xe7, 0xd3, 0x78, 0xe5, 0x80, 0x4c, 0x6f, 0xb7, 0xd4, 0xfe, 0x77, 0xb9, 0xf3, 0x04, 0xbf, 0x82, + 0xb0, 0xee, 0x37, 0x55, 0xf5, 0xf5, 0x70, 0xee, 0x37, 0x15, 0x82, 0xbe, 0xf1, 0xd6, 0xea, 0x19, 0x61, 0xdc, 0xae, + 0x7b, 0xe4, 0xb6, 0x6d, 0xad, 0x2d, 0xfd, 0x28, 0x83, 0x48, 0x32, 0xd5, 0x52, 0xec, 0x07, 0x5c, 0x25, 0xaa, 0x41, + 0xc2, 0x5c, 0xdd, 0x42, 0xa2, 0x2a, 0xc5, 0x50, 0xea, 0xf0, 0xdb, 0x96, 0x47, 0xc9, 0x98, 0x54, 0xda, 0x19, 0x6f, + 0xfd, 0x8c, 0xef, 0xc2, 0x2e, 0xcb, 0xd6, 0x4e, 0xe3, 0x45, 0x04, 0x3c, 0x68, 0xf7, 0x1b, 0xc2, 0x30, 0xb6, 0x73, + 0x79, 0x18, 0xc8, 0xec, 0x9f, 0x64, 0x5a, 0x77, 0xab, 0x5b, 0x19, 0xaf, 0xc1, 0xfe, 0x47, 0x38, 0xd2, 0x47, 0xe4, + 0xa8, 0xe2, 0xc0, 0xd4, 0x5b, 0x14, 0xa5, 0x53, 0x20, 0x93, 0xca, 0x5b, 0x82, 0x70, 0x56, 0x88, 0xf0, 0xf6, 0xf7, + 0xf8, 0x07, 0xc5, 0x12, 0xcf, 0x4b, 0x8e, 0xf3, 0xec, 0xbe, 0x1c, 0x51, 0x82, 0x5f, 0x46, 0xef, 0x81, 0x8e, 0x05, + 0x85, 0x16, 0x9a, 0x8a, 0x9e, 0xa6, 0x6a, 0x22, 0x5b, 0xf3, 0x52, 0x31, 0x2d, 0x33, 0x6a, 0xc4, 0x30, 0x1b, 0x12, + 0x39, 0xb5, 0x95, 0xcd, 0xcb, 0x5d, 0x55, 0x1b, 0x17, 0x6d, 0xc1, 0x62, 0x15, 0x58, 0x5c, 0x2e, 0x9d, 0x3a, 0xaa, + 0x09, 0x33, 0xe2, 0x18, 0x08, 0x33, 0x23, 0xa1, 0xa2, 0xa6, 0x59, 0xcb, 0x36, 0x0e, 0x5a, 0xcd, 0x27, 0xd2, 0xba, + 0x79, 0x0d, 0x0e, 0xd3, 0x85, 0x20, 0x9b, 0x9b, 0x3e, 0x05, 0x2c, 0x67, 0x57, 0x0e, 0x64, 0x60, 0xe8, 0xc7, 0x32, + 0x57, 0xb6, 0x4a, 0x6a, 0xdd, 0x80, 0x5f, 0x74, 0x47, 0xb6, 0xac, 0x42, 0xdd, 0xfa, 0x7b, 0x23, 0xd7, 0xe8, 0x69, + 0xba, 0x2d, 0xd7, 0xa8, 0xa6, 0xed, 0xee, 0xb4, 0xd1, 0xdd, 0x79, 0xa9, 0x72, 0xac, 0xcd, 0x55, 0x7e, 0xc3, 0x70, + 0x1d, 0xa0, 0x4d, 0x89, 0x66, 0xcd, 0x55, 0x4e, 0x8b, 0xe2, 0xbc, 0x3c, 0x4d, 0x20, 0x52, 0x77, 0xce, 0x25, 0xfd, + 0x2b, 0xab, 0x51, 0x1c, 0xca, 0x75, 0xbe, 0x27, 0x93, 0x38, 0xbd, 0xf4, 0xe3, 0xf7, 0x30, 0x5e, 0xf5, 0xf2, 0xf9, + 0x6d, 0x98, 0xf9, 0x9c, 0x2a, 0xee, 0x52, 0xc1, 0xf0, 0xbd, 0x01, 0xc3, 0xf7, 0x92, 0x4f, 0x57, 0xed, 0xf1, 0xe2, + 0x65, 0xd9, 0x81, 0x77, 0x5e, 0x68, 0x96, 0x71, 0xcb, 0x37, 0x8f, 0xb1, 0xca, 0xc2, 0x6e, 0x4b, 0x16, 0x76, 0xcb, + 0x9d, 0xd5, 0xae, 0x1c, 0xe7, 0x87, 0xcd, 0xbd, 0xac, 0x73, 0xb6, 0x1f, 0xaa, 0x8d, 0xff, 0x83, 0x77, 0x67, 0x1b, + 0x83, 0xcb, 0xed, 0xbb, 0xfb, 0x22, 0x59, 0x45, 0x82, 0xfc, 0x12, 0x92, 0x0e, 0x38, 0xe9, 0x1b, 0x87, 0x0e, 0x2a, + 0x39, 0xa5, 0xf3, 0x80, 0x9c, 0x60, 0x9e, 0xf3, 0x74, 0xaa, 0xfa, 0xcc, 0xd5, 0x49, 0x23, 0xf1, 0x12, 0x5c, 0xd1, + 0x22, 0xd6, 0xee, 0xd5, 0xcf, 0x72, 0x2d, 0x3e, 0xb2, 0x24, 0xf4, 0x72, 0xac, 0xa4, 0x48, 0xee, 0xa5, 0x05, 0xd1, + 0xd9, 0xc6, 0xeb, 0xef, 0xf0, 0x98, 0x25, 0x2c, 0x8f, 0x68, 0xe6, 0x64, 0x68, 0xb1, 0x6d, 0xb0, 0x0c, 0x02, 0x32, + 0x72, 0x30, 0xfc, 0xd7, 0xea, 0xd4, 0x9f, 0x0b, 0xbd, 0x81, 0x1f, 0x68, 0x4a, 0x79, 0x94, 0x86, 0x90, 0x96, 0xe2, + 0x86, 0xe5, 0xa1, 0xa6, 0xbd, 0xbd, 0x1d, 0xc7, 0x16, 0x6e, 0x09, 0x38, 0x00, 0x6e, 0xbe, 0x41, 0x83, 0x05, 0x9c, + 0xcf, 0xa9, 0x86, 0xa6, 0x68, 0x41, 0x57, 0x8f, 0xb2, 0x70, 0xf7, 0x23, 0xbd, 0xc5, 0x09, 0x2a, 0x0a, 0x4f, 0x42, + 0x6d, 0x8f, 0x19, 0x8d, 0x43, 0x1b, 0x7f, 0xa4, 0xb7, 0x5e, 0x79, 0x66, 0x5c, 0x1c, 0x71, 0x16, 0x0b, 0x68, 0xa7, + 0xd7, 0x89, 0x8d, 0xab, 0x41, 0xbc, 0x45, 0x81, 0xd3, 0x8c, 0x4d, 0x80, 0x38, 0xbf, 0xa1, 0xb7, 0x9e, 0xec, 0x8f, + 0x19, 0xe7, 0xf5, 0xd0, 0x42, 0xa3, 0xde, 0x35, 0x8a, 0xcd, 0x65, 0x50, 0x06, 0xc5, 0x50, 0xb4, 0x1d, 0x91, 0x5a, + 0xbd, 0xca, 0x3c, 0x44, 0xa8, 0xb8, 0xef, 0x54, 0xf0, 0x37, 0xa6, 0x68, 0xe3, 0xb5, 0xcc, 0xd7, 0x95, 0x46, 0x14, + 0x1a, 0x54, 0x99, 0x1e, 0xbb, 0x4e, 0xa2, 0x77, 0x9d, 0x3a, 0x84, 0x60, 0x38, 0xc2, 0xbe, 0xe1, 0xaa, 0x53, 0xef, + 0xaf, 0x32, 0x21, 0xa4, 0x8a, 0x24, 0xbd, 0xa8, 0xda, 0x59, 0xbb, 0x0e, 0xe0, 0x1d, 0x12, 0x5a, 0x7c, 0x71, 0x26, + 0xb3, 0xd0, 0xd9, 0xa2, 0x7f, 0xe3, 0xc4, 0x59, 0xe8, 0x29, 0x78, 0x89, 0x89, 0x45, 0x5e, 0x00, 0x15, 0x2a, 0xfa, + 0x92, 0x09, 0x80, 0x6c, 0xec, 0xb0, 0x35, 0xa9, 0x99, 0x0a, 0xa9, 0xe9, 0x1a, 0x18, 0xdf, 0x22, 0x25, 0xa9, 0x40, + 0x86, 0x50, 0x22, 0x85, 0xd0, 0x53, 0x8b, 0xab, 0x48, 0xc8, 0x5c, 0xd0, 0xf2, 0x04, 0x9d, 0x5c, 0xf3, 0xb4, 0x06, + 0x96, 0x23, 0xfa, 0x41, 0x85, 0x07, 0x53, 0xa2, 0xb2, 0x42, 0x51, 0x1e, 0xcd, 0xd6, 0xe9, 0xad, 0x4e, 0xe6, 0xea, + 0x69, 0x11, 0x8d, 0x12, 0x27, 0x42, 0x8b, 0xc4, 0x89, 0x70, 0x0a, 0xe9, 0x88, 0x59, 0x51, 0xc2, 0x4f, 0xcd, 0xd5, + 0xa8, 0x25, 0x2b, 0x6f, 0x3e, 0xe5, 0x07, 0xca, 0x3c, 0x87, 0x14, 0x4d, 0x9c, 0x68, 0x9e, 0x92, 0x38, 0xe2, 0xb8, + 0x9d, 0xb1, 0x6c, 0xdf, 0xab, 0x04, 0x1d, 0x05, 0xd8, 0xdf, 0xb8, 0xb3, 0x30, 0x66, 0x61, 0x9e, 0xe8, 0x56, 0xa7, + 0xfe, 0x54, 0xb0, 0xaf, 0xca, 0x21, 0x75, 0x72, 0xb2, 0x22, 0x71, 0xee, 0x4e, 0xb5, 0xfc, 0x65, 0x4e, 0xb3, 0xdb, + 0x33, 0x0a, 0xa9, 0xce, 0x29, 0x1c, 0xf8, 0xad, 0x96, 0xa1, 0xca, 0x53, 0x1f, 0xa4, 0x42, 0x59, 0x29, 0xea, 0xe7, + 0x00, 0x57, 0x4f, 0x09, 0x16, 0x22, 0xda, 0x68, 0x38, 0x62, 0xe4, 0x6e, 0xa1, 0x5b, 0xcf, 0x4f, 0xd2, 0x1e, 0x03, + 0xff, 0x5a, 0x85, 0x69, 0x15, 0x2c, 0xc0, 0x99, 0x79, 0x26, 0x75, 0x98, 0x8f, 0x56, 0xbd, 0x32, 0x50, 0x04, 0xe1, + 0xbb, 0x74, 0xfb, 0x54, 0x37, 0x25, 0xcd, 0x6e, 0x9f, 0x6a, 0x2d, 0xe8, 0x27, 0x12, 0x7e, 0xb0, 0x1a, 0xa7, 0x3c, + 0xc1, 0xcc, 0x8a, 0x02, 0x15, 0x00, 0xde, 0x5f, 0x7a, 0x8e, 0xf3, 0x17, 0x95, 0x32, 0xe8, 0x42, 0x2c, 0xf6, 0x2c, + 0x4e, 0x35, 0x13, 0xaf, 0xc6, 0xff, 0xcb, 0xda, 0xf8, 0x7f, 0x31, 0x4e, 0x9d, 0x82, 0x69, 0x34, 0x49, 0x68, 0xa8, + 0x59, 0x27, 0x92, 0x04, 0x28, 0xf4, 0xb6, 0x8c, 0x93, 0x8f, 0x17, 0x1e, 0x68, 0x5c, 0x8b, 0x71, 0x9a, 0xf0, 0xe6, + 0xd8, 0x9f, 0xb2, 0xf8, 0xd6, 0x9b, 0xb3, 0xe6, 0x34, 0x4d, 0xd2, 0x7c, 0xe6, 0x07, 0x14, 0xe7, 0xb7, 0x39, 0xa7, + 0xd3, 0xe6, 0x9c, 0xe1, 0xe7, 0x34, 0xbe, 0xa2, 0x9c, 0x05, 0x3e, 0xb6, 0x4f, 0x32, 0xe6, 0xc7, 0xd6, 0x6b, 0x3f, + 0xcb, 0xd2, 0x6b, 0x1b, 0xbf, 0x4b, 0x2f, 0x53, 0x9e, 0xe2, 0x37, 0x37, 0xb7, 0x13, 0x9a, 0xe0, 0x0f, 0x97, 0xf3, + 0x84, 0xcf, 0x71, 0xee, 0x27, 0x79, 0x33, 0xa7, 0x19, 0x1b, 0xf7, 0x82, 0x34, 0x4e, 0xb3, 0x26, 0x64, 0x6c, 0x4f, + 0xa9, 0x17, 0xb3, 0x49, 0xc4, 0xad, 0xd0, 0xcf, 0x3e, 0xf6, 0x9a, 0xcd, 0x59, 0xc6, 0xa6, 0x7e, 0x76, 0xdb, 0x14, + 0x35, 0xbc, 0x2f, 0xdb, 0xfb, 0xfe, 0xe3, 0xf1, 0x41, 0x8f, 0x67, 0x7e, 0x92, 0x33, 0x58, 0x26, 0xcf, 0x8f, 0x63, + 0x6b, 0xff, 0xb0, 0x3d, 0xcd, 0x77, 0x64, 0x20, 0xcf, 0x4f, 0x78, 0x71, 0x81, 0xdf, 0x03, 0xdc, 0xee, 0x25, 0x4f, + 0xf0, 0xe5, 0x9c, 0xf3, 0x34, 0x59, 0x04, 0xf3, 0x2c, 0x4f, 0x33, 0x6f, 0x96, 0xb2, 0x84, 0xd3, 0xac, 0x77, 0x99, + 0x66, 0x21, 0xcd, 0x9a, 0x99, 0x1f, 0xb2, 0x79, 0xee, 0x1d, 0xcc, 0x6e, 0x7a, 0xa0, 0x59, 0x4c, 0xb2, 0x74, 0x9e, + 0x84, 0x6a, 0x2c, 0x96, 0x44, 0x34, 0x63, 0xdc, 0x7c, 0x21, 0x2e, 0x32, 0xf1, 0x62, 0x96, 0x50, 0x3f, 0x6b, 0x4e, + 0xa0, 0x31, 0x98, 0x45, 0xed, 0x90, 0x4e, 0x70, 0x36, 0xb9, 0xf4, 0x9d, 0x4e, 0xf7, 0x11, 0xd6, 0xff, 0xbb, 0x87, + 0xc8, 0x6a, 0x6f, 0x2e, 0xee, 0xb4, 0xdb, 0x7f, 0x42, 0xbd, 0x95, 0x51, 0x04, 0x40, 0x5e, 0x67, 0x76, 0x63, 0xe5, + 0x29, 0x64, 0xb4, 0x6d, 0x6a, 0xd9, 0x9b, 0xf9, 0x21, 0xe4, 0x03, 0x7b, 0xdd, 0xd9, 0x4d, 0x01, 0xb3, 0xf3, 0x64, + 0x8a, 0xa9, 0x9a, 0xa4, 0x7a, 0x5a, 0xfc, 0x56, 0x88, 0x8f, 0x36, 0x43, 0xdc, 0xd5, 0x10, 0x57, 0x58, 0x6f, 0x86, + 0xf3, 0x4c, 0xc4, 0x56, 0xbd, 0x4e, 0x2e, 0x01, 0x89, 0xd2, 0x2b, 0x9a, 0x69, 0x38, 0xc4, 0xc3, 0x6f, 0x06, 0xa3, + 0xbb, 0x19, 0x8c, 0xa3, 0x4f, 0x81, 0x91, 0x25, 0xe1, 0xa2, 0xbe, 0xae, 0x9d, 0x8c, 0x4e, 0x7b, 0x11, 0x05, 0x7a, + 0xf2, 0xba, 0xf0, 0xfb, 0x9a, 0x85, 0x3c, 0x92, 0x3f, 0x05, 0x39, 0x5f, 0xcb, 0x77, 0x87, 0xed, 0xb6, 0x7c, 0xce, + 0xd9, 0xaf, 0xd4, 0xeb, 0xb8, 0x50, 0xa1, 0xb8, 0xc0, 0x3f, 0x94, 0xa7, 0x79, 0xeb, 0xdc, 0x13, 0xff, 0xc5, 0x3c, + 0xe6, 0x6b, 0xa4, 0x28, 0x56, 0x87, 0xa2, 0x71, 0xaa, 0x65, 0xa5, 0x14, 0x3e, 0xe0, 0xb6, 0x13, 0xdc, 0x91, 0xb0, + 0x7e, 0x79, 0x8c, 0x93, 0x0d, 0xfe, 0x22, 0xf3, 0x2e, 0x3c, 0x88, 0x74, 0x18, 0xa9, 0x86, 0x59, 0x2f, 0xed, 0x93, + 0x76, 0x2f, 0x6d, 0x36, 0x91, 0x93, 0x91, 0x64, 0x98, 0xaa, 0xe4, 0x3c, 0x87, 0x0d, 0xa4, 0xb1, 0x9d, 0x23, 0x2f, + 0x83, 0xb3, 0xa6, 0xcb, 0x65, 0x15, 0x06, 0x60, 0xe2, 0xb4, 0xc6, 0x0f, 0x5c, 0x55, 0xc0, 0xb9, 0xc1, 0xc9, 0x7d, + 0x7d, 0xbd, 0x4b, 0xa2, 0x79, 0x45, 0x9c, 0x06, 0x02, 0x73, 0xee, 0xcc, 0xe7, 0x11, 0x78, 0x29, 0x4a, 0xf1, 0x53, + 0xa5, 0x30, 0xd9, 0x2d, 0x1b, 0x0d, 0x92, 0x32, 0xbf, 0x0d, 0xf2, 0xf8, 0x92, 0x02, 0x7a, 0xb9, 0xe4, 0x04, 0x7a, + 0xac, 0xfa, 0xff, 0xc0, 0x0d, 0x49, 0x9d, 0xb8, 0x2c, 0x09, 0xe2, 0x79, 0x48, 0x73, 0xd1, 0x43, 0x25, 0xce, 0xe1, + 0x6e, 0x88, 0xb2, 0x96, 0x68, 0x02, 0xbd, 0x8b, 0x6c, 0x1e, 0xa8, 0x08, 0xb7, 0xa8, 0x94, 0xcf, 0x4d, 0xf1, 0x5c, + 0xb5, 0x7d, 0x5d, 0x25, 0x8b, 0x42, 0x4b, 0x77, 0x9e, 0xb0, 0x5f, 0xe6, 0xf4, 0x9c, 0x85, 0xc6, 0xc9, 0x5d, 0x9a, + 0x04, 0x69, 0x48, 0x3f, 0xbc, 0x7b, 0x01, 0xd9, 0xee, 0x69, 0x02, 0x24, 0x96, 0x48, 0x7f, 0x17, 0xce, 0x49, 0xe2, + 0x86, 0xf4, 0x8a, 0x05, 0x74, 0x70, 0xb1, 0xbb, 0xd8, 0x58, 0x51, 0xbe, 0x46, 0x45, 0xeb, 0x02, 0xfc, 0x77, 0x12, + 0xca, 0x8b, 0xdd, 0xc5, 0x25, 0x2f, 0x5a, 0xbb, 0x8b, 0xc4, 0x0d, 0xd3, 0xa9, 0xcf, 0x12, 0xf8, 0x9d, 0x17, 0xbb, + 0x0b, 0x06, 0x3f, 0x78, 0x71, 0x51, 0x54, 0x89, 0xa2, 0x25, 0x44, 0xc6, 0x14, 0x14, 0xee, 0x3a, 0xc8, 0xfd, 0x39, + 0x65, 0x89, 0x28, 0xba, 0xab, 0x67, 0xaa, 0x7b, 0x05, 0x24, 0xff, 0x4a, 0xa4, 0xc1, 0xac, 0xcd, 0xe5, 0xf3, 0xfb, + 0x9a, 0xcb, 0x34, 0xe1, 0x4c, 0xa4, 0xc5, 0xeb, 0x70, 0x4e, 0xe4, 0xe7, 0xe7, 0x81, 0x3c, 0x89, 0x9a, 0x57, 0xa7, + 0x2e, 0x7c, 0x81, 0x58, 0x69, 0x01, 0x53, 0x69, 0xec, 0xd3, 0xed, 0x47, 0x25, 0x93, 0xbb, 0x8c, 0xbf, 0x92, 0xaa, + 0xf2, 0x74, 0x9e, 0x05, 0x10, 0xeb, 0x55, 0x2a, 0xc5, 0xba, 0x57, 0xcc, 0x16, 0xfa, 0x9b, 0x8d, 0xb9, 0x91, 0x64, + 0xcb, 0xe1, 0x4c, 0x5f, 0x75, 0x6d, 0x07, 0x15, 0xf1, 0x44, 0x58, 0x33, 0x26, 0x56, 0xef, 0x9c, 0x85, 0x10, 0x78, + 0x61, 0xa1, 0x4a, 0x58, 0xac, 0x4d, 0x12, 0x54, 0xa4, 0x50, 0x64, 0x90, 0xc2, 0x65, 0x3b, 0x59, 0xb5, 0x0a, 0x84, + 0x10, 0x19, 0xd7, 0x03, 0xe1, 0xdb, 0xec, 0xec, 0xed, 0xe5, 0xd5, 0x89, 0x36, 0xa6, 0x70, 0xbe, 0x5c, 0x72, 0xea, + 0xe4, 0xf2, 0xd4, 0x4d, 0x44, 0x40, 0x19, 0x63, 0x58, 0xbe, 0xf1, 0x32, 0x5c, 0xf6, 0xe4, 0xe5, 0x45, 0x2f, 0x12, + 0x48, 0x94, 0x28, 0x23, 0x1a, 0xa9, 0x27, 0x5a, 0x25, 0xc3, 0xe6, 0xeb, 0xf2, 0x20, 0x7f, 0x0d, 0xeb, 0xed, 0x95, + 0xc5, 0x91, 0x56, 0x55, 0xb4, 0x5a, 0x9a, 0xa7, 0x19, 0x77, 0x1c, 0x1f, 0x07, 0x88, 0xf4, 0x7d, 0x31, 0xfb, 0x63, + 0x99, 0xef, 0x31, 0x68, 0x76, 0xbc, 0x4e, 0xe9, 0x0f, 0xa9, 0x9d, 0xaf, 0x96, 0xd9, 0x66, 0xea, 0x8c, 0x2e, 0xe0, + 0x09, 0x97, 0xbf, 0x15, 0xfa, 0xaa, 0x02, 0x39, 0xbb, 0xea, 0xb9, 0x9c, 0x24, 0x56, 0x0c, 0x4d, 0x2a, 0x03, 0x4e, + 0x0d, 0xaa, 0x61, 0x3a, 0xc2, 0x6c, 0xcb, 0xd8, 0xa8, 0xa8, 0x10, 0x51, 0x6e, 0xee, 0x0b, 0xa9, 0x04, 0x9d, 0x1b, + 0xd4, 0x7d, 0xc1, 0xb4, 0x1b, 0xaf, 0x4e, 0x77, 0x85, 0x42, 0x91, 0xc1, 0x19, 0x36, 0x55, 0x93, 0xb0, 0xdc, 0x92, + 0x64, 0x23, 0xf1, 0xba, 0xf2, 0x91, 0x66, 0xa4, 0x0a, 0x28, 0xae, 0x75, 0x00, 0xc9, 0x90, 0x9b, 0x00, 0x03, 0xc7, + 0x40, 0xce, 0xf5, 0x14, 0x80, 0xc7, 0x8c, 0x29, 0x9c, 0x54, 0x52, 0x1c, 0x07, 0x2f, 0xa4, 0x76, 0xef, 0xd9, 0x6f, + 0xdf, 0x9c, 0xbd, 0xb7, 0x31, 0x5c, 0x75, 0x46, 0xb3, 0xdc, 0x5b, 0xd8, 0x2a, 0xc7, 0xb0, 0x09, 0xf1, 0x6a, 0xdb, + 0xb3, 0xfd, 0x19, 0x1c, 0xda, 0x16, 0x4c, 0xb5, 0x75, 0xd3, 0xbc, 0xbe, 0xbe, 0x6e, 0xc2, 0x89, 0xb2, 0xe6, 0x3c, + 0x8b, 0x25, 0xbb, 0x09, 0xed, 0xa2, 0x40, 0x2e, 0x8f, 0x68, 0x52, 0x5e, 0x86, 0x94, 0xc6, 0xd4, 0x8d, 0xd3, 0x89, + 0x3c, 0x0f, 0xbb, 0xea, 0x9e, 0x88, 0x2f, 0x8e, 0xc5, 0x25, 0x5f, 0xfd, 0x63, 0x2e, 0xaf, 0x57, 0xe3, 0x19, 0xfc, + 0xec, 0x43, 0xf0, 0xea, 0xb8, 0xc5, 0x23, 0xf1, 0x70, 0x06, 0xbb, 0x49, 0x3c, 0xed, 0x2e, 0xd6, 0xa8, 0x6e, 0x00, + 0x5d, 0x44, 0x7d, 0x39, 0xb5, 0x5c, 0xd4, 0xba, 0xf0, 0xe2, 0x8b, 0x8b, 0xe2, 0xb8, 0x05, 0x7d, 0xb5, 0x74, 0xbf, + 0x97, 0x69, 0x78, 0xab, 0xdb, 0x97, 0x94, 0x08, 0x97, 0x3d, 0x25, 0xa4, 0x0f, 0x5d, 0xc0, 0xb8, 0x61, 0x5f, 0xe0, + 0x4c, 0xb1, 0xd0, 0x61, 0xf5, 0x50, 0x8c, 0x2c, 0x60, 0x98, 0x05, 0x94, 0x00, 0xb9, 0x41, 0xe7, 0x61, 0xd9, 0x40, + 0xec, 0x76, 0x59, 0xb4, 0x0d, 0x40, 0x59, 0xb1, 0xda, 0x3f, 0xd2, 0xcd, 0x5d, 0x91, 0x85, 0x86, 0x38, 0x34, 0x81, + 0xbf, 0x40, 0xf0, 0xaf, 0x00, 0xfc, 0xb8, 0x25, 0xd1, 0x74, 0x61, 0x5e, 0x3b, 0x23, 0x2f, 0x84, 0x28, 0x91, 0x39, + 0xcc, 0x38, 0x7e, 0xcf, 0xf1, 0xc7, 0x0b, 0x51, 0x55, 0x6b, 0x09, 0xa0, 0xbe, 0x82, 0x36, 0xd5, 0xd6, 0xea, 0x60, + 0x90, 0xc6, 0xb1, 0x3f, 0xcb, 0xa9, 0xa7, 0x7f, 0x28, 0x85, 0x01, 0xf4, 0x8e, 0x75, 0x0d, 0x4d, 0xe5, 0x3d, 0x9d, + 0x82, 0x1e, 0xb7, 0xae, 0x3e, 0x5e, 0xf9, 0x99, 0xd3, 0x6c, 0x06, 0xcd, 0xcb, 0x09, 0x2a, 0x78, 0xb4, 0x30, 0xd5, + 0x8d, 0x87, 0xed, 0x76, 0x0f, 0x92, 0x54, 0x9b, 0x7e, 0xcc, 0x26, 0x89, 0x17, 0xd3, 0x31, 0x2f, 0x38, 0x9c, 0x1e, + 0x5c, 0x68, 0xfd, 0xce, 0xed, 0x1e, 0x66, 0x74, 0x6a, 0xb9, 0xf0, 0xf7, 0xee, 0x81, 0x0b, 0x1e, 0x7a, 0x09, 0x8f, + 0x9a, 0x22, 0x19, 0x1a, 0x8e, 0x72, 0xf0, 0xa8, 0xf6, 0xbc, 0x30, 0x06, 0x0a, 0x28, 0xe8, 0xbe, 0x05, 0xcf, 0x2c, + 0x1e, 0x61, 0x9e, 0x99, 0xf5, 0x12, 0xb4, 0x58, 0x9b, 0xc1, 0xba, 0x0a, 0xb6, 0x8f, 0x8a, 0x5c, 0x58, 0x2c, 0x8b, + 0x35, 0xbc, 0x18, 0xaa, 0x74, 0xc1, 0x92, 0xd9, 0x9c, 0x0f, 0x85, 0xe7, 0x3f, 0x83, 0x33, 0x24, 0x23, 0x6c, 0x94, + 0x00, 0x3c, 0x23, 0xd5, 0x3e, 0xf0, 0xe3, 0xc0, 0x81, 0x4e, 0xac, 0xa6, 0x75, 0x94, 0xd1, 0x29, 0xea, 0x4d, 0x59, + 0xd2, 0x94, 0xef, 0x0e, 0x0d, 0xdd, 0xcd, 0x7d, 0x04, 0x4f, 0x85, 0x2b, 0x7a, 0xc3, 0x22, 0xc1, 0x77, 0xc3, 0xbc, + 0x2e, 0x46, 0x45, 0xd1, 0x4b, 0xb9, 0x33, 0x7c, 0xe1, 0xa0, 0x11, 0xfe, 0xd5, 0xb8, 0xc4, 0xc6, 0xd6, 0x54, 0x6d, + 0xe3, 0x2e, 0xda, 0x52, 0xc5, 0xa4, 0x4b, 0x51, 0xed, 0x57, 0x02, 0x15, 0x5f, 0x3a, 0x36, 0xcd, 0x67, 0x4d, 0xc9, + 0x7e, 0x9a, 0x82, 0x7c, 0x6c, 0x68, 0x8a, 0x94, 0x3b, 0x9b, 0xd2, 0x85, 0xe0, 0x2c, 0xea, 0x1c, 0x8b, 0xf4, 0xb8, + 0x8c, 0xca, 0x73, 0x4f, 0xea, 0xd9, 0x3c, 0xe9, 0x84, 0x6a, 0x5b, 0xff, 0xe2, 0xa4, 0xce, 0xa6, 0x40, 0xfe, 0x97, + 0x77, 0xfd, 0xf9, 0x71, 0x0c, 0x03, 0x5e, 0x68, 0xa5, 0xc1, 0xbc, 0x1a, 0x65, 0xc8, 0x47, 0x0e, 0x2a, 0xd4, 0x9e, + 0x79, 0x22, 0xf4, 0x6e, 0xe3, 0x82, 0xc1, 0x1d, 0xae, 0x23, 0x6a, 0xf2, 0x04, 0x33, 0x83, 0x9c, 0x80, 0x5a, 0xee, + 0x78, 0xaf, 0x62, 0x33, 0x52, 0x6b, 0xb7, 0xc4, 0x84, 0x88, 0x9d, 0x25, 0xa1, 0x6d, 0xfd, 0x39, 0x88, 0x59, 0xf0, + 0x91, 0xd8, 0xbb, 0x0b, 0x07, 0xad, 0x1f, 0x0d, 0x15, 0x3b, 0x54, 0xf3, 0x5c, 0x54, 0x8f, 0x36, 0xa4, 0xae, 0xc1, + 0x4e, 0xe5, 0xed, 0x41, 0x76, 0x1f, 0x54, 0x9b, 0xe3, 0x96, 0x1c, 0xa7, 0x7f, 0x51, 0x9c, 0x57, 0xb7, 0x82, 0x55, + 0x50, 0x00, 0x9a, 0x65, 0xb9, 0x25, 0xe8, 0x8f, 0xd8, 0x72, 0x0b, 0xd5, 0x2c, 0x40, 0x6c, 0xd2, 0x3e, 0xb2, 0x2d, + 0xc9, 0x60, 0x00, 0x4e, 0xae, 0x78, 0x8d, 0x6d, 0xfd, 0xb9, 0x2c, 0xa3, 0xa5, 0xdb, 0x47, 0xe4, 0xad, 0x10, 0x1b, + 0xc6, 0x02, 0x5b, 0xdf, 0x0d, 0x29, 0xf7, 0x59, 0x2c, 0x9b, 0xf4, 0xb4, 0x97, 0x62, 0x65, 0x46, 0xcb, 0x65, 0x5e, + 0x9f, 0x0b, 0xab, 0x63, 0x50, 0xcc, 0xec, 0xb8, 0x55, 0xc1, 0x2d, 0x66, 0x26, 0xf6, 0x87, 0x19, 0x3f, 0xad, 0x66, + 0x28, 0xdf, 0x59, 0x7f, 0x0e, 0xc4, 0xc9, 0x2a, 0x00, 0x30, 0x53, 0x00, 0x42, 0x64, 0x5f, 0x2a, 0x21, 0x8e, 0x4f, + 0x32, 0x97, 0xfb, 0xd9, 0x84, 0xf2, 0x15, 0xc4, 0xfa, 0x32, 0x91, 0xb7, 0xa7, 0xa3, 0xf8, 0x6b, 0xd0, 0x06, 0x75, + 0x68, 0x41, 0xcf, 0x2d, 0x06, 0xa0, 0xaa, 0x92, 0x8d, 0x1a, 0x6f, 0x84, 0x40, 0xf6, 0x89, 0xc5, 0x91, 0xdc, 0x3e, + 0x13, 0xdc, 0x5e, 0xc6, 0xe1, 0x2c, 0x31, 0x96, 0x00, 0xb1, 0xb0, 0xad, 0x81, 0x84, 0x9c, 0x86, 0x12, 0x66, 0x92, + 0x8a, 0x56, 0x59, 0x71, 0xdc, 0x92, 0xb5, 0x25, 0x3b, 0x96, 0x95, 0x00, 0x09, 0x62, 0x9f, 0x56, 0x38, 0x80, 0xe4, + 0x6f, 0x13, 0x0f, 0x21, 0xbb, 0x2a, 0x89, 0x4d, 0x9c, 0x31, 0xeb, 0x1f, 0xc7, 0xfe, 0x25, 0x8d, 0xfb, 0xbb, 0x8b, + 0x74, 0xb9, 0x6c, 0x17, 0xc7, 0x2d, 0xf9, 0x68, 0x1d, 0x0b, 0xbe, 0x21, 0xef, 0x06, 0x15, 0x4b, 0x0c, 0x07, 0x37, + 0x21, 0x25, 0x56, 0xe7, 0x82, 0x79, 0xaa, 0x83, 0xc2, 0xb6, 0x44, 0x16, 0x8a, 0xa8, 0x54, 0xea, 0x34, 0x85, 0x6d, + 0xb1, 0x70, 0xbd, 0x2c, 0xe7, 0x74, 0x06, 0xa5, 0xd1, 0x72, 0xd9, 0x29, 0x6c, 0x6b, 0xca, 0x12, 0x78, 0x4a, 0x97, + 0x4b, 0x71, 0x26, 0x72, 0xca, 0x12, 0xa7, 0x0d, 0x64, 0x6b, 0x5b, 0x53, 0xff, 0x46, 0x4c, 0x58, 0xbf, 0xf1, 0x6f, + 0x9c, 0x8e, 0x7a, 0xe5, 0x96, 0xf8, 0xc9, 0x81, 0xe2, 0xaa, 0x15, 0xf5, 0xd5, 0x8a, 0x86, 0x78, 0x2e, 0x4f, 0x7b, + 0x11, 0x27, 0x24, 0xfe, 0xe6, 0x15, 0x0d, 0xf5, 0x8a, 0xce, 0xb7, 0xac, 0xe8, 0xfc, 0x8e, 0x15, 0x0d, 0xd4, 0xea, + 0x59, 0x25, 0xee, 0xb2, 0xe5, 0xb2, 0xd3, 0xae, 0xb0, 0x77, 0xdc, 0x0a, 0xd9, 0x15, 0xac, 0x06, 0x68, 0x6a, 0x9c, + 0x4d, 0xe9, 0x66, 0xa2, 0xac, 0xa3, 0x98, 0x7e, 0x16, 0x26, 0x2b, 0x2c, 0xa4, 0x75, 0x2c, 0x98, 0x74, 0x5d, 0x06, + 0x26, 0xff, 0x48, 0xca, 0x66, 0x80, 0x87, 0x1c, 0xf0, 0x10, 0xe9, 0xbb, 0x42, 0x1d, 0xfb, 0xbd, 0x8d, 0x6d, 0xcb, + 0xd6, 0x64, 0x7d, 0x51, 0x9c, 0x83, 0x8c, 0x10, 0xf3, 0xbb, 0x17, 0x2d, 0x42, 0x6d, 0xbb, 0xbf, 0x9d, 0xe6, 0x20, + 0x87, 0xe0, 0x3a, 0xcd, 0x42, 0xdb, 0x93, 0x55, 0x3f, 0x0b, 0x55, 0x53, 0x96, 0xa8, 0x8c, 0xb4, 0xad, 0xb4, 0x56, + 0xbd, 0x37, 0x29, 0xae, 0x7b, 0x78, 0x28, 0x6b, 0xcc, 0x7c, 0xce, 0x69, 0x96, 0x28, 0xca, 0xb5, 0xed, 0xff, 0x10, + 0x54, 0xb8, 0x81, 0xaf, 0x04, 0x7a, 0x01, 0x34, 0x01, 0x2a, 0x9d, 0x5b, 0xf1, 0x7c, 0x29, 0x9e, 0x76, 0x2a, 0x65, + 0xf3, 0x16, 0x99, 0x7a, 0xbf, 0x2c, 0x02, 0x33, 0x64, 0x3e, 0xa5, 0xe1, 0xb9, 0x60, 0xd0, 0x83, 0xf8, 0x42, 0x29, + 0x8f, 0x2b, 0xe2, 0xae, 0x6a, 0x80, 0xed, 0x9f, 0xe6, 0xdd, 0x47, 0x07, 0xa7, 0x36, 0x96, 0x3c, 0x3e, 0x1d, 0x8f, + 0x6d, 0x54, 0x58, 0xf7, 0x6b, 0xd6, 0x39, 0xf8, 0x69, 0xfe, 0xf5, 0xb3, 0xf6, 0xd7, 0x65, 0xe3, 0x04, 0x88, 0x48, + 0x25, 0x41, 0x68, 0x51, 0x65, 0xc0, 0xab, 0x67, 0x34, 0xf6, 0x93, 0xed, 0xd3, 0x19, 0x9a, 0xd3, 0xc9, 0x67, 0x94, + 0x86, 0x40, 0x9c, 0x78, 0xad, 0xf4, 0x3c, 0xa6, 0x57, 0x54, 0xdf, 0xd0, 0xb8, 0x61, 0xb0, 0x0d, 0x2d, 0x82, 0x74, + 0x9e, 0x70, 0x95, 0x0d, 0xa2, 0x58, 0xad, 0x31, 0xa5, 0x0b, 0x31, 0x07, 0x53, 0x9d, 0xbf, 0x95, 0x72, 0xae, 0x2e, + 0xbd, 0x8a, 0x0b, 0x6c, 0x1b, 0x00, 0x6c, 0x85, 0x6c, 0xb0, 0xa5, 0xdc, 0x6b, 0xe3, 0xf6, 0x36, 0xd8, 0x70, 0x07, + 0x79, 0xb6, 0x3d, 0xd2, 0x78, 0x12, 0x0e, 0xdd, 0xda, 0xa5, 0x1a, 0x5b, 0xf1, 0xf5, 0x49, 0x0c, 0x5c, 0x66, 0xd0, + 0x59, 0x42, 0xf3, 0x7c, 0x2b, 0x02, 0xca, 0x45, 0xc4, 0x76, 0x55, 0xdb, 0xde, 0xd2, 0x0b, 0x6e, 0x63, 0xd8, 0x61, + 0x02, 0xe0, 0x32, 0xac, 0xac, 0x6a, 0xd1, 0xf1, 0x98, 0x06, 0xa5, 0x3f, 0x1c, 0x02, 0x84, 0x63, 0x16, 0x73, 0x88, + 0x93, 0x89, 0x00, 0x96, 0xfd, 0x3a, 0x4d, 0xa8, 0x8d, 0x74, 0xca, 0xab, 0x82, 0x5f, 0xc9, 0xff, 0xcd, 0xf0, 0xc8, + 0x1e, 0xeb, 0xb0, 0xa8, 0x51, 0x96, 0x4b, 0xed, 0xae, 0xa9, 0x95, 0xd7, 0x11, 0x99, 0x0a, 0x7f, 0xcc, 0xb6, 0x0d, + 0x74, 0xbf, 0x6d, 0xb2, 0xe8, 0x7c, 0x7d, 0xd8, 0x69, 0x17, 0x36, 0xb6, 0xa1, 0xbb, 0xfb, 0xee, 0x12, 0xd1, 0x6a, + 0x1f, 0x5a, 0xcd, 0x93, 0xcf, 0x69, 0xd7, 0xed, 0x3c, 0xee, 0xd8, 0x58, 0xde, 0xb5, 0x80, 0x8a, 0x92, 0x19, 0x04, + 0xe0, 0x21, 0xfe, 0xdd, 0x53, 0xa9, 0x77, 0x7e, 0x3f, 0x78, 0x1e, 0x76, 0xda, 0x36, 0xb6, 0x73, 0x9e, 0xce, 0x3e, + 0x63, 0x0a, 0xfb, 0x36, 0xb6, 0x83, 0x38, 0xcd, 0xa9, 0x39, 0x07, 0xa9, 0xce, 0xfe, 0xfe, 0x49, 0x48, 0x88, 0x66, + 0x19, 0xcd, 0x73, 0xcb, 0xec, 0x5f, 0x91, 0xd2, 0x27, 0x18, 0xe6, 0x46, 0x8a, 0xcb, 0x29, 0x17, 0x78, 0x91, 0xd7, + 0x20, 0x98, 0x54, 0x25, 0xcb, 0xd6, 0x88, 0x4d, 0x88, 0x80, 0x92, 0xb1, 0x49, 0xed, 0xea, 0x93, 0x23, 0x6f, 0xd8, + 0x7a, 0x72, 0x60, 0x19, 0x38, 0x5f, 0x1f, 0xa0, 0x56, 0x32, 0x65, 0xc9, 0xf9, 0x86, 0x52, 0xff, 0x66, 0x43, 0x29, + 0xa8, 0x6c, 0x25, 0x74, 0xea, 0x8a, 0x9e, 0x4f, 0x63, 0xbd, 0x52, 0x7c, 0x4c, 0x10, 0x43, 0xe1, 0x7f, 0xfc, 0x04, + 0xa4, 0xc6, 0x32, 0x88, 0x1e, 0x7e, 0xfb, 0x70, 0x50, 0xf2, 0x39, 0xc3, 0x95, 0xbd, 0xfc, 0xbe, 0x19, 0x42, 0x69, + 0x13, 0x9c, 0xfc, 0xf1, 0x67, 0xcd, 0x95, 0xde, 0x7c, 0x9a, 0xe0, 0x0c, 0xad, 0xea, 0x77, 0x2c, 0xbd, 0x3a, 0xea, + 0xbf, 0xba, 0xf6, 0x1b, 0x8a, 0x95, 0xe2, 0x53, 0xae, 0x7f, 0x10, 0xb3, 0x69, 0x45, 0x02, 0xeb, 0x60, 0x0a, 0x8d, + 0x07, 0x32, 0xbe, 0xcc, 0x4e, 0xa4, 0xea, 0x73, 0x0e, 0xe7, 0x58, 0xe1, 0xaa, 0x90, 0x79, 0x46, 0xcf, 0xe3, 0xf4, + 0x7a, 0xf5, 0xf2, 0xb3, 0xed, 0x95, 0x23, 0x36, 0x89, 0x8c, 0xc3, 0x69, 0x94, 0x94, 0x8b, 0x70, 0xe7, 0x00, 0xc5, + 0xbf, 0xfc, 0xb3, 0xeb, 0xfe, 0xcb, 0x3f, 0x7f, 0xb2, 0x2a, 0x74, 0x5f, 0x5c, 0x60, 0x5e, 0x75, 0xbb, 0x7d, 0x77, + 0x6d, 0x1e, 0xa9, 0x8e, 0xf3, 0xcd, 0x75, 0xd6, 0x16, 0x01, 0xde, 0xaf, 0x2d, 0xc1, 0x5a, 0xa1, 0xdc, 0x7d, 0xd6, + 0x6f, 0x01, 0x0c, 0xe6, 0xf5, 0x49, 0xc8, 0xa0, 0xd2, 0xef, 0x02, 0xed, 0x02, 0x79, 0xf7, 0x5a, 0x91, 0xdf, 0x8e, + 0xe1, 0x4f, 0xcd, 0xe1, 0x77, 0x82, 0xaf, 0xfc, 0x13, 0xf1, 0xc5, 0x45, 0x99, 0x85, 0x68, 0x36, 0x85, 0x3b, 0x0e, + 0x06, 0x6b, 0x25, 0x4a, 0xf1, 0xf0, 0xda, 0xa8, 0x2f, 0xce, 0x50, 0x92, 0xf8, 0xe2, 0x15, 0x5c, 0x6c, 0x74, 0x7c, + 0x99, 0x69, 0x67, 0xeb, 0x1d, 0xc2, 0x01, 0xba, 0xa8, 0xcf, 0x4a, 0x74, 0xba, 0x26, 0x19, 0xa0, 0x14, 0xcc, 0x0d, + 0x00, 0x13, 0xc7, 0x17, 0xca, 0xda, 0x3c, 0x95, 0x6e, 0x18, 0x6f, 0x95, 0xb4, 0x95, 0x7b, 0xa6, 0x86, 0x74, 0x6c, + 0xbd, 0x17, 0xf8, 0x12, 0x95, 0x69, 0x65, 0xdd, 0x0b, 0x57, 0x17, 0xd8, 0x11, 0x25, 0xfb, 0xb9, 0xf2, 0xe3, 0xab, + 0xfb, 0x31, 0xbe, 0xed, 0x02, 0x75, 0x69, 0x2d, 0xff, 0xd1, 0x2a, 0xc1, 0xb2, 0xb9, 0xdc, 0xa4, 0x0f, 0x5c, 0xfb, + 0x9c, 0x66, 0xe7, 0x11, 0x24, 0x42, 0x65, 0x9f, 0x60, 0x4e, 0xb0, 0xd2, 0x98, 0x8a, 0xbf, 0x8c, 0xa8, 0x8b, 0xa4, + 0xff, 0x41, 0x9c, 0x8a, 0x41, 0x16, 0x23, 0x0c, 0x65, 0x2c, 0xc2, 0xff, 0xe7, 0x5b, 0xff, 0x61, 0xf8, 0xd6, 0xdd, + 0x43, 0xd4, 0xce, 0x48, 0x7f, 0xf6, 0x42, 0xfe, 0xc7, 0x66, 0x77, 0xb9, 0x60, 0x77, 0xbf, 0x81, 0xd1, 0xe5, 0xff, + 0x18, 0x46, 0x27, 0x6c, 0x64, 0xcd, 0xe9, 0xd6, 0x42, 0xcd, 0xb7, 0xae, 0x7f, 0xed, 0xdf, 0x56, 0xfb, 0x2a, 0xbe, + 0x38, 0xb9, 0xf6, 0x6f, 0xab, 0x45, 0xd8, 0xce, 0x2e, 0x56, 0xfb, 0x18, 0xd8, 0x6f, 0x5e, 0xdb, 0x9e, 0xfd, 0xe6, + 0xeb, 0xaf, 0x6d, 0x7c, 0x91, 0x53, 0x3e, 0x80, 0x42, 0xb2, 0xbb, 0xd8, 0x59, 0xad, 0x08, 0x6e, 0x14, 0x98, 0xa2, + 0x08, 0x7b, 0xe1, 0xac, 0x06, 0x0c, 0xcb, 0xcf, 0xd3, 0xc4, 0x84, 0xe6, 0x2d, 0x58, 0xf6, 0x9f, 0x0b, 0x8e, 0xe8, + 0x65, 0x0d, 0x1e, 0x51, 0xba, 0x0a, 0x90, 0x28, 0xac, 0x41, 0x54, 0x5d, 0x19, 0x74, 0x37, 0xff, 0xaf, 0xae, 0x45, + 0x90, 0xb7, 0x7d, 0x44, 0x83, 0xf8, 0xe2, 0x73, 0xc4, 0x87, 0x1c, 0xac, 0xf2, 0xd8, 0x69, 0x77, 0xa7, 0x5f, 0xec, + 0x2e, 0xa2, 0xbd, 0x3d, 0x36, 0xb0, 0xb1, 0xb8, 0xa7, 0xa9, 0xd8, 0x24, 0x5c, 0x72, 0xf8, 0x93, 0xc2, 0x9f, 0xac, + 0x62, 0xd4, 0x2c, 0x19, 0x67, 0x7e, 0x46, 0xc3, 0xed, 0x4c, 0xba, 0xbc, 0xdf, 0x48, 0x91, 0x86, 0x4c, 0xc0, 0xce, + 0xcf, 0x45, 0xea, 0xd1, 0x94, 0x81, 0x3e, 0xba, 0x63, 0x7e, 0xc5, 0x47, 0x5d, 0x88, 0x56, 0x7e, 0x04, 0xc0, 0x44, + 0x38, 0x25, 0x79, 0x99, 0xeb, 0x00, 0xb7, 0x6a, 0xaa, 0xec, 0x10, 0x6c, 0x23, 0xe1, 0x75, 0x0f, 0x49, 0x5f, 0xa4, + 0x3d, 0xbc, 0x48, 0xb8, 0x13, 0xba, 0x3c, 0x63, 0x53, 0x07, 0xe1, 0x4e, 0x1b, 0x21, 0xed, 0x6c, 0x08, 0x49, 0x7f, + 0x87, 0xe5, 0xaf, 0xfd, 0xd7, 0x4e, 0x28, 0x2e, 0xe2, 0x12, 0x9f, 0xee, 0x81, 0x43, 0x92, 0x4f, 0xe6, 0xe3, 0x31, + 0xcd, 0x1c, 0x7d, 0x00, 0xf0, 0xab, 0x03, 0x38, 0x63, 0x0c, 0x6f, 0x9f, 0xfa, 0xdc, 0xff, 0x96, 0xd1, 0x6b, 0x27, + 0x43, 0xbd, 0xb4, 0xba, 0x9c, 0x31, 0xc4, 0x73, 0x44, 0xfa, 0x11, 0x24, 0xc6, 0xbf, 0x48, 0xf8, 0x7e, 0xd7, 0x99, + 0x7f, 0x75, 0x80, 0x43, 0xb8, 0xf2, 0x42, 0x67, 0x75, 0xcb, 0xbb, 0x4a, 0x3e, 0xb0, 0x84, 0x1f, 0xc9, 0x63, 0x98, + 0x19, 0x52, 0xee, 0xc3, 0x32, 0x23, 0xc6, 0xf2, 0xcb, 0x0e, 0x43, 0xd2, 0x0f, 0x1a, 0x44, 0x1e, 0xca, 0x14, 0xb7, + 0xec, 0x9e, 0x46, 0x7e, 0x76, 0x0a, 0x07, 0xbe, 0x01, 0xd0, 0x4b, 0x9e, 0xfa, 0x4e, 0x50, 0x7e, 0xc9, 0xc9, 0x69, + 0xfd, 0xd4, 0x68, 0x4d, 0xb0, 0x48, 0x8a, 0xa9, 0x8a, 0x5a, 0x50, 0x74, 0x6e, 0x16, 0x91, 0xc6, 0x6e, 0x0b, 0xc3, + 0x1e, 0xec, 0x6d, 0xf4, 0xd1, 0xea, 0xa5, 0x6b, 0x5e, 0x67, 0xfe, 0xac, 0x8c, 0x1b, 0x9c, 0xfa, 0x59, 0xc6, 0x68, + 0x66, 0x39, 0xcf, 0x7f, 0x45, 0xde, 0xbf, 0xfc, 0xf3, 0xe6, 0xf8, 0x81, 0x0a, 0x19, 0x58, 0x90, 0x5c, 0xd2, 0x14, + 0xe9, 0xd8, 0xc4, 0x0e, 0x64, 0x43, 0x5b, 0x87, 0x3b, 0xf6, 0x8f, 0xda, 0xed, 0xb6, 0x0a, 0x09, 0x74, 0xe4, 0x4f, + 0x88, 0x01, 0xc0, 0x4f, 0x78, 0x10, 0x51, 0x65, 0x62, 0xcb, 0x00, 0xe5, 0x51, 0x7b, 0x76, 0x63, 0xf7, 0x61, 0x3b, + 0x28, 0x28, 0xde, 0xd1, 0x19, 0xf5, 0xf9, 0x67, 0x8d, 0x9f, 0x89, 0x26, 0xe5, 0xf0, 0x1d, 0x3d, 0x74, 0x35, 0xee, + 0xca, 0xa0, 0x87, 0xab, 0x83, 0xbe, 0x67, 0x53, 0x71, 0x75, 0xd3, 0xb6, 0x51, 0x85, 0xa7, 0xba, 0x36, 0x26, 0x97, + 0x2d, 0x6c, 0x4b, 0x60, 0x3c, 0x4a, 0xe3, 0x90, 0x66, 0xc4, 0xa6, 0xee, 0xc4, 0xb5, 0x1e, 0xb7, 0xdb, 0x6d, 0xdc, + 0x3c, 0x38, 0x6c, 0xb7, 0xf1, 0xe1, 0xc3, 0x36, 0x6e, 0xc2, 0x1f, 0xd7, 0x75, 0x57, 0x60, 0xb8, 0x2b, 0x6a, 0xdb, + 0x69, 0x67, 0x74, 0xaa, 0x00, 0xbc, 0x33, 0xac, 0x58, 0xed, 0x09, 0xb8, 0x60, 0x5a, 0xed, 0x7b, 0x29, 0xd9, 0xd4, + 0x05, 0x07, 0x2a, 0x1d, 0x55, 0xf8, 0x0b, 0xb3, 0x2a, 0x68, 0x4a, 0xe5, 0xc5, 0x7f, 0x2f, 0x14, 0x21, 0x78, 0xd6, + 0x29, 0xdc, 0x5e, 0x2a, 0xe2, 0xa5, 0x90, 0x0a, 0x04, 0x1f, 0x48, 0xe3, 0x3e, 0x4b, 0xe0, 0xdb, 0x59, 0x3a, 0x6a, + 0xaa, 0x19, 0x55, 0xb6, 0x92, 0x74, 0xfb, 0x40, 0x86, 0xa5, 0x37, 0x11, 0xc4, 0xe8, 0x01, 0xc2, 0xfe, 0x7d, 0x1a, + 0xa8, 0x15, 0x84, 0xfa, 0xc1, 0x7d, 0xea, 0x6b, 0xec, 0x8f, 0x1e, 0x88, 0xe4, 0xa4, 0x9d, 0x68, 0xb9, 0xdc, 0xf1, + 0x97, 0xcb, 0x9d, 0xe0, 0xfe, 0x33, 0x94, 0xcb, 0xab, 0x4f, 0x41, 0xc0, 0xcd, 0x9f, 0x12, 0xe8, 0x17, 0x50, 0xee, + 0x45, 0x58, 0x82, 0x24, 0x9f, 0x7c, 0xac, 0x06, 0x94, 0x8f, 0x41, 0xb1, 0x82, 0x94, 0x90, 0x44, 0xd2, 0x3e, 0x5f, + 0x2e, 0x15, 0xf1, 0xe3, 0x39, 0xf1, 0xcb, 0xa2, 0x8e, 0x8d, 0x67, 0x24, 0x28, 0x1f, 0x6d, 0x01, 0xf2, 0x4c, 0x71, + 0xa9, 0x0a, 0xe2, 0x6b, 0x3f, 0x4b, 0x4c, 0x80, 0x5f, 0xa7, 0x96, 0x1a, 0xd6, 0x9a, 0x65, 0xe9, 0x15, 0x83, 0xe4, + 0x97, 0x95, 0x81, 0xa7, 0x04, 0x2e, 0xfe, 0xea, 0x99, 0xa1, 0x70, 0xa3, 0x83, 0xf7, 0x9a, 0xcf, 0xc2, 0x2d, 0x93, + 0xe5, 0x04, 0xbd, 0x50, 0xcd, 0xcd, 0x9b, 0xeb, 0x69, 0xbd, 0xf3, 0xaf, 0xbd, 0x99, 0x7e, 0x78, 0x26, 0xf3, 0x6c, + 0xbc, 0x69, 0x79, 0xb2, 0xe6, 0x2d, 0x79, 0x0d, 0xb1, 0x1f, 0x5b, 0xf3, 0x6d, 0xb8, 0x67, 0x53, 0xf2, 0xb8, 0x77, + 0x2f, 0xcf, 0xa8, 0x9f, 0x05, 0xd1, 0x5b, 0x3f, 0xf3, 0xa7, 0x79, 0x6f, 0xac, 0x6f, 0xf1, 0xd2, 0x14, 0x70, 0x3e, + 0x16, 0x99, 0x4e, 0x49, 0x70, 0x6b, 0xe3, 0x10, 0xe1, 0xea, 0xbd, 0x84, 0x40, 0xfa, 0xb9, 0x6d, 0x3c, 0x37, 0x5f, + 0xc1, 0x3a, 0xdb, 0x78, 0x8a, 0xb0, 0x4c, 0x20, 0x7a, 0xfb, 0x47, 0xa6, 0x0e, 0x61, 0xc8, 0x75, 0xf1, 0xc6, 0x6e, + 0xf5, 0x95, 0x3b, 0x9d, 0x4c, 0xf4, 0x7e, 0x25, 0x99, 0x68, 0x03, 0x1a, 0xad, 0x8c, 0xe6, 0xb3, 0x34, 0xc9, 0xa9, + 0x8d, 0xdf, 0x43, 0x3b, 0x79, 0x15, 0xb3, 0xd9, 0x70, 0x8d, 0xe6, 0xca, 0xa6, 0xe2, 0x8d, 0x6c, 0x07, 0x41, 0x9d, + 0xf7, 0xdf, 0x97, 0x71, 0x7c, 0x1d, 0xdf, 0x11, 0x89, 0xe8, 0x8c, 0x6e, 0xc9, 0x95, 0xcd, 0xe9, 0x27, 0x73, 0x65, + 0xe3, 0x7b, 0xe5, 0xca, 0xe6, 0xf4, 0x8f, 0xce, 0x95, 0x65, 0xd4, 0xc8, 0x95, 0x05, 0x39, 0xf7, 0xf5, 0xbd, 0x52, + 0x2e, 0x75, 0x26, 0x5c, 0x7a, 0x9d, 0x93, 0x8e, 0x8a, 0x81, 0xc4, 0xe9, 0x04, 0xf2, 0x2d, 0xff, 0xf1, 0xe9, 0x93, + 0x71, 0x3a, 0x31, 0x93, 0x27, 0xe1, 0xc3, 0x24, 0x40, 0x76, 0x38, 0x25, 0x0b, 0xfb, 0xa7, 0x9b, 0xce, 0x93, 0x61, + 0xa7, 0xb7, 0xdf, 0x99, 0xda, 0x9e, 0x0d, 0x4e, 0x47, 0x51, 0xd0, 0xee, 0xed, 0xef, 0x43, 0xc1, 0xb5, 0x51, 0xd0, + 0x85, 0x02, 0x66, 0x14, 0x1c, 0x42, 0x41, 0x60, 0x14, 0x3c, 0x84, 0x82, 0xd0, 0x28, 0x78, 0x04, 0x05, 0x57, 0x76, + 0x31, 0x64, 0x65, 0x42, 0xf0, 0x23, 0x24, 0x6e, 0x30, 0xdc, 0x49, 0xeb, 0xa7, 0xb7, 0x23, 0xa2, 0xab, 0x3c, 0x2a, + 0x6f, 0x7e, 0x68, 0x1e, 0xe8, 0x8b, 0x0a, 0x2f, 0xbe, 0xb8, 0x00, 0xd6, 0x0a, 0x17, 0xb1, 0x60, 0x88, 0x49, 0xca, + 0x9a, 0xfb, 0xfa, 0xb5, 0xed, 0x95, 0x59, 0xb3, 0x6d, 0xdc, 0xd5, 0x79, 0xb3, 0x9e, 0x8d, 0x04, 0x5f, 0x92, 0x2f, + 0x0e, 0x1b, 0xa1, 0xea, 0x16, 0xee, 0x00, 0xac, 0x2e, 0xe0, 0xdc, 0x47, 0x78, 0xaa, 0x15, 0x20, 0xea, 0xc0, 0x07, + 0x18, 0xde, 0xb3, 0x29, 0xd5, 0xfb, 0x45, 0x0f, 0x60, 0x89, 0xcc, 0xe2, 0x5e, 0x54, 0x29, 0x46, 0x6f, 0xf1, 0xb8, + 0xba, 0xf3, 0xf5, 0x3d, 0x91, 0x77, 0xe8, 0xa5, 0x58, 0x86, 0xb9, 0x66, 0x98, 0xfb, 0x13, 0x0f, 0x52, 0x28, 0x21, + 0x63, 0xc4, 0x1b, 0x13, 0x42, 0xda, 0x83, 0xb9, 0xf7, 0x16, 0x5f, 0x47, 0x34, 0xf1, 0xa6, 0x45, 0xaf, 0x5c, 0x7f, + 0x99, 0xd2, 0xf9, 0xbe, 0xbc, 0x28, 0x5c, 0xd0, 0x44, 0xf5, 0x56, 0x42, 0xd9, 0x2c, 0x69, 0x67, 0x4b, 0xce, 0x9f, + 0xa1, 0xec, 0x8c, 0xe3, 0xf4, 0xba, 0x09, 0xe2, 0x7e, 0x63, 0x1e, 0x20, 0xcc, 0xad, 0xcc, 0x03, 0x7c, 0x09, 0xb0, + 0x96, 0x4f, 0xef, 0xfd, 0x49, 0xf9, 0xfb, 0x15, 0xcd, 0x73, 0x7f, 0xa2, 0x6a, 0x6e, 0xcf, 0xfb, 0x13, 0x20, 0x9a, + 0x39, 0x7f, 0x1a, 0x08, 0x48, 0xce, 0x03, 0x84, 0x40, 0x40, 0x57, 0xe5, 0xea, 0xc1, 0xcc, 0xeb, 0x69, 0x7e, 0x02, + 0x55, 0xf5, 0x22, 0xee, 0x4f, 0xaa, 0x82, 0xe3, 0x59, 0x46, 0x55, 0x02, 0x21, 0x60, 0xb1, 0x38, 0x6e, 0x41, 0x81, + 0x7c, 0xbd, 0x25, 0x9d, 0x4f, 0x73, 0x97, 0xed, 0x49, 0x7d, 0x96, 0x4e, 0xe7, 0x33, 0x4f, 0xa6, 0x94, 0xc7, 0x52, + 0xd6, 0x33, 0xf2, 0xbe, 0xec, 0x04, 0xf0, 0x9f, 0x3a, 0x78, 0xf1, 0xe5, 0x78, 0x3c, 0xbe, 0x33, 0xbd, 0xef, 0xcb, + 0x70, 0x4c, 0xbb, 0xf4, 0xb0, 0x07, 0xa7, 0x16, 0x9a, 0x2a, 0x11, 0xad, 0x53, 0x08, 0xdc, 0x2d, 0xee, 0x57, 0x19, + 0x72, 0xd6, 0x78, 0xb4, 0xb8, 0x7f, 0xaa, 0x5f, 0x31, 0xcb, 0xe8, 0x62, 0xea, 0x67, 0x13, 0x96, 0x78, 0xed, 0xc2, + 0xbd, 0x5a, 0x28, 0x50, 0x8f, 0x8e, 0x8e, 0x0a, 0x37, 0xd4, 0x4f, 0xed, 0x30, 0x2c, 0xdc, 0x60, 0x51, 0x4e, 0xa3, + 0xdd, 0x1e, 0x8f, 0x0b, 0x97, 0xe9, 0x82, 0xfd, 0x6e, 0x10, 0xee, 0x77, 0x0b, 0xf7, 0xda, 0xa8, 0x51, 0xb8, 0x54, + 0x3d, 0x65, 0x34, 0xac, 0x1d, 0x7d, 0x78, 0xd4, 0x6e, 0x17, 0xae, 0x24, 0xb4, 0x05, 0xc4, 0xe4, 0xe4, 0x4f, 0xcf, + 0x9f, 0xf3, 0xb4, 0xb8, 0x28, 0x8a, 0x5e, 0xcc, 0x9d, 0xe1, 0xae, 0xba, 0x56, 0x52, 0x7e, 0x87, 0xb1, 0x40, 0x23, + 0xfc, 0xb5, 0x99, 0x39, 0x07, 0xc4, 0x2c, 0x32, 0xe6, 0x62, 0x9d, 0x58, 0x57, 0x7b, 0x0d, 0x94, 0x25, 0x5e, 0x7f, + 0x4d, 0xe2, 0x2a, 0xa1, 0x0e, 0xf8, 0x18, 0xd4, 0x94, 0xb7, 0x9f, 0x27, 0xdb, 0xa4, 0x47, 0xf6, 0x69, 0xe9, 0x71, + 0x79, 0x1f, 0xe1, 0x91, 0xfd, 0xe1, 0xc2, 0x23, 0x31, 0x85, 0x87, 0x64, 0x1d, 0xd7, 0x9c, 0xd8, 0x41, 0x44, 0x83, + 0x8f, 0x97, 0xe9, 0x4d, 0x13, 0xb6, 0x44, 0x66, 0x0b, 0xb1, 0x72, 0xf5, 0x5b, 0x33, 0xf9, 0x75, 0x67, 0xc6, 0x47, + 0x1c, 0x85, 0x8e, 0xff, 0x26, 0x21, 0xf6, 0x1b, 0x1d, 0xd8, 0x93, 0x25, 0xe3, 0x31, 0xb1, 0xdf, 0x8c, 0xc7, 0xb6, + 0xbe, 0x1c, 0xc7, 0xe7, 0x54, 0xd4, 0x7a, 0x5d, 0x2b, 0x11, 0xb5, 0xc0, 0xd0, 0xaf, 0xca, 0xcc, 0x02, 0x95, 0x77, + 0x67, 0xe6, 0xd8, 0xa9, 0x37, 0x21, 0xcb, 0x61, 0xab, 0xc1, 0xb7, 0x25, 0xeb, 0x97, 0xf3, 0x27, 0xb5, 0x2f, 0x29, + 0x95, 0x00, 0x6f, 0xf8, 0xfc, 0xd3, 0xea, 0xcd, 0x70, 0x13, 0xaa, 0x55, 0xfc, 0x27, 0xb7, 0x2f, 0x42, 0xe7, 0x9a, + 0xa3, 0x82, 0xe5, 0x6f, 0x92, 0x95, 0x5b, 0x1f, 0x24, 0x8c, 0x84, 0x98, 0xd3, 0x2a, 0x78, 0x3a, 0x99, 0xc4, 0xe2, + 0x30, 0x49, 0xcd, 0xe0, 0x96, 0xcd, 0x07, 0xb5, 0xf9, 0x7a, 0x66, 0x43, 0xf5, 0x79, 0x0d, 0xf1, 0xbd, 0x61, 0x79, + 0x5a, 0xf8, 0x4a, 0x7d, 0x78, 0x56, 0xc4, 0x04, 0x17, 0x8a, 0xc7, 0x2f, 0xe4, 0x19, 0x53, 0x8e, 0x59, 0x28, 0x9b, + 0xb3, 0xb0, 0x28, 0xd4, 0xe9, 0xfc, 0x90, 0xe5, 0x33, 0xd0, 0x9e, 0x64, 0x4b, 0xfa, 0x29, 0x16, 0x9e, 0x5f, 0x1b, + 0xc9, 0x6d, 0xb5, 0xe5, 0x2a, 0xb4, 0x9d, 0x26, 0xb3, 0x85, 0xae, 0x79, 0x61, 0x2b, 0x93, 0x4d, 0x23, 0xd1, 0xb6, + 0x24, 0x3e, 0x65, 0xda, 0x9d, 0x31, 0x43, 0xc8, 0xfc, 0x29, 0x17, 0x44, 0xbf, 0xd2, 0x05, 0x85, 0x69, 0x65, 0x89, + 0x37, 0x12, 0x5b, 0x22, 0x55, 0x2c, 0x9f, 0xf9, 0x89, 0x36, 0xe6, 0x24, 0x3f, 0xd8, 0x5d, 0x54, 0x2b, 0x5f, 0xd8, + 0x1a, 0x6c, 0x49, 0xbc, 0xfd, 0xe3, 0x16, 0x34, 0xe8, 0x5b, 0x35, 0xd0, 0x93, 0xb5, 0x0c, 0xb3, 0xbb, 0xf3, 0xae, + 0x3f, 0x5e, 0xb8, 0xf9, 0x35, 0x76, 0xf3, 0x6b, 0xeb, 0xab, 0x45, 0xf3, 0x9a, 0x5e, 0x7e, 0x64, 0xbc, 0xc9, 0xfd, + 0x59, 0x13, 0xbc, 0xa7, 0x22, 0x33, 0x44, 0xb1, 0x67, 0xa1, 0xa3, 0x4b, 0xd3, 0xaf, 0x37, 0xcf, 0x21, 0x3d, 0x5b, + 0x98, 0x51, 0x5e, 0x92, 0x26, 0xb4, 0x57, 0x3f, 0xbe, 0x67, 0x66, 0x18, 0x6b, 0x6c, 0x8d, 0x16, 0x29, 0xa4, 0x73, + 0xf3, 0x5b, 0xaf, 0xad, 0xd8, 0x7a, 0x5b, 0xa7, 0x0f, 0xb7, 0x37, 0xd6, 0xf7, 0x14, 0x72, 0x1b, 0x42, 0x7a, 0x65, + 0xeb, 0xf9, 0xcf, 0xdb, 0xf2, 0xbb, 0x3f, 0x75, 0x98, 0x0d, 0xf2, 0x49, 0xf4, 0xff, 0xc6, 0x29, 0xc0, 0xd5, 0x62, + 0x71, 0x98, 0xed, 0x3e, 0x90, 0x79, 0xfe, 0x98, 0xd3, 0x0c, 0xdf, 0xa7, 0xe6, 0xa5, 0xb8, 0x77, 0x62, 0x01, 0x62, + 0xc6, 0xeb, 0x1c, 0xd5, 0x53, 0xb1, 0xef, 0xee, 0xfe, 0xee, 0xe9, 0x17, 0x0a, 0x47, 0xfa, 0x1e, 0x56, 0xdb, 0xee, + 0xc1, 0x46, 0x88, 0xfd, 0x5b, 0x8f, 0x25, 0x42, 0xe6, 0x5d, 0x42, 0x52, 0x48, 0x6f, 0x96, 0xaa, 0x53, 0x99, 0x19, + 0x8d, 0xc5, 0xa7, 0xd7, 0xd5, 0x52, 0xec, 0x3f, 0x9c, 0xdd, 0xe8, 0xd5, 0xe8, 0xac, 0x9c, 0xb6, 0xfc, 0x43, 0x0f, + 0x55, 0x6e, 0x3f, 0xc5, 0x59, 0x3f, 0x18, 0x78, 0x38, 0xbb, 0xe9, 0x49, 0x41, 0xdb, 0xcc, 0x24, 0x54, 0xed, 0xd9, + 0x8d, 0x79, 0xac, 0xb4, 0xea, 0xc8, 0x72, 0xf7, 0x73, 0x8b, 0xfa, 0x39, 0xed, 0xc1, 0x97, 0xa6, 0x58, 0xe0, 0xc7, + 0x4a, 0x98, 0x4f, 0x59, 0x18, 0xc6, 0xb4, 0xa7, 0xe5, 0xb5, 0xd5, 0x79, 0x08, 0xa7, 0x32, 0xcd, 0x25, 0xab, 0xaf, + 0x8a, 0x81, 0xbc, 0x12, 0x4f, 0xfe, 0x65, 0x9e, 0xc6, 0xf0, 0x9d, 0xc7, 0x8d, 0xe8, 0x54, 0xc7, 0x15, 0xdb, 0x15, + 0xf2, 0xc4, 0xef, 0xfa, 0x5c, 0x0e, 0xdb, 0x7f, 0xea, 0x89, 0x05, 0x6f, 0xf7, 0x78, 0x3a, 0xf3, 0x9a, 0xfb, 0xf5, + 0x89, 0xc0, 0xab, 0x72, 0x0a, 0x78, 0xc3, 0xb4, 0x30, 0x48, 0x2b, 0xc9, 0xa7, 0x2d, 0xb7, 0xa3, 0xca, 0x44, 0x07, + 0x60, 0x84, 0x96, 0x45, 0x45, 0x7d, 0x32, 0xff, 0x98, 0xdd, 0xf2, 0x78, 0xf3, 0x6e, 0x79, 0xac, 0x77, 0xcb, 0xdd, + 0x14, 0xfb, 0xe5, 0xb8, 0x03, 0xff, 0xf5, 0xaa, 0x09, 0x79, 0x6d, 0x6b, 0x7f, 0x76, 0x63, 0x81, 0x9e, 0xd6, 0xec, + 0xce, 0x6e, 0xe4, 0xa1, 0x5a, 0x48, 0x5c, 0x6b, 0xc3, 0x31, 0x53, 0xdc, 0xb6, 0xa0, 0x10, 0xfe, 0x6f, 0xd7, 0x5e, + 0x75, 0x0e, 0xe0, 0x1d, 0xb4, 0x3a, 0x5c, 0x7f, 0xd7, 0xbd, 0x7b, 0xd3, 0x7a, 0x49, 0xca, 0x1d, 0x4f, 0x73, 0x63, + 0xe4, 0x72, 0xff, 0xf2, 0x92, 0x86, 0xde, 0x38, 0x0d, 0xe6, 0xf9, 0x3f, 0x29, 0xf8, 0x15, 0x12, 0xef, 0xdc, 0xd2, + 0x2b, 0xfd, 0xe8, 0xa6, 0xf2, 0x88, 0xaf, 0xee, 0x61, 0x51, 0xae, 0x93, 0x97, 0x07, 0x7e, 0x4c, 0x9d, 0xae, 0x7b, + 0xb0, 0x61, 0x13, 0xfc, 0x9b, 0xac, 0xcd, 0xc6, 0xc9, 0xfc, 0x5e, 0x64, 0xdc, 0x89, 0x84, 0xcf, 0xc2, 0x81, 0xb9, + 0x86, 0xed, 0xa3, 0xcd, 0xe0, 0x0e, 0xf5, 0x48, 0x23, 0x2d, 0x14, 0x94, 0xdc, 0x09, 0xe9, 0xd8, 0x9f, 0xc7, 0xfc, + 0xee, 0x5e, 0xb7, 0x51, 0xc6, 0x5a, 0xaf, 0x77, 0x30, 0xf4, 0xaa, 0xee, 0x3d, 0xb9, 0xf4, 0x97, 0x8f, 0x0f, 0xe0, + 0x3f, 0x79, 0xf8, 0xe5, 0xb2, 0xd2, 0xd5, 0xa5, 0xd5, 0x0b, 0xba, 0xfa, 0x55, 0x4d, 0x19, 0x97, 0x22, 0x5c, 0xe8, + 0xe3, 0xf7, 0xad, 0x0d, 0x5a, 0xe5, 0xbd, 0xaa, 0x2b, 0x2d, 0xeb, 0xb3, 0x6a, 0x7f, 0x5e, 0xe7, 0xf7, 0xac, 0x1b, + 0x48, 0xcd, 0xb5, 0x5e, 0x57, 0x7d, 0x7a, 0x7e, 0xad, 0xb2, 0xc6, 0xb8, 0xa8, 0x7f, 0x45, 0x2e, 0x4b, 0x13, 0x45, + 0xa6, 0xa2, 0x82, 0x95, 0x72, 0x25, 0xad, 0x94, 0x94, 0x92, 0x8b, 0xe3, 0xc1, 0xcd, 0x34, 0xb6, 0xae, 0xe4, 0xfd, + 0x38, 0xc4, 0xee, 0xb8, 0x6d, 0xdb, 0x12, 0x4e, 0x3a, 0xf8, 0x4c, 0x97, 0xfd, 0xe1, 0xfd, 0xd7, 0xcd, 0x23, 0x7b, + 0x00, 0x9a, 0xd6, 0xd5, 0x44, 0x68, 0x76, 0x2f, 0xfd, 0x5b, 0x9a, 0x9d, 0x77, 0x95, 0x0b, 0x5e, 0xe6, 0x8b, 0x8b, + 0x32, 0xab, 0x6b, 0x5b, 0x37, 0xd3, 0x38, 0xc9, 0x89, 0x1d, 0x71, 0x3e, 0xf3, 0x5a, 0xad, 0xeb, 0xeb, 0x6b, 0xf7, + 0x7a, 0xdf, 0x4d, 0xb3, 0x49, 0xab, 0xdb, 0x6e, 0xb7, 0xe1, 0x8b, 0x1f, 0xb6, 0x75, 0xc5, 0xe8, 0xf5, 0x93, 0xf4, + 0x86, 0xd8, 0x6d, 0xab, 0x6d, 0x75, 0xba, 0x47, 0x56, 0xa7, 0x7b, 0xe0, 0x3e, 0x3c, 0xb2, 0xfb, 0x5f, 0x58, 0xd6, + 0x71, 0x48, 0xc7, 0x39, 0xfc, 0xb0, 0xac, 0x63, 0xa1, 0x78, 0xc9, 0xdf, 0x96, 0xe5, 0x06, 0x71, 0xde, 0xec, 0x58, + 0x0b, 0xf5, 0x68, 0x59, 0x70, 0x8b, 0x90, 0x67, 0x7d, 0x39, 0xee, 0x8e, 0x0f, 0xc6, 0x8f, 0x7b, 0xaa, 0xb8, 0xf8, + 0xa2, 0x56, 0x1d, 0xcb, 0x7f, 0xbb, 0x46, 0xb3, 0x9c, 0x67, 0xe9, 0x47, 0xaa, 0x5c, 0xfb, 0x16, 0x88, 0x9e, 0x8d, + 0x4d, 0xbb, 0xeb, 0x23, 0x75, 0x8e, 0x2e, 0x83, 0x71, 0xb7, 0xaa, 0x2e, 0x60, 0x6c, 0x95, 0x40, 0x1e, 0xb7, 0x34, + 0xe8, 0xc7, 0x26, 0x9a, 0x3a, 0xcd, 0x4d, 0x88, 0xea, 0xd8, 0x6a, 0x8e, 0x13, 0x3d, 0xbf, 0x63, 0x38, 0xb4, 0xae, + 0x75, 0x55, 0x01, 0x81, 0x6d, 0x85, 0xc4, 0x7e, 0xd5, 0xe9, 0x1e, 0xe1, 0x4e, 0xe7, 0xa1, 0xfb, 0xf0, 0x28, 0x68, + 0xe3, 0x03, 0xf7, 0xa0, 0xb9, 0xef, 0x3e, 0xc4, 0x47, 0xcd, 0x23, 0x7c, 0xf4, 0xfc, 0x28, 0x68, 0x1e, 0xb8, 0x07, + 0xb8, 0xdd, 0x3c, 0x82, 0xc2, 0xe6, 0x51, 0xf3, 0xe8, 0xaa, 0x79, 0x70, 0x14, 0xb4, 0x45, 0x69, 0xd7, 0x3d, 0x3c, + 0x6c, 0x76, 0xda, 0xee, 0xe1, 0x21, 0x3e, 0x74, 0x1f, 0x3e, 0x6c, 0x76, 0xf6, 0xdd, 0x87, 0x0f, 0x5f, 0x1e, 0x1e, + 0xb9, 0xfb, 0xf0, 0x6e, 0x7f, 0x3f, 0xd8, 0x77, 0x3b, 0x9d, 0x26, 0xfc, 0xc1, 0x47, 0x6e, 0x57, 0xfe, 0xe8, 0x74, + 0xdc, 0xfd, 0x0e, 0x6e, 0xc7, 0x87, 0x5d, 0xf7, 0xe1, 0x63, 0x2c, 0xfe, 0x8a, 0x6a, 0x58, 0xfc, 0x81, 0x6e, 0xf0, + 0x63, 0xb7, 0xfb, 0x50, 0xfe, 0x12, 0x1d, 0x5e, 0x1d, 0x1c, 0xfd, 0x68, 0xb7, 0xb6, 0xce, 0xa1, 0x23, 0xe7, 0x70, + 0x74, 0xe8, 0xee, 0xef, 0xe3, 0x83, 0x8e, 0x7b, 0xb4, 0x1f, 0x35, 0x0f, 0xba, 0xee, 0xc3, 0x47, 0x41, 0xb3, 0xe3, + 0x3e, 0x7a, 0x84, 0xdb, 0xcd, 0x7d, 0xb7, 0x8b, 0x3b, 0xee, 0xc1, 0xbe, 0xf8, 0xb1, 0xef, 0x76, 0xaf, 0x1e, 0x3d, + 0x76, 0x1f, 0x1e, 0x46, 0x0f, 0xdd, 0x83, 0x6f, 0x0f, 0x8e, 0xdc, 0xee, 0x7e, 0xb4, 0xff, 0xd0, 0xed, 0x3e, 0xba, + 0x7a, 0xe8, 0x1e, 0x44, 0xcd, 0xee, 0xc3, 0x3b, 0x5b, 0x76, 0xba, 0x2e, 0xe0, 0x48, 0xbc, 0x86, 0x17, 0x58, 0xbd, + 0x80, 0xff, 0x23, 0xd1, 0xf6, 0xdf, 0xb0, 0x9b, 0x7c, 0xbd, 0xe9, 0x63, 0xf7, 0xe8, 0x51, 0x20, 0xab, 0x43, 0x41, + 0x53, 0xd7, 0x80, 0x26, 0x57, 0x4d, 0x39, 0xac, 0xe8, 0xae, 0xa9, 0x3b, 0xd2, 0xff, 0xab, 0xc1, 0xae, 0x9a, 0x30, + 0xb0, 0x1c, 0xf7, 0xdf, 0xb5, 0x9f, 0x72, 0xc9, 0x8f, 0x5b, 0x13, 0x49, 0xfa, 0x93, 0xfe, 0x17, 0xf2, 0x73, 0x3e, + 0x5f, 0x5c, 0x60, 0x7f, 0x9b, 0xe3, 0x23, 0xfe, 0xb4, 0xe3, 0x23, 0xa2, 0xf7, 0xf1, 0x7c, 0xc4, 0x7f, 0xb8, 0xe7, + 0xc3, 0x5f, 0x75, 0x9b, 0xdf, 0xf0, 0x35, 0x07, 0xc7, 0xaa, 0x55, 0xfc, 0x82, 0x3b, 0xc3, 0x14, 0x3e, 0x1d, 0x5d, + 0xf4, 0x6e, 0x38, 0x89, 0xa8, 0xe9, 0x07, 0x4a, 0x81, 0xc5, 0xde, 0x70, 0xc9, 0x63, 0x83, 0x6d, 0x08, 0x09, 0x3f, + 0x8d, 0x90, 0xef, 0xee, 0x83, 0x8f, 0xf0, 0x0f, 0xc7, 0x47, 0x60, 0xe2, 0xa3, 0xe6, 0xc9, 0x17, 0x9e, 0x06, 0xe1, + 0x29, 0x38, 0x13, 0xcf, 0x0e, 0xdc, 0x9a, 0xd1, 0xb0, 0x5b, 0xf4, 0x4a, 0x44, 0xee, 0x64, 0x70, 0xfd, 0xf9, 0xe7, + 0x04, 0x1d, 0xe4, 0x15, 0x39, 0xc4, 0x56, 0x6e, 0x99, 0x99, 0x90, 0x3a, 0xea, 0xa1, 0x14, 0x4a, 0x5d, 0xb7, 0xed, + 0xb6, 0x4b, 0x97, 0x0e, 0x5c, 0x8b, 0x44, 0x16, 0x29, 0xf7, 0xbd, 0x9d, 0x0e, 0x8e, 0xd3, 0x09, 0x5c, 0x96, 0x24, + 0x3e, 0x1f, 0x07, 0x27, 0x1e, 0x02, 0xf9, 0xe5, 0x3e, 0x48, 0x9f, 0x50, 0x8e, 0x1e, 0x3f, 0xfb, 0xf8, 0x37, 0x08, + 0x62, 0xea, 0x98, 0xc4, 0x14, 0xbc, 0x1d, 0xaf, 0x68, 0xc8, 0x7c, 0xc7, 0x76, 0x66, 0x19, 0x1d, 0xd3, 0x2c, 0x6f, + 0xd6, 0xee, 0xeb, 0x11, 0x57, 0xf5, 0x20, 0x5b, 0x41, 0x38, 0xce, 0xe0, 0x73, 0x48, 0x64, 0xa8, 0xfc, 0x8d, 0xb6, + 0x32, 0xc0, 0xec, 0x02, 0xeb, 0x92, 0x0c, 0x64, 0x6d, 0xa5, 0xb4, 0xd9, 0x52, 0x6b, 0xeb, 0xb8, 0xdd, 0x43, 0x64, + 0x89, 0x62, 0xf8, 0xd0, 0xcc, 0x0f, 0x4e, 0x73, 0xbf, 0xfd, 0x27, 0x64, 0x34, 0x2b, 0x3b, 0x1a, 0x29, 0x77, 0x5b, + 0x52, 0x7e, 0x8e, 0x70, 0x25, 0xec, 0x6a, 0x4b, 0x8a, 0xf8, 0x52, 0xce, 0xdd, 0x46, 0xbd, 0x44, 0x25, 0xcd, 0xc9, + 0x2b, 0x01, 0xc7, 0x6c, 0xe2, 0x18, 0xd7, 0x4d, 0x24, 0xf2, 0x43, 0x36, 0x70, 0x5b, 0x3d, 0x42, 0x45, 0x55, 0x25, + 0x41, 0x0b, 0x11, 0x6d, 0x61, 0x89, 0x95, 0x2c, 0x97, 0x4e, 0x02, 0x2e, 0x72, 0x62, 0xe0, 0x14, 0x9e, 0x51, 0x0d, + 0xc9, 0x09, 0x2e, 0x01, 0x12, 0x08, 0x26, 0x89, 0xfc, 0xb7, 0x2a, 0xd6, 0x3f, 0x94, 0xe3, 0xcb, 0x8d, 0xfd, 0x64, + 0x02, 0x54, 0xe8, 0x27, 0x93, 0x35, 0xb7, 0x9a, 0x0c, 0x18, 0xad, 0x94, 0x56, 0x5d, 0x55, 0xee, 0xb3, 0xfc, 0xc9, + 0xed, 0x7b, 0x75, 0xe3, 0xb5, 0x0d, 0xde, 0x69, 0x11, 0xdf, 0xa8, 0xbe, 0xce, 0xd3, 0x20, 0x0f, 0x8e, 0xa7, 0x94, + 0xfb, 0xf2, 0xb0, 0x1a, 0xe8, 0x13, 0x90, 0xcb, 0x62, 0x29, 0x6b, 0x54, 0x05, 0xf5, 0x89, 0x3c, 0xcc, 0x2f, 0x45, + 0x3d, 0xb6, 0xd4, 0x55, 0x71, 0x4d, 0xb1, 0x34, 0xa4, 0x83, 0xa5, 0x3f, 0x26, 0xf0, 0xc5, 0x71, 0x64, 0x92, 0xa4, + 0x76, 0xff, 0x41, 0x99, 0xeb, 0xb2, 0x6d, 0x11, 0x62, 0x96, 0x7c, 0x1c, 0x66, 0x34, 0xfe, 0x27, 0xf2, 0x80, 0x05, + 0x69, 0xf2, 0x60, 0x64, 0xa3, 0x1e, 0x77, 0xa3, 0x8c, 0x8e, 0xc9, 0x03, 0x90, 0xf1, 0x9e, 0xb0, 0x3e, 0x80, 0x11, + 0x36, 0x6e, 0xa6, 0x31, 0x16, 0x1a, 0xd3, 0x3d, 0x14, 0x22, 0x09, 0xae, 0xdd, 0x3d, 0xb4, 0x2d, 0x69, 0x13, 0x8b, + 0xdf, 0x7d, 0x29, 0x4e, 0x85, 0x12, 0x60, 0x75, 0xba, 0xee, 0x61, 0xd4, 0x75, 0x1f, 0x5f, 0x3d, 0x72, 0x8f, 0xa2, + 0xce, 0xa3, 0xab, 0x26, 0xfc, 0xdb, 0x75, 0x1f, 0xc7, 0xcd, 0xae, 0xfb, 0x18, 0xfe, 0xff, 0xf6, 0xc0, 0x3d, 0x8c, + 0x9a, 0x1d, 0xf7, 0xe8, 0x6a, 0xdf, 0xdd, 0x7f, 0xd9, 0xe9, 0xba, 0xfb, 0x56, 0xc7, 0x92, 0xed, 0x80, 0x5d, 0x4b, + 0xee, 0xfc, 0x60, 0x65, 0x43, 0x6c, 0x08, 0xc6, 0xc9, 0x03, 0x77, 0x36, 0x16, 0x67, 0xa4, 0xcd, 0xfd, 0xa9, 0x9c, + 0x75, 0x4f, 0xfd, 0x0c, 0xbe, 0x6c, 0x5a, 0xdf, 0xbb, 0xb5, 0x77, 0xb8, 0xc6, 0x2f, 0x36, 0x0c, 0x31, 0x13, 0x11, + 0x70, 0xf3, 0xae, 0x35, 0xb8, 0xa8, 0x4c, 0x7c, 0x08, 0x4a, 0xdf, 0x87, 0xbf, 0x9d, 0xb4, 0x65, 0x45, 0x7d, 0xe7, + 0xbe, 0x60, 0x16, 0x4c, 0x7c, 0x72, 0x4f, 0x0c, 0xf2, 0x22, 0x2c, 0x56, 0xc7, 0x87, 0x73, 0x7f, 0x59, 0x6a, 0x5c, + 0x37, 0x47, 0xab, 0x20, 0x7f, 0xc8, 0xe0, 0x82, 0xc0, 0xa2, 0xd0, 0xa0, 0xd7, 0xdc, 0xb4, 0x15, 0x96, 0x04, 0xbf, + 0xa0, 0xf9, 0xc0, 0x86, 0x22, 0xdb, 0xb3, 0x85, 0x8b, 0xcf, 0x2e, 0xbf, 0xee, 0x5a, 0x12, 0x76, 0x55, 0x80, 0xc5, + 0xed, 0x0f, 0xb0, 0x6b, 0x01, 0x3f, 0x36, 0xda, 0xdb, 0xdb, 0xba, 0x5f, 0x84, 0x02, 0x09, 0x73, 0xad, 0x3e, 0x0a, + 0x69, 0xb2, 0x22, 0xdb, 0x44, 0x74, 0xd9, 0xaf, 0x40, 0x21, 0x52, 0x78, 0xba, 0xa4, 0x3e, 0x77, 0xfd, 0x44, 0x9e, + 0x20, 0x30, 0x18, 0x16, 0xee, 0xd0, 0x7d, 0x54, 0xa4, 0xdc, 0x97, 0x49, 0x61, 0xe6, 0x3e, 0x4f, 0xb9, 0xaf, 0x2f, + 0x4f, 0xf2, 0x79, 0xed, 0xe0, 0x7c, 0xd4, 0xed, 0xbf, 0x79, 0x7f, 0x62, 0xc9, 0xed, 0x79, 0xdc, 0x8a, 0xba, 0xfd, + 0x63, 0xe1, 0x33, 0x91, 0x61, 0x7f, 0x22, 0xc3, 0xfe, 0x96, 0xba, 0x35, 0x06, 0x22, 0x69, 0x45, 0x4b, 0x4e, 0x5b, + 0xd8, 0x0c, 0xd2, 0xdb, 0x3b, 0x9d, 0xc7, 0x9c, 0xc1, 0x47, 0x8d, 0x5a, 0x22, 0xe6, 0x2f, 0x72, 0x08, 0xf4, 0x21, + 0x54, 0xa5, 0x1d, 0x5e, 0xf2, 0x44, 0xfb, 0x86, 0xc7, 0x2c, 0xa6, 0xfa, 0xd8, 0xa9, 0xea, 0xaa, 0x4c, 0xf8, 0x59, + 0xaf, 0x9d, 0xcf, 0x2f, 0x21, 0xe9, 0x41, 0xa7, 0x17, 0x7d, 0x50, 0x0d, 0x8e, 0xc5, 0x50, 0x10, 0xb9, 0x97, 0x62, + 0x5a, 0x7f, 0xbe, 0xb5, 0xbe, 0xa4, 0x6a, 0xf6, 0x4a, 0x42, 0xc0, 0x55, 0x1d, 0xd1, 0x7e, 0xbf, 0x74, 0x17, 0x9b, + 0xef, 0x8a, 0xe3, 0x56, 0xb4, 0xdf, 0xbf, 0xf0, 0x26, 0xaa, 0xbf, 0x97, 0xe9, 0x64, 0x73, 0x5f, 0x71, 0x3a, 0x19, + 0x88, 0x73, 0xf0, 0xf2, 0x4e, 0x27, 0xad, 0xfc, 0xa6, 0xb1, 0xdd, 0x3f, 0x56, 0xca, 0x80, 0x25, 0xc2, 0xea, 0xf6, + 0x61, 0x5b, 0x1f, 0xad, 0x8f, 0xd3, 0x09, 0x6c, 0x48, 0xd9, 0xc4, 0x18, 0xa4, 0xe6, 0x71, 0x8f, 0x3a, 0xfd, 0x63, + 0xdf, 0x12, 0xbc, 0x45, 0x30, 0x8f, 0xdc, 0x6b, 0x41, 0xe3, 0x28, 0x9d, 0x52, 0x97, 0xa5, 0xad, 0x6b, 0x7a, 0xd9, + 0xf4, 0x67, 0xac, 0x72, 0x6f, 0x83, 0xd2, 0x51, 0x0e, 0x99, 0xae, 0xa4, 0x58, 0x75, 0x2b, 0x77, 0xdb, 0x01, 0xd8, + 0x3c, 0xda, 0x35, 0x27, 0x7c, 0x72, 0x06, 0x58, 0x69, 0xff, 0xb8, 0xe5, 0xaf, 0x60, 0x44, 0xf0, 0xfb, 0x42, 0x39, + 0xda, 0xc1, 0xb0, 0xb9, 0x14, 0xf9, 0x5d, 0x52, 0x1c, 0x68, 0x87, 0xbc, 0x12, 0xd4, 0x85, 0xdd, 0xff, 0xd7, 0xff, + 0xf1, 0xbf, 0x94, 0x8f, 0xfd, 0xb8, 0x15, 0x75, 0x74, 0x5f, 0x2b, 0xab, 0x52, 0x1c, 0xc3, 0x45, 0x35, 0x55, 0x50, + 0x98, 0xde, 0x34, 0x27, 0x19, 0x0b, 0x9b, 0x91, 0x1f, 0x8f, 0xed, 0xfe, 0x76, 0x6c, 0xca, 0xfc, 0xc3, 0xa6, 0x0e, + 0xa7, 0xae, 0x17, 0x01, 0xbd, 0xfe, 0xa6, 0x5b, 0x17, 0x74, 0x4a, 0x97, 0xd8, 0xda, 0xe6, 0x1d, 0x0c, 0xd5, 0xee, + 0xab, 0xdd, 0xc3, 0x90, 0xa8, 0x6f, 0x42, 0x2b, 0x0e, 0x98, 0xd4, 0xae, 0x5f, 0x28, 0x6c, 0xab, 0x0c, 0x6a, 0xfd, + 0xdf, 0xff, 0xf9, 0x5f, 0xfe, 0x9b, 0x7e, 0x84, 0x58, 0xd5, 0xbf, 0xfe, 0xf7, 0xff, 0xfc, 0x7f, 0xfe, 0xf7, 0x7f, + 0x85, 0xfc, 0x33, 0x15, 0xcf, 0x12, 0x4c, 0xc5, 0xaa, 0x82, 0x59, 0x92, 0xbb, 0x58, 0x70, 0xaa, 0x6d, 0xca, 0x72, + 0xce, 0x82, 0xfa, 0x85, 0x0c, 0x67, 0x62, 0x40, 0xb1, 0x33, 0x15, 0x74, 0x62, 0x87, 0x17, 0x15, 0x41, 0xd5, 0x50, + 0x2e, 0x08, 0xb7, 0x38, 0x6e, 0x01, 0xbe, 0xef, 0x77, 0x9f, 0x8c, 0x5b, 0x2e, 0xc7, 0x42, 0x93, 0x09, 0x94, 0x14, + 0x55, 0xb9, 0x05, 0xb1, 0x95, 0x05, 0x3c, 0x7a, 0x5d, 0xa3, 0x58, 0xac, 0x5e, 0xad, 0x4d, 0xef, 0xe7, 0x79, 0xce, + 0xd9, 0x18, 0x50, 0x2e, 0xfd, 0xc4, 0x22, 0x8c, 0xdd, 0x04, 0x5d, 0x31, 0xbe, 0x2d, 0x44, 0x2f, 0x92, 0x40, 0x0f, + 0x8e, 0xfe, 0x54, 0xfc, 0x79, 0x0a, 0x1a, 0x99, 0xe5, 0x4c, 0xfd, 0x1b, 0x65, 0x9e, 0x3f, 0x6c, 0xb7, 0x67, 0x37, + 0x68, 0x51, 0x8d, 0x80, 0xb7, 0x0d, 0x26, 0xe8, 0xd8, 0xec, 0x50, 0xc4, 0xbf, 0x4b, 0x37, 0x76, 0xdb, 0x02, 0x5f, + 0xb8, 0xd5, 0x2e, 0x8a, 0xaf, 0x16, 0xc2, 0x93, 0xca, 0x7e, 0x85, 0x38, 0xb5, 0x72, 0x3a, 0x5f, 0xa6, 0xe6, 0xe4, + 0x16, 0x46, 0xab, 0xae, 0x6c, 0x15, 0x75, 0xd6, 0xaf, 0x66, 0x31, 0xe3, 0xec, 0x66, 0x84, 0xfc, 0x00, 0x62, 0xde, + 0x51, 0x07, 0x47, 0xdd, 0x45, 0xd9, 0x3d, 0xe7, 0xe9, 0xd4, 0x0c, 0xac, 0x53, 0x9f, 0x06, 0x74, 0xac, 0x9d, 0xf5, + 0xea, 0xbd, 0x0c, 0x9a, 0x17, 0xd1, 0xfe, 0x86, 0xb1, 0x14, 0x48, 0x22, 0xa0, 0x6e, 0xb5, 0x8b, 0x2f, 0x61, 0x07, + 0x2e, 0xc6, 0x71, 0xea, 0x73, 0x4f, 0x10, 0x6c, 0xcf, 0x0c, 0xcf, 0xfb, 0xc0, 0x93, 0xd2, 0x85, 0x01, 0x4f, 0x4f, + 0x56, 0x05, 0xb7, 0x79, 0xfd, 0x8a, 0xc6, 0xc2, 0x15, 0xcd, 0xcd, 0xae, 0xa4, 0xd7, 0xed, 0x3b, 0x15, 0xf5, 0x7e, + 0x5e, 0x73, 0x57, 0x29, 0x81, 0xd4, 0x45, 0x9b, 0xdf, 0x4b, 0xb9, 0x2e, 0xdf, 0x7e, 0xcf, 0x1d, 0x5b, 0x80, 0x69, + 0xaf, 0xd6, 0x12, 0x85, 0x50, 0xeb, 0x39, 0xf9, 0xae, 0x34, 0x99, 0xfc, 0xd9, 0x4c, 0x54, 0x44, 0xbd, 0xe3, 0x96, + 0xd4, 0x74, 0x81, 0x7b, 0x88, 0x94, 0x0e, 0x99, 0x41, 0xa1, 0x2a, 0xa9, 0xad, 0x20, 0x7f, 0xa9, 0xdc, 0x0a, 0xf8, + 0x56, 0x78, 0xff, 0xff, 0x01, 0xa2, 0x89, 0x8c, 0x0d, 0xc4, 0x97, 0x00, 0x00}; #else // Brotli (default, smaller) const uint8_t INDEX_BR[] PROGMEM = { - 0x1b, 0xc8, 0x90, 0x11, 0x55, 0xb5, 0x2b, 0x2a, 0x8a, 0xaa, 0x55, 0x0f, 0xd0, 0x7a, 0xc0, 0x36, 0x66, 0x21, 0xff, - 0x0b, 0x0b, 0xa3, 0x01, 0x85, 0xcd, 0xc9, 0x64, 0x39, 0xe4, 0x0c, 0x83, 0xa7, 0x5a, 0x3d, 0x8d, 0x21, 0xe6, 0xfa, - 0x1a, 0xa7, 0xef, 0x35, 0x45, 0xd8, 0xd0, 0xc6, 0x30, 0x0a, 0x7e, 0xe2, 0x70, 0x81, 0x7e, 0xd3, 0x30, 0x8a, 0xf7, - 0x08, 0x8d, 0x7d, 0x92, 0xbb, 0x98, 0x33, 0xdf, 0xfb, 0xfc, 0x16, 0x8f, 0x9c, 0x41, 0x68, 0x88, 0x3d, 0x00, 0xca, - 0xb9, 0x8e, 0x1a, 0xab, 0x60, 0xf5, 0x24, 0xe5, 0x28, 0x3b, 0xbf, 0xca, 0x5f, 0xd9, 0x7d, 0x2e, 0xa7, 0xea, 0x32, - 0x41, 0xe7, 0x1b, 0x9e, 0x44, 0xdb, 0xde, 0x6f, 0x16, 0xa9, 0xda, 0xef, 0xbf, 0xbd, 0x27, 0x46, 0x81, 0x70, 0x53, - 0x66, 0x14, 0x4b, 0xb4, 0x26, 0x10, 0xf3, 0x21, 0x4a, 0xe9, 0xc3, 0xed, 0xb0, 0xff, 0xab, 0x2d, 0xff, 0xfb, 0x34, - 0xd5, 0x70, 0xe3, 0xc3, 0xc8, 0x07, 0x19, 0x24, 0xc3, 0x64, 0x31, 0x73, 0x3d, 0x59, 0x96, 0x9d, 0xcc, 0xc3, 0xc2, - 0x08, 0xa3, 0xc4, 0xc8, 0x7e, 0xd2, 0x65, 0x49, 0x64, 0xf7, 0xcd, 0xab, 0xca, 0x5f, 0x54, 0xdf, 0x32, 0x4d, 0xad, - 0xda, 0xc8, 0xf9, 0x38, 0xb8, 0xd1, 0xa2, 0x3f, 0x6a, 0x2c, 0xa4, 0xa8, 0x53, 0x5e, 0x0e, 0x10, 0x01, 0xd2, 0x16, - 0xf3, 0x90, 0x7e, 0x26, 0xbf, 0xd6, 0x2f, 0xfd, 0xb1, 0xaa, 0x36, 0xe0, 0x19, 0x76, 0xdf, 0xac, 0xc4, 0x3e, 0xea, - 0xb5, 0xdc, 0x95, 0xb8, 0x04, 0x4e, 0xbe, 0x4e, 0xce, 0xe4, 0x7c, 0x20, 0x3a, 0x9d, 0x2e, 0xad, 0x20, 0x81, 0xd4, - 0x2a, 0xc0, 0x47, 0xd8, 0x60, 0x9b, 0x3b, 0x34, 0xb2, 0xff, 0xdf, 0x54, 0x3f, 0xdb, 0x01, 0x18, 0x36, 0xa5, 0xa2, - 0xb2, 0x73, 0x1b, 0x92, 0x3a, 0x88, 0x4b, 0x39, 0xe5, 0xa6, 0x70, 0x51, 0x72, 0xee, 0xbd, 0xef, 0xdd, 0xd5, 0x24, - 0x7c, 0x61, 0x06, 0xc4, 0x7e, 0x24, 0x7d, 0x01, 0x04, 0x69, 0xe6, 0x23, 0x26, 0x85, 0xf4, 0xde, 0x9b, 0x01, 0x38, - 0x03, 0x50, 0x5a, 0x80, 0x94, 0x56, 0x71, 0xcf, 0xa1, 0x48, 0xf9, 0x6f, 0x48, 0x49, 0x5e, 0x87, 0x94, 0xaa, 0x26, - 0xe4, 0xce, 0xa7, 0x8f, 0x55, 0xb9, 0xa9, 0x68, 0xdc, 0xb9, 0x74, 0x6b, 0xa7, 0x43, 0x13, 0xe7, 0xec, 0xce, 0x93, - 0x52, 0xd8, 0x63, 0xa8, 0xb5, 0x3a, 0x6f, 0xfe, 0xb7, 0xba, 0x71, 0x46, 0x11, 0x68, 0x7a, 0xdb, 0x50, 0xad, 0xbf, - 0x56, 0x7a, 0xd7, 0x60, 0x86, 0x10, 0x42, 0x13, 0x1c, 0x37, 0x5f, 0xd3, 0x1d, 0x77, 0x77, 0x16, 0xd9, 0xc4, 0x38, - 0xe3, 0x00, 0xf5, 0x14, 0xa4, 0xa1, 0x63, 0x36, 0xdd, 0xac, 0xc6, 0xb9, 0x8d, 0x3c, 0xdf, 0x08, 0x26, 0x6e, 0x0f, - 0x41, 0xb7, 0x86, 0x03, 0x27, 0xd0, 0xc8, 0xf3, 0x4c, 0xfe, 0xe8, 0x03, 0x9b, 0xe3, 0xd7, 0x37, 0x64, 0xd0, 0xcb, - 0x61, 0xad, 0x05, 0xdc, 0x42, 0xb4, 0xbd, 0x0a, 0xca, 0x46, 0x80, 0x9a, 0x55, 0x5f, 0x0f, 0xd9, 0xfb, 0xc6, 0xfb, - 0x6f, 0x77, 0x9f, 0x0d, 0xb1, 0xd2, 0xbf, 0xa7, 0x58, 0xfe, 0x6b, 0x78, 0x6d, 0xd6, 0x25, 0x6b, 0x1d, 0xac, 0x87, - 0x90, 0xf3, 0x30, 0xf1, 0x10, 0x05, 0x6f, 0x61, 0x8e, 0xe3, 0xc6, 0xe3, 0x99, 0x21, 0x63, 0xcb, 0x45, 0xad, 0x07, - 0x66, 0xce, 0xfe, 0xfd, 0xf8, 0x6c, 0x4b, 0x35, 0x38, 0xc7, 0xc5, 0x46, 0xb4, 0xe9, 0x72, 0x49, 0x39, 0xb5, 0xd9, - 0xe5, 0xc8, 0x52, 0xba, 0xfd, 0x77, 0xd7, 0xa6, 0x8a, 0xfb, 0xec, 0xad, 0x6b, 0x39, 0xfc, 0xbc, 0x93, 0x13, 0x25, - 0x10, 0x51, 0xf1, 0x81, 0x22, 0xe5, 0x4a, 0x1d, 0x95, 0xaf, 0x33, 0x95, 0xa5, 0x5f, 0x7e, 0x85, 0x03, 0x41, 0x3c, - 0x20, 0x7a, 0xe3, 0x76, 0xbd, 0x4e, 0x47, 0x66, 0xcc, 0x2b, 0x62, 0x7e, 0xfb, 0xf9, 0xf9, 0x72, 0x61, 0xc0, 0xd7, - 0x10, 0x77, 0x9a, 0xd6, 0x03, 0xd6, 0xed, 0x1b, 0xf7, 0x5f, 0xcb, 0xd9, 0xe5, 0x7e, 0xcb, 0xb6, 0xb6, 0xfc, 0xb9, - 0xe1, 0x31, 0xbd, 0x50, 0x9d, 0xf2, 0x75, 0x1e, 0x16, 0xdc, 0xb4, 0x5b, 0x83, 0xe4, 0xa1, 0x3d, 0x00, 0x9f, 0xab, - 0x66, 0xc4, 0xb7, 0x1b, 0x55, 0x3a, 0xcf, 0x0b, 0x05, 0x89, 0xdb, 0x39, 0x49, 0xeb, 0xf4, 0x0e, 0x55, 0x66, 0x22, - 0x1a, 0xe1, 0x1f, 0x81, 0xac, 0xdc, 0x38, 0xe2, 0x83, 0xa0, 0xd7, 0x43, 0x82, 0x75, 0x84, 0x6a, 0x6a, 0x1e, 0xa5, - 0x0f, 0xef, 0x8d, 0xf5, 0x73, 0xdd, 0x40, 0xfe, 0x9b, 0x19, 0xa2, 0x4c, 0xf8, 0x61, 0xc8, 0x54, 0xb5, 0xdb, 0x76, - 0x21, 0x01, 0x80, 0x2a, 0xd3, 0x11, 0xb3, 0x9e, 0x79, 0x02, 0x9e, 0x0e, 0xe7, 0x32, 0xda, 0x14, 0x78, 0xab, 0x8f, - 0x77, 0xaf, 0x2f, 0x12, 0x87, 0xcb, 0x41, 0xfc, 0x30, 0xac, 0xdd, 0x8a, 0xab, 0xeb, 0x54, 0xc0, 0x17, 0x3b, 0x05, - 0x59, 0x27, 0x05, 0xd2, 0xb2, 0x6b, 0x96, 0x23, 0xf7, 0x20, 0x6f, 0xd8, 0x20, 0xb3, 0xca, 0x7d, 0x2d, 0xdf, 0x7a, - 0xf3, 0x77, 0x2e, 0x0a, 0xa1, 0xc4, 0x5f, 0x1d, 0xb3, 0xad, 0xb1, 0x40, 0x64, 0x48, 0x7f, 0x0f, 0x14, 0x83, 0x13, - 0xb1, 0xc8, 0x2c, 0xcb, 0x14, 0x96, 0x57, 0xc8, 0xa4, 0x6d, 0x5c, 0xaf, 0xc9, 0xb1, 0x15, 0xbd, 0x6a, 0xf0, 0xf0, - 0xf8, 0x25, 0x99, 0x45, 0x0a, 0x19, 0x96, 0x8f, 0x85, 0x91, 0xf2, 0x24, 0xef, 0x43, 0x97, 0xd3, 0x18, 0x3e, 0xc2, - 0xe9, 0xd3, 0x05, 0xa1, 0x2c, 0xc2, 0x94, 0x23, 0x92, 0xbd, 0x8d, 0x8d, 0x66, 0xc7, 0xac, 0x21, 0x84, 0xc9, 0x9f, - 0xf5, 0xaf, 0x73, 0xfc, 0x2b, 0xa6, 0x34, 0x05, 0xb2, 0x04, 0x1f, 0x7e, 0xa9, 0x08, 0x87, 0x08, 0x36, 0xb6, 0x71, - 0x91, 0x3d, 0x43, 0xca, 0x35, 0x90, 0x00, 0x42, 0x15, 0x18, 0xe3, 0xd9, 0x72, 0xee, 0xf8, 0x8c, 0x97, 0xb7, 0x83, - 0xce, 0x36, 0x0a, 0xcb, 0x17, 0x32, 0x8a, 0xd9, 0xd4, 0x0a, 0x28, 0x2f, 0x73, 0xaa, 0xfb, 0x34, 0x9b, 0xb4, 0xbb, - 0x20, 0xeb, 0x0a, 0x21, 0xdf, 0x1b, 0xa1, 0x1a, 0xa3, 0xdd, 0xe1, 0x17, 0x82, 0x5d, 0x99, 0x69, 0x12, 0x35, 0x55, - 0xf8, 0xfd, 0x2f, 0x07, 0x50, 0xf4, 0x2a, 0x1e, 0x57, 0xfa, 0x07, 0xd9, 0x97, 0x32, 0x97, 0x1c, 0xd6, 0xc7, 0xe0, - 0xa5, 0x3a, 0xaf, 0xa6, 0x36, 0x02, 0x05, 0xc4, 0xa8, 0xad, 0x44, 0xf5, 0x37, 0x6b, 0x1a, 0xb0, 0xa3, 0x8c, 0xf5, - 0xd7, 0xe5, 0x08, 0x87, 0x33, 0xd8, 0xe2, 0xd9, 0x52, 0xfe, 0x5a, 0x6f, 0x24, 0x8c, 0x51, 0x9b, 0xa9, 0xf2, 0x82, - 0xf1, 0xed, 0x41, 0x10, 0xd3, 0x68, 0x77, 0x72, 0x06, 0xdf, 0xc8, 0x1d, 0xf5, 0x07, 0xf1, 0x2a, 0xd7, 0x50, 0x0a, - 0x1a, 0x5f, 0x25, 0x90, 0x5b, 0x1b, 0x24, 0x90, 0x06, 0x4b, 0x11, 0x1a, 0xc7, 0x36, 0xc2, 0x3f, 0x2c, 0x55, 0xc1, - 0xbf, 0x1a, 0xcd, 0xf2, 0xed, 0x47, 0xf1, 0xf9, 0xd2, 0x6f, 0x41, 0x8c, 0xcf, 0x2b, 0xf9, 0xc7, 0x56, 0x3a, 0x97, - 0x96, 0x25, 0x83, 0xda, 0x95, 0x25, 0x35, 0x91, 0x8d, 0xe9, 0xe8, 0x7d, 0xa9, 0xa2, 0x05, 0xc4, 0x5a, 0xff, 0xa2, - 0xfa, 0xde, 0xd0, 0x89, 0x26, 0xed, 0x02, 0x1e, 0x29, 0xe8, 0x0e, 0x1e, 0x4c, 0x4f, 0xaf, 0xd6, 0xe6, 0x2d, 0x51, - 0xd4, 0xfe, 0xde, 0x86, 0x3f, 0x4d, 0x53, 0x17, 0x15, 0xf1, 0x25, 0x7b, 0x7e, 0x60, 0x6d, 0xba, 0xdd, 0xd4, 0xa0, - 0xb8, 0xc9, 0x08, 0xb5, 0x1a, 0xae, 0xde, 0x47, 0xac, 0x56, 0x30, 0x5c, 0x12, 0x9e, 0xaa, 0xd9, 0x56, 0x12, 0xbb, - 0x54, 0x50, 0xd6, 0xc7, 0xcd, 0x5d, 0x62, 0xe1, 0xab, 0xc6, 0x64, 0x13, 0x62, 0xf2, 0x9e, 0x20, 0x77, 0x3b, 0x76, - 0x0c, 0x86, 0x05, 0x0f, 0x3c, 0x20, 0x1e, 0xa8, 0xa5, 0x04, 0x03, 0xe3, 0x72, 0xf2, 0x3f, 0xbc, 0xe1, 0xe9, 0xa1, - 0x37, 0x41, 0x22, 0x20, 0xde, 0xa4, 0x2f, 0xf7, 0x0a, 0x82, 0x15, 0x95, 0x15, 0x80, 0x13, 0x35, 0x90, 0xb0, 0x42, - 0x85, 0x81, 0x43, 0xbd, 0x0e, 0xe9, 0xfc, 0x4d, 0xf3, 0xce, 0x0d, 0x18, 0x64, 0x56, 0x2d, 0xa4, 0x5b, 0xd7, 0xe9, - 0x1d, 0xe0, 0x89, 0x82, 0xeb, 0x53, 0x2b, 0x4b, 0x04, 0xe7, 0xa6, 0x97, 0x71, 0x98, 0x22, 0xf7, 0x69, 0x76, 0x9c, - 0x1e, 0x51, 0xd9, 0xdd, 0xae, 0x89, 0x64, 0x98, 0xfc, 0x09, 0xfa, 0xae, 0xd4, 0xdf, 0xe4, 0x54, 0x1b, 0x28, 0x0d, - 0xab, 0xe3, 0xdf, 0xb2, 0x8e, 0x22, 0xc1, 0x1f, 0xc4, 0xdc, 0x40, 0xd8, 0x8b, 0xc1, 0xd4, 0xa5, 0x44, 0x98, 0xd6, - 0x77, 0x05, 0xf6, 0x65, 0x29, 0xc3, 0xc7, 0x86, 0x43, 0xd6, 0xd7, 0x55, 0x9b, 0x1a, 0xe1, 0xeb, 0x09, 0xf9, 0xbc, - 0x77, 0xb2, 0xbe, 0x6e, 0x03, 0x79, 0xac, 0x1c, 0xa6, 0x6f, 0xde, 0x3a, 0x99, 0x2a, 0x70, 0xeb, 0xce, 0x73, 0xd2, - 0xdc, 0x9e, 0xa5, 0xee, 0x3b, 0xb8, 0xc7, 0xcd, 0xa7, 0x95, 0xd3, 0x75, 0x27, 0xaa, 0xd8, 0x78, 0x20, 0x2f, 0x24, - 0xf0, 0x5b, 0x59, 0x4a, 0x6b, 0x41, 0x8d, 0xf8, 0x18, 0xb4, 0xa1, 0xf5, 0x90, 0xe7, 0xd7, 0x33, 0xd4, 0x0c, 0x73, - 0x5a, 0x9c, 0x43, 0x3f, 0x2a, 0x6a, 0x33, 0x20, 0x62, 0xa4, 0x36, 0xa3, 0x3c, 0xaf, 0x82, 0xfb, 0xa5, 0xf5, 0x8f, - 0x98, 0x1b, 0xbe, 0xbe, 0xaf, 0x1f, 0x1a, 0xf3, 0x16, 0xaa, 0x8b, 0xb2, 0x4e, 0x99, 0xf9, 0xc9, 0x21, 0x0b, 0x44, - 0x86, 0x3c, 0x2b, 0xea, 0xe3, 0x7b, 0x6d, 0x05, 0x09, 0xe0, 0x1a, 0x01, 0x3b, 0xee, 0x1e, 0xc4, 0xc6, 0x16, 0x21, - 0x82, 0x0a, 0xed, 0x4e, 0x01, 0x1c, 0x54, 0x90, 0x89, 0x1f, 0xc9, 0xb5, 0xd1, 0x20, 0xaf, 0x5f, 0xa2, 0x1f, 0x2e, - 0x5c, 0x0f, 0xc9, 0xfa, 0x70, 0xc8, 0x20, 0x28, 0xe3, 0x6d, 0xe2, 0x40, 0x82, 0x08, 0x4b, 0x00, 0x3a, 0x36, 0xfe, - 0x4a, 0x25, 0xac, 0x24, 0x3a, 0xe2, 0xae, 0xde, 0x2e, 0x4f, 0x6e, 0x3d, 0x1c, 0xfc, 0x61, 0x95, 0x02, 0xc6, 0xf1, - 0x9e, 0x7f, 0x7e, 0xbf, 0x42, 0x91, 0x82, 0x98, 0x15, 0xc2, 0x21, 0xa7, 0x74, 0x99, 0x88, 0x41, 0xd6, 0x3e, 0xae, - 0x51, 0x73, 0x58, 0xc2, 0x86, 0x88, 0x8a, 0x66, 0xbb, 0x50, 0x2d, 0xea, 0x23, 0xc4, 0xe0, 0x67, 0x33, 0x76, 0xe8, - 0x22, 0x51, 0x49, 0x2b, 0x55, 0x1a, 0xd6, 0xc1, 0x7a, 0x8f, 0x5c, 0x29, 0xf0, 0x41, 0x8d, 0xaf, 0xbe, 0x09, 0x44, - 0xb1, 0x7b, 0x44, 0x6d, 0x17, 0x92, 0xc1, 0xcb, 0x7b, 0xe8, 0x4e, 0xf4, 0xcb, 0x1e, 0x85, 0xac, 0x63, 0x0d, 0xed, - 0x29, 0x4f, 0x64, 0x1e, 0x7b, 0x42, 0x03, 0x25, 0x5a, 0xfe, 0xe8, 0x4c, 0xc9, 0x44, 0x38, 0xcf, 0x3c, 0x1f, 0xae, - 0x2e, 0xf3, 0xd1, 0x87, 0xc7, 0x3c, 0xa4, 0x94, 0x58, 0xf8, 0x84, 0x25, 0x07, 0x74, 0xdd, 0x05, 0x49, 0x01, 0xbc, - 0x6b, 0x8a, 0xa5, 0xfb, 0x51, 0x11, 0x0f, 0x27, 0xeb, 0x69, 0xe6, 0x71, 0xb1, 0x57, 0xaa, 0x38, 0x7a, 0x90, 0x5d, - 0xb8, 0x40, 0xdd, 0xdb, 0x40, 0xd0, 0xb1, 0xc0, 0x2c, 0x81, 0x44, 0x88, 0xf4, 0xde, 0x56, 0xe7, 0x42, 0xc8, 0xeb, - 0x24, 0x33, 0x12, 0x81, 0x5a, 0xe5, 0x6c, 0x02, 0x75, 0xe3, 0x91, 0x22, 0x74, 0x92, 0x92, 0x3c, 0xe1, 0x00, 0xd1, - 0xe3, 0x0a, 0xeb, 0x28, 0x38, 0xc4, 0x75, 0x25, 0x65, 0x4e, 0xfe, 0xcb, 0x94, 0x26, 0x26, 0xbb, 0x72, 0x38, 0x24, - 0x02, 0xa4, 0x74, 0x4b, 0xad, 0x06, 0x9f, 0x45, 0xc4, 0x47, 0x02, 0x30, 0x13, 0x91, 0x28, 0xfc, 0x4b, 0xf7, 0xd2, - 0x33, 0x2f, 0x21, 0xa2, 0x31, 0xd3, 0xa4, 0xb3, 0xe4, 0xed, 0x35, 0xe9, 0xf0, 0x71, 0xa3, 0x93, 0xa8, 0x66, 0xed, - 0x2f, 0xa5, 0x8f, 0x89, 0x2b, 0xf7, 0x8f, 0x02, 0x13, 0x31, 0x9a, 0x9c, 0x53, 0xe9, 0x67, 0x69, 0x71, 0x3e, 0x16, - 0x28, 0x35, 0xaa, 0x2d, 0xbe, 0xbe, 0xad, 0xcf, 0x36, 0x44, 0x9d, 0xb3, 0x4b, 0x1c, 0xf0, 0x74, 0xd5, 0x74, 0xca, - 0x6d, 0x81, 0x0f, 0x2d, 0x93, 0x03, 0x52, 0x74, 0xa7, 0x5d, 0xa2, 0xdb, 0xde, 0x87, 0xe4, 0x30, 0x98, 0xad, 0x80, - 0x03, 0x28, 0xa3, 0x6a, 0x31, 0xb2, 0x1c, 0xc8, 0x62, 0xa9, 0xe4, 0x72, 0x01, 0x40, 0x8b, 0xac, 0x2b, 0xa7, 0x0c, - 0x85, 0xca, 0x69, 0x64, 0x09, 0x07, 0xd5, 0xc6, 0x48, 0xe6, 0x5a, 0x7d, 0x65, 0x08, 0x69, 0xd4, 0x5c, 0x03, 0x73, - 0xa0, 0x50, 0xb3, 0x64, 0xdd, 0x45, 0xa9, 0x56, 0xe1, 0xb9, 0x30, 0x40, 0x9e, 0x3f, 0xae, 0x36, 0xeb, 0x2e, 0x3b, - 0x2f, 0x4e, 0xc5, 0x0b, 0x0a, 0x1b, 0x1e, 0x24, 0xbb, 0x12, 0x27, 0x25, 0x08, 0x9c, 0xa2, 0xa6, 0xb1, 0x57, 0xdc, - 0x7f, 0x25, 0x7f, 0x3f, 0xa4, 0x92, 0x74, 0x2a, 0xa3, 0x18, 0xf1, 0xf4, 0xab, 0x2a, 0xeb, 0x1a, 0x6d, 0x80, 0x94, - 0xbf, 0x77, 0xe9, 0xc8, 0x7a, 0xd3, 0x55, 0x46, 0xaf, 0x4c, 0x9d, 0x55, 0xf8, 0x71, 0x3e, 0x19, 0xd3, 0xe9, 0x8b, - 0xb8, 0xaa, 0x13, 0x47, 0x01, 0x45, 0x20, 0xec, 0xf1, 0xe3, 0x2b, 0xe5, 0xd1, 0x5e, 0x09, 0x58, 0xb2, 0x8d, 0xc1, - 0x9a, 0x54, 0x47, 0x4c, 0x48, 0x5a, 0xde, 0x7d, 0x04, 0xc6, 0x4a, 0x15, 0x45, 0x17, 0xe0, 0xc3, 0x07, 0x94, 0x1e, - 0x14, 0x1a, 0xc7, 0x3c, 0xe5, 0x36, 0x64, 0x98, 0x80, 0x81, 0x1e, 0x07, 0x79, 0x76, 0xfc, 0xc9, 0x55, 0x15, 0xea, - 0x40, 0x3f, 0x2c, 0xd9, 0xd9, 0xb2, 0xb0, 0xbc, 0xca, 0x8e, 0xfd, 0xa7, 0x28, 0xba, 0xae, 0x7b, 0x62, 0x09, 0x47, - 0x7a, 0xdf, 0x8a, 0xdc, 0xc4, 0x82, 0xf3, 0xd5, 0x4a, 0x88, 0xe5, 0x09, 0xc3, 0x00, 0x69, 0x39, 0x66, 0xca, 0x40, - 0x0e, 0x1d, 0x81, 0x91, 0x0c, 0x99, 0x56, 0x77, 0xf8, 0xf4, 0x2d, 0x7e, 0xc0, 0x21, 0x93, 0x94, 0x9c, 0x69, 0x72, - 0xdc, 0x8b, 0x62, 0xb0, 0x2b, 0x43, 0x54, 0x40, 0xe3, 0x6a, 0x3a, 0x85, 0x21, 0x59, 0xea, 0x7d, 0xa5, 0x5b, 0x6a, - 0x3d, 0x82, 0xbb, 0xf3, 0x44, 0x0a, 0x76, 0x40, 0xd5, 0xcb, 0xe8, 0x8c, 0x63, 0x01, 0x84, 0xf4, 0x24, 0xc9, 0x5d, - 0x52, 0x0c, 0xb2, 0x89, 0x14, 0x0a, 0xac, 0x2f, 0x3b, 0x8c, 0x69, 0x31, 0x7d, 0x3f, 0x08, 0x9c, 0x2c, 0x75, 0x49, - 0x04, 0xe9, 0xf3, 0x60, 0x77, 0x49, 0xf1, 0x08, 0x95, 0x8f, 0xbd, 0xfb, 0x59, 0x0a, 0x4a, 0x53, 0x9d, 0xe4, 0x09, - 0x82, 0xf6, 0x1c, 0x18, 0x1d, 0x13, 0x30, 0x1f, 0x48, 0x45, 0x7d, 0x38, 0xad, 0x1e, 0x0b, 0xbb, 0x0f, 0x29, 0xee, - 0xcb, 0xec, 0xe5, 0x2f, 0xe6, 0x73, 0xa4, 0x39, 0x33, 0x74, 0x52, 0xa7, 0x90, 0xcc, 0x66, 0xf9, 0xa5, 0x28, 0x91, - 0xe6, 0xbd, 0xb7, 0x87, 0x23, 0xfd, 0x80, 0xdf, 0x17, 0x82, 0x1b, 0xc0, 0x1c, 0x46, 0xf0, 0x55, 0x17, 0xc5, 0x6e, - 0x96, 0x6d, 0x48, 0xa1, 0xb5, 0xa3, 0x19, 0x2e, 0xd9, 0xee, 0x8d, 0x24, 0x66, 0xad, 0xc8, 0x84, 0x7a, 0xaf, 0x74, - 0x64, 0x6a, 0x3f, 0x2c, 0x61, 0x6b, 0xa5, 0x62, 0x7a, 0x1e, 0xc6, 0xb0, 0x0e, 0x32, 0xc8, 0x08, 0x2a, 0x2b, 0x5c, - 0x30, 0xd4, 0x50, 0x9c, 0x94, 0xf3, 0x06, 0x91, 0xec, 0x1c, 0x4c, 0x27, 0xa6, 0xa1, 0x14, 0x8b, 0x18, 0xd3, 0x43, - 0xb7, 0x79, 0x8f, 0x62, 0x12, 0xf4, 0xfb, 0xb2, 0x3b, 0x9e, 0x3c, 0xc0, 0xcc, 0x04, 0x4e, 0x2d, 0x0d, 0xb2, 0x94, - 0xe1, 0x5c, 0xdb, 0x5f, 0xf1, 0xc3, 0x75, 0x1f, 0x7a, 0x40, 0x74, 0xbf, 0x0f, 0xf2, 0xa1, 0x5e, 0xad, 0x31, 0x18, - 0xe4, 0xb0, 0x50, 0xfa, 0xde, 0x34, 0x84, 0x87, 0x1d, 0x18, 0xcd, 0xc1, 0x32, 0x4c, 0x67, 0x59, 0x4b, 0xae, 0x6c, - 0x55, 0x4d, 0xec, 0x82, 0x6e, 0xd4, 0xba, 0x74, 0xa4, 0x9f, 0x44, 0x2a, 0x76, 0x3d, 0xc7, 0xbd, 0x16, 0xb8, 0xdb, - 0xb6, 0xbc, 0x1c, 0x8b, 0x71, 0x32, 0x23, 0xd2, 0xa8, 0x7e, 0x5a, 0x40, 0x76, 0xac, 0x23, 0x0a, 0x9e, 0x26, 0x23, - 0x1c, 0x06, 0xff, 0x83, 0xcd, 0xad, 0x23, 0xbc, 0x78, 0x2d, 0x74, 0x08, 0xad, 0x6d, 0xb8, 0x6d, 0xe9, 0xee, 0x13, - 0x44, 0xff, 0x5d, 0x27, 0x20, 0x33, 0x81, 0x0a, 0x39, 0x51, 0x1d, 0xe5, 0x54, 0xc5, 0x70, 0xd0, 0xe9, 0xd6, 0x34, - 0x56, 0x69, 0x62, 0xdd, 0xc5, 0x87, 0xe8, 0xd3, 0x0e, 0x48, 0x51, 0x5d, 0x01, 0x93, 0x45, 0xf5, 0x9b, 0x10, 0x80, - 0x8a, 0x2d, 0x33, 0x30, 0x31, 0x2f, 0x67, 0x5a, 0xda, 0xff, 0x2a, 0x2e, 0x59, 0xc5, 0xf2, 0x2f, 0x49, 0xe1, 0xf1, - 0x31, 0x4a, 0x19, 0x58, 0x6b, 0x40, 0xd4, 0xb5, 0x5e, 0xee, 0xd5, 0x45, 0xce, 0xb8, 0xa6, 0xe0, 0xc1, 0xd7, 0xee, - 0x57, 0x75, 0xc3, 0x1f, 0x3f, 0x6a, 0x38, 0xf0, 0x05, 0xa9, 0x46, 0x63, 0x01, 0xe9, 0x7e, 0x17, 0xa3, 0xc2, 0x6c, - 0xbf, 0xac, 0x07, 0x49, 0x22, 0x2a, 0x4f, 0x00, 0x7f, 0x5f, 0xaf, 0x42, 0xb7, 0x06, 0x44, 0xdc, 0x42, 0x1e, 0xcf, - 0x7a, 0x9a, 0xe4, 0x8e, 0x30, 0x45, 0xe2, 0xeb, 0xf7, 0x11, 0xa2, 0x32, 0x99, 0xde, 0xfc, 0x33, 0x6b, 0xc4, 0x29, - 0x4b, 0x60, 0x72, 0x0b, 0x4a, 0xea, 0x1c, 0xf2, 0x28, 0x23, 0x7d, 0xaa, 0x5e, 0xf2, 0x9b, 0x34, 0x07, 0x32, 0x69, - 0x83, 0x4c, 0x11, 0x88, 0x4e, 0x0f, 0xd2, 0x28, 0xfa, 0x20, 0x00, 0xee, 0x20, 0x08, 0xb4, 0x04, 0x81, 0x00, 0x3e, - 0xd2, 0x3b, 0x09, 0x34, 0x21, 0x93, 0xfc, 0x1a, 0x96, 0xa7, 0x2a, 0x95, 0xdb, 0xd4, 0x6e, 0x9c, 0x2d, 0x11, 0x9d, - 0x0a, 0x3a, 0x28, 0x66, 0xa1, 0xdf, 0x1b, 0xbf, 0x25, 0x1d, 0x7a, 0x5f, 0xa2, 0xc2, 0xd8, 0xd3, 0x34, 0xf3, 0x2c, - 0x50, 0xb2, 0x50, 0xf7, 0x7b, 0xb8, 0xff, 0x58, 0x10, 0xde, 0x25, 0x14, 0x64, 0x78, 0xa8, 0x67, 0x8a, 0x14, 0xf7, - 0x70, 0x02, 0x27, 0xe5, 0xc7, 0x8a, 0xcc, 0xde, 0xd7, 0xfc, 0x9e, 0xfe, 0x4c, 0xa0, 0x36, 0xe6, 0x0f, 0x5e, 0x3a, - 0xe6, 0x7c, 0x19, 0x17, 0x18, 0x27, 0x11, 0x07, 0x9a, 0xa2, 0xc0, 0x0e, 0x27, 0x7a, 0xde, 0xf1, 0x62, 0x1d, 0xe2, - 0xae, 0xdc, 0x3c, 0xe8, 0xad, 0xa7, 0x3a, 0x64, 0x5c, 0xcf, 0x44, 0xd6, 0xb6, 0xa8, 0xdf, 0x7f, 0xbf, 0xfa, 0x9e, - 0x1e, 0x5f, 0x8e, 0xe7, 0xa4, 0x4e, 0x51, 0x81, 0x66, 0x5a, 0x78, 0x10, 0xfe, 0x31, 0x99, 0x99, 0xc7, 0xc0, 0x07, - 0x26, 0x63, 0x74, 0xcc, 0xc8, 0x83, 0xf5, 0xb7, 0x82, 0xbc, 0xd8, 0x41, 0x7e, 0xa7, 0x90, 0xfc, 0xe4, 0xc3, 0x0c, - 0x69, 0x44, 0x41, 0x50, 0xa5, 0x3e, 0xa0, 0x50, 0x26, 0x96, 0xfd, 0xf7, 0x96, 0xf6, 0x6d, 0x72, 0x60, 0x12, 0xcb, - 0xe3, 0x6c, 0x31, 0x1e, 0xb3, 0x38, 0xe7, 0x40, 0x7f, 0x2c, 0x59, 0x78, 0x2f, 0x3c, 0x1d, 0xf3, 0xb0, 0x36, 0xf3, - 0xce, 0xc6, 0x04, 0xf0, 0x36, 0xd6, 0x96, 0x7e, 0xc7, 0xcd, 0xfa, 0x71, 0xe8, 0xa0, 0x07, 0xad, 0x3d, 0x74, 0xc0, - 0xca, 0xd3, 0x13, 0x28, 0x8a, 0x6d, 0xc1, 0xd7, 0xdb, 0x3b, 0xac, 0x65, 0x14, 0x3b, 0x64, 0xab, 0xf9, 0xba, 0x2d, - 0xad, 0xc7, 0x28, 0xa9, 0xbf, 0x32, 0xeb, 0x83, 0xb1, 0x7b, 0xf8, 0x01, 0xbb, 0xfa, 0xf5, 0xd5, 0xea, 0x1a, 0x1f, - 0xcf, 0xbb, 0x3a, 0x28, 0x7d, 0xf0, 0x2e, 0x2e, 0x99, 0xcb, 0x4a, 0xcd, 0xe3, 0x2e, 0x45, 0xec, 0x0f, 0x82, 0x67, - 0x11, 0xdd, 0xda, 0x41, 0x1a, 0x7c, 0xbf, 0x14, 0xc1, 0x06, 0xab, 0x7a, 0xa5, 0x15, 0x70, 0xa4, 0xe2, 0xce, 0x3e, - 0x51, 0x88, 0x62, 0xb6, 0x37, 0x10, 0xf1, 0xfc, 0x53, 0xfd, 0xf9, 0x3e, 0xc3, 0x57, 0x05, 0x1f, 0x90, 0x41, 0x86, - 0xcd, 0x86, 0x4b, 0xb6, 0xe2, 0xf2, 0x69, 0x18, 0x90, 0x77, 0x03, 0xbf, 0xf5, 0xdc, 0x5f, 0xc3, 0x7d, 0x64, 0xa9, - 0xe5, 0x5f, 0x20, 0x12, 0x51, 0xf8, 0x8d, 0x62, 0x22, 0xb8, 0x27, 0x08, 0x78, 0x52, 0xc9, 0x10, 0x8b, 0x75, 0xa0, - 0x6b, 0x9c, 0x1e, 0x5e, 0x0f, 0xd3, 0x59, 0x5f, 0x78, 0x9c, 0xbb, 0x36, 0xab, 0xbc, 0xca, 0x75, 0xd7, 0xb6, 0xf6, - 0x6c, 0x89, 0xf8, 0x19, 0x49, 0xac, 0x5a, 0xce, 0xcf, 0x28, 0xb6, 0x0f, 0x98, 0xca, 0xbf, 0x0d, 0xba, 0xb8, 0x23, - 0x4d, 0xae, 0x87, 0xdd, 0xfe, 0xc2, 0x56, 0x55, 0x2c, 0x1e, 0x3f, 0x7a, 0xf3, 0x6e, 0xf3, 0xc5, 0xf5, 0x81, 0x6f, - 0x69, 0x72, 0x69, 0x7f, 0x66, 0x36, 0x49, 0x92, 0xee, 0xe7, 0x64, 0x71, 0xa1, 0x8e, 0x7f, 0x3f, 0xf1, 0x49, 0xc7, - 0xc2, 0x98, 0x97, 0x5d, 0x2d, 0x66, 0x4a, 0x2b, 0xf9, 0x3b, 0xdf, 0xdf, 0x7e, 0xff, 0xec, 0x51, 0x8c, 0x6d, 0xc5, - 0xb9, 0x6d, 0x92, 0x24, 0x79, 0x96, 0x6b, 0xe1, 0x7b, 0x34, 0xd4, 0x47, 0xda, 0xe3, 0xc6, 0xcb, 0x7c, 0x89, 0xc2, - 0x6a, 0xd6, 0x3c, 0x63, 0xb6, 0x7e, 0x5e, 0x7e, 0xf7, 0xd8, 0xd9, 0xe4, 0x7a, 0x13, 0xcb, 0x91, 0xf0, 0x2d, 0xbe, - 0x65, 0x0b, 0x66, 0xba, 0x80, 0xe4, 0x2f, 0xe5, 0xee, 0xf1, 0x5d, 0x71, 0xf9, 0xc3, 0xae, 0x17, 0x66, 0x96, 0x73, - 0x2c, 0x31, 0x96, 0x28, 0x1e, 0xb8, 0x39, 0xdf, 0x81, 0x35, 0x69, 0x72, 0xbe, 0xad, 0x78, 0x8d, 0x73, 0x90, 0xfb, - 0x7b, 0xfa, 0x1f, 0x3f, 0x39, 0xda, 0xdc, 0xc5, 0xc7, 0x11, 0x74, 0x41, 0x62, 0xb7, 0x0b, 0xd6, 0x6e, 0x8a, 0x57, - 0x13, 0xc3, 0x4d, 0x54, 0x95, 0x44, 0x3d, 0x31, 0x1b, 0x01, 0x96, 0x4b, 0x5f, 0x0f, 0x38, 0xd0, 0x4d, 0x27, 0xca, - 0x22, 0xff, 0x6b, 0xec, 0x22, 0x65, 0x40, 0xf8, 0x97, 0x52, 0x48, 0x70, 0xaa, 0xb7, 0x24, 0x25, 0xb8, 0xe6, 0x3b, - 0x56, 0xe5, 0xff, 0x0d, 0x64, 0xc2, 0x6c, 0x26, 0xc2, 0x8a, 0xec, 0x7e, 0xf5, 0xdb, 0x33, 0x82, 0xa9, 0xe7, 0x22, - 0x66, 0x6d, 0xf7, 0xec, 0xd3, 0xb0, 0x67, 0x93, 0x37, 0x22, 0x0b, 0x38, 0x67, 0x08, 0x9c, 0x3c, 0xe3, 0xca, 0xe2, - 0xe4, 0x96, 0xe5, 0x37, 0x77, 0xb9, 0x27, 0x7a, 0x21, 0x91, 0x48, 0x31, 0xab, 0x68, 0xe2, 0x58, 0x01, 0x48, 0x5a, - 0x7d, 0xf8, 0x71, 0xd4, 0xf7, 0x1f, 0x58, 0xaf, 0xd5, 0xdb, 0xb8, 0x4e, 0xc7, 0x88, 0xf8, 0x68, 0x38, 0x6e, 0x21, - 0x78, 0xb9, 0x4a, 0x4d, 0xf4, 0x19, 0xb7, 0xe4, 0x15, 0xa3, 0xde, 0x90, 0xee, 0xac, 0xce, 0x7b, 0x3a, 0xb7, 0xf3, - 0x65, 0x9b, 0x28, 0x54, 0x33, 0x34, 0x83, 0x41, 0x81, 0xf8, 0x38, 0x5f, 0xab, 0x91, 0x44, 0xdf, 0x11, 0xea, 0x84, - 0xbf, 0x5d, 0xb2, 0x48, 0x88, 0x69, 0x36, 0x3b, 0xf9, 0x75, 0xee, 0xa2, 0x9a, 0x48, 0xd2, 0x3b, 0xe7, 0x10, 0x64, - 0xfa, 0x39, 0x83, 0x44, 0x0a, 0x27, 0x18, 0x43, 0x19, 0xc5, 0xb5, 0x59, 0x2e, 0x6a, 0xa1, 0x8a, 0xcf, 0xeb, 0xd9, - 0xb0, 0x53, 0x22, 0xd9, 0x4a, 0x14, 0xeb, 0x7c, 0x6d, 0x4f, 0xae, 0xa9, 0xb7, 0x5c, 0x0f, 0x19, 0xc5, 0x75, 0xf2, - 0xfc, 0xaa, 0x56, 0xb1, 0x51, 0x13, 0xf0, 0xa7, 0x94, 0xe2, 0xc0, 0x86, 0xdb, 0xbc, 0x25, 0x52, 0x7a, 0x56, 0xd6, - 0xdf, 0x3a, 0x49, 0x88, 0xef, 0xce, 0x4d, 0x2b, 0x7b, 0x43, 0x84, 0x87, 0x24, 0x81, 0xdc, 0xa8, 0xb5, 0xa6, 0x72, - 0xd7, 0xed, 0x33, 0x5f, 0x15, 0x56, 0x75, 0xfb, 0xd7, 0x6b, 0x37, 0xe0, 0x10, 0xf8, 0x00, 0x02, 0x21, 0xee, 0x25, - 0xb3, 0xcb, 0x61, 0x73, 0x04, 0x09, 0xf4, 0x19, 0xf0, 0x07, 0x2f, 0x5a, 0xa1, 0xe0, 0xad, 0xed, 0xc0, 0x03, 0x00, - 0x40, 0x6e, 0x35, 0x56, 0x3c, 0xdb, 0xc5, 0x7c, 0x47, 0xfe, 0x30, 0x55, 0x6b, 0xbe, 0x6e, 0x75, 0xd7, 0x05, 0x38, - 0x2f, 0x30, 0x9b, 0x7f, 0x2c, 0x55, 0xdb, 0x75, 0xc4, 0x69, 0x1a, 0x14, 0x98, 0xa8, 0xd2, 0xab, 0x4c, 0x95, 0xa4, - 0x56, 0x95, 0xa2, 0xe5, 0x61, 0x4d, 0xbb, 0xfa, 0x3c, 0x3e, 0xe6, 0x83, 0xb5, 0x26, 0x10, 0x5a, 0x07, 0x2f, 0xdd, - 0xdb, 0x9b, 0x96, 0x74, 0x6e, 0xb4, 0x4a, 0x9e, 0x68, 0xf3, 0x55, 0xe9, 0x5d, 0x05, 0xb7, 0x4c, 0xf9, 0x22, 0x23, - 0x0e, 0x61, 0x8d, 0xf0, 0x5f, 0xf5, 0x61, 0x68, 0x5b, 0x28, 0xb2, 0x7f, 0x1e, 0x88, 0xe0, 0xa9, 0x92, 0xbd, 0xcc, - 0x6c, 0xf3, 0x88, 0x0c, 0x61, 0x78, 0xe7, 0x12, 0x17, 0xc4, 0xf2, 0x53, 0x5d, 0x79, 0x66, 0xed, 0xee, 0x4d, 0x64, - 0x8b, 0x6c, 0xbc, 0xe3, 0x41, 0xc7, 0x3c, 0xaf, 0x2b, 0xd8, 0x61, 0xa3, 0xbd, 0x49, 0xb3, 0xc7, 0x79, 0x9b, 0xb2, - 0x8c, 0xd5, 0xc1, 0x0b, 0x59, 0x27, 0xc4, 0x24, 0x2d, 0x2a, 0x45, 0xe0, 0x7c, 0x80, 0xd6, 0x1e, 0x4f, 0x77, 0x3f, - 0x25, 0x7e, 0x6d, 0x2e, 0x2c, 0x36, 0xe8, 0x4b, 0x07, 0xbb, 0x9f, 0x79, 0xc4, 0x86, 0x11, 0x5b, 0x90, 0x7f, 0xdb, - 0x06, 0x10, 0xbb, 0x47, 0x94, 0xb2, 0x1b, 0xd1, 0xa3, 0x54, 0x3f, 0xe1, 0x55, 0x3e, 0x50, 0x81, 0x34, 0x66, 0x48, - 0x69, 0xc5, 0x15, 0x27, 0x92, 0xa0, 0x77, 0xb0, 0x04, 0x49, 0x0e, 0xec, 0x7b, 0x82, 0x88, 0xe8, 0x87, 0x9c, 0x8a, - 0x5c, 0xc5, 0x53, 0xcf, 0xa6, 0xdb, 0x23, 0xa3, 0x24, 0x48, 0xee, 0xf1, 0xa3, 0xe0, 0xbb, 0xbd, 0x89, 0xe2, 0x6e, - 0xf3, 0x44, 0xf0, 0xe6, 0x09, 0x26, 0x82, 0xf3, 0x02, 0xf9, 0x98, 0x5d, 0x3c, 0x81, 0x44, 0x25, 0x42, 0xbf, 0xe4, - 0xec, 0xe8, 0xdf, 0x65, 0xa9, 0xb7, 0xda, 0xeb, 0x50, 0x18, 0xb4, 0x2d, 0xa7, 0xd6, 0x38, 0xee, 0xb0, 0x94, 0x5d, - 0x34, 0x77, 0x59, 0xb2, 0x2c, 0x6b, 0x2f, 0xa3, 0x11, 0x1a, 0xa9, 0x79, 0xf8, 0x5c, 0x6a, 0x59, 0xd1, 0xf1, 0xa2, - 0x16, 0xe1, 0xc0, 0x10, 0x4b, 0xa5, 0xb3, 0x9c, 0x62, 0xb5, 0x5d, 0x18, 0x59, 0x8e, 0x23, 0x97, 0x2b, 0x09, 0x28, - 0x9a, 0x43, 0x44, 0x99, 0x0c, 0x1c, 0x47, 0x0b, 0x53, 0x29, 0x30, 0x66, 0x16, 0x1e, 0xec, 0x7c, 0x9b, 0x91, 0xeb, - 0x68, 0x24, 0x5f, 0xf8, 0x86, 0x14, 0xe3, 0x83, 0xb4, 0xd7, 0xd9, 0x88, 0x64, 0xe4, 0x80, 0x3d, 0x97, 0xa9, 0x08, - 0xab, 0x38, 0xaa, 0x77, 0x73, 0x8d, 0xeb, 0x46, 0x65, 0xe4, 0x8a, 0xf6, 0x3a, 0xb2, 0x58, 0x68, 0xc1, 0x7a, 0x7e, - 0xc9, 0xbc, 0xfb, 0x1c, 0x60, 0x6b, 0xa3, 0xac, 0x76, 0xe9, 0x02, 0xcd, 0xf9, 0x58, 0x53, 0xf8, 0x3b, 0x19, 0x81, - 0xbf, 0x71, 0xc2, 0x4e, 0xb3, 0x9f, 0xf7, 0xae, 0x91, 0x59, 0xf6, 0x32, 0xde, 0x32, 0x8f, 0x4e, 0x1d, 0x27, 0xb7, - 0x4e, 0x13, 0xc3, 0x98, 0x61, 0xc9, 0xf7, 0x07, 0xb8, 0xc4, 0x7c, 0x47, 0x80, 0x9d, 0xdf, 0xf3, 0x5c, 0xd2, 0x4e, - 0xe9, 0x80, 0xb4, 0x64, 0xf3, 0xc4, 0x4d, 0xd6, 0x5b, 0x93, 0x9f, 0x53, 0x8a, 0x95, 0x0b, 0xfe, 0x5a, 0xbf, 0xb2, - 0x9e, 0x94, 0xef, 0xd3, 0xe1, 0xad, 0x37, 0x33, 0xf9, 0xc1, 0x56, 0x98, 0xb0, 0x77, 0x40, 0x07, 0x5f, 0xc7, 0x7a, - 0x0b, 0x1f, 0x1f, 0xd8, 0xd1, 0x92, 0x84, 0x4e, 0x15, 0x5a, 0xd5, 0x51, 0xc8, 0xf8, 0xe8, 0x3e, 0x77, 0x1a, 0x89, - 0x45, 0x52, 0x2c, 0xa0, 0xf3, 0xad, 0xda, 0xfb, 0x27, 0xd4, 0xfc, 0xa8, 0x35, 0x99, 0xa2, 0xe9, 0xcc, 0xa9, 0x73, - 0xf5, 0xd7, 0xd4, 0x97, 0xed, 0x58, 0x07, 0x33, 0x71, 0xfd, 0x2d, 0xba, 0x56, 0x5f, 0x73, 0x9f, 0xa5, 0x20, 0x35, - 0x65, 0xd9, 0xc5, 0x89, 0xea, 0xcc, 0xab, 0x51, 0xa4, 0x53, 0xf1, 0xf1, 0x36, 0x72, 0xc7, 0x8b, 0x91, 0xd8, 0xc2, - 0x3b, 0xf8, 0x0a, 0x4b, 0xa2, 0xde, 0x6f, 0x44, 0x7c, 0x4c, 0xa8, 0x19, 0xbe, 0x43, 0x15, 0x38, 0x6b, 0x81, 0x81, - 0x92, 0x9c, 0xa8, 0xdb, 0x4e, 0xc5, 0xd9, 0x19, 0xbc, 0x34, 0x62, 0x57, 0x24, 0xa1, 0x43, 0x3e, 0x43, 0x7d, 0x05, - 0x1f, 0xed, 0xb3, 0x82, 0x1b, 0x4c, 0x2d, 0xf8, 0xb5, 0x8c, 0x62, 0x66, 0xfa, 0xdc, 0x35, 0xc4, 0x20, 0xfa, 0x9e, - 0x96, 0x66, 0x48, 0x19, 0xab, 0x48, 0xd5, 0x34, 0x9e, 0x83, 0xf7, 0x02, 0x23, 0x62, 0xba, 0x6c, 0x77, 0x36, 0xbf, - 0x6e, 0x23, 0xc8, 0x12, 0x5d, 0x75, 0x9b, 0xc8, 0x24, 0x06, 0xce, 0xb1, 0x26, 0xc4, 0x87, 0x30, 0x43, 0x90, 0x0b, - 0xdd, 0xeb, 0x64, 0xa4, 0xd2, 0x27, 0x5c, 0xa4, 0xa3, 0x8e, 0x1e, 0xee, 0x66, 0x59, 0xbb, 0x61, 0xd7, 0xac, 0xfe, - 0x77, 0xde, 0xb5, 0xc3, 0xeb, 0xd3, 0xa0, 0xc8, 0x13, 0x6a, 0xb0, 0x40, 0x7a, 0x84, 0xbf, 0xf9, 0xf1, 0x50, 0x22, - 0xd3, 0xaf, 0x8f, 0x53, 0x21, 0x33, 0xce, 0x81, 0x03, 0xc8, 0x74, 0x4a, 0xff, 0xce, 0xbe, 0xac, 0xac, 0x60, 0xa4, - 0x0d, 0x7c, 0x6b, 0x06, 0xdb, 0x39, 0x59, 0x88, 0x8e, 0xd3, 0x6e, 0x86, 0xe8, 0xa1, 0x2d, 0x3b, 0xfd, 0x08, 0xad, - 0x53, 0x92, 0x96, 0xfd, 0x10, 0xc1, 0xca, 0x6a, 0x9f, 0x24, 0xba, 0x97, 0x46, 0xc0, 0xae, 0x5f, 0x65, 0x49, 0x2c, - 0x48, 0xa3, 0xff, 0xcc, 0xbc, 0xd2, 0x8d, 0x08, 0x0f, 0x6b, 0xc8, 0x00, 0x36, 0xc4, 0xea, 0x1e, 0xbb, 0x29, 0x2c, - 0xbc, 0xb5, 0x29, 0xd0, 0x99, 0x66, 0x8e, 0x06, 0x01, 0xdb, 0xcb, 0x7d, 0x8c, 0x34, 0x94, 0x3f, 0x5b, 0x89, 0x2d, - 0x47, 0x9a, 0xe2, 0xa3, 0xff, 0x78, 0x6d, 0x9a, 0x62, 0x91, 0x3a, 0x5f, 0xac, 0x27, 0x99, 0xe0, 0xbf, 0xa9, 0x9e, - 0x13, 0xcf, 0x3e, 0x32, 0xba, 0xef, 0xbf, 0x5e, 0x47, 0x56, 0x9e, 0x4f, 0x1c, 0x5f, 0xb5, 0x32, 0x39, 0x5f, 0xb1, - 0xcd, 0x41, 0x05, 0x6c, 0x7e, 0xe0, 0xe7, 0xac, 0x70, 0x6c, 0xc8, 0x3f, 0x9a, 0xf9, 0x08, 0xe3, 0x6a, 0x85, 0xef, - 0xda, 0x8b, 0x87, 0xb6, 0x62, 0x52, 0x24, 0x2d, 0xa8, 0xa4, 0x81, 0x54, 0x23, 0x2b, 0x12, 0x64, 0x18, 0xb9, 0x40, - 0xaf, 0xf8, 0x14, 0x4f, 0xcc, 0x96, 0x24, 0x3c, 0x14, 0xdd, 0xe2, 0x19, 0xa1, 0x42, 0xf0, 0xdf, 0x07, 0x64, 0x22, - 0x90, 0x04, 0x98, 0xeb, 0x08, 0x75, 0x94, 0xc4, 0x13, 0x9e, 0x1e, 0x24, 0xe8, 0x24, 0xe8, 0xe5, 0x5b, 0x21, 0x22, - 0x2a, 0x5f, 0x7d, 0xdd, 0x24, 0x68, 0x56, 0x82, 0x10, 0xcb, 0x19, 0x4b, 0x22, 0xb8, 0xd6, 0x8c, 0xde, 0xfd, 0x88, - 0x52, 0xdd, 0x6d, 0x48, 0x63, 0xf9, 0x0f, 0x23, 0x52, 0xe5, 0x9b, 0x9f, 0x71, 0x75, 0x19, 0xed, 0x19, 0xb9, 0x0b, - 0x54, 0x68, 0xf6, 0x09, 0x19, 0xfa, 0x18, 0xab, 0x16, 0xd1, 0x07, 0xf3, 0xb6, 0xa1, 0xb8, 0xc5, 0x14, 0x9b, 0xbb, - 0xb5, 0x7e, 0xce, 0x7e, 0xcc, 0x1f, 0x90, 0x50, 0x9e, 0x0a, 0x38, 0xc4, 0xc4, 0x2f, 0xc2, 0x06, 0x7d, 0x38, 0xef, - 0xd5, 0x48, 0x75, 0x7f, 0xbf, 0xed, 0xc3, 0x3c, 0x16, 0xe5, 0x27, 0xd4, 0xf6, 0x0c, 0x28, 0xa8, 0x94, 0x51, 0xa0, - 0xd6, 0x80, 0xb1, 0x0b, 0x4e, 0xe4, 0xfc, 0x34, 0x2c, 0x00, 0xea, 0x2b, 0x56, 0x4d, 0x31, 0x18, 0x23, 0x18, 0xe9, - 0x36, 0xc0, 0x0e, 0xa9, 0xd3, 0xc2, 0xc1, 0xbc, 0xfe, 0xf3, 0xa5, 0x0b, 0x0b, 0x84, 0x82, 0x37, 0xc9, 0xd2, 0x9a, - 0x29, 0xf4, 0x13, 0x04, 0xa6, 0xe0, 0x53, 0x79, 0xd4, 0x93, 0x78, 0xdf, 0x3f, 0x5f, 0x57, 0x89, 0x14, 0xf8, 0xb9, - 0xf0, 0x86, 0x08, 0x2b, 0xa6, 0x88, 0x79, 0xc4, 0x67, 0xd6, 0x92, 0x7d, 0xe1, 0x7d, 0xeb, 0x81, 0x3a, 0x05, 0x3c, - 0x73, 0xdf, 0x27, 0xf7, 0x42, 0xe0, 0x0f, 0x57, 0x1f, 0x3e, 0x99, 0x1f, 0xcd, 0x80, 0x55, 0x3d, 0xb2, 0x98, 0x84, - 0xa9, 0x28, 0xb3, 0x84, 0x20, 0x6e, 0x2a, 0x81, 0x85, 0x61, 0x5c, 0x8d, 0x9b, 0x8f, 0x75, 0xeb, 0x29, 0x13, 0x00, - 0x6a, 0x49, 0x42, 0xf7, 0x0c, 0x65, 0xcc, 0xec, 0xa5, 0x15, 0xa0, 0xdc, 0x73, 0x75, 0xf2, 0x72, 0x68, 0x8f, 0x61, - 0xe0, 0x50, 0xb6, 0x36, 0x98, 0xc6, 0x89, 0xc8, 0x32, 0x10, 0x20, 0x0e, 0xe5, 0xd7, 0xb9, 0xd2, 0xba, 0xea, 0x46, - 0x4c, 0x5d, 0x87, 0x7a, 0x3b, 0x47, 0xc7, 0x42, 0xdc, 0xfb, 0x99, 0x1e, 0x01, 0xb6, 0xd3, 0xf7, 0xf2, 0x03, 0x27, - 0x15, 0x02, 0xaf, 0x84, 0xca, 0x03, 0x89, 0xec, 0x81, 0x76, 0x50, 0x36, 0x00, 0x92, 0xdc, 0x16, 0x57, 0x0a, 0xd2, - 0x16, 0x20, 0x66, 0x36, 0xfe, 0xa7, 0x1f, 0x34, 0x8a, 0x03, 0xf2, 0xbe, 0x0f, 0x92, 0x92, 0xc6, 0xb3, 0x50, 0x6d, - 0x9c, 0x48, 0x11, 0xcc, 0xe0, 0x61, 0x11, 0x34, 0x22, 0x53, 0xa1, 0x73, 0x2b, 0xd8, 0xc6, 0xef, 0x5e, 0x9b, 0x47, - 0xa2, 0xc2, 0xf4, 0x37, 0xff, 0x74, 0x65, 0xdd, 0xa2, 0x48, 0xcb, 0xef, 0x71, 0xdd, 0xc7, 0xf8, 0xff, 0x06, 0x45, - 0x49, 0x92, 0xcd, 0x5e, 0x2a, 0x99, 0xce, 0xd8, 0xf3, 0x2b, 0xad, 0x8f, 0x16, 0xed, 0x81, 0x7d, 0xc3, 0x7b, 0xd0, - 0xdc, 0x03, 0xe1, 0x87, 0x92, 0x56, 0x9b, 0xfa, 0x84, 0xaa, 0x0a, 0x32, 0x24, 0x1a, 0xe3, 0x22, 0xb5, 0xa6, 0x4c, - 0xb5, 0x5b, 0xec, 0x06, 0x90, 0x4c, 0x63, 0x54, 0xd1, 0xe4, 0xbe, 0x79, 0x66, 0xf3, 0xc2, 0x3d, 0x91, 0x46, 0xd3, - 0x05, 0xb9, 0xfc, 0x2c, 0x39, 0xca, 0x94, 0x92, 0x25, 0xb1, 0x0c, 0x87, 0xf3, 0x10, 0x61, 0xae, 0x35, 0x44, 0x54, - 0x2a, 0x8c, 0x37, 0x4c, 0x4a, 0x13, 0x2b, 0xf9, 0x2d, 0x4a, 0x84, 0x45, 0xb0, 0xfa, 0xb4, 0xad, 0x03, 0x5c, 0x9b, - 0x83, 0x72, 0x84, 0x7b, 0xcb, 0x13, 0x6c, 0x6a, 0x9d, 0x07, 0xe7, 0x51, 0xae, 0x8a, 0x43, 0xa1, 0x4e, 0xdb, 0x07, - 0x54, 0xde, 0x44, 0xe8, 0x0c, 0x99, 0xb0, 0x35, 0x1e, 0x63, 0x90, 0x1b, 0x8f, 0x37, 0xd1, 0x0d, 0xcd, 0x87, 0x89, - 0x8a, 0xfa, 0x44, 0x5e, 0x26, 0xa0, 0xaa, 0xde, 0xa4, 0xf7, 0x53, 0xf2, 0xd3, 0x28, 0xa2, 0xc8, 0x9d, 0xe4, 0x84, - 0xca, 0x5a, 0x12, 0x15, 0x05, 0xb6, 0xf0, 0x24, 0x09, 0x09, 0xa0, 0xb8, 0x1b, 0xe3, 0x50, 0x85, 0xfc, 0xae, 0xca, - 0xe1, 0x5d, 0x8f, 0xea, 0xd0, 0xd2, 0x25, 0x90, 0xe4, 0x67, 0x32, 0xe9, 0x8f, 0x79, 0xef, 0x3e, 0x93, 0x87, 0xf7, - 0x23, 0x85, 0xb9, 0x8f, 0xf1, 0x1a, 0x66, 0x21, 0x2e, 0xff, 0xf6, 0xf3, 0xa2, 0x17, 0x1f, 0x25, 0x9d, 0x20, 0x33, - 0x54, 0xae, 0x8d, 0xf7, 0x4d, 0x23, 0x52, 0x55, 0xd4, 0x42, 0x20, 0x9f, 0xdc, 0xfd, 0x7a, 0x06, 0xa5, 0x8c, 0xe6, - 0x72, 0xaa, 0x5e, 0x27, 0xe5, 0x36, 0x7e, 0x18, 0x1a, 0xa2, 0xd7, 0xe5, 0x68, 0x53, 0xc0, 0x12, 0x6d, 0xf3, 0xf0, - 0xcf, 0x07, 0xab, 0xc8, 0x97, 0xe3, 0xa6, 0xd8, 0xa7, 0x8a, 0xc5, 0x9c, 0x7b, 0x7f, 0xb7, 0xc6, 0x03, 0x61, 0x7f, - 0x4a, 0x22, 0x99, 0x08, 0x02, 0x92, 0xb2, 0x05, 0x9e, 0x81, 0x43, 0x29, 0x5d, 0x9a, 0xa8, 0x35, 0x38, 0x94, 0xd4, - 0x9c, 0x7d, 0x4f, 0x2a, 0x9f, 0x3e, 0x2f, 0x11, 0x7e, 0x65, 0x5e, 0x30, 0x97, 0xd5, 0x48, 0x5b, 0x11, 0x2d, 0xc7, - 0x12, 0x2d, 0x80, 0x5a, 0xa8, 0x0b, 0x75, 0x53, 0x01, 0xc1, 0xf8, 0x5a, 0xef, 0x0f, 0x91, 0x51, 0x85, 0xe2, 0x29, - 0x4a, 0xe9, 0x68, 0x97, 0xaf, 0xb8, 0x7d, 0xe9, 0x84, 0x29, 0x7c, 0xc3, 0x11, 0x47, 0xe4, 0x99, 0xee, 0x9b, 0x76, - 0xb9, 0x69, 0x45, 0xff, 0x80, 0x08, 0xf1, 0x6e, 0xbe, 0xd4, 0xb9, 0x31, 0x39, 0x82, 0x2b, 0x82, 0x66, 0x8b, 0x83, - 0xa7, 0xf2, 0x0f, 0xd7, 0x65, 0x21, 0x5d, 0x13, 0xe5, 0x48, 0x22, 0x3f, 0x64, 0x06, 0x5a, 0x01, 0x89, 0x35, 0x61, - 0x44, 0x0e, 0x66, 0x0b, 0x00, 0xbd, 0x36, 0x47, 0xb7, 0xda, 0xa8, 0x2e, 0x5b, 0x00, 0x5b, 0xfa, 0x0a, 0x46, 0x86, - 0x42, 0xe8, 0x88, 0xe1, 0x40, 0x46, 0xd4, 0x27, 0x95, 0x81, 0x2c, 0x3a, 0xc7, 0x02, 0x94, 0x79, 0x9f, 0x82, 0xbc, - 0x71, 0x12, 0x25, 0x24, 0x8d, 0x33, 0xf3, 0x49, 0x9d, 0x9d, 0x94, 0x83, 0xac, 0xa5, 0x90, 0x9e, 0x54, 0x37, 0xa8, - 0x5c, 0x2b, 0x7a, 0x25, 0xf4, 0x50, 0x72, 0x27, 0x36, 0x83, 0xd7, 0x5c, 0x19, 0xc5, 0x2f, 0x2d, 0xff, 0x32, 0xa1, - 0x61, 0x51, 0x9d, 0x40, 0x07, 0x7a, 0x09, 0xad, 0x21, 0xe6, 0xff, 0x5d, 0xb9, 0x77, 0x1d, 0xa4, 0x5b, 0xc7, 0x40, - 0xcb, 0x79, 0xab, 0xd4, 0xb3, 0x50, 0xd1, 0xad, 0xed, 0x99, 0xd4, 0x56, 0x15, 0x07, 0xdb, 0x98, 0x16, 0x64, 0xde, - 0xc1, 0xe7, 0x94, 0x0e, 0xa9, 0x8f, 0xb6, 0x71, 0xcd, 0x15, 0xd9, 0x83, 0xa5, 0xaf, 0xb1, 0x32, 0xa7, 0x0f, 0xc3, - 0x81, 0x17, 0x93, 0xb9, 0xb1, 0xe3, 0x6f, 0x84, 0x55, 0x2b, 0xd5, 0x46, 0xc4, 0xec, 0x10, 0x60, 0xaa, 0x1a, 0x8d, - 0x35, 0xef, 0xc3, 0x64, 0xa1, 0x9f, 0x65, 0xae, 0x00, 0xe5, 0x88, 0x49, 0xbd, 0xb2, 0xec, 0x85, 0xd6, 0x83, 0xef, - 0x97, 0x57, 0x57, 0xb2, 0xec, 0x5a, 0xa7, 0x87, 0xc0, 0x09, 0xe0, 0x4d, 0x41, 0xd5, 0x1a, 0x2f, 0xee, 0xdb, 0x0b, - 0xaf, 0xad, 0x0b, 0x52, 0x12, 0xf0, 0x8e, 0x92, 0xc1, 0x57, 0x9e, 0x06, 0x82, 0xe6, 0x7b, 0xe5, 0x7e, 0x62, 0x46, - 0x24, 0x72, 0xc7, 0xed, 0x19, 0x1f, 0xcf, 0xc3, 0x95, 0xa1, 0xf8, 0x65, 0x6c, 0x4d, 0x6b, 0x81, 0xf9, 0x83, 0x04, - 0x96, 0x13, 0xb5, 0x5b, 0x9f, 0x8b, 0x79, 0x22, 0xd8, 0x29, 0x0a, 0xd4, 0x23, 0x54, 0x0c, 0x27, 0x81, 0xa2, 0x91, - 0x16, 0x98, 0xc3, 0x58, 0xe7, 0x70, 0x0b, 0x08, 0xa9, 0x53, 0x20, 0xe8, 0x6f, 0x47, 0x02, 0x8c, 0xfc, 0x41, 0x91, - 0x13, 0x4f, 0x9a, 0x9b, 0x35, 0x08, 0xfc, 0x7d, 0x38, 0x54, 0xa7, 0xed, 0xe5, 0x27, 0xdc, 0x81, 0x9b, 0xd8, 0x33, - 0x8e, 0x9f, 0xc5, 0xfd, 0x26, 0x27, 0x91, 0x73, 0x28, 0xaa, 0xf2, 0x39, 0x87, 0xc4, 0x4c, 0x1c, 0xea, 0x70, 0xfb, - 0x20, 0x5d, 0x5b, 0xc0, 0x70, 0x71, 0x98, 0xc6, 0x5e, 0x1d, 0x25, 0x20, 0x95, 0x7c, 0x74, 0x37, 0x9f, 0x7e, 0xf6, - 0x51, 0x3d, 0x88, 0xf6, 0x21, 0xe2, 0x6f, 0x6d, 0x49, 0xa3, 0x50, 0x79, 0x38, 0xb7, 0xbe, 0xa4, 0x86, 0x8f, 0x10, - 0x87, 0x7f, 0x2f, 0x16, 0xc5, 0x40, 0xec, 0x36, 0xb9, 0xe6, 0x82, 0x41, 0xef, 0x24, 0x03, 0xa1, 0xf5, 0x66, 0x98, - 0xca, 0x55, 0xb3, 0x2d, 0xac, 0x4c, 0x3b, 0x83, 0x0f, 0x36, 0xb6, 0xc5, 0x09, 0x08, 0xa2, 0x95, 0x41, 0xb7, 0x84, - 0x09, 0x4b, 0x8c, 0x29, 0xf4, 0x2d, 0x31, 0xcc, 0x79, 0x16, 0x95, 0xc4, 0x02, 0x4c, 0x47, 0x6b, 0xb6, 0xf4, 0x2b, - 0xa6, 0x2b, 0x9d, 0x89, 0xde, 0xb4, 0x41, 0xa6, 0x92, 0x66, 0x16, 0xc0, 0xdf, 0x64, 0x67, 0xd9, 0xe0, 0x1f, 0xd0, - 0xda, 0x95, 0x22, 0x31, 0x21, 0xdd, 0x82, 0x17, 0x95, 0x95, 0x9a, 0x37, 0x2e, 0x94, 0xfb, 0x35, 0xdf, 0xb4, 0xad, - 0x15, 0x82, 0xc3, 0x3a, 0x24, 0x1f, 0x58, 0x80, 0xe5, 0x72, 0x29, 0x2e, 0x55, 0x3b, 0x82, 0xa1, 0xb4, 0x95, 0xe4, - 0xc3, 0x22, 0x43, 0xd2, 0xe3, 0x13, 0x0d, 0x91, 0x90, 0x33, 0x9e, 0xb3, 0x35, 0xe0, 0xe4, 0xee, 0xce, 0x6a, 0xa6, - 0xf5, 0xa7, 0xdd, 0x78, 0xcf, 0x4b, 0x10, 0x93, 0x66, 0x0a, 0xbc, 0x27, 0xbb, 0x81, 0xb4, 0xdb, 0x2c, 0x36, 0xfa, - 0x9b, 0x6e, 0x69, 0x80, 0xee, 0xb6, 0x83, 0x01, 0x0c, 0x8c, 0x30, 0x0b, 0x2e, 0xbc, 0xa0, 0x6b, 0xff, 0xe0, 0x18, - 0xf0, 0x48, 0x81, 0xb3, 0x62, 0x48, 0x19, 0xe2, 0x6e, 0x6c, 0xf3, 0x63, 0xb6, 0x58, 0xbc, 0xfe, 0xfa, 0x3d, 0x32, - 0xa0, 0x2e, 0x70, 0x04, 0x1f, 0x68, 0x19, 0xa9, 0x34, 0x70, 0x4a, 0x2a, 0x3f, 0xda, 0x3b, 0x93, 0x6c, 0x65, 0x6a, - 0x85, 0xb0, 0xaa, 0x06, 0x9b, 0x1a, 0xd0, 0x66, 0x96, 0x96, 0xb6, 0xa5, 0x16, 0x98, 0xdb, 0xde, 0x0b, 0x30, 0xf9, - 0x02, 0x7a, 0xc0, 0xf2, 0x9f, 0xa1, 0x7b, 0x18, 0x4d, 0x2c, 0xe3, 0x5e, 0x10, 0x17, 0x55, 0x10, 0x40, 0x7a, 0x5b, - 0x8f, 0x20, 0x69, 0x5a, 0x63, 0xa2, 0xc3, 0xa2, 0xbb, 0x11, 0xb0, 0x0a, 0x2d, 0x31, 0x02, 0x7b, 0xc8, 0x8d, 0xa9, - 0x58, 0x3a, 0xf2, 0xab, 0x05, 0x16, 0x3e, 0x0f, 0x62, 0x5f, 0x93, 0xae, 0x97, 0xa5, 0x06, 0x62, 0xf2, 0x68, 0xeb, - 0x8d, 0x7e, 0x48, 0x8f, 0x76, 0x5d, 0xe3, 0x7d, 0xd4, 0x44, 0x60, 0x65, 0x2a, 0xb7, 0x87, 0xd9, 0x76, 0xfd, 0xd5, - 0x92, 0x02, 0xd5, 0xcc, 0x59, 0x16, 0xfe, 0xf6, 0xfe, 0x69, 0x3f, 0x01, 0x2e, 0xdf, 0xf1, 0xae, 0xe7, 0x80, 0xb0, - 0x1c, 0x9d, 0x55, 0x72, 0xdd, 0x6e, 0x6b, 0xff, 0x33, 0x3e, 0x34, 0x86, 0x92, 0x61, 0xfb, 0x9f, 0xee, 0x4e, 0xd7, - 0x23, 0x15, 0x0e, 0xa3, 0xc0, 0x51, 0xf8, 0xde, 0x7b, 0xcf, 0xab, 0x95, 0x3a, 0xce, 0xb2, 0x5f, 0xfb, 0xd6, 0xd4, - 0xeb, 0x64, 0x1b, 0xd6, 0x28, 0xbe, 0x1d, 0x23, 0x1b, 0x7b, 0xc1, 0xc8, 0xda, 0x18, 0xab, 0x7b, 0x04, 0x6b, 0x8f, - 0x6b, 0x8a, 0xe1, 0x6e, 0x05, 0xdf, 0x6f, 0xf7, 0xb8, 0x96, 0xd3, 0x39, 0xdd, 0x99, 0x6f, 0xdb, 0x2f, 0x7f, 0x72, - 0x96, 0x16, 0x1e, 0x34, 0x6f, 0xca, 0x65, 0x96, 0x2e, 0xab, 0xe4, 0x5a, 0x20, 0x4f, 0x36, 0x9d, 0x8b, 0x7a, 0xfd, - 0x79, 0xaf, 0x11, 0x66, 0xb0, 0x77, 0x17, 0xf1, 0xf6, 0x3e, 0xba, 0x9b, 0xcb, 0xa9, 0xcf, 0xbb, 0x45, 0x43, 0x08, - 0xe5, 0xe6, 0x95, 0xd3, 0xd6, 0x1b, 0xc7, 0x1c, 0x0f, 0xf8, 0xb0, 0x78, 0xef, 0x90, 0x13, 0x42, 0x6d, 0xf0, 0xeb, - 0x09, 0xee, 0x3e, 0xc4, 0x93, 0x6d, 0x7f, 0x4e, 0xdc, 0xe6, 0x0c, 0x11, 0xb6, 0xc8, 0xc3, 0xd2, 0x94, 0x74, 0x5c, - 0x03, 0x1b, 0xee, 0xce, 0x0a, 0x99, 0xb9, 0xf8, 0x95, 0xfb, 0xc6, 0x2d, 0x1c, 0x7d, 0x4f, 0xc8, 0x21, 0xcb, 0x32, - 0x6d, 0xde, 0x82, 0xbe, 0xb0, 0x99, 0xe5, 0x69, 0x1a, 0x93, 0xe5, 0x0f, 0x23, 0xdc, 0x15, 0x72, 0xd7, 0x5c, 0x45, - 0xcb, 0x69, 0x96, 0x8a, 0xba, 0x67, 0x1c, 0xb7, 0x38, 0xe3, 0x20, 0xbe, 0x07, 0x33, 0xfd, 0x7e, 0x8d, 0x6c, 0x68, - 0x5e, 0xfb, 0x07, 0x9e, 0x65, 0xe0, 0xf4, 0x5f, 0x6d, 0x54, 0xa7, 0x72, 0x9e, 0x03, 0xa0, 0x64, 0x89, 0xfe, 0x74, - 0x1c, 0xd2, 0x86, 0x42, 0x18, 0x15, 0xee, 0xbe, 0xfc, 0x68, 0x6f, 0x79, 0x15, 0x13, 0xd1, 0x1e, 0x3d, 0xe9, 0xce, - 0x08, 0x57, 0xc4, 0x5b, 0x46, 0x03, 0x28, 0xc6, 0x82, 0x0e, 0x14, 0x52, 0x56, 0x7b, 0x34, 0x67, 0x43, 0x9c, 0x79, - 0x9e, 0x54, 0x91, 0x2e, 0x02, 0xd6, 0x77, 0xc5, 0xa1, 0x9e, 0xdc, 0xab, 0xc0, 0xcb, 0xbe, 0x60, 0x1d, 0xea, 0x01, - 0xdc, 0x6f, 0x8a, 0x14, 0x1f, 0x69, 0xeb, 0x97, 0x5c, 0x31, 0xba, 0xb6, 0x4a, 0xc6, 0xfa, 0x6e, 0x8c, 0x68, 0xc4, - 0xe4, 0xaa, 0x26, 0x2c, 0xa7, 0x31, 0x8a, 0x46, 0x81, 0xe4, 0x9c, 0x1a, 0xc7, 0x38, 0x1d, 0x58, 0x4f, 0x22, 0x29, - 0x5d, 0x40, 0xc8, 0x2c, 0xc9, 0xf4, 0xa0, 0x01, 0x96, 0x64, 0xa4, 0x0d, 0x2a, 0xef, 0xa1, 0xa3, 0x71, 0xcf, 0x32, - 0x68, 0xee, 0x50, 0x57, 0x15, 0xae, 0xdd, 0xf2, 0x20, 0x53, 0x31, 0xb7, 0x66, 0x53, 0xfd, 0xb8, 0x1c, 0x44, 0x76, - 0x4d, 0xbb, 0x76, 0xdb, 0x67, 0x03, 0x2a, 0xb8, 0x81, 0x0c, 0x07, 0x29, 0xfb, 0x90, 0xd1, 0x23, 0x72, 0x67, 0x49, - 0xf7, 0xf9, 0x81, 0x42, 0xbf, 0x53, 0x07, 0x04, 0x18, 0xf9, 0x4a, 0x68, 0x87, 0x0d, 0x77, 0xea, 0xd0, 0x79, 0xdb, - 0x63, 0x22, 0x47, 0xe1, 0xf0, 0x2a, 0x49, 0xdf, 0x13, 0x6d, 0x47, 0x37, 0xee, 0xfb, 0xe3, 0x80, 0x9f, 0x94, 0xa6, - 0x88, 0x5a, 0x93, 0xd4, 0xe9, 0x62, 0xb9, 0x25, 0x9a, 0x0c, 0xfd, 0x8d, 0xe2, 0xb3, 0xe0, 0xc2, 0xc3, 0x12, 0xb7, - 0x1b, 0x0a, 0x5c, 0x89, 0xab, 0x72, 0x1f, 0x5f, 0x09, 0x68, 0x5c, 0x27, 0xe8, 0xfa, 0x8c, 0xa3, 0x3a, 0x18, 0x43, - 0x25, 0x66, 0x6f, 0xb0, 0x82, 0xb2, 0xaa, 0x47, 0x1c, 0x63, 0xeb, 0x67, 0x34, 0x37, 0x1e, 0x63, 0xd2, 0xb8, 0x9c, - 0x71, 0x44, 0xfa, 0xc8, 0x8c, 0x54, 0x86, 0x29, 0xbc, 0x3d, 0x72, 0x74, 0xa7, 0x76, 0xd3, 0xe5, 0x82, 0x66, 0x8c, - 0xca, 0xa0, 0x5f, 0xbc, 0x84, 0xd9, 0xc2, 0x12, 0x3c, 0x88, 0xab, 0x8b, 0x73, 0x6b, 0x17, 0x1f, 0x1d, 0x2a, 0xcc, - 0xc7, 0x36, 0x9f, 0x2f, 0x53, 0x45, 0xae, 0x84, 0x61, 0xea, 0xa7, 0xe9, 0xc5, 0x75, 0xa7, 0x92, 0xf6, 0x8b, 0xb0, - 0xfa, 0x9a, 0x19, 0x0f, 0xd8, 0x77, 0xdb, 0x10, 0x6d, 0xbf, 0x2f, 0x59, 0xaf, 0x2b, 0x53, 0x69, 0x7f, 0x6c, 0xee, - 0xd6, 0x64, 0xb7, 0xdb, 0x69, 0xdf, 0xa1, 0x13, 0x65, 0x90, 0xff, 0xfe, 0xcd, 0x7e, 0xe5, 0x4b, 0x4b, 0xfd, 0xa9, - 0xd0, 0x58, 0x1e, 0xb9, 0xf9, 0xb5, 0x1b, 0x55, 0x1d, 0x36, 0x94, 0xbb, 0x4e, 0xc7, 0xc8, 0x9d, 0x7d, 0x35, 0xd1, - 0xc4, 0x37, 0x4f, 0xf7, 0x73, 0xb1, 0xdc, 0x5f, 0x7d, 0xb4, 0xb7, 0x8f, 0xa4, 0x5c, 0xa4, 0x7c, 0xc9, 0x5e, 0xf3, - 0x94, 0xed, 0x22, 0x95, 0x11, 0xa0, 0x8c, 0xde, 0x48, 0x6f, 0x12, 0x9a, 0x26, 0xa9, 0x46, 0xfe, 0xe4, 0xf7, 0xf0, - 0xad, 0xba, 0x7b, 0xfd, 0x93, 0xa5, 0xbd, 0x13, 0x22, 0x1e, 0x00, 0xfe, 0x5b, 0xbe, 0xfd, 0xa9, 0xd8, 0xcd, 0x5c, - 0x56, 0x5b, 0x3e, 0xf0, 0xad, 0xb0, 0xaf, 0x8c, 0x87, 0x7e, 0x25, 0x55, 0x94, 0x7e, 0x95, 0x70, 0x89, 0x91, 0xb1, - 0xc9, 0x47, 0x75, 0xd3, 0x7a, 0xdc, 0x7b, 0x7d, 0x47, 0x00, 0x45, 0xf8, 0xc7, 0xc2, 0x18, 0xef, 0x21, 0x51, 0x38, - 0x15, 0x62, 0x98, 0x96, 0x9a, 0xca, 0x01, 0xd8, 0x34, 0xfa, 0x35, 0x8a, 0x53, 0xa9, 0xc8, 0x8f, 0xdf, 0x1f, 0x59, - 0xf9, 0xcd, 0x6d, 0xfe, 0xff, 0xdb, 0xcf, 0xde, 0x23, 0x14, 0x5a, 0x40, 0xd2, 0x7d, 0x14, 0xc9, 0x27, 0x11, 0xa8, - 0xb4, 0x72, 0x58, 0x8d, 0xb5, 0x1d, 0x24, 0x5a, 0x35, 0xad, 0xea, 0xc3, 0x17, 0x8f, 0xa1, 0xa7, 0x68, 0xa6, 0x14, - 0x51, 0xa9, 0xf2, 0x06, 0x09, 0xa1, 0x9e, 0xc6, 0xa7, 0x89, 0x4a, 0x85, 0xfc, 0x72, 0xb3, 0xfe, 0xe9, 0x8e, 0x49, - 0x10, 0x96, 0x73, 0x60, 0x88, 0xf4, 0x90, 0x3c, 0xa0, 0xc2, 0xee, 0x7c, 0x4c, 0xa3, 0x3a, 0xa5, 0x4f, 0x47, 0xf0, - 0x76, 0xaa, 0x69, 0xbb, 0x56, 0x5e, 0xcb, 0x2e, 0x91, 0x50, 0x82, 0xfb, 0x48, 0x33, 0x87, 0x0e, 0x1a, 0xa5, 0xa3, - 0xfb, 0xde, 0x3f, 0x09, 0x19, 0xba, 0xc0, 0xd0, 0xfb, 0xed, 0x03, 0x3f, 0xb6, 0xd5, 0xa0, 0xc7, 0x70, 0xd1, 0xb6, - 0xe8, 0x55, 0x5f, 0x16, 0x5d, 0x26, 0xb7, 0x97, 0xa2, 0x01, 0x92, 0x64, 0x7a, 0x16, 0x44, 0xe6, 0x7e, 0x21, 0x67, - 0x1d, 0xcf, 0x4f, 0x71, 0x2f, 0x1e, 0x53, 0x25, 0xa3, 0x1b, 0xfe, 0xea, 0x34, 0xf2, 0xbd, 0x89, 0xc4, 0xc7, 0x24, - 0x16, 0x92, 0x6d, 0x8c, 0xa0, 0xd7, 0x62, 0x78, 0x6e, 0x2c, 0xfd, 0x8d, 0x28, 0x50, 0x1a, 0x04, 0x58, 0x3a, 0x8f, - 0x94, 0x81, 0x2b, 0x36, 0xca, 0xdf, 0x6d, 0x68, 0x98, 0x52, 0x9b, 0x07, 0x44, 0xde, 0x65, 0xbf, 0x28, 0x32, 0xde, - 0x40, 0x24, 0x08, 0x46, 0x2a, 0xb8, 0x09, 0x52, 0xd0, 0x98, 0x2e, 0x30, 0x5b, 0x40, 0xb6, 0x38, 0x6e, 0x80, 0xcb, - 0x57, 0x8a, 0xe9, 0x52, 0xf5, 0xce, 0xe6, 0xaa, 0xe2, 0xc7, 0xf0, 0xbe, 0x5b, 0xeb, 0x20, 0x3e, 0x38, 0x11, 0x74, - 0x45, 0x69, 0xd2, 0xd3, 0x47, 0x26, 0xc9, 0x5a, 0x94, 0x2d, 0x46, 0x0f, 0x1a, 0x06, 0x2a, 0x2a, 0xac, 0x36, 0xd6, - 0x28, 0xf6, 0x2b, 0xba, 0x20, 0x8c, 0xc2, 0x17, 0xed, 0xc6, 0xc8, 0x7b, 0x97, 0x66, 0x5e, 0xbb, 0x1b, 0x47, 0xad, - 0xc8, 0x8b, 0x63, 0x5e, 0x73, 0x14, 0xd9, 0x1d, 0x26, 0x79, 0xfc, 0x55, 0x11, 0x05, 0xc3, 0x64, 0x64, 0x7b, 0xec, - 0xdb, 0x22, 0x33, 0x11, 0x22, 0xb6, 0x7e, 0xeb, 0x9d, 0x7d, 0x1b, 0x85, 0xb8, 0xe7, 0x23, 0xe1, 0xfe, 0x92, 0xe4, - 0x2a, 0xe0, 0x65, 0x5e, 0x73, 0xe8, 0x37, 0xe6, 0xd4, 0x50, 0xa9, 0xd1, 0x10, 0xf0, 0x2b, 0x95, 0x78, 0x40, 0x26, - 0xa8, 0x9c, 0xd8, 0x75, 0x1f, 0x5c, 0x46, 0x40, 0x87, 0xcb, 0xda, 0x68, 0xe6, 0xd3, 0xf7, 0xc8, 0xb5, 0x9d, 0xd6, - 0x47, 0x1a, 0x51, 0xe0, 0xe5, 0x56, 0x65, 0x70, 0xa0, 0x4f, 0xa5, 0xac, 0xbc, 0x20, 0x8a, 0x4e, 0xb4, 0x15, 0x1c, - 0x16, 0xb7, 0xc1, 0xbf, 0x47, 0x58, 0x2c, 0xb9, 0xe7, 0xb8, 0x01, 0xc8, 0x39, 0x8b, 0xc8, 0x46, 0x05, 0xf1, 0xef, - 0x00, 0x3b, 0x32, 0xe6, 0x1a, 0xc9, 0xb2, 0x86, 0xa9, 0x88, 0xb6, 0xf7, 0x11, 0x91, 0x6e, 0x87, 0x0b, 0x73, 0x8a, - 0x5e, 0x8c, 0x6f, 0x9b, 0x55, 0xb4, 0xe0, 0x01, 0xaa, 0xe0, 0xf3, 0x59, 0x70, 0x88, 0x95, 0x5f, 0xe1, 0xbe, 0xd9, - 0x10, 0x4d, 0xe0, 0x3c, 0x99, 0x07, 0x9d, 0x8b, 0x76, 0x22, 0xd7, 0xcf, 0x15, 0xb9, 0x97, 0xe4, 0x1b, 0x58, 0xaf, - 0x2c, 0xdd, 0x37, 0x8b, 0x79, 0x1a, 0x58, 0x81, 0x7e, 0x58, 0x84, 0x34, 0x70, 0x56, 0x99, 0xce, 0x3a, 0x7a, 0xaa, - 0x79, 0x22, 0x10, 0x12, 0xc0, 0x02, 0x03, 0x29, 0xfd, 0x35, 0xec, 0xde, 0x47, 0xa0, 0x11, 0xec, 0x14, 0x98, 0x61, - 0xde, 0x4f, 0x24, 0x0d, 0x6d, 0x53, 0xf5, 0x23, 0x1d, 0xd8, 0xbd, 0xb2, 0x57, 0xd8, 0x40, 0x07, 0xcb, 0xdf, 0xe7, - 0xdc, 0xf0, 0xd2, 0xdd, 0x7c, 0xfb, 0x57, 0x89, 0xd4, 0x72, 0x6d, 0xb5, 0xc0, 0xbf, 0x13, 0xeb, 0x73, 0x21, 0xc8, - 0x3e, 0xef, 0xcb, 0x08, 0x2b, 0x6a, 0x1c, 0x35, 0x9f, 0xb5, 0x17, 0xb5, 0xfc, 0x59, 0x09, 0x08, 0xce, 0xbd, 0x25, - 0xf1, 0x6e, 0x08, 0x1e, 0x77, 0x2e, 0xc9, 0xde, 0xd0, 0xe3, 0x49, 0x1f, 0xb2, 0xf2, 0xb1, 0x83, 0xd9, 0x42, 0x26, - 0xf3, 0x1d, 0x2a, 0x8a, 0x03, 0xf1, 0x46, 0x29, 0x3c, 0xc7, 0xdf, 0xcd, 0xd2, 0x04, 0x29, 0x79, 0xa5, 0xbf, 0x15, - 0x6f, 0x8c, 0x30, 0x1f, 0x63, 0x03, 0x07, 0xa3, 0x00, 0x91, 0xbf, 0x45, 0x83, 0x2a, 0x94, 0x70, 0xb4, 0x10, 0xa7, - 0xa1, 0xea, 0x25, 0x62, 0xdf, 0x95, 0x0f, 0xd5, 0xec, 0xab, 0x7e, 0xa2, 0x4e, 0xd7, 0x99, 0xb5, 0x37, 0x08, 0x85, - 0x6e, 0xb3, 0x5b, 0x6f, 0x32, 0x86, 0x2c, 0xda, 0x86, 0xd3, 0xf1, 0xf8, 0xfb, 0x73, 0xb3, 0x7c, 0xac, 0xd3, 0xec, - 0x5f, 0x2e, 0x0f, 0x48, 0xb5, 0xea, 0x8e, 0x7d, 0x3f, 0x2b, 0xfb, 0xc9, 0x7f, 0x1f, 0x53, 0x5d, 0xc6, 0xd3, 0xbd, - 0x12, 0x80, 0x8f, 0x45, 0x94, 0xa7, 0x17, 0x11, 0x9a, 0xab, 0xf9, 0x4e, 0xfd, 0x95, 0x3c, 0xe2, 0xab, 0xd7, 0xee, - 0x1f, 0xf9, 0xa0, 0x96, 0xd3, 0x55, 0x01, 0x19, 0x32, 0xe2, 0x71, 0xff, 0x55, 0xc8, 0x68, 0xd5, 0x5c, 0x5f, 0xcc, - 0x51, 0xf4, 0xdc, 0xf9, 0x7b, 0xd3, 0x90, 0x4d, 0x2f, 0x45, 0x4f, 0x98, 0x0f, 0xd4, 0xc8, 0x6d, 0x20, 0xe8, 0x26, - 0xdc, 0xe0, 0x74, 0x47, 0xaa, 0x4e, 0x56, 0x8c, 0x2e, 0x17, 0xbf, 0x4f, 0xcf, 0x22, 0xa5, 0xbe, 0x4c, 0x2d, 0x14, - 0xaa, 0x7d, 0x1f, 0x6a, 0x47, 0xc7, 0x55, 0x21, 0x6f, 0x82, 0x07, 0xc5, 0xd9, 0x12, 0x16, 0x6d, 0x54, 0x4e, 0x14, - 0x48, 0x32, 0xac, 0x16, 0x19, 0x37, 0x9f, 0x94, 0xac, 0x21, 0x43, 0x9d, 0x99, 0x23, 0xd0, 0x1c, 0x62, 0xa7, 0x62, - 0x28, 0xe9, 0xfd, 0x65, 0x06, 0x0a, 0x33, 0x44, 0xfb, 0x81, 0x01, 0x7a, 0xe5, 0x3e, 0x9a, 0x5b, 0xe6, 0xe4, 0x62, - 0x5c, 0x76, 0x09, 0xc4, 0x33, 0x8c, 0xbd, 0x6f, 0x91, 0x08, 0xda, 0xc9, 0x3b, 0x2a, 0x0d, 0xbe, 0x98, 0xee, 0x98, - 0x40, 0x72, 0x42, 0xce, 0x99, 0x31, 0x7d, 0xc5, 0x7f, 0xcd, 0xf5, 0xe4, 0xe4, 0x4d, 0x52, 0x1e, 0x57, 0x8f, 0xf0, - 0xdb, 0xb5, 0xf6, 0x2d, 0x72, 0x1f, 0x8c, 0x34, 0x55, 0x4b, 0x7e, 0x5b, 0x2a, 0xc8, 0x12, 0x16, 0x6e, 0xac, 0x7e, - 0xea, 0xca, 0x2e, 0x64, 0xb7, 0xba, 0xf0, 0xdc, 0x36, 0x2f, 0x6b, 0xf4, 0xfb, 0x66, 0xef, 0xa1, 0xbd, 0x75, 0x05, - 0xea, 0x55, 0x6d, 0x40, 0xa5, 0xce, 0xfd, 0xd1, 0xfc, 0xf6, 0x12, 0xf4, 0x4a, 0x7d, 0xf9, 0x78, 0xf0, 0x2b, 0x6a, - 0x2c, 0x62, 0xfa, 0x5b, 0xf5, 0xb7, 0x70, 0xf2, 0x84, 0x7b, 0xab, 0x5d, 0x63, 0x5d, 0x45, 0x03, 0xa1, 0xb9, 0x7b, - 0xed, 0xf9, 0xf0, 0xbe, 0x57, 0x6d, 0x75, 0x0d, 0x50, 0xbd, 0xe3, 0x9f, 0xe1, 0x5b, 0x08, 0xa7, 0x51, 0xe8, 0xee, - 0xa7, 0x16, 0x50, 0xd0, 0xe1, 0x34, 0x55, 0x01, 0x0e, 0x51, 0x5f, 0x03, 0xb4, 0xe4, 0xa7, 0xfa, 0x45, 0x42, 0xf5, - 0xf4, 0xf0, 0xe6, 0xec, 0xd3, 0xb5, 0xec, 0x90, 0x66, 0xab, 0x6d, 0xf4, 0xd3, 0xef, 0x3b, 0x87, 0xa5, 0xec, 0xa3, - 0x4a, 0xe8, 0xad, 0x8b, 0x25, 0x9e, 0x39, 0x13, 0x07, 0xcf, 0x7f, 0xe9, 0x70, 0xed, 0x9e, 0xd8, 0x72, 0xba, 0x3e, - 0xa4, 0x3d, 0x97, 0x69, 0xe4, 0x04, 0xa6, 0x34, 0x3d, 0x49, 0x64, 0x05, 0x63, 0x6a, 0x79, 0x20, 0xa3, 0xa5, 0x65, - 0x3c, 0x6f, 0x5d, 0x1a, 0x4c, 0x79, 0xfd, 0xd0, 0x54, 0x7b, 0x6e, 0x93, 0x6d, 0x1d, 0xb0, 0x5e, 0x8e, 0x53, 0xf3, - 0x1f, 0x2e, 0xa1, 0x46, 0x13, 0x0b, 0x65, 0xc4, 0xda, 0x61, 0x5e, 0x58, 0x25, 0xd4, 0xb4, 0xa5, 0x54, 0x59, 0x54, - 0x39, 0xfb, 0x5c, 0xde, 0xaf, 0x1e, 0xa1, 0x83, 0xc1, 0x84, 0x04, 0xab, 0x53, 0x7d, 0xf1, 0x34, 0x28, 0x7a, 0x25, - 0x9e, 0xdf, 0x94, 0x2e, 0x37, 0x24, 0xf5, 0xb2, 0x4a, 0xe4, 0x2f, 0x55, 0xea, 0x85, 0xf5, 0x84, 0x60, 0x5e, 0x34, - 0xd3, 0x47, 0x98, 0x5b, 0xa7, 0x91, 0xd3, 0x53, 0xa9, 0x7a, 0xa3, 0xcd, 0x02, 0x21, 0x80, 0xc7, 0xa6, 0xeb, 0x76, - 0x8a, 0xe1, 0xd7, 0xfe, 0xb0, 0x3e, 0x66, 0x15, 0x6c, 0xba, 0xf6, 0x14, 0xc2, 0xc0, 0x75, 0xbd, 0x87, 0x37, 0x65, - 0xd3, 0x59, 0xad, 0xc6, 0x89, 0x38, 0x51, 0x29, 0x76, 0x7d, 0x27, 0x26, 0x33, 0x7a, 0xcf, 0xd0, 0x1f, 0x68, 0x8e, - 0x29, 0x21, 0x01, 0x50, 0x93, 0x1e, 0x3e, 0xff, 0x2d, 0xdd, 0xe5, 0xb6, 0x28, 0x86, 0x8a, 0x0d, 0xc2, 0xea, 0x6b, - 0x1d, 0x37, 0xc3, 0xbf, 0xe0, 0x97, 0x0f, 0xc1, 0x27, 0x24, 0x80, 0x2a, 0x0a, 0xfc, 0x83, 0xc1, 0x04, 0xda, 0x25, - 0xa7, 0x64, 0xed, 0x41, 0x73, 0x2b, 0xb1, 0xe2, 0x31, 0x10, 0x43, 0x7c, 0xfa, 0x20, 0x14, 0x31, 0x76, 0x43, 0xbb, - 0x3c, 0xec, 0xf8, 0x8a, 0xe5, 0x52, 0x99, 0x8f, 0xd5, 0x62, 0x49, 0xfa, 0x51, 0xf8, 0x45, 0xb1, 0x13, 0x02, 0x39, - 0x41, 0x35, 0x47, 0x7f, 0xde, 0x12, 0xc4, 0x9c, 0x9a, 0x5d, 0x7b, 0x6a, 0x02, 0xae, 0xe7, 0x30, 0x85, 0x1f, 0x65, - 0x6e, 0x7d, 0x88, 0xa7, 0x28, 0x9d, 0x4b, 0xc0, 0x3b, 0xb9, 0x2f, 0x3c, 0xd8, 0xba, 0xd4, 0x9d, 0x00, 0x1f, 0x12, - 0x88, 0x5a, 0x99, 0x3c, 0x99, 0xf8, 0x68, 0x51, 0x30, 0xe7, 0x33, 0x86, 0x9f, 0x34, 0x49, 0x29, 0xdc, 0x21, 0x3a, - 0x9b, 0x15, 0x4a, 0x3a, 0xa6, 0xd8, 0x0c, 0x90, 0x41, 0x00, 0x04, 0x96, 0x55, 0xfe, 0x40, 0xec, 0x72, 0x15, 0x16, - 0x1a, 0xb1, 0x52, 0x14, 0x84, 0x54, 0xdb, 0x81, 0x69, 0xd7, 0x75, 0xab, 0xc0, 0xb7, 0x4e, 0x38, 0x0d, 0xd7, 0x58, - 0x9e, 0x94, 0x94, 0xcc, 0xb0, 0x32, 0x14, 0x70, 0x6e, 0x25, 0xb2, 0x99, 0xaf, 0x8e, 0x04, 0x4e, 0xfe, 0x15, 0x0c, - 0x72, 0x5f, 0xca, 0xae, 0x1c, 0x80, 0xf3, 0xa9, 0x25, 0x2e, 0xed, 0xeb, 0xb9, 0x70, 0xeb, 0x24, 0x55, 0x9d, 0xad, - 0xf6, 0x60, 0x31, 0x2e, 0xba, 0xb4, 0xdb, 0x92, 0x14, 0x14, 0xe8, 0xbe, 0x78, 0x3a, 0x4d, 0x52, 0x67, 0x3a, 0x49, - 0x79, 0x2c, 0x66, 0x30, 0xb2, 0x44, 0x4b, 0xd5, 0x09, 0xf7, 0x9a, 0x86, 0x9d, 0xe5, 0x7f, 0x0a, 0x8d, 0xd4, 0x64, - 0x33, 0x9d, 0x6e, 0xba, 0x7b, 0xdf, 0xa7, 0x60, 0x31, 0xc0, 0xcf, 0xa2, 0x8a, 0x7c, 0x3a, 0x2b, 0xbb, 0x41, 0x00, - 0x52, 0x04, 0x7a, 0x88, 0xc7, 0xd3, 0xb8, 0x2b, 0x19, 0xd3, 0x04, 0xe6, 0x5b, 0x04, 0xd0, 0xd4, 0x21, 0x51, 0xc0, - 0xc6, 0xbc, 0x0d, 0x35, 0xde, 0x17, 0xd7, 0x77, 0x1e, 0xf3, 0x52, 0x0c, 0x72, 0x40, 0x6e, 0xfb, 0xce, 0x15, 0x40, - 0x38, 0x83, 0x0b, 0xc4, 0x1e, 0xda, 0x09, 0x8c, 0x63, 0xf7, 0xf9, 0x91, 0x48, 0x15, 0x27, 0xcc, 0x77, 0x8a, 0xcc, - 0x1e, 0x9e, 0x1a, 0xef, 0xd1, 0x27, 0xe5, 0x34, 0x1a, 0x3f, 0x48, 0x98, 0xdf, 0xd8, 0x8c, 0x9e, 0xeb, 0xea, 0x69, - 0xce, 0x47, 0x41, 0x74, 0x58, 0xe4, 0xde, 0xff, 0xe9, 0x00, 0x39, 0x31, 0xbe, 0x6e, 0x99, 0x28, 0x39, 0x13, 0x52, - 0x87, 0x5a, 0xd6, 0xfb, 0xd4, 0x44, 0xa5, 0x06, 0x9d, 0xdc, 0xf2, 0x1d, 0x29, 0xa2, 0x2a, 0x8b, 0x1d, 0x5f, 0xeb, - 0x1e, 0x2a, 0xe9, 0xc6, 0x55, 0x5d, 0x74, 0x5a, 0x0d, 0x4d, 0x9e, 0x6a, 0xe9, 0x29, 0x84, 0x9f, 0xfb, 0xb4, 0xa6, - 0x2d, 0x60, 0x3d, 0xff, 0xa1, 0xd0, 0x6c, 0x7e, 0x88, 0xf0, 0x60, 0xf5, 0x19, 0x4d, 0x68, 0xe1, 0xc9, 0x40, 0x76, - 0x1d, 0x70, 0x6c, 0x46, 0xf2, 0xb2, 0x2f, 0x11, 0x74, 0x2d, 0xcc, 0x32, 0x56, 0x8f, 0xb8, 0x51, 0xf6, 0x72, 0xd2, - 0x1e, 0xe9, 0x3c, 0x43, 0x06, 0xed, 0x4f, 0x1d, 0xf7, 0xf0, 0x04, 0x4e, 0x24, 0xf3, 0x30, 0xc6, 0x16, 0x91, 0xf3, - 0x1e, 0xcf, 0x58, 0x07, 0xea, 0xd1, 0x72, 0x8b, 0x78, 0x60, 0xec, 0xd9, 0x2e, 0x82, 0xd2, 0xd0, 0x82, 0x1d, 0xf6, - 0x81, 0x43, 0x20, 0x92, 0x85, 0x6e, 0x2f, 0x59, 0xef, 0x89, 0x54, 0x90, 0x7c, 0xef, 0xa4, 0x8c, 0x0a, 0x70, 0x0d, - 0x2b, 0x1c, 0x31, 0xe6, 0x99, 0xe3, 0x64, 0x30, 0xeb, 0x1e, 0x0a, 0xa5, 0xa1, 0x73, 0xf0, 0xc9, 0x5e, 0x8b, 0x9f, - 0x3f, 0x38, 0x21, 0x87, 0x08, 0x36, 0xf6, 0x12, 0x5d, 0xaa, 0x52, 0x50, 0x29, 0xc3, 0x40, 0xf3, 0xbc, 0xb5, 0x30, - 0x29, 0x48, 0x85, 0x07, 0x98, 0xf1, 0xf1, 0xe8, 0x0f, 0x6d, 0xce, 0xd5, 0x33, 0x64, 0x0e, 0xec, 0xb0, 0x64, 0x1f, - 0xe3, 0x82, 0x22, 0x48, 0xd4, 0x10, 0x26, 0xfa, 0x24, 0x57, 0x0f, 0x8a, 0xf4, 0x09, 0x45, 0xaf, 0x89, 0xd3, 0xd3, - 0x81, 0x09, 0x74, 0xce, 0x93, 0x16, 0xa2, 0x1e, 0x14, 0x95, 0xf3, 0x83, 0xdc, 0xbd, 0x50, 0x19, 0x77, 0x70, 0x92, - 0x4b, 0x4a, 0xd7, 0x36, 0xf3, 0xfe, 0x46, 0xdb, 0xdb, 0xf3, 0x96, 0x54, 0x07, 0x9d, 0x24, 0x31, 0x87, 0x0a, 0xbc, - 0x42, 0x40, 0x42, 0xeb, 0xbb, 0x19, 0x1d, 0xdd, 0x83, 0xde, 0x84, 0xe9, 0x55, 0x45, 0x05, 0xc8, 0xbf, 0xf7, 0x2a, - 0x1a, 0x39, 0x47, 0xea, 0xea, 0xda, 0x91, 0xba, 0xb4, 0xbb, 0xfc, 0x49, 0xa1, 0x42, 0x3e, 0x10, 0x9a, 0x1f, 0x94, - 0x9d, 0x92, 0xbe, 0x26, 0xcc, 0x75, 0x35, 0xaf, 0x09, 0x36, 0xe0, 0xb3, 0x21, 0xc7, 0x91, 0xba, 0xf1, 0x83, 0x9a, - 0x01, 0xae, 0xdc, 0xa8, 0x87, 0x95, 0xdc, 0x77, 0x2e, 0x7e, 0xb1, 0x1f, 0x34, 0x33, 0x1f, 0xe3, 0x89, 0xae, 0x7a, - 0xdc, 0xcc, 0xd8, 0x83, 0xce, 0x0f, 0xa6, 0x4e, 0xd0, 0x6d, 0x93, 0x21, 0xc4, 0x3e, 0x4d, 0xf7, 0x90, 0xe7, 0xce, - 0x8f, 0x1e, 0x4c, 0xd0, 0xb9, 0x29, 0x08, 0xad, 0x9a, 0x14, 0xe8, 0xca, 0x2e, 0x79, 0x09, 0x3f, 0xbd, 0x7a, 0x45, - 0x97, 0x76, 0xd3, 0x5b, 0xf9, 0xe3, 0x26, 0x2c, 0x03, 0x7a, 0x17, 0xdf, 0x3b, 0xd4, 0xa7, 0x4c, 0xc7, 0x3d, 0xab, - 0xdd, 0x4b, 0x7e, 0xaa, 0x39, 0x8d, 0x9f, 0xb1, 0x5a, 0xa2, 0xf3, 0xc3, 0x79, 0x40, 0x70, 0x85, 0x10, 0x57, 0xfd, - 0xc0, 0x9b, 0xbd, 0x88, 0x52, 0xa6, 0x6a, 0x8b, 0xee, 0x4f, 0xfa, 0xc0, 0x2e, 0xe1, 0xf0, 0xb2, 0x6e, 0x8e, 0x13, - 0xf1, 0xdd, 0x58, 0x00, 0x26, 0x0c, 0xea, 0xea, 0xb7, 0x10, 0x30, 0x21, 0xba, 0xf3, 0xe4, 0x67, 0xfc, 0xbf, 0x21, - 0xe6, 0x3b, 0x45, 0xf8, 0xea, 0x78, 0xc1, 0xc9, 0xe9, 0xe4, 0x25, 0x2c, 0x81, 0x6f, 0x77, 0x18, 0x19, 0x22, 0x63, - 0x42, 0xa0, 0x19, 0xf3, 0x17, 0x69, 0x98, 0x4b, 0xe0, 0x2d, 0x0e, 0x81, 0xa3, 0xb8, 0x25, 0xfe, 0x64, 0x83, 0xbb, - 0xf7, 0xf9, 0xa6, 0x0f, 0xb1, 0xa6, 0xca, 0x2e, 0x41, 0xb9, 0xab, 0x78, 0xec, 0x66, 0x14, 0x68, 0x8c, 0xc2, 0x7e, - 0x83, 0x62, 0xa0, 0x45, 0xb7, 0x0e, 0x44, 0x14, 0xfa, 0x67, 0x55, 0xd1, 0xf9, 0x68, 0xa9, 0x88, 0x1d, 0xb2, 0x03, - 0x38, 0x01, 0xb2, 0x8b, 0x38, 0x19, 0x53, 0x97, 0x3b, 0x8a, 0x42, 0x03, 0x01, 0xce, 0xf0, 0x17, 0x3b, 0x9c, 0xf1, - 0x1f, 0xac, 0x03, 0x9b, 0x1c, 0x10, 0xd4, 0x06, 0xeb, 0x62, 0x8b, 0x53, 0x3c, 0x91, 0xfa, 0xc6, 0xec, 0xed, 0x79, - 0x3d, 0x1d, 0xf0, 0x1e, 0xdf, 0x55, 0xa9, 0x68, 0x21, 0x05, 0x5b, 0xf8, 0xb6, 0x1b, 0x32, 0x56, 0x0a, 0xab, 0xa0, - 0x77, 0xe7, 0x41, 0xd5, 0x9f, 0x4a, 0xa3, 0xfa, 0xbf, 0xba, 0x3b, 0xeb, 0xba, 0x05, 0x0f, 0xed, 0x92, 0xee, 0x82, - 0x2c, 0x59, 0xaa, 0x87, 0xad, 0xbe, 0xd9, 0x4d, 0x05, 0x05, 0xa9, 0x1d, 0x72, 0x7d, 0xeb, 0xff, 0xac, 0xc1, 0x81, - 0xac, 0xad, 0xda, 0x88, 0x03, 0xe1, 0x1d, 0x27, 0xc4, 0x57, 0x8f, 0xea, 0xae, 0x2e, 0x12, 0x54, 0x4d, 0xf9, 0xb8, - 0xc4, 0xfc, 0x32, 0x5e, 0xe5, 0x8d, 0x49, 0xaf, 0x2b, 0xbb, 0xef, 0x75, 0x39, 0x91, 0xb7, 0x93, 0xf9, 0x53, 0x10, - 0xdf, 0xd1, 0xcc, 0x00, 0x27, 0x27, 0xa5, 0x6c, 0x3d, 0xfb, 0x58, 0xdc, 0xe7, 0x38, 0x21, 0x92, 0x56, 0x19, 0x46, - 0x77, 0x7e, 0xe9, 0x0c, 0x6f, 0xdf, 0x80, 0xc2, 0xdb, 0x27, 0x4f, 0x80, 0x85, 0xd7, 0x94, 0x35, 0x8e, 0xb4, 0x28, - 0x24, 0x86, 0x61, 0x28, 0x05, 0xa2, 0x89, 0xd3, 0x6d, 0xa3, 0xbc, 0x09, 0xd0, 0x5b, 0xa1, 0x3f, 0x34, 0xf6, 0x88, - 0x9c, 0xb3, 0x7a, 0x79, 0x24, 0x97, 0xcc, 0x9f, 0xa8, 0x63, 0xfc, 0xc4, 0x0f, 0xfd, 0x93, 0x07, 0xf7, 0xba, 0x69, - 0x03, 0x38, 0xa4, 0x82, 0x9c, 0xc8, 0xf3, 0xb6, 0xbd, 0xaa, 0x8b, 0x26, 0x84, 0x3c, 0xe4, 0x56, 0x80, 0x87, 0x3c, - 0x3f, 0x9f, 0xeb, 0xa3, 0x10, 0x86, 0x43, 0x73, 0x05, 0x9c, 0x10, 0xd4, 0xc0, 0xbe, 0x81, 0x71, 0xe4, 0x46, 0x9e, - 0xdb, 0xd4, 0x17, 0x3d, 0x4e, 0xde, 0xed, 0x20, 0xa0, 0x0d, 0xfd, 0xf0, 0xbc, 0x3e, 0x75, 0xf5, 0xa3, 0xed, 0xf5, - 0x89, 0xdf, 0xc7, 0x68, 0x04, 0xe5, 0xcd, 0x5f, 0x61, 0x9f, 0x48, 0x5c, 0x81, 0x2d, 0xcd, 0x71, 0x36, 0x29, 0x9f, - 0xd5, 0x69, 0x53, 0xa1, 0x9e, 0x7c, 0x91, 0x63, 0x92, 0xdc, 0x57, 0x37, 0xd5, 0xc9, 0x42, 0x44, 0x1c, 0xf9, 0x9d, - 0x71, 0x87, 0xc1, 0xfc, 0x3c, 0xc9, 0xcd, 0x85, 0x2e, 0xb9, 0x3e, 0x4d, 0x2a, 0x68, 0xa0, 0xa2, 0x25, 0x79, 0x2f, - 0x3c, 0xe6, 0xad, 0xd0, 0xe4, 0x73, 0x61, 0x99, 0x2f, 0x85, 0xeb, 0x7c, 0x5d, 0x3f, 0x80, 0xef, 0x11, 0x37, 0xaa, - 0x56, 0x63, 0x3f, 0xf6, 0xe4, 0xbb, 0x96, 0x98, 0xf3, 0xaf, 0x34, 0xd6, 0xbc, 0x4d, 0x77, 0x89, 0x15, 0xcc, 0x68, - 0x36, 0x6d, 0x2c, 0x6e, 0x0c, 0x31, 0x15, 0xae, 0x49, 0xef, 0x70, 0x8d, 0xca, 0xf4, 0xec, 0x34, 0x22, 0x10, 0xbd, - 0x20, 0x6b, 0x0a, 0xb2, 0xb3, 0x95, 0x55, 0xb8, 0xb7, 0xd0, 0xb8, 0x58, 0xb8, 0x74, 0x7a, 0x1d, 0xbc, 0x42, 0xf5, - 0xfd, 0x76, 0x3d, 0x72, 0x89, 0xf2, 0xda, 0x94, 0xb4, 0xe1, 0x23, 0x27, 0x98, 0x63, 0xb1, 0x27, 0x28, 0xa1, 0xc8, - 0x50, 0xda, 0x12, 0xf0, 0x5c, 0x38, 0xe0, 0x1b, 0x31, 0x54, 0xeb, 0x7b, 0x5e, 0xa1, 0x27, 0x14, 0x39, 0x3e, 0x2a, - 0x77, 0x55, 0xc5, 0x49, 0x55, 0xba, 0xe6, 0x13, 0x5c, 0xbf, 0x1f, 0xbd, 0x8f, 0x88, 0x62, 0xed, 0x2b, 0xfb, 0xc2, - 0xbf, 0xb7, 0xc5, 0xea, 0xb2, 0x4f, 0x99, 0x80, 0x90, 0x5c, 0xde, 0xf2, 0x13, 0xc5, 0x1e, 0x39, 0x83, 0xef, 0x89, - 0xb0, 0x16, 0x93, 0x1c, 0xa4, 0xe3, 0x45, 0xc4, 0x0f, 0xa0, 0x03, 0x5b, 0xbe, 0x33, 0xcd, 0x29, 0xe2, 0x71, 0x25, - 0xbe, 0xef, 0x27, 0x83, 0x12, 0x2b, 0xb1, 0xca, 0xd9, 0x4f, 0xaa, 0x3a, 0x09, 0xe6, 0x7e, 0xf4, 0x1d, 0x8f, 0x1b, - 0xc1, 0xc1, 0xd4, 0xf1, 0x22, 0x64, 0x40, 0xe0, 0x17, 0xa0, 0x52, 0xe9, 0x01, 0xf1, 0x01, 0xa2, 0x6f, 0x40, 0x85, - 0x40, 0x78, 0x19, 0x94, 0xef, 0x51, 0x55, 0x9d, 0xda, 0x97, 0x73, 0x57, 0xde, 0x11, 0x94, 0x60, 0x1a, 0xde, 0xd1, - 0x48, 0x12, 0x94, 0x07, 0x1a, 0xed, 0x4e, 0x8e, 0xf8, 0xe0, 0x87, 0x37, 0x1d, 0x4d, 0x97, 0x2f, 0x31, 0x13, 0xed, - 0xd5, 0x9b, 0xf2, 0xe2, 0x5f, 0x83, 0x4c, 0x7c, 0xc9, 0x51, 0x20, 0x3e, 0xca, 0x93, 0xf5, 0xa6, 0xa4, 0x57, 0x17, - 0x4b, 0xbc, 0xff, 0x42, 0x39, 0xc2, 0xef, 0x16, 0x54, 0x0b, 0x30, 0xc7, 0xfe, 0xfc, 0xd0, 0xb6, 0x12, 0x3a, 0xc4, - 0x9a, 0xb7, 0xae, 0x04, 0xfe, 0x91, 0x9d, 0xb1, 0xbd, 0x0e, 0xc1, 0x7d, 0xdd, 0x9d, 0xcf, 0x0c, 0x33, 0xd9, 0xbc, - 0x52, 0x5c, 0x5e, 0x5a, 0x5e, 0x46, 0xe5, 0xb9, 0x27, 0xb9, 0xbe, 0x7e, 0x27, 0xf1, 0x9b, 0x4d, 0xed, 0xe2, 0xf2, - 0x5b, 0x4b, 0xdf, 0x98, 0x9a, 0x59, 0x26, 0xe0, 0x7e, 0xa7, 0xd7, 0x78, 0xa0, 0xd6, 0xed, 0x68, 0x6c, 0x33, 0x9b, - 0x13, 0xc6, 0x10, 0xe9, 0x6e, 0x3b, 0x53, 0x7b, 0xaa, 0xe0, 0xb7, 0x25, 0x45, 0xb2, 0x98, 0xd1, 0xd8, 0x22, 0x8e, - 0x54, 0x6f, 0xe5, 0x71, 0xcf, 0x7f, 0x67, 0xfa, 0x21, 0x43, 0xe3, 0x0c, 0x7f, 0xa0, 0x10, 0x01, 0x74, 0x23, 0x90, - 0xbb, 0xf0, 0xf5, 0x9e, 0x7f, 0x51, 0x21, 0x00, 0x40, 0x6d, 0x06, 0xa6, 0xbd, 0x18, 0xe7, 0x3a, 0x51, 0x1b, 0x72, - 0x8a, 0xee, 0xa6, 0xff, 0x1c, 0xbe, 0xd7, 0xdd, 0x89, 0x85, 0x56, 0x54, 0x7f, 0xf3, 0x43, 0x1b, 0xf0, 0x27, 0x75, - 0x9a, 0x62, 0x11, 0xba, 0xd8, 0xb8, 0xbc, 0x41, 0x9e, 0xa2, 0x35, 0x4a, 0x07, 0x55, 0x7e, 0x56, 0xd8, 0x1c, 0xbf, - 0xb7, 0x7f, 0xc6, 0x15, 0x78, 0x6b, 0x27, 0x55, 0xcf, 0x8d, 0xae, 0x0d, 0x00, 0x7d, 0x53, 0xdf, 0x0b, 0x4d, 0x66, - 0xde, 0xa8, 0xd2, 0xeb, 0xf7, 0x7b, 0xf2, 0x44, 0xfb, 0x10, 0x78, 0x02, 0x1a, 0x4e, 0x80, 0xd0, 0x95, 0x7c, 0x32, - 0x1f, 0x60, 0x03, 0x49, 0xa9, 0x38, 0xb0, 0xd3, 0x10, 0x7a, 0xa0, 0x63, 0x39, 0x61, 0x98, 0xc8, 0xe4, 0xc4, 0x71, - 0xc3, 0xff, 0x08, 0x2b, 0x42, 0x3f, 0xfa, 0x7f, 0xc6, 0x22, 0xae, 0x86, 0x73, 0x04, 0x31, 0x6a, 0xde, 0xc8, 0x02, - 0x14, 0xfc, 0xd7, 0xa9, 0xa7, 0x93, 0x13, 0xd9, 0x1c, 0xe7, 0x8c, 0x5a, 0xc6, 0x14, 0x21, 0xf2, 0x20, 0xc4, 0xf8, - 0x15, 0x9b, 0x58, 0x46, 0xd0, 0xf4, 0x43, 0x45, 0xef, 0x06, 0xb5, 0x95, 0x8c, 0xb8, 0x59, 0x3b, 0xb1, 0x03, 0xd7, - 0xde, 0x23, 0x01, 0x03, 0x79, 0xd3, 0x92, 0xed, 0x9b, 0xd2, 0xd5, 0xf8, 0xb0, 0x3f, 0x4e, 0xc6, 0xeb, 0x49, 0x16, - 0xf8, 0x27, 0xcd, 0x6e, 0x76, 0x86, 0xe4, 0x30, 0x49, 0xaa, 0x3c, 0x10, 0x09, 0xbc, 0xeb, 0x16, 0x43, 0x6a, 0x2c, - 0x6d, 0xb5, 0x4c, 0x14, 0xd6, 0x66, 0xc5, 0xc0, 0x91, 0x4d, 0x58, 0x17, 0x21, 0x06, 0x75, 0xb8, 0x2e, 0x4e, 0x01, - 0xd5, 0x09, 0xc2, 0x1c, 0x2a, 0xcc, 0x3a, 0x04, 0x9d, 0x32, 0x70, 0xd0, 0x31, 0xde, 0xd5, 0x83, 0xdf, 0x37, 0xce, - 0x88, 0x27, 0xc7, 0x4d, 0x83, 0xcb, 0xb9, 0xb1, 0x1c, 0x39, 0x37, 0xc2, 0xcb, 0xc0, 0xe9, 0x76, 0xbd, 0x21, 0xd5, - 0x36, 0x9c, 0x55, 0x45, 0x15, 0xad, 0xf2, 0x59, 0x75, 0x12, 0xd3, 0x56, 0xaf, 0xd9, 0x04, 0x51, 0x77, 0xe7, 0xb9, - 0x61, 0x2d, 0x83, 0x86, 0x11, 0x25, 0x21, 0x56, 0xef, 0x03, 0xfd, 0x89, 0x3d, 0xf8, 0xa2, 0x6a, 0x0f, 0x04, 0xba, - 0xd3, 0x60, 0x61, 0xc7, 0xcf, 0x00, 0x1c, 0x6e, 0xc6, 0x31, 0x8e, 0x41, 0xfb, 0xd2, 0x8a, 0x42, 0xaf, 0x96, 0x44, - 0xe0, 0x0c, 0xb3, 0xfc, 0x1f, 0xdf, 0xe2, 0xb5, 0xe8, 0xb5, 0xeb, 0xd0, 0xb9, 0xfa, 0x24, 0x36, 0x75, 0x6d, 0x9a, - 0xf8, 0xe8, 0xba, 0x81, 0x4b, 0x2f, 0xf0, 0x00, 0xee, 0x89, 0x17, 0x5d, 0x81, 0xc0, 0xf3, 0x4f, 0x26, 0x4a, 0xf7, - 0x70, 0x80, 0x39, 0x53, 0xdc, 0x18, 0x4e, 0xb9, 0x94, 0x1c, 0x43, 0xd3, 0xc2, 0x12, 0x18, 0x39, 0x40, 0x7f, 0x31, - 0xae, 0x30, 0x49, 0xba, 0xa4, 0x45, 0x47, 0xd1, 0x43, 0x2e, 0xc9, 0x3a, 0xa7, 0x5f, 0x64, 0x7e, 0xac, 0xae, 0xb1, - 0x51, 0x1c, 0x6b, 0x85, 0xcc, 0x3f, 0x44, 0x34, 0xea, 0x37, 0xe7, 0x05, 0x4c, 0xec, 0x8b, 0x83, 0x39, 0xbf, 0xf7, - 0xb7, 0xd6, 0xf2, 0xfa, 0xe3, 0xc9, 0xa6, 0xa7, 0x8c, 0x06, 0xc0, 0x18, 0x7e, 0xc2, 0xf1, 0x20, 0xa5, 0xd7, 0x57, - 0xa4, 0x82, 0xf7, 0x4d, 0xf1, 0x69, 0x5f, 0xc8, 0x4c, 0x4a, 0xf4, 0x8f, 0x41, 0x2c, 0x7d, 0x36, 0xad, 0x26, 0xd3, - 0x1f, 0xd0, 0xe6, 0x68, 0x0c, 0xe2, 0x51, 0x73, 0x78, 0x8b, 0x45, 0x75, 0xf5, 0x0c, 0x3f, 0xa1, 0xcc, 0x2d, 0x99, - 0x0f, 0xd9, 0x3e, 0x42, 0x5f, 0x8c, 0x25, 0x66, 0x1a, 0x9f, 0x27, 0x3f, 0x77, 0x91, 0x6b, 0xab, 0x37, 0x37, 0xf2, - 0xdf, 0xd4, 0x52, 0xa4, 0x36, 0xaa, 0x08, 0xfe, 0xfa, 0x13, 0xfa, 0x6a, 0x67, 0xde, 0xa4, 0x00, 0x9d, 0x2f, 0x09, - 0xfa, 0xd9, 0x80, 0x2a, 0x52, 0x04, 0x0d, 0xf8, 0xce, 0x16, 0xda, 0xa5, 0x32, 0x1d, 0x73, 0xfa, 0x5a, 0xde, 0xdf, - 0x84, 0x15, 0xdc, 0x1d, 0x6a, 0x1b, 0x92, 0xac, 0x46, 0x7e, 0x3d, 0xc6, 0x8a, 0xad, 0xef, 0x5d, 0x65, 0x38, 0xed, - 0xff, 0x18, 0x07, 0x01, 0xc8, 0x5b, 0xc5, 0xdd, 0x92, 0xd6, 0x69, 0xbd, 0x93, 0x74, 0xa5, 0x18, 0xd2, 0xca, 0xd5, - 0xfd, 0xee, 0xfb, 0xff, 0x30, 0x45, 0x63, 0x4a, 0x9f, 0xd8, 0x08, 0xed, 0x2a, 0x40, 0x92, 0x03, 0xa2, 0x87, 0x07, - 0x2d, 0x1d, 0x7f, 0x08, 0x45, 0x0b, 0x16, 0xbe, 0x05, 0x7d, 0xc3, 0x20, 0xda, 0x1e, 0xc1, 0x01, 0xbc, 0x0b, 0x97, - 0x7f, 0xf8, 0xa5, 0x71, 0x0d, 0x91, 0xdc, 0x7c, 0x4f, 0x6a, 0xea, 0xea, 0xcd, 0xbb, 0xe9, 0x5f, 0x42, 0xd6, 0x4d, - 0xfd, 0xe9, 0xaf, 0xd3, 0xb6, 0x2f, 0xbc, 0x9e, 0x14, 0x89, 0x66, 0x1c, 0x7f, 0x7b, 0x62, 0xe3, 0x8d, 0x31, 0xba, - 0x3e, 0x8a, 0x9e, 0x56, 0xcf, 0xde, 0x7a, 0xe9, 0x41, 0x2f, 0x4e, 0x08, 0x1e, 0xe3, 0x8f, 0x60, 0xc2, 0x6b, 0xfe, - 0x94, 0x50, 0xc7, 0xdf, 0x7a, 0x84, 0x7f, 0x36, 0x53, 0x18, 0x09, 0x15, 0x7e, 0xc7, 0x23, 0x8b, 0xca, 0xc5, 0xa5, - 0x24, 0x03, 0x42, 0x5c, 0x03, 0x60, 0x78, 0x2f, 0x9f, 0x02, 0x44, 0x62, 0xe3, 0xef, 0xe4, 0xde, 0x56, 0x78, 0x38, - 0xf7, 0xee, 0x50, 0x8e, 0xc5, 0xf2, 0x21, 0x65, 0xa6, 0x8f, 0xf8, 0x6d, 0xa4, 0x6e, 0x05, 0x75, 0x97, 0xe3, 0x97, - 0x0d, 0xc4, 0x7c, 0x00, 0xee, 0xef, 0xe1, 0xcd, 0x94, 0x57, 0x3f, 0x88, 0x6b, 0x00, 0xe4, 0xcf, 0x9d, 0x28, 0x99, - 0xd6, 0x1f, 0xed, 0x37, 0x74, 0x32, 0x10, 0x41, 0x82, 0x5a, 0x0b, 0x6a, 0x09, 0xb6, 0xc9, 0xee, 0x4d, 0x08, 0xbb, - 0xb5, 0xde, 0xcc, 0x77, 0xec, 0xc0, 0xce, 0x17, 0x7c, 0xc2, 0xf9, 0xb2, 0xf6, 0xa2, 0x9e, 0x1b, 0x19, 0xfe, 0x1d, - 0xf1, 0x0c, 0xfb, 0x05, 0xf3, 0xda, 0xb3, 0x9b, 0x9b, 0xf4, 0x3a, 0x5d, 0x0f, 0x4b, 0x5a, 0xa3, 0x7e, 0xc3, 0x8a, - 0x47, 0xb7, 0xd3, 0xa9, 0xd5, 0x6d, 0xb3, 0xaf, 0xd3, 0xef, 0x22, 0x96, 0x09, 0x34, 0x3f, 0xf1, 0xd6, 0x07, 0xa4, - 0xbe, 0xfd, 0x34, 0xb2, 0x9d, 0x5f, 0xfc, 0xf0, 0x0d, 0x86, 0xd3, 0x9f, 0x1c, 0xe1, 0xae, 0x0c, 0x7e, 0x66, 0x07, - 0xaa, 0x03, 0x25, 0x9f, 0xdd, 0x32, 0xc2, 0x60, 0x1c, 0x3e, 0xf0, 0x0c, 0x2b, 0xf8, 0x64, 0x7f, 0x15, 0xde, 0xc1, - 0xea, 0x1f, 0x5e, 0xf0, 0x5a, 0x5a, 0x23, 0xd5, 0x02, 0xdb, 0x85, 0x50, 0x42, 0xd9, 0x21, 0x35, 0x6e, 0xd4, 0xf6, - 0xef, 0x5c, 0x30, 0xd9, 0x22, 0xe1, 0xa6, 0x91, 0xe3, 0x57, 0x76, 0x9e, 0xb9, 0x72, 0x3c, 0xdf, 0x70, 0x33, 0xab, - 0xa0, 0x6f, 0x41, 0x19, 0x16, 0x56, 0x5f, 0x3a, 0xbe, 0x68, 0x88, 0xfe, 0x65, 0xf1, 0x0b, 0xc7, 0x51, 0xfe, 0x98, - 0xa3, 0x06, 0xee, 0xfc, 0x32, 0xaa, 0x88, 0x92, 0x3c, 0x66, 0x83, 0x03, 0xbd, 0xa3, 0xd1, 0x3c, 0xa1, 0x53, 0x2b, - 0x34, 0x80, 0x72, 0x0f, 0x1d, 0xfd, 0x80, 0xf5, 0xd4, 0x7e, 0xc3, 0x36, 0x1e, 0xe3, 0xf2, 0xaf, 0xe3, 0x4e, 0x46, - 0x9c, 0x92, 0x62, 0x7e, 0xcb, 0x33, 0x83, 0xf5, 0x82, 0x25, 0x5e, 0x25, 0x61, 0x07, 0xa4, 0xa8, 0xdf, 0xb1, 0xe7, - 0x7f, 0xe7, 0x7b, 0x1d, 0x60, 0xbe, 0x2d, 0xe8, 0xc9, 0xac, 0x01, 0xbf, 0xf5, 0x02, 0x6a, 0x2f, 0xe8, 0x2d, 0xa7, - 0xc5, 0x76, 0x55, 0x0d, 0x70, 0x02, 0x23, 0xa8, 0x99, 0x27, 0xf1, 0xe5, 0xde, 0xda, 0xff, 0x52, 0x71, 0x6a, 0xc0, - 0xc7, 0xc7, 0xeb, 0x07, 0xcc, 0x43, 0x87, 0x1c, 0xe5, 0x19, 0xef, 0x80, 0xcf, 0x1e, 0x1f, 0xf3, 0x1c, 0xb0, 0x63, - 0xf2, 0x7f, 0xe1, 0x61, 0xa9, 0xb3, 0xe7, 0x78, 0xf8, 0x12, 0x76, 0x8b, 0x93, 0x3d, 0xdc, 0x4d, 0xf2, 0x30, 0xde, - 0x24, 0xde, 0x06, 0x4f, 0x74, 0x63, 0xe0, 0x6a, 0xf0, 0xe3, 0x14, 0xeb, 0x3b, 0xde, 0xea, 0xe3, 0xf7, 0x7a, 0x7d, - 0x62, 0x5f, 0x35, 0x78, 0xbe, 0xff, 0x8d, 0x8f, 0xc6, 0x2d, 0xe3, 0x7f, 0xd5, 0x9a, 0xe7, 0x17, 0xa4, 0xaf, 0x63, - 0xf7, 0x74, 0x24, 0xdb, 0xea, 0xb1, 0x20, 0x67, 0x3a, 0x46, 0x47, 0x3a, 0x4e, 0xcb, 0x9f, 0xe2, 0xfa, 0x94, 0x9f, - 0x7c, 0xaf, 0xaf, 0x4f, 0x3c, 0xa9, 0xd4, 0xc6, 0xf3, 0x69, 0xb4, 0x01, 0x47, 0x0b, 0xe8, 0x4f, 0xab, 0x69, 0x6b, - 0x43, 0x12, 0x6f, 0x60, 0xb2, 0x4b, 0x71, 0x68, 0x56, 0xec, 0x96, 0xed, 0x4c, 0x3d, 0xd0, 0x9f, 0x77, 0xad, 0x07, - 0xe7, 0x85, 0xb9, 0xb1, 0x67, 0x05, 0x6e, 0x98, 0xac, 0xd4, 0x0e, 0xd2, 0x20, 0x1a, 0x11, 0x4b, 0x16, 0x88, 0x8e, - 0xfc, 0xda, 0x6b, 0x8f, 0x4d, 0xc5, 0xd9, 0xfd, 0x1a, 0x43, 0x97, 0x92, 0x01, 0x70, 0xb9, 0x2c, 0xec, 0xd4, 0xeb, - 0xed, 0x00, 0x0d, 0x02, 0x14, 0x07, 0x55, 0xce, 0x4c, 0xa0, 0x6c, 0x16, 0xf8, 0x1c, 0xe8, 0x55, 0x80, 0x3d, 0xe8, - 0xc2, 0xd1, 0xb9, 0x21, 0x5e, 0xe0, 0x9c, 0xd9, 0x2b, 0x03, 0x42, 0x89, 0x92, 0x5f, 0x34, 0xbc, 0x2d, 0xc6, 0x1c, - 0x7d, 0xd8, 0x08, 0x6b, 0x46, 0xa7, 0xaa, 0xe3, 0xda, 0x5b, 0xa5, 0xe3, 0xe6, 0xc1, 0xf1, 0x3d, 0x48, 0x90, 0x63, - 0x90, 0xc6, 0xfa, 0x3d, 0x7f, 0xb7, 0x3c, 0x95, 0x19, 0x58, 0x65, 0xc7, 0xfc, 0x7e, 0xc8, 0xad, 0x18, 0x79, 0x33, - 0x99, 0x28, 0x4b, 0x78, 0x90, 0x2b, 0xbc, 0xaf, 0xe2, 0x3f, 0x17, 0x91, 0xec, 0x24, 0x3f, 0xd2, 0x47, 0x42, 0xf5, - 0x8c, 0xf0, 0xcb, 0x27, 0xaa, 0xfe, 0x28, 0x66, 0xc3, 0x50, 0xec, 0xc6, 0x6a, 0x36, 0x0e, 0x73, 0x2e, 0xe7, 0x8d, - 0x36, 0xc4, 0x5b, 0x27, 0xb5, 0x89, 0xb4, 0xc1, 0x15, 0x7e, 0xb3, 0x00, 0x74, 0xc5, 0xf2, 0x40, 0x21, 0x90, 0x23, - 0xb4, 0xb7, 0x15, 0x2d, 0xf1, 0x29, 0x07, 0xbf, 0x60, 0x07, 0x3b, 0x84, 0x66, 0xbf, 0xcc, 0x43, 0x6b, 0x34, 0x6d, - 0x64, 0xd2, 0x61, 0xe7, 0x12, 0xc8, 0xd4, 0x02, 0x23, 0xd4, 0x38, 0xcb, 0xa1, 0xb0, 0x2a, 0xb8, 0x6f, 0xb4, 0x72, - 0x2e, 0x5c, 0xb7, 0x94, 0x4f, 0x86, 0x05, 0x3e, 0xc1, 0x16, 0x3e, 0x63, 0xc2, 0xee, 0x0b, 0xba, 0x39, 0x24, 0x52, - 0x48, 0x15, 0x25, 0x8d, 0xc9, 0xa0, 0x42, 0xe9, 0xb8, 0x8a, 0x5a, 0xa7, 0x81, 0xee, 0x31, 0x21, 0xa6, 0xa7, 0x20, - 0x16, 0x47, 0x6e, 0x5f, 0xfd, 0x11, 0xcf, 0xcf, 0x9b, 0x1f, 0xfb, 0x18, 0x27, 0x1a, 0x8b, 0xc7, 0x91, 0x3a, 0x3f, - 0x42, 0x65, 0xb8, 0xbc, 0x39, 0xed, 0x2e, 0xec, 0x35, 0x75, 0xd9, 0x29, 0x92, 0x12, 0x21, 0xa6, 0xb2, 0x5c, 0xe0, - 0x70, 0xdf, 0xeb, 0x9a, 0x54, 0xec, 0x08, 0xbc, 0x2e, 0xc4, 0x2f, 0x85, 0x7b, 0x6b, 0xf8, 0xbd, 0x62, 0xb7, 0x5a, - 0x3b, 0xdf, 0xb6, 0xb9, 0x33, 0x8f, 0xfc, 0xc0, 0xe1, 0xcc, 0xc9, 0x4c, 0xf4, 0x8b, 0xb0, 0xc4, 0xba, 0x23, 0xc7, - 0xd2, 0x90, 0xe0, 0xc4, 0x33, 0x54, 0xd9, 0x54, 0x43, 0xf7, 0x3b, 0x2f, 0x14, 0x71, 0x53, 0x72, 0xb4, 0x9b, 0x80, - 0x5c, 0xae, 0xe9, 0x52, 0xcb, 0xa8, 0x1c, 0x92, 0x84, 0xe7, 0x39, 0x90, 0xe7, 0x84, 0x62, 0xf5, 0xb3, 0xac, 0x33, - 0xe2, 0xbc, 0x81, 0x52, 0x3e, 0x12, 0x49, 0x78, 0xa6, 0xa6, 0xe7, 0x66, 0xe2, 0x4f, 0xd4, 0x5f, 0x89, 0xb3, 0x37, - 0x19, 0x1e, 0x8e, 0xe3, 0x0a, 0xc3, 0x35, 0xfc, 0x87, 0xd0, 0xa3, 0x07, 0xfe, 0xb9, 0x19, 0xc3, 0x20, 0x24, 0x99, - 0x51, 0x28, 0xc2, 0xa4, 0xf4, 0xea, 0xba, 0x6b, 0x1a, 0xe3, 0x44, 0xc7, 0xbd, 0x07, 0x9f, 0xab, 0x77, 0x13, 0xa4, - 0x84, 0xc4, 0x31, 0xa5, 0x0c, 0xca, 0xb5, 0xa8, 0xf0, 0xe0, 0xa9, 0xf6, 0xf5, 0x8f, 0x99, 0x5b, 0x51, 0x74, 0xf9, - 0x0a, 0xd9, 0x48, 0x00, 0x46, 0x4f, 0x06, 0x58, 0x0f, 0xcb, 0x0c, 0x76, 0x22, 0x21, 0xbe, 0x0a, 0x87, 0x2c, 0xad, - 0x3a, 0xca, 0x00, 0xb0, 0xd9, 0x6d, 0x04, 0xa3, 0x0f, 0x58, 0x75, 0x86, 0x5a, 0xd1, 0xdf, 0xb2, 0xa8, 0x5a, 0x69, - 0xdd, 0x48, 0x79, 0x35, 0x8d, 0x3e, 0xd1, 0x91, 0x0b, 0x3e, 0x97, 0x75, 0xbb, 0x20, 0x29, 0x49, 0x8c, 0x36, 0xb4, - 0xd0, 0x6f, 0x6b, 0x48, 0x57, 0xff, 0xf9, 0xe9, 0x7e, 0x28, 0xa2, 0x28, 0xad, 0x8b, 0x41, 0x72, 0x14, 0x94, 0xfe, - 0x87, 0x50, 0x07, 0x70, 0x36, 0x2d, 0xea, 0x27, 0x51, 0xc7, 0xed, 0x06, 0x1a, 0xf1, 0xe5, 0x07, 0xd8, 0xd9, 0x3a, - 0xba, 0xdb, 0xd6, 0xba, 0xd3, 0x24, 0x9a, 0x5c, 0x34, 0xa3, 0xca, 0x59, 0x23, 0xc7, 0x87, 0x41, 0x76, 0x16, 0xb9, - 0x4c, 0x46, 0x38, 0x77, 0x7b, 0x5d, 0xb0, 0x61, 0x12, 0x65, 0xc5, 0xff, 0x7c, 0x15, 0xa2, 0xbb, 0x94, 0x8b, 0x7e, - 0x00, 0x5b, 0xf2, 0xb2, 0xe3, 0x64, 0xd5, 0x20, 0x20, 0x5a, 0x09, 0x58, 0xce, 0xfc, 0xa2, 0x30, 0x8d, 0xd3, 0x77, - 0x5d, 0xba, 0x98, 0xc6, 0x90, 0xb5, 0x6e, 0x3e, 0xf0, 0x6f, 0x54, 0xb9, 0xc7, 0xb5, 0x26, 0xb8, 0x25, 0xa4, 0x77, - 0xe1, 0x0e, 0xf0, 0x6a, 0x53, 0xc7, 0x6e, 0xd7, 0x21, 0x10, 0x12, 0x08, 0x95, 0x2e, 0x24, 0xa8, 0x42, 0xdd, 0xce, - 0x84, 0x35, 0xd5, 0x23, 0xbc, 0x70, 0x62, 0xec, 0x2f, 0x57, 0x25, 0x37, 0x02, 0x07, 0x50, 0x34, 0x9b, 0x2f, 0x84, - 0xcd, 0xe4, 0xa8, 0x57, 0x8d, 0x6a, 0x47, 0xf0, 0x15, 0x3b, 0x1e, 0xfc, 0xd9, 0x67, 0x12, 0x31, 0x66, 0xe8, 0xc2, - 0x86, 0xdc, 0xf2, 0x33, 0x5d, 0x30, 0x6f, 0x0e, 0xda, 0xe9, 0x69, 0xed, 0xa3, 0xa0, 0x42, 0x75, 0x7e, 0xaa, 0x17, - 0x66, 0x12, 0xf2, 0x1c, 0x8b, 0x17, 0x83, 0xe6, 0xb9, 0xb1, 0x7e, 0x1f, 0x1d, 0xf2, 0xff, 0xd7, 0x0a, 0x18, 0x39, - 0xbb, 0x95, 0xee, 0x99, 0x52, 0xa6, 0xe4, 0xbb, 0xc5, 0xfc, 0xca, 0xc4, 0x70, 0xb5, 0x9c, 0x1a, 0xc1, 0x71, 0x9c, - 0xe6, 0xf1, 0x11, 0x26, 0x83, 0xa8, 0xbe, 0xc6, 0x56, 0x7c, 0xe8, 0xca, 0x90, 0x85, 0x7b, 0xbf, 0x4a, 0x54, 0x7a, - 0x87, 0xa3, 0xa7, 0xda, 0x9a, 0x51, 0xb5, 0x04, 0xea, 0xeb, 0x46, 0xad, 0xa8, 0xd5, 0x82, 0x72, 0x2a, 0x98, 0x57, - 0x98, 0xf2, 0xc4, 0x56, 0xe7, 0xff, 0x2d, 0x2b, 0xe1, 0xcf, 0x0d, 0xff, 0x8b, 0xbf, 0x10, 0x4e, 0x58, 0xb1, 0xa4, - 0xc2, 0x8f, 0x57, 0x07, 0x03, 0xb0, 0xf0, 0xdf, 0x87, 0xdd, 0xe8, 0x6f, 0x63, 0xb9, 0x80, 0xd4, 0xfd, 0xe8, 0x29, - 0x96, 0x4e, 0x11, 0x42, 0x2c, 0xe5, 0x45, 0xcf, 0x54, 0x52, 0x8b, 0x33, 0x2f, 0x1a, 0x00, 0x98, 0xf7, 0x60, 0xcd, - 0x7d, 0x71, 0x9c, 0x24, 0x41, 0xcd, 0x2a, 0xa0, 0x9a, 0x72, 0x3d, 0x27, 0xcc, 0xaf, 0x38, 0xf5, 0xa7, 0xac, 0xe9, - 0x99, 0x53, 0x50, 0xb7, 0xe7, 0x27, 0x69, 0x8c, 0x82, 0x66, 0xac, 0x18, 0xa7, 0xb2, 0x9d, 0xa4, 0xbf, 0x58, 0xbb, - 0xdc, 0xdd, 0x25, 0xca, 0xa4, 0xcb, 0xb3, 0x36, 0xe3, 0xbf, 0x92, 0x4a, 0x69, 0xc5, 0xee, 0xd4, 0xa9, 0xd1, 0x71, - 0x6e, 0x09, 0x6a, 0x34, 0x84, 0xe0, 0xcb, 0x40, 0x7a, 0xc8, 0x79, 0x59, 0x3a, 0xca, 0x73, 0xe0, 0x3c, 0x94, 0xed, - 0xc9, 0x83, 0x19, 0x68, 0x8f, 0xfe, 0x36, 0x8c, 0xa6, 0x96, 0xcc, 0xdf, 0xb9, 0x6a, 0xc3, 0x0e, 0xd1, 0xd0, 0x22, - 0x98, 0xae, 0x36, 0xc7, 0xed, 0x80, 0xf7, 0x72, 0x29, 0xb9, 0x3a, 0xd7, 0xae, 0xcf, 0x92, 0xe7, 0x67, 0xef, 0xc3, - 0x56, 0xd2, 0x6d, 0xfa, 0x4f, 0xde, 0x4e, 0x6d, 0x72, 0x7d, 0x9b, 0x56, 0xba, 0x2c, 0x9b, 0x20, 0x4a, 0x33, 0x34, - 0x71, 0xfe, 0x30, 0xdf, 0x4e, 0xfd, 0x13, 0xc1, 0x72, 0xc6, 0xa6, 0xec, 0xc7, 0xf9, 0xaa, 0x14, 0x66, 0xaa, 0x90, - 0x40, 0xda, 0x14, 0x7d, 0x49, 0x8d, 0x0b, 0x73, 0x3a, 0xbc, 0xa7, 0x93, 0x5c, 0x40, 0xfa, 0x34, 0x42, 0xe8, 0x63, - 0x27, 0x34, 0xe7, 0x68, 0xe4, 0xcd, 0x7f, 0x32, 0xf3, 0x5d, 0xf8, 0x41, 0x34, 0x68, 0xf8, 0x1d, 0x6f, 0x86, 0xda, - 0x76, 0xfa, 0x6a, 0x6f, 0xd3, 0x3c, 0x04, 0xb5, 0x6f, 0x34, 0x09, 0x1a, 0xf8, 0x7a, 0xf6, 0x03, 0x3e, 0xd9, 0x6c, - 0xaa, 0xa9, 0xf6, 0xc3, 0xaf, 0x26, 0xec, 0x90, 0x2a, 0xcb, 0xd0, 0x0c, 0x12, 0x06, 0xed, 0x0a, 0xdf, 0xd3, 0x25, - 0x4c, 0x02}; + 0x1b, 0xc3, 0x97, 0x11, 0x55, 0xb5, 0x65, 0x2c, 0x8a, 0x8a, 0x55, 0x0b, 0xd0, 0xba, 0x80, 0x1b, 0x32, 0xb0, 0x81, + 0x4f, 0x27, 0x63, 0xf1, 0x7e, 0x88, 0xe3, 0xd8, 0x52, 0x84, 0x55, 0xe8, 0x35, 0x5b, 0x2b, 0x82, 0xe1, 0xed, 0x1f, + 0xfd, 0xde, 0x63, 0x38, 0x3a, 0x71, 0x78, 0xb0, 0x42, 0x17, 0x15, 0x54, 0x23, 0xe1, 0xaa, 0x28, 0x11, 0x94, 0x23, + 0xb4, 0xf4, 0x91, 0x3c, 0xfc, 0xff, 0xab, 0x5a, 0x56, 0x2d, 0x07, 0xcb, 0x09, 0x6f, 0x79, 0x15, 0x1c, 0xd2, 0x87, + 0x40, 0x38, 0x97, 0xce, 0x9d, 0x87, 0x67, 0xe0, 0xa0, 0x4d, 0x49, 0x1a, 0x27, 0xf0, 0xf5, 0x8d, 0x9d, 0x72, 0x02, + 0x12, 0x45, 0x49, 0x2b, 0x48, 0xe0, 0x6a, 0xff, 0x5f, 0x6d, 0x55, 0xf1, 0x54, 0x12, 0xc1, 0x2f, 0x1e, 0xc8, 0x83, + 0x0c, 0x92, 0x0d, 0x75, 0xd8, 0xf5, 0xdd, 0xc7, 0x75, 0x50, 0x6c, 0xa1, 0xb2, 0x85, 0xad, 0x6d, 0x63, 0xd1, 0x96, + 0x38, 0xaa, 0x65, 0x4d, 0x1e, 0x6c, 0x14, 0x4e, 0x10, 0xed, 0xbe, 0xaf, 0xf3, 0xff, 0xeb, 0xf7, 0xc6, 0x6f, 0xd9, + 0x77, 0x24, 0x81, 0xbb, 0x26, 0xd0, 0x31, 0x81, 0xae, 0x49, 0x8d, 0x23, 0xb0, 0x5a, 0x62, 0xe5, 0x49, 0x4a, 0x17, + 0xa7, 0x66, 0xda, 0xb2, 0x6a, 0x9d, 0xf0, 0x4d, 0xa4, 0x1d, 0x59, 0xe6, 0x00, 0x55, 0x58, 0x63, 0xf9, 0x0c, 0xfe, + 0xa0, 0xbd, 0xa5, 0xfa, 0x75, 0x9f, 0xcb, 0x49, 0x22, 0x0c, 0xe1, 0xd5, 0xb0, 0xd8, 0x13, 0x72, 0xd3, 0x25, 0x4e, + 0x48, 0x1b, 0xa2, 0x76, 0x4f, 0x5c, 0x42, 0xe2, 0x98, 0x6d, 0x9b, 0x80, 0x3e, 0x69, 0x90, 0xcf, 0x69, 0xa5, 0x2e, + 0xc0, 0x47, 0x4f, 0x5c, 0xac, 0x83, 0x99, 0xe7, 0xfc, 0xff, 0xdf, 0x96, 0x7e, 0xa5, 0xd5, 0x2d, 0x98, 0x45, 0x4a, + 0x81, 0x52, 0x20, 0x67, 0x6d, 0x8d, 0xbd, 0xc4, 0x49, 0xb0, 0x41, 0xa8, 0xba, 0xf7, 0xbe, 0x77, 0x47, 0x45, 0x3d, + 0xea, 0xaa, 0x52, 0xcf, 0x6f, 0xb2, 0x2d, 0xea, 0x11, 0x1f, 0x0b, 0x6d, 0x7e, 0xef, 0x55, 0x75, 0xab, 0xaa, 0x5b, + 0xf6, 0x74, 0x4b, 0xf6, 0x18, 0xe7, 0x1c, 0x59, 0xf6, 0xfe, 0x01, 0xd2, 0xff, 0x8b, 0xe4, 0xf9, 0xe7, 0x2c, 0x52, + 0x84, 0x51, 0x02, 0x9c, 0xed, 0xc9, 0x31, 0x0a, 0x01, 0xd3, 0xcd, 0x36, 0xdc, 0x74, 0x55, 0x87, 0x2a, 0x51, 0x4e, + 0xcf, 0x28, 0xc5, 0x71, 0xec, 0x2d, 0x23, 0x97, 0xcb, 0x55, 0x7d, 0xfd, 0xd6, 0x83, 0x1d, 0xc6, 0x0a, 0x21, 0x9e, + 0x5d, 0x46, 0xd3, 0xfc, 0xcd, 0xca, 0x21, 0x21, 0x24, 0xce, 0x75, 0x5d, 0x7f, 0xa6, 0x0d, 0xf7, 0x70, 0x16, 0xd1, + 0xc4, 0x38, 0xe2, 0x00, 0xf9, 0x14, 0x84, 0xa1, 0x23, 0x9d, 0x6e, 0xcc, 0x71, 0xee, 0xa1, 0xc8, 0x1a, 0xc1, 0xb4, + 0xda, 0x43, 0x30, 0xcf, 0xe1, 0xc0, 0x01, 0x34, 0xb2, 0x3c, 0xb7, 0x7f, 0xf5, 0x81, 0xad, 0xdb, 0xf5, 0x23, 0x32, + 0xe8, 0xf1, 0x66, 0xa5, 0x04, 0xdc, 0x46, 0x71, 0x3d, 0x0e, 0x94, 0x8d, 0x00, 0x35, 0xab, 0xb1, 0x1b, 0x92, 0xef, + 0xcd, 0xef, 0x3f, 0x1d, 0x1c, 0x84, 0x98, 0xe9, 0x3f, 0x54, 0xae, 0x9d, 0x84, 0x17, 0xa2, 0x2e, 0x69, 0x5b, 0xc0, + 0xd5, 0x10, 0x62, 0x1e, 0x06, 0x1e, 0xa2, 0xe0, 0xb5, 0xd7, 0xe2, 0xe9, 0xb4, 0xc6, 0x33, 0x43, 0xc6, 0x96, 0x8b, + 0x5c, 0x0f, 0xd4, 0x5c, 0x18, 0x1c, 0x0e, 0xba, 0x54, 0x85, 0xf3, 0x4c, 0x2e, 0xa2, 0x4d, 0xd7, 0x9a, 0x23, 0xba, + 0x9a, 0xf4, 0xba, 0xa4, 0xf4, 0xdc, 0xdf, 0x7c, 0x53, 0x67, 0xdc, 0x17, 0x7a, 0x7e, 0x49, 0x87, 0x3f, 0xe3, 0xbc, + 0x98, 0x12, 0x88, 0xe8, 0x78, 0x4f, 0x91, 0x72, 0x75, 0x32, 0xc8, 0xd7, 0x95, 0xca, 0xd2, 0xcf, 0x7f, 0x83, 0x7d, + 0x06, 0x6e, 0x11, 0x1b, 0xc7, 0xf9, 0x71, 0x99, 0x5f, 0x17, 0x63, 0x5e, 0x35, 0xf3, 0xd5, 0xe1, 0x70, 0xd9, 0xbb, + 0xc1, 0x75, 0x93, 0x66, 0x1f, 0xd6, 0x83, 0xa5, 0xdb, 0x37, 0x7f, 0x59, 0xd3, 0xe6, 0x66, 0x37, 0x45, 0x5b, 0x5b, + 0x7e, 0xf1, 0xd4, 0xd3, 0x0b, 0xb5, 0x90, 0xaf, 0xeb, 0x69, 0xc2, 0xcd, 0x5c, 0x30, 0xca, 0x16, 0xda, 0x1d, 0xf0, + 0xb9, 0xea, 0xb2, 0xfc, 0xba, 0x5d, 0x25, 0xf3, 0xe3, 0xe4, 0x1b, 0xf1, 0xdb, 0x25, 0x73, 0x7d, 0x31, 0x43, 0x95, + 0x9a, 0x88, 0x6a, 0xf8, 0x47, 0x20, 0x2d, 0xb7, 0xd7, 0x78, 0x6f, 0xe2, 0xbb, 0xa1, 0x85, 0x75, 0xa4, 0xae, 0x6a, + 0x11, 0x25, 0xb7, 0xdf, 0xcd, 0xab, 0xa1, 0x2c, 0x20, 0xff, 0xd6, 0x84, 0xc8, 0x33, 0xee, 0x86, 0x44, 0x55, 0x79, + 0x98, 0x27, 0x37, 0x80, 0x50, 0xa9, 0x8e, 0x88, 0xb5, 0xcc, 0x13, 0xf0, 0x74, 0x38, 0xc7, 0xd8, 0x86, 0xc0, 0x7b, + 0x1d, 0x9e, 0xa6, 0x3b, 0xf3, 0xc3, 0xb5, 0x00, 0x77, 0xc3, 0xca, 0x83, 0x98, 0xba, 0x41, 0x85, 0x3c, 0xd9, 0x29, + 0xc8, 0x79, 0x52, 0x60, 0x25, 0xbb, 0xa6, 0x39, 0xca, 0x76, 0xf2, 0xa6, 0x7d, 0x57, 0xa3, 0xcc, 0xd6, 0xb8, 0xe7, + 0xcd, 0xdf, 0xf9, 0x24, 0x84, 0x14, 0x7f, 0x63, 0x51, 0x9b, 0x98, 0x4a, 0x48, 0xb8, 0x74, 0x9a, 0x74, 0xbf, 0xf1, + 0x9d, 0x48, 0x62, 0x9e, 0xe7, 0x8a, 0x92, 0x75, 0xc8, 0x64, 0x1b, 0xbf, 0xde, 0x54, 0x9b, 0xb6, 0x5c, 0x42, 0xc3, + 0x1a, 0x1e, 0x3f, 0xa7, 0x59, 0xa4, 0x90, 0x50, 0xb2, 0xa7, 0x25, 0x61, 0x65, 0x41, 0xde, 0x83, 0x2f, 0x53, 0x38, + 0x7c, 0xb9, 0xd3, 0xe7, 0x0b, 0x42, 0x59, 0xb8, 0xa9, 0xc0, 0xc4, 0x7b, 0x1b, 0x2b, 0xcd, 0xd7, 0x51, 0x43, 0x30, + 0x93, 0x3f, 0x13, 0xd6, 0x31, 0xfe, 0x55, 0x33, 0xb5, 0x25, 0x44, 0x09, 0x3e, 0xfc, 0x5c, 0x85, 0xac, 0x1b, 0xc1, + 0xd4, 0xb4, 0x54, 0xf2, 0x05, 0x97, 0x72, 0x0e, 0x24, 0x80, 0x50, 0x03, 0x26, 0x7f, 0xce, 0x9a, 0xbe, 0x9f, 0xf1, + 0xf2, 0x7e, 0xc4, 0x9b, 0x26, 0x24, 0x96, 0x37, 0x92, 0x0d, 0x75, 0xff, 0x64, 0xa0, 0xec, 0x38, 0xa6, 0x7a, 0xc8, + 0x7c, 0x1f, 0x76, 0x7b, 0x1a, 0x19, 0x21, 0xc8, 0x7d, 0x33, 0x42, 0xc3, 0x6c, 0x5e, 0xf0, 0x0b, 0x41, 0xaf, 0x8c, + 0x34, 0xa9, 0x8a, 0x2a, 0xbc, 0xff, 0xf5, 0x0b, 0x21, 0x7a, 0x1c, 0xea, 0xd1, 0xff, 0x4e, 0xe9, 0x2e, 0xd5, 0x12, + 0xc3, 0x7a, 0x28, 0xbc, 0x54, 0xe7, 0x95, 0xaa, 0xcd, 0x05, 0x02, 0x30, 0xe4, 0x56, 0x22, 0xfb, 0x9b, 0x91, 0x04, + 0xec, 0x30, 0x53, 0xfe, 0x75, 0x2d, 0xc2, 0x32, 0xc1, 0xe5, 0xcf, 0x59, 0x65, 0xaf, 0xe2, 0x93, 0x94, 0x3e, 0x9a, + 0x23, 0xaa, 0x2c, 0x61, 0x7c, 0x59, 0x10, 0xa4, 0x3c, 0x9b, 0x17, 0x9b, 0xc6, 0x8d, 0xdc, 0x51, 0x7b, 0x10, 0xaf, + 0x72, 0x1d, 0xc7, 0x12, 0x95, 0xad, 0x72, 0x02, 0x90, 0x3c, 0xbb, 0xef, 0x06, 0x61, 0xb0, 0x9c, 0x10, 0xa9, 0x2e, + 0x23, 0xfc, 0x73, 0xae, 0x0a, 0x6e, 0x25, 0x9a, 0x55, 0xcd, 0xfd, 0x37, 0xe8, 0x62, 0xb7, 0xe0, 0x8e, 0xcf, 0xeb, + 0xb9, 0xe1, 0x2a, 0xbc, 0x29, 0xfc, 0xb6, 0x64, 0x90, 0x5e, 0x59, 0x8e, 0x26, 0xd1, 0xaa, 0x8e, 0x38, 0x89, 0x68, + 0x81, 0xb1, 0xd9, 0x7f, 0xd2, 0xe2, 0xbd, 0xa0, 0x13, 0x2a, 0x6d, 0x2f, 0xd5, 0xe5, 0x74, 0xc6, 0x0f, 0x2e, 0xa8, + 0xd7, 0xc5, 0xf9, 0x94, 0x45, 0x50, 0xe1, 0xdb, 0xd4, 0x9f, 0xe9, 0x9c, 0x7a, 0x9f, 0x2f, 0x37, 0xcd, 0x73, 0x8f, + 0x65, 0xb7, 0x5b, 0x6b, 0x14, 0xb7, 0xae, 0x42, 0x6a, 0xc3, 0x8d, 0x97, 0x71, 0x5b, 0x2b, 0x28, 0xae, 0x08, 0x4f, + 0xb5, 0xa6, 0x89, 0x34, 0x76, 0x89, 0x53, 0x36, 0xc6, 0xfb, 0x77, 0x4b, 0xdc, 0x57, 0x4b, 0x99, 0x32, 0xc4, 0x34, + 0x3c, 0xa1, 0xee, 0x5e, 0x9a, 0x1a, 0x0c, 0x0b, 0x1e, 0xbb, 0x45, 0x7c, 0x21, 0x55, 0x09, 0x0a, 0x46, 0xe5, 0x34, + 0x4f, 0xbc, 0x78, 0xe8, 0x5d, 0xb0, 0x04, 0x88, 0xb7, 0xe8, 0xf2, 0x7e, 0x01, 0xc1, 0x8a, 0xd6, 0x0a, 0xb8, 0x13, + 0x4d, 0x90, 0xf0, 0x02, 0x1d, 0x06, 0x19, 0xea, 0x0d, 0xc8, 0x66, 0x95, 0xe8, 0x9d, 0xb3, 0x63, 0x50, 0x5a, 0xcd, + 0xa2, 0xbd, 0x76, 0x9e, 0xde, 0x05, 0xb6, 0xe4, 0xfc, 0x9c, 0x66, 0x63, 0xc6, 0x48, 0x9c, 0x5e, 0x14, 0x31, 0x65, + 0x9e, 0xa8, 0xb9, 0xb6, 0x44, 0x75, 0x9a, 0xbb, 0x3b, 0x63, 0xc6, 0x89, 0xfd, 0x7a, 0x15, 0x7d, 0xd7, 0xc7, 0x55, + 0xcd, 0x80, 0x0b, 0xcc, 0x86, 0xb5, 0xf1, 0xff, 0x69, 0x28, 0x94, 0x82, 0xbf, 0x9a, 0x75, 0x83, 0xe2, 0x5e, 0x2c, + 0xa7, 0xae, 0x27, 0x42, 0xd7, 0xdf, 0x19, 0xd8, 0x8f, 0x77, 0x84, 0x4f, 0x50, 0x46, 0x36, 0x76, 0xfb, 0xa6, 0x34, + 0xc2, 0xf5, 0x2a, 0xf9, 0xbc, 0x7f, 0x6a, 0xfb, 0x86, 0xfa, 0xfc, 0x58, 0x1c, 0xfb, 0x57, 0x6f, 0x28, 0xa6, 0x0e, + 0xdc, 0xc5, 0xec, 0xb9, 0x68, 0xbe, 0xb5, 0xce, 0xd1, 0x83, 0x87, 0xfc, 0x30, 0xec, 0x9d, 0x6e, 0x2c, 0xa6, 0xa6, + 0x8d, 0x07, 0x1a, 0x43, 0x02, 0xbf, 0x66, 0x0e, 0x6b, 0xf5, 0x40, 0x1c, 0xb1, 0x6a, 0x93, 0x53, 0x91, 0xfa, 0x8d, + 0x2a, 0x63, 0x85, 0x79, 0x2d, 0xae, 0x64, 0x21, 0x95, 0x75, 0x18, 0x28, 0x64, 0xa4, 0x3d, 0xa3, 0xdc, 0xb3, 0x82, + 0x87, 0xb9, 0xfe, 0x5d, 0x70, 0x87, 0xaf, 0xef, 0xed, 0x87, 0x26, 0xbe, 0x85, 0xf1, 0xa2, 0xec, 0x54, 0x66, 0x89, + 0x72, 0xcc, 0x02, 0x51, 0x24, 0xcf, 0x88, 0xe6, 0xf8, 0x9a, 0x8d, 0x21, 0x01, 0x72, 0x23, 0x20, 0xc7, 0xdd, 0x7b, + 0xc5, 0xb1, 0x4d, 0x88, 0x40, 0xa1, 0xdd, 0x2d, 0x90, 0x85, 0x82, 0x4c, 0x12, 0x49, 0xee, 0x8e, 0x86, 0x12, 0xfb, + 0x63, 0xf5, 0xd2, 0x85, 0x5b, 0x44, 0xb2, 0xb1, 0x1b, 0x12, 0x08, 0xa4, 0xf1, 0x3e, 0xd5, 0xe7, 0x02, 0x61, 0x29, + 0x40, 0xc7, 0xc1, 0x3f, 0x49, 0x09, 0xab, 0x99, 0x0c, 0x69, 0x36, 0x70, 0x57, 0xe6, 0x65, 0x37, 0xec, 0x7f, 0x67, + 0xa3, 0x02, 0xc2, 0xf1, 0xa1, 0x7f, 0xec, 0x26, 0x28, 0x32, 0x50, 0xb4, 0x42, 0x3d, 0x14, 0x94, 0x6e, 0x28, 0x62, + 0x50, 0xed, 0x8f, 0x9b, 0xc2, 0xdc, 0xdd, 0xc0, 0x64, 0x89, 0x8a, 0xd6, 0x3c, 0x79, 0x2f, 0xea, 0xdb, 0x88, 0xc1, + 0x27, 0x33, 0x76, 0xe8, 0x66, 0xa2, 0x92, 0x5d, 0xaa, 0x0c, 0xac, 0x83, 0x75, 0x2a, 0x95, 0x02, 0x2f, 0x6a, 0x72, + 0xf7, 0x2d, 0x20, 0x2a, 0xde, 0xa9, 0x8b, 0xce, 0xa0, 0x85, 0x57, 0x5a, 0xe8, 0x0c, 0xfa, 0xe5, 0x8c, 0x42, 0xd2, + 0xb1, 0xa6, 0x76, 0xb9, 0x4e, 0x54, 0x0c, 0xf6, 0x84, 0x0d, 0x4a, 0xb4, 0xfc, 0x43, 0x9b, 0x92, 0x88, 0x30, 0xd7, + 0x3d, 0x1f, 0xfe, 0x71, 0x66, 0x48, 0x1f, 0xde, 0xea, 0x21, 0x95, 0x24, 0xc2, 0x27, 0x7c, 0x39, 0x88, 0xd7, 0x1d, + 0x90, 0x14, 0xb8, 0x77, 0x5d, 0xb1, 0x76, 0x2f, 0x3b, 0xe2, 0xe5, 0x64, 0x4b, 0xcd, 0xb8, 0x2e, 0x53, 0xd0, 0xa8, + 0xe3, 0x78, 0xcb, 0xa7, 0xb0, 0xe1, 0x5d, 0xe9, 0x33, 0x3a, 0x16, 0x98, 0x25, 0x90, 0x08, 0x91, 0xde, 0x3f, 0xba, + 0x73, 0xa1, 0xe6, 0x75, 0x92, 0x19, 0x0a, 0x91, 0x5a, 0x25, 0x37, 0x41, 0x85, 0xe3, 0xa9, 0x42, 0xec, 0x48, 0x4a, + 0xca, 0x84, 0x23, 0x4c, 0x8f, 0x2b, 0xa2, 0xa3, 0xe4, 0x3e, 0x69, 0x2a, 0x19, 0x73, 0xf5, 0xbf, 0x4c, 0x69, 0x82, + 0xd9, 0x95, 0xc3, 0x21, 0x11, 0x20, 0x65, 0x5a, 0x6a, 0x37, 0x78, 0x3f, 0x22, 0x3e, 0x15, 0x80, 0x4a, 0x44, 0xa2, + 0x70, 0xcf, 0x2e, 0xfa, 0xb3, 0x28, 0x21, 0x62, 0x30, 0x13, 0xd3, 0x59, 0xf2, 0xfe, 0x5a, 0xe9, 0xe4, 0x75, 0xa3, + 0xab, 0x51, 0xcd, 0xeb, 0x07, 0x95, 0x8f, 0x98, 0x2b, 0x97, 0x4f, 0x02, 0x19, 0x5b, 0x4d, 0xae, 0xa9, 0xcc, 0xb3, + 0xb2, 0xb8, 0x0a, 0x0b, 0x54, 0x1b, 0xb5, 0x80, 0xeb, 0x73, 0x9d, 0xdb, 0x10, 0x75, 0xce, 0x41, 0xe4, 0x80, 0x1d, + 0x56, 0xb3, 0xd0, 0xd9, 0x31, 0x7d, 0x70, 0x99, 0x1c, 0xe1, 0x34, 0x9d, 0xb9, 0x63, 0x68, 0xa7, 0xf7, 0x22, 0x39, + 0x0c, 0x2e, 0x56, 0xa0, 0x0b, 0x28, 0xa7, 0x86, 0x31, 0x8a, 0x1c, 0x50, 0x62, 0xa9, 0x94, 0x72, 0x01, 0x40, 0x8b, + 0xa2, 0xab, 0xa0, 0x0c, 0x85, 0x2a, 0x69, 0x64, 0x0b, 0x07, 0x2b, 0x8e, 0x11, 0xaf, 0xbd, 0xfa, 0x21, 0x10, 0xb2, + 0x68, 0xbb, 0x06, 0xea, 0x40, 0xa9, 0xe6, 0xad, 0x7f, 0x17, 0xb9, 0xe8, 0xc2, 0xb3, 0x32, 0x40, 0x99, 0x3f, 0xaa, + 0x36, 0xeb, 0x4e, 0x26, 0x2f, 0xae, 0x8c, 0x17, 0xaa, 0x6c, 0x78, 0x90, 0x3c, 0x4b, 0x64, 0x4a, 0x28, 0x70, 0xca, + 0x92, 0xc6, 0x3e, 0xf1, 0xc1, 0x8e, 0xfc, 0xf6, 0x84, 0xb9, 0x39, 0x56, 0x46, 0x35, 0xe2, 0xe9, 0x8b, 0xaa, 0xeb, + 0x9a, 0x21, 0x42, 0xcd, 0x3f, 0x7c, 0xed, 0xac, 0xff, 0xa6, 0x1b, 0x8d, 0xde, 0x91, 0x75, 0xd6, 0xe4, 0xdf, 0x86, + 0xc1, 0x9d, 0xce, 0x9e, 0xd5, 0x55, 0x83, 0x58, 0x2b, 0x28, 0x02, 0xe1, 0x80, 0x07, 0xbf, 0xa9, 0x8e, 0xf6, 0x9b, + 0x80, 0x25, 0xef, 0x18, 0xda, 0x93, 0xea, 0x8a, 0x09, 0x4d, 0xcb, 0xe7, 0x1f, 0x41, 0x73, 0xa5, 0x86, 0xb2, 0x2c, + 0xf8, 0xf0, 0x01, 0x65, 0x06, 0xa5, 0xca, 0x51, 0x3b, 0xdd, 0x86, 0x5c, 0x13, 0x68, 0xa2, 0x27, 0x41, 0x9e, 0xaf, + 0xbf, 0x70, 0x57, 0xa5, 0x32, 0x90, 0x6f, 0x98, 0xec, 0xc2, 0x5d, 0xb2, 0xba, 0xca, 0x39, 0xfb, 0x2f, 0x51, 0xcc, + 0xf3, 0xbc, 0xa7, 0x23, 0x23, 0xbd, 0x67, 0x47, 0x6e, 0x6a, 0xc5, 0xf9, 0x29, 0x4a, 0x48, 0x16, 0x6d, 0x59, 0x68, + 0xcb, 0x11, 0x8c, 0x81, 0x12, 0x3a, 0x12, 0xb9, 0x0c, 0x59, 0xd6, 0xb0, 0xcc, 0xbe, 0xe5, 0x7f, 0xe3, 0x90, 0x49, + 0x4a, 0x72, 0x9a, 0x5c, 0xf7, 0xb2, 0xb8, 0xec, 0xca, 0x12, 0x95, 0xd8, 0x51, 0x6b, 0xba, 0x12, 0x43, 0xf2, 0xd5, + 0x7b, 0xda, 0xb4, 0xd4, 0x7e, 0x84, 0x74, 0x67, 0x46, 0x0a, 0xfa, 0xa0, 0xea, 0x6d, 0x74, 0xc1, 0xd1, 0x06, 0x90, + 0x63, 0x49, 0xf2, 0x3c, 0x29, 0x06, 0xd9, 0x44, 0x0a, 0x25, 0xea, 0x49, 0x0e, 0x63, 0x59, 0xc2, 0xdc, 0x8f, 0x12, + 0xcc, 0xd2, 0xb2, 0x8c, 0x91, 0x3e, 0x2d, 0x62, 0xa7, 0x14, 0x8f, 0x50, 0xf9, 0x38, 0xbb, 0xef, 0xa6, 0xa1, 0x24, + 0xd5, 0x49, 0x99, 0x20, 0x68, 0xcf, 0x81, 0xd0, 0x31, 0x01, 0xf3, 0xbd, 0xa9, 0xe8, 0x2f, 0x7f, 0x8e, 0x2b, 0x16, + 0xf6, 0x1f, 0x52, 0x3c, 0x33, 0xb3, 0x9b, 0x5f, 0x59, 0xce, 0x91, 0xe5, 0xcc, 0xd0, 0x49, 0x9b, 0x42, 0x0a, 0x1b, + 0x67, 0xbb, 0xfe, 0x82, 0x34, 0xef, 0x8d, 0x0e, 0x47, 0x7a, 0x09, 0xbf, 0x2f, 0x04, 0xd7, 0x87, 0x24, 0x8c, 0x90, + 0xab, 0x2e, 0xaa, 0xdd, 0x3c, 0x79, 0x91, 0xc2, 0x6a, 0x47, 0x47, 0x5c, 0x8a, 0xdd, 0xdb, 0x59, 0xc4, 0x5a, 0x91, + 0x0a, 0xf6, 0xbd, 0x32, 0x91, 0x89, 0xcd, 0xa0, 0x04, 0x67, 0x2b, 0x03, 0x7a, 0x56, 0xbb, 0x78, 0x26, 0xaa, 0xa3, + 0x26, 0xd4, 0x59, 0x81, 0x67, 0xa8, 0x01, 0x64, 0xeb, 0xbc, 0x69, 0xc9, 0x9e, 0x0e, 0x96, 0x93, 0xd4, 0x50, 0x9a, + 0x45, 0x04, 0xfe, 0xd0, 0xdd, 0xde, 0x93, 0x88, 0x0c, 0x03, 0x3f, 0xce, 0x46, 0x94, 0x07, 0xa8, 0x19, 0xc3, 0x89, + 0xa5, 0x49, 0x92, 0x35, 0x5c, 0x98, 0xf7, 0x56, 0x04, 0x71, 0xdf, 0xc7, 0xb6, 0x88, 0xfa, 0xdb, 0x51, 0x26, 0xd8, + 0x57, 0xeb, 0x04, 0xa2, 0x62, 0x16, 0xca, 0xe4, 0x5b, 0x42, 0x78, 0xcb, 0x03, 0xc3, 0xd5, 0xf9, 0x86, 0xd9, 0x58, + 0xb5, 0x92, 0x23, 0x5f, 0x55, 0x0b, 0x3b, 0x20, 0x1c, 0xb5, 0x2f, 0x1d, 0xeb, 0x67, 0xb7, 0x2a, 0x7a, 0x3d, 0x2d, + 0xbf, 0xda, 0xd4, 0x95, 0xaa, 0x03, 0xb9, 0x18, 0xa3, 0x6c, 0xc6, 0xa4, 0xd1, 0x00, 0xb5, 0x80, 0x5c, 0x59, 0x47, + 0xaa, 0x78, 0x9a, 0x96, 0x70, 0x88, 0x07, 0x1e, 0xaf, 0xae, 0x1d, 0xe9, 0x25, 0xdb, 0xa1, 0x03, 0xda, 0x7a, 0x87, + 0x6f, 0xbd, 0x76, 0x2d, 0xc6, 0x8d, 0x05, 0xbc, 0x01, 0xa0, 0x12, 0x95, 0x0a, 0x2a, 0xd1, 0x20, 0xe5, 0x52, 0xc5, + 0x75, 0xd0, 0x29, 0xd7, 0xb4, 0x58, 0x59, 0x2b, 0xbc, 0xcb, 0x03, 0xfc, 0x69, 0x07, 0xa4, 0xb2, 0xae, 0x82, 0x62, + 0xd1, 0xfd, 0x16, 0x84, 0x14, 0xe2, 0xcd, 0xf4, 0xcd, 0x1c, 0xcc, 0xc9, 0x92, 0x35, 0x5f, 0xcb, 0x13, 0x61, 0xb1, + 0x72, 0x6b, 0x4e, 0xce, 0x91, 0x51, 0x49, 0xdf, 0xde, 0x03, 0xa2, 0x6e, 0x76, 0x79, 0xbf, 0xf8, 0xd1, 0x33, 0xee, + 0x29, 0xf0, 0xf1, 0x76, 0xbf, 0x1b, 0x1c, 0x7e, 0x78, 0xcb, 0xe1, 0x90, 0x33, 0x48, 0x43, 0x1a, 0x1b, 0xc8, 0x10, + 0xbc, 0x58, 0x15, 0x16, 0xfc, 0xb1, 0x6e, 0x75, 0x89, 0xe8, 0x3c, 0x05, 0xfc, 0x3d, 0x73, 0x17, 0xba, 0x3f, 0x20, + 0x72, 0x17, 0xf2, 0x78, 0xde, 0x65, 0x52, 0x3e, 0x42, 0x1a, 0x49, 0xee, 0xdf, 0x47, 0x9a, 0xca, 0xe4, 0x7c, 0xf3, + 0x97, 0x3c, 0x2a, 0x54, 0xd6, 0xc1, 0x14, 0x1a, 0x94, 0xd4, 0x39, 0x60, 0xd0, 0x46, 0xc6, 0x55, 0xbd, 0x1c, 0x3a, + 0x69, 0xf5, 0x79, 0xb6, 0x07, 0x99, 0x22, 0x10, 0x9d, 0x1e, 0x94, 0x51, 0x06, 0x42, 0x00, 0xbc, 0x80, 0x00, 0x68, + 0x09, 0x06, 0x03, 0xf8, 0x48, 0xf7, 0x74, 0xd0, 0x98, 0x8c, 0xd3, 0xa7, 0x92, 0x0c, 0x75, 0xa9, 0xfc, 0x9a, 0x58, + 0x8f, 0x92, 0x25, 0x62, 0x52, 0x41, 0x0b, 0xc5, 0x8c, 0xe2, 0x53, 0xf3, 0xce, 0xdc, 0xd2, 0xfb, 0x92, 0x19, 0xc6, + 0x99, 0x66, 0xa9, 0xd3, 0x46, 0xf2, 0x91, 0xba, 0x4f, 0x79, 0xb0, 0x4a, 0x10, 0x9e, 0x12, 0xaa, 0x32, 0x3c, 0xd4, + 0x35, 0x53, 0x8a, 0x67, 0x38, 0x86, 0xe3, 0xf2, 0xad, 0x45, 0xea, 0xe0, 0x83, 0xc4, 0xa7, 0xef, 0x63, 0xa8, 0xad, + 0xf9, 0xe3, 0xaf, 0x1d, 0x09, 0xbf, 0x8c, 0x32, 0xcc, 0x95, 0x88, 0x03, 0x2d, 0x53, 0x60, 0x87, 0x0b, 0x3d, 0x4f, + 0xbc, 0xdc, 0x97, 0xb8, 0xa3, 0x40, 0x0f, 0x46, 0xec, 0xa9, 0x0f, 0x99, 0xdb, 0x33, 0x91, 0xb5, 0x2d, 0xea, 0xf5, + 0xdf, 0x17, 0xdf, 0xe5, 0xc9, 0xed, 0x98, 0x27, 0x75, 0x8a, 0x0a, 0xb4, 0x52, 0x7b, 0xcb, 0x7c, 0x5f, 0xcc, 0xc2, + 0xa3, 0xef, 0x56, 0xc8, 0x18, 0x43, 0x33, 0xf2, 0x60, 0x63, 0x44, 0x50, 0x16, 0x3b, 0x98, 0xdf, 0x29, 0x24, 0x3f, + 0x3e, 0xc8, 0x41, 0x23, 0x0a, 0x82, 0xaa, 0xfd, 0x05, 0x85, 0xb2, 0x30, 0xf6, 0x37, 0xbe, 0xf6, 0x3d, 0xb2, 0xea, + 0x14, 0xcb, 0xe3, 0xec, 0x33, 0x3e, 0x67, 0x71, 0xc5, 0xaa, 0x05, 0x59, 0x91, 0x7b, 0x25, 0x9e, 0x8e, 0x59, 0xda, + 0x66, 0xd1, 0xb4, 0x4e, 0x00, 0xef, 0x63, 0xe7, 0xb6, 0xdc, 0x0f, 0xb5, 0xfe, 0x08, 0xe2, 0xea, 0x8b, 0xb0, 0xf6, + 0x3c, 0x08, 0x2b, 0xaf, 0xa2, 0x40, 0x31, 0x6d, 0x4b, 0x7e, 0xde, 0xdb, 0xcf, 0xd8, 0x46, 0xf1, 0x44, 0xb6, 0x9b, + 0xf7, 0xb6, 0x67, 0xdb, 0x38, 0x65, 0x4a, 0xfd, 0x6d, 0xae, 0x0f, 0xfe, 0x0f, 0x11, 0x3f, 0xe6, 0x40, 0xbf, 0x5f, + 0xac, 0xa6, 0xf9, 0xa9, 0xf9, 0x64, 0x85, 0xd2, 0x07, 0xf0, 0xe2, 0xb2, 0x79, 0x31, 0x7a, 0xb5, 0xf6, 0x52, 0xc4, + 0xf2, 0x20, 0xf4, 0x2d, 0x62, 0x68, 0x3b, 0xc8, 0x2e, 0xdf, 0xcf, 0x05, 0xba, 0x60, 0xac, 0x47, 0xbf, 0x01, 0x9e, + 0xb4, 0xda, 0x38, 0x64, 0xe0, 0x32, 0x99, 0x73, 0x13, 0x24, 0xdd, 0x07, 0x55, 0xbf, 0xb7, 0xaf, 0xf2, 0xb8, 0xa2, + 0x07, 0x2e, 0xa8, 0x30, 0xdd, 0x71, 0xd7, 0xb5, 0xba, 0xfa, 0xdb, 0x1d, 0x78, 0x9e, 0x1b, 0xed, 0x45, 0xef, 0x6f, + 0xe2, 0x50, 0xc4, 0x95, 0xec, 0x0b, 0x88, 0x44, 0x26, 0x7e, 0xb3, 0x99, 0x24, 0xf6, 0xe5, 0x02, 0x66, 0x2a, 0x99, + 0x66, 0xb1, 0xb6, 0x74, 0x3b, 0xa7, 0x07, 0xaf, 0x86, 0xe5, 0x6c, 0x30, 0x3c, 0xcb, 0xc0, 0xe5, 0x97, 0xd7, 0xb8, + 0xe3, 0xa6, 0xad, 0x7f, 0xe5, 0x96, 0xf0, 0x25, 0xb2, 0xd4, 0xb5, 0xe4, 0xcf, 0x28, 0xb5, 0x1f, 0x34, 0x95, 0x7f, + 0x12, 0xf4, 0xb4, 0xf4, 0x3e, 0x2f, 0x9d, 0xca, 0xaf, 0xdf, 0xb7, 0x3d, 0xad, 0x16, 0xaf, 0xfe, 0x3a, 0xb9, 0x5e, + 0xff, 0xaf, 0xed, 0x1a, 0x3d, 0xfa, 0x39, 0xbd, 0xb2, 0xbf, 0x13, 0x9b, 0x85, 0x61, 0x77, 0x3d, 0x5d, 0x5c, 0x8b, + 0xea, 0xcf, 0x0f, 0xfc, 0xb3, 0xd3, 0x4a, 0x98, 0x8f, 0xbf, 0xb7, 0x98, 0x4c, 0xad, 0x66, 0xb7, 0xa6, 0x7b, 0xf8, + 0xe9, 0xa7, 0x1e, 0x04, 0xda, 0x95, 0x9c, 0xbb, 0xa6, 0x61, 0x98, 0x45, 0x85, 0x1a, 0x4e, 0xd1, 0x83, 0x3e, 0xda, + 0x1e, 0x37, 0xdf, 0x64, 0xeb, 0xc0, 0xed, 0x65, 0x93, 0x27, 0xcd, 0xd6, 0xf5, 0xb5, 0xc5, 0xf5, 0x5c, 0xa6, 0xcb, + 0x29, 0xb8, 0x91, 0x09, 0x1f, 0xe2, 0xbf, 0x6c, 0xc1, 0x64, 0x15, 0x90, 0xfc, 0x81, 0x14, 0xd7, 0xb7, 0xab, 0xab, + 0x5f, 0x65, 0xb9, 0x12, 0xb3, 0x8e, 0xb4, 0x06, 0x5a, 0x07, 0x41, 0xa3, 0xe6, 0x71, 0x21, 0x66, 0xae, 0xe9, 0x68, + 0x57, 0x72, 0x82, 0x0b, 0x50, 0x18, 0x4d, 0xfd, 0xc7, 0x4f, 0xa1, 0x36, 0xf7, 0x1a, 0xe5, 0x08, 0xae, 0x89, 0x62, + 0xf7, 0x9a, 0xb0, 0xdd, 0x82, 0x71, 0xaa, 0x78, 0x87, 0xaa, 0xca, 0x8d, 0xf6, 0xc5, 0x4c, 0x03, 0xa2, 0xca, 0x72, + 0x12, 0xe0, 0x10, 0x6f, 0x16, 0x6e, 0x92, 0xc4, 0xff, 0x1e, 0xbb, 0x48, 0x99, 0x14, 0xfe, 0xb9, 0x22, 0x64, 0xb1, + 0xd0, 0x2f, 0xb7, 0x8e, 0xd8, 0xd4, 0x0d, 0xab, 0xeb, 0x0f, 0x92, 0x99, 0x90, 0x9a, 0x89, 0xb0, 0xa2, 0x66, 0xbe, + 0x05, 0xdc, 0x93, 0x82, 0x89, 0xe7, 0x22, 0x6f, 0x6d, 0xd7, 0xfc, 0x7d, 0xea, 0xb3, 0xc5, 0x47, 0x91, 0x05, 0xd0, + 0x0d, 0x01, 0x02, 0x1a, 0xd7, 0xa7, 0xc5, 0x7a, 0x6f, 0x3b, 0xef, 0x5f, 0xd2, 0x58, 0x74, 0x3b, 0xe3, 0xca, 0x79, + 0xab, 0x68, 0xec, 0xe9, 0x02, 0x28, 0x69, 0xf5, 0xe5, 0xc7, 0x55, 0x3f, 0xbc, 0xdf, 0xc4, 0xad, 0xde, 0xc7, 0xbb, + 0xfe, 0xb5, 0x50, 0x8e, 0x34, 0x7c, 0x3a, 0xa5, 0xe1, 0xe5, 0x4e, 0x35, 0x31, 0x67, 0x3c, 0x2d, 0xaf, 0x5c, 0xd8, + 0x0d, 0xd9, 0xc6, 0xef, 0x7c, 0x68, 0xeb, 0x81, 0x5f, 0x76, 0x98, 0x22, 0x34, 0x27, 0x9b, 0x29, 0x2f, 0x90, 0x98, + 0xeb, 0x9b, 0xad, 0x38, 0xd8, 0x7b, 0x84, 0x36, 0xe1, 0xaf, 0x97, 0x24, 0x2b, 0xc4, 0xa8, 0xc2, 0x41, 0x5e, 0x1e, + 0xf6, 0x29, 0x4c, 0x82, 0xf5, 0x25, 0x3c, 0x04, 0x8a, 0x3e, 0x62, 0x14, 0xcb, 0xf1, 0x16, 0xea, 0x58, 0x8e, 0x83, + 0xde, 0x2c, 0x1f, 0xb5, 0xb1, 0x8b, 0x9f, 0x31, 0xb0, 0x62, 0xab, 0x90, 0xd3, 0x88, 0x35, 0x5b, 0xf8, 0xde, 0xdc, + 0xfa, 0xa1, 0xde, 0x73, 0x37, 0x24, 0x1c, 0x6e, 0x2b, 0xcf, 0x2f, 0xaa, 0x2d, 0x2b, 0xb5, 0x01, 0xde, 0xd2, 0x9d, + 0x79, 0x50, 0x49, 0x9b, 0xf7, 0x44, 0x76, 0x6f, 0x54, 0xf5, 0xd7, 0x4e, 0x16, 0xe2, 0x97, 0xdf, 0x45, 0xdb, 0x59, + 0x0a, 0x22, 0x5c, 0x84, 0x21, 0xd4, 0x56, 0xa5, 0x47, 0x51, 0x9e, 0xba, 0xfd, 0x14, 0x37, 0xa5, 0xdd, 0x06, 0x19, + 0xe9, 0xfe, 0x0d, 0x90, 0x82, 0x5e, 0x80, 0x40, 0x88, 0x7b, 0xd9, 0x1c, 0x0a, 0x98, 0x64, 0x90, 0x40, 0x2f, 0x13, + 0xac, 0x03, 0xfe, 0xa0, 0xe4, 0xbd, 0xed, 0xc0, 0x03, 0xe0, 0x80, 0xc2, 0x61, 0xa4, 0x7c, 0x65, 0x4e, 0x75, 0x46, + 0x66, 0xcb, 0xaa, 0x75, 0x13, 0x8f, 0xa6, 0xeb, 0x0a, 0x9c, 0x37, 0x15, 0x9b, 0x7f, 0x26, 0x0a, 0xdb, 0x4e, 0xc4, + 0xa9, 0x2c, 0x14, 0x98, 0xa8, 0x31, 0x48, 0x4f, 0x0d, 0x96, 0xad, 0x4a, 0xd3, 0xf8, 0x10, 0xcb, 0x6e, 0x1c, 0xa5, + 0xeb, 0x7a, 0x63, 0xe3, 0xcc, 0x41, 0x98, 0xbd, 0xb1, 0xd7, 0xee, 0xf9, 0x96, 0xb5, 0x37, 0xad, 0x0e, 0xc5, 0x63, + 0x65, 0x71, 0x53, 0xf9, 0xf2, 0xcd, 0xb9, 0x31, 0xe5, 0x59, 0xe6, 0x1c, 0xc2, 0x5a, 0xf0, 0xdf, 0xb0, 0x1b, 0x36, + 0x6d, 0x2c, 0xf9, 0x72, 0x5f, 0x10, 0xc1, 0xee, 0x92, 0xbd, 0xc6, 0xec, 0xb2, 0xa4, 0x0a, 0x43, 0xf0, 0xce, 0x67, + 0x2a, 0x11, 0xcb, 0x1f, 0x51, 0x94, 0x6f, 0x3c, 0xb6, 0xfb, 0xc2, 0x2a, 0xc1, 0xb0, 0x5e, 0x13, 0x78, 0xe1, 0x79, + 0x4b, 0x49, 0x8b, 0x49, 0x79, 0x59, 0x66, 0xf7, 0xcb, 0xee, 0xca, 0x0d, 0xc2, 0xc3, 0xbd, 0xa4, 0x15, 0x62, 0x18, + 0x35, 0x95, 0x2a, 0x70, 0x31, 0x22, 0xea, 0x98, 0xa7, 0xdb, 0xb2, 0xc4, 0x2f, 0x4d, 0x25, 0x49, 0x2d, 0x74, 0x6b, + 0x07, 0x87, 0xdf, 0x59, 0xd2, 0x44, 0x88, 0x2d, 0x28, 0x5e, 0x77, 0x48, 0x60, 0xe7, 0x9c, 0x52, 0xbe, 0x9f, 0x3f, + 0xca, 0x2c, 0x19, 0x5e, 0x95, 0x03, 0x55, 0xc8, 0xce, 0x0c, 0x19, 0xad, 0xb8, 0xeb, 0x44, 0x12, 0xf4, 0x2e, 0x12, + 0x83, 0x15, 0xc2, 0x7e, 0x28, 0xca, 0x12, 0xfd, 0x80, 0x57, 0x93, 0x1b, 0x78, 0x11, 0x58, 0x75, 0xe5, 0xb1, 0x53, + 0x12, 0xe4, 0x00, 0xf9, 0x49, 0x70, 0xd6, 0xc3, 0x4c, 0xee, 0x8e, 0x40, 0x04, 0x8f, 0x77, 0x32, 0x11, 0xd0, 0x06, + 0xf2, 0x55, 0x5d, 0xdc, 0x89, 0x44, 0x15, 0x82, 0xbf, 0x24, 0x77, 0xf4, 0x6e, 0xab, 0x34, 0x1a, 0xed, 0x6c, 0x28, + 0x4c, 0xdc, 0xc6, 0x75, 0xe3, 0x1d, 0x2f, 0x98, 0xa3, 0xcd, 0xe8, 0xae, 0x58, 0x9e, 0xe7, 0xcd, 0x4d, 0x69, 0x04, + 0x4b, 0xea, 0x2b, 0xcc, 0x4b, 0xb3, 0x56, 0x74, 0x64, 0x6c, 0x11, 0x24, 0x06, 0xcc, 0x69, 0x67, 0xc9, 0x62, 0xf5, + 0xdb, 0x58, 0x8b, 0x1c, 0x47, 0x58, 0x96, 0x04, 0x10, 0xcd, 0x0b, 0x91, 0x17, 0x43, 0x8e, 0xa3, 0x25, 0xaa, 0x14, + 0x18, 0x73, 0x8b, 0x18, 0x76, 0xb1, 0xc9, 0xc9, 0x6d, 0x69, 0xa4, 0x68, 0xf8, 0x26, 0xa7, 0xa7, 0xf7, 0xd6, 0xf0, + 0xda, 0x88, 0x64, 0xe4, 0x60, 0x7b, 0x2e, 0xb7, 0x25, 0xac, 0xf2, 0x53, 0xbf, 0x5b, 0x6b, 0x15, 0x2d, 0x97, 0xe3, + 0x60, 0xb4, 0xd7, 0x92, 0x45, 0xbb, 0x01, 0x35, 0x7f, 0xc9, 0xba, 0x87, 0x8c, 0x35, 0xda, 0xb0, 0xd5, 0x41, 0x5d, + 0x88, 0x73, 0x3e, 0xf6, 0x15, 0xfe, 0x46, 0x9e, 0xc0, 0x4c, 0x53, 0x72, 0x91, 0xff, 0xbe, 0xbf, 0x54, 0x25, 0xf9, + 0xeb, 0x60, 0x27, 0x3c, 0x16, 0x6a, 0x64, 0xbf, 0x57, 0x13, 0x33, 0x99, 0x61, 0x87, 0xf7, 0x09, 0xb8, 0x42, 0x7c, + 0x31, 0xc0, 0xce, 0x2c, 0x9d, 0x4b, 0xda, 0xa9, 0x8c, 0x19, 0x97, 0xe2, 0x38, 0x93, 0x26, 0x1b, 0x5b, 0x53, 0x7f, + 0x7b, 0x89, 0x55, 0x4b, 0x9e, 0x5a, 0x9f, 0x5b, 0x5f, 0xe3, 0xe3, 0x1c, 0xf2, 0xd6, 0x87, 0x19, 0xff, 0x64, 0x2b, + 0x4c, 0xd8, 0x3b, 0xa2, 0x45, 0xb0, 0x63, 0xa3, 0x81, 0x9f, 0xde, 0x8b, 0xa3, 0x65, 0x09, 0xda, 0x3f, 0x80, 0x55, + 0x5d, 0x85, 0x9c, 0xc9, 0xf0, 0xf3, 0xa4, 0x91, 0x58, 0x24, 0xc5, 0x02, 0x38, 0xdf, 0xab, 0xd9, 0xef, 0xd5, 0xeb, + 0x93, 0xd5, 0x64, 0xc8, 0xa8, 0xb3, 0xa4, 0x2e, 0xd4, 0x9f, 0x5d, 0xdf, 0x36, 0x75, 0x1d, 0x9c, 0x88, 0xeb, 0x4f, + 0xd0, 0xb6, 0x75, 0xc7, 0xd0, 0x9c, 0xa0, 0xa6, 0x3c, 0x53, 0x1c, 0xeb, 0x4e, 0xbf, 0x19, 0x8f, 0x6c, 0x6e, 0x3e, + 0xda, 0x44, 0x36, 0x5e, 0x8c, 0xc4, 0x16, 0x5e, 0xe8, 0x05, 0xd0, 0xa2, 0xbe, 0xc7, 0x42, 0xfc, 0xe4, 0xe8, 0x19, + 0x4e, 0x60, 0x04, 0x72, 0x2d, 0x64, 0xa0, 0xa4, 0x27, 0x1a, 0xb6, 0x55, 0x73, 0x0e, 0x07, 0x2f, 0x3f, 0xb1, 0x2d, + 0x79, 0x44, 0x07, 0x75, 0x86, 0xfe, 0x4a, 0x3e, 0xdb, 0x4f, 0x15, 0xef, 0x30, 0xd5, 0xf6, 0xeb, 0x72, 0x9c, 0x35, + 0xd3, 0x79, 0xd7, 0x90, 0x85, 0xe8, 0xf9, 0x60, 0x7b, 0x86, 0xd4, 0xb1, 0x8a, 0x56, 0xcd, 0xe2, 0xf5, 0xf0, 0xee, + 0x91, 0x25, 0x66, 0xeb, 0x76, 0x67, 0x74, 0xd8, 0x41, 0x50, 0x43, 0x0c, 0xd6, 0x6d, 0x21, 0x91, 0x19, 0x25, 0xc7, + 0xba, 0x10, 0x1f, 0xc1, 0x0d, 0x41, 0x29, 0xf4, 0xb0, 0x97, 0xd2, 0x4a, 0x3f, 0xea, 0x22, 0x19, 0x26, 0x83, 0x47, + 0xb3, 0x5b, 0x36, 0xd7, 0x62, 0x17, 0x55, 0xfd, 0xb3, 0xec, 0xda, 0x15, 0xf4, 0xd1, 0x14, 0x75, 0x42, 0x0d, 0x22, + 0x90, 0xde, 0xca, 0xdf, 0xe2, 0xf8, 0x92, 0x6e, 0x5c, 0xbf, 0x1e, 0xde, 0x84, 0xcc, 0xf9, 0x00, 0x0e, 0x00, 0xd3, + 0xc9, 0xfb, 0x77, 0x0e, 0x25, 0x55, 0x85, 0x46, 0x5a, 0xdf, 0x91, 0x1b, 0x6c, 0xc7, 0xe4, 0x21, 0x3a, 0xbe, 0x76, + 0x33, 0x40, 0x80, 0x36, 0x16, 0xfa, 0x1c, 0x5a, 0x6f, 0x24, 0xad, 0x04, 0x4b, 0xa0, 0xb3, 0xfa, 0xa1, 0xa5, 0xf0, + 0xd2, 0x90, 0x98, 0xfa, 0x0d, 0x96, 0x45, 0xa2, 0x24, 0xe6, 0xcf, 0xc2, 0x2b, 0xdb, 0xaa, 0xf0, 0x30, 0xc6, 0x0a, + 0xd0, 0x86, 0x58, 0xfb, 0x15, 0xbb, 0x22, 0xb0, 0xf0, 0xde, 0x12, 0xc0, 0xbb, 0x66, 0x8e, 0x02, 0x01, 0xc7, 0x2b, + 0x1c, 0x44, 0x1a, 0x8c, 0x3f, 0x5b, 0x89, 0x23, 0x47, 0x9a, 0xd5, 0x47, 0xef, 0xdb, 0xfd, 0x69, 0x8a, 0x47, 0xea, + 0x1c, 0xb7, 0x9e, 0x64, 0x81, 0x3f, 0xec, 0x9e, 0x0b, 0x2f, 0xac, 0xc8, 0x5e, 0xf6, 0x77, 0xf7, 0x92, 0xc5, 0x4d, + 0x2f, 0xf1, 0x55, 0x2f, 0x93, 0xeb, 0x95, 0x43, 0x0d, 0x6a, 0x60, 0xf3, 0x7d, 0x8f, 0xaa, 0x82, 0xdc, 0x80, 0xbf, + 0x77, 0xf3, 0x11, 0xc6, 0xb5, 0x0b, 0x9c, 0xe3, 0x52, 0x3d, 0xcc, 0x45, 0xcc, 0xa8, 0xa4, 0x76, 0x94, 0x5c, 0x40, + 0xaa, 0x93, 0x94, 0x0b, 0x32, 0xac, 0x5c, 0xa0, 0xb7, 0xfa, 0x14, 0xaf, 0x9c, 0x2d, 0x4d, 0x82, 0x28, 0xea, 0xb9, + 0x7b, 0x85, 0x0a, 0xc1, 0x7f, 0x1d, 0xc8, 0x8c, 0x29, 0x2b, 0x30, 0x57, 0x13, 0xea, 0x30, 0x4b, 0x26, 0xbc, 0x3c, + 0x8a, 0xe1, 0xc5, 0x08, 0x32, 0x6d, 0xa9, 0x22, 0xaa, 0xdf, 0x43, 0xdf, 0xa4, 0x68, 0x56, 0xa3, 0x10, 0x73, 0x8e, + 0x25, 0x15, 0x5c, 0xaf, 0xea, 0x10, 0x7e, 0x44, 0xad, 0xee, 0x15, 0x8e, 0xeb, 0x9c, 0x31, 0xb9, 0xf3, 0xad, 0x07, + 0x9c, 0x9e, 0xc7, 0xe9, 0x01, 0xb9, 0x6d, 0x2a, 0xa2, 0xfa, 0x18, 0x0f, 0x43, 0x58, 0xab, 0x59, 0x66, 0x08, 0x99, + 0xb7, 0x0d, 0xc5, 0xaf, 0x84, 0x66, 0xf3, 0x67, 0x57, 0x43, 0xf2, 0x79, 0xf1, 0xc4, 0x8d, 0xeb, 0x54, 0xc5, 0x12, + 0x93, 0xbc, 0x08, 0x2b, 0xcc, 0xe1, 0xb2, 0x37, 0x63, 0xd1, 0xf9, 0xc9, 0x79, 0x08, 0x09, 0x58, 0x94, 0x8f, 0x68, + 0xed, 0x19, 0x50, 0x50, 0x2d, 0xc7, 0xa9, 0x5a, 0x03, 0xc6, 0xf6, 0x3c, 0x78, 0x4b, 0xf9, 0x2f, 0xdb, 0x03, 0xd4, + 0x93, 0xed, 0x9c, 0x62, 0x30, 0x86, 0xf0, 0x94, 0x6e, 0x03, 0x9c, 0x90, 0xca, 0x16, 0x0e, 0xaa, 0xf5, 0x37, 0x37, + 0x2f, 0xb4, 0x81, 0x12, 0x7f, 0x49, 0x91, 0xd6, 0x8a, 0x14, 0x8f, 0x30, 0x34, 0x05, 0x9f, 0xf1, 0xd8, 0x93, 0x78, + 0xcf, 0xdd, 0x97, 0x35, 0x22, 0x05, 0x71, 0x2e, 0xfc, 0x85, 0x08, 0x2b, 0x47, 0x88, 0x79, 0xca, 0x0d, 0x95, 0x64, + 0x5f, 0xda, 0xb3, 0xfa, 0x2a, 0x0b, 0x78, 0xea, 0xb2, 0x4f, 0xe1, 0x85, 0xc0, 0x1c, 0xae, 0x3d, 0x7a, 0x52, 0x3f, + 0x9a, 0x01, 0xab, 0x7a, 0x6e, 0x31, 0x8d, 0x50, 0x51, 0xb8, 0x84, 0x20, 0x6e, 0x29, 0x41, 0x84, 0x61, 0x66, 0x8d, + 0x87, 0x4f, 0x0c, 0xeb, 0x29, 0x0c, 0x00, 0xa6, 0xa4, 0xa1, 0x7b, 0x86, 0x32, 0x81, 0x7b, 0x69, 0x17, 0x28, 0xcf, + 0x5c, 0x65, 0x5e, 0x4e, 0xee, 0x31, 0x0c, 0x9c, 0xcc, 0xd6, 0x16, 0xd3, 0xc8, 0x88, 0xac, 0x03, 0x2d, 0xd4, 0x91, + 0xbf, 0x57, 0x2b, 0x2b, 0xbb, 0x6e, 0x02, 0xdd, 0x8b, 0x7a, 0x2f, 0xfd, 0x22, 0x42, 0xdc, 0x5e, 0xa5, 0xa7, 0x80, + 0x69, 0xf8, 0x14, 0xf7, 0x33, 0xa9, 0x10, 0x78, 0x15, 0xf4, 0x3c, 0x90, 0xc8, 0x1e, 0xe2, 0x0e, 0xea, 0x06, 0x00, + 0x92, 0x5b, 0xe2, 0x4a, 0x41, 0x5a, 0x1b, 0x52, 0x25, 0xeb, 0x3f, 0xb5, 0xd5, 0x28, 0x01, 0xc8, 0x47, 0xf6, 0xcd, + 0x91, 0xc6, 0x2b, 0x08, 0x2d, 0x5c, 0x48, 0x39, 0xcc, 0xe0, 0x51, 0x13, 0x74, 0x22, 0x33, 0xc1, 0xe6, 0x56, 0xb0, + 0x8d, 0x9f, 0xbc, 0x79, 0x1d, 0x89, 0x0a, 0xd3, 0x8f, 0xe2, 0xdf, 0xab, 0x3b, 0x6e, 0x8a, 0xb2, 0xe2, 0x21, 0xf7, + 0xfd, 0x1c, 0x3f, 0x37, 0x45, 0x49, 0x9a, 0x13, 0xbe, 0x54, 0x32, 0x9d, 0xb4, 0x17, 0x47, 0x6d, 0x8e, 0x96, 0x3d, + 0x00, 0x79, 0xc5, 0x4b, 0x60, 0xdd, 0x63, 0xe5, 0xbb, 0x96, 0x56, 0x99, 0xf9, 0x88, 0xaa, 0x2a, 0x2a, 0x24, 0x9a, + 0xe0, 0x22, 0xb3, 0x26, 0xb6, 0x71, 0x5a, 0x1c, 0x06, 0x90, 0x42, 0x63, 0x58, 0x31, 0xe4, 0xa1, 0xf9, 0xb1, 0x98, + 0x17, 0xe1, 0x89, 0x2c, 0xba, 0x2e, 0x28, 0xe5, 0x67, 0x48, 0x69, 0xa6, 0x8c, 0x6c, 0x8b, 0x65, 0x38, 0x9c, 0x01, + 0xc0, 0x5c, 0xeb, 0x88, 0xa8, 0x54, 0x98, 0xec, 0x98, 0x54, 0xc6, 0x5e, 0xc9, 0x9f, 0xa5, 0x84, 0x88, 0x08, 0xab, + 0xb3, 0x6d, 0x03, 0x62, 0x77, 0x0e, 0xea, 0x11, 0x9e, 0x2d, 0x33, 0xd8, 0xc4, 0xb2, 0x08, 0xce, 0x8a, 0xaa, 0xaa, + 0x46, 0xa3, 0xf9, 0xb0, 0x37, 0x34, 0xde, 0x64, 0xee, 0x0c, 0x85, 0xb0, 0x75, 0x3b, 0x42, 0x50, 0x6e, 0x3c, 0xdb, + 0x86, 0xd6, 0x86, 0x0f, 0x33, 0x37, 0xf5, 0x41, 0x5e, 0x2e, 0xa2, 0xaa, 0xd1, 0x66, 0xcf, 0x53, 0xca, 0xd3, 0x68, + 0xef, 0xa9, 0x3b, 0x29, 0x09, 0x95, 0xdd, 0x24, 0x2a, 0x0a, 0x6c, 0xe1, 0x59, 0x12, 0x12, 0x40, 0x71, 0xfb, 0xeb, + 0x50, 0x83, 0xfc, 0x8b, 0x91, 0x83, 0x03, 0x5f, 0xd5, 0x81, 0xb5, 0x2b, 0x20, 0xcd, 0xcf, 0x64, 0xd2, 0x5b, 0x7c, + 0xef, 0x6e, 0xe8, 0xc3, 0x47, 0x91, 0x22, 0xdc, 0x47, 0x68, 0x1d, 0x27, 0x21, 0x6e, 0x01, 0xf7, 0x9b, 0x6d, 0x2f, + 0x3e, 0x6a, 0x3a, 0x41, 0x66, 0x68, 0x5c, 0x1b, 0x2f, 0x9b, 0x56, 0xa4, 0x16, 0x28, 0x54, 0x20, 0x1f, 0xe9, 0x7e, + 0x2b, 0x01, 0x29, 0xc7, 0xa9, 0xdc, 0x76, 0xaf, 0x93, 0xf2, 0x1c, 0xee, 0x86, 0x8a, 0xe8, 0x75, 0x3d, 0xda, 0x12, + 0xd0, 0x62, 0x4e, 0x06, 0x7e, 0x3a, 0x5a, 0x45, 0xbe, 0x9c, 0x38, 0xc5, 0x39, 0x55, 0x2d, 0xd6, 0x3c, 0xf8, 0x78, + 0x97, 0x07, 0xc2, 0xfe, 0x92, 0x8c, 0x93, 0x31, 0x00, 0x59, 0xc5, 0x02, 0x73, 0xe0, 0x40, 0xed, 0x36, 0x27, 0x6a, + 0x03, 0x0e, 0xd4, 0xea, 0xce, 0x9e, 0xa6, 0x32, 0xd9, 0xa7, 0x94, 0xe3, 0x57, 0xf8, 0x82, 0xa5, 0xac, 0x46, 0xda, + 0x8a, 0x6a, 0x79, 0xae, 0xa5, 0x05, 0x50, 0x4b, 0x65, 0xa9, 0x6c, 0x29, 0xa4, 0x18, 0xdf, 0xec, 0xf1, 0x31, 0x12, + 0xba, 0x52, 0x3c, 0x4f, 0x2e, 0x03, 0xed, 0xf2, 0x37, 0x9e, 0xc2, 0x74, 0xc6, 0x04, 0xa6, 0xa9, 0x89, 0x2b, 0xb2, + 0x79, 0xff, 0xfe, 0xda, 0xa9, 0xb6, 0xec, 0x48, 0xaa, 0x40, 0xda, 0x2c, 0x76, 0x74, 0x69, 0x4c, 0x81, 0xe0, 0xaa, + 0xa1, 0xdb, 0xe2, 0x68, 0x77, 0xfe, 0xe1, 0xce, 0x2c, 0xa4, 0x6b, 0xa2, 0x1c, 0x49, 0xe4, 0xc7, 0xa5, 0x10, 0x50, + 0xa3, 0xbe, 0x10, 0x4e, 0xa4, 0xfe, 0xc8, 0x90, 0x4b, 0x17, 0xb3, 0x43, 0x6b, 0x54, 0xd7, 0x2d, 0x00, 0x2d, 0x7d, + 0x0f, 0x23, 0x43, 0x21, 0x6c, 0xc4, 0xb0, 0xcf, 0x53, 0xea, 0xe3, 0xca, 0x49, 0x17, 0x5d, 0x62, 0x29, 0x64, 0xde, + 0xc7, 0x24, 0x6f, 0x92, 0x46, 0x89, 0xc8, 0xeb, 0x2c, 0xe5, 0xa4, 0x2e, 0x4e, 0xe2, 0x28, 0x6f, 0x29, 0x64, 0x20, + 0xd5, 0x4d, 0x2a, 0xdd, 0x96, 0x4b, 0x25, 0xf4, 0x58, 0xf6, 0xb7, 0xe4, 0x06, 0xaf, 0xfb, 0x72, 0x1c, 0xfc, 0x31, + 0xf2, 0xcf, 0x13, 0x5b, 0x2c, 0x45, 0x07, 0xd0, 0x83, 0x20, 0xa5, 0x35, 0x40, 0xc2, 0xcf, 0xeb, 0x5b, 0xdf, 0x09, + 0xbe, 0x76, 0x04, 0xb4, 0x42, 0xb0, 0x72, 0xbd, 0x0a, 0x35, 0xdd, 0x5e, 0x36, 0x56, 0x65, 0x54, 0x75, 0xb0, 0x83, + 0x68, 0x89, 0x24, 0x04, 0xf8, 0x9c, 0xbc, 0x43, 0xea, 0x87, 0x9a, 0x74, 0xeb, 0x4b, 0xbe, 0x88, 0xd6, 0xb5, 0x92, + 0x67, 0x04, 0x57, 0xdf, 0xa8, 0xc9, 0xc2, 0xad, 0xe3, 0x27, 0x51, 0xd7, 0x4e, 0xd5, 0x15, 0x31, 0x07, 0x04, 0x98, + 0xaa, 0x86, 0x11, 0x75, 0x9f, 0x24, 0xc9, 0xbf, 0xc4, 0x54, 0x80, 0x0a, 0x96, 0x49, 0xbd, 0xfa, 0xbf, 0x6f, 0xb5, + 0xee, 0x7f, 0xbc, 0xc1, 0xba, 0x9a, 0xe7, 0xb7, 0x77, 0x7a, 0x00, 0x30, 0x80, 0x1f, 0x83, 0xaa, 0x0e, 0x5e, 0x6e, + 0xc7, 0x0b, 0xbb, 0x32, 0x05, 0xa9, 0x09, 0xf8, 0xac, 0x92, 0xfe, 0xcf, 0x91, 0x06, 0x82, 0xe6, 0x6b, 0x64, 0x6d, + 0x6c, 0x46, 0x24, 0x72, 0xdf, 0x65, 0x83, 0x8f, 0x57, 0xe1, 0xd9, 0x11, 0xf8, 0x65, 0x6c, 0x9d, 0xd3, 0x31, 0xcb, + 0x07, 0x09, 0x2c, 0x17, 0x6a, 0xbf, 0x7a, 0xcc, 0xf9, 0x44, 0x88, 0x53, 0x54, 0xa8, 0x27, 0xa8, 0x08, 0x32, 0x81, + 0x62, 0x91, 0x96, 0xa8, 0xe3, 0x2a, 0xce, 0x11, 0x16, 0x10, 0x5a, 0xa7, 0x44, 0x44, 0xbc, 0x1d, 0xd0, 0x11, 0xbc, + 0xad, 0x21, 0x27, 0xee, 0x38, 0x37, 0x6b, 0x1b, 0x98, 0xcb, 0x20, 0xd5, 0xa0, 0xe9, 0xee, 0x0b, 0x6c, 0xc0, 0x43, + 0x9c, 0x37, 0x8e, 0x4f, 0xe2, 0x72, 0x8b, 0x2c, 0x72, 0x0e, 0x45, 0x5d, 0x5e, 0xd4, 0xc8, 0xc4, 0x24, 0xa1, 0x0e, + 0x4f, 0x21, 0xa4, 0xdb, 0x17, 0x30, 0x98, 0x16, 0x4c, 0xe3, 0xac, 0x4e, 0x12, 0xc0, 0x2d, 0x9f, 0xde, 0x0f, 0xc3, + 0x97, 0x1e, 0x6a, 0x07, 0xd1, 0xb9, 0x88, 0xf8, 0x4d, 0xdb, 0xd4, 0x28, 0x4c, 0x1e, 0xae, 0xad, 0xef, 0xa9, 0xe1, + 0x23, 0x24, 0xe1, 0x5f, 0xc3, 0xa2, 0x08, 0x48, 0xdc, 0xa6, 0xb7, 0x5c, 0x30, 0xe9, 0x9d, 0x66, 0x21, 0xb4, 0xd9, + 0x0c, 0x52, 0xa5, 0x6a, 0x3e, 0xc0, 0xca, 0xb4, 0xd3, 0xff, 0xe4, 0xe4, 0xb6, 0x24, 0x05, 0x41, 0xb4, 0xd2, 0xef, + 0x4c, 0x99, 0xb0, 0xc6, 0x98, 0x40, 0xde, 0x15, 0x25, 0x9c, 0x67, 0xd0, 0x49, 0x2c, 0x00, 0x3b, 0x5a, 0x7f, 0x2f, + 0xff, 0x0e, 0x8b, 0xd1, 0xa9, 0xd1, 0x9b, 0x4e, 0x92, 0xa9, 0xd6, 0x7f, 0x7b, 0x00, 0x7f, 0x9c, 0x81, 0xb5, 0x3e, + 0x77, 0x81, 0xb5, 0xdb, 0x4d, 0x12, 0x52, 0xba, 0x25, 0xaf, 0xaa, 0xaf, 0x62, 0xdd, 0xa4, 0x54, 0xee, 0x67, 0xbf, + 0xbf, 0xbd, 0xd8, 0x32, 0x82, 0xc3, 0x3a, 0xa7, 0x18, 0x58, 0x80, 0x0d, 0x73, 0x19, 0x6e, 0x56, 0x3b, 0x81, 0xa0, + 0xa4, 0x97, 0xe4, 0xc3, 0x36, 0x43, 0xb2, 0xe3, 0x53, 0x2d, 0x91, 0xd0, 0x33, 0x9e, 0xf6, 0x35, 0x80, 0xc0, 0xbb, + 0x73, 0x93, 0xd2, 0x7a, 0xf3, 0x19, 0x79, 0xaf, 0x4a, 0x14, 0x91, 0x61, 0x4a, 0x8c, 0x67, 0x4e, 0x08, 0xd2, 0x7e, + 0xcd, 0x60, 0x6b, 0xbf, 0x19, 0x3c, 0x8d, 0x9b, 0x87, 0xe6, 0x88, 0x20, 0x72, 0x31, 0x7d, 0x90, 0xc2, 0x9f, 0x25, + 0xe3, 0xf2, 0x85, 0xcf, 0x6c, 0xc3, 0x75, 0x5a, 0x49, 0x80, 0x73, 0x8a, 0xbb, 0x79, 0xca, 0x33, 0xb1, 0x58, 0x9e, + 0xbc, 0x7c, 0xb5, 0xac, 0xd2, 0x14, 0x38, 0x83, 0x0f, 0x71, 0x19, 0xa9, 0x34, 0xc8, 0x94, 0x14, 0x3f, 0x9e, 0x27, + 0x93, 0x6e, 0x6f, 0x6a, 0x95, 0xb0, 0xab, 0x06, 0x87, 0xea, 0x13, 0x2a, 0x4b, 0x4f, 0xdb, 0x52, 0x0b, 0xcc, 0x63, + 0x1f, 0x04, 0x98, 0x7c, 0x93, 0x7d, 0xcc, 0xda, 0x11, 0x74, 0x0f, 0x4a, 0xe5, 0x32, 0x1e, 0x06, 0xb8, 0xa9, 0x82, + 0x00, 0xd2, 0xc7, 0x7a, 0x0a, 0x73, 0x79, 0x8f, 0x89, 0x0e, 0x8b, 0x1e, 0x46, 0xa0, 0x2e, 0xd4, 0xc2, 0x08, 0xcc, + 0x90, 0x07, 0x53, 0xb1, 0x74, 0xe2, 0x4f, 0x37, 0xd8, 0xfa, 0xdc, 0x8f, 0x73, 0x4d, 0xbb, 0x63, 0x96, 0x06, 0x48, + 0xaa, 0xa3, 0xee, 0x37, 0xfa, 0x46, 0x3d, 0x9e, 0x75, 0x8b, 0xf7, 0x69, 0x33, 0xa6, 0xbd, 0xa9, 0x3c, 0x1e, 0x55, + 0xdb, 0xef, 0xdf, 0x16, 0x97, 0xa8, 0x96, 0x92, 0xa5, 0x3d, 0xc8, 0xbe, 0x3b, 0xa3, 0x00, 0xb7, 0xef, 0x78, 0x13, + 0x1e, 0x20, 0xcf, 0x91, 0x4e, 0xcc, 0x6d, 0xd8, 0x53, 0x9d, 0x03, 0xed, 0xfc, 0xe7, 0x47, 0xa9, 0xb0, 0xf3, 0xf7, + 0xa7, 0x61, 0xe9, 0x3d, 0x49, 0x18, 0x05, 0x8e, 0xd2, 0xef, 0xde, 0x77, 0x59, 0xad, 0xf4, 0x71, 0x81, 0xcb, 0x9d, + 0xd7, 0x56, 0x9c, 0x78, 0xb1, 0x61, 0x3d, 0x25, 0x8f, 0x63, 0x14, 0x63, 0x6f, 0x7a, 0xb2, 0xee, 0x8c, 0xdd, 0x3d, + 0x85, 0xb5, 0x67, 0x3d, 0x25, 0x48, 0xb7, 0x92, 0x1f, 0xf7, 0xfe, 0x23, 0xb6, 0x53, 0x25, 0xdd, 0xf4, 0x07, 0xdb, + 0x2f, 0x3f, 0x3a, 0x3b, 0x88, 0x07, 0xad, 0xb3, 0x32, 0x9d, 0xa5, 0xeb, 0x2a, 0xe9, 0x72, 0xb8, 0x40, 0xde, 0xcd, + 0xc4, 0x73, 0x61, 0xae, 0xbf, 0xce, 0x36, 0x42, 0x05, 0xf6, 0xe5, 0x6a, 0xbc, 0xbd, 0x47, 0xcc, 0xe7, 0x72, 0x2e, + 0xfb, 0xde, 0xa2, 0x29, 0x04, 0x7d, 0x8b, 0x91, 0x72, 0xc1, 0x38, 0x4e, 0x90, 0x0f, 0xb8, 0x34, 0xde, 0x07, 0xb4, + 0x18, 0xa3, 0x5b, 0xf8, 0x79, 0x0c, 0xdb, 0x03, 0x6c, 0xcd, 0xfc, 0x73, 0xc2, 0x63, 0x5e, 0x88, 0x30, 0x4d, 0x1e, + 0x50, 0x53, 0xb2, 0x81, 0x0f, 0x36, 0x9c, 0x9f, 0x15, 0x12, 0xc3, 0x00, 0xcb, 0x23, 0x4f, 0xa7, 0x8d, 0xec, 0x69, + 0xa8, 0x2e, 0xcf, 0x73, 0xb5, 0xde, 0x82, 0x9e, 0x30, 0x9d, 0xe5, 0x65, 0x1a, 0xee, 0xd2, 0x3b, 0x13, 0xec, 0x70, + 0xb9, 0x6b, 0x38, 0x69, 0x99, 0x22, 0x55, 0x8e, 0xf3, 0xc6, 0x71, 0x9a, 0x33, 0x06, 0xe2, 0x29, 0xe6, 0xf5, 0xeb, + 0x54, 0x60, 0xd1, 0x62, 0x5c, 0xbe, 0x40, 0x69, 0x60, 0xea, 0x2f, 0x36, 0x32, 0x53, 0xa1, 0x75, 0x00, 0x31, 0x59, + 0x82, 0x3f, 0x1b, 0xa4, 0xb4, 0xa0, 0x10, 0x8d, 0x0a, 0xb7, 0xd5, 0x3f, 0xdc, 0x15, 0xb5, 0x4a, 0x13, 0xd1, 0xee, + 0x5d, 0xf1, 0xce, 0x10, 0xdb, 0xc5, 0x5b, 0x4e, 0x07, 0x50, 0x8c, 0x1a, 0x1d, 0xd0, 0xa4, 0x60, 0x7b, 0xb4, 0xfe, + 0x26, 0x29, 0xe5, 0x79, 0x66, 0x44, 0xf6, 0x58, 0xc0, 0xfa, 0x6e, 0x70, 0x18, 0x5b, 0x5b, 0x55, 0x58, 0xef, 0x9b, + 0x36, 0xc1, 0x1c, 0x80, 0xfd, 0x96, 0x44, 0xf1, 0xde, 0x27, 0x7f, 0x49, 0x8c, 0xd1, 0xf5, 0x3d, 0x17, 0x59, 0x7a, + 0x63, 0x28, 0x26, 0x48, 0xae, 0x69, 0x56, 0xc9, 0xe2, 0x18, 0x8d, 0x46, 0x41, 0xc9, 0x39, 0x31, 0x8e, 0x50, 0x36, + 0x40, 0x3d, 0x4d, 0x49, 0xe9, 0x02, 0x40, 0x66, 0x58, 0x4d, 0x0f, 0x0a, 0x60, 0x19, 0x8d, 0xb4, 0x40, 0xe5, 0x59, + 0x74, 0x14, 0xee, 0x79, 0x72, 0x9a, 0x6b, 0x66, 0xd5, 0xe0, 0xf0, 0x96, 0x07, 0x8a, 0xca, 0x79, 0x7a, 0x36, 0x99, + 0x8f, 0xe8, 0x20, 0xd2, 0x6b, 0x1a, 0xff, 0xb6, 0xaf, 0x44, 0x74, 0x70, 0x1b, 0x09, 0x16, 0x9c, 0xfd, 0x90, 0x93, + 0x21, 0x72, 0x7f, 0xb5, 0xce, 0xf4, 0x83, 0x0a, 0xfd, 0x6e, 0x35, 0x84, 0x48, 0xf9, 0x4a, 0xd8, 0xd8, 0x94, 0x3b, + 0x35, 0xe8, 0xbc, 0xd3, 0x30, 0x91, 0xa1, 0x70, 0x7c, 0xcf, 0x6d, 0xe9, 0x13, 0x6d, 0x56, 0x37, 0xce, 0xfc, 0xe3, + 0x01, 0x3f, 0x59, 0x9a, 0x22, 0x68, 0x4d, 0xa5, 0x4e, 0x07, 0xe8, 0x96, 0x48, 0x83, 0xa3, 0x7c, 0x60, 0x5e, 0x78, + 0xd0, 0x52, 0xbb, 0xa1, 0x44, 0x57, 0x74, 0x14, 0xee, 0x91, 0xe7, 0x02, 0x1a, 0x67, 0x0a, 0xba, 0x1e, 0x71, 0x54, + 0x3b, 0x63, 0x28, 0xc5, 0x1c, 0x0c, 0xe6, 0x50, 0xd6, 0x64, 0x8d, 0x7d, 0x6c, 0xbd, 0x44, 0x77, 0xe3, 0x19, 0x22, + 0xd7, 0x13, 0x1a, 0x87, 0xa4, 0xeb, 0x99, 0x91, 0xc2, 0x30, 0x84, 0x77, 0x40, 0xf2, 0xee, 0xc4, 0xfa, 0x5c, 0xa9, + 0xa4, 0x1d, 0x69, 0x63, 0x60, 0x17, 0xcf, 0x62, 0xb6, 0xb0, 0x22, 0x3b, 0x71, 0x6d, 0xbd, 0xb6, 0x76, 0xfd, 0x15, + 0xa2, 0xc2, 0x78, 0x6c, 0xeb, 0x70, 0x9e, 0x33, 0x72, 0xc5, 0x0d, 0x13, 0x3f, 0xcb, 0xae, 0xcf, 0x3c, 0x95, 0xf4, + 0x5f, 0x84, 0xd6, 0x4f, 0x5d, 0x71, 0x81, 0x75, 0xb7, 0x4d, 0xec, 0xfa, 0x75, 0x4a, 0x6a, 0x5d, 0xb9, 0x0b, 0xfd, + 0x8f, 0xad, 0xed, 0x58, 0x6d, 0xe6, 0x69, 0xde, 0x7f, 0xe8, 0x44, 0x1d, 0xe4, 0x9f, 0x7e, 0xb5, 0x1b, 0xb9, 0x91, + 0x16, 0x2f, 0xc9, 0xc7, 0xbb, 0x9e, 0xe6, 0x0b, 0x1e, 0xfb, 0xf3, 0x66, 0xd8, 0xf3, 0x32, 0xbf, 0x16, 0xec, 0xcf, + 0xd3, 0xd9, 0x67, 0x8e, 0x1e, 0xdf, 0x1f, 0xd2, 0xc4, 0xa3, 0xe9, 0xf3, 0xe4, 0xcf, 0xe4, 0x5c, 0x24, 0x8f, 0xc9, + 0x5e, 0xf5, 0xb6, 0xed, 0x22, 0xa5, 0x11, 0xa0, 0x8e, 0xde, 0xac, 0xdf, 0x85, 0x74, 0x4d, 0x32, 0x15, 0x0f, 0xca, + 0xa7, 0x7c, 0x20, 0xbe, 0xae, 0xbf, 0x4c, 0xf7, 0x50, 0x88, 0x78, 0x11, 0xf8, 0xef, 0xf9, 0xfe, 0x23, 0xb6, 0x59, + 0x57, 0x5a, 0x9d, 0xcd, 0x8d, 0x1e, 0xba, 0x7d, 0x75, 0x32, 0xf5, 0x89, 0x94, 0x51, 0x7a, 0x5d, 0x88, 0x97, 0x18, + 0x17, 0x37, 0xf9, 0x21, 0xdb, 0x7e, 0x18, 0x9f, 0xd7, 0xf8, 0x81, 0x08, 0x8a, 0xb0, 0x8f, 0x19, 0x32, 0x3e, 0x40, + 0x4d, 0xe5, 0x54, 0xb0, 0x62, 0x5a, 0xa9, 0x4a, 0x03, 0xa0, 0x69, 0xf4, 0x4b, 0x94, 0x7f, 0xa6, 0x07, 0xf2, 0xc3, + 0x1f, 0xbd, 0x75, 0xde, 0x3f, 0xa7, 0xff, 0xbe, 0xff, 0xfc, 0xa3, 0x06, 0x26, 0x05, 0x64, 0xdd, 0x87, 0x95, 0x6d, + 0x12, 0x8e, 0xca, 0xc6, 0x55, 0x56, 0x13, 0x75, 0x07, 0x99, 0x5e, 0xcd, 0x6c, 0xf7, 0xcd, 0x5b, 0xf6, 0xa1, 0x17, + 0xd1, 0x4c, 0xc9, 0xa3, 0x52, 0xe4, 0x1d, 0x72, 0x71, 0xf5, 0x39, 0x7c, 0x19, 0xeb, 0xaa, 0x90, 0x5f, 0xa9, 0x8a, + 0xe7, 0xa5, 0x0f, 0x82, 0xa8, 0x73, 0x72, 0x0c, 0x12, 0xc7, 0x91, 0x07, 0x14, 0xd8, 0x9f, 0xeb, 0x39, 0x74, 0xcf, + 0xeb, 0xcb, 0x09, 0x3c, 0x0d, 0x97, 0xb0, 0x5d, 0xef, 0xbc, 0x4b, 0x1f, 0x6a, 0x32, 0x4a, 0xb0, 0x8d, 0x74, 0x73, + 0xe8, 0xa0, 0x51, 0x3b, 0x7a, 0xe4, 0xe3, 0x9e, 0xf1, 0xd1, 0x05, 0x8a, 0xbe, 0xc7, 0xb9, 0xd1, 0x33, 0x57, 0x0e, + 0xfa, 0x5c, 0xae, 0xbb, 0xa6, 0xbd, 0xaa, 0x13, 0xa3, 0x63, 0x52, 0x79, 0x29, 0x0a, 0x20, 0x49, 0xaa, 0xa7, 0x2d, + 0x52, 0xfb, 0xa9, 0x9c, 0x0d, 0x6c, 0x9e, 0xe1, 0x5e, 0x3c, 0x13, 0x4a, 0x42, 0x37, 0xfc, 0xc5, 0xb9, 0xa6, 0x7d, + 0x61, 0x99, 0xaa, 0x30, 0xb8, 0x61, 0x35, 0x2d, 0x21, 0xe8, 0x35, 0x08, 0x36, 0x0d, 0xee, 0x3f, 0x8e, 0x20, 0xd8, + 0x04, 0x5a, 0x3b, 0x83, 0x94, 0x81, 0x33, 0x36, 0xe2, 0x1f, 0xae, 0x68, 0x10, 0xc9, 0xcd, 0x03, 0x4f, 0xe2, 0xe5, + 0xb0, 0x24, 0x52, 0xde, 0x40, 0x28, 0x08, 0x7a, 0x2a, 0xb8, 0x08, 0x52, 0xd0, 0x98, 0xf6, 0x98, 0x1d, 0xa8, 0x36, + 0x38, 0x6e, 0x80, 0xcb, 0x57, 0x49, 0xd9, 0xa4, 0xda, 0xd4, 0x65, 0xaa, 0x62, 0xc7, 0xe0, 0x91, 0x97, 0xd6, 0x41, + 0x7a, 0x81, 0x22, 0x68, 0x8a, 0x52, 0xa4, 0x57, 0x35, 0x1d, 0x85, 0xb6, 0xa8, 0x36, 0x18, 0x3d, 0xa8, 0x18, 0x28, + 0xa9, 0xb0, 0xd8, 0xc8, 0x46, 0xd1, 0x9f, 0x19, 0x22, 0x8c, 0xc2, 0x0f, 0xed, 0xca, 0xc8, 0x87, 0x8f, 0x6a, 0x98, + 0xbd, 0x9b, 0x44, 0xb1, 0xc8, 0x4b, 0x7d, 0x5e, 0xf3, 0x88, 0x9a, 0x9d, 0x26, 0xf9, 0xfc, 0x66, 0x35, 0x70, 0x8a, + 0x49, 0xc9, 0x4e, 0x78, 0xb7, 0x4a, 0x4c, 0x82, 0x88, 0xad, 0xdf, 0x3e, 0xf5, 0xbc, 0x1b, 0xb8, 0xb4, 0xf7, 0x23, + 0x61, 0x7b, 0x59, 0xf2, 0xe8, 0xf0, 0xb2, 0xa8, 0xb9, 0xf9, 0xc6, 0x9c, 0xea, 0x2a, 0xd5, 0x1b, 0x02, 0x7e, 0x95, + 0x8e, 0x5e, 0x94, 0x09, 0x0a, 0xa7, 0x36, 0xdd, 0x07, 0x93, 0x11, 0xd0, 0xd1, 0xb3, 0x1a, 0xcd, 0xf2, 0xf4, 0xd5, + 0x32, 0xb1, 0xc3, 0xc6, 0xe8, 0x23, 0x0a, 0xbc, 0x6c, 0x55, 0x06, 0x47, 0x1a, 0x55, 0xca, 0xcc, 0x0b, 0xa2, 0xea, + 0x44, 0xad, 0x60, 0x2f, 0x35, 0xf8, 0x0f, 0x08, 0xd3, 0x25, 0x0f, 0x9c, 0x1a, 0x80, 0x1c, 0xb3, 0x88, 0x74, 0x54, + 0x80, 0xdf, 0x3e, 0x4d, 0xcf, 0x98, 0x6b, 0xb8, 0xcb, 0x1a, 0x44, 0x11, 0x6d, 0x1f, 0xb1, 0x44, 0xd2, 0x1d, 0x2e, + 0x8c, 0x29, 0x42, 0xb8, 0x39, 0x2a, 0x04, 0x01, 0xac, 0x30, 0xf8, 0x12, 0xe3, 0x80, 0xb4, 0xa8, 0x7b, 0x14, 0x5e, + 0xb6, 0x0a, 0xbe, 0xcb, 0x05, 0xc7, 0x58, 0xd9, 0xbb, 0x90, 0x58, 0x17, 0xa2, 0x41, 0xb7, 0xfc, 0x7b, 0x84, 0xfc, + 0x6a, 0x68, 0x66, 0xb5, 0xf9, 0x0a, 0xee, 0x5b, 0xaf, 0x9d, 0x4d, 0x26, 0x30, 0xbb, 0x12, 0x55, 0x21, 0x8b, 0x90, + 0xb2, 0x17, 0x22, 0xd3, 0xb4, 0x95, 0x28, 0x39, 0x47, 0x40, 0x12, 0xd8, 0x02, 0x01, 0x36, 0xf8, 0xa1, 0x5a, 0x96, + 0x43, 0x09, 0x55, 0x0d, 0x8c, 0x90, 0xef, 0xc5, 0x02, 0x88, 0x5a, 0x56, 0xbd, 0xa2, 0x0c, 0xec, 0x68, 0xd9, 0xeb, + 0xac, 0x67, 0x40, 0xc9, 0x7e, 0x83, 0x40, 0x78, 0x1b, 0x9e, 0xbe, 0xff, 0x26, 0xe4, 0xd1, 0x99, 0x63, 0x4d, 0x58, + 0x78, 0x44, 0x6e, 0x1c, 0x60, 0xe5, 0x73, 0x5b, 0x82, 0x90, 0x05, 0xa5, 0xdf, 0x95, 0x2b, 0x7b, 0xd4, 0x67, 0xa6, + 0x46, 0x15, 0x82, 0xbc, 0xb9, 0xec, 0x03, 0x69, 0xa9, 0x03, 0xed, 0x1f, 0x90, 0x81, 0xc1, 0x09, 0xdc, 0x3b, 0x55, + 0x84, 0xb2, 0xc7, 0x18, 0xfe, 0xdc, 0xa6, 0xa6, 0x4d, 0xdc, 0xf3, 0x33, 0x98, 0x14, 0x03, 0x92, 0x95, 0x92, 0x7b, + 0x9e, 0xff, 0xae, 0x86, 0x2a, 0x48, 0x28, 0x4c, 0x4b, 0xf0, 0x24, 0x2b, 0x23, 0x84, 0xc8, 0x44, 0xc7, 0x41, 0xe7, + 0x40, 0xbc, 0xba, 0x37, 0x30, 0x9f, 0xd9, 0x31, 0x4b, 0x7e, 0xf7, 0x68, 0xb9, 0x4e, 0xc4, 0xb2, 0x86, 0x1f, 0x46, + 0xb3, 0x1b, 0xfb, 0x89, 0x70, 0xdd, 0xc2, 0x1a, 0x97, 0x06, 0xcf, 0xd0, 0xad, 0xf6, 0xf8, 0x4d, 0xce, 0x50, 0x4c, + 0xdb, 0x74, 0xac, 0x0e, 0xaf, 0xaf, 0xd5, 0xac, 0xb2, 0x85, 0x6a, 0xb7, 0x9c, 0x5f, 0xab, 0x6a, 0xcd, 0xd6, 0x6e, + 0xa1, 0x95, 0xd5, 0xe7, 0x3f, 0x8b, 0xf9, 0x9c, 0xc2, 0x62, 0x7e, 0x30, 0x80, 0xbb, 0x28, 0xe2, 0xc5, 0x89, 0xbb, + 0xe6, 0xda, 0xfe, 0xa0, 0xf6, 0xca, 0xe5, 0xe3, 0x6b, 0x8f, 0xfb, 0xef, 0x22, 0x46, 0xbd, 0xb0, 0x8f, 0x02, 0xb8, + 0x56, 0x23, 0x1e, 0x0f, 0x1f, 0x5d, 0xcc, 0xab, 0x35, 0xf5, 0x49, 0x1d, 0x79, 0xcf, 0x5d, 0xef, 0x5b, 0x5a, 0xb2, + 0x38, 0xad, 0x3c, 0xcd, 0x3e, 0x10, 0x23, 0xb3, 0x81, 0xd6, 0x9b, 0x34, 0x43, 0x86, 0x3b, 0x12, 0x7c, 0xb2, 0x52, + 0xf4, 0xe2, 0x64, 0xf7, 0xd4, 0x20, 0x52, 0xb2, 0xd1, 0xcc, 0x42, 0xa0, 0x96, 0x97, 0x21, 0xd3, 0x74, 0x2c, 0x0a, + 0x51, 0x0e, 0x2c, 0x28, 0x0f, 0x9a, 0x30, 0xc5, 0x93, 0x70, 0x1a, 0x47, 0x92, 0x62, 0x35, 0x0d, 0xb9, 0xcd, 0x49, + 0x89, 0x1a, 0xd2, 0xd5, 0xb9, 0xc1, 0x03, 0xad, 0x16, 0x98, 0xc0, 0xa1, 0x24, 0x05, 0x98, 0x6b, 0xa4, 0x67, 0x88, + 0x28, 0x04, 0x03, 0xf4, 0xfa, 0x96, 0x9d, 0x87, 0xce, 0xbb, 0x93, 0x72, 0x59, 0x53, 0x10, 0x6f, 0x3e, 0xf6, 0xa1, + 0x65, 0xa6, 0x75, 0x27, 0x37, 0x54, 0xf2, 0x7c, 0x09, 0xb5, 0x34, 0x81, 0xfb, 0x84, 0x8b, 0x6a, 0x26, 0x54, 0x21, + 0xff, 0x26, 0xf7, 0xfd, 0x62, 0xef, 0xc2, 0xbc, 0xba, 0x7d, 0x80, 0xcf, 0x8f, 0x97, 0x2a, 0x47, 0xe1, 0x93, 0x91, + 0xdc, 0x6a, 0x25, 0x9f, 0x67, 0x10, 0x32, 0xf3, 0x85, 0x9b, 0xbb, 0x1f, 0xb5, 0xe9, 0xc3, 0x26, 0x7f, 0xd6, 0x81, + 0xe5, 0xb6, 0x79, 0x25, 0x26, 0x7f, 0xac, 0x76, 0x2c, 0xda, 0x7b, 0x77, 0x85, 0x3e, 0x8a, 0xf5, 0xe9, 0x84, 0xbb, + 0x7f, 0xa8, 0x7c, 0x5e, 0x36, 0xfa, 0x48, 0x5d, 0xae, 0x8f, 0x7f, 0x85, 0xee, 0x8b, 0x84, 0x6a, 0x58, 0xe3, 0xbd, + 0x4c, 0xb9, 0x30, 0x7b, 0x81, 0x8d, 0xb9, 0x3a, 0xed, 0x66, 0x52, 0x82, 0x6e, 0xdb, 0xfb, 0x8f, 0xfc, 0x08, 0x67, + 0x11, 0x05, 0x37, 0xf9, 0x9d, 0x19, 0xcb, 0xa1, 0x3f, 0xdf, 0x99, 0x41, 0x2f, 0x1f, 0xc2, 0xde, 0xc5, 0xbb, 0xf4, + 0x01, 0xb9, 0x1e, 0xa7, 0x4a, 0x3e, 0xfb, 0xb1, 0xfe, 0x56, 0xc9, 0x3f, 0x8b, 0x84, 0x79, 0x6b, 0x62, 0x85, 0xb9, + 0x31, 0x49, 0x7e, 0xfb, 0xeb, 0xb6, 0xa5, 0x9d, 0xc9, 0xed, 0x62, 0xd3, 0xba, 0x85, 0x67, 0x42, 0x36, 0x81, 0x89, + 0xd9, 0x2f, 0x52, 0xd0, 0x95, 0x32, 0x35, 0x6e, 0x92, 0xd2, 0xca, 0xb3, 0xce, 0xdb, 0x77, 0xcc, 0x1c, 0xd7, 0xa7, + 0x2a, 0x0b, 0x72, 0xab, 0x28, 0xe4, 0x14, 0xda, 0x63, 0xe4, 0x12, 0x3a, 0x4c, 0x97, 0xdc, 0x45, 0xcc, 0x65, 0x11, + 0xd3, 0x7b, 0x79, 0xee, 0x93, 0x10, 0xd3, 0x66, 0x3b, 0xe5, 0x95, 0xfc, 0x0f, 0xb9, 0x79, 0x90, 0x55, 0x41, 0x1d, + 0x80, 0xe9, 0xfd, 0xd5, 0xfa, 0xf3, 0xd9, 0xd2, 0xe0, 0x54, 0x71, 0xf0, 0xf2, 0x53, 0x69, 0x72, 0xf3, 0xc6, 0x39, + 0xdd, 0x10, 0x95, 0x4a, 0x39, 0x16, 0x83, 0x8e, 0x91, 0xa3, 0x6a, 0x34, 0x8b, 0xf9, 0x04, 0x75, 0xed, 0x24, 0xfe, + 0x78, 0x26, 0x67, 0x35, 0x54, 0x73, 0x17, 0x7c, 0x72, 0x6c, 0x79, 0x37, 0x0d, 0xc5, 0x70, 0x7f, 0xb7, 0x55, 0x3f, + 0x67, 0x74, 0xd6, 0x4d, 0x0f, 0x05, 0x37, 0x70, 0xbe, 0xeb, 0xe1, 0x4b, 0x69, 0xdd, 0xaa, 0x59, 0x2a, 0x51, 0x10, + 0xaa, 0xa4, 0xb9, 0x7a, 0xc3, 0xd4, 0x40, 0x1f, 0x6a, 0xfe, 0x8e, 0x32, 0x98, 0xe2, 0x12, 0x00, 0x35, 0xc9, 0xe1, + 0xdb, 0xd4, 0x42, 0xc9, 0x48, 0x6f, 0x05, 0xe6, 0x18, 0xff, 0x1b, 0x48, 0x43, 0x26, 0x03, 0x6e, 0xf5, 0x35, 0xbf, + 0x99, 0xe4, 0xdf, 0x74, 0xdf, 0x07, 0xe7, 0xd3, 0x38, 0x7d, 0x0d, 0x05, 0xf6, 0x41, 0x7b, 0x9f, 0xf6, 0x9c, 0x29, + 0x69, 0x7b, 0x5c, 0x6d, 0xc5, 0x57, 0xdc, 0x4d, 0x61, 0xf0, 0x4f, 0x0f, 0x84, 0x22, 0xfa, 0x6e, 0xe0, 0x50, 0xb8, + 0x1d, 0x3f, 0x31, 0x8d, 0xa8, 0x43, 0xa6, 0xaa, 0x2f, 0x49, 0x3e, 0xda, 0xfc, 0x21, 0xac, 0x09, 0x8e, 0x1c, 0xe3, + 0xa6, 0x67, 0xa8, 0x88, 0xcc, 0x13, 0xaf, 0x76, 0x0f, 0x9c, 0x9a, 0x80, 0xeb, 0x79, 0x64, 0xde, 0xa7, 0xa9, 0x6d, + 0x70, 0xf1, 0x04, 0xb9, 0x73, 0x03, 0x78, 0xa7, 0x56, 0x57, 0xfb, 0x97, 0x5a, 0xef, 0x42, 0x84, 0x5b, 0x00, 0x51, + 0x8e, 0x5f, 0x64, 0x13, 0xb9, 0x7f, 0x70, 0xe6, 0x62, 0x4e, 0xc3, 0x3d, 0xd2, 0xa1, 0xe4, 0xee, 0x10, 0xb5, 0xce, + 0x2a, 0x67, 0x72, 0xa3, 0x98, 0x25, 0x93, 0x42, 0x00, 0x04, 0xa6, 0x55, 0xbe, 0x22, 0x02, 0xb8, 0x0a, 0x0b, 0x8d, + 0xa6, 0x28, 0xf2, 0x2b, 0xaa, 0xed, 0x67, 0xb4, 0x5b, 0xf6, 0xa3, 0xa3, 0x6b, 0xc7, 0x4c, 0x6a, 0x35, 0x71, 0xe9, + 0x48, 0x0a, 0x66, 0x98, 0xbc, 0xb9, 0x28, 0xe4, 0x15, 0x1f, 0xcc, 0x0f, 0x43, 0x02, 0x53, 0x69, 0x05, 0x85, 0x5c, + 0xaf, 0xb1, 0x33, 0x47, 0xa8, 0xe1, 0x34, 0x6b, 0x3c, 0x3d, 0x7d, 0x5e, 0x8a, 0xd7, 0x8e, 0x53, 0xb5, 0xcd, 0x38, + 0x1d, 0x2c, 0xc2, 0x79, 0x91, 0x76, 0x59, 0xb6, 0x12, 0x81, 0xec, 0xc7, 0xf4, 0x6f, 0xe3, 0xbc, 0xd0, 0xbf, 0x59, + 0xe7, 0x58, 0x9e, 0xc0, 0xc8, 0x12, 0x2d, 0x54, 0xc7, 0xfc, 0xa7, 0x56, 0x6c, 0xad, 0xf0, 0x9d, 0xa8, 0x24, 0xc6, + 0xab, 0x73, 0x69, 0xcf, 0x75, 0xe7, 0x87, 0x10, 0x2c, 0x0f, 0xf0, 0xb3, 0xb8, 0xca, 0xf7, 0x67, 0x85, 0x5b, 0xe9, + 0x3f, 0xeb, 0xe6, 0xef, 0x8a, 0xde, 0x93, 0x8f, 0x1f, 0x52, 0xc4, 0x34, 0x81, 0xf9, 0xae, 0x01, 0x34, 0x55, 0x48, + 0x58, 0x94, 0x2a, 0x6e, 0x43, 0x8e, 0xf7, 0xcf, 0xeb, 0x5e, 0xc4, 0xa2, 0x94, 0x23, 0xbb, 0x8e, 0x3b, 0x7e, 0x29, + 0x30, 0x03, 0x5c, 0xc0, 0xf7, 0x50, 0x4e, 0xa0, 0x1f, 0x3b, 0x8f, 0x8f, 0x44, 0x51, 0x38, 0x65, 0xbc, 0x53, 0x58, + 0xeb, 0xf0, 0x42, 0x79, 0x97, 0x6e, 0x14, 0xd3, 0xa8, 0x89, 0x9f, 0x32, 0xbe, 0xb1, 0x1a, 0x3d, 0xd6, 0x35, 0xba, + 0x1f, 0xcd, 0x8f, 0x82, 0x36, 0xb0, 0x88, 0xbd, 0xff, 0xd3, 0x21, 0xc5, 0xc4, 0xe4, 0xbc, 0x65, 0x2c, 0x70, 0x24, + 0xa4, 0xca, 0xad, 0xcc, 0xf7, 0xa9, 0x88, 0xca, 0xf4, 0x2b, 0x9c, 0xf1, 0x3b, 0x42, 0x44, 0x15, 0x16, 0xfb, 0xa7, + 0xd6, 0x3d, 0x66, 0xd2, 0xcd, 0xa6, 0x3e, 0x55, 0x20, 0x0d, 0x45, 0x9e, 0xaa, 0xe9, 0x25, 0x34, 0xb7, 0xbb, 0xcf, + 0xcf, 0x67, 0x8f, 0x0a, 0xf2, 0xf9, 0xef, 0x0f, 0xfa, 0xfe, 0xbe, 0x90, 0x07, 0xad, 0x6f, 0xe5, 0x33, 0xd4, 0xfe, + 0x75, 0x95, 0x3d, 0x35, 0xc0, 0x99, 0x22, 0x92, 0x97, 0xfc, 0x08, 0xa7, 0x6b, 0x6e, 0x96, 0xbe, 0x7a, 0xca, 0x75, + 0x3f, 0x5d, 0xce, 0x6a, 0x91, 0x1c, 0x33, 0x44, 0xd0, 0xde, 0xc8, 0xb8, 0xc7, 0xf7, 0x59, 0x22, 0x9d, 0x85, 0x09, + 0xba, 0x88, 0xea, 0xf6, 0x68, 0x43, 0xd9, 0xad, 0xe6, 0x2d, 0xf7, 0xc6, 0x1f, 0xe8, 0x7b, 0xd6, 0x8b, 0xa0, 0x34, + 0x94, 0x60, 0xc7, 0xdd, 0xa8, 0x71, 0x44, 0x3a, 0xd7, 0x1d, 0xa4, 0x91, 0x7b, 0xa1, 0x58, 0x52, 0xde, 0x77, 0xb3, + 0xa3, 0x30, 0x69, 0x81, 0x15, 0x76, 0xea, 0xf2, 0xe0, 0x6e, 0x5a, 0x98, 0x75, 0x0a, 0x85, 0xca, 0x74, 0x31, 0xf0, + 0xc5, 0xa6, 0xb4, 0xae, 0x57, 0x0e, 0xc8, 0x01, 0x8c, 0x8e, 0x83, 0x14, 0x26, 0xd5, 0x58, 0x92, 0xca, 0xd0, 0xd1, + 0x72, 0x68, 0x59, 0xaa, 0x14, 0x14, 0xbd, 0x03, 0x0c, 0xca, 0x78, 0xf6, 0xff, 0xc3, 0x9c, 0x0b, 0x83, 0x58, 0x0e, + 0xec, 0x57, 0x64, 0x5f, 0x5d, 0x77, 0xc2, 0x49, 0x54, 0x10, 0xa6, 0xba, 0x91, 0xa9, 0x47, 0x15, 0xd8, 0x84, 0x1c, + 0xd2, 0x24, 0xc9, 0xe9, 0xc0, 0x04, 0x72, 0xe4, 0x69, 0x13, 0x51, 0x17, 0x92, 0xca, 0xe5, 0x97, 0xce, 0xb7, 0x5f, + 0x71, 0xe6, 0x2f, 0x30, 0x92, 0x53, 0x4a, 0xc7, 0x3a, 0x8b, 0xf1, 0x3b, 0xed, 0x7e, 0x3a, 0x6f, 0xfb, 0x9c, 0x5f, + 0x72, 0x80, 0xde, 0x42, 0x55, 0xce, 0x10, 0x90, 0x1e, 0xfa, 0xfe, 0x7a, 0x47, 0xb5, 0xa0, 0x3b, 0x6e, 0xfa, 0xe4, + 0x33, 0xce, 0x5e, 0xad, 0x93, 0xcf, 0x4f, 0xde, 0x28, 0xc4, 0x48, 0x04, 0x5d, 0x3b, 0x52, 0x95, 0x76, 0x9f, 0x6f, + 0xe4, 0x2a, 0x5c, 0xae, 0x41, 0xb3, 0x83, 0xa2, 0x53, 0xda, 0xcf, 0x94, 0xb1, 0xae, 0x7e, 0x4a, 0x0e, 0x1b, 0xb0, + 0xd9, 0x10, 0xe3, 0x48, 0xdc, 0x78, 0xa5, 0x62, 0x80, 0x33, 0x37, 0xaa, 0x61, 0xa5, 0xb7, 0x9d, 0x93, 0x5f, 0xe2, + 0x95, 0x06, 0xcf, 0x13, 0x2c, 0xd1, 0x45, 0x9f, 0x57, 0x8f, 0xd3, 0x51, 0xe6, 0x1b, 0xea, 0xdf, 0xa0, 0xda, 0x26, + 0x5d, 0x88, 0x75, 0x9a, 0xce, 0x21, 0xcf, 0x95, 0x1f, 0xdd, 0x99, 0x20, 0x73, 0x47, 0x85, 0x6b, 0xd5, 0xa0, 0x40, + 0x53, 0xf6, 0xc9, 0x4a, 0x78, 0x74, 0xeb, 0x93, 0x4c, 0xda, 0x47, 0x6b, 0xe5, 0xc3, 0xad, 0x28, 0xfb, 0x77, 0xcf, + 0xbf, 0xf7, 0x99, 0xde, 0x22, 0x1d, 0xd7, 0xac, 0xf6, 0x2f, 0xf8, 0x29, 0xe7, 0x34, 0xde, 0x12, 0xa5, 0x44, 0xe5, + 0x87, 0xe3, 0x80, 0x58, 0xbc, 0x41, 0xfc, 0xd1, 0x0f, 0xdc, 0xec, 0x45, 0xac, 0x2f, 0x55, 0x5a, 0x54, 0x7f, 0xb2, + 0xc7, 0x55, 0x0d, 0x8e, 0x1f, 0xeb, 0xf9, 0x75, 0xac, 0xbc, 0x13, 0x0d, 0xb0, 0x56, 0x02, 0x1f, 0xdb, 0x95, 0x80, + 0x02, 0x22, 0xbd, 0x25, 0x6f, 0xcf, 0xff, 0x77, 0x8b, 0xfd, 0x7e, 0x47, 0xf7, 0xd3, 0xce, 0x8d, 0xaa, 0xd1, 0x69, + 0x53, 0x58, 0x0a, 0xdb, 0xee, 0xb3, 0xc0, 0x45, 0xc6, 0x80, 0x40, 0x35, 0xe6, 0x1f, 0x92, 0x30, 0xa7, 0xc0, 0xbb, + 0x3c, 0x38, 0x8e, 0xfc, 0x96, 0xfa, 0xc6, 0x0a, 0xf7, 0xef, 0xf6, 0xae, 0xb7, 0x20, 0x42, 0x65, 0x9f, 0xa0, 0xdc, + 0x91, 0x3f, 0xf6, 0xd3, 0x0b, 0xd4, 0x47, 0x61, 0xaf, 0x60, 0xd5, 0xd1, 0xa2, 0x6b, 0x07, 0x3a, 0x07, 0xbd, 0x1b, + 0x51, 0x51, 0xf9, 0x98, 0x8d, 0xa5, 0x66, 0x7c, 0x04, 0x30, 0x02, 0x58, 0x0c, 0x71, 0xe2, 0xda, 0x2b, 0xf7, 0x35, + 0xba, 0x02, 0x02, 0x8c, 0xe1, 0x1f, 0x36, 0x38, 0xb7, 0x5e, 0x59, 0x06, 0x9a, 0x1c, 0xe0, 0xd4, 0x26, 0x8b, 0x53, + 0x8b, 0x53, 0xbc, 0xdf, 0xf9, 0xc6, 0xe8, 0xed, 0x05, 0x39, 0x1d, 0xf0, 0x1e, 0x7b, 0x14, 0x15, 0x35, 0x64, 0xa0, + 0x85, 0x6f, 0xbb, 0x21, 0x62, 0x65, 0x30, 0x0b, 0xfa, 0x70, 0xee, 0xfb, 0xf3, 0x4b, 0x2a, 0x54, 0xff, 0x57, 0xaf, + 0xbd, 0xae, 0x5a, 0xf0, 0xc4, 0x35, 0xec, 0x2e, 0xb8, 0x72, 0x4a, 0xed, 0x58, 0xa5, 0xa7, 0x9d, 0x64, 0x50, 0x10, + 0xda, 0x21, 0x85, 0x67, 0xff, 0x67, 0x51, 0x7d, 0x9e, 0x5b, 0xcd, 0xa1, 0xfa, 0xcc, 0x3a, 0x0e, 0x88, 0x7f, 0x3f, + 0xca, 0xbb, 0x3a, 0x08, 0x50, 0x35, 0xe4, 0x93, 0x02, 0xf3, 0x5f, 0xf1, 0x2c, 0x6f, 0x44, 0xba, 0x9d, 0xd9, 0x7d, + 0x8d, 0xcb, 0x99, 0xdc, 0x4e, 0xe6, 0x9b, 0x79, 0xb8, 0xd9, 0x79, 0x7f, 0xbd, 0xa5, 0x4a, 0xda, 0x7a, 0xa5, 0x3e, + 0x3d, 0xe0, 0x38, 0x20, 0xd2, 0x66, 0x19, 0x46, 0x73, 0x7e, 0xee, 0x06, 0xbe, 0x1f, 0x16, 0x61, 0xbe, 0x5f, 0xfb, + 0xb5, 0xe0, 0xc6, 0x24, 0x6f, 0x24, 0x4e, 0xd4, 0xc0, 0x65, 0x8a, 0xa1, 0x2b, 0x05, 0xbc, 0x89, 0x43, 0x5f, 0xc3, + 0x94, 0x1d, 0xf4, 0x5e, 0xb8, 0x1e, 0xf5, 0x74, 0xc4, 0x05, 0xae, 0xba, 0x79, 0x24, 0x93, 0xcc, 0x37, 0x94, 0x31, + 0xde, 0xf0, 0xaa, 0xdf, 0xb8, 0x73, 0xaf, 0x93, 0x32, 0x80, 0x5d, 0x2a, 0x28, 0x7e, 0xbc, 0x6a, 0x55, 0x53, 0x9f, + 0x8a, 0x10, 0xb2, 0x90, 0x4b, 0x01, 0xee, 0xf2, 0xfc, 0x99, 0x7c, 0x1e, 0x5d, 0xdc, 0x0d, 0x55, 0x03, 0xd0, 0x6a, + 0xea, 0xeb, 0x02, 0xc6, 0x91, 0x27, 0x45, 0xca, 0x70, 0x66, 0x6d, 0x78, 0x51, 0xab, 0x4f, 0xb9, 0xa4, 0x21, 0xa3, + 0xb6, 0x53, 0xea, 0x41, 0xbe, 0xd6, 0xd9, 0xec, 0x91, 0x37, 0xb8, 0xa1, 0x65, 0xbb, 0x92, 0x8f, 0x20, 0x8a, 0x26, + 0xc0, 0x72, 0x96, 0xb6, 0x09, 0x32, 0xf8, 0x0e, 0x2d, 0x92, 0xc1, 0x10, 0xb1, 0xc0, 0x9e, 0x77, 0xab, 0xe2, 0xb5, + 0xbd, 0x9c, 0x6a, 0x27, 0xd3, 0xef, 0x72, 0x74, 0xf6, 0x81, 0x3a, 0x1c, 0xac, 0xea, 0x65, 0x17, 0x6a, 0xfd, 0xbb, + 0x1f, 0xda, 0x0a, 0x02, 0x59, 0x03, 0x27, 0x4a, 0x8a, 0xbd, 0x52, 0x65, 0x6b, 0xe4, 0x24, 0xc0, 0x5d, 0x1f, 0xcf, + 0x44, 0x14, 0xb3, 0x74, 0x4e, 0xbf, 0x0b, 0x42, 0x8f, 0x31, 0xac, 0x90, 0x6a, 0x02, 0x8d, 0x9f, 0x5c, 0xd1, 0xdd, + 0x60, 0x35, 0xd9, 0x33, 0xd2, 0x17, 0x63, 0x3d, 0xdd, 0xd9, 0x36, 0xa8, 0x43, 0xfb, 0x6c, 0xb6, 0xaf, 0x2b, 0x8c, + 0x58, 0xf9, 0xa2, 0x1a, 0x7b, 0x61, 0x0b, 0xdc, 0xa9, 0x0b, 0x91, 0xb1, 0x62, 0x66, 0x7a, 0xc2, 0x50, 0x70, 0x5c, + 0x23, 0x1f, 0xe3, 0xc4, 0x4c, 0xa4, 0xb4, 0x2b, 0x76, 0x9a, 0x12, 0x70, 0x0a, 0x84, 0x8e, 0x3d, 0xed, 0xd6, 0x6a, + 0x41, 0xf2, 0x60, 0xe9, 0xb2, 0x1f, 0xe2, 0x7a, 0x3c, 0x2d, 0x29, 0x84, 0x20, 0x5c, 0x9c, 0x9e, 0x75, 0xb3, 0x8c, + 0xe3, 0xc1, 0x94, 0xa6, 0xc3, 0xfe, 0x69, 0x3f, 0xad, 0x0c, 0x3e, 0xde, 0x57, 0x2b, 0x3c, 0x76, 0x20, 0xf8, 0x3c, + 0xfa, 0xde, 0x20, 0xcf, 0xff, 0x34, 0xc9, 0xff, 0x3a, 0x86, 0x40, 0x0d, 0x5b, 0xb1, 0xa0, 0x1b, 0xbe, 0xb1, 0x09, + 0x5e, 0xae, 0x99, 0x57, 0x3a, 0x5b, 0x8b, 0xb3, 0x88, 0x0c, 0x0b, 0x78, 0x7c, 0xf3, 0xe3, 0xfa, 0x23, 0x9c, 0x8d, + 0xcb, 0x18, 0xc3, 0x4b, 0x6e, 0x80, 0x24, 0x21, 0x5c, 0x42, 0xcc, 0x58, 0x77, 0xcf, 0x0d, 0x6e, 0xab, 0x8d, 0xaf, + 0x01, 0xb7, 0x9e, 0x2f, 0xc6, 0xcb, 0x84, 0xf3, 0xe9, 0xcf, 0xca, 0x75, 0x4f, 0xa5, 0xb9, 0x51, 0x6f, 0xb5, 0xfe, + 0xe3, 0xd9, 0xef, 0x1e, 0xb0, 0x24, 0xdc, 0x4f, 0x2d, 0xc3, 0x7c, 0xf2, 0xea, 0x92, 0x89, 0x10, 0xcf, 0x02, 0x5a, + 0x0e, 0x51, 0x88, 0x0f, 0x17, 0x90, 0xe7, 0xee, 0xe8, 0x70, 0xe4, 0x76, 0x9a, 0x4b, 0x23, 0x47, 0x76, 0x30, 0xb4, + 0xa8, 0xa4, 0x0b, 0xab, 0x95, 0x69, 0x9f, 0x4a, 0x37, 0x22, 0x72, 0x20, 0x31, 0x59, 0xb1, 0xcf, 0x30, 0xd3, 0x0e, + 0x9c, 0x7a, 0x40, 0xfc, 0xcf, 0x7f, 0x11, 0x19, 0xca, 0x09, 0x2f, 0xb5, 0xb0, 0x84, 0xa5, 0xca, 0x6c, 0x1f, 0x8f, + 0x9c, 0xca, 0xcc, 0xaa, 0x57, 0x8b, 0x78, 0xeb, 0x8d, 0x86, 0xa6, 0x13, 0x23, 0xc5, 0x07, 0xbe, 0x8c, 0x02, 0x2a, + 0x34, 0xe9, 0xa1, 0x88, 0xd7, 0xf3, 0xcc, 0x39, 0x04, 0xe0, 0x1b, 0x7d, 0xb7, 0x54, 0x75, 0x5d, 0x5f, 0xec, 0x77, + 0x29, 0xf7, 0x25, 0x05, 0xb1, 0xe4, 0xdc, 0x3d, 0xc6, 0x39, 0x1c, 0x39, 0x78, 0x6a, 0x24, 0x15, 0x75, 0x16, 0x89, + 0xc4, 0x82, 0x96, 0xd2, 0xed, 0xb0, 0xdc, 0x03, 0xa6, 0x51, 0xa8, 0x6a, 0xa3, 0xc7, 0x5d, 0x97, 0x00, 0xda, 0xec, + 0x24, 0x84, 0xf7, 0xf0, 0x7d, 0xb6, 0x98, 0x0b, 0xb9, 0xe0, 0x6c, 0x7f, 0x9b, 0x53, 0x29, 0x57, 0xb1, 0x67, 0xa3, + 0xb4, 0x43, 0xf3, 0xed, 0xdc, 0xb3, 0x5a, 0x32, 0x2b, 0x62, 0x0c, 0x91, 0xd3, 0x37, 0x92, 0xb6, 0x0d, 0xd2, 0xe1, + 0x70, 0xcd, 0x90, 0xe0, 0x73, 0x5e, 0x6b, 0x2f, 0xc5, 0x93, 0x71, 0x52, 0xf8, 0x6f, 0x26, 0xd9, 0x79, 0x6d, 0xfd, + 0xa3, 0x3f, 0x24, 0x5b, 0x01, 0xc1, 0x13, 0x7e, 0x35, 0xd9, 0xcc, 0xae, 0xb9, 0xf9, 0xbd, 0x86, 0xf6, 0xd4, 0x52, + 0xb0, 0x66, 0x02, 0xad, 0x4d, 0xca, 0xe7, 0xa2, 0x8f, 0xaf, 0x57, 0x77, 0x24, 0xee, 0xd3, 0x67, 0xd2, 0x35, 0x25, + 0x2f, 0x19, 0x0b, 0xca, 0x37, 0xbc, 0xd9, 0x1f, 0xa3, 0x08, 0xa8, 0x1a, 0x72, 0x05, 0xf5, 0x75, 0x4f, 0xa6, 0xcf, + 0xda, 0x41, 0x58, 0xaf, 0x02, 0x9b, 0x80, 0x22, 0x11, 0xfd, 0xb7, 0x79, 0x8f, 0x3e, 0xe4, 0xd0, 0x1d, 0xb2, 0x37, + 0xb0, 0x9e, 0xac, 0x74, 0x27, 0x11, 0x8a, 0x0a, 0x9f, 0x3b, 0x01, 0xa5, 0x64, 0x07, 0xa5, 0x06, 0x7c, 0xd6, 0x4b, + 0xe4, 0x98, 0xf9, 0xc6, 0xf1, 0x2e, 0xf1, 0x8e, 0xb2, 0xf8, 0xc0, 0x81, 0x9d, 0xea, 0xe7, 0xef, 0x63, 0xf9, 0x72, + 0x8c, 0x07, 0x91, 0xd1, 0xef, 0x45, 0x01, 0xbe, 0xec, 0x37, 0xcd, 0xc8, 0xf3, 0xaf, 0xbf, 0xa5, 0x8d, 0x3c, 0xf3, + 0x6b, 0xa9, 0x84, 0x65, 0xdd, 0x9d, 0x3f, 0x45, 0xbb, 0x94, 0xd8, 0x70, 0x5b, 0xf4, 0xc1, 0x20, 0x97, 0x1b, 0x00, + 0x1f, 0x70, 0x2e, 0xff, 0x99, 0xa3, 0x50, 0x3e, 0x52, 0xeb, 0xf2, 0x64, 0x29, 0xc4, 0x98, 0xfc, 0x8d, 0x51, 0x2d, + 0x67, 0xae, 0x8f, 0xfc, 0x7e, 0xc1, 0x2f, 0x9c, 0x9d, 0xee, 0x07, 0xc8, 0x02, 0x41, 0x8b, 0x15, 0x5d, 0xe9, 0xa1, + 0xa8, 0xa5, 0xaa, 0x18, 0x4a, 0xf3, 0x62, 0x2c, 0x2d, 0x8a, 0x69, 0x63, 0x0f, 0x5e, 0x20, 0x52, 0x70, 0x3d, 0x35, + 0x4b, 0xa6, 0xd0, 0x43, 0xcf, 0xe0, 0x9e, 0xa9, 0xa4, 0xac, 0x75, 0x4e, 0xc3, 0xc0, 0x0a, 0x66, 0xc4, 0x0a, 0x6b, + 0xab, 0x93, 0x96, 0xbd, 0x02, 0x31, 0x96, 0x05, 0x0a, 0x14, 0xaa, 0x83, 0x58, 0x49, 0x15, 0x12, 0xcc, 0xd9, 0x16, + 0x23, 0x3d, 0x5b, 0x49, 0x95, 0xee, 0x34, 0x34, 0xe7, 0x67, 0x85, 0xd1, 0x1b, 0x01, 0xdd, 0xa2, 0xb8, 0xbf, 0x5f, + 0xd7, 0xb0, 0x41, 0x66, 0xa5, 0x2a, 0xaa, 0x17, 0x51, 0x95, 0x69, 0x46, 0x5a, 0x82, 0xec, 0xf9, 0x0c, 0xe4, 0xaa, + 0x72, 0xd4, 0x1e, 0xd3, 0x5e, 0x00, 0xd5, 0xe8, 0xb3, 0xe8, 0xe8, 0x45, 0x9a, 0x43, 0x5d, 0x37, 0x6c, 0xa9, 0x15, + 0x65, 0x52, 0x50, 0xac, 0x91, 0xdf, 0x4e, 0xb2, 0x46, 0x44, 0x76, 0xb3, 0x8b, 0xef, 0xe9, 0xae, 0x92, 0x4d, 0xb2, + 0xf1, 0x69, 0x1c, 0x20, 0xb4, 0x4e, 0x48, 0x2c, 0x6a, 0xbc, 0xe0, 0x2d, 0xe1, 0xd2, 0x72, 0x18, 0x7f, 0x74, 0xbc, + 0xbf, 0xe4, 0x0a, 0x0f, 0xac, 0x48, 0xeb, 0x84, 0x45, 0x7e, 0x32, 0x2e, 0xe0, 0xd7, 0xfe, 0xac, 0x90, 0x59, 0x33, + 0x16, 0xb9, 0xf0, 0x59, 0x94, 0x27, 0xb1, 0xae, 0x2d, 0xdd, 0x93, 0x71, 0xff, 0xd8, 0x99, 0x3a, 0xde, 0x9f, 0x74, + 0x08, 0xfc, 0x02, 0x50, 0xaa, 0x1e, 0x10, 0xfb, 0xc0, 0xf7, 0x78, 0x65, 0x51, 0x04, 0x97, 0xe1, 0xf6, 0x90, 0x8a, + 0xf2, 0x34, 0x77, 0xd5, 0xb4, 0xf2, 0x17, 0x21, 0x09, 0xaa, 0xe1, 0x9b, 0x94, 0xa4, 0x40, 0xe9, 0xa3, 0x1c, 0x26, + 0x3d, 0x62, 0x9f, 0xdf, 0xfb, 0xd2, 0x67, 0xa7, 0xf0, 0xa5, 0x4f, 0xba, 0x66, 0x6d, 0x85, 0xb7, 0xff, 0x36, 0xb0, + 0x83, 0x99, 0x1e, 0xc5, 0xef, 0x87, 0x38, 0x2d, 0xd6, 0x32, 0xea, 0xce, 0x2f, 0x96, 0xbd, 0x0d, 0xf9, 0x3f, 0xfc, + 0xee, 0x82, 0xd3, 0xf0, 0xfd, 0x69, 0xd5, 0xdd, 0x78, 0x5b, 0x39, 0x74, 0xbf, 0x75, 0xbf, 0x6d, 0xa5, 0x5b, 0x3a, + 0x79, 0xe1, 0x7f, 0x7b, 0xef, 0x9c, 0xfb, 0x96, 0x8b, 0xcf, 0x24, 0x33, 0x5e, 0x7d, 0x12, 0xeb, 0x74, 0xac, 0x20, + 0xbd, 0x72, 0x91, 0x49, 0xaf, 0xb7, 0xc6, 0xf1, 0x8b, 0xc4, 0xda, 0xee, 0xc4, 0x9a, 0x7d, 0x50, 0x35, 0x79, 0x8c, + 0xc1, 0xa3, 0xad, 0x2c, 0xa6, 0x3f, 0x58, 0xe7, 0xd1, 0xff, 0x36, 0xb2, 0x39, 0x6e, 0x5c, 0x8e, 0x36, 0x7f, 0xb1, + 0x44, 0x3c, 0x5b, 0xed, 0x57, 0xde, 0xa7, 0xb5, 0x25, 0x8b, 0xbf, 0x49, 0x4b, 0xd2, 0x5a, 0x8c, 0xef, 0xe5, 0x83, + 0x25, 0x7d, 0x8a, 0x3d, 0x07, 0x11, 0x1a, 0xb1, 0xe6, 0x82, 0x1a, 0xb9, 0x4e, 0x57, 0x02, 0xb1, 0x0b, 0x3f, 0x1f, + 0x7a, 0x8a, 0x0b, 0xa4, 0x3a, 0xc8, 0xcb, 0x40, 0x35, 0x51, 0x40, 0x3f, 0x50, 0x53, 0x82, 0x9c, 0x67, 0x7b, 0xc7, + 0xb7, 0x87, 0xaf, 0xf1, 0xf6, 0xcc, 0xd2, 0x46, 0x64, 0x7e, 0x8b, 0x07, 0x47, 0x58, 0x9a, 0xdb, 0x09, 0x93, 0x45, + 0xd8, 0x42, 0xd1, 0xf2, 0x0e, 0xd9, 0x63, 0xf3, 0x4b, 0x03, 0xd5, 0x85, 0x1c, 0xb1, 0x9e, 0xff, 0x5a, 0xef, 0xd2, + 0x15, 0xbc, 0x4b, 0xfb, 0xa2, 0x97, 0x66, 0x3d, 0x04, 0x40, 0x77, 0xea, 0xcf, 0x40, 0x95, 0xb9, 0xa1, 0x28, 0x7d, + 0x7e, 0x9d, 0xb5, 0xa7, 0xda, 0x55, 0xe0, 0xde, 0x69, 0x78, 0x76, 0x42, 0x56, 0x2e, 0x11, 0xfd, 0x18, 0xec, 0x73, + 0x02, 0xfd, 0x41, 0x33, 0xb4, 0xaf, 0x3b, 0x3a, 0x71, 0x09, 0x28, 0x13, 0x75, 0xb8, 0x24, 0x46, 0x30, 0x7e, 0x90, + 0x83, 0x0d, 0xbc, 0x5a, 0xdf, 0xa5, 0x24, 0xae, 0xba, 0x73, 0x08, 0xd1, 0x6b, 0xde, 0xff, 0xea, 0xd7, 0x60, 0xbf, + 0xde, 0xe8, 0x26, 0x23, 0xf2, 0xf7, 0xfc, 0x9c, 0x4b, 0x34, 0x63, 0x88, 0x10, 0x55, 0x2c, 0x5a, 0xf3, 0x1c, 0x0b, + 0x58, 0x9e, 0x97, 0xe0, 0xbb, 0x7c, 0xde, 0x75, 0x62, 0xab, 0x89, 0xa5, 0x6a, 0x30, 0x62, 0x17, 0x0e, 0xde, 0x07, + 0x29, 0x30, 0x70, 0x59, 0x76, 0xd2, 0x7d, 0x47, 0x32, 0x1b, 0x1f, 0x34, 0x07, 0x04, 0x37, 0x3d, 0xc8, 0x02, 0x7f, + 0x23, 0x8c, 0xa1, 0x85, 0x07, 0xeb, 0xa1, 0xd9, 0xa6, 0xbc, 0x06, 0x17, 0xdc, 0x74, 0xa5, 0x22, 0xd5, 0x97, 0xb6, + 0x5a, 0x06, 0x0a, 0x4b, 0xb3, 0x60, 0xe0, 0x5b, 0x5a, 0x2c, 0x8b, 0x10, 0x83, 0x3c, 0x5c, 0xe7, 0x24, 0x84, 0xf2, + 0x04, 0xa1, 0x0e, 0x05, 0x66, 0x3c, 0x38, 0x9d, 0x22, 0x70, 0x30, 0xaf, 0x39, 0xaf, 0x3b, 0xbf, 0x67, 0xc2, 0x32, + 0x4b, 0x8f, 0x7b, 0x0d, 0x97, 0x4b, 0x13, 0x39, 0xd0, 0xbd, 0xd9, 0xfb, 0xdb, 0x2d, 0xf2, 0xbe, 0x11, 0x5a, 0xb1, + 0x0d, 0x17, 0x15, 0x17, 0x59, 0xb4, 0xba, 0xc4, 0xb8, 0x93, 0xae, 0x57, 0xee, 0x85, 0xdd, 0x7a, 0xea, 0x9e, 0xac, + 0x37, 0x4c, 0xe1, 0xd3, 0xb0, 0x8c, 0x25, 0xc4, 0x1a, 0x4b, 0x47, 0xff, 0xbb, 0x2c, 0x7c, 0x96, 0xb5, 0x07, 0x0c, + 0x85, 0xb8, 0x3f, 0xd3, 0xe3, 0x27, 0x00, 0x0e, 0xc7, 0x13, 0x1f, 0x27, 0xe0, 0x40, 0x6b, 0x49, 0xa1, 0x5b, 0x33, + 0x01, 0x11, 0x6b, 0x4b, 0xfe, 0x4b, 0x5f, 0x89, 0x52, 0xf4, 0xd9, 0xb1, 0xeb, 0xdc, 0xe4, 0xfd, 0xdb, 0xea, 0x58, + 0x35, 0x2d, 0x21, 0xef, 0xba, 0x05, 0xea, 0x61, 0xf9, 0xfb, 0xae, 0x58, 0xd1, 0x11, 0x08, 0x3c, 0x7f, 0x63, 0x5a, + 0xac, 0x4f, 0x06, 0x48, 0xd7, 0x83, 0x4f, 0x58, 0x24, 0x9e, 0x82, 0x63, 0x20, 0x8e, 0xab, 0xe1, 0x23, 0xf3, 0xc3, + 0xff, 0x2c, 0x27, 0x56, 0xa6, 0x9d, 0xc9, 0xa9, 0x63, 0xaa, 0x23, 0x83, 0x00, 0xfa, 0x22, 0xf7, 0xb8, 0xee, 0xbf, + 0x3a, 0xb5, 0x54, 0x31, 0x6c, 0xb6, 0x37, 0x71, 0x6b, 0xee, 0xc4, 0x7a, 0xa5, 0xcb, 0xe0, 0xd3, 0xca, 0xfd, 0xe2, + 0xf4, 0x43, 0x26, 0xcc, 0xe0, 0x6c, 0xf1, 0xe5, 0x83, 0x4d, 0x0f, 0x19, 0x0d, 0x80, 0x09, 0x4b, 0xe9, 0x27, 0x83, + 0x94, 0x3e, 0x3f, 0x31, 0x12, 0xda, 0x36, 0xf8, 0x67, 0x6e, 0x2e, 0x47, 0x39, 0xd0, 0x7f, 0x18, 0xec, 0x62, 0xa3, + 0xb7, 0x49, 0x18, 0x3f, 0x40, 0x9a, 0xbd, 0xd1, 0x8f, 0x7a, 0xcd, 0xa1, 0x25, 0x16, 0xe5, 0xd5, 0x93, 0xfc, 0x98, + 0x65, 0x46, 0x01, 0xf8, 0x90, 0xf7, 0x1e, 0xfa, 0xe7, 0x98, 0x62, 0xce, 0xe1, 0xeb, 0xf8, 0xd7, 0x0e, 0x62, 0x6d, + 0xed, 0x74, 0xcd, 0xff, 0xce, 0x5c, 0x78, 0x6a, 0x73, 0xc2, 0x8c, 0xb6, 0x5f, 0xbd, 0xba, 0xda, 0x74, 0x18, 0x01, + 0x34, 0xbe, 0xc2, 0xe8, 0xb1, 0x09, 0xdd, 0x06, 0x66, 0x24, 0xe0, 0x9e, 0x67, 0xd2, 0x95, 0x8e, 0x3f, 0x16, 0xf0, + 0x66, 0xe6, 0x77, 0xa0, 0x09, 0x77, 0x57, 0xd2, 0x68, 0x4b, 0x92, 0x1c, 0xf9, 0x6d, 0xc1, 0x44, 0xb1, 0x75, 0xeb, + 0x26, 0xbc, 0x16, 0xf8, 0xff, 0xf8, 0x41, 0x00, 0xf2, 0x6e, 0x51, 0xb3, 0xa4, 0x76, 0x9a, 0xe6, 0x2b, 0x4d, 0x29, + 0xbb, 0xb0, 0x72, 0x93, 0x5d, 0xce, 0xfc, 0xff, 0x30, 0x82, 0x9b, 0x1c, 0x3e, 0x89, 0x1e, 0xda, 0x57, 0x80, 0xa4, + 0x07, 0x44, 0x17, 0x0f, 0x5a, 0x38, 0x7e, 0x23, 0xca, 0x1c, 0x2c, 0x6c, 0x0b, 0x96, 0x05, 0x83, 0x28, 0x7b, 0x04, + 0xf3, 0x0b, 0x1d, 0x98, 0xfc, 0x4d, 0xef, 0x28, 0xe7, 0x10, 0xe9, 0xd5, 0x77, 0x25, 0xa7, 0xae, 0x9d, 0x5e, 0xfa, + 0xbf, 0x69, 0x02, 0x4c, 0xe6, 0xb6, 0xbe, 0x4e, 0x2d, 0x5f, 0xf8, 0x3c, 0x6b, 0x2f, 0x8a, 0x71, 0xfc, 0xed, 0x8a, + 0x8e, 0x77, 0xc6, 0xac, 0x77, 0x14, 0x35, 0xad, 0xae, 0x7d, 0x75, 0xd3, 0x82, 0x6e, 0x9c, 0x10, 0x3c, 0xc6, 0x87, + 0x58, 0x7e, 0xde, 0x7c, 0x93, 0x50, 0xc7, 0xdf, 0xc6, 0x1e, 0x6f, 0x9b, 0x29, 0x3c, 0xb1, 0x03, 0x7e, 0x47, 0xf7, + 0x96, 0x8e, 0x57, 0x57, 0x4c, 0x7c, 0x08, 0x4e, 0x45, 0x80, 0xd7, 0x93, 0x24, 0xbe, 0x29, 0x89, 0x83, 0x0d, 0xa7, + 0xd6, 0xb6, 0xc2, 0x7d, 0x59, 0xbb, 0x43, 0x16, 0x4e, 0xe3, 0x9b, 0xa8, 0x1b, 0x1e, 0x71, 0xc6, 0x49, 0xdc, 0xea, + 0xa9, 0xef, 0xb6, 0x41, 0x8c, 0xc0, 0xe1, 0x0a, 0x30, 0x3e, 0x11, 0x3e, 0xc4, 0x6c, 0x6a, 0x00, 0xa7, 0x22, 0xb0, + 0xea, 0x87, 0x03, 0x4c, 0xd9, 0xfd, 0x94, 0x0f, 0xe9, 0x88, 0xc0, 0xcc, 0xf4, 0x10, 0xe5, 0xfd, 0xe7, 0xf0, 0x48, + 0xde, 0x9f, 0x4f, 0x86, 0xe1, 0x50, 0xc8, 0xb5, 0xd9, 0xb0, 0x07, 0x56, 0xbe, 0xe0, 0x06, 0xe7, 0x6b, 0xb6, 0xed, + 0xda, 0x84, 0xdc, 0xfc, 0x23, 0x9e, 0x61, 0x97, 0x98, 0xde, 0xdc, 0x3b, 0x5d, 0x47, 0x3d, 0xdf, 0x2b, 0x17, 0x52, + 0xc3, 0x3e, 0xd1, 0xe2, 0xd1, 0xf3, 0x6c, 0xa4, 0x75, 0xc7, 0xc9, 0x5b, 0xfd, 0x4b, 0x72, 0x24, 0x04, 0xc5, 0x4f, + 0xb2, 0xf6, 0x3e, 0x91, 0x6d, 0xdf, 0x05, 0xcf, 0xad, 0xf6, 0x3a, 0x42, 0x77, 0xfa, 0xd3, 0x23, 0x6c, 0x4a, 0xe7, + 0xe7, 0x0e, 0xa0, 0x3a, 0x92, 0xf3, 0xd9, 0xe5, 0x1e, 0x06, 0xe5, 0x70, 0xc5, 0x33, 0x70, 0xb7, 0x62, 0xe6, 0x21, + 0xd2, 0x35, 0x5a, 0x7f, 0xf7, 0x82, 0x37, 0x5c, 0x33, 0x59, 0x1b, 0x91, 0xdc, 0x16, 0xf2, 0x30, 0xc7, 0x08, 0x65, + 0xbe, 0xa0, 0xfc, 0x70, 0xd1, 0x66, 0x72, 0x96, 0x84, 0x2f, 0x24, 0x0a, 0xfc, 0x49, 0x95, 0x67, 0xae, 0x1c, 0x2f, + 0x57, 0x6c, 0x60, 0x2e, 0xe8, 0x8b, 0x51, 0x40, 0x22, 0x73, 0xb7, 0xfc, 0x32, 0xcf, 0x90, 0xfc, 0x35, 0x72, 0x6d, + 0x07, 0x58, 0xbe, 0xce, 0x53, 0x06, 0x37, 0x2e, 0x5a, 0x0b, 0x1d, 0x5f, 0x4a, 0x26, 0x41, 0x91, 0x42, 0xa8, 0xb4, + 0x48, 0x68, 0xd4, 0x2a, 0x15, 0x30, 0x6e, 0xa1, 0xa1, 0xdf, 0x6b, 0xd5, 0xe7, 0x4f, 0xd8, 0xf9, 0x63, 0x94, 0xff, + 0x51, 0x5c, 0x04, 0xc8, 0x91, 0xb7, 0xa8, 0x1b, 0xf0, 0x4c, 0x91, 0xd4, 0x66, 0x8e, 0x4b, 0x24, 0x1c, 0x83, 0x64, + 0x61, 0xb7, 0x61, 0xef, 0x7f, 0xc7, 0xd7, 0x54, 0x90, 0x30, 0x88, 0xf0, 0xeb, 0x2c, 0x83, 0x6e, 0xe0, 0x22, 0x98, + 0x6a, 0x84, 0x07, 0x1c, 0x45, 0xdd, 0x35, 0xab, 0x80, 0x13, 0x28, 0x41, 0xc9, 0x22, 0x89, 0x1f, 0x77, 0xa0, 0xff, + 0x5f, 0x8a, 0x51, 0x7d, 0xd6, 0xd7, 0xb7, 0x15, 0xd4, 0x43, 0x87, 0x02, 0x15, 0x19, 0x37, 0xc0, 0x66, 0x8f, 0x8f, + 0x45, 0x0e, 0xd8, 0x30, 0xf9, 0xaf, 0xb0, 0xb0, 0x52, 0xd9, 0x72, 0x3a, 0xfc, 0xcb, 0x35, 0x8b, 0x83, 0x3d, 0x3c, + 0x4c, 0xe3, 0x30, 0x3e, 0xa5, 0x25, 0x7d, 0x5e, 0xe8, 0xa4, 0x51, 0xd1, 0xf9, 0x71, 0x9e, 0xf5, 0x7d, 0x57, 0xf2, + 0xf8, 0x35, 0x5e, 0x9f, 0xd9, 0x53, 0x74, 0x9d, 0x1f, 0x7e, 0xf4, 0xa3, 0xb1, 0x65, 0xfc, 0x37, 0x7a, 0x61, 0x4f, + 0x17, 0x94, 0x96, 0x81, 0xf7, 0xe9, 0xd1, 0x62, 0x25, 0xfb, 0x82, 0x1c, 0x7d, 0x8c, 0x8e, 0xf6, 0x78, 0x4e, 0xf9, + 0x79, 0x16, 0xe7, 0xfd, 0xed, 0x6b, 0xbc, 0x38, 0xf3, 0xac, 0x5c, 0xeb, 0xcd, 0xa7, 0xde, 0x06, 0xec, 0x2d, 0x70, + 0x3f, 0x89, 0xdd, 0x40, 0x84, 0x93, 0x60, 0x0c, 0xd3, 0xbd, 0x69, 0x44, 0x03, 0xec, 0x77, 0xed, 0xf9, 0xc0, 0x03, + 0xfd, 0xcf, 0xe6, 0xf5, 0xe0, 0xdc, 0x6e, 0x54, 0x53, 0x0a, 0x70, 0xc1, 0x64, 0x45, 0x31, 0x46, 0x82, 0x48, 0x23, + 0xbd, 0x1d, 0x1d, 0xb9, 0xa8, 0x2b, 0x9c, 0x26, 0xba, 0xe4, 0x69, 0xe2, 0x26, 0x65, 0x6b, 0x99, 0x00, 0x50, 0x96, + 0x64, 0xec, 0xd0, 0xf3, 0x7a, 0x80, 0xf4, 0x0e, 0x72, 0x42, 0x2c, 0xc7, 0x25, 0x90, 0x2d, 0x19, 0x7c, 0xfb, 0x0f, + 0xab, 0x40, 0x5e, 0x6f, 0xe8, 0xb0, 0x09, 0x69, 0xf6, 0x38, 0x3d, 0x7d, 0x71, 0x00, 0xae, 0x44, 0xa6, 0x67, 0x9a, + 0x06, 0x17, 0x7d, 0x8e, 0x3e, 0x34, 0xc2, 0x5a, 0x60, 0x2a, 0xea, 0xb4, 0xe5, 0xad, 0x52, 0x71, 0xf3, 0xe0, 0x78, + 0x0a, 0x07, 0x43, 0x33, 0x30, 0x22, 0x7f, 0xfa, 0x0f, 0x1b, 0xc6, 0x72, 0x24, 0xad, 0x6c, 0x98, 0xbf, 0xec, 0x72, + 0x2b, 0x37, 0x4b, 0x12, 0x9a, 0x86, 0x5e, 0x3d, 0x88, 0x15, 0xde, 0xa9, 0xff, 0xe7, 0x41, 0x69, 0x83, 0x38, 0x87, + 0x64, 0x01, 0x51, 0x3c, 0x47, 0x38, 0xc5, 0xa0, 0xc5, 0x6c, 0x90, 0xc3, 0x94, 0x81, 0xc0, 0x2b, 0xab, 0x37, 0x81, + 0x1b, 0x71, 0xb9, 0xec, 0xe9, 0xd4, 0x6b, 0xae, 0x9d, 0xd4, 0x26, 0xb2, 0x08, 0x57, 0xf8, 0xcd, 0x07, 0x80, 0xae, + 0x36, 0xd4, 0x51, 0x08, 0xe4, 0x08, 0x9b, 0xe7, 0x8a, 0x14, 0xdd, 0x78, 0x7c, 0x1b, 0xf6, 0x2d, 0x47, 0x88, 0xcd, + 0x8f, 0xb9, 0x6b, 0x8d, 0x06, 0x8d, 0x4c, 0x32, 0x6c, 0x5c, 0x0a, 0x76, 0x92, 0xa0, 0x87, 0x1a, 0xc7, 0x38, 0x94, + 0x15, 0x7a, 0x1e, 0x19, 0xe3, 0x88, 0xaf, 0x7c, 0xc9, 0x9a, 0x93, 0x68, 0x91, 0x8a, 0x81, 0xfd, 0x1c, 0xbe, 0xce, + 0x0b, 0x41, 0x2e, 0x8e, 0xb8, 0xe9, 0xa9, 0x21, 0xa7, 0x3e, 0x19, 0x14, 0xa8, 0x88, 0x5b, 0xaf, 0x2d, 0x68, 0x98, + 0x47, 0x01, 0x71, 0x6e, 0x16, 0x38, 0xc2, 0x29, 0x2c, 0x6a, 0xff, 0xe0, 0xe8, 0xbc, 0x75, 0xb4, 0x40, 0x90, 0xda, + 0x09, 0x67, 0x38, 0x99, 0xd1, 0x11, 0x32, 0xc3, 0xe5, 0xf1, 0x71, 0x53, 0xd3, 0x5a, 0x53, 0xa7, 0x95, 0x22, 0xc9, + 0x0c, 0x69, 0x26, 0xb0, 0xc4, 0x0f, 0xdb, 0xde, 0x5c, 0xa4, 0x62, 0x45, 0xe0, 0x2d, 0x66, 0xfc, 0x5c, 0xd8, 0x81, + 0xe2, 0xd5, 0x84, 0x0e, 0x6c, 0xaa, 0xfc, 0xdc, 0xe6, 0xa6, 0x27, 0xfc, 0xc2, 0x61, 0xfa, 0x75, 0x26, 0xfa, 0x59, + 0x98, 0xa3, 0xd5, 0x41, 0x2f, 0x5c, 0x21, 0xe3, 0xc4, 0x33, 0x64, 0xd9, 0x94, 0x43, 0xf7, 0x1a, 0x25, 0x8a, 0xa4, + 0x01, 0x39, 0xda, 0x43, 0x4e, 0x2e, 0xf3, 0xa4, 0xd5, 0x34, 0x2a, 0xbb, 0x24, 0xe1, 0x2d, 0x7e, 0xe4, 0x31, 0xa1, + 0x44, 0xf9, 0x3c, 0xcd, 0x33, 0x92, 0xac, 0x71, 0xb7, 0xa3, 0xe0, 0x1a, 0xbd, 0xb5, 0xba, 0xac, 0xd5, 0xb0, 0x9f, + 0xc8, 0xbf, 0x52, 0x47, 0x6f, 0x52, 0x3c, 0x18, 0x04, 0x19, 0x86, 0xab, 0x96, 0xdd, 0x43, 0x8b, 0x1e, 0xfb, 0xa2, + 0xfa, 0x77, 0x83, 0x60, 0xe2, 0x49, 0x21, 0x84, 0x96, 0x91, 0x03, 0xfd, 0x37, 0x55, 0xaa, 0x25, 0x12, 0xde, 0x3b, + 0x9f, 0xb3, 0x77, 0x13, 0xa4, 0x04, 0xb3, 0x4d, 0x95, 0x7b, 0x20, 0x5c, 0x87, 0x80, 0xd7, 0x0d, 0x77, 0xa8, 0x77, + 0x91, 0x5b, 0x11, 0x74, 0x29, 0x05, 0x88, 0x88, 0x00, 0x8c, 0x5e, 0x0c, 0x34, 0x1c, 0xa6, 0x19, 0xac, 0x44, 0x82, + 0x7f, 0x95, 0x85, 0x21, 0xb5, 0xec, 0x28, 0x07, 0xc0, 0x66, 0xb3, 0x11, 0x8c, 0xbe, 0x60, 0x05, 0x7c, 0x36, 0x89, + 0xff, 0xc6, 0xa9, 0x6a, 0xa6, 0x75, 0x23, 0xe5, 0xdd, 0xb8, 0xb1, 0x76, 0x81, 0x18, 0xa6, 0xa5, 0x75, 0x3b, 0x21, + 0x09, 0x28, 0x0d, 0x0b, 0x9f, 0x3c, 0xbf, 0x3d, 0x46, 0xd7, 0xdf, 0x1f, 0x3e, 0x30, 0x49, 0x14, 0x19, 0x55, 0x32, + 0x30, 0x4d, 0x84, 0x8c, 0x6f, 0x11, 0x3a, 0x1e, 0x8e, 0xa6, 0x45, 0x7e, 0xea, 0x75, 0x6c, 0x37, 0x50, 0x8f, 0x2f, + 0xbf, 0xb6, 0xdc, 0x39, 0xd1, 0xda, 0xe9, 0xb8, 0x3f, 0x04, 0x9a, 0x9c, 0x88, 0xaa, 0xb2, 0x18, 0x25, 0xfb, 0x87, + 0x81, 0x6d, 0x24, 0x39, 0xf5, 0x54, 0x18, 0x77, 0x6f, 0x73, 0x4f, 0x87, 0x89, 0x8b, 0x23, 0xff, 0xcb, 0x1f, 0xc1, + 0xb5, 0x52, 0xbc, 0xf2, 0x1d, 0xd8, 0x72, 0x09, 0x57, 0x0e, 0x56, 0x0d, 0x02, 0xa2, 0x94, 0x00, 0x72, 0x1d, 0x1f, + 0x1d, 0xe3, 0x24, 0x79, 0xd7, 0x33, 0xd6, 0xd4, 0x6c, 0x49, 0x69, 0xe6, 0x63, 0x5f, 0x53, 0x69, 0x1e, 0xe7, 0x9a, + 0x60, 0x96, 0x64, 0xd9, 0x49, 0x56, 0x80, 0xd7, 0x74, 0x0d, 0xf3, 0x55, 0x85, 0x40, 0x30, 0xdf, 0x55, 0x99, 0x8b, + 0x53, 0x85, 0xb8, 0x1d, 0x09, 0x6d, 0xaa, 0x45, 0x78, 0xe1, 0xc0, 0x38, 0x9c, 0x5f, 0x33, 0x2d, 0x06, 0x06, 0x20, + 0x57, 0x52, 0x6f, 0x84, 0xf3, 0xf4, 0x20, 0x6f, 0x43, 0xf1, 0xa4, 0xc0, 0x56, 0xac, 0x78, 0xf0, 0xad, 0x97, 0x46, + 0xb3, 0xca, 0x68, 0x97, 0x5b, 0x71, 0xa6, 0xf3, 0xa4, 0xcf, 0x4e, 0x9b, 0xd2, 0xad, 0x87, 0x80, 0x0a, 0xe5, 0xf9, + 0x19, 0xcf, 0xc7, 0x2b, 0xc4, 0x39, 0xe6, 0xac, 0x09, 0xd5, 0x73, 0x61, 0xfd, 0x3a, 0x3d, 0x64, 0xff, 0x7a, 0xbc, + 0xb5, 0xce, 0x54, 0xdc, 0x3c, 0x53, 0xc8, 0x54, 0xfc, 0x15, 0xf7, 0x5e, 0x3c, 0x30, 0x5c, 0x93, 0xc7, 0x90, 0x67, + 0x2a, 0x27, 0x7c, 0x69, 0xa0, 0xe9, 0x20, 0xaa, 0xd3, 0xad, 0x10, 0x57, 0x5d, 0x18, 0xa2, 0x70, 0xf7, 0x29, 0x2f, + 0x48, 0xeb, 0xb0, 0xf7, 0x54, 0xa3, 0xc3, 0xa0, 0xa6, 0x40, 0x9d, 0x16, 0x83, 0x95, 0xb4, 0x5c, 0x50, 0x0e, 0x05, + 0x33, 0xd5, 0x06, 0x1e, 0xd8, 0x9a, 0xff, 0x7f, 0x40, 0x21, 0x7a, 0xdc, 0xf6, 0xaf, 0xfc, 0x05, 0x73, 0xc2, 0x8c, + 0x25, 0x33, 0x3c, 0xbc, 0xda, 0x19, 0x7f, 0x0a, 0xba, 0xb1, 0x6a, 0xa3, 0x8c, 0x55, 0x39, 0x51, 0x06, 0xf7, 0x93, + 0xa5, 0x98, 0x3a, 0x85, 0x0b, 0x31, 0x95, 0x97, 0x7d, 0xa4, 0x92, 0x52, 0x1c, 0x79, 0x51, 0x01, 0xc0, 0xbc, 0x0b, + 0x34, 0x65, 0xca, 0x93, 0x20, 0x09, 0x5c, 0x54, 0x01, 0xd1, 0x8c, 0x97, 0x73, 0x7a, 0xe3, 0x2b, 0x8e, 0x7b, 0xc4, + 0x49, 0x74, 0xe6, 0x10, 0xd4, 0xf5, 0xf9, 0x29, 0x23, 0x62, 0x41, 0xd8, 0x57, 0x8c, 0x43, 0xd9, 0x4e, 0x58, 0x5f, + 0xac, 0xd7, 0x77, 0xde, 0x24, 0x8a, 0xa4, 0x2b, 0xb3, 0x7c, 0xe4, 0xfb, 0x0c, 0x99, 0xad, 0x92, 0x8d, 0x38, 0x86, + 0x32, 0xce, 0x19, 0x8f, 0x62, 0x03, 0x81, 0xb3, 0xa5, 0x2f, 0xb5, 0x90, 0xe3, 0xb2, 0x34, 0x94, 0xc7, 0xc0, 0xb9, + 0x2b, 0xdb, 0x9b, 0xd7, 0xf1, 0x31, 0xe7, 0xfd, 0xb7, 0xeb, 0x4d, 0xad, 0xa8, 0x3f, 0x63, 0xd5, 0x86, 0x7d, 0x81, + 0xa2, 0x79, 0x30, 0xeb, 0x74, 0x8e, 0xf2, 0x88, 0x27, 0x9c, 0x3c, 0x8b, 0x3a, 0xd6, 0xae, 0x8f, 0x92, 0x17, 0x67, + 0xaf, 0xa3, 0xe2, 0x34, 0x88, 0x7e, 0x59, 0xcd, 0x52, 0x07, 0xd7, 0x77, 0xc8, 0x5e, 0xe6, 0x72, 0xed, 0x44, 0xa9, + 0x86, 0x06, 0xce, 0x9f, 0xe4, 0xab, 0xd8, 0x3e, 0xe1, 0x2c, 0x67, 0xa2, 0xca, 0x7e, 0x9d, 0x07, 0xa9, 0x30, 0xe7, + 0xf8, 0xe3, 0xd2, 0x86, 0xe8, 0x2b, 0x22, 0x24, 0xe6, 0xac, 0xfb, 0xce, 0xa6, 0x2c, 0x71, 0xe9, 0xc3, 0x08, 0xa1, + 0x9f, 0x18, 0xa1, 0x19, 0x47, 0x3d, 0x6f, 0xfe, 0xb7, 0x91, 0xef, 0xb3, 0x9e, 0x53, 0x74, 0xc7, 0x7b, 0xb2, 0x1a, + 0x2a, 0xdb, 0xe9, 0x67, 0xee, 0xd4, 0x9e, 0x82, 0x53, 0x7b, 0x82, 0x4a, 0x90, 0xc0, 0xcf, 0x0b, 0xcf, 0xf1, 0xa4, + 0xd9, 0x54, 0x17, 0x4f, 0xdb, 0x5f, 0x8d, 0xcf, 0x2f, 0x95, 0x8d, 0xaf, 0x38, 0xbb, 0x52, 0x68, 0x67, 0x78, 0x4b, + 0x67, 0xae, 0x0c}; // Backwards compatibility alias #define INDEX_GZ INDEX_BR diff --git a/esphome/components/web_server/server_index_v3.h b/esphome/components/web_server/server_index_v3.h index 7bf86f6e8b..bd47071dce 100644 --- a/esphome/components/web_server/server_index_v3.h +++ b/esphome/components/web_server/server_index_v3.h @@ -10,7608 +10,7679 @@ namespace esphome::web_server { #ifdef USE_WEBSERVER_GZIP const uint8_t INDEX_GZ[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0xbd, 0x69, 0x7b, 0x1b, 0x37, 0xb2, 0x30, 0xfa, - 0xf9, 0xde, 0x5f, 0x21, 0xf5, 0x71, 0x34, 0x0d, 0x11, 0x6c, 0x91, 0xd4, 0x62, 0xb9, 0x29, 0x88, 0xd7, 0xeb, 0xd8, - 0x59, 0x6c, 0xc7, 0xb2, 0x9d, 0x49, 0x18, 0x1e, 0x07, 0xec, 0x06, 0x49, 0xc4, 0x4d, 0x80, 0x69, 0x80, 0x96, 0x14, - 0x92, 0xff, 0xfd, 0x3e, 0x85, 0xa5, 0x1b, 0x4d, 0xd2, 0x9e, 0x39, 0xef, 0x5d, 0x9e, 0xf7, 0xe4, 0x8c, 0xc5, 0xc6, - 0x8e, 0x42, 0xa1, 0x50, 0x55, 0xa8, 0x2a, 0x5c, 0x1d, 0xe6, 0x32, 0xd3, 0xf7, 0x0b, 0x76, 0x30, 0xd3, 0xf3, 0xe2, - 0xfa, 0xca, 0xfd, 0xcb, 0x68, 0x7e, 0x7d, 0x55, 0x70, 0xf1, 0xf9, 0xa0, 0x64, 0x05, 0xe1, 0x99, 0x14, 0x07, 0xb3, - 0x92, 0x4d, 0x48, 0x4e, 0x35, 0x4d, 0xf9, 0x9c, 0x4e, 0xd9, 0xc1, 0xc9, 0xf5, 0xd5, 0x9c, 0x69, 0x7a, 0x90, 0xcd, - 0x68, 0xa9, 0x98, 0x26, 0x1f, 0xde, 0xbf, 0x68, 0x5f, 0x5e, 0x5f, 0xa9, 0xac, 0xe4, 0x0b, 0x7d, 0x00, 0x4d, 0x92, - 0xb9, 0xcc, 0x97, 0x05, 0xbb, 0x3e, 0x39, 0xb9, 0xbd, 0xbd, 0x4d, 0xfe, 0x54, 0xff, 0xe7, 0x17, 0x5a, 0x1e, 0xfc, - 0xb3, 0x24, 0x6f, 0xc6, 0x7f, 0xb2, 0x4c, 0x27, 0x39, 0x9b, 0x70, 0xc1, 0xde, 0x96, 0x72, 0xc1, 0x4a, 0x7d, 0xdf, - 0x87, 0xcc, 0x9f, 0x4b, 0x12, 0x73, 0xac, 0x31, 0x43, 0xe4, 0x5a, 0x1f, 0x70, 0x71, 0xc0, 0x07, 0xff, 0x2c, 0x4d, - 0xca, 0x8a, 0x89, 0xe5, 0x9c, 0x95, 0x74, 0x5c, 0xb0, 0xf4, 0xb0, 0x83, 0x33, 0x29, 0x26, 0x7c, 0xba, 0xac, 0xbe, - 0x6f, 0x4b, 0xae, 0xfd, 0xef, 0x2f, 0xb4, 0x58, 0xb2, 0x94, 0x6d, 0x50, 0xca, 0x87, 0x7a, 0x44, 0x98, 0x69, 0xf9, - 0x73, 0xdd, 0x70, 0xfc, 0xb3, 0x69, 0xf2, 0x7e, 0xc1, 0xe4, 0xe4, 0x40, 0x1f, 0x92, 0x48, 0xdd, 0xcf, 0xc7, 0xb2, - 0x88, 0x06, 0xba, 0x15, 0x45, 0x29, 0x94, 0xc1, 0x0c, 0xf5, 0x33, 0x29, 0x94, 0x3e, 0x10, 0x9c, 0xdc, 0x72, 0x91, - 0xcb, 0x5b, 0x7c, 0x2b, 0x88, 0xe0, 0xc9, 0xcd, 0x8c, 0xe6, 0xf2, 0xf6, 0x9d, 0x94, 0xfa, 0xe8, 0x28, 0x76, 0xdf, - 0xf7, 0x4f, 0x6f, 0x6e, 0x08, 0x21, 0x5f, 0x24, 0xcf, 0x0f, 0x3a, 0xeb, 0x75, 0x90, 0x9a, 0x08, 0xaa, 0xf9, 0x17, - 0x66, 0x2b, 0xa1, 0xa3, 0xa3, 0x88, 0xe6, 0x72, 0xa1, 0x59, 0x7e, 0xa3, 0xef, 0x0b, 0x76, 0x33, 0x63, 0x4c, 0xab, - 0x88, 0x8b, 0x83, 0x67, 0x32, 0x5b, 0xce, 0x99, 0xd0, 0xc9, 0xa2, 0x94, 0x5a, 0xc2, 0xc0, 0x8e, 0x8e, 0xa2, 0x92, - 0x2d, 0x0a, 0x9a, 0x31, 0xc8, 0x7f, 0x7a, 0x73, 0x53, 0xd7, 0xa8, 0x0b, 0xe1, 0xcf, 0x82, 0xdc, 0x98, 0xa1, 0xc7, - 0x08, 0xff, 0x22, 0x88, 0x60, 0xb7, 0x07, 0xbf, 0x30, 0xfa, 0xf9, 0x27, 0xba, 0xe8, 0x67, 0x05, 0x55, 0xea, 0xe0, - 0xb5, 0x5c, 0x99, 0x69, 0x94, 0xcb, 0x4c, 0xcb, 0x32, 0xd6, 0x98, 0x61, 0x81, 0x56, 0x7c, 0x12, 0xeb, 0x19, 0x57, - 0xc9, 0xa7, 0x07, 0x99, 0x52, 0xef, 0x98, 0x5a, 0x16, 0xfa, 0x01, 0x39, 0xec, 0x60, 0x71, 0x48, 0xc8, 0x67, 0x81, - 0xf4, 0xac, 0x94, 0xb7, 0x07, 0xcf, 0xcb, 0x52, 0x96, 0x71, 0xf4, 0xf4, 0xe6, 0xc6, 0x96, 0x38, 0xe0, 0xea, 0x40, - 0x48, 0x7d, 0x50, 0xb5, 0x07, 0xd0, 0x4e, 0x0e, 0x3e, 0x28, 0x76, 0xf0, 0xc7, 0x52, 0x28, 0x3a, 0x61, 0x4f, 0x6f, - 0x6e, 0xfe, 0x38, 0x90, 0xe5, 0xc1, 0x1f, 0x99, 0x52, 0x7f, 0x1c, 0x70, 0xa1, 0x34, 0xa3, 0x79, 0x12, 0xa1, 0xbe, - 0xe9, 0x2c, 0x53, 0xea, 0x3d, 0xbb, 0xd3, 0x44, 0x63, 0xf3, 0xa9, 0x09, 0xdb, 0x4c, 0x99, 0x3e, 0x50, 0xd5, 0xbc, - 0x62, 0xb4, 0x2a, 0x98, 0x3e, 0xd0, 0xc4, 0xe4, 0x4b, 0x07, 0x7f, 0x66, 0x3f, 0x75, 0x9f, 0x4f, 0xe2, 0x5b, 0x71, - 0x74, 0xa4, 0x2b, 0x40, 0xa3, 0x95, 0x5b, 0x21, 0xc2, 0x0e, 0x7d, 0xda, 0xd1, 0x11, 0x4b, 0x0a, 0x26, 0xa6, 0x7a, - 0x46, 0x08, 0xe9, 0xf6, 0xc5, 0xd1, 0x51, 0xac, 0xc9, 0x2f, 0x22, 0x99, 0x32, 0x1d, 0x33, 0x84, 0x70, 0x5d, 0xfb, - 0xe8, 0x28, 0xb6, 0x40, 0x90, 0x44, 0x1b, 0xc0, 0x35, 0x60, 0x8c, 0x12, 0x07, 0xfd, 0x9b, 0x7b, 0x91, 0xc5, 0xe1, - 0xf8, 0x11, 0x16, 0x47, 0x47, 0xbf, 0x88, 0x44, 0x41, 0x8b, 0x58, 0x23, 0xb4, 0x29, 0x99, 0x5e, 0x96, 0xe2, 0x40, - 0x6f, 0xb4, 0xbc, 0xd1, 0x25, 0x17, 0xd3, 0x18, 0xad, 0x7c, 0x5a, 0x50, 0x71, 0xb3, 0xb1, 0xc3, 0xfd, 0xad, 0x24, - 0x9c, 0x5c, 0x43, 0x8f, 0xaf, 0x65, 0xec, 0x70, 0x90, 0x13, 0x12, 0x29, 0x53, 0x37, 0x1a, 0xf0, 0x94, 0xb7, 0xa2, - 0x08, 0xdb, 0x51, 0xe2, 0xcf, 0x02, 0x61, 0xa1, 0x01, 0x75, 0x93, 0x24, 0xd1, 0x88, 0x5c, 0xaf, 0x3c, 0x58, 0x78, - 0x30, 0xd1, 0x01, 0x1f, 0x76, 0x46, 0xa9, 0x4e, 0x4a, 0x96, 0x2f, 0x33, 0x16, 0xc7, 0x02, 0x2b, 0x2c, 0x11, 0xb9, - 0x16, 0xad, 0xb8, 0x24, 0xd7, 0xb0, 0xde, 0x65, 0x73, 0xb1, 0x09, 0x39, 0xec, 0x20, 0x37, 0xc8, 0xd2, 0x8f, 0x10, - 0x40, 0xec, 0x06, 0x54, 0x12, 0x12, 0x89, 0xe5, 0x7c, 0xcc, 0xca, 0xa8, 0x2a, 0xd6, 0x6f, 0xe0, 0xc5, 0x52, 0xb1, - 0x83, 0x4c, 0xa9, 0x83, 0xc9, 0x52, 0x64, 0x9a, 0x4b, 0x71, 0x10, 0xb5, 0xca, 0x56, 0x64, 0xf1, 0xa1, 0x42, 0x87, - 0x08, 0x6d, 0x50, 0xac, 0x50, 0x8b, 0x0f, 0x65, 0xab, 0x3b, 0xc2, 0x30, 0x4a, 0xd4, 0x77, 0xed, 0x39, 0x08, 0x30, - 0xcc, 0x61, 0x92, 0x1b, 0xfc, 0xbd, 0xdd, 0xf9, 0x30, 0xc5, 0x5b, 0x31, 0xe0, 0xc9, 0xee, 0x4e, 0x21, 0x3a, 0x99, - 0xd3, 0x45, 0xcc, 0xc8, 0x35, 0x33, 0xd8, 0x45, 0x45, 0x06, 0x63, 0x6d, 0x2c, 0xdc, 0x80, 0xa5, 0x2c, 0xa9, 0x71, - 0x0a, 0xa5, 0x3a, 0x99, 0xc8, 0xf2, 0x39, 0xcd, 0x66, 0x50, 0xaf, 0xc2, 0x98, 0xdc, 0x6f, 0xb8, 0xac, 0x64, 0x54, - 0xb3, 0xe7, 0x05, 0x83, 0xaf, 0x38, 0x32, 0x35, 0x23, 0x84, 0x15, 0x6c, 0xf5, 0x82, 0xeb, 0xd7, 0x52, 0x64, 0xac, - 0xaf, 0x02, 0xfc, 0x32, 0x2b, 0xff, 0x58, 0xeb, 0x92, 0x8f, 0x97, 0x9a, 0xc5, 0x91, 0x80, 0x12, 0x11, 0x56, 0x08, - 0x8b, 0x44, 0xb3, 0x3b, 0xfd, 0x54, 0x0a, 0xcd, 0x84, 0x26, 0xcc, 0x43, 0x15, 0xf3, 0x84, 0x2e, 0x16, 0x4c, 0xe4, - 0x4f, 0x67, 0xbc, 0xc8, 0x63, 0x81, 0x36, 0x68, 0x83, 0x7f, 0x15, 0x04, 0x26, 0x49, 0xae, 0x79, 0x0a, 0xff, 0x7c, - 0x7d, 0x3a, 0xb1, 0x26, 0xd7, 0x66, 0x5b, 0x30, 0x12, 0x45, 0xfd, 0x89, 0x2c, 0x63, 0x37, 0x85, 0x03, 0x20, 0x5d, - 0xd0, 0xc7, 0xbb, 0x65, 0xc1, 0x14, 0x62, 0x2d, 0x22, 0xaa, 0x75, 0x74, 0x10, 0xfe, 0xad, 0x8c, 0x19, 0x2c, 0x00, - 0x47, 0x29, 0x37, 0x24, 0xf0, 0x47, 0xee, 0x36, 0x55, 0x5e, 0x11, 0xb5, 0xbf, 0x04, 0xc9, 0x79, 0xa2, 0xcb, 0xa5, - 0xd2, 0x2c, 0x7f, 0x7f, 0xbf, 0x60, 0x0a, 0x6b, 0x4a, 0xfe, 0x12, 0x83, 0xbf, 0x44, 0xc2, 0xe6, 0x0b, 0x7d, 0x7f, - 0x63, 0xa8, 0x79, 0x1a, 0x45, 0xf8, 0x5f, 0xa6, 0x68, 0xc9, 0x68, 0x06, 0x24, 0xcd, 0x81, 0xec, 0xad, 0x2c, 0xee, - 0x27, 0xbc, 0x28, 0x6e, 0x96, 0x8b, 0x85, 0x2c, 0x35, 0xd6, 0x82, 0xac, 0xb4, 0xac, 0xe1, 0x03, 0x2b, 0xba, 0x52, - 0xb7, 0x5c, 0x67, 0xb3, 0x58, 0xa3, 0x55, 0x46, 0x15, 0x3b, 0x78, 0x22, 0x65, 0xc1, 0xa8, 0x48, 0x39, 0xe1, 0x03, - 0x4d, 0x53, 0xb1, 0x2c, 0x8a, 0xfe, 0xb8, 0x64, 0xf4, 0x73, 0xdf, 0x64, 0xdb, 0xc3, 0x21, 0x35, 0xbf, 0x1f, 0x97, - 0x25, 0xbd, 0x87, 0x82, 0x84, 0x40, 0xb1, 0x01, 0x4f, 0xbf, 0xbf, 0x79, 0xf3, 0x3a, 0xb1, 0x7b, 0x85, 0x4f, 0xee, - 0x63, 0x5e, 0xed, 0x3f, 0xbe, 0xc1, 0x93, 0x52, 0xce, 0xb7, 0xba, 0xb6, 0xa0, 0xe3, 0xfd, 0xaf, 0x0c, 0x81, 0x11, - 0x7e, 0x68, 0x9b, 0x0e, 0x47, 0xf0, 0xda, 0x60, 0x3e, 0x64, 0x12, 0xd7, 0x2f, 0xfc, 0x93, 0xda, 0xe4, 0x98, 0xa3, - 0x6f, 0x8f, 0x56, 0x97, 0xf7, 0x2b, 0x46, 0xcc, 0x38, 0x17, 0x70, 0x30, 0xc2, 0x18, 0x33, 0xaa, 0xb3, 0xd9, 0x8a, - 0x99, 0xc6, 0x36, 0x7e, 0xc4, 0x6c, 0xb3, 0xc1, 0x7f, 0x4b, 0x8f, 0xf5, 0xfa, 0x90, 0x10, 0x6e, 0xe8, 0x15, 0xd1, - 0xeb, 0x35, 0x27, 0x84, 0x23, 0xfc, 0x8e, 0x93, 0x15, 0xf5, 0x13, 0x82, 0x93, 0x0d, 0xb6, 0x67, 0x6a, 0xa9, 0x0c, - 0x9c, 0x80, 0x5f, 0x58, 0xa9, 0x59, 0x99, 0x6a, 0x81, 0x4b, 0x36, 0x29, 0x60, 0x1c, 0x87, 0x5d, 0x3c, 0xa3, 0xea, - 0xe9, 0x8c, 0x8a, 0x29, 0xcb, 0xd3, 0xbf, 0xe5, 0x06, 0x33, 0x41, 0xa2, 0x09, 0x17, 0xb4, 0xe0, 0x7f, 0xb3, 0x3c, - 0x72, 0xe7, 0xc2, 0x47, 0x7d, 0xc0, 0xee, 0x34, 0x13, 0xb9, 0x3a, 0x78, 0xf9, 0xfe, 0xa7, 0x1f, 0xdd, 0x62, 0x36, - 0xce, 0x0a, 0xb4, 0x52, 0xcb, 0x05, 0x2b, 0x63, 0x84, 0xdd, 0x59, 0xf1, 0x9c, 0x1b, 0x3a, 0xf9, 0x13, 0x5d, 0xd8, - 0x14, 0xae, 0x3e, 0x2c, 0x72, 0xaa, 0xd9, 0x5b, 0x26, 0x72, 0x2e, 0xa6, 0xe4, 0xb0, 0x6b, 0xd3, 0x67, 0xd4, 0x65, - 0xe4, 0x55, 0xd2, 0xa7, 0x07, 0xcf, 0x0b, 0x33, 0xf7, 0xea, 0x73, 0x19, 0xa3, 0x8d, 0xd2, 0x54, 0xf3, 0xec, 0x80, - 0xe6, 0xf9, 0x2b, 0xc1, 0x35, 0x37, 0x23, 0x2c, 0x61, 0x89, 0x00, 0x57, 0x99, 0x3d, 0x35, 0xfc, 0xc8, 0x63, 0x84, - 0xe3, 0xd8, 0x9d, 0x05, 0x33, 0xe4, 0xd6, 0xec, 0xe8, 0xa8, 0xa6, 0xfc, 0x03, 0x96, 0xda, 0x4c, 0x32, 0x1c, 0xa1, - 0x64, 0xb1, 0x54, 0xb0, 0xd8, 0xbe, 0x0b, 0x38, 0x68, 0xe4, 0x58, 0xb1, 0xf2, 0x0b, 0xcb, 0x2b, 0x04, 0x51, 0x31, - 0x5a, 0x6d, 0xf5, 0xe1, 0xb6, 0x87, 0x26, 0xc3, 0x51, 0x3f, 0x24, 0xe1, 0xcc, 0x21, 0xbb, 0xe5, 0x54, 0x38, 0x53, - 0x15, 0x51, 0x89, 0xe1, 0x40, 0xad, 0x08, 0x8b, 0x22, 0x7e, 0x7e, 0x8b, 0x58, 0x00, 0x0f, 0x11, 0x52, 0x0e, 0x7f, - 0xe6, 0x3e, 0xff, 0x62, 0x0e, 0x0f, 0x85, 0x05, 0xc2, 0xda, 0x8e, 0x54, 0x21, 0xb4, 0x41, 0x58, 0xfb, 0xe1, 0x5a, - 0xa2, 0xe4, 0xf9, 0x22, 0x38, 0xb5, 0xc9, 0x3b, 0x6e, 0x8e, 0x6d, 0xa0, 0x6d, 0x54, 0xb3, 0xa3, 0xa3, 0x98, 0x25, - 0x15, 0x62, 0x90, 0xc3, 0xae, 0x5b, 0xa4, 0x00, 0x5a, 0x5f, 0x19, 0x37, 0xf4, 0x6c, 0x18, 0x9c, 0x43, 0x96, 0x08, - 0xf9, 0x38, 0xcb, 0x98, 0x52, 0xb2, 0x3c, 0x3a, 0x3a, 0x34, 0xe5, 0x2b, 0xce, 0x02, 0x16, 0xf1, 0xcd, 0xad, 0xa8, - 0x87, 0x80, 0xea, 0xd3, 0xd6, 0xf3, 0x4d, 0xa4, 0xe6, 0x9b, 0x3c, 0x13, 0x92, 0x46, 0x9f, 0x3e, 0x45, 0x2d, 0x8d, - 0x1d, 0x1c, 0xa6, 0xcc, 0x77, 0x7d, 0xff, 0x8c, 0x59, 0xb6, 0xd0, 0x30, 0x21, 0x3b, 0xa0, 0xd9, 0xcb, 0x0f, 0xc6, - 0xcd, 0x21, 0x61, 0x8d, 0x15, 0xda, 0x04, 0x2b, 0xba, 0xb7, 0x69, 0xc3, 0xdf, 0xd8, 0xa5, 0x5b, 0x4d, 0x0d, 0x4f, - 0x11, 0xac, 0xe3, 0x90, 0x8d, 0x36, 0xd8, 0xc0, 0xde, 0xcf, 0x46, 0x9a, 0x81, 0x0e, 0xf5, 0xa8, 0xef, 0xf2, 0x89, - 0xb2, 0x90, 0x2b, 0xd9, 0x5f, 0x4b, 0xa6, 0xb4, 0x45, 0xe4, 0x58, 0x63, 0x89, 0xe1, 0x8c, 0xda, 0x66, 0x3a, 0x1b, - 0x2c, 0xe9, 0xbe, 0xb1, 0xbd, 0x59, 0xc0, 0xd9, 0xa8, 0x00, 0xa9, 0xbf, 0x8d, 0x4f, 0x30, 0x56, 0x8d, 0xd6, 0xeb, - 0x77, 0xdc, 0xb7, 0x52, 0xaf, 0x65, 0xc5, 0xaf, 0x6d, 0x2d, 0x0a, 0x13, 0xc8, 0x1d, 0xce, 0x87, 0x5d, 0x37, 0x7e, - 0x31, 0x22, 0x87, 0x9d, 0x0a, 0x8b, 0x1d, 0x58, 0xed, 0x78, 0x2c, 0x14, 0xdf, 0xd8, 0xa6, 0x90, 0x39, 0xeb, 0x1b, - 0xf8, 0x92, 0xcc, 0x76, 0x70, 0x75, 0x46, 0x86, 0xc0, 0x75, 0x24, 0xb3, 0xd1, 0xd7, 0xf0, 0xc9, 0x53, 0x84, 0x58, - 0xef, 0xe6, 0xd5, 0x84, 0xe3, 0x4b, 0x93, 0x70, 0x6c, 0x4d, 0x23, 0x5a, 0x54, 0x55, 0xa2, 0x0a, 0xcd, 0xdc, 0x56, - 0xaf, 0xb3, 0xb0, 0x30, 0x83, 0xa9, 0xa7, 0x14, 0x34, 0xf1, 0x9a, 0xce, 0x99, 0x8a, 0x19, 0xc2, 0x5f, 0x2b, 0x60, - 0xf1, 0x13, 0x8a, 0x8c, 0x82, 0x33, 0x54, 0xc1, 0x19, 0x0a, 0xec, 0x2e, 0x30, 0x69, 0xcd, 0x2d, 0xa7, 0x30, 0x1b, - 0xaa, 0x51, 0xcd, 0xdb, 0x05, 0x93, 0x37, 0x87, 0xb3, 0x43, 0x70, 0x0f, 0x3f, 0x9b, 0x66, 0x81, 0x66, 0x58, 0x08, - 0x85, 0xf0, 0x61, 0x67, 0x7b, 0x25, 0x7d, 0xa9, 0x7a, 0x8e, 0xc3, 0x11, 0xac, 0x83, 0x39, 0x36, 0x12, 0xae, 0xcc, - 0xdf, 0xc6, 0x56, 0x03, 0xb0, 0xdd, 0x00, 0x66, 0x24, 0x93, 0x82, 0xea, 0xb8, 0x7b, 0xd2, 0x01, 0xc6, 0xf4, 0x0b, - 0x83, 0x53, 0x05, 0xa1, 0xdd, 0xa9, 0xb0, 0x64, 0x29, 0xd4, 0x8c, 0x4f, 0x74, 0xfc, 0xab, 0x30, 0x44, 0x85, 0x15, - 0x8a, 0x81, 0x84, 0x13, 0xb0, 0xc7, 0x86, 0xe0, 0xfc, 0x2a, 0xa0, 0x9f, 0x7e, 0x75, 0x10, 0xb9, 0x91, 0x1a, 0xc2, - 0x05, 0xe4, 0xa1, 0x66, 0xad, 0x6b, 0x32, 0x53, 0x31, 0x6e, 0xc0, 0x3d, 0x76, 0x07, 0xb6, 0xc5, 0xd4, 0x51, 0x03, - 0x11, 0x70, 0xb0, 0x22, 0x0d, 0x49, 0x84, 0x4b, 0xd4, 0x89, 0x96, 0x3f, 0xca, 0x5b, 0x56, 0x3e, 0xa5, 0x30, 0xf8, - 0xd4, 0x56, 0xdf, 0xd8, 0xa3, 0xc0, 0x50, 0x7c, 0xdd, 0xf7, 0xf8, 0xf2, 0xc9, 0x4c, 0xfc, 0x6d, 0x29, 0xe7, 0x5c, - 0x31, 0xe0, 0xdb, 0x2c, 0xfc, 0x05, 0x6c, 0x34, 0xb3, 0x23, 0xe1, 0xb8, 0x61, 0x15, 0x7e, 0x3d, 0xfe, 0xb1, 0x89, - 0x5f, 0x9f, 0x1e, 0x3c, 0x9f, 0x7a, 0x0a, 0xd8, 0xdc, 0xc7, 0x08, 0xc7, 0x4e, 0xbc, 0x08, 0x4e, 0xba, 0x64, 0x86, - 0xdc, 0x31, 0xbf, 0x5e, 0xeb, 0x40, 0x8c, 0x6b, 0x70, 0x8e, 0xcc, 0x6e, 0x1b, 0xb4, 0xa1, 0x79, 0x0e, 0x2c, 0x5e, - 0x29, 0x8b, 0x22, 0x38, 0xac, 0xb0, 0xe8, 0x57, 0xc7, 0xd3, 0xa7, 0x07, 0xcf, 0x6f, 0xbe, 0x75, 0x42, 0x41, 0x7e, - 0x78, 0x48, 0xf9, 0x81, 0x8a, 0x9c, 0x95, 0x20, 0x57, 0x06, 0xab, 0xe5, 0xce, 0xd9, 0xa7, 0x52, 0x08, 0x96, 0x69, - 0x96, 0x83, 0xd0, 0x22, 0x88, 0x4e, 0x66, 0x52, 0xe9, 0x2a, 0xb1, 0x1e, 0xbd, 0x08, 0x85, 0xd0, 0x24, 0xa3, 0x45, - 0x11, 0x5b, 0x01, 0x65, 0x2e, 0xbf, 0xb0, 0x3d, 0xa3, 0xee, 0x37, 0x86, 0x5c, 0x35, 0xc3, 0x82, 0x66, 0x58, 0xa2, - 0x16, 0x05, 0xcf, 0x58, 0x75, 0x78, 0xdd, 0x24, 0x5c, 0xe4, 0xec, 0x0e, 0xe8, 0x08, 0xba, 0xbe, 0xbe, 0xee, 0xe0, - 0x2e, 0xda, 0x58, 0x80, 0xaf, 0x76, 0x00, 0xfb, 0x8d, 0x63, 0xd3, 0x0a, 0xe2, 0xab, 0xbd, 0x64, 0x0d, 0x05, 0x67, - 0x25, 0xf7, 0x82, 0x96, 0x25, 0xcf, 0x08, 0xe7, 0xac, 0x60, 0x9a, 0x79, 0x72, 0x0e, 0xcc, 0xb4, 0xdd, 0xba, 0xef, - 0x2a, 0xf8, 0x55, 0xe8, 0xe4, 0x77, 0x99, 0x5f, 0x73, 0x55, 0x89, 0xee, 0xf5, 0xf2, 0xd4, 0xd0, 0x1e, 0x68, 0xbb, - 0x3c, 0x54, 0x6b, 0x9a, 0xcd, 0xac, 0xc4, 0x1e, 0xef, 0x4c, 0xa9, 0x6e, 0xc3, 0x91, 0xf6, 0x6a, 0x13, 0x7d, 0x5f, - 0xba, 0x61, 0xee, 0x03, 0xc1, 0x8d, 0x23, 0x0a, 0x0c, 0x84, 0x40, 0xbb, 0x6c, 0x4f, 0x69, 0x51, 0x8c, 0x69, 0xf6, - 0xb9, 0x89, 0xfd, 0x35, 0x1a, 0x90, 0x6d, 0x6a, 0x1c, 0x64, 0x05, 0x24, 0x2b, 0x9c, 0xb7, 0xa7, 0xd2, 0x8d, 0x8d, - 0x12, 0x1f, 0x76, 0x6a, 0xb4, 0x6f, 0x2e, 0xf4, 0x57, 0xb1, 0xdd, 0x8c, 0x48, 0xb8, 0x99, 0xc5, 0x40, 0x05, 0xfe, - 0x2d, 0xc6, 0x79, 0x7a, 0xe0, 0xf0, 0x0e, 0x04, 0x8f, 0xcd, 0xd6, 0x40, 0x34, 0x5a, 0x6d, 0x72, 0xae, 0xbe, 0x0e, - 0x81, 0xff, 0x57, 0x46, 0xf9, 0x2c, 0xe8, 0xe1, 0x3f, 0x1d, 0x68, 0x45, 0xe3, 0x1c, 0xe3, 0x5c, 0x8d, 0xcc, 0x31, - 0x14, 0x9e, 0xd0, 0xfc, 0x00, 0xcc, 0x8b, 0xc1, 0xf7, 0x37, 0x36, 0xcb, 0xf0, 0x65, 0x30, 0x0c, 0xd5, 0x0f, 0x19, - 0x8a, 0x06, 0x0a, 0x38, 0xa2, 0x2a, 0xcc, 0x99, 0x2b, 0x1b, 0xa2, 0xa4, 0xe3, 0xda, 0xad, 0x38, 0xee, 0x68, 0x6e, - 0x49, 0xe2, 0x38, 0x56, 0x20, 0xcd, 0x79, 0xfe, 0xbe, 0x9e, 0x85, 0xda, 0x99, 0x85, 0x4a, 0x02, 0x69, 0x0b, 0xd5, - 0xc8, 0x1c, 0x54, 0x4f, 0xb5, 0x40, 0x61, 0x29, 0x60, 0x59, 0x13, 0xa0, 0xd0, 0xa8, 0x22, 0xb8, 0x05, 0xd1, 0xb8, - 0x74, 0xa2, 0x8e, 0xc3, 0x35, 0x20, 0x19, 0x75, 0x15, 0x89, 0xec, 0xe6, 0x68, 0xc8, 0xbe, 0x12, 0x97, 0x68, 0x8b, - 0xbf, 0xdf, 0x6c, 0x1c, 0x94, 0x18, 0x72, 0xab, 0xd3, 0x60, 0x8c, 0x03, 0xb0, 0x60, 0x49, 0x1c, 0x33, 0x6c, 0x59, - 0x9f, 0x6d, 0xe0, 0x54, 0xed, 0x1e, 0x12, 0x22, 0x6b, 0xd8, 0x34, 0x98, 0x4a, 0xcf, 0x5d, 0x49, 0x84, 0xa9, 0x67, - 0x4b, 0xcb, 0x7a, 0xe2, 0x84, 0x44, 0x5e, 0x3b, 0x11, 0x0d, 0x56, 0x0d, 0xe1, 0x30, 0x0d, 0x8a, 0x6d, 0x52, 0x20, - 0xaa, 0xe5, 0x3e, 0x78, 0xef, 0xc3, 0x9a, 0x46, 0x3b, 0x01, 0xc4, 0xcb, 0x06, 0xc4, 0x03, 0xd0, 0x4a, 0x4b, 0xbc, - 0xe4, 0x88, 0xd0, 0x66, 0xe5, 0x98, 0xe1, 0xd2, 0x2e, 0xc4, 0x0e, 0x14, 0xb7, 0xd9, 0x4f, 0x83, 0x85, 0x20, 0xcb, - 0x2a, 0xe0, 0xef, 0xc2, 0x23, 0x22, 0x86, 0xc1, 0x8b, 0xf5, 0x7a, 0x07, 0xed, 0xf6, 0x72, 0xa1, 0x28, 0xa9, 0xa5, - 0xc3, 0xf5, 0xfa, 0x6f, 0x89, 0x62, 0xc7, 0xff, 0x62, 0x86, 0x06, 0x9e, 0xe8, 0x3e, 0xfe, 0x11, 0x4a, 0x19, 0x76, - 0xb4, 0x4e, 0xa9, 0x04, 0x87, 0x26, 0xd6, 0x36, 0x17, 0x4a, 0x07, 0x94, 0xfb, 0xe9, 0x0e, 0x01, 0x33, 0x89, 0xee, - 0xa4, 0xae, 0xa7, 0xfc, 0xd4, 0x35, 0x2d, 0x10, 0x42, 0xa9, 0x32, 0xb2, 0xcc, 0xe1, 0x3e, 0xf9, 0xf2, 0xe8, 0x48, - 0x05, 0x0d, 0x7d, 0xaa, 0x28, 0xc5, 0x9f, 0x31, 0x9c, 0xca, 0xea, 0x5e, 0x18, 0xf6, 0xe5, 0x4f, 0x7f, 0x0e, 0xed, - 0x48, 0xa7, 0x9d, 0x3e, 0x08, 0xe6, 0xf4, 0x96, 0x72, 0x7d, 0x50, 0xb5, 0x62, 0x05, 0xf3, 0x98, 0xa1, 0x95, 0xe3, - 0x36, 0x92, 0x92, 0x01, 0xff, 0x08, 0x64, 0xc1, 0x73, 0xd1, 0x16, 0xf1, 0xb3, 0x19, 0x03, 0x55, 0xb6, 0x67, 0x24, - 0x2a, 0xf1, 0xf0, 0xd0, 0x1d, 0x24, 0xae, 0xe1, 0xfd, 0x63, 0xdf, 0x6c, 0x57, 0x6f, 0x48, 0x03, 0x0b, 0x56, 0x4e, - 0x64, 0x39, 0xf7, 0x79, 0x9b, 0xad, 0x6f, 0x47, 0x1c, 0xf9, 0x24, 0xde, 0xdb, 0xb6, 0x13, 0x01, 0xfa, 0x5b, 0xb2, - 0x77, 0x2d, 0xb5, 0x37, 0x4e, 0xd3, 0xea, 0x00, 0xb6, 0x0a, 0x42, 0x8f, 0x99, 0x2a, 0x94, 0xf2, 0x9d, 0x7a, 0xb5, - 0x6f, 0x75, 0x27, 0x87, 0xdd, 0x7e, 0x25, 0xf9, 0x79, 0x6c, 0xe8, 0x5b, 0x1d, 0x87, 0x3b, 0x55, 0xe5, 0xb2, 0xc8, - 0xdd, 0x60, 0x05, 0xc2, 0xcc, 0xe1, 0xd1, 0x2d, 0x2f, 0x8a, 0x3a, 0xf5, 0x7f, 0x42, 0xda, 0x95, 0x23, 0xed, 0xd2, - 0x93, 0x76, 0x20, 0x15, 0x40, 0xda, 0x6d, 0x73, 0x75, 0x75, 0xb9, 0xb3, 0x3d, 0xa5, 0x25, 0xea, 0xca, 0x88, 0xd3, - 0xd0, 0xdf, 0xd2, 0x8f, 0x00, 0x55, 0xcc, 0xd7, 0xe7, 0xd8, 0xe9, 0x63, 0x40, 0x0c, 0xb4, 0x3a, 0x4d, 0x16, 0x6a, - 0x2a, 0x3e, 0xc7, 0x08, 0xab, 0x0d, 0xab, 0x30, 0xfb, 0xf1, 0x73, 0x50, 0xda, 0x05, 0xd3, 0x81, 0x73, 0xcc, 0x24, - 0xff, 0x8f, 0xf8, 0x28, 0x3f, 0x3b, 0xe1, 0x66, 0xa7, 0xfc, 0xec, 0x80, 0xd6, 0xd7, 0xb3, 0xcb, 0xbf, 0x4d, 0xed, - 0xcd, 0xf4, 0x44, 0x35, 0xbd, 0x7a, 0xbd, 0xd7, 0xeb, 0x78, 0x2b, 0x05, 0x34, 0xfa, 0x4e, 0x4a, 0x29, 0xab, 0xd6, - 0x81, 0x06, 0x84, 0x90, 0x81, 0x84, 0x8d, 0x9d, 0x74, 0x75, 0xca, 0xfd, 0xf8, 0xef, 0xf4, 0x3c, 0x46, 0x71, 0x6f, - 0xeb, 0x3f, 0x95, 0xf3, 0x05, 0x30, 0x64, 0x5b, 0x28, 0x3d, 0x65, 0xae, 0xc3, 0x3a, 0x7f, 0xb3, 0x27, 0xad, 0x51, - 0xc7, 0xec, 0xc7, 0x06, 0x36, 0x55, 0x52, 0xf3, 0x61, 0x67, 0xb3, 0xac, 0x92, 0x2a, 0xc2, 0xb1, 0x4f, 0xb7, 0xf2, - 0x74, 0x5b, 0x33, 0xe3, 0x33, 0xde, 0xc4, 0xc2, 0xd2, 0x61, 0x01, 0xb4, 0x2e, 0x20, 0x3f, 0x1e, 0xdd, 0xc3, 0xf5, - 0xdf, 0xd4, 0xc0, 0x59, 0x6d, 0xb6, 0xc0, 0xb7, 0xda, 0x6c, 0x3e, 0x6a, 0x27, 0x69, 0xe3, 0x8f, 0x7b, 0xe4, 0xde, - 0x0a, 0x7a, 0x75, 0xa6, 0x93, 0x19, 0x87, 0x23, 0x48, 0xdb, 0x61, 0x21, 0xc9, 0x6a, 0x2e, 0x73, 0x96, 0x46, 0x72, - 0xc1, 0x44, 0xb4, 0x01, 0x3d, 0xab, 0x43, 0x80, 0x7f, 0x89, 0x78, 0xf5, 0xae, 0xa9, 0x6f, 0x4d, 0x3f, 0xea, 0x0d, - 0xa8, 0xc2, 0x7e, 0xe4, 0x7b, 0x94, 0xb1, 0x1f, 0x59, 0xa9, 0x0c, 0x4f, 0x5a, 0xb1, 0xb7, 0x3f, 0xf2, 0xfa, 0x80, - 0xfa, 0x91, 0xa7, 0x5f, 0xaf, 0x52, 0x0b, 0x24, 0x51, 0x37, 0xb9, 0x48, 0x4e, 0x23, 0x64, 0x34, 0xc6, 0x2f, 0xbc, - 0xc6, 0x78, 0x59, 0x69, 0x8c, 0x5f, 0x6a, 0xb2, 0xdc, 0xd2, 0x18, 0xff, 0x20, 0xc8, 0x4b, 0x3d, 0x78, 0xe9, 0xb5, - 0xe9, 0x6f, 0x65, 0xc1, 0xb3, 0xfb, 0x38, 0x2a, 0xb8, 0x6e, 0xc3, 0x6d, 0x62, 0x84, 0x57, 0x36, 0x03, 0x54, 0x8d, - 0x46, 0xdf, 0xbd, 0xf1, 0xf2, 0x1f, 0x16, 0x82, 0x44, 0x0f, 0x0a, 0xae, 0x1f, 0x44, 0x78, 0xa6, 0xc9, 0x1f, 0xf0, - 0xeb, 0xc1, 0x2a, 0xfe, 0x89, 0xea, 0x59, 0x52, 0x52, 0x91, 0xcb, 0x79, 0x8c, 0x5a, 0x51, 0x84, 0x12, 0x65, 0x84, - 0x90, 0x47, 0x68, 0xf3, 0xe0, 0x0f, 0xfc, 0xa7, 0x24, 0xd1, 0x20, 0x6a, 0xcd, 0x34, 0x66, 0x94, 0xfc, 0x71, 0xf5, - 0x60, 0xf5, 0xa7, 0xdc, 0x5c, 0xff, 0x81, 0x9f, 0xeb, 0x4a, 0xad, 0x8f, 0xef, 0x18, 0x89, 0x11, 0xb9, 0x7e, 0xee, - 0x87, 0xf4, 0x54, 0xce, 0xad, 0x82, 0x3f, 0x42, 0xf8, 0x0b, 0xe8, 0x75, 0xaf, 0x79, 0x4d, 0x84, 0xdc, 0x1d, 0xcc, - 0x21, 0x89, 0xa4, 0x51, 0x1e, 0x44, 0x47, 0x47, 0x41, 0x5a, 0xc5, 0x42, 0xe0, 0x27, 0x92, 0x34, 0x44, 0x75, 0xcc, - 0x29, 0xb4, 0xf4, 0x44, 0xc6, 0x1c, 0xf9, 0x66, 0x62, 0xaf, 0xa9, 0x76, 0x3b, 0x96, 0x0f, 0xad, 0xee, 0x21, 0xe1, - 0x9a, 0x95, 0x54, 0xcb, 0x72, 0x84, 0x42, 0xb6, 0x04, 0xbf, 0xe6, 0xe4, 0x8f, 0xe1, 0xc1, 0xff, 0xf1, 0x7f, 0xfe, - 0x3e, 0xf9, 0xbd, 0x1c, 0xfd, 0x81, 0x05, 0x23, 0x27, 0x57, 0xf1, 0x20, 0x8d, 0x0f, 0xdb, 0xed, 0xf5, 0xef, 0x27, - 0xc3, 0xff, 0xa6, 0xed, 0xbf, 0x1f, 0xb7, 0x7f, 0x1b, 0xa1, 0x75, 0xfc, 0xfb, 0xc9, 0x60, 0xe8, 0xbe, 0x86, 0xff, - 0x7d, 0xfd, 0xbb, 0x1a, 0x1d, 0xdb, 0xc4, 0x07, 0x08, 0x9d, 0x4c, 0xf1, 0x3f, 0x05, 0x39, 0x69, 0xb7, 0xaf, 0x4f, - 0xa6, 0xf8, 0x67, 0x41, 0x4e, 0xe0, 0xef, 0xbd, 0x26, 0xef, 0xd8, 0xf4, 0xf9, 0xdd, 0x22, 0xfe, 0xe3, 0x7a, 0xfd, - 0x60, 0xf5, 0x9a, 0x6f, 0xa0, 0xdd, 0xe1, 0x7f, 0xff, 0xfe, 0xbb, 0x8a, 0xfe, 0x71, 0x4d, 0x4e, 0x46, 0x2d, 0x14, - 0x9b, 0xe4, 0x63, 0x62, 0xff, 0xc4, 0x83, 0x74, 0xf8, 0xdf, 0x6e, 0x28, 0xd1, 0x3f, 0x7e, 0xff, 0xe3, 0xea, 0x9a, - 0x8c, 0xd6, 0x71, 0xb4, 0xfe, 0x07, 0x5a, 0x23, 0xb4, 0x7e, 0x80, 0xfe, 0xc0, 0xd1, 0x34, 0x42, 0xf8, 0x37, 0x41, - 0x4e, 0xfe, 0x71, 0x32, 0xc5, 0xdf, 0x0b, 0x72, 0x12, 0x9d, 0x4c, 0xf1, 0x47, 0x49, 0x4e, 0xfe, 0x3b, 0x1e, 0xa4, - 0x56, 0x09, 0xb7, 0x36, 0xea, 0x8f, 0x35, 0xdc, 0x84, 0xd0, 0x92, 0xd1, 0xb5, 0xe6, 0xba, 0x60, 0xe8, 0xc1, 0x09, - 0xc7, 0x2f, 0x25, 0x00, 0x2b, 0xd6, 0xa0, 0xa4, 0x31, 0x97, 0xb0, 0xab, 0x4f, 0xb0, 0xf0, 0x80, 0x41, 0x0f, 0x52, - 0x8e, 0xad, 0x9e, 0x40, 0xa5, 0xda, 0xde, 0xde, 0x2a, 0xb8, 0xbe, 0xc5, 0x37, 0xe4, 0xa5, 0x8c, 0xbb, 0x08, 0x0b, - 0x0a, 0x3f, 0x7a, 0x08, 0x7f, 0xd0, 0xee, 0xc2, 0x13, 0xb6, 0xb9, 0xc5, 0x30, 0x21, 0x2d, 0x3f, 0x13, 0x21, 0xfc, - 0x7c, 0x4f, 0xa6, 0x9e, 0x81, 0xfa, 0x01, 0x61, 0xad, 0xc2, 0xeb, 0x51, 0xfc, 0x54, 0x93, 0x0a, 0x39, 0xde, 0x97, - 0x8c, 0xfd, 0x42, 0x8b, 0xcf, 0xac, 0x8c, 0x9f, 0x6b, 0xdc, 0xed, 0x3d, 0xc2, 0x46, 0x55, 0x7d, 0xd8, 0x45, 0xfd, - 0xea, 0x76, 0xeb, 0x83, 0xb4, 0xf7, 0x09, 0x70, 0x0a, 0x37, 0xf5, 0x35, 0xb0, 0xf6, 0x87, 0x7c, 0x47, 0xa9, 0x55, - 0xd2, 0xdb, 0x08, 0x35, 0xaf, 0x52, 0xb9, 0xf8, 0x42, 0x0b, 0x9e, 0x1f, 0x68, 0x36, 0x5f, 0x14, 0x54, 0xb3, 0x03, - 0x37, 0xe7, 0x03, 0x0a, 0x0d, 0x45, 0x15, 0x4f, 0xf1, 0x83, 0xa8, 0x37, 0xed, 0x0f, 0x22, 0xa9, 0xf7, 0x4e, 0x0c, - 0xf7, 0x59, 0x8e, 0x2f, 0x51, 0xb4, 0xba, 0x2e, 0xdb, 0xbe, 0x11, 0x6c, 0x77, 0x41, 0x59, 0x36, 0x32, 0xe7, 0xb7, - 0xc2, 0x70, 0xbf, 0x49, 0x48, 0x6f, 0x10, 0x5d, 0xa9, 0x2f, 0xd3, 0xeb, 0x08, 0x6e, 0x72, 0x4a, 0x22, 0x98, 0x51, - 0x1e, 0x41, 0x09, 0x4a, 0x3a, 0x7d, 0x7a, 0xc5, 0xfa, 0xb4, 0xd5, 0xf2, 0x6c, 0x76, 0x46, 0xf8, 0x90, 0xda, 0xfa, - 0x05, 0x9e, 0xe1, 0x9c, 0xb4, 0xbb, 0x78, 0x49, 0x3a, 0xa6, 0x4a, 0x7f, 0x79, 0x95, 0xb9, 0x7e, 0x8e, 0x8e, 0xe2, - 0x32, 0x29, 0xa8, 0xd2, 0xaf, 0x40, 0x23, 0x40, 0x96, 0x78, 0x46, 0xca, 0x84, 0xdd, 0xb1, 0x2c, 0xce, 0x10, 0x9e, - 0x39, 0x1a, 0x84, 0xfa, 0x68, 0x49, 0x82, 0x62, 0x20, 0x67, 0x10, 0xc1, 0x06, 0xb3, 0x61, 0x77, 0x44, 0x08, 0x89, - 0x0e, 0xdb, 0xed, 0x68, 0x50, 0x92, 0x7f, 0x8a, 0x14, 0x52, 0x02, 0x76, 0x9a, 0xfc, 0x0c, 0x49, 0xbd, 0x20, 0x29, - 0xfe, 0x28, 0x13, 0xcd, 0x94, 0x8e, 0x21, 0x19, 0x94, 0x04, 0xca, 0x63, 0x78, 0x74, 0x75, 0x12, 0xb5, 0x20, 0xd5, - 0xa0, 0x28, 0xc2, 0x25, 0xb9, 0xd7, 0x28, 0x9d, 0x0d, 0x4f, 0x47, 0xe1, 0x19, 0x61, 0x53, 0xa1, 0xff, 0x7b, 0x3d, - 0x98, 0x0d, 0x3b, 0xa6, 0xff, 0xeb, 0x68, 0x10, 0x97, 0x44, 0x59, 0x36, 0x6e, 0xa0, 0x52, 0xc1, 0xcc, 0x7c, 0x51, - 0xea, 0x06, 0xe8, 0xfa, 0xce, 0x49, 0xbb, 0x97, 0xc6, 0x79, 0x38, 0x93, 0x36, 0x74, 0xe8, 0x40, 0x81, 0x0b, 0x02, - 0xe5, 0x71, 0x49, 0xa0, 0xd3, 0xba, 0xda, 0xbd, 0x4e, 0x5d, 0xc2, 0x3f, 0xa2, 0x7f, 0x0c, 0xbe, 0x17, 0xe9, 0x6f, - 0xc2, 0x8e, 0xe0, 0x7b, 0xb1, 0x5e, 0xc3, 0xdf, 0xdf, 0xc4, 0x00, 0x86, 0x65, 0xd2, 0xfe, 0xe9, 0xd2, 0x7e, 0x86, - 0x34, 0xc1, 0x52, 0x33, 0x60, 0xac, 0x2a, 0x7e, 0xcc, 0x2e, 0xce, 0x84, 0xd8, 0x19, 0x1c, 0x1d, 0xf1, 0x21, 0x6d, - 0x75, 0x47, 0x70, 0x23, 0x50, 0x6a, 0xf5, 0x0b, 0xd7, 0xb3, 0x38, 0x3a, 0xb9, 0x8e, 0xd0, 0x20, 0x3a, 0x80, 0x55, - 0xee, 0xcb, 0x16, 0x71, 0xb0, 0xce, 0x5a, 0x8c, 0xa6, 0xf9, 0x35, 0xe9, 0x0c, 0x62, 0x61, 0x89, 0x7c, 0x81, 0x70, - 0xe6, 0x68, 0x6a, 0x07, 0xe7, 0xa8, 0x25, 0x44, 0xcb, 0x7f, 0xe7, 0xa8, 0x35, 0xd3, 0xad, 0x09, 0x4a, 0x33, 0xf8, - 0x1b, 0xe7, 0x84, 0x90, 0x76, 0xaf, 0xaa, 0xe8, 0x0f, 0x4b, 0x8a, 0xd2, 0x89, 0x57, 0x8f, 0x0e, 0xcd, 0xe6, 0x90, - 0xad, 0x98, 0x0f, 0xd9, 0x68, 0xbd, 0x8e, 0xae, 0x06, 0xd7, 0x11, 0x6a, 0xc5, 0x1e, 0xed, 0x4e, 0x3c, 0xde, 0x21, - 0x84, 0xc5, 0x68, 0xe3, 0x6e, 0xa0, 0x6e, 0x59, 0xe3, 0xb6, 0x69, 0x55, 0xef, 0xff, 0x80, 0x2c, 0xb0, 0x4d, 0x25, - 0xf7, 0x58, 0xfe, 0x76, 0x01, 0x53, 0xf5, 0xb8, 0x2d, 0x49, 0x07, 0x97, 0xc4, 0xab, 0xbb, 0x29, 0xd1, 0x35, 0xfe, - 0x67, 0xa4, 0x2e, 0x8e, 0x87, 0x05, 0x9e, 0x8d, 0x88, 0xa2, 0x46, 0x7e, 0xe9, 0x7b, 0x65, 0x3a, 0x2b, 0xc8, 0x2d, - 0xdb, 0xba, 0xff, 0x2d, 0xe0, 0x4e, 0xe6, 0xa9, 0x4e, 0xb2, 0x65, 0x59, 0x32, 0xa1, 0x5f, 0xcb, 0xdc, 0x31, 0x76, - 0xac, 0x00, 0xd9, 0x0a, 0x2e, 0x76, 0x31, 0x70, 0x75, 0x3d, 0xbf, 0x53, 0xf2, 0x9d, 0xec, 0x25, 0xc9, 0x2d, 0xc3, - 0x65, 0xae, 0x7b, 0xfb, 0x4b, 0x27, 0x4a, 0xc7, 0x08, 0xe7, 0xee, 0x1e, 0x38, 0x4e, 0x92, 0x64, 0x99, 0x64, 0x90, - 0x0d, 0x1d, 0x28, 0xb4, 0x31, 0xfb, 0x2a, 0x56, 0xe4, 0xa9, 0x4e, 0x04, 0xbb, 0x33, 0xdd, 0xc6, 0xa8, 0x3e, 0xc4, - 0xfd, 0x7e, 0xbb, 0xa2, 0x7d, 0x43, 0x80, 0x54, 0x22, 0x64, 0xce, 0x00, 0x42, 0x70, 0xf7, 0xef, 0x92, 0x66, 0x54, - 0x85, 0x37, 0x5b, 0xf5, 0x00, 0x87, 0xa1, 0xca, 0x7b, 0x09, 0x7a, 0x62, 0xc3, 0x9e, 0x55, 0x85, 0xad, 0xf2, 0x1c, - 0x21, 0x3e, 0x89, 0x97, 0x09, 0xdc, 0x08, 0x1a, 0x4c, 0x12, 0x02, 0xad, 0xd7, 0xcb, 0x10, 0xb7, 0x66, 0xb5, 0x62, - 0x7a, 0x42, 0x66, 0xc3, 0xb2, 0xd5, 0x32, 0xca, 0xeb, 0xdc, 0xe2, 0xc5, 0x12, 0xe1, 0x49, 0xb5, 0xd7, 0x7c, 0xb9, - 0x05, 0x69, 0x76, 0x15, 0x4f, 0x9a, 0x4a, 0xe0, 0x96, 0x10, 0xc8, 0xe8, 0x17, 0x35, 0xb4, 0x8e, 0xa7, 0xe4, 0x24, - 0x1e, 0x26, 0x83, 0xff, 0x6b, 0x84, 0x06, 0x71, 0x72, 0x8c, 0x4e, 0x2c, 0x2d, 0x99, 0xa0, 0x7e, 0x66, 0xfb, 0x58, - 0x99, 0xdb, 0xcf, 0x2e, 0x36, 0x0a, 0xc8, 0x54, 0x62, 0x41, 0xe7, 0x2c, 0x9d, 0xc2, 0xae, 0xf7, 0xc8, 0xb3, 0xc0, - 0x80, 0x4c, 0xe9, 0xd4, 0xd1, 0x96, 0x24, 0x1a, 0x94, 0xb4, 0xfa, 0x1a, 0x44, 0x83, 0xac, 0xfe, 0xfa, 0xbf, 0xa2, - 0x41, 0x41, 0xd3, 0xa7, 0x7c, 0xe3, 0x94, 0xe4, 0x8d, 0x3e, 0x2e, 0x7c, 0x1f, 0x1b, 0xbb, 0x38, 0x01, 0xf0, 0x72, - 0xb4, 0xab, 0x1d, 0x59, 0xa2, 0x0d, 0x9f, 0x54, 0xd4, 0x49, 0x25, 0x9a, 0x4e, 0x01, 0xaa, 0xc1, 0x22, 0xa8, 0xd0, - 0x36, 0x20, 0x98, 0x32, 0x60, 0x8b, 0x47, 0x5a, 0x80, 0xe6, 0xf2, 0xba, 0x83, 0x56, 0x8d, 0xc2, 0x8e, 0xb3, 0x6a, - 0xde, 0xc5, 0x57, 0xc4, 0x7b, 0x02, 0x54, 0xf9, 0x6a, 0xd9, 0x9f, 0xb4, 0x5a, 0x48, 0x79, 0xfc, 0xca, 0x87, 0x93, - 0x11, 0xbe, 0x03, 0x14, 0xc2, 0x0d, 0x8c, 0xc2, 0x8d, 0x39, 0xf6, 0xdc, 0x1c, 0x5b, 0x2d, 0xb9, 0x41, 0xfd, 0xa0, - 0xf2, 0xd2, 0x55, 0xde, 0x6c, 0x2c, 0x64, 0xb6, 0x31, 0xee, 0x12, 0x99, 0x14, 0x30, 0x04, 0x23, 0x84, 0xfc, 0x29, - 0xd1, 0xde, 0x66, 0xa1, 0x51, 0xa8, 0x6e, 0x76, 0x2f, 0x50, 0x54, 0x7b, 0x7a, 0xc4, 0x00, 0x0b, 0xa8, 0x5a, 0xa9, - 0x91, 0x67, 0x1a, 0xe7, 0xad, 0xae, 0x41, 0xf7, 0x76, 0xb7, 0xdf, 0x6c, 0xec, 0x61, 0xdd, 0x18, 0xce, 0x5b, 0x64, - 0x56, 0xef, 0xf0, 0x8d, 0x6c, 0xb5, 0x36, 0xcd, 0xfb, 0x52, 0xbf, 0x89, 0x1b, 0xf7, 0x17, 0xcf, 0x77, 0x4c, 0x3c, - 0xfc, 0xe9, 0x5b, 0x9f, 0xb7, 0x22, 0xe1, 0x42, 0xb0, 0x12, 0x4e, 0x58, 0xa2, 0xb1, 0xd8, 0x6c, 0xaa, 0x53, 0xff, - 0x17, 0x6d, 0x6d, 0xc6, 0x08, 0x07, 0x3a, 0x64, 0xa4, 0x36, 0x2c, 0x71, 0x89, 0xa9, 0xa1, 0x22, 0x84, 0x90, 0x0f, - 0xda, 0x9b, 0xc7, 0x68, 0x43, 0x92, 0x32, 0x12, 0x9c, 0xdd, 0xb1, 0x22, 0x2c, 0xf9, 0xf4, 0xe0, 0xa9, 0xfc, 0xa6, - 0x48, 0x37, 0x14, 0xa3, 0xd4, 0x14, 0x2b, 0x1c, 0x21, 0x2b, 0xc8, 0x17, 0x90, 0x73, 0xaa, 0x0b, 0x96, 0xc4, 0x10, - 0xc4, 0x67, 0xbc, 0x64, 0x86, 0x71, 0x7f, 0xe0, 0xe5, 0xc6, 0xac, 0xc9, 0x69, 0x66, 0xa1, 0xf6, 0x07, 0xa0, 0x59, - 0x80, 0x72, 0x48, 0x92, 0x9d, 0x62, 0x9f, 0x1e, 0x3c, 0x7e, 0xb3, 0x4f, 0x86, 0x5e, 0xaf, 0x9d, 0xf4, 0x9c, 0x01, - 0xeb, 0x83, 0x8b, 0x7a, 0xa8, 0x99, 0xfb, 0x91, 0xc6, 0x99, 0x61, 0xa2, 0x8a, 0x98, 0x03, 0x32, 0x7d, 0x7a, 0xf0, - 0xf8, 0x7d, 0xcc, 0x8d, 0x6e, 0x0a, 0xe1, 0x70, 0xde, 0x71, 0x49, 0x62, 0x4a, 0x18, 0xb2, 0x93, 0xaf, 0xe8, 0x58, - 0x19, 0x9c, 0xee, 0x29, 0x35, 0x99, 0x20, 0x76, 0x0c, 0xc5, 0x88, 0x64, 0x0e, 0x04, 0x24, 0x43, 0x38, 0x6b, 0xc8, - 0x75, 0xc4, 0xac, 0x81, 0xe9, 0xec, 0x06, 0x16, 0x23, 0xb1, 0xec, 0x21, 0xc2, 0x99, 0xe9, 0x56, 0x6f, 0xec, 0x71, - 0x22, 0xe9, 0xb6, 0xa1, 0x5b, 0x2d, 0xcf, 0x7e, 0x04, 0xc1, 0xcb, 0x7f, 0xbc, 0x76, 0x6d, 0x57, 0x09, 0xcf, 0xbc, - 0x45, 0xda, 0xa7, 0x07, 0x8f, 0x7f, 0x72, 0x46, 0x69, 0x0b, 0xea, 0xc9, 0xff, 0x8e, 0x8c, 0xfa, 0xf8, 0xa7, 0xa4, - 0xce, 0x35, 0x85, 0x3f, 0x3d, 0x78, 0xfc, 0x61, 0x5f, 0x31, 0x48, 0xdf, 0x2c, 0x6b, 0x25, 0x81, 0x19, 0xdf, 0x8a, - 0x15, 0xe9, 0xca, 0x9d, 0x15, 0xa9, 0xd8, 0x60, 0x73, 0x42, 0xa5, 0x6a, 0x53, 0xe9, 0x56, 0x9e, 0x61, 0x49, 0xcc, - 0x55, 0x52, 0x73, 0xd9, 0x1c, 0x1a, 0x73, 0x29, 0x6e, 0x32, 0xb9, 0x60, 0x5f, 0xb9, 0x5f, 0x7a, 0xae, 0x51, 0xc2, - 0xe7, 0x60, 0x88, 0x63, 0xc6, 0x2e, 0xf0, 0x61, 0x07, 0xf5, 0xb7, 0xce, 0x33, 0x69, 0x10, 0xb5, 0x6c, 0x1e, 0x36, - 0x98, 0x92, 0x0e, 0xce, 0x48, 0x07, 0x17, 0x44, 0x0d, 0x3b, 0xf6, 0xc4, 0xe8, 0x17, 0x55, 0xd3, 0xf6, 0xdc, 0x81, - 0xed, 0x5e, 0xd8, 0x7d, 0x6b, 0x0f, 0xe5, 0x59, 0xbf, 0x30, 0xfa, 0x4b, 0x73, 0xd0, 0xcf, 0x0c, 0x6a, 0xbc, 0x62, - 0x71, 0x89, 0x4b, 0xd3, 0xf2, 0x0d, 0x1f, 0x17, 0x60, 0xa7, 0x02, 0x33, 0xc3, 0x1a, 0xa5, 0x55, 0xd9, 0xae, 0x2b, - 0x5b, 0x24, 0x66, 0xad, 0x4a, 0x5c, 0x24, 0x40, 0xca, 0x71, 0xe1, 0xec, 0x7a, 0xd4, 0x6e, 0x95, 0x8b, 0xa3, 0xa3, - 0xd8, 0x56, 0x9a, 0xd1, 0xb8, 0xf4, 0xf9, 0xf5, 0x0d, 0xe0, 0x47, 0x4b, 0x35, 0x66, 0xc8, 0x4c, 0xa0, 0xd5, 0xca, - 0x46, 0x1b, 0x7a, 0x48, 0x48, 0x5c, 0x34, 0xa1, 0xe8, 0x47, 0x6f, 0x98, 0xc1, 0x2d, 0x00, 0xb4, 0x5a, 0xd5, 0x75, - 0xef, 0x16, 0xc4, 0x9e, 0x6b, 0x2c, 0x37, 0x5f, 0xe2, 0xca, 0x9a, 0xa8, 0xb3, 0x63, 0x87, 0xe5, 0x47, 0x81, 0x44, - 0x88, 0xbb, 0xc2, 0xcf, 0x27, 0xd8, 0x1a, 0x02, 0xca, 0xbd, 0x72, 0x36, 0x10, 0xd8, 0x58, 0x6d, 0xb9, 0x42, 0x9e, - 0xb4, 0xf5, 0x50, 0xea, 0x0b, 0xc1, 0x05, 0x17, 0x14, 0x6a, 0x6d, 0x1c, 0x96, 0xbf, 0x62, 0xbb, 0xe6, 0x9c, 0x58, - 0x21, 0xa7, 0x2d, 0x33, 0xc3, 0x30, 0x00, 0xeb, 0x55, 0x80, 0x79, 0x49, 0x9e, 0x7f, 0x1d, 0xf5, 0x1f, 0x07, 0xa8, - 0xff, 0x84, 0xb0, 0x60, 0x1b, 0x58, 0x5d, 0x49, 0x22, 0x9d, 0x82, 0x42, 0xf9, 0xac, 0xa7, 0x0b, 0x02, 0xda, 0xb8, - 0x26, 0x54, 0x1b, 0x57, 0x94, 0x5f, 0xa1, 0x2c, 0xe1, 0x4e, 0x31, 0xfa, 0x4c, 0xec, 0xef, 0x93, 0xe3, 0xfa, 0x82, - 0x0e, 0xba, 0xde, 0xa7, 0x1c, 0x0c, 0x49, 0xe1, 0xe3, 0x0f, 0xdf, 0xbe, 0x5b, 0x7d, 0xba, 0xd8, 0xdd, 0xc1, 0x81, - 0x59, 0x29, 0xcc, 0x3a, 0xd8, 0xc0, 0x4d, 0x23, 0x53, 0xe8, 0xbf, 0xba, 0x13, 0x6f, 0x52, 0xa1, 0xad, 0xcd, 0xe8, - 0x8f, 0x43, 0x18, 0x6d, 0xb7, 0x6b, 0x4a, 0xb0, 0xa0, 0x59, 0xa0, 0x4b, 0xd6, 0xb8, 0x95, 0x96, 0x5f, 0x21, 0x23, - 0x8f, 0x4d, 0x01, 0x26, 0xf2, 0xfd, 0xd9, 0x4f, 0x36, 0x0e, 0x4f, 0xec, 0xd0, 0xd0, 0xca, 0x10, 0x42, 0x8b, 0xf7, - 0x80, 0x39, 0xf6, 0x88, 0x00, 0x10, 0x3d, 0x37, 0x90, 0xaa, 0x41, 0x16, 0x45, 0xb5, 0x22, 0xff, 0xe5, 0x21, 0x21, - 0xcf, 0x6b, 0x45, 0xe6, 0xbb, 0xda, 0x98, 0x0b, 0x10, 0x03, 0xa5, 0x70, 0x91, 0x50, 0x25, 0xd8, 0xcb, 0xd0, 0x0f, - 0xda, 0x97, 0x37, 0xd2, 0x66, 0x52, 0x73, 0xe3, 0xc1, 0x4d, 0xa9, 0x51, 0xf1, 0xd9, 0x7c, 0x0f, 0x89, 0xad, 0xdc, - 0x07, 0x90, 0xcb, 0xa9, 0x19, 0x24, 0x7c, 0xbf, 0x37, 0xa5, 0x7d, 0xbb, 0x9b, 0xcf, 0xdb, 0x16, 0x31, 0x5b, 0xeb, - 0x92, 0x70, 0xa1, 0x58, 0xa9, 0x9f, 0xb0, 0x89, 0x2c, 0xe1, 0xfe, 0xa3, 0x02, 0x0b, 0xda, 0x3c, 0x08, 0x74, 0x80, - 0x66, 0x82, 0xc1, 0xa5, 0xc3, 0xd6, 0x0c, 0xcd, 0xaf, 0xcf, 0xe6, 0x0e, 0xfc, 0xd3, 0x76, 0xad, 0xe7, 0x47, 0x47, - 0x5f, 0x58, 0x0d, 0x28, 0x37, 0x4c, 0x33, 0x8c, 0x80, 0x78, 0x59, 0x2e, 0xc7, 0xdd, 0x0c, 0x3f, 0x88, 0x6b, 0x95, - 0x81, 0x27, 0x1c, 0x21, 0x11, 0x7a, 0x49, 0xf4, 0x66, 0xba, 0x4d, 0xef, 0x9d, 0x36, 0x43, 0x84, 0x62, 0x0d, 0x90, - 0x7b, 0x90, 0xcb, 0xad, 0x92, 0x49, 0xd5, 0xb6, 0xb6, 0xd5, 0x20, 0x9e, 0x02, 0xb8, 0x62, 0x23, 0xa4, 0x04, 0x68, - 0xb8, 0x5f, 0x68, 0xf9, 0x20, 0x81, 0xfd, 0xc7, 0x2a, 0x01, 0x91, 0x16, 0x35, 0x36, 0x2e, 0x42, 0xd8, 0x9a, 0xfa, - 0x04, 0xc6, 0x09, 0x8f, 0x5f, 0xee, 0xd3, 0x50, 0x7b, 0xd4, 0x66, 0xe6, 0x0c, 0x82, 0x12, 0x12, 0x55, 0x15, 0x92, - 0x2f, 0xb1, 0x70, 0xdc, 0x9c, 0xbf, 0x87, 0x03, 0x52, 0x2c, 0x69, 0x6c, 0xef, 0xb6, 0xe0, 0xf8, 0x28, 0x93, 0x65, - 0xdc, 0xe8, 0xba, 0x5f, 0x9a, 0x6a, 0xd8, 0x81, 0x8e, 0x86, 0x70, 0x2a, 0xcd, 0x3d, 0xe1, 0xd3, 0x9a, 0xa4, 0x6a, - 0x67, 0x01, 0xe5, 0x89, 0x61, 0x6d, 0x9a, 0x12, 0xcc, 0x5f, 0x3b, 0xf3, 0xb5, 0xea, 0x98, 0x60, 0x66, 0x18, 0xb7, - 0x76, 0x15, 0xd8, 0x06, 0x70, 0x6c, 0xf5, 0x44, 0x06, 0x8b, 0xea, 0x95, 0xe2, 0xa6, 0xd3, 0x80, 0x09, 0x78, 0x07, - 0xd6, 0x33, 0xdb, 0x5b, 0xff, 0xa5, 0x39, 0x18, 0x05, 0x56, 0x0d, 0x02, 0x2f, 0x0d, 0x81, 0x47, 0xc0, 0xb8, 0x79, - 0xd3, 0xf2, 0x81, 0x33, 0xa2, 0x11, 0xfe, 0xc4, 0x73, 0x78, 0x66, 0x59, 0xee, 0x9d, 0x8f, 0xad, 0x15, 0x49, 0x05, - 0x01, 0xdb, 0x22, 0xec, 0x88, 0xbc, 0x44, 0x58, 0xb5, 0x5a, 0x7d, 0x75, 0xc5, 0x6a, 0xad, 0x4a, 0x3d, 0x4c, 0x01, - 0xb7, 0xc4, 0x80, 0xf7, 0x8d, 0x13, 0x15, 0x0c, 0x09, 0xbc, 0xf5, 0xb7, 0x02, 0xf5, 0xfd, 0xe3, 0x77, 0x71, 0x48, - 0xdf, 0xc2, 0xb2, 0xd5, 0x45, 0x2c, 0x4c, 0x29, 0xae, 0xef, 0x70, 0xde, 0x7e, 0xdb, 0x6c, 0x04, 0xc6, 0x7d, 0xd8, - 0xc5, 0x60, 0xe3, 0x86, 0xfa, 0xda, 0x92, 0x86, 0x6a, 0x13, 0xf6, 0x51, 0x6d, 0xef, 0x18, 0x76, 0xd6, 0xd7, 0xb5, - 0xb4, 0xab, 0x89, 0xda, 0x6c, 0x14, 0xab, 0x8d, 0x06, 0xb6, 0x0c, 0x3b, 0xcd, 0x31, 0xb3, 0xab, 0xc0, 0x7f, 0xba, - 0x20, 0x1a, 0x07, 0xc8, 0xfa, 0xf6, 0x6b, 0xd7, 0x29, 0xf5, 0x30, 0x61, 0x7b, 0xbb, 0xf3, 0xf1, 0x29, 0xdf, 0x77, - 0x3e, 0x62, 0xe9, 0xb6, 0xbe, 0x39, 0x1b, 0xbb, 0xff, 0xc1, 0xd9, 0xe8, 0xd4, 0xf6, 0xfe, 0x78, 0x04, 0xee, 0xa4, - 0x71, 0x3c, 0x36, 0xd7, 0x94, 0x48, 0x2c, 0xdc, 0x72, 0x5c, 0xf7, 0xd6, 0x6b, 0x31, 0xec, 0x80, 0xda, 0x29, 0x8a, - 0xe0, 0x67, 0xd7, 0xfe, 0x0c, 0x48, 0xb2, 0xd5, 0x21, 0xc7, 0xa2, 0x12, 0x65, 0x50, 0x02, 0x06, 0xd4, 0xb1, 0xb1, - 0xf5, 0x32, 0x88, 0xed, 0x70, 0xc8, 0x61, 0x39, 0x11, 0xd5, 0xd5, 0x15, 0x8c, 0xd8, 0x1c, 0x1b, 0x4e, 0xc0, 0x8c, - 0xf7, 0x5a, 0x15, 0x7a, 0xf1, 0xf3, 0xdf, 0x33, 0xa7, 0x8d, 0x23, 0xc6, 0x72, 0x12, 0x0d, 0x2b, 0x06, 0x37, 0x02, - 0xc7, 0x30, 0x1e, 0x1a, 0x09, 0xb5, 0x3e, 0xd5, 0x51, 0xe3, 0x48, 0xc2, 0x1d, 0x50, 0xbb, 0x1d, 0x9a, 0x73, 0x69, - 0xbd, 0xde, 0x7b, 0xb0, 0xe0, 0x32, 0xc0, 0xed, 0x97, 0x44, 0x37, 0x48, 0x0a, 0x25, 0x4e, 0x82, 0xc2, 0x85, 0x41, - 0x55, 0x4d, 0xe4, 0xb0, 0x33, 0x02, 0x9e, 0xb4, 0x9f, 0x5d, 0xc9, 0x5a, 0x48, 0xce, 0x5a, 0x2d, 0x54, 0x54, 0x1d, - 0xd3, 0xa1, 0x68, 0x65, 0x23, 0xcc, 0x70, 0x66, 0x05, 0x16, 0x38, 0xbd, 0xe2, 0xa2, 0xee, 0x7a, 0x98, 0x8d, 0x10, - 0x2e, 0xd7, 0xeb, 0xd8, 0x0e, 0xad, 0x40, 0xeb, 0x75, 0x11, 0x0e, 0xcd, 0xe4, 0x43, 0xc5, 0xe7, 0x03, 0x4d, 0x9e, - 0x9b, 0xf3, 0xf0, 0x39, 0x0c, 0xb2, 0x45, 0xe2, 0xc2, 0xa9, 0x04, 0x0b, 0xd0, 0x5c, 0xb5, 0xe4, 0x30, 0x6b, 0x75, - 0x47, 0x01, 0x0d, 0x1b, 0x66, 0x23, 0x52, 0x6c, 0xc0, 0x72, 0x56, 0xb9, 0x03, 0xf3, 0x4f, 0x38, 0xd8, 0xfe, 0x34, - 0xe7, 0x8c, 0x6d, 0x30, 0x5c, 0x93, 0x6d, 0x95, 0x41, 0x85, 0x57, 0x6e, 0x71, 0x7d, 0xb9, 0x86, 0x81, 0x45, 0x55, - 0x08, 0xbb, 0x6b, 0xe6, 0x01, 0x08, 0xff, 0x15, 0xb6, 0x97, 0xb4, 0x32, 0xe2, 0xde, 0x42, 0x7c, 0x6f, 0xbb, 0x9d, - 0x24, 0x09, 0x2d, 0xa7, 0xe6, 0x4a, 0xc4, 0xdf, 0xf0, 0x9a, 0x3d, 0x70, 0xea, 0xc6, 0x19, 0xf4, 0x3c, 0xac, 0x3a, - 0x1b, 0x11, 0x3b, 0x7e, 0xcf, 0xec, 0x78, 0xc7, 0x15, 0x4a, 0xf7, 0xeb, 0x22, 0xec, 0x60, 0xb2, 0xff, 0xe5, 0xc1, - 0x9c, 0xb9, 0xc1, 0x58, 0x34, 0xd9, 0x82, 0xdb, 0x57, 0xe0, 0x41, 0xe9, 0x16, 0xdc, 0xbe, 0x0e, 0x5f, 0x0f, 0xad, - 0xe2, 0xab, 0x03, 0x0c, 0xc8, 0x84, 0x1d, 0x69, 0x9d, 0x10, 0x0c, 0xf3, 0x7c, 0x9b, 0x23, 0xb3, 0x64, 0x15, 0x0e, - 0x57, 0x4d, 0x62, 0xb1, 0xb5, 0x17, 0x6a, 0x26, 0x35, 0x10, 0x8c, 0x45, 0xfa, 0x1c, 0x85, 0x4a, 0x83, 0xa6, 0x71, - 0x0c, 0x60, 0x95, 0xd3, 0xd6, 0x3f, 0x3f, 0x3a, 0x02, 0xa1, 0x01, 0x58, 0xbb, 0x24, 0xa3, 0x0b, 0xbd, 0x2c, 0x81, - 0xbf, 0x52, 0xfe, 0x37, 0x24, 0x83, 0xdb, 0x89, 0x49, 0x83, 0x1f, 0x90, 0xb0, 0xa0, 0x4a, 0xf1, 0x2f, 0x36, 0xcd, - 0xfd, 0xc6, 0x25, 0xf1, 0x18, 0xad, 0x2c, 0xa7, 0x28, 0x51, 0x5f, 0x3a, 0x74, 0x6d, 0x42, 0xee, 0xf9, 0x17, 0x26, - 0xf4, 0x8f, 0x5c, 0x69, 0x26, 0x00, 0x00, 0x35, 0xe2, 0xc1, 0x94, 0x14, 0x82, 0xad, 0xdb, 0xa8, 0x45, 0xf3, 0xfc, - 0x9b, 0x55, 0x74, 0x93, 0x2d, 0x9a, 0x51, 0x91, 0x17, 0xb6, 0x93, 0xd0, 0x66, 0xd2, 0xdb, 0x89, 0x56, 0x25, 0x43, - 0x8b, 0x9d, 0x9a, 0xfd, 0x30, 0xb4, 0x3e, 0x16, 0xc4, 0x9f, 0x0b, 0xfe, 0x2c, 0xfd, 0x26, 0x1f, 0x03, 0x57, 0xea, - 0x5f, 0x59, 0x85, 0x70, 0x26, 0x58, 0x07, 0xe4, 0x35, 0x69, 0x8e, 0xd3, 0xa3, 0xce, 0x6c, 0x47, 0xb9, 0x50, 0x19, - 0x85, 0x6d, 0x9d, 0x14, 0x06, 0x53, 0x2e, 0xbe, 0x2e, 0x71, 0xfd, 0xe4, 0x8f, 0x11, 0x7f, 0x74, 0x88, 0xff, 0x94, - 0x4a, 0xa3, 0x55, 0x85, 0x60, 0xc8, 0xef, 0x48, 0xa6, 0xe0, 0x2a, 0xb6, 0xe0, 0xfa, 0xa5, 0x9e, 0x17, 0x5b, 0x9e, - 0x38, 0x7d, 0xa6, 0x2a, 0xe8, 0xa8, 0xf8, 0x96, 0xe1, 0x57, 0x0c, 0xee, 0x8d, 0x5f, 0xf0, 0xa0, 0xca, 0xee, 0x7d, - 0xf1, 0x8b, 0xe0, 0xbe, 0xf8, 0x05, 0x4f, 0x77, 0x8b, 0x06, 0xf7, 0xc4, 0xbd, 0xe4, 0x32, 0xe9, 0x44, 0x9e, 0x8f, - 0xca, 0x69, 0xed, 0x5f, 0x69, 0xb7, 0x06, 0xae, 0x6d, 0xe2, 0xc0, 0x38, 0xaf, 0x29, 0x42, 0x31, 0x67, 0xce, 0x68, - 0x39, 0xfc, 0xaf, 0xad, 0x93, 0x3b, 0x79, 0xa4, 0x95, 0x42, 0xde, 0xd2, 0x52, 0x3f, 0x80, 0x0d, 0x57, 0xee, 0xf8, - 0x00, 0x52, 0x02, 0xca, 0xb6, 0xff, 0xac, 0x8b, 0x40, 0x1c, 0x57, 0xd6, 0xf9, 0x28, 0x6c, 0x9f, 0x94, 0x15, 0x57, - 0xd7, 0x14, 0x42, 0xee, 0x8c, 0x96, 0x00, 0x61, 0xea, 0x5d, 0xf3, 0x98, 0xa3, 0xc9, 0x2c, 0x5d, 0x6d, 0x2a, 0xd5, - 0x41, 0x69, 0xb9, 0x3a, 0x8e, 0x70, 0xb9, 0x31, 0x37, 0xe8, 0x7f, 0x73, 0xfc, 0x27, 0x77, 0x34, 0xf2, 0xfb, 0x8a, - 0x02, 0x7d, 0xdc, 0xef, 0x6b, 0xb3, 0x87, 0x44, 0xda, 0x39, 0x54, 0x96, 0x02, 0x80, 0xd5, 0x06, 0x5f, 0x37, 0x1e, - 0xa7, 0x9e, 0x49, 0x37, 0x9b, 0xaf, 0x1a, 0xc2, 0x62, 0x56, 0x59, 0xf0, 0x98, 0x6e, 0xf6, 0x58, 0x8e, 0x7a, 0x59, - 0x5c, 0x57, 0x7b, 0xac, 0xd1, 0x2f, 0xfa, 0x0a, 0x28, 0x6b, 0x43, 0xb4, 0xf5, 0x3a, 0x6e, 0xc2, 0x9b, 0x88, 0xe0, - 0x1a, 0x04, 0x61, 0x11, 0x18, 0x70, 0x34, 0x18, 0x6f, 0x5b, 0x27, 0x46, 0xdb, 0xf6, 0x4b, 0x9e, 0x75, 0x6f, 0x8c, - 0x23, 0x54, 0x34, 0xd8, 0xea, 0xa1, 0xe6, 0x01, 0xdb, 0xd9, 0x55, 0x1d, 0x05, 0x10, 0xca, 0xa9, 0x37, 0xce, 0xad, - 0xad, 0x68, 0xf7, 0xc0, 0x17, 0x7d, 0xc3, 0x3c, 0xd7, 0x81, 0x6e, 0x37, 0x3f, 0xb0, 0x6d, 0x7a, 0x26, 0xbf, 0x66, - 0xdb, 0xd4, 0xe0, 0x84, 0x0f, 0x3b, 0xe8, 0xdb, 0x86, 0xb0, 0xb6, 0xaf, 0xfd, 0x45, 0xfe, 0x17, 0xba, 0xeb, 0x02, - 0x7a, 0x5a, 0x30, 0x7b, 0x1a, 0xf3, 0x41, 0x6f, 0x36, 0xdf, 0x57, 0xfe, 0x0b, 0xc6, 0x56, 0xe8, 0x7b, 0xbb, 0x0b, - 0x9c, 0x58, 0x69, 0x1c, 0x82, 0xe3, 0xbf, 0x39, 0x99, 0x16, 0x72, 0x4c, 0x8b, 0xf7, 0xd0, 0x63, 0x9d, 0xfb, 0xf2, - 0x3e, 0x2f, 0xa9, 0x66, 0x8e, 0xd6, 0xd4, 0xa3, 0xf8, 0x9b, 0x07, 0xc3, 0xf8, 0x9b, 0x5b, 0xca, 0x5d, 0xb7, 0x80, - 0x57, 0x3f, 0x56, 0x4d, 0xa4, 0xdf, 0x6f, 0x3c, 0xed, 0xe0, 0x6a, 0x7f, 0x2f, 0xdb, 0x24, 0x8d, 0x57, 0x24, 0x8d, - 0xab, 0x78, 0xbb, 0xa9, 0x38, 0xfe, 0xf3, 0x2b, 0x83, 0xdd, 0x25, 0x73, 0x7f, 0x06, 0x64, 0xee, 0x4f, 0x9e, 0x7e, - 0xb3, 0x56, 0x40, 0xf1, 0x4e, 0x93, 0x53, 0x63, 0x19, 0x63, 0x47, 0xfd, 0x4e, 0x83, 0x41, 0x83, 0x26, 0xd7, 0x81, - 0xb7, 0x43, 0x7d, 0x7a, 0x79, 0xfb, 0xa3, 0x38, 0x5b, 0x2a, 0x2d, 0xe7, 0xae, 0x51, 0xe5, 0x7c, 0x9c, 0x4c, 0x26, - 0x28, 0xb0, 0xcd, 0x1d, 0x7e, 0xda, 0x74, 0x23, 0x5b, 0x7d, 0xe6, 0x22, 0x4f, 0x15, 0x76, 0x67, 0x8b, 0x4a, 0xe5, - 0x86, 0x78, 0x33, 0xe7, 0xdd, 0x3c, 0x3c, 0xe1, 0x82, 0xab, 0x19, 0x2b, 0xe3, 0x12, 0xad, 0xbe, 0xd6, 0x59, 0x09, - 0xb7, 0x39, 0xb6, 0x33, 0xbc, 0xac, 0x2c, 0x07, 0x74, 0x02, 0xad, 0x81, 0xce, 0x68, 0xce, 0xf4, 0x4c, 0xe6, 0x60, - 0xf8, 0x92, 0xe4, 0x95, 0x3b, 0xd5, 0xd1, 0xd1, 0x61, 0x1c, 0x19, 0xfd, 0x05, 0xf8, 0xa0, 0x87, 0x39, 0x68, 0xb0, - 0x02, 0xc7, 0xa0, 0xba, 0x6b, 0x86, 0x56, 0x6c, 0xdb, 0x87, 0x46, 0x27, 0x9f, 0xd9, 0x3d, 0xe6, 0x68, 0xb3, 0x49, - 0xed, 0xa8, 0xa3, 0x09, 0x67, 0x45, 0x1e, 0xe1, 0xcf, 0xec, 0x3e, 0xad, 0xdc, 0xd6, 0x8d, 0x97, 0xb5, 0x59, 0xc4, - 0x48, 0xde, 0x8a, 0x08, 0xd7, 0x9d, 0xa4, 0xab, 0x0d, 0x96, 0x25, 0x9f, 0x02, 0x8e, 0xfe, 0xc0, 0xee, 0x53, 0xd7, - 0x5e, 0xe0, 0x2a, 0x88, 0x56, 0x1e, 0xf4, 0x49, 0x90, 0x1c, 0x2e, 0x83, 0x13, 0x38, 0x86, 0xa6, 0xee, 0x88, 0x34, - 0xca, 0xd5, 0x22, 0x24, 0x42, 0x9b, 0xff, 0x74, 0x2a, 0x78, 0x12, 0x9e, 0x73, 0xba, 0x61, 0x71, 0xbb, 0x55, 0x89, - 0x41, 0x85, 0xda, 0x82, 0xe4, 0xd7, 0x98, 0xfb, 0xdd, 0xe7, 0xbc, 0x1f, 0x02, 0x9d, 0xd9, 0x84, 0xba, 0x46, 0xd3, - 0xa5, 0xf9, 0x85, 0xea, 0x3b, 0xa8, 0xb9, 0xae, 0x2b, 0x1e, 0xfc, 0x1a, 0x03, 0xe0, 0xc1, 0x5a, 0x86, 0x1a, 0x87, - 0xd0, 0x8d, 0x37, 0x53, 0x5d, 0x50, 0x12, 0xaf, 0xfc, 0x1c, 0x52, 0x1e, 0x82, 0x51, 0x6f, 0x00, 0x0d, 0x1d, 0x82, - 0x59, 0xcb, 0x43, 0x3e, 0x89, 0xc5, 0xce, 0x19, 0x2a, 0xcd, 0x19, 0x9a, 0x04, 0x20, 0xff, 0xca, 0x99, 0xc9, 0x0c, - 0x34, 0x0c, 0x6f, 0x69, 0x0e, 0x40, 0xb7, 0xba, 0x0e, 0x87, 0xc2, 0x15, 0xad, 0x9c, 0xf7, 0xec, 0xa2, 0xcb, 0xc6, - 0xb0, 0x62, 0xd3, 0x0e, 0xda, 0xa4, 0x30, 0x25, 0x66, 0x0b, 0x6c, 0xbc, 0xde, 0x87, 0x7b, 0xbb, 0xda, 0xb8, 0x4c, - 0xfc, 0xb4, 0x88, 0x87, 0x49, 0x4c, 0xd1, 0x8a, 0xc7, 0x14, 0x4b, 0xb0, 0x83, 0x2c, 0x37, 0xd5, 0xf8, 0x59, 0xb8, - 0x1c, 0x0d, 0x2b, 0xe9, 0xfd, 0x0e, 0x86, 0xc0, 0xe5, 0x6b, 0xb0, 0x0d, 0xc5, 0xbc, 0x22, 0x2c, 0xb1, 0xf1, 0xf4, - 0x0b, 0xd6, 0x6d, 0x6a, 0x17, 0xc4, 0xaf, 0xc0, 0x82, 0xc6, 0xab, 0x60, 0x16, 0xa1, 0x53, 0xb9, 0x73, 0x38, 0x74, - 0xd7, 0x84, 0xb5, 0xf1, 0x6a, 0xac, 0xc8, 0xd6, 0xd1, 0xf3, 0x6d, 0x1b, 0xcf, 0xbf, 0x96, 0xac, 0xbc, 0xbf, 0x61, - 0x60, 0x63, 0x2d, 0xc1, 0xdd, 0xb8, 0x5e, 0x86, 0xda, 0x40, 0x7e, 0x20, 0x0d, 0xeb, 0xb2, 0xc1, 0xdf, 0x8c, 0x8a, - 0xb1, 0x31, 0xf7, 0x94, 0x81, 0xb6, 0xc6, 0x6e, 0x17, 0xf6, 0x55, 0xd7, 0x4d, 0xd6, 0x37, 0xb1, 0x12, 0x6a, 0x48, - 0xbb, 0xbb, 0x05, 0x5c, 0x86, 0xfe, 0xb0, 0x43, 0x35, 0xda, 0x56, 0xdd, 0x40, 0x12, 0x5c, 0xfb, 0xc9, 0xaf, 0x4f, - 0x75, 0x9f, 0xb5, 0xee, 0xd7, 0xa7, 0xda, 0xb8, 0x2c, 0x34, 0x86, 0x44, 0xd8, 0xf5, 0x53, 0xf9, 0x4f, 0x8b, 0xcd, - 0x06, 0x6d, 0x60, 0x78, 0x4f, 0x78, 0x3f, 0x8e, 0x9f, 0x78, 0x0b, 0xc5, 0x04, 0x2e, 0x72, 0x6f, 0x0a, 0xe9, 0x09, - 0x79, 0x3d, 0x82, 0x27, 0x7c, 0x67, 0x08, 0x4f, 0x78, 0xe0, 0xf4, 0x0a, 0x52, 0xd3, 0x54, 0xb0, 0xdc, 0xd3, 0x4f, - 0x64, 0x91, 0xd0, 0xf0, 0x71, 0x6f, 0x38, 0x11, 0xfa, 0x8f, 0x14, 0xf8, 0x2f, 0x3c, 0x5e, 0x6a, 0x2d, 0x05, 0xe6, - 0x62, 0xb1, 0xd4, 0x58, 0x99, 0xd1, 0xaf, 0x26, 0x52, 0xe8, 0xf6, 0x84, 0xce, 0x79, 0x71, 0x9f, 0x2e, 0x79, 0x7b, - 0x2e, 0x85, 0x54, 0x0b, 0x9a, 0x31, 0xac, 0xee, 0x95, 0x66, 0xf3, 0xf6, 0x92, 0xe3, 0x97, 0xac, 0xf8, 0xc2, 0x34, - 0xcf, 0x28, 0x7e, 0x27, 0xc7, 0x52, 0x4b, 0xfc, 0xe6, 0xee, 0x7e, 0xca, 0x04, 0xfe, 0x30, 0x5e, 0x0a, 0xbd, 0xc4, - 0x8a, 0x0a, 0xd5, 0x56, 0xac, 0xe4, 0x93, 0x7e, 0xbb, 0xbd, 0x28, 0xf9, 0x9c, 0x96, 0xf7, 0xed, 0x4c, 0x16, 0xb2, - 0x4c, 0xff, 0xab, 0x73, 0x4a, 0x1f, 0x4d, 0xce, 0xfa, 0xba, 0xa4, 0x42, 0x71, 0x58, 0x98, 0x94, 0x16, 0xc5, 0xc1, - 0xe9, 0x79, 0x67, 0xae, 0x0e, 0xed, 0x85, 0x1f, 0x15, 0x7a, 0xf3, 0x07, 0xfe, 0x45, 0xc2, 0x28, 0x93, 0xb1, 0x16, - 0x6e, 0x90, 0xab, 0x6c, 0x59, 0x2a, 0x59, 0xa6, 0x0b, 0xc9, 0x85, 0x66, 0x65, 0x7f, 0x2c, 0xcb, 0x9c, 0x95, 0xed, - 0x92, 0xe6, 0x7c, 0xa9, 0xd2, 0xb3, 0xc5, 0x5d, 0xbf, 0xd9, 0x83, 0xcd, 0x4f, 0x85, 0x14, 0xac, 0x0f, 0xfc, 0xc6, - 0xb4, 0x94, 0x4b, 0x91, 0xbb, 0x61, 0x2c, 0x85, 0x62, 0xba, 0xbf, 0xa0, 0x39, 0xd8, 0x01, 0xa7, 0x97, 0x8b, 0xbb, - 0xbe, 0x99, 0xf5, 0x2d, 0xe3, 0xd3, 0x99, 0x4e, 0xcf, 0x3b, 0x1d, 0xfb, 0xad, 0xf8, 0xdf, 0x2c, 0xed, 0xf6, 0x92, - 0xde, 0xf9, 0xe2, 0x0e, 0x38, 0x78, 0xcd, 0xca, 0x36, 0xc0, 0x02, 0x2a, 0x75, 0x93, 0xce, 0xa3, 0xd3, 0x87, 0x90, - 0x01, 0x36, 0x0e, 0x6d, 0x33, 0x21, 0x30, 0x76, 0x4f, 0x97, 0x8b, 0x05, 0x2b, 0xc1, 0x8b, 0xbe, 0x3f, 0xa7, 0xe5, - 0x94, 0x8b, 0x76, 0x69, 0x1a, 0x6d, 0x5f, 0x2e, 0xee, 0x36, 0x30, 0x9f, 0xd4, 0x9a, 0xad, 0xba, 0x69, 0xb9, 0xaf, - 0x55, 0x30, 0x44, 0x13, 0x93, 0x26, 0x2d, 0xa7, 0x63, 0x1a, 0x77, 0x7b, 0x0f, 0xb1, 0xff, 0x5f, 0xd2, 0x43, 0x01, - 0xd8, 0xda, 0xf9, 0xb2, 0x34, 0xb7, 0xa8, 0x69, 0x57, 0xd9, 0x66, 0x67, 0xf2, 0x0b, 0x2b, 0x7d, 0xab, 0xe6, 0x63, - 0xb5, 0x33, 0xef, 0xff, 0x51, 0xa3, 0xd4, 0xb6, 0xf5, 0x4a, 0xdd, 0x00, 0x8d, 0xde, 0x6d, 0xec, 0xbf, 0x7a, 0x97, - 0xf4, 0xe1, 0xd9, 0xb9, 0x87, 0xfb, 0x64, 0x32, 0x69, 0x00, 0xdd, 0x43, 0xb7, 0xdb, 0x59, 0xdc, 0x1d, 0xf4, 0x3a, - 0x1e, 0xc6, 0x16, 0xa6, 0x17, 0x8b, 0xbb, 0x3d, 0x2b, 0x18, 0x60, 0xc5, 0x76, 0x6f, 0x07, 0xc9, 0xa9, 0x3a, 0x60, - 0x54, 0xb1, 0xcd, 0x1f, 0x78, 0x4e, 0x01, 0x37, 0x0c, 0xd2, 0x0e, 0x8d, 0x9c, 0x0a, 0x2b, 0x30, 0x5a, 0xdd, 0xf2, - 0x5c, 0xcf, 0xd2, 0x6e, 0xa7, 0xf3, 0x5d, 0x8d, 0x49, 0xfd, 0x99, 0x5d, 0xd2, 0x6e, 0xc9, 0xe6, 0x0d, 0xfc, 0x1a, - 0xd3, 0x6a, 0x17, 0xac, 0x16, 0xd2, 0x75, 0x5a, 0xb2, 0xc2, 0x44, 0xb9, 0xd9, 0xb8, 0xad, 0xb0, 0x33, 0x65, 0x2e, - 0x66, 0xac, 0xe4, 0xba, 0xdf, 0xfc, 0xaa, 0x3b, 0xde, 0x9d, 0xd3, 0xc6, 0xca, 0xc7, 0x2b, 0x5b, 0xc3, 0x5d, 0xc6, - 0x3e, 0x85, 0x8f, 0x5d, 0xac, 0xfc, 0x42, 0xcb, 0x78, 0x6b, 0xc3, 0xe0, 0xb0, 0x06, 0xda, 0x04, 0x73, 0x2e, 0xc1, - 0x54, 0x74, 0x84, 0xbf, 0x02, 0x85, 0x8c, 0x16, 0x59, 0x0c, 0x23, 0x3a, 0x68, 0x1f, 0x9c, 0x96, 0x6c, 0x8e, 0x3c, - 0x20, 0x92, 0x87, 0xe7, 0x25, 0x9b, 0x6f, 0x12, 0x53, 0x7d, 0x65, 0x50, 0x97, 0x16, 0x7c, 0x2a, 0xd2, 0x8c, 0xc1, - 0xb6, 0xda, 0x24, 0x4c, 0x68, 0xae, 0xef, 0xdb, 0xa5, 0xbc, 0x5d, 0xe5, 0x5c, 0x2d, 0x0a, 0x7a, 0x9f, 0x4e, 0x0a, - 0x76, 0xd7, 0x37, 0xa5, 0xda, 0x5c, 0xb3, 0xb9, 0x72, 0x65, 0xfb, 0x90, 0xde, 0xce, 0xad, 0x39, 0x07, 0x40, 0x4f, - 0xde, 0x6e, 0xef, 0x6b, 0xbf, 0x68, 0x6d, 0xb9, 0xd4, 0x07, 0x1d, 0xd5, 0x9f, 0x73, 0xd1, 0x76, 0x03, 0x39, 0x03, - 0x8c, 0xd8, 0x85, 0x7c, 0xd0, 0x7f, 0xc2, 0xee, 0x16, 0x54, 0xe4, 0x2c, 0x5f, 0x05, 0xd5, 0x7a, 0x50, 0x2f, 0x2c, - 0x95, 0x0a, 0x3d, 0x6b, 0x1b, 0x1b, 0xb4, 0xb8, 0x27, 0xd0, 0x57, 0x50, 0xfe, 0x51, 0x07, 0xdb, 0xff, 0x4f, 0xba, - 0x28, 0xac, 0x7c, 0x00, 0xe1, 0xa0, 0xf8, 0xe4, 0xbe, 0x0d, 0x7f, 0x57, 0xe0, 0xf3, 0xc4, 0x33, 0x5a, 0x38, 0x88, - 0xcc, 0x79, 0x9e, 0x17, 0x8d, 0x11, 0x5d, 0x07, 0x9d, 0x75, 0xd1, 0x0a, 0xe6, 0x9f, 0x76, 0x0e, 0x3a, 0x07, 0x66, - 0x2e, 0x6e, 0x1b, 0x9c, 0x9d, 0x3d, 0x3c, 0x7d, 0xc4, 0xfa, 0x05, 0x17, 0xac, 0x31, 0xd5, 0x6f, 0x82, 0x3a, 0x6c, - 0xb8, 0xe7, 0x1a, 0xee, 0x1e, 0x74, 0x0f, 0xce, 0x3a, 0xdf, 0x79, 0x2a, 0x52, 0xb0, 0x89, 0xb6, 0xfb, 0xa6, 0x41, - 0x56, 0x2e, 0x7d, 0xd3, 0xb7, 0x25, 0x5d, 0xa4, 0x42, 0xc2, 0x9f, 0x3e, 0x6c, 0xfe, 0x49, 0x21, 0x6f, 0xd3, 0x19, - 0xcf, 0x73, 0x26, 0x6c, 0x81, 0x2a, 0x91, 0x15, 0x05, 0x5f, 0x28, 0x6e, 0x57, 0xc3, 0xe1, 0xee, 0xf9, 0x16, 0x54, - 0xc3, 0x01, 0x9d, 0x06, 0x03, 0x3a, 0xaf, 0x07, 0x54, 0xf7, 0x1f, 0x8e, 0xb0, 0xb7, 0x35, 0x57, 0x53, 0xaa, 0xdf, - 0xc0, 0xa4, 0x3f, 0x97, 0x4a, 0x03, 0xcc, 0xbd, 0xf1, 0x88, 0x39, 0x5d, 0xda, 0x63, 0xa6, 0x6f, 0x19, 0x13, 0x5f, - 0x1f, 0xc4, 0x75, 0x2a, 0x45, 0x71, 0x6f, 0x3f, 0x57, 0x61, 0x97, 0x74, 0xa9, 0xe5, 0x26, 0x19, 0x73, 0x41, 0xcb, - 0xfb, 0x4f, 0x8a, 0x09, 0x25, 0xcb, 0x4f, 0x72, 0x32, 0x59, 0x7d, 0x8d, 0xe4, 0x3d, 0x44, 0x9b, 0x44, 0x71, 0x31, - 0x2d, 0x98, 0x25, 0x70, 0x06, 0x11, 0xdc, 0x21, 0x63, 0xdb, 0x35, 0x4d, 0x36, 0x06, 0xbd, 0x49, 0xb2, 0x82, 0xcf, - 0xa9, 0x66, 0x06, 0xce, 0x01, 0xa9, 0x71, 0x93, 0xb7, 0x54, 0xae, 0x73, 0x60, 0xff, 0xd4, 0xa5, 0x61, 0x1b, 0x05, - 0x85, 0x7d, 0x93, 0x5c, 0x18, 0xfc, 0x30, 0xe0, 0x30, 0xbb, 0xc8, 0xac, 0x9e, 0x59, 0xbb, 0x00, 0x76, 0x30, 0xbb, - 0x46, 0x53, 0xd7, 0x8e, 0x2e, 0xd9, 0x16, 0xcf, 0x3b, 0xdf, 0x35, 0x73, 0x0b, 0x3a, 0x66, 0xc5, 0xca, 0x6e, 0x54, - 0x0f, 0x5c, 0xb7, 0x55, 0xc3, 0x65, 0x0e, 0x48, 0x86, 0x01, 0xd1, 0x28, 0x4d, 0xdb, 0xb7, 0x6c, 0xfc, 0x99, 0x6b, - 0xbb, 0x65, 0xda, 0xea, 0x16, 0x9c, 0x8a, 0xcc, 0x98, 0x16, 0xac, 0x5c, 0x79, 0x42, 0xde, 0x69, 0x10, 0xd0, 0x1b, - 0x61, 0x0e, 0x68, 0x4d, 0xc7, 0x6d, 0x08, 0xb1, 0xc6, 0xca, 0xd5, 0xbe, 0xc9, 0xcd, 0xe9, 0x9d, 0x43, 0xb1, 0x47, - 0x9d, 0xef, 0x1a, 0x87, 0xec, 0x59, 0xa7, 0xe3, 0x8f, 0x88, 0xb6, 0xad, 0x91, 0x76, 0x93, 0x73, 0x36, 0xaf, 0x12, - 0xb5, 0x5c, 0xa4, 0x8d, 0x84, 0xb1, 0xd4, 0x5a, 0xce, 0x6d, 0xda, 0x1e, 0x6a, 0xd4, 0x24, 0xbd, 0xdd, 0xde, 0xe2, - 0xee, 0xc0, 0xfc, 0xd3, 0x39, 0xe8, 0xec, 0x92, 0xda, 0x5d, 0xac, 0x38, 0x45, 0x1e, 0x8f, 0xa1, 0xe3, 0x2e, 0x9b, - 0xf7, 0x97, 0x0a, 0x8e, 0x7b, 0x03, 0x71, 0x73, 0xa2, 0x6d, 0xcc, 0x64, 0x01, 0xb0, 0x94, 0x0b, 0x38, 0x5d, 0xed, - 0x61, 0x07, 0x7d, 0x28, 0x09, 0xe6, 0xf0, 0x7b, 0x1b, 0x6d, 0x0e, 0xab, 0x73, 0x50, 0x0f, 0x0c, 0xfe, 0xd9, 0xfc, - 0x51, 0xf3, 0xe7, 0xcf, 0x58, 0x20, 0x1f, 0xf1, 0x56, 0x72, 0xbe, 0xee, 0x38, 0x99, 0x28, 0xd7, 0xb5, 0xa8, 0x66, - 0x3c, 0x4a, 0xe6, 0xf4, 0xce, 0xba, 0x96, 0xcc, 0xb9, 0x00, 0xc3, 0x35, 0x84, 0x75, 0x60, 0xe2, 0x3f, 0x0b, 0x1b, - 0xca, 0x75, 0x0c, 0x0d, 0x1f, 0xf7, 0x92, 0xf3, 0x73, 0x84, 0x3b, 0xb8, 0x77, 0x7e, 0x1e, 0xc8, 0x64, 0x13, 0xbd, - 0xaf, 0xe8, 0xbe, 0x92, 0x72, 0x4f, 0xc9, 0x13, 0xd3, 0xe8, 0x49, 0xb7, 0xd3, 0xc1, 0xc6, 0x7d, 0xbe, 0x2a, 0x2c, - 0xd4, 0x9e, 0x66, 0xbb, 0x9d, 0x0e, 0x34, 0x0b, 0x7f, 0xdc, 0xbc, 0x7e, 0x20, 0xab, 0x4e, 0xda, 0xc1, 0xdd, 0xb4, - 0x8b, 0x7b, 0x69, 0x0f, 0x9f, 0xa6, 0xa7, 0xf8, 0x2c, 0x3d, 0xc3, 0xe7, 0xe9, 0x39, 0xbe, 0x48, 0x2f, 0xf0, 0xc3, - 0xf4, 0x21, 0xbe, 0x4c, 0x2f, 0xf1, 0xa3, 0xf4, 0x11, 0x7e, 0x9c, 0x76, 0x3b, 0xf8, 0x49, 0xda, 0xed, 0xe2, 0xa7, - 0x69, 0xb7, 0x87, 0x9f, 0xa5, 0xdd, 0x53, 0xfc, 0x3c, 0xed, 0x9e, 0xe1, 0x17, 0x69, 0xf7, 0x1c, 0x53, 0xc8, 0x1d, - 0x43, 0x6e, 0x06, 0xb9, 0x39, 0xe4, 0x32, 0xc8, 0x9d, 0xa4, 0xdd, 0xf3, 0x0d, 0x56, 0x36, 0xe4, 0x46, 0xd4, 0xe9, - 0xf6, 0x4e, 0xcf, 0xce, 0x2f, 0x1e, 0x5e, 0x3e, 0x7a, 0xfc, 0xe4, 0xe9, 0xb3, 0xe7, 0x2f, 0xa2, 0x11, 0xfe, 0x64, - 0x3c, 0x5f, 0x94, 0x18, 0xf2, 0xa3, 0xee, 0xf9, 0x08, 0xdf, 0xfb, 0xcf, 0x98, 0x1f, 0xf5, 0xce, 0x3a, 0xe8, 0xfa, - 0xfa, 0x6c, 0xd4, 0xaa, 0x72, 0x9f, 0x18, 0x87, 0x9b, 0x3a, 0x8b, 0x10, 0x12, 0x43, 0x0e, 0xc2, 0x77, 0xd6, 0x81, - 0x86, 0xc5, 0x3c, 0x29, 0xd1, 0xd1, 0x91, 0xf9, 0x31, 0xf5, 0x3f, 0xc6, 0xfe, 0x07, 0x0d, 0x16, 0xe9, 0x0b, 0x8d, - 0x9d, 0xc7, 0xb5, 0xae, 0xfc, 0x1d, 0x2a, 0x53, 0xa2, 0x03, 0xee, 0x8c, 0xfa, 0xff, 0x2b, 0xb2, 0x46, 0x3b, 0xe4, - 0xcc, 0x2a, 0xc6, 0xce, 0x07, 0x8c, 0xac, 0xca, 0xb4, 0x77, 0x7e, 0x7e, 0xf4, 0xc3, 0x90, 0x0f, 0xbb, 0xa3, 0xd1, - 0x71, 0xf7, 0x21, 0x9e, 0x56, 0x09, 0x3d, 0x9b, 0x30, 0xae, 0x12, 0x4e, 0x6d, 0x02, 0x4d, 0x6d, 0x6d, 0x48, 0x3a, - 0x33, 0x49, 0x50, 0x62, 0x93, 0x9a, 0xb6, 0x1f, 0xda, 0xb6, 0x1f, 0x81, 0x35, 0x99, 0x69, 0xde, 0x35, 0x7d, 0x75, - 0x75, 0xb6, 0x76, 0x8d, 0xe2, 0x69, 0xea, 0x5a, 0xf3, 0x89, 0x67, 0xa3, 0x11, 0x1e, 0x9b, 0xc4, 0xf3, 0x3a, 0xf1, - 0x62, 0x34, 0x72, 0x5d, 0x3d, 0x32, 0x5d, 0x3d, 0xac, 0xb3, 0x2e, 0x47, 0x23, 0xd3, 0x25, 0x72, 0xb1, 0x03, 0x94, - 0x3e, 0xb8, 0xad, 0xf4, 0x37, 0xfc, 0xaa, 0x77, 0x7e, 0x3e, 0x00, 0x0c, 0x33, 0x36, 0xc1, 0x1e, 0x46, 0x9f, 0x03, - 0x18, 0xdd, 0xc1, 0xef, 0xc1, 0x27, 0x9a, 0xde, 0xd3, 0x0a, 0x48, 0x83, 0xe8, 0xbf, 0xa2, 0x96, 0x36, 0x30, 0x37, - 0x7f, 0xa6, 0xf6, 0xcf, 0x18, 0xb5, 0x6e, 0x29, 0x80, 0x1b, 0x34, 0x52, 0x5e, 0xa5, 0x6c, 0x7a, 0xbc, 0xa1, 0xe0, - 0xe2, 0x33, 0x53, 0x05, 0x1d, 0xac, 0x67, 0xb7, 0xe3, 0xf5, 0x4c, 0x7d, 0x41, 0xbf, 0xc7, 0xbf, 0xab, 0xe3, 0x78, - 0xd8, 0x6e, 0x25, 0xec, 0xf7, 0x1c, 0x7c, 0x89, 0x06, 0x69, 0xce, 0xa6, 0x68, 0x30, 0xfc, 0x5d, 0xe1, 0x51, 0x2b, - 0xc8, 0xf8, 0x6e, 0x37, 0x05, 0x3c, 0x8d, 0xb6, 0x13, 0xe3, 0xef, 0xd0, 0x00, 0x0d, 0x7e, 0x57, 0xc7, 0xbf, 0xa3, - 0x07, 0x27, 0x81, 0xd6, 0x44, 0xba, 0x2d, 0x5c, 0x87, 0x1f, 0x3a, 0xae, 0xb6, 0x30, 0xc3, 0xdd, 0x36, 0x83, 0x60, - 0x6d, 0xe0, 0x8a, 0x4e, 0x62, 0xd9, 0xe2, 0x27, 0xa7, 0x1d, 0xf4, 0x5d, 0xb7, 0x07, 0xca, 0x95, 0xb6, 0x38, 0xde, - 0xdd, 0xf4, 0x65, 0xfb, 0x14, 0x3f, 0x6a, 0x97, 0xb8, 0x8b, 0x70, 0xbb, 0xeb, 0xb5, 0xde, 0x43, 0x15, 0x77, 0x10, - 0x56, 0xf1, 0x25, 0xfc, 0x73, 0x86, 0x46, 0xf5, 0x86, 0xfc, 0x89, 0x6e, 0xf7, 0x0e, 0x7e, 0xb3, 0x24, 0x56, 0x2d, - 0x7e, 0x72, 0xd1, 0x41, 0xdf, 0x5d, 0x98, 0x8e, 0xd8, 0xb1, 0xde, 0xd3, 0x95, 0xc4, 0x67, 0x6d, 0x09, 0x1d, 0x75, - 0xaa, 0x7e, 0x44, 0x7c, 0x8e, 0xb0, 0x88, 0x4f, 0xe1, 0x9f, 0x6e, 0xd8, 0xcf, 0xd3, 0x9d, 0x7e, 0xcc, 0xbc, 0xbb, - 0x38, 0x39, 0xb7, 0x6e, 0xb8, 0xca, 0xde, 0x89, 0xb7, 0xd8, 0x75, 0xd7, 0x5c, 0xe6, 0x75, 0x4f, 0xe0, 0x03, 0x61, - 0x7d, 0x4c, 0x14, 0x66, 0xc7, 0xe0, 0xbf, 0x0b, 0x66, 0x2b, 0xea, 0xea, 0xb4, 0xaf, 0x5a, 0x2d, 0x24, 0x86, 0x6a, - 0x74, 0x4c, 0xba, 0x6d, 0xdd, 0x66, 0x18, 0x7e, 0xb7, 0x48, 0x15, 0x14, 0x4e, 0xd4, 0xbd, 0xbe, 0x71, 0xbd, 0xda, - 0x9b, 0x7f, 0x8f, 0x1d, 0x84, 0x10, 0x35, 0x88, 0x75, 0x9b, 0xa1, 0x13, 0xd1, 0x8a, 0xf5, 0x15, 0x1b, 0x5c, 0xa4, - 0x1d, 0x64, 0xb0, 0x53, 0x0d, 0x62, 0xd6, 0xe6, 0x90, 0xde, 0x4b, 0x63, 0xde, 0xd6, 0xf0, 0xeb, 0x2c, 0x80, 0x96, - 0x00, 0xbc, 0xab, 0xbd, 0x91, 0xca, 0x93, 0xde, 0xf9, 0x39, 0x16, 0x84, 0x27, 0x53, 0xf3, 0x4b, 0x11, 0x9e, 0x8c, - 0xcd, 0x2f, 0x49, 0x2a, 0x78, 0xd9, 0xde, 0x71, 0x49, 0x82, 0x55, 0x35, 0x29, 0x14, 0x16, 0xb4, 0x44, 0x27, 0x3d, - 0x6f, 0x16, 0x80, 0x67, 0x7e, 0x0e, 0xa0, 0x06, 0x29, 0x8d, 0x45, 0xa8, 0x6c, 0x97, 0xb8, 0x20, 0xf4, 0x3a, 0x39, - 0x1f, 0xcc, 0x4e, 0xe2, 0x5e, 0x5b, 0xb6, 0x4b, 0x94, 0xce, 0x4e, 0x4c, 0x4d, 0x9c, 0x91, 0x37, 0xd4, 0xb6, 0x86, - 0x67, 0x70, 0x97, 0x9b, 0x91, 0xec, 0xf8, 0xa2, 0xd3, 0x4a, 0xce, 0x11, 0x1e, 0x66, 0xeb, 0x0e, 0x2e, 0xd6, 0xeb, - 0x0e, 0xa6, 0xe1, 0x32, 0x08, 0x0f, 0x90, 0x4a, 0x53, 0xb7, 0x1d, 0x9b, 0x67, 0xc0, 0x63, 0x0d, 0x76, 0x09, 0x1a, - 0xbc, 0x7d, 0x34, 0xf8, 0x21, 0xa5, 0xdc, 0x5d, 0x08, 0x22, 0x13, 0x9d, 0x70, 0x12, 0xea, 0xee, 0xde, 0x08, 0xbf, - 0xae, 0xde, 0xb2, 0x54, 0xc4, 0xbf, 0x4a, 0x6c, 0xd3, 0xea, 0x62, 0x0f, 0xe8, 0x6e, 0xb1, 0xa7, 0x74, 0xa7, 0xd8, - 0xdb, 0x3d, 0xc5, 0x7e, 0xda, 0x2d, 0xf6, 0x97, 0x0c, 0x34, 0x8d, 0xfc, 0xbb, 0xd3, 0x8b, 0x4e, 0xeb, 0x14, 0x90, - 0xf5, 0xf4, 0xa2, 0x53, 0x17, 0x7a, 0x4c, 0xeb, 0xb5, 0xd2, 0xe4, 0x86, 0x5a, 0x5f, 0x0b, 0xee, 0x9d, 0xbe, 0xcd, - 0xc2, 0x59, 0x97, 0xf3, 0xca, 0xbf, 0x7c, 0x78, 0x0e, 0xb6, 0x2c, 0xc2, 0x50, 0x3b, 0x3d, 0xbc, 0x18, 0x0d, 0x66, - 0x2c, 0x6e, 0x41, 0x2a, 0x4a, 0x27, 0xda, 0xfd, 0x42, 0xd5, 0x95, 0xf6, 0x5f, 0x12, 0x92, 0x7a, 0x23, 0x84, 0x25, - 0x69, 0xe9, 0xe1, 0xe9, 0xc8, 0x9c, 0x77, 0x25, 0xfc, 0x3e, 0x33, 0xbf, 0x2b, 0x85, 0x92, 0x73, 0xc8, 0x98, 0xdd, - 0x8e, 0xa3, 0x81, 0x20, 0x0f, 0x68, 0x6c, 0x6c, 0xec, 0x51, 0x5a, 0x65, 0xa8, 0x2f, 0x90, 0xf1, 0xb6, 0xca, 0x10, - 0xe4, 0x8d, 0x70, 0xbf, 0xf1, 0xaa, 0x4c, 0xc1, 0xde, 0x06, 0x4f, 0x53, 0xb0, 0xb5, 0xc1, 0xe3, 0x54, 0x80, 0x3f, - 0x08, 0x4d, 0x59, 0x60, 0xc5, 0xff, 0xdc, 0x69, 0xf0, 0xcc, 0xad, 0x33, 0x31, 0x58, 0xda, 0x67, 0x70, 0x52, 0xfc, - 0x25, 0x63, 0xf8, 0xdb, 0xd2, 0x08, 0x33, 0x68, 0x93, 0x21, 0xcc, 0x93, 0x92, 0x40, 0x1a, 0xe6, 0xc9, 0x94, 0x30, - 0x68, 0x92, 0x27, 0x63, 0xc2, 0x86, 0xbd, 0x00, 0x4d, 0x5e, 0x19, 0xd8, 0x01, 0x70, 0x78, 0xf3, 0x22, 0x5f, 0xdb, - 0xc6, 0xc1, 0x42, 0x00, 0x9a, 0x10, 0x04, 0x62, 0x2e, 0x0c, 0xc1, 0x6c, 0x44, 0xd9, 0x9f, 0xbd, 0x3a, 0xfc, 0x25, - 0x4f, 0xa8, 0xa1, 0xde, 0x7f, 0x00, 0x59, 0x8d, 0x1f, 0xac, 0xd8, 0x06, 0x1f, 0x3c, 0x58, 0x89, 0xcd, 0x77, 0xf0, - 0x47, 0xd9, 0x3f, 0xc0, 0x3c, 0x24, 0x14, 0x6d, 0xd0, 0x1f, 0x29, 0x14, 0xdb, 0x53, 0x0a, 0xfd, 0xe1, 0xdd, 0x01, - 0x15, 0x59, 0xdd, 0xa5, 0x51, 0x4e, 0xcb, 0xcf, 0x11, 0xfe, 0x2d, 0x8d, 0x0a, 0xe0, 0x16, 0x23, 0xfc, 0x6b, 0x1a, - 0x95, 0x2c, 0xc2, 0xff, 0x4a, 0xa3, 0x71, 0xb1, 0x8c, 0xf0, 0x2f, 0x69, 0x34, 0x2d, 0x23, 0xfc, 0x11, 0x94, 0xb5, - 0x39, 0x5f, 0xce, 0x23, 0xfc, 0x21, 0x8d, 0x94, 0xf1, 0x86, 0xc0, 0x8f, 0xd3, 0x88, 0xb1, 0x08, 0xbf, 0x4f, 0x23, - 0x59, 0x44, 0xf8, 0x26, 0x8d, 0x64, 0x19, 0xe1, 0x27, 0x69, 0x54, 0xd2, 0x08, 0x3f, 0x4d, 0x23, 0x28, 0x34, 0x8d, - 0xf0, 0xb3, 0x34, 0x82, 0x96, 0x55, 0x84, 0xdf, 0xa5, 0x11, 0x17, 0x11, 0xfe, 0x39, 0x8d, 0xf4, 0xb2, 0xfc, 0x6b, - 0x29, 0xb9, 0x8a, 0xf0, 0xf3, 0x34, 0x9a, 0xf1, 0x08, 0xbf, 0x4d, 0xa3, 0x52, 0x46, 0xf8, 0x4d, 0x1a, 0xd1, 0x22, - 0xc2, 0xaf, 0xd3, 0xa8, 0x60, 0x11, 0xfe, 0x29, 0x8d, 0x72, 0x16, 0xe1, 0x1f, 0xd3, 0xe8, 0x9e, 0x15, 0x85, 0x8c, - 0xf0, 0x8b, 0x34, 0x62, 0x22, 0xc2, 0x3f, 0xa4, 0x51, 0x36, 0x8b, 0xf0, 0x3f, 0xd3, 0x88, 0x96, 0x9f, 0x55, 0x84, - 0x5f, 0xa6, 0x11, 0xa3, 0x11, 0x7e, 0x65, 0x3b, 0x9a, 0x46, 0xf8, 0xfb, 0x34, 0xba, 0x9d, 0x45, 0x1b, 0x2c, 0x15, - 0x59, 0xbd, 0xe1, 0x19, 0xfb, 0x17, 0x4b, 0xa3, 0x49, 0x67, 0x72, 0x39, 0x99, 0x44, 0x98, 0x0a, 0xcd, 0xff, 0x5a, - 0xb2, 0xdb, 0xe7, 0x1a, 0x12, 0x29, 0x1b, 0xe7, 0x0f, 0x23, 0x4c, 0xff, 0x5a, 0xd2, 0x34, 0x9a, 0x4c, 0x4c, 0x81, - 0xbf, 0x96, 0x74, 0x4e, 0xcb, 0x77, 0x2c, 0x8d, 0x1e, 0x4e, 0x26, 0x93, 0xfc, 0x2c, 0xc2, 0xf4, 0xef, 0xe5, 0xaf, - 0xa6, 0x05, 0x53, 0x60, 0xcc, 0xf8, 0x14, 0xea, 0x9e, 0x4f, 0xce, 0xf3, 0x2c, 0xc2, 0x63, 0xae, 0xfe, 0x5a, 0xc2, - 0xf7, 0x84, 0x9d, 0x65, 0x67, 0x11, 0x1e, 0x17, 0x34, 0xfb, 0x9c, 0x46, 0x1d, 0xf3, 0x4b, 0xfc, 0xc0, 0xf2, 0x37, - 0x73, 0x69, 0xae, 0x32, 0x26, 0x6c, 0x9c, 0xe5, 0x11, 0x36, 0x83, 0x99, 0xc0, 0xdf, 0x2f, 0xfc, 0x3d, 0xd3, 0x69, - 0x74, 0x49, 0x7b, 0x63, 0xd6, 0x8b, 0xf0, 0xf8, 0xed, 0xad, 0x48, 0x23, 0x7a, 0xde, 0xa3, 0x3d, 0x1a, 0xe1, 0xf1, - 0xb2, 0x2c, 0xee, 0x6f, 0xa5, 0xcc, 0x01, 0x08, 0xe3, 0xcb, 0xcb, 0x87, 0x11, 0xce, 0xe8, 0x4f, 0x1a, 0x6a, 0x9f, - 0x4f, 0x1e, 0x31, 0xda, 0x89, 0xf0, 0x0f, 0xb4, 0xd4, 0xbf, 0x2e, 0x95, 0x1b, 0x68, 0x07, 0x52, 0x64, 0xf6, 0x1e, - 0xd4, 0xfc, 0x51, 0xde, 0xbb, 0x78, 0xd4, 0x65, 0x11, 0xce, 0x6e, 0xde, 0x40, 0x6f, 0x0f, 0x27, 0xe7, 0x1d, 0xf8, - 0x10, 0x20, 0x97, 0xb2, 0x12, 0x1a, 0xb9, 0x38, 0x7b, 0x74, 0xce, 0x72, 0x93, 0xa8, 0x78, 0xf1, 0xd9, 0xcc, 0xfe, - 0x12, 0xe6, 0x93, 0x95, 0x7c, 0xae, 0xa4, 0x48, 0xa3, 0x3c, 0xeb, 0x9e, 0x9d, 0x42, 0xc2, 0x3d, 0x15, 0x1e, 0x38, - 0x77, 0x50, 0xf5, 0x72, 0x1c, 0xe1, 0x3b, 0x9b, 0x7a, 0x39, 0x36, 0x1f, 0xd3, 0xf7, 0x3f, 0x89, 0xb7, 0x79, 0x1a, - 0x8d, 0x2f, 0x2f, 0x2f, 0x3a, 0x90, 0xf0, 0x0b, 0xbd, 0x4f, 0x23, 0xfa, 0x08, 0xfe, 0x83, 0xec, 0x5f, 0x5f, 0x40, - 0x87, 0x30, 0xc2, 0xbb, 0xe9, 0xaf, 0x61, 0xce, 0xe7, 0x19, 0xfd, 0xcc, 0xd3, 0x68, 0x9c, 0x8f, 0x1f, 0x5e, 0x40, - 0xbd, 0x39, 0x9d, 0xbe, 0xd0, 0x14, 0xda, 0xed, 0x74, 0x4c, 0xcb, 0xef, 0xf9, 0x17, 0x66, 0xaa, 0x9f, 0x9f, 0x5f, - 0x8c, 0x7b, 0x30, 0x82, 0x1b, 0x50, 0xa8, 0xc0, 0x78, 0x2e, 0x33, 0xd3, 0xe0, 0x4d, 0xf6, 0x3c, 0x4f, 0xa3, 0x47, - 0x8f, 0x4e, 0x7b, 0x59, 0x16, 0xe1, 0xbb, 0x5f, 0x73, 0x5b, 0xdb, 0xe4, 0x29, 0x80, 0x7d, 0x1a, 0xb1, 0x47, 0x8f, - 0x2e, 0x1e, 0x52, 0xf8, 0x7e, 0x69, 0xda, 0xba, 0x9c, 0x8c, 0xb3, 0x4b, 0x68, 0xeb, 0x03, 0x4c, 0xe7, 0xec, 0xf2, - 0x34, 0x37, 0x7d, 0x7d, 0x30, 0xa3, 0xee, 0x4d, 0xce, 0x26, 0x67, 0x26, 0xd3, 0x0c, 0xb5, 0xfa, 0xfc, 0x99, 0xa5, - 0x51, 0xc6, 0xf2, 0x6e, 0x84, 0xef, 0xdc, 0xc2, 0x3d, 0x3a, 0xeb, 0x74, 0xf2, 0xd3, 0x08, 0xe7, 0x8f, 0x17, 0x8b, - 0x77, 0x06, 0x82, 0xdd, 0xb3, 0x47, 0xf6, 0x5b, 0x7d, 0xbe, 0x87, 0xa6, 0xc7, 0x06, 0x68, 0x39, 0x9f, 0x9b, 0x96, - 0x2f, 0x1e, 0xc1, 0x7f, 0xe6, 0xdb, 0x34, 0x5d, 0x7d, 0xcb, 0x7c, 0x6a, 0x17, 0xa5, 0xcb, 0x1e, 0x75, 0xa0, 0xc6, - 0x84, 0xff, 0x3a, 0x2e, 0x39, 0xa0, 0xd1, 0xb8, 0x07, 0xff, 0x17, 0xe1, 0x49, 0x71, 0xf3, 0xc6, 0xe1, 0xec, 0x64, - 0x42, 0x27, 0x9d, 0x08, 0x4f, 0xe4, 0xaf, 0x4a, 0xff, 0xf2, 0x58, 0xa4, 0x51, 0xaf, 0x77, 0x39, 0x36, 0x65, 0x96, - 0x3f, 0x28, 0x6e, 0xf0, 0xb8, 0x63, 0x5a, 0x99, 0xd2, 0x77, 0x6a, 0x7c, 0x23, 0x61, 0x25, 0xe1, 0xbf, 0x08, 0x4f, - 0x41, 0x0b, 0xe7, 0x5a, 0xb9, 0xb4, 0xdb, 0x61, 0xfa, 0xde, 0xa0, 0x66, 0xfe, 0x10, 0xe0, 0xe5, 0x97, 0x31, 0xa7, - 0xf4, 0xbc, 0xd7, 0x89, 0xb0, 0x19, 0xf5, 0x65, 0x07, 0xfe, 0x8b, 0xb0, 0x85, 0x9c, 0x81, 0xeb, 0xf4, 0xd7, 0x17, - 0x3f, 0xde, 0xa6, 0x11, 0xcd, 0x27, 0x13, 0x58, 0x12, 0x33, 0x19, 0x5f, 0x6c, 0x26, 0x05, 0xbb, 0xff, 0xe9, 0xd6, - 0x6d, 0x17, 0x93, 0xa0, 0x1d, 0x74, 0x2e, 0x1e, 0x8d, 0xcf, 0x22, 0xfc, 0x2e, 0xe7, 0x54, 0xc0, 0x2a, 0x65, 0xf9, - 0x79, 0x76, 0x9e, 0x99, 0x84, 0xa9, 0x4c, 0xa3, 0x33, 0x58, 0xf2, 0x5e, 0x84, 0xf9, 0x97, 0x9b, 0x7b, 0x8b, 0x6e, - 0x50, 0xdb, 0x21, 0xc8, 0xa4, 0xc3, 0x2e, 0x2e, 0xb3, 0x08, 0x17, 0xf4, 0xcb, 0x8b, 0x9f, 0xca, 0x34, 0x62, 0x17, - 0xec, 0x62, 0x42, 0xfd, 0xf7, 0xbf, 0xd4, 0xcc, 0xd4, 0xe8, 0x4c, 0xce, 0x21, 0xe9, 0x56, 0x98, 0xb1, 0x3e, 0xcc, - 0x26, 0x06, 0x43, 0x5e, 0xcf, 0xa5, 0xc8, 0x9e, 0x4f, 0x26, 0xd2, 0x62, 0x31, 0x85, 0x4d, 0xf8, 0x1b, 0x40, 0x9b, - 0xe6, 0xf9, 0x25, 0xbb, 0x88, 0xf0, 0x6f, 0x76, 0x97, 0xb8, 0x09, 0xfc, 0x66, 0x31, 0x9b, 0xb9, 0xdd, 0xfe, 0x9b, - 0x05, 0x0a, 0xcc, 0x77, 0x42, 0x27, 0x34, 0xef, 0x45, 0xf8, 0x37, 0x03, 0x97, 0xfc, 0x14, 0xfe, 0x83, 0x02, 0xd0, - 0xd9, 0xa3, 0x0e, 0x63, 0x8f, 0x3a, 0xe6, 0x2b, 0xcc, 0x73, 0x33, 0x1f, 0x5f, 0x64, 0xdd, 0x08, 0xff, 0xe6, 0xd0, - 0x71, 0x32, 0xa1, 0x1d, 0x40, 0xc7, 0xdf, 0x1c, 0x3a, 0xf6, 0x3a, 0xe3, 0x1e, 0x35, 0xdf, 0x16, 0x6b, 0x2e, 0x1f, - 0x66, 0x0c, 0x26, 0xf7, 0x9b, 0x45, 0xc8, 0x87, 0x0f, 0x2f, 0x2f, 0x1f, 0x3d, 0x82, 0x4f, 0xd3, 0x76, 0xf5, 0xa9, - 0xf4, 0xe3, 0xc2, 0x20, 0x59, 0x27, 0x3b, 0x03, 0x3a, 0xf9, 0x9b, 0x19, 0xe3, 0x64, 0x32, 0x61, 0x9d, 0x08, 0x17, - 0x7c, 0xce, 0x2c, 0x26, 0xd8, 0xdf, 0xa6, 0xa3, 0xd3, 0x5e, 0x96, 0x9f, 0xf6, 0x22, 0x5c, 0xbc, 0x7b, 0x61, 0x66, - 0xd3, 0x81, 0xd9, 0xfb, 0x2d, 0xe7, 0xb1, 0x66, 0x4e, 0xdf, 0xc2, 0x20, 0x61, 0xa5, 0xa1, 0xf2, 0xc7, 0x80, 0x1e, - 0x5e, 0x5c, 0x64, 0x39, 0x0c, 0xf4, 0x23, 0x74, 0x0b, 0x60, 0xfc, 0x68, 0x37, 0xdf, 0x98, 0x9e, 0x9f, 0xc3, 0x74, - 0x3f, 0x2e, 0x96, 0xe5, 0xe2, 0x75, 0x1a, 0x3d, 0x3a, 0x7d, 0xd8, 0xc9, 0xc7, 0x11, 0xfe, 0xe8, 0x26, 0x78, 0x9a, - 0x8d, 0x4f, 0x1f, 0x76, 0x23, 0xfc, 0xd1, 0xec, 0xb7, 0x87, 0xe3, 0x8b, 0x4b, 0x38, 0x37, 0x3e, 0xaa, 0x45, 0xf9, - 0x6e, 0x6a, 0x0a, 0x4c, 0xe8, 0x23, 0x68, 0xf6, 0x67, 0xb3, 0x1b, 0xf3, 0x2e, 0x6c, 0xe4, 0x8f, 0x66, 0x93, 0x19, - 0x3c, 0x79, 0xd8, 0x3d, 0xbf, 0x3c, 0x8f, 0xf0, 0x9c, 0xe7, 0x02, 0x08, 0xbc, 0xd9, 0x28, 0x8f, 0xba, 0x8f, 0x1e, - 0x76, 0x22, 0x3c, 0x7f, 0xa7, 0xb3, 0x5f, 0xe9, 0xdc, 0x50, 0xe3, 0x09, 0xc0, 0x6c, 0xce, 0x95, 0xbe, 0x7f, 0xab, - 0x1c, 0x3d, 0x66, 0xdd, 0x08, 0xcf, 0x65, 0x96, 0x51, 0xf5, 0xce, 0x26, 0x8c, 0xcf, 0x23, 0x2c, 0xe8, 0x17, 0xfa, - 0xa7, 0xf4, 0x9b, 0x29, 0x67, 0x34, 0x37, 0x69, 0x06, 0x87, 0x23, 0xfc, 0x3e, 0x87, 0xcb, 0xc8, 0x34, 0x9a, 0xe4, - 0x93, 0x73, 0x00, 0x0f, 0x10, 0x20, 0x8b, 0xdd, 0x00, 0x0d, 0xf8, 0xca, 0x9f, 0x8c, 0xd3, 0xe8, 0x62, 0x7c, 0xc9, - 0x7a, 0xa7, 0x11, 0xae, 0xa8, 0x11, 0x3d, 0x87, 0x7c, 0xf3, 0xf9, 0xab, 0xd9, 0x52, 0x67, 0x36, 0xc1, 0x00, 0x28, - 0xa7, 0x0f, 0x3b, 0xf9, 0x45, 0x84, 0x17, 0x6f, 0x98, 0xdf, 0x63, 0x8c, 0xb1, 0x4b, 0x80, 0x25, 0x24, 0x19, 0x04, - 0xba, 0x9c, 0x8c, 0x1f, 0x5d, 0x9a, 0x6f, 0x00, 0x03, 0x9d, 0x30, 0x06, 0x40, 0x5a, 0xbc, 0x61, 0x15, 0x20, 0xf2, - 0xf1, 0xc3, 0x0e, 0xd0, 0x97, 0x05, 0x5d, 0xd0, 0x7b, 0x7a, 0xfb, 0x7c, 0x61, 0xe6, 0x34, 0xc9, 0xcf, 0x23, 0xbc, - 0x78, 0xf9, 0xc3, 0x62, 0x39, 0x99, 0x98, 0x09, 0xd1, 0xf1, 0xa3, 0x08, 0x2f, 0x58, 0xb9, 0x84, 0x35, 0xba, 0x3c, - 0x3f, 0x9d, 0x44, 0xd8, 0xa1, 0x61, 0xd6, 0xc9, 0xc6, 0x70, 0xdb, 0xba, 0x9c, 0xa7, 0x51, 0x9e, 0xd3, 0x4e, 0x0e, - 0x77, 0xaf, 0xf2, 0xf6, 0xa7, 0xd2, 0xa2, 0x11, 0x33, 0xf8, 0xe0, 0xd6, 0x10, 0xe6, 0x0b, 0xf0, 0xf8, 0x75, 0xcc, - 0xb2, 0x8c, 0xba, 0xc4, 0x8b, 0x8b, 0xd3, 0x53, 0xc0, 0x3d, 0x3b, 0x43, 0x8b, 0x20, 0x6f, 0xd5, 0xfd, 0xb8, 0x94, - 0x70, 0x74, 0x01, 0x51, 0x05, 0xb2, 0xfa, 0xf6, 0xfe, 0x8d, 0xa1, 0xab, 0xdd, 0x8b, 0x47, 0xb0, 0x00, 0x8a, 0xe6, - 0xf9, 0x6b, 0x7b, 0xb8, 0x5d, 0x8e, 0xcf, 0xce, 0xbb, 0xa7, 0x11, 0xf6, 0x1b, 0x81, 0x5e, 0x76, 0x1e, 0xf6, 0xa0, - 0x84, 0xc8, 0xef, 0x6d, 0x89, 0xc9, 0x19, 0x3d, 0xbb, 0xe8, 0x44, 0xd8, 0x6f, 0x0d, 0x76, 0x39, 0x3e, 0x7f, 0x08, - 0x9f, 0x6a, 0xc6, 0x8a, 0xc2, 0xe0, 0xf7, 0x39, 0xc0, 0x45, 0xf1, 0x17, 0x82, 0xa6, 0x11, 0xed, 0x9c, 0xf7, 0x7a, - 0x39, 0x7c, 0x16, 0x5f, 0x58, 0x99, 0x46, 0x59, 0x07, 0xfe, 0x8b, 0x70, 0xb0, 0x93, 0xd8, 0x38, 0xc2, 0x06, 0xef, - 0x2e, 0xe8, 0xb9, 0xd9, 0xfb, 0x6e, 0x57, 0x75, 0x2e, 0x3b, 0xb0, 0x61, 0xdd, 0xa6, 0x72, 0x5f, 0x4a, 0xc8, 0x5b, - 0x47, 0x62, 0x69, 0x84, 0x03, 0x04, 0x9d, 0x3c, 0x9c, 0x44, 0xd8, 0xef, 0xb8, 0xb3, 0x8b, 0xcb, 0x1e, 0x90, 0x32, - 0x0d, 0x84, 0x22, 0xef, 0x8d, 0xcf, 0x80, 0x34, 0x69, 0xf6, 0xc6, 0xe2, 0x49, 0x84, 0xf5, 0x73, 0xa5, 0x5f, 0xa7, - 0x51, 0x7e, 0x39, 0x9e, 0xe4, 0x97, 0x11, 0xd6, 0x72, 0x4e, 0xb5, 0x34, 0x14, 0xf0, 0xf4, 0xec, 0x61, 0x84, 0x0d, - 0x9a, 0x77, 0x58, 0x27, 0xef, 0x44, 0xd8, 0x1d, 0x25, 0x8c, 0x5d, 0xf6, 0x60, 0x5a, 0xdf, 0xbf, 0xd4, 0x80, 0xcb, - 0x39, 0x1b, 0x9f, 0x46, 0xb8, 0xa2, 0xf7, 0x86, 0x10, 0xc1, 0x97, 0x9a, 0xcb, 0xcf, 0x8e, 0xf5, 0x00, 0x52, 0xe7, - 0x37, 0x3c, 0x2c, 0xc3, 0x8f, 0xb7, 0x16, 0x8d, 0xa8, 0xd9, 0xe2, 0xc1, 0x6d, 0xf4, 0x33, 0x1a, 0x7b, 0xb6, 0x9d, - 0x93, 0xd5, 0x06, 0x57, 0x41, 0x5e, 0x3f, 0xb3, 0x7b, 0x15, 0x4b, 0x65, 0x38, 0xd9, 0x20, 0x45, 0x29, 0xe4, 0xdd, - 0x1a, 0x9c, 0xe7, 0x2a, 0x08, 0x92, 0x82, 0x74, 0xfa, 0xe2, 0xca, 0x7b, 0xd3, 0xf6, 0x05, 0x84, 0x7e, 0x80, 0xf4, - 0x92, 0x50, 0xa2, 0x21, 0x42, 0x8e, 0x15, 0x26, 0xbd, 0x93, 0x81, 0x91, 0x29, 0xa5, 0x75, 0x5b, 0xa0, 0x84, 0xfa, - 0xd8, 0xf8, 0xb1, 0xc4, 0x0a, 0xa2, 0x47, 0xa1, 0xbe, 0x24, 0x26, 0xd2, 0xf5, 0x2b, 0xa1, 0x63, 0xa9, 0x86, 0xe5, - 0x08, 0x77, 0x2f, 0x10, 0x86, 0x18, 0x12, 0x64, 0x28, 0xaf, 0xaf, 0xbb, 0x17, 0x47, 0x46, 0xe8, 0xbb, 0xbe, 0xbe, - 0xb4, 0x3f, 0xe0, 0xdf, 0x51, 0x1d, 0xb7, 0x1b, 0xc6, 0xf7, 0x91, 0xd5, 0x73, 0x7c, 0x6f, 0xf8, 0xeb, 0x8f, 0x6c, - 0xbd, 0x8e, 0x3f, 0x32, 0x02, 0x33, 0xc6, 0x1f, 0x59, 0x62, 0xee, 0x48, 0xac, 0x87, 0x10, 0x19, 0x82, 0xe6, 0xac, - 0x83, 0x21, 0x9a, 0xbc, 0xe7, 0xbc, 0x3f, 0xb2, 0x21, 0x6f, 0x7a, 0x97, 0xd7, 0x21, 0x9c, 0x8f, 0x8e, 0x56, 0x65, - 0xaa, 0xad, 0x98, 0xa0, 0xad, 0x98, 0xa0, 0xad, 0x98, 0xa0, 0xeb, 0x20, 0xfa, 0x67, 0x03, 0x90, 0x52, 0x8c, 0xb2, - 0xc5, 0xf1, 0xd4, 0x3f, 0x82, 0xda, 0x03, 0xb4, 0x93, 0x83, 0x5a, 0xd9, 0x51, 0xe9, 0x2a, 0xf6, 0x2a, 0x30, 0xf6, - 0x26, 0x3a, 0x6d, 0xc7, 0xc9, 0x7f, 0xa2, 0xee, 0x78, 0xd7, 0x10, 0xcb, 0x7e, 0xdc, 0x2b, 0x96, 0xc1, 0x4a, 0x1a, - 0xd1, 0xec, 0xd0, 0xc6, 0x23, 0xd1, 0xc3, 0x87, 0x46, 0x30, 0xab, 0x83, 0xe4, 0xb5, 0x20, 0xa9, 0x0f, 0x52, 0xc8, - 0xa5, 0x91, 0xd2, 0x4a, 0x94, 0xe6, 0x3a, 0x2e, 0x41, 0x43, 0xe9, 0x15, 0x94, 0x55, 0x2c, 0xd7, 0x96, 0x01, 0x88, - 0xb2, 0x32, 0x9a, 0x95, 0xd5, 0xce, 0x41, 0x74, 0x01, 0x4d, 0x98, 0x91, 0x58, 0xa0, 0x01, 0x61, 0x1a, 0x10, 0xae, - 0x32, 0x88, 0x33, 0x2e, 0xfb, 0xcc, 0x64, 0x2b, 0x93, 0xad, 0xaa, 0x6c, 0xe9, 0xb3, 0xad, 0x90, 0x28, 0x4d, 0xb6, - 0xac, 0xb2, 0x41, 0x66, 0xc3, 0xd3, 0x54, 0xe1, 0x71, 0x2a, 0xad, 0xa8, 0x56, 0xcb, 0x56, 0x2f, 0x68, 0xa8, 0xcd, - 0x3d, 0x3a, 0x8a, 0x2b, 0x39, 0xc9, 0xa8, 0x89, 0x1f, 0xac, 0x78, 0x52, 0x1a, 0x19, 0x88, 0x27, 0x53, 0xf7, 0x77, - 0xbc, 0xd9, 0x96, 0x95, 0xca, 0xe9, 0xf8, 0x2b, 0x25, 0xd1, 0x1f, 0x5e, 0x89, 0xfa, 0x91, 0x9b, 0x28, 0x40, 0x57, - 0x24, 0xe9, 0x74, 0x4e, 0xbb, 0xa7, 0x9d, 0xcb, 0x01, 0x3f, 0xee, 0xf6, 0x92, 0x47, 0xbd, 0xd4, 0x28, 0x22, 0x16, - 0xf2, 0x16, 0x14, 0x30, 0x27, 0xbd, 0xe4, 0x0c, 0x1d, 0x77, 0x93, 0xce, 0xf9, 0x79, 0x1b, 0xfe, 0xc1, 0x4f, 0x74, - 0x55, 0xed, 0xac, 0x73, 0x76, 0x3e, 0xe0, 0x27, 0x5b, 0x95, 0x62, 0xde, 0x82, 0x82, 0xe8, 0xc4, 0x54, 0xc2, 0x50, - 0xbf, 0x5e, 0xde, 0xd7, 0x3b, 0x7a, 0x9e, 0x27, 0x3a, 0x96, 0x56, 0x15, 0x07, 0x50, 0xf5, 0x5f, 0x53, 0x03, 0x44, - 0xff, 0x35, 0xae, 0x22, 0xf5, 0xae, 0x4a, 0x10, 0xb5, 0x3f, 0xf2, 0x58, 0xb4, 0xd8, 0x71, 0x6c, 0xf3, 0x35, 0xd4, - 0x6d, 0x43, 0xf4, 0x3c, 0x3c, 0x75, 0xb9, 0x2a, 0xcc, 0x9d, 0x22, 0xd4, 0x56, 0x90, 0x3b, 0x76, 0xb9, 0x32, 0xcc, - 0x1d, 0x23, 0xd4, 0x96, 0x90, 0x4b, 0x53, 0x9e, 0x50, 0xc8, 0xd1, 0x09, 0x6d, 0x1b, 0x48, 0xd6, 0x8b, 0xf2, 0x92, - 0xf9, 0x61, 0xf3, 0x09, 0x2c, 0x8f, 0x21, 0x28, 0x4e, 0x90, 0x16, 0xf0, 0xc2, 0x4a, 0xa5, 0xcd, 0xe9, 0xe0, 0x4a, - 0x8d, 0x03, 0x19, 0x2d, 0xf8, 0xe7, 0x98, 0x99, 0x67, 0x37, 0x3a, 0x83, 0xd3, 0x8b, 0x4e, 0xda, 0x05, 0x57, 0x71, - 0x90, 0xb5, 0x85, 0x95, 0xb5, 0x85, 0x97, 0xb5, 0x85, 0x97, 0xb5, 0x41, 0x80, 0x0f, 0xfa, 0xfe, 0x97, 0x6c, 0x98, - 0xdf, 0xf0, 0xca, 0x96, 0xc7, 0x1a, 0x6b, 0xc4, 0x7a, 0xbd, 0x5e, 0x6d, 0xc0, 0xd2, 0xaa, 0xaa, 0x51, 0xaa, 0x5a, - 0xfd, 0xb9, 0x2a, 0xd3, 0x0e, 0x9e, 0xa6, 0xa0, 0xe5, 0xee, 0x60, 0x6a, 0x36, 0xb7, 0xa7, 0x0a, 0xdb, 0x51, 0x7c, - 0x06, 0x5e, 0x9d, 0x7c, 0x4d, 0x4e, 0x8d, 0xf6, 0x78, 0x55, 0xa6, 0xdc, 0xd2, 0x0c, 0x6e, 0x69, 0x06, 0xb7, 0x34, - 0x03, 0x1a, 0xc1, 0x55, 0x61, 0x53, 0x36, 0xa1, 0x04, 0xae, 0x04, 0x86, 0xa7, 0x23, 0x08, 0x62, 0x18, 0x6b, 0x62, - 0x46, 0xbd, 0xd5, 0x79, 0x17, 0x82, 0xb6, 0xd9, 0x92, 0x3a, 0xa1, 0xc6, 0x77, 0xbd, 0x1a, 0xf3, 0xdf, 0x0d, 0xb4, - 0x4f, 0xe0, 0x45, 0x9d, 0xc7, 0x3a, 0xee, 0x80, 0xe9, 0x4a, 0x54, 0x46, 0x03, 0x43, 0x16, 0x52, 0xa3, 0xb3, 0x71, - 0x26, 0xe9, 0x9f, 0xb7, 0x3c, 0x81, 0x2d, 0x25, 0x08, 0xdf, 0x91, 0xf8, 0xcc, 0xea, 0xd0, 0x04, 0x95, 0xc5, 0xad, - 0x33, 0x97, 0xb3, 0x47, 0x42, 0x1f, 0xcc, 0xe6, 0x7d, 0xcc, 0xab, 0x81, 0x20, 0x25, 0xc4, 0x7c, 0x4c, 0x4d, 0xa2, - 0x8b, 0xda, 0x0c, 0x4e, 0xcc, 0xe4, 0x0b, 0x35, 0x2e, 0x3d, 0xef, 0xed, 0x9f, 0xbf, 0x69, 0xe0, 0xf3, 0x58, 0x4e, - 0xc7, 0xde, 0x55, 0xf8, 0x93, 0x89, 0x6d, 0x44, 0x0e, 0x0f, 0xad, 0x45, 0xbb, 0xf9, 0xda, 0x36, 0x69, 0x37, 0x89, - 0x26, 0x1b, 0x76, 0xa8, 0x5f, 0xa3, 0x7f, 0x79, 0x8f, 0xbd, 0x72, 0x3a, 0x46, 0x01, 0xcd, 0x36, 0x60, 0x95, 0x35, - 0xb0, 0x94, 0xab, 0x57, 0x39, 0x72, 0x42, 0xef, 0x66, 0xcc, 0x9b, 0x72, 0x3a, 0xde, 0xfb, 0xf4, 0x8a, 0xed, 0x71, - 0xf0, 0x82, 0x06, 0x3d, 0x78, 0xd5, 0xf6, 0x8c, 0xdd, 0x7d, 0xab, 0xce, 0xe7, 0xbd, 0x75, 0x54, 0xf1, 0xad, 0x3a, - 0xaf, 0xf6, 0xd5, 0x99, 0xf3, 0xbb, 0xd8, 0xef, 0x1d, 0x1d, 0xa8, 0xb1, 0x8d, 0x99, 0xd4, 0x74, 0x0c, 0xb1, 0xf2, - 0xe1, 0xaf, 0x8d, 0x68, 0xd3, 0xf7, 0x24, 0x1c, 0x56, 0x41, 0x0e, 0x92, 0xf3, 0x94, 0x61, 0x4a, 0x7a, 0xc7, 0xa5, - 0x89, 0x69, 0x23, 0x12, 0xda, 0x56, 0x09, 0xc5, 0x05, 0x89, 0x63, 0x7a, 0x9c, 0x41, 0x64, 0x9e, 0xee, 0x80, 0xa6, - 0x31, 0x6d, 0x65, 0xe8, 0x24, 0xee, 0xb6, 0xe8, 0x71, 0x86, 0x50, 0xab, 0x0b, 0x3a, 0x53, 0x49, 0xba, 0xed, 0x02, - 0x62, 0x75, 0x1a, 0x52, 0x5c, 0x1c, 0x8b, 0xa4, 0x6c, 0xc9, 0x63, 0x95, 0x94, 0xad, 0xe4, 0x1c, 0x8b, 0x64, 0x5a, - 0x25, 0x4f, 0x4d, 0xf2, 0xd4, 0x26, 0x8f, 0xab, 0xe4, 0xb1, 0x49, 0x1e, 0xdb, 0x64, 0x4a, 0xca, 0x63, 0x91, 0xd0, - 0x56, 0xdc, 0x6d, 0x97, 0xe8, 0x18, 0x46, 0xe0, 0x47, 0x4f, 0x44, 0x18, 0x22, 0x7d, 0x63, 0x6c, 0x8c, 0x16, 0xb2, - 0x70, 0x41, 0x4b, 0x6b, 0x20, 0x55, 0x8e, 0x5f, 0x50, 0xe7, 0x75, 0x00, 0x26, 0xac, 0xed, 0x1f, 0x1f, 0x92, 0x6f, - 0x93, 0x15, 0x52, 0x04, 0x8e, 0x6d, 0x60, 0x8b, 0xff, 0xd9, 0xb9, 0xf3, 0x00, 0x54, 0x37, 0xb4, 0x58, 0xcc, 0xe8, - 0x8e, 0xf7, 0x70, 0x39, 0x1d, 0xbb, 0x9d, 0x55, 0x35, 0xc3, 0x68, 0x69, 0x43, 0x5d, 0x37, 0xfd, 0x3c, 0x01, 0xd4, - 0xde, 0xb7, 0x34, 0xa1, 0x46, 0x49, 0x6e, 0x6b, 0x4c, 0x4b, 0x76, 0xaf, 0x32, 0x5a, 0xb0, 0xb8, 0x3e, 0x80, 0xeb, - 0x61, 0x32, 0xf2, 0x0c, 0x3c, 0x02, 0xca, 0xe3, 0xe4, 0xb4, 0xa5, 0x93, 0xe9, 0x71, 0x72, 0xfe, 0xa8, 0xa5, 0x93, - 0xf1, 0x71, 0xd2, 0xed, 0xd6, 0x38, 0x9b, 0x94, 0x44, 0x27, 0x53, 0xa2, 0x41, 0x63, 0x68, 0x1b, 0x95, 0x0b, 0x0a, - 0x26, 0x6e, 0xff, 0xc1, 0x30, 0x5a, 0x6e, 0x18, 0x82, 0x4d, 0x6d, 0xd4, 0xcf, 0x9d, 0x31, 0x84, 0xdd, 0xf4, 0xce, - 0xcf, 0xdb, 0x3a, 0x29, 0xb1, 0xb6, 0x2b, 0xd9, 0xd6, 0xc9, 0x14, 0x6b, 0xbb, 0x7c, 0x6d, 0x9d, 0x8c, 0x6d, 0x53, - 0x46, 0x07, 0xc8, 0x44, 0x00, 0xac, 0x97, 0x2c, 0x80, 0x7c, 0xcf, 0x3b, 0xe9, 0x6c, 0x40, 0x6b, 0xf8, 0xad, 0x72, - 0x6d, 0x5f, 0x50, 0x51, 0x0d, 0xa6, 0x4e, 0xec, 0x6b, 0x45, 0xbb, 0x75, 0x93, 0xec, 0xdf, 0x97, 0xad, 0x9a, 0x2d, - 0xa5, 0x6e, 0x16, 0x7c, 0xde, 0xc0, 0x10, 0x57, 0xca, 0x1d, 0xdc, 0x7f, 0x52, 0x12, 0x43, 0x6c, 0x3f, 0x73, 0x0a, - 0x71, 0xe2, 0xf5, 0xc8, 0x90, 0xc4, 0x5b, 0xad, 0x0d, 0x8a, 0x83, 0xf3, 0xf6, 0x55, 0x48, 0x55, 0x77, 0x02, 0xfe, - 0x11, 0x12, 0x2d, 0x85, 0x35, 0x09, 0xcd, 0xa3, 0x9a, 0x16, 0xbf, 0x73, 0xda, 0xdd, 0xc6, 0x01, 0x71, 0x74, 0xb4, - 0x7d, 0x5e, 0xf8, 0xa7, 0x17, 0x76, 0x9e, 0x5b, 0xa8, 0xed, 0x09, 0xfd, 0x83, 0x50, 0xd6, 0xd2, 0x98, 0x07, 0x88, - 0xe2, 0x43, 0x6f, 0x3d, 0x34, 0x14, 0x7e, 0x58, 0xc7, 0x1d, 0x74, 0x39, 0xed, 0x0b, 0x93, 0x61, 0xfa, 0x1a, 0x05, - 0x63, 0x7b, 0x10, 0x4e, 0xa8, 0xb2, 0x95, 0xfc, 0xb7, 0x1d, 0x07, 0x9d, 0xb8, 0x07, 0x6b, 0xc2, 0x46, 0xff, 0x0c, - 0x2d, 0x93, 0x6b, 0xd8, 0x38, 0x9f, 0xf4, 0xf5, 0xba, 0xf1, 0x3c, 0x91, 0x7d, 0x04, 0x07, 0x1d, 0x1d, 0x71, 0xf5, - 0x02, 0x8c, 0xa9, 0x59, 0xdc, 0x0a, 0x0f, 0xdf, 0xbf, 0x1a, 0xa7, 0xf5, 0x9f, 0xe6, 0x5c, 0x4d, 0x83, 0x83, 0xee, - 0x71, 0x23, 0x7f, 0xef, 0x4a, 0x0c, 0x74, 0xca, 0xdd, 0x5a, 0x3f, 0xa9, 0x4d, 0xd5, 0x77, 0x1e, 0xca, 0x3a, 0x3a, - 0xe2, 0x75, 0xb8, 0xaa, 0xe8, 0xbb, 0x08, 0x0d, 0x8c, 0x0c, 0xf2, 0xa2, 0x90, 0x14, 0x6e, 0x44, 0xe1, 0x8a, 0x21, - 0x6d, 0xf1, 0x13, 0x8d, 0x7f, 0x90, 0xff, 0x8f, 0x1a, 0x39, 0xd6, 0x69, 0x8b, 0x07, 0x02, 0x58, 0xc8, 0x0a, 0xd5, - 0x81, 0x22, 0x0d, 0xa4, 0x43, 0xcb, 0x73, 0x54, 0x1d, 0xe6, 0x74, 0xb1, 0x28, 0xee, 0xcd, 0x5b, 0x61, 0x01, 0x47, - 0x55, 0x5f, 0x34, 0xb9, 0x28, 0x7d, 0xb8, 0x04, 0x9e, 0x1e, 0x70, 0x0f, 0x19, 0x2f, 0xdb, 0xea, 0x72, 0x5b, 0x20, - 0x90, 0xcc, 0x14, 0x91, 0xed, 0x6e, 0x5f, 0x5d, 0x83, 0x5c, 0xd6, 0x6e, 0x23, 0xed, 0x82, 0x97, 0x63, 0x0e, 0x32, - 0x99, 0xb2, 0x9e, 0xb4, 0x07, 0xb6, 0x20, 0x48, 0x6e, 0xd2, 0x88, 0x6c, 0xfb, 0x4b, 0xf1, 0x49, 0x0c, 0x68, 0x84, - 0xac, 0xc0, 0x17, 0x0a, 0x8b, 0x1c, 0xb8, 0xce, 0xd2, 0x77, 0xfc, 0x95, 0x96, 0xca, 0xa1, 0x1a, 0x8d, 0x70, 0x69, - 0x9e, 0xc7, 0xa8, 0xe6, 0x43, 0x55, 0xf0, 0xdc, 0x52, 0x20, 0xa2, 0xf0, 0xf5, 0xfa, 0x10, 0x5e, 0x33, 0x72, 0x6d, - 0x82, 0xeb, 0xad, 0xfb, 0x59, 0xbf, 0x5c, 0x02, 0xe3, 0x60, 0xa4, 0x63, 0x2e, 0x0a, 0x9d, 0xbc, 0xc9, 0xae, 0x44, - 0xbf, 0xd5, 0x62, 0x26, 0xd0, 0x14, 0x81, 0xa8, 0x72, 0xe0, 0x17, 0x09, 0x7f, 0x6c, 0xec, 0x28, 0xc5, 0x6c, 0x04, - 0x3e, 0x08, 0x0d, 0xde, 0x48, 0x58, 0xaf, 0x95, 0x8d, 0xf0, 0x62, 0x72, 0x6c, 0xac, 0x97, 0xaa, 0x9f, 0x2a, 0x94, - 0x6c, 0x6d, 0xc6, 0xc1, 0xdd, 0x56, 0x7f, 0x57, 0xef, 0xe7, 0x03, 0x6e, 0xaf, 0xf1, 0xb8, 0x89, 0x9b, 0x60, 0x00, - 0xb5, 0xda, 0xda, 0xe0, 0xd6, 0xce, 0x3f, 0xb6, 0x46, 0xc9, 0x6c, 0x1b, 0x82, 0xa2, 0x8a, 0x13, 0x60, 0x6f, 0x6e, - 0x7d, 0xdc, 0x44, 0x65, 0xe6, 0xa4, 0x90, 0x1e, 0x82, 0x1c, 0x3d, 0x22, 0xd0, 0xb9, 0xfd, 0x59, 0xd3, 0x85, 0x5a, - 0x26, 0xae, 0xc6, 0xf8, 0xcf, 0xe0, 0x36, 0x6f, 0x18, 0x7d, 0xfa, 0x64, 0x36, 0xf9, 0xa7, 0x4f, 0x11, 0x0e, 0x8d, - 0xeb, 0xa3, 0x80, 0x17, 0x8c, 0x46, 0x55, 0x68, 0x2d, 0xb3, 0xf1, 0xdb, 0xdd, 0xba, 0xb1, 0x8f, 0xb4, 0xc6, 0x3b, - 0x58, 0x1e, 0xd3, 0xf8, 0x8e, 0x33, 0xea, 0x90, 0x03, 0xbc, 0xd9, 0x90, 0x8f, 0xfa, 0x0f, 0x62, 0x85, 0x8e, 0x8e, - 0x1e, 0xc4, 0x12, 0x0d, 0x6e, 0x98, 0xb9, 0x73, 0x03, 0x6f, 0xf4, 0x21, 0x37, 0xc3, 0x97, 0x01, 0x02, 0xdc, 0xb0, - 0x6d, 0xc9, 0xe6, 0x9d, 0x89, 0xfd, 0x91, 0x42, 0x6c, 0x71, 0x88, 0x70, 0xec, 0x40, 0x02, 0xbd, 0x3e, 0x08, 0xa1, - 0xdd, 0x67, 0x84, 0x01, 0x0b, 0x5f, 0xf9, 0x0a, 0xb2, 0x64, 0xce, 0xca, 0x29, 0x2b, 0xd7, 0xeb, 0x8f, 0xd4, 0xfa, - 0xff, 0x6d, 0x85, 0xaa, 0x54, 0xfd, 0x56, 0x8b, 0x9a, 0xf1, 0x83, 0xf8, 0x40, 0x47, 0xf8, 0xf0, 0x41, 0x5c, 0x22, - 0x04, 0x16, 0x46, 0x5c, 0x2c, 0xbd, 0xaf, 0x5b, 0xd6, 0x58, 0x97, 0x12, 0x55, 0x8d, 0x14, 0xa4, 0x83, 0x67, 0x24, - 0xab, 0xd6, 0xe8, 0x6a, 0xd6, 0x6f, 0xb5, 0x0a, 0x24, 0xe3, 0x6c, 0x58, 0x8c, 0x30, 0xc7, 0x25, 0x5c, 0xa6, 0xee, - 0xae, 0xc3, 0x82, 0x35, 0x28, 0x97, 0x9b, 0xef, 0xca, 0x8e, 0x35, 0x7d, 0x49, 0x37, 0xe1, 0xee, 0xa6, 0x01, 0x91, - 0xd8, 0x07, 0x64, 0x61, 0x81, 0xac, 0x3c, 0x90, 0x85, 0x01, 0xb2, 0x42, 0x83, 0x05, 0x04, 0x6d, 0x52, 0x28, 0xdd, - 0xa1, 0xe8, 0xcd, 0xf0, 0xa2, 0xce, 0x75, 0x05, 0x73, 0x13, 0xe1, 0xc2, 0x2d, 0x07, 0xb8, 0xb1, 0xb8, 0xb9, 0x2b, - 0xb2, 0x8a, 0x22, 0x13, 0x69, 0x17, 0xdf, 0x99, 0x3f, 0xc9, 0x1d, 0xbe, 0xb7, 0x3f, 0xee, 0x03, 0x65, 0xd2, 0x87, - 0x86, 0xb6, 0x81, 0xbb, 0xb8, 0x74, 0x51, 0x12, 0x01, 0x5a, 0xbb, 0x20, 0x8b, 0xa2, 0xf9, 0xee, 0x9c, 0xb2, 0xe1, - 0x30, 0x44, 0x8b, 0x28, 0x2c, 0x02, 0xd2, 0xf9, 0xfb, 0xef, 0x11, 0x1a, 0x08, 0x88, 0x66, 0xe4, 0x4e, 0xb6, 0x76, - 0x17, 0xb5, 0xa2, 0x24, 0x4a, 0x63, 0x1f, 0x2c, 0x03, 0x76, 0x46, 0x14, 0x05, 0x6f, 0xce, 0xd4, 0x51, 0xd6, 0x1a, - 0xc3, 0x30, 0x83, 0xaa, 0xc3, 0x7f, 0x5c, 0xaf, 0xb6, 0x83, 0x2d, 0x19, 0xa8, 0x0a, 0x13, 0xe9, 0x06, 0xd9, 0x87, - 0xd8, 0x18, 0x61, 0x47, 0x47, 0x6c, 0x28, 0x46, 0xc1, 0xcb, 0x6a, 0xb5, 0x05, 0x89, 0x0e, 0x17, 0x2e, 0xce, 0x20, - 0xda, 0xfd, 0x7a, 0x6d, 0xff, 0x92, 0x5f, 0x8c, 0x34, 0x03, 0x4f, 0xe4, 0x05, 0x67, 0xac, 0xd8, 0x2f, 0x8b, 0x25, - 0x5a, 0x7e, 0x00, 0xcb, 0x3e, 0x17, 0xbb, 0x90, 0xbb, 0xa9, 0x76, 0x2b, 0x17, 0x1c, 0xa3, 0x51, 0x08, 0x22, 0x07, - 0xd7, 0x47, 0x1a, 0x5e, 0xe8, 0x30, 0xaf, 0x11, 0x01, 0xb8, 0x50, 0x55, 0x20, 0x57, 0x38, 0x52, 0x12, 0xb0, 0xf4, - 0x36, 0x74, 0x12, 0x7e, 0x34, 0xa9, 0xa4, 0x63, 0x21, 0x01, 0x0a, 0x1c, 0x99, 0xcb, 0x79, 0x13, 0xa8, 0x9f, 0xa1, - 0x3d, 0x44, 0x2e, 0x30, 0xa1, 0x69, 0xca, 0x96, 0x2e, 0xa2, 0x56, 0x34, 0x97, 0x4b, 0xc5, 0x96, 0x0b, 0x38, 0xdf, - 0xab, 0xb4, 0xac, 0xe0, 0xd9, 0xe7, 0x66, 0x0a, 0x18, 0x44, 0xde, 0xe9, 0x39, 0x13, 0xcb, 0xc8, 0xcd, 0xf3, 0xb5, - 0x15, 0xf7, 0xdf, 0xbe, 0xc2, 0x1f, 0x49, 0xef, 0xf8, 0x35, 0xfe, 0x8b, 0x92, 0x8f, 0xad, 0xd7, 0x78, 0xca, 0x89, - 0xe5, 0x0d, 0x92, 0xb7, 0x6f, 0x6e, 0x5e, 0xbd, 0x7f, 0xf5, 0xf1, 0xf9, 0xa7, 0x57, 0xaf, 0x5f, 0xbc, 0x7a, 0xfd, - 0xea, 0xfd, 0xaf, 0xf8, 0x5f, 0x94, 0xbc, 0x3e, 0xe9, 0x5e, 0x76, 0xf0, 0x07, 0xf2, 0xfa, 0xa4, 0x87, 0xef, 0x34, - 0x79, 0x7d, 0x72, 0x86, 0x67, 0x8a, 0xbc, 0x3e, 0xee, 0x9d, 0x9c, 0xe2, 0xa5, 0xb6, 0x4d, 0x16, 0x72, 0xda, 0xed, - 0xe0, 0xbf, 0xdc, 0x17, 0x88, 0xf7, 0x81, 0x1b, 0x0e, 0xdb, 0x32, 0x7e, 0x30, 0x65, 0xe8, 0x58, 0x19, 0x43, 0x94, - 0xab, 0x00, 0x9d, 0x72, 0x15, 0xa2, 0x93, 0x0d, 0x25, 0x0d, 0x36, 0x8c, 0x80, 0x56, 0x9c, 0xb8, 0x76, 0xf8, 0x49, - 0x97, 0x9d, 0x02, 0x7d, 0xe2, 0x95, 0x70, 0x5c, 0xa9, 0x70, 0xba, 0x4e, 0x8b, 0x31, 0x29, 0xa4, 0x2c, 0xe3, 0x25, - 0x30, 0x02, 0x46, 0x6b, 0xc1, 0x4f, 0xaa, 0x98, 0x55, 0xe2, 0x8a, 0x74, 0x07, 0xdd, 0x54, 0x5c, 0x91, 0xde, 0xa0, - 0x07, 0x7f, 0xce, 0x07, 0xe7, 0x69, 0xb7, 0x83, 0x8e, 0x83, 0x71, 0xfc, 0xd0, 0x40, 0xeb, 0xe1, 0x08, 0xbb, 0x2e, - 0xd4, 0x5f, 0xa5, 0xf6, 0x2a, 0x3d, 0xe1, 0xd4, 0xb1, 0xdd, 0xbe, 0xb8, 0x62, 0x46, 0x0f, 0xcb, 0xbf, 0x03, 0xd4, - 0x36, 0x6e, 0x35, 0xd5, 0xc6, 0x71, 0xbf, 0xf8, 0x89, 0x40, 0x8d, 0xc0, 0x38, 0x31, 0x5b, 0x77, 0x10, 0x30, 0x8d, - 0x26, 0x1b, 0xcc, 0x81, 0x12, 0x25, 0x4b, 0xed, 0x83, 0xfb, 0xab, 0xb6, 0x44, 0xc9, 0x42, 0x2e, 0xe2, 0x86, 0xaa, - 0xe1, 0xa7, 0xc0, 0xcc, 0xf1, 0x90, 0xab, 0xd7, 0xf4, 0x75, 0xdc, 0xe0, 0x79, 0x42, 0xd6, 0x2e, 0xdc, 0x16, 0xff, - 0x74, 0x56, 0x14, 0x0d, 0x70, 0x55, 0x80, 0xf5, 0xa3, 0x6a, 0xeb, 0x2b, 0x78, 0xc5, 0x90, 0xb5, 0xf4, 0x35, 0x09, - 0xa8, 0xe7, 0xcf, 0x95, 0x19, 0x57, 0xa5, 0x8c, 0xf6, 0x8a, 0x68, 0x63, 0x16, 0xe4, 0x15, 0xd1, 0x57, 0xca, 0x00, - 0x41, 0x12, 0x3e, 0x14, 0x23, 0x38, 0xf0, 0xed, 0x00, 0xa5, 0xa1, 0x73, 0xa0, 0x56, 0xaa, 0xcd, 0x84, 0xcc, 0xa7, - 0x09, 0xd1, 0x00, 0x9a, 0xa7, 0x5a, 0x05, 0x65, 0x3e, 0xb1, 0x44, 0xc1, 0xd0, 0x7f, 0x0b, 0x37, 0xc0, 0x71, 0x6c, - 0x50, 0x31, 0xb4, 0xab, 0x11, 0xcd, 0xfc, 0xee, 0x65, 0xe7, 0xe4, 0x75, 0x90, 0xbf, 0x54, 0xde, 0xde, 0xe3, 0xcf, - 0x80, 0x92, 0xdb, 0xa0, 0x62, 0x5d, 0xec, 0xe3, 0xc1, 0xf5, 0x43, 0x80, 0x1c, 0x6b, 0x74, 0x62, 0x1e, 0x74, 0xec, - 0x23, 0x7d, 0x4c, 0xba, 0x1d, 0x08, 0xe2, 0xb6, 0x87, 0xf2, 0xfd, 0xbc, 0x05, 0x53, 0x9d, 0xdc, 0xb5, 0x81, 0x56, - 0xc3, 0x1b, 0x4f, 0xf7, 0x6d, 0x9e, 0xdc, 0x63, 0x15, 0xe0, 0x0c, 0x3b, 0x66, 0x2d, 0x71, 0x2c, 0x90, 0x0b, 0x7e, - 0x6b, 0x37, 0x80, 0xa6, 0xa2, 0x67, 0xdf, 0x1a, 0xf4, 0xc6, 0x51, 0x57, 0xed, 0xe4, 0xfc, 0xf8, 0xf5, 0xd1, 0x51, - 0x2c, 0x5b, 0xe4, 0x23, 0xc2, 0x2b, 0x0a, 0x36, 0xdb, 0xe0, 0x7b, 0xc7, 0x2d, 0x13, 0x9f, 0xaa, 0x80, 0x3a, 0x4e, - 0x54, 0xe3, 0x58, 0xab, 0x3b, 0xab, 0x76, 0x83, 0x1f, 0x53, 0x0f, 0xb5, 0x82, 0x34, 0x3b, 0xba, 0x5e, 0x03, 0xca, - 0x0d, 0x47, 0x39, 0xd8, 0x96, 0xad, 0xbf, 0x28, 0xfa, 0xee, 0x63, 0xfb, 0x75, 0x30, 0xe1, 0x86, 0x69, 0xd2, 0xc7, - 0xd6, 0x47, 0xf4, 0xdd, 0xc7, 0xc0, 0xd5, 0x91, 0xd7, 0xec, 0x89, 0xe7, 0x46, 0x7e, 0xb6, 0x5c, 0xe9, 0xcf, 0x20, - 0xd9, 0x97, 0xe4, 0x67, 0xc0, 0x72, 0x4a, 0x7e, 0x8e, 0x65, 0x1b, 0x42, 0x40, 0x92, 0x9f, 0xe3, 0x12, 0x7e, 0x14, - 0xe4, 0xe7, 0x18, 0xb0, 0x1d, 0xcf, 0xcc, 0x8f, 0xb2, 0x02, 0x06, 0xb8, 0xd7, 0x49, 0xeb, 0x65, 0x57, 0xae, 0xd7, - 0xe2, 0xe8, 0x48, 0xda, 0x5f, 0xf4, 0x3a, 0x3b, 0x3a, 0x2a, 0xae, 0x66, 0x75, 0xdf, 0x5c, 0xef, 0xa3, 0x2f, 0x06, - 0xa1, 0x70, 0x60, 0x9a, 0xc6, 0xc3, 0x19, 0x7f, 0xdf, 0xa0, 0xac, 0xd0, 0x40, 0xfb, 0xb4, 0xf7, 0xf0, 0xe2, 0x12, - 0xc3, 0xbf, 0x0f, 0x83, 0x82, 0x3a, 0xf3, 0x13, 0x23, 0x5d, 0xd6, 0xbe, 0xa8, 0xeb, 0x5c, 0x07, 0xf8, 0x8c, 0x19, - 0x6a, 0x8b, 0xa3, 0x23, 0x7e, 0x15, 0xe0, 0x32, 0x66, 0xa8, 0x15, 0x58, 0xec, 0x3d, 0xae, 0xec, 0xc9, 0x0c, 0xd7, - 0x04, 0x8f, 0xfb, 0xf2, 0x61, 0x39, 0xba, 0xd2, 0x8e, 0x9a, 0x84, 0x21, 0xc0, 0x15, 0xe9, 0xb8, 0x4d, 0xd6, 0x17, - 0x6d, 0x75, 0xdd, 0xed, 0x23, 0x49, 0x54, 0x4b, 0x5c, 0x5f, 0x77, 0x31, 0xa8, 0xe4, 0x07, 0x8a, 0xc8, 0x54, 0x10, - 0xef, 0xa6, 0xb8, 0x2a, 0x64, 0xaa, 0xf0, 0x8c, 0xa7, 0xc2, 0xcb, 0xd9, 0x6f, 0xbc, 0xf5, 0xb4, 0x71, 0x1c, 0x35, - 0x3d, 0x33, 0x2c, 0x06, 0xaa, 0x72, 0x78, 0x84, 0x4d, 0xaa, 0x46, 0xf0, 0x76, 0x62, 0x85, 0x79, 0xcc, 0x7a, 0xf9, - 0x31, 0x88, 0x4d, 0xad, 0x5a, 0x5d, 0xc8, 0x84, 0xcf, 0x4d, 0xaa, 0x60, 0xa0, 0xa6, 0xf0, 0x15, 0x84, 0x3d, 0xcc, - 0x6a, 0xc3, 0x6c, 0xdf, 0x30, 0x14, 0x10, 0x50, 0xe0, 0x9a, 0xb0, 0x40, 0x82, 0xe7, 0x59, 0x83, 0x70, 0x34, 0xc9, - 0x85, 0x9d, 0xdc, 0x95, 0x82, 0xee, 0xc4, 0xe8, 0x4a, 0xf7, 0x91, 0x68, 0xb5, 0x1c, 0xb7, 0x7d, 0x2d, 0xcc, 0x20, - 0xda, 0xdd, 0xd1, 0x35, 0xeb, 0x23, 0xd5, 0x6e, 0x57, 0x06, 0x90, 0xd7, 0x9d, 0xf5, 0x5a, 0x5d, 0xf9, 0x46, 0x06, - 0xfe, 0x1c, 0x37, 0x7c, 0x97, 0x17, 0x3c, 0x7f, 0x93, 0x64, 0x18, 0x01, 0x55, 0x05, 0x3e, 0x5b, 0x2e, 0x22, 0x1c, - 0x99, 0x67, 0xf5, 0xe0, 0xaf, 0x79, 0x0e, 0x2d, 0xc2, 0x91, 0x7b, 0x69, 0x2f, 0x1a, 0xd5, 0x83, 0x15, 0x59, 0x15, - 0x24, 0x9e, 0x27, 0x9f, 0x80, 0x71, 0xd0, 0x7f, 0x2a, 0xb4, 0xaa, 0x7f, 0x27, 0x85, 0x0b, 0x97, 0xa2, 0xfc, 0xe3, - 0x6f, 0x6e, 0x54, 0x9b, 0xfd, 0x0e, 0xaa, 0x1c, 0x47, 0xbe, 0x2a, 0x3c, 0xa2, 0xf0, 0x8d, 0xd7, 0x27, 0xbb, 0xee, - 0xd1, 0xf3, 0x55, 0xd5, 0x03, 0x70, 0xde, 0x9b, 0x0d, 0xc2, 0xbf, 0xc9, 0xbd, 0x2f, 0x20, 0x47, 0x9f, 0xa4, 0x78, - 0x46, 0x35, 0x8d, 0x5a, 0x0f, 0x8c, 0xe1, 0x9b, 0x95, 0xb3, 0xfa, 0x5f, 0x1b, 0x07, 0xfb, 0x8f, 0xba, 0x87, 0x00, - 0x16, 0x8d, 0xc7, 0x9a, 0xac, 0xec, 0x6b, 0xc2, 0x96, 0xc8, 0xc0, 0xf4, 0x6d, 0x0f, 0x3c, 0xfc, 0x18, 0x29, 0xb8, - 0x55, 0x5b, 0x3e, 0x89, 0x42, 0x64, 0xd8, 0x86, 0x33, 0x37, 0xa4, 0xd8, 0x3e, 0x8c, 0xe3, 0xef, 0x06, 0x85, 0x5c, - 0xf7, 0x42, 0x35, 0x89, 0x69, 0xdd, 0x8d, 0x91, 0x3a, 0xd8, 0x36, 0x0b, 0xce, 0xea, 0xde, 0x8d, 0x84, 0x52, 0xbf, - 0x6b, 0x67, 0xde, 0x26, 0x6d, 0x77, 0xcd, 0x63, 0xcf, 0xf6, 0xf5, 0x3b, 0x05, 0x86, 0xbc, 0x87, 0x55, 0xd0, 0xae, - 0x6b, 0x38, 0x76, 0xe3, 0x00, 0xb2, 0x92, 0x5c, 0xaf, 0xdc, 0xcb, 0x74, 0x7c, 0x28, 0x47, 0x9b, 0xea, 0x9d, 0xba, - 0x00, 0x0f, 0xea, 0x91, 0xaa, 0x2c, 0xe4, 0x0c, 0xfc, 0x23, 0x8f, 0x0d, 0xfd, 0x10, 0xff, 0x1b, 0x0e, 0xf8, 0x1a, - 0x49, 0x53, 0xab, 0x7e, 0x82, 0xf7, 0xa3, 0x40, 0xe1, 0x6d, 0xeb, 0x7e, 0x2f, 0x43, 0x47, 0xdd, 0xa6, 0x4e, 0xc5, - 0xfa, 0xc2, 0x36, 0x15, 0x2b, 0x55, 0xe1, 0x80, 0x6a, 0xc5, 0x68, 0x93, 0x3a, 0xbf, 0x59, 0xf7, 0xe8, 0xd4, 0x63, - 0x01, 0xbe, 0x31, 0x5c, 0x8a, 0x17, 0x25, 0x44, 0x11, 0x0b, 0xf5, 0x69, 0xba, 0x0c, 0x5f, 0x55, 0x1e, 0xc2, 0x3d, - 0x61, 0xc5, 0x73, 0x56, 0x2f, 0x81, 0xc3, 0x02, 0x29, 0xa0, 0x50, 0x0a, 0x8b, 0xf5, 0x3a, 0x16, 0x26, 0xb6, 0x84, - 0x0b, 0x2d, 0xec, 0xde, 0x10, 0x31, 0xfa, 0x3b, 0xa8, 0x8b, 0xbd, 0x7a, 0xc4, 0x98, 0xb0, 0xa2, 0xf0, 0xd2, 0x49, - 0x66, 0x41, 0x5f, 0xfb, 0xfa, 0x10, 0xf5, 0x94, 0x07, 0xb1, 0xd1, 0xf7, 0xbe, 0xe7, 0x73, 0x26, 0x97, 0xf0, 0x78, - 0x13, 0x66, 0x44, 0x31, 0xed, 0xbf, 0x81, 0x82, 0xc0, 0x0b, 0x40, 0x3c, 0xc4, 0x47, 0xe0, 0xab, 0x3c, 0xad, 0x2b, - 0x33, 0xff, 0x24, 0x48, 0x64, 0x42, 0x76, 0x46, 0x83, 0x08, 0xbc, 0x88, 0x40, 0x84, 0x22, 0x24, 0x62, 0x22, 0x8f, - 0x06, 0x91, 0x71, 0xc9, 0x8a, 0xc0, 0x6a, 0x0c, 0x94, 0xdc, 0x11, 0x9e, 0xaa, 0x9a, 0x88, 0x85, 0x35, 0x75, 0x50, - 0x89, 0xa5, 0xc6, 0x4c, 0xfb, 0xa4, 0x57, 0x83, 0x90, 0x66, 0xdb, 0x82, 0xb2, 0xde, 0x52, 0x17, 0x60, 0x49, 0x8c, - 0xe9, 0x2d, 0x4f, 0x3e, 0x01, 0x37, 0xc7, 0x72, 0x57, 0x74, 0xc5, 0x6f, 0x40, 0x3d, 0x9d, 0x96, 0xf8, 0x93, 0x61, - 0xd8, 0xf2, 0x94, 0x6e, 0x08, 0xc7, 0x19, 0x29, 0x13, 0x7a, 0x07, 0xb1, 0x35, 0xe6, 0x5c, 0xa4, 0x05, 0x9e, 0xd3, - 0xbb, 0x74, 0x86, 0xe7, 0x5c, 0x3c, 0xb3, 0xcb, 0x9e, 0xe6, 0x90, 0xe4, 0x3f, 0x96, 0x1b, 0x62, 0x9e, 0x06, 0xfb, - 0xa0, 0x58, 0xf9, 0x04, 0x78, 0x15, 0x15, 0xa3, 0x7e, 0x6e, 0x6c, 0xca, 0xb9, 0xae, 0x8d, 0xd7, 0xdf, 0xe8, 0x98, - 0xe2, 0x0c, 0x17, 0x28, 0x29, 0x24, 0x66, 0x03, 0x91, 0xbe, 0x81, 0xb8, 0xda, 0x19, 0xb6, 0xcf, 0x8a, 0xf1, 0x3b, - 0x56, 0xbc, 0x90, 0xe5, 0x47, 0xb3, 0xe5, 0x0b, 0x04, 0x85, 0xc0, 0x45, 0x45, 0xb4, 0xe1, 0x76, 0x6f, 0x39, 0x90, - 0x75, 0x53, 0xf4, 0xce, 0x36, 0xe5, 0x86, 0x38, 0x83, 0x80, 0xc4, 0xc9, 0x8c, 0xb7, 0xba, 0x98, 0x0d, 0x3a, 0xdf, - 0x68, 0x74, 0x86, 0xaa, 0x92, 0x08, 0xc3, 0x5a, 0xb5, 0x55, 0x2a, 0x89, 0x68, 0x2b, 0x27, 0xe1, 0xad, 0x0c, 0xb0, - 0x53, 0x85, 0x33, 0xb9, 0x14, 0x3a, 0x95, 0x01, 0xde, 0x64, 0xf5, 0xe6, 0x5a, 0xdd, 0x59, 0x88, 0x69, 0x7c, 0x6f, - 0x7f, 0x30, 0xfc, 0xc9, 0xa8, 0xf8, 0xdf, 0x81, 0x61, 0x8f, 0x4a, 0x05, 0xc0, 0x0f, 0x0c, 0x67, 0x01, 0x72, 0x96, - 0x9f, 0xbc, 0x03, 0xf0, 0x59, 0x16, 0xf2, 0x1e, 0x52, 0x99, 0x49, 0xbd, 0x87, 0x54, 0x06, 0xa9, 0xc6, 0xa3, 0xfe, - 0x50, 0xd4, 0xca, 0xa2, 0xb0, 0x41, 0xa2, 0x70, 0xa5, 0x0e, 0x96, 0x44, 0x24, 0xd0, 0xae, 0x11, 0xe5, 0xe6, 0x5c, - 0x40, 0x68, 0x45, 0x68, 0xdc, 0x7e, 0xd3, 0x3b, 0xf8, 0xbe, 0xb7, 0xf9, 0xcc, 0xe7, 0xdf, 0xdb, 0x7c, 0xd3, 0x91, - 0xc7, 0xf8, 0xe6, 0x6d, 0xa7, 0xb1, 0x8c, 0x97, 0x0e, 0x6b, 0x3f, 0x54, 0x0f, 0xd9, 0x74, 0xcc, 0x83, 0xe1, 0xa4, - 0x8b, 0xe7, 0x01, 0x52, 0xb6, 0x6b, 0x1e, 0xae, 0x87, 0xbb, 0x9d, 0xe3, 0x98, 0xb7, 0x49, 0x17, 0xa1, 0x63, 0x27, - 0x5c, 0x89, 0xd8, 0x48, 0x4e, 0xc7, 0x1f, 0x4f, 0xe0, 0xee, 0x65, 0xac, 0xb6, 0x7c, 0xa5, 0x6c, 0xb5, 0x76, 0xb7, - 0x73, 0xcc, 0xf7, 0x56, 0x69, 0x75, 0xf1, 0x9c, 0x91, 0x15, 0x78, 0xa0, 0xd1, 0xd2, 0xaa, 0x1a, 0xc0, 0x65, 0xf5, - 0x95, 0xf8, 0x79, 0x49, 0x73, 0xf3, 0x7d, 0x6c, 0x53, 0xde, 0x2c, 0xb5, 0x4f, 0x6a, 0x73, 0x18, 0x44, 0x0f, 0xb9, - 0x92, 0x41, 0x4e, 0xcc, 0x4f, 0x48, 0x72, 0x8e, 0xae, 0xba, 0x83, 0xe4, 0xfc, 0x98, 0x1f, 0xf3, 0x14, 0x78, 0xd8, - 0xb8, 0xed, 0x2b, 0xb4, 0xbb, 0xbe, 0xce, 0xd3, 0xe5, 0x98, 0x67, 0xae, 0xf9, 0xba, 0x83, 0x2a, 0xd5, 0xce, 0x11, - 0xb2, 0x00, 0xc5, 0x7c, 0x2f, 0x41, 0x76, 0xb3, 0x9b, 0x63, 0x9e, 0x42, 0x3f, 0x50, 0xab, 0x67, 0x6b, 0x55, 0x83, - 0xfb, 0x79, 0x09, 0x08, 0xe6, 0x3b, 0x6a, 0xcc, 0xc5, 0xa6, 0xb7, 0xe3, 0xba, 0xb3, 0x63, 0x5e, 0x8f, 0x30, 0x2c, - 0xb3, 0xdb, 0x9f, 0x9f, 0x5a, 0xdd, 0xe5, 0x71, 0x00, 0x91, 0x9f, 0x97, 0x5c, 0x84, 0x9d, 0x86, 0xdd, 0xba, 0x9c, - 0xb0, 0xd3, 0xe6, 0x2c, 0x83, 0x22, 0xbb, 0xbd, 0xee, 0xcc, 0xb4, 0x39, 0xdb, 0x1b, 0x70, 0x24, 0x84, 0x49, 0x99, - 0x95, 0xce, 0xa4, 0x8a, 0xf9, 0xf1, 0x07, 0xe4, 0x5a, 0x7f, 0xb3, 0xd4, 0x3e, 0xbf, 0x42, 0x04, 0xc8, 0xae, 0xbb, - 0xae, 0xaa, 0x43, 0x1f, 0x55, 0x13, 0xaf, 0x8f, 0x79, 0xb0, 0x72, 0xcf, 0xef, 0x16, 0x32, 0xf5, 0xf8, 0x3a, 0xe8, - 0xa4, 0x3b, 0xc8, 0x09, 0xc4, 0xc3, 0x75, 0x17, 0x96, 0x05, 0x39, 0xbb, 0xbd, 0x83, 0x92, 0xe1, 0xc4, 0x7d, 0xe9, - 0x0f, 0xcc, 0x5e, 0x37, 0xf0, 0xab, 0xe4, 0x1c, 0xa6, 0xbe, 0xdd, 0xc3, 0x71, 0x0f, 0xfa, 0x30, 0x70, 0xd8, 0x6e, - 0xd0, 0x67, 0xd6, 0x10, 0x79, 0xca, 0x4b, 0x8b, 0x67, 0xd7, 0xa4, 0x3b, 0xe0, 0xa9, 0xdb, 0x4c, 0x46, 0x34, 0xea, - 0xb6, 0x79, 0x30, 0x33, 0xc0, 0x2f, 0x57, 0x36, 0x2c, 0xe2, 0xd7, 0x29, 0x80, 0x92, 0x2f, 0x56, 0xaf, 0x4f, 0x0d, - 0xaf, 0x66, 0xc3, 0xe9, 0x76, 0xba, 0x5f, 0x37, 0xb8, 0xdd, 0xf5, 0xf0, 0x84, 0x87, 0x68, 0x2c, 0x5a, 0xfb, 0x89, - 0xcf, 0x81, 0x03, 0x4a, 0x3a, 0x0f, 0xcf, 0xc1, 0x85, 0xb2, 0x82, 0xe5, 0x6e, 0xb9, 0xf1, 0x4e, 0x39, 0x0b, 0x47, - 0x5b, 0x32, 0xe0, 0x0e, 0xb6, 0x21, 0x0a, 0x1d, 0x1c, 0xf7, 0x70, 0xd2, 0xed, 0xf6, 0xce, 0x71, 0x72, 0x76, 0x0e, - 0x03, 0x6d, 0x25, 0xe7, 0xc7, 0x63, 0x65, 0x01, 0x18, 0xe4, 0x6c, 0x5c, 0xbb, 0x4f, 0x20, 0x68, 0x55, 0x28, 0x5e, - 0xf3, 0xe3, 0x38, 0xee, 0x26, 0x0f, 0x3b, 0xdd, 0xf3, 0xcb, 0x16, 0x00, 0xa8, 0xed, 0x3e, 0x5c, 0x8d, 0x37, 0x4b, - 0xdd, 0xac, 0x52, 0x21, 0x7c, 0xb3, 0x5a, 0xcb, 0x57, 0x6b, 0x75, 0x37, 0xf5, 0x14, 0x7c, 0x55, 0x27, 0x9c, 0xdb, - 0x22, 0x5e, 0x69, 0x13, 0x6e, 0x8b, 0xd8, 0x0e, 0x24, 0x06, 0xe9, 0x3c, 0x39, 0xef, 0x9d, 0x23, 0x3b, 0x16, 0xed, - 0xf0, 0xa3, 0xda, 0x27, 0x3b, 0x45, 0x5a, 0x1a, 0x90, 0xa4, 0x9a, 0x9d, 0x5c, 0x82, 0x44, 0xcd, 0xc9, 0x75, 0xb7, - 0x3d, 0x67, 0x89, 0x9f, 0x80, 0x49, 0x85, 0xe5, 0xac, 0x56, 0xc1, 0x25, 0x05, 0x80, 0xb8, 0x02, 0xe3, 0xa2, 0x87, - 0xe7, 0x83, 0x87, 0xc9, 0xf9, 0x45, 0xcf, 0x12, 0x3d, 0x7e, 0xd5, 0x6b, 0xa4, 0x99, 0xa9, 0x27, 0xe7, 0x26, 0x0d, - 0xba, 0x4e, 0x1e, 0x9e, 0x43, 0x19, 0x97, 0x12, 0x96, 0x82, 0x60, 0x1b, 0x75, 0x31, 0x88, 0xb0, 0x91, 0x36, 0x72, - 0x2f, 0x1a, 0xd9, 0x97, 0x67, 0xa7, 0x0f, 0xcf, 0x43, 0xa8, 0x55, 0xb3, 0x30, 0x0b, 0xed, 0x26, 0xe2, 0x67, 0x07, - 0x4b, 0x8b, 0x8e, 0x93, 0xf3, 0x74, 0x67, 0x82, 0x76, 0xd3, 0x1c, 0x1b, 0x1c, 0x08, 0x14, 0x8e, 0xcf, 0x85, 0xd3, - 0x97, 0x04, 0xf7, 0x63, 0xb5, 0xa1, 0x49, 0xa8, 0x70, 0xf6, 0xf7, 0x94, 0xc1, 0x7b, 0x9a, 0xe1, 0x55, 0xe5, 0x53, - 0x2a, 0xbe, 0x50, 0xf5, 0x96, 0x42, 0x04, 0x11, 0x31, 0x8a, 0x5c, 0x7c, 0xf3, 0x66, 0xee, 0x3f, 0xc1, 0x45, 0x98, - 0x09, 0xb8, 0xd0, 0xf4, 0x4a, 0xd0, 0x9a, 0x17, 0xf8, 0x14, 0x3a, 0xd4, 0x9a, 0x61, 0x0d, 0x78, 0xea, 0x4c, 0x0a, - 0x42, 0xdd, 0xd6, 0x4b, 0xfe, 0xad, 0x72, 0x49, 0x75, 0x95, 0x9d, 0x9c, 0xa3, 0xc4, 0x5d, 0x96, 0x27, 0x5d, 0x94, - 0x04, 0x26, 0x24, 0xee, 0x48, 0x2e, 0x32, 0x32, 0x8c, 0xee, 0x22, 0x1c, 0xdd, 0x47, 0x38, 0xb2, 0x3e, 0xcc, 0xbf, - 0x80, 0x1f, 0x77, 0x84, 0x23, 0xeb, 0xca, 0x1c, 0xe1, 0x48, 0x33, 0x01, 0x81, 0xc5, 0xa2, 0x11, 0x9e, 0x41, 0x69, - 0xe3, 0x59, 0x5d, 0x95, 0x7e, 0xea, 0xbf, 0x2a, 0xd7, 0x6b, 0x9b, 0x12, 0x48, 0x99, 0xb9, 0xd9, 0xa1, 0xf6, 0x61, - 0xec, 0x88, 0x7a, 0x66, 0x3d, 0xc2, 0x20, 0x80, 0xd0, 0x7b, 0xff, 0xb0, 0x5e, 0x1d, 0x93, 0x84, 0x9d, 0xc2, 0x4a, - 0x83, 0x2b, 0x7a, 0x14, 0x9e, 0x61, 0x11, 0x9e, 0x08, 0x5f, 0x18, 0xc4, 0x0a, 0xff, 0xbb, 0x90, 0x72, 0xe1, 0x7f, - 0x6b, 0x59, 0xfd, 0x82, 0xe7, 0x58, 0x9c, 0x45, 0x0b, 0x58, 0x6e, 0xd9, 0x10, 0x48, 0x63, 0xd6, 0x1c, 0xc1, 0xa7, - 0x89, 0x0b, 0x53, 0x07, 0x12, 0xe1, 0x27, 0x23, 0x50, 0x79, 0xf9, 0xf0, 0x93, 0x0d, 0x99, 0x64, 0x3e, 0x21, 0x66, - 0x1a, 0x84, 0x45, 0x96, 0x70, 0xa1, 0x31, 0x2d, 0x99, 0x52, 0x91, 0x8d, 0x25, 0x18, 0x49, 0xe1, 0x1f, 0x87, 0xf4, - 0x29, 0x13, 0x11, 0x99, 0x0e, 0x9b, 0xb3, 0xb5, 0xe2, 0x70, 0x21, 0x4b, 0x95, 0xda, 0x97, 0x62, 0x3c, 0x18, 0x17, - 0xd5, 0x33, 0x8c, 0xe9, 0x2c, 0xdb, 0x60, 0x7b, 0x87, 0x5d, 0x15, 0x72, 0x57, 0xda, 0x61, 0xa9, 0x22, 0xdb, 0x7c, - 0x6d, 0x42, 0xaa, 0x31, 0xa3, 0x60, 0xa2, 0xf5, 0x80, 0xea, 0xc0, 0x1d, 0x50, 0xd8, 0x06, 0xa5, 0x49, 0x57, 0x55, - 0xc9, 0x74, 0x55, 0x2d, 0xc3, 0x59, 0xa7, 0xb3, 0xd9, 0xe0, 0x92, 0x99, 0x40, 0x2e, 0x7b, 0x4b, 0x40, 0xbe, 0x9a, - 0xc9, 0xdb, 0x20, 0x57, 0xa5, 0xd5, 0x2c, 0xcd, 0x12, 0x45, 0x81, 0x11, 0x6c, 0xb4, 0xc1, 0x5f, 0xb8, 0xe2, 0x00, - 0x4f, 0x37, 0xbb, 0xb1, 0x94, 0x05, 0xa3, 0x10, 0x43, 0x2d, 0x68, 0x72, 0x83, 0x67, 0x3c, 0x67, 0xfb, 0xdb, 0x04, - 0x33, 0xe6, 0xff, 0xac, 0x45, 0x8f, 0x40, 0x96, 0xdd, 0x33, 0xa8, 0x03, 0x8b, 0xb8, 0x86, 0x0e, 0x42, 0x19, 0x7c, - 0x19, 0xe2, 0x66, 0x41, 0xef, 0xe5, 0x52, 0x03, 0x5c, 0x96, 0x5a, 0xbe, 0x75, 0xe1, 0x10, 0x0e, 0x3b, 0xd8, 0x47, - 0x46, 0x58, 0x41, 0xc8, 0x80, 0x0e, 0xb6, 0x11, 0x31, 0x3a, 0xd8, 0x05, 0x2a, 0xe8, 0x60, 0x13, 0x9e, 0xa2, 0xb3, - 0xa9, 0x62, 0x9b, 0xdd, 0x57, 0x4f, 0x6a, 0xd6, 0x9b, 0x60, 0xe2, 0xa4, 0x43, 0x4d, 0x74, 0x70, 0x7b, 0xc8, 0x08, - 0x6f, 0x7d, 0x7f, 0xf3, 0xe6, 0xb5, 0x8b, 0x5c, 0xcd, 0x27, 0xe0, 0xb2, 0xe9, 0x54, 0x63, 0xf7, 0x36, 0xc4, 0x7c, - 0xad, 0x28, 0xb5, 0xc2, 0xa9, 0x09, 0xf6, 0x29, 0x74, 0x91, 0xd8, 0xcb, 0x8b, 0x17, 0xb2, 0x9c, 0x53, 0x7b, 0x63, - 0x84, 0xef, 0x95, 0x7b, 0x7c, 0xde, 0xbc, 0x6f, 0x53, 0x4f, 0xf2, 0xfd, 0xf6, 0x55, 0xc4, 0x24, 0x33, 0xf2, 0x2b, - 0x68, 0x03, 0x4c, 0x65, 0x3f, 0x70, 0x56, 0x12, 0x17, 0xff, 0x3f, 0x20, 0x2f, 0xef, 0x2c, 0x75, 0x89, 0xa2, 0x16, - 0x37, 0xf8, 0xc9, 0xca, 0x5a, 0xc7, 0xc5, 0xcd, 0xfb, 0x91, 0xa4, 0xe3, 0xc4, 0x8b, 0xa8, 0x13, 0x35, 0xdf, 0xde, - 0x35, 0xaa, 0x04, 0x1f, 0x3b, 0x36, 0x29, 0x24, 0x88, 0x1e, 0xd5, 0x33, 0x7f, 0x1c, 0x44, 0x13, 0x7f, 0xf7, 0x7c, - 0xdd, 0xf5, 0x74, 0xb6, 0xa8, 0xd5, 0x89, 0xd5, 0x95, 0x09, 0x78, 0x38, 0xda, 0x87, 0x74, 0x10, 0x0e, 0x12, 0x59, - 0xa5, 0x3d, 0xf4, 0xb9, 0xa8, 0x1f, 0x17, 0x57, 0x5d, 0xd6, 0x3e, 0x5b, 0xaf, 0x8b, 0xeb, 0x2e, 0xeb, 0x9e, 0xdb, - 0x67, 0xf7, 0x22, 0x95, 0x01, 0xcd, 0xe5, 0x13, 0x9e, 0x45, 0xa0, 0x9d, 0x5d, 0x64, 0x26, 0x9c, 0x82, 0x97, 0xa6, - 0xc9, 0x52, 0xd7, 0x7d, 0x49, 0x30, 0x2e, 0x25, 0x56, 0x8f, 0x5f, 0xa2, 0x41, 0x37, 0xdd, 0x75, 0x95, 0x6e, 0x77, - 0x8f, 0x83, 0x0b, 0x97, 0x12, 0xe1, 0x1e, 0x84, 0x3c, 0x00, 0xfd, 0xee, 0x4a, 0x80, 0x69, 0x10, 0xa0, 0xb2, 0x02, - 0x91, 0x96, 0xcf, 0x97, 0xf3, 0x17, 0x25, 0x35, 0xcb, 0xf0, 0x8c, 0x4f, 0xb9, 0x56, 0x29, 0x05, 0xe9, 0x76, 0x5f, - 0xfa, 0x66, 0xbf, 0x04, 0x95, 0x35, 0xe2, 0xef, 0x26, 0x9a, 0x67, 0x9f, 0x95, 0x5b, 0x38, 0x84, 0xcd, 0xca, 0x0a, - 0x9c, 0xa1, 0x0d, 0x2e, 0xe4, 0x94, 0x96, 0x5c, 0xcf, 0xe6, 0xff, 0xd1, 0xea, 0xb0, 0xa1, 0x1e, 0x99, 0x0b, 0x2b, - 0x00, 0x09, 0x15, 0xf9, 0x7a, 0xcd, 0x4f, 0xbe, 0x7d, 0x9f, 0xe4, 0x7d, 0xc2, 0xbb, 0xb8, 0x87, 0x4f, 0xf1, 0x39, - 0xee, 0x76, 0x70, 0xf7, 0x1c, 0xae, 0xee, 0xb3, 0x62, 0x99, 0x33, 0x15, 0xc3, 0xfb, 0x6b, 0xfa, 0x3a, 0xb9, 0x3c, - 0xae, 0x5f, 0x1d, 0x28, 0x13, 0x87, 0x2e, 0x41, 0xf0, 0x7b, 0x17, 0x35, 0x30, 0x8a, 0xc2, 0x90, 0x75, 0x8b, 0x50, - 0x75, 0x52, 0xe9, 0x17, 0xae, 0x4f, 0x07, 0x60, 0xcf, 0x6d, 0x57, 0xb6, 0x0d, 0x66, 0xdf, 0xf6, 0x67, 0x5a, 0xff, - 0x6c, 0xeb, 0x0a, 0x31, 0x3c, 0xf4, 0x6a, 0xf4, 0x40, 0xd7, 0xa4, 0x7b, 0x74, 0x04, 0x56, 0x47, 0xc1, 0x6c, 0xb8, - 0x8d, 0x7e, 0xc0, 0xdb, 0x8d, 0x34, 0x08, 0x56, 0x00, 0xc6, 0x9d, 0x0f, 0x38, 0x59, 0x59, 0xd8, 0x6a, 0xa0, 0xc2, - 0xac, 0x0c, 0xe3, 0xea, 0x85, 0xa4, 0xc2, 0x08, 0xd1, 0x70, 0x84, 0xb9, 0x60, 0x28, 0x87, 0x1d, 0x2c, 0x27, 0x13, - 0xc5, 0x34, 0x1c, 0x1d, 0x25, 0xfb, 0xc2, 0x4a, 0x65, 0x4e, 0x91, 0x31, 0x9b, 0x72, 0xf1, 0x58, 0xff, 0xc6, 0x4a, - 0x69, 0x3e, 0x8d, 0x06, 0x23, 0x8d, 0xcc, 0x2a, 0x46, 0x38, 0x2b, 0xf8, 0x02, 0xaa, 0x4e, 0x4b, 0x70, 0xfa, 0x81, - 0xbf, 0x3c, 0x4f, 0xc3, 0x36, 0x81, 0x7c, 0xfd, 0x62, 0x63, 0xba, 0xe0, 0xbc, 0xa4, 0xb7, 0x6f, 0xc4, 0x53, 0xd8, - 0x51, 0x8f, 0x4b, 0x46, 0x21, 0x1b, 0x92, 0xde, 0x43, 0x53, 0xf0, 0x01, 0x6d, 0xfe, 0x68, 0x00, 0x97, 0x5e, 0x9a, - 0x0f, 0x5b, 0xd1, 0xc7, 0x6e, 0x4c, 0xaa, 0xb6, 0x4c, 0xa6, 0x39, 0xa5, 0xeb, 0x4c, 0x1b, 0x85, 0xaa, 0x9a, 0xc2, - 0x06, 0xbb, 0xa8, 0x27, 0xe1, 0x60, 0x72, 0xaa, 0x66, 0xe9, 0x70, 0x64, 0xfe, 0xbe, 0xb1, 0x25, 0x3b, 0xd8, 0x45, - 0x9c, 0xd9, 0x60, 0xf3, 0x70, 0x6a, 0x50, 0xbe, 0x8b, 0xe1, 0x1e, 0x16, 0x5e, 0xef, 0x6c, 0x90, 0xcf, 0x33, 0x4f, - 0x36, 0xcf, 0x36, 0x1b, 0x33, 0x10, 0x95, 0x82, 0x1e, 0xe8, 0x9d, 0xdf, 0x36, 0x1d, 0xd8, 0x1e, 0xd5, 0xd7, 0x79, - 0x07, 0xcf, 0x39, 0x3c, 0x46, 0xea, 0xdb, 0xbb, 0xd1, 0xa5, 0xfc, 0xec, 0x40, 0xd2, 0x09, 0x52, 0xec, 0x74, 0x82, - 0xce, 0x4e, 0x71, 0x30, 0x72, 0xa0, 0xe7, 0x37, 0x9f, 0x2d, 0xac, 0xfd, 0xef, 0xb7, 0x55, 0x41, 0x13, 0x4f, 0xa7, - 0x9a, 0x50, 0xe6, 0xcf, 0xcf, 0x07, 0x3c, 0xa9, 0x51, 0xc1, 0xbd, 0xe2, 0x05, 0x7b, 0xda, 0x06, 0xfa, 0x9c, 0xd3, - 0x3f, 0xed, 0x0f, 0x1b, 0xc3, 0xa7, 0xd2, 0xb2, 0x65, 0xa5, 0x54, 0xea, 0xb1, 0x4d, 0xb3, 0x47, 0x0f, 0x1c, 0x91, - 0x3f, 0x42, 0x17, 0xc0, 0xeb, 0xe7, 0xa5, 0x5c, 0x18, 0x44, 0x70, 0xbf, 0xdd, 0xb8, 0x8d, 0xaf, 0x00, 0x78, 0x3b, - 0x1c, 0xd4, 0xff, 0x74, 0x80, 0xfd, 0x8d, 0xaa, 0x92, 0x7e, 0xbc, 0x3d, 0x7b, 0xfc, 0x97, 0x12, 0xa2, 0xc6, 0x5b, - 0x3c, 0x4c, 0x1c, 0x3a, 0x55, 0xac, 0x59, 0xf5, 0x73, 0xa7, 0x24, 0x60, 0x58, 0xb3, 0x60, 0xc8, 0xc6, 0xed, 0x14, - 0xb7, 0x99, 0xff, 0x83, 0x0a, 0x06, 0x0b, 0xbe, 0x36, 0x92, 0x9a, 0x65, 0xf1, 0xdb, 0xa7, 0xc9, 0x7f, 0x35, 0x39, - 0xae, 0x43, 0xdd, 0x78, 0x29, 0x74, 0x6c, 0xa2, 0x34, 0x47, 0xe8, 0xe8, 0x68, 0x2b, 0x83, 0x4e, 0x00, 0xf0, 0xc8, - 0xb1, 0x5f, 0x7e, 0xf9, 0x3c, 0x3b, 0x66, 0x34, 0x8f, 0x65, 0x14, 0x32, 0x77, 0x9e, 0x9b, 0xb3, 0x13, 0x79, 0x46, - 0xd5, 0xcc, 0x17, 0x06, 0x38, 0x3e, 0xd9, 0x49, 0x05, 0x7c, 0x8f, 0x36, 0x7b, 0x26, 0xb0, 0xc5, 0x6f, 0xd9, 0x49, - 0xed, 0x2b, 0xe8, 0x17, 0x68, 0xb5, 0x8f, 0xa9, 0xdc, 0x5a, 0xe0, 0x68, 0x7b, 0x22, 0x7b, 0x87, 0xbe, 0x55, 0xa7, - 0x62, 0x3d, 0x5e, 0xed, 0x37, 0xfa, 0x92, 0x62, 0x5f, 0x72, 0x4d, 0xdb, 0xc6, 0xac, 0x7e, 0x2d, 0x58, 0xd7, 0xa6, - 0x4e, 0xf5, 0x35, 0x6f, 0x6d, 0x69, 0x53, 0xd9, 0x25, 0xd9, 0xbb, 0x2d, 0x16, 0x5e, 0x85, 0xb7, 0x5a, 0xd5, 0x45, - 0x28, 0xd8, 0x63, 0x89, 0x51, 0x9f, 0x13, 0xb8, 0x5e, 0x58, 0xaf, 0x63, 0xf8, 0xb3, 0x6f, 0x0c, 0xfb, 0x4c, 0x97, - 0x3e, 0xf0, 0x2d, 0x7e, 0x25, 0x08, 0x58, 0xec, 0xec, 0x20, 0xc1, 0xba, 0xcb, 0x0d, 0x1a, 0x8e, 0x13, 0xff, 0x05, - 0xcf, 0x65, 0x6b, 0xef, 0x72, 0x30, 0xcf, 0xbe, 0xf2, 0xc4, 0x5e, 0xc5, 0x5a, 0x36, 0xa2, 0xdd, 0x6f, 0x49, 0x30, - 0xc4, 0x6e, 0x4a, 0xe7, 0xb8, 0x95, 0x74, 0x51, 0xe4, 0x8a, 0xd5, 0xe8, 0xff, 0xb5, 0x22, 0x99, 0xcd, 0xfc, 0xaf, - 0x8b, 0x8b, 0x0b, 0x97, 0xe2, 0x6c, 0xfe, 0x94, 0xf1, 0x80, 0x33, 0x09, 0xec, 0x0b, 0xcf, 0x98, 0xd1, 0x21, 0xbf, - 0x83, 0xa1, 0x10, 0x41, 0xae, 0x85, 0x63, 0x97, 0xe0, 0xb5, 0x47, 0xa0, 0x3c, 0xc0, 0xfe, 0x3d, 0xdb, 0x2a, 0xe7, - 0x9f, 0x8b, 0xf2, 0xe1, 0x94, 0xab, 0x06, 0xd9, 0x17, 0xf3, 0x39, 0xb4, 0x66, 0x32, 0xf0, 0x42, 0x42, 0x84, 0xed, - 0x6f, 0xc3, 0xd2, 0x3a, 0x4b, 0x19, 0x1c, 0x69, 0xb9, 0xcc, 0x66, 0x56, 0xf3, 0xef, 0x3e, 0x4c, 0x59, 0xf7, 0xd4, - 0x10, 0x44, 0xee, 0x22, 0x2b, 0x17, 0x15, 0x34, 0xfa, 0x47, 0x15, 0x00, 0xf4, 0xe0, 0x35, 0x5b, 0xb2, 0x7f, 0xe0, - 0x83, 0x3a, 0x05, 0x3e, 0x1e, 0x97, 0x9c, 0x16, 0xff, 0xc0, 0x07, 0x75, 0x20, 0x50, 0x70, 0x85, 0x34, 0xb1, 0x34, - 0xb1, 0x79, 0x56, 0x3b, 0x8d, 0x04, 0x50, 0xd0, 0x22, 0x32, 0x07, 0xd9, 0x4b, 0x17, 0xa3, 0x31, 0xe9, 0x61, 0x17, - 0x1c, 0xcc, 0x46, 0x84, 0xb5, 0x81, 0xd4, 0x21, 0x6e, 0x5d, 0x35, 0x1b, 0xf3, 0xf5, 0x64, 0x6b, 0x41, 0x8c, 0x32, - 0x99, 0x5c, 0xbf, 0xe4, 0xf1, 0xce, 0x62, 0xa1, 0xb0, 0x5a, 0xb0, 0x40, 0x8d, 0x2a, 0x75, 0x7a, 0x58, 0x7c, 0xb7, - 0x60, 0x16, 0x14, 0x31, 0x5b, 0xef, 0xf1, 0x1d, 0x57, 0x04, 0xa4, 0x64, 0x97, 0x04, 0x2f, 0xa3, 0x1b, 0x4c, 0x25, - 0xab, 0xb9, 0xcc, 0x99, 0x25, 0xf4, 0x4c, 0xe9, 0x08, 0x9b, 0x3c, 0x05, 0x91, 0xc4, 0x0e, 0x3b, 0xd8, 0xb1, 0x46, - 0xaf, 0x84, 0x17, 0x52, 0xe0, 0x5c, 0x35, 0x4d, 0xcc, 0x29, 0x37, 0xd1, 0xc5, 0x1e, 0xab, 0x05, 0xcb, 0xb4, 0x45, - 0x80, 0x43, 0x87, 0x86, 0x52, 0xbc, 0x34, 0xa0, 0x30, 0x4f, 0x7a, 0xbb, 0x94, 0xa7, 0xb0, 0x78, 0x41, 0x0a, 0x10, - 0x35, 0x2e, 0xa6, 0x55, 0x9d, 0x45, 0xb1, 0x9c, 0x72, 0x51, 0x23, 0x43, 0xc9, 0xd4, 0x42, 0x0a, 0x78, 0x51, 0xa3, - 0x2a, 0x62, 0xe8, 0x50, 0x03, 0xdf, 0x2d, 0x09, 0xab, 0xea, 0x98, 0x63, 0x8a, 0x8b, 0xba, 0x06, 0x30, 0x17, 0x8f, - 0x8d, 0x80, 0xe8, 0xc3, 0xcb, 0xbe, 0x11, 0xef, 0xe5, 0xa2, 0xce, 0xf7, 0x34, 0xce, 0x07, 0xae, 0x77, 0x76, 0xc3, - 0x68, 0x63, 0x1e, 0xbd, 0x0a, 0xb6, 0xef, 0x07, 0x5e, 0x3f, 0x04, 0xb7, 0x31, 0xcf, 0x66, 0x55, 0x59, 0x63, 0x56, - 0xbd, 0x11, 0x51, 0xb7, 0xd7, 0xac, 0x2a, 0x85, 0xad, 0x08, 0x50, 0x29, 0x79, 0xbe, 0x93, 0xff, 0x4a, 0xdb, 0x7c, - 0x7b, 0x0e, 0x55, 0xe1, 0x81, 0x3c, 0x19, 0xaa, 0x7b, 0xc0, 0x65, 0xf5, 0x21, 0x80, 0xc5, 0x8f, 0x4c, 0xfc, 0xe0, - 0x7d, 0x17, 0xc8, 0x9c, 0xa9, 0x58, 0xe2, 0xd5, 0x90, 0x8e, 0x52, 0x2b, 0x0f, 0xa5, 0x12, 0x6c, 0x7b, 0x6e, 0x4b, - 0xae, 0x7d, 0xa0, 0x62, 0x3c, 0x64, 0xa3, 0x74, 0xd5, 0x0c, 0x66, 0x6c, 0xc3, 0x29, 0x7b, 0x73, 0x4e, 0x13, 0xfd, - 0x97, 0x8e, 0x70, 0x41, 0xc0, 0xf6, 0xd8, 0xb3, 0xa7, 0x0f, 0xe2, 0x0c, 0x0d, 0x9a, 0x1c, 0xfe, 0x6a, 0x83, 0x0b, - 0x9c, 0xa1, 0xf4, 0x71, 0x0c, 0x17, 0x58, 0x1b, 0x0c, 0xe0, 0xcb, 0x2c, 0xa9, 0x02, 0x8f, 0xd4, 0xcc, 0x48, 0xac, - 0xee, 0x22, 0x10, 0xad, 0x74, 0x78, 0x3b, 0xce, 0x7c, 0x38, 0x70, 0xc3, 0xbd, 0xbe, 0x30, 0xc2, 0xe1, 0x3c, 0x8b, - 0x1b, 0xe7, 0x0c, 0x27, 0xd7, 0x87, 0xbc, 0x71, 0x62, 0x82, 0xb5, 0x77, 0x78, 0xaa, 0x80, 0x1e, 0x0d, 0x4e, 0x15, - 0x4b, 0x43, 0x20, 0x66, 0x02, 0x78, 0x33, 0x87, 0x47, 0x5b, 0x80, 0xf3, 0xd1, 0x06, 0x07, 0x5f, 0x69, 0xa3, 0xab, - 0x6d, 0x25, 0xca, 0x66, 0x83, 0x87, 0x79, 0x86, 0x97, 0x19, 0x9e, 0x66, 0xa3, 0xf0, 0xb8, 0xc9, 0x42, 0x93, 0xae, - 0xf5, 0xfa, 0x95, 0x33, 0x23, 0x44, 0xf6, 0xa7, 0xa5, 0x3f, 0x68, 0x00, 0x08, 0x9f, 0x42, 0x16, 0xd0, 0x92, 0x81, - 0xfb, 0xdb, 0xb2, 0xaf, 0x85, 0xa3, 0x56, 0xcc, 0x13, 0x4b, 0x46, 0x06, 0xfe, 0x47, 0x95, 0x65, 0x5b, 0x6b, 0x45, - 0x8b, 0xbb, 0x83, 0xa8, 0xe5, 0xdb, 0xab, 0xcf, 0x97, 0x71, 0x65, 0xb6, 0x03, 0x88, 0x62, 0x8d, 0x93, 0x74, 0xb0, - 0x46, 0x72, 0xbd, 0x8e, 0x6d, 0x0a, 0xe1, 0xc9, 0x9c, 0x51, 0xb5, 0x2c, 0xcd, 0x03, 0x7a, 0xb1, 0x42, 0x89, 0xe1, - 0x77, 0xb1, 0xb3, 0x11, 0x85, 0xf7, 0xea, 0x24, 0x18, 0x6e, 0xc4, 0x82, 0xc8, 0x86, 0xc8, 0xfd, 0x29, 0xab, 0x2d, - 0x83, 0x04, 0x11, 0x46, 0xe4, 0xb7, 0xd7, 0xa5, 0xc2, 0x3e, 0xd1, 0x67, 0xff, 0x18, 0x5f, 0x40, 0xb8, 0x79, 0x9b, - 0xd2, 0x72, 0x4c, 0xa7, 0xc0, 0xc6, 0x42, 0x1c, 0xc2, 0x9d, 0x84, 0xf5, 0x7a, 0x38, 0xea, 0x0b, 0x43, 0x9e, 0xdd, - 0x03, 0x82, 0x55, 0x43, 0xfb, 0x1b, 0x80, 0xab, 0x6e, 0x4b, 0xcd, 0xb5, 0xd1, 0xfd, 0x50, 0xf3, 0xc6, 0x19, 0x77, - 0x49, 0xee, 0x99, 0x92, 0xfa, 0x25, 0xf2, 0x86, 0x05, 0xb8, 0x09, 0x5d, 0x85, 0x73, 0xbc, 0xb4, 0x36, 0x9c, 0xe6, - 0x41, 0x2b, 0x6a, 0xde, 0xb1, 0x82, 0xe7, 0xb3, 0x09, 0x1b, 0x66, 0x23, 0x9c, 0xfb, 0x70, 0xe7, 0x87, 0xef, 0xe2, - 0x1c, 0xa1, 0x92, 0x18, 0x98, 0x5a, 0x97, 0xed, 0xbc, 0xb6, 0xdb, 0x37, 0x99, 0x86, 0x61, 0x30, 0x46, 0xcc, 0x79, - 0x68, 0xc4, 0x5c, 0xb4, 0x5a, 0x68, 0x49, 0x72, 0x30, 0x62, 0x5e, 0x06, 0xad, 0x2d, 0xed, 0x63, 0xa7, 0x41, 0x7b, - 0x4b, 0x84, 0xfa, 0x1c, 0x68, 0x9a, 0x86, 0x67, 0x4d, 0xea, 0x67, 0xe5, 0xfd, 0x23, 0x5b, 0x27, 0x3d, 0x50, 0x24, - 0x4c, 0xae, 0xfd, 0x24, 0xac, 0x6b, 0xb8, 0x1d, 0xf7, 0xc4, 0x8c, 0xdb, 0xd9, 0x36, 0xa8, 0xa1, 0x1c, 0x66, 0xa3, - 0x51, 0x5f, 0x7a, 0x2b, 0x89, 0x0e, 0x9e, 0xd4, 0x0f, 0xa1, 0xd4, 0x8b, 0xf7, 0x45, 0x6f, 0x5f, 0x79, 0x73, 0xff, - 0xbe, 0xea, 0xf6, 0x79, 0x0c, 0x1c, 0xd0, 0x21, 0xdc, 0x0f, 0xd5, 0xf1, 0xc1, 0x4e, 0x7a, 0x10, 0x05, 0x2d, 0xed, - 0x34, 0x04, 0x52, 0x6b, 0x66, 0x17, 0xeb, 0xb6, 0x42, 0xc7, 0x02, 0xc2, 0x90, 0xa9, 0xba, 0xbb, 0x3b, 0x15, 0xa8, - 0x86, 0x38, 0x9c, 0xfa, 0x4f, 0xad, 0x11, 0x6b, 0x1c, 0xf5, 0xf2, 0xc8, 0x18, 0x49, 0xda, 0xe5, 0x83, 0xb7, 0x8f, - 0xc0, 0x4a, 0xc0, 0xc7, 0xa0, 0x36, 0x49, 0xc6, 0x90, 0xe0, 0x1d, 0xcb, 0xb4, 0xe1, 0x43, 0xb8, 0x43, 0x50, 0x9e, - 0xd8, 0xa0, 0xb4, 0xae, 0x92, 0x85, 0x5c, 0xdd, 0xe5, 0x7d, 0x80, 0x9e, 0x77, 0xd5, 0x6f, 0x6c, 0x38, 0xb2, 0x60, - 0x60, 0xd9, 0xce, 0x3e, 0x01, 0x8f, 0x7c, 0x5c, 0x23, 0x88, 0x5f, 0x0a, 0x9d, 0x98, 0x78, 0xdd, 0x37, 0xb0, 0x41, - 0xf1, 0x02, 0x1c, 0x04, 0x9d, 0x04, 0x87, 0xc1, 0xbb, 0xcc, 0x6a, 0x92, 0x0d, 0x6e, 0xcd, 0x49, 0xbc, 0x58, 0xaf, - 0x3b, 0xe8, 0xf8, 0x5f, 0xe6, 0x49, 0xea, 0x49, 0xa5, 0x70, 0x9f, 0xd4, 0x0a, 0x77, 0xb0, 0x04, 0x24, 0x93, 0x40, - 0xd7, 0x8e, 0x65, 0xa8, 0x46, 0x87, 0x68, 0xe9, 0xaf, 0x20, 0x76, 0xb6, 0x3b, 0x96, 0x40, 0xcf, 0xbe, 0x53, 0xc0, - 0xea, 0xda, 0xab, 0x12, 0xc8, 0x08, 0xee, 0x7e, 0x13, 0x18, 0x15, 0xa2, 0xf1, 0xf9, 0x33, 0xaf, 0x5a, 0xf0, 0xc4, - 0xf9, 0x73, 0xcd, 0x0d, 0xeb, 0x5e, 0xd2, 0x5b, 0xd3, 0x7c, 0x3c, 0xc1, 0xed, 0x89, 0x05, 0xe7, 0x49, 0x0f, 0x7e, - 0x5a, 0x88, 0x9e, 0xf4, 0xb0, 0x4b, 0xc5, 0x93, 0x0a, 0xc8, 0x21, 0x7a, 0x3a, 0x03, 0x29, 0x60, 0xa5, 0x63, 0xab, - 0x45, 0x9a, 0xa2, 0xf5, 0x7a, 0x7a, 0x45, 0x3a, 0x08, 0xad, 0xd4, 0x2d, 0xd7, 0xd9, 0x0c, 0x7c, 0xa4, 0x41, 0x31, - 0xf0, 0x96, 0xea, 0x59, 0x8c, 0xf0, 0x04, 0xad, 0x72, 0x36, 0xa1, 0xcb, 0x42, 0xa7, 0x6a, 0xc0, 0x13, 0x1b, 0xb8, - 0x97, 0xd9, 0x48, 0x70, 0x27, 0x3d, 0x3c, 0x35, 0xfc, 0xe5, 0x47, 0x63, 0x0e, 0x52, 0x66, 0x26, 0x79, 0x6a, 0x12, - 0x30, 0x4f, 0xb2, 0x42, 0x2a, 0x66, 0x9b, 0xe9, 0x5b, 0xdb, 0x72, 0x08, 0x49, 0x1e, 0xe9, 0x92, 0x1b, 0x2b, 0xca, - 0x28, 0x9d, 0x11, 0x35, 0x50, 0x27, 0xbd, 0x74, 0x8a, 0x79, 0x02, 0x9c, 0xde, 0x7b, 0x19, 0xb3, 0x56, 0x75, 0x2b, - 0x3a, 0x47, 0xc7, 0x33, 0x2c, 0xea, 0x4b, 0xd4, 0x39, 0x3a, 0x9e, 0x22, 0x3c, 0x6f, 0x91, 0x99, 0x02, 0x8f, 0x61, - 0x2e, 0xfe, 0x3f, 0x29, 0xff, 0xd5, 0x61, 0x43, 0x88, 0xe9, 0x77, 0xb0, 0x53, 0x58, 0x1e, 0xa5, 0x05, 0x01, 0xaf, - 0xc5, 0xee, 0x05, 0xce, 0xc8, 0xb4, 0x5d, 0xf8, 0x80, 0x7b, 0xa6, 0x95, 0xd6, 0x9d, 0x46, 0xc7, 0x19, 0xce, 0xb7, - 0x93, 0x62, 0x33, 0xd7, 0x76, 0x91, 0x66, 0x70, 0xbe, 0xd7, 0xa3, 0x70, 0xe5, 0x97, 0xdb, 0x49, 0x61, 0x79, 0x07, - 0xdc, 0x76, 0x8e, 0x45, 0x9b, 0xe2, 0x02, 0xcf, 0xdb, 0xaf, 0xf1, 0xbc, 0xfd, 0xa1, 0xca, 0x68, 0x2d, 0xb1, 0x80, - 0xe0, 0x7d, 0x90, 0x88, 0xe7, 0x75, 0x72, 0x8e, 0x45, 0xcb, 0x94, 0xc7, 0xf3, 0x56, 0x5d, 0xba, 0xbd, 0xc4, 0xa2, - 0x65, 0x4a, 0xb7, 0x3e, 0xe0, 0x79, 0xeb, 0xf5, 0xbf, 0x99, 0x74, 0x94, 0x02, 0xba, 0x2c, 0xd0, 0x2a, 0xb3, 0x43, - 0xbc, 0xf9, 0xf9, 0xdd, 0xfb, 0xee, 0xa7, 0xde, 0xf1, 0x14, 0xfb, 0xf5, 0xcb, 0x0c, 0x8e, 0x65, 0x3a, 0x66, 0x6d, - 0x80, 0x68, 0x86, 0x7b, 0xc7, 0x33, 0xdc, 0x3b, 0xce, 0x5c, 0x53, 0x9b, 0x79, 0x8b, 0xdc, 0xe9, 0x10, 0x8a, 0x3a, - 0x4a, 0x43, 0xf8, 0xf8, 0xc9, 0xa6, 0x53, 0xd4, 0x00, 0x25, 0x3a, 0x9e, 0x36, 0x40, 0x05, 0xdf, 0xcb, 0xc6, 0x77, - 0x5d, 0xaf, 0xc6, 0x20, 0x0b, 0x25, 0x14, 0xae, 0xb9, 0x01, 0x4f, 0x23, 0xc5, 0x40, 0x26, 0x4c, 0xb1, 0x40, 0xf9, - 0x06, 0x28, 0x8c, 0xf2, 0xc4, 0x0c, 0x3d, 0x98, 0x8e, 0x49, 0xfc, 0xff, 0x79, 0x32, 0xd5, 0xd0, 0xab, 0x2d, 0xb3, - 0x33, 0x3d, 0x37, 0x99, 0x70, 0xf8, 0xc0, 0x63, 0xfd, 0x6f, 0x3b, 0x50, 0x6c, 0x40, 0x8a, 0xff, 0x37, 0x1d, 0x5d, - 0x08, 0x46, 0xc8, 0x8a, 0xd2, 0xd2, 0x21, 0xfe, 0xb7, 0x87, 0x15, 0x74, 0x5f, 0xee, 0x74, 0x5f, 0x9a, 0xee, 0xc3, - 0xa6, 0x8d, 0x2a, 0x27, 0xad, 0x2b, 0x59, 0xf2, 0xdf, 0xa4, 0x5b, 0x3b, 0xa0, 0x11, 0x0d, 0x7a, 0x36, 0x0d, 0x1b, - 0x3c, 0xec, 0xa6, 0x7b, 0x90, 0x79, 0xc3, 0xed, 0x0b, 0xa9, 0x70, 0xf8, 0x06, 0x77, 0xaa, 0xd7, 0x1d, 0xf0, 0xde, - 0x54, 0x46, 0x5f, 0x19, 0x87, 0x96, 0x83, 0x74, 0xdb, 0x94, 0xdb, 0x18, 0x4b, 0x27, 0xe7, 0xd8, 0xb8, 0x22, 0x42, - 0xa5, 0xbb, 0x6b, 0x50, 0x8a, 0x4f, 0x74, 0x9b, 0x99, 0xaf, 0x2b, 0x9d, 0x98, 0x4b, 0xa8, 0x96, 0xf9, 0xbc, 0xbf, - 0xd6, 0x89, 0x96, 0x0b, 0x9b, 0x77, 0x7f, 0x05, 0x7d, 0x82, 0x86, 0xb5, 0x15, 0xd8, 0xed, 0x73, 0x67, 0x07, 0x19, - 0x1c, 0x82, 0xe1, 0x01, 0xe4, 0x48, 0x8b, 0xed, 0x03, 0x9b, 0xd6, 0xb0, 0xeb, 0xa2, 0x5d, 0x25, 0xda, 0x56, 0xdb, - 0x26, 0xd7, 0xee, 0x61, 0xbe, 0x08, 0x79, 0x0a, 0x51, 0x5a, 0xfd, 0xf8, 0x1e, 0x76, 0xe3, 0x4b, 0x83, 0x91, 0x68, - 0x2a, 0x99, 0x2a, 0xe8, 0x27, 0x77, 0x98, 0x25, 0xf7, 0xc6, 0x8b, 0x51, 0x19, 0x7f, 0x1f, 0x13, 0x97, 0x3f, 0xaa, - 0x25, 0x39, 0xb0, 0xec, 0x6f, 0xb1, 0xe4, 0x0e, 0xcc, 0x13, 0xab, 0x6a, 0x12, 0xeb, 0xe4, 0x3e, 0x58, 0x44, 0x69, - 0x1a, 0xd9, 0x18, 0x06, 0xd4, 0x34, 0x63, 0xd5, 0x83, 0x87, 0x10, 0xe8, 0x61, 0x50, 0x95, 0xd2, 0xae, 0xb3, 0xb4, - 0xd1, 0xbd, 0x36, 0xdd, 0x6f, 0x0f, 0xa8, 0x9e, 0xc6, 0x6d, 0xc0, 0x35, 0xfd, 0xbb, 0x49, 0x24, 0x63, 0xf6, 0x37, - 0x67, 0xe5, 0xd3, 0x65, 0x69, 0x30, 0x4d, 0x0c, 0x74, 0x92, 0x2d, 0xba, 0x60, 0xaa, 0x97, 0x2d, 0x7a, 0x77, 0xd8, - 0x7d, 0xdf, 0xdb, 0xef, 0x7b, 0x2c, 0x06, 0xcc, 0x64, 0xa4, 0xcc, 0x14, 0xf3, 0xdf, 0xf7, 0xf6, 0xfb, 0x1e, 0xef, - 0x0e, 0xe6, 0xb3, 0xbf, 0x50, 0xac, 0xd8, 0x19, 0x2e, 0xc1, 0x84, 0x3c, 0xe0, 0x6e, 0x1a, 0x59, 0x26, 0x08, 0x6c, - 0x23, 0x01, 0xe2, 0x7c, 0xbe, 0x8a, 0x6b, 0x5e, 0x0d, 0x01, 0xf7, 0xe9, 0x5d, 0xdb, 0xeb, 0x54, 0xe0, 0x31, 0x41, - 0x23, 0x62, 0x62, 0xdb, 0x98, 0xd7, 0xcd, 0x80, 0xcb, 0x23, 0xba, 0xd2, 0x93, 0x24, 0xc0, 0xab, 0x1a, 0x95, 0xb7, - 0x29, 0x52, 0x7d, 0x91, 0x20, 0xc7, 0x17, 0x7b, 0x42, 0x15, 0x03, 0x58, 0x55, 0x25, 0x7d, 0x02, 0x69, 0xe6, 0x87, - 0x9e, 0x9a, 0xdb, 0xc8, 0x63, 0xdf, 0xf9, 0xfd, 0xcc, 0xf4, 0xac, 0x94, 0xcb, 0xe9, 0x0c, 0x7c, 0x68, 0x81, 0x65, - 0x28, 0x4d, 0xbd, 0xda, 0xd6, 0xbf, 0x21, 0xb9, 0x09, 0xa0, 0x70, 0xba, 0x2d, 0x13, 0x9a, 0xe9, 0x25, 0x2d, 0x8c, - 0x25, 0x29, 0x17, 0xd3, 0x27, 0xf2, 0xee, 0x47, 0xc0, 0x6e, 0x4a, 0x74, 0x6b, 0x4f, 0xde, 0x3b, 0xd8, 0x01, 0x38, - 0x23, 0x6c, 0x5f, 0xc5, 0xc7, 0x0a, 0x74, 0xfe, 0xb8, 0x20, 0x6c, 0x5f, 0xd5, 0x67, 0xcc, 0x66, 0xcf, 0xc8, 0xd6, - 0x70, 0x07, 0x71, 0xd6, 0x2a, 0xd0, 0x49, 0x2f, 0x2d, 0xfa, 0x9e, 0x18, 0x58, 0x80, 0x06, 0xc0, 0xdd, 0xd9, 0x9e, - 0xd5, 0xdd, 0x0d, 0x01, 0xbd, 0x4b, 0x26, 0xed, 0x75, 0xb9, 0x49, 0x59, 0xaf, 0x7b, 0x35, 0x15, 0x2c, 0xf1, 0x2c, - 0xd8, 0x0b, 0xd4, 0x7e, 0xed, 0xa1, 0x38, 0x3f, 0x65, 0xdb, 0xa6, 0xe7, 0x55, 0xdf, 0xfd, 0x3d, 0x8b, 0x8c, 0x6d, - 0xda, 0xbb, 0x3d, 0x44, 0xc2, 0x72, 0xc2, 0x3a, 0xe0, 0x84, 0xeb, 0xda, 0x01, 0x01, 0xfa, 0x14, 0x88, 0xdc, 0x58, - 0x92, 0xd5, 0xa6, 0x36, 0xba, 0x0f, 0xfc, 0x6e, 0x29, 0x91, 0x6e, 0xb4, 0x15, 0xc1, 0xf4, 0x09, 0x46, 0x4d, 0x67, - 0x9e, 0xa6, 0x6e, 0xbc, 0xba, 0xbc, 0x2d, 0xda, 0xfa, 0x37, 0xa0, 0xb1, 0xd9, 0x1e, 0x26, 0x86, 0x32, 0x88, 0x81, - 0xde, 0x47, 0xbc, 0xdf, 0x6a, 0x65, 0x08, 0x14, 0x32, 0xd9, 0x08, 0xcb, 0xc4, 0x6b, 0xd1, 0x8f, 0x8e, 0x0c, 0x3c, - 0xea, 0x04, 0x84, 0x29, 0x08, 0x21, 0x61, 0xd7, 0x06, 0x61, 0xc3, 0xe5, 0x6a, 0xe4, 0xc2, 0x46, 0x6a, 0x0c, 0x1d, - 0xfc, 0xbf, 0xc2, 0x65, 0x6b, 0x66, 0x56, 0x8b, 0x62, 0x70, 0xb3, 0x30, 0x60, 0x91, 0x20, 0x3d, 0xda, 0x6c, 0x0f, - 0xc5, 0xfd, 0xb9, 0xd8, 0x6c, 0x08, 0x48, 0x2c, 0x60, 0x82, 0xa2, 0xe5, 0xdc, 0x18, 0x63, 0x95, 0xd4, 0x5a, 0xd6, - 0x86, 0xc4, 0x1c, 0x04, 0x8c, 0x0e, 0xd7, 0x7d, 0x75, 0x97, 0x32, 0x7c, 0x9f, 0x0a, 0x7c, 0x0b, 0x9e, 0x34, 0xa9, - 0xc4, 0xee, 0xf1, 0x82, 0x72, 0x43, 0x74, 0xdf, 0xb3, 0xb7, 0x25, 0xac, 0xb3, 0xd9, 0x23, 0x22, 0xf8, 0x5d, 0xff, - 0xea, 0x82, 0xef, 0x16, 0x7e, 0x0d, 0xd6, 0xcf, 0xc1, 0x49, 0x8a, 0x45, 0x4b, 0xb6, 0x4b, 0x77, 0x64, 0x40, 0xb9, - 0x9a, 0x5f, 0x0e, 0x53, 0x77, 0x8a, 0xe1, 0xc6, 0xc7, 0x6b, 0xfc, 0x61, 0xab, 0xdd, 0x96, 0xaa, 0x8a, 0xdb, 0xbd, - 0x29, 0x5a, 0xb2, 0x6e, 0x7a, 0x4f, 0xe6, 0x56, 0x4a, 0xf3, 0xeb, 0x03, 0xee, 0xec, 0xb4, 0xef, 0xa7, 0xf9, 0xce, - 0xa3, 0x73, 0xdd, 0xb4, 0x4f, 0x6d, 0x14, 0xc1, 0xc1, 0xcf, 0x0e, 0x6e, 0xef, 0x0c, 0x38, 0x80, 0x9f, 0xbf, 0xa3, - 0x79, 0x93, 0x41, 0x74, 0x7a, 0xab, 0x19, 0x5f, 0xc7, 0xbf, 0xe7, 0xad, 0x78, 0x90, 0xfe, 0x9e, 0xfc, 0x9e, 0xb7, - 0xd0, 0x00, 0xc5, 0x8b, 0xbb, 0x35, 0x9b, 0xaf, 0x21, 0xd8, 0xda, 0x83, 0x13, 0xfc, 0x20, 0x2c, 0xc9, 0x35, 0x2d, - 0x78, 0xb6, 0x76, 0x0f, 0x02, 0xae, 0xdd, 0xab, 0x44, 0x6b, 0xf3, 0xc6, 0xd5, 0x3a, 0x96, 0xe3, 0x02, 0x02, 0x0b, - 0xc7, 0x07, 0xed, 0xc1, 0xb0, 0xd3, 0x7e, 0x34, 0xb2, 0xff, 0x9a, 0x08, 0xf7, 0xa8, 0x11, 0xb1, 0xed, 0xed, 0xd6, - 0xd6, 0x8f, 0xc1, 0xb0, 0x03, 0x42, 0x81, 0x83, 0x5c, 0xfa, 0x26, 0x43, 0xd6, 0xf7, 0x64, 0xbd, 0x66, 0x2e, 0x9a, - 0xb5, 0xd3, 0xe0, 0x57, 0xb1, 0x99, 0x8e, 0xbb, 0x49, 0xaf, 0xef, 0xc5, 0x58, 0xd2, 0x82, 0x48, 0xd3, 0x98, 0x41, - 0x20, 0xa9, 0x95, 0xe1, 0xb0, 0x16, 0x77, 0x51, 0x5a, 0xdf, 0x1f, 0x41, 0xca, 0x77, 0x51, 0xca, 0x4f, 0x08, 0x04, - 0xd0, 0xb6, 0xcc, 0x51, 0xd5, 0x90, 0xf7, 0x5d, 0x7a, 0x6c, 0x9c, 0x19, 0x5a, 0x7c, 0xbd, 0xee, 0xd4, 0xc3, 0x54, - 0x65, 0x73, 0x98, 0xab, 0x0d, 0x16, 0xe4, 0x01, 0xe8, 0x9a, 0x15, 0x11, 0x83, 0xd0, 0x55, 0x1e, 0xde, 0x43, 0xc6, - 0x92, 0x80, 0x93, 0xfe, 0x40, 0x0c, 0x4a, 0x72, 0xfd, 0x38, 0x06, 0x1f, 0x33, 0xcc, 0x87, 0x7a, 0x58, 0x8e, 0x46, - 0x28, 0x75, 0x4e, 0x67, 0xa9, 0x89, 0xb8, 0x12, 0xf8, 0x25, 0x97, 0xe0, 0x97, 0xac, 0x10, 0x1b, 0x96, 0x23, 0xf2, - 0x38, 0x8b, 0x25, 0x38, 0xe5, 0xef, 0xf1, 0x79, 0x7c, 0x1e, 0x1a, 0x98, 0x9a, 0x61, 0x99, 0x8b, 0x6c, 0xb0, 0x98, - 0xb3, 0x96, 0x40, 0x70, 0x33, 0xe0, 0x2e, 0xb5, 0x21, 0xd1, 0x58, 0x03, 0x45, 0x77, 0x51, 0x68, 0x66, 0xf4, 0x6a, - 0xa7, 0x8d, 0x61, 0xe4, 0xf0, 0xc2, 0x5c, 0xc3, 0x58, 0x04, 0x32, 0x97, 0xab, 0x1e, 0xfb, 0xab, 0x0f, 0x9b, 0x15, - 0x06, 0xaf, 0xc8, 0x74, 0xe8, 0x8e, 0x63, 0xc6, 0x57, 0x7b, 0xe2, 0x18, 0x82, 0x4c, 0x2c, 0x95, 0x6e, 0x39, 0x26, - 0xae, 0xa2, 0xcf, 0xc4, 0x90, 0xed, 0x96, 0x67, 0xe6, 0x42, 0x37, 0xdb, 0x7f, 0x39, 0xb7, 0x73, 0x4e, 0xb8, 0xd1, - 0x4a, 0x1a, 0x6d, 0xd4, 0x0b, 0x43, 0x55, 0x5d, 0x30, 0xbf, 0xc7, 0x4e, 0x4b, 0x8b, 0x9d, 0xab, 0x77, 0x3f, 0x7c, - 0x9d, 0xaf, 0x8a, 0xbf, 0xc5, 0xea, 0xd0, 0x8a, 0x0c, 0x77, 0x3b, 0xc8, 0x9b, 0x33, 0x3d, 0xf6, 0x8a, 0x5c, 0xa8, - 0x0e, 0x7f, 0x51, 0x5f, 0x98, 0x07, 0x3b, 0xa3, 0x96, 0xf0, 0xe8, 0xf7, 0x20, 0x03, 0xe5, 0x1f, 0x4c, 0x4c, 0x16, - 0x2c, 0xb9, 0xa5, 0xa5, 0x88, 0xff, 0xf1, 0x4a, 0x98, 0x58, 0x55, 0x07, 0x30, 0x90, 0x03, 0x53, 0xf1, 0x00, 0x6e, - 0x4d, 0xf8, 0x84, 0xb3, 0x3c, 0x3d, 0x88, 0xfe, 0xd1, 0x12, 0xad, 0x7f, 0x44, 0xff, 0x00, 0x77, 0x67, 0xf7, 0x3a, - 0x64, 0x15, 0x17, 0xc2, 0xdf, 0x63, 0x3d, 0xae, 0x54, 0xca, 0x58, 0x7b, 0xdd, 0x72, 0x78, 0x21, 0xf5, 0x36, 0x8b, - 0x1f, 0x3b, 0x62, 0x6d, 0x53, 0xb0, 0x0e, 0x29, 0x29, 0x3c, 0xbb, 0x62, 0x6e, 0xb5, 0x98, 0xbb, 0xd4, 0x12, 0xfe, - 0xfa, 0xea, 0x71, 0xa5, 0x82, 0x86, 0x83, 0xd0, 0x95, 0xb6, 0x90, 0x00, 0x03, 0x97, 0xca, 0xa7, 0xd3, 0x9d, 0x49, - 0x64, 0x9c, 0xc5, 0xf0, 0xee, 0x41, 0x10, 0x48, 0x80, 0x6d, 0x85, 0x55, 0x81, 0xcb, 0x95, 0x3a, 0xea, 0xa5, 0x24, - 0x10, 0x80, 0xbe, 0xf2, 0x1e, 0x94, 0x57, 0x65, 0xbf, 0xd5, 0x92, 0xa0, 0x85, 0xa5, 0xe6, 0x5a, 0x15, 0xd3, 0xc3, - 0xf0, 0x55, 0xc3, 0xe0, 0xc3, 0x3b, 0xa4, 0x6d, 0x3d, 0x2d, 0x4a, 0x09, 0xb5, 0x3b, 0xe8, 0x10, 0xac, 0xb2, 0x83, - 0xf2, 0xef, 0x62, 0x8a, 0x6c, 0xfe, 0x90, 0x7d, 0x47, 0x5d, 0x87, 0x23, 0x57, 0xb0, 0xee, 0xa5, 0x8a, 0x82, 0x01, - 0x2b, 0xa7, 0x40, 0xed, 0x9d, 0x64, 0x34, 0x9b, 0x31, 0x50, 0xf7, 0xdb, 0xa2, 0xf5, 0xdc, 0x9e, 0x35, 0xfd, 0x86, - 0x8c, 0xb3, 0x8f, 0x30, 0xce, 0x3e, 0x0a, 0xbc, 0x58, 0x24, 0xf9, 0x41, 0xc6, 0x1a, 0xc7, 0xaa, 0x2d, 0xd0, 0x49, - 0x0f, 0xb8, 0x33, 0x70, 0xe0, 0x01, 0x5b, 0x94, 0xa3, 0x23, 0xea, 0x2c, 0xee, 0x69, 0x2b, 0xf3, 0xde, 0x9e, 0x50, - 0xbb, 0x8c, 0x05, 0x6e, 0x37, 0xcc, 0xb4, 0xa0, 0xb5, 0xd2, 0x38, 0x8f, 0x87, 0x11, 0x19, 0x1b, 0xf1, 0x13, 0xb6, - 0xac, 0xa9, 0x9a, 0x37, 0xd0, 0x1c, 0x35, 0x82, 0xdc, 0xbc, 0x32, 0xde, 0xaa, 0x64, 0x18, 0x45, 0x23, 0xcb, 0xa9, - 0x10, 0x43, 0x32, 0x86, 0x9d, 0x51, 0x70, 0xab, 0xbd, 0x5e, 0x73, 0x8f, 0xf8, 0xa2, 0xe1, 0xad, 0x66, 0x6e, 0x01, - 0xb2, 0x32, 0x8e, 0xaa, 0x7b, 0x93, 0x08, 0xbc, 0x6f, 0xab, 0x08, 0x69, 0xab, 0xa1, 0x7d, 0xba, 0xb2, 0x52, 0x6c, - 0xbe, 0xa7, 0xd3, 0x51, 0x1a, 0xd9, 0x11, 0x45, 0xf8, 0x53, 0x05, 0x49, 0xb8, 0x4a, 0xfa, 0xa4, 0x32, 0xb9, 0x60, - 0x2a, 0xe5, 0xf8, 0x53, 0x29, 0xa5, 0xbe, 0xb1, 0x5f, 0x12, 0xd7, 0x77, 0x32, 0x02, 0x7f, 0x9a, 0x32, 0xfd, 0x9e, - 0x96, 0x53, 0x06, 0x7e, 0x45, 0xfe, 0x76, 0x2c, 0xa5, 0xe4, 0xfa, 0x95, 0x88, 0x87, 0x14, 0xc3, 0xbb, 0xab, 0x23, - 0xac, 0x4d, 0x08, 0x94, 0x0a, 0x17, 0xe1, 0x82, 0xe8, 0x6d, 0x29, 0xef, 0xee, 0xe3, 0x12, 0x3b, 0x07, 0xc0, 0xca, - 0x69, 0x12, 0xe0, 0x5f, 0x3d, 0xe6, 0x63, 0x35, 0xe6, 0xd4, 0xe8, 0xfa, 0xdd, 0xef, 0xe4, 0x13, 0xd0, 0xdb, 0xca, - 0x51, 0x70, 0xd8, 0x19, 0x41, 0x2e, 0xdc, 0x85, 0xc1, 0xc5, 0x57, 0x58, 0xbb, 0x2c, 0x8d, 0x37, 0x16, 0x40, 0xef, - 0x49, 0x06, 0x16, 0x6c, 0x98, 0x63, 0x0a, 0x8f, 0xd6, 0x4e, 0x99, 0x0e, 0xa2, 0x82, 0x3c, 0xab, 0x9e, 0x25, 0x6d, - 0xd4, 0x7e, 0xc7, 0x26, 0x70, 0x87, 0x91, 0x7c, 0xbd, 0x70, 0xe2, 0xc0, 0x03, 0x32, 0x4d, 0x66, 0x9b, 0x7d, 0xeb, - 0x23, 0x8f, 0xbc, 0x99, 0xc4, 0xfb, 0x5a, 0x0a, 0xf3, 0xcd, 0x8a, 0x6e, 0x30, 0x84, 0xa2, 0x08, 0xfb, 0xbd, 0x55, - 0x31, 0x45, 0xb5, 0x41, 0x1b, 0x34, 0x2c, 0x6f, 0xc5, 0x0f, 0x70, 0xc6, 0xd0, 0x66, 0x21, 0x7b, 0x47, 0x67, 0x1d, - 0xce, 0x1c, 0x66, 0xcc, 0x08, 0x8c, 0x4a, 0xcb, 0x92, 0x4e, 0xc1, 0xd1, 0xb9, 0xfe, 0x20, 0x2a, 0xae, 0x8f, 0x15, - 0x80, 0x27, 0x99, 0xc1, 0x3f, 0xc5, 0x36, 0x58, 0x0f, 0x3b, 0x0d, 0xc3, 0xd4, 0x1f, 0xf4, 0xae, 0x6b, 0xf9, 0x2a, - 0xc4, 0x91, 0x2e, 0x86, 0xd0, 0x3a, 0x77, 0xf7, 0x80, 0x22, 0x2e, 0xe8, 0x45, 0xaa, 0xf1, 0x27, 0xb5, 0x1c, 0x9b, - 0xf5, 0x35, 0xae, 0x63, 0xda, 0x20, 0x8a, 0x75, 0xd7, 0xc4, 0x9f, 0xea, 0x57, 0x60, 0x55, 0x0a, 0xac, 0x33, 0x28, - 0x3f, 0x54, 0x75, 0xd9, 0x90, 0x4a, 0x72, 0x6d, 0x3a, 0x95, 0xa6, 0xd3, 0x1a, 0xa1, 0x5c, 0x7a, 0x52, 0xdd, 0xbf, - 0x42, 0x08, 0x03, 0x53, 0x66, 0x0f, 0x56, 0xa9, 0x1d, 0xac, 0x82, 0x57, 0x2f, 0xb6, 0xb0, 0x4a, 0xc2, 0xf1, 0x5c, - 0xa1, 0x51, 0x59, 0xe3, 0x90, 0x21, 0x7d, 0x21, 0x16, 0x41, 0x02, 0x60, 0xd1, 0x8f, 0x99, 0xcb, 0xfb, 0x16, 0x0e, - 0x85, 0x3d, 0xc9, 0x24, 0x9c, 0x6e, 0x42, 0x0b, 0x78, 0x1e, 0x58, 0x0d, 0x3c, 0x42, 0xcc, 0x4c, 0xfc, 0x27, 0x78, - 0x16, 0xfa, 0xdb, 0xcf, 0xd1, 0x3a, 0x0b, 0xf2, 0xf4, 0xdf, 0xa2, 0x24, 0x34, 0xf6, 0x3f, 0xc7, 0x43, 0x87, 0x84, - 0xe1, 0xc0, 0xb7, 0x47, 0x58, 0xe3, 0xe0, 0x4e, 0x11, 0x9f, 0xc1, 0x1d, 0x3e, 0x36, 0xa1, 0x07, 0x80, 0x25, 0x14, - 0x87, 0x20, 0xdf, 0x42, 0x31, 0x33, 0x6c, 0x4d, 0x56, 0xe1, 0x05, 0x2e, 0x58, 0x2d, 0x54, 0xf7, 0xb7, 0x1d, 0x2f, - 0xa5, 0x35, 0x2e, 0x79, 0x8d, 0x39, 0x50, 0xf5, 0x19, 0x5e, 0xf8, 0x0a, 0xf3, 0x5e, 0xb5, 0xfb, 0xc2, 0x9f, 0x1c, - 0xd0, 0x53, 0x08, 0x18, 0xe9, 0x7e, 0x6f, 0x08, 0xf7, 0x14, 0xbd, 0xca, 0xc5, 0x61, 0xdb, 0x41, 0xf7, 0x02, 0x73, - 0x75, 0x53, 0x67, 0x2d, 0xc0, 0x14, 0x1a, 0x1c, 0x54, 0xe1, 0x8c, 0xc0, 0x5c, 0xbd, 0xaa, 0x0a, 0x2e, 0x40, 0xbc, - 0x1f, 0x08, 0x93, 0x53, 0x45, 0x03, 0x78, 0x9f, 0x55, 0x8f, 0x4e, 0x0d, 0x38, 0xb8, 0x8c, 0x1b, 0x36, 0xf1, 0x99, - 0xf0, 0xa9, 0xc0, 0x4a, 0x5a, 0xe3, 0xd0, 0x88, 0xe6, 0x74, 0x01, 0x66, 0x1b, 0x40, 0xc1, 0xdd, 0xf9, 0xb0, 0xb5, - 0x50, 0xc1, 0x93, 0xbc, 0x8d, 0x17, 0xb4, 0x09, 0x71, 0x26, 0x4d, 0xc1, 0xdd, 0x76, 0x59, 0x06, 0xe6, 0xb7, 0xff, - 0x51, 0x58, 0x24, 0x18, 0x50, 0xa5, 0x49, 0x82, 0xf0, 0x04, 0x95, 0x91, 0x6e, 0xed, 0x66, 0x02, 0xe9, 0x44, 0x84, - 0x37, 0xcc, 0x3f, 0x6e, 0x9d, 0xaf, 0x8e, 0x1a, 0x88, 0x9a, 0x1a, 0xa8, 0x80, 0x1a, 0xc8, 0xe6, 0xf6, 0x2f, 0x61, - 0x21, 0x6c, 0x84, 0x2a, 0x11, 0x04, 0x44, 0x58, 0x68, 0xc3, 0x07, 0x94, 0x49, 0x08, 0x79, 0x03, 0xa8, 0x98, 0x92, - 0x77, 0x60, 0x34, 0x0e, 0xaf, 0xf7, 0x80, 0xfb, 0xa5, 0x65, 0x18, 0x3c, 0xa7, 0x60, 0xf2, 0x5f, 0xf8, 0x7c, 0xa8, - 0x5e, 0xad, 0x0e, 0x42, 0xf8, 0x19, 0xc4, 0x8a, 0x70, 0xfc, 0xc5, 0x0f, 0x40, 0x36, 0x15, 0x96, 0x47, 0x47, 0x12, - 0x04, 0x7e, 0x88, 0x22, 0x1c, 0xf0, 0x0c, 0xef, 0xb2, 0x2d, 0xa2, 0xe7, 0x67, 0xa5, 0xea, 0x59, 0xc9, 0x60, 0x56, - 0xa5, 0xa7, 0x71, 0x74, 0x43, 0x18, 0x08, 0x2e, 0xd4, 0xee, 0x1b, 0x84, 0x40, 0xd9, 0x72, 0x6b, 0xe8, 0xd2, 0x73, - 0x30, 0x1f, 0x8d, 0xa3, 0x77, 0x0c, 0x1e, 0x16, 0x36, 0xee, 0x28, 0x4c, 0xb3, 0x4c, 0x1b, 0xe6, 0xb1, 0x15, 0x38, - 0xa9, 0x53, 0x94, 0xfc, 0x29, 0xb9, 0x88, 0xa3, 0xf6, 0x75, 0x84, 0x5a, 0xf0, 0x6f, 0x8b, 0xa3, 0x3e, 0x4d, 0x68, - 0x9e, 0xfb, 0xe0, 0x37, 0x19, 0x31, 0x9b, 0x6c, 0xbd, 0x16, 0x35, 0x41, 0x4f, 0xec, 0x06, 0x03, 0x56, 0xe2, 0x19, - 0xb0, 0x0f, 0x96, 0x83, 0x25, 0xef, 0x45, 0xac, 0xfc, 0x29, 0x85, 0xc1, 0xea, 0x39, 0x43, 0x08, 0x67, 0x01, 0x93, - 0xf2, 0x3f, 0x9f, 0x69, 0xb8, 0x7e, 0x7e, 0xbe, 0x8e, 0x11, 0x91, 0x3e, 0x88, 0x5c, 0x83, 0x1d, 0x11, 0x41, 0xd8, - 0x32, 0x3d, 0x74, 0x65, 0xbe, 0xf3, 0xd6, 0xd5, 0x23, 0x1b, 0x2e, 0x0e, 0x0c, 0xa8, 0x51, 0x60, 0xb4, 0x82, 0x0b, - 0x52, 0x0d, 0x1c, 0x94, 0x10, 0x9a, 0x95, 0xf1, 0x8c, 0x5c, 0x43, 0x24, 0xbc, 0x0c, 0xf5, 0xc1, 0xb0, 0x20, 0x90, - 0xa0, 0x66, 0x20, 0x41, 0x65, 0xbe, 0x76, 0x0e, 0xb3, 0x2e, 0xcc, 0x6c, 0x67, 0xa8, 0xef, 0x82, 0xfc, 0xfc, 0xa0, - 0xe3, 0x1c, 0x58, 0xda, 0xa3, 0xa3, 0x12, 0x22, 0x88, 0x01, 0x05, 0xaf, 0x24, 0xc0, 0x40, 0x03, 0x5e, 0x6e, 0x69, - 0xc0, 0x17, 0xda, 0x78, 0x1d, 0x18, 0x5b, 0x9f, 0x2a, 0xc8, 0xc5, 0xeb, 0x7a, 0x4f, 0x13, 0x42, 0x0e, 0x3b, 0x03, - 0x9d, 0xee, 0x46, 0x48, 0x1c, 0xfc, 0xaa, 0x4d, 0xa0, 0x31, 0x47, 0xba, 0xeb, 0x8d, 0xf9, 0x77, 0x43, 0x8f, 0x58, - 0x4f, 0x42, 0xba, 0x20, 0x5d, 0x9e, 0x4f, 0x7b, 0x0d, 0x57, 0xac, 0xd2, 0xc8, 0xc1, 0x25, 0xe8, 0xb3, 0x01, 0x01, - 0x4a, 0x54, 0x99, 0x4a, 0xd0, 0x32, 0x2e, 0x93, 0x8a, 0x0d, 0xc3, 0x0c, 0xc2, 0x14, 0xd6, 0x2b, 0x41, 0xb7, 0xd6, - 0x00, 0x78, 0x67, 0x66, 0xff, 0x54, 0x3e, 0xd8, 0x74, 0xe3, 0xcd, 0x23, 0x80, 0x80, 0x1c, 0x76, 0x2b, 0x76, 0x5d, - 0x6c, 0x55, 0x66, 0x61, 0x2d, 0x63, 0x2b, 0xb7, 0xeb, 0x31, 0xf6, 0x5e, 0xec, 0xf2, 0x09, 0x10, 0xa2, 0xb6, 0x62, - 0x1a, 0xb1, 0x84, 0x21, 0xeb, 0xc6, 0x90, 0x8d, 0x36, 0x14, 0x9e, 0x4a, 0xe4, 0xc0, 0x25, 0x9a, 0x20, 0xf9, 0x8e, - 0x4b, 0x70, 0x08, 0x2f, 0x3c, 0xc2, 0x7f, 0x01, 0x16, 0xa9, 0xc4, 0x0c, 0xcb, 0xf5, 0x1a, 0xea, 0x79, 0xbc, 0xcf, - 0xb6, 0x83, 0x93, 0xca, 0xad, 0xb1, 0x4b, 0x3b, 0xf1, 0xb8, 0x6a, 0x42, 0xe2, 0x0c, 0xfa, 0xf5, 0x15, 0xd1, 0xe0, - 0xb0, 0x9b, 0xbe, 0xf2, 0xef, 0x95, 0xb9, 0x1d, 0x88, 0x0d, 0xeb, 0x0d, 0x56, 0x1f, 0x40, 0xcb, 0xff, 0xcc, 0xfc, - 0x43, 0x65, 0xc1, 0x4d, 0x82, 0xda, 0x5e, 0xc4, 0x3e, 0xeb, 0x23, 0x46, 0x1a, 0x8b, 0xbb, 0x47, 0x88, 0xff, 0x73, - 0x27, 0x8a, 0x01, 0x4f, 0x6a, 0xfe, 0x39, 0x46, 0x7d, 0x08, 0x45, 0x6d, 0x3d, 0x6c, 0x80, 0xd2, 0xae, 0x36, 0xb5, - 0x18, 0x19, 0x12, 0xc8, 0x77, 0x2e, 0xbc, 0xa0, 0x39, 0x89, 0x14, 0xc8, 0xc9, 0x75, 0x17, 0x4f, 0xb2, 0x2d, 0x61, - 0xae, 0xbf, 0x83, 0x63, 0xe6, 0x6a, 0x23, 0x2b, 0xe3, 0xf7, 0xc0, 0xce, 0x70, 0x23, 0x59, 0x3a, 0xf0, 0xa9, 0x06, - 0xf8, 0xfc, 0x9a, 0x1b, 0x8a, 0xa2, 0xd0, 0xe0, 0xbd, 0x7d, 0x64, 0x0e, 0x7e, 0xa7, 0x81, 0xf8, 0x98, 0x39, 0x1d, - 0xc9, 0x56, 0xa8, 0x35, 0x67, 0xc7, 0xcb, 0xb6, 0x23, 0x0c, 0x0a, 0x1b, 0xbd, 0xaf, 0x46, 0x56, 0xb1, 0xb7, 0x53, - 0x11, 0xcc, 0xe9, 0x56, 0xd5, 0xce, 0xa9, 0xdc, 0x32, 0xaa, 0x95, 0xa6, 0x01, 0x22, 0x5c, 0xf9, 0x44, 0xf2, 0x31, - 0x33, 0xe1, 0x1f, 0x0c, 0xc6, 0x35, 0x23, 0x85, 0x7f, 0xdc, 0x17, 0x3b, 0x64, 0x37, 0x3a, 0xdc, 0x56, 0xd0, 0xbc, - 0x50, 0xc1, 0x03, 0x8e, 0x4a, 0x96, 0x10, 0x29, 0x72, 0x7d, 0xa8, 0x1a, 0xa6, 0x6c, 0x9f, 0x22, 0x84, 0x90, 0xf6, - 0x38, 0xeb, 0x86, 0xd6, 0x0c, 0x3d, 0x52, 0x3b, 0x4d, 0xee, 0xd0, 0x5c, 0x17, 0xa0, 0xc2, 0x08, 0xa4, 0xab, 0xcf, - 0xec, 0x3e, 0x95, 0x10, 0xbd, 0x7c, 0xe3, 0x42, 0x18, 0x3b, 0x2b, 0x4b, 0x5c, 0x9a, 0x51, 0xdb, 0x30, 0xba, 0x6e, - 0x63, 0x38, 0x1b, 0x18, 0x33, 0x0d, 0x4a, 0x3a, 0x10, 0xea, 0xba, 0x4f, 0xaf, 0x32, 0x13, 0xe8, 0xb1, 0x20, 0xb4, - 0xc5, 0xf0, 0x8c, 0x68, 0xb0, 0x6c, 0x2a, 0xc1, 0x82, 0x6f, 0x55, 0xa6, 0xd6, 0x66, 0x93, 0xc5, 0xbf, 0xea, 0xd8, - 0x3c, 0xed, 0x57, 0xd4, 0xcc, 0x73, 0xe9, 0xa3, 0x23, 0x64, 0x3e, 0x1e, 0xdd, 0xf3, 0xb7, 0x37, 0xaf, 0x7e, 0x7c, - 0xf3, 0x7a, 0xbd, 0xee, 0xb2, 0x76, 0xf7, 0x0c, 0xff, 0x53, 0x57, 0xf1, 0x60, 0xab, 0x28, 0x40, 0x47, 0x47, 0x87, - 0xdc, 0xb8, 0xf0, 0x7c, 0xe6, 0x0b, 0x88, 0x1b, 0xa4, 0x47, 0xb8, 0x28, 0xab, 0x98, 0x20, 0x77, 0xd1, 0x20, 0xba, - 0x8f, 0x40, 0x09, 0x55, 0x93, 0xbf, 0x5f, 0xb6, 0x67, 0x7f, 0x00, 0x81, 0x89, 0xa0, 0x3e, 0x44, 0x00, 0x81, 0x78, - 0xa5, 0xb8, 0x24, 0xcc, 0x27, 0x40, 0x14, 0xef, 0x09, 0x70, 0xa6, 0x26, 0x6a, 0xd5, 0x44, 0xc5, 0x25, 0x90, 0x44, - 0x1b, 0x8e, 0x92, 0x9e, 0x98, 0x00, 0xde, 0x10, 0x94, 0xd2, 0xfe, 0xea, 0x17, 0xce, 0x5d, 0xaa, 0x40, 0x83, 0x4e, - 0x5a, 0xe0, 0x99, 0xfb, 0x9c, 0xc1, 0xe7, 0xac, 0xef, 0x4f, 0x07, 0x71, 0x5c, 0xe0, 0x25, 0x11, 0xc7, 0xfe, 0x59, - 0xc4, 0xd5, 0xa2, 0x64, 0x5f, 0xb8, 0x5c, 0xaa, 0x74, 0x75, 0x97, 0xca, 0xe4, 0xae, 0x9d, 0x1f, 0xc7, 0x65, 0x72, - 0xd7, 0x56, 0xc9, 0x1d, 0xc2, 0xf7, 0xa9, 0x4c, 0xee, 0x6d, 0xca, 0x7d, 0x5b, 0xc1, 0xcd, 0x17, 0x16, 0x70, 0x28, - 0xda, 0xa2, 0xad, 0xe5, 0x76, 0x51, 0x9b, 0xe2, 0x8a, 0x86, 0xd1, 0x14, 0xf7, 0x6c, 0xfc, 0x30, 0x7c, 0x09, 0xae, - 0x4c, 0x9a, 0xc8, 0x3f, 0x41, 0xfa, 0xe9, 0xd4, 0x06, 0xee, 0x33, 0xd2, 0xe9, 0xcf, 0xae, 0x44, 0xbb, 0xdb, 0x6f, - 0xb5, 0x66, 0xb0, 0x77, 0x33, 0x52, 0xf8, 0x62, 0xb3, 0x96, 0x89, 0xaf, 0x73, 0x98, 0xad, 0xd7, 0x87, 0x05, 0x32, - 0x1b, 0x6e, 0xca, 0x62, 0x3d, 0x9c, 0x8d, 0x70, 0x07, 0x7f, 0xc8, 0x10, 0x5a, 0xb1, 0xe1, 0x6c, 0x44, 0xd8, 0x70, - 0xd6, 0xea, 0x8e, 0xac, 0xa1, 0x9d, 0xd9, 0x8a, 0x1b, 0x08, 0xa1, 0x39, 0x1b, 0x9d, 0x98, 0x92, 0xd2, 0xe5, 0xdb, - 0x2f, 0x5a, 0x07, 0xf4, 0x53, 0x8d, 0xe0, 0x65, 0x12, 0xf7, 0xa0, 0x2f, 0x7a, 0x65, 0x9f, 0x6e, 0x2d, 0xc9, 0xe9, - 0x49, 0xed, 0x6a, 0x4f, 0x11, 0x36, 0x3d, 0xa9, 0xe3, 0xf2, 0xd8, 0x34, 0xe3, 0xba, 0x94, 0xee, 0x3b, 0xd4, 0x8c, - 0xfc, 0xe5, 0x60, 0x01, 0x08, 0x52, 0xc3, 0xa3, 0x28, 0x5d, 0x38, 0xa5, 0x10, 0x2e, 0x0e, 0x2a, 0x3b, 0x30, 0x29, - 0x48, 0xa7, 0x5f, 0x18, 0x4b, 0xff, 0xc2, 0x45, 0x34, 0xa5, 0x98, 0x92, 0xcc, 0x97, 0x2c, 0x0c, 0x58, 0xe8, 0x36, - 0xe5, 0x99, 0x81, 0x5e, 0x69, 0x84, 0x73, 0x02, 0xf1, 0x90, 0xfa, 0xa5, 0x31, 0xf0, 0x8a, 0x67, 0xed, 0x72, 0xc8, - 0x46, 0xe8, 0xe4, 0x14, 0xd3, 0xe1, 0x1f, 0xd9, 0xa2, 0x0b, 0x8f, 0x05, 0xfe, 0x31, 0x22, 0xb3, 0xb6, 0xac, 0x12, - 0x04, 0x24, 0xe4, 0x6d, 0x79, 0x0c, 0x7b, 0x09, 0xe1, 0xcc, 0x56, 0xcc, 0x86, 0x6c, 0xd4, 0x9e, 0x55, 0x15, 0x7b, - 0xbe, 0x62, 0x4b, 0x56, 0x09, 0xb6, 0x62, 0xcb, 0x55, 0x0c, 0x5f, 0x67, 0x30, 0x20, 0x08, 0x01, 0xc0, 0x00, 0x00, - 0x1a, 0x05, 0xd1, 0x7c, 0xb1, 0x22, 0x7e, 0xb3, 0xdb, 0x7b, 0xfc, 0x0e, 0x58, 0xa0, 0x35, 0xf6, 0xff, 0x3e, 0x94, - 0x01, 0x7b, 0xca, 0xd2, 0xc4, 0xcc, 0x2d, 0xad, 0x8a, 0x0e, 0xa0, 0x52, 0x21, 0x4c, 0x69, 0x20, 0x73, 0x98, 0x19, - 0xa8, 0x05, 0x5a, 0x83, 0x62, 0xa8, 0x47, 0xed, 0x0c, 0x8e, 0x18, 0x78, 0x87, 0x86, 0xcc, 0x8c, 0x31, 0x61, 0x5c, - 0xc0, 0x14, 0x33, 0x03, 0x9e, 0x59, 0xda, 0xd9, 0x48, 0x23, 0xcb, 0x0d, 0x8a, 0xc1, 0x5f, 0x3a, 0x56, 0xc3, 0xb2, - 0xdd, 0x1d, 0xa1, 0x43, 0x42, 0xec, 0xc7, 0x08, 0x36, 0x99, 0x4b, 0x6d, 0x99, 0xef, 0x93, 0x5e, 0x6a, 0x3f, 0xe1, - 0xcf, 0x68, 0x63, 0x76, 0x00, 0xe8, 0xc8, 0xb0, 0x59, 0x7f, 0xd9, 0x50, 0x79, 0xfd, 0xba, 0x37, 0x4a, 0xe5, 0xbe, - 0x77, 0xa7, 0x03, 0xd5, 0x44, 0xe8, 0xad, 0x87, 0xab, 0x87, 0x7a, 0x08, 0x98, 0x31, 0x98, 0x5b, 0x66, 0xf4, 0xad, - 0x10, 0xc9, 0x25, 0x91, 0xc0, 0x92, 0x60, 0x4a, 0x18, 0xec, 0xad, 0xa3, 0x23, 0x53, 0x8d, 0xb5, 0xe0, 0x79, 0x52, - 0x04, 0x82, 0x81, 0x8f, 0xa0, 0x0c, 0x68, 0xa2, 0xcc, 0x6d, 0x38, 0xf9, 0x95, 0xb9, 0x5f, 0xb8, 0xba, 0x7d, 0x2c, - 0x9d, 0xb6, 0xd5, 0x5c, 0x8f, 0x57, 0x05, 0xee, 0xab, 0x7b, 0x49, 0xab, 0xe0, 0x46, 0xf6, 0x26, 0x4f, 0x99, 0xbb, - 0x75, 0x5f, 0xaa, 0xb7, 0xbf, 0x99, 0x5e, 0xd5, 0x4c, 0x6f, 0xb7, 0x99, 0x30, 0xae, 0xe4, 0xd7, 0xac, 0x22, 0xcd, - 0xc9, 0x9a, 0xa8, 0x05, 0x15, 0xff, 0xa4, 0x0b, 0xd0, 0x8e, 0x72, 0x7b, 0xaf, 0x0a, 0x27, 0x57, 0x41, 0xae, 0x0f, - 0x0b, 0x43, 0x5c, 0x91, 0xb9, 0x50, 0x87, 0x00, 0x2f, 0xaf, 0xaa, 0xc7, 0x07, 0xb8, 0x14, 0x3f, 0xc9, 0xdc, 0x45, - 0x39, 0x15, 0x52, 0x4b, 0xc1, 0x22, 0x64, 0x50, 0xd5, 0xc5, 0xc0, 0x5e, 0xd9, 0xbd, 0x27, 0x06, 0x7c, 0x58, 0x47, - 0xcc, 0x1b, 0x99, 0xe7, 0x3e, 0xbe, 0xa5, 0x29, 0x76, 0x6a, 0xe2, 0x8c, 0xfc, 0x92, 0xc5, 0x05, 0xc8, 0x66, 0xc3, - 0xfa, 0xb5, 0xdf, 0x56, 0x17, 0x97, 0xed, 0x58, 0x0c, 0xcc, 0x13, 0x27, 0xdf, 0x95, 0xc6, 0x38, 0xc0, 0x3a, 0xfa, - 0x23, 0x4c, 0x2d, 0xd8, 0xb3, 0xc4, 0x53, 0xe8, 0xe4, 0xce, 0xa6, 0xdd, 0x87, 0x69, 0xf7, 0x26, 0xad, 0x07, 0xe5, - 0x80, 0x34, 0xbb, 0x32, 0xbd, 0x7b, 0xff, 0x7d, 0x0f, 0x2f, 0xdd, 0x6e, 0x20, 0x12, 0xf7, 0xe2, 0x89, 0x31, 0x86, - 0x78, 0x0b, 0x36, 0xa2, 0xea, 0xe8, 0xe8, 0x07, 0xe7, 0x7d, 0x5b, 0xcb, 0xb2, 0x5f, 0x0b, 0x07, 0xb6, 0xc5, 0x54, - 0xba, 0xbc, 0x5c, 0x66, 0x4b, 0xb0, 0xeb, 0x3c, 0xfc, 0x4a, 0x3c, 0x7c, 0x11, 0x32, 0x2d, 0xd6, 0x55, 0xfc, 0xb5, - 0xcc, 0x2b, 0x0f, 0x51, 0x0d, 0x11, 0x48, 0x6b, 0xeb, 0xd2, 0xd0, 0x74, 0xf4, 0x66, 0x46, 0x73, 0x79, 0xfb, 0x4e, - 0x4a, 0x3d, 0xb2, 0x2f, 0x72, 0xeb, 0x04, 0x1e, 0x2d, 0x6c, 0x30, 0x34, 0xf7, 0x95, 0x77, 0x92, 0x0d, 0x88, 0xda, - 0x1c, 0x77, 0x28, 0x89, 0xc4, 0xa2, 0xbe, 0x0b, 0xe1, 0x70, 0x17, 0x82, 0x79, 0x15, 0xb4, 0x0d, 0x62, 0xb7, 0xbb, - 0xa0, 0x6d, 0xe0, 0xd4, 0x6d, 0x03, 0xb7, 0x07, 0x83, 0x85, 0xbd, 0x0f, 0x2f, 0xc7, 0x72, 0x2c, 0x1c, 0x7f, 0xf0, - 0xd6, 0x3e, 0x00, 0x04, 0x6a, 0x1f, 0x56, 0x3e, 0x73, 0x20, 0x48, 0x9c, 0xe1, 0xe8, 0x47, 0xce, 0x6e, 0xad, 0xe5, - 0xf0, 0x7c, 0xb1, 0xd4, 0x2c, 0x37, 0x77, 0xd4, 0xa0, 0xe2, 0x6b, 0xfa, 0x79, 0xfd, 0x9c, 0x35, 0x74, 0xe3, 0x6f, - 0x21, 0x8c, 0x84, 0x53, 0x76, 0x18, 0x85, 0x84, 0x0d, 0x66, 0x55, 0xc5, 0x6b, 0xfb, 0x0d, 0xe2, 0x3d, 0x68, 0x13, - 0x4e, 0xb0, 0x6c, 0x5c, 0x50, 0x45, 0xd8, 0xc6, 0x1b, 0x0b, 0xa2, 0x3c, 0x3c, 0xd8, 0x31, 0x9a, 0x5e, 0x6d, 0x20, - 0xd0, 0xf1, 0x20, 0x6a, 0x47, 0x2d, 0x96, 0xba, 0xa0, 0xcc, 0x3e, 0xc2, 0xb8, 0xba, 0x3a, 0x33, 0x71, 0xda, 0x2b, - 0xbd, 0xfa, 0x6f, 0x19, 0x18, 0xe0, 0x0b, 0xf0, 0x12, 0x0b, 0xa3, 0xbb, 0x0e, 0x75, 0x0b, 0xea, 0xcb, 0x16, 0x1b, - 0xa1, 0xf5, 0xba, 0x53, 0x3d, 0x03, 0xe5, 0xae, 0xb9, 0x84, 0xbd, 0xe6, 0x12, 0xee, 0x9a, 0x4b, 0xf8, 0x6b, 0x2e, - 0x61, 0xae, 0xb9, 0x84, 0xbf, 0xe6, 0xf2, 0x20, 0xfc, 0x3e, 0x88, 0xe3, 0x18, 0x73, 0x88, 0xab, 0xa8, 0x6d, 0x64, - 0x3c, 0xb8, 0xf0, 0x3c, 0x64, 0x89, 0xaa, 0x96, 0x3f, 0x8c, 0x21, 0x57, 0x6c, 0xdb, 0x4a, 0x18, 0xb7, 0x29, 0xa6, - 0x20, 0x72, 0xfa, 0xd1, 0x51, 0xed, 0xee, 0x3c, 0xec, 0x8c, 0x52, 0x8e, 0x57, 0xd6, 0x89, 0xf6, 0x5f, 0xa0, 0x93, - 0x37, 0xbf, 0x7e, 0x4d, 0xe5, 0x86, 0x08, 0x67, 0x72, 0x7f, 0xd8, 0xf5, 0x94, 0xe2, 0xfb, 0xcc, 0x84, 0x27, 0xe7, - 0x89, 0x36, 0x22, 0x08, 0x42, 0x94, 0x28, 0xfc, 0x7f, 0xb3, 0xf7, 0xae, 0xcb, 0x6d, 0x23, 0x59, 0xba, 0xe8, 0xab, - 0x48, 0x0c, 0x9b, 0x05, 0x98, 0x49, 0x8a, 0xf2, 0xde, 0x33, 0x11, 0x07, 0x54, 0x9a, 0x61, 0xcb, 0xe5, 0x2e, 0x77, - 0xf9, 0xd6, 0xb6, 0xab, 0xba, 0xaa, 0x19, 0x3c, 0x2a, 0x08, 0x48, 0x12, 0x70, 0x81, 0x00, 0x0b, 0x00, 0x25, 0xd2, - 0x24, 0xde, 0x7d, 0xc7, 0x5a, 0x2b, 0xaf, 0x20, 0x28, 0xbb, 0x67, 0xf6, 0xfc, 0x3a, 0xe7, 0x8f, 0x2d, 0x26, 0x12, - 0x89, 0xbc, 0xe7, 0xca, 0x75, 0xf9, 0xbe, 0x88, 0x17, 0xb4, 0xde, 0x55, 0x28, 0x3c, 0xaa, 0xa2, 0x94, 0x5b, 0xc9, - 0x75, 0x06, 0x41, 0xec, 0xe8, 0x85, 0xe1, 0x4f, 0x20, 0x84, 0x20, 0xc2, 0x84, 0xdf, 0x86, 0x19, 0x6d, 0x67, 0x91, - 0x4e, 0xfa, 0x7d, 0x98, 0xe1, 0x06, 0x56, 0xf2, 0x73, 0xd5, 0x67, 0xfb, 0x6d, 0x10, 0xb2, 0x5d, 0x10, 0xb1, 0xdb, - 0x62, 0x1b, 0x94, 0xd6, 0x91, 0xf8, 0x49, 0x19, 0xfe, 0x16, 0x5e, 0x2f, 0x0f, 0x21, 0xde, 0xa7, 0x97, 0xe6, 0x67, - 0x69, 0x2b, 0x0a, 0x70, 0x1f, 0xa1, 0x47, 0x75, 0x20, 0xd8, 0x09, 0x4f, 0x78, 0x00, 0x27, 0xab, 0x59, 0xc5, 0x3f, - 0xa4, 0x20, 0x4e, 0x14, 0x1c, 0x02, 0xae, 0xb6, 0x9f, 0xd2, 0xaf, 0x60, 0xf8, 0xd2, 0xc1, 0x96, 0xc3, 0xdb, 0x62, - 0xdb, 0x63, 0x25, 0x7f, 0x04, 0xec, 0x5b, 0x3d, 0x19, 0xab, 0xdb, 0x03, 0x67, 0x5d, 0x4a, 0xd1, 0xf1, 0xa6, 0x38, - 0xbc, 0x3d, 0x9f, 0xed, 0xb7, 0x41, 0xc4, 0x76, 0x41, 0x86, 0xb5, 0x4e, 0x1a, 0x8e, 0x83, 0x21, 0x7c, 0x16, 0x23, - 0xec, 0xff, 0xa2, 0x1e, 0x78, 0x09, 0xa9, 0xa1, 0xc0, 0xc5, 0x60, 0xc3, 0xd1, 0xda, 0x2e, 0xd3, 0xc0, 0x4d, 0x0d, - 0x7a, 0x7d, 0x4f, 0x21, 0xca, 0x0b, 0x46, 0x73, 0x23, 0x58, 0x37, 0x86, 0x5c, 0x1c, 0x8e, 0x9b, 0xc5, 0x90, 0x97, - 0x34, 0x9d, 0x06, 0xa1, 0x74, 0x67, 0x59, 0x43, 0x12, 0x65, 0x1f, 0x84, 0xda, 0xb5, 0x65, 0xbf, 0x0d, 0x6c, 0x5f, - 0xfe, 0x68, 0x18, 0xfb, 0x17, 0x8b, 0x27, 0x42, 0xba, 0x88, 0xe7, 0x20, 0x88, 0xda, 0xcf, 0xb3, 0xe1, 0xc6, 0xbf, - 0x58, 0x3f, 0x11, 0xca, 0x6f, 0x3c, 0xb7, 0xe5, 0x10, 0x91, 0xb5, 0xf0, 0x85, 0xf1, 0xf0, 0xe0, 0xca, 0xd0, 0x76, - 0x38, 0x08, 0xfd, 0xb7, 0x59, 0x23, 0xb8, 0xb1, 0xa1, 0x7d, 0xbe, 0xf0, 0x61, 0x6b, 0xa3, 0xb1, 0xa6, 0x98, 0x6e, - 0xa1, 0x7f, 0x93, 0xd9, 0xd2, 0x9e, 0x46, 0x25, 0x2f, 0x4e, 0x4d, 0x23, 0x16, 0xc2, 0x80, 0xa1, 0x9f, 0xcc, 0x23, - 0x50, 0xcd, 0x1d, 0x8f, 0x40, 0x26, 0x1f, 0xe8, 0xc1, 0x9a, 0xd4, 0xaa, 0xbf, 0x86, 0x99, 0xfc, 0x3f, 0x52, 0x61, - 0x31, 0xba, 0xdb, 0x86, 0x99, 0xfa, 0x23, 0x92, 0x7f, 0xb0, 0x9c, 0xef, 0x52, 0x2f, 0xd4, 0x7e, 0x2c, 0xac, 0xc0, - 0xa0, 0x44, 0xd5, 0x80, 0x1e, 0x88, 0xa0, 0x2a, 0x83, 0x34, 0xc3, 0xea, 0x1c, 0xf4, 0xbb, 0xa7, 0x55, 0x47, 0x72, - 0x48, 0x6b, 0x35, 0xa4, 0x82, 0xa9, 0x52, 0x83, 0xfc, 0x70, 0x58, 0xa6, 0x4c, 0x97, 0x01, 0x97, 0xf4, 0x65, 0xaa, - 0x94, 0xc2, 0x7f, 0x21, 0x00, 0x9d, 0x83, 0x7b, 0x7c, 0x39, 0x06, 0xd2, 0x0c, 0x0b, 0xbf, 0x35, 0x3b, 0xbe, 0x26, - 0xe1, 0x36, 0x09, 0x2e, 0x06, 0x38, 0x47, 0x57, 0x61, 0xb9, 0x4c, 0x21, 0x82, 0xaa, 0x84, 0xfa, 0x56, 0xa6, 0x41, - 0x69, 0xab, 0x41, 0x58, 0x93, 0x50, 0x67, 0x92, 0x8d, 0x4a, 0xdb, 0x8d, 0xc2, 0x6c, 0x11, 0xd7, 0x33, 0xc2, 0x9a, - 0xb3, 0x99, 0x6a, 0x60, 0xd2, 0x70, 0xdc, 0x34, 0x5a, 0x8b, 0x0a, 0x35, 0x85, 0x79, 0x8d, 0xab, 0x4a, 0x55, 0x77, - 0x73, 0x6a, 0x29, 0x2d, 0xda, 0xab, 0x6e, 0x92, 0x0d, 0xb9, 0x0c, 0x65, 0x18, 0x6c, 0xe4, 0x08, 0x26, 0x90, 0x24, - 0x67, 0xfe, 0x46, 0xfe, 0xa1, 0x36, 0x5d, 0x0b, 0x98, 0x63, 0xcc, 0xb2, 0x61, 0x41, 0xaf, 0xc0, 0x3d, 0xd0, 0x4a, - 0xcf, 0xa7, 0xd9, 0x45, 0x1e, 0x24, 0xc3, 0x42, 0x2f, 0x9b, 0x8c, 0xff, 0x25, 0x8c, 0x34, 0x99, 0xb1, 0x92, 0x45, - 0xb6, 0xab, 0x53, 0xe2, 0x3c, 0x4e, 0x60, 0x7b, 0x34, 0xbd, 0xe5, 0xfb, 0x0c, 0xa2, 0x82, 0x40, 0xc1, 0x8c, 0xf9, - 0xb2, 0x8b, 0xa7, 0xbe, 0xcf, 0x2c, 0x53, 0xf7, 0xe1, 0x60, 0xcc, 0xd8, 0x7e, 0xbf, 0x9f, 0xf7, 0xfb, 0x6a, 0xbe, - 0xf5, 0xfb, 0xc9, 0x33, 0xf3, 0xb7, 0x07, 0x0c, 0x0a, 0x72, 0x22, 0x9a, 0x0a, 0x11, 0xfc, 0x43, 0xf2, 0x04, 0xc9, - 0xe8, 0x8e, 0xfb, 0xdc, 0x72, 0xb6, 0xac, 0x8e, 0x40, 0x30, 0x0f, 0x87, 0x4b, 0x05, 0x76, 0x2d, 0x51, 0x24, 0x64, - 0xf9, 0x4f, 0xc0, 0x78, 0xe6, 0x3e, 0xc0, 0x92, 0x01, 0x08, 0x5b, 0xe5, 0xe9, 0x7a, 0xcf, 0x57, 0xc1, 0x3b, 0x1d, - 0xef, 0x1a, 0x2b, 0x32, 0x10, 0xb7, 0xc0, 0x46, 0xac, 0xb5, 0x07, 0xe4, 0x4c, 0x01, 0x8e, 0x17, 0x87, 0xc3, 0xb9, - 0xfc, 0xa5, 0x9b, 0xad, 0x13, 0xa8, 0x14, 0xb8, 0x3d, 0x3a, 0x39, 0xf8, 0x1f, 0x40, 0x33, 0x28, 0x87, 0x79, 0xbd, - 0xfd, 0x83, 0x39, 0xf9, 0xe9, 0x29, 0xfe, 0x09, 0x0f, 0xd1, 0xe9, 0xb7, 0x7b, 0xf3, 0x07, 0x45, 0xe5, 0xe1, 0xa0, - 0x16, 0xff, 0x39, 0xe7, 0x15, 0xfc, 0xc2, 0x37, 0x81, 0xd9, 0x64, 0xea, 0x9d, 0x7c, 0x93, 0xe7, 0x4c, 0xbd, 0xc6, - 0x2b, 0x26, 0xdf, 0xe1, 0x70, 0x2e, 0x46, 0xf5, 0x76, 0xe4, 0x44, 0x3b, 0xe5, 0x18, 0x07, 0x83, 0xff, 0x22, 0xda, - 0x26, 0x04, 0x18, 0xca, 0xe1, 0xc8, 0x6c, 0x5c, 0x59, 0xe2, 0x59, 0x3a, 0xbf, 0x9c, 0xd4, 0xe5, 0x4e, 0x2b, 0x9e, - 0xf6, 0xc0, 0xe2, 0xb6, 0x06, 0x2f, 0x80, 0x3b, 0x8b, 0xad, 0x2b, 0x05, 0x87, 0x0b, 0x88, 0x53, 0x9c, 0x80, 0x08, - 0xda, 0xef, 0x4b, 0xbc, 0x57, 0xd0, 0x27, 0xfd, 0x08, 0xc1, 0x90, 0x6f, 0x24, 0xe0, 0xae, 0xd7, 0xab, 0x31, 0xbe, - 0x97, 0x42, 0x70, 0x7d, 0xa6, 0x01, 0x68, 0xc1, 0xef, 0xf2, 0xa1, 0x9c, 0x7e, 0x13, 0x81, 0x67, 0xcb, 0xde, 0x44, - 0xb9, 0xdb, 0xf0, 0xb4, 0x9f, 0x5a, 0x08, 0xc0, 0x52, 0x3c, 0x53, 0x82, 0x05, 0x39, 0xc5, 0x5c, 0xfc, 0xbf, 0xe0, - 0x23, 0xe6, 0x7b, 0xd2, 0x45, 0x6c, 0xbd, 0x7d, 0x74, 0x61, 0x20, 0x81, 0xa6, 0x03, 0xf0, 0xe3, 0x55, 0x40, 0x57, - 0xc6, 0xbf, 0xd3, 0xb2, 0x1e, 0xeb, 0xe3, 0x3f, 0x05, 0xf7, 0xe9, 0x27, 0x0a, 0x1f, 0x1d, 0x8e, 0xab, 0x74, 0xb4, - 0xa3, 0x14, 0x44, 0x47, 0xb7, 0xcf, 0xa7, 0x2a, 0xfb, 0xae, 0x02, 0x72, 0xcb, 0x51, 0x7b, 0x2a, 0x00, 0x8b, 0x2d, - 0x1d, 0x81, 0x4f, 0xb3, 0x7c, 0x42, 0xbe, 0xd7, 0x53, 0x71, 0x75, 0xa9, 0xd3, 0xc5, 0xb3, 0xf1, 0x14, 0xfe, 0x07, - 0x62, 0x0f, 0xcb, 0x14, 0xd9, 0xb1, 0xeb, 0xe2, 0x07, 0xf1, 0xb6, 0xb6, 0xa3, 0x3f, 0x76, 0x10, 0xe9, 0xb8, 0x27, - 0x17, 0xea, 0x4b, 0x48, 0x25, 0x17, 0xea, 0x06, 0x62, 0x17, 0x6a, 0xbc, 0xe3, 0x22, 0xd6, 0xfa, 0xdb, 0x1a, 0x05, - 0x2b, 0x01, 0x67, 0xda, 0x5b, 0x30, 0xd8, 0xc0, 0xba, 0x65, 0x19, 0xfc, 0x0d, 0xd7, 0x34, 0x81, 0x1b, 0x16, 0x59, - 0xef, 0x0d, 0xb6, 0xd2, 0x5b, 0x70, 0xb4, 0x4c, 0x9c, 0x4b, 0x49, 0x52, 0xb6, 0xc8, 0xb8, 0x7a, 0x14, 0x52, 0x35, - 0xdd, 0xdf, 0x8a, 0xfa, 0x5e, 0x88, 0x3c, 0x58, 0xa5, 0x2c, 0x2a, 0x56, 0x20, 0xb3, 0x07, 0xff, 0x0a, 0x19, 0x39, - 0xca, 0x81, 0xa3, 0xd0, 0x3f, 0x9a, 0x40, 0xe7, 0xa9, 0x23, 0x9d, 0x47, 0x82, 0xad, 0xd4, 0x43, 0x61, 0xe5, 0x05, - 0x44, 0x07, 0xdb, 0x31, 0xb7, 0xf2, 0x24, 0x54, 0x6c, 0xca, 0x44, 0x1e, 0x07, 0xb5, 0x04, 0x8c, 0x15, 0x04, 0x73, - 0x96, 0x4b, 0x17, 0xa4, 0xaa, 0xd1, 0xc3, 0x22, 0x73, 0x3f, 0x16, 0x94, 0xff, 0xb1, 0xca, 0x09, 0xd7, 0x97, 0x21, - 0xc0, 0xd1, 0x3e, 0x06, 0x51, 0x62, 0xac, 0x5f, 0xb4, 0x78, 0x27, 0x33, 0x67, 0x53, 0xdb, 0x4b, 0x90, 0xb1, 0x1d, - 0x7e, 0x85, 0xd0, 0x6a, 0xa1, 0xc8, 0xa2, 0xe1, 0x82, 0xe9, 0xf6, 0x94, 0x56, 0xdd, 0xc3, 0x86, 0x27, 0xa5, 0x87, - 0x4a, 0x7d, 0x1b, 0x13, 0x58, 0x56, 0x29, 0xc3, 0xb7, 0x13, 0xaa, 0x4e, 0x0c, 0x2a, 0xd6, 0x0d, 0x5b, 0xc0, 0x21, - 0x16, 0x93, 0xc6, 0x3a, 0x1b, 0xf0, 0x88, 0x25, 0xf0, 0xcf, 0x86, 0x8f, 0xd9, 0x82, 0x47, 0x93, 0xcd, 0xd5, 0xa2, - 0xdf, 0x2f, 0xbd, 0xd0, 0xab, 0x67, 0xd9, 0xe3, 0x68, 0x3e, 0xcb, 0xe7, 0x3e, 0x2a, 0x2e, 0x26, 0x83, 0xc1, 0xc6, - 0xcf, 0x86, 0x43, 0x96, 0x0c, 0x87, 0x93, 0xec, 0x31, 0xbc, 0xf6, 0x98, 0x47, 0x6a, 0x49, 0x25, 0x57, 0x19, 0xec, - 0xef, 0x03, 0x1e, 0xf9, 0xac, 0xf3, 0xd3, 0xb2, 0xe9, 0xd2, 0xfd, 0xcc, 0x8e, 0xbb, 0xd0, 0x1d, 0x60, 0xe3, 0x6d, - 0x83, 0x8e, 0xfc, 0xdb, 0x1d, 0x52, 0xea, 0x26, 0x03, 0xb0, 0x1b, 0x0d, 0x70, 0xc8, 0x54, 0x2f, 0x45, 0x56, 0x2f, - 0x65, 0xaa, 0x97, 0x64, 0xe5, 0x12, 0x2c, 0x24, 0xa6, 0xca, 0x6d, 0x64, 0xe5, 0x16, 0x0d, 0xd7, 0xc3, 0xc1, 0xd6, - 0x8a, 0xcb, 0x66, 0x09, 0xf7, 0x85, 0x15, 0x05, 0xfe, 0xdf, 0xb2, 0x1b, 0x76, 0x27, 0x8f, 0x81, 0x6b, 0x74, 0x4c, - 0x82, 0x0b, 0xc4, 0x1d, 0xbb, 0x05, 0x3b, 0x2c, 0xfc, 0x05, 0xd7, 0xc9, 0x31, 0xdb, 0xe1, 0xa3, 0xd0, 0x2b, 0xd8, - 0xad, 0x4f, 0x40, 0xbb, 0x60, 0x6b, 0x80, 0x6c, 0x6c, 0x8b, 0x8f, 0x96, 0x87, 0xc3, 0xb5, 0xe7, 0xb3, 0x7b, 0xfc, - 0x71, 0xbe, 0x3c, 0x1c, 0x76, 0x9e, 0x51, 0xef, 0xbd, 0xe5, 0x09, 0x7b, 0xcf, 0x93, 0xc9, 0xdb, 0x2b, 0x1e, 0x4f, - 0x06, 0x83, 0xb7, 0xfe, 0x0d, 0xaf, 0x67, 0x6f, 0x41, 0x3b, 0x70, 0x7e, 0x23, 0x75, 0xcd, 0xde, 0x2d, 0xcf, 0xbc, - 0x1b, 0x1c, 0x9b, 0x5b, 0x38, 0x7a, 0xfb, 0x7d, 0x6f, 0xc9, 0x23, 0xef, 0x96, 0x54, 0x4c, 0x2b, 0xae, 0x38, 0xde, - 0xb6, 0xb8, 0x9f, 0xae, 0x78, 0x08, 0x8f, 0xb0, 0x2a, 0xd3, 0xb7, 0xc1, 0x7b, 0x9f, 0xad, 0x34, 0x0b, 0xdc, 0x3d, - 0xe6, 0x58, 0x93, 0x9d, 0xd0, 0x4c, 0xfc, 0x15, 0xf6, 0xcf, 0x5b, 0xd5, 0x3f, 0x34, 0xff, 0x4b, 0xdd, 0x4f, 0xe0, - 0xf6, 0x45, 0x16, 0x24, 0xf6, 0x9e, 0xbf, 0x65, 0x77, 0xdc, 0xb0, 0xcd, 0x9e, 0x99, 0xb2, 0x4f, 0x94, 0x1a, 0x3f, - 0x50, 0xea, 0xda, 0x32, 0xac, 0xb4, 0xae, 0x7c, 0x08, 0x1c, 0x0e, 0xc8, 0x4f, 0x4b, 0xc4, 0x41, 0x68, 0xdd, 0x64, - 0x35, 0x57, 0x94, 0x73, 0xa1, 0x0d, 0x33, 0x2f, 0x07, 0x16, 0xb3, 0x94, 0x42, 0x63, 0x01, 0x80, 0x60, 0x52, 0x68, - 0xed, 0xbd, 0x0c, 0x20, 0x27, 0x68, 0xf8, 0x63, 0x73, 0x55, 0x96, 0xb5, 0x6c, 0x49, 0x88, 0xb2, 0x5d, 0x0f, 0x2f, - 0x11, 0x32, 0xad, 0xdf, 0x3f, 0x27, 0x92, 0xb5, 0x49, 0x75, 0x55, 0xa3, 0x25, 0xa0, 0x22, 0x4b, 0xc0, 0xc4, 0xaf, - 0x34, 0x9f, 0x00, 0x3c, 0xe9, 0x78, 0x50, 0x3d, 0xe6, 0x35, 0x13, 0x44, 0xb6, 0x51, 0xf9, 0x93, 0xe2, 0x19, 0x92, - 0x11, 0x14, 0x8f, 0x6b, 0x95, 0xb1, 0x30, 0xcc, 0x03, 0x05, 0xe4, 0xdd, 0xbb, 0x53, 0xdf, 0xda, 0x1f, 0x3b, 0xf6, - 0x6c, 0xad, 0x42, 0x2d, 0xd4, 0x14, 0x2e, 0x39, 0x44, 0x57, 0xa0, 0x81, 0x22, 0x92, 0xf1, 0xe4, 0xf5, 0xe0, 0x72, - 0x12, 0x5d, 0x71, 0x81, 0xce, 0xf8, 0xfa, 0xa6, 0x9b, 0xce, 0xa2, 0xc7, 0xd5, 0x7c, 0x42, 0x4a, 0xb2, 0xc3, 0x21, - 0x1b, 0x55, 0x75, 0xb1, 0x9e, 0x86, 0xf2, 0xa7, 0x87, 0xe0, 0xeb, 0x05, 0xf5, 0x9a, 0xac, 0x52, 0xfd, 0x98, 0x2a, - 0xe5, 0x45, 0xc3, 0x4b, 0xff, 0x71, 0x25, 0xf7, 0x3d, 0x20, 0xad, 0xe5, 0x25, 0x97, 0xef, 0x47, 0x88, 0x31, 0xe2, - 0x07, 0x5e, 0xc9, 0x23, 0x16, 0xaa, 0x29, 0x5c, 0xf3, 0x08, 0x41, 0xde, 0x32, 0x1d, 0xfc, 0xad, 0x27, 0x4e, 0xf7, - 0x27, 0x4a, 0xbb, 0xf8, 0xc2, 0xa2, 0xee, 0x39, 0xd2, 0x0d, 0xc8, 0xc1, 0x86, 0xe9, 0xa2, 0x20, 0xdb, 0x94, 0x46, - 0xd0, 0x46, 0xcb, 0x81, 0x0d, 0xa7, 0x52, 0x1b, 0xce, 0x5c, 0x43, 0x70, 0x9f, 0x9f, 0xa7, 0xa3, 0x1b, 0xf8, 0x90, - 0xea, 0xf6, 0x12, 0x3f, 0x1f, 0x36, 0x1c, 0xc9, 0xec, 0x88, 0xcf, 0x6c, 0x22, 0xe9, 0xa4, 0xce, 0x15, 0xb0, 0xdb, - 0xd9, 0x35, 0xc8, 0x11, 0x33, 0xf7, 0x15, 0xaa, 0x6f, 0xd1, 0x80, 0x2b, 0x63, 0xed, 0x6b, 0x92, 0xb1, 0xf0, 0xaa, - 0x9c, 0x86, 0x03, 0x80, 0xa1, 0xcb, 0xe8, 0x6b, 0x8b, 0x4d, 0x96, 0xbd, 0x29, 0x20, 0x08, 0xa2, 0x24, 0x1e, 0x1f, - 0xf0, 0xbe, 0xac, 0x86, 0x1a, 0x25, 0x1f, 0xcb, 0x4e, 0xe0, 0xeb, 0x25, 0xfa, 0xbb, 0x31, 0x97, 0x18, 0xf0, 0xba, - 0x6a, 0x0b, 0x0a, 0xe7, 0xf9, 0xe1, 0x70, 0x9e, 0x8f, 0x8c, 0x67, 0x19, 0xa8, 0x56, 0xa6, 0x75, 0xb0, 0x31, 0xf3, - 0xc5, 0xc2, 0x5f, 0xec, 0x9c, 0x44, 0x44, 0x41, 0x60, 0x47, 0xc2, 0x83, 0x48, 0xfd, 0xbe, 0xf2, 0x74, 0xa7, 0xfa, - 0x6c, 0x7f, 0x63, 0x13, 0xe9, 0x05, 0x25, 0x93, 0x4f, 0x82, 0xbd, 0xea, 0xef, 0x20, 0x6c, 0x08, 0x6f, 0x5e, 0xf5, - 0x3a, 0xcb, 0xd4, 0xac, 0x04, 0x09, 0x33, 0xe6, 0x08, 0x1e, 0x87, 0x9d, 0xc6, 0x36, 0x3c, 0xb6, 0xb0, 0x1a, 0xbd, - 0x35, 0x5b, 0xb2, 0x15, 0xbb, 0x55, 0x75, 0xba, 0xe1, 0xe1, 0x74, 0x78, 0x19, 0xe0, 0xea, 0x5b, 0x9f, 0x73, 0xbe, - 0xa4, 0x13, 0x6c, 0x3d, 0xe0, 0xd1, 0x44, 0xcc, 0xd6, 0x8f, 0x23, 0xb5, 0x78, 0xd6, 0x43, 0x7e, 0x43, 0xeb, 0x4f, - 0xcc, 0x96, 0x26, 0x79, 0x39, 0xe0, 0x37, 0x93, 0xf5, 0xe3, 0x08, 0x5e, 0x7d, 0x0c, 0x56, 0x8c, 0xcc, 0x99, 0x65, - 0xeb, 0xc7, 0x11, 0x8e, 0xd9, 0xf2, 0x71, 0x44, 0xa3, 0xb6, 0x92, 0xfb, 0xd2, 0x6d, 0x03, 0xc2, 0xca, 0x2d, 0x8b, - 0xe1, 0x35, 0x10, 0xcf, 0xb4, 0x91, 0x74, 0x2d, 0x0d, 0xbd, 0x31, 0x0f, 0xa7, 0x71, 0xb0, 0xa6, 0x56, 0xc8, 0x33, - 0x43, 0xcc, 0xe2, 0xc7, 0xd1, 0x9c, 0xad, 0xb0, 0x22, 0x1b, 0x1e, 0x0f, 0x2e, 0x27, 0x9b, 0x2b, 0xbe, 0x06, 0xf2, - 0xb3, 0xc9, 0xc6, 0x6c, 0x51, 0xb7, 0x5c, 0xcc, 0x36, 0x8f, 0xa3, 0xf9, 0x64, 0x05, 0x3d, 0x6b, 0x0f, 0x98, 0xf7, - 0x0a, 0x44, 0x28, 0x09, 0xa9, 0x29, 0x37, 0xbd, 0x1e, 0x5b, 0x8f, 0x83, 0x25, 0x5b, 0x5f, 0x06, 0xb7, 0x6c, 0x3d, - 0x06, 0x22, 0x0e, 0xea, 0x77, 0x6f, 0x03, 0x8b, 0x2f, 0x62, 0xeb, 0x4b, 0x93, 0xb6, 0x79, 0x1c, 0x31, 0x77, 0x70, - 0x1a, 0xb8, 0x60, 0x2d, 0x32, 0x6f, 0xc5, 0xe0, 0x12, 0xb2, 0xf0, 0x62, 0xb6, 0x19, 0x5e, 0xb2, 0xf5, 0x08, 0xa7, - 0x7a, 0xe2, 0xb3, 0x25, 0xbf, 0x65, 0x09, 0x5f, 0x35, 0xf1, 0xd5, 0x06, 0x34, 0xa2, 0x47, 0x19, 0xf4, 0x15, 0xd4, - 0xcc, 0x9c, 0xf7, 0x16, 0x46, 0xe5, 0xbe, 0x05, 0x07, 0x14, 0xa4, 0x6d, 0x80, 0x20, 0x89, 0x67, 0x77, 0x1d, 0xae, - 0x3f, 0x49, 0x61, 0xc0, 0x4d, 0x60, 0x06, 0x0c, 0x4c, 0x3f, 0x83, 0x1f, 0x56, 0xba, 0x44, 0x88, 0xb3, 0x9f, 0x52, - 0x92, 0xcc, 0xf3, 0xf7, 0x22, 0xcd, 0xdd, 0xc2, 0x75, 0x0a, 0xb3, 0xa2, 0x40, 0xf5, 0x53, 0x52, 0x1a, 0x58, 0xa8, - 0x44, 0xa6, 0x52, 0xf0, 0xcb, 0xe6, 0x3c, 0xca, 0x8e, 0xd1, 0xb9, 0xce, 0x2f, 0x27, 0xce, 0xe9, 0xa4, 0xef, 0x3f, - 0x70, 0x0c, 0x5b, 0xc8, 0xc0, 0x85, 0x3f, 0xf5, 0x84, 0x71, 0x6a, 0x05, 0x62, 0x2a, 0x79, 0xf6, 0x14, 0x3e, 0x13, - 0x5a, 0x1d, 0x5d, 0xf8, 0x7e, 0x50, 0x68, 0x93, 0x74, 0x0b, 0x92, 0x14, 0x3c, 0x45, 0xcf, 0x39, 0x6f, 0x03, 0x95, - 0x62, 0x44, 0x0b, 0x22, 0x6d, 0xad, 0x33, 0x07, 0x69, 0x4b, 0xf3, 0x5d, 0x13, 0x3f, 0x87, 0x05, 0x5c, 0x44, 0x0b, - 0x5b, 0xc3, 0xa3, 0x2a, 0x56, 0xee, 0x4d, 0x9e, 0x23, 0x9c, 0xd1, 0xa5, 0x4c, 0x00, 0x5c, 0xef, 0x97, 0x61, 0xad, - 0xf0, 0x8a, 0x9a, 0x9b, 0xbc, 0xa8, 0xe9, 0x93, 0x2d, 0x70, 0x1f, 0x8b, 0x12, 0x05, 0xce, 0x5a, 0x30, 0x60, 0x2b, - 0x2c, 0xd9, 0x49, 0x61, 0x53, 0xb4, 0x84, 0xde, 0x1e, 0x3f, 0x1d, 0xd4, 0x4c, 0x06, 0xd0, 0x04, 0xd0, 0x78, 0xfc, - 0x0b, 0x40, 0x4d, 0x3f, 0xd5, 0x62, 0x5d, 0x05, 0xa5, 0x52, 0x6e, 0xc2, 0xcf, 0xc0, 0x30, 0xc3, 0x0f, 0x85, 0xdc, - 0x26, 0x4a, 0xe4, 0xfc, 0xb8, 0x29, 0xc5, 0xa2, 0x14, 0x55, 0xd2, 0x6e, 0x28, 0x78, 0x44, 0xb8, 0x0d, 0x1a, 0x33, - 0xb7, 0x27, 0xba, 0x68, 0x45, 0x28, 0xc7, 0x66, 0x1d, 0x23, 0x8d, 0x32, 0x3b, 0xd9, 0x75, 0xb2, 0xd0, 0x7e, 0x5f, - 0xe5, 0x90, 0x75, 0xc0, 0x1a, 0xc9, 0xd7, 0x6b, 0x0e, 0xdd, 0x36, 0xca, 0x8b, 0x7b, 0xcf, 0x57, 0x70, 0x9a, 0xe3, - 0x89, 0xdd, 0xf5, 0xba, 0x53, 0x24, 0xe2, 0x15, 0x4e, 0xaa, 0x7c, 0x24, 0x0b, 0xc7, 0x9d, 0x3b, 0xad, 0xc5, 0xaa, - 0x72, 0x59, 0x4f, 0x2d, 0x8e, 0x08, 0x7c, 0x2a, 0x8f, 0xf6, 0x42, 0xdb, 0xa2, 0x58, 0x08, 0xa3, 0x47, 0x27, 0xfc, - 0xa4, 0x04, 0xd6, 0xd7, 0xe1, 0xb0, 0xf4, 0x23, 0x8e, 0x7e, 0xa7, 0xd1, 0xe8, 0x86, 0x90, 0x86, 0xa7, 0x5e, 0x34, - 0xba, 0xa9, 0x8b, 0x3a, 0xcc, 0x9e, 0xe5, 0x7a, 0xa0, 0x30, 0x8c, 0x40, 0xfd, 0xe0, 0x2a, 0x83, 0xcf, 0x22, 0x44, - 0xcd, 0x03, 0xd3, 0x6c, 0x08, 0x47, 0x5d, 0xe0, 0xa1, 0x15, 0xb4, 0x98, 0x99, 0x8f, 0x42, 0x0c, 0x1f, 0xd2, 0xc5, - 0xf9, 0x13, 0xb2, 0xf2, 0x01, 0x76, 0x87, 0xee, 0x42, 0x39, 0x67, 0x2a, 0x06, 0xf8, 0x51, 0x40, 0x3e, 0x4a, 0xc0, - 0xcd, 0x00, 0xd9, 0x23, 0x4b, 0x00, 0xb1, 0x62, 0x74, 0x34, 0xf9, 0xdc, 0xf7, 0x22, 0x05, 0xef, 0xec, 0xb3, 0x5c, - 0x4d, 0x18, 0x0a, 0x9f, 0x18, 0xe8, 0xe6, 0x37, 0x7e, 0x7b, 0xde, 0x82, 0x91, 0x5d, 0x92, 0xe2, 0xb5, 0x66, 0xb8, - 0xdf, 0x80, 0xdb, 0x11, 0x50, 0xd6, 0x54, 0xc7, 0x24, 0xdb, 0x34, 0x44, 0x32, 0x60, 0x46, 0x8c, 0x08, 0x2a, 0xcb, - 0x85, 0xff, 0xdd, 0xcb, 0xa2, 0xc0, 0x01, 0x5c, 0xcd, 0x64, 0xf0, 0xda, 0x85, 0x51, 0x01, 0x70, 0x4e, 0x43, 0xa7, - 0xb4, 0x57, 0x55, 0x87, 0x64, 0xd5, 0xfc, 0x60, 0x36, 0x6f, 0x1a, 0x26, 0x46, 0x04, 0xd1, 0x45, 0x38, 0xc1, 0xf4, - 0x8a, 0xf4, 0xb5, 0x92, 0xd3, 0xd1, 0xaa, 0xa3, 0xb5, 0xc4, 0xc4, 0x5c, 0x51, 0xfc, 0x35, 0xe0, 0x71, 0x83, 0x57, - 0x27, 0x69, 0x3a, 0x51, 0x3d, 0x7a, 0xfc, 0x3a, 0x4d, 0x27, 0x25, 0xee, 0x0a, 0xbf, 0x01, 0x17, 0xcd, 0x36, 0x1f, - 0xfa, 0xf1, 0x0b, 0x8a, 0xb8, 0xa8, 0xc1, 0x95, 0x77, 0xaa, 0xaf, 0x54, 0x1f, 0x41, 0x2d, 0x3c, 0x31, 0xb2, 0x16, - 0x9e, 0x5c, 0xb2, 0xd6, 0x82, 0x60, 0x66, 0x73, 0xe0, 0x42, 0x7e, 0xa5, 0x14, 0xf1, 0x26, 0x12, 0x6a, 0x31, 0x68, - 0x3d, 0x66, 0xce, 0xaa, 0xd1, 0x8d, 0xca, 0x8c, 0xd0, 0xbe, 0xad, 0x45, 0xe7, 0x37, 0xf2, 0x53, 0x9e, 0xda, 0x97, - 0xed, 0x71, 0x3e, 0xde, 0xa3, 0xbb, 0xea, 0x2c, 0x33, 0x29, 0xe3, 0x93, 0x59, 0x82, 0xc2, 0x5d, 0x82, 0x0d, 0x48, - 0xb2, 0xdf, 0xea, 0x00, 0x19, 0xb5, 0xd7, 0x7e, 0xd7, 0x59, 0xbe, 0xba, 0xd9, 0x1a, 0x8a, 0x4a, 0xad, 0x24, 0xc5, - 0x41, 0x86, 0xeb, 0xb6, 0xf2, 0xe1, 0xe2, 0x02, 0x7a, 0xc6, 0x48, 0x64, 0x9e, 0x3f, 0x91, 0x2f, 0xc1, 0x39, 0xe3, - 0xac, 0x10, 0x98, 0x30, 0x56, 0xef, 0x5a, 0x4b, 0xa5, 0x21, 0xc5, 0xd8, 0xd1, 0x28, 0xcb, 0x2a, 0x4b, 0x97, 0xd9, - 0x5a, 0xc2, 0x96, 0x55, 0xe4, 0x16, 0xb6, 0xce, 0x64, 0x35, 0x1f, 0x55, 0xdc, 0x41, 0xf9, 0x66, 0xcb, 0x8c, 0xef, - 0x25, 0xb2, 0x77, 0x1b, 0x28, 0xe1, 0xd9, 0xe8, 0x3f, 0x90, 0x7e, 0x9b, 0x61, 0x9c, 0x72, 0x5b, 0x49, 0x0b, 0x70, - 0xfa, 0x87, 0xc3, 0xa3, 0x0a, 0x83, 0x06, 0x47, 0x18, 0x47, 0xd6, 0xef, 0xdf, 0x54, 0x5e, 0x8d, 0x89, 0x3a, 0x3e, - 0xab, 0xdf, 0xaf, 0xe8, 0xe1, 0xb4, 0x1a, 0xad, 0xd2, 0x2d, 0xb2, 0x13, 0xda, 0x58, 0xf9, 0x41, 0xad, 0x80, 0xd9, - 0x5b, 0x9f, 0x4f, 0x07, 0xa0, 0x63, 0x01, 0x12, 0xcd, 0x66, 0x22, 0x31, 0x27, 0xdd, 0x93, 0xf0, 0xf8, 0xc0, 0x02, - 0x07, 0x98, 0x8a, 0xff, 0x53, 0x78, 0x33, 0xb0, 0x41, 0xa3, 0x44, 0x5f, 0xa3, 0xab, 0xda, 0xdc, 0xe8, 0x78, 0xe9, - 0x29, 0x24, 0xb2, 0x82, 0x55, 0x73, 0x5f, 0x6e, 0xe0, 0xb4, 0x87, 0x9a, 0x43, 0x65, 0x01, 0xfe, 0xf6, 0x0b, 0x30, - 0x78, 0x64, 0x50, 0xd8, 0x6e, 0x2d, 0xb4, 0x37, 0x66, 0xa9, 0x86, 0x8a, 0x70, 0xd0, 0xf9, 0x4a, 0xcc, 0xea, 0x11, - 0xfd, 0x3d, 0x3f, 0x1c, 0x56, 0x04, 0x06, 0x1c, 0x96, 0x32, 0x13, 0x2d, 0x14, 0x4b, 0xeb, 0x6c, 0x46, 0x75, 0xe0, - 0x81, 0x89, 0x39, 0x0b, 0x77, 0x00, 0xda, 0xa4, 0x56, 0x81, 0x5e, 0x45, 0xf4, 0x13, 0xf7, 0x6b, 0xfb, 0xf5, 0x7a, - 0x64, 0x96, 0x8e, 0xdc, 0x18, 0x0b, 0x00, 0x0e, 0x3c, 0xaf, 0x49, 0x9e, 0x93, 0xaf, 0xa1, 0xdd, 0x93, 0x0b, 0xf9, - 0x13, 0x94, 0x2d, 0x3c, 0x57, 0x4d, 0x2b, 0x8b, 0x15, 0x57, 0xd5, 0xab, 0x0b, 0x5e, 0x99, 0x4c, 0xab, 0xb4, 0x12, - 0x95, 0x12, 0x0c, 0xa8, 0x4b, 0xbc, 0xd6, 0x34, 0xa3, 0xd4, 0x46, 0x9d, 0x89, 0x1a, 0xb0, 0xc1, 0x7e, 0xaa, 0x36, - 0x3a, 0x39, 0x97, 0xcf, 0x2f, 0x8d, 0xc3, 0xa7, 0x5d, 0xbd, 0x99, 0xa9, 0x1c, 0xf8, 0x6b, 0xe5, 0x43, 0xab, 0xc7, - 0x40, 0x07, 0xe4, 0xf4, 0xc7, 0xb0, 0x98, 0xd8, 0x1d, 0x9a, 0xb7, 0xbb, 0xcb, 0xea, 0x22, 0xbd, 0xd3, 0x94, 0xcc, - 0xea, 0x2d, 0x9f, 0x59, 0x3d, 0x3a, 0xe0, 0xc5, 0x43, 0xbd, 0x57, 0x98, 0x49, 0x04, 0x17, 0x43, 0x35, 0x89, 0xec, - 0x0e, 0xb4, 0xe6, 0x51, 0xc5, 0x04, 0xf8, 0x41, 0xa9, 0x35, 0xbd, 0xb7, 0xbb, 0x42, 0x9d, 0x52, 0x78, 0xdc, 0x5a, - 0xf2, 0x03, 0x73, 0xa7, 0x5d, 0xeb, 0x7c, 0x3c, 0xbf, 0xf4, 0xfd, 0x46, 0x9e, 0xd0, 0x66, 0x67, 0x72, 0xfa, 0x27, - 0x6f, 0xf5, 0x0f, 0x53, 0x7d, 0x0b, 0xdd, 0x09, 0xfa, 0x0c, 0x5d, 0x55, 0xdd, 0x95, 0xd8, 0xc2, 0x50, 0x4f, 0x2c, - 0xf2, 0x42, 0x9e, 0xb4, 0xc6, 0x8e, 0x83, 0xbd, 0x01, 0x4e, 0xfc, 0xf2, 0x70, 0x10, 0x57, 0xb9, 0xcf, 0xce, 0xbb, - 0x46, 0x56, 0x0e, 0x60, 0x05, 0x51, 0x30, 0x6e, 0xcd, 0xc7, 0x36, 0x48, 0x97, 0xb8, 0x1a, 0x1f, 0xbf, 0xa1, 0x58, - 0x26, 0x9b, 0x88, 0x8b, 0x8b, 0xfc, 0xf1, 0x53, 0x20, 0x2d, 0xeb, 0xf7, 0xa3, 0x67, 0x97, 0xd3, 0xa7, 0xc3, 0x28, - 0x00, 0xc7, 0x2e, 0x7b, 0x79, 0x19, 0xf3, 0xd5, 0x25, 0xb3, 0x4c, 0x61, 0x91, 0x6f, 0x06, 0x54, 0x97, 0xac, 0x96, - 0xae, 0x57, 0x80, 0xa5, 0xcb, 0x6f, 0xee, 0xc3, 0xd4, 0x80, 0x46, 0xd6, 0xdc, 0x9d, 0xe6, 0x5a, 0xa0, 0xd4, 0xf3, - 0x7e, 0x66, 0xc8, 0xd7, 0x65, 0xd0, 0x15, 0xa4, 0x7b, 0x1e, 0x91, 0x5e, 0xee, 0xa5, 0xd3, 0xfd, 0xbe, 0x14, 0x60, - 0xa9, 0x2f, 0xc5, 0x17, 0x50, 0x58, 0x34, 0xbe, 0x11, 0xa0, 0xad, 0xa1, 0x9a, 0xf6, 0x4a, 0x51, 0xf5, 0x82, 0x5e, - 0x29, 0xbe, 0xf4, 0xf4, 0x50, 0x99, 0x2f, 0x4b, 0x47, 0xff, 0x13, 0x6a, 0x2e, 0x38, 0x21, 0x66, 0x62, 0x0e, 0xa0, - 0x12, 0xb4, 0xf1, 0xdd, 0x1e, 0x6d, 0x7c, 0xaa, 0x57, 0x71, 0xd3, 0xe7, 0xb5, 0xb5, 0xcc, 0x09, 0x61, 0xd3, 0xbd, - 0x04, 0xa8, 0xc8, 0x2b, 0xe1, 0x11, 0x2c, 0xbf, 0xfc, 0x21, 0x4f, 0x57, 0x88, 0xd6, 0x71, 0xcf, 0x32, 0x97, 0xc6, - 0xfe, 0x95, 0xc1, 0xf4, 0xf5, 0xed, 0xb6, 0xc8, 0x4f, 0x4d, 0x4c, 0x58, 0x8f, 0x15, 0x7d, 0xf3, 0x2e, 0x5c, 0x09, - 0x14, 0x38, 0x94, 0x48, 0x6c, 0x53, 0x85, 0x22, 0x1e, 0x24, 0x7d, 0xba, 0x68, 0x7d, 0x1a, 0x60, 0x6a, 0x2d, 0x07, - 0xe6, 0x10, 0xae, 0xe2, 0xc2, 0x47, 0x4f, 0xdf, 0x62, 0x16, 0xce, 0x27, 0xde, 0x47, 0xaf, 0x18, 0x99, 0x8f, 0xfb, - 0xa8, 0x54, 0xd2, 0x3f, 0x0f, 0x87, 0x59, 0x35, 0xf7, 0x1d, 0xfa, 0x48, 0x0f, 0x55, 0x2e, 0x28, 0x7b, 0x63, 0x4c, - 0x22, 0x50, 0x1a, 0xe3, 0x7d, 0x1c, 0x1c, 0xe7, 0x7d, 0x1a, 0x40, 0x6a, 0x9f, 0x78, 0x4f, 0x4a, 0x0e, 0xcf, 0x39, - 0xe6, 0x84, 0xd2, 0x8a, 0x80, 0x09, 0x3d, 0x43, 0xb9, 0xee, 0x94, 0x82, 0x49, 0x0e, 0x09, 0x86, 0xbf, 0x6a, 0xde, - 0xc4, 0x0a, 0x84, 0x5d, 0x33, 0xaf, 0x46, 0x8f, 0xaa, 0x24, 0x2c, 0x05, 0x1c, 0x95, 0x99, 0x67, 0xd8, 0x1b, 0x1e, - 0x19, 0x46, 0x0e, 0x96, 0xfb, 0xa3, 0x3a, 0x11, 0xb9, 0x47, 0x17, 0x18, 0x95, 0x85, 0xe7, 0x0d, 0x5d, 0x69, 0x50, - 0x49, 0x76, 0xfc, 0x15, 0xd7, 0x80, 0xda, 0x1a, 0x23, 0x86, 0x02, 0x46, 0xc1, 0x6b, 0xfb, 0x43, 0xc8, 0xa2, 0x6c, - 0xfd, 0x06, 0xc7, 0x7c, 0x56, 0x72, 0xd7, 0x3b, 0x9c, 0x85, 0x96, 0x90, 0x27, 0x77, 0x0c, 0xd2, 0x34, 0x96, 0x46, - 0xc0, 0x89, 0x48, 0xb6, 0xb1, 0x14, 0x8e, 0x00, 0x02, 0x02, 0xdd, 0x94, 0x19, 0xc6, 0x74, 0x30, 0xf2, 0x3c, 0xea, - 0x19, 0xef, 0x55, 0x78, 0x0a, 0x69, 0xb2, 0x7d, 0x3d, 0x7f, 0x6f, 0x04, 0x59, 0xb9, 0xe5, 0x1c, 0x0f, 0x8b, 0x6f, - 0x9c, 0x7d, 0x95, 0x93, 0xa7, 0x98, 0x65, 0xa4, 0x77, 0x8a, 0x79, 0x01, 0x7f, 0x2a, 0x4b, 0x7d, 0x8e, 0xd2, 0x5b, - 0xe6, 0x93, 0x55, 0x24, 0x5d, 0x78, 0x9b, 0x7e, 0x3f, 0x1e, 0xa9, 0x43, 0xcd, 0xdf, 0xc7, 0x23, 0x79, 0x86, 0x6d, - 0x58, 0xc2, 0x42, 0xab, 0x60, 0x0c, 0x20, 0x89, 0x8d, 0x88, 0x06, 0xa3, 0xbd, 0x39, 0x1c, 0xce, 0x37, 0xe6, 0x2c, - 0xd9, 0x83, 0xeb, 0x2b, 0x4f, 0xcc, 0x3b, 0xf0, 0x65, 0x1e, 0x13, 0x44, 0x6c, 0xe6, 0x6d, 0x58, 0x0d, 0x1e, 0xec, - 0xe0, 0xfa, 0x88, 0x2d, 0x8a, 0xb5, 0x8e, 0xa5, 0xb2, 0x0e, 0x4e, 0xeb, 0xd8, 0x34, 0x23, 0xa5, 0xc8, 0x3e, 0xc7, - 0xfe, 0xde, 0x0d, 0xae, 0xae, 0x8d, 0x41, 0xad, 0x71, 0x87, 0xb9, 0x73, 0x2a, 0xa0, 0x1e, 0xd3, 0x15, 0x54, 0xcf, - 0x2a, 0xf2, 0xe5, 0xb7, 0x76, 0x0e, 0x08, 0x1a, 0x81, 0xc0, 0x45, 0x03, 0x25, 0xd3, 0xa5, 0x9c, 0x77, 0x01, 0x21, - 0xbe, 0x4b, 0x41, 0x9f, 0xce, 0x60, 0x13, 0x9b, 0x4f, 0x20, 0x16, 0x4d, 0xf7, 0xb9, 0xd6, 0xcc, 0x17, 0x23, 0xda, - 0x99, 0x75, 0xb7, 0xc8, 0xad, 0x16, 0x22, 0x19, 0x3d, 0xdb, 0x4c, 0xb8, 0xeb, 0x50, 0xce, 0x48, 0xc0, 0x04, 0xad, - 0xad, 0x94, 0x7c, 0xae, 0x7b, 0x9d, 0xa0, 0x3d, 0x90, 0xb4, 0xee, 0xdf, 0x2c, 0x3a, 0xa3, 0xe4, 0xe4, 0x7a, 0x93, - 0x33, 0x48, 0xc1, 0x82, 0xed, 0x65, 0x4e, 0xb8, 0x01, 0x3e, 0xb2, 0x59, 0x72, 0x9a, 0x06, 0x79, 0x2c, 0x0c, 0xd2, - 0x47, 0x9b, 0x5f, 0x16, 0xd0, 0xa1, 0x64, 0xd1, 0x08, 0xf1, 0x00, 0x3b, 0x87, 0xe4, 0xaa, 0x40, 0xdd, 0x34, 0xd0, - 0x95, 0x2b, 0x67, 0x8a, 0x29, 0x70, 0x21, 0x14, 0x44, 0xed, 0xe8, 0x24, 0x2a, 0xe7, 0x7d, 0x52, 0x5d, 0xe6, 0xd3, - 0x42, 0x9a, 0x06, 0xf2, 0x69, 0xe5, 0x98, 0x07, 0xb6, 0xb6, 0x71, 0x4d, 0x60, 0xa0, 0x53, 0xfb, 0x5a, 0x94, 0x73, - 0xac, 0x22, 0x7a, 0x9f, 0x7f, 0xa8, 0xec, 0xe9, 0x83, 0x08, 0x1b, 0x15, 0x68, 0x2c, 0x25, 0xc6, 0x46, 0x8e, 0x7f, - 0x4b, 0x94, 0x0d, 0x19, 0x02, 0x42, 0x48, 0x1b, 0x39, 0xfd, 0xb0, 0xbe, 0x7c, 0x97, 0x69, 0xff, 0x4f, 0x12, 0xbf, - 0x0d, 0xf6, 0x72, 0xea, 0x4f, 0x3d, 0xe2, 0xf1, 0x5a, 0xa3, 0xc7, 0x94, 0x74, 0x1b, 0xe4, 0xa9, 0xf2, 0x14, 0x24, - 0x13, 0xc6, 0x02, 0x82, 0x45, 0xb9, 0xe0, 0x39, 0xaf, 0xb8, 0x84, 0xfb, 0xa8, 0x65, 0x45, 0x84, 0xaa, 0x44, 0x4e, - 0x9f, 0xaf, 0x80, 0x67, 0x02, 0x02, 0x1d, 0x63, 0xa4, 0x51, 0x05, 0x5f, 0x02, 0x63, 0x1d, 0x28, 0x3b, 0xcd, 0x48, - 0x70, 0xd9, 0xfd, 0x84, 0x44, 0xa9, 0x2f, 0x49, 0x49, 0xfa, 0x56, 0xd4, 0x78, 0x25, 0x56, 0x11, 0x09, 0x64, 0xa8, - 0x21, 0x62, 0x55, 0x3d, 0x75, 0xaf, 0x8a, 0xc9, 0x60, 0x50, 0xf9, 0x72, 0x7a, 0xe2, 0x0d, 0x0d, 0x95, 0x77, 0x5d, - 0xd1, 0x4e, 0xcf, 0xb5, 0x52, 0xde, 0x42, 0x5a, 0x82, 0xa6, 0x61, 0xa4, 0x39, 0x94, 0xba, 0x92, 0xee, 0xc6, 0x20, - 0xbe, 0x64, 0xa2, 0x67, 0x3b, 0xb5, 0xa3, 0xb4, 0x25, 0xed, 0x21, 0xa4, 0xe7, 0x2e, 0xf9, 0x98, 0x85, 0x5c, 0xdd, - 0x29, 0x27, 0xe5, 0x55, 0x88, 0x4e, 0xee, 0x7b, 0x0c, 0x89, 0x40, 0x9f, 0x73, 0x0c, 0xeb, 0xa2, 0xa1, 0xce, 0x61, - 0x85, 0x98, 0x2d, 0x94, 0x30, 0x5f, 0x32, 0x9e, 0x4a, 0x06, 0x0d, 0x80, 0x0c, 0xf8, 0xe2, 0x65, 0x60, 0xf9, 0x2b, - 0x88, 0x1f, 0x6d, 0x7c, 0x38, 0xfc, 0x55, 0x53, 0x88, 0xed, 0x5f, 0xb0, 0x19, 0xc2, 0xa3, 0x7a, 0xc0, 0x33, 0xdf, - 0xc4, 0x09, 0x5a, 0x01, 0x49, 0x99, 0x1d, 0x4d, 0x64, 0xaf, 0x7a, 0x08, 0xa7, 0xb2, 0x02, 0x75, 0x94, 0x75, 0x56, - 0xc2, 0x8f, 0x30, 0xd5, 0xad, 0xc4, 0x5a, 0xa0, 0xcd, 0xd5, 0x8a, 0xb5, 0x00, 0x0e, 0xfc, 0x1c, 0x82, 0x27, 0xf2, - 0x39, 0xb8, 0x18, 0x14, 0xe0, 0x73, 0x00, 0xbc, 0xc8, 0x5d, 0x78, 0x30, 0x0f, 0x2c, 0xab, 0x11, 0x86, 0xa3, 0x8a, - 0x58, 0xbf, 0x66, 0x3b, 0xf2, 0x81, 0xdb, 0x31, 0x3e, 0xd7, 0x1e, 0x4b, 0x96, 0x83, 0x51, 0xe6, 0x5e, 0x2d, 0xd1, - 0xf3, 0x26, 0x8d, 0x9b, 0xd1, 0xa3, 0x7d, 0x2d, 0xff, 0x17, 0xf4, 0x32, 0xe8, 0x6f, 0xe1, 0x96, 0xd7, 0xfc, 0x61, - 0xb9, 0x70, 0x9a, 0x5e, 0x41, 0xa4, 0x8c, 0x1a, 0x91, 0x31, 0x84, 0x4d, 0xaa, 0x9b, 0xdb, 0xa4, 0xba, 0x10, 0xf0, - 0x74, 0x44, 0xaa, 0x6b, 0x21, 0x6d, 0xe4, 0xd3, 0x3a, 0x90, 0xb1, 0x48, 0xef, 0x7e, 0xfc, 0xdb, 0xf3, 0xcf, 0xaf, - 0x7f, 0xfd, 0xf1, 0xe6, 0xf5, 0xbb, 0x57, 0xaf, 0xdf, 0xbd, 0xfe, 0xfc, 0x3b, 0x41, 0x78, 0x4c, 0x85, 0xca, 0xf0, - 0xe1, 0xfd, 0xa7, 0xd7, 0x4e, 0x06, 0xdb, 0x9b, 0x21, 0x6b, 0xdf, 0xc8, 0xc1, 0x10, 0x88, 0x6c, 0x10, 0x32, 0xc8, - 0x4e, 0xc9, 0x1c, 0x33, 0x31, 0xc7, 0xd8, 0x3b, 0x81, 0xc9, 0x16, 0x24, 0x87, 0x65, 0x5e, 0x32, 0x22, 0x57, 0x85, - 0xd6, 0x0f, 0x68, 0xc1, 0x5b, 0x70, 0x91, 0x49, 0xf3, 0xe5, 0xaf, 0x04, 0xb1, 0x4f, 0x2b, 0x29, 0xf7, 0xd5, 0xb6, - 0xe6, 0xf9, 0xf6, 0x7e, 0x2f, 0xe1, 0xfc, 0xe7, 0xd2, 0x88, 0x5a, 0x80, 0x03, 0xf0, 0x39, 0xfc, 0x71, 0xa5, 0x2d, - 0x69, 0x32, 0x8b, 0xf6, 0x33, 0x86, 0xa0, 0x4b, 0x03, 0x69, 0x62, 0x8f, 0xbc, 0xd4, 0x27, 0x0b, 0x09, 0xdc, 0x11, - 0xc3, 0xa7, 0x15, 0x41, 0xaf, 0x18, 0x51, 0x5c, 0x72, 0x85, 0x4a, 0x29, 0xf9, 0x37, 0xca, 0x2e, 0x2a, 0xe4, 0xac, - 0x60, 0x77, 0x8a, 0x1c, 0x19, 0x3f, 0x08, 0x26, 0xbe, 0x1c, 0xdc, 0x7f, 0x89, 0x77, 0x38, 0x53, 0x1c, 0xc9, 0x09, - 0xff, 0x33, 0xc3, 0xc0, 0xfe, 0x1c, 0x7c, 0x5e, 0x1d, 0xe6, 0xe5, 0x8d, 0x3e, 0xe5, 0x16, 0x7c, 0x3c, 0x59, 0x5c, - 0x81, 0xc1, 0x7e, 0xa1, 0x9a, 0xbb, 0xe6, 0xf5, 0x6c, 0x31, 0x67, 0xfb, 0x59, 0x34, 0x0f, 0x96, 0x6c, 0x96, 0xcd, - 0x83, 0x55, 0xc3, 0xd7, 0xec, 0x96, 0xaf, 0xad, 0xaa, 0xad, 0xed, 0xaa, 0x4d, 0x36, 0xfc, 0x16, 0x24, 0x84, 0xb7, - 0x99, 0x07, 0xbc, 0xc7, 0x4b, 0x9f, 0x6d, 0x40, 0xa2, 0x5d, 0xb1, 0x0d, 0x5c, 0xc4, 0xd6, 0xfc, 0x75, 0xe5, 0x6d, - 0x58, 0xc9, 0xce, 0xc7, 0x2c, 0xc7, 0xf9, 0xe7, 0xc3, 0x03, 0xda, 0x0b, 0xf5, 0xb3, 0x4b, 0xf5, 0x6c, 0xa2, 0xec, - 0x66, 0x9b, 0xd1, 0xcd, 0x5d, 0x5a, 0x6d, 0xc2, 0x0c, 0x3d, 0xcb, 0xe1, 0xa3, 0xad, 0x14, 0xfc, 0xf4, 0x0d, 0x7e, - 0xc9, 0x9a, 0x38, 0xff, 0x4c, 0xdb, 0x76, 0x55, 0x62, 0x2b, 0x68, 0x51, 0x64, 0xb5, 0xc2, 0x03, 0x73, 0xfe, 0x0c, - 0x16, 0x30, 0xf6, 0x1c, 0xe7, 0xbc, 0xf6, 0x47, 0xc8, 0x78, 0xef, 0x00, 0xa0, 0x65, 0x8e, 0x03, 0x3c, 0x62, 0xc5, - 0x28, 0x1a, 0xbc, 0xf3, 0x4b, 0x65, 0xb5, 0xd2, 0x9c, 0x84, 0xb6, 0x11, 0xab, 0x96, 0x23, 0x55, 0x33, 0x22, 0x7d, - 0x90, 0x9e, 0xf7, 0x3d, 0xa2, 0x1a, 0xec, 0xc9, 0xbc, 0x0e, 0xec, 0xd3, 0xfb, 0xd6, 0xaa, 0xee, 0xfc, 0x9e, 0x2a, - 0x5d, 0x72, 0x64, 0xcb, 0x4f, 0x97, 0xe1, 0xbd, 0xfa, 0x53, 0x72, 0x7d, 0x28, 0x70, 0x84, 0x87, 0x2a, 0xe0, 0x7c, - 0xbd, 0x12, 0xed, 0x4e, 0x84, 0x5d, 0xb9, 0x04, 0x84, 0xf8, 0x92, 0xa6, 0x39, 0x1e, 0x47, 0x34, 0x11, 0x61, 0x13, - 0xa3, 0xbf, 0xb0, 0xfb, 0x50, 0x62, 0x39, 0xcf, 0x35, 0x28, 0xb9, 0x64, 0xf0, 0x9e, 0xb4, 0xd7, 0xa0, 0x59, 0x5e, - 0x95, 0x9a, 0x4c, 0xe4, 0xa0, 0x7c, 0x38, 0x14, 0xb0, 0x97, 0x1a, 0x3f, 0x4d, 0xf8, 0x09, 0xcb, 0x5b, 0x7b, 0x6b, - 0x4a, 0x51, 0x49, 0x03, 0x54, 0xe0, 0x63, 0x06, 0xff, 0xbb, 0x33, 0xc4, 0x82, 0x29, 0x3a, 0x7e, 0x38, 0x13, 0x73, - 0xeb, 0xb9, 0x55, 0xd6, 0x51, 0xb6, 0x46, 0x39, 0x01, 0xff, 0x9e, 0xea, 0x38, 0x49, 0x84, 0x53, 0xef, 0x11, 0x17, - 0x75, 0x2f, 0x87, 0xa8, 0x1b, 0xf6, 0xb9, 0xd2, 0xc1, 0x96, 0xd3, 0x34, 0x38, 0x12, 0xbf, 0x52, 0x9f, 0x3d, 0xca, - 0x2c, 0x1e, 0x75, 0x64, 0x23, 0x4a, 0xd2, 0x38, 0x16, 0x39, 0x6c, 0xef, 0x37, 0x72, 0xff, 0xef, 0xf7, 0x21, 0x9c, - 0xb4, 0x0a, 0xe2, 0xd2, 0x13, 0x88, 0x08, 0x47, 0x87, 0x1f, 0x11, 0x9e, 0x48, 0x55, 0xe1, 0x87, 0xfa, 0xc4, 0x8d, - 0xd9, 0xbd, 0x30, 0x47, 0xf5, 0x16, 0x60, 0x18, 0xeb, 0xad, 0x45, 0x48, 0xa2, 0x95, 0x66, 0xb4, 0xf5, 0x80, 0x18, - 0xf1, 0x7e, 0x6d, 0x91, 0xc1, 0x58, 0x5b, 0x12, 0x09, 0xe0, 0x4b, 0x12, 0x32, 0xb4, 0x6d, 0x04, 0x66, 0x0c, 0x6f, - 0x67, 0xc5, 0xa5, 0xeb, 0xb0, 0xcd, 0x39, 0x7c, 0x21, 0x37, 0x9a, 0x75, 0x44, 0x69, 0x82, 0x90, 0x7f, 0xc0, 0xc9, - 0x42, 0x61, 0x34, 0x2f, 0x8f, 0xd2, 0x49, 0x62, 0x7d, 0xdf, 0x55, 0x2a, 0xd8, 0x6c, 0x3e, 0xa1, 0xbe, 0xec, 0x28, - 0xf9, 0x1a, 0x9c, 0x74, 0x9c, 0x64, 0x91, 0x83, 0xa8, 0x45, 0xe5, 0x7c, 0x4a, 0xc2, 0xd2, 0xae, 0x4e, 0xb5, 0x59, - 0xaf, 0x8b, 0xb2, 0xae, 0x5e, 0x8a, 0x48, 0xd1, 0xfb, 0xa8, 0x47, 0x8f, 0x24, 0xa4, 0x42, 0xab, 0x52, 0xbb, 0x3c, - 0x02, 0xb7, 0x4d, 0xad, 0xd8, 0x96, 0x4b, 0x58, 0xa2, 0xc6, 0x7f, 0x86, 0x3e, 0xca, 0xc5, 0xbd, 0x0c, 0xd0, 0xe8, - 0x78, 0x6a, 0xde, 0x7a, 0xe0, 0x95, 0xa3, 0xfc, 0xd2, 0x6a, 0x93, 0x7e, 0x05, 0x64, 0x46, 0xfb, 0x47, 0x4b, 0x09, - 0x64, 0x06, 0x66, 0xd2, 0xd2, 0x90, 0xc8, 0x51, 0xcc, 0xd2, 0xfc, 0x4f, 0x5c, 0xb1, 0x15, 0x22, 0x0d, 0xab, 0xb9, - 0xc7, 0x7f, 0xac, 0xbc, 0x5a, 0xae, 0x65, 0xa6, 0xb9, 0x59, 0xe2, 0x58, 0xb1, 0xb8, 0xa8, 0xd7, 0x95, 0xc8, 0x02, - 0x21, 0x8e, 0x30, 0x8d, 0xf5, 0xd4, 0x1b, 0xa5, 0xd5, 0x07, 0x24, 0x94, 0xf9, 0x11, 0x7b, 0x3b, 0xf6, 0x7a, 0x90, - 0x85, 0x38, 0xb6, 0x1c, 0x6c, 0xb6, 0xde, 0xe7, 0x32, 0x15, 0xf1, 0x59, 0x5d, 0x9c, 0x6d, 0x2a, 0x71, 0x56, 0x27, - 0xe2, 0xec, 0x07, 0xc8, 0xf9, 0xc3, 0x19, 0x15, 0x7d, 0x76, 0x9f, 0xd6, 0x49, 0xb1, 0xa9, 0xe9, 0xc9, 0x2b, 0x2c, - 0xe3, 0x87, 0x33, 0xe2, 0xaa, 0x39, 0xa3, 0x91, 0x8c, 0x47, 0x67, 0x1f, 0x32, 0x20, 0x79, 0x3d, 0x4b, 0x57, 0x30, - 0x78, 0x67, 0x61, 0x1e, 0x9f, 0x95, 0x62, 0x09, 0x16, 0xa7, 0xb2, 0xf3, 0x3d, 0xc8, 0xb0, 0x0a, 0xff, 0x14, 0x67, - 0x00, 0xed, 0x7a, 0x96, 0xd6, 0x67, 0x69, 0x75, 0x96, 0x17, 0xf5, 0x99, 0x92, 0xc2, 0x21, 0x8c, 0x1f, 0xde, 0xd3, - 0x57, 0x76, 0x79, 0x9b, 0xc5, 0x5d, 0x16, 0xf9, 0x53, 0xf4, 0x2a, 0x22, 0x26, 0x8d, 0x4a, 0x78, 0xed, 0xfe, 0xb6, - 0xb9, 0x7f, 0x78, 0xdd, 0xd8, 0xfd, 0xec, 0x8e, 0x11, 0x5d, 0x50, 0x8f, 0x57, 0x92, 0x52, 0x41, 0x01, 0x81, 0x13, - 0xcd, 0x1a, 0x0f, 0xee, 0x38, 0xe0, 0xd5, 0xc0, 0x16, 0x6c, 0xed, 0xf3, 0x67, 0xb1, 0x0c, 0xd3, 0xde, 0x04, 0xf8, - 0x57, 0xd9, 0x9b, 0xae, 0x83, 0x05, 0xde, 0xb7, 0x90, 0x6d, 0xe8, 0xf5, 0x4b, 0xfe, 0xdc, 0xcb, 0xd5, 0xdf, 0xec, - 0x9f, 0x00, 0x84, 0x01, 0x31, 0xab, 0x3e, 0x9a, 0xb8, 0x77, 0x56, 0x96, 0x9d, 0x93, 0x65, 0xd7, 0x43, 0xbf, 0x26, - 0x31, 0x2a, 0xad, 0x2c, 0xa5, 0x93, 0xa5, 0x84, 0x2c, 0xe0, 0x13, 0xa3, 0xa9, 0x8d, 0x00, 0xc2, 0x76, 0x94, 0xca, - 0x17, 0x2a, 0x2f, 0xa2, 0x70, 0x4e, 0xf0, 0x3c, 0x11, 0xa3, 0x3b, 0x2b, 0x19, 0x30, 0x1c, 0x42, 0x30, 0x07, 0x6d, - 0xb1, 0x37, 0x74, 0x13, 0xf1, 0xd7, 0xab, 0xa2, 0x7c, 0x1d, 0x93, 0x4f, 0xc1, 0xee, 0xe4, 0xe3, 0x12, 0x1e, 0x97, - 0x27, 0x1f, 0x87, 0xe8, 0x91, 0x70, 0xf2, 0x31, 0xf8, 0x1e, 0xc9, 0x79, 0xdd, 0xf5, 0x38, 0x41, 0x6e, 0x21, 0xdd, - 0xdf, 0x8e, 0x49, 0x80, 0xe6, 0x35, 0x2c, 0x47, 0x4d, 0xc5, 0x35, 0x33, 0x63, 0x3c, 0x6f, 0xf4, 0xfe, 0xd8, 0xf1, - 0x96, 0x29, 0x14, 0xb3, 0x98, 0xd7, 0xf0, 0x7b, 0x56, 0x05, 0xea, 0xae, 0xb7, 0x49, 0x6e, 0x99, 0xd5, 0x73, 0xb4, - 0xfb, 0xbe, 0xaf, 0x13, 0x41, 0xed, 0xef, 0xb0, 0xe7, 0x99, 0xf5, 0xae, 0x8a, 0x81, 0x4b, 0x95, 0xec, 0x90, 0xa9, - 0x6a, 0x7a, 0xa0, 0x52, 0x1a, 0x3c, 0xbd, 0xb4, 0x2e, 0x5f, 0x2a, 0x6d, 0xe4, 0x99, 0xe6, 0x37, 0x80, 0x17, 0x53, - 0x97, 0xc5, 0xee, 0x9b, 0xfb, 0x0a, 0x6e, 0xe3, 0xfd, 0xfe, 0xba, 0xf2, 0xcc, 0x4f, 0x5c, 0x00, 0xf6, 0xa6, 0x42, - 0xeb, 0x04, 0x4a, 0x0d, 0xeb, 0xf0, 0x3a, 0x11, 0xd1, 0x9f, 0xed, 0x72, 0x9d, 0xb9, 0x0e, 0x18, 0x51, 0xc4, 0x6f, - 0xe3, 0xd1, 0x1f, 0xa0, 0xb8, 0x36, 0xf6, 0x80, 0xb0, 0x0e, 0x09, 0x7d, 0x46, 0x00, 0x52, 0x8f, 0x3e, 0x4a, 0xee, - 0x41, 0xb3, 0xa2, 0xb9, 0x63, 0xf2, 0x73, 0x7d, 0xa5, 0xf4, 0xf7, 0xeb, 0xca, 0x23, 0x73, 0x4a, 0xdb, 0x4c, 0x63, - 0xb5, 0xa6, 0x12, 0x08, 0xaf, 0xa8, 0x64, 0x15, 0x3e, 0x9b, 0x37, 0xa2, 0xdf, 0x97, 0x47, 0x78, 0x5a, 0xfd, 0xb8, - 0xc5, 0xf8, 0x56, 0x40, 0x34, 0x12, 0xa0, 0x60, 0x05, 0x98, 0x17, 0xd9, 0xcc, 0xee, 0xe3, 0x80, 0x2a, 0x25, 0x9a, - 0xc6, 0xd9, 0x3c, 0xbf, 0xa7, 0x37, 0x65, 0x07, 0x9d, 0x3a, 0x55, 0xe0, 0x82, 0xab, 0x92, 0xf1, 0xca, 0x7a, 0x22, - 0x9f, 0xdf, 0xdc, 0x6e, 0xd2, 0x2c, 0x7e, 0x5f, 0xfe, 0x82, 0x63, 0xab, 0xeb, 0xf0, 0xc0, 0xd4, 0xe9, 0xda, 0x79, - 0xa4, 0xb5, 0x17, 0x02, 0x22, 0xda, 0x35, 0xd4, 0x7a, 0x61, 0xa1, 0x47, 0x7a, 0x22, 0x9c, 0x93, 0x44, 0x4d, 0x3b, - 0xd0, 0xd2, 0x08, 0x7d, 0x7d, 0xcd, 0xe9, 0x2f, 0x0c, 0xd6, 0x3e, 0x1f, 0x33, 0x20, 0x2b, 0xd1, 0x8f, 0xd5, 0x43, - 0x63, 0x33, 0x87, 0x9e, 0xb5, 0x2a, 0xcf, 0xbc, 0xea, 0x70, 0x40, 0x7c, 0x18, 0xfd, 0x25, 0xbf, 0xdf, 0x7f, 0x49, - 0xf3, 0x8f, 0x09, 0x35, 0x7e, 0xb6, 0x19, 0xa0, 0x6b, 0xdf, 0x95, 0x07, 0xa2, 0x9e, 0x6b, 0x95, 0x20, 0xc4, 0x1b, - 0xc4, 0x44, 0x33, 0x62, 0x0e, 0x4e, 0x3b, 0xd4, 0xfc, 0x93, 0xd4, 0x80, 0x10, 0x25, 0x5e, 0xc7, 0x94, 0x05, 0x39, - 0x6d, 0xe2, 0x48, 0x3f, 0x0a, 0x27, 0xf2, 0xa3, 0xa8, 0x8a, 0xec, 0x0e, 0x2e, 0x18, 0x4c, 0xbd, 0xa7, 0xfd, 0x12, - 0xfd, 0x96, 0x70, 0xe4, 0x1c, 0xad, 0x0a, 0x41, 0xe4, 0x84, 0xb0, 0xd6, 0x10, 0x26, 0x88, 0x0d, 0xe2, 0x65, 0xdf, - 0x25, 0x19, 0x8e, 0x14, 0x5c, 0xd6, 0xb1, 0x63, 0xcc, 0xd5, 0x51, 0xf5, 0x1a, 0xc0, 0x78, 0xe5, 0x08, 0x9a, 0x8d, - 0x22, 0xbb, 0x84, 0xa8, 0x22, 0xc7, 0x13, 0x50, 0x3b, 0x28, 0x8d, 0xcd, 0xf4, 0x7c, 0x1c, 0xe4, 0xa3, 0x9b, 0x0a, - 0x75, 0x4e, 0x2c, 0xe3, 0x35, 0x00, 0x6b, 0xe7, 0xaa, 0x9f, 0x67, 0x35, 0x78, 0xd2, 0x10, 0x9f, 0x8f, 0xd1, 0xf6, - 0xca, 0xe6, 0xa0, 0xda, 0x4e, 0x67, 0xe5, 0x15, 0xd3, 0xe5, 0xc0, 0xb8, 0x6f, 0x78, 0x45, 0x71, 0x86, 0x1f, 0x3d, - 0xd8, 0xe2, 0xfc, 0xe9, 0x86, 0xda, 0x8f, 0xb9, 0x51, 0x0f, 0x03, 0xad, 0x05, 0x6f, 0x0a, 0x62, 0xfd, 0x7d, 0xd4, - 0x91, 0xed, 0xbd, 0x16, 0x19, 0x4d, 0x3e, 0xfb, 0xf9, 0x87, 0x32, 0x5d, 0xa5, 0x70, 0x5f, 0x72, 0xb2, 0x68, 0xe6, - 0x21, 0xb0, 0x37, 0xc4, 0x70, 0x7d, 0x54, 0x78, 0x44, 0x59, 0xbf, 0x0f, 0xbf, 0xaf, 0x32, 0x30, 0xc5, 0xc0, 0x75, - 0x85, 0x60, 0x3c, 0x04, 0x82, 0x78, 0x98, 0x46, 0x27, 0x83, 0x1a, 0xb4, 0xe1, 0x1b, 0x80, 0xcc, 0x00, 0x8f, 0xcc, - 0x85, 0x47, 0xc0, 0x5d, 0xe0, 0xda, 0x93, 0xf1, 0xd8, 0x9f, 0x98, 0x86, 0x46, 0x4d, 0x69, 0xa6, 0xe7, 0xc6, 0x6f, - 0x3a, 0xaa, 0xe5, 0xda, 0xf9, 0x8f, 0x2f, 0xf9, 0x0d, 0x7a, 0x41, 0xcb, 0xcb, 0x7d, 0xa4, 0x2e, 0xf7, 0x19, 0xc5, - 0x65, 0x22, 0x39, 0x2c, 0x88, 0x65, 0x09, 0x07, 0x1e, 0xa3, 0x92, 0xc5, 0x96, 0x1e, 0xab, 0xa2, 0xe5, 0x8b, 0x72, - 0x83, 0x74, 0xe8, 0x84, 0x60, 0x89, 0x0a, 0x82, 0x25, 0x30, 0x2e, 0x62, 0xcd, 0x37, 0x83, 0x9c, 0xc5, 0xb3, 0xcd, - 0x9c, 0x23, 0x61, 0x5d, 0x72, 0x38, 0x14, 0x12, 0x6c, 0x26, 0x9b, 0xad, 0xe7, 0x6c, 0xed, 0x33, 0x50, 0x02, 0x94, - 0x32, 0x4d, 0x50, 0x9a, 0x56, 0x6c, 0xc5, 0x4d, 0x6b, 0xb0, 0x5a, 0x4d, 0xd9, 0xaa, 0xa6, 0xec, 0x9c, 0xa6, 0x1c, - 0x55, 0x50, 0x72, 0x42, 0x29, 0xca, 0x30, 0x80, 0x11, 0x9b, 0x44, 0x57, 0x19, 0xfa, 0x78, 0x27, 0x3c, 0x82, 0x2a, - 0x22, 0xf2, 0x09, 0x43, 0x08, 0x4c, 0x44, 0x71, 0xa1, 0x0a, 0xc5, 0x00, 0x19, 0x91, 0x40, 0x30, 0x51, 0xa9, 0x53, - 0x60, 0x3e, 0x9a, 0x2a, 0x86, 0x4d, 0x7b, 0xa2, 0x7c, 0x4f, 0x1d, 0xf7, 0x28, 0xdb, 0xfc, 0x2c, 0x76, 0x41, 0x88, - 0xdc, 0x8d, 0x3b, 0xf5, 0x33, 0xe2, 0xbd, 0xdd, 0x11, 0xc6, 0x4f, 0x76, 0xdc, 0x22, 0x5c, 0x11, 0x6c, 0xa1, 0xe6, - 0x10, 0x8b, 0x79, 0x35, 0x49, 0x50, 0xcb, 0x92, 0xf8, 0x1b, 0x9e, 0x0c, 0x72, 0xb6, 0x00, 0x0f, 0xda, 0x39, 0xcb, - 0x00, 0x7f, 0xc5, 0x6a, 0xd1, 0xef, 0xb5, 0xb7, 0x00, 0xf9, 0x69, 0x63, 0x37, 0x0a, 0x13, 0x23, 0x48, 0xd4, 0xed, - 0xca, 0x40, 0x7e, 0xf8, 0x80, 0xd3, 0xf1, 0xd8, 0x53, 0xc6, 0xdc, 0xca, 0xf4, 0x32, 0x9d, 0x2b, 0xf9, 0x46, 0xee, - 0xa5, 0x0f, 0xbd, 0x04, 0x3b, 0x07, 0xbc, 0x81, 0xb4, 0x81, 0x9f, 0x60, 0xbb, 0xf0, 0xda, 0x20, 0x61, 0x46, 0x80, - 0x2d, 0x8e, 0x8f, 0x91, 0x12, 0x18, 0xc2, 0x71, 0x96, 0x02, 0x30, 0x8d, 0xbe, 0xcc, 0x56, 0xf6, 0x65, 0x56, 0x6b, - 0xb6, 0x54, 0x4e, 0xf7, 0xce, 0xad, 0xdb, 0xf9, 0x5c, 0x02, 0x80, 0x49, 0x9d, 0x03, 0x71, 0x66, 0x82, 0x5d, 0x9a, - 0x44, 0x96, 0x8f, 0x61, 0xbe, 0x14, 0xaf, 0xca, 0x62, 0xa5, 0xba, 0xa2, 0xed, 0x33, 0x93, 0xcf, 0x48, 0x27, 0xa1, - 0x02, 0x0a, 0x0a, 0xb9, 0xd6, 0xa7, 0xef, 0xc2, 0x77, 0x41, 0xa1, 0x81, 0xd9, 0x2a, 0xdc, 0xd3, 0x64, 0x8d, 0xd4, - 0x1b, 0x55, 0xbf, 0x4f, 0xae, 0x81, 0x54, 0x67, 0x0e, 0x2d, 0x7b, 0x5e, 0x61, 0x80, 0xd8, 0x51, 0x9f, 0x91, 0x50, - 0x07, 0x52, 0x0f, 0x18, 0x42, 0xb4, 0x4d, 0x1f, 0x7f, 0x32, 0x24, 0xba, 0x00, 0x5b, 0x88, 0x36, 0xf0, 0xe3, 0x4f, - 0xb0, 0xcf, 0x82, 0xf0, 0x98, 0xe6, 0x6f, 0x21, 0xe9, 0xd8, 0xc0, 0x69, 0xf5, 0x29, 0xf8, 0x20, 0xc9, 0xc1, 0x44, - 0x1d, 0xbc, 0xdc, 0x5f, 0xfa, 0x7d, 0xd8, 0xb2, 0x73, 0x29, 0xd5, 0xb1, 0x52, 0x6f, 0xdb, 0xda, 0x0f, 0xa2, 0x2d, - 0x38, 0x42, 0xb0, 0x76, 0x86, 0x88, 0x60, 0x66, 0x10, 0x61, 0xd7, 0x42, 0xdd, 0xed, 0x29, 0xb5, 0x2c, 0xea, 0x6d, - 0x4f, 0x29, 0x75, 0x1b, 0x86, 0xef, 0x26, 0x98, 0x29, 0x6e, 0xf8, 0xa7, 0xcc, 0x0b, 0xf5, 0xc6, 0x63, 0xf1, 0xb4, - 0x7b, 0xfe, 0x7e, 0xc1, 0xab, 0xd9, 0x46, 0x99, 0x30, 0x97, 0x7c, 0x31, 0x0b, 0x65, 0x57, 0x4b, 0xe3, 0xce, 0x17, - 0x6f, 0xa1, 0xe6, 0x83, 0x7f, 0x38, 0x24, 0x10, 0x6f, 0x14, 0x5f, 0x2d, 0x1b, 0xb9, 0x75, 0x4d, 0x36, 0x57, 0x25, - 0xa0, 0x7e, 0x9f, 0xaf, 0x71, 0xbf, 0xc5, 0xfa, 0x77, 0x4f, 0x83, 0x8c, 0xd5, 0x0c, 0x57, 0x4c, 0xe1, 0x53, 0x00, - 0x18, 0x1c, 0x4e, 0x05, 0x69, 0x81, 0x37, 0xbc, 0x1c, 0x5e, 0x4e, 0x36, 0x64, 0xd2, 0xdd, 0xf8, 0xc8, 0x9d, 0x05, - 0xaa, 0xde, 0xef, 0x28, 0x4e, 0x1a, 0x24, 0x1a, 0x7b, 0x0d, 0x3e, 0xcf, 0x32, 0xca, 0x45, 0x13, 0xf7, 0x21, 0xf9, - 0x4a, 0x0f, 0x60, 0xae, 0x42, 0x09, 0x10, 0xfd, 0xc6, 0xb2, 0xd8, 0x88, 0xb6, 0xc5, 0x06, 0x96, 0x52, 0x35, 0xd7, - 0xab, 0xe9, 0x8b, 0x57, 0xa2, 0x79, 0x1f, 0xcd, 0x38, 0xa5, 0xd1, 0x80, 0xe3, 0x34, 0x0a, 0xb7, 0xef, 0xef, 0x44, - 0xb9, 0xc8, 0xc0, 0x92, 0xad, 0xc2, 0x29, 0x2e, 0x1b, 0x75, 0x46, 0x3c, 0xcf, 0x63, 0x05, 0xd0, 0xf1, 0x90, 0x00, - 0xa8, 0x2e, 0x08, 0xa8, 0x88, 0x96, 0xd2, 0x5b, 0xa1, 0xc5, 0x42, 0xbd, 0xe1, 0x28, 0x85, 0x3f, 0xd2, 0x9f, 0x07, - 0xf9, 0x14, 0x80, 0xd8, 0xf5, 0x71, 0xf4, 0xaa, 0x28, 0xe9, 0x53, 0xc5, 0x2c, 0x97, 0x83, 0x09, 0xec, 0xea, 0x44, - 0x86, 0x5a, 0x41, 0xde, 0xaa, 0x2b, 0x6f, 0x65, 0xf2, 0x36, 0xc6, 0x29, 0xf9, 0x81, 0x9b, 0x8e, 0x35, 0x62, 0xe0, - 0x95, 0xa7, 0x75, 0x9a, 0x20, 0x4d, 0xde, 0x00, 0xc3, 0x10, 0xbf, 0xcb, 0xbc, 0xe7, 0x9e, 0x23, 0x55, 0x41, 0x32, - 0xdb, 0x66, 0x9e, 0xba, 0x88, 0xea, 0x2b, 0xa7, 0x96, 0xce, 0x9c, 0x7e, 0x04, 0xf0, 0x1e, 0x53, 0x93, 0x86, 0x7c, - 0x84, 0xdb, 0x52, 0x7c, 0xbd, 0x55, 0xd7, 0x78, 0x69, 0x74, 0xee, 0x5e, 0xbe, 0x74, 0xa7, 0x41, 0x3f, 0x05, 0x41, - 0x39, 0x9f, 0x97, 0x02, 0xf6, 0x94, 0xd9, 0x5c, 0xaf, 0x56, 0xad, 0xd0, 0x3a, 0x1c, 0xc6, 0xda, 0x51, 0x48, 0xab, - 0xb3, 0x80, 0xad, 0x46, 0x3a, 0x25, 0x40, 0x08, 0x8e, 0xd3, 0xb0, 0x13, 0x8c, 0xbb, 0x74, 0x1a, 0x91, 0xf5, 0x4a, - 0x49, 0xba, 0x30, 0x83, 0xe4, 0x9f, 0xe4, 0xf5, 0x0c, 0x68, 0x09, 0xe0, 0x50, 0xc4, 0x12, 0x1e, 0x4e, 0x92, 0x2b, - 0x80, 0x4e, 0x87, 0x83, 0x4a, 0x43, 0x73, 0x56, 0xb3, 0x64, 0x3e, 0x89, 0xa5, 0xaa, 0xf2, 0x70, 0xf0, 0x94, 0x9b, - 0x41, 0xbf, 0x9f, 0x4d, 0x4b, 0xe5, 0x02, 0x10, 0xc4, 0xba, 0x30, 0x40, 0x3c, 0xd2, 0xc2, 0x93, 0x45, 0x9f, 0x92, - 0xf8, 0xe5, 0x2c, 0x99, 0x9b, 0x6c, 0x78, 0x07, 0x46, 0xb0, 0x19, 0xd7, 0x25, 0x65, 0xda, 0xa3, 0xf2, 0x7b, 0x46, - 0x4f, 0x6d, 0x5f, 0x6b, 0xb5, 0x45, 0xac, 0xeb, 0xe0, 0xaa, 0x44, 0x3d, 0xc5, 0x07, 0x25, 0x09, 0xde, 0x2f, 0x9d, - 0x9b, 0x91, 0xf2, 0xb5, 0xc8, 0xfd, 0xa0, 0x9d, 0xa9, 0x95, 0x03, 0x47, 0x20, 0xc7, 0x2a, 0x2a, 0x79, 0xbd, 0xeb, - 0x10, 0x3c, 0xba, 0x2b, 0x15, 0x28, 0x07, 0x3f, 0x03, 0x31, 0xba, 0xbe, 0xea, 0xac, 0xa1, 0x66, 0x1a, 0x55, 0x1e, - 0x41, 0xa7, 0x0e, 0xe0, 0x49, 0xc1, 0x4b, 0xad, 0x7e, 0x3c, 0x1c, 0x3c, 0xf3, 0x83, 0xbf, 0xcf, 0xf4, 0x2d, 0xc4, - 0x44, 0x39, 0xd5, 0x08, 0x89, 0x2b, 0x25, 0x89, 0xf8, 0x78, 0xd1, 0xb2, 0x62, 0x54, 0x86, 0xf7, 0xbc, 0x52, 0xe5, - 0xab, 0x53, 0x95, 0x17, 0x23, 0x6d, 0x4b, 0xe0, 0x35, 0xf9, 0x87, 0xc8, 0x35, 0x6f, 0x7d, 0xdd, 0x55, 0x86, 0x5e, - 0xcb, 0x0a, 0x74, 0x04, 0x5b, 0x59, 0x4a, 0x0e, 0xf8, 0xa4, 0xba, 0xab, 0x56, 0xad, 0xcf, 0x29, 0xdb, 0x08, 0x37, - 0xf9, 0x75, 0xec, 0xe0, 0x48, 0xf9, 0x0d, 0x9e, 0x0b, 0x60, 0xaf, 0x01, 0x7b, 0x73, 0xce, 0x8a, 0xe6, 0xc1, 0x21, - 0x6d, 0x0b, 0x34, 0x32, 0x73, 0x3b, 0x57, 0xf7, 0x6d, 0x79, 0x94, 0xc6, 0x10, 0x99, 0xf6, 0xc0, 0x74, 0xb0, 0x19, - 0xe5, 0xbf, 0xa7, 0xfc, 0x56, 0xe1, 0x18, 0xf8, 0x76, 0xea, 0x1d, 0x40, 0xd5, 0xd3, 0x06, 0x19, 0x6b, 0x86, 0xa1, - 0x95, 0x5d, 0x2e, 0x85, 0x96, 0xa0, 0xa5, 0x6e, 0x82, 0xe0, 0xfc, 0x88, 0x28, 0x47, 0x00, 0xba, 0x48, 0x01, 0x13, - 0xfc, 0x94, 0xb6, 0xbb, 0xdf, 0x5f, 0xa7, 0x1e, 0xb9, 0x77, 0x85, 0xca, 0x66, 0xf9, 0x99, 0x60, 0xec, 0x27, 0x1a, - 0x33, 0xe8, 0xe8, 0x8a, 0x9c, 0xf0, 0xac, 0xd5, 0x61, 0x5d, 0x37, 0x65, 0x50, 0x16, 0xc7, 0xbc, 0x9a, 0xce, 0xfe, - 0x78, 0xb4, 0xaf, 0x1b, 0x64, 0x21, 0xff, 0x83, 0xf5, 0x90, 0x0c, 0xba, 0x07, 0xa1, 0x10, 0xbd, 0x79, 0x30, 0xc3, - 0xff, 0xd8, 0x86, 0x67, 0xdf, 0x71, 0xa3, 0x4e, 0x00, 0x73, 0xc4, 0xf5, 0xd2, 0x53, 0xb4, 0xf5, 0x70, 0x0b, 0x64, - 0x6b, 0xbc, 0xbc, 0xb5, 0xd7, 0x40, 0x4e, 0x71, 0xfc, 0x4b, 0x9e, 0xa9, 0x95, 0x0d, 0x7e, 0x7a, 0xca, 0x76, 0xe0, - 0xe1, 0x45, 0x08, 0x28, 0x86, 0x65, 0xe3, 0x97, 0x96, 0xe3, 0x8c, 0xfe, 0x9b, 0x47, 0x0c, 0x83, 0x45, 0xe4, 0xc7, - 0x17, 0xa5, 0x10, 0x5f, 0x85, 0xf7, 0xb9, 0xf2, 0x96, 0xe4, 0x94, 0xb9, 0xd4, 0xc3, 0xe8, 0xba, 0x24, 0x7d, 0x97, - 0x7c, 0x6c, 0x0d, 0xdb, 0x1f, 0xda, 0xfd, 0x66, 0x88, 0x20, 0x84, 0x72, 0xfc, 0x9c, 0xd1, 0x09, 0x8d, 0x0f, 0xab, - 0xd9, 0xe9, 0xf5, 0x7b, 0xe7, 0x78, 0xc1, 0xd6, 0x68, 0x80, 0xc7, 0x43, 0x17, 0xf3, 0x44, 0x0d, 0x9d, 0xae, 0x6b, - 0xe7, 0xe0, 0x81, 0x41, 0x96, 0x27, 0xdf, 0x31, 0x2c, 0xb1, 0x3f, 0x89, 0x78, 0xd2, 0x56, 0x6d, 0x6c, 0x8e, 0x54, - 0x1b, 0x35, 0x03, 0x3f, 0x78, 0x05, 0x05, 0x46, 0x17, 0xa4, 0x5b, 0x30, 0x0e, 0x47, 0x00, 0xb2, 0x62, 0x1c, 0x8f, - 0x0c, 0x26, 0x30, 0xa4, 0x1b, 0x8a, 0x02, 0xf0, 0xf0, 0x38, 0x1e, 0x84, 0x0c, 0x20, 0x5d, 0xf0, 0xd0, 0xb0, 0x4d, - 0x42, 0xca, 0xcf, 0xf3, 0xbc, 0x56, 0x43, 0xe8, 0x3b, 0x0b, 0xd5, 0xb1, 0x1f, 0x69, 0xaf, 0x58, 0xd7, 0xaa, 0x74, - 0x64, 0xab, 0x03, 0xf4, 0x0d, 0x19, 0xf8, 0xd6, 0xb1, 0x05, 0x40, 0xb4, 0xc4, 0xef, 0xa9, 0x57, 0xfb, 0x32, 0x66, - 0x85, 0x7a, 0xfd, 0xc6, 0xb4, 0xeb, 0xa5, 0xb4, 0x28, 0xa0, 0xe2, 0xb6, 0x55, 0xdb, 0x23, 0x39, 0xff, 0xe1, 0x5d, - 0x47, 0x3b, 0x3e, 0x3b, 0x35, 0xb6, 0x84, 0x32, 0xb7, 0x78, 0x22, 0xab, 0xa3, 0x2d, 0xd5, 0xa9, 0x3e, 0xe0, 0x52, - 0x93, 0xea, 0xcc, 0xc0, 0xf0, 0x1a, 0x01, 0xca, 0x2d, 0x44, 0xd2, 0x38, 0xec, 0x9d, 0x4f, 0x06, 0x05, 0x73, 0x8b, - 0x04, 0x24, 0xb0, 0x8d, 0xad, 0x5d, 0x34, 0xd7, 0xaf, 0xdf, 0x53, 0xaf, 0x6a, 0x53, 0xd5, 0x83, 0x37, 0x5e, 0xe0, - 0xec, 0x9d, 0xd6, 0x02, 0x02, 0x28, 0x6c, 0x2d, 0xcb, 0xc1, 0xb9, 0xdb, 0x55, 0x2d, 0x15, 0x65, 0xd4, 0xef, 0x9f, - 0xff, 0x9e, 0xa2, 0x22, 0xf6, 0x54, 0x71, 0xca, 0xfa, 0xed, 0x96, 0x79, 0x53, 0x59, 0xf2, 0x06, 0x55, 0xb4, 0x56, - 0x47, 0x4d, 0xe5, 0xba, 0xb9, 0x6a, 0xc9, 0x04, 0x31, 0xba, 0x4f, 0xd7, 0x3a, 0x77, 0xea, 0xbd, 0x57, 0x71, 0xc4, - 0x40, 0x70, 0xd3, 0x3d, 0x3e, 0x38, 0x08, 0x8d, 0x8a, 0x72, 0xc1, 0x8d, 0xd2, 0xaa, 0x92, 0x52, 0xc8, 0x5b, 0x15, - 0xcd, 0x99, 0x3e, 0x02, 0x20, 0x02, 0xac, 0x12, 0xf5, 0xbf, 0xf9, 0xd2, 0x18, 0x0f, 0x1e, 0xf8, 0x9a, 0x5c, 0xc7, - 0xd6, 0xfb, 0xa7, 0x35, 0xd2, 0x6a, 0xe3, 0x98, 0xd4, 0xaa, 0x97, 0xad, 0xe2, 0x65, 0xf7, 0x3a, 0x15, 0x83, 0xe7, - 0xff, 0x73, 0x1f, 0xa0, 0x46, 0xb4, 0x94, 0xc1, 0xad, 0xab, 0x01, 0x1a, 0x1f, 0x8e, 0x85, 0x6f, 0xfc, 0x90, 0x71, - 0x3e, 0x98, 0xa1, 0xa3, 0xda, 0x1c, 0x1c, 0x10, 0x1c, 0xd5, 0x3d, 0x1a, 0x13, 0x66, 0xe1, 0xdc, 0x83, 0x40, 0xf5, - 0x89, 0xfb, 0x8c, 0x6b, 0x2f, 0x68, 0x13, 0xf8, 0x64, 0x5d, 0xd7, 0x14, 0x01, 0x2e, 0x62, 0x63, 0x22, 0x86, 0xb8, - 0x6c, 0x12, 0xa9, 0x6f, 0xc6, 0xa0, 0x00, 0x28, 0x9e, 0x55, 0x24, 0x97, 0xde, 0xa4, 0x79, 0x25, 0xca, 0x5a, 0x37, - 0xa3, 0x62, 0xc5, 0x10, 0x00, 0x1e, 0x82, 0xe2, 0xaa, 0x32, 0x13, 0x1a, 0xb1, 0x81, 0x54, 0x96, 0x82, 0x55, 0xc3, - 0xc2, 0x6f, 0xda, 0x6f, 0x92, 0x93, 0xde, 0xf9, 0xb8, 0x75, 0xee, 0xd8, 0xf7, 0x8e, 0x42, 0x4a, 0x7b, 0x28, 0x26, - 0x08, 0x82, 0x9f, 0xd6, 0xe1, 0xfc, 0x19, 0x7f, 0x46, 0x60, 0x2a, 0xb2, 0x19, 0x03, 0x0e, 0x42, 0x44, 0x66, 0xfc, - 0x9e, 0xc3, 0x67, 0xbc, 0x9c, 0x84, 0xc3, 0xa1, 0x0f, 0xfa, 0x50, 0x9e, 0xcd, 0xc2, 0xa1, 0x98, 0x4b, 0xef, 0x75, - 0xb0, 0xd6, 0x85, 0xbc, 0x9e, 0x84, 0x88, 0x16, 0x1a, 0xfa, 0xe0, 0xbc, 0xee, 0x9a, 0x23, 0x2c, 0x01, 0x68, 0xe2, - 0xe8, 0xcb, 0xfa, 0xfd, 0xc8, 0xd3, 0x86, 0x16, 0x29, 0x2e, 0x1a, 0x65, 0x36, 0xcb, 0x65, 0x27, 0x6c, 0x5c, 0xbb, - 0x05, 0x42, 0xf1, 0x30, 0x6d, 0xa1, 0x6a, 0x3d, 0xd5, 0xeb, 0xb9, 0x69, 0xf7, 0xdd, 0x83, 0x6a, 0x95, 0x23, 0x9d, - 0xb5, 0xe9, 0x4a, 0xad, 0x6e, 0x19, 0x55, 0xeb, 0x2c, 0x8d, 0xa8, 0x72, 0x93, 0xdc, 0x35, 0x6a, 0xc1, 0x27, 0x1b, - 0xba, 0x4c, 0xd9, 0xd9, 0x1a, 0x9c, 0x38, 0xf2, 0x5c, 0x72, 0xcb, 0x77, 0xe7, 0x15, 0xdd, 0x9d, 0x6a, 0xdf, 0x02, - 0xdc, 0x9b, 0x61, 0x43, 0xe6, 0xbc, 0xc6, 0x4e, 0x83, 0x30, 0x09, 0xfc, 0x88, 0x7d, 0xcc, 0x90, 0x0d, 0x06, 0x74, - 0x14, 0xd2, 0xff, 0xda, 0x32, 0x47, 0x02, 0x26, 0x7f, 0x3d, 0xf7, 0x9b, 0x9b, 0x22, 0x87, 0xc5, 0xf8, 0x61, 0x83, - 0x91, 0xc6, 0x6a, 0x0d, 0x86, 0xe5, 0x12, 0x91, 0x3f, 0xb5, 0x3b, 0xa6, 0xa9, 0x8e, 0x37, 0xeb, 0xb5, 0xe6, 0x57, - 0x4f, 0x9f, 0xea, 0xfa, 0xfc, 0xb7, 0xef, 0x2f, 0xc3, 0x9a, 0xd9, 0x1f, 0x82, 0x50, 0xda, 0xbd, 0x5b, 0x9c, 0x3b, - 0x12, 0xbd, 0x63, 0xa5, 0x99, 0x5d, 0xda, 0x25, 0xbb, 0x34, 0xa5, 0x7d, 0x22, 0xd7, 0xab, 0x6f, 0x94, 0x37, 0x76, - 0x5e, 0x31, 0xdd, 0xbf, 0x17, 0x7a, 0x47, 0x39, 0x55, 0x13, 0x88, 0x68, 0xd2, 0x8e, 0xc4, 0xed, 0x5e, 0x19, 0x3e, - 0x9d, 0xe4, 0xed, 0x12, 0x8e, 0xba, 0x86, 0xe5, 0xe6, 0xdb, 0xbf, 0xe4, 0x55, 0x67, 0x85, 0xdb, 0x2f, 0x8d, 0x59, - 0xfb, 0x53, 0x10, 0x57, 0xf5, 0xa7, 0xf7, 0xa1, 0x66, 0x4a, 0xfe, 0xaf, 0x7a, 0x0c, 0x5c, 0xfd, 0x64, 0xda, 0xd1, - 0x3d, 0x85, 0xb0, 0xc1, 0xec, 0xe7, 0xc7, 0x0f, 0x2d, 0xba, 0x46, 0x17, 0x28, 0x92, 0x03, 0xe8, 0xdc, 0x25, 0x23, - 0xbc, 0xdf, 0x31, 0xce, 0xfd, 0xab, 0x5f, 0xd5, 0xe4, 0x08, 0x11, 0xed, 0x22, 0x1c, 0x00, 0xc4, 0x9d, 0xa6, 0xb2, - 0x0e, 0x35, 0x40, 0x1f, 0x10, 0x58, 0x87, 0xbe, 0xcd, 0x00, 0x0e, 0xfa, 0x68, 0xf3, 0x2c, 0x02, 0x79, 0xdd, 0xbb, - 0x63, 0xd7, 0x6c, 0xe7, 0xf3, 0x67, 0xab, 0xd4, 0xbb, 0x43, 0x87, 0xe0, 0xf3, 0xb1, 0x3f, 0xbd, 0x0c, 0xb4, 0xda, - 0xf3, 0x9a, 0x5d, 0x3f, 0x11, 0x6c, 0xc7, 0x76, 0x4f, 0x10, 0xa9, 0xa8, 0x3b, 0xff, 0xf0, 0xd2, 0x44, 0xcf, 0x3b, - 0x2f, 0x2c, 0xf9, 0x02, 0xc0, 0x03, 0x59, 0x0c, 0x28, 0x3e, 0x0b, 0xef, 0x17, 0x96, 0x80, 0x9a, 0xfc, 0x96, 0xaf, - 0xbd, 0x77, 0x94, 0x7a, 0x03, 0x7f, 0x0e, 0x28, 0x7d, 0x92, 0x73, 0x6f, 0x39, 0xbc, 0xf5, 0x2f, 0x9e, 0x82, 0xf3, - 0xc4, 0x6a, 0x78, 0x03, 0x7f, 0x15, 0x7c, 0xe8, 0x2d, 0x07, 0x98, 0x58, 0xf2, 0xa1, 0xb7, 0x1a, 0x40, 0xaa, 0xc2, - 0x85, 0xc4, 0xd8, 0x87, 0xdf, 0x82, 0x9c, 0xe1, 0x1f, 0xbf, 0x6b, 0x0c, 0xd6, 0xdf, 0x82, 0x42, 0xa3, 0xb1, 0x96, - 0x2a, 0x64, 0x29, 0x16, 0x67, 0x02, 0x6c, 0xc2, 0x71, 0xb7, 0x2f, 0x56, 0xb5, 0x59, 0x0b, 0xfa, 0xf3, 0x01, 0xdf, - 0xa3, 0xb1, 0xba, 0x2a, 0xe7, 0xa2, 0xfc, 0x88, 0xf4, 0xa9, 0x8e, 0x8f, 0x51, 0xb1, 0xa9, 0xbb, 0xd3, 0xa9, 0x56, - 0x1d, 0x69, 0xbf, 0x2b, 0xd7, 0x60, 0xc7, 0xeb, 0xe4, 0xc8, 0x52, 0x78, 0xd6, 0x61, 0xe7, 0xa5, 0x53, 0xa2, 0xc3, - 0x30, 0xde, 0x6d, 0xd5, 0x33, 0x86, 0xf2, 0xdc, 0x60, 0x4c, 0x17, 0x3c, 0xe2, 0xcf, 0x06, 0xb9, 0x0c, 0x8d, 0x79, - 0x84, 0x6c, 0x18, 0xca, 0x87, 0x16, 0x19, 0x12, 0x22, 0xde, 0x43, 0x25, 0x60, 0xdb, 0x82, 0x32, 0x29, 0xe0, 0x2c, - 0x1a, 0xfc, 0x5e, 0x7b, 0x39, 0xf0, 0x1e, 0x44, 0x7e, 0x23, 0x5d, 0xca, 0x25, 0x36, 0x3a, 0x71, 0x2c, 0x0b, 0xed, - 0x3c, 0xae, 0xbf, 0x8e, 0x41, 0xfd, 0x5e, 0xe9, 0x37, 0x28, 0x67, 0x7f, 0x94, 0xac, 0xd3, 0xc6, 0x13, 0xe3, 0x5f, - 0xae, 0xf2, 0x4f, 0xd1, 0x52, 0x0f, 0xff, 0x9f, 0x31, 0x85, 0xd2, 0x5f, 0xa7, 0x65, 0xb4, 0x59, 0x2d, 0x44, 0x29, - 0xf2, 0x48, 0x9c, 0x7c, 0x2d, 0xb2, 0x73, 0xf9, 0xce, 0xa7, 0xd0, 0x2f, 0x00, 0x2d, 0xfb, 0x04, 0x19, 0xfd, 0x2b, - 0x13, 0x7c, 0xf8, 0xab, 0x76, 0xae, 0xcd, 0xf9, 0x78, 0x92, 0x5f, 0x59, 0x7b, 0xb7, 0xe3, 0x45, 0x62, 0x14, 0x63, - 0xb9, 0xaf, 0xba, 0x59, 0x39, 0x51, 0xc9, 0x81, 0x91, 0xae, 0xc9, 0x5e, 0xae, 0x64, 0xdd, 0x4e, 0xb7, 0x12, 0x88, - 0xa8, 0x02, 0xef, 0x31, 0xae, 0x62, 0x1f, 0xc1, 0x74, 0xdd, 0x71, 0x19, 0xed, 0x78, 0xcf, 0x78, 0x75, 0xa2, 0xac, - 0xe0, 0x76, 0x23, 0xda, 0x13, 0x3a, 0xfa, 0x69, 0x52, 0x5b, 0x16, 0x0e, 0x40, 0xee, 0x12, 0xc6, 0xb2, 0x21, 0x58, - 0x31, 0x28, 0x7d, 0xbd, 0xa6, 0x64, 0x59, 0x80, 0x45, 0x67, 0x97, 0x11, 0x88, 0x61, 0xdd, 0x34, 0x27, 0x74, 0xbc, - 0x74, 0x71, 0xde, 0x6b, 0x15, 0x29, 0x78, 0x46, 0x8b, 0x8e, 0xb9, 0xe9, 0x48, 0x37, 0x46, 0x7b, 0xfb, 0xc2, 0x20, - 0xa4, 0x78, 0xfe, 0xc0, 0x56, 0xeb, 0xe2, 0x22, 0xf1, 0x0a, 0x99, 0x68, 0x41, 0x2c, 0x45, 0x60, 0xc6, 0x0b, 0x4d, - 0x23, 0x4c, 0x50, 0xa6, 0x04, 0x8b, 0xd6, 0xe8, 0xd0, 0xfe, 0xb0, 0x84, 0xdd, 0x63, 0x8c, 0x00, 0x81, 0x2a, 0xd3, - 0x8b, 0xb0, 0x35, 0x61, 0x36, 0x75, 0xb1, 0x01, 0xda, 0x2a, 0x86, 0x06, 0x61, 0x6d, 0x88, 0xf9, 0x98, 0xe6, 0xcb, - 0x7f, 0x62, 0x31, 0xb6, 0x27, 0x10, 0xdb, 0xbb, 0x5d, 0x93, 0x30, 0xdd, 0x6b, 0x71, 0x63, 0xbd, 0xdc, 0x9e, 0x72, - 0x4c, 0xed, 0x58, 0x1b, 0xb5, 0x63, 0x2d, 0xf4, 0x8e, 0xb5, 0xd6, 0x3b, 0xd6, 0xb2, 0xe1, 0x1f, 0x32, 0x2f, 0x66, - 0x09, 0xe8, 0x77, 0x57, 0x5c, 0x35, 0x08, 0x9a, 0xb1, 0x61, 0xb7, 0xf0, 0x5b, 0x62, 0xed, 0x96, 0xfe, 0xc5, 0x82, - 0xdd, 0x98, 0x3e, 0xd0, 0xad, 0x03, 0x2c, 0x23, 0x6a, 0xf2, 0x1d, 0xf2, 0x6e, 0x3a, 0x2b, 0x0a, 0xb7, 0x27, 0x76, - 0xe3, 0xb3, 0x6b, 0xf3, 0xe6, 0xdd, 0x93, 0x08, 0x72, 0xef, 0xb8, 0x77, 0x37, 0xbc, 0xf6, 0x2f, 0x74, 0x0b, 0xe4, - 0x64, 0x96, 0x33, 0x90, 0x3a, 0xe2, 0x33, 0x44, 0x2b, 0x7b, 0xca, 0x77, 0x42, 0xee, 0x6c, 0xeb, 0x27, 0x77, 0xee, - 0xb6, 0xb6, 0x7c, 0x72, 0xc7, 0xaa, 0x11, 0xc5, 0x8a, 0xd3, 0x14, 0x09, 0xb3, 0x68, 0x03, 0x3c, 0xf5, 0xf2, 0xfd, - 0x8e, 0x1d, 0x73, 0xb8, 0x7b, 0xd2, 0xd1, 0xf1, 0x72, 0x0e, 0xd8, 0xdd, 0x7f, 0xb4, 0x09, 0x1b, 0x2b, 0x5d, 0xab, - 0xd0, 0xe1, 0xee, 0x49, 0xa6, 0xf1, 0x1c, 0x8e, 0xe4, 0xd3, 0xb1, 0xc6, 0x06, 0x41, 0x5d, 0x9f, 0x33, 0xa8, 0x1d, - 0xbb, 0xaf, 0x09, 0xbb, 0xec, 0x98, 0xd7, 0xba, 0xe6, 0xed, 0x95, 0xa7, 0x62, 0x43, 0x40, 0x87, 0xaf, 0xd5, 0x0d, - 0xf2, 0x2f, 0x81, 0x53, 0x04, 0x80, 0x1c, 0x8e, 0x97, 0x3c, 0xf6, 0x7d, 0x9a, 0xa5, 0xf5, 0x0e, 0xb5, 0x16, 0x95, - 0x65, 0x19, 0xd6, 0xde, 0x0f, 0x5a, 0x31, 0x2c, 0x35, 0xfd, 0xd3, 0x71, 0xe0, 0x76, 0xb6, 0x5b, 0x19, 0xbb, 0x8c, - 0x27, 0xc5, 0xc5, 0xaf, 0xa7, 0x85, 0x72, 0xed, 0xe6, 0x6d, 0xfc, 0xa6, 0xd5, 0x92, 0xa5, 0xb5, 0x1e, 0xf2, 0xd2, - 0xb2, 0x88, 0x40, 0x00, 0xc3, 0x91, 0xb2, 0x8b, 0x25, 0xdc, 0x23, 0xac, 0xee, 0x41, 0x28, 0x99, 0x17, 0x2e, 0x9e, - 0xb2, 0x18, 0x12, 0x01, 0xb6, 0x3b, 0x54, 0x6c, 0x0b, 0x17, 0x4f, 0xd9, 0x86, 0x17, 0xfd, 0x7e, 0xa6, 0x3a, 0x85, - 0xac, 0x3b, 0x0b, 0xbe, 0x51, 0xcd, 0xb1, 0x86, 0x9a, 0xad, 0x4d, 0xb2, 0x35, 0xce, 0x6d, 0xc5, 0xc7, 0xb2, 0xad, - 0xf8, 0x58, 0x59, 0xeb, 0xd2, 0xbd, 0xde, 0xa3, 0xba, 0x00, 0xb6, 0xfe, 0xdb, 0xe3, 0x95, 0xeb, 0xf9, 0x8c, 0x00, - 0xbe, 0x6e, 0xf8, 0x78, 0x72, 0x83, 0x5e, 0x25, 0x37, 0xfe, 0xed, 0x40, 0x8d, 0xbf, 0xd3, 0xb9, 0x37, 0x00, 0x5d, - 0x49, 0x79, 0x05, 0xe4, 0x1d, 0xe4, 0x98, 0x5b, 0x76, 0xe5, 0xdd, 0xc9, 0x77, 0xd8, 0x35, 0xaf, 0x67, 0x37, 0x73, - 0xb6, 0x03, 0xa7, 0x82, 0x64, 0x60, 0x2f, 0x2b, 0xb6, 0x0b, 0x62, 0x3b, 0xe1, 0x77, 0x02, 0xa6, 0x7c, 0x0e, 0x41, - 0x5c, 0xc1, 0x2d, 0xc4, 0xe1, 0xc9, 0x3f, 0x07, 0x77, 0xad, 0xcd, 0xfa, 0x8e, 0x59, 0x9d, 0x13, 0xac, 0x99, 0xd5, - 0x83, 0xc1, 0xa2, 0x99, 0xac, 0xfa, 0x7d, 0x6f, 0xa7, 0x1d, 0x9f, 0x96, 0x52, 0x27, 0x76, 0x5a, 0xab, 0x75, 0xc3, - 0xae, 0xa5, 0xd6, 0xc5, 0x18, 0x7a, 0x80, 0xf8, 0xe9, 0x76, 0xc0, 0xef, 0x3a, 0xd6, 0x96, 0x77, 0xcd, 0x6e, 0xd8, - 0x0e, 0x2e, 0x41, 0x4d, 0x7b, 0xd9, 0x9f, 0x54, 0x2e, 0x68, 0xc7, 0x2e, 0x89, 0x87, 0x33, 0x66, 0x95, 0x32, 0xb3, - 0x4e, 0xaa, 0x2b, 0xd1, 0x19, 0xd3, 0x59, 0xeb, 0xf9, 0x5c, 0xcd, 0x27, 0x85, 0x06, 0xf5, 0x3b, 0x27, 0x3e, 0xa2, - 0xa2, 0xf3, 0x04, 0xb6, 0x96, 0x15, 0xc4, 0x6a, 0x9f, 0x83, 0xb5, 0x56, 0xbb, 0xf4, 0x7b, 0xf9, 0x80, 0xdb, 0x94, - 0xc3, 0x3a, 0x30, 0xa8, 0x39, 0xb1, 0xa2, 0x1e, 0xb2, 0x1d, 0xe3, 0xe6, 0xa7, 0x97, 0x3f, 0x38, 0x61, 0xc9, 0x8a, - 0xd5, 0xfe, 0xf4, 0xd7, 0x27, 0x9e, 0xfe, 0x4e, 0xed, 0x5f, 0x08, 0x3f, 0x18, 0xff, 0xbb, 0x76, 0x5f, 0x6b, 0x31, - 0x2a, 0x5b, 0xe5, 0x08, 0x8d, 0xbb, 0x95, 0x34, 0x59, 0x7e, 0x16, 0x9e, 0xb0, 0x16, 0x3c, 0xcb, 0xf5, 0x12, 0xcd, - 0x0a, 0x58, 0x61, 0x2d, 0x93, 0x70, 0x85, 0xb1, 0x5a, 0xda, 0xea, 0x5b, 0x34, 0xcd, 0xf1, 0xe1, 0x5c, 0x1b, 0x94, - 0x29, 0x67, 0x67, 0xc4, 0x6a, 0xb8, 0x0c, 0x4b, 0x13, 0x8a, 0x90, 0xdd, 0xdb, 0xc1, 0x8d, 0x9d, 0xb2, 0x94, 0x32, - 0x9c, 0x63, 0x30, 0xe1, 0x91, 0x18, 0x55, 0xf9, 0xfe, 0xbe, 0xa4, 0xc8, 0x69, 0x5b, 0x0e, 0xaa, 0x10, 0xf6, 0x91, - 0x44, 0x09, 0xdc, 0x8a, 0xb4, 0x50, 0xa4, 0x2c, 0xfe, 0x76, 0x80, 0x2e, 0xf0, 0x02, 0xea, 0x6a, 0xd4, 0xed, 0x0f, - 0x47, 0x3c, 0x7c, 0x60, 0xea, 0x03, 0x23, 0x96, 0x04, 0x6a, 0x7b, 0x9e, 0xa5, 0x4b, 0x50, 0xe1, 0xf7, 0x70, 0x35, - 0x11, 0xfb, 0xb9, 0x25, 0x45, 0x45, 0x36, 0xd2, 0x1b, 0x5a, 0x83, 0x47, 0x68, 0x4d, 0x79, 0xe1, 0xa4, 0xda, 0xa4, - 0xf3, 0x8e, 0x90, 0x63, 0xf5, 0xad, 0x25, 0x8c, 0x76, 0x45, 0x2f, 0xee, 0x1d, 0xbd, 0xe7, 0xe9, 0xaa, 0xe7, 0xfe, - 0xc4, 0x15, 0xf3, 0xe4, 0x36, 0x02, 0x75, 0x2b, 0xa8, 0x6e, 0xef, 0x55, 0x82, 0x05, 0x4b, 0xda, 0x7d, 0xfc, 0x76, - 0xd6, 0x0e, 0x44, 0x65, 0xac, 0xd2, 0xb7, 0x24, 0x61, 0x4f, 0x0c, 0x3a, 0x85, 0xaa, 0xdc, 0xee, 0x8e, 0xb6, 0xc0, - 0x75, 0xcc, 0x52, 0xf4, 0xdc, 0x16, 0xb9, 0x5b, 0xfe, 0xdd, 0x73, 0x45, 0xce, 0x7e, 0x09, 0x08, 0x4e, 0xcd, 0x37, - 0xc4, 0x97, 0x23, 0x3c, 0xaa, 0x6e, 0x81, 0xe3, 0xf4, 0x1d, 0xc0, 0x3f, 0x1c, 0x2e, 0x41, 0x13, 0x10, 0x0b, 0xd6, - 0x4b, 0xe3, 0x1e, 0xeb, 0xc5, 0xc5, 0x66, 0x99, 0xe4, 0x1b, 0x70, 0x66, 0xa0, 0x54, 0x4b, 0x3f, 0x70, 0xac, 0x16, - 0x50, 0xe1, 0x60, 0x76, 0x52, 0x2f, 0x2c, 0xa3, 0x1e, 0xd3, 0xe7, 0x67, 0xb0, 0x77, 0x84, 0x04, 0xc0, 0xfd, 0xb2, - 0x0f, 0x48, 0xc0, 0x43, 0x67, 0x76, 0x40, 0x38, 0x61, 0x16, 0x55, 0x81, 0x44, 0x72, 0xa4, 0x9f, 0x3d, 0x66, 0x22, - 0xf9, 0x83, 0x59, 0xcf, 0x39, 0x25, 0x7a, 0xac, 0xa7, 0x8e, 0x90, 0x1e, 0xeb, 0x59, 0x47, 0x44, 0x8f, 0xf5, 0xac, - 0xe3, 0xa3, 0xc7, 0x7a, 0xe6, 0xd8, 0xe9, 0x41, 0x60, 0x02, 0x44, 0x1e, 0xb0, 0x1e, 0x4d, 0xa6, 0x9e, 0xe2, 0x1e, - 0x20, 0x1a, 0x04, 0xd6, 0x93, 0xc2, 0x79, 0x0f, 0x90, 0xc7, 0x48, 0xac, 0x0e, 0x7a, 0xff, 0x31, 0x7e, 0xdc, 0x33, - 0x32, 0xf2, 0xb8, 0x75, 0x58, 0xfd, 0xaf, 0xff, 0x84, 0x00, 0x38, 0x3c, 0x9b, 0x7a, 0x97, 0x63, 0xc8, 0x2a, 0xcb, - 0x08, 0x24, 0x3f, 0x31, 0xf8, 0xf2, 0x05, 0x40, 0xd5, 0x67, 0xba, 0x56, 0x93, 0xa3, 0xf6, 0x98, 0x43, 0x57, 0x0c, - 0x00, 0xdb, 0xb0, 0x44, 0x55, 0x2d, 0x6c, 0xc2, 0xe2, 0xf6, 0x33, 0x8c, 0xe6, 0xb2, 0xe9, 0x05, 0x0d, 0xd4, 0x23, - 0x04, 0xbf, 0xb4, 0x1e, 0x5a, 0x6b, 0x99, 0x72, 0xe8, 0xda, 0x28, 0xaa, 0x6c, 0xa8, 0x4b, 0x58, 0xad, 0x45, 0x54, - 0x13, 0x45, 0xca, 0x25, 0xa3, 0x28, 0x96, 0x2a, 0xd8, 0x67, 0x62, 0x09, 0x51, 0xf3, 0xb4, 0xd5, 0x56, 0xc1, 0x7e, - 0x09, 0x08, 0x6b, 0x61, 0x2d, 0xa4, 0x33, 0xa8, 0xbd, 0xd3, 0x8f, 0x94, 0xbf, 0xbc, 0x90, 0xdb, 0xb9, 0x85, 0x22, - 0xdc, 0x9e, 0x83, 0xf2, 0xa6, 0xae, 0x4a, 0x45, 0x34, 0x5a, 0x02, 0xa5, 0xcc, 0x09, 0x22, 0x0b, 0x10, 0xc0, 0x71, - 0x03, 0x81, 0xcf, 0x6b, 0x7c, 0x02, 0x8d, 0x42, 0x20, 0x3f, 0xb0, 0x0a, 0xd7, 0x1e, 0xd2, 0x52, 0x6b, 0x44, 0x94, - 0x88, 0x1f, 0x5d, 0x3d, 0xc7, 0xf6, 0xd5, 0xd3, 0x58, 0x5b, 0x4a, 0x13, 0xc4, 0x4f, 0x2c, 0xb6, 0x10, 0x13, 0x44, - 0x75, 0x88, 0x8e, 0x60, 0x39, 0x21, 0x44, 0xe1, 0x4f, 0xa1, 0x9f, 0x1a, 0xf8, 0x4b, 0xb6, 0x28, 0xf2, 0x9a, 0x60, - 0x31, 0x2b, 0x06, 0x68, 0x55, 0x04, 0x9e, 0xe9, 0x6c, 0xa9, 0xcc, 0x69, 0x1e, 0x1d, 0xd9, 0xc1, 0x79, 0xd7, 0xc1, - 0x5e, 0xfa, 0x32, 0x76, 0xb2, 0x6c, 0x1a, 0xb5, 0xb1, 0x21, 0x12, 0x5e, 0x91, 0x5f, 0x67, 0xa9, 0x71, 0x8e, 0xcc, - 0xe5, 0xfa, 0xae, 0x8b, 0xe5, 0x92, 0xb6, 0x09, 0xab, 0x10, 0xa1, 0x6e, 0x1b, 0x2a, 0x97, 0xc2, 0x6c, 0x6c, 0x9a, - 0x06, 0xf8, 0x42, 0x51, 0xa9, 0x54, 0xa5, 0xb6, 0x52, 0xc9, 0x09, 0xef, 0xfa, 0xa6, 0x16, 0xa9, 0x2b, 0x82, 0x6d, - 0xcc, 0x50, 0x0f, 0xe5, 0x46, 0x8d, 0x7d, 0xdb, 0xb1, 0x4a, 0xef, 0x30, 0x41, 0xce, 0xc8, 0x8b, 0x1c, 0x5c, 0x94, - 0x14, 0x64, 0xae, 0x86, 0x30, 0x7f, 0xd0, 0xf0, 0x69, 0x61, 0xb9, 0x87, 0x12, 0x30, 0x3b, 0x6a, 0x78, 0x18, 0x21, - 0x10, 0x71, 0xa9, 0xec, 0x2b, 0x26, 0x7e, 0x4f, 0xc1, 0x2c, 0x99, 0xd0, 0xbd, 0x88, 0x45, 0x11, 0xda, 0xf8, 0x24, - 0x49, 0xa6, 0x9e, 0xa6, 0xe0, 0x46, 0x2e, 0xc3, 0x1c, 0x8d, 0xd0, 0x92, 0x8f, 0x1c, 0x48, 0x5f, 0xcb, 0xa9, 0x04, - 0x1f, 0x51, 0xa7, 0x80, 0xe3, 0xf9, 0x79, 0x61, 0xfd, 0x64, 0xb9, 0xc4, 0x5c, 0xd6, 0xe6, 0xbf, 0xec, 0xe8, 0x18, - 0xec, 0xf2, 0x34, 0x71, 0x5c, 0xfd, 0x47, 0x55, 0x52, 0xdc, 0xbf, 0x49, 0x73, 0x40, 0x11, 0xcc, 0xec, 0x29, 0xc6, - 0xc7, 0x3e, 0xcb, 0x14, 0xf0, 0xb7, 0xeb, 0xad, 0x25, 0x13, 0xbb, 0xa4, 0xdd, 0x5c, 0x19, 0xbf, 0xd4, 0x86, 0x1d, - 0x07, 0xe7, 0x06, 0xa0, 0x38, 0x6b, 0x74, 0x58, 0x5e, 0xeb, 0xb6, 0x55, 0xa1, 0x02, 0xb5, 0xfe, 0xf7, 0x6e, 0x61, - 0xca, 0xdb, 0xbc, 0x54, 0xde, 0xe6, 0xa1, 0x09, 0x10, 0x88, 0xcc, 0x90, 0x67, 0x4d, 0xc7, 0x24, 0x71, 0xef, 0x48, - 0x49, 0xfb, 0x8e, 0x14, 0x3f, 0x78, 0x47, 0x42, 0xbe, 0x25, 0x74, 0x64, 0x5f, 0x70, 0x72, 0x02, 0x65, 0x06, 0x7b, - 0x79, 0xcd, 0x64, 0xff, 0x80, 0xf6, 0xc2, 0xb9, 0x2c, 0xaf, 0xf8, 0x5b, 0xe1, 0xad, 0xfd, 0xe9, 0xfa, 0xb4, 0xab, - 0xea, 0xed, 0x37, 0x66, 0xe6, 0xe1, 0x50, 0x1c, 0x0e, 0x95, 0x09, 0xda, 0xbd, 0xe1, 0x62, 0x90, 0xb3, 0x3b, 0x37, - 0x3e, 0xfe, 0x9a, 0xa3, 0x88, 0xad, 0x94, 0x47, 0xd2, 0x85, 0x4a, 0x0c, 0x2f, 0x0d, 0x3c, 0xcc, 0x8e, 0x8f, 0x27, - 0xbb, 0xab, 0xbb, 0xc9, 0x60, 0xb0, 0x53, 0x7d, 0xbb, 0xe5, 0xf5, 0x6c, 0x37, 0x67, 0xf7, 0xfc, 0x76, 0xba, 0x0d, - 0xf6, 0x0d, 0x6c, 0xbb, 0xbb, 0x2b, 0x71, 0x38, 0xec, 0x9e, 0xf1, 0x1b, 0x7f, 0x7f, 0x8f, 0x80, 0xce, 0xfc, 0x7c, - 0xdc, 0xc6, 0xf8, 0x79, 0xdb, 0x76, 0xd5, 0xda, 0x01, 0x3c, 0xfd, 0x6b, 0xef, 0xed, 0x6c, 0x31, 0xf7, 0xd9, 0x07, - 0x7e, 0x0f, 0xfe, 0xf9, 0xb8, 0x49, 0x22, 0xf5, 0x89, 0x76, 0x99, 0x7c, 0x0b, 0x0e, 0xe4, 0x3b, 0x9f, 0x7d, 0xe6, - 0xf7, 0xb3, 0xc5, 0x9c, 0x17, 0x87, 0xc3, 0xfb, 0x69, 0x88, 0x64, 0x4d, 0x61, 0x45, 0x2c, 0x29, 0x9e, 0x1f, 0x84, - 0xc7, 0xef, 0x45, 0x64, 0x88, 0xb4, 0xdc, 0xbb, 0x43, 0xf6, 0x96, 0x45, 0x7e, 0x00, 0x1f, 0x64, 0x3b, 0x7f, 0x22, - 0x6b, 0x4a, 0xf7, 0x8b, 0x0f, 0xfe, 0xe1, 0x40, 0x7f, 0x7d, 0xf6, 0x0f, 0x87, 0xf7, 0xec, 0x1e, 0xc1, 0xd1, 0xf9, - 0x0e, 0xfa, 0x47, 0xdf, 0x3a, 0xa0, 0x2a, 0xc3, 0xeb, 0xd9, 0x66, 0xee, 0x3f, 0x5b, 0xb1, 0x25, 0x70, 0xa1, 0x28, - 0x2f, 0xb4, 0xb7, 0xec, 0x1e, 0xbd, 0xce, 0xc8, 0x89, 0x68, 0xb6, 0x9b, 0xfb, 0x2c, 0xc6, 0xe7, 0xea, 0xbe, 0x98, - 0x7c, 0xf3, 0xbe, 0xb8, 0x63, 0xdb, 0xee, 0xfb, 0xa2, 0x7c, 0xd3, 0x5d, 0x3f, 0x5b, 0xb6, 0x63, 0xf7, 0x30, 0xc3, - 0xae, 0xf9, 0xdb, 0xe6, 0xd8, 0x31, 0xf6, 0x9b, 0x37, 0x46, 0x00, 0x65, 0xb6, 0x60, 0xb1, 0xe0, 0xa0, 0x54, 0xab, - 0xb6, 0x25, 0x91, 0x57, 0x3a, 0x50, 0x6d, 0x46, 0x70, 0x5f, 0x2d, 0xe4, 0xcc, 0x33, 0x03, 0x7d, 0x5b, 0x21, 0x5a, - 0x38, 0x6c, 0xc0, 0xdf, 0x68, 0xeb, 0x18, 0xc3, 0x34, 0xab, 0x99, 0xb6, 0x45, 0x5d, 0x7e, 0xdf, 0x7b, 0x26, 0xbf, - 0x91, 0x81, 0x2d, 0x44, 0x52, 0x38, 0x8e, 0x2f, 0x9e, 0x9e, 0xf0, 0x5f, 0xb5, 0x3c, 0x6a, 0xb5, 0x5f, 0x28, 0xf5, - 0xe9, 0x35, 0x1d, 0xd1, 0xc4, 0xbd, 0x68, 0xcb, 0xb0, 0x46, 0x59, 0x53, 0x4b, 0x87, 0x61, 0x5c, 0xc3, 0xbe, 0x3c, - 0x70, 0xe8, 0x3b, 0x20, 0xd0, 0x56, 0xa9, 0x14, 0x68, 0xe1, 0x18, 0x46, 0x61, 0x16, 0x52, 0x1e, 0x16, 0x66, 0x29, - 0xef, 0xb1, 0x40, 0x8b, 0x5b, 0x75, 0x8f, 0xa9, 0xed, 0x16, 0x44, 0x58, 0xbd, 0x65, 0x9c, 0x5f, 0x36, 0xaa, 0x70, - 0x5b, 0x80, 0xa2, 0x08, 0xca, 0x60, 0x4f, 0x72, 0xdb, 0x8d, 0x92, 0x66, 0xa3, 0xb0, 0x16, 0xcb, 0xa2, 0xdc, 0xf5, - 0x1a, 0x76, 0x83, 0x17, 0x54, 0xfd, 0x84, 0xb0, 0x2d, 0x7b, 0xd6, 0xa1, 0x5c, 0xa4, 0xff, 0x96, 0xa5, 0xe7, 0xfb, - 0xad, 0x39, 0xff, 0xd3, 0x57, 0xf4, 0x51, 0xf9, 0xef, 0x5f, 0xd2, 0x4f, 0x06, 0xcb, 0xc8, 0x29, 0xf5, 0x53, 0x34, - 0xba, 0x4d, 0x73, 0xc2, 0xd8, 0xf2, 0xf5, 0xd3, 0xef, 0x90, 0x29, 0x48, 0x0e, 0xa5, 0x54, 0xe5, 0x64, 0x0f, 0x7d, - 0xe1, 0x75, 0x1f, 0x66, 0x82, 0x01, 0x08, 0xaf, 0xd1, 0xa6, 0x9a, 0x30, 0x89, 0x07, 0x57, 0xf0, 0x7f, 0x23, 0x88, - 0x41, 0xfb, 0x44, 0x51, 0xc7, 0xb6, 0x91, 0xae, 0xdb, 0xce, 0x41, 0x72, 0xa7, 0xae, 0xfc, 0x51, 0x39, 0xf9, 0x77, - 0x34, 0x44, 0x5e, 0x71, 0x85, 0x58, 0x59, 0x70, 0x89, 0xc5, 0x50, 0x91, 0x02, 0x5c, 0x43, 0x10, 0x29, 0x8b, 0x92, - 0xc2, 0x2d, 0x07, 0x55, 0x11, 0x80, 0x71, 0xb5, 0x3a, 0xea, 0x44, 0xf8, 0xb8, 0xb5, 0x16, 0x21, 0x58, 0xd1, 0xa8, - 0x95, 0xb5, 0x02, 0x5f, 0x90, 0xbe, 0x74, 0x28, 0x88, 0xe9, 0x51, 0x48, 0x55, 0xe9, 0x50, 0x20, 0xcd, 0xa1, 0xe2, - 0x1b, 0x83, 0x8d, 0xa2, 0x22, 0x3d, 0x7f, 0x69, 0x52, 0x72, 0x69, 0xcc, 0xf8, 0x20, 0xca, 0x48, 0xe4, 0x75, 0xb8, - 0x14, 0xd3, 0x02, 0xf9, 0x46, 0x8f, 0x1f, 0x04, 0x97, 0xf0, 0x6e, 0xc8, 0xbd, 0x02, 0x6c, 0x09, 0xd8, 0x01, 0xee, - 0x95, 0x19, 0xe5, 0x3a, 0xad, 0xeb, 0xb7, 0xd6, 0x43, 0x31, 0x0c, 0x9f, 0x58, 0x02, 0xdb, 0xd1, 0x3a, 0x3a, 0xd2, - 0xc3, 0x87, 0xff, 0x75, 0x55, 0x73, 0xd4, 0xa9, 0x5c, 0xce, 0x8e, 0x27, 0x2c, 0x45, 0xcc, 0xa0, 0xfb, 0xeb, 0xf6, - 0x5a, 0x00, 0xdd, 0x2e, 0x8b, 0x79, 0x36, 0xda, 0xc9, 0xbf, 0xa5, 0x1b, 0x2b, 0x4a, 0x9b, 0x78, 0x97, 0xf5, 0xc6, - 0xfe, 0x70, 0xf4, 0x1f, 0x4f, 0xde, 0x4d, 0x08, 0x55, 0x67, 0xc3, 0xd6, 0x3a, 0xce, 0xe5, 0x7f, 0xfd, 0xe7, 0x98, - 0xac, 0x20, 0x28, 0x08, 0xcb, 0x4e, 0x31, 0x51, 0xc1, 0x28, 0x52, 0xac, 0xf9, 0x78, 0xb2, 0x46, 0x9d, 0xf0, 0xda, - 0x5f, 0x68, 0x9d, 0x30, 0x31, 0xb2, 0x52, 0xf9, 0x6b, 0x56, 0xb1, 0xa5, 0xca, 0x2c, 0x20, 0xf3, 0x20, 0x9f, 0xac, - 0x8d, 0x06, 0x73, 0xc5, 0xeb, 0xd9, 0x7a, 0x2e, 0x95, 0xcf, 0x60, 0xca, 0x59, 0x0c, 0x4e, 0x96, 0xc2, 0xee, 0x48, - 0xa0, 0x68, 0xcd, 0xd0, 0xb5, 0x3f, 0xc5, 0x56, 0xbd, 0x4c, 0xab, 0x1a, 0xe0, 0x01, 0x21, 0x06, 0x86, 0xda, 0xab, - 0x85, 0x87, 0xd6, 0x02, 0x58, 0xfb, 0xa3, 0xd2, 0x0f, 0xc6, 0x93, 0x05, 0xbf, 0x41, 0xfe, 0xe5, 0xc8, 0x51, 0xbb, - 0xf7, 0xfb, 0xde, 0x1d, 0x48, 0xc1, 0x91, 0x6b, 0xa1, 0x40, 0x22, 0xa0, 0x1b, 0xbe, 0xf1, 0x95, 0x0f, 0xc6, 0x35, - 0x6a, 0xab, 0x41, 0x41, 0xed, 0xe8, 0x96, 0xc7, 0x8e, 0xde, 0xf9, 0xee, 0x84, 0xbe, 0xfa, 0x46, 0x0b, 0xc7, 0xdf, - 0x38, 0x23, 0xd7, 0x6c, 0xd5, 0x21, 0x47, 0x34, 0x93, 0x0e, 0x21, 0x62, 0xc5, 0xd6, 0xec, 0x9a, 0x54, 0xce, 0x9d, - 0x43, 0x76, 0xfa, 0x08, 0x55, 0x7a, 0xad, 0x87, 0xb7, 0x13, 0xa5, 0xbb, 0x3d, 0xde, 0x4d, 0xbe, 0x67, 0x13, 0x11, - 0x83, 0x01, 0x6d, 0x10, 0xce, 0xc8, 0x3a, 0x44, 0x2a, 0x1d, 0x20, 0x04, 0x8e, 0x09, 0x68, 0xfa, 0xaf, 0x6f, 0x49, - 0x14, 0x70, 0xa4, 0x8d, 0x90, 0xb5, 0xec, 0x70, 0xc8, 0x41, 0xa3, 0xdc, 0xfc, 0xe9, 0x15, 0xea, 0x34, 0x07, 0xe6, - 0xe9, 0x12, 0xf6, 0x1c, 0x3c, 0xd2, 0x8b, 0xe3, 0x23, 0xfd, 0xbf, 0xa3, 0x89, 0x1a, 0xff, 0xfb, 0x9a, 0x28, 0xa5, - 0x45, 0x72, 0x54, 0x4b, 0xdf, 0xa5, 0x8e, 0x82, 0x8b, 0xbc, 0xa3, 0x16, 0xb2, 0x67, 0xd9, 0xb8, 0x51, 0xcd, 0xfb, - 0xff, 0xb5, 0x32, 0xff, 0x5f, 0xd3, 0xca, 0x30, 0x25, 0x3b, 0x96, 0x6a, 0xe6, 0x81, 0x56, 0x31, 0xcc, 0xde, 0x90, - 0x84, 0xc8, 0x70, 0x69, 0xc0, 0x8f, 0x2a, 0xd8, 0xc7, 0x69, 0xb5, 0xce, 0xc2, 0x1d, 0x2a, 0x51, 0x6f, 0xc5, 0x32, - 0xcd, 0x9f, 0xd7, 0xff, 0x12, 0x65, 0x01, 0x53, 0x7b, 0x59, 0xa6, 0x71, 0x40, 0x16, 0xfe, 0x2c, 0x2c, 0x71, 0x72, - 0x63, 0x1b, 0xdf, 0xc8, 0xf1, 0xb4, 0x5f, 0x75, 0x66, 0x1e, 0x48, 0xa0, 0x06, 0xba, 0x90, 0x9c, 0xcb, 0xca, 0xe2, - 0x1e, 0xa1, 0x9b, 0x7f, 0x2c, 0xcb, 0xa2, 0xf4, 0x7a, 0x9f, 0x93, 0xb4, 0x3a, 0x5b, 0x89, 0x3a, 0x29, 0x62, 0x05, - 0x65, 0x93, 0x02, 0x8c, 0x3e, 0xac, 0x3c, 0x11, 0x07, 0x67, 0x08, 0xd4, 0x70, 0x56, 0x27, 0x21, 0x00, 0x0d, 0x2b, - 0x84, 0xfd, 0x33, 0x68, 0xe1, 0x59, 0x18, 0x87, 0x6b, 0x80, 0xc9, 0x49, 0xab, 0xb3, 0x75, 0x59, 0xdc, 0xa5, 0xb1, - 0x88, 0x47, 0x3d, 0x45, 0xc9, 0xf2, 0x2a, 0x77, 0xe5, 0x5c, 0x7f, 0xff, 0x27, 0x05, 0xb0, 0x1b, 0x30, 0xdb, 0x16, - 0xd8, 0x01, 0x40, 0x82, 0x02, 0xd9, 0x42, 0x9d, 0x46, 0x67, 0x6a, 0xa9, 0xc0, 0x7b, 0xae, 0x07, 0xf8, 0xab, 0x1c, - 0xb0, 0x8c, 0xeb, 0x42, 0x06, 0x8c, 0x20, 0x80, 0x11, 0x38, 0x28, 0x01, 0x43, 0x67, 0x88, 0xdb, 0xaa, 0x9c, 0xb5, - 0xd0, 0x5c, 0xe9, 0xb6, 0xe4, 0xa6, 0x51, 0xce, 0x56, 0x22, 0x80, 0xbe, 0xba, 0x29, 0x71, 0xba, 0x58, 0xb4, 0x92, - 0xb0, 0x6f, 0xdf, 0xb7, 0x53, 0x45, 0x1e, 0x1f, 0xa5, 0x21, 0xaf, 0xc0, 0xf3, 0x8c, 0x23, 0x49, 0x94, 0x08, 0x5e, - 0xe5, 0x8d, 0x19, 0x87, 0x1f, 0xdb, 0x94, 0x53, 0x7b, 0xb3, 0x5e, 0x00, 0xce, 0x13, 0xb4, 0x65, 0x80, 0xb1, 0x80, - 0xc1, 0xb9, 0x10, 0x4b, 0x9e, 0x22, 0xf8, 0xa5, 0x13, 0x29, 0x8c, 0xbb, 0x1c, 0x86, 0x79, 0x50, 0xf4, 0x2e, 0xa9, - 0x3f, 0xfa, 0x7d, 0xd4, 0x26, 0x83, 0x21, 0xa8, 0x04, 0x50, 0x59, 0x37, 0x48, 0x0c, 0xac, 0x4a, 0x37, 0x12, 0x97, - 0x10, 0x2f, 0xf3, 0xd5, 0x54, 0x44, 0xc1, 0xfb, 0x7a, 0x42, 0x08, 0x27, 0x18, 0x1f, 0xe2, 0x06, 0x08, 0x18, 0xac, - 0xe2, 0x02, 0x83, 0xe4, 0xb9, 0x44, 0xf7, 0xc7, 0xf3, 0x1d, 0x03, 0x5c, 0x39, 0xef, 0xa9, 0x76, 0xf5, 0xc0, 0x5e, - 0xae, 0xd2, 0x25, 0x23, 0x84, 0x15, 0xff, 0x17, 0x91, 0xf7, 0xed, 0x30, 0x01, 0xb5, 0x8d, 0xfc, 0x31, 0x48, 0xcc, - 0x65, 0xa2, 0x08, 0xe2, 0x51, 0x56, 0xb0, 0x24, 0x0d, 0x36, 0xa3, 0x24, 0x05, 0x8d, 0x26, 0xc6, 0x90, 0xa9, 0xd0, - 0x0e, 0x49, 0xa3, 0xd9, 0x98, 0xec, 0x63, 0xc8, 0x6b, 0xb8, 0x58, 0x2c, 0xf0, 0xbe, 0x37, 0x42, 0x75, 0xb0, 0x2d, - 0xcd, 0x21, 0xe0, 0x24, 0xc1, 0x9e, 0xba, 0x22, 0x25, 0x61, 0x36, 0xfa, 0x14, 0x72, 0x6e, 0x40, 0xc7, 0x49, 0x63, - 0xa8, 0x3e, 0x30, 0x09, 0xaf, 0x22, 0x74, 0x52, 0x56, 0x08, 0x0b, 0xb8, 0x6f, 0x64, 0x34, 0x5a, 0x49, 0x83, 0xc0, - 0xdb, 0x0c, 0x5b, 0x81, 0x4d, 0x68, 0xf8, 0x8f, 0x99, 0x87, 0x69, 0x35, 0x2b, 0xc1, 0x9c, 0x6f, 0xa0, 0x12, 0xe3, - 0xc9, 0xe2, 0x8a, 0x6f, 0x5c, 0xac, 0xc4, 0x64, 0xb6, 0x98, 0x4f, 0xd6, 0x92, 0x6a, 0x2e, 0xf7, 0xd6, 0x2c, 0x63, - 0x0b, 0xd8, 0x3f, 0x0c, 0x0c, 0xa5, 0x03, 0x3b, 0x9a, 0x6a, 0xda, 0x24, 0xc0, 0x64, 0x3a, 0xe7, 0x7c, 0x78, 0x89, - 0x68, 0xb2, 0x3a, 0x75, 0x27, 0x53, 0xd5, 0x0e, 0xae, 0xc9, 0x99, 0x9c, 0x1e, 0xa9, 0xa7, 0x5a, 0xf7, 0x92, 0x8f, - 0xb6, 0xc3, 0x6a, 0xb4, 0xf5, 0x03, 0x70, 0xeb, 0x14, 0x76, 0xfa, 0x6e, 0x58, 0x8d, 0x76, 0xbe, 0x86, 0xdd, 0x25, - 0x85, 0x40, 0xf5, 0x57, 0x59, 0x93, 0xb9, 0x78, 0x5d, 0xdc, 0x7b, 0x05, 0x7b, 0xea, 0x0f, 0xf4, 0xaf, 0x92, 0x3d, - 0xf5, 0x6d, 0x26, 0xd7, 0xbf, 0xd2, 0xae, 0xd1, 0x98, 0xe9, 0x78, 0xed, 0x0a, 0xac, 0xd0, 0x00, 0xf9, 0x05, 0x3b, - 0xda, 0xeb, 0x1c, 0x04, 0x02, 0x74, 0x2f, 0xc1, 0x51, 0x14, 0x10, 0x35, 0xad, 0x2a, 0x8f, 0x4e, 0xf7, 0xfe, 0x1e, - 0xdf, 0x08, 0x01, 0x9b, 0x3c, 0xb5, 0xee, 0x2d, 0x63, 0xff, 0x70, 0x80, 0x10, 0x7a, 0x39, 0xfd, 0x46, 0x5b, 0x56, - 0x8f, 0x76, 0x2c, 0xf7, 0x0d, 0xa3, 0x9e, 0x82, 0x31, 0x0c, 0x5d, 0x58, 0xc5, 0x48, 0x9e, 0x01, 0x59, 0xe3, 0x37, - 0x88, 0x2e, 0x60, 0xd1, 0xeb, 0xbd, 0x3c, 0xa2, 0x41, 0x04, 0x54, 0x7a, 0x4d, 0x1a, 0x8b, 0x7c, 0xae, 0x0a, 0xd1, - 0x7b, 0x6f, 0xed, 0xbc, 0x99, 0x91, 0x2c, 0x93, 0x46, 0xaa, 0xdd, 0xca, 0x62, 0x5d, 0x79, 0xb3, 0x13, 0xd2, 0xc5, - 0x1c, 0x43, 0x65, 0xf0, 0x38, 0x00, 0xa5, 0xe7, 0x3f, 0x42, 0xaf, 0x64, 0xc8, 0x34, 0x4b, 0x34, 0xb3, 0xbb, 0xc6, - 0x9f, 0xac, 0x52, 0x2f, 0x46, 0xc4, 0x6c, 0x60, 0x0b, 0x71, 0x5b, 0x54, 0xba, 0x2d, 0x0a, 0x65, 0x8b, 0x22, 0x7d, - 0xa8, 0x9d, 0xe9, 0xce, 0x2c, 0x7c, 0x56, 0x99, 0xf6, 0x7d, 0xce, 0xcc, 0xd8, 0x00, 0x6d, 0x17, 0xe1, 0x1b, 0xe8, - 0x40, 0x85, 0x90, 0xbf, 0x46, 0x44, 0x24, 0x02, 0x76, 0x39, 0x75, 0x27, 0x36, 0x1d, 0x92, 0x79, 0x88, 0x59, 0xa1, - 0x46, 0x79, 0xc1, 0x93, 0xa3, 0x01, 0xa9, 0x08, 0x75, 0xbb, 0xdf, 0x3f, 0x5f, 0xb8, 0xa0, 0xf6, 0x6b, 0x8a, 0x1d, - 0xa3, 0x9b, 0x02, 0xce, 0x05, 0x8f, 0xf2, 0x9e, 0x7b, 0xe7, 0x80, 0xe6, 0xd8, 0x9e, 0x22, 0x6b, 0xc0, 0xe9, 0x6d, - 0x17, 0x02, 0x6c, 0x9f, 0x35, 0x5b, 0xfb, 0x93, 0xd5, 0x55, 0x34, 0xf5, 0x4a, 0x3e, 0xd3, 0x5d, 0x94, 0xb8, 0x5d, - 0x14, 0xcb, 0x2e, 0xda, 0x34, 0x10, 0xec, 0xb8, 0xf2, 0x03, 0xe0, 0x0d, 0x8d, 0xfa, 0xfd, 0xb2, 0xd5, 0xb3, 0x27, - 0x5f, 0x3b, 0xee, 0xd9, 0xcc, 0x67, 0xa5, 0xe9, 0xd9, 0xdf, 0x52, 0xb7, 0x67, 0xe5, 0x64, 0x2f, 0x3a, 0x27, 0xfb, - 0x74, 0x36, 0x0f, 0x04, 0x97, 0x3b, 0xf7, 0x79, 0x3e, 0xd5, 0xd3, 0xae, 0xf2, 0x83, 0xd6, 0x10, 0x59, 0xbb, 0x5c, - 0xd5, 0xbd, 0xae, 0x60, 0x01, 0x4b, 0x70, 0xb7, 0x5e, 0x9a, 0xff, 0x86, 0xdd, 0xdf, 0x0b, 0x7a, 0x69, 0xfe, 0x3b, - 0xfd, 0x49, 0x01, 0x1c, 0x80, 0xc6, 0xd4, 0x6e, 0x81, 0x87, 0x18, 0x2a, 0x28, 0xdc, 0xcd, 0xca, 0xb9, 0x57, 0x03, - 0x1c, 0x26, 0xe9, 0x1b, 0x5a, 0xbd, 0xd2, 0x62, 0xd7, 0xcb, 0x64, 0xaf, 0x00, 0x0f, 0x55, 0xc8, 0xc3, 0xc3, 0x21, - 0xea, 0x18, 0x76, 0x50, 0x47, 0xc0, 0xb0, 0x87, 0xd0, 0xd8, 0x02, 0xcf, 0xc7, 0x37, 0x19, 0xdf, 0x0b, 0x50, 0x1b, - 0x21, 0x3c, 0x5e, 0x2d, 0xca, 0x10, 0x5b, 0xf6, 0x1a, 0xa9, 0xa4, 0xde, 0x08, 0x44, 0x19, 0xad, 0x02, 0xda, 0x6a, - 0x8f, 0x59, 0x1a, 0x3f, 0x41, 0xa8, 0x58, 0xea, 0x63, 0x08, 0x0d, 0x1c, 0x7e, 0x87, 0x03, 0x48, 0xf0, 0x25, 0xd7, - 0x64, 0x73, 0xaf, 0xf3, 0x3b, 0xda, 0xe7, 0x0f, 0x87, 0xf3, 0x4b, 0x04, 0xa5, 0x4b, 0xe1, 0x23, 0x95, 0x88, 0xea, - 0x29, 0x6e, 0x4a, 0xc8, 0x66, 0xc9, 0x4a, 0x3f, 0xf8, 0x4d, 0xfd, 0x02, 0x00, 0x59, 0x08, 0xb4, 0x89, 0xcc, 0xfe, - 0x74, 0xa6, 0xa2, 0x0b, 0x80, 0x43, 0xfc, 0xe1, 0x13, 0x44, 0xdf, 0xd0, 0x32, 0x2d, 0x1f, 0x27, 0x3c, 0x04, 0xad, - 0x2d, 0xe9, 0x24, 0x62, 0xa5, 0xc0, 0x86, 0x48, 0xf8, 0x7e, 0xff, 0x3c, 0x96, 0x74, 0xa0, 0x51, 0xab, 0x7b, 0xe3, - 0x56, 0xf7, 0xca, 0xd7, 0x75, 0x27, 0x37, 0x3e, 0x28, 0xda, 0x67, 0xf3, 0x46, 0xe5, 0xfb, 0xbe, 0xce, 0xd9, 0x9d, - 0xee, 0x1d, 0x39, 0x27, 0xbe, 0xbf, 0x87, 0x50, 0xf4, 0xd0, 0x14, 0x59, 0x96, 0x84, 0x01, 0xad, 0xb5, 0x6b, 0xcf, - 0x32, 0x3a, 0x78, 0xed, 0x1b, 0x42, 0x44, 0x9e, 0xe2, 0x93, 0x90, 0x5b, 0x1c, 0x1f, 0x14, 0xe8, 0x9f, 0x19, 0x7f, - 0xe6, 0xc4, 0x0f, 0x5b, 0xfd, 0x02, 0x38, 0x37, 0xdd, 0x7b, 0x77, 0x62, 0xd6, 0x63, 0x28, 0x65, 0xe3, 0xff, 0x7e, - 0x9f, 0xc8, 0x02, 0x9d, 0x8e, 0x68, 0x18, 0x08, 0xee, 0xa2, 0xfa, 0xbf, 0x57, 0xbc, 0xee, 0x59, 0xab, 0xf3, 0xe5, - 0xa7, 0x4e, 0x4f, 0x7a, 0xbd, 0x74, 0x2b, 0x7c, 0x19, 0x26, 0xbe, 0xf3, 0xba, 0xdf, 0xb0, 0xdd, 0x77, 0xbf, 0xbc, - 0x3b, 0x7a, 0x19, 0xd8, 0xa4, 0xf0, 0x9d, 0x4d, 0xc9, 0x67, 0x3d, 0x50, 0xf8, 0xf5, 0x58, 0xaf, 0x2e, 0xd6, 0x3d, - 0xd6, 0x43, 0x2d, 0x20, 0x7a, 0x58, 0x80, 0xfa, 0xaf, 0x67, 0x9f, 0x86, 0xc2, 0x41, 0x36, 0x4e, 0x15, 0x28, 0xb2, - 0xe0, 0xcf, 0xc4, 0x68, 0x5d, 0x10, 0x20, 0xb2, 0xd9, 0xbe, 0x3e, 0x56, 0x27, 0xb3, 0x6f, 0x4a, 0x2d, 0xc9, 0xe0, - 0x9b, 0x80, 0xcc, 0x0e, 0xac, 0x9c, 0xa0, 0x74, 0xdc, 0x1a, 0x70, 0x65, 0x8b, 0x48, 0xbc, 0xfd, 0x69, 0x90, 0x9d, - 0x35, 0x27, 0x8d, 0xf6, 0x61, 0x9f, 0xe6, 0x01, 0x02, 0x91, 0x4c, 0x45, 0x90, 0x6b, 0xee, 0x2d, 0xe9, 0xa3, 0xc3, - 0x39, 0x2f, 0xe4, 0x9f, 0x53, 0xa9, 0x43, 0x1c, 0x4a, 0xac, 0x81, 0x40, 0xe5, 0x19, 0xaa, 0x1c, 0x36, 0xc8, 0xf1, - 0x47, 0x47, 0x32, 0x93, 0x98, 0x2c, 0x72, 0xb7, 0x66, 0x2a, 0xfc, 0x40, 0xf0, 0x31, 0xcb, 0x39, 0x70, 0x81, 0xcd, - 0xe6, 0xbe, 0x9a, 0xe2, 0xe2, 0x0a, 0xfc, 0x31, 0x85, 0x5f, 0xf1, 0x14, 0x76, 0xda, 0xfd, 0xba, 0xa8, 0x52, 0xd4, - 0x6d, 0x14, 0x16, 0x95, 0x2c, 0x98, 0xd6, 0x90, 0x26, 0x3a, 0x8c, 0xfe, 0x24, 0x67, 0xa0, 0x20, 0xe4, 0x97, 0x4d, - 0x03, 0x8c, 0x54, 0x72, 0x79, 0x50, 0x25, 0x81, 0x17, 0x60, 0x1b, 0x54, 0x6c, 0x5d, 0x40, 0x90, 0x6d, 0x52, 0x94, - 0xe9, 0xd7, 0x22, 0xaf, 0xc3, 0x2c, 0xa8, 0x46, 0x69, 0xf5, 0x93, 0xfe, 0x09, 0xcc, 0xdb, 0x54, 0x8c, 0x6a, 0x15, - 0x93, 0xdf, 0xe8, 0xf7, 0x8b, 0x41, 0xeb, 0x43, 0x06, 0x1f, 0xbd, 0x36, 0x0d, 0x7e, 0xe5, 0x34, 0xd8, 0x61, 0xa2, - 0x11, 0x00, 0xc9, 0x9c, 0x5a, 0xf2, 0x50, 0xf4, 0x67, 0x90, 0x63, 0x8d, 0x2a, 0xa7, 0x60, 0xb0, 0xfe, 0xe3, 0xd1, - 0x0e, 0x4c, 0xbd, 0x38, 0xda, 0x92, 0x1d, 0xb4, 0xf2, 0x0d, 0x70, 0xbf, 0x46, 0xb6, 0x98, 0xe5, 0x00, 0xcd, 0x5e, - 0x23, 0x32, 0x3e, 0x79, 0x01, 0x8c, 0xd9, 0x3a, 0x0b, 0x23, 0x11, 0x07, 0x63, 0xd5, 0x98, 0x31, 0x03, 0x03, 0x17, - 0xe8, 0x5a, 0x26, 0x25, 0x69, 0x48, 0x07, 0x03, 0x56, 0xca, 0x16, 0x0e, 0x78, 0xd1, 0x1c, 0xb7, 0xe3, 0x5d, 0x8b, - 0xc6, 0x03, 0xdb, 0xc5, 0xf6, 0x77, 0x2f, 0x8a, 0xed, 0xdb, 0x70, 0x4b, 0x7a, 0x85, 0x9c, 0x25, 0xf4, 0xf3, 0x27, - 0xd9, 0x67, 0x0d, 0x27, 0xa7, 0x42, 0x33, 0xb4, 0x14, 0x09, 0xa5, 0x78, 0xa7, 0x27, 0x05, 0xc6, 0x32, 0x16, 0xfe, - 0x1e, 0x38, 0xa7, 0x0b, 0x45, 0xe4, 0x0e, 0x1c, 0xc7, 0x9f, 0xa0, 0x82, 0xe0, 0xbf, 0x00, 0xb3, 0x18, 0x20, 0x4f, - 0x67, 0x21, 0xe1, 0x14, 0xc2, 0xc5, 0x2a, 0xeb, 0xf7, 0xe5, 0x2f, 0xea, 0xa2, 0x8b, 0x4c, 0xd6, 0x7d, 0x12, 0x8e, - 0xcc, 0x58, 0x4e, 0xbd, 0x90, 0x3c, 0xef, 0x79, 0x32, 0x4d, 0x9e, 0xe4, 0x41, 0x04, 0x90, 0xcf, 0xe1, 0x5d, 0x98, - 0x66, 0x60, 0x95, 0x26, 0xe5, 0x47, 0x28, 0x7d, 0xf1, 0x79, 0xe5, 0x07, 0x3a, 0x7b, 0x6e, 0x92, 0xe1, 0xcd, 0xaa, - 0xf5, 0x26, 0xb5, 0xae, 0x8b, 0x07, 0xfc, 0xab, 0x33, 0xd8, 0x38, 0xd7, 0x99, 0xe0, 0xc0, 0x8b, 0xa4, 0xd6, 0x6b, - 0xc6, 0x9f, 0x65, 0xb8, 0x2e, 0x55, 0x1b, 0x7d, 0x14, 0xa2, 0x73, 0xc8, 0x54, 0x80, 0x42, 0x91, 0xf6, 0x0f, 0x4a, - 0xad, 0x4c, 0x2a, 0x6d, 0x24, 0x80, 0xee, 0x61, 0xd2, 0x60, 0x8b, 0xa1, 0x8c, 0xa5, 0x49, 0x94, 0x3b, 0x0d, 0xe2, - 0xca, 0x7e, 0xac, 0x24, 0x0e, 0x2d, 0x8b, 0xe4, 0xdf, 0xbb, 0x9e, 0xbe, 0x42, 0xea, 0x4e, 0x16, 0xc8, 0x8c, 0xf1, - 0x3c, 0x8f, 0x3f, 0x03, 0x61, 0x36, 0x68, 0xa3, 0xa2, 0x10, 0x42, 0x36, 0x88, 0x41, 0xe3, 0x79, 0x1e, 0xbf, 0x50, - 0x34, 0x1e, 0xf2, 0x51, 0xe4, 0xab, 0xbf, 0x4a, 0xfd, 0x57, 0xe8, 0x33, 0x13, 0x3c, 0x42, 0x35, 0xd1, 0xbf, 0x7b, - 0x3e, 0xbb, 0x03, 0xb5, 0x61, 0x14, 0x66, 0xa6, 0xfc, 0xca, 0x37, 0xc5, 0xd9, 0xeb, 0xaf, 0xe8, 0x2a, 0xdb, 0xba, - 0x1f, 0xbd, 0x3a, 0x22, 0xb0, 0x36, 0x46, 0x57, 0xdc, 0x18, 0x40, 0x0e, 0x93, 0xf7, 0x2b, 0x4a, 0xcb, 0x21, 0x0d, - 0x42, 0x07, 0x0d, 0x41, 0xaf, 0x24, 0xfa, 0x40, 0x62, 0x11, 0x63, 0x78, 0x21, 0x9e, 0x91, 0x9a, 0x4c, 0x34, 0xc4, - 0x2b, 0x62, 0x3f, 0x44, 0x4b, 0x4e, 0x4d, 0x74, 0x23, 0x4c, 0x31, 0x90, 0xd8, 0x19, 0x24, 0x27, 0x49, 0xad, 0xfc, - 0xe2, 0x99, 0x24, 0x2c, 0xb1, 0xf3, 0x10, 0x83, 0x49, 0x2d, 0xdd, 0xe9, 0x4d, 0x95, 0xbe, 0x1c, 0x69, 0x39, 0x68, - 0x1f, 0x80, 0x5d, 0x4a, 0x7a, 0xff, 0xa4, 0x50, 0xc4, 0x87, 0x30, 0x8e, 0x21, 0x7c, 0x8b, 0xa8, 0xae, 0xc0, 0xb9, - 0x56, 0xa0, 0xb1, 0x1a, 0x78, 0x68, 0x66, 0xd5, 0x7c, 0xc8, 0xe9, 0xa7, 0xd2, 0xf2, 0xc7, 0x88, 0xc6, 0x46, 0xeb, - 0xe6, 0x70, 0xd8, 0xd3, 0xaa, 0x97, 0xce, 0x41, 0x97, 0xcd, 0x24, 0x26, 0x6e, 0x20, 0x5d, 0x3f, 0xfa, 0xcd, 0x84, - 0xbd, 0x88, 0x0a, 0xb9, 0x14, 0x82, 0x82, 0x56, 0x07, 0x02, 0x87, 0xc2, 0x5b, 0x94, 0xf9, 0x22, 0xa6, 0x0d, 0x84, - 0xc1, 0xe7, 0x07, 0xf2, 0xf3, 0x4d, 0x41, 0x2a, 0x76, 0xac, 0x6b, 0xbf, 0xbf, 0x28, 0x3d, 0xc0, 0x93, 0x33, 0x49, - 0x9e, 0x36, 0x43, 0x58, 0x11, 0x40, 0x63, 0x56, 0x93, 0xc5, 0x09, 0x57, 0xe6, 0xf0, 0x55, 0xe5, 0x95, 0x2c, 0x65, - 0xea, 0x3c, 0xd5, 0x0b, 0x20, 0xea, 0x78, 0x83, 0x56, 0xa4, 0x7e, 0x85, 0xce, 0x5e, 0xb3, 0x12, 0x32, 0x1e, 0x9e, - 0x73, 0x9e, 0x8e, 0xee, 0x59, 0xc2, 0x23, 0xfc, 0x2b, 0x99, 0xe8, 0xc3, 0xef, 0x9e, 0xc3, 0xcd, 0x38, 0xe1, 0x91, - 0xdb, 0xec, 0x7d, 0x15, 0xae, 0xe0, 0x66, 0x5a, 0x00, 0x92, 0x5b, 0x90, 0x34, 0x01, 0x25, 0x24, 0x32, 0x21, 0xb3, - 0xa6, 0xe4, 0x8b, 0x96, 0xb6, 0xc1, 0x1a, 0x26, 0x9d, 0x07, 0xbc, 0x68, 0xf5, 0xd1, 0x6a, 0xa2, 0x5d, 0x66, 0xf9, - 0x7c, 0x88, 0x33, 0x54, 0x73, 0xdc, 0x9d, 0xc1, 0xcf, 0x01, 0xaf, 0x58, 0xd5, 0xa4, 0xa3, 0xdd, 0x80, 0x0b, 0x4f, - 0xae, 0xf3, 0x74, 0xb4, 0xc5, 0x5f, 0x72, 0x7f, 0x00, 0xe8, 0x60, 0xea, 0x12, 0xf8, 0x53, 0xb5, 0xd5, 0x54, 0xea, - 0xd7, 0xd6, 0x7e, 0x5d, 0x77, 0x56, 0x2b, 0xf7, 0xac, 0xcb, 0xd0, 0x1e, 0x19, 0x72, 0xc6, 0x0c, 0xf8, 0x73, 0xc6, - 0x92, 0x3f, 0x67, 0xac, 0xf8, 0x73, 0xc6, 0x8d, 0x91, 0x01, 0x94, 0xe0, 0x5e, 0xf2, 0x67, 0x7b, 0xc4, 0x0c, 0xb1, - 0x1a, 0x54, 0x02, 0x2b, 0x4b, 0x39, 0xf7, 0x91, 0x53, 0x4c, 0x39, 0x65, 0x78, 0xe9, 0x74, 0xe6, 0x0e, 0xe4, 0x3c, - 0x98, 0xb9, 0xc3, 0x64, 0xaf, 0xcf, 0x8d, 0x38, 0x96, 0xc6, 0xa4, 0xa8, 0x20, 0x9d, 0xd3, 0xe1, 0xe6, 0xd5, 0x71, - 0x9e, 0xb0, 0x8c, 0x8f, 0xdb, 0x67, 0x0a, 0x84, 0xd8, 0xe2, 0x19, 0x12, 0x29, 0x55, 0xb3, 0xdc, 0xe6, 0x0f, 0x87, - 0x7a, 0x74, 0xaf, 0x77, 0x7a, 0xf8, 0x95, 0xb0, 0x5f, 0x33, 0xcf, 0x3e, 0x41, 0x00, 0x93, 0x44, 0x9e, 0x49, 0x38, - 0xfa, 0xb1, 0x1c, 0xfd, 0x4d, 0xc3, 0xbf, 0x64, 0xa8, 0xee, 0x0e, 0x81, 0x89, 0x2d, 0x3b, 0x70, 0x08, 0x4e, 0x57, - 0x95, 0x48, 0xc0, 0xc1, 0x66, 0xc3, 0x22, 0xbd, 0xc7, 0x43, 0x9c, 0x0f, 0x0a, 0x1f, 0xa1, 0x61, 0x46, 0xef, 0xf7, - 0x37, 0xc2, 0xab, 0x64, 0x2b, 0x0f, 0x87, 0xc4, 0xba, 0x0b, 0x3b, 0xfa, 0x38, 0xda, 0xa3, 0x84, 0xda, 0x8f, 0x6a, - 0xbd, 0xa9, 0xd4, 0x83, 0xdc, 0xec, 0x42, 0x62, 0x50, 0xb1, 0x54, 0x9f, 0x5e, 0xa9, 0x3e, 0xd4, 0xac, 0xf3, 0xbb, - 0x3a, 0xee, 0x53, 0x31, 0x5a, 0xcb, 0x09, 0x01, 0xae, 0x83, 0x44, 0xa3, 0x03, 0x60, 0x9c, 0x6d, 0xb6, 0xbc, 0xd4, - 0xd6, 0x89, 0xd2, 0x71, 0x9c, 0xeb, 0xe3, 0xf8, 0x70, 0x90, 0x62, 0xc6, 0xe5, 0x91, 0x98, 0x71, 0xd9, 0x00, 0xbc, - 0x59, 0xe7, 0x41, 0x7d, 0x38, 0x5c, 0xd2, 0xa5, 0xc8, 0x74, 0xb6, 0x51, 0x7e, 0xd6, 0xa3, 0xfb, 0x27, 0x09, 0x9a, - 0x7b, 0x2b, 0xec, 0xbd, 0x48, 0xb6, 0x67, 0xb2, 0x4e, 0xbd, 0x8c, 0x7c, 0x7a, 0xe1, 0x9e, 0x5d, 0x72, 0xf5, 0xc3, - 0xea, 0xeb, 0xe9, 0x6f, 0xc2, 0x8b, 0x58, 0x45, 0xbb, 0x75, 0xc9, 0x84, 0xbd, 0xa5, 0x54, 0xd2, 0x2a, 0x2f, 0x9f, - 0x6e, 0xfc, 0x00, 0x33, 0xd3, 0x9e, 0x3e, 0xc8, 0x46, 0x54, 0x7f, 0x56, 0xa2, 0x56, 0x86, 0xc9, 0xc2, 0x79, 0xc9, - 0xd4, 0x93, 0x01, 0x8f, 0x59, 0xc9, 0x23, 0xd9, 0xe9, 0x8d, 0x41, 0x10, 0xc0, 0x3a, 0x27, 0xad, 0x3a, 0xe3, 0x68, - 0xb4, 0xaa, 0x5c, 0x9c, 0xae, 0x72, 0x81, 0xe1, 0x76, 0x6b, 0xb6, 0x51, 0x75, 0x96, 0x9b, 0x5a, 0xa5, 0x7c, 0x07, - 0xf0, 0xb1, 0xac, 0x72, 0x41, 0xc7, 0x94, 0xa9, 0xf3, 0x06, 0x82, 0xb1, 0x55, 0x8d, 0x0b, 0xa7, 0xc6, 0x05, 0x8f, - 0xa8, 0xdd, 0x4d, 0x53, 0x8f, 0xb6, 0xc0, 0x52, 0x3a, 0xda, 0xf1, 0x12, 0x55, 0x0a, 0x3f, 0x0b, 0xbe, 0x0f, 0xe3, - 0xf8, 0x45, 0xb1, 0x55, 0x07, 0xe2, 0x6d, 0xb1, 0x45, 0xda, 0x17, 0xf9, 0x17, 0xe2, 0x80, 0xd7, 0xba, 0xa6, 0xbc, - 0xb6, 0xe6, 0x34, 0xb0, 0x35, 0x8c, 0x94, 0x14, 0xce, 0xcd, 0x9f, 0x87, 0x03, 0xad, 0xec, 0x5a, 0xdd, 0x15, 0x6a, - 0x3d, 0xe6, 0xb0, 0x61, 0xdf, 0x64, 0xe1, 0x4e, 0x94, 0xe0, 0xc8, 0x25, 0xff, 0x3a, 0x1c, 0xb4, 0xca, 0x52, 0x1d, - 0xe9, 0xb3, 0xfd, 0xd7, 0x60, 0xcc, 0xd0, 0xa5, 0x09, 0x58, 0x36, 0x46, 0xf2, 0xaf, 0xa6, 0x99, 0x37, 0x4c, 0xd6, - 0x4c, 0xe1, 0x38, 0x34, 0x8c, 0x90, 0x06, 0x74, 0x1b, 0xd4, 0x86, 0x27, 0xf3, 0x4d, 0x55, 0x7e, 0x75, 0x47, 0xaa, - 0xfd, 0x60, 0x78, 0x39, 0x11, 0xe7, 0x74, 0x49, 0x52, 0x4f, 0x25, 0x94, 0x84, 0x60, 0x97, 0x3e, 0x90, 0x13, 0x2b, - 0x20, 0x6b, 0x19, 0xcb, 0x6f, 0xf5, 0x80, 0xd0, 0x7f, 0xda, 0xad, 0x17, 0xfa, 0x4f, 0xd3, 0x6c, 0xa1, 0xae, 0x3f, - 0x4c, 0xee, 0x3b, 0x7a, 0xfd, 0xc1, 0xe1, 0x9d, 0xba, 0xaa, 0xb8, 0x8a, 0x47, 0xb5, 0x61, 0x92, 0x1b, 0x65, 0xe1, - 0xae, 0xd8, 0xd4, 0x6a, 0x79, 0x3a, 0x0e, 0x23, 0x30, 0x23, 0x28, 0x40, 0xd6, 0x75, 0x1b, 0x11, 0xc3, 0x4a, 0x2e, - 0x13, 0xf2, 0x09, 0x01, 0x59, 0x94, 0x1a, 0xe7, 0xe3, 0x16, 0xa8, 0x44, 0x30, 0x38, 0x0d, 0xad, 0x55, 0x37, 0xf9, - 0x49, 0x65, 0x63, 0x4b, 0x20, 0x87, 0x24, 0x93, 0xc5, 0x72, 0x74, 0x2b, 0x16, 0x45, 0x29, 0xde, 0x60, 0x3d, 0x5c, - 0xb3, 0x85, 0xfb, 0x0c, 0x08, 0xed, 0x27, 0x4a, 0x7b, 0x13, 0x69, 0x82, 0xee, 0x25, 0x5b, 0x01, 0xc8, 0x00, 0x8a, - 0xba, 0xda, 0xad, 0xcf, 0xf9, 0x39, 0x92, 0x66, 0x38, 0x8c, 0x6e, 0x9f, 0x2e, 0x83, 0xe5, 0xe0, 0x12, 0xb5, 0xd2, - 0x97, 0x2c, 0x6e, 0x61, 0x50, 0xed, 0xcd, 0x12, 0x0e, 0x6a, 0x66, 0xad, 0x8d, 0x40, 0x30, 0xd9, 0x43, 0x41, 0xc5, - 0x5c, 0xc1, 0x3e, 0x28, 0x58, 0x4b, 0x5e, 0x07, 0x87, 0x5b, 0xfb, 0xb2, 0x52, 0x5c, 0x3c, 0xbd, 0x48, 0x5a, 0x17, - 0x96, 0xf2, 0xe2, 0x69, 0x03, 0x06, 0x97, 0x23, 0x6c, 0x2a, 0x30, 0x49, 0x00, 0xe8, 0x56, 0x44, 0x11, 0x2f, 0x4a, - 0x61, 0xdb, 0xca, 0x67, 0x4e, 0xd8, 0x60, 0xc3, 0xee, 0xe1, 0x5e, 0x19, 0x94, 0x0c, 0x2e, 0xc4, 0xb8, 0xdd, 0xec, - 0x02, 0x5c, 0xc1, 0x50, 0x18, 0x5b, 0xf3, 0x77, 0x99, 0x17, 0x29, 0x01, 0x37, 0x43, 0x94, 0xaf, 0x0d, 0x9c, 0x4c, - 0x7a, 0x72, 0x2d, 0x58, 0x0c, 0x58, 0xd0, 0xe0, 0x3b, 0x6a, 0xfd, 0x9d, 0xc9, 0xbf, 0xf1, 0xf4, 0xd0, 0x0f, 0x5e, - 0x64, 0xde, 0xc2, 0x67, 0xef, 0x2a, 0x19, 0xad, 0x49, 0xa2, 0xbc, 0x7a, 0xb8, 0x00, 0xb9, 0x61, 0x31, 0xba, 0x67, - 0x0b, 0x10, 0x27, 0x16, 0xa3, 0x84, 0x32, 0xba, 0xc2, 0xbd, 0xca, 0x6c, 0x99, 0x08, 0xa4, 0x38, 0xb0, 0x90, 0x72, - 0x6f, 0xb1, 0x0e, 0x16, 0xb8, 0x3f, 0x91, 0x5c, 0x40, 0xc9, 0x03, 0x28, 0x57, 0x0a, 0x08, 0xf8, 0x74, 0x00, 0xe5, - 0x4b, 0x79, 0x11, 0xfe, 0xc4, 0x89, 0x1a, 0x2c, 0x46, 0xf7, 0x0d, 0xfb, 0xc9, 0x0b, 0x2d, 0xfb, 0xc3, 0x52, 0x6b, - 0x1a, 0x56, 0x7c, 0x09, 0xd3, 0x62, 0xe2, 0xf6, 0xe5, 0xca, 0xae, 0x8a, 0xcf, 0x56, 0xea, 0xec, 0xa6, 0x86, 0x24, - 0xec, 0x1b, 0xb2, 0x0a, 0x70, 0xb0, 0x2a, 0xe2, 0x9e, 0x75, 0xb9, 0x0f, 0xa3, 0xbf, 0x36, 0x69, 0x29, 0x2c, 0x54, - 0x49, 0x7f, 0xdf, 0x94, 0x02, 0xa9, 0x4c, 0x74, 0xa2, 0x85, 0xe0, 0x0a, 0x0c, 0x02, 0x77, 0x22, 0xaf, 0x01, 0x30, - 0x06, 0x5c, 0x0a, 0x94, 0x65, 0x5b, 0x42, 0x48, 0x75, 0x3f, 0x03, 0xb5, 0x9d, 0xb8, 0x4b, 0x23, 0xb2, 0x16, 0xa2, - 0xaf, 0x82, 0x31, 0x73, 0x5e, 0x4a, 0xb7, 0xd8, 0x74, 0xb5, 0x59, 0x7d, 0x42, 0xe7, 0xd2, 0x96, 0x9b, 0x9f, 0xb0, - 0xc5, 0x5a, 0x81, 0xb2, 0x09, 0x49, 0xdb, 0x39, 0xcf, 0x51, 0x36, 0xa1, 0xa5, 0xbd, 0xa7, 0x1e, 0x15, 0xaa, 0x93, - 0xad, 0x97, 0xaa, 0xa9, 0x45, 0x58, 0x2d, 0x2e, 0x2a, 0x3f, 0x00, 0xdd, 0x54, 0x5a, 0x3d, 0xaf, 0x6b, 0x34, 0x85, - 0x5a, 0x2d, 0x1c, 0x37, 0xda, 0xd9, 0x74, 0x91, 0x2e, 0x11, 0x67, 0x55, 0xda, 0xa1, 0x7f, 0xca, 0xb4, 0xeb, 0x65, - 0x47, 0xbf, 0x19, 0x57, 0x17, 0xb8, 0x10, 0x1b, 0xf0, 0x39, 0xf7, 0x97, 0xd7, 0x7b, 0x1a, 0xf7, 0xfc, 0xc3, 0x01, - 0xd9, 0x93, 0xda, 0x1f, 0xaa, 0x8f, 0x5d, 0xc1, 0x90, 0x85, 0x51, 0xea, 0x2f, 0x52, 0xde, 0x7b, 0x84, 0xe3, 0xfe, - 0xa5, 0xea, 0xb1, 0x5f, 0x32, 0xbe, 0xaf, 0x8b, 0x4d, 0x94, 0x50, 0x54, 0x43, 0x6f, 0x55, 0x6c, 0x2a, 0x11, 0x17, - 0xf7, 0x79, 0x8f, 0x61, 0x32, 0x8c, 0x85, 0x4c, 0x85, 0x3f, 0x65, 0x2a, 0x78, 0x84, 0x50, 0xe2, 0x66, 0xdd, 0x23, - 0xed, 0x26, 0xc4, 0x29, 0xd5, 0xa2, 0x94, 0xc9, 0xf8, 0xb7, 0x7e, 0x02, 0xe5, 0x39, 0x45, 0xcb, 0xf4, 0xa3, 0xc2, - 0x65, 0xfa, 0x66, 0x7d, 0x5c, 0x7a, 0x26, 0x42, 0x9d, 0xb9, 0xd8, 0xd4, 0x3a, 0x1d, 0x63, 0xa7, 0x74, 0x6a, 0xc3, - 0xbe, 0x56, 0x8a, 0xcb, 0x8a, 0xc2, 0xbf, 0x91, 0xc8, 0xaa, 0x67, 0xc4, 0xf1, 0x7f, 0x66, 0xed, 0x33, 0xac, 0x02, - 0xbf, 0x0c, 0xe4, 0xfd, 0x02, 0xe0, 0xe3, 0xba, 0x2e, 0xd3, 0xdb, 0x0d, 0xd0, 0x86, 0xd0, 0xf0, 0xf7, 0x7c, 0x64, - 0xc0, 0x74, 0x1f, 0xe1, 0x0c, 0xe9, 0xa1, 0xce, 0x39, 0x9d, 0x95, 0xe9, 0x9c, 0xab, 0xb0, 0x96, 0x60, 0x2f, 0x27, - 0x4d, 0x2e, 0xd7, 0x25, 0xa8, 0x99, 0xc0, 0xed, 0x43, 0x7b, 0x44, 0x08, 0xb5, 0x29, 0xab, 0xe9, 0x25, 0xd4, 0xbc, - 0x93, 0xd3, 0x8e, 0x26, 0x25, 0xb8, 0x6a, 0xe8, 0xac, 0x5c, 0xff, 0x75, 0x38, 0xf4, 0x6e, 0xb3, 0x22, 0xfa, 0xb3, - 0x87, 0xfe, 0x8e, 0xdb, 0x4f, 0xe9, 0x57, 0x88, 0x96, 0xb1, 0xfe, 0x86, 0x0c, 0xe8, 0x78, 0x32, 0xbc, 0x2d, 0xb6, - 0x3d, 0xf6, 0x15, 0x35, 0x58, 0xfa, 0xfa, 0xf1, 0x09, 0x24, 0x54, 0x5d, 0xfb, 0xc2, 0xe2, 0x09, 0xf3, 0x94, 0x68, - 0x5b, 0xf8, 0x10, 0x16, 0xfa, 0x15, 0x22, 0x23, 0x21, 0xdc, 0x54, 0x76, 0x8f, 0x92, 0x76, 0xa1, 0x2f, 0x7d, 0x2d, - 0xfb, 0xca, 0x77, 0x2e, 0x00, 0x56, 0xf6, 0xa9, 0x0d, 0xf7, 0xa4, 0x3f, 0xa5, 0xfa, 0xb0, 0xfd, 0x2d, 0x59, 0x40, - 0xa1, 0x85, 0xf5, 0x54, 0xce, 0xce, 0x65, 0xc9, 0xf3, 0x6c, 0xba, 0x5f, 0xc3, 0x1e, 0x75, 0x87, 0x5e, 0x53, 0xc1, - 0xf9, 0xa5, 0x19, 0xbd, 0xdf, 0x0d, 0x85, 0xea, 0xa8, 0x73, 0x07, 0x59, 0x96, 0xd6, 0x25, 0xe7, 0x2f, 0x2b, 0x77, - 0x14, 0xe6, 0x77, 0x21, 0x78, 0x86, 0x75, 0xef, 0x2e, 0xce, 0x7b, 0xbf, 0xb5, 0xe6, 0xc8, 0x2f, 0xd9, 0x2c, 0x45, - 0x2c, 0x92, 0x39, 0x58, 0xfd, 0xd0, 0xcf, 0x63, 0xbf, 0x0d, 0x72, 0x38, 0x6e, 0x1a, 0xd0, 0x61, 0x43, 0x66, 0xed, - 0x4b, 0x04, 0x4e, 0x35, 0x82, 0x34, 0x35, 0x41, 0xcd, 0xf2, 0x10, 0x89, 0xed, 0x52, 0xb6, 0x0d, 0x72, 0xdd, 0x05, - 0xd3, 0x1c, 0x69, 0xcf, 0xe0, 0x7d, 0x93, 0x26, 0xa9, 0xd0, 0x2c, 0xba, 0x58, 0xc9, 0xf8, 0x77, 0xa4, 0xcd, 0x94, - 0xec, 0xb1, 0x35, 0xf0, 0x5e, 0x82, 0x72, 0x32, 0x4c, 0x31, 0x7c, 0xc7, 0xd7, 0x3b, 0x8f, 0x2e, 0xe2, 0xe7, 0x63, - 0xb6, 0x49, 0xd9, 0x11, 0x4c, 0x92, 0x8d, 0x6f, 0x28, 0xde, 0xf0, 0xfd, 0x6d, 0x25, 0x4a, 0x00, 0xbd, 0x2c, 0xf8, - 0x33, 0x69, 0x73, 0x85, 0x6e, 0x77, 0xef, 0x28, 0x85, 0x5f, 0xf2, 0xf2, 0x70, 0xd8, 0xa6, 0x5e, 0x08, 0x9d, 0x2f, - 0xe2, 0x77, 0x60, 0x0e, 0x63, 0x88, 0xcd, 0x08, 0x10, 0xe6, 0xf8, 0x80, 0x3a, 0x58, 0x3f, 0x02, 0xd0, 0x38, 0x81, - 0x02, 0x8c, 0xbe, 0xda, 0x16, 0xf4, 0x2d, 0x2f, 0x2e, 0x22, 0x44, 0x8d, 0x02, 0x4c, 0x94, 0x34, 0x8b, 0x61, 0x38, - 0xd0, 0xf9, 0x7d, 0x73, 0x5b, 0x97, 0x02, 0x87, 0xde, 0xb1, 0x0c, 0xff, 0xed, 0x7f, 0xac, 0x2d, 0xad, 0x2a, 0xdb, - 0xad, 0x71, 0x9a, 0xf9, 0xdf, 0x6e, 0x8b, 0x74, 0x0b, 0x15, 0x8a, 0xe7, 0x1d, 0xaf, 0xdb, 0x5f, 0x20, 0x7a, 0x5f, - 0xb7, 0x72, 0x55, 0x6a, 0x37, 0xcc, 0x94, 0xdf, 0xa7, 0x79, 0x5c, 0xdc, 0x8f, 0xe2, 0xd6, 0x91, 0x37, 0x49, 0xcf, - 0x39, 0xff, 0x52, 0xf5, 0xfb, 0xde, 0x17, 0x20, 0xe3, 0xbd, 0x16, 0xc6, 0x11, 0x93, 0x38, 0xf8, 0xf6, 0x62, 0x14, - 0x6d, 0x4a, 0xd8, 0x90, 0xdb, 0xa7, 0x25, 0x68, 0x66, 0xfa, 0x7d, 0x94, 0x28, 0xad, 0xf9, 0xfe, 0x0f, 0x39, 0xdf, - 0xaf, 0x85, 0xbc, 0x59, 0xc9, 0x0f, 0x1f, 0xad, 0x30, 0xf0, 0x3d, 0x4e, 0xbf, 0x8a, 0x1e, 0x5b, 0x95, 0x3e, 0x7c, - 0x57, 0x5a, 0xfa, 0xac, 0xa2, 0xfe, 0x85, 0x8a, 0x9a, 0x6b, 0x31, 0x22, 0xe2, 0x41, 0xd0, 0xce, 0xb6, 0x4b, 0xed, - 0x5a, 0x82, 0x76, 0xc1, 0xa6, 0xb0, 0xbf, 0x3f, 0x38, 0xe4, 0xfd, 0xfe, 0xc7, 0xdc, 0x6b, 0xf1, 0xba, 0x1b, 0xb8, - 0xcb, 0xd2, 0x43, 0x08, 0x60, 0x2d, 0x03, 0x65, 0x1c, 0x61, 0xd2, 0x45, 0x5e, 0xa3, 0x6c, 0x3a, 0x11, 0xf8, 0x98, - 0x65, 0x57, 0x4e, 0x32, 0x0d, 0x30, 0xa3, 0x9a, 0xc2, 0x4c, 0x80, 0x91, 0xfa, 0x88, 0x75, 0xd3, 0xd3, 0x2a, 0xb4, - 0x7c, 0x0d, 0xc1, 0xba, 0xc8, 0x32, 0x8e, 0x62, 0x26, 0x00, 0xd8, 0x7c, 0x04, 0xf9, 0x8a, 0xae, 0x0e, 0x49, 0x2b, - 0x55, 0xde, 0xaf, 0x33, 0x22, 0xa3, 0x49, 0x88, 0xe6, 0xb7, 0xf0, 0xc0, 0xbe, 0x6d, 0x66, 0x54, 0xa9, 0x67, 0x54, - 0xe5, 0x33, 0x1c, 0x96, 0xc2, 0x31, 0xe2, 0xff, 0x9c, 0xaa, 0x1e, 0x11, 0xe8, 0x55, 0x99, 0x56, 0x51, 0x91, 0xe7, - 0x22, 0x42, 0x84, 0x6a, 0xe9, 0x1c, 0x0e, 0xfd, 0xd8, 0xef, 0xe3, 0x40, 0x98, 0x17, 0xeb, 0xe4, 0x81, 0xae, 0xac, - 0x69, 0xad, 0xa4, 0xc0, 0xa9, 0xa8, 0x11, 0x22, 0x84, 0xf7, 0x1b, 0xf0, 0xac, 0xa6, 0xbe, 0xdf, 0x58, 0x26, 0xba, - 0xdf, 0x33, 0xa0, 0xfc, 0x01, 0xf9, 0xba, 0x92, 0xe2, 0x8c, 0x48, 0x1e, 0x12, 0x67, 0x1c, 0x80, 0x98, 0x6f, 0x4b, - 0x34, 0x1a, 0xfb, 0x1f, 0x90, 0x60, 0xa8, 0x7e, 0xb0, 0xd3, 0x4d, 0xbd, 0x7f, 0x66, 0x12, 0x47, 0xd1, 0xa7, 0x6d, - 0xf2, 0x58, 0xb2, 0x34, 0x5a, 0x38, 0x7a, 0x8f, 0x18, 0xc6, 0xe1, 0x74, 0x3e, 0x26, 0xd9, 0xc6, 0x64, 0x15, 0x40, - 0x3a, 0x99, 0xa9, 0x63, 0x4a, 0x1d, 0x8d, 0x73, 0xbd, 0xa0, 0x0a, 0x3d, 0xd6, 0x25, 0xcf, 0xc1, 0x7a, 0xf2, 0xda, - 0x2b, 0xfd, 0xa9, 0x90, 0x73, 0xd8, 0x48, 0x04, 0x85, 0x1f, 0xe0, 0x6a, 0xb0, 0x52, 0xc0, 0x60, 0xea, 0x5b, 0xf8, - 0x9a, 0x78, 0x8e, 0x82, 0x47, 0x61, 0x17, 0x63, 0x6b, 0xe5, 0x3b, 0x9f, 0x14, 0x94, 0x7b, 0x56, 0xcc, 0x79, 0x05, - 0x9c, 0xcb, 0xa0, 0x10, 0xa6, 0xe3, 0x59, 0xfe, 0xcf, 0x24, 0xaf, 0x27, 0x36, 0x04, 0xc8, 0xe0, 0x4f, 0x89, 0xd3, - 0xd2, 0x1d, 0xba, 0xf3, 0xd0, 0xb3, 0x88, 0xc3, 0x46, 0x8f, 0xd6, 0x65, 0xb1, 0x4d, 0x51, 0x2f, 0x61, 0x7e, 0x20, - 0x3f, 0x6f, 0xc9, 0xf7, 0x21, 0x8a, 0xb7, 0xc1, 0xcf, 0x19, 0x8b, 0x05, 0xfe, 0xf5, 0xb7, 0x8c, 0xd1, 0x44, 0x0b, - 0xfe, 0x9e, 0x35, 0x48, 0x54, 0x0c, 0x58, 0x11, 0xc0, 0x65, 0xaa, 0x3e, 0x7c, 0x4a, 0x8c, 0xb7, 0x66, 0xc3, 0x03, - 0xdf, 0xac, 0x40, 0xa7, 0x3e, 0x77, 0x57, 0xb6, 0xa7, 0xab, 0x91, 0xaa, 0x6a, 0xfc, 0x9c, 0xaa, 0x6a, 0xfc, 0x9c, - 0x52, 0x35, 0xfe, 0xca, 0x28, 0x7e, 0xa7, 0xf2, 0x19, 0x32, 0x27, 0x9b, 0x98, 0xa4, 0xd3, 0xf7, 0x86, 0x13, 0xbb, - 0xec, 0xb7, 0x6e, 0x13, 0x69, 0x66, 0x22, 0x85, 0xdc, 0x1b, 0x80, 0x9a, 0x89, 0x1f, 0x73, 0xc3, 0x29, 0x71, 0x7e, - 0xee, 0xe1, 0x8a, 0x4d, 0xab, 0x6b, 0x5a, 0xb0, 0xc0, 0xe6, 0x65, 0x96, 0x67, 0x9a, 0xc0, 0xb6, 0x29, 0xb3, 0xbe, - 0xc9, 0x3d, 0x80, 0x60, 0x26, 0x35, 0x01, 0x20, 0x2d, 0x44, 0xa5, 0x10, 0xf9, 0x35, 0xce, 0xea, 0x73, 0xde, 0xdb, - 0xe4, 0x31, 0x91, 0x56, 0xf7, 0xfa, 0xfd, 0xf4, 0x2c, 0xcd, 0x29, 0xa8, 0xe1, 0x38, 0xeb, 0xf4, 0xa7, 0x2c, 0x10, - 0x89, 0x5c, 0xa5, 0xff, 0x70, 0x83, 0xbc, 0x8c, 0xef, 0xeb, 0xb6, 0xe7, 0x4f, 0xd4, 0xdf, 0x3b, 0xeb, 0x6f, 0x0b, - 0x04, 0x77, 0x72, 0xec, 0x27, 0xab, 0x52, 0x1e, 0x19, 0x97, 0xf6, 0x9e, 0xdf, 0xd4, 0x45, 0x91, 0xd5, 0xe9, 0xfa, - 0x83, 0xd4, 0xd3, 0xe8, 0xbe, 0xd8, 0x83, 0x31, 0x78, 0x07, 0x80, 0x67, 0x3a, 0x34, 0x40, 0xfa, 0x9e, 0x91, 0x87, - 0xfb, 0xdc, 0x92, 0x9f, 0x54, 0xd6, 0x26, 0x09, 0x2b, 0x8a, 0xcd, 0x30, 0x46, 0x28, 0x19, 0xa7, 0xb1, 0xf5, 0xfb, - 0x7d, 0xf5, 0xf7, 0x0e, 0xa3, 0xa8, 0xa8, 0xb8, 0x63, 0x34, 0x2a, 0xab, 0x7a, 0xb4, 0x1d, 0x1c, 0x0e, 0xe7, 0xb9, - 0x8d, 0xa3, 0xad, 0x57, 0xc0, 0xde, 0x0a, 0x95, 0xb2, 0x57, 0x22, 0x2c, 0x3f, 0x5c, 0xf9, 0xfd, 0x3e, 0xfc, 0x2b, - 0x23, 0x2d, 0x3c, 0x7f, 0x8a, 0xbf, 0x6e, 0xea, 0x02, 0xc3, 0x33, 0x68, 0x8d, 0x56, 0x10, 0x4c, 0xf0, 0x8f, 0x0e, - 0xd4, 0x4b, 0x2b, 0xed, 0x23, 0xe8, 0x56, 0xa0, 0x07, 0x8d, 0x7d, 0x20, 0x69, 0x5f, 0x48, 0xd4, 0xed, 0xad, 0x4e, - 0xa3, 0x3f, 0x2b, 0x96, 0xf3, 0x0a, 0x26, 0x87, 0x1b, 0xfa, 0xb4, 0x0a, 0xb7, 0x9f, 0xe1, 0xe9, 0x1b, 0xa0, 0xdc, - 0x3a, 0x1c, 0x72, 0x10, 0x5b, 0xc0, 0xcd, 0x63, 0x15, 0x7e, 0x29, 0x4a, 0x19, 0x51, 0x1f, 0x4f, 0x4b, 0xd0, 0xde, - 0x05, 0xe8, 0x80, 0xa5, 0x41, 0xbc, 0x42, 0xf2, 0x9c, 0x8d, 0x00, 0x96, 0x1d, 0x58, 0xce, 0x32, 0x4e, 0x61, 0x9e, - 0xe5, 0xb3, 0x4a, 0xe3, 0xb3, 0x27, 0x5e, 0xcd, 0x32, 0x70, 0x16, 0xb8, 0xa8, 0x7c, 0x96, 0x69, 0xd5, 0x53, 0x91, - 0xa0, 0xcf, 0x2b, 0x39, 0xc1, 0x95, 0xe0, 0x64, 0x03, 0xf2, 0x0b, 0x90, 0xa4, 0x29, 0x65, 0x4d, 0xf9, 0xec, 0x92, - 0x6e, 0xc8, 0xe8, 0x39, 0xef, 0x79, 0xd1, 0x30, 0xf4, 0x2f, 0xbc, 0x12, 0xc2, 0x37, 0x71, 0xdb, 0x46, 0x29, 0xec, - 0x6f, 0x02, 0x8b, 0x4f, 0xd8, 0x6b, 0x6f, 0xe1, 0x4f, 0xc7, 0x41, 0x38, 0x44, 0x6e, 0xa8, 0x98, 0x03, 0x7b, 0x1a, - 0xb0, 0xd8, 0xc4, 0x57, 0x9b, 0x49, 0x3c, 0x18, 0xf8, 0x3a, 0x63, 0x31, 0x8b, 0x81, 0x06, 0x39, 0x1e, 0x5c, 0xce, - 0xf5, 0x09, 0xa1, 0x1f, 0x46, 0x54, 0x8e, 0x0a, 0x74, 0x0e, 0xa2, 0xc1, 0x02, 0xf0, 0xd4, 0x5b, 0xd9, 0x20, 0xc9, - 0xd0, 0x40, 0x27, 0xae, 0x35, 0x49, 0x75, 0x38, 0xa1, 0x75, 0xa0, 0xe3, 0xea, 0x0d, 0x74, 0x3e, 0xae, 0x7b, 0x1f, - 0xaf, 0x86, 0x37, 0x54, 0xfa, 0x85, 0x18, 0x78, 0xf5, 0x74, 0x1c, 0x5c, 0xd2, 0xad, 0xf0, 0x66, 0x15, 0x6e, 0xdf, - 0xc8, 0x07, 0x8e, 0x3b, 0x2a, 0x69, 0x08, 0x0c, 0xde, 0x1e, 0xba, 0x9b, 0x19, 0xc7, 0x94, 0xa3, 0xc3, 0x38, 0x92, - 0x43, 0xac, 0x5a, 0x71, 0x21, 0xbd, 0x11, 0x7c, 0xbb, 0x50, 0x8c, 0x65, 0x63, 0x97, 0x86, 0xa2, 0xf0, 0x67, 0x00, - 0x3b, 0xd4, 0xfe, 0x4a, 0x25, 0x1f, 0x23, 0xa3, 0x9a, 0x06, 0x3a, 0x06, 0x60, 0xc9, 0xd2, 0x44, 0x52, 0x45, 0x1a, - 0x89, 0x3f, 0x32, 0x63, 0x1d, 0x35, 0x5d, 0x5f, 0xb0, 0x1c, 0x59, 0x92, 0x6e, 0x67, 0x12, 0xcb, 0x89, 0x24, 0xb5, - 0xdd, 0x47, 0xc4, 0x60, 0xe0, 0x83, 0x8d, 0x98, 0x66, 0x22, 0x1c, 0xf1, 0xa8, 0x44, 0x16, 0x5d, 0x7e, 0x1b, 0x61, - 0xd2, 0xf6, 0x65, 0x45, 0xb6, 0x20, 0x98, 0x9e, 0x44, 0x1f, 0x24, 0x29, 0xa7, 0x22, 0x91, 0x66, 0x84, 0x00, 0x3f, - 0x9e, 0x94, 0x57, 0xfa, 0x73, 0xd0, 0xb4, 0x12, 0xbc, 0x64, 0x90, 0x3c, 0x12, 0x3f, 0x93, 0x82, 0x59, 0x8c, 0x55, - 0x83, 0x01, 0x96, 0x53, 0x3d, 0x71, 0x4c, 0xd2, 0x7f, 0xeb, 0x74, 0xc2, 0x7e, 0xee, 0xe5, 0xb6, 0x96, 0x37, 0xcd, - 0xbd, 0xe7, 0x5e, 0xc5, 0x52, 0x0d, 0xcb, 0xa0, 0xff, 0x9a, 0x68, 0x17, 0x6c, 0x6d, 0x19, 0x13, 0x56, 0xfd, 0x00, - 0xd2, 0x1e, 0xe9, 0xf2, 0xaa, 0x61, 0xce, 0x04, 0x8f, 0x2e, 0xac, 0x79, 0x10, 0x5d, 0x08, 0x1f, 0xb9, 0xec, 0x26, - 0xc9, 0xd5, 0x78, 0xe2, 0x87, 0x83, 0x81, 0x02, 0xa0, 0xa5, 0x75, 0x52, 0x0c, 0xc2, 0x27, 0x42, 0x0e, 0xa4, 0xd1, - 0x51, 0x15, 0x60, 0xb1, 0xcc, 0xae, 0xca, 0x49, 0x36, 0x18, 0xf8, 0x20, 0x36, 0x26, 0x76, 0x43, 0xb3, 0xb9, 0xcf, - 0x4e, 0x14, 0x64, 0xb5, 0x39, 0x6a, 0xcd, 0x74, 0x0b, 0x0c, 0x00, 0x06, 0x11, 0xc1, 0x72, 0x9f, 0x1a, 0xf9, 0x88, - 0x3a, 0x3d, 0x85, 0x11, 0x10, 0xfc, 0x72, 0x22, 0x10, 0xb9, 0x48, 0xa0, 0x1e, 0x60, 0x26, 0xc0, 0x8c, 0x2a, 0x86, - 0x97, 0xc0, 0x2e, 0x9e, 0x9b, 0x57, 0x0c, 0xfa, 0x17, 0x89, 0xd9, 0x89, 0xa6, 0x12, 0x47, 0x63, 0xe4, 0x54, 0x1a, - 0x23, 0x03, 0x62, 0x17, 0xc7, 0xbf, 0xa7, 0xf4, 0x28, 0x48, 0xd9, 0x8b, 0xca, 0x10, 0x87, 0xa3, 0xf8, 0x0a, 0x56, - 0x8d, 0xc3, 0xa1, 0x36, 0xaf, 0xa7, 0xb3, 0x7a, 0x3e, 0x10, 0x01, 0xfc, 0x37, 0x14, 0xec, 0x57, 0x4d, 0x45, 0x6e, - 0x90, 0x3a, 0x0f, 0x87, 0x14, 0xe4, 0x53, 0xdd, 0xe4, 0x9f, 0x2a, 0x77, 0x3f, 0x9d, 0xcd, 0xad, 0x39, 0x7a, 0x51, - 0xe3, 0xba, 0xb5, 0xba, 0xa1, 0x90, 0x68, 0x4d, 0x93, 0xe2, 0xaa, 0x9a, 0x14, 0x03, 0x9e, 0xfb, 0x42, 0x75, 0xb1, - 0x35, 0x82, 0x85, 0x3f, 0xb7, 0x40, 0x98, 0xf4, 0xb7, 0x92, 0x0e, 0xa9, 0x1a, 0x77, 0x6d, 0xb5, 0xdb, 0x56, 0x36, - 0xa4, 0x68, 0x3e, 0xbc, 0x84, 0x5d, 0x3a, 0x45, 0xb4, 0xed, 0x92, 0xe0, 0x0b, 0xd0, 0xb2, 0x7a, 0x23, 0xf2, 0x98, - 0x7e, 0x85, 0xfc, 0x52, 0x0c, 0xff, 0x53, 0xba, 0x37, 0xa7, 0x36, 0xc8, 0x01, 0x6c, 0xf7, 0x1e, 0x6e, 0xc7, 0xe8, - 0x81, 0x0c, 0xde, 0x08, 0x39, 0xe7, 0xfc, 0x72, 0x6a, 0xcd, 0x98, 0x68, 0x58, 0xb0, 0x72, 0x18, 0xf9, 0x01, 0x32, - 0x5e, 0x4e, 0x81, 0x95, 0xfd, 0xa8, 0x88, 0x4b, 0x7f, 0x18, 0xf9, 0x17, 0x4f, 0x83, 0x8c, 0x7b, 0xd1, 0xb0, 0xe3, - 0x0b, 0xb0, 0x57, 0x5f, 0x3c, 0x65, 0xd1, 0x80, 0x57, 0x57, 0xf5, 0x34, 0x0b, 0x86, 0x19, 0x8b, 0xae, 0x8a, 0x21, - 0xf8, 0xd0, 0x3e, 0x2b, 0x07, 0xa1, 0xef, 0x9b, 0x9d, 0x43, 0x77, 0x43, 0x2c, 0x8f, 0xb0, 0x9f, 0xc0, 0x6d, 0x57, - 0x4b, 0xcc, 0x60, 0xb2, 0x59, 0x46, 0xcc, 0x60, 0xcb, 0x5f, 0x3c, 0x35, 0x5c, 0x42, 0xd5, 0x33, 0xa9, 0xd9, 0x28, - 0xd0, 0x9c, 0x5c, 0xa1, 0x39, 0x59, 0x09, 0xb5, 0xe4, 0x93, 0x0a, 0x27, 0xec, 0x7c, 0x92, 0x2b, 0xbb, 0xd1, 0x18, - 0x03, 0x17, 0xad, 0xb9, 0x1d, 0x0a, 0x23, 0x33, 0x9d, 0xa5, 0x68, 0xc0, 0xc2, 0x33, 0x71, 0x4a, 0x63, 0x40, 0xfb, - 0x72, 0x60, 0x69, 0x43, 0x7e, 0x91, 0x33, 0x03, 0x6d, 0x43, 0x4a, 0xa3, 0x66, 0xe0, 0xcf, 0xd4, 0x84, 0xf9, 0x0d, - 0xac, 0x44, 0x10, 0xd5, 0x05, 0x98, 0x24, 0x39, 0x19, 0x8d, 0x94, 0x95, 0x48, 0xce, 0x01, 0xef, 0x23, 0x78, 0xb2, - 0x88, 0x6d, 0xed, 0x4f, 0xe9, 0x7f, 0x75, 0xf8, 0x5c, 0xfa, 0x4f, 0x04, 0xb0, 0x90, 0x4b, 0x83, 0xc8, 0x40, 0xe1, - 0x90, 0x5a, 0x86, 0xf7, 0xc4, 0xf1, 0x0c, 0x7c, 0x05, 0x17, 0x68, 0x0a, 0xe8, 0x0f, 0x6a, 0x46, 0x11, 0x59, 0xf8, - 0xab, 0x67, 0x37, 0x75, 0xa1, 0xe7, 0x99, 0xf3, 0x1a, 0x34, 0x33, 0x10, 0xd2, 0xe3, 0x54, 0xbd, 0x0d, 0x89, 0xce, - 0xcb, 0x6b, 0xfd, 0x32, 0x21, 0x92, 0x95, 0x91, 0xa7, 0xef, 0x73, 0x30, 0x8f, 0x28, 0x42, 0x07, 0x57, 0xe6, 0xe1, - 0x70, 0x2e, 0x28, 0x7c, 0x47, 0x79, 0x3e, 0xe0, 0x34, 0xcb, 0x12, 0xd0, 0x06, 0xb2, 0xdc, 0x94, 0xb9, 0x4c, 0x5a, - 0xa6, 0xee, 0x3d, 0x58, 0x09, 0x2a, 0x74, 0x73, 0x0a, 0x0a, 0x65, 0x24, 0x28, 0xa5, 0xd5, 0x20, 0x94, 0xea, 0xb0, - 0x08, 0x22, 0x87, 0x2c, 0x04, 0xdc, 0x4c, 0x45, 0xa3, 0x25, 0x0d, 0x8f, 0x70, 0x6e, 0xa0, 0x10, 0x80, 0xc4, 0x9e, - 0x2a, 0xca, 0xb8, 0x1c, 0x02, 0x3e, 0x4a, 0x38, 0xc4, 0x59, 0x93, 0xb6, 0x3c, 0x07, 0x71, 0x2c, 0x17, 0x7c, 0x59, - 0x21, 0x18, 0x44, 0xe8, 0x33, 0xe4, 0x4f, 0x96, 0xf3, 0xef, 0xd6, 0x61, 0xda, 0x11, 0x3e, 0xec, 0x6a, 0x37, 0x5c, - 0xcc, 0x6e, 0xe7, 0x13, 0x88, 0x6f, 0xb9, 0x9d, 0x1f, 0x63, 0x88, 0xdc, 0xf8, 0x83, 0xe5, 0x50, 0x72, 0x45, 0xa1, - 0xcb, 0x7a, 0x44, 0x8a, 0xec, 0xe9, 0x9a, 0x23, 0x08, 0x0e, 0xb4, 0x6a, 0x90, 0xa1, 0x91, 0xf8, 0xe2, 0x29, 0x64, - 0x0d, 0xd6, 0xfc, 0x45, 0x45, 0xce, 0xea, 0xfe, 0x64, 0x03, 0xd5, 0x24, 0x93, 0xb5, 0xa2, 0x72, 0xfe, 0x76, 0x55, - 0x16, 0x27, 0xab, 0x32, 0x5c, 0x0d, 0xba, 0xaa, 0xb2, 0xe0, 0x48, 0x6d, 0x80, 0xd6, 0x74, 0x85, 0x18, 0x0a, 0x59, - 0x83, 0x85, 0x55, 0x95, 0x35, 0xf5, 0x09, 0x04, 0xfa, 0x00, 0xcb, 0xa8, 0xd9, 0x4f, 0x87, 0xbf, 0x04, 0xbf, 0xa8, - 0x90, 0xa5, 0x3a, 0xad, 0x33, 0xf1, 0x5b, 0xb0, 0x60, 0xf8, 0xc7, 0xef, 0xc1, 0x1a, 0xb0, 0x04, 0xc8, 0x72, 0xb7, - 0xb1, 0xd1, 0x7a, 0xe5, 0x15, 0xe2, 0x5d, 0xad, 0x2f, 0xfa, 0xad, 0xdb, 0x44, 0xad, 0x00, 0x23, 0x14, 0x5a, 0x04, - 0xd8, 0xea, 0x81, 0x7b, 0x0a, 0x7e, 0x20, 0x86, 0x73, 0x4d, 0x5a, 0x53, 0x27, 0xbc, 0xce, 0xc6, 0x91, 0x88, 0xea, - 0x2d, 0x5c, 0xdc, 0xeb, 0xad, 0xc5, 0xdf, 0xa8, 0x40, 0x00, 0x64, 0x31, 0xc5, 0xda, 0x79, 0x43, 0x7a, 0x65, 0xd8, - 0x49, 0xe8, 0xbd, 0x61, 0x27, 0x90, 0x17, 0x87, 0x9d, 0x42, 0x97, 0x68, 0x3b, 0x45, 0x6a, 0xa2, 0xed, 0xa4, 0x9b, - 0x55, 0x58, 0x42, 0xf0, 0xab, 0xf6, 0xd6, 0x51, 0xb6, 0x2f, 0xb2, 0x84, 0x69, 0x0b, 0x18, 0xe5, 0x56, 0x7d, 0xe6, - 0x14, 0xb1, 0x52, 0xf6, 0x4e, 0x27, 0x55, 0xee, 0x22, 0x9f, 0x5b, 0x4d, 0x91, 0xc9, 0x2f, 0x8e, 0x5b, 0x24, 0x9f, - 0xbc, 0x69, 0x37, 0x4c, 0xa6, 0x7f, 0x3c, 0xfa, 0x02, 0xba, 0x22, 0x3b, 0x7d, 0x02, 0x01, 0x99, 0x0a, 0xaa, 0xd5, - 0xad, 0x62, 0x9a, 0xb7, 0xab, 0xec, 0xf6, 0x42, 0x89, 0xe1, 0x74, 0x76, 0x12, 0x1e, 0x6d, 0x86, 0x0c, 0x1c, 0x82, - 0x40, 0x21, 0x54, 0x14, 0xc3, 0x23, 0x50, 0x6b, 0x24, 0x1f, 0xe0, 0x47, 0xbb, 0x53, 0x41, 0xa4, 0x76, 0x53, 0x71, - 0xe3, 0xe4, 0xa6, 0xeb, 0xa5, 0x40, 0xad, 0x53, 0xb2, 0x02, 0x28, 0x21, 0xea, 0xcf, 0x62, 0x5b, 0x5f, 0xc3, 0x15, - 0x9b, 0xef, 0x1b, 0x45, 0x4f, 0xae, 0x4f, 0x51, 0xb7, 0xe2, 0xea, 0x34, 0x6d, 0x35, 0xc7, 0x8e, 0x33, 0xe4, 0xe0, - 0x59, 0x41, 0xb0, 0x1d, 0x95, 0x28, 0xdf, 0xb6, 0x9b, 0x8e, 0x89, 0xad, 0xfe, 0xb9, 0xa9, 0x36, 0x4b, 0xa8, 0x88, - 0x88, 0x8f, 0xb2, 0x9b, 0x27, 0xed, 0x77, 0xb0, 0xc7, 0x5a, 0x0d, 0x22, 0xfb, 0x0c, 0xae, 0x72, 0x9d, 0x16, 0xb9, - 0x2d, 0x83, 0xf3, 0x0f, 0xaf, 0x76, 0x15, 0x36, 0x39, 0xd6, 0xd5, 0xd5, 0x4c, 0x75, 0x52, 0xb1, 0x81, 0xb1, 0xa6, - 0xb5, 0x54, 0xf3, 0x18, 0x92, 0xee, 0xca, 0xe2, 0xac, 0x4a, 0xba, 0xe9, 0xb9, 0x71, 0xa6, 0x10, 0x03, 0x67, 0xab, - 0xd1, 0x72, 0x86, 0x21, 0xba, 0x3e, 0xcc, 0x12, 0xbf, 0xd5, 0x53, 0xee, 0xf3, 0x70, 0xeb, 0x77, 0xf5, 0x82, 0x93, - 0xc9, 0x7e, 0x72, 0x9c, 0xbb, 0x5d, 0xa4, 0xfd, 0xc4, 0xb7, 0x61, 0xfe, 0xf5, 0x0d, 0x62, 0x29, 0xea, 0x5f, 0x2a, - 0x00, 0x1a, 0xdc, 0xe4, 0xb1, 0x44, 0xa9, 0xdf, 0xab, 0xea, 0x07, 0x35, 0x53, 0x35, 0x0d, 0x04, 0x73, 0x2a, 0x05, - 0xfc, 0xe1, 0x76, 0xe1, 0x8a, 0x47, 0xdc, 0xb0, 0x30, 0xfe, 0xe5, 0xd5, 0xec, 0x54, 0x50, 0x19, 0xb8, 0x19, 0xff, - 0xe5, 0x09, 0x76, 0x0a, 0x6b, 0x05, 0x64, 0x85, 0xbf, 0xbc, 0xfc, 0x81, 0xf7, 0x2b, 0xfe, 0x97, 0x57, 0x3d, 0xf0, - 0x3e, 0xe2, 0xbc, 0xfc, 0x85, 0xa4, 0x4e, 0x88, 0xea, 0xf2, 0x17, 0x61, 0x8a, 0xad, 0xd2, 0xfc, 0x25, 0x29, 0x7c, - 0x82, 0x2f, 0xc0, 0x77, 0xb8, 0x0a, 0xb7, 0xe6, 0x37, 0x78, 0xec, 0x58, 0x6c, 0xbb, 0xd4, 0x17, 0x50, 0x8e, 0xc0, - 0x22, 0x72, 0xfb, 0xed, 0xca, 0x7e, 0xb5, 0x30, 0xca, 0x18, 0xbb, 0x2f, 0x59, 0x89, 0xd2, 0x59, 0xbf, 0x5f, 0x48, - 0xc1, 0xc8, 0x2e, 0xac, 0xd1, 0x1e, 0xa5, 0xea, 0xd5, 0xb7, 0x61, 0x1d, 0x25, 0x69, 0xbe, 0x94, 0xd1, 0x47, 0x32, - 0xec, 0x48, 0x5f, 0x49, 0x89, 0xf6, 0x5a, 0x85, 0xe5, 0x68, 0xf6, 0xeb, 0x92, 0x03, 0xe5, 0x75, 0x2b, 0x28, 0x5f, - 0x35, 0x01, 0xf4, 0x4a, 0xb5, 0xcf, 0x40, 0x2b, 0x28, 0x2c, 0x95, 0x07, 0x2b, 0x71, 0x2e, 0xfa, 0xac, 0x38, 0x1c, - 0xd4, 0xc5, 0x90, 0x50, 0xa0, 0x4a, 0x9c, 0x84, 0x46, 0x3c, 0x87, 0x0b, 0xa1, 0x78, 0x96, 0x63, 0x6c, 0x45, 0x0e, - 0x1c, 0xc8, 0xf0, 0x03, 0x02, 0xef, 0x65, 0xff, 0x0a, 0x06, 0xc3, 0x04, 0x37, 0x32, 0xea, 0xe4, 0x9c, 0xfd, 0x85, - 0x81, 0x19, 0xd4, 0x93, 0xda, 0x7d, 0x76, 0xaf, 0x02, 0x7b, 0xe1, 0x0c, 0x68, 0xef, 0xc6, 0xe8, 0x67, 0x55, 0xac, - 0x9d, 0xf4, 0xcf, 0xc5, 0x1a, 0x92, 0xe9, 0xb0, 0x38, 0xda, 0xa6, 0xe1, 0x91, 0x3c, 0x39, 0x8e, 0x37, 0xfd, 0xc3, - 0x61, 0x8c, 0x1f, 0x47, 0xf9, 0xb5, 0x05, 0xbc, 0x8a, 0x5b, 0x48, 0x63, 0x91, 0xa2, 0x77, 0x20, 0xe6, 0x50, 0xf4, - 0x92, 0xfd, 0x96, 0xf1, 0x72, 0x22, 0x28, 0x25, 0x89, 0x0d, 0xef, 0x48, 0x4f, 0xd3, 0x7a, 0xb4, 0x95, 0x01, 0xfb, - 0xf5, 0x68, 0x47, 0x7f, 0x81, 0xe2, 0xd1, 0xc2, 0x5f, 0xd2, 0xdf, 0xc5, 0xdd, 0xdc, 0x73, 0xbe, 0x69, 0x7c, 0x47, - 0x5c, 0xa0, 0x58, 0xb3, 0xfb, 0x6b, 0x5a, 0x3a, 0xeb, 0x40, 0x70, 0xc0, 0x5b, 0xec, 0xa2, 0x7d, 0xbf, 0x71, 0x9d, - 0x9e, 0xf6, 0xdf, 0xbb, 0x35, 0xca, 0xf7, 0x7e, 0x91, 0x28, 0x07, 0xfb, 0x97, 0x2e, 0x9a, 0xbf, 0xfd, 0x94, 0x21, - 0xa9, 0xd0, 0xdc, 0x60, 0x3b, 0xd9, 0x22, 0xac, 0x8d, 0x71, 0x50, 0xb1, 0x65, 0x19, 0x46, 0xc0, 0xa0, 0x8e, 0xfd, - 0x8f, 0x3e, 0x9b, 0x36, 0x64, 0x1f, 0x00, 0x2a, 0x57, 0x21, 0x60, 0x0f, 0xc0, 0x89, 0x46, 0xb8, 0x01, 0x6e, 0x35, - 0x5a, 0xd2, 0x41, 0xdd, 0x16, 0x0c, 0x44, 0x4b, 0xd8, 0xc8, 0xdb, 0xae, 0x4e, 0xdf, 0x10, 0x3e, 0xd4, 0x4e, 0x4a, - 0x87, 0xf2, 0x37, 0xcf, 0xd9, 0x7f, 0xef, 0xb0, 0xa6, 0xa6, 0x7c, 0x02, 0xcc, 0x9c, 0x95, 0xc8, 0x2b, 0x84, 0x4e, - 0x91, 0xdf, 0xab, 0xba, 0x12, 0xc3, 0x45, 0x2d, 0xca, 0xce, 0xec, 0xd6, 0x89, 0xde, 0x39, 0x05, 0xb5, 0x54, 0x36, - 0xc8, 0x49, 0xaa, 0xcd, 0x47, 0xd6, 0x0a, 0x4a, 0xd4, 0x35, 0x0a, 0x1c, 0x9f, 0x72, 0xed, 0xfe, 0xdf, 0x39, 0x13, - 0xd4, 0x6c, 0xa3, 0xba, 0xbf, 0xd4, 0x4f, 0x55, 0x4d, 0x62, 0x01, 0x2e, 0x27, 0x69, 0xde, 0xf1, 0x08, 0xab, 0x7f, - 0x9c, 0x2c, 0x45, 0xa0, 0x97, 0x11, 0xed, 0x4a, 0x40, 0x82, 0x76, 0x72, 0x16, 0x2a, 0x02, 0x05, 0xfa, 0xfa, 0x8b, - 0x4d, 0x9a, 0xc5, 0x72, 0x35, 0xdb, 0xc3, 0x44, 0x59, 0xac, 0x87, 0x08, 0x72, 0x66, 0xea, 0x60, 0xbf, 0xa7, 0x19, - 0xcd, 0xc2, 0x2b, 0x53, 0x82, 0x4b, 0x71, 0x15, 0x15, 0x39, 0xf8, 0x1c, 0xe2, 0x0b, 0x9f, 0x0b, 0xb9, 0x41, 0x44, - 0xd3, 0x9f, 0x24, 0xaa, 0x1d, 0x29, 0x90, 0x43, 0xc9, 0x4f, 0x88, 0xbf, 0x64, 0x6d, 0x8c, 0xfb, 0xa5, 0x53, 0xed, - 0x6b, 0x85, 0xe0, 0xfe, 0xc6, 0x16, 0x1b, 0x55, 0x9e, 0xe8, 0xc1, 0xa7, 0x58, 0xff, 0x93, 0x05, 0x94, 0xea, 0xbe, - 0x0d, 0x4e, 0xc5, 0xa3, 0x70, 0x53, 0x17, 0x9f, 0x10, 0x5a, 0xa0, 0x1c, 0x55, 0xc5, 0xa6, 0x8c, 0x88, 0x13, 0x76, - 0x53, 0x17, 0x3d, 0xcd, 0x81, 0x2e, 0xe7, 0x75, 0x22, 0x4f, 0x84, 0x76, 0x0b, 0xba, 0xa7, 0x39, 0x56, 0xe2, 0xb9, - 0x2c, 0x1d, 0x64, 0x9d, 0x48, 0x13, 0x2a, 0x77, 0x75, 0xd5, 0x51, 0xa9, 0xd4, 0x0d, 0xaf, 0x52, 0xcd, 0xf8, 0xbb, - 0x30, 0x7f, 0x62, 0xd9, 0xaf, 0x5a, 0xbf, 0xd5, 0x6a, 0x6f, 0xac, 0x1e, 0x95, 0xac, 0x39, 0xce, 0x26, 0x24, 0xa5, - 0x4f, 0xd8, 0x6e, 0x26, 0x5d, 0xeb, 0xc0, 0x93, 0xe0, 0x72, 0xe8, 0x09, 0xa8, 0x18, 0x34, 0xf1, 0x76, 0x17, 0xa8, - 0x47, 0xe0, 0x19, 0x28, 0x9f, 0xa8, 0x75, 0xc0, 0xcf, 0x6b, 0x2d, 0x4f, 0x19, 0x61, 0x58, 0xed, 0x2c, 0x5a, 0x0e, - 0xce, 0x3b, 0x45, 0xe0, 0xda, 0x95, 0xc0, 0xf3, 0xa1, 0x7a, 0x2f, 0x04, 0x0c, 0xf7, 0xcf, 0x85, 0xca, 0x66, 0x37, - 0xc3, 0x79, 0xd4, 0x38, 0x3d, 0xd0, 0xde, 0x76, 0xad, 0x87, 0x7a, 0xd7, 0xed, 0xdc, 0x56, 0xba, 0xf7, 0x6b, 0x27, - 0x93, 0x2e, 0xa0, 0xb5, 0xf9, 0xec, 0x3b, 0xbb, 0xd2, 0xba, 0xe9, 0x39, 0x7b, 0xb0, 0x75, 0x4b, 0x74, 0x2e, 0x88, - 0x26, 0xbf, 0x1f, 0x78, 0xd6, 0xb6, 0xa3, 0xdf, 0xa6, 0x1d, 0xdb, 0xdc, 0x43, 0xdd, 0x2b, 0xa8, 0xf5, 0x86, 0xe6, - 0xfd, 0x33, 0xd7, 0xb6, 0xe3, 0xab, 0x5f, 0xd7, 0x1d, 0xae, 0xf3, 0x26, 0x38, 0x6e, 0xba, 0xb6, 0xd5, 0xce, 0x7e, - 0xee, 0xee, 0xad, 0x9b, 0x28, 0xcc, 0xb2, 0x9f, 0x8a, 0xe2, 0xcf, 0x4a, 0xdf, 0x11, 0xe8, 0xe8, 0xce, 0x8b, 0x3a, - 0x5d, 0xec, 0x3e, 0x10, 0xc6, 0x93, 0x57, 0x1f, 0x11, 0xdd, 0xfa, 0x3e, 0x73, 0xbf, 0x02, 0xdc, 0x08, 0xee, 0x20, - 0xda, 0xbb, 0xa5, 0x3e, 0xa9, 0xd5, 0xd7, 0x7a, 0xed, 0x3c, 0x3d, 0xbf, 0xe9, 0xdc, 0x7e, 0xf7, 0xcd, 0xd1, 0xd6, - 0x7b, 0x5c, 0x58, 0x2b, 0x4b, 0x4f, 0x55, 0xc1, 0xde, 0x2c, 0x4f, 0x55, 0xc1, 0xe4, 0x81, 0xd7, 0xec, 0x17, 0x34, - 0xb8, 0xd2, 0xd1, 0xc6, 0x7b, 0xa2, 0x06, 0x6e, 0x51, 0x58, 0x3a, 0xfc, 0x92, 0x9b, 0xc9, 0x35, 0xee, 0x2f, 0x15, - 0xb9, 0xd8, 0x77, 0xce, 0xe8, 0xce, 0xcc, 0xba, 0x57, 0x15, 0xae, 0x16, 0xe4, 0xea, 0xc0, 0xd6, 0xb2, 0x8b, 0xc3, - 0x0d, 0x8b, 0x28, 0x40, 0x20, 0xa6, 0x57, 0x6a, 0xed, 0x8f, 0x68, 0x10, 0xf2, 0xc1, 0xc0, 0x2f, 0x30, 0x58, 0x15, - 0x28, 0x7c, 0xa0, 0x48, 0xfe, 0xd2, 0x13, 0xb0, 0x8b, 0x67, 0x80, 0x6e, 0xc5, 0x66, 0xc5, 0x08, 0x11, 0x32, 0x59, - 0xce, 0x6a, 0x3a, 0x83, 0x7c, 0xea, 0x8b, 0xef, 0x6c, 0xd5, 0xe9, 0xbc, 0xad, 0xa9, 0x72, 0xea, 0x50, 0xe8, 0xee, - 0xa6, 0xee, 0xdc, 0xba, 0xc8, 0x53, 0x87, 0x90, 0x2b, 0x15, 0x2b, 0x31, 0x0d, 0x35, 0x4f, 0xd2, 0x8c, 0xfa, 0xab, - 0xbd, 0xdf, 0x6b, 0x14, 0x4e, 0xf9, 0xd3, 0x31, 0xa8, 0xc2, 0x55, 0x0d, 0x71, 0x2c, 0x55, 0xf1, 0xc8, 0x06, 0x81, - 0xe6, 0xd5, 0xad, 0x4a, 0x9a, 0x90, 0xc9, 0x8d, 0xf0, 0xa9, 0x49, 0x29, 0x4f, 0xd3, 0x26, 0xad, 0x14, 0xa9, 0x83, - 0x0f, 0xea, 0x54, 0xe3, 0xb9, 0x59, 0x3d, 0x03, 0x30, 0xe3, 0xfc, 0x8a, 0x5f, 0x2a, 0x2e, 0xa3, 0xb6, 0x32, 0x93, - 0xf6, 0x27, 0x47, 0x63, 0xa3, 0x2e, 0xa7, 0x8d, 0x32, 0xc2, 0x4a, 0x69, 0x4e, 0x8a, 0xe5, 0x78, 0xfe, 0x01, 0x83, - 0x35, 0x4f, 0x60, 0x07, 0x13, 0x95, 0xf2, 0x3e, 0x02, 0xe2, 0xeb, 0x24, 0x5d, 0x26, 0x90, 0x22, 0xfd, 0x4b, 0x17, - 0x3c, 0x75, 0x18, 0x1b, 0x88, 0x31, 0x2b, 0x66, 0x46, 0xff, 0x83, 0xbb, 0xa4, 0x3f, 0x09, 0x01, 0x70, 0x13, 0x4d, - 0xa1, 0x53, 0xe7, 0xc9, 0x45, 0x1e, 0x2c, 0x2e, 0x3c, 0xb4, 0x62, 0xc4, 0x83, 0xff, 0x7c, 0x16, 0x22, 0x88, 0x39, - 0xa6, 0x78, 0xfa, 0x85, 0xd1, 0x7f, 0x04, 0x97, 0x18, 0x41, 0xe8, 0xee, 0x9d, 0xc3, 0x10, 0x6e, 0xf6, 0x20, 0x83, - 0xfa, 0x43, 0x1d, 0x12, 0x35, 0xfc, 0xa5, 0xf2, 0xa0, 0xff, 0xeb, 0x4c, 0x58, 0x6a, 0x3f, 0x3d, 0x1d, 0x40, 0x05, - 0xef, 0x2b, 0xde, 0x46, 0xc4, 0xf7, 0x89, 0x9f, 0xc4, 0x83, 0xcd, 0x93, 0x0d, 0x58, 0xeb, 0x3e, 0xe4, 0xc6, 0xba, - 0x4a, 0xd8, 0x40, 0xc0, 0xd7, 0x98, 0xd6, 0x9e, 0xd7, 0x6e, 0xf7, 0xe0, 0x3f, 0xfd, 0x8b, 0x90, 0x01, 0x13, 0xa7, - 0xef, 0x33, 0x27, 0x6b, 0x74, 0x91, 0xc9, 0xf4, 0xa1, 0x93, 0xbe, 0xd1, 0xe9, 0xbe, 0x13, 0xfe, 0x51, 0x31, 0x8b, - 0x0f, 0xb7, 0xf4, 0x95, 0x26, 0xc5, 0x1d, 0xb0, 0xb2, 0x79, 0x50, 0x10, 0xea, 0x5c, 0x44, 0xdf, 0x98, 0xf2, 0x2d, - 0xa1, 0x66, 0xdf, 0x58, 0x52, 0x4a, 0xf7, 0x1a, 0x7a, 0x95, 0xd6, 0xfa, 0x6d, 0x94, 0x60, 0x4c, 0x74, 0x3c, 0x79, - 0x19, 0x8f, 0x95, 0xf7, 0xf1, 0xb8, 0x91, 0x0a, 0x79, 0x00, 0x22, 0x50, 0x31, 0xfe, 0x74, 0xe5, 0xc9, 0x49, 0x2f, - 0x8c, 0x57, 0xa1, 0x14, 0x14, 0x06, 0x74, 0x05, 0x52, 0xc0, 0xa3, 0xf6, 0x44, 0x67, 0x61, 0x97, 0x70, 0x8f, 0x6e, - 0x02, 0xc6, 0xfa, 0xfc, 0x0b, 0xa0, 0xb9, 0x0b, 0x77, 0x78, 0x31, 0x40, 0x6d, 0xea, 0xd5, 0xdd, 0xc7, 0xb5, 0x3a, - 0x87, 0x43, 0x70, 0xb0, 0x1a, 0x44, 0x70, 0x3a, 0x9f, 0x3a, 0x9a, 0x65, 0x01, 0x2a, 0x27, 0xcb, 0x8d, 0xbc, 0x79, - 0xb4, 0xe8, 0xd5, 0x7d, 0x6f, 0x91, 0x96, 0x55, 0x1d, 0x64, 0x2c, 0x0b, 0x2b, 0xc0, 0xd5, 0xa1, 0xf5, 0x83, 0x70, - 0x59, 0x38, 0x7f, 0x20, 0x04, 0xb1, 0x7b, 0xb5, 0x2d, 0x78, 0xae, 0xe6, 0xf0, 0x93, 0xa7, 0x6c, 0xcd, 0x25, 0xea, - 0xa4, 0x33, 0x11, 0x80, 0xd8, 0x53, 0xb3, 0x8a, 0xae, 0x81, 0xa4, 0x4e, 0xb3, 0x8a, 0xae, 0xa9, 0xd9, 0xc6, 0x38, - 0x90, 0x8f, 0x56, 0x29, 0x60, 0xdf, 0x4d, 0xc7, 0xc1, 0xea, 0x49, 0x2c, 0xaf, 0x43, 0xcb, 0x27, 0x1b, 0xe5, 0x33, - 0xa8, 0x5b, 0x6d, 0x8c, 0x89, 0xed, 0xe6, 0xcb, 0xb9, 0x7e, 0x3b, 0x58, 0xf8, 0x76, 0xd0, 0x9c, 0x53, 0xf6, 0x52, - 0x97, 0xbd, 0xb2, 0xcb, 0xa6, 0x9e, 0x3b, 0x2a, 0x5a, 0x8d, 0x01, 0xbd, 0x81, 0x05, 0xeb, 0x73, 0x91, 0x66, 0xab, - 0x52, 0x95, 0x80, 0x17, 0xc6, 0x8a, 0x2d, 0xfd, 0x46, 0x66, 0x48, 0xc2, 0x3c, 0xce, 0xc4, 0x5b, 0xba, 0xd7, 0xc2, - 0xe4, 0x38, 0x16, 0xc9, 0x94, 0xd0, 0x29, 0xdd, 0xd9, 0x86, 0xce, 0x55, 0x18, 0x45, 0xb4, 0x56, 0x52, 0x69, 0x24, - 0x30, 0x35, 0x03, 0x94, 0xcc, 0x15, 0x38, 0xa5, 0xcb, 0xfd, 0xef, 0x48, 0x8c, 0x33, 0x5f, 0x94, 0xcc, 0x80, 0x6e, - 0xf9, 0x75, 0xb1, 0x6e, 0xa5, 0xc8, 0x08, 0xf3, 0xe6, 0xb8, 0xbd, 0xae, 0x0f, 0x81, 0x5c, 0x2d, 0x7b, 0x14, 0x8d, - 0x83, 0x42, 0x87, 0x4b, 0x95, 0x00, 0xfb, 0x22, 0xf1, 0x33, 0xc2, 0x96, 0xf6, 0x40, 0x6e, 0x8f, 0xce, 0x84, 0x39, - 0xe7, 0xa4, 0x2c, 0x3b, 0x97, 0x66, 0x70, 0x39, 0x71, 0x25, 0xb8, 0x48, 0x6f, 0xdb, 0xd3, 0xa4, 0xa5, 0xed, 0x63, - 0xc3, 0x39, 0x1a, 0xda, 0x06, 0xdd, 0xb1, 0x3f, 0x34, 0x17, 0x8b, 0xd8, 0xba, 0x58, 0x0c, 0x3b, 0xb3, 0x1f, 0x2d, - 0x16, 0x20, 0x07, 0x80, 0xa3, 0x6e, 0xc3, 0xc7, 0x6c, 0x01, 0x9c, 0x56, 0xd3, 0x6c, 0xea, 0x6d, 0x78, 0xf5, 0x44, - 0xf5, 0xf4, 0x82, 0xe7, 0x4f, 0x84, 0x19, 0x8b, 0x0d, 0xcf, 0x9f, 0x58, 0x47, 0x4e, 0xf5, 0x44, 0x28, 0xd1, 0xba, - 0x80, 0x66, 0xe0, 0x35, 0x05, 0x8c, 0x58, 0x32, 0x99, 0x52, 0x45, 0x1e, 0xf7, 0xa6, 0x1b, 0x35, 0x78, 0x41, 0xe1, - 0x10, 0x48, 0xe9, 0xf4, 0x8b, 0xa7, 0x4c, 0xbf, 0x77, 0xf1, 0xb4, 0x43, 0xd6, 0x36, 0x4c, 0x97, 0x9b, 0x61, 0x32, - 0x28, 0xfd, 0x27, 0x66, 0x62, 0x5c, 0x58, 0x93, 0x04, 0x10, 0xff, 0xc6, 0x7e, 0x87, 0x14, 0x6e, 0xde, 0x5f, 0x0c, - 0xe3, 0x07, 0xde, 0x8f, 0x91, 0x3d, 0x49, 0x33, 0xc4, 0x9a, 0x49, 0x85, 0xdc, 0x7d, 0xb5, 0xfe, 0x31, 0xb1, 0x9b, - 0xec, 0x81, 0x05, 0x20, 0xb6, 0xa6, 0xad, 0x6e, 0x79, 0xbf, 0xef, 0x99, 0x22, 0xc0, 0x0f, 0xca, 0x3f, 0xba, 0x33, - 0x24, 0x83, 0xb2, 0xeb, 0x86, 0x10, 0x0f, 0xca, 0xa6, 0x69, 0xaf, 0xb7, 0xbd, 0x33, 0x8f, 0xd5, 0x75, 0xda, 0x59, - 0x5c, 0x2d, 0x32, 0x48, 0xab, 0x0f, 0xd9, 0x71, 0x66, 0x9f, 0x1d, 0x2d, 0x95, 0xee, 0xf7, 0x21, 0x22, 0xee, 0x28, - 0x6b, 0xfb, 0xed, 0x16, 0x5c, 0xc3, 0xd1, 0x20, 0x74, 0x65, 0x6f, 0x97, 0xd1, 0xc6, 0x85, 0x38, 0xee, 0x99, 0xce, - 0x17, 0x7c, 0x79, 0x94, 0x76, 0x1e, 0x9c, 0xea, 0x89, 0x3e, 0x37, 0xdd, 0x55, 0x26, 0xd7, 0x3a, 0xac, 0xc6, 0xa0, - 0x36, 0x0b, 0x5b, 0xb8, 0x0b, 0xdb, 0xe8, 0xa0, 0xb5, 0x2f, 0x0b, 0xfe, 0x29, 0x03, 0xf0, 0xa5, 0x67, 0xcb, 0xb6, - 0xd7, 0xa4, 0xd5, 0x2b, 0x19, 0x85, 0xd8, 0xd2, 0xf6, 0xea, 0xd3, 0x51, 0x3e, 0x6e, 0x4e, 0x28, 0x2e, 0xe4, 0x28, - 0x3f, 0x78, 0x0d, 0x51, 0xd7, 0xba, 0x8e, 0x8b, 0x45, 0x87, 0x1b, 0x57, 0xdd, 0x76, 0xe3, 0x7a, 0x8d, 0x78, 0x6b, - 0xb4, 0x49, 0xa1, 0x56, 0xc6, 0x8e, 0xe0, 0x65, 0xf9, 0x70, 0xc8, 0xc4, 0x70, 0x28, 0x21, 0x53, 0x1f, 0xba, 0x37, - 0x34, 0xed, 0xf3, 0xd3, 0xd6, 0x8f, 0x58, 0x6a, 0x1c, 0xc5, 0x86, 0x77, 0xfa, 0xce, 0x63, 0x6b, 0x5c, 0xc9, 0x97, - 0xc1, 0x6c, 0x57, 0x50, 0x6d, 0x8d, 0x37, 0xec, 0xe5, 0xfc, 0xa7, 0x4a, 0x2a, 0xf9, 0xdb, 0x9f, 0xe1, 0x1a, 0xde, - 0xda, 0xd2, 0x41, 0x53, 0xcd, 0x72, 0x96, 0xeb, 0x7b, 0xc1, 0xf1, 0xc7, 0xdd, 0x2b, 0x82, 0xc1, 0xef, 0xe9, 0x28, - 0xc8, 0xc5, 0x52, 0xad, 0x01, 0x05, 0xe9, 0xc8, 0x8e, 0xa9, 0x2c, 0x30, 0x0c, 0xe0, 0x0d, 0x19, 0x20, 0x8f, 0x29, - 0xdc, 0x0d, 0x15, 0x5e, 0xf8, 0x6b, 0x45, 0x76, 0x09, 0x6c, 0x6b, 0xc6, 0xc7, 0x0c, 0x77, 0x10, 0xf2, 0x8f, 0x60, - 0x4b, 0xb6, 0x62, 0xb7, 0xec, 0x86, 0x21, 0xd9, 0x38, 0x0e, 0x63, 0xcc, 0xc7, 0x93, 0xf8, 0x4a, 0x4c, 0xe2, 0x01, - 0x8f, 0xd0, 0x31, 0x62, 0xcd, 0xeb, 0x59, 0x2c, 0x07, 0x90, 0x2d, 0xb9, 0xd2, 0x01, 0x21, 0x34, 0x36, 0xb4, 0xe4, - 0x55, 0x61, 0x70, 0xb1, 0x63, 0x9f, 0x91, 0x48, 0xc6, 0x21, 0x58, 0xb4, 0xaa, 0x81, 0x85, 0x89, 0xdd, 0xf2, 0x62, - 0xb6, 0x9a, 0xe3, 0x3f, 0x87, 0x03, 0x02, 0x60, 0x07, 0xfb, 0x86, 0x2d, 0x23, 0x44, 0x7a, 0xbb, 0xe1, 0x4b, 0xcb, - 0xd3, 0x85, 0xdd, 0xf1, 0x6b, 0x3e, 0x66, 0xe7, 0xaf, 0x3d, 0x88, 0x9c, 0x3d, 0xff, 0x08, 0x68, 0x88, 0x77, 0xfc, - 0x36, 0xf5, 0x2a, 0x76, 0x4b, 0x14, 0x84, 0xb7, 0xe0, 0x0c, 0x74, 0x07, 0x11, 0xb0, 0xd7, 0xfc, 0x06, 0x63, 0xc5, - 0xce, 0xd2, 0x85, 0x87, 0x19, 0xa1, 0xf6, 0x74, 0xbe, 0xac, 0xd5, 0x24, 0xdc, 0x5c, 0x2d, 0x26, 0x83, 0xc1, 0xc6, - 0xdf, 0xf1, 0x35, 0xf0, 0xc1, 0x9c, 0xbf, 0xf6, 0x76, 0x54, 0x2e, 0xfc, 0xe7, 0x75, 0x96, 0xbc, 0xf3, 0xd9, 0xf5, - 0x80, 0xdf, 0x00, 0xde, 0x12, 0x3a, 0x70, 0xdd, 0xf9, 0x4c, 0xe2, 0xb5, 0x5d, 0xeb, 0x6b, 0x04, 0x12, 0xf9, 0x02, - 0x30, 0x62, 0x62, 0x7e, 0x5f, 0x43, 0x04, 0x46, 0x0c, 0xbe, 0xad, 0xda, 0x23, 0x7e, 0xcb, 0x0d, 0xe0, 0x57, 0xe6, - 0xb3, 0x7b, 0x1e, 0xea, 0x9f, 0x89, 0xcf, 0xde, 0xf2, 0xf7, 0xfc, 0x99, 0x27, 0x25, 0xe9, 0x72, 0xf6, 0x7e, 0x0e, - 0xd7, 0x43, 0x29, 0x4f, 0x87, 0xf4, 0xb3, 0x31, 0x18, 0x40, 0x28, 0x64, 0xbe, 0xf5, 0x80, 0x35, 0x29, 0xc4, 0xbf, - 0x80, 0x6f, 0x47, 0x09, 0x9b, 0x6f, 0xbd, 0xad, 0xaf, 0xe5, 0xcd, 0xb7, 0xde, 0xbd, 0x4f, 0x51, 0x80, 0x55, 0x50, - 0xca, 0x02, 0xab, 0x20, 0x6c, 0xb4, 0x11, 0xc6, 0xc0, 0xd5, 0xbb, 0xc6, 0x50, 0xd7, 0x73, 0xc4, 0xb6, 0x95, 0xbe, - 0x0b, 0xdf, 0x41, 0x06, 0x7c, 0xf0, 0xaa, 0x28, 0x89, 0x3e, 0xa7, 0xa6, 0x48, 0x5a, 0xf7, 0xdc, 0x6f, 0xad, 0x3b, - 0x5a, 0x53, 0xea, 0x23, 0x57, 0xe3, 0xc3, 0xa1, 0x7e, 0x26, 0xb4, 0x48, 0x30, 0x05, 0x8d, 0x6b, 0xd0, 0x16, 0x20, - 0xe8, 0xf3, 0x00, 0x59, 0x4b, 0x8a, 0x05, 0xdf, 0xfe, 0x0a, 0x31, 0x78, 0x65, 0x7a, 0xe7, 0x72, 0x95, 0x91, 0xb0, - 0xbd, 0xf0, 0xcb, 0x61, 0xed, 0x4f, 0x9c, 0x5a, 0x58, 0x5a, 0xcd, 0x41, 0xfd, 0xc4, 0x96, 0xe3, 0x54, 0xd5, 0xfe, - 0x2e, 0x49, 0xaa, 0x5d, 0xa5, 0xe5, 0xf4, 0xce, 0xbe, 0xe9, 0x32, 0xc1, 0xc6, 0x7e, 0x40, 0xd5, 0x91, 0xd5, 0xb0, - 0xfb, 0x42, 0x7d, 0xd1, 0x53, 0x32, 0xa1, 0xf9, 0xa8, 0xa2, 0x79, 0x76, 0xbf, 0xd9, 0x51, 0xff, 0xe9, 0xe5, 0x50, - 0x04, 0x48, 0x56, 0x69, 0xb1, 0x14, 0x39, 0x1b, 0xfb, 0xf1, 0x30, 0xc9, 0x54, 0x78, 0x41, 0x3a, 0xba, 0xfb, 0x8d, - 0xfb, 0x5b, 0x6e, 0x20, 0x2b, 0xb4, 0x6a, 0x83, 0xb1, 0x52, 0xb4, 0x0c, 0xd6, 0x57, 0xe3, 0x7e, 0x5f, 0x5c, 0x8d, - 0xa7, 0x22, 0xa8, 0x81, 0xb8, 0x48, 0x3c, 0x1b, 0x4f, 0x6b, 0x62, 0x49, 0xed, 0x0a, 0x8c, 0xd1, 0xe3, 0xaa, 0xa8, - 0x7d, 0xea, 0x67, 0x10, 0x8a, 0x54, 0x6b, 0xe6, 0x58, 0xe3, 0xc6, 0x88, 0xb8, 0xc3, 0xca, 0xb5, 0x53, 0x7b, 0x1d, - 0x80, 0xe5, 0xd5, 0xb8, 0x20, 0x2c, 0x92, 0x63, 0xe7, 0x02, 0x56, 0xa3, 0x21, 0xd5, 0x6e, 0xb8, 0xf5, 0xb2, 0xf3, - 0x9b, 0x6f, 0x12, 0x5b, 0x1b, 0xe1, 0x96, 0x02, 0xca, 0x28, 0xbf, 0xb1, 0x9c, 0xb0, 0x3b, 0xd5, 0x3b, 0x52, 0xb5, - 0x23, 0x4e, 0x5c, 0xc0, 0x72, 0xc3, 0x53, 0xab, 0x6f, 0x62, 0x70, 0x22, 0x54, 0xad, 0x74, 0xb8, 0x93, 0x09, 0xc4, - 0xfd, 0xea, 0xbe, 0xee, 0x95, 0xe0, 0x27, 0x21, 0xaf, 0xdf, 0xf2, 0x0e, 0x00, 0x2b, 0x3e, 0xe4, 0xc5, 0xb4, 0x70, - 0xb4, 0x2e, 0x83, 0x32, 0x40, 0x84, 0x66, 0x00, 0x74, 0x72, 0x75, 0x10, 0xa5, 0x81, 0x2b, 0xee, 0x10, 0xe1, 0xa7, - 0xd1, 0x93, 0xfc, 0x59, 0xf8, 0xa4, 0x9a, 0x86, 0x17, 0x79, 0x10, 0x5d, 0x54, 0x41, 0xf4, 0xa4, 0xba, 0x0a, 0x9f, - 0xe4, 0xd3, 0xe8, 0x22, 0x0f, 0xc2, 0x8b, 0xaa, 0xb1, 0xef, 0xda, 0xdd, 0x3d, 0x21, 0x6f, 0xbb, 0xfa, 0x23, 0xe7, - 0xca, 0x9e, 0x32, 0x3d, 0x3f, 0xaf, 0xf5, 0x4a, 0xed, 0x36, 0xd7, 0x6b, 0xd4, 0x4c, 0x7d, 0x94, 0xfd, 0xcd, 0x36, - 0x16, 0x1e, 0xcd, 0x21, 0xf4, 0x19, 0x69, 0x31, 0xf7, 0x38, 0xd7, 0x9b, 0x3d, 0x29, 0x0c, 0x8c, 0x98, 0x54, 0x32, - 0x72, 0x7a, 0x81, 0x8b, 0x50, 0x85, 0x18, 0xd6, 0xd2, 0xd5, 0x3e, 0xeb, 0xd2, 0x1b, 0xa8, 0x6b, 0x8a, 0x7d, 0x0d, - 0x19, 0x78, 0xd1, 0xf4, 0x32, 0x18, 0x03, 0x72, 0x04, 0xde, 0xf1, 0xd9, 0x02, 0x0e, 0xcc, 0x35, 0x40, 0xdf, 0x3c, - 0xe8, 0xeb, 0xb2, 0xe4, 0x6b, 0xd5, 0x37, 0xd3, 0xf5, 0x48, 0x29, 0x3f, 0x56, 0x7c, 0x79, 0xf1, 0x94, 0xdd, 0x72, - 0x8d, 0x8a, 0xf2, 0x42, 0x2f, 0xd6, 0x3b, 0xe0, 0xaa, 0x7b, 0x01, 0xb7, 0x59, 0x3c, 0x76, 0xe5, 0x01, 0xcb, 0xb6, - 0xec, 0x9e, 0xbd, 0x65, 0xef, 0xd9, 0x07, 0xf6, 0x99, 0x7d, 0x65, 0x35, 0x42, 0x94, 0x97, 0x4a, 0xca, 0xf3, 0x6f, - 0xf8, 0xad, 0xb4, 0x3d, 0x4a, 0x58, 0xb2, 0x7b, 0xdb, 0x4e, 0x33, 0xdc, 0xb0, 0xf7, 0xfc, 0x66, 0xb8, 0x62, 0x9f, - 0x21, 0x1b, 0x0a, 0xc5, 0x83, 0x15, 0xab, 0xe1, 0x0a, 0x4b, 0x19, 0xf4, 0x69, 0x58, 0x5a, 0xc2, 0xa2, 0x29, 0x14, - 0xa5, 0xe8, 0xcf, 0xbc, 0x26, 0xec, 0xb4, 0x1a, 0x0b, 0x91, 0x1f, 0x1a, 0xae, 0xd8, 0x3d, 0xbf, 0x19, 0xac, 0xd8, - 0x7b, 0x6d, 0x23, 0x1a, 0x6c, 0xdc, 0xe2, 0x08, 0xcc, 0x4a, 0x17, 0x26, 0x05, 0xea, 0xad, 0x7d, 0x13, 0xdc, 0xb0, - 0xb7, 0x58, 0xbf, 0x0f, 0x58, 0x34, 0xca, 0xfc, 0x83, 0x15, 0xfb, 0xca, 0x25, 0x86, 0x9a, 0x5b, 0x9e, 0x74, 0x0c, - 0xd5, 0x05, 0xd2, 0x15, 0xe1, 0x03, 0xa7, 0x17, 0xd9, 0x57, 0x2c, 0x83, 0xbe, 0x32, 0x5c, 0xb1, 0x2d, 0xd6, 0xee, - 0xad, 0x31, 0x6e, 0x59, 0xd5, 0x93, 0xa0, 0xc0, 0x28, 0xab, 0x94, 0x96, 0x8b, 0x23, 0x96, 0x4d, 0x1d, 0x35, 0xa8, - 0x0d, 0x03, 0xfa, 0x60, 0xf4, 0x1f, 0xbe, 0x7e, 0xf7, 0x91, 0x57, 0xea, 0x9b, 0xef, 0x0b, 0xc7, 0xbb, 0xb2, 0x44, - 0xef, 0xca, 0xdf, 0x78, 0x39, 0x7b, 0x31, 0x9f, 0xe8, 0x5a, 0xd2, 0x26, 0x43, 0xee, 0xa6, 0xb3, 0x17, 0x1d, 0xfe, - 0x96, 0xbf, 0xf9, 0x7e, 0x63, 0xf5, 0xb1, 0xfa, 0xae, 0xee, 0xde, 0xfb, 0xc1, 0xa6, 0x71, 0x2a, 0xbe, 0x3b, 0x5d, - 0x71, 0x6c, 0x67, 0xad, 0xbd, 0x33, 0xff, 0x87, 0x6b, 0xbd, 0xc5, 0xb1, 0x7b, 0xcb, 0xb7, 0xc3, 0x8d, 0x3d, 0x0c, - 0xf2, 0xfb, 0xca, 0x2f, 0xbf, 0xe6, 0xcf, 0xbd, 0x4e, 0x49, 0x16, 0x50, 0x8d, 0xde, 0x18, 0x69, 0xe8, 0x92, 0x99, - 0x98, 0x86, 0xf8, 0x22, 0x03, 0x74, 0x2e, 0x10, 0xcf, 0xee, 0xf8, 0x78, 0x72, 0x77, 0x15, 0x4f, 0xee, 0x06, 0xfc, - 0x8d, 0x69, 0x41, 0x7b, 0xc1, 0xdd, 0xf9, 0xec, 0x37, 0x5e, 0xd8, 0x4b, 0xf2, 0x85, 0xcf, 0xde, 0x09, 0x77, 0x95, - 0xbe, 0xf0, 0xd9, 0x57, 0xc1, 0x7f, 0x1b, 0x69, 0xb2, 0x0c, 0xf6, 0xb5, 0xe6, 0xbf, 0x8d, 0x90, 0xf5, 0x83, 0x7d, - 0x11, 0xfc, 0x1d, 0xf8, 0x7f, 0x57, 0x09, 0x5a, 0xc6, 0xbf, 0xd4, 0xea, 0xe7, 0x7b, 0x19, 0x9b, 0x03, 0x6f, 0x42, - 0x2b, 0xe8, 0xcd, 0xdb, 0x5a, 0xfe, 0x24, 0x2e, 0x8e, 0x54, 0x3d, 0x35, 0x1c, 0xb4, 0x58, 0xcc, 0x4d, 0x7d, 0x94, - 0x4e, 0xe5, 0x4d, 0xae, 0x79, 0x22, 0x2d, 0xcc, 0x77, 0x10, 0x0e, 0x7c, 0x6d, 0xc3, 0x14, 0xec, 0x38, 0x6e, 0x06, - 0xd7, 0x0c, 0x20, 0x24, 0xb3, 0xe9, 0x96, 0xbf, 0xe5, 0x1f, 0xf8, 0x57, 0xbe, 0x0b, 0xee, 0xf9, 0x7b, 0xfe, 0x99, - 0xd7, 0x35, 0xdf, 0xb1, 0x85, 0x84, 0x3c, 0xad, 0xb7, 0x97, 0xc1, 0x96, 0xd5, 0xbb, 0xcb, 0xe0, 0x9e, 0xd5, 0xdb, - 0xa7, 0xc1, 0x5b, 0x56, 0xef, 0x9e, 0x06, 0xef, 0xd9, 0xf6, 0x32, 0xf8, 0xc0, 0x76, 0x97, 0xc1, 0x67, 0xb6, 0x7d, - 0x1a, 0x7c, 0x65, 0xbb, 0xa7, 0x41, 0xad, 0x90, 0x1e, 0xbe, 0x0a, 0xc9, 0x74, 0xf2, 0xb5, 0x66, 0x86, 0x55, 0x37, - 0xf8, 0x22, 0xac, 0x5f, 0x54, 0xcb, 0xe0, 0x4b, 0xcd, 0x74, 0x9b, 0x03, 0x21, 0x98, 0x6e, 0x71, 0x70, 0x4b, 0x4f, - 0x4c, 0xbb, 0x82, 0x54, 0xb0, 0xae, 0x96, 0x06, 0x37, 0x75, 0xd3, 0x3a, 0x99, 0x1d, 0xef, 0xc4, 0xb8, 0xc3, 0x3b, - 0xf1, 0x86, 0x2d, 0x9a, 0x4e, 0x57, 0x9d, 0xd3, 0xe7, 0x81, 0x3e, 0x02, 0xf4, 0xde, 0x5f, 0x49, 0x0f, 0x9a, 0xa2, - 0xe1, 0xb9, 0xd2, 0x1d, 0xb7, 0xf6, 0xfb, 0xd0, 0xda, 0xef, 0x99, 0x54, 0xa4, 0x45, 0x2c, 0x2a, 0x8b, 0xaa, 0x42, - 0x3e, 0xf1, 0x20, 0xd3, 0x5a, 0xb5, 0x84, 0x91, 0x3a, 0x13, 0x30, 0xe9, 0x0b, 0x3a, 0x0c, 0x72, 0xb2, 0x2b, 0xb0, - 0x05, 0xdf, 0x0c, 0x12, 0xb6, 0xe6, 0xf1, 0x74, 0x98, 0x04, 0x0b, 0xb6, 0xe4, 0xc3, 0x6e, 0xb1, 0x60, 0xa5, 0xc2, - 0x98, 0xf4, 0xf5, 0xe9, 0x68, 0x77, 0xe7, 0xbd, 0x55, 0x1a, 0xc7, 0x99, 0x40, 0x9d, 0x5b, 0xa5, 0xb7, 0xf9, 0xad, - 0xb3, 0xab, 0xaf, 0xd5, 0x2e, 0x0f, 0x02, 0xc3, 0x6f, 0x40, 0xb4, 0x43, 0xbc, 0x77, 0x50, 0x63, 0xa4, 0x5b, 0x32, - 0xeb, 0xbe, 0xb2, 0xf7, 0xf5, 0xad, 0xd9, 0xaa, 0xff, 0xdd, 0x22, 0x68, 0x2f, 0x97, 0xbd, 0xff, 0xc6, 0xbc, 0xfa, - 0x7b, 0xc7, 0xab, 0x1b, 0x7f, 0x72, 0xcf, 0xdf, 0x60, 0x74, 0x02, 0x26, 0xb2, 0x1d, 0x7f, 0x33, 0xda, 0x36, 0x4e, - 0x79, 0x72, 0x2f, 0xff, 0xbf, 0x52, 0xa0, 0xbd, 0x9b, 0x57, 0xf6, 0xa6, 0xb8, 0xe5, 0x1d, 0x7b, 0xf9, 0xc2, 0xda, - 0x13, 0x0d, 0x42, 0xc9, 0x1b, 0xee, 0x06, 0x45, 0xc3, 0x9e, 0xf8, 0x82, 0x57, 0xb3, 0x37, 0xf3, 0xc9, 0x96, 0x1f, - 0xef, 0x88, 0x6f, 0x3a, 0x76, 0xc4, 0x17, 0xfe, 0x60, 0xd1, 0x7c, 0xab, 0x57, 0x3b, 0x77, 0x72, 0xa7, 0xd2, 0x3b, - 0x7e, 0xbc, 0x8f, 0x0f, 0xff, 0xed, 0x4a, 0xef, 0xbe, 0xbb, 0xd2, 0x76, 0x95, 0xbb, 0x3b, 0xdf, 0x74, 0x7c, 0x23, - 0x6b, 0x8d, 0xe1, 0x66, 0x46, 0xc1, 0x08, 0xd3, 0x16, 0xa6, 0x69, 0x10, 0x59, 0x8a, 0x45, 0x48, 0xd4, 0x28, 0x9d, - 0x13, 0x7d, 0x16, 0x74, 0x0a, 0xba, 0xb8, 0xd1, 0xdf, 0xf2, 0x31, 0xbb, 0x31, 0x2e, 0x9b, 0xb7, 0x57, 0x37, 0x93, - 0xc1, 0xe0, 0xd6, 0xdf, 0xdf, 0xf1, 0x70, 0x76, 0x3b, 0x67, 0xd7, 0xfc, 0x8e, 0xd6, 0xd3, 0x44, 0x35, 0xbe, 0x78, - 0x48, 0x02, 0xbb, 0xf5, 0xfd, 0x89, 0x45, 0x04, 0x6b, 0xdf, 0x38, 0x6f, 0xfd, 0x81, 0x34, 0x4b, 0xcb, 0xad, 0xfd, - 0xfd, 0xc3, 0x1a, 0x8a, 0x5b, 0x10, 0x32, 0xde, 0xdb, 0x2a, 0x87, 0xcf, 0xfc, 0xa3, 0x77, 0xed, 0x4f, 0xaf, 0x75, - 0xf0, 0xcd, 0x44, 0x9d, 0x4b, 0x9f, 0x2f, 0x9e, 0xb2, 0xdf, 0xf8, 0x1b, 0x79, 0xa6, 0xbc, 0x13, 0x72, 0xda, 0x7e, - 0x42, 0x12, 0x27, 0x3a, 0x2a, 0xbe, 0xba, 0x89, 0x04, 0x0a, 0x01, 0xbb, 0xc2, 0xd7, 0x9a, 0xdf, 0x4f, 0xca, 0xa9, - 0xb7, 0x03, 0x92, 0x57, 0x6e, 0x2b, 0xa2, 0x6f, 0x39, 0xe7, 0x37, 0xc3, 0xcb, 0xe9, 0xd7, 0x6e, 0xdf, 0x1e, 0x15, - 0xd6, 0xa6, 0x22, 0xde, 0x6e, 0x31, 0x08, 0xeb, 0x64, 0x66, 0x99, 0x4b, 0xbe, 0xf4, 0xb5, 0x36, 0x73, 0x8f, 0xe9, - 0x1d, 0x67, 0x9a, 0x21, 0xa3, 0x2f, 0x30, 0x33, 0x1d, 0x0e, 0xcb, 0x73, 0x2c, 0x8f, 0x0f, 0x3f, 0x3f, 0xf9, 0x30, - 0xf8, 0x80, 0x21, 0x5c, 0x56, 0x58, 0xc8, 0x57, 0x3e, 0xcc, 0xea, 0xd6, 0xb5, 0xe3, 0xe2, 0xe9, 0xf0, 0x05, 0xe4, - 0x0d, 0xba, 0x1e, 0x9a, 0x22, 0x5a, 0xe5, 0x77, 0x14, 0x7d, 0xa2, 0xe4, 0xa0, 0xe3, 0x09, 0xd4, 0x0e, 0xb9, 0x70, - 0xbf, 0x3e, 0xe1, 0xa0, 0xe8, 0xc0, 0x52, 0xfb, 0xfd, 0xf3, 0x37, 0x44, 0x28, 0x0d, 0xe3, 0xfd, 0x22, 0x8c, 0xfe, - 0x8c, 0xcb, 0x62, 0x0d, 0x47, 0xec, 0x00, 0x3e, 0xf7, 0x44, 0x5f, 0xc3, 0x96, 0xbe, 0xef, 0x07, 0xde, 0x96, 0xbf, - 0x65, 0x5f, 0xb9, 0x77, 0x39, 0xfc, 0xec, 0x3f, 0xf9, 0x00, 0xf2, 0x13, 0xe2, 0xa4, 0x60, 0x48, 0x6c, 0x47, 0x31, - 0x6a, 0x1d, 0x7e, 0xa9, 0x21, 0x56, 0xeb, 0x0d, 0x52, 0x77, 0x41, 0xfa, 0x07, 0x85, 0xec, 0x27, 0x04, 0x56, 0x93, - 0xf4, 0x29, 0x30, 0x89, 0x6f, 0x6b, 0x48, 0x20, 0x4d, 0x0b, 0xc4, 0xe0, 0x40, 0xf1, 0xa9, 0xe0, 0x5f, 0x87, 0x5f, - 0x48, 0xfe, 0xbb, 0xa9, 0xf9, 0x18, 0xfe, 0x86, 0xa1, 0x99, 0x54, 0xf7, 0x69, 0x1d, 0x25, 0x5e, 0x0d, 0xa7, 0x5e, - 0x58, 0x09, 0x75, 0x32, 0x04, 0xa9, 0x18, 0x72, 0x21, 0x2e, 0x9e, 0x4e, 0x6e, 0x4b, 0x11, 0xfe, 0x39, 0xc1, 0x67, - 0x72, 0xa5, 0xc9, 0x67, 0xf4, 0xa4, 0x91, 0x05, 0xdc, 0xcb, 0xf7, 0x65, 0xaf, 0x06, 0x37, 0xf5, 0x90, 0xdf, 0xd6, - 0xee, 0xfb, 0x72, 0x4e, 0xd0, 0x23, 0xfb, 0x01, 0xcd, 0xc1, 0x40, 0xcd, 0x40, 0xca, 0x10, 0xdc, 0xc2, 0xa5, 0xdf, - 0x53, 0x05, 0xf9, 0xf2, 0x7b, 0x5f, 0x84, 0x0c, 0x5c, 0xb9, 0x21, 0x4c, 0xb9, 0x54, 0x48, 0x81, 0xe3, 0xb6, 0x1e, - 0x7c, 0xd1, 0xe8, 0x24, 0x12, 0x7c, 0x4a, 0x40, 0x92, 0xb4, 0x3c, 0x90, 0x34, 0x62, 0x3a, 0x10, 0x17, 0x4a, 0xd3, - 0xac, 0xa4, 0x88, 0x43, 0xec, 0xaa, 0xd7, 0x48, 0x78, 0x16, 0xbc, 0x67, 0xb0, 0x76, 0xa4, 0x68, 0xf1, 0xd5, 0x98, - 0x8e, 0x75, 0xd8, 0xd0, 0x52, 0x16, 0xf7, 0x9b, 0xa4, 0x4e, 0x23, 0x71, 0xe5, 0x9d, 0x90, 0x3f, 0xff, 0xa9, 0x44, - 0x20, 0xbd, 0xab, 0x81, 0x18, 0x04, 0x3f, 0x40, 0xff, 0x01, 0x8b, 0x1c, 0x04, 0xa5, 0xba, 0x0c, 0xf3, 0x2a, 0xa3, - 0x02, 0x67, 0x3b, 0xb6, 0x9d, 0x33, 0x55, 0xb7, 0xe0, 0x8b, 0x30, 0x0c, 0x69, 0x67, 0xab, 0xe6, 0xe4, 0x56, 0x6f, - 0xa0, 0x9e, 0x49, 0x1c, 0xa9, 0xa5, 0x38, 0xd2, 0xd6, 0xdc, 0xa7, 0x0b, 0xaf, 0x5b, 0x5e, 0xd0, 0x70, 0x01, 0x7a, - 0x51, 0xba, 0xeb, 0x7c, 0x42, 0xa1, 0xcb, 0x6a, 0x5c, 0x0d, 0x45, 0x1d, 0xca, 0x31, 0xd6, 0xfe, 0x5c, 0xc9, 0xf3, - 0x3b, 0xb0, 0x1e, 0xa1, 0xe1, 0xab, 0x52, 0x07, 0xb1, 0xfd, 0x44, 0xef, 0x3a, 0x95, 0xfa, 0x1b, 0x00, 0x06, 0x4e, - 0x1d, 0x0f, 0xf5, 0x51, 0x3b, 0x85, 0x6c, 0xe7, 0xde, 0x12, 0xa3, 0x72, 0x25, 0x3c, 0x55, 0x5a, 0x9e, 0x52, 0x56, - 0x7d, 0x2d, 0xb8, 0x95, 0xdd, 0x67, 0x03, 0xc8, 0x68, 0x83, 0x02, 0x79, 0x46, 0x6d, 0x8d, 0x07, 0xa9, 0xa6, 0x59, - 0xe2, 0x18, 0x3e, 0x28, 0xd2, 0xac, 0x02, 0x8b, 0x97, 0xb9, 0x64, 0x0e, 0x0a, 0x96, 0xeb, 0xcd, 0x66, 0x9a, 0xa9, - 0xbe, 0xc8, 0xed, 0x8d, 0xc6, 0xcb, 0xf4, 0xdf, 0x2c, 0x19, 0xf0, 0xe8, 0xe2, 0xa9, 0x1f, 0x40, 0x9a, 0xa4, 0x78, - 0x80, 0x24, 0xd8, 0x1e, 0xec, 0x62, 0x87, 0x61, 0xab, 0x58, 0xd9, 0x93, 0xa7, 0xcb, 0x1d, 0x9a, 0x72, 0x09, 0x2e, - 0x39, 0x31, 0x97, 0x53, 0xdf, 0x97, 0xac, 0x37, 0x14, 0xa7, 0x6c, 0x9a, 0x80, 0x92, 0x40, 0xbb, 0x05, 0xff, 0x85, - 0x4f, 0x0d, 0x9d, 0x16, 0x60, 0xa9, 0xed, 0x06, 0xfc, 0x17, 0xfa, 0xc5, 0x76, 0x17, 0xf5, 0x03, 0xf3, 0x60, 0x6f, - 0x16, 0x57, 0xc6, 0x80, 0x93, 0xc4, 0x95, 0xe6, 0x91, 0xeb, 0x07, 0x45, 0x9f, 0x2e, 0x6b, 0x07, 0xce, 0x14, 0x17, - 0x56, 0xa9, 0x4d, 0xd2, 0x6b, 0xbf, 0xa5, 0x26, 0xde, 0x44, 0x49, 0x55, 0xd8, 0x0e, 0x69, 0xff, 0x92, 0x72, 0xa6, - 0x8a, 0x3b, 0x44, 0x4f, 0x76, 0x13, 0x57, 0x81, 0x17, 0x56, 0x15, 0x1b, 0xa1, 0x36, 0x23, 0xcb, 0x09, 0x9c, 0xee, - 0xb1, 0xba, 0xe0, 0x63, 0xbb, 0x9a, 0x5d, 0xb0, 0x92, 0xad, 0x99, 0x74, 0x9f, 0xb7, 0x63, 0x2e, 0xe4, 0x95, 0x5e, - 0x16, 0xad, 0x80, 0xf6, 0x20, 0x70, 0xf8, 0x85, 0xa6, 0x7b, 0xf4, 0x6c, 0xb3, 0x4d, 0x6d, 0x36, 0xb6, 0x16, 0x21, - 0x64, 0x20, 0x1a, 0xfa, 0x42, 0xce, 0x28, 0xf2, 0x55, 0x5a, 0xae, 0xd5, 0xc6, 0x2a, 0xe3, 0x05, 0x26, 0x82, 0x0c, - 0x67, 0xe1, 0x1d, 0x7a, 0x5a, 0x8f, 0x34, 0xc5, 0x24, 0x38, 0xe9, 0xe2, 0x2f, 0xc0, 0x86, 0xf2, 0x24, 0x37, 0x07, - 0xe4, 0x00, 0x2a, 0x97, 0xa2, 0x54, 0xca, 0xe0, 0x37, 0xea, 0x8e, 0x6c, 0xab, 0xfe, 0x3b, 0x0d, 0x64, 0x70, 0x07, - 0xfa, 0xb6, 0x17, 0x5a, 0x3b, 0xda, 0xb9, 0xb2, 0x35, 0x6d, 0x8b, 0x34, 0x8f, 0x91, 0xc5, 0x06, 0x90, 0x4f, 0xa4, - 0x73, 0x20, 0xf2, 0x9a, 0x68, 0xbc, 0xb3, 0x67, 0x7c, 0x3c, 0x15, 0x0f, 0xc9, 0x7b, 0x95, 0xef, 0x9b, 0x7b, 0x7d, - 0x30, 0xc6, 0xbe, 0x05, 0x65, 0xe2, 0x83, 0xd5, 0xd6, 0xba, 0xc4, 0x7a, 0xab, 0x34, 0x89, 0x6e, 0xb8, 0x82, 0x8e, - 0x23, 0x71, 0x83, 0x18, 0x1c, 0x33, 0x5e, 0x5b, 0x65, 0xe9, 0x2b, 0x2c, 0x73, 0x1d, 0xb3, 0x64, 0xc8, 0xa4, 0xce, - 0x13, 0x05, 0x4f, 0x7e, 0x9e, 0x90, 0x8c, 0x88, 0x9a, 0x6d, 0x39, 0x4a, 0xb9, 0x69, 0x01, 0x97, 0x19, 0x19, 0xc0, - 0x37, 0x69, 0x02, 0x50, 0x2e, 0x5f, 0x82, 0x54, 0x1a, 0x22, 0xb8, 0x66, 0x7b, 0xc9, 0xe8, 0xd6, 0xd1, 0x3a, 0xa8, - 0x92, 0xcc, 0x1d, 0x9c, 0xdb, 0x59, 0xa4, 0xd4, 0x9b, 0x8f, 0x30, 0xec, 0xe4, 0x43, 0x58, 0x27, 0xf8, 0x6d, 0x40, - 0x4d, 0xfa, 0x5c, 0x78, 0xd1, 0x08, 0xd0, 0xd4, 0x77, 0xaa, 0x8c, 0xcf, 0x85, 0x97, 0x8d, 0xb6, 0x2c, 0xa3, 0x14, - 0xaa, 0x0b, 0x66, 0xb7, 0xa6, 0x0b, 0x31, 0xaf, 0xaa, 0x81, 0x36, 0xc8, 0xed, 0x3a, 0x66, 0x40, 0xa3, 0xb6, 0x2b, - 0x8f, 0x2c, 0xc0, 0xad, 0x99, 0x08, 0x8c, 0x9c, 0x7f, 0x9f, 0x5f, 0xab, 0x70, 0x9e, 0x7e, 0x3f, 0xf4, 0xf6, 0xdb, - 0x20, 0x1a, 0x6d, 0x2f, 0xd9, 0x2e, 0x88, 0x46, 0xbb, 0xcb, 0x86, 0xd1, 0xef, 0xa7, 0xf4, 0xfb, 0x69, 0x03, 0xaa, - 0x12, 0x61, 0x22, 0xee, 0xf5, 0x1b, 0xb5, 0x7c, 0xa5, 0xd6, 0xef, 0xd4, 0xf2, 0xa5, 0x1a, 0xde, 0xda, 0x93, 0x48, - 0x10, 0x59, 0x1a, 0x9b, 0x7b, 0xc9, 0x96, 0x6a, 0xa9, 0x74, 0x8c, 0x2a, 0x23, 0x6a, 0xe9, 0x6c, 0x8e, 0x15, 0x23, - 0xed, 0x1c, 0x94, 0x0c, 0xc8, 0xb4, 0xb8, 0xaa, 0x31, 0xdd, 0xac, 0x68, 0x89, 0xc9, 0x08, 0x2b, 0xdb, 0xf2, 0x76, - 0x93, 0xaa, 0xe9, 0x9c, 0xdc, 0xdc, 0x2a, 0xe5, 0xe6, 0x56, 0xf0, 0xfc, 0x1b, 0xba, 0xe5, 0x92, 0x6b, 0x2f, 0xb3, - 0x69, 0xa1, 0x74, 0xcb, 0xb8, 0x06, 0x5b, 0xfb, 0x26, 0x90, 0x65, 0x3e, 0x50, 0xd4, 0xd8, 0x5e, 0x34, 0xca, 0x37, - 0xc8, 0x56, 0xc4, 0xa8, 0x53, 0x16, 0x8c, 0xbf, 0xdd, 0xd1, 0x03, 0x19, 0xa8, 0xaa, 0x6a, 0xe3, 0xe0, 0xce, 0x4a, - 0x7f, 0x58, 0x5e, 0x3c, 0x65, 0x89, 0x95, 0x4e, 0x2e, 0x54, 0xa1, 0x3f, 0x08, 0xd1, 0x4d, 0x65, 0xc3, 0xc1, 0xa1, - 0x2e, 0xb6, 0x32, 0x20, 0xf4, 0x30, 0xbd, 0xb7, 0xb1, 0x92, 0xe5, 0xae, 0x29, 0x5f, 0xcc, 0x78, 0xc2, 0x71, 0xf4, - 0xe5, 0x6a, 0x11, 0xd6, 0x6a, 0x91, 0x9d, 0x00, 0x0f, 0xad, 0xd5, 0x52, 0xc8, 0xd5, 0x22, 0x9c, 0x99, 0x2e, 0xd4, - 0x4c, 0xcf, 0x40, 0x01, 0x29, 0xd4, 0x2c, 0x4f, 0x00, 0x16, 0x5e, 0x98, 0x19, 0x2e, 0xcc, 0x0c, 0xc7, 0x21, 0x35, - 0xfe, 0x0f, 0x7a, 0xaf, 0x73, 0xcf, 0x2d, 0x77, 0xa3, 0xd3, 0x88, 0x6f, 0x47, 0x1b, 0xcc, 0xf1, 0x41, 0x38, 0xa9, - 0xfa, 0xfd, 0xb4, 0x44, 0xac, 0x1e, 0x03, 0x23, 0x28, 0x87, 0xca, 0xd1, 0x7e, 0x59, 0x58, 0x92, 0x25, 0x61, 0x49, - 0xee, 0xd5, 0x38, 0x97, 0x96, 0x8b, 0x57, 0x49, 0x20, 0x12, 0x19, 0x2f, 0xa5, 0x09, 0x3e, 0xe1, 0xe5, 0xc8, 0x48, - 0xcd, 0x93, 0x9b, 0xd4, 0xcb, 0x59, 0xc6, 0xc6, 0x88, 0x61, 0x14, 0xfa, 0x4d, 0xd5, 0xef, 0xe7, 0xa5, 0x97, 0x53, - 0x3b, 0x3f, 0x83, 0xeb, 0xe5, 0xa9, 0xb3, 0xc8, 0x11, 0xf2, 0x6a, 0x24, 0x15, 0x96, 0xd7, 0x4a, 0x3d, 0x7d, 0x09, - 0x3e, 0xa8, 0xbb, 0x37, 0x0a, 0x80, 0xb8, 0xc8, 0xa5, 0x7f, 0x6d, 0x09, 0x97, 0xa6, 0xdc, 0xc0, 0xa0, 0x87, 0x3c, - 0x27, 0x21, 0x54, 0x82, 0x90, 0x14, 0xd6, 0x8d, 0xfb, 0xe2, 0xe9, 0xc4, 0x75, 0x67, 0xb1, 0x81, 0x09, 0x0e, 0x07, - 0x40, 0x3c, 0x98, 0x7a, 0xd1, 0x80, 0x97, 0x6a, 0xce, 0x7c, 0xf4, 0x72, 0x82, 0xc9, 0x00, 0x55, 0xc5, 0xc0, 0x29, - 0xeb, 0x89, 0x7c, 0x64, 0xdc, 0xcc, 0x7c, 0x3f, 0xc0, 0x77, 0xeb, 0x42, 0xa2, 0x3f, 0x28, 0x80, 0x82, 0x4c, 0x01, - 0x14, 0x24, 0x06, 0xa0, 0x20, 0x36, 0x00, 0x05, 0x9b, 0x86, 0x2f, 0xa5, 0x0e, 0x37, 0x02, 0xba, 0x08, 0x1f, 0x7a, - 0x16, 0x36, 0x56, 0x28, 0x9e, 0x8d, 0xd9, 0x98, 0x15, 0x6a, 0xe7, 0xc9, 0xe5, 0x54, 0xec, 0x2c, 0xc6, 0xba, 0x8a, - 0xac, 0x13, 0x2f, 0x24, 0x14, 0x39, 0xe7, 0x46, 0xa2, 0xee, 0x7e, 0xee, 0xbd, 0x24, 0x63, 0xc9, 0xbc, 0xa1, 0x51, - 0x83, 0x79, 0xd9, 0x75, 0x00, 0xd3, 0x92, 0x6f, 0x0b, 0x1a, 0x4c, 0xa7, 0xca, 0x23, 0xd2, 0x24, 0xa8, 0x9d, 0xcb, - 0xa4, 0xc8, 0x09, 0x61, 0x12, 0xf4, 0x4a, 0xf0, 0x1b, 0x89, 0xf2, 0xff, 0x4d, 0x27, 0x78, 0x80, 0x63, 0xa2, 0x55, - 0xf2, 0x15, 0x0c, 0x98, 0x39, 0x7f, 0x2e, 0x9d, 0xb2, 0x11, 0x8a, 0xb1, 0x4c, 0xe3, 0xd1, 0x57, 0x36, 0x44, 0x68, - 0xab, 0xe7, 0x68, 0x62, 0x82, 0x3a, 0xc0, 0x23, 0xfa, 0x6b, 0xf4, 0xd5, 0x50, 0xa8, 0x74, 0x35, 0x52, 0xd7, 0xec, - 0x9c, 0xf3, 0x77, 0xb5, 0xe1, 0x44, 0xc6, 0xb4, 0x29, 0xf0, 0x0d, 0x08, 0xe4, 0x1b, 0x08, 0x00, 0x57, 0x4d, 0x67, - 0xf6, 0x0a, 0xe0, 0x1c, 0x08, 0xe0, 0x71, 0xde, 0xf1, 0xf8, 0x81, 0xfe, 0x2a, 0x8e, 0x7b, 0xa7, 0x69, 0xd8, 0xfe, - 0x2b, 0x30, 0x16, 0x43, 0x39, 0x9e, 0xef, 0x14, 0x24, 0x7b, 0x94, 0xb2, 0x74, 0xd5, 0x44, 0x76, 0x28, 0xd6, 0xa7, - 0x39, 0x65, 0x2c, 0x6d, 0xcb, 0x31, 0xda, 0x78, 0xfd, 0x10, 0x8f, 0x6f, 0x6e, 0xf4, 0xe4, 0x83, 0x1e, 0xdc, 0xde, - 0x5e, 0xbf, 0xec, 0x31, 0x9b, 0x6f, 0xc5, 0xe2, 0x59, 0x11, 0x27, 0x4e, 0xeb, 0x90, 0x03, 0x1c, 0xe4, 0x24, 0x04, - 0xd2, 0x31, 0x2e, 0xb5, 0xe8, 0xa0, 0x66, 0x39, 0xaf, 0x81, 0x65, 0x16, 0x41, 0x36, 0x40, 0x54, 0xd3, 0x54, 0xac, - 0x86, 0x07, 0xa5, 0x6a, 0x4e, 0xa9, 0xd4, 0xbe, 0xe1, 0x6c, 0x75, 0xfa, 0xc4, 0xaa, 0x4d, 0xb8, 0xf5, 0x6f, 0xb5, - 0x27, 0x68, 0x2b, 0x69, 0x20, 0xd4, 0xf3, 0x65, 0xba, 0xa4, 0x28, 0x1e, 0x67, 0x26, 0x9e, 0xaa, 0xc0, 0xd8, 0xb7, - 0x76, 0x04, 0x05, 0x49, 0xd3, 0x75, 0xc0, 0x61, 0x1a, 0x9d, 0xb0, 0xf8, 0xa7, 0xf4, 0xa1, 0xbc, 0xa8, 0x15, 0x38, - 0xc9, 0x3f, 0x84, 0x8b, 0x48, 0x62, 0xa1, 0x5f, 0x12, 0x00, 0x89, 0x0c, 0x5e, 0x8d, 0x8a, 0xb5, 0x50, 0x01, 0x72, - 0x8a, 0xd2, 0x5b, 0xc5, 0xc7, 0xa5, 0x28, 0x55, 0x4a, 0x65, 0x6e, 0x54, 0x0a, 0x08, 0x6b, 0x03, 0x47, 0x17, 0xf0, - 0x05, 0x04, 0xad, 0xe5, 0x6e, 0x6d, 0x7b, 0xde, 0xc8, 0x7c, 0x66, 0x9a, 0xa7, 0xd5, 0x07, 0xf5, 0xf7, 0xfb, 0x05, - 0x86, 0xd9, 0x78, 0xfa, 0xfb, 0x36, 0x43, 0xb8, 0xf9, 0x1b, 0x86, 0x68, 0x09, 0xe0, 0x98, 0xa5, 0x3d, 0x14, 0xb2, - 0x60, 0x82, 0x35, 0x54, 0xe5, 0x29, 0x9f, 0xbd, 0x7c, 0x72, 0x03, 0x68, 0x6a, 0xe8, 0xe2, 0x46, 0xa7, 0xba, 0x2a, - 0x41, 0xf8, 0xbe, 0x2b, 0xd4, 0x63, 0x73, 0xc0, 0xa9, 0x01, 0xa0, 0x58, 0xe4, 0xb5, 0x1e, 0xdb, 0x3f, 0xe8, 0x8d, - 0x7a, 0x03, 0xc4, 0xd3, 0x39, 0x2f, 0xfc, 0x23, 0xfa, 0x75, 0xea, 0xcf, 0xb8, 0x10, 0x44, 0xbd, 0x9e, 0x84, 0x77, - 0xe2, 0x2c, 0x8d, 0x83, 0xb3, 0xde, 0xc0, 0x5c, 0x04, 0x8a, 0xb3, 0x34, 0x3f, 0x03, 0xb1, 0x1c, 0xe1, 0x11, 0x6b, - 0xb6, 0x02, 0xc4, 0xc0, 0x52, 0x87, 0x24, 0xab, 0x8e, 0xed, 0xf7, 0x5f, 0x8d, 0x0c, 0x6f, 0x3a, 0x22, 0xc2, 0xe8, - 0xdf, 0x15, 0x08, 0x50, 0xb0, 0xcc, 0x6c, 0x67, 0x26, 0x5d, 0xed, 0x59, 0x3d, 0x6f, 0x36, 0x79, 0x57, 0xef, 0x58, - 0x4d, 0xcb, 0xa9, 0x69, 0x95, 0xd5, 0xb4, 0x49, 0x0e, 0x35, 0x13, 0xfd, 0xbe, 0xc6, 0x47, 0xcd, 0xe7, 0x80, 0xcb, - 0x86, 0xc9, 0xaf, 0x66, 0xd5, 0xbc, 0xdf, 0xf7, 0xe4, 0x23, 0xf8, 0x85, 0xc4, 0x65, 0x6e, 0x8d, 0xe5, 0xd3, 0xd7, - 0xc4, 0x67, 0x66, 0x10, 0x8f, 0x56, 0x47, 0x50, 0x5f, 0x9f, 0x84, 0xd7, 0x31, 0x57, 0xd8, 0x4c, 0x4c, 0x5f, 0xc1, - 0xe0, 0x79, 0xc2, 0x07, 0x6f, 0x39, 0xfa, 0x1b, 0xe9, 0xcc, 0x14, 0x2c, 0xe4, 0xdc, 0x9f, 0xbc, 0x42, 0xe8, 0x64, - 0x44, 0x7a, 0xd0, 0xe9, 0x04, 0x0d, 0xd9, 0xef, 0xdf, 0x42, 0x67, 0xb6, 0x52, 0x29, 0x5b, 0x15, 0x95, 0xe9, 0xba, - 0x2e, 0xca, 0x0a, 0x3a, 0x96, 0x7e, 0xde, 0x0a, 0x99, 0x59, 0x3f, 0xb3, 0x90, 0x9f, 0x6e, 0x25, 0xd6, 0x94, 0x6d, - 0x9f, 0xa8, 0x0d, 0xd2, 0xac, 0x0b, 0xd5, 0x05, 0xce, 0x9d, 0xb5, 0xd7, 0x1b, 0xa1, 0xfe, 0x39, 0x1f, 0xad, 0x8b, - 0xb5, 0x07, 0x2e, 0x31, 0xb3, 0x74, 0xae, 0x38, 0x34, 0x72, 0x7f, 0xf4, 0xa5, 0x48, 0x73, 0xca, 0x03, 0x34, 0x88, - 0x62, 0x6e, 0xbf, 0x05, 0xd2, 0x0f, 0xbd, 0x05, 0xb2, 0x8f, 0xce, 0x39, 0x79, 0x05, 0xe0, 0x74, 0x88, 0x88, 0x5b, - 0x91, 0xa0, 0x63, 0xd5, 0xf0, 0xc6, 0xc2, 0x3d, 0xed, 0xa5, 0x71, 0x2f, 0xcd, 0xcf, 0xd2, 0x7e, 0xdf, 0x00, 0x68, - 0xa6, 0x88, 0x0c, 0x8f, 0x33, 0x72, 0x97, 0xb4, 0x10, 0x4c, 0x69, 0xff, 0xd5, 0x18, 0x12, 0x04, 0x02, 0xfe, 0x0f, - 0xe1, 0x7d, 0x00, 0xb4, 0x4d, 0xda, 0x80, 0xab, 0x1e, 0xd3, 0x81, 0xd9, 0x92, 0xb3, 0x55, 0x67, 0x03, 0x50, 0x4e, - 0x95, 0xd6, 0x53, 0x1e, 0xd7, 0x14, 0x11, 0xa9, 0xb2, 0x50, 0xbf, 0xb1, 0x9e, 0x4c, 0x56, 0xb9, 0xc8, 0x90, 0xa3, - 0x32, 0xbd, 0xab, 0x19, 0x21, 0x76, 0xe9, 0xe7, 0x37, 0xb0, 0x64, 0xe3, 0x8f, 0x38, 0x79, 0x4b, 0x80, 0xb4, 0x9d, - 0xb5, 0xab, 0x6a, 0x97, 0xe3, 0xd6, 0x6e, 0x0e, 0x48, 0xbe, 0xde, 0x68, 0x34, 0xd2, 0x7e, 0x72, 0x02, 0x86, 0xaa, - 0xa7, 0x96, 0x42, 0x8f, 0xd5, 0x0a, 0x5b, 0xb7, 0x23, 0x97, 0x59, 0x32, 0x98, 0x2f, 0x8c, 0xe3, 0x6b, 0xf3, 0xd1, - 0x87, 0x4b, 0x65, 0xed, 0x3a, 0xe2, 0xeb, 0x3f, 0xca, 0x6a, 0x7d, 0xcf, 0xbb, 0xaa, 0x09, 0xf8, 0xa2, 0x8a, 0x2d, - 0xfd, 0x8e, 0xf7, 0x64, 0xef, 0xe2, 0x6b, 0x9f, 0xb0, 0x4b, 0xbe, 0xe7, 0x2d, 0xea, 0x3c, 0x5f, 0xf9, 0xba, 0x51, - 0xa5, 0xdb, 0x7b, 0xc9, 0x0d, 0xae, 0xbd, 0xa3, 0xa6, 0xb1, 0x9e, 0xf9, 0xd1, 0xc3, 0x22, 0x64, 0x3b, 0x1f, 0x7a, - 0x5f, 0x35, 0x4f, 0xcf, 0x1a, 0x7a, 0x93, 0x1a, 0xfa, 0xd0, 0x8b, 0xb2, 0x7d, 0x6a, 0x1a, 0xd1, 0x6b, 0xd8, 0xd0, - 0x87, 0xde, 0x92, 0x93, 0x43, 0x82, 0xc1, 0xa9, 0x31, 0x7f, 0x78, 0x38, 0x9d, 0xe1, 0xef, 0x18, 0x50, 0x89, 0xc9, - 0x7c, 0x7a, 0x4c, 0x3b, 0x0a, 0x30, 0xa3, 0x4a, 0x6f, 0x9f, 0x1e, 0xd8, 0x8e, 0x97, 0xf5, 0xd0, 0xd2, 0xbb, 0x27, - 0x47, 0xb7, 0xe3, 0x55, 0x35, 0xbe, 0x94, 0x43, 0x9e, 0xe7, 0xb3, 0xd1, 0x68, 0x24, 0x0c, 0x3a, 0x77, 0xa5, 0x37, - 0xb0, 0x02, 0x19, 0x5c, 0x54, 0x1f, 0xca, 0xa5, 0xb7, 0x53, 0x87, 0x76, 0xe5, 0x4f, 0xf2, 0xc3, 0xa1, 0x18, 0x99, - 0x63, 0x1c, 0x70, 0x4e, 0x0a, 0x25, 0x47, 0xc9, 0x5a, 0x82, 0xe8, 0x94, 0xc6, 0x53, 0x59, 0xaf, 0xad, 0x88, 0xbc, - 0x1a, 0x21, 0x1f, 0x82, 0x9f, 0x3c, 0x50, 0x8b, 0x3f, 0xd3, 0x82, 0xd8, 0x43, 0x9f, 0x2a, 0xa5, 0x43, 0xbc, 0x2a, - 0x20, 0x44, 0x18, 0xf0, 0x06, 0xda, 0x41, 0x09, 0x0e, 0x3b, 0xdc, 0x23, 0x44, 0x88, 0x7e, 0xe9, 0xe5, 0x33, 0x19, - 0xae, 0xdc, 0x1b, 0x54, 0x73, 0x06, 0x88, 0x95, 0x3e, 0x03, 0x17, 0x4c, 0x40, 0x3d, 0xc5, 0xa7, 0xe8, 0x5f, 0x6f, - 0x1e, 0x36, 0x5d, 0x9f, 0x96, 0x80, 0x8a, 0xe8, 0xd9, 0xcf, 0xc7, 0x00, 0xde, 0xd9, 0xb5, 0x19, 0x69, 0x2f, 0x7f, - 0x03, 0x0c, 0x2b, 0x25, 0x89, 0x76, 0x4e, 0x89, 0xc0, 0x9d, 0x8f, 0x6c, 0xe9, 0x47, 0x29, 0x10, 0x73, 0xc7, 0x93, - 0x44, 0xf6, 0x60, 0x23, 0x27, 0x70, 0x8b, 0x01, 0x8f, 0x0e, 0x40, 0xe5, 0x4a, 0x41, 0xee, 0x35, 0x47, 0x72, 0xc7, - 0x0f, 0xbd, 0x1f, 0x06, 0xf5, 0xe0, 0x87, 0xde, 0x59, 0x4a, 0x72, 0x47, 0x78, 0xa6, 0xa6, 0x84, 0x88, 0xcf, 0x7e, - 0x18, 0xe4, 0x03, 0x3c, 0x4b, 0xb4, 0x48, 0x8b, 0xdc, 0x6a, 0xa2, 0xc6, 0x4d, 0x78, 0x97, 0x48, 0x1a, 0xa2, 0x6d, - 0xe7, 0x11, 0x71, 0x03, 0x20, 0x59, 0x7c, 0x36, 0x6f, 0x28, 0xea, 0xdd, 0x84, 0x6f, 0xd1, 0x5d, 0x16, 0xfb, 0xfd, - 0x75, 0x9e, 0xd6, 0x3d, 0x1d, 0x2a, 0x83, 0x2f, 0x48, 0x35, 0x01, 0x1e, 0xed, 0x2f, 0xcd, 0xf1, 0xea, 0xd5, 0xe6, - 0x48, 0xb9, 0x51, 0x25, 0xea, 0xb7, 0x58, 0xcd, 0x7a, 0x88, 0xc8, 0x9d, 0x65, 0xc6, 0xde, 0x5e, 0xf0, 0x4a, 0xce, - 0xaa, 0xd8, 0x2e, 0xc7, 0x57, 0x84, 0xb5, 0x95, 0x04, 0xe8, 0x68, 0x3d, 0xd6, 0xa6, 0x18, 0xf9, 0x95, 0x42, 0x02, - 0x2e, 0x3a, 0xb6, 0x16, 0x8a, 0x8d, 0x17, 0xa0, 0x2f, 0xd9, 0x99, 0x06, 0x58, 0x6f, 0xf4, 0x2a, 0xe2, 0xb6, 0x7c, - 0xa0, 0xc2, 0x9b, 0xdc, 0x54, 0x99, 0x95, 0xcd, 0x4d, 0xbb, 0x9f, 0x2a, 0x5e, 0x21, 0x6e, 0xbd, 0x51, 0x7b, 0x14, - 0xa0, 0xf6, 0xd0, 0x42, 0x19, 0xa0, 0x4b, 0xd3, 0x0c, 0x00, 0x19, 0x00, 0x64, 0xaa, 0x88, 0xcf, 0x04, 0xa8, 0xb4, - 0xd5, 0x8d, 0x02, 0x27, 0xd2, 0x4b, 0x60, 0x5c, 0x60, 0xa5, 0x8f, 0x6c, 0x64, 0xb0, 0xd8, 0x22, 0xc0, 0x2d, 0x47, - 0xfa, 0x30, 0x0d, 0x27, 0xdb, 0x68, 0x0e, 0x93, 0x34, 0xbf, 0x0b, 0xb3, 0x54, 0x42, 0x4b, 0xbc, 0x96, 0x35, 0x46, - 0x2c, 0x20, 0x7d, 0x9f, 0xbe, 0x29, 0xb2, 0x98, 0x20, 0xe1, 0xac, 0xa7, 0x0e, 0xa0, 0x9a, 0x9c, 0x6b, 0x4d, 0xab, - 0x67, 0xb5, 0xc9, 0x43, 0x16, 0xe8, 0xec, 0xc1, 0x98, 0xd4, 0x72, 0x43, 0x8f, 0xec, 0xaf, 0x1c, 0xcf, 0x08, 0xdf, - 0xf5, 0x0c, 0xa7, 0xfe, 0xfb, 0x54, 0x03, 0x29, 0x53, 0x02, 0x08, 0x32, 0x38, 0x9a, 0x10, 0xca, 0xd3, 0x31, 0x99, - 0xda, 0xfc, 0x08, 0x84, 0x23, 0x82, 0x57, 0xf0, 0xdc, 0xd0, 0xba, 0xe5, 0xc6, 0xce, 0x22, 0x4f, 0x13, 0x40, 0x16, - 0x2f, 0xf8, 0x1d, 0x20, 0x73, 0xea, 0x55, 0x21, 0x7b, 0xf6, 0x5c, 0x4c, 0x67, 0xf3, 0xe0, 0xcf, 0x84, 0xf6, 0x2f, - 0x26, 0xfc, 0xa6, 0xbb, 0x4a, 0xae, 0x4c, 0xad, 0x7b, 0x13, 0x3d, 0xe6, 0x72, 0xa7, 0x4f, 0x2b, 0x8e, 0x11, 0xcf, - 0x60, 0x15, 0x90, 0x73, 0x36, 0xe4, 0xcf, 0xce, 0x01, 0xbb, 0x65, 0x25, 0xbc, 0x88, 0x3f, 0x0b, 0x65, 0xb5, 0x00, - 0xf9, 0x91, 0xf3, 0xc8, 0xfc, 0xf2, 0xd5, 0x76, 0x28, 0xe7, 0x14, 0x45, 0xb4, 0x9c, 0x9a, 0x96, 0x14, 0xb2, 0x43, - 0x4f, 0xc1, 0x64, 0x6a, 0xcb, 0xdf, 0x77, 0x89, 0x4b, 0xf2, 0xcd, 0x24, 0xb2, 0xaf, 0x03, 0xac, 0x59, 0xab, 0xee, - 0xa1, 0x1b, 0x82, 0x01, 0x22, 0x23, 0x94, 0xd9, 0x5c, 0xdf, 0xad, 0x07, 0x03, 0x05, 0xf3, 0x2b, 0xe8, 0xa6, 0x45, - 0xa7, 0x38, 0x40, 0xce, 0x5a, 0xd7, 0xa8, 0x54, 0x15, 0x87, 0x0e, 0xf3, 0x6e, 0x59, 0x95, 0x5d, 0x96, 0x5e, 0x08, - 0x52, 0xa3, 0xae, 0x82, 0x45, 0x4a, 0x45, 0x14, 0xef, 0xc9, 0xaf, 0x81, 0x89, 0x67, 0x56, 0x8e, 0xd2, 0x78, 0x0e, - 0x88, 0x41, 0x0a, 0x88, 0x53, 0x7e, 0x05, 0x68, 0xa2, 0x8b, 0x28, 0xcc, 0x5e, 0xc7, 0x55, 0x50, 0x5b, 0x4d, 0xbf, - 0x77, 0x20, 0x63, 0xcf, 0xeb, 0x7e, 0x3f, 0x25, 0x46, 0x3f, 0x8c, 0xc2, 0xc0, 0xbf, 0xc7, 0xd3, 0x7d, 0x13, 0xa4, - 0xe6, 0x95, 0x3f, 0xe1, 0x15, 0x5d, 0x6e, 0x6d, 0xca, 0x15, 0x8d, 0x0b, 0x7f, 0x8d, 0xe0, 0xf0, 0xa9, 0xa3, 0xd8, - 0x6e, 0x53, 0xe5, 0xd4, 0xc6, 0x60, 0x10, 0xc2, 0x7d, 0x2b, 0xe3, 0xf7, 0x89, 0x97, 0xcf, 0xa2, 0x39, 0x28, 0x4a, - 0x33, 0xcd, 0x17, 0x52, 0x48, 0x37, 0x01, 0xfa, 0x68, 0x10, 0x6a, 0x75, 0xe5, 0xa7, 0xc4, 0x4b, 0xd5, 0xb4, 0x36, - 0x4f, 0xb1, 0x46, 0x81, 0x98, 0x45, 0xf3, 0x86, 0x65, 0x74, 0x48, 0xaa, 0xcb, 0xa5, 0x69, 0xc6, 0x27, 0xab, 0x19, - 0xaa, 0x15, 0x47, 0x4d, 0x50, 0xa3, 0xf4, 0x09, 0x2e, 0x80, 0x3f, 0xd3, 0x1d, 0x47, 0x35, 0x8a, 0x14, 0x0d, 0xf8, - 0x04, 0x31, 0x62, 0xcd, 0xe6, 0x09, 0x6b, 0x4d, 0x5d, 0x33, 0xfa, 0x7d, 0x19, 0x32, 0x64, 0x92, 0x90, 0xa7, 0x0f, - 0x97, 0xeb, 0x47, 0x52, 0x5d, 0x00, 0xbf, 0x72, 0xc5, 0x66, 0xbd, 0xde, 0x1c, 0xe0, 0x7a, 0x61, 0xfd, 0xc2, 0xc6, - 0x15, 0x9c, 0x5f, 0x12, 0xfc, 0xae, 0xfa, 0x11, 0x66, 0x19, 0x54, 0x01, 0x19, 0x7f, 0x2c, 0x14, 0xf5, 0xbc, 0xc5, - 0xec, 0x3e, 0x52, 0x17, 0x94, 0x59, 0x3a, 0xb7, 0x38, 0x41, 0xc0, 0x79, 0x58, 0x3d, 0x81, 0x64, 0x5f, 0x3e, 0xf6, - 0x69, 0x46, 0x81, 0xea, 0x08, 0xf0, 0xd9, 0xac, 0x1f, 0xc2, 0xfe, 0x01, 0x91, 0x85, 0xfa, 0x9b, 0x6f, 0xe5, 0xac, - 0x21, 0x79, 0x20, 0xd5, 0xdc, 0xc7, 0x70, 0x6a, 0xdc, 0xe0, 0x4b, 0x37, 0xbd, 0xa9, 0xe0, 0x35, 0x21, 0x73, 0xdf, - 0xa0, 0xb5, 0xef, 0x06, 0x8e, 0x10, 0xc1, 0x65, 0x94, 0xe2, 0xb4, 0xb7, 0xeb, 0x05, 0xc8, 0x6d, 0x6e, 0x41, 0x5e, - 0x5f, 0xbb, 0xf8, 0xc5, 0x29, 0xd2, 0xb3, 0xe8, 0x02, 0x03, 0x5d, 0x90, 0x79, 0xe3, 0x9f, 0x15, 0xac, 0x5c, 0x40, - 0xef, 0xa5, 0x62, 0x25, 0x27, 0xdb, 0x4e, 0xfd, 0x51, 0x2a, 0xfb, 0xed, 0x99, 0x35, 0x81, 0xdf, 0x27, 0xf6, 0x4b, - 0x64, 0xf2, 0x4d, 0x8f, 0x4d, 0xbe, 0x32, 0x2c, 0x3a, 0xb5, 0x0c, 0xce, 0xe9, 0x91, 0xc1, 0xb9, 0xb7, 0xb3, 0x6a, - 0x13, 0xc2, 0x50, 0x90, 0x04, 0x9a, 0x2e, 0x3c, 0xac, 0x9b, 0xfe, 0xfc, 0xa4, 0x45, 0xb5, 0x55, 0xfb, 0xd6, 0xfd, - 0x38, 0xc4, 0x2e, 0x7e, 0x9f, 0x78, 0x86, 0x88, 0xd4, 0x07, 0x3a, 0x30, 0x19, 0x3c, 0x71, 0xd9, 0xef, 0x43, 0x61, - 0xb3, 0xf1, 0x7c, 0x54, 0x17, 0x6f, 0x8a, 0x7b, 0x40, 0x75, 0xa8, 0xc0, 0x2e, 0x87, 0x32, 0x94, 0x11, 0x9b, 0xda, - 0x72, 0xcf, 0x1f, 0xd7, 0x61, 0x0e, 0xf2, 0x8e, 0x86, 0xc7, 0x39, 0x03, 0x31, 0x0c, 0xbe, 0xfe, 0xc3, 0xa3, 0x7d, - 0xda, 0xfc, 0x70, 0x06, 0xdf, 0x1d, 0x9d, 0x7d, 0x40, 0xba, 0x9b, 0xb3, 0x75, 0x59, 0xdc, 0xa5, 0xb1, 0x38, 0xfb, - 0x01, 0x52, 0x7f, 0x38, 0x2b, 0xca, 0xb3, 0x1f, 0x54, 0x65, 0x7e, 0x38, 0xa3, 0x05, 0x37, 0xfa, 0xc3, 0x9a, 0x78, - 0xbf, 0x57, 0x9a, 0x01, 0x6d, 0x01, 0x91, 0x59, 0x5a, 0xfd, 0x08, 0x4a, 0x44, 0xc5, 0x8f, 0x2a, 0xa3, 0x5a, 0xad, - 0x1d, 0xe7, 0x51, 0xa2, 0x91, 0xb2, 0x69, 0x42, 0xe2, 0x6a, 0x09, 0xeb, 0x50, 0xcf, 0x4e, 0x9b, 0x6f, 0xc7, 0x79, - 0xa0, 0x0e, 0x88, 0x9c, 0x3f, 0xcb, 0x47, 0x5b, 0xfa, 0x1a, 0x7c, 0xeb, 0x70, 0xc8, 0x47, 0x3b, 0xf3, 0xd3, 0x27, - 0x6b, 0xa5, 0x8c, 0x3b, 0x52, 0xe4, 0x42, 0xc8, 0x19, 0xb7, 0xed, 0x31, 0xe0, 0x00, 0xf0, 0x0f, 0x07, 0xfa, 0xbd, - 0x93, 0xbf, 0xd5, 0x6e, 0x69, 0xd5, 0xf3, 0x43, 0x8b, 0x3b, 0xe3, 0x75, 0x6d, 0x88, 0xda, 0xf6, 0x12, 0x5b, 0x7a, - 0xdf, 0x34, 0xa8, 0x29, 0xa2, 0x9f, 0xb0, 0x9a, 0x58, 0xc5, 0x61, 0x41, 0x4a, 0x48, 0x62, 0x38, 0x46, 0x3b, 0xf4, - 0x38, 0x5d, 0x2c, 0x3d, 0xb9, 0xef, 0xf0, 0x72, 0xeb, 0xfb, 0x80, 0xa4, 0x55, 0x38, 0x7f, 0xe4, 0x85, 0x06, 0x1e, - 0xbd, 0xc8, 0xab, 0x22, 0x13, 0x23, 0x41, 0xa3, 0xfc, 0x9a, 0xc4, 0x99, 0x33, 0xac, 0xc5, 0x99, 0x02, 0x0b, 0x0b, - 0x09, 0xdd, 0xbb, 0x28, 0x29, 0x3d, 0x38, 0x7b, 0xb4, 0x2f, 0x9b, 0x3f, 0x08, 0x1e, 0x62, 0x74, 0x03, 0x8c, 0x38, - 0xbb, 0x76, 0x79, 0xf7, 0x61, 0x99, 0x7b, 0x7f, 0xbc, 0x5e, 0xe6, 0x05, 0x84, 0x68, 0x9e, 0x49, 0xc5, 0x6a, 0x79, - 0x06, 0x8c, 0x79, 0x22, 0x3e, 0x0b, 0x2b, 0x39, 0x0d, 0xaa, 0x8e, 0x62, 0xf5, 0x36, 0x9e, 0x7b, 0x40, 0xf1, 0xfd, - 0x28, 0x01, 0x2e, 0x77, 0x9f, 0xbd, 0x52, 0xae, 0xa9, 0xa4, 0x47, 0x9e, 0x43, 0xb4, 0xe4, 0x75, 0x02, 0x14, 0xcf, - 0x10, 0x27, 0x29, 0xac, 0x9e, 0x9b, 0x20, 0x15, 0xf9, 0xfa, 0x84, 0xe2, 0x8b, 0xe6, 0x51, 0xd4, 0xb0, 0x90, 0x25, - 0x70, 0x3c, 0x24, 0xb3, 0x6c, 0x8e, 0x2c, 0xe5, 0x69, 0x7b, 0x8a, 0x74, 0x74, 0x62, 0x89, 0xdf, 0xd6, 0xfc, 0x7a, - 0x91, 0x8a, 0xc0, 0xa4, 0x9d, 0xad, 0xcc, 0xbd, 0x10, 0x86, 0x2a, 0xe1, 0xde, 0xeb, 0x7a, 0x16, 0xca, 0x4d, 0xd1, - 0xaa, 0x98, 0x3d, 0x4c, 0x89, 0x19, 0xa6, 0x58, 0x7f, 0x61, 0xc3, 0xdf, 0x26, 0x5e, 0x0c, 0x86, 0xeb, 0x05, 0x2f, - 0x67, 0x1b, 0xb3, 0x10, 0x0e, 0x87, 0xcd, 0xa4, 0x98, 0x2d, 0x20, 0xcc, 0x75, 0x31, 0x3f, 0x1c, 0xba, 0x5a, 0xb6, - 0x16, 0x1e, 0x3c, 0x54, 0x2d, 0xdc, 0x34, 0x2c, 0x87, 0x9f, 0xc9, 0x2c, 0xc6, 0xf6, 0x35, 0x3e, 0xb3, 0x3f, 0x5f, - 0x74, 0xcf, 0x12, 0x24, 0xdf, 0x58, 0x03, 0xed, 0xd8, 0xac, 0xdd, 0xe1, 0x6a, 0x04, 0x24, 0xa5, 0xbb, 0xd1, 0xdf, - 0x95, 0x9d, 0x3c, 0x25, 0xc8, 0x1d, 0xad, 0xc0, 0x7e, 0xf7, 0x8d, 0x3f, 0xd1, 0x62, 0x0f, 0xda, 0x6d, 0x6c, 0x09, - 0x51, 0x4d, 0x7b, 0x2e, 0x57, 0x8a, 0xa5, 0x79, 0x2b, 0x6d, 0xf4, 0x7c, 0x58, 0x9f, 0xfb, 0x46, 0x0e, 0x14, 0x8c, - 0x11, 0x4f, 0xad, 0x83, 0x68, 0x36, 0x07, 0x1a, 0x0c, 0x34, 0x8f, 0xf0, 0xd4, 0x42, 0x07, 0x65, 0xd6, 0x86, 0xfd, - 0x3c, 0x39, 0x59, 0x1e, 0x87, 0x6f, 0xe1, 0x5f, 0x3e, 0xc3, 0x26, 0x31, 0xc5, 0xf6, 0xf8, 0x57, 0xa5, 0xa8, 0xf0, - 0xd8, 0x8e, 0xb8, 0xd6, 0x3e, 0x89, 0xda, 0x50, 0x39, 0xfc, 0x4b, 0xd8, 0x47, 0xd8, 0x5f, 0x68, 0x82, 0x30, 0xd8, - 0xf5, 0x67, 0x02, 0x21, 0x62, 0x21, 0x5e, 0xf0, 0xaf, 0x4a, 0x52, 0xd1, 0x09, 0x9f, 0xed, 0x4a, 0xe0, 0xad, 0xc3, - 0x80, 0x3e, 0x21, 0x3f, 0x13, 0x09, 0x43, 0x33, 0xa1, 0x77, 0xf4, 0xdf, 0x89, 0x9d, 0x6c, 0x92, 0x5b, 0x21, 0x1f, - 0x48, 0x2a, 0x09, 0x26, 0x58, 0x79, 0xa1, 0xfc, 0xd1, 0xbd, 0x50, 0x6a, 0xad, 0x05, 0xad, 0x5f, 0xfe, 0x3c, 0xf1, - 0x0c, 0xfe, 0x1e, 0xc8, 0x18, 0x74, 0x1b, 0x51, 0x4d, 0x72, 0x4c, 0x1f, 0xa5, 0xf3, 0x0c, 0x54, 0x40, 0x67, 0xeb, - 0x2c, 0xac, 0x17, 0x45, 0xb9, 0x6a, 0x45, 0x8a, 0xca, 0xd2, 0x47, 0xea, 0x31, 0xe6, 0x85, 0x79, 0x72, 0x22, 0x1f, - 0x3c, 0x02, 0x60, 0x3c, 0xca, 0xd3, 0xaa, 0xa3, 0xb4, 0x7e, 0x60, 0x19, 0x30, 0x02, 0x27, 0xca, 0x80, 0x47, 0x58, - 0x06, 0xe6, 0x69, 0x97, 0xa1, 0x06, 0xb1, 0x46, 0xd5, 0x95, 0xda, 0x60, 0x4e, 0x14, 0x25, 0x9f, 0x62, 0x69, 0x85, - 0x31, 0x34, 0x75, 0xe5, 0x91, 0xf5, 0x92, 0x13, 0xf6, 0x64, 0x37, 0x90, 0x6e, 0x61, 0xa3, 0x70, 0x06, 0x5d, 0xcb, - 0x12, 0xe5, 0xa2, 0x5b, 0x46, 0x94, 0x89, 0x90, 0xfa, 0xd9, 0xc3, 0x99, 0x56, 0xfb, 0x8d, 0x9d, 0xb4, 0x6f, 0x8f, - 0x14, 0xbd, 0x60, 0xd0, 0x3e, 0xed, 0x91, 0x52, 0xcf, 0x1a, 0xb9, 0x0c, 0x6c, 0xe9, 0x52, 0xd5, 0xf3, 0x5f, 0xa0, - 0x7c, 0x07, 0x33, 0xe3, 0x6c, 0xf6, 0x87, 0xde, 0xdc, 0x1e, 0xed, 0xeb, 0xe6, 0x0f, 0xd6, 0xeb, 0xc1, 0xd6, 0x20, - 0x13, 0x9f, 0x2b, 0x16, 0x2a, 0xab, 0x10, 0x2b, 0x48, 0xfb, 0x5f, 0xc2, 0xfb, 0x03, 0xde, 0x1a, 0xa1, 0x59, 0x19, - 0x0f, 0xf3, 0xd1, 0xa3, 0xbd, 0x68, 0xfe, 0xe8, 0x2c, 0xdb, 0xca, 0x55, 0xc9, 0x6c, 0x7f, 0x1c, 0x25, 0xcd, 0xd9, - 0xc3, 0x35, 0x92, 0x3a, 0xc0, 0x87, 0xeb, 0x33, 0x7c, 0xa0, 0x12, 0x4a, 0x2d, 0xa8, 0x6a, 0xd0, 0xfa, 0xd8, 0x1f, - 0xad, 0xe7, 0xf4, 0xf1, 0x63, 0x39, 0xdd, 0x92, 0x22, 0x8c, 0x1f, 0x18, 0x4c, 0xd9, 0x89, 0x53, 0x97, 0xbc, 0x19, - 0xd2, 0xbb, 0x6e, 0x95, 0xd4, 0x65, 0x8f, 0x12, 0x41, 0xa8, 0x83, 0xf5, 0x8b, 0xfd, 0x10, 0x66, 0xb6, 0xe8, 0x0f, - 0x9b, 0xd5, 0x9c, 0x00, 0x11, 0x01, 0xad, 0x55, 0xde, 0x07, 0x8e, 0xf9, 0xc2, 0xac, 0xb9, 0x21, 0xdd, 0x7a, 0x73, - 0xa5, 0xbd, 0x92, 0x02, 0xfa, 0x39, 0xc8, 0xdc, 0x3e, 0xba, 0xe5, 0xaa, 0x65, 0x9e, 0x4b, 0x5b, 0x0e, 0x58, 0xb4, - 0x10, 0xa8, 0xd9, 0xb9, 0x74, 0x38, 0x50, 0x10, 0xea, 0x4a, 0x54, 0x11, 0x57, 0x47, 0xd1, 0x42, 0xd4, 0x6a, 0xd5, - 0x2e, 0x27, 0x9b, 0x0a, 0xd9, 0x92, 0x08, 0x32, 0x4a, 0x31, 0x74, 0xe9, 0xa3, 0x5c, 0xed, 0x99, 0x86, 0x03, 0x34, - 0x01, 0x9b, 0x36, 0xf8, 0x5b, 0xe0, 0x5e, 0x06, 0x67, 0xa6, 0x7d, 0x1a, 0x46, 0xc0, 0x69, 0x0e, 0x31, 0x7f, 0x7e, - 0xd7, 0x83, 0x0a, 0x1e, 0x74, 0xa4, 0xbf, 0xae, 0x67, 0x05, 0x9e, 0xb9, 0x27, 0x9e, 0xbf, 0x3a, 0x91, 0x5e, 0xe4, - 0xf0, 0x40, 0xd3, 0x20, 0x66, 0xfc, 0x79, 0x59, 0x86, 0xbb, 0xd1, 0xa2, 0x2c, 0x56, 0x5e, 0xa4, 0xf7, 0xf1, 0x4c, - 0x8a, 0x81, 0xc4, 0x8c, 0x99, 0xd1, 0x55, 0xac, 0xe3, 0x1c, 0xc6, 0xbd, 0x3d, 0x09, 0x2b, 0xb4, 0x7f, 0x96, 0xd8, - 0xeb, 0x02, 0xb0, 0x1c, 0xb2, 0x06, 0xad, 0xf0, 0x4e, 0xb7, 0xb7, 0x7b, 0x5c, 0xb2, 0xa3, 0xb8, 0x01, 0xf4, 0xb3, - 0x1a, 0x5a, 0x26, 0xa8, 0x65, 0xd6, 0x9d, 0x4c, 0xa6, 0x48, 0x2e, 0xdf, 0x86, 0xbd, 0x62, 0x45, 0x3e, 0x6f, 0xe4, - 0xf6, 0xf0, 0x2e, 0x5c, 0x89, 0x58, 0x5b, 0xd0, 0x49, 0x47, 0xc6, 0xe1, 0x5e, 0x68, 0x6e, 0xa4, 0xfb, 0x47, 0x55, - 0x12, 0x96, 0x22, 0x86, 0x5b, 0x20, 0xdb, 0xab, 0x6d, 0x25, 0x28, 0x81, 0x0f, 0xf6, 0x43, 0x29, 0x16, 0xe9, 0x56, - 0x00, 0xae, 0x03, 0xff, 0x4d, 0x22, 0x12, 0xba, 0x3b, 0x0f, 0x51, 0xac, 0x91, 0xf7, 0x0d, 0xa2, 0xb1, 0xbf, 0x04, - 0x39, 0x0d, 0xc8, 0x44, 0x8a, 0x91, 0x2c, 0x18, 0xf8, 0x00, 0x72, 0xbe, 0x06, 0x93, 0xdc, 0x34, 0xf7, 0xfc, 0x20, - 0xd7, 0x1d, 0x4c, 0xfb, 0xa0, 0x7b, 0x71, 0xad, 0x59, 0x0e, 0x5e, 0x31, 0x11, 0xff, 0xb9, 0xf6, 0x4a, 0x96, 0xb3, - 0xcc, 0x6f, 0xcc, 0x45, 0x27, 0x83, 0xab, 0x86, 0xf0, 0x8b, 0x59, 0x36, 0xe7, 0xd1, 0x2c, 0xd3, 0x51, 0xff, 0x45, - 0x73, 0x54, 0x0a, 0xc0, 0xa9, 0xe3, 0x05, 0x58, 0x43, 0x5f, 0xe9, 0xa6, 0x15, 0x0f, 0x34, 0xc6, 0x28, 0xa8, 0xd0, - 0x41, 0xe8, 0xe7, 0x1a, 0x90, 0x36, 0x98, 0xa4, 0x49, 0xa8, 0x7c, 0x70, 0x41, 0x37, 0xcc, 0xcb, 0x95, 0xcb, 0x55, - 0x93, 0xaa, 0xe5, 0x97, 0x23, 0xea, 0xbb, 0x5a, 0x72, 0xa9, 0x36, 0x9f, 0x1a, 0x65, 0x8d, 0x20, 0x93, 0xa3, 0xf4, - 0xfb, 0x94, 0x0b, 0xb7, 0x32, 0x26, 0xeb, 0xc3, 0xc1, 0x2b, 0xb8, 0xa9, 0xf1, 0xeb, 0x9c, 0x08, 0x45, 0xed, 0x21, - 0x11, 0xb6, 0x76, 0x2b, 0x74, 0xef, 0x71, 0xa3, 0x34, 0x8f, 0xb2, 0x4d, 0x2c, 0x2a, 0xaf, 0x97, 0x80, 0xb5, 0xb8, - 0x07, 0xbc, 0xa8, 0xb4, 0xf4, 0x2b, 0x56, 0x00, 0x7a, 0x80, 0x14, 0x36, 0x5e, 0x23, 0x03, 0xd6, 0x23, 0x2f, 0xf5, - 0xfb, 0x7d, 0x63, 0xca, 0x7f, 0x7f, 0x9f, 0x03, 0x49, 0xa1, 0x28, 0xeb, 0x1d, 0x4c, 0x20, 0xb8, 0x76, 0x92, 0xf6, - 0xac, 0xe6, 0xcf, 0xd6, 0xb5, 0x07, 0xfc, 0x56, 0xbe, 0x45, 0x62, 0xf5, 0xd2, 0xbe, 0xd8, 0xec, 0xd3, 0xea, 0x93, - 0xd1, 0x38, 0x08, 0x96, 0x56, 0xaf, 0xb5, 0xca, 0x21, 0x6f, 0x78, 0x01, 0x22, 0x95, 0x75, 0x75, 0xad, 0x9c, 0xab, - 0x6b, 0xc1, 0x91, 0x4b, 0xb6, 0xe4, 0x39, 0xfc, 0x17, 0x72, 0xaf, 0x3c, 0x1c, 0x0a, 0xbf, 0xdf, 0x4f, 0x67, 0xa4, - 0x95, 0x05, 0xf6, 0xb4, 0x75, 0xed, 0x85, 0xfe, 0xe1, 0xf0, 0x1a, 0xbc, 0x46, 0xfc, 0xc3, 0xa1, 0xec, 0xf7, 0x3f, - 0x9a, 0x9b, 0xcc, 0xf9, 0x58, 0x29, 0x65, 0x2f, 0x51, 0xe9, 0xfe, 0x39, 0xe1, 0xbd, 0xff, 0x3d, 0xfa, 0xdf, 0xa3, - 0xcb, 0x9e, 0x0a, 0x01, 0x4b, 0xf8, 0x0c, 0x6f, 0xe8, 0x4c, 0x5d, 0xce, 0x99, 0x74, 0x77, 0x57, 0x7e, 0xe8, 0x3d, - 0x0d, 0x15, 0xdf, 0x9b, 0x9b, 0x36, 0xfe, 0x5c, 0x1d, 0x69, 0x12, 0x3a, 0x2e, 0xfa, 0x87, 0xc3, 0x9b, 0x44, 0xeb, - 0xd3, 0x52, 0xa5, 0x4f, 0x53, 0x38, 0x4a, 0x86, 0xdc, 0xcd, 0x2d, 0x4c, 0x07, 0xf6, 0xe3, 0xe6, 0xab, 0xe4, 0xc5, - 0x59, 0x0a, 0xd7, 0xde, 0x7c, 0x96, 0xce, 0xa7, 0x60, 0x5d, 0x19, 0xe6, 0xb3, 0x7a, 0x1e, 0x40, 0xea, 0x10, 0xd2, - 0xac, 0x69, 0xf8, 0x8f, 0xca, 0x15, 0xbc, 0xb5, 0xc7, 0xbb, 0x81, 0x8b, 0x52, 0x47, 0xfa, 0xa4, 0x8d, 0xa6, 0x4b, - 0x2a, 0xf9, 0x8f, 0x22, 0x8f, 0x31, 0x66, 0xe3, 0x25, 0xf1, 0x7e, 0x16, 0xf9, 0x75, 0x01, 0xd8, 0x45, 0x00, 0x86, - 0x9c, 0xce, 0x1d, 0x49, 0xfc, 0x63, 0xf2, 0xfd, 0x1f, 0xd3, 0xa5, 0x7d, 0x28, 0x8b, 0x65, 0x29, 0xaa, 0xea, 0xa8, - 0xb4, 0xad, 0x2d, 0xd7, 0x03, 0x93, 0x68, 0xbf, 0x2f, 0x99, 0x44, 0x53, 0x0c, 0x45, 0x81, 0x5b, 0x63, 0x6f, 0x9a, - 0x72, 0xc5, 0x58, 0x3d, 0x32, 0xd6, 0xcf, 0x17, 0xbb, 0xd7, 0xb1, 0x97, 0xfa, 0x41, 0x0a, 0x82, 0xb0, 0x86, 0x52, - 0x4a, 0x91, 0x0f, 0xce, 0x67, 0x98, 0x4a, 0xd4, 0xba, 0x94, 0x2a, 0x7f, 0x18, 0x69, 0x3e, 0x4c, 0x41, 0x2f, 0xfb, - 0xaf, 0x0a, 0xe6, 0xbf, 0x6e, 0x0f, 0xd6, 0xa7, 0x75, 0x99, 0x46, 0x15, 0x51, 0xe5, 0x85, 0xa9, 0x36, 0x81, 0x08, - 0xfe, 0x4c, 0x58, 0x7c, 0xbf, 0x3e, 0x39, 0x12, 0x34, 0x66, 0xb2, 0xbc, 0x3a, 0x72, 0xbf, 0xb0, 0xaf, 0x5c, 0xc7, - 0xf3, 0x3f, 0x37, 0xf3, 0x7f, 0x80, 0xce, 0x90, 0xc5, 0x33, 0x6e, 0x19, 0x2c, 0x70, 0xf6, 0x4b, 0x57, 0x0f, 0xf8, - 0x9b, 0x79, 0xe2, 0x19, 0xd0, 0x31, 0x3f, 0x43, 0x57, 0xc5, 0x74, 0x56, 0x0c, 0x80, 0xcb, 0xd6, 0x6f, 0xac, 0x39, - 0xf1, 0xce, 0xa2, 0xbc, 0x92, 0x0b, 0x42, 0x5f, 0x57, 0x61, 0x36, 0xae, 0x8a, 0x4d, 0x25, 0x8a, 0x4d, 0xdd, 0x23, - 0xb5, 0x6c, 0x3e, 0xad, 0x6d, 0x85, 0xec, 0xdf, 0x45, 0x8b, 0xc1, 0xcb, 0xb0, 0x4e, 0x46, 0x59, 0xba, 0x9e, 0x02, - 0xbf, 0x5e, 0x00, 0x67, 0x91, 0x79, 0xe5, 0xab, 0xb3, 0x07, 0x6c, 0xd1, 0x78, 0x0a, 0xe4, 0xa8, 0xf4, 0x47, 0xde, - 0x18, 0x9d, 0x9e, 0xe8, 0xf7, 0xf3, 0x29, 0xc5, 0x7c, 0xfd, 0x1d, 0xe0, 0xb9, 0x6a, 0xb9, 0x00, 0x7d, 0x19, 0xea, - 0xa0, 0x12, 0xa5, 0x56, 0x0c, 0x23, 0x16, 0xfe, 0x2e, 0x90, 0xc8, 0x99, 0x02, 0x9b, 0x55, 0x94, 0x84, 0x4a, 0x54, - 0x4a, 0xb6, 0x26, 0xa8, 0xa5, 0xf7, 0x45, 0x59, 0xef, 0x2b, 0x70, 0x94, 0x8c, 0xb4, 0x59, 0x4e, 0x9a, 0x71, 0x05, - 0xca, 0x5c, 0xf4, 0x83, 0xfd, 0xbd, 0xf2, 0xfc, 0x46, 0xe6, 0xb3, 0xdc, 0x77, 0x74, 0x4e, 0xdb, 0x71, 0x81, 0x32, - 0xb7, 0x9c, 0xb6, 0x5a, 0xf2, 0x98, 0xbc, 0x67, 0xa1, 0xb6, 0x2c, 0x41, 0x8a, 0x45, 0x98, 0x4f, 0xa8, 0xb2, 0xf9, - 0x17, 0x84, 0xda, 0xe2, 0xc0, 0x1e, 0xbb, 0x30, 0x11, 0xff, 0x2d, 0x58, 0x12, 0xc3, 0xac, 0x14, 0x61, 0xbc, 0x03, - 0xef, 0x9f, 0x4d, 0x25, 0x46, 0x67, 0xe8, 0xe4, 0x7e, 0x76, 0x9f, 0xd6, 0xc9, 0xd9, 0xeb, 0x97, 0x67, 0x3f, 0xf4, - 0x06, 0xc5, 0x28, 0x8d, 0x07, 0xbd, 0x1f, 0xce, 0x56, 0x1b, 0x40, 0xcb, 0x14, 0x67, 0x31, 0x99, 0xd2, 0x44, 0x7c, - 0x46, 0x86, 0xc1, 0xb3, 0x3a, 0x11, 0x67, 0x34, 0x31, 0xdd, 0xd7, 0x28, 0x4d, 0xbe, 0x1d, 0x85, 0x39, 0xbc, 0x5c, - 0x8a, 0x4d, 0x25, 0x62, 0xb0, 0x53, 0xaa, 0x79, 0x96, 0xb7, 0xcf, 0xe2, 0x7c, 0xd4, 0x21, 0xab, 0x74, 0xe0, 0x6f, - 0x4f, 0xa4, 0x5d, 0x95, 0xae, 0x80, 0xd0, 0x03, 0xe0, 0xa4, 0x2b, 0x7f, 0x1e, 0x0e, 0x69, 0x02, 0xa1, 0x16, 0xcc, - 0xc9, 0x34, 0xa2, 0x1b, 0xd2, 0x35, 0xf6, 0x19, 0x98, 0x85, 0x94, 0xe6, 0xc1, 0xcd, 0xd5, 0x62, 0xe8, 0xae, 0x58, - 0x39, 0x0a, 0xab, 0xb5, 0x88, 0x6a, 0x64, 0x3d, 0x06, 0xe7, 0x1d, 0x88, 0x00, 0x50, 0xe4, 0xe0, 0x19, 0x8f, 0xfa, - 0xfd, 0x48, 0x05, 0xe5, 0x24, 0xf4, 0x8b, 0x42, 0xbf, 0x34, 0x1c, 0x65, 0xcc, 0xbf, 0x84, 0x9a, 0x23, 0xa0, 0xde, - 0xf2, 0x50, 0xd1, 0x05, 0xe0, 0x72, 0x8e, 0x98, 0x71, 0xde, 0xe3, 0x2e, 0x30, 0xe7, 0xff, 0xe1, 0xed, 0x4b, 0xbc, - 0xdb, 0xb6, 0xb1, 0x7e, 0xff, 0x15, 0x8b, 0x2f, 0x55, 0x89, 0x08, 0x92, 0x25, 0x27, 0xe9, 0x4c, 0x29, 0xc3, 0xfa, - 0xdc, 0x2c, 0x6d, 0x3a, 0xcd, 0xd2, 0x24, 0x5d, 0x66, 0xf4, 0xf4, 0xb9, 0x34, 0x09, 0x5b, 0x6c, 0x68, 0x40, 0x25, - 0x29, 0x2f, 0x91, 0xf8, 0xbf, 0xbf, 0x73, 0x2f, 0x56, 0x52, 0x94, 0x93, 0x99, 0xf7, 0xbd, 0x77, 0x72, 0x4e, 0x2c, - 0x82, 0x20, 0x76, 0x5c, 0x5c, 0xdc, 0xe5, 0x77, 0x4d, 0x08, 0x0a, 0x73, 0x1d, 0x2c, 0x0c, 0x00, 0xbd, 0x6b, 0x8f, - 0xb6, 0x9c, 0x74, 0x09, 0x16, 0xcf, 0x0d, 0x2c, 0x5e, 0x5d, 0x2c, 0xaa, 0x2b, 0xae, 0xe5, 0x16, 0x36, 0xa5, 0xac, - 0x62, 0x08, 0x20, 0xd0, 0x8c, 0x19, 0x76, 0xcb, 0x5d, 0x8e, 0x64, 0x5d, 0x14, 0x5c, 0xec, 0x04, 0x86, 0x6e, 0xc6, - 0x25, 0x33, 0x07, 0x57, 0x33, 0xac, 0x93, 0x8a, 0x02, 0xec, 0xea, 0x02, 0x64, 0x2f, 0x0c, 0x75, 0xdd, 0xcc, 0x96, - 0xeb, 0xc0, 0xd7, 0xa5, 0x0b, 0x5f, 0x52, 0xf0, 0x72, 0x25, 0x45, 0x99, 0x5d, 0xf3, 0x9f, 0xec, 0xcb, 0x66, 0x2c, - 0x29, 0xb4, 0x23, 0x7d, 0xd5, 0xee, 0x8e, 0x16, 0xe3, 0xd8, 0x72, 0x7c, 0x4b, 0xa5, 0x5b, 0x3d, 0xaa, 0x5e, 0x08, - 0x6d, 0x9d, 0x6b, 0x99, 0xa5, 0x29, 0x17, 0x2f, 0x45, 0x9a, 0x25, 0x5e, 0x72, 0xac, 0x63, 0x55, 0xbb, 0x20, 0x58, - 0x2e, 0x4c, 0xf2, 0xb3, 0xac, 0xc4, 0xd8, 0xc1, 0x8d, 0x46, 0xb5, 0xa2, 0x4e, 0x99, 0x18, 0x18, 0xf2, 0x1d, 0x06, - 0xdf, 0x66, 0x32, 0x01, 0x86, 0x1f, 0x13, 0xf5, 0x25, 0x3d, 0x85, 0x80, 0x0f, 0x2a, 0x34, 0xf7, 0x33, 0x8e, 0xe0, - 0xd7, 0x56, 0x65, 0x0e, 0x4c, 0xb6, 0x56, 0x41, 0x22, 0xee, 0x5d, 0x36, 0xd7, 0x8b, 0x68, 0xa1, 0xee, 0x42, 0xbd, - 0x78, 0xbb, 0xed, 0x25, 0x8a, 0x0e, 0x38, 0xf9, 0x69, 0xf0, 0x22, 0xce, 0x72, 0x9e, 0x1e, 0x54, 0xf2, 0x40, 0x6d, - 0xa8, 0x03, 0xe5, 0xcc, 0x01, 0x3b, 0xef, 0xeb, 0xea, 0x40, 0xaf, 0xe9, 0x03, 0xdd, 0xce, 0x03, 0xb8, 0x60, 0xe0, - 0xce, 0xbd, 0xcc, 0xae, 0xb9, 0x38, 0x00, 0x65, 0xa0, 0x35, 0x1e, 0xa8, 0xcb, 0x6a, 0xa4, 0x26, 0x46, 0xc7, 0xb0, - 0x4e, 0xf4, 0xc1, 0x1c, 0xd0, 0x9f, 0x21, 0xac, 0x7d, 0xeb, 0xed, 0x4a, 0x1f, 0xb4, 0x01, 0x7d, 0xb7, 0x34, 0x7d, - 0xd0, 0x81, 0xe3, 0x55, 0x74, 0xe0, 0xc6, 0x90, 0x6a, 0xd0, 0x56, 0x23, 0xab, 0x40, 0xf1, 0x86, 0xb7, 0x78, 0x77, - 0xae, 0x25, 0x1b, 0xef, 0x25, 0x62, 0x7c, 0x65, 0xa2, 0x8a, 0x33, 0x71, 0xea, 0xa5, 0xf2, 0x5a, 0x3b, 0xc9, 0x08, - 0xe3, 0x5b, 0x56, 0x52, 0x7f, 0x87, 0x98, 0x5b, 0xa4, 0x39, 0x0c, 0x5e, 0x86, 0x15, 0x99, 0xf1, 0x7e, 0x5f, 0xce, - 0x64, 0x54, 0xce, 0xc4, 0x61, 0x19, 0x29, 0xb0, 0xb6, 0x7d, 0x22, 0xa0, 0x7b, 0x25, 0x40, 0xbe, 0x00, 0xa8, 0xba, - 0x4f, 0xf8, 0x73, 0x9f, 0xd4, 0xa7, 0x53, 0xe8, 0x53, 0x68, 0xeb, 0x15, 0x57, 0x10, 0xaf, 0xea, 0xc6, 0xc8, 0x36, - 0x2a, 0x68, 0xf1, 0x58, 0x9e, 0xd5, 0x86, 0xb1, 0x39, 0xb5, 0xfe, 0xf5, 0x66, 0x83, 0x29, 0x9b, 0x0b, 0xb5, 0x0a, - 0x43, 0x12, 0x7d, 0x2c, 0xbd, 0x48, 0x22, 0x16, 0x36, 0xab, 0xb5, 0xf9, 0x4d, 0x18, 0x90, 0x4c, 0xa4, 0xb8, 0x9f, - 0x2d, 0x71, 0xee, 0xe2, 0xf1, 0xbc, 0xea, 0x6b, 0x2d, 0x2d, 0x32, 0x6d, 0xbe, 0xd5, 0x97, 0x21, 0x4d, 0x45, 0x0d, - 0x69, 0xd4, 0x99, 0x41, 0xf7, 0xed, 0xf2, 0x96, 0xd5, 0x08, 0x13, 0xe0, 0x95, 0xce, 0xa0, 0x1b, 0x8d, 0x07, 0x62, - 0x59, 0x8d, 0x8a, 0xb5, 0x10, 0x08, 0x3c, 0x0c, 0x39, 0x66, 0x96, 0x90, 0x64, 0x9f, 0xf8, 0x77, 0x2a, 0xce, 0x42, - 0x11, 0xdf, 0x18, 0x64, 0xef, 0xca, 0xba, 0x76, 0xd7, 0x91, 0x9f, 0x13, 0x0b, 0xab, 0xfd, 0x87, 0xe6, 0x51, 0x6b, - 0x9c, 0x05, 0xb4, 0x35, 0xad, 0x6e, 0x38, 0xdc, 0xa3, 0x3a, 0x16, 0xa5, 0xc1, 0x26, 0xf6, 0xc8, 0x72, 0xd1, 0x3a, - 0x66, 0xd0, 0x80, 0xfe, 0x36, 0xbb, 0x5a, 0x5f, 0x21, 0x80, 0x5b, 0x89, 0xac, 0x93, 0x54, 0xfe, 0x25, 0xed, 0x51, - 0xd7, 0xf6, 0x54, 0xfe, 0xb7, 0x6d, 0xaa, 0x1c, 0x5a, 0x4c, 0x79, 0xec, 0xe6, 0x2c, 0x50, 0x1d, 0x09, 0xa2, 0x40, - 0x6d, 0xbd, 0x60, 0xea, 0x9d, 0x32, 0x45, 0x07, 0x08, 0x74, 0x61, 0xce, 0xb0, 0x2f, 0x38, 0x62, 0xcc, 0x52, 0x89, - 0xc1, 0xd4, 0xc7, 0x18, 0xd5, 0xb4, 0x56, 0x80, 0xae, 0x9f, 0x6e, 0xe0, 0x4f, 0x54, 0xd4, 0x68, 0xa8, 0x35, 0x92, - 0x42, 0xd1, 0x44, 0x85, 0x22, 0x4b, 0x0b, 0x1d, 0x57, 0xa1, 0x93, 0x48, 0x58, 0x02, 0x1a, 0x26, 0x44, 0x27, 0x15, - 0x78, 0x6b, 0x00, 0x67, 0x3e, 0x2e, 0xca, 0x75, 0xa1, 0x0d, 0xe6, 0x7e, 0x88, 0xaf, 0xf9, 0xcb, 0x67, 0xce, 0xa8, - 0xbe, 0x65, 0xad, 0xef, 0x69, 0x41, 0x7e, 0x08, 0x39, 0x45, 0x07, 0x26, 0x76, 0xb2, 0x41, 0x63, 0x8c, 0xb2, 0xd6, - 0x51, 0x2f, 0xde, 0xe8, 0x50, 0x2c, 0xda, 0x04, 0xef, 0x1e, 0x4f, 0x11, 0x6d, 0x78, 0x28, 0x8c, 0x55, 0x35, 0x3e, - 0x95, 0xac, 0xa5, 0x07, 0x2b, 0x78, 0xba, 0x4e, 0x78, 0x08, 0x7a, 0x24, 0xc2, 0x4e, 0xc2, 0x62, 0x1e, 0x2f, 0xe0, - 0x38, 0x29, 0x08, 0xa8, 0x1d, 0xf4, 0x15, 0x7c, 0xbe, 0x40, 0xf7, 0x57, 0x89, 0x1e, 0x60, 0x68, 0x41, 0xdc, 0x8c, - 0x82, 0x3a, 0xba, 0x8a, 0x57, 0x0d, 0x15, 0x09, 0x9f, 0x17, 0x60, 0x3b, 0xa4, 0xd4, 0x53, 0xa0, 0x85, 0x4a, 0x94, - 0x7e, 0x18, 0xf8, 0x0e, 0x8d, 0x81, 0xad, 0x75, 0x80, 0x86, 0x7e, 0xc6, 0x34, 0xb5, 0xce, 0x50, 0xf9, 0xcc, 0xbb, - 0x67, 0x46, 0xcb, 0x99, 0x45, 0x63, 0xd0, 0xb7, 0xd1, 0x14, 0xc5, 0x39, 0xf9, 0x2c, 0x28, 0xe2, 0x34, 0x8b, 0x73, - 0xf0, 0xdb, 0x8c, 0x0b, 0xcc, 0x98, 0xc4, 0x15, 0xbf, 0x94, 0x05, 0x68, 0xbb, 0x73, 0x95, 0x5a, 0xd7, 0x20, 0x20, - 0xfb, 0x01, 0xac, 0x5e, 0x1a, 0x3a, 0x2a, 0xe7, 0xdd, 0xa5, 0x4d, 0x21, 0x62, 0x11, 0x82, 0x4d, 0x33, 0x5d, 0xb2, - 0xd3, 0x50, 0x69, 0x73, 0x20, 0xd4, 0x11, 0x1a, 0xf7, 0x4f, 0xc3, 0xd8, 0x6a, 0x8a, 0xad, 0xdd, 0xdb, 0x76, 0xfb, - 0x8f, 0xd2, 0x4b, 0xa7, 0x39, 0xe9, 0x31, 0xf6, 0x8f, 0x32, 0x2c, 0x46, 0xb6, 0x23, 0x04, 0x96, 0x9c, 0xf7, 0xa9, - 0xff, 0x8a, 0x96, 0xf3, 0x04, 0x4c, 0x47, 0x74, 0xb0, 0x5c, 0xa0, 0xec, 0x18, 0xd0, 0x1d, 0x18, 0x5c, 0xd1, 0xef, - 0x83, 0x55, 0x86, 0xb9, 0x90, 0x2c, 0x49, 0xca, 0xe0, 0x79, 0xea, 0xc1, 0xc1, 0xaf, 0x99, 0x32, 0x77, 0x51, 0xd6, - 0xa7, 0x4b, 0x32, 0x4d, 0x91, 0x81, 0x58, 0x87, 0x9b, 0x2c, 0x8d, 0x12, 0x25, 0x22, 0x5b, 0xa2, 0x7f, 0xa4, 0xa1, - 0x58, 0x3a, 0x72, 0x2f, 0x52, 0x25, 0x42, 0xc5, 0x3c, 0xc5, 0x93, 0x3a, 0xad, 0xd3, 0x11, 0x86, 0x9e, 0x04, 0xa5, - 0x5c, 0x0d, 0x03, 0x55, 0x52, 0xbd, 0x14, 0x36, 0xc5, 0x76, 0xab, 0x2f, 0x56, 0x62, 0x1e, 0x2f, 0xf0, 0xa5, 0xc0, - 0x51, 0xfc, 0x07, 0xf7, 0xc2, 0x4e, 0xa9, 0xed, 0x41, 0xed, 0x88, 0x12, 0xfa, 0x0f, 0x0e, 0x17, 0x89, 0xef, 0xa4, - 0x0e, 0x01, 0x88, 0x16, 0x21, 0x67, 0xea, 0x20, 0x35, 0xdc, 0xd0, 0x8e, 0xf0, 0xdf, 0x70, 0x7d, 0xc6, 0x19, 0xbd, - 0xa9, 0x66, 0xd4, 0x50, 0xbe, 0x1e, 0xb4, 0x31, 0xea, 0xb3, 0x81, 0xc3, 0x0a, 0x51, 0x68, 0xc3, 0x4e, 0x4a, 0x25, - 0x5a, 0x18, 0x4a, 0xf5, 0x97, 0x50, 0x71, 0xc2, 0x9d, 0x19, 0x65, 0xc9, 0xf8, 0xb4, 0x3c, 0x16, 0xd3, 0xc1, 0xa0, - 0x24, 0x95, 0xb1, 0xd0, 0x83, 0xeb, 0x81, 0xe7, 0xdf, 0x03, 0xb7, 0x10, 0x0f, 0x19, 0x59, 0x0c, 0xb9, 0xc1, 0xc9, - 0x6f, 0x71, 0x72, 0xd5, 0xa8, 0x54, 0x71, 0xac, 0x89, 0x6a, 0xc1, 0xf7, 0x65, 0x18, 0xa0, 0x4f, 0x52, 0x00, 0x26, - 0x83, 0x29, 0xbf, 0x05, 0x89, 0xd2, 0x99, 0xba, 0x21, 0xfd, 0x22, 0x0a, 0x7e, 0xc1, 0x0b, 0x2e, 0x12, 0x57, 0x80, - 0xe5, 0x1d, 0x6c, 0xaf, 0xa3, 0x8a, 0x2a, 0x4c, 0x5e, 0xd3, 0xe3, 0x88, 0x1b, 0xef, 0x3f, 0xd3, 0x63, 0x8b, 0xd9, - 0x6a, 0x1d, 0x1b, 0x7c, 0xe6, 0x18, 0x5c, 0xd0, 0xb5, 0xc4, 0xd6, 0x50, 0x0d, 0x2b, 0x02, 0x03, 0x17, 0x70, 0x10, - 0x96, 0x28, 0x8e, 0xad, 0xe4, 0x15, 0x69, 0x48, 0x69, 0xef, 0x19, 0x8e, 0x36, 0xc9, 0xf1, 0x6d, 0x96, 0xdd, 0x04, - 0xce, 0x17, 0x9d, 0x93, 0x66, 0xc2, 0xda, 0xe0, 0x7d, 0xde, 0x9c, 0x5f, 0xfb, 0x87, 0x84, 0xaa, 0xb8, 0x37, 0xbc, - 0x1d, 0xf7, 0xc6, 0x09, 0xbf, 0xe6, 0x62, 0xa1, 0x43, 0xb5, 0x98, 0x4b, 0x96, 0xdf, 0x5a, 0xef, 0x96, 0x24, 0xb5, - 0x02, 0xda, 0x67, 0x59, 0x50, 0x13, 0x01, 0x20, 0x7f, 0xf8, 0x0b, 0x84, 0xce, 0xf0, 0xb7, 0xc7, 0xe0, 0x8a, 0x14, - 0xee, 0x1d, 0x02, 0x61, 0x4d, 0x37, 0x77, 0x6a, 0x03, 0xbe, 0x18, 0xf7, 0x67, 0x4c, 0x3d, 0xfd, 0x36, 0x93, 0xbb, - 0xba, 0x6e, 0x8f, 0x2c, 0xc3, 0x47, 0xb8, 0x52, 0x00, 0x37, 0x13, 0xfe, 0x62, 0x98, 0x49, 0xf5, 0x09, 0x60, 0xaa, - 0xe9, 0xe0, 0x3e, 0x41, 0x60, 0x00, 0x95, 0x68, 0x31, 0xba, 0x56, 0x8e, 0x68, 0x06, 0x6e, 0x4d, 0xb7, 0xc2, 0x78, - 0xeb, 0x41, 0x0b, 0x3d, 0xd3, 0x70, 0xe2, 0x3f, 0x68, 0xe6, 0x55, 0x01, 0x01, 0xb4, 0x32, 0x82, 0xb7, 0xd6, 0x47, - 0x73, 0x84, 0xf8, 0x84, 0x25, 0xd1, 0x84, 0xc5, 0x33, 0xc5, 0x8f, 0x09, 0xdd, 0x34, 0xb5, 0x4d, 0x1f, 0x90, 0xfe, - 0xe2, 0x9a, 0xf5, 0x53, 0x96, 0xb5, 0x6f, 0x0f, 0x15, 0x2f, 0xa6, 0xcd, 0x38, 0x88, 0x89, 0x2a, 0xc6, 0xff, 0x82, - 0xfb, 0x52, 0x2b, 0x40, 0x64, 0xee, 0xaa, 0xa7, 0xdf, 0x6f, 0x66, 0xcb, 0x81, 0x50, 0xf9, 0x9d, 0x41, 0xd2, 0xa7, - 0x43, 0xfb, 0x81, 0x4d, 0xa2, 0xb6, 0xd0, 0xf3, 0xc7, 0xa5, 0x6e, 0xe2, 0xe5, 0xb5, 0xa9, 0x11, 0xad, 0x90, 0xa1, - 0xb2, 0x75, 0xc0, 0xfa, 0xfe, 0x21, 0xdc, 0x5d, 0xd4, 0x34, 0xd4, 0xba, 0xe7, 0xae, 0x45, 0xc1, 0x89, 0x3f, 0xc0, - 0x58, 0x5c, 0x48, 0x6a, 0x1d, 0x8f, 0x49, 0x3f, 0x5a, 0xc8, 0xe4, 0x46, 0x5d, 0x9d, 0x9c, 0x29, 0xe6, 0x09, 0x5c, - 0x80, 0xcb, 0xb6, 0xbf, 0xa2, 0x52, 0x97, 0x72, 0x7b, 0x45, 0x69, 0x7a, 0x48, 0xdb, 0xab, 0x38, 0x6f, 0x0b, 0x2e, - 0xf8, 0x17, 0x0a, 0x2e, 0xac, 0x83, 0x75, 0xc7, 0x9d, 0xb2, 0x27, 0x3c, 0x51, 0xa6, 0xb5, 0xc1, 0x5d, 0x37, 0x18, - 0x13, 0x63, 0xbf, 0xbb, 0xe4, 0xc9, 0x47, 0x64, 0xc1, 0xbf, 0xcb, 0x04, 0x78, 0x26, 0xbb, 0x57, 0x2a, 0xff, 0x0f, - 0xfe, 0xd5, 0xd6, 0xbe, 0xb3, 0xe6, 0x9f, 0x9e, 0xf5, 0x70, 0xe7, 0x30, 0xf9, 0xb1, 0x3a, 0x03, 0xba, 0xb9, 0x92, - 0x29, 0x07, 0x64, 0x00, 0x6b, 0x91, 0x8c, 0x06, 0x7c, 0x68, 0x65, 0xd9, 0xf6, 0x9d, 0x56, 0x17, 0x84, 0xbd, 0x04, - 0x6e, 0xba, 0xbf, 0x36, 0x33, 0x73, 0xba, 0x56, 0xa2, 0xe9, 0xd2, 0xd8, 0x5a, 0x96, 0x2a, 0x8c, 0xf7, 0xbd, 0x27, - 0xd9, 0x34, 0x3f, 0x5e, 0x4e, 0x73, 0x4b, 0xdd, 0x36, 0x6e, 0xd9, 0x00, 0x1a, 0x62, 0xd7, 0xda, 0xca, 0x01, 0x2f, - 0xb7, 0x07, 0xd1, 0x7c, 0xad, 0x08, 0x3d, 0x55, 0x22, 0xf4, 0x69, 0xda, 0xec, 0x83, 0x5d, 0x55, 0xeb, 0x46, 0xc8, - 0xa3, 0x41, 0xaa, 0x19, 0xf9, 0x37, 0xd7, 0xbc, 0xb8, 0xc8, 0xe5, 0x0d, 0xc0, 0x21, 0x93, 0xda, 0x28, 0x2c, 0xaf, - 0xc0, 0x9d, 0x1f, 0x1d, 0xc7, 0x99, 0x18, 0xe5, 0x18, 0xb7, 0x15, 0x91, 0x92, 0x75, 0xe2, 0x0c, 0xf0, 0x90, 0xfd, - 0x49, 0xd3, 0xa1, 0x5d, 0x0b, 0x0c, 0xef, 0x0b, 0xdc, 0x55, 0xce, 0x4e, 0x36, 0xb9, 0x5d, 0xf4, 0xcd, 0x19, 0xd6, - 0x1d, 0x29, 0xad, 0x8d, 0x45, 0xd7, 0x1d, 0xac, 0x35, 0x83, 0xb6, 0x08, 0x25, 0x1f, 0x72, 0x27, 0xed, 0xa7, 0x80, - 0x06, 0x67, 0x59, 0x7a, 0x6b, 0xad, 0xf2, 0x37, 0x5a, 0x88, 0x13, 0xc5, 0xd4, 0x89, 0x6f, 0xa2, 0x44, 0x9f, 0x9f, - 0x89, 0x71, 0x03, 0x81, 0xd4, 0x1f, 0x30, 0xbe, 0x46, 0x11, 0x26, 0x70, 0x1d, 0x88, 0x62, 0x7b, 0xa2, 0x36, 0x96, - 0x23, 0xe8, 0x84, 0x10, 0xef, 0xa0, 0x0c, 0x63, 0x75, 0x71, 0xa0, 0x0d, 0x96, 0xbe, 0x6e, 0xad, 0x73, 0x43, 0x28, - 0x8c, 0x13, 0x98, 0x62, 0x90, 0xd4, 0x59, 0x67, 0x99, 0xa0, 0xca, 0x8e, 0x49, 0xe7, 0x7d, 0x80, 0xee, 0xae, 0x45, - 0x53, 0x7c, 0xdd, 0xb9, 0x83, 0xf6, 0x71, 0xfd, 0x5a, 0x8b, 0xdc, 0xe0, 0xcf, 0x5b, 0x22, 0x2c, 0x02, 0x67, 0xad, - 0xc9, 0x57, 0x8d, 0x70, 0x60, 0x4a, 0x32, 0x0d, 0x7b, 0xb9, 0xb2, 0xe9, 0xde, 0x6e, 0x7b, 0xbd, 0xbd, 0x22, 0xae, - 0x1e, 0x63, 0x95, 0x77, 0x33, 0xb7, 0x77, 0xaa, 0xb5, 0xd8, 0xbd, 0x69, 0xfb, 0x29, 0x76, 0xd4, 0x5a, 0xbb, 0xdd, - 0x70, 0x42, 0x0d, 0xf9, 0x56, 0x54, 0x69, 0x75, 0xba, 0x31, 0x68, 0x87, 0xd0, 0xd6, 0x22, 0x83, 0x1b, 0xe5, 0x33, - 0x27, 0x74, 0x52, 0x21, 0x57, 0x9d, 0xba, 0x60, 0x73, 0xc5, 0xab, 0xa5, 0x4c, 0x23, 0x41, 0xd1, 0xe6, 0x3c, 0x2a, - 0x69, 0x22, 0xd7, 0xa2, 0x8a, 0x64, 0x8d, 0x7a, 0x51, 0xab, 0x31, 0x40, 0x40, 0xa6, 0xb3, 0xa6, 0x07, 0x55, 0x30, - 0x1b, 0xca, 0x48, 0x4e, 0x5f, 0x80, 0xa5, 0x3d, 0x72, 0xac, 0xf5, 0xbe, 0x3a, 0x5b, 0x7c, 0xab, 0x27, 0x04, 0x53, - 0x98, 0x3d, 0x10, 0x11, 0xae, 0x69, 0x0c, 0x39, 0xed, 0x12, 0x97, 0x35, 0xdd, 0x12, 0xf6, 0x70, 0xbb, 0x92, 0x9d, - 0xb8, 0x79, 0xd2, 0xdc, 0x5c, 0xc1, 0x4e, 0x8a, 0xf9, 0x18, 0xb4, 0x5f, 0x52, 0x5d, 0xbb, 0x34, 0xb7, 0x1e, 0x0f, - 0x02, 0x1a, 0x0c, 0x0a, 0xc3, 0xbf, 0x4e, 0x8c, 0x87, 0x27, 0x0d, 0x08, 0x92, 0x72, 0x11, 0x8e, 0x7d, 0x23, 0xfa, - 0xc9, 0x54, 0x1e, 0x73, 0xb4, 0x78, 0x87, 0x56, 0xe7, 0x10, 0xd0, 0x4b, 0x84, 0x92, 0x18, 0x55, 0xa1, 0x11, 0x41, - 0x79, 0x5a, 0xfe, 0x52, 0x55, 0x87, 0x80, 0x42, 0xda, 0x57, 0x14, 0xca, 0x36, 0x89, 0xa1, 0x19, 0x7e, 0x39, 0x9f, - 0x2c, 0xf4, 0x0c, 0x0c, 0xe4, 0xfc, 0x68, 0xa1, 0x67, 0x61, 0x20, 0xe7, 0x8f, 0x16, 0xb5, 0x5b, 0x07, 0x9a, 0x80, - 0x78, 0x2e, 0x1c, 0x9d, 0x94, 0x56, 0x65, 0x0b, 0xe8, 0xe6, 0x3e, 0x82, 0xfe, 0x0f, 0x7b, 0x08, 0x3a, 0xb9, 0xd0, - 0x8e, 0xdc, 0x80, 0xb6, 0x43, 0x12, 0xd8, 0x2b, 0x26, 0x15, 0x26, 0x16, 0xd1, 0x31, 0x1b, 0x83, 0x21, 0xb6, 0xfa, - 0xe0, 0x98, 0x8d, 0xa7, 0x3e, 0x09, 0x02, 0x46, 0xf7, 0x07, 0x03, 0x0e, 0x7e, 0x8b, 0x57, 0xe9, 0x93, 0x8d, 0x40, - 0x37, 0x7d, 0x77, 0x37, 0xf4, 0x2e, 0xae, 0xe0, 0x54, 0xed, 0xee, 0x49, 0xe8, 0x26, 0xd3, 0x8e, 0xd5, 0x6b, 0x88, - 0x1b, 0xf2, 0x2b, 0xa3, 0xd1, 0xc8, 0xa6, 0x84, 0x84, 0x18, 0xce, 0xa1, 0x99, 0xd3, 0x72, 0xf9, 0xea, 0xd6, 0xb3, - 0x01, 0x19, 0x66, 0x7a, 0xcb, 0x64, 0x7d, 0x0f, 0x65, 0xd5, 0x63, 0x68, 0x87, 0xde, 0x23, 0xc7, 0xf7, 0x0f, 0xbe, - 0xc9, 0xf8, 0x99, 0xc3, 0xb5, 0x87, 0x73, 0xe1, 0xbb, 0xac, 0x19, 0x99, 0x43, 0xe7, 0xd9, 0xc7, 0xf1, 0x1e, 0xc6, - 0xc9, 0xe7, 0x59, 0x28, 0x6f, 0xbc, 0xa6, 0xff, 0x51, 0xe9, 0xcd, 0x0e, 0x87, 0x9c, 0xae, 0x60, 0xc5, 0xcd, 0xaa, - 0xd0, 0xf0, 0xb3, 0xc8, 0x1b, 0x47, 0xbc, 0x26, 0x51, 0xd5, 0x7d, 0xde, 0xdb, 0x88, 0xa5, 0x1d, 0xe3, 0x00, 0xe0, - 0x44, 0xad, 0x1a, 0x76, 0xa5, 0x71, 0xad, 0x0e, 0x62, 0x44, 0x4a, 0xd8, 0x2a, 0x71, 0x24, 0x94, 0xbf, 0x01, 0x08, - 0x8b, 0xa1, 0x38, 0xde, 0x1a, 0xd6, 0x7b, 0xd8, 0x0f, 0x5d, 0xa0, 0x69, 0x4e, 0xa9, 0x66, 0x00, 0x90, 0x04, 0xfc, - 0xd1, 0xd3, 0x4d, 0x43, 0x65, 0x9b, 0xe7, 0xa1, 0x65, 0x75, 0x05, 0xf7, 0xf4, 0xd4, 0x95, 0x0c, 0x8c, 0xab, 0x3a, - 0xf6, 0x36, 0xfb, 0xdb, 0xa3, 0x55, 0xe4, 0x3b, 0x9b, 0xd4, 0x34, 0x0b, 0x20, 0x45, 0xe3, 0xd2, 0x17, 0x7a, 0x3a, - 0x01, 0x5a, 0xaf, 0x2d, 0x15, 0xed, 0xf7, 0x51, 0x8c, 0x1a, 0x17, 0x0a, 0xac, 0xc2, 0x04, 0x85, 0x43, 0x84, 0x11, - 0x42, 0x7f, 0x2e, 0xc3, 0x8d, 0x2f, 0xc8, 0x20, 0x1a, 0xae, 0x45, 0x87, 0x22, 0x72, 0xbc, 0x68, 0x5b, 0xaa, 0x6a, - 0x4e, 0x9a, 0xb6, 0x04, 0xde, 0x44, 0x06, 0x6c, 0xe7, 0x9f, 0x36, 0x44, 0xae, 0xc2, 0x05, 0x0c, 0xdf, 0x11, 0xd7, - 0x82, 0xe8, 0xa6, 0x36, 0xf5, 0x36, 0xec, 0x10, 0x1d, 0x4d, 0xf1, 0xe8, 0x90, 0x7b, 0xee, 0x9e, 0xdb, 0x22, 0xbe, - 0xf9, 0x0c, 0xb9, 0x6b, 0x3a, 0x7b, 0x29, 0xc2, 0xa0, 0x6e, 0xd9, 0x40, 0xb1, 0x8e, 0x9d, 0xa0, 0x00, 0x03, 0xb8, - 0x7c, 0x02, 0x3a, 0x36, 0x18, 0x54, 0x04, 0x9f, 0x14, 0xb6, 0x4d, 0x83, 0xfc, 0x11, 0xef, 0x86, 0x0e, 0xaf, 0x2d, - 0x79, 0x20, 0x5e, 0x61, 0x9f, 0x29, 0x61, 0xff, 0x82, 0x82, 0xee, 0x28, 0x2f, 0x57, 0x85, 0xab, 0xd2, 0x00, 0x54, - 0xd9, 0xf1, 0x5c, 0x6b, 0x4a, 0x5a, 0xc0, 0x4a, 0x49, 0xdd, 0xf9, 0x4d, 0x70, 0xdc, 0x92, 0xa9, 0xf0, 0xad, 0xba, - 0x51, 0xe5, 0xb1, 0x44, 0x91, 0x8e, 0x3d, 0xdb, 0x39, 0x58, 0x03, 0xe0, 0x29, 0x6c, 0x2f, 0xce, 0x04, 0x7c, 0xee, - 0xb4, 0xcb, 0x96, 0xb9, 0x04, 0x8a, 0xfa, 0x7e, 0x9c, 0x97, 0x1d, 0x5f, 0xee, 0x8e, 0xb6, 0xf7, 0xd0, 0x1b, 0xb1, - 0x31, 0x5e, 0x5f, 0x46, 0x4d, 0xbf, 0x78, 0x86, 0x2b, 0x4b, 0x41, 0xee, 0x69, 0xaa, 0x47, 0x18, 0x1d, 0x02, 0xd3, - 0x94, 0x9f, 0xb0, 0xf1, 0x74, 0x38, 0x34, 0x64, 0xd0, 0x6b, 0x26, 0x86, 0x02, 0xfb, 0x02, 0x5a, 0x67, 0x26, 0xae, - 0xf1, 0x69, 0xfb, 0x0a, 0x5a, 0xdd, 0xa2, 0x4c, 0xee, 0x0c, 0x0c, 0x1f, 0x68, 0xc9, 0x14, 0x4c, 0x15, 0xde, 0x10, - 0xa9, 0x64, 0x9f, 0x96, 0xd6, 0x61, 0xdf, 0x2e, 0x14, 0x5a, 0x68, 0xe2, 0x57, 0x19, 0xe2, 0xa7, 0xae, 0x33, 0xff, - 0x36, 0xed, 0x53, 0x83, 0x58, 0x38, 0x12, 0x83, 0x88, 0x5f, 0x9c, 0x2a, 0xdb, 0x09, 0xa1, 0x62, 0xe3, 0xa1, 0x6b, - 0xdd, 0x38, 0x92, 0x2a, 0x0c, 0xa5, 0xd0, 0x78, 0x6a, 0xb8, 0xef, 0x85, 0x0e, 0x5f, 0x87, 0x59, 0xdc, 0x66, 0x8d, - 0xa4, 0xc6, 0x38, 0x15, 0x26, 0x4e, 0xa5, 0x5c, 0x45, 0x02, 0x03, 0xe5, 0xd9, 0xc2, 0x20, 0xc0, 0x24, 0x26, 0x19, - 0x5b, 0x0b, 0x61, 0xc2, 0xd8, 0xb9, 0xc2, 0x34, 0x75, 0x91, 0xfa, 0xcd, 0xc0, 0x64, 0x41, 0x43, 0x7e, 0x8f, 0x46, - 0x6b, 0xaa, 0xa6, 0x00, 0xc3, 0x38, 0x4a, 0x35, 0xfe, 0x2d, 0x42, 0x6d, 0x86, 0x01, 0x80, 0x6d, 0xde, 0xca, 0x4c, - 0x54, 0x2f, 0x05, 0x42, 0xa0, 0x39, 0xfb, 0xa9, 0xb8, 0xda, 0x99, 0x05, 0xa3, 0x68, 0xb7, 0x57, 0x3e, 0x1f, 0x38, - 0xa1, 0x3c, 0x55, 0x17, 0xa8, 0x17, 0xb2, 0x78, 0x25, 0x53, 0xde, 0x0a, 0x91, 0x79, 0x20, 0xd9, 0x4f, 0xf9, 0x08, - 0xce, 0x2b, 0x74, 0x2a, 0x37, 0xdb, 0x44, 0x99, 0x25, 0x49, 0xc6, 0x02, 0x63, 0xf3, 0x12, 0xcc, 0xa4, 0x66, 0xc6, - 0xf0, 0x6b, 0x88, 0x33, 0xb6, 0x73, 0x12, 0x6e, 0xf6, 0xf3, 0xc0, 0x10, 0xa5, 0x5c, 0xb4, 0x44, 0xc3, 0xd6, 0x8e, - 0xd7, 0x93, 0x6b, 0xc2, 0x7d, 0xd8, 0x88, 0x35, 0x19, 0x63, 0x5c, 0x9b, 0x1b, 0x59, 0x3f, 0x5a, 0xe0, 0xc1, 0x98, - 0xb2, 0xfe, 0x04, 0x32, 0xad, 0xa4, 0xac, 0xf3, 0x85, 0x11, 0x33, 0xa9, 0x44, 0xef, 0xf6, 0x8d, 0xcf, 0xea, 0x2e, - 0xa2, 0x7e, 0x6b, 0xbf, 0x27, 0xf5, 0x70, 0xe7, 0x3f, 0x28, 0xac, 0x41, 0x65, 0xc4, 0x65, 0x44, 0x79, 0xe6, 0x40, - 0x37, 0x4d, 0x8a, 0x38, 0x3d, 0x5b, 0xc5, 0x45, 0xc9, 0x53, 0xa8, 0x54, 0x53, 0xb7, 0xa8, 0x37, 0x01, 0x7b, 0x43, - 0x24, 0x49, 0xd6, 0xd2, 0xd8, 0x8a, 0x5d, 0x1a, 0xa4, 0x67, 0x6f, 0xc4, 0xa5, 0x17, 0x15, 0x1a, 0xd2, 0x52, 0xef, - 0x2c, 0x54, 0x32, 0x7f, 0xc5, 0x7f, 0x06, 0xb5, 0x02, 0x1d, 0x6d, 0x52, 0x8c, 0xa7, 0xc0, 0x88, 0xef, 0x06, 0xb3, - 0xba, 0x87, 0xb8, 0x68, 0x82, 0x52, 0xef, 0x88, 0x1d, 0x3f, 0x37, 0x79, 0x78, 0x17, 0x72, 0xce, 0xe0, 0xd3, 0xfb, - 0x59, 0xa2, 0xd6, 0x3a, 0x12, 0x23, 0x35, 0x03, 0x68, 0x3a, 0x28, 0x73, 0x1e, 0x8b, 0x60, 0xd6, 0x33, 0x89, 0x51, - 0x8f, 0xeb, 0x5f, 0xa0, 0xa1, 0xf6, 0x9b, 0x95, 0xe5, 0x59, 0x75, 0xf7, 0x25, 0x1c, 0xd8, 0xd4, 0x56, 0xd0, 0xe3, - 0x75, 0x25, 0x2f, 0x2f, 0x55, 0xb7, 0xfd, 0x42, 0x8c, 0x9c, 0xae, 0x71, 0x2d, 0x9d, 0x57, 0x0b, 0xd6, 0xeb, 0x4e, - 0x37, 0x8b, 0xbb, 0x59, 0x46, 0x03, 0x61, 0x6d, 0xe7, 0x13, 0xcd, 0x9f, 0x35, 0xdb, 0xee, 0xe3, 0x2d, 0x88, 0x59, - 0x00, 0x10, 0xe9, 0x41, 0x14, 0x2c, 0xb3, 0x94, 0x07, 0x54, 0xee, 0xe3, 0x28, 0x0b, 0xa5, 0x97, 0xb3, 0x8c, 0x9f, - 0x36, 0x8d, 0xb5, 0xce, 0x0a, 0x65, 0x68, 0x6d, 0x74, 0xa7, 0xab, 0x0c, 0xb1, 0xfd, 0x24, 0xce, 0x16, 0xe0, 0xfe, - 0x98, 0xa1, 0xd0, 0xd0, 0x59, 0x46, 0x9a, 0x68, 0xf8, 0xae, 0x3d, 0x83, 0x8c, 0xe2, 0x64, 0x9d, 0x57, 0xd2, 0x8d, - 0x3e, 0x6b, 0x23, 0x61, 0xee, 0x21, 0xfa, 0x55, 0x0c, 0x1e, 0xe5, 0x3e, 0xaf, 0x8d, 0x4e, 0xa6, 0x65, 0xa4, 0xdd, - 0xf9, 0x49, 0xbd, 0xcc, 0x52, 0xad, 0xc3, 0xf6, 0x19, 0xf6, 0xd6, 0x98, 0xf4, 0x26, 0xa4, 0x86, 0x91, 0xf8, 0x7c, - 0x46, 0x8d, 0x10, 0xd0, 0x96, 0xe3, 0xef, 0xf0, 0x19, 0x86, 0xa6, 0xc0, 0x52, 0xc5, 0x2d, 0xec, 0x86, 0xaf, 0xf9, - 0x64, 0xd5, 0x02, 0x10, 0xcc, 0xca, 0xd7, 0xbb, 0x78, 0x25, 0xd4, 0x67, 0xda, 0x0c, 0x00, 0x59, 0x50, 0xca, 0x1d, - 0x3f, 0xa5, 0xd2, 0xc1, 0x12, 0x45, 0xdb, 0xcb, 0xe9, 0x1b, 0x1d, 0x1b, 0xdf, 0xa7, 0xe7, 0x02, 0xb6, 0x0b, 0xf9, - 0xad, 0xbd, 0x7a, 0x89, 0x8a, 0xd4, 0xb6, 0x59, 0xf7, 0xf0, 0xe5, 0x06, 0x4d, 0xc2, 0x08, 0xca, 0x94, 0x29, 0x80, - 0xc1, 0x4d, 0x35, 0x0a, 0x26, 0xad, 0x46, 0xc2, 0x96, 0x7a, 0x92, 0xe5, 0xa6, 0x0f, 0x4e, 0xb5, 0x47, 0xd0, 0x73, - 0xab, 0x9c, 0x2f, 0x5a, 0xf6, 0x6b, 0x05, 0x47, 0x27, 0x57, 0x43, 0xd4, 0xcc, 0x7b, 0x6d, 0x47, 0x86, 0x94, 0xcb, - 0x30, 0x10, 0x4c, 0x39, 0xe6, 0xe9, 0xb1, 0xf5, 0x8c, 0x88, 0xee, 0x39, 0xfb, 0x4c, 0xb7, 0xea, 0x4a, 0x02, 0xa2, - 0xe3, 0x37, 0x8f, 0x5f, 0x5e, 0xc5, 0x97, 0x06, 0x45, 0xa9, 0x61, 0x11, 0xa3, 0x4c, 0xfb, 0x2a, 0x09, 0x83, 0xf7, - 0xcb, 0xbb, 0x9f, 0x54, 0x96, 0xda, 0xef, 0xc1, 0xc6, 0x8a, 0xaa, 0x7e, 0x29, 0x79, 0xd1, 0x14, 0x60, 0xed, 0xb3, - 0x44, 0x81, 0xdc, 0xef, 0x6c, 0x9a, 0xf9, 0x26, 0x6a, 0xdc, 0x6c, 0x58, 0x6f, 0x5c, 0xb7, 0x4b, 0x6d, 0xc9, 0x8e, - 0xac, 0x44, 0xce, 0x2c, 0x06, 0x33, 0x7e, 0x54, 0x18, 0x94, 0x86, 0x0d, 0xaa, 0x52, 0xf1, 0x7b, 0x23, 0x82, 0x53, - 0xc7, 0xaa, 0xc2, 0x98, 0x06, 0xcc, 0xb6, 0xa2, 0xd6, 0xa0, 0x0e, 0x4a, 0x69, 0x6b, 0x02, 0xb2, 0xfd, 0xce, 0x0a, - 0x6a, 0x7e, 0xff, 0xd3, 0x18, 0xf2, 0x35, 0xa5, 0xa0, 0x92, 0x80, 0x9d, 0x41, 0xa3, 0xa7, 0x4a, 0x18, 0x48, 0x41, - 0xf0, 0x04, 0x28, 0x5f, 0x44, 0x8d, 0xd5, 0x6e, 0x5f, 0x9d, 0x1a, 0xa3, 0x2d, 0x20, 0xb4, 0x90, 0x1e, 0x5d, 0xf6, - 0x71, 0x1b, 0xeb, 0x40, 0xe2, 0xc1, 0x09, 0xb6, 0x73, 0x75, 0x8d, 0x46, 0x42, 0xf3, 0xfb, 0x46, 0x03, 0x5e, 0xd3, - 0x0a, 0x14, 0xea, 0x39, 0x8e, 0x86, 0xce, 0x0e, 0x29, 0x88, 0xd8, 0xa0, 0x85, 0x7d, 0x7b, 0x3e, 0x34, 0xfb, 0x7a, - 0x9e, 0x2c, 0x48, 0x4d, 0xa5, 0xfb, 0xdc, 0x2d, 0x21, 0x6b, 0xd5, 0xa1, 0xac, 0x3c, 0xc0, 0xf1, 0x42, 0xc9, 0xfc, - 0x1d, 0x26, 0x35, 0x4a, 0x63, 0x42, 0x63, 0xc4, 0x02, 0x96, 0x04, 0xed, 0xf5, 0x40, 0xfd, 0x32, 0x08, 0x15, 0xce, - 0xf4, 0x44, 0xe2, 0x53, 0xca, 0xd5, 0xa7, 0x05, 0xa9, 0xa7, 0x05, 0x73, 0xa0, 0x97, 0xbe, 0x95, 0x5f, 0xd9, 0xf8, - 0x68, 0x77, 0xef, 0x9a, 0x0b, 0xeb, 0x18, 0xe2, 0x62, 0x0b, 0xbf, 0x39, 0x35, 0x05, 0x60, 0xc3, 0x53, 0x5d, 0x96, - 0x6f, 0xd4, 0x44, 0x66, 0x71, 0x48, 0x22, 0x90, 0x6c, 0x37, 0x37, 0xb7, 0x11, 0x6c, 0x7b, 0x0b, 0xb5, 0xa1, 0xfe, - 0xf2, 0xb6, 0xfb, 0x9e, 0xe1, 0xe5, 0x9e, 0xdc, 0xbb, 0x69, 0x43, 0xf9, 0xc3, 0xfe, 0x55, 0xf2, 0x7f, 0x55, 0xc9, - 0x7e, 0xab, 0xcc, 0xba, 0x2d, 0xde, 0xef, 0x3a, 0x6e, 0x39, 0x46, 0x83, 0xc0, 0x9a, 0x02, 0x03, 0xe9, 0x49, 0x63, - 0x9a, 0xe8, 0xe8, 0xca, 0x8c, 0x19, 0x3c, 0xba, 0x00, 0xcd, 0x61, 0x3a, 0xcf, 0x63, 0x00, 0x0e, 0xf0, 0x8f, 0x3c, - 0x42, 0xfd, 0xd3, 0x79, 0x1e, 0x9c, 0x05, 0x83, 0x72, 0x10, 0xe8, 0x4f, 0x5c, 0x73, 0x82, 0x05, 0xe8, 0xdc, 0x62, - 0x06, 0x71, 0x27, 0xad, 0x99, 0x43, 0x7c, 0x9c, 0x4c, 0x07, 0x83, 0x98, 0x6c, 0x00, 0xa4, 0x2f, 0x5e, 0x58, 0xe7, - 0xa0, 0x42, 0x2f, 0xc8, 0x56, 0xdd, 0x45, 0xb3, 0x62, 0xaf, 0xda, 0x69, 0xde, 0xef, 0xe7, 0xf3, 0x72, 0x10, 0x34, - 0x2a, 0x2c, 0x8c, 0xf7, 0x1f, 0x6d, 0x7e, 0x69, 0x74, 0xd2, 0x04, 0x23, 0xd6, 0x9e, 0xa2, 0x7a, 0xc5, 0xd3, 0x8c, - 0x36, 0x6e, 0xc7, 0x4a, 0xf9, 0x02, 0xa2, 0x78, 0x60, 0xc8, 0x5a, 0x79, 0x77, 0x0e, 0x5e, 0x97, 0x1b, 0x6f, 0x8e, - 0x28, 0xc0, 0x6e, 0x0a, 0xe3, 0xa4, 0xe6, 0xa2, 0x8b, 0x9a, 0x78, 0x06, 0x3b, 0x5d, 0xbd, 0x95, 0x68, 0x35, 0xde, - 0x8b, 0x77, 0xcd, 0xc6, 0x5f, 0xcb, 0x03, 0x5d, 0xe6, 0xc1, 0x05, 0x20, 0xce, 0x1e, 0xc4, 0xd5, 0x01, 0x96, 0x7a, - 0x10, 0x0c, 0x2c, 0x72, 0x48, 0xbb, 0x5a, 0x3d, 0x14, 0x91, 0x3a, 0x8f, 0xc1, 0x80, 0xc9, 0x34, 0xa4, 0x26, 0xd3, - 0x5e, 0xac, 0x20, 0x6d, 0xac, 0xb5, 0x80, 0x36, 0x1c, 0x16, 0x3b, 0x76, 0xc3, 0xee, 0x74, 0xeb, 0x50, 0x28, 0x61, - 0x20, 0xeb, 0xba, 0x79, 0xa8, 0x35, 0x3c, 0x11, 0xf4, 0xa0, 0x1a, 0xed, 0xa7, 0x87, 0xf2, 0xa4, 0x3d, 0x16, 0xe0, - 0xa2, 0x87, 0x2f, 0x9f, 0x0b, 0xbc, 0x68, 0xef, 0x20, 0xcf, 0x99, 0x4f, 0x95, 0x0f, 0x62, 0xc3, 0x2d, 0xc3, 0x87, - 0xf6, 0xf1, 0xad, 0x40, 0x26, 0x75, 0x47, 0x53, 0x5b, 0xbb, 0xa3, 0x71, 0x4c, 0xa0, 0xdf, 0x94, 0xa3, 0x94, 0x89, - 0xa9, 0x65, 0xc9, 0x4e, 0x7a, 0xb9, 0xf2, 0x86, 0x4a, 0xd9, 0xc9, 0xb2, 0xcd, 0xf9, 0xa5, 0x8d, 0x84, 0x7e, 0x5f, - 0xbb, 0x03, 0xe1, 0x1b, 0xb5, 0xde, 0x90, 0x97, 0x0d, 0x11, 0xcb, 0x21, 0x66, 0xe0, 0x78, 0x21, 0x95, 0x6b, 0x77, - 0xd1, 0x54, 0xd5, 0xed, 0x6c, 0xe5, 0x82, 0x96, 0x78, 0x2b, 0x05, 0x56, 0x91, 0x3a, 0xbd, 0x9e, 0x4a, 0xdc, 0xf7, - 0x51, 0x6c, 0x3f, 0x02, 0xb6, 0xb1, 0x71, 0x34, 0x36, 0x6e, 0x11, 0x1b, 0x7c, 0x15, 0x55, 0xb4, 0xe0, 0x00, 0xc1, - 0xdd, 0x96, 0xd4, 0xd2, 0xcc, 0x21, 0xee, 0x2b, 0x1e, 0xa0, 0x7d, 0x17, 0x47, 0x9c, 0x0a, 0xb0, 0xad, 0x6b, 0x9d, - 0xb3, 0x5a, 0x0e, 0xd8, 0x4c, 0xf4, 0xfc, 0xd3, 0xaa, 0x91, 0x88, 0x61, 0x95, 0x8d, 0x94, 0x15, 0xda, 0xbd, 0xd2, - 0x25, 0x5c, 0x7c, 0x01, 0x5e, 0xb6, 0xf7, 0x2b, 0xbb, 0xcf, 0x96, 0xd8, 0x3f, 0xcc, 0xab, 0x26, 0x78, 0xe4, 0x35, - 0xde, 0xde, 0xc3, 0xc4, 0x97, 0x4a, 0x21, 0xbc, 0x4a, 0x69, 0x28, 0x01, 0x18, 0x24, 0x41, 0x0d, 0x57, 0xda, 0x36, - 0x83, 0x54, 0xc6, 0xb0, 0xbb, 0xd5, 0x5b, 0xfd, 0x9f, 0x56, 0xe1, 0xa2, 0x92, 0xc5, 0x98, 0x04, 0x3a, 0xa7, 0x5a, - 0x6e, 0x02, 0x0b, 0x9e, 0xed, 0x92, 0x23, 0x50, 0xd8, 0x09, 0xe0, 0x86, 0x12, 0xf6, 0x4f, 0xbc, 0x0d, 0xe5, 0xec, - 0xb5, 0x95, 0x3c, 0xb9, 0x7d, 0x49, 0x05, 0x4d, 0xc8, 0x54, 0xd8, 0xfd, 0xdb, 0xda, 0xb0, 0xcf, 0x42, 0x39, 0x92, - 0x02, 0x17, 0x07, 0x9d, 0x03, 0xd8, 0x1f, 0xe4, 0x32, 0x36, 0x9f, 0x49, 0xbf, 0xaf, 0xde, 0x3f, 0xcd, 0xb3, 0xe4, - 0xe3, 0xce, 0x7b, 0xc3, 0xd3, 0x2c, 0x19, 0x50, 0x89, 0x98, 0x5a, 0x57, 0xc5, 0x70, 0xa9, 0x5d, 0x8c, 0x1b, 0x24, - 0x23, 0xde, 0x4b, 0x1d, 0x62, 0xc4, 0xf8, 0x22, 0x3b, 0x24, 0x25, 0xa7, 0xcb, 0xba, 0xb3, 0xe7, 0x5a, 0x34, 0x83, - 0xc6, 0x70, 0x3b, 0xde, 0x4b, 0x7a, 0x05, 0xa8, 0x00, 0xd1, 0x3d, 0x0b, 0x5c, 0xc3, 0x9b, 0x4b, 0xa2, 0xb1, 0xa5, - 0xa7, 0x2d, 0xd1, 0xc0, 0x5e, 0x99, 0x90, 0x54, 0x1b, 0x07, 0x58, 0xc4, 0xba, 0xfe, 0x18, 0x16, 0x00, 0xd4, 0x6a, - 0x90, 0x5e, 0xe9, 0x0b, 0x42, 0x55, 0x12, 0x82, 0xd1, 0x89, 0x84, 0x97, 0x01, 0x8d, 0x33, 0x93, 0x68, 0x61, 0x83, - 0x03, 0xfa, 0xb2, 0x32, 0x89, 0xc6, 0x86, 0x3c, 0xa0, 0xdc, 0xa6, 0x01, 0x0c, 0x3e, 0x48, 0x92, 0xe8, 0x87, 0xa5, - 0x49, 0x02, 0x41, 0x09, 0xca, 0x37, 0xe8, 0xbf, 0x4a, 0xcf, 0xc7, 0xf2, 0x47, 0xef, 0x50, 0xfa, 0x21, 0x2c, 0x40, - 0xa6, 0xa8, 0x2b, 0xa6, 0x19, 0x3b, 0xc9, 0xba, 0x8d, 0x49, 0x3c, 0x4f, 0xbb, 0xeb, 0x42, 0xb9, 0x74, 0x81, 0x5f, - 0x59, 0x86, 0x38, 0xd6, 0x4f, 0xe3, 0x15, 0x3b, 0x0d, 0xb9, 0xc6, 0x4b, 0x7f, 0x1a, 0xaf, 0x70, 0x86, 0x68, 0xd5, - 0x4a, 0x20, 0xca, 0x7f, 0xd5, 0x06, 0x0e, 0x71, 0x9f, 0x60, 0x90, 0x8b, 0xca, 0x7b, 0x20, 0x90, 0xb7, 0x15, 0x44, - 0xa4, 0x99, 0x5d, 0x87, 0x11, 0xa9, 0x76, 0x92, 0xcc, 0x97, 0x3f, 0xca, 0x4c, 0x78, 0xdf, 0xc0, 0x63, 0xb3, 0x59, - 0x36, 0xc5, 0x7c, 0xa1, 0x82, 0x39, 0xb8, 0x4f, 0x54, 0x5c, 0x8a, 0xca, 0x7f, 0xc2, 0x2e, 0x78, 0x31, 0x1e, 0xbc, - 0x5e, 0x23, 0xc0, 0x7e, 0xe5, 0x3f, 0x79, 0x63, 0xf6, 0xa7, 0x75, 0xe3, 0xcb, 0x4c, 0xc4, 0x07, 0x3e, 0xba, 0xa5, - 0x7c, 0x74, 0xe7, 0x65, 0xfa, 0xae, 0x01, 0x25, 0x32, 0x2a, 0x2b, 0xbe, 0x5a, 0xf1, 0x74, 0x76, 0x9d, 0x44, 0xd9, - 0xa8, 0xe2, 0x02, 0xa6, 0x17, 0x1c, 0xef, 0x92, 0xf5, 0x79, 0x96, 0xbc, 0x84, 0xd8, 0x03, 0x2b, 0xa9, 0xb0, 0xf8, - 0x61, 0x99, 0xa9, 0xc5, 0x2c, 0x64, 0x25, 0x05, 0x0f, 0x66, 0x37, 0x49, 0xf4, 0xe7, 0xd2, 0x43, 0x52, 0x33, 0x53, - 0xb6, 0xa9, 0x1d, 0xa1, 0x36, 0xbe, 0x8e, 0x74, 0xa3, 0x2d, 0x00, 0xe0, 0x9e, 0x2d, 0xd2, 0x48, 0x32, 0x31, 0x9c, - 0xd4, 0x8c, 0x9b, 0xf4, 0x02, 0x53, 0xe3, 0x9a, 0x55, 0x34, 0x71, 0x16, 0x32, 0xa0, 0xf7, 0xa7, 0xb9, 0x7e, 0xce, - 0xe0, 0xfe, 0x83, 0xd6, 0xc0, 0xe5, 0x71, 0xd1, 0xef, 0xcb, 0xe3, 0x62, 0xbb, 0x2d, 0x4f, 0xe2, 0x7e, 0x5f, 0x9e, - 0xc4, 0x86, 0x7f, 0x50, 0x8a, 0x6d, 0x63, 0x6e, 0x90, 0xd0, 0x5c, 0x42, 0xd4, 0xa2, 0x11, 0xfc, 0xa1, 0x59, 0xce, - 0x45, 0x94, 0x1f, 0x27, 0xfd, 0x7e, 0x6f, 0x39, 0x13, 0x83, 0x7c, 0x98, 0x44, 0xf9, 0x30, 0xf1, 0x9c, 0x10, 0x7f, - 0xf5, 0x9c, 0x10, 0x15, 0x0d, 0x5c, 0xc1, 0x99, 0x01, 0x88, 0x02, 0x3e, 0xfd, 0xa3, 0xba, 0x96, 0x42, 0xd7, 0x12, - 0xab, 0x5a, 0x12, 0x5d, 0x41, 0xcd, 0x6e, 0x8a, 0xb0, 0xc4, 0x52, 0xe8, 0x92, 0x7d, 0xb7, 0x04, 0x9e, 0x28, 0xe7, - 0xd5, 0x06, 0x18, 0xd8, 0x08, 0xef, 0x1c, 0x26, 0x9c, 0xc4, 0xba, 0x06, 0xb4, 0xd3, 0x4d, 0x4d, 0x2f, 0xe8, 0x8a, - 0x5e, 0x22, 0x3f, 0x7b, 0x01, 0x06, 0x4b, 0xc7, 0x2c, 0x9f, 0x0e, 0x06, 0x17, 0x64, 0xc5, 0xca, 0x79, 0x18, 0x0f, - 0xc2, 0xf5, 0x2c, 0x1f, 0x5e, 0x44, 0x17, 0x84, 0x7c, 0x55, 0x2c, 0x68, 0x6f, 0x35, 0x2a, 0x3f, 0x66, 0x10, 0xde, - 0x2f, 0x9d, 0x85, 0x99, 0x89, 0xf3, 0xb1, 0x1a, 0xdd, 0xd2, 0x15, 0xc4, 0xaf, 0x81, 0x1b, 0x09, 0x89, 0xa0, 0x23, - 0x97, 0x74, 0x45, 0xd7, 0x54, 0x9a, 0x19, 0xc6, 0x68, 0xdd, 0xf6, 0x38, 0x49, 0xc0, 0x31, 0xd9, 0x15, 0x1f, 0x8d, - 0x55, 0xe1, 0x5d, 0xdf, 0x11, 0xda, 0xeb, 0x25, 0x6e, 0x90, 0x7e, 0x68, 0x0f, 0x12, 0x30, 0x22, 0x23, 0x35, 0x50, - 0x66, 0x64, 0x24, 0x35, 0x93, 0x8a, 0x43, 0x12, 0xfb, 0x43, 0xa2, 0xc6, 0x21, 0xf1, 0xc7, 0x21, 0xd7, 0xe3, 0x80, - 0xdc, 0xfd, 0x92, 0x8d, 0x69, 0xca, 0xc6, 0x74, 0xad, 0x46, 0x85, 0x5e, 0xd1, 0x73, 0x4d, 0x1d, 0xcf, 0xd8, 0x53, - 0x38, 0xb0, 0x07, 0x61, 0x3e, 0x8b, 0x87, 0x4f, 0xa3, 0xa7, 0x84, 0x7c, 0x25, 0xe9, 0xb5, 0xba, 0x94, 0x41, 0x20, - 0xc4, 0x2b, 0x70, 0x2e, 0x75, 0xa1, 0x4e, 0xae, 0xcc, 0x8e, 0xc3, 0xa7, 0xcb, 0xc6, 0xd3, 0x39, 0x44, 0xf4, 0x41, - 0x2b, 0x95, 0x7e, 0x3f, 0xbc, 0x60, 0xe5, 0xfc, 0x2c, 0x1c, 0x13, 0xc0, 0xe1, 0xd1, 0xc3, 0x79, 0x31, 0xba, 0xa5, - 0x17, 0xa3, 0x3b, 0x02, 0x16, 0x5e, 0xe3, 0xe9, 0xfa, 0x98, 0xc5, 0xd3, 0xc1, 0x60, 0x8d, 0x54, 0x5d, 0xe5, 0x5e, - 0x93, 0x05, 0xbd, 0xc0, 0x89, 0x20, 0xc0, 0xd0, 0x67, 0x62, 0x6d, 0x68, 0xf8, 0x53, 0x06, 0x1f, 0xdf, 0xb1, 0x8b, - 0xd1, 0x1d, 0xbd, 0x65, 0x4f, 0xb7, 0xe3, 0x29, 0x30, 0x53, 0xab, 0x59, 0x78, 0x77, 0x7c, 0x39, 0xbb, 0x64, 0x77, - 0xd1, 0xdd, 0x09, 0x34, 0xf4, 0x8a, 0xdd, 0x21, 0xe0, 0x52, 0xfa, 0x70, 0x39, 0x78, 0x4a, 0x0e, 0x07, 0x83, 0x94, - 0x44, 0xe1, 0x75, 0xe8, 0xb5, 0xf2, 0x29, 0xbd, 0x23, 0x74, 0xc5, 0x6e, 0x71, 0x34, 0x2e, 0x19, 0x7e, 0x70, 0xce, - 0xee, 0xea, 0xeb, 0xd0, 0xdb, 0xcd, 0x89, 0xe8, 0x04, 0x31, 0x42, 0x5f, 0x03, 0x47, 0xb3, 0x5c, 0x98, 0x09, 0x78, - 0x32, 0x17, 0x19, 0x2d, 0x0a, 0xcd, 0x40, 0x9c, 0x95, 0x80, 0x58, 0x12, 0x75, 0xbf, 0xd9, 0xe8, 0x0c, 0x96, 0x73, - 0xbf, 0xdf, 0xab, 0x0c, 0x3d, 0x40, 0xe4, 0xcc, 0x4e, 0x7a, 0xd0, 0xf3, 0xe9, 0x01, 0x7e, 0xa2, 0x57, 0x0d, 0xe2, - 0x64, 0xfe, 0xb0, 0x8c, 0x7e, 0xf5, 0xe8, 0xc3, 0x2f, 0xdd, 0x94, 0xa7, 0xcc, 0xff, 0x7d, 0xca, 0x23, 0xf3, 0xe8, - 0x55, 0xe5, 0x81, 0xe0, 0x79, 0x6b, 0x52, 0x69, 0x24, 0xaa, 0xd1, 0xd9, 0x2a, 0x06, 0x6d, 0x24, 0x6a, 0x1b, 0xf4, - 0x13, 0x5a, 0x58, 0x41, 0x84, 0x9c, 0xa3, 0x67, 0x60, 0x90, 0x0a, 0xa1, 0x72, 0xd4, 0xa2, 0x44, 0x43, 0x90, 0x5c, - 0x96, 0x5c, 0x85, 0xcf, 0x21, 0x54, 0x9d, 0x3e, 0xce, 0x44, 0xd8, 0xd0, 0xe3, 0xd0, 0x07, 0x80, 0xff, 0xe7, 0x0e, - 0xb9, 0x28, 0xf9, 0x25, 0x9e, 0xcd, 0x6d, 0x82, 0x51, 0xb0, 0x44, 0x34, 0x43, 0xdb, 0x20, 0xf6, 0x63, 0x49, 0xb0, - 0x1e, 0x49, 0xe3, 0x51, 0x69, 0x8e, 0x08, 0x3f, 0x8a, 0x8f, 0xa2, 0xa7, 0xb1, 0x21, 0x91, 0x1c, 0x49, 0x24, 0x1f, - 0x00, 0xe1, 0x24, 0xe8, 0x2f, 0xee, 0x9a, 0xec, 0x5a, 0x48, 0x0c, 0xfa, 0xd3, 0x92, 0x69, 0xd9, 0xbd, 0xea, 0xb1, - 0xaf, 0x08, 0x72, 0xc7, 0xf4, 0xef, 0x5e, 0x1f, 0xfe, 0x5a, 0xe2, 0x0c, 0x5a, 0xcf, 0x17, 0xd5, 0x99, 0x99, 0x37, - 0xb8, 0x91, 0xd7, 0x65, 0xed, 0xba, 0x7c, 0xc1, 0x0f, 0xf8, 0x6d, 0xc5, 0x45, 0x5a, 0x1e, 0xfc, 0x5c, 0xb5, 0xf1, - 0x9c, 0xca, 0xf5, 0xca, 0xc5, 0x59, 0x51, 0xc6, 0xa9, 0x9e, 0xd4, 0xc5, 0x58, 0xc3, 0x36, 0xfc, 0x1e, 0x51, 0x57, - 0xd2, 0x72, 0xf4, 0x94, 0x72, 0xd5, 0x4c, 0xb9, 0x58, 0xe7, 0xf9, 0x4f, 0x3b, 0xa9, 0x38, 0xc5, 0xcd, 0x14, 0xa4, - 0x4a, 0x2d, 0x17, 0x50, 0x3d, 0x47, 0x2d, 0x77, 0x4b, 0xb3, 0x03, 0x9c, 0xdb, 0xa6, 0xfa, 0x58, 0x99, 0x5d, 0x78, - 0xc9, 0x8d, 0xfb, 0x93, 0x29, 0xc3, 0x82, 0x51, 0x68, 0xb3, 0xea, 0x4a, 0xdb, 0x17, 0x5a, 0xa7, 0x61, 0xb8, 0xf2, - 0xe3, 0x05, 0xa4, 0x0b, 0x18, 0xc7, 0x8b, 0x92, 0x89, 0x71, 0x7b, 0xf4, 0x56, 0x10, 0x5f, 0xb2, 0x15, 0x48, 0xbf, - 0xdf, 0x13, 0xde, 0xae, 0xeb, 0x68, 0xbb, 0x27, 0x4e, 0x19, 0x95, 0xab, 0x58, 0x7c, 0x1f, 0xaf, 0x0c, 0x64, 0xb2, - 0x3a, 0x1e, 0x1b, 0x63, 0x3a, 0xfd, 0x3e, 0x09, 0xfd, 0x42, 0x28, 0xf8, 0xac, 0x97, 0x56, 0x9e, 0xdc, 0x1e, 0x96, - 0x71, 0x8d, 0x5e, 0x89, 0x2b, 0xdd, 0x37, 0x23, 0x85, 0xd4, 0x23, 0x5f, 0x35, 0x05, 0xf4, 0x66, 0xec, 0x9b, 0xa9, - 0x30, 0x6f, 0x7b, 0xc6, 0x5c, 0x21, 0x58, 0xa9, 0xb2, 0xdb, 0x77, 0x6a, 0x4c, 0xc5, 0x0c, 0xa6, 0xd8, 0x76, 0x16, - 0x93, 0x6e, 0xe5, 0x9f, 0x76, 0xee, 0xd3, 0xbc, 0xc3, 0x5d, 0x51, 0xbf, 0x05, 0x2e, 0x34, 0x2b, 0xca, 0xaa, 0x2d, - 0x1b, 0xb6, 0x8d, 0x37, 0xb2, 0x50, 0x6c, 0x80, 0x65, 0xcf, 0x7d, 0x0b, 0x0f, 0x10, 0x37, 0xe1, 0x9e, 0x5d, 0xd4, - 0x70, 0x63, 0xf8, 0xb2, 0x92, 0x7c, 0x57, 0x1a, 0x73, 0xe9, 0x53, 0xa5, 0x89, 0xe1, 0x64, 0x31, 0xe2, 0x22, 0x5d, - 0xd4, 0x99, 0x5d, 0x0b, 0x9f, 0xf1, 0x32, 0x9c, 0xf3, 0x85, 0xd1, 0x4d, 0xe9, 0xd2, 0x0b, 0x96, 0xe8, 0x4e, 0x6f, - 0x56, 0x1a, 0x2b, 0x25, 0xe2, 0xd6, 0x2c, 0x13, 0x28, 0x4b, 0x59, 0x2b, 0xe1, 0x4d, 0xd1, 0xb2, 0x95, 0x34, 0xf2, - 0x9e, 0x39, 0xb8, 0x8f, 0xfd, 0x82, 0x98, 0xc8, 0x26, 0x30, 0x29, 0x1a, 0x3a, 0xa0, 0x5d, 0x75, 0xe1, 0x9b, 0x51, - 0x0f, 0x06, 0xb9, 0x25, 0x89, 0x58, 0x41, 0x8a, 0x15, 0xac, 0x6b, 0x56, 0xcc, 0xf3, 0x05, 0xbd, 0x60, 0x72, 0x9e, - 0x2e, 0xe8, 0x8a, 0xc9, 0xf9, 0x1a, 0x6f, 0x42, 0x17, 0x70, 0x42, 0x92, 0x4d, 0xac, 0x14, 0xb0, 0x17, 0x78, 0x79, - 0xc3, 0x33, 0x55, 0xd3, 0xb2, 0x4b, 0xc5, 0x01, 0xc6, 0xe7, 0x65, 0x18, 0x96, 0xc3, 0x0b, 0xb0, 0x96, 0x38, 0x0c, - 0x57, 0x73, 0xbe, 0x50, 0xbf, 0x21, 0xea, 0x7c, 0x12, 0x2a, 0x76, 0xc1, 0xee, 0x05, 0x32, 0xbd, 0x9a, 0xf3, 0x85, - 0x1a, 0x09, 0x5d, 0xf0, 0x95, 0x35, 0x36, 0x89, 0x3d, 0x41, 0xcb, 0x2c, 0x9e, 0x8f, 0x17, 0x51, 0x5c, 0xc3, 0x32, - 0x7c, 0xaf, 0x66, 0xa6, 0x25, 0xff, 0x49, 0xd4, 0x86, 0x26, 0xfa, 0x06, 0xab, 0xc8, 0x1f, 0x1e, 0x1f, 0x5d, 0x02, - 0x19, 0x3b, 0xbb, 0x92, 0x99, 0x0f, 0x7d, 0x1f, 0x19, 0xdc, 0x73, 0x53, 0xce, 0xb8, 0x0a, 0x12, 0x65, 0xe0, 0xee, - 0xd5, 0x2c, 0x19, 0x6b, 0x11, 0xbe, 0x7b, 0x54, 0x14, 0x7d, 0x26, 0x4d, 0x03, 0xba, 0x8f, 0x04, 0x73, 0xa0, 0xf7, - 0x0a, 0x1d, 0x2e, 0xab, 0x6d, 0x26, 0xe0, 0x2f, 0x12, 0xe4, 0xb7, 0x42, 0xaf, 0x6a, 0x0c, 0xaa, 0x68, 0x17, 0xb1, - 0xf4, 0xef, 0x23, 0x7e, 0x94, 0xcd, 0xdf, 0xcd, 0x3d, 0x5e, 0x49, 0x18, 0xfc, 0x90, 0x9a, 0x4d, 0x32, 0x6f, 0xaf, - 0xd8, 0x7b, 0xe8, 0xa8, 0x47, 0xad, 0xf1, 0xbe, 0x7a, 0xc1, 0x29, 0xc4, 0x28, 0xa1, 0xe8, 0x24, 0x18, 0xc0, 0xed, - 0x12, 0x52, 0xdc, 0x0d, 0x76, 0xd3, 0xbc, 0xe6, 0x45, 0xc1, 0xf9, 0xba, 0xaa, 0x02, 0x3f, 0xa0, 0xe1, 0x7c, 0xb1, - 0x1b, 0xc2, 0x70, 0x4c, 0x5b, 0xd7, 0x30, 0x08, 0x33, 0x86, 0x91, 0x10, 0xbc, 0xfe, 0x45, 0x8f, 0x68, 0x12, 0xaf, - 0xbe, 0xe3, 0x9f, 0x32, 0x5e, 0x28, 0x22, 0x0d, 0x22, 0xa4, 0x6e, 0xe2, 0x1b, 0x99, 0x26, 0x05, 0x14, 0x02, 0x8c, - 0x02, 0x2a, 0xb1, 0xa1, 0xa9, 0xf8, 0x5b, 0x2d, 0x3e, 0xf8, 0xa9, 0xe9, 0x78, 0x34, 0xae, 0x5b, 0x9d, 0x51, 0x41, - 0x67, 0xa0, 0x47, 0xad, 0xa8, 0xa7, 0x41, 0x2b, 0xc1, 0x34, 0xd2, 0xbc, 0x75, 0x0f, 0x81, 0x57, 0xa6, 0xc5, 0x3b, - 0x0f, 0xe8, 0xe6, 0xcc, 0x07, 0x4f, 0x1e, 0xd3, 0x33, 0x87, 0x9e, 0x5c, 0xb1, 0x93, 0xaa, 0x87, 0xda, 0x7b, 0x33, - 0x42, 0x41, 0xbf, 0x8f, 0x29, 0xd0, 0x8d, 0xa0, 0xf6, 0xae, 0xee, 0x95, 0xdc, 0xe5, 0xf0, 0x1d, 0x67, 0xb9, 0x01, - 0x2c, 0x15, 0x59, 0x2b, 0xf0, 0x28, 0x40, 0x5d, 0x2a, 0x43, 0xd8, 0x62, 0x0e, 0x87, 0xca, 0x6e, 0xd5, 0x6a, 0x28, - 0xc9, 0x71, 0x39, 0x02, 0x87, 0xd0, 0x75, 0x39, 0x28, 0x47, 0xcb, 0xac, 0x7a, 0x87, 0xbf, 0x35, 0xeb, 0x90, 0x64, - 0xfb, 0x58, 0x07, 0x6e, 0x59, 0x87, 0xe9, 0x47, 0x83, 0x14, 0x80, 0x26, 0x1b, 0x81, 0x4b, 0x00, 0xde, 0xdb, 0x7f, - 0x44, 0xa8, 0x95, 0xe9, 0x5e, 0xc6, 0x42, 0x7d, 0xdf, 0x48, 0x82, 0x12, 0x9a, 0x09, 0x95, 0x63, 0x29, 0x78, 0xe7, - 0x91, 0xce, 0x49, 0x9d, 0x89, 0x77, 0x20, 0x4e, 0x0b, 0xef, 0xd9, 0x5b, 0x10, 0x9c, 0xb3, 0xa0, 0x77, 0x78, 0x9b, - 0xd5, 0x52, 0x1b, 0x3d, 0x50, 0x00, 0xbf, 0x1b, 0xdc, 0x21, 0xc8, 0x57, 0x63, 0xb8, 0x56, 0xf2, 0x26, 0xe4, 0xc3, - 0x82, 0x1e, 0x91, 0x81, 0x7d, 0x16, 0xc3, 0x98, 0x1e, 0x91, 0x63, 0xfb, 0x2c, 0xdd, 0x00, 0x0e, 0xa4, 0x1e, 0x55, - 0x7a, 0x04, 0x0d, 0xfa, 0xdd, 0xb6, 0xc8, 0x1d, 0x80, 0xd2, 0x28, 0x62, 0xa0, 0x4a, 0x10, 0x51, 0x8b, 0x7f, 0xde, - 0x9b, 0xeb, 0x0e, 0x73, 0x81, 0x30, 0x07, 0x03, 0x0e, 0xe2, 0x36, 0x08, 0xcd, 0x01, 0xb3, 0xb9, 0x8d, 0x04, 0xbd, - 0xb3, 0x86, 0x99, 0x1d, 0xfd, 0xe1, 0x56, 0x82, 0x6f, 0xb2, 0xd6, 0xa8, 0xf3, 0xe2, 0x10, 0x08, 0x82, 0x37, 0x85, - 0xaa, 0xf6, 0xaa, 0x07, 0x36, 0xde, 0xaa, 0x1f, 0xdb, 0xed, 0x78, 0x2a, 0xdc, 0xb5, 0x5f, 0x50, 0x38, 0xf9, 0x94, - 0xfc, 0xeb, 0x9d, 0xc9, 0xe0, 0xc0, 0xc8, 0xf0, 0xa5, 0xb7, 0x7f, 0xe1, 0x6b, 0x2d, 0xdd, 0x13, 0x83, 0x92, 0x3c, - 0x3c, 0x52, 0xf4, 0x6f, 0xaf, 0xac, 0x7c, 0x6a, 0xa7, 0x7f, 0xbb, 0x35, 0xeb, 0xf3, 0x78, 0x34, 0xd9, 0x6e, 0x7b, - 0x71, 0xa5, 0x3d, 0xd6, 0xf4, 0x82, 0x40, 0xe7, 0x7a, 0x72, 0x78, 0x04, 0x51, 0x11, 0x9a, 0x71, 0x37, 0xcb, 0x86, - 0x44, 0xc6, 0x8f, 0xd3, 0x59, 0x36, 0x04, 0x3b, 0xdc, 0x8b, 0x4a, 0x5c, 0x8e, 0x5a, 0x1b, 0x9c, 0xde, 0x25, 0x21, - 0x84, 0x72, 0xc0, 0xca, 0x6e, 0xd5, 0x9f, 0x3b, 0x65, 0x26, 0xa4, 0x26, 0xab, 0xdb, 0x29, 0xdd, 0xc3, 0x34, 0x3f, - 0x30, 0x23, 0x38, 0xe0, 0xde, 0xfe, 0xaa, 0x3f, 0x86, 0x49, 0xa6, 0xc9, 0x29, 0x92, 0x5f, 0xa4, 0xa7, 0x90, 0xb4, - 0x43, 0x4f, 0x15, 0x01, 0x9c, 0x50, 0xfb, 0x31, 0xfc, 0x86, 0x71, 0xff, 0xae, 0xf9, 0xda, 0x4d, 0x45, 0xf4, 0x98, - 0x62, 0x99, 0x9a, 0x9c, 0x26, 0x59, 0x91, 0x40, 0xd4, 0x46, 0xd5, 0x8c, 0xe8, 0x91, 0x8b, 0xf9, 0xa8, 0x08, 0x9f, - 0x57, 0xeb, 0xff, 0x0c, 0xe1, 0x33, 0x0a, 0x37, 0x80, 0xcb, 0x2b, 0x2e, 0xcf, 0xc3, 0x27, 0x8f, 0xe9, 0xc1, 0xe4, - 0x9b, 0x23, 0x7a, 0x70, 0xf4, 0xe8, 0x09, 0x01, 0x58, 0xb4, 0xcb, 0xf3, 0xf0, 0xe8, 0xc9, 0x13, 0x7a, 0xf0, 0xed, - 0xb7, 0xf4, 0x60, 0xf2, 0xe8, 0xa8, 0x91, 0x36, 0x79, 0xf2, 0x2d, 0x3d, 0xf8, 0xe6, 0x71, 0x23, 0xed, 0x68, 0xfc, - 0x84, 0x1e, 0xfc, 0xfd, 0x1b, 0x93, 0xf6, 0x37, 0xc8, 0xf6, 0xed, 0x11, 0xfe, 0x67, 0xd2, 0x26, 0x4f, 0x1e, 0xd1, - 0x83, 0xc9, 0x18, 0x2a, 0x79, 0xe2, 0x2a, 0x19, 0x4f, 0xe0, 0xe3, 0x47, 0xf0, 0xdf, 0xdf, 0x08, 0x6c, 0x02, 0xc9, - 0x72, 0x81, 0xfa, 0x33, 0x14, 0x71, 0xa2, 0x6a, 0x22, 0xe1, 0x21, 0x66, 0x56, 0xdf, 0xc4, 0x61, 0x40, 0x5c, 0x3a, - 0x14, 0x44, 0x0f, 0xc6, 0xa3, 0x27, 0x24, 0xf0, 0xe1, 0xe9, 0x3e, 0xfa, 0x20, 0x63, 0xb9, 0x98, 0x67, 0x5f, 0xe5, - 0x26, 0xb6, 0x82, 0x07, 0x60, 0xf5, 0xde, 0xcf, 0xc5, 0xe5, 0x3c, 0xfb, 0x8a, 0xcb, 0xdd, 0x5c, 0xff, 0x68, 0x01, - 0xca, 0xfb, 0xab, 0x96, 0x7d, 0x2c, 0x54, 0xe8, 0xb4, 0xd6, 0xe8, 0xb3, 0xf7, 0x98, 0x3e, 0x18, 0x78, 0x37, 0xec, - 0xef, 0x77, 0xca, 0x69, 0x7d, 0xa3, 0x51, 0xa8, 0x51, 0x79, 0x48, 0xd8, 0x09, 0x14, 0x3d, 0x18, 0x00, 0x4f, 0xe0, - 0xe1, 0xbe, 0xfd, 0x9b, 0x65, 0xbc, 0xef, 0x28, 0xe3, 0x5f, 0x28, 0x43, 0x40, 0xa3, 0x1e, 0x66, 0x37, 0x3d, 0x6c, - 0x74, 0xab, 0x97, 0x2c, 0xd5, 0xc9, 0xd4, 0xf4, 0x0c, 0xf6, 0xb5, 0xae, 0xe5, 0x81, 0x11, 0x45, 0xcb, 0x8b, 0x83, - 0x94, 0xcf, 0x2a, 0xf6, 0xfd, 0x12, 0xd5, 0x5b, 0x51, 0xe3, 0x8d, 0xcc, 0x66, 0x15, 0xfb, 0xd9, 0xbc, 0x01, 0x6e, - 0x86, 0xfd, 0x43, 0x3d, 0xf9, 0x81, 0x33, 0x32, 0x69, 0xdb, 0xa3, 0x4c, 0x8c, 0x00, 0x2b, 0x20, 0x03, 0x07, 0x1e, - 0x00, 0x1d, 0xf4, 0x47, 0x7b, 0xbb, 0x55, 0x29, 0xcd, 0x3e, 0x5b, 0x18, 0x40, 0xc3, 0xbc, 0x4d, 0x3c, 0x54, 0xb3, - 0x86, 0xbc, 0x04, 0x85, 0x5b, 0xcd, 0xf2, 0x76, 0x0a, 0x43, 0x08, 0xc1, 0x2a, 0x65, 0x00, 0x38, 0x10, 0x60, 0x30, - 0xd6, 0x32, 0xa0, 0x66, 0xcb, 0x47, 0x1b, 0xae, 0xd4, 0x93, 0xc0, 0x19, 0x5c, 0xc8, 0x22, 0xe1, 0x6f, 0xb4, 0xd8, - 0x1f, 0xad, 0x1f, 0x7d, 0xdf, 0x1e, 0x0f, 0xd6, 0xbe, 0xc7, 0x47, 0xfa, 0xb3, 0xc6, 0x75, 0x60, 0xd3, 0xf2, 0x8d, - 0x17, 0xb5, 0x95, 0x78, 0x94, 0xc0, 0x1b, 0x98, 0x88, 0x14, 0x06, 0xa9, 0x16, 0x38, 0x06, 0xe5, 0x8d, 0x85, 0x58, - 0xaa, 0xae, 0x6e, 0xe8, 0x96, 0x0c, 0xc1, 0xc3, 0xed, 0xc7, 0xa5, 0x0a, 0x1c, 0xd5, 0xef, 0x67, 0xd2, 0x77, 0x7b, - 0x32, 0x76, 0xe4, 0x38, 0xf5, 0x53, 0xe1, 0xe0, 0xbf, 0x49, 0x5d, 0x1b, 0xbb, 0xfb, 0x94, 0x59, 0x96, 0x85, 0x9d, - 0x84, 0x5a, 0xee, 0x51, 0x79, 0x90, 0x7c, 0x21, 0x87, 0x48, 0x16, 0x18, 0x85, 0x82, 0x0c, 0x27, 0x54, 0x8c, 0xd6, - 0xa2, 0x5c, 0x66, 0x17, 0x55, 0xb8, 0x51, 0x0a, 0x65, 0x4e, 0xd1, 0xb7, 0x1b, 0x1c, 0x48, 0x48, 0x94, 0x95, 0xaf, - 0xe3, 0xd7, 0x21, 0x82, 0xd5, 0x71, 0x6d, 0x0b, 0xc5, 0xbd, 0xfd, 0x99, 0xa5, 0x5d, 0xfc, 0x91, 0x71, 0x01, 0x75, - 0xb1, 0x98, 0x86, 0x13, 0xab, 0xdf, 0x71, 0x5f, 0x58, 0x4d, 0x0f, 0x40, 0x7d, 0x97, 0x4a, 0x8c, 0xa0, 0xbe, 0x32, - 0xf6, 0xb1, 0x3d, 0xc6, 0xe4, 0x0c, 0x62, 0x0d, 0xeb, 0xbb, 0x9d, 0xea, 0x1b, 0x61, 0x27, 0x00, 0xdc, 0x08, 0xad, - 0xd1, 0x91, 0x49, 0xaa, 0x10, 0xcf, 0x4b, 0x15, 0xbe, 0x35, 0x23, 0x74, 0x0c, 0xde, 0x54, 0xb6, 0x91, 0x42, 0xfa, - 0x82, 0x41, 0x73, 0x6c, 0xeb, 0x28, 0xac, 0xb6, 0xb2, 0xec, 0x04, 0xe0, 0x06, 0xb2, 0x63, 0x73, 0xf1, 0x9c, 0x55, - 0xf3, 0x6c, 0x11, 0x99, 0xa0, 0x80, 0x4b, 0x61, 0x19, 0xb4, 0xd7, 0x7b, 0x64, 0x3b, 0x0e, 0xa1, 0x1b, 0xee, 0x23, - 0x18, 0x4f, 0xbb, 0x29, 0x58, 0x41, 0x34, 0x42, 0x3c, 0xcc, 0x98, 0xc5, 0xf7, 0x4a, 0x53, 0x9e, 0xaa, 0x96, 0x40, - 0xe0, 0x28, 0x84, 0xba, 0xd8, 0x35, 0x4a, 0x70, 0x99, 0x1a, 0xc1, 0x0c, 0x76, 0xec, 0x48, 0x6d, 0x97, 0x9c, 0xd3, - 0xa1, 0x9a, 0xd2, 0x52, 0x4f, 0xa9, 0xf6, 0x35, 0x14, 0xf3, 0x12, 0x3d, 0xf4, 0xc0, 0xf5, 0x40, 0x3b, 0xe4, 0x95, - 0x74, 0x62, 0x22, 0xe8, 0xb4, 0xda, 0x84, 0x9d, 0x1b, 0xe9, 0x96, 0xd5, 0xc8, 0x3b, 0x86, 0x66, 0x47, 0xbc, 0xf4, - 0x03, 0x75, 0x01, 0x44, 0xc8, 0xde, 0x16, 0x99, 0xd9, 0x67, 0x59, 0xf9, 0x02, 0xca, 0xe2, 0x88, 0xad, 0x2b, 0xe0, - 0x5a, 0x0a, 0x26, 0x97, 0x3c, 0xca, 0x52, 0x44, 0x04, 0x3c, 0x55, 0xda, 0xf5, 0x9d, 0x96, 0x10, 0x2a, 0x52, 0x20, - 0x6e, 0x2e, 0x8a, 0x73, 0x6d, 0x03, 0x59, 0x00, 0x7d, 0xfb, 0x29, 0xbb, 0xf2, 0xc2, 0xc1, 0x6e, 0xae, 0x32, 0xf1, - 0x8c, 0x5f, 0x64, 0x82, 0xa7, 0x08, 0x76, 0x75, 0x6b, 0x1e, 0xb8, 0x63, 0xdb, 0xc0, 0xf2, 0xed, 0x3b, 0x58, 0x30, - 0x65, 0xa8, 0x95, 0x12, 0x99, 0x88, 0x04, 0x64, 0xf6, 0x99, 0xbb, 0x57, 0x99, 0x78, 0x15, 0xdf, 0x82, 0x37, 0x45, - 0x83, 0x9f, 0x1e, 0x9d, 0xe3, 0x97, 0x88, 0x24, 0x0a, 0x31, 0x6c, 0x31, 0x22, 0x16, 0x22, 0xc7, 0x8e, 0x09, 0xe5, - 0x4a, 0xd0, 0xda, 0x1a, 0x02, 0x2f, 0xfe, 0xb4, 0xea, 0xde, 0x55, 0x26, 0x8c, 0x7d, 0xc6, 0x55, 0x7c, 0xcb, 0x4a, - 0x05, 0x66, 0x81, 0x71, 0xee, 0xdb, 0x52, 0x92, 0xab, 0x4c, 0x18, 0x01, 0xc9, 0x55, 0x7c, 0x4b, 0x9b, 0x32, 0x0e, - 0x6d, 0x45, 0xe7, 0xc5, 0xf9, 0xdd, 0x1d, 0x7e, 0x89, 0xa1, 0x56, 0xc6, 0xfd, 0x3e, 0x48, 0xcc, 0xa4, 0x6d, 0xca, - 0x4c, 0x46, 0x52, 0xa3, 0x85, 0x54, 0x94, 0x0f, 0x26, 0x64, 0x77, 0xa5, 0x5a, 0x46, 0xd4, 0x7e, 0x15, 0x8a, 0xd9, - 0x38, 0x9a, 0x10, 0x3a, 0xe9, 0x58, 0xef, 0xa6, 0xb5, 0x90, 0x69, 0xf4, 0x24, 0xf2, 0x7c, 0x3a, 0x0b, 0x56, 0x4d, - 0x8b, 0x63, 0xc6, 0xa7, 0xc5, 0x60, 0x40, 0xb4, 0x4b, 0xe1, 0x06, 0xeb, 0x01, 0x53, 0x1a, 0x17, 0x6f, 0xcd, 0xb4, - 0xfa, 0x85, 0x54, 0x21, 0xe9, 0x3d, 0x03, 0x12, 0x21, 0x5d, 0xb0, 0x5b, 0x90, 0x28, 0x7a, 0xfe, 0x77, 0x6a, 0x0b, - 0xee, 0x7a, 0x30, 0x36, 0xa3, 0xfb, 0x7a, 0xc6, 0x7f, 0xa8, 0x6d, 0x41, 0xd4, 0xa7, 0x92, 0xf5, 0x3a, 0x12, 0x55, - 0xc8, 0x45, 0xf8, 0xd9, 0xd1, 0x10, 0x43, 0x54, 0x7b, 0x2c, 0x10, 0xeb, 0xab, 0x73, 0x5e, 0xe0, 0xf4, 0x33, 0x77, - 0xb9, 0x82, 0x6d, 0x41, 0x2b, 0x43, 0xa3, 0x5e, 0xc7, 0xaf, 0x23, 0x7b, 0x59, 0xd0, 0x45, 0x3e, 0x43, 0x21, 0x6b, - 0x1e, 0x86, 0xd5, 0xb0, 0x3d, 0x88, 0xe4, 0xb0, 0x3d, 0x09, 0x8d, 0xc6, 0xc0, 0x02, 0xd9, 0xa1, 0x11, 0xb8, 0x08, - 0xad, 0xfc, 0xed, 0x18, 0x5c, 0xb8, 0x2c, 0x22, 0xcb, 0x50, 0xc7, 0x6f, 0x6a, 0x37, 0x41, 0xf5, 0x0a, 0x9d, 0xa6, - 0xb0, 0x2a, 0x65, 0x92, 0x0f, 0xbf, 0x5e, 0xc8, 0x02, 0x33, 0x79, 0x5d, 0xf6, 0xe8, 0x6b, 0xbb, 0xbd, 0x03, 0x53, - 0xb0, 0xee, 0x93, 0xf7, 0xf5, 0xc3, 0xce, 0x9e, 0x80, 0x51, 0xac, 0xca, 0xd1, 0x14, 0x52, 0x6a, 0x1f, 0x94, 0xfa, - 0x63, 0xb8, 0x14, 0x9a, 0x63, 0xb7, 0x80, 0x49, 0xc0, 0x3e, 0x43, 0xaa, 0xc7, 0xb4, 0x63, 0x9f, 0xa3, 0x0d, 0x2c, - 0x09, 0x38, 0xfc, 0x23, 0x21, 0x6b, 0xff, 0xea, 0x5e, 0xa6, 0xcd, 0x90, 0x2d, 0xf3, 0x05, 0xf0, 0xf9, 0xb0, 0x6b, - 0xa3, 0x12, 0x65, 0x13, 0x91, 0xa4, 0xb0, 0xe5, 0x31, 0x48, 0x7b, 0x14, 0xd3, 0x55, 0xc1, 0x93, 0x0c, 0xa5, 0x14, - 0x89, 0xf6, 0x09, 0xce, 0xe1, 0x0d, 0xee, 0x47, 0x15, 0x10, 0x5e, 0x85, 0x9c, 0x8e, 0x52, 0xaa, 0x2d, 0x60, 0x14, - 0xf5, 0x00, 0x51, 0x5e, 0x06, 0x72, 0xbc, 0xed, 0x76, 0x42, 0x57, 0x6c, 0x39, 0x9c, 0x50, 0x24, 0x25, 0x97, 0x58, - 0xee, 0x15, 0xe8, 0x3c, 0xce, 0x59, 0xef, 0x25, 0x60, 0x11, 0x9c, 0xc1, 0xdf, 0x98, 0xd0, 0x6b, 0xf8, 0x9b, 0x13, - 0xfa, 0x94, 0x85, 0x57, 0xc3, 0x4b, 0x72, 0x18, 0xa6, 0x83, 0x89, 0x12, 0x8c, 0xdd, 0xb1, 0xb4, 0x0c, 0x55, 0xe2, - 0xea, 0xf0, 0x82, 0x3c, 0xbc, 0xa0, 0xb7, 0xf4, 0x86, 0xbe, 0xa2, 0x6f, 0x80, 0xf0, 0xdf, 0x1d, 0x4f, 0xf8, 0x70, - 0xf2, 0xb8, 0xdf, 0xef, 0x9d, 0xf7, 0xfb, 0xbd, 0x33, 0x63, 0x40, 0xa1, 0x77, 0xd1, 0x65, 0x4d, 0xf5, 0xaf, 0xab, - 0x7a, 0x31, 0x7d, 0xa3, 0x36, 0x6e, 0xc2, 0xb3, 0x3c, 0xbc, 0x3a, 0xbc, 0x23, 0x43, 0x7c, 0xbc, 0xc8, 0xa5, 0x2c, - 0xc2, 0xcb, 0xc3, 0x3b, 0x42, 0xdf, 0x9c, 0x80, 0xde, 0x14, 0xeb, 0x7b, 0xf3, 0xf0, 0x4e, 0xd7, 0x46, 0xe8, 0xcb, - 0x30, 0x81, 0x6d, 0x72, 0xcb, 0xec, 0x5d, 0x7b, 0x32, 0x86, 0x58, 0x26, 0x77, 0x5e, 0x79, 0x77, 0x0f, 0x6f, 0xc9, - 0xe1, 0x2d, 0x78, 0x8a, 0x5a, 0xf2, 0x37, 0x0b, 0x6f, 0x58, 0xab, 0x86, 0x87, 0x77, 0xf4, 0x55, 0xab, 0x11, 0x0f, - 0xef, 0x48, 0x14, 0xde, 0xb0, 0x4b, 0xfa, 0x8a, 0x5d, 0x11, 0x7a, 0xde, 0xef, 0x9f, 0xf5, 0xfb, 0xb2, 0xdf, 0xff, - 0x3e, 0x0e, 0xc3, 0x78, 0x58, 0x90, 0x43, 0x49, 0xef, 0x0e, 0x27, 0xfc, 0x11, 0x99, 0x85, 0xba, 0xf9, 0x6a, 0xc1, - 0x59, 0x95, 0xb7, 0xca, 0x75, 0x47, 0xc1, 0x5a, 0xe1, 0x8e, 0xa9, 0xa7, 0x37, 0xf4, 0x86, 0x15, 0xf4, 0x15, 0x8b, - 0x49, 0x74, 0x0d, 0xad, 0x38, 0x9f, 0x15, 0xd1, 0x0d, 0x7d, 0xc5, 0xce, 0x66, 0x71, 0xf4, 0x8a, 0xbe, 0x61, 0xf9, - 0x70, 0x02, 0x79, 0x5f, 0x0d, 0x6f, 0xc8, 0xe1, 0x1b, 0x12, 0x85, 0x6f, 0xf4, 0xef, 0x3b, 0x7a, 0xc9, 0xc3, 0x37, - 0xd4, 0xab, 0xe6, 0x0d, 0x31, 0xd5, 0x37, 0x6a, 0x7f, 0x43, 0x22, 0x7f, 0x30, 0xdf, 0x58, 0x7b, 0x9a, 0xb7, 0x8e, - 0x36, 0xae, 0xcb, 0xf0, 0x8e, 0xd0, 0x75, 0x19, 0xde, 0x10, 0x32, 0x6d, 0x8e, 0x1d, 0x0c, 0xe8, 0xec, 0x6d, 0x94, - 0x10, 0x7a, 0xe3, 0x97, 0x7a, 0x83, 0x63, 0x68, 0x46, 0x48, 0xf7, 0x13, 0xd3, 0x70, 0x1d, 0x7c, 0xd0, 0x60, 0x1d, - 0xe7, 0xfd, 0x7e, 0xb8, 0xee, 0xf7, 0x21, 0xd2, 0x7d, 0x31, 0x33, 0xb1, 0xdd, 0x1c, 0xd9, 0xa4, 0x37, 0xa0, 0xfd, - 0xff, 0x30, 0x18, 0x40, 0x67, 0xbc, 0x92, 0xc2, 0x9b, 0xc1, 0x87, 0x87, 0x77, 0x44, 0xd5, 0x51, 0xd0, 0x52, 0x86, - 0x05, 0x7d, 0x4a, 0x33, 0x00, 0xfc, 0xfa, 0x30, 0x18, 0x90, 0xc8, 0x7c, 0x46, 0xa6, 0x1f, 0x8e, 0xdf, 0x4c, 0x07, - 0x83, 0x0f, 0x66, 0x9b, 0x7c, 0x62, 0x7b, 0x4a, 0x81, 0xf5, 0x77, 0xd6, 0xef, 0x7f, 0x3a, 0x89, 0xc9, 0x79, 0xc1, - 0xe3, 0x8f, 0xd3, 0x66, 0x5b, 0x3e, 0xb9, 0xa8, 0x6a, 0x67, 0xfd, 0xfe, 0xba, 0xdf, 0x7f, 0x05, 0xd8, 0x45, 0x33, - 0xe7, 0xeb, 0x09, 0xd2, 0x96, 0xb9, 0xa3, 0x48, 0x9a, 0xe4, 0xd0, 0x18, 0xda, 0x16, 0xab, 0xb6, 0xcd, 0x3a, 0x32, - 0xb0, 0x38, 0x6a, 0x56, 0x14, 0xd7, 0x24, 0x0a, 0x7b, 0x67, 0xdb, 0xed, 0x2b, 0xc6, 0x58, 0x4c, 0x40, 0xfa, 0xe1, - 0xbf, 0x7e, 0x55, 0x37, 0x62, 0x88, 0x95, 0x4a, 0x7c, 0xb7, 0x59, 0xda, 0x43, 0x20, 0xe2, 0xb0, 0xe9, 0xdf, 0x99, - 0x7b, 0xb9, 0xa8, 0x1d, 0xdf, 0xfa, 0x2f, 0x00, 0x21, 0x92, 0x2c, 0xe4, 0x33, 0x1c, 0x83, 0x32, 0x03, 0x20, 0xf3, - 0x48, 0xcd, 0xbc, 0x04, 0x10, 0x60, 0xb2, 0xdd, 0x8e, 0xc6, 0xe3, 0x09, 0x2d, 0xd8, 0xe8, 0x6f, 0x4f, 0x1e, 0x56, - 0x0f, 0xc3, 0x20, 0x18, 0x64, 0xa4, 0xa5, 0xa7, 0xb0, 0x8b, 0xb5, 0x3a, 0x04, 0x23, 0x78, 0xcd, 0x3e, 0x5e, 0x67, - 0x5f, 0xcc, 0x3e, 0x22, 0x61, 0x6d, 0x30, 0x8e, 0x5c, 0xa4, 0x2d, 0xbd, 0xdd, 0x1e, 0x06, 0x93, 0x8b, 0xf4, 0x33, - 0x6c, 0xa7, 0xcf, 0xbf, 0x79, 0x30, 0x9e, 0x70, 0x30, 0xba, 0x8b, 0x82, 0x3e, 0xd3, 0xb6, 0xdb, 0xca, 0xbf, 0x04, - 0xbe, 0xc6, 0x54, 0xd0, 0xb1, 0x59, 0x16, 0x6e, 0x50, 0x11, 0x75, 0xb4, 0x0c, 0xaa, 0x5a, 0xd9, 0xce, 0x01, 0xb5, - 0xc4, 0xaa, 0x4c, 0xdc, 0x02, 0xc3, 0x90, 0xa1, 0x2e, 0xf7, 0xb4, 0xfa, 0x17, 0x2f, 0xa4, 0x81, 0xcf, 0x70, 0x22, - 0x42, 0x8f, 0x5b, 0xe3, 0x3e, 0xb7, 0x26, 0x3e, 0xc3, 0xad, 0x95, 0x48, 0x62, 0x0d, 0x2c, 0xa9, 0xb9, 0x1c, 0x25, - 0xec, 0xa4, 0x64, 0x7c, 0x56, 0x46, 0x09, 0x8d, 0xe1, 0x41, 0x32, 0x31, 0x93, 0x51, 0x82, 0xf6, 0x89, 0x2e, 0xc2, - 0xe0, 0x5f, 0x80, 0xd9, 0x4f, 0x73, 0xf8, 0x2b, 0xc9, 0x34, 0x39, 0x86, 0x80, 0x10, 0xc7, 0xe3, 0x59, 0x1c, 0x8e, - 0x49, 0x94, 0x9c, 0xc0, 0x13, 0xfc, 0x57, 0x84, 0x63, 0x52, 0xeb, 0x3b, 0x8c, 0x54, 0x97, 0xdb, 0x84, 0x01, 0x5c, - 0xd9, 0x78, 0x36, 0x89, 0xac, 0x74, 0x57, 0x3e, 0x1c, 0x8d, 0x9f, 0x90, 0x69, 0x1c, 0xca, 0x41, 0x42, 0x28, 0x78, - 0xf7, 0x86, 0xe5, 0x30, 0xd1, 0xf0, 0x6c, 0xc0, 0xe6, 0x95, 0x8e, 0xcd, 0x93, 0x70, 0x02, 0xc2, 0x30, 0x21, 0xc7, - 0xba, 0x07, 0x29, 0x45, 0x9f, 0xe7, 0xd8, 0x4f, 0x7d, 0x04, 0x61, 0x76, 0xd4, 0x52, 0xf1, 0x15, 0x00, 0x5d, 0xe2, - 0xe0, 0x50, 0x7b, 0xe6, 0x8b, 0x59, 0x58, 0x7a, 0x54, 0xca, 0x54, 0x77, 0x28, 0x1a, 0x94, 0xdf, 0x34, 0xe8, 0x50, - 0x90, 0xc1, 0x84, 0x96, 0x27, 0x13, 0xfe, 0x08, 0x02, 0x78, 0x34, 0x22, 0x7e, 0x29, 0x9c, 0x18, 0x08, 0xaf, 0x82, - 0x0c, 0x54, 0x5a, 0xab, 0xc6, 0x8c, 0x6c, 0xc5, 0x07, 0x10, 0x26, 0xe5, 0xe0, 0x46, 0xae, 0xf3, 0x14, 0xa2, 0x82, - 0xad, 0xf3, 0xea, 0xe0, 0x12, 0x2c, 0xd9, 0xe3, 0x0a, 0xe2, 0x84, 0xad, 0x57, 0x80, 0x9d, 0xfb, 0x60, 0x53, 0xd6, - 0x07, 0xea, 0xbb, 0x03, 0x6c, 0x39, 0xbc, 0xaa, 0xe4, 0xc1, 0x64, 0x3c, 0x1e, 0x8f, 0xfe, 0x80, 0xa3, 0x03, 0x08, - 0x2d, 0x89, 0x0c, 0x9f, 0x0c, 0xd0, 0xb8, 0xeb, 0x8a, 0x7b, 0xe3, 0x42, 0x51, 0x56, 0x3a, 0x99, 0x10, 0x10, 0x3f, - 0x9b, 0xbe, 0xc1, 0xbe, 0xe2, 0x3a, 0xfe, 0xc9, 0xee, 0x27, 0x66, 0x45, 0xab, 0x95, 0x3a, 0x7a, 0xfb, 0xe6, 0xfd, - 0xcb, 0x0f, 0x2f, 0x7f, 0x7d, 0x7e, 0xf6, 0xf2, 0xf5, 0x8b, 0x97, 0xaf, 0x5f, 0x7e, 0xf8, 0xe7, 0x3d, 0x0c, 0xb6, - 0x6f, 0x2b, 0x62, 0xc7, 0xde, 0xbb, 0xc7, 0x78, 0xb5, 0xf8, 0xc2, 0xd9, 0x23, 0x77, 0x8b, 0x05, 0xd8, 0x04, 0xc3, - 0x2d, 0x08, 0xaa, 0x19, 0x8d, 0x4a, 0xdf, 0x13, 0x90, 0xd1, 0xa8, 0x90, 0x8d, 0x87, 0x15, 0x5b, 0x21, 0x17, 0xef, - 0x18, 0x0e, 0x3e, 0xb2, 0xbf, 0x15, 0x67, 0xc2, 0xed, 0x68, 0x6b, 0x56, 0x04, 0x7c, 0xbe, 0xd6, 0xa2, 0xf2, 0xb8, - 0x10, 0xb5, 0xb7, 0xed, 0x73, 0x48, 0xa8, 0x47, 0xe4, 0x3a, 0x78, 0xdf, 0x06, 0xd9, 0xe3, 0x23, 0xef, 0x49, 0x79, - 0x86, 0xfa, 0x1c, 0x0d, 0x1f, 0x35, 0x9e, 0xd1, 0x89, 0xb9, 0x36, 0x3a, 0xd4, 0xb3, 0x02, 0xf6, 0xb7, 0x12, 0x63, - 0xd3, 0x82, 0x95, 0x29, 0x62, 0x7d, 0x38, 0xdd, 0xef, 0xee, 0xcd, 0xe8, 0x67, 0x38, 0x7e, 0x94, 0x6a, 0x02, 0x69, - 0x51, 0xa0, 0x74, 0x65, 0xc8, 0x6d, 0xcf, 0xc2, 0xc2, 0xfc, 0x0c, 0x1b, 0x04, 0xd0, 0x5e, 0x76, 0x2c, 0x09, 0x34, - 0x8b, 0xd7, 0xba, 0xfe, 0x79, 0xf9, 0x32, 0xd1, 0xce, 0x17, 0xdf, 0x42, 0x88, 0x61, 0xff, 0x8a, 0xd0, 0x98, 0x70, - 0x37, 0xc9, 0xee, 0xd2, 0x62, 0xee, 0x55, 0x57, 0x31, 0x1e, 0x77, 0x7b, 0xae, 0x14, 0xcd, 0x5b, 0x17, 0xd8, 0x03, - 0x35, 0xaf, 0xe3, 0x25, 0x0b, 0x01, 0x9b, 0xf1, 0xd0, 0x2e, 0x12, 0xe7, 0xf7, 0x4e, 0x27, 0xe4, 0xf0, 0x68, 0xca, - 0x87, 0xac, 0xa4, 0x62, 0xc0, 0xca, 0x7a, 0x87, 0x9a, 0xf3, 0x36, 0x21, 0x17, 0xbb, 0x34, 0x5c, 0x0c, 0xf9, 0x7d, - 0x97, 0xa4, 0x0f, 0xbc, 0xe1, 0x50, 0x6d, 0x9b, 0x8b, 0x21, 0x4d, 0x39, 0xdd, 0xa5, 0x32, 0x20, 0x44, 0xba, 0x8a, - 0x2b, 0x52, 0xeb, 0xa3, 0x2a, 0x75, 0x92, 0x8e, 0xeb, 0x6c, 0xf3, 0x99, 0x4b, 0xb6, 0xba, 0x5d, 0xfb, 0xd7, 0xea, - 0xf6, 0x85, 0x19, 0xc8, 0xdf, 0x9f, 0x88, 0x6a, 0x62, 0x20, 0xba, 0x80, 0x0a, 0xfe, 0x09, 0x5e, 0x9e, 0x3c, 0xd2, - 0x0a, 0xd0, 0x7d, 0x67, 0x47, 0xd7, 0x1e, 0x6f, 0xcc, 0x62, 0x6b, 0x89, 0x73, 0x56, 0xf9, 0xce, 0xf2, 0xaa, 0x6c, - 0x85, 0xae, 0x23, 0xd8, 0xbf, 0xc2, 0x8e, 0xbe, 0x7b, 0xdb, 0x00, 0x88, 0x52, 0x58, 0xb9, 0xb3, 0x5f, 0x78, 0x67, - 0xbf, 0xb0, 0x67, 0xbf, 0xdd, 0x04, 0xca, 0x87, 0x15, 0x5a, 0xf6, 0x42, 0x8a, 0xca, 0x34, 0x79, 0xdc, 0xd4, 0x65, - 0x21, 0x2d, 0xe6, 0x87, 0x96, 0x76, 0x3d, 0x1e, 0x53, 0x89, 0xea, 0x91, 0x1f, 0xb0, 0x55, 0x87, 0x25, 0xb9, 0xff, - 0x9e, 0xf9, 0x3f, 0x7b, 0x83, 0xdc, 0x77, 0xb7, 0xfb, 0xbf, 0xb9, 0xd0, 0xc1, 0x6d, 0x2d, 0x15, 0x9e, 0xba, 0x3a, - 0x2e, 0xf0, 0xae, 0x96, 0xde, 0x7f, 0x57, 0x7b, 0x90, 0xe9, 0x65, 0x57, 0x01, 0x6a, 0x90, 0x58, 0x5f, 0xf1, 0x22, - 0x4b, 0x6a, 0xab, 0xd0, 0x78, 0xc3, 0x21, 0xb4, 0x87, 0x77, 0x70, 0x81, 0x1c, 0x96, 0x10, 0xfa, 0xb1, 0x32, 0x02, - 0x40, 0x9f, 0xc5, 0x7e, 0xc3, 0xc3, 0x8c, 0x0c, 0x7c, 0x89, 0x9f, 0x94, 0xbe, 0xb8, 0xf8, 0x70, 0x27, 0x33, 0x41, - 0xaf, 0x12, 0x17, 0x35, 0x57, 0xb6, 0x63, 0x7e, 0xf8, 0x5f, 0x60, 0x34, 0x08, 0xaf, 0x2d, 0xd9, 0xa1, 0xe8, 0x98, - 0xe5, 0x0a, 0x8e, 0xda, 0xd2, 0x95, 0x29, 0x5b, 0xd7, 0xcf, 0x6a, 0x98, 0xe9, 0x33, 0xe5, 0x0d, 0xc8, 0xbe, 0x90, - 0xbb, 0x9f, 0xea, 0x8a, 0x05, 0x39, 0x99, 0x8c, 0xa7, 0x44, 0x0c, 0x06, 0xad, 0xe4, 0x63, 0x4c, 0x1e, 0x0e, 0x77, - 0x98, 0x4b, 0xa1, 0xfb, 0xe1, 0xf5, 0x01, 0xea, 0x6b, 0x6c, 0x49, 0xb2, 0xa9, 0xd8, 0x5f, 0x60, 0x16, 0x0b, 0xc4, - 0xd1, 0xc1, 0x2f, 0xce, 0x17, 0x00, 0xb2, 0x0c, 0xcb, 0x4c, 0x0b, 0x8b, 0x64, 0xaa, 0x7c, 0x64, 0x0b, 0x26, 0x8f, - 0xc7, 0x33, 0xbf, 0xe7, 0x8e, 0xc1, 0x21, 0x24, 0x9a, 0x58, 0xe3, 0x17, 0x3f, 0x0b, 0xc6, 0x71, 0x28, 0x4f, 0x64, - 0xe3, 0xbb, 0x92, 0x44, 0x63, 0x63, 0xaa, 0xac, 0xaf, 0x12, 0xd5, 0x30, 0x21, 0x0f, 0x0b, 0x72, 0x58, 0xd0, 0xa5, - 0x3f, 0x96, 0x98, 0x7e, 0x18, 0x1f, 0x4e, 0xc6, 0xe4, 0x61, 0xfc, 0x70, 0x62, 0xe0, 0x86, 0xfd, 0x1c, 0xf9, 0x70, - 0x49, 0x0e, 0x9b, 0x55, 0x82, 0x29, 0xaa, 0xe9, 0x99, 0x5f, 0x49, 0x32, 0x58, 0x0e, 0xd2, 0x87, 0xad, 0xbc, 0x58, - 0xab, 0x1e, 0xef, 0xf5, 0x31, 0x9f, 0x12, 0xd1, 0xb8, 0x31, 0xac, 0xe9, 0x55, 0xfc, 0xa7, 0x2c, 0x22, 0x29, 0x01, - 0x91, 0x10, 0xd4, 0xdb, 0xd9, 0x45, 0x96, 0xc4, 0x22, 0x8d, 0xd2, 0x9a, 0xd0, 0xf4, 0x84, 0x4d, 0xc6, 0xb3, 0x94, - 0xa5, 0xc7, 0x93, 0x27, 0xb3, 0xc9, 0x93, 0xe8, 0x68, 0x1c, 0xa5, 0x83, 0x01, 0x24, 0x1f, 0x8d, 0xc1, 0xc5, 0x0e, - 0x7e, 0xb3, 0x23, 0x18, 0xba, 0x13, 0x64, 0x09, 0x0b, 0x68, 0xda, 0x97, 0x35, 0x49, 0x0f, 0xe7, 0x85, 0xea, 0x49, - 0x7c, 0x4b, 0xd7, 0x9e, 0x83, 0x8b, 0xdf, 0xc2, 0x0b, 0xd7, 0xc2, 0x8b, 0xdd, 0x16, 0x0a, 0x4d, 0xb6, 0x63, 0xf9, - 0xff, 0xe3, 0x86, 0xb1, 0xef, 0x2e, 0x61, 0x16, 0xd7, 0x75, 0x36, 0x5a, 0x15, 0xb2, 0x92, 0x70, 0x9b, 0x50, 0xa2, - 0xb0, 0x51, 0xbc, 0x5a, 0xe5, 0xda, 0x45, 0x6c, 0x5e, 0x51, 0x00, 0x77, 0x81, 0x38, 0xc5, 0xc0, 0x42, 0x1b, 0x03, - 0xb9, 0x4f, 0xbc, 0x90, 0xcc, 0xaa, 0x7d, 0xcc, 0x3d, 0xf2, 0xcf, 0x10, 0x8c, 0x51, 0xc5, 0xc9, 0x78, 0xa6, 0xb0, - 0x2e, 0x3e, 0x27, 0xef, 0xfd, 0x37, 0x8e, 0x22, 0x7b, 0x34, 0x83, 0x9e, 0x20, 0x72, 0x1e, 0x71, 0xf6, 0x64, 0xf2, - 0x32, 0x70, 0x3f, 0x83, 0x95, 0xfe, 0xba, 0xdb, 0x8c, 0xb5, 0xed, 0xd1, 0xbd, 0x30, 0x42, 0xd1, 0x4f, 0xf8, 0xce, - 0xd4, 0x0b, 0xb8, 0x84, 0x6a, 0x60, 0xd7, 0x97, 0x97, 0xbc, 0x04, 0x10, 0xa1, 0x4c, 0xf4, 0xfb, 0xbd, 0x3f, 0x0d, - 0x34, 0x69, 0xc9, 0x8b, 0x57, 0x99, 0xb0, 0xce, 0x38, 0xd0, 0x54, 0xa0, 0xfe, 0x1f, 0x2b, 0xfb, 0x4c, 0xc7, 0x64, - 0xe6, 0x3f, 0x0e, 0x27, 0x24, 0x6a, 0xbe, 0x26, 0x9f, 0x39, 0x4d, 0x3f, 0x73, 0x45, 0xfb, 0x0f, 0x64, 0xe6, 0x86, - 0x43, 0x86, 0xfa, 0x4b, 0xc7, 0x3c, 0x19, 0xbd, 0x4e, 0xcc, 0x4e, 0x04, 0xab, 0x66, 0x10, 0x85, 0xbd, 0x80, 0x07, - 0x75, 0x2d, 0x8b, 0xa7, 0x30, 0xfb, 0xa0, 0x46, 0x14, 0xc7, 0x6c, 0x3c, 0x0b, 0x65, 0x38, 0x01, 0xfb, 0xde, 0xc9, - 0x18, 0xee, 0x03, 0x32, 0xfc, 0x58, 0x85, 0xd8, 0x39, 0x48, 0xfb, 0x58, 0xa1, 0x62, 0x02, 0x20, 0x02, 0x21, 0x6f, - 0xbf, 0x2f, 0x55, 0x12, 0xbe, 0x2e, 0x31, 0xa5, 0x50, 0x1f, 0xfc, 0x27, 0x52, 0x75, 0xc7, 0xf4, 0xab, 0xf5, 0xe3, - 0xcf, 0x84, 0xe2, 0xd3, 0x5d, 0x4a, 0x7c, 0x0b, 0xc1, 0x9d, 0x0b, 0xd0, 0x41, 0x54, 0x68, 0xc6, 0x76, 0x3f, 0xbf, - 0x2b, 0xf6, 0xf3, 0xbb, 0xe2, 0xff, 0x1d, 0xbf, 0x2b, 0xee, 0x63, 0x0c, 0x2b, 0x0b, 0x0d, 0x3f, 0x0b, 0xc6, 0x41, - 0xf4, 0x9f, 0xf3, 0x89, 0x7b, 0x79, 0xea, 0xab, 0x4c, 0x4c, 0xf7, 0x30, 0xcd, 0x3e, 0x41, 0x41, 0x58, 0xc5, 0x5d, - 0x7a, 0xb2, 0xae, 0xec, 0xad, 0x95, 0x0c, 0x31, 0xcf, 0x3d, 0xac, 0x51, 0x58, 0x79, 0x40, 0xf7, 0xa8, 0xda, 0x20, - 0x4e, 0x04, 0x0f, 0x63, 0x66, 0xa5, 0xef, 0xdb, 0xad, 0x51, 0x61, 0xde, 0xcb, 0x45, 0x41, 0x76, 0xf3, 0xf1, 0x6c, - 0x1c, 0x85, 0xd8, 0x80, 0xff, 0x98, 0xb1, 0x6a, 0xc8, 0xe6, 0x3b, 0x19, 0xa9, 0x1d, 0x93, 0xa7, 0xc9, 0x2e, 0xe9, - 0x1d, 0xf0, 0x0e, 0xf9, 0x79, 0xfd, 0x31, 0x8c, 0xa5, 0xe1, 0xb7, 0xe4, 0x65, 0x5c, 0x64, 0xd5, 0xf2, 0x2a, 0x4b, - 0x90, 0xe9, 0x82, 0x17, 0x5f, 0xcc, 0x74, 0x79, 0x1f, 0xeb, 0x03, 0xc6, 0x53, 0x8a, 0xd7, 0x0d, 0x51, 0xfa, 0xba, - 0xe5, 0x59, 0xa1, 0x2e, 0x4f, 0x2a, 0x66, 0x7b, 0x56, 0x82, 0xd3, 0x29, 0x98, 0xe0, 0xeb, 0x9f, 0xae, 0xf7, 0x09, - 0xe0, 0x82, 0x42, 0xcd, 0x69, 0x21, 0x57, 0x06, 0xcb, 0xc9, 0x42, 0x77, 0x02, 0x66, 0xa8, 0x14, 0x78, 0x81, 0x82, - 0xbf, 0x68, 0x60, 0x44, 0x5f, 0xb8, 0xdf, 0x64, 0x60, 0x90, 0x2e, 0xcd, 0x89, 0x30, 0x76, 0xdc, 0x4e, 0x9c, 0xb6, - 0xa2, 0x9c, 0x71, 0xf6, 0x4e, 0x5d, 0x29, 0xc0, 0x00, 0x6f, 0x73, 0x13, 0x9d, 0x25, 0xe8, 0xb5, 0xa0, 0x74, 0xde, - 0xc0, 0xdd, 0x2c, 0x23, 0x23, 0x5c, 0x7c, 0x58, 0x79, 0x2c, 0xb8, 0x67, 0xbf, 0x90, 0x58, 0x5b, 0x3f, 0x30, 0x66, - 0xf3, 0x82, 0x05, 0x0a, 0x15, 0x28, 0xb0, 0x9c, 0x69, 0x4b, 0xd3, 0x6a, 0xc8, 0x0f, 0x8f, 0xd0, 0xda, 0xb4, 0x1a, - 0xf0, 0xc3, 0xa3, 0x3a, 0xca, 0x8e, 0x21, 0xcb, 0x89, 0x9f, 0x41, 0xbd, 0xae, 0x23, 0x93, 0x62, 0xb2, 0xfb, 0xf5, - 0xa5, 0xfe, 0xa8, 0x6e, 0xc0, 0xf5, 0x03, 0x10, 0xc0, 0x06, 0xe0, 0x10, 0xa8, 0x06, 0x4b, 0x23, 0x82, 0x45, 0x99, - 0x42, 0xfb, 0x1a, 0x7a, 0x6f, 0x34, 0xfc, 0x17, 0xb8, 0x8b, 0xc8, 0x95, 0xff, 0x09, 0x02, 0x7f, 0x45, 0x99, 0x56, - 0xa6, 0xf8, 0x9f, 0x68, 0xf5, 0x0a, 0xe5, 0xac, 0x69, 0xcd, 0x07, 0xd1, 0x9a, 0x08, 0xd5, 0x8c, 0x21, 0xf8, 0xb7, - 0xb2, 0x4c, 0x5b, 0xaa, 0x2a, 0xf5, 0xa1, 0xf1, 0x5a, 0x2b, 0x9c, 0xe5, 0xe3, 0xc8, 0x7b, 0x8d, 0xa1, 0x63, 0x13, - 0x67, 0x29, 0xa7, 0x52, 0x67, 0xaf, 0x0f, 0x65, 0xe4, 0x00, 0xa7, 0x13, 0x36, 0x9e, 0x26, 0xc7, 0x72, 0x9a, 0x38, - 0xc8, 0xfc, 0x9c, 0x61, 0x64, 0x55, 0x03, 0xc2, 0xa2, 0x6c, 0x28, 0x6d, 0x01, 0x26, 0x39, 0x21, 0x64, 0x8a, 0xa1, - 0x28, 0xf2, 0x91, 0xee, 0x87, 0xf5, 0x66, 0x75, 0x5f, 0xbc, 0xd5, 0x00, 0xa7, 0x61, 0x02, 0x81, 0xc0, 0x8b, 0xf8, - 0x26, 0x13, 0x97, 0xe0, 0x31, 0x3c, 0x80, 0x2f, 0xc1, 0x4d, 0x2e, 0x65, 0xbf, 0x57, 0x61, 0x8e, 0x6b, 0x0b, 0x18, - 0x34, 0x58, 0x3d, 0x88, 0x0e, 0x97, 0xd2, 0x66, 0x57, 0x01, 0x62, 0x63, 0x0a, 0xb1, 0x2c, 0xd8, 0xda, 0xb2, 0x67, - 0x3f, 0xab, 0xa6, 0xa1, 0x75, 0xc2, 0xa9, 0xb8, 0xcc, 0x21, 0x8a, 0xca, 0x20, 0x06, 0x77, 0x24, 0x8f, 0xcf, 0x7b, - 0x2b, 0xc2, 0x0b, 0x02, 0x6e, 0x65, 0x89, 0x0c, 0x57, 0x74, 0x39, 0xba, 0xa5, 0xeb, 0xd1, 0x0d, 0x1d, 0xd3, 0xc9, - 0xdf, 0xc7, 0x68, 0x91, 0xad, 0x52, 0xef, 0xe8, 0x7a, 0xb4, 0xa4, 0xdf, 0x8e, 0xe9, 0xd1, 0xdf, 0xc6, 0x64, 0x9a, - 0xe3, 0x61, 0x42, 0x2f, 0xc0, 0xb1, 0x8b, 0xd4, 0xe8, 0xa9, 0xe9, 0x1b, 0x1c, 0x56, 0xa3, 0x7c, 0xc8, 0x47, 0x39, - 0xe5, 0xa3, 0x62, 0x58, 0x8d, 0xc0, 0xd3, 0xb1, 0x1a, 0xf2, 0x51, 0x45, 0xf9, 0xe8, 0x7c, 0x58, 0x8d, 0xce, 0x49, - 0xb3, 0xe9, 0x2f, 0x2b, 0x7e, 0x55, 0xb2, 0x35, 0x6c, 0x0b, 0x58, 0xbe, 0x6e, 0x95, 0xe5, 0xa9, 0xbf, 0xaa, 0xcd, - 0xc9, 0x6c, 0x39, 0x7b, 0x7b, 0xdd, 0xe5, 0xc4, 0xe2, 0x71, 0xdb, 0x74, 0xb8, 0xfa, 0x72, 0xa2, 0x4e, 0x7a, 0x85, - 0xfc, 0x30, 0x9e, 0x0a, 0x75, 0x0e, 0x81, 0x99, 0xc4, 0x2c, 0x8c, 0x19, 0x36, 0x53, 0xa7, 0x81, 0x02, 0x27, 0x1b, - 0x79, 0x2e, 0x8a, 0xd9, 0x28, 0xa7, 0xf0, 0x3e, 0x26, 0x24, 0x12, 0x70, 0x56, 0x9d, 0x54, 0xa3, 0x02, 0x62, 0x8e, - 0xb0, 0x10, 0x1f, 0xa1, 0x5f, 0xea, 0x23, 0x0f, 0x09, 0x3c, 0xc3, 0xbe, 0x16, 0x83, 0x18, 0x8e, 0x78, 0x5b, 0x59, - 0x35, 0x0b, 0x13, 0xa8, 0xac, 0x1a, 0x96, 0xa6, 0xb2, 0x82, 0x66, 0xa3, 0xca, 0xaf, 0xac, 0xc2, 0x31, 0x4a, 0x08, - 0x89, 0x4a, 0x5d, 0x19, 0xa8, 0x4f, 0x12, 0x16, 0x96, 0xba, 0xb2, 0x73, 0xf5, 0xd1, 0xb9, 0x5f, 0xd9, 0x39, 0xb8, - 0x90, 0x0e, 0x12, 0xff, 0x2a, 0xb5, 0x4c, 0xdb, 0xd7, 0xc1, 0xc6, 0xaa, 0xa2, 0x1b, 0x7e, 0x5b, 0x15, 0x71, 0x54, - 0x52, 0x17, 0x03, 0x1a, 0x17, 0x46, 0x24, 0xa9, 0x5e, 0xa3, 0xe0, 0x0f, 0x09, 0xa2, 0xd2, 0x18, 0xbc, 0x3a, 0x93, - 0xae, 0x95, 0x5a, 0x51, 0x31, 0x28, 0x07, 0x05, 0xdc, 0x9f, 0xf2, 0xd6, 0x42, 0xfa, 0x19, 0x22, 0x2a, 0x43, 0x79, - 0x83, 0x5f, 0x30, 0x78, 0x32, 0xbb, 0x4c, 0xc3, 0x64, 0x74, 0x47, 0xe3, 0xd1, 0x12, 0xe1, 0x60, 0xd8, 0x45, 0xaa, - 0xf0, 0xd6, 0x57, 0x90, 0x7e, 0x4b, 0xe3, 0xd1, 0x0d, 0x4d, 0xad, 0xcd, 0xa9, 0x81, 0xba, 0xea, 0x8d, 0xe9, 0x6d, - 0x04, 0xaf, 0xef, 0xa2, 0x25, 0x85, 0xad, 0x74, 0x9a, 0x67, 0x97, 0x22, 0x4a, 0x29, 0x22, 0x10, 0xae, 0x11, 0x39, - 0x70, 0xa9, 0xd1, 0x06, 0xd7, 0x03, 0x28, 0x43, 0xc3, 0x05, 0x2e, 0x07, 0xf1, 0x68, 0xe9, 0x91, 0xa9, 0x54, 0x5f, - 0x64, 0x11, 0x3e, 0xda, 0xd9, 0x68, 0x29, 0x9e, 0x11, 0x0b, 0xe3, 0x0a, 0x86, 0x50, 0x17, 0x56, 0x9a, 0x82, 0xa4, - 0x0b, 0x1c, 0xd9, 0x0b, 0xe3, 0x2a, 0xdc, 0x80, 0x69, 0xd1, 0x1d, 0x98, 0x47, 0x81, 0xc2, 0xc1, 0x25, 0x48, 0x3f, - 0xa1, 0x6c, 0xe7, 0x28, 0x4d, 0x0e, 0x6f, 0x82, 0xd6, 0x3b, 0x13, 0x84, 0xb4, 0xab, 0x9b, 0x6c, 0x49, 0xdf, 0x60, - 0x7b, 0x87, 0x4e, 0x45, 0x05, 0xd5, 0xe7, 0x16, 0x4c, 0x96, 0x6c, 0x10, 0xb6, 0x84, 0xe9, 0x99, 0x5e, 0x03, 0xf6, - 0xf4, 0xe1, 0xd1, 0xce, 0x7c, 0x17, 0xb3, 0xd7, 0x87, 0x65, 0x34, 0x56, 0x16, 0xbc, 0xb9, 0x25, 0x76, 0x4b, 0x36, - 0x9e, 0x2e, 0x8f, 0xcb, 0xe9, 0x12, 0x89, 0x9d, 0xa1, 0x5b, 0x8c, 0xcf, 0x97, 0x0b, 0x9a, 0xe0, 0xd9, 0xc6, 0xaa, - 0xf9, 0xd2, 0xa0, 0xa5, 0xa4, 0x0c, 0xd7, 0xdb, 0x12, 0xfd, 0xff, 0xd5, 0xc5, 0x2f, 0x05, 0x78, 0x09, 0xc6, 0x02, - 0x40, 0xb8, 0x07, 0xd3, 0x82, 0xd4, 0x46, 0xd9, 0x48, 0xd3, 0x30, 0xc5, 0x45, 0x60, 0x52, 0xfa, 0xfd, 0x30, 0x67, - 0x29, 0xf1, 0xa0, 0x43, 0xed, 0x28, 0x5d, 0xa4, 0xbe, 0x10, 0x04, 0x78, 0x24, 0x75, 0x8e, 0x4d, 0xfe, 0x3e, 0x9e, - 0x05, 0x6a, 0x20, 0x82, 0x28, 0x3b, 0xc6, 0x47, 0x0c, 0x5c, 0x14, 0xe9, 0xb8, 0x9d, 0xae, 0x88, 0xd5, 0xee, 0x31, - 0x0b, 0x71, 0x92, 0x30, 0xd7, 0x2c, 0x1b, 0xb2, 0x2a, 0xc2, 0x04, 0x5d, 0x18, 0xd8, 0xaf, 0x0d, 0x59, 0x75, 0x78, - 0x04, 0x91, 0x5a, 0x6d, 0x19, 0x97, 0x5d, 0x65, 0x7c, 0x0b, 0x40, 0xd6, 0x8c, 0xb1, 0xa3, 0xbf, 0x8d, 0x67, 0xea, - 0x9b, 0x28, 0xe4, 0x27, 0x47, 0x7f, 0x83, 0xe4, 0xe3, 0x6f, 0x91, 0x99, 0x83, 0xe4, 0x46, 0x41, 0x57, 0xcd, 0x59, - 0xd7, 0x50, 0x9a, 0xb8, 0xf6, 0x4a, 0xbd, 0xf6, 0xa4, 0x59, 0x7b, 0x05, 0xba, 0x53, 0x1b, 0xde, 0x43, 0xd9, 0xce, - 0x82, 0x09, 0x3a, 0x9a, 0xdd, 0x81, 0x0e, 0xde, 0x29, 0x82, 0x5e, 0x26, 0xa1, 0xf1, 0x08, 0x55, 0x46, 0xbd, 0x18, - 0x0f, 0xaa, 0x93, 0x75, 0xc9, 0x3c, 0x03, 0xe6, 0xd8, 0x9e, 0x43, 0x62, 0x98, 0xab, 0x83, 0x3a, 0x65, 0xe5, 0x30, - 0xc7, 0x03, 0x78, 0xcd, 0xe4, 0x50, 0x0c, 0x72, 0x8d, 0xf2, 0x7d, 0xc1, 0x8a, 0x61, 0x39, 0xc8, 0x35, 0x37, 0x33, - 0x6d, 0xc6, 0xa6, 0x4d, 0x74, 0x78, 0xe6, 0x15, 0x3b, 0x59, 0xf5, 0x80, 0x8f, 0x05, 0x4f, 0x66, 0xdf, 0xf3, 0xf1, - 0x29, 0x70, 0x32, 0x9b, 0xdb, 0x68, 0x49, 0xef, 0xa2, 0x94, 0xde, 0x44, 0x6b, 0xba, 0x8c, 0x2e, 0x8c, 0x89, 0x71, - 0x52, 0xc3, 0x39, 0x00, 0xad, 0x02, 0x48, 0x3c, 0xf5, 0xeb, 0x1d, 0x4f, 0xaa, 0x70, 0x49, 0x53, 0x70, 0x1b, 0xf6, - 0xed, 0x33, 0xcf, 0x7d, 0x89, 0xd4, 0x06, 0x31, 0xd6, 0xac, 0xa1, 0xe2, 0xc6, 0x5b, 0xf7, 0x91, 0xa8, 0x61, 0xe7, - 0xba, 0xd8, 0x44, 0xd5, 0x70, 0x32, 0x2d, 0x01, 0xb1, 0xb5, 0x1c, 0x0e, 0xdd, 0x11, 0xb2, 0x7b, 0xfc, 0xe8, 0x40, - 0xcf, 0x3d, 0x69, 0xb1, 0x6d, 0x5b, 0xfe, 0xc0, 0x10, 0xa6, 0xf4, 0xf3, 0x47, 0x3e, 0x20, 0x56, 0x5c, 0xc1, 0xd9, - 0x08, 0xd4, 0xd1, 0x0a, 0x9d, 0x7e, 0xaf, 0xc2, 0x42, 0x1f, 0xe0, 0x9b, 0xdb, 0x28, 0xa1, 0x77, 0x51, 0xee, 0x91, - 0xb5, 0x65, 0xcd, 0xe4, 0xf4, 0x2c, 0x0b, 0x79, 0xfb, 0x40, 0x2f, 0x17, 0x00, 0xa2, 0x35, 0x88, 0x7d, 0xa9, 0xeb, - 0x11, 0x38, 0x0d, 0xa1, 0x49, 0x68, 0x04, 0x57, 0x15, 0x84, 0x11, 0x70, 0x25, 0xe1, 0x6f, 0x30, 0x51, 0x81, 0x2f, - 0xc0, 0x45, 0x26, 0x4d, 0x73, 0x1e, 0xd4, 0xfe, 0x48, 0xbe, 0x2a, 0xda, 0xde, 0xae, 0x30, 0x9a, 0x60, 0xec, 0x89, - 0xf6, 0x79, 0xa4, 0x1c, 0xc5, 0x45, 0x12, 0x66, 0xa3, 0x5b, 0x75, 0x9e, 0xd3, 0x6c, 0x74, 0xa7, 0x7f, 0x55, 0x74, - 0x4c, 0x7f, 0xd5, 0x01, 0x6d, 0x94, 0xf4, 0xad, 0xe3, 0x6c, 0x40, 0xeb, 0xc5, 0xd2, 0xf8, 0x5f, 0xcb, 0xd1, 0x2d, - 0x95, 0xa3, 0x3b, 0xdf, 0x92, 0x6a, 0x32, 0x2d, 0x8e, 0x05, 0x1a, 0x52, 0x75, 0x7e, 0x5f, 0x00, 0x3f, 0x57, 0x1a, - 0xdf, 0x69, 0xf3, 0xbd, 0xd7, 0xfe, 0xb3, 0x4e, 0x9e, 0x40, 0xb1, 0x44, 0x05, 0xab, 0x46, 0x60, 0xc7, 0xbe, 0xce, - 0xe3, 0xc2, 0x8c, 0x52, 0x4c, 0xad, 0x49, 0x3f, 0x06, 0xae, 0x98, 0xf6, 0x0a, 0x70, 0xb5, 0x04, 0x27, 0x01, 0x88, - 0xa1, 0x09, 0x7b, 0x76, 0x0c, 0x51, 0xcf, 0x8d, 0x63, 0x94, 0x6c, 0xb8, 0x07, 0xc4, 0x5a, 0xe6, 0xad, 0x5c, 0x02, - 0x12, 0x78, 0xeb, 0x61, 0x52, 0x00, 0xc6, 0x60, 0xb9, 0x24, 0x3a, 0x8f, 0x87, 0x3e, 0xa1, 0x5e, 0x68, 0xd4, 0x09, - 0xd9, 0xd8, 0x12, 0x38, 0xfe, 0xb0, 0x3e, 0x04, 0x82, 0x57, 0x79, 0xae, 0xbf, 0xd2, 0xba, 0xfe, 0x52, 0xe9, 0xb9, - 0x63, 0xb9, 0xae, 0xdf, 0xb5, 0xa9, 0xd1, 0x0b, 0xb0, 0xf0, 0xdd, 0x28, 0xf3, 0x48, 0x6e, 0x11, 0x52, 0x15, 0x58, - 0xa9, 0x5b, 0x48, 0x30, 0xff, 0x4a, 0xce, 0x56, 0x65, 0xbe, 0x7a, 0xe4, 0x5e, 0x39, 0x9b, 0x9e, 0xfe, 0x86, 0x04, - 0xed, 0xae, 0x23, 0xcd, 0xe3, 0x2d, 0x3a, 0x7c, 0x76, 0xad, 0x25, 0xe6, 0x4e, 0xa2, 0xe2, 0xf9, 0x14, 0xb0, 0xd5, - 0xb3, 0xec, 0x4a, 0xf9, 0x58, 0xed, 0xe2, 0xf8, 0x99, 0xf3, 0x27, 0xa9, 0xc2, 0xb5, 0x68, 0x28, 0x41, 0xc0, 0x9b, - 0xc3, 0xd8, 0x15, 0xaa, 0x80, 0x86, 0xe6, 0x06, 0x8e, 0x73, 0x35, 0xac, 0x34, 0x01, 0xd3, 0x52, 0x1e, 0x1d, 0xe0, - 0xd0, 0xe4, 0x51, 0xbb, 0x69, 0x58, 0x19, 0xba, 0xd6, 0xe8, 0x73, 0x5b, 0xe9, 0x8c, 0x37, 0x1b, 0x7e, 0x78, 0x34, - 0xa8, 0xf0, 0x27, 0x69, 0x8e, 0x46, 0x3b, 0x37, 0xdc, 0x69, 0x04, 0x66, 0xae, 0xe4, 0x8a, 0xec, 0x8e, 0x92, 0x97, - 0xdf, 0xd3, 0x0b, 0x0b, 0xe8, 0xcf, 0x7f, 0x2e, 0x26, 0x9c, 0xb4, 0xc4, 0x84, 0x68, 0xe9, 0xa0, 0x45, 0x07, 0x3b, - 0xca, 0x2b, 0xfb, 0x12, 0x2f, 0x9d, 0xe3, 0x7f, 0x5f, 0x8f, 0xb5, 0xab, 0x40, 0x68, 0x75, 0xf2, 0xb0, 0x3d, 0x59, - 0x20, 0x6a, 0x40, 0x35, 0xbb, 0x2a, 0x47, 0x99, 0x76, 0x56, 0x64, 0xd3, 0x90, 0xb9, 0xee, 0x66, 0x69, 0xd8, 0x4c, - 0x76, 0x2c, 0x2c, 0x33, 0x0c, 0xd6, 0x4e, 0x15, 0x7d, 0x0e, 0x5a, 0x7e, 0x04, 0xcf, 0x9a, 0xca, 0x33, 0x9f, 0xcd, - 0x32, 0xe2, 0x05, 0x3a, 0xe7, 0x54, 0x2c, 0x9a, 0xd2, 0xb1, 0x72, 0xbb, 0x2d, 0xd1, 0x58, 0xa2, 0x8c, 0x82, 0xa0, - 0xb6, 0x41, 0xd8, 0x75, 0xe9, 0x9e, 0xf4, 0x69, 0x17, 0x9f, 0x56, 0xa0, 0xef, 0xf1, 0x3e, 0x03, 0x89, 0xa9, 0x27, - 0x79, 0xa8, 0x1a, 0xcd, 0xd1, 0xc9, 0xb3, 0x24, 0xd5, 0xf8, 0xfc, 0x4a, 0x76, 0xd6, 0xbc, 0x5b, 0x8d, 0x29, 0xfe, - 0x23, 0x75, 0xfb, 0xce, 0x65, 0x68, 0xa2, 0xbf, 0x96, 0x07, 0x2d, 0x85, 0x05, 0xc7, 0x6d, 0xe3, 0xaf, 0xdf, 0x66, - 0x0e, 0x31, 0x2c, 0x5d, 0x0e, 0x6f, 0x42, 0x87, 0xee, 0xae, 0xb2, 0x33, 0xd7, 0x47, 0xd4, 0xa9, 0x8b, 0x75, 0x1b, - 0x50, 0xb2, 0xe4, 0xdd, 0x3a, 0x3d, 0xb1, 0xd2, 0xaf, 0x87, 0xe1, 0xce, 0x3c, 0x6a, 0x76, 0x77, 0xbb, 0x9d, 0x90, - 0xb6, 0x7d, 0x30, 0xde, 0x97, 0xb0, 0x10, 0xe7, 0x1d, 0x76, 0xf0, 0x73, 0x58, 0x3d, 0xe4, 0x83, 0x7f, 0xe1, 0x38, - 0xc3, 0xe8, 0x67, 0xca, 0xd0, 0xe7, 0x45, 0x21, 0xaf, 0x54, 0xa7, 0x7c, 0xa1, 0x5b, 0xcb, 0xd4, 0xfb, 0x75, 0xfc, - 0xba, 0x15, 0x20, 0xc6, 0xeb, 0x8a, 0x95, 0xe2, 0x0d, 0xad, 0x30, 0xae, 0x81, 0xdb, 0xe4, 0x50, 0x4b, 0xb5, 0x40, - 0xd4, 0xe5, 0x27, 0x0f, 0x79, 0x64, 0xd4, 0x99, 0xf0, 0xdd, 0x43, 0xee, 0x4b, 0xd7, 0x76, 0x9b, 0xf8, 0xb9, 0xa6, - 0x1d, 0xee, 0x0e, 0x74, 0x47, 0xeb, 0xee, 0x6f, 0x9e, 0xcd, 0xcf, 0x23, 0xf3, 0xc5, 0x00, 0x9b, 0xb5, 0xcb, 0xb8, - 0xec, 0x18, 0xee, 0x7b, 0xd3, 0x83, 0xb1, 0x80, 0x40, 0x62, 0x86, 0x5e, 0x06, 0x2e, 0x70, 0x81, 0xbb, 0xc2, 0x80, - 0x21, 0xae, 0x69, 0xc9, 0x9d, 0xb6, 0xb2, 0xf5, 0x91, 0xb7, 0x51, 0x21, 0x58, 0xd7, 0x1d, 0x37, 0x49, 0x0e, 0xc1, - 0x09, 0x5b, 0xee, 0x7d, 0xed, 0xb5, 0x33, 0xfc, 0x65, 0x20, 0x9c, 0x5b, 0xa2, 0x67, 0xd4, 0xf6, 0x50, 0xab, 0x7b, - 0x0d, 0xaf, 0x72, 0x17, 0x79, 0xd6, 0x6f, 0xe6, 0xa5, 0x61, 0x5f, 0xf0, 0x5a, 0x0a, 0x0e, 0x8d, 0xed, 0x56, 0xb8, - 0xc5, 0xe2, 0x1d, 0xad, 0x56, 0xd6, 0xda, 0x6a, 0xaf, 0x95, 0x8a, 0xee, 0x5f, 0x73, 0x9c, 0x38, 0x4b, 0x61, 0xfb, - 0xe1, 0xfd, 0x05, 0xbb, 0x26, 0x80, 0x41, 0x8b, 0xc9, 0x02, 0x25, 0xa8, 0x64, 0xad, 0x6a, 0xb7, 0x53, 0xe2, 0x97, - 0xfb, 0x45, 0x97, 0xd9, 0xce, 0xe3, 0xd7, 0x4d, 0xda, 0x67, 0x3e, 0x47, 0x3f, 0xcc, 0xef, 0xac, 0x93, 0x92, 0x33, - 0x8c, 0x6b, 0xf9, 0xff, 0x55, 0xf4, 0xb2, 0xc8, 0xd2, 0x68, 0x63, 0x78, 0x30, 0x1b, 0x6a, 0xd3, 0x87, 0xc6, 0xa8, - 0xdc, 0xb2, 0x51, 0x44, 0xb4, 0xba, 0x05, 0xc1, 0x8c, 0xe2, 0xbe, 0x44, 0x9b, 0x57, 0xaa, 0x2c, 0xbc, 0xc3, 0x67, - 0x36, 0x7a, 0xc3, 0xf6, 0x84, 0x50, 0xbe, 0x7b, 0x5a, 0x98, 0x55, 0x4b, 0x45, 0x83, 0xed, 0x12, 0xde, 0xc5, 0xa8, - 0xd2, 0x4f, 0x98, 0x6c, 0x59, 0x30, 0xd5, 0xff, 0xef, 0x8b, 0x2c, 0x6d, 0x53, 0x74, 0x60, 0x3a, 0x9b, 0x3e, 0x9d, - 0x74, 0x83, 0xeb, 0x0c, 0x58, 0x44, 0xb0, 0xa5, 0xc2, 0xf1, 0x28, 0xb5, 0x1b, 0x24, 0x4c, 0x04, 0x37, 0x51, 0x2f, - 0x3b, 0x5a, 0xa6, 0x64, 0x55, 0xc0, 0xf3, 0x2b, 0x57, 0x99, 0x8e, 0xa3, 0xa1, 0xdf, 0x3f, 0x4f, 0x4d, 0xe8, 0x57, - 0xea, 0xa5, 0x2a, 0xce, 0xc3, 0xa8, 0x3a, 0x54, 0x18, 0xa3, 0x25, 0x4d, 0xe1, 0x18, 0xcc, 0x2e, 0xc2, 0x14, 0x2f, - 0x67, 0x9b, 0x84, 0x7d, 0xc1, 0x40, 0x2e, 0xb5, 0x41, 0xbd, 0xa6, 0x44, 0x6b, 0xd6, 0xde, 0xcc, 0x29, 0xa1, 0x17, - 0xac, 0xf4, 0xef, 0x42, 0x6b, 0x10, 0x28, 0xca, 0x66, 0xca, 0xf4, 0x4c, 0xb7, 0xf3, 0x82, 0x26, 0xb4, 0xa0, 0x2b, - 0x52, 0x83, 0xbe, 0xd7, 0xc9, 0xd9, 0xd1, 0xc9, 0xce, 0xcc, 0x7a, 0xcc, 0x8a, 0xe1, 0x64, 0x1a, 0xc3, 0x35, 0x2d, - 0x76, 0xd7, 0xb4, 0x65, 0xf3, 0xc6, 0xd5, 0xd8, 0x38, 0x0d, 0xda, 0x05, 0xd2, 0x36, 0xcd, 0xed, 0xa7, 0x1e, 0xb7, - 0xbf, 0xae, 0xd9, 0x72, 0xda, 0x5b, 0x6f, 0xb7, 0xbd, 0x14, 0x6c, 0x44, 0x3d, 0x3e, 0x7e, 0xad, 0xa4, 0xeb, 0x96, - 0xcb, 0x4f, 0xe1, 0xd9, 0xe3, 0xeb, 0x97, 0x3e, 0xb8, 0x1c, 0xad, 0xda, 0xdc, 0xfd, 0x72, 0x17, 0x59, 0xee, 0x8b, - 0x86, 0x96, 0xeb, 0x19, 0x6a, 0x92, 0x67, 0xa3, 0xbd, 0x43, 0x2d, 0x58, 0xce, 0xba, 0x09, 0x4f, 0x0c, 0x76, 0xec, - 0x55, 0x63, 0x73, 0x54, 0xe6, 0x92, 0xd5, 0x20, 0x81, 0x3e, 0xc9, 0x33, 0x4d, 0xff, 0x20, 0xc3, 0x7c, 0x74, 0x4b, - 0x73, 0xc0, 0x15, 0xab, 0xec, 0x25, 0x83, 0xd4, 0x55, 0x7b, 0x89, 0x2b, 0x5f, 0xe1, 0x90, 0x6c, 0xf0, 0xc9, 0x30, - 0x55, 0x9f, 0x5d, 0xf2, 0xe0, 0xff, 0x6d, 0xd5, 0x2a, 0x3d, 0x37, 0xc9, 0x0d, 0xc7, 0xbf, 0x4e, 0xda, 0x3e, 0x26, - 0x06, 0x09, 0x78, 0x6a, 0x17, 0x43, 0x35, 0xaa, 0x8a, 0x58, 0x94, 0xb9, 0x89, 0x39, 0xb6, 0xb7, 0x6b, 0xe8, 0xa0, - 0x0c, 0x7e, 0xdd, 0xf0, 0x89, 0xb9, 0x03, 0x5b, 0x81, 0x8e, 0x4e, 0x34, 0x97, 0x61, 0x66, 0x2e, 0xc3, 0xb4, 0x6b, - 0xab, 0xc0, 0xf0, 0xaa, 0xad, 0x92, 0x28, 0x57, 0xa3, 0x1e, 0x37, 0xb3, 0xd4, 0xec, 0x45, 0xde, 0xbd, 0x26, 0x3d, - 0x89, 0x3f, 0x5d, 0x7a, 0xf2, 0x7a, 0x18, 0x10, 0xf9, 0x25, 0x4b, 0xc3, 0x35, 0x0a, 0x82, 0x53, 0xab, 0x1d, 0x48, - 0xf3, 0x11, 0x20, 0xf3, 0xe3, 0x34, 0x7c, 0xa7, 0xc5, 0x39, 0x64, 0xa3, 0x34, 0x4e, 0x6c, 0x69, 0xd4, 0x43, 0x70, - 0xe7, 0xbd, 0xe2, 0x31, 0x04, 0x3e, 0xfc, 0x80, 0x9b, 0x41, 0x45, 0xb7, 0x25, 0x26, 0x4a, 0x9b, 0x47, 0xdd, 0xf2, - 0x51, 0x43, 0xa8, 0x64, 0x65, 0x78, 0x09, 0xb4, 0x77, 0x47, 0x60, 0x54, 0x39, 0x81, 0xcc, 0xb0, 0x38, 0x3c, 0x1a, - 0xa6, 0x4a, 0x50, 0x34, 0x94, 0xc3, 0x25, 0xca, 0x01, 0x31, 0x09, 0x04, 0x46, 0xc5, 0x20, 0xd5, 0x95, 0xa9, 0x17, - 0x83, 0x54, 0xdf, 0xaa, 0x48, 0x7d, 0x96, 0x85, 0x15, 0xd5, 0x2d, 0xa2, 0x63, 0x3a, 0x94, 0x74, 0x69, 0x76, 0x6a, - 0xae, 0xa5, 0x17, 0x6a, 0x39, 0x3e, 0xd5, 0x69, 0x30, 0x8a, 0xef, 0x5d, 0x8a, 0x7e, 0xab, 0xf6, 0xb3, 0xff, 0x16, - 0x53, 0x6a, 0xc4, 0xa6, 0xf6, 0x16, 0x31, 0xac, 0xda, 0x0f, 0x59, 0x95, 0x83, 0x76, 0x17, 0x94, 0x8d, 0x95, 0x71, - 0x9e, 0x6f, 0x04, 0x33, 0x07, 0x6d, 0x63, 0xd5, 0xf4, 0xa1, 0x37, 0x62, 0xd4, 0xde, 0x98, 0x6a, 0xdc, 0x13, 0xf8, - 0x69, 0x83, 0xa6, 0x7b, 0x91, 0xe7, 0xa8, 0x47, 0xde, 0xfd, 0xcf, 0x1c, 0xd9, 0x99, 0x7c, 0x16, 0xcb, 0xa4, 0x6e, - 0x1f, 0x93, 0x60, 0xa1, 0xea, 0x18, 0x5d, 0xb8, 0x91, 0x29, 0xed, 0xe7, 0xce, 0xf4, 0x23, 0x9e, 0xc9, 0xfd, 0x76, - 0x68, 0xd4, 0x97, 0x86, 0xb5, 0xa4, 0x88, 0xfa, 0x82, 0xde, 0x9a, 0xea, 0xe8, 0x88, 0x7a, 0x1d, 0x81, 0xd5, 0x15, - 0x6d, 0x50, 0x03, 0x30, 0x19, 0xd7, 0xb6, 0x36, 0x9f, 0x83, 0xa9, 0xad, 0xaa, 0xe0, 0x09, 0xdd, 0x15, 0x4a, 0xf7, - 0x26, 0x75, 0xdd, 0x1a, 0x62, 0x0b, 0x18, 0x10, 0xb8, 0xd1, 0x53, 0xd3, 0x1f, 0x34, 0x51, 0x01, 0x68, 0xd0, 0xb8, - 0x9d, 0xe9, 0x1c, 0x89, 0x7e, 0xa7, 0x36, 0x6d, 0x33, 0xd5, 0xab, 0xca, 0x07, 0x50, 0xf1, 0x67, 0xe9, 0xec, 0xc2, - 0x8c, 0x58, 0x00, 0xe3, 0x1e, 0x38, 0x53, 0xbd, 0xd3, 0x0c, 0xac, 0x27, 0xf2, 0x3c, 0x2b, 0x79, 0x22, 0x05, 0xcc, - 0x88, 0xbc, 0xba, 0x92, 0x02, 0x86, 0x41, 0x0d, 0x00, 0x5a, 0x34, 0x97, 0xd1, 0x84, 0x3f, 0xaa, 0xe9, 0xbe, 0x3c, - 0xfc, 0x91, 0xce, 0xf5, 0xcd, 0xb8, 0x06, 0x43, 0xe5, 0x75, 0xc5, 0x77, 0x32, 0x7d, 0xc3, 0x1f, 0x7b, 0x99, 0x96, - 0x72, 0x5d, 0xec, 0x64, 0x79, 0xf4, 0x0d, 0x7f, 0xa2, 0xf3, 0x1c, 0x3d, 0xae, 0x69, 0x1a, 0xdf, 0xed, 0x64, 0xf9, - 0xfb, 0x37, 0x8f, 0x6d, 0x9e, 0x47, 0xe3, 0x9a, 0xde, 0x70, 0xfe, 0xd1, 0x65, 0x9a, 0xe8, 0xaa, 0xc6, 0x8f, 0xff, - 0x6e, 0x73, 0x3d, 0xae, 0xe9, 0x95, 0x14, 0xd5, 0x72, 0xa7, 0xa8, 0xa3, 0x6f, 0x8e, 0xfe, 0xce, 0xbf, 0x31, 0xdd, - 0x3b, 0xaa, 0xe9, 0x5f, 0xeb, 0xb8, 0xa8, 0x78, 0xb1, 0x53, 0xdc, 0xdf, 0xfe, 0xfe, 0xf7, 0xc7, 0x36, 0xe3, 0xe3, - 0x9a, 0xde, 0xf1, 0xb8, 0xa3, 0xed, 0x93, 0x27, 0x8f, 0xf9, 0xdf, 0xea, 0x9a, 0xfe, 0xc6, 0xfc, 0xe0, 0xa8, 0xa7, - 0x99, 0xa7, 0x87, 0xcf, 0x65, 0x13, 0x35, 0x60, 0xe8, 0xa1, 0x01, 0x2c, 0xa5, 0x55, 0xd3, 0xec, 0xf1, 0xca, 0x05, - 0xb7, 0xef, 0xb3, 0x38, 0x8d, 0x57, 0x70, 0x10, 0x6c, 0xd0, 0x38, 0xab, 0x00, 0x4e, 0x15, 0x78, 0xcf, 0xa8, 0xa4, - 0x59, 0x29, 0x7f, 0xe3, 0xfc, 0x23, 0x0c, 0x1a, 0x42, 0xda, 0xa8, 0xc8, 0x40, 0x6f, 0x56, 0x3a, 0xb2, 0x11, 0xfa, - 0x6f, 0x36, 0xe3, 0xe0, 0xf8, 0x30, 0x7a, 0xfd, 0x7e, 0x58, 0x30, 0x11, 0x16, 0x84, 0xd0, 0x3f, 0xc3, 0x02, 0x1c, - 0x4a, 0x0a, 0xe6, 0xe5, 0x33, 0xbe, 0xe7, 0xda, 0x28, 0x2c, 0x04, 0xd1, 0x5d, 0x64, 0x1f, 0x50, 0xf5, 0xe8, 0x3b, - 0x74, 0x43, 0xbc, 0xac, 0xb0, 0x60, 0x68, 0x55, 0x03, 0x33, 0x04, 0xc5, 0xbf, 0xe2, 0xa1, 0x04, 0x9f, 0x78, 0x80, - 0x8f, 0x1e, 0x93, 0x19, 0x57, 0xd7, 0xda, 0x37, 0x17, 0x61, 0x41, 0x03, 0xdd, 0x76, 0x08, 0x3a, 0x10, 0xf9, 0x2f, - 0xc0, 0x53, 0x60, 0xe0, 0xc3, 0xc2, 0xae, 0x3b, 0xf0, 0x7c, 0x7e, 0x33, 0xac, 0xa3, 0x0b, 0x3f, 0xfa, 0x9b, 0x75, - 0x61, 0xcf, 0xc8, 0x54, 0x1e, 0x97, 0xc3, 0xc9, 0x74, 0x30, 0x90, 0x2e, 0x8e, 0xdb, 0x69, 0x36, 0xff, 0x6d, 0x2e, - 0x17, 0x0b, 0xd4, 0x7d, 0xe3, 0xbc, 0xce, 0xf4, 0xdf, 0x48, 0x3b, 0x1f, 0xbc, 0x3a, 0xfd, 0xfd, 0xec, 0xfd, 0xe9, - 0x0b, 0x70, 0x3e, 0xf8, 0xf0, 0xfc, 0xfb, 0xe7, 0xef, 0x54, 0x70, 0x77, 0x35, 0xe7, 0xfd, 0xbe, 0x93, 0xfa, 0x84, - 0x7c, 0x58, 0x91, 0xc3, 0x30, 0x7e, 0x58, 0x28, 0xa3, 0x07, 0x72, 0xcc, 0x2c, 0x14, 0x32, 0x54, 0x51, 0xdb, 0xdf, - 0xe5, 0x70, 0xe2, 0x81, 0x59, 0xdc, 0x36, 0x44, 0xb8, 0x7e, 0xcb, 0x6d, 0x90, 0x35, 0x79, 0xe2, 0xf5, 0x83, 0x93, - 0xa9, 0x74, 0x6c, 0x61, 0xc1, 0xa0, 0x6c, 0x68, 0xd3, 0x69, 0x36, 0x2f, 0x16, 0xb6, 0x5d, 0x6e, 0x81, 0x8c, 0xd2, - 0xec, 0xe2, 0x22, 0x54, 0xd0, 0xd5, 0x27, 0xa0, 0x01, 0x30, 0x8d, 0x2a, 0x5c, 0x8b, 0xf8, 0xcc, 0x2f, 0x3f, 0x1a, - 0x7b, 0xcd, 0xbb, 0x46, 0xdd, 0x93, 0x69, 0x56, 0xd5, 0x18, 0xd0, 0xc1, 0x84, 0x72, 0x37, 0xe8, 0x26, 0x98, 0x8c, - 0x6a, 0xcb, 0x6f, 0xf3, 0x6a, 0x61, 0x9a, 0xe3, 0x86, 0xa1, 0xf2, 0x4a, 0xbe, 0x90, 0x0d, 0x44, 0x06, 0x92, 0x61, - 0xd8, 0xa3, 0x31, 0x8a, 0xd4, 0x0f, 0x76, 0xbd, 0xe3, 0x37, 0xb9, 0x84, 0x68, 0x8a, 0x19, 0x48, 0xe7, 0x4f, 0x85, - 0x72, 0x2e, 0x97, 0x8c, 0xcf, 0xc5, 0xe2, 0x04, 0xdc, 0xce, 0xe7, 0x62, 0x11, 0x61, 0x50, 0xbe, 0x0c, 0x62, 0x95, - 0x80, 0xdd, 0x8b, 0x83, 0xf0, 0xed, 0x84, 0x36, 0xb0, 0x1b, 0x48, 0xb2, 0x41, 0x69, 0x57, 0x1a, 0xa2, 0xdc, 0x29, - 0x8f, 0x36, 0x88, 0x3c, 0xc4, 0xaa, 0x79, 0xd5, 0xf6, 0x64, 0x33, 0x17, 0x13, 0x5c, 0x65, 0x31, 0x93, 0xd3, 0xf8, - 0x98, 0x15, 0xd3, 0x18, 0x4a, 0x89, 0xd3, 0x34, 0x8c, 0xe9, 0x84, 0x0a, 0x42, 0x12, 0xc6, 0xe7, 0xf1, 0x82, 0x26, - 0x28, 0x25, 0x08, 0x21, 0xe4, 0xc7, 0x08, 0x6d, 0x73, 0x60, 0xc9, 0xdb, 0xed, 0xe7, 0xe9, 0xe7, 0x76, 0x0c, 0x97, - 0x51, 0x11, 0xba, 0x41, 0x67, 0x0d, 0xff, 0x46, 0x54, 0xd0, 0x18, 0x2b, 0x86, 0x20, 0xe0, 0x05, 0x46, 0x25, 0x2c, - 0x48, 0xcc, 0x2a, 0x88, 0x22, 0x50, 0xce, 0xe3, 0x05, 0x2b, 0x68, 0xd3, 0xe6, 0x34, 0xd6, 0x26, 0x41, 0x3d, 0x87, - 0xa5, 0x76, 0x20, 0x95, 0x0a, 0xb1, 0xc7, 0x67, 0x22, 0xba, 0xd1, 0x86, 0x06, 0x80, 0x02, 0xa5, 0xe4, 0xe2, 0x37, - 0x5f, 0xee, 0xe1, 0xa6, 0xa0, 0xff, 0xd9, 0xc6, 0x44, 0x3b, 0xcb, 0xd5, 0xa1, 0x37, 0x5f, 0xd0, 0x38, 0xcf, 0x21, - 0x14, 0x9b, 0x41, 0x20, 0x17, 0x59, 0x05, 0x11, 0x2d, 0xee, 0x02, 0x13, 0x12, 0x0e, 0xda, 0xf4, 0x0b, 0xa4, 0x36, - 0xc4, 0xe4, 0xca, 0x13, 0x03, 0xbb, 0xad, 0x12, 0x04, 0x1c, 0xe9, 0x79, 0xf6, 0xa9, 0x89, 0xb1, 0xa6, 0xa9, 0x99, - 0x89, 0xb7, 0xa1, 0x10, 0x0d, 0x5a, 0x10, 0xcd, 0xe0, 0xfd, 0x73, 0xc5, 0xf1, 0xaa, 0x03, 0x3f, 0xe0, 0x9d, 0x8b, - 0x33, 0xaf, 0x66, 0x1e, 0x91, 0x53, 0x4f, 0x73, 0x44, 0xbf, 0xe4, 0x61, 0x35, 0xd2, 0xc9, 0x18, 0x2b, 0x89, 0x83, - 0xde, 0x06, 0x0b, 0xe6, 0x84, 0xae, 0x78, 0x68, 0xf9, 0xf8, 0x17, 0xc8, 0x64, 0x94, 0xd4, 0x58, 0xd1, 0x95, 0x16, - 0x23, 0xce, 0x6b, 0x98, 0xa5, 0xc9, 0x8a, 0x2e, 0x16, 0x9a, 0x34, 0x0b, 0x65, 0x1a, 0xe0, 0x13, 0x68, 0x31, 0x72, - 0x0f, 0x35, 0x6d, 0x20, 0x34, 0xec, 0x0e, 0x01, 0x1f, 0xb9, 0x87, 0x0e, 0xff, 0x3f, 0xcf, 0x2e, 0x10, 0x69, 0xef, - 0xd2, 0x44, 0xc6, 0x23, 0x75, 0x03, 0x07, 0xc5, 0xf8, 0xd8, 0x37, 0x13, 0xbf, 0x70, 0x46, 0xef, 0x93, 0xca, 0x77, - 0xf8, 0x60, 0xf9, 0xe3, 0x4d, 0xcd, 0xac, 0x8c, 0x60, 0x3d, 0x6c, 0xb7, 0xb8, 0x20, 0xda, 0x2e, 0x80, 0xd4, 0x33, - 0x5e, 0x2d, 0x7c, 0xe3, 0xd5, 0x78, 0x8f, 0xf1, 0xaa, 0xb3, 0xc2, 0x0a, 0x73, 0xb2, 0x41, 0x7d, 0x96, 0x92, 0xe7, - 0xe7, 0x28, 0x13, 0x6c, 0xba, 0x9c, 0x95, 0x54, 0xa5, 0x12, 0xda, 0x8b, 0xfd, 0x8c, 0xf1, 0x2d, 0xc1, 0x38, 0x2b, - 0x0e, 0x23, 0x81, 0xaa, 0x54, 0x52, 0x87, 0xbd, 0x02, 0xd4, 0x63, 0xf0, 0xde, 0x60, 0x88, 0x1a, 0x19, 0xbb, 0x69, - 0x03, 0xa1, 0xa1, 0xb1, 0x1e, 0xed, 0x59, 0xeb, 0xd1, 0xed, 0xb6, 0x32, 0xfe, 0x76, 0x72, 0x5d, 0x24, 0x88, 0x2a, - 0xac, 0x46, 0x13, 0xe0, 0x4d, 0x13, 0x7b, 0x5b, 0x72, 0x4a, 0x0b, 0x0c, 0x9f, 0xfd, 0x67, 0x58, 0x3a, 0x95, 0x44, - 0x49, 0x66, 0x65, 0x34, 0x70, 0xe7, 0xe0, 0xb3, 0xb8, 0x82, 0x35, 0x00, 0x91, 0x1c, 0xd1, 0xc3, 0xf5, 0xcf, 0x50, - 0xba, 0xcc, 0x92, 0xcc, 0x24, 0x64, 0xe6, 0x22, 0x6d, 0x67, 0x1d, 0x4c, 0x9c, 0x49, 0xad, 0x37, 0x16, 0x72, 0x68, - 0x90, 0x1f, 0x40, 0x19, 0xe2, 0xf0, 0xc9, 0x07, 0x13, 0x2a, 0x55, 0x28, 0xd5, 0x46, 0x37, 0xbb, 0x81, 0x57, 0x3e, - 0x64, 0x57, 0xbc, 0xac, 0xe2, 0xab, 0x95, 0xb1, 0x24, 0xe6, 0x6c, 0x9f, 0xdb, 0x1e, 0x15, 0xe6, 0xd5, 0xeb, 0xe7, - 0xdf, 0x9f, 0x36, 0x5e, 0xed, 0x22, 0x8e, 0x86, 0x60, 0x5b, 0x31, 0xc6, 0xe8, 0x2d, 0x3e, 0x0d, 0x26, 0xca, 0x35, - 0x02, 0xbd, 0x4b, 0x41, 0xbf, 0xfd, 0xa5, 0x9e, 0x80, 0x57, 0x5c, 0x2f, 0xbf, 0xe4, 0x23, 0x60, 0x89, 0x0a, 0x3d, - 0x2b, 0xcc, 0xcd, 0xca, 0x6c, 0x6f, 0xb7, 0x22, 0x33, 0xed, 0x4a, 0x23, 0x03, 0xf1, 0x6a, 0x3b, 0x8c, 0x85, 0x4b, - 0xd7, 0x74, 0x3b, 0xd8, 0xd5, 0xd2, 0xb3, 0x44, 0xde, 0x6e, 0x4b, 0xe8, 0x90, 0x1d, 0x70, 0xef, 0x65, 0x7c, 0x0b, - 0x2f, 0x4b, 0xaf, 0x9b, 0xcd, 0xe0, 0x09, 0x60, 0x26, 0x5c, 0x38, 0xcb, 0xe2, 0x98, 0x65, 0x49, 0xa8, 0x62, 0x73, - 0x35, 0x44, 0xde, 0x8a, 0xd0, 0x9a, 0xfd, 0x15, 0x8a, 0x11, 0xd8, 0x9d, 0xbc, 0xff, 0x98, 0xad, 0x66, 0x6b, 0x40, - 0xcd, 0xbf, 0xca, 0x04, 0xd0, 0x5c, 0xbb, 0x16, 0x6c, 0x53, 0x68, 0x73, 0x5d, 0x3f, 0x8d, 0x57, 0x71, 0x02, 0xaa, - 0x1b, 0xf0, 0x16, 0xb9, 0xd5, 0xa2, 0x2b, 0x83, 0x2e, 0x4a, 0xef, 0x29, 0xc7, 0x92, 0x42, 0x47, 0xdf, 0x7b, 0x42, - 0x9d, 0x7b, 0x06, 0x70, 0x49, 0xa3, 0xe6, 0xa9, 0x96, 0x32, 0x16, 0x00, 0x0b, 0x1d, 0xcc, 0x14, 0xd9, 0x8a, 0xae, - 0x0d, 0x26, 0x05, 0xbc, 0x35, 0xc0, 0x1f, 0x22, 0xab, 0xd4, 0x5d, 0xb1, 0x0c, 0x4b, 0xcf, 0xfe, 0xba, 0xdf, 0x8f, - 0x3d, 0xfb, 0xeb, 0x95, 0xa6, 0x75, 0x71, 0xbb, 0x01, 0xa4, 0xc6, 0x00, 0x22, 0xa7, 0x7a, 0x20, 0x4c, 0x44, 0xb1, - 0xa6, 0xef, 0xdf, 0xa9, 0xc9, 0xa2, 0x40, 0xe8, 0x77, 0xea, 0xf5, 0xa4, 0x24, 0xa0, 0x53, 0xab, 0xd8, 0xc9, 0x40, - 0x9b, 0x7d, 0x40, 0x40, 0x54, 0x3f, 0x23, 0x9b, 0x2f, 0x94, 0x73, 0xb1, 0x0a, 0x1f, 0x3e, 0xa6, 0x10, 0x50, 0xb8, - 0xa3, 0x46, 0xe7, 0x6d, 0x88, 0x04, 0xca, 0x0a, 0x45, 0xac, 0x79, 0xb1, 0x96, 0x84, 0xcc, 0xc7, 0x0b, 0x14, 0x5c, - 0x39, 0x60, 0x57, 0xce, 0x26, 0xc3, 0x32, 0xe2, 0x2c, 0xdc, 0xff, 0xcd, 0x64, 0x41, 0x50, 0x73, 0xe5, 0x07, 0x72, - 0xdc, 0xc9, 0xd4, 0xd8, 0x53, 0x8d, 0x1a, 0x04, 0x93, 0x11, 0x04, 0x86, 0x1b, 0x7e, 0xc1, 0xc7, 0x47, 0x0b, 0x02, - 0x2a, 0x32, 0x6b, 0x16, 0x62, 0x5e, 0x1c, 0x3f, 0x02, 0xd4, 0x98, 0xd1, 0xd1, 0x93, 0x29, 0x67, 0x70, 0x88, 0xd2, - 0x31, 0xc8, 0x68, 0x05, 0xfc, 0x16, 0xea, 0x77, 0xeb, 0xc4, 0xf7, 0xa1, 0x5f, 0x05, 0xbd, 0x88, 0x81, 0xe1, 0x88, - 0x26, 0x87, 0x21, 0x1f, 0x4c, 0x06, 0xa0, 0x2d, 0xf1, 0x76, 0x5f, 0x4b, 0x2b, 0x6e, 0x4e, 0x97, 0x4e, 0xf7, 0x4f, - 0xda, 0x04, 0x49, 0xa4, 0x92, 0x95, 0x8a, 0x18, 0x40, 0x28, 0x4b, 0xb5, 0x4d, 0xd6, 0x60, 0x59, 0x61, 0x96, 0x34, - 0x37, 0x28, 0x89, 0xbb, 0x9b, 0x81, 0x63, 0xd4, 0xac, 0xd3, 0xb0, 0x6c, 0xb9, 0x51, 0x03, 0x7c, 0x4e, 0xc2, 0x0a, - 0x7b, 0xc3, 0x99, 0x49, 0xef, 0x4c, 0x87, 0xab, 0x63, 0xce, 0x5e, 0x71, 0x04, 0xe3, 0x48, 0xf0, 0xc6, 0x43, 0x97, - 0x4c, 0x43, 0x45, 0xa6, 0x8c, 0x83, 0x69, 0x0f, 0x70, 0xef, 0x39, 0x18, 0x87, 0xb1, 0x41, 0x65, 0x49, 0x7d, 0xea, - 0xdd, 0x85, 0x40, 0x90, 0xd6, 0x7a, 0x99, 0xcf, 0xf0, 0xf4, 0x8c, 0x50, 0xf6, 0x87, 0x1c, 0xbe, 0x00, 0x3b, 0x0a, - 0x72, 0x32, 0xe1, 0x4f, 0x1e, 0xee, 0x06, 0xaa, 0xe2, 0x83, 0xe0, 0x20, 0x16, 0xe9, 0x41, 0x30, 0x10, 0xf0, 0xab, - 0xe0, 0x07, 0x95, 0x94, 0x07, 0x17, 0x71, 0x71, 0x10, 0xaf, 0xe2, 0xa2, 0x3a, 0xb8, 0xc9, 0xaa, 0xe5, 0x81, 0xe9, - 0x10, 0x40, 0xf3, 0x06, 0x83, 0x78, 0x10, 0x1c, 0x04, 0x83, 0xc2, 0x4c, 0xed, 0x8a, 0x95, 0x8d, 0xe3, 0xcc, 0x84, - 0x28, 0x0b, 0x9a, 0x01, 0xc2, 0x1a, 0xa7, 0x01, 0xf0, 0xa9, 0x6b, 0x96, 0xd2, 0x0b, 0x0c, 0x37, 0x20, 0xa6, 0x6b, - 0xe8, 0x03, 0xf0, 0xc8, 0x6b, 0x1a, 0xc3, 0x12, 0xb8, 0x18, 0x0c, 0xc8, 0x05, 0x44, 0x2e, 0x58, 0x53, 0x1b, 0xc4, - 0x21, 0x5c, 0x2b, 0x3b, 0xed, 0x5d, 0x60, 0xa6, 0xed, 0x16, 0x10, 0x95, 0x27, 0xa4, 0xdf, 0xb7, 0xdf, 0x50, 0xff, - 0x82, 0xbd, 0x04, 0xfb, 0xab, 0xa2, 0x0a, 0x73, 0xa9, 0x34, 0xdf, 0x97, 0xec, 0x64, 0xa0, 0x22, 0x0e, 0xef, 0x38, - 0x52, 0xb4, 0x51, 0xb9, 0x2c, 0x7b, 0xb2, 0x6c, 0xf8, 0x4a, 0x5c, 0x71, 0xe7, 0xc7, 0x55, 0x49, 0x99, 0x57, 0xd9, - 0x4a, 0xb1, 0x7f, 0x33, 0xae, 0xb9, 0x3f, 0xb0, 0xfe, 0x6c, 0xbe, 0x82, 0x6b, 0xab, 0xf7, 0xae, 0xc9, 0x35, 0x22, - 0x67, 0x09, 0xe5, 0x92, 0xda, 0xe6, 0xe1, 0x2d, 0x7d, 0x9f, 0x5f, 0x7d, 0x9b, 0xe9, 0x34, 0x3e, 0xab, 0xb0, 0x70, - 0x21, 0x5a, 0x11, 0x1c, 0x1a, 0x72, 0xd1, 0x3c, 0x02, 0xcc, 0xb5, 0xcf, 0x56, 0x50, 0x90, 0xfa, 0xac, 0x42, 0xef, - 0x56, 0x48, 0x78, 0xa1, 0xd9, 0xa5, 0xfb, 0x81, 0x94, 0x71, 0x7b, 0x68, 0x09, 0x93, 0x96, 0x17, 0xe1, 0xbd, 0xd7, - 0xdc, 0xe4, 0x9e, 0x85, 0x18, 0xbd, 0xc8, 0xb3, 0x13, 0x30, 0xd6, 0x5d, 0xb2, 0xb3, 0xe1, 0x89, 0xdf, 0xf0, 0x9c, - 0xb5, 0x68, 0x34, 0x5d, 0xb2, 0xa4, 0xdf, 0x8f, 0xc1, 0xc4, 0x3b, 0x65, 0x39, 0xfc, 0xca, 0x17, 0x74, 0xcd, 0x00, - 0x53, 0x8c, 0x5e, 0x40, 0x42, 0x8a, 0x48, 0x24, 0x6b, 0x75, 0x92, 0x7c, 0xa6, 0xbb, 0x00, 0x8c, 0x7e, 0x31, 0x4b, - 0xa3, 0xe5, 0x5e, 0x33, 0x0b, 0x24, 0xcf, 0xd0, 0x77, 0x1d, 0x6c, 0x6f, 0xec, 0x83, 0x94, 0xf3, 0x63, 0x31, 0x1d, - 0x0c, 0x38, 0xd1, 0x70, 0xe3, 0xa5, 0x12, 0xd7, 0xea, 0x16, 0x77, 0x0c, 0x63, 0xa9, 0x6f, 0x8b, 0x18, 0x1c, 0xb0, - 0x8b, 0x56, 0x76, 0xfb, 0x00, 0xfb, 0xca, 0xf1, 0x2e, 0x55, 0x76, 0xa7, 0xc7, 0x4c, 0x73, 0xd9, 0x6a, 0xd2, 0x49, - 0xc5, 0x7e, 0x22, 0xdf, 0xe4, 0x0e, 0xba, 0x5c, 0x8e, 0x35, 0x6f, 0x39, 0x00, 0x15, 0xfd, 0x48, 0x51, 0xdd, 0x2f, - 0x70, 0x84, 0xb9, 0xb7, 0x6e, 0xf3, 0xc9, 0xa1, 0x29, 0x70, 0x88, 0x3c, 0x69, 0xa3, 0x29, 0xa0, 0x7b, 0x17, 0x0f, - 0xbb, 0xfa, 0x6d, 0xe9, 0x2e, 0x50, 0xa2, 0x9d, 0x8a, 0x1b, 0x7e, 0x4c, 0xd4, 0xe9, 0x4c, 0x1b, 0x42, 0xff, 0xca, - 0x88, 0xfb, 0x4b, 0xe3, 0x2a, 0xde, 0xf4, 0x2e, 0x9f, 0x71, 0xa8, 0xb3, 0x1b, 0x42, 0x01, 0xb8, 0x6a, 0x4f, 0xa7, - 0x6e, 0x0c, 0xe9, 0x95, 0x12, 0xdd, 0x06, 0x07, 0xdb, 0xeb, 0x33, 0x8e, 0xa2, 0x1f, 0xa3, 0x46, 0xbe, 0x89, 0xc4, - 0x43, 0x39, 0x88, 0x1f, 0x16, 0x74, 0x19, 0x89, 0x87, 0xc5, 0x20, 0x7e, 0x28, 0xeb, 0x7a, 0xf7, 0x5c, 0xd9, 0xdf, - 0x47, 0xe4, 0x59, 0x77, 0xf6, 0x52, 0x09, 0x1b, 0x03, 0xcf, 0xae, 0x05, 0x84, 0x53, 0xf0, 0x44, 0xb6, 0x96, 0x3e, - 0x74, 0x6e, 0xf7, 0xb1, 0x65, 0x92, 0x20, 0xe8, 0x79, 0x9b, 0x4d, 0xa2, 0xd8, 0xd9, 0xe6, 0xd1, 0x87, 0x53, 0x20, - 0xa1, 0xdb, 0x6d, 0xb3, 0xae, 0xd6, 0x80, 0x62, 0x1a, 0x8e, 0xf9, 0x61, 0x31, 0xba, 0xf1, 0xdd, 0xf5, 0x0f, 0x8b, - 0xd1, 0x92, 0x0c, 0x27, 0x66, 0xf2, 0xe3, 0x93, 0xf1, 0x2c, 0x8e, 0x26, 0x75, 0xc7, 0x69, 0xa1, 0xf1, 0x4f, 0xbd, - 0x5b, 0x28, 0x02, 0xa7, 0x62, 0x04, 0x47, 0x4e, 0x85, 0x72, 0x52, 0x6a, 0x60, 0xf8, 0x1f, 0x54, 0x3b, 0xda, 0xb4, - 0x57, 0x71, 0x95, 0x2c, 0x33, 0x71, 0xa9, 0xc3, 0x87, 0xeb, 0xe8, 0xe2, 0x36, 0xa0, 0x9d, 0x77, 0x99, 0x76, 0xfc, - 0x3a, 0x69, 0xd0, 0x13, 0x57, 0x33, 0x03, 0x6e, 0xdd, 0x8f, 0xd0, 0x0c, 0x81, 0xd1, 0xf2, 0xfc, 0x2d, 0x62, 0x6e, - 0xff, 0xaa, 0x6c, 0x7e, 0x15, 0xed, 0x73, 0x64, 0xa4, 0x6c, 0x93, 0x91, 0x0a, 0x8c, 0x30, 0xa5, 0x48, 0xe2, 0x2a, - 0x84, 0x40, 0xf6, 0x5f, 0x52, 0x5c, 0x8b, 0xa5, 0xf7, 0x1a, 0x84, 0x09, 0xb6, 0x0b, 0xda, 0xaf, 0x6e, 0xe7, 0xb6, - 0xd2, 0x62, 0x8f, 0xd4, 0xf7, 0xb9, 0xb3, 0x5d, 0xd1, 0xe4, 0xef, 0xcb, 0x06, 0xb4, 0x01, 0x44, 0xb9, 0xaf, 0x8f, - 0x4a, 0xe0, 0x64, 0xc4, 0x0d, 0x25, 0x46, 0x2f, 0xe8, 0xea, 0x44, 0xee, 0xd9, 0xa9, 0x79, 0x53, 0x31, 0x53, 0x71, - 0xe5, 0x9b, 0x3d, 0xf3, 0x1f, 0x0c, 0x05, 0x2d, 0xc1, 0xc0, 0xdb, 0x9c, 0xf1, 0xe8, 0x40, 0x77, 0x63, 0x74, 0x5a, - 0xb0, 0x59, 0x50, 0x97, 0x75, 0xd3, 0xc6, 0x83, 0x46, 0x1c, 0x14, 0xc5, 0xaa, 0x50, 0x23, 0xe1, 0x89, 0x40, 0xc0, - 0x94, 0x5d, 0xf1, 0xc8, 0x08, 0x6a, 0x7a, 0x13, 0x0a, 0x1b, 0x0a, 0xfe, 0x2a, 0x51, 0x4d, 0x6f, 0x42, 0x9b, 0x4c, - 0x9c, 0x66, 0x10, 0xc1, 0x8c, 0xd8, 0xee, 0xb7, 0x80, 0x36, 0xb7, 0x66, 0xb4, 0xa9, 0x6b, 0xab, 0xad, 0x42, 0x2e, - 0x29, 0x52, 0x96, 0xff, 0x4e, 0x4d, 0x05, 0x25, 0xb5, 0x5c, 0xf4, 0x26, 0x4d, 0x17, 0x3d, 0x9e, 0x19, 0x49, 0xa0, - 0x72, 0xcb, 0x1d, 0xa3, 0x3f, 0x84, 0x05, 0x1e, 0x31, 0x71, 0x62, 0xc1, 0xdc, 0xea, 0x84, 0x65, 0x73, 0xb1, 0x18, - 0xad, 0x24, 0x84, 0x0d, 0x3e, 0x66, 0xd9, 0xbc, 0xd4, 0x0f, 0xa1, 0x2f, 0x2c, 0x7d, 0x03, 0x76, 0xb1, 0xc1, 0x4a, - 0x96, 0x01, 0xf8, 0x5e, 0xd0, 0xcd, 0x4a, 0x96, 0x91, 0x54, 0xdd, 0x8f, 0x6b, 0x2c, 0x41, 0xa5, 0x15, 0x2a, 0x2d, - 0xa9, 0xb1, 0x20, 0xf0, 0x55, 0xd5, 0xe5, 0x43, 0xb2, 0xab, 0x40, 0x3d, 0x75, 0xd4, 0x80, 0x53, 0xa0, 0xaa, 0xc0, - 0x82, 0x24, 0xa8, 0x0c, 0x5d, 0x15, 0x98, 0x56, 0x60, 0x9a, 0xa9, 0xc2, 0x45, 0x99, 0x1d, 0x4a, 0xb3, 0x5e, 0xf2, - 0x59, 0x3c, 0x08, 0x93, 0x61, 0x4c, 0x1e, 0x22, 0xd4, 0xfe, 0x61, 0x1e, 0xc5, 0x5a, 0x2e, 0x79, 0xe9, 0xfc, 0xe2, - 0x6f, 0x3e, 0x63, 0xaf, 0x7b, 0x86, 0xc1, 0x02, 0x9c, 0xa5, 0xed, 0x55, 0x26, 0xde, 0xca, 0x56, 0x70, 0x1c, 0xcc, - 0xa2, 0x1c, 0x56, 0x3d, 0x39, 0xa2, 0xb9, 0xc8, 0xb5, 0x77, 0x11, 0x22, 0x07, 0x99, 0x3d, 0x06, 0xd8, 0x8d, 0xf0, - 0x75, 0x68, 0x6d, 0x6e, 0x75, 0x85, 0xf8, 0x1b, 0x25, 0x12, 0x3f, 0x49, 0xf9, 0x71, 0xbd, 0x52, 0xb9, 0x2a, 0x83, - 0xc7, 0xaa, 0x9b, 0xc1, 0x33, 0xed, 0x7b, 0xac, 0xfd, 0x5b, 0xdb, 0xcd, 0xf1, 0xde, 0x83, 0x07, 0xad, 0xff, 0xad, - 0x27, 0x21, 0xb4, 0x57, 0x4e, 0x52, 0x77, 0xd4, 0xe8, 0x99, 0xc9, 0x1a, 0x51, 0x09, 0x53, 0xbb, 0x53, 0x39, 0x06, - 0x6a, 0x3a, 0x80, 0x6b, 0x89, 0x9a, 0xa0, 0x27, 0x05, 0x1b, 0xc3, 0x11, 0x67, 0x71, 0xd0, 0x8e, 0x63, 0x14, 0x2f, - 0xe7, 0x4a, 0xbc, 0x9c, 0x9f, 0x30, 0x0e, 0xd0, 0x5a, 0x80, 0x54, 0xaf, 0x61, 0x3f, 0x73, 0x05, 0x0b, 0x6c, 0xee, - 0x7c, 0x47, 0x16, 0xc8, 0x10, 0x27, 0x9b, 0xe3, 0x64, 0x8f, 0x6b, 0x3d, 0xf7, 0x02, 0x1f, 0x27, 0xf5, 0xc2, 0xab, - 0xab, 0x6c, 0xd7, 0xb5, 0x64, 0xe5, 0xbc, 0x18, 0x4c, 0x20, 0x28, 0x4b, 0x39, 0x2f, 0x86, 0x93, 0x05, 0xcd, 0xe1, - 0xc7, 0xa2, 0x81, 0x0e, 0xb1, 0x1c, 0x24, 0x70, 0xe9, 0xec, 0x31, 0xe0, 0x0d, 0xa5, 0x16, 0x77, 0x63, 0x1d, 0x39, - 0xd6, 0x51, 0x1c, 0x86, 0x31, 0xe0, 0xca, 0x3a, 0x81, 0xf7, 0xfe, 0xeb, 0x63, 0x13, 0x90, 0x55, 0xbb, 0xc2, 0xab, - 0x51, 0xee, 0xba, 0xd2, 0xe8, 0x4b, 0x4a, 0x4f, 0x78, 0xc1, 0x53, 0xc9, 0x76, 0xdb, 0x33, 0x70, 0xb6, 0xc4, 0x43, - 0xe2, 0x1d, 0x23, 0x7a, 0x31, 0x6d, 0x64, 0xe6, 0x04, 0xce, 0x6c, 0x77, 0xd9, 0xc6, 0xfc, 0xd8, 0x01, 0x0e, 0x16, - 0x41, 0x48, 0xdc, 0x10, 0x86, 0x89, 0x9d, 0x94, 0x43, 0x2d, 0x84, 0xeb, 0x5a, 0x78, 0x1d, 0xa7, 0x65, 0x0c, 0x2e, - 0xd2, 0xda, 0x36, 0x71, 0x0f, 0x5d, 0xf7, 0xfc, 0x98, 0x5b, 0x1d, 0xa3, 0x2d, 0xa4, 0xdf, 0x8e, 0x4e, 0x1f, 0x38, - 0x0c, 0x40, 0xd3, 0x83, 0x59, 0xd5, 0x3e, 0x93, 0xb8, 0x39, 0xed, 0x04, 0x21, 0x11, 0x88, 0xa2, 0x74, 0x46, 0x98, - 0xfe, 0x9d, 0xe6, 0xb2, 0x8a, 0x56, 0xf7, 0xf2, 0xcc, 0x21, 0xcf, 0x42, 0x6f, 0x7b, 0xd0, 0xaa, 0xb9, 0x1b, 0x8c, - 0x13, 0xb7, 0xdb, 0x3b, 0xff, 0x6f, 0x59, 0xd7, 0x56, 0x6b, 0xc4, 0xc3, 0x76, 0xf5, 0x83, 0xc6, 0x5e, 0xed, 0xa9, - 0x18, 0x30, 0x97, 0xd2, 0x3b, 0xa3, 0x4a, 0x5e, 0x64, 0xbc, 0xc4, 0x93, 0xea, 0xb2, 0xe1, 0xe3, 0x7d, 0x93, 0x8d, - 0xcc, 0x03, 0x99, 0x02, 0xe2, 0xf9, 0xc7, 0xd4, 0xa8, 0x8f, 0x53, 0x94, 0x80, 0xbf, 0xd5, 0xf1, 0x8d, 0xe8, 0x7b, - 0xfb, 0xe2, 0x92, 0x57, 0x6f, 0x6e, 0x84, 0x79, 0xf1, 0xcc, 0xea, 0xfc, 0xe9, 0xd3, 0xc2, 0x87, 0x0e, 0x47, 0xed, - 0x1d, 0x14, 0x59, 0x32, 0x71, 0x32, 0x31, 0xb2, 0x36, 0x31, 0x7b, 0xaf, 0xe0, 0x62, 0xa2, 0x0a, 0x3d, 0xeb, 0xec, - 0x09, 0x53, 0x80, 0xbe, 0x71, 0x8c, 0x4a, 0xc6, 0xb0, 0x60, 0xa0, 0x4e, 0x53, 0x42, 0xf4, 0x50, 0xcc, 0x30, 0x5e, - 0x31, 0x80, 0xc2, 0x14, 0x0a, 0x44, 0xd1, 0xd9, 0x87, 0x03, 0x4d, 0xe8, 0xf7, 0x3f, 0xa6, 0x3a, 0x03, 0x2d, 0xeb, - 0x69, 0x01, 0xa2, 0x3a, 0x88, 0xb6, 0x0a, 0x84, 0x39, 0xa5, 0x65, 0x46, 0x97, 0x82, 0xa6, 0x82, 0x26, 0x19, 0xbd, - 0xe0, 0x4a, 0x54, 0x7c, 0x21, 0x98, 0xa2, 0xed, 0x86, 0xb0, 0xff, 0xd8, 0xa0, 0xeb, 0xad, 0x58, 0x6b, 0x68, 0x77, - 0x82, 0x8c, 0xd0, 0x7c, 0xa1, 0x83, 0x90, 0xa1, 0x72, 0x12, 0xf1, 0xe1, 0x35, 0x5e, 0x81, 0x4b, 0xa6, 0xd9, 0x68, - 0x19, 0x97, 0x61, 0x60, 0xbf, 0x0a, 0x2c, 0x26, 0x07, 0x26, 0xbd, 0x5f, 0x9f, 0x3f, 0x95, 0x57, 0x2b, 0x29, 0xb8, - 0xa8, 0x14, 0x44, 0xbf, 0xc1, 0x7d, 0x37, 0x71, 0xd5, 0x59, 0xb3, 0x56, 0x7a, 0xdf, 0xb7, 0x3e, 0x6b, 0xe3, 0xbe, - 0x30, 0x38, 0x06, 0x3b, 0x1f, 0x11, 0x03, 0x69, 0x50, 0xe9, 0x16, 0x87, 0x26, 0x40, 0x97, 0x0e, 0x29, 0x64, 0xc9, - 0x54, 0xa6, 0x4a, 0x50, 0xf1, 0x8d, 0xdf, 0x49, 0x59, 0x8d, 0xfe, 0x5a, 0xf3, 0xe2, 0xee, 0x3d, 0xcf, 0x39, 0x8e, - 0x51, 0x90, 0xc4, 0xe2, 0x3a, 0x2e, 0x03, 0xe2, 0x5b, 0x5e, 0x05, 0x47, 0xa9, 0x09, 0x1b, 0xb3, 0x53, 0x35, 0x6a, - 0xbd, 0x0a, 0xf4, 0x95, 0x51, 0xbe, 0x31, 0x18, 0x9a, 0x88, 0x2a, 0xe8, 0x7b, 0xad, 0xee, 0x69, 0x75, 0xc3, 0x02, - 0xe2, 0xcf, 0x95, 0x5e, 0xa8, 0xf5, 0xba, 0x19, 0x73, 0xc3, 0x44, 0x08, 0x1a, 0x3d, 0xaa, 0x17, 0x0e, 0x3f, 0x7f, - 0xa3, 0x2c, 0x89, 0xe0, 0xc5, 0x26, 0x5d, 0x17, 0x26, 0x96, 0x06, 0xd5, 0x01, 0x73, 0xa3, 0x4d, 0xce, 0x2f, 0x41, - 0xf4, 0xe7, 0xac, 0x88, 0x26, 0x75, 0x4d, 0x15, 0x82, 0x61, 0xb4, 0xb9, 0x6d, 0xa4, 0xd3, 0x3b, 0xf0, 0x72, 0x33, - 0xd6, 0x48, 0xda, 0xd3, 0xb1, 0xa6, 0x05, 0x2f, 0x57, 0x52, 0x94, 0x10, 0xdd, 0xb9, 0x37, 0xa6, 0x57, 0x71, 0x26, - 0xaa, 0x38, 0x13, 0xa7, 0xe5, 0x8a, 0x27, 0xd5, 0x3b, 0xa8, 0x50, 0x1b, 0xe3, 0x60, 0xeb, 0xd5, 0xa8, 0xab, 0x70, - 0xc8, 0x2f, 0x2f, 0x9e, 0xdf, 0xae, 0x62, 0x91, 0xc2, 0xa8, 0xd7, 0xfb, 0x5e, 0x34, 0xa7, 0x63, 0x15, 0x17, 0x5c, - 0x98, 0xa8, 0xc5, 0xb4, 0x62, 0x01, 0xd7, 0x19, 0x03, 0xca, 0x55, 0xec, 0xce, 0x4c, 0xc5, 0x32, 0x8c, 0xcb, 0xf2, - 0xa7, 0xac, 0xc4, 0x3b, 0x00, 0xb4, 0x06, 0x4e, 0x8b, 0x99, 0x01, 0x01, 0xb9, 0xcb, 0x0d, 0x2e, 0x02, 0x0b, 0x8e, - 0x1e, 0x8f, 0x57, 0xb7, 0x01, 0xf5, 0xde, 0x48, 0x75, 0x3d, 0x64, 0xc1, 0x78, 0xf4, 0x24, 0x70, 0xc8, 0x21, 0xfe, - 0x47, 0x8f, 0x8f, 0xf6, 0x7f, 0x33, 0x09, 0x48, 0x3d, 0x05, 0x55, 0x85, 0x51, 0x88, 0xc2, 0xb4, 0xbf, 0x5a, 0xab, - 0x5b, 0xee, 0x9b, 0xf3, 0x92, 0x17, 0xd7, 0x10, 0xad, 0x9d, 0x4c, 0x33, 0x20, 0xe7, 0x52, 0x25, 0xc0, 0xa2, 0x88, - 0xab, 0xaa, 0xc8, 0xce, 0xc1, 0x44, 0x09, 0x0d, 0xc0, 0xcc, 0xd3, 0x0b, 0x74, 0xf8, 0x88, 0xe6, 0x01, 0xf6, 0x29, - 0x58, 0xd4, 0xa4, 0x2e, 0xa1, 0xb0, 0xe4, 0x00, 0x83, 0xd5, 0xa9, 0xb8, 0xd2, 0x0e, 0xe0, 0xbb, 0xfa, 0x23, 0x5a, - 0x4a, 0x8c, 0x35, 0xab, 0xe7, 0x29, 0x3e, 0x2f, 0x65, 0xbe, 0xae, 0x40, 0x7b, 0x7e, 0x51, 0x45, 0x47, 0x8f, 0x57, - 0xb7, 0x53, 0xd5, 0x8d, 0x08, 0x7a, 0x31, 0x55, 0x38, 0x6f, 0x49, 0x9c, 0x27, 0xe1, 0x64, 0x3c, 0xfe, 0xea, 0x60, - 0x78, 0x00, 0xc9, 0x64, 0xfa, 0x69, 0xa8, 0x1c, 0xb9, 0x86, 0x93, 0xf1, 0xb8, 0xfe, 0xa3, 0x36, 0x61, 0xbe, 0x4d, - 0x3d, 0xef, 0xff, 0x38, 0x56, 0xeb, 0xff, 0xe4, 0xf8, 0x50, 0xff, 0xf8, 0xa3, 0xae, 0xa7, 0x4f, 0x8b, 0x70, 0xfe, - 0xcf, 0x50, 0xad, 0xef, 0xd3, 0xa2, 0x88, 0xef, 0x6a, 0x88, 0x6c, 0x2a, 0x9c, 0x77, 0x0d, 0xf5, 0xc8, 0x02, 0x3d, - 0x22, 0xd3, 0x0b, 0xc1, 0xe0, 0x9b, 0x77, 0x55, 0x18, 0xf0, 0x72, 0x35, 0xe4, 0xa2, 0xca, 0xaa, 0xbb, 0x21, 0xe6, - 0x09, 0xf0, 0x53, 0x8b, 0x67, 0x56, 0x18, 0xe2, 0x7b, 0x51, 0x70, 0xfe, 0x89, 0x87, 0xca, 0x58, 0x7c, 0x8c, 0xc6, - 0xe2, 0x63, 0xaa, 0xba, 0x31, 0xf9, 0x86, 0xea, 0xbe, 0x4d, 0xbe, 0x01, 0x93, 0xac, 0xac, 0xfd, 0x8d, 0x32, 0xd6, - 0x8c, 0xc6, 0xf4, 0xfa, 0x45, 0x9e, 0xad, 0xe0, 0x52, 0xb0, 0xd4, 0x3f, 0x6a, 0x42, 0xdf, 0xf1, 0x76, 0xf6, 0xd1, - 0x68, 0xf4, 0xa6, 0xa0, 0xa3, 0xd1, 0xe8, 0x63, 0x56, 0x13, 0xba, 0x12, 0x1d, 0xef, 0xdf, 0x71, 0x7a, 0x2e, 0xd3, - 0xbb, 0x28, 0x08, 0xe8, 0x32, 0x4b, 0x53, 0x2e, 0x54, 0x59, 0xaf, 0xd2, 0x76, 0x5e, 0xd5, 0x42, 0x04, 0x42, 0xd2, - 0x6d, 0x44, 0x48, 0x26, 0x42, 0x1f, 0xec, 0xf4, 0x6c, 0x34, 0x1a, 0xbd, 0x4a, 0x4d, 0xb5, 0xee, 0x82, 0xf2, 0x14, - 0xcd, 0x29, 0x9c, 0x9f, 0x02, 0x58, 0x23, 0x99, 0xe8, 0x2f, 0x87, 0xff, 0x3d, 0x9c, 0xcd, 0xc7, 0xc3, 0x6f, 0x47, - 0x8b, 0x87, 0x87, 0x34, 0x08, 0xfc, 0xd0, 0x0d, 0xa1, 0xb6, 0x6e, 0x99, 0x96, 0xc7, 0xe3, 0x29, 0x29, 0x07, 0xec, - 0xb1, 0xf5, 0x2d, 0xfa, 0xea, 0x31, 0x20, 0xb3, 0xa2, 0x48, 0x39, 0x70, 0xd2, 0x50, 0xbc, 0x9a, 0xbd, 0x14, 0x80, - 0x17, 0x67, 0x23, 0x3b, 0x18, 0xad, 0xe8, 0x38, 0x82, 0xf2, 0x6a, 0x6b, 0x2a, 0xd2, 0x63, 0x2c, 0x33, 0x51, 0x52, - 0xc7, 0xd3, 0xf2, 0x26, 0xab, 0x92, 0x25, 0x06, 0x7a, 0x8a, 0x4b, 0x1e, 0x7c, 0x15, 0x44, 0x25, 0x3b, 0x7a, 0x32, - 0x55, 0x70, 0xc7, 0x98, 0x94, 0xf2, 0x4b, 0x48, 0xfc, 0x76, 0x8c, 0x90, 0xb0, 0x44, 0x7b, 0x70, 0x62, 0x8d, 0x2f, - 0x72, 0x19, 0x83, 0x47, 0x6b, 0xa9, 0x79, 0x38, 0x7b, 0x32, 0x5a, 0x7b, 0x94, 0x56, 0x73, 0x24, 0x34, 0x27, 0x94, - 0x4c, 0x1e, 0x96, 0x54, 0x7e, 0x35, 0x41, 0x2f, 0x29, 0x70, 0x33, 0x8f, 0xe0, 0xf8, 0xb7, 0x96, 0x1e, 0x7a, 0xf9, - 0xa4, 0xec, 0x70, 0xfe, 0xbf, 0x4b, 0xba, 0x18, 0x1c, 0xba, 0xa1, 0x79, 0xa0, 0xdd, 0x79, 0x2b, 0x64, 0x1c, 0xab, - 0xf0, 0x4d, 0x4a, 0xac, 0x31, 0x2e, 0x67, 0x27, 0x1b, 0xd3, 0x9d, 0x51, 0x55, 0x64, 0x57, 0x21, 0xd1, 0xbd, 0x72, - 0x20, 0xa1, 0x41, 0x94, 0x8d, 0x70, 0xfd, 0x80, 0xf5, 0x8c, 0xd7, 0xc9, 0x6b, 0x5e, 0x54, 0x59, 0xa2, 0xde, 0x5f, - 0x37, 0xde, 0xd7, 0xb5, 0x09, 0xa8, 0xfa, 0xb6, 0x60, 0x30, 0xcf, 0x0f, 0x0a, 0x00, 0x31, 0x45, 0x1a, 0xe0, 0x13, - 0xcc, 0x20, 0xa8, 0x5d, 0x33, 0xaf, 0x1a, 0xc1, 0x37, 0xe0, 0xab, 0xb7, 0x05, 0x60, 0x90, 0x84, 0x20, 0x45, 0x86, - 0xd0, 0x40, 0x20, 0xd0, 0x30, 0xe4, 0x02, 0x83, 0x9f, 0x78, 0x71, 0x24, 0x95, 0x53, 0x22, 0x0f, 0x03, 0xfc, 0x11, - 0x50, 0x15, 0x80, 0xc4, 0x78, 0x1c, 0xc2, 0x0b, 0xf5, 0xcb, 0xbd, 0x51, 0x7b, 0x84, 0x3d, 0x4d, 0x43, 0x08, 0x36, - 0x84, 0x0f, 0x01, 0x2c, 0x29, 0x42, 0x1f, 0x20, 0x97, 0x11, 0x06, 0x17, 0x79, 0xb6, 0xd2, 0x49, 0xd5, 0xa8, 0xa3, - 0xf9, 0x50, 0x6a, 0x47, 0x72, 0x40, 0xbd, 0xf4, 0x18, 0xd3, 0x0b, 0x95, 0xae, 0x8a, 0x72, 0x46, 0x39, 0x6f, 0xf5, - 0xc4, 0xb8, 0xb0, 0x85, 0x1c, 0x22, 0xe1, 0xbc, 0x2d, 0x54, 0x28, 0x1c, 0xbe, 0x00, 0x30, 0x30, 0x90, 0x76, 0xec, - 0xc6, 0xbb, 0x51, 0xd9, 0xcf, 0x38, 0x3b, 0xfc, 0xef, 0x79, 0x3c, 0xfc, 0x34, 0x1e, 0x7e, 0xbb, 0x18, 0x84, 0x43, - 0xfb, 0x93, 0x3c, 0x7c, 0x70, 0x48, 0x5f, 0x70, 0xcb, 0xa5, 0xc1, 0xc2, 0x6f, 0x04, 0xfb, 0x51, 0x2b, 0x21, 0x88, - 0x02, 0xbc, 0x61, 0xb9, 0xd5, 0x38, 0x01, 0xc0, 0xc3, 0xe0, 0xbf, 0x02, 0x34, 0x9a, 0x72, 0x17, 0x2f, 0xd0, 0x97, - 0xa8, 0xdf, 0x27, 0x8f, 0x1a, 0x06, 0x83, 0x20, 0xae, 0x51, 0x31, 0x61, 0x88, 0x2e, 0x63, 0xa2, 0x60, 0x90, 0x6d, - 0xf6, 0xed, 0xb6, 0xd7, 0x96, 0x84, 0xe1, 0x97, 0x7e, 0xa6, 0x89, 0x99, 0x77, 0xb8, 0xb1, 0xad, 0xe4, 0x2a, 0x44, - 0xac, 0x40, 0xfd, 0x2b, 0x67, 0x10, 0x7b, 0xf3, 0x3a, 0x03, 0x9f, 0x0e, 0xfb, 0xc5, 0x78, 0x06, 0x6c, 0x14, 0xdc, - 0xf9, 0x0a, 0x7e, 0x91, 0x81, 0x9b, 0xb7, 0x88, 0x51, 0xe0, 0x60, 0x97, 0x44, 0xbf, 0xdf, 0xcb, 0xb3, 0x30, 0xd7, - 0xb8, 0xd3, 0x79, 0x6d, 0xd4, 0x10, 0xa8, 0x23, 0x07, 0xf5, 0x83, 0x1e, 0x82, 0xa1, 0x1a, 0x82, 0xa2, 0xa3, 0x2d, - 0xae, 0x5e, 0x5b, 0x4f, 0x61, 0x7a, 0xab, 0xea, 0x2b, 0x46, 0x7f, 0xca, 0x4c, 0x60, 0x21, 0xed, 0x9a, 0x63, 0x5d, - 0x73, 0x8c, 0xb4, 0xa7, 0xdf, 0x17, 0x0d, 0xf2, 0xd3, 0x59, 0x78, 0x10, 0xa8, 0x52, 0xe5, 0x4e, 0x59, 0x94, 0xdb, - 0xd2, 0xbc, 0x31, 0xac, 0x69, 0x9e, 0xd9, 0x38, 0x37, 0xb3, 0x5e, 0x2f, 0x0c, 0xd1, 0xc1, 0x13, 0x4b, 0xc5, 0xda, - 0x20, 0xdc, 0x91, 0x49, 0x18, 0x5d, 0x81, 0xec, 0x32, 0x3c, 0xe3, 0x04, 0xf9, 0x54, 0x60, 0x1f, 0x54, 0xb5, 0x5e, - 0x4e, 0x78, 0x6c, 0xe4, 0xcb, 0x46, 0xd0, 0x20, 0x2f, 0x29, 0xea, 0x4d, 0xdc, 0x8e, 0x3d, 0x6d, 0x21, 0x57, 0x6e, - 0xea, 0x69, 0x4f, 0x93, 0x8a, 0x1e, 0xeb, 0x55, 0xea, 0x17, 0x58, 0x5a, 0x58, 0xf2, 0x41, 0x68, 0x4f, 0xd3, 0x0a, - 0xcc, 0x70, 0x6d, 0x33, 0x18, 0xfa, 0xe1, 0xf8, 0x09, 0xe8, 0x8c, 0xda, 0x96, 0x10, 0xc6, 0x6e, 0x10, 0x56, 0xde, - 0x13, 0xf9, 0xea, 0xb1, 0x77, 0x31, 0x08, 0xb9, 0xd9, 0xcc, 0xa2, 0x81, 0xe9, 0x7e, 0x2e, 0x9b, 0xcd, 0xd3, 0xcd, - 0xf5, 0xa2, 0x84, 0x0a, 0xd8, 0x6e, 0x2b, 0x41, 0xf0, 0xef, 0xc7, 0x6c, 0x86, 0x7f, 0xb3, 0x7e, 0xbf, 0x17, 0xe2, - 0x2f, 0x8e, 0xc1, 0x8c, 0xe6, 0x62, 0xc1, 0x3e, 0x82, 0x8c, 0x89, 0x44, 0x98, 0xaa, 0x8c, 0x01, 0x59, 0x05, 0x16, - 0x81, 0xe6, 0x03, 0x95, 0x0b, 0x33, 0xd9, 0xcb, 0x9c, 0x6b, 0xc8, 0xf3, 0xd6, 0x38, 0x65, 0xa3, 0x2c, 0x51, 0xae, - 0x1c, 0xd9, 0x28, 0xce, 0xb3, 0xb8, 0xe4, 0xe5, 0x76, 0xab, 0x0f, 0xc7, 0xa4, 0xe0, 0xc0, 0xae, 0x2b, 0x2a, 0x55, - 0xb2, 0x8e, 0x54, 0x0f, 0xbc, 0x34, 0x2c, 0x70, 0x9f, 0xf2, 0x79, 0x61, 0x68, 0xc4, 0x01, 0x08, 0x33, 0x98, 0xba, - 0xa5, 0xf7, 0xc2, 0x02, 0x9a, 0x57, 0x12, 0xb2, 0xc1, 0x54, 0xcf, 0xc2, 0x37, 0x66, 0x62, 0x5e, 0x2c, 0x20, 0xac, - 0x4e, 0xb1, 0xd0, 0xcc, 0x26, 0x4d, 0x58, 0x0c, 0xb0, 0x79, 0x31, 0x99, 0x42, 0x7c, 0x77, 0x55, 0x4e, 0xbc, 0x30, - 0xf7, 0xed, 0xc4, 0x21, 0x87, 0xc0, 0xab, 0xda, 0xa0, 0xab, 0xd9, 0x86, 0xa3, 0x8e, 0x94, 0x13, 0x93, 0xdf, 0x4f, - 0x15, 0x84, 0xb8, 0x13, 0x47, 0xc2, 0xe5, 0xcd, 0x76, 0xe1, 0x65, 0x07, 0x82, 0x8e, 0x1a, 0x9c, 0xf2, 0x33, 0x83, - 0xa3, 0x31, 0x49, 0x37, 0xde, 0x09, 0x52, 0x84, 0x31, 0xd9, 0x48, 0x76, 0x2e, 0x43, 0x31, 0x8f, 0x17, 0xa0, 0xbc, - 0x8c, 0x17, 0x60, 0x69, 0x64, 0x0c, 0x52, 0x41, 0x7e, 0xc7, 0xbd, 0x50, 0x58, 0x14, 0x57, 0x88, 0xf4, 0xac, 0x7e, - 0x4f, 0x8b, 0x76, 0x28, 0x10, 0x14, 0x77, 0x28, 0xf3, 0xe4, 0xac, 0xc7, 0x02, 0x89, 0x0d, 0x01, 0xe3, 0x2b, 0x9d, - 0xa6, 0x5a, 0xeb, 0xde, 0xd8, 0xe8, 0x55, 0xd3, 0x6c, 0x24, 0x64, 0x75, 0x76, 0x01, 0x22, 0x25, 0x1f, 0x1d, 0x1f, - 0xf9, 0x45, 0xdc, 0x59, 0xe6, 0xad, 0x6d, 0x51, 0xc9, 0x4e, 0x36, 0x00, 0x5a, 0xa8, 0xa3, 0x67, 0x29, 0xb9, 0x4d, - 0x49, 0x6a, 0xb7, 0x29, 0x60, 0x25, 0xf9, 0x0b, 0x18, 0x82, 0xaf, 0x1d, 0x08, 0xa7, 0x63, 0x85, 0x78, 0x4d, 0x53, - 0x44, 0x9a, 0x0c, 0x4b, 0x8a, 0x63, 0x5b, 0x22, 0x0a, 0xaa, 0x2d, 0xcb, 0x0e, 0x86, 0x89, 0x12, 0xfc, 0x2c, 0xf5, - 0x28, 0x51, 0x10, 0x50, 0x3d, 0xe4, 0x20, 0xc1, 0xb6, 0x0d, 0x84, 0x07, 0xe4, 0x11, 0xbd, 0xb1, 0xfe, 0x3e, 0xeb, - 0x3c, 0xbb, 0xd0, 0x3c, 0x97, 0xeb, 0x5d, 0x61, 0xc6, 0x08, 0x4f, 0x32, 0x13, 0x36, 0xc0, 0x3b, 0xcf, 0x8c, 0xda, - 0xa6, 0xe7, 0xe1, 0xb5, 0x3d, 0xc7, 0x08, 0x7d, 0x7b, 0x06, 0xdd, 0x04, 0xf3, 0xea, 0xb0, 0x59, 0xaf, 0x14, 0xa4, - 0x86, 0xa9, 0x45, 0x13, 0xb3, 0x9e, 0x35, 0x28, 0xdf, 0x6e, 0x7b, 0x7a, 0xae, 0xf6, 0xcf, 0xdd, 0x76, 0xdb, 0xc3, - 0x6e, 0x3d, 0x4b, 0xbb, 0xad, 0xe2, 0x2b, 0xf5, 0x41, 0x7b, 0xfc, 0xb9, 0x1b, 0x7f, 0x6e, 0x90, 0x4d, 0x4a, 0x47, - 0x33, 0x6d, 0x7d, 0x10, 0x1e, 0x38, 0xbd, 0x6b, 0x34, 0xe9, 0xfb, 0x2c, 0x94, 0x74, 0x25, 0x1a, 0xd5, 0x99, 0x10, - 0x66, 0xac, 0xba, 0x7f, 0xfd, 0xdf, 0xbf, 0x0a, 0xf0, 0x88, 0x53, 0x3b, 0x7b, 0x6f, 0x83, 0x8a, 0x46, 0x5b, 0x38, - 0x52, 0x84, 0x1e, 0x90, 0x84, 0x7d, 0x2d, 0x6b, 0x71, 0x9b, 0xef, 0xb3, 0xfb, 0xe9, 0xd3, 0x87, 0xd4, 0xf7, 0x42, - 0x70, 0xcb, 0x2c, 0x33, 0x07, 0x5e, 0x45, 0x71, 0x40, 0xa3, 0x2e, 0xda, 0x77, 0x95, 0x95, 0x25, 0x78, 0xbd, 0xc0, - 0xbd, 0xf2, 0x3d, 0xf7, 0xe1, 0xf7, 0x2e, 0xab, 0xe6, 0x26, 0x7d, 0x9f, 0xcd, 0xb3, 0xc5, 0x76, 0x1b, 0xe2, 0xdf, - 0xae, 0x16, 0x39, 0x9a, 0x3c, 0x07, 0x9d, 0x26, 0x46, 0x32, 0x62, 0xba, 0x71, 0xde, 0xe6, 0x7f, 0x2d, 0x1a, 0x4e, - 0x13, 0xcf, 0x81, 0x5e, 0xcc, 0x4e, 0x41, 0x26, 0x65, 0x40, 0x0e, 0xc4, 0x4c, 0xaf, 0x19, 0x88, 0x46, 0x26, 0x22, - 0xc0, 0x15, 0xc6, 0x46, 0xa2, 0xd1, 0x09, 0x27, 0x35, 0x01, 0x0b, 0x56, 0x5b, 0xde, 0x4f, 0x96, 0xb6, 0x55, 0xc5, - 0x9d, 0xb7, 0xa4, 0x39, 0xae, 0x03, 0xe7, 0xeb, 0x60, 0x86, 0xd8, 0x94, 0x5d, 0x2d, 0x90, 0xfb, 0xe5, 0x35, 0xed, - 0x8d, 0xeb, 0x04, 0x66, 0x6d, 0x53, 0x5b, 0xc6, 0xcf, 0x96, 0xfe, 0x4e, 0x0f, 0xae, 0x32, 0x06, 0x9b, 0x1b, 0x2b, - 0x0d, 0xbb, 0x6f, 0x3c, 0x5f, 0x0a, 0x08, 0x4f, 0xe7, 0xd3, 0xe3, 0xf7, 0x99, 0x47, 0x8f, 0x81, 0xe8, 0x98, 0x8f, - 0x4a, 0xf7, 0x91, 0xdd, 0xbd, 0x7e, 0x40, 0xc0, 0x79, 0xd5, 0x2e, 0x68, 0x5e, 0x2e, 0x20, 0xb0, 0xaa, 0x57, 0x5e, - 0x61, 0xf9, 0xcc, 0x98, 0x5d, 0x02, 0x19, 0x2a, 0x08, 0x04, 0xee, 0xee, 0x3a, 0x17, 0x62, 0xd5, 0x61, 0x65, 0x4e, - 0x93, 0xb0, 0x93, 0x10, 0xcd, 0x5b, 0x83, 0x59, 0xf0, 0x5f, 0xc1, 0xa0, 0x1c, 0x04, 0x51, 0x10, 0x05, 0x01, 0x19, - 0x14, 0xf0, 0x0b, 0x71, 0xd7, 0x08, 0xc6, 0x6c, 0x81, 0x0e, 0x3f, 0xe0, 0xcc, 0x67, 0x44, 0x5e, 0xfa, 0x61, 0x3d, - 0xbd, 0x01, 0x38, 0x97, 0x32, 0xe7, 0x31, 0xfa, 0x9c, 0x3c, 0xe0, 0x2c, 0x23, 0xf4, 0x81, 0x77, 0x2a, 0xbf, 0xe5, - 0x8d, 0x60, 0x7f, 0xbb, 0xc3, 0xf6, 0x02, 0xe4, 0x15, 0xbd, 0x31, 0x7d, 0xc0, 0x49, 0x94, 0x35, 0x9c, 0xa9, 0x39, - 0xf4, 0xac, 0xb2, 0xac, 0x15, 0x35, 0xe4, 0x06, 0xc5, 0xdc, 0xc8, 0x32, 0x39, 0x99, 0xb6, 0x9a, 0x53, 0x81, 0xeb, - 0xce, 0xae, 0x17, 0x90, 0x1c, 0x0a, 0xcd, 0xd2, 0xd9, 0x70, 0xde, 0xb6, 0x65, 0xcf, 0x5a, 0xa7, 0x90, 0xd7, 0x10, - 0x15, 0x0d, 0xd2, 0x11, 0x50, 0x43, 0x2b, 0x2e, 0x2b, 0x70, 0x61, 0x36, 0xed, 0xe1, 0xa6, 0x3d, 0xa6, 0x19, 0x3f, - 0x41, 0xcc, 0x3c, 0x8e, 0x2d, 0x03, 0x3b, 0x12, 0x87, 0xef, 0xe3, 0x7c, 0x81, 0x76, 0xe9, 0xad, 0xab, 0xc5, 0x23, - 0xac, 0x3d, 0x6f, 0x85, 0x84, 0x00, 0xf1, 0x69, 0x2a, 0xdd, 0x6e, 0x83, 0x00, 0x06, 0xb8, 0xdf, 0xef, 0x01, 0xd7, - 0x6a, 0xd8, 0x49, 0x73, 0x6b, 0xb6, 0xc4, 0x5e, 0x51, 0x78, 0x0c, 0xcc, 0xa9, 0xf9, 0xcf, 0x20, 0xa0, 0x78, 0xee, - 0x86, 0x60, 0x6f, 0xca, 0x4e, 0x36, 0x45, 0xbf, 0xff, 0xac, 0xc0, 0x07, 0x94, 0x0b, 0x83, 0x98, 0x5b, 0xc7, 0xf1, - 0x30, 0xec, 0x93, 0xfa, 0x10, 0xc7, 0x22, 0xcf, 0x42, 0x47, 0x58, 0x2a, 0x43, 0x58, 0xb8, 0x62, 0xa4, 0x83, 0x38, - 0xa8, 0x49, 0xe7, 0x60, 0x55, 0x2e, 0xf8, 0x72, 0xaf, 0xf7, 0x1a, 0x60, 0xd2, 0x33, 0x6f, 0x58, 0x5e, 0x78, 0x80, - 0x68, 0xbd, 0x1e, 0x2e, 0x14, 0x8f, 0x4c, 0x34, 0xd0, 0x38, 0xf1, 0xa5, 0x65, 0xd7, 0x67, 0x5a, 0x56, 0x32, 0x1a, - 0x8d, 0xaa, 0x5a, 0x49, 0x3e, 0xec, 0x77, 0x9f, 0x5a, 0x28, 0x9e, 0x32, 0x4e, 0x79, 0x0a, 0x96, 0xef, 0x86, 0xd2, - 0xcd, 0x17, 0x74, 0xc5, 0x45, 0xaa, 0x7e, 0x7a, 0xe8, 0x9b, 0x0d, 0xe2, 0x9a, 0x35, 0x75, 0x38, 0x76, 0xf8, 0x21, - 0x00, 0xa6, 0x7d, 0x98, 0xb9, 0x74, 0x0d, 0xd3, 0x0b, 0xe2, 0xd9, 0xb8, 0xe0, 0xa1, 0xcb, 0x03, 0xd8, 0x87, 0xe6, - 0x90, 0xc4, 0x4f, 0xe1, 0xe7, 0xcc, 0xa4, 0x75, 0x7c, 0x86, 0xb3, 0x19, 0x95, 0xea, 0x46, 0xd0, 0x7e, 0x0d, 0x89, - 0xc4, 0x20, 0x3d, 0x37, 0x18, 0x8a, 0xd6, 0xdd, 0x06, 0xae, 0xfc, 0x96, 0xde, 0xf9, 0x34, 0x08, 0xb0, 0xbe, 0xb1, - 0x18, 0x00, 0x50, 0xc5, 0x1f, 0xa8, 0xba, 0x32, 0x57, 0x14, 0xd3, 0x30, 0x95, 0x68, 0xef, 0x38, 0xae, 0xa3, 0xc6, - 0x75, 0x58, 0xb0, 0xd2, 0xda, 0x36, 0xbb, 0xb7, 0x10, 0x7f, 0x44, 0x97, 0x80, 0x6a, 0x41, 0xdc, 0x09, 0xe0, 0x43, - 0x23, 0xd5, 0x81, 0x20, 0xbb, 0x0f, 0x0e, 0x00, 0x78, 0xc3, 0xf3, 0x30, 0x84, 0x3f, 0xb0, 0x70, 0x60, 0x59, 0xaa, - 0x7e, 0x2e, 0xa7, 0x31, 0x9c, 0xbb, 0xb9, 0xda, 0xe1, 0xb3, 0x25, 0x28, 0x36, 0xd5, 0x9c, 0x9a, 0xcb, 0x57, 0xde, - 0xd8, 0xef, 0x31, 0xc1, 0x3c, 0x66, 0xb6, 0xe1, 0xb7, 0x9e, 0x6e, 0xeb, 0x1b, 0xec, 0x06, 0x4e, 0xda, 0x0b, 0xa7, - 0xbd, 0xd8, 0x2e, 0x0d, 0xe4, 0x5f, 0xdd, 0x10, 0x22, 0x7c, 0xd0, 0xc4, 0x22, 0x6b, 0xc8, 0x74, 0x2c, 0x56, 0x88, - 0x6a, 0x53, 0xf1, 0x54, 0x1b, 0x08, 0x94, 0x53, 0x75, 0x61, 0x6a, 0xa5, 0x32, 0x61, 0x10, 0x77, 0x4a, 0x58, 0x54, - 0x19, 0x60, 0x18, 0x54, 0x48, 0x71, 0x6d, 0x3d, 0x7f, 0xe2, 0xf2, 0xcd, 0x4c, 0x9b, 0xed, 0xa7, 0x2f, 0xf2, 0xf8, - 0x72, 0xbb, 0x0d, 0xbb, 0x5f, 0x80, 0x39, 0x6a, 0xa9, 0x34, 0x8c, 0xe0, 0x04, 0xa2, 0x24, 0xd7, 0x7b, 0x72, 0x4e, - 0x1c, 0x27, 0xd7, 0x6e, 0xde, 0x6c, 0x27, 0xc5, 0x08, 0x2c, 0xe0, 0xc4, 0x45, 0x3a, 0xd0, 0x52, 0x49, 0x6a, 0x4f, - 0x01, 0x6f, 0xd3, 0x3b, 0x4a, 0x85, 0x57, 0x0b, 0x4d, 0x42, 0x2a, 0x77, 0x2f, 0xb1, 0xa3, 0x06, 0x9c, 0x93, 0xba, - 0x83, 0x80, 0xd3, 0x9e, 0x6e, 0xac, 0x55, 0x24, 0x9b, 0x04, 0xef, 0x95, 0x1e, 0xba, 0x44, 0x3b, 0xb5, 0xbb, 0x6d, - 0x55, 0xb6, 0x50, 0x30, 0x0f, 0x72, 0x96, 0xa8, 0xe3, 0x01, 0x85, 0x2e, 0xea, 0x68, 0xc8, 0x17, 0xa4, 0xd0, 0x2b, - 0x47, 0xab, 0x9a, 0x77, 0x25, 0x03, 0xa5, 0x5a, 0x05, 0x79, 0x4d, 0xac, 0xfb, 0x5a, 0xd6, 0x58, 0x5c, 0x39, 0x21, - 0x85, 0x4d, 0xf8, 0xd2, 0x52, 0x2c, 0xcc, 0x62, 0x6f, 0x4c, 0x7d, 0xe1, 0x12, 0xa1, 0xed, 0x6e, 0x43, 0x8c, 0x36, - 0x58, 0x37, 0xdb, 0xed, 0x87, 0x22, 0x9c, 0x67, 0x0b, 0x2a, 0x47, 0x59, 0x8a, 0x90, 0x6a, 0xc6, 0x63, 0xd9, 0x76, - 0xc1, 0x4c, 0x0c, 0x75, 0xed, 0xf1, 0x92, 0x4c, 0xb1, 0x36, 0x49, 0x8e, 0xe2, 0x73, 0x59, 0xa8, 0xb5, 0x46, 0x08, - 0x1e, 0xee, 0xdf, 0xa5, 0x10, 0xd3, 0xce, 0xac, 0xbb, 0x5f, 0x77, 0x6e, 0x88, 0xdf, 0x41, 0x60, 0x85, 0x92, 0x7d, - 0x28, 0x46, 0xe7, 0x99, 0x48, 0x71, 0xa7, 0xaa, 0x28, 0xc1, 0x6a, 0x1d, 0x34, 0x5b, 0x6e, 0xef, 0xc5, 0x96, 0x28, - 0x40, 0x9c, 0x67, 0xa1, 0x19, 0xcf, 0xca, 0x59, 0xce, 0x64, 0x14, 0x1b, 0x12, 0x95, 0x5e, 0x94, 0x78, 0x9f, 0xa7, - 0x31, 0x3d, 0x74, 0x6b, 0x10, 0x5c, 0x57, 0x77, 0x36, 0xd2, 0x7c, 0x41, 0x88, 0x9a, 0x00, 0x09, 0x1b, 0xd5, 0x9c, - 0x5a, 0x97, 0xe2, 0x7e, 0x56, 0xf9, 0x4e, 0x1f, 0xc4, 0x97, 0x02, 0x78, 0x58, 0x6f, 0x7b, 0x5f, 0x09, 0x8f, 0xb5, - 0xc1, 0xb7, 0xdb, 0xed, 0xa5, 0x98, 0x07, 0x81, 0xc7, 0x68, 0xfe, 0xa0, 0x24, 0xe6, 0xbd, 0x31, 0x85, 0x15, 0xef, - 0xbb, 0xf8, 0x75, 0x93, 0x5a, 0x6b, 0x91, 0xbb, 0xc3, 0xf5, 0x01, 0xcf, 0x53, 0xe2, 0x68, 0x47, 0xe5, 0x54, 0x5a, - 0xdb, 0x01, 0xec, 0x8a, 0xc0, 0x40, 0xd9, 0xbf, 0xa4, 0x6c, 0x03, 0xe6, 0x89, 0x60, 0x7d, 0x84, 0x7e, 0x5b, 0x4a, - 0x7f, 0x32, 0x46, 0xe3, 0x1e, 0xb9, 0xae, 0xa2, 0x23, 0xae, 0xa3, 0xd9, 0xf3, 0xe8, 0x6f, 0x4f, 0xc6, 0xb4, 0x88, - 0x45, 0x2a, 0xaf, 0x40, 0x05, 0x01, 0xca, 0x10, 0x74, 0x84, 0xd0, 0xd4, 0x00, 0x34, 0x08, 0x6e, 0x00, 0x7e, 0xeb, - 0x74, 0xa2, 0xb4, 0x35, 0xf9, 0x18, 0xad, 0xaa, 0xc8, 0x59, 0x1b, 0xda, 0x4d, 0x25, 0x87, 0xe4, 0x61, 0x09, 0xf8, - 0x96, 0xd8, 0x2c, 0x65, 0x83, 0xa2, 0x36, 0x9b, 0x7a, 0xad, 0xd8, 0x91, 0xdb, 0x46, 0xd1, 0x66, 0x2d, 0x6a, 0xbb, - 0x91, 0xf9, 0x62, 0x7a, 0x6b, 0x85, 0x81, 0x53, 0xd3, 0x9a, 0x9b, 0x1d, 0x28, 0x39, 0x5b, 0x9f, 0xc9, 0x4d, 0x80, - 0x38, 0xc0, 0x70, 0xdd, 0xce, 0x6f, 0x16, 0x84, 0xde, 0xb2, 0x5b, 0x2b, 0x56, 0xbd, 0xb1, 0x72, 0x11, 0x93, 0x76, - 0x33, 0x98, 0xc0, 0x65, 0x9c, 0x15, 0xf6, 0x85, 0x56, 0x37, 0x14, 0x1d, 0x6d, 0x93, 0xf6, 0xf3, 0x8e, 0x76, 0xc3, - 0x05, 0xdf, 0x8a, 0x75, 0x9c, 0x5b, 0xd6, 0x54, 0xa1, 0x69, 0x07, 0x7a, 0x3b, 0x04, 0x34, 0x67, 0x63, 0xba, 0xa4, - 0x29, 0x5e, 0xa0, 0xe9, 0x1a, 0xcc, 0x74, 0x2e, 0xa0, 0xaf, 0xdd, 0x3e, 0xda, 0x17, 0xaa, 0x27, 0xc2, 0x5b, 0xa2, - 0xe0, 0xdb, 0x92, 0x82, 0x97, 0x5a, 0xce, 0x63, 0x33, 0x87, 0x80, 0x4f, 0xa3, 0x4a, 0xf4, 0x4e, 0x8a, 0x4b, 0xd0, - 0x66, 0xc2, 0x11, 0x68, 0xaa, 0x46, 0x6c, 0xe5, 0x00, 0xb7, 0x17, 0x4f, 0x03, 0x42, 0x41, 0xaa, 0xbb, 0xb6, 0x2b, - 0xf2, 0x96, 0x9d, 0x6c, 0x6e, 0xc1, 0x4c, 0xb8, 0x5a, 0x97, 0xad, 0xaf, 0x6c, 0xb2, 0xfb, 0xb8, 0x26, 0xd8, 0x76, - 0x6f, 0x83, 0x84, 0xb7, 0xf4, 0x86, 0x6c, 0x6e, 0xfa, 0xfd, 0x10, 0xfa, 0x43, 0xa8, 0xee, 0xd0, 0x6d, 0x67, 0x87, - 0x6e, 0xbd, 0x76, 0x9e, 0x5b, 0x3d, 0x9f, 0xf2, 0x0e, 0xf9, 0x80, 0x26, 0x6b, 0x74, 0x15, 0xdf, 0xc1, 0xa6, 0x8e, - 0x2a, 0xaa, 0x2a, 0x8f, 0x12, 0x0a, 0x2a, 0xf1, 0x8c, 0x97, 0xef, 0x39, 0xc6, 0x7a, 0xd5, 0x4f, 0x6f, 0x35, 0xaf, - 0xb6, 0x36, 0x6b, 0xb3, 0x5c, 0x9f, 0x83, 0x85, 0xc4, 0x39, 0x8f, 0xae, 0x34, 0x2d, 0xb9, 0xf4, 0xa1, 0x34, 0x71, - 0x54, 0x82, 0x8b, 0x38, 0xcb, 0x41, 0x8d, 0x7b, 0xd1, 0xec, 0x7f, 0xa8, 0x6d, 0xc7, 0x96, 0x8d, 0x33, 0xf7, 0x3a, - 0x24, 0x9b, 0xff, 0xb1, 0x81, 0x7a, 0x1a, 0x62, 0x84, 0x58, 0xb3, 0xa0, 0xdf, 0x30, 0x88, 0x15, 0x1a, 0x94, 0xeb, - 0x24, 0xe1, 0x65, 0x19, 0x18, 0xa5, 0xd6, 0x9a, 0xad, 0xcd, 0x79, 0xf6, 0x96, 0x9d, 0xbc, 0xed, 0x31, 0x76, 0x4b, - 0x68, 0xa2, 0x75, 0x42, 0xa6, 0xc6, 0xc8, 0xd3, 0x02, 0xe9, 0x0e, 0x45, 0xd9, 0x45, 0xf8, 0x06, 0x85, 0x2c, 0xed, - 0x7d, 0x6e, 0x4e, 0x64, 0xf5, 0x8d, 0x36, 0x42, 0x89, 0x54, 0x22, 0xc8, 0xc6, 0x6f, 0x10, 0xc0, 0x18, 0x9a, 0x1d, - 0x90, 0xcd, 0x92, 0xbd, 0xa2, 0x67, 0xd6, 0x24, 0x08, 0x5e, 0xbf, 0x51, 0x89, 0x66, 0x94, 0x15, 0xd1, 0x55, 0x46, - 0x3f, 0x77, 0x21, 0x89, 0xce, 0x42, 0xe2, 0xe7, 0x86, 0xa5, 0x75, 0x1d, 0xa2, 0x98, 0xd9, 0x6c, 0x78, 0xad, 0x88, - 0x6a, 0x6c, 0x2b, 0xe3, 0x63, 0x7e, 0x6b, 0xd3, 0xc8, 0x14, 0xfa, 0x3a, 0x9c, 0xf4, 0xfb, 0xf0, 0x57, 0xd3, 0x0f, - 0xbc, 0xa5, 0xe0, 0x2f, 0xf6, 0x96, 0xd4, 0x09, 0x0b, 0x00, 0x9e, 0x31, 0xe7, 0x55, 0x73, 0x02, 0xdf, 0xb2, 0x93, - 0xcd, 0xdb, 0xf0, 0x55, 0x63, 0xe6, 0xee, 0x42, 0xbc, 0x54, 0x25, 0x3d, 0x6f, 0x9e, 0xcc, 0x40, 0xac, 0xac, 0xd6, - 0xfc, 0x96, 0x59, 0x7d, 0x02, 0x10, 0xa9, 0x5b, 0xeb, 0x60, 0x8b, 0x1f, 0x9b, 0x2e, 0x93, 0x4d, 0xca, 0xda, 0x4c, - 0x94, 0x52, 0x91, 0x34, 0x17, 0x01, 0xf4, 0x1b, 0x86, 0xa3, 0x06, 0xb8, 0x73, 0x3d, 0xf6, 0x66, 0x68, 0xbc, 0x31, - 0x35, 0xf4, 0x6c, 0xa3, 0x97, 0xb7, 0xa3, 0x10, 0x66, 0x2c, 0xa2, 0x5b, 0x77, 0x2c, 0x86, 0xaf, 0xe8, 0x1b, 0xa8, - 0xf0, 0x69, 0x88, 0xd1, 0x85, 0x49, 0x5d, 0x4f, 0xd7, 0x6a, 0x2b, 0xdd, 0x10, 0x9a, 0x63, 0x54, 0x23, 0xaf, 0x6d, - 0x77, 0xd4, 0x08, 0xed, 0x09, 0xe5, 0xe1, 0x2d, 0xad, 0xe8, 0x8d, 0x65, 0x11, 0x9c, 0xfc, 0xd8, 0xcb, 0x4f, 0xe8, - 0xb9, 0x27, 0x30, 0x29, 0xda, 0x1a, 0xc0, 0x5f, 0x50, 0x3f, 0x9c, 0xd5, 0x53, 0x2b, 0xe5, 0xf0, 0x14, 0xbe, 0x64, - 0x03, 0x72, 0x05, 0xbd, 0x58, 0x63, 0x76, 0x12, 0x83, 0x0e, 0x6a, 0x67, 0x77, 0x78, 0x93, 0x52, 0x86, 0x68, 0x8d, - 0xe8, 0x20, 0xaf, 0x7e, 0x03, 0x4d, 0x1f, 0xa4, 0x85, 0x29, 0x5d, 0xa3, 0x80, 0x07, 0xf4, 0x4d, 0xfd, 0x7e, 0x8e, - 0xcf, 0xb5, 0x67, 0x99, 0xa6, 0x2c, 0x90, 0x09, 0x5d, 0x7a, 0x71, 0xbb, 0x40, 0xda, 0xec, 0x58, 0x05, 0x60, 0x45, - 0x12, 0x68, 0x44, 0x02, 0x96, 0x4b, 0x9e, 0xb8, 0x6c, 0x83, 0x06, 0x35, 0x51, 0x49, 0x21, 0x4b, 0x24, 0x81, 0x1f, - 0x46, 0x50, 0xa6, 0x28, 0x06, 0x71, 0xaf, 0x5e, 0x5e, 0x71, 0x4d, 0x0d, 0x58, 0x53, 0x04, 0x13, 0xac, 0xd3, 0x29, - 0x10, 0x5b, 0xb1, 0x5e, 0x81, 0x27, 0xaa, 0xbb, 0x48, 0x22, 0x4b, 0x80, 0x06, 0x7a, 0xbe, 0x74, 0xda, 0x2d, 0x6f, - 0x4f, 0xb4, 0x54, 0xb1, 0xb9, 0xf7, 0x62, 0x61, 0xb9, 0xc7, 0xca, 0xdf, 0x0e, 0xb4, 0x17, 0x56, 0x3b, 0x22, 0x6a, - 0xb0, 0x3a, 0x6c, 0xdb, 0xf9, 0xa1, 0x34, 0x54, 0xf7, 0xca, 0x31, 0x01, 0x15, 0x5d, 0xc5, 0xd5, 0x32, 0xca, 0x46, - 0xf0, 0x67, 0xbb, 0x0d, 0x0e, 0x03, 0xb0, 0x08, 0xfd, 0xe5, 0xdd, 0x4f, 0x11, 0x86, 0xab, 0xfa, 0xe5, 0xdd, 0x4f, - 0xdb, 0xed, 0x93, 0xf1, 0xd8, 0x70, 0x05, 0x4e, 0xad, 0x03, 0xfc, 0x81, 0x61, 0x1b, 0xec, 0x92, 0xdd, 0x6e, 0x9f, - 0x00, 0x07, 0xa1, 0xd8, 0x06, 0xb3, 0x8b, 0x95, 0x63, 0x9b, 0x62, 0x35, 0xf4, 0x8e, 0x04, 0xec, 0xbe, 0x1d, 0x96, - 0x62, 0x97, 0xfa, 0xa8, 0x90, 0x94, 0x7a, 0xd1, 0x3f, 0xef, 0x14, 0x58, 0x52, 0x30, 0xe5, 0x0d, 0x96, 0x55, 0xb5, - 0x2a, 0xa3, 0xc3, 0xc3, 0x78, 0x95, 0x8d, 0xca, 0x0c, 0xb6, 0x79, 0x79, 0x7d, 0x09, 0x00, 0x13, 0x01, 0x6d, 0xbc, - 0x5b, 0x8b, 0xcc, 0xbc, 0x58, 0xd0, 0x65, 0x86, 0x6b, 0x12, 0xcc, 0x0e, 0x72, 0x6e, 0x75, 0x93, 0x53, 0x62, 0x1f, - 0xc0, 0x06, 0x73, 0xbb, 0x6d, 0xf0, 0x0b, 0x27, 0xa3, 0x27, 0xb3, 0x65, 0xa6, 0x0d, 0x5c, 0xb9, 0xd9, 0xff, 0x24, - 0xf2, 0xd2, 0x50, 0xf1, 0x49, 0xa6, 0xcf, 0x33, 0xe0, 0xf3, 0xd8, 0x27, 0x11, 0xfa, 0x2c, 0x57, 0xa3, 0x35, 0xc0, - 0xc6, 0x66, 0x17, 0x77, 0xa3, 0x94, 0x43, 0x84, 0x8e, 0xc0, 0xaa, 0x6b, 0x96, 0x19, 0xf1, 0x6d, 0x2a, 0x6e, 0x5b, - 0xaa, 0xb0, 0x4f, 0xc2, 0x73, 0xde, 0xe1, 0xc6, 0x71, 0xa8, 0x37, 0x89, 0xc2, 0xe7, 0x28, 0x44, 0xe5, 0x68, 0x5c, - 0xe8, 0xe4, 0x6b, 0x99, 0xc7, 0x84, 0x62, 0x0e, 0xf7, 0xee, 0x9f, 0xa9, 0x33, 0x97, 0xf1, 0x85, 0x7b, 0xcf, 0x7d, - 0x99, 0xc9, 0xb5, 0x04, 0x90, 0x28, 0x55, 0xfb, 0xcf, 0x9f, 0x91, 0x1a, 0xff, 0x95, 0x6a, 0x0d, 0x40, 0xef, 0x67, - 0xa8, 0xc9, 0x11, 0x04, 0x6c, 0xc5, 0xd4, 0x8f, 0x2e, 0x60, 0x25, 0xf3, 0x3f, 0xa1, 0x6e, 0x47, 0xb0, 0x8d, 0x8a, - 0x27, 0x14, 0x55, 0xb4, 0xe0, 0xe9, 0x5a, 0xa4, 0xb1, 0x48, 0xee, 0x22, 0x5e, 0x4f, 0xb1, 0x24, 0x66, 0x23, 0x86, - 0xfd, 0xdc, 0xec, 0xc2, 0xbb, 0xa2, 0x61, 0x12, 0x4f, 0x4b, 0x7f, 0x5b, 0x79, 0x9b, 0xc9, 0x32, 0xce, 0xc8, 0x94, - 0x2b, 0x04, 0x73, 0xab, 0xef, 0x31, 0x27, 0xf8, 0xe3, 0xa3, 0xc7, 0x84, 0x5e, 0xcb, 0x69, 0x89, 0x20, 0x7d, 0x22, - 0xb5, 0xae, 0xab, 0xd8, 0xaf, 0x29, 0x44, 0xb5, 0x10, 0x0c, 0x42, 0x99, 0x9a, 0xf6, 0x29, 0xbe, 0xcf, 0x96, 0xfd, - 0xc9, 0x94, 0x2d, 0xc9, 0x46, 0x40, 0xc7, 0xa4, 0xf3, 0x7e, 0xf5, 0xf6, 0xec, 0xcc, 0xfb, 0x0d, 0x9a, 0x70, 0x50, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0xbd, 0x7b, 0x7f, 0x1a, 0xb9, 0xb2, 0x28, 0xfa, + 0xf7, 0x3d, 0x9f, 0xc2, 0xee, 0x9d, 0xf1, 0xb4, 0x8c, 0x68, 0x03, 0x36, 0x8e, 0xd3, 0x58, 0xe6, 0xe4, 0x39, 0xc9, + 0x3c, 0x92, 0x4c, 0x9c, 0x64, 0x26, 0xc3, 0xb0, 0x33, 0xa2, 0x11, 0xa0, 0xa4, 0x91, 0x98, 0x96, 0x88, 0xed, 0x01, + 0xbe, 0xfb, 0xfd, 0x95, 0x1e, 0xdd, 0x6a, 0x20, 0x59, 0x6b, 0x9d, 0x7b, 0xce, 0xfd, 0x9d, 0x3d, 0x7b, 0xc5, 0xb4, + 0xde, 0x2a, 0x95, 0x4a, 0x55, 0xa5, 0xaa, 0xd2, 0xe5, 0xe1, 0x58, 0x66, 0xfa, 0x6e, 0xc1, 0x0e, 0x66, 0x7a, 0x9e, + 0x5f, 0x5d, 0xba, 0x7f, 0x19, 0x1d, 0x5f, 0x5d, 0xe6, 0x5c, 0x7c, 0x3e, 0x28, 0x58, 0x4e, 0x78, 0x26, 0xc5, 0xc1, + 0xac, 0x60, 0x13, 0x32, 0xa6, 0x9a, 0xa6, 0x7c, 0x4e, 0xa7, 0xec, 0xe0, 0xe4, 0xea, 0x72, 0xce, 0x34, 0x3d, 0xc8, + 0x66, 0xb4, 0x50, 0x4c, 0x93, 0x77, 0x6f, 0x9f, 0x35, 0x2f, 0xae, 0x2e, 0x55, 0x56, 0xf0, 0x85, 0x3e, 0x80, 0x26, + 0xc9, 0x5c, 0x8e, 0x97, 0x39, 0xbb, 0x3a, 0x39, 0xb9, 0xb9, 0xb9, 0x49, 0x3e, 0xa9, 0xff, 0xf1, 0x85, 0x16, 0x07, + 0xbf, 0x16, 0xe4, 0xd5, 0xe8, 0x13, 0xcb, 0x74, 0x32, 0x66, 0x13, 0x2e, 0xd8, 0xeb, 0x42, 0x2e, 0x58, 0xa1, 0xef, + 0x7a, 0x90, 0xf9, 0x47, 0x41, 0x62, 0x8e, 0x35, 0x66, 0x88, 0x5c, 0xe9, 0x03, 0x2e, 0x0e, 0x78, 0xff, 0xd7, 0xc2, + 0xa4, 0xac, 0x98, 0x58, 0xce, 0x59, 0x41, 0x47, 0x39, 0x4b, 0x0f, 0x5b, 0x38, 0x93, 0x62, 0xc2, 0xa7, 0xcb, 0xf2, + 0xfb, 0xa6, 0xe0, 0xda, 0xff, 0xfe, 0x42, 0xf3, 0x25, 0x4b, 0xd9, 0x06, 0xa5, 0x7c, 0xa0, 0x87, 0x84, 0x99, 0x96, + 0x3f, 0x57, 0x0d, 0xc7, 0x7f, 0x98, 0x26, 0xef, 0x16, 0x4c, 0x4e, 0x0e, 0xf4, 0x21, 0x89, 0xd4, 0xdd, 0x7c, 0x24, + 0xf3, 0xa8, 0xaf, 0x1b, 0x51, 0x94, 0x42, 0x19, 0xcc, 0x50, 0x2f, 0x93, 0x42, 0xe9, 0x03, 0xc1, 0xc9, 0x0d, 0x17, + 0x63, 0x79, 0x83, 0x3f, 0x0b, 0x22, 0x78, 0x72, 0x3d, 0xa3, 0x63, 0x79, 0xf3, 0x46, 0x4a, 0x7d, 0x74, 0x14, 0xbb, + 0xef, 0xbb, 0xc7, 0xd7, 0xd7, 0x84, 0x90, 0x2f, 0x92, 0x8f, 0x0f, 0x5a, 0xeb, 0x75, 0x90, 0x9a, 0x08, 0xaa, 0xf9, + 0x17, 0x66, 0x2b, 0xa1, 0xa3, 0xa3, 0x88, 0x8e, 0xe5, 0x42, 0xb3, 0xf1, 0xb5, 0xbe, 0xcb, 0xd9, 0xf5, 0x8c, 0x31, + 0xad, 0x22, 0x2e, 0x0e, 0x9e, 0xc8, 0x6c, 0x39, 0x67, 0x42, 0x27, 0x8b, 0x42, 0x6a, 0x09, 0x03, 0x3b, 0x3a, 0x8a, + 0x0a, 0xb6, 0xc8, 0x69, 0xc6, 0x20, 0xff, 0xf1, 0xf5, 0x75, 0x55, 0xa3, 0x2a, 0x84, 0xaf, 0x05, 0xb9, 0x36, 0x43, + 0x8f, 0x11, 0xfe, 0x4d, 0x10, 0xc1, 0x6e, 0x0e, 0x7e, 0x63, 0xf4, 0xf3, 0x2f, 0x74, 0xd1, 0xcb, 0x72, 0xaa, 0xd4, + 0xc1, 0x4b, 0xb9, 0x32, 0xd3, 0x28, 0x96, 0x99, 0x96, 0x45, 0xac, 0x31, 0xc3, 0x02, 0xad, 0xf8, 0x24, 0xd6, 0x33, + 0xae, 0x92, 0x8f, 0xf7, 0x32, 0xa5, 0xde, 0x30, 0xb5, 0xcc, 0xf5, 0x3d, 0x72, 0xd8, 0xc2, 0xe2, 0x90, 0x90, 0x6b, + 0x81, 0xf4, 0xac, 0x90, 0x37, 0x07, 0x4f, 0x8b, 0x42, 0x16, 0x71, 0xf4, 0xf8, 0xfa, 0xda, 0x96, 0x38, 0xe0, 0xea, + 0x40, 0x48, 0x7d, 0x50, 0xb6, 0x07, 0xd0, 0x4e, 0x0e, 0xde, 0x29, 0x76, 0xf0, 0xd7, 0x52, 0x28, 0x3a, 0x61, 0x8f, + 0xaf, 0xaf, 0xff, 0x3a, 0x90, 0xc5, 0xc1, 0x5f, 0x99, 0x52, 0x7f, 0x1d, 0x70, 0xa1, 0x34, 0xa3, 0xe3, 0x24, 0x42, + 0x3d, 0xd3, 0x59, 0xa6, 0xd4, 0x5b, 0x76, 0xab, 0x89, 0xc6, 0xe6, 0x53, 0x13, 0xb6, 0x99, 0x32, 0x7d, 0xa0, 0xca, + 0x79, 0xc5, 0x68, 0x95, 0x33, 0x7d, 0xa0, 0x89, 0xc9, 0x97, 0x0e, 0xfe, 0xcc, 0x7e, 0xea, 0x1e, 0x9f, 0xc4, 0x9f, + 0xc5, 0xd1, 0x91, 0x2e, 0x01, 0x8d, 0x56, 0x6e, 0x85, 0x08, 0x3b, 0xf4, 0x69, 0x47, 0x47, 0x2c, 0xc9, 0x99, 0x98, + 0xea, 0x19, 0x21, 0xa4, 0xdd, 0x13, 0x47, 0x47, 0xb1, 0x26, 0xbf, 0x89, 0x64, 0xca, 0x74, 0xcc, 0x10, 0xc2, 0x55, + 0xed, 0xa3, 0xa3, 0xd8, 0x02, 0x41, 0x12, 0x6d, 0x00, 0x57, 0x83, 0x31, 0x4a, 0x1c, 0xf4, 0xaf, 0xef, 0x44, 0x16, + 0x87, 0xe3, 0x47, 0x58, 0x1c, 0x1d, 0xfd, 0x26, 0x12, 0x05, 0x2d, 0x62, 0x8d, 0xd0, 0xa6, 0x60, 0x7a, 0x59, 0x88, + 0x03, 0xbd, 0xd1, 0xf2, 0x5a, 0x17, 0x5c, 0x4c, 0x63, 0xb4, 0xf2, 0x69, 0x41, 0xc5, 0xcd, 0xc6, 0x0e, 0xf7, 0xc7, + 0x82, 0x70, 0x72, 0x05, 0x3d, 0xbe, 0x94, 0xb1, 0xc3, 0x41, 0x4e, 0x48, 0xa4, 0x4c, 0xdd, 0xa8, 0xcf, 0x53, 0xde, + 0x88, 0x22, 0x6c, 0x47, 0x89, 0xaf, 0x05, 0xc2, 0x42, 0x03, 0xea, 0x26, 0x49, 0xa2, 0x11, 0xb9, 0x5a, 0x79, 0xb0, + 0xf0, 0x60, 0xa2, 0x7d, 0x3e, 0x68, 0x0d, 0x53, 0x9d, 0x14, 0x6c, 0xbc, 0xcc, 0x58, 0x1c, 0x0b, 0xac, 0xb0, 0x44, + 0xe4, 0x4a, 0x34, 0xe2, 0x82, 0x5c, 0xc1, 0x7a, 0x17, 0xf5, 0xc5, 0x26, 0xe4, 0xb0, 0x85, 0xdc, 0x20, 0x0b, 0x3f, + 0x42, 0x00, 0xb1, 0x1b, 0x50, 0x41, 0x48, 0x24, 0x96, 0xf3, 0x11, 0x2b, 0xa2, 0xb2, 0x58, 0xaf, 0x86, 0x17, 0x4b, + 0xc5, 0x0e, 0x32, 0xa5, 0x0e, 0x26, 0x4b, 0x91, 0x69, 0x2e, 0xc5, 0x41, 0xd4, 0x28, 0x1a, 0x91, 0xc5, 0x87, 0x12, + 0x1d, 0x22, 0xb4, 0x41, 0xb1, 0x42, 0x0d, 0x3e, 0x90, 0x8d, 0xf6, 0x10, 0xc3, 0x28, 0x51, 0xcf, 0xb5, 0xe7, 0x20, + 0xc0, 0x30, 0x87, 0x49, 0x6e, 0xb0, 0xa6, 0x66, 0x83, 0xc2, 0x14, 0x3f, 0x8b, 0x3e, 0x4f, 0x76, 0x77, 0x0a, 0xd1, + 0xc9, 0x9c, 0x2e, 0x62, 0x46, 0xae, 0x98, 0xc1, 0x2e, 0x2a, 0x32, 0x18, 0x6b, 0x6d, 0xe1, 0xfa, 0x2c, 0x65, 0x49, + 0x85, 0x53, 0x28, 0xd5, 0xc9, 0x44, 0x16, 0x4f, 0x69, 0x36, 0x83, 0x7a, 0x25, 0xc6, 0x8c, 0xfd, 0x86, 0xcb, 0x0a, + 0x46, 0x35, 0x7b, 0x9a, 0x33, 0xf8, 0x8a, 0x23, 0x53, 0x33, 0x42, 0x58, 0xc1, 0x56, 0xcf, 0xb9, 0x7e, 0x29, 0x45, + 0xc6, 0x7a, 0x2a, 0xc0, 0x2f, 0xb3, 0xf2, 0x0f, 0xb5, 0x2e, 0xf8, 0x68, 0xa9, 0x59, 0x1c, 0x09, 0x28, 0x11, 0x61, + 0x85, 0xb0, 0x48, 0x34, 0xbb, 0xd5, 0x8f, 0xa5, 0xd0, 0x4c, 0x68, 0xc2, 0x3c, 0x54, 0x31, 0x4f, 0xe8, 0x62, 0xc1, + 0xc4, 0xf8, 0xf1, 0x8c, 0xe7, 0xe3, 0x58, 0xa0, 0x0d, 0xda, 0xe0, 0x0f, 0x82, 0xc0, 0x24, 0xc9, 0x15, 0x4f, 0xe1, + 0x9f, 0xaf, 0x4f, 0x27, 0xd6, 0xe4, 0xca, 0x6c, 0x0b, 0x46, 0xa2, 0xa8, 0x37, 0x91, 0x45, 0xec, 0xa6, 0x70, 0x00, + 0xa4, 0x0b, 0xfa, 0x78, 0xb3, 0xcc, 0x99, 0x42, 0xac, 0x41, 0x44, 0xb9, 0x8e, 0x0e, 0xc2, 0x3f, 0x16, 0x31, 0x83, + 0x05, 0xe0, 0x28, 0xe5, 0x86, 0x04, 0xbe, 0xe1, 0x6e, 0x53, 0x8d, 0x4b, 0xa2, 0xf6, 0xb7, 0x20, 0x63, 0x9e, 0xe8, + 0x62, 0xa9, 0x34, 0x1b, 0xbf, 0xbd, 0x5b, 0x30, 0x85, 0x19, 0x25, 0x7f, 0x8b, 0xfe, 0xdf, 0x22, 0x61, 0xf3, 0x85, + 0xbe, 0xbb, 0x36, 0xd4, 0x3c, 0x8d, 0x22, 0xfc, 0xbb, 0x29, 0x5a, 0x30, 0x9a, 0x01, 0x49, 0x73, 0x20, 0x7b, 0x2d, + 0xf3, 0xbb, 0x09, 0xcf, 0xf3, 0xeb, 0xe5, 0x62, 0x21, 0x0b, 0x8d, 0x99, 0x20, 0x2b, 0x2d, 0x2b, 0xf8, 0xc0, 0x8a, + 0xae, 0xd4, 0x0d, 0xd7, 0xd9, 0x2c, 0xd6, 0x68, 0x95, 0x51, 0xc5, 0x0e, 0x1e, 0x49, 0x99, 0x33, 0x2a, 0x52, 0x4e, + 0x78, 0x9f, 0xd1, 0x54, 0x2c, 0xf3, 0xbc, 0x37, 0x2a, 0x18, 0xfd, 0xdc, 0x33, 0xd9, 0xf6, 0x70, 0x48, 0xcd, 0xef, + 0x87, 0x45, 0x41, 0xef, 0xa0, 0x20, 0x21, 0x50, 0xac, 0xcf, 0xd3, 0x1f, 0xaf, 0x5f, 0xbd, 0x4c, 0xec, 0x5e, 0xe1, + 0x93, 0xbb, 0x98, 0x97, 0xfb, 0x8f, 0x6f, 0xf0, 0xa4, 0x90, 0xf3, 0xad, 0xae, 0x2d, 0xe8, 0x78, 0xef, 0x2b, 0x43, + 0x60, 0x84, 0x1f, 0xda, 0xa6, 0xc3, 0x11, 0xbc, 0x34, 0x98, 0x0f, 0x99, 0xc4, 0xf5, 0x0b, 0xff, 0xa4, 0x36, 0x39, + 0xe6, 0xe8, 0xdb, 0xa3, 0xd5, 0xc5, 0xdd, 0x8a, 0x11, 0x33, 0xce, 0x05, 0x1c, 0x8c, 0x30, 0xc6, 0x8c, 0xea, 0x6c, + 0xb6, 0x62, 0xa6, 0xb1, 0x8d, 0x1f, 0x31, 0xdb, 0x6c, 0xf0, 0x3f, 0xd2, 0x63, 0xbd, 0x3e, 0x24, 0x84, 0x1b, 0x7a, + 0x45, 0xf4, 0x7a, 0xcd, 0x09, 0xe1, 0x08, 0x3f, 0xe3, 0x64, 0x45, 0xfd, 0x84, 0xe0, 0x64, 0x83, 0xed, 0x99, 0x5a, + 0x2a, 0x03, 0x27, 0xe0, 0x17, 0x56, 0x68, 0x18, 0xa8, 0xc0, 0x05, 0x9b, 0xe4, 0x30, 0x8e, 0xc3, 0x36, 0x9e, 0x51, + 0xf5, 0x78, 0x46, 0xc5, 0x94, 0x8d, 0xd3, 0x7f, 0xe4, 0x06, 0x0b, 0x41, 0xa2, 0x09, 0x17, 0x34, 0xe7, 0xff, 0xb0, + 0x71, 0xe4, 0xce, 0x85, 0xf7, 0xfa, 0x80, 0xdd, 0x6a, 0x26, 0xc6, 0xea, 0xe0, 0xf9, 0xdb, 0x5f, 0x7e, 0x76, 0x8b, + 0x59, 0x3b, 0x2b, 0xd0, 0x4a, 0x2d, 0x17, 0xac, 0x88, 0x11, 0x76, 0x67, 0xc5, 0x53, 0x6e, 0xe8, 0xe4, 0x2f, 0x74, + 0x61, 0x53, 0xb8, 0x7a, 0xb7, 0x18, 0x53, 0xcd, 0x5e, 0x33, 0x31, 0xe6, 0x62, 0x4a, 0x0e, 0xdb, 0x36, 0x7d, 0x46, + 0x5d, 0xc6, 0xb8, 0x4c, 0xfa, 0x78, 0xef, 0x69, 0x6e, 0xe6, 0x5e, 0x7e, 0x2e, 0x63, 0xb4, 0x51, 0x9a, 0x6a, 0x9e, + 0x1d, 0xd0, 0xf1, 0xf8, 0x85, 0xe0, 0x9a, 0x9b, 0x11, 0x16, 0xb0, 0x44, 0x80, 0xab, 0xcc, 0x9e, 0x1a, 0x7e, 0xe4, + 0x31, 0xc2, 0x71, 0xec, 0xce, 0x82, 0x19, 0x72, 0x6b, 0x76, 0x74, 0x54, 0x51, 0xfe, 0x3e, 0x4b, 0x6d, 0x26, 0x19, + 0x0c, 0x51, 0xb2, 0x58, 0x2a, 0x58, 0x6c, 0xdf, 0x05, 0x1c, 0x34, 0x72, 0xa4, 0x58, 0xf1, 0x85, 0x8d, 0x4b, 0x04, + 0x51, 0x31, 0x5a, 0x6d, 0xf5, 0xe1, 0xb6, 0x87, 0x26, 0x83, 0x61, 0x2f, 0x24, 0xe1, 0xcc, 0x21, 0xbb, 0xe5, 0x54, + 0x38, 0x53, 0x25, 0x51, 0x89, 0xe1, 0x40, 0x2d, 0x09, 0x8b, 0x22, 0x7e, 0x7e, 0x8b, 0x58, 0x00, 0x0f, 0x11, 0x52, + 0x0e, 0x7f, 0xe6, 0x3e, 0xfd, 0x62, 0x0e, 0x0f, 0x85, 0x05, 0xc2, 0xda, 0x8e, 0x54, 0x21, 0xb4, 0x41, 0x58, 0xfb, + 0xe1, 0x5a, 0xa2, 0xe4, 0xf9, 0x22, 0x38, 0xb5, 0xc9, 0x33, 0x6e, 0x8e, 0x6d, 0xa0, 0x6d, 0x54, 0xb3, 0xa3, 0xa3, + 0x98, 0x25, 0x25, 0x62, 0x90, 0xc3, 0xb6, 0x5b, 0xa4, 0x00, 0x5a, 0x5f, 0x19, 0x37, 0xf4, 0x6c, 0x18, 0x9c, 0x43, + 0x96, 0x08, 0xf9, 0x30, 0xcb, 0x98, 0x52, 0xb2, 0x38, 0x3a, 0x3a, 0x34, 0xe5, 0x4b, 0xce, 0x02, 0x16, 0xf1, 0xd5, + 0x8d, 0xa8, 0x86, 0x80, 0xaa, 0xd3, 0xd6, 0xf3, 0x4d, 0xa4, 0xe2, 0x9b, 0x3c, 0x13, 0x92, 0x46, 0x1f, 0x3f, 0x46, + 0x0d, 0x8d, 0x1d, 0x1c, 0xa6, 0xcc, 0x77, 0x7d, 0xf7, 0x84, 0x59, 0xb6, 0xd0, 0x30, 0x21, 0x3b, 0xa0, 0xd9, 0xcb, + 0x0f, 0xc6, 0xf5, 0x21, 0x61, 0x8d, 0x15, 0xda, 0x04, 0x2b, 0xba, 0xb7, 0x69, 0xc3, 0xdf, 0xd8, 0xa5, 0x5b, 0x4d, + 0x0d, 0x4f, 0x11, 0xac, 0xe3, 0x80, 0x0d, 0x37, 0xd8, 0xc0, 0xde, 0xcf, 0x46, 0x9a, 0x81, 0x0e, 0xf4, 0xb0, 0xe7, + 0xf2, 0x89, 0xb2, 0x90, 0x2b, 0xd8, 0xdf, 0x4b, 0xa6, 0xb4, 0x45, 0xe4, 0x58, 0x63, 0x89, 0xe1, 0x8c, 0xda, 0x66, + 0x3a, 0x6b, 0x2c, 0xe9, 0xbe, 0xb1, 0xbd, 0x5a, 0xc0, 0xd9, 0xa8, 0x00, 0xa9, 0xbf, 0x8d, 0x4f, 0x30, 0x56, 0x8d, + 0xd6, 0xeb, 0x67, 0xdc, 0xb7, 0x52, 0xad, 0x65, 0xc9, 0xaf, 0x6d, 0x2d, 0x8a, 0x10, 0xc8, 0x1d, 0xce, 0x87, 0x6d, + 0x3b, 0x7e, 0x21, 0x86, 0xe4, 0xb0, 0x55, 0x62, 0xb1, 0x03, 0xab, 0x1d, 0x8f, 0x85, 0xe2, 0x2b, 0xdb, 0x14, 0x32, + 0x67, 0x7d, 0x0d, 0x5f, 0x92, 0xd9, 0x0e, 0xae, 0xce, 0xc8, 0x00, 0xb8, 0x8e, 0x64, 0x36, 0xfc, 0x1a, 0x3e, 0x79, + 0x8a, 0x10, 0xeb, 0xdd, 0xbc, 0x8a, 0x70, 0x7c, 0xa9, 0x13, 0x8e, 0xad, 0x69, 0x44, 0x8b, 0xb2, 0x4a, 0x54, 0xa2, + 0x99, 0xdb, 0xea, 0x55, 0x16, 0x16, 0x66, 0x30, 0xd5, 0x94, 0x82, 0x26, 0x5e, 0xd2, 0x39, 0x53, 0x31, 0x43, 0xf8, + 0x6b, 0x05, 0x2c, 0x7e, 0x42, 0x91, 0x61, 0x70, 0x86, 0x2a, 0x38, 0x43, 0x81, 0xdd, 0x05, 0x26, 0xad, 0xbe, 0xe5, + 0x14, 0x66, 0x03, 0x35, 0xac, 0x78, 0xbb, 0x60, 0xf2, 0xe6, 0x70, 0x76, 0x08, 0xee, 0xe1, 0x67, 0xd3, 0x2c, 0xd0, + 0x0c, 0x0b, 0xa1, 0x10, 0x3e, 0x6c, 0x6d, 0xaf, 0xa4, 0x2f, 0x55, 0xcd, 0x71, 0x30, 0x84, 0x75, 0x30, 0xc7, 0x46, + 0xc2, 0x95, 0xf9, 0x5b, 0xdb, 0x6a, 0x00, 0xb6, 0x6b, 0xc0, 0x8c, 0x64, 0x92, 0x53, 0x1d, 0xb7, 0x4f, 0x5a, 0xc0, + 0x98, 0x7e, 0x61, 0x70, 0xaa, 0x20, 0xb4, 0x3b, 0x15, 0x96, 0x2c, 0x85, 0x9a, 0xf1, 0x89, 0x8e, 0x3f, 0x08, 0x43, + 0x54, 0x58, 0xae, 0x18, 0x48, 0x38, 0x01, 0x7b, 0x6c, 0x08, 0xce, 0x07, 0x01, 0xfd, 0xf4, 0xca, 0x83, 0xc8, 0x8d, + 0xd4, 0x10, 0x2e, 0x20, 0x0f, 0x15, 0x6b, 0x5d, 0x91, 0x99, 0x92, 0x71, 0x03, 0xee, 0xb1, 0xdd, 0xb7, 0x2d, 0xa6, + 0x8e, 0x1a, 0x88, 0x80, 0x83, 0x15, 0x69, 0x48, 0x22, 0x5c, 0xa2, 0x4e, 0xb4, 0xfc, 0x59, 0xde, 0xb0, 0xe2, 0x31, + 0x85, 0xc1, 0xa7, 0xb6, 0xfa, 0xc6, 0x1e, 0x05, 0x86, 0xe2, 0xeb, 0x9e, 0xc7, 0x97, 0x8f, 0x66, 0xe2, 0xaf, 0x0b, + 0x39, 0xe7, 0x8a, 0x01, 0xdf, 0x66, 0xe1, 0x2f, 0x60, 0xa3, 0x99, 0x1d, 0x09, 0xc7, 0x0d, 0x2b, 0xf1, 0xeb, 0xe1, + 0xcf, 0x75, 0xfc, 0xfa, 0x78, 0xef, 0xe9, 0xd4, 0x53, 0xc0, 0xfa, 0x3e, 0x46, 0x38, 0x76, 0xe2, 0x45, 0x70, 0xd2, + 0x25, 0x33, 0xe4, 0x8e, 0xf9, 0xf5, 0x5a, 0x07, 0x62, 0x5c, 0x8d, 0x73, 0x64, 0x76, 0xdb, 0xa0, 0x0d, 0x1d, 0x8f, + 0x81, 0xc5, 0x2b, 0x64, 0x9e, 0x07, 0x87, 0x15, 0x16, 0xbd, 0xf2, 0x78, 0xfa, 0x78, 0xef, 0xe9, 0xf5, 0xb7, 0x4e, + 0x28, 0xc8, 0x0f, 0x0f, 0x29, 0x3f, 0x50, 0x31, 0x66, 0x05, 0xc8, 0x95, 0xc1, 0x6a, 0xb9, 0x73, 0xf6, 0xb1, 0x14, + 0x82, 0x65, 0x9a, 0x8d, 0x41, 0x68, 0x11, 0x44, 0x27, 0x33, 0xa9, 0x74, 0x99, 0x58, 0x8d, 0x5e, 0x84, 0x42, 0x68, + 0x92, 0xd1, 0x3c, 0x8f, 0xad, 0x80, 0x32, 0x97, 0x5f, 0xd8, 0x9e, 0x51, 0xf7, 0x6a, 0x43, 0x2e, 0x9b, 0x61, 0x41, + 0x33, 0x2c, 0x51, 0x8b, 0x9c, 0x67, 0xac, 0x3c, 0xbc, 0xae, 0x13, 0x2e, 0xc6, 0xec, 0x16, 0xe8, 0x08, 0xba, 0xba, + 0xba, 0x6a, 0xe1, 0x36, 0xda, 0x58, 0x80, 0xaf, 0x76, 0x00, 0xfb, 0x8d, 0x63, 0xd3, 0x0a, 0xe2, 0xab, 0x7d, 0xf4, + 0x80, 0xa1, 0xe0, 0xac, 0xe4, 0x5e, 0xd0, 0xb2, 0xe4, 0x19, 0xe1, 0x31, 0xcb, 0x99, 0x66, 0x9e, 0x9c, 0x03, 0x33, + 0x6d, 0xb7, 0xee, 0x9b, 0x12, 0x7e, 0x25, 0x3a, 0xf9, 0x5d, 0xe6, 0xd7, 0x5c, 0x95, 0xa2, 0x7b, 0xb5, 0x3c, 0x15, + 0xb4, 0xfb, 0xda, 0x2e, 0x0f, 0xd5, 0x9a, 0x66, 0x33, 0x2b, 0xb1, 0xc7, 0x3b, 0x53, 0xaa, 0xda, 0x70, 0xa4, 0xbd, + 0xdc, 0x44, 0x9a, 0xba, 0x61, 0xee, 0x03, 0xc1, 0xb5, 0x23, 0x0a, 0x0c, 0x84, 0x40, 0xbb, 0x6c, 0x8f, 0x69, 0x9e, + 0x8f, 0x68, 0xf6, 0xb9, 0x8e, 0xfd, 0x15, 0x1a, 0x90, 0x6d, 0x6a, 0x1c, 0x64, 0x05, 0x24, 0x2b, 0x9c, 0xb7, 0xa7, + 0xd2, 0xb5, 0x8d, 0x12, 0x1f, 0xb6, 0x2a, 0xb4, 0xaf, 0x2f, 0xf4, 0x57, 0xb1, 0xdd, 0x8c, 0x48, 0xb8, 0x99, 0xc5, + 0x40, 0x05, 0xfe, 0x25, 0xc6, 0x79, 0x7a, 0xe0, 0xf0, 0x0e, 0x04, 0x8f, 0xcd, 0xd6, 0x40, 0x34, 0x5a, 0x6d, 0xc6, + 0x5c, 0x7d, 0x1d, 0x02, 0xff, 0x5b, 0x46, 0xf9, 0x24, 0xe8, 0xe1, 0xdf, 0x1d, 0x68, 0x49, 0xe3, 0x1c, 0xe3, 0x5c, + 0x8e, 0xcc, 0x31, 0x14, 0x9e, 0xd0, 0xfc, 0x04, 0xcc, 0x8b, 0xc1, 0xf7, 0x57, 0x36, 0xcb, 0xf0, 0x65, 0x30, 0x0c, + 0xd5, 0x0b, 0x19, 0x8a, 0x1a, 0x0a, 0x38, 0xa2, 0x2a, 0xcc, 0x99, 0x2b, 0x6b, 0xa2, 0xa4, 0xe3, 0xda, 0xad, 0x38, + 0xee, 0x68, 0x6e, 0x41, 0xe2, 0x38, 0x56, 0x20, 0xcd, 0x79, 0xfe, 0xbe, 0x9a, 0x85, 0xda, 0x99, 0x85, 0x4a, 0x02, + 0x69, 0x0b, 0x55, 0xc8, 0x1c, 0x54, 0x4f, 0x99, 0x40, 0x61, 0x29, 0x60, 0x59, 0x13, 0xa0, 0xd0, 0xa8, 0x24, 0xb8, + 0x39, 0xd1, 0xb8, 0x70, 0xa2, 0x8e, 0xc3, 0x35, 0x20, 0x19, 0x55, 0x15, 0x89, 0xec, 0xe6, 0xa8, 0xc9, 0xbe, 0x12, + 0x17, 0x68, 0x8b, 0xbf, 0xdf, 0x6c, 0x1c, 0x94, 0x18, 0x72, 0xab, 0x53, 0x63, 0x8c, 0x03, 0xb0, 0x60, 0x49, 0x1c, + 0x33, 0x6c, 0x59, 0x9f, 0x6d, 0xe0, 0x94, 0xed, 0x1e, 0x12, 0x22, 0x2b, 0xd8, 0xd4, 0x98, 0x4a, 0xcf, 0x5d, 0x49, + 0x84, 0xa9, 0x67, 0x4b, 0x8b, 0x6a, 0xe2, 0x84, 0x44, 0x5e, 0x3b, 0x11, 0xf5, 0x57, 0x35, 0xe1, 0x30, 0x0d, 0x8a, + 0x6d, 0x52, 0x20, 0xaa, 0xc5, 0x3e, 0x78, 0xef, 0xc3, 0x9a, 0x5a, 0x3b, 0x01, 0xc4, 0x8b, 0x1a, 0xc4, 0x03, 0xd0, + 0x4a, 0x4b, 0xbc, 0xe4, 0x90, 0xd0, 0x7a, 0xe5, 0x98, 0xe1, 0xc2, 0x2e, 0xc4, 0x0e, 0x14, 0xb7, 0xd9, 0x4f, 0x83, + 0x85, 0x20, 0xcb, 0x2a, 0xe0, 0xef, 0xc2, 0x23, 0x22, 0x86, 0xc1, 0x8b, 0xf5, 0x7a, 0x07, 0xed, 0xf6, 0x72, 0xa1, + 0x28, 0xa9, 0xa4, 0xc3, 0xf5, 0xfa, 0x1f, 0x89, 0x62, 0xc7, 0xff, 0x62, 0x86, 0xfa, 0x9e, 0xe8, 0x3e, 0xfc, 0x19, + 0x4a, 0x19, 0x76, 0xb4, 0x4a, 0x29, 0x05, 0x87, 0x3a, 0xd6, 0xd6, 0x17, 0x4a, 0x07, 0x94, 0xfb, 0xf1, 0x0e, 0x01, + 0x33, 0x89, 0xee, 0xa4, 0xae, 0xa6, 0xfc, 0xd8, 0x35, 0x2d, 0x10, 0x42, 0xa9, 0x32, 0xb2, 0xcc, 0xe1, 0x3e, 0xf9, + 0xf2, 0xe8, 0x48, 0x05, 0x0d, 0x7d, 0x2c, 0x29, 0xc5, 0xa7, 0x18, 0x4e, 0x65, 0x75, 0x27, 0x0c, 0xfb, 0xf2, 0xc9, + 0x9f, 0x43, 0x3b, 0xd2, 0x69, 0xab, 0x07, 0x82, 0x39, 0xbd, 0xa1, 0x5c, 0x1f, 0x94, 0xad, 0x58, 0xc1, 0x3c, 0x66, + 0x68, 0xe5, 0xb8, 0x8d, 0xa4, 0x60, 0xc0, 0x3f, 0x02, 0x59, 0xf0, 0x5c, 0xb4, 0x45, 0xfc, 0x6c, 0xc6, 0x40, 0x95, + 0xed, 0x19, 0x89, 0x92, 0xea, 0x1f, 0xba, 0x83, 0xc4, 0x35, 0xbc, 0x7f, 0xec, 0x9b, 0xed, 0xea, 0x35, 0x69, 0x60, + 0xc1, 0x8a, 0x89, 0x2c, 0xe6, 0x3e, 0x6f, 0xb3, 0xf5, 0xed, 0x88, 0x23, 0x9f, 0xc4, 0x7b, 0xdb, 0x76, 0x22, 0x40, + 0x6f, 0x4b, 0xf6, 0xae, 0xa4, 0xf6, 0xda, 0x69, 0x5a, 0x1e, 0xc0, 0x56, 0x41, 0xe8, 0x31, 0x53, 0x85, 0x52, 0xbe, + 0x53, 0xaf, 0xf6, 0xac, 0xee, 0xe4, 0xb0, 0xdd, 0x2b, 0x25, 0x3f, 0x8f, 0x0d, 0x3d, 0xab, 0xe3, 0x70, 0xa7, 0xaa, + 0x5c, 0xe6, 0x63, 0x37, 0x58, 0x81, 0x30, 0x73, 0x78, 0x74, 0xc3, 0xf3, 0xbc, 0x4a, 0xfd, 0x4f, 0x48, 0xbb, 0x72, + 0xa4, 0x5d, 0x7a, 0xd2, 0x0e, 0xa4, 0x02, 0x48, 0xbb, 0x6d, 0xae, 0xaa, 0x2e, 0x77, 0xb6, 0xa7, 0xb4, 0x44, 0x5d, + 0x19, 0x71, 0x1a, 0xfa, 0x5b, 0xfa, 0x11, 0xa0, 0x92, 0xf9, 0xfa, 0x1c, 0x3b, 0x7d, 0x0c, 0x88, 0x81, 0x56, 0xa7, + 0xc9, 0x42, 0x4d, 0xc5, 0xe7, 0x18, 0x61, 0xb5, 0x61, 0x25, 0x66, 0x3f, 0x7c, 0x0a, 0x4a, 0xbb, 0x60, 0x3a, 0x70, + 0x8e, 0x99, 0xe4, 0xff, 0x88, 0x8f, 0xf2, 0xb3, 0x13, 0x6e, 0x76, 0xca, 0xcf, 0x0e, 0x68, 0x7d, 0x35, 0xbb, 0xf1, + 0xb7, 0xa9, 0xbd, 0x99, 0x9e, 0x28, 0xa7, 0x57, 0xad, 0xf7, 0x7a, 0x1d, 0x6f, 0xa5, 0x80, 0x46, 0xdf, 0x49, 0x29, + 0x45, 0xd9, 0x3a, 0xd0, 0x80, 0x10, 0x32, 0x90, 0xb0, 0xb1, 0x93, 0x2e, 0x4f, 0xb9, 0x9f, 0xff, 0x95, 0x9e, 0xc7, + 0x28, 0xee, 0x6d, 0xfd, 0xc7, 0x72, 0xbe, 0x00, 0x86, 0x6c, 0x0b, 0xa5, 0xa7, 0xcc, 0x75, 0x58, 0xe5, 0x6f, 0xf6, + 0xa4, 0xd5, 0xea, 0x98, 0xfd, 0x58, 0xc3, 0xa6, 0x52, 0x6a, 0x3e, 0x6c, 0x6d, 0x96, 0x65, 0x52, 0x49, 0x38, 0xf6, + 0xe9, 0x56, 0x1e, 0x6f, 0x6b, 0x66, 0x7c, 0xc6, 0xab, 0x58, 0x58, 0x3a, 0x2c, 0x80, 0xd6, 0x05, 0xe4, 0xc7, 0xa3, + 0x7b, 0xb8, 0xfe, 0x9b, 0x0a, 0x38, 0xab, 0xcd, 0x16, 0xf8, 0x56, 0x9b, 0xcd, 0x7b, 0xed, 0x24, 0x6d, 0xfc, 0x7e, + 0x8f, 0xdc, 0x5b, 0x42, 0xaf, 0xca, 0x74, 0x32, 0xe3, 0x60, 0x08, 0x69, 0x3b, 0x2c, 0x24, 0x59, 0xcd, 0xe5, 0x98, + 0xa5, 0x91, 0x5c, 0x30, 0x11, 0x6d, 0x40, 0xcf, 0xea, 0x10, 0xe0, 0x77, 0x11, 0xaf, 0xde, 0xd4, 0xf5, 0xad, 0xe9, + 0x7b, 0xbd, 0x01, 0x55, 0xd8, 0x1b, 0xbe, 0x47, 0x19, 0xfb, 0x9e, 0x15, 0xca, 0xf0, 0xa4, 0x25, 0x7b, 0xfb, 0x86, + 0x57, 0x07, 0xd4, 0x1b, 0x9e, 0x7e, 0xbd, 0x4a, 0x25, 0x90, 0x44, 0xed, 0xe4, 0x3c, 0x39, 0x8d, 0x90, 0xd1, 0x18, + 0xbf, 0xf4, 0x1a, 0xe3, 0x65, 0xa9, 0x31, 0x7e, 0xae, 0xc9, 0x72, 0x4b, 0x63, 0xfc, 0x93, 0x20, 0xcf, 0x75, 0xff, + 0xb9, 0xd7, 0xa6, 0xbf, 0x96, 0x39, 0xcf, 0xee, 0xe2, 0x28, 0xe7, 0xba, 0x09, 0xb7, 0x89, 0x11, 0x5e, 0xd9, 0x0c, + 0x50, 0x35, 0x1a, 0x7d, 0xf7, 0xc6, 0xcb, 0x7f, 0x58, 0x09, 0x12, 0xdd, 0xcb, 0xb9, 0xbe, 0x17, 0xe1, 0x99, 0x26, + 0x7f, 0xc1, 0xaf, 0x7b, 0xab, 0xf8, 0x17, 0xaa, 0x67, 0x49, 0x41, 0xc5, 0x58, 0xce, 0x63, 0xd4, 0x88, 0x22, 0x94, + 0x28, 0x23, 0x84, 0x3c, 0x40, 0x9b, 0x7b, 0x7f, 0xe1, 0x4f, 0x92, 0x44, 0xfd, 0xa8, 0x31, 0xd3, 0x98, 0x53, 0xf2, + 0xd7, 0xe5, 0xbd, 0xd5, 0x27, 0xb9, 0xb9, 0xfa, 0x0b, 0x3f, 0xd5, 0xa5, 0x5a, 0x1f, 0xdf, 0x32, 0x12, 0x23, 0x72, + 0xf5, 0xd4, 0x0f, 0xe9, 0xb1, 0x9c, 0x5b, 0x05, 0x7f, 0x84, 0xf0, 0x17, 0xd0, 0xeb, 0x5e, 0xf1, 0x8a, 0x08, 0xb9, + 0x3b, 0x98, 0x43, 0x12, 0x49, 0xa3, 0x3c, 0x88, 0x8e, 0x8e, 0x82, 0xb4, 0x92, 0x85, 0xc0, 0x8f, 0x24, 0xa9, 0x89, + 0xea, 0x58, 0x50, 0x68, 0xe9, 0x91, 0x8c, 0x39, 0xf2, 0xcd, 0xc4, 0x5e, 0x53, 0xed, 0x76, 0x2c, 0x1f, 0x58, 0xdd, + 0x43, 0xc2, 0x35, 0x2b, 0xa8, 0x96, 0xc5, 0x10, 0x85, 0x6c, 0x09, 0xfe, 0x87, 0x93, 0xbf, 0x06, 0x07, 0xff, 0xcf, + 0xff, 0xf8, 0x73, 0xf2, 0x67, 0x31, 0xfc, 0x0b, 0x0b, 0x46, 0x4e, 0x2e, 0xe3, 0x7e, 0x1a, 0x1f, 0x36, 0x9b, 0xeb, + 0x3f, 0x4f, 0x06, 0xff, 0x4d, 0x9b, 0xff, 0x3c, 0x6c, 0xfe, 0x31, 0x44, 0xeb, 0xf8, 0xcf, 0x93, 0xfe, 0xc0, 0x7d, + 0x0d, 0xfe, 0xfb, 0xea, 0x4f, 0x35, 0x3c, 0xb6, 0x89, 0xf7, 0x10, 0x3a, 0x99, 0xe2, 0x1f, 0x04, 0x39, 0x69, 0x36, + 0xaf, 0x4e, 0xa6, 0xf8, 0x57, 0x41, 0x4e, 0xe0, 0xef, 0x9d, 0x26, 0x6f, 0xd8, 0xf4, 0xe9, 0xed, 0x22, 0xfe, 0xeb, + 0x6a, 0x7d, 0x6f, 0xf5, 0x0f, 0xdf, 0x40, 0xbb, 0x83, 0xff, 0xfe, 0xf3, 0x4f, 0x15, 0x7d, 0x7f, 0x45, 0x4e, 0x86, + 0x0d, 0x14, 0x9b, 0xe4, 0x63, 0x62, 0xff, 0xc4, 0xfd, 0x74, 0xf0, 0xdf, 0x6e, 0x28, 0xd1, 0xf7, 0x7f, 0xfe, 0x75, + 0x79, 0x45, 0x86, 0xeb, 0x38, 0x5a, 0x7f, 0x8f, 0xd6, 0x08, 0xad, 0xef, 0xa1, 0xbf, 0x70, 0x34, 0x8d, 0x10, 0xfe, + 0x43, 0x90, 0x93, 0xef, 0x4f, 0xa6, 0xf8, 0x47, 0x41, 0x4e, 0xa2, 0x93, 0x29, 0x7e, 0x2f, 0xc9, 0xc9, 0x7f, 0xc7, + 0xfd, 0xd4, 0x2a, 0xe1, 0xd6, 0x46, 0xfd, 0xb1, 0x86, 0x9b, 0x10, 0x5a, 0x30, 0xba, 0xd6, 0x5c, 0xe7, 0x0c, 0xdd, + 0x3b, 0xe1, 0xf8, 0xb9, 0x04, 0x60, 0xc5, 0x1a, 0x94, 0x34, 0xe6, 0x12, 0x76, 0xf5, 0x11, 0x16, 0x1e, 0x30, 0xe8, + 0x5e, 0xca, 0xb1, 0xd5, 0x13, 0xa8, 0x54, 0xdb, 0xdb, 0x5b, 0x05, 0xd7, 0xb7, 0xf8, 0x9a, 0x3c, 0x97, 0x71, 0x1b, + 0x61, 0x45, 0xe1, 0x47, 0x07, 0xe1, 0x77, 0xda, 0x5d, 0x78, 0xc2, 0x36, 0xb7, 0x18, 0x26, 0xa4, 0xe5, 0x67, 0x22, + 0x84, 0x9f, 0xee, 0xc9, 0xd4, 0x33, 0x50, 0x3f, 0x20, 0xac, 0x55, 0x78, 0x3d, 0x8a, 0x1f, 0x6b, 0x52, 0x22, 0xc7, + 0xdb, 0x82, 0xb1, 0xdf, 0x68, 0xfe, 0x99, 0x15, 0xf1, 0x53, 0x8d, 0xdb, 0x9d, 0x07, 0xd8, 0xa8, 0xaa, 0x0f, 0xdb, + 0xa8, 0x57, 0xde, 0x6e, 0xbd, 0x93, 0xf6, 0x3e, 0x01, 0x4e, 0xe1, 0xba, 0xbe, 0x06, 0xd6, 0xfe, 0x90, 0xef, 0x28, + 0xb5, 0x0a, 0x7a, 0x13, 0xa1, 0xfa, 0x55, 0x2a, 0x17, 0x5f, 0x68, 0xce, 0xc7, 0x07, 0x9a, 0xcd, 0x17, 0x39, 0xd5, + 0xec, 0xc0, 0xcd, 0xf9, 0x80, 0x42, 0x43, 0x51, 0xc9, 0x53, 0xfc, 0x24, 0xaa, 0x4d, 0xfb, 0x93, 0x48, 0xaa, 0xbd, + 0x13, 0xc3, 0x7d, 0x96, 0xe3, 0x4b, 0x64, 0x75, 0x5d, 0xb6, 0x7d, 0x23, 0xd8, 0x6c, 0x83, 0xb2, 0x6c, 0x68, 0xce, + 0x6f, 0x85, 0xe1, 0x7e, 0x93, 0x90, 0x4e, 0x3f, 0xba, 0x54, 0x5f, 0xa6, 0x57, 0x11, 0xdc, 0xe4, 0x14, 0x44, 0x30, + 0xa3, 0x3c, 0x82, 0x12, 0x94, 0xb4, 0x7a, 0xf4, 0x92, 0xf5, 0x68, 0xa3, 0xe1, 0xd9, 0xec, 0x8c, 0xf0, 0x01, 0xb5, + 0xf5, 0x73, 0x3c, 0xc3, 0x63, 0xd2, 0x6c, 0xe3, 0x25, 0x69, 0x99, 0x2a, 0xbd, 0xe5, 0x65, 0xe6, 0xfa, 0x39, 0x3a, + 0x8a, 0x8b, 0x24, 0xa7, 0x4a, 0xbf, 0x00, 0x8d, 0x00, 0x59, 0xe2, 0x19, 0x29, 0x12, 0x76, 0xcb, 0xb2, 0x38, 0x43, + 0x78, 0xe6, 0x68, 0x10, 0xea, 0xa1, 0x25, 0x09, 0x8a, 0x81, 0x9c, 0x41, 0x04, 0xeb, 0xcf, 0x06, 0xed, 0x21, 0x21, + 0x24, 0x3a, 0x6c, 0x36, 0xa3, 0x7e, 0x41, 0x7e, 0x10, 0x29, 0xa4, 0x04, 0xec, 0x34, 0xf9, 0x15, 0x92, 0x3a, 0x41, + 0x52, 0xfc, 0x5e, 0x26, 0x9a, 0x29, 0x1d, 0x43, 0x32, 0x28, 0x09, 0x94, 0xc7, 0xf0, 0xe8, 0xf2, 0x24, 0x6a, 0x40, + 0xaa, 0x41, 0x51, 0x84, 0x0b, 0x72, 0xa7, 0x51, 0x3a, 0x1b, 0x9c, 0x0e, 0xc3, 0x33, 0xc2, 0xa6, 0x42, 0xff, 0x77, + 0xba, 0x3f, 0x1b, 0xb4, 0x4c, 0xff, 0x57, 0x51, 0x3f, 0x2e, 0x88, 0xb2, 0x6c, 0x5c, 0x5f, 0xa5, 0x82, 0x99, 0xf9, + 0xa2, 0xd4, 0x0d, 0xd0, 0xf5, 0x3d, 0x26, 0xcd, 0x4e, 0x1a, 0x8f, 0xc3, 0x99, 0x34, 0xa1, 0x43, 0x07, 0x0a, 0x9c, + 0x13, 0x28, 0x8f, 0x0b, 0x02, 0x9d, 0x56, 0xd5, 0xee, 0x74, 0xea, 0x12, 0xbe, 0x8f, 0xbe, 0xef, 0xff, 0x28, 0xd2, + 0x3f, 0x84, 0x1d, 0xc1, 0x8f, 0x62, 0xbd, 0x86, 0xbf, 0x7f, 0x88, 0x3e, 0x0c, 0xcb, 0xa4, 0xfd, 0xe0, 0xd2, 0x7e, + 0x85, 0x34, 0xc1, 0x52, 0x33, 0x60, 0xac, 0x4a, 0x7e, 0xcc, 0x2e, 0xce, 0x84, 0xd8, 0x19, 0x1c, 0x1d, 0xf1, 0x01, + 0x6d, 0xb4, 0x87, 0x70, 0x23, 0x50, 0x68, 0xf5, 0x1b, 0xd7, 0xb3, 0x38, 0x3a, 0xb9, 0x8a, 0x50, 0x3f, 0x3a, 0x80, + 0x55, 0xee, 0xc9, 0x06, 0x71, 0xb0, 0xce, 0x1a, 0x9c, 0xa6, 0xe3, 0x2b, 0xd2, 0xea, 0xc7, 0xc2, 0x12, 0xf9, 0x1c, + 0xe1, 0xcc, 0xd1, 0xd4, 0x16, 0x1e, 0xa3, 0x86, 0x12, 0x0d, 0xff, 0x3d, 0x46, 0x8d, 0x99, 0x6e, 0x4c, 0x50, 0x9a, + 0xc1, 0xdf, 0x78, 0x4c, 0x08, 0x69, 0x76, 0xca, 0x8a, 0xfe, 0xb0, 0xa4, 0x28, 0x9d, 0x78, 0xf5, 0xe8, 0xc0, 0x6c, + 0x0e, 0xd9, 0x88, 0xf9, 0x80, 0x0d, 0xd7, 0xeb, 0xe8, 0xb2, 0x7f, 0x15, 0xa1, 0x46, 0xec, 0xd1, 0xee, 0xc4, 0xe3, + 0x1d, 0x42, 0x58, 0x0c, 0x37, 0xee, 0x06, 0xea, 0x86, 0xd5, 0x6e, 0x9b, 0x56, 0xd5, 0xfe, 0x0f, 0xc8, 0x02, 0xdb, + 0x94, 0x72, 0x8f, 0xe5, 0x6f, 0x17, 0x30, 0x55, 0x8f, 0xdb, 0x92, 0xb4, 0x70, 0x41, 0xbc, 0xba, 0x9b, 0x12, 0x5d, + 0xe1, 0x7f, 0x46, 0xaa, 0xe2, 0x78, 0x90, 0xe3, 0xd9, 0x90, 0x48, 0x6a, 0xe4, 0x97, 0x9e, 0x57, 0xa6, 0xb3, 0x9c, + 0xdc, 0xb0, 0xad, 0xfb, 0xdf, 0x1c, 0xee, 0x64, 0x1e, 0xeb, 0x24, 0x5b, 0x16, 0x05, 0x13, 0xfa, 0xa5, 0x1c, 0x3b, + 0xc6, 0x8e, 0xe5, 0x20, 0x5b, 0xc1, 0xc5, 0x2e, 0x06, 0xae, 0xae, 0xe3, 0x77, 0xca, 0x78, 0x27, 0x7b, 0x49, 0xc6, + 0x96, 0xe1, 0x32, 0xd7, 0xbd, 0xbd, 0xa5, 0x13, 0xa5, 0x63, 0x84, 0xc7, 0xee, 0x1e, 0x38, 0x4e, 0x92, 0x64, 0x99, + 0x64, 0x90, 0x0d, 0x1d, 0x28, 0xb4, 0x31, 0xfb, 0x2a, 0x56, 0xe4, 0xb1, 0x4e, 0x04, 0xbb, 0x35, 0xdd, 0xc6, 0xa8, + 0x3a, 0xc4, 0xfd, 0x7e, 0xbb, 0xa4, 0x3d, 0x43, 0x80, 0x54, 0x22, 0xe4, 0x98, 0x01, 0x84, 0xe0, 0xee, 0xdf, 0x25, + 0xcd, 0xa8, 0x0a, 0x6f, 0xb6, 0xaa, 0x01, 0x0e, 0x42, 0x95, 0xf7, 0x12, 0xf4, 0xc4, 0x86, 0x3d, 0x2b, 0x0b, 0x5b, + 0xe5, 0x39, 0x42, 0x7c, 0x12, 0x2f, 0x13, 0xb8, 0x11, 0x34, 0x98, 0xa4, 0x04, 0x5a, 0xaf, 0x97, 0x21, 0x6e, 0xcd, + 0x2a, 0xc5, 0xf4, 0x84, 0xcc, 0x06, 0x45, 0xa3, 0x61, 0x94, 0xd7, 0x63, 0x8b, 0x17, 0x4b, 0x84, 0x27, 0xe5, 0x5e, + 0xf3, 0xe5, 0x16, 0xa4, 0xde, 0x55, 0x3c, 0xa9, 0x2b, 0x81, 0x1b, 0x4a, 0x20, 0xa3, 0x5f, 0xd4, 0xd0, 0x3a, 0x9e, + 0x92, 0x93, 0x78, 0x90, 0xf4, 0xff, 0xe7, 0x10, 0xf5, 0xe3, 0xe4, 0x18, 0x9d, 0x58, 0x5a, 0x32, 0x41, 0xbd, 0xcc, + 0xf6, 0xb1, 0x32, 0xb7, 0x9f, 0x6d, 0x6c, 0x14, 0x90, 0xa9, 0xc4, 0x82, 0xce, 0x59, 0x3a, 0x85, 0x5d, 0xef, 0x91, + 0x67, 0x81, 0x01, 0x99, 0xd2, 0xa9, 0xa3, 0x2d, 0x49, 0xd4, 0xa7, 0xb4, 0xfc, 0xea, 0x47, 0xfd, 0xbc, 0xfa, 0xfa, + 0x9f, 0x51, 0x7f, 0x46, 0xd3, 0xc7, 0x7c, 0xe3, 0x94, 0xe4, 0xb5, 0x3e, 0xce, 0x7d, 0x1f, 0x1b, 0xbb, 0x38, 0x01, + 0xf0, 0xc6, 0x68, 0x57, 0x3b, 0xb2, 0x44, 0x1b, 0x3e, 0x29, 0xa9, 0x93, 0x4a, 0x34, 0x9d, 0x02, 0x54, 0x83, 0x45, + 0x50, 0xa1, 0x6d, 0x40, 0x30, 0x65, 0xc0, 0x16, 0x8f, 0xb4, 0x00, 0xcd, 0xe5, 0x55, 0x0b, 0xad, 0x6a, 0x85, 0x1d, + 0x67, 0x55, 0xbf, 0x8b, 0x2f, 0x89, 0xf7, 0x04, 0xa8, 0xf2, 0xe5, 0xb2, 0x37, 0x69, 0x34, 0x90, 0xf2, 0xf8, 0x35, + 0x1e, 0x4c, 0x86, 0xf8, 0x16, 0x50, 0x08, 0xd7, 0x30, 0x0a, 0xd7, 0xe6, 0xd8, 0x71, 0x73, 0x6c, 0x34, 0xe4, 0x06, + 0xf5, 0x82, 0xca, 0x4b, 0x57, 0x79, 0xb3, 0xb1, 0x90, 0xd9, 0xc6, 0xb8, 0x0b, 0x64, 0x52, 0xc0, 0x10, 0x8c, 0x10, + 0xf2, 0x49, 0xa2, 0xbd, 0xcd, 0x42, 0xa3, 0x50, 0xdd, 0xec, 0x5e, 0xa0, 0xa8, 0xf6, 0xf4, 0x88, 0x01, 0x16, 0x50, + 0xb5, 0x54, 0x23, 0xcf, 0x34, 0x1e, 0x37, 0xda, 0x06, 0xdd, 0x9b, 0xed, 0x5e, 0xbd, 0xb1, 0xfb, 0x55, 0x63, 0x78, + 0xdc, 0x20, 0xb3, 0x6a, 0x87, 0x6f, 0x64, 0xa3, 0xb1, 0xa9, 0xdf, 0x97, 0xfa, 0x4d, 0x5c, 0xbb, 0xbf, 0x78, 0xba, + 0x63, 0xe2, 0xe1, 0x4f, 0xdf, 0xea, 0xbc, 0x15, 0x09, 0x17, 0x82, 0x15, 0x70, 0xc2, 0x12, 0x8d, 0xc5, 0x66, 0x53, + 0x9e, 0xfa, 0xbf, 0x69, 0x6b, 0x33, 0x46, 0x38, 0xd0, 0x21, 0x23, 0xb5, 0x61, 0x89, 0x0b, 0x4c, 0x0d, 0x15, 0x21, + 0x84, 0xbc, 0xd3, 0xde, 0x3c, 0x46, 0x1b, 0x92, 0x94, 0x91, 0xe0, 0xec, 0x8e, 0x15, 0x61, 0xc9, 0xc7, 0x7b, 0x8f, + 0xe5, 0x37, 0x45, 0xba, 0x81, 0x18, 0xa6, 0xa6, 0x58, 0xee, 0x08, 0x59, 0x4e, 0xbe, 0x80, 0x9c, 0x53, 0x5e, 0xb0, + 0x24, 0x86, 0x20, 0x3e, 0xe1, 0x05, 0x33, 0x8c, 0xfb, 0x3d, 0x2f, 0x37, 0x66, 0x75, 0x4e, 0x33, 0x0b, 0xb5, 0x3f, + 0x00, 0xcd, 0x1c, 0x94, 0x43, 0x92, 0xec, 0x14, 0xfb, 0x78, 0xef, 0xe1, 0xab, 0x7d, 0x32, 0xf4, 0x7a, 0xed, 0xa4, + 0xe7, 0x0c, 0x58, 0x1f, 0x9c, 0x57, 0x43, 0xcd, 0xdc, 0x8f, 0x34, 0xce, 0x0c, 0x13, 0x95, 0xc7, 0x1c, 0x90, 0xe9, + 0xe3, 0xbd, 0x87, 0x6f, 0x63, 0x6e, 0x74, 0x53, 0x08, 0x87, 0xf3, 0x8e, 0x0b, 0x12, 0x53, 0xc2, 0x90, 0x9d, 0x7c, + 0x49, 0xc7, 0x8a, 0xe0, 0x74, 0x4f, 0xa9, 0xc9, 0x04, 0xb1, 0x63, 0x20, 0x86, 0x24, 0x73, 0x20, 0x20, 0x19, 0xc2, + 0x59, 0x4d, 0xae, 0x23, 0x66, 0x0d, 0x4c, 0x67, 0xd7, 0xb0, 0x18, 0x89, 0x65, 0x0f, 0x11, 0xce, 0x4c, 0xb7, 0x7a, + 0x63, 0x8f, 0x93, 0x82, 0x6e, 0x1b, 0xba, 0x55, 0xf2, 0xec, 0x7b, 0x10, 0xbc, 0xfc, 0xc7, 0x4b, 0xd7, 0x76, 0x99, + 0xf0, 0xc4, 0x5b, 0xa4, 0x7d, 0xbc, 0xf7, 0xf0, 0x17, 0x67, 0x94, 0xb6, 0xa0, 0x9e, 0xfc, 0xef, 0xc8, 0xa8, 0x0f, + 0x7f, 0x49, 0xaa, 0x5c, 0x53, 0xf8, 0xe3, 0xbd, 0x87, 0xef, 0xf6, 0x15, 0x83, 0xf4, 0xcd, 0xb2, 0x52, 0x12, 0x98, + 0xf1, 0xad, 0x58, 0x9e, 0xae, 0xdc, 0x59, 0x91, 0x8a, 0x0d, 0x36, 0x27, 0x54, 0xaa, 0x36, 0xa5, 0x6e, 0xe5, 0x09, + 0x96, 0xc4, 0x5c, 0x25, 0xd5, 0x97, 0xcd, 0xa1, 0x31, 0x97, 0xe2, 0x3a, 0x93, 0x0b, 0xf6, 0x95, 0xfb, 0xa5, 0xa7, + 0x1a, 0x25, 0x7c, 0x0e, 0x86, 0x38, 0x66, 0xec, 0x02, 0x1f, 0xb6, 0x50, 0x6f, 0xeb, 0x3c, 0x93, 0x06, 0x51, 0x8b, + 0xfa, 0x61, 0x83, 0x29, 0x69, 0xe1, 0x8c, 0xb4, 0x70, 0x4e, 0xd4, 0xa0, 0x65, 0x4f, 0x8c, 0x5e, 0x5e, 0x36, 0x6d, + 0xcf, 0x1d, 0xd8, 0xee, 0xb9, 0xdd, 0xb7, 0xf6, 0x50, 0x9e, 0xf5, 0x72, 0xa3, 0xbf, 0x34, 0x07, 0xfd, 0xcc, 0xa0, + 0xc6, 0x0b, 0x16, 0x17, 0xb8, 0x30, 0x2d, 0x5f, 0xf3, 0x51, 0x0e, 0x76, 0x2a, 0x30, 0x33, 0xac, 0x51, 0x5a, 0x96, + 0x6d, 0xbb, 0xb2, 0x79, 0x62, 0xd6, 0xaa, 0xc0, 0x79, 0x02, 0xa4, 0x1c, 0xe7, 0xce, 0xae, 0x47, 0xed, 0x56, 0x39, + 0x3f, 0x3a, 0x8a, 0x6d, 0xa5, 0x31, 0x8d, 0x0b, 0x9f, 0x5f, 0xdd, 0x00, 0xbe, 0xb7, 0x54, 0x63, 0x86, 0xcc, 0x04, + 0x1a, 0x8d, 0x6c, 0xb8, 0xa1, 0x87, 0x84, 0xc4, 0x79, 0x1d, 0x8a, 0x7e, 0xf4, 0x86, 0x19, 0xdc, 0x02, 0x40, 0xa3, + 0x51, 0x5e, 0xf7, 0x6e, 0x41, 0xec, 0xa9, 0xc6, 0x72, 0xf3, 0x25, 0x2e, 0xad, 0x89, 0x5a, 0x3b, 0x76, 0x58, 0x7e, + 0x14, 0x48, 0x84, 0xb8, 0x2b, 0xfc, 0x7c, 0x82, 0xad, 0x21, 0xa0, 0xdc, 0x0b, 0x67, 0x03, 0x81, 0x8d, 0xd5, 0x96, + 0x2b, 0xe4, 0x49, 0x5b, 0x07, 0xa5, 0xbe, 0x10, 0x5c, 0x70, 0x41, 0xa1, 0xc6, 0xc6, 0x61, 0xf9, 0x0b, 0xb6, 0x6b, + 0xce, 0x89, 0x15, 0x72, 0xda, 0x32, 0x33, 0x0c, 0x03, 0xb0, 0x4e, 0x09, 0x98, 0xe7, 0xe4, 0xe9, 0xd7, 0x51, 0xff, + 0x61, 0x80, 0xfa, 0x8f, 0x08, 0x0b, 0xb6, 0x81, 0xd5, 0x95, 0x24, 0xd2, 0x29, 0x28, 0x94, 0xcf, 0x7a, 0xbc, 0x20, + 0xa0, 0x8d, 0xab, 0x43, 0xb5, 0x76, 0x45, 0xf9, 0x15, 0xca, 0x12, 0xee, 0x14, 0xa3, 0xcf, 0xc4, 0xfe, 0x3e, 0x39, + 0xae, 0x2e, 0xe8, 0xa0, 0xeb, 0x7d, 0xca, 0xc1, 0x90, 0x14, 0x3e, 0x7c, 0xf7, 0xed, 0xbb, 0xd5, 0xc7, 0x8b, 0xdd, + 0x1d, 0x1c, 0x98, 0x95, 0xc2, 0xac, 0x83, 0x0d, 0x5c, 0x37, 0x32, 0x85, 0xfe, 0xcb, 0x3b, 0xf1, 0x3a, 0x15, 0xda, + 0xda, 0x8c, 0xfe, 0x38, 0x84, 0xd1, 0xb6, 0xdb, 0xa6, 0x04, 0x0b, 0x9a, 0x05, 0xba, 0x64, 0x8d, 0x5b, 0x69, 0xf1, + 0x15, 0x32, 0xf2, 0xd0, 0x14, 0x60, 0x62, 0xbc, 0x3f, 0xfb, 0xd1, 0xc6, 0xe1, 0x89, 0x1d, 0x1a, 0x5a, 0x19, 0x42, + 0x68, 0xf1, 0x1e, 0x30, 0xc7, 0x1e, 0x11, 0x00, 0xa2, 0xa7, 0x06, 0x52, 0x15, 0xc8, 0xa2, 0xa8, 0x52, 0xe4, 0x3f, + 0x3f, 0x24, 0xe4, 0x69, 0xa5, 0xc8, 0x7c, 0x53, 0x19, 0x73, 0x01, 0x62, 0xa0, 0x14, 0x2e, 0x12, 0xca, 0x04, 0x7b, + 0x19, 0xfa, 0x4e, 0xfb, 0xf2, 0x46, 0xda, 0x4c, 0x2a, 0x6e, 0x3c, 0xb8, 0x29, 0x35, 0x2a, 0x3e, 0x9b, 0xef, 0x21, + 0xb1, 0x95, 0x7b, 0x0f, 0x72, 0x05, 0x35, 0x83, 0x84, 0xef, 0xb7, 0xa6, 0xb4, 0x6f, 0x77, 0xf3, 0x79, 0xdb, 0x22, + 0x66, 0x6b, 0x5d, 0x12, 0x2e, 0x14, 0x2b, 0xf4, 0x23, 0x36, 0x91, 0x05, 0xdc, 0x7f, 0x94, 0x60, 0x41, 0x9b, 0x7b, + 0x81, 0x0e, 0xd0, 0x4c, 0x30, 0xb8, 0x74, 0xd8, 0x9a, 0xa1, 0xf9, 0xf5, 0xd9, 0xdc, 0x81, 0x7f, 0xdc, 0xae, 0xf5, + 0xf4, 0xe8, 0xe8, 0x0b, 0xab, 0x00, 0xe5, 0x86, 0x69, 0x86, 0x11, 0x10, 0x2f, 0xcb, 0xe5, 0xb8, 0x9b, 0xe1, 0x7b, + 0x71, 0xa5, 0x32, 0xf0, 0x84, 0x23, 0x24, 0x42, 0xcf, 0x89, 0xde, 0x4c, 0xb7, 0xe9, 0xbd, 0xd3, 0x66, 0x88, 0x50, + 0xac, 0x01, 0x72, 0x0f, 0x72, 0xb9, 0x55, 0x32, 0xa9, 0xca, 0xd6, 0xb6, 0x1c, 0xc4, 0x63, 0x00, 0x57, 0x6c, 0x84, + 0x94, 0x00, 0x0d, 0xf7, 0x0b, 0x2d, 0xef, 0x24, 0xb0, 0xff, 0x58, 0x25, 0x20, 0xd2, 0xa2, 0xda, 0xc6, 0x45, 0x08, + 0x5b, 0x53, 0x9f, 0xc0, 0x38, 0xe1, 0xe1, 0xf3, 0x7d, 0x1a, 0x6a, 0x8f, 0xda, 0xcc, 0x9c, 0x41, 0x50, 0x42, 0xa2, + 0xb2, 0x42, 0xf2, 0x25, 0x16, 0x8e, 0x9b, 0xf3, 0xf7, 0x70, 0x40, 0x8a, 0x0b, 0x1a, 0xdb, 0xbb, 0x2d, 0x38, 0x3e, + 0x8a, 0x64, 0x19, 0xd7, 0xba, 0xee, 0x15, 0xa6, 0x1a, 0x76, 0xa0, 0xa3, 0x21, 0x9c, 0x0a, 0x73, 0x4f, 0xf8, 0xb8, + 0x22, 0xa9, 0xda, 0x59, 0x40, 0x79, 0x62, 0x58, 0x99, 0xa6, 0x04, 0xf3, 0xd7, 0xce, 0x7c, 0xad, 0x3c, 0x26, 0x98, + 0x19, 0xc6, 0x8d, 0x5d, 0x05, 0xb6, 0x01, 0x1c, 0x5b, 0x3d, 0x92, 0xc1, 0xa2, 0x7a, 0xa5, 0xb8, 0xe9, 0x34, 0x60, + 0x02, 0xde, 0x80, 0xf5, 0xcc, 0xf6, 0xd6, 0x7f, 0x6e, 0x0e, 0x46, 0x81, 0x55, 0x8d, 0xc0, 0x4b, 0x43, 0xe0, 0x11, + 0x30, 0x6e, 0xde, 0xb4, 0xbc, 0xef, 0x8c, 0x68, 0x84, 0x3f, 0xf1, 0x1c, 0x9e, 0x59, 0x96, 0x7b, 0xe7, 0x63, 0x6b, + 0x45, 0x52, 0x41, 0xc0, 0xb6, 0x08, 0x3b, 0x22, 0x2f, 0x11, 0x56, 0x8d, 0x46, 0x4f, 0x5d, 0xb2, 0x4a, 0xab, 0x52, + 0x0d, 0x53, 0xc0, 0x2d, 0x31, 0xe0, 0x7d, 0xed, 0x44, 0x05, 0x43, 0x02, 0x6f, 0xfd, 0xad, 0x40, 0x7d, 0xff, 0xf0, + 0x4d, 0x1c, 0xd2, 0xb7, 0xb0, 0x6c, 0x79, 0x11, 0x0b, 0x53, 0x8a, 0xab, 0x3b, 0x9c, 0xd7, 0xdf, 0x36, 0x1b, 0x81, + 0x71, 0x1f, 0xb6, 0x31, 0xd8, 0xb8, 0xa1, 0x9e, 0xb6, 0xa4, 0xa1, 0xdc, 0x84, 0x3d, 0x54, 0xd9, 0x3b, 0x86, 0x9d, + 0xf5, 0x74, 0x25, 0xed, 0x6a, 0xa2, 0x36, 0x1b, 0xc5, 0x2a, 0xa3, 0x81, 0x2d, 0xc3, 0x4e, 0x73, 0xcc, 0xec, 0x2a, + 0xf0, 0x1f, 0x2f, 0x88, 0xc6, 0x01, 0xb2, 0xbe, 0xfe, 0xda, 0x75, 0x4a, 0x35, 0x4c, 0xd8, 0xde, 0xee, 0x7c, 0x7c, + 0xcc, 0xf7, 0x9d, 0x8f, 0x58, 0xba, 0xad, 0x6f, 0xce, 0xc6, 0xf6, 0xbf, 0x71, 0x36, 0x3a, 0xb5, 0xbd, 0x3f, 0x1e, + 0x81, 0x3b, 0xa9, 0x1d, 0x8f, 0xf5, 0x35, 0x25, 0x12, 0x0b, 0xb7, 0x1c, 0x57, 0x9d, 0xf5, 0x5a, 0x0c, 0x5a, 0xa0, + 0x76, 0x8a, 0x22, 0xf8, 0xd9, 0xb6, 0x3f, 0x03, 0x92, 0x6c, 0x75, 0xc8, 0xb1, 0x28, 0x45, 0x19, 0x94, 0x80, 0x01, + 0x75, 0x6c, 0x6c, 0xbd, 0x0c, 0x62, 0x3b, 0x1c, 0x72, 0x58, 0x4e, 0x44, 0x79, 0x75, 0x05, 0x23, 0x36, 0xc7, 0x86, + 0x13, 0x30, 0xe3, 0xbd, 0x56, 0x85, 0x5e, 0xfc, 0xfc, 0xd7, 0xcc, 0x69, 0xed, 0x88, 0xb1, 0x9c, 0x44, 0xcd, 0x8a, + 0xc1, 0x8d, 0xc0, 0x31, 0x8c, 0x87, 0x46, 0x42, 0xad, 0x4e, 0x75, 0x54, 0x3b, 0x92, 0x70, 0x0b, 0xd4, 0x6e, 0x87, + 0xe6, 0x5c, 0x5a, 0xaf, 0xf7, 0x1e, 0x2c, 0xb8, 0x08, 0x70, 0xfb, 0x39, 0xd1, 0x35, 0x92, 0x42, 0x89, 0x93, 0xa0, + 0x70, 0x6e, 0x50, 0x55, 0x13, 0x39, 0x68, 0x0d, 0x81, 0x27, 0xed, 0x65, 0x97, 0xb2, 0x12, 0x92, 0xb3, 0x46, 0x03, + 0xe5, 0x65, 0xc7, 0x74, 0x20, 0x1a, 0xd9, 0x10, 0x33, 0x9c, 0x59, 0x81, 0x05, 0x4e, 0xaf, 0x38, 0xaf, 0xba, 0x1e, + 0x64, 0x43, 0x84, 0x8b, 0xf5, 0x3a, 0xb6, 0x43, 0xcb, 0xd1, 0x7a, 0x9d, 0x87, 0x43, 0x33, 0xf9, 0x50, 0xf1, 0x69, + 0x5f, 0x93, 0xa7, 0xe6, 0x3c, 0x7c, 0x0a, 0x83, 0x6c, 0x90, 0x38, 0x77, 0x2a, 0xc1, 0x1c, 0x34, 0x57, 0x0d, 0x39, + 0xc8, 0x1a, 0xed, 0x61, 0x40, 0xc3, 0x06, 0xd9, 0x90, 0xe4, 0x1b, 0xb0, 0x9c, 0x55, 0xee, 0xc0, 0xfc, 0x04, 0x07, + 0xdb, 0x27, 0x73, 0xce, 0xd8, 0x06, 0xc3, 0x35, 0xd9, 0x56, 0x19, 0x94, 0x78, 0xe5, 0x16, 0xd7, 0x97, 0xab, 0x19, + 0x58, 0x94, 0x85, 0xb0, 0xbb, 0x66, 0xee, 0x83, 0xf0, 0x5f, 0x62, 0x3b, 0xa5, 0xa5, 0x11, 0xf7, 0x16, 0xe2, 0x7b, + 0xdb, 0xed, 0x24, 0x49, 0x68, 0x31, 0x35, 0x57, 0x22, 0xfe, 0x86, 0xd7, 0xec, 0x81, 0x53, 0x37, 0xce, 0xa0, 0xe7, + 0x41, 0xd9, 0xd9, 0x90, 0xd8, 0xf1, 0x7b, 0x66, 0xc7, 0x3b, 0xae, 0x64, 0x74, 0xbf, 0x2e, 0xc2, 0x0e, 0x26, 0xff, + 0x5f, 0x1e, 0xcc, 0x99, 0x1b, 0x8c, 0x45, 0x93, 0x2d, 0xb8, 0x7d, 0x05, 0x1e, 0x19, 0xdd, 0x82, 0xdb, 0xd7, 0xe1, + 0xeb, 0xa1, 0x35, 0xfb, 0xea, 0x00, 0x03, 0x32, 0x61, 0x47, 0x5a, 0x25, 0x04, 0xc3, 0xec, 0x6e, 0x73, 0x64, 0x96, + 0xac, 0xc2, 0xe1, 0xaa, 0x49, 0x2c, 0xb6, 0xf6, 0x42, 0xc5, 0xa4, 0x06, 0x82, 0xb1, 0x48, 0x9f, 0xa2, 0x50, 0x69, + 0x50, 0x37, 0x8e, 0x01, 0xac, 0x72, 0xda, 0xfa, 0xa7, 0x47, 0x47, 0x20, 0x34, 0x00, 0x6b, 0x97, 0x64, 0x74, 0xa1, + 0x97, 0x05, 0xf0, 0x57, 0xca, 0xff, 0x86, 0x64, 0x70, 0x3b, 0x31, 0x69, 0xf0, 0x03, 0x12, 0x16, 0x54, 0x29, 0xfe, + 0xc5, 0xa6, 0xb9, 0xdf, 0xb8, 0x20, 0x1e, 0xa3, 0x95, 0xe5, 0x14, 0x25, 0xea, 0x49, 0x87, 0xae, 0x75, 0xc8, 0x3d, + 0xfd, 0xc2, 0x84, 0xfe, 0x99, 0x2b, 0xcd, 0x04, 0x00, 0xa0, 0x42, 0x3c, 0x98, 0x92, 0x42, 0xb0, 0x75, 0x6b, 0xb5, + 0xe8, 0x78, 0xfc, 0xcd, 0x2a, 0xba, 0xce, 0x16, 0xcd, 0xa8, 0x18, 0xe7, 0xb6, 0x93, 0xd0, 0x66, 0xd2, 0xdb, 0x89, + 0x96, 0x25, 0x43, 0x8b, 0x9d, 0x8a, 0xfd, 0x30, 0xb4, 0x3e, 0x16, 0xc4, 0x9f, 0x0b, 0xfe, 0x2c, 0xfd, 0x26, 0x1f, + 0x03, 0x57, 0xea, 0x5f, 0x59, 0x85, 0x70, 0x26, 0x58, 0x07, 0xe4, 0x35, 0xa9, 0x8f, 0xd3, 0xa3, 0xce, 0x78, 0x47, + 0xb9, 0x50, 0x1a, 0x85, 0x6d, 0x9d, 0x14, 0x06, 0x53, 0xce, 0xbf, 0x2e, 0x71, 0xfd, 0xe2, 0x8f, 0x11, 0x7f, 0x74, + 0x88, 0x7f, 0x97, 0x4a, 0xa3, 0x55, 0x89, 0x60, 0xc8, 0xef, 0x48, 0xa6, 0xe0, 0x2a, 0x36, 0xe7, 0xfa, 0xb9, 0x9e, + 0xe7, 0x5b, 0x9e, 0x38, 0x3d, 0xa6, 0x4a, 0xe8, 0xa8, 0xf8, 0x86, 0xe1, 0x17, 0x0c, 0xee, 0x8d, 0x5f, 0xf2, 0xa0, + 0xca, 0xee, 0x7d, 0xf1, 0xcb, 0xe0, 0xbe, 0xf8, 0x25, 0x4f, 0x77, 0x8b, 0x06, 0xf7, 0xc4, 0x9d, 0xe4, 0x22, 0x69, + 0x45, 0x9e, 0x8f, 0x5a, 0xd2, 0xca, 0xbf, 0xd2, 0x6e, 0x0d, 0x5c, 0xd9, 0xc4, 0x81, 0x71, 0x5e, 0x5d, 0x84, 0x62, + 0xce, 0x9c, 0xd1, 0x72, 0xf8, 0x5f, 0x5b, 0x27, 0x77, 0xf2, 0x48, 0x2b, 0x85, 0xbc, 0xa6, 0x85, 0xbe, 0x07, 0x1b, + 0xae, 0xd8, 0xf1, 0x01, 0xa4, 0x04, 0x94, 0x6d, 0xff, 0x5e, 0x17, 0x81, 0x38, 0xae, 0xac, 0xf3, 0x51, 0xd8, 0x3e, + 0x29, 0x4a, 0xae, 0xae, 0x2e, 0x84, 0xdc, 0x1a, 0x2d, 0x01, 0xc2, 0xd4, 0xbb, 0xe6, 0x31, 0x47, 0x93, 0x59, 0xba, + 0xda, 0x94, 0xaa, 0x83, 0xc2, 0x72, 0x75, 0x1c, 0xe1, 0x62, 0x63, 0x6e, 0xd0, 0x3f, 0x71, 0xfc, 0x88, 0x3b, 0x1a, + 0xf9, 0x63, 0x49, 0x81, 0xde, 0xef, 0xf7, 0xb5, 0xd9, 0x43, 0x22, 0xed, 0x1c, 0x4a, 0x4b, 0x01, 0xc0, 0x6a, 0x83, + 0xaf, 0x1b, 0x8f, 0x53, 0x4f, 0xa4, 0x9b, 0xcd, 0x57, 0x0d, 0x61, 0x31, 0x2b, 0x2d, 0x78, 0x4c, 0x37, 0x7b, 0x2c, + 0x47, 0xbd, 0x2c, 0xae, 0xcb, 0x3d, 0x56, 0xeb, 0x17, 0x7d, 0x05, 0x94, 0x95, 0x21, 0xda, 0x7a, 0x1d, 0xd7, 0xe1, + 0x4d, 0x44, 0x70, 0x0d, 0x82, 0xb0, 0x08, 0x0c, 0x38, 0x6a, 0x8c, 0xb7, 0xad, 0x13, 0xa3, 0x6d, 0xfb, 0x25, 0xcf, + 0xba, 0xd7, 0xc6, 0x11, 0x2a, 0x1a, 0x6c, 0xf5, 0x50, 0xf3, 0x80, 0xed, 0xec, 0xca, 0x8e, 0x02, 0x08, 0x2d, 0x4b, + 0xe3, 0xdc, 0xca, 0x8a, 0x76, 0x0f, 0x7c, 0xd1, 0x37, 0xcc, 0x73, 0x1d, 0xe8, 0x76, 0xf3, 0x03, 0xdb, 0xa6, 0x27, + 0xf2, 0x6b, 0xb6, 0x4d, 0x35, 0x4e, 0xf8, 0xb0, 0x85, 0xbe, 0x6d, 0x08, 0x6b, 0xfb, 0xda, 0x5f, 0xe4, 0x7f, 0xa1, + 0xbb, 0x36, 0xa0, 0xa7, 0x05, 0xb3, 0xa7, 0x31, 0xef, 0xf4, 0x66, 0xf3, 0x63, 0xe9, 0xbf, 0x60, 0x6c, 0x85, 0x7e, + 0xb4, 0xbb, 0xc0, 0x89, 0x95, 0xc6, 0x21, 0x38, 0xfe, 0xc4, 0xc9, 0x34, 0x97, 0x23, 0x9a, 0xbf, 0x85, 0x1e, 0xab, + 0xdc, 0xe7, 0x77, 0xe3, 0x82, 0x6a, 0xe6, 0x68, 0x4d, 0x35, 0x8a, 0x4f, 0x3c, 0x18, 0xc6, 0x27, 0x6e, 0x29, 0x77, + 0xd5, 0x02, 0x5e, 0xfd, 0x5c, 0x36, 0x91, 0xfe, 0xb8, 0xf1, 0xb4, 0x83, 0xab, 0xfd, 0xbd, 0x6c, 0x93, 0x34, 0x5e, + 0x92, 0x34, 0xae, 0xe2, 0xed, 0xa6, 0xe2, 0xf8, 0xd1, 0x57, 0x06, 0xbb, 0x4b, 0xe6, 0x1e, 0x05, 0x64, 0xee, 0x11, + 0x4f, 0xbf, 0x59, 0x2b, 0xa0, 0x78, 0xa7, 0xc9, 0xa9, 0xb1, 0x8c, 0xb1, 0xa3, 0x7e, 0xa3, 0xc1, 0xa0, 0x41, 0x93, + 0xab, 0xc0, 0xdb, 0xa1, 0x3a, 0xbd, 0xbc, 0xfd, 0x51, 0x9c, 0x2d, 0x95, 0x96, 0x73, 0xd7, 0xa8, 0x72, 0x3e, 0x4e, + 0x26, 0x13, 0x14, 0xd8, 0xe6, 0x0e, 0x3f, 0xad, 0xbb, 0x91, 0xad, 0x3e, 0x73, 0x31, 0x4e, 0x15, 0x76, 0x67, 0x8b, + 0x4a, 0xe5, 0x86, 0x78, 0x33, 0xe7, 0xdd, 0x3c, 0x3c, 0xe1, 0x82, 0xab, 0x19, 0x2b, 0xe2, 0x02, 0xad, 0xbe, 0xd6, + 0x59, 0x01, 0xb7, 0x39, 0xb6, 0x33, 0x3c, 0x29, 0x2d, 0x07, 0x74, 0x02, 0xad, 0x81, 0xce, 0x68, 0xce, 0xf4, 0x4c, + 0x8e, 0xc1, 0xf0, 0x25, 0x19, 0x97, 0xee, 0x54, 0x47, 0x47, 0x87, 0x71, 0x64, 0xf4, 0x17, 0xe0, 0x83, 0x1e, 0xe6, + 0xa0, 0xfe, 0x0a, 0x1c, 0x83, 0xaa, 0xae, 0x19, 0x5a, 0xb1, 0x6d, 0x1f, 0x1a, 0x9d, 0x7c, 0x66, 0x77, 0x98, 0xa3, + 0xcd, 0x26, 0xb5, 0xa3, 0x8e, 0x26, 0x9c, 0xe5, 0xe3, 0x08, 0x7f, 0x66, 0x77, 0x69, 0xe9, 0xb6, 0x6e, 0xbc, 0xac, + 0xcd, 0x22, 0x46, 0xf2, 0x46, 0x44, 0xb8, 0xea, 0x24, 0x5d, 0x6d, 0xb0, 0x2c, 0xf8, 0x14, 0x70, 0xf4, 0x27, 0x76, + 0x97, 0xba, 0xf6, 0x02, 0x57, 0x41, 0xb4, 0xf2, 0xa0, 0x4f, 0x82, 0xe4, 0x70, 0x19, 0x9c, 0xc0, 0x31, 0x30, 0x75, + 0x87, 0xa4, 0x56, 0xae, 0x12, 0x21, 0x11, 0xda, 0xfc, 0xbb, 0x53, 0xc1, 0x8b, 0xf0, 0x9c, 0xd3, 0x35, 0x8b, 0xdb, + 0xad, 0x4a, 0x0c, 0x2a, 0x54, 0x16, 0x24, 0x1f, 0x62, 0xee, 0x77, 0x9f, 0xf3, 0x7e, 0x08, 0x74, 0x66, 0x0b, 0xea, + 0x1a, 0x4d, 0x27, 0xe6, 0x17, 0xaa, 0xee, 0xa0, 0xe6, 0xba, 0xaa, 0x78, 0xf0, 0x21, 0x06, 0xc0, 0x83, 0xb5, 0x0c, + 0x35, 0x0e, 0xa1, 0x1b, 0x6f, 0xa6, 0x3a, 0xa5, 0x24, 0x5e, 0xf9, 0x39, 0xa4, 0x3c, 0x04, 0xa3, 0xde, 0x00, 0x1a, + 0x3a, 0x04, 0xb3, 0x96, 0x87, 0x7c, 0x12, 0x8b, 0x9d, 0x33, 0x54, 0x9a, 0x33, 0x34, 0x09, 0x40, 0xfe, 0x95, 0x33, + 0x93, 0x19, 0x68, 0x18, 0xde, 0xd2, 0x1c, 0x80, 0x6e, 0x75, 0x1d, 0x0e, 0x85, 0x2b, 0x5a, 0x3a, 0xef, 0xd9, 0x45, + 0x97, 0xb5, 0x61, 0xc5, 0xa6, 0x1d, 0xb4, 0x49, 0x61, 0x4a, 0xcc, 0x16, 0xd8, 0x78, 0xbd, 0x0f, 0xf7, 0x76, 0xb5, + 0x71, 0x91, 0xf8, 0x69, 0x11, 0x0f, 0x93, 0x98, 0xa2, 0x15, 0x8f, 0x29, 0x96, 0x60, 0x07, 0x59, 0x6c, 0xca, 0xf1, + 0xb3, 0x70, 0x39, 0x6a, 0x56, 0xd2, 0xfb, 0x1d, 0x0c, 0x81, 0xcb, 0xd7, 0x60, 0x1b, 0x8a, 0x79, 0x49, 0x58, 0x62, + 0xe3, 0xe9, 0x17, 0xac, 0xdb, 0xdc, 0x2e, 0x88, 0x5f, 0x81, 0x29, 0x8d, 0x57, 0xc1, 0x2c, 0x42, 0xa7, 0x72, 0xe7, + 0x70, 0xe8, 0xae, 0x09, 0x2b, 0xe3, 0xd5, 0x58, 0x91, 0xad, 0xa3, 0xe7, 0xdb, 0x36, 0x9e, 0x7f, 0x2f, 0x59, 0x71, + 0x77, 0xcd, 0xc0, 0xc6, 0x5a, 0x82, 0xbb, 0x71, 0xb5, 0x0c, 0x95, 0x81, 0x7c, 0x5f, 0x1a, 0xd6, 0x65, 0x83, 0xbf, + 0x19, 0x15, 0x63, 0x63, 0xee, 0x29, 0x03, 0x6d, 0x8d, 0xdd, 0x2e, 0xec, 0xab, 0xae, 0x9b, 0xac, 0x67, 0x62, 0x25, + 0x54, 0x90, 0x76, 0x77, 0x0b, 0xb8, 0x08, 0xfd, 0x61, 0x07, 0x6a, 0xb8, 0xad, 0xba, 0x81, 0x24, 0xb8, 0xf6, 0x93, + 0x5f, 0x9f, 0xea, 0x3e, 0x6b, 0xdd, 0xaf, 0x4f, 0xb5, 0x76, 0x59, 0x68, 0x0c, 0x89, 0xb0, 0xeb, 0xa7, 0xf4, 0x9f, + 0x16, 0x9b, 0x0d, 0xda, 0xc0, 0xf0, 0xde, 0xf3, 0x5e, 0x1c, 0xbf, 0xf7, 0x16, 0x8a, 0x09, 0x5c, 0xe4, 0x5e, 0xe7, + 0xd2, 0x13, 0xf2, 0x6a, 0x04, 0xef, 0xf9, 0xce, 0x10, 0xde, 0xf3, 0xc0, 0xe9, 0x15, 0xa4, 0xa6, 0xa9, 0x60, 0x63, + 0x4f, 0x3f, 0x91, 0x45, 0x42, 0xc3, 0xc7, 0xdd, 0xe3, 0x44, 0xe8, 0xbf, 0x52, 0xe0, 0xbf, 0xf0, 0x68, 0xa9, 0xb5, + 0x14, 0x98, 0x8b, 0xc5, 0x52, 0x63, 0x65, 0x46, 0xbf, 0x9a, 0x48, 0xa1, 0x9b, 0x13, 0x3a, 0xe7, 0xf9, 0x5d, 0xba, + 0xe4, 0xcd, 0xb9, 0x14, 0x52, 0x2d, 0x68, 0xc6, 0xb0, 0xba, 0x53, 0x9a, 0xcd, 0x9b, 0x4b, 0x8e, 0x9f, 0xb3, 0xfc, + 0x0b, 0xd3, 0x3c, 0xa3, 0xf8, 0x8d, 0x1c, 0x49, 0x2d, 0xf1, 0xab, 0xdb, 0xbb, 0x29, 0x13, 0xf8, 0xdd, 0x68, 0x29, + 0xf4, 0x12, 0x2b, 0x2a, 0x54, 0x53, 0xb1, 0x82, 0x4f, 0x7a, 0xcd, 0xe6, 0xa2, 0xe0, 0x73, 0x5a, 0xdc, 0x35, 0x33, + 0x99, 0xcb, 0x22, 0xfd, 0xaf, 0xd6, 0x29, 0x7d, 0x30, 0x39, 0xeb, 0xe9, 0x82, 0x0a, 0xc5, 0x61, 0x61, 0x52, 0x9a, + 0xe7, 0x07, 0xa7, 0xdd, 0xd6, 0x5c, 0x1d, 0xda, 0x0b, 0x3f, 0x2a, 0xf4, 0xe6, 0x2f, 0xfc, 0x9b, 0x84, 0x51, 0x26, + 0x23, 0x2d, 0xdc, 0x20, 0x57, 0xd9, 0xb2, 0x50, 0xb2, 0x48, 0x17, 0x92, 0x0b, 0xcd, 0x8a, 0xde, 0x48, 0x16, 0x63, + 0x56, 0x34, 0x0b, 0x3a, 0xe6, 0x4b, 0x95, 0x9e, 0x2d, 0x6e, 0x7b, 0xf5, 0x1e, 0x6c, 0x7e, 0x2a, 0xa4, 0x60, 0x3d, + 0xe0, 0x37, 0xa6, 0x85, 0x5c, 0x8a, 0xb1, 0x1b, 0xc6, 0x52, 0x28, 0xa6, 0x7b, 0x0b, 0x3a, 0x06, 0x3b, 0xe0, 0xf4, + 0x62, 0x71, 0xdb, 0x33, 0xb3, 0xbe, 0x61, 0x7c, 0x3a, 0xd3, 0x69, 0xb7, 0xd5, 0xb2, 0xdf, 0x8a, 0xff, 0xc3, 0xd2, + 0x76, 0x27, 0xe9, 0x74, 0x17, 0xb7, 0xc0, 0xc1, 0x6b, 0x56, 0x34, 0x01, 0x16, 0x50, 0xa9, 0x9d, 0xb4, 0x1e, 0x9c, + 0xde, 0x87, 0x0c, 0xb0, 0x71, 0x68, 0x9a, 0x09, 0x81, 0xb1, 0x7b, 0xba, 0x5c, 0x2c, 0x58, 0x01, 0x5e, 0xf4, 0xbd, + 0x39, 0x2d, 0xa6, 0x5c, 0x34, 0x0b, 0xd3, 0x68, 0xf3, 0x62, 0x71, 0xbb, 0x81, 0xf9, 0xa4, 0xd6, 0x6c, 0xd5, 0x4d, + 0xcb, 0x7d, 0xad, 0x82, 0x21, 0x9a, 0x98, 0x34, 0x69, 0x31, 0x1d, 0xd1, 0xb8, 0xdd, 0xb9, 0x8f, 0xfd, 0xff, 0x92, + 0x0e, 0x0a, 0xc0, 0xd6, 0x1c, 0x2f, 0x0b, 0x73, 0x8b, 0x9a, 0xb6, 0x95, 0x6d, 0x76, 0x26, 0xbf, 0xb0, 0xc2, 0xb7, + 0x6a, 0x3e, 0x56, 0x3b, 0xf3, 0xfe, 0x8f, 0x1a, 0xa5, 0xb6, 0xad, 0x17, 0xea, 0x1a, 0x68, 0xf4, 0x6e, 0x63, 0xff, + 0xd5, 0xb9, 0xa0, 0xf7, 0xcf, 0xba, 0x1e, 0xee, 0x93, 0xc9, 0xa4, 0x06, 0x74, 0x0f, 0xdd, 0x76, 0x6b, 0x71, 0x7b, + 0xd0, 0x69, 0x79, 0x18, 0x5b, 0x98, 0x9e, 0x2f, 0x6e, 0xf7, 0xac, 0x60, 0x80, 0x15, 0xdb, 0xbd, 0x1d, 0x24, 0xa7, + 0xea, 0x80, 0x51, 0xc5, 0x36, 0x7f, 0xe1, 0x11, 0x05, 0xdc, 0x30, 0x48, 0x3b, 0x30, 0x72, 0x2a, 0xac, 0xc0, 0x70, + 0x75, 0xc3, 0xc7, 0x7a, 0x96, 0xb6, 0x5b, 0xad, 0xef, 0x2a, 0x4c, 0xea, 0xcd, 0xec, 0x92, 0xb6, 0x0b, 0x36, 0xaf, + 0xe1, 0xd7, 0x47, 0x5a, 0xee, 0x82, 0xd5, 0x42, 0xba, 0x4e, 0x0b, 0x96, 0x9b, 0x28, 0x37, 0x1b, 0xb7, 0x15, 0xaa, + 0x16, 0x77, 0x07, 0xbb, 0x09, 0xfa, 0x2f, 0xc0, 0x6c, 0x73, 0x88, 0xbf, 0x32, 0xa2, 0x8c, 0xe6, 0x59, 0x0c, 0x8d, + 0x1c, 0x34, 0x0f, 0x4e, 0x0b, 0x36, 0x47, 0x7e, 0x50, 0xc9, 0xfd, 0x6e, 0xc1, 0xe6, 0x9b, 0xc4, 0x54, 0x5f, 0x19, + 0x34, 0xa2, 0x39, 0x9f, 0x8a, 0x34, 0x63, 0x80, 0xe2, 0x9b, 0x84, 0x09, 0xcd, 0xf5, 0x5d, 0xb3, 0x90, 0x37, 0xab, + 0x31, 0x57, 0x8b, 0x9c, 0xde, 0xa5, 0x93, 0x9c, 0xdd, 0xf6, 0x4c, 0xa9, 0x26, 0xd7, 0x6c, 0xae, 0x5c, 0xd9, 0x1e, + 0xa4, 0x37, 0xc7, 0xd6, 0xb4, 0x02, 0x66, 0x22, 0x6f, 0xb6, 0xf7, 0x98, 0x07, 0x60, 0x53, 0x2e, 0xf5, 0x41, 0x4b, + 0xf5, 0xe6, 0x5c, 0x34, 0xdd, 0x40, 0xce, 0x60, 0x75, 0x76, 0xa1, 0x10, 0xf4, 0x9f, 0xb0, 0xdb, 0x05, 0x15, 0x63, + 0x36, 0x5e, 0x05, 0xd5, 0x3a, 0x50, 0x2f, 0x2c, 0x95, 0x0a, 0x3d, 0x6b, 0x1a, 0x7b, 0xb0, 0xb8, 0x23, 0xd0, 0x57, + 0xd0, 0xef, 0x41, 0x0b, 0xdb, 0xff, 0x4f, 0xda, 0x28, 0xac, 0x7c, 0x00, 0xa1, 0x99, 0xf8, 0xe4, 0xae, 0x09, 0x7f, + 0x57, 0xe0, 0x7f, 0xc4, 0x33, 0x9a, 0x3b, 0x88, 0xcc, 0xf9, 0x78, 0x9c, 0xd7, 0x46, 0x74, 0x15, 0x74, 0xd6, 0x46, + 0x2b, 0x98, 0x7f, 0xda, 0x3a, 0x68, 0x1d, 0x98, 0xb9, 0x38, 0x94, 0x3c, 0x3b, 0xbb, 0x7f, 0xfa, 0x80, 0xf5, 0x72, + 0x2e, 0x58, 0x6d, 0xaa, 0xdf, 0x04, 0x75, 0xd8, 0x70, 0xc7, 0x35, 0xdc, 0x3e, 0x68, 0x1f, 0x9c, 0xb5, 0xbe, 0xf3, + 0x3b, 0x3a, 0x67, 0x13, 0x6d, 0x71, 0xb8, 0xb6, 0xc5, 0x2f, 0x7c, 0xd3, 0x37, 0x05, 0x5d, 0xa4, 0x42, 0xc2, 0x9f, + 0x1e, 0x6c, 0xc4, 0x49, 0x2e, 0x6f, 0xd2, 0x19, 0x1f, 0x8f, 0xc1, 0x9d, 0x0a, 0x0a, 0x94, 0x89, 0x2c, 0xcf, 0xf9, + 0x42, 0x71, 0xbb, 0x1a, 0x0e, 0xdd, 0xba, 0x5b, 0x50, 0x0d, 0x07, 0x74, 0x1a, 0x0c, 0xa8, 0x5b, 0x0d, 0xa8, 0xea, + 0x3f, 0x1c, 0x61, 0x67, 0x6b, 0xae, 0xa6, 0x54, 0xaf, 0x86, 0x49, 0x9f, 0x96, 0x4a, 0x03, 0xcc, 0xbd, 0x21, 0x87, + 0xa1, 0xf4, 0xcd, 0x11, 0xd3, 0x37, 0x8c, 0x89, 0xaf, 0x0f, 0xe2, 0x2a, 0x95, 0x22, 0xbf, 0xb3, 0x9f, 0xab, 0xb0, + 0x4b, 0xba, 0xd4, 0x72, 0x93, 0x8c, 0xb8, 0xa0, 0xc5, 0xdd, 0x47, 0xc5, 0x84, 0x92, 0xc5, 0x47, 0x39, 0x99, 0xac, + 0xbe, 0x46, 0x7e, 0xee, 0xa3, 0x4d, 0xa2, 0xb8, 0x98, 0xe6, 0xcc, 0x12, 0x1b, 0x83, 0x08, 0x8e, 0xe0, 0xdb, 0x76, + 0x4d, 0x93, 0xb5, 0x41, 0x6f, 0x92, 0x2c, 0xe7, 0x73, 0xaa, 0x99, 0x81, 0x73, 0xb8, 0x49, 0x5d, 0x0d, 0x43, 0x71, + 0x5a, 0x07, 0xf6, 0x4f, 0x55, 0x1a, 0xb6, 0x51, 0x50, 0xd8, 0x37, 0xc9, 0x85, 0xc1, 0x0f, 0x03, 0x0e, 0xb3, 0x8b, + 0xcc, 0xea, 0x99, 0xb5, 0x0b, 0x60, 0x07, 0xb3, 0xab, 0x35, 0x75, 0x55, 0xa3, 0x11, 0xdd, 0xd6, 0x77, 0xf5, 0xdc, + 0x9c, 0x8e, 0x58, 0xbe, 0xb2, 0x1b, 0xd5, 0x03, 0xd7, 0x6d, 0xd5, 0x70, 0x99, 0x03, 0x92, 0x61, 0x40, 0x34, 0x4c, + 0xd3, 0xe6, 0x0d, 0x1b, 0x7d, 0xe6, 0xda, 0x6e, 0x99, 0xa6, 0xba, 0x01, 0x07, 0x1f, 0x33, 0xa6, 0x05, 0x2b, 0x56, + 0x9e, 0xa8, 0xb6, 0x6a, 0xc4, 0xec, 0x17, 0x61, 0x0e, 0x4b, 0x4d, 0x47, 0x4d, 0x08, 0x77, 0xc6, 0x8a, 0xd5, 0xbe, + 0xc9, 0xcd, 0xe9, 0xad, 0x43, 0xb1, 0x07, 0xad, 0xef, 0x6a, 0x07, 0xde, 0x59, 0xab, 0xe5, 0xc9, 0x75, 0xd3, 0xd6, + 0x48, 0xdb, 0x49, 0x97, 0xcd, 0xcb, 0x44, 0x2d, 0x17, 0x69, 0x2d, 0x61, 0x24, 0xb5, 0x96, 0x73, 0x9b, 0xb6, 0x87, + 0x1a, 0xd5, 0xa9, 0x65, 0xbb, 0xb3, 0xb8, 0x3d, 0x30, 0xff, 0xb4, 0x0e, 0x5a, 0xbb, 0x87, 0xf1, 0x2e, 0x56, 0x9c, + 0x22, 0x8f, 0xc7, 0xd0, 0x71, 0x9b, 0xcd, 0x7b, 0x4b, 0x05, 0x47, 0xaf, 0x81, 0xb8, 0x39, 0x5d, 0x36, 0x66, 0xb2, + 0x00, 0x58, 0xca, 0x05, 0x9c, 0x74, 0xf6, 0xe0, 0x81, 0x3e, 0x94, 0x04, 0xd3, 0xf4, 0xbd, 0x8d, 0xd6, 0x87, 0xd5, + 0x3a, 0xa8, 0x06, 0x06, 0xff, 0x6c, 0xfe, 0xaa, 0x78, 0xe5, 0x27, 0x2c, 0x90, 0x55, 0x78, 0x23, 0xe9, 0xae, 0x5b, + 0x4e, 0x3e, 0x19, 0xeb, 0x4a, 0x6c, 0x32, 0xde, 0x1d, 0x73, 0x7a, 0x6b, 0xdd, 0x3c, 0xe6, 0x5c, 0x80, 0x11, 0x19, + 0xc2, 0x3a, 0x30, 0xb7, 0x9f, 0x85, 0x0d, 0x8d, 0x75, 0x0c, 0x0d, 0x1f, 0x77, 0x92, 0x6e, 0x17, 0xe1, 0x16, 0xee, + 0x74, 0xbb, 0x81, 0x7c, 0x34, 0xd1, 0xfb, 0x8a, 0xee, 0x2b, 0x29, 0xf7, 0x94, 0x3c, 0x31, 0x8d, 0x9e, 0xb4, 0x5b, + 0x2d, 0x6c, 0x5c, 0xd9, 0xcb, 0xc2, 0x42, 0xed, 0x69, 0xb6, 0xdd, 0x6a, 0x41, 0xb3, 0xf0, 0xc7, 0xcd, 0xeb, 0x27, + 0xb2, 0x6a, 0xa5, 0x2d, 0xdc, 0x4e, 0xdb, 0xb8, 0x93, 0x76, 0xf0, 0x69, 0x7a, 0x8a, 0xcf, 0xd2, 0x33, 0xdc, 0x4d, + 0xbb, 0xf8, 0x3c, 0x3d, 0xc7, 0xf7, 0xd3, 0xfb, 0xf8, 0x22, 0xbd, 0xc0, 0x0f, 0xd2, 0x07, 0xf8, 0x61, 0xda, 0x6e, + 0xe1, 0x47, 0x69, 0xbb, 0x8d, 0x1f, 0xa7, 0xed, 0x0e, 0x7e, 0x92, 0xb6, 0x4f, 0xf1, 0xd3, 0xb4, 0x7d, 0x86, 0x9f, + 0xa5, 0xed, 0x2e, 0xa6, 0x90, 0x3b, 0x82, 0xdc, 0x0c, 0x72, 0xc7, 0x90, 0xcb, 0x20, 0x77, 0x92, 0xb6, 0xbb, 0x1b, + 0x2c, 0x6d, 0xf8, 0x8b, 0xa8, 0xd5, 0xee, 0x9c, 0x9e, 0x75, 0xcf, 0xef, 0x5f, 0x3c, 0x78, 0xf8, 0xe8, 0xf1, 0x93, + 0xa7, 0xcf, 0xa2, 0x21, 0xbe, 0x33, 0x5e, 0x28, 0x52, 0x0c, 0xf8, 0x51, 0xbb, 0x3b, 0xc4, 0xb7, 0xfe, 0x33, 0xe6, + 0x47, 0x9d, 0xb3, 0x16, 0xba, 0xba, 0x3a, 0x1b, 0x36, 0xca, 0xdc, 0x47, 0xc6, 0xf9, 0xa5, 0xca, 0x22, 0x84, 0xc4, + 0x90, 0x83, 0xf0, 0x17, 0xeb, 0xcc, 0xc2, 0x62, 0x9e, 0x14, 0xe8, 0xe8, 0xc8, 0xfc, 0x98, 0xfa, 0x1f, 0x23, 0xff, + 0x83, 0x06, 0x8b, 0x74, 0x43, 0x63, 0xe7, 0xfd, 0xac, 0x4b, 0xdf, 0x83, 0xd2, 0xac, 0xe7, 0x80, 0x3b, 0x03, 0xfb, + 0xff, 0x8a, 0xac, 0x01, 0x0d, 0x39, 0xb3, 0x4a, 0xaa, 0x6e, 0x9f, 0x91, 0x55, 0x91, 0x76, 0xba, 0xdd, 0xa3, 0x9f, + 0x06, 0x7c, 0xd0, 0x1e, 0x0e, 0x8f, 0xdb, 0xf7, 0xf1, 0xb4, 0x4c, 0xe8, 0xd8, 0x84, 0x51, 0x99, 0x70, 0x6a, 0x13, + 0x68, 0x6a, 0x6b, 0x43, 0xd2, 0x99, 0x49, 0x82, 0x12, 0x9b, 0xd4, 0xb4, 0x7d, 0xdf, 0xb6, 0xfd, 0x00, 0x2c, 0xbb, + 0x4c, 0xf3, 0xae, 0xe9, 0xcb, 0xcb, 0xb3, 0xb5, 0x6b, 0x14, 0x4f, 0x53, 0xd7, 0x9a, 0x4f, 0x3c, 0x1b, 0x0e, 0xf1, + 0xc8, 0x24, 0x76, 0xab, 0xc4, 0xf3, 0xe1, 0xd0, 0x75, 0xf5, 0xc0, 0x74, 0x75, 0xbf, 0xca, 0xba, 0x18, 0x0e, 0x4d, + 0x97, 0xc8, 0xf9, 0xf1, 0x2b, 0x7d, 0xf0, 0xb9, 0xd4, 0xa5, 0xf0, 0xcb, 0x4e, 0xb7, 0xdb, 0x07, 0x0c, 0x33, 0xf6, + 0xb9, 0x1e, 0x46, 0xd7, 0x01, 0x8c, 0xbe, 0xc0, 0xef, 0xfe, 0x1d, 0x4d, 0x6f, 0x69, 0x09, 0xa4, 0x7e, 0xf4, 0x5f, + 0x51, 0x43, 0x1b, 0x98, 0x9b, 0x3f, 0x53, 0xfb, 0x67, 0x84, 0x1a, 0x9f, 0x29, 0x80, 0x1b, 0xb4, 0x43, 0x5e, 0xbd, + 0x6b, 0x7a, 0xfc, 0x85, 0x82, 0xbb, 0xcd, 0x4c, 0xe5, 0xb4, 0xbf, 0x9e, 0xdd, 0x8c, 0xd6, 0x33, 0xf5, 0x05, 0xfd, + 0x19, 0xff, 0xa9, 0x8e, 0xe3, 0x41, 0xb3, 0x91, 0xb0, 0x3f, 0xc7, 0xe0, 0xd7, 0xd3, 0x4f, 0xc7, 0x6c, 0x8a, 0xfa, + 0x83, 0x3f, 0x15, 0x1e, 0x36, 0x82, 0x8c, 0xef, 0x76, 0x53, 0xc0, 0xeb, 0x67, 0x3b, 0x31, 0xfe, 0x0e, 0xf5, 0x51, + 0xff, 0x4f, 0x75, 0xfc, 0x27, 0xba, 0x77, 0x12, 0x68, 0x30, 0xa4, 0xdb, 0xc2, 0x55, 0x28, 0xa0, 0xe3, 0x72, 0x0b, + 0x33, 0xdc, 0x6e, 0x32, 0x08, 0x9c, 0x06, 0x6e, 0xe1, 0x24, 0x96, 0x0d, 0x7e, 0x72, 0xda, 0x42, 0xdf, 0xb5, 0x3b, + 0xa0, 0xe8, 0x68, 0x8a, 0xe3, 0xdd, 0x4d, 0x5f, 0x34, 0x4f, 0xf1, 0x83, 0x66, 0x81, 0xdb, 0x08, 0x37, 0xdb, 0x5e, + 0x03, 0x3d, 0x50, 0x71, 0x0b, 0x61, 0x15, 0x5f, 0xc0, 0x3f, 0x67, 0x68, 0x58, 0x6d, 0xc8, 0xc7, 0x74, 0xbb, 0x77, + 0xf0, 0x61, 0x25, 0xb1, 0x6a, 0xf0, 0x93, 0xf3, 0x16, 0xfa, 0xee, 0xdc, 0x74, 0xc4, 0x8e, 0xf5, 0x9e, 0xae, 0x24, + 0x3e, 0x6b, 0x4a, 0xe8, 0xa8, 0x55, 0xf6, 0x23, 0xe2, 0x2e, 0xc2, 0x22, 0x3e, 0x85, 0x7f, 0xda, 0x61, 0x3f, 0xf7, + 0x76, 0xfa, 0x31, 0xf3, 0x6e, 0xe3, 0xa4, 0x6b, 0x5d, 0x62, 0x95, 0xbd, 0x9f, 0x6e, 0xb0, 0xab, 0xb6, 0xb9, 0x58, + 0x6b, 0x9f, 0xc0, 0x07, 0xc2, 0xfa, 0x98, 0x28, 0xcc, 0x8e, 0xc1, 0x97, 0x16, 0x4c, 0x48, 0xd4, 0xe5, 0x69, 0x4f, + 0x35, 0x1a, 0x48, 0x0c, 0xd4, 0xf0, 0x98, 0xb4, 0x9b, 0xba, 0xc9, 0x30, 0xfc, 0x6e, 0x90, 0x32, 0x40, 0x9b, 0xa8, + 0x7a, 0x7d, 0xe5, 0x7a, 0xb5, 0xb7, 0xf0, 0x1e, 0x3b, 0x08, 0x21, 0xaa, 0x1f, 0xeb, 0x26, 0x43, 0x27, 0xa2, 0x11, + 0xeb, 0x4b, 0xd6, 0x3f, 0x4f, 0x5b, 0xc8, 0x60, 0xa7, 0xea, 0xc7, 0xac, 0xc9, 0x21, 0xbd, 0x93, 0xc6, 0xbc, 0xa9, + 0xe1, 0xd7, 0x59, 0x00, 0x2d, 0x01, 0x78, 0x57, 0x79, 0x06, 0x15, 0x27, 0x9d, 0x6e, 0x17, 0x0b, 0xc2, 0x93, 0xa9, + 0xf9, 0xa5, 0x08, 0x4f, 0x46, 0xe6, 0x97, 0x24, 0x25, 0xbc, 0x6c, 0xef, 0xb8, 0x20, 0xc1, 0xaa, 0x9a, 0x14, 0x0a, + 0x0b, 0x5a, 0xa0, 0x93, 0x8e, 0xbf, 0xa2, 0xc7, 0x33, 0x3f, 0x07, 0x50, 0x49, 0x14, 0xc6, 0x3a, 0x53, 0x36, 0x0b, + 0x9c, 0x13, 0x7a, 0x95, 0x74, 0xfb, 0xb3, 0x93, 0xb8, 0xd3, 0x94, 0xcd, 0x02, 0xa5, 0xb3, 0x13, 0x53, 0x13, 0x67, + 0xe4, 0x15, 0xb5, 0xad, 0xe1, 0x19, 0xdc, 0xab, 0x66, 0x24, 0x3b, 0x3e, 0x6f, 0x35, 0x92, 0x2e, 0xc2, 0x83, 0x6c, + 0xdd, 0xc2, 0xf9, 0x7a, 0xdd, 0xc2, 0x34, 0x5c, 0x06, 0xe1, 0x01, 0x52, 0x6a, 0xcd, 0xb6, 0xe3, 0xe4, 0xf4, 0x79, + 0xac, 0xc1, 0x46, 0x40, 0x83, 0xe7, 0x8d, 0x06, 0x9f, 0xa0, 0x94, 0xbb, 0xcb, 0x39, 0x64, 0x22, 0x05, 0x4e, 0x42, + 0x3d, 0xda, 0x2b, 0xe1, 0xd7, 0xd5, 0x8d, 0xfc, 0x9e, 0x88, 0x3f, 0x48, 0x6c, 0xd3, 0xaa, 0x62, 0xaf, 0xe9, 0x6e, + 0xb1, 0x7b, 0x74, 0xa7, 0xd8, 0xc3, 0x3d, 0xc5, 0x1e, 0xef, 0x16, 0xfb, 0x5b, 0x06, 0x5a, 0x3f, 0xfe, 0xdd, 0xe9, + 0x79, 0xab, 0x71, 0x0a, 0xc8, 0x7a, 0x7a, 0xde, 0xaa, 0x0a, 0x3d, 0xa5, 0xd5, 0x5a, 0x69, 0xf2, 0x0b, 0xb5, 0x7e, + 0x0f, 0xdc, 0x3b, 0x60, 0x9b, 0x85, 0xb3, 0xee, 0xdf, 0xa5, 0xaf, 0xf7, 0xa0, 0x0b, 0x76, 0x25, 0xc2, 0x50, 0x3b, + 0x3d, 0x38, 0x1f, 0xf6, 0x67, 0x2c, 0x6e, 0x40, 0x2a, 0x4a, 0x27, 0xda, 0xfd, 0x42, 0xe5, 0xf5, 0xf2, 0xdf, 0x12, + 0x92, 0x3a, 0x43, 0x84, 0x25, 0x69, 0xe8, 0xc1, 0xe9, 0xd0, 0x9c, 0x77, 0x05, 0xfc, 0x3e, 0x33, 0xbf, 0x4b, 0xe5, + 0x8e, 0x73, 0x8e, 0x98, 0xdd, 0x8c, 0xa2, 0xbe, 0x20, 0xaf, 0x69, 0x6c, 0xec, 0xdd, 0x51, 0x5a, 0x66, 0xa8, 0x2f, + 0x90, 0xf1, 0xb0, 0xcc, 0x10, 0xe4, 0x95, 0x70, 0xbf, 0xf1, 0xaa, 0x48, 0xc1, 0xf6, 0x05, 0x4f, 0x53, 0xb0, 0x7b, + 0xc1, 0xa3, 0x54, 0x80, 0x6f, 0x06, 0x4d, 0x59, 0x60, 0x51, 0xff, 0xc2, 0x69, 0xd3, 0xcc, 0x0d, 0x30, 0x31, 0x58, + 0xda, 0x63, 0x70, 0x52, 0xfc, 0x2d, 0x63, 0xf8, 0xdb, 0xd0, 0x08, 0x33, 0x68, 0x93, 0x21, 0xcc, 0x93, 0x82, 0x40, + 0x1a, 0xe6, 0xc9, 0x94, 0x30, 0x68, 0x92, 0x27, 0x23, 0xc2, 0x06, 0x9d, 0x00, 0x4d, 0x9e, 0x18, 0xd8, 0x01, 0x70, + 0x78, 0xfd, 0x52, 0x5d, 0xdb, 0xc6, 0xe1, 0xb6, 0x1e, 0x9a, 0x10, 0x04, 0xe2, 0x1f, 0x0c, 0xc0, 0x84, 0x43, 0xd9, + 0x9f, 0x9d, 0x2a, 0x14, 0x25, 0x4f, 0xa8, 0xa1, 0xde, 0x7f, 0x01, 0x59, 0x8d, 0xef, 0xad, 0xd8, 0x06, 0x1f, 0xdc, + 0x5b, 0x89, 0xcd, 0x77, 0xf0, 0x47, 0xd9, 0x3f, 0xc0, 0x3c, 0x24, 0x14, 0x6d, 0xd0, 0x5f, 0x29, 0x14, 0xdb, 0x53, + 0x0a, 0xfd, 0xe5, 0x48, 0xb4, 0x52, 0x64, 0x75, 0x9b, 0x46, 0x63, 0x5a, 0x7c, 0x8e, 0xf0, 0x1f, 0x69, 0x94, 0x03, + 0xb7, 0x18, 0xe1, 0x0f, 0x69, 0x54, 0xb0, 0x08, 0xff, 0x9e, 0x46, 0xa3, 0x7c, 0x19, 0xe1, 0xdf, 0xd2, 0x68, 0x5a, + 0x44, 0xf8, 0x3d, 0x28, 0x4e, 0xc7, 0x7c, 0x39, 0x8f, 0xf0, 0xbb, 0x34, 0x52, 0xc6, 0x33, 0x01, 0x3f, 0x4c, 0x23, + 0xc6, 0x22, 0xfc, 0x36, 0x8d, 0x64, 0x1e, 0xe1, 0xeb, 0x34, 0x92, 0x45, 0x84, 0x1f, 0xa5, 0x51, 0x41, 0x23, 0xfc, + 0x38, 0x8d, 0xa0, 0xd0, 0x34, 0xc2, 0x4f, 0xd2, 0x08, 0x5a, 0x56, 0x11, 0x7e, 0x93, 0x46, 0x5c, 0x44, 0xf8, 0xd7, + 0x34, 0xd2, 0xcb, 0xe2, 0xef, 0xa5, 0xe4, 0x2a, 0xc2, 0x4f, 0xd3, 0x68, 0xc6, 0x23, 0xfc, 0x3a, 0x8d, 0x0a, 0x19, + 0xe1, 0x57, 0x69, 0x44, 0xf3, 0x08, 0xbf, 0x4c, 0xa3, 0x9c, 0x45, 0xf8, 0x97, 0x34, 0x1a, 0xb3, 0x08, 0xff, 0x9c, + 0x46, 0x77, 0x2c, 0xcf, 0x65, 0x84, 0x9f, 0xa5, 0x11, 0x13, 0x11, 0xfe, 0x29, 0x8d, 0xb2, 0x59, 0x84, 0x7f, 0x48, + 0x23, 0x5a, 0x7c, 0x56, 0x11, 0x7e, 0x9e, 0x46, 0x8c, 0x46, 0xf8, 0x85, 0xed, 0x68, 0x1a, 0xe1, 0x1f, 0xd3, 0xe8, + 0x66, 0x16, 0x6d, 0xb0, 0x54, 0x64, 0xf5, 0x8a, 0x67, 0xec, 0x77, 0x96, 0x46, 0x93, 0xd6, 0xe4, 0x62, 0x32, 0x89, + 0x30, 0x15, 0x9a, 0xff, 0xbd, 0x64, 0x37, 0x4f, 0x35, 0x24, 0x52, 0x36, 0x1a, 0xdf, 0x8f, 0x30, 0xfd, 0x7b, 0x49, + 0xd3, 0x68, 0x32, 0x31, 0x05, 0xfe, 0x5e, 0xd2, 0x39, 0x2d, 0xde, 0xb0, 0x34, 0xba, 0x3f, 0x99, 0x4c, 0xc6, 0x67, + 0x11, 0xa6, 0xff, 0x2c, 0x3f, 0x98, 0x16, 0x4c, 0x81, 0x11, 0xe3, 0x53, 0xa8, 0xdb, 0x9d, 0x74, 0xc7, 0x59, 0x84, + 0x47, 0x5c, 0xfd, 0xbd, 0x84, 0xef, 0x09, 0x3b, 0xcb, 0xce, 0x22, 0x3c, 0xca, 0x69, 0xf6, 0x39, 0x8d, 0x5a, 0xe6, + 0x97, 0xf8, 0x89, 0x8d, 0x5f, 0xcd, 0xa5, 0xb9, 0x56, 0x98, 0xb0, 0x51, 0x36, 0x8e, 0xb0, 0x19, 0xcc, 0x04, 0xfe, + 0x7e, 0xe1, 0x6f, 0x99, 0x4e, 0xa3, 0x0b, 0xda, 0x19, 0xb1, 0x4e, 0x84, 0x47, 0xaf, 0x6f, 0x44, 0x1a, 0xd1, 0x6e, + 0x87, 0x76, 0x68, 0x84, 0x47, 0xcb, 0x22, 0xbf, 0xbb, 0x91, 0x72, 0x0c, 0x40, 0x18, 0x5d, 0x5c, 0xdc, 0x8f, 0x70, + 0x46, 0x7f, 0xd1, 0x50, 0xbb, 0x3b, 0x79, 0xc0, 0x68, 0x2b, 0xc2, 0x3f, 0xd1, 0x42, 0x7f, 0x58, 0x2a, 0x37, 0xd0, + 0x16, 0xa4, 0xc8, 0xec, 0x2d, 0xa8, 0xdc, 0xa3, 0x71, 0xe7, 0xfc, 0x41, 0x9b, 0x45, 0x38, 0xbb, 0x7e, 0x05, 0xbd, + 0xdd, 0x9f, 0x74, 0x5b, 0xf0, 0x21, 0x40, 0x2e, 0x65, 0x05, 0x34, 0x72, 0x7e, 0xf6, 0xa0, 0xcb, 0xc6, 0x26, 0x51, + 0xf1, 0xfc, 0xb3, 0x99, 0xfd, 0x05, 0xcc, 0x27, 0x2b, 0xf8, 0x5c, 0x49, 0x91, 0x46, 0xe3, 0xac, 0x7d, 0x76, 0x0a, + 0x09, 0x77, 0x54, 0x78, 0xe0, 0xdc, 0x42, 0xd5, 0x8b, 0x51, 0x84, 0x6f, 0x6d, 0xea, 0xc5, 0xc8, 0x7c, 0x4c, 0xdf, + 0xfe, 0x22, 0x5e, 0x8f, 0xd3, 0x68, 0x74, 0x71, 0x71, 0xde, 0x82, 0x84, 0xdf, 0xe8, 0x5d, 0x1a, 0xd1, 0x07, 0xf0, + 0x1f, 0x64, 0x7f, 0x78, 0x06, 0x1d, 0xc2, 0x08, 0x6f, 0xa7, 0x1f, 0xc2, 0x9c, 0xcf, 0x33, 0xfa, 0x99, 0xa7, 0xd1, + 0x68, 0x3c, 0xba, 0x7f, 0x0e, 0xf5, 0xe6, 0x74, 0xfa, 0x4c, 0x53, 0x68, 0xb7, 0xd5, 0x32, 0x2d, 0xbf, 0xe5, 0x5f, + 0x98, 0xa9, 0xde, 0xed, 0x9e, 0x8f, 0x3a, 0x30, 0x82, 0x6b, 0x50, 0xa8, 0xc0, 0x78, 0x2e, 0x32, 0xd3, 0xe0, 0x75, + 0xf6, 0x74, 0x9c, 0x46, 0x0f, 0x1e, 0x9c, 0x76, 0xb2, 0x2c, 0xc2, 0xb7, 0x1f, 0xc6, 0xb6, 0xb6, 0xc9, 0x53, 0x00, + 0xfb, 0x34, 0x62, 0x0f, 0x1e, 0x9c, 0xdf, 0xa7, 0xf0, 0xfd, 0xdc, 0xb4, 0x75, 0x31, 0x19, 0x65, 0x17, 0xd0, 0xd6, + 0x3b, 0x98, 0xce, 0xd9, 0xc5, 0xe9, 0xd8, 0xf4, 0xf5, 0xce, 0x8c, 0xba, 0x33, 0x39, 0x9b, 0x9c, 0x99, 0x4c, 0x33, + 0xd4, 0xf2, 0xf3, 0x57, 0x96, 0x46, 0x19, 0x1b, 0xb7, 0x23, 0x7c, 0xeb, 0x16, 0xee, 0xc1, 0x59, 0xab, 0x35, 0x3e, + 0x8d, 0xf0, 0xf8, 0xe1, 0x62, 0xf1, 0xc6, 0x40, 0xb0, 0x7d, 0xf6, 0xc0, 0x7e, 0xab, 0xcf, 0x77, 0xd0, 0xf4, 0xc8, + 0x00, 0x6d, 0xcc, 0xe7, 0xa6, 0xe5, 0xf3, 0x07, 0xf0, 0x9f, 0xf9, 0x36, 0x4d, 0x97, 0xdf, 0x72, 0x3c, 0xb5, 0x8b, + 0xd2, 0x66, 0x0f, 0x5a, 0x50, 0x63, 0xc2, 0x3f, 0x8c, 0x0a, 0x0e, 0x68, 0x34, 0xea, 0xc0, 0xff, 0x45, 0x78, 0x92, + 0x5f, 0xbf, 0x72, 0x38, 0x3b, 0x99, 0xd0, 0x49, 0x2b, 0xc2, 0x13, 0xf9, 0x41, 0xe9, 0xdf, 0x1e, 0x8a, 0x34, 0xea, + 0x74, 0x2e, 0x46, 0xa6, 0xcc, 0xf2, 0x27, 0xc5, 0x0d, 0x1e, 0xb7, 0x4c, 0x2b, 0x53, 0xfa, 0x46, 0x8d, 0xae, 0x25, + 0xac, 0x24, 0xfc, 0x17, 0xe1, 0x29, 0x68, 0xc4, 0x5c, 0x2b, 0x17, 0x76, 0x3b, 0x4c, 0xdf, 0x1a, 0xd4, 0x1c, 0xdf, + 0x07, 0x78, 0xf9, 0x65, 0x1c, 0x53, 0xda, 0xed, 0xb4, 0x22, 0x6c, 0x46, 0x7d, 0xd1, 0x82, 0xff, 0x22, 0x6c, 0x21, + 0x67, 0xe0, 0x3a, 0xfd, 0xf0, 0xec, 0xe7, 0x9b, 0x34, 0xa2, 0xe3, 0xc9, 0x04, 0x96, 0xc4, 0x4c, 0xc6, 0x17, 0x9b, + 0x49, 0xc1, 0xee, 0x7e, 0xb9, 0x71, 0xdb, 0xc5, 0x24, 0x68, 0x07, 0x9d, 0xf3, 0x07, 0xa3, 0xb3, 0x08, 0xbf, 0x19, + 0x73, 0x2a, 0x60, 0x95, 0xb2, 0x71, 0x37, 0xeb, 0x66, 0x26, 0x61, 0x2a, 0xd3, 0xe8, 0x0c, 0x96, 0xbc, 0x13, 0x61, + 0xfe, 0xe5, 0xfa, 0xce, 0xa2, 0x1b, 0xd4, 0x76, 0x08, 0x32, 0x69, 0xb1, 0xf3, 0x8b, 0x2c, 0xc2, 0x39, 0xfd, 0xf2, + 0xec, 0x97, 0x22, 0x8d, 0xd8, 0x39, 0x3b, 0x9f, 0x50, 0xff, 0xfd, 0xbb, 0x9a, 0x99, 0x1a, 0xad, 0x49, 0x17, 0x92, + 0x6e, 0x84, 0x19, 0xeb, 0xfd, 0x6c, 0x62, 0x30, 0xe4, 0xe5, 0x5c, 0x8a, 0xec, 0xe9, 0x64, 0x22, 0x2d, 0x16, 0x53, + 0xd8, 0x84, 0x7f, 0x00, 0xb4, 0xe9, 0x78, 0x7c, 0xc1, 0xce, 0x23, 0xfc, 0x87, 0xdd, 0x25, 0x6e, 0x02, 0x7f, 0x58, + 0xcc, 0x66, 0x6e, 0xb7, 0xff, 0x61, 0x81, 0x02, 0xf3, 0x9d, 0xd0, 0x09, 0x1d, 0x77, 0x22, 0xfc, 0x87, 0x81, 0xcb, + 0xf8, 0x14, 0xfe, 0x83, 0x02, 0xd0, 0xd9, 0x83, 0x16, 0x63, 0x0f, 0x5a, 0xe6, 0x2b, 0xcc, 0x73, 0x33, 0x1f, 0x9d, + 0x67, 0xed, 0x08, 0xff, 0xe1, 0xd0, 0x71, 0x32, 0xa1, 0x2d, 0x40, 0xc7, 0x3f, 0x1c, 0x3a, 0x76, 0x5a, 0xa3, 0x0e, + 0x35, 0xdf, 0x16, 0x6b, 0x2e, 0xee, 0x67, 0x0c, 0x26, 0xf7, 0x87, 0x45, 0xc8, 0xfb, 0xf7, 0x2f, 0x2e, 0x1e, 0x3c, + 0x80, 0x4f, 0xd3, 0x76, 0xf9, 0xa9, 0xf4, 0xc3, 0xdc, 0x20, 0x59, 0x2b, 0x3b, 0x03, 0x3a, 0xf9, 0x87, 0x19, 0xe3, + 0x64, 0x32, 0x61, 0xad, 0x08, 0xe7, 0x7c, 0xce, 0x2c, 0x26, 0xd8, 0xdf, 0xa6, 0xa3, 0xd3, 0x4e, 0x36, 0x3e, 0xed, + 0x44, 0x38, 0x7f, 0xf3, 0xcc, 0xcc, 0xa6, 0x05, 0xb3, 0xf7, 0x5b, 0xce, 0x63, 0xcd, 0x9c, 0xbe, 0x86, 0x41, 0xc2, + 0x4a, 0x43, 0xe5, 0xf7, 0x01, 0x3d, 0x3c, 0x3f, 0xcf, 0xc6, 0x30, 0xd0, 0xf7, 0xd0, 0x2d, 0x80, 0xf1, 0xbd, 0xdd, + 0x7c, 0x23, 0xda, 0xed, 0xc2, 0x74, 0xdf, 0x2f, 0x96, 0xc5, 0xe2, 0x65, 0x1a, 0x3d, 0x38, 0xbd, 0xdf, 0x1a, 0x8f, + 0x22, 0xfc, 0xde, 0x4d, 0xf0, 0x34, 0x1b, 0x9d, 0xde, 0x6f, 0x47, 0xf8, 0xbd, 0xd9, 0x6f, 0xf7, 0x47, 0xe7, 0x17, + 0x70, 0x6e, 0xbc, 0x57, 0x8b, 0xe2, 0xcd, 0xd4, 0x14, 0x98, 0xd0, 0x07, 0xd0, 0xec, 0xaf, 0x66, 0x37, 0x8e, 0xdb, + 0xb0, 0x91, 0xdf, 0x9b, 0x4d, 0x66, 0xf0, 0xe4, 0x7e, 0xbb, 0x7b, 0xd1, 0x8d, 0xf0, 0x9c, 0x8f, 0x05, 0x10, 0x78, + 0xb3, 0x51, 0x1e, 0xb4, 0x1f, 0xdc, 0x6f, 0x45, 0x78, 0xfe, 0x46, 0x67, 0x1f, 0xe8, 0xdc, 0x50, 0xe3, 0x09, 0xc0, + 0x6c, 0xce, 0x95, 0xbe, 0x7b, 0xad, 0x1c, 0x3d, 0x66, 0xed, 0x08, 0xcf, 0x65, 0x96, 0x51, 0xf5, 0xc6, 0x26, 0x8c, + 0xba, 0x11, 0x16, 0xf4, 0x0b, 0xfd, 0x24, 0xfd, 0x66, 0x1a, 0x33, 0x3a, 0x36, 0x69, 0x06, 0x87, 0x23, 0xfc, 0x76, + 0x0c, 0x17, 0x83, 0x69, 0x34, 0x19, 0x4f, 0xba, 0x00, 0x1e, 0x20, 0x40, 0x16, 0xbb, 0x01, 0x1a, 0xf0, 0x35, 0x7e, + 0x34, 0x4a, 0xa3, 0xf3, 0xd1, 0x05, 0xeb, 0x9c, 0x46, 0xb8, 0xa4, 0x46, 0xb4, 0x0b, 0xf9, 0xe6, 0xf3, 0x83, 0xd9, + 0x52, 0x67, 0x36, 0xc1, 0x00, 0x68, 0x4c, 0xef, 0xb7, 0xc6, 0xe7, 0x11, 0x5e, 0xbc, 0x62, 0x7e, 0x8f, 0x31, 0xc6, + 0x2e, 0x00, 0x96, 0x90, 0x64, 0x10, 0xe8, 0x62, 0x32, 0x7a, 0x70, 0x61, 0xbe, 0x01, 0x0c, 0x74, 0xc2, 0x18, 0x00, + 0x69, 0xf1, 0x8a, 0x95, 0x80, 0x18, 0x8f, 0xee, 0xb7, 0x80, 0xbe, 0x2c, 0xe8, 0x82, 0xde, 0xd1, 0x9b, 0xa7, 0x0b, + 0x33, 0xa7, 0xc9, 0xb8, 0x1b, 0xe1, 0xc5, 0xf3, 0x9f, 0x16, 0xcb, 0xc9, 0xc4, 0x4c, 0x88, 0x8e, 0x1e, 0x44, 0x78, + 0xc1, 0x8a, 0x25, 0xac, 0xd1, 0x45, 0xf7, 0x74, 0x12, 0x61, 0x87, 0x86, 0x59, 0x2b, 0x1b, 0xc1, 0xcd, 0xe7, 0x72, + 0x9e, 0x46, 0xe3, 0x31, 0x6d, 0x8d, 0xe1, 0x1e, 0x54, 0xde, 0xfc, 0x52, 0x58, 0x34, 0x62, 0x06, 0x1f, 0xdc, 0x1a, + 0xc2, 0x7c, 0x01, 0x1e, 0x1f, 0x46, 0x2c, 0xcb, 0xa8, 0x4b, 0x3c, 0x3f, 0x3f, 0x3d, 0x05, 0xdc, 0xb3, 0x33, 0xb4, + 0x08, 0xf2, 0x5a, 0xdd, 0x8d, 0x0a, 0x09, 0x47, 0x17, 0x10, 0x55, 0x20, 0xab, 0xaf, 0xef, 0x5e, 0x19, 0xba, 0xda, + 0x3e, 0x7f, 0x00, 0x0b, 0xa0, 0xe8, 0x78, 0xfc, 0xd2, 0x1e, 0x6e, 0x17, 0xa3, 0xb3, 0x6e, 0xfb, 0x34, 0xc2, 0x7e, + 0x23, 0xd0, 0x8b, 0xd6, 0xfd, 0x0e, 0x94, 0x10, 0xe3, 0x3b, 0x5b, 0x62, 0x72, 0x46, 0xcf, 0xce, 0x5b, 0x11, 0xf6, + 0x5b, 0x83, 0x5d, 0x8c, 0xba, 0xf7, 0xe1, 0x53, 0xcd, 0x58, 0x9e, 0x1b, 0xfc, 0xee, 0x02, 0x5c, 0x14, 0x7f, 0x26, + 0x68, 0x1a, 0xd1, 0x56, 0xb7, 0xd3, 0x19, 0xc3, 0x67, 0xfe, 0x85, 0x15, 0x69, 0x94, 0xb5, 0xe0, 0xbf, 0x08, 0x07, + 0x3b, 0x89, 0x8d, 0x22, 0x6c, 0xf0, 0xee, 0x9c, 0x76, 0xcd, 0xde, 0x77, 0xbb, 0xaa, 0x75, 0xd1, 0x82, 0x0d, 0xeb, + 0x36, 0x95, 0xfb, 0x52, 0x42, 0xde, 0x38, 0x12, 0x4b, 0x23, 0x1c, 0x20, 0xe8, 0xe4, 0xfe, 0x24, 0xc2, 0x7e, 0xc7, + 0x9d, 0x9d, 0x5f, 0x74, 0x80, 0x94, 0x69, 0x20, 0x14, 0xe3, 0xce, 0xe8, 0x0c, 0x48, 0x93, 0x66, 0xaf, 0x2c, 0x9e, + 0x44, 0x58, 0x3f, 0x55, 0xfa, 0x65, 0x1a, 0x8d, 0x2f, 0x46, 0x93, 0xf1, 0x45, 0x84, 0xb5, 0x9c, 0x53, 0x2d, 0x0d, + 0x05, 0x3c, 0x3d, 0xbb, 0x1f, 0x61, 0x83, 0xe6, 0x2d, 0xd6, 0x1a, 0xb7, 0x22, 0xec, 0x8e, 0x12, 0xc6, 0x2e, 0x3a, + 0x30, 0xad, 0x1f, 0x9f, 0x6b, 0xc0, 0xe5, 0x31, 0x1b, 0x9d, 0x46, 0xb8, 0xa4, 0xf7, 0x86, 0x10, 0xc1, 0x97, 0x9a, + 0xcb, 0xcf, 0x8e, 0xf5, 0x00, 0x52, 0xe7, 0x37, 0x3c, 0x2c, 0xc3, 0xcf, 0x37, 0x16, 0x8d, 0xa8, 0xd9, 0xe2, 0xc1, + 0xcd, 0xf0, 0x5b, 0x1a, 0x7b, 0xb6, 0x9d, 0x93, 0xd5, 0x06, 0x97, 0x01, 0x57, 0x3f, 0xb3, 0x3b, 0x15, 0x4b, 0x65, + 0x38, 0xd9, 0x20, 0x45, 0x29, 0xe4, 0x5d, 0x0c, 0x9c, 0x17, 0x29, 0x08, 0x92, 0x82, 0xb4, 0x7a, 0xe2, 0xd2, 0x7b, + 0xb6, 0xf6, 0x04, 0x84, 0x61, 0x80, 0xf4, 0x82, 0x50, 0xa2, 0x21, 0x5a, 0x8d, 0x15, 0x26, 0xbd, 0xc1, 0xbf, 0x91, + 0x29, 0xa5, 0x75, 0x21, 0xa0, 0x84, 0xfa, 0x38, 0xf5, 0xb1, 0xc4, 0x0a, 0x22, 0x39, 0xa1, 0x9e, 0x24, 0x26, 0xea, + 0xf4, 0x0b, 0xa1, 0x63, 0xa9, 0x06, 0xc5, 0x10, 0xb7, 0xcf, 0x11, 0x86, 0x78, 0x0e, 0x64, 0x20, 0xaf, 0xae, 0xda, + 0xe7, 0x47, 0x46, 0xe8, 0xbb, 0xba, 0xba, 0xb0, 0x3f, 0xe0, 0xdf, 0x61, 0x15, 0x43, 0x1b, 0xc6, 0xf7, 0x9e, 0x55, + 0x73, 0xfc, 0xd9, 0xf0, 0xd7, 0xef, 0xd9, 0x7a, 0x1d, 0xbf, 0x67, 0x04, 0x66, 0x8c, 0xdf, 0xb3, 0xc4, 0xdc, 0x91, + 0x58, 0x6f, 0x1d, 0x32, 0x00, 0xcd, 0x59, 0x0b, 0x43, 0x64, 0x77, 0xcf, 0x79, 0xbf, 0x67, 0x03, 0x5e, 0xf7, 0xf4, + 0xae, 0xc2, 0x29, 0x1f, 0x1d, 0xad, 0x8a, 0x54, 0x5b, 0x31, 0x41, 0x5b, 0x31, 0x41, 0x5b, 0x31, 0x41, 0x57, 0x01, + 0xed, 0xcf, 0xfa, 0x20, 0xa5, 0x18, 0x65, 0x8b, 0xe3, 0xa9, 0xdf, 0x80, 0xda, 0x03, 0xb4, 0x93, 0xfd, 0x4a, 0xd9, + 0x51, 0xea, 0x2a, 0xf6, 0x2a, 0x30, 0xf6, 0x26, 0x3a, 0x6d, 0xc7, 0xc9, 0xbf, 0xa3, 0xee, 0x78, 0x56, 0x13, 0xcb, + 0xde, 0xec, 0x15, 0xcb, 0x60, 0x25, 0x8d, 0x68, 0x76, 0x68, 0x63, 0x83, 0xe8, 0xc1, 0x7d, 0x23, 0x98, 0x55, 0x01, + 0xeb, 0x1a, 0x90, 0xd4, 0x03, 0x29, 0xe4, 0xc2, 0x48, 0x69, 0x05, 0x4a, 0xc7, 0x3a, 0x2e, 0x40, 0x43, 0xe9, 0x15, + 0x94, 0x65, 0x5c, 0xd5, 0x86, 0x01, 0x88, 0xb2, 0x32, 0x9a, 0x95, 0xd5, 0xba, 0x20, 0xba, 0x80, 0x26, 0xcc, 0x48, + 0x2c, 0xd0, 0x80, 0x30, 0x0d, 0x08, 0x57, 0x19, 0xc4, 0x19, 0x97, 0x7d, 0x66, 0xb2, 0x95, 0xc9, 0x56, 0x65, 0xb6, + 0xf4, 0xd9, 0x56, 0x48, 0x94, 0x26, 0x5b, 0x96, 0xd9, 0x20, 0xb3, 0xe1, 0x69, 0xaa, 0xf0, 0x28, 0x95, 0x56, 0x54, + 0xab, 0x64, 0xab, 0x97, 0x34, 0xd4, 0xe6, 0x1e, 0x1d, 0xc5, 0xa5, 0x9c, 0x64, 0xd4, 0xc4, 0xf7, 0x56, 0x3c, 0x29, + 0x8c, 0x0c, 0xc4, 0x93, 0xa9, 0xfb, 0x3b, 0xda, 0x6c, 0xcb, 0x4a, 0xc5, 0x74, 0xf4, 0x95, 0x92, 0xe8, 0x2f, 0xaf, + 0x44, 0x7d, 0xce, 0x4d, 0x44, 0x9e, 0x4b, 0x92, 0xb4, 0x5a, 0xa7, 0xed, 0xd3, 0xd6, 0x45, 0x9f, 0x1f, 0xb7, 0x3b, + 0xc9, 0x83, 0x4e, 0x6a, 0x14, 0x11, 0x0b, 0x79, 0x03, 0x0a, 0x98, 0x93, 0x4e, 0x72, 0x86, 0x8e, 0xdb, 0x49, 0xab, + 0xdb, 0x6d, 0xc2, 0x3f, 0xf8, 0x91, 0x2e, 0xab, 0x9d, 0xb5, 0xce, 0xba, 0x7d, 0x7e, 0xb2, 0x55, 0x29, 0xe6, 0x0d, + 0x28, 0x88, 0x4e, 0x4c, 0x25, 0x0c, 0xf5, 0xab, 0xe5, 0xfd, 0x67, 0x47, 0xcf, 0xf3, 0x48, 0xc7, 0xd2, 0xaa, 0xe2, + 0x00, 0xaa, 0xfe, 0x6b, 0x6a, 0x80, 0xe8, 0xbf, 0x46, 0x65, 0xd4, 0xdc, 0x55, 0x01, 0xa2, 0xf6, 0x73, 0x1e, 0x8b, + 0x06, 0x3b, 0x8e, 0x6d, 0xbe, 0x86, 0xba, 0x4d, 0x88, 0x64, 0x87, 0xa7, 0x2e, 0x57, 0x85, 0xb9, 0x53, 0x84, 0x9a, + 0x0a, 0x72, 0x47, 0x2e, 0x57, 0x86, 0xb9, 0x23, 0x84, 0x9a, 0x12, 0x72, 0x69, 0xca, 0x13, 0x0a, 0x39, 0x3a, 0xa1, + 0x4d, 0x03, 0xc9, 0x6a, 0x51, 0x9e, 0x33, 0x3f, 0x6c, 0x3e, 0x81, 0xe5, 0x31, 0x04, 0xc5, 0x09, 0xd2, 0x02, 0x5e, + 0x3b, 0x29, 0xb5, 0x39, 0x2d, 0x5c, 0xaa, 0x71, 0x20, 0xa3, 0x01, 0xff, 0x1c, 0x33, 0xf3, 0x04, 0x46, 0xab, 0x7f, + 0x7a, 0xde, 0x4a, 0xdb, 0xe0, 0xb6, 0x0d, 0xb2, 0xb6, 0xb0, 0xb2, 0xb6, 0xf0, 0xb2, 0xb6, 0xf0, 0xb2, 0x36, 0x08, + 0xf0, 0x41, 0xdf, 0xbf, 0xcb, 0x9a, 0x29, 0x0c, 0x2f, 0xed, 0x6a, 0xac, 0xe1, 0x44, 0xac, 0xd7, 0xeb, 0xd5, 0x06, + 0xac, 0x9e, 0xca, 0x1a, 0x85, 0xaa, 0xd4, 0x9f, 0xab, 0x22, 0x6d, 0xe1, 0x69, 0x0a, 0x5a, 0xee, 0x16, 0xa6, 0x66, + 0x73, 0x7b, 0xaa, 0xb0, 0x1d, 0x51, 0xa7, 0xef, 0xd5, 0xc9, 0x57, 0xe4, 0xd4, 0x68, 0x8f, 0x57, 0x45, 0xca, 0x2d, + 0xcd, 0xe0, 0x96, 0x66, 0x70, 0x4b, 0x33, 0xa0, 0x11, 0x5c, 0x16, 0x36, 0x65, 0x13, 0x4a, 0xe0, 0x4a, 0x60, 0x70, + 0x3a, 0x84, 0x80, 0x82, 0xb1, 0x26, 0x66, 0xd4, 0x5b, 0x9d, 0xb7, 0x21, 0x80, 0x9a, 0x2d, 0xa9, 0x13, 0x6a, 0xfc, + 0xc8, 0xcb, 0x31, 0x7f, 0xaa, 0xa1, 0x7d, 0x02, 0xaf, 0xdb, 0x3c, 0xd4, 0x71, 0x0b, 0xcc, 0x48, 0xa2, 0x22, 0xea, + 0x1b, 0xb2, 0x90, 0x1a, 0x9d, 0x8d, 0x33, 0x0f, 0xff, 0xbc, 0xe5, 0x95, 0x6b, 0x29, 0x41, 0xf8, 0xa6, 0xc3, 0x67, + 0x56, 0x85, 0x09, 0x28, 0xad, 0x5f, 0x9d, 0xe9, 0x9a, 0x3d, 0x12, 0x7a, 0x60, 0xc2, 0xee, 0xe3, 0x4f, 0xf5, 0x05, + 0x29, 0x20, 0xfe, 0x62, 0x6a, 0x12, 0x5d, 0x04, 0x65, 0x70, 0x28, 0x26, 0x37, 0xd4, 0xb8, 0xd7, 0xfc, 0x6c, 0xff, + 0x7c, 0xa2, 0x81, 0xff, 0x61, 0x31, 0x1d, 0x79, 0xb7, 0xdd, 0x8f, 0x26, 0xce, 0x10, 0x39, 0x3c, 0xb4, 0xd6, 0xe5, + 0xe6, 0x6b, 0xdb, 0xbc, 0xdc, 0x24, 0x9a, 0x6c, 0xd8, 0xa1, 0x7e, 0x8d, 0x7e, 0xf7, 0xde, 0x73, 0xc5, 0x74, 0x84, + 0x02, 0x9a, 0x6d, 0xc0, 0x2a, 0x2b, 0x60, 0x29, 0x57, 0xaf, 0x74, 0xaa, 0x84, 0xde, 0xcd, 0x98, 0x37, 0xc5, 0x74, + 0xb4, 0xf7, 0x19, 0x14, 0xdb, 0x63, 0xff, 0x25, 0x0d, 0x7a, 0xf0, 0xaa, 0xed, 0x19, 0xbb, 0xfd, 0x56, 0x9d, 0xeb, + 0xbd, 0x75, 0x54, 0xfe, 0xad, 0x3a, 0x4f, 0xf6, 0xd5, 0x99, 0xf3, 0xdb, 0xd8, 0xef, 0x1d, 0x1d, 0xa8, 0xb1, 0x8d, + 0xc9, 0xd2, 0x74, 0x04, 0x71, 0xeb, 0xe1, 0xaf, 0x8d, 0x2e, 0xd3, 0xf3, 0x24, 0x1c, 0x56, 0x41, 0xf6, 0x93, 0x6e, + 0xca, 0x30, 0x25, 0x9d, 0xe3, 0xc2, 0xc4, 0x97, 0x11, 0x09, 0x6d, 0xaa, 0x84, 0xe2, 0x9c, 0xc4, 0x31, 0x3d, 0xce, + 0x20, 0x4a, 0x4e, 0xbb, 0x4f, 0xd3, 0x98, 0x36, 0x32, 0x74, 0x12, 0xb7, 0x1b, 0xf4, 0x38, 0x43, 0xa8, 0xd1, 0x06, + 0x9d, 0xa9, 0x24, 0xed, 0x66, 0x0e, 0x71, 0x33, 0x0d, 0x29, 0xce, 0x8f, 0x45, 0x52, 0x34, 0xe4, 0xb1, 0x4a, 0x8a, + 0x46, 0xd2, 0xc5, 0x22, 0x99, 0x96, 0xc9, 0x53, 0x93, 0x3c, 0xb5, 0xc9, 0xa3, 0x32, 0x79, 0x64, 0x92, 0x47, 0x36, + 0x99, 0x92, 0xe2, 0x58, 0x24, 0xb4, 0x11, 0xb7, 0x9b, 0x05, 0x3a, 0x86, 0x11, 0xf8, 0xd1, 0x13, 0x11, 0x86, 0x2b, + 0xdf, 0x18, 0x7b, 0x9f, 0x85, 0xcc, 0x5d, 0x00, 0xd1, 0x0a, 0x48, 0xa5, 0x13, 0x16, 0xd4, 0xf9, 0x27, 0x00, 0x13, + 0xd6, 0xf6, 0x8f, 0x0f, 0x8f, 0xb7, 0xc9, 0x72, 0x29, 0x02, 0x27, 0x33, 0xb0, 0x8b, 0xff, 0xec, 0x5c, 0x6b, 0x00, + 0xaa, 0x1b, 0x9a, 0x2f, 0x66, 0x74, 0xc7, 0x93, 0xb7, 0x98, 0x8e, 0xdc, 0xce, 0x2a, 0x9b, 0x61, 0xb4, 0xb0, 0x61, + 0xa7, 0xeb, 0x3e, 0x97, 0x00, 0x6a, 0xef, 0xe7, 0x99, 0x50, 0xa3, 0x24, 0xb7, 0x35, 0xa6, 0x05, 0xbb, 0x53, 0x19, + 0xcd, 0x59, 0x5c, 0x1d, 0xc0, 0xd5, 0x30, 0x19, 0x79, 0x02, 0xd6, 0xf9, 0xc5, 0x71, 0x72, 0xda, 0xd0, 0xc9, 0xf4, + 0x38, 0xe9, 0x3e, 0x68, 0xe8, 0x64, 0x74, 0x9c, 0xb4, 0xdb, 0x15, 0xce, 0x26, 0x05, 0xd1, 0xc9, 0x94, 0x68, 0xd0, + 0x18, 0xda, 0x46, 0xe5, 0x82, 0x82, 0xb9, 0xd9, 0xbf, 0x31, 0x8c, 0x86, 0x1b, 0x86, 0x60, 0x53, 0x1b, 0x81, 0x73, + 0x67, 0x0c, 0x61, 0x37, 0x9d, 0x6e, 0xb7, 0xa9, 0x93, 0x02, 0x6b, 0xbb, 0x92, 0x4d, 0x9d, 0x4c, 0xb1, 0xb6, 0xcb, + 0xd7, 0xd4, 0xc9, 0xc8, 0x36, 0x65, 0x74, 0x80, 0x4c, 0x04, 0xc0, 0x7a, 0xce, 0x02, 0xc8, 0x77, 0xbc, 0xc3, 0xcc, + 0x06, 0xb4, 0x86, 0xdf, 0x2a, 0xd7, 0xf4, 0x05, 0x15, 0xd5, 0x60, 0x76, 0xc4, 0xbe, 0x56, 0xb4, 0x5d, 0x35, 0xc9, + 0xfe, 0x75, 0xd9, 0xb2, 0xd9, 0x42, 0xea, 0x7a, 0xc1, 0x17, 0x35, 0x0c, 0x71, 0xa5, 0xdc, 0xc1, 0xfd, 0x88, 0x92, + 0x18, 0xe2, 0xec, 0x99, 0x53, 0x88, 0x13, 0xaf, 0x47, 0x86, 0x24, 0xde, 0x68, 0x6c, 0x50, 0x1c, 0x9c, 0xb7, 0x2f, + 0x42, 0xaa, 0xba, 0x13, 0x7c, 0x8f, 0x90, 0x68, 0x29, 0xac, 0x79, 0xe6, 0x38, 0xaa, 0x68, 0xf1, 0x1b, 0xa7, 0xdd, + 0xad, 0x1d, 0x10, 0x47, 0x47, 0xdb, 0xe7, 0x85, 0x7f, 0x06, 0x61, 0xe7, 0xe9, 0x83, 0xca, 0xb6, 0xcf, 0x3f, 0xce, + 0x64, 0xad, 0x7e, 0x79, 0x80, 0x28, 0x3e, 0x0c, 0xd6, 0x7d, 0x43, 0xe1, 0x07, 0x55, 0x0c, 0x40, 0x97, 0xd3, 0x3c, + 0x37, 0x19, 0xa6, 0xaf, 0x61, 0x30, 0xb6, 0x57, 0xe1, 0x84, 0x4a, 0xbb, 0xc5, 0x7f, 0xd9, 0x71, 0xd0, 0x89, 0x7b, + 0x3c, 0x26, 0x6c, 0xf4, 0x53, 0x68, 0x25, 0x5c, 0xc1, 0xc6, 0xf9, 0x87, 0xaf, 0xd7, 0xb5, 0xa7, 0x82, 0xec, 0x83, + 0x34, 0xe8, 0xe8, 0x88, 0xab, 0x67, 0x60, 0xd8, 0xcc, 0xe2, 0x46, 0x78, 0xf8, 0xfe, 0x5d, 0x3b, 0xad, 0x3f, 0x99, + 0x73, 0x35, 0x0d, 0x0e, 0xba, 0x87, 0xb5, 0xfc, 0xbd, 0x2b, 0xd1, 0xd7, 0x29, 0x77, 0x6b, 0xfd, 0xbe, 0x32, 0x1b, + 0xdf, 0x79, 0xb4, 0xea, 0xe8, 0x88, 0x57, 0xa1, 0xa3, 0xa2, 0xef, 0x22, 0xd4, 0x37, 0x32, 0xc8, 0xb3, 0x5c, 0x52, + 0xb8, 0x11, 0x85, 0x2b, 0x86, 0xb4, 0xc1, 0x4f, 0x34, 0xfe, 0x49, 0xfe, 0x7f, 0x6a, 0xe4, 0x58, 0xa7, 0x0d, 0x1e, + 0x98, 0x1b, 0x84, 0xac, 0x50, 0x15, 0xb4, 0xd1, 0x40, 0x3a, 0xb4, 0x02, 0x47, 0xe5, 0x61, 0x4e, 0x17, 0x8b, 0xfc, + 0xce, 0xbc, 0xdb, 0x15, 0x70, 0x54, 0xd5, 0x45, 0x93, 0x8b, 0x98, 0x87, 0x0b, 0xe0, 0xe9, 0x01, 0xf7, 0x90, 0xf1, + 0x78, 0x2d, 0x2f, 0xb7, 0x05, 0x02, 0xc9, 0x4c, 0x11, 0xd9, 0x6c, 0xf7, 0xd4, 0x15, 0xc8, 0x65, 0xcd, 0x26, 0xd2, + 0x2e, 0x90, 0x38, 0xe6, 0x20, 0x93, 0x29, 0xeb, 0xd5, 0x7a, 0x60, 0x0b, 0x82, 0xe4, 0x26, 0x8d, 0xc8, 0xb6, 0xbf, + 0x14, 0x9f, 0xc4, 0x80, 0x46, 0xc8, 0x0a, 0x7c, 0xa1, 0xb0, 0xc8, 0x81, 0xeb, 0x2c, 0x7c, 0xc7, 0x5f, 0x69, 0xa9, + 0x18, 0xa8, 0xe1, 0x10, 0x17, 0xe6, 0xa9, 0x8a, 0x72, 0x3e, 0x54, 0x05, 0x4f, 0x1f, 0x05, 0x22, 0x0a, 0x5f, 0xaf, + 0x0f, 0xe1, 0x65, 0x21, 0xd7, 0x26, 0xb8, 0xc1, 0xba, 0x9f, 0xd5, 0x2b, 0x22, 0x30, 0x0e, 0x46, 0x5a, 0xe6, 0xa2, + 0xd0, 0xc9, 0x9b, 0xec, 0x52, 0xf4, 0x1a, 0x0d, 0x66, 0x82, 0x3e, 0x11, 0x88, 0xf0, 0x06, 0x3e, 0x8a, 0xf0, 0xc7, + 0xc6, 0x71, 0x52, 0xcc, 0x46, 0xc3, 0x83, 0x30, 0xdd, 0xb5, 0x84, 0xf5, 0x5a, 0xd9, 0x68, 0x2b, 0x26, 0xc7, 0xc6, + 0x5d, 0x29, 0xfb, 0x29, 0xc3, 0xba, 0x56, 0x66, 0x1c, 0xdc, 0x6d, 0xf5, 0x37, 0xd5, 0x7e, 0x3e, 0xe0, 0xf6, 0x1a, + 0x8f, 0x9b, 0x18, 0x06, 0x06, 0x50, 0xab, 0xad, 0x0d, 0x6e, 0x6d, 0xee, 0x63, 0x6b, 0x20, 0xcc, 0xb6, 0x21, 0x28, + 0x4a, 0x9f, 0x7d, 0x7b, 0x73, 0xeb, 0x63, 0x18, 0x2a, 0x33, 0x27, 0x85, 0xf4, 0x00, 0xe4, 0xe8, 0x21, 0x81, 0xce, + 0xed, 0xcf, 0x8a, 0x2e, 0x54, 0x32, 0x71, 0x39, 0xc6, 0x1f, 0x82, 0xdb, 0xbc, 0x41, 0xf4, 0xf1, 0xa3, 0xd9, 0xe4, + 0x1f, 0x3f, 0x46, 0x38, 0x34, 0x74, 0x8f, 0x02, 0x5e, 0x30, 0x1a, 0x96, 0x61, 0xae, 0xcc, 0xc6, 0x6f, 0xb6, 0x03, + 0xb4, 0xa3, 0x15, 0xde, 0xc1, 0xf2, 0x98, 0xc6, 0x77, 0x1c, 0x43, 0x07, 0x1c, 0xe0, 0xcd, 0x06, 0x7c, 0xd8, 0x7b, + 0x15, 0x2b, 0x74, 0x74, 0xf4, 0x2a, 0x96, 0xa8, 0x7f, 0xcd, 0xcc, 0x9d, 0x1b, 0x78, 0x86, 0x0f, 0xb8, 0x19, 0xbe, + 0x0c, 0x10, 0xe0, 0x9a, 0x6d, 0x4b, 0x36, 0x6f, 0x4c, 0x1c, 0x8e, 0x14, 0xe2, 0x7c, 0x43, 0xb4, 0x61, 0x07, 0x12, + 0xe8, 0xf5, 0x55, 0x08, 0xed, 0x1e, 0x23, 0x0c, 0x58, 0xf8, 0xd2, 0x6f, 0x8f, 0x25, 0x73, 0x56, 0x4c, 0x59, 0xb1, + 0x5e, 0x3f, 0xa7, 0xd6, 0x17, 0x6f, 0x2b, 0x6c, 0xa4, 0xea, 0x35, 0x1a, 0xd4, 0x8c, 0x1f, 0xc4, 0x07, 0x3a, 0xc4, + 0x87, 0xaf, 0xe2, 0x02, 0x21, 0xb0, 0x30, 0xe2, 0x62, 0xe9, 0xfd, 0xce, 0xb2, 0xda, 0xba, 0x14, 0xa8, 0x6c, 0x24, + 0x27, 0x2d, 0x3c, 0x23, 0x59, 0xb9, 0x46, 0x97, 0xb3, 0x5e, 0xa3, 0x91, 0x23, 0x19, 0x67, 0x83, 0x7c, 0x88, 0x39, + 0x2e, 0xe0, 0x32, 0x75, 0x77, 0x1d, 0x16, 0xac, 0x46, 0xb9, 0xdc, 0x7c, 0x57, 0x76, 0xac, 0xe9, 0x3b, 0xba, 0x09, + 0x80, 0xf1, 0x8e, 0x06, 0x44, 0x62, 0x1f, 0x90, 0x85, 0x05, 0xb2, 0xf2, 0x40, 0x16, 0x06, 0xc8, 0x0a, 0xf5, 0x17, + 0x10, 0x40, 0x49, 0xa1, 0x74, 0x87, 0xa2, 0xd7, 0x43, 0x7d, 0x3a, 0x37, 0x12, 0xcc, 0x4d, 0xb4, 0x09, 0xb7, 0x1c, + 0xe0, 0x52, 0xe2, 0xe6, 0xae, 0xc8, 0x2a, 0x8a, 0x4c, 0xd4, 0x5b, 0x7c, 0x6b, 0xfe, 0x24, 0xb7, 0xf8, 0xce, 0xfe, + 0xb8, 0x0b, 0x94, 0x49, 0xbf, 0xd5, 0xb4, 0x0d, 0xdc, 0xc5, 0x88, 0x8b, 0x92, 0x08, 0xd0, 0xda, 0x05, 0x3c, 0x14, + 0xf5, 0x37, 0xe0, 0x94, 0x0d, 0x4d, 0x21, 0x1a, 0x44, 0x61, 0x11, 0x90, 0xce, 0x3f, 0xff, 0x8c, 0x50, 0x5f, 0x40, + 0x64, 0x21, 0x77, 0xb2, 0x35, 0xdb, 0xa8, 0x11, 0x25, 0x51, 0x1a, 0xfb, 0xc0, 0x15, 0xb0, 0x33, 0xa2, 0x28, 0x78, + 0xff, 0xa5, 0xb2, 0xf1, 0xa8, 0x0d, 0xc3, 0x0c, 0xaa, 0x0a, 0xc5, 0x71, 0xb5, 0xda, 0x0e, 0x7c, 0x64, 0xa0, 0x2a, + 0x4c, 0xd4, 0x19, 0x64, 0x1f, 0x45, 0x63, 0x84, 0x1d, 0x1d, 0xb1, 0x81, 0x18, 0x06, 0xaf, 0x9c, 0x55, 0xad, 0xeb, + 0x70, 0xe1, 0xe2, 0x0c, 0x22, 0xcf, 0xaf, 0xd7, 0xf6, 0x2f, 0xf9, 0x60, 0xa4, 0x19, 0x78, 0xae, 0x2e, 0xb8, 0x8d, + 0x17, 0xfb, 0x65, 0xb1, 0x44, 0xcb, 0x77, 0x60, 0xd9, 0xe7, 0xe2, 0x08, 0x72, 0x37, 0xd5, 0xb6, 0x87, 0xfa, 0xc2, + 0x68, 0x14, 0x82, 0x28, 0xbe, 0xd5, 0x91, 0x86, 0x17, 0x3a, 0xcc, 0xab, 0x45, 0xe3, 0xcd, 0x55, 0x19, 0x54, 0x15, + 0x8e, 0x94, 0x04, 0xac, 0xae, 0x0d, 0x9d, 0x84, 0x1f, 0x75, 0x2a, 0xe9, 0x58, 0x48, 0x80, 0x02, 0x47, 0xe6, 0x72, + 0xde, 0x04, 0xcd, 0x67, 0x68, 0x0f, 0x91, 0xab, 0x56, 0xf9, 0xef, 0xba, 0x6c, 0xe9, 0xa2, 0x5b, 0x45, 0x73, 0xb9, + 0x54, 0x6c, 0xb9, 0x80, 0xf3, 0xbd, 0x4c, 0xcb, 0x72, 0x9e, 0x7d, 0xae, 0xa7, 0x80, 0x41, 0xe4, 0xad, 0x9e, 0x33, + 0xb1, 0x8c, 0xdc, 0x3c, 0x5f, 0x5a, 0x71, 0xff, 0xf5, 0x0b, 0xfc, 0x9e, 0x74, 0x8e, 0x5f, 0xe2, 0xdf, 0x29, 0x79, + 0xdf, 0x78, 0x89, 0xa7, 0x9c, 0x58, 0xde, 0x20, 0x79, 0xfd, 0xea, 0xfa, 0xc5, 0xdb, 0x17, 0xef, 0x9f, 0x7e, 0x7c, + 0xf1, 0xf2, 0xd9, 0x8b, 0x97, 0x2f, 0xde, 0x7e, 0xc0, 0x3f, 0x51, 0xf2, 0xf2, 0xa4, 0x7d, 0xd1, 0xc2, 0xef, 0xc8, + 0xcb, 0x93, 0x0e, 0xbe, 0xd5, 0xe4, 0xe5, 0xc9, 0x19, 0x9e, 0x29, 0xf2, 0xf2, 0xb8, 0x73, 0x72, 0x8a, 0x97, 0xda, + 0x36, 0x99, 0xcb, 0x69, 0xbb, 0x85, 0xff, 0x76, 0x5f, 0x20, 0xde, 0x57, 0xb3, 0x98, 0xb2, 0x2d, 0xe3, 0x07, 0x53, + 0x86, 0x8e, 0x94, 0x31, 0x44, 0xb9, 0x0c, 0xd0, 0x69, 0xac, 0xea, 0xa6, 0x0d, 0x10, 0xd6, 0x19, 0x6c, 0x18, 0x01, + 0xad, 0x38, 0x71, 0xed, 0xf0, 0x93, 0x36, 0x3b, 0x05, 0xfa, 0xc4, 0x4b, 0xe1, 0xb8, 0x54, 0xe1, 0xb4, 0x9d, 0x16, + 0x63, 0x92, 0x4b, 0x59, 0xc4, 0x4b, 0x60, 0x04, 0x8c, 0xd6, 0x82, 0x9f, 0x94, 0xf1, 0xa3, 0xc4, 0x25, 0x69, 0xf7, + 0xdb, 0xa9, 0xb8, 0x24, 0x9d, 0x7e, 0x07, 0xfe, 0x74, 0xfb, 0xdd, 0xb4, 0xdd, 0x42, 0xc7, 0xc1, 0x38, 0x7e, 0xa8, + 0xa1, 0xf5, 0x60, 0x88, 0x5d, 0x17, 0xea, 0xef, 0x42, 0x7b, 0x95, 0x9e, 0x70, 0xea, 0xd8, 0x76, 0x4f, 0x5c, 0x32, + 0xa3, 0x87, 0xe5, 0xdf, 0x01, 0x6a, 0x1b, 0x17, 0x97, 0x72, 0xe3, 0xb8, 0x5f, 0xfc, 0x44, 0xa0, 0x5a, 0x90, 0x9a, + 0x98, 0xad, 0x5b, 0x08, 0x98, 0x46, 0x93, 0x0d, 0xe6, 0x40, 0x89, 0x92, 0x85, 0xf6, 0x81, 0xf6, 0x55, 0x53, 0xa2, + 0x64, 0x21, 0x17, 0x71, 0x4d, 0xd5, 0xf0, 0x4b, 0x60, 0xe6, 0x78, 0xc8, 0xd5, 0x4b, 0xfa, 0x32, 0xae, 0xf1, 0x3c, + 0x21, 0x6b, 0x17, 0x6e, 0x8b, 0x5f, 0x9d, 0x15, 0x45, 0x0d, 0x5c, 0x25, 0x60, 0xfd, 0xa8, 0x9a, 0xfa, 0x12, 0x5e, + 0x14, 0x64, 0x0d, 0x7d, 0x45, 0x02, 0xea, 0xf9, 0x6b, 0x69, 0xc6, 0x55, 0x2a, 0xa3, 0xbd, 0x22, 0xda, 0x98, 0x05, + 0x79, 0x45, 0xf4, 0xa5, 0x32, 0x40, 0x90, 0x84, 0x0f, 0xc4, 0x10, 0x0e, 0x7c, 0x3b, 0x40, 0x69, 0xe8, 0x1c, 0xa8, + 0x95, 0x2a, 0x33, 0x21, 0xf3, 0x69, 0xc2, 0x25, 0x80, 0xe6, 0xa9, 0x52, 0x41, 0x99, 0x4f, 0x2c, 0x51, 0x30, 0xf4, + 0x3f, 0xc2, 0x0d, 0x70, 0x1c, 0x1b, 0x54, 0x0c, 0xed, 0x6a, 0x44, 0x3d, 0xbf, 0x7d, 0xd1, 0x3a, 0x79, 0x19, 0xe4, + 0x2f, 0x95, 0xb7, 0xf7, 0xf8, 0x14, 0x50, 0x72, 0x1b, 0xe0, 0xab, 0x8d, 0x7d, 0x6c, 0xb6, 0x5e, 0x08, 0x90, 0x63, + 0x8d, 0x4e, 0xcc, 0xe3, 0x8a, 0x3d, 0xa4, 0x8f, 0x49, 0xbb, 0x05, 0x01, 0xd5, 0xf6, 0x50, 0xbe, 0x3f, 0xb6, 0x60, + 0xaa, 0x93, 0xdb, 0x26, 0xd0, 0x6a, 0x78, 0x6f, 0xe9, 0xae, 0xc9, 0x93, 0x3b, 0xac, 0x02, 0x9c, 0x61, 0xc7, 0xac, + 0x21, 0x8e, 0x05, 0x72, 0x81, 0x68, 0xed, 0x06, 0xd0, 0x54, 0x74, 0xec, 0xbb, 0x7f, 0xde, 0x38, 0xea, 0xb2, 0x99, + 0x74, 0x8f, 0x5f, 0x1e, 0x1d, 0xc5, 0xb2, 0x41, 0xde, 0x23, 0xbc, 0xa2, 0x60, 0xb3, 0x0d, 0x7e, 0x70, 0xdc, 0x32, + 0xf1, 0xa9, 0x0a, 0xa8, 0xe3, 0x44, 0xd5, 0x8e, 0xb5, 0xaa, 0xb3, 0x72, 0x37, 0xf8, 0x31, 0x75, 0x50, 0x23, 0x48, + 0xb3, 0xa3, 0xeb, 0x84, 0x50, 0xfe, 0xb1, 0xe6, 0xb4, 0x06, 0xdb, 0xb2, 0xf1, 0x3b, 0x45, 0xdf, 0xbd, 0x6f, 0xbe, + 0x0c, 0xf0, 0xa0, 0x66, 0x9a, 0xf4, 0xbe, 0xf1, 0x1e, 0x7d, 0xf7, 0x3e, 0x70, 0x3b, 0xe4, 0x15, 0x7b, 0xe2, 0xb9, + 0x91, 0x5f, 0x2d, 0x57, 0xfa, 0x2b, 0x48, 0xf6, 0x05, 0xf9, 0x15, 0xb0, 0x9c, 0x92, 0x5f, 0x63, 0xd9, 0x84, 0x70, + 0x8c, 0xe4, 0xd7, 0xb8, 0x80, 0x1f, 0x39, 0xf9, 0x35, 0x06, 0x6c, 0xc7, 0x33, 0xf3, 0xa3, 0x28, 0x81, 0x01, 0xae, + 0x6e, 0xd2, 0x7a, 0xbc, 0x15, 0xeb, 0xb5, 0x38, 0x3a, 0x92, 0xf6, 0x17, 0xbd, 0xca, 0x8e, 0x8e, 0xf2, 0xcb, 0x59, + 0xd5, 0x37, 0xd7, 0xfb, 0xe8, 0x8b, 0x41, 0x28, 0x1c, 0x98, 0xa6, 0xf1, 0x70, 0xc6, 0x3a, 0x0b, 0x11, 0x07, 0x1a, + 0x68, 0x9e, 0x76, 0xee, 0x9f, 0x5f, 0x60, 0xf8, 0xf7, 0x7e, 0x50, 0x10, 0x74, 0xf8, 0x76, 0x62, 0xa4, 0xcd, 0x9a, + 0xe7, 0x55, 0x9d, 0xab, 0x00, 0x9f, 0x31, 0x43, 0x4d, 0x71, 0x74, 0xc4, 0x2f, 0x03, 0x5c, 0xc6, 0x0c, 0x35, 0x02, + 0x8b, 0xbd, 0xa7, 0xa5, 0x3d, 0x99, 0xe1, 0x9a, 0xe0, 0xa1, 0x5d, 0x3e, 0x28, 0x86, 0x97, 0xda, 0x51, 0x93, 0x30, + 0x1c, 0xb7, 0x22, 0x2d, 0xb7, 0xc9, 0x7a, 0xa2, 0xa9, 0xae, 0xda, 0x3d, 0x24, 0x89, 0x6a, 0x88, 0xab, 0xab, 0x36, + 0x06, 0x95, 0x7c, 0x5f, 0x11, 0x99, 0x0a, 0xe2, 0x5d, 0x06, 0x57, 0xb9, 0x4c, 0x15, 0x9e, 0xf1, 0x54, 0x78, 0x39, + 0xfb, 0x9e, 0xb7, 0x9e, 0x36, 0x4e, 0x9c, 0xa6, 0x67, 0x86, 0x45, 0x5f, 0x95, 0xce, 0x87, 0xb0, 0x49, 0xd5, 0x10, + 0xde, 0x31, 0x2c, 0x31, 0x8f, 0x59, 0x8f, 0x3b, 0x06, 0x71, 0xa2, 0x55, 0xa3, 0x0d, 0x99, 0xf0, 0xb9, 0x49, 0x15, + 0x0c, 0xd4, 0x14, 0xbe, 0x04, 0x23, 0xab, 0xac, 0x32, 0xcc, 0xf6, 0x0d, 0x43, 0x01, 0x01, 0x05, 0xae, 0x08, 0x0b, + 0x24, 0x78, 0x91, 0xd5, 0x08, 0x47, 0x9d, 0x5c, 0xd8, 0xc9, 0x5d, 0x2a, 0xe8, 0x4e, 0x0c, 0x2f, 0x75, 0x0f, 0x89, + 0x46, 0xc3, 0x71, 0xdb, 0x57, 0xc2, 0x0c, 0xa2, 0xd9, 0x1e, 0x5e, 0xb1, 0x1e, 0x52, 0xcd, 0x66, 0x69, 0x00, 0x79, + 0xd5, 0x5a, 0xaf, 0xd5, 0xa5, 0x6f, 0xa4, 0xef, 0xcf, 0x71, 0xc3, 0x77, 0x79, 0xc1, 0xf3, 0x0f, 0x49, 0x06, 0x11, + 0x50, 0x55, 0xe0, 0xb3, 0xe5, 0x22, 0xc2, 0x91, 0x79, 0xe2, 0x0e, 0xfe, 0x9a, 0xa7, 0xc9, 0x22, 0x1c, 0xb9, 0x57, + 0xef, 0xa2, 0x61, 0x35, 0x58, 0x95, 0x95, 0x01, 0xdb, 0x79, 0xf2, 0x11, 0x18, 0x07, 0xfd, 0x49, 0xa1, 0x55, 0xf5, + 0x3b, 0xc9, 0x5d, 0xe8, 0x12, 0xe5, 0x1f, 0x62, 0x73, 0xa3, 0xda, 0xec, 0x77, 0x16, 0xe5, 0x38, 0xf2, 0x55, 0xe1, + 0x41, 0x83, 0x6f, 0xbc, 0x04, 0xd9, 0x76, 0x0f, 0x90, 0xaf, 0xca, 0x1e, 0x80, 0xf3, 0xde, 0x6c, 0x10, 0xfe, 0x43, + 0xee, 0x7d, 0x8d, 0x38, 0xfa, 0x28, 0xc5, 0x13, 0xaa, 0x69, 0xd4, 0x78, 0x6d, 0x0c, 0xdf, 0xac, 0x9c, 0xd5, 0xfb, + 0xda, 0x38, 0xd8, 0xbf, 0xd5, 0x3d, 0x04, 0x93, 0xa8, 0x3d, 0x9c, 0x64, 0x65, 0x5f, 0x13, 0x42, 0x44, 0x06, 0xa6, + 0x6f, 0x7b, 0xe0, 0xe1, 0xc7, 0x48, 0xc1, 0xc5, 0xd9, 0xf2, 0x49, 0x14, 0xa2, 0xb4, 0xd6, 0x1c, 0xab, 0x21, 0xc5, + 0xf6, 0x61, 0x9c, 0x70, 0x37, 0x28, 0xe4, 0xba, 0x17, 0xaa, 0x4e, 0x4c, 0xab, 0x6e, 0x8c, 0xd4, 0xc1, 0xb6, 0x59, + 0x70, 0x56, 0xf5, 0x6e, 0x24, 0x94, 0xea, 0x8d, 0x39, 0xf3, 0x4e, 0x68, 0xb3, 0x6d, 0x1e, 0x5e, 0xb6, 0x2f, 0xd1, + 0x29, 0x30, 0xe4, 0x3d, 0x2c, 0x03, 0x68, 0x5d, 0xc1, 0xb1, 0x1b, 0x07, 0x90, 0x95, 0xe4, 0x6a, 0xe5, 0x5e, 0x89, + 0xe3, 0x03, 0x39, 0xdc, 0x94, 0x6f, 0xc6, 0x05, 0x78, 0x10, 0x38, 0x05, 0x64, 0x21, 0x67, 0xe0, 0x1f, 0x5c, 0xac, + 0xe9, 0x87, 0xf8, 0x3f, 0x70, 0xc0, 0x57, 0x48, 0x9a, 0x5a, 0xf5, 0x13, 0xbc, 0xe5, 0x04, 0x0a, 0x6f, 0x5b, 0xf7, + 0x47, 0x19, 0x3a, 0xcd, 0xd6, 0x75, 0x2a, 0xd6, 0x2f, 0xb5, 0xae, 0x58, 0x29, 0x0b, 0x07, 0x54, 0x2b, 0x46, 0x9b, + 0xd4, 0xf9, 0xb0, 0xba, 0x07, 0xa0, 0x1e, 0x0a, 0xf0, 0x8d, 0xe1, 0x52, 0x3c, 0x2b, 0x20, 0xa2, 0x57, 0xa8, 0x4f, + 0xd3, 0x45, 0xf8, 0xc2, 0xf1, 0x00, 0xee, 0x09, 0x4b, 0x9e, 0xb3, 0x7c, 0x95, 0x1b, 0x16, 0x48, 0x01, 0x85, 0x52, + 0x58, 0xac, 0xd7, 0xb1, 0x30, 0x71, 0x1e, 0x5c, 0x98, 0x5f, 0xf7, 0x9e, 0x87, 0xd1, 0xdf, 0x41, 0x5d, 0xec, 0xd5, + 0x23, 0xc6, 0x84, 0x15, 0x85, 0x97, 0x4e, 0x45, 0x16, 0xf4, 0xb5, 0xaf, 0x0f, 0x51, 0x4d, 0xb9, 0x1f, 0x1b, 0x7d, + 0xef, 0x5b, 0x3e, 0x67, 0x72, 0x09, 0x0f, 0x29, 0x61, 0x46, 0x14, 0xd3, 0xfe, 0x1b, 0x28, 0x08, 0xbc, 0xc6, 0xc3, + 0x43, 0x7c, 0x04, 0xbe, 0xca, 0xd3, 0x3a, 0x9a, 0xf9, 0xe7, 0x39, 0x22, 0x13, 0x3e, 0x33, 0xea, 0x47, 0xe0, 0x45, + 0x04, 0x22, 0x14, 0x21, 0x11, 0x13, 0xe3, 0xa8, 0x1f, 0x19, 0x97, 0xac, 0x08, 0xac, 0xc6, 0x40, 0xc9, 0x1d, 0xe1, + 0xa9, 0xaa, 0x88, 0x58, 0x58, 0x53, 0x07, 0x95, 0x58, 0x6a, 0xcc, 0xb4, 0x4f, 0x3a, 0x15, 0x08, 0xb3, 0x6c, 0x5b, + 0x50, 0xd6, 0x5b, 0xea, 0x02, 0x2c, 0x89, 0x31, 0xbd, 0xe5, 0xc9, 0x47, 0xe0, 0xe6, 0xd8, 0xd8, 0x15, 0x5d, 0xf1, + 0x6b, 0x50, 0x4f, 0xa7, 0x05, 0xfe, 0x68, 0x18, 0xb6, 0x71, 0x4a, 0x37, 0x84, 0xe3, 0x8c, 0x14, 0x09, 0xbd, 0x85, + 0x38, 0x17, 0x73, 0x2e, 0xd2, 0x1c, 0xcf, 0xe9, 0x6d, 0x3a, 0xc3, 0x73, 0x2e, 0x9e, 0xd8, 0x65, 0x4f, 0xc7, 0x90, + 0xe4, 0x3f, 0x96, 0x1b, 0x62, 0x9e, 0xe9, 0x7a, 0xa7, 0x58, 0xf1, 0x08, 0x78, 0x15, 0x15, 0xa3, 0xde, 0xd8, 0xd8, + 0x94, 0x73, 0x5d, 0x19, 0xaf, 0xdf, 0xd3, 0x31, 0xc5, 0x19, 0xce, 0x51, 0x92, 0x4b, 0xcc, 0xfa, 0x22, 0xbd, 0x07, + 0x31, 0xae, 0x33, 0x6c, 0x9f, 0xf8, 0xe2, 0xb7, 0x2c, 0x7f, 0x26, 0x8b, 0xf7, 0x66, 0xcb, 0xe7, 0x08, 0x0a, 0x81, + 0x8b, 0x8a, 0x68, 0xc2, 0xed, 0xde, 0xb2, 0x2f, 0xab, 0xa6, 0xe8, 0xad, 0x6d, 0xca, 0x0d, 0x71, 0x06, 0xc1, 0x81, + 0x93, 0x19, 0x6f, 0xb4, 0x31, 0xeb, 0xb7, 0xbe, 0xd1, 0xe8, 0x0c, 0x95, 0x25, 0x11, 0x86, 0xb5, 0x6a, 0xaa, 0x54, + 0x12, 0xd1, 0x54, 0x4e, 0xc2, 0x5b, 0x19, 0x60, 0xa7, 0x0a, 0x67, 0x72, 0x29, 0x74, 0x2a, 0x03, 0xbc, 0xc9, 0xab, + 0xcd, 0xb5, 0xba, 0xb5, 0x10, 0xd3, 0xf8, 0xce, 0xfe, 0x60, 0xf8, 0xa3, 0x51, 0xf1, 0xbf, 0x01, 0xc3, 0x1e, 0x95, + 0x0a, 0x80, 0x1f, 0x18, 0xce, 0x02, 0xe4, 0x2c, 0x3f, 0x79, 0x0b, 0xe0, 0xb3, 0x2c, 0xe4, 0x1d, 0xa4, 0x32, 0x93, + 0x7a, 0x07, 0xa9, 0x0c, 0x52, 0x8d, 0x77, 0xfb, 0xa1, 0xa8, 0x94, 0x45, 0x61, 0x83, 0x44, 0xe1, 0x52, 0x1d, 0x2c, + 0x89, 0x48, 0xa0, 0x5d, 0x23, 0xca, 0xcd, 0xb9, 0x80, 0x30, 0x87, 0xd0, 0xb8, 0xfd, 0xa6, 0xb7, 0xf0, 0x7d, 0x67, + 0xf3, 0x99, 0xcf, 0xbf, 0xb3, 0xf9, 0xa6, 0x23, 0x8f, 0xf1, 0xf5, 0xdb, 0x4e, 0x63, 0x19, 0x2f, 0x1d, 0xd6, 0xbe, + 0x2b, 0x1f, 0x95, 0x69, 0x99, 0xc7, 0xbb, 0x49, 0x1b, 0xcf, 0x03, 0xa4, 0x6c, 0x56, 0x3c, 0x5c, 0x07, 0xb7, 0x5b, + 0xc7, 0x31, 0x6f, 0x92, 0x36, 0x42, 0xc7, 0x4e, 0xb8, 0x12, 0xb1, 0x91, 0x9c, 0x8e, 0xdf, 0x9f, 0xc0, 0xdd, 0xcb, + 0x48, 0x6d, 0xf9, 0x4a, 0xd9, 0x6a, 0xcd, 0x76, 0xeb, 0x98, 0xef, 0xad, 0xd2, 0x68, 0xe3, 0x39, 0x23, 0x2b, 0xf0, + 0x40, 0xa3, 0x85, 0x55, 0x35, 0x80, 0xcb, 0xea, 0x0b, 0xf1, 0xeb, 0x92, 0x8e, 0xcd, 0xf7, 0xb1, 0x4d, 0x79, 0xb5, + 0xd4, 0x3e, 0xa9, 0xc9, 0x61, 0x10, 0x1d, 0xe4, 0x4a, 0x06, 0x39, 0x31, 0x3f, 0x21, 0x49, 0x17, 0x5d, 0xb6, 0xfb, + 0x49, 0xf7, 0x98, 0x1f, 0xf3, 0x14, 0x78, 0xd8, 0xb8, 0xe9, 0x2b, 0x34, 0xdb, 0xbe, 0xce, 0xe3, 0xe5, 0x88, 0x67, + 0xae, 0xf9, 0xaa, 0x83, 0x32, 0xd5, 0xce, 0x11, 0xb2, 0x00, 0xc5, 0x7c, 0x2f, 0x41, 0x76, 0xbd, 0x9b, 0x63, 0x9e, + 0x42, 0x3f, 0x50, 0xab, 0x63, 0x6b, 0x95, 0x83, 0xfb, 0x75, 0x09, 0x08, 0xe6, 0x3b, 0xaa, 0xcd, 0xc5, 0xa6, 0x37, + 0xe3, 0xaa, 0xb3, 0x63, 0x5e, 0x8d, 0x30, 0x2c, 0xb3, 0xdb, 0x9f, 0x9f, 0x5a, 0xd5, 0xe5, 0x71, 0x00, 0x91, 0x5f, + 0x97, 0x5c, 0x84, 0x9d, 0x86, 0xdd, 0xba, 0x9c, 0xb0, 0xd3, 0xfa, 0x2c, 0x83, 0x22, 0xbb, 0xbd, 0xee, 0xcc, 0xb4, + 0x3e, 0xdb, 0x6b, 0x70, 0x24, 0x84, 0x49, 0x99, 0x95, 0xce, 0xa4, 0x8a, 0xf9, 0xf1, 0x3b, 0xe4, 0x5a, 0x7f, 0xb5, + 0xd4, 0x3e, 0xbf, 0x44, 0x04, 0xc8, 0xae, 0xba, 0x2e, 0xab, 0x43, 0x1f, 0x65, 0x13, 0x2f, 0x8f, 0x79, 0xb0, 0x72, + 0x4f, 0x6f, 0x17, 0x32, 0xf5, 0xf8, 0xda, 0x6f, 0xa5, 0x3b, 0xc8, 0x09, 0xc4, 0xc3, 0x75, 0x17, 0x96, 0x05, 0x39, + 0xbb, 0xb9, 0x83, 0x92, 0xe1, 0xc4, 0x7d, 0xe9, 0x77, 0xcc, 0x5e, 0x37, 0xf0, 0xcb, 0xa4, 0x0b, 0x53, 0xdf, 0xee, + 0xe1, 0xb8, 0x03, 0x7d, 0x18, 0x38, 0x6c, 0x37, 0xe8, 0x33, 0x2b, 0x88, 0x3c, 0xe6, 0x85, 0xc5, 0xb3, 0x2b, 0xd2, + 0xee, 0xf3, 0xd4, 0x6d, 0x26, 0x23, 0x1a, 0xb5, 0x9b, 0x3c, 0x98, 0x19, 0xe0, 0x97, 0x2b, 0x1b, 0x16, 0xf1, 0xeb, + 0x14, 0x40, 0xc9, 0x17, 0xab, 0xd6, 0xa7, 0x82, 0x57, 0xbd, 0xe1, 0x74, 0x3b, 0xdd, 0xaf, 0x1b, 0xdc, 0xee, 0x7a, + 0x78, 0xc2, 0xa3, 0x30, 0x16, 0xad, 0xfd, 0xc4, 0xe7, 0xc0, 0x01, 0x25, 0xad, 0xfb, 0x5d, 0x70, 0xa1, 0x2c, 0x61, + 0xb9, 0x5b, 0x6e, 0xb4, 0x53, 0xce, 0xc2, 0xd1, 0x96, 0x0c, 0xb8, 0x83, 0x6d, 0x88, 0x42, 0x07, 0xc7, 0x1d, 0x9c, + 0xb4, 0xdb, 0x9d, 0x2e, 0x4e, 0xce, 0xba, 0x30, 0xd0, 0x46, 0xd2, 0x3d, 0x1e, 0x29, 0x0b, 0xc0, 0x20, 0x67, 0xe3, + 0xda, 0x7d, 0x04, 0x01, 0xa4, 0x42, 0xf1, 0x9a, 0x1f, 0xc7, 0x71, 0x3b, 0xb9, 0xdf, 0x6a, 0x77, 0x2f, 0x1a, 0x00, + 0xa0, 0xa6, 0xfb, 0x70, 0x35, 0x5e, 0x2d, 0x75, 0xbd, 0x4a, 0x89, 0xf0, 0xf5, 0x6a, 0x0d, 0x5f, 0xad, 0xd1, 0xde, + 0x54, 0x53, 0xf0, 0x55, 0x9d, 0x70, 0x6e, 0x8b, 0x78, 0xa5, 0x4d, 0xb8, 0x2d, 0x62, 0x3b, 0x90, 0x18, 0xa4, 0xf3, + 0xa4, 0xdb, 0xe9, 0x22, 0x3b, 0x16, 0xed, 0xf0, 0xa3, 0xdc, 0x27, 0x3b, 0x45, 0x1a, 0x1a, 0x90, 0xa4, 0x9c, 0x9d, + 0x5c, 0x82, 0x44, 0xcd, 0xc9, 0x55, 0xbb, 0x39, 0x67, 0x89, 0x9f, 0x80, 0x49, 0x85, 0xe5, 0x2c, 0x57, 0xc1, 0x25, + 0x05, 0x80, 0xb8, 0x04, 0xe3, 0xa2, 0xfb, 0xdd, 0xfe, 0xfd, 0xa4, 0x7b, 0xde, 0xb1, 0x44, 0x8f, 0x5f, 0x76, 0x6a, + 0x69, 0x66, 0xea, 0x49, 0xd7, 0xa4, 0x41, 0xd7, 0xc9, 0xfd, 0x2e, 0x94, 0x71, 0x29, 0x61, 0x29, 0x08, 0x7c, 0x51, + 0x15, 0x83, 0x68, 0x17, 0x69, 0x2d, 0xf7, 0xbc, 0x96, 0x7d, 0x71, 0x76, 0x7a, 0xbf, 0x1b, 0x42, 0xad, 0x9c, 0x85, + 0x59, 0x68, 0x37, 0x11, 0x3f, 0x3b, 0x58, 0x5a, 0x74, 0x9c, 0x74, 0xd3, 0x9d, 0x09, 0xda, 0x4d, 0x73, 0x6c, 0x70, + 0x20, 0x50, 0x38, 0xbe, 0x10, 0x4e, 0x5f, 0x12, 0xdc, 0x8f, 0x55, 0x86, 0x26, 0xa1, 0xc2, 0xd9, 0xdf, 0x53, 0x06, + 0x6f, 0x5b, 0x86, 0x57, 0x95, 0x8f, 0xa9, 0xf8, 0x42, 0xd5, 0x6b, 0x0a, 0xd1, 0x3c, 0xc4, 0x30, 0x72, 0xb1, 0xc6, + 0xeb, 0xb9, 0x3f, 0x80, 0x8b, 0x30, 0x13, 0x70, 0xa1, 0xe9, 0x95, 0xa0, 0x15, 0x2f, 0xf0, 0x31, 0x74, 0xa8, 0x35, + 0xc3, 0xea, 0xf3, 0xd4, 0x99, 0x14, 0x84, 0xba, 0xad, 0x77, 0xfc, 0x5b, 0xe5, 0x92, 0xf2, 0x2a, 0x3b, 0xe9, 0xa2, + 0xc4, 0x5d, 0x96, 0x27, 0x6d, 0x94, 0x04, 0x26, 0x24, 0xee, 0x48, 0x9e, 0x65, 0x64, 0x10, 0xdd, 0x46, 0x38, 0xba, + 0x8b, 0x70, 0x64, 0x7d, 0x98, 0x7f, 0x03, 0x3f, 0xee, 0x08, 0x47, 0xd6, 0x95, 0x39, 0xc2, 0x91, 0x66, 0x02, 0x82, + 0x7c, 0x45, 0x43, 0x3c, 0x86, 0xd2, 0xc6, 0xb3, 0xba, 0x2c, 0xfd, 0xd8, 0x7f, 0x95, 0xae, 0xd7, 0x36, 0x25, 0x90, + 0x32, 0x97, 0x66, 0x87, 0xda, 0x47, 0xaa, 0x23, 0xea, 0x99, 0xf5, 0x08, 0x83, 0x00, 0x42, 0xef, 0xfc, 0x23, 0x77, + 0x55, 0x7c, 0x10, 0x76, 0x0a, 0x2b, 0x0d, 0xae, 0xe8, 0x51, 0x78, 0x86, 0x45, 0x78, 0x22, 0x7c, 0x61, 0x10, 0x2b, + 0xfc, 0xef, 0x5c, 0xca, 0x85, 0xff, 0xad, 0x65, 0xf9, 0x0b, 0x9e, 0x46, 0x71, 0x16, 0x2d, 0x60, 0xb9, 0x65, 0xc3, + 0x11, 0x8d, 0x58, 0x7d, 0x04, 0x1f, 0x27, 0x2e, 0x64, 0x1c, 0x48, 0x84, 0x1f, 0x8d, 0x40, 0xe5, 0xe5, 0xc3, 0x8f, + 0x36, 0x7c, 0x91, 0xf9, 0x84, 0xf8, 0x65, 0x10, 0xa2, 0x58, 0xc2, 0x85, 0xc6, 0xb4, 0x60, 0x4a, 0x45, 0x36, 0xae, + 0x5f, 0x24, 0x85, 0x7f, 0xa8, 0xd1, 0xa7, 0x4c, 0x44, 0x64, 0x3a, 0xac, 0xcf, 0xd6, 0x8a, 0xc3, 0xb9, 0x2c, 0x54, + 0x6a, 0x5f, 0x6d, 0xf1, 0x60, 0x5c, 0x94, 0x4f, 0x22, 0xa6, 0xe3, 0x6c, 0x83, 0xed, 0x1d, 0x76, 0x59, 0xc8, 0x5d, + 0x69, 0x87, 0xa5, 0x66, 0xd9, 0xe6, 0x6b, 0x13, 0x52, 0xb5, 0x19, 0x05, 0x13, 0xad, 0x06, 0x54, 0x05, 0xee, 0x80, + 0xc2, 0x36, 0x40, 0x4c, 0xba, 0x2a, 0x4b, 0xa6, 0xab, 0x72, 0x19, 0xce, 0x5a, 0xad, 0xcd, 0x06, 0x17, 0xcc, 0x04, + 0x55, 0xd9, 0x5b, 0x02, 0xf2, 0xd5, 0x4c, 0xde, 0x04, 0xb9, 0x2a, 0x2d, 0x67, 0x69, 0x96, 0x28, 0x0a, 0x8c, 0x60, + 0xa3, 0x0d, 0xfe, 0xc2, 0x15, 0x07, 0x78, 0xba, 0xd9, 0x8d, 0xa4, 0xcc, 0x19, 0x85, 0x78, 0x66, 0x41, 0x93, 0x1b, + 0x3c, 0xe3, 0x63, 0xb6, 0xbf, 0x4d, 0x30, 0x63, 0xfe, 0xf7, 0x5a, 0xf4, 0x08, 0x64, 0xd9, 0x3d, 0x83, 0x3a, 0xb0, + 0x88, 0x6b, 0xe8, 0x20, 0x94, 0xc1, 0x27, 0x21, 0x6e, 0xe6, 0xf4, 0x4e, 0x2e, 0x35, 0xc0, 0x65, 0xa9, 0xe5, 0x6b, + 0x17, 0x0e, 0xe1, 0xb0, 0x85, 0x7d, 0x64, 0x84, 0x15, 0x84, 0x0c, 0x68, 0x61, 0x1b, 0x11, 0xa3, 0x85, 0x5d, 0xa0, + 0x82, 0x16, 0x36, 0xe1, 0x29, 0x5a, 0x9b, 0x32, 0xce, 0xd8, 0x5d, 0xf9, 0xbc, 0x65, 0xb5, 0x09, 0x16, 0x4e, 0x3a, + 0xd4, 0x44, 0x07, 0xb7, 0x87, 0x8c, 0xf0, 0xc6, 0x8f, 0xd7, 0xaf, 0x5e, 0xba, 0x28, 0xd2, 0x7c, 0x02, 0x2e, 0x9b, + 0x4e, 0x35, 0x76, 0x67, 0xc3, 0xbd, 0x57, 0x8a, 0x52, 0x2b, 0x9c, 0x9a, 0xc0, 0x9b, 0x42, 0xe7, 0x89, 0xbd, 0xbc, + 0x78, 0x26, 0x8b, 0x39, 0xb5, 0x37, 0x46, 0xf8, 0x4e, 0xb9, 0x87, 0xe0, 0xcd, 0x5b, 0x33, 0xd5, 0x24, 0xdf, 0x6e, + 0x5f, 0x45, 0x2c, 0x32, 0x23, 0xbf, 0x82, 0x36, 0xc0, 0x54, 0xf6, 0x03, 0x67, 0x05, 0x71, 0xb1, 0xf8, 0x03, 0xf2, + 0xf2, 0xc6, 0x52, 0x97, 0x28, 0x6a, 0x70, 0x83, 0x9f, 0xac, 0xe0, 0x59, 0x70, 0x5d, 0x68, 0xd8, 0x23, 0x27, 0x5e, + 0x44, 0xad, 0xa8, 0xfe, 0x0e, 0xae, 0x51, 0x25, 0xf8, 0x38, 0xae, 0x49, 0x2e, 0x41, 0xf4, 0x28, 0x9f, 0xdc, 0xe3, + 0x20, 0x9a, 0xf8, 0xbb, 0xe7, 0xab, 0xb6, 0xa7, 0xb3, 0x79, 0xa5, 0x4e, 0x2c, 0xaf, 0x4c, 0xc0, 0xc3, 0xd1, 0x3e, + 0x6a, 0x83, 0x70, 0x90, 0xc8, 0x4a, 0xed, 0xa1, 0xcf, 0x45, 0xbd, 0x38, 0xbf, 0x6c, 0xb3, 0xe6, 0xd9, 0x7a, 0x9d, + 0x5f, 0xb5, 0x59, 0xbb, 0x6b, 0x9f, 0xc0, 0x8b, 0x54, 0x06, 0x34, 0x97, 0x4f, 0x78, 0x16, 0x81, 0x76, 0x76, 0x9a, + 0x99, 0x70, 0x0a, 0x1b, 0xaf, 0xf8, 0x59, 0xea, 0xaa, 0x2f, 0x09, 0xc6, 0xa5, 0xc4, 0xea, 0xf1, 0x0b, 0xd4, 0x6f, + 0xa7, 0xbb, 0xae, 0xd2, 0xcd, 0xf6, 0x71, 0x70, 0xe1, 0x52, 0x20, 0xdc, 0x81, 0x90, 0x07, 0xa0, 0xdf, 0x5d, 0x09, + 0x30, 0x0d, 0x02, 0x54, 0x56, 0x20, 0xd2, 0xf2, 0xf9, 0x72, 0xfe, 0xac, 0xa0, 0x66, 0x19, 0x9e, 0xf0, 0x29, 0xd7, + 0x2a, 0xa5, 0x20, 0xdd, 0xee, 0x4b, 0xdf, 0xec, 0x97, 0xa0, 0xb2, 0x5a, 0x2c, 0xdc, 0x44, 0xf3, 0xec, 0xb3, 0x72, + 0x0b, 0x87, 0xb0, 0x59, 0x59, 0x81, 0x33, 0xb4, 0xc1, 0xb9, 0x9c, 0xd2, 0x82, 0xeb, 0xd9, 0xfc, 0xdf, 0x5a, 0x1d, + 0x36, 0xd0, 0x43, 0x73, 0x61, 0x05, 0x20, 0xa1, 0x62, 0xbc, 0x5e, 0xf3, 0x93, 0x6f, 0xdf, 0x27, 0x79, 0x9f, 0xf0, + 0x36, 0xee, 0xe0, 0x53, 0xdc, 0xc5, 0xed, 0x16, 0x6e, 0x77, 0xe1, 0xea, 0x3e, 0xcb, 0x97, 0x63, 0xa6, 0x62, 0x78, + 0x0b, 0x4d, 0x5f, 0x25, 0x17, 0xc7, 0xd5, 0x0b, 0x00, 0x45, 0xe2, 0xd0, 0x25, 0x08, 0x44, 0xef, 0x22, 0xf8, 0x45, + 0x51, 0x18, 0x3e, 0x6e, 0x1a, 0xaa, 0x4e, 0x4a, 0xfd, 0xc2, 0xd5, 0x69, 0x1f, 0xec, 0xb9, 0xed, 0xca, 0x36, 0xc1, + 0xec, 0xdb, 0xfe, 0x4c, 0xab, 0x9f, 0x4d, 0x5d, 0x22, 0x86, 0x87, 0x5e, 0x85, 0x1e, 0xe8, 0x8a, 0xb4, 0x8f, 0x8e, + 0xc0, 0xea, 0x28, 0x98, 0x0d, 0xb7, 0xd1, 0x0f, 0x78, 0xb3, 0x96, 0x06, 0xc1, 0x0a, 0xc0, 0xb8, 0xf3, 0x15, 0x27, + 0x2b, 0x0b, 0x5b, 0x0d, 0x54, 0x98, 0x15, 0x61, 0x8c, 0xbb, 0x90, 0x54, 0x18, 0x21, 0x1a, 0x8e, 0x30, 0x17, 0x0c, + 0xe5, 0xb0, 0x85, 0xe5, 0x64, 0xa2, 0x98, 0x86, 0xa3, 0xa3, 0x60, 0x5f, 0x58, 0xa1, 0xcc, 0x29, 0x32, 0x62, 0x53, + 0x2e, 0x1e, 0xea, 0x3f, 0x58, 0x21, 0xcd, 0xa7, 0xd1, 0x60, 0xa4, 0x91, 0x59, 0xc5, 0x08, 0x67, 0x39, 0x5f, 0x40, + 0xd5, 0x69, 0x01, 0x4e, 0x3f, 0xf0, 0x97, 0x8f, 0xd3, 0xb0, 0x4d, 0x20, 0x5f, 0xbf, 0xd9, 0x98, 0x2e, 0x78, 0x5c, + 0xd0, 0x9b, 0x57, 0xe2, 0x31, 0xec, 0xa8, 0x87, 0x05, 0xa3, 0x90, 0x0d, 0x49, 0x6f, 0xa1, 0x29, 0xf8, 0x80, 0x36, + 0x7f, 0x36, 0x80, 0x4b, 0x2f, 0xcc, 0x87, 0xad, 0xe8, 0xe3, 0x28, 0x26, 0x65, 0x5b, 0x26, 0xd3, 0x9c, 0xd2, 0x55, + 0xa6, 0xa1, 0xb0, 0xd5, 0x14, 0x36, 0xd8, 0x45, 0x3d, 0x09, 0x07, 0x33, 0xa6, 0x6a, 0x96, 0x0e, 0x86, 0xe6, 0xef, + 0x2b, 0x5b, 0xb2, 0x85, 0x5d, 0xc4, 0x99, 0x0d, 0x36, 0x8f, 0x98, 0x06, 0xe5, 0xdb, 0x18, 0xee, 0x61, 0xe1, 0x25, + 0xcd, 0x1a, 0xf9, 0x3c, 0xf3, 0x64, 0xf3, 0x6c, 0xb3, 0x31, 0x03, 0x51, 0x29, 0xe8, 0x81, 0xde, 0xf8, 0x6d, 0xd3, + 0x82, 0xed, 0x51, 0x7e, 0x75, 0x5b, 0x78, 0xce, 0xe1, 0x61, 0x50, 0xdf, 0xde, 0xb5, 0x2e, 0xe4, 0x67, 0x07, 0x92, + 0x56, 0x90, 0x62, 0xa7, 0x13, 0x74, 0x76, 0x8a, 0x83, 0x91, 0x03, 0x3d, 0xbf, 0xfe, 0x6c, 0x61, 0xed, 0x7f, 0xbf, + 0x2e, 0x0b, 0x9a, 0x78, 0x3a, 0xe5, 0x84, 0x32, 0x7f, 0x7e, 0xbe, 0xe2, 0x49, 0x85, 0x0a, 0xee, 0x45, 0x2d, 0xd8, + 0xd3, 0x36, 0xe8, 0xe6, 0x9c, 0x7e, 0xb2, 0x3f, 0x6c, 0x0c, 0x9f, 0x52, 0xcb, 0x96, 0x15, 0x52, 0xa9, 0x87, 0x36, + 0xcd, 0x1e, 0x3d, 0x70, 0x44, 0xfe, 0x0c, 0x5d, 0x00, 0xaf, 0x3f, 0x2e, 0xe4, 0xc2, 0x20, 0x82, 0xfb, 0xed, 0xc6, + 0x6d, 0x7c, 0x05, 0xc0, 0xdb, 0xe1, 0xa0, 0xfa, 0xa7, 0x05, 0xec, 0x6f, 0x54, 0x96, 0xf4, 0xe3, 0xed, 0xd8, 0xe3, + 0xbf, 0x90, 0x10, 0xc1, 0xdd, 0xe2, 0x61, 0xe2, 0xd0, 0xa9, 0x64, 0xcd, 0xca, 0x9f, 0x3b, 0x25, 0x01, 0xc3, 0xea, + 0x05, 0x43, 0x36, 0x6e, 0xa7, 0xb8, 0xcd, 0xfc, 0x0f, 0x2a, 0x18, 0x2c, 0xf8, 0xda, 0x48, 0x2a, 0x96, 0xc5, 0x6f, + 0x9f, 0x3a, 0xff, 0x55, 0xe7, 0xb8, 0x0e, 0x75, 0xed, 0xd5, 0xce, 0x91, 0x89, 0x98, 0x1c, 0xa1, 0xa3, 0xa3, 0xad, + 0x0c, 0x3a, 0x01, 0xc0, 0x23, 0xc7, 0x7e, 0xf9, 0xe5, 0xf3, 0xec, 0x98, 0xd1, 0x3c, 0x16, 0x51, 0xc8, 0xdc, 0x79, + 0x6e, 0xce, 0x4e, 0xe4, 0x09, 0x55, 0x33, 0x5f, 0x18, 0xe0, 0xf8, 0x68, 0x27, 0x15, 0xf0, 0x3d, 0xda, 0xec, 0x99, + 0xc0, 0x16, 0xbf, 0x65, 0x27, 0xb5, 0xaf, 0xa0, 0x5f, 0xa0, 0xd5, 0x3e, 0xa6, 0x72, 0x6b, 0x81, 0xa3, 0xed, 0x89, + 0xec, 0x1d, 0xfa, 0x56, 0x9d, 0x92, 0xf5, 0x78, 0xb1, 0xdf, 0xe8, 0xab, 0x10, 0xfb, 0x92, 0x2b, 0xda, 0x36, 0x62, + 0xd5, 0xcb, 0xbd, 0xba, 0x32, 0x75, 0xaa, 0xae, 0x79, 0x2b, 0x4b, 0x9b, 0xd2, 0x2e, 0xc9, 0xde, 0x6d, 0xb1, 0xf0, + 0x2a, 0xbc, 0xd1, 0x28, 0x2f, 0x42, 0xc1, 0x1e, 0x4b, 0x0c, 0x7b, 0x9c, 0xc0, 0xf5, 0xc2, 0x7a, 0x1d, 0xc3, 0x9f, + 0x7d, 0x63, 0xd8, 0x67, 0xba, 0xf4, 0x1b, 0xdf, 0xe2, 0x57, 0x82, 0xe0, 0xc1, 0xce, 0x0e, 0x12, 0xac, 0xbb, 0xdc, + 0xa0, 0xe1, 0x38, 0xf1, 0x5f, 0xf0, 0x74, 0xb5, 0xf6, 0x2e, 0x07, 0xa3, 0xec, 0x2b, 0xcf, 0xdd, 0x95, 0xac, 0x65, + 0x2d, 0xf2, 0xfc, 0x96, 0x04, 0x43, 0xec, 0xa6, 0x74, 0x8e, 0x5b, 0x49, 0x1b, 0x45, 0xae, 0x58, 0x85, 0xfe, 0x5f, + 0x2b, 0x92, 0xd9, 0xcc, 0xff, 0x3a, 0x3f, 0x3f, 0x77, 0x29, 0xce, 0xe6, 0x4f, 0x19, 0x0f, 0x38, 0x93, 0xc0, 0xbe, + 0xf0, 0x8c, 0x19, 0x1d, 0xf2, 0x1b, 0x18, 0x0a, 0x11, 0xe4, 0x4a, 0x38, 0x76, 0x09, 0x5e, 0x5e, 0x04, 0xca, 0x03, + 0xec, 0xdf, 0x93, 0xad, 0x72, 0xfe, 0xe9, 0x26, 0x1f, 0xda, 0xb8, 0x6c, 0x90, 0x7d, 0x31, 0x9f, 0x03, 0x6b, 0x26, + 0x03, 0xaf, 0x15, 0x44, 0xd8, 0xfe, 0x36, 0x2c, 0xad, 0xb3, 0x94, 0xc1, 0x91, 0x96, 0xcb, 0x6c, 0x66, 0x35, 0xff, + 0xee, 0xc3, 0x94, 0x75, 0xcf, 0xfe, 0x40, 0xe4, 0x2e, 0xb2, 0x72, 0x11, 0x3a, 0xa3, 0xef, 0xcb, 0x60, 0x9c, 0x07, + 0x2f, 0xd9, 0x92, 0x7d, 0x8f, 0x0f, 0xaa, 0x14, 0xf8, 0x78, 0x58, 0x70, 0x9a, 0x7f, 0x8f, 0x0f, 0xaa, 0xa0, 0x9c, + 0xe0, 0x0a, 0x69, 0xe2, 0x5a, 0x62, 0xf3, 0xc4, 0x75, 0x1a, 0x09, 0xa0, 0xa0, 0x79, 0x64, 0x0e, 0xb2, 0xe7, 0x2e, + 0x5e, 0x62, 0xd2, 0xc1, 0x2e, 0x38, 0x98, 0x8d, 0xce, 0x6a, 0x83, 0x9a, 0x43, 0xdc, 0xba, 0x72, 0x36, 0xe6, 0xeb, + 0xd1, 0xd6, 0x82, 0x18, 0x65, 0x32, 0xb9, 0x7a, 0xc7, 0xe3, 0x9d, 0xc5, 0x42, 0x61, 0xb5, 0x60, 0x81, 0x6a, 0x55, + 0xaa, 0xf4, 0xb0, 0xf8, 0x6e, 0xc1, 0x2c, 0x28, 0x62, 0xb6, 0xde, 0xc3, 0x5b, 0xae, 0x08, 0x48, 0xc9, 0x2e, 0x09, + 0x5e, 0x29, 0x37, 0x98, 0xea, 0x1f, 0xa5, 0x07, 0x42, 0xcf, 0x94, 0x8e, 0xb0, 0xc9, 0x53, 0x10, 0x49, 0xec, 0xb0, + 0x85, 0x1d, 0x6b, 0xf4, 0x42, 0x78, 0x21, 0x05, 0xce, 0x55, 0xd3, 0xc4, 0x9c, 0x72, 0x13, 0x5d, 0xec, 0xa1, 0x5a, + 0xb0, 0x4c, 0x5b, 0x04, 0x38, 0x74, 0x68, 0x28, 0xc5, 0x73, 0x03, 0x0a, 0xf3, 0xbc, 0xb6, 0x4b, 0x79, 0x0c, 0x8b, + 0x17, 0xa4, 0x00, 0x51, 0xe3, 0x62, 0x5a, 0xd6, 0x59, 0xe4, 0xcb, 0x29, 0x17, 0x15, 0x32, 0x14, 0x4c, 0x2d, 0xa4, + 0x80, 0xd7, 0x2d, 0xca, 0x22, 0x86, 0x0e, 0xd5, 0xf0, 0xdd, 0x92, 0xb0, 0xb2, 0x8e, 0x39, 0xa6, 0xb8, 0xa8, 0x6a, + 0x00, 0x73, 0xf1, 0xd0, 0x08, 0x88, 0x3e, 0xd4, 0xeb, 0x2b, 0xf1, 0x56, 0x2e, 0xaa, 0x7c, 0x4f, 0xe3, 0x7c, 0x10, + 0x79, 0x67, 0x37, 0x8c, 0x36, 0xe6, 0x01, 0xaa, 0x60, 0xfb, 0xfe, 0xc6, 0xab, 0x47, 0xd9, 0x36, 0xe6, 0x09, 0xab, + 0x32, 0x6b, 0xc4, 0xca, 0xf7, 0x1a, 0xaa, 0xf6, 0xea, 0x55, 0x0b, 0x61, 0x2b, 0x02, 0x54, 0x0a, 0x3e, 0xde, 0xc9, + 0x7f, 0xa1, 0x6d, 0xbe, 0x3d, 0x87, 0xca, 0xf0, 0x40, 0x9e, 0x0c, 0x55, 0x3d, 0xe0, 0xa2, 0xfc, 0x10, 0xc0, 0xe2, + 0x47, 0x26, 0x96, 0xef, 0xbe, 0x0b, 0x64, 0xce, 0x54, 0x2c, 0xf1, 0x6a, 0x40, 0x87, 0xa9, 0x95, 0x87, 0x52, 0x09, + 0xb6, 0x3d, 0x37, 0x05, 0xd7, 0x3e, 0x68, 0x30, 0x1e, 0xb0, 0x61, 0xba, 0xaa, 0x07, 0x16, 0xb6, 0xa1, 0x8d, 0xbd, + 0x39, 0xa7, 0x89, 0xc4, 0x4b, 0x87, 0x38, 0x27, 0x60, 0x7b, 0x5c, 0x32, 0xf7, 0x71, 0x86, 0xfa, 0x75, 0x0e, 0x7f, + 0xb5, 0xc1, 0x39, 0xce, 0x50, 0xfa, 0x30, 0x86, 0x0b, 0xac, 0x0d, 0x06, 0xf0, 0x65, 0x96, 0x54, 0x81, 0x47, 0x6a, + 0x66, 0x24, 0x56, 0x77, 0x11, 0x88, 0x56, 0x3a, 0xbc, 0x1d, 0x67, 0x3e, 0x34, 0xb7, 0xe1, 0x5e, 0x9f, 0x19, 0xe1, + 0x70, 0x94, 0xc5, 0xb5, 0x73, 0x86, 0x93, 0xab, 0x43, 0x5e, 0x3b, 0x31, 0xc1, 0xda, 0x3b, 0x3c, 0x55, 0x40, 0x8f, + 0x06, 0xa7, 0x8a, 0xa5, 0x21, 0x10, 0x33, 0x01, 0xbc, 0x99, 0xc3, 0xa3, 0x2d, 0xc0, 0xf9, 0x68, 0x83, 0x83, 0xaf, + 0xb4, 0xd6, 0xd5, 0xb6, 0x12, 0x65, 0xb3, 0xc1, 0x83, 0x65, 0x86, 0x27, 0x19, 0x9e, 0x67, 0xc3, 0xe0, 0xb8, 0xf9, + 0x98, 0x85, 0x26, 0x5d, 0xeb, 0xf5, 0x0b, 0x67, 0x46, 0x88, 0xec, 0x4f, 0x4b, 0x7f, 0x50, 0x1f, 0x10, 0x3e, 0x85, + 0x2c, 0xa0, 0x25, 0x7d, 0xf7, 0xb7, 0x61, 0x5f, 0xee, 0x46, 0x8d, 0x98, 0x27, 0x96, 0x8c, 0xf4, 0xfd, 0x8f, 0x32, + 0xcb, 0xb6, 0xd6, 0x88, 0x16, 0xb7, 0x07, 0x51, 0xc3, 0xb7, 0x57, 0x9d, 0x2f, 0xa3, 0xd2, 0x6c, 0x07, 0x10, 0xc5, + 0x1a, 0x27, 0xe9, 0x60, 0x8d, 0xe4, 0x7a, 0x1d, 0xdb, 0x14, 0xc2, 0x93, 0x39, 0xa3, 0x6a, 0x59, 0x98, 0xc7, 0xec, + 0x62, 0x85, 0x12, 0xc3, 0xef, 0x62, 0x67, 0x23, 0x0a, 0x6f, 0xc7, 0x49, 0x30, 0xdc, 0x88, 0x05, 0x91, 0x35, 0x91, + 0xfb, 0x2e, 0xab, 0x2c, 0x83, 0x04, 0x11, 0x46, 0xe4, 0xb7, 0xd7, 0xa5, 0xc2, 0x3e, 0x97, 0x67, 0xff, 0x18, 0x5f, + 0x40, 0xb8, 0x79, 0x9b, 0xd2, 0x62, 0x44, 0xa7, 0xc0, 0xc6, 0x42, 0x1c, 0xc2, 0x9d, 0x84, 0xf5, 0x7a, 0x30, 0xec, + 0x09, 0x43, 0x9e, 0xdd, 0x63, 0x7e, 0x65, 0x43, 0xfb, 0x1b, 0x80, 0xab, 0x6e, 0x4b, 0xcd, 0xb5, 0xd1, 0xfd, 0x50, + 0xf3, 0xde, 0x18, 0x77, 0x49, 0xee, 0xc9, 0x90, 0xea, 0x55, 0xf0, 0x9a, 0x05, 0xb8, 0x09, 0x5d, 0x85, 0xc7, 0x78, + 0x69, 0x6d, 0x38, 0xcd, 0xe3, 0x52, 0xd4, 0xbc, 0x29, 0x05, 0x4f, 0x59, 0x13, 0x36, 0xc8, 0x86, 0x78, 0xec, 0x43, + 0x8f, 0x1f, 0xbe, 0x89, 0xc7, 0x08, 0x15, 0xc4, 0xc0, 0xd4, 0xba, 0x6c, 0x8f, 0x2b, 0xbb, 0x7d, 0x93, 0x69, 0x18, + 0x06, 0x63, 0xc4, 0x3c, 0x0e, 0x8d, 0x98, 0xf3, 0x46, 0x03, 0x2d, 0xc9, 0x18, 0x8c, 0x98, 0x97, 0x41, 0x6b, 0x4b, + 0xfb, 0xf0, 0x68, 0xd0, 0xde, 0x12, 0xa1, 0x1e, 0x07, 0x9a, 0xa6, 0xe1, 0x89, 0x91, 0xea, 0x89, 0x77, 0xff, 0xe0, + 0xd5, 0x49, 0x07, 0x14, 0x09, 0x93, 0x2b, 0x3f, 0x09, 0xeb, 0x1a, 0x6e, 0xc7, 0x3d, 0x31, 0xe3, 0x76, 0xb6, 0x0d, + 0x6a, 0x20, 0x07, 0xd9, 0x70, 0xd8, 0x93, 0xde, 0x4a, 0xa2, 0x85, 0x27, 0xd5, 0xa3, 0x24, 0xd5, 0xe2, 0x7d, 0xd1, + 0xdb, 0x57, 0xde, 0xdc, 0xbf, 0x75, 0xba, 0x7d, 0x1e, 0x03, 0x07, 0x74, 0x08, 0xf7, 0x43, 0x55, 0x7c, 0xb0, 0x93, + 0x0e, 0x44, 0x41, 0x4b, 0x5b, 0x35, 0x81, 0xd4, 0x9a, 0xd9, 0xc5, 0xba, 0xa9, 0xd0, 0xb1, 0x80, 0x30, 0x64, 0xaa, + 0xea, 0xee, 0x56, 0x05, 0xaa, 0x21, 0x0e, 0xa7, 0xfe, 0x63, 0x6b, 0xc4, 0x1a, 0x47, 0x9d, 0x71, 0x64, 0x8c, 0x24, + 0xed, 0xf2, 0xc1, 0x3b, 0x44, 0x60, 0x25, 0xe0, 0xe3, 0x41, 0x9b, 0x24, 0x63, 0x48, 0xf0, 0x86, 0x65, 0xda, 0xf0, + 0x21, 0xdc, 0x21, 0x28, 0x4f, 0x6c, 0x50, 0x5a, 0x57, 0xc9, 0x42, 0x2e, 0xe8, 0x32, 0x40, 0xcf, 0x2f, 0xe5, 0x6f, + 0x6c, 0x38, 0xb2, 0x00, 0x0e, 0xd9, 0xce, 0x3e, 0x01, 0x8f, 0x7c, 0x5c, 0x21, 0x88, 0x5f, 0x0a, 0x9d, 0x98, 0xd8, + 0xd9, 0xd7, 0xb0, 0x41, 0xf1, 0x02, 0x1c, 0x04, 0x9d, 0x04, 0x87, 0xc1, 0xbb, 0xcc, 0x6a, 0x92, 0x0d, 0x6e, 0xcd, + 0x49, 0xbc, 0x58, 0xaf, 0x5b, 0xe8, 0xf8, 0x27, 0xf3, 0x3c, 0xf4, 0xa4, 0x54, 0xb8, 0x4f, 0x2a, 0x85, 0x3b, 0x58, + 0x02, 0x92, 0x49, 0xa0, 0x6b, 0xc7, 0x32, 0x54, 0xa3, 0x43, 0xe4, 0xf2, 0x17, 0x10, 0xc7, 0xda, 0x1d, 0x4b, 0xa0, + 0x67, 0xdf, 0x29, 0x60, 0x75, 0xed, 0x65, 0x09, 0x64, 0x04, 0x77, 0xbf, 0x09, 0x8c, 0x0a, 0xd1, 0xf8, 0xfc, 0x99, + 0x17, 0x26, 0x78, 0xe2, 0xfc, 0xb9, 0xe6, 0x86, 0x75, 0x2f, 0xe8, 0x8d, 0x69, 0x3e, 0x9e, 0xe0, 0xe6, 0xc4, 0x82, + 0xf3, 0xa4, 0x03, 0x3f, 0x2d, 0x44, 0x4f, 0x3a, 0xd8, 0xa5, 0xe2, 0x49, 0x09, 0xe4, 0x10, 0x3d, 0x9d, 0x81, 0x14, + 0xb0, 0xd2, 0xb1, 0xd5, 0x22, 0x4d, 0xd1, 0x7a, 0x3d, 0xbd, 0x24, 0x2d, 0x84, 0x56, 0xea, 0x86, 0xeb, 0x6c, 0x06, + 0x3e, 0xd2, 0xa0, 0x18, 0x78, 0x4d, 0xf5, 0x2c, 0x46, 0x78, 0x82, 0x56, 0x63, 0x36, 0xa1, 0xcb, 0x5c, 0xa7, 0xaa, + 0xcf, 0x13, 0x1b, 0xb8, 0x97, 0xd9, 0x48, 0x70, 0x27, 0x1d, 0x3c, 0x35, 0xfc, 0xe5, 0x7b, 0x63, 0x0e, 0x52, 0x64, + 0x26, 0x79, 0x6a, 0x12, 0x30, 0x4f, 0xb2, 0x5c, 0x2a, 0x66, 0x9b, 0xe9, 0x59, 0xdb, 0x72, 0x08, 0x0f, 0x1e, 0xe9, + 0x82, 0x1b, 0x2b, 0xca, 0x28, 0x9d, 0x11, 0xd5, 0x57, 0x27, 0x9d, 0x74, 0x8a, 0x79, 0x02, 0x9c, 0xde, 0x5b, 0x19, + 0xb3, 0x46, 0x79, 0x2b, 0x3a, 0x47, 0xc7, 0x33, 0x2c, 0xaa, 0x4b, 0xd4, 0x39, 0x3a, 0x9e, 0x22, 0x3c, 0x6f, 0x90, + 0x99, 0x02, 0x8f, 0x61, 0x2e, 0xfe, 0x8f, 0x94, 0xff, 0xea, 0xb0, 0x21, 0xc4, 0xf4, 0x1b, 0xd8, 0x29, 0x6c, 0x1c, + 0xa5, 0x39, 0x01, 0xaf, 0xc5, 0xf6, 0x39, 0xce, 0xc8, 0xb4, 0x99, 0xfb, 0x80, 0x7b, 0xa6, 0x95, 0xc6, 0xad, 0x46, + 0xc7, 0x19, 0x1e, 0x6f, 0x27, 0xc5, 0x66, 0xae, 0xcd, 0x3c, 0xcd, 0xe0, 0x7c, 0xaf, 0x46, 0xe1, 0xca, 0x2f, 0xb7, + 0x93, 0xc2, 0xf2, 0x0e, 0xb8, 0xcd, 0x31, 0x16, 0x4d, 0x8a, 0x73, 0x3c, 0x6f, 0xbe, 0xc4, 0xf3, 0xe6, 0xbb, 0x32, + 0xa3, 0xb1, 0xc4, 0x02, 0x82, 0xf7, 0x41, 0x22, 0x9e, 0x57, 0xc9, 0x63, 0x2c, 0x1a, 0xa6, 0x3c, 0x9e, 0x37, 0xaa, + 0xd2, 0xcd, 0x25, 0x16, 0x0d, 0x53, 0xba, 0xf1, 0x0e, 0xcf, 0x1b, 0x2f, 0xff, 0xc5, 0xa4, 0xa3, 0x14, 0xd0, 0x65, + 0x81, 0x56, 0x99, 0x1d, 0xe2, 0xf5, 0xaf, 0x6f, 0xde, 0xb6, 0x3f, 0x76, 0x8e, 0xa7, 0xd8, 0xaf, 0x5f, 0x66, 0x70, + 0x2c, 0xd3, 0x31, 0x6b, 0x02, 0x44, 0x33, 0xdc, 0x39, 0x9e, 0xe1, 0xce, 0x71, 0xe6, 0x9a, 0xda, 0xcc, 0x1b, 0xe4, + 0x56, 0x87, 0x50, 0xd4, 0x51, 0x1a, 0xc2, 0xc7, 0x4f, 0x36, 0x9d, 0xa2, 0x1a, 0x28, 0xd1, 0xf1, 0xb4, 0x06, 0x2a, + 0xf8, 0x5e, 0xd6, 0xbe, 0xab, 0x7a, 0x15, 0x06, 0x59, 0x28, 0xa1, 0x70, 0xcd, 0x0d, 0x78, 0x6a, 0x29, 0x06, 0x32, + 0x61, 0x8a, 0x05, 0xca, 0x37, 0x40, 0x61, 0x94, 0x27, 0x66, 0xe8, 0xc1, 0x74, 0x4c, 0xe2, 0xff, 0xcf, 0x93, 0x29, + 0x87, 0x5e, 0x6e, 0x99, 0x9d, 0xe9, 0xb9, 0xc9, 0x84, 0xc3, 0x07, 0x1e, 0xeb, 0xff, 0xda, 0x81, 0x62, 0x03, 0x52, + 0xfc, 0x7f, 0xe9, 0xe8, 0x42, 0x30, 0x42, 0x56, 0x94, 0x16, 0x0e, 0xf1, 0xbf, 0x3d, 0xac, 0xa0, 0xfb, 0x62, 0xa7, + 0xfb, 0xc2, 0x74, 0x1f, 0x36, 0x6d, 0x54, 0x39, 0x69, 0x55, 0xc9, 0x92, 0xff, 0x3a, 0xdd, 0xda, 0x01, 0x8d, 0xa8, + 0xd1, 0xb3, 0x69, 0xd8, 0xe0, 0x61, 0x3b, 0xdd, 0x83, 0xcc, 0x1b, 0x6e, 0x5f, 0x2b, 0x85, 0xc3, 0x37, 0xb8, 0x53, + 0xbd, 0x6a, 0x81, 0xf7, 0xa6, 0x32, 0xfa, 0xca, 0x38, 0xb4, 0x1c, 0xa4, 0xdb, 0xa6, 0xdc, 0xc6, 0x58, 0x3a, 0xe9, + 0x62, 0xe3, 0x8a, 0x08, 0x95, 0x6e, 0xaf, 0x40, 0x29, 0x3e, 0xd1, 0x4d, 0x66, 0xbe, 0x2e, 0x75, 0x62, 0x2e, 0xa1, + 0x1a, 0xe6, 0xf3, 0xee, 0x4a, 0x27, 0x5a, 0x2e, 0x6c, 0xde, 0xdd, 0x25, 0xf4, 0x09, 0x1a, 0xd6, 0x46, 0x60, 0xb7, + 0xcf, 0x9d, 0x1d, 0x64, 0x70, 0x08, 0x86, 0x07, 0x90, 0x23, 0x2d, 0xb6, 0x0f, 0x6c, 0x5a, 0xc3, 0xae, 0x8b, 0x66, + 0x99, 0x68, 0x5b, 0x6d, 0x9a, 0x5c, 0xbb, 0x87, 0xf9, 0x22, 0xe4, 0x29, 0x44, 0x61, 0xf5, 0xe3, 0x7b, 0xd8, 0x8d, + 0x9b, 0x1a, 0x23, 0x51, 0x57, 0x32, 0x95, 0xd0, 0x4f, 0x6e, 0x31, 0x4b, 0xee, 0x8c, 0x17, 0xa3, 0x32, 0xfe, 0x3e, + 0x26, 0x2e, 0x7f, 0x54, 0x49, 0x72, 0x60, 0xd9, 0xdf, 0x60, 0xc9, 0x2d, 0x98, 0x27, 0x96, 0xd5, 0x24, 0xd6, 0xc9, + 0x5d, 0xb0, 0x88, 0xd2, 0x34, 0xb2, 0x31, 0x0c, 0xa8, 0x69, 0xc6, 0xaa, 0x07, 0x0f, 0x21, 0xd0, 0x43, 0xbf, 0x2c, + 0xa5, 0x5d, 0x67, 0x69, 0xad, 0x7b, 0x6d, 0xba, 0xdf, 0x1e, 0x50, 0x35, 0x8d, 0xcf, 0x01, 0xd7, 0xf4, 0xaf, 0x26, + 0x91, 0x8c, 0xd8, 0x3f, 0x9c, 0x15, 0x8f, 0x97, 0x85, 0xc1, 0x34, 0xd1, 0xd7, 0x49, 0xb6, 0x68, 0x83, 0xa9, 0x5e, + 0xb6, 0xe8, 0xdc, 0x62, 0xf7, 0x7d, 0x67, 0xbf, 0xef, 0xb0, 0xe8, 0x33, 0x93, 0x91, 0x32, 0x53, 0xcc, 0x7f, 0xdf, + 0xd9, 0xef, 0x3b, 0xbc, 0x3b, 0x98, 0x6b, 0x7f, 0xa1, 0x58, 0xb2, 0x33, 0x5c, 0x82, 0x09, 0x79, 0xc0, 0xdd, 0xd4, + 0xb2, 0x4c, 0x10, 0xd8, 0x5a, 0x02, 0xc4, 0xf9, 0x7c, 0x11, 0x57, 0xbc, 0x1a, 0x02, 0xee, 0xd3, 0xbb, 0xb6, 0x57, + 0xa9, 0xc0, 0x63, 0x82, 0x46, 0xc4, 0xc4, 0xb6, 0x31, 0x2f, 0x8d, 0x01, 0x97, 0x47, 0x74, 0xa9, 0x27, 0x49, 0x80, + 0x57, 0x35, 0x2a, 0x6f, 0x53, 0xa4, 0xfc, 0x22, 0x41, 0x8e, 0x2f, 0xf6, 0x88, 0x2a, 0x06, 0xb0, 0x2a, 0x4b, 0xfa, + 0x04, 0x52, 0xcf, 0x0f, 0x26, 0xfa, 0xcb, 0x36, 0xf2, 0xd8, 0x37, 0x77, 0x3f, 0x33, 0x3d, 0x2b, 0xe4, 0x72, 0x3a, + 0x03, 0x1f, 0x5a, 0x60, 0x19, 0x0a, 0x53, 0xaf, 0xb2, 0xf5, 0xaf, 0x49, 0x6e, 0x02, 0x28, 0x9c, 0x6e, 0xca, 0x84, + 0x66, 0x7a, 0x49, 0x73, 0x63, 0x49, 0xca, 0xc5, 0xf4, 0x91, 0xbc, 0xfd, 0x19, 0xb0, 0x9b, 0x12, 0xdd, 0xd8, 0x93, + 0xf7, 0x06, 0x76, 0x00, 0xce, 0x08, 0xdb, 0x57, 0xf1, 0xa1, 0x02, 0x9d, 0x3f, 0xce, 0x09, 0xdb, 0x57, 0xf5, 0x09, + 0xb3, 0xd9, 0x33, 0xb2, 0x35, 0xdc, 0x7e, 0x9c, 0x35, 0x72, 0x74, 0xd2, 0x49, 0xf3, 0x9e, 0x27, 0x06, 0x16, 0xa0, + 0x01, 0x70, 0x77, 0xb6, 0x67, 0x79, 0x77, 0x43, 0x40, 0xef, 0x92, 0x49, 0x7b, 0x5d, 0x6e, 0x52, 0xd6, 0xeb, 0x4e, + 0x45, 0x05, 0x0b, 0x3c, 0x0b, 0xf6, 0x02, 0xb5, 0x5f, 0x7b, 0x28, 0xce, 0xe3, 0x6c, 0xdb, 0xf4, 0xbc, 0xec, 0xbb, + 0xb7, 0x67, 0x91, 0xb1, 0x4d, 0x7b, 0xb3, 0x87, 0x48, 0x58, 0x4e, 0x58, 0x07, 0x9c, 0x70, 0x55, 0x3b, 0x20, 0x40, + 0x1f, 0x03, 0x91, 0x1b, 0x4b, 0xb2, 0xda, 0x54, 0x46, 0xf7, 0x81, 0xdf, 0x2d, 0x25, 0xd2, 0x8d, 0xb6, 0x24, 0x98, + 0x3e, 0xc1, 0xa8, 0xe9, 0xcc, 0x33, 0xd1, 0xb5, 0x17, 0x90, 0xb7, 0x45, 0x5b, 0xff, 0x1e, 0x33, 0x36, 0xdb, 0xc3, + 0xc4, 0x50, 0x06, 0x31, 0xd0, 0xfb, 0x88, 0xf7, 0x1a, 0x8d, 0x0c, 0x81, 0x42, 0x26, 0x1b, 0x62, 0x99, 0x78, 0x2d, + 0xfa, 0xd1, 0x91, 0x81, 0x47, 0x95, 0x80, 0x30, 0x05, 0x21, 0x24, 0xec, 0xda, 0x20, 0x6c, 0xb8, 0x5c, 0xb5, 0x5c, + 0xd8, 0x48, 0xb5, 0xa1, 0x83, 0xff, 0x57, 0xb8, 0x6c, 0xf5, 0xcc, 0x72, 0x51, 0x0c, 0x6e, 0xe6, 0x06, 0x2c, 0x12, + 0xa4, 0x47, 0x9b, 0xed, 0xa1, 0xb8, 0x3f, 0x17, 0x9b, 0x0d, 0x01, 0x89, 0x39, 0x4c, 0x50, 0x34, 0x9c, 0x1b, 0x63, + 0xac, 0x92, 0x4a, 0xcb, 0x5a, 0x93, 0x98, 0x83, 0x80, 0xd1, 0xe1, 0xba, 0xaf, 0x6e, 0x53, 0x86, 0xef, 0x52, 0x81, + 0x6f, 0xc0, 0x93, 0x26, 0x95, 0xd8, 0x3d, 0x5e, 0x50, 0x6c, 0x88, 0xee, 0x79, 0xf6, 0xb6, 0x80, 0x75, 0x36, 0x7b, + 0x44, 0x04, 0xbf, 0xab, 0x5f, 0x6d, 0xf0, 0xdd, 0xc2, 0x2f, 0xc1, 0xfa, 0x39, 0x38, 0x49, 0xb1, 0x68, 0xc8, 0x66, + 0xe1, 0x8e, 0x0c, 0x28, 0x57, 0xf1, 0xcb, 0x61, 0xea, 0x4e, 0x31, 0x5c, 0xfb, 0x78, 0x89, 0xdf, 0x6d, 0xb5, 0xdb, + 0x50, 0x65, 0x71, 0xbb, 0x37, 0x45, 0x43, 0x56, 0x4d, 0xef, 0xc9, 0xdc, 0x4a, 0xa9, 0x7f, 0xbd, 0xc3, 0xad, 0x9d, + 0xf6, 0xfd, 0x34, 0xdf, 0x78, 0x74, 0xae, 0x9a, 0xf6, 0xa9, 0xb5, 0x22, 0x38, 0xf8, 0xd9, 0xc2, 0xcd, 0x9d, 0x01, + 0x07, 0xf0, 0xf3, 0x77, 0x34, 0xaf, 0x32, 0x88, 0x4e, 0x6f, 0x35, 0xe3, 0xeb, 0xf8, 0xcf, 0x71, 0x23, 0xee, 0xa7, + 0x7f, 0x26, 0x7f, 0x8e, 0x1b, 0xa8, 0x8f, 0xe2, 0xc5, 0xed, 0x9a, 0xcd, 0xd7, 0x10, 0x6c, 0xed, 0xde, 0x09, 0x7e, + 0x1d, 0x96, 0xe4, 0x9a, 0xe6, 0x3c, 0x5b, 0xbb, 0xc7, 0xf9, 0xd6, 0x5c, 0xcc, 0x58, 0xc1, 0xf5, 0xda, 0xbc, 0x37, + 0xb5, 0x8e, 0xe5, 0x28, 0x87, 0xc0, 0xc2, 0xf1, 0x41, 0xb3, 0x3f, 0x68, 0x35, 0x1f, 0x0c, 0xed, 0xbf, 0x26, 0xc2, + 0x3d, 0xaa, 0x45, 0x6c, 0x7b, 0xb8, 0xb5, 0xf5, 0x63, 0x30, 0xec, 0x80, 0x50, 0xe0, 0x20, 0x97, 0xbe, 0xca, 0x90, + 0xf5, 0x3d, 0x59, 0xaf, 0x99, 0x8b, 0x66, 0xed, 0x34, 0xf8, 0x65, 0x6c, 0xa6, 0xe3, 0x76, 0xd2, 0xe9, 0x79, 0x31, + 0x96, 0x34, 0x20, 0xd2, 0x34, 0x66, 0x10, 0x48, 0x6a, 0x65, 0x38, 0xac, 0xc5, 0x6d, 0x94, 0x56, 0xf7, 0x47, 0x90, + 0xf2, 0x5d, 0x94, 0xf2, 0x13, 0x02, 0x01, 0xb4, 0x2d, 0x73, 0x54, 0x36, 0xe4, 0x7d, 0x97, 0x9e, 0x1a, 0x67, 0x86, + 0x06, 0x5f, 0xaf, 0x5b, 0x81, 0x6b, 0x52, 0x51, 0x1f, 0xe6, 0x6a, 0x03, 0x61, 0xb8, 0x40, 0xd7, 0xac, 0x88, 0xe8, + 0x87, 0xae, 0xf2, 0xf0, 0x36, 0x31, 0x96, 0x04, 0x9c, 0xf4, 0xfb, 0xa2, 0x5f, 0x90, 0xab, 0x87, 0x31, 0xf8, 0x98, + 0x61, 0x3e, 0xd0, 0x83, 0x62, 0x38, 0x44, 0xa9, 0x73, 0x3a, 0x4b, 0x4d, 0xc4, 0x95, 0xc0, 0x2f, 0xb9, 0x00, 0xbf, + 0x64, 0x85, 0xd8, 0xa0, 0x18, 0x92, 0xa7, 0x59, 0x2c, 0xc1, 0x29, 0x7f, 0x8f, 0xcf, 0xe3, 0x8b, 0xd0, 0xc0, 0xd4, + 0x0c, 0xcb, 0x5c, 0x64, 0x83, 0xc5, 0x9c, 0xb5, 0x04, 0x82, 0x9b, 0x01, 0x77, 0xa9, 0x0d, 0x89, 0xc6, 0x1a, 0x28, + 0xba, 0x8d, 0x42, 0x33, 0xa3, 0x27, 0x3b, 0x6d, 0x0c, 0x22, 0x87, 0x17, 0xe6, 0x1a, 0xc6, 0x22, 0x90, 0xb9, 0x5c, + 0xf5, 0xd8, 0x5f, 0x7e, 0xd8, 0xac, 0x30, 0x78, 0x45, 0xa6, 0x43, 0x77, 0x1c, 0x33, 0xbe, 0xca, 0x13, 0xc7, 0x10, + 0x64, 0x62, 0xa9, 0x74, 0xc3, 0x31, 0x71, 0x25, 0x7d, 0x26, 0x86, 0x6c, 0x37, 0x3c, 0x33, 0x17, 0xba, 0xd9, 0xfe, + 0xee, 0xdc, 0xce, 0x39, 0xe1, 0x46, 0x2b, 0x69, 0xb4, 0x51, 0xcf, 0x0c, 0x55, 0x75, 0xc1, 0xfc, 0x1e, 0x3a, 0x2d, + 0x2d, 0x76, 0xae, 0xde, 0xbd, 0xf0, 0xa5, 0xbc, 0x32, 0xfe, 0x16, 0xab, 0x42, 0x2b, 0x32, 0xdc, 0x6e, 0x21, 0x6f, + 0xce, 0xf4, 0xd0, 0x2b, 0x72, 0xa1, 0x3a, 0xfc, 0x45, 0x3d, 0x61, 0x1e, 0xcf, 0x8c, 0x1a, 0xc2, 0xa3, 0xdf, 0xeb, + 0x0c, 0x94, 0x7f, 0x30, 0x31, 0x99, 0xb3, 0xe4, 0x86, 0x16, 0x22, 0xfe, 0xfe, 0x85, 0x30, 0xb1, 0xaa, 0x0e, 0x60, + 0x20, 0x07, 0xa6, 0xe2, 0x01, 0xdc, 0x9a, 0xf0, 0x09, 0x67, 0xe3, 0xf4, 0x20, 0xfa, 0xbe, 0x21, 0x1a, 0xdf, 0x47, + 0xdf, 0x83, 0xbb, 0xb3, 0x7b, 0xa9, 0xb1, 0x8c, 0x0b, 0xe1, 0xef, 0xb1, 0x1e, 0x96, 0x2a, 0x65, 0xac, 0xbd, 0x6e, + 0x39, 0xbc, 0x90, 0x7a, 0x98, 0xc5, 0x0f, 0x1d, 0xb1, 0xb6, 0x29, 0x58, 0x87, 0x94, 0x14, 0x9e, 0x5d, 0x31, 0xb7, + 0x5a, 0xcc, 0x5d, 0x6a, 0x09, 0x7f, 0x7d, 0xf5, 0xb0, 0x54, 0x41, 0xc3, 0x41, 0xe8, 0x4a, 0x5b, 0x48, 0x80, 0x81, + 0x4b, 0xe9, 0xd3, 0xe9, 0xce, 0x24, 0xf2, 0x31, 0x8b, 0xe1, 0xdd, 0x83, 0xe0, 0xa2, 0x93, 0x6d, 0x85, 0x55, 0x81, + 0xcb, 0x95, 0x2a, 0xea, 0xa5, 0x24, 0x10, 0x80, 0xbe, 0xf4, 0x1e, 0x94, 0x97, 0x45, 0xaf, 0xd1, 0x90, 0xa0, 0x85, + 0xa5, 0xe6, 0x5a, 0x15, 0xd3, 0xc3, 0xf0, 0x85, 0xc1, 0xe0, 0xc3, 0x3b, 0xa4, 0x6d, 0x3d, 0xf3, 0x49, 0x09, 0xb5, + 0x3b, 0xe8, 0x10, 0xac, 0xb2, 0x83, 0xf2, 0x6f, 0x62, 0x8a, 0x6c, 0xfe, 0x80, 0x7d, 0x47, 0x5d, 0x87, 0x43, 0x57, + 0xb0, 0xea, 0xa5, 0x8c, 0x82, 0x01, 0x2b, 0xa7, 0x40, 0xed, 0x9d, 0x64, 0x34, 0x9b, 0x31, 0x50, 0xf7, 0xdb, 0xa2, + 0x81, 0xd1, 0x59, 0xdd, 0x6f, 0xc8, 0x38, 0xfb, 0x08, 0xe3, 0xec, 0xa3, 0xc0, 0x8b, 0x45, 0x92, 0x9f, 0x64, 0xac, + 0x71, 0xac, 0x9a, 0x02, 0x9d, 0x74, 0x80, 0x3b, 0x03, 0x07, 0x1e, 0xb0, 0x45, 0x39, 0x3a, 0xa2, 0xce, 0xe2, 0x9e, + 0x36, 0x32, 0xef, 0xed, 0x09, 0xb5, 0x8b, 0x58, 0xe0, 0x66, 0xcd, 0x4c, 0x0b, 0x5a, 0x2b, 0x8c, 0xf3, 0x78, 0xc0, + 0xdb, 0x3c, 0xab, 0xc5, 0x4f, 0xd8, 0xb2, 0xa6, 0xaa, 0xdf, 0x40, 0x73, 0x54, 0x0b, 0x72, 0xf3, 0xc4, 0x78, 0xab, + 0x92, 0x41, 0x14, 0x0d, 0x2d, 0xa7, 0x42, 0x0c, 0xc9, 0x18, 0xb4, 0x86, 0xc1, 0xad, 0xf6, 0x7a, 0xcd, 0x3d, 0xe2, + 0x8b, 0x9a, 0xb7, 0x9a, 0xb9, 0x05, 0xc8, 0x8a, 0x38, 0x2a, 0xef, 0x4d, 0x22, 0xf0, 0xbe, 0x2d, 0x23, 0xa4, 0xad, + 0x06, 0xf6, 0x19, 0xc9, 0x52, 0xb1, 0xf9, 0x96, 0x4e, 0x87, 0x69, 0x64, 0x47, 0x14, 0xe1, 0x8f, 0x25, 0x24, 0xe1, + 0x2a, 0xe9, 0xa3, 0xca, 0xe4, 0x82, 0xa9, 0x94, 0xe3, 0x8f, 0x85, 0x94, 0xfa, 0xda, 0x7e, 0x49, 0x5c, 0xdd, 0xc9, + 0x08, 0xfc, 0x71, 0xca, 0xf4, 0x5b, 0x5a, 0x4c, 0x19, 0xf8, 0x15, 0xf9, 0xdb, 0xb1, 0x94, 0x92, 0xab, 0x27, 0x22, + 0x1e, 0x50, 0x0c, 0x6f, 0xa0, 0x0e, 0xb1, 0x36, 0x21, 0x50, 0x4a, 0x5c, 0x84, 0x0b, 0xa2, 0xd7, 0x85, 0xbc, 0xbd, + 0x8b, 0x0b, 0xec, 0x1c, 0x00, 0x4b, 0xa7, 0x49, 0x80, 0x7f, 0xf9, 0x98, 0x8f, 0xd5, 0x98, 0x53, 0xa3, 0xeb, 0x77, + 0xbf, 0x93, 0x8f, 0x40, 0x6f, 0x4b, 0x47, 0xc1, 0x41, 0x6b, 0x08, 0xb9, 0x70, 0x17, 0x06, 0x17, 0x5f, 0x61, 0xed, + 0xa2, 0x30, 0xde, 0x58, 0x00, 0xbd, 0xf7, 0x19, 0x58, 0xb0, 0x61, 0x8e, 0x29, 0x3c, 0x20, 0x3b, 0x65, 0x3a, 0x88, + 0x0a, 0xf2, 0xa4, 0x7c, 0x22, 0xb4, 0x56, 0xfb, 0x0d, 0x9b, 0xc0, 0x1d, 0x46, 0xf2, 0xf5, 0xc2, 0x89, 0x03, 0x0f, + 0xc8, 0x34, 0x99, 0x6d, 0xf6, 0xb5, 0x8f, 0x3c, 0xf2, 0x6a, 0x12, 0xef, 0x6b, 0x29, 0xcc, 0x37, 0x2b, 0xba, 0xc1, + 0x10, 0x8a, 0x22, 0xec, 0xf7, 0x46, 0xc5, 0x14, 0x55, 0x06, 0x6d, 0xd0, 0xb0, 0xbc, 0x11, 0x3f, 0xc1, 0x19, 0x43, + 0xeb, 0x85, 0xec, 0x1d, 0x9d, 0x75, 0x38, 0x73, 0x98, 0x31, 0x23, 0x30, 0x2a, 0x2d, 0x0b, 0x3a, 0x05, 0x47, 0xe7, + 0xea, 0x83, 0xa8, 0xb8, 0x3a, 0x56, 0x00, 0x9e, 0x64, 0x06, 0xff, 0xe4, 0xdb, 0x60, 0x3d, 0x6c, 0xd5, 0x0c, 0x53, + 0x7f, 0xd2, 0xbb, 0xae, 0xe5, 0xab, 0x10, 0x47, 0xda, 0x18, 0x42, 0xeb, 0xdc, 0xde, 0x01, 0x8a, 0xb8, 0xa0, 0x17, + 0xa9, 0xc6, 0x1f, 0xd5, 0x72, 0x64, 0xd6, 0xd7, 0xb8, 0x8e, 0x69, 0x83, 0x28, 0xd6, 0x5d, 0x13, 0x7f, 0xac, 0x5e, + 0x64, 0x55, 0x29, 0xb0, 0xce, 0xa0, 0xfc, 0x50, 0xe5, 0x65, 0x43, 0x2a, 0xc9, 0x95, 0xe9, 0x54, 0x9a, 0x4e, 0x2b, + 0x84, 0x72, 0xe9, 0x49, 0x79, 0xff, 0x0a, 0x21, 0x0c, 0x4c, 0x99, 0x3d, 0x58, 0xa5, 0x76, 0xb0, 0x0a, 0x5e, 0xbd, + 0xd8, 0xc2, 0x2a, 0x09, 0xc7, 0x73, 0x89, 0x46, 0x45, 0x85, 0x43, 0x86, 0xf4, 0x85, 0x58, 0x04, 0x09, 0x80, 0x45, + 0x6f, 0x32, 0x97, 0xf7, 0x2d, 0x1c, 0x0a, 0x7b, 0x92, 0x49, 0x38, 0xdd, 0x84, 0xe6, 0xf0, 0x54, 0xaf, 0xea, 0x7b, + 0x84, 0x98, 0x99, 0xf8, 0x4f, 0xf0, 0x44, 0xf3, 0xb7, 0x9f, 0x86, 0x75, 0x16, 0xe4, 0xe9, 0xbf, 0x44, 0x49, 0x68, + 0xec, 0x3f, 0xc7, 0x43, 0x87, 0x84, 0xe1, 0xc0, 0xb7, 0x47, 0x58, 0xe1, 0xe0, 0x4e, 0x11, 0x9f, 0xc1, 0x1d, 0x3e, + 0xd6, 0xa1, 0x07, 0x80, 0x25, 0x14, 0x87, 0x20, 0xdf, 0x42, 0x31, 0x33, 0x6c, 0x4d, 0x56, 0xe1, 0x05, 0x2e, 0x58, + 0x2d, 0x94, 0xf7, 0xb7, 0x2d, 0x2f, 0xa5, 0xd5, 0x2e, 0x79, 0x8d, 0x39, 0x50, 0xf9, 0x19, 0x5e, 0xf8, 0x0a, 0xf3, + 0x76, 0xb4, 0xfb, 0xc2, 0x1f, 0x1d, 0xd0, 0x53, 0x08, 0x18, 0xe9, 0x7e, 0x6f, 0x08, 0xf7, 0x14, 0xbd, 0xcc, 0xc5, + 0x61, 0xdb, 0x41, 0xf7, 0x02, 0x73, 0x75, 0x5d, 0x65, 0x2d, 0xc0, 0x14, 0x1a, 0x1c, 0x54, 0xe1, 0x8c, 0xc0, 0x5c, + 0xbd, 0x28, 0x0b, 0x2e, 0x40, 0xbc, 0xef, 0x0b, 0x93, 0x53, 0x46, 0x03, 0xf8, 0x39, 0x2b, 0x1f, 0x9d, 0xea, 0x73, + 0x70, 0x19, 0x37, 0x6c, 0xe2, 0x5b, 0xe1, 0x53, 0x81, 0x95, 0xb4, 0xc6, 0xa1, 0x11, 0x1d, 0xd3, 0x05, 0x98, 0x6d, + 0x00, 0x05, 0x77, 0xe7, 0xc3, 0xd6, 0x42, 0x05, 0xcf, 0xe3, 0xd6, 0x5e, 0xb3, 0x26, 0xc4, 0x99, 0x34, 0x05, 0x77, + 0xdb, 0x45, 0x11, 0x98, 0xdf, 0xfe, 0x5b, 0x61, 0x91, 0x60, 0x40, 0xa5, 0x26, 0x09, 0xc2, 0x13, 0x94, 0x46, 0xba, + 0x95, 0x9b, 0x09, 0xa4, 0x13, 0x11, 0xde, 0x30, 0xbf, 0xd9, 0x3a, 0x5f, 0x1d, 0x35, 0x10, 0x15, 0x35, 0x50, 0x01, + 0x35, 0x90, 0xf5, 0xed, 0x5f, 0xc0, 0x42, 0xd8, 0x08, 0x55, 0x22, 0x08, 0x88, 0xb0, 0xd0, 0x86, 0x0f, 0x28, 0x92, + 0x10, 0xf2, 0x06, 0x50, 0x31, 0x25, 0xcf, 0xc0, 0x68, 0x1c, 0x5e, 0xef, 0x01, 0xf7, 0x4b, 0xcb, 0x30, 0x78, 0x4e, + 0xc1, 0xe4, 0xbf, 0xf4, 0xf9, 0x50, 0xbd, 0x5c, 0x1d, 0x84, 0xf0, 0x5b, 0x88, 0x15, 0xe1, 0xf8, 0x8b, 0x9f, 0x80, + 0x6c, 0x2a, 0x2c, 0x8f, 0x8e, 0x24, 0x08, 0xfc, 0x10, 0x45, 0x38, 0xe0, 0x19, 0x9e, 0x65, 0x5b, 0x44, 0xcf, 0xcf, + 0x4a, 0x55, 0xb3, 0x92, 0xc1, 0xac, 0x0a, 0x4f, 0xe3, 0xe8, 0x86, 0x30, 0x10, 0x5c, 0xa8, 0xdd, 0x37, 0x08, 0x81, + 0xb2, 0xe5, 0xc6, 0xd0, 0xa5, 0xa7, 0x60, 0x3e, 0x1a, 0x47, 0x6f, 0x18, 0x3c, 0xf2, 0x6b, 0xc2, 0xed, 0x30, 0xcd, + 0x32, 0x6d, 0x98, 0xc7, 0x46, 0xe0, 0xa4, 0x4e, 0x51, 0xf2, 0x49, 0x72, 0x11, 0x47, 0xcd, 0xab, 0x08, 0x35, 0xe0, + 0xdf, 0x06, 0x47, 0x3d, 0x9a, 0xd0, 0xf1, 0xd8, 0x07, 0xbf, 0xc9, 0x88, 0xd9, 0x64, 0xeb, 0xb5, 0xa8, 0x08, 0x7a, + 0x62, 0x37, 0x18, 0xb0, 0x12, 0x6f, 0x81, 0x7d, 0xb0, 0x1c, 0x2c, 0xf9, 0x59, 0xc4, 0xca, 0x9f, 0x52, 0x18, 0xac, + 0x9e, 0x33, 0x84, 0x70, 0x16, 0x84, 0x8d, 0xfe, 0xcf, 0x67, 0x1a, 0xae, 0x9f, 0x9f, 0xaf, 0x63, 0x44, 0xa4, 0x0f, + 0x22, 0x57, 0x63, 0x47, 0x44, 0x10, 0xb6, 0x4c, 0x0f, 0x5c, 0x99, 0xef, 0xbc, 0x75, 0xf5, 0xd0, 0x86, 0x8b, 0x03, + 0x03, 0x6a, 0x14, 0x18, 0xad, 0xe0, 0x9c, 0x94, 0x03, 0x07, 0x25, 0x84, 0x66, 0x45, 0x3c, 0x23, 0x57, 0x10, 0x09, + 0x2f, 0x43, 0x3d, 0x30, 0x2c, 0x08, 0x24, 0xa8, 0x19, 0x48, 0x50, 0x99, 0xaf, 0x3d, 0x86, 0x59, 0xe7, 0x66, 0xb6, + 0x33, 0xd4, 0x73, 0x41, 0x7e, 0x7e, 0xd2, 0xf1, 0x18, 0x58, 0xda, 0xa3, 0xa3, 0x02, 0x22, 0x88, 0x01, 0x05, 0x2f, + 0x25, 0xc0, 0x40, 0x03, 0x5e, 0x6c, 0x69, 0xc0, 0x17, 0xda, 0x78, 0x1d, 0x18, 0x5b, 0x9f, 0x32, 0xc8, 0xc5, 0x3f, + 0xd5, 0x9e, 0x26, 0x84, 0x1c, 0xb6, 0xfa, 0x3a, 0xdd, 0x8d, 0x90, 0xd8, 0xff, 0xa0, 0x4d, 0xa0, 0x31, 0x47, 0xba, + 0xab, 0x8d, 0xf9, 0xa9, 0xa6, 0x47, 0xac, 0x26, 0x21, 0x5d, 0x90, 0x2e, 0xcf, 0xa7, 0xfd, 0x03, 0x57, 0xac, 0xd2, + 0xc8, 0xc1, 0x05, 0xe8, 0xb3, 0x01, 0x01, 0x0a, 0x54, 0x9a, 0x4a, 0xd0, 0x22, 0x2e, 0x92, 0x92, 0x0d, 0xc3, 0x0c, + 0xc2, 0x14, 0x56, 0x2b, 0x41, 0xb7, 0xd6, 0x00, 0x78, 0x67, 0x66, 0xff, 0x94, 0x3e, 0xd8, 0x74, 0xe3, 0xcd, 0x23, + 0x80, 0x80, 0x1c, 0xb6, 0x4b, 0x76, 0x5d, 0x6c, 0x55, 0x66, 0x61, 0x2d, 0x63, 0x2b, 0xb7, 0xeb, 0x31, 0xf6, 0xb3, + 0xd8, 0xe5, 0x13, 0x20, 0x44, 0x6d, 0xc9, 0x34, 0x62, 0x09, 0x43, 0xd6, 0xb5, 0x21, 0x1b, 0x6d, 0x28, 0x3c, 0x95, + 0xc8, 0x81, 0x4b, 0x34, 0x41, 0xf2, 0x1d, 0x97, 0xe0, 0x10, 0x5e, 0x78, 0x84, 0xff, 0x02, 0x2c, 0x52, 0x81, 0x19, + 0x96, 0xeb, 0x35, 0xd4, 0xf3, 0x78, 0x9f, 0x6d, 0x07, 0x27, 0x95, 0x5b, 0x63, 0x97, 0x76, 0xe2, 0x71, 0xd9, 0x84, + 0xc4, 0x19, 0xf4, 0xeb, 0x2b, 0xa2, 0xfe, 0x61, 0x3b, 0x7d, 0xe2, 0xdf, 0x2b, 0x73, 0x3b, 0x10, 0x1b, 0xd6, 0x1b, + 0xac, 0x3e, 0x80, 0x96, 0x3f, 0xca, 0xfc, 0x43, 0x65, 0x81, 0x49, 0x82, 0xda, 0x5e, 0xc4, 0x1e, 0xeb, 0x21, 0x46, + 0x6a, 0x8b, 0xbb, 0x47, 0x88, 0x7f, 0xb4, 0x13, 0xc5, 0x80, 0x27, 0x15, 0xff, 0x1c, 0xa3, 0x1e, 0x84, 0xa2, 0xb6, + 0x1e, 0x36, 0x40, 0x69, 0x57, 0x9b, 0x4a, 0x8c, 0x0c, 0x09, 0xe4, 0x1b, 0x17, 0x5e, 0xd0, 0x9c, 0x44, 0x0a, 0xe4, + 0xe4, 0xaa, 0x8b, 0xf7, 0xd9, 0x96, 0x30, 0xd7, 0xdb, 0xc1, 0x31, 0x73, 0xb5, 0x91, 0x15, 0xf1, 0xcf, 0xc0, 0xce, + 0x70, 0x23, 0x59, 0x3a, 0xf0, 0xa9, 0x1a, 0xf8, 0xfc, 0x9a, 0x1b, 0x8a, 0xa2, 0x50, 0xff, 0x67, 0xfb, 0xc8, 0x1c, + 0xfc, 0x4e, 0x03, 0xf1, 0x31, 0x73, 0x3a, 0x92, 0xad, 0x50, 0x6b, 0xce, 0x8e, 0x97, 0x6d, 0x47, 0x18, 0x14, 0x36, + 0x7a, 0x5f, 0x85, 0xac, 0x62, 0x6f, 0xa7, 0x22, 0x98, 0xd3, 0x8d, 0xaa, 0x9c, 0x53, 0xb9, 0x65, 0x54, 0x4b, 0x4d, + 0x03, 0x44, 0xb8, 0xf2, 0x89, 0xe4, 0x79, 0x66, 0xc2, 0x3f, 0x18, 0x8c, 0xab, 0x47, 0x0a, 0x7f, 0xbe, 0x2f, 0x76, + 0xc8, 0x6e, 0x74, 0xb8, 0xad, 0xa0, 0x79, 0xa1, 0x82, 0x07, 0x1c, 0x95, 0x2c, 0x21, 0x52, 0xe4, 0xea, 0x50, 0xd5, + 0x4c, 0xd9, 0x3e, 0x46, 0x08, 0x21, 0xed, 0x71, 0xd6, 0x0d, 0xad, 0x1e, 0x7a, 0xa4, 0x72, 0x9a, 0xdc, 0xa1, 0xb9, + 0x2e, 0x40, 0x85, 0x11, 0x48, 0x57, 0x9f, 0xd9, 0x5d, 0x2a, 0x21, 0x7a, 0xf9, 0xc6, 0x85, 0x30, 0x76, 0x56, 0x96, + 0xb8, 0x30, 0xa3, 0xb6, 0x61, 0x74, 0xdd, 0xc6, 0x70, 0x36, 0x30, 0x66, 0x1a, 0x94, 0xb4, 0x20, 0xd4, 0x75, 0x8f, + 0x5e, 0x66, 0x26, 0xd0, 0x63, 0x4e, 0x68, 0x83, 0xe1, 0x19, 0xd1, 0x60, 0xd9, 0x54, 0x80, 0x05, 0xdf, 0xaa, 0x48, + 0xad, 0xcd, 0x26, 0x8b, 0x3f, 0xe8, 0xd8, 0x3c, 0xed, 0x97, 0x57, 0xcc, 0x73, 0xe1, 0xa8, 0xdb, 0x6f, 0x99, 0x8f, + 0x47, 0xf7, 0xf4, 0xf5, 0xf5, 0x8b, 0x9f, 0x5f, 0xbd, 0x5c, 0xaf, 0xdb, 0xac, 0xd9, 0x3e, 0xc3, 0x3f, 0xe8, 0x32, + 0x1e, 0x6c, 0x19, 0x05, 0xe8, 0xe8, 0xe8, 0x90, 0x1b, 0x17, 0x9e, 0xcf, 0x7c, 0x01, 0x71, 0x83, 0xf4, 0x10, 0xe7, + 0x45, 0x19, 0x13, 0xe4, 0x36, 0xea, 0x47, 0x77, 0x11, 0x28, 0xa1, 0x82, 0x87, 0x29, 0xb7, 0x67, 0x7f, 0x00, 0x81, + 0x89, 0xa0, 0x3e, 0x44, 0x00, 0x81, 0x78, 0xa5, 0xb8, 0x20, 0xcc, 0x27, 0x40, 0x14, 0xef, 0x09, 0x70, 0xa6, 0x26, + 0x6a, 0xd5, 0x44, 0xc5, 0x05, 0x90, 0x44, 0x1b, 0x8e, 0x92, 0x9e, 0x98, 0x00, 0xde, 0x10, 0x94, 0xd2, 0xfe, 0xea, + 0xe5, 0xce, 0x5d, 0x2a, 0x47, 0xfd, 0x56, 0x9a, 0xe3, 0x99, 0xfb, 0x9c, 0xc1, 0xe7, 0xac, 0xe7, 0x4f, 0x07, 0x71, + 0x9c, 0xe3, 0x25, 0x11, 0xc7, 0xfe, 0x59, 0xc4, 0xd5, 0xa2, 0x60, 0x5f, 0xb8, 0x5c, 0xaa, 0x74, 0x75, 0x9b, 0xca, + 0xe4, 0xb6, 0x39, 0x3e, 0x8e, 0x8b, 0xe4, 0xb6, 0xa9, 0x92, 0x5b, 0x84, 0xef, 0x52, 0x99, 0xdc, 0xd9, 0x94, 0xbb, + 0xa6, 0x82, 0x9b, 0x2f, 0x2c, 0xe0, 0x50, 0xb4, 0x45, 0x1b, 0xcb, 0xed, 0xa2, 0x36, 0xc5, 0x15, 0x0d, 0x30, 0xf8, + 0xef, 0x3d, 0x1b, 0x3f, 0x0c, 0x5f, 0x82, 0x4b, 0x93, 0x26, 0xf2, 0x03, 0x48, 0x3f, 0xad, 0xca, 0xc0, 0x7d, 0x46, + 0x5a, 0xbd, 0xd9, 0xa5, 0x68, 0xb6, 0x7b, 0x8d, 0xc6, 0x0c, 0xf6, 0x6e, 0x46, 0x72, 0x5f, 0x6c, 0xd6, 0x30, 0xf1, + 0x75, 0x0e, 0xb3, 0xf5, 0xfa, 0x30, 0x47, 0x66, 0xc3, 0x4d, 0x59, 0xac, 0x07, 0xb3, 0x21, 0x6e, 0xe1, 0xdf, 0x32, + 0x84, 0x56, 0x6c, 0x30, 0x1b, 0x12, 0x36, 0x98, 0x35, 0xda, 0x43, 0x6b, 0x68, 0x67, 0xb6, 0xe2, 0x06, 0x42, 0x68, + 0xce, 0x86, 0x27, 0xa6, 0xa4, 0x74, 0xf9, 0xf6, 0x8b, 0x56, 0x01, 0xfd, 0x54, 0x2d, 0x78, 0x99, 0xc4, 0x1d, 0xe8, + 0x8b, 0x5e, 0xda, 0xa7, 0x5b, 0x0b, 0x72, 0x7a, 0x52, 0xb9, 0xda, 0x53, 0x84, 0x4d, 0x4f, 0xea, 0xb8, 0x38, 0x36, + 0xcd, 0xb8, 0x2e, 0xa5, 0xfb, 0x0e, 0x35, 0x23, 0xbf, 0x3b, 0x58, 0x00, 0x82, 0x54, 0xf0, 0xc8, 0x0b, 0x17, 0x4e, + 0x29, 0x84, 0x8b, 0x83, 0xca, 0x0e, 0x4c, 0x72, 0xd2, 0xea, 0xe5, 0xc6, 0xd2, 0x3f, 0x77, 0x11, 0x4d, 0x29, 0xa6, + 0x24, 0xf3, 0x25, 0x73, 0x03, 0x16, 0xba, 0x4d, 0x79, 0x66, 0xa0, 0x57, 0x1a, 0xe2, 0x31, 0x81, 0x78, 0x48, 0xbd, + 0xc2, 0x18, 0x78, 0xc5, 0xb3, 0x66, 0x31, 0x60, 0x43, 0x74, 0x72, 0x8a, 0xe9, 0xe0, 0xaf, 0x6c, 0xd1, 0x86, 0xc7, + 0x02, 0xff, 0x1a, 0x92, 0x59, 0x53, 0x96, 0x09, 0x02, 0x12, 0xc6, 0x4d, 0x79, 0x0c, 0x7b, 0x09, 0xe1, 0xcc, 0x56, + 0xcc, 0x06, 0x6c, 0xd8, 0x9c, 0x95, 0x15, 0x3b, 0xbe, 0x62, 0x43, 0x96, 0x09, 0xb6, 0x62, 0xc3, 0x55, 0x0c, 0x40, + 0xf0, 0x93, 0x01, 0x41, 0x08, 0x00, 0x06, 0x00, 0xd0, 0x28, 0x88, 0xe6, 0x8b, 0x15, 0xf1, 0x9b, 0xdd, 0xde, 0xe3, + 0xb7, 0xc0, 0x02, 0xad, 0xb6, 0xff, 0xf7, 0xa1, 0x0c, 0xd8, 0x53, 0x16, 0x26, 0x66, 0x6e, 0x61, 0x55, 0x74, 0x00, + 0x95, 0x12, 0x61, 0x0a, 0x03, 0x99, 0xc3, 0xcc, 0x40, 0x2d, 0xd0, 0x1a, 0xe4, 0x03, 0x3d, 0x6c, 0x66, 0x70, 0xc4, + 0xc0, 0x3b, 0x34, 0x64, 0x66, 0x8c, 0x09, 0xe3, 0x1c, 0xa6, 0x98, 0x19, 0xf0, 0xcc, 0xd2, 0xd6, 0x46, 0x1a, 0x59, + 0xae, 0x9f, 0xf7, 0xff, 0xd6, 0xb1, 0x1a, 0x14, 0xcd, 0xf6, 0x10, 0x1d, 0x12, 0x62, 0x3f, 0x86, 0xb0, 0xc9, 0x5c, + 0x6a, 0xc3, 0x7c, 0x9f, 0x74, 0x52, 0xfb, 0x09, 0x7f, 0x86, 0x1b, 0xb3, 0x03, 0x40, 0x47, 0x86, 0xcd, 0xfa, 0xcb, + 0x9a, 0xca, 0xeb, 0xc3, 0xde, 0x28, 0x95, 0xfb, 0xde, 0x9d, 0x0e, 0xe2, 0x44, 0x86, 0xde, 0x7a, 0xb8, 0x7c, 0xa8, + 0x87, 0x80, 0x19, 0x83, 0xb9, 0x65, 0x46, 0xdf, 0x0a, 0x91, 0x5c, 0x10, 0x09, 0x2c, 0x09, 0xa6, 0x84, 0xc1, 0xde, + 0x3a, 0x3a, 0x32, 0xd5, 0x58, 0x03, 0x9e, 0x27, 0x45, 0x20, 0x18, 0xf8, 0x08, 0xca, 0x80, 0x26, 0xca, 0xdc, 0x86, + 0x93, 0x0f, 0xcc, 0xfd, 0xc2, 0xe5, 0xed, 0x63, 0xe1, 0xb4, 0xad, 0xe6, 0x7a, 0xbc, 0x2c, 0x70, 0x57, 0xde, 0x4b, + 0x5a, 0x05, 0x37, 0xb2, 0x37, 0x79, 0xca, 0xdc, 0xad, 0xfb, 0x52, 0x9d, 0xfd, 0xcd, 0x74, 0xca, 0x66, 0x3a, 0xbb, + 0xcd, 0x84, 0x71, 0x25, 0xbf, 0x66, 0x15, 0x69, 0x4e, 0xd6, 0x44, 0x2d, 0xa8, 0xf8, 0x81, 0x2e, 0x40, 0x3b, 0xca, + 0xed, 0xbd, 0x2a, 0x9c, 0x5c, 0x39, 0xb9, 0x3a, 0xcc, 0x0d, 0x71, 0x45, 0xe6, 0x42, 0x1d, 0x02, 0xbc, 0xbc, 0x28, + 0x1f, 0x1f, 0xe0, 0x52, 0xfc, 0x22, 0xc7, 0x2e, 0xca, 0xa9, 0x90, 0x5a, 0x0a, 0x16, 0x21, 0x83, 0xaa, 0x2e, 0x06, + 0xf6, 0xca, 0xee, 0x3d, 0xd1, 0xe7, 0x83, 0x2a, 0x62, 0xde, 0xd0, 0x3c, 0xf7, 0xf1, 0x2d, 0x4d, 0xb1, 0x53, 0x13, + 0x67, 0xe4, 0x43, 0x16, 0xe7, 0x20, 0x9b, 0x0d, 0xaa, 0xd7, 0x7e, 0x1b, 0x6d, 0x5c, 0x34, 0x63, 0xd1, 0x37, 0x4f, + 0x9c, 0x7c, 0x57, 0x18, 0xe3, 0x00, 0xeb, 0xe8, 0x8f, 0x30, 0xb5, 0x60, 0xcf, 0x12, 0x4f, 0xa1, 0x93, 0x5b, 0x9b, + 0x76, 0x17, 0xa6, 0xdd, 0x99, 0xb4, 0x0e, 0x94, 0x03, 0xd2, 0xec, 0xca, 0x74, 0xee, 0xfc, 0xf7, 0x1d, 0xbc, 0x74, + 0xbb, 0x81, 0x48, 0xdc, 0x8b, 0x47, 0xc6, 0x18, 0xe2, 0x35, 0xd8, 0x88, 0xaa, 0xa3, 0xa3, 0x1f, 0x9c, 0xf7, 0x6d, + 0x25, 0xcb, 0x7e, 0x2d, 0x1c, 0xd8, 0x16, 0x53, 0xe9, 0xf2, 0xc6, 0x32, 0x5b, 0x82, 0x5d, 0xe7, 0xe1, 0xfe, 0x78, + 0xf8, 0xcf, 0x44, 0xc8, 0xb4, 0x58, 0x57, 0xf1, 0x97, 0x72, 0x5c, 0x7a, 0x88, 0x6a, 0x88, 0x40, 0x5a, 0x59, 0x97, + 0x86, 0xa6, 0xa3, 0xd7, 0x33, 0x3a, 0x96, 0x37, 0x6f, 0xa4, 0xd4, 0x43, 0xfb, 0x22, 0xb7, 0x4e, 0xe0, 0xd1, 0xc2, + 0x1a, 0x43, 0x73, 0x57, 0x7a, 0x27, 0xd9, 0x80, 0xa8, 0xf5, 0x71, 0x87, 0x92, 0x48, 0x2c, 0xaa, 0xbb, 0x10, 0x0e, + 0x77, 0x21, 0x98, 0x97, 0x41, 0xdb, 0x20, 0x76, 0xbb, 0x0b, 0xda, 0x06, 0x4e, 0xdd, 0x36, 0x70, 0x7b, 0x30, 0x58, + 0xd8, 0xfb, 0xf0, 0x72, 0x2c, 0xc7, 0xc2, 0xf1, 0x07, 0xaf, 0xed, 0x03, 0x40, 0xa0, 0xf6, 0x61, 0xc5, 0x13, 0x07, + 0x82, 0xc4, 0x19, 0x8e, 0xbe, 0xe7, 0xec, 0xc6, 0x5a, 0x0e, 0xcf, 0x17, 0x4b, 0xcd, 0xc6, 0xe6, 0x8e, 0x1a, 0x54, + 0x7c, 0x75, 0x3f, 0xaf, 0x3f, 0xb2, 0x9a, 0x6e, 0xfc, 0x35, 0x84, 0x91, 0x70, 0xca, 0x0e, 0xa3, 0x90, 0xb0, 0xc1, + 0xac, 0xaa, 0x78, 0x6d, 0x10, 0xef, 0x41, 0x9b, 0x70, 0x82, 0x45, 0xed, 0x82, 0x2a, 0xc2, 0x36, 0xde, 0x58, 0x10, + 0xe5, 0xe1, 0xd5, 0x8e, 0xd1, 0xf4, 0x6a, 0x03, 0x81, 0x8e, 0xfb, 0x51, 0x33, 0x6a, 0xb0, 0xd4, 0x05, 0x65, 0xf6, + 0x11, 0xc6, 0xd5, 0xe5, 0x99, 0x89, 0xd3, 0x5e, 0xea, 0xd5, 0x7f, 0xcc, 0xc0, 0x00, 0x5f, 0x80, 0x97, 0x58, 0x18, + 0xdd, 0x75, 0xa0, 0x1b, 0x50, 0x5f, 0x36, 0xd8, 0x10, 0xad, 0xd7, 0xad, 0xf2, 0x19, 0x28, 0x77, 0xcd, 0x25, 0xec, + 0x35, 0x97, 0x70, 0xd7, 0x5c, 0xc2, 0x5f, 0x73, 0x09, 0x73, 0xcd, 0x25, 0xfc, 0x35, 0x97, 0x07, 0xa1, 0xce, 0xab, + 0xa0, 0x51, 0x31, 0x87, 0xb8, 0x8a, 0xda, 0x46, 0xc6, 0x83, 0x0b, 0xcf, 0x43, 0x96, 0xa8, 0x72, 0xf9, 0x03, 0x98, + 0xb1, 0x7c, 0xdb, 0x56, 0xc2, 0xb8, 0x4d, 0x31, 0x05, 0x91, 0xd3, 0x8f, 0x8e, 0x2a, 0x77, 0xe7, 0x41, 0x6b, 0x98, + 0x72, 0xbc, 0xb2, 0x4e, 0xb4, 0xbf, 0x83, 0x4e, 0xde, 0xfc, 0xfa, 0x90, 0xca, 0x0d, 0x11, 0xce, 0xe4, 0xfe, 0xb0, + 0x5d, 0x52, 0x8a, 0xdc, 0x84, 0x27, 0xe7, 0x89, 0x36, 0x22, 0x08, 0x42, 0x94, 0x28, 0x9c, 0x11, 0x69, 0xf7, 0xbb, + 0x77, 0x85, 0x37, 0xaa, 0x28, 0x6f, 0x56, 0xf2, 0x38, 0x07, 0x27, 0x76, 0x63, 0x85, 0x81, 0x7a, 0xe0, 0x42, 0x90, + 0x99, 0x84, 0xdf, 0x9b, 0xb9, 0x25, 0x67, 0x59, 0x99, 0xf4, 0xa1, 0x99, 0x1b, 0x02, 0xf6, 0xff, 0xb2, 0xf7, 0xae, + 0xcb, 0x6d, 0x23, 0xc9, 0xba, 0xe8, 0xab, 0x48, 0x0c, 0x37, 0x1b, 0x30, 0x8b, 0x14, 0xe5, 0xbd, 0x67, 0x22, 0x0e, + 0xa8, 0x32, 0xc3, 0x96, 0xdb, 0xd3, 0x9e, 0xf1, 0x6d, 0x6c, 0x77, 0x4f, 0xf7, 0x30, 0x78, 0xd8, 0x10, 0x50, 0x14, + 0xe0, 0x06, 0x01, 0x1a, 0x00, 0x25, 0xd2, 0x24, 0xde, 0x7d, 0x47, 0x66, 0xd6, 0x15, 0x04, 0x65, 0xcf, 0x5a, 0x7b, + 0xfd, 0x3a, 0xe7, 0x8f, 0x2d, 0x16, 0x0a, 0x85, 0xba, 0x57, 0x56, 0x5e, 0xbe, 0xaf, 0xe4, 0xe7, 0xaa, 0xcf, 0xf6, + 0xdb, 0x20, 0x64, 0xbb, 0x20, 0x62, 0x37, 0xc5, 0x36, 0x28, 0xad, 0x23, 0xf1, 0xa3, 0x32, 0xfc, 0x2d, 0xbd, 0x5e, + 0x1e, 0x42, 0xbc, 0x4f, 0x2f, 0xcd, 0xcf, 0xd2, 0x56, 0x14, 0xe0, 0x3e, 0x42, 0x8f, 0xea, 0x40, 0xb0, 0x13, 0x9e, + 0xf0, 0x00, 0x4e, 0x56, 0xb3, 0x8a, 0xbf, 0x4f, 0x41, 0x9c, 0x28, 0x38, 0x04, 0x5c, 0x6d, 0x3f, 0xa6, 0x5f, 0xc1, + 0xf0, 0xa5, 0x83, 0x2d, 0x87, 0x37, 0xc5, 0xb6, 0xc7, 0x4a, 0xfe, 0x0e, 0xd8, 0xb7, 0x7a, 0x32, 0x56, 0xb7, 0x07, + 0xce, 0xba, 0x94, 0xa2, 0xe3, 0x4d, 0x71, 0x78, 0x7b, 0x3e, 0xdb, 0x6f, 0x83, 0x88, 0xed, 0x82, 0x0c, 0x6b, 0x9d, + 0x34, 0x1c, 0x07, 0x43, 0xf8, 0x2c, 0x46, 0xd8, 0xff, 0x65, 0x3d, 0xf0, 0x12, 0x52, 0x43, 0x81, 0x8b, 0xc1, 0x86, + 0xa3, 0xb5, 0x5d, 0xa6, 0x81, 0x9b, 0x1a, 0xf4, 0xfa, 0x9e, 0x42, 0x94, 0x97, 0x8c, 0xe6, 0x46, 0xb0, 0x6e, 0x0c, + 0xb9, 0x38, 0x1c, 0x37, 0xcb, 0x21, 0x2f, 0x69, 0x3a, 0x0d, 0x42, 0xe9, 0xce, 0xb2, 0x86, 0x24, 0xca, 0x3e, 0x08, + 0xb5, 0x6b, 0xcb, 0x7e, 0x1b, 0xd8, 0xbe, 0xfc, 0xd1, 0x30, 0xf6, 0x2f, 0x96, 0x8f, 0x85, 0x74, 0x11, 0xcf, 0x41, + 0x10, 0xb5, 0x9f, 0x67, 0xc3, 0x8d, 0x7f, 0xb1, 0x7e, 0x2c, 0x94, 0xdf, 0x78, 0x6e, 0xcb, 0x21, 0x69, 0xd6, 0xc2, + 0x17, 0xc6, 0x29, 0xc1, 0x95, 0xa1, 0xed, 0x70, 0x10, 0xfa, 0x6f, 0xb3, 0x46, 0x70, 0x63, 0x43, 0xfb, 0x7c, 0xe1, + 0xc3, 0xd6, 0x46, 0x63, 0x4d, 0x31, 0xdd, 0x42, 0xff, 0x26, 0xb3, 0xa5, 0x3d, 0x8d, 0x4a, 0x5e, 0x9c, 0x9a, 0x46, + 0x2c, 0x84, 0x01, 0x43, 0x3f, 0x99, 0x77, 0xa0, 0x9a, 0x3b, 0x1e, 0x81, 0x4c, 0x3e, 0xd0, 0x83, 0x35, 0xa9, 0x55, + 0x7f, 0x0d, 0x33, 0xf9, 0x7f, 0xa4, 0xc2, 0x62, 0x74, 0xb7, 0x0d, 0x33, 0xf5, 0x47, 0x24, 0xff, 0x60, 0x39, 0xdf, + 0xa5, 0x5e, 0xa8, 0xfd, 0x58, 0x58, 0x81, 0x41, 0x89, 0xaa, 0x01, 0x3d, 0x10, 0x41, 0x55, 0x06, 0x69, 0x86, 0xd5, + 0x39, 0xe8, 0x77, 0x4f, 0xab, 0x8e, 0xe4, 0x90, 0xd6, 0x6a, 0x48, 0x05, 0x53, 0xa5, 0x06, 0xf9, 0xe1, 0x70, 0x9b, + 0x32, 0x5d, 0x06, 0x5c, 0xd2, 0x6f, 0x53, 0xa5, 0x14, 0xfe, 0x82, 0x00, 0x74, 0x0e, 0xee, 0xf1, 0xe5, 0x18, 0x48, + 0x33, 0x2c, 0xfc, 0xd6, 0xec, 0xf8, 0x9a, 0x84, 0xdb, 0x24, 0xb8, 0x18, 0xe0, 0x1c, 0x5d, 0x85, 0xe5, 0x6d, 0x0a, + 0x11, 0x54, 0x25, 0xd4, 0xb7, 0x32, 0x0d, 0x4a, 0x5b, 0x0d, 0xc2, 0x9a, 0x84, 0x3a, 0x93, 0x6c, 0x54, 0xda, 0x6e, + 0x14, 0x66, 0x8b, 0xb8, 0x9e, 0x11, 0xd6, 0x9c, 0xcd, 0x54, 0x03, 0x93, 0x86, 0xe3, 0xa6, 0xd1, 0x5a, 0x54, 0xa8, + 0x29, 0xcc, 0x6b, 0x5c, 0x55, 0xaa, 0xba, 0x9b, 0x53, 0x4b, 0x69, 0xd9, 0x5e, 0x75, 0x93, 0x6c, 0xc8, 0x65, 0x28, + 0xc3, 0x60, 0x23, 0x47, 0x30, 0x81, 0x24, 0x39, 0xf3, 0x37, 0xf2, 0x0f, 0xb5, 0xe9, 0x5a, 0xc0, 0x1c, 0x63, 0x96, + 0x0d, 0x0b, 0x7a, 0x05, 0xee, 0x81, 0x56, 0x7a, 0x3e, 0xcd, 0x2e, 0xf2, 0x20, 0x19, 0x16, 0x7a, 0xd9, 0x64, 0xfc, + 0x8b, 0x30, 0xd2, 0x64, 0xc6, 0x4a, 0x16, 0xd9, 0xae, 0x4e, 0x89, 0xf3, 0x38, 0x81, 0xed, 0xd1, 0xf4, 0x96, 0xef, + 0x33, 0x88, 0x0a, 0x02, 0x05, 0x33, 0xe6, 0xcb, 0x2e, 0x9e, 0xf8, 0x3e, 0xb3, 0x4c, 0xdd, 0x87, 0x83, 0x31, 0x63, + 0xfb, 0xfd, 0x7e, 0xde, 0xef, 0xab, 0xf9, 0xd6, 0xef, 0x27, 0x4f, 0xcd, 0xdf, 0x1e, 0x30, 0x28, 0xc8, 0x89, 0x68, + 0x2a, 0x44, 0xf0, 0x0f, 0xc9, 0x63, 0x24, 0xa3, 0x3b, 0xee, 0x73, 0xcb, 0xf3, 0xb3, 0x3a, 0x02, 0xc1, 0x3c, 0x1c, + 0x2e, 0x15, 0xd8, 0xb5, 0x44, 0x91, 0x90, 0xe5, 0x3f, 0x06, 0xe3, 0x99, 0xfb, 0x00, 0x4b, 0x06, 0x20, 0x6c, 0x95, + 0xa7, 0xeb, 0x3d, 0x5f, 0x05, 0xef, 0x74, 0xbc, 0x6b, 0xac, 0xc8, 0x40, 0xdc, 0x02, 0x1b, 0xb1, 0xd6, 0x1e, 0x90, + 0x33, 0x05, 0x38, 0x5e, 0x1c, 0x0e, 0xe7, 0xf2, 0x97, 0x6e, 0xb6, 0x4e, 0xa0, 0x52, 0xe0, 0xf6, 0xe8, 0xe4, 0xe0, + 0x7f, 0x00, 0xcd, 0xa0, 0x1c, 0xe6, 0xf5, 0xf6, 0x0f, 0xe6, 0xe4, 0xa7, 0xa7, 0xf8, 0x27, 0x3c, 0x44, 0xa7, 0xdf, + 0xee, 0xcd, 0x1f, 0x14, 0x95, 0x87, 0x83, 0x5a, 0xfc, 0xe7, 0x9c, 0x57, 0xf0, 0x0b, 0xdf, 0x04, 0x66, 0x93, 0xa9, + 0x77, 0xf2, 0x4d, 0x9e, 0x33, 0xf5, 0x1a, 0xaf, 0x98, 0x7c, 0x87, 0xc3, 0xb9, 0x18, 0xd5, 0xdb, 0x91, 0x13, 0xed, + 0x94, 0x63, 0x1c, 0x0c, 0xfe, 0x8b, 0x68, 0x9b, 0x10, 0x60, 0x28, 0x97, 0x68, 0x66, 0xe3, 0xca, 0x12, 0xcf, 0xd2, + 0xf9, 0xe5, 0xa4, 0x2e, 0x77, 0x5a, 0xf1, 0xb4, 0x07, 0x16, 0xb7, 0x35, 0x78, 0x01, 0xdc, 0x59, 0x6c, 0x5d, 0x29, + 0x38, 0x5c, 0x40, 0x9c, 0xe2, 0x04, 0x44, 0xd0, 0x7e, 0x5f, 0xe2, 0xbd, 0x82, 0x3e, 0xe9, 0x27, 0x08, 0x86, 0x7c, + 0x2d, 0x01, 0x77, 0xbd, 0x5e, 0x8d, 0xf1, 0xbd, 0x14, 0x82, 0xeb, 0x33, 0x0d, 0x40, 0x0b, 0x7e, 0x97, 0x0f, 0xe5, + 0xf4, 0x9b, 0x08, 0x3c, 0x5b, 0xf6, 0x26, 0xca, 0xdd, 0x86, 0xa7, 0xfd, 0xd8, 0x42, 0x00, 0x96, 0xe2, 0x99, 0x12, + 0x2c, 0xc8, 0x29, 0xe6, 0xe2, 0xff, 0x05, 0x1f, 0x31, 0xdf, 0x93, 0x2e, 0x62, 0xeb, 0xed, 0xa3, 0x0b, 0x03, 0x09, + 0x34, 0x1d, 0x80, 0x1f, 0xaf, 0x02, 0xba, 0x32, 0x3e, 0xb3, 0x96, 0xf5, 0x58, 0x1f, 0xff, 0x29, 0xb8, 0x4f, 0x3f, + 0x56, 0xf8, 0xe8, 0x70, 0x5c, 0xa5, 0xa3, 0x1d, 0xa5, 0x20, 0x3a, 0xba, 0x7d, 0x3e, 0x15, 0xd9, 0x77, 0x15, 0x90, + 0x5b, 0x8e, 0xda, 0x53, 0x01, 0x58, 0x6c, 0xe9, 0x08, 0x7c, 0x9a, 0xe5, 0x13, 0xf2, 0xbd, 0x9e, 0x8a, 0xab, 0x4b, + 0x9d, 0x2e, 0x9e, 0x8e, 0xa7, 0xf0, 0x3f, 0x10, 0x7b, 0x58, 0xd8, 0xb9, 0x1d, 0xbb, 0x2e, 0x7e, 0x10, 0x6f, 0x6b, + 0x3b, 0xfa, 0x63, 0x07, 0x91, 0x8e, 0x7b, 0x72, 0xa1, 0xbe, 0x84, 0x54, 0x72, 0xa1, 0x6e, 0x20, 0x76, 0xa1, 0xc6, + 0x3b, 0x2e, 0x62, 0xad, 0xbf, 0xa9, 0x51, 0xb0, 0x12, 0x70, 0xa6, 0xbd, 0x01, 0x83, 0x0d, 0xac, 0x5b, 0x96, 0xc1, + 0xdf, 0x70, 0x4d, 0x13, 0xb8, 0x61, 0x91, 0xf5, 0xde, 0x60, 0x2b, 0xbd, 0x01, 0x47, 0xcb, 0xc4, 0xb9, 0x94, 0x24, + 0x65, 0x8b, 0x8c, 0xab, 0x47, 0x21, 0x55, 0xd3, 0xfd, 0x8d, 0xa8, 0xef, 0x85, 0xc8, 0x83, 0x55, 0xca, 0xa2, 0x62, + 0x05, 0x32, 0x7b, 0xf0, 0xf7, 0x90, 0x91, 0xa3, 0x1c, 0x38, 0x0a, 0xfd, 0xb3, 0x09, 0x74, 0x1e, 0x11, 0xe9, 0x3c, + 0x12, 0x6c, 0xa5, 0x1e, 0x0a, 0x2b, 0x2f, 0x20, 0x3a, 0x58, 0x1d, 0xf1, 0xa6, 0xf2, 0x24, 0x54, 0x6c, 0xca, 0x44, + 0x1e, 0x07, 0xb5, 0x04, 0x8c, 0x15, 0x04, 0x73, 0x96, 0x4b, 0x17, 0xa4, 0xaa, 0xd1, 0xc3, 0x22, 0x73, 0xff, 0x20, + 0x28, 0xff, 0x0f, 0x2a, 0x27, 0x5c, 0x5f, 0x86, 0x00, 0x47, 0xfb, 0x03, 0x88, 0x12, 0x63, 0xfd, 0xa2, 0x65, 0x74, + 0xc9, 0x9c, 0x4d, 0x6d, 0x2f, 0x41, 0xc6, 0x76, 0xf8, 0x15, 0x42, 0xab, 0x85, 0x22, 0x8b, 0x86, 0x0b, 0xa6, 0xdb, + 0x53, 0x5a, 0x75, 0x0f, 0x1b, 0x9e, 0x94, 0x1e, 0x2a, 0xf5, 0x6d, 0x4c, 0x60, 0x59, 0xa5, 0x0c, 0xdf, 0x4e, 0xa8, + 0x3a, 0x31, 0xa8, 0x58, 0x37, 0x6c, 0x09, 0x87, 0x58, 0x4c, 0x1a, 0xeb, 0x6c, 0xc0, 0x23, 0x96, 0xc0, 0x3f, 0x1b, + 0x3e, 0x66, 0x4b, 0x1e, 0x4d, 0x36, 0x57, 0xcb, 0x7e, 0xbf, 0xf4, 0x42, 0xaf, 0x9e, 0x65, 0x3f, 0x44, 0xf3, 0x59, + 0x3e, 0xf7, 0x51, 0x71, 0x31, 0x19, 0x0c, 0x36, 0x7e, 0x36, 0x1c, 0xb2, 0x64, 0x38, 0x9c, 0x64, 0x3f, 0xc0, 0x6b, + 0x3f, 0xf0, 0x48, 0x2d, 0xa9, 0xe4, 0x2a, 0x83, 0xfd, 0x7d, 0xc0, 0x23, 0x9f, 0x75, 0x7e, 0x5a, 0x36, 0x5d, 0xba, + 0x9f, 0x59, 0x1d, 0x10, 0xe9, 0x0e, 0xb0, 0xf1, 0xb6, 0x41, 0x47, 0xfe, 0xed, 0x0e, 0x29, 0x75, 0x93, 0x01, 0xd8, + 0x8d, 0x06, 0x38, 0x64, 0xaa, 0x97, 0x22, 0xab, 0x97, 0x32, 0xd5, 0x4b, 0xb2, 0x72, 0x09, 0x16, 0x12, 0x53, 0xe5, + 0x36, 0xb2, 0x72, 0xcb, 0x86, 0xeb, 0xe1, 0x60, 0x6b, 0xc5, 0x65, 0x73, 0x0b, 0xf7, 0x85, 0x15, 0x05, 0xfe, 0xdf, + 0xb0, 0x05, 0xbb, 0x93, 0xc7, 0xc0, 0x35, 0x3a, 0x26, 0x45, 0x5e, 0xc5, 0xee, 0xd8, 0x0d, 0xd8, 0x61, 0xe1, 0x2f, + 0xb8, 0x4e, 0x8e, 0xd9, 0x0e, 0x1f, 0x85, 0x5e, 0xc1, 0x6e, 0x7c, 0x02, 0xda, 0x05, 0x5b, 0x03, 0x64, 0x63, 0x5b, + 0x7c, 0x74, 0x7b, 0x38, 0x5c, 0x7b, 0x3e, 0xbb, 0xc7, 0x1f, 0xe7, 0xb7, 0x87, 0xc3, 0xce, 0x33, 0xea, 0xbd, 0x37, + 0x3c, 0x61, 0x8f, 0x78, 0x32, 0x79, 0x73, 0xc5, 0xe3, 0xc9, 0x60, 0xf0, 0xc6, 0x5f, 0xf0, 0x7a, 0xf6, 0x06, 0xb4, + 0x03, 0xe7, 0x0b, 0xa9, 0x6b, 0xf6, 0x6e, 0x78, 0xe6, 0x2d, 0x70, 0x6c, 0x6e, 0xe0, 0xe8, 0xed, 0xf7, 0xbd, 0x5b, + 0x1e, 0x79, 0x37, 0xa4, 0x62, 0x5a, 0x71, 0xc5, 0xf1, 0xb6, 0xc5, 0xfd, 0x74, 0xc5, 0x43, 0x78, 0x84, 0x55, 0x99, + 0xbe, 0x09, 0x1e, 0xf9, 0x6c, 0xa5, 0x59, 0xe0, 0xee, 0x31, 0xc7, 0x9a, 0xec, 0x84, 0x66, 0xe2, 0xaf, 0xb0, 0x7f, + 0xde, 0xa8, 0xfe, 0xa1, 0xf9, 0x5f, 0xea, 0x7e, 0x02, 0xb7, 0x2f, 0xb2, 0x20, 0xb1, 0x47, 0xfc, 0x0d, 0xbb, 0xe3, + 0x86, 0x6d, 0xf6, 0xcc, 0x94, 0x7d, 0xa2, 0xd4, 0xf8, 0x81, 0x52, 0xd7, 0x16, 0x24, 0x73, 0xeb, 0xca, 0x87, 0xc0, + 0xe1, 0x80, 0xfc, 0x74, 0x8b, 0x38, 0x08, 0xad, 0x9b, 0xac, 0xe6, 0x8a, 0x72, 0x2e, 0xb4, 0x51, 0xe6, 0xe5, 0xc0, + 0x62, 0x96, 0x52, 0x68, 0x2c, 0x00, 0x10, 0x4c, 0x0a, 0xad, 0xbd, 0x97, 0x01, 0xe4, 0x04, 0x0d, 0x7f, 0x6c, 0xae, + 0x4a, 0xb2, 0x96, 0x2d, 0x09, 0x51, 0xb6, 0xeb, 0xe1, 0x25, 0x42, 0xa6, 0xf5, 0xfb, 0xe7, 0x44, 0xb2, 0x36, 0xa9, + 0xae, 0x6a, 0xb4, 0x04, 0x54, 0x64, 0x09, 0x98, 0xf8, 0x95, 0xe6, 0x13, 0x80, 0x27, 0x1d, 0x0f, 0xaa, 0x1f, 0x78, + 0xcd, 0x04, 0x91, 0x6d, 0x54, 0xfe, 0xa4, 0x78, 0x8a, 0x64, 0x04, 0xc5, 0x0f, 0xb5, 0xca, 0x58, 0x18, 0xe6, 0x81, + 0x02, 0xf2, 0xee, 0xdd, 0xa9, 0x6f, 0xd1, 0xd6, 0x74, 0xec, 0xd9, 0x5a, 0x85, 0x5a, 0xa8, 0x29, 0x5c, 0x72, 0x88, + 0xae, 0x40, 0x03, 0x45, 0x24, 0xe3, 0xc9, 0xeb, 0xc1, 0xe5, 0x24, 0xba, 0xe2, 0x02, 0x9d, 0xf1, 0xf5, 0x4d, 0x37, + 0x9d, 0x45, 0x3f, 0x54, 0xf3, 0x09, 0x29, 0xc9, 0x0e, 0x87, 0x6c, 0x54, 0xd5, 0xc5, 0x7a, 0x1a, 0xca, 0x9f, 0x1e, + 0x82, 0xaf, 0x17, 0xd4, 0x6b, 0xb2, 0x4a, 0xf5, 0x0f, 0x54, 0x29, 0x2f, 0x1a, 0x5e, 0xfa, 0x3f, 0x54, 0x72, 0xdf, + 0x03, 0xd2, 0x5a, 0x5e, 0x72, 0xf9, 0x7e, 0x84, 0x18, 0x23, 0x7e, 0xe0, 0x95, 0x3c, 0x62, 0xa1, 0x9a, 0xc2, 0x35, + 0x8f, 0x10, 0xe4, 0x2d, 0xd3, 0xc1, 0xdf, 0x7a, 0xe2, 0x74, 0x7f, 0xa2, 0xb4, 0x8b, 0x2f, 0x2c, 0xa6, 0x95, 0x23, + 0xdd, 0x80, 0x1c, 0x6c, 0x98, 0x2e, 0x0a, 0xb2, 0x4d, 0x69, 0x04, 0x6d, 0xb4, 0x1c, 0xd8, 0x70, 0x2a, 0xb5, 0xe1, + 0xcc, 0x35, 0x04, 0xf7, 0xf9, 0x79, 0x3a, 0x5a, 0xc0, 0x87, 0x54, 0xb7, 0x97, 0xf8, 0x79, 0xd8, 0x68, 0x81, 0xcc, + 0x8e, 0xf8, 0xcc, 0x26, 0x92, 0x4e, 0xea, 0x5c, 0x01, 0xbb, 0x9d, 0x5d, 0x83, 0x1c, 0x31, 0x73, 0x5f, 0xa1, 0xfa, + 0x16, 0x0d, 0xb8, 0x32, 0xd6, 0xbe, 0x26, 0x19, 0x0b, 0xaf, 0xca, 0x69, 0x38, 0x00, 0x18, 0xba, 0x8c, 0xbe, 0xb6, + 0xdc, 0x64, 0xd9, 0xeb, 0x02, 0x82, 0x20, 0x4a, 0xe2, 0xf1, 0x01, 0xef, 0xcb, 0x6a, 0xa8, 0x51, 0xf2, 0xb1, 0xec, + 0x18, 0xbe, 0x5e, 0xa2, 0xbf, 0x1b, 0x73, 0x89, 0x01, 0xaf, 0xab, 0xb6, 0xa0, 0x70, 0x9e, 0x1f, 0x0e, 0xe7, 0xf9, + 0xc8, 0x78, 0x96, 0x81, 0x6a, 0x65, 0x5a, 0x07, 0x4b, 0x33, 0x5f, 0x2c, 0xfc, 0xc5, 0xce, 0x49, 0x44, 0x14, 0x04, + 0x76, 0x24, 0x3c, 0x88, 0xd4, 0x8f, 0x2a, 0x4f, 0x77, 0xaa, 0xcf, 0xf6, 0x0b, 0x9b, 0x48, 0x2f, 0x28, 0x99, 0x7c, + 0x12, 0xec, 0x55, 0x7f, 0x07, 0x61, 0x43, 0x78, 0xf3, 0xaa, 0xd7, 0x59, 0xa6, 0x66, 0x25, 0x48, 0x98, 0x31, 0x47, + 0xf0, 0x38, 0xec, 0x34, 0xb6, 0xe1, 0xb1, 0x11, 0xcb, 0x96, 0xde, 0x9a, 0xdd, 0xb2, 0x15, 0xbb, 0x51, 0x75, 0x5a, + 0xf0, 0x70, 0x3a, 0xbc, 0x0c, 0x70, 0xf5, 0xad, 0xcf, 0x39, 0xbf, 0xa5, 0x13, 0x6c, 0x3d, 0xe0, 0xd1, 0x44, 0xcc, + 0xd6, 0x3f, 0x44, 0x6a, 0xf1, 0xac, 0x87, 0x7c, 0x41, 0xeb, 0x4f, 0xcc, 0x6e, 0x4d, 0xf2, 0xed, 0x80, 0x2f, 0x26, + 0xeb, 0x1f, 0x22, 0x78, 0xf5, 0x07, 0xb0, 0x62, 0x64, 0xce, 0x2c, 0x5b, 0xff, 0x10, 0xe1, 0x98, 0xdd, 0xfe, 0x10, + 0xd1, 0xa8, 0xad, 0xe4, 0xbe, 0x74, 0xd3, 0x80, 0xb0, 0x72, 0xc3, 0x62, 0x78, 0x0d, 0xc4, 0x33, 0x6d, 0x24, 0x5d, + 0x4b, 0x43, 0x6f, 0xcc, 0xc3, 0x69, 0x1c, 0xac, 0xa9, 0x15, 0xf2, 0xcc, 0x10, 0xb3, 0xf8, 0x87, 0x68, 0xce, 0x56, + 0x58, 0x91, 0x0d, 0x8f, 0x07, 0x97, 0x93, 0xcd, 0x15, 0x5f, 0x03, 0xf9, 0xd9, 0x64, 0x63, 0xb6, 0xa8, 0x1b, 0x2e, + 0x66, 0x9b, 0x1f, 0xa2, 0xf9, 0x64, 0x05, 0x3d, 0x6b, 0x0f, 0x98, 0xf7, 0x12, 0x44, 0x28, 0x09, 0xa9, 0x29, 0x37, + 0xbd, 0x1e, 0x5b, 0x8f, 0x83, 0x5b, 0xb6, 0xbe, 0x0c, 0x6e, 0xd8, 0x7a, 0x0c, 0x44, 0x1c, 0xd4, 0xef, 0xde, 0x06, + 0x16, 0x5f, 0xc4, 0xd6, 0x97, 0x26, 0x6d, 0xf3, 0x43, 0xc4, 0xdc, 0xc1, 0x69, 0xe0, 0x82, 0xb5, 0xce, 0xbc, 0x15, + 0x83, 0x4b, 0xc8, 0xd2, 0x8b, 0xd9, 0x66, 0x78, 0xc9, 0xd6, 0x23, 0x9c, 0xea, 0x89, 0xcf, 0x6e, 0xf9, 0x0d, 0x4b, + 0xf8, 0xaa, 0x89, 0xaf, 0x36, 0xa0, 0x11, 0x3d, 0xca, 0xa0, 0xaf, 0xa0, 0x56, 0x28, 0x8b, 0x85, 0x51, 0xb9, 0x6f, + 0xc1, 0x01, 0x05, 0x69, 0x1b, 0x20, 0x48, 0xe2, 0xd9, 0x5d, 0x87, 0xeb, 0x8f, 0x52, 0x18, 0x70, 0x13, 0x98, 0x01, + 0x03, 0xd3, 0xcf, 0xe0, 0x87, 0x95, 0x2e, 0x11, 0xe2, 0xec, 0xa7, 0x94, 0x24, 0xf3, 0xfc, 0xbd, 0x48, 0x73, 0xb7, + 0x70, 0x9d, 0xc2, 0xac, 0x28, 0x50, 0xfd, 0x94, 0x94, 0x06, 0x16, 0x2a, 0x91, 0xa9, 0x14, 0xfc, 0xb2, 0x76, 0xda, + 0x75, 0x76, 0x8c, 0xce, 0x75, 0x7e, 0x39, 0x71, 0x4e, 0x27, 0x7d, 0xff, 0x81, 0x63, 0xd8, 0x42, 0x06, 0x2e, 0xfc, + 0xa9, 0x27, 0x8c, 0x53, 0x2b, 0x10, 0x53, 0xc9, 0xb3, 0xa7, 0xf0, 0x99, 0xd0, 0xea, 0xe8, 0xc2, 0xf7, 0x83, 0x42, + 0x9b, 0xa4, 0x5b, 0x90, 0xa4, 0xe0, 0x29, 0x7a, 0xce, 0x79, 0x1b, 0xa8, 0x14, 0x23, 0x5a, 0x10, 0x69, 0xeb, 0x36, + 0x73, 0x90, 0xb6, 0x34, 0xdf, 0x35, 0xf1, 0x73, 0x58, 0xc0, 0x45, 0xb4, 0xb0, 0x35, 0x3c, 0xaa, 0x62, 0xe5, 0xde, + 0xe4, 0x39, 0xc2, 0x19, 0x5d, 0xca, 0x04, 0xc0, 0xf5, 0x7e, 0x11, 0xd6, 0x0a, 0xaf, 0xa8, 0x59, 0xe4, 0x45, 0x4d, + 0x9f, 0x6c, 0x81, 0xfb, 0x58, 0x94, 0x28, 0x70, 0xd6, 0x82, 0x01, 0x5b, 0x61, 0xc9, 0x4e, 0x0a, 0x9b, 0xa2, 0x25, + 0xf4, 0xf6, 0xf8, 0xe9, 0xa0, 0x66, 0x32, 0x80, 0x26, 0x80, 0xc6, 0xe3, 0x5f, 0x00, 0x6a, 0xfa, 0xb1, 0x16, 0xeb, + 0x2a, 0x28, 0x95, 0x72, 0x13, 0x7e, 0x06, 0x86, 0x19, 0x7e, 0x28, 0xe4, 0x36, 0x51, 0x22, 0xe7, 0xc7, 0xa2, 0x14, + 0xcb, 0x52, 0x54, 0x49, 0xbb, 0xa1, 0xe0, 0x11, 0xe1, 0x36, 0x68, 0xcc, 0xdc, 0x9e, 0xe8, 0xa2, 0x15, 0xa1, 0x1c, + 0x9b, 0x75, 0x8c, 0x34, 0xca, 0xec, 0x64, 0xd7, 0xc9, 0x42, 0xfb, 0x7d, 0x95, 0x43, 0xd6, 0x01, 0x6b, 0x24, 0x5f, + 0xaf, 0x39, 0x74, 0xdb, 0x28, 0x2f, 0xee, 0x3d, 0x5f, 0xc1, 0x69, 0x8e, 0x27, 0x76, 0xd7, 0xeb, 0x4e, 0x91, 0x88, + 0x57, 0x38, 0xa9, 0xf2, 0x91, 0x2c, 0x1c, 0x77, 0xee, 0xb4, 0x16, 0xab, 0xca, 0x65, 0x3d, 0xb5, 0x38, 0x22, 0xf0, + 0xa9, 0x3c, 0xda, 0x0b, 0x6d, 0x8b, 0x62, 0x21, 0x8c, 0x1e, 0x9d, 0xf0, 0x93, 0x12, 0x58, 0x5f, 0x87, 0xc3, 0xd2, + 0x8f, 0x38, 0xfa, 0x9d, 0x46, 0xa3, 0x05, 0x21, 0x0d, 0x4f, 0xbd, 0x68, 0xb4, 0xa8, 0x8b, 0x3a, 0xcc, 0x9e, 0xe6, + 0x7a, 0xa0, 0x30, 0x8c, 0x40, 0xfd, 0xe0, 0x2a, 0x83, 0xcf, 0x22, 0x44, 0xcd, 0x03, 0xd3, 0x6c, 0x08, 0x47, 0x5d, + 0xe0, 0xa1, 0x15, 0xb4, 0x98, 0x99, 0x8f, 0x42, 0x0c, 0x1f, 0xd2, 0xc5, 0xf9, 0x13, 0xb2, 0xf2, 0x01, 0x76, 0x87, + 0xee, 0x42, 0x39, 0x67, 0x2a, 0x06, 0xf8, 0x51, 0x40, 0x3e, 0x4a, 0xc0, 0xcd, 0x00, 0xd9, 0x23, 0x4b, 0x00, 0xb1, + 0x62, 0x74, 0x34, 0xf9, 0xdc, 0xf7, 0x22, 0x05, 0xef, 0xec, 0xb3, 0x5c, 0x4d, 0x18, 0x0a, 0x9f, 0x18, 0xe8, 0xe6, + 0x37, 0x7e, 0x7b, 0xde, 0x82, 0x91, 0x5d, 0x92, 0xe2, 0xb5, 0x66, 0xb8, 0xdf, 0x80, 0xdb, 0x11, 0x50, 0xd6, 0x54, + 0xc7, 0x24, 0xdb, 0x34, 0x44, 0x32, 0x60, 0x46, 0x8c, 0x08, 0x2a, 0xcb, 0x85, 0xff, 0xdd, 0xcb, 0xa2, 0xc0, 0x01, + 0x5c, 0xcd, 0x64, 0xf0, 0xda, 0x85, 0x51, 0x01, 0x70, 0x4e, 0x43, 0xa7, 0xb4, 0x57, 0x55, 0x87, 0x64, 0xd5, 0xfc, + 0x60, 0x36, 0x6f, 0x1a, 0x26, 0x46, 0x04, 0xd1, 0x45, 0x38, 0xc1, 0xf4, 0x8a, 0xf4, 0xb5, 0x92, 0xd3, 0xd1, 0xaa, + 0xa3, 0xb5, 0xc4, 0xc4, 0x5c, 0x51, 0xfc, 0x35, 0xe0, 0x71, 0x83, 0x57, 0x27, 0x69, 0x3a, 0x51, 0x3d, 0x7a, 0xfc, + 0x3a, 0x4d, 0x27, 0x25, 0xee, 0x0a, 0xbf, 0x01, 0x17, 0xcd, 0x36, 0x1f, 0xfa, 0xf1, 0x0b, 0x8a, 0xb8, 0xa8, 0xc1, + 0x95, 0x77, 0xaa, 0xaf, 0x54, 0x1f, 0x41, 0x2d, 0x3c, 0x31, 0xb2, 0x16, 0x9e, 0x5c, 0xb2, 0xd6, 0x82, 0x60, 0x66, + 0x73, 0xe0, 0x42, 0x7e, 0xa5, 0x14, 0xf1, 0x26, 0x12, 0x6a, 0x31, 0x68, 0x3d, 0x66, 0xce, 0xaa, 0xd1, 0x42, 0x65, + 0x46, 0x68, 0xdf, 0xd6, 0xa2, 0xf3, 0x1b, 0xf9, 0x29, 0x4f, 0xed, 0xcb, 0xf6, 0x38, 0x1f, 0xef, 0xd1, 0x5d, 0x75, + 0x96, 0x99, 0x94, 0xf1, 0xc9, 0x2c, 0x41, 0xe1, 0x2e, 0xc1, 0x06, 0x24, 0xd9, 0x6f, 0x75, 0x80, 0x8c, 0xda, 0x6b, + 0xbf, 0xeb, 0x2c, 0x5f, 0xdd, 0x6c, 0x0d, 0x45, 0xa5, 0x56, 0x92, 0xe2, 0x20, 0xc3, 0x75, 0x5b, 0xf9, 0x70, 0x71, + 0x01, 0x3d, 0x63, 0x24, 0x32, 0xcf, 0x9f, 0xc8, 0x97, 0xe0, 0x9c, 0x71, 0x56, 0x08, 0x4c, 0x18, 0xab, 0x77, 0xad, + 0xa5, 0xd2, 0x90, 0x62, 0xec, 0x68, 0x94, 0x65, 0x95, 0xa5, 0xcb, 0x6c, 0x2d, 0x61, 0xcb, 0x2a, 0x72, 0x0b, 0xbb, + 0xcd, 0x64, 0x35, 0xdf, 0x55, 0xdc, 0x41, 0xf9, 0x66, 0xab, 0x8c, 0xef, 0x25, 0xb2, 0x77, 0x1b, 0x28, 0xe1, 0xe9, + 0xe8, 0x2f, 0x48, 0xbf, 0xcd, 0x30, 0x4e, 0xb9, 0xad, 0xa4, 0x05, 0x38, 0xfd, 0xc3, 0xe1, 0x5d, 0x85, 0x41, 0x83, + 0x23, 0x8c, 0x23, 0xeb, 0xf7, 0x17, 0x95, 0x57, 0x63, 0xa2, 0x8e, 0xcf, 0xea, 0xf7, 0x2b, 0x7a, 0x38, 0xad, 0x46, + 0xab, 0x74, 0x8b, 0xec, 0x84, 0x36, 0x56, 0x7e, 0x50, 0x2b, 0x60, 0xf6, 0xd6, 0xe7, 0xd3, 0x01, 0xe8, 0x58, 0x80, + 0x44, 0xb3, 0x99, 0x48, 0xcc, 0x49, 0xf7, 0x24, 0x3c, 0x3e, 0xb0, 0xc0, 0x01, 0xa6, 0xe2, 0xff, 0x12, 0xde, 0x0c, + 0x6c, 0xd0, 0x28, 0xd1, 0xd7, 0xe8, 0xaa, 0x36, 0x37, 0x3a, 0x5e, 0x7a, 0x0a, 0x89, 0xac, 0x60, 0xd5, 0xdc, 0x97, + 0x1b, 0x38, 0xed, 0xa1, 0xe6, 0x50, 0x59, 0x82, 0xbf, 0xfd, 0x32, 0x3f, 0x1c, 0x56, 0x19, 0x14, 0xb6, 0x5b, 0x0b, + 0xed, 0x8d, 0x59, 0xaa, 0xa1, 0x22, 0x1c, 0x74, 0xbe, 0x12, 0xb3, 0x7a, 0x44, 0x7f, 0xcf, 0x0f, 0x87, 0x15, 0x81, + 0x01, 0x87, 0xa5, 0xcc, 0x44, 0x0b, 0xc5, 0xd2, 0x3a, 0x9b, 0x51, 0x1d, 0x78, 0x60, 0x62, 0xce, 0xc2, 0x1d, 0x80, + 0x36, 0xa9, 0x55, 0xa0, 0x57, 0x11, 0xfd, 0xc4, 0xfd, 0xda, 0x7e, 0xbd, 0x1e, 0x99, 0xa5, 0x23, 0x37, 0xc6, 0x02, + 0x80, 0x03, 0xcf, 0x6b, 0x92, 0xe7, 0xe4, 0x6b, 0x68, 0xf7, 0xe4, 0x42, 0xfe, 0x04, 0x65, 0x0b, 0xcf, 0x55, 0xd3, + 0xca, 0x62, 0xc5, 0x55, 0xf5, 0xea, 0x82, 0x57, 0x26, 0xd3, 0x2a, 0xad, 0x44, 0xa5, 0x04, 0x03, 0xea, 0x12, 0xaf, + 0x35, 0xcd, 0x28, 0xb5, 0x51, 0x67, 0xa2, 0x06, 0x6c, 0xb0, 0x9f, 0xaa, 0x8d, 0x4e, 0xce, 0xe5, 0xf3, 0x4b, 0xe3, + 0xf0, 0x69, 0x57, 0x6f, 0x66, 0x2a, 0x07, 0xfe, 0x5a, 0xf9, 0xd0, 0xea, 0x31, 0xd0, 0x01, 0x39, 0xfd, 0x31, 0x2c, + 0x26, 0x76, 0x87, 0xe6, 0xed, 0xee, 0xb2, 0xba, 0x48, 0xef, 0x34, 0x25, 0xb3, 0x7a, 0xcb, 0x67, 0x56, 0x8f, 0x0e, + 0x78, 0xf1, 0x50, 0xef, 0x15, 0x66, 0x12, 0xc1, 0xc5, 0x50, 0x4d, 0x22, 0xbb, 0x03, 0xad, 0x79, 0x54, 0x31, 0x01, + 0x7e, 0x50, 0x6a, 0x4d, 0xef, 0xed, 0xae, 0x50, 0xa7, 0x14, 0x1e, 0xb7, 0x96, 0xfc, 0xc0, 0xdc, 0x69, 0xd7, 0x3a, + 0x1f, 0xcf, 0x2f, 0x7d, 0xbf, 0x91, 0x27, 0xb4, 0xd9, 0x99, 0x9c, 0xfe, 0xc9, 0x5b, 0xfd, 0xc3, 0x54, 0xdf, 0x42, + 0x77, 0x82, 0x3e, 0x43, 0x57, 0x55, 0x77, 0x25, 0xb6, 0x30, 0xd4, 0x13, 0x8b, 0xbc, 0x90, 0x27, 0xad, 0xb1, 0xe3, + 0x60, 0x6f, 0x80, 0x13, 0xbf, 0x3c, 0x1c, 0xc4, 0x55, 0xee, 0xb3, 0xf3, 0xae, 0x91, 0x95, 0x03, 0x58, 0x41, 0x14, + 0x8c, 0x5b, 0xf3, 0xb1, 0x0d, 0xd2, 0x25, 0xae, 0xc6, 0xc7, 0x6f, 0x28, 0x96, 0xc9, 0x26, 0xe2, 0xe2, 0x22, 0xff, + 0xe1, 0x09, 0x90, 0x96, 0xf5, 0xfb, 0xd1, 0xd3, 0xcb, 0xe9, 0x93, 0x61, 0x14, 0x80, 0x63, 0x97, 0xbd, 0xbc, 0x8c, + 0xf9, 0xea, 0x92, 0x59, 0xa6, 0xb0, 0xc8, 0x37, 0x03, 0xaa, 0x4b, 0x56, 0x4b, 0xd7, 0x2b, 0xc0, 0xd2, 0xe5, 0x37, + 0xf7, 0x61, 0x6a, 0x40, 0x23, 0x6b, 0xee, 0x4e, 0x73, 0x2d, 0x50, 0xea, 0x79, 0x3f, 0x33, 0xe4, 0xeb, 0x32, 0xe8, + 0x0a, 0xd2, 0x3d, 0x8f, 0x48, 0x2f, 0xf7, 0xd2, 0xe9, 0x7e, 0x5f, 0x0a, 0xb0, 0xd4, 0x97, 0xe2, 0x33, 0x28, 0x2c, + 0x1a, 0xdf, 0x08, 0xd0, 0xd6, 0x50, 0x4d, 0x7b, 0xa5, 0xa8, 0x7a, 0x41, 0xaf, 0x14, 0x9f, 0x7b, 0x7a, 0xa8, 0xcc, + 0x97, 0xa5, 0xa3, 0xff, 0x09, 0x35, 0x17, 0x9c, 0x10, 0x33, 0x31, 0x07, 0x50, 0x09, 0xda, 0xf8, 0x16, 0x47, 0x1b, + 0x9f, 0xea, 0x55, 0xdc, 0xf4, 0x79, 0x6d, 0x2d, 0x73, 0x42, 0xd8, 0x74, 0x2f, 0x01, 0x2a, 0xf2, 0x4a, 0x78, 0x04, + 0xcb, 0x2f, 0x7f, 0xc8, 0xd3, 0x15, 0xa2, 0x75, 0xdc, 0xb3, 0xcc, 0xa5, 0xb1, 0x7f, 0x69, 0x30, 0x7d, 0x7d, 0xbb, + 0x2d, 0xf2, 0x53, 0x13, 0x13, 0xd6, 0x63, 0x45, 0xdf, 0xbc, 0x0d, 0x57, 0x02, 0x05, 0x0e, 0x25, 0x12, 0xdb, 0x54, + 0xa1, 0x88, 0x07, 0x49, 0x9f, 0x2e, 0x5a, 0x9f, 0x06, 0x98, 0x5a, 0xcb, 0x81, 0x39, 0x84, 0xab, 0xb8, 0xf0, 0xd1, + 0xd3, 0xb7, 0x98, 0x85, 0xf3, 0x89, 0xf7, 0xc1, 0x2b, 0x46, 0xe6, 0xe3, 0x3e, 0x2a, 0x95, 0xf4, 0xcf, 0xc3, 0x61, + 0x56, 0xcd, 0x7d, 0x87, 0x3e, 0xd2, 0x43, 0x95, 0x0b, 0xca, 0xde, 0x18, 0x93, 0x08, 0x94, 0xc6, 0x78, 0x1f, 0x07, + 0xc7, 0x79, 0x9f, 0x06, 0x90, 0xda, 0x27, 0xde, 0x91, 0x92, 0xc3, 0x73, 0x8e, 0x39, 0xa1, 0xb4, 0x22, 0xac, 0xe2, + 0xdb, 0x0c, 0xe5, 0xba, 0x53, 0x0a, 0x26, 0x39, 0x24, 0x18, 0xfe, 0xaa, 0x79, 0x13, 0x2b, 0x10, 0x76, 0xcd, 0xbc, + 0x1a, 0x3d, 0xaa, 0x92, 0xb0, 0x14, 0x71, 0xbf, 0xbf, 0xcb, 0x3c, 0xc3, 0xde, 0xf0, 0xc8, 0x30, 0x72, 0xb0, 0xdc, + 0x1f, 0xd5, 0x89, 0xc8, 0x3d, 0xba, 0xc0, 0xa8, 0x2c, 0x3c, 0x6f, 0xe8, 0x4a, 0x83, 0x4a, 0xb2, 0xe3, 0xaf, 0xb8, + 0x06, 0xd4, 0xd6, 0x18, 0x31, 0x14, 0x30, 0x0a, 0x5e, 0xdb, 0x1f, 0x42, 0x16, 0x65, 0xeb, 0x37, 0x38, 0xe6, 0x83, + 0xfb, 0x88, 0xe3, 0x1d, 0xce, 0x42, 0x4b, 0xc8, 0x93, 0x3b, 0x06, 0x69, 0x1a, 0x4b, 0x23, 0xe0, 0x44, 0x24, 0xdb, + 0x58, 0x0a, 0x47, 0x00, 0x01, 0x81, 0x6e, 0xca, 0x0c, 0x63, 0x3a, 0x18, 0x79, 0x1e, 0xf5, 0x8c, 0xf7, 0x2a, 0x3c, + 0x85, 0x34, 0xd9, 0xbe, 0x9e, 0xbf, 0x37, 0x82, 0xac, 0xdc, 0x72, 0x8e, 0x87, 0xc5, 0x37, 0xce, 0xbe, 0xca, 0xc9, + 0x53, 0xcc, 0x32, 0xd2, 0x3b, 0xc5, 0xbc, 0x80, 0x3f, 0x95, 0xa5, 0x3e, 0x47, 0xe9, 0x2d, 0xf3, 0xc9, 0x2a, 0x92, + 0x2e, 0xbd, 0x4d, 0xbf, 0x1f, 0x8f, 0xd4, 0xa1, 0xe6, 0xef, 0xe3, 0x91, 0x3c, 0xc3, 0x36, 0x2c, 0x61, 0xa1, 0x55, + 0x30, 0x06, 0x90, 0xc4, 0x46, 0x44, 0x83, 0xd1, 0xde, 0x1c, 0x0e, 0xe7, 0x1b, 0x73, 0x96, 0xec, 0xc1, 0xf5, 0x95, + 0x27, 0xe6, 0x1d, 0xf8, 0x32, 0x8f, 0x09, 0x22, 0x36, 0xf3, 0x36, 0xac, 0x06, 0x0f, 0x76, 0x70, 0x7d, 0xc4, 0x16, + 0xc5, 0x5a, 0xc7, 0x52, 0x59, 0x07, 0xa7, 0x75, 0x6c, 0x9a, 0x91, 0x52, 0x64, 0x9f, 0x63, 0x7f, 0xef, 0x06, 0x57, + 0xd7, 0xc6, 0xa0, 0xd6, 0xb8, 0xc3, 0xdc, 0x39, 0x15, 0x50, 0x8f, 0xe9, 0x0a, 0xaa, 0x67, 0x15, 0xf9, 0xf2, 0x5b, + 0x3b, 0x07, 0x04, 0x8d, 0x40, 0xe0, 0xa2, 0xf1, 0xbf, 0xeb, 0x52, 0xce, 0xbb, 0x80, 0x10, 0xdf, 0xa5, 0xa0, 0x4f, + 0x67, 0xb0, 0x89, 0xcd, 0x27, 0x10, 0x8b, 0xa6, 0xfb, 0x5c, 0x6b, 0xe6, 0x8b, 0x11, 0xed, 0xcc, 0xba, 0x5b, 0xe4, + 0x56, 0x0b, 0x91, 0x8c, 0x9e, 0x6d, 0x26, 0xdc, 0x76, 0x28, 0x67, 0x24, 0x60, 0x82, 0xd6, 0x56, 0x4a, 0x3e, 0xd7, + 0xbd, 0x4e, 0xd0, 0x1e, 0x48, 0x5a, 0xf7, 0x6f, 0x16, 0x9d, 0x51, 0x72, 0x72, 0xbd, 0xc9, 0x19, 0xa4, 0x60, 0xc1, + 0xf6, 0x32, 0x27, 0xdc, 0x00, 0x1f, 0xd9, 0x2c, 0x39, 0x4d, 0x83, 0x3c, 0x16, 0xba, 0x66, 0xef, 0xdb, 0xfc, 0xb2, + 0x80, 0x0e, 0x25, 0x8b, 0x46, 0x88, 0x07, 0xd8, 0x39, 0x24, 0x57, 0x05, 0xea, 0xa6, 0x81, 0xae, 0x5c, 0x39, 0x53, + 0x4c, 0x81, 0x0b, 0xa1, 0x20, 0x6a, 0x47, 0x27, 0x51, 0x39, 0xef, 0x93, 0xea, 0x32, 0x9f, 0x16, 0xd2, 0x34, 0x90, + 0x4f, 0x2b, 0xc7, 0x3c, 0x70, 0x67, 0x1b, 0xd7, 0x04, 0x06, 0x3a, 0xb5, 0xaf, 0x45, 0x39, 0xc7, 0x2a, 0xa2, 0xf7, + 0xf9, 0xfb, 0xca, 0x9e, 0x3e, 0x88, 0xb0, 0x51, 0x81, 0xc6, 0x52, 0x62, 0x6c, 0xe4, 0xf8, 0xb7, 0x44, 0xd9, 0x90, + 0x21, 0x20, 0x84, 0xb4, 0x91, 0xd3, 0x0f, 0x3b, 0x68, 0x25, 0xd3, 0xfe, 0x9f, 0x24, 0x7e, 0x1b, 0xec, 0xe5, 0xd4, + 0x9f, 0x7a, 0xc4, 0xe3, 0xb5, 0x46, 0x8f, 0x29, 0xe9, 0x36, 0xc8, 0x53, 0xe5, 0x29, 0x48, 0x26, 0x8c, 0x25, 0x04, + 0x8b, 0x72, 0xc1, 0x73, 0x5e, 0x71, 0x09, 0xf7, 0x51, 0xcb, 0x8a, 0x08, 0x55, 0x89, 0x9c, 0x3e, 0x5f, 0x01, 0xcf, + 0x04, 0x04, 0x3a, 0xc6, 0x48, 0xa3, 0x0a, 0xbe, 0x04, 0xc6, 0x42, 0x52, 0x76, 0x9a, 0x91, 0xe0, 0xb2, 0xfb, 0x11, + 0x89, 0x52, 0x5f, 0x90, 0x92, 0xf4, 0x8d, 0xa8, 0xf1, 0x4a, 0xac, 0x22, 0x12, 0xc8, 0x50, 0x43, 0xc4, 0xaa, 0x7a, + 0xea, 0x5e, 0x15, 0x93, 0xc1, 0xa0, 0xf2, 0xe5, 0xf4, 0xc4, 0x1b, 0x1a, 0x2a, 0xef, 0xba, 0xa2, 0x9d, 0x9e, 0x69, + 0xa5, 0xbc, 0x85, 0xb4, 0x04, 0x4d, 0xc3, 0x48, 0x73, 0x28, 0x75, 0x25, 0xdd, 0x8d, 0x41, 0x7c, 0xc9, 0x44, 0xcf, + 0x76, 0x6a, 0x47, 0x69, 0x4b, 0xda, 0x43, 0x48, 0xcf, 0x5d, 0xf2, 0x31, 0x0b, 0xb9, 0xba, 0x53, 0x4e, 0xca, 0xab, + 0x10, 0x9d, 0xdc, 0xf7, 0x18, 0x12, 0x81, 0x3e, 0xe7, 0x18, 0xd6, 0x45, 0x43, 0x9d, 0xc3, 0x0a, 0x31, 0x5b, 0x28, + 0x61, 0xbe, 0x64, 0x3c, 0x95, 0x0c, 0x1a, 0x00, 0x19, 0xf0, 0xd9, 0xcb, 0xc0, 0xf2, 0x57, 0x10, 0x3f, 0xda, 0xf8, + 0x70, 0xf8, 0x52, 0x53, 0x88, 0xed, 0x17, 0xd8, 0x0c, 0xe1, 0x51, 0x3d, 0xe0, 0x99, 0x6f, 0xe2, 0x04, 0x2d, 0x47, + 0x9c, 0xcc, 0x8e, 0x26, 0xb2, 0x57, 0x3d, 0x84, 0x53, 0x59, 0x81, 0x3a, 0xca, 0x3a, 0x2b, 0xe1, 0x47, 0x98, 0xea, + 0x56, 0x62, 0x2d, 0xd0, 0xe6, 0x6a, 0xc5, 0x5a, 0x00, 0x07, 0x7e, 0x0e, 0xc1, 0x13, 0xf9, 0x1c, 0x5c, 0x0c, 0x0a, + 0xf0, 0x39, 0x00, 0x5e, 0xe4, 0x8e, 0xce, 0xfd, 0xe9, 0x81, 0x65, 0x35, 0xc2, 0x70, 0x54, 0x11, 0xeb, 0xd7, 0x6c, + 0x47, 0x3e, 0x70, 0x3b, 0xc6, 0xe7, 0xda, 0x63, 0xc9, 0x72, 0xc2, 0xcc, 0xdc, 0xab, 0x25, 0x7a, 0xde, 0xa4, 0x71, + 0x33, 0x7a, 0xb4, 0xaf, 0xe5, 0xff, 0x82, 0x5e, 0x06, 0xfd, 0x2d, 0xdc, 0xf2, 0x9a, 0x3f, 0x2c, 0xaf, 0x01, 0xd3, + 0x2b, 0x88, 0x94, 0x51, 0x23, 0x32, 0x86, 0xb0, 0x49, 0x75, 0x73, 0x9b, 0x54, 0x17, 0x02, 0x9e, 0x8e, 0x48, 0x75, + 0x2d, 0xa4, 0x8d, 0x7c, 0x5a, 0x07, 0x32, 0x16, 0xe9, 0xed, 0x4f, 0x7f, 0x7b, 0xf6, 0xe9, 0xd5, 0xaf, 0x3f, 0x2d, + 0x5e, 0xbd, 0x7d, 0xf9, 0xea, 0xed, 0xab, 0x4f, 0xbf, 0x13, 0x84, 0xc7, 0x54, 0xa8, 0x0c, 0xef, 0xdf, 0x7d, 0x7c, + 0xe5, 0x64, 0xb0, 0x61, 0xc6, 0xb2, 0xf6, 0x8d, 0x1c, 0x0c, 0x81, 0xc8, 0x06, 0x21, 0x83, 0xec, 0x94, 0xcc, 0x31, + 0x13, 0x73, 0x8c, 0xbd, 0x13, 0x98, 0x6c, 0x81, 0xef, 0x58, 0xe6, 0x25, 0x23, 0x72, 0x55, 0x68, 0xfd, 0x80, 0x16, + 0xbc, 0x01, 0x17, 0x99, 0x34, 0xbf, 0xfd, 0x95, 0x20, 0xf6, 0x69, 0x25, 0xe5, 0xbe, 0xda, 0xd6, 0x3c, 0xdf, 0xde, + 0xef, 0x25, 0x9c, 0xff, 0x5c, 0x1a, 0x51, 0x0b, 0x70, 0x00, 0x3e, 0x87, 0x3f, 0xae, 0xb4, 0x25, 0x4d, 0x66, 0xd1, + 0x7e, 0xc6, 0x10, 0x74, 0x69, 0xf0, 0x41, 0xec, 0x91, 0x97, 0xfa, 0x64, 0x21, 0x81, 0x3b, 0x62, 0xf8, 0xb4, 0x22, + 0xe8, 0x15, 0x23, 0x8a, 0x4b, 0xae, 0x50, 0x29, 0x25, 0xff, 0x46, 0xd9, 0x45, 0x85, 0x9c, 0x15, 0xec, 0x4e, 0x91, + 0x23, 0xe3, 0x07, 0xc1, 0xc4, 0x97, 0x83, 0xfb, 0x2f, 0xf1, 0x0e, 0x67, 0x8a, 0x23, 0x39, 0xe1, 0x1f, 0x33, 0x0c, + 0xec, 0xcf, 0xc1, 0xe7, 0xd5, 0x61, 0x5e, 0xde, 0xe8, 0x53, 0x6e, 0xc9, 0xc7, 0x93, 0xe5, 0x15, 0x18, 0xec, 0x97, + 0xaa, 0xb9, 0x6b, 0x5e, 0xcf, 0x96, 0x73, 0xb6, 0x9f, 0x45, 0xf3, 0xe0, 0x96, 0xcd, 0xb2, 0x79, 0xb0, 0x6a, 0xf8, + 0x9a, 0xdd, 0xf0, 0xb5, 0x55, 0xb5, 0xb5, 0x5d, 0xb5, 0xc9, 0x86, 0xdf, 0x80, 0x84, 0x70, 0x0d, 0x7e, 0xc9, 0x09, + 0xbb, 0xf5, 0xd9, 0x06, 0x24, 0xda, 0x15, 0xdb, 0xc0, 0x45, 0x6c, 0xcd, 0x5f, 0x55, 0xde, 0x86, 0x95, 0xec, 0x7c, + 0xcc, 0x72, 0x9c, 0x7f, 0x3e, 0x3c, 0xa0, 0xbd, 0x50, 0x3f, 0xbb, 0x54, 0xcf, 0x26, 0xca, 0x6e, 0xb6, 0x19, 0x2d, + 0xee, 0xd2, 0x6a, 0x13, 0x66, 0xe8, 0x59, 0x0e, 0x1f, 0x6d, 0xa5, 0xe0, 0xa7, 0x17, 0xf8, 0x25, 0x6b, 0xe2, 0xfc, + 0x9e, 0xb6, 0xed, 0xaa, 0xc4, 0x56, 0xd0, 0xa2, 0xc8, 0x6a, 0x85, 0x07, 0xe6, 0xfc, 0x29, 0x2c, 0x60, 0xec, 0x39, + 0xce, 0x79, 0xed, 0x8f, 0x90, 0xf1, 0xde, 0x01, 0x40, 0xcb, 0x1c, 0x07, 0x78, 0xc4, 0x8a, 0x51, 0x34, 0x78, 0xe7, + 0x97, 0xca, 0x6a, 0xa5, 0x39, 0x09, 0x6d, 0x23, 0x56, 0x2d, 0x47, 0xaa, 0x66, 0x44, 0xfa, 0x20, 0x3d, 0xef, 0x7b, + 0x44, 0x35, 0xd8, 0x93, 0x79, 0x1d, 0xd8, 0xa7, 0x77, 0xad, 0x55, 0xdd, 0xf9, 0x3d, 0x55, 0xba, 0xe4, 0xc8, 0x96, + 0x9f, 0x2e, 0xc3, 0x7b, 0xf5, 0xa7, 0xe4, 0xfa, 0x50, 0xe0, 0x08, 0x0f, 0x55, 0xc0, 0xf9, 0x7a, 0x25, 0xda, 0x9d, + 0x08, 0xbb, 0x72, 0x09, 0x08, 0xf1, 0x25, 0x4d, 0x73, 0x3c, 0x8e, 0x68, 0x22, 0xc2, 0x26, 0x46, 0x7f, 0x61, 0xf7, + 0xa1, 0xc4, 0x72, 0x9e, 0x6b, 0x50, 0x72, 0xc9, 0xe0, 0x3d, 0x69, 0xaf, 0x41, 0xb3, 0xbc, 0x2a, 0x35, 0x99, 0xc8, + 0x41, 0xf9, 0x70, 0x28, 0x60, 0x2f, 0x35, 0x7e, 0x9a, 0xf0, 0x13, 0x96, 0xb7, 0xf6, 0xd6, 0x94, 0xa2, 0x92, 0x06, + 0xa8, 0xc0, 0xc7, 0x0c, 0xfe, 0x77, 0x67, 0x88, 0x05, 0x53, 0x74, 0xfc, 0x70, 0x26, 0xe6, 0xd6, 0x73, 0xab, 0xac, + 0xa3, 0x6c, 0x8d, 0x76, 0x02, 0x4e, 0x75, 0x9c, 0x24, 0xc2, 0xa9, 0xf7, 0x88, 0x8b, 0xba, 0x97, 0x43, 0xd4, 0x0d, + 0xfb, 0x54, 0xe9, 0x60, 0xcb, 0x69, 0x1a, 0x1c, 0x89, 0x5f, 0xa9, 0xcf, 0xde, 0x5b, 0x41, 0x04, 0x29, 0xb2, 0x11, + 0x25, 0x69, 0x1c, 0x8b, 0x1c, 0xb6, 0xf7, 0x85, 0xdc, 0xff, 0xfb, 0x7d, 0x08, 0x27, 0xad, 0x82, 0xb8, 0xf4, 0x04, + 0x22, 0xc2, 0xd1, 0xe1, 0x47, 0x84, 0x27, 0x52, 0x55, 0xf8, 0xbe, 0x3e, 0x71, 0x63, 0x76, 0x2f, 0xcc, 0x51, 0xbd, + 0x05, 0x18, 0xc6, 0x7a, 0x6b, 0x11, 0x92, 0x68, 0xa5, 0x19, 0x6d, 0x3d, 0x20, 0x46, 0xbc, 0x5b, 0x5b, 0x64, 0x30, + 0xd6, 0x96, 0x44, 0x02, 0xf8, 0x2d, 0x09, 0x19, 0xda, 0x36, 0x02, 0x33, 0x86, 0xb7, 0xb3, 0xe2, 0xd2, 0x75, 0xd8, + 0xe6, 0x1c, 0xbe, 0x90, 0x85, 0x66, 0x1d, 0x51, 0x9a, 0x20, 0xe4, 0x1f, 0x70, 0xb2, 0x50, 0x18, 0xcd, 0x8b, 0xa3, + 0x74, 0x92, 0x58, 0xdf, 0x75, 0x95, 0x0a, 0x36, 0x9b, 0x8f, 0xa8, 0x2f, 0x3b, 0x4a, 0xbe, 0x06, 0x27, 0x1d, 0x27, + 0x59, 0xe4, 0x20, 0x6a, 0x51, 0x39, 0x1f, 0x93, 0xb0, 0xb4, 0xab, 0x53, 0x6d, 0xd6, 0xeb, 0xa2, 0xac, 0xab, 0x17, + 0x22, 0x52, 0xf4, 0x3e, 0xea, 0xd1, 0x23, 0x09, 0xa9, 0xd0, 0xaa, 0xd4, 0x2e, 0x8f, 0xc0, 0x6d, 0x53, 0x2b, 0xb6, + 0xe5, 0x12, 0x96, 0xa8, 0xf1, 0x9f, 0xa0, 0x8f, 0x72, 0x71, 0x2f, 0x03, 0x34, 0x3a, 0x9e, 0x9a, 0xb7, 0x1e, 0x78, + 0xe5, 0x28, 0xbf, 0xb4, 0xda, 0xa4, 0x5f, 0x01, 0x99, 0xd1, 0xfe, 0xd1, 0x52, 0x02, 0x99, 0x81, 0x99, 0xb4, 0x34, + 0x24, 0x72, 0x14, 0xb3, 0x34, 0xff, 0x13, 0x57, 0x6c, 0x85, 0x48, 0xc3, 0x6a, 0xee, 0xf1, 0x9f, 0x2a, 0xaf, 0x96, + 0x6b, 0x99, 0x69, 0x6e, 0x96, 0x38, 0x56, 0x2c, 0x2e, 0xea, 0x75, 0x25, 0xb2, 0x40, 0x88, 0x23, 0x4c, 0x63, 0x3d, + 0xf5, 0x46, 0x69, 0xf5, 0x1e, 0x09, 0x65, 0x7e, 0xc2, 0xde, 0x8e, 0xbd, 0x1e, 0x64, 0x21, 0x8e, 0x2d, 0x07, 0x9b, + 0xad, 0xf7, 0xa9, 0x4c, 0x45, 0x7c, 0x56, 0x17, 0x67, 0x9b, 0x4a, 0x9c, 0xd5, 0x89, 0x38, 0xfb, 0x11, 0x72, 0xfe, + 0x78, 0x46, 0x45, 0x9f, 0xdd, 0xa7, 0x75, 0x52, 0x6c, 0x6a, 0x7a, 0xf2, 0x12, 0xcb, 0xf8, 0xf1, 0x8c, 0xb8, 0x6a, + 0xce, 0x68, 0x24, 0xe3, 0xd1, 0xd9, 0xfb, 0x0c, 0x48, 0x5e, 0xcf, 0xd2, 0x15, 0x0c, 0xde, 0x59, 0x98, 0xc7, 0x67, + 0xa5, 0xb8, 0x05, 0x8b, 0x53, 0xd9, 0xf9, 0x1e, 0x64, 0x58, 0x85, 0x7f, 0x8a, 0x33, 0x80, 0x76, 0x3d, 0x4b, 0xeb, + 0xb3, 0xb4, 0x3a, 0xcb, 0x8b, 0xfa, 0x4c, 0x49, 0xe1, 0x10, 0xc6, 0x0f, 0xef, 0xe9, 0x2b, 0xbb, 0xbc, 0xcd, 0xe2, + 0x2e, 0x8b, 0xfc, 0x29, 0x7a, 0x15, 0x11, 0x93, 0x46, 0x25, 0xbc, 0x76, 0x7f, 0xdb, 0xdc, 0x3f, 0xbc, 0x6e, 0xec, + 0x7e, 0x76, 0xc7, 0x88, 0x2e, 0xa8, 0xc7, 0x2b, 0x49, 0xa9, 0xa0, 0x80, 0xc0, 0x89, 0x66, 0x8d, 0x07, 0x77, 0x1c, + 0xf0, 0x6a, 0x60, 0x4b, 0xb6, 0xf6, 0xf9, 0xd3, 0x58, 0x86, 0x69, 0x6f, 0x02, 0xfc, 0xab, 0xec, 0x4d, 0xd7, 0xc1, + 0x12, 0xef, 0x5b, 0xc8, 0x36, 0xf4, 0xea, 0x05, 0x7f, 0xe6, 0xe5, 0xea, 0x6f, 0xf6, 0x3b, 0x00, 0x61, 0x40, 0xcc, + 0xaa, 0x8f, 0x26, 0xee, 0x9d, 0x95, 0x65, 0xe7, 0x64, 0xd9, 0xf5, 0xd0, 0xaf, 0x49, 0x8c, 0x4a, 0x2b, 0x4b, 0xe9, + 0x64, 0x29, 0x21, 0x0b, 0xf8, 0xc4, 0x68, 0x6a, 0x23, 0x80, 0xb0, 0x1d, 0xa5, 0xf2, 0x85, 0xca, 0x8b, 0x28, 0x9c, + 0x13, 0x3c, 0x4f, 0xc4, 0xe8, 0xce, 0x4a, 0x06, 0x0c, 0x87, 0x10, 0xcc, 0x41, 0x5b, 0xec, 0x0d, 0xdd, 0x44, 0xfc, + 0xf5, 0xb2, 0x28, 0x5f, 0xc5, 0xe4, 0x53, 0xb0, 0x3b, 0xf9, 0xb8, 0x84, 0xc7, 0xe5, 0xc9, 0xc7, 0x21, 0x7a, 0x24, + 0x9c, 0x7c, 0x0c, 0xbe, 0x47, 0x72, 0x5e, 0x77, 0x3d, 0x4e, 0x90, 0x5b, 0x48, 0xf7, 0xb7, 0x63, 0x12, 0xa0, 0x79, + 0x0d, 0xcb, 0x51, 0x53, 0x71, 0xcd, 0xcc, 0x18, 0xcf, 0x1b, 0xbd, 0x3f, 0x76, 0xbc, 0x65, 0x0a, 0xc5, 0x2c, 0xe6, + 0x35, 0xfc, 0x9e, 0x55, 0x81, 0xba, 0xeb, 0x6d, 0x92, 0x5b, 0x66, 0xf5, 0x1c, 0xed, 0xbe, 0xef, 0xea, 0x44, 0x50, + 0xfb, 0x3b, 0xec, 0x79, 0x66, 0xbd, 0xab, 0x62, 0xe0, 0x52, 0x25, 0x3b, 0x64, 0xaa, 0x9a, 0x1e, 0xa8, 0x94, 0x06, + 0x4f, 0x2f, 0xad, 0xcb, 0x97, 0x4a, 0x1b, 0x79, 0xa6, 0xf9, 0x0d, 0xe0, 0xc5, 0xd4, 0x65, 0xb1, 0xfb, 0xe6, 0xbe, + 0x82, 0xdb, 0x78, 0xbf, 0xbf, 0xae, 0x3c, 0xf3, 0x13, 0x17, 0x80, 0xbd, 0xa9, 0xd0, 0x3a, 0x81, 0x52, 0xc3, 0x3a, + 0xbc, 0x4e, 0x44, 0xf4, 0x67, 0xbb, 0x5c, 0x67, 0xae, 0x03, 0x46, 0x14, 0xf1, 0xdb, 0x78, 0xf4, 0x07, 0x28, 0xae, + 0x8d, 0x3d, 0x20, 0xac, 0x43, 0x42, 0x9f, 0x11, 0x80, 0xd4, 0xa3, 0x8f, 0x92, 0x3f, 0x41, 0xb3, 0xa2, 0xb9, 0x63, + 0xf2, 0x73, 0x7d, 0xa5, 0xf4, 0xf7, 0xeb, 0xca, 0x23, 0x73, 0x4a, 0xdb, 0x4c, 0x63, 0xb5, 0xa6, 0x12, 0x08, 0xaf, + 0xa8, 0x64, 0x15, 0x3e, 0x9b, 0x37, 0xa2, 0xdf, 0x97, 0x47, 0x78, 0x5a, 0xfd, 0xb4, 0xc5, 0xf8, 0x56, 0x40, 0x34, + 0x12, 0x7e, 0xbf, 0x5f, 0x01, 0xcc, 0x8b, 0x6c, 0x66, 0xf7, 0x71, 0x40, 0x95, 0x12, 0x4d, 0xe3, 0x6c, 0x9e, 0xdf, + 0xd3, 0x9b, 0xb2, 0x83, 0x4e, 0x9d, 0x2a, 0x70, 0xc1, 0x55, 0xc9, 0x78, 0x65, 0x3d, 0x91, 0xcf, 0x6f, 0x6e, 0x36, + 0x69, 0x16, 0xbf, 0x2b, 0x7f, 0xc1, 0xb1, 0xd5, 0x75, 0x78, 0x60, 0xea, 0x74, 0xed, 0x3c, 0xd2, 0xda, 0x0b, 0x01, + 0x11, 0xed, 0x1a, 0x6a, 0xbd, 0xb0, 0xd0, 0x23, 0x3d, 0x11, 0xce, 0x49, 0xa2, 0xa6, 0x1d, 0x68, 0x69, 0x84, 0xbe, + 0xbe, 0xe6, 0xf4, 0x17, 0x06, 0x6b, 0x9f, 0x8f, 0x19, 0x90, 0x95, 0xe8, 0xc7, 0xea, 0xa1, 0xb1, 0x99, 0x43, 0xcf, + 0x5a, 0x95, 0x67, 0x5e, 0x75, 0x38, 0x20, 0x3e, 0x8c, 0xfe, 0x92, 0xdf, 0xef, 0xbf, 0xa0, 0xf9, 0xc7, 0x84, 0x1a, + 0x3f, 0xdb, 0x0c, 0xd0, 0xb5, 0xef, 0xca, 0x03, 0x51, 0xcf, 0xb5, 0x4a, 0x10, 0xe2, 0x0d, 0x62, 0xa2, 0x19, 0x31, + 0x07, 0xa7, 0x1d, 0x6a, 0xfe, 0x49, 0x6a, 0x40, 0x88, 0x12, 0xaf, 0x63, 0xca, 0x82, 0x9c, 0x36, 0x71, 0xa4, 0x1f, + 0x85, 0x13, 0xf9, 0x41, 0x54, 0x45, 0x76, 0x07, 0x17, 0x0c, 0xa6, 0xde, 0xd3, 0x7e, 0x89, 0x7e, 0x4b, 0x38, 0x72, + 0x8e, 0x56, 0x85, 0x20, 0x72, 0x42, 0x58, 0x6b, 0x08, 0x13, 0xc4, 0x06, 0xf1, 0xb2, 0xef, 0x92, 0x0c, 0x47, 0x0a, + 0x2e, 0xeb, 0xd8, 0x31, 0xe6, 0xea, 0xa8, 0x7a, 0x0d, 0x60, 0xbc, 0x72, 0x04, 0xcd, 0x46, 0x91, 0x5d, 0x42, 0x54, + 0x91, 0xe3, 0x09, 0xa8, 0x1d, 0x94, 0xc6, 0x66, 0x7a, 0x3e, 0x0e, 0xf2, 0xd1, 0xa2, 0x42, 0x9d, 0x13, 0xcb, 0x78, + 0x0d, 0xc0, 0xda, 0xb9, 0xea, 0xe7, 0x59, 0x0d, 0x9e, 0x34, 0xc4, 0xe7, 0x63, 0xb4, 0xbd, 0xb2, 0x39, 0xa8, 0xb6, + 0xd3, 0x59, 0x79, 0xc5, 0x74, 0x39, 0x30, 0xee, 0x1b, 0x5e, 0x51, 0x9c, 0xe1, 0x07, 0x0f, 0xb6, 0x38, 0x7f, 0xba, + 0xa1, 0xf6, 0x63, 0x6e, 0xd4, 0xc3, 0x40, 0x6b, 0xc1, 0x9b, 0x82, 0x58, 0x7f, 0xdf, 0x75, 0x64, 0x7b, 0xa7, 0x45, + 0x46, 0x93, 0xcf, 0x7e, 0xfe, 0xbe, 0x4c, 0x57, 0x29, 0xdc, 0x97, 0x9c, 0x2c, 0x9a, 0x79, 0x08, 0xec, 0x0d, 0x31, + 0x5c, 0x1f, 0x15, 0x1e, 0x51, 0xd6, 0xef, 0xc3, 0xef, 0xab, 0x0c, 0x4c, 0x31, 0x70, 0x5d, 0x21, 0x18, 0x0f, 0x81, + 0x20, 0x1e, 0xa6, 0xd1, 0xc9, 0xa0, 0x06, 0x6d, 0xf8, 0x06, 0x20, 0x33, 0xc0, 0x23, 0x73, 0xe9, 0x11, 0x70, 0x17, + 0xb8, 0xf6, 0x64, 0x3c, 0xf6, 0x27, 0xa6, 0xa1, 0x51, 0x53, 0x9a, 0xe9, 0xb9, 0xf1, 0x9b, 0x8e, 0x6a, 0xb9, 0x76, + 0xfe, 0xe3, 0x4b, 0x7e, 0x83, 0x5e, 0xd0, 0xf2, 0x72, 0x1f, 0xa9, 0xcb, 0x7d, 0x46, 0x71, 0x99, 0x48, 0x0e, 0x0b, + 0x62, 0x59, 0xc2, 0x81, 0xc7, 0xa8, 0x64, 0xb1, 0xa5, 0xc7, 0xaa, 0x68, 0xf9, 0xa2, 0xdc, 0x20, 0x1d, 0x3a, 0x21, + 0x58, 0xa2, 0x82, 0x60, 0x09, 0x8c, 0x8b, 0x58, 0xf3, 0xcd, 0x20, 0x67, 0xf1, 0x6c, 0x33, 0xe7, 0x48, 0x58, 0x97, + 0x1c, 0x0e, 0x85, 0x04, 0x9b, 0xc9, 0x66, 0xeb, 0x39, 0x5b, 0xfb, 0x0c, 0x94, 0x00, 0xa5, 0x4c, 0x13, 0x94, 0xa6, + 0x15, 0x5b, 0x71, 0xd3, 0x1a, 0xac, 0x56, 0x53, 0xb6, 0xaa, 0x29, 0x3b, 0xa7, 0x29, 0x47, 0x15, 0x94, 0x9c, 0x50, + 0x8a, 0x32, 0x0c, 0x60, 0xc4, 0x26, 0xd1, 0x55, 0x86, 0x3e, 0xde, 0x09, 0x8f, 0xa0, 0x8a, 0x88, 0x7c, 0xc2, 0x10, + 0x02, 0x13, 0x51, 0x5c, 0xa8, 0x42, 0x31, 0x40, 0x46, 0x24, 0x10, 0x4c, 0x54, 0xea, 0x14, 0x98, 0x8f, 0xa6, 0x8a, + 0x61, 0xd3, 0x9e, 0x28, 0xdf, 0x53, 0xc7, 0x3d, 0xca, 0x36, 0xff, 0x10, 0xbb, 0x20, 0x44, 0xee, 0xc6, 0x9d, 0xfa, + 0x19, 0xf1, 0xde, 0xee, 0x08, 0xe3, 0x27, 0x3b, 0x6e, 0x11, 0xae, 0x08, 0xb6, 0x54, 0x73, 0x88, 0xc5, 0xbc, 0x9a, + 0x24, 0xa8, 0x65, 0x49, 0xfc, 0x0d, 0x4f, 0x06, 0x39, 0x5b, 0x82, 0x07, 0xed, 0x9c, 0x65, 0x80, 0xbf, 0x62, 0xb5, + 0xe8, 0xf7, 0xda, 0x5b, 0x82, 0xfc, 0xb4, 0xb1, 0x1b, 0x85, 0x89, 0x11, 0x24, 0xea, 0x76, 0x65, 0x20, 0x3f, 0xbc, + 0xc7, 0xe9, 0x78, 0xec, 0x29, 0x63, 0x6e, 0x65, 0x7a, 0x99, 0xce, 0x95, 0x7c, 0x23, 0xf7, 0xd2, 0x87, 0x5e, 0x82, + 0x9d, 0x03, 0xde, 0x40, 0xda, 0xc0, 0x8f, 0xb0, 0x5d, 0x78, 0x6d, 0x90, 0x30, 0x23, 0xc0, 0x16, 0xc7, 0xc7, 0x48, + 0x09, 0x0c, 0xe1, 0x38, 0x4b, 0x01, 0x98, 0x46, 0x5f, 0x66, 0x2b, 0xfb, 0x32, 0xab, 0x35, 0x5b, 0x2a, 0xa7, 0x7b, + 0xe7, 0xd6, 0xed, 0x7c, 0x26, 0x01, 0xc0, 0xa4, 0xce, 0x81, 0x38, 0x33, 0xc1, 0x2e, 0x4d, 0x22, 0xcb, 0x87, 0x30, + 0xbf, 0x15, 0x2f, 0xcb, 0x62, 0xa5, 0xba, 0xa2, 0xed, 0x33, 0x93, 0xcf, 0x48, 0x27, 0xa1, 0x02, 0x0a, 0x0a, 0xb9, + 0xd6, 0xa7, 0x6f, 0xc3, 0xb7, 0x41, 0xa1, 0x81, 0xd9, 0x2a, 0xdc, 0xd3, 0x64, 0x8d, 0xd4, 0x1b, 0x55, 0xbf, 0x4f, + 0xae, 0x81, 0x54, 0x67, 0x0e, 0x2d, 0x7b, 0x56, 0x61, 0x80, 0xd8, 0x51, 0x9f, 0x91, 0x50, 0x07, 0x52, 0x0f, 0x18, + 0x42, 0xb4, 0x4d, 0x1f, 0x7f, 0x32, 0x24, 0xba, 0x00, 0x5b, 0x88, 0x36, 0xf0, 0xe3, 0x4f, 0xb0, 0xcf, 0x82, 0xf0, + 0x98, 0xe6, 0x6f, 0x20, 0xe9, 0xd8, 0xc0, 0x69, 0xf5, 0x29, 0xf8, 0x20, 0xc9, 0xc1, 0x44, 0x1d, 0xbc, 0xdc, 0x5f, + 0xfa, 0x7d, 0xd8, 0xb2, 0x73, 0x29, 0xd5, 0xb1, 0x52, 0x6f, 0xdb, 0xda, 0x0f, 0xa2, 0x2d, 0x38, 0xb2, 0x88, 0xbf, + 0xcf, 0x10, 0x11, 0xcc, 0x0c, 0x22, 0xec, 0x5a, 0xa8, 0xbb, 0x3d, 0xa5, 0x96, 0x45, 0xbd, 0xed, 0x29, 0xa5, 0x6e, + 0xc3, 0xf0, 0xdd, 0x04, 0x33, 0xc5, 0x0d, 0x7f, 0x93, 0x79, 0xa1, 0xde, 0x78, 0x8c, 0x63, 0xfc, 0xda, 0xf3, 0xf7, + 0x4b, 0x5e, 0xcd, 0x36, 0xca, 0x84, 0x79, 0xcb, 0x97, 0xb3, 0x50, 0x76, 0xb5, 0x34, 0xee, 0x7c, 0xf6, 0x96, 0x6a, + 0x3e, 0xf8, 0x87, 0x43, 0x02, 0xf1, 0x46, 0xf1, 0xd5, 0x6d, 0x23, 0xb7, 0xae, 0xc9, 0xe6, 0xaa, 0x04, 0xd4, 0xef, + 0xf3, 0x35, 0xee, 0xb7, 0x58, 0xff, 0xee, 0x69, 0x90, 0xb1, 0x9a, 0xe1, 0x8a, 0x29, 0x7c, 0x0a, 0x00, 0x83, 0xc3, + 0xa9, 0x20, 0x2d, 0xf0, 0x86, 0x97, 0xc3, 0xcb, 0xc9, 0x86, 0x4c, 0xba, 0x1b, 0x1f, 0xb9, 0xb3, 0x40, 0xd5, 0xfb, + 0x1d, 0xc5, 0x49, 0x83, 0x44, 0x63, 0xaf, 0xc1, 0x67, 0x59, 0x46, 0xb9, 0x68, 0xe2, 0x3e, 0x24, 0x5f, 0xe9, 0x01, + 0xcc, 0x55, 0x28, 0x01, 0xa2, 0xdf, 0x58, 0x16, 0x1b, 0xd1, 0xb6, 0xd8, 0xc0, 0x52, 0xaa, 0xe6, 0x7a, 0x35, 0x7d, + 0xf6, 0x4a, 0x34, 0xef, 0xa3, 0x19, 0xa7, 0x34, 0x1a, 0x70, 0x9c, 0x46, 0xe1, 0xf6, 0xdd, 0x9d, 0x28, 0x97, 0x19, + 0x58, 0xb2, 0x55, 0x38, 0xc5, 0x65, 0xa3, 0xce, 0x88, 0x67, 0x79, 0xac, 0x00, 0x3a, 0x1e, 0x12, 0x00, 0xd5, 0x05, + 0x01, 0x15, 0xd1, 0x52, 0x7a, 0x2b, 0xb4, 0x58, 0xa8, 0x37, 0x1c, 0xa5, 0xf0, 0x47, 0xfa, 0xf3, 0x20, 0x9f, 0x02, + 0x10, 0xbb, 0x3e, 0x8e, 0x5e, 0x16, 0x25, 0x7d, 0xaa, 0x98, 0xe5, 0x72, 0x30, 0x81, 0x5d, 0x9d, 0xc8, 0x50, 0x2b, + 0xc8, 0x5b, 0x75, 0xe5, 0xad, 0x4c, 0xde, 0xc6, 0x38, 0x25, 0x3f, 0x70, 0xd3, 0xb1, 0x46, 0x0c, 0xbc, 0xf2, 0xb4, + 0x4e, 0x13, 0xa4, 0xc9, 0x05, 0x30, 0x0c, 0xf1, 0xfb, 0xcc, 0x7b, 0xe6, 0x39, 0x52, 0x15, 0x24, 0xb3, 0xbb, 0xcc, + 0x53, 0x17, 0x51, 0x7d, 0xe5, 0xd4, 0xd2, 0x99, 0xd3, 0x8f, 0x00, 0xde, 0x63, 0x6a, 0xd2, 0x90, 0x8f, 0x70, 0x5b, + 0x8a, 0xaf, 0xb7, 0xea, 0x1a, 0x2f, 0x8d, 0xce, 0xdd, 0xcb, 0x97, 0xee, 0x34, 0xe8, 0xa7, 0x20, 0x28, 0xe7, 0xb3, + 0x52, 0xc0, 0x9e, 0x32, 0x9b, 0xeb, 0xd5, 0xaa, 0x15, 0x5a, 0x87, 0xc3, 0x58, 0x3b, 0x0a, 0x69, 0x75, 0x16, 0xb0, + 0xd5, 0x48, 0xa7, 0x04, 0x08, 0xc1, 0x71, 0x1a, 0x76, 0x82, 0x71, 0x97, 0x4e, 0x23, 0xb2, 0x5e, 0x29, 0x49, 0x17, + 0x66, 0x90, 0xfc, 0x93, 0xbc, 0x9e, 0x01, 0x2d, 0x01, 0x1c, 0x8a, 0x58, 0xc2, 0xc3, 0x49, 0x72, 0x05, 0xd0, 0xe9, + 0x70, 0x50, 0x69, 0x68, 0xce, 0x6a, 0x96, 0xcc, 0x27, 0xb1, 0x54, 0x55, 0x1e, 0x0e, 0x9e, 0x72, 0x33, 0xe8, 0xf7, + 0xb3, 0x69, 0xa9, 0x5c, 0x00, 0x82, 0x58, 0x17, 0x06, 0x88, 0x47, 0x5a, 0x78, 0xb2, 0xe8, 0x53, 0x12, 0xbf, 0x9c, + 0x25, 0x73, 0x93, 0x0d, 0xef, 0xc0, 0x08, 0x36, 0xe3, 0xba, 0xa4, 0x4c, 0x7b, 0x54, 0x7e, 0xcf, 0xe8, 0xa9, 0xed, + 0x6b, 0xad, 0xb6, 0x88, 0x75, 0x1d, 0x5c, 0x95, 0xa8, 0xa7, 0xf8, 0xa0, 0x24, 0xc1, 0xfb, 0x85, 0x73, 0x33, 0x52, + 0xbe, 0x16, 0xb9, 0x1f, 0xb4, 0x33, 0xb5, 0x72, 0xe0, 0x08, 0xe4, 0x58, 0x45, 0x25, 0xaf, 0x77, 0x1d, 0x82, 0x47, + 0x77, 0xa5, 0x02, 0xe5, 0xe0, 0xa7, 0x20, 0x46, 0xd7, 0x57, 0x9d, 0x35, 0xd4, 0x4c, 0xa3, 0xca, 0x23, 0xe8, 0xd4, + 0x01, 0x3c, 0x29, 0x78, 0xa9, 0xd5, 0x8f, 0x87, 0x83, 0x67, 0x7e, 0xf0, 0x77, 0x99, 0xbe, 0x85, 0x98, 0x28, 0xa7, + 0x1a, 0x21, 0x71, 0xa5, 0x24, 0x11, 0x1f, 0x2f, 0x5a, 0x56, 0x8c, 0xca, 0xf0, 0x9e, 0x57, 0xaa, 0x7c, 0x75, 0xaa, + 0xf2, 0x62, 0xa4, 0x6d, 0x09, 0xbc, 0x26, 0xff, 0x10, 0xb9, 0xe6, 0xad, 0xaf, 0xbb, 0xca, 0xd0, 0x47, 0xb2, 0x02, + 0x1d, 0xc1, 0x56, 0x96, 0x92, 0x03, 0x3e, 0xa9, 0xee, 0xaa, 0x55, 0xeb, 0x73, 0xca, 0x36, 0xc2, 0x4d, 0x7e, 0x1d, + 0x3b, 0x38, 0x52, 0x7e, 0x83, 0xe7, 0x02, 0xd8, 0x6b, 0xc0, 0xde, 0x9c, 0xb3, 0xa2, 0x79, 0x70, 0x48, 0xdb, 0x02, + 0x8d, 0xcc, 0xdc, 0xce, 0xd5, 0x7d, 0x5b, 0x1e, 0xa5, 0x31, 0x44, 0xa6, 0x3d, 0x30, 0x1d, 0x6c, 0x46, 0xf9, 0xef, + 0x29, 0xbf, 0x55, 0x38, 0x06, 0xbe, 0x9d, 0x7a, 0x07, 0x50, 0xf5, 0xb4, 0x41, 0xc6, 0x9a, 0x61, 0x68, 0x65, 0x97, + 0x4b, 0xa1, 0x25, 0x68, 0xa9, 0x9b, 0x20, 0x38, 0x3f, 0x22, 0xca, 0x11, 0x80, 0x2e, 0x52, 0xc0, 0x04, 0x3f, 0xa5, + 0xed, 0xee, 0xf7, 0xd7, 0xa9, 0x47, 0xee, 0x5d, 0xa1, 0x46, 0x09, 0x25, 0x18, 0xfb, 0x89, 0xc6, 0x0c, 0x3a, 0xba, + 0x22, 0x27, 0x3c, 0x6b, 0x75, 0x58, 0xd7, 0x4d, 0x19, 0x94, 0xc5, 0x31, 0xaf, 0xa6, 0xb3, 0x3f, 0x1e, 0xed, 0xeb, + 0x06, 0x59, 0xc8, 0xff, 0x60, 0x3d, 0x24, 0x83, 0xee, 0x41, 0x28, 0x44, 0x6f, 0x1e, 0xcc, 0xf0, 0x3f, 0xb6, 0xe1, + 0xd9, 0x77, 0xdc, 0xa8, 0x13, 0xc4, 0x1c, 0x71, 0xbc, 0xf4, 0x14, 0x6d, 0x3d, 0xdc, 0x02, 0xd9, 0x1a, 0x2f, 0x6f, + 0xed, 0x35, 0x90, 0x53, 0x1c, 0xff, 0x2d, 0xcf, 0xd4, 0xca, 0x06, 0x3f, 0x3d, 0x65, 0x3b, 0xf0, 0xf0, 0x22, 0x04, + 0x14, 0xc3, 0xb2, 0xf1, 0xb7, 0x96, 0xe3, 0x8c, 0xfe, 0x9b, 0x47, 0x0c, 0x83, 0x45, 0xe4, 0xc7, 0x97, 0xa5, 0x10, + 0x5f, 0x85, 0xf7, 0xa9, 0xf2, 0x6e, 0xc9, 0x29, 0xf3, 0x56, 0x0f, 0xa3, 0xeb, 0x92, 0xf4, 0x5d, 0xf2, 0xb1, 0x35, + 0x6c, 0x7f, 0x68, 0xf7, 0x9b, 0x21, 0x82, 0x10, 0xca, 0xf1, 0x73, 0x46, 0x27, 0x34, 0x3e, 0xac, 0x66, 0xa7, 0xd7, + 0xef, 0x9d, 0xe3, 0x05, 0x5b, 0xa3, 0x01, 0x1e, 0x0f, 0x5d, 0xcc, 0x13, 0x35, 0x74, 0xba, 0xae, 0x9d, 0x83, 0x07, + 0x06, 0x59, 0x9e, 0x7c, 0xc7, 0xb0, 0xc4, 0xfe, 0x24, 0xe2, 0x49, 0x5b, 0xb5, 0xb1, 0x39, 0x52, 0x6d, 0xd4, 0x0c, + 0xfc, 0xe0, 0x15, 0x14, 0x18, 0x5d, 0x90, 0x16, 0x60, 0x1c, 0x8e, 0x00, 0x64, 0xc5, 0x38, 0x1e, 0x19, 0x4c, 0x60, + 0x48, 0x37, 0x14, 0x05, 0xe0, 0xe1, 0x71, 0x3c, 0x08, 0x19, 0x40, 0xba, 0xe0, 0xa1, 0x61, 0x9b, 0x84, 0x94, 0x9f, + 0xe7, 0x79, 0xad, 0x86, 0xd0, 0x77, 0x16, 0xaa, 0x63, 0x3f, 0xd2, 0x5e, 0xb1, 0xae, 0x55, 0xe9, 0xc8, 0x56, 0x07, + 0xe8, 0x1b, 0x32, 0xf0, 0xad, 0x63, 0x0b, 0x80, 0x68, 0x89, 0x2f, 0xa9, 0x57, 0xfb, 0x32, 0x66, 0x85, 0x7a, 0x7d, + 0x61, 0xda, 0xf5, 0x42, 0x5a, 0x14, 0x50, 0x71, 0xdb, 0xaa, 0xed, 0x91, 0x9c, 0xff, 0xf0, 0xae, 0xa3, 0x1d, 0x9f, + 0x9d, 0x1a, 0x5b, 0x42, 0x99, 0x5b, 0x3c, 0x91, 0xd5, 0xd1, 0x96, 0xea, 0x54, 0x1f, 0x70, 0xa9, 0x49, 0x75, 0x66, + 0x60, 0x78, 0x8d, 0x00, 0xe5, 0x16, 0x22, 0x69, 0x1c, 0xf6, 0xce, 0x27, 0x83, 0x82, 0xb9, 0x45, 0x02, 0x12, 0xd8, + 0xc6, 0xd6, 0x2e, 0x9a, 0xeb, 0xd7, 0x97, 0xd4, 0xab, 0xda, 0x54, 0xf5, 0xe0, 0x8d, 0x17, 0x38, 0x7b, 0xa7, 0xb5, + 0x80, 0x00, 0x0a, 0x5b, 0xcb, 0x72, 0x70, 0xee, 0x76, 0x55, 0x4b, 0x45, 0x19, 0xf5, 0xfb, 0xe7, 0x5f, 0x52, 0x54, + 0xc4, 0x9e, 0x2a, 0x4e, 0x59, 0xbf, 0xdd, 0x32, 0x17, 0x95, 0x25, 0x6f, 0x50, 0x45, 0x6b, 0x75, 0xd4, 0x54, 0xae, + 0x9b, 0xab, 0x96, 0x4c, 0x10, 0xa3, 0xfb, 0x74, 0xad, 0x73, 0xa7, 0xde, 0x7b, 0x15, 0x47, 0x0c, 0x04, 0x37, 0xdd, + 0xe3, 0x83, 0x83, 0xd0, 0xa8, 0x28, 0x17, 0xdc, 0x28, 0xad, 0x2a, 0x29, 0x85, 0xbc, 0x55, 0xd1, 0x9c, 0xe9, 0x23, + 0x00, 0x22, 0xc0, 0x2a, 0x51, 0xff, 0x87, 0x2f, 0x8d, 0xf1, 0xe0, 0x81, 0xaf, 0xc9, 0x75, 0x6c, 0xbd, 0x7f, 0x5a, + 0x23, 0xad, 0x36, 0x8e, 0x49, 0xad, 0x7a, 0xd9, 0x2a, 0x5e, 0x76, 0xaf, 0x53, 0x31, 0x78, 0xfe, 0x3f, 0xf7, 0x01, + 0x6a, 0x44, 0x4b, 0x19, 0xdc, 0xba, 0x1a, 0xa0, 0xf1, 0xe1, 0x58, 0xf8, 0xc6, 0x0f, 0x19, 0xe7, 0x83, 0x19, 0x3a, + 0xaa, 0xcd, 0xc1, 0x01, 0xc1, 0x51, 0xdd, 0xa3, 0x31, 0x61, 0x16, 0xce, 0x3d, 0x08, 0x54, 0x9f, 0xb8, 0xcf, 0xb8, + 0xf6, 0x82, 0x36, 0x81, 0x4f, 0xd6, 0x75, 0x4d, 0x11, 0xe0, 0x22, 0x36, 0x26, 0x62, 0x88, 0xcb, 0x26, 0x91, 0xfa, + 0x66, 0x0c, 0x0a, 0x80, 0xe2, 0x69, 0x45, 0x72, 0xe9, 0x22, 0xcd, 0x2b, 0x51, 0xd6, 0xba, 0x19, 0x15, 0x2b, 0x86, + 0x00, 0xf0, 0x10, 0x14, 0x57, 0x95, 0x99, 0xd0, 0x88, 0x0d, 0xa4, 0xb2, 0x14, 0xac, 0x1a, 0x16, 0x7e, 0xd3, 0x7e, + 0x93, 0x9c, 0xf4, 0xce, 0xc7, 0xad, 0x73, 0xc7, 0xbe, 0x77, 0x14, 0x52, 0xda, 0x43, 0x31, 0x41, 0x10, 0xfc, 0xb4, + 0x0e, 0xe7, 0xcf, 0xf8, 0x53, 0x02, 0x53, 0x91, 0xcd, 0x18, 0x70, 0x10, 0x22, 0x32, 0xe3, 0xf7, 0x1c, 0x3e, 0xe5, + 0xe5, 0x24, 0x1c, 0x0e, 0x7d, 0xd0, 0x87, 0xf2, 0x6c, 0x16, 0x0e, 0xc5, 0x5c, 0x7a, 0xaf, 0x83, 0xb5, 0x2e, 0xe4, + 0xf5, 0x24, 0x44, 0xb4, 0xd0, 0xd0, 0x07, 0xe7, 0x75, 0xd7, 0x1c, 0x61, 0x09, 0x40, 0x13, 0x47, 0x5f, 0xd6, 0xef, + 0x47, 0x9e, 0x36, 0xb4, 0x48, 0x71, 0xd1, 0x28, 0xb3, 0x59, 0x2e, 0x3b, 0x61, 0xe3, 0xda, 0x2d, 0x10, 0x8a, 0x87, + 0x69, 0x0b, 0x55, 0xeb, 0xa9, 0x5e, 0xcf, 0x4d, 0xbb, 0xef, 0x1e, 0x54, 0xab, 0x1c, 0xe9, 0xac, 0x4d, 0x57, 0x6a, + 0x75, 0xcb, 0xa8, 0x5a, 0x67, 0x69, 0x44, 0x95, 0x9b, 0xe4, 0xae, 0x51, 0x0b, 0x3e, 0xd9, 0xd0, 0x65, 0xca, 0xce, + 0xd6, 0xe0, 0xc4, 0x91, 0xe7, 0x92, 0x5b, 0xbe, 0x3b, 0xaf, 0xe8, 0xee, 0x54, 0xfb, 0x16, 0xe0, 0xde, 0x0c, 0x1b, + 0x32, 0xe7, 0x35, 0x76, 0x1a, 0x84, 0x49, 0xe0, 0x47, 0xec, 0x63, 0x86, 0x6c, 0x30, 0xa0, 0xa3, 0x90, 0xfe, 0xd7, + 0x96, 0x39, 0x12, 0x30, 0xf9, 0xeb, 0xb9, 0xdf, 0x2c, 0x8a, 0x1c, 0x16, 0xe3, 0xfb, 0x0d, 0x46, 0x1a, 0xab, 0x35, + 0x18, 0x96, 0xb7, 0x88, 0xfc, 0xa9, 0xdd, 0x31, 0x4d, 0x75, 0xbc, 0x59, 0xaf, 0x35, 0xbf, 0x7a, 0xfa, 0x54, 0xd7, + 0xe7, 0xbf, 0x7d, 0x7f, 0x19, 0xd6, 0xcc, 0xfe, 0x10, 0x84, 0xd2, 0xee, 0xdd, 0xe2, 0xdc, 0x91, 0xe8, 0x1d, 0x2b, + 0xcd, 0xec, 0xd2, 0x2e, 0xd9, 0xa5, 0x29, 0xed, 0x23, 0xb9, 0x5e, 0x7d, 0xa3, 0xbc, 0xb1, 0xf3, 0x8a, 0xe9, 0xfe, + 0xbd, 0xd0, 0x3b, 0xca, 0xa9, 0x9a, 0x40, 0x44, 0x93, 0x76, 0x24, 0x6e, 0xf7, 0xca, 0xf0, 0xc9, 0x24, 0x6f, 0x97, + 0x70, 0xd4, 0x35, 0x2c, 0x37, 0xdf, 0xfe, 0x25, 0xaf, 0x3a, 0x2b, 0xdc, 0x7e, 0x69, 0xcc, 0xda, 0x9f, 0x82, 0xb8, + 0xaa, 0x3f, 0xbd, 0xf7, 0x35, 0x53, 0xf2, 0x7f, 0xd5, 0x63, 0xe0, 0xea, 0x27, 0xd3, 0x8e, 0xee, 0x29, 0x84, 0x0d, + 0x66, 0x3f, 0x3f, 0x7e, 0x68, 0xd1, 0x35, 0xba, 0x40, 0x91, 0x1c, 0x40, 0xe7, 0x2e, 0x19, 0xe1, 0xfd, 0x8e, 0x71, + 0xee, 0x5f, 0xfd, 0xaa, 0x26, 0x47, 0x88, 0x68, 0x17, 0xe1, 0x00, 0x20, 0xee, 0x34, 0x95, 0x75, 0xa8, 0x01, 0xfa, + 0x80, 0xc0, 0x3a, 0xf4, 0x6d, 0x06, 0x70, 0xd0, 0x47, 0x9b, 0x67, 0x11, 0xc8, 0xeb, 0xde, 0x1d, 0xbb, 0x66, 0x3b, + 0x9f, 0x3f, 0x5d, 0xa5, 0xde, 0x1d, 0x3a, 0x04, 0x9f, 0x8f, 0xfd, 0xe9, 0x65, 0xa0, 0xd5, 0x9e, 0xd7, 0xec, 0xfa, + 0xb1, 0x60, 0x3b, 0xb6, 0x7b, 0x8c, 0x48, 0x45, 0xdd, 0xf9, 0x87, 0x97, 0x26, 0x7a, 0xde, 0x79, 0xe1, 0x96, 0x2f, + 0x01, 0x3c, 0x90, 0xc5, 0x80, 0xe2, 0xb3, 0xf4, 0x7e, 0x61, 0x09, 0xa8, 0xc9, 0x6f, 0xf8, 0xda, 0x7b, 0x4b, 0xa9, + 0x0b, 0xf8, 0x73, 0x40, 0xe9, 0x93, 0x9c, 0x7b, 0xb7, 0xc3, 0x1b, 0xff, 0xe2, 0x09, 0x38, 0x4f, 0xac, 0x86, 0x0b, + 0xf8, 0xab, 0xe0, 0x43, 0xef, 0x76, 0x80, 0x89, 0x25, 0x1f, 0x7a, 0xab, 0x01, 0xa4, 0x2a, 0x5c, 0x48, 0x8c, 0x7d, + 0xf8, 0x2d, 0xc8, 0x19, 0xfe, 0xf1, 0xbb, 0xc6, 0x60, 0xfd, 0x2d, 0x28, 0x34, 0x1a, 0x6b, 0xa9, 0x42, 0x96, 0x62, + 0x71, 0x26, 0xc0, 0x26, 0x1c, 0x77, 0xfb, 0x62, 0x55, 0x9b, 0xb5, 0xa0, 0x3f, 0x1f, 0xf0, 0x3d, 0x1a, 0xab, 0xab, + 0x72, 0x2e, 0xca, 0x0f, 0x48, 0x9f, 0xea, 0xf8, 0x18, 0x15, 0x9b, 0xba, 0x3b, 0x9d, 0x6a, 0xd5, 0x91, 0xf6, 0xbb, + 0x72, 0x0d, 0x76, 0xbc, 0x4e, 0x8e, 0x2c, 0x85, 0x67, 0x1d, 0x76, 0x5e, 0x3a, 0x25, 0x3a, 0x0c, 0xe3, 0xdd, 0x56, + 0x3d, 0x63, 0x28, 0xcf, 0x0d, 0xc6, 0x74, 0xc1, 0x23, 0xfe, 0x74, 0x90, 0xcb, 0xd0, 0x98, 0x77, 0xc8, 0x86, 0xa1, + 0x7c, 0x68, 0x91, 0x21, 0x21, 0xe2, 0x3d, 0x54, 0x02, 0xb6, 0x2d, 0x28, 0x93, 0x02, 0xce, 0xa2, 0xc1, 0xef, 0xb5, + 0x97, 0x03, 0xef, 0x41, 0xe4, 0x37, 0xd2, 0xa5, 0x5c, 0x62, 0xa3, 0x13, 0xc7, 0xb2, 0xd0, 0xce, 0xe3, 0xfa, 0xeb, + 0x18, 0xd4, 0xef, 0x95, 0x7e, 0x83, 0x72, 0xf6, 0x07, 0xc9, 0x3a, 0x6d, 0x3c, 0x31, 0xfe, 0xed, 0x2a, 0xff, 0x14, + 0x2d, 0xf5, 0xf0, 0xff, 0x19, 0x53, 0x28, 0xfd, 0x75, 0x5a, 0x46, 0x9b, 0xd5, 0x52, 0x94, 0x22, 0x8f, 0xc4, 0xc9, + 0xd7, 0x22, 0x3b, 0x97, 0xef, 0x7c, 0x0a, 0xfd, 0x02, 0xd0, 0xb2, 0x4f, 0x90, 0xd1, 0xbf, 0x32, 0xc1, 0x87, 0xbf, + 0x6a, 0xe7, 0xda, 0x9c, 0x8f, 0x27, 0xf9, 0x95, 0xb5, 0x77, 0x3b, 0x5e, 0x24, 0x46, 0x31, 0x96, 0xfb, 0xaa, 0x9b, + 0x95, 0x13, 0x95, 0x1c, 0x18, 0xe9, 0x9a, 0xec, 0xe5, 0x4a, 0xd6, 0xed, 0x74, 0x2b, 0x81, 0x88, 0x2a, 0xf0, 0x1e, + 0xe3, 0x2a, 0xf6, 0x11, 0x4c, 0xd7, 0x1d, 0x97, 0xd1, 0x8e, 0xf7, 0x8c, 0x57, 0x27, 0xca, 0x0a, 0x6e, 0x37, 0xa2, + 0x3d, 0xa1, 0xa3, 0x9f, 0x26, 0xb5, 0x65, 0xe1, 0x00, 0xe4, 0x2e, 0x61, 0x2c, 0x1b, 0x82, 0x15, 0x83, 0xd2, 0xd7, + 0x6b, 0x4a, 0x96, 0x05, 0x58, 0x74, 0x76, 0x19, 0x81, 0x18, 0xd6, 0x4d, 0x73, 0x42, 0xc7, 0x4b, 0x17, 0xe7, 0xbd, + 0x56, 0x91, 0x82, 0x67, 0xb4, 0xe8, 0x98, 0x9b, 0x8e, 0x74, 0x63, 0xb4, 0xb7, 0xcf, 0x0d, 0x42, 0x8a, 0xe7, 0x0f, + 0x6c, 0xb5, 0x2e, 0x2e, 0x12, 0xaf, 0x90, 0x89, 0x16, 0xc4, 0x52, 0x04, 0x66, 0xbc, 0xd0, 0x34, 0xc2, 0x04, 0x65, + 0x4a, 0xb0, 0x68, 0x8d, 0x0e, 0xed, 0x0f, 0x4b, 0xd8, 0x3d, 0xc6, 0x08, 0x10, 0xa8, 0x32, 0xfd, 0x1a, 0xb6, 0x26, + 0xcc, 0xa6, 0x2e, 0x36, 0x40, 0x5b, 0xc5, 0xd0, 0x20, 0xac, 0x0d, 0x31, 0x1f, 0xd2, 0xfc, 0xf6, 0x5f, 0x58, 0x8c, + 0xed, 0x09, 0xc4, 0xf6, 0x6e, 0xd7, 0x24, 0x4c, 0xf7, 0x5a, 0xdc, 0x58, 0x2f, 0xb7, 0xa7, 0x1c, 0x53, 0x3b, 0xd6, + 0x46, 0xed, 0x58, 0x4b, 0xbd, 0x63, 0xad, 0xf5, 0x8e, 0x75, 0xdb, 0xf0, 0x67, 0x99, 0x17, 0xb3, 0x04, 0xf4, 0xbb, + 0x2b, 0xae, 0x1a, 0x04, 0xcd, 0xd8, 0xb0, 0x1b, 0xf8, 0x2d, 0xb1, 0x76, 0x4b, 0xff, 0x62, 0xc9, 0x16, 0xa6, 0x0f, + 0x74, 0xeb, 0x00, 0xcb, 0x88, 0x9a, 0x7c, 0x87, 0xbc, 0x9b, 0xce, 0x8a, 0xc2, 0xed, 0x89, 0x2d, 0x7c, 0x76, 0x6d, + 0xde, 0xbc, 0x7b, 0x1c, 0x41, 0xee, 0x1d, 0xf7, 0xee, 0x86, 0xd7, 0xfe, 0x85, 0x6e, 0x81, 0x9c, 0xcc, 0x72, 0x06, + 0x52, 0x47, 0x7c, 0x82, 0x68, 0x65, 0x4f, 0xf9, 0x4e, 0xc8, 0x9d, 0x6d, 0xfd, 0xf8, 0xce, 0xdd, 0xd6, 0x6e, 0x1f, + 0xdf, 0xb1, 0x6a, 0x44, 0xb1, 0xe2, 0x34, 0x45, 0xc2, 0x2c, 0xda, 0x00, 0x4f, 0xbd, 0x7c, 0xbf, 0x63, 0xc7, 0x1c, + 0xee, 0x1e, 0x77, 0x74, 0xbc, 0x9c, 0x03, 0x76, 0xf7, 0x1f, 0x6d, 0xc2, 0xc6, 0x4a, 0xd7, 0x2a, 0x74, 0xb8, 0x7b, + 0x9c, 0x69, 0x3c, 0x87, 0x23, 0xf9, 0x74, 0xac, 0xb1, 0x41, 0x50, 0xd7, 0xe7, 0x0c, 0x6a, 0xc7, 0xee, 0x6b, 0xc2, + 0x2e, 0x3b, 0xe6, 0xb5, 0xae, 0x79, 0x7b, 0xe5, 0xa9, 0xd8, 0x10, 0xd0, 0xe1, 0x6b, 0x75, 0x83, 0xfc, 0x4b, 0xe0, + 0x14, 0x01, 0x20, 0x87, 0xe3, 0x25, 0x8f, 0x7d, 0x9f, 0x66, 0x69, 0xbd, 0x43, 0xad, 0x45, 0x65, 0x59, 0x86, 0xb5, + 0xf7, 0x83, 0x56, 0x0c, 0x4b, 0x4d, 0xff, 0x74, 0x1c, 0xb8, 0x9d, 0xed, 0x56, 0xc6, 0x2e, 0xe3, 0x71, 0x71, 0xf1, + 0xeb, 0x69, 0xa1, 0x5c, 0xbb, 0x79, 0x1b, 0xbf, 0x69, 0xb5, 0x64, 0x69, 0xad, 0x87, 0xbc, 0xb4, 0x2c, 0x22, 0x10, + 0xc0, 0x70, 0xa4, 0xec, 0x62, 0x09, 0xf7, 0x08, 0xab, 0x7b, 0x10, 0x4a, 0xe6, 0x85, 0x8b, 0x27, 0x2c, 0x86, 0x44, + 0x80, 0xed, 0x0e, 0x15, 0xdb, 0xc2, 0xc5, 0x13, 0xb6, 0xe1, 0x45, 0xbf, 0x9f, 0xa9, 0x4e, 0x21, 0xeb, 0xce, 0x92, + 0x6f, 0x54, 0x73, 0xac, 0xa1, 0x66, 0x6b, 0x93, 0x6c, 0x8d, 0x73, 0x5b, 0xf1, 0x71, 0xdb, 0x56, 0x7c, 0xac, 0xac, + 0x75, 0xe9, 0x5e, 0xef, 0x51, 0x5d, 0x00, 0x5b, 0xff, 0xcd, 0xf1, 0xca, 0xf5, 0x7c, 0x46, 0x00, 0x5f, 0x0b, 0x3e, + 0x9e, 0x2c, 0xd0, 0xab, 0x64, 0xe1, 0xdf, 0x0c, 0xd4, 0xf8, 0x3b, 0x9d, 0xbb, 0x00, 0xe8, 0x4a, 0xca, 0x2b, 0x20, + 0xef, 0x20, 0xc7, 0xdc, 0xb2, 0x2b, 0xef, 0x4e, 0xbe, 0xc3, 0xae, 0x79, 0x3d, 0x5b, 0xcc, 0xd9, 0x0e, 0x9c, 0x0a, + 0x92, 0x81, 0xbd, 0xac, 0xd8, 0x2e, 0x88, 0xed, 0x84, 0xdf, 0x09, 0x98, 0xf2, 0x19, 0x04, 0x71, 0x05, 0x37, 0x10, + 0x87, 0x27, 0xff, 0x1c, 0xdc, 0xb5, 0x36, 0xeb, 0x3b, 0x66, 0x75, 0x4e, 0xb0, 0x66, 0x56, 0x0f, 0x06, 0xcb, 0x66, + 0xb2, 0xea, 0xf7, 0xbd, 0x9d, 0x76, 0x7c, 0xba, 0x95, 0x3a, 0xb1, 0xd3, 0x5a, 0xad, 0x05, 0xbb, 0x96, 0x5a, 0x17, + 0x63, 0xe8, 0x01, 0xe2, 0xa7, 0x9b, 0x01, 0xbf, 0xeb, 0x58, 0x5b, 0xde, 0x35, 0x5b, 0xb0, 0x1d, 0x5c, 0x82, 0x9a, + 0xf6, 0xb2, 0x3f, 0xa9, 0x5c, 0xd0, 0x8e, 0x5d, 0x12, 0x0f, 0x67, 0xcc, 0x2a, 0x65, 0x66, 0x9d, 0x54, 0x57, 0xa2, + 0x33, 0xa6, 0xb3, 0xd6, 0xf3, 0xb9, 0x9a, 0x4f, 0x0a, 0x0d, 0xea, 0x77, 0x4e, 0x7c, 0x44, 0x45, 0xe7, 0x09, 0x6c, + 0x2d, 0x2b, 0x88, 0xd5, 0x3e, 0x07, 0x6b, 0xad, 0x76, 0xe9, 0xf7, 0xf2, 0x01, 0xb7, 0x29, 0x87, 0x75, 0x60, 0x50, + 0x73, 0x62, 0x45, 0x3d, 0x64, 0x3b, 0xc6, 0xcd, 0x4f, 0x2f, 0x7f, 0x70, 0xc2, 0x92, 0x15, 0xab, 0xfd, 0xe9, 0xaf, + 0x8f, 0x3d, 0xfd, 0x9d, 0xda, 0xbf, 0x10, 0x7e, 0x30, 0xfe, 0x4f, 0xed, 0xbe, 0xd6, 0x62, 0x54, 0xb6, 0xca, 0x11, + 0x1a, 0x77, 0x2b, 0x69, 0xb2, 0xfc, 0x24, 0x3c, 0x61, 0x2d, 0x78, 0x96, 0xeb, 0x25, 0x9a, 0x15, 0xb0, 0xc2, 0x5a, + 0x26, 0xe1, 0x0a, 0x63, 0xb5, 0xb4, 0xd5, 0xb7, 0x68, 0x9a, 0xe3, 0xc3, 0xb9, 0x36, 0x28, 0x53, 0xce, 0xce, 0x88, + 0xd5, 0x70, 0x19, 0x96, 0x26, 0x14, 0x21, 0xbb, 0xb7, 0x83, 0x1b, 0x3b, 0x65, 0x29, 0x65, 0x38, 0xc7, 0x60, 0xc2, + 0x23, 0x31, 0xaa, 0xf2, 0xfd, 0x7d, 0x49, 0x91, 0xd3, 0xb6, 0x1c, 0x54, 0x21, 0xec, 0x23, 0x89, 0x12, 0xb8, 0x15, + 0x69, 0xa1, 0x48, 0x59, 0xfc, 0xed, 0x00, 0x5d, 0xe0, 0x05, 0xd4, 0xd5, 0xa8, 0xdb, 0x1f, 0x8e, 0x78, 0xf8, 0xc0, + 0xd4, 0x07, 0x46, 0x2c, 0x09, 0xd4, 0xf6, 0x2c, 0x4b, 0x6f, 0x41, 0x85, 0xdf, 0xc3, 0xd5, 0x44, 0xec, 0xe7, 0x96, + 0x14, 0x15, 0xd9, 0x48, 0x6f, 0x68, 0x0d, 0x1e, 0xa1, 0x35, 0xe5, 0xb9, 0x93, 0x6a, 0x93, 0xce, 0x3b, 0x42, 0x8e, + 0xd5, 0xb7, 0x96, 0x30, 0xda, 0x15, 0xbd, 0xb8, 0x77, 0xf4, 0x9e, 0xa7, 0xab, 0x9e, 0xfb, 0x13, 0x57, 0xcc, 0x93, + 0xdb, 0x08, 0xd4, 0xad, 0xa0, 0xba, 0xbd, 0x53, 0x09, 0x16, 0x2c, 0x69, 0xf7, 0xf1, 0xdb, 0x59, 0x3b, 0x10, 0x95, + 0xb1, 0x4a, 0xdf, 0x92, 0x84, 0x3d, 0x31, 0xe8, 0x14, 0xaa, 0x72, 0xbb, 0x3b, 0xda, 0x02, 0xd7, 0x31, 0x4b, 0xd1, + 0x33, 0x5b, 0xe4, 0x6e, 0xf9, 0x77, 0xcf, 0x15, 0x39, 0xfb, 0x25, 0x20, 0x38, 0x35, 0xdf, 0x10, 0x5f, 0x8e, 0xf0, + 0xa8, 0xba, 0x05, 0x8e, 0xd3, 0x77, 0x00, 0xff, 0x70, 0xb8, 0x04, 0x4d, 0x40, 0x2c, 0x58, 0x2f, 0x8d, 0x7b, 0xac, + 0x17, 0x17, 0x9b, 0xdb, 0x24, 0xdf, 0x80, 0x33, 0x03, 0xa5, 0x5a, 0xfa, 0x81, 0x63, 0xb5, 0x80, 0x0a, 0x07, 0xb3, + 0x93, 0x7a, 0x61, 0x19, 0xf5, 0x98, 0x3e, 0x3f, 0x83, 0xbd, 0x23, 0x24, 0x00, 0xee, 0x97, 0x7d, 0x40, 0x02, 0x1e, + 0x3a, 0xb3, 0x03, 0xc2, 0x09, 0xb3, 0xa8, 0x0a, 0x24, 0x92, 0x23, 0xfd, 0xec, 0x31, 0x13, 0xc9, 0x1f, 0xcc, 0x7a, + 0xce, 0x29, 0xd1, 0x63, 0x3d, 0x75, 0x84, 0xf4, 0x58, 0xcf, 0x3a, 0x22, 0x7a, 0xac, 0x67, 0x1d, 0x1f, 0x3d, 0xd6, + 0x33, 0xc7, 0x4e, 0x0f, 0x02, 0x13, 0x20, 0xf2, 0x80, 0xf5, 0x68, 0x32, 0xf5, 0x14, 0xf7, 0x00, 0xd1, 0x20, 0xb0, + 0x9e, 0x14, 0xce, 0x7b, 0x80, 0x3c, 0x46, 0x62, 0x75, 0xd0, 0xfb, 0xcb, 0xf8, 0x87, 0x9e, 0x91, 0x91, 0xc7, 0xad, + 0xc3, 0xea, 0x7f, 0xfd, 0x15, 0x02, 0xe0, 0xf0, 0x6c, 0xea, 0x5d, 0x8e, 0x21, 0xab, 0x2c, 0x23, 0x90, 0xfc, 0xc4, + 0xe0, 0xcb, 0x17, 0x00, 0x55, 0x9f, 0xe9, 0x5a, 0x4d, 0x8e, 0xda, 0x63, 0x0e, 0x5d, 0x31, 0x00, 0x6c, 0xc3, 0x12, + 0x55, 0xb5, 0xb0, 0x09, 0x8b, 0xdb, 0xcf, 0x30, 0x9a, 0xcb, 0xa6, 0x17, 0x34, 0x50, 0x8f, 0x10, 0xfc, 0xd2, 0x7a, + 0x68, 0xad, 0x65, 0xca, 0xa1, 0x6b, 0xa3, 0xa8, 0xb2, 0xa1, 0x2e, 0x61, 0xb5, 0x16, 0x51, 0x4d, 0x14, 0x29, 0x97, + 0x8c, 0xa2, 0x58, 0xaa, 0x60, 0x9f, 0x89, 0x5b, 0x88, 0x9a, 0xa7, 0xad, 0xb6, 0x0a, 0xf6, 0xb7, 0x80, 0xb0, 0x16, + 0xd6, 0x42, 0x3a, 0x83, 0xda, 0x3b, 0xfd, 0x48, 0xf9, 0xcb, 0x0b, 0xb9, 0x9d, 0x5b, 0x28, 0xc2, 0xed, 0x39, 0x28, + 0x6f, 0xea, 0xaa, 0x54, 0x44, 0xa3, 0x25, 0x50, 0xca, 0x9c, 0x20, 0xb2, 0x00, 0x01, 0x1c, 0x37, 0x10, 0xf8, 0xbc, + 0xc6, 0x27, 0xd0, 0x28, 0x04, 0xf2, 0x03, 0xab, 0x70, 0xed, 0x21, 0x2d, 0xb5, 0x46, 0x44, 0x89, 0xf8, 0xd1, 0xd5, + 0x73, 0x6c, 0x5f, 0x3d, 0x8d, 0xb5, 0xa5, 0x34, 0x41, 0xfc, 0xc4, 0x62, 0x0b, 0x31, 0x41, 0x54, 0x87, 0xe8, 0x08, + 0x96, 0x13, 0x42, 0x14, 0xfe, 0x14, 0xfa, 0xa9, 0x81, 0xbf, 0x64, 0xcb, 0x22, 0xaf, 0x09, 0x16, 0xb3, 0x62, 0x80, + 0x56, 0x45, 0xe0, 0x99, 0xce, 0x96, 0xca, 0x9c, 0xe6, 0xd1, 0x91, 0x1d, 0x9c, 0x77, 0x1d, 0xec, 0xa5, 0x2f, 0x63, + 0x27, 0xcb, 0xa6, 0x51, 0x1b, 0x1b, 0x22, 0xe1, 0x15, 0xf9, 0x75, 0x96, 0x1a, 0xe7, 0xc8, 0x5c, 0xae, 0xef, 0xba, + 0xb8, 0xbd, 0xa5, 0x6d, 0xc2, 0x2a, 0x44, 0xa8, 0xdb, 0x86, 0xca, 0xa5, 0x30, 0x1b, 0x9b, 0xa6, 0x01, 0xbe, 0x50, + 0x54, 0x2a, 0x55, 0xa9, 0xad, 0x54, 0x72, 0xc2, 0xbb, 0xbe, 0xa9, 0x45, 0xea, 0x8a, 0x60, 0x1b, 0x33, 0xd4, 0x43, + 0xb9, 0x51, 0x63, 0xdf, 0x76, 0xac, 0xd2, 0x3b, 0x4c, 0x90, 0x33, 0xf2, 0x22, 0x07, 0x17, 0x25, 0x05, 0x99, 0xab, + 0x21, 0xcc, 0x1f, 0x34, 0x7c, 0x5a, 0x58, 0xee, 0xa1, 0x04, 0xcc, 0x8e, 0x1a, 0x1e, 0x45, 0x08, 0x44, 0x5c, 0x2a, + 0xfb, 0x8a, 0x89, 0xdf, 0x53, 0x30, 0x4b, 0x26, 0x74, 0x2f, 0x62, 0x59, 0x84, 0x36, 0x3e, 0x49, 0x92, 0xa9, 0xa7, + 0x29, 0xb8, 0x91, 0xcb, 0x30, 0x47, 0x23, 0xb4, 0xe4, 0x23, 0x07, 0xd2, 0xd7, 0x72, 0x2a, 0xc1, 0x47, 0xd4, 0x29, + 0xe0, 0x78, 0x7e, 0x5e, 0x58, 0x3f, 0x59, 0x2e, 0x31, 0x97, 0xb5, 0xf9, 0x2f, 0x3b, 0x3a, 0x06, 0xbb, 0x3c, 0x4d, + 0x1c, 0x57, 0xff, 0x51, 0x95, 0x14, 0xf7, 0xaf, 0xd3, 0x1c, 0x50, 0x04, 0x33, 0x7b, 0x8a, 0xf1, 0xb1, 0xcf, 0x32, + 0x05, 0xfc, 0xed, 0x7a, 0x6b, 0xc9, 0xc4, 0x2e, 0x69, 0x37, 0x57, 0xc6, 0x2f, 0xb5, 0x61, 0xc7, 0xc1, 0xb9, 0x01, + 0x28, 0xce, 0x1a, 0x1d, 0x96, 0xd7, 0xba, 0x6d, 0x55, 0xa8, 0x40, 0xad, 0xff, 0xb3, 0x5b, 0x98, 0xf2, 0x36, 0x2f, + 0x95, 0xb7, 0x79, 0x68, 0x02, 0x04, 0x22, 0x33, 0xe4, 0x59, 0xd3, 0x31, 0x49, 0xdc, 0x3b, 0x52, 0xd2, 0xbe, 0x23, + 0xc5, 0x0f, 0xde, 0x91, 0x90, 0x6f, 0x09, 0x1d, 0xd9, 0x97, 0x9c, 0x9c, 0x40, 0x99, 0xc1, 0x5e, 0x5e, 0x33, 0xd9, + 0x3f, 0xa0, 0xbd, 0x70, 0x2e, 0xcb, 0x2b, 0xfe, 0x46, 0x78, 0x6b, 0x7f, 0xba, 0x3e, 0xed, 0xaa, 0x7a, 0xf3, 0x8d, + 0x99, 0x79, 0x38, 0x14, 0x87, 0x43, 0x65, 0x82, 0x76, 0x17, 0x5c, 0x0c, 0x72, 0x76, 0xe7, 0xc6, 0xc7, 0x5f, 0x73, + 0x14, 0xb1, 0x95, 0xf2, 0x48, 0xba, 0x50, 0x89, 0xe1, 0xa5, 0x81, 0x87, 0xd9, 0xf1, 0xf1, 0x64, 0x77, 0x75, 0x37, + 0x19, 0x0c, 0x76, 0xaa, 0x6f, 0xb7, 0xbc, 0x9e, 0xed, 0xe6, 0xec, 0x9e, 0xdf, 0x4c, 0xb7, 0xc1, 0xbe, 0x81, 0x6d, + 0x77, 0x77, 0x25, 0x0e, 0x87, 0xdd, 0x53, 0xbe, 0xf0, 0xf7, 0xf7, 0x08, 0xe8, 0xcc, 0xcf, 0xc7, 0x6d, 0x8c, 0x9f, + 0x37, 0x6d, 0x57, 0xad, 0x1d, 0xc0, 0xd3, 0xbf, 0xf2, 0xde, 0xcc, 0x96, 0x73, 0x9f, 0xbd, 0xe7, 0xf7, 0xe0, 0x9f, + 0x8f, 0x9b, 0x24, 0x52, 0x9f, 0x68, 0x97, 0xc9, 0x37, 0xe0, 0x40, 0xbe, 0xf3, 0xd9, 0x27, 0x7e, 0x3f, 0x5b, 0xce, + 0x79, 0x71, 0x38, 0x3c, 0x9a, 0x86, 0x48, 0xd6, 0x14, 0x56, 0xc4, 0x92, 0xe2, 0xf9, 0x41, 0x78, 0xfc, 0x5e, 0x44, + 0x86, 0x48, 0xcb, 0xbd, 0x3b, 0x64, 0x6f, 0x58, 0xe4, 0x07, 0xf0, 0x41, 0xb6, 0xf3, 0x27, 0xb2, 0xa6, 0x74, 0xbf, + 0x78, 0xef, 0x1f, 0x0e, 0xf4, 0xd7, 0x27, 0xff, 0x70, 0x78, 0xc4, 0xee, 0x11, 0x1c, 0x9d, 0xef, 0xa0, 0x7f, 0xf4, + 0xad, 0x03, 0xaa, 0x32, 0xbc, 0x9e, 0x6d, 0xe6, 0xfe, 0xd3, 0x15, 0xbb, 0x05, 0x2e, 0x14, 0xe5, 0x85, 0xf6, 0x86, + 0xdd, 0xa3, 0xd7, 0x19, 0x39, 0x11, 0xcd, 0x76, 0x73, 0x9f, 0xc5, 0xf8, 0x5c, 0xdd, 0x17, 0x93, 0x6f, 0xde, 0x17, + 0x77, 0x6c, 0xdb, 0x7d, 0x5f, 0x94, 0x6f, 0xba, 0xeb, 0x67, 0xcb, 0x76, 0xec, 0x1e, 0x66, 0xd8, 0x35, 0x7f, 0xd3, + 0x1c, 0x3b, 0xc6, 0x7e, 0xf3, 0xc6, 0x08, 0xa0, 0xcc, 0x16, 0x2c, 0x16, 0x1c, 0x94, 0x6a, 0xd5, 0xb6, 0x24, 0xf2, + 0x4a, 0x07, 0xaa, 0xcd, 0x08, 0xee, 0xab, 0x85, 0x9c, 0x79, 0x66, 0xa0, 0x6f, 0x2b, 0x44, 0x0b, 0x87, 0x0d, 0xf8, + 0x1b, 0x6d, 0x1d, 0x63, 0x98, 0x66, 0x35, 0xd3, 0xb6, 0xa8, 0xcb, 0xef, 0x7b, 0xcf, 0xe4, 0x37, 0x32, 0xb0, 0x85, + 0x48, 0x0a, 0xc7, 0xf1, 0xc5, 0x93, 0x13, 0xfe, 0xab, 0x96, 0x47, 0xad, 0xf6, 0x0b, 0xa5, 0x3e, 0xbd, 0xa6, 0x23, + 0x9a, 0xb8, 0x17, 0x6d, 0x19, 0xd6, 0x28, 0x6b, 0x6a, 0xe9, 0x30, 0x8c, 0x6b, 0xd8, 0x97, 0x07, 0x0e, 0x7d, 0x07, + 0x04, 0xda, 0x2a, 0x95, 0x02, 0x2d, 0x1c, 0xc3, 0x28, 0xcc, 0x42, 0xca, 0xc3, 0xc2, 0x2c, 0xe5, 0x3d, 0x16, 0x68, + 0x71, 0xab, 0xee, 0x31, 0xb5, 0xdd, 0x82, 0x08, 0xab, 0xb7, 0x8c, 0xf3, 0xcb, 0x46, 0x15, 0x6e, 0x0b, 0x50, 0x14, + 0x41, 0x19, 0xec, 0x49, 0x6e, 0x5b, 0x28, 0x69, 0x36, 0x0a, 0x6b, 0x71, 0x5b, 0x94, 0xbb, 0x5e, 0xc3, 0x16, 0x78, + 0x41, 0xd5, 0x4f, 0x08, 0xdb, 0xb2, 0x67, 0x1d, 0xca, 0x45, 0xfa, 0x1f, 0x59, 0x7a, 0xbe, 0xdf, 0x9a, 0xf3, 0x3f, + 0x7d, 0x45, 0x1f, 0x95, 0xff, 0xf9, 0x25, 0xfd, 0x64, 0xb0, 0x8c, 0x9c, 0x52, 0xbf, 0x44, 0xa3, 0x9b, 0x34, 0x27, + 0x8c, 0x2d, 0x5f, 0x3f, 0xfd, 0x0e, 0x99, 0x82, 0xe4, 0x50, 0x4a, 0x55, 0x4e, 0xf6, 0xd0, 0x17, 0x5e, 0xf7, 0x61, + 0x26, 0x18, 0x80, 0xf0, 0x1a, 0x6d, 0xaa, 0x09, 0x93, 0x78, 0x70, 0x05, 0xff, 0x37, 0x82, 0x18, 0xb4, 0x4f, 0x14, + 0x75, 0x6c, 0x1b, 0xe9, 0xba, 0xed, 0x1c, 0x24, 0x77, 0xea, 0xca, 0x1f, 0x95, 0x93, 0xff, 0x44, 0x43, 0xe4, 0x15, + 0x57, 0x88, 0x95, 0x05, 0x97, 0x58, 0x0c, 0x15, 0x29, 0xc0, 0x35, 0x04, 0x91, 0xb2, 0x28, 0x29, 0xdc, 0x72, 0x50, + 0x15, 0x01, 0x18, 0x57, 0xab, 0xa3, 0x4e, 0x84, 0x8f, 0x5b, 0x6b, 0x11, 0x82, 0x15, 0x8d, 0x5a, 0x59, 0x2b, 0xf0, + 0x05, 0xe9, 0x4b, 0x87, 0x82, 0x98, 0x1e, 0x85, 0x54, 0x95, 0x0e, 0x05, 0xd2, 0x1c, 0x2a, 0xbe, 0x31, 0xd8, 0x28, + 0x2a, 0xd2, 0xf3, 0x97, 0x26, 0x25, 0x97, 0xc6, 0x8c, 0xf7, 0xa2, 0x8c, 0x44, 0x5e, 0x87, 0xb7, 0x62, 0x5a, 0x20, + 0xdf, 0xe8, 0xf1, 0x83, 0xe0, 0x12, 0xde, 0x0d, 0xb9, 0x57, 0x80, 0x2d, 0x01, 0x3b, 0xc0, 0xbd, 0x32, 0xa3, 0x5c, + 0xa7, 0x75, 0xfd, 0xd6, 0x7a, 0x28, 0x86, 0xe1, 0x63, 0x4b, 0x60, 0x3b, 0x5a, 0x47, 0x47, 0x7a, 0xf8, 0xf0, 0xbf, + 0xae, 0x6a, 0x8e, 0x3a, 0x95, 0xcb, 0xd9, 0xf1, 0x84, 0xa5, 0x88, 0x19, 0x74, 0x7f, 0xdd, 0x5e, 0x0b, 0xa0, 0xdb, + 0x65, 0x31, 0xcf, 0x46, 0x3b, 0xf9, 0xb7, 0x74, 0x63, 0x45, 0x69, 0x13, 0xef, 0xb2, 0xde, 0xd8, 0x1f, 0x8e, 0xfe, + 0xf2, 0xf8, 0xed, 0x84, 0x50, 0x75, 0x36, 0x6c, 0xad, 0xe3, 0x5c, 0xfe, 0xd7, 0x5f, 0xc7, 0x64, 0x05, 0x41, 0x41, + 0x58, 0x76, 0x8a, 0x89, 0x0a, 0x46, 0x91, 0x62, 0xcd, 0xc7, 0x93, 0x35, 0xea, 0x84, 0xd7, 0xfe, 0x52, 0xeb, 0x84, + 0x89, 0x91, 0x95, 0xca, 0x5f, 0xb3, 0x8a, 0xdd, 0xaa, 0xcc, 0x02, 0x32, 0x0f, 0xf2, 0xc9, 0xda, 0x68, 0x30, 0x57, + 0xbc, 0x9e, 0xad, 0xe7, 0x52, 0xf9, 0x0c, 0xa6, 0x9c, 0xe5, 0xe0, 0x64, 0x29, 0xec, 0x8e, 0x04, 0x8a, 0xd6, 0x0c, + 0x5d, 0xfb, 0x53, 0x6c, 0xd5, 0x8b, 0xb4, 0xaa, 0x01, 0x1e, 0x10, 0x62, 0x60, 0xa8, 0xbd, 0x5a, 0x78, 0x68, 0x2d, + 0x80, 0xb5, 0x3f, 0x2a, 0xfd, 0x60, 0x3c, 0x59, 0xf2, 0x05, 0xf2, 0x2f, 0x47, 0x8e, 0xda, 0xbd, 0xdf, 0xf7, 0xee, + 0x40, 0x0a, 0x8e, 0x5c, 0x0b, 0x05, 0x12, 0x01, 0x2d, 0xf8, 0xc6, 0x57, 0x3e, 0x18, 0xd7, 0xa8, 0xad, 0x06, 0x05, + 0xb5, 0xa3, 0x5b, 0x1e, 0x3b, 0x7a, 0xe7, 0xbb, 0x13, 0xfa, 0xea, 0x85, 0x16, 0x8e, 0xbf, 0x71, 0x46, 0xae, 0xd9, + 0xaa, 0x43, 0x8e, 0x68, 0x26, 0x1d, 0x42, 0xc4, 0x8a, 0xad, 0xd9, 0x35, 0xa9, 0x9c, 0x3b, 0x87, 0xec, 0xf4, 0x11, + 0xaa, 0xf4, 0x5a, 0x0f, 0x6f, 0x27, 0x4a, 0x77, 0x7b, 0xbc, 0x9b, 0x7c, 0xcf, 0x26, 0x22, 0x06, 0x03, 0xda, 0x20, + 0x9c, 0x91, 0x75, 0x88, 0x54, 0x3a, 0x40, 0x08, 0x1c, 0x13, 0xd0, 0xf4, 0xdf, 0xdf, 0x92, 0x28, 0xe0, 0x48, 0x1b, + 0x21, 0x6b, 0xd9, 0xe1, 0x90, 0x83, 0x46, 0xb9, 0xf9, 0xd3, 0x2b, 0xd4, 0x69, 0x0e, 0xcc, 0xd3, 0x25, 0xec, 0x39, + 0x78, 0xa4, 0x17, 0xc7, 0x47, 0xfa, 0x7f, 0x47, 0x13, 0x35, 0xfe, 0xcf, 0x35, 0x51, 0x4a, 0x8b, 0xe4, 0xa8, 0x96, + 0xbe, 0x4b, 0x1d, 0x05, 0x17, 0x79, 0x47, 0x2d, 0x64, 0xcf, 0xb2, 0x71, 0xa3, 0x9a, 0xf7, 0xff, 0x6b, 0x65, 0xfe, + 0xbf, 0xa6, 0x95, 0x61, 0x4a, 0x76, 0x2c, 0xd5, 0xcc, 0x03, 0xad, 0x62, 0x98, 0xbd, 0x26, 0x09, 0x91, 0xe1, 0xd2, + 0x80, 0x1f, 0x55, 0xb0, 0x8f, 0xd3, 0x6a, 0x9d, 0x85, 0x3b, 0x54, 0xa2, 0xde, 0x88, 0xdb, 0x34, 0x7f, 0x56, 0xff, + 0x5b, 0x94, 0x05, 0x4c, 0xed, 0xdb, 0x32, 0x8d, 0x03, 0xb2, 0xf0, 0x67, 0x61, 0x89, 0x93, 0x1b, 0xdb, 0xf8, 0x5a, + 0x8e, 0xa7, 0xfd, 0xaa, 0x33, 0xf3, 0x40, 0x02, 0x35, 0xb0, 0x94, 0xe4, 0x5c, 0x56, 0x16, 0xf7, 0x08, 0xdd, 0xfc, + 0x53, 0x59, 0x16, 0xa5, 0xd7, 0xfb, 0x94, 0xa4, 0xd5, 0xd9, 0x4a, 0xd4, 0x49, 0x11, 0x2b, 0x28, 0x9b, 0x14, 0x60, + 0xf4, 0x61, 0xe5, 0x89, 0x38, 0x38, 0x43, 0xa0, 0x86, 0xb3, 0x3a, 0x09, 0x01, 0x68, 0x58, 0x21, 0xec, 0x9f, 0x41, + 0x0b, 0xcf, 0xc2, 0x38, 0x5c, 0x03, 0x4c, 0x4e, 0x5a, 0x9d, 0xad, 0xcb, 0xe2, 0x2e, 0x8d, 0x45, 0x3c, 0xea, 0x29, + 0x4a, 0x96, 0xb7, 0xb9, 0x2b, 0xe7, 0xfa, 0xfb, 0x3f, 0x29, 0x80, 0xdd, 0x80, 0xd9, 0xb6, 0xc0, 0x0e, 0x00, 0x12, + 0x14, 0xc8, 0x16, 0xea, 0x34, 0x3a, 0x53, 0x4b, 0x05, 0xde, 0x73, 0x3d, 0xc0, 0xdf, 0xe6, 0x80, 0x65, 0x5c, 0x17, + 0x32, 0x60, 0x04, 0x01, 0x8c, 0xc0, 0x41, 0x09, 0x18, 0x3a, 0x43, 0xdc, 0x56, 0xe5, 0xac, 0x85, 0xe6, 0x4a, 0xb7, + 0x25, 0x37, 0x8d, 0x72, 0xb6, 0x12, 0x01, 0xf4, 0xd5, 0x4d, 0x89, 0xd3, 0xe5, 0xb2, 0x95, 0x84, 0x7d, 0xfb, 0xae, + 0x9d, 0x2a, 0xf2, 0xf8, 0x28, 0x0d, 0x79, 0x05, 0x7e, 0xca, 0x38, 0x92, 0x44, 0x89, 0xe0, 0x6d, 0xde, 0x98, 0x71, + 0x78, 0xd5, 0xa6, 0x9c, 0xda, 0x9b, 0xf5, 0x02, 0x70, 0x9e, 0xa0, 0x2d, 0x03, 0x8c, 0x05, 0x0c, 0xce, 0x85, 0x58, + 0xf2, 0x14, 0xc1, 0x2f, 0x9d, 0x48, 0x61, 0xdc, 0xe5, 0x30, 0xcc, 0x83, 0xa2, 0x77, 0x49, 0xfd, 0xd1, 0xef, 0xa3, + 0x36, 0x19, 0x0c, 0x41, 0x25, 0x80, 0xca, 0xba, 0x41, 0x62, 0x60, 0x55, 0x5a, 0x48, 0x5c, 0x42, 0xbc, 0xcc, 0x57, + 0xd3, 0x34, 0x0a, 0x1e, 0xd5, 0x13, 0x42, 0x38, 0xc1, 0xf8, 0x10, 0x37, 0x40, 0xc0, 0x60, 0x15, 0x17, 0x18, 0x24, + 0xcf, 0x25, 0xba, 0x3f, 0x9e, 0xef, 0x18, 0xe0, 0xca, 0x79, 0x4f, 0xb5, 0xab, 0x07, 0xf6, 0x72, 0x95, 0x2e, 0x19, + 0x21, 0xac, 0xf8, 0xbf, 0x88, 0xbc, 0x6f, 0x87, 0x09, 0xa8, 0x6d, 0xe4, 0x8f, 0x41, 0x62, 0x2e, 0x13, 0x45, 0x10, + 0x8f, 0xb2, 0x82, 0x25, 0x69, 0xb0, 0x19, 0x25, 0x29, 0x68, 0x34, 0x31, 0x86, 0x4c, 0x85, 0x76, 0x48, 0x1a, 0xcd, + 0xc6, 0x64, 0x1f, 0x43, 0x5e, 0xc3, 0xc5, 0x62, 0x81, 0xf7, 0xbd, 0x16, 0xaa, 0x83, 0x6d, 0x69, 0x0e, 0x01, 0x27, + 0x09, 0xf6, 0xd4, 0x15, 0x29, 0x09, 0xb3, 0xd1, 0xa7, 0x90, 0x73, 0x03, 0x3a, 0x4e, 0x1a, 0x43, 0xf5, 0x81, 0x49, + 0x78, 0x15, 0xa1, 0x93, 0xb2, 0x42, 0x58, 0xc0, 0x7d, 0x23, 0xa3, 0xd1, 0x4a, 0x1a, 0x04, 0xde, 0x66, 0xd8, 0x0a, + 0x6c, 0x42, 0xc3, 0x5f, 0x65, 0x1e, 0xa6, 0xd5, 0xac, 0x04, 0x73, 0xbe, 0x81, 0x4a, 0x8c, 0x27, 0xcb, 0x2b, 0xbe, + 0x71, 0xb1, 0x12, 0x93, 0xd9, 0x72, 0x3e, 0x59, 0x4b, 0xaa, 0xb9, 0xdc, 0x5b, 0xb3, 0x8c, 0x2d, 0x61, 0xff, 0x30, + 0xc8, 0x8f, 0x0e, 0xec, 0x68, 0xaa, 0x69, 0x93, 0x00, 0x93, 0xe9, 0x9c, 0xf3, 0xe1, 0x25, 0xa2, 0xc9, 0xea, 0xd4, + 0x9d, 0x4c, 0x55, 0x3b, 0xb8, 0x26, 0x67, 0x72, 0x7a, 0xa4, 0x9e, 0x6a, 0xdd, 0x4b, 0x3e, 0xda, 0x0e, 0xab, 0xd1, + 0xd6, 0x0f, 0xc0, 0xad, 0x53, 0xd8, 0xe9, 0xbb, 0x61, 0x35, 0xda, 0xf9, 0x1a, 0x76, 0x97, 0x14, 0x02, 0xd5, 0x97, + 0xb2, 0x26, 0x73, 0xf1, 0xba, 0xb8, 0xf7, 0x0a, 0xf6, 0xc4, 0x1f, 0xe8, 0x5f, 0x25, 0x7b, 0xe2, 0xdb, 0x4c, 0xae, + 0xbf, 0xa5, 0x5d, 0xa3, 0x31, 0xd3, 0xf1, 0xda, 0x15, 0x58, 0xa1, 0x01, 0xf2, 0x0b, 0x76, 0xb4, 0x57, 0x39, 0x08, + 0x04, 0xe8, 0x5e, 0x82, 0xa3, 0x28, 0x20, 0x6a, 0x5a, 0x55, 0x1e, 0x9d, 0xee, 0xfd, 0x3d, 0xbe, 0x11, 0x02, 0x36, + 0x79, 0x6a, 0xdd, 0x5b, 0xc6, 0xfe, 0xe1, 0x00, 0x21, 0xf4, 0x72, 0xfa, 0x8d, 0xb6, 0xac, 0x1e, 0xed, 0x58, 0xee, + 0x1b, 0x46, 0x3d, 0x05, 0x63, 0x18, 0xba, 0xb0, 0x8a, 0x91, 0x3c, 0x03, 0xb2, 0xc6, 0x6f, 0x10, 0x5d, 0xc0, 0xa2, + 0xd7, 0xfb, 0x74, 0x44, 0x83, 0x08, 0xa8, 0xf4, 0x9a, 0xa3, 0x16, 0xf9, 0x5c, 0x15, 0xa2, 0xf7, 0xde, 0xda, 0x79, + 0x33, 0x23, 0x59, 0x26, 0x8d, 0x54, 0xbb, 0x95, 0xc5, 0xba, 0xf2, 0x66, 0x27, 0xa4, 0x8b, 0x39, 0x86, 0xca, 0xe0, + 0x71, 0x00, 0x4a, 0xcf, 0x7f, 0x87, 0x5e, 0xc9, 0x90, 0x69, 0x96, 0x68, 0x66, 0x77, 0x8d, 0x3f, 0x59, 0xa5, 0x5e, + 0x8c, 0x88, 0xd9, 0xc0, 0x16, 0xe2, 0xb6, 0xa8, 0x74, 0x5b, 0x14, 0xca, 0x16, 0x45, 0xfa, 0x50, 0x3b, 0xd3, 0x9d, + 0x59, 0xf8, 0xac, 0xb2, 0x56, 0x4a, 0x66, 0xc6, 0x06, 0x68, 0xbb, 0x08, 0xdf, 0x40, 0x07, 0x2a, 0x84, 0xfc, 0x05, + 0x22, 0x22, 0x11, 0xb0, 0xcb, 0xa9, 0x3b, 0xb1, 0xe9, 0x90, 0xcc, 0x43, 0xcc, 0x0a, 0x35, 0xca, 0x4b, 0x9e, 0x1c, + 0x0d, 0x48, 0x45, 0xa8, 0xdb, 0xfd, 0xfe, 0xf9, 0xd2, 0x05, 0xb5, 0x5f, 0x53, 0xec, 0x18, 0xdd, 0x14, 0x70, 0x2e, + 0x78, 0x94, 0xf7, 0xdc, 0x3b, 0x07, 0x34, 0xc7, 0xf6, 0x14, 0x59, 0x03, 0x4e, 0x6f, 0xbb, 0x10, 0x60, 0xfb, 0xac, + 0xd9, 0xda, 0x9f, 0xac, 0xae, 0xa2, 0xa9, 0x57, 0xf2, 0x99, 0xee, 0xa2, 0xc4, 0xed, 0xa2, 0x58, 0x76, 0xd1, 0xa6, + 0x81, 0x60, 0xc7, 0x95, 0x1f, 0x00, 0x6f, 0x68, 0xd4, 0xef, 0x97, 0xad, 0x9e, 0x3d, 0xf9, 0xda, 0x71, 0xcf, 0x66, + 0x3e, 0x2b, 0x4d, 0xcf, 0xfe, 0x23, 0x75, 0x7b, 0x56, 0x4e, 0xf6, 0xa2, 0x73, 0xb2, 0x4f, 0x67, 0xf3, 0x40, 0x70, + 0xb9, 0x73, 0x9f, 0xe7, 0x53, 0x3d, 0xed, 0x2a, 0x3f, 0x68, 0x0d, 0x91, 0x35, 0x76, 0x55, 0xf7, 0xba, 0x82, 0x05, + 0x2c, 0xc1, 0xdd, 0x7a, 0x69, 0xfe, 0x1b, 0x76, 0x7f, 0x2f, 0xe8, 0xa5, 0xf9, 0xef, 0xf4, 0x27, 0x05, 0x70, 0x00, + 0x1a, 0x53, 0xbb, 0x05, 0x1e, 0x62, 0xa8, 0xa0, 0x70, 0x37, 0x2b, 0xe7, 0x5e, 0x0d, 0x70, 0x98, 0xa4, 0x6f, 0x68, + 0xf5, 0x4a, 0x8b, 0x5d, 0x2f, 0x93, 0xbd, 0x02, 0x3c, 0x54, 0x21, 0x0f, 0x0f, 0x87, 0xa8, 0x63, 0xd8, 0x41, 0x1d, + 0x01, 0xc3, 0x1e, 0x42, 0x63, 0x0b, 0x3c, 0x1f, 0x3f, 0x64, 0x7c, 0x2f, 0x40, 0x6d, 0x84, 0xf0, 0x78, 0xb5, 0x28, + 0x43, 0x6c, 0xd9, 0x2b, 0xa4, 0x92, 0x7a, 0x2d, 0x10, 0x65, 0xb4, 0x0a, 0x68, 0xab, 0x3d, 0x66, 0x69, 0xfc, 0x08, + 0xa1, 0x62, 0xa9, 0x8f, 0x21, 0x34, 0x70, 0xf8, 0x1d, 0x0e, 0x20, 0xc1, 0x97, 0x5c, 0x93, 0xcd, 0xbd, 0xca, 0xef, + 0x68, 0x9f, 0x3f, 0x1c, 0xce, 0x2f, 0x11, 0x94, 0x2e, 0x85, 0x8f, 0x54, 0x22, 0xaa, 0xa7, 0xb8, 0x29, 0x21, 0x9b, + 0x25, 0x2b, 0xfd, 0xe0, 0x1f, 0xea, 0x17, 0x00, 0xc8, 0x42, 0xa0, 0x4d, 0x64, 0xf6, 0xa7, 0x33, 0x15, 0x5d, 0x00, + 0x1c, 0xe2, 0x0f, 0x9f, 0x20, 0xfa, 0x86, 0x96, 0x69, 0xf9, 0x38, 0xe1, 0x21, 0x68, 0x6d, 0x49, 0x27, 0x11, 0x2b, + 0x05, 0x36, 0x44, 0xc2, 0xf7, 0xfb, 0xe7, 0xb1, 0xa4, 0x03, 0x8d, 0x5a, 0xdd, 0x1b, 0xb7, 0xba, 0x57, 0xbe, 0xae, + 0x3b, 0xb9, 0xf1, 0x41, 0xd1, 0x3e, 0x9b, 0x37, 0x2a, 0xdf, 0xf7, 0x75, 0xce, 0xee, 0x74, 0xef, 0xc8, 0x39, 0xf1, + 0xfd, 0x3d, 0x84, 0xa2, 0x87, 0xa6, 0xc8, 0xb2, 0x24, 0x0c, 0x68, 0xad, 0x5d, 0x7b, 0x96, 0xd1, 0xc1, 0x6b, 0xdf, + 0x10, 0x22, 0xf2, 0x14, 0x9f, 0x84, 0xdc, 0xe2, 0xf8, 0xa0, 0x40, 0xff, 0xcc, 0xf8, 0x33, 0x27, 0x7e, 0xd8, 0xea, + 0x17, 0xc0, 0xb9, 0xe9, 0xde, 0xbb, 0x13, 0xb3, 0x1e, 0x43, 0x29, 0x1b, 0xff, 0xf7, 0xfb, 0x44, 0x16, 0xe8, 0x74, + 0x44, 0xc3, 0x40, 0x70, 0x17, 0xd5, 0xff, 0xbd, 0xe2, 0x75, 0xcf, 0x5a, 0x9d, 0x2f, 0x3f, 0x75, 0x7a, 0xd2, 0xeb, + 0xa5, 0x5b, 0xe1, 0xcb, 0x30, 0xf1, 0x9d, 0xd7, 0xfd, 0x86, 0xed, 0xbe, 0xfb, 0xe5, 0xdd, 0xd1, 0xcb, 0xc0, 0x26, + 0x85, 0xef, 0x6c, 0x4a, 0x3e, 0xeb, 0x81, 0xc2, 0xaf, 0xc7, 0x7a, 0x75, 0xb1, 0xee, 0xb1, 0x1e, 0x6a, 0x01, 0xd1, + 0xc3, 0x02, 0xd4, 0x7f, 0x3d, 0xfb, 0x34, 0x14, 0x0e, 0xb2, 0x71, 0xaa, 0x40, 0x91, 0x05, 0x7f, 0x2a, 0x46, 0xeb, + 0x82, 0x00, 0x91, 0xcd, 0xf6, 0xf5, 0xa1, 0x3a, 0x99, 0x7d, 0x53, 0x6a, 0x49, 0x06, 0xdf, 0x04, 0x64, 0x76, 0x60, + 0xe5, 0x04, 0xa5, 0xe3, 0xd6, 0x80, 0x2b, 0x5b, 0xec, 0xed, 0xed, 0x4f, 0x83, 0xec, 0xac, 0x39, 0x69, 0xb4, 0x0f, + 0xfb, 0x34, 0x0f, 0x10, 0x88, 0x64, 0x2a, 0x82, 0x5c, 0x73, 0x6f, 0x49, 0x1f, 0x1d, 0xce, 0x79, 0x21, 0xff, 0x9c, + 0x4a, 0x1d, 0xe2, 0x50, 0x62, 0x0d, 0x04, 0x2a, 0xcf, 0x50, 0xe5, 0xb0, 0x41, 0x8e, 0x5f, 0x3a, 0x92, 0x99, 0xc4, + 0x64, 0x91, 0xbb, 0x35, 0x53, 0xe1, 0x07, 0x82, 0x8f, 0x59, 0xce, 0x81, 0x0b, 0x6c, 0x36, 0xf7, 0xd5, 0x14, 0x17, + 0x57, 0xe0, 0x8f, 0x29, 0xfc, 0x8a, 0xa7, 0xb0, 0xd3, 0xee, 0xd7, 0x45, 0x95, 0xa2, 0x6e, 0xa3, 0xb0, 0xa8, 0x64, + 0xc1, 0xb4, 0x86, 0x34, 0xd1, 0x61, 0xf4, 0x27, 0x39, 0x03, 0x05, 0x21, 0xbf, 0x6c, 0x1a, 0x60, 0xa4, 0x92, 0xcb, + 0x83, 0x2a, 0x09, 0xbc, 0x00, 0xdb, 0xa0, 0x62, 0xeb, 0x02, 0x82, 0x6c, 0x93, 0xa2, 0x4c, 0xbf, 0x16, 0x79, 0x1d, + 0x66, 0x41, 0x35, 0x4a, 0xab, 0x9f, 0xf5, 0x4f, 0x60, 0xde, 0xa6, 0x62, 0x54, 0xab, 0x98, 0xfc, 0x46, 0xbf, 0x5f, + 0x0c, 0x5a, 0x1f, 0x32, 0xf8, 0xe8, 0xb5, 0x69, 0xf0, 0x5b, 0xa7, 0xc1, 0x0e, 0x13, 0x8d, 0x00, 0x48, 0xe6, 0xd4, + 0x92, 0x87, 0xa2, 0x3f, 0x83, 0x1c, 0x6b, 0x54, 0x39, 0x05, 0x83, 0xf5, 0x1f, 0x8f, 0x76, 0x60, 0xea, 0xc5, 0xd1, + 0x96, 0xec, 0xa0, 0x95, 0x6f, 0x80, 0xfb, 0x35, 0xb2, 0xc5, 0x2c, 0x07, 0x68, 0xf6, 0x1a, 0x91, 0xf1, 0xc9, 0x0b, + 0x60, 0xcc, 0xd6, 0x59, 0x18, 0x89, 0x38, 0x18, 0xab, 0xc6, 0x8c, 0x19, 0x18, 0xb8, 0x40, 0xd7, 0x32, 0x29, 0x49, + 0x43, 0x3a, 0x18, 0xb0, 0x52, 0xb6, 0x70, 0xc0, 0x8b, 0xe6, 0xb8, 0x1d, 0x5f, 0x5b, 0x34, 0x1e, 0xd8, 0x2e, 0xb6, + 0xbf, 0x7b, 0x5e, 0x6c, 0xdf, 0x84, 0x5b, 0xd2, 0x2b, 0xe4, 0x2c, 0xa1, 0x9f, 0x3f, 0xcb, 0x3e, 0x6b, 0x38, 0x39, + 0x15, 0x9a, 0xa1, 0xa5, 0x48, 0x28, 0xc5, 0x3b, 0x3d, 0x29, 0x30, 0x96, 0xb1, 0xf0, 0xf7, 0xc0, 0x39, 0x5d, 0x28, + 0x22, 0x77, 0xe0, 0x38, 0xfe, 0x08, 0x15, 0x8c, 0x1a, 0x0e, 0x5e, 0xc6, 0xb0, 0x2d, 0x8a, 0x59, 0x48, 0x38, 0x85, + 0x70, 0xb1, 0xca, 0xfa, 0x7d, 0xf9, 0x8b, 0xba, 0xe8, 0x22, 0x93, 0x75, 0x9f, 0x84, 0x23, 0x33, 0x96, 0x53, 0x2f, + 0x24, 0xcf, 0x7b, 0x9e, 0x4c, 0x93, 0xc7, 0x79, 0x10, 0x01, 0xe4, 0x73, 0x78, 0x17, 0xa6, 0x19, 0x58, 0xa5, 0x49, + 0xf9, 0x11, 0x4a, 0x5f, 0x7c, 0x5e, 0xf9, 0x81, 0xce, 0x9e, 0x9b, 0x64, 0x78, 0xb3, 0x6a, 0xbd, 0x49, 0xad, 0xeb, + 0xe2, 0x01, 0xff, 0xec, 0x0c, 0x36, 0xce, 0x75, 0x26, 0x38, 0xf0, 0x22, 0xa9, 0xf5, 0x9a, 0xf1, 0xa7, 0x19, 0xae, + 0x4b, 0xd5, 0x46, 0x1f, 0x85, 0xe8, 0x1c, 0x32, 0x15, 0xa0, 0x50, 0xa4, 0xfd, 0x83, 0x52, 0x2b, 0x93, 0x4a, 0x1b, + 0x09, 0xa0, 0x7b, 0x98, 0x34, 0xd8, 0x62, 0x28, 0x63, 0x69, 0x12, 0xe5, 0x4e, 0x83, 0xb8, 0xb2, 0x1f, 0x2a, 0x89, + 0x43, 0xcb, 0x22, 0xf9, 0xf7, 0xae, 0xa7, 0xaf, 0x90, 0xba, 0x93, 0x05, 0x32, 0x63, 0x3c, 0xcb, 0xe3, 0x4f, 0x40, + 0x98, 0x0d, 0xda, 0xa8, 0x28, 0x84, 0x90, 0x0d, 0x62, 0xd0, 0x78, 0x96, 0xc7, 0xcf, 0x15, 0x8d, 0x87, 0x7c, 0x14, + 0xf9, 0xea, 0xaf, 0x52, 0xff, 0x15, 0xfa, 0xcc, 0x04, 0x8f, 0x50, 0x4d, 0xf4, 0xef, 0x9e, 0xcf, 0xee, 0x40, 0x6d, + 0x18, 0x85, 0x99, 0x29, 0xbf, 0xf2, 0x4d, 0x71, 0xf6, 0xfa, 0x2b, 0xba, 0xca, 0xb6, 0xee, 0x47, 0x2f, 0x8f, 0x08, + 0xac, 0x8d, 0xd1, 0x15, 0x37, 0x06, 0x90, 0xc3, 0xe4, 0xfd, 0x8a, 0xd2, 0x72, 0x48, 0x83, 0xd0, 0x41, 0x43, 0x18, + 0x2d, 0x89, 0x3e, 0x90, 0x58, 0xc4, 0x18, 0x5e, 0x88, 0x67, 0xa4, 0x26, 0x13, 0x0d, 0xf1, 0x8a, 0xd8, 0x0f, 0xd1, + 0x92, 0x53, 0x13, 0xdd, 0x08, 0x53, 0x0c, 0x24, 0x76, 0x06, 0xc9, 0x49, 0x52, 0x2b, 0xbf, 0x78, 0x26, 0x09, 0x4b, + 0xec, 0x3c, 0xc4, 0x60, 0x52, 0x4b, 0x77, 0x7a, 0x53, 0xa5, 0xe7, 0x47, 0x5a, 0x0e, 0xda, 0x07, 0x60, 0x97, 0x92, + 0xde, 0x3f, 0x29, 0x14, 0xf1, 0x3e, 0x8c, 0x63, 0x08, 0xdf, 0x22, 0xaa, 0x2b, 0x70, 0xae, 0x15, 0x68, 0xac, 0x06, + 0x1e, 0x9a, 0x59, 0x35, 0x1f, 0x72, 0xfa, 0xa9, 0xb4, 0xfc, 0x31, 0xa2, 0xb1, 0xd1, 0xba, 0x39, 0x1c, 0xf6, 0xb4, + 0xea, 0xa5, 0x73, 0xd0, 0x65, 0x33, 0x89, 0x89, 0x1b, 0x48, 0xd7, 0x8f, 0x7e, 0x33, 0x61, 0x2f, 0xa2, 0x42, 0x2e, + 0x85, 0xa0, 0xa0, 0xd5, 0x81, 0xc0, 0xa1, 0xf0, 0x16, 0x65, 0xbe, 0x88, 0x69, 0x03, 0x61, 0xf0, 0xf9, 0x81, 0xfc, + 0x7c, 0x53, 0x90, 0x8a, 0x1d, 0xeb, 0xda, 0xef, 0x2f, 0x4b, 0x0f, 0xf0, 0xe4, 0x4c, 0x92, 0xa7, 0xcd, 0x10, 0x56, + 0x04, 0xd0, 0x98, 0xd5, 0x64, 0x71, 0xc2, 0x95, 0x39, 0x7c, 0x59, 0x79, 0x25, 0x4b, 0x99, 0x3a, 0x4f, 0xf5, 0x02, + 0x88, 0x3a, 0xde, 0xa0, 0x15, 0xa9, 0x5f, 0xa1, 0xb3, 0xd7, 0xac, 0x84, 0x8c, 0x87, 0xe7, 0x9c, 0xa7, 0xa3, 0x7b, + 0x96, 0xf0, 0x08, 0xff, 0x4a, 0x26, 0xfa, 0xf0, 0xbb, 0xe7, 0x70, 0x33, 0x4e, 0x78, 0xe4, 0x36, 0x7b, 0x5f, 0x85, + 0x2b, 0xb8, 0x99, 0x16, 0x80, 0xe4, 0x16, 0x24, 0x4d, 0x40, 0x09, 0x89, 0x4c, 0xc8, 0xac, 0x29, 0xf9, 0x6b, 0x4b, + 0xdb, 0x60, 0x0d, 0x93, 0xce, 0x03, 0x5e, 0xb4, 0xfa, 0x68, 0x35, 0xd1, 0x2e, 0xb3, 0x7c, 0x3e, 0xc4, 0x19, 0xaa, + 0x39, 0xee, 0xce, 0xe0, 0xe7, 0x80, 0x57, 0xac, 0x6a, 0xd2, 0xd1, 0x6e, 0xc0, 0x85, 0x27, 0xd7, 0x79, 0x3a, 0xda, + 0xe2, 0x2f, 0xb9, 0x3f, 0x00, 0x74, 0x30, 0x75, 0x09, 0xfc, 0xa9, 0xda, 0x6a, 0x2a, 0xf5, 0x73, 0x6b, 0xbf, 0xae, + 0x3b, 0xab, 0x95, 0x7b, 0xd6, 0x65, 0x68, 0x8f, 0x0c, 0x39, 0x63, 0x06, 0xfc, 0x39, 0x63, 0xc9, 0x9f, 0x33, 0x56, + 0xfc, 0x39, 0xe3, 0xc6, 0xc8, 0x00, 0x4a, 0x70, 0x2f, 0xf9, 0xd3, 0x3d, 0x62, 0x86, 0x58, 0x0d, 0x2a, 0x81, 0x95, + 0xa5, 0x9c, 0xfb, 0xc8, 0x29, 0xa6, 0x9c, 0x32, 0xbc, 0x74, 0x3a, 0x73, 0x07, 0x72, 0x1e, 0xcc, 0xdc, 0x61, 0xb2, + 0xd7, 0xe7, 0x46, 0x1c, 0x4b, 0x63, 0x52, 0x54, 0x90, 0xce, 0xe9, 0x70, 0xf3, 0xea, 0x38, 0x4f, 0x58, 0xc6, 0xc7, + 0xed, 0x33, 0x05, 0x42, 0x6c, 0xf1, 0x0c, 0x89, 0x94, 0xaa, 0x59, 0x6e, 0xf3, 0x87, 0x43, 0x3d, 0xba, 0xd7, 0x3b, + 0x3d, 0xfc, 0x4a, 0xd8, 0xcf, 0x99, 0x67, 0x9f, 0x20, 0x80, 0x49, 0x22, 0xcf, 0x24, 0x1c, 0xfd, 0x58, 0x8e, 0xfe, + 0xa6, 0xe1, 0xcf, 0x33, 0x54, 0x77, 0x87, 0xc0, 0xc4, 0x96, 0x1d, 0x38, 0x04, 0xa7, 0xab, 0x4a, 0x24, 0xe0, 0x60, + 0xb3, 0x61, 0x91, 0xde, 0xe3, 0x21, 0xce, 0x07, 0x85, 0x8f, 0xd0, 0x30, 0xa3, 0xf7, 0xfb, 0x1b, 0xe1, 0x55, 0xb2, + 0x95, 0x87, 0x43, 0x62, 0x69, 0x80, 0x1c, 0x7d, 0x1c, 0xed, 0x51, 0x42, 0xed, 0x47, 0xb5, 0xde, 0x54, 0xea, 0x41, + 0x6e, 0x76, 0x21, 0x31, 0xa8, 0x58, 0xaa, 0x4f, 0xaf, 0x54, 0x1f, 0x6a, 0x96, 0x1c, 0x52, 0x1d, 0xf7, 0xa9, 0x18, + 0xad, 0xe5, 0x84, 0x00, 0xd7, 0x41, 0xa2, 0xd1, 0x01, 0x30, 0xce, 0x36, 0x5b, 0x5e, 0x6a, 0xeb, 0x44, 0xe9, 0x38, + 0xce, 0xf5, 0x71, 0x7c, 0x38, 0x48, 0x31, 0xe3, 0xf2, 0x48, 0xcc, 0xb8, 0x6c, 0x00, 0xde, 0xac, 0xf3, 0xa0, 0x3e, + 0x1c, 0x2e, 0xe9, 0x52, 0x64, 0x3a, 0xdb, 0x28, 0x3f, 0xeb, 0xd1, 0xfd, 0xe3, 0x04, 0xcd, 0xbd, 0x15, 0xf6, 0x5e, + 0x24, 0xdb, 0x33, 0x59, 0xa7, 0x5e, 0x46, 0x3e, 0xbd, 0x70, 0xcf, 0x2e, 0xb9, 0xfa, 0x61, 0xf5, 0xf5, 0xf4, 0x37, + 0xe1, 0x45, 0xac, 0xa2, 0xdd, 0xba, 0x64, 0xc2, 0xde, 0x52, 0x2a, 0x69, 0x95, 0x97, 0x4f, 0x37, 0x7e, 0x80, 0x99, + 0x69, 0x4f, 0x1f, 0x64, 0x23, 0xaa, 0x3f, 0x2b, 0x51, 0x2b, 0xc3, 0x64, 0xe1, 0xbc, 0x64, 0xea, 0xc9, 0x80, 0xc7, + 0xac, 0xe4, 0x91, 0xec, 0xf4, 0xc6, 0x20, 0x08, 0x60, 0x9d, 0x93, 0x56, 0x9d, 0x71, 0x34, 0x5a, 0x55, 0x2e, 0x4e, + 0x57, 0xb9, 0xc0, 0x70, 0xbb, 0x35, 0xdb, 0xa8, 0x3a, 0xcb, 0x4d, 0xad, 0x52, 0xbe, 0x03, 0xf8, 0x58, 0x56, 0xb9, + 0xa0, 0x63, 0xca, 0xd4, 0x79, 0x03, 0xc1, 0xd8, 0xaa, 0xc6, 0x85, 0x53, 0xe3, 0x82, 0x47, 0xd4, 0xee, 0xa6, 0xa9, + 0x47, 0x5b, 0x60, 0x29, 0x1d, 0xed, 0x78, 0x89, 0x2a, 0x85, 0x7f, 0x08, 0xbe, 0x0f, 0xe3, 0xf8, 0x79, 0xb1, 0x55, + 0x07, 0xe2, 0x4d, 0xb1, 0x45, 0xda, 0x17, 0xf9, 0x17, 0xe2, 0x80, 0xd7, 0xba, 0xa6, 0xbc, 0xb6, 0xe6, 0x34, 0xb0, + 0x35, 0x8c, 0x94, 0x14, 0xce, 0xcd, 0x9f, 0x87, 0x03, 0xad, 0xec, 0x5a, 0xdd, 0x15, 0x6a, 0x3d, 0xe6, 0xb0, 0x61, + 0x2f, 0xb2, 0x70, 0x27, 0x4a, 0x70, 0xe4, 0x92, 0x7f, 0x1d, 0x0e, 0x5a, 0x65, 0xa9, 0x8e, 0xf4, 0xd9, 0xfe, 0x6b, + 0x30, 0x66, 0xe8, 0xd2, 0x04, 0x2c, 0x1b, 0x23, 0xf9, 0x57, 0xd3, 0xcc, 0x1b, 0x26, 0x6b, 0xa6, 0x70, 0x1c, 0x1a, + 0x46, 0x48, 0x03, 0xba, 0x0d, 0x6a, 0xc3, 0x93, 0xf9, 0xa6, 0x2a, 0xbf, 0xba, 0x23, 0xd5, 0x7e, 0x30, 0xbc, 0x9c, + 0x88, 0x73, 0xba, 0x24, 0xa9, 0xa7, 0x12, 0x4a, 0x42, 0xb0, 0x4b, 0x1f, 0xc8, 0x89, 0x15, 0x90, 0xb5, 0x8c, 0xe5, + 0xb7, 0x7a, 0x40, 0xe8, 0x3f, 0xed, 0xd6, 0x0b, 0xfd, 0xa7, 0x69, 0xb6, 0x50, 0xd7, 0x1f, 0x26, 0xf7, 0x1d, 0xbd, + 0xfe, 0xe0, 0xf0, 0x4e, 0x5d, 0x55, 0x5c, 0xc5, 0xa3, 0xda, 0x30, 0xc9, 0x8d, 0xb2, 0x70, 0x57, 0x6c, 0x6a, 0xb5, + 0x3c, 0x1d, 0x87, 0x11, 0x98, 0x11, 0x14, 0x20, 0xeb, 0xba, 0x8d, 0x88, 0x61, 0x25, 0x97, 0x09, 0xf9, 0x84, 0x80, + 0x2c, 0x4a, 0x8d, 0xf3, 0x71, 0x0b, 0x54, 0x22, 0x18, 0x9c, 0x86, 0xd6, 0xaa, 0x9b, 0xfc, 0xac, 0xb2, 0xb1, 0x5b, + 0x20, 0x87, 0x24, 0x93, 0xc5, 0xed, 0xe8, 0x46, 0x2c, 0x8b, 0x52, 0xbc, 0xc6, 0x7a, 0xb8, 0x66, 0x0b, 0xf7, 0x19, + 0x10, 0xda, 0x4f, 0x94, 0xf6, 0x26, 0xd2, 0x04, 0xdd, 0xb7, 0x6c, 0x05, 0x20, 0x03, 0x28, 0xea, 0x6a, 0xb7, 0x3e, + 0xe7, 0xe7, 0x48, 0x9a, 0xe1, 0x30, 0xba, 0x7d, 0x7a, 0x1b, 0xdc, 0x0e, 0x2e, 0x51, 0x2b, 0x7d, 0xc9, 0xe2, 0x16, + 0x06, 0xd5, 0xde, 0x2c, 0xe1, 0xa0, 0x66, 0xd6, 0xda, 0x08, 0x04, 0x93, 0x3d, 0x14, 0x54, 0xcc, 0x15, 0xec, 0x83, + 0x82, 0xb5, 0xe4, 0x75, 0x70, 0xb8, 0xb5, 0x2f, 0x2b, 0xc5, 0xc5, 0x93, 0x8b, 0xa4, 0x75, 0x61, 0x29, 0x2f, 0x9e, + 0x34, 0x60, 0x70, 0x39, 0xc2, 0xa6, 0x02, 0x93, 0x04, 0x80, 0x6e, 0x45, 0x14, 0xf1, 0xa2, 0x14, 0xb6, 0xad, 0x7c, + 0xe6, 0x84, 0x0d, 0x36, 0xec, 0x1e, 0xee, 0x95, 0x41, 0xc9, 0xe0, 0x42, 0x8c, 0xdb, 0xcd, 0x2e, 0xc0, 0x15, 0x0c, + 0x85, 0xb1, 0x35, 0xff, 0x9a, 0x79, 0x91, 0x12, 0x70, 0x33, 0x44, 0xf9, 0xda, 0xc0, 0xc9, 0xa4, 0x27, 0xd7, 0x92, + 0xc5, 0x80, 0x05, 0x0d, 0xbe, 0xa3, 0xd6, 0xdf, 0x99, 0xfc, 0x1b, 0x4f, 0x0f, 0xfd, 0xe0, 0xd7, 0xcc, 0x5b, 0xfa, + 0xec, 0x6d, 0x25, 0xa3, 0x35, 0x49, 0x94, 0x57, 0x0f, 0x97, 0x20, 0x37, 0x2c, 0x47, 0xf7, 0x6c, 0x09, 0xe2, 0xc4, + 0x72, 0x94, 0x50, 0x46, 0x57, 0xb8, 0x57, 0x99, 0x2d, 0x13, 0x81, 0x14, 0x07, 0x96, 0x52, 0xee, 0x2d, 0xd6, 0xc1, + 0x12, 0xf7, 0x27, 0x92, 0x0b, 0x28, 0x79, 0x00, 0xe5, 0x4a, 0x01, 0x01, 0x9f, 0x0e, 0xa0, 0x7c, 0x29, 0x2f, 0xc2, + 0x9f, 0x38, 0x51, 0x83, 0xe5, 0xe8, 0xbe, 0x61, 0x3f, 0x7b, 0xa1, 0x65, 0x7f, 0xb8, 0xd5, 0x9a, 0x86, 0x15, 0xbf, + 0x85, 0x69, 0x31, 0x71, 0xfb, 0x72, 0x65, 0x57, 0xc5, 0x67, 0x2b, 0x75, 0x76, 0x53, 0x43, 0x12, 0xf6, 0x0d, 0x59, + 0x05, 0x38, 0x58, 0x15, 0x71, 0xcf, 0xba, 0xdc, 0x87, 0xd1, 0x97, 0x4d, 0x5a, 0x0a, 0x0b, 0x55, 0xd2, 0xdf, 0x37, + 0xa5, 0x40, 0x2a, 0x13, 0x9d, 0x68, 0x21, 0xb8, 0x02, 0x83, 0xc0, 0x9d, 0xc8, 0x6b, 0x00, 0x8c, 0x01, 0x97, 0x02, + 0x65, 0xd9, 0x96, 0x10, 0x52, 0xdd, 0xcf, 0x40, 0x6d, 0x27, 0xee, 0xd2, 0x88, 0xac, 0x85, 0xe8, 0xab, 0x60, 0xcc, + 0x9c, 0x97, 0xd2, 0x2d, 0x36, 0x5d, 0x6d, 0x56, 0x1f, 0xd1, 0xb9, 0xb4, 0xe5, 0xe6, 0x27, 0x6c, 0xb1, 0x56, 0xa0, + 0x6c, 0x42, 0xd2, 0x76, 0xce, 0x73, 0x94, 0x4d, 0x68, 0x69, 0xef, 0xa9, 0x47, 0x85, 0xea, 0x64, 0xeb, 0xa5, 0x6a, + 0x6a, 0x11, 0x56, 0x8b, 0x8b, 0xca, 0x0f, 0x40, 0x37, 0x95, 0x56, 0xcf, 0xea, 0x1a, 0x4d, 0xa1, 0x56, 0x0b, 0xc7, + 0x8d, 0x76, 0x36, 0x5d, 0xa6, 0xb7, 0x88, 0xb3, 0x2a, 0xed, 0xd0, 0xbf, 0x64, 0xda, 0xf5, 0xb2, 0xa3, 0xdf, 0x8c, + 0xab, 0x0b, 0x5c, 0x88, 0x0d, 0xf8, 0x9c, 0xfb, 0xcb, 0xeb, 0x3d, 0x89, 0x7b, 0xfe, 0xe1, 0x80, 0xec, 0x49, 0xed, + 0x0f, 0xd5, 0xc7, 0xae, 0x60, 0xc8, 0xc2, 0x28, 0xf5, 0x17, 0x29, 0xef, 0x3d, 0xc2, 0x71, 0xff, 0x5c, 0xf5, 0xd8, + 0xbf, 0x32, 0xbe, 0xaf, 0x8b, 0x4d, 0x94, 0x50, 0x54, 0x43, 0x6f, 0x55, 0x6c, 0x2a, 0x11, 0x17, 0xf7, 0x79, 0x8f, + 0x61, 0x32, 0x8c, 0x85, 0x4c, 0x85, 0x3f, 0x65, 0x2a, 0x78, 0x84, 0x50, 0xe2, 0x66, 0xdd, 0x23, 0xed, 0x26, 0xc4, + 0x29, 0xd5, 0xa2, 0x94, 0xc9, 0xf8, 0xb7, 0x7e, 0x02, 0xe5, 0x39, 0x45, 0xcb, 0xf4, 0xa3, 0xc2, 0x65, 0xfa, 0x66, + 0x7d, 0x5c, 0x7a, 0x26, 0x42, 0x9d, 0xb9, 0xd8, 0xd4, 0x3a, 0x1d, 0x63, 0xa7, 0x74, 0x6a, 0xc3, 0xbe, 0x56, 0x8a, + 0xcb, 0x8a, 0xc2, 0xbf, 0x91, 0xc8, 0xaa, 0x67, 0xc4, 0xf1, 0xdf, 0xb3, 0xf6, 0x19, 0x56, 0x81, 0x5f, 0x06, 0xf2, + 0x7e, 0x01, 0xf0, 0x71, 0x5d, 0x97, 0xe9, 0xcd, 0x06, 0x68, 0x43, 0x68, 0xf8, 0x7b, 0x3e, 0x32, 0x60, 0xba, 0x8f, + 0x70, 0x86, 0xf4, 0x50, 0xe7, 0x9c, 0xce, 0xca, 0x74, 0xce, 0x55, 0x58, 0x4b, 0xb0, 0x97, 0x93, 0x26, 0x97, 0xeb, + 0x12, 0xd4, 0x4c, 0xe0, 0xf6, 0xa1, 0x3d, 0x22, 0x84, 0xda, 0x94, 0xd5, 0xf4, 0x12, 0x6a, 0xde, 0xc9, 0x69, 0x47, + 0x93, 0x12, 0x5c, 0x35, 0x74, 0x56, 0xae, 0xff, 0x3a, 0x1c, 0x7a, 0x37, 0x59, 0x11, 0xfd, 0xd9, 0x43, 0x7f, 0xc7, + 0xed, 0xc7, 0xf4, 0x2b, 0x44, 0xcb, 0x58, 0x7f, 0x43, 0x06, 0x74, 0x3c, 0x19, 0xde, 0x14, 0xdb, 0x1e, 0xfb, 0x8a, + 0x1a, 0x2c, 0x7d, 0xfd, 0xf8, 0x08, 0x12, 0xaa, 0xae, 0x7d, 0x61, 0xf1, 0x84, 0x79, 0x4a, 0xb4, 0x2d, 0x7c, 0x08, + 0x0b, 0xfd, 0x0a, 0x91, 0x91, 0x10, 0x6e, 0x2a, 0xbb, 0x47, 0x49, 0xbb, 0xd0, 0x97, 0xbe, 0x96, 0x7d, 0xe5, 0x3b, + 0x17, 0x00, 0x2b, 0xfb, 0xc4, 0x86, 0x7b, 0xd2, 0x9f, 0x52, 0x7d, 0xd8, 0xfe, 0x96, 0x2c, 0xa0, 0xd0, 0xc2, 0x7a, + 0x2a, 0x67, 0xe7, 0x6d, 0xc9, 0xab, 0x6c, 0xba, 0x5f, 0xc3, 0x1e, 0x75, 0x87, 0x5e, 0x53, 0xc1, 0xf9, 0xa5, 0x19, + 0xbd, 0x2f, 0x86, 0x42, 0x75, 0xd4, 0xb9, 0x83, 0xdc, 0x96, 0xd6, 0x25, 0xe7, 0x37, 0x2b, 0x77, 0x14, 0xe6, 0x77, + 0x21, 0x78, 0x86, 0x75, 0xef, 0x2e, 0xce, 0x7b, 0xff, 0x68, 0xcd, 0x91, 0x7f, 0x65, 0xb3, 0x14, 0xb1, 0x48, 0xe6, + 0x60, 0xf5, 0x43, 0x3f, 0x8f, 0xfd, 0x36, 0xc8, 0xe1, 0xb8, 0x69, 0x40, 0x87, 0x0d, 0x99, 0xb5, 0x2f, 0x11, 0x38, + 0xd5, 0x08, 0xd2, 0xd4, 0x04, 0x35, 0xcb, 0x43, 0x24, 0xb6, 0x4b, 0xd9, 0x36, 0xc8, 0x75, 0x17, 0x4c, 0x73, 0xa4, + 0x3d, 0x83, 0xf7, 0x4d, 0x9a, 0xa4, 0x42, 0xb3, 0x68, 0x74, 0x25, 0xe3, 0xdf, 0x91, 0x36, 0x53, 0xb2, 0xc7, 0xd6, + 0xc0, 0x7b, 0x09, 0xca, 0xc9, 0x30, 0xc5, 0xf0, 0x1d, 0x5f, 0xef, 0x3c, 0xba, 0x88, 0xbf, 0x1d, 0xb3, 0x4d, 0xca, + 0x8e, 0x60, 0x92, 0x6c, 0x7c, 0x43, 0xf1, 0x86, 0xef, 0x6e, 0x2a, 0x51, 0x02, 0xe8, 0x65, 0xc1, 0x9f, 0x4a, 0x9b, + 0x2b, 0x74, 0xbb, 0x7b, 0x47, 0x29, 0xfc, 0x92, 0x97, 0x87, 0xc3, 0x36, 0xf5, 0x42, 0xe8, 0x7c, 0x11, 0xbf, 0x05, + 0x73, 0x18, 0x43, 0x6c, 0x46, 0x80, 0x30, 0xc7, 0x07, 0xd4, 0xc1, 0xfa, 0x11, 0x80, 0xc6, 0x09, 0x14, 0x60, 0xf4, + 0xd5, 0xb6, 0xa0, 0x6f, 0x79, 0x71, 0x11, 0x21, 0x6a, 0x14, 0x60, 0xa2, 0xa4, 0x59, 0x0c, 0xc3, 0x81, 0xce, 0xef, + 0x9b, 0x9b, 0xba, 0x14, 0x38, 0xf4, 0x8e, 0x65, 0xf8, 0x9f, 0xff, 0x63, 0x6d, 0x69, 0x55, 0xd9, 0x6e, 0x8d, 0xd3, + 0xcc, 0xff, 0x76, 0x5b, 0xa4, 0x5b, 0xa8, 0x50, 0x3c, 0xef, 0x78, 0xdd, 0xfe, 0x0c, 0xd1, 0xfb, 0xba, 0x95, 0xab, + 0x52, 0xbb, 0x61, 0xa6, 0xfc, 0x3e, 0xcd, 0xe3, 0xe2, 0x7e, 0x14, 0xb7, 0x8e, 0xbc, 0x49, 0x7a, 0xce, 0xf9, 0xe7, + 0xaa, 0xdf, 0xf7, 0x3e, 0x03, 0x19, 0xef, 0xb5, 0x30, 0x8e, 0x98, 0xc4, 0xc1, 0xb7, 0x17, 0xa3, 0x68, 0x53, 0xc2, + 0x86, 0xdc, 0x3e, 0x2d, 0x41, 0x33, 0xd3, 0xef, 0xa3, 0x44, 0x69, 0xcd, 0xf7, 0x7f, 0xcb, 0xf9, 0x7e, 0x2d, 0xe4, + 0xcd, 0x4a, 0x7e, 0xf8, 0x68, 0x85, 0x81, 0xef, 0x71, 0xfa, 0x55, 0xf4, 0xd8, 0xaa, 0xf4, 0xe1, 0xbb, 0xd2, 0xd2, + 0x67, 0x15, 0xf5, 0x77, 0x54, 0xd4, 0x5c, 0x8b, 0x11, 0x11, 0x0f, 0x82, 0x76, 0xb6, 0x5d, 0x6a, 0xd7, 0x12, 0xb4, + 0x0b, 0x36, 0x85, 0xd5, 0xc9, 0x43, 0x43, 0xde, 0xef, 0xbf, 0xcc, 0xbd, 0x16, 0xaf, 0xbb, 0x81, 0xbb, 0x2c, 0x3d, + 0x84, 0x00, 0xd6, 0x32, 0x50, 0xc6, 0x11, 0x26, 0x5d, 0xe4, 0x35, 0xca, 0xa6, 0x13, 0x81, 0x8f, 0x59, 0x76, 0xe5, + 0x24, 0xd3, 0x00, 0x33, 0xaa, 0x29, 0xcc, 0x04, 0x18, 0xa9, 0x0f, 0x58, 0x37, 0x3d, 0xad, 0x42, 0xcb, 0xd7, 0x10, + 0xac, 0x8b, 0x2c, 0xe3, 0x28, 0x66, 0x02, 0x80, 0xcd, 0x07, 0x90, 0xaf, 0xe8, 0xea, 0x90, 0xb4, 0x52, 0xe5, 0xfd, + 0x3a, 0x23, 0x32, 0x9a, 0x84, 0x68, 0x7e, 0x0b, 0x0f, 0xec, 0xdb, 0x66, 0x46, 0x95, 0x7a, 0x46, 0x55, 0x3e, 0xc3, + 0x61, 0x29, 0x1c, 0x23, 0xfe, 0xdf, 0x52, 0xd5, 0x23, 0x02, 0xbd, 0x2a, 0xd3, 0x2a, 0x2a, 0xf2, 0x5c, 0x44, 0x88, + 0x50, 0x2d, 0x9d, 0xc3, 0xa1, 0x1f, 0xfb, 0x7d, 0x1c, 0x08, 0xf3, 0xa2, 0x78, 0xa8, 0x2b, 0x6b, 0x5a, 0x2b, 0x29, + 0x70, 0x2a, 0x6a, 0x84, 0x08, 0xe1, 0xfd, 0x03, 0x78, 0x56, 0x53, 0xdf, 0x6f, 0x2c, 0x13, 0xdd, 0x97, 0x0c, 0x28, + 0x7f, 0x40, 0xbe, 0xae, 0xa4, 0x38, 0x93, 0x26, 0x0f, 0x89, 0x33, 0x0e, 0x40, 0xcc, 0xb7, 0x25, 0x1a, 0x8d, 0xfd, + 0x0f, 0x48, 0x30, 0x54, 0x3f, 0xd8, 0xe9, 0xa6, 0xde, 0xef, 0x99, 0xc4, 0x51, 0xf4, 0x69, 0x9b, 0x3c, 0x96, 0x2c, + 0x8d, 0x16, 0x8e, 0xde, 0x23, 0x86, 0x71, 0x38, 0x9d, 0x8f, 0x49, 0xb6, 0x31, 0x59, 0x05, 0x90, 0x4e, 0x66, 0xea, + 0x98, 0x52, 0x47, 0xe3, 0x5c, 0x2f, 0xa8, 0x42, 0x8f, 0x75, 0xc9, 0x73, 0xb0, 0x9e, 0xbc, 0xf2, 0x4a, 0x7f, 0x2a, + 0xe4, 0x1c, 0x36, 0x12, 0x41, 0xe1, 0x07, 0xb8, 0x1a, 0xac, 0x14, 0x30, 0x98, 0xfa, 0x16, 0xbe, 0x26, 0x9e, 0xa3, + 0xe0, 0x51, 0xd8, 0xc5, 0xd8, 0x5a, 0xf9, 0xce, 0x27, 0x05, 0xe5, 0x9e, 0x15, 0x73, 0x5e, 0x01, 0xe7, 0x32, 0x28, + 0x84, 0xe9, 0x78, 0x96, 0xff, 0x33, 0xc9, 0xeb, 0x89, 0x0d, 0x01, 0x32, 0xf8, 0x53, 0xe2, 0xb4, 0x74, 0x87, 0xee, + 0x3c, 0xf4, 0x2c, 0xe2, 0xb0, 0xd1, 0xa3, 0x75, 0x59, 0x6c, 0x53, 0xd4, 0x4b, 0x98, 0x1f, 0xc8, 0xcf, 0x5b, 0xf2, + 0x7d, 0x88, 0xe2, 0x6d, 0xf0, 0xb7, 0x8c, 0xc5, 0x02, 0xff, 0xfa, 0x67, 0xc6, 0x68, 0xa2, 0x05, 0x75, 0xd2, 0x20, + 0x51, 0xb1, 0x48, 0x26, 0x00, 0xeb, 0xc8, 0xd5, 0x87, 0x4f, 0x89, 0xf1, 0xd6, 0x6c, 0x78, 0xe0, 0x9b, 0x15, 0xe8, + 0xd4, 0xe7, 0xee, 0xca, 0xf6, 0x74, 0x35, 0x52, 0x55, 0x8d, 0xbf, 0xa5, 0xaa, 0x1a, 0x7f, 0x4b, 0xa9, 0x1a, 0xbf, + 0x65, 0x14, 0xbf, 0x53, 0xf9, 0x0c, 0x99, 0x93, 0x4d, 0x4c, 0xd2, 0xe9, 0x7b, 0xc3, 0x89, 0x5d, 0xf6, 0x5b, 0xb7, + 0x89, 0x3c, 0x33, 0x91, 0x42, 0xee, 0x0d, 0x40, 0xcd, 0xc4, 0x97, 0xb9, 0xe1, 0x94, 0x38, 0x3f, 0xf7, 0x70, 0xc5, + 0xa6, 0xd5, 0x35, 0x2d, 0x58, 0x60, 0xf3, 0x32, 0xcb, 0x33, 0x4f, 0x60, 0xdb, 0x94, 0x59, 0x3f, 0xe4, 0x1e, 0x40, + 0x30, 0x93, 0x9a, 0x00, 0x90, 0x16, 0xa2, 0x52, 0x88, 0xfc, 0x1a, 0x67, 0xf5, 0x39, 0xef, 0x6d, 0xf2, 0x98, 0x48, + 0xab, 0x7b, 0xfd, 0x7e, 0x7a, 0x96, 0xe6, 0x14, 0xd4, 0x70, 0x9c, 0x75, 0xfa, 0x4b, 0x16, 0xa4, 0x89, 0x5c, 0xa5, + 0xff, 0x74, 0x83, 0xbc, 0x8c, 0xef, 0xeb, 0xb6, 0xe7, 0x4f, 0xd4, 0xdf, 0x3b, 0xeb, 0x6f, 0x0b, 0x04, 0x77, 0x72, + 0xec, 0x27, 0xab, 0x52, 0x1e, 0x19, 0x97, 0xf6, 0x9e, 0xdf, 0xd4, 0x45, 0x91, 0xd5, 0xe9, 0xfa, 0xbd, 0xd4, 0xd3, + 0xe8, 0xbe, 0xd8, 0x83, 0x31, 0x78, 0x07, 0x80, 0x67, 0x3a, 0x34, 0x40, 0xfa, 0x9e, 0x91, 0x87, 0xfb, 0xdc, 0x92, + 0x9f, 0x54, 0xd6, 0x26, 0x09, 0x2b, 0x8a, 0xcd, 0x30, 0x46, 0x28, 0x19, 0xa7, 0xb1, 0xf5, 0xfb, 0x7d, 0xf5, 0xf7, + 0x0e, 0xa3, 0xa8, 0xa8, 0xb8, 0x63, 0x34, 0x2a, 0xab, 0x7a, 0xb4, 0x1d, 0x1c, 0x0e, 0xe7, 0xb9, 0x8d, 0xa3, 0xad, + 0x57, 0xc0, 0xde, 0x0a, 0x95, 0xb2, 0x57, 0x22, 0x2c, 0x3f, 0x5c, 0xf9, 0xfd, 0x3e, 0xfc, 0x2b, 0x23, 0x2d, 0x3c, + 0x7f, 0x8a, 0xbf, 0x16, 0x75, 0x81, 0xe1, 0x19, 0xb4, 0x46, 0x2b, 0x08, 0x26, 0xf8, 0x67, 0x07, 0xea, 0xa5, 0x95, + 0xf6, 0x01, 0x74, 0x2b, 0xd0, 0x83, 0x86, 0x93, 0x38, 0x69, 0x5f, 0x48, 0xd4, 0xed, 0xad, 0x4e, 0xa3, 0x3f, 0x2b, + 0x96, 0xf3, 0x02, 0x26, 0x87, 0x1b, 0xfa, 0xb4, 0x0a, 0xb7, 0x9f, 0xe0, 0xe9, 0x6b, 0xa0, 0xdc, 0x3a, 0x1c, 0x72, + 0x10, 0x5b, 0xc0, 0xcd, 0x63, 0x15, 0x7e, 0x2e, 0x4a, 0x19, 0x51, 0x1f, 0x4f, 0x43, 0xd0, 0xde, 0x05, 0xe8, 0x80, + 0xa5, 0x41, 0xbc, 0x42, 0xf2, 0x9c, 0x8d, 0x00, 0x96, 0x1d, 0x58, 0xce, 0x32, 0x4e, 0x61, 0x9e, 0xe5, 0x53, 0xb5, + 0xd2, 0xce, 0xa2, 0xc4, 0xab, 0x59, 0x06, 0xce, 0x02, 0x17, 0x95, 0xcf, 0x32, 0xad, 0x7a, 0x2a, 0x13, 0xf4, 0x79, + 0x25, 0x27, 0xb8, 0x12, 0x9c, 0x6c, 0x40, 0x7e, 0x01, 0x92, 0x34, 0xa5, 0xac, 0x29, 0x9f, 0x5e, 0xd2, 0x0d, 0x19, + 0x3d, 0xe7, 0x3d, 0x2f, 0x1a, 0x86, 0xfe, 0x85, 0x57, 0x42, 0xf8, 0x26, 0x6e, 0xdb, 0x28, 0x85, 0xfd, 0x4d, 0x60, + 0xf1, 0x09, 0x7b, 0xe5, 0x2d, 0xfd, 0xe9, 0x38, 0x08, 0x87, 0xc8, 0x0d, 0x15, 0x73, 0x60, 0x4f, 0x03, 0x16, 0x9b, + 0xf8, 0x6a, 0x33, 0x89, 0x07, 0x03, 0x5f, 0x67, 0x2c, 0x66, 0x31, 0xd0, 0x20, 0xc7, 0x83, 0xcb, 0xb9, 0x3e, 0x21, + 0xf4, 0xc3, 0x88, 0xca, 0x51, 0x81, 0xce, 0x41, 0x34, 0x58, 0x02, 0x9e, 0x7a, 0x2b, 0x1b, 0x24, 0x19, 0xc7, 0x90, + 0xc4, 0xb5, 0x26, 0xa9, 0x0e, 0x27, 0xb4, 0x0e, 0x74, 0x5c, 0x5d, 0x40, 0xe7, 0xe3, 0xba, 0xf7, 0xf1, 0x6a, 0xb8, + 0xa0, 0xd2, 0x2f, 0xc4, 0xc0, 0xab, 0xa7, 0xe3, 0xe0, 0x92, 0x6e, 0x85, 0x8b, 0x55, 0xb8, 0x7d, 0x2d, 0x1f, 0x38, + 0xee, 0xa8, 0xa4, 0x21, 0x30, 0x78, 0x7b, 0xe8, 0x6e, 0x66, 0xbc, 0x43, 0x8e, 0x0e, 0xe3, 0x4c, 0x0e, 0xb1, 0x6a, + 0xc5, 0x85, 0xf4, 0x46, 0xf0, 0xed, 0x42, 0x31, 0x96, 0x8d, 0x5d, 0x1a, 0x8a, 0xc2, 0xbf, 0x01, 0xd8, 0xa1, 0xf6, + 0x57, 0x2a, 0xf9, 0x18, 0x19, 0xd5, 0x34, 0xd0, 0x31, 0x00, 0x4b, 0x96, 0x26, 0x92, 0x2a, 0xd2, 0x48, 0xfc, 0x91, + 0x35, 0xd6, 0x4d, 0xd7, 0x17, 0x4c, 0x55, 0xc3, 0xa4, 0xdb, 0x99, 0xc4, 0x72, 0x22, 0x49, 0x6d, 0xf7, 0x11, 0x31, + 0x18, 0xf8, 0x60, 0x23, 0xa6, 0x99, 0x08, 0x47, 0x3c, 0x2a, 0x91, 0x45, 0x97, 0xdf, 0x46, 0x94, 0xb4, 0x7d, 0x59, + 0x91, 0x2d, 0x08, 0xa6, 0x27, 0xd1, 0x07, 0x49, 0xca, 0xa9, 0x48, 0xa4, 0x19, 0x21, 0xc0, 0x8f, 0x27, 0xe5, 0x95, + 0xfe, 0x1c, 0x34, 0xad, 0x04, 0x2f, 0x19, 0x24, 0x8f, 0xc4, 0xcf, 0xa4, 0x60, 0x16, 0x63, 0xd5, 0x60, 0x80, 0xe5, + 0x54, 0x8f, 0x1d, 0x93, 0xf4, 0xdf, 0x3a, 0x9d, 0xb0, 0x9f, 0x79, 0xb9, 0xad, 0xe5, 0x4d, 0x73, 0xef, 0x99, 0x57, + 0xb1, 0x54, 0xc3, 0x32, 0xe8, 0xbf, 0x26, 0xda, 0x05, 0x5b, 0x5b, 0xc6, 0x84, 0x55, 0x3f, 0x80, 0xb4, 0x47, 0xba, + 0xbc, 0x6a, 0x98, 0x33, 0xc1, 0xa3, 0x0b, 0x6b, 0x1e, 0x44, 0x17, 0xc2, 0x47, 0x2e, 0xbb, 0x49, 0x72, 0x35, 0x9e, + 0xf8, 0xe1, 0x60, 0xa0, 0x00, 0x68, 0x69, 0x9d, 0x14, 0x83, 0xf0, 0xb1, 0x90, 0x03, 0x69, 0x74, 0x54, 0x05, 0x58, + 0x2c, 0xb3, 0xab, 0x72, 0x92, 0x0d, 0x06, 0x3e, 0x88, 0x8d, 0x89, 0xdd, 0xd0, 0x6c, 0xee, 0xb3, 0x13, 0x05, 0x59, + 0x6d, 0xce, 0x5a, 0x33, 0xdd, 0x02, 0x03, 0x80, 0x41, 0x44, 0xb0, 0xdc, 0x27, 0x46, 0x3e, 0xa2, 0x4e, 0x4f, 0x61, + 0x04, 0x04, 0xbf, 0x9c, 0x08, 0x44, 0x2e, 0x12, 0xa8, 0x07, 0x98, 0x09, 0x30, 0xa3, 0x8a, 0xe1, 0x25, 0xb0, 0x8b, + 0xe7, 0xe6, 0x15, 0x83, 0xfe, 0x45, 0xbb, 0x44, 0xa2, 0xa9, 0xc4, 0xd1, 0x18, 0x39, 0x95, 0xc6, 0xc8, 0x80, 0xd8, + 0xc5, 0xf1, 0xef, 0x29, 0x3d, 0x0a, 0x52, 0xf6, 0xbc, 0x32, 0xc4, 0xe1, 0x28, 0xbe, 0x82, 0x55, 0xe3, 0x70, 0xa8, + 0xcd, 0xeb, 0xe9, 0xac, 0x9e, 0x0f, 0x44, 0x00, 0xff, 0x0d, 0x05, 0xfb, 0x55, 0x53, 0x91, 0x1b, 0xa4, 0xce, 0xc3, + 0x21, 0x05, 0xf9, 0xd4, 0x58, 0x65, 0x2b, 0x77, 0x3f, 0x9d, 0xcd, 0xad, 0x39, 0x7a, 0x51, 0xe3, 0xba, 0xb5, 0xba, + 0xa1, 0x90, 0x68, 0x4d, 0x93, 0xe2, 0xaa, 0x9a, 0x14, 0x03, 0x9e, 0xfb, 0x42, 0x75, 0xb1, 0x35, 0x82, 0x85, 0x3f, + 0xb7, 0x40, 0x98, 0xf4, 0xb7, 0xe2, 0x0e, 0xa9, 0x1a, 0x77, 0x6d, 0xb5, 0xdb, 0x56, 0x36, 0xa4, 0x68, 0x3e, 0xbc, + 0x84, 0x5d, 0x3a, 0x45, 0xb4, 0xed, 0x92, 0xe0, 0x0b, 0xd0, 0xb2, 0xba, 0x10, 0x79, 0x4c, 0xbf, 0x42, 0x7e, 0x29, + 0x86, 0x7f, 0x95, 0xee, 0xcd, 0xa9, 0x0d, 0x72, 0x00, 0xdb, 0xbd, 0x87, 0xdb, 0x31, 0x7a, 0x20, 0x83, 0x37, 0x42, + 0xce, 0x39, 0xbf, 0x9c, 0x5a, 0x33, 0x26, 0x1a, 0x16, 0xac, 0x1c, 0x46, 0x7e, 0x80, 0x8c, 0x97, 0x53, 0x60, 0x65, + 0x3f, 0x2a, 0xe2, 0xd2, 0x1f, 0x46, 0xfe, 0xc5, 0x93, 0x20, 0xe3, 0x5e, 0x34, 0xec, 0xf8, 0x02, 0xec, 0xd5, 0x17, + 0x4f, 0x58, 0x34, 0xe0, 0xd5, 0x55, 0x3d, 0xcd, 0x82, 0x61, 0xc6, 0xa2, 0xab, 0x62, 0x08, 0x3e, 0xb4, 0x4f, 0xcb, + 0x41, 0xe8, 0xfb, 0x66, 0xe7, 0x30, 0xc6, 0x64, 0x79, 0x84, 0xfd, 0x0c, 0x6e, 0xbb, 0x5a, 0x62, 0x06, 0x93, 0xcd, + 0x6d, 0xc4, 0x0c, 0xb6, 0xfc, 0xc5, 0x13, 0xc3, 0x25, 0x54, 0x3d, 0x95, 0x9a, 0x8d, 0x02, 0xcd, 0xc9, 0x15, 0x9a, + 0x93, 0x95, 0x50, 0x4b, 0x3e, 0xa9, 0x70, 0xc2, 0xce, 0x27, 0xb9, 0xb2, 0x1b, 0x8d, 0x31, 0x70, 0xd1, 0xde, 0x9a, + 0x84, 0x91, 0x99, 0xce, 0x52, 0x34, 0x60, 0xe1, 0x99, 0x38, 0xa5, 0x31, 0xa0, 0x7d, 0x39, 0xb0, 0xb4, 0x21, 0xbf, + 0xc8, 0x99, 0x81, 0xb6, 0x21, 0xa5, 0x51, 0x33, 0xf0, 0x67, 0x6a, 0xc2, 0xfc, 0x06, 0x56, 0x22, 0x88, 0xea, 0x02, + 0x4c, 0x92, 0x9c, 0x8c, 0x46, 0xca, 0x4a, 0x24, 0xe7, 0x80, 0xf7, 0x01, 0x3c, 0x59, 0xc4, 0xb6, 0xf6, 0xa7, 0xf4, + 0xbf, 0x3a, 0x7c, 0x2e, 0xfd, 0xc7, 0x02, 0x58, 0xc8, 0xa5, 0x41, 0x64, 0xa0, 0x70, 0x48, 0x2d, 0xc7, 0x98, 0xc4, + 0xf1, 0x0c, 0x7c, 0x09, 0x17, 0x68, 0x0a, 0xe8, 0x0f, 0x6a, 0x46, 0x11, 0x59, 0xf8, 0xab, 0x67, 0x37, 0x75, 0xad, + 0xe7, 0x99, 0xf3, 0x1a, 0x34, 0x33, 0x10, 0xd2, 0xe3, 0x54, 0xbd, 0x0d, 0x89, 0xce, 0xcb, 0xb7, 0xfa, 0x65, 0x42, + 0x24, 0x0b, 0x23, 0x4f, 0xdf, 0xe7, 0x60, 0x1e, 0x51, 0x84, 0x0e, 0xae, 0xcc, 0xc3, 0xe1, 0x5c, 0x50, 0xf8, 0x8e, + 0xf2, 0x7c, 0xc0, 0x69, 0x96, 0x24, 0xa0, 0x0d, 0x64, 0xb9, 0x29, 0x73, 0x95, 0xb4, 0x4c, 0xdd, 0x7b, 0xb0, 0x12, + 0x54, 0xe8, 0xe6, 0x14, 0x14, 0xca, 0x48, 0x50, 0x4a, 0xab, 0x41, 0x28, 0xd5, 0x61, 0x11, 0x44, 0x0e, 0x59, 0x08, + 0xb8, 0x99, 0x8a, 0x46, 0x4b, 0x1a, 0x1e, 0xe1, 0xdc, 0x40, 0x21, 0x00, 0x89, 0x3d, 0x55, 0x94, 0x71, 0x39, 0x04, + 0x7c, 0x94, 0x70, 0x88, 0xb3, 0x26, 0x6d, 0x79, 0x0e, 0xe2, 0x58, 0x2e, 0xf9, 0x6d, 0x85, 0x60, 0x10, 0xa1, 0xcf, + 0x90, 0x3f, 0x59, 0xce, 0xbf, 0x1b, 0x87, 0x69, 0x47, 0xf8, 0xb0, 0xab, 0x2d, 0xb8, 0x98, 0xdd, 0xcc, 0x27, 0x10, + 0xdf, 0x72, 0x33, 0x3f, 0xc6, 0x10, 0x59, 0xf8, 0x83, 0xdb, 0xa1, 0xe4, 0x8a, 0x42, 0x97, 0xf5, 0x88, 0x14, 0xd9, + 0xd3, 0x35, 0x47, 0x10, 0x1c, 0x68, 0xd5, 0x20, 0x43, 0x23, 0xf1, 0xc5, 0x13, 0xc8, 0x1a, 0xac, 0xf9, 0xf3, 0x8a, + 0x9c, 0xd5, 0xfd, 0xc9, 0x06, 0xaa, 0x49, 0x26, 0x6b, 0x45, 0xe5, 0xfc, 0xed, 0xaa, 0x2c, 0x4f, 0x56, 0x65, 0xb8, + 0x1a, 0x74, 0x55, 0x65, 0xc9, 0x91, 0xda, 0x00, 0xad, 0xe9, 0x0a, 0x31, 0x14, 0xb2, 0x06, 0x4b, 0xab, 0x2a, 0x6b, + 0xea, 0x13, 0x08, 0xf4, 0x01, 0x96, 0x51, 0xb3, 0x9f, 0x0e, 0x7f, 0x09, 0x7e, 0x51, 0x21, 0x4b, 0x75, 0x5a, 0x67, + 0xe2, 0xb7, 0x60, 0xc9, 0xf0, 0x8f, 0xdf, 0x83, 0x35, 0x60, 0x09, 0x90, 0xe5, 0x6e, 0x63, 0xa3, 0xf5, 0xaa, 0xf8, + 0xb9, 0x5a, 0x5f, 0xf4, 0x5b, 0xb7, 0x89, 0x5a, 0x01, 0x46, 0x28, 0xb4, 0x08, 0xb0, 0xd5, 0x03, 0xf7, 0x14, 0xfc, + 0x40, 0x0c, 0xe7, 0x9a, 0xb4, 0xa6, 0x4e, 0x78, 0x9d, 0x8d, 0x23, 0x11, 0xd5, 0x5b, 0xb8, 0xb8, 0xd7, 0x5b, 0x8b, + 0xbf, 0x51, 0x81, 0x00, 0xc8, 0x62, 0x8a, 0xb5, 0xf3, 0x86, 0xf4, 0xca, 0xb0, 0x93, 0xd0, 0x7b, 0xc3, 0x4e, 0x20, + 0x2f, 0x0e, 0x3b, 0x85, 0x2e, 0xd1, 0x76, 0x8a, 0xd4, 0x44, 0xdb, 0x49, 0x8b, 0x55, 0x58, 0x42, 0xf0, 0xab, 0xf6, + 0xd6, 0x51, 0xb6, 0x2f, 0xb2, 0x84, 0x69, 0x0b, 0x18, 0xe5, 0x56, 0x7d, 0xe6, 0x14, 0xb1, 0x52, 0xf6, 0x4e, 0x27, + 0x55, 0xee, 0x22, 0x9f, 0x5a, 0x4d, 0x91, 0xc9, 0xcf, 0x8f, 0x5b, 0x24, 0x9f, 0xbc, 0x6e, 0x37, 0x4c, 0xa6, 0x7f, + 0x38, 0xfa, 0x02, 0xba, 0x22, 0x3b, 0x7d, 0x02, 0x01, 0x99, 0x0a, 0xaa, 0xd5, 0xad, 0x62, 0x9a, 0xb7, 0xab, 0xec, + 0xf6, 0x42, 0x89, 0xe1, 0x74, 0x76, 0x12, 0x1e, 0x6d, 0x86, 0x0c, 0x1c, 0x82, 0x40, 0x21, 0x54, 0x14, 0xc3, 0x23, + 0x50, 0x6b, 0x24, 0x1f, 0xe0, 0x47, 0xbb, 0x53, 0x41, 0xa4, 0x76, 0x53, 0x71, 0xe3, 0xe4, 0xa6, 0xeb, 0xa5, 0x40, + 0xad, 0x53, 0xb2, 0x02, 0x28, 0x21, 0xea, 0x4f, 0x62, 0x5b, 0x5f, 0xc3, 0x15, 0x9b, 0xef, 0x1b, 0x45, 0x4f, 0xae, + 0x4f, 0x51, 0xb7, 0xe2, 0xea, 0x34, 0x6d, 0x35, 0xc7, 0x8e, 0x33, 0xe4, 0xe0, 0x59, 0x41, 0xb0, 0x1d, 0x95, 0x28, + 0xdf, 0xb4, 0x9b, 0x8e, 0x89, 0xad, 0xfe, 0x59, 0x54, 0x9b, 0x5b, 0xa8, 0x88, 0x88, 0x8f, 0xb2, 0x9b, 0x27, 0xed, + 0x77, 0xb0, 0xc7, 0x5a, 0x0d, 0x22, 0xfb, 0x0c, 0xae, 0x72, 0x9d, 0x16, 0xb9, 0x2d, 0x83, 0xf3, 0x0f, 0xaf, 0x76, + 0x15, 0x36, 0x39, 0xd6, 0xd5, 0xd5, 0x4c, 0x75, 0x52, 0xb1, 0x81, 0xb1, 0xa6, 0xb5, 0x54, 0xf3, 0x18, 0x92, 0xee, + 0xca, 0xe2, 0xac, 0x4a, 0xba, 0xe9, 0xb9, 0x71, 0xa6, 0x10, 0x03, 0x67, 0xab, 0xd1, 0x72, 0x86, 0x21, 0xba, 0x3e, + 0xcc, 0x12, 0xbf, 0xd5, 0x53, 0xee, 0xf3, 0x70, 0xeb, 0x77, 0xf5, 0x82, 0x93, 0xc9, 0x7e, 0x72, 0x9c, 0xbb, 0x5d, + 0xa4, 0xfd, 0xc4, 0xb7, 0x61, 0xfe, 0xf5, 0x0d, 0xe2, 0x56, 0xd4, 0xbf, 0x54, 0x00, 0x34, 0xb8, 0xc9, 0x63, 0x89, + 0x52, 0xbf, 0x57, 0xd5, 0x0f, 0x6a, 0xa6, 0x6a, 0x1a, 0x08, 0xe6, 0x54, 0x0a, 0xf8, 0xc3, 0xed, 0xc2, 0x15, 0x8f, + 0xb8, 0x61, 0x61, 0xfc, 0xe2, 0xd5, 0xec, 0x54, 0x50, 0x19, 0xb8, 0x19, 0x7f, 0xf1, 0x04, 0x3b, 0x85, 0xb5, 0x02, + 0xb2, 0xc2, 0x17, 0x2f, 0x7f, 0xe0, 0xfd, 0x8a, 0x7f, 0xf1, 0xaa, 0x07, 0xde, 0x47, 0x9c, 0x97, 0x2f, 0x48, 0xea, + 0x84, 0xa8, 0x2e, 0x5f, 0x08, 0x53, 0x6c, 0x95, 0xe6, 0x2f, 0x48, 0xe1, 0x13, 0x7c, 0x06, 0xbe, 0xc3, 0x55, 0xb8, + 0x35, 0xbf, 0xc1, 0x63, 0xc7, 0x62, 0xdb, 0xa5, 0xbe, 0x80, 0x72, 0x04, 0x16, 0x91, 0xdb, 0x6f, 0x57, 0xf6, 0xab, + 0x85, 0x51, 0xc6, 0xd8, 0x7d, 0xc9, 0x4a, 0x94, 0xce, 0xfa, 0xfd, 0x42, 0x0a, 0x46, 0x76, 0x61, 0x8d, 0xf6, 0x28, + 0x55, 0xaf, 0xbe, 0x09, 0xeb, 0x28, 0x49, 0xf3, 0x5b, 0x19, 0x7d, 0x24, 0xc3, 0x8e, 0xf4, 0x95, 0x94, 0x68, 0xaf, + 0x55, 0x58, 0x8e, 0x66, 0xbf, 0x2e, 0x39, 0x50, 0x5e, 0xb7, 0x82, 0xf2, 0x55, 0x13, 0x40, 0xaf, 0x54, 0xfb, 0x0c, + 0xb4, 0x82, 0xc2, 0x52, 0x79, 0xb0, 0x12, 0xe7, 0xa2, 0xcf, 0x8a, 0xc3, 0x41, 0x5d, 0x0c, 0x09, 0x05, 0xaa, 0xc4, + 0x49, 0x68, 0xc4, 0x73, 0xb8, 0x10, 0x8a, 0xa7, 0x39, 0xc6, 0x56, 0xe4, 0xc0, 0x81, 0x0c, 0x3f, 0x20, 0xf0, 0x5e, + 0xf6, 0xaf, 0x60, 0x30, 0x4c, 0x70, 0x23, 0xa3, 0x4e, 0xce, 0xd9, 0x17, 0x0c, 0xcc, 0xa0, 0x9e, 0xd4, 0xee, 0xb3, + 0x7b, 0x15, 0xd8, 0x0b, 0x67, 0x40, 0x7b, 0x37, 0x46, 0x3f, 0xab, 0x62, 0xed, 0xa4, 0x7f, 0x2a, 0xd6, 0x90, 0x4c, + 0x87, 0xc5, 0xd1, 0x36, 0x0d, 0x8f, 0xe4, 0xc9, 0x71, 0xbc, 0xe9, 0x1f, 0x0e, 0x63, 0xfc, 0x38, 0xca, 0xaf, 0x2d, + 0xe0, 0x55, 0xdc, 0x42, 0x1a, 0x8b, 0x14, 0xbd, 0x03, 0x31, 0x87, 0xa2, 0x97, 0xec, 0xb7, 0x8c, 0x97, 0x13, 0x41, + 0x29, 0x49, 0x6c, 0x78, 0x47, 0x7a, 0x9a, 0xd6, 0xa3, 0xad, 0x0c, 0xd8, 0xaf, 0x47, 0x3b, 0xfa, 0x0b, 0x14, 0x8f, + 0x16, 0xfe, 0x92, 0xfe, 0x2e, 0xee, 0xe6, 0x9e, 0xf3, 0x4d, 0xe3, 0x3b, 0xe2, 0x02, 0xc5, 0x9a, 0xdd, 0x5f, 0xd3, + 0xd2, 0x59, 0x07, 0x82, 0x03, 0xde, 0x62, 0x17, 0xed, 0xfb, 0x8d, 0xeb, 0xf4, 0xb4, 0xff, 0xde, 0xad, 0x51, 0xbe, + 0xf7, 0x8b, 0x44, 0x39, 0xd8, 0xbf, 0x70, 0xd1, 0xfc, 0xed, 0xa7, 0x0c, 0x49, 0x85, 0xe6, 0x06, 0xdb, 0xc9, 0x16, + 0x61, 0x6d, 0x8c, 0x83, 0x8a, 0xdd, 0x96, 0x61, 0x04, 0x0c, 0xea, 0xd8, 0xff, 0xe8, 0xb3, 0x69, 0x43, 0xf6, 0x01, + 0xa0, 0x72, 0x15, 0x02, 0xf6, 0x00, 0x9c, 0x68, 0x84, 0x1b, 0xe0, 0x56, 0xa3, 0x25, 0x1d, 0xd4, 0x6d, 0xc1, 0x40, + 0xb4, 0x84, 0x8d, 0xbc, 0xed, 0xea, 0xf4, 0x0d, 0xe1, 0x43, 0xed, 0xa4, 0x74, 0x28, 0x7f, 0xf3, 0x9c, 0xfd, 0xcf, + 0x0e, 0x6b, 0x6a, 0xca, 0x47, 0xc0, 0xcc, 0x59, 0x89, 0xbc, 0x42, 0xe8, 0x14, 0xf9, 0xbd, 0xaa, 0x2b, 0x31, 0x5c, + 0xd6, 0xa2, 0xec, 0xcc, 0x6e, 0x9d, 0xe8, 0x9d, 0x53, 0x50, 0x4b, 0x65, 0x83, 0x9c, 0xa4, 0xda, 0x7c, 0x64, 0xad, + 0xa0, 0x44, 0x5d, 0xa3, 0xc0, 0xf1, 0x29, 0xd7, 0xee, 0xff, 0x9d, 0x33, 0x41, 0xcd, 0x36, 0xaa, 0xfb, 0x0b, 0xfd, + 0x54, 0xd5, 0x24, 0x16, 0xe0, 0x72, 0x92, 0xe6, 0x1d, 0x8f, 0xb0, 0xfa, 0xc7, 0xc9, 0x52, 0x04, 0xfa, 0x14, 0xd1, + 0xae, 0x04, 0x24, 0x68, 0x27, 0x67, 0xa1, 0x22, 0x50, 0xa0, 0xaf, 0x3f, 0xdf, 0xa4, 0x59, 0x2c, 0x57, 0xb3, 0x3d, + 0x4c, 0x94, 0xc5, 0x7a, 0x88, 0x20, 0x67, 0xa6, 0x0e, 0xf6, 0x7b, 0x9a, 0xd1, 0x2c, 0xbc, 0x32, 0x25, 0xb8, 0x14, + 0x57, 0x51, 0x91, 0x83, 0xcf, 0x21, 0xbe, 0xf0, 0xa9, 0x90, 0x1b, 0x44, 0x34, 0xfd, 0x59, 0xa2, 0xda, 0x91, 0x02, + 0x39, 0x94, 0xfc, 0x84, 0xf8, 0x4b, 0xd6, 0xc6, 0xb8, 0x5f, 0x3a, 0xd5, 0xbe, 0x56, 0x08, 0xee, 0xaf, 0x6d, 0xb1, + 0x51, 0xe5, 0x89, 0x1e, 0x7c, 0x8a, 0xf5, 0x3f, 0x59, 0x40, 0xa9, 0xee, 0xdb, 0xe0, 0x54, 0x3c, 0x0a, 0x37, 0x75, + 0xf1, 0x11, 0xa1, 0x05, 0xca, 0x51, 0x55, 0x6c, 0xca, 0x88, 0x38, 0x61, 0x37, 0x75, 0xd1, 0xd3, 0x1c, 0xe8, 0xd4, + 0x61, 0xe0, 0x80, 0x9a, 0x28, 0x11, 0xc5, 0x6e, 0x41, 0xf7, 0x34, 0xc7, 0x4a, 0x3c, 0x93, 0xa5, 0x83, 0xac, 0x13, + 0x69, 0x42, 0xe5, 0xae, 0xae, 0x3a, 0x2a, 0x95, 0xba, 0xe1, 0x65, 0xaa, 0x19, 0x7f, 0x97, 0xe6, 0x4f, 0x2c, 0xfb, + 0x65, 0xeb, 0xb7, 0x5a, 0xed, 0x8d, 0xd5, 0xa3, 0x92, 0x35, 0xc7, 0xd9, 0x84, 0xa4, 0xf4, 0x09, 0xdb, 0xcd, 0xa4, + 0x6b, 0x1d, 0x78, 0x12, 0x5c, 0x0e, 0x3d, 0x01, 0x15, 0x83, 0x26, 0xde, 0xee, 0x02, 0xf5, 0x08, 0x3c, 0x03, 0xe5, + 0x13, 0xb5, 0x0e, 0xf8, 0x79, 0xad, 0xe5, 0x29, 0x23, 0x0c, 0xab, 0x9d, 0x45, 0xcb, 0xc1, 0x79, 0xa7, 0x08, 0x5c, + 0xbb, 0x12, 0x78, 0x3e, 0x54, 0xef, 0x85, 0x80, 0xe1, 0xfe, 0xa9, 0x50, 0xd9, 0xec, 0x66, 0x38, 0x8f, 0x1a, 0xa7, + 0x07, 0xda, 0xdb, 0xae, 0xf5, 0x50, 0xef, 0xba, 0x9d, 0xdb, 0x4a, 0xf7, 0x7e, 0xed, 0x64, 0xd2, 0x05, 0xb4, 0x36, + 0x9f, 0x7d, 0x67, 0x57, 0x5a, 0x37, 0x3d, 0x67, 0x0f, 0xb6, 0x6e, 0x89, 0xce, 0x05, 0xd1, 0xe4, 0xf7, 0x03, 0xcf, + 0xda, 0x76, 0xf4, 0xdb, 0xb4, 0x63, 0x9b, 0x7b, 0xa8, 0x7b, 0x05, 0xb5, 0xde, 0xd0, 0xbc, 0x7f, 0xe6, 0xda, 0x76, + 0x7c, 0xf5, 0xeb, 0xba, 0xc3, 0x75, 0xde, 0x04, 0xc7, 0x4d, 0xd7, 0xb6, 0xda, 0xd9, 0xcf, 0xdd, 0xbd, 0xb5, 0x88, + 0xc2, 0x2c, 0xfb, 0xb9, 0x28, 0xfe, 0xac, 0xf4, 0x1d, 0x81, 0x8e, 0xee, 0xbc, 0xa8, 0xd3, 0xe5, 0xee, 0x3d, 0x61, + 0x3c, 0x79, 0xf5, 0x11, 0xd1, 0xad, 0xef, 0x33, 0xf7, 0x2b, 0xc0, 0x8d, 0xe0, 0x0e, 0xa2, 0xbd, 0x5b, 0xea, 0x93, + 0x5a, 0x7d, 0xad, 0xd7, 0xce, 0xd3, 0xf3, 0x9b, 0xce, 0xed, 0x77, 0xdf, 0x1c, 0x6d, 0xbd, 0xc7, 0x85, 0xb5, 0xb2, + 0xf4, 0x54, 0x15, 0xec, 0xcd, 0xf2, 0x54, 0x15, 0x4c, 0x1e, 0x78, 0xcd, 0x7e, 0x41, 0x83, 0x2b, 0x1d, 0x6d, 0xbc, + 0x27, 0x6a, 0xe0, 0x16, 0x85, 0xa5, 0xc3, 0x2f, 0xb9, 0x99, 0x5c, 0xe3, 0xfe, 0x52, 0x91, 0x8b, 0x7d, 0xe7, 0x8c, + 0xee, 0xcc, 0xac, 0x7b, 0x55, 0xe1, 0x6a, 0x41, 0xae, 0x0e, 0x6c, 0x2d, 0xbb, 0x38, 0xdc, 0xb0, 0x88, 0x02, 0x04, + 0x62, 0x7a, 0xa5, 0xd6, 0xfe, 0x88, 0x06, 0x21, 0x1f, 0x0c, 0xfc, 0x02, 0x83, 0x55, 0x81, 0xc2, 0x07, 0x8a, 0xe4, + 0x2f, 0x3c, 0x01, 0xbb, 0x78, 0x06, 0xe8, 0x56, 0x6c, 0x56, 0x8c, 0x10, 0x21, 0x93, 0xe5, 0xac, 0xa6, 0x33, 0xc8, + 0xa7, 0xbe, 0xf8, 0xce, 0x56, 0x9d, 0xce, 0xdb, 0x9a, 0x2a, 0xa7, 0x0e, 0x85, 0xee, 0x6e, 0xea, 0xce, 0xad, 0x8b, + 0x3c, 0x75, 0x08, 0xb9, 0x52, 0xb1, 0x12, 0xd3, 0x50, 0xf3, 0x24, 0xcd, 0xa8, 0xbf, 0xda, 0xfb, 0xbd, 0x46, 0xe1, + 0x94, 0x3f, 0x1d, 0x83, 0x2a, 0x5c, 0xd5, 0x10, 0xc7, 0x52, 0x15, 0x8f, 0x6c, 0x10, 0x68, 0x5e, 0xdd, 0xaa, 0xa4, + 0x09, 0x99, 0xdc, 0x08, 0x9f, 0x9a, 0x94, 0xf2, 0x34, 0x6d, 0xd2, 0x4a, 0x91, 0x3a, 0xf8, 0xa0, 0x4e, 0x35, 0x9e, + 0x9b, 0xd5, 0x53, 0x00, 0x33, 0xce, 0xaf, 0xf8, 0xa5, 0xe2, 0x32, 0x6a, 0x2b, 0x33, 0x69, 0x7f, 0x72, 0x34, 0x36, + 0xea, 0x72, 0xaa, 0xcc, 0x2b, 0x06, 0x7d, 0xfa, 0xb5, 0x3e, 0xff, 0x80, 0xc1, 0x9a, 0x27, 0xb0, 0x83, 0x89, 0x4a, + 0x79, 0x1f, 0x01, 0xf1, 0x75, 0x92, 0xde, 0x26, 0x90, 0x22, 0xfd, 0x4b, 0x97, 0x3c, 0x75, 0x18, 0x1b, 0x88, 0x31, + 0x2b, 0x66, 0x46, 0xff, 0x83, 0xbb, 0xa4, 0x3f, 0x09, 0x01, 0x70, 0x13, 0x4d, 0xa1, 0x53, 0xe7, 0xc9, 0x45, 0x1e, + 0x2c, 0x2f, 0x3c, 0xb4, 0x62, 0xc4, 0x83, 0xbf, 0x3e, 0x0d, 0x11, 0xc4, 0x1c, 0x53, 0x3c, 0xfd, 0xc2, 0xe8, 0x2f, + 0xc1, 0x25, 0x46, 0x10, 0xba, 0x7b, 0xe7, 0x30, 0x84, 0x9b, 0x3d, 0xc8, 0xa0, 0xfe, 0x50, 0x87, 0x44, 0x0d, 0x7f, + 0xa9, 0x3c, 0xe8, 0xff, 0x3a, 0x13, 0x96, 0xda, 0x4f, 0x4f, 0x07, 0x50, 0xc1, 0xfb, 0x8a, 0xb7, 0x11, 0xf1, 0x7d, + 0xe2, 0xc7, 0xf1, 0x60, 0xf3, 0x78, 0x03, 0xd6, 0xba, 0x67, 0xb9, 0xb1, 0xae, 0x12, 0x36, 0x10, 0xf0, 0x35, 0xa6, + 0xb5, 0xe7, 0xb5, 0xdb, 0x3d, 0xf8, 0xab, 0x7f, 0x11, 0x32, 0x60, 0xe2, 0xf4, 0x7d, 0xe6, 0x64, 0x8d, 0x2e, 0x32, + 0x99, 0x3e, 0x74, 0xd2, 0x37, 0x3a, 0xdd, 0x77, 0xc2, 0x3f, 0x2a, 0x66, 0xf1, 0xe1, 0x96, 0xbe, 0xd2, 0xa4, 0xb8, + 0x03, 0x56, 0x36, 0x0f, 0x0a, 0x42, 0x9d, 0x8b, 0xe8, 0x1b, 0x53, 0xbe, 0x25, 0xd4, 0xec, 0x1b, 0x4b, 0x4a, 0xe9, + 0x5e, 0x43, 0x2f, 0xd3, 0x5a, 0xbf, 0x8d, 0x12, 0x8c, 0x89, 0x8e, 0x27, 0x2f, 0xe3, 0xb1, 0xf2, 0x3e, 0x1e, 0x37, + 0x52, 0x21, 0x0f, 0x40, 0x04, 0x2a, 0xc6, 0x9f, 0xae, 0x3c, 0x39, 0xe9, 0x85, 0xf1, 0x2a, 0x94, 0x82, 0xc2, 0x80, + 0xae, 0x40, 0x0a, 0x78, 0xd4, 0x9e, 0xe8, 0x2c, 0xec, 0x12, 0xee, 0xd1, 0x4d, 0xc0, 0x58, 0x9f, 0x7f, 0x01, 0x34, + 0x77, 0xe1, 0x0e, 0x2f, 0x06, 0xa8, 0x4d, 0xbd, 0xba, 0xfb, 0xb8, 0x56, 0xe7, 0x70, 0x08, 0x0e, 0x56, 0x83, 0x08, + 0x4e, 0xe7, 0x53, 0x47, 0xb3, 0x2c, 0x40, 0xe5, 0x64, 0xb9, 0x91, 0x37, 0x8f, 0x16, 0xbd, 0xba, 0xef, 0x2d, 0xd3, + 0xb2, 0xaa, 0x83, 0x8c, 0x65, 0x61, 0x05, 0xb8, 0x3a, 0xb4, 0x7e, 0x10, 0x2e, 0x0b, 0xe7, 0x0f, 0x84, 0x20, 0x76, + 0xaf, 0xb6, 0x25, 0xcf, 0xd5, 0x1c, 0x7e, 0xfc, 0x84, 0xad, 0xb9, 0x44, 0x9d, 0x74, 0x26, 0x02, 0x10, 0x7b, 0x6a, + 0x56, 0xd1, 0x35, 0x90, 0xd4, 0x69, 0x56, 0xd1, 0x35, 0x35, 0xdb, 0x18, 0x07, 0xf2, 0xd1, 0x2a, 0x05, 0xec, 0xbb, + 0xe9, 0x38, 0x58, 0x3d, 0x8e, 0xe5, 0x75, 0xe8, 0xf6, 0xf1, 0x46, 0xf9, 0x0c, 0xea, 0x56, 0x1b, 0x63, 0x62, 0xbb, + 0xf9, 0x72, 0xae, 0xdf, 0x0c, 0x96, 0xbe, 0x1d, 0x34, 0xe7, 0x94, 0x7d, 0xab, 0xcb, 0x5e, 0xd9, 0x65, 0x53, 0xcf, + 0x1d, 0x15, 0xad, 0xc6, 0x80, 0xde, 0xc0, 0x82, 0xf5, 0xb9, 0x48, 0xb3, 0x55, 0xa9, 0x4a, 0xc0, 0x0b, 0x63, 0xc5, + 0x6e, 0xfd, 0x46, 0x66, 0x48, 0xc2, 0x3c, 0xce, 0xc4, 0x1b, 0xba, 0xd7, 0xc2, 0xe4, 0x38, 0x16, 0xc9, 0x94, 0xd0, + 0x29, 0xdd, 0xd9, 0x86, 0xce, 0x55, 0x18, 0x45, 0xb4, 0x56, 0x52, 0x69, 0x24, 0x30, 0x35, 0x03, 0x94, 0xcc, 0x15, + 0x38, 0xa5, 0xcb, 0xfd, 0xef, 0x48, 0x8c, 0x33, 0x5f, 0x94, 0xcc, 0x80, 0x6e, 0xf9, 0x75, 0xb1, 0x6e, 0xa5, 0xc8, + 0x08, 0xf3, 0xe6, 0xb8, 0xbd, 0xae, 0x0f, 0x81, 0x5c, 0x2d, 0x7b, 0x14, 0x8d, 0x83, 0x42, 0x87, 0x4b, 0x95, 0x00, + 0xfb, 0x22, 0xf1, 0x33, 0xc2, 0x96, 0xf6, 0x40, 0x6e, 0x8f, 0xce, 0x84, 0x39, 0xe7, 0xa4, 0x2c, 0x3b, 0x97, 0x66, + 0x70, 0x39, 0x71, 0x25, 0xb8, 0x48, 0x6f, 0xdb, 0xd3, 0xa4, 0xa5, 0xed, 0x63, 0xc3, 0x39, 0x1a, 0xda, 0x06, 0xdd, + 0xb1, 0x3f, 0x34, 0x17, 0x8b, 0xd8, 0xba, 0x58, 0x0c, 0x3b, 0xb3, 0x1f, 0x2d, 0x16, 0x20, 0x07, 0x80, 0xa3, 0x6e, + 0xc3, 0xc7, 0x6c, 0x09, 0x9c, 0x56, 0xd3, 0x6c, 0xea, 0x6d, 0x78, 0xf5, 0x58, 0xf5, 0xf4, 0x92, 0xe7, 0x8f, 0x85, + 0x19, 0x8b, 0x0d, 0xcf, 0x1f, 0x5b, 0x47, 0x4e, 0xf5, 0x58, 0x28, 0xd1, 0xba, 0x80, 0x66, 0xe0, 0x35, 0x05, 0x8c, + 0x58, 0x32, 0x99, 0x52, 0x45, 0x1e, 0xf7, 0xa6, 0x1b, 0x35, 0x78, 0x41, 0xe1, 0x10, 0x48, 0xe9, 0xf4, 0x8b, 0x27, + 0x4c, 0xbf, 0x77, 0xf1, 0xa4, 0x43, 0xd6, 0x36, 0x4c, 0x97, 0x9b, 0x61, 0x32, 0x28, 0xfd, 0xc7, 0x66, 0x62, 0x5c, + 0x58, 0x93, 0x04, 0x10, 0xff, 0xc6, 0x7e, 0x87, 0x14, 0x6e, 0xde, 0x5f, 0x0e, 0xe3, 0x07, 0xde, 0x8f, 0x91, 0x3d, + 0x49, 0x33, 0xc4, 0x9a, 0x49, 0x85, 0xdc, 0x7d, 0xb5, 0xfe, 0x31, 0xb1, 0x9b, 0xec, 0x81, 0x05, 0x20, 0xb6, 0xa6, + 0xad, 0x6e, 0x79, 0xbf, 0xef, 0x99, 0x22, 0xc0, 0x0f, 0xca, 0x3f, 0xba, 0x33, 0x24, 0x83, 0xb2, 0xeb, 0x86, 0x10, + 0x0f, 0xca, 0xa6, 0x69, 0xaf, 0xb7, 0xbd, 0x33, 0x8f, 0xd5, 0x75, 0xda, 0x59, 0x5c, 0x2d, 0x32, 0x48, 0xab, 0x0f, + 0xd9, 0x71, 0x66, 0x9f, 0x1d, 0x2d, 0x95, 0xee, 0xf7, 0x21, 0x22, 0xee, 0x28, 0x6b, 0xfb, 0xed, 0x16, 0x5c, 0xc3, + 0xd1, 0x20, 0x74, 0x65, 0x6f, 0x97, 0xd1, 0xc6, 0x85, 0x38, 0xee, 0x99, 0xce, 0x17, 0x7c, 0x79, 0x94, 0x76, 0x1e, + 0x9c, 0xea, 0x89, 0x3e, 0x37, 0xdd, 0x55, 0x26, 0xd7, 0x3a, 0xac, 0xc6, 0xa0, 0x36, 0x0b, 0x5b, 0xb8, 0x0b, 0xdb, + 0xe8, 0xa0, 0xb5, 0x2f, 0x0b, 0xfe, 0x29, 0x03, 0xf0, 0xa5, 0x67, 0xcb, 0xb6, 0xd7, 0xa4, 0xd5, 0x4b, 0x19, 0x85, + 0xd8, 0xd2, 0xf6, 0xea, 0xd3, 0x51, 0x3e, 0x6e, 0x4e, 0x28, 0x2e, 0xe4, 0x28, 0x3f, 0x78, 0x0d, 0x51, 0xd7, 0xba, + 0x8e, 0x8b, 0x45, 0x87, 0x1b, 0x57, 0xdd, 0x76, 0xe3, 0x7a, 0x85, 0x78, 0x6b, 0xb4, 0x49, 0xa1, 0x56, 0xc6, 0x8e, + 0xe0, 0x65, 0xf9, 0x70, 0xc8, 0xc4, 0x70, 0x28, 0x21, 0x53, 0x1f, 0xba, 0x37, 0x34, 0xed, 0xf3, 0xd3, 0xd6, 0x8f, + 0x58, 0x6a, 0x1c, 0xc5, 0x86, 0x77, 0xfa, 0xce, 0x63, 0x6b, 0x5c, 0xc9, 0x97, 0xc1, 0x6c, 0x57, 0x50, 0x6d, 0x8d, + 0x37, 0xec, 0xe5, 0xfc, 0xe7, 0x4a, 0x2a, 0xf9, 0xdb, 0x9f, 0xe1, 0x1a, 0xde, 0xda, 0xd2, 0x41, 0x53, 0xcd, 0x72, + 0x96, 0xeb, 0x7b, 0xc1, 0xf1, 0xc7, 0xdd, 0x2b, 0x82, 0xc1, 0xef, 0xe9, 0x28, 0xc8, 0xc5, 0x52, 0xad, 0x01, 0x05, + 0xe9, 0xc8, 0x8e, 0xa9, 0x2c, 0x30, 0x0c, 0xe0, 0x0d, 0x19, 0x20, 0x8f, 0x29, 0xdc, 0x0d, 0x15, 0x5e, 0xf8, 0x6b, + 0x45, 0x76, 0x09, 0x6c, 0x6b, 0xc6, 0xc7, 0x0c, 0x77, 0x10, 0xf2, 0x8f, 0x60, 0xb7, 0x6c, 0xc5, 0x6e, 0xd8, 0x82, + 0x21, 0xd9, 0x38, 0x0e, 0x63, 0xcc, 0xc7, 0x93, 0xf8, 0x4a, 0x4c, 0xe2, 0x01, 0x8f, 0xd0, 0x31, 0x62, 0xcd, 0xeb, + 0x59, 0x2c, 0x07, 0x90, 0xdd, 0x72, 0xa5, 0x03, 0x42, 0x68, 0x6c, 0x68, 0xc9, 0xcb, 0xc2, 0xe0, 0x62, 0xc7, 0x3e, + 0x23, 0x91, 0x8c, 0x43, 0xb0, 0x68, 0x55, 0x03, 0x0b, 0x13, 0xbb, 0xe1, 0xc5, 0x6c, 0x35, 0xc7, 0x7f, 0x0e, 0x07, + 0x04, 0xc0, 0x0e, 0xf6, 0x0d, 0xbb, 0x8d, 0x10, 0xe9, 0x6d, 0xc1, 0x6f, 0x2d, 0x4f, 0x17, 0x76, 0xc7, 0xaf, 0xf9, + 0x98, 0x9d, 0xbf, 0xf2, 0x20, 0x72, 0xf6, 0xfc, 0x03, 0xa0, 0x21, 0xde, 0xf1, 0x9b, 0xd4, 0xab, 0xd8, 0x0d, 0x51, + 0x10, 0xde, 0x80, 0x33, 0xd0, 0x1d, 0x44, 0xc0, 0x5e, 0xf3, 0x05, 0xc6, 0x8a, 0x9d, 0xa5, 0x4b, 0x0f, 0x33, 0x42, + 0xed, 0xe9, 0x7c, 0x59, 0xab, 0x49, 0xb8, 0xb9, 0x5a, 0x4e, 0x06, 0x83, 0x8d, 0xbf, 0xe3, 0x6b, 0xe0, 0x83, 0x39, + 0x7f, 0xe5, 0xed, 0xa8, 0x5c, 0xf8, 0xcf, 0xeb, 0x2c, 0x79, 0xe7, 0xb3, 0xeb, 0x01, 0x5f, 0x00, 0xde, 0x12, 0x3a, + 0x70, 0xdd, 0xf9, 0x4c, 0xe2, 0xb5, 0x5d, 0xeb, 0x6b, 0x04, 0x12, 0xf9, 0x02, 0x30, 0x62, 0x62, 0x7e, 0x5f, 0x43, + 0x04, 0xc6, 0x06, 0x7c, 0x5b, 0xb5, 0x47, 0xfc, 0x96, 0x1b, 0xc0, 0xaf, 0xcc, 0x67, 0xf7, 0x3c, 0xd4, 0x3f, 0x13, + 0x9f, 0xbd, 0xe1, 0x8f, 0xf8, 0x53, 0x4f, 0x4a, 0xd2, 0xe5, 0xec, 0xd1, 0x1c, 0xae, 0x87, 0x52, 0x9e, 0x0e, 0xe9, + 0x67, 0x63, 0x30, 0x80, 0x50, 0xc8, 0x7c, 0xe3, 0x01, 0x6b, 0x52, 0x88, 0x7f, 0x01, 0xdf, 0x8e, 0x12, 0x36, 0xdf, + 0x78, 0x5b, 0x5f, 0xcb, 0x9b, 0x6f, 0xbc, 0x7b, 0x9f, 0xa2, 0x00, 0xab, 0xa0, 0x94, 0x05, 0x56, 0x41, 0xd8, 0x68, + 0x23, 0x8c, 0x81, 0xab, 0x77, 0x8d, 0xa1, 0xae, 0xe7, 0x88, 0x6d, 0x2b, 0x7d, 0x1b, 0xbe, 0x85, 0x0c, 0xf8, 0xe0, + 0x65, 0x51, 0x12, 0x7d, 0x4e, 0x4d, 0x91, 0xb4, 0xee, 0xb9, 0xdf, 0x5a, 0x77, 0xb4, 0xa6, 0xd4, 0x47, 0xae, 0xc6, + 0x87, 0x43, 0xfd, 0x54, 0x68, 0x91, 0x60, 0x0a, 0x1a, 0xd7, 0xa0, 0x2d, 0x40, 0xd0, 0xe7, 0x01, 0xb2, 0x96, 0x14, + 0x0b, 0xbe, 0xfd, 0x15, 0x62, 0xf0, 0xca, 0xf4, 0xce, 0xe5, 0x2a, 0x23, 0x61, 0x7b, 0xe1, 0x97, 0xc3, 0xda, 0x9f, + 0x38, 0xb5, 0xb0, 0xb4, 0x9a, 0x83, 0xfa, 0xb1, 0x2d, 0xc7, 0xe9, 0xaa, 0x45, 0x5e, 0x87, 0xd2, 0x72, 0x7a, 0x67, + 0xdf, 0x74, 0x99, 0x60, 0x63, 0x3f, 0xa0, 0xea, 0xc8, 0x6a, 0xd8, 0x7d, 0xa1, 0xbe, 0xe8, 0x29, 0x99, 0xd0, 0x7c, + 0x54, 0xd1, 0x3c, 0xb7, 0xbe, 0x79, 0x5c, 0xff, 0xe9, 0xe5, 0x50, 0x04, 0x48, 0x56, 0x69, 0xb1, 0x14, 0x39, 0x1b, + 0xfb, 0xf1, 0x30, 0xc9, 0x54, 0x78, 0x41, 0x3a, 0xba, 0xfb, 0x8d, 0xfb, 0x5b, 0x6e, 0x20, 0x2b, 0xb4, 0x6a, 0x83, + 0xb1, 0x52, 0xb4, 0x0c, 0xd6, 0x57, 0xe3, 0x7e, 0x5f, 0x5c, 0x8d, 0xa7, 0x22, 0xa8, 0x81, 0xb8, 0x48, 0x3c, 0x1d, + 0x4f, 0x6b, 0x62, 0x49, 0xed, 0x0a, 0x8c, 0xd1, 0xe3, 0xaa, 0xa8, 0x7d, 0xea, 0xa7, 0x10, 0x8a, 0x54, 0x6b, 0xe6, + 0x58, 0xe3, 0xc6, 0x88, 0xb8, 0xc3, 0xca, 0xb5, 0x53, 0x7b, 0x1d, 0x80, 0xe5, 0xd5, 0xb8, 0x20, 0xac, 0x93, 0x63, + 0xe7, 0x02, 0x56, 0xa3, 0x21, 0xd5, 0x6e, 0xb8, 0xf5, 0xb2, 0xf3, 0x9b, 0x2f, 0x13, 0x5b, 0x1b, 0xe1, 0x96, 0x02, + 0xca, 0x28, 0xbf, 0xb1, 0x9c, 0xb0, 0x3b, 0xd5, 0x3b, 0x52, 0xb5, 0x23, 0x4e, 0x5c, 0xc0, 0x72, 0xc3, 0x53, 0xab, + 0x6f, 0x62, 0x70, 0x22, 0x54, 0xad, 0x74, 0xb8, 0x93, 0x09, 0xc4, 0xfd, 0xea, 0xbe, 0xee, 0x95, 0xe0, 0x27, 0x21, + 0xaf, 0xdf, 0xf2, 0x0e, 0x00, 0x2b, 0x3e, 0xe4, 0xc5, 0xb4, 0x70, 0xb4, 0x2e, 0x83, 0x32, 0x40, 0x84, 0x66, 0x00, + 0x74, 0x72, 0x75, 0x10, 0xa5, 0x81, 0x2b, 0xee, 0x10, 0xe1, 0xa7, 0xd1, 0xe3, 0xfc, 0x69, 0xf8, 0xb8, 0x9a, 0x86, + 0x17, 0x79, 0x10, 0x5d, 0x54, 0x41, 0xf4, 0xb8, 0xba, 0x0a, 0x1f, 0xe7, 0xd3, 0xe8, 0x22, 0x0f, 0xc2, 0x8b, 0xaa, + 0xb1, 0xef, 0xda, 0xdd, 0x3d, 0x21, 0x6f, 0xbb, 0xfa, 0x23, 0xe7, 0xca, 0x9e, 0x32, 0x3d, 0x3f, 0xaf, 0xf5, 0x4a, + 0xed, 0x36, 0xd7, 0x6b, 0xd4, 0x4c, 0x7d, 0x94, 0xfd, 0xcd, 0x36, 0x16, 0x1e, 0xcd, 0x21, 0xf4, 0x19, 0x69, 0x31, + 0xf7, 0x38, 0xd7, 0x9b, 0x3d, 0x29, 0x0c, 0x8c, 0x98, 0x54, 0x32, 0x72, 0x7a, 0x81, 0x8b, 0x50, 0x85, 0x18, 0xd6, + 0xd2, 0xd5, 0x3e, 0xeb, 0xd2, 0x1b, 0xa8, 0x6b, 0x8a, 0x7d, 0x0d, 0x19, 0x78, 0xd1, 0xf4, 0x32, 0x18, 0x03, 0x72, + 0x04, 0xde, 0xf1, 0xd9, 0x12, 0x0e, 0xcc, 0x35, 0x40, 0xdf, 0x3c, 0xe8, 0xeb, 0x72, 0xcb, 0xd7, 0xaa, 0x6f, 0xa6, + 0xeb, 0x91, 0x52, 0x7e, 0xac, 0xf8, 0xed, 0xc5, 0x13, 0x76, 0xc3, 0x35, 0x2a, 0xca, 0x73, 0xbd, 0x58, 0xef, 0x80, + 0xab, 0xee, 0x39, 0xdc, 0x66, 0xf1, 0xd8, 0x95, 0x07, 0x2c, 0xdb, 0xb2, 0x7b, 0xf6, 0x86, 0x3d, 0x62, 0xef, 0xd9, + 0x27, 0xf6, 0x95, 0xd5, 0x08, 0x51, 0x5e, 0x2a, 0x29, 0xcf, 0x5f, 0xf0, 0x1b, 0x69, 0x7b, 0x94, 0xb0, 0x64, 0xf7, + 0xb6, 0x9d, 0x66, 0xb8, 0x61, 0x8f, 0xf8, 0x62, 0xb8, 0x62, 0x9f, 0x20, 0x1b, 0x0a, 0xc5, 0x83, 0x15, 0xab, 0xe1, + 0x0a, 0x4b, 0x19, 0xf4, 0x69, 0x58, 0x5a, 0xc2, 0xa2, 0x29, 0x14, 0xa5, 0xe8, 0x4f, 0xbc, 0x26, 0xec, 0xb4, 0x1a, + 0x0b, 0x91, 0x1f, 0x1a, 0xae, 0xd8, 0x3d, 0x5f, 0x0c, 0x56, 0xec, 0x91, 0xb6, 0x11, 0x0d, 0x36, 0x6e, 0x71, 0x04, + 0x66, 0xa5, 0x0b, 0x93, 0x02, 0xf5, 0xd6, 0xbe, 0x09, 0x6e, 0xd8, 0x1b, 0xac, 0xdf, 0x7b, 0x2c, 0x1a, 0x65, 0xfe, + 0xc1, 0x8a, 0x7d, 0xe5, 0x12, 0x43, 0xcd, 0x2d, 0x4f, 0x3a, 0x86, 0xea, 0x02, 0xe9, 0x8a, 0xf0, 0x9e, 0xd3, 0x8b, + 0xec, 0x2b, 0x96, 0x41, 0x5f, 0x19, 0xae, 0xd8, 0x16, 0x6b, 0xf7, 0xc6, 0x18, 0xb7, 0xac, 0xea, 0x49, 0x50, 0x60, + 0x94, 0x55, 0x4a, 0xcb, 0xc5, 0x11, 0xcb, 0xa6, 0x8e, 0x1a, 0xd4, 0x86, 0x01, 0x7d, 0x30, 0xfa, 0x8b, 0xaf, 0xdf, + 0x7d, 0xe7, 0x95, 0xfa, 0xe6, 0xfb, 0xdc, 0xf1, 0xae, 0x2c, 0xd1, 0xbb, 0xf2, 0x37, 0x5e, 0xce, 0x9e, 0xcf, 0x27, + 0xba, 0x96, 0xb4, 0xc9, 0x90, 0xbb, 0xe9, 0xec, 0x79, 0x87, 0xbf, 0xe5, 0x6f, 0xbe, 0xdf, 0x58, 0x7d, 0xac, 0xbe, + 0xab, 0xbb, 0xf7, 0x7e, 0xb0, 0x69, 0x9c, 0x8a, 0xef, 0x4e, 0x57, 0x1c, 0xdb, 0x59, 0x6b, 0xef, 0xcc, 0xff, 0xe1, + 0x5a, 0x6f, 0x71, 0xec, 0xde, 0xf0, 0xed, 0x70, 0x63, 0x0f, 0x83, 0xfc, 0xbe, 0x54, 0x1c, 0x67, 0x35, 0x7f, 0xe6, + 0x75, 0x4a, 0xb2, 0x80, 0x6a, 0xf4, 0xda, 0x48, 0x43, 0x97, 0xcc, 0xc4, 0x34, 0xc4, 0x17, 0x19, 0xa0, 0x73, 0x81, + 0x78, 0x76, 0xc7, 0xc7, 0x93, 0xbb, 0xab, 0x78, 0x72, 0x37, 0xe0, 0xaf, 0x4d, 0x0b, 0xda, 0x0b, 0xee, 0xce, 0x67, + 0xbf, 0xf1, 0xc2, 0x5e, 0x92, 0xcf, 0x7d, 0xf6, 0x56, 0xb8, 0xab, 0xf4, 0xb9, 0xcf, 0xbe, 0x0a, 0xfe, 0xdb, 0x48, + 0x93, 0x65, 0xb0, 0xaf, 0x35, 0xff, 0x6d, 0x84, 0xac, 0x1f, 0xec, 0xb3, 0xe0, 0x6f, 0xc1, 0xff, 0xbb, 0x4a, 0xd0, + 0x32, 0xfe, 0xb9, 0x56, 0x3f, 0xdf, 0xc9, 0xd8, 0x1c, 0x78, 0x13, 0x5a, 0x41, 0x6f, 0xde, 0xd4, 0xf2, 0x27, 0x71, + 0x71, 0xa4, 0xea, 0xa9, 0xe1, 0xa0, 0xc5, 0x62, 0x16, 0xf5, 0x51, 0x3a, 0x95, 0x37, 0xb9, 0xe6, 0xb1, 0xb4, 0x30, + 0xdf, 0x41, 0x38, 0xf0, 0xb5, 0x0d, 0x53, 0xb0, 0xe3, 0xb8, 0x19, 0x5c, 0x33, 0x80, 0x90, 0xcc, 0xa6, 0x5b, 0xfe, + 0x86, 0xbf, 0xe7, 0x5f, 0xf9, 0x2e, 0xb8, 0xe7, 0x8f, 0xf8, 0x27, 0x5e, 0xd7, 0x7c, 0xc7, 0x96, 0x12, 0xf2, 0xb4, + 0xde, 0x5e, 0x06, 0x5b, 0x56, 0xef, 0x2e, 0x83, 0x7b, 0x56, 0x6f, 0x9f, 0x04, 0x6f, 0x58, 0xbd, 0x7b, 0x12, 0x3c, + 0x62, 0xdb, 0xcb, 0xe0, 0x3d, 0xdb, 0x5d, 0x06, 0x9f, 0xd8, 0xf6, 0x49, 0xf0, 0x95, 0xed, 0x9e, 0x04, 0xb5, 0x42, + 0x7a, 0xf8, 0x2a, 0x24, 0xd3, 0xc9, 0xd7, 0x9a, 0x19, 0x56, 0xdd, 0xe0, 0xb3, 0xb0, 0x7e, 0x51, 0x2d, 0x83, 0xcf, + 0x35, 0xd3, 0x6d, 0x0e, 0x84, 0x60, 0xba, 0xc5, 0xc1, 0x0d, 0x3d, 0x31, 0xed, 0x0a, 0x52, 0xc1, 0xba, 0x5a, 0x1a, + 0x2c, 0xea, 0xa6, 0x75, 0x32, 0x3b, 0xde, 0x89, 0x71, 0x87, 0x77, 0xe2, 0x82, 0x2d, 0x9b, 0x4e, 0x57, 0x9d, 0xd3, + 0xe7, 0x81, 0x3e, 0x02, 0xf4, 0xde, 0x5f, 0x49, 0x0f, 0x9a, 0xa2, 0xe1, 0xb9, 0xd2, 0x1d, 0xb7, 0xf6, 0xfb, 0xd0, + 0xda, 0xef, 0x99, 0x54, 0xa4, 0x45, 0x2c, 0x2a, 0x8b, 0xaa, 0x42, 0x3e, 0xf1, 0x20, 0xd3, 0x5a, 0xb5, 0x84, 0x91, + 0x3a, 0x13, 0x30, 0xe9, 0x0b, 0x3a, 0x0c, 0x72, 0xb2, 0x2b, 0xb0, 0x25, 0xdf, 0x0c, 0x12, 0xb6, 0xe6, 0xf1, 0x74, + 0x98, 0x04, 0x4b, 0x76, 0xcb, 0x87, 0xdd, 0x62, 0xc1, 0x4a, 0x85, 0x31, 0xe9, 0xeb, 0xd3, 0xd1, 0xee, 0xce, 0x7b, + 0xab, 0x34, 0x8e, 0x33, 0x81, 0x3a, 0xb7, 0x4a, 0x6f, 0xf3, 0x5b, 0x67, 0x57, 0x5f, 0xab, 0x5d, 0x1e, 0x04, 0x86, + 0xdf, 0x80, 0x68, 0x87, 0x78, 0xef, 0xa0, 0xc6, 0x48, 0xb7, 0x64, 0xd6, 0x7d, 0x65, 0xef, 0xeb, 0x5b, 0xb3, 0x55, + 0xff, 0xa7, 0x45, 0xd0, 0x5e, 0x2e, 0x7b, 0xff, 0xb5, 0x79, 0xf5, 0xf7, 0x8e, 0x57, 0x37, 0xfe, 0xe4, 0x9e, 0xbf, + 0xc6, 0xe8, 0x04, 0x4c, 0x64, 0x3b, 0xfe, 0x7a, 0xb4, 0x6d, 0x9c, 0xf2, 0xe4, 0x5e, 0xfe, 0x7f, 0xa5, 0x40, 0x7b, + 0x37, 0xaf, 0xec, 0x4d, 0x71, 0xcb, 0x3b, 0xf6, 0xf2, 0xa5, 0xb5, 0x27, 0x1a, 0x84, 0x92, 0xd7, 0xdc, 0x0d, 0x8a, + 0x86, 0x3d, 0xf1, 0x39, 0xaf, 0x66, 0xaf, 0xe7, 0x93, 0x2d, 0x3f, 0xde, 0x11, 0x5f, 0x77, 0xec, 0x88, 0xcf, 0xfd, + 0xc1, 0xb2, 0xf9, 0x56, 0xaf, 0x76, 0xee, 0xe4, 0x4e, 0xa5, 0x77, 0xfc, 0x78, 0x1f, 0x1f, 0xfe, 0xc7, 0x95, 0xde, + 0x7d, 0x77, 0xa5, 0xed, 0x2a, 0x77, 0x77, 0xbe, 0xe9, 0xf8, 0x46, 0xd6, 0x1a, 0xc3, 0xcd, 0x8c, 0x82, 0x11, 0xa6, + 0x2d, 0x4c, 0xd3, 0x20, 0xb2, 0x14, 0x8b, 0x90, 0xa8, 0x51, 0x3a, 0x27, 0xfa, 0x2c, 0xe8, 0x14, 0x74, 0x71, 0xa3, + 0xbf, 0xe1, 0x63, 0xb6, 0x30, 0x2e, 0x9b, 0x37, 0x57, 0x8b, 0xc9, 0x60, 0x70, 0xe3, 0xef, 0xef, 0x78, 0x38, 0xbb, + 0x99, 0xb3, 0x6b, 0x7e, 0x47, 0xeb, 0x69, 0xa2, 0x1a, 0x5f, 0x3c, 0x24, 0x81, 0xdd, 0xf8, 0xfe, 0xc4, 0x22, 0x82, + 0xb5, 0x6f, 0x9c, 0x37, 0xfe, 0x40, 0x9a, 0xa5, 0xe5, 0xd6, 0xfe, 0xe8, 0x61, 0x0d, 0xc5, 0x0d, 0x08, 0x19, 0x8f, + 0x6c, 0x95, 0xc3, 0x27, 0xfe, 0xc1, 0xbb, 0xf6, 0xa7, 0xd7, 0x3a, 0xf8, 0x66, 0xa2, 0xce, 0xa5, 0x4f, 0x17, 0x4f, + 0xd8, 0x6f, 0xfc, 0xb5, 0x3c, 0x53, 0xde, 0x0a, 0x39, 0x6d, 0x3f, 0x22, 0x89, 0x13, 0x1d, 0x15, 0x5f, 0xdd, 0x44, + 0x02, 0x85, 0x80, 0x5d, 0xe1, 0x6b, 0xcd, 0xef, 0x27, 0xe5, 0xd4, 0xdb, 0x01, 0xc9, 0x2b, 0xb7, 0x15, 0xd1, 0x37, + 0x9c, 0xf3, 0xc5, 0xf0, 0x72, 0xfa, 0xb5, 0xdb, 0xb7, 0x47, 0x85, 0xb5, 0xa9, 0x88, 0xb7, 0x1b, 0x0c, 0xc2, 0x3a, + 0x99, 0x59, 0xe6, 0x92, 0x2f, 0x7d, 0xad, 0xcd, 0xdc, 0x63, 0x7a, 0xc7, 0x99, 0x66, 0xc8, 0xe8, 0x0b, 0xcc, 0x4c, + 0x87, 0xc3, 0xed, 0x39, 0x96, 0xc7, 0x87, 0x9f, 0x1e, 0xbf, 0x1f, 0xbc, 0xc7, 0x10, 0x2e, 0x2b, 0x2c, 0xe4, 0x2b, + 0x1f, 0x66, 0x75, 0xeb, 0xda, 0x71, 0xf1, 0x64, 0xf8, 0x1c, 0xf2, 0x06, 0x5d, 0x0f, 0x4d, 0x11, 0xad, 0xf2, 0x3b, + 0x8a, 0x3e, 0x51, 0x72, 0xd0, 0xf1, 0x04, 0x6a, 0x87, 0x5c, 0xb8, 0x5f, 0x1f, 0x73, 0x50, 0x74, 0x60, 0xa9, 0xfd, + 0xfe, 0xf9, 0x6b, 0x22, 0x94, 0x86, 0xf1, 0x7e, 0x1e, 0x46, 0x7f, 0xc6, 0x65, 0xb1, 0x86, 0x23, 0x76, 0x00, 0x9f, + 0x7b, 0xac, 0xaf, 0x61, 0xb7, 0xbe, 0xef, 0x07, 0xde, 0x96, 0xbf, 0x61, 0x5f, 0xb9, 0x77, 0x39, 0xfc, 0xe4, 0x3f, + 0x7e, 0x0f, 0xf2, 0x13, 0xe2, 0xa4, 0x60, 0x48, 0x6c, 0x47, 0x31, 0x6a, 0x1d, 0x7e, 0xae, 0x21, 0x56, 0xeb, 0x35, + 0x52, 0x77, 0x41, 0xfa, 0x7b, 0x85, 0xec, 0x27, 0x04, 0x56, 0x93, 0xf4, 0x29, 0x30, 0x89, 0x6f, 0x6a, 0x48, 0x20, + 0x4d, 0x0b, 0xc4, 0xe0, 0x40, 0xf1, 0xa9, 0xe0, 0x5f, 0x87, 0x9f, 0x49, 0xfe, 0x5b, 0xd4, 0x7c, 0x0c, 0x7f, 0xc3, + 0xd0, 0x4c, 0xaa, 0xfb, 0xb4, 0x86, 0x88, 0x68, 0x38, 0xf5, 0xc2, 0x4a, 0xa8, 0x93, 0x21, 0x48, 0xc5, 0x90, 0x0b, + 0x71, 0xf1, 0x64, 0x72, 0x53, 0x8a, 0xf0, 0xcf, 0x09, 0x3e, 0x93, 0x2b, 0x4d, 0x3e, 0xa3, 0x27, 0x8d, 0x2c, 0xe0, + 0x5e, 0xbe, 0x2f, 0x7b, 0x35, 0x58, 0xd4, 0x43, 0x7e, 0x53, 0xbb, 0xef, 0xcb, 0x39, 0x41, 0x8f, 0xec, 0x07, 0x34, + 0x07, 0x03, 0x35, 0x03, 0x29, 0x43, 0x70, 0x03, 0x97, 0x7e, 0x4f, 0x15, 0xe4, 0xcb, 0xef, 0x7d, 0x16, 0x32, 0x70, + 0x65, 0x41, 0x98, 0x72, 0xa9, 0x90, 0x02, 0xc7, 0x4d, 0x3d, 0xf8, 0xac, 0xd1, 0x49, 0x24, 0xf8, 0x94, 0x80, 0x24, + 0x69, 0x79, 0x20, 0x69, 0xc4, 0x74, 0x20, 0x2e, 0x94, 0xa6, 0x59, 0x49, 0x11, 0x87, 0xd8, 0x55, 0xaf, 0x91, 0xf0, + 0x2c, 0x78, 0xc4, 0x60, 0xed, 0x48, 0xd1, 0xe2, 0xab, 0x31, 0x1d, 0xeb, 0xb0, 0xa1, 0x5b, 0x59, 0xdc, 0x6f, 0x92, + 0x3a, 0x8d, 0xc4, 0x95, 0xb7, 0x42, 0xfe, 0xfc, 0x97, 0x12, 0x81, 0xf4, 0xae, 0x06, 0x62, 0x10, 0xfc, 0x00, 0xfd, + 0x07, 0x2c, 0x72, 0x10, 0x94, 0xea, 0x32, 0xcc, 0xab, 0x8c, 0x0a, 0x9c, 0xed, 0xd8, 0x76, 0xce, 0x54, 0xdd, 0x82, + 0xcf, 0xc2, 0x30, 0xa4, 0x9d, 0xad, 0x9a, 0x93, 0x5b, 0xbd, 0x81, 0x7a, 0x26, 0x71, 0xa4, 0x96, 0xe2, 0x48, 0x5b, + 0x73, 0x9f, 0x2e, 0xbd, 0x6e, 0x79, 0x41, 0xc3, 0x05, 0xe8, 0x45, 0xe9, 0xae, 0xf3, 0x09, 0x85, 0x2e, 0xab, 0x71, + 0x35, 0x14, 0x75, 0x28, 0xc7, 0x58, 0xfb, 0x73, 0x25, 0xcf, 0xef, 0xc0, 0x7a, 0x84, 0x86, 0xaf, 0x4a, 0x1d, 0xc4, + 0xf6, 0x13, 0xbd, 0xeb, 0x54, 0xea, 0x6f, 0x00, 0x18, 0x38, 0x75, 0x3c, 0xd4, 0x47, 0xed, 0x14, 0xb2, 0x9d, 0x7b, + 0x4b, 0x8c, 0xca, 0x95, 0xf0, 0x54, 0x69, 0x79, 0x4a, 0x59, 0xf5, 0xb5, 0xe0, 0x56, 0x76, 0x9f, 0x0d, 0x20, 0xa3, + 0x0d, 0x0a, 0xe4, 0x19, 0xb5, 0x35, 0x1e, 0xa4, 0x9a, 0x66, 0x89, 0x63, 0xf8, 0xa0, 0x48, 0xb3, 0x0a, 0x2c, 0x5e, + 0xe6, 0x92, 0x39, 0x28, 0x58, 0xae, 0x37, 0x9b, 0x69, 0xa6, 0xfa, 0x22, 0xb7, 0x37, 0x1a, 0x2f, 0xd3, 0x7f, 0xb3, + 0x64, 0xc0, 0xa3, 0x8b, 0x27, 0x7e, 0x00, 0x69, 0x92, 0xe2, 0x01, 0x92, 0x60, 0x7b, 0xb0, 0x8b, 0x1d, 0x86, 0xad, + 0x62, 0x65, 0x4f, 0x9e, 0x2e, 0x77, 0x68, 0xca, 0x25, 0xb8, 0xe4, 0xc4, 0x5c, 0x4e, 0x7d, 0x5f, 0xb2, 0xde, 0x50, + 0x9c, 0xb2, 0x69, 0x02, 0x4a, 0x02, 0xed, 0x16, 0xfc, 0x17, 0x3e, 0x35, 0x74, 0x5a, 0x80, 0xa5, 0xb6, 0x1b, 0xf0, + 0x5f, 0xe8, 0x17, 0xdb, 0x5d, 0xd4, 0x0f, 0xcc, 0x83, 0xbd, 0x59, 0x5c, 0x19, 0x03, 0x4e, 0x12, 0x57, 0x9a, 0x47, + 0xae, 0x1f, 0x14, 0x7d, 0xba, 0xac, 0x1d, 0x38, 0x53, 0x5c, 0x58, 0xa5, 0x36, 0x49, 0xaf, 0xfd, 0x96, 0x9a, 0x78, + 0x13, 0x25, 0x55, 0x61, 0x3b, 0xa4, 0xfd, 0x4b, 0xca, 0x99, 0x2a, 0xee, 0x10, 0x3d, 0xd9, 0x4d, 0x5c, 0x05, 0x5e, + 0x58, 0x55, 0x6c, 0x84, 0xda, 0x8c, 0x2c, 0x27, 0x70, 0xba, 0xc7, 0xea, 0x82, 0x8f, 0xed, 0x6a, 0x76, 0xc1, 0x4a, + 0xb6, 0x66, 0xd2, 0x7d, 0xde, 0x8e, 0xb9, 0x90, 0x57, 0x7a, 0x59, 0xb4, 0x02, 0xda, 0x83, 0xc0, 0xe1, 0xe7, 0x9a, + 0xee, 0xd1, 0xb3, 0xcd, 0x36, 0xb5, 0xd9, 0xd8, 0x5a, 0x84, 0x90, 0x81, 0x68, 0xe8, 0x0b, 0x39, 0xa3, 0xc8, 0x57, + 0x69, 0xb9, 0x56, 0x1b, 0xab, 0x8c, 0x17, 0x98, 0x08, 0x32, 0x9c, 0x85, 0x77, 0xe8, 0x69, 0x3d, 0xd2, 0x14, 0x93, + 0xe0, 0xa4, 0x8b, 0xbf, 0x00, 0x1b, 0xca, 0x93, 0xdc, 0x1c, 0x90, 0x03, 0xa8, 0x5c, 0x8a, 0x52, 0x29, 0x83, 0x5f, + 0xab, 0x3b, 0xb2, 0xad, 0xfa, 0xef, 0x34, 0x90, 0xc1, 0x1d, 0xe8, 0xdb, 0x5e, 0x68, 0xed, 0x68, 0xe7, 0xca, 0xd6, + 0xb4, 0x2d, 0xd3, 0x3c, 0x46, 0x16, 0x1b, 0x40, 0x3e, 0x91, 0xce, 0x81, 0xc8, 0x6b, 0xa2, 0xf1, 0xce, 0x9e, 0xf2, + 0xf1, 0x54, 0x3c, 0x24, 0xef, 0x55, 0xbe, 0x6f, 0xee, 0xf5, 0xc1, 0x18, 0xfb, 0x16, 0x94, 0x89, 0x0f, 0x56, 0x5b, + 0xeb, 0x12, 0xeb, 0xad, 0xd2, 0x24, 0xba, 0xe1, 0x0a, 0x3a, 0x8e, 0xc4, 0x0d, 0x62, 0x70, 0xcc, 0x78, 0x6d, 0x95, + 0xa5, 0xaf, 0xb0, 0xcc, 0x75, 0xcc, 0x92, 0x21, 0x93, 0x3a, 0x4f, 0x14, 0x3c, 0xf9, 0x79, 0x42, 0x32, 0x22, 0x6a, + 0xb6, 0xe5, 0x28, 0xe5, 0xa6, 0x05, 0x5c, 0x66, 0x64, 0x00, 0xdf, 0xa4, 0x09, 0x40, 0xb9, 0x7c, 0x09, 0x52, 0x69, + 0x88, 0xe0, 0x9a, 0xed, 0x25, 0xa3, 0x1b, 0x47, 0xeb, 0xa0, 0x4a, 0x32, 0x77, 0x70, 0x6e, 0x67, 0x91, 0x52, 0x6f, + 0x3e, 0xc2, 0xb0, 0x93, 0xf7, 0x61, 0x9d, 0xe0, 0xb7, 0x01, 0x35, 0xe9, 0x53, 0xe1, 0x45, 0x23, 0x40, 0x53, 0xdf, + 0xa9, 0x32, 0x3e, 0x15, 0x5e, 0x36, 0xda, 0xb2, 0x8c, 0x52, 0xa8, 0x2e, 0x98, 0xdd, 0x9a, 0x2e, 0xc4, 0xbc, 0xaa, + 0x06, 0xda, 0x20, 0xb7, 0xeb, 0x98, 0x01, 0x8d, 0xda, 0xae, 0x3c, 0xb2, 0x00, 0xb7, 0x66, 0x22, 0x30, 0x72, 0xfe, + 0x5d, 0x7e, 0xad, 0xc2, 0x79, 0xfa, 0xfd, 0xd0, 0xdb, 0x6f, 0x83, 0x68, 0xb4, 0xbd, 0x64, 0xbb, 0x20, 0x1a, 0xed, + 0x2e, 0x1b, 0x46, 0xbf, 0x9f, 0xd0, 0xef, 0x27, 0x0d, 0xa8, 0x4a, 0x84, 0x89, 0xb8, 0xd7, 0x6f, 0xd4, 0xf2, 0x95, + 0x5a, 0xbf, 0x53, 0xcb, 0x97, 0x6a, 0x78, 0x6b, 0x4f, 0x22, 0x41, 0x64, 0x69, 0x6c, 0xee, 0x25, 0x5b, 0xaa, 0xa5, + 0xd2, 0x31, 0xaa, 0x8c, 0xa8, 0xa5, 0xb3, 0x39, 0x56, 0x8c, 0xb4, 0x73, 0x50, 0x32, 0x20, 0xd3, 0xe2, 0xaa, 0xc6, + 0x74, 0xb3, 0xa2, 0x25, 0x26, 0x23, 0xac, 0x6c, 0xcb, 0xdb, 0x4d, 0xaa, 0xa6, 0x73, 0x72, 0x73, 0xab, 0x94, 0x9b, + 0x5b, 0xc1, 0xf3, 0x6f, 0xe8, 0x96, 0x4b, 0xae, 0xbd, 0xcc, 0xa6, 0x85, 0xd2, 0x2d, 0xe3, 0x1a, 0x6c, 0xed, 0x9b, + 0x40, 0x96, 0xf9, 0x40, 0x51, 0x63, 0x7b, 0xd1, 0x28, 0xdf, 0x20, 0x5b, 0x11, 0xa3, 0x4e, 0x59, 0x30, 0xfe, 0x76, + 0x47, 0x0f, 0x64, 0xa0, 0xaa, 0xaa, 0x8d, 0x83, 0x3b, 0x2b, 0xfd, 0x61, 0x79, 0xf1, 0x84, 0x25, 0x56, 0x3a, 0xb9, + 0x50, 0x85, 0xfe, 0x20, 0x44, 0x37, 0x95, 0x0d, 0x07, 0x87, 0xba, 0xd8, 0xca, 0x80, 0xd0, 0xc3, 0xf4, 0xde, 0xc6, + 0x4a, 0x96, 0xbb, 0xa6, 0x7c, 0x31, 0xe3, 0x09, 0xc7, 0xd1, 0x97, 0xab, 0x45, 0x58, 0xab, 0x45, 0x76, 0x02, 0x3c, + 0xb4, 0x56, 0x4b, 0x21, 0x57, 0x8b, 0x70, 0x66, 0xba, 0x50, 0x33, 0x3d, 0x03, 0x05, 0xa4, 0x50, 0xb3, 0x3c, 0x01, + 0x58, 0x78, 0x61, 0x66, 0xb8, 0x30, 0x33, 0x1c, 0x87, 0xd4, 0xf8, 0x3f, 0xe8, 0xbd, 0xce, 0x3d, 0xb7, 0xdc, 0x8d, + 0x4e, 0x23, 0xbe, 0x1d, 0x6d, 0x30, 0xc7, 0x07, 0xe1, 0xa4, 0xea, 0xf7, 0xd3, 0x12, 0xb1, 0x7a, 0x0c, 0x8c, 0xa0, + 0x1c, 0x2a, 0x47, 0xfb, 0x65, 0x61, 0x49, 0x96, 0x84, 0x25, 0xb9, 0x57, 0xe3, 0x5c, 0x5a, 0x2e, 0x5e, 0x25, 0x81, + 0x48, 0x64, 0xbc, 0x94, 0x26, 0xf8, 0x84, 0x97, 0x23, 0x23, 0x35, 0x4f, 0x16, 0xa9, 0x97, 0xb3, 0x8c, 0x8d, 0x11, + 0xc3, 0x28, 0xf4, 0x9b, 0xaa, 0xdf, 0xcf, 0x4b, 0x2f, 0xa7, 0x76, 0x7e, 0x02, 0xd7, 0xcb, 0x53, 0x67, 0x91, 0x23, + 0xe4, 0xd5, 0x48, 0x2a, 0x2c, 0xaf, 0x95, 0x7a, 0xfa, 0x12, 0x7c, 0x50, 0x77, 0x6f, 0x14, 0x00, 0x71, 0x91, 0x4b, + 0xff, 0xda, 0x12, 0x2e, 0x4d, 0xb9, 0x81, 0x41, 0x0f, 0x79, 0x4e, 0x42, 0xa8, 0x04, 0x21, 0x29, 0xac, 0x1b, 0xf7, + 0xc5, 0x93, 0x89, 0xeb, 0xce, 0x62, 0x03, 0x13, 0x1c, 0x0e, 0x80, 0x78, 0x30, 0xf5, 0xa2, 0x01, 0x2f, 0xd5, 0x9c, + 0xf9, 0xe0, 0xe5, 0x04, 0x93, 0x01, 0xaa, 0x8a, 0x81, 0x53, 0xd6, 0x63, 0xf9, 0xc8, 0xb8, 0x99, 0xf9, 0x7e, 0x80, + 0xef, 0xd6, 0x85, 0x44, 0x7f, 0x50, 0x00, 0x05, 0x99, 0x02, 0x28, 0x48, 0x0c, 0x40, 0x41, 0x6c, 0x00, 0x0a, 0x36, + 0x0d, 0x5f, 0x49, 0x1d, 0x6e, 0x04, 0x74, 0x11, 0x3e, 0xf4, 0x2c, 0x6c, 0xac, 0x50, 0x3c, 0x1b, 0xb3, 0x31, 0x2b, + 0xd4, 0xce, 0x93, 0xcb, 0xa9, 0xd8, 0x59, 0x8c, 0x75, 0x15, 0xb9, 0x4d, 0xbc, 0x90, 0x50, 0xe4, 0x9c, 0x1b, 0x89, + 0xba, 0xfb, 0xb9, 0xf7, 0x92, 0x8c, 0x25, 0xf3, 0x86, 0x46, 0x0d, 0xe6, 0x65, 0xd7, 0x01, 0x4c, 0x4b, 0xbe, 0x2d, + 0x68, 0x30, 0x9d, 0x2a, 0x8f, 0x48, 0x93, 0xa0, 0x76, 0x2e, 0x93, 0x22, 0x27, 0x84, 0x49, 0xd0, 0x2b, 0xc1, 0x6f, + 0x24, 0xca, 0xff, 0x37, 0x9d, 0xe0, 0x01, 0x8e, 0x89, 0x56, 0xc9, 0x57, 0x30, 0x60, 0xe6, 0xfc, 0x99, 0x74, 0xca, + 0x46, 0x28, 0xc6, 0x32, 0x8d, 0x47, 0x5f, 0xd9, 0x10, 0xa1, 0xad, 0x9e, 0xa1, 0x89, 0x09, 0xea, 0x00, 0x8f, 0xe8, + 0xaf, 0xd1, 0x57, 0x43, 0xa1, 0xd2, 0xd5, 0x48, 0x5d, 0xb3, 0x73, 0xce, 0xdf, 0xd6, 0x86, 0x13, 0x19, 0xd3, 0xa6, + 0xc0, 0x37, 0x20, 0x90, 0x6f, 0x20, 0x00, 0x5c, 0x35, 0x9d, 0xd9, 0x2b, 0x80, 0x73, 0x20, 0x80, 0xc7, 0x79, 0xc7, + 0xe3, 0x07, 0xfa, 0xab, 0x38, 0xee, 0x9d, 0xa6, 0x61, 0xfb, 0xaf, 0xc0, 0x58, 0x0c, 0xe5, 0x78, 0xbe, 0x53, 0x90, + 0xec, 0x51, 0xca, 0xd2, 0x55, 0x13, 0xd9, 0xa1, 0x58, 0x9f, 0xe6, 0x94, 0xb1, 0xb4, 0x2d, 0xc7, 0x68, 0xe3, 0xf5, + 0x43, 0x3c, 0xbe, 0xb9, 0xd1, 0x93, 0x0f, 0x7a, 0x70, 0x7b, 0x7b, 0xf5, 0xa2, 0xc7, 0x6c, 0xbe, 0x15, 0x8b, 0x67, + 0x45, 0x9c, 0x38, 0xad, 0x43, 0x0e, 0x70, 0x90, 0x93, 0x10, 0x48, 0xc7, 0xb8, 0xd4, 0xa2, 0x83, 0x9a, 0xe5, 0xbc, + 0x06, 0x96, 0x59, 0x04, 0xd9, 0x00, 0x51, 0x4d, 0x53, 0xb1, 0x1a, 0x1e, 0x94, 0xaa, 0x39, 0xa5, 0x52, 0xfb, 0x86, + 0xb3, 0xd5, 0xe9, 0x13, 0xab, 0x36, 0xe1, 0xd6, 0xbf, 0xd5, 0x9e, 0xa0, 0xad, 0xa4, 0x81, 0x50, 0xcf, 0x17, 0xe9, + 0x2d, 0x45, 0xf1, 0x38, 0x33, 0xf1, 0x54, 0x05, 0xc6, 0xbe, 0xb5, 0x23, 0x28, 0x48, 0x9a, 0xae, 0x03, 0x0e, 0xd3, + 0xe8, 0x84, 0xc5, 0x3f, 0xa5, 0x0f, 0xe5, 0x45, 0xad, 0xc0, 0x49, 0xfe, 0x29, 0x5c, 0x44, 0x12, 0x0b, 0xfd, 0x92, + 0x00, 0x48, 0x64, 0xf0, 0x6a, 0x54, 0xac, 0x85, 0x0a, 0x90, 0x53, 0x94, 0xde, 0x2a, 0x3e, 0x2e, 0x45, 0xa9, 0x52, + 0x2a, 0x73, 0xa3, 0x52, 0x40, 0x58, 0x1b, 0x38, 0xba, 0x80, 0x2f, 0x20, 0x68, 0x2d, 0x77, 0x6b, 0xdb, 0xf3, 0x46, + 0xe6, 0x33, 0xd3, 0x3c, 0xad, 0xde, 0xab, 0xbf, 0xdf, 0x2d, 0x31, 0xcc, 0xc6, 0xd3, 0xdf, 0xb7, 0x19, 0xc2, 0xcd, + 0xdf, 0x30, 0x44, 0xb7, 0x00, 0x8e, 0x59, 0xda, 0x43, 0x21, 0x0b, 0x26, 0x58, 0x43, 0x55, 0x9e, 0xf2, 0xd9, 0xcb, + 0x27, 0x3b, 0x40, 0x53, 0x43, 0x17, 0x37, 0x3a, 0xd5, 0x55, 0x09, 0xc2, 0xf7, 0x5d, 0xa1, 0x1e, 0x9b, 0x03, 0x4e, + 0x0d, 0x00, 0xc5, 0x22, 0xaf, 0xf5, 0xd8, 0xfe, 0x41, 0x6f, 0xd4, 0x1b, 0x20, 0x9e, 0xce, 0x79, 0xe1, 0x1f, 0xd1, + 0xaf, 0x53, 0x7f, 0xc6, 0x85, 0x20, 0xea, 0xf5, 0x24, 0xbc, 0x13, 0x67, 0x69, 0x1c, 0x9c, 0xf5, 0x06, 0xe6, 0x22, + 0x50, 0x9c, 0xa5, 0xf9, 0x19, 0x88, 0xe5, 0x08, 0x8f, 0x58, 0xb3, 0x1b, 0x40, 0x0c, 0x2c, 0x75, 0x48, 0xb2, 0xea, + 0xd8, 0x7e, 0xff, 0xe5, 0xc8, 0xf0, 0xa6, 0x23, 0x22, 0x8c, 0xfe, 0x5d, 0x81, 0x00, 0x05, 0xcb, 0xcc, 0x76, 0x66, + 0xd2, 0xd5, 0x9e, 0xd5, 0xf3, 0x66, 0x93, 0x77, 0xf5, 0x8e, 0xd5, 0xb4, 0x9c, 0x9a, 0x56, 0x59, 0x4d, 0x9b, 0xe4, + 0x50, 0x33, 0xd1, 0xef, 0x6b, 0x7c, 0xd4, 0x7c, 0x0e, 0xb8, 0x6c, 0x98, 0xfc, 0x72, 0x56, 0xcd, 0xfb, 0x7d, 0x4f, + 0x3e, 0x82, 0x5f, 0x48, 0x5c, 0xe6, 0xd6, 0x58, 0x3e, 0x7d, 0x45, 0x7c, 0x66, 0x06, 0xf1, 0xe8, 0xe6, 0x08, 0xea, + 0xeb, 0xa3, 0xf0, 0x3a, 0xe6, 0x0a, 0x9b, 0x89, 0xe9, 0x4b, 0x18, 0x3c, 0x4f, 0xf8, 0xe0, 0x2d, 0x47, 0x7f, 0x23, + 0x9d, 0x99, 0x82, 0x85, 0x9c, 0xfb, 0x93, 0x97, 0x08, 0x9d, 0x8c, 0x48, 0x0f, 0x3a, 0x9d, 0xa0, 0x21, 0xfb, 0xfd, + 0x05, 0x74, 0x66, 0x2b, 0x95, 0xb2, 0x55, 0x51, 0x99, 0xae, 0xeb, 0xa2, 0xac, 0xa0, 0x63, 0xe9, 0xe7, 0x8d, 0x90, + 0x99, 0xf5, 0x33, 0x0b, 0xf9, 0x69, 0x21, 0xb1, 0xa6, 0x6c, 0xfb, 0x44, 0x6d, 0x90, 0x66, 0x5d, 0xa8, 0x2e, 0x70, + 0xee, 0xac, 0xbd, 0xde, 0x08, 0xf5, 0xcf, 0xf9, 0x68, 0x5d, 0xac, 0x3d, 0x70, 0x89, 0x99, 0xa5, 0x73, 0xc5, 0xa1, + 0x91, 0xfb, 0xa3, 0xcf, 0x45, 0x9a, 0x53, 0x1e, 0xa0, 0x41, 0x14, 0x73, 0xfb, 0x2d, 0x90, 0x7e, 0xe8, 0x2d, 0x90, + 0x7d, 0x74, 0xce, 0xc9, 0x4b, 0x00, 0xa7, 0x43, 0x44, 0xdc, 0x8a, 0x04, 0x1d, 0xab, 0x86, 0x3b, 0x0b, 0xf7, 0xb4, + 0x97, 0xc6, 0xbd, 0x34, 0x3f, 0x4b, 0xfb, 0x7d, 0x03, 0xa0, 0x99, 0x22, 0x32, 0x3c, 0xce, 0xc8, 0x6d, 0xd2, 0x42, + 0x30, 0xa5, 0xfd, 0x57, 0x63, 0x48, 0x10, 0x08, 0xf8, 0x3f, 0x85, 0xf7, 0x1e, 0xd0, 0x36, 0x69, 0x03, 0xae, 0x7a, + 0x4c, 0x07, 0x66, 0x4b, 0xce, 0x56, 0x9d, 0x0d, 0x40, 0x39, 0x55, 0x5a, 0x4f, 0x79, 0x5c, 0x53, 0x44, 0xa4, 0xca, + 0x42, 0xfd, 0xc6, 0x7a, 0x32, 0x59, 0xe5, 0x22, 0x43, 0x8e, 0xca, 0xf4, 0xb6, 0x66, 0x84, 0xd8, 0xa5, 0x9f, 0x2f, + 0x60, 0xc9, 0xc6, 0x1f, 0x70, 0xf2, 0x96, 0x00, 0x69, 0x3b, 0x6b, 0x57, 0xd5, 0x2e, 0xc7, 0xad, 0xdd, 0x1c, 0x90, + 0x7c, 0xbd, 0xd1, 0x68, 0xa4, 0xfd, 0xe4, 0x04, 0x0c, 0x55, 0x4f, 0x2d, 0x85, 0x1e, 0xab, 0x15, 0xb6, 0x6e, 0x47, + 0x2e, 0xb3, 0x64, 0x30, 0x5f, 0x18, 0xc7, 0xd7, 0xe6, 0xa3, 0x0f, 0x97, 0xca, 0xda, 0x75, 0xc4, 0xd7, 0x7f, 0x92, + 0xd5, 0xfa, 0x9e, 0x77, 0x55, 0x13, 0xf0, 0x45, 0x15, 0x5b, 0xfa, 0x1d, 0xef, 0xc9, 0xde, 0xc5, 0xd7, 0x3e, 0x62, + 0x97, 0x7c, 0xcf, 0x5b, 0xd4, 0x79, 0xbe, 0xf2, 0x75, 0xa3, 0x4a, 0xb7, 0xf7, 0x92, 0x05, 0xae, 0xbd, 0xa3, 0xa6, + 0xb1, 0x9e, 0xf9, 0xd1, 0xc3, 0x22, 0x64, 0x3b, 0x1f, 0x7a, 0x5f, 0x35, 0x4f, 0xcf, 0x1a, 0x7a, 0x93, 0x1a, 0xfa, + 0xd0, 0x8b, 0xb2, 0x7d, 0x6a, 0x1a, 0xd1, 0x6b, 0xd8, 0xd0, 0x87, 0xde, 0x92, 0x93, 0x43, 0x82, 0xc1, 0xa9, 0x31, + 0x7f, 0x78, 0x38, 0x9d, 0xe1, 0xef, 0x18, 0x50, 0x89, 0xc9, 0x7c, 0x7a, 0x4c, 0x3b, 0x0a, 0x30, 0xa3, 0x4a, 0x6f, + 0x9f, 0x1e, 0xd8, 0x8e, 0x97, 0xf5, 0xd0, 0xd2, 0xbb, 0x27, 0x47, 0xb7, 0xe3, 0x55, 0x35, 0xbe, 0x94, 0x43, 0x9e, + 0xe7, 0xb3, 0xd1, 0x68, 0x24, 0x0c, 0x3a, 0x77, 0xa5, 0x37, 0xb0, 0x02, 0x19, 0x5c, 0x54, 0x1f, 0xca, 0xa5, 0xb7, + 0x53, 0x87, 0x76, 0xe5, 0x4f, 0xf2, 0xc3, 0xa1, 0x18, 0x99, 0x63, 0x1c, 0x70, 0x4e, 0x0a, 0x25, 0x47, 0xc9, 0x5a, + 0x82, 0xe8, 0x94, 0xc6, 0x53, 0x59, 0xaf, 0xad, 0x88, 0xbc, 0x1a, 0x21, 0x1f, 0x82, 0x9f, 0x3d, 0x50, 0x8b, 0x3f, + 0xd5, 0x82, 0xd8, 0x43, 0x9f, 0x2a, 0xa5, 0x43, 0xbc, 0x2a, 0x20, 0x44, 0x18, 0xf0, 0x06, 0xda, 0x41, 0x09, 0x0e, + 0x3b, 0xdc, 0x7b, 0x44, 0x88, 0x7e, 0xe1, 0xe5, 0x33, 0x19, 0xae, 0xdc, 0x1b, 0x54, 0x73, 0x06, 0x88, 0x95, 0x3e, + 0x03, 0x17, 0x4c, 0x40, 0x3d, 0xc5, 0xa7, 0xe8, 0x5f, 0x6f, 0x1e, 0x36, 0x5d, 0x9f, 0x96, 0x80, 0x8a, 0xe8, 0xd9, + 0xcf, 0xc7, 0x00, 0xde, 0xd9, 0xb5, 0x19, 0x69, 0x2f, 0x7f, 0x03, 0x0c, 0x2b, 0x25, 0x89, 0x76, 0x4e, 0x89, 0xc0, + 0x9d, 0x8f, 0x6c, 0xe9, 0x47, 0x29, 0x10, 0x73, 0xc7, 0x93, 0x44, 0xf6, 0x60, 0x23, 0x27, 0x70, 0x8b, 0x01, 0x8f, + 0x0e, 0x40, 0xe5, 0x4a, 0x41, 0xee, 0x35, 0x47, 0x72, 0xc7, 0x8f, 0xbd, 0x1f, 0x07, 0xf5, 0xe0, 0xc7, 0xde, 0x59, + 0x4a, 0x72, 0x47, 0x78, 0xa6, 0xa6, 0x84, 0x88, 0xcf, 0x7e, 0x1c, 0xe4, 0x03, 0x3c, 0x4b, 0xb4, 0x48, 0x8b, 0xdc, + 0x6a, 0xa2, 0xc6, 0x4d, 0x78, 0x9b, 0x48, 0x1a, 0xa2, 0xbb, 0xce, 0x23, 0x62, 0x01, 0x20, 0x59, 0x7c, 0x36, 0x6f, + 0x28, 0xea, 0xdd, 0x84, 0x6f, 0xd1, 0x5d, 0x16, 0xfb, 0xfd, 0x55, 0x9e, 0xd6, 0x3d, 0x1d, 0x2a, 0x83, 0x2f, 0x48, + 0x35, 0x01, 0x1e, 0xed, 0x2f, 0xcc, 0xf1, 0xea, 0xd5, 0xe6, 0x48, 0x59, 0xa8, 0x12, 0xf5, 0x5b, 0xac, 0x66, 0x3d, + 0x44, 0xe4, 0xce, 0x32, 0x63, 0x6f, 0x2f, 0x78, 0x25, 0x67, 0x55, 0x6c, 0x97, 0xe3, 0x2b, 0xc2, 0xda, 0x4a, 0x02, + 0x74, 0xb4, 0x1e, 0x6b, 0x53, 0x8c, 0xfc, 0x4a, 0x21, 0x01, 0x17, 0x1d, 0x5b, 0x0b, 0xc5, 0xc6, 0x0b, 0xd0, 0x97, + 0xec, 0x4c, 0x03, 0xac, 0x37, 0x7a, 0x15, 0x71, 0x5b, 0x3e, 0x50, 0xe1, 0x4d, 0x6e, 0xaa, 0xcc, 0xca, 0x66, 0xd1, + 0xee, 0xa7, 0x8a, 0x57, 0x88, 0x5b, 0x6f, 0xd4, 0x1e, 0x05, 0xa8, 0x3d, 0xb4, 0x50, 0x06, 0xe8, 0xd2, 0x34, 0x03, + 0x40, 0x06, 0x00, 0x99, 0x2a, 0xe2, 0x33, 0x01, 0x2a, 0x6d, 0x75, 0xa3, 0xc0, 0x89, 0xf4, 0x02, 0x18, 0x17, 0x58, + 0xe9, 0x23, 0x1b, 0x19, 0x2c, 0xb6, 0x08, 0x70, 0xcb, 0x91, 0x3e, 0x4c, 0xc3, 0xc9, 0x36, 0x9a, 0xc3, 0x24, 0xcd, + 0xef, 0xc2, 0x2c, 0x95, 0xd0, 0x12, 0xaf, 0x64, 0x8d, 0x11, 0x0b, 0x48, 0xdf, 0xa7, 0x17, 0x45, 0x16, 0x13, 0x24, + 0x9c, 0xf5, 0xd4, 0x01, 0x54, 0x93, 0x73, 0xad, 0x69, 0xf5, 0xac, 0x36, 0x79, 0xc8, 0x02, 0x9d, 0x3d, 0x18, 0x93, + 0x5a, 0x6e, 0xe8, 0x91, 0xfd, 0x95, 0xe3, 0x19, 0xe1, 0xbb, 0x9e, 0xe1, 0xd4, 0x7f, 0x1f, 0x6b, 0x20, 0x65, 0x4a, + 0x00, 0x41, 0x06, 0x47, 0x13, 0x42, 0x79, 0x3a, 0x26, 0x53, 0x9b, 0x1f, 0x81, 0x70, 0x44, 0xf0, 0x0a, 0x9e, 0x1b, + 0x5a, 0xb7, 0xdc, 0xd8, 0x59, 0xe4, 0x69, 0x02, 0xc8, 0xe2, 0x05, 0xbf, 0x07, 0x64, 0x4e, 0xbd, 0x2a, 0x64, 0xcf, + 0x9e, 0x8b, 0xe9, 0x6c, 0x1e, 0x7c, 0x4c, 0x68, 0xff, 0x62, 0xc2, 0x6f, 0xba, 0xab, 0xe4, 0xca, 0xd4, 0xba, 0x37, + 0xd1, 0x63, 0x2e, 0x77, 0xfa, 0xb4, 0xe2, 0x18, 0xf1, 0x0c, 0x56, 0x01, 0x39, 0x67, 0x43, 0xfe, 0xf4, 0x1c, 0xb0, + 0x5b, 0x56, 0xc2, 0x8b, 0xf8, 0xd3, 0x50, 0x56, 0x0b, 0x90, 0x1f, 0x39, 0x8f, 0xcc, 0x2f, 0x5f, 0x6d, 0x87, 0x72, + 0x4e, 0x51, 0x44, 0xcb, 0xa9, 0x69, 0x49, 0x21, 0x3b, 0xf4, 0x14, 0x4c, 0xa6, 0xb6, 0xfc, 0x7d, 0x9f, 0xb8, 0x24, + 0xdf, 0x4c, 0x22, 0xfb, 0x3a, 0xc0, 0x9a, 0xb5, 0xea, 0x1e, 0xba, 0x21, 0x18, 0x20, 0x32, 0x42, 0x99, 0xcd, 0xf5, + 0xdd, 0x7a, 0x30, 0x50, 0x30, 0xbf, 0x82, 0x6e, 0x5a, 0x74, 0x8a, 0x03, 0xe4, 0xac, 0x75, 0x8d, 0x4a, 0x55, 0x71, + 0xe8, 0x30, 0xef, 0x96, 0x55, 0xd9, 0x65, 0xe9, 0x85, 0x20, 0x35, 0xea, 0x2a, 0x58, 0xa4, 0x54, 0x44, 0xf1, 0x9e, + 0xfc, 0x1a, 0x98, 0x78, 0x66, 0xe5, 0x28, 0x8d, 0xe7, 0x80, 0x18, 0xa4, 0x80, 0x38, 0xe5, 0x57, 0x80, 0x26, 0xba, + 0x88, 0xc2, 0xec, 0x55, 0x5c, 0x05, 0xb5, 0xd5, 0xf4, 0x3f, 0x1d, 0xc8, 0xd8, 0xf3, 0xba, 0xdf, 0x4f, 0x89, 0xd1, + 0x0f, 0xa3, 0x30, 0xf0, 0xef, 0xf1, 0x74, 0xdf, 0x04, 0xa9, 0x79, 0xe5, 0x23, 0xbc, 0xa2, 0xcb, 0xad, 0x4d, 0xb9, + 0xa2, 0x71, 0xe1, 0xaf, 0x11, 0x1c, 0x3e, 0x75, 0x14, 0xdb, 0x6d, 0xaa, 0x9c, 0xda, 0x18, 0x0c, 0x42, 0xb8, 0x6f, + 0x65, 0xfc, 0xcf, 0xc4, 0xcb, 0x67, 0xd1, 0x1c, 0x14, 0xa5, 0x99, 0xe6, 0x0b, 0x29, 0xa4, 0x9b, 0x00, 0x7d, 0x34, + 0x08, 0xb5, 0xba, 0xf2, 0x4d, 0xe2, 0xa5, 0x6a, 0x5a, 0x9b, 0xa7, 0x58, 0xa3, 0x40, 0xcc, 0xa2, 0x79, 0xc3, 0x32, + 0x3a, 0x24, 0xd5, 0xe5, 0xd2, 0x34, 0xe3, 0x8d, 0xd5, 0x0c, 0xd5, 0x8a, 0xa3, 0x26, 0xa8, 0x51, 0xfa, 0x08, 0x17, + 0xc0, 0x7f, 0xd0, 0x1d, 0x47, 0x35, 0x8a, 0x14, 0x0d, 0xf8, 0x04, 0x31, 0x62, 0xcd, 0xe6, 0x09, 0x6b, 0x4d, 0x5d, + 0x33, 0xfa, 0x7d, 0x19, 0x32, 0x64, 0x92, 0x90, 0xa7, 0x0f, 0x97, 0xeb, 0x07, 0x52, 0x5d, 0x00, 0xbf, 0x72, 0xc5, + 0x66, 0xbd, 0xde, 0x1c, 0xe0, 0x7a, 0x61, 0xfd, 0xc2, 0xc6, 0x15, 0x9c, 0x5f, 0x12, 0xfc, 0xae, 0xfa, 0x11, 0x66, + 0x19, 0x54, 0x01, 0x19, 0x7f, 0x2c, 0xa8, 0xe2, 0xdc, 0xc5, 0xa4, 0x7e, 0x39, 0x52, 0x17, 0x94, 0x59, 0x3a, 0xb7, + 0x38, 0x41, 0xc0, 0x79, 0x58, 0x3d, 0x81, 0x64, 0x5f, 0x3e, 0xf6, 0x69, 0x46, 0x81, 0xea, 0x08, 0xf0, 0xd9, 0xac, + 0x1f, 0xc2, 0xfe, 0x01, 0x91, 0x85, 0xfa, 0x9b, 0xd7, 0x72, 0xd6, 0x90, 0x3c, 0x90, 0x6a, 0xee, 0x63, 0x38, 0x35, + 0x16, 0xf8, 0xd2, 0xa2, 0x37, 0x15, 0xbc, 0x26, 0x64, 0xee, 0x05, 0x5a, 0xfb, 0x16, 0x70, 0x84, 0x08, 0x2e, 0xa3, + 0x14, 0xa7, 0xbd, 0x5d, 0x2f, 0x40, 0x6e, 0x73, 0x0b, 0xf2, 0xfa, 0x91, 0x8b, 0x5f, 0x9c, 0x22, 0x3d, 0x8b, 0x2e, + 0x30, 0xd0, 0x05, 0x99, 0x37, 0xfe, 0x55, 0xc1, 0xca, 0x05, 0xf4, 0x5e, 0x2a, 0x56, 0x72, 0xb2, 0xed, 0xd4, 0x1f, + 0xa5, 0xb2, 0xdf, 0x9e, 0x59, 0x13, 0xf8, 0x5d, 0x62, 0xbf, 0x44, 0x26, 0xdf, 0xf4, 0xd8, 0xe4, 0x2b, 0xc3, 0xa2, + 0x53, 0xcb, 0xe0, 0x9c, 0x1e, 0x19, 0x9c, 0x7b, 0x3b, 0xab, 0x36, 0x11, 0x0c, 0x05, 0x49, 0xa0, 0xe9, 0xd2, 0xc3, + 0xba, 0xe9, 0xcf, 0x4f, 0x5a, 0x54, 0x5b, 0xb5, 0x6f, 0xdd, 0x8f, 0x43, 0xec, 0xe2, 0x77, 0x89, 0x67, 0x88, 0x48, + 0x7d, 0xa0, 0x03, 0x93, 0xc1, 0x13, 0x97, 0xfd, 0x3e, 0x14, 0x36, 0x1b, 0xcf, 0x47, 0x75, 0xf1, 0xba, 0xb8, 0x07, + 0x54, 0x87, 0x0a, 0xec, 0x72, 0x28, 0x43, 0x19, 0xb1, 0xa9, 0x2d, 0xf7, 0xfc, 0x71, 0x1d, 0xe6, 0x20, 0xef, 0x68, + 0x78, 0x9c, 0x33, 0x10, 0xc3, 0xe0, 0xeb, 0x3f, 0x3e, 0xda, 0xa7, 0xcd, 0x8f, 0x67, 0xf0, 0xdd, 0xd1, 0xd9, 0x7b, + 0xa4, 0xbb, 0x39, 0x5b, 0x97, 0xc5, 0x5d, 0x1a, 0x8b, 0xb3, 0x1f, 0x21, 0xf5, 0xc7, 0xb3, 0xa2, 0x3c, 0xfb, 0x51, + 0x55, 0xe6, 0xc7, 0x33, 0x5a, 0x70, 0xa3, 0x3f, 0xac, 0x89, 0xf7, 0x7b, 0xa5, 0x19, 0xd0, 0x96, 0x10, 0x99, 0xa5, + 0xd5, 0x8f, 0xa0, 0x44, 0x54, 0xfc, 0xa8, 0x32, 0xaa, 0xd5, 0xda, 0x71, 0xde, 0x27, 0x1a, 0x29, 0x9b, 0x26, 0x24, + 0xae, 0x96, 0xb0, 0x0e, 0xf5, 0xec, 0xb4, 0xf9, 0x76, 0x9c, 0x07, 0xea, 0x80, 0xc8, 0xf9, 0xd3, 0x7c, 0xb4, 0xa5, + 0xaf, 0xc1, 0xb7, 0x0e, 0x87, 0x7c, 0xb4, 0x33, 0x3f, 0x7d, 0xb2, 0x56, 0xca, 0xb8, 0x23, 0xd9, 0x3b, 0x58, 0x5b, + 0xe0, 0x04, 0x01, 0x0e, 0x00, 0xff, 0x70, 0xa0, 0xdf, 0x3b, 0xf9, 0x5b, 0xed, 0x96, 0x56, 0x3d, 0x9f, 0xb5, 0xb8, + 0x33, 0x5e, 0xd5, 0x86, 0xa8, 0x6d, 0x2f, 0xb1, 0xa5, 0xf7, 0x4d, 0x83, 0x9a, 0x22, 0xfa, 0x09, 0xab, 0x89, 0x55, + 0x1c, 0x16, 0xa4, 0x84, 0x24, 0x86, 0x63, 0xb4, 0x43, 0x8f, 0xd3, 0xc5, 0xd2, 0x93, 0xfb, 0x0e, 0x2f, 0xb7, 0xbe, + 0x0f, 0x48, 0x5a, 0x85, 0xf3, 0x77, 0x5e, 0x68, 0xe0, 0xd1, 0x8b, 0xbc, 0x2a, 0x32, 0x31, 0x12, 0x34, 0xca, 0xaf, + 0x48, 0x9c, 0x39, 0xc3, 0x5a, 0x9c, 0x29, 0xb0, 0xb0, 0x90, 0x20, 0xc1, 0x8b, 0x92, 0xd2, 0x83, 0xb3, 0x47, 0xfb, + 0xb2, 0xf9, 0x83, 0xe0, 0x21, 0x46, 0x0b, 0x60, 0xc4, 0xd9, 0xb5, 0xcb, 0xbb, 0x0f, 0xcb, 0xdc, 0xfb, 0xe3, 0xd5, + 0x6d, 0x5e, 0x40, 0x88, 0xe6, 0x99, 0x54, 0xac, 0x96, 0x67, 0xc0, 0x98, 0x27, 0xe2, 0xb3, 0xb0, 0x92, 0xd3, 0xa0, + 0xea, 0x28, 0x56, 0x6d, 0xe3, 0x51, 0xee, 0x01, 0xc5, 0xf7, 0xfb, 0x04, 0xb8, 0xdc, 0x7d, 0xf6, 0x52, 0xb9, 0xa6, + 0x92, 0x1e, 0x79, 0x0e, 0xd1, 0x92, 0x8f, 0x12, 0xa0, 0x78, 0x86, 0x38, 0x49, 0x61, 0xf5, 0xdc, 0x04, 0xa9, 0xc8, + 0xd7, 0x27, 0x14, 0x5f, 0x34, 0x8f, 0xa2, 0x86, 0x85, 0x2c, 0x81, 0xe3, 0x21, 0x99, 0x65, 0x73, 0x64, 0x29, 0x4f, + 0xdb, 0x53, 0xa4, 0xa3, 0x13, 0x4b, 0xfc, 0xb6, 0xe6, 0xd7, 0x8b, 0x54, 0x04, 0x26, 0xed, 0x6c, 0x61, 0xee, 0x85, + 0x30, 0x54, 0x09, 0xf7, 0x5e, 0xd5, 0xb3, 0x50, 0x6e, 0x8a, 0x56, 0xc5, 0xec, 0x61, 0x4a, 0xcc, 0x30, 0xc5, 0xfa, + 0x0b, 0x1b, 0x7e, 0x9d, 0x78, 0x31, 0x18, 0xae, 0x97, 0xbc, 0x9c, 0x6d, 0xcc, 0x42, 0x38, 0x1c, 0x36, 0x93, 0x62, + 0xb6, 0x84, 0x30, 0xd7, 0xe5, 0xfc, 0x70, 0xe8, 0x6a, 0xd9, 0x5a, 0x78, 0xf0, 0x50, 0xb5, 0x70, 0xd3, 0xb0, 0x1c, + 0x7e, 0x26, 0xb3, 0x18, 0xdb, 0xd7, 0xf8, 0xcc, 0xfe, 0x7c, 0xd1, 0x3d, 0x4b, 0x90, 0x7c, 0x63, 0x0d, 0xb4, 0x63, + 0xb3, 0x76, 0x87, 0xab, 0x11, 0x90, 0x94, 0xee, 0x46, 0xe7, 0x58, 0x76, 0xf2, 0x94, 0x20, 0x77, 0xb4, 0x02, 0xfb, + 0xdd, 0x37, 0xfe, 0x44, 0x8b, 0x3d, 0x68, 0xb7, 0xb1, 0x25, 0x44, 0x35, 0xed, 0xb9, 0x5c, 0x29, 0x96, 0x6e, 0xb0, + 0xb4, 0xd1, 0xf3, 0x61, 0x7d, 0xee, 0x1b, 0x39, 0x50, 0x30, 0x46, 0x3c, 0xb5, 0x0e, 0xa2, 0xd9, 0x1c, 0x68, 0x30, + 0xd0, 0x3c, 0xc2, 0x53, 0x0b, 0x1d, 0x94, 0x59, 0x1b, 0xf6, 0x4f, 0xc9, 0xc9, 0xf2, 0x38, 0x7c, 0x0b, 0xff, 0xf2, + 0x19, 0x36, 0x89, 0x29, 0xb6, 0xc7, 0x2f, 0x95, 0xa2, 0xc2, 0x63, 0x3b, 0xe2, 0x5a, 0xfb, 0x28, 0x6a, 0x43, 0xe5, + 0xf0, 0x6f, 0x61, 0x1f, 0x61, 0x5f, 0xd0, 0x04, 0x61, 0xb0, 0xeb, 0xcf, 0x04, 0x42, 0xc4, 0x42, 0xbc, 0xe0, 0x97, + 0x4a, 0x52, 0xd1, 0x09, 0x9f, 0xed, 0x4a, 0xe0, 0xad, 0xc3, 0x80, 0x3e, 0x21, 0x3f, 0x13, 0x09, 0x43, 0x33, 0xa1, + 0x77, 0xf4, 0xdf, 0x89, 0x9d, 0x6c, 0x92, 0x5b, 0x21, 0x1f, 0x48, 0x2a, 0x09, 0x26, 0x58, 0x79, 0xa1, 0x7c, 0xe5, + 0x5e, 0x28, 0xb5, 0xd6, 0x82, 0xd6, 0x2f, 0xff, 0x29, 0xf1, 0x0c, 0xfe, 0x1e, 0xc8, 0x18, 0x74, 0x1b, 0x51, 0x4d, + 0x72, 0x4c, 0x1f, 0xa5, 0xf3, 0x0c, 0x54, 0x40, 0x67, 0xeb, 0x2c, 0xac, 0x97, 0x45, 0xb9, 0x6a, 0x45, 0x8a, 0xca, + 0xd2, 0x47, 0xea, 0x31, 0xe6, 0x85, 0x79, 0x72, 0x22, 0x1f, 0x3c, 0x02, 0x60, 0x3c, 0xca, 0xd3, 0xaa, 0xa3, 0xb4, + 0x7e, 0x60, 0x19, 0x30, 0x02, 0x27, 0xca, 0x80, 0x47, 0x58, 0x06, 0xe6, 0x69, 0x97, 0xa1, 0x06, 0xb1, 0x46, 0xd5, + 0x95, 0xda, 0x60, 0x4e, 0x14, 0x25, 0x9f, 0x62, 0x69, 0x85, 0x31, 0x34, 0x75, 0xe5, 0x91, 0xf5, 0x92, 0x13, 0xf6, + 0x64, 0x37, 0x90, 0x6e, 0x61, 0xa3, 0x70, 0x06, 0x5d, 0xcb, 0x12, 0xe5, 0xa2, 0x5b, 0x46, 0x94, 0x89, 0x90, 0xfa, + 0xd9, 0xc3, 0x99, 0x56, 0xfb, 0x8d, 0x9d, 0xb4, 0x6f, 0x8f, 0x14, 0xbd, 0x60, 0xd0, 0x3e, 0xed, 0x91, 0x52, 0xcf, + 0x1a, 0xb9, 0x0c, 0x6c, 0xe9, 0x52, 0xd5, 0xf3, 0xdf, 0xa0, 0x7c, 0x07, 0x33, 0xe3, 0x6c, 0xf6, 0x87, 0xde, 0xdc, + 0x1e, 0xed, 0xeb, 0xe6, 0x0f, 0xd6, 0xeb, 0xc1, 0xd6, 0x20, 0x13, 0x9f, 0x29, 0x16, 0x2a, 0xab, 0x10, 0x2b, 0x48, + 0xfb, 0xdf, 0xc2, 0xfb, 0x03, 0xde, 0x1a, 0xa1, 0x59, 0x19, 0x0f, 0xf3, 0xd1, 0xa3, 0xbd, 0x68, 0xfe, 0xe8, 0x2c, + 0xdb, 0xca, 0x55, 0xc9, 0x6c, 0x7f, 0x1c, 0x25, 0xcd, 0xd9, 0xc3, 0x35, 0x92, 0x3a, 0xc0, 0x87, 0xeb, 0x33, 0x7c, + 0xa0, 0x12, 0x4a, 0x2d, 0xa8, 0x6a, 0xd0, 0xfa, 0xd8, 0x1f, 0xad, 0xe7, 0xf4, 0xf1, 0x63, 0x39, 0xdd, 0x92, 0x22, + 0x8c, 0x1f, 0x18, 0x4c, 0xd9, 0x89, 0x53, 0x97, 0xbc, 0x19, 0xd2, 0xbb, 0x6e, 0x95, 0xd4, 0x65, 0x8f, 0x12, 0x41, + 0xa8, 0x83, 0xf5, 0x8b, 0xfd, 0x10, 0x66, 0xb6, 0xe8, 0x0f, 0x9b, 0xd5, 0x9c, 0x00, 0x11, 0x01, 0xad, 0x55, 0xde, + 0x07, 0x8e, 0xf9, 0xc2, 0xac, 0xb9, 0x21, 0xdd, 0x7a, 0x73, 0xa5, 0xbd, 0x92, 0x02, 0xfa, 0x39, 0xc8, 0xdc, 0x3e, + 0xba, 0xe5, 0xaa, 0x65, 0x9e, 0x4b, 0x5b, 0x0e, 0x58, 0xb4, 0x10, 0xa8, 0xd9, 0xb9, 0x74, 0x38, 0x50, 0x10, 0xea, + 0x4a, 0x54, 0x11, 0x57, 0x47, 0xd1, 0x42, 0xd4, 0x6a, 0xd5, 0x2e, 0x27, 0x9b, 0x0a, 0xd9, 0x92, 0x08, 0x32, 0x4a, + 0xf6, 0x4a, 0xa8, 0x8f, 0x72, 0xb5, 0x67, 0x1a, 0x0e, 0xd0, 0x04, 0x6c, 0xda, 0xe0, 0x6f, 0x81, 0x7b, 0x19, 0x9c, + 0x99, 0xf6, 0x69, 0x18, 0x01, 0xa7, 0x39, 0xc4, 0xfc, 0xf9, 0x5d, 0x0f, 0x2a, 0x78, 0xd0, 0x91, 0xfe, 0xaa, 0x9e, + 0x15, 0x78, 0xe6, 0x9e, 0x78, 0xfe, 0xf2, 0x44, 0x7a, 0x99, 0xc3, 0x03, 0x4d, 0x83, 0x98, 0xf1, 0x67, 0x65, 0x19, + 0xee, 0x46, 0xcb, 0xb2, 0x58, 0x79, 0x91, 0xde, 0xc7, 0x33, 0x29, 0x06, 0x12, 0x33, 0x66, 0x46, 0x57, 0xb1, 0x8e, + 0x73, 0x18, 0xf7, 0xf6, 0x24, 0xac, 0xd0, 0xfe, 0x59, 0x62, 0xaf, 0x0b, 0xc0, 0x72, 0xc8, 0x1a, 0xb4, 0xc2, 0x3b, + 0xdd, 0xde, 0xee, 0x71, 0xc9, 0x8e, 0xe2, 0x06, 0xd0, 0xcf, 0x6a, 0x68, 0x99, 0xa0, 0x96, 0x59, 0x77, 0x32, 0x99, + 0x22, 0xb9, 0x7c, 0x1b, 0xf6, 0x92, 0x95, 0xf9, 0xbc, 0x91, 0xdb, 0xc3, 0xdb, 0x70, 0x25, 0x62, 0x6d, 0x41, 0x27, + 0x1d, 0x19, 0x87, 0x7b, 0xa1, 0xb9, 0x91, 0xee, 0x1f, 0x55, 0x49, 0x58, 0x8a, 0x18, 0x6e, 0x81, 0x6c, 0xaf, 0xb6, + 0x95, 0xa0, 0x04, 0x3e, 0xd8, 0xf7, 0xa5, 0x58, 0xa6, 0x5b, 0x01, 0xb8, 0x0e, 0xfc, 0x37, 0x89, 0x48, 0xe8, 0xee, + 0x3c, 0x44, 0xb1, 0x46, 0xde, 0x37, 0x88, 0xc6, 0xfe, 0x09, 0xe4, 0x34, 0x20, 0x13, 0x29, 0x46, 0xb2, 0x60, 0xe0, + 0x03, 0xc8, 0xf9, 0x1a, 0x4c, 0x72, 0xd3, 0xdc, 0xf3, 0x83, 0x5c, 0x77, 0x30, 0xed, 0x83, 0xee, 0xc5, 0xb5, 0x66, + 0x39, 0x78, 0xc5, 0x44, 0xfc, 0x1f, 0xb5, 0x57, 0xb2, 0x9c, 0x65, 0x7e, 0x63, 0x2e, 0x3a, 0x19, 0x5c, 0x35, 0x84, + 0x5f, 0xcc, 0xb2, 0x39, 0x8f, 0x66, 0x99, 0x8e, 0xfa, 0x2f, 0x9a, 0xa3, 0x52, 0x00, 0x4e, 0x1d, 0x2f, 0xc0, 0x1a, + 0xfa, 0x4a, 0x37, 0xad, 0x78, 0xa0, 0x31, 0x46, 0x41, 0x85, 0x0e, 0x42, 0xff, 0xa8, 0x01, 0x69, 0x83, 0x49, 0x9a, + 0x84, 0xca, 0x07, 0x17, 0x74, 0xc3, 0xd8, 0x5c, 0xb9, 0x5c, 0x35, 0xa9, 0x5a, 0x7e, 0x39, 0xa2, 0xbe, 0xab, 0x25, + 0x97, 0x6a, 0xf3, 0xa9, 0x51, 0xd6, 0x08, 0x32, 0x39, 0x4a, 0xbf, 0x4f, 0xb9, 0x70, 0x2b, 0x63, 0xb2, 0x3e, 0x1c, + 0xbc, 0x82, 0x9b, 0x1a, 0xbf, 0xc8, 0x89, 0x50, 0xd4, 0x1e, 0x12, 0x61, 0x6b, 0xb7, 0x42, 0xf7, 0x1e, 0x37, 0x4a, + 0xf3, 0x28, 0xdb, 0xc4, 0xa2, 0xf2, 0x7a, 0x09, 0x58, 0x8b, 0x7b, 0xc0, 0x8b, 0x4a, 0x4b, 0xbf, 0x62, 0x05, 0xa0, + 0x07, 0x48, 0x61, 0xe3, 0x05, 0x32, 0x60, 0xbd, 0xf3, 0x52, 0xbf, 0xdf, 0x37, 0xa6, 0xfc, 0x77, 0xf7, 0x39, 0x90, + 0x14, 0x8a, 0xb2, 0xde, 0xc1, 0x04, 0x82, 0x6b, 0x27, 0x69, 0xcf, 0x6a, 0xfe, 0x74, 0x5d, 0x7b, 0xc0, 0x6f, 0xe5, + 0x5b, 0x24, 0x56, 0x9f, 0xec, 0x8b, 0xcd, 0x3e, 0xad, 0x3e, 0x1a, 0x8d, 0x83, 0x60, 0x69, 0xf5, 0x4a, 0xab, 0x1c, + 0xf2, 0x86, 0x17, 0x20, 0x52, 0x59, 0x57, 0xd7, 0xca, 0xb9, 0xba, 0x16, 0x1c, 0xb9, 0x64, 0x4b, 0x9e, 0xc3, 0x7f, + 0x21, 0xf7, 0xca, 0xc3, 0xa1, 0xf0, 0xfb, 0xfd, 0x74, 0x46, 0x5a, 0x59, 0x60, 0x4f, 0x5b, 0xd7, 0x5e, 0xe8, 0x1f, + 0x0e, 0x2f, 0xc0, 0x6b, 0xc4, 0x3f, 0x1c, 0xca, 0x7e, 0xff, 0x83, 0xb9, 0xc9, 0x9c, 0x8f, 0x95, 0x52, 0xf6, 0x12, + 0x95, 0xee, 0xaf, 0x13, 0xde, 0xfb, 0xdf, 0xa3, 0xff, 0x3d, 0xba, 0xec, 0xc9, 0xae, 0xff, 0x90, 0xf0, 0x19, 0xde, + 0xd0, 0x99, 0xba, 0x9c, 0x33, 0xe9, 0xee, 0xae, 0xfc, 0xd0, 0x7b, 0x1a, 0x2a, 0xbe, 0x37, 0x37, 0x6d, 0xfc, 0x47, + 0x75, 0xa4, 0x49, 0xe8, 0xb8, 0xe8, 0x1f, 0x0e, 0x1f, 0x12, 0xad, 0x4f, 0x4b, 0x95, 0x3e, 0x4d, 0xe1, 0x28, 0x19, + 0x72, 0x37, 0xb7, 0x30, 0x1d, 0xd8, 0x8f, 0x9b, 0xaf, 0x92, 0x17, 0x67, 0x29, 0x5c, 0x7b, 0xf3, 0x59, 0x3a, 0x9f, + 0x82, 0x75, 0x65, 0x98, 0xcf, 0xea, 0x79, 0x00, 0xa9, 0x43, 0x48, 0xb3, 0xa6, 0xe1, 0x3f, 0x2b, 0x57, 0xf0, 0xd6, + 0x1e, 0xef, 0x06, 0x2e, 0x4a, 0x1d, 0xe9, 0x93, 0x36, 0x9a, 0x2e, 0xa9, 0xe4, 0x3f, 0x88, 0x3c, 0xc6, 0x98, 0x8d, + 0x17, 0xc4, 0xfb, 0x59, 0xe4, 0xd7, 0x05, 0x60, 0x17, 0x01, 0x18, 0x72, 0x3a, 0x77, 0x24, 0xf1, 0x97, 0xc9, 0xf7, + 0x7f, 0x4c, 0x97, 0xf6, 0xbe, 0x2c, 0x6e, 0x4b, 0x51, 0x55, 0x47, 0xa5, 0x6d, 0x6d, 0xb9, 0x1e, 0x98, 0x44, 0xfb, + 0x7d, 0xc9, 0x24, 0x9a, 0x62, 0x28, 0x0a, 0xdc, 0x1a, 0x7b, 0xd3, 0x94, 0x2b, 0xc6, 0xea, 0x91, 0xb1, 0x7e, 0x3e, + 0xdf, 0xbd, 0x8a, 0xbd, 0xd4, 0x0f, 0x52, 0x10, 0x84, 0x35, 0x94, 0x52, 0x8a, 0x7c, 0x70, 0x3e, 0xc3, 0x54, 0xa2, + 0xd6, 0xa5, 0x54, 0xf9, 0xc3, 0x48, 0xf3, 0x61, 0x0a, 0x7a, 0xd9, 0x7f, 0x57, 0x30, 0xff, 0x75, 0x7b, 0xb0, 0x3e, + 0xad, 0xcb, 0x34, 0xaa, 0x88, 0x2a, 0x2f, 0x4c, 0xb5, 0x09, 0x44, 0xf0, 0xa7, 0xc2, 0xe2, 0xfb, 0xf5, 0xc9, 0x91, + 0xa0, 0x31, 0x93, 0xe5, 0xed, 0x91, 0xfb, 0x85, 0x7d, 0xe5, 0x3a, 0x9e, 0xff, 0xb9, 0x99, 0xff, 0x03, 0x74, 0x86, + 0x2c, 0x9e, 0x72, 0xcb, 0x60, 0x81, 0xb3, 0x5f, 0xba, 0x7a, 0xc0, 0xdf, 0xcc, 0x13, 0x4f, 0x81, 0x8e, 0xf9, 0x29, + 0xba, 0x2a, 0xa6, 0xb3, 0x62, 0x00, 0x5c, 0xb6, 0x7e, 0x63, 0xcd, 0x89, 0xaf, 0x16, 0xe5, 0x95, 0x5c, 0x10, 0xfa, + 0xba, 0x0a, 0xb3, 0x71, 0x55, 0x6c, 0x2a, 0x51, 0x6c, 0xea, 0x1e, 0xa9, 0x65, 0xf3, 0x69, 0x6d, 0x2b, 0x64, 0xff, + 0x2e, 0x5a, 0x0c, 0x5e, 0x86, 0x75, 0x32, 0xca, 0xd2, 0xf5, 0x14, 0xf8, 0xf5, 0x02, 0x38, 0x8b, 0xcc, 0x2b, 0x9f, + 0x9d, 0x3d, 0x60, 0x8b, 0xc6, 0x53, 0x20, 0x47, 0xa5, 0x3f, 0xf2, 0xc6, 0xe8, 0xf4, 0x44, 0xbf, 0x9f, 0x4f, 0x29, + 0xe6, 0xeb, 0xef, 0x00, 0xcf, 0x55, 0xcb, 0x05, 0xe8, 0xcb, 0x50, 0x07, 0x95, 0x28, 0xb5, 0x62, 0x18, 0xb1, 0xf0, + 0x77, 0x81, 0x44, 0xce, 0x14, 0xd8, 0xac, 0xa2, 0x24, 0x54, 0xa2, 0x52, 0xb2, 0x35, 0x41, 0x2d, 0xbd, 0x2f, 0xca, + 0x7a, 0x5f, 0x81, 0xa3, 0x64, 0xa4, 0xcd, 0x72, 0xd2, 0x8c, 0x2b, 0x50, 0xe6, 0xa2, 0x1f, 0xec, 0xef, 0x95, 0xe7, + 0x37, 0x32, 0x9f, 0xe5, 0xbe, 0xa3, 0x73, 0xda, 0x8e, 0x0b, 0x94, 0xb9, 0xe5, 0xb4, 0xd5, 0x92, 0xc7, 0xe4, 0x3d, + 0x0b, 0xb6, 0xfd, 0x57, 0x09, 0x52, 0x2c, 0xc2, 0x7c, 0x42, 0x95, 0xcd, 0xbf, 0x21, 0xd4, 0x16, 0x07, 0xf6, 0xd8, + 0x85, 0x89, 0xf8, 0x6f, 0xc1, 0x92, 0x18, 0x66, 0xa5, 0x08, 0xe3, 0x1d, 0x78, 0xff, 0x6c, 0x2a, 0x31, 0x3a, 0x43, + 0x27, 0xf7, 0xb3, 0xfb, 0xb4, 0x4e, 0xce, 0x5e, 0xbd, 0x38, 0xfb, 0xb1, 0x37, 0x28, 0x46, 0x69, 0x3c, 0xe8, 0xfd, + 0x78, 0xb6, 0xda, 0x00, 0x5a, 0xa6, 0x38, 0x8b, 0xc9, 0x94, 0x26, 0xe2, 0x33, 0x32, 0x0c, 0x9e, 0xd5, 0x89, 0x38, + 0xa3, 0x89, 0xe9, 0xbe, 0x46, 0x69, 0xf2, 0xed, 0x28, 0xcc, 0xe1, 0xe5, 0x52, 0x6c, 0x2a, 0x11, 0x83, 0x9d, 0x52, + 0xcd, 0xb3, 0xbc, 0x7d, 0x16, 0xe7, 0xa3, 0x0e, 0x59, 0xa5, 0x03, 0x7f, 0x7b, 0x22, 0xed, 0xaa, 0x74, 0x05, 0x84, + 0x1e, 0x00, 0x27, 0x5d, 0xf9, 0xf3, 0x70, 0xc8, 0x13, 0x08, 0xb5, 0x60, 0x4e, 0xa6, 0x11, 0xdd, 0x90, 0xae, 0xb1, + 0xcf, 0xc0, 0x2c, 0xa4, 0x34, 0x0f, 0x6e, 0xae, 0x16, 0x43, 0x77, 0xc5, 0xca, 0x51, 0x58, 0xad, 0x45, 0x54, 0x23, + 0xeb, 0x31, 0x38, 0xef, 0x40, 0x04, 0x80, 0x22, 0x07, 0xcf, 0x78, 0xd4, 0xef, 0x47, 0x2a, 0x28, 0x27, 0xa1, 0x5f, + 0x14, 0xfa, 0xa5, 0xe1, 0x28, 0x63, 0xfe, 0x3c, 0xd4, 0x1c, 0x01, 0xf5, 0x96, 0x87, 0x8a, 0x2e, 0x00, 0x97, 0x73, + 0xc4, 0x8c, 0xf3, 0x1e, 0x77, 0x81, 0x39, 0x15, 0x05, 0x85, 0xba, 0x0e, 0x96, 0x0a, 0x80, 0xde, 0xd4, 0x47, 0x7a, + 0x4e, 0xfe, 0x1f, 0xde, 0xde, 0x85, 0xbb, 0x6d, 0x1b, 0x6b, 0x17, 0xfe, 0x2b, 0x16, 0x4f, 0xaa, 0x12, 0x11, 0x24, + 0x4b, 0x4e, 0xd2, 0x99, 0x52, 0x86, 0x75, 0xdc, 0x5c, 0x9a, 0xcc, 0x34, 0x97, 0x26, 0x69, 0x3b, 0x53, 0x1d, 0xbd, + 0x2e, 0x4d, 0xc2, 0x16, 0x1b, 0x1a, 0x50, 0x49, 0xca, 0xb6, 0x22, 0xf1, 0xbf, 0x7f, 0x6b, 0x6f, 0x5c, 0x49, 0xd1, + 0x4e, 0xe6, 0x3d, 0xef, 0xf9, 0x56, 0xd6, 0x8a, 0x45, 0x10, 0xc4, 0x1d, 0x1b, 0x1b, 0xfb, 0xf2, 0x6c, 0x97, 0x60, + 0xf1, 0xdc, 0xc0, 0xe2, 0xd5, 0xc5, 0xa2, 0xba, 0xe2, 0x5a, 0x6e, 0x61, 0x53, 0xca, 0x2a, 0x86, 0x00, 0x02, 0xcd, + 0x98, 0x61, 0xb7, 0xdc, 0xe5, 0x48, 0xd6, 0x45, 0xc1, 0xc5, 0x5e, 0x60, 0xe8, 0x66, 0x5c, 0x32, 0x73, 0x70, 0x35, + 0xc3, 0x3a, 0xa9, 0x28, 0xc0, 0xae, 0x2e, 0x40, 0xf6, 0xc2, 0x50, 0xd7, 0xcd, 0x6c, 0xb9, 0x0e, 0x7c, 0x5d, 0xba, + 0xf0, 0x25, 0x05, 0x2f, 0x57, 0x52, 0x94, 0xd9, 0x35, 0xff, 0xc9, 0xbe, 0x6c, 0xc6, 0x92, 0x42, 0x3b, 0xd2, 0xd7, + 0xed, 0xee, 0x68, 0x31, 0x8e, 0x2d, 0xc7, 0xb7, 0x54, 0xba, 0xd6, 0xa3, 0xea, 0x85, 0xd0, 0xd6, 0xb9, 0x96, 0x59, + 0x9a, 0x72, 0xf1, 0x4a, 0xa4, 0x59, 0xe2, 0x25, 0xc7, 0x3a, 0x56, 0xb5, 0x0b, 0x82, 0xe5, 0xc2, 0x24, 0x3f, 0xcb, + 0x4a, 0x8c, 0x1d, 0xdc, 0x68, 0x54, 0x2b, 0xea, 0x94, 0x89, 0x81, 0x21, 0xdf, 0x63, 0xf0, 0x6d, 0x56, 0x24, 0xc0, + 0xf0, 0x63, 0xa2, 0xbe, 0xa4, 0xa7, 0x10, 0xf0, 0x41, 0x85, 0xe6, 0x7e, 0xc6, 0x11, 0xfc, 0xda, 0xaa, 0xcc, 0x81, + 0xc9, 0xd6, 0x2a, 0x48, 0xc4, 0xbd, 0xcb, 0xe6, 0x7a, 0x11, 0x2d, 0xd4, 0x5d, 0xa8, 0x17, 0xef, 0x76, 0xbd, 0x44, + 0xd1, 0x01, 0x27, 0x3f, 0x0d, 0x5e, 0xc4, 0x59, 0xce, 0xd3, 0x83, 0x4a, 0x1e, 0xa8, 0x0d, 0x75, 0xa0, 0x9c, 0x39, + 0x60, 0xe7, 0x7d, 0x5b, 0x1d, 0xe8, 0x35, 0x7d, 0xa0, 0xdb, 0x79, 0x00, 0x17, 0x0c, 0xdc, 0xb9, 0x97, 0xd9, 0x35, + 0x17, 0x07, 0xa0, 0x0c, 0xb4, 0xc6, 0x03, 0x75, 0x59, 0x8d, 0xd4, 0xc4, 0xe8, 0x18, 0xd6, 0x89, 0x3e, 0x98, 0x03, + 0xfa, 0x33, 0x84, 0xb5, 0x6f, 0xbd, 0x5d, 0xe9, 0x83, 0x36, 0xa0, 0x2f, 0x96, 0xa6, 0x0f, 0x3a, 0x70, 0xbc, 0x8a, + 0x0e, 0xdc, 0x18, 0x52, 0x0d, 0xda, 0x6a, 0x64, 0x15, 0x28, 0xde, 0xf0, 0x16, 0xef, 0xde, 0xb5, 0x64, 0xeb, 0xbd, + 0x44, 0x8c, 0xaf, 0x4c, 0x54, 0x71, 0x26, 0x4e, 0xbd, 0x54, 0x5e, 0x6b, 0x27, 0x19, 0x61, 0x7c, 0xcb, 0x4a, 0xea, + 0xef, 0x10, 0x73, 0x8b, 0x34, 0x87, 0xc1, 0xab, 0xb0, 0x22, 0x33, 0xde, 0xef, 0xcb, 0x99, 0x8c, 0xca, 0x99, 0x38, + 0x2c, 0x23, 0x05, 0xd6, 0x76, 0x97, 0x08, 0xe8, 0x5e, 0x09, 0x90, 0x2f, 0x00, 0xaa, 0xee, 0x13, 0xfe, 0xdc, 0x27, + 0xf5, 0xe9, 0x14, 0xfa, 0x14, 0xda, 0x7a, 0xc5, 0x15, 0xc4, 0xab, 0xba, 0x31, 0xb2, 0x8d, 0x0a, 0x5a, 0x3c, 0x96, + 0x67, 0xb5, 0x61, 0x6c, 0x4e, 0xad, 0x7f, 0xbd, 0xd9, 0x60, 0xca, 0xe6, 0x42, 0xad, 0xc2, 0x90, 0x44, 0x9f, 0x4a, + 0x2f, 0x92, 0x88, 0x85, 0xcd, 0x6a, 0x6d, 0x7e, 0x13, 0x06, 0x24, 0x13, 0x29, 0xee, 0x67, 0x4b, 0x9c, 0xbb, 0x78, + 0x3c, 0xaf, 0xfa, 0x5a, 0x4b, 0x8b, 0x4c, 0x9b, 0x6f, 0xf5, 0x65, 0x48, 0x53, 0x51, 0x43, 0x1a, 0x75, 0x66, 0xd0, + 0x7d, 0xbb, 0xbc, 0x65, 0x35, 0xc2, 0x04, 0x78, 0xa5, 0x33, 0xe8, 0x46, 0xe3, 0x81, 0x58, 0x56, 0xa3, 0x62, 0x2d, + 0x04, 0x02, 0x0f, 0x43, 0x8e, 0x99, 0x25, 0x24, 0xd9, 0x67, 0xfe, 0x83, 0x8a, 0xb3, 0x50, 0xc4, 0x37, 0x06, 0xd9, + 0xbb, 0xb2, 0xae, 0xdd, 0x75, 0xe4, 0xe7, 0xc4, 0xc2, 0x6a, 0xff, 0xa1, 0x79, 0xd4, 0x1a, 0x67, 0x01, 0x6d, 0x4d, + 0xab, 0x1b, 0x0e, 0xf7, 0xa8, 0x8e, 0x45, 0x69, 0xb0, 0x89, 0x3d, 0xb2, 0x5c, 0xb4, 0x8e, 0x19, 0x34, 0xa0, 0xbf, + 0xcd, 0xae, 0xd6, 0x57, 0x08, 0xe0, 0x56, 0x22, 0xeb, 0x24, 0x95, 0x7f, 0x49, 0x7b, 0xd4, 0xb5, 0x3d, 0x95, 0xff, + 0x6d, 0x9b, 0x2a, 0x87, 0x16, 0x53, 0x1e, 0xbb, 0x39, 0x0b, 0x54, 0x47, 0x82, 0x28, 0x50, 0x5b, 0x2f, 0x98, 0x7a, + 0xa7, 0x4c, 0xd1, 0x01, 0x02, 0x5d, 0x98, 0x33, 0xec, 0x2b, 0x8e, 0x18, 0xb3, 0x54, 0x62, 0x30, 0xf5, 0x31, 0x46, + 0x35, 0xad, 0x15, 0xa0, 0xeb, 0xa7, 0x5b, 0xf8, 0x13, 0x15, 0x35, 0x1a, 0x6a, 0x8d, 0xa4, 0x50, 0x34, 0x51, 0xa1, + 0xc8, 0xd2, 0x42, 0xc7, 0x55, 0xe8, 0x24, 0x12, 0x96, 0x80, 0x86, 0x09, 0xd1, 0x49, 0x05, 0xde, 0x1a, 0xc0, 0x99, + 0x8f, 0x8b, 0x72, 0x5d, 0x68, 0x83, 0xb9, 0x97, 0xf1, 0x35, 0x7f, 0xf5, 0xcc, 0x19, 0xd5, 0xb7, 0xac, 0xf5, 0x3d, + 0x2d, 0xc8, 0xcb, 0x90, 0x53, 0x74, 0x60, 0x62, 0x27, 0x5b, 0x34, 0xc6, 0x28, 0x6b, 0x1d, 0xf5, 0xe2, 0xad, 0x0e, + 0xc5, 0xa2, 0x4d, 0xf0, 0xee, 0xf1, 0x14, 0xd1, 0x86, 0x87, 0xc2, 0x58, 0x55, 0xe3, 0x53, 0xc9, 0x5a, 0x7a, 0xb0, + 0x82, 0xa7, 0xeb, 0x84, 0x87, 0xa0, 0x47, 0x22, 0xec, 0x24, 0x2c, 0xe6, 0xf1, 0x02, 0x8e, 0x93, 0x82, 0x80, 0xda, + 0x41, 0x5f, 0xc1, 0xe7, 0x0b, 0x74, 0x7f, 0x95, 0xe8, 0x01, 0x86, 0x16, 0xc4, 0xcd, 0x28, 0xa8, 0xa3, 0xab, 0x78, + 0xd5, 0x50, 0x91, 0xf0, 0x79, 0x01, 0xb6, 0x43, 0x4a, 0x3d, 0x05, 0x5a, 0xa8, 0x44, 0xe9, 0x87, 0x81, 0xef, 0xd0, + 0x18, 0xd8, 0x5a, 0x07, 0x68, 0xe8, 0x67, 0x4c, 0x53, 0xeb, 0x0c, 0x95, 0xcf, 0xbc, 0x7b, 0x66, 0xb4, 0x9c, 0x59, + 0x34, 0x06, 0x7d, 0x1b, 0x4d, 0x51, 0x9c, 0x93, 0xcf, 0x82, 0x22, 0x4e, 0xb3, 0x38, 0x07, 0xbf, 0xcd, 0xb8, 0xc0, + 0x8c, 0x49, 0x5c, 0xf1, 0x4b, 0x59, 0x80, 0xb6, 0x3b, 0x57, 0xa9, 0x75, 0x0d, 0x02, 0xb2, 0x97, 0x60, 0xf5, 0xd2, + 0xd0, 0x51, 0x39, 0xef, 0x2e, 0x6d, 0x0a, 0x91, 0x88, 0x10, 0x6c, 0x9a, 0xe9, 0x92, 0x9d, 0x86, 0x4a, 0x9b, 0x03, + 0xa1, 0x8e, 0xd0, 0xb8, 0x7f, 0x1a, 0xc6, 0x56, 0x53, 0x6c, 0xed, 0xde, 0x76, 0xbb, 0x7f, 0x96, 0x5e, 0x3a, 0xcd, + 0x49, 0x8f, 0xb1, 0x7f, 0x96, 0x61, 0x31, 0xb2, 0x1d, 0x21, 0xb0, 0xe4, 0xbc, 0x4f, 0xfd, 0x57, 0xb4, 0x9c, 0x27, + 0x60, 0x3a, 0xa2, 0x83, 0xe5, 0x02, 0x65, 0xc7, 0x80, 0xee, 0xc0, 0xe0, 0x8a, 0x7e, 0x1f, 0xac, 0x32, 0xcc, 0x85, + 0x64, 0x49, 0x52, 0x06, 0xcf, 0x53, 0x0f, 0x0e, 0x7e, 0xcd, 0x94, 0xb9, 0x8b, 0xb2, 0x3e, 0x5d, 0x92, 0x69, 0x8a, + 0x0c, 0xc4, 0x3a, 0xdc, 0x66, 0x69, 0x94, 0x28, 0x11, 0xd9, 0x12, 0xfd, 0x23, 0x0d, 0xc5, 0xd2, 0x91, 0x7b, 0x91, + 0x2a, 0x11, 0x2a, 0xe6, 0x29, 0x9e, 0xd4, 0x69, 0x9d, 0x8e, 0x30, 0xf4, 0x24, 0x28, 0xe5, 0x6a, 0x18, 0xa8, 0x92, + 0xea, 0xa5, 0xb0, 0x2d, 0x76, 0x3b, 0x7d, 0xb1, 0x12, 0xf3, 0x78, 0x81, 0x2f, 0x05, 0x8e, 0xe2, 0x3f, 0xb9, 0x17, + 0x76, 0x4a, 0x6d, 0x0f, 0x6a, 0x47, 0x94, 0xd0, 0x7f, 0x72, 0xb8, 0x48, 0xfc, 0x20, 0x75, 0x08, 0x40, 0xb4, 0x08, + 0x39, 0x53, 0x07, 0xa9, 0xe1, 0x86, 0xf6, 0x84, 0xff, 0x86, 0xeb, 0x33, 0xce, 0xe8, 0x4d, 0x35, 0xa3, 0x86, 0xf2, + 0xf5, 0xa0, 0x8d, 0x51, 0x9f, 0x0d, 0x1c, 0x56, 0x88, 0x42, 0x1b, 0x76, 0x52, 0x2a, 0xd1, 0xc2, 0x50, 0xaa, 0xbf, + 0x84, 0x8a, 0x13, 0xee, 0xcc, 0x28, 0x4b, 0xc6, 0xa7, 0xe5, 0xb1, 0x98, 0x0e, 0x06, 0x25, 0xa9, 0x8c, 0x85, 0x1e, + 0x5c, 0x0f, 0x3c, 0xff, 0x1e, 0xb8, 0x85, 0x78, 0xc8, 0xc8, 0x62, 0xc8, 0x0d, 0x4e, 0x7e, 0x8b, 0x93, 0xab, 0x46, + 0xa5, 0x8a, 0x63, 0x4d, 0x54, 0x0b, 0x7e, 0x2c, 0xc3, 0x00, 0x7d, 0x92, 0x02, 0x30, 0x19, 0x4c, 0xf9, 0x2d, 0x48, + 0x94, 0xce, 0xd4, 0x0d, 0xe9, 0x17, 0x51, 0xf0, 0x0b, 0x5e, 0x70, 0x91, 0xb8, 0x02, 0x2c, 0xef, 0x60, 0x7b, 0x1d, + 0x55, 0x54, 0x61, 0xf2, 0x9a, 0x1e, 0x47, 0xdc, 0x78, 0xff, 0x99, 0x1e, 0x5b, 0xcc, 0x56, 0xeb, 0xd8, 0xe0, 0x33, + 0xc7, 0xe0, 0x82, 0xae, 0x25, 0xb6, 0x86, 0x6a, 0x58, 0x11, 0x18, 0xb8, 0x80, 0x83, 0xb0, 0x44, 0x71, 0x6c, 0x25, + 0xaf, 0x48, 0x43, 0x4a, 0x7b, 0xcf, 0x70, 0xb4, 0x49, 0x8e, 0x6f, 0xb3, 0xec, 0x26, 0x70, 0xbe, 0xe8, 0x9c, 0x34, + 0x13, 0xd6, 0x06, 0xef, 0xf3, 0xe6, 0xfc, 0xba, 0x7b, 0x48, 0xa8, 0x8a, 0x7b, 0xc3, 0xdb, 0x71, 0x6f, 0x9c, 0xf0, + 0x6b, 0x2e, 0x16, 0x3a, 0x54, 0x8b, 0xb9, 0x64, 0xf9, 0xad, 0xf5, 0x6e, 0x49, 0x52, 0x2b, 0xa0, 0x7d, 0x96, 0x05, + 0x35, 0x11, 0x00, 0xf2, 0x87, 0xbf, 0x40, 0xe8, 0x0c, 0x7f, 0x7b, 0x0c, 0xae, 0x48, 0xe1, 0x9d, 0x43, 0x20, 0xac, + 0xe9, 0xe6, 0x5e, 0x6d, 0xc0, 0x17, 0xe3, 0xfe, 0x8c, 0xa9, 0xa7, 0xdf, 0x66, 0x72, 0x5f, 0xd7, 0xed, 0x91, 0x65, + 0xf8, 0x08, 0x57, 0x0a, 0xe0, 0x66, 0xc2, 0x5f, 0x0c, 0x33, 0xa9, 0x3e, 0x01, 0x4c, 0x35, 0x1d, 0xdc, 0x27, 0x08, + 0x0c, 0xa0, 0x12, 0x2d, 0x46, 0xd7, 0xca, 0x11, 0xcd, 0xc0, 0xad, 0xe9, 0x56, 0x18, 0x6f, 0x3d, 0x68, 0xa1, 0x67, + 0x1a, 0x4e, 0xfc, 0x07, 0xcd, 0xbc, 0x2a, 0x20, 0x80, 0x56, 0x46, 0xf0, 0xd6, 0xfa, 0x64, 0x8e, 0x10, 0x9f, 0xb0, + 0x24, 0x9a, 0xb0, 0x78, 0xa6, 0xf8, 0x31, 0xa1, 0xdb, 0xa6, 0xb6, 0xe9, 0x23, 0xd2, 0x5f, 0x5c, 0xb3, 0x7e, 0xca, + 0xb2, 0xf6, 0xed, 0xa1, 0xe2, 0xc5, 0xb4, 0x19, 0x07, 0x31, 0x51, 0xc5, 0xf8, 0x5f, 0x70, 0x5f, 0x6a, 0x05, 0x88, + 0xcc, 0x5d, 0xf5, 0xf4, 0xfb, 0xcd, 0x6c, 0x39, 0x10, 0x2a, 0xbf, 0x33, 0x48, 0xfa, 0x74, 0x68, 0x3f, 0xb0, 0x49, + 0xd4, 0x16, 0x7a, 0xfe, 0xb8, 0xd4, 0x4d, 0xbc, 0xbc, 0x36, 0x35, 0xa2, 0x15, 0x32, 0x54, 0xb6, 0x0e, 0x58, 0xdf, + 0x2f, 0xc3, 0xfd, 0x45, 0x4d, 0x43, 0xad, 0x7b, 0xee, 0x5a, 0x14, 0x9c, 0xf8, 0x03, 0x8c, 0xc5, 0x85, 0xa4, 0xd6, + 0xf1, 0x98, 0xf4, 0xa3, 0x85, 0x4c, 0x6e, 0xd4, 0xd5, 0xc9, 0x99, 0x62, 0x9e, 0xc0, 0x05, 0xb8, 0x6c, 0xfb, 0x2b, + 0x2a, 0x75, 0x29, 0xb7, 0x57, 0x94, 0xa6, 0x87, 0xb4, 0xbd, 0x8a, 0xf3, 0xb6, 0xe0, 0x82, 0x7f, 0xa5, 0xe0, 0xc2, + 0x3a, 0x58, 0x77, 0xdc, 0x29, 0x7b, 0xc2, 0x13, 0x65, 0x5a, 0x1b, 0xdc, 0x75, 0x83, 0x31, 0x31, 0xf6, 0xbb, 0x4b, + 0x9e, 0x7c, 0x42, 0x16, 0xfc, 0x87, 0x4c, 0x80, 0x67, 0xb2, 0x7b, 0xa5, 0xf2, 0xbf, 0xf4, 0xaf, 0xb6, 0xf6, 0x9d, + 0x35, 0xff, 0xf4, 0xac, 0x87, 0x3b, 0x87, 0xc9, 0x8f, 0xd5, 0x19, 0xd0, 0xed, 0x95, 0x4c, 0x39, 0x20, 0x03, 0x58, + 0x8b, 0x64, 0x34, 0xe0, 0x43, 0x2b, 0xcb, 0xb6, 0xef, 0xb4, 0xba, 0x20, 0xdc, 0x49, 0xe0, 0xa6, 0x77, 0xd7, 0x66, + 0x66, 0x4e, 0xd7, 0x4a, 0x34, 0x5d, 0x1a, 0x5b, 0xcb, 0x52, 0x85, 0xf1, 0x7e, 0xe7, 0x49, 0x36, 0xcd, 0x8f, 0x97, + 0xd3, 0xdc, 0x52, 0xb7, 0xad, 0x5b, 0x36, 0x80, 0x86, 0xd8, 0xb5, 0xb6, 0x72, 0xc0, 0xcb, 0xed, 0x41, 0x34, 0x5f, + 0x2b, 0x42, 0x4f, 0x95, 0x08, 0x7d, 0x9a, 0x36, 0xfb, 0x60, 0x57, 0xd5, 0xba, 0x11, 0xf2, 0x68, 0x90, 0x6a, 0x46, + 0xfe, 0xed, 0x35, 0x2f, 0x2e, 0x72, 0x79, 0x03, 0x70, 0xc8, 0xa4, 0x36, 0x0a, 0xcb, 0x2b, 0x70, 0xe7, 0x47, 0xc7, + 0x71, 0x26, 0x46, 0x39, 0xc6, 0x6d, 0x45, 0xa4, 0x64, 0x9d, 0x38, 0x03, 0x3c, 0x64, 0x7f, 0xd2, 0x74, 0x68, 0xd7, + 0x02, 0xc3, 0xfb, 0x02, 0x77, 0x95, 0xb3, 0x93, 0x6d, 0x6e, 0x17, 0x7d, 0x73, 0x86, 0x75, 0x47, 0x4a, 0x6b, 0x63, + 0xd1, 0x75, 0x07, 0x6b, 0xcd, 0xa0, 0x2d, 0x42, 0xc9, 0x87, 0xdc, 0x49, 0xfb, 0x39, 0xa0, 0xc1, 0x59, 0x96, 0xde, + 0x5a, 0xab, 0xfc, 0xad, 0x16, 0xe2, 0x44, 0x31, 0x75, 0xe2, 0x9b, 0x28, 0xd1, 0xe7, 0x67, 0x62, 0xdc, 0x40, 0x20, + 0xf5, 0x25, 0xc6, 0xd7, 0x28, 0xc2, 0x04, 0xae, 0x03, 0x51, 0x6c, 0x4f, 0xd4, 0xc6, 0x72, 0x04, 0x9d, 0x10, 0xe2, + 0x1d, 0x94, 0x61, 0xac, 0x2e, 0x0e, 0xb4, 0xc1, 0xd2, 0xd7, 0xad, 0x75, 0x6e, 0x08, 0x85, 0x71, 0x02, 0x53, 0x0c, + 0x92, 0x3a, 0xeb, 0x2c, 0x13, 0x54, 0xd9, 0x31, 0xe9, 0xbc, 0x0f, 0xd0, 0xfd, 0xb5, 0x68, 0x8a, 0xaf, 0x3b, 0x77, + 0xd0, 0x5d, 0x5c, 0xbf, 0xd6, 0x22, 0x37, 0xf8, 0xf3, 0x96, 0x08, 0x8b, 0xc0, 0x59, 0x6b, 0xf2, 0x55, 0x23, 0x1c, + 0x98, 0x92, 0x4c, 0xc3, 0x5e, 0xae, 0x6c, 0xba, 0x77, 0xbb, 0x5e, 0xef, 0x4e, 0x11, 0x57, 0x8f, 0xb1, 0xca, 0xbb, + 0x99, 0xdb, 0x3b, 0xd5, 0x5a, 0xec, 0xdf, 0xb4, 0xfd, 0x14, 0x3b, 0x6a, 0xad, 0xdd, 0x6e, 0x38, 0xa1, 0x86, 0x7c, + 0x2b, 0xaa, 0xb4, 0x3a, 0xdd, 0x18, 0xb4, 0x43, 0x68, 0x6b, 0x91, 0xc1, 0x8d, 0xf2, 0x99, 0x13, 0x3a, 0xa9, 0x90, + 0xab, 0x4e, 0x5d, 0xb0, 0xbd, 0xe2, 0xd5, 0x52, 0xa6, 0x91, 0xa0, 0x68, 0x73, 0x1e, 0x95, 0x34, 0x91, 0x6b, 0x51, + 0x45, 0xb2, 0x46, 0xbd, 0xa8, 0xd5, 0x18, 0x20, 0x20, 0xd3, 0x59, 0xd3, 0x83, 0x2a, 0x98, 0x0d, 0x65, 0x24, 0xa7, + 0x6f, 0xc0, 0xd2, 0x1e, 0x39, 0xd6, 0xfa, 0xae, 0x3a, 0x5b, 0x7c, 0xab, 0x27, 0x04, 0x53, 0x98, 0x3d, 0x10, 0x11, + 0xae, 0x69, 0x0c, 0x39, 0xed, 0x12, 0x97, 0x35, 0xdd, 0x12, 0xee, 0xe0, 0x76, 0x25, 0x3b, 0x71, 0xf3, 0xa4, 0xb9, + 0xb9, 0x82, 0x9d, 0x14, 0xf3, 0x31, 0x68, 0xbf, 0xa4, 0xba, 0x76, 0x69, 0x6e, 0x3d, 0x1e, 0x04, 0x34, 0x18, 0x14, + 0x86, 0x7f, 0x9d, 0x18, 0x0f, 0x4f, 0x1a, 0x10, 0x24, 0xe5, 0x22, 0x1c, 0xfb, 0x46, 0xf4, 0x93, 0xa9, 0x3c, 0xe6, + 0x68, 0xf1, 0x0e, 0xad, 0xce, 0x21, 0xa0, 0x97, 0x08, 0x25, 0x31, 0xaa, 0x42, 0x23, 0x82, 0xf2, 0xb4, 0xfc, 0xa5, + 0xaa, 0x0e, 0x01, 0x85, 0xb4, 0xaf, 0x28, 0x94, 0x6d, 0x12, 0x43, 0x33, 0xfc, 0x72, 0x3e, 0x59, 0xe8, 0x19, 0x18, + 0xc8, 0xf9, 0xd1, 0x42, 0xcf, 0xc2, 0x40, 0xce, 0x1f, 0x2d, 0x6a, 0xb7, 0x0e, 0x34, 0x01, 0xf1, 0x5c, 0x38, 0x3a, + 0x29, 0xad, 0xca, 0x16, 0xd0, 0xed, 0x7d, 0x04, 0xfd, 0x9f, 0xf6, 0x10, 0x74, 0x72, 0xa1, 0x3d, 0xb9, 0x01, 0x6d, + 0x87, 0x24, 0xb0, 0x57, 0x4c, 0x2a, 0x4c, 0x2c, 0xa2, 0x63, 0x36, 0x06, 0x43, 0x6c, 0xf5, 0xc1, 0x31, 0x1b, 0x4f, + 0x7d, 0x12, 0x04, 0x8c, 0xee, 0x4b, 0x03, 0x0e, 0x7e, 0x8b, 0x57, 0xe9, 0x93, 0xad, 0x40, 0x37, 0x7d, 0x77, 0x37, + 0xf4, 0x2e, 0xae, 0xe0, 0x54, 0xed, 0xee, 0x49, 0xe8, 0x26, 0xd3, 0x8e, 0xd5, 0x6b, 0x88, 0x1b, 0xf2, 0x2b, 0xa3, + 0xd1, 0xc8, 0xa6, 0x84, 0x84, 0x18, 0xce, 0xa1, 0x99, 0xd3, 0x72, 0xf9, 0xea, 0xd6, 0xb3, 0x05, 0x19, 0x66, 0x7a, + 0xcb, 0x64, 0x7d, 0x0f, 0x65, 0xd5, 0x63, 0x68, 0x87, 0xde, 0x23, 0xc7, 0xf7, 0x0f, 0xbe, 0xc9, 0xf8, 0x85, 0xc3, + 0xb5, 0x87, 0x73, 0xe1, 0xbb, 0xac, 0x19, 0x99, 0x43, 0xe7, 0xd9, 0xc7, 0xf1, 0x1e, 0xc6, 0xc9, 0x97, 0x59, 0x28, + 0x6f, 0xbc, 0xa6, 0xff, 0xad, 0xd2, 0x9b, 0x1d, 0x0e, 0x39, 0x5d, 0xc1, 0x8a, 0x9b, 0x55, 0xa1, 0xe1, 0x67, 0x91, + 0x37, 0x8e, 0x78, 0x4d, 0xa2, 0xaa, 0xfb, 0xbc, 0xb7, 0x11, 0x4b, 0x3b, 0xc6, 0x01, 0xc0, 0x89, 0x5a, 0x35, 0xec, + 0x4b, 0xe3, 0x5a, 0x1d, 0xc4, 0x88, 0x94, 0xb0, 0x55, 0xe2, 0x48, 0x28, 0x7f, 0x03, 0x10, 0x16, 0x43, 0x71, 0xbc, + 0x35, 0xac, 0xf7, 0xb0, 0x1f, 0xba, 0x40, 0xd3, 0x9c, 0x52, 0xcd, 0x00, 0x20, 0x09, 0xf8, 0xa3, 0xa7, 0x9b, 0x86, + 0xca, 0x36, 0xcf, 0x43, 0xcb, 0xea, 0x0a, 0xee, 0xe9, 0xa9, 0x2b, 0x19, 0x18, 0x57, 0x75, 0xec, 0x6d, 0xef, 0x6e, + 0x8f, 0x56, 0x91, 0xef, 0x6d, 0x52, 0xd3, 0x2c, 0x80, 0x14, 0x8d, 0x4b, 0x5f, 0xe8, 0xe9, 0x04, 0x68, 0xbd, 0xb6, + 0x54, 0xb4, 0xdf, 0x47, 0x31, 0x6a, 0x5c, 0x28, 0xb0, 0x0a, 0x13, 0x14, 0x0e, 0x11, 0x46, 0x08, 0xfd, 0xb9, 0x0c, + 0xb7, 0xbe, 0x20, 0x83, 0x68, 0xb8, 0x16, 0x1d, 0x8a, 0xc8, 0xf1, 0xa2, 0x6d, 0xa9, 0xaa, 0x39, 0x69, 0xda, 0x12, + 0x78, 0x13, 0x19, 0xb0, 0x9d, 0x7f, 0xda, 0x10, 0xb9, 0x0a, 0x17, 0x30, 0x7c, 0x4f, 0x5c, 0x0b, 0xa2, 0x9b, 0xda, + 0xd4, 0xdb, 0xb0, 0x43, 0x74, 0x34, 0xc5, 0xa3, 0x43, 0xee, 0xb9, 0x7b, 0x6e, 0x8b, 0xf8, 0xe6, 0x0b, 0xe4, 0xae, + 0xe9, 0xec, 0xa5, 0x08, 0x83, 0xba, 0x65, 0x03, 0xc5, 0x3a, 0x76, 0x82, 0x02, 0x0c, 0xe0, 0xf2, 0x19, 0xe8, 0xd8, + 0x60, 0x50, 0x11, 0x7c, 0x52, 0xd8, 0x36, 0x0d, 0xf2, 0x47, 0xbc, 0x1b, 0x3a, 0xbc, 0xb6, 0xe4, 0x81, 0x78, 0x85, + 0x7d, 0xa1, 0x84, 0xbb, 0x17, 0x14, 0x74, 0x47, 0x79, 0xb9, 0x2a, 0x5c, 0x95, 0x06, 0xa0, 0xca, 0x9e, 0xe7, 0x5a, + 0x53, 0xd2, 0x02, 0x56, 0x4a, 0xea, 0xce, 0x6f, 0x82, 0xe3, 0x96, 0x4c, 0x85, 0x6f, 0xd5, 0x8d, 0x2a, 0x8f, 0x25, + 0x8a, 0x74, 0xec, 0xd9, 0xce, 0xc1, 0x1a, 0x00, 0x4f, 0x61, 0x7b, 0x71, 0x26, 0xe0, 0x73, 0xa7, 0x5d, 0xb6, 0xcc, + 0x25, 0x50, 0xd4, 0xf7, 0xe3, 0xbc, 0xec, 0xf9, 0x72, 0x77, 0xb4, 0xbd, 0x87, 0xde, 0x88, 0x8d, 0xf1, 0xfa, 0x3a, + 0x6a, 0xfa, 0xd5, 0x33, 0x5c, 0x59, 0x0a, 0x72, 0x4f, 0x53, 0x3d, 0xc2, 0xe8, 0x10, 0x98, 0xa6, 0xfc, 0x84, 0x8d, + 0xa7, 0xc3, 0xa1, 0x21, 0x83, 0x5e, 0x33, 0x31, 0x14, 0xd8, 0x57, 0xd0, 0x3a, 0x33, 0x71, 0x8d, 0x4f, 0xdb, 0x57, + 0xd0, 0xea, 0x16, 0x65, 0x72, 0x67, 0x60, 0xf8, 0x40, 0x4b, 0xa6, 0x60, 0xaa, 0xf0, 0x86, 0x48, 0x25, 0xfb, 0x73, + 0x69, 0x1d, 0xf6, 0xed, 0x42, 0xa1, 0x85, 0x26, 0x7e, 0x95, 0x21, 0x7e, 0xea, 0x3a, 0xf3, 0x1f, 0xd3, 0x3e, 0x35, + 0x88, 0x85, 0x23, 0x31, 0x88, 0xf8, 0xc5, 0xa9, 0xb2, 0x9d, 0x10, 0x2a, 0x36, 0x1e, 0xba, 0xd6, 0x8d, 0x23, 0xa9, + 0xc2, 0x50, 0x0a, 0x8d, 0xa7, 0x86, 0xfb, 0x5e, 0xe8, 0xf0, 0x75, 0x98, 0xc5, 0x6d, 0xd6, 0x48, 0x6a, 0x8c, 0x53, + 0x61, 0xe2, 0x54, 0xca, 0x55, 0x24, 0x30, 0x50, 0x9e, 0x2d, 0x0c, 0x02, 0x4c, 0x62, 0x92, 0xb1, 0xb5, 0x10, 0x26, + 0x8c, 0x9d, 0x2b, 0x4c, 0x53, 0x17, 0xa9, 0xdf, 0x0c, 0x4c, 0x16, 0x34, 0xe4, 0xf7, 0x68, 0xb4, 0xa6, 0x6a, 0x0a, + 0x30, 0x8c, 0xa3, 0x54, 0xe3, 0x3f, 0x22, 0xd4, 0x66, 0x18, 0x00, 0xd8, 0xe6, 0x9d, 0xcc, 0x44, 0xf5, 0x4a, 0x20, + 0x04, 0x9a, 0xb3, 0x9f, 0x8a, 0xab, 0xbd, 0x59, 0x30, 0x8a, 0x76, 0x7b, 0xe5, 0xf3, 0x81, 0x13, 0xca, 0x53, 0x75, + 0x81, 0x7a, 0x21, 0x8b, 0xd7, 0x32, 0xe5, 0xad, 0x10, 0x99, 0x07, 0x92, 0xbd, 0xcf, 0x47, 0x70, 0x5e, 0xa1, 0x53, + 0xb9, 0xd9, 0x26, 0xca, 0x2c, 0x49, 0x32, 0x16, 0x18, 0x9b, 0x97, 0x60, 0x26, 0x35, 0x33, 0x86, 0x5f, 0x43, 0x9c, + 0xb1, 0xbd, 0x93, 0x70, 0x7b, 0x37, 0x0f, 0x0c, 0x51, 0xca, 0x45, 0x4b, 0x34, 0x6c, 0xed, 0x78, 0x3d, 0xb9, 0x26, + 0xdc, 0x87, 0x8d, 0x58, 0x93, 0x31, 0xc6, 0xb5, 0xb9, 0x91, 0xf5, 0xa3, 0x05, 0x1e, 0x8c, 0x29, 0xeb, 0x4f, 0x20, + 0xd3, 0x4a, 0xca, 0x3a, 0x5f, 0x18, 0x31, 0x93, 0x4a, 0xf4, 0x6e, 0xdf, 0xf8, 0xac, 0xee, 0x22, 0xea, 0xb7, 0xf6, + 0x7b, 0x52, 0x0f, 0x1b, 0xff, 0x41, 0x61, 0x0d, 0x2a, 0x23, 0x2e, 0x23, 0xca, 0x33, 0x07, 0xba, 0x69, 0x52, 0xc4, + 0xe9, 0xd9, 0x2a, 0x2e, 0x4a, 0x9e, 0x42, 0xa5, 0x9a, 0xba, 0x45, 0xbd, 0x09, 0xd8, 0x1b, 0x22, 0x49, 0xb2, 0x96, + 0xc6, 0x56, 0xec, 0xd2, 0x20, 0x3d, 0x77, 0x46, 0x5c, 0x7a, 0x51, 0xa1, 0x21, 0x2d, 0xf5, 0xce, 0x42, 0x25, 0xf3, + 0x57, 0xfc, 0x67, 0x50, 0x2b, 0xd0, 0xd1, 0x26, 0xc5, 0x78, 0x0a, 0x8c, 0xf8, 0x7e, 0x30, 0xab, 0x7b, 0x88, 0x8b, + 0x26, 0x28, 0xf5, 0x9e, 0xd8, 0xf1, 0x4b, 0x93, 0x87, 0x77, 0x21, 0xe7, 0x0c, 0x3e, 0xbd, 0x9f, 0x25, 0x6a, 0xad, + 0x23, 0x31, 0x52, 0x33, 0x80, 0xa6, 0x83, 0x32, 0xe7, 0xb1, 0x08, 0x66, 0x3d, 0x93, 0x18, 0xf5, 0xb8, 0xfe, 0x05, + 0x1a, 0x6a, 0xbf, 0x59, 0x59, 0x9e, 0x55, 0x9b, 0xaf, 0xe1, 0xc0, 0xa6, 0xb6, 0x82, 0x1e, 0xaf, 0x2b, 0x79, 0x79, + 0xa9, 0xba, 0xed, 0x17, 0x62, 0xe4, 0x74, 0x8d, 0x6b, 0xe9, 0xbc, 0x5a, 0xb0, 0x5e, 0x77, 0xba, 0x59, 0xdc, 0xcd, + 0x32, 0x1a, 0x08, 0x6b, 0x7b, 0x9f, 0x68, 0xfe, 0xac, 0xd9, 0x76, 0x1f, 0x6f, 0x41, 0xcc, 0x02, 0x80, 0x48, 0x0f, + 0xa2, 0x60, 0x99, 0xa5, 0x3c, 0xa0, 0xf2, 0x2e, 0x8e, 0xb2, 0x50, 0x7a, 0x39, 0xcb, 0xf8, 0x69, 0xd3, 0x58, 0xeb, + 0xac, 0x50, 0x86, 0xd6, 0x46, 0x77, 0xba, 0xca, 0x10, 0xdb, 0x4f, 0xe2, 0x6c, 0x01, 0xee, 0x8f, 0x19, 0x0a, 0x0d, + 0x9d, 0x65, 0xa4, 0x89, 0x86, 0xef, 0xba, 0x63, 0x90, 0x51, 0x9c, 0xac, 0xf3, 0x4a, 0xba, 0xd5, 0x67, 0x6d, 0x24, + 0xcc, 0x3d, 0x44, 0xbf, 0x8a, 0xc1, 0xa3, 0xdc, 0xe7, 0xb5, 0xd1, 0xc9, 0xb4, 0x8c, 0xb4, 0x3b, 0x3f, 0xa9, 0x97, + 0x59, 0xaa, 0x75, 0xd8, 0x3e, 0xc3, 0xde, 0x1a, 0x93, 0xde, 0x84, 0xd4, 0x30, 0x12, 0x5f, 0xce, 0xa8, 0x11, 0x02, + 0xda, 0x72, 0xfc, 0x3d, 0x3e, 0xc3, 0xd0, 0x14, 0x58, 0xaa, 0xb8, 0x85, 0xdd, 0xf0, 0x35, 0x9f, 0xac, 0x5a, 0x00, + 0x82, 0x59, 0xf9, 0x7a, 0x17, 0xaf, 0x84, 0xfa, 0x4c, 0x9b, 0x01, 0x20, 0x0b, 0x4a, 0xb9, 0xe3, 0xa7, 0x54, 0x3a, + 0x58, 0xa2, 0x68, 0x7b, 0x39, 0x7d, 0xa3, 0x63, 0xe3, 0xfb, 0xf4, 0x5c, 0xc0, 0x76, 0x21, 0xbf, 0x75, 0xa7, 0x5e, + 0xa2, 0x22, 0xb5, 0x6d, 0xd6, 0x3d, 0x7c, 0xb9, 0x41, 0x93, 0x30, 0x82, 0x32, 0x65, 0x0a, 0x60, 0x70, 0x53, 0x8d, + 0x82, 0x49, 0xab, 0x91, 0xb0, 0xa5, 0x9e, 0x64, 0xb9, 0xe9, 0x83, 0x53, 0xdd, 0x21, 0xe8, 0xb9, 0x55, 0xce, 0x17, + 0x2d, 0xfb, 0xb5, 0x82, 0xa3, 0x93, 0xab, 0x21, 0x6a, 0xe6, 0xbd, 0xb6, 0x23, 0x43, 0xca, 0x65, 0x18, 0x08, 0xa6, + 0x1c, 0xf3, 0xf4, 0xd8, 0x7a, 0x46, 0x44, 0xf7, 0x9c, 0x7d, 0xa6, 0x5b, 0x75, 0x25, 0x01, 0xd1, 0xf1, 0xbb, 0xc7, + 0xaf, 0xae, 0xe2, 0x4b, 0x83, 0xa2, 0xd4, 0xb0, 0x88, 0x51, 0xa6, 0x7d, 0x95, 0x84, 0xc1, 0xfb, 0xe5, 0xfd, 0x4f, + 0x2a, 0x4b, 0xed, 0xf7, 0x60, 0x6b, 0x45, 0x55, 0xbf, 0x94, 0xbc, 0x68, 0x0a, 0xb0, 0xee, 0xb2, 0x44, 0x81, 0xdc, + 0xef, 0x6d, 0x9a, 0xf9, 0x26, 0x6a, 0xdc, 0x6c, 0x58, 0x6f, 0x5c, 0xb7, 0x4b, 0x6d, 0xc9, 0x8e, 0xac, 0x44, 0xce, + 0x2c, 0x06, 0x33, 0x7e, 0x54, 0x18, 0x94, 0x86, 0x2d, 0xaa, 0x52, 0xf1, 0x7b, 0x23, 0x82, 0x53, 0xc7, 0xaa, 0xc2, + 0x98, 0x06, 0xcc, 0xb6, 0xa2, 0xd6, 0xa0, 0x0e, 0x4a, 0x69, 0x6b, 0x02, 0xb2, 0xfd, 0x8b, 0x15, 0xd4, 0xfc, 0xfe, + 0xb7, 0x31, 0xe4, 0x6b, 0x4a, 0x41, 0x25, 0x01, 0x3b, 0x83, 0x46, 0x4f, 0x95, 0x30, 0x90, 0x82, 0xe0, 0x09, 0x50, + 0xbe, 0x88, 0x1a, 0xab, 0xfd, 0xbe, 0x3a, 0x35, 0x46, 0x5b, 0x40, 0x68, 0x21, 0x3d, 0xba, 0xec, 0xe3, 0xb6, 0xd6, + 0x81, 0xc4, 0x83, 0x13, 0x6c, 0xe7, 0xea, 0x1a, 0x8d, 0x84, 0xe6, 0xf7, 0x8d, 0x06, 0xbc, 0xa6, 0x15, 0x28, 0xd4, + 0x73, 0x1c, 0x0d, 0x9d, 0x1d, 0x52, 0x10, 0xb1, 0x41, 0x0b, 0xfb, 0xee, 0xf8, 0xd0, 0xec, 0xeb, 0x79, 0xb2, 0x20, + 0x35, 0x95, 0xee, 0x73, 0xb7, 0x84, 0xac, 0x55, 0x87, 0xb2, 0xf2, 0x00, 0xc7, 0x0b, 0x25, 0xf3, 0x77, 0x98, 0xd4, + 0x28, 0x8d, 0x09, 0x8d, 0x11, 0x0b, 0x58, 0x12, 0xb4, 0xd7, 0x03, 0xf5, 0xcb, 0x20, 0x54, 0x38, 0xd3, 0x13, 0x89, + 0x4f, 0x29, 0x57, 0x9f, 0x16, 0xa4, 0x9e, 0x16, 0xcc, 0x81, 0x5e, 0xfa, 0x56, 0x7e, 0x65, 0xe3, 0xa3, 0xfd, 0xbd, + 0x6b, 0x2e, 0xac, 0x63, 0x88, 0x8b, 0x2d, 0xfc, 0xe6, 0xd4, 0x14, 0x80, 0x0d, 0x4f, 0x75, 0x59, 0xbe, 0x51, 0x13, + 0x99, 0xc5, 0x21, 0x89, 0x40, 0xb2, 0xdd, 0xdc, 0xdc, 0x46, 0xb0, 0xed, 0x2d, 0xd4, 0x86, 0xfa, 0xcb, 0xdb, 0xee, + 0x77, 0x0c, 0x2f, 0xf7, 0xe4, 0xde, 0x4d, 0x1b, 0xca, 0x97, 0x77, 0xaf, 0x92, 0xff, 0xab, 0x4a, 0xee, 0xb6, 0xca, + 0xac, 0xdb, 0xe2, 0xfd, 0xae, 0xe3, 0x96, 0x63, 0x34, 0x08, 0xac, 0x29, 0x30, 0x90, 0x9e, 0x34, 0xa6, 0x89, 0x8e, + 0xae, 0xcc, 0x98, 0xc1, 0xa3, 0x0b, 0xd0, 0x1c, 0xa6, 0xf3, 0x3c, 0x06, 0xe0, 0x00, 0xff, 0xc8, 0x23, 0xd4, 0x3f, + 0x9d, 0xe7, 0xc1, 0x59, 0x30, 0x28, 0x07, 0x81, 0xfe, 0xc4, 0x35, 0x27, 0x58, 0x80, 0xce, 0x2d, 0x66, 0x10, 0x77, + 0xd2, 0x9a, 0x39, 0xc4, 0xc7, 0xc9, 0x74, 0x30, 0x88, 0xc9, 0x16, 0x40, 0xfa, 0xe2, 0x85, 0x75, 0x0e, 0x2a, 0xf4, + 0x82, 0x6c, 0xd5, 0x5d, 0x34, 0x2b, 0xf6, 0xaa, 0x9d, 0xe6, 0xfd, 0x7e, 0x3e, 0x2f, 0x07, 0x41, 0xa3, 0xc2, 0xc2, + 0x78, 0xff, 0xd1, 0xe6, 0x97, 0x46, 0x27, 0x4d, 0x30, 0x62, 0xed, 0x29, 0xaa, 0x57, 0x3c, 0xcd, 0x68, 0xe3, 0x76, + 0xac, 0x94, 0x2f, 0x20, 0x8a, 0x07, 0x86, 0xac, 0x95, 0x77, 0xef, 0xe0, 0x75, 0xb9, 0xf1, 0xe6, 0x88, 0x02, 0xec, + 0xa6, 0x30, 0x4e, 0x6a, 0x2e, 0xba, 0xa8, 0x89, 0x67, 0xb0, 0xd3, 0xd5, 0x5b, 0x89, 0x56, 0xe3, 0xbd, 0x78, 0xdf, + 0x6c, 0xfc, 0x8d, 0x3c, 0xd0, 0x65, 0x1e, 0x5c, 0x00, 0xe2, 0xec, 0x41, 0x5c, 0x1d, 0x60, 0xa9, 0x07, 0xc1, 0xc0, + 0x22, 0x87, 0xb4, 0xab, 0xd5, 0x43, 0x11, 0xa9, 0xf3, 0x18, 0x0c, 0x98, 0x4c, 0x43, 0x6a, 0x32, 0xed, 0xc5, 0x0a, + 0xd2, 0xc6, 0x5a, 0x0b, 0x68, 0xc3, 0x61, 0xb1, 0x67, 0x37, 0xec, 0x4e, 0xb7, 0x0e, 0x85, 0x12, 0x06, 0xb2, 0xae, + 0x9b, 0x87, 0x5a, 0xc3, 0x13, 0x41, 0x0f, 0xaa, 0xd1, 0x7e, 0x7a, 0x28, 0x4f, 0xda, 0x63, 0x01, 0x2e, 0x7a, 0xf8, + 0xf2, 0xb9, 0xc0, 0x8b, 0xf6, 0x1e, 0xf2, 0x9c, 0xf9, 0x54, 0xf9, 0x20, 0x36, 0xdc, 0x32, 0x7c, 0x68, 0x1f, 0xdf, + 0x0a, 0x64, 0x52, 0x77, 0x34, 0xb5, 0xb5, 0x3b, 0x1a, 0xc7, 0x04, 0xfa, 0x4d, 0x39, 0x4a, 0x99, 0x98, 0x5a, 0x96, + 0xec, 0xa4, 0x97, 0x2b, 0x6f, 0xa8, 0x94, 0x9d, 0x2c, 0xdb, 0x9c, 0x5f, 0xda, 0x48, 0xe8, 0xf7, 0xb5, 0x3b, 0x10, + 0xbe, 0x51, 0xeb, 0x0d, 0x79, 0xd9, 0x10, 0xb1, 0x1c, 0x62, 0x06, 0x8e, 0x17, 0x52, 0xb9, 0x76, 0x17, 0x4d, 0x55, + 0xdd, 0xde, 0x56, 0x2e, 0x68, 0x89, 0xb7, 0x52, 0x60, 0x15, 0xa9, 0xd3, 0xeb, 0xa9, 0xc4, 0xbb, 0x3e, 0x8a, 0xed, + 0x47, 0xc0, 0x36, 0x36, 0x8e, 0xc6, 0xc6, 0x2d, 0x62, 0x8b, 0xaf, 0xa2, 0x8a, 0x16, 0x1c, 0x20, 0xb8, 0xdb, 0x92, + 0x5a, 0x9a, 0x39, 0xc4, 0x7d, 0xc5, 0x03, 0xb4, 0xef, 0xe2, 0x70, 0x26, 0x15, 0x60, 0x5b, 0xd7, 0x3a, 0x67, 0xb5, + 0x1c, 0xb0, 0x99, 0xe8, 0xf9, 0xa7, 0x55, 0x23, 0x11, 0xc3, 0x2a, 0x1b, 0x29, 0x2b, 0xb4, 0x7b, 0xa5, 0x4b, 0xb8, + 0xf8, 0x02, 0xbc, 0x6c, 0xdf, 0xad, 0xec, 0x3e, 0x5b, 0x62, 0xff, 0x30, 0xaf, 0x9a, 0xe0, 0x91, 0xd7, 0x78, 0x7b, + 0x0f, 0x13, 0x5f, 0x2b, 0x85, 0xf0, 0x2a, 0xa5, 0xa1, 0x04, 0x60, 0x90, 0x04, 0x35, 0x5c, 0x69, 0xdb, 0x0c, 0x52, + 0x19, 0xc3, 0xee, 0x57, 0x6f, 0xf5, 0x7f, 0x5a, 0x85, 0x8b, 0x4a, 0x16, 0x63, 0x12, 0xe8, 0x9c, 0x6a, 0xb9, 0x09, + 0x2c, 0x78, 0xb6, 0x4f, 0x8e, 0x40, 0x61, 0x27, 0x80, 0x1b, 0x4a, 0xd8, 0x5f, 0x78, 0x1b, 0xca, 0xd9, 0x67, 0x2b, + 0x79, 0x72, 0xfb, 0x92, 0x0a, 0x9a, 0x90, 0xa9, 0xb0, 0xfb, 0xb7, 0xb5, 0x61, 0x9f, 0x85, 0x72, 0x24, 0x05, 0x2e, + 0x0e, 0x3a, 0x07, 0xb0, 0x3f, 0xc8, 0x65, 0x6c, 0x3e, 0x93, 0x7e, 0x5f, 0xbd, 0x7f, 0x9a, 0x67, 0xc9, 0xa7, 0xbd, + 0xf7, 0x86, 0xa7, 0x59, 0x32, 0xa0, 0x12, 0x31, 0xb5, 0xae, 0x8a, 0xe1, 0x52, 0xbb, 0x18, 0x37, 0x48, 0x46, 0x7c, + 0x27, 0x75, 0x88, 0x11, 0xe3, 0x8b, 0xec, 0x91, 0x94, 0x9c, 0x2e, 0xeb, 0xce, 0x9e, 0x6b, 0xd1, 0x0c, 0x1a, 0xc3, + 0xed, 0x79, 0x2f, 0xe9, 0x15, 0xa0, 0x02, 0x44, 0xf7, 0x2c, 0x70, 0x0d, 0x6f, 0x2e, 0x89, 0xc6, 0x96, 0x9e, 0xb6, + 0x44, 0x03, 0x77, 0xca, 0x84, 0xa4, 0xda, 0x38, 0xc0, 0x22, 0xd6, 0xf5, 0xa7, 0xb0, 0x00, 0xa0, 0x56, 0x83, 0xf4, + 0x4a, 0x5f, 0x10, 0xaa, 0x92, 0x10, 0x8c, 0x4e, 0x24, 0xbc, 0x0c, 0x68, 0x9c, 0x99, 0x44, 0x0b, 0x1b, 0x1c, 0xd0, + 0x57, 0x95, 0x49, 0x34, 0x36, 0xe4, 0x01, 0xe5, 0x36, 0x0d, 0x60, 0xf0, 0x41, 0x92, 0x44, 0x7f, 0x5a, 0x9a, 0x24, + 0x10, 0x94, 0xa0, 0x7c, 0x83, 0xfe, 0x5e, 0x7a, 0x3e, 0x96, 0xff, 0xf0, 0x0e, 0xa5, 0x97, 0x61, 0x01, 0x32, 0x45, + 0x5d, 0x31, 0xcd, 0xd8, 0x49, 0xd6, 0x6d, 0x4c, 0xe2, 0x79, 0xda, 0x5d, 0x17, 0xca, 0xa5, 0x0b, 0xfc, 0xca, 0x32, + 0xc4, 0xb1, 0x7e, 0x1a, 0xaf, 0xd8, 0x69, 0xc8, 0x35, 0x5e, 0xfa, 0xd3, 0x78, 0x85, 0x33, 0x44, 0xab, 0x56, 0x02, + 0x51, 0xfe, 0xab, 0x36, 0x70, 0x88, 0xfb, 0x04, 0x83, 0x5c, 0x54, 0xde, 0x03, 0x81, 0xbc, 0xad, 0x20, 0x22, 0xcd, + 0xec, 0x3a, 0x8c, 0x48, 0xb5, 0x97, 0x64, 0xbe, 0xfc, 0x87, 0xcc, 0x84, 0xf7, 0x0d, 0x3c, 0x36, 0x9b, 0x65, 0x53, + 0xcc, 0x17, 0x2a, 0x98, 0x83, 0xfb, 0x44, 0xc5, 0xa5, 0xa8, 0xfc, 0x27, 0xec, 0x82, 0x17, 0xe3, 0xc1, 0xeb, 0x35, + 0x02, 0xec, 0x57, 0xfe, 0x93, 0x37, 0x66, 0x3f, 0x58, 0x37, 0xbe, 0xcc, 0x44, 0x7c, 0xe0, 0xa3, 0x5b, 0xca, 0x47, + 0x1b, 0x2f, 0xd3, 0xaf, 0x0d, 0x28, 0x91, 0x51, 0x59, 0xf1, 0xd5, 0x8a, 0xa7, 0xb3, 0x9b, 0x24, 0xca, 0x46, 0x15, + 0x17, 0x30, 0xbd, 0xe0, 0x78, 0x97, 0xac, 0xcf, 0xb3, 0xe4, 0x15, 0xc4, 0x1e, 0x58, 0x49, 0x85, 0xc5, 0x0f, 0xcb, + 0x4c, 0x2d, 0x66, 0x21, 0x2b, 0x29, 0x78, 0x30, 0xfb, 0x94, 0x44, 0x3f, 0x2c, 0x3d, 0x10, 0x39, 0x33, 0x65, 0xdb, + 0xda, 0x11, 0x6a, 0xe3, 0xeb, 0x48, 0xb7, 0xda, 0x02, 0x00, 0xee, 0xd9, 0x22, 0x8d, 0x24, 0x13, 0xc3, 0x49, 0xcd, + 0xb8, 0x49, 0x2f, 0x30, 0x35, 0xae, 0x59, 0x45, 0x13, 0x67, 0x21, 0x03, 0x7a, 0x7f, 0x9a, 0xeb, 0xe7, 0x0c, 0xee, + 0x3f, 0x68, 0x0d, 0x5c, 0x1e, 0x17, 0xfd, 0xbe, 0x3c, 0x2e, 0x76, 0xbb, 0xf2, 0x24, 0xee, 0xf7, 0xe5, 0x49, 0x6c, + 0xf8, 0x07, 0xa5, 0xd8, 0x36, 0xe6, 0x06, 0x09, 0xcd, 0x25, 0x44, 0x2d, 0x1a, 0xc1, 0x1f, 0x9a, 0xe5, 0x5c, 0x44, + 0xf9, 0x71, 0xd2, 0xef, 0xf7, 0x96, 0x33, 0x31, 0xc8, 0x87, 0x49, 0x94, 0x0f, 0x13, 0xcf, 0x09, 0xf1, 0xa5, 0xe7, + 0x84, 0xa8, 0x68, 0xe0, 0x0a, 0xce, 0x0c, 0x40, 0x14, 0xf0, 0xe9, 0x1f, 0xd5, 0xb5, 0x14, 0xba, 0x96, 0x58, 0xd5, + 0x92, 0xe8, 0x0a, 0x6a, 0x76, 0x53, 0x84, 0x25, 0x96, 0x42, 0x97, 0xec, 0xd7, 0x25, 0xf0, 0x44, 0x39, 0xaf, 0xb6, + 0xc0, 0xc0, 0x46, 0x78, 0xe7, 0x30, 0xe1, 0x24, 0xd6, 0x35, 0xa0, 0x9d, 0x6e, 0x6b, 0x7a, 0x41, 0x57, 0xf4, 0x12, + 0xf9, 0xd9, 0x0b, 0x30, 0x58, 0x3a, 0x66, 0xf9, 0x74, 0x30, 0xb8, 0x20, 0x2b, 0x56, 0xce, 0xc3, 0x78, 0x10, 0xae, + 0x67, 0xf9, 0xf0, 0x22, 0xba, 0x20, 0xe4, 0x9b, 0x62, 0x41, 0x7b, 0xab, 0x51, 0xf9, 0x29, 0x83, 0xf0, 0x7e, 0xe9, + 0x2c, 0xcc, 0x4c, 0x9c, 0x8f, 0xd5, 0xe8, 0x96, 0xae, 0x20, 0x7e, 0x0d, 0xdc, 0x48, 0x48, 0x04, 0x1d, 0xb9, 0xa4, + 0x2b, 0xba, 0xa6, 0xd2, 0xcc, 0x30, 0x46, 0xeb, 0xb6, 0xc7, 0x49, 0x02, 0x8e, 0xc9, 0xae, 0xf8, 0x68, 0xac, 0x0a, + 0xef, 0xfa, 0x8e, 0xd0, 0x5e, 0x2f, 0x71, 0x83, 0xf4, 0x4b, 0x7b, 0x90, 0x80, 0x11, 0x19, 0xa9, 0x81, 0x32, 0x23, + 0x23, 0xa9, 0x99, 0x54, 0x1c, 0x92, 0xd8, 0x1f, 0x12, 0x35, 0x0e, 0x89, 0x3f, 0x0e, 0xb9, 0x1e, 0x07, 0xe4, 0xee, + 0x97, 0x6c, 0x4c, 0x53, 0x36, 0xa6, 0x6b, 0x35, 0x2a, 0xf4, 0x8a, 0x9e, 0x6b, 0xea, 0x78, 0xc6, 0x9e, 0xc2, 0x81, + 0x3d, 0x08, 0xf3, 0x59, 0x3c, 0x7c, 0x1a, 0x3d, 0x25, 0xe4, 0x1b, 0x49, 0xaf, 0xd5, 0xa5, 0x0c, 0x02, 0x21, 0x5e, + 0x81, 0x73, 0xa9, 0x0b, 0x75, 0x72, 0x65, 0x76, 0x1c, 0x3e, 0x5d, 0x36, 0x9e, 0xce, 0x21, 0xa2, 0x0f, 0x5a, 0xa9, + 0xf4, 0xfb, 0xe1, 0x05, 0x2b, 0xe7, 0x67, 0xe1, 0x98, 0x00, 0x0e, 0x8f, 0x1e, 0xce, 0x8b, 0xd1, 0x2d, 0xbd, 0x18, + 0x6d, 0x08, 0x58, 0x78, 0x8d, 0xa7, 0xeb, 0x63, 0x16, 0x4f, 0x07, 0x83, 0x35, 0x52, 0x75, 0x95, 0x7b, 0x4d, 0x16, + 0xf4, 0x02, 0x27, 0x82, 0x00, 0x43, 0x9f, 0x89, 0xb5, 0xa1, 0xe1, 0x4f, 0x19, 0x7c, 0xbc, 0x61, 0x17, 0xa3, 0x0d, + 0xbd, 0x65, 0x4f, 0x77, 0xe3, 0x29, 0x30, 0x53, 0xab, 0x59, 0xb8, 0x39, 0xbe, 0x9c, 0x5d, 0xb2, 0x4d, 0xb4, 0x39, + 0x81, 0x86, 0x5e, 0xb1, 0x0d, 0x02, 0x2e, 0xa5, 0x0f, 0x97, 0x83, 0xa7, 0xe4, 0x70, 0x30, 0x48, 0x49, 0x14, 0x5e, + 0x87, 0x5e, 0x2b, 0x9f, 0xd2, 0x0d, 0xa1, 0x2b, 0x76, 0x8b, 0xa3, 0x71, 0xc9, 0xf0, 0x83, 0x73, 0xb6, 0xa9, 0xaf, + 0x43, 0x6f, 0x37, 0xe7, 0xa2, 0x13, 0xc4, 0x08, 0x7d, 0x0d, 0x1c, 0xcd, 0x72, 0x61, 0x26, 0xe0, 0xc9, 0x5c, 0x64, + 0xb4, 0x28, 0x34, 0x03, 0x71, 0x56, 0x02, 0x62, 0x49, 0xd4, 0xfd, 0x66, 0xa3, 0x33, 0x58, 0xce, 0xfd, 0x7e, 0xaf, + 0x32, 0xf4, 0x00, 0x91, 0x33, 0x3b, 0xe9, 0x41, 0xcf, 0xa7, 0x07, 0xf8, 0x89, 0x5e, 0x35, 0x88, 0x93, 0xf9, 0xcb, + 0x32, 0x7a, 0xe9, 0xd1, 0x87, 0xdf, 0xba, 0x29, 0x8f, 0xcc, 0xff, 0x73, 0xca, 0x53, 0xe4, 0xd1, 0xeb, 0xca, 0x03, + 0x62, 0xf3, 0xd6, 0xa4, 0xd2, 0x48, 0x54, 0xa3, 0xb3, 0x55, 0x0c, 0xda, 0x48, 0xd4, 0x36, 0xe8, 0x27, 0xb4, 0xb0, + 0x82, 0x08, 0x39, 0x47, 0xcf, 0xc0, 0x20, 0x15, 0x42, 0xe5, 0xa8, 0x45, 0x89, 0x86, 0x20, 0xb9, 0x2c, 0xb9, 0x0a, + 0x9f, 0x43, 0xa8, 0x3a, 0x7d, 0x9c, 0x89, 0xb0, 0xa1, 0xc7, 0xa1, 0x0f, 0x00, 0xff, 0xd7, 0x1e, 0xb9, 0x28, 0xf9, + 0x25, 0x9e, 0xcd, 0x6d, 0x82, 0x51, 0xb0, 0x5c, 0x34, 0x43, 0xdb, 0x20, 0xf6, 0x63, 0x49, 0xb0, 0x1e, 0x49, 0xe3, + 0x51, 0x69, 0x8e, 0x08, 0x3f, 0x8a, 0x8f, 0xa2, 0xa7, 0xb1, 0x21, 0x91, 0x1c, 0x49, 0x24, 0x1f, 0x00, 0xe1, 0x24, + 0xe8, 0x2f, 0xee, 0x9a, 0xec, 0x5a, 0xa8, 0xbd, 0x7e, 0x0f, 0xfe, 0xb5, 0x64, 0x5a, 0x76, 0xaf, 0x7a, 0xec, 0x2b, + 0x82, 0x3c, 0x98, 0x00, 0xaf, 0x0f, 0xff, 0x5a, 0xe2, 0x0c, 0x5a, 0xcf, 0x17, 0xd5, 0x99, 0x99, 0x37, 0xb8, 0x91, + 0xd7, 0x65, 0xed, 0xba, 0x7c, 0xc1, 0x0f, 0xf8, 0x6d, 0xc5, 0x45, 0x5a, 0x1e, 0xfc, 0x5c, 0xb5, 0xf1, 0x9c, 0xca, + 0xf5, 0xca, 0xc5, 0x59, 0x51, 0xc6, 0xa9, 0x9e, 0xd4, 0xc5, 0x58, 0xc3, 0x36, 0xfc, 0x1e, 0x51, 0x57, 0xd2, 0x72, + 0xf4, 0x94, 0x72, 0xd5, 0x4c, 0xb9, 0x58, 0xe7, 0xf9, 0x4f, 0x7b, 0xa9, 0x38, 0xc5, 0xcd, 0x14, 0xa4, 0x4a, 0x2d, + 0x17, 0x50, 0x3d, 0x47, 0x2d, 0x77, 0x4b, 0xb3, 0x03, 0x9c, 0xdb, 0xa6, 0xfa, 0x58, 0x99, 0x5d, 0x78, 0xc9, 0x8d, + 0xfb, 0x93, 0x29, 0xc3, 0x82, 0x51, 0x68, 0xb3, 0xea, 0x4a, 0xdb, 0x17, 0x5a, 0xa7, 0x61, 0xb8, 0xf2, 0xe3, 0x05, + 0xa4, 0x0b, 0x18, 0xc7, 0x8b, 0x92, 0x89, 0x71, 0x7b, 0xf4, 0x56, 0x10, 0x5f, 0xb3, 0x15, 0x48, 0xbf, 0xdf, 0x13, + 0xde, 0xae, 0xeb, 0x68, 0xbb, 0x27, 0x4e, 0x19, 0x95, 0xab, 0x58, 0xfc, 0x18, 0xaf, 0x0c, 0x64, 0xb2, 0x3a, 0x1e, + 0x1b, 0x63, 0x3a, 0xfd, 0x39, 0x09, 0xfd, 0x42, 0x28, 0xf8, 0xac, 0x97, 0x56, 0x9e, 0xdc, 0x1e, 0x96, 0x71, 0x8d, + 0x5e, 0x89, 0x2b, 0xdd, 0x37, 0x23, 0x85, 0xd4, 0x23, 0x5f, 0x35, 0x05, 0xf4, 0x66, 0xec, 0x9b, 0xa9, 0x30, 0x6f, + 0x77, 0x8c, 0xb9, 0x42, 0xb0, 0x52, 0x65, 0xb7, 0xef, 0xd4, 0x98, 0x8a, 0x19, 0x4c, 0xb1, 0xed, 0x2c, 0x26, 0xdd, + 0xca, 0x3f, 0xed, 0xdc, 0xaf, 0xf3, 0x0e, 0x77, 0x45, 0xfd, 0x16, 0xb8, 0xd0, 0xac, 0x28, 0xab, 0xb6, 0x6c, 0xd8, + 0x36, 0xde, 0xc8, 0x42, 0xb1, 0x01, 0x96, 0x3d, 0xf7, 0x2d, 0x3c, 0x40, 0xdc, 0x84, 0x7b, 0x76, 0x51, 0xc3, 0x8d, + 0xe1, 0xeb, 0x4a, 0xf2, 0x5d, 0x69, 0xcc, 0xa5, 0x4f, 0x95, 0x26, 0x86, 0x93, 0xc5, 0x88, 0x8b, 0x74, 0x51, 0x67, + 0x76, 0x2d, 0x7c, 0xc1, 0xcb, 0x70, 0xce, 0x17, 0x46, 0x37, 0xa5, 0x4b, 0x2f, 0x98, 0x0e, 0x99, 0x42, 0xb7, 0x2b, + 0x8d, 0x95, 0x12, 0x71, 0x6b, 0x96, 0x09, 0x94, 0xa5, 0xac, 0x95, 0xf0, 0xa6, 0x68, 0xd9, 0x4a, 0x1a, 0x79, 0xcf, + 0x1c, 0xdc, 0xc7, 0x7e, 0x43, 0x4c, 0x64, 0x13, 0x98, 0x14, 0x0d, 0x1d, 0xd0, 0xae, 0xba, 0xf0, 0xcd, 0xa8, 0x07, + 0x83, 0xdc, 0x92, 0x44, 0xac, 0x20, 0xc5, 0x0a, 0xd6, 0x35, 0x2b, 0xe6, 0xf9, 0x82, 0x5e, 0x30, 0x39, 0x4f, 0x17, + 0x74, 0xc5, 0xe4, 0x7c, 0x8d, 0x37, 0xa1, 0x0b, 0x38, 0x21, 0xc9, 0x36, 0x56, 0x0a, 0xd8, 0x0b, 0xbc, 0xbc, 0xe1, + 0x99, 0xaa, 0x69, 0xd9, 0xa5, 0xe2, 0x00, 0xe3, 0xf3, 0x32, 0x0c, 0xcb, 0xe1, 0x05, 0x58, 0x4b, 0x1c, 0x86, 0xab, + 0x39, 0x5f, 0xa8, 0xdf, 0x10, 0x75, 0x3e, 0x09, 0x15, 0xbb, 0x60, 0xf7, 0x02, 0x99, 0x5e, 0xcd, 0xf9, 0x42, 0x8d, + 0x84, 0x2e, 0xf8, 0xca, 0x1a, 0x9b, 0xc4, 0x9e, 0xa0, 0x65, 0x16, 0xcf, 0xc7, 0x8b, 0x28, 0xae, 0x61, 0x19, 0x7e, + 0x50, 0x33, 0xd3, 0x92, 0xff, 0xe4, 0x6a, 0x43, 0x13, 0x7d, 0x83, 0x55, 0xe4, 0x0f, 0x8f, 0x8f, 0x2e, 0x81, 0x8c, + 0x9d, 0x5d, 0xc9, 0xcc, 0x87, 0xbe, 0x8f, 0x0c, 0xee, 0xb9, 0x29, 0x67, 0x5c, 0x05, 0x89, 0x32, 0x70, 0xf7, 0x6a, + 0x96, 0x8c, 0xb5, 0x08, 0xdf, 0x3f, 0x2a, 0x8a, 0x3e, 0x93, 0xa6, 0x01, 0xdd, 0x47, 0x82, 0x39, 0xd0, 0x7b, 0x85, + 0x0e, 0x97, 0xd5, 0x36, 0x13, 0xf0, 0x17, 0x09, 0xf2, 0x5b, 0xa1, 0x57, 0x35, 0x06, 0x55, 0xb4, 0x8b, 0x58, 0xfa, + 0xf7, 0x11, 0x3f, 0xca, 0xe6, 0x3f, 0xcd, 0x3d, 0x5e, 0x49, 0x18, 0xfc, 0x90, 0x9a, 0x4d, 0x32, 0x6f, 0xaf, 0xd8, + 0x77, 0xd0, 0x51, 0x8f, 0x5a, 0xe3, 0x7d, 0xf5, 0x82, 0x53, 0x88, 0x51, 0x42, 0xd1, 0x49, 0x30, 0x80, 0xdb, 0x25, + 0xa4, 0xb8, 0x1b, 0xec, 0xb6, 0x79, 0xcd, 0x8b, 0x82, 0xf3, 0x75, 0x55, 0x05, 0x7e, 0x40, 0xc3, 0xf9, 0x62, 0x3f, + 0x84, 0xe1, 0x98, 0xb6, 0xae, 0x61, 0x10, 0x66, 0x0c, 0x23, 0x21, 0x78, 0xfd, 0x8b, 0x1e, 0xd1, 0x24, 0x5e, 0xfd, + 0xc0, 0x3f, 0x67, 0xbc, 0x50, 0x44, 0x1a, 0x44, 0x48, 0xdd, 0xc4, 0x37, 0x32, 0x4d, 0x0a, 0x28, 0x04, 0x18, 0x05, + 0x54, 0x62, 0x43, 0x53, 0xf1, 0xb7, 0x5a, 0x7c, 0xf0, 0x53, 0xd3, 0xf1, 0x68, 0x5c, 0xb7, 0x3a, 0xa3, 0x82, 0xce, + 0x40, 0x8f, 0x5a, 0x51, 0x4f, 0x83, 0x56, 0x82, 0x69, 0xa4, 0x79, 0xeb, 0x1e, 0x02, 0xaf, 0x4c, 0x8b, 0x77, 0x1e, + 0xd0, 0xed, 0x99, 0x0f, 0x9e, 0x3c, 0xa6, 0x67, 0x0e, 0x3d, 0xb9, 0x62, 0x27, 0x55, 0x0f, 0xb5, 0xf7, 0x66, 0x84, + 0x82, 0x7e, 0x1f, 0x53, 0xa0, 0x1b, 0x41, 0xed, 0x5d, 0xdd, 0x2b, 0xb9, 0xcf, 0xe1, 0x3b, 0xce, 0x72, 0x0b, 0x58, + 0x2a, 0xb2, 0x56, 0xe0, 0x51, 0x80, 0xba, 0x54, 0x86, 0xb0, 0xc5, 0x1c, 0x0e, 0x95, 0xdd, 0xaa, 0xd5, 0x50, 0x92, + 0xe3, 0x72, 0x04, 0x0e, 0xa1, 0xeb, 0x72, 0x50, 0x8e, 0x96, 0x59, 0xf5, 0x1e, 0x7f, 0x6b, 0xd6, 0x21, 0xc9, 0xee, + 0x62, 0x1d, 0xb8, 0x65, 0x1d, 0xa6, 0x9f, 0x0c, 0x52, 0x00, 0x9a, 0x6c, 0x04, 0x2e, 0x01, 0x78, 0x6f, 0xff, 0x11, + 0xa1, 0x56, 0xa6, 0x77, 0x32, 0x16, 0xea, 0xfb, 0x46, 0x12, 0x94, 0xd0, 0x4c, 0xa8, 0x1c, 0x4b, 0xc1, 0x3b, 0x8f, + 0x74, 0x4e, 0xea, 0x4c, 0xbc, 0x07, 0x71, 0x5a, 0x78, 0xcf, 0xde, 0x82, 0xe0, 0x9c, 0x05, 0xdd, 0xe0, 0x6d, 0x56, + 0x4b, 0x6d, 0xf4, 0x40, 0x01, 0xfc, 0x6e, 0xb0, 0x41, 0x90, 0xaf, 0xc6, 0x70, 0xad, 0xe4, 0x4d, 0xc8, 0x87, 0x05, + 0x3d, 0x22, 0x03, 0xfb, 0x2c, 0x86, 0x31, 0x3d, 0x22, 0xc7, 0xf6, 0x59, 0xba, 0x01, 0x1c, 0x48, 0x3d, 0xaa, 0xf4, + 0x08, 0x1a, 0xf4, 0x2f, 0xdb, 0x22, 0x77, 0x00, 0x4a, 0xa3, 0x88, 0x81, 0x2a, 0x41, 0x44, 0x2d, 0xfe, 0x7d, 0x6f, + 0xae, 0x0d, 0xe6, 0x02, 0x61, 0x0e, 0x06, 0x1c, 0xc4, 0x6d, 0x10, 0x9a, 0x03, 0x66, 0x7b, 0x1b, 0x09, 0xba, 0xb1, + 0x86, 0x99, 0x1d, 0xfd, 0xe1, 0x56, 0x82, 0x6f, 0xb2, 0xd6, 0xa8, 0xf3, 0xe2, 0x10, 0x08, 0x82, 0x37, 0x85, 0xaa, + 0xf6, 0xaa, 0x07, 0x36, 0xde, 0xaa, 0x1f, 0xbb, 0xdd, 0x78, 0x2a, 0xdc, 0xb5, 0x5f, 0x50, 0x38, 0xf9, 0x94, 0xfc, + 0xeb, 0xbd, 0xc9, 0xe0, 0xc0, 0xc8, 0xf0, 0xa5, 0xb7, 0x7f, 0xe1, 0x6b, 0x2d, 0xdd, 0x13, 0x83, 0x92, 0x3c, 0x3c, + 0x52, 0xf4, 0xef, 0x4e, 0x59, 0xf9, 0xd4, 0x4e, 0xff, 0x6e, 0x67, 0xd6, 0xe7, 0xf1, 0x68, 0xb2, 0xdb, 0xf5, 0xe2, + 0x4a, 0x7b, 0xac, 0xe9, 0x05, 0x81, 0xce, 0xf5, 0xe4, 0xf0, 0x08, 0xa2, 0x22, 0x34, 0xe3, 0x6e, 0x96, 0x0d, 0x89, + 0x8c, 0x1f, 0xa7, 0xb3, 0x6c, 0x08, 0x76, 0xb8, 0x17, 0x95, 0xb8, 0x1c, 0xb5, 0x36, 0x38, 0xbd, 0x4d, 0x42, 0x08, + 0xe5, 0x80, 0x95, 0xdd, 0xaa, 0x3f, 0x1b, 0x65, 0x26, 0xa4, 0x26, 0xab, 0xdb, 0x29, 0xdd, 0xc3, 0x34, 0x3f, 0x30, + 0x23, 0x38, 0xe0, 0xde, 0xfe, 0xaa, 0x3f, 0x85, 0x49, 0xa6, 0xc9, 0x29, 0x92, 0x5f, 0xa4, 0xa7, 0x90, 0xb4, 0x47, + 0x4f, 0x15, 0x01, 0x9c, 0x50, 0xfb, 0x31, 0xfc, 0x86, 0x71, 0xff, 0xa1, 0xf9, 0xda, 0x4d, 0x45, 0xf4, 0x98, 0x62, + 0x99, 0x9a, 0x9c, 0x26, 0x59, 0x91, 0x40, 0xd4, 0x46, 0xd5, 0x8c, 0xe8, 0x91, 0x8b, 0xf9, 0xa8, 0x08, 0x9f, 0x57, + 0xeb, 0xff, 0x0c, 0xe1, 0x33, 0x92, 0x5d, 0x80, 0xcb, 0x2b, 0x2e, 0xcf, 0xc3, 0x27, 0x8f, 0xe9, 0xc1, 0xe4, 0xbb, + 0x23, 0x7a, 0x70, 0xf4, 0xe8, 0x09, 0x01, 0x58, 0xb4, 0xcb, 0xf3, 0xf0, 0xe8, 0xc9, 0x13, 0x7a, 0xf0, 0xfd, 0xf7, + 0xf4, 0x60, 0xf2, 0xe8, 0xa8, 0x91, 0x36, 0x79, 0xf2, 0x3d, 0x3d, 0xf8, 0xee, 0x71, 0x23, 0xed, 0x68, 0xfc, 0x84, + 0x1e, 0xfc, 0xfd, 0x3b, 0x93, 0xf6, 0x37, 0xc8, 0xf6, 0xfd, 0x11, 0xfe, 0x67, 0xd2, 0x26, 0x4f, 0x1e, 0xd1, 0x83, + 0xc9, 0x18, 0x2a, 0x79, 0xe2, 0x2a, 0x19, 0x4f, 0xe0, 0xe3, 0x47, 0xf0, 0xdf, 0xdf, 0x08, 0x6c, 0x02, 0xc9, 0x96, + 0x02, 0xf5, 0x67, 0x28, 0xe2, 0x44, 0xd5, 0x44, 0xc2, 0x43, 0xcc, 0xac, 0xbe, 0x89, 0xc3, 0x80, 0xb8, 0x74, 0x28, + 0x88, 0x1e, 0x8c, 0x47, 0x4f, 0x48, 0xe0, 0xc3, 0xd3, 0x7d, 0xf2, 0x41, 0xc6, 0x96, 0x62, 0x9e, 0x7d, 0xb3, 0x34, + 0xb1, 0x15, 0x3c, 0x00, 0xab, 0x0f, 0x7e, 0x2e, 0x2e, 0xe7, 0xd9, 0x37, 0x5c, 0xee, 0xe7, 0xfa, 0xb1, 0x05, 0x28, + 0xef, 0xaf, 0x5a, 0xf6, 0xa9, 0x50, 0xa1, 0xd3, 0x5a, 0xa3, 0xcf, 0x3e, 0x60, 0xfa, 0x60, 0xe0, 0xdd, 0xb0, 0x7f, + 0xde, 0x2b, 0xa7, 0xf5, 0x8d, 0x46, 0xa1, 0x46, 0xe5, 0x21, 0x61, 0x27, 0x50, 0xf4, 0x60, 0x00, 0x3c, 0x81, 0x2b, + 0xe3, 0xf7, 0xff, 0xb0, 0x8c, 0x0f, 0x1d, 0x65, 0xfc, 0x03, 0x65, 0x08, 0x68, 0xd4, 0xc3, 0xec, 0xa6, 0x87, 0x8d, + 0x6e, 0xf5, 0x92, 0xa5, 0x3a, 0x99, 0x9a, 0x9e, 0xc1, 0xbe, 0xd6, 0xb5, 0x3c, 0x30, 0xa2, 0x68, 0x79, 0x71, 0x90, + 0xf2, 0x59, 0xc5, 0x7e, 0x5e, 0xa2, 0x7a, 0x2b, 0x6a, 0xbc, 0x91, 0xd9, 0xac, 0x62, 0xbf, 0x9b, 0x37, 0xc0, 0xcd, + 0xb0, 0x1f, 0xd5, 0x93, 0x1f, 0x38, 0x23, 0x93, 0xb6, 0x3d, 0xca, 0xc4, 0x08, 0xb0, 0x02, 0x32, 0x70, 0xe0, 0x01, + 0xd0, 0x41, 0x7f, 0xb4, 0x77, 0x3b, 0x95, 0xd2, 0xec, 0xb3, 0x85, 0x01, 0x34, 0xcc, 0xdb, 0xc4, 0x95, 0x5d, 0xa5, + 0xbe, 0xbc, 0x04, 0x85, 0x5b, 0xcd, 0xf2, 0xf6, 0x0a, 0x53, 0x71, 0x7b, 0x52, 0x06, 0x80, 0x03, 0x01, 0x06, 0x63, + 0x2d, 0x03, 0x6a, 0xb6, 0x7c, 0xb4, 0xe5, 0x4a, 0x3d, 0x09, 0x9c, 0xc1, 0x85, 0x2c, 0x12, 0xfe, 0x56, 0x8b, 0xfd, + 0xd1, 0xfa, 0xd1, 0xf7, 0xed, 0xf1, 0x60, 0xed, 0x7b, 0x7c, 0xa4, 0x3f, 0x6b, 0x5c, 0x07, 0xb6, 0x2d, 0xdf, 0x78, + 0x51, 0x5b, 0x89, 0x47, 0x09, 0xbc, 0x81, 0x89, 0x48, 0x61, 0x90, 0x6a, 0x81, 0x63, 0x50, 0xde, 0x58, 0x88, 0xa5, + 0xea, 0xea, 0x86, 0x6e, 0xc9, 0x10, 0x3c, 0xdc, 0xaa, 0x54, 0x05, 0x8e, 0xea, 0xf7, 0x33, 0xe9, 0xbb, 0x3d, 0x19, + 0x3b, 0x72, 0x9c, 0xfa, 0xa9, 0x70, 0xf0, 0xdf, 0xa4, 0xae, 0xf5, 0xcb, 0x2c, 0x65, 0x96, 0x65, 0x61, 0x27, 0xa1, + 0x96, 0x7b, 0x54, 0x1e, 0x24, 0x5f, 0xc8, 0x21, 0x92, 0x05, 0x46, 0xa1, 0x20, 0xc3, 0x09, 0x15, 0xa3, 0xb5, 0x28, + 0x97, 0xd9, 0x45, 0x15, 0x6e, 0x95, 0x42, 0x99, 0x53, 0xf4, 0xed, 0x06, 0x07, 0x12, 0x12, 0x65, 0xe5, 0x9b, 0xf8, + 0x4d, 0x88, 0x60, 0x75, 0x5c, 0xdb, 0x42, 0x71, 0x6f, 0x7f, 0x8a, 0xb4, 0x8b, 0x3f, 0x32, 0x2e, 0xa0, 0x2e, 0x16, + 0xd3, 0x70, 0x62, 0x63, 0x1f, 0xb8, 0x2f, 0xac, 0xa6, 0x07, 0xa0, 0xbe, 0x4b, 0x25, 0x46, 0x50, 0x5f, 0x19, 0xfb, + 0xd8, 0x1e, 0x63, 0x72, 0x06, 0xb1, 0x86, 0x75, 0xd9, 0xaa, 0x6f, 0x84, 0x9d, 0x00, 0x70, 0x23, 0xb4, 0x46, 0x47, + 0x26, 0xa9, 0x42, 0x3c, 0x2f, 0x55, 0xf8, 0xd6, 0x8c, 0xd0, 0x31, 0x78, 0x53, 0xb9, 0x46, 0x4a, 0x5f, 0x30, 0x68, + 0x8e, 0x6d, 0x1d, 0x85, 0xd5, 0x56, 0x96, 0x9d, 0x00, 0xdc, 0x40, 0x76, 0x6c, 0x2e, 0x9e, 0xb3, 0x6a, 0x9e, 0x2d, + 0x22, 0x13, 0x14, 0x30, 0x15, 0x96, 0x41, 0x7b, 0x73, 0x87, 0x6c, 0xc7, 0x21, 0x74, 0xc3, 0x7d, 0x04, 0xe3, 0x69, + 0x37, 0x05, 0x2b, 0x88, 0x46, 0x88, 0x87, 0x19, 0xb3, 0xf8, 0x5e, 0x69, 0xca, 0x53, 0xd5, 0x12, 0x08, 0x1c, 0x85, + 0x50, 0x17, 0xfb, 0x46, 0x09, 0x2e, 0x53, 0x23, 0x98, 0xc1, 0x9e, 0x1d, 0xa9, 0xed, 0x92, 0x73, 0x3a, 0x54, 0x53, + 0x5a, 0xea, 0x29, 0xd5, 0xbe, 0x86, 0x62, 0x5e, 0xa2, 0x87, 0x1e, 0xb8, 0x1e, 0x68, 0x87, 0xbc, 0x92, 0x4e, 0x4c, + 0x04, 0x9d, 0x56, 0x9b, 0xb0, 0x73, 0x23, 0xdd, 0xb2, 0x1a, 0x79, 0xc7, 0xd0, 0xec, 0x88, 0x57, 0x7e, 0xa0, 0x2e, + 0x80, 0x08, 0xb9, 0xb3, 0x45, 0x86, 0x38, 0xb3, 0xac, 0x7c, 0x01, 0x65, 0x71, 0xc4, 0xd6, 0x15, 0x70, 0x2d, 0x05, + 0x93, 0x4b, 0x1e, 0x89, 0x14, 0x11, 0x01, 0x4f, 0x95, 0x76, 0x7d, 0xaf, 0x25, 0x84, 0x96, 0x29, 0x10, 0x37, 0x17, + 0xc5, 0xb9, 0xb6, 0x81, 0x2c, 0x80, 0xbe, 0xfd, 0x94, 0x5d, 0x79, 0xe1, 0x60, 0xb7, 0x57, 0x99, 0x78, 0xc6, 0x2f, + 0x32, 0xc1, 0x53, 0x04, 0xbb, 0xba, 0x35, 0x0f, 0xdc, 0xb1, 0x6d, 0x60, 0xf9, 0xf6, 0x03, 0x2c, 0x98, 0x32, 0xd4, + 0x4a, 0x89, 0x4c, 0x44, 0x02, 0x32, 0xfb, 0xcc, 0xdd, 0xeb, 0x4c, 0xbc, 0x8e, 0x6f, 0xc1, 0x9b, 0xa2, 0xc1, 0x4f, + 0x8f, 0xce, 0xf1, 0x4b, 0x44, 0x12, 0x85, 0x18, 0xb6, 0x18, 0x11, 0x0b, 0x91, 0x63, 0xc7, 0x84, 0x72, 0x25, 0x68, + 0x6d, 0x0d, 0x81, 0x17, 0x7f, 0x5a, 0x75, 0xef, 0x2a, 0x13, 0xc6, 0x3e, 0xe3, 0x2a, 0xbe, 0x65, 0xa5, 0x02, 0xb3, + 0xc0, 0x38, 0xf7, 0x6d, 0x29, 0xc9, 0x55, 0x26, 0x8c, 0x80, 0xe4, 0x2a, 0xbe, 0xa5, 0x4d, 0x19, 0x87, 0xb6, 0xa2, + 0xf3, 0xe2, 0xfc, 0xee, 0x0f, 0xbf, 0xc4, 0x50, 0x2b, 0xe3, 0x7e, 0x1f, 0x24, 0x66, 0xd2, 0x36, 0x65, 0x26, 0x23, + 0xa9, 0xd1, 0x42, 0x2a, 0xca, 0x07, 0x13, 0xb2, 0xbf, 0x52, 0x2d, 0x23, 0x6a, 0xbf, 0x0a, 0xc5, 0x6c, 0x1c, 0x4d, + 0x08, 0x9d, 0x74, 0xac, 0x77, 0xd3, 0x5a, 0xc8, 0x34, 0x7a, 0x12, 0x79, 0x3e, 0x9d, 0x05, 0xab, 0xa6, 0xc5, 0x31, + 0xe3, 0xd3, 0x62, 0x30, 0x20, 0xda, 0xa5, 0x70, 0x8b, 0xf5, 0x80, 0x29, 0x8d, 0x8b, 0xb7, 0x66, 0x5a, 0xfd, 0x42, + 0xaa, 0x90, 0xf4, 0x9e, 0x01, 0x89, 0x90, 0x2e, 0xd8, 0x2d, 0x48, 0x14, 0x3d, 0xff, 0x3b, 0xb5, 0x05, 0xf7, 0x3d, + 0x18, 0x9b, 0xd1, 0x7d, 0x3d, 0xe3, 0x3f, 0xd4, 0xb6, 0x20, 0xea, 0x53, 0xc9, 0x7a, 0x1d, 0x89, 0x2a, 0xe4, 0x22, + 0xfc, 0xec, 0x68, 0x88, 0x21, 0xaa, 0x3d, 0x16, 0x88, 0xf5, 0xd5, 0x39, 0x2f, 0x70, 0xfa, 0x99, 0xbb, 0x5c, 0xc1, + 0xb6, 0xa0, 0x95, 0xa1, 0x51, 0x6f, 0xe2, 0x37, 0x91, 0xbd, 0x2c, 0xe8, 0x22, 0x9f, 0xa1, 0x90, 0x35, 0x0f, 0xc3, + 0x6a, 0xd8, 0x1e, 0x44, 0x72, 0xd8, 0x9e, 0x84, 0x46, 0x63, 0x60, 0x81, 0xec, 0xd1, 0x08, 0x5c, 0x84, 0x56, 0xfe, + 0x76, 0x0c, 0x2e, 0x5c, 0x16, 0x91, 0x65, 0xa8, 0xe3, 0x37, 0xb5, 0x9b, 0xa0, 0x7a, 0x85, 0x4e, 0x53, 0x58, 0x95, + 0x32, 0xc9, 0x87, 0x5f, 0x2f, 0x64, 0x81, 0x99, 0xbc, 0x2e, 0x7b, 0xf4, 0xb5, 0xdd, 0xde, 0x81, 0x29, 0x58, 0xf7, + 0xc9, 0xfb, 0xfa, 0x61, 0x67, 0x4f, 0xc0, 0x28, 0x56, 0xe5, 0x68, 0x0a, 0x29, 0xb5, 0x0f, 0x4a, 0xfd, 0x29, 0x4c, + 0x85, 0xe6, 0xd8, 0x2d, 0x60, 0x12, 0xb0, 0xcf, 0x90, 0xea, 0x31, 0xed, 0xd8, 0xe7, 0x68, 0x0b, 0x4b, 0x02, 0x0e, + 0xff, 0x48, 0xc8, 0xda, 0xbf, 0xba, 0xcb, 0xb4, 0x19, 0xb2, 0x65, 0xbe, 0x00, 0x3e, 0x1f, 0x76, 0x6d, 0x54, 0xa2, + 0x6c, 0x22, 0x92, 0x14, 0xb6, 0x3c, 0x06, 0x69, 0x8f, 0x62, 0xba, 0x2a, 0x78, 0x92, 0xa1, 0x94, 0x22, 0xd1, 0x3e, + 0xc1, 0x39, 0xbc, 0xc1, 0xfd, 0xa8, 0x02, 0xc2, 0xab, 0x90, 0xd3, 0x51, 0x4a, 0xb5, 0x05, 0x8c, 0xa2, 0x1e, 0x20, + 0xca, 0xcb, 0x40, 0x8e, 0xb7, 0xdb, 0x4d, 0xe8, 0x8a, 0x2d, 0x87, 0x13, 0x8a, 0xa4, 0xe4, 0x12, 0xcb, 0xbd, 0x02, + 0x9d, 0xc7, 0x39, 0xeb, 0xbd, 0x02, 0x2c, 0x82, 0x33, 0xf8, 0x1b, 0x13, 0x7a, 0x0d, 0x7f, 0x73, 0x42, 0x9f, 0xb2, + 0xf0, 0x6a, 0x78, 0x49, 0x0e, 0xc3, 0x74, 0x30, 0x51, 0x82, 0xb1, 0x0d, 0x4b, 0xcb, 0x50, 0x25, 0xae, 0x0e, 0x2f, + 0xc8, 0xc3, 0x0b, 0x7a, 0x4b, 0x6f, 0xe8, 0x6b, 0xfa, 0x00, 0x08, 0xff, 0xe6, 0x78, 0xc2, 0x87, 0x93, 0xc7, 0xfd, + 0x7e, 0xef, 0xbc, 0xdf, 0xef, 0x9d, 0x19, 0x03, 0x0a, 0xbd, 0x8b, 0x2e, 0x6b, 0xaa, 0x7f, 0x5d, 0xd5, 0x8b, 0xe9, + 0x03, 0xb5, 0x71, 0x13, 0x9e, 0xe5, 0xe1, 0xd5, 0xe1, 0x86, 0x0c, 0xf1, 0xf1, 0x22, 0x97, 0xb2, 0x08, 0x2f, 0x0f, + 0x37, 0x84, 0x3e, 0x38, 0x01, 0xbd, 0x29, 0xd6, 0xf7, 0xe0, 0xe1, 0x46, 0xd7, 0x46, 0xe8, 0xab, 0x30, 0x81, 0x6d, + 0x72, 0xcb, 0xec, 0x5d, 0x7b, 0x32, 0x86, 0x58, 0x26, 0x1b, 0xaf, 0xbc, 0xcd, 0xc3, 0x5b, 0x72, 0x78, 0x0b, 0x9e, + 0xa2, 0x96, 0xfc, 0xcd, 0xc2, 0x1b, 0xd6, 0xaa, 0xe1, 0xe1, 0x86, 0xbe, 0x6e, 0x35, 0xe2, 0xe1, 0x86, 0x44, 0xe1, + 0x0d, 0xbb, 0xa4, 0xaf, 0xd9, 0x15, 0xa1, 0xe7, 0xfd, 0xfe, 0x59, 0xbf, 0x2f, 0xfb, 0xfd, 0x9f, 0xe3, 0x30, 0x8c, + 0x87, 0x05, 0x39, 0x94, 0x74, 0x73, 0x38, 0xe1, 0x8f, 0xc8, 0x2c, 0xd4, 0xcd, 0x57, 0x0b, 0xce, 0xaa, 0xbc, 0x55, + 0xae, 0x0d, 0x05, 0x6b, 0x85, 0x0d, 0x53, 0x4f, 0x0f, 0xe8, 0x0d, 0x2b, 0xe8, 0x6b, 0x16, 0x93, 0xe8, 0x1a, 0x5a, + 0x71, 0x3e, 0x2b, 0xa2, 0x1b, 0xfa, 0x9a, 0x9d, 0xcd, 0xe2, 0xe8, 0x35, 0x7d, 0xc0, 0xf2, 0xe1, 0x04, 0xf2, 0xbe, + 0x1e, 0xde, 0x90, 0xc3, 0x07, 0x24, 0x0a, 0x1f, 0xe8, 0xdf, 0x1b, 0x7a, 0xc9, 0xc3, 0x07, 0xd4, 0xab, 0xe6, 0x01, + 0x31, 0xd5, 0x37, 0x6a, 0x7f, 0x40, 0x22, 0x7f, 0x30, 0x1f, 0x58, 0x7b, 0x9a, 0x77, 0x8e, 0x36, 0xae, 0xcb, 0x70, + 0x43, 0xe8, 0xba, 0x0c, 0x6f, 0x08, 0x99, 0x36, 0xc7, 0x0e, 0x06, 0x74, 0xf6, 0x2e, 0x4a, 0x08, 0xbd, 0xf1, 0x4b, + 0xbd, 0xc1, 0x31, 0x34, 0x23, 0xa4, 0xfb, 0x89, 0x69, 0xb8, 0x0e, 0x3e, 0x6a, 0xb0, 0x8e, 0xf3, 0x7e, 0x3f, 0x5c, + 0xf7, 0xfb, 0x10, 0xe9, 0xbe, 0x98, 0x99, 0xd8, 0x6e, 0x8e, 0x6c, 0xd2, 0x1b, 0xd0, 0xfe, 0x7f, 0x1c, 0x0c, 0xa0, + 0x33, 0x5e, 0x49, 0xe1, 0xcd, 0xe0, 0xe3, 0xc3, 0x0d, 0x51, 0x75, 0x14, 0xb4, 0x94, 0x61, 0x41, 0x9f, 0xd2, 0x0c, + 0x00, 0xbf, 0x3e, 0x0e, 0x06, 0x24, 0x32, 0x9f, 0x91, 0xe9, 0xc7, 0xe3, 0x07, 0xd3, 0xc1, 0xe0, 0xa3, 0xd9, 0x26, + 0x9f, 0xd9, 0x1d, 0xa5, 0xc0, 0xfa, 0x3b, 0xeb, 0xf7, 0x3f, 0x9f, 0xc4, 0xe4, 0xbc, 0xe0, 0xf1, 0xa7, 0x69, 0xb3, + 0x2d, 0x9f, 0x5d, 0x54, 0xb5, 0xb3, 0x7e, 0x7f, 0xdd, 0xef, 0xbf, 0x06, 0xec, 0xa2, 0x99, 0xf3, 0xf5, 0x04, 0x69, + 0xcb, 0xdc, 0x51, 0x24, 0x4d, 0x72, 0x68, 0x0c, 0x6d, 0x8b, 0x55, 0xdb, 0x66, 0x1d, 0x19, 0x58, 0x1c, 0x35, 0x2b, + 0x8a, 0x6b, 0x12, 0x85, 0xbd, 0xb3, 0xdd, 0xee, 0x35, 0x63, 0x2c, 0x26, 0x20, 0xfd, 0xf0, 0x5f, 0xbf, 0xae, 0x1b, + 0x31, 0xc4, 0x4a, 0x25, 0xbe, 0xdb, 0x2e, 0xed, 0x21, 0x10, 0x71, 0xd8, 0xf4, 0xef, 0xcd, 0xbd, 0x5c, 0xd4, 0x8e, + 0x6f, 0xfd, 0x1d, 0x40, 0x88, 0x24, 0x0b, 0xf9, 0x0c, 0xc7, 0xa0, 0xcc, 0x00, 0xc8, 0x3c, 0x52, 0x33, 0x2f, 0x01, + 0x04, 0x98, 0xec, 0x76, 0xa3, 0xf1, 0x78, 0x42, 0x0b, 0x36, 0xfa, 0xdb, 0x93, 0x87, 0xd5, 0xc3, 0x30, 0x08, 0x06, + 0x19, 0x69, 0xe9, 0x29, 0xec, 0x62, 0xad, 0x0e, 0xc1, 0x08, 0x5e, 0xb3, 0x8f, 0xd7, 0xd9, 0x57, 0xb3, 0x8f, 0x48, + 0x58, 0x1b, 0x8c, 0x23, 0x17, 0x69, 0x4b, 0x6f, 0x77, 0x07, 0x83, 0xc9, 0x45, 0xfa, 0x05, 0xb6, 0xd3, 0xe7, 0xdf, + 0x3c, 0x18, 0x4f, 0x38, 0x18, 0xdd, 0x45, 0x41, 0x9f, 0x69, 0xbb, 0x5d, 0xe5, 0x5f, 0x02, 0xdf, 0x60, 0x2a, 0xe8, + 0xd8, 0x2c, 0x0b, 0x37, 0xa8, 0x88, 0x3a, 0x5a, 0x06, 0x55, 0xad, 0x6c, 0xe7, 0x80, 0x5a, 0x62, 0x55, 0x26, 0x6e, + 0x81, 0x61, 0xc8, 0x50, 0x97, 0x7b, 0x5a, 0xfd, 0xce, 0x0b, 0x69, 0xe0, 0x33, 0x9c, 0x88, 0xd0, 0xe3, 0xd6, 0xb8, + 0xcf, 0xad, 0x89, 0x2f, 0x70, 0x6b, 0x25, 0x92, 0x58, 0x03, 0x4b, 0x6a, 0x2e, 0x47, 0x09, 0x3b, 0x29, 0x19, 0x9f, + 0x95, 0x51, 0x42, 0x63, 0x78, 0x90, 0x4c, 0xcc, 0x64, 0x94, 0xa0, 0x7d, 0xa2, 0x8b, 0x30, 0xf8, 0x17, 0x60, 0xf6, + 0xd3, 0x1c, 0xfe, 0x4a, 0x32, 0x4d, 0x8e, 0x21, 0x20, 0xc4, 0xf1, 0x78, 0x16, 0x87, 0x63, 0x12, 0x25, 0x27, 0xf0, + 0x04, 0xff, 0x15, 0xe1, 0x98, 0xd4, 0xfa, 0x0e, 0x23, 0xd5, 0xe5, 0x36, 0x61, 0x00, 0x57, 0x36, 0x9e, 0x4d, 0x22, + 0x2b, 0xdd, 0x95, 0x0f, 0x47, 0xe3, 0x27, 0x64, 0x1a, 0x87, 0x72, 0x90, 0x10, 0x0a, 0xde, 0xbd, 0x61, 0x39, 0x4c, + 0x34, 0x3c, 0x1b, 0xb0, 0x79, 0xa5, 0x63, 0xf3, 0x24, 0x9c, 0x80, 0x30, 0x4c, 0xc8, 0xb1, 0xde, 0x81, 0x94, 0xa2, + 0xcf, 0x73, 0xec, 0xa7, 0x3e, 0x82, 0x30, 0x3b, 0x6a, 0xa9, 0xf8, 0x0a, 0x80, 0x2e, 0x71, 0x70, 0xa8, 0x3d, 0xf3, + 0xc5, 0x2c, 0x2c, 0x3d, 0x2a, 0x65, 0xaa, 0x3b, 0x14, 0x0d, 0xca, 0x6f, 0x1a, 0x74, 0x28, 0xc8, 0x60, 0x42, 0xcb, + 0x93, 0x09, 0x7f, 0x04, 0x01, 0x3c, 0x1a, 0x11, 0xbf, 0x14, 0x4e, 0x0c, 0x84, 0x57, 0x41, 0x06, 0x2a, 0xad, 0x55, + 0x63, 0x46, 0xb6, 0xe2, 0x03, 0x08, 0x93, 0x72, 0x70, 0x23, 0xd7, 0x79, 0x0a, 0x51, 0xc1, 0xd6, 0x79, 0x75, 0x70, + 0x09, 0x96, 0xec, 0x71, 0x05, 0x71, 0xc2, 0xd6, 0x2b, 0xc0, 0xce, 0x7d, 0xb0, 0x2d, 0xeb, 0x03, 0xf5, 0xdd, 0x01, + 0xb6, 0x1c, 0x5e, 0x55, 0xf2, 0x60, 0x32, 0x1e, 0x8f, 0x47, 0x7f, 0xc0, 0xd1, 0x01, 0x84, 0x96, 0x44, 0x86, 0x4f, + 0x06, 0x68, 0xdc, 0x75, 0xc5, 0xbd, 0x71, 0xa1, 0x28, 0x2b, 0x9d, 0x4c, 0x08, 0x88, 0x9f, 0x4d, 0xdf, 0x60, 0x5f, + 0x71, 0x1d, 0xff, 0x64, 0xff, 0x13, 0xb3, 0xa2, 0xd5, 0x4a, 0x1d, 0xbd, 0x7b, 0xfb, 0xe1, 0xd5, 0xc7, 0x57, 0xbf, + 0x3e, 0x3f, 0x7b, 0xf5, 0xe6, 0xc5, 0xab, 0x37, 0xaf, 0x3e, 0xfe, 0xfb, 0x1e, 0x06, 0xdb, 0xb7, 0x15, 0xb1, 0x63, + 0xef, 0xdd, 0x63, 0xbc, 0x5a, 0x7c, 0xe1, 0xec, 0x91, 0xbb, 0xc5, 0x02, 0x6c, 0x82, 0xe1, 0x16, 0x04, 0xd5, 0x8c, + 0x46, 0xa5, 0xef, 0x09, 0xc8, 0x68, 0x54, 0xc8, 0xc6, 0xc3, 0x8a, 0xad, 0x90, 0x8b, 0x77, 0x0c, 0x07, 0x1f, 0xd9, + 0xdf, 0x8a, 0x33, 0xe1, 0x76, 0xb4, 0x35, 0x2b, 0x02, 0x3e, 0x5f, 0x6b, 0x51, 0x79, 0x5c, 0x88, 0xda, 0xdb, 0xf6, + 0x39, 0x24, 0xd4, 0x23, 0x72, 0x1d, 0xbc, 0x6f, 0x83, 0xec, 0xf1, 0x91, 0xf7, 0xa4, 0x3c, 0x43, 0x7d, 0x8e, 0x86, + 0x8f, 0x1a, 0xcf, 0xe8, 0xc4, 0x5c, 0x1b, 0x1d, 0xea, 0x59, 0x01, 0xfb, 0x5b, 0x89, 0xb1, 0xc1, 0x1c, 0x3a, 0x45, + 0xac, 0x0f, 0xa7, 0xfb, 0xdd, 0xbf, 0x19, 0xfd, 0x0c, 0xc7, 0x8f, 0x52, 0x4d, 0x20, 0x2d, 0x0a, 0x94, 0xae, 0x0c, + 0xb9, 0xed, 0x59, 0x58, 0x98, 0x9f, 0x61, 0x83, 0x00, 0xda, 0xcb, 0x8e, 0x25, 0x81, 0x66, 0xf1, 0x5a, 0xd7, 0x3f, + 0x2f, 0x5f, 0x26, 0xda, 0xf9, 0xe2, 0x5b, 0x08, 0x31, 0xec, 0x5f, 0x11, 0x1a, 0x13, 0xee, 0x26, 0xd9, 0x5d, 0x5a, + 0xcc, 0xbd, 0xea, 0x2a, 0xc6, 0xe3, 0xee, 0x8e, 0x2b, 0x45, 0xf3, 0xd6, 0x05, 0xf6, 0x40, 0xcd, 0xeb, 0x78, 0xc9, + 0x42, 0xc0, 0x66, 0x3c, 0xb4, 0x8b, 0xc4, 0xf9, 0xbd, 0xd3, 0x09, 0x39, 0x3c, 0x9a, 0xf2, 0x21, 0x2b, 0xa9, 0x18, + 0xb0, 0xb2, 0xde, 0xa3, 0xe6, 0xbc, 0x4d, 0xc8, 0xc5, 0x3e, 0x0d, 0x17, 0x43, 0x7e, 0xdf, 0x25, 0xe9, 0x23, 0x6f, + 0x38, 0x54, 0xdb, 0xe6, 0x62, 0x48, 0x53, 0x4e, 0xf7, 0xa9, 0x0c, 0x08, 0x91, 0xae, 0xe2, 0x8a, 0xd4, 0xfa, 0xa8, + 0x5a, 0x3b, 0x49, 0xc7, 0x75, 0xb6, 0xfd, 0xc2, 0x25, 0x5b, 0xdd, 0xae, 0xfd, 0x6b, 0x75, 0xfb, 0xc2, 0x0c, 0xe4, + 0xef, 0x4f, 0x44, 0x35, 0x31, 0x10, 0x5d, 0x40, 0x05, 0xff, 0x04, 0x2f, 0x4f, 0x1e, 0x69, 0x05, 0xe8, 0x5d, 0x67, + 0x47, 0xd7, 0x1e, 0x6f, 0xcc, 0x62, 0x6b, 0x89, 0x73, 0x56, 0xf9, 0xce, 0xf2, 0xaa, 0x6c, 0x85, 0xae, 0x23, 0xd8, + 0xef, 0x61, 0x47, 0xdf, 0xbd, 0x6d, 0x00, 0x44, 0x29, 0xac, 0xdc, 0xd9, 0x2f, 0xbc, 0xb3, 0x5f, 0xd8, 0xb3, 0xdf, + 0x6e, 0x02, 0xe5, 0xc3, 0x0a, 0x2d, 0x7b, 0x21, 0x45, 0x65, 0x9a, 0x3c, 0x6e, 0xea, 0xb2, 0x90, 0x16, 0xf3, 0x43, + 0x4b, 0xbb, 0x1e, 0x8f, 0xa9, 0x44, 0xf5, 0xc8, 0x4b, 0x6c, 0xd5, 0x61, 0x49, 0xee, 0xbf, 0x67, 0xfe, 0xcf, 0xde, + 0x20, 0xef, 0xba, 0xdb, 0xfd, 0xdf, 0x5c, 0xe8, 0xe0, 0xb6, 0xb6, 0x16, 0x9e, 0xba, 0x3a, 0x2e, 0xf0, 0xae, 0xb6, + 0xbe, 0xff, 0xae, 0xf6, 0x36, 0xd3, 0xcb, 0xae, 0x02, 0xd4, 0x20, 0xb1, 0xbe, 0xe2, 0x45, 0x96, 0xd4, 0x56, 0xa1, + 0xf1, 0x80, 0x43, 0x68, 0x0f, 0xef, 0xe0, 0x02, 0x39, 0x2c, 0x21, 0xf4, 0x53, 0x65, 0x04, 0x80, 0x3e, 0x8b, 0xfd, + 0x80, 0x87, 0x19, 0x19, 0xf8, 0x12, 0x3f, 0x29, 0x7d, 0x71, 0xf1, 0xe1, 0x5e, 0x66, 0x82, 0x5e, 0x25, 0x36, 0x7b, + 0x21, 0xdb, 0x31, 0x3f, 0xfc, 0x2f, 0x30, 0x1a, 0x84, 0xd7, 0x96, 0xec, 0x50, 0x74, 0xcc, 0x72, 0x05, 0x47, 0x6d, + 0xe9, 0x95, 0xd9, 0xba, 0x7e, 0x56, 0xc3, 0x4c, 0x9f, 0x29, 0x0f, 0x40, 0xf6, 0x85, 0xdc, 0xfd, 0x54, 0x57, 0x2c, + 0xc8, 0xc9, 0x64, 0x3c, 0x25, 0x62, 0x30, 0x68, 0x25, 0x1f, 0x63, 0xf2, 0x70, 0xb8, 0xc7, 0x5c, 0x0a, 0xdd, 0x0f, + 0x2f, 0xf2, 0x2f, 0xd4, 0xd7, 0xd8, 0x92, 0x64, 0x5b, 0xb1, 0xbf, 0xc0, 0x2c, 0x16, 0x88, 0xa3, 0x83, 0x5f, 0x9c, + 0x2f, 0x68, 0x09, 0x6d, 0xa8, 0x0c, 0x7a, 0x72, 0x91, 0x2a, 0x1f, 0xd9, 0x82, 0xc9, 0xe3, 0xf1, 0xcc, 0xef, 0xb9, + 0x63, 0x70, 0x08, 0x89, 0x26, 0xd6, 0xf8, 0xc5, 0xcf, 0x82, 0x71, 0x1c, 0xca, 0x13, 0xd9, 0xf8, 0xae, 0x24, 0xd1, + 0xd8, 0x98, 0x2a, 0xeb, 0xab, 0x44, 0x35, 0x4c, 0xc8, 0xc3, 0x82, 0x1c, 0x16, 0x74, 0xe9, 0x8f, 0x25, 0xa6, 0x1f, + 0xc6, 0x87, 0x93, 0x31, 0x79, 0x18, 0x3f, 0x9c, 0x18, 0xb8, 0x61, 0x3f, 0x47, 0x3e, 0x5c, 0x92, 0xc3, 0x66, 0x95, + 0x60, 0x8a, 0x6a, 0x7a, 0xe6, 0x57, 0x92, 0x0c, 0x96, 0x83, 0xf4, 0x61, 0x2b, 0x2f, 0xd6, 0xaa, 0xc7, 0x7b, 0x7d, + 0xcc, 0xa7, 0x44, 0x34, 0x6e, 0x0c, 0x6b, 0x7a, 0x15, 0xff, 0x29, 0x8b, 0x48, 0x4a, 0x40, 0x24, 0x04, 0xf5, 0x76, + 0x76, 0x91, 0x25, 0xb1, 0x48, 0xa3, 0xb4, 0x26, 0x34, 0x3d, 0x61, 0x93, 0xf1, 0x2c, 0x65, 0xe9, 0xf1, 0xe4, 0xc9, + 0x6c, 0xf2, 0x24, 0x3a, 0x1a, 0x47, 0xe9, 0x60, 0x00, 0xc9, 0x47, 0x63, 0x70, 0xb1, 0x83, 0xdf, 0xec, 0x08, 0x86, + 0xee, 0x04, 0x59, 0xc2, 0x02, 0x9a, 0xf6, 0x75, 0x4d, 0xd2, 0xc3, 0x79, 0xa1, 0x7a, 0x12, 0xdf, 0xd2, 0xb5, 0xe7, + 0xe0, 0xe2, 0xb7, 0xf0, 0xc2, 0xb5, 0xf0, 0x62, 0xbf, 0x85, 0x42, 0x93, 0xed, 0x58, 0xfe, 0xff, 0x71, 0xc3, 0xb8, + 0xeb, 0x2e, 0x61, 0x16, 0xd7, 0x75, 0x36, 0x5a, 0x15, 0xb2, 0x92, 0x70, 0x9b, 0x50, 0xa2, 0xb0, 0x51, 0xbc, 0x5a, + 0xe5, 0xda, 0x45, 0x6c, 0x5e, 0x51, 0x00, 0x77, 0x81, 0x38, 0xc5, 0xc0, 0x42, 0x1b, 0x03, 0xb9, 0xcf, 0xbc, 0x90, + 0xcc, 0xaa, 0x7d, 0xcc, 0x3d, 0xf2, 0xcf, 0x10, 0x8c, 0x51, 0xc5, 0xc9, 0x78, 0xa6, 0xb0, 0x2e, 0xbe, 0x24, 0xef, + 0xfd, 0x0f, 0x8e, 0x22, 0x7b, 0x34, 0x83, 0x9e, 0x20, 0x72, 0x1e, 0x71, 0xf6, 0x64, 0xf2, 0x32, 0x70, 0x3f, 0x83, + 0x95, 0xfe, 0xba, 0xdb, 0x8c, 0xb5, 0xed, 0xd1, 0xbd, 0x30, 0x42, 0xd1, 0xcf, 0xf8, 0xce, 0xd4, 0x0b, 0xb8, 0x84, + 0x6a, 0x60, 0xd7, 0x97, 0x97, 0xbc, 0x04, 0x10, 0xa1, 0x4c, 0xf4, 0xfb, 0xbd, 0x3f, 0x0d, 0x34, 0x69, 0xc9, 0x8b, + 0xd7, 0x99, 0xb0, 0xce, 0x38, 0xd0, 0x54, 0xa0, 0xfe, 0x9f, 0x2a, 0xfb, 0x4c, 0xc7, 0x64, 0xe6, 0x3f, 0x0e, 0x27, + 0x24, 0x6a, 0xbe, 0x26, 0x5f, 0x38, 0x4d, 0xbf, 0x70, 0x45, 0xfb, 0x6f, 0xc8, 0xcc, 0x0d, 0x87, 0x0c, 0xf5, 0x97, + 0x8e, 0x79, 0x32, 0x7a, 0x9d, 0x98, 0x9d, 0x08, 0x56, 0xcd, 0x20, 0x0a, 0x7b, 0x01, 0x0f, 0xea, 0x5a, 0x16, 0x4f, + 0x61, 0xf6, 0x41, 0x8d, 0x28, 0x8e, 0xd9, 0x78, 0x16, 0xca, 0x70, 0x02, 0xf6, 0xbd, 0x93, 0x31, 0xdc, 0x07, 0x64, + 0xf8, 0xa9, 0x0a, 0xb1, 0x73, 0x90, 0xf6, 0xa9, 0x42, 0xc5, 0x04, 0x40, 0x04, 0x42, 0xde, 0x7e, 0x5f, 0xaa, 0x24, + 0x7c, 0x5d, 0x62, 0x4a, 0xa1, 0x3e, 0xf8, 0xef, 0x48, 0xd5, 0x1d, 0xd3, 0xaf, 0xd6, 0x8f, 0x3f, 0x13, 0x8a, 0x4f, + 0x77, 0x29, 0xf1, 0x2d, 0x04, 0x77, 0x8e, 0x41, 0x07, 0x51, 0xa1, 0x19, 0xdb, 0xfd, 0xfc, 0xae, 0xb8, 0x9b, 0xdf, + 0x15, 0xff, 0xef, 0xf8, 0x5d, 0x71, 0x1f, 0x63, 0x58, 0x59, 0x68, 0xf8, 0x59, 0x30, 0x0e, 0xa2, 0xff, 0x3e, 0x9f, + 0x78, 0x27, 0x4f, 0x7d, 0x95, 0x89, 0xe9, 0x1d, 0x4c, 0xb3, 0x4f, 0x50, 0x10, 0x56, 0x71, 0x9f, 0x9e, 0xac, 0x2b, + 0x7b, 0x6b, 0x25, 0x43, 0xcc, 0x73, 0x0f, 0x6b, 0x14, 0x56, 0x1e, 0xd0, 0x3d, 0xaa, 0x36, 0x88, 0x13, 0xc1, 0xc3, + 0x98, 0x59, 0xe9, 0xfb, 0x6e, 0x67, 0x54, 0x98, 0xf7, 0x72, 0x51, 0x90, 0xdd, 0x7c, 0x3c, 0x1b, 0x47, 0x21, 0x36, + 0xe0, 0xbf, 0xcd, 0x58, 0x35, 0x64, 0xf3, 0x9d, 0x8c, 0xd4, 0x9e, 0xc9, 0xd3, 0x64, 0x9f, 0xf4, 0x0e, 0x78, 0x87, + 0xfc, 0xbc, 0xfe, 0x14, 0xc6, 0xd2, 0xf0, 0x5b, 0xf2, 0x32, 0x2e, 0xb2, 0x6a, 0x79, 0x95, 0x25, 0xc8, 0x74, 0xc1, + 0x8b, 0xaf, 0x66, 0xba, 0xbc, 0x8f, 0xf5, 0x01, 0xe3, 0x29, 0xc5, 0xeb, 0x86, 0x28, 0xfd, 0xa2, 0xe5, 0x59, 0xa1, + 0x2e, 0x4f, 0x2a, 0x66, 0x7b, 0x56, 0x82, 0xd3, 0x29, 0x98, 0xe0, 0xeb, 0x9f, 0xae, 0xf7, 0x09, 0xe0, 0x82, 0x42, + 0xcd, 0x69, 0x21, 0x57, 0x06, 0xcb, 0xc9, 0x42, 0x77, 0x02, 0x66, 0xa8, 0x14, 0x78, 0x81, 0x82, 0xbf, 0x68, 0x60, + 0x44, 0x5f, 0xb8, 0xdf, 0x64, 0x60, 0x90, 0x2e, 0xcd, 0x89, 0x30, 0x76, 0xdc, 0x4e, 0x92, 0xb6, 0xa2, 0x9c, 0x71, + 0xf6, 0x5e, 0x5d, 0x29, 0xc0, 0x00, 0x6f, 0x7b, 0x13, 0x6d, 0x12, 0xf4, 0x5a, 0x50, 0x3a, 0x6f, 0xe0, 0x6e, 0x96, + 0x91, 0x11, 0x2e, 0x3e, 0xac, 0x3c, 0x16, 0xdc, 0xb3, 0x5f, 0x48, 0xac, 0xad, 0x1f, 0x18, 0xb3, 0x79, 0xc1, 0x02, + 0x85, 0x0a, 0x14, 0x58, 0xce, 0xb4, 0xa5, 0x69, 0x35, 0xe4, 0x87, 0x47, 0x68, 0x6d, 0x5a, 0x0d, 0xf8, 0xe1, 0x51, + 0x1d, 0x65, 0xc7, 0x90, 0xe5, 0xc4, 0xcf, 0xa0, 0x5e, 0xd7, 0x91, 0x49, 0x31, 0xd9, 0xbd, 0xfa, 0xf2, 0xd4, 0x1f, + 0xd5, 0x2d, 0xb8, 0x7e, 0x00, 0x02, 0xd8, 0x00, 0x1c, 0x02, 0xd5, 0x60, 0x69, 0x44, 0xb0, 0x28, 0x53, 0x68, 0x5f, + 0x43, 0xef, 0x8d, 0x86, 0xff, 0x02, 0x77, 0x11, 0xb9, 0xf2, 0x3f, 0x41, 0xe0, 0xaf, 0x28, 0xd3, 0xca, 0x14, 0xff, + 0x13, 0xad, 0x5e, 0xa1, 0x9c, 0x35, 0xad, 0xf9, 0x20, 0x5a, 0x13, 0xa1, 0x9a, 0x31, 0x04, 0xff, 0x56, 0x96, 0x69, + 0x4b, 0x55, 0xa5, 0x3e, 0x34, 0x5e, 0x6b, 0x85, 0xb3, 0x7c, 0x1c, 0x79, 0xaf, 0x31, 0x74, 0x6c, 0xe2, 0x2c, 0xe5, + 0x54, 0xea, 0xec, 0xcd, 0xa1, 0x8c, 0x1c, 0xe0, 0x74, 0xc2, 0xc6, 0xd3, 0xe4, 0x58, 0x4e, 0x13, 0x07, 0x99, 0x9f, + 0x33, 0x8c, 0xac, 0x6a, 0x40, 0x58, 0x94, 0x0d, 0xa5, 0x2d, 0xc0, 0x24, 0x27, 0x84, 0x4c, 0x31, 0x14, 0x45, 0x3e, + 0xd2, 0xfd, 0xb0, 0xde, 0xac, 0xee, 0x8b, 0x77, 0x1a, 0xe0, 0x34, 0x4c, 0x20, 0x10, 0x78, 0x11, 0xdf, 0x64, 0xe2, + 0x12, 0x3c, 0x86, 0x07, 0xf0, 0x25, 0xb8, 0xc9, 0xa5, 0xec, 0x5f, 0x55, 0x98, 0xe3, 0xda, 0x02, 0x06, 0x0d, 0x56, + 0x0f, 0xa2, 0xc3, 0xa5, 0xb4, 0xd9, 0x55, 0x80, 0xd8, 0x98, 0x42, 0x2c, 0x0b, 0xb6, 0xb6, 0xec, 0xd9, 0xcf, 0xaa, + 0x69, 0x68, 0x9d, 0x70, 0x2a, 0x2e, 0x73, 0x88, 0xa2, 0x32, 0x88, 0xc1, 0x1d, 0xc9, 0xe3, 0xf3, 0x4e, 0x45, 0x78, + 0x41, 0xc0, 0xad, 0x2c, 0x91, 0xe1, 0x8a, 0x2e, 0x47, 0xb7, 0x74, 0x3d, 0xba, 0xa1, 0x63, 0x3a, 0xf9, 0xfb, 0x18, + 0x2d, 0xb2, 0x55, 0xea, 0x86, 0xae, 0x47, 0x4b, 0xfa, 0xfd, 0x98, 0x1e, 0xfd, 0x6d, 0x4c, 0xa6, 0x4b, 0x3c, 0x4c, + 0xe8, 0x05, 0x38, 0x76, 0x91, 0x1a, 0x3d, 0x35, 0x7d, 0x83, 0xc3, 0x6a, 0x94, 0x0f, 0xf9, 0x28, 0xa7, 0x7c, 0x54, + 0x0c, 0xab, 0x11, 0x78, 0x3a, 0x56, 0x43, 0x3e, 0xaa, 0x28, 0x1f, 0x9d, 0x0f, 0xab, 0xd1, 0x39, 0x69, 0x36, 0xfd, + 0x55, 0xc5, 0xaf, 0x4a, 0x76, 0x01, 0xdb, 0x02, 0x96, 0xaf, 0x5b, 0x65, 0xcb, 0xd4, 0x5f, 0xd5, 0xe6, 0x64, 0xb6, + 0x9c, 0xbd, 0xbd, 0xee, 0x72, 0x62, 0xf1, 0xb8, 0x6d, 0x3a, 0x5c, 0x7d, 0x39, 0x51, 0x27, 0xbd, 0x42, 0x7e, 0x18, + 0x4f, 0x85, 0x3a, 0x87, 0xc0, 0x4c, 0x62, 0x16, 0xc6, 0x0c, 0x9b, 0xa9, 0xd3, 0x40, 0x81, 0x93, 0x8d, 0x3c, 0x17, + 0xc5, 0x6c, 0x94, 0x53, 0x78, 0x1f, 0x13, 0x12, 0x09, 0x38, 0xab, 0x4e, 0xaa, 0x51, 0x01, 0x31, 0x47, 0x58, 0x88, + 0x8f, 0xd0, 0x2f, 0xf5, 0x91, 0x87, 0x04, 0x9e, 0x61, 0x5f, 0x8b, 0x41, 0x0c, 0x47, 0xbc, 0xad, 0xac, 0x9a, 0x85, + 0x09, 0x54, 0x56, 0x0d, 0x4b, 0x53, 0x59, 0x41, 0xb3, 0x51, 0xe5, 0x57, 0x56, 0xe1, 0x18, 0x25, 0x84, 0x44, 0xa5, + 0xae, 0x0c, 0xd4, 0x27, 0x09, 0x0b, 0x4b, 0x5d, 0xd9, 0xb9, 0xfa, 0xe8, 0xdc, 0xaf, 0xec, 0x1c, 0x5c, 0x48, 0x07, + 0x89, 0x7f, 0x95, 0x4a, 0xd3, 0xf6, 0x75, 0xb0, 0xb1, 0xaa, 0xe8, 0x96, 0xdf, 0x56, 0x45, 0x1c, 0x95, 0xd4, 0xc5, + 0x80, 0xc6, 0x85, 0x11, 0x49, 0xaa, 0xd7, 0x28, 0xf8, 0x43, 0x82, 0xa8, 0x34, 0x06, 0xaf, 0xce, 0xa4, 0x6b, 0xa5, + 0x56, 0x54, 0x0c, 0xca, 0x41, 0x01, 0xf7, 0xa7, 0xbc, 0xb5, 0x90, 0x7e, 0x86, 0x88, 0xca, 0x50, 0xde, 0xe0, 0x17, + 0x0c, 0x9e, 0xcc, 0xae, 0xd2, 0x30, 0x19, 0x6d, 0x68, 0x3c, 0x5a, 0x22, 0x1c, 0x0c, 0x5b, 0xa5, 0x0a, 0x6f, 0xfd, + 0x12, 0xd2, 0x6f, 0x69, 0x3c, 0xba, 0xa1, 0xa9, 0xb5, 0x39, 0x35, 0x50, 0x57, 0xbd, 0x31, 0xbd, 0x8d, 0xe0, 0xf5, + 0x26, 0x5a, 0x52, 0xd8, 0x4a, 0xa7, 0x79, 0x76, 0x29, 0xa2, 0x94, 0x22, 0x02, 0xe1, 0x1a, 0x91, 0x03, 0x97, 0x1a, + 0x6d, 0x70, 0x3d, 0x80, 0x32, 0x34, 0x5c, 0xe0, 0x72, 0x10, 0x8f, 0x96, 0x1e, 0x99, 0x5a, 0xeb, 0x8b, 0x2c, 0xc2, + 0x47, 0x3b, 0x1b, 0x2d, 0xc5, 0x33, 0x62, 0x61, 0x5c, 0xc1, 0x10, 0xea, 0xc2, 0x4a, 0x53, 0x90, 0x74, 0x81, 0x23, + 0x7b, 0x61, 0x5c, 0x85, 0x5b, 0x30, 0x2d, 0xda, 0x80, 0x79, 0x14, 0x28, 0x1c, 0x5c, 0x82, 0xf4, 0x13, 0xca, 0x76, + 0x8e, 0xd2, 0xe4, 0xf0, 0x26, 0xe8, 0x62, 0x6f, 0x82, 0x90, 0x76, 0x75, 0x93, 0x2d, 0xe9, 0x1b, 0x6c, 0xef, 0xd1, + 0xa9, 0xa8, 0xa0, 0xfa, 0xdc, 0x82, 0xc9, 0x92, 0x0d, 0xc2, 0x96, 0x30, 0x3d, 0xd3, 0x17, 0x80, 0x3d, 0x7d, 0x78, + 0xb4, 0x37, 0xdf, 0xc5, 0xec, 0xcd, 0x61, 0x19, 0x8d, 0x95, 0x05, 0x6f, 0x6e, 0x89, 0xdd, 0x92, 0x8d, 0xa7, 0xcb, + 0xe3, 0x72, 0xba, 0x44, 0x62, 0x67, 0xe8, 0x16, 0xe3, 0xf3, 0xe5, 0x82, 0x26, 0x78, 0xb6, 0xb1, 0x6a, 0xbe, 0x34, + 0x68, 0x29, 0x29, 0xc3, 0xf5, 0xb6, 0x44, 0xff, 0x7f, 0x75, 0xf1, 0x4b, 0x01, 0x5e, 0x82, 0xb1, 0x00, 0x10, 0xee, + 0xc1, 0xb4, 0x20, 0xb5, 0x51, 0x36, 0xd6, 0x69, 0x98, 0xe2, 0x22, 0x30, 0x29, 0xfd, 0x7e, 0x98, 0xb3, 0x94, 0x78, + 0xd0, 0xa1, 0x76, 0x94, 0x56, 0x0d, 0x9b, 0x39, 0xe0, 0x91, 0xd4, 0x39, 0x36, 0xf9, 0xfb, 0x78, 0x16, 0xa8, 0x81, + 0x08, 0xa2, 0xec, 0x18, 0x1f, 0x31, 0x70, 0x51, 0xa4, 0xe3, 0x76, 0xba, 0x22, 0x2e, 0xf7, 0x8f, 0x59, 0x88, 0x93, + 0x84, 0xb9, 0x66, 0xd9, 0x90, 0x55, 0x11, 0x26, 0xe8, 0xc2, 0xc0, 0x7e, 0x6d, 0xc8, 0xaa, 0xc3, 0x23, 0x88, 0xd4, + 0x6a, 0xcb, 0xb8, 0xea, 0x2a, 0xe3, 0x7b, 0x00, 0xb2, 0x66, 0x8c, 0x1d, 0xfd, 0x6d, 0x3c, 0x53, 0xdf, 0x44, 0x21, + 0x3f, 0x39, 0xfa, 0x1b, 0x24, 0x1f, 0x7f, 0x8f, 0xcc, 0x1c, 0x24, 0x37, 0x0a, 0x3a, 0x6f, 0xce, 0xba, 0x86, 0xd2, + 0xc4, 0xb5, 0x57, 0xea, 0xb5, 0x27, 0xcd, 0xda, 0x2b, 0xd0, 0x9d, 0xda, 0xf0, 0x1e, 0xca, 0x76, 0x16, 0x4c, 0xd0, + 0xd1, 0xec, 0x0e, 0x74, 0xf0, 0x4e, 0x11, 0xf4, 0x2c, 0x09, 0x8d, 0x47, 0xa8, 0x32, 0xea, 0xc5, 0x78, 0x50, 0x9d, + 0xac, 0x4b, 0xe6, 0x19, 0x30, 0xc7, 0xf6, 0x1c, 0x12, 0xc3, 0x5c, 0x1d, 0xd4, 0x29, 0x2b, 0x87, 0x39, 0x1e, 0xc0, + 0x6b, 0x26, 0x87, 0x62, 0x90, 0x6b, 0x94, 0xef, 0x0b, 0x56, 0x0c, 0xcb, 0x41, 0xae, 0xb9, 0x99, 0x69, 0x33, 0x36, + 0x6d, 0xa2, 0xc3, 0x33, 0xaf, 0xd8, 0xc9, 0xaa, 0x07, 0x7c, 0x2c, 0x78, 0x32, 0xfb, 0x9e, 0x8f, 0x0f, 0x80, 0x93, + 0xd9, 0xde, 0x46, 0x4b, 0xba, 0x89, 0x52, 0x7a, 0x13, 0xad, 0xe9, 0x32, 0xba, 0x30, 0x26, 0xc6, 0x49, 0x0d, 0xe7, + 0x00, 0xb4, 0x0a, 0x20, 0xf1, 0xd4, 0xaf, 0xf7, 0x3c, 0xa9, 0xc2, 0x25, 0x4d, 0xc1, 0x6d, 0xd8, 0xb7, 0xcf, 0x3c, + 0xf3, 0x25, 0x52, 0x5b, 0xc4, 0x58, 0xb3, 0x86, 0x8a, 0x5b, 0x6f, 0xdd, 0x47, 0xa2, 0x86, 0x9d, 0xeb, 0x62, 0x13, + 0x55, 0xc3, 0xc9, 0xb4, 0x04, 0xc4, 0xd6, 0x72, 0x38, 0x74, 0x47, 0xc8, 0xfe, 0xf1, 0xa3, 0x03, 0x3d, 0xf7, 0xa4, + 0xc5, 0xb6, 0x6d, 0xf9, 0x03, 0x43, 0x98, 0xd2, 0x2f, 0x1f, 0xf9, 0x80, 0x58, 0x71, 0x0e, 0x67, 0x23, 0x50, 0x47, + 0x2b, 0x74, 0xfa, 0x57, 0x15, 0x16, 0xfa, 0x00, 0xdf, 0xde, 0x46, 0x09, 0xdd, 0x44, 0xb9, 0x47, 0xd6, 0x96, 0x35, + 0x93, 0xd3, 0xb3, 0x2c, 0xe4, 0xed, 0x03, 0xbd, 0x5c, 0x00, 0x88, 0xd6, 0x20, 0xf6, 0xa5, 0xae, 0x47, 0xe0, 0x34, + 0x84, 0x26, 0xa1, 0x11, 0x5c, 0x55, 0x10, 0x46, 0xc0, 0x95, 0x84, 0xbf, 0xc1, 0x44, 0x05, 0xbe, 0x00, 0x17, 0x99, + 0x34, 0xcd, 0x79, 0x50, 0xfb, 0x23, 0xf9, 0xba, 0x68, 0x7b, 0xbb, 0xc2, 0x68, 0x82, 0xb1, 0x27, 0xda, 0xe7, 0x91, + 0x72, 0x14, 0x17, 0x49, 0x98, 0x8d, 0x6e, 0xd5, 0x79, 0x4e, 0xb3, 0xd1, 0x46, 0xff, 0xaa, 0xe8, 0x98, 0xfe, 0xaa, + 0x03, 0xda, 0x28, 0xe9, 0x5b, 0xc7, 0xd9, 0x80, 0xd6, 0x8b, 0xa5, 0xf1, 0xbf, 0x96, 0xa3, 0x5b, 0x2a, 0x47, 0x1b, + 0xdf, 0x92, 0x6a, 0x32, 0x2d, 0x8e, 0x05, 0x1a, 0x52, 0x75, 0x7e, 0x5f, 0x00, 0x3f, 0x57, 0x1a, 0xdf, 0x69, 0xf3, + 0xbd, 0xd7, 0xfe, 0x4d, 0x27, 0x4f, 0xa0, 0x58, 0xa2, 0x82, 0x55, 0x23, 0xb0, 0x63, 0x5f, 0xe7, 0x71, 0x61, 0x46, + 0x29, 0xa6, 0xd6, 0xa4, 0x1f, 0x03, 0x57, 0x4c, 0x7b, 0x05, 0xb8, 0x5a, 0x82, 0x93, 0x00, 0xc4, 0xd0, 0x84, 0x3d, + 0x3b, 0x86, 0xa8, 0xe7, 0xc6, 0x31, 0x4a, 0x36, 0xdc, 0x03, 0x62, 0x2d, 0xf3, 0x56, 0x2e, 0x01, 0x09, 0xbc, 0xf5, + 0x30, 0x29, 0x00, 0x63, 0xb0, 0x5c, 0x12, 0x9d, 0xc7, 0x43, 0x9f, 0x50, 0x2f, 0x34, 0xea, 0x84, 0x6c, 0x6c, 0x09, + 0x1c, 0x7f, 0x58, 0x1f, 0x02, 0xc1, 0xab, 0x3c, 0xd7, 0x5f, 0x69, 0x5d, 0x7f, 0xa9, 0xf4, 0xdc, 0xb1, 0xbc, 0xa8, + 0xd5, 0x6d, 0x6a, 0xf4, 0x02, 0x2c, 0x7c, 0xb7, 0xca, 0x3c, 0x92, 0x5b, 0x84, 0x54, 0x05, 0x56, 0xea, 0x16, 0x12, + 0xcc, 0xbf, 0x92, 0xb3, 0x55, 0x99, 0xaf, 0x1e, 0xb9, 0x57, 0xce, 0xa6, 0xa7, 0xbf, 0x21, 0x41, 0xdb, 0x74, 0xa4, + 0x79, 0xbc, 0x45, 0x87, 0xcf, 0xae, 0xb5, 0xc4, 0xdc, 0x4b, 0x54, 0x3c, 0x9f, 0x02, 0xb6, 0x7a, 0x96, 0x5d, 0x29, + 0x1f, 0xab, 0x7d, 0x1c, 0x3f, 0x73, 0xfe, 0x24, 0x55, 0x78, 0x21, 0x1a, 0x4a, 0x10, 0xf0, 0xe6, 0x30, 0x76, 0x85, + 0x2a, 0xa0, 0xa1, 0xb9, 0x81, 0xe3, 0x5c, 0x0d, 0x2b, 0x4d, 0xc0, 0xb4, 0x94, 0x47, 0x07, 0x38, 0x34, 0x79, 0xd4, + 0x6e, 0x1a, 0x56, 0x86, 0xae, 0x35, 0xfa, 0xdc, 0x56, 0x3a, 0xe3, 0xcd, 0x86, 0x1f, 0x1e, 0x0d, 0x2a, 0xfc, 0x49, + 0x9a, 0xa3, 0xd1, 0xce, 0x0d, 0x77, 0x1a, 0x81, 0x99, 0x2b, 0xb9, 0x22, 0xfb, 0xa3, 0xe4, 0xe5, 0xf7, 0xf4, 0xc2, + 0x02, 0xfa, 0xf3, 0xdf, 0x17, 0x13, 0x4e, 0x5a, 0x62, 0x42, 0xb4, 0x74, 0xd0, 0xa2, 0x83, 0x3d, 0xe5, 0x95, 0x7d, + 0x89, 0x97, 0xce, 0xf1, 0x7f, 0xae, 0xc7, 0xda, 0x57, 0x20, 0xb4, 0x3a, 0x79, 0xd8, 0x9e, 0x2c, 0x10, 0x35, 0xa0, + 0x9a, 0x5d, 0x95, 0xa3, 0x4c, 0x3b, 0x2b, 0xb2, 0x6d, 0xc8, 0x5c, 0xf7, 0xb3, 0x34, 0x6c, 0x26, 0x3b, 0x16, 0x96, + 0x19, 0x06, 0x6b, 0xa7, 0x8a, 0x3e, 0x07, 0x2d, 0x3f, 0x82, 0x67, 0x4d, 0xe5, 0x99, 0xcf, 0x66, 0x19, 0xf1, 0x02, + 0x9d, 0x73, 0x2a, 0x16, 0x4d, 0xe9, 0x58, 0xb9, 0xdb, 0x95, 0x68, 0x2c, 0x51, 0x46, 0x41, 0x50, 0xdb, 0x20, 0xec, + 0xba, 0x74, 0x4f, 0xfa, 0xb4, 0x8f, 0x4f, 0x2b, 0xd0, 0xf7, 0xf8, 0x2e, 0x03, 0x89, 0xa9, 0x27, 0x79, 0xa8, 0x1a, + 0xcd, 0xd1, 0xc9, 0xb3, 0x3c, 0xd5, 0xf8, 0xfc, 0x4a, 0x76, 0xd6, 0xbc, 0x5b, 0x8d, 0x29, 0xfe, 0x23, 0x75, 0xfb, + 0xce, 0x65, 0x68, 0xa2, 0xbf, 0x96, 0x07, 0x2d, 0x85, 0x05, 0xc7, 0x6d, 0xe3, 0xaf, 0xdf, 0x66, 0x0e, 0x31, 0x2c, + 0x5d, 0x0e, 0x6f, 0x42, 0x87, 0xee, 0xae, 0xb2, 0x37, 0xd7, 0x47, 0xd4, 0xa9, 0x8b, 0x75, 0x1b, 0x50, 0xb2, 0xe4, + 0xdd, 0x3a, 0x3d, 0xb1, 0xd2, 0xaf, 0x87, 0xe1, 0xde, 0x3c, 0x6a, 0x76, 0x77, 0xb7, 0x9b, 0x90, 0xb6, 0x7d, 0x30, + 0xde, 0x97, 0xb0, 0x10, 0xe7, 0x1d, 0x76, 0xf0, 0x73, 0x58, 0x3d, 0xe4, 0x83, 0xdf, 0x71, 0x9c, 0x61, 0xf4, 0x33, + 0x65, 0xe8, 0xf3, 0xa2, 0x90, 0x57, 0xaa, 0x53, 0xbe, 0xd0, 0xad, 0x65, 0xea, 0xfd, 0x26, 0x7e, 0xd3, 0x0a, 0x10, + 0xe3, 0x75, 0xc5, 0x4a, 0xf1, 0x86, 0x56, 0x18, 0xd7, 0xc0, 0x6d, 0x72, 0xa8, 0xa5, 0x5a, 0x20, 0xea, 0xf2, 0x93, + 0x87, 0x3c, 0x32, 0xea, 0x4c, 0xf8, 0xee, 0x21, 0xf7, 0xa5, 0x6b, 0xfb, 0x4d, 0xfc, 0x52, 0xd3, 0x0e, 0xf7, 0x07, + 0xba, 0xa3, 0x75, 0xf7, 0x37, 0xcf, 0xe6, 0xe7, 0x91, 0xf9, 0x62, 0x80, 0xcd, 0xda, 0x67, 0x5c, 0xf6, 0x0c, 0xf7, + 0xbd, 0xe9, 0xc1, 0x58, 0x40, 0x20, 0x31, 0x43, 0x2f, 0x03, 0x17, 0xb8, 0xc0, 0x5d, 0x61, 0xc0, 0x10, 0xd7, 0xb4, + 0xe4, 0x56, 0x5b, 0xd9, 0xfa, 0xc8, 0xdb, 0xa8, 0x10, 0xac, 0xeb, 0x8e, 0x9b, 0x24, 0x87, 0xe0, 0x84, 0x2d, 0xf7, + 0xbe, 0xf6, 0xda, 0x19, 0xfe, 0x32, 0x10, 0xce, 0x2d, 0xd1, 0x33, 0x6a, 0x7b, 0xa8, 0xd5, 0xbd, 0x86, 0x57, 0xd9, + 0x44, 0x9e, 0xf5, 0x9b, 0x79, 0x69, 0xd8, 0x17, 0xbc, 0x96, 0x82, 0x43, 0x63, 0xbb, 0x15, 0x6e, 0xb1, 0x78, 0x47, + 0xab, 0x95, 0xb5, 0xb6, 0xda, 0x6b, 0xa5, 0xa2, 0x77, 0xaf, 0x39, 0x4e, 0x9c, 0xa5, 0xb0, 0xfd, 0xf0, 0xfe, 0x82, + 0x5d, 0x13, 0xc0, 0xa0, 0xc5, 0x64, 0x81, 0x12, 0x54, 0xb2, 0x56, 0xb5, 0xdb, 0x29, 0xf1, 0xcb, 0xfd, 0xaa, 0xcb, + 0x6c, 0xe7, 0xf1, 0xeb, 0x26, 0xed, 0x0b, 0x9f, 0xa3, 0x1f, 0xe6, 0x0f, 0xd6, 0x49, 0xc9, 0x19, 0xc6, 0xb5, 0xfc, + 0xff, 0x2a, 0x7a, 0x59, 0x64, 0x69, 0xb4, 0x35, 0x3c, 0x98, 0x0d, 0xb5, 0xe9, 0x43, 0x63, 0x54, 0x6e, 0xd9, 0x28, + 0x22, 0x5a, 0xdd, 0x82, 0x60, 0x46, 0x71, 0x5f, 0xa2, 0xcd, 0x2b, 0x55, 0x16, 0xde, 0xe1, 0x0b, 0x1b, 0xbd, 0x61, + 0x7b, 0x42, 0x28, 0xdf, 0x3f, 0x2d, 0xcc, 0xaa, 0xa5, 0xa2, 0xc1, 0x76, 0x09, 0xef, 0x62, 0x54, 0xe9, 0x27, 0x4c, + 0xb6, 0x2c, 0x98, 0xea, 0xff, 0x8f, 0x45, 0x96, 0xb6, 0x29, 0x3a, 0x30, 0x9d, 0x4d, 0x9f, 0x4e, 0xba, 0xc5, 0x75, + 0x06, 0x2c, 0x22, 0xd8, 0x52, 0xe1, 0x78, 0x94, 0xda, 0x0d, 0x12, 0x26, 0x82, 0x9b, 0xa8, 0x97, 0x1d, 0x2d, 0x53, + 0xb2, 0x2a, 0xe0, 0xf9, 0x95, 0xab, 0x4c, 0xc7, 0xd1, 0xd0, 0xef, 0x9f, 0xa5, 0x26, 0xf4, 0x2b, 0xf5, 0x52, 0x15, + 0xe7, 0x61, 0x54, 0x1d, 0x2a, 0x8c, 0xd1, 0x92, 0xa6, 0x70, 0x0c, 0x66, 0x17, 0x61, 0x8a, 0x97, 0xb3, 0x6d, 0xc2, + 0xbe, 0x62, 0x20, 0x97, 0xda, 0xa0, 0x5e, 0x53, 0xa2, 0x35, 0x6b, 0x6f, 0xe6, 0x94, 0xd0, 0x0b, 0x56, 0xfa, 0x77, + 0xa1, 0x35, 0x08, 0x14, 0x65, 0x33, 0x65, 0xba, 0xd1, 0xed, 0xbc, 0xa0, 0x09, 0x2d, 0xe8, 0x8a, 0xd4, 0xa0, 0xef, + 0x75, 0x72, 0x76, 0x74, 0xb2, 0x33, 0xb3, 0x1e, 0xb3, 0x62, 0x38, 0x99, 0xc6, 0x70, 0x4d, 0x8b, 0xdd, 0x35, 0x6d, + 0xd9, 0xbc, 0x71, 0x35, 0x36, 0x4e, 0x83, 0x76, 0x81, 0xb4, 0x4d, 0x73, 0xfb, 0xa9, 0xc7, 0xed, 0xaf, 0x6b, 0xb6, + 0x9c, 0xf6, 0xd6, 0xbb, 0x5d, 0x2f, 0x05, 0x1b, 0x51, 0x8f, 0x8f, 0x5f, 0x2b, 0xe9, 0xba, 0xe5, 0xf2, 0x53, 0x78, + 0xf6, 0xf8, 0xfa, 0xa5, 0x0f, 0x2e, 0x47, 0xab, 0x36, 0x77, 0xbf, 0xdc, 0x47, 0x96, 0xfb, 0xaa, 0xa1, 0xe5, 0x7a, + 0x86, 0x9a, 0xe4, 0xd9, 0x68, 0xef, 0x50, 0x0b, 0x96, 0xb3, 0x6e, 0xc2, 0x13, 0x83, 0x1d, 0x7b, 0xd5, 0xd8, 0x1c, + 0x95, 0xb9, 0x64, 0x35, 0x48, 0xa0, 0x4f, 0xf2, 0x4c, 0xd3, 0x3f, 0xca, 0x30, 0x1f, 0xdd, 0xd2, 0x1c, 0x70, 0xc5, + 0x2a, 0x7b, 0xc9, 0x20, 0x75, 0xd5, 0x5e, 0xe2, 0xca, 0x57, 0x38, 0x24, 0x5b, 0x7c, 0x32, 0x4c, 0xd5, 0x17, 0x97, + 0x3c, 0xf8, 0x7f, 0x5b, 0xb5, 0x4a, 0xcf, 0x4d, 0x72, 0xc3, 0xf1, 0xaf, 0x93, 0xb6, 0x8f, 0x89, 0x41, 0x02, 0x9e, + 0xda, 0xc5, 0x50, 0x8d, 0xaa, 0x22, 0x16, 0x65, 0x6e, 0x62, 0x8e, 0xdd, 0xd9, 0x35, 0x74, 0x50, 0x06, 0xbf, 0x6e, + 0xf8, 0xc4, 0xdc, 0x81, 0xad, 0x40, 0x47, 0x27, 0x9a, 0xcb, 0x30, 0x33, 0x97, 0x61, 0xda, 0xb5, 0x55, 0x60, 0x78, + 0xd5, 0x56, 0x49, 0x94, 0xab, 0x51, 0x8f, 0x9b, 0x59, 0x6a, 0xf6, 0x22, 0xef, 0x5e, 0x93, 0x9e, 0xc4, 0x9f, 0x2e, + 0x3d, 0x79, 0x3d, 0x0c, 0x88, 0xfc, 0x9a, 0xa5, 0xe1, 0x1a, 0x05, 0xc1, 0xa9, 0xd5, 0x0e, 0xa4, 0xf9, 0x08, 0x90, + 0xf9, 0x71, 0x1a, 0x7e, 0xd0, 0xe2, 0x1c, 0xb2, 0x55, 0x1a, 0x27, 0xb6, 0x34, 0xea, 0x21, 0xb8, 0xf3, 0x5e, 0xf1, + 0x18, 0x02, 0x1f, 0x7e, 0xc4, 0xcd, 0xa0, 0xa2, 0xdb, 0x12, 0x13, 0xa5, 0xcd, 0xa3, 0x6e, 0xf9, 0xa8, 0x21, 0x54, + 0xb2, 0x32, 0xbc, 0x04, 0xda, 0xbb, 0x27, 0x30, 0xaa, 0x9c, 0x40, 0x66, 0x58, 0x1c, 0x1e, 0x0d, 0x53, 0x25, 0x28, + 0x1a, 0xca, 0xe1, 0x12, 0xe5, 0x80, 0x98, 0x04, 0x02, 0xa3, 0x62, 0x90, 0xea, 0xca, 0xd4, 0x8b, 0x41, 0xaa, 0x6f, + 0x55, 0xa4, 0x3e, 0xcb, 0xc2, 0x8a, 0xea, 0x16, 0xd1, 0x31, 0x1d, 0x4a, 0xba, 0x34, 0x3b, 0x35, 0xd7, 0xd2, 0x0b, + 0xb5, 0x1c, 0x9f, 0xea, 0x34, 0x18, 0xc5, 0x0f, 0x2e, 0x45, 0xbf, 0x55, 0xfb, 0xd9, 0x7f, 0x8b, 0x29, 0x35, 0x62, + 0x53, 0x7b, 0x8b, 0x18, 0x56, 0xed, 0xc7, 0xac, 0xca, 0x41, 0xbb, 0x0b, 0xca, 0xc6, 0xca, 0x38, 0xcf, 0x37, 0x82, + 0x99, 0x83, 0xb6, 0xb1, 0x6a, 0xfa, 0xd0, 0x1b, 0x31, 0x6a, 0x6f, 0x4c, 0x35, 0xee, 0x09, 0xfc, 0xb4, 0x41, 0xd3, + 0xbd, 0xc8, 0x73, 0xd4, 0x23, 0xef, 0xfe, 0x67, 0x8e, 0xec, 0x4c, 0xbe, 0x88, 0x65, 0x52, 0xb7, 0x8f, 0x49, 0xb0, + 0x50, 0x75, 0x8c, 0x2e, 0xdc, 0xc8, 0x94, 0xf6, 0x73, 0x6f, 0xfa, 0x11, 0xcf, 0xe4, 0x7e, 0x3b, 0x34, 0xea, 0x4b, + 0xc3, 0x5a, 0x52, 0x44, 0x7d, 0x41, 0x6f, 0x4d, 0x75, 0x74, 0x44, 0xbd, 0x8e, 0xc0, 0xea, 0x8a, 0xb6, 0xa8, 0x01, + 0x98, 0x8c, 0x6b, 0x5b, 0x9b, 0xcf, 0xc1, 0xd4, 0x56, 0x55, 0xf0, 0x84, 0xee, 0x0b, 0xa5, 0x7b, 0x93, 0xba, 0x6e, + 0x0d, 0xb1, 0x05, 0x0c, 0x08, 0xdc, 0xe8, 0xa9, 0xe9, 0x0f, 0x9a, 0xa8, 0x00, 0x34, 0x68, 0xdc, 0xce, 0x74, 0x8e, + 0x44, 0xbf, 0x53, 0x9b, 0xb6, 0x99, 0xea, 0x55, 0xe5, 0x03, 0xa8, 0xf8, 0xb3, 0x74, 0x76, 0x61, 0x46, 0x2c, 0x80, + 0x71, 0x0f, 0x9c, 0xa9, 0xde, 0x69, 0x06, 0xd6, 0x13, 0x79, 0x9e, 0x95, 0x3c, 0x91, 0x02, 0x66, 0x44, 0x5e, 0x5d, + 0x49, 0x01, 0xc3, 0xa0, 0x06, 0x00, 0x2d, 0x9a, 0xcb, 0x68, 0xc2, 0x1f, 0xd5, 0xf4, 0xae, 0x3c, 0xfc, 0x91, 0xce, + 0xf5, 0xdd, 0xb8, 0x06, 0x43, 0xe5, 0x75, 0xc5, 0xf7, 0x32, 0x7d, 0xc7, 0x1f, 0x7b, 0x99, 0x96, 0x72, 0x5d, 0xec, + 0x65, 0x79, 0xf4, 0x1d, 0x7f, 0xa2, 0xf3, 0x1c, 0x3d, 0xae, 0x69, 0x1a, 0x6f, 0xf6, 0xb2, 0xfc, 0xfd, 0xbb, 0xc7, + 0x36, 0xcf, 0xa3, 0x71, 0x4d, 0x6f, 0x38, 0xff, 0xe4, 0x32, 0x4d, 0x74, 0x55, 0xe3, 0xc7, 0x7f, 0xb7, 0xb9, 0x1e, + 0xd7, 0xf4, 0x4a, 0x8a, 0x6a, 0xb9, 0x57, 0xd4, 0xd1, 0x77, 0x47, 0x7f, 0xe7, 0xdf, 0x99, 0xee, 0x1d, 0xd5, 0xf4, + 0xaf, 0x75, 0x5c, 0x54, 0xbc, 0xd8, 0x2b, 0xee, 0x6f, 0x7f, 0xff, 0xfb, 0x63, 0x9b, 0xf1, 0x71, 0x4d, 0x37, 0x3c, + 0xee, 0x68, 0xfb, 0xe4, 0xc9, 0x63, 0xfe, 0xb7, 0xba, 0xa6, 0xbf, 0x31, 0x3f, 0x38, 0xea, 0x69, 0xe6, 0xe9, 0xe1, + 0x73, 0xd9, 0x44, 0x0d, 0x18, 0x7a, 0x68, 0x00, 0x4b, 0x69, 0xd5, 0x34, 0x77, 0x78, 0xe5, 0x82, 0xdb, 0xf7, 0x59, + 0x9c, 0xc6, 0x2b, 0x38, 0x08, 0xb6, 0x68, 0x9c, 0x55, 0x00, 0xa7, 0x0a, 0xbc, 0x67, 0x54, 0xd2, 0xac, 0x94, 0xbf, + 0x71, 0xfe, 0x09, 0x06, 0x0d, 0x21, 0x6d, 0x54, 0x64, 0xa0, 0xb7, 0x2b, 0x1d, 0xd9, 0x08, 0xfd, 0x37, 0x9b, 0x71, + 0x70, 0x7c, 0x18, 0xbd, 0x7e, 0x3f, 0x2c, 0x98, 0x08, 0x0b, 0x42, 0xe8, 0x9f, 0x61, 0x01, 0x0e, 0x25, 0x05, 0xf3, + 0xf2, 0x19, 0xdf, 0x73, 0x6d, 0x14, 0x16, 0x82, 0xe8, 0x2e, 0xb2, 0x0f, 0xa8, 0x7a, 0xf4, 0x1d, 0xba, 0x21, 0x5e, + 0x56, 0x58, 0x30, 0xb4, 0xaa, 0x81, 0x19, 0x82, 0xe2, 0x5f, 0xf3, 0x50, 0x82, 0x4f, 0x3c, 0xc0, 0x47, 0x8f, 0xc9, + 0x8c, 0xab, 0x6b, 0xed, 0xdb, 0x8b, 0xb0, 0xa0, 0x81, 0x6e, 0x3b, 0x04, 0x1d, 0x88, 0xfc, 0x17, 0xe0, 0x29, 0x30, + 0xf0, 0x61, 0x61, 0xd7, 0x1d, 0x78, 0x3e, 0xbf, 0x19, 0xd6, 0xd1, 0x85, 0x1f, 0xfd, 0xcd, 0xba, 0xb0, 0x67, 0x64, + 0x2a, 0x8f, 0xcb, 0xe1, 0x64, 0x3a, 0x18, 0x48, 0x17, 0xc7, 0xed, 0x34, 0x9b, 0xff, 0x36, 0x97, 0x8b, 0x05, 0xea, + 0xbe, 0x71, 0x5e, 0x67, 0xfa, 0x6f, 0xa4, 0x9d, 0x0f, 0x5e, 0x9f, 0xfe, 0xeb, 0xec, 0xc3, 0xe9, 0x0b, 0x70, 0x3e, + 0xf8, 0xf8, 0xfc, 0xc7, 0xe7, 0xef, 0x55, 0x70, 0x77, 0x35, 0xe7, 0xfd, 0xbe, 0x93, 0xfa, 0x84, 0x7c, 0x58, 0x91, + 0xc3, 0x30, 0x7e, 0x58, 0x28, 0xa3, 0x07, 0x72, 0xcc, 0x2c, 0x14, 0x32, 0x54, 0x51, 0xdb, 0xdf, 0xe5, 0x70, 0xe2, + 0x81, 0x59, 0x5c, 0x37, 0x44, 0xb8, 0x7e, 0xcb, 0x6d, 0x90, 0x35, 0x79, 0xe2, 0xf5, 0x83, 0x93, 0xa9, 0x74, 0x6c, + 0x61, 0xc1, 0xa0, 0x6c, 0x68, 0xd3, 0x69, 0x36, 0x2f, 0x16, 0xb6, 0x5d, 0x6e, 0x81, 0x8c, 0xd2, 0xec, 0xe2, 0x22, + 0x54, 0xd0, 0xd5, 0x27, 0xa0, 0x01, 0x30, 0x8d, 0x2a, 0x5c, 0x8b, 0xf8, 0xcc, 0x2f, 0x3f, 0x1a, 0x7b, 0xcd, 0xbb, + 0x41, 0xdd, 0x93, 0x69, 0x56, 0xd5, 0x18, 0xd0, 0xc1, 0x84, 0x72, 0x37, 0xe8, 0x26, 0x98, 0x8c, 0x6a, 0xcb, 0x6f, + 0xf3, 0x6a, 0x61, 0x9a, 0xe3, 0x86, 0xa1, 0xf2, 0x4a, 0xbe, 0x90, 0x0d, 0x44, 0x06, 0x92, 0x61, 0xd8, 0xa3, 0x31, + 0x8a, 0xd4, 0x0f, 0xf6, 0xbd, 0xe3, 0xb7, 0xb9, 0x84, 0x68, 0x8a, 0x19, 0x48, 0xe7, 0x9f, 0x0b, 0xe5, 0x5c, 0x2e, + 0x19, 0x9f, 0x8b, 0xc5, 0x09, 0xb8, 0x9d, 0xcf, 0xc5, 0x22, 0xc2, 0xa0, 0x7c, 0x19, 0xc4, 0x2a, 0x01, 0xbb, 0x17, + 0x07, 0x3d, 0xd2, 0x09, 0x6d, 0x60, 0x37, 0x90, 0x64, 0x83, 0xd2, 0xae, 0x34, 0x44, 0xb9, 0x53, 0x1e, 0x6d, 0x10, + 0x79, 0x88, 0x55, 0xf3, 0xaa, 0xed, 0xc9, 0x66, 0x2e, 0x26, 0xb8, 0xca, 0x62, 0x26, 0xa7, 0xf1, 0x31, 0x2b, 0xa6, + 0x31, 0x94, 0x12, 0xa7, 0x69, 0x18, 0xd3, 0x09, 0x15, 0x84, 0x24, 0x8c, 0xcf, 0xe3, 0x05, 0x4d, 0x50, 0x4a, 0x10, + 0x42, 0xc8, 0x8f, 0x11, 0xda, 0xe6, 0xc0, 0x92, 0xb7, 0xdb, 0xcf, 0x53, 0xf1, 0xed, 0x19, 0x2e, 0xa3, 0x22, 0x74, + 0x8b, 0xce, 0x1a, 0xfe, 0x8d, 0xa8, 0xa0, 0x31, 0x56, 0x0c, 0x41, 0xc0, 0x0b, 0x8c, 0x4a, 0x58, 0x90, 0x98, 0x55, + 0x10, 0x45, 0xa0, 0x9c, 0xc7, 0x0b, 0x56, 0xd0, 0xa6, 0xcd, 0x69, 0xac, 0x4d, 0x82, 0x7a, 0x0e, 0x4b, 0xed, 0x40, + 0x2a, 0x15, 0x62, 0x8f, 0xcf, 0x44, 0xf4, 0x49, 0x1b, 0x1a, 0x00, 0x0a, 0x94, 0x92, 0x8b, 0xdf, 0x7c, 0xbd, 0x87, + 0x9b, 0x82, 0xfe, 0x67, 0x5b, 0x13, 0xed, 0x2c, 0x57, 0x87, 0xde, 0x7c, 0x41, 0xe3, 0x3c, 0x87, 0x50, 0x6c, 0x06, + 0x81, 0x5c, 0x64, 0x15, 0x44, 0xb4, 0xd8, 0x04, 0x26, 0x24, 0x1c, 0xb4, 0xe9, 0x17, 0x48, 0x6d, 0x88, 0xc9, 0x95, + 0x27, 0x06, 0x76, 0x5b, 0x25, 0x08, 0x38, 0xd2, 0xf3, 0xec, 0x73, 0x13, 0x63, 0x4d, 0x53, 0x33, 0x13, 0x6f, 0x43, + 0x21, 0x1a, 0xb4, 0x20, 0x9a, 0xc1, 0xfb, 0xe7, 0x8a, 0xe3, 0x55, 0x07, 0x7e, 0xc0, 0x3b, 0x17, 0x67, 0x5e, 0xcd, + 0x3c, 0x22, 0xa7, 0x3e, 0xcf, 0x11, 0xfd, 0x92, 0x87, 0xd5, 0x48, 0x27, 0x63, 0xac, 0x24, 0x0e, 0x7a, 0x1b, 0x2c, + 0x98, 0x13, 0xba, 0xe2, 0xa1, 0xe5, 0xe3, 0x5f, 0x20, 0x93, 0x51, 0x52, 0x63, 0x45, 0x57, 0x5a, 0x8c, 0x38, 0xaf, + 0x61, 0x96, 0x26, 0x2b, 0xba, 0x58, 0x68, 0xd2, 0x2c, 0x94, 0x69, 0x80, 0x4f, 0xa0, 0xc5, 0xc8, 0x3d, 0xd4, 0xb4, + 0x81, 0xd0, 0xb0, 0x3f, 0x04, 0x7c, 0xe4, 0x1e, 0x3a, 0xfc, 0xff, 0x3c, 0xbb, 0x40, 0xa4, 0xbd, 0x4b, 0x13, 0x19, + 0x8f, 0xd4, 0x0d, 0x1c, 0x14, 0xe3, 0x63, 0xdf, 0x4c, 0xfc, 0xca, 0x19, 0xbd, 0x4f, 0x2a, 0xdf, 0xe1, 0x83, 0xe5, + 0x8f, 0x37, 0x35, 0xb3, 0x32, 0x82, 0xf5, 0xb0, 0xdb, 0xe1, 0x82, 0x68, 0xbb, 0x00, 0x52, 0xcf, 0x78, 0xb5, 0xf0, + 0x8d, 0x57, 0xe3, 0x3b, 0x8c, 0x57, 0x9d, 0xd5, 0x57, 0x98, 0x93, 0x2d, 0xea, 0xb3, 0x94, 0x3c, 0x3f, 0x47, 0x99, + 0x60, 0xd3, 0xe5, 0xac, 0xa4, 0x2a, 0x95, 0xd0, 0x5e, 0xec, 0x67, 0x8c, 0x6f, 0x09, 0xc6, 0x59, 0x71, 0x18, 0x09, + 0x54, 0xa5, 0x92, 0x3a, 0xec, 0x15, 0xa0, 0x1e, 0x83, 0xf7, 0x06, 0x43, 0xd4, 0xc8, 0xd8, 0x4d, 0x1b, 0x08, 0x0d, + 0x8d, 0xf5, 0x68, 0xcf, 0x5a, 0x8f, 0xee, 0x76, 0x95, 0xf1, 0xb7, 0x93, 0xeb, 0x22, 0x41, 0x54, 0x61, 0x35, 0x9a, + 0x00, 0x6f, 0x9a, 0xd8, 0xdb, 0x92, 0x53, 0x5a, 0x60, 0xf8, 0xec, 0x3f, 0xc3, 0xd2, 0xa9, 0x24, 0x4a, 0x32, 0x2b, + 0xa3, 0x81, 0x3b, 0x07, 0x9f, 0xc5, 0x15, 0xac, 0x01, 0x88, 0xe4, 0x88, 0x1e, 0xae, 0x7f, 0x86, 0xd2, 0x65, 0x96, + 0x64, 0x26, 0x21, 0x33, 0x17, 0x69, 0x3b, 0xeb, 0x60, 0xe2, 0x4c, 0x6a, 0xbd, 0xb1, 0x90, 0x43, 0x83, 0xfc, 0x00, + 0xca, 0x10, 0x87, 0x4f, 0x3e, 0x98, 0x50, 0xa9, 0x42, 0xa9, 0x36, 0xba, 0xd9, 0x0d, 0xbc, 0xf2, 0x31, 0xbb, 0xe2, + 0x65, 0x15, 0x5f, 0xad, 0x8c, 0x25, 0x31, 0x67, 0x77, 0xb9, 0xed, 0x51, 0x61, 0x5e, 0xbd, 0x79, 0xfe, 0xe3, 0x69, + 0xe3, 0xd5, 0x3e, 0xe2, 0x68, 0x08, 0xb6, 0x15, 0x63, 0x8c, 0xde, 0xe2, 0xd3, 0x60, 0xa2, 0x5c, 0x23, 0xd0, 0xbb, + 0x14, 0xf4, 0xdb, 0x5f, 0xeb, 0x09, 0x78, 0xc5, 0xf5, 0xf2, 0x4b, 0x3e, 0x01, 0x96, 0xa8, 0xd0, 0xb3, 0xc2, 0xdc, + 0xac, 0xcc, 0xee, 0xec, 0x56, 0x64, 0xa6, 0x5d, 0x69, 0x64, 0x20, 0x5e, 0x6d, 0x87, 0xb1, 0x70, 0xe9, 0x9a, 0x6e, + 0x07, 0xbb, 0x5a, 0x7a, 0x96, 0xc8, 0xbb, 0x5d, 0x09, 0x1d, 0xb2, 0x03, 0xee, 0xbd, 0x8c, 0x6f, 0xe1, 0x65, 0xe9, + 0x75, 0xb3, 0x19, 0x3c, 0x01, 0xcc, 0x84, 0x0b, 0x67, 0x59, 0x1c, 0x33, 0x91, 0x84, 0x2a, 0x36, 0x57, 0x43, 0xe4, + 0xad, 0x08, 0xad, 0xd9, 0x5f, 0xa1, 0x18, 0x81, 0xdd, 0xc9, 0x87, 0x4f, 0xd9, 0x6a, 0xb6, 0x06, 0xd4, 0xfc, 0xab, + 0x4c, 0x00, 0xcd, 0xb5, 0x6b, 0xc1, 0x36, 0x85, 0x36, 0xd7, 0xf5, 0xd3, 0x78, 0x15, 0x27, 0xa0, 0xba, 0x01, 0x6f, + 0x91, 0x6b, 0x2d, 0xba, 0x32, 0xe8, 0xa2, 0xf4, 0x9e, 0x72, 0x2c, 0x29, 0x74, 0xf4, 0xbd, 0x27, 0xd4, 0xb9, 0x67, + 0x00, 0x97, 0x34, 0x6a, 0x9e, 0x6a, 0x29, 0x63, 0x01, 0xb0, 0xd0, 0xc1, 0x4c, 0x91, 0xad, 0xe8, 0xc6, 0x60, 0x52, + 0xc0, 0x5b, 0x03, 0xfc, 0x21, 0xb2, 0x4a, 0xdd, 0x15, 0xcb, 0xb0, 0xf4, 0xec, 0xaf, 0xfb, 0xfd, 0xd8, 0xb3, 0xbf, + 0x5e, 0x69, 0x5a, 0x17, 0xb7, 0x1b, 0x40, 0x6a, 0x0c, 0x20, 0x72, 0xaa, 0x07, 0xc2, 0x44, 0x14, 0x6b, 0xfa, 0xfe, + 0x9d, 0x9a, 0x2c, 0x0a, 0x84, 0x7e, 0xaf, 0x5e, 0x4f, 0x4a, 0x02, 0x3a, 0xb5, 0x8a, 0x9d, 0x0c, 0xb4, 0xd9, 0x07, + 0x04, 0x44, 0xf5, 0x33, 0xb2, 0xf9, 0x42, 0x39, 0x17, 0xab, 0xf0, 0xe1, 0x63, 0x0a, 0x01, 0x85, 0x3b, 0x6a, 0x74, + 0xde, 0x86, 0x48, 0xa0, 0xac, 0x50, 0xc4, 0x9a, 0x17, 0x6b, 0x49, 0xc8, 0x7c, 0xbc, 0x40, 0xc1, 0x95, 0x03, 0x76, + 0xe5, 0x6c, 0x32, 0x2c, 0x23, 0xce, 0xc2, 0xbb, 0xbf, 0x99, 0x2c, 0x08, 0x6a, 0xae, 0xfc, 0x40, 0x8e, 0x7b, 0x99, + 0x1a, 0x7b, 0xaa, 0x51, 0x83, 0x60, 0x32, 0x82, 0xc0, 0x70, 0xc3, 0xaf, 0xf8, 0xf8, 0x68, 0x41, 0x40, 0x45, 0x66, + 0xcd, 0x42, 0xcc, 0x8b, 0xe3, 0x47, 0x80, 0x1a, 0x33, 0x3a, 0x7a, 0x32, 0xe5, 0x0c, 0x0e, 0x51, 0x3a, 0x06, 0x19, + 0xad, 0x80, 0xdf, 0x42, 0xfd, 0x6e, 0x9d, 0xf8, 0x3e, 0xf4, 0xab, 0xa0, 0x17, 0x31, 0x30, 0x1c, 0xd1, 0xe4, 0x30, + 0xe4, 0x83, 0xc9, 0x00, 0xb4, 0x25, 0xde, 0xee, 0x6b, 0x69, 0xc5, 0xcd, 0xe9, 0xd2, 0xe9, 0xfe, 0x49, 0x9b, 0x20, + 0x89, 0x54, 0xb2, 0x52, 0x11, 0x03, 0x08, 0x65, 0xa9, 0xb6, 0xc9, 0x1a, 0x2c, 0x2b, 0xcc, 0x92, 0xe6, 0x06, 0x25, + 0x71, 0x7f, 0x33, 0x70, 0x8c, 0x9a, 0x75, 0x1a, 0x96, 0x2d, 0x37, 0x6a, 0x80, 0xcf, 0x49, 0x58, 0x61, 0x6f, 0x38, + 0x33, 0xe9, 0x9d, 0xe9, 0x70, 0x75, 0xcc, 0xd9, 0x6b, 0x8e, 0x60, 0x1c, 0x09, 0xde, 0x78, 0xe8, 0x92, 0x69, 0xa8, + 0xc8, 0x94, 0x71, 0x30, 0xed, 0x01, 0xee, 0x3d, 0x07, 0xe3, 0x30, 0x36, 0xa8, 0x2c, 0xa9, 0x4f, 0xbd, 0xbb, 0x10, + 0x08, 0xd2, 0x5a, 0x2f, 0xf3, 0x19, 0x9e, 0x9e, 0x11, 0xca, 0xfe, 0x90, 0xc3, 0x17, 0x60, 0x47, 0x41, 0x4e, 0x26, + 0xfc, 0xc9, 0xc3, 0xfd, 0x40, 0x55, 0x7c, 0x10, 0x1c, 0xc4, 0x22, 0x3d, 0x08, 0x06, 0x02, 0x7e, 0x15, 0xfc, 0xa0, + 0x92, 0xf2, 0xe0, 0x22, 0x2e, 0x0e, 0xe2, 0x55, 0x5c, 0x54, 0x07, 0x37, 0x59, 0xb5, 0x3c, 0x30, 0x1d, 0x02, 0x68, + 0xde, 0x60, 0x10, 0x0f, 0x82, 0x83, 0x60, 0x50, 0x98, 0xa9, 0x5d, 0xb1, 0xb2, 0x71, 0x9c, 0x99, 0x10, 0x65, 0x41, + 0x33, 0x40, 0x58, 0xe3, 0x34, 0x00, 0x3e, 0x75, 0xcd, 0x52, 0x7a, 0x81, 0xe1, 0x06, 0xc4, 0x74, 0x0d, 0x7d, 0x00, + 0x1e, 0x79, 0x4d, 0x63, 0x58, 0x02, 0x17, 0x83, 0x01, 0xb9, 0x80, 0xc8, 0x05, 0x6b, 0x6a, 0x83, 0x38, 0x84, 0x6b, + 0x65, 0xa7, 0xbd, 0x0f, 0xcc, 0xb4, 0xdb, 0x01, 0xa2, 0xf2, 0x84, 0xf4, 0xfb, 0xf6, 0x1b, 0xea, 0x5f, 0xb0, 0x97, + 0x60, 0x7f, 0x55, 0x54, 0x61, 0x2e, 0x95, 0xe6, 0xfb, 0x92, 0x9d, 0x0c, 0x54, 0xc4, 0xe1, 0x3d, 0x47, 0x8a, 0x36, + 0x2a, 0x97, 0x65, 0x4f, 0x96, 0x0d, 0x5f, 0x89, 0x2b, 0xee, 0xfc, 0xb8, 0x2a, 0x29, 0xf3, 0x2a, 0x5b, 0x29, 0xf6, + 0x6f, 0xc6, 0x35, 0xf7, 0x07, 0xd6, 0x9f, 0xcd, 0x57, 0x70, 0x6d, 0xf5, 0xde, 0x35, 0xb9, 0x46, 0xe4, 0x2c, 0xa1, + 0x5c, 0x52, 0xdb, 0x3c, 0xbc, 0xa5, 0xef, 0xf3, 0xab, 0x6f, 0x33, 0x9d, 0xc6, 0x67, 0x15, 0x16, 0x2e, 0x44, 0x2b, + 0x82, 0x43, 0x43, 0x2e, 0x9a, 0x47, 0x80, 0xb9, 0xf6, 0xd9, 0x0a, 0x0a, 0x52, 0x9f, 0x55, 0xe8, 0xdd, 0x0a, 0x09, + 0x2f, 0x34, 0xbb, 0x74, 0x3f, 0x90, 0x32, 0x6e, 0x0f, 0x2d, 0x61, 0xd2, 0xf2, 0x22, 0xbc, 0xf7, 0x9a, 0x9b, 0xdc, + 0xb3, 0x10, 0xa3, 0x17, 0x79, 0x76, 0x02, 0xc6, 0xba, 0x4b, 0x76, 0x36, 0x3c, 0xf1, 0x1b, 0x9e, 0xb3, 0x16, 0x8d, + 0xa6, 0x4b, 0x96, 0xf4, 0xfb, 0x31, 0x98, 0x78, 0xa7, 0x2c, 0x87, 0x5f, 0xf9, 0x82, 0xae, 0x19, 0x60, 0x8a, 0xd1, + 0x0b, 0x48, 0x48, 0x11, 0x89, 0x64, 0xad, 0x4e, 0x92, 0x2f, 0x74, 0x17, 0x80, 0xd1, 0x2f, 0x66, 0x69, 0xb4, 0xbc, + 0xd3, 0xcc, 0x02, 0xc9, 0x33, 0xf4, 0x5d, 0x07, 0xdb, 0x1b, 0xfb, 0x20, 0xe5, 0xfc, 0x58, 0x4c, 0x07, 0x03, 0x4e, + 0x34, 0xdc, 0x78, 0xa9, 0xc4, 0xb5, 0xba, 0xc5, 0x1d, 0xc3, 0x58, 0xea, 0xdb, 0x22, 0x06, 0x07, 0xec, 0xa2, 0x95, + 0xdd, 0x3e, 0xc0, 0xbe, 0x72, 0xbc, 0x4b, 0x95, 0xdd, 0xe9, 0x31, 0xd3, 0x5c, 0xb6, 0x9a, 0x74, 0x52, 0x71, 0x37, + 0x91, 0x6f, 0x72, 0x07, 0x5d, 0x2e, 0xc7, 0x9a, 0xb7, 0x1c, 0x80, 0x8a, 0x7e, 0xa4, 0xa8, 0xee, 0x57, 0x38, 0xc2, + 0xdc, 0x5b, 0xb7, 0xf9, 0xe4, 0xd0, 0x14, 0x38, 0x44, 0x9e, 0xb4, 0xd1, 0x14, 0xd0, 0xbd, 0x8b, 0x87, 0x5d, 0xfd, + 0xb6, 0x74, 0x17, 0x28, 0xd1, 0x5e, 0xc5, 0x0d, 0x3f, 0x26, 0xea, 0x74, 0xa6, 0x0d, 0xa1, 0x7f, 0x65, 0xc4, 0xfd, + 0xa5, 0x71, 0x15, 0x6f, 0x7a, 0x97, 0xcf, 0x38, 0xd4, 0xd9, 0x0d, 0xa1, 0x00, 0x5c, 0xb5, 0xa7, 0x53, 0x37, 0x86, + 0xf4, 0x4a, 0x89, 0x6e, 0x83, 0x83, 0xdd, 0xe9, 0x33, 0x8e, 0xa2, 0x1f, 0xa3, 0x46, 0xbe, 0x89, 0xc4, 0x43, 0x39, + 0x88, 0x1f, 0x16, 0x74, 0x19, 0x89, 0x87, 0xc5, 0x20, 0x7e, 0x28, 0xeb, 0x7a, 0xff, 0x5c, 0xb9, 0xbb, 0x8f, 0xc8, + 0xb3, 0xee, 0xed, 0xa5, 0x12, 0x36, 0x06, 0x9e, 0x5d, 0x0b, 0x08, 0xa7, 0xe0, 0x89, 0x6c, 0x2d, 0x7d, 0xe8, 0xdc, + 0xee, 0x63, 0xcb, 0x24, 0x41, 0xd0, 0xf3, 0x36, 0x9b, 0x44, 0xb1, 0xb3, 0xcd, 0xa3, 0x0f, 0xa7, 0x40, 0x42, 0xb7, + 0xdb, 0x66, 0x5d, 0xad, 0x01, 0xc5, 0x34, 0x1c, 0xf3, 0xc3, 0x62, 0x74, 0xe3, 0xbb, 0xeb, 0x1f, 0x16, 0xa3, 0x25, + 0x19, 0x4e, 0xcc, 0xe4, 0xc7, 0x27, 0xe3, 0x59, 0x1c, 0x4d, 0xea, 0x8e, 0xd3, 0x42, 0xe3, 0x9f, 0x7a, 0xb7, 0x50, + 0x04, 0x4e, 0xc5, 0x08, 0x8e, 0x9c, 0x0a, 0xe5, 0xa4, 0xd4, 0xc0, 0xf0, 0x3f, 0xa8, 0xf6, 0xb4, 0x69, 0xaf, 0xe3, + 0x2a, 0x59, 0x66, 0xe2, 0x52, 0x87, 0x0f, 0xd7, 0xd1, 0xc5, 0x6d, 0x40, 0x3b, 0xef, 0x32, 0xed, 0xf8, 0x75, 0xd2, + 0xa0, 0x27, 0xae, 0x66, 0x06, 0xdc, 0xba, 0x1f, 0xa1, 0x19, 0x02, 0xa3, 0xe5, 0xf9, 0x3b, 0xc4, 0xdc, 0xfe, 0x55, + 0xd9, 0xfc, 0x2a, 0xda, 0xe7, 0xc8, 0x48, 0xd9, 0x26, 0x23, 0x15, 0x18, 0x61, 0x4a, 0x91, 0xc4, 0x55, 0x08, 0x81, + 0xec, 0xbf, 0xa6, 0xb8, 0x16, 0x4b, 0xef, 0x35, 0x08, 0x13, 0x6c, 0x17, 0xb4, 0x5f, 0xdd, 0xde, 0x6d, 0xa5, 0xc5, + 0x1e, 0xa9, 0xef, 0x73, 0x67, 0xbb, 0xa2, 0xc9, 0xdf, 0xd7, 0x0d, 0x68, 0x03, 0x88, 0xf2, 0xae, 0x3e, 0x2a, 0x81, + 0x93, 0x11, 0x37, 0x94, 0x18, 0xbd, 0xa0, 0xab, 0x13, 0xb9, 0x67, 0xa7, 0xe6, 0x4d, 0xc5, 0x4c, 0xc5, 0x95, 0x6f, + 0xf6, 0xcc, 0x7f, 0x30, 0x14, 0x54, 0x82, 0x81, 0xb7, 0x39, 0xe3, 0xd1, 0x81, 0xee, 0xc6, 0xe8, 0xb4, 0x60, 0xb3, + 0xa0, 0x2e, 0xeb, 0xa6, 0x8d, 0x07, 0x8d, 0x38, 0x28, 0x8a, 0x55, 0xa1, 0x46, 0xc2, 0x13, 0x81, 0x80, 0x29, 0xbb, + 0xe2, 0x91, 0x11, 0xd4, 0xf4, 0x26, 0x14, 0x36, 0x14, 0xfc, 0x55, 0xa2, 0x9a, 0xde, 0x84, 0x36, 0x99, 0x38, 0xcd, + 0x20, 0x82, 0x19, 0xb1, 0xdd, 0x6f, 0x01, 0x6d, 0x6e, 0xcd, 0x68, 0x5b, 0xd7, 0x56, 0x5b, 0x85, 0x5c, 0x52, 0xa4, + 0x2c, 0xff, 0x9d, 0x9a, 0x0a, 0x4a, 0x6a, 0xb9, 0xe8, 0x4d, 0x9a, 0x2e, 0x7a, 0x3c, 0x33, 0x92, 0x40, 0xe5, 0x96, + 0x3b, 0x46, 0x7f, 0x08, 0x0b, 0x3c, 0x62, 0xe2, 0xc4, 0x82, 0xb9, 0xd5, 0x09, 0xcb, 0xe6, 0x62, 0x31, 0x5a, 0x49, + 0x08, 0x1b, 0x7c, 0xcc, 0xb2, 0x79, 0xa9, 0x1f, 0x42, 0x5f, 0x58, 0xfa, 0x00, 0xec, 0x62, 0x83, 0x95, 0x2c, 0x03, + 0xf0, 0xbd, 0xa0, 0xdb, 0x95, 0x2c, 0x23, 0xa9, 0xba, 0x1f, 0xd7, 0x58, 0x82, 0x4a, 0x2b, 0x54, 0x5a, 0x52, 0x63, + 0x41, 0xe0, 0xab, 0xaa, 0xcb, 0x87, 0x64, 0x57, 0x81, 0x7a, 0xea, 0xa8, 0x01, 0xa7, 0x40, 0x55, 0x81, 0x05, 0x49, + 0x50, 0x19, 0xba, 0x2a, 0x30, 0xad, 0xc0, 0x34, 0x53, 0x85, 0x8b, 0x32, 0x3b, 0x94, 0x66, 0xbd, 0xe4, 0xb3, 0x78, + 0x10, 0x26, 0xc3, 0x98, 0x3c, 0x44, 0xa8, 0xfd, 0xc3, 0x3c, 0x8a, 0xb5, 0x5c, 0xf2, 0xd2, 0xf9, 0xc5, 0xdf, 0x7c, + 0xc1, 0x5e, 0xf7, 0x0c, 0x83, 0x05, 0x38, 0x4b, 0xdb, 0xab, 0x4c, 0xbc, 0x93, 0xad, 0xe0, 0x38, 0x98, 0x45, 0x39, + 0xac, 0x7a, 0x72, 0x44, 0x73, 0x91, 0x6b, 0xef, 0x22, 0x44, 0x0e, 0x32, 0x7b, 0x0c, 0xb0, 0x1b, 0xe1, 0xeb, 0xd0, + 0xda, 0xdc, 0xea, 0x0a, 0xf1, 0x37, 0x4a, 0x24, 0x7e, 0x92, 0xf2, 0xd3, 0x7a, 0xa5, 0x72, 0x55, 0x06, 0x8f, 0x55, + 0x37, 0x83, 0x67, 0xda, 0xf7, 0x58, 0xfb, 0xb7, 0xb6, 0x9b, 0xe3, 0xbd, 0x07, 0x0f, 0x5a, 0xff, 0x5b, 0x4f, 0x42, + 0x68, 0xaf, 0x9c, 0xa4, 0xee, 0xa8, 0xd1, 0x33, 0x93, 0x35, 0xa2, 0x12, 0xa6, 0x76, 0xa7, 0x72, 0x0c, 0xd4, 0x74, + 0x00, 0xd7, 0x12, 0x35, 0x41, 0x4f, 0x0a, 0x36, 0x86, 0x23, 0xce, 0xe2, 0xa0, 0x1d, 0xc7, 0x28, 0x5e, 0xce, 0x95, + 0x78, 0x39, 0x3f, 0x61, 0x1c, 0xa0, 0xb5, 0x00, 0xa9, 0x5e, 0xc3, 0x7e, 0xe6, 0x0a, 0x16, 0xd8, 0xdc, 0xf9, 0x8e, + 0x2c, 0x90, 0x21, 0x4e, 0x36, 0xc7, 0xc9, 0x1e, 0xd7, 0x7a, 0xee, 0x05, 0x3e, 0x4e, 0xea, 0x85, 0x57, 0x57, 0xd9, + 0xae, 0x6b, 0xc9, 0xca, 0x79, 0x31, 0x98, 0x40, 0x50, 0x96, 0x72, 0x5e, 0x0c, 0x27, 0x0b, 0x9a, 0xc3, 0x8f, 0x45, + 0x03, 0x1d, 0x62, 0x39, 0x48, 0xe0, 0xd2, 0xd9, 0x63, 0xc0, 0x1b, 0x4a, 0x2d, 0xee, 0xc6, 0x3a, 0x72, 0xac, 0xa3, + 0x38, 0x0c, 0x63, 0xc0, 0x95, 0x75, 0x02, 0xef, 0xbb, 0xaf, 0x8f, 0x4d, 0x40, 0x56, 0xed, 0x0a, 0xaf, 0x46, 0xb9, + 0xeb, 0x4a, 0xa3, 0x2f, 0x29, 0x3d, 0xe1, 0x05, 0x4f, 0x25, 0xbb, 0x5d, 0xcf, 0xc0, 0xd9, 0x12, 0x0f, 0x89, 0x77, + 0x8c, 0xe8, 0xc5, 0xb4, 0x91, 0x99, 0x13, 0x38, 0xb3, 0xdd, 0x65, 0x1b, 0xf3, 0x63, 0x07, 0x38, 0x58, 0x04, 0x21, + 0x71, 0x43, 0x18, 0x26, 0x76, 0x52, 0x0e, 0xb5, 0x10, 0xae, 0x6b, 0xe1, 0x75, 0x9c, 0x96, 0x31, 0xb8, 0x48, 0x6b, + 0xdb, 0xc4, 0x3b, 0xe8, 0xba, 0xe7, 0xc7, 0xdc, 0xea, 0x18, 0x6d, 0x21, 0xfd, 0x76, 0x74, 0xfa, 0xc0, 0x61, 0x00, + 0x9a, 0x1e, 0xcc, 0xaa, 0xf6, 0x99, 0xc4, 0xcd, 0x69, 0x27, 0x08, 0x89, 0x40, 0x14, 0xa5, 0x33, 0xc2, 0xf4, 0xef, + 0x35, 0x97, 0x55, 0xb4, 0xba, 0x97, 0x67, 0x0e, 0x79, 0x16, 0x7a, 0xdb, 0x83, 0x56, 0xcd, 0xdd, 0x60, 0x9c, 0xb8, + 0xdd, 0xde, 0xf9, 0x7f, 0xcb, 0xba, 0xb6, 0x5a, 0x23, 0x1e, 0xb6, 0xab, 0x1f, 0x34, 0xf6, 0x6a, 0x4f, 0xc5, 0x80, + 0xb9, 0x94, 0xde, 0x19, 0x55, 0xf2, 0x22, 0xe3, 0x25, 0x9e, 0x54, 0x97, 0x0d, 0x1f, 0xef, 0x9b, 0x6c, 0x64, 0x1e, + 0xc8, 0x14, 0x10, 0xcf, 0x3f, 0xa4, 0x46, 0x7d, 0x9c, 0xa2, 0x04, 0xfc, 0x9d, 0x8e, 0x6f, 0x44, 0x5f, 0xdb, 0x17, + 0x97, 0xbc, 0x7a, 0x7b, 0x23, 0xcc, 0x8b, 0x67, 0x56, 0xe7, 0x4f, 0x9f, 0x16, 0x3e, 0x74, 0x38, 0x6a, 0xef, 0xa0, + 0xc8, 0x92, 0x89, 0x93, 0x89, 0x91, 0xb5, 0x89, 0xd9, 0x6b, 0x05, 0x17, 0x13, 0x55, 0xe8, 0x59, 0x67, 0x4f, 0x98, + 0x02, 0xf4, 0x8d, 0x63, 0x54, 0x32, 0x86, 0x05, 0x03, 0x75, 0x9a, 0x12, 0xa2, 0x87, 0x62, 0x86, 0xf1, 0x8a, 0x01, + 0x14, 0xa6, 0x50, 0x20, 0x8a, 0xce, 0x3e, 0x1c, 0x68, 0x42, 0xbf, 0xff, 0x21, 0xd5, 0x19, 0x68, 0x59, 0x4f, 0x0b, + 0x10, 0xd5, 0x41, 0xb4, 0x55, 0x88, 0x0a, 0x9d, 0xd2, 0x32, 0xa3, 0xa9, 0xa0, 0x6b, 0x41, 0x93, 0x8c, 0x5e, 0x70, + 0x25, 0x2a, 0x5e, 0x09, 0xa6, 0x68, 0xbb, 0x21, 0xec, 0xff, 0x68, 0xd0, 0xf5, 0x56, 0xac, 0x35, 0xb4, 0x3b, 0x41, + 0x46, 0x68, 0xbe, 0xd0, 0x41, 0xc8, 0x50, 0x39, 0x09, 0x5d, 0xab, 0x34, 0x5e, 0x81, 0x4b, 0xa6, 0xd9, 0x68, 0x19, + 0x97, 0x61, 0x60, 0xbf, 0x0a, 0x2c, 0x26, 0x07, 0x26, 0x7d, 0x58, 0x9f, 0x3f, 0x95, 0x57, 0x2b, 0x29, 0xb8, 0xa8, + 0x14, 0x44, 0xbf, 0xc1, 0x7d, 0x37, 0x71, 0xd5, 0x59, 0xb3, 0x56, 0x7a, 0xdf, 0xb7, 0x3e, 0x6b, 0xe3, 0xbe, 0x30, + 0x38, 0x06, 0x7b, 0x1f, 0x11, 0x03, 0x69, 0x50, 0xe9, 0x16, 0x87, 0x26, 0x40, 0x97, 0x0e, 0x29, 0x64, 0xc9, 0x54, + 0xa6, 0x4a, 0x50, 0xf1, 0x8d, 0xdf, 0x4b, 0x59, 0x8d, 0xfe, 0x5a, 0xf3, 0x62, 0xf3, 0x81, 0xe7, 0x1c, 0xc7, 0x28, + 0x48, 0x62, 0x71, 0x1d, 0x97, 0x01, 0xf1, 0x2d, 0xaf, 0x82, 0xa3, 0xd4, 0x84, 0x8d, 0xd9, 0xab, 0x1a, 0xb5, 0x5e, + 0x05, 0xfa, 0xca, 0x28, 0xdf, 0x18, 0x0c, 0x4d, 0x44, 0x15, 0xf4, 0xbd, 0x56, 0xf7, 0xb4, 0xba, 0x61, 0x01, 0xf1, + 0xe7, 0x4a, 0x2f, 0xd4, 0x7a, 0xdd, 0x8c, 0xb9, 0x61, 0x22, 0x04, 0x8d, 0x1e, 0xd5, 0x0b, 0x87, 0x9f, 0xbf, 0x55, + 0x96, 0x44, 0xf0, 0x62, 0x9b, 0xae, 0x0b, 0x13, 0x4b, 0x83, 0xea, 0x80, 0xb9, 0xd1, 0x36, 0xe7, 0x97, 0x20, 0xfa, + 0x73, 0x56, 0x44, 0x93, 0xba, 0xa6, 0x0a, 0xc1, 0x30, 0xda, 0xde, 0x36, 0xd2, 0xe9, 0x06, 0xbc, 0xdc, 0x8c, 0x35, + 0x92, 0xf6, 0x74, 0xac, 0x69, 0xc1, 0xcb, 0x95, 0x14, 0x25, 0x44, 0x77, 0xee, 0x8d, 0xe9, 0x55, 0x9c, 0x89, 0x2a, + 0xce, 0xc4, 0x69, 0xb9, 0xe2, 0x49, 0xf5, 0x1e, 0x2a, 0xd4, 0xc6, 0x38, 0xd8, 0x7a, 0x35, 0xea, 0x2a, 0x1c, 0xf2, + 0xab, 0x8b, 0xe7, 0xb7, 0xab, 0x58, 0xa4, 0x30, 0xea, 0xf5, 0x5d, 0x2f, 0x9a, 0xd3, 0xb1, 0x8a, 0x0b, 0x2e, 0x4c, + 0xd4, 0x62, 0x5a, 0xb1, 0x80, 0xeb, 0x8c, 0x01, 0xe5, 0x2a, 0x76, 0x67, 0xa6, 0x62, 0x19, 0xc6, 0x65, 0xf9, 0x53, + 0x56, 0xe2, 0x1d, 0x00, 0x5a, 0x03, 0xa7, 0xc5, 0xcc, 0x80, 0x80, 0x6c, 0x72, 0x83, 0x8b, 0xc0, 0x82, 0xa3, 0xc7, + 0xe3, 0xd5, 0x6d, 0x40, 0xbd, 0x37, 0x52, 0x5d, 0x0f, 0x59, 0x30, 0x1e, 0x3d, 0x09, 0x1c, 0x72, 0x88, 0xff, 0xd1, + 0xe3, 0xa3, 0xbb, 0xbf, 0x99, 0x04, 0xa4, 0x9e, 0x82, 0xaa, 0xc2, 0x28, 0x44, 0x61, 0xda, 0x5f, 0xaf, 0xd5, 0x2d, + 0xf7, 0xed, 0x79, 0xc9, 0x8b, 0x6b, 0xd8, 0x97, 0x64, 0x9a, 0x01, 0x39, 0x97, 0x2a, 0x01, 0x16, 0x45, 0x5c, 0x55, + 0x45, 0x76, 0x0e, 0x26, 0x4a, 0x68, 0x00, 0x66, 0x9e, 0x5e, 0xa0, 0xc3, 0x47, 0x34, 0x0f, 0xb0, 0x4f, 0xc1, 0xa2, + 0x26, 0x75, 0x09, 0x85, 0x25, 0x07, 0x18, 0xac, 0x4e, 0xc5, 0x95, 0x76, 0x00, 0xdf, 0xd5, 0x1f, 0xd1, 0x52, 0x62, + 0xac, 0x59, 0x3d, 0x4f, 0xf1, 0x79, 0x29, 0xf3, 0x75, 0x05, 0xda, 0xf3, 0x8b, 0x2a, 0x3a, 0x7a, 0xbc, 0xba, 0x9d, + 0xaa, 0x6e, 0x44, 0xd0, 0x8b, 0xa9, 0xc2, 0x79, 0x4b, 0xe2, 0x3c, 0x09, 0x27, 0xe3, 0xf1, 0x37, 0x07, 0xc3, 0x03, + 0x48, 0x26, 0xd3, 0xcf, 0x43, 0xe5, 0xc8, 0x35, 0x9c, 0x8c, 0xc7, 0xf5, 0x1f, 0xb5, 0x09, 0xf3, 0x6d, 0xea, 0xf9, + 0xf0, 0xc7, 0xb1, 0x5a, 0xff, 0x27, 0xc7, 0x87, 0xfa, 0xc7, 0x1f, 0x75, 0x3d, 0x7d, 0x5a, 0x84, 0xf3, 0x7f, 0x87, + 0x6a, 0x7d, 0x9f, 0x16, 0x45, 0xbc, 0xa9, 0xc9, 0x82, 0xae, 0x84, 0xf3, 0xae, 0xa1, 0x1e, 0x59, 0xa0, 0x47, 0x64, + 0xba, 0x12, 0x0c, 0xbe, 0x79, 0x5f, 0x85, 0x01, 0x2f, 0x57, 0x43, 0x2e, 0xaa, 0xac, 0xda, 0x0c, 0x31, 0x4f, 0x80, + 0x9f, 0x5a, 0x3c, 0xb3, 0xc2, 0x10, 0xdf, 0x8b, 0x82, 0xf3, 0xcf, 0x3c, 0x54, 0xc6, 0xe2, 0x63, 0x34, 0x16, 0x1f, + 0x53, 0xd5, 0x8d, 0xc9, 0x77, 0x54, 0xf7, 0x6d, 0xf2, 0x1d, 0x98, 0x64, 0x65, 0xed, 0x6f, 0x94, 0xb1, 0x66, 0x34, + 0xa6, 0xd7, 0x2f, 0xf2, 0x6c, 0x05, 0x97, 0x82, 0xa5, 0xfe, 0x51, 0x13, 0xfa, 0x9e, 0xb7, 0xb3, 0x8f, 0x46, 0xa3, + 0x07, 0x05, 0x1d, 0x8d, 0x46, 0x9f, 0xb2, 0x9a, 0xd0, 0x4b, 0xd1, 0xf1, 0xfe, 0x3d, 0xa7, 0xe7, 0x32, 0xdd, 0x44, + 0x41, 0x40, 0x97, 0x59, 0x9a, 0x72, 0xa1, 0xca, 0x7a, 0x9a, 0xb6, 0xf3, 0xaa, 0x16, 0x22, 0x10, 0x92, 0x6e, 0x23, + 0x42, 0x32, 0x11, 0xfa, 0x76, 0xaf, 0x67, 0xa3, 0xd1, 0xe8, 0x69, 0x6a, 0xaa, 0x75, 0x17, 0x94, 0x07, 0x68, 0x4e, + 0xe1, 0xfc, 0x14, 0xc0, 0x1a, 0xc9, 0x44, 0x7f, 0x39, 0xfc, 0xaf, 0xe1, 0x6c, 0x3e, 0x1e, 0x7e, 0x3f, 0x5a, 0x3c, + 0x3c, 0xa4, 0x41, 0xe0, 0x87, 0x6e, 0x08, 0xb5, 0x75, 0xcb, 0xb4, 0x3c, 0x1e, 0x4f, 0x49, 0x39, 0x60, 0x8f, 0xad, + 0x6f, 0xd1, 0x37, 0x8f, 0x01, 0x99, 0x15, 0x45, 0xca, 0x81, 0x93, 0x86, 0xe2, 0xd5, 0xec, 0x95, 0x00, 0xbc, 0x38, + 0x1b, 0xd9, 0xc1, 0x68, 0x45, 0xc7, 0x11, 0x94, 0x57, 0x5b, 0x53, 0x91, 0x1e, 0x63, 0x99, 0x89, 0x92, 0x3a, 0x9e, + 0x96, 0x37, 0x59, 0x95, 0x2c, 0x31, 0xd0, 0x53, 0x5c, 0xf2, 0xe0, 0x9b, 0x20, 0x2a, 0xd9, 0xd1, 0x93, 0xa9, 0x82, + 0x3b, 0xc6, 0xa4, 0x94, 0x5f, 0x42, 0xe2, 0xf7, 0x63, 0x84, 0x84, 0x25, 0xda, 0x83, 0x13, 0x6b, 0x7c, 0x91, 0xcb, + 0x18, 0x3c, 0x5a, 0x4b, 0xcd, 0xc3, 0xd9, 0x93, 0xd1, 0xda, 0xa3, 0xb4, 0x9a, 0x23, 0xa1, 0x39, 0xa1, 0x64, 0xf2, + 0xb0, 0xa4, 0xf2, 0x9b, 0x09, 0x7a, 0x49, 0x81, 0x9b, 0x79, 0x04, 0xc7, 0xbf, 0xb5, 0xf4, 0x50, 0xbd, 0x7a, 0x9b, + 0xb2, 0xc3, 0xf9, 0xff, 0x29, 0xe9, 0x62, 0x70, 0xe8, 0x86, 0xe6, 0x9d, 0x76, 0xe7, 0xad, 0x90, 0x71, 0xac, 0xc2, + 0xb7, 0x29, 0xb1, 0xc6, 0xb8, 0x9c, 0x9d, 0x6c, 0x4d, 0x77, 0x46, 0x55, 0x91, 0x5d, 0x85, 0x44, 0xf7, 0xca, 0x81, + 0x84, 0x06, 0x51, 0x36, 0xc2, 0xf5, 0x03, 0xd6, 0x33, 0x5e, 0x27, 0xaf, 0x79, 0x51, 0x65, 0x89, 0x7a, 0x7f, 0xdd, + 0x78, 0x5f, 0xd7, 0x26, 0xa0, 0xea, 0xbb, 0x82, 0xc1, 0x3c, 0xbf, 0x2d, 0x00, 0xc4, 0x14, 0x69, 0x80, 0x4f, 0x30, + 0x83, 0xa0, 0x76, 0xcd, 0xbc, 0x6a, 0x04, 0xdf, 0x80, 0xaf, 0xde, 0x15, 0x80, 0x41, 0x12, 0x82, 0x14, 0x19, 0x42, + 0x03, 0x81, 0x40, 0xc3, 0x90, 0x0b, 0x0c, 0x7e, 0xe2, 0xc5, 0x91, 0x54, 0x4e, 0x89, 0x3c, 0x0c, 0xf0, 0x47, 0x40, + 0x55, 0x00, 0x12, 0xe3, 0x71, 0x08, 0x2f, 0xd4, 0x2f, 0xf7, 0x46, 0xed, 0x11, 0xf6, 0x20, 0x0d, 0x21, 0xd8, 0x10, + 0x3e, 0x04, 0xb0, 0xa4, 0x08, 0x7d, 0x87, 0x5c, 0x46, 0x18, 0x5c, 0xe4, 0xd9, 0x4a, 0x27, 0x55, 0xa3, 0x8e, 0xe6, + 0x43, 0xa9, 0x1d, 0xc9, 0x01, 0xf5, 0xd2, 0x63, 0x4c, 0x2f, 0x54, 0xba, 0x2a, 0xca, 0x19, 0xe5, 0x9c, 0xea, 0x89, + 0x71, 0x61, 0x0b, 0x39, 0x44, 0xc2, 0x79, 0x57, 0xa8, 0x50, 0x38, 0x7c, 0x01, 0x60, 0x60, 0x20, 0xed, 0xd8, 0x8f, + 0x77, 0xa3, 0xb2, 0x9f, 0x71, 0x76, 0xf8, 0x5f, 0xf3, 0x78, 0xf8, 0x79, 0x3c, 0xfc, 0x7e, 0x31, 0x08, 0x87, 0xf6, + 0x27, 0x79, 0xf8, 0xe0, 0x90, 0xbe, 0xe0, 0x96, 0x4b, 0x83, 0x85, 0xdf, 0x08, 0xf6, 0xa3, 0x56, 0x42, 0x10, 0x05, + 0x78, 0xc3, 0x72, 0xab, 0x71, 0x02, 0x80, 0x87, 0xc1, 0xff, 0x0e, 0xd0, 0x68, 0xca, 0x5d, 0xbc, 0x40, 0x5f, 0xa2, + 0x7e, 0x9f, 0x3c, 0x6a, 0x18, 0x0c, 0x82, 0xb8, 0x46, 0xc5, 0x84, 0x21, 0xba, 0x8c, 0x89, 0x82, 0x41, 0xb6, 0xd9, + 0x77, 0xbb, 0x5e, 0x5b, 0x12, 0x86, 0x5f, 0xfa, 0x99, 0x26, 0x66, 0xde, 0xe1, 0xc6, 0xb6, 0x92, 0xab, 0x10, 0xb1, + 0x02, 0xf5, 0xaf, 0x9c, 0x41, 0xec, 0xcd, 0xeb, 0x0c, 0x7c, 0x3a, 0xec, 0x17, 0xe3, 0x19, 0xb0, 0x51, 0x70, 0xe7, + 0x2b, 0xf8, 0x45, 0x06, 0x6e, 0xde, 0x22, 0x46, 0x81, 0x83, 0x5d, 0x12, 0xfd, 0x7e, 0x2f, 0xcf, 0xc2, 0x5c, 0xe3, + 0x4e, 0xe7, 0xb5, 0x51, 0x43, 0xa0, 0x8e, 0x1c, 0xd4, 0x0f, 0x7a, 0x08, 0x86, 0x6a, 0x08, 0x8a, 0x8e, 0xb6, 0xb8, + 0x7a, 0x6d, 0x3d, 0x85, 0xe9, 0xad, 0xaa, 0xaf, 0x18, 0xfd, 0x29, 0x33, 0x81, 0x85, 0xb4, 0x6b, 0x8e, 0x75, 0xcd, + 0x31, 0xd2, 0x9e, 0x7e, 0x5f, 0x34, 0xc8, 0x4f, 0x67, 0xe1, 0x41, 0xa0, 0x4a, 0x95, 0x7b, 0x65, 0x51, 0x6e, 0x4b, + 0xf3, 0xc6, 0xb0, 0xa6, 0x79, 0x66, 0xe3, 0xdc, 0xcc, 0x7a, 0xbd, 0x30, 0x44, 0x07, 0x4f, 0x2c, 0x15, 0x6b, 0x83, + 0x70, 0x47, 0x26, 0x61, 0x74, 0x05, 0xb2, 0xcb, 0xf0, 0x8c, 0x13, 0xe4, 0x53, 0x81, 0x7d, 0x50, 0xd5, 0x7a, 0x39, + 0xe1, 0xb1, 0x91, 0x2f, 0x1b, 0x41, 0x83, 0xbc, 0xa4, 0xa8, 0x37, 0x71, 0x3b, 0xf6, 0x79, 0x0b, 0xb9, 0x72, 0x5b, + 0x4f, 0x7b, 0x9a, 0x54, 0xf4, 0x58, 0xaf, 0x52, 0xbf, 0xc0, 0xd2, 0xc2, 0x92, 0x0f, 0x42, 0x7b, 0x9a, 0x56, 0x60, + 0x86, 0x6b, 0x9b, 0xc1, 0xd0, 0x0f, 0xc7, 0x4f, 0x40, 0x67, 0xd4, 0xb6, 0x84, 0x30, 0x76, 0x83, 0xb0, 0xf2, 0x9e, + 0xc8, 0x37, 0x8f, 0xbd, 0x8b, 0x41, 0xc8, 0xcd, 0x66, 0x16, 0x0d, 0x4c, 0xf7, 0x73, 0xd9, 0x6c, 0x9e, 0x6e, 0xae, + 0x17, 0x25, 0x54, 0xc0, 0x76, 0xbb, 0x14, 0x04, 0xff, 0x7e, 0xca, 0x66, 0xf8, 0x37, 0xeb, 0xf7, 0x7b, 0x21, 0xfe, + 0xe2, 0x18, 0xcc, 0x68, 0x2e, 0x16, 0xec, 0x13, 0xc8, 0x98, 0x48, 0x84, 0xa9, 0xca, 0x18, 0x90, 0x55, 0x60, 0x11, + 0x68, 0x3e, 0x50, 0xb9, 0x30, 0x93, 0xbd, 0xcc, 0xb9, 0x86, 0xbc, 0x6a, 0x8d, 0x53, 0x36, 0xca, 0x12, 0xe5, 0xca, + 0x91, 0x8d, 0xe2, 0x3c, 0x8b, 0x4b, 0x5e, 0xee, 0x76, 0xfa, 0x70, 0x4c, 0x0a, 0x0e, 0xec, 0xba, 0xa2, 0x52, 0x25, + 0xeb, 0x48, 0xf5, 0xc0, 0x4b, 0xc3, 0x02, 0xf7, 0x29, 0x9f, 0x17, 0x86, 0x46, 0x1c, 0x80, 0x30, 0x83, 0xa9, 0x5b, + 0x7a, 0x2f, 0x2c, 0xa0, 0x79, 0x25, 0x21, 0x5b, 0x4c, 0xf5, 0x2c, 0x7c, 0x63, 0x26, 0xe6, 0xc5, 0x02, 0xc2, 0xea, + 0x14, 0x0b, 0xcd, 0x6c, 0xd2, 0x84, 0xc5, 0x00, 0x9b, 0x17, 0x93, 0x29, 0xc4, 0x77, 0x57, 0xe5, 0xc4, 0x0b, 0x73, + 0xdf, 0x4e, 0x1c, 0x72, 0x08, 0xbc, 0xaa, 0x0d, 0xba, 0x9a, 0x6d, 0x38, 0xea, 0x48, 0x39, 0x31, 0xf9, 0xfd, 0x54, + 0x41, 0x88, 0x3b, 0x71, 0x24, 0x5c, 0xde, 0x6c, 0x17, 0x9e, 0x75, 0x20, 0xe8, 0xa8, 0xc1, 0x29, 0xbf, 0x30, 0x38, + 0x1a, 0x93, 0x74, 0xeb, 0x9d, 0x20, 0x45, 0x18, 0x93, 0xad, 0x64, 0xe7, 0x32, 0x14, 0xf3, 0x78, 0x01, 0xca, 0xcb, + 0x78, 0x01, 0x96, 0x46, 0xc6, 0x20, 0x15, 0xe4, 0x77, 0xdc, 0x0b, 0x85, 0x45, 0x71, 0x85, 0x48, 0xcf, 0xea, 0xf7, + 0xb4, 0x68, 0x87, 0x02, 0x41, 0x71, 0x87, 0x32, 0x4f, 0xce, 0x7a, 0x2c, 0x90, 0xd8, 0x10, 0x30, 0xbe, 0xd2, 0x69, + 0xaa, 0xb5, 0xee, 0x8d, 0x99, 0x07, 0x3e, 0xcd, 0x46, 0x42, 0x56, 0x67, 0x17, 0x20, 0x52, 0xf2, 0xd1, 0xf1, 0x91, + 0x5f, 0xc4, 0x9d, 0x65, 0xde, 0xda, 0x16, 0x95, 0xec, 0x64, 0x0b, 0xa0, 0x85, 0x3a, 0x7a, 0x96, 0x92, 0xdb, 0x94, + 0xa4, 0x76, 0x9b, 0x02, 0x56, 0x92, 0xbf, 0x80, 0x21, 0xf8, 0xda, 0x81, 0x70, 0x3a, 0x56, 0x88, 0xd7, 0x34, 0x45, + 0xa4, 0xc9, 0xb0, 0xa4, 0x38, 0xb6, 0x25, 0xa2, 0xa0, 0xda, 0xb2, 0xec, 0x60, 0x98, 0x28, 0xc1, 0x1f, 0x53, 0x8f, + 0x12, 0x05, 0x01, 0xd5, 0x43, 0x0e, 0x12, 0x6c, 0xdb, 0x40, 0x78, 0x40, 0x1e, 0xd1, 0x1b, 0xeb, 0x9f, 0xb3, 0xce, + 0xb3, 0x0b, 0xcd, 0x73, 0xb9, 0xde, 0x15, 0x66, 0x8c, 0xf0, 0x24, 0x33, 0x61, 0x03, 0xbc, 0xf3, 0xcc, 0xa8, 0x6d, + 0x7a, 0x1e, 0x5e, 0xdb, 0x73, 0x8c, 0xd0, 0x77, 0xc7, 0xa0, 0x9b, 0x60, 0x5e, 0x1d, 0x36, 0xeb, 0x95, 0x82, 0xd4, + 0x30, 0xb5, 0x68, 0x62, 0xd6, 0xb3, 0x06, 0xe5, 0xbb, 0x5d, 0x4f, 0xcf, 0xd5, 0xdd, 0x73, 0xb7, 0xdb, 0xf5, 0xb0, + 0x5b, 0x1f, 0xd3, 0x6e, 0xab, 0xf8, 0x4a, 0x7d, 0xd0, 0x1e, 0x7f, 0xee, 0xc6, 0x9f, 0x1b, 0x64, 0x93, 0xd2, 0xd1, + 0x4c, 0x5b, 0x1f, 0x84, 0x07, 0x4e, 0x37, 0x8d, 0x26, 0xfd, 0x9c, 0x85, 0x92, 0x5e, 0x8a, 0x46, 0x75, 0xb5, 0x33, + 0x31, 0xbd, 0x77, 0xfd, 0xdf, 0xbf, 0x0a, 0xf0, 0x88, 0x53, 0x3b, 0xfb, 0xce, 0x06, 0x15, 0x8d, 0xb6, 0x70, 0xa4, + 0x08, 0x3d, 0x20, 0x09, 0x77, 0xb5, 0xac, 0xc5, 0x6d, 0x7e, 0xc8, 0xee, 0xa7, 0x4f, 0x3f, 0xa5, 0xbe, 0x17, 0x82, + 0x5b, 0x66, 0x99, 0x39, 0xf0, 0x2a, 0x8a, 0x03, 0x1a, 0x75, 0xd1, 0xbe, 0xab, 0xac, 0x2c, 0xc1, 0xeb, 0x05, 0xee, + 0x95, 0x1f, 0xb8, 0x0f, 0xbf, 0x77, 0x59, 0x35, 0x37, 0xe9, 0x87, 0x6c, 0x9e, 0x2d, 0x76, 0xbb, 0x10, 0xff, 0x76, + 0xb5, 0xc8, 0xd1, 0xe4, 0x39, 0xe8, 0x34, 0x31, 0x92, 0x11, 0xd3, 0x8d, 0xf3, 0x36, 0xff, 0x67, 0xd1, 0x70, 0x9a, + 0x78, 0x0e, 0xf4, 0x62, 0x76, 0x0a, 0x32, 0x29, 0x03, 0x72, 0x20, 0x66, 0x7a, 0xcd, 0x40, 0x34, 0x32, 0x11, 0x01, + 0xae, 0x30, 0x36, 0x12, 0x8d, 0x4e, 0x38, 0xa9, 0x09, 0x58, 0xb0, 0xda, 0xf2, 0xde, 0x5b, 0xda, 0x56, 0x15, 0x1b, + 0x6f, 0x49, 0x73, 0x5c, 0x07, 0xce, 0xd7, 0xc1, 0x06, 0xbc, 0xd3, 0x65, 0x57, 0x0b, 0xe4, 0x7e, 0x79, 0x4d, 0x7b, + 0xe3, 0x3a, 0x81, 0x59, 0xdb, 0xd6, 0x96, 0xf1, 0xb3, 0xa5, 0xbf, 0xd0, 0x83, 0xab, 0x8c, 0xc1, 0xe6, 0xc6, 0x4a, + 0xc3, 0xee, 0x1b, 0xcf, 0x97, 0x02, 0xc2, 0xd3, 0xf9, 0xf4, 0xf8, 0x43, 0xe6, 0xd1, 0x63, 0x20, 0x3a, 0xe6, 0xa3, + 0xd2, 0x7d, 0x64, 0x77, 0xaf, 0x1f, 0x10, 0x70, 0x5e, 0xb5, 0x0b, 0x9a, 0x97, 0x0b, 0x08, 0xac, 0xea, 0x95, 0x57, + 0x58, 0x3e, 0x33, 0x66, 0x97, 0x40, 0x86, 0x0a, 0x02, 0x81, 0xbb, 0xbb, 0xce, 0x85, 0x58, 0x75, 0x58, 0x99, 0xd3, + 0x24, 0xec, 0x24, 0x44, 0xf3, 0xd6, 0x60, 0x16, 0xfc, 0xef, 0x60, 0x50, 0x0e, 0x82, 0x28, 0x88, 0x82, 0x80, 0x0c, + 0x0a, 0xf8, 0x85, 0xb8, 0x6b, 0x04, 0x63, 0xb6, 0x40, 0x87, 0xdf, 0x72, 0xe6, 0x33, 0x22, 0xaf, 0xfc, 0xb0, 0x9e, + 0xde, 0x00, 0x9c, 0x4b, 0x99, 0xf3, 0x18, 0x7d, 0x4e, 0xde, 0x72, 0x96, 0x11, 0xfa, 0xd6, 0x3b, 0x95, 0xdf, 0xf1, + 0x46, 0xb0, 0xbf, 0xfd, 0x61, 0x7b, 0x01, 0xf2, 0x8a, 0xde, 0x98, 0xbe, 0xe5, 0x24, 0xca, 0x1a, 0xce, 0xd4, 0x1c, + 0x7a, 0x56, 0x59, 0xd6, 0x8a, 0x1a, 0x72, 0x83, 0x62, 0x6e, 0x64, 0x99, 0x9c, 0x4c, 0x5b, 0xcd, 0xa9, 0xc0, 0x75, + 0x67, 0xd7, 0x0b, 0x48, 0x0e, 0x85, 0x66, 0xe9, 0x6c, 0x38, 0x6f, 0x77, 0x28, 0xb6, 0x4e, 0x21, 0xaf, 0x21, 0x2a, + 0x1a, 0xa4, 0x23, 0xa0, 0x86, 0x56, 0x5c, 0x56, 0xe0, 0xc2, 0x6c, 0xda, 0xc3, 0x4d, 0x7b, 0x4c, 0x33, 0xde, 0x43, + 0xcc, 0x3c, 0x8e, 0x2d, 0x03, 0x3b, 0x12, 0x87, 0xf4, 0xe4, 0x7c, 0x81, 0xf6, 0xe9, 0xad, 0xab, 0xc5, 0x23, 0xac, + 0x3d, 0x6f, 0x85, 0x84, 0x00, 0xf1, 0x69, 0x2a, 0xdd, 0xed, 0x82, 0x00, 0x06, 0xb8, 0xdf, 0xef, 0x01, 0xd7, 0x6a, + 0xd8, 0x49, 0x73, 0x6b, 0xb6, 0xc4, 0x5e, 0x51, 0x78, 0x0c, 0xcc, 0xa9, 0xf9, 0xcf, 0x20, 0xa0, 0x78, 0xee, 0x86, + 0x60, 0x6f, 0xca, 0x4e, 0xb6, 0x45, 0xbf, 0xff, 0xac, 0xc0, 0x07, 0x94, 0x0b, 0x83, 0x98, 0x5b, 0xc7, 0xf1, 0x30, + 0xec, 0x93, 0xfa, 0x10, 0xc7, 0x22, 0xcf, 0x42, 0x47, 0x58, 0x2a, 0x43, 0x58, 0xb8, 0x62, 0xa4, 0x83, 0x38, 0xa8, + 0x49, 0xe7, 0x60, 0x55, 0x2e, 0xf8, 0x72, 0xaf, 0xf7, 0x19, 0x60, 0xd2, 0x33, 0x6f, 0x58, 0xde, 0x78, 0x80, 0x68, + 0xbd, 0x1e, 0x2e, 0x14, 0x8f, 0x4c, 0x34, 0xd0, 0x38, 0xf1, 0xa5, 0x65, 0xd7, 0x67, 0x5a, 0x56, 0x32, 0x1a, 0x8d, + 0xaa, 0x5a, 0x49, 0x3e, 0xec, 0x77, 0x7f, 0xb6, 0x50, 0x3c, 0x65, 0x9c, 0xf2, 0x14, 0x2c, 0xdf, 0x0d, 0xa5, 0x9b, + 0x2f, 0xe8, 0x8a, 0x8b, 0x54, 0xfd, 0xf4, 0xd0, 0x37, 0x1b, 0xc4, 0x35, 0x6b, 0xea, 0x70, 0xec, 0xf0, 0x43, 0x00, + 0x4c, 0xfb, 0x30, 0x73, 0xe9, 0x1a, 0xa6, 0x17, 0xc4, 0xb3, 0x71, 0xc1, 0x43, 0x97, 0x07, 0xb0, 0x0f, 0xcd, 0x21, + 0x89, 0x9f, 0xc2, 0xcf, 0x99, 0x49, 0xeb, 0xf8, 0x0c, 0x67, 0x33, 0x2a, 0xd5, 0x8d, 0xa0, 0xfd, 0x1a, 0x12, 0x89, + 0x41, 0x7a, 0x6e, 0x30, 0x14, 0xad, 0xbb, 0x0d, 0x5c, 0xf9, 0x2d, 0xbd, 0xf3, 0x69, 0x10, 0x60, 0x7d, 0x63, 0x31, + 0x00, 0xa0, 0x8a, 0x3f, 0x50, 0x75, 0x65, 0xae, 0x28, 0xa6, 0x61, 0x2a, 0xd1, 0xde, 0x71, 0x5c, 0x47, 0x8d, 0xeb, + 0xb0, 0x60, 0xa5, 0xb5, 0x6d, 0x76, 0x6f, 0x69, 0x61, 0x4b, 0x40, 0xb5, 0x20, 0xee, 0x04, 0xf0, 0xa1, 0x91, 0xea, + 0x40, 0x90, 0xdd, 0x07, 0x07, 0x00, 0xbc, 0xe1, 0x79, 0x18, 0xc2, 0x1f, 0x58, 0x38, 0xb0, 0x2c, 0x55, 0x3f, 0x97, + 0xd3, 0x18, 0xce, 0xdd, 0x5c, 0xed, 0xf0, 0xd9, 0x12, 0x14, 0x9b, 0x6a, 0x4e, 0xcd, 0xe5, 0x2b, 0x6f, 0xec, 0xf7, + 0x98, 0x60, 0x1e, 0x33, 0xdb, 0xf0, 0x5b, 0x4f, 0xb7, 0xf5, 0x0d, 0x76, 0x03, 0x27, 0xed, 0x85, 0xd3, 0x5e, 0x6c, + 0x97, 0x06, 0xf2, 0xaf, 0x6e, 0x08, 0x11, 0x3e, 0x6a, 0x62, 0x91, 0x35, 0x64, 0x3a, 0x16, 0x2b, 0x44, 0xb5, 0xa9, + 0x78, 0xaa, 0x0d, 0x04, 0xca, 0xa9, 0xba, 0x30, 0xb5, 0x52, 0x99, 0x30, 0x88, 0x3b, 0x25, 0x2c, 0xaa, 0x0c, 0x30, + 0x0c, 0x2a, 0xa4, 0xb8, 0xb6, 0x9e, 0x1f, 0x70, 0xf9, 0x66, 0xa6, 0xcd, 0xf6, 0xd3, 0x17, 0x79, 0x7c, 0xb9, 0xdb, + 0x85, 0xdd, 0x2f, 0xc0, 0x1c, 0xb5, 0x54, 0x1a, 0x46, 0x70, 0x02, 0x51, 0x92, 0xeb, 0x3b, 0x72, 0x4e, 0x1c, 0x27, + 0xd7, 0x6e, 0xde, 0x6c, 0x2f, 0xc5, 0x08, 0x2c, 0xe0, 0xc4, 0x45, 0x3a, 0xd0, 0x52, 0x49, 0x6a, 0x4f, 0x01, 0x6f, + 0xd3, 0x3b, 0x4a, 0x85, 0x57, 0x0b, 0x4d, 0x42, 0x2a, 0x77, 0x2f, 0xb1, 0xa3, 0x06, 0x9c, 0x93, 0xba, 0x83, 0x80, + 0xd3, 0x9e, 0x6e, 0xac, 0x55, 0x24, 0x9b, 0x04, 0xef, 0x95, 0x1e, 0xba, 0x44, 0x3b, 0xb5, 0xbb, 0x6d, 0x55, 0xb6, + 0x50, 0x30, 0x0f, 0x72, 0x96, 0xa8, 0xe3, 0x01, 0x85, 0x2e, 0xea, 0x68, 0xc8, 0x17, 0xa4, 0xd0, 0x2b, 0x47, 0xab, + 0x9a, 0xf7, 0x25, 0x03, 0xa5, 0x5a, 0x05, 0x79, 0x4d, 0xac, 0xfb, 0x5a, 0xd6, 0x58, 0x5c, 0x39, 0x21, 0x85, 0x4d, + 0xf8, 0xda, 0x52, 0x2c, 0xcc, 0x62, 0x6f, 0x4c, 0x7d, 0xe1, 0x12, 0xa1, 0xed, 0x6e, 0x43, 0x8c, 0x36, 0x58, 0x37, + 0xbb, 0xdd, 0xc7, 0x22, 0x9c, 0x67, 0x0b, 0x2a, 0x47, 0x59, 0x8a, 0x90, 0x6a, 0xc6, 0x63, 0xd9, 0x76, 0xc1, 0x4c, + 0x0c, 0x75, 0xed, 0xf1, 0x92, 0x4c, 0xb1, 0x36, 0x49, 0x8e, 0xe2, 0x73, 0x59, 0xa8, 0xb5, 0x46, 0x08, 0x1e, 0xee, + 0xbf, 0xa6, 0x10, 0xd3, 0xce, 0xac, 0xbb, 0x97, 0x7b, 0x37, 0xc4, 0x5f, 0x21, 0xb0, 0x42, 0xc9, 0x3e, 0x16, 0xa3, + 0xf3, 0x0c, 0x82, 0xc1, 0x82, 0xac, 0x19, 0xa3, 0x04, 0xab, 0x75, 0xd0, 0x6c, 0xb9, 0xbd, 0x17, 0x5b, 0xa2, 0x00, + 0x71, 0x9e, 0x85, 0x66, 0x3c, 0x2b, 0x67, 0x39, 0x93, 0x51, 0x6c, 0x48, 0x54, 0x7a, 0x51, 0xe2, 0x7d, 0x9e, 0xc6, + 0xf4, 0xd0, 0xad, 0x41, 0x70, 0x5d, 0xdd, 0xdb, 0x48, 0xf3, 0x05, 0x21, 0x6a, 0x02, 0x24, 0x6c, 0x54, 0x73, 0x6a, + 0x5d, 0x89, 0xfb, 0x59, 0xe5, 0x8d, 0x3e, 0x88, 0xaf, 0x04, 0xf0, 0xb0, 0xde, 0xf6, 0x3e, 0x17, 0x1e, 0x6b, 0x83, + 0x6f, 0x77, 0xbb, 0x2b, 0x31, 0x0f, 0x02, 0x8f, 0xd1, 0xfc, 0x45, 0x49, 0xcc, 0x7b, 0x63, 0x0a, 0x2b, 0xde, 0x77, + 0xf1, 0xeb, 0x26, 0xb5, 0xd6, 0x22, 0x77, 0x8f, 0xeb, 0x03, 0x9e, 0xa7, 0xc4, 0xd1, 0x8e, 0xca, 0xa9, 0xb4, 0xb6, + 0x03, 0xd8, 0x15, 0x81, 0x81, 0xb2, 0x7f, 0x4b, 0xd9, 0x16, 0xcc, 0x13, 0xc1, 0xfa, 0x08, 0xfd, 0xb6, 0x94, 0xfe, + 0x64, 0x8c, 0xc6, 0x3d, 0x72, 0x5d, 0x45, 0x47, 0x5c, 0x47, 0xb3, 0xe7, 0xd1, 0xdf, 0x9e, 0x8c, 0x69, 0x11, 0x8b, + 0x54, 0x5e, 0x81, 0x0a, 0x02, 0x94, 0x21, 0xe8, 0x08, 0xa1, 0xa9, 0x01, 0x68, 0x10, 0xdc, 0x00, 0xfc, 0xbb, 0xd3, + 0x89, 0xd2, 0xd6, 0xe4, 0x63, 0xb4, 0xaa, 0x22, 0x67, 0x6d, 0x68, 0x37, 0x95, 0x1c, 0x92, 0x87, 0x25, 0xe0, 0x5b, + 0x62, 0xb3, 0x94, 0x0d, 0x8a, 0xda, 0x6c, 0xea, 0xb5, 0x62, 0x47, 0x6e, 0x1b, 0x45, 0x9b, 0xb5, 0xa8, 0xed, 0x46, + 0xe6, 0x8b, 0xe9, 0xad, 0x15, 0x06, 0x4e, 0x4d, 0x6b, 0x6e, 0xf6, 0xa0, 0xe4, 0x6c, 0x7d, 0x26, 0x37, 0x01, 0xe2, + 0x00, 0xc3, 0x75, 0x3b, 0xbf, 0x59, 0x10, 0x7a, 0xcb, 0x6e, 0xad, 0x58, 0xf5, 0xc6, 0xca, 0x45, 0x4c, 0xda, 0xcd, + 0x60, 0x02, 0x97, 0x71, 0x56, 0xd8, 0x17, 0x5a, 0xdd, 0x50, 0x74, 0xb4, 0x4d, 0xda, 0xcf, 0x3b, 0xda, 0x0d, 0x17, + 0x7c, 0x2b, 0xd6, 0x71, 0x6e, 0x59, 0x53, 0x85, 0xa6, 0x1d, 0xe8, 0xed, 0x10, 0xd0, 0x9c, 0x8d, 0xe9, 0x92, 0xa6, + 0x78, 0x81, 0xa6, 0x6b, 0x30, 0xd3, 0xb9, 0x80, 0xbe, 0x76, 0xfb, 0x68, 0x5f, 0xa8, 0x9e, 0x08, 0x6f, 0x89, 0x82, + 0x6f, 0x4b, 0x0a, 0x5e, 0x6a, 0x39, 0x8f, 0xcd, 0x1c, 0x02, 0x3e, 0x8d, 0x2a, 0xd1, 0x3b, 0x29, 0x2e, 0x41, 0x9b, + 0x09, 0x47, 0xa0, 0xa9, 0x1a, 0xb1, 0x95, 0x03, 0xdc, 0x5e, 0x3c, 0x0d, 0x08, 0x05, 0xa9, 0xee, 0xda, 0xae, 0xc8, + 0x5b, 0x76, 0xb2, 0xbd, 0x05, 0x33, 0xe1, 0x6a, 0x5d, 0xb6, 0xbe, 0xb2, 0xc9, 0xee, 0xe3, 0x9a, 0x60, 0xdb, 0x3d, + 0xd4, 0xd8, 0xf0, 0x96, 0xde, 0x90, 0xed, 0x4d, 0xbf, 0x1f, 0x42, 0x7f, 0x08, 0xd5, 0x1d, 0xba, 0xed, 0xec, 0xd0, + 0xad, 0xd7, 0xce, 0x73, 0xab, 0xe7, 0x53, 0xde, 0x21, 0x1f, 0xd1, 0x64, 0x8d, 0xae, 0xe2, 0x0d, 0x6c, 0xea, 0xa8, + 0xa2, 0xaa, 0xf2, 0x28, 0xa1, 0xa0, 0x12, 0xcf, 0x78, 0xf9, 0x81, 0x63, 0xac, 0x57, 0xfd, 0xf4, 0x4e, 0xf3, 0x6a, + 0x6b, 0xb3, 0x36, 0xcb, 0xf5, 0x39, 0x58, 0x48, 0x9c, 0xf3, 0xe8, 0x4a, 0xd3, 0x92, 0x4b, 0x1f, 0x54, 0x15, 0x47, + 0x25, 0xb8, 0x88, 0xb3, 0x1c, 0xd4, 0xb8, 0x17, 0xcd, 0xfe, 0x87, 0xda, 0x76, 0x6c, 0xd9, 0x38, 0x73, 0xaf, 0x43, + 0xb2, 0xfd, 0x1f, 0x1b, 0xa8, 0xa7, 0x21, 0x46, 0x88, 0x35, 0x0b, 0xfa, 0x01, 0x83, 0x58, 0xa1, 0x41, 0xb9, 0x4e, + 0x12, 0x5e, 0x96, 0x81, 0x51, 0x6a, 0xad, 0xd9, 0xda, 0x9c, 0x67, 0xef, 0xd8, 0xc9, 0xbb, 0x1e, 0x63, 0xb7, 0x84, + 0x26, 0x5a, 0x27, 0x64, 0x6a, 0x8c, 0x3c, 0x2d, 0x90, 0xee, 0x50, 0x94, 0x5d, 0x84, 0x0f, 0x50, 0xc8, 0xd2, 0xde, + 0xe7, 0xe6, 0x44, 0x56, 0xdf, 0x68, 0x23, 0x94, 0x48, 0x25, 0x82, 0x6c, 0xfc, 0x06, 0x01, 0x8c, 0xa1, 0xd9, 0x01, + 0xd9, 0x2e, 0xd9, 0x6b, 0x7a, 0x66, 0x4d, 0x82, 0xe0, 0xf5, 0x03, 0x95, 0x68, 0x46, 0x59, 0x11, 0x5d, 0x65, 0xf4, + 0xb3, 0x09, 0x49, 0x74, 0x16, 0x12, 0x3f, 0x37, 0x2c, 0xad, 0xeb, 0x10, 0xc5, 0xcc, 0x66, 0xc3, 0x6b, 0x45, 0x54, + 0x63, 0x5b, 0x19, 0x1f, 0xf3, 0x5b, 0x9b, 0x46, 0xa6, 0xd0, 0xd7, 0xe1, 0xa4, 0xdf, 0x87, 0xbf, 0x9a, 0x7e, 0xe0, + 0x2d, 0x05, 0x7f, 0xb1, 0x77, 0xa4, 0x4e, 0x58, 0x00, 0xf0, 0x8c, 0x39, 0xaf, 0x9a, 0x13, 0xf8, 0x8e, 0x9d, 0x6c, + 0xdf, 0x85, 0xaf, 0x1b, 0x33, 0xb7, 0x09, 0xf1, 0x52, 0x95, 0xf4, 0xbc, 0x79, 0x32, 0x03, 0xb1, 0xb2, 0x5a, 0xf3, + 0x5b, 0x66, 0xf5, 0x09, 0x40, 0xa4, 0x6e, 0xad, 0x83, 0x2d, 0x7e, 0x6c, 0xba, 0x4c, 0xb6, 0x29, 0x6b, 0x33, 0x51, + 0x4a, 0x45, 0xd2, 0x5c, 0x04, 0xd0, 0x6f, 0x18, 0x8e, 0x1a, 0xe0, 0xce, 0xf5, 0xd8, 0x9b, 0xa1, 0xf1, 0xc6, 0xd4, + 0xd0, 0xb3, 0xad, 0x5e, 0xde, 0x8e, 0x42, 0x98, 0xb1, 0x88, 0x6e, 0xdd, 0xb1, 0x18, 0xbe, 0xa6, 0x0f, 0xa0, 0xc2, + 0xa7, 0x21, 0x46, 0x17, 0x26, 0x75, 0x3d, 0x5d, 0xab, 0xad, 0x74, 0x43, 0x68, 0x8e, 0x51, 0x8d, 0xbc, 0xb6, 0x6d, + 0xa8, 0x11, 0xda, 0x13, 0xca, 0xc3, 0x5b, 0x5a, 0xd1, 0x1b, 0xcb, 0x22, 0x38, 0xf9, 0xb1, 0x97, 0x9f, 0xd0, 0x73, + 0x37, 0x68, 0x3f, 0x15, 0x6d, 0x0d, 0xe0, 0x6f, 0xa8, 0x1f, 0xce, 0xea, 0xa9, 0x95, 0x72, 0x78, 0x0a, 0x5f, 0xb2, + 0x05, 0xb9, 0x82, 0x5e, 0xac, 0x31, 0x3b, 0x89, 0x41, 0x07, 0xb5, 0xb7, 0x3b, 0xbc, 0x49, 0x29, 0x43, 0xb4, 0x46, + 0x74, 0x90, 0x57, 0xff, 0x06, 0x4d, 0x1f, 0xa4, 0x85, 0x29, 0x5d, 0xa3, 0x80, 0x07, 0xf4, 0x4d, 0xfd, 0x7e, 0x8e, + 0xcf, 0xb5, 0x67, 0x99, 0xa6, 0x2c, 0x90, 0x09, 0x5d, 0xba, 0xd2, 0x40, 0x54, 0xbe, 0x75, 0xac, 0x02, 0xb0, 0x22, + 0x09, 0x34, 0x22, 0x01, 0xcb, 0x25, 0x4f, 0x5c, 0xb6, 0x45, 0x83, 0x9a, 0xa8, 0xa4, 0x90, 0x25, 0x92, 0xc0, 0x0f, + 0x23, 0x28, 0x53, 0x14, 0x83, 0xb8, 0x57, 0x2f, 0xaf, 0xb8, 0xa6, 0x06, 0xac, 0x29, 0x82, 0x09, 0xd6, 0xe9, 0x14, + 0x88, 0xad, 0x58, 0xaf, 0xc0, 0x13, 0xd5, 0x5d, 0x24, 0x91, 0x25, 0x40, 0x03, 0x3d, 0x5f, 0x3a, 0xed, 0x96, 0xb7, + 0x27, 0x5a, 0xaa, 0xd8, 0xdc, 0x7b, 0xb1, 0xb0, 0xdc, 0x63, 0xe5, 0x6f, 0x07, 0xda, 0x0b, 0xab, 0x3d, 0x11, 0x35, + 0x58, 0x1d, 0xb6, 0xed, 0xfc, 0x50, 0x1a, 0xaa, 0x7b, 0xe5, 0x98, 0x80, 0x8a, 0xae, 0xe2, 0x6a, 0x19, 0x65, 0x23, + 0xf8, 0xb3, 0xdb, 0x05, 0x87, 0x01, 0x58, 0x84, 0xfe, 0xf2, 0xfe, 0xa7, 0x08, 0xc3, 0x55, 0xfd, 0xf2, 0xfe, 0xa7, + 0xdd, 0xee, 0xc9, 0x78, 0x6c, 0xb8, 0x02, 0xa7, 0xd6, 0x01, 0xfe, 0xc0, 0xb0, 0x0d, 0x76, 0xc9, 0xee, 0x76, 0x4f, + 0x80, 0x83, 0x50, 0x6c, 0x83, 0xd9, 0xc5, 0xca, 0xb1, 0x4d, 0xb1, 0x1a, 0x7a, 0x47, 0x02, 0x76, 0xdf, 0x1e, 0x4b, + 0xb1, 0x4f, 0x7d, 0x54, 0x48, 0x4a, 0xbd, 0xe8, 0x9f, 0x77, 0x0a, 0x2c, 0x29, 0x98, 0xf2, 0x06, 0xcb, 0xaa, 0x5a, + 0x95, 0xd1, 0xe1, 0x61, 0xbc, 0xca, 0x46, 0x65, 0x06, 0xdb, 0xbc, 0xbc, 0xbe, 0x04, 0x80, 0x89, 0x80, 0x36, 0xde, + 0xad, 0x45, 0x66, 0x5e, 0x2c, 0xe8, 0x32, 0xc3, 0x35, 0x09, 0x66, 0x07, 0x39, 0xb7, 0xba, 0xc9, 0x29, 0xb1, 0x0f, + 0x60, 0x83, 0xb9, 0xdb, 0x35, 0xf8, 0x85, 0x93, 0xd1, 0x93, 0xd9, 0x32, 0xd3, 0x06, 0xae, 0xdc, 0xec, 0x7f, 0x12, + 0x79, 0x69, 0xa8, 0xf8, 0x24, 0xd3, 0xe7, 0x19, 0xf0, 0x79, 0xec, 0x4f, 0x11, 0xfa, 0x2c, 0x57, 0xa3, 0x35, 0xc0, + 0xc6, 0x66, 0x17, 0x9b, 0x51, 0xca, 0x21, 0x42, 0x47, 0x60, 0xd5, 0x35, 0xcb, 0x8c, 0xf8, 0x36, 0x15, 0xb7, 0x2d, + 0x55, 0xd8, 0x9f, 0xc2, 0x73, 0xde, 0xe1, 0xc6, 0x71, 0xa8, 0x37, 0x89, 0xc2, 0xe7, 0x28, 0x44, 0xe5, 0x68, 0x5c, + 0xe8, 0xe4, 0x6b, 0x99, 0xc7, 0x84, 0x62, 0x0e, 0xf7, 0xee, 0xaf, 0xd4, 0x99, 0xcb, 0xf8, 0xc2, 0xbd, 0xe7, 0xbe, + 0xcc, 0xe4, 0x5a, 0x02, 0x48, 0x94, 0xaa, 0xfd, 0xf7, 0x2f, 0x48, 0x8d, 0xff, 0x95, 0x6a, 0x0d, 0x40, 0xef, 0x77, + 0xa8, 0xc9, 0x11, 0x04, 0x6c, 0xc5, 0xd4, 0x8f, 0x2e, 0x60, 0x25, 0xf3, 0x3f, 0xa1, 0x6e, 0x47, 0xb0, 0xad, 0x8a, + 0x27, 0x14, 0x55, 0xb4, 0xe0, 0xe9, 0x5a, 0xa4, 0xb1, 0x48, 0x36, 0x11, 0xaf, 0xa7, 0x58, 0x12, 0xb3, 0x11, 0xc3, + 0x7e, 0x6f, 0x76, 0xe1, 0x7d, 0xd1, 0x30, 0x89, 0xa7, 0xa5, 0xbf, 0xad, 0xbc, 0xcd, 0x64, 0x19, 0x67, 0x64, 0xca, + 0x15, 0x82, 0xb9, 0xd5, 0xf7, 0x98, 0x13, 0xfc, 0xf1, 0xd1, 0x63, 0x42, 0xaf, 0xe5, 0xb4, 0x44, 0x90, 0x3e, 0x91, + 0x5a, 0xd7, 0x55, 0xec, 0xd7, 0x14, 0xa2, 0x5a, 0x08, 0x06, 0xa1, 0x4c, 0x4d, 0xfb, 0x14, 0xdf, 0x67, 0xcb, 0xfe, + 0xd3, 0x94, 0x2d, 0xc9, 0x56, 0x40, 0xc7, 0xa4, 0xf3, 0x7e, 0xf5, 0xf6, 0xec, 0xcc, 0xfb, 0x0d, 0x9a, 0x70, 0x50, 0xdd, 0x40, 0xbb, 0x0a, 0x32, 0x8d, 0x51, 0x6c, 0x16, 0x63, 0xed, 0xd6, 0x44, 0x04, 0x41, 0xb8, 0xcb, 0x59, 0xd8, 0x6e, 0x27, 0xc4, 0xdb, 0x40, 0x02, 0x05, 0xae, 0x6d, 0x94, 0x93, 0x90, 0xa8, 0x0b, 0x99, 0x39, 0x26, 0x24, 0x0b, 0xf4, 0x1a, 0x3b, 0x0a, 0xe8, 0x29, 0xb7, 0x4f, 0x01, 0x7d, 0x51, 0xb0, 0x53, 0x3e, 0x08, 0x86, 0x18, 0x6f, 0x36, - 0xa0, 0x1f, 0xa5, 0x7a, 0x04, 0x8f, 0x69, 0x60, 0xb9, 0xe8, 0xeb, 0x82, 0x21, 0xcc, 0xd2, 0xef, 0x29, 0x9b, 0x7c, - 0xf3, 0x77, 0x37, 0xbf, 0xe7, 0x5a, 0xcc, 0x0e, 0x42, 0x71, 0x7b, 0x3d, 0x01, 0xe2, 0x57, 0xf1, 0x2b, 0xb0, 0x36, - 0xd7, 0x12, 0x6f, 0x4f, 0xf2, 0x20, 0x7c, 0x39, 0xba, 0xfd, 0xa4, 0x34, 0x9f, 0x40, 0xd0, 0x1e, 0x27, 0x29, 0x77, - 0xdf, 0xbd, 0x97, 0xae, 0x22, 0x18, 0x2d, 0x40, 0xf0, 0xdb, 0x5b, 0xc9, 0x59, 0x53, 0xf8, 0x8f, 0x75, 0xbe, 0xc0, - 0x58, 0x2a, 0xf2, 0x3d, 0x4e, 0x7f, 0x13, 0x1c, 0xdc, 0xbf, 0x95, 0x59, 0x43, 0xa2, 0x73, 0xf5, 0x11, 0xd0, 0xff, - 0xb1, 0x1e, 0xbf, 0x53, 0x94, 0xf4, 0x25, 0x71, 0x8e, 0xf0, 0x4d, 0xbc, 0x44, 0xd3, 0xc5, 0xde, 0xb8, 0xa6, 0x9f, - 0x0a, 0xf3, 0x42, 0x2b, 0x38, 0xec, 0x5b, 0xa3, 0xf0, 0xc0, 0x33, 0xef, 0x3b, 0xd1, 0x10, 0x74, 0xff, 0x03, 0xf7, - 0xc6, 0x77, 0x82, 0x65, 0x78, 0x53, 0xce, 0x32, 0x73, 0x87, 0xbb, 0xc9, 0x44, 0x2a, 0x6f, 0x18, 0x0b, 0xd6, 0x42, - 0x99, 0xf3, 0xa6, 0xc1, 0x6c, 0x53, 0x47, 0x2a, 0xd9, 0x7d, 0xff, 0x67, 0xe3, 0x84, 0xcd, 0x06, 0xc1, 0xfb, 0x4a, + 0xa0, 0x9f, 0xa4, 0x7a, 0x04, 0x8f, 0x69, 0x60, 0xb9, 0xe8, 0x9b, 0x82, 0x21, 0xcc, 0xd2, 0x3f, 0x53, 0x36, 0xf9, + 0xee, 0xef, 0x6e, 0x7e, 0xcf, 0xb4, 0x98, 0x1d, 0x84, 0xe2, 0xf6, 0x7a, 0x02, 0xc4, 0xaf, 0xe2, 0x57, 0x60, 0x6d, + 0xae, 0x25, 0xde, 0x9e, 0xe4, 0x41, 0xf8, 0x72, 0x74, 0xfb, 0x49, 0x69, 0x3e, 0x81, 0xa0, 0x3d, 0x4e, 0x52, 0xee, + 0xbe, 0xfb, 0x20, 0x5d, 0x45, 0x30, 0x5a, 0x80, 0xe0, 0x77, 0x67, 0x25, 0x9b, 0xa6, 0xf0, 0x1f, 0xeb, 0x7c, 0x81, + 0xb1, 0x54, 0xe4, 0x07, 0x9c, 0xfe, 0x26, 0x38, 0xb8, 0x7f, 0x2b, 0xb3, 0x86, 0x44, 0x67, 0xea, 0x23, 0xa0, 0xff, + 0x63, 0x3d, 0x7e, 0xa7, 0x28, 0xe9, 0x4b, 0xe2, 0x1c, 0xe1, 0x9b, 0x78, 0x89, 0xa6, 0x8b, 0xbd, 0x71, 0x4d, 0x3f, + 0x17, 0xe6, 0x85, 0x56, 0x70, 0xd8, 0xb7, 0x46, 0xe1, 0x81, 0x67, 0xde, 0xaf, 0xa2, 0x21, 0xe8, 0xfe, 0x11, 0xf7, + 0xc6, 0xaf, 0x82, 0x65, 0x78, 0x53, 0xce, 0x32, 0x73, 0x87, 0xbb, 0xc9, 0x44, 0x2a, 0x6f, 0x18, 0x0b, 0xd6, 0x42, + 0x99, 0xf3, 0xa6, 0xc1, 0x6c, 0x5b, 0x47, 0x2a, 0xd9, 0x7d, 0xff, 0x67, 0xe3, 0x84, 0xcd, 0x06, 0xc1, 0x87, 0x4a, 0x16, 0xf1, 0x25, 0x0f, 0xa6, 0x5a, 0x45, 0x91, 0x81, 0x5d, 0x21, 0x20, 0xe5, 0x38, 0xed, 0x1d, 0x3c, 0x59, 0x6a, - 0x66, 0x42, 0x7e, 0x5b, 0x9d, 0x05, 0xbc, 0x35, 0xa3, 0x79, 0x5a, 0xc1, 0x2e, 0xf3, 0x95, 0x14, 0xdf, 0xb5, 0x24, - 0xd9, 0x58, 0x7f, 0x43, 0x86, 0x6d, 0xe5, 0x33, 0xe7, 0x80, 0xb9, 0xf3, 0x51, 0xaa, 0xa0, 0x7f, 0x3d, 0xc6, 0x6e, - 0x24, 0x12, 0x01, 0xe1, 0x2c, 0x26, 0xee, 0x84, 0x09, 0x87, 0xe9, 0x02, 0x05, 0xc5, 0x18, 0x28, 0xe8, 0xbd, 0x0c, - 0x39, 0x3d, 0xe5, 0x83, 0xa4, 0x31, 0x5b, 0x7f, 0xaa, 0x12, 0xe9, 0x8d, 0x24, 0xf4, 0x0c, 0x7e, 0x8f, 0x5b, 0x3c, - 0x50, 0x23, 0x58, 0xa7, 0xbb, 0x39, 0x1d, 0xbe, 0x2e, 0xc8, 0xf0, 0x77, 0xf0, 0x76, 0x8b, 0xed, 0x65, 0x39, 0x81, + 0x66, 0x42, 0x7e, 0x5b, 0x9d, 0x05, 0xbc, 0x35, 0xa3, 0x79, 0x5a, 0xc1, 0x2e, 0xf3, 0x95, 0x14, 0x3f, 0xb4, 0x24, + 0xd9, 0x58, 0x7f, 0x43, 0x86, 0x6d, 0xe5, 0x33, 0x67, 0x80, 0xb9, 0xf3, 0x49, 0xaa, 0xa0, 0x7f, 0x3d, 0xc6, 0x6e, + 0x24, 0x12, 0x01, 0xe1, 0x2c, 0x26, 0x6e, 0x85, 0x09, 0x87, 0xe9, 0x02, 0x05, 0xc5, 0x18, 0x28, 0xe8, 0x83, 0x0c, + 0x39, 0x3d, 0xe5, 0x83, 0xa4, 0x31, 0x5b, 0x3f, 0xa8, 0x12, 0xe9, 0x8d, 0x24, 0x74, 0x03, 0xbf, 0xc7, 0x2d, 0x1e, + 0xa8, 0x11, 0xac, 0xd3, 0xdd, 0x9c, 0x0e, 0xdf, 0x14, 0x64, 0xf8, 0x4f, 0xf0, 0x76, 0x8b, 0xed, 0x65, 0x39, 0x81, 0xc5, 0x1d, 0x7b, 0xc5, 0xd3, 0x5c, 0xb5, 0x38, 0x21, 0x1e, 0xb1, 0xc8, 0x7d, 0x62, 0x01, 0x23, 0x6a, 0x18, 0x8d, - 0x1f, 0xdf, 0xbf, 0x79, 0xad, 0x31, 0xac, 0x72, 0xff, 0x03, 0x18, 0x51, 0x2d, 0x6d, 0xb7, 0x03, 0xbe, 0x1c, 0xa1, - 0x01, 0x7b, 0xea, 0x06, 0xbb, 0xdf, 0x37, 0x69, 0x27, 0xa5, 0x97, 0xcd, 0x89, 0x41, 0x77, 0x94, 0x36, 0x4b, 0x65, - 0x60, 0xdc, 0x55, 0x38, 0x9a, 0x13, 0x1b, 0xb1, 0xaa, 0xf7, 0x61, 0xb8, 0xa4, 0xb1, 0x95, 0x95, 0xdb, 0xdd, 0x84, - 0x23, 0x9b, 0x00, 0xd7, 0xa7, 0xa0, 0xbd, 0x9a, 0x73, 0xd0, 0x82, 0x12, 0x05, 0x8e, 0x68, 0xbb, 0x0d, 0x21, 0x22, - 0x49, 0x31, 0x9c, 0xcc, 0xc2, 0x62, 0x38, 0x54, 0x03, 0x5f, 0x10, 0x12, 0x7d, 0x2a, 0xe6, 0xd9, 0x42, 0x21, 0x18, - 0xf9, 0x3b, 0xe9, 0xd7, 0x42, 0x71, 0xca, 0xbd, 0xef, 0x04, 0xd9, 0xfc, 0x23, 0xc5, 0x18, 0x8c, 0x4e, 0xb3, 0x99, + 0x7f, 0x7c, 0x78, 0xfb, 0x46, 0x63, 0x58, 0xe5, 0xfe, 0x07, 0x30, 0xa2, 0x5a, 0xda, 0x6e, 0x07, 0x7c, 0x39, 0x42, + 0x03, 0xf6, 0xd4, 0x0d, 0x76, 0xbf, 0x6f, 0xd2, 0x4e, 0x4a, 0x2f, 0x9b, 0x13, 0x83, 0xee, 0x29, 0x6d, 0x96, 0xca, + 0xc0, 0xb8, 0xab, 0x70, 0x34, 0x27, 0x36, 0x62, 0x55, 0xef, 0xc3, 0x70, 0x49, 0x63, 0x2b, 0x2b, 0xb7, 0xbb, 0x09, + 0x47, 0x36, 0x01, 0xae, 0x4f, 0x41, 0x7b, 0x35, 0xe7, 0xa0, 0x05, 0x25, 0x0a, 0x1c, 0xd1, 0x6e, 0x17, 0x42, 0x44, + 0x92, 0x62, 0x38, 0x99, 0x85, 0xc5, 0x70, 0xa8, 0x06, 0xbe, 0x20, 0x24, 0xfa, 0x5c, 0xcc, 0xb3, 0x85, 0x42, 0x30, + 0xf2, 0x77, 0xd2, 0xaf, 0x85, 0xe2, 0x94, 0x7b, 0xbf, 0x0a, 0xb2, 0xfd, 0x31, 0xc5, 0x18, 0x8c, 0x4e, 0xb3, 0x99, 0x81, 0x84, 0xf5, 0xb4, 0x22, 0x6a, 0x1d, 0xd9, 0xd9, 0x00, 0x55, 0x2c, 0x9a, 0x06, 0x83, 0xba, 0xc5, 0x13, 0xeb, - 0x19, 0xbd, 0x07, 0x95, 0x20, 0xaa, 0x05, 0xbb, 0x31, 0x5c, 0x6b, 0xaf, 0x45, 0x28, 0x29, 0x27, 0x4d, 0x66, 0xc6, - 0x8a, 0x06, 0x0b, 0x10, 0x92, 0xc6, 0x65, 0xf5, 0x4a, 0xa6, 0xd9, 0x45, 0x06, 0x08, 0x12, 0xce, 0x9f, 0x50, 0x36, + 0x19, 0xbd, 0x07, 0x95, 0x20, 0xaa, 0x05, 0xbb, 0x31, 0x5c, 0x6b, 0x9f, 0x45, 0x28, 0x29, 0x27, 0x4d, 0x66, 0xc6, + 0x8a, 0x06, 0x0b, 0x10, 0x92, 0xc6, 0x65, 0xf5, 0x5a, 0xa6, 0xd9, 0x45, 0x06, 0x08, 0x12, 0xce, 0x9f, 0x50, 0x36, 0xde, 0x3c, 0x55, 0xf3, 0xd2, 0x95, 0x38, 0xb3, 0xb0, 0x27, 0x5d, 0x6f, 0x69, 0x41, 0xa2, 0x02, 0x68, 0x94, 0xaf, - 0xe5, 0xf9, 0x7e, 0xc7, 0x2a, 0x64, 0xf7, 0xc3, 0xa9, 0xb2, 0x1d, 0xe2, 0x27, 0xac, 0x22, 0xde, 0x69, 0x5d, 0x29, + 0xe5, 0xf9, 0x79, 0xcf, 0x2a, 0x64, 0xff, 0xc3, 0xa9, 0xb2, 0x1d, 0xe2, 0x27, 0xac, 0x22, 0xde, 0x69, 0x5d, 0x29, 0x91, 0x46, 0x47, 0xdb, 0x80, 0x18, 0xb6, 0xec, 0x5b, 0xd4, 0xf0, 0x41, 0xd8, 0x45, 0x27, 0xf9, 0x41, 0x4f, 0xf1, 0xd8, 0x1a, 0x48, 0xfa, 0x5a, 0x04, 0x5f, 0xa3, 0x23, 0x9d, 0x28, 0xd3, 0x48, 0x4c, 0x21, 0xd1, 0xaf, 0x17, 0x5a, - 0x63, 0x19, 0x65, 0x5f, 0x91, 0xff, 0xb3, 0xee, 0xde, 0x77, 0x62, 0xbb, 0x85, 0x49, 0xf6, 0x3c, 0xd0, 0x60, 0x53, + 0x63, 0x19, 0x65, 0x5f, 0x91, 0xff, 0xbb, 0xee, 0xde, 0xaf, 0x62, 0xb7, 0x83, 0x49, 0xf6, 0x3c, 0xd0, 0x60, 0x53, 0xa3, 0x56, 0x08, 0x67, 0xe7, 0xb4, 0x42, 0xed, 0x58, 0x2f, 0x2c, 0x81, 0x3c, 0x80, 0xad, 0x48, 0x83, 0x32, 0x48, - 0xf6, 0xa9, 0x98, 0x8b, 0x85, 0x13, 0xe5, 0x48, 0x85, 0x7f, 0x26, 0x47, 0x29, 0x87, 0xab, 0x58, 0x58, 0x30, 0xe4, - 0x57, 0x47, 0x17, 0x85, 0xbc, 0x02, 0x49, 0x89, 0x61, 0xa8, 0x2c, 0xaf, 0x8b, 0xab, 0xb6, 0x24, 0xb4, 0x77, 0x06, - 0xa0, 0x34, 0x05, 0x08, 0x5e, 0x1a, 0x35, 0xc4, 0x6c, 0xa3, 0x76, 0x57, 0xb4, 0x97, 0x1c, 0x50, 0xa7, 0xbb, 0x76, - 0xeb, 0x4d, 0xd9, 0xaa, 0x5b, 0x71, 0xe1, 0x9f, 0x50, 0xfa, 0x29, 0x1f, 0x14, 0x3e, 0x95, 0xc0, 0x8d, 0xaf, 0x36, - 0x59, 0x76, 0x71, 0x87, 0x4b, 0xbf, 0x6a, 0x8c, 0x5f, 0xbf, 0xdf, 0x53, 0x0b, 0xa1, 0x91, 0x0a, 0xcc, 0xb7, 0xcf, - 0x4c, 0x55, 0x46, 0x53, 0x6a, 0x2f, 0xc1, 0x95, 0xb3, 0x1f, 0x41, 0x45, 0x5c, 0x57, 0xa4, 0x36, 0x35, 0x40, 0x07, - 0x5e, 0x56, 0xb8, 0x95, 0x05, 0x78, 0xec, 0x04, 0x64, 0xbb, 0xe5, 0x61, 0xa0, 0x0f, 0x9d, 0xc0, 0xdf, 0x92, 0xaf, - 0x90, 0x59, 0xb3, 0x8f, 0xff, 0xd2, 0x82, 0x7f, 0x6c, 0xc1, 0x4f, 0x28, 0xee, 0xb4, 0x32, 0xff, 0x56, 0x5a, 0xb7, - 0xb8, 0x7f, 0x27, 0xd3, 0x84, 0xa2, 0x32, 0xa1, 0xf6, 0x2b, 0xfd, 0xd1, 0x04, 0x8f, 0x52, 0xd9, 0x3f, 0x48, 0xf8, - 0x60, 0xd6, 0x78, 0x62, 0x8d, 0x27, 0xc3, 0xe9, 0x56, 0x1a, 0x96, 0x01, 0x85, 0x7e, 0x5e, 0xe6, 0x8a, 0xea, 0xe7, - 0x9f, 0xd7, 0x7c, 0xcd, 0x9b, 0x2d, 0xb6, 0x49, 0xf7, 0x34, 0xd8, 0xcb, 0xa3, 0x29, 0x85, 0x93, 0xa8, 0x73, 0x23, - 0x51, 0x17, 0x35, 0xcb, 0x50, 0x9d, 0xe0, 0xd5, 0x3c, 0xd5, 0xc3, 0xde, 0x4c, 0x44, 0x6b, 0x25, 0x65, 0x89, 0x01, - 0x6b, 0x1d, 0x79, 0x48, 0xee, 0xd6, 0x3a, 0xee, 0x34, 0xd4, 0xa5, 0x29, 0xd4, 0x04, 0x2b, 0x5c, 0x80, 0x23, 0xe8, - 0x5d, 0x11, 0x72, 0xb8, 0xa6, 0x2a, 0xfd, 0x82, 0xa6, 0xe4, 0x89, 0xa7, 0xa8, 0xd5, 0x8a, 0x74, 0xfb, 0x51, 0x8e, - 0xdd, 0xf0, 0x8d, 0x13, 0x72, 0x62, 0x84, 0xfe, 0xee, 0x58, 0xca, 0x19, 0x5a, 0x3c, 0xa8, 0x13, 0xac, 0x97, 0xb7, - 0x14, 0x28, 0xe6, 0xe8, 0xb2, 0xea, 0x9a, 0x97, 0x68, 0xfb, 0xb2, 0xec, 0xf7, 0x73, 0x5b, 0x4f, 0xca, 0x4e, 0x36, - 0x4b, 0xb3, 0x0f, 0x51, 0x31, 0x85, 0xbb, 0x3e, 0xd1, 0xfc, 0x55, 0xa8, 0xaf, 0xda, 0x32, 0xe7, 0x23, 0x8e, 0x38, - 0x21, 0x39, 0xa9, 0xff, 0xa5, 0xa6, 0x5e, 0x89, 0xfb, 0x55, 0x25, 0xbf, 0x0a, 0x63, 0xc5, 0x68, 0x89, 0x21, 0x8a, - 0xb4, 0x7b, 0x63, 0xfa, 0xb2, 0x00, 0xf8, 0x2b, 0xc1, 0x3e, 0xa5, 0xa1, 0x56, 0x7e, 0x8b, 0xb6, 0x80, 0x7f, 0xa3, - 0xb8, 0x01, 0xab, 0xc0, 0x00, 0xa3, 0xc9, 0xf6, 0x9c, 0x26, 0x70, 0xc0, 0x09, 0xad, 0xa2, 0xa0, 0xc2, 0x0c, 0x0d, - 0xb5, 0x85, 0xd1, 0x57, 0x28, 0xe3, 0x56, 0x99, 0xbd, 0x1b, 0x63, 0xa7, 0x05, 0x5e, 0xc3, 0xbf, 0xd1, 0x0b, 0xc5, - 0x6c, 0xd4, 0x41, 0x7a, 0x74, 0x12, 0xd3, 0x1f, 0xb7, 0x70, 0x72, 0xb3, 0x70, 0x96, 0x35, 0x4b, 0xa0, 0x3b, 0x70, - 0x41, 0x8c, 0xfb, 0xfd, 0x1c, 0x8e, 0x4c, 0x33, 0xf2, 0x05, 0xcb, 0x69, 0xcc, 0x96, 0x54, 0x7b, 0x1e, 0x5e, 0x56, - 0x61, 0x4e, 0x97, 0x56, 0xc6, 0x9b, 0x32, 0x50, 0x19, 0x6d, 0xb7, 0x21, 0xfc, 0xe9, 0xb6, 0x76, 0x49, 0xe7, 0x4b, - 0xc8, 0x00, 0x7f, 0x40, 0x22, 0x8a, 0x58, 0xe0, 0xff, 0x56, 0xe3, 0x94, 0x9e, 0x28, 0xad, 0x59, 0x42, 0xd7, 0x4c, - 0xd7, 0x4f, 0x2f, 0xd8, 0xba, 0xb1, 0x14, 0xb6, 0xdb, 0xb0, 0x99, 0xc0, 0x34, 0xe7, 0x4a, 0xa6, 0x17, 0xa8, 0x93, - 0x02, 0x2a, 0x16, 0x5e, 0xe0, 0xf2, 0x4b, 0x09, 0x85, 0xe6, 0xce, 0x97, 0x0b, 0xa3, 0xc4, 0x84, 0x56, 0xc9, 0x2f, - 0x1f, 0x2a, 0xf3, 0xb5, 0xf1, 0x10, 0xfc, 0x31, 0x0d, 0x13, 0x53, 0x24, 0x2a, 0x44, 0x67, 0xbf, 0x82, 0x2c, 0x47, - 0x00, 0xae, 0xe7, 0x2b, 0x88, 0x02, 0xb7, 0x86, 0xb8, 0xf0, 0xd0, 0xa0, 0xb7, 0x85, 0xbc, 0xca, 0x4a, 0x1e, 0xe2, - 0x3d, 0xc1, 0xd3, 0x8c, 0xee, 0x37, 0xf8, 0xd0, 0xd6, 0x1e, 0x3d, 0x41, 0x36, 0x9e, 0x72, 0xbf, 0xfe, 0x55, 0x84, - 0x73, 0x88, 0xde, 0xb9, 0xa0, 0x5a, 0x5d, 0xed, 0x00, 0xb9, 0x3c, 0xdb, 0xab, 0xb7, 0x70, 0xba, 0xe9, 0xeb, 0x5b, - 0x15, 0x3a, 0x73, 0x00, 0x69, 0x0f, 0xc9, 0xba, 0xe6, 0x7a, 0x07, 0x78, 0x47, 0xe2, 0x1a, 0x68, 0xac, 0xdb, 0x9a, - 0x9d, 0xf6, 0x28, 0x1e, 0x13, 0x99, 0x19, 0x8b, 0x14, 0x63, 0xee, 0xd6, 0x69, 0x51, 0xb4, 0x41, 0x33, 0x84, 0xdd, - 0xbb, 0x4e, 0xb6, 0x6e, 0x45, 0x9c, 0xdf, 0x6f, 0xfb, 0x02, 0xa3, 0x61, 0xcc, 0xb5, 0x7b, 0xbe, 0xa1, 0xdb, 0xda, - 0x8d, 0x8c, 0x46, 0x82, 0xcc, 0xd4, 0x81, 0x28, 0x6b, 0x6b, 0xc0, 0xf6, 0x96, 0xeb, 0x4d, 0x0b, 0xfc, 0xbc, 0x89, - 0xc1, 0xdb, 0xb3, 0xc6, 0x29, 0xad, 0xaf, 0x71, 0xcd, 0x71, 0x55, 0x88, 0xa8, 0x2d, 0x52, 0x00, 0x0c, 0x3b, 0x5f, - 0xe0, 0xce, 0xac, 0x30, 0x98, 0x13, 0x96, 0x4a, 0x76, 0x2a, 0xd7, 0x9f, 0xc3, 0x16, 0x07, 0xa9, 0x7c, 0xe9, 0xf5, - 0xf7, 0x5f, 0xbe, 0xf8, 0x02, 0xdd, 0xf6, 0x9c, 0x1f, 0x41, 0x90, 0x09, 0x74, 0x50, 0x53, 0xaa, 0xc7, 0x1f, 0x0a, - 0xa0, 0xf6, 0x30, 0x0f, 0x3f, 0x14, 0x4c, 0xc4, 0xd7, 0xd9, 0x65, 0x5c, 0xc9, 0x62, 0x74, 0xcd, 0x45, 0x2a, 0x0b, - 0x2b, 0x35, 0x0e, 0x4e, 0x57, 0xab, 0x9c, 0x07, 0x60, 0x2a, 0x6f, 0x19, 0x65, 0x27, 0x97, 0xd4, 0x83, 0xab, 0xe5, - 0xe9, 0x95, 0x16, 0x9d, 0x97, 0xd7, 0x97, 0x41, 0x84, 0xbf, 0xce, 0xcd, 0x8f, 0xab, 0xb8, 0xfc, 0x18, 0x44, 0xd6, - 0xa6, 0xce, 0xfc, 0x40, 0xa9, 0x3c, 0xf8, 0x3b, 0x81, 0x4c, 0xf7, 0x87, 0x02, 0x2c, 0xb3, 0x6d, 0xc5, 0xc7, 0x31, - 0xd6, 0x3a, 0x9c, 0x90, 0x99, 0x2a, 0xd1, 0x7b, 0x97, 0xac, 0x0b, 0xb0, 0xf6, 0x53, 0xd8, 0xce, 0x2a, 0xd7, 0x0c, - 0x2b, 0x53, 0x15, 0x19, 0x82, 0xb6, 0x66, 0x87, 0xa1, 0x75, 0xa2, 0x99, 0xa3, 0xb7, 0x80, 0x7e, 0x20, 0x87, 0x97, - 0x54, 0xae, 0x99, 0xe7, 0x63, 0xd3, 0x78, 0xfd, 0xe0, 0xf0, 0xd2, 0x13, 0x28, 0xd9, 0x3b, 0x39, 0x0a, 0x13, 0xc1, - 0xd3, 0xd8, 0x8c, 0x2f, 0xf2, 0xac, 0x80, 0x1d, 0x34, 0x19, 0x8f, 0xa9, 0xb7, 0xb4, 0x5a, 0x37, 0x47, 0x87, 0x6c, - 0x9b, 0x3d, 0xac, 0x1e, 0x72, 0x72, 0xc8, 0x5b, 0xa6, 0xb6, 0x6d, 0xeb, 0x38, 0x4f, 0x93, 0xaf, 0x4c, 0xf7, 0xcb, - 0xb5, 0x8d, 0x10, 0xaf, 0x9c, 0x1d, 0x9d, 0x97, 0x74, 0xeb, 0x9b, 0xd2, 0xd0, 0x6b, 0x09, 0xc0, 0x7c, 0xda, 0x80, - 0xbf, 0x60, 0x72, 0x3d, 0xaa, 0x78, 0x59, 0x81, 0x84, 0x05, 0x45, 0x78, 0x53, 0xec, 0x4d, 0xe1, 0x6e, 0x9c, 0x9e, - 0xc3, 0x0e, 0x5c, 0x4c, 0xd1, 0x1d, 0x27, 0x26, 0xb3, 0xd2, 0x68, 0x45, 0x23, 0xfd, 0xcb, 0xf5, 0x25, 0xd6, 0x7d, - 0xd1, 0xca, 0x3c, 0x9b, 0x53, 0x61, 0xd3, 0xbb, 0xca, 0xa5, 0x13, 0xf5, 0x5b, 0x26, 0x5c, 0xb9, 0x12, 0x04, 0x64, - 0x5a, 0xb0, 0x5e, 0x61, 0x76, 0x51, 0x81, 0x84, 0x0c, 0x0c, 0x5f, 0x83, 0xb5, 0x28, 0xb9, 0xb1, 0x82, 0xf5, 0xee, - 0xf9, 0x3a, 0x41, 0x48, 0xc1, 0x03, 0x37, 0x41, 0xbf, 0xb4, 0x6e, 0xde, 0x8e, 0x12, 0x65, 0x10, 0x9f, 0x5c, 0x3b, - 0xe5, 0x20, 0x81, 0x00, 0x1c, 0x58, 0x15, 0x92, 0x44, 0x81, 0xce, 0x83, 0xab, 0x19, 0x47, 0xb0, 0x79, 0xe5, 0xcc, - 0xc5, 0x0d, 0xe0, 0xbc, 0xf2, 0xe7, 0xb2, 0xc1, 0x96, 0xf5, 0x88, 0x2a, 0x73, 0xc6, 0x29, 0x06, 0x75, 0xb2, 0x04, - 0x7d, 0x65, 0x29, 0xed, 0x25, 0x68, 0x1a, 0xaf, 0xd8, 0x4a, 0xf9, 0x00, 0xd0, 0x73, 0xb6, 0x52, 0xc6, 0xfe, 0xf8, - 0xf5, 0x19, 0x5b, 0x69, 0x69, 0xf0, 0xf4, 0x6a, 0x76, 0x3e, 0x3b, 0x1b, 0xb0, 0xa3, 0x28, 0xd4, 0x06, 0x0c, 0x81, - 0x8b, 0x4c, 0x10, 0x0c, 0x42, 0x8d, 0xff, 0x32, 0x50, 0x01, 0xc2, 0x88, 0xc7, 0x63, 0x23, 0x8e, 0x58, 0x38, 0x1e, - 0x62, 0x30, 0xb0, 0xe6, 0x0b, 0x12, 0x10, 0x6a, 0x4a, 0x43, 0x5f, 0xcf, 0x70, 0x38, 0x39, 0x98, 0x40, 0x2a, 0x66, - 0x66, 0xaa, 0x30, 0x36, 0x26, 0x11, 0xc4, 0x7f, 0xed, 0xac, 0x17, 0xca, 0xed, 0xae, 0xd1, 0x40, 0xd0, 0x0c, 0xbe, - 0xa8, 0xe2, 0xc9, 0xc1, 0xb0, 0xab, 0x62, 0x1c, 0x85, 0x6b, 0xa3, 0x7c, 0x3b, 0x3b, 0x06, 0x30, 0xdf, 0xb3, 0xa1, - 0x2f, 0x97, 0x38, 0x3b, 0x7c, 0x4c, 0x1e, 0x3e, 0x26, 0xf4, 0x8c, 0x9d, 0x7d, 0xf5, 0x98, 0x9e, 0x29, 0x72, 0x72, - 0x30, 0x89, 0xae, 0x99, 0xc5, 0xc0, 0x39, 0x52, 0x4d, 0xa0, 0x97, 0xa3, 0xb5, 0x50, 0x0b, 0x4c, 0x3b, 0x34, 0x85, - 0xdf, 0x8e, 0x0f, 0x82, 0xc1, 0x75, 0xbb, 0xe9, 0xd7, 0xed, 0xb6, 0x7a, 0x5e, 0x5d, 0x07, 0x47, 0xd1, 0x6e, 0x31, - 0x93, 0xbf, 0x8f, 0x0f, 0xdc, 0x1c, 0x60, 0x7d, 0xf7, 0x8f, 0x89, 0x69, 0xd2, 0xce, 0xa8, 0xf8, 0x35, 0x3d, 0xc2, - 0x3e, 0x34, 0x8b, 0xec, 0xe8, 0xc3, 0xf0, 0xdf, 0xea, 0x44, 0x7d, 0xf6, 0xd5, 0x11, 0x90, 0x23, 0x90, 0x81, 0x62, - 0x89, 0x60, 0x86, 0x03, 0x4d, 0x01, 0x05, 0x99, 0x1e, 0x77, 0xaa, 0x87, 0x5f, 0x8d, 0x9a, 0x9a, 0x91, 0x6b, 0x98, - 0x1a, 0x6c, 0x0b, 0x7e, 0xa0, 0xba, 0xa1, 0xbf, 0xd1, 0x68, 0x4f, 0xda, 0xc9, 0xcc, 0xbc, 0xa4, 0x36, 0xce, 0xdd, - 0x35, 0x04, 0x74, 0x76, 0x70, 0x8b, 0x92, 0x7d, 0x7d, 0x7c, 0x79, 0x80, 0xab, 0x08, 0x50, 0xc3, 0x58, 0xf0, 0xf5, - 0xe0, 0x52, 0x6f, 0xee, 0x83, 0x80, 0x0c, 0xbe, 0x0e, 0x4e, 0xbe, 0x1e, 0xc8, 0x41, 0x70, 0x7c, 0x78, 0x79, 0x12, - 0x38, 0xe3, 0x7e, 0x08, 0x79, 0xa9, 0x2a, 0x8a, 0x99, 0x30, 0x55, 0x24, 0xb6, 0xf6, 0xdc, 0xd6, 0xab, 0x8c, 0xcf, - 0x68, 0x3a, 0xb5, 0x48, 0xe8, 0x61, 0xca, 0x62, 0xf3, 0x3b, 0x98, 0xf0, 0xab, 0x20, 0x72, 0x41, 0x61, 0x67, 0x79, - 0x14, 0xd3, 0x25, 0xbb, 0x15, 0x61, 0x4a, 0x93, 0xc3, 0x9c, 0x90, 0x28, 0x5c, 0x2a, 0x30, 0x41, 0xf5, 0x3a, 0x81, - 0xb8, 0xb6, 0xee, 0xf3, 0x5b, 0x11, 0x2e, 0x69, 0x7e, 0x98, 0x90, 0x56, 0x11, 0x2e, 0x42, 0xcd, 0xa6, 0xa6, 0x17, - 0x2c, 0x5c, 0xd1, 0x4b, 0x34, 0xd5, 0x5c, 0x87, 0x97, 0xc0, 0xe5, 0xad, 0xe7, 0xab, 0x05, 0xbb, 0x6c, 0x48, 0xdf, - 0x0c, 0x5f, 0x7c, 0x61, 0x7d, 0xf2, 0x80, 0x87, 0x74, 0x7e, 0x78, 0x29, 0xd8, 0x00, 0x5c, 0x67, 0xfc, 0xe6, 0x3b, - 0x79, 0xab, 0xe7, 0xa5, 0x3d, 0xc5, 0x38, 0x33, 0xed, 0xc4, 0xa4, 0x9d, 0x90, 0xfb, 0xf7, 0x6d, 0xdf, 0xbd, 0x78, - 0xad, 0x5c, 0x56, 0x2d, 0x43, 0x12, 0xaf, 0x95, 0xeb, 0x34, 0x4a, 0x4e, 0xad, 0xc0, 0x93, 0x5d, 0xf0, 0x2a, 0x59, - 0xfa, 0x07, 0x95, 0xb5, 0x1a, 0xb0, 0xc7, 0x88, 0x65, 0xa1, 0x70, 0xec, 0x5f, 0x65, 0x2c, 0x5e, 0x37, 0x90, 0x81, - 0x91, 0x7b, 0x7b, 0x95, 0x31, 0x2f, 0x06, 0x6d, 0xbe, 0xf6, 0x42, 0xf7, 0x79, 0xe9, 0xcb, 0x16, 0xef, 0xe5, 0x94, - 0x1a, 0x46, 0x22, 0x7a, 0x30, 0x56, 0x66, 0x94, 0x2a, 0x51, 0x6b, 0xd0, 0x88, 0x60, 0x63, 0x17, 0x0c, 0x14, 0x9c, - 0x50, 0xb9, 0xa7, 0xce, 0xf6, 0xed, 0x94, 0x4a, 0x0f, 0x68, 0x97, 0x1a, 0x55, 0xb9, 0x5b, 0x66, 0x92, 0x55, 0x83, - 0x60, 0xf4, 0x67, 0x29, 0xc5, 0x0c, 0xef, 0x8c, 0x2c, 0x98, 0x82, 0x95, 0xa0, 0xaa, 0x65, 0x58, 0x0e, 0x39, 0x6a, - 0xf1, 0x8c, 0x4f, 0xaa, 0xd4, 0x3f, 0x3a, 0x82, 0x06, 0xa7, 0xeb, 0x56, 0xd0, 0xe0, 0xc7, 0xe3, 0xc7, 0x7a, 0xa0, - 0xd7, 0x6b, 0xed, 0x78, 0xe8, 0xf3, 0xdb, 0x88, 0x37, 0xae, 0x7b, 0x4f, 0xb5, 0x56, 0xa1, 0x0c, 0xb4, 0x58, 0x51, - 0xb9, 0x52, 0x4b, 0xba, 0xdf, 0x45, 0x00, 0x2c, 0x62, 0x63, 0x36, 0xde, 0xb5, 0xcd, 0x0a, 0x41, 0xa3, 0xcb, 0x4e, - 0x36, 0xf1, 0x80, 0x25, 0xba, 0xb5, 0x83, 0x09, 0x8d, 0x4f, 0x58, 0xd9, 0xef, 0xe7, 0x27, 0x40, 0x4f, 0xb5, 0x11, - 0x53, 0x01, 0x47, 0xfe, 0x97, 0x56, 0x64, 0x8a, 0x02, 0x9b, 0x35, 0x75, 0xb7, 0xc6, 0x32, 0x12, 0x7d, 0x99, 0xd2, - 0xe5, 0x09, 0xcf, 0x80, 0xe9, 0x62, 0xdd, 0x72, 0x5c, 0xd9, 0x55, 0x1c, 0x79, 0x2a, 0x2c, 0x2b, 0xce, 0xab, 0x70, - 0xbc, 0xf5, 0xf8, 0x06, 0x87, 0x86, 0x4d, 0x5b, 0xf9, 0x43, 0x08, 0x0b, 0xe1, 0x55, 0x06, 0xb7, 0x11, 0x6d, 0x27, - 0x81, 0xca, 0x1b, 0x73, 0x9d, 0x50, 0x36, 0xb7, 0x17, 0x6b, 0xcf, 0x20, 0x9d, 0x98, 0x03, 0xa5, 0x1a, 0x41, 0x6b, - 0x34, 0x0b, 0xaa, 0x46, 0x3c, 0x72, 0xe6, 0x5f, 0xce, 0x20, 0x56, 0xcb, 0x97, 0x34, 0x95, 0xa2, 0x01, 0x18, 0x17, - 0xc0, 0xe5, 0xe9, 0x97, 0x77, 0x3f, 0xbd, 0xe7, 0x71, 0x91, 0x2c, 0xdf, 0xc6, 0x45, 0x7c, 0x55, 0x86, 0x1b, 0x35, - 0x46, 0x71, 0x4d, 0xa6, 0x62, 0xc0, 0xa4, 0x59, 0x49, 0xcd, 0x5d, 0xa9, 0x09, 0x31, 0xd6, 0x99, 0xac, 0xcb, 0x4a, - 0x5e, 0x35, 0x2a, 0x5d, 0x17, 0x19, 0x7e, 0xdc, 0xf2, 0x39, 0x3d, 0x04, 0x60, 0x53, 0xe3, 0x42, 0x1a, 0x49, 0x5d, - 0x88, 0x31, 0x17, 0xf1, 0xba, 0x3e, 0x1e, 0x37, 0xba, 0x5e, 0xb2, 0x27, 0xe3, 0x47, 0xd3, 0x57, 0x59, 0x98, 0x0d, - 0x04, 0x19, 0x55, 0x4b, 0x2e, 0x5a, 0xa6, 0x9c, 0xca, 0x24, 0x00, 0x7d, 0x3c, 0x7b, 0x8c, 0x1d, 0x8d, 0xc7, 0x64, - 0xd3, 0x16, 0x0f, 0xf0, 0x30, 0x5d, 0x87, 0x05, 0x99, 0xe9, 0x3a, 0xa2, 0x40, 0xf0, 0xdb, 0x2a, 0x00, 0x64, 0x4b, - 0x5b, 0x95, 0xe1, 0xd2, 0xd8, 0x93, 0xf1, 0x84, 0x4a, 0xec, 0x76, 0x48, 0x6a, 0xaf, 0x42, 0x37, 0xf3, 0xd2, 0xf7, - 0x28, 0x92, 0xc6, 0x65, 0x69, 0xa7, 0x52, 0xa9, 0xf6, 0xcc, 0xcc, 0x75, 0x0d, 0x62, 0x52, 0x84, 0xba, 0xee, 0xd2, - 0xab, 0x7b, 0xb7, 0xb9, 0xd6, 0x6c, 0x07, 0xbc, 0xd7, 0xa0, 0x19, 0x4a, 0xde, 0x62, 0xde, 0xba, 0x22, 0x6a, 0x7a, - 0xb9, 0x06, 0xb3, 0x62, 0x94, 0x2d, 0x45, 0xeb, 0x35, 0x05, 0xa5, 0x60, 0xb4, 0x5a, 0x7b, 0x0b, 0xf7, 0xa9, 0x6c, - 0x5c, 0x58, 0x32, 0xbd, 0x5a, 0x94, 0x94, 0x50, 0xdd, 0x54, 0x8c, 0x94, 0x30, 0x52, 0x1a, 0x9e, 0xca, 0xf7, 0x02, - 0x8f, 0xf3, 0x3c, 0x88, 0x5a, 0x5e, 0x60, 0xa7, 0x15, 0x39, 0x05, 0x47, 0x2f, 0x93, 0xd3, 0x50, 0xe0, 0x1f, 0x33, - 0x05, 0xea, 0x3a, 0x54, 0xf7, 0x1b, 0xdc, 0xfc, 0xbf, 0x15, 0x2c, 0xf0, 0xf8, 0xd6, 0x2b, 0xdc, 0x46, 0xbf, 0x15, - 0x3e, 0x2d, 0x7d, 0x23, 0x7d, 0x57, 0x17, 0x4f, 0xda, 0x9b, 0x8d, 0x92, 0x65, 0x96, 0xa7, 0xaf, 0x65, 0xca, 0x41, - 0x64, 0x86, 0xd6, 0xa0, 0xec, 0x44, 0x34, 0x6e, 0x78, 0x60, 0xc4, 0xd8, 0xb8, 0xf1, 0xfd, 0x98, 0x81, 0x6c, 0x18, - 0xac, 0xbe, 0x59, 0x2a, 0x93, 0x35, 0x20, 0x6c, 0x68, 0xf9, 0x89, 0xc6, 0xdb, 0x08, 0xf5, 0xf5, 0x0b, 0xdc, 0xe6, - 0x4a, 0xdf, 0xe7, 0xfc, 0xc7, 0x8c, 0xfe, 0x88, 0xc0, 0x2f, 0xf1, 0x0a, 0xe4, 0x1e, 0x4f, 0xa1, 0x6e, 0x84, 0xed, - 0xe5, 0x18, 0x2c, 0x09, 0xd1, 0x51, 0x44, 0xc5, 0x02, 0x05, 0x4d, 0x61, 0x10, 0x45, 0xd4, 0x05, 0x73, 0x78, 0x9e, - 0xcb, 0xe4, 0xe3, 0xd4, 0xf8, 0xcc, 0x0f, 0x63, 0x8c, 0x21, 0x1d, 0x0c, 0xc2, 0x6a, 0x16, 0x0c, 0xc7, 0xa3, 0xc9, - 0xd1, 0x13, 0x38, 0xb7, 0x83, 0x71, 0x40, 0x06, 0x41, 0x5d, 0xae, 0x62, 0x41, 0xcb, 0xeb, 0x4b, 0x5b, 0x06, 0x7e, - 0x5c, 0x07, 0x83, 0xdf, 0x0a, 0x4f, 0xf1, 0x0e, 0x9a, 0x93, 0x3b, 0x19, 0x06, 0x01, 0xbd, 0x5c, 0x13, 0x90, 0x94, - 0xf5, 0x34, 0x3f, 0xa9, 0x0f, 0x37, 0xa6, 0xb4, 0x7f, 0xe6, 0xf0, 0x82, 0xc3, 0x0e, 0x09, 0x14, 0x48, 0xe3, 0x69, - 0x36, 0x7a, 0xa9, 0x14, 0xb9, 0x6f, 0x0b, 0x0e, 0x77, 0xe6, 0x9e, 0x33, 0x3d, 0x72, 0x0a, 0x89, 0x66, 0x16, 0x70, - 0x23, 0x7f, 0x29, 0xae, 0xe3, 0x3c, 0x4b, 0x0f, 0x9a, 0x6f, 0x0e, 0xca, 0x3b, 0x51, 0xc5, 0xb7, 0xa3, 0xc0, 0x58, - 0x13, 0x72, 0x5f, 0xf5, 0x04, 0xe8, 0x09, 0xb0, 0x05, 0xc0, 0x80, 0x78, 0xc7, 0xcc, 0x64, 0xc6, 0x23, 0xf0, 0x08, - 0x6c, 0xfa, 0x40, 0x16, 0x77, 0xce, 0x25, 0xc9, 0xdf, 0x4c, 0xa5, 0xbd, 0xea, 0x95, 0x3b, 0x05, 0x59, 0xaf, 0xb6, - 0x72, 0xd7, 0xad, 0xcf, 0xbe, 0xe9, 0xf0, 0x0a, 0x3c, 0x93, 0xe0, 0x16, 0xd9, 0xef, 0x37, 0x05, 0x95, 0xc2, 0xa8, - 0x88, 0x77, 0x92, 0x6b, 0xf4, 0x6f, 0xf7, 0xc6, 0x46, 0x91, 0xdc, 0xf2, 0xfe, 0x01, 0xd4, 0x99, 0xbc, 0x2b, 0x6e, - 0xe7, 0x10, 0xb5, 0x75, 0x37, 0x1e, 0x78, 0x6f, 0xd0, 0x2e, 0x6b, 0x8e, 0x60, 0xcb, 0x8b, 0x83, 0x0c, 0xc6, 0x02, - 0x67, 0x65, 0xa4, 0xd4, 0xb8, 0x56, 0x46, 0x03, 0x6a, 0x93, 0x3d, 0x64, 0xa9, 0x27, 0x41, 0x91, 0xe3, 0x59, 0x0c, - 0x99, 0xc6, 0xdb, 0x40, 0xec, 0xb7, 0x32, 0x04, 0x69, 0xda, 0x76, 0xdb, 0x1c, 0x81, 0xb2, 0x7b, 0x60, 0x4a, 0x52, - 0xd7, 0xc6, 0xd4, 0x40, 0x43, 0x0f, 0xa2, 0x46, 0x2a, 0xe2, 0xec, 0xe4, 0x29, 0xe8, 0x10, 0xc1, 0xf7, 0x3b, 0xcd, - 0xca, 0x8e, 0x17, 0x13, 0x82, 0x27, 0xef, 0xf3, 0xdb, 0xac, 0xac, 0xca, 0xe8, 0x45, 0x8a, 0x86, 0x50, 0x89, 0x14, - 0xd1, 0x6b, 0x88, 0x2f, 0x58, 0xe2, 0xef, 0x32, 0x7a, 0x97, 0xd2, 0x38, 0x4d, 0x31, 0xfd, 0x59, 0x01, 0x3f, 0x9f, - 0x02, 0xca, 0x25, 0xee, 0x84, 0xe8, 0x4c, 0x82, 0xbd, 0x1a, 0x44, 0xf7, 0xaa, 0x38, 0x60, 0x8a, 0x46, 0xb7, 0x82, - 0x22, 0x66, 0x1d, 0x66, 0xff, 0xa5, 0x40, 0xa1, 0x90, 0x2a, 0xe6, 0x57, 0x61, 0x1f, 0xa2, 0x6a, 0x0d, 0xe5, 0x9c, - 0xbe, 0x7d, 0x69, 0x86, 0x34, 0xba, 0x95, 0x54, 0x6f, 0x6d, 0x3c, 0xb6, 0x10, 0xa5, 0x27, 0xba, 0x5a, 0xd3, 0xb3, - 0x78, 0x95, 0x45, 0x1b, 0xc0, 0x9f, 0x78, 0xfb, 0xf2, 0xa9, 0xb2, 0x30, 0x79, 0x99, 0x81, 0xe2, 0xe0, 0xf4, 0xed, - 0xcb, 0x57, 0x32, 0x5d, 0xe7, 0x3c, 0xba, 0x93, 0x48, 0x5a, 0x4f, 0xdf, 0xbe, 0xfc, 0x19, 0xcd, 0xbd, 0xde, 0x15, - 0xf0, 0xfe, 0x05, 0xf0, 0x96, 0x51, 0xb2, 0x86, 0x3e, 0xa9, 0xdf, 0xf9, 0x1a, 0x3b, 0xe5, 0xd5, 0x5a, 0x46, 0xff, - 0x4c, 0x6b, 0x4f, 0x5a, 0xf5, 0x57, 0xe1, 0x53, 0x3b, 0x4f, 0xc0, 0x73, 0x9b, 0x67, 0xe2, 0x63, 0x64, 0x45, 0x3b, - 0x41, 0xf4, 0xf5, 0xc1, 0xed, 0x55, 0x2e, 0xca, 0x08, 0x5f, 0x30, 0xb4, 0x0b, 0x8a, 0x0e, 0x0f, 0x6f, 0x6e, 0x6e, - 0x46, 0x37, 0x8f, 0x46, 0xb2, 0xb8, 0x3c, 0x9c, 0x7c, 0xfb, 0xed, 0xb7, 0x87, 0xf8, 0x36, 0xf8, 0xba, 0xed, 0xf6, - 0x5e, 0x11, 0x3e, 0x60, 0x01, 0x22, 0x76, 0x7f, 0x0d, 0x57, 0x14, 0xd0, 0xc2, 0x0d, 0xbe, 0x0e, 0xbe, 0xd6, 0x87, - 0xce, 0xd7, 0xc7, 0xe5, 0xf5, 0xa5, 0x2a, 0xbf, 0xab, 0xe4, 0xa3, 0xf1, 0x78, 0x7c, 0x08, 0x12, 0xa8, 0xaf, 0x07, - 0x7c, 0x10, 0x9c, 0x04, 0x83, 0x0c, 0x2e, 0x34, 0xe5, 0xf5, 0xe5, 0x49, 0xe0, 0x19, 0xd8, 0x36, 0x58, 0x44, 0x07, - 0xe2, 0x12, 0x1c, 0x5e, 0xd2, 0xe0, 0xeb, 0x80, 0xb8, 0x94, 0xaf, 0x20, 0xe5, 0xab, 0xa3, 0x27, 0x7e, 0xda, 0xff, - 0x52, 0x69, 0x8f, 0xfc, 0xb4, 0x63, 0x4c, 0x7b, 0xf4, 0xd4, 0x4f, 0x3b, 0x51, 0x69, 0xcf, 0xfd, 0xb4, 0xff, 0x5d, - 0x0e, 0x20, 0xf5, 0xc0, 0xb7, 0xfe, 0x3b, 0xf3, 0x5a, 0x83, 0xa7, 0x50, 0x94, 0x5d, 0xc5, 0x97, 0x1c, 0x1a, 0x3d, - 0xb8, 0xbd, 0xca, 0x69, 0x30, 0xc0, 0xf6, 0x7a, 0x46, 0x1e, 0xde, 0x07, 0x5f, 0xaf, 0x8b, 0x3c, 0x0c, 0xbe, 0x1e, - 0x60, 0x21, 0x83, 0xaf, 0x03, 0xf2, 0xb5, 0x3e, 0xd2, 0xae, 0x05, 0xdb, 0x04, 0x2e, 0x34, 0xeb, 0xd0, 0x06, 0x4c, - 0xf3, 0xa5, 0x71, 0x35, 0xfd, 0xbd, 0xe8, 0xce, 0x86, 0xb7, 0x44, 0xe5, 0xa6, 0x1b, 0xd4, 0xf4, 0x01, 0x78, 0x27, - 0x40, 0xa3, 0xa2, 0xe0, 0x3a, 0x2e, 0xc2, 0xe1, 0xb0, 0xbc, 0xbe, 0x24, 0x60, 0x97, 0xb9, 0xe2, 0x71, 0x15, 0x05, - 0x42, 0x0e, 0xd5, 0xcf, 0x40, 0x45, 0x02, 0x0b, 0x10, 0xca, 0x08, 0xfe, 0x0b, 0x6a, 0xfa, 0x56, 0xb2, 0x4d, 0x30, - 0xbc, 0xe1, 0xe7, 0x1f, 0xb3, 0x6a, 0xa8, 0x44, 0x8b, 0xd7, 0x82, 0xc2, 0x0f, 0xf8, 0xeb, 0xaa, 0x8e, 0x7e, 0x07, - 0x37, 0xee, 0xa6, 0x86, 0xfd, 0xad, 0xf4, 0x1c, 0xda, 0xe4, 0x3c, 0x5b, 0x4c, 0x5b, 0x07, 0xfa, 0x03, 0x49, 0xaa, - 0x79, 0x36, 0x08, 0x86, 0xc1, 0x80, 0x2f, 0xd8, 0x03, 0x39, 0xe7, 0x9e, 0xf9, 0xd4, 0xa9, 0xf4, 0xa7, 0x79, 0x96, - 0x0d, 0xc0, 0x37, 0x05, 0xf9, 0x91, 0xc3, 0xff, 0x9e, 0x0f, 0x51, 0x78, 0x38, 0x78, 0x70, 0x48, 0x66, 0xc1, 0xea, - 0x16, 0x3d, 0x3a, 0xa3, 0x20, 0x13, 0x4b, 0x5e, 0x64, 0x95, 0xb7, 0x54, 0x6e, 0xd7, 0x6d, 0x2f, 0x8f, 0xbd, 0x67, - 0xf3, 0x2a, 0x16, 0x81, 0x3a, 0xe7, 0x40, 0xf1, 0x86, 0xb2, 0xa7, 0xb2, 0x29, 0x21, 0xd5, 0x86, 0xbc, 0x61, 0x39, - 0x60, 0xc1, 0x71, 0x6f, 0x38, 0x3c, 0x08, 0x06, 0x4e, 0x9d, 0x3b, 0x08, 0x0e, 0x86, 0xc3, 0x93, 0xc0, 0xdd, 0x87, - 0xb2, 0x91, 0xbb, 0x33, 0xd2, 0x82, 0xfd, 0x55, 0x84, 0x25, 0x05, 0xf1, 0x98, 0xd4, 0xe2, 0x2f, 0x0d, 0x2e, 0x33, - 0x00, 0xe8, 0x23, 0x25, 0x01, 0x33, 0xb0, 0x32, 0x03, 0x08, 0x55, 0x4e, 0x63, 0x76, 0x07, 0xcc, 0x23, 0x70, 0xcc, - 0x0a, 0x26, 0x0b, 0x10, 0x4b, 0x02, 0x9c, 0xbb, 0x20, 0x8a, 0x75, 0x21, 0xa7, 0x10, 0x04, 0x00, 0x7f, 0x12, 0x53, - 0x0a, 0x26, 0xe9, 0xd8, 0x8d, 0x20, 0x88, 0xe3, 0xb3, 0x6b, 0xd1, 0x9a, 0x9c, 0x25, 0x3a, 0x98, 0x91, 0x04, 0xd8, - 0x10, 0x03, 0xc3, 0x07, 0xf7, 0x73, 0x50, 0x7a, 0x58, 0xbd, 0x13, 0x72, 0xc1, 0x77, 0xdc, 0xb1, 0x50, 0xd7, 0x70, - 0xf5, 0x84, 0x83, 0xe0, 0x8e, 0x6b, 0x16, 0x60, 0x54, 0x15, 0xeb, 0xb2, 0xe2, 0xe9, 0x87, 0xbb, 0x15, 0xc4, 0x02, - 0xc4, 0x01, 0x7d, 0x2b, 0xf3, 0x2c, 0xb9, 0x0b, 0x9d, 0x3d, 0xd7, 0x46, 0xa5, 0xff, 0xf0, 0xe1, 0xd5, 0x4f, 0x11, - 0x88, 0x1c, 0x6b, 0x43, 0xe9, 0xef, 0x38, 0x9e, 0x4d, 0x7e, 0xc4, 0x2b, 0x7f, 0x63, 0xdf, 0x71, 0x7b, 0x7a, 0xf4, - 0xfb, 0x50, 0x37, 0xbd, 0xe3, 0xb3, 0x3b, 0x3e, 0x72, 0xc5, 0xa1, 0xba, 0xc2, 0x7d, 0xfd, 0x71, 0xed, 0x1b, 0x21, - 0xdd, 0x3f, 0xcf, 0x94, 0x37, 0xe6, 0x47, 0x3b, 0x18, 0x06, 0xc1, 0x54, 0x0b, 0x25, 0x21, 0x0a, 0x09, 0x53, 0x02, - 0x86, 0xe8, 0x40, 0x2f, 0xab, 0x29, 0x72, 0x6e, 0x6a, 0x64, 0xe1, 0xfd, 0x80, 0x69, 0xa1, 0x43, 0x23, 0x87, 0xf2, - 0x83, 0xc3, 0x09, 0x63, 0x16, 0x7e, 0xab, 0x84, 0xe9, 0x57, 0x8b, 0xca, 0x39, 0x88, 0x1e, 0x80, 0x31, 0xae, 0xe0, - 0x05, 0x74, 0x85, 0xdd, 0xac, 0x55, 0x94, 0x10, 0x04, 0xd3, 0x43, 0x0e, 0xd0, 0xc3, 0x2e, 0x68, 0x59, 0x59, 0xaa, - 0x5b, 0x95, 0xb3, 0x54, 0x51, 0x97, 0xa1, 0xac, 0x8c, 0x15, 0x06, 0x7e, 0xc9, 0x7e, 0x29, 0xd0, 0xb3, 0x7c, 0x2a, - 0xba, 0xe0, 0x85, 0x50, 0x82, 0xe5, 0xba, 0xde, 0x89, 0x40, 0xd4, 0xf9, 0xa1, 0x77, 0xd5, 0xd7, 0xb8, 0x7e, 0x3c, - 0x7d, 0x25, 0x53, 0xae, 0x4d, 0x28, 0x34, 0x9f, 0x2f, 0x7d, 0xc5, 0x44, 0xc1, 0x3e, 0x42, 0xbf, 0xda, 0x36, 0xfa, - 0xec, 0x76, 0xad, 0x37, 0x83, 0x12, 0x1d, 0xf3, 0x1a, 0x05, 0xd7, 0x4a, 0xa1, 0x60, 0xb4, 0xb7, 0xf1, 0x67, 0x38, - 0x72, 0xab, 0xdb, 0x43, 0xef, 0xb7, 0x2a, 0xbe, 0x7c, 0x8d, 0xbe, 0x9d, 0xf6, 0xe7, 0xa8, 0x92, 0xbf, 0xac, 0x56, - 0xe0, 0x43, 0x05, 0x91, 0x56, 0x2c, 0x4e, 0x2f, 0xd4, 0xf3, 0xfe, 0xed, 0xe9, 0x6b, 0xf0, 0xa3, 0xc4, 0xdf, 0xbf, - 0x7e, 0x1f, 0xd4, 0x64, 0x1a, 0xcf, 0x0a, 0xf3, 0xa1, 0xcd, 0x01, 0xa1, 0x5a, 0x5c, 0x9a, 0x7d, 0x3f, 0x8b, 0x9b, - 0xec, 0xbb, 0x66, 0xeb, 0x69, 0xd1, 0x44, 0x92, 0x32, 0xdc, 0x3e, 0x18, 0x10, 0xe8, 0x03, 0x44, 0x71, 0xf6, 0x05, - 0x8d, 0x21, 0xcd, 0x67, 0xf6, 0xfd, 0x08, 0x81, 0x2f, 0x77, 0x42, 0xaa, 0x71, 0x85, 0x45, 0xa3, 0x87, 0x7c, 0xc6, - 0x23, 0x65, 0x58, 0xf4, 0x0e, 0x13, 0x88, 0x33, 0x9c, 0x56, 0xef, 0x11, 0x03, 0x1a, 0xef, 0x06, 0x5a, 0xf6, 0x10, - 0x65, 0xd4, 0x65, 0x6f, 0x58, 0x7c, 0xbf, 0x5f, 0x87, 0x99, 0xb5, 0xbc, 0x1c, 0xc2, 0xdf, 0x40, 0x1b, 0x80, 0x53, - 0x8e, 0x2c, 0x5f, 0x65, 0x36, 0xba, 0x5a, 0x62, 0x7a, 0x13, 0x41, 0x6c, 0x22, 0x9d, 0x0e, 0x6b, 0x57, 0xa7, 0xea, - 0x5d, 0xed, 0x7c, 0x26, 0x7a, 0x15, 0x68, 0xe5, 0xda, 0xf6, 0x78, 0x08, 0xff, 0xa9, 0xa5, 0x15, 0x36, 0xc2, 0x9e, - 0x8b, 0x2f, 0x3c, 0xc7, 0xe6, 0x04, 0x34, 0xb8, 0x92, 0x29, 0x00, 0x67, 0x69, 0x35, 0x1a, 0x35, 0xc2, 0x3e, 0x2b, - 0xe7, 0x73, 0xd8, 0x5a, 0x88, 0xa7, 0x05, 0xe0, 0xc0, 0x4d, 0x4c, 0x4e, 0xde, 0x8d, 0xc9, 0x39, 0xfd, 0xa8, 0xe0, - 0xbe, 0x83, 0xb3, 0x72, 0x19, 0xa7, 0xf2, 0x06, 0xb0, 0x29, 0x03, 0x3f, 0x15, 0x4b, 0xf5, 0x12, 0x92, 0x25, 0x4f, - 0x3e, 0xa2, 0xd5, 0x46, 0x1a, 0x00, 0x57, 0x39, 0x35, 0x96, 0x7b, 0x0a, 0x34, 0xd5, 0x95, 0xa2, 0x12, 0xe2, 0xaa, - 0x8a, 0x93, 0xe5, 0x7b, 0x4c, 0x0d, 0x37, 0xd0, 0x8b, 0x28, 0x90, 0x2b, 0x2e, 0x80, 0xa4, 0xe7, 0xec, 0x5f, 0x99, - 0xc6, 0x5e, 0x7f, 0x23, 0x51, 0xc0, 0xa4, 0x51, 0x94, 0xb1, 0x52, 0xf6, 0x52, 0x9a, 0xe8, 0x77, 0x41, 0x50, 0xbb, - 0x97, 0x7f, 0x41, 0xdd, 0x4f, 0xa1, 0x15, 0x61, 0x03, 0xbc, 0x50, 0x83, 0x1f, 0xa6, 0x76, 0xc9, 0x79, 0x40, 0x86, - 0xce, 0xfb, 0xac, 0xb6, 0x5b, 0xfd, 0xe9, 0x12, 0xb0, 0x5e, 0x53, 0xe3, 0x53, 0x18, 0x26, 0xc4, 0xc4, 0x4a, 0xb6, - 0xca, 0x4a, 0xbb, 0xa1, 0x4c, 0x3b, 0xe9, 0x92, 0x79, 0x2d, 0x9c, 0xe6, 0x3d, 0xc6, 0x96, 0x23, 0x95, 0xbb, 0xdf, - 0x0f, 0xcd, 0x4f, 0x96, 0xd3, 0x37, 0x3a, 0x84, 0xb5, 0x37, 0x1e, 0x34, 0x27, 0x5a, 0x5d, 0xd5, 0xd1, 0x0f, 0xe8, - 0x00, 0xcc, 0xb4, 0x45, 0xa8, 0x74, 0xc1, 0xb7, 0x7d, 0x25, 0x2a, 0x2e, 0x49, 0x58, 0x2a, 0x09, 0xec, 0xec, 0xa6, - 0x64, 0x67, 0x13, 0x10, 0xcf, 0x70, 0xd7, 0xd3, 0x62, 0x27, 0xa4, 0x09, 0x6f, 0x71, 0x90, 0x80, 0xa8, 0x43, 0x55, - 0x97, 0x90, 0x8d, 0x31, 0x74, 0xf1, 0x2f, 0x4a, 0x61, 0xc2, 0x5a, 0x26, 0x55, 0x89, 0x09, 0x0a, 0x55, 0xee, 0xb6, - 0x08, 0x2c, 0x51, 0xb0, 0x03, 0xd8, 0x7b, 0x37, 0xea, 0x66, 0xd4, 0x54, 0x75, 0xea, 0x25, 0xf8, 0x38, 0xcd, 0xba, - 0x0a, 0x32, 0x0b, 0xbb, 0x2a, 0xd6, 0x3c, 0xd0, 0xb1, 0xba, 0x94, 0x31, 0x71, 0x97, 0x16, 0x19, 0xe2, 0x23, 0x63, - 0x6c, 0x61, 0x0d, 0x47, 0xda, 0x1e, 0x37, 0x3d, 0x41, 0xe8, 0x27, 0x6c, 0x28, 0x81, 0x9b, 0xce, 0xf6, 0xd4, 0x34, - 0xf3, 0x01, 0x11, 0x87, 0x01, 0x05, 0x92, 0x8d, 0x43, 0x9a, 0x23, 0x7d, 0x41, 0xd2, 0x84, 0x81, 0xb2, 0x15, 0xcf, - 0x09, 0xb2, 0xa2, 0xd0, 0xb3, 0x75, 0x55, 0x43, 0xfc, 0x5c, 0x86, 0x39, 0x5a, 0x72, 0x2a, 0x3c, 0x4d, 0x90, 0x89, - 0xed, 0x69, 0x9b, 0x99, 0x0c, 0x47, 0xc9, 0x02, 0xf3, 0x2b, 0x88, 0x12, 0x77, 0xa6, 0x59, 0x95, 0x83, 0x71, 0x01, - 0x0b, 0xb4, 0xf2, 0x3d, 0xa8, 0x1b, 0x6b, 0x68, 0xa3, 0x61, 0x99, 0xdd, 0xfe, 0x04, 0xfb, 0xb5, 0x76, 0x5a, 0x97, - 0x29, 0x96, 0x97, 0x29, 0x44, 0x7b, 0x21, 0xf3, 0x1b, 0x45, 0xa2, 0x3b, 0x45, 0x18, 0x12, 0xd6, 0x51, 0xf6, 0xa4, - 0x4d, 0x0d, 0xa0, 0xa7, 0x5e, 0x00, 0xf8, 0xce, 0xb5, 0x0c, 0xbb, 0x48, 0xf7, 0x57, 0x05, 0xe3, 0xd2, 0x0d, 0x82, - 0x14, 0xbd, 0x49, 0xc1, 0x9c, 0xd7, 0xa3, 0xa4, 0xde, 0x9c, 0xb6, 0xcc, 0xa8, 0x3a, 0x2a, 0x42, 0xca, 0x09, 0xfe, - 0x93, 0x57, 0x52, 0x13, 0x9b, 0x30, 0xc1, 0x03, 0x1f, 0xe6, 0x19, 0x36, 0xf0, 0x76, 0xfb, 0x36, 0x0d, 0x93, 0x36, - 0xdb, 0x90, 0x82, 0xb4, 0xc2, 0xc4, 0x09, 0x81, 0xca, 0x5e, 0xe2, 0x7e, 0xc1, 0x76, 0xd2, 0x14, 0x3c, 0x08, 0x1b, - 0x0d, 0x4c, 0xdc, 0xea, 0xca, 0xd6, 0x61, 0x42, 0xc3, 0x25, 0xd5, 0xce, 0x4e, 0x2a, 0xf9, 0xa2, 0xbd, 0x2e, 0x2f, - 0x6c, 0x1f, 0x74, 0x2c, 0xb5, 0xae, 0xe1, 0x81, 0xe6, 0x35, 0xbb, 0xb8, 0x62, 0x9a, 0x26, 0x1a, 0xeb, 0x21, 0x65, - 0xc9, 0xb1, 0xae, 0xa7, 0x2b, 0x5c, 0x2d, 0x33, 0x0d, 0x74, 0x2f, 0xf1, 0x42, 0x0f, 0xf8, 0xe0, 0xe1, 0x8a, 0x44, - 0x17, 0xd8, 0x6c, 0xb6, 0xaa, 0xc9, 0x34, 0xdf, 0x97, 0x2d, 0x37, 0x01, 0xf2, 0x2c, 0xf5, 0xcd, 0x7d, 0x72, 0xac, - 0x69, 0x9b, 0x9f, 0x04, 0xb8, 0xe6, 0x5e, 0x01, 0x49, 0xc7, 0x12, 0x74, 0xf1, 0x3e, 0xfd, 0x41, 0xa4, 0x66, 0x2a, - 0xe8, 0xde, 0xf9, 0x22, 0x75, 0xf3, 0x0b, 0xb0, 0x8d, 0xda, 0x18, 0xd3, 0x2c, 0xb1, 0x0e, 0x13, 0x65, 0x61, 0x8d, - 0x2c, 0xe4, 0x12, 0x7c, 0x30, 0x77, 0x9b, 0x3a, 0x7d, 0xde, 0x41, 0x84, 0xfd, 0x2e, 0x7a, 0x3c, 0xc2, 0x58, 0xb1, - 0x06, 0x89, 0x61, 0x15, 0xd6, 0xb4, 0xb9, 0x1c, 0xa2, 0x9c, 0x9a, 0x25, 0x13, 0x2d, 0xa9, 0x4f, 0x29, 0xa2, 0x14, - 0xcc, 0x8d, 0xa7, 0x65, 0xc3, 0x94, 0x10, 0x21, 0x2b, 0xa4, 0x03, 0xaa, 0xb5, 0xd0, 0x52, 0x4d, 0x10, 0xf0, 0xd0, - 0xcb, 0x42, 0x63, 0x0a, 0xa2, 0x8f, 0xc8, 0x70, 0x23, 0x8e, 0x8c, 0xee, 0x8e, 0x51, 0x4c, 0x20, 0x74, 0xb7, 0x97, - 0x17, 0x56, 0x9f, 0x96, 0x6d, 0x75, 0x10, 0xd7, 0x98, 0x26, 0x7b, 0x08, 0x6a, 0x8c, 0x82, 0x36, 0xa7, 0x1b, 0xfd, - 0x67, 0x11, 0xfa, 0x76, 0xe1, 0xd8, 0x8d, 0x82, 0x48, 0x88, 0x48, 0xeb, 0x35, 0x15, 0x03, 0xd4, 0xce, 0x63, 0x17, - 0xb1, 0x4a, 0x77, 0x0b, 0x51, 0xde, 0xa8, 0xac, 0xdf, 0xaf, 0x43, 0xb2, 0xdd, 0x62, 0x59, 0xe0, 0xcb, 0xfe, 0x6a, - 0xbd, 0x07, 0x02, 0xfd, 0xe9, 0xfa, 0xb3, 0x10, 0xe8, 0xcf, 0xb2, 0x2f, 0x81, 0x40, 0x7f, 0xba, 0xfe, 0x9f, 0x86, - 0x40, 0x7f, 0xb5, 0xf6, 0x20, 0xd0, 0xd5, 0x60, 0xfc, 0xa3, 0x60, 0xc1, 0x9b, 0xd7, 0x01, 0x7d, 0x26, 0x59, 0xf0, - 0xe6, 0xc5, 0x0b, 0x4f, 0x98, 0xfe, 0x83, 0xd0, 0x48, 0xfe, 0x46, 0x16, 0x8c, 0xb8, 0x2d, 0xf0, 0x0a, 0xb5, 0x4e, - 0x3e, 0x50, 0x51, 0x06, 0x40, 0xf4, 0xe5, 0x6f, 0x59, 0xb5, 0x0c, 0x83, 0xc3, 0x80, 0xcc, 0x1c, 0x24, 0xe8, 0x70, - 0xd2, 0xb8, 0xbd, 0xfd, 0x22, 0x1a, 0x42, 0x1d, 0x1b, 0x79, 0x00, 0xbe, 0xf2, 0x44, 0xf6, 0xfe, 0x0d, 0x11, 0x3f, - 0x99, 0x59, 0xd0, 0xd1, 0xc3, 0x80, 0x80, 0xc7, 0x52, 0xe6, 0x21, 0x70, 0xce, 0xfd, 0x90, 0xd0, 0x0f, 0xd6, 0x9e, - 0x6d, 0xd1, 0x2f, 0x22, 0xac, 0xc0, 0xe7, 0xee, 0xaf, 0x35, 0x3f, 0xcb, 0x52, 0xe2, 0xe4, 0xa1, 0x5c, 0x24, 0x32, - 0xe5, 0xbf, 0xbc, 0x7b, 0x69, 0x91, 0xc7, 0x43, 0x05, 0xbd, 0x44, 0x30, 0xa4, 0x71, 0xca, 0xaf, 0xb3, 0x84, 0xcf, - 0xfe, 0x78, 0xb0, 0xe9, 0xcc, 0xa8, 0x5e, 0x93, 0xfa, 0xf0, 0x8f, 0x28, 0x08, 0xf4, 0x18, 0xfc, 0xf1, 0x60, 0x93, - 0xd5, 0x87, 0x0f, 0x36, 0xd5, 0x28, 0x95, 0x00, 0xef, 0x0d, 0xbf, 0x65, 0xfd, 0x60, 0x53, 0xc2, 0x0f, 0x5e, 0xff, - 0xe1, 0x01, 0xb3, 0xd9, 0x06, 0x79, 0x7d, 0xb0, 0xca, 0x2b, 0x87, 0x09, 0x7a, 0x4f, 0xc1, 0xc2, 0x14, 0xea, 0xf0, - 0xa8, 0xd6, 0x9e, 0xdc, 0x6f, 0xaa, 0xbb, 0x4e, 0x08, 0x5c, 0x23, 0xdd, 0xc0, 0x21, 0x54, 0x96, 0x60, 0x27, 0x1d, - 0x9d, 0x12, 0xc4, 0xd4, 0x7c, 0x18, 0x28, 0x5b, 0x5f, 0x2f, 0x58, 0xb1, 0x6b, 0x26, 0xc6, 0x77, 0x1a, 0x03, 0x1b, - 0x2e, 0xba, 0x5a, 0xcc, 0xd9, 0x1f, 0xa6, 0xc7, 0xbb, 0x55, 0x48, 0x82, 0x18, 0xd9, 0x7e, 0x9f, 0x78, 0x3d, 0x4b, - 0x79, 0x15, 0x67, 0x39, 0x8b, 0xf3, 0xfc, 0x0f, 0x94, 0x45, 0x7c, 0xff, 0x45, 0xa0, 0xfb, 0xa3, 0xd1, 0x28, 0x2e, - 0x2e, 0xf1, 0xea, 0x6f, 0xc8, 0x2d, 0xc2, 0x62, 0x67, 0xbc, 0xb4, 0x81, 0x55, 0x96, 0x71, 0x79, 0xa6, 0x23, 0x1a, - 0x95, 0x96, 0x60, 0x97, 0x4b, 0x79, 0x73, 0x06, 0xd1, 0x1d, 0x2c, 0x05, 0x8f, 0x71, 0x00, 0xd5, 0xbd, 0xc9, 0x84, - 0x5d, 0x5e, 0xeb, 0x77, 0xe7, 0x71, 0xc9, 0xdf, 0xc6, 0xd5, 0x92, 0xc1, 0x5e, 0xd0, 0x54, 0xbd, 0x90, 0xeb, 0x95, - 0xab, 0xe4, 0x6c, 0x2d, 0x3e, 0x0a, 0x79, 0x23, 0x14, 0xed, 0x3d, 0xe3, 0xd7, 0xd0, 0x22, 0xb6, 0x41, 0x9d, 0x95, - 0xe0, 0x49, 0xe5, 0x71, 0xe2, 0x2a, 0x16, 0x40, 0x46, 0x4d, 0x34, 0x80, 0x8e, 0x1c, 0x34, 0xb4, 0x7b, 0x4d, 0x3b, - 0x96, 0x1b, 0x95, 0x45, 0x06, 0x96, 0xb0, 0xcf, 0xa1, 0x74, 0x40, 0x6c, 0x87, 0x70, 0x21, 0x70, 0xf5, 0xc4, 0xab, - 0x51, 0x03, 0xb1, 0x87, 0x96, 0xbe, 0xbb, 0x90, 0x62, 0xb5, 0x0c, 0xda, 0x65, 0x63, 0x98, 0xf0, 0x7a, 0x8d, 0x2e, - 0xc3, 0xa0, 0xf8, 0x2f, 0xdc, 0xa2, 0x44, 0x5c, 0xa4, 0x2c, 0x55, 0x46, 0x67, 0x3d, 0x94, 0x85, 0xe1, 0xb3, 0xa7, - 0xa3, 0xd4, 0x61, 0xe5, 0x3c, 0xb3, 0xbc, 0x8d, 0xd2, 0xc4, 0xcf, 0xc1, 0x24, 0xcc, 0xaf, 0x65, 0x2e, 0x75, 0x5c, - 0xf2, 0x33, 0xb1, 0xbe, 0xe2, 0x45, 0x96, 0x9c, 0x2d, 0xb3, 0xb2, 0x92, 0xc5, 0xdd, 0xc2, 0xc0, 0x5d, 0xe8, 0xb2, - 0x5a, 0x93, 0xb8, 0xf7, 0x3b, 0xf0, 0x79, 0x57, 0x01, 0x4c, 0x86, 0x4f, 0xc6, 0xa4, 0xd6, 0xd6, 0xf2, 0xd0, 0x40, - 0x6a, 0x7f, 0xab, 0x7d, 0xe2, 0x9e, 0x6d, 0xd7, 0x68, 0xd3, 0xcf, 0xa1, 0x5d, 0x23, 0x35, 0x4b, 0xa9, 0xe0, 0x7f, - 0xad, 0xb9, 0x89, 0x76, 0x10, 0x3a, 0x24, 0xef, 0xb0, 0xd4, 0x87, 0x91, 0x26, 0xd1, 0x0a, 0x09, 0x4a, 0x51, 0xdf, - 0xd6, 0x0b, 0xd5, 0x06, 0x42, 0xd4, 0x6d, 0x31, 0x4d, 0x9f, 0x23, 0x68, 0x3b, 0x48, 0x49, 0x70, 0x6f, 0xd9, 0x98, - 0x5f, 0x5d, 0xcb, 0x67, 0x0e, 0xdd, 0x59, 0xcc, 0x3e, 0x97, 0x61, 0x30, 0x88, 0x3e, 0x97, 0x85, 0x4d, 0xee, 0x59, - 0xa5, 0x2a, 0xcb, 0xb1, 0xb1, 0xbd, 0x9c, 0xa2, 0x29, 0x4b, 0xf8, 0x76, 0x1d, 0x36, 0xd7, 0x3e, 0xc5, 0xd9, 0xa7, - 0x9b, 0x2b, 0x5e, 0x2d, 0x65, 0x1a, 0x05, 0xdf, 0x3f, 0xff, 0x10, 0x18, 0xd5, 0x75, 0xa1, 0x41, 0x8b, 0xb4, 0x36, - 0x27, 0x97, 0x97, 0x20, 0xcb, 0xec, 0x15, 0x23, 0xf9, 0x71, 0x27, 0xca, 0xe7, 0x1f, 0x3f, 0x7c, 0xf8, 0xf0, 0xf6, - 0x00, 0x15, 0x3e, 0xbd, 0x83, 0xf7, 0x0a, 0x3d, 0xe0, 0xe0, 0xc1, 0xa6, 0xd0, 0x2a, 0xf6, 0xfa, 0x0f, 0x7b, 0x56, - 0x15, 0x2d, 0x05, 0xb9, 0x01, 0x05, 0xf4, 0xaa, 0x68, 0x0d, 0x6b, 0xe1, 0xb4, 0xd8, 0x7e, 0x66, 0xa5, 0x5d, 0x0a, - 0x50, 0x77, 0xa2, 0x6a, 0x8e, 0x94, 0x5e, 0x1e, 0x22, 0x2d, 0x84, 0xd5, 0x9e, 0xad, 0x56, 0x75, 0x6d, 0x35, 0x59, - 0x54, 0x99, 0xb8, 0x3c, 0xc3, 0xdd, 0xff, 0x45, 0x5b, 0xce, 0xcc, 0xb0, 0xa2, 0x17, 0xed, 0xdd, 0xd6, 0x80, 0x2a, - 0xd3, 0x46, 0xb9, 0x7a, 0x0f, 0x81, 0xc0, 0xac, 0xac, 0xa7, 0xfe, 0xc7, 0xc6, 0x62, 0xc4, 0x4f, 0x53, 0x40, 0x6e, - 0xc0, 0x03, 0xb1, 0x93, 0x78, 0x64, 0xda, 0x77, 0x83, 0x72, 0x93, 0xe3, 0xa4, 0x95, 0x30, 0x1b, 0x4e, 0xa2, 0x09, - 0xb1, 0xf1, 0x25, 0x34, 0x0d, 0xfb, 0x7e, 0xf4, 0xfc, 0xf5, 0x87, 0x97, 0x1f, 0xfe, 0x79, 0xf6, 0xf4, 0xf4, 0xc3, - 0xf3, 0xef, 0xdf, 0xbc, 0x7b, 0xf9, 0xfc, 0x3d, 0x9e, 0x10, 0x1a, 0xb0, 0x32, 0xdc, 0x68, 0xab, 0xe8, 0x66, 0x59, - 0x91, 0xa8, 0x49, 0xb3, 0x29, 0x0a, 0x31, 0x0a, 0x33, 0xdb, 0x22, 0x7f, 0x79, 0xfd, 0xec, 0xf9, 0x8b, 0x97, 0xaf, - 0x9f, 0x3f, 0x6b, 0x7f, 0x3d, 0x9c, 0xd4, 0xa4, 0x76, 0x33, 0xa7, 0x23, 0xa4, 0x70, 0x3b, 0x5e, 0x1d, 0xf4, 0x09, - 0xb5, 0xf2, 0x3e, 0x7d, 0xca, 0x60, 0x45, 0x32, 0x25, 0xa7, 0xc7, 0xdf, 0x1e, 0xfe, 0xaf, 0xda, 0x78, 0xdb, 0x2d, - 0xf0, 0x10, 0x48, 0xc6, 0x94, 0xac, 0x1f, 0x46, 0x35, 0xa3, 0xea, 0x65, 0x24, 0xa8, 0x2d, 0x0d, 0x6c, 0xa0, 0x53, - 0xaa, 0x42, 0x2a, 0x9c, 0x25, 0x71, 0xc5, 0x2f, 0x65, 0x71, 0x17, 0x65, 0xa3, 0x56, 0x0a, 0x6d, 0x2c, 0x80, 0x28, - 0x04, 0xc1, 0x72, 0x23, 0x89, 0xf4, 0x14, 0x01, 0xf0, 0x86, 0xc0, 0x8d, 0xea, 0xdc, 0x45, 0x0b, 0x68, 0x17, 0x4c, - 0x16, 0xdb, 0x6d, 0xc7, 0xa0, 0x75, 0xd2, 0xbe, 0x68, 0x9e, 0x29, 0xa2, 0xb8, 0x00, 0xc6, 0x1c, 0x8e, 0x37, 0x75, - 0x76, 0x31, 0x73, 0xdc, 0x9d, 0xea, 0xa8, 0x9f, 0x60, 0x8d, 0xe8, 0x5e, 0x9b, 0xc0, 0x32, 0xcd, 0xf3, 0x70, 0xdc, - 0xa2, 0xb8, 0x06, 0xe3, 0xb7, 0x95, 0xaa, 0x96, 0x99, 0xc6, 0x56, 0x84, 0x99, 0x82, 0x70, 0x5c, 0x46, 0x74, 0x1b, - 0xe6, 0x60, 0x21, 0xd3, 0x98, 0x5f, 0x33, 0x0e, 0x79, 0x24, 0x0d, 0x4c, 0x1e, 0x98, 0x0c, 0xee, 0xc9, 0xb5, 0x8c, - 0x8a, 0x06, 0xe0, 0xa5, 0x6c, 0x0e, 0xea, 0xf1, 0xff, 0x69, 0xef, 0x69, 0xb7, 0xdb, 0xb6, 0x91, 0xfd, 0xdf, 0xa7, - 0x60, 0x98, 0x6c, 0x4a, 0x26, 0x24, 0x4d, 0x4a, 0x96, 0xad, 0x48, 0x96, 0xdc, 0xe6, 0x6b, 0x9b, 0xd6, 0x6d, 0x7a, - 0x62, 0x37, 0x7b, 0x77, 0x5d, 0x1f, 0x8b, 0x92, 0x20, 0x89, 0x1b, 0x8a, 0xd4, 0x25, 0x29, 0x4b, 0xae, 0xc2, 0x7d, - 0x96, 0x7d, 0x84, 0xfb, 0x0c, 0x7d, 0xb2, 0x7b, 0x66, 0x06, 0x20, 0xc1, 0x0f, 0xc9, 0x72, 0x93, 0xb6, 0x7b, 0xcf, - 0xb9, 0xa7, 0x4d, 0x22, 0x82, 0x00, 0x08, 0x0c, 0x80, 0x99, 0xc1, 0x7c, 0x46, 0xc5, 0x67, 0xd8, 0xc6, 0xa5, 0x2a, - 0x28, 0xb2, 0x2d, 0x56, 0x02, 0xd1, 0xc2, 0xe8, 0x94, 0x3e, 0x6f, 0x25, 0xe1, 0x59, 0xb8, 0x12, 0xe2, 0xe1, 0x93, - 0xa8, 0xa6, 0x10, 0xcf, 0x46, 0xc7, 0x3d, 0x19, 0xd1, 0x0f, 0x27, 0xdd, 0x42, 0x04, 0xd2, 0x1c, 0xc0, 0x19, 0x73, - 0x3a, 0xa0, 0x2b, 0xd3, 0xf5, 0xa3, 0x8d, 0xd8, 0x78, 0xe9, 0xc0, 0xcb, 0x92, 0xbf, 0x16, 0x18, 0x8b, 0x94, 0x83, - 0x5e, 0x8e, 0x35, 0x5a, 0x53, 0x8d, 0xef, 0x8f, 0x9e, 0x57, 0xcb, 0x9d, 0x58, 0xf4, 0xc8, 0x28, 0x17, 0x66, 0x7d, - 0x15, 0xb6, 0x66, 0x23, 0xad, 0x6e, 0x60, 0x24, 0x5e, 0x12, 0x53, 0xc0, 0xf0, 0xcb, 0x88, 0xf1, 0x1f, 0x55, 0x30, - 0x3e, 0x5a, 0xd9, 0x65, 0x08, 0xff, 0xc7, 0xb7, 0xe7, 0x17, 0xa0, 0xbd, 0x72, 0x51, 0xdd, 0xbc, 0x51, 0xb9, 0xa5, - 0x8a, 0x09, 0xfa, 0x20, 0xb5, 0xa3, 0xba, 0x0b, 0xa0, 0xc7, 0x78, 0x2f, 0x38, 0x58, 0x9b, 0xab, 0xd5, 0xca, 0x04, - 0xbb, 0x55, 0x73, 0x19, 0xf9, 0xc4, 0x03, 0x8e, 0xd5, 0x54, 0x20, 0x72, 0x56, 0x42, 0xe4, 0x10, 0xf4, 0x96, 0x67, - 0x4d, 0x39, 0x9f, 0x85, 0xab, 0xaf, 0x7d, 0x5f, 0x16, 0xce, 0x08, 0x56, 0x8d, 0xcb, 0x2b, 0x0a, 0x88, 0x41, 0x03, - 0x1d, 0x93, 0xe5, 0xc5, 0xd7, 0xdc, 0x2a, 0x60, 0x7c, 0x3d, 0xbc, 0xbd, 0xe6, 0x9a, 0x87, 0x2c, 0xea, 0xf0, 0xf9, - 0xe0, 0x64, 0xec, 0xdd, 0x28, 0xc8, 0x4f, 0xf6, 0x54, 0x70, 0xd9, 0xf2, 0xd9, 0x70, 0x99, 0x24, 0x61, 0x60, 0x46, - 0xe1, 0x4a, 0xed, 0x9f, 0xd0, 0x83, 0xa8, 0xe0, 0xd2, 0xa3, 0xaa, 0x7c, 0x35, 0xf2, 0xbd, 0xd1, 0x87, 0x9e, 0xfa, - 0x68, 0xe3, 0xf5, 0xfa, 0x25, 0xae, 0xd1, 0x4e, 0xd5, 0x3e, 0x8c, 0x55, 0xf9, 0xda, 0xf7, 0x4f, 0x0e, 0xa8, 0x45, - 0xff, 0xe4, 0x60, 0xec, 0xdd, 0xf4, 0xa5, 0x04, 0x30, 0x5c, 0x3b, 0xda, 0xe3, 0x81, 0x36, 0x33, 0x7b, 0xb2, 0x18, - 0x23, 0x37, 0x8c, 0x98, 0x96, 0x5f, 0x71, 0x21, 0xa2, 0x0c, 0x8d, 0x57, 0x1b, 0xa1, 0xd0, 0xdc, 0x87, 0x0b, 0xdd, - 0xc7, 0x8f, 0x5a, 0x66, 0x6d, 0x3a, 0x93, 0x42, 0xb1, 0xa1, 0x32, 0x0f, 0xab, 0x18, 0x18, 0x4f, 0x46, 0xd7, 0x44, - 0xc0, 0x38, 0x5f, 0x37, 0x46, 0xa9, 0x81, 0x79, 0x74, 0xdc, 0x05, 0xe8, 0x15, 0xf9, 0x4f, 0xe9, 0xde, 0x3b, 0x82, - 0xdc, 0xd9, 0x12, 0xe2, 0xd6, 0x25, 0xcd, 0x0a, 0x9d, 0x42, 0x1e, 0x0d, 0x10, 0x54, 0x22, 0xf8, 0x1d, 0xd2, 0x76, - 0x68, 0xbe, 0x0e, 0xb9, 0xdb, 0xb2, 0x10, 0x3c, 0x6e, 0x2a, 0xb2, 0xa5, 0x09, 0xb8, 0x9c, 0x16, 0x56, 0xa8, 0x53, - 0x5e, 0x2f, 0x11, 0x1b, 0xf2, 0x41, 0xbc, 0x6d, 0xc9, 0x40, 0x53, 0xa7, 0x25, 0x46, 0x89, 0xce, 0x82, 0xef, 0x9e, - 0xa4, 0x1e, 0x62, 0x86, 0x76, 0x19, 0x1b, 0xe1, 0x55, 0x4e, 0x9b, 0x62, 0x42, 0x94, 0x9d, 0x30, 0xcd, 0xc3, 0x34, - 0xd3, 0xaa, 0xf7, 0x1f, 0x6d, 0x02, 0x24, 0x66, 0x71, 0xaf, 0x5f, 0xdc, 0x07, 0x89, 0x3b, 0x34, 0x69, 0x33, 0xab, - 0xca, 0x57, 0xe3, 0xa1, 0x9f, 0x2d, 0x36, 0x1d, 0x82, 0x99, 0x1b, 0x8c, 0x7d, 0x76, 0xe1, 0x0e, 0xbf, 0xc1, 0x3a, - 0x2f, 0x87, 0xfe, 0x0b, 0xa8, 0x90, 0xaa, 0xfd, 0x47, 0x1b, 0x22, 0xd7, 0x75, 0x08, 0x3b, 0xa5, 0x2d, 0x50, 0xfe, - 0x0e, 0x4f, 0xac, 0xc4, 0x22, 0x6a, 0x8d, 0x83, 0x25, 0x12, 0x4b, 0x18, 0xb5, 0x38, 0x32, 0x9e, 0xd8, 0x07, 0xf6, - 0xa6, 0xc2, 0x4f, 0x2d, 0x8c, 0x2b, 0x14, 0x27, 0x58, 0xde, 0x99, 0xf2, 0x60, 0x89, 0x94, 0xbe, 0x0b, 0x57, 0x62, - 0xa4, 0x1c, 0x00, 0x14, 0x88, 0xf2, 0xf4, 0x7c, 0x70, 0x22, 0x2b, 0x7f, 0x50, 0x42, 0x4e, 0xfd, 0xc2, 0xaf, 0x54, - 0x55, 0xf2, 0x34, 0x4f, 0x8b, 0xb5, 0xda, 0x3f, 0x39, 0x90, 0x6b, 0xf7, 0x07, 0x9d, 0x57, 0xd2, 0xe4, 0xb0, 0x57, - 0x71, 0x3b, 0xbe, 0xcc, 0x1f, 0xd2, 0x2b, 0x05, 0xee, 0xc2, 0x29, 0x94, 0x00, 0x8c, 0x8a, 0x4d, 0x2a, 0xe4, 0x07, - 0x12, 0x23, 0xe6, 0x04, 0x8a, 0x76, 0x8f, 0xc0, 0x8f, 0xa1, 0xde, 0xc9, 0x96, 0x90, 0xec, 0x2f, 0x45, 0x6f, 0x03, - 0xfe, 0x6f, 0x0e, 0x12, 0x94, 0x67, 0xb3, 0x20, 0x0e, 0x23, 0x15, 0xa6, 0x59, 0xce, 0x8e, 0xa4, 0x48, 0x59, 0xd9, - 0x70, 0xc2, 0xb5, 0x64, 0x15, 0x00, 0x76, 0x50, 0x6e, 0x2a, 0xcd, 0x7b, 0xa0, 0xe7, 0x3f, 0x14, 0x3e, 0x99, 0x12, - 0xd2, 0xca, 0x06, 0xb8, 0x3d, 0xeb, 0xd4, 0xe5, 0x5b, 0xcf, 0xf8, 0x5b, 0x68, 0xcc, 0x5d, 0x63, 0xe8, 0x1a, 0xe7, - 0xc1, 0x55, 0x5a, 0xbb, 0x78, 0x59, 0xc6, 0x38, 0x83, 0x75, 0x35, 0x88, 0xb3, 0x54, 0xbc, 0x57, 0x78, 0x16, 0xb7, - 0x0c, 0xb9, 0x70, 0xa3, 0x29, 0x13, 0x89, 0xda, 0xc4, 0x5b, 0x21, 0x21, 0xd0, 0x25, 0xb0, 0x40, 0x10, 0xb2, 0x07, - 0xdc, 0x80, 0xce, 0xb3, 0x46, 0x49, 0xe4, 0x7f, 0xc7, 0x6e, 0xe1, 0x3a, 0x19, 0x27, 0xe1, 0x02, 0x24, 0x53, 0xee, - 0x94, 0x6b, 0x1a, 0x0c, 0x60, 0x6a, 0xf6, 0xf9, 0xdc, 0xc7, 0x8f, 0x4c, 0xca, 0x1d, 0x96, 0x84, 0xd3, 0xa9, 0xcf, - 0x34, 0x29, 0xc7, 0x58, 0xf6, 0x99, 0xd3, 0x07, 0xb6, 0x88, 0x4f, 0xad, 0xa7, 0xdb, 0x0e, 0x56, 0xce, 0x01, 0x0a, - 0x9d, 0x3e, 0x20, 0x2e, 0x32, 0xa1, 0x42, 0x26, 0x5c, 0x13, 0xe7, 0x22, 0x3f, 0xb8, 0xe6, 0x38, 0x5c, 0x0e, 0x7d, - 0x66, 0xe2, 0x69, 0x80, 0x4f, 0x6e, 0x86, 0xcb, 0xe1, 0xd0, 0xa7, 0xa4, 0x60, 0x10, 0x65, 0x2d, 0x8c, 0x51, 0xfa, - 0x99, 0xea, 0x5d, 0xe4, 0xd4, 0x92, 0xf2, 0xf0, 0xc1, 0x32, 0x12, 0x6e, 0x0b, 0xf4, 0x81, 0x04, 0x24, 0x9d, 0xd5, - 0x33, 0xdd, 0x53, 0xe1, 0x96, 0xc2, 0x62, 0xb5, 0x5b, 0xc3, 0xd2, 0xf5, 0x2e, 0xd5, 0x73, 0x84, 0xb0, 0xe2, 0x06, - 0x63, 0xe5, 0x05, 0xed, 0x5d, 0xd5, 0x50, 0xc9, 0xc0, 0x8b, 0xe7, 0x90, 0x53, 0x0d, 0xf5, 0xa5, 0xe7, 0x4e, 0x83, - 0x30, 0x4e, 0xbc, 0x91, 0x7a, 0xd5, 0x7d, 0xe9, 0x69, 0x97, 0xf3, 0x44, 0xd3, 0xaf, 0x8c, 0xbf, 0xca, 0xd9, 0xbe, - 0x04, 0xa6, 0xc4, 0x64, 0x5f, 0x5b, 0xea, 0xc8, 0xa7, 0x67, 0x57, 0x3d, 0x81, 0x91, 0xb1, 0xce, 0x5f, 0x7b, 0x50, - 0xab, 0x94, 0x37, 0x0c, 0x13, 0x42, 0x42, 0xde, 0xb0, 0xbf, 0xea, 0x5d, 0x12, 0xb5, 0x7c, 0xbd, 0xdc, 0x20, 0xd3, - 0x90, 0xe4, 0xc4, 0x17, 0x43, 0xdd, 0x0b, 0xff, 0x50, 0x7a, 0x7e, 0x20, 0xfb, 0x36, 0x14, 0xc8, 0xf8, 0xe0, 0xeb, - 0x22, 0x07, 0xf2, 0x68, 0x93, 0xa4, 0x60, 0x58, 0x18, 0x84, 0x89, 0x02, 0xf1, 0xdb, 0xe0, 0x83, 0x83, 0xb2, 0x2d, - 0x34, 0xef, 0x55, 0xd3, 0x53, 0x8e, 0x05, 0x9e, 0x23, 0x2d, 0x45, 0xf9, 0x24, 0x84, 0x9b, 0x80, 0x50, 0xa4, 0x85, - 0x68, 0x4d, 0xdc, 0x03, 0x0f, 0x96, 0xaf, 0xc0, 0xbf, 0x49, 0x78, 0xbf, 0x48, 0xcf, 0x1f, 0x6d, 0xe2, 0x53, 0x41, - 0xd4, 0xdf, 0xc4, 0xb8, 0x96, 0xc0, 0xae, 0x70, 0x2a, 0x9f, 0xaa, 0xca, 0xa9, 0xa0, 0x44, 0x58, 0xb7, 0x80, 0x5e, - 0x35, 0xc1, 0xee, 0x46, 0x22, 0x32, 0x3e, 0x4f, 0x3f, 0x2e, 0x18, 0xb0, 0xd2, 0xd1, 0x83, 0x90, 0x4c, 0x19, 0x6f, - 0x95, 0x80, 0x5d, 0x35, 0x12, 0x0c, 0xc0, 0x5c, 0x9c, 0x47, 0x18, 0xa4, 0xd7, 0xc0, 0x48, 0x42, 0x9c, 0x32, 0x31, - 0x47, 0x23, 0x94, 0x53, 0xc5, 0x79, 0xc1, 0x62, 0x99, 0x60, 0xfc, 0x79, 0x18, 0x00, 0x4b, 0x55, 0x05, 0x2f, 0x89, - 0x80, 0xeb, 0xf3, 0xcb, 0x4f, 0xaa, 0x2a, 0xde, 0xb8, 0x5a, 0xc6, 0xe5, 0x31, 0x80, 0xe3, 0x70, 0x1a, 0xa8, 0xbd, - 0x81, 0xc7, 0x88, 0x4f, 0x63, 0x64, 0xe4, 0xc9, 0x5b, 0xb4, 0x11, 0x5a, 0x39, 0xd4, 0x20, 0x90, 0x11, 0xf5, 0xd3, - 0xd5, 0xfc, 0xda, 0xc9, 0x42, 0x4c, 0xea, 0xc2, 0x34, 0x07, 0x20, 0x89, 0x3c, 0x05, 0xd8, 0xf5, 0x1e, 0x6d, 0xdc, - 0xcc, 0x80, 0x4e, 0xbd, 0x50, 0xc9, 0x7a, 0x6e, 0x80, 0x60, 0x18, 0xa4, 0xd7, 0xb9, 0x3b, 0x6b, 0x3e, 0x5f, 0xd8, - 0x92, 0x54, 0xae, 0xa0, 0x3d, 0x5b, 0x8f, 0x5b, 0xad, 0x2d, 0x22, 0x6f, 0xee, 0x46, 0xb7, 0x64, 0xe4, 0x66, 0xc8, - 0x96, 0x70, 0xba, 0xaa, 0x10, 0x3d, 0x20, 0x00, 0x10, 0x69, 0x50, 0x95, 0xaf, 0xb2, 0x32, 0xc6, 0x67, 0x9b, 0x59, - 0xfa, 0xc0, 0xb7, 0xae, 0xd5, 0xa7, 0xcc, 0x22, 0x29, 0x23, 0x35, 0xe9, 0x6a, 0xf1, 0x96, 0xe9, 0xc5, 0xc5, 0xe9, - 0x05, 0xc5, 0x8d, 0x86, 0x93, 0x21, 0x4a, 0x41, 0xe3, 0xc6, 0x99, 0x61, 0xaa, 0xcb, 0xfa, 0x15, 0xa5, 0x77, 0x7f, - 0xe8, 0x72, 0x30, 0x58, 0x8e, 0x00, 0x96, 0xa3, 0x46, 0x00, 0xeb, 0x8a, 0x15, 0x01, 0x5e, 0x04, 0xb8, 0x90, 0x08, - 0x39, 0x10, 0xca, 0x82, 0xa9, 0x64, 0x5b, 0x28, 0x82, 0xa3, 0x41, 0x63, 0xa7, 0xa3, 0x11, 0xf5, 0x7a, 0x21, 0xb6, - 0x8a, 0xd2, 0x93, 0x03, 0xaa, 0x4d, 0x44, 0x91, 0x2a, 0x01, 0x18, 0x22, 0x98, 0x61, 0x0e, 0x05, 0x48, 0x03, 0xde, - 0x73, 0xf2, 0x8b, 0x8e, 0x35, 0x47, 0xe5, 0xb3, 0x73, 0x5a, 0x64, 0x78, 0xb0, 0x95, 0xda, 0x3f, 0xc1, 0xc4, 0x9e, - 0x40, 0xd6, 0x21, 0xf4, 0xd5, 0xc9, 0x01, 0x3d, 0x2a, 0xa5, 0x13, 0x91, 0x77, 0x22, 0xa4, 0x8e, 0x1d, 0xde, 0xc1, - 0xbd, 0x8e, 0x4a, 0x9c, 0xb0, 0x05, 0x94, 0xba, 0xa9, 0xaa, 0xcc, 0x39, 0x83, 0xc5, 0x63, 0xec, 0x41, 0x00, 0x1e, - 0x1b, 0x1c, 0x1f, 0x54, 0x65, 0xee, 0xae, 0x71, 0xe6, 0xe2, 0x8d, 0xbb, 0xd6, 0x1c, 0xfe, 0x2a, 0x3f, 0x6b, 0x71, - 0xf1, 0xac, 0x8d, 0xf8, 0xe2, 0x82, 0x77, 0x9d, 0x60, 0xac, 0xb5, 0x19, 0x5a, 0x2d, 0xd5, 0x2c, 0xee, 0x4c, 0x2c, - 0xee, 0x78, 0xcb, 0xe2, 0x8e, 0x77, 0x2c, 0xae, 0xcf, 0x17, 0x52, 0xc9, 0x40, 0x17, 0xa1, 0xc7, 0x74, 0x06, 0x3c, - 0xce, 0x8f, 0x74, 0xf8, 0x39, 0x43, 0x38, 0x99, 0xb1, 0x0f, 0x16, 0xc3, 0x5b, 0x60, 0x55, 0x07, 0x17, 0x09, 0x10, - 0xd5, 0x89, 0x67, 0xa7, 0x6e, 0x24, 0x49, 0x06, 0x34, 0xbf, 0x3c, 0x5f, 0xd8, 0xa5, 0xd8, 0xd0, 0xd0, 0x66, 0x5b, - 0x66, 0x3a, 0xdb, 0x31, 0xd3, 0x51, 0xe1, 0xe8, 0xf2, 0x69, 0xd3, 0x21, 0x94, 0x27, 0x05, 0x7b, 0x10, 0xbc, 0x28, - 0x70, 0xcb, 0x14, 0xf7, 0xe1, 0x76, 0x1c, 0x2b, 0xed, 0xa8, 0x85, 0x1b, 0xc7, 0xab, 0x30, 0x02, 0x33, 0x04, 0xe8, - 0xe6, 0x7e, 0x5b, 0x6a, 0xee, 0x05, 0x3c, 0xc2, 0xd9, 0xd6, 0xcd, 0x94, 0xbf, 0x97, 0xb7, 0x54, 0xa3, 0xd5, 0xa2, - 0x1a, 0x0b, 0x37, 0x49, 0x58, 0x84, 0x40, 0x77, 0x21, 0x15, 0xc6, 0x7f, 0xc8, 0x36, 0xab, 0xc1, 0x21, 0xbe, 0x84, - 0xd5, 0x11, 0x43, 0x2f, 0x80, 0x05, 0x23, 0xbd, 0x63, 0xa0, 0x6f, 0xa4, 0x68, 0xa9, 0x51, 0x06, 0xf8, 0x1f, 0xf0, - 0xb8, 0x6a, 0x91, 0xe4, 0xcf, 0xeb, 0x1c, 0xe9, 0xd6, 0xc2, 0x1d, 0x9f, 0x83, 0xb5, 0x8b, 0xd6, 0x30, 0xc0, 0x73, - 0x45, 0x8e, 0x8d, 0x1a, 0x11, 0x4f, 0x38, 0xca, 0x91, 0x24, 0x62, 0x49, 0x6e, 0x17, 0x0c, 0x21, 0x05, 0x5c, 0x73, - 0x72, 0xb5, 0x69, 0xa4, 0x07, 0x53, 0x4f, 0xaf, 0x60, 0x4d, 0x40, 0x6d, 0x7e, 0xaf, 0x9f, 0x09, 0xdd, 0x7c, 0xc3, - 0x39, 0xd2, 0x41, 0x1d, 0x7a, 0x09, 0x49, 0xcf, 0x6d, 0x71, 0x99, 0x1e, 0x44, 0x40, 0xb5, 0x40, 0x79, 0xf8, 0x78, - 0x8a, 0xbf, 0x9c, 0xab, 0xf4, 0xf1, 0x10, 0x7f, 0x35, 0xae, 0x32, 0x55, 0x55, 0x49, 0x8a, 0x20, 0xcd, 0x59, 0xed, - 0x17, 0xf6, 0x13, 0x19, 0x65, 0xdf, 0x63, 0xdb, 0xf0, 0x05, 0x7e, 0xf8, 0x68, 0x13, 0x43, 0x18, 0x02, 0x79, 0x0e, - 0x81, 0x15, 0xe9, 0x69, 0x6d, 0xf9, 0x74, 0x4b, 0xf9, 0x50, 0xff, 0x83, 0x09, 0x3f, 0xee, 0x92, 0x30, 0xa7, 0x29, - 0x45, 0x19, 0xc8, 0xf5, 0xd0, 0x0b, 0xdc, 0xe8, 0xf6, 0x9a, 0x6e, 0x21, 0x9a, 0x24, 0xe4, 0x7d, 0x90, 0x0b, 0x07, - 0x6e, 0x8b, 0x36, 0x20, 0x89, 0xa4, 0xa0, 0xba, 0xe5, 0x84, 0xbe, 0xf7, 0x5d, 0x24, 0xf1, 0x77, 0x85, 0x6b, 0x2c, - 0x5f, 0x90, 0xc2, 0x87, 0xae, 0x1f, 0x6d, 0x34, 0x56, 0xed, 0xa6, 0x34, 0xdb, 0x12, 0x03, 0x09, 0xcb, 0x83, 0x57, - 0xe2, 0xf9, 0xd8, 0xeb, 0xa0, 0x91, 0xc7, 0x30, 0x5c, 0x9b, 0x8f, 0x36, 0xc9, 0xa9, 0x3a, 0x77, 0xa3, 0x0f, 0x6c, - 0x6c, 0x8e, 0xbc, 0x68, 0xe4, 0x03, 0xf3, 0x38, 0xf4, 0xdd, 0xe0, 0x03, 0x7f, 0x34, 0xc3, 0x65, 0x82, 0x66, 0x5b, - 0x77, 0xde, 0xa0, 0x05, 0x4c, 0x48, 0x90, 0x88, 0x5c, 0x6d, 0x0d, 0x14, 0x94, 0xf3, 0x81, 0xb8, 0xd6, 0xe7, 0x8c, - 0x62, 0x5e, 0xcb, 0x00, 0xaf, 0x03, 0xb0, 0x24, 0x83, 0x30, 0x0e, 0x86, 0x8a, 0xeb, 0xa5, 0x1a, 0xf2, 0x54, 0x49, - 0x8f, 0x96, 0xe5, 0x21, 0xbe, 0xc6, 0x1e, 0x7e, 0xfb, 0xe7, 0xa0, 0xe4, 0x3e, 0x9f, 0xcb, 0x7a, 0xf9, 0xb4, 0x19, - 0x42, 0xa9, 0x49, 0xee, 0x83, 0xf7, 0xf8, 0x38, 0x67, 0x30, 0xb7, 0x7f, 0x5a, 0x6e, 0xec, 0xc6, 0xf1, 0x72, 0xce, - 0xc6, 0xa4, 0x0c, 0x3b, 0xcd, 0x07, 0x55, 0xbc, 0x87, 0xc8, 0x03, 0xfb, 0x79, 0xd9, 0x38, 0x3e, 0x7c, 0x01, 0x66, - 0x7c, 0xc0, 0x50, 0x86, 0x93, 0x89, 0x9a, 0x8b, 0x02, 0xee, 0x68, 0xe6, 0x1c, 0xfe, 0xbc, 0x7c, 0xfd, 0xca, 0x7e, - 0x9d, 0x35, 0x0e, 0x80, 0x31, 0x16, 0x36, 0x49, 0x9c, 0x2f, 0x96, 0xc6, 0x2b, 0x66, 0x34, 0x71, 0x83, 0xed, 0xd3, - 0xb9, 0x2c, 0x6c, 0xf1, 0x05, 0x63, 0x63, 0x60, 0xb8, 0x8d, 0x4a, 0xe9, 0xb5, 0xcf, 0x6e, 0x58, 0x66, 0xef, 0x54, - 0xfd, 0x58, 0x4d, 0x0b, 0x0c, 0xc8, 0xca, 0x75, 0x8f, 0x9c, 0xab, 0x93, 0xa6, 0x34, 0xc0, 0x39, 0xf0, 0x99, 0xcb, - 0x47, 0xac, 0x74, 0xa4, 0x06, 0x86, 0x2a, 0x0d, 0x60, 0xeb, 0xc8, 0x4e, 0xb7, 0x94, 0x77, 0x00, 0x51, 0x6f, 0x19, - 0x9b, 0xe1, 0xe8, 0x1d, 0x48, 0x60, 0xc1, 0xe1, 0xe4, 0xc3, 0xc9, 0xd3, 0x72, 0xa9, 0xc9, 0x36, 0x88, 0xd5, 0x89, - 0xda, 0x54, 0x12, 0xd2, 0x08, 0x17, 0x00, 0xf4, 0x85, 0x11, 0xe2, 0xaa, 0xda, 0xb5, 0x51, 0x8a, 0x33, 0x1f, 0x62, - 0x7a, 0xf7, 0x80, 0xc5, 0xf1, 0x56, 0x80, 0x65, 0x8b, 0x6e, 0xa8, 0x79, 0xed, 0x22, 0x3c, 0xf2, 0x72, 0xc3, 0x36, - 0x80, 0x25, 0xc0, 0x09, 0x96, 0xbf, 0x85, 0xe4, 0xe5, 0x7a, 0xce, 0x8d, 0x38, 0xa3, 0xe9, 0x50, 0xe5, 0x06, 0x76, - 0xdb, 0xde, 0xaf, 0x54, 0x3e, 0xa8, 0x02, 0x99, 0xae, 0x1d, 0x9a, 0x56, 0x40, 0xbd, 0x15, 0xa9, 0x12, 0x76, 0x20, - 0xc6, 0x54, 0xc2, 0xaf, 0x6c, 0x32, 0x61, 0xa3, 0x24, 0xd6, 0x85, 0x8c, 0x29, 0x0b, 0xa9, 0x0e, 0x4a, 0xbb, 0x07, - 0x3d, 0xf5, 0x07, 0x08, 0x2c, 0x23, 0x22, 0x0f, 0xf2, 0x01, 0x89, 0x3b, 0x53, 0x3d, 0x98, 0xa8, 0xc7, 0x22, 0x88, - 0xf8, 0x57, 0x40, 0x0a, 0x5d, 0x53, 0x8e, 0x43, 0xe3, 0xf4, 0x27, 0xdf, 0x17, 0x61, 0x66, 0xea, 0xb9, 0x1b, 0x15, - 0xed, 0x3a, 0xbe, 0x1b, 0xe7, 0x75, 0xcb, 0xb1, 0x53, 0xd5, 0x00, 0x87, 0xe6, 0x0f, 0xa5, 0x6d, 0x4c, 0x04, 0xaa, - 0xa7, 0x9e, 0xbd, 0x7d, 0xf1, 0xdd, 0xab, 0x97, 0xfb, 0x62, 0x04, 0xec, 0xb2, 0x09, 0x5d, 0x2e, 0x83, 0x1d, 0x9d, - 0xfe, 0xf4, 0xc3, 0xfd, 0xba, 0x6d, 0x38, 0xcf, 0x1c, 0xd5, 0x20, 0x1b, 0x74, 0x09, 0x2f, 0x8e, 0xc2, 0x1b, 0x16, - 0x7d, 0x32, 0x18, 0xe4, 0xce, 0xeb, 0x87, 0xfb, 0xf6, 0xc7, 0x57, 0x3f, 0xec, 0x3d, 0xd4, 0x23, 0xc7, 0x06, 0xdc, - 0x9e, 0x84, 0x8b, 0x7b, 0xcc, 0xae, 0xa9, 0x1a, 0xea, 0xc8, 0x0f, 0x63, 0xb6, 0x65, 0x04, 0x2f, 0xce, 0xde, 0x9e, - 0x23, 0xb8, 0x72, 0x16, 0x84, 0xba, 0xfa, 0xb4, 0xc9, 0xff, 0xf8, 0xee, 0xd5, 0xf9, 0xb9, 0x6a, 0x60, 0x4a, 0xee, - 0x58, 0xee, 0x9d, 0x6f, 0xe2, 0x3b, 0x28, 0x4e, 0xed, 0x5e, 0x27, 0xaa, 0x46, 0x17, 0xe9, 0xe2, 0x6c, 0xa8, 0xac, - 0xb2, 0xcd, 0x39, 0xb5, 0xe3, 0x5f, 0xa6, 0xdb, 0xef, 0x5e, 0xf3, 0xaa, 0xc1, 0x47, 0xbb, 0x49, 0x6a, 0xa1, 0x64, - 0xee, 0x05, 0xd7, 0x35, 0xa5, 0xee, 0xba, 0xa6, 0x14, 0xae, 0x8f, 0x15, 0xfc, 0xb8, 0x0c, 0xe7, 0x12, 0x3b, 0xc2, - 0xd6, 0x77, 0x83, 0x4b, 0xba, 0xc3, 0x7d, 0xc2, 0xa0, 0x79, 0x4a, 0x95, 0xf2, 0xa8, 0x6b, 0x8a, 0xf9, 0xc5, 0x2b, - 0x83, 0xed, 0xc8, 0x07, 0xcb, 0x7b, 0x26, 0xab, 0x21, 0x8b, 0xac, 0x2a, 0xf7, 0x9b, 0xe9, 0x95, 0x6e, 0x05, 0xd4, - 0x8c, 0x54, 0x37, 0x9c, 0xa6, 0x2c, 0xdc, 0x31, 0x98, 0xb3, 0x9b, 0xc3, 0x30, 0x49, 0xc2, 0x79, 0xc7, 0xb1, 0x17, - 0x6b, 0x55, 0xe9, 0x0a, 0x61, 0x07, 0xb7, 0xb6, 0xef, 0xfc, 0xfa, 0xef, 0x12, 0x9a, 0xa7, 0xf2, 0xeb, 0x84, 0xcd, - 0x17, 0x2c, 0x72, 0x93, 0x65, 0xc4, 0x52, 0xe5, 0xd7, 0xff, 0x79, 0x51, 0xba, 0xd8, 0x77, 0xe5, 0x36, 0xc4, 0xd2, - 0xcb, 0x4d, 0xae, 0xfd, 0x70, 0xf5, 0x20, 0xf7, 0xab, 0xbb, 0xa3, 0xf2, 0xcc, 0x9b, 0xce, 0xb2, 0xda, 0xa7, 0xc9, - 0x8e, 0xb9, 0x89, 0xd1, 0x93, 0x3e, 0x40, 0x39, 0x0b, 0x57, 0x9d, 0x5f, 0xff, 0x9d, 0x09, 0x6c, 0xee, 0xdc, 0x75, - 0xf5, 0x03, 0x2d, 0xae, 0x68, 0x7d, 0x9d, 0xca, 0x12, 0xc3, 0xfb, 0xca, 0x02, 0x57, 0x0a, 0x69, 0x57, 0x56, 0x75, - 0x73, 0x3b, 0xe6, 0xf4, 0x8d, 0x37, 0x9d, 0x7d, 0xea, 0xa4, 0x00, 0xa0, 0x77, 0xce, 0x0a, 0x2a, 0x7d, 0x86, 0x69, - 0x0d, 0x3a, 0xfb, 0x2f, 0xd8, 0x27, 0xce, 0xeb, 0xae, 0x29, 0x7d, 0x8e, 0xd9, 0x70, 0xc9, 0xed, 0xf9, 0x60, 0x90, - 0xa5, 0xa4, 0x95, 0xdb, 0x83, 0x67, 0xe0, 0x69, 0xa5, 0x84, 0xb3, 0x17, 0x1d, 0x5b, 0xa7, 0x90, 0x3d, 0x7b, 0x00, - 0x04, 0x6d, 0xdc, 0x6b, 0xc0, 0xb1, 0x1d, 0x5f, 0x93, 0xab, 0x5a, 0xe5, 0xdb, 0x15, 0x64, 0x0d, 0xa5, 0x98, 0xce, - 0x34, 0xd3, 0x1a, 0x1a, 0xf5, 0xc3, 0x59, 0x45, 0xee, 0x82, 0x94, 0x04, 0x0a, 0x6a, 0x4c, 0x40, 0xe8, 0x52, 0xba, - 0x45, 0xdf, 0xb8, 0xfe, 0xcd, 0x7e, 0x17, 0xaa, 0xed, 0x14, 0x0c, 0x49, 0xf3, 0x9f, 0x47, 0xbc, 0x91, 0x2e, 0xdf, - 0x9b, 0x76, 0xaf, 0xdc, 0x84, 0x45, 0xd7, 0x33, 0xf0, 0xe9, 0x15, 0xd2, 0x03, 0x88, 0x96, 0xbb, 0x0b, 0x29, 0x17, - 0xd8, 0xd2, 0x1a, 0x34, 0x9a, 0x63, 0xb8, 0xdf, 0x86, 0xbb, 0x3f, 0x13, 0xe6, 0xee, 0xbc, 0x02, 0xaf, 0xcb, 0xdf, - 0x0d, 0x7b, 0xef, 0xa2, 0x4c, 0xff, 0x8f, 0xbd, 0xff, 0x13, 0xb1, 0xf7, 0xce, 0xef, 0xfc, 0x96, 0x85, 0xfd, 0x3f, - 0x80, 0xe5, 0x3b, 0xac, 0xf7, 0x8a, 0x63, 0x7a, 0x4d, 0x73, 0x7b, 0x42, 0xb9, 0x2a, 0xe3, 0xd5, 0x8a, 0x82, 0x95, - 0x87, 0x54, 0xe3, 0x96, 0x83, 0x2e, 0x22, 0xfb, 0x1d, 0x47, 0xf9, 0xf7, 0x47, 0xf4, 0x31, 0xe5, 0xa1, 0x92, 0x30, - 0x7d, 0xe7, 0x95, 0x11, 0x17, 0x66, 0xe2, 0xae, 0xdc, 0xdb, 0x7d, 0xf0, 0x8e, 0x18, 0xec, 0xd7, 0x2b, 0xf7, 0xb6, - 0x6e, 0xb0, 0x5b, 0xd1, 0x6b, 0xf9, 0x63, 0xa7, 0xe0, 0xcb, 0xd3, 0x41, 0x47, 0x1e, 0x63, 0x10, 0xb3, 0xe4, 0x14, - 0x0a, 0x7b, 0x8f, 0x36, 0x0f, 0xca, 0x15, 0xd3, 0x01, 0x78, 0x39, 0x4b, 0x03, 0x0f, 0x0b, 0x03, 0xf7, 0xe2, 0xeb, - 0x30, 0xb8, 0xcf, 0xc8, 0x7f, 0x04, 0xe1, 0xcf, 0x6f, 0x1e, 0x3a, 0x7e, 0xae, 0x32, 0x76, 0x2c, 0x2d, 0x0f, 0x1e, - 0x0b, 0xcb, 0xa3, 0xef, 0xd6, 0xcb, 0xea, 0x4b, 0x84, 0x16, 0x69, 0x2c, 0x23, 0x42, 0xab, 0x80, 0x5e, 0x45, 0x01, - 0x1d, 0x97, 0x20, 0xb9, 0x98, 0xa0, 0xf4, 0xd5, 0x36, 0xa7, 0xae, 0x37, 0x77, 0x3b, 0x75, 0x5d, 0xec, 0xe5, 0xd4, - 0xf5, 0xe6, 0xb3, 0x3b, 0x75, 0xbd, 0x92, 0x9d, 0xba, 0xe0, 0x50, 0xbd, 0x62, 0x7b, 0xf9, 0xd0, 0x08, 0x3b, 0xd7, - 0x70, 0x15, 0xf7, 0x1c, 0x2e, 0x6e, 0x8b, 0x47, 0x33, 0x06, 0xfa, 0x0b, 0xbe, 0xff, 0xfd, 0x70, 0x0a, 0xae, 0x2e, - 0xdb, 0x9d, 0x59, 0x3e, 0x97, 0x2b, 0x8b, 0x1f, 0x4e, 0x55, 0x29, 0x45, 0x4b, 0x20, 0x52, 0xb4, 0x40, 0x58, 0x9a, - 0x9f, 0xd7, 0xce, 0xf3, 0x4b, 0xa7, 0xdb, 0x74, 0x20, 0xc4, 0x19, 0x88, 0xa4, 0xb1, 0xc0, 0xee, 0x36, 0x9b, 0x50, - 0xb0, 0x92, 0x0a, 0x1a, 0x50, 0xe0, 0x49, 0x05, 0x2d, 0x28, 0x18, 0x49, 0x05, 0x47, 0x50, 0x30, 0x96, 0x0a, 0x8e, - 0xa1, 0xe0, 0x46, 0x4d, 0x2f, 0x83, 0xcc, 0x65, 0xed, 0x58, 0xbf, 0x2a, 0x64, 0xe7, 0xca, 0xf4, 0x27, 0xa2, 0xca, - 0xb1, 0x21, 0x42, 0x45, 0x9b, 0x87, 0x3a, 0x77, 0x8e, 0x1a, 0x7c, 0x31, 0x80, 0x20, 0x2e, 0xa0, 0x4e, 0x32, 0x40, - 0x19, 0x47, 0x35, 0x9b, 0xe2, 0xb5, 0xda, 0xc9, 0x5c, 0xbc, 0x6c, 0xa3, 0x21, 0x5c, 0xa6, 0x3a, 0xe8, 0xc0, 0x2b, - 0x2a, 0xb7, 0x9e, 0xce, 0xb2, 0xb8, 0x91, 0xcb, 0x5e, 0xee, 0x07, 0xdf, 0x84, 0xe8, 0xf9, 0x60, 0x14, 0xf5, 0x12, - 0x6f, 0xa6, 0x56, 0x12, 0x82, 0x9b, 0xb3, 0x88, 0x97, 0x28, 0x3e, 0xa0, 0xa0, 0x1f, 0x5c, 0xd7, 0xcd, 0x43, 0x5b, - 0xf2, 0x28, 0xab, 0x34, 0xfa, 0x79, 0x16, 0xbc, 0x92, 0x04, 0xac, 0x4b, 0x23, 0x71, 0xa7, 0x9d, 0x99, 0x41, 0xda, - 0xd5, 0xce, 0x14, 0xa2, 0x91, 0x9f, 0x8e, 0x3b, 0x0b, 0x63, 0x35, 0x63, 0x41, 0x67, 0xc2, 0xfd, 0x0f, 0x60, 0xfd, - 0xc9, 0xbc, 0x74, 0xae, 0x0b, 0xbb, 0x68, 0xdc, 0x13, 0xf9, 0x5b, 0x1a, 0xa5, 0x99, 0x6d, 0xa5, 0xdc, 0xa4, 0x57, - 0x93, 0x35, 0xaf, 0x9f, 0xc3, 0x00, 0xf3, 0x25, 0x1b, 0x2e, 0xa7, 0xca, 0x59, 0x38, 0xbd, 0xd3, 0xd8, 0x52, 0x7e, - 0x05, 0xa3, 0x54, 0xc9, 0xc4, 0xc4, 0x14, 0xdb, 0x9b, 0x7f, 0x8b, 0x1e, 0xd3, 0x62, 0xfd, 0x04, 0xc6, 0xa6, 0x24, - 0x84, 0xdc, 0xe0, 0x3b, 0x00, 0x6d, 0xc9, 0x9c, 0xf1, 0x0c, 0xe0, 0x27, 0x3d, 0x5f, 0xb8, 0xd2, 0x78, 0xfa, 0xdf, - 0xb3, 0x38, 0x76, 0xa7, 0xa2, 0x7e, 0x75, 0x9c, 0xe0, 0xd9, 0x9b, 0xc9, 0x98, 0x11, 0x80, 0xa0, 0xad, 0xf4, 0x2a, - 0x46, 0xaa, 0xe0, 0x3b, 0x03, 0xc6, 0xdb, 0xb0, 0x68, 0xb9, 0x45, 0xa7, 0x67, 0xc1, 0xf2, 0x14, 0x8d, 0x2b, 0x01, - 0x89, 0xdc, 0x30, 0xbf, 0x5c, 0x98, 0xb8, 0xd3, 0x72, 0x11, 0xad, 0x75, 0x2a, 0x8f, 0x2d, 0xb3, 0x6d, 0x2c, 0x14, - 0x7e, 0x8a, 0xb1, 0x9e, 0x1f, 0x4e, 0x7f, 0x57, 0x4b, 0xbd, 0x1d, 0x16, 0x96, 0xe7, 0x81, 0x11, 0x24, 0x03, 0x0b, - 0x61, 0xac, 0x58, 0x00, 0xc2, 0x4e, 0x90, 0xcc, 0x4c, 0x8c, 0x29, 0xa3, 0x35, 0x02, 0xdd, 0xb0, 0x70, 0x6d, 0x37, - 0xe5, 0x48, 0x5a, 0x9d, 0x68, 0x3a, 0x74, 0x35, 0xa7, 0x71, 0x6c, 0x88, 0x3f, 0x96, 0xdd, 0xd2, 0x53, 0xec, 0x41, - 0x19, 0x7b, 0x37, 0x9b, 0x49, 0x18, 0x24, 0xe6, 0xc4, 0x9d, 0x7b, 0xfe, 0x6d, 0x67, 0x1e, 0x06, 0x61, 0xbc, 0x70, - 0x47, 0xac, 0x9b, 0x2b, 0x0d, 0xba, 0x18, 0xa3, 0x91, 0x87, 0x09, 0x72, 0xac, 0x46, 0xc4, 0xe6, 0xd4, 0x3a, 0x0b, - 0xc1, 0x38, 0xf1, 0xd9, 0x3a, 0xe5, 0x9f, 0x2f, 0x54, 0xa6, 0xaa, 0xb8, 0xe5, 0xa8, 0x05, 0x48, 0xc0, 0x78, 0x7c, - 0x47, 0x88, 0x6a, 0xdc, 0xe5, 0x57, 0x91, 0x8e, 0xd5, 0x68, 0x45, 0x6c, 0xae, 0x58, 0xad, 0xad, 0x9d, 0x47, 0xe1, - 0xaa, 0x0f, 0xa3, 0xc5, 0xc6, 0x66, 0xcc, 0xfc, 0x09, 0xbe, 0x31, 0x31, 0xa4, 0x84, 0xe8, 0xc7, 0x44, 0x65, 0x03, - 0xf4, 0xc6, 0xe6, 0x5d, 0x78, 0xdd, 0x69, 0x28, 0x76, 0x77, 0xee, 0x05, 0x26, 0x4d, 0xe7, 0xd8, 0x5e, 0x48, 0x7d, - 0xc9, 0xf0, 0xd3, 0x37, 0x58, 0xdd, 0x51, 0xec, 0x2e, 0x08, 0x95, 0x27, 0x7e, 0xb8, 0xea, 0xcc, 0xbc, 0xf1, 0x98, - 0x05, 0x5d, 0x1c, 0x73, 0x56, 0xc8, 0x7c, 0xdf, 0x5b, 0xc4, 0x5e, 0xdc, 0x9d, 0xbb, 0x6b, 0xde, 0xeb, 0xe1, 0xb6, - 0x5e, 0x9b, 0xbc, 0xd7, 0xe6, 0xde, 0xbd, 0x4a, 0xdd, 0x40, 0xf8, 0x0a, 0xea, 0x87, 0x0f, 0xad, 0xa5, 0xd8, 0xa5, - 0x79, 0xee, 0xdd, 0xeb, 0x22, 0x62, 0x9b, 0xb9, 0x1b, 0x4d, 0xbd, 0xa0, 0x63, 0xa7, 0xd6, 0xcd, 0x86, 0x36, 0xc6, - 0xc3, 0x76, 0xbb, 0x9d, 0x5a, 0x63, 0xf1, 0x64, 0x8f, 0xc7, 0xa9, 0x35, 0x12, 0x4f, 0x93, 0x89, 0x6d, 0x4f, 0x26, - 0xa9, 0xe5, 0x89, 0x82, 0x66, 0x63, 0x34, 0x6e, 0x36, 0x52, 0x6b, 0x25, 0xd5, 0x48, 0x2d, 0xc6, 0x9f, 0x22, 0x36, - 0xee, 0xe2, 0x46, 0xe2, 0x8e, 0x50, 0xc7, 0xb6, 0x9d, 0x22, 0x06, 0xb8, 0x2c, 0xe0, 0x26, 0xd4, 0x67, 0x5d, 0x6d, - 0xf6, 0xae, 0xa9, 0xe4, 0x9f, 0x1b, 0x8d, 0x6a, 0xeb, 0x8d, 0xdd, 0xe8, 0xc3, 0x95, 0x22, 0xcd, 0xc2, 0x75, 0xa9, - 0xda, 0x46, 0x80, 0xc1, 0x5c, 0x77, 0x20, 0x56, 0x77, 0x77, 0x18, 0x46, 0x70, 0x66, 0x23, 0x77, 0xec, 0x2d, 0xe3, - 0x8e, 0xd3, 0x58, 0xac, 0x45, 0x11, 0xdf, 0xeb, 0x79, 0x01, 0x9e, 0xbd, 0x4e, 0x1c, 0xfa, 0xde, 0x58, 0x14, 0x6d, - 0x3b, 0x4b, 0x4e, 0x43, 0xef, 0x62, 0xa4, 0x3a, 0x0f, 0xe3, 0x2d, 0xba, 0xbe, 0xaf, 0x58, 0xcd, 0x58, 0x61, 0x6e, - 0x8c, 0x3a, 0x74, 0xc5, 0x8e, 0x09, 0x2e, 0x18, 0x95, 0xce, 0x39, 0x5c, 0xac, 0xb3, 0x3d, 0xef, 0x1c, 0x2d, 0xd6, - 0xe9, 0x57, 0x73, 0x36, 0xf6, 0x5c, 0x45, 0xcb, 0x77, 0x93, 0x63, 0x83, 0x9e, 0x5d, 0xdf, 0x6c, 0xd9, 0xa6, 0xe2, - 0x58, 0x40, 0x4e, 0x83, 0x07, 0xde, 0x7c, 0x11, 0x46, 0x89, 0x1b, 0x24, 0x69, 0x3a, 0xb8, 0x4a, 0xd3, 0xee, 0x85, - 0xa7, 0x5d, 0xfe, 0x5d, 0x23, 0x5a, 0x48, 0x76, 0x29, 0xa9, 0x7e, 0x65, 0xbc, 0x62, 0xb2, 0x0d, 0x2d, 0x90, 0x31, - 0xb4, 0x9f, 0x95, 0x2b, 0x13, 0xbd, 0xad, 0x56, 0x26, 0x20, 0x67, 0xd5, 0xc9, 0x24, 0xb7, 0x58, 0x05, 0x29, 0x10, - 0x54, 0x78, 0xc5, 0x7a, 0x17, 0x92, 0x41, 0x2e, 0x30, 0x3d, 0x58, 0x99, 0x02, 0x0a, 0xbc, 0xdc, 0xc6, 0x7b, 0x5e, - 0xdc, 0xcd, 0x7b, 0xfe, 0x23, 0xd9, 0x87, 0xf7, 0xbc, 0xf8, 0xec, 0xbc, 0xe7, 0xcb, 0x6a, 0x40, 0x81, 0x8b, 0xb0, - 0xa7, 0x66, 0x56, 0x14, 0x40, 0x9a, 0x22, 0x0a, 0xd5, 0xfb, 0x32, 0xf9, 0xad, 0x9e, 0xdd, 0xa2, 0x37, 0x4a, 0x3e, - 0x4f, 0x94, 0x1b, 0xee, 0x5e, 0x6f, 0x83, 0xde, 0x77, 0x91, 0xfc, 0x3c, 0x99, 0xf4, 0x5e, 0x86, 0x52, 0x41, 0xf6, - 0xc4, 0x0d, 0x4c, 0x0b, 0x61, 0x15, 0xe9, 0x4d, 0x66, 0x02, 0x0c, 0x89, 0x27, 0x21, 0x2a, 0x1b, 0xf9, 0x7b, 0x8d, - 0x33, 0x43, 0xfc, 0x6e, 0x71, 0x08, 0x5a, 0xe6, 0xf9, 0x22, 0x62, 0x6f, 0x54, 0xd4, 0xa5, 0x53, 0x96, 0xf0, 0x60, - 0x59, 0xcf, 0x6f, 0xdf, 0x8c, 0xb5, 0x8b, 0x50, 0x4f, 0xbd, 0xf8, 0x6d, 0x39, 0xf2, 0x85, 0x10, 0x7e, 0xc9, 0xd3, - 0x49, 0xb9, 0x31, 0xbd, 0x14, 0xe0, 0x0e, 0x5f, 0x53, 0xf3, 0xd3, 0xc2, 0x4c, 0x3b, 0x72, 0x43, 0x9e, 0xe1, 0xba, - 0x42, 0x8c, 0xb9, 0x87, 0xf8, 0x86, 0x73, 0x79, 0x98, 0xb4, 0x1b, 0x03, 0x86, 0x8d, 0xa9, 0xb9, 0x37, 0x4e, 0x53, - 0xbd, 0x2b, 0x00, 0x21, 0x11, 0x5a, 0x76, 0x17, 0x13, 0x17, 0xe7, 0x57, 0x3f, 0x6e, 0x05, 0x45, 0x26, 0x4e, 0x17, - 0x60, 0x34, 0xc8, 0x0d, 0xa2, 0x38, 0xcc, 0x54, 0x85, 0xc0, 0x47, 0xc6, 0xa4, 0xd2, 0x84, 0xc0, 0xca, 0x4d, 0x36, - 0xc1, 0x2e, 0x2c, 0x48, 0xd5, 0xdb, 0x85, 0x80, 0x83, 0x56, 0x8f, 0x10, 0xde, 0x4f, 0xc8, 0xea, 0x08, 0xed, 0xf0, - 0x3a, 0xf8, 0x90, 0xaa, 0x19, 0xef, 0x87, 0xdb, 0xaf, 0x7f, 0x72, 0x00, 0x0d, 0xfa, 0x25, 0x49, 0xdc, 0x1d, 0xce, - 0x1a, 0xc0, 0x4a, 0xc4, 0x2b, 0xc3, 0x8a, 0x57, 0xca, 0x93, 0x8d, 0x08, 0x8d, 0x99, 0xb8, 0x0b, 0x13, 0x44, 0x3f, - 0x88, 0x7b, 0x39, 0xc6, 0x93, 0xa2, 0x70, 0x76, 0x97, 0x31, 0xe0, 0x46, 0x14, 0x2d, 0x20, 0xfe, 0xe9, 0x8e, 0x96, - 0x51, 0x1c, 0x46, 0x9d, 0x45, 0xe8, 0x05, 0x09, 0x8b, 0x52, 0x04, 0xd5, 0x25, 0xc2, 0x47, 0x80, 0xe7, 0x6a, 0x13, - 0x2e, 0xdc, 0x91, 0x97, 0xdc, 0x76, 0x6c, 0xce, 0x52, 0xd8, 0x5d, 0xce, 0x1d, 0xd8, 0xb5, 0xf5, 0x3b, 0x1c, 0x9a, - 0x4f, 0x91, 0xf1, 0x8b, 0xaa, 0xec, 0x8c, 0xbc, 0xcd, 0xbb, 0xd2, 0x5b, 0x0a, 0x0e, 0x0a, 0xec, 0x87, 0x1b, 0x99, - 0x53, 0xc0, 0xf2, 0xb0, 0xd4, 0xf6, 0x98, 0x4d, 0x0d, 0xc4, 0xda, 0x60, 0x7b, 0x20, 0xfe, 0x58, 0x2d, 0x5d, 0xb1, - 0xeb, 0x8b, 0x81, 0xe3, 0xd1, 0xf7, 0x19, 0x59, 0xc7, 0x85, 0x54, 0xda, 0xc6, 0x3e, 0x35, 0x87, 0x6c, 0x12, 0x46, - 0x8c, 0x12, 0xc9, 0x38, 0xed, 0xc5, 0x7a, 0xff, 0xee, 0x77, 0x4f, 0xbf, 0xbe, 0x9f, 0x20, 0x4c, 0x34, 0xd1, 0x99, - 0x7e, 0x47, 0x6f, 0x55, 0x7a, 0x06, 0xac, 0x21, 0x41, 0x7e, 0x44, 0x9e, 0x90, 0x10, 0x04, 0xa4, 0x36, 0x5e, 0xf7, - 0x22, 0xe4, 0x34, 0x2f, 0x62, 0xbe, 0x9b, 0x78, 0x37, 0x82, 0x67, 0x6c, 0x1e, 0x2d, 0xd6, 0x62, 0x8d, 0x91, 0xe0, - 0xdd, 0x63, 0x91, 0x4a, 0x43, 0x11, 0x8b, 0x54, 0x2e, 0xc6, 0x45, 0xea, 0x56, 0x66, 0x23, 0x42, 0x58, 0x96, 0x28, - 0x7d, 0x6b, 0xb1, 0x96, 0x49, 0x74, 0xde, 0x2c, 0xa3, 0xd4, 0xe5, 0xd8, 0xe3, 0x73, 0x6f, 0x3c, 0xf6, 0x59, 0x5a, - 0x58, 0xe8, 0xe2, 0x5a, 0x4a, 0xc0, 0xc9, 0xe0, 0xe0, 0x0e, 0xe3, 0xd0, 0x5f, 0x26, 0xac, 0x1e, 0x5c, 0x04, 0x9c, - 0x86, 0x9d, 0x03, 0x07, 0x7f, 0x17, 0xc7, 0xda, 0x02, 0x76, 0x1b, 0xb6, 0x89, 0xdd, 0x85, 0x54, 0x43, 0x66, 0xb3, - 0x38, 0x74, 0x78, 0x95, 0x0d, 0xda, 0xa8, 0x99, 0x88, 0x01, 0x64, 0x89, 0xb0, 0xb7, 0x62, 0x39, 0xbc, 0x2c, 0x4b, - 0xb7, 0x92, 0x15, 0xa5, 0xc5, 0xc9, 0xfc, 0x3e, 0x67, 0xec, 0x59, 0xfd, 0x19, 0x7b, 0x26, 0xce, 0xd8, 0xee, 0x9d, - 0xf9, 0x70, 0xe2, 0xc0, 0x7f, 0xdd, 0x7c, 0x42, 0x1d, 0x5b, 0x69, 0x2e, 0xd6, 0x8a, 0xb3, 0x58, 0x2b, 0x66, 0x63, - 0xb1, 0x56, 0xb0, 0x6b, 0xb4, 0x79, 0x35, 0xac, 0x86, 0x6e, 0xd8, 0x0a, 0x14, 0xc2, 0x1f, 0xbb, 0xf0, 0xca, 0x39, - 0x84, 0x77, 0xd0, 0xaa, 0x55, 0x7d, 0xd7, 0xd8, 0x7d, 0xd4, 0xe9, 0x2c, 0x09, 0xa4, 0xad, 0x5b, 0x89, 0x3b, 0x1c, - 0xb2, 0x71, 0x67, 0x12, 0x8e, 0x96, 0xf1, 0xbf, 0xf8, 0xf8, 0x39, 0x10, 0x77, 0x22, 0x82, 0x52, 0x3f, 0xa2, 0x29, - 0x48, 0x0f, 0x6f, 0x98, 0xe8, 0x61, 0x93, 0xad, 0x53, 0x87, 0xf2, 0x22, 0x35, 0xac, 0xc3, 0x9a, 0x4d, 0x5e, 0x0f, - 0xe8, 0xdf, 0x6d, 0x95, 0xb6, 0xa3, 0x98, 0x4f, 0x00, 0xcb, 0x4e, 0x70, 0xdc, 0x1f, 0x1a, 0x7c, 0x35, 0xed, 0x76, - 0xfd, 0x70, 0x2f, 0xc5, 0x97, 0xae, 0x04, 0x51, 0xe1, 0x74, 0x8b, 0xfb, 0xe7, 0xee, 0xee, 0x75, 0xdb, 0x1e, 0xa9, - 0xf4, 0xba, 0x83, 0x20, 0xe4, 0x75, 0xf7, 0xc4, 0xf2, 0x0f, 0x9f, 0x1d, 0xc2, 0x7f, 0xc4, 0xd5, 0xff, 0x23, 0xa9, - 0x63, 0xd4, 0x5f, 0x26, 0x05, 0x46, 0x9d, 0x58, 0x25, 0x64, 0xc4, 0xf7, 0xaf, 0x3f, 0x99, 0xdc, 0xaf, 0xc1, 0xde, - 0xb5, 0xc9, 0x5c, 0xbc, 0x5c, 0xfb, 0x79, 0x18, 0xfa, 0xcc, 0x0d, 0xaa, 0xd5, 0x05, 0x78, 0xc8, 0xf7, 0x2f, 0xe9, - 0x41, 0x23, 0x71, 0x8f, 0x20, 0x4b, 0x45, 0x15, 0xdb, 0xd0, 0x55, 0xe2, 0x6c, 0xdb, 0x55, 0xe2, 0xdd, 0xdd, 0x57, - 0x89, 0x6f, 0xf7, 0xba, 0x4a, 0xbc, 0xfb, 0xec, 0x57, 0x89, 0xb3, 0xea, 0x55, 0xe2, 0x2c, 0x14, 0x3e, 0x42, 0xc6, - 0xeb, 0x25, 0xff, 0xf9, 0x9e, 0x8c, 0x80, 0xde, 0x85, 0xbd, 0x96, 0x4d, 0xb9, 0x8e, 0x2e, 0x7e, 0xf3, 0xc5, 0x02, - 0x37, 0xe2, 0x3b, 0x34, 0x99, 0xcf, 0xaf, 0x16, 0x1c, 0xb3, 0xe3, 0x77, 0xa4, 0x62, 0x3f, 0x0c, 0xa6, 0x3f, 0x82, - 0x11, 0x18, 0x88, 0x03, 0x23, 0xe9, 0x85, 0x17, 0xff, 0x18, 0x2e, 0x96, 0x8b, 0x37, 0xd0, 0xd7, 0x7b, 0x2f, 0xf6, - 0x86, 0x3e, 0xcb, 0x82, 0x4b, 0x91, 0x89, 0x3f, 0x97, 0xad, 0x83, 0x57, 0x8d, 0xf8, 0xe9, 0xae, 0xc5, 0x4f, 0xf4, - 0xbb, 0xe1, 0xbf, 0xc9, 0x77, 0x40, 0xad, 0xbf, 0x88, 0x08, 0xb5, 0xb1, 0x34, 0xe8, 0xfb, 0x5f, 0x46, 0xce, 0x42, - 0xbd, 0x66, 0x96, 0xc2, 0xa6, 0x73, 0x6b, 0x3f, 0xac, 0xdc, 0xcf, 0xeb, 0xa5, 0x6e, 0x64, 0xb1, 0xb7, 0xab, 0xe2, - 0xfc, 0x79, 0xb8, 0x8c, 0xd9, 0x38, 0x5c, 0x05, 0xaa, 0x11, 0x70, 0x47, 0x04, 0x4a, 0x5f, 0x9c, 0xb5, 0xf9, 0x6f, - 0xc8, 0x73, 0x70, 0x8e, 0x8c, 0x32, 0x84, 0xe8, 0xb1, 0x16, 0x00, 0x43, 0x93, 0x4c, 0xdb, 0x4c, 0x9c, 0xa2, 0x9a, - 0xa5, 0x37, 0x7e, 0xa0, 0x69, 0x61, 0xef, 0x7e, 0x2d, 0x85, 0x39, 0x6a, 0x68, 0x71, 0xa9, 0x70, 0xac, 0x05, 0x42, - 0xb8, 0x28, 0x02, 0x60, 0xd6, 0x2c, 0x1c, 0x7f, 0x43, 0x91, 0xa3, 0xf2, 0xb7, 0x10, 0x8a, 0x28, 0x5d, 0xf2, 0xf5, - 0xe0, 0xe1, 0x20, 0xe9, 0xf1, 0x85, 0x04, 0xc6, 0xb7, 0x37, 0x2c, 0xf2, 0xdd, 0x5b, 0x4d, 0x4f, 0xc3, 0xe0, 0x7b, - 0x00, 0xc0, 0xcb, 0x70, 0x15, 0xc8, 0x15, 0x30, 0x4b, 0x6b, 0xcd, 0x5e, 0xaa, 0x0d, 0x5c, 0x0a, 0x8e, 0xbc, 0xd2, - 0x08, 0x3c, 0x6b, 0xe1, 0x4e, 0xd9, 0x7f, 0x19, 0xf4, 0xef, 0xdf, 0xf5, 0xd4, 0x78, 0x17, 0x66, 0x1f, 0xfa, 0x69, - 0xb1, 0xc7, 0x67, 0x1e, 0x3f, 0x7e, 0xb0, 0x7d, 0xda, 0xda, 0xc8, 0x67, 0x6e, 0x24, 0x46, 0x51, 0xd3, 0x5a, 0xdf, - 0x7a, 0x0a, 0x60, 0x14, 0x17, 0xe1, 0x72, 0x34, 0x43, 0x67, 0x9e, 0xcf, 0x37, 0xdf, 0x04, 0xfa, 0x64, 0xf1, 0xa5, - 0x7d, 0x95, 0x4d, 0xbd, 0x54, 0x94, 0x43, 0x01, 0xbf, 0xff, 0x0a, 0x32, 0x6f, 0xfc, 0x89, 0x60, 0xa8, 0xee, 0x9a, - 0x2c, 0x0e, 0xc8, 0xbd, 0x36, 0x6f, 0xd7, 0x03, 0x57, 0x7d, 0x8a, 0x69, 0x29, 0x94, 0x74, 0xf5, 0x48, 0x26, 0x2d, - 0x03, 0x4d, 0x8e, 0x1f, 0xbf, 0x2d, 0x34, 0xbe, 0xf8, 0x0a, 0xb3, 0xe8, 0x9a, 0xce, 0x9d, 0x29, 0x0d, 0xc6, 0xb1, - 0x55, 0x09, 0xc9, 0x70, 0x13, 0x4b, 0x86, 0xe8, 0xab, 0xfc, 0x6e, 0xee, 0x05, 0x06, 0xa6, 0x7f, 0xab, 0xbe, 0x71, - 0xd7, 0x90, 0x00, 0x09, 0x90, 0x5b, 0xf9, 0x15, 0x14, 0x1a, 0x72, 0x08, 0x01, 0xc8, 0xf1, 0xac, 0xd6, 0x42, 0x42, - 0x68, 0x03, 0x07, 0x5f, 0x28, 0x8a, 0xa2, 0x64, 0xd7, 0x08, 0x25, 0xbb, 0x47, 0x60, 0x39, 0x5e, 0x07, 0x40, 0x5b, - 0x92, 0x2e, 0xd6, 0x54, 0x02, 0x37, 0x03, 0x34, 0xaa, 0x12, 0x05, 0x3c, 0xc6, 0x7f, 0xcb, 0x16, 0x05, 0xe2, 0x42, - 0x0f, 0xf1, 0xd9, 0xdd, 0x08, 0x52, 0x01, 0x75, 0x14, 0xbc, 0xb0, 0xe3, 0x5b, 0x2e, 0x09, 0x56, 0x6c, 0x7a, 0x1c, - 0x74, 0x59, 0x7d, 0x30, 0xf8, 0x40, 0xc2, 0x82, 0xa0, 0x75, 0x28, 0xe5, 0x76, 0x32, 0x58, 0x0d, 0x6e, 0xc4, 0x7b, - 0xd1, 0x3a, 0x99, 0xb3, 0x60, 0xa9, 0x62, 0x32, 0x68, 0x0c, 0xce, 0x0f, 0x75, 0x5e, 0x12, 0xb3, 0x05, 0xd8, 0xa6, - 0xbe, 0xe5, 0x8c, 0x68, 0x61, 0xcc, 0x51, 0xaa, 0x6b, 0x8c, 0xb8, 0x57, 0x7c, 0xcc, 0x71, 0x5b, 0x99, 0x42, 0xf0, - 0x25, 0x0d, 0x8b, 0xd8, 0x9c, 0xc7, 0xc1, 0x40, 0x4e, 0x81, 0x02, 0x1e, 0x72, 0x71, 0x91, 0x00, 0xbb, 0xe6, 0x96, - 0x17, 0x2d, 0xd3, 0xc8, 0xb8, 0x25, 0x41, 0x51, 0xa4, 0x57, 0xbb, 0xe1, 0xe3, 0x84, 0x88, 0xc4, 0x5b, 0xfb, 0x19, - 0x55, 0xfa, 0xd9, 0x32, 0xe9, 0x0f, 0xec, 0x96, 0x08, 0x09, 0x81, 0xea, 0x03, 0xbb, 0x05, 0x8b, 0xb1, 0x57, 0x20, - 0x4d, 0x51, 0x77, 0xa0, 0x6b, 0x03, 0x72, 0xfc, 0x8d, 0x20, 0x4a, 0xf5, 0x8e, 0x03, 0x64, 0xa7, 0x3b, 0xb0, 0x38, - 0x82, 0x38, 0x30, 0xe2, 0xae, 0x38, 0xc4, 0xdc, 0x8d, 0x51, 0xab, 0x85, 0xb1, 0x59, 0x73, 0x34, 0xf4, 0x27, 0x8e, - 0x6d, 0x1f, 0x54, 0xea, 0x83, 0x20, 0xbb, 0xae, 0xb6, 0x6e, 0x24, 0x3d, 0xc7, 0x36, 0xbd, 0x27, 0x56, 0xa3, 0x5b, - 0xa1, 0xd1, 0x52, 0x12, 0x89, 0x01, 0x8a, 0xbf, 0xfa, 0x8f, 0x36, 0x5a, 0xe5, 0x40, 0xea, 0x65, 0xb7, 0x40, 0x1c, - 0x5b, 0xca, 0xe5, 0x5f, 0x83, 0x2a, 0xe9, 0xa7, 0x14, 0x16, 0x94, 0xd0, 0x74, 0x00, 0x69, 0x90, 0x34, 0x38, 0x46, - 0x7f, 0x51, 0x9e, 0x2a, 0x1a, 0x1d, 0x1f, 0x5d, 0x1f, 0x74, 0x05, 0x46, 0x11, 0x7e, 0xf3, 0x72, 0x07, 0xa5, 0x2f, - 0xc6, 0x65, 0x0c, 0xc7, 0x13, 0xae, 0xb0, 0x5c, 0xa3, 0xb7, 0x93, 0x5b, 0xc0, 0xfe, 0xb7, 0x90, 0x4f, 0x6b, 0x08, - 0x81, 0x9f, 0xa0, 0x06, 0x24, 0x4d, 0xbb, 0xb3, 0x43, 0x88, 0xd3, 0x27, 0x77, 0x57, 0x24, 0x92, 0xfb, 0x77, 0x86, - 0x44, 0x07, 0x75, 0x68, 0x59, 0x7f, 0xf5, 0xe4, 0xee, 0x9e, 0x5d, 0xb2, 0x60, 0x5c, 0xec, 0xb0, 0x44, 0xbf, 0xf6, - 0xef, 0xae, 0x80, 0x51, 0x20, 0x9b, 0x60, 0x58, 0x83, 0x51, 0xd2, 0x30, 0xc0, 0xcd, 0x4f, 0xc7, 0xcd, 0xdb, 0x8b, - 0x8b, 0xc1, 0x06, 0x14, 0x0a, 0x3c, 0x6b, 0x26, 0x09, 0xc5, 0x21, 0x65, 0x15, 0x86, 0xd5, 0xd0, 0x04, 0x23, 0xba, - 0x75, 0x27, 0x26, 0xc2, 0x87, 0x21, 0x6f, 0xe3, 0xf1, 0x24, 0x14, 0xfb, 0x4a, 0xad, 0xbd, 0xbb, 0xa5, 0xd6, 0xc9, - 0x5d, 0x52, 0x6b, 0x72, 0x19, 0x27, 0x7b, 0xa0, 0xcc, 0x75, 0x5e, 0x30, 0xe7, 0x72, 0xf0, 0x81, 0x82, 0xa8, 0x1b, - 0x3d, 0xcc, 0x45, 0xab, 0x4a, 0x6f, 0xe4, 0x95, 0x80, 0xe2, 0x6f, 0xe9, 0x82, 0x22, 0x14, 0xea, 0xb2, 0x6c, 0xfc, - 0x2c, 0x97, 0x8d, 0xd3, 0xad, 0x26, 0x77, 0x16, 0x16, 0xdc, 0xbf, 0xe4, 0x88, 0x9f, 0xdd, 0x0e, 0x72, 0x87, 0xfc, - 0x7c, 0xa4, 0x92, 0x8b, 0x79, 0x7e, 0xd1, 0x90, 0x02, 0x17, 0x88, 0x5b, 0x46, 0x31, 0x7e, 0x41, 0xb1, 0x6a, 0xee, - 0x61, 0x9e, 0x97, 0x83, 0xd4, 0x1d, 0x87, 0x9c, 0x15, 0xcb, 0xdb, 0xa6, 0xe8, 0x62, 0x2c, 0xbf, 0x96, 0x36, 0x49, - 0xe6, 0x0b, 0x4c, 0x00, 0x16, 0x62, 0xfa, 0x92, 0x5e, 0x3b, 0xb3, 0x81, 0xc0, 0x41, 0xd6, 0x84, 0x2e, 0xb8, 0x5b, - 0x3a, 0x4f, 0x89, 0x12, 0x73, 0xd5, 0xb5, 0x83, 0xd4, 0x9d, 0x34, 0xc1, 0xb2, 0x3c, 0x02, 0x61, 0x7d, 0x25, 0x49, - 0x10, 0x3a, 0xb6, 0x62, 0x77, 0x6b, 0x18, 0x00, 0xa4, 0xff, 0xe5, 0x67, 0xce, 0x0a, 0x80, 0x24, 0x52, 0xb1, 0x65, - 0x9d, 0x3f, 0x1e, 0x62, 0x93, 0xcc, 0xdb, 0xb0, 0x6a, 0xf5, 0x9b, 0x24, 0xef, 0xd9, 0x70, 0x47, 0xe1, 0xa2, 0x38, - 0x9f, 0xd7, 0xe8, 0x88, 0x71, 0xf0, 0x5d, 0x16, 0x2d, 0x03, 0xcc, 0x7f, 0x67, 0x26, 0x91, 0x3b, 0xfa, 0xb0, 0x91, - 0xbe, 0xc7, 0x45, 0xa2, 0x20, 0x2e, 0x2e, 0x2a, 0x15, 0xba, 0x2e, 0xa6, 0x8b, 0x60, 0x1d, 0xab, 0x11, 0x4b, 0x82, - 0x9a, 0xce, 0x43, 0xbb, 0xe9, 0x3e, 0x9b, 0x1c, 0x96, 0xe4, 0xa7, 0x8d, 0x56, 0x51, 0xba, 0x9e, 0x8d, 0x63, 0x1e, - 0xfe, 0xc2, 0x43, 0x2a, 0xfc, 0xf1, 0x9f, 0x8e, 0xf9, 0x37, 0x4b, 0x6b, 0xf4, 0x29, 0x43, 0x80, 0xf6, 0x05, 0xc5, - 0xb4, 0xac, 0xa6, 0xa9, 0x94, 0x6c, 0x1b, 0xd6, 0xc4, 0xf3, 0x7d, 0xd3, 0x07, 0xdb, 0xc6, 0xcd, 0x27, 0x4d, 0x0f, - 0xfb, 0x59, 0x42, 0xa2, 0xa2, 0x4f, 0xe8, 0xa7, 0xb8, 0x53, 0x92, 0xd9, 0x72, 0x3e, 0xdc, 0xc8, 0x82, 0x72, 0x49, - 0x7e, 0x5e, 0x95, 0x99, 0xcb, 0x9f, 0x9d, 0x4c, 0x26, 0x45, 0xa9, 0xb1, 0xad, 0x1c, 0xa2, 0xe4, 0xf7, 0xa1, 0x6d, - 0xdb, 0x65, 0xf8, 0x6e, 0x3b, 0x28, 0x74, 0x30, 0x4c, 0x14, 0xc2, 0xb7, 0xef, 0xde, 0x53, 0x7f, 0xd0, 0x68, 0xa9, - 0xab, 0x6d, 0xe7, 0x91, 0xb6, 0xda, 0x7f, 0xc4, 0x50, 0x10, 0x35, 0xdc, 0x75, 0xfc, 0xab, 0x7b, 0x65, 0x47, 0x4f, - 0xe5, 0x03, 0x7c, 0xbf, 0xc6, 0x77, 0xec, 0xf5, 0x3d, 0x9a, 0x6e, 0xdb, 0xde, 0xa9, 0x95, 0x93, 0xdd, 0x82, 0xcd, - 0x52, 0x97, 0x2c, 0x95, 0xbc, 0x84, 0xcd, 0xe3, 0xce, 0x88, 0xa1, 0x82, 0xd4, 0x92, 0xa8, 0x2d, 0x5a, 0xf5, 0x98, - 0x53, 0xb0, 0xe3, 0x72, 0x04, 0x1e, 0xb6, 0x15, 0x54, 0x56, 0x55, 0x34, 0x6b, 0xe2, 0x23, 0x48, 0xc5, 0x36, 0x55, - 0x85, 0x13, 0x6e, 0xd3, 0x96, 0xfd, 0x97, 0x42, 0x3d, 0x05, 0xb8, 0xd3, 0x8d, 0xb0, 0x36, 0x21, 0xe5, 0x09, 0xfe, - 0x9d, 0x29, 0xe7, 0x9e, 0x2d, 0xd6, 0x45, 0xe3, 0xae, 0x36, 0xa8, 0x9b, 0x72, 0x52, 0x46, 0xa3, 0xae, 0x43, 0x7d, - 0x99, 0x09, 0xd0, 0x44, 0xb6, 0x6e, 0x01, 0x0b, 0x9a, 0x42, 0x5a, 0xde, 0x1a, 0xdd, 0x18, 0x5e, 0x67, 0x61, 0xe7, - 0xe5, 0xf2, 0x7d, 0xfc, 0x05, 0x09, 0x4a, 0x21, 0xea, 0xf9, 0x5f, 0x8c, 0xa7, 0x6d, 0x54, 0xee, 0x15, 0xb6, 0x2a, - 0x9a, 0xca, 0xe0, 0x1e, 0x10, 0x37, 0x52, 0x65, 0x19, 0xf9, 0x26, 0xe5, 0xac, 0xd5, 0xf4, 0x4d, 0x75, 0xde, 0xdb, - 0xbb, 0x77, 0x5a, 0xa0, 0xd7, 0xa8, 0x82, 0x6a, 0x2f, 0xd5, 0x5e, 0x59, 0x87, 0x2d, 0xc6, 0x09, 0x2b, 0x00, 0x8e, - 0x34, 0x0a, 0x1a, 0x0d, 0x29, 0x25, 0xdc, 0x47, 0x93, 0xce, 0xde, 0xca, 0xc8, 0x5a, 0xcc, 0x13, 0xbb, 0xab, 0xaf, - 0x42, 0x7d, 0x0b, 0xcd, 0x20, 0xc0, 0x8e, 0x63, 0x27, 0x7c, 0x36, 0x61, 0xc7, 0xc8, 0xe8, 0xca, 0xc1, 0x1d, 0x84, - 0xa7, 0xd4, 0xa4, 0x58, 0xe8, 0x74, 0x4a, 0x51, 0x97, 0xf0, 0x6d, 0xad, 0xf0, 0xfe, 0xa2, 0x20, 0x8d, 0xe7, 0x9e, - 0xa8, 0x0d, 0x7d, 0xaf, 0xda, 0x73, 0x2f, 0xd8, 0xbf, 0xae, 0xbb, 0xde, 0xbb, 0x2e, 0x30, 0x87, 0x7b, 0x57, 0x06, - 0xee, 0x92, 0xac, 0x94, 0x92, 0xde, 0xb7, 0x92, 0xf2, 0x40, 0x8e, 0xa2, 0xa4, 0x62, 0x2b, 0xba, 0xd1, 0xff, 0xb0, - 0xec, 0x0d, 0x4e, 0x4e, 0xd7, 0x73, 0x5f, 0xb9, 0x61, 0x11, 0xe4, 0xef, 0xee, 0xa9, 0x8e, 0x65, 0xab, 0x0a, 0xc6, - 0x04, 0xf2, 0x82, 0x69, 0x4f, 0xfd, 0xe9, 0xe2, 0xb5, 0xd9, 0x56, 0x4f, 0xc1, 0x1c, 0xe3, 0x66, 0x8a, 0x2c, 0xee, - 0x99, 0x7b, 0xcb, 0xa2, 0xeb, 0x86, 0xaa, 0x60, 0x9a, 0x6e, 0x62, 0x6e, 0xb1, 0x4c, 0x69, 0xa8, 0x7b, 0x64, 0x83, - 0x55, 0x6e, 0x3c, 0xb6, 0x7a, 0x1e, 0xae, 0x7b, 0x2a, 0x20, 0x56, 0xa7, 0xd1, 0x56, 0x9c, 0xc6, 0xa1, 0x75, 0xd4, - 0x56, 0xfb, 0x5f, 0x28, 0xca, 0xc9, 0x98, 0x4d, 0xe2, 0x3e, 0x8a, 0x63, 0x4e, 0x90, 0x1f, 0xa4, 0xdf, 0x8a, 0x62, - 0x8d, 0xfc, 0xd8, 0x74, 0x94, 0x0d, 0x7f, 0x54, 0x14, 0x40, 0x46, 0x1d, 0xe5, 0xe1, 0xa4, 0x31, 0x39, 0x9c, 0x3c, - 0xeb, 0xf2, 0xe2, 0xf4, 0x8b, 0x42, 0x75, 0x83, 0xfe, 0x6d, 0x48, 0xcd, 0xe2, 0x24, 0x0a, 0x3f, 0x30, 0xce, 0x4b, - 0x2a, 0x99, 0xa0, 0xa8, 0xdc, 0xb4, 0x51, 0xfd, 0x92, 0xd3, 0x1e, 0x8e, 0x26, 0x8d, 0xbc, 0x3a, 0x8e, 0xf1, 0x20, - 0x1b, 0xe4, 0xc9, 0x81, 0x18, 0xfa, 0x89, 0x0c, 0x26, 0xc7, 0xac, 0x03, 0x94, 0xa3, 0xf2, 0x39, 0x4e, 0xc5, 0xfc, - 0x4e, 0x20, 0xd9, 0x4a, 0xee, 0xd2, 0x10, 0x63, 0xb3, 0x9e, 0xfa, 0xbd, 0xd3, 0x68, 0x1b, 0x8e, 0x73, 0x64, 0x1d, - 0xb5, 0x47, 0xb6, 0x71, 0x68, 0x1d, 0x9a, 0x4d, 0xeb, 0xc8, 0x68, 0x9b, 0x6d, 0xa3, 0xfd, 0x4d, 0x7b, 0x64, 0x1e, - 0x5a, 0x87, 0x86, 0x6d, 0xb6, 0xa1, 0xd0, 0x6c, 0x9b, 0xed, 0x1b, 0xf3, 0xb0, 0x3d, 0xb2, 0xb1, 0xb4, 0x61, 0xb5, - 0x5a, 0xa6, 0x63, 0x5b, 0xad, 0x96, 0xd1, 0xb2, 0x8e, 0x8e, 0x4c, 0xa7, 0x69, 0x1d, 0x1d, 0x9d, 0xb5, 0xda, 0x56, - 0x13, 0xde, 0x35, 0x9b, 0xa3, 0xa6, 0xe5, 0x38, 0x26, 0xfc, 0x65, 0xb4, 0xad, 0x06, 0xfd, 0x70, 0x1c, 0xab, 0xe9, - 0x18, 0xb6, 0xdf, 0x6a, 0x58, 0x47, 0xcf, 0x0c, 0xfc, 0x1b, 0xab, 0x19, 0xf8, 0x17, 0x74, 0x63, 0x3c, 0xb3, 0x1a, - 0x47, 0xf4, 0x0b, 0x3b, 0xbc, 0x39, 0x6c, 0xff, 0x43, 0x3d, 0xd8, 0x3a, 0x07, 0x87, 0xe6, 0xd0, 0x6e, 0x59, 0xcd, - 0xa6, 0x71, 0xe8, 0x58, 0xed, 0xe6, 0xcc, 0x3c, 0x6c, 0x58, 0x47, 0xc7, 0x23, 0xd3, 0xb1, 0x8e, 0x8f, 0x0d, 0xdb, - 0x6c, 0x5a, 0x0d, 0xc3, 0xb1, 0x0e, 0x9b, 0xf8, 0xa3, 0x69, 0x35, 0x6e, 0x8e, 0x9f, 0x59, 0x47, 0xad, 0xd9, 0x91, - 0x75, 0xf8, 0xfe, 0xb0, 0x6d, 0x35, 0x9a, 0xb3, 0xe6, 0x91, 0xd5, 0x38, 0xbe, 0x39, 0xb2, 0x0e, 0x67, 0x66, 0xe3, - 0x68, 0x67, 0x4b, 0xa7, 0x61, 0x01, 0x8c, 0xf0, 0x35, 0xbc, 0x30, 0xf8, 0x0b, 0xf8, 0x33, 0xc3, 0xb6, 0x7f, 0x60, - 0x37, 0x71, 0xb5, 0xe9, 0x33, 0xab, 0x7d, 0x3c, 0xa2, 0xea, 0x50, 0x60, 0x8a, 0x1a, 0xd0, 0xe4, 0xc6, 0xa4, 0xcf, - 0x62, 0x77, 0xa6, 0xe8, 0x48, 0xfc, 0xe1, 0x1f, 0xbb, 0x31, 0xe1, 0xc3, 0xf4, 0xdd, 0x3f, 0xb5, 0x9f, 0x6c, 0xc9, - 0x4f, 0x0e, 0xa6, 0xb4, 0xf5, 0xa7, 0xfd, 0x2f, 0x28, 0xb3, 0xf3, 0xc0, 0xf8, 0x65, 0x9b, 0x52, 0xf2, 0x9f, 0x77, - 0x2b, 0x25, 0x9f, 0x2f, 0xf7, 0x51, 0x4a, 0xfe, 0xf3, 0xb3, 0x2b, 0x25, 0x7f, 0x29, 0xfb, 0xd6, 0xbc, 0x2e, 0x27, - 0xa0, 0xfc, 0x76, 0x53, 0x16, 0x39, 0x04, 0xae, 0x76, 0xf9, 0xc3, 0xf2, 0x0a, 0x82, 0xca, 0xbe, 0x0e, 0x7b, 0xcf, - 0x97, 0x05, 0x83, 0xcf, 0x10, 0x70, 0xec, 0xeb, 0x90, 0x70, 0xec, 0xfb, 0x65, 0x0f, 0xac, 0xcc, 0x38, 0x9b, 0xe3, - 0x8d, 0xcd, 0x99, 0xeb, 0x4f, 0x32, 0x16, 0x09, 0x4a, 0xba, 0x58, 0x0c, 0xce, 0x74, 0x40, 0x9e, 0xe1, 0x26, 0xb3, - 0x9c, 0x07, 0x31, 0x58, 0x04, 0x83, 0x25, 0xc7, 0x24, 0x4a, 0x4b, 0x8d, 0x2d, 0x11, 0x86, 0xf7, 0x9a, 0x7b, 0x59, - 0x6d, 0x7d, 0x8f, 0x06, 0xc0, 0xf5, 0xbd, 0x3b, 0xd5, 0x7e, 0x15, 0xb0, 0xac, 0x13, 0x06, 0xd2, 0xc0, 0xed, 0xd7, - 0xbd, 0x2f, 0x9a, 0xe1, 0x96, 0x0c, 0xaf, 0xb7, 0x8f, 0x14, 0x46, 0x52, 0x6e, 0xef, 0x14, 0xcd, 0x78, 0xef, 0x9a, - 0x66, 0xcd, 0xe7, 0x0b, 0xcd, 0x77, 0xd8, 0x10, 0x67, 0x1d, 0x97, 0x41, 0xb5, 0x29, 0xf0, 0x69, 0xf5, 0x00, 0xc9, - 0x2f, 0xa8, 0xb9, 0xa1, 0x71, 0xce, 0xa9, 0xda, 0x0a, 0xf2, 0x3b, 0xb6, 0xf4, 0xae, 0xd0, 0xa7, 0x6c, 0x9c, 0xfc, - 0x64, 0x83, 0xf7, 0x0a, 0xef, 0x17, 0xe0, 0x44, 0x39, 0xc7, 0x33, 0x0c, 0x65, 0x38, 0x6f, 0xa4, 0x7e, 0x49, 0x1a, - 0x91, 0xce, 0x9c, 0x4d, 0x95, 0x17, 0xdd, 0xea, 0x96, 0xe0, 0xb0, 0xb9, 0xe0, 0x82, 0xf0, 0xf3, 0xe4, 0x04, 0x90, - 0x92, 0xa3, 0x06, 0xfa, 0x39, 0xec, 0xea, 0x4c, 0xd4, 0x7b, 0x08, 0x9b, 0x98, 0x67, 0x03, 0x50, 0xe4, 0x38, 0x67, - 0x9b, 0x89, 0x1f, 0xba, 0x49, 0x07, 0xd9, 0x34, 0x89, 0xe5, 0x6d, 0xa0, 0xc7, 0x42, 0x77, 0x87, 0x31, 0x9d, 0xdc, - 0x31, 0xef, 0x04, 0x3d, 0x1f, 0x76, 0xd9, 0xdf, 0x65, 0x0e, 0x67, 0x9b, 0x82, 0x39, 0x8a, 0xd3, 0x3a, 0x36, 0x9c, - 0x23, 0xc3, 0x3a, 0x6e, 0xe9, 0xa9, 0x38, 0x70, 0x72, 0x97, 0x05, 0x80, 0x80, 0x03, 0x44, 0x36, 0x4c, 0x2f, 0xf0, - 0x12, 0xcf, 0xf5, 0x53, 0xe0, 0x87, 0x8b, 0x97, 0x94, 0x7f, 0x2e, 0xe3, 0x04, 0xe6, 0x28, 0x98, 0x5e, 0x74, 0xfe, - 0x30, 0x87, 0x2c, 0x59, 0x31, 0x16, 0x6c, 0x31, 0x8c, 0x29, 0xfb, 0x92, 0xfc, 0x7e, 0x96, 0xf5, 0x29, 0x59, 0xad, - 0x0d, 0x93, 0x80, 0xef, 0x0f, 0xe1, 0xf8, 0x90, 0x0e, 0x8c, 0x6f, 0xb6, 0x21, 0xdc, 0x9f, 0xee, 0x46, 0xb8, 0x09, - 0xdb, 0x07, 0xe1, 0xfe, 0xf4, 0xd9, 0x11, 0xee, 0x37, 0x32, 0xc2, 0x2d, 0xf8, 0x0f, 0xe6, 0x1a, 0xa6, 0x73, 0x7c, - 0xd6, 0x20, 0x27, 0xd7, 0x53, 0xf5, 0x80, 0x18, 0x78, 0x55, 0xcf, 0x13, 0xd7, 0xfd, 0xad, 0x90, 0x22, 0x1c, 0x05, - 0xa0, 0x98, 0xef, 0x89, 0xd2, 0x11, 0x7b, 0xe0, 0xea, 0x96, 0xa5, 0x24, 0x66, 0x2b, 0xe5, 0x4d, 0x90, 0xf8, 0xd6, - 0x3b, 0x7e, 0x8f, 0x04, 0x85, 0xee, 0xeb, 0x30, 0x9a, 0xbb, 0x18, 0x77, 0x5c, 0xd5, 0xc1, 0x9d, 0x0e, 0x1e, 0x6c, - 0xf0, 0x0e, 0x1e, 0x85, 0xc1, 0x38, 0xd3, 0x4a, 0xb2, 0xde, 0x25, 0x71, 0xdc, 0xea, 0x2d, 0x73, 0x23, 0xd5, 0xa0, - 0xd7, 0xb0, 0xb8, 0x4f, 0x9a, 0xf6, 0x93, 0xc6, 0xe1, 0x93, 0x23, 0x1b, 0xfe, 0x77, 0x58, 0x33, 0x35, 0x78, 0xc5, - 0x79, 0x18, 0x40, 0x76, 0x63, 0x51, 0x73, 0x5b, 0xb5, 0x15, 0x63, 0x1f, 0xf2, 0x5a, 0xc7, 0xf5, 0x95, 0xc6, 0xee, - 0x6d, 0x5e, 0xa7, 0xb6, 0xc6, 0x2c, 0x5c, 0x4a, 0xc3, 0xaa, 0x19, 0x8d, 0x17, 0x2c, 0x41, 0xce, 0x2e, 0xd5, 0x90, - 0x5f, 0xf3, 0xe9, 0xe6, 0xf3, 0x62, 0xcd, 0xf4, 0x2a, 0x4f, 0xa1, 0x2e, 0x32, 0xe9, 0xdd, 0x09, 0x41, 0xae, 0xa2, - 0xb4, 0x31, 0x11, 0x05, 0xa6, 0x38, 0x82, 0x34, 0x14, 0x59, 0xe2, 0x6b, 0x97, 0x16, 0x28, 0x89, 0x96, 0xc1, 0x48, - 0xc3, 0x9f, 0xee, 0x30, 0xd6, 0xbc, 0x83, 0xc8, 0xe2, 0x1f, 0xd6, 0x71, 0xd5, 0xdc, 0xbe, 0x9d, 0xe7, 0x9b, 0x8d, - 0xc5, 0xaa, 0xb8, 0x4f, 0x12, 0x23, 0x42, 0x3d, 0x36, 0x2d, 0xad, 0xd9, 0x73, 0x9f, 0x64, 0x0d, 0x9f, 0x24, 0x46, - 0xf0, 0x14, 0x74, 0x9f, 0x3d, 0xfb, 0xf1, 0x63, 0xaa, 0xf5, 0xa0, 0x27, 0xa6, 0x75, 0x3a, 0xca, 0xc3, 0x55, 0x2b, - 0xee, 0x34, 0xa4, 0x88, 0xd5, 0x9d, 0x91, 0x11, 0x3e, 0x7d, 0xda, 0xef, 0x39, 0x3a, 0xe6, 0x32, 0x4f, 0x45, 0x0c, - 0xd0, 0x00, 0x53, 0xd3, 0x9d, 0xed, 0x67, 0x68, 0xa4, 0xd7, 0xba, 0xd2, 0x2e, 0xe0, 0xce, 0x64, 0x0b, 0x77, 0x04, - 0x8e, 0xbd, 0x20, 0x6d, 0x2d, 0x19, 0x14, 0xb8, 0xc2, 0xe0, 0x47, 0xd4, 0xc9, 0x6e, 0x5d, 0x4d, 0xcb, 0xb6, 0x6c, - 0x35, 0x6b, 0x38, 0xf1, 0xa6, 0xbd, 0x4d, 0x98, 0xb8, 0x90, 0x00, 0xdc, 0x0f, 0xa7, 0xe0, 0x47, 0x97, 0x78, 0x89, - 0x0f, 0xd9, 0xa4, 0xc1, 0xa1, 0x6e, 0x4e, 0xf7, 0xf2, 0x94, 0x7b, 0x37, 0xb8, 0x11, 0x64, 0x2c, 0x8d, 0x6e, 0x85, - 0x2b, 0x2e, 0x46, 0x50, 0xfd, 0x1e, 0x88, 0xa1, 0xa6, 0x6a, 0x20, 0x1b, 0x60, 0x51, 0x6c, 0xca, 0xde, 0x42, 0x1d, - 0x05, 0xda, 0xe8, 0x2a, 0x9f, 0xc4, 0x24, 0x72, 0xe7, 0x90, 0x52, 0x6f, 0x93, 0x1a, 0x1c, 0xd3, 0xaa, 0x1c, 0xd5, - 0x2a, 0xce, 0xb3, 0x23, 0x43, 0x69, 0x38, 0x86, 0x62, 0x03, 0xba, 0x55, 0x53, 0x63, 0x93, 0x5e, 0x75, 0xef, 0x32, - 0x78, 0x20, 0xfc, 0xf2, 0x90, 0xe6, 0x41, 0xa6, 0x0e, 0x5c, 0x95, 0x94, 0x50, 0xe4, 0x7c, 0x4d, 0x4a, 0xa5, 0xe5, - 0x91, 0xd2, 0xf3, 0x82, 0xad, 0x13, 0x1d, 0xb3, 0x2d, 0xf3, 0x2a, 0x9e, 0xbe, 0x41, 0x87, 0x61, 0x2f, 0x50, 0xbc, - 0x8f, 0x1f, 0x35, 0x0f, 0x9c, 0x99, 0x7a, 0x12, 0x7c, 0xe0, 0x59, 0x2f, 0x00, 0xcc, 0xcb, 0xd5, 0xf4, 0x08, 0x2c, - 0xf0, 0x34, 0x84, 0x7f, 0xf3, 0x62, 0xf1, 0x83, 0x9b, 0x49, 0x58, 0xbe, 0x1b, 0x4c, 0x01, 0xa5, 0xb9, 0xc1, 0xb4, - 0x62, 0x8e, 0x45, 0x3e, 0xcf, 0xa5, 0xd2, 0xbc, 0xab, 0xdc, 0x54, 0x2a, 0x7e, 0x7e, 0x7b, 0x41, 0xd9, 0xe4, 0x35, - 0x15, 0xa8, 0x1c, 0xba, 0xe8, 0xe6, 0x9a, 0xdc, 0xa7, 0xbd, 0x2f, 0x4f, 0xe6, 0x2c, 0x71, 0x49, 0x0d, 0x04, 0x97, - 0x5f, 0x60, 0x07, 0x14, 0x4e, 0x68, 0x78, 0x54, 0xc2, 0x1e, 0x25, 0xd8, 0x20, 0x3a, 0x61, 0x28, 0x9c, 0x4e, 0x99, - 0x68, 0xf1, 0xd9, 0x73, 0x0c, 0x72, 0x38, 0x18, 0xb9, 0x18, 0x64, 0xbf, 0x17, 0x84, 0x6a, 0xff, 0xcb, 0xcc, 0x37, - 0x73, 0xdb, 0x22, 0xf8, 0x5e, 0xf0, 0xe1, 0x32, 0x62, 0xfe, 0xbf, 0x7a, 0x5f, 0x02, 0xe1, 0xfe, 0xf2, 0x4a, 0xd5, - 0xbb, 0x89, 0x35, 0x8b, 0xd8, 0xa4, 0xf7, 0x25, 0xa6, 0xdd, 0x45, 0xf3, 0x58, 0xe0, 0xda, 0x9f, 0xae, 0xe7, 0xbe, - 0x81, 0xd7, 0x7b, 0x1a, 0x8b, 0xda, 0x6c, 0xe4, 0xc1, 0x4e, 0x9b, 0x7b, 0x5d, 0xea, 0xfb, 0xfc, 0xb6, 0x0e, 0x37, - 0xc0, 0x4d, 0xe1, 0x8e, 0xed, 0x74, 0xf1, 0xfe, 0x3c, 0xf4, 0xdd, 0xd1, 0x87, 0x2e, 0xbd, 0x29, 0x3c, 0x98, 0x40, - 0xad, 0x47, 0xee, 0xa2, 0x83, 0xe4, 0x55, 0x2e, 0x04, 0xef, 0x69, 0x2a, 0xcd, 0x38, 0xbb, 0xda, 0xbd, 0x8c, 0x5b, - 0x79, 0x83, 0x5f, 0xc6, 0x4f, 0xad, 0x66, 0x5e, 0xc2, 0xc4, 0xa7, 0xf0, 0x21, 0x4d, 0xc5, 0x45, 0x9d, 0xae, 0xa8, - 0x78, 0xb1, 0xb6, 0x9a, 0x8a, 0xd3, 0xfe, 0xa6, 0x75, 0xe3, 0xd8, 0xb3, 0x86, 0x63, 0xb5, 0xdf, 0x3b, 0xed, 0x59, - 0xd3, 0x3a, 0xf6, 0xcd, 0xa6, 0x75, 0x0c, 0x7f, 0xde, 0x1f, 0x5b, 0xed, 0x99, 0xd9, 0xb0, 0x0e, 0xdf, 0x3b, 0x0d, - 0xdf, 0x6c, 0x5b, 0xc7, 0xf0, 0xe7, 0x8c, 0x5a, 0xc1, 0x05, 0x88, 0xee, 0x3b, 0x5f, 0x16, 0xb0, 0x80, 0xf4, 0x3b, - 0xd3, 0xc9, 0x1a, 0x05, 0xf2, 0x56, 0xa3, 0xd7, 0x05, 0x94, 0x41, 0xb9, 0xe6, 0xd0, 0x14, 0xa1, 0xab, 0x05, 0x3d, - 0x46, 0xd9, 0xe5, 0x84, 0x79, 0x9b, 0xf0, 0x43, 0x17, 0x29, 0xbe, 0x6a, 0x8f, 0x11, 0x6f, 0x53, 0x9f, 0xd6, 0x4a, - 0xa4, 0x9f, 0x27, 0x45, 0xf0, 0x4f, 0x0b, 0x0c, 0xca, 0x2a, 0xb2, 0x31, 0x4a, 0x58, 0x09, 0x7c, 0xcf, 0xad, 0x20, - 0x5c, 0xa1, 0x6d, 0xc5, 0x5d, 0x03, 0x47, 0x6f, 0x7e, 0x96, 0xa5, 0xe0, 0xfe, 0xac, 0x7d, 0x4b, 0x49, 0x2f, 0x3f, - 0xa9, 0x1f, 0x4c, 0x07, 0x98, 0x67, 0xf2, 0x83, 0x5c, 0x16, 0x63, 0x2f, 0xca, 0x86, 0x27, 0xa1, 0x68, 0xa7, 0x3e, - 0x1f, 0x98, 0x0e, 0xb9, 0x8a, 0xdf, 0x00, 0x97, 0x7c, 0xe3, 0xfa, 0x92, 0x21, 0x9b, 0xd4, 0xf2, 0x41, 0x86, 0xf9, - 0x1f, 0x3f, 0xce, 0x07, 0x67, 0x96, 0xc6, 0x7d, 0xe2, 0xb4, 0x80, 0xec, 0xb6, 0x58, 0x73, 0xa7, 0x4d, 0x25, 0xdd, - 0x74, 0x76, 0xf9, 0x56, 0xe7, 0xe9, 0x0f, 0x84, 0xdd, 0x94, 0xb0, 0xd8, 0xd8, 0x6a, 0xd8, 0x59, 0xb1, 0xd7, 0x80, - 0xfc, 0x31, 0xa5, 0xab, 0x8e, 0xaa, 0x77, 0x03, 0x61, 0x7e, 0x10, 0xec, 0xc8, 0xfc, 0xc2, 0xef, 0x62, 0x2a, 0x80, - 0x66, 0xc7, 0x3c, 0xee, 0x70, 0x10, 0xff, 0xb3, 0x27, 0x81, 0xce, 0x9a, 0x60, 0x2f, 0x51, 0x3a, 0xad, 0x05, 0xe7, - 0xbd, 0x8c, 0xae, 0x12, 0x41, 0x65, 0xf1, 0xa9, 0x0a, 0x45, 0x90, 0xc4, 0x1e, 0x70, 0xa3, 0x9a, 0x19, 0x8b, 0x66, - 0xd4, 0x22, 0x2f, 0x30, 0x3c, 0xcc, 0xb2, 0x25, 0x1c, 0x47, 0xf5, 0xc7, 0x8f, 0xb7, 0x12, 0x21, 0x32, 0xce, 0x89, - 0x59, 0x92, 0x65, 0xd6, 0x56, 0x65, 0xfc, 0xa6, 0xca, 0x28, 0x26, 0xeb, 0x17, 0xb1, 0x86, 0xb0, 0x71, 0xa5, 0xbd, - 0x87, 0x3f, 0x87, 0xcc, 0x4d, 0x2c, 0xae, 0x2c, 0xd5, 0x24, 0xe2, 0x6e, 0x38, 0xac, 0x09, 0xd6, 0xad, 0x3c, 0x76, - 0x73, 0x96, 0xa0, 0xf7, 0x6f, 0x4b, 0x1e, 0xd5, 0x01, 0xfa, 0xf8, 0x68, 0xe7, 0xc1, 0xb9, 0xde, 0x26, 0x2e, 0x85, - 0x24, 0x93, 0x49, 0x6e, 0x98, 0xb8, 0x22, 0x59, 0x34, 0xf0, 0xe5, 0xf5, 0x01, 0x59, 0xa4, 0xc8, 0x0f, 0xfd, 0xb7, - 0x17, 0x5f, 0x2b, 0x7c, 0xff, 0x93, 0xb5, 0x00, 0x5e, 0x64, 0x28, 0xe7, 0x5c, 0x8f, 0x72, 0xce, 0x29, 0x3c, 0xbd, - 0xa1, 0x8a, 0xd9, 0x82, 0x09, 0x82, 0x28, 0x80, 0x26, 0x1b, 0x8a, 0xf9, 0xd2, 0x4f, 0xbc, 0x85, 0x1b, 0x25, 0x07, - 0x98, 0x70, 0x0e, 0x90, 0x9c, 0xba, 0x2d, 0x1e, 0x04, 0x99, 0x61, 0x88, 0x90, 0xe1, 0x49, 0x20, 0xec, 0x30, 0x26, - 0x9e, 0x9f, 0x99, 0x61, 0x88, 0x0f, 0xb8, 0xa3, 0x11, 0x5b, 0x24, 0xbd, 0x42, 0x62, 0xbb, 0x70, 0x94, 0xb0, 0xc4, - 0x8c, 0x93, 0x88, 0xb9, 0x73, 0x35, 0x4b, 0x4d, 0x51, 0xed, 0x2f, 0x5e, 0x0e, 0xe7, 0x5e, 0x92, 0xc5, 0x76, 0xa7, - 0x09, 0x82, 0x41, 0x04, 0x0c, 0x11, 0x82, 0xcc, 0x10, 0x08, 0xcf, 0xc2, 0x69, 0x69, 0x47, 0xe5, 0x9c, 0xcb, 0x29, - 0x66, 0x0e, 0xa1, 0x9b, 0x0c, 0x48, 0x8b, 0x47, 0xa1, 0x7f, 0xcd, 0x63, 0x58, 0x64, 0x21, 0xe8, 0xd5, 0xfe, 0x09, - 0xbf, 0xde, 0x2a, 0x18, 0xbe, 0x45, 0x6d, 0xd9, 0x90, 0x1b, 0x65, 0x5b, 0x74, 0x8b, 0x03, 0x5e, 0x19, 0x48, 0x13, - 0xf5, 0x8c, 0xe9, 0xad, 0x68, 0x2c, 0x17, 0xc0, 0x08, 0x15, 0x0c, 0x66, 0x66, 0x4e, 0x3f, 0x73, 0xa7, 0xc4, 0x51, - 0x21, 0xaf, 0xf4, 0xf1, 0xe3, 0xf9, 0xe0, 0xd7, 0x7f, 0x43, 0x0e, 0xae, 0x99, 0x23, 0x62, 0x4a, 0x5c, 0xca, 0xb5, - 0x38, 0xf7, 0x69, 0x0c, 0xd0, 0x58, 0x8a, 0x8d, 0x45, 0x08, 0x20, 0xb1, 0xb5, 0xd2, 0xc1, 0x95, 0x08, 0x0e, 0x0c, - 0xd9, 0xfb, 0x74, 0x11, 0xf9, 0x02, 0x93, 0x41, 0x0f, 0x44, 0x4c, 0x14, 0xe5, 0xe7, 0xf5, 0xf3, 0x63, 0x25, 0x8f, - 0xa9, 0x54, 0x67, 0xd1, 0x43, 0x7b, 0xa8, 0x7f, 0xe2, 0x2a, 0xc8, 0xb4, 0x20, 0xfb, 0x11, 0x77, 0x0e, 0x60, 0x9a, - 0xb3, 0x70, 0xce, 0x2c, 0x2f, 0x3c, 0x58, 0xb1, 0xa1, 0xe9, 0x2e, 0x3c, 0xb2, 0xcb, 0x41, 0xb9, 0x9b, 0x42, 0x9c, - 0x5f, 0x66, 0xee, 0x42, 0xfc, 0x75, 0x9a, 0x83, 0x32, 0x2c, 0x46, 0x83, 0x6e, 0x35, 0x72, 0x3d, 0xe0, 0x21, 0x05, - 0x80, 0x13, 0x70, 0x0c, 0xfb, 0x27, 0x07, 0x6e, 0xbf, 0x18, 0x8e, 0xde, 0x12, 0x69, 0xd5, 0x8a, 0x44, 0xe0, 0x94, - 0xa2, 0xca, 0x8b, 0x00, 0xf2, 0xf9, 0x83, 0x19, 0x4e, 0x26, 0x72, 0x08, 0x79, 0xab, 0x38, 0xbc, 0x0c, 0x68, 0xf9, - 0x96, 0x0e, 0x17, 0xf4, 0xa5, 0xea, 0x27, 0xb2, 0x9f, 0x6a, 0x07, 0x73, 0x47, 0xc0, 0x9c, 0xe1, 0xb8, 0x57, 0x42, - 0xd1, 0x67, 0x10, 0x7b, 0x48, 0x95, 0x38, 0x1e, 0x29, 0x27, 0x3e, 0xda, 0xc2, 0xb9, 0x3c, 0xe8, 0xf5, 0x08, 0xcd, - 0x95, 0xb1, 0x1d, 0x00, 0xb1, 0x26, 0xc5, 0x1c, 0x4c, 0x36, 0x81, 0x86, 0x26, 0xb9, 0xcb, 0x62, 0xa3, 0xf2, 0x74, - 0xaa, 0x63, 0x3c, 0x70, 0xc5, 0xf6, 0x2b, 0x6c, 0x50, 0xd8, 0x78, 0x7c, 0xdd, 0x01, 0xbf, 0x8b, 0x7e, 0x4a, 0x68, - 0x5e, 0xf9, 0x8a, 0x30, 0xba, 0xe9, 0xbb, 0xb7, 0xa1, 0x64, 0xc6, 0xc4, 0x23, 0x9a, 0x9c, 0x61, 0xe9, 0x85, 0xf0, - 0x24, 0xae, 0x1c, 0x34, 0x24, 0x61, 0x90, 0x8a, 0xab, 0x7a, 0xd8, 0x72, 0xfa, 0xeb, 0xb3, 0xbb, 0xce, 0x9a, 0x5c, - 0xb7, 0x38, 0x19, 0x44, 0x9e, 0x69, 0x7e, 0x0e, 0x0b, 0x2f, 0x11, 0x2d, 0xa4, 0x27, 0x07, 0x30, 0x3f, 0x88, 0xc2, - 0x52, 0x60, 0x9c, 0x3c, 0x1d, 0x42, 0xbd, 0xb8, 0x31, 0x99, 0x62, 0xbd, 0x19, 0x0b, 0x9e, 0x0f, 0x2f, 0x96, 0x52, - 0x82, 0x59, 0xa9, 0x4a, 0x95, 0x97, 0xb1, 0xeb, 0x99, 0xc0, 0xbb, 0xf3, 0xd6, 0xbd, 0x5f, 0x62, 0xd2, 0xba, 0xb4, - 0x9b, 0x30, 0x11, 0xe4, 0xe0, 0x2c, 0xd9, 0x12, 0x07, 0x61, 0x5b, 0x15, 0xe2, 0x67, 0x77, 0x54, 0xc8, 0xf7, 0xf1, - 0xae, 0x5a, 0x39, 0xe7, 0x94, 0x55, 0x9b, 0xba, 0x9a, 0xfa, 0x10, 0x77, 0x7c, 0xa5, 0x36, 0x96, 0x42, 0xbd, 0xb3, - 0xa4, 0x07, 0x55, 0x85, 0x2c, 0xde, 0x5d, 0x2c, 0xa8, 0xb2, 0xde, 0x3d, 0x39, 0xa0, 0x6b, 0x69, 0x9f, 0x76, 0x58, - 0xff, 0x04, 0x4c, 0xb9, 0x69, 0xd1, 0xdd, 0xc5, 0x82, 0x2f, 0x29, 0xfd, 0xa2, 0x37, 0x07, 0xb3, 0x64, 0xee, 0xf7, - 0xff, 0x17, 0x99, 0x05, 0x40, 0xf2, 0xa6, 0x72, 0x03, 0x00}; + 0xf6, 0xb9, 0x98, 0x8b, 0x85, 0x13, 0xe5, 0x48, 0x85, 0x7f, 0x26, 0x47, 0x29, 0x87, 0xab, 0x58, 0x58, 0x30, 0xe4, + 0x57, 0x47, 0x17, 0x85, 0xbc, 0x02, 0x49, 0x89, 0x61, 0xa8, 0x2c, 0xaf, 0x8b, 0xab, 0xb6, 0x24, 0xb4, 0xb7, 0x01, + 0x50, 0x9a, 0x02, 0x04, 0x2f, 0x8d, 0x1a, 0x62, 0xb6, 0x55, 0xbb, 0x2b, 0xba, 0x93, 0x1c, 0x50, 0xa7, 0xbb, 0x76, + 0xeb, 0x4d, 0xd9, 0xaa, 0x5b, 0x71, 0xe1, 0x0f, 0x50, 0xfa, 0x29, 0x1f, 0x14, 0x3e, 0x95, 0xc0, 0x8d, 0xaf, 0x36, + 0x59, 0x76, 0xb1, 0xc1, 0xa5, 0x5f, 0x35, 0xc6, 0xaf, 0xdf, 0xef, 0xa9, 0x85, 0xd0, 0x48, 0x05, 0xe6, 0xdb, 0x67, + 0xa6, 0x2a, 0xa3, 0x29, 0xb5, 0x97, 0xe0, 0xca, 0xd9, 0x8f, 0xa0, 0x22, 0xae, 0x2b, 0x52, 0x9b, 0x1a, 0xa0, 0x03, + 0x2f, 0x2b, 0xdc, 0xca, 0x02, 0x3c, 0x76, 0x02, 0xb2, 0xdb, 0xf1, 0x30, 0xd0, 0x87, 0x4e, 0xe0, 0x6f, 0xc9, 0xd7, + 0xc8, 0xac, 0xd9, 0xc7, 0x7f, 0x68, 0xc1, 0x3f, 0xb6, 0xe0, 0x27, 0x14, 0x77, 0x5a, 0x99, 0x7f, 0x2b, 0xad, 0x5b, + 0xdc, 0xbf, 0x97, 0x69, 0x42, 0x51, 0x99, 0x50, 0xfb, 0x95, 0x56, 0x6b, 0xa3, 0xc6, 0xc0, 0xec, 0x1f, 0x25, 0x7c, + 0x30, 0x6b, 0x3c, 0xb1, 0xc6, 0x93, 0xe1, 0x74, 0x2b, 0x0d, 0xcb, 0x80, 0x42, 0x3f, 0x2f, 0x73, 0x45, 0xf5, 0xf3, + 0xcf, 0x6b, 0xbe, 0xe6, 0xcd, 0x16, 0xdb, 0xa4, 0x7b, 0x1a, 0xec, 0xe5, 0xd1, 0x94, 0xc2, 0x49, 0xd4, 0xb9, 0x91, + 0xa8, 0x8b, 0x9a, 0x65, 0xa8, 0x4e, 0xf0, 0x6a, 0x9e, 0xea, 0x61, 0x6f, 0x26, 0xa2, 0xb5, 0x92, 0xb2, 0xc4, 0x80, + 0xb5, 0x8e, 0x3c, 0x24, 0x77, 0x6b, 0x1d, 0x77, 0x1a, 0xea, 0xd2, 0x14, 0x6a, 0x82, 0x15, 0x2e, 0xc0, 0x11, 0xf4, + 0xbe, 0x08, 0x39, 0x5c, 0x53, 0x95, 0x7e, 0x41, 0x53, 0xf2, 0xc4, 0x53, 0xd4, 0x6a, 0x45, 0xba, 0xfd, 0x28, 0xc7, + 0x6e, 0xf8, 0xc6, 0x09, 0x39, 0x31, 0x42, 0x7f, 0x77, 0x2c, 0xe5, 0x0c, 0x2d, 0x1e, 0xd4, 0x09, 0xd6, 0xcb, 0x5b, + 0x0a, 0x14, 0x73, 0x74, 0x59, 0x75, 0xcd, 0x2b, 0xb4, 0x7d, 0x59, 0xf6, 0xfb, 0xb9, 0xad, 0x27, 0x65, 0x27, 0xdb, + 0xa5, 0xd9, 0x87, 0xa8, 0x98, 0xc2, 0x5d, 0x9f, 0x68, 0xfe, 0x2a, 0xd4, 0x57, 0x6d, 0x99, 0xf3, 0x11, 0x47, 0x9c, + 0x90, 0x9c, 0xd4, 0xff, 0x50, 0x53, 0xaf, 0xc4, 0xfd, 0xaa, 0x92, 0x97, 0xc2, 0x58, 0x31, 0x5a, 0x62, 0x88, 0x22, + 0xed, 0xde, 0x98, 0xbe, 0x2a, 0x00, 0xfe, 0x4a, 0xb0, 0x3f, 0xd3, 0x50, 0x2b, 0xbf, 0x45, 0x5b, 0xc0, 0xbf, 0x55, + 0xdc, 0x80, 0x55, 0x60, 0x80, 0xd1, 0x64, 0x7b, 0x4e, 0x13, 0x38, 0xe0, 0x84, 0x56, 0x51, 0x50, 0x61, 0x86, 0x86, + 0xda, 0xc2, 0xe8, 0x6b, 0x94, 0x71, 0xab, 0xcc, 0xde, 0x8d, 0xb1, 0xd3, 0x02, 0xaf, 0xe1, 0xdf, 0xe8, 0x85, 0x62, + 0x36, 0xea, 0x20, 0x3d, 0x3a, 0x89, 0xe9, 0x8f, 0x5b, 0x38, 0xb9, 0x59, 0x38, 0xcb, 0x9a, 0x25, 0xd0, 0x1d, 0xb8, + 0x20, 0xc6, 0xfd, 0x7e, 0x0e, 0x47, 0xa6, 0x19, 0xf9, 0x82, 0xe5, 0x34, 0x66, 0x4b, 0xaa, 0x3d, 0x0f, 0x2f, 0xab, + 0x30, 0xa7, 0x4b, 0x2b, 0xe3, 0x4d, 0x19, 0xa8, 0x8c, 0x76, 0xbb, 0x10, 0xfe, 0x74, 0x5b, 0xbb, 0xa4, 0xf3, 0x25, + 0x64, 0x80, 0x3f, 0x20, 0x11, 0x45, 0x2c, 0xf0, 0xff, 0xa8, 0x71, 0x4a, 0x4f, 0x94, 0xd6, 0x2c, 0x81, 0xe0, 0x71, + 0xaa, 0x7e, 0x7a, 0xc1, 0xd6, 0x8d, 0xa5, 0xb0, 0xdb, 0x85, 0xcd, 0x04, 0xa6, 0x39, 0x57, 0x32, 0xbd, 0x40, 0x9d, + 0x14, 0x50, 0xb1, 0xf0, 0x02, 0x97, 0x5f, 0x4a, 0x28, 0x34, 0x77, 0xbe, 0x5c, 0x18, 0x25, 0x26, 0xb4, 0x4a, 0x7e, + 0xfd, 0x50, 0x99, 0xaf, 0x8d, 0x87, 0x60, 0xb5, 0x0e, 0x13, 0x53, 0x24, 0x2a, 0x44, 0x67, 0x2f, 0x41, 0x96, 0x23, + 0x00, 0xd7, 0xf3, 0xb5, 0xac, 0x29, 0x5f, 0x43, 0x5c, 0x78, 0x68, 0xd0, 0xbb, 0x42, 0x5e, 0x65, 0x25, 0x0f, 0xf1, + 0x9e, 0xe0, 0x69, 0x46, 0xef, 0x36, 0xf8, 0xd0, 0xd6, 0x1e, 0x3d, 0x41, 0xb6, 0x9e, 0x72, 0xbf, 0x7e, 0x29, 0xc2, + 0x39, 0x44, 0xef, 0x5c, 0x50, 0xad, 0xae, 0x76, 0x80, 0x5c, 0x9e, 0xed, 0xd5, 0x3b, 0x38, 0xdd, 0xf4, 0xf5, 0xad, + 0x0a, 0x9d, 0x39, 0x80, 0xb4, 0x87, 0x64, 0x5d, 0x73, 0xbd, 0x03, 0xdc, 0x91, 0x98, 0xad, 0x81, 0xc6, 0xba, 0xad, + 0xd9, 0x69, 0x8f, 0xe2, 0x31, 0x91, 0x99, 0xb1, 0x48, 0x31, 0xe6, 0x6e, 0x9d, 0x16, 0x45, 0x5b, 0x34, 0x43, 0xd8, + 0xbf, 0xeb, 0x88, 0x75, 0x2b, 0xe2, 0xfc, 0xdd, 0xb6, 0x2f, 0x30, 0x1a, 0xc6, 0x5c, 0xbb, 0xe7, 0x19, 0xba, 0x61, + 0x83, 0x6d, 0x24, 0x41, 0x44, 0x82, 0xcc, 0xd4, 0x81, 0x28, 0x6b, 0x6b, 0xc0, 0xf6, 0x8e, 0xeb, 0x4d, 0x0b, 0xfc, + 0xbc, 0x89, 0xc1, 0xdb, 0xb3, 0xc6, 0x29, 0xad, 0xaf, 0x71, 0xcd, 0x71, 0x55, 0x88, 0xa8, 0x2d, 0x52, 0x00, 0x0c, + 0x3b, 0x5f, 0xe0, 0xce, 0xac, 0x30, 0x98, 0x13, 0x96, 0x4a, 0xf6, 0x2a, 0xd7, 0x9f, 0xc3, 0x16, 0x07, 0xa9, 0x7c, + 0xe9, 0xf5, 0xf7, 0x1f, 0xbe, 0xf8, 0x02, 0xdd, 0xf6, 0x9c, 0x1f, 0x41, 0x90, 0x09, 0x74, 0x50, 0x53, 0xaa, 0xc7, + 0x97, 0x05, 0x50, 0x7b, 0x98, 0x87, 0x97, 0x05, 0x13, 0xf1, 0x75, 0x76, 0x19, 0x57, 0xb2, 0x18, 0x5d, 0x73, 0x91, + 0xca, 0xc2, 0x4a, 0x8d, 0x83, 0xd3, 0xd5, 0x2a, 0xe7, 0x01, 0x98, 0xca, 0x5b, 0x46, 0xd9, 0x09, 0x19, 0xf5, 0xe0, + 0x6a, 0x79, 0x7a, 0xa5, 0x45, 0xe7, 0xe5, 0xf5, 0x65, 0x10, 0xe1, 0xaf, 0x73, 0xf3, 0xe3, 0x2a, 0x2e, 0x3f, 0x05, + 0x91, 0xb5, 0xa9, 0x33, 0x3f, 0x50, 0x2a, 0x0f, 0xfe, 0x4e, 0x20, 0xd3, 0x7d, 0x59, 0x80, 0x65, 0xb6, 0xad, 0xf8, + 0x38, 0xc6, 0x5a, 0x87, 0x13, 0x32, 0x53, 0x25, 0x7a, 0xef, 0x92, 0x75, 0x01, 0xd6, 0x7e, 0x0a, 0xdb, 0x59, 0xe5, + 0x9a, 0x61, 0x65, 0xaa, 0x22, 0x63, 0x00, 0xbf, 0x66, 0x87, 0xa1, 0x75, 0xa2, 0x99, 0xa3, 0xb7, 0x80, 0x7e, 0x20, + 0x87, 0x97, 0xb4, 0x58, 0x33, 0xcf, 0xc7, 0xa6, 0xf1, 0xfa, 0xc1, 0xe1, 0xa5, 0x5b, 0xb0, 0xd7, 0xf6, 0x4e, 0x8e, + 0xc2, 0x44, 0xf0, 0x34, 0x36, 0xe3, 0x8b, 0x3c, 0x2b, 0x60, 0x07, 0x4d, 0xc6, 0x63, 0xea, 0x2d, 0xad, 0xd6, 0xcd, + 0xd1, 0x21, 0xdb, 0x66, 0x0f, 0xab, 0x87, 0x9c, 0x1c, 0xf2, 0x96, 0xa9, 0x6d, 0xdb, 0x3a, 0xce, 0xd3, 0xe4, 0x2b, + 0xd3, 0x7d, 0xb9, 0xb6, 0x11, 0xe2, 0x95, 0xb3, 0xa3, 0xf3, 0x92, 0x6e, 0x7d, 0x53, 0x1a, 0x7a, 0x2d, 0x01, 0x98, + 0x4f, 0x1b, 0xf0, 0x17, 0xac, 0x58, 0x8f, 0x2a, 0x5e, 0x56, 0x20, 0x61, 0x41, 0x11, 0xde, 0x14, 0x7b, 0x53, 0xb8, + 0x1b, 0xa7, 0xe7, 0xb0, 0x03, 0x17, 0x53, 0x74, 0xc7, 0x89, 0xc9, 0xac, 0x34, 0x5a, 0xd1, 0x48, 0xff, 0x72, 0x7d, + 0x89, 0x75, 0x5f, 0xb4, 0x32, 0xcf, 0xe6, 0x54, 0xd8, 0xf4, 0xae, 0x72, 0xe9, 0x44, 0xfd, 0x96, 0x09, 0x57, 0xae, + 0x04, 0x01, 0x99, 0x16, 0xac, 0x57, 0x98, 0x5d, 0x14, 0x23, 0x21, 0x03, 0xc3, 0xd7, 0x60, 0x2d, 0x4a, 0x6e, 0xac, + 0x60, 0xbd, 0x7b, 0xbe, 0x4e, 0x10, 0x52, 0xf0, 0xc0, 0x4d, 0xd0, 0x2f, 0xad, 0x9b, 0xb7, 0xa3, 0x44, 0x19, 0xc4, + 0x27, 0xd7, 0x4e, 0x39, 0x48, 0x20, 0x00, 0x07, 0x56, 0x85, 0x24, 0x51, 0xa0, 0xf3, 0xe0, 0x6a, 0xc6, 0x11, 0x6c, + 0x5e, 0x39, 0x73, 0x71, 0x03, 0x38, 0xaf, 0xfc, 0xb9, 0x6c, 0xb0, 0x65, 0x3d, 0xa2, 0xca, 0x9c, 0x71, 0x8a, 0x41, + 0x9d, 0x2c, 0x41, 0x5f, 0x59, 0x4a, 0x7b, 0x09, 0x9a, 0xc6, 0x2b, 0xb6, 0x52, 0x3e, 0x00, 0xf4, 0x9c, 0xad, 0x94, + 0xb1, 0x3f, 0x7e, 0x7d, 0xc6, 0x56, 0x5a, 0x1a, 0x3c, 0xbd, 0x9a, 0x9d, 0xcf, 0xce, 0x06, 0xec, 0x28, 0x0a, 0xb5, + 0x01, 0x43, 0xe0, 0x22, 0x13, 0x04, 0x83, 0x50, 0xe3, 0xbf, 0x0c, 0x54, 0x80, 0x30, 0xe2, 0xf1, 0xd8, 0x88, 0x23, + 0x16, 0x8e, 0x87, 0x18, 0x0c, 0xac, 0xf9, 0x82, 0x04, 0x84, 0x9a, 0xd2, 0xd0, 0xd7, 0x33, 0x1c, 0x4e, 0x0e, 0x26, + 0x90, 0x8a, 0x99, 0x99, 0x2a, 0x8c, 0x8d, 0x49, 0x04, 0xf1, 0x5f, 0x3b, 0xeb, 0x85, 0x72, 0xbb, 0x6b, 0x34, 0x10, + 0x34, 0x83, 0xaf, 0xaa, 0x78, 0x72, 0x30, 0xec, 0xaa, 0x18, 0x47, 0xe1, 0xda, 0x28, 0xdf, 0xce, 0x8e, 0x01, 0xcc, + 0xf7, 0x6c, 0xe8, 0xcb, 0x25, 0xce, 0x0e, 0x1f, 0x93, 0x87, 0x8f, 0x09, 0x3d, 0x63, 0x67, 0xdf, 0x3c, 0xa6, 0x67, + 0x8a, 0x9c, 0x1c, 0x4c, 0xa2, 0x6b, 0x66, 0x31, 0x70, 0x8e, 0x54, 0x13, 0xe8, 0xe5, 0x68, 0x2d, 0xd4, 0x02, 0xd3, + 0x0e, 0x4d, 0xe1, 0xf7, 0xe3, 0x83, 0x60, 0x70, 0xdd, 0x6e, 0xfa, 0x75, 0xbb, 0xad, 0x9e, 0x57, 0xd7, 0xc1, 0x51, + 0xb4, 0x5f, 0xcc, 0xe4, 0xef, 0xe3, 0x03, 0x37, 0x07, 0x58, 0xdf, 0xfd, 0x63, 0x62, 0x9a, 0xb4, 0x37, 0x2a, 0x7e, + 0x4d, 0x8f, 0xb0, 0x0f, 0xcd, 0x22, 0x3b, 0xfa, 0x30, 0xfc, 0x8f, 0x3a, 0x51, 0x9f, 0x7d, 0x73, 0x04, 0xe4, 0x08, + 0x64, 0xa0, 0x58, 0x22, 0x98, 0xe1, 0x40, 0x53, 0x40, 0x41, 0xa6, 0xc7, 0x9d, 0xea, 0xe1, 0x57, 0xa3, 0xa6, 0x66, + 0xe4, 0x1a, 0xa6, 0x06, 0xdb, 0x82, 0x1f, 0xa8, 0x6e, 0xe8, 0x6f, 0x34, 0xda, 0x93, 0x76, 0x32, 0x33, 0x2f, 0xa9, + 0x8d, 0x73, 0x77, 0x0d, 0x01, 0x9d, 0x1d, 0xdc, 0xa2, 0x64, 0xdf, 0x1e, 0x5f, 0x1e, 0xe0, 0x2a, 0x02, 0xd4, 0x30, + 0x16, 0x7c, 0x3b, 0xb8, 0xd4, 0x9b, 0xfb, 0x20, 0x20, 0x83, 0x6f, 0x83, 0x93, 0x6f, 0x07, 0x72, 0x10, 0x1c, 0x1f, + 0x5e, 0x9e, 0x04, 0xce, 0xb8, 0x1f, 0x42, 0x5e, 0xaa, 0x8a, 0x62, 0x26, 0x4c, 0x15, 0x89, 0xad, 0x3d, 0xb7, 0xf5, + 0x2a, 0xe3, 0x33, 0x9a, 0x4e, 0x2d, 0x12, 0x7a, 0x98, 0xb2, 0xd8, 0xfc, 0x0e, 0x26, 0xfc, 0x2a, 0x88, 0x5c, 0x50, + 0xd8, 0x59, 0x1e, 0xc5, 0x74, 0xc9, 0xae, 0x45, 0x98, 0xd2, 0xe4, 0x30, 0x27, 0x24, 0x0a, 0x97, 0x0a, 0x4c, 0x50, + 0xbd, 0x4e, 0x20, 0xae, 0xad, 0xfb, 0xfc, 0x5a, 0x84, 0x4b, 0x9a, 0x1f, 0x26, 0xa4, 0x55, 0x84, 0x8b, 0x50, 0xb3, + 0xad, 0xe9, 0x05, 0x0b, 0x57, 0xf4, 0x12, 0x98, 0xa9, 0x78, 0x1d, 0x5e, 0x02, 0x97, 0xb7, 0x9e, 0xaf, 0x16, 0xec, + 0xb2, 0x21, 0x7d, 0x33, 0x7c, 0xf1, 0x85, 0xf5, 0xc9, 0x03, 0x1e, 0xd2, 0xf9, 0xe1, 0xa5, 0x60, 0x03, 0x70, 0x9d, + 0xf1, 0x9b, 0x1f, 0xe4, 0xad, 0x9e, 0x97, 0xf6, 0x14, 0xe3, 0xcc, 0xb4, 0x13, 0x93, 0x76, 0x42, 0xee, 0xdf, 0xb7, + 0x7d, 0xf7, 0xe2, 0xb5, 0x72, 0x59, 0xb5, 0x0c, 0x49, 0xb2, 0x56, 0xae, 0xd3, 0x28, 0x39, 0xb5, 0x02, 0x4f, 0x76, + 0xc1, 0xab, 0x64, 0xe9, 0x1f, 0x54, 0xd6, 0x6a, 0xc0, 0x1e, 0x23, 0x96, 0x85, 0xc2, 0xb1, 0x7f, 0x9d, 0xb1, 0x64, + 0xed, 0x0b, 0x34, 0x72, 0xe4, 0xde, 0x5e, 0x67, 0xcc, 0x8b, 0x41, 0xbb, 0x5c, 0x7b, 0xa1, 0xfb, 0xbc, 0xf4, 0xb4, + 0xc5, 0x7b, 0x39, 0xa5, 0x86, 0x91, 0x88, 0x1e, 0x8c, 0x95, 0x19, 0xa5, 0x4a, 0xd4, 0x1a, 0x34, 0x22, 0xd8, 0xd8, + 0x05, 0x03, 0x05, 0x27, 0x54, 0xee, 0xa9, 0xb3, 0x7d, 0x3b, 0xa5, 0xd2, 0x03, 0xda, 0xa5, 0x46, 0x55, 0xee, 0x96, + 0x99, 0x64, 0xd5, 0x20, 0x18, 0xfd, 0x59, 0x4a, 0x31, 0xc3, 0x3b, 0x23, 0x0b, 0xa6, 0x60, 0x25, 0xa8, 0x6a, 0x19, + 0x96, 0x43, 0x8e, 0x5a, 0x3c, 0xe3, 0x93, 0x2a, 0xf5, 0x8f, 0x8e, 0xa0, 0xc1, 0xeb, 0x75, 0x2b, 0x68, 0xf0, 0xe3, + 0xf1, 0x63, 0x3d, 0xd0, 0x17, 0x6b, 0xed, 0x78, 0xe8, 0xf3, 0xdb, 0x88, 0x37, 0xae, 0x7b, 0x4f, 0xb5, 0x56, 0xa1, + 0x0c, 0xb4, 0x58, 0x51, 0xb9, 0x52, 0x4b, 0x7a, 0xb7, 0x8b, 0x00, 0x58, 0xc4, 0xc6, 0x6c, 0xbc, 0x6f, 0x9b, 0x15, + 0x82, 0x46, 0x17, 0x96, 0xe2, 0x80, 0x25, 0xba, 0xb5, 0x83, 0x09, 0x8d, 0x4f, 0x58, 0xd9, 0xef, 0xe7, 0x27, 0x40, + 0x4f, 0xb5, 0x11, 0x53, 0x01, 0x47, 0xfe, 0xd7, 0x56, 0x64, 0x8a, 0x02, 0x9b, 0x35, 0x75, 0xb7, 0xc6, 0x32, 0x12, + 0x7d, 0x99, 0xd2, 0xe5, 0x09, 0xcf, 0x80, 0x69, 0xb5, 0x6e, 0x39, 0xae, 0xec, 0x2b, 0x8e, 0x3c, 0x15, 0x96, 0x15, + 0xe7, 0x55, 0x38, 0xde, 0x7a, 0x7c, 0x83, 0x43, 0xc3, 0xa6, 0x5d, 0xfa, 0x43, 0x08, 0x0b, 0xe1, 0x75, 0x06, 0xb7, + 0x11, 0x6d, 0x27, 0x81, 0xca, 0x1b, 0x73, 0x9d, 0x50, 0x36, 0xb7, 0xab, 0xb5, 0x67, 0x90, 0x4e, 0xcc, 0x81, 0x52, + 0x8d, 0xa0, 0x35, 0x9a, 0x05, 0x55, 0x23, 0x1e, 0x39, 0xf3, 0x2f, 0x67, 0x10, 0xab, 0xe5, 0x4b, 0x9a, 0x4a, 0xd1, + 0x00, 0x8c, 0x0b, 0xe0, 0xf2, 0xf4, 0xcb, 0xfb, 0x9f, 0x3e, 0xf0, 0xb8, 0x48, 0x96, 0xef, 0xe2, 0x22, 0xbe, 0x2a, + 0xc3, 0xad, 0x1a, 0xa3, 0xb8, 0x26, 0x53, 0x31, 0x60, 0xd2, 0xac, 0xa4, 0xe6, 0xae, 0xd4, 0x84, 0x18, 0xeb, 0x4c, + 0xd6, 0x65, 0x25, 0xaf, 0x1a, 0x95, 0xae, 0x8b, 0x0c, 0x3f, 0x6e, 0xf9, 0x9c, 0x1e, 0x02, 0xb0, 0xa9, 0x71, 0x21, + 0x8d, 0xa4, 0x2e, 0xc4, 0x98, 0x8b, 0x78, 0x5d, 0x1f, 0x8f, 0x1b, 0x5d, 0x2f, 0xd9, 0x93, 0xf1, 0xa3, 0xe9, 0xeb, + 0x2c, 0xcc, 0x06, 0x82, 0x8c, 0xaa, 0x25, 0x17, 0x2d, 0x53, 0x4e, 0x65, 0x12, 0x80, 0x3e, 0x9e, 0x3d, 0xc6, 0x8e, + 0xc6, 0x63, 0xb2, 0x6d, 0x8b, 0x07, 0x78, 0xb8, 0x5e, 0x87, 0x05, 0x99, 0xe9, 0x3a, 0xa2, 0x40, 0xf0, 0xdb, 0x2a, + 0x00, 0x64, 0x4b, 0x5b, 0x95, 0xe1, 0xd2, 0xd8, 0x93, 0xf1, 0x84, 0x4a, 0xec, 0x76, 0x48, 0x6a, 0xaf, 0x42, 0x37, + 0xf3, 0xd2, 0xf7, 0x28, 0x92, 0xc6, 0x65, 0x69, 0xaf, 0x52, 0xa9, 0xf6, 0xcc, 0xcc, 0x75, 0x0d, 0x62, 0x52, 0x84, + 0xba, 0xee, 0xd2, 0xab, 0x7b, 0xbf, 0xb9, 0xd6, 0x6c, 0x07, 0xbc, 0xd7, 0xa0, 0x19, 0x4a, 0xde, 0x62, 0xde, 0xba, + 0x22, 0x6a, 0x7a, 0xb5, 0x06, 0xb3, 0x62, 0x94, 0x2d, 0x45, 0x17, 0x6b, 0x0a, 0x4a, 0xc1, 0xe8, 0x72, 0xed, 0x2d, + 0xdc, 0xa7, 0xb2, 0x71, 0x61, 0xc9, 0xf4, 0x6a, 0x51, 0x52, 0x42, 0x75, 0x53, 0x31, 0x52, 0xc2, 0x48, 0x69, 0x78, + 0x2a, 0xdf, 0x0b, 0x3c, 0xce, 0xf3, 0x20, 0x6a, 0x79, 0x81, 0x9d, 0x56, 0xe4, 0x14, 0x1c, 0xbd, 0x4c, 0x4e, 0x43, + 0x81, 0x2b, 0xa1, 0x40, 0x5d, 0x87, 0xea, 0x7e, 0x83, 0x9b, 0xff, 0xb7, 0x82, 0x05, 0x1e, 0xdf, 0x7a, 0x8e, 0xdb, + 0xe8, 0xb7, 0xc2, 0xa7, 0xa5, 0x0f, 0xa4, 0xef, 0xea, 0xe2, 0x49, 0x7b, 0xb3, 0x51, 0xb2, 0xcc, 0xf2, 0xf4, 0x8d, + 0x4c, 0x39, 0x88, 0xcc, 0xd0, 0x1a, 0x94, 0x9d, 0x88, 0xc6, 0x0d, 0x0f, 0x8c, 0x18, 0x1b, 0x37, 0xbe, 0x0a, 0x02, + 0x39, 0x02, 0x72, 0x3f, 0x67, 0xa9, 0x4c, 0xd6, 0x80, 0xb0, 0xa1, 0xe5, 0x27, 0x1a, 0x6f, 0x23, 0xd4, 0xd7, 0x2f, + 0x70, 0x9b, 0x2b, 0x7d, 0x9f, 0xf3, 0x4a, 0xd0, 0x4a, 0x00, 0xf0, 0x4b, 0xbc, 0x02, 0xb9, 0xc7, 0x53, 0xa8, 0x1b, + 0x61, 0x7b, 0x39, 0x06, 0x4b, 0x42, 0x74, 0x14, 0x51, 0xb1, 0x40, 0x41, 0x53, 0x18, 0x44, 0x11, 0x75, 0xc1, 0x1c, + 0x9e, 0xe7, 0x32, 0xf9, 0x34, 0x35, 0x3e, 0xf3, 0xc3, 0x18, 0x63, 0x48, 0x07, 0x83, 0xb0, 0x9a, 0x05, 0xc3, 0xf1, + 0x68, 0x72, 0xf4, 0x04, 0xce, 0xed, 0x60, 0x1c, 0x90, 0x41, 0x50, 0x97, 0xab, 0x58, 0xd0, 0xf2, 0xfa, 0xd2, 0x96, + 0x81, 0x1f, 0xd7, 0xc1, 0xe0, 0xb7, 0xc2, 0x8d, 0xca, 0xbf, 0x41, 0x73, 0xb2, 0x91, 0x61, 0x10, 0xd0, 0xab, 0x35, + 0x01, 0x49, 0x59, 0x4f, 0xf3, 0x93, 0xfa, 0x70, 0x63, 0x4a, 0xfb, 0x67, 0x0e, 0x2f, 0x38, 0xec, 0x90, 0x40, 0x81, + 0x34, 0x9e, 0x66, 0xa3, 0x57, 0x4a, 0x91, 0xfb, 0xae, 0xe0, 0x70, 0x67, 0xee, 0x39, 0xd3, 0x23, 0xa7, 0x90, 0x68, + 0x66, 0x01, 0x37, 0xf2, 0x57, 0xe2, 0x3a, 0xce, 0xb3, 0xf4, 0xa0, 0xf9, 0xe6, 0xa0, 0xdc, 0x88, 0x2a, 0xbe, 0x1d, + 0x05, 0xc6, 0x9a, 0x90, 0xfb, 0xaa, 0x27, 0x40, 0x4f, 0x80, 0x2d, 0x00, 0x06, 0xc4, 0x7b, 0x66, 0x26, 0x33, 0x1e, + 0x81, 0x47, 0x60, 0xd3, 0x07, 0xb2, 0xd8, 0x38, 0x97, 0x24, 0x7f, 0x33, 0x95, 0xf6, 0xaa, 0x57, 0xee, 0x15, 0x64, + 0xbd, 0xda, 0xca, 0x7d, 0xb7, 0x3e, 0xfb, 0xa6, 0xc3, 0x2b, 0xf0, 0x4c, 0x82, 0x5b, 0x64, 0xbf, 0xdf, 0x14, 0x54, + 0x0a, 0xa3, 0x22, 0xde, 0x4b, 0xae, 0xd1, 0xbf, 0xdd, 0x1b, 0x1b, 0x45, 0x72, 0xcb, 0xfb, 0x07, 0x50, 0x67, 0xf2, + 0xae, 0xb8, 0x9d, 0x43, 0xd4, 0xd6, 0xdd, 0x78, 0xe0, 0xbd, 0x41, 0xbb, 0xac, 0x39, 0x82, 0x2d, 0x2f, 0x0e, 0x32, + 0x18, 0x0b, 0x9c, 0x95, 0x91, 0x52, 0xe3, 0x1a, 0x52, 0x0b, 0x3e, 0xc9, 0xd3, 0x3b, 0xc8, 0x52, 0x4f, 0x82, 0x22, + 0xc7, 0xb3, 0x18, 0x32, 0x8d, 0xb7, 0x81, 0xd8, 0x6f, 0x65, 0x08, 0xd2, 0xb4, 0xdd, 0xae, 0x39, 0x02, 0x65, 0xf7, + 0xc0, 0x94, 0xa4, 0xae, 0x8d, 0xa9, 0x81, 0x86, 0x1e, 0x44, 0x8d, 0x54, 0xc4, 0xd9, 0xc9, 0x53, 0xd0, 0x21, 0x82, + 0xef, 0x77, 0x9a, 0x95, 0x1d, 0x2f, 0x26, 0x04, 0x4f, 0xde, 0xe7, 0xb7, 0x59, 0x59, 0x95, 0xd1, 0x9b, 0x14, 0x0d, + 0xa1, 0x12, 0x29, 0xa2, 0xcf, 0x10, 0x5f, 0xb0, 0xc4, 0xdf, 0x65, 0xf4, 0x22, 0xa5, 0x71, 0x9a, 0x62, 0xfa, 0xb3, + 0x02, 0x7e, 0x3e, 0x05, 0x94, 0x4b, 0xdc, 0x09, 0xd1, 0x99, 0x04, 0x7b, 0x35, 0x88, 0xee, 0x55, 0x71, 0xc0, 0x14, + 0x8d, 0xae, 0x05, 0x45, 0xcc, 0x3a, 0xcc, 0xfe, 0x4b, 0x81, 0x42, 0x21, 0x55, 0xcc, 0x4b, 0x61, 0x1f, 0x22, 0xbe, + 0x86, 0x72, 0x4e, 0xdf, 0xbd, 0x32, 0x43, 0x1a, 0xdd, 0x4a, 0xaa, 0xb7, 0x36, 0x1e, 0x5b, 0x88, 0xd2, 0x13, 0x9d, + 0xaf, 0xe9, 0x59, 0xbc, 0xca, 0xa2, 0x2d, 0xe0, 0x4f, 0xbc, 0x7b, 0xf5, 0x54, 0x59, 0x98, 0xbc, 0xca, 0x40, 0x71, + 0x70, 0xfa, 0xee, 0xd5, 0x6b, 0x99, 0xae, 0x73, 0x1e, 0x6d, 0x24, 0x92, 0xd6, 0xd3, 0x77, 0xaf, 0x7e, 0x46, 0x73, + 0xaf, 0xf7, 0x05, 0xbc, 0x7f, 0x01, 0xbc, 0x65, 0x94, 0xaf, 0xa1, 0x4f, 0xea, 0xf7, 0x72, 0x8d, 0x9d, 0xf2, 0x6a, + 0x2d, 0xa3, 0xbf, 0xd2, 0xda, 0x93, 0x56, 0xfd, 0x55, 0xf8, 0xd4, 0xce, 0x13, 0xf0, 0xdc, 0xe6, 0x99, 0xf8, 0x14, + 0x59, 0xd1, 0x4e, 0x10, 0x7d, 0x7b, 0x70, 0x7b, 0x95, 0x8b, 0x32, 0xc2, 0x17, 0x0c, 0xed, 0x82, 0xa2, 0xc3, 0xc3, + 0x9b, 0x9b, 0x9b, 0xd1, 0xcd, 0xa3, 0x91, 0x2c, 0x2e, 0x0f, 0x27, 0xdf, 0x7f, 0xff, 0xfd, 0x21, 0xbe, 0x0d, 0xbe, + 0x6d, 0xbb, 0xbd, 0x57, 0x84, 0x0f, 0x58, 0x80, 0x88, 0xdd, 0xdf, 0xc2, 0x15, 0x05, 0xb4, 0x70, 0x83, 0x6f, 0x83, + 0x6f, 0xf5, 0xa1, 0xf3, 0xed, 0x71, 0x79, 0x7d, 0xa9, 0xca, 0xef, 0x2a, 0xf9, 0x68, 0x3c, 0x1e, 0x1f, 0x82, 0x04, + 0xea, 0xdb, 0x01, 0x1f, 0x04, 0x27, 0xc1, 0x20, 0x83, 0x0b, 0x4d, 0x79, 0x7d, 0x79, 0x12, 0x78, 0x26, 0xaf, 0x0d, + 0x16, 0xd1, 0x81, 0xb8, 0x04, 0x87, 0x97, 0x34, 0xf8, 0x36, 0x20, 0x2e, 0xe5, 0x1b, 0x48, 0xf9, 0xe6, 0xe8, 0x89, + 0x9f, 0xf6, 0xbf, 0x54, 0xda, 0x23, 0x3f, 0xed, 0x18, 0xd3, 0x1e, 0x3d, 0xf5, 0xd3, 0x4e, 0x54, 0xda, 0x73, 0x3f, + 0xed, 0xff, 0x94, 0x03, 0x48, 0x3d, 0xf0, 0xad, 0xff, 0x36, 0x5e, 0x6b, 0xf0, 0x14, 0x8a, 0xb2, 0xab, 0xf8, 0x92, + 0x43, 0xa3, 0x07, 0xb7, 0x57, 0x39, 0x0d, 0x06, 0xd8, 0x5e, 0xcf, 0xc8, 0xc3, 0xfb, 0xe0, 0xdb, 0x75, 0x91, 0x87, + 0xc1, 0xb7, 0x03, 0x2c, 0x64, 0xf0, 0x6d, 0x40, 0xbe, 0x35, 0x06, 0x32, 0x82, 0x6d, 0x03, 0x17, 0x9a, 0x75, 0x68, + 0x03, 0xa6, 0xf9, 0xd2, 0xb8, 0x9a, 0xfe, 0xab, 0xe8, 0xce, 0x86, 0xb7, 0x44, 0xe5, 0xa6, 0x1b, 0xd4, 0xf4, 0x2d, + 0x78, 0x27, 0x40, 0xa3, 0xa2, 0xe0, 0x3a, 0x2e, 0xc2, 0xe1, 0xb0, 0xbc, 0xbe, 0x24, 0x60, 0x97, 0xb9, 0xe2, 0x71, + 0x15, 0x05, 0x42, 0x0e, 0xd5, 0xcf, 0x40, 0x45, 0x02, 0x0b, 0x10, 0xca, 0x08, 0xfe, 0x0b, 0x6a, 0xfa, 0x4e, 0xb2, + 0x6d, 0x30, 0xbc, 0xe1, 0xe7, 0x9f, 0xb2, 0x6a, 0xa8, 0x44, 0x8b, 0x37, 0x82, 0xc2, 0x0f, 0xf8, 0xeb, 0xaa, 0x8e, + 0xfe, 0x05, 0x6e, 0xdc, 0x4d, 0x0d, 0xfb, 0x3b, 0xe9, 0x39, 0xb4, 0xc9, 0x79, 0xb6, 0x98, 0xb6, 0x0e, 0xf4, 0xb7, + 0x92, 0x54, 0xf3, 0x6c, 0x10, 0x0c, 0x83, 0x01, 0x5f, 0xb0, 0xb7, 0x72, 0xce, 0x3d, 0xf3, 0xa9, 0x53, 0xe9, 0x4f, + 0xf3, 0x2c, 0x1b, 0x80, 0x6f, 0x0a, 0xf2, 0x23, 0x87, 0xff, 0x35, 0x1f, 0xa2, 0xf0, 0x70, 0xf0, 0xe0, 0x90, 0xcc, + 0x82, 0xd5, 0x2d, 0x7a, 0x74, 0x46, 0x41, 0x26, 0x96, 0xbc, 0xc8, 0x2a, 0x6f, 0xa9, 0x5c, 0xaf, 0xdb, 0x5e, 0x1e, + 0x77, 0x9e, 0xcd, 0xab, 0x58, 0x04, 0xea, 0x9c, 0x03, 0xc5, 0x1b, 0xca, 0x9e, 0xca, 0xa6, 0x84, 0x54, 0x1b, 0xf2, + 0x86, 0xe5, 0x80, 0x05, 0xc7, 0xbd, 0xe1, 0xf0, 0x20, 0x18, 0x38, 0x75, 0xee, 0x20, 0x38, 0x18, 0x0e, 0x4f, 0x02, + 0x77, 0x1f, 0xca, 0x46, 0xee, 0xce, 0x48, 0x0b, 0xf6, 0x57, 0x11, 0x96, 0x14, 0xc4, 0x63, 0x52, 0x8b, 0xbf, 0x34, + 0xb8, 0xcc, 0x00, 0xa0, 0x8f, 0x94, 0x04, 0xcc, 0xc0, 0xca, 0x0c, 0x20, 0x54, 0x39, 0x8d, 0xd9, 0x2d, 0x30, 0x8f, + 0xc0, 0x31, 0x2b, 0x98, 0x2c, 0x40, 0x2c, 0x09, 0x70, 0xee, 0x82, 0x28, 0xd6, 0x85, 0x9c, 0x42, 0x10, 0x00, 0xfc, + 0x49, 0x4c, 0x29, 0x98, 0xa4, 0x63, 0x37, 0x82, 0x20, 0x8e, 0xcf, 0x6e, 0x44, 0x6b, 0x72, 0x96, 0xe8, 0x60, 0x46, + 0x12, 0x60, 0x43, 0x0c, 0x0c, 0x1f, 0xdc, 0xcf, 0x41, 0xe9, 0x61, 0xf5, 0x4e, 0xc8, 0x05, 0x6f, 0xb8, 0x63, 0xa1, + 0x6e, 0xe0, 0xea, 0x09, 0x07, 0xc1, 0x86, 0x6b, 0x16, 0x60, 0x54, 0x15, 0xeb, 0xb2, 0xe2, 0xe9, 0xc7, 0xcd, 0x0a, + 0x62, 0x01, 0xe2, 0x80, 0xbe, 0x93, 0x79, 0x96, 0x6c, 0x42, 0x67, 0xcf, 0xb5, 0x55, 0xe9, 0x2f, 0x3f, 0xbe, 0xfe, + 0x29, 0x02, 0x91, 0x63, 0x6d, 0x28, 0xfd, 0x86, 0xe3, 0xd9, 0xe4, 0x47, 0xbc, 0xf2, 0x37, 0xf6, 0x86, 0xdb, 0xd3, + 0xa3, 0xdf, 0x87, 0xba, 0xe9, 0x86, 0xcf, 0x36, 0x7c, 0xe4, 0x8a, 0x43, 0x75, 0x85, 0x67, 0x97, 0xb5, 0xf6, 0x8d, + 0x90, 0xee, 0x9f, 0x67, 0xca, 0x1b, 0xf3, 0xa3, 0x1d, 0x0c, 0x83, 0x60, 0xaa, 0x85, 0x92, 0x10, 0x85, 0x84, 0x29, + 0x01, 0x43, 0x74, 0xa0, 0x97, 0xd5, 0x14, 0x39, 0x37, 0x35, 0xb2, 0xf0, 0x7e, 0xc0, 0xb4, 0xd0, 0xa1, 0x91, 0x43, + 0xf9, 0xc1, 0xe1, 0x84, 0x31, 0x0b, 0xbf, 0x55, 0xc2, 0xf4, 0xab, 0x45, 0xe5, 0x1c, 0x44, 0x0f, 0xc0, 0x18, 0x57, + 0xf0, 0x02, 0xba, 0xc2, 0x3e, 0xad, 0x55, 0x94, 0x10, 0x04, 0xd3, 0x43, 0x0e, 0xd0, 0xc3, 0x2e, 0x68, 0x59, 0x59, + 0xaa, 0x5b, 0x95, 0xb3, 0x54, 0x51, 0x97, 0xa1, 0xac, 0x8c, 0x15, 0x06, 0x7e, 0xc9, 0x7e, 0x29, 0xd0, 0xb3, 0x7c, + 0x2a, 0xba, 0xe0, 0x85, 0x50, 0x82, 0xe5, 0xba, 0xde, 0x89, 0x40, 0xd4, 0xf9, 0xa1, 0x77, 0xd5, 0xd7, 0xb8, 0x7e, + 0x3c, 0x7d, 0x2d, 0x53, 0xae, 0x4d, 0x28, 0x34, 0x9f, 0x2f, 0x7d, 0xc5, 0x44, 0xc1, 0x3e, 0x40, 0xbf, 0xda, 0x36, + 0xfa, 0xec, 0x7a, 0xad, 0x37, 0x83, 0x12, 0x1d, 0xf3, 0x1a, 0x05, 0xd7, 0x4a, 0xa1, 0x60, 0xb4, 0xb7, 0xf1, 0x17, + 0x38, 0x72, 0xab, 0xdb, 0x43, 0xef, 0xb7, 0x2a, 0xbe, 0x7c, 0x83, 0xbe, 0x9d, 0xf6, 0xe7, 0xa8, 0x92, 0xbf, 0xac, + 0x56, 0xe0, 0x43, 0x05, 0x91, 0x56, 0x2c, 0x4e, 0x2f, 0xd4, 0xf3, 0xe1, 0xdd, 0xe9, 0x1b, 0xf0, 0xa3, 0xc4, 0xdf, + 0xbf, 0xfe, 0x18, 0xd4, 0x64, 0x1a, 0xcf, 0x0a, 0xf3, 0xa1, 0xcd, 0x01, 0xa1, 0x5a, 0x5c, 0x9a, 0x7d, 0x3f, 0x8b, + 0x9b, 0xec, 0xbb, 0x66, 0xeb, 0x69, 0xd1, 0x44, 0x92, 0x32, 0xdc, 0x3e, 0x18, 0x10, 0xe8, 0x03, 0x44, 0x71, 0xf6, + 0x05, 0x8d, 0x21, 0xcd, 0x67, 0xf6, 0xfd, 0x08, 0x81, 0xaf, 0xf6, 0x42, 0xaa, 0x71, 0x85, 0x45, 0xa3, 0x87, 0x7c, + 0xc6, 0x23, 0x65, 0x58, 0xf4, 0x1e, 0x13, 0x88, 0x33, 0x9c, 0x56, 0xef, 0x11, 0x03, 0x1a, 0xef, 0x06, 0x5a, 0xf6, + 0x10, 0x65, 0xd4, 0x65, 0x6f, 0x58, 0x7c, 0xbf, 0x5e, 0x87, 0x99, 0xb5, 0xbc, 0x1c, 0xc2, 0xdf, 0x40, 0x1b, 0x80, + 0x53, 0x8e, 0x2c, 0x5f, 0x65, 0x36, 0xba, 0x5a, 0x62, 0x7a, 0x13, 0x41, 0x6c, 0x22, 0x9d, 0x0e, 0x6b, 0x57, 0xa7, + 0xea, 0x5d, 0xed, 0x7c, 0x26, 0x7a, 0x15, 0x68, 0xe5, 0xda, 0xf6, 0x78, 0x08, 0xff, 0xa9, 0xa5, 0x15, 0x36, 0xc2, + 0x9e, 0x8b, 0x2f, 0x3c, 0xc7, 0xe6, 0x04, 0x34, 0xb8, 0x92, 0x29, 0x00, 0x67, 0x69, 0x35, 0x1a, 0x35, 0xc2, 0x3e, + 0x2b, 0xe7, 0x73, 0xd8, 0x5a, 0x88, 0xa7, 0x05, 0xe0, 0xc0, 0x4d, 0x4c, 0x4e, 0xde, 0x8d, 0xc9, 0x39, 0xfd, 0xa4, + 0xe0, 0xbe, 0x83, 0xb3, 0x72, 0x19, 0xa7, 0xf2, 0x06, 0xb0, 0x29, 0x03, 0x3f, 0x15, 0x4b, 0xf5, 0x12, 0x92, 0x25, + 0x4f, 0x3e, 0xa1, 0xd5, 0x46, 0x1a, 0x00, 0x57, 0x39, 0x35, 0x96, 0x7b, 0x0a, 0x34, 0xd5, 0x95, 0xa2, 0x12, 0xe2, + 0xaa, 0x8a, 0x93, 0xe5, 0x07, 0x4c, 0x0d, 0xb7, 0xd0, 0x8b, 0x28, 0x90, 0x2b, 0x2e, 0x80, 0xa4, 0xe7, 0xec, 0x1f, + 0x99, 0xc6, 0x5e, 0x7f, 0x20, 0x51, 0xc0, 0xa4, 0x51, 0x94, 0xb1, 0x52, 0xf6, 0x4a, 0x9a, 0xe8, 0x77, 0x41, 0x50, + 0xbb, 0x97, 0x7f, 0x41, 0xdd, 0x4f, 0xa1, 0x15, 0x61, 0x03, 0xbc, 0x50, 0x83, 0x1f, 0xa6, 0x76, 0xc9, 0x79, 0x40, + 0x86, 0xce, 0xfb, 0xac, 0xb6, 0x5b, 0xfd, 0xe9, 0x12, 0xb0, 0x5e, 0x53, 0xe3, 0x53, 0x18, 0x26, 0xc4, 0xc4, 0x4a, + 0xb6, 0xca, 0x4a, 0xbb, 0xa1, 0x4c, 0x3b, 0xe9, 0x92, 0x79, 0x2d, 0x9c, 0xe6, 0x3d, 0xc6, 0x96, 0x23, 0x95, 0xbb, + 0xdf, 0x0f, 0xcd, 0x4f, 0x96, 0xd3, 0x07, 0x3a, 0x84, 0xb5, 0x37, 0x1e, 0x34, 0x27, 0x5a, 0x5d, 0xd5, 0xd1, 0x0f, + 0xe8, 0x00, 0xcc, 0xb4, 0x45, 0xa8, 0x74, 0xc1, 0xb7, 0x7d, 0x25, 0x2a, 0x2e, 0x49, 0x58, 0x2a, 0x09, 0xec, 0xec, + 0xa6, 0x64, 0x67, 0x1b, 0x10, 0xcf, 0x70, 0xd7, 0xd3, 0x62, 0x27, 0xa4, 0x09, 0x6f, 0x71, 0x90, 0x80, 0xa8, 0x43, + 0x55, 0x97, 0x90, 0xad, 0x31, 0x74, 0xf1, 0x2f, 0x4a, 0x61, 0xc2, 0x5a, 0x26, 0x55, 0x89, 0x09, 0x0a, 0x55, 0xee, + 0xb7, 0x08, 0x2c, 0x51, 0xb0, 0x03, 0xd8, 0x7b, 0x37, 0xea, 0x66, 0xd4, 0x54, 0x75, 0xea, 0x25, 0xf8, 0x38, 0xcd, + 0xba, 0x0a, 0x32, 0x0b, 0xbb, 0x2a, 0xd6, 0x3c, 0xd0, 0xb1, 0xba, 0x94, 0x31, 0x71, 0x97, 0x16, 0x19, 0xe2, 0x23, + 0x63, 0x6c, 0x61, 0x0d, 0x47, 0xda, 0x1e, 0x37, 0x3d, 0x41, 0xe8, 0x27, 0x6c, 0x28, 0x81, 0x9b, 0xce, 0xf6, 0xd4, + 0x34, 0xf3, 0x01, 0x11, 0x87, 0x01, 0x05, 0x92, 0x8d, 0x43, 0x9a, 0x23, 0x7d, 0x41, 0xd2, 0x84, 0x81, 0xb2, 0x15, + 0xcf, 0x09, 0xb2, 0xa2, 0xd0, 0xb3, 0x75, 0x55, 0x43, 0xfc, 0x5c, 0x86, 0x39, 0x5a, 0x72, 0x2a, 0x3c, 0x4d, 0x90, + 0x89, 0xdd, 0xd1, 0x36, 0x33, 0x19, 0x8e, 0x92, 0x05, 0xe6, 0x57, 0x10, 0x25, 0xee, 0x4c, 0xb3, 0x2a, 0x07, 0xe3, + 0x02, 0x16, 0x68, 0xe5, 0x7b, 0x50, 0x37, 0xd6, 0xd0, 0x56, 0xc3, 0x32, 0xbb, 0xfd, 0x09, 0xf6, 0x6b, 0xed, 0xb4, + 0x2e, 0x53, 0x2c, 0x2f, 0x53, 0x88, 0xf6, 0x42, 0xe6, 0x37, 0x8a, 0x44, 0xf7, 0x8a, 0x30, 0x24, 0xac, 0xa3, 0xec, + 0x49, 0x9b, 0x1a, 0x40, 0x4f, 0xbd, 0x00, 0xf0, 0x9d, 0x6b, 0x19, 0x76, 0x91, 0xee, 0xaf, 0x0a, 0xc6, 0xa5, 0x1b, + 0x04, 0x29, 0x7a, 0x93, 0x82, 0x39, 0xaf, 0x47, 0x49, 0xbd, 0x39, 0x6d, 0x99, 0x51, 0x75, 0x54, 0x84, 0x94, 0x13, + 0xfc, 0x27, 0xaf, 0xa4, 0x26, 0x36, 0x61, 0x82, 0x07, 0x3e, 0xcc, 0x33, 0x6c, 0xe0, 0xdd, 0xee, 0x34, 0x0d, 0x93, + 0x36, 0xdb, 0x90, 0x82, 0xb4, 0xc2, 0xc4, 0x09, 0x81, 0xca, 0x5e, 0xe1, 0x7e, 0xc1, 0x76, 0xd2, 0x14, 0x3c, 0x08, + 0x1b, 0x0d, 0x4c, 0xdc, 0xea, 0x12, 0x60, 0x34, 0x13, 0x2e, 0xa9, 0x76, 0x76, 0xd2, 0xc2, 0xfa, 0xf6, 0xba, 0xbc, + 0xb0, 0x7d, 0xd0, 0xb1, 0xd4, 0xba, 0x86, 0x07, 0x9a, 0xd7, 0xec, 0xe2, 0x8a, 0x69, 0x9a, 0x68, 0xac, 0x87, 0x94, + 0x25, 0xc7, 0xba, 0x9e, 0xae, 0x70, 0xb5, 0xcc, 0x34, 0xd0, 0xbd, 0xc4, 0x0b, 0x3d, 0xe0, 0x83, 0x87, 0x2b, 0x12, + 0x5d, 0x60, 0xb3, 0xd9, 0xaa, 0x26, 0xd3, 0xfc, 0xae, 0x6c, 0xb9, 0x09, 0x90, 0x67, 0xa9, 0x6f, 0xee, 0x93, 0x63, + 0x4d, 0xdb, 0xfc, 0x24, 0xc0, 0x35, 0xf7, 0x0a, 0x48, 0x3a, 0x96, 0xa0, 0x8b, 0xf7, 0xe9, 0x0f, 0x22, 0x35, 0x53, + 0x41, 0xef, 0x9c, 0x2f, 0x52, 0x37, 0xbf, 0x00, 0xdb, 0xa8, 0xad, 0x35, 0xcd, 0x5a, 0x87, 0x89, 0xb2, 0xb0, 0x46, + 0x16, 0x72, 0x09, 0x3e, 0x98, 0xfb, 0x4d, 0x9d, 0x3e, 0xef, 0x20, 0xc2, 0x7e, 0x17, 0x3d, 0x1e, 0x61, 0xac, 0x58, + 0x83, 0xc4, 0xb0, 0x0a, 0x6b, 0xda, 0x5c, 0x0e, 0x51, 0x4e, 0xcd, 0x92, 0x89, 0x96, 0xd4, 0xa7, 0x14, 0x51, 0x0a, + 0xe6, 0xc6, 0xd3, 0xb2, 0x61, 0x4a, 0x88, 0x90, 0x15, 0xd2, 0x01, 0xd5, 0x5a, 0x68, 0xa9, 0x26, 0x08, 0x78, 0xe8, + 0x65, 0xa1, 0x31, 0x05, 0xd1, 0x47, 0x64, 0xb8, 0x11, 0x47, 0x46, 0xf7, 0xc7, 0x28, 0x26, 0x10, 0xba, 0xdb, 0xcb, + 0x0b, 0xab, 0x4f, 0xcb, 0xb6, 0x3a, 0x88, 0x6b, 0x4c, 0x93, 0x3b, 0x08, 0x6a, 0x8c, 0x82, 0x36, 0xa7, 0x1b, 0xfd, + 0x77, 0x11, 0xfa, 0x76, 0xe1, 0xd8, 0x8d, 0x82, 0x48, 0x88, 0x48, 0xeb, 0x35, 0x15, 0x03, 0xd4, 0xce, 0x63, 0x17, + 0xb1, 0x4a, 0x77, 0x0b, 0x51, 0xde, 0xa8, 0xac, 0x5f, 0xaf, 0x43, 0xb2, 0xdb, 0x61, 0x59, 0xe0, 0xcb, 0xfe, 0x74, + 0x7d, 0x07, 0x04, 0xfa, 0x83, 0xf5, 0x17, 0x21, 0xd0, 0x9f, 0x65, 0x5f, 0x03, 0x81, 0xfe, 0x60, 0xfd, 0x3f, 0x0d, + 0x81, 0xfe, 0x74, 0xed, 0x41, 0xa0, 0xab, 0xc1, 0xf8, 0x67, 0xc1, 0x82, 0xb7, 0x6f, 0x02, 0xfa, 0x4c, 0xb2, 0xe0, + 0xed, 0x8b, 0x17, 0x9e, 0x30, 0xfd, 0x63, 0xa6, 0x91, 0xfc, 0x8d, 0x2c, 0x18, 0x71, 0x5b, 0xe0, 0x15, 0x6a, 0x9d, + 0x7c, 0xa0, 0xa2, 0x0c, 0x80, 0xe8, 0xcb, 0xdf, 0xb2, 0x6a, 0x19, 0x06, 0x87, 0x01, 0x99, 0x39, 0x48, 0xd0, 0xe1, + 0xa4, 0x71, 0x7b, 0xfb, 0x45, 0x34, 0x84, 0x3a, 0x36, 0xf2, 0x00, 0x7c, 0xe5, 0x72, 0xbd, 0xf5, 0x6f, 0x88, 0xf8, + 0xc9, 0xcc, 0x82, 0x8e, 0x1e, 0x06, 0x04, 0x3c, 0x96, 0x32, 0x0f, 0x81, 0x73, 0xee, 0x87, 0x84, 0xfe, 0xb1, 0xf0, + 0x6c, 0x8b, 0x7e, 0x11, 0x61, 0x05, 0x3e, 0x77, 0x7f, 0xad, 0xf9, 0x59, 0x96, 0x12, 0x27, 0x0f, 0xe5, 0x22, 0x91, + 0x29, 0xff, 0xe5, 0xfd, 0x2b, 0x8b, 0x3c, 0x1e, 0x2a, 0xe8, 0x25, 0x82, 0x21, 0x8d, 0x53, 0x7e, 0x9d, 0x25, 0x7c, + 0xf6, 0xc7, 0x83, 0x6d, 0x67, 0x46, 0xf5, 0x9a, 0xd4, 0x87, 0x7f, 0x44, 0x41, 0xa0, 0xc7, 0xe0, 0x8f, 0x07, 0xdb, + 0xac, 0x3e, 0x7c, 0xb0, 0xad, 0x46, 0xa9, 0x04, 0x78, 0x6f, 0xf8, 0x2d, 0xeb, 0x07, 0xdb, 0x12, 0x7e, 0xf0, 0xfa, + 0x0f, 0x0f, 0x98, 0xcd, 0x36, 0xc8, 0xeb, 0x83, 0x55, 0x5e, 0x39, 0x4c, 0xd0, 0x7b, 0x0a, 0x16, 0xa6, 0x50, 0x87, + 0x47, 0xb5, 0xf6, 0xe4, 0x7e, 0x53, 0xdd, 0x75, 0x42, 0xe0, 0x1a, 0xe9, 0x06, 0x0e, 0xa1, 0xb2, 0x04, 0x3b, 0xe9, + 0xe8, 0x94, 0x20, 0xa6, 0xe6, 0xc3, 0x40, 0xd9, 0xfa, 0x7a, 0xc1, 0x8a, 0x5d, 0x33, 0x31, 0xbe, 0xd3, 0x18, 0xd8, + 0x70, 0xd1, 0xd5, 0x62, 0xce, 0xfe, 0x30, 0x3d, 0xde, 0xaf, 0x42, 0x12, 0xc4, 0xc8, 0xf6, 0xfb, 0xc4, 0xeb, 0x59, + 0xca, 0xab, 0x38, 0xcb, 0x59, 0x9c, 0xe7, 0x7f, 0xa0, 0x2c, 0xe2, 0xc7, 0xaf, 0x02, 0xdd, 0x1f, 0x8d, 0x46, 0x71, + 0x71, 0x89, 0x57, 0x7f, 0x43, 0x6e, 0x11, 0x16, 0x3b, 0xe3, 0xa5, 0x0d, 0xac, 0xb2, 0x8c, 0xcb, 0x33, 0x1d, 0xd1, + 0xa8, 0xb4, 0x04, 0xbb, 0x5c, 0xca, 0x9b, 0x33, 0x88, 0xee, 0x60, 0x29, 0x78, 0x8c, 0x03, 0xa8, 0xee, 0x4d, 0x3a, + 0xec, 0xf2, 0xe9, 0x5a, 0xbf, 0x3b, 0x8f, 0x4b, 0xfe, 0x2e, 0xae, 0x96, 0x0c, 0xf6, 0x82, 0xa6, 0xea, 0x85, 0x5c, + 0xaf, 0x5c, 0x25, 0x67, 0x6b, 0xf1, 0x49, 0xc8, 0x1b, 0xa1, 0x68, 0xef, 0x19, 0xbf, 0x86, 0x16, 0xb1, 0x2d, 0xea, + 0xac, 0x04, 0x4f, 0x2a, 0x8f, 0x13, 0x57, 0xb1, 0x00, 0x32, 0x6a, 0xa2, 0x01, 0x74, 0xe4, 0xa0, 0xa1, 0xdd, 0x6b, + 0xda, 0xb1, 0xdc, 0xa8, 0x2c, 0x32, 0xb0, 0x84, 0x7d, 0x0e, 0xa5, 0x03, 0x62, 0x3b, 0x84, 0x0b, 0x81, 0xab, 0x27, + 0x5e, 0x8d, 0x1a, 0x88, 0x3d, 0xb4, 0xf4, 0xdd, 0x85, 0x14, 0xab, 0x45, 0x30, 0xb0, 0x24, 0xac, 0xee, 0xb3, 0x2c, + 0x05, 0x30, 0xde, 0x2c, 0xd5, 0x9a, 0xf3, 0xc6, 0xc0, 0xe1, 0x85, 0x1b, 0x9d, 0x88, 0xd1, 0x1f, 0xda, 0x2d, 0x53, + 0xc6, 0x98, 0xb2, 0x41, 0x2b, 0x7a, 0x28, 0x1a, 0x93, 0xbe, 0xa6, 0x5a, 0x87, 0x98, 0xf3, 0x4c, 0xf4, 0xb6, 0xca, + 0xb9, 0x67, 0x0e, 0xe6, 0x61, 0x7e, 0xf9, 0x80, 0x16, 0x8a, 0x79, 0xcf, 0xc4, 0xfa, 0x8a, 0x17, 0x59, 0x72, 0xb6, + 0xcc, 0xca, 0x4a, 0x16, 0x9b, 0xc5, 0x34, 0xd6, 0x08, 0x93, 0x9a, 0x53, 0xa2, 0x5f, 0xf7, 0x1d, 0x78, 0x29, 0xaa, + 0x60, 0x26, 0xc3, 0x27, 0x63, 0x52, 0x6b, 0xcb, 0x79, 0xe8, 0x1e, 0xb5, 0xbf, 0x75, 0xaf, 0x5d, 0x82, 0xda, 0x44, + 0xee, 0xd9, 0xf6, 0x92, 0x36, 0x9d, 0x20, 0xda, 0x4d, 0xa0, 0x66, 0x9d, 0x15, 0xfc, 0xaf, 0x35, 0x37, 0xa1, 0x10, + 0x42, 0x07, 0xf3, 0x1d, 0x96, 0xc6, 0x0a, 0x46, 0xd1, 0x6f, 0x55, 0xb7, 0x22, 0xcd, 0xad, 0x17, 0xaa, 0x0d, 0x84, + 0xa8, 0xab, 0x64, 0x9a, 0x3e, 0x47, 0x44, 0x77, 0x10, 0xa1, 0xe0, 0xc6, 0xb3, 0x01, 0xc1, 0xba, 0xd6, 0xd6, 0x5c, + 0x2e, 0x66, 0xf7, 0xbe, 0x1d, 0x0c, 0xa2, 0x7b, 0xdf, 0xb3, 0xc9, 0x3d, 0x2b, 0x77, 0x2e, 0x17, 0xc7, 0xc6, 0x18, + 0x73, 0x8a, 0xb6, 0x2d, 0xe1, 0xbb, 0x75, 0xd8, 0xdc, 0x0c, 0x70, 0x1a, 0x6e, 0xaf, 0x78, 0xb5, 0x94, 0x69, 0x14, + 0xfc, 0xf8, 0xfc, 0x63, 0x60, 0x14, 0xd9, 0xb1, 0x86, 0x30, 0xd2, 0xba, 0x9d, 0x5c, 0x5e, 0x86, 0x31, 0xc4, 0xb2, + 0x1e, 0xc9, 0x4f, 0x7b, 0x31, 0x3f, 0xff, 0x78, 0xf9, 0xf1, 0xe3, 0xbb, 0x03, 0x54, 0xff, 0xf4, 0x0e, 0x3e, 0x28, + 0x2c, 0x81, 0x83, 0x07, 0xdb, 0x58, 0x2b, 0xdc, 0xeb, 0x3f, 0xec, 0xc9, 0x15, 0xb7, 0xd4, 0xe5, 0xc6, 0xad, 0xce, + 0xab, 0xa2, 0x35, 0x8e, 0xb1, 0xd3, 0x69, 0xfb, 0x99, 0x95, 0xae, 0x29, 0x40, 0x4d, 0x8a, 0xaa, 0x39, 0x0a, 0x28, + 0xe4, 0x85, 0xb8, 0x0b, 0x61, 0x75, 0xc7, 0xc6, 0xab, 0xba, 0x36, 0x9e, 0x2c, 0xaa, 0x4c, 0x5c, 0x9e, 0x21, 0x2d, + 0xf8, 0x9a, 0x0d, 0x68, 0x63, 0xbc, 0x29, 0xea, 0xe1, 0xed, 0xb4, 0x82, 0x9d, 0x14, 0x4d, 0xe0, 0x32, 0x6d, 0xa2, + 0xbb, 0xd5, 0xb6, 0x2d, 0xa3, 0xd1, 0xa8, 0xac, 0xa7, 0xfe, 0xc7, 0xc6, 0x7e, 0xc4, 0x4f, 0x53, 0xb0, 0x6e, 0xc0, + 0x11, 0xc1, 0xce, 0x35, 0xed, 0xbb, 0x41, 0x29, 0xca, 0x71, 0xd2, 0x4a, 0x98, 0x0d, 0x27, 0xd1, 0x84, 0xd8, 0x68, + 0x13, 0x9a, 0xa2, 0xfd, 0x38, 0x7a, 0xfe, 0xe6, 0xe3, 0xab, 0x8f, 0xff, 0x3e, 0x7b, 0x7a, 0xfa, 0xf1, 0xf9, 0x8f, + 0x6f, 0xdf, 0xbf, 0x7a, 0xfe, 0x01, 0xcf, 0x0b, 0x0d, 0x5f, 0x19, 0x6e, 0xb5, 0x8d, 0x74, 0xb3, 0xac, 0x48, 0xd4, + 0xa4, 0xd9, 0x14, 0x85, 0x1f, 0x85, 0x99, 0x6d, 0x91, 0xbf, 0xbc, 0x79, 0xf6, 0xfc, 0xc5, 0xab, 0x37, 0xcf, 0x9f, + 0xb5, 0xbf, 0x1e, 0x4e, 0x6a, 0x52, 0xbb, 0x99, 0xd3, 0xf1, 0x52, 0xcc, 0xad, 0x00, 0x70, 0x06, 0x2c, 0xd9, 0xca, + 0x80, 0x6c, 0x99, 0x71, 0xec, 0xa0, 0x59, 0x88, 0x3d, 0xe6, 0xd3, 0xac, 0x4a, 0x8d, 0x64, 0xbf, 0x5f, 0xb9, 0x73, + 0x3f, 0xd3, 0x7b, 0x6f, 0xb7, 0x7b, 0xbb, 0x06, 0x27, 0x76, 0x0d, 0x03, 0x0c, 0x86, 0xad, 0x54, 0xbd, 0x89, 0x4a, + 0x6a, 0x0b, 0x89, 0x2a, 0xaa, 0x82, 0x2d, 0x9c, 0x25, 0x71, 0xc5, 0x2f, 0x65, 0xb1, 0x89, 0xb2, 0x51, 0x2b, 0x85, + 0x36, 0x16, 0x43, 0x14, 0xa2, 0x85, 0xb1, 0x9f, 0x44, 0x7a, 0x6a, 0xf7, 0x8b, 0xa8, 0x63, 0x84, 0xe7, 0x2e, 0x8e, + 0x40, 0xbb, 0x60, 0xb2, 0xd8, 0xed, 0x3a, 0x06, 0xb0, 0x93, 0x12, 0x46, 0xf3, 0x4c, 0x91, 0xc8, 0x45, 0x3d, 0x95, + 0x78, 0xf0, 0xa9, 0x53, 0x8d, 0x99, 0x83, 0xf0, 0x54, 0x31, 0xd4, 0xc0, 0xc7, 0x7a, 0xaf, 0x4d, 0xc8, 0x99, 0xff, + 0xaf, 0xbd, 0x67, 0x5b, 0x6e, 0xdb, 0x48, 0xf6, 0x3d, 0x5f, 0x01, 0xc1, 0x5e, 0x1b, 0xb0, 0x01, 0x08, 0x20, 0x75, + 0xa1, 0x49, 0x81, 0x4a, 0x6c, 0xcb, 0x49, 0x76, 0x95, 0x38, 0x65, 0x2b, 0xde, 0x8b, 0x56, 0x25, 0x82, 0xe4, 0x90, + 0xc4, 0x1a, 0x04, 0x58, 0x00, 0x28, 0x4a, 0xa1, 0xb1, 0xdf, 0xb2, 0x9f, 0x70, 0xbe, 0x61, 0xbf, 0xec, 0x54, 0x77, + 0xcf, 0x00, 0x83, 0x0b, 0x29, 0x2a, 0x76, 0xb2, 0x7b, 0xaa, 0x4e, 0x25, 0xb6, 0x89, 0xc1, 0xcc, 0xa0, 0xe7, 0xd6, + 0xdd, 0xd3, 0xd7, 0x32, 0xa5, 0xb4, 0x2b, 0xf8, 0x57, 0x58, 0x21, 0x57, 0x4a, 0x69, 0xcb, 0x81, 0x98, 0xd3, 0xed, + 0xe3, 0xaa, 0x81, 0x55, 0xa1, 0xb8, 0x27, 0x83, 0x99, 0x60, 0x65, 0xd7, 0x89, 0x79, 0x98, 0x75, 0x69, 0xc3, 0x1b, + 0x81, 0x0b, 0xa6, 0x87, 0x1b, 0x6a, 0x8d, 0xbb, 0x5e, 0x29, 0x14, 0x66, 0x5c, 0x9e, 0xd4, 0x13, 0xaf, 0xfc, 0x0c, + 0x5b, 0xba, 0x52, 0x05, 0x7c, 0x63, 0x2a, 0x95, 0x40, 0x0a, 0x16, 0x9c, 0xd2, 0xe7, 0xad, 0x34, 0x3a, 0x8f, 0x56, + 0x42, 0x70, 0x7c, 0xe2, 0x35, 0x14, 0xe2, 0x39, 0xe9, 0x8e, 0x4e, 0x02, 0xfa, 0xe1, 0x64, 0x1b, 0x28, 0x40, 0x56, + 0x4c, 0x70, 0xce, 0xb6, 0x0e, 0xe8, 0x32, 0x75, 0xfd, 0x78, 0x2d, 0xb6, 0x5c, 0x36, 0xf0, 0xf3, 0xb4, 0xb0, 0x25, + 0x96, 0x23, 0xe3, 0x53, 0x2f, 0x47, 0x21, 0x6d, 0xa8, 0xc6, 0xf7, 0x87, 0xeb, 0x37, 0xf2, 0x2d, 0x16, 0x3d, 0x32, + 0xa2, 0xe9, 0xcd, 0x55, 0xd8, 0x2d, 0x1b, 0x69, 0x4d, 0x80, 0x91, 0xe0, 0x49, 0x0c, 0x01, 0x03, 0x33, 0x23, 0xea, + 0xff, 0x36, 0xae, 0xa2, 0x7e, 0xb4, 0xbf, 0xcb, 0x91, 0xff, 0x4f, 0x6f, 0xdf, 0x5f, 0x80, 0x5e, 0xcb, 0x43, 0x45, + 0xf4, 0x5a, 0xe5, 0x36, 0x2c, 0x26, 0x68, 0x8a, 0xd4, 0xae, 0xea, 0x2d, 0x80, 0x3a, 0xe3, 0x8d, 0x61, 0xff, 0xd6, + 0x5c, 0xad, 0x56, 0x26, 0x58, 0xb4, 0x9a, 0xcb, 0x38, 0x20, 0xee, 0x70, 0xac, 0x66, 0x02, 0xa9, 0xb3, 0x0a, 0x52, + 0x87, 0x70, 0xb8, 0x3c, 0x9f, 0xca, 0xfb, 0x59, 0xb4, 0xfa, 0x26, 0x08, 0x64, 0xb1, 0x8d, 0x60, 0xe2, 0xb8, 0x24, + 0xa3, 0x84, 0x0c, 0x34, 0xd0, 0x3e, 0x59, 0x7e, 0x72, 0xcd, 0xed, 0x05, 0xc6, 0xd7, 0xc3, 0xbb, 0x6b, 0xae, 0x93, + 0xc8, 0xe3, 0x11, 0xbf, 0x1f, 0x9c, 0x8c, 0xfd, 0x1b, 0x05, 0x39, 0x4d, 0x57, 0x05, 0x67, 0xae, 0x80, 0x0d, 0x97, + 0x69, 0x1a, 0x85, 0x66, 0x1c, 0xad, 0xd4, 0xfe, 0x09, 0x3d, 0x88, 0x0a, 0x1e, 0x3d, 0xaa, 0xca, 0xd7, 0xa3, 0xc0, + 0x1f, 0x7d, 0x74, 0xd5, 0xc7, 0x6b, 0xdf, 0xed, 0x57, 0xf8, 0x49, 0x3b, 0x53, 0xfb, 0x00, 0xab, 0xf2, 0x4d, 0x10, + 0x9c, 0xec, 0x53, 0x8b, 0xfe, 0xc9, 0xfe, 0xd8, 0xbf, 0xe9, 0x4b, 0xa9, 0x61, 0xb8, 0xde, 0xd4, 0xe5, 0x21, 0x38, + 0x73, 0x4b, 0xb3, 0x04, 0x63, 0x3a, 0x8c, 0x98, 0x56, 0x5c, 0x7e, 0x21, 0xd6, 0x0c, 0xc1, 0xab, 0x8d, 0x50, 0x9c, + 0x1e, 0xc0, 0x55, 0xef, 0xd3, 0x27, 0x2d, 0xb7, 0x43, 0x9d, 0x49, 0x41, 0xda, 0x50, 0xcd, 0x87, 0x55, 0x0c, 0x8c, + 0x34, 0xa3, 0x6b, 0x22, 0x94, 0x5c, 0xa0, 0x1b, 0xa3, 0xcc, 0xc0, 0x0c, 0x3b, 0xde, 0x02, 0x34, 0x8e, 0xfc, 0xa7, + 0x74, 0x23, 0x1e, 0x41, 0x56, 0x6d, 0x09, 0x89, 0xeb, 0x92, 0xce, 0x85, 0x4e, 0x21, 0x8f, 0x13, 0x08, 0xca, 0x12, + 0xfc, 0x0e, 0xe9, 0x41, 0xb4, 0x40, 0x87, 0xac, 0x6e, 0x79, 0x70, 0x1e, 0x2f, 0x13, 0x79, 0xd4, 0xc4, 0xbc, 0x9c, + 0x96, 0x56, 0xa8, 0x5b, 0x5d, 0x2f, 0x11, 0x35, 0x72, 0x2f, 0xd9, 0xb4, 0x64, 0xa0, 0xc3, 0xd3, 0x52, 0xa3, 0x42, + 0x73, 0xc1, 0xab, 0x4f, 0x52, 0x1c, 0x31, 0x43, 0xbb, 0x4c, 0x8c, 0xe8, 0xaa, 0xa0, 0x53, 0x09, 0x21, 0xca, 0x6e, + 0x94, 0x15, 0x01, 0x9c, 0x69, 0xd5, 0xfb, 0x8f, 0xd7, 0x21, 0x12, 0xb6, 0xc4, 0xed, 0x97, 0xf7, 0x41, 0xea, 0x0d, + 0x4d, 0xda, 0xcc, 0xaa, 0xf2, 0xf5, 0x78, 0x18, 0xe4, 0x8b, 0x4d, 0x87, 0x60, 0xe6, 0x85, 0xe3, 0x80, 0x5d, 0x78, + 0xc3, 0xef, 0xb0, 0xce, 0xeb, 0x61, 0xf0, 0x0a, 0x2a, 0x64, 0x6a, 0xff, 0xf1, 0x9a, 0x48, 0x77, 0x13, 0xc2, 0xce, + 0x68, 0x0b, 0x54, 0xbf, 0xc3, 0x53, 0x2e, 0xb1, 0x98, 0x5a, 0x23, 0xb0, 0x44, 0x6e, 0x29, 0x8e, 0x6d, 0x19, 0x32, + 0x9e, 0xf2, 0x07, 0xf6, 0xa6, 0xc2, 0x4f, 0x2d, 0xc0, 0x15, 0x89, 0x13, 0x2c, 0xef, 0x4c, 0x19, 0x58, 0x22, 0xab, + 0xef, 0xa2, 0x95, 0x80, 0x94, 0x4f, 0x00, 0x85, 0xa8, 0x3c, 0x7d, 0x3f, 0x38, 0x91, 0xd5, 0x42, 0x28, 0x3b, 0xa7, + 0x7e, 0xe1, 0x57, 0xa6, 0x2a, 0x45, 0x02, 0xa8, 0xc5, 0xad, 0xda, 0x3f, 0xd9, 0x97, 0x6b, 0xf7, 0x07, 0xdd, 0x33, + 0x69, 0x70, 0xd8, 0xab, 0xb8, 0x37, 0x5f, 0x16, 0x0f, 0xd9, 0x95, 0x02, 0xb7, 0xe4, 0x0c, 0x4a, 0x60, 0x8e, 0xca, + 0x4d, 0x6a, 0xe4, 0x07, 0x52, 0x26, 0x16, 0x04, 0x8a, 0x76, 0x8f, 0xc0, 0x8f, 0x91, 0xde, 0xcd, 0x97, 0x90, 0x2c, + 0x33, 0x45, 0x6f, 0x03, 0xfe, 0x6f, 0x31, 0x25, 0x28, 0xe9, 0x66, 0x61, 0x12, 0xc5, 0x2a, 0x0c, 0xb3, 0x9a, 0x37, + 0x49, 0x91, 0xf2, 0xb5, 0xe1, 0x80, 0x1b, 0xc9, 0x2a, 0x4c, 0xd8, 0x7e, 0xb5, 0xa9, 0x34, 0xee, 0x81, 0x5e, 0xfc, + 0x50, 0xf8, 0x60, 0x2a, 0x48, 0x2b, 0x07, 0x70, 0x73, 0x3e, 0xaa, 0xcb, 0xc7, 0xbe, 0xf1, 0xe7, 0xc8, 0x18, 0x7a, + 0xc6, 0xb5, 0x67, 0xfc, 0x10, 0x5e, 0x65, 0x8d, 0x8b, 0x97, 0xe7, 0x92, 0x33, 0x58, 0x4f, 0x83, 0x08, 0x4c, 0xe5, + 0x4b, 0x85, 0x6f, 0x71, 0x9b, 0x91, 0x0b, 0x2f, 0x9e, 0x32, 0x91, 0xc2, 0x4d, 0xbc, 0x15, 0xb2, 0x03, 0x5d, 0x9a, + 0x16, 0x08, 0x4f, 0xb6, 0xc7, 0x4d, 0xeb, 0x7c, 0x6b, 0x94, 0xc6, 0xc1, 0x9f, 0xd8, 0x1d, 0xb0, 0x59, 0x49, 0x1a, + 0x2d, 0x40, 0x66, 0xe5, 0x4d, 0xb9, 0x0e, 0xc2, 0xd0, 0xd8, 0x6e, 0x9f, 0xfb, 0xf4, 0x89, 0x49, 0x59, 0xc5, 0xd2, + 0x68, 0x3a, 0x0d, 0x98, 0x26, 0x65, 0x1f, 0xcb, 0x3f, 0x73, 0xba, 0x67, 0x8b, 0xc8, 0xd5, 0x7a, 0xb6, 0xe9, 0x60, + 0x89, 0x11, 0xb3, 0x9c, 0x1b, 0x04, 0xc4, 0x45, 0xc6, 0x55, 0xc8, 0x90, 0x6b, 0xe2, 0x5c, 0x14, 0x07, 0xd7, 0x1c, + 0x47, 0xcb, 0x61, 0xc0, 0x4c, 0x3c, 0x0d, 0xf0, 0xc9, 0xf5, 0x70, 0x39, 0x1c, 0x06, 0x94, 0x2e, 0x0c, 0xe2, 0xaf, + 0x45, 0x09, 0xca, 0x45, 0x33, 0xbd, 0x07, 0x83, 0xb2, 0xd2, 0x2a, 0xf8, 0x60, 0x33, 0x09, 0x37, 0x07, 0xfa, 0x40, + 0x0a, 0x32, 0xd0, 0xfa, 0x99, 0x76, 0x55, 0xb8, 0xb1, 0xb0, 0x44, 0xed, 0x35, 0xb0, 0x74, 0xee, 0xa5, 0xfa, 0x1e, + 0x67, 0x58, 0xf1, 0xc2, 0xb1, 0xf2, 0x8a, 0xf6, 0xae, 0x6a, 0xa8, 0x64, 0xfa, 0xc5, 0xb3, 0xcb, 0xa9, 0x86, 0xfa, + 0xda, 0xf7, 0xa6, 0x61, 0x94, 0xa4, 0xfe, 0x48, 0xbd, 0xea, 0xbd, 0xf6, 0xb5, 0xcb, 0x79, 0xaa, 0xe9, 0x57, 0xc6, + 0xb7, 0x72, 0x1e, 0x30, 0x81, 0x29, 0x31, 0x0d, 0xd8, 0x86, 0x3a, 0xf2, 0xe9, 0xd9, 0x56, 0x4f, 0x60, 0x64, 0xac, + 0xf3, 0xad, 0x0b, 0xb5, 0x2a, 0x19, 0xc5, 0x30, 0x55, 0x24, 0x64, 0x14, 0xfb, 0x56, 0xef, 0x91, 0x10, 0xe6, 0x9b, + 0xe5, 0x1a, 0x99, 0x86, 0xb4, 0x20, 0xbe, 0x18, 0x04, 0x5f, 0x78, 0x8e, 0xd2, 0xf3, 0x9e, 0xec, 0xf5, 0x50, 0x22, + 0xe3, 0x83, 0x6f, 0xca, 0x1c, 0xc8, 0xe3, 0x75, 0x9a, 0x81, 0xc9, 0x61, 0x18, 0xa5, 0x0a, 0x44, 0x76, 0x83, 0x0f, + 0x0e, 0xaa, 0x56, 0xd2, 0xbc, 0x57, 0x4d, 0xcf, 0x38, 0x16, 0x78, 0x89, 0xb4, 0x14, 0x25, 0x97, 0x10, 0x88, 0x02, + 0x82, 0x94, 0x96, 0xe2, 0x38, 0x71, 0xdf, 0x3c, 0x58, 0xbe, 0x12, 0xff, 0x26, 0xe1, 0xfd, 0x32, 0x3d, 0x7f, 0xbc, + 0x4e, 0x4e, 0x05, 0x51, 0xff, 0x3e, 0xc1, 0xb5, 0x04, 0x76, 0x85, 0x53, 0xf9, 0x4c, 0x55, 0x4e, 0x05, 0x25, 0xc2, + 0xba, 0x25, 0xf4, 0xaa, 0x09, 0x76, 0x37, 0x16, 0x31, 0xf3, 0xb9, 0x18, 0x45, 0x30, 0x60, 0x95, 0xa3, 0x07, 0xc1, + 0x9a, 0x72, 0xde, 0x2a, 0x05, 0x8b, 0x6b, 0x24, 0x18, 0x80, 0xb9, 0x38, 0x8f, 0x30, 0xc8, 0xae, 0x81, 0x91, 0x84, + 0x08, 0x66, 0x62, 0x8c, 0x46, 0x24, 0x27, 0x91, 0xf3, 0xc3, 0xc5, 0x32, 0xc5, 0xc8, 0xf4, 0x00, 0x00, 0xcb, 0x54, + 0x05, 0x2f, 0x8c, 0x80, 0xeb, 0x8b, 0x0b, 0x4f, 0xa6, 0x2a, 0xfe, 0xb8, 0x5e, 0xc6, 0xa5, 0x33, 0x80, 0xe3, 0x70, + 0x18, 0xa8, 0xd7, 0x81, 0xc7, 0x98, 0x0f, 0x63, 0x64, 0x14, 0x69, 0x5d, 0xb4, 0x11, 0xda, 0x3f, 0x34, 0x20, 0x90, + 0x11, 0xf5, 0xd3, 0xd3, 0x82, 0xc6, 0xc1, 0x42, 0xb4, 0xea, 0xd2, 0x30, 0x07, 0x20, 0xa3, 0x3c, 0x85, 0xb9, 0x73, + 0xe1, 0x52, 0x2f, 0x4c, 0xeb, 0xd4, 0x0b, 0x95, 0xec, 0xea, 0x06, 0x38, 0x0d, 0x83, 0xec, 0xba, 0x70, 0x74, 0x2d, + 0xc6, 0x0b, 0x5b, 0x92, 0xca, 0x15, 0xb4, 0x74, 0x73, 0xb9, 0x3d, 0xdb, 0x22, 0xf6, 0xe7, 0x5e, 0x7c, 0x47, 0xe6, + 0x6f, 0x86, 0x6c, 0x23, 0xa7, 0xab, 0x0a, 0xd1, 0x03, 0x9a, 0x00, 0x22, 0x0d, 0xaa, 0xf2, 0x75, 0x5e, 0xc6, 0xf8, + 0x68, 0x73, 0x1b, 0x20, 0xf8, 0xd6, 0xb5, 0xfa, 0x9c, 0x59, 0x24, 0x7f, 0xa4, 0x26, 0x3d, 0x2d, 0xd9, 0x30, 0xbc, + 0xa4, 0x3c, 0xbc, 0xb0, 0xbc, 0xd1, 0x70, 0x30, 0x44, 0x29, 0x08, 0x6e, 0x1c, 0x19, 0x26, 0xc1, 0x6c, 0x5e, 0x51, + 0x7a, 0xf7, 0xbb, 0x2e, 0x07, 0x83, 0xe5, 0x08, 0x61, 0x39, 0x1a, 0x44, 0xb3, 0x9e, 0x58, 0x11, 0xe0, 0x45, 0x80, + 0x0b, 0x89, 0x91, 0x03, 0xa1, 0xfc, 0x98, 0x4a, 0xbe, 0x85, 0x62, 0x38, 0x1a, 0x04, 0x3b, 0x1d, 0x8d, 0xd8, 0x75, + 0x23, 0x6c, 0x15, 0x67, 0x27, 0xfb, 0x54, 0x9b, 0x88, 0x22, 0x55, 0x82, 0x69, 0x88, 0x61, 0x84, 0xc5, 0x2c, 0x40, + 0x82, 0x70, 0xd7, 0x29, 0x2e, 0x3a, 0xd6, 0x1c, 0xd5, 0xd2, 0xce, 0x69, 0x99, 0xe1, 0xc1, 0x56, 0x6a, 0xff, 0x04, + 0x53, 0x7e, 0x02, 0x59, 0x87, 0xa0, 0x58, 0x27, 0xfb, 0xf4, 0xa8, 0x54, 0x4e, 0x44, 0xd1, 0x89, 0x90, 0x41, 0x76, + 0x79, 0x07, 0x0f, 0x3a, 0x2a, 0x49, 0xca, 0x16, 0x50, 0xea, 0x65, 0xaa, 0x32, 0xe7, 0x0c, 0x16, 0x8f, 0xbe, 0x07, + 0xa1, 0x79, 0x6c, 0x70, 0x89, 0x50, 0x95, 0xb9, 0x77, 0x8b, 0x23, 0x17, 0x6f, 0xbc, 0x5b, 0xcd, 0xe1, 0xaf, 0x8a, + 0xb3, 0x96, 0x94, 0xcf, 0xda, 0xa8, 0x76, 0x43, 0x0e, 0xe0, 0x86, 0x3c, 0x6a, 0x5e, 0xdc, 0x99, 0x58, 0xdc, 0xf1, + 0x86, 0xc5, 0x1d, 0x6f, 0x59, 0xdc, 0x80, 0x2f, 0xa4, 0x92, 0x4f, 0x5d, 0x8c, 0xbe, 0xd4, 0xf9, 0xe4, 0x71, 0x7e, + 0xa4, 0xcb, 0xcf, 0x19, 0xce, 0x93, 0x99, 0x04, 0x60, 0x4b, 0xbc, 0x61, 0xae, 0x9a, 0xe6, 0x45, 0x9a, 0x88, 0xfa, + 0xc0, 0xf3, 0x53, 0x27, 0xc6, 0x0d, 0x29, 0xbc, 0xb5, 0xa0, 0x3a, 0x5e, 0xd8, 0xa5, 0xd8, 0xd0, 0xd0, 0x66, 0x1b, + 0x46, 0x3a, 0xdb, 0x32, 0xd2, 0x51, 0xe9, 0xe8, 0xf2, 0x61, 0xd3, 0x21, 0x94, 0x07, 0x05, 0x7b, 0x10, 0xfc, 0x2b, + 0x70, 0xcb, 0x94, 0xf7, 0xe1, 0x66, 0x1c, 0x2b, 0xed, 0xa8, 0x85, 0x97, 0x24, 0xab, 0x28, 0x06, 0x03, 0x05, 0xe8, + 0xe6, 0x61, 0x5b, 0x6a, 0xee, 0x87, 0x3c, 0xf6, 0xd9, 0xc6, 0xcd, 0x54, 0xbc, 0x97, 0xb7, 0x54, 0xeb, 0xf0, 0x90, + 0x6a, 0x2c, 0xbc, 0x34, 0x65, 0x31, 0x4e, 0xba, 0x07, 0x49, 0x32, 0xfe, 0x4b, 0xb6, 0x59, 0x03, 0x0e, 0x09, 0x24, + 0xac, 0x8e, 0x18, 0x7a, 0x01, 0x2c, 0x18, 0x69, 0x24, 0x43, 0x7d, 0x2d, 0xc5, 0x51, 0x8d, 0xf3, 0x89, 0xff, 0x11, + 0x8f, 0xab, 0x16, 0x4b, 0x9e, 0xbe, 0xce, 0x91, 0x6e, 0x2d, 0xbc, 0xf1, 0x7b, 0xb0, 0x83, 0xd1, 0x5a, 0x06, 0xf8, + 0xb4, 0xc8, 0x51, 0x53, 0x63, 0xe2, 0x09, 0x47, 0x05, 0x92, 0x44, 0x2c, 0xc9, 0x2d, 0x86, 0x21, 0xd8, 0x80, 0x67, + 0x4e, 0xae, 0xd6, 0xad, 0x6c, 0x7f, 0xea, 0xeb, 0x35, 0xac, 0x09, 0xa8, 0x2d, 0x70, 0xfb, 0xb9, 0xd0, 0x2d, 0x30, + 0x9c, 0x23, 0x1d, 0x14, 0xa5, 0x97, 0x90, 0x0e, 0xdd, 0x16, 0x97, 0xe9, 0x41, 0x0c, 0x54, 0x0b, 0xd4, 0x8a, 0x4f, + 0xa6, 0xf8, 0xcb, 0xb9, 0xca, 0x9e, 0x0c, 0xf1, 0x57, 0xeb, 0x2a, 0x57, 0x62, 0x55, 0xa4, 0x08, 0xd2, 0x98, 0xd5, + 0x7e, 0x69, 0x3f, 0x91, 0xb9, 0xf6, 0x03, 0xb6, 0x0d, 0x5f, 0xe0, 0x47, 0x8f, 0xd7, 0x09, 0x04, 0x28, 0x90, 0xc7, + 0x10, 0x5a, 0xb1, 0x9e, 0x35, 0x96, 0x4f, 0x37, 0x94, 0x0f, 0xf5, 0xdf, 0x99, 0xf0, 0xe3, 0x2e, 0x89, 0x0a, 0x9a, + 0x52, 0x96, 0x81, 0x5c, 0x0f, 0xfd, 0xd0, 0x8b, 0xef, 0xae, 0xe9, 0x16, 0xa2, 0x09, 0x16, 0x3f, 0x97, 0xed, 0x10, + 0x2f, 0x5a, 0xb6, 0x0e, 0x49, 0x25, 0x45, 0xd5, 0x1d, 0x27, 0xf4, 0xee, 0x9f, 0x62, 0x89, 0xbf, 0x2b, 0x5d, 0x63, + 0xf9, 0x82, 0x94, 0x3e, 0x74, 0xfd, 0x78, 0xad, 0xb1, 0x7a, 0x37, 0x95, 0xd1, 0x56, 0x18, 0x48, 0x58, 0x1e, 0xbc, + 0x12, 0xcf, 0xc7, 0x7e, 0x17, 0xcd, 0x3f, 0x86, 0xd1, 0xad, 0xf9, 0x78, 0x9d, 0x9e, 0xaa, 0x73, 0x2f, 0xfe, 0xc8, + 0xc6, 0xe6, 0xc8, 0x8f, 0x47, 0x01, 0x30, 0x8f, 0xc3, 0xc0, 0x0b, 0x3f, 0xf2, 0x47, 0x33, 0x5a, 0xa6, 0x68, 0xd0, + 0x75, 0xef, 0x0d, 0x5a, 0xcc, 0x09, 0x09, 0x12, 0x91, 0xab, 0x6d, 0x98, 0x05, 0xe5, 0xfd, 0x40, 0x5c, 0xeb, 0x0b, + 0x46, 0xb1, 0xa8, 0x65, 0x80, 0x3f, 0x02, 0xd8, 0x98, 0x41, 0x80, 0x07, 0x43, 0xc5, 0xf5, 0x52, 0x0d, 0x79, 0xa8, + 0xa4, 0x55, 0xcb, 0x33, 0x14, 0x5f, 0x63, 0x0f, 0xbf, 0xfe, 0x73, 0x50, 0xf2, 0x90, 0xcf, 0xe5, 0xbd, 0x7c, 0xde, + 0x08, 0xa1, 0xd4, 0x24, 0xc7, 0xc2, 0x07, 0x7c, 0x9c, 0x33, 0x98, 0x9b, 0x3f, 0x2d, 0x37, 0xf6, 0x92, 0x64, 0x39, + 0x67, 0x63, 0x52, 0x89, 0x9d, 0x16, 0x40, 0x95, 0xef, 0x21, 0x32, 0x60, 0x7f, 0x5f, 0xb6, 0x8e, 0x0f, 0x5e, 0x81, + 0x81, 0x1f, 0x30, 0x94, 0xd1, 0x64, 0xa2, 0x16, 0xa2, 0x80, 0x7b, 0x9a, 0x39, 0x07, 0x7f, 0x5f, 0xbe, 0x39, 0xb3, + 0xdf, 0xe4, 0x8d, 0x43, 0x60, 0x8c, 0x85, 0xb5, 0x12, 0xe7, 0x8b, 0x25, 0x78, 0xc5, 0x88, 0x26, 0x5e, 0xb8, 0x79, + 0x38, 0x97, 0xa5, 0x2d, 0xbe, 0x60, 0x6c, 0x0c, 0x0c, 0xb7, 0x51, 0x2b, 0xbd, 0x0e, 0xd8, 0x0d, 0xcb, 0x2d, 0xa1, + 0xea, 0x1f, 0x6b, 0x68, 0x81, 0xa1, 0x5a, 0xb9, 0xee, 0x91, 0x73, 0x75, 0xd2, 0x90, 0x06, 0x38, 0x06, 0x3e, 0x72, + 0xf9, 0x88, 0x55, 0x8e, 0xd4, 0xc0, 0x50, 0x25, 0x00, 0x36, 0x42, 0x76, 0xba, 0xa1, 0xbc, 0x0b, 0x88, 0x7a, 0x03, + 0x6c, 0x86, 0xa3, 0x77, 0x21, 0xb5, 0x05, 0x9f, 0xa7, 0x00, 0x4e, 0x9e, 0x56, 0x48, 0x4d, 0x36, 0xcd, 0x58, 0x93, + 0xa8, 0x4d, 0x25, 0x21, 0x8d, 0x70, 0x0e, 0x40, 0x2f, 0x19, 0x21, 0xae, 0x6a, 0x5c, 0x1b, 0xa5, 0x3c, 0xf2, 0x21, + 0x26, 0x7e, 0x0f, 0x59, 0x92, 0x6c, 0x9c, 0xb0, 0x7c, 0xd1, 0x0d, 0xb5, 0xa8, 0x5d, 0x9e, 0x8f, 0xa2, 0xdc, 0xb0, + 0x0d, 0x60, 0x09, 0x70, 0x80, 0xd5, 0x6f, 0x21, 0x79, 0xb9, 0x9e, 0x73, 0xf3, 0xce, 0x78, 0x3a, 0x54, 0xb9, 0xe9, + 0xdd, 0xa6, 0xf7, 0x2b, 0x95, 0x03, 0x55, 0x22, 0xd3, 0x8d, 0xa0, 0x69, 0x25, 0xd4, 0x5b, 0x93, 0x2a, 0x61, 0x07, + 0x02, 0xa6, 0x0a, 0x7e, 0x65, 0x93, 0x09, 0x1b, 0xa5, 0x89, 0x2e, 0x64, 0x4c, 0x79, 0xb0, 0x75, 0x70, 0xb2, 0xdd, + 0x73, 0xd5, 0x1f, 0x21, 0xe4, 0x8c, 0x88, 0x49, 0xc8, 0x01, 0x12, 0x77, 0xa6, 0xe6, 0x69, 0xa2, 0x1e, 0xcb, 0x53, + 0xc4, 0xbf, 0x02, 0x52, 0xe8, 0x86, 0x72, 0x04, 0x8d, 0xd3, 0x9f, 0x62, 0x5f, 0x44, 0xb9, 0x11, 0xe8, 0x76, 0x54, + 0xb4, 0xed, 0xf8, 0xae, 0x9d, 0x37, 0x87, 0x8e, 0x9d, 0xa9, 0x06, 0xb8, 0x3a, 0x7f, 0xac, 0x6c, 0x63, 0x22, 0x50, + 0xae, 0x7a, 0xfe, 0xf6, 0xd5, 0x9f, 0xce, 0x5e, 0xef, 0x8a, 0x11, 0xb0, 0xcb, 0x36, 0x74, 0xb9, 0x0c, 0xb7, 0x74, + 0xfa, 0xf3, 0x8f, 0x0f, 0xeb, 0xb6, 0xe5, 0xbc, 0x70, 0x54, 0x83, 0xac, 0xd3, 0x25, 0xbc, 0x38, 0x8a, 0x6e, 0x58, + 0xfc, 0xd9, 0xd3, 0x20, 0x77, 0xde, 0x0c, 0xee, 0xdb, 0x9f, 0xce, 0x7e, 0xdc, 0x19, 0xd4, 0x23, 0xc7, 0x06, 0xdc, + 0x9e, 0x46, 0x8b, 0x07, 0x8c, 0xae, 0xad, 0x1a, 0xea, 0x28, 0x88, 0x12, 0xb6, 0x01, 0x82, 0x57, 0xe7, 0x6f, 0xdf, + 0xe3, 0x74, 0x15, 0x2c, 0x08, 0x75, 0xf5, 0x79, 0x83, 0xff, 0xe9, 0xdd, 0xd9, 0xfb, 0xf7, 0xaa, 0x81, 0xc9, 0xba, + 0x13, 0xb9, 0x77, 0xbe, 0x89, 0xef, 0xa1, 0x38, 0x8d, 0x7b, 0x9d, 0xa8, 0x1a, 0x5d, 0xa4, 0xcb, 0xa3, 0xa1, 0xb2, + 0xda, 0x36, 0xe7, 0xd4, 0x8e, 0x7f, 0x99, 0x6e, 0xbf, 0x3b, 0x8d, 0xab, 0x01, 0x1f, 0x6d, 0x27, 0xa9, 0xa5, 0x92, + 0xb9, 0x1f, 0x5e, 0x37, 0x94, 0x7a, 0xb7, 0x0d, 0xa5, 0x70, 0x7d, 0xac, 0xe1, 0xc7, 0x65, 0x34, 0x97, 0xd8, 0x11, + 0x76, 0x7b, 0xff, 0x74, 0x49, 0x77, 0xb8, 0xcf, 0x00, 0x9a, 0x27, 0x5b, 0xa9, 0x42, 0xdd, 0x50, 0xcc, 0x2f, 0x5e, + 0xf9, 0xdc, 0x8e, 0x02, 0xb0, 0xc9, 0x67, 0xb2, 0x1a, 0xb2, 0xcc, 0xaa, 0x72, 0x8f, 0x1a, 0xb7, 0x72, 0x2b, 0xa0, + 0x66, 0xa4, 0xba, 0xe1, 0x34, 0x65, 0xe1, 0x8d, 0xc1, 0xd0, 0xdd, 0x1c, 0x46, 0x69, 0x1a, 0xcd, 0xbb, 0x8e, 0xbd, + 0xb8, 0x55, 0x95, 0x9e, 0x10, 0x76, 0x70, 0x3b, 0xfc, 0xee, 0xbf, 0xff, 0x55, 0x41, 0xf3, 0x54, 0x7e, 0x9d, 0xb2, + 0xf9, 0x82, 0xc5, 0x5e, 0xba, 0x8c, 0x59, 0xa6, 0xfc, 0xfb, 0x7f, 0x5e, 0x55, 0x2e, 0xf6, 0x3d, 0xb9, 0x0d, 0xb1, + 0xf4, 0x72, 0x93, 0xeb, 0x20, 0x5a, 0xed, 0x15, 0x1e, 0x77, 0xf7, 0x54, 0x9e, 0xf9, 0xd3, 0x59, 0x5e, 0xfb, 0x34, + 0xdd, 0x32, 0x36, 0x01, 0x3d, 0xe9, 0x03, 0x94, 0xf3, 0x68, 0xd5, 0xfd, 0xf7, 0xbf, 0x72, 0x81, 0xcd, 0xbd, 0xbb, + 0xae, 0x19, 0xd0, 0xf2, 0x8a, 0x36, 0xd7, 0xa9, 0x2d, 0x31, 0xbc, 0xaf, 0x2d, 0x70, 0xad, 0x90, 0x76, 0x65, 0x5d, + 0x37, 0xb7, 0x65, 0x4c, 0xdf, 0xf9, 0xd3, 0xd9, 0xe7, 0x0e, 0x0a, 0x26, 0xf4, 0xde, 0x51, 0x41, 0xa5, 0x2f, 0x30, + 0xac, 0x41, 0x77, 0xf7, 0x05, 0xfb, 0xcc, 0x71, 0xdd, 0x37, 0xa4, 0x2f, 0x31, 0x1a, 0x2e, 0xb9, 0x7d, 0x3f, 0x18, + 0xe4, 0xc9, 0x6a, 0xe5, 0xf6, 0xe0, 0x33, 0x78, 0x5a, 0x2b, 0xe1, 0xec, 0x45, 0xd7, 0xd6, 0x29, 0x98, 0xcf, 0x0e, + 0x13, 0x82, 0xd6, 0xef, 0x0d, 0xd3, 0xb1, 0x19, 0x5f, 0x93, 0x13, 0x5b, 0xed, 0xdb, 0x35, 0x64, 0x0d, 0xa5, 0x98, + 0xe8, 0x34, 0xd7, 0x1a, 0x1a, 0xcd, 0xe0, 0xac, 0x62, 0x6f, 0x41, 0x4a, 0x02, 0x05, 0x35, 0x26, 0x20, 0x74, 0xa9, + 0xdc, 0xa2, 0x6f, 0xbc, 0xe0, 0x66, 0xb7, 0x0b, 0xd5, 0x66, 0x0a, 0x86, 0xa4, 0xf9, 0x3f, 0x47, 0xbc, 0x91, 0x2e, + 0x3f, 0x98, 0x76, 0xaf, 0xbc, 0x94, 0xc5, 0xd7, 0x33, 0xf0, 0xf6, 0x15, 0xd2, 0x03, 0x88, 0xa3, 0xbb, 0x0d, 0x29, + 0x97, 0xd8, 0xd2, 0x06, 0x34, 0x5a, 0x60, 0xb8, 0x5f, 0x87, 0xbb, 0xbf, 0x10, 0xe6, 0xee, 0x9e, 0x81, 0x3f, 0xe6, + 0x6f, 0x86, 0xbd, 0xb7, 0x51, 0xa6, 0xff, 0xc7, 0xde, 0xff, 0x8d, 0xd8, 0x7b, 0xeb, 0x77, 0x7e, 0xcd, 0xc2, 0xfe, + 0x1f, 0xc0, 0xf2, 0x5d, 0xe6, 0x9e, 0x71, 0x4c, 0xaf, 0x69, 0x9e, 0xab, 0xc5, 0xa5, 0xc3, 0x8b, 0x78, 0xb5, 0xa6, + 0x60, 0xe5, 0xc1, 0xd6, 0xb8, 0xe5, 0xa0, 0x87, 0xc8, 0x7e, 0xcb, 0x51, 0xfe, 0xed, 0x11, 0x7d, 0x42, 0x19, 0xaa, + 0x24, 0x4c, 0xdf, 0x3d, 0x33, 0x92, 0xd2, 0x48, 0xbc, 0x95, 0x77, 0xb7, 0x0b, 0xde, 0x11, 0xc0, 0x7e, 0xb3, 0xf2, + 0xee, 0x9a, 0x80, 0xdd, 0x88, 0x5e, 0xab, 0x1f, 0x3b, 0x05, 0x2f, 0x9f, 0x2e, 0xba, 0xf8, 0x18, 0x83, 0x84, 0xa5, + 0xa7, 0x50, 0xe8, 0x3e, 0x5e, 0xef, 0x55, 0x2b, 0x66, 0x03, 0xf0, 0x7f, 0x96, 0x00, 0x8f, 0x4a, 0x80, 0xfb, 0xc9, + 0x75, 0x14, 0x3e, 0x04, 0xf2, 0x9f, 0x40, 0xf8, 0xf3, 0xab, 0x41, 0xc7, 0xcf, 0xd5, 0x60, 0xc7, 0xd2, 0x2a, 0xf0, + 0x58, 0x58, 0x85, 0xbe, 0xd7, 0x2c, 0xab, 0xaf, 0x10, 0x5a, 0xa4, 0xb1, 0x8c, 0x08, 0xad, 0x02, 0x7a, 0x15, 0x05, + 0x74, 0x5c, 0x15, 0x92, 0xeb, 0x87, 0x93, 0xd8, 0x8b, 0xd9, 0x78, 0xf3, 0x15, 0xa0, 0x64, 0x9d, 0x7c, 0x67, 0x25, + 0xcb, 0xc5, 0x22, 0x8a, 0xd3, 0xe4, 0x1a, 0xe3, 0xb4, 0xcc, 0x7d, 0xb8, 0x50, 0x40, 0x46, 0xb1, 0x3c, 0x6a, 0xef, + 0x59, 0x93, 0x7c, 0xdb, 0x60, 0x6e, 0x39, 0xd9, 0x06, 0xf7, 0xbe, 0x31, 0xb8, 0xff, 0xce, 0x4c, 0xd2, 0x5f, 0xcc, + 0xac, 0x34, 0xf6, 0xe7, 0x9a, 0x6e, 0x38, 0xb6, 0xae, 0x0b, 0xf9, 0xca, 0xcc, 0xed, 0xef, 0x51, 0xb4, 0xe1, 0x99, + 0x0e, 0x51, 0x0b, 0xd1, 0xa3, 0x05, 0x6c, 0xe5, 0x5e, 0x2e, 0x27, 0x13, 0x16, 0x6b, 0x22, 0x2c, 0x23, 0xc4, 0x85, + 0x25, 0x63, 0x40, 0xf0, 0x73, 0xfc, 0xe0, 0xb3, 0x15, 0xe4, 0x7f, 0x2a, 0xc2, 0xaa, 0x83, 0xaf, 0x27, 0x99, 0x93, + 0x43, 0x6e, 0xb9, 0xb4, 0xdd, 0xd2, 0xc6, 0xcf, 0x0e, 0x8c, 0x19, 0x04, 0x63, 0x2a, 0xdc, 0xe3, 0x31, 0xce, 0x9f, + 0x1f, 0xa6, 0x1d, 0xfc, 0x02, 0x74, 0x00, 0x87, 0x37, 0x70, 0x73, 0xbf, 0x28, 0x65, 0x94, 0x77, 0x38, 0x73, 0xfb, + 0xc1, 0x73, 0x97, 0xf4, 0x3c, 0x68, 0xb7, 0xf7, 0x6a, 0xe6, 0xc5, 0xaf, 0xa2, 0x31, 0x43, 0x40, 0x87, 0x69, 0x04, + 0xde, 0x9a, 0x52, 0x18, 0x1e, 0x8c, 0xc2, 0x63, 0x96, 0x22, 0xf3, 0xec, 0x43, 0xd1, 0xb5, 0x5c, 0xe4, 0x3e, 0x7f, + 0xbc, 0x6f, 0xc0, 0x49, 0x6b, 0x5e, 0x69, 0xb1, 0x68, 0x7c, 0xa9, 0x1b, 0x5f, 0xc9, 0xbb, 0xf5, 0x95, 0x17, 0xc7, + 0x3e, 0x8b, 0x15, 0xed, 0xbb, 0x5f, 0x74, 0x79, 0xd3, 0x96, 0x14, 0x3a, 0x5c, 0xcb, 0xac, 0x60, 0x34, 0xba, 0x89, + 0xcf, 0x82, 0xb1, 0xab, 0x8e, 0xa8, 0x61, 0xae, 0xbc, 0x69, 0x77, 0x6c, 0xdb, 0xe6, 0x0a, 0x53, 0x87, 0x7e, 0x82, + 0xc2, 0x14, 0x7e, 0xc2, 0x43, 0x49, 0xbc, 0xd8, 0x21, 0x2e, 0xa2, 0x46, 0xce, 0x1a, 0x21, 0x7c, 0x47, 0xf1, 0x7c, + 0x1e, 0x02, 0x1b, 0x8f, 0xfb, 0x23, 0x40, 0x73, 0x04, 0x58, 0x05, 0x4c, 0x15, 0x80, 0x0e, 0x1f, 0x02, 0xd0, 0x85, + 0x3f, 0xf7, 0xc3, 0x69, 0xb2, 0x11, 0x22, 0x54, 0x9b, 0x96, 0xe0, 0x49, 0xa9, 0x85, 0xaa, 0xe0, 0x1a, 0xce, 0xa2, + 0x00, 0xf2, 0x10, 0xa9, 0xcc, 0x9a, 0x5a, 0xca, 0x0b, 0xdb, 0xb6, 0x0d, 0xf3, 0x00, 0x32, 0xfe, 0x1d, 0x1e, 0xd9, + 0x86, 0x09, 0x7f, 0x59, 0x96, 0xd5, 0x20, 0x8f, 0xed, 0xcd, 0xfd, 0xd0, 0xa4, 0xc7, 0x96, 0xbd, 0x1b, 0xbc, 0xf7, + 0x5a, 0xf5, 0x26, 0x5c, 0x37, 0x36, 0xcc, 0x5d, 0x47, 0xb5, 0xa1, 0x9b, 0x94, 0x6d, 0xdd, 0x2c, 0x0a, 0xb8, 0xc4, + 0xe3, 0x61, 0x54, 0x88, 0xd1, 0xb0, 0xfc, 0x16, 0xd9, 0xd2, 0xb8, 0x9a, 0xc7, 0x42, 0xfd, 0x9e, 0x83, 0xd5, 0x55, + 0x5e, 0x45, 0xcb, 0x60, 0x8c, 0xe6, 0x50, 0x60, 0xbb, 0xac, 0x14, 0x56, 0xa1, 0x95, 0x64, 0x53, 0x90, 0x4b, 0x1c, + 0x13, 0xad, 0xbd, 0x47, 0xe2, 0x14, 0xc5, 0xda, 0x53, 0x9c, 0xe2, 0xcb, 0xa6, 0x2d, 0x78, 0xf5, 0x14, 0xe2, 0x09, + 0xed, 0xd0, 0x80, 0xef, 0x0b, 0xa8, 0x1f, 0xec, 0x52, 0x5f, 0xac, 0xdb, 0xd5, 0x53, 0x0a, 0x3a, 0xeb, 0x7d, 0xfa, + 0xb4, 0x37, 0xfa, 0xf4, 0x69, 0xaf, 0x96, 0xa9, 0x63, 0xf3, 0x08, 0x69, 0x63, 0x30, 0x1e, 0x62, 0x04, 0xe2, 0x06, + 0x11, 0xd0, 0xdf, 0x43, 0x79, 0xd7, 0xe3, 0xd1, 0xaa, 0xe8, 0x69, 0x64, 0xf0, 0x0f, 0xd2, 0x63, 0x90, 0x55, 0x26, + 0x65, 0xe6, 0x7a, 0x24, 0xe6, 0xf9, 0xf4, 0x89, 0x1f, 0x37, 0x63, 0xec, 0x8e, 0xf2, 0x22, 0x47, 0x35, 0x96, 0x6e, + 0x90, 0x3f, 0xaa, 0x08, 0xf2, 0x92, 0x63, 0xcc, 0x02, 0xe2, 0x95, 0x17, 0x87, 0x32, 0xc0, 0x3f, 0x46, 0x0a, 0xff, + 0xac, 0xc2, 0x23, 0xa2, 0x8e, 0xab, 0xab, 0x31, 0x71, 0x99, 0xb6, 0x24, 0x1c, 0x28, 0x2c, 0xdd, 0xa4, 0x0e, 0x2e, + 0x04, 0xb6, 0xc7, 0xb4, 0xa8, 0x62, 0x80, 0xe8, 0x5f, 0x8d, 0x27, 0x77, 0x2c, 0x86, 0xf5, 0xce, 0x5b, 0x75, 0x97, + 0xe2, 0xe1, 0x8c, 0x4c, 0xe2, 0xbb, 0x93, 0xdc, 0x6f, 0x79, 0x41, 0x5e, 0x87, 0x53, 0xf7, 0xdb, 0x58, 0x5b, 0x18, + 0xa9, 0xa1, 0x0a, 0x32, 0xa2, 0xea, 0xc6, 0xbc, 0x29, 0xc0, 0x6a, 0x6f, 0xce, 0xc3, 0xcd, 0x68, 0x62, 0x2b, 0x5c, + 0x4f, 0xd0, 0x57, 0x21, 0x1c, 0xdd, 0x61, 0x00, 0xe5, 0xe2, 0x3d, 0x81, 0x72, 0xcd, 0xb3, 0xef, 0x8d, 0xe5, 0x57, + 0xb0, 0xe0, 0xaa, 0x31, 0xd1, 0x0d, 0xf2, 0x01, 0x98, 0x7e, 0x49, 0x73, 0x7f, 0x8a, 0xa9, 0x3c, 0x97, 0xc2, 0xbd, + 0x0a, 0x07, 0x80, 0xeb, 0x8a, 0x03, 0x40, 0xc3, 0x7c, 0x2a, 0x31, 0x4b, 0x16, 0x51, 0x08, 0x77, 0xc5, 0xeb, 0xc2, + 0xc3, 0xeb, 0xba, 0xee, 0xe1, 0xd5, 0xd0, 0x14, 0xdf, 0x50, 0x3b, 0x50, 0x49, 0x5f, 0xfc, 0xa5, 0x62, 0xa1, 0x2f, + 0x48, 0x3d, 0x66, 0x29, 0x3f, 0xdb, 0xe4, 0xd9, 0xfd, 0xfd, 0xfd, 0x9e, 0xdd, 0xe7, 0x3b, 0x79, 0x76, 0x7f, 0xff, + 0xc5, 0x3d, 0xbb, 0xcf, 0x64, 0xcf, 0x6e, 0x20, 0xc1, 0x67, 0x6c, 0x27, 0x47, 0x5a, 0xe1, 0xd2, 0x12, 0xad, 0x12, + 0xd7, 0xe1, 0x9a, 0xb5, 0x64, 0x34, 0x63, 0x60, 0xaa, 0xc0, 0x59, 0xdd, 0x20, 0x9a, 0x82, 0xbf, 0xeb, 0x66, 0x8f, + 0xd6, 0x2f, 0xe5, 0xcf, 0x1a, 0x44, 0x53, 0x55, 0xca, 0xd3, 0x16, 0x8a, 0x3c, 0x6d, 0x10, 0x9b, 0xee, 0xef, 0xb7, + 0xce, 0xcb, 0x4b, 0xa7, 0xd7, 0x76, 0x20, 0xce, 0x29, 0x68, 0x9f, 0xb1, 0xc0, 0xee, 0xb5, 0xdb, 0x50, 0xb0, 0x92, + 0x0a, 0x5a, 0x50, 0xe0, 0x4b, 0x05, 0x87, 0x50, 0x30, 0x92, 0x0a, 0x8e, 0xa0, 0x60, 0x2c, 0x15, 0x1c, 0x43, 0xc1, + 0x8d, 0x9a, 0x5d, 0x86, 0xb9, 0xdf, 0xfa, 0xb1, 0x7e, 0x55, 0x4a, 0xd1, 0x99, 0x9b, 0x4a, 0x88, 0x2a, 0xc7, 0x86, + 0xc8, 0x17, 0x61, 0x1e, 0xe8, 0x9c, 0x47, 0x1b, 0x7c, 0x35, 0x00, 0xcc, 0x0b, 0x96, 0x23, 0x06, 0xd8, 0xdd, 0x50, + 0xcd, 0xb6, 0x78, 0xad, 0x76, 0x73, 0x3f, 0x6f, 0xdb, 0x68, 0x09, 0xbf, 0xe9, 0x2e, 0x46, 0xf1, 0x10, 0x95, 0x0f, + 0x9f, 0xcf, 0xf2, 0xe0, 0xd1, 0x4b, 0xb7, 0x08, 0x86, 0xd3, 0x86, 0x14, 0x3a, 0x9c, 0x57, 0x63, 0x1a, 0xd8, 0xcb, + 0x40, 0xac, 0x13, 0x71, 0x8a, 0xc4, 0x07, 0x14, 0x74, 0x86, 0xef, 0x79, 0x05, 0x0f, 0xc7, 0x43, 0xad, 0x13, 0xf4, + 0xf3, 0x3c, 0x82, 0x35, 0xe9, 0x52, 0x97, 0x46, 0xea, 0x4d, 0xbb, 0x33, 0x83, 0x0c, 0xa9, 0xba, 0x53, 0x48, 0x49, + 0x72, 0x3a, 0xee, 0x2e, 0x8c, 0xd5, 0x8c, 0x85, 0xdd, 0x09, 0x77, 0x3b, 0x84, 0xf5, 0x27, 0x4f, 0x92, 0xb9, 0x2e, + 0x5c, 0xa0, 0x70, 0x4f, 0x14, 0x6f, 0x09, 0x4a, 0x33, 0xdf, 0x4a, 0x85, 0xf7, 0x8e, 0x26, 0x1b, 0x59, 0x7d, 0x09, + 0x5f, 0x8b, 0xd7, 0x6c, 0xb8, 0x9c, 0x2a, 0xe7, 0xd1, 0xf4, 0x5e, 0xbf, 0x0a, 0xf9, 0x15, 0x40, 0xa9, 0x92, 0x35, + 0xa9, 0x29, 0xb6, 0x37, 0xff, 0x16, 0x3d, 0x66, 0xe5, 0xfa, 0x29, 0xc0, 0xa6, 0xa4, 0xc4, 0x36, 0xc0, 0x77, 0x60, + 0xb6, 0x25, 0xcf, 0x85, 0x73, 0x98, 0x3f, 0xe9, 0xf9, 0xc2, 0x93, 0xe0, 0xe9, 0xff, 0xc0, 0x92, 0xc4, 0x9b, 0x32, + 0x19, 0xb5, 0x94, 0x3a, 0x07, 0x2c, 0x98, 0xab, 0x93, 0x71, 0x02, 0x81, 0xb1, 0xf7, 0x6b, 0xfe, 0x28, 0xe0, 0x32, + 0x0b, 0x7e, 0x5a, 0xb0, 0x68, 0x85, 0xf3, 0x86, 0x6f, 0xc1, 0xf2, 0x94, 0xfd, 0x28, 0x00, 0x89, 0xdc, 0xb0, 0xa0, + 0x5a, 0x98, 0x7a, 0xd3, 0x6a, 0x11, 0xad, 0x75, 0x56, 0x42, 0x7b, 0x7a, 0xe9, 0x51, 0xe0, 0xc2, 0xcf, 0xb0, 0xcb, + 0x0f, 0xa2, 0xe9, 0x6f, 0x6a, 0x94, 0xbf, 0xc5, 0x99, 0xe2, 0x87, 0xd0, 0x08, 0xd3, 0x81, 0x85, 0x73, 0xac, 0x58, + 0x30, 0x85, 0xdd, 0x30, 0x9d, 0x99, 0x18, 0x58, 0x4e, 0x6b, 0x85, 0xba, 0x61, 0xe1, 0xda, 0xae, 0xab, 0xe1, 0x34, + 0xbb, 0xf1, 0x74, 0xe8, 0x69, 0x4e, 0xeb, 0xd8, 0x10, 0x7f, 0x2c, 0xfb, 0x50, 0xcf, 0xb0, 0x07, 0x65, 0xec, 0xdf, + 0xac, 0x27, 0x51, 0x98, 0x9a, 0x13, 0x6f, 0xee, 0x07, 0x77, 0xdd, 0x79, 0x14, 0x46, 0xc9, 0xc2, 0x1b, 0xb1, 0x9e, + 0xc4, 0x8f, 0x62, 0xa0, 0x66, 0x1e, 0x2b, 0xd0, 0xb1, 0x5a, 0x31, 0x9b, 0x53, 0xeb, 0x3c, 0x0e, 0xf3, 0x24, 0x60, + 0xb7, 0x19, 0xff, 0x7c, 0xa9, 0x32, 0x55, 0xc5, 0x2d, 0x47, 0x2d, 0x80, 0x65, 0xe6, 0x41, 0x9e, 0x21, 0xb5, 0x41, + 0x8f, 0x4b, 0x1d, 0xbb, 0x56, 0xeb, 0x30, 0x66, 0x73, 0xc5, 0x3a, 0xdc, 0xd8, 0x79, 0x1c, 0xad, 0xfa, 0x00, 0x2d, + 0x36, 0x36, 0x13, 0x16, 0x4c, 0xf0, 0x8d, 0x89, 0x71, 0xa5, 0x44, 0x3f, 0x26, 0xda, 0x15, 0x40, 0x6f, 0x6c, 0xde, + 0x83, 0xd7, 0xdd, 0x96, 0x62, 0x4b, 0xfc, 0xf4, 0xb1, 0xbd, 0x90, 0xfa, 0x92, 0xe7, 0x4f, 0x5f, 0x63, 0x75, 0x47, + 0xb1, 0x7b, 0xa0, 0x3f, 0x9e, 0x04, 0xd1, 0xaa, 0x3b, 0xf3, 0xc7, 0x63, 0x16, 0xf6, 0x10, 0xe6, 0xbc, 0x90, 0x05, + 0x81, 0xbf, 0x48, 0xfc, 0xa4, 0x37, 0xf7, 0x6e, 0x79, 0xaf, 0x07, 0x9b, 0x7a, 0x6d, 0xf3, 0x5e, 0xdb, 0x3b, 0xf7, + 0x2a, 0x75, 0x03, 0x31, 0xac, 0xa8, 0x1f, 0x0e, 0xda, 0xa1, 0x62, 0x57, 0xc6, 0xb9, 0x73, 0xaf, 0x8b, 0x98, 0xad, + 0xe7, 0x5e, 0x3c, 0xf5, 0xc3, 0xae, 0x9d, 0x59, 0x37, 0x6b, 0xda, 0x18, 0x8f, 0x3a, 0x9d, 0x4e, 0x66, 0x8d, 0xc5, + 0x93, 0x3d, 0x1e, 0x67, 0xd6, 0x48, 0x3c, 0x4d, 0x26, 0xb6, 0x3d, 0x99, 0x64, 0x96, 0x2f, 0x0a, 0xda, 0xad, 0xd1, + 0xb8, 0xdd, 0xca, 0xac, 0x95, 0x54, 0x23, 0xb3, 0x18, 0x7f, 0x8a, 0xd9, 0xb8, 0x87, 0x1b, 0x89, 0xfb, 0x3f, 0x1f, + 0xdb, 0x76, 0x86, 0x18, 0xe0, 0xb2, 0x84, 0x9b, 0xd0, 0x74, 0xe5, 0x6a, 0xbd, 0x73, 0x4d, 0xa5, 0xf8, 0xdc, 0x68, + 0xd4, 0x58, 0x6f, 0xec, 0xc5, 0x1f, 0xaf, 0x14, 0x69, 0x14, 0x9e, 0x47, 0xd5, 0xd6, 0x62, 0x1a, 0xcc, 0xdb, 0x2e, + 0x24, 0xec, 0xe8, 0x0d, 0xa3, 0x18, 0xce, 0x6c, 0xec, 0x8d, 0xfd, 0x65, 0xd2, 0x75, 0x5a, 0x8b, 0x5b, 0x51, 0xc4, + 0xf7, 0x7a, 0x51, 0x80, 0x67, 0xaf, 0x9b, 0x44, 0x81, 0x3f, 0x16, 0x45, 0x9b, 0xce, 0x92, 0xd3, 0xd2, 0x7b, 0xc8, + 0xbf, 0xfa, 0x18, 0x74, 0xd9, 0x0b, 0x02, 0xc5, 0x6a, 0x27, 0x0a, 0xf3, 0x12, 0x34, 0x97, 0x53, 0xec, 0x84, 0xe6, + 0x05, 0x43, 0xd3, 0x3a, 0x07, 0x8b, 0xdb, 0x7c, 0xcf, 0x3b, 0x47, 0x8b, 0xdb, 0xec, 0xeb, 0x39, 0x1b, 0xfb, 0x9e, + 0xa2, 0x15, 0xbb, 0xc9, 0xb1, 0xc1, 0xa4, 0x4e, 0x5f, 0x6f, 0xd8, 0xa6, 0xe2, 0x58, 0x40, 0x62, 0xa3, 0x3d, 0x7f, + 0x0e, 0x72, 0x18, 0x2f, 0x4c, 0xb3, 0x6c, 0x70, 0x95, 0x65, 0xbd, 0x73, 0x5f, 0xbb, 0xfc, 0xab, 0x46, 0xb4, 0x90, + 0x4c, 0x50, 0x33, 0xfd, 0xca, 0x38, 0x63, 0xb2, 0xbb, 0x0c, 0x90, 0x31, 0x74, 0x95, 0x91, 0x2b, 0x13, 0xbd, 0xad, + 0x57, 0xa6, 0x49, 0xce, 0xab, 0x93, 0xf7, 0x4d, 0xb9, 0x0a, 0x52, 0x20, 0xa8, 0x70, 0xc6, 0xdc, 0x73, 0xc9, 0xf7, + 0x06, 0x98, 0x1e, 0xac, 0x4c, 0x51, 0x85, 0x5e, 0x6f, 0xe2, 0x3d, 0x2f, 0xee, 0xe7, 0x3d, 0xff, 0x96, 0xee, 0xc2, + 0x7b, 0x5e, 0x7c, 0x71, 0xde, 0xf3, 0x75, 0x3d, 0xaa, 0xd0, 0x45, 0xe4, 0xaa, 0xb9, 0xc1, 0x24, 0x90, 0xa6, 0x98, + 0xe2, 0xf5, 0xbf, 0x4e, 0x7f, 0x6d, 0x78, 0x17, 0xd1, 0x1b, 0x12, 0x05, 0xce, 0xa7, 0x82, 0x98, 0xf5, 0x6d, 0xe8, + 0xfe, 0x29, 0x96, 0x9f, 0x27, 0x13, 0xf7, 0x75, 0x24, 0x15, 0xe4, 0x4f, 0xdc, 0x97, 0xa4, 0x14, 0x5b, 0x99, 0xde, + 0xe4, 0xde, 0x3e, 0x90, 0x7d, 0x1a, 0x42, 0xb3, 0x92, 0x6b, 0xf7, 0x38, 0xf7, 0xb9, 0xeb, 0x95, 0x41, 0xd0, 0x72, + 0x27, 0x57, 0x11, 0x80, 0xab, 0x66, 0x19, 0x35, 0x65, 0x42, 0x06, 0xf0, 0xf2, 0xee, 0xfb, 0xb1, 0x76, 0x11, 0xe9, + 0x99, 0x9f, 0xbc, 0xad, 0x86, 0xbf, 0x12, 0x7a, 0x2e, 0x79, 0x38, 0x19, 0xf7, 0x9b, 0x93, 0xa2, 0xdc, 0xe2, 0x6b, + 0x6a, 0x7e, 0x5a, 0x1a, 0x69, 0x57, 0x6e, 0xd8, 0xa3, 0x98, 0xdf, 0x35, 0x62, 0xcc, 0xc3, 0xc4, 0xac, 0x39, 0x97, + 0xb7, 0xc6, 0x67, 0x88, 0x1a, 0x3a, 0xa6, 0xe6, 0xfe, 0x38, 0xcb, 0xf4, 0x9e, 0x98, 0x08, 0x89, 0xd0, 0xb2, 0xfb, + 0x98, 0xb8, 0xa4, 0x10, 0x02, 0x71, 0x89, 0x0f, 0x59, 0x33, 0x5f, 0x80, 0x7f, 0x00, 0xb7, 0x7d, 0xe6, 0x73, 0xa6, + 0x2a, 0x34, 0x7d, 0xe4, 0x37, 0x22, 0x0d, 0x08, 0x0c, 0xda, 0x65, 0x6f, 0xab, 0xd2, 0x82, 0xd4, 0x1d, 0x5b, 0x69, + 0x72, 0xd0, 0xc1, 0x01, 0x62, 0xfc, 0x0a, 0xb1, 0x10, 0xa1, 0x1d, 0x5e, 0x07, 0x1f, 0x32, 0x35, 0xe7, 0xfd, 0x70, + 0xfb, 0xf5, 0x4f, 0xf6, 0xa1, 0x41, 0xbf, 0xa2, 0x74, 0xbb, 0xc7, 0x2f, 0x13, 0x58, 0x89, 0x64, 0x65, 0x58, 0xc9, + 0x4a, 0x79, 0xb6, 0x16, 0xf1, 0xb1, 0x53, 0x6f, 0x61, 0x82, 0x96, 0x07, 0x71, 0x2f, 0xc7, 0x78, 0x52, 0x28, 0xee, + 0xde, 0x32, 0x01, 0xdc, 0x88, 0x72, 0x14, 0xc4, 0x3f, 0xbd, 0xd1, 0x32, 0x4e, 0xa2, 0xb8, 0xbb, 0x88, 0xfc, 0x30, + 0x65, 0x71, 0x46, 0x82, 0x15, 0x9c, 0x1f, 0x31, 0x3d, 0x57, 0xeb, 0x68, 0xe1, 0x8d, 0xfc, 0xf4, 0xae, 0x6b, 0x73, + 0x96, 0xc2, 0xee, 0x71, 0xee, 0xc0, 0x6e, 0xac, 0xdf, 0xe5, 0xb3, 0xf9, 0x1c, 0x19, 0xbf, 0xb8, 0xce, 0xce, 0xc8, + 0xdb, 0xbc, 0x27, 0xbd, 0xa5, 0x08, 0xe1, 0xc0, 0x7e, 0x78, 0xb1, 0x39, 0x05, 0x2c, 0x0f, 0x4b, 0x6d, 0x8f, 0xd9, + 0xd4, 0x40, 0xac, 0x0d, 0x66, 0x86, 0xe2, 0x8f, 0x75, 0xa8, 0x2b, 0x76, 0x73, 0x31, 0x70, 0x3c, 0xfa, 0x2e, 0x90, + 0x75, 0xbd, 0x49, 0xca, 0x62, 0x63, 0x97, 0x9a, 0x43, 0x36, 0x89, 0x62, 0x46, 0xd9, 0xe4, 0x9c, 0xce, 0xe2, 0x76, + 0xf7, 0xee, 0xb7, 0x0f, 0xbf, 0xb9, 0x9f, 0x30, 0x4a, 0x35, 0xd1, 0x99, 0x7e, 0x4f, 0x6f, 0x75, 0x7a, 0x06, 0xac, + 0x21, 0xcd, 0xfc, 0x88, 0xa4, 0x20, 0x10, 0x09, 0xac, 0x31, 0x69, 0xc7, 0x22, 0xe2, 0x34, 0x2f, 0x66, 0x81, 0x97, + 0xfa, 0x37, 0x82, 0x67, 0x6c, 0x1f, 0x2d, 0x6e, 0xc5, 0x1a, 0x23, 0xc1, 0x7b, 0xc0, 0x22, 0x55, 0x40, 0x11, 0x8b, + 0x54, 0x2d, 0xc6, 0x45, 0xea, 0xd5, 0x46, 0x23, 0xe2, 0x58, 0x57, 0x28, 0xfd, 0xe1, 0xe2, 0x56, 0x26, 0xd1, 0x45, + 0xb3, 0x9c, 0x52, 0x57, 0x13, 0x90, 0xcc, 0xfd, 0xf1, 0x38, 0x60, 0x59, 0x69, 0xa1, 0xcb, 0x6b, 0x29, 0x4d, 0x4e, + 0x3e, 0x0f, 0xde, 0x30, 0x89, 0x82, 0x65, 0xca, 0x9a, 0xa7, 0x4b, 0x48, 0x74, 0x8b, 0xc9, 0xc1, 0xdf, 0x65, 0x58, + 0x0f, 0x81, 0xdd, 0x86, 0x6d, 0x62, 0xf7, 0x20, 0xdf, 0xa0, 0xd9, 0x2e, 0x83, 0x0e, 0xaf, 0x72, 0xa0, 0x8d, 0x86, + 0x81, 0x18, 0x40, 0x96, 0x08, 0x7b, 0x2b, 0x96, 0xc3, 0xcb, 0xf2, 0x9c, 0x6b, 0x79, 0x51, 0x56, 0x1e, 0xcc, 0x6f, + 0x73, 0xc6, 0x5e, 0x34, 0x9f, 0xb1, 0x17, 0xe2, 0x8c, 0x6d, 0xdf, 0x99, 0x8f, 0x26, 0x0e, 0xfc, 0xd7, 0x2b, 0x06, + 0xd4, 0xb5, 0x95, 0xf6, 0xe2, 0x56, 0x71, 0x16, 0xb7, 0x8a, 0xd9, 0x5a, 0xdc, 0x2a, 0xd8, 0x35, 0xba, 0xb7, 0x18, + 0x56, 0x4b, 0x37, 0x6c, 0x05, 0x0a, 0xe1, 0x8f, 0x5d, 0x7a, 0xe5, 0x1c, 0xc0, 0x3b, 0x68, 0x75, 0x58, 0x7f, 0xd7, + 0xda, 0x7e, 0xd4, 0xe9, 0x2c, 0x09, 0xa4, 0xad, 0x5b, 0xa9, 0x37, 0x1c, 0x82, 0x28, 0x33, 0x1a, 0x2d, 0x93, 0x7f, + 0x72, 0xf8, 0xf9, 0x24, 0x6e, 0x45, 0x04, 0x95, 0x7e, 0x44, 0x53, 0x50, 0x14, 0xde, 0x30, 0xd1, 0xc3, 0x3a, 0x5f, + 0xa7, 0x2e, 0x25, 0x47, 0x6c, 0x59, 0x07, 0x0d, 0x9b, 0xbc, 0x79, 0xa2, 0x7f, 0xb3, 0x55, 0xda, 0x8c, 0x62, 0x3e, + 0x63, 0x5a, 0xb6, 0x4e, 0xc7, 0xc3, 0x67, 0x83, 0xaf, 0xa6, 0xdd, 0x69, 0x06, 0xf7, 0x52, 0x7c, 0xe9, 0x4a, 0x10, + 0x15, 0x4e, 0xb7, 0x78, 0x28, 0x8e, 0xed, 0xbd, 0x6e, 0xda, 0x23, 0xb5, 0x5e, 0xb7, 0x10, 0x84, 0xa2, 0xee, 0x8e, + 0x58, 0xfe, 0xd1, 0x8b, 0x03, 0xf8, 0x8f, 0xb8, 0xfa, 0xbf, 0xa5, 0x4d, 0x8c, 0xfa, 0xeb, 0xb4, 0xc4, 0xa8, 0x13, + 0xab, 0x84, 0x8c, 0xf8, 0xee, 0xf5, 0x27, 0x93, 0x87, 0x35, 0xd8, 0xb9, 0x36, 0x79, 0x86, 0x55, 0x6b, 0xbf, 0x8c, + 0xa2, 0x80, 0x79, 0x61, 0xbd, 0xba, 0x98, 0x1e, 0x72, 0xf3, 0x4f, 0x5d, 0x68, 0x24, 0xee, 0x11, 0xe4, 0x94, 0xa0, + 0x62, 0x1b, 0xba, 0x4a, 0x9c, 0x6f, 0xba, 0x4a, 0xbc, 0xbb, 0xff, 0x2a, 0xf1, 0xc7, 0x9d, 0xae, 0x12, 0xef, 0xbe, + 0xf8, 0x55, 0xe2, 0xbc, 0x7e, 0x95, 0x38, 0x8f, 0x84, 0x3b, 0xb0, 0xf1, 0x66, 0xc9, 0x7f, 0x7e, 0x20, 0x7b, 0xdf, + 0x77, 0x91, 0x7b, 0x68, 0x53, 0xc2, 0xc3, 0x8b, 0x5f, 0x7d, 0xb1, 0xc0, 0x8d, 0xf8, 0x0e, 0xbd, 0xe3, 0x8a, 0xab, + 0x05, 0xc7, 0xec, 0xf8, 0x1d, 0xa9, 0x38, 0x88, 0xc2, 0xe9, 0x4f, 0x60, 0xef, 0x0d, 0xe2, 0xc0, 0x58, 0x7a, 0xe1, + 0x27, 0x3f, 0x45, 0x8b, 0xe5, 0x02, 0x15, 0x55, 0x1f, 0xfc, 0xc4, 0x1f, 0x06, 0x2c, 0x8f, 0x30, 0x49, 0x5a, 0x57, + 0x2e, 0x5b, 0x07, 0xc5, 0xab, 0xf8, 0xe9, 0xdd, 0x8a, 0x9f, 0xe8, 0x62, 0xcb, 0x7f, 0x93, 0x9b, 0xa0, 0xda, 0x7c, + 0x11, 0x11, 0x16, 0x62, 0x12, 0xd0, 0x0f, 0xbf, 0x8c, 0x9c, 0x8b, 0x58, 0x5e, 0xa5, 0x51, 0x0a, 0xf7, 0x8d, 0x8d, + 0xfd, 0xb0, 0x6a, 0x3f, 0x6f, 0x96, 0xba, 0x91, 0x27, 0xe0, 0xa8, 0x8b, 0xf3, 0xe7, 0xd1, 0x32, 0x61, 0xe3, 0x68, + 0x15, 0xaa, 0x46, 0xc8, 0xf5, 0xaa, 0x11, 0xca, 0xd4, 0xf3, 0x36, 0x65, 0x85, 0xa3, 0x6a, 0x2d, 0x60, 0x0e, 0x4d, + 0xd2, 0x60, 0x9b, 0x38, 0x44, 0x55, 0x84, 0x6c, 0xea, 0xed, 0x69, 0x5a, 0xe4, 0x3e, 0xac, 0xa5, 0xf0, 0x3c, 0x89, + 0x2c, 0x2e, 0x15, 0x4e, 0xb4, 0x50, 0x08, 0x17, 0x45, 0x14, 0xec, 0x86, 0x85, 0xe3, 0x6f, 0x28, 0x42, 0x64, 0xf1, + 0x16, 0x74, 0x55, 0xd9, 0x92, 0xaf, 0x07, 0x8f, 0x09, 0x4d, 0x8f, 0xaf, 0xa4, 0x69, 0x7c, 0x7b, 0xc3, 0xe2, 0xc0, + 0xbb, 0xd3, 0xf4, 0x2c, 0x0a, 0x7f, 0x80, 0x09, 0x78, 0x1d, 0xad, 0x42, 0xb9, 0x02, 0xa6, 0x6a, 0x6f, 0xd8, 0x4b, + 0x8d, 0xd1, 0xcb, 0x21, 0x66, 0x87, 0x04, 0x81, 0x6f, 0x2d, 0xbc, 0x29, 0xfb, 0x8b, 0x41, 0xff, 0xfe, 0x55, 0xcf, + 0x8c, 0x77, 0x51, 0xfe, 0xa1, 0x9f, 0x17, 0x3b, 0x7c, 0xe6, 0xc9, 0x93, 0xbd, 0xcd, 0xc3, 0xd6, 0x46, 0x01, 0xf3, + 0x62, 0x01, 0x45, 0x43, 0x6b, 0x7d, 0xe3, 0x29, 0x00, 0x28, 0x2e, 0xa2, 0xe5, 0x68, 0x86, 0x7e, 0xbb, 0x5f, 0x6e, + 0xbc, 0x29, 0xf4, 0xc9, 0x92, 0x4b, 0xfb, 0x2a, 0x1f, 0x7a, 0xa5, 0xa8, 0x98, 0x05, 0xfc, 0xfe, 0x19, 0xa4, 0xdf, + 0xfa, 0x0f, 0x4e, 0x43, 0x7d, 0xd7, 0xe4, 0x21, 0xbf, 0x1e, 0xb4, 0x79, 0x7b, 0x3e, 0x44, 0xe5, 0xa1, 0xc0, 0xd6, + 0x42, 0x49, 0xd7, 0x8c, 0x64, 0xb2, 0xea, 0xa4, 0xc9, 0x49, 0x64, 0x36, 0xe5, 0xc7, 0x11, 0x5f, 0x61, 0x56, 0xc9, + 0x6a, 0xc4, 0x60, 0x1c, 0x5b, 0x55, 0x90, 0x0c, 0xf7, 0xa6, 0x60, 0x88, 0xbe, 0xaa, 0xef, 0xe6, 0x7e, 0x68, 0x60, + 0x0e, 0xd8, 0xfa, 0x1b, 0xef, 0x16, 0xb2, 0x20, 0x02, 0x72, 0xab, 0xbe, 0x82, 0x42, 0x43, 0x8e, 0x16, 0xe4, 0x8d, + 0xc7, 0x9a, 0xda, 0x38, 0x13, 0x42, 0x1b, 0x38, 0xf8, 0x4a, 0x51, 0x14, 0x25, 0xbf, 0x46, 0x28, 0xf9, 0x3d, 0x02, + 0xcb, 0xf1, 0x3a, 0x00, 0xda, 0x92, 0x6c, 0x71, 0x4b, 0x25, 0x70, 0x33, 0x40, 0xfb, 0x69, 0x51, 0xc0, 0x13, 0xfd, + 0x80, 0x71, 0x0b, 0x15, 0x88, 0x0b, 0x3d, 0xa8, 0xbe, 0xbd, 0x18, 0xf2, 0x01, 0x76, 0x15, 0xbc, 0xb0, 0xe3, 0x5b, + 0x2e, 0x09, 0x56, 0x6c, 0x7a, 0x1c, 0xf4, 0x58, 0x73, 0x46, 0x98, 0x50, 0xc2, 0x82, 0xa0, 0x75, 0xa8, 0x24, 0x78, + 0x34, 0x58, 0x03, 0x6e, 0xc4, 0x7b, 0xd1, 0x6d, 0x3a, 0x67, 0xe1, 0x52, 0x35, 0xc0, 0xea, 0x04, 0x33, 0xf4, 0x40, + 0x9d, 0xd7, 0xc4, 0x6c, 0x01, 0xb6, 0x69, 0x6e, 0x39, 0x23, 0x5a, 0x28, 0x4c, 0x55, 0x3c, 0x63, 0xc4, 0x03, 0xe0, + 0x24, 0x1c, 0xb7, 0x55, 0x29, 0x04, 0x5f, 0xd2, 0xa8, 0x8c, 0xcd, 0x79, 0xc8, 0x2b, 0xe4, 0x14, 0xc8, 0x46, 0x8c, + 0x8b, 0x8b, 0xc4, 0xb4, 0x6b, 0x5e, 0x75, 0xd1, 0x72, 0x8d, 0x8c, 0x57, 0x11, 0x14, 0xc5, 0x7a, 0xbd, 0x1b, 0x0e, + 0x27, 0xa4, 0x25, 0xd8, 0xd8, 0xcf, 0xa8, 0xd6, 0xcf, 0x86, 0x41, 0x7f, 0x64, 0x77, 0x44, 0x48, 0x68, 0xaa, 0x3e, + 0xb2, 0x3b, 0x30, 0x0e, 0x3f, 0x03, 0x69, 0x8a, 0xba, 0x05, 0x5d, 0x1b, 0x90, 0xe8, 0x77, 0x04, 0xa9, 0x2a, 0xb6, + 0x1c, 0x20, 0x3b, 0xdb, 0x82, 0xc5, 0x29, 0x1c, 0xa9, 0x91, 0xf4, 0xc4, 0x21, 0xe6, 0x11, 0x0b, 0xb4, 0xc6, 0x39, + 0x36, 0x1b, 0x8e, 0x86, 0xfe, 0xcc, 0xb1, 0xed, 0xfd, 0x5a, 0x7d, 0x10, 0x64, 0x37, 0xd5, 0xd6, 0x8d, 0xd4, 0x75, + 0x6c, 0xd3, 0x7f, 0x66, 0xb5, 0x7a, 0x35, 0x1a, 0x2d, 0x65, 0x92, 0x1a, 0xa0, 0xf8, 0xab, 0xff, 0x78, 0xad, 0xd5, + 0x0e, 0xa4, 0x5e, 0x8d, 0x00, 0x80, 0xb0, 0x65, 0x5c, 0xfe, 0x35, 0xa8, 0x93, 0x7e, 0xca, 0x63, 0x45, 0x59, 0xcd, + 0x07, 0x90, 0x0b, 0x51, 0x83, 0x63, 0xf4, 0x07, 0xe5, 0xb9, 0xa2, 0xd1, 0xf1, 0xd1, 0xf5, 0x41, 0x4f, 0x60, 0x14, + 0x11, 0x22, 0x47, 0xee, 0xa0, 0xf2, 0xc5, 0xa4, 0x8a, 0xe1, 0x78, 0xd6, 0x35, 0x56, 0x68, 0xf4, 0xb6, 0x72, 0x0b, + 0xd8, 0xff, 0x06, 0xf2, 0x69, 0x0d, 0x21, 0xc6, 0x23, 0xd4, 0x80, 0xcc, 0xa9, 0xf7, 0x76, 0x08, 0xe1, 0x79, 0xe5, + 0xee, 0xca, 0x44, 0x72, 0xf7, 0xce, 0x90, 0xe8, 0xa0, 0x0e, 0x2d, 0xef, 0xaf, 0x99, 0xdc, 0x3d, 0xb0, 0x4b, 0x16, + 0x8e, 0xcb, 0x1d, 0x56, 0xe8, 0xd7, 0xee, 0xdd, 0x95, 0x30, 0x0a, 0xa4, 0x14, 0x8e, 0x1a, 0x30, 0x4a, 0x16, 0x85, + 0xb8, 0xf9, 0xe9, 0xb8, 0xf9, 0x3b, 0x71, 0x31, 0xd8, 0x80, 0xf2, 0x81, 0xe4, 0xcd, 0x24, 0xa1, 0x38, 0xe4, 0xad, + 0xc4, 0x08, 0x5a, 0x9a, 0x60, 0x44, 0x37, 0xee, 0xc4, 0x54, 0xb8, 0x2b, 0x16, 0x6d, 0x7c, 0x9e, 0x89, 0x6a, 0x57, + 0xa9, 0xb5, 0x7f, 0xbf, 0xd4, 0x3a, 0xbd, 0x4f, 0x6a, 0x4d, 0xd1, 0x61, 0xb8, 0x3d, 0xa8, 0x88, 0x92, 0x23, 0x98, + 0x73, 0x39, 0xce, 0x50, 0x49, 0xd4, 0x8d, 0xc1, 0x64, 0x1a, 0xac, 0x48, 0xa9, 0x37, 0x72, 0x40, 0x44, 0xf1, 0xb7, + 0x74, 0x41, 0x11, 0x0a, 0x75, 0x59, 0x36, 0x7e, 0x5e, 0xc8, 0xc6, 0xe9, 0x56, 0x53, 0xc4, 0x05, 0x11, 0xdc, 0xbf, + 0x14, 0x73, 0x27, 0xbf, 0x1d, 0x14, 0xb1, 0x77, 0x0a, 0x48, 0xa5, 0x68, 0x32, 0xc5, 0x45, 0x43, 0x8a, 0x51, 0x24, + 0x6e, 0x19, 0xe5, 0x50, 0x45, 0xe5, 0xaa, 0x45, 0x30, 0x99, 0xa2, 0x1c, 0xa4, 0xee, 0x08, 0x72, 0x5e, 0x2c, 0x6f, + 0x9b, 0x72, 0x34, 0x11, 0xf9, 0xb5, 0xb4, 0x49, 0xf2, 0xb0, 0x1f, 0x34, 0xc1, 0x42, 0x4c, 0x5f, 0xd1, 0x6b, 0xe7, + 0x36, 0x10, 0x08, 0x64, 0x43, 0x94, 0xa2, 0xfb, 0xa5, 0xf3, 0x94, 0x2d, 0xb9, 0x50, 0x5d, 0x3b, 0x48, 0xdd, 0x49, + 0x13, 0x2c, 0xcb, 0x23, 0x70, 0xae, 0xaf, 0x24, 0x09, 0x42, 0xd7, 0x56, 0xec, 0x5e, 0x03, 0x03, 0x80, 0xf4, 0xbf, + 0xfa, 0xcc, 0x59, 0x01, 0x90, 0x44, 0x2a, 0xb6, 0xac, 0xf3, 0xc7, 0x43, 0x6c, 0x92, 0x25, 0x3b, 0x56, 0xad, 0x7f, + 0x93, 0xe4, 0x3d, 0x6b, 0x1e, 0x13, 0xa4, 0x2c, 0xce, 0xe7, 0x35, 0xba, 0x02, 0x0e, 0xbe, 0xcb, 0xe2, 0x65, 0x88, + 0x49, 0x70, 0xcd, 0x34, 0xf6, 0x46, 0x1f, 0xd7, 0xd2, 0xf7, 0xb8, 0x48, 0x14, 0xc4, 0xc5, 0x65, 0xa5, 0x42, 0xcf, + 0xc3, 0x9c, 0x51, 0xac, 0x6b, 0xb5, 0x12, 0x49, 0x50, 0xd3, 0x7d, 0x64, 0xb7, 0xbd, 0x17, 0x93, 0x83, 0x8a, 0xfc, + 0xb4, 0x75, 0x58, 0x96, 0xae, 0xe7, 0x70, 0xcc, 0xa3, 0x5f, 0x78, 0xf4, 0xa4, 0xdf, 0xff, 0xd3, 0x09, 0xff, 0x66, + 0x65, 0x8d, 0x3e, 0x07, 0x04, 0x68, 0x5f, 0x52, 0x4c, 0xcb, 0x6a, 0x9a, 0x5a, 0xc9, 0x26, 0xb0, 0x26, 0x7e, 0x10, + 0x98, 0x01, 0xb8, 0x31, 0xac, 0x3f, 0x6b, 0x78, 0xd8, 0xcf, 0x12, 0xb2, 0x15, 0x7e, 0x46, 0x3f, 0xe5, 0x9d, 0x92, + 0xce, 0x96, 0xf3, 0xe1, 0x5a, 0x16, 0x94, 0x4b, 0xf2, 0xf3, 0xba, 0xcc, 0x5c, 0xfe, 0xec, 0x64, 0x32, 0x29, 0x4b, + 0x8d, 0x6d, 0xe5, 0x00, 0x25, 0xbf, 0x8f, 0x6c, 0xdb, 0xae, 0xce, 0xef, 0xa6, 0x83, 0x42, 0x07, 0xc3, 0x44, 0x21, + 0x7c, 0xe7, 0xfe, 0x3d, 0xf5, 0x3b, 0x41, 0x4b, 0x5d, 0x6d, 0x3a, 0x8f, 0xb4, 0xd5, 0xfe, 0x2b, 0x40, 0x41, 0xd4, + 0x70, 0xdf, 0xf1, 0xaf, 0xef, 0x95, 0x2d, 0x3d, 0x55, 0x0f, 0xf0, 0xc3, 0x1a, 0xdf, 0xb3, 0xd7, 0x77, 0x68, 0xba, + 0x69, 0x7b, 0x67, 0x56, 0x41, 0x76, 0x4b, 0x36, 0x4b, 0x3d, 0xb2, 0x54, 0xf2, 0x53, 0x36, 0x4f, 0xba, 0x23, 0x86, + 0x0a, 0x52, 0x4b, 0xa2, 0xb6, 0x68, 0xd5, 0x63, 0x4e, 0xc1, 0x8e, 0xcb, 0x11, 0x78, 0xd8, 0x56, 0x50, 0x59, 0x55, + 0xd3, 0xac, 0x89, 0x8f, 0x20, 0x15, 0x5b, 0xd7, 0x15, 0x4e, 0xb8, 0x4d, 0x0f, 0xed, 0x3f, 0x94, 0xea, 0x29, 0xc0, + 0x9d, 0xae, 0x85, 0xb5, 0x09, 0x29, 0x4f, 0xf0, 0xef, 0x5c, 0x39, 0xf7, 0x62, 0x71, 0x5b, 0x36, 0xee, 0xea, 0x80, + 0xba, 0xa9, 0x20, 0x65, 0x04, 0x75, 0x13, 0xea, 0xcb, 0x4d, 0x80, 0x26, 0xb2, 0x75, 0x0b, 0x58, 0xd0, 0x88, 0x29, + 0xa8, 0xe8, 0x08, 0x73, 0x50, 0xf1, 0x3a, 0x0b, 0x3b, 0xaf, 0x90, 0xef, 0xe3, 0x2f, 0xc8, 0x52, 0x0e, 0xe9, 0x4e, + 0xfe, 0x60, 0x3c, 0xef, 0xa0, 0x72, 0xaf, 0xb4, 0x55, 0xd1, 0x54, 0x06, 0xf7, 0x80, 0xb8, 0x91, 0x2a, 0xcb, 0x38, + 0x30, 0x29, 0x71, 0xbd, 0xa6, 0xaf, 0xeb, 0xe3, 0xde, 0xdc, 0xbd, 0x73, 0x08, 0x7a, 0x8d, 0xfa, 0x54, 0xed, 0xa4, + 0xda, 0xab, 0xea, 0xb0, 0x05, 0x9c, 0xb0, 0x02, 0xe0, 0x33, 0xab, 0xa0, 0xd1, 0x90, 0x52, 0xc1, 0x7d, 0x34, 0xe8, + 0xfc, 0xad, 0x8c, 0xac, 0xc5, 0x38, 0xb1, 0xbb, 0xe6, 0x2a, 0xd4, 0xb7, 0xd0, 0x0c, 0xc2, 0xdc, 0x71, 0xec, 0x84, + 0xcf, 0x26, 0xec, 0x18, 0x19, 0x5d, 0x39, 0xb8, 0x83, 0xf0, 0x94, 0x9a, 0x94, 0xfc, 0x84, 0x4e, 0x29, 0xea, 0x12, + 0xfe, 0xd8, 0x28, 0xbc, 0xbf, 0x28, 0x49, 0xe3, 0x79, 0xd0, 0x89, 0x96, 0xbe, 0x53, 0xed, 0xb9, 0x1f, 0xee, 0x5e, + 0xd7, 0xbb, 0xdd, 0xb9, 0x2e, 0x30, 0x87, 0x3b, 0x57, 0x06, 0xee, 0x12, 0x2b, 0x5f, 0xa4, 0xee, 0x1f, 0x25, 0xe5, + 0x81, 0x1c, 0x30, 0x51, 0xc5, 0x56, 0x74, 0xa3, 0xff, 0x71, 0xe9, 0x0e, 0x4e, 0x4e, 0x6f, 0xe7, 0x81, 0x72, 0xc3, + 0xe2, 0x04, 0x12, 0x4a, 0xa8, 0x8e, 0x65, 0xab, 0x0a, 0x1a, 0xf4, 0xfb, 0xe1, 0xd4, 0x55, 0x7f, 0xbe, 0x78, 0x63, + 0x76, 0xd4, 0x53, 0x30, 0xc7, 0xb8, 0x99, 0x22, 0x8b, 0x7b, 0xee, 0xdd, 0xb1, 0xf8, 0xba, 0xc5, 0x3d, 0x7e, 0x88, + 0xb9, 0xc5, 0x32, 0xa5, 0xa5, 0xee, 0x90, 0x12, 0x5e, 0xb9, 0xf1, 0xd9, 0xea, 0x65, 0x74, 0xeb, 0xaa, 0x80, 0x58, + 0x9d, 0x56, 0x47, 0x71, 0x5a, 0x07, 0xd6, 0x51, 0x47, 0xed, 0x7f, 0xa5, 0x28, 0x27, 0x63, 0x36, 0x49, 0xfa, 0x28, + 0x8e, 0x39, 0x41, 0x7e, 0x90, 0x7e, 0x2b, 0x8a, 0x35, 0x0a, 0x12, 0xd3, 0x51, 0xd6, 0xfc, 0x51, 0x51, 0x00, 0x19, + 0x75, 0x95, 0x47, 0x93, 0xd6, 0xe4, 0x60, 0xf2, 0xa2, 0xc7, 0x8b, 0xb3, 0xaf, 0x4a, 0xd5, 0x0d, 0xfa, 0xb7, 0x25, + 0x35, 0x4b, 0xd2, 0x38, 0xfa, 0xc8, 0x38, 0x2f, 0xa9, 0xe4, 0x82, 0xa2, 0x6a, 0xd3, 0x56, 0xfd, 0x4b, 0x4e, 0x67, + 0x38, 0x9a, 0xb4, 0x8a, 0xea, 0x08, 0xe3, 0x7e, 0x0e, 0xe4, 0xc9, 0xbe, 0x00, 0xfd, 0x44, 0x9e, 0x26, 0xc7, 0x6c, + 0x9a, 0x28, 0x47, 0xe5, 0x63, 0x9c, 0x8a, 0xf1, 0x9d, 0x40, 0xc6, 0xb5, 0xc2, 0x7b, 0x31, 0xc1, 0x66, 0xae, 0xfa, + 0x83, 0xd3, 0xea, 0x18, 0x8e, 0x73, 0x64, 0x1d, 0x75, 0x46, 0xb6, 0x71, 0x60, 0x1d, 0x98, 0x6d, 0xeb, 0xc8, 0xe8, + 0x98, 0x1d, 0xa3, 0xf3, 0x5d, 0x67, 0x64, 0x1e, 0x58, 0x07, 0x86, 0x6d, 0x76, 0xa0, 0xd0, 0xec, 0x98, 0x9d, 0x1b, + 0xf3, 0xa0, 0x33, 0xb2, 0xb1, 0xb4, 0x65, 0x1d, 0x1e, 0x9a, 0x8e, 0x6d, 0x1d, 0x1e, 0x1a, 0x87, 0xd6, 0xd1, 0x91, + 0xe9, 0xb4, 0xad, 0xa3, 0xa3, 0xf3, 0xc3, 0x8e, 0xd5, 0x86, 0x77, 0xed, 0xf6, 0xa8, 0x6d, 0x39, 0x8e, 0x09, 0x7f, + 0x19, 0x1d, 0xab, 0x45, 0x3f, 0x1c, 0xc7, 0x6a, 0x3b, 0x86, 0x1d, 0x1c, 0xb6, 0xac, 0xa3, 0x17, 0x06, 0xfe, 0x8d, + 0xd5, 0x0c, 0xfc, 0x0b, 0xba, 0x31, 0x5e, 0x58, 0xad, 0x23, 0xfa, 0x85, 0x1d, 0xde, 0x1c, 0x74, 0xfe, 0xa6, 0xee, + 0x6f, 0x1c, 0x83, 0x43, 0x63, 0xe8, 0x1c, 0x5a, 0xed, 0xb6, 0x71, 0xe0, 0x58, 0x9d, 0xf6, 0xcc, 0x3c, 0x68, 0x59, + 0x47, 0xc7, 0x23, 0xd3, 0xb1, 0x8e, 0x8f, 0x0d, 0xdb, 0x6c, 0x5b, 0x2d, 0xc3, 0xb1, 0x0e, 0xda, 0xf8, 0xa3, 0x6d, + 0xb5, 0x6e, 0x8e, 0x5f, 0x58, 0x47, 0x87, 0xb3, 0x23, 0xeb, 0xe0, 0xc3, 0x41, 0xc7, 0x6a, 0xb5, 0x67, 0xed, 0x23, + 0xab, 0x75, 0x7c, 0x73, 0x64, 0x1d, 0xcc, 0xcc, 0xd6, 0xd1, 0xd6, 0x96, 0x4e, 0xcb, 0x82, 0x39, 0xc2, 0xd7, 0xf0, + 0xc2, 0xe0, 0x2f, 0xe0, 0xcf, 0x0c, 0xdb, 0xfe, 0x8e, 0xdd, 0x24, 0xf5, 0xa6, 0x2f, 0xac, 0xce, 0xf1, 0x88, 0xaa, + 0x43, 0x81, 0x29, 0x6a, 0x40, 0x93, 0x1b, 0x93, 0x3e, 0x8b, 0xdd, 0x99, 0xa2, 0x23, 0xf1, 0x87, 0x7f, 0xec, 0xc6, + 0x84, 0x0f, 0xd3, 0x77, 0xff, 0xa3, 0xfd, 0xe4, 0x4b, 0x7e, 0xb2, 0x3f, 0xa5, 0xad, 0x3f, 0xed, 0x7f, 0x75, 0x02, + 0x87, 0xbb, 0x3f, 0x30, 0x7e, 0xd9, 0xa4, 0x94, 0xfc, 0xc7, 0xfd, 0x4a, 0xc9, 0x97, 0xcb, 0x5d, 0x94, 0x92, 0xff, + 0xf8, 0xe2, 0x4a, 0xc9, 0x5f, 0xaa, 0xbe, 0x35, 0x6f, 0xaa, 0x59, 0xa8, 0xff, 0xb8, 0xae, 0x8a, 0x1c, 0x12, 0x4f, + 0xbb, 0xfc, 0x71, 0x79, 0x05, 0xf1, 0xe3, 0xdf, 0x44, 0xee, 0xcb, 0x65, 0xc9, 0xe0, 0x33, 0x02, 0x1c, 0xfb, 0x26, + 0x22, 0x1c, 0xfb, 0x61, 0xe9, 0x82, 0x95, 0x19, 0x67, 0x73, 0xfc, 0xb1, 0x39, 0xf3, 0x82, 0x49, 0xce, 0x22, 0x41, + 0x49, 0x0f, 0x8b, 0xc1, 0x6f, 0x1e, 0xc8, 0x33, 0xdc, 0x64, 0x96, 0xf3, 0x30, 0x01, 0x8b, 0x60, 0xb0, 0xe4, 0x98, + 0xc4, 0x59, 0xa5, 0xb1, 0x25, 0x22, 0xee, 0x5f, 0x73, 0x8f, 0xe2, 0x8d, 0xef, 0xd1, 0x00, 0xb8, 0xb9, 0x77, 0xa7, + 0xde, 0xaf, 0x02, 0x96, 0x75, 0xc2, 0x40, 0x1a, 0xb8, 0xfd, 0xa6, 0xf7, 0x65, 0x33, 0xdc, 0x8a, 0xe1, 0xf5, 0x66, + 0x48, 0x01, 0x92, 0x6a, 0x7b, 0xa7, 0x6c, 0xc6, 0x7b, 0xdf, 0x30, 0x1b, 0x3e, 0x5f, 0x6a, 0xbe, 0xc5, 0x86, 0x38, + 0xef, 0xb8, 0x3a, 0x55, 0xeb, 0x12, 0x9f, 0xd6, 0x3c, 0x21, 0xc5, 0x05, 0xb5, 0x30, 0x34, 0x2e, 0x38, 0x55, 0x5b, + 0x41, 0x7e, 0xc7, 0x96, 0xde, 0x95, 0xfa, 0x94, 0x8d, 0x93, 0x9f, 0xad, 0xf1, 0x5e, 0xe1, 0xff, 0x02, 0x9c, 0x28, + 0xe7, 0x78, 0x86, 0x91, 0x3c, 0xcf, 0x6b, 0xa9, 0x5f, 0x92, 0x46, 0x64, 0x33, 0x67, 0x5d, 0xe7, 0x45, 0x37, 0xba, + 0x25, 0x38, 0x6c, 0x2e, 0xb8, 0x20, 0xfc, 0x3c, 0x39, 0x01, 0x64, 0xe4, 0xa8, 0x81, 0x7e, 0x0e, 0xdb, 0x3a, 0x13, + 0xf5, 0x1e, 0xc1, 0x26, 0xe6, 0x9e, 0x80, 0x8a, 0x1c, 0xd2, 0x74, 0x3d, 0x09, 0x22, 0x2f, 0xed, 0x22, 0x9b, 0x26, + 0xb1, 0xbc, 0x2d, 0xf4, 0x58, 0xe8, 0x6d, 0x31, 0xa6, 0x93, 0x3b, 0xe6, 0x9d, 0xa0, 0xe7, 0xc3, 0x36, 0xfb, 0xbb, + 0xdc, 0xe1, 0x6c, 0x5d, 0x32, 0x47, 0x71, 0x0e, 0x8f, 0x0d, 0xe7, 0xc8, 0xb0, 0x8e, 0x0f, 0xf5, 0x4c, 0x1c, 0x38, + 0xb9, 0xcb, 0xd2, 0x84, 0x80, 0x03, 0x44, 0x0e, 0xa6, 0x1f, 0xfa, 0xa9, 0xef, 0x05, 0x19, 0xf0, 0xc3, 0xe5, 0x4b, + 0xca, 0x3f, 0x96, 0x49, 0x0a, 0x63, 0x14, 0x4c, 0x2f, 0x3a, 0x7f, 0x98, 0x43, 0x96, 0xae, 0x18, 0x0b, 0x37, 0x18, + 0xc6, 0x54, 0x7d, 0x49, 0x7e, 0x3b, 0xcb, 0xfa, 0x8c, 0xac, 0xd6, 0x86, 0x69, 0xc8, 0xf7, 0x87, 0x70, 0x7c, 0xc8, + 0x06, 0xc6, 0x77, 0x9b, 0x10, 0xee, 0xcf, 0xf7, 0x23, 0xdc, 0x94, 0xed, 0x82, 0x70, 0x7f, 0xfe, 0xe2, 0x08, 0xf7, + 0x3b, 0x19, 0xe1, 0x96, 0xfc, 0x07, 0x0b, 0x0d, 0xd3, 0x7b, 0x7c, 0xd6, 0xc0, 0x45, 0xf6, 0xb9, 0xba, 0x4f, 0x0c, + 0xbc, 0xaa, 0x17, 0xd9, 0x6b, 0xff, 0xbc, 0x94, 0x2d, 0xa8, 0x51, 0x00, 0x8a, 0x79, 0x1d, 0x7d, 0x74, 0x5d, 0xf6, + 0xc1, 0xd5, 0x4d, 0x84, 0x61, 0x80, 0x3e, 0xbf, 0x0f, 0xd3, 0xc0, 0x7a, 0xc7, 0xef, 0x91, 0xa0, 0xd0, 0x7d, 0x13, + 0xc5, 0x73, 0x0f, 0x53, 0x8c, 0xa8, 0x3a, 0xb8, 0xd3, 0xc1, 0x83, 0x0d, 0x81, 0x40, 0x46, 0x51, 0x38, 0xce, 0xb5, + 0x92, 0xcc, 0xbd, 0x24, 0x8e, 0x5b, 0xbd, 0x63, 0x5e, 0xac, 0x1a, 0xf4, 0x1a, 0x16, 0xf7, 0x59, 0xdb, 0x7e, 0xd6, + 0x3a, 0x78, 0x76, 0x64, 0xc3, 0xff, 0x0e, 0x6b, 0x67, 0x06, 0xaf, 0x38, 0x8f, 0xc2, 0x74, 0x56, 0xd4, 0xdc, 0x54, + 0x6d, 0xc5, 0xd8, 0xc7, 0xa2, 0xd6, 0x71, 0x73, 0xa5, 0xb1, 0x77, 0x57, 0xd4, 0x69, 0xac, 0x31, 0x8b, 0x96, 0x12, + 0x58, 0x0d, 0xd0, 0xf8, 0xe1, 0x12, 0xe4, 0xec, 0x52, 0x0d, 0xf9, 0x35, 0x1f, 0x6e, 0x31, 0x2e, 0xd6, 0xce, 0xae, + 0x44, 0x0e, 0x05, 0xb5, 0x27, 0xd2, 0xea, 0xdd, 0x3b, 0x83, 0x5c, 0x45, 0x69, 0x63, 0xce, 0x29, 0xcc, 0x6c, 0x08, + 0x19, 0xa7, 0x98, 0x58, 0x20, 0x8f, 0x16, 0x28, 0x8d, 0x97, 0xe1, 0x48, 0xc3, 0x9f, 0xde, 0x30, 0xd1, 0xfc, 0xfd, + 0xd8, 0xe2, 0x1f, 0xd6, 0x71, 0xd5, 0xbc, 0xbe, 0x5d, 0x24, 0x9d, 0x4f, 0xc4, 0xaa, 0x78, 0xcf, 0x52, 0x23, 0x46, + 0x3d, 0x36, 0x2d, 0xad, 0xe9, 0x7a, 0xcf, 0xf2, 0x86, 0xcf, 0x52, 0x23, 0x7c, 0x0e, 0xba, 0x4f, 0xd7, 0x7e, 0xf2, + 0x84, 0x6a, 0xed, 0xb9, 0x62, 0x58, 0xa7, 0xa3, 0x22, 0x33, 0x85, 0xe2, 0x4d, 0x23, 0x4a, 0x4e, 0xd1, 0x1d, 0x19, + 0xd1, 0xf3, 0xe7, 0x7d, 0xd7, 0xd1, 0x87, 0x31, 0xf3, 0x3e, 0x66, 0x22, 0xdc, 0x77, 0x88, 0xf9, 0x69, 0xcf, 0x77, + 0x33, 0x34, 0xd2, 0x1b, 0x5d, 0x69, 0x17, 0x70, 0x67, 0xb2, 0x85, 0x3b, 0x02, 0xc7, 0x5e, 0x90, 0xbb, 0x9e, 0x0c, + 0x0a, 0x3c, 0x61, 0xf0, 0x23, 0xea, 0xe4, 0xb7, 0xae, 0xb6, 0x65, 0x5b, 0xb6, 0x9a, 0x37, 0x9c, 0xf8, 0x53, 0x77, + 0x1d, 0xa5, 0x5e, 0x77, 0xcf, 0x31, 0x82, 0x68, 0x0a, 0x7e, 0x74, 0xa9, 0x9f, 0x06, 0xac, 0xab, 0xaa, 0xe0, 0x50, + 0x37, 0xa7, 0x7b, 0x79, 0xc6, 0xbd, 0x1b, 0xbc, 0x18, 0xd2, 0x96, 0xc7, 0x77, 0xc2, 0x15, 0x17, 0x83, 0xa5, 0xff, + 0x00, 0xc4, 0x50, 0x53, 0x35, 0x90, 0x0d, 0xb0, 0x38, 0x31, 0x65, 0x6f, 0xa1, 0xae, 0x02, 0x6d, 0x74, 0x95, 0x0f, + 0x62, 0x12, 0x7b, 0x73, 0xc8, 0xab, 0xbb, 0xce, 0x0c, 0x8e, 0x69, 0x55, 0x8e, 0x6a, 0x15, 0xe7, 0xc5, 0x91, 0xa1, + 0xb4, 0x1c, 0x43, 0xb1, 0x01, 0xdd, 0xaa, 0x99, 0xb1, 0xce, 0xae, 0x7a, 0xf7, 0x19, 0x3c, 0x10, 0x7e, 0x79, 0x44, + 0xe3, 0x20, 0x53, 0x07, 0xae, 0x4a, 0x4a, 0x29, 0x49, 0x8e, 0x26, 0x65, 0xd0, 0xf4, 0x49, 0xe9, 0x79, 0xc1, 0x6e, + 0x53, 0x1d, 0x34, 0x47, 0xa2, 0x8a, 0xaf, 0xaf, 0xd1, 0x61, 0xd8, 0x0f, 0x15, 0xff, 0xd3, 0x27, 0xcd, 0x07, 0x67, + 0x26, 0x57, 0x9a, 0x1f, 0x78, 0xd6, 0x4b, 0x13, 0xe6, 0x17, 0x6a, 0x7a, 0x9c, 0x2c, 0xf0, 0x34, 0x84, 0x7f, 0x8b, + 0x62, 0xf1, 0x83, 0x9b, 0x49, 0x58, 0x81, 0x17, 0x4e, 0x01, 0xa5, 0x79, 0xe1, 0xb4, 0x66, 0x8e, 0x45, 0x3e, 0xcf, + 0x95, 0xd2, 0xa2, 0xab, 0xc2, 0x54, 0x2a, 0x79, 0x79, 0x77, 0xe1, 0x4d, 0x7f, 0xf4, 0xe6, 0x4c, 0x53, 0x81, 0xca, + 0xa1, 0x8b, 0x6e, 0xa1, 0xc9, 0x7d, 0xee, 0x3e, 0x3d, 0x99, 0xb3, 0xd4, 0x23, 0x35, 0x10, 0x5c, 0x7e, 0x81, 0x1d, + 0x50, 0x38, 0xa1, 0xe1, 0x01, 0x2f, 0x5c, 0xca, 0xa5, 0x45, 0x74, 0xc2, 0x50, 0x38, 0x9d, 0x32, 0xd1, 0xe2, 0xd3, + 0x75, 0x0c, 0x72, 0x38, 0x18, 0x79, 0x98, 0x4f, 0xc7, 0x0d, 0x23, 0xb5, 0xff, 0x34, 0xf7, 0xcd, 0xdc, 0xb4, 0x08, + 0x81, 0x1f, 0x7e, 0xbc, 0x8c, 0x59, 0xf0, 0x4f, 0xf7, 0x29, 0x10, 0xee, 0xa7, 0x57, 0xaa, 0xde, 0x4b, 0xad, 0x59, + 0xcc, 0x26, 0xee, 0x53, 0xb8, 0x90, 0x76, 0xd1, 0x3c, 0x16, 0xb8, 0xf6, 0xe7, 0xb7, 0xf3, 0xc0, 0xc0, 0xeb, 0x3d, + 0xc1, 0xa2, 0xb6, 0x5b, 0x45, 0x5c, 0xf3, 0xf6, 0x4e, 0x97, 0xfa, 0x3e, 0xbf, 0xad, 0xc3, 0x0d, 0x70, 0x5d, 0xba, + 0x63, 0x3b, 0x3d, 0xbc, 0x3f, 0x0f, 0x03, 0x6f, 0xf4, 0xb1, 0x47, 0x6f, 0x4a, 0x0f, 0x26, 0x50, 0xeb, 0x91, 0xb7, + 0xe8, 0x22, 0x79, 0x95, 0x0b, 0xc1, 0x7b, 0x9a, 0x4a, 0x73, 0xce, 0xae, 0x71, 0x2f, 0xe3, 0x56, 0x5e, 0xe3, 0x97, + 0xf1, 0x53, 0xab, 0x99, 0x9f, 0x32, 0xf1, 0x29, 0x7c, 0xc8, 0x32, 0x71, 0x51, 0xa7, 0x2b, 0x2a, 0x5e, 0xac, 0xad, + 0xb6, 0xe2, 0x74, 0xbe, 0x3b, 0xbc, 0x71, 0xec, 0x59, 0xcb, 0xb1, 0x3a, 0x1f, 0x9c, 0xce, 0xac, 0x6d, 0x1d, 0x07, + 0x66, 0xdb, 0x3a, 0x86, 0x3f, 0x1f, 0x8e, 0xad, 0xce, 0xcc, 0x6c, 0x59, 0x07, 0x1f, 0x9c, 0x56, 0x60, 0x76, 0xac, + 0x63, 0xf8, 0x73, 0x4e, 0xad, 0xe0, 0x02, 0x44, 0xf7, 0x9d, 0xa7, 0x25, 0x2c, 0x20, 0xfd, 0xce, 0x75, 0xb2, 0x46, + 0x89, 0xbc, 0x35, 0xe8, 0x75, 0x17, 0x18, 0x45, 0x42, 0xe4, 0xaf, 0x09, 0x7b, 0x5a, 0xe8, 0x32, 0x4a, 0x2a, 0x2b, + 0xcc, 0xdb, 0x84, 0x1f, 0xba, 0xc8, 0xe6, 0xd9, 0x78, 0x8c, 0x78, 0x9b, 0xe6, 0x0c, 0x96, 0xba, 0xc8, 0x08, 0x8c, + 0xcf, 0x3f, 0x2f, 0x30, 0xfe, 0xba, 0x48, 0xc3, 0x2c, 0x61, 0x25, 0xf0, 0x3d, 0xb7, 0xc2, 0x68, 0x85, 0xb6, 0x15, + 0xf7, 0x01, 0x8e, 0xde, 0xfc, 0x4c, 0x58, 0x76, 0x7d, 0xd9, 0xbe, 0xa5, 0xcc, 0xd7, 0x9f, 0xd5, 0x0f, 0x0f, 0x0b, + 0x21, 0x67, 0x9f, 0x1c, 0xfb, 0x71, 0x0e, 0x9e, 0x84, 0xa2, 0x9d, 0xe6, 0xd4, 0x9f, 0xba, 0x41, 0xc1, 0x91, 0x58, + 0x7c, 0xe3, 0x05, 0x92, 0x21, 0x9b, 0xd4, 0x72, 0x2f, 0xc7, 0xfc, 0x4f, 0x9e, 0x14, 0xc0, 0x99, 0x15, 0xb8, 0x4f, + 0x9c, 0x43, 0x20, 0xbb, 0x87, 0xac, 0xbd, 0xd5, 0xa6, 0x92, 0x6e, 0x3a, 0xdb, 0x7c, 0xab, 0x8b, 0x4c, 0x47, 0xc2, + 0x6e, 0x4a, 0x58, 0x6c, 0x6c, 0x34, 0xec, 0xac, 0xd9, 0x6b, 0x40, 0xaa, 0xb8, 0xca, 0x55, 0x47, 0xd5, 0x7b, 0xa1, + 0x30, 0x3f, 0x08, 0xb7, 0x24, 0x79, 0xe3, 0x77, 0x31, 0x15, 0xa6, 0x66, 0xcb, 0x38, 0xee, 0x71, 0x10, 0xff, 0x4f, + 0x0f, 0x02, 0x9d, 0x35, 0xc1, 0x5e, 0xa2, 0x72, 0x5a, 0x4b, 0xce, 0x7b, 0x39, 0x5d, 0x25, 0x82, 0xca, 0x92, 0x53, + 0x15, 0x8a, 0xd4, 0xae, 0x8a, 0x8e, 0x61, 0x6a, 0x6e, 0x2c, 0x9a, 0x53, 0x8b, 0xa2, 0xc0, 0xf0, 0x31, 0xa1, 0xa6, + 0x70, 0x1c, 0xd5, 0x9f, 0x3c, 0xd9, 0x48, 0x84, 0xc8, 0x38, 0x27, 0x61, 0xa9, 0x60, 0xd0, 0x35, 0x55, 0xc6, 0x6f, + 0xaa, 0x8c, 0x62, 0xf2, 0x7e, 0x11, 0x6b, 0x08, 0x1b, 0x57, 0xda, 0x7b, 0xf8, 0x73, 0xc8, 0xbc, 0xd4, 0xe2, 0xca, + 0x52, 0x4d, 0x22, 0xee, 0x86, 0xc3, 0xda, 0x60, 0xdd, 0xca, 0xd3, 0x34, 0xf0, 0x34, 0x28, 0x8f, 0xd7, 0x7f, 0x5e, + 0xf2, 0xa8, 0x0e, 0xd0, 0xc7, 0x27, 0xbb, 0x88, 0xc3, 0xf9, 0x36, 0xf5, 0x28, 0x0e, 0x9a, 0x4c, 0x72, 0xa3, 0xd4, + 0x23, 0x7b, 0x0e, 0x1f, 0x43, 0xd7, 0x34, 0x47, 0xe4, 0x92, 0x22, 0x3f, 0xf4, 0xdf, 0x5e, 0x7c, 0xa3, 0xf0, 0xfd, + 0x4f, 0xd6, 0x02, 0x78, 0x91, 0xa1, 0x78, 0x33, 0x2e, 0xc5, 0x9b, 0x51, 0x78, 0x26, 0x63, 0xc8, 0xb9, 0x9a, 0xed, + 0xd3, 0x0c, 0xa2, 0x00, 0x9a, 0x6c, 0x28, 0xe6, 0xcb, 0x20, 0xf5, 0x17, 0x5e, 0x9c, 0xee, 0x63, 0xb0, 0x19, 0x0c, + 0x5e, 0xb3, 0x29, 0x1e, 0x04, 0x99, 0x61, 0x88, 0xec, 0x20, 0x69, 0x28, 0xec, 0x30, 0x26, 0x7e, 0x90, 0x9b, 0x61, + 0x88, 0x0f, 0x78, 0xa3, 0x11, 0x5b, 0xa4, 0x6e, 0x29, 0xa8, 0x4d, 0x34, 0x4a, 0x59, 0x6a, 0x26, 0x69, 0xcc, 0xbc, + 0xb9, 0x9a, 0x07, 0xb9, 0xaa, 0xf7, 0x97, 0x2c, 0x87, 0x10, 0xa5, 0x47, 0x84, 0xdb, 0xa2, 0x01, 0x82, 0x41, 0x04, + 0x80, 0x08, 0x41, 0x66, 0x68, 0x0a, 0xcf, 0xa3, 0x69, 0x65, 0x47, 0x15, 0x9c, 0xcb, 0x29, 0x26, 0x09, 0xa3, 0x9b, + 0x0c, 0x48, 0x8b, 0x47, 0x51, 0x70, 0xcd, 0x63, 0x58, 0xe4, 0xd9, 0x66, 0xd4, 0xfe, 0x09, 0xbf, 0xde, 0x2a, 0x18, + 0xbe, 0x45, 0x3d, 0xb4, 0x21, 0x0d, 0xda, 0xa6, 0xe8, 0x16, 0xfb, 0xbc, 0x32, 0x90, 0x26, 0xea, 0x19, 0x33, 0x59, + 0x12, 0x2c, 0x17, 0xc0, 0x08, 0x95, 0x0c, 0x66, 0x66, 0x4e, 0x3f, 0x77, 0xa7, 0x44, 0xa8, 0x90, 0x57, 0xfa, 0xf4, + 0xe9, 0xfd, 0xe0, 0xdf, 0xff, 0x82, 0x74, 0x9b, 0x33, 0x47, 0xc4, 0x94, 0xb8, 0x94, 0x6b, 0x71, 0xee, 0xd3, 0x18, + 0xa0, 0xb1, 0x14, 0x1b, 0x8b, 0x68, 0x7f, 0x62, 0x6b, 0x65, 0x83, 0x2b, 0x11, 0xa7, 0x0e, 0x12, 0xf5, 0xea, 0x22, + 0xf2, 0xc5, 0x00, 0x96, 0x77, 0x20, 0x62, 0xa2, 0x28, 0x7f, 0xbf, 0x7d, 0x79, 0xac, 0x14, 0xe1, 0x13, 0x9b, 0x2c, + 0x7a, 0x68, 0x0f, 0xf5, 0x4f, 0x3c, 0x05, 0x99, 0x16, 0x64, 0x3f, 0x92, 0xee, 0x3e, 0x0c, 0x73, 0x16, 0xcd, 0x99, + 0xe5, 0x47, 0xfb, 0x2b, 0x36, 0x34, 0xbd, 0x85, 0x4f, 0x76, 0x39, 0x28, 0x77, 0x53, 0x88, 0xf3, 0xcb, 0xcd, 0x5d, + 0x88, 0xbf, 0xce, 0x8a, 0xa9, 0x8c, 0x2a, 0x81, 0xd0, 0x5a, 0x85, 0x1e, 0xf0, 0x80, 0x07, 0x19, 0x13, 0x35, 0xfb, + 0x27, 0xfb, 0x5e, 0xbf, 0x9c, 0x79, 0xc6, 0x12, 0x19, 0x54, 0xcb, 0x44, 0xe0, 0x94, 0x12, 0xc8, 0x88, 0x5c, 0x31, + 0xc5, 0x83, 0x19, 0x4d, 0x26, 0x72, 0xb6, 0x18, 0xab, 0x0c, 0x5e, 0x3e, 0x69, 0xc5, 0x96, 0x8e, 0x16, 0xf4, 0xa5, + 0xfa, 0x27, 0xf2, 0x9f, 0x6a, 0x17, 0xd3, 0x44, 0xc1, 0x98, 0xe1, 0xb8, 0xd7, 0xb2, 0xce, 0xe4, 0x33, 0xf6, 0x88, + 0x2a, 0x71, 0x3c, 0x52, 0xcd, 0x71, 0xb8, 0x81, 0x73, 0xd9, 0x73, 0x5d, 0x42, 0x73, 0x55, 0x6c, 0x07, 0x93, 0xd8, + 0x90, 0x4d, 0x16, 0x06, 0x9b, 0x42, 0x43, 0x93, 0xdc, 0x65, 0xb1, 0x51, 0x75, 0x38, 0x75, 0x18, 0xf7, 0x3d, 0xb1, + 0xfd, 0x4a, 0x1b, 0x14, 0x36, 0x1e, 0x5f, 0x77, 0xc0, 0xef, 0xa2, 0x9f, 0x0a, 0x9a, 0x57, 0xbe, 0x26, 0x8c, 0x6e, + 0x06, 0xde, 0x5d, 0x24, 0x99, 0x31, 0xf1, 0x88, 0x26, 0xe7, 0x58, 0x7a, 0x21, 0x3c, 0x89, 0x6b, 0x07, 0x0d, 0x49, + 0x18, 0x64, 0xdd, 0xac, 0x1f, 0xb6, 0x82, 0xfe, 0x06, 0xec, 0xbe, 0xb3, 0x26, 0xd7, 0x2d, 0x0f, 0x06, 0x91, 0x67, + 0x56, 0x9c, 0xc3, 0xd2, 0x4b, 0x44, 0x0b, 0xd9, 0xc9, 0x3e, 0x8c, 0x0f, 0xa2, 0xb0, 0x94, 0x18, 0x27, 0x5f, 0x87, + 0x50, 0x2f, 0x5e, 0x42, 0xa6, 0x58, 0xdf, 0x8f, 0x05, 0xcf, 0x87, 0x17, 0x4b, 0x29, 0x97, 0xbc, 0x54, 0xa5, 0xce, + 0xcb, 0xd8, 0xcd, 0x4c, 0xe0, 0xfd, 0x29, 0x6a, 0x3f, 0x2c, 0x31, 0x3f, 0x6d, 0xd6, 0x4b, 0x99, 0x08, 0x72, 0x70, + 0x9e, 0x6e, 0x88, 0x83, 0xb0, 0xa9, 0x0a, 0xf1, 0xb3, 0x5b, 0x2a, 0x14, 0xfb, 0x78, 0x5b, 0xad, 0x82, 0x73, 0x2a, + 0xaa, 0x79, 0x9a, 0xfa, 0x08, 0x77, 0x7c, 0xad, 0x36, 0x96, 0x62, 0x74, 0x86, 0xd4, 0x85, 0xaa, 0x42, 0x16, 0xef, + 0x2d, 0x16, 0x54, 0x59, 0xef, 0x9d, 0xec, 0xd3, 0xb5, 0xb4, 0x4f, 0x3b, 0xac, 0x7f, 0x02, 0xa6, 0xdc, 0xb4, 0xe8, + 0xde, 0x62, 0xc1, 0x97, 0x94, 0x7e, 0xd1, 0x9b, 0xfd, 0x59, 0x3a, 0x0f, 0xfa, 0xff, 0x0b, 0x3a, 0x5f, 0xcc, 0x86, + 0x37, 0x7a, 0x03, 0x00}; #else // Brotli (default, smaller) const uint8_t INDEX_BR[] PROGMEM = { - 0x5b, 0xa5, 0x72, 0x53, 0x82, 0x27, 0x1b, 0xbc, 0x80, 0x75, 0x03, 0x48, 0xa5, 0xee, 0x7f, 0x2b, 0x0f, 0x47, 0x11, - 0x6c, 0x9c, 0x30, 0x00, 0xbc, 0x78, 0xe3, 0x55, 0x06, 0x02, 0xe7, 0x01, 0x48, 0x39, 0xae, 0xfd, 0x5e, 0x40, 0x55, - 0x4d, 0x39, 0x3a, 0x86, 0x68, 0xb0, 0x4b, 0x00, 0x54, 0x6c, 0xdf, 0xed, 0x57, 0x28, 0x4a, 0x70, 0x44, 0x0e, 0x0a, - 0x69, 0x65, 0x69, 0xd3, 0x0b, 0x32, 0x81, 0x19, 0x99, 0x45, 0x41, 0x5c, 0x10, 0x08, 0x62, 0xa3, 0x51, 0x83, 0xcd, - 0x39, 0x4f, 0x9c, 0xe3, 0x34, 0x65, 0x23, 0x09, 0xb7, 0x1c, 0x9c, 0x0d, 0xdd, 0x8c, 0x40, 0x15, 0x18, 0xc2, 0xe1, - 0x0d, 0x6d, 0x41, 0xba, 0xf2, 0xe0, 0xce, 0x7b, 0x72, 0x4e, 0x34, 0xfe, 0x50, 0x23, 0x59, 0xda, 0x96, 0x63, 0x22, - 0x70, 0xf0, 0x6a, 0xb7, 0x8c, 0x88, 0x6e, 0x48, 0x1a, 0xf6, 0x45, 0xf5, 0xa0, 0xf6, 0x37, 0xf1, 0x4b, 0x22, 0x1c, - 0x2f, 0x73, 0x23, 0x8a, 0x31, 0x70, 0x24, 0x71, 0x67, 0x77, 0x29, 0xa1, 0x7d, 0xad, 0xb1, 0x07, 0x6b, 0x81, 0x56, - 0x9e, 0x58, 0x49, 0x4c, 0x4f, 0x54, 0x3f, 0x88, 0x99, 0x48, 0x93, 0x67, 0x63, 0xed, 0x72, 0xc1, 0x0d, 0x75, 0x3e, - 0x51, 0xff, 0x97, 0xe7, 0x7b, 0xc9, 0x07, 0xd3, 0x4d, 0xf1, 0x33, 0xbf, 0xf5, 0x5a, 0xc7, 0x8d, 0x5a, 0x44, 0x59, - 0xb7, 0xb4, 0xf1, 0x5d, 0x70, 0x1b, 0xcf, 0xdd, 0x66, 0xb5, 0xe0, 0x04, 0x41, 0x10, 0xcb, 0x00, 0xc7, 0x98, 0xa8, - 0x1f, 0x22, 0x6d, 0x84, 0x78, 0xf1, 0x7e, 0x44, 0xdf, 0xfe, 0x4b, 0xb5, 0xff, 0xfa, 0x0d, 0x7b, 0xb6, 0x6e, 0xaf, - 0x4d, 0xcf, 0xbc, 0x4d, 0x53, 0x8c, 0xb3, 0xd8, 0x7b, 0x56, 0xdb, 0x59, 0x59, 0x2a, 0x19, 0xc6, 0x3d, 0xe4, 0x45, - 0x0c, 0x01, 0x1c, 0x00, 0x1d, 0x49, 0xee, 0xa7, 0x7d, 0x9b, 0xf6, 0x9d, 0xee, 0xf3, 0xd8, 0xd6, 0x6f, 0xdb, 0x09, - 0xa9, 0x7d, 0xca, 0xc5, 0xdf, 0x31, 0x02, 0x2b, 0x31, 0x12, 0x63, 0x89, 0x96, 0xfb, 0x2a, 0x67, 0xfd, 0x79, 0x2e, - 0x37, 0x57, 0x8c, 0x46, 0x4e, 0x9e, 0x5a, 0x22, 0xb3, 0x00, 0xef, 0xa9, 0xfe, 0x18, 0x84, 0x77, 0xd9, 0xac, 0xb6, - 0xa9, 0xf6, 0x87, 0xa4, 0x14, 0x52, 0x85, 0x5d, 0x44, 0xc8, 0x19, 0x21, 0xb6, 0x92, 0xef, 0x97, 0xf6, 0x7b, 0x7f, - 0xe6, 0xfb, 0xf5, 0x0d, 0xc7, 0xb9, 0x19, 0x8e, 0x76, 0x1d, 0x86, 0x94, 0x3a, 0x29, 0xb5, 0x39, 0xb2, 0x18, 0x16, - 0x5e, 0x64, 0x69, 0x9f, 0x24, 0x5c, 0xc7, 0xff, 0x7a, 0x5f, 0x57, 0x5f, 0xbf, 0x76, 0x17, 0x2b, 0xce, 0x1d, 0x1d, - 0x29, 0x4b, 0xd8, 0xe7, 0x15, 0x37, 0x3d, 0x19, 0xc2, 0x23, 0xbc, 0x42, 0x91, 0xcc, 0x23, 0xa5, 0x72, 0x19, 0xc7, - 0xea, 0x18, 0xed, 0x1a, 0xd9, 0xa5, 0x56, 0x88, 0x8c, 0xd5, 0xf0, 0xff, 0xf5, 0x35, 0xad, 0xaf, 0x5f, 0x89, 0xb0, - 0xca, 0x5c, 0xea, 0x40, 0xa1, 0x99, 0xfd, 0x3d, 0x92, 0x9c, 0x65, 0xd9, 0x3d, 0x15, 0x82, 0x96, 0x69, 0x1b, 0x2f, - 0xe0, 0x00, 0x7a, 0xcd, 0xba, 0xf7, 0xbe, 0xaa, 0xfe, 0xfb, 0xe7, 0x0b, 0xa1, 0x3b, 0x44, 0x1b, 0xb8, 0xdc, 0x1d, - 0x26, 0x4b, 0x33, 0x6b, 0xaa, 0xe9, 0xce, 0xd8, 0x14, 0x05, 0x4a, 0x4c, 0x25, 0xca, 0x8f, 0x80, 0x95, 0x49, 0x4b, - 0x5d, 0x55, 0x94, 0xce, 0x7e, 0x48, 0x05, 0x65, 0x53, 0x36, 0x34, 0xc3, 0xb6, 0x75, 0xea, 0xfb, 0x93, 0xcc, 0xf7, - 0x13, 0x5e, 0x90, 0x8d, 0x0d, 0xcd, 0xb7, 0x2f, 0x4f, 0xd7, 0x71, 0x23, 0x2d, 0xb0, 0xc4, 0x22, 0xbd, 0x6f, 0x90, - 0x13, 0xa5, 0x12, 0xf3, 0x3f, 0xdc, 0x72, 0xe2, 0x12, 0x88, 0xd6, 0x66, 0x6f, 0x0b, 0xf1, 0x8a, 0x2f, 0x12, 0x3d, - 0x1f, 0x44, 0x3c, 0x4d, 0x2d, 0x5f, 0x6f, 0xfb, 0x25, 0x5f, 0xa5, 0x73, 0x29, 0x2f, 0xa5, 0x58, 0x49, 0x37, 0x57, - 0xba, 0xc0, 0xbb, 0xb7, 0xa9, 0x44, 0x69, 0x3a, 0xb0, 0x81, 0x1c, 0x8a, 0xa4, 0x8c, 0x2d, 0x50, 0xd8, 0x7b, 0x7f, - 0x3f, 0xfb, 0xaf, 0x5f, 0x9d, 0x5a, 0x9c, 0x39, 0x0c, 0x22, 0xde, 0x77, 0x34, 0xb0, 0x8f, 0xc7, 0x5b, 0xad, 0x1b, - 0x35, 0xc6, 0xec, 0xd2, 0xe0, 0x25, 0x51, 0xdb, 0xd3, 0x70, 0xcc, 0x65, 0x55, 0x7d, 0x8a, 0x0a, 0x8d, 0x18, 0x42, - 0x97, 0x67, 0xbf, 0xcf, 0x64, 0x1f, 0xd3, 0x0d, 0xcc, 0x60, 0xd8, 0xc8, 0x73, 0x82, 0x71, 0xbd, 0x10, 0xd1, 0xd6, - 0x60, 0xa9, 0xda, 0x8a, 0x21, 0x49, 0x97, 0xed, 0x91, 0x5d, 0x78, 0x51, 0xf6, 0x07, 0x7f, 0xeb, 0x3c, 0x3c, 0x12, - 0x95, 0x0f, 0x0f, 0xc9, 0x07, 0xd4, 0xea, 0x1b, 0x7e, 0xdf, 0xd7, 0xa6, 0x7b, 0x97, 0xc9, 0x61, 0x2b, 0xf1, 0x2f, - 0x8d, 0x52, 0x01, 0x68, 0x0b, 0xe0, 0x51, 0x80, 0x2e, 0x45, 0x3d, 0x35, 0x58, 0xfe, 0xff, 0xde, 0x4a, 0xcb, 0xed, - 0x8f, 0xb4, 0x20, 0xda, 0x01, 0xe4, 0x38, 0xc3, 0x91, 0xf5, 0xfb, 0xce, 0xca, 0x02, 0x5b, 0x0d, 0x90, 0xec, 0x71, - 0x66, 0x25, 0xad, 0xb5, 0xd8, 0x54, 0x5c, 0xf3, 0x2e, 0xf3, 0xbb, 0xe8, 0x8c, 0x1f, 0x86, 0x15, 0x26, 0xb3, 0x91, - 0xae, 0x9a, 0x65, 0x1b, 0x59, 0x4e, 0x03, 0x80, 0xe0, 0x7d, 0xef, 0xff, 0x28, 0xfc, 0xff, 0x23, 0x8b, 0xf3, 0x23, - 0xb2, 0x40, 0x45, 0x66, 0x15, 0xe7, 0x64, 0x15, 0x30, 0xa3, 0x2a, 0x90, 0x33, 0x2a, 0x80, 0x7d, 0x74, 0x40, 0x8e, - 0x13, 0xbd, 0xa6, 0xe9, 0x8e, 0x86, 0x94, 0xf7, 0x3b, 0x2d, 0x56, 0x6c, 0xca, 0xfb, 0xdd, 0x0e, 0x94, 0x35, 0x4b, - 0x69, 0xa5, 0xa3, 0xff, 0xd5, 0x99, 0xeb, 0x3f, 0xd6, 0x5d, 0x11, 0x26, 0x5f, 0x27, 0xdd, 0x30, 0x6c, 0xf1, 0xff, - 0x92, 0x41, 0x72, 0x1a, 0x60, 0x39, 0x28, 0x17, 0xe5, 0x94, 0xec, 0x32, 0x8d, 0x1d, 0xbb, 0xad, 0xc4, 0xc3, 0xc6, - 0x63, 0x5f, 0xd5, 0x1f, 0xc3, 0xef, 0xe1, 0x68, 0x41, 0x98, 0x3a, 0xd3, 0x34, 0xfd, 0x77, 0xfb, 0x63, 0xd9, 0xf7, - 0x3a, 0x3d, 0xe7, 0xe8, 0xef, 0xac, 0x42, 0x08, 0x24, 0x04, 0x14, 0x84, 0x60, 0xdd, 0xd9, 0x46, 0xb5, 0x2a, 0x5d, - 0x6d, 0xdd, 0x71, 0xd5, 0xaa, 0x69, 0xbe, 0x86, 0x3f, 0x04, 0x08, 0x81, 0x99, 0xbb, 0xc7, 0x70, 0x76, 0x39, 0x03, - 0x11, 0x09, 0xd1, 0x7f, 0x8f, 0x53, 0xca, 0x99, 0xd2, 0x83, 0xb4, 0x05, 0x42, 0xa4, 0xc6, 0x6b, 0x7b, 0xfd, 0xfd, - 0xf3, 0x78, 0xb9, 0x45, 0x74, 0x52, 0xdf, 0x2b, 0xd0, 0x1e, 0xa1, 0xed, 0x1f, 0x89, 0xa7, 0x3c, 0xe4, 0x11, 0xaf, - 0x04, 0x8b, 0x4d, 0xd2, 0xd5, 0x70, 0x9f, 0x00, 0x57, 0xf8, 0x16, 0x97, 0xb6, 0x76, 0x97, 0x9b, 0xac, 0xc5, 0x35, - 0x13, 0x6c, 0xee, 0x2c, 0x26, 0xce, 0x2d, 0x0e, 0x10, 0x4e, 0xc7, 0x88, 0xb6, 0xe0, 0x32, 0xd0, 0x1c, 0xe7, 0x0e, - 0x7e, 0xf9, 0xbc, 0x10, 0x4c, 0xa3, 0x3d, 0x94, 0x6c, 0xc7, 0x28, 0xc4, 0x14, 0x44, 0x9e, 0x17, 0xce, 0xde, 0x7d, - 0x60, 0x72, 0x3f, 0xa5, 0x62, 0x30, 0x0b, 0xa3, 0x27, 0x2c, 0x19, 0x68, 0x5a, 0x2f, 0xf9, 0x15, 0x80, 0x77, 0xf8, - 0x2e, 0x9c, 0xb0, 0x08, 0x94, 0xf1, 0xed, 0x17, 0xdc, 0x67, 0x18, 0x3f, 0x0b, 0xd3, 0xce, 0x0a, 0x75, 0xf0, 0x40, - 0xe0, 0xfd, 0xba, 0xf1, 0x8c, 0x5f, 0x28, 0x37, 0xec, 0x96, 0x61, 0xe6, 0x91, 0xce, 0x2f, 0xa7, 0xe8, 0x0a, 0x49, - 0x95, 0x0b, 0x62, 0xcf, 0x3d, 0x2e, 0xcd, 0xf9, 0x8f, 0x68, 0x79, 0x19, 0xb8, 0xa3, 0x37, 0x81, 0x98, 0xfa, 0x7b, - 0xeb, 0xaa, 0xd9, 0xde, 0x69, 0x11, 0x00, 0x48, 0xae, 0x5d, 0x1c, 0x66, 0xb4, 0x2d, 0xae, 0xaf, 0xe5, 0xd5, 0x6e, - 0xbc, 0x95, 0x7a, 0x98, 0xa0, 0x21, 0xd9, 0x30, 0x83, 0x33, 0xdb, 0x7f, 0x78, 0xf9, 0xf6, 0xda, 0x62, 0x5c, 0x46, - 0xcd, 0xfe, 0x3a, 0xad, 0x6d, 0xe8, 0x48, 0x1b, 0x90, 0xc3, 0x5d, 0xe9, 0xfa, 0x90, 0x52, 0x50, 0xd8, 0xb0, 0xc9, - 0xe0, 0xb9, 0xe8, 0x8e, 0xfb, 0x98, 0xd4, 0x12, 0x93, 0x75, 0x39, 0xe7, 0xd2, 0x00, 0xb3, 0x99, 0xbd, 0xbd, 0x76, - 0xa5, 0x01, 0x77, 0xf8, 0x71, 0xb7, 0x3f, 0x32, 0xb9, 0x17, 0x4d, 0xfc, 0x62, 0xc6, 0xe5, 0x71, 0x08, 0xec, 0xed, - 0x8f, 0xb4, 0xaf, 0x16, 0x34, 0x9b, 0x5b, 0x3f, 0xe6, 0x1b, 0x5f, 0x76, 0xd7, 0xa3, 0x08, 0x1a, 0x9a, 0x7c, 0x69, - 0xd0, 0xbc, 0x68, 0x7a, 0xf5, 0x19, 0xb5, 0x42, 0x7d, 0xe3, 0x27, 0x52, 0x78, 0xec, 0x26, 0xf1, 0xd7, 0x2e, 0xb7, - 0xef, 0x7e, 0xf7, 0x38, 0x78, 0xf4, 0x45, 0x0c, 0x2f, 0xdf, 0x5e, 0x3f, 0x6e, 0x9e, 0xe1, 0x39, 0xa3, 0x3a, 0x6c, - 0x86, 0x84, 0xa1, 0xe6, 0xf7, 0x5f, 0x32, 0xcc, 0xbe, 0x2c, 0x7b, 0x32, 0xab, 0xcb, 0x7f, 0xee, 0xeb, 0x23, 0x3e, - 0xa8, 0x5d, 0x3e, 0xe3, 0xd7, 0x3f, 0x10, 0x9e, 0xfe, 0x8b, 0xa4, 0x87, 0x75, 0x87, 0xf6, 0x67, 0x7d, 0x33, 0x7e, - 0xec, 0xaa, 0xb0, 0xef, 0xc3, 0x7c, 0x43, 0x68, 0x7b, 0x1e, 0x53, 0xd3, 0x2b, 0x51, 0xc1, 0x44, 0x1c, 0x07, 0x21, - 0x18, 0xb5, 0x75, 0x7a, 0x6b, 0x06, 0xe7, 0xf6, 0x0c, 0xc6, 0xec, 0xb6, 0x5a, 0x2c, 0x6d, 0x08, 0x6f, 0xe6, 0xc3, - 0xae, 0x8f, 0x0b, 0xf4, 0x17, 0x58, 0x8c, 0x21, 0xed, 0xfa, 0xfe, 0x4a, 0x5f, 0xad, 0x2c, 0xcb, 0x00, 0x40, 0x60, - 0xa8, 0x67, 0xc3, 0xd1, 0xb3, 0x44, 0xc6, 0x3c, 0x9b, 0xcf, 0x0d, 0xe9, 0x32, 0xf4, 0xc8, 0xf5, 0x4d, 0xb7, 0x06, - 0x0d, 0x2f, 0x16, 0x6c, 0xc0, 0x57, 0x2b, 0x05, 0xeb, 0x15, 0x16, 0xe4, 0xce, 0x59, 0x71, 0x7f, 0x0f, 0xa5, 0x66, - 0x4d, 0xc4, 0x72, 0xdc, 0x4a, 0x0e, 0xf2, 0xbe, 0x8f, 0x30, 0xd2, 0xd8, 0xd7, 0xf6, 0xd6, 0x8b, 0xeb, 0x3b, 0xa8, - 0x08, 0x7b, 0x28, 0xf7, 0xb2, 0x4a, 0x41, 0x6c, 0xef, 0x18, 0xd2, 0xb3, 0x7c, 0xdc, 0xd7, 0xd7, 0x6e, 0xe6, 0x84, - 0x0f, 0x46, 0x23, 0x43, 0x19, 0x37, 0xd6, 0xe4, 0x89, 0xd8, 0x8f, 0xab, 0x94, 0xe6, 0x31, 0xca, 0x0f, 0x3a, 0xf2, - 0x42, 0x8c, 0xc6, 0xa4, 0x17, 0xec, 0x3b, 0x59, 0x0a, 0x8d, 0xe3, 0xbc, 0x24, 0x1e, 0x6b, 0x71, 0x44, 0x0a, 0x68, - 0x14, 0x1f, 0xc8, 0x66, 0x46, 0x24, 0x40, 0xd5, 0x22, 0xed, 0x2c, 0x9c, 0x44, 0x2d, 0x4e, 0xb4, 0xc1, 0x7b, 0xbf, - 0xdf, 0x71, 0xe7, 0xa4, 0x84, 0x8b, 0x2f, 0x2e, 0xdb, 0x9e, 0x26, 0xe4, 0xe1, 0x97, 0x72, 0xb2, 0xe6, 0x89, 0x9e, - 0x92, 0x5b, 0x1e, 0xb1, 0xa9, 0xb0, 0x4c, 0xc6, 0x42, 0x0f, 0x14, 0x87, 0x6e, 0x99, 0x57, 0xf1, 0x8e, 0x2f, 0x9f, - 0xe1, 0x6a, 0xf7, 0x9b, 0xef, 0x2d, 0x5f, 0xcb, 0xcc, 0x57, 0xeb, 0x1e, 0xd0, 0xf8, 0xe0, 0x04, 0x9e, 0xb2, 0xbb, - 0x6f, 0xbc, 0x9b, 0xbc, 0x06, 0x78, 0xf9, 0xdc, 0x2f, 0x51, 0xbe, 0xa8, 0xfd, 0x86, 0xe8, 0x35, 0x80, 0xc0, 0x03, - 0x91, 0x6c, 0xc5, 0xd4, 0x5b, 0x4e, 0x64, 0x72, 0xff, 0x3e, 0xc3, 0x36, 0x7c, 0xf2, 0x6e, 0x1d, 0xaa, 0xa4, 0xb1, - 0x12, 0x9e, 0x49, 0xeb, 0x77, 0xaa, 0xf6, 0x39, 0x12, 0x18, 0x7b, 0x15, 0xcc, 0xb0, 0x3b, 0x86, 0x98, 0x9d, 0xa4, - 0x70, 0xdc, 0x17, 0x1b, 0x2c, 0xf3, 0x9b, 0x99, 0x43, 0xb7, 0x34, 0x3e, 0x86, 0x3b, 0x19, 0xab, 0xb4, 0x4d, 0xa5, - 0x71, 0xd7, 0xf8, 0x1b, 0x82, 0xc0, 0x55, 0x87, 0xda, 0xa3, 0x49, 0xbf, 0x64, 0x5f, 0x70, 0x1d, 0x9c, 0x09, 0x7a, - 0x59, 0x0e, 0x56, 0xb8, 0x54, 0x83, 0xe5, 0xad, 0x8f, 0x00, 0x02, 0x61, 0x5b, 0x10, 0xc2, 0x06, 0xdb, 0x6b, 0xe9, - 0x58, 0x8d, 0x9c, 0xb1, 0x79, 0xff, 0xf1, 0x66, 0x89, 0x1e, 0xca, 0x16, 0x4e, 0x53, 0x7d, 0x29, 0x6b, 0xb5, 0xdf, - 0xbb, 0x7f, 0xbe, 0xef, 0x00, 0x07, 0x09, 0xc3, 0x0b, 0x3a, 0x38, 0xfe, 0x1a, 0xbd, 0x15, 0x8b, 0x60, 0x61, 0xb4, - 0x6d, 0x7d, 0xf6, 0xed, 0xa1, 0x78, 0x66, 0x41, 0x7c, 0x33, 0x6b, 0xb7, 0xae, 0x2a, 0x8e, 0xb0, 0x55, 0xc3, 0x26, - 0x84, 0xd6, 0x10, 0x01, 0x98, 0xfa, 0x4b, 0x8d, 0x7c, 0xb7, 0x0d, 0xab, 0x4e, 0x45, 0x14, 0xdb, 0xaa, 0x10, 0x47, - 0x50, 0xc9, 0xc1, 0xa0, 0x8a, 0x42, 0x17, 0x76, 0x0f, 0x7e, 0xe2, 0x64, 0x5c, 0x50, 0xdc, 0x54, 0x3c, 0x7a, 0x7e, - 0x0b, 0x94, 0x81, 0xa9, 0xbf, 0x5c, 0x69, 0xef, 0x0f, 0x90, 0x3e, 0xd8, 0xc3, 0x4e, 0xc9, 0xe7, 0x2a, 0x9e, 0xd0, - 0x77, 0x27, 0x34, 0x81, 0xe1, 0xe1, 0xd8, 0x9b, 0xc4, 0x07, 0x12, 0xf0, 0xa0, 0x60, 0x41, 0xbe, 0xbf, 0x13, 0xea, - 0xa6, 0x4f, 0x03, 0x02, 0x88, 0xaf, 0xaa, 0xe3, 0x70, 0x84, 0x60, 0x45, 0x1d, 0x0b, 0xec, 0x89, 0x8a, 0x53, 0x72, - 0x44, 0x86, 0x71, 0x82, 0xfa, 0x06, 0xe8, 0xe6, 0x53, 0xa5, 0xfc, 0x0b, 0xb7, 0x9b, 0x44, 0xe2, 0x59, 0xdf, 0x2a, - 0xda, 0x65, 0xa4, 0x48, 0xe0, 0x8d, 0x58, 0x47, 0x95, 0x42, 0xe9, 0x06, 0xcb, 0x94, 0x22, 0x4e, 0xd3, 0xe0, 0xfa, - 0xd2, 0x4b, 0xbd, 0xd6, 0x4e, 0x2d, 0xfd, 0x7a, 0xdd, 0x04, 0xfa, 0x1a, 0x0f, 0x59, 0xf0, 0xa5, 0xfa, 0xa9, 0x26, - 0xb0, 0x1b, 0x68, 0x3b, 0x97, 0xda, 0x9f, 0xa1, 0x71, 0xb2, 0xa1, 0x7d, 0x2d, 0x6f, 0x21, 0x80, 0x29, 0xdc, 0xa0, - 0xb6, 0xbc, 0x48, 0xa6, 0x76, 0x22, 0x66, 0x7f, 0x6c, 0x22, 0x99, 0x20, 0xaf, 0x1c, 0x6c, 0x68, 0x1f, 0xda, 0xc2, - 0xf3, 0xa0, 0x04, 0xc3, 0xcf, 0x5a, 0xca, 0xc0, 0x8a, 0xb0, 0xad, 0xed, 0xd7, 0xc7, 0xb0, 0x09, 0xa6, 0x0c, 0x82, - 0x50, 0x7f, 0x09, 0xda, 0x69, 0x30, 0x79, 0xd4, 0x63, 0xc6, 0x3e, 0x9b, 0x39, 0xdf, 0x83, 0x1e, 0xa5, 0x92, 0x85, - 0x20, 0x39, 0x0c, 0xf4, 0xd7, 0x62, 0x62, 0x1c, 0xa1, 0x42, 0x22, 0xb4, 0x5b, 0x25, 0x03, 0xf7, 0x1f, 0x54, 0x0c, - 0x11, 0x76, 0x54, 0x9d, 0x4b, 0xb3, 0x6b, 0x54, 0x31, 0x50, 0xd8, 0x18, 0x3d, 0x4c, 0x9d, 0x23, 0x84, 0xd3, 0xa6, - 0xf6, 0xce, 0x5d, 0x24, 0xd2, 0x53, 0x29, 0x62, 0xb1, 0x71, 0x56, 0xba, 0xd4, 0x0c, 0x6b, 0x61, 0x2c, 0x27, 0x46, - 0xd0, 0x38, 0x73, 0x47, 0x54, 0xc7, 0xb7, 0xac, 0x61, 0x04, 0xb8, 0x47, 0xec, 0xb6, 0x07, 0xad, 0x00, 0xb9, 0x26, - 0x69, 0xa0, 0xa0, 0xbd, 0x31, 0x21, 0x8b, 0x02, 0x19, 0x19, 0x93, 0xe8, 0x46, 0x50, 0x72, 0xf7, 0x75, 0x24, 0x8f, - 0x01, 0x76, 0xe5, 0x64, 0x3d, 0x43, 0x24, 0xc4, 0xf1, 0xa6, 0x56, 0x04, 0x81, 0xb1, 0x0c, 0xb0, 0x63, 0xe9, 0xa8, - 0xe4, 0x5c, 0xdc, 0xa0, 0xa7, 0xaa, 0x99, 0x5f, 0xd8, 0xf5, 0x19, 0x8a, 0x34, 0xa2, 0x5d, 0x40, 0x40, 0xce, 0x5c, - 0x75, 0x1d, 0x18, 0x39, 0x48, 0x5c, 0xa3, 0x3b, 0xad, 0x90, 0x51, 0x44, 0x3e, 0x2e, 0x86, 0xe5, 0x05, 0xe4, 0x46, - 0x5c, 0x6c, 0x94, 0x65, 0xc8, 0x45, 0x1f, 0xb9, 0x0d, 0xde, 0xb9, 0xd1, 0x93, 0xae, 0x13, 0x96, 0x00, 0xac, 0xc7, - 0xb2, 0x98, 0x70, 0xab, 0xa6, 0x67, 0xbf, 0x01, 0x9a, 0x04, 0x5e, 0x3b, 0xea, 0x1c, 0xe2, 0xf8, 0x42, 0x8d, 0x6c, - 0xf0, 0x6f, 0x6a, 0x94, 0xb0, 0xb6, 0x0d, 0x2b, 0x67, 0x9c, 0x56, 0x51, 0xec, 0xb1, 0xf2, 0x4c, 0xc4, 0xfc, 0x05, - 0xa3, 0xe8, 0x34, 0x58, 0xf1, 0xb4, 0xd5, 0xd2, 0x54, 0xf8, 0xd8, 0x08, 0x85, 0x88, 0x3d, 0x02, 0x4d, 0x81, 0x7d, - 0x6f, 0x28, 0x4c, 0xeb, 0x23, 0xc9, 0x49, 0xda, 0x53, 0x74, 0x36, 0x67, 0xc3, 0x0c, 0xb1, 0x8b, 0x80, 0x6e, 0xcf, - 0xb9, 0x0e, 0x57, 0xf6, 0x45, 0x29, 0x3c, 0x25, 0x33, 0x6a, 0x09, 0x26, 0xc2, 0x64, 0x78, 0x95, 0x5d, 0x20, 0xf2, - 0xde, 0xa6, 0x99, 0x49, 0xef, 0xe9, 0x95, 0xfb, 0x13, 0x40, 0x1e, 0xf7, 0xe4, 0x7d, 0xa6, 0x29, 0xc3, 0x15, 0x0e, - 0x41, 0x6d, 0x57, 0xcc, 0x63, 0xb9, 0x4d, 0xad, 0x4a, 0x6e, 0x38, 0xe0, 0x62, 0x21, 0x35, 0xee, 0xee, 0x6a, 0x73, - 0x42, 0x03, 0x48, 0x55, 0x4b, 0x67, 0x83, 0xe7, 0x80, 0xe2, 0x3d, 0x01, 0x44, 0x22, 0x1a, 0x85, 0xef, 0xfc, 0x28, - 0x47, 0xe7, 0x24, 0x21, 0x14, 0xe6, 0xea, 0x76, 0x5e, 0x7e, 0xa6, 0x94, 0x59, 0x6e, 0x38, 0x3a, 0x00, 0xd8, 0xa2, - 0x7d, 0x51, 0xf8, 0x3c, 0x02, 0xf9, 0xff, 0xa4, 0xb0, 0xf1, 0xad, 0x69, 0xc7, 0x54, 0xf5, 0x6c, 0x56, 0xe7, 0x61, - 0x81, 0xe7, 0x38, 0x65, 0x82, 0xe7, 0xdf, 0x56, 0x77, 0x43, 0xd4, 0xf9, 0xa7, 0xd8, 0x01, 0x5b, 0x6d, 0xb3, 0xbb, - 0x1d, 0xbc, 0xae, 0x16, 0x27, 0x87, 0x4c, 0xaa, 0xce, 0xf6, 0xc1, 0x37, 0xfb, 0xe9, 0x5f, 0x4e, 0x7e, 0x33, 0xc6, - 0x02, 0xc8, 0xab, 0x82, 0xaa, 0xc8, 0xc8, 0x74, 0x40, 0x89, 0x57, 0x86, 0xcf, 0xc5, 0x00, 0x2d, 0x32, 0xaf, 0x5a, - 0x09, 0x14, 0x9a, 0xd5, 0x88, 0xf2, 0x06, 0x10, 0x64, 0x2b, 0xd4, 0x5c, 0xa3, 0xe0, 0x08, 0x79, 0xd2, 0x62, 0x63, - 0xde, 0xb0, 0x52, 0x8b, 0x66, 0x99, 0xb6, 0xa6, 0xc8, 0x22, 0xb0, 0x38, 0x20, 0xae, 0xbf, 0xa0, 0x75, 0x36, 0x30, - 0x95, 0xe7, 0x83, 0x11, 0x06, 0xd8, 0x0d, 0x37, 0x92, 0x4d, 0x8c, 0xbd, 0x12, 0x8a, 0x9c, 0x06, 0xd2, 0xd8, 0x8f, - 0xef, 0xae, 0xe5, 0xed, 0xae, 0x25, 0xa6, 0xbe, 0x3c, 0x9c, 0x18, 0x4d, 0x0c, 0x2d, 0xed, 0x86, 0xa5, 0x87, 0xa8, - 0x9f, 0x9d, 0xcc, 0x4c, 0x39, 0x5b, 0x7b, 0x0c, 0x0f, 0x5d, 0xe7, 0x92, 0xbc, 0x7f, 0x36, 0x03, 0x01, 0xf9, 0xad, - 0xc0, 0x1a, 0xd0, 0x26, 0x11, 0x45, 0x20, 0x1c, 0xe4, 0xf4, 0x2d, 0x71, 0xf4, 0x37, 0x03, 0x4b, 0x76, 0x3d, 0xd4, - 0x2d, 0x75, 0x8b, 0xb1, 0xac, 0x95, 0x95, 0x53, 0x50, 0x71, 0xe9, 0x99, 0x8c, 0x79, 0x20, 0xd9, 0xa0, 0x6a, 0xb0, - 0x92, 0x7d, 0xde, 0x2e, 0x1c, 0xa8, 0xa4, 0x90, 0xbd, 0x9f, 0x06, 0x79, 0x71, 0x7a, 0x91, 0xac, 0x56, 0x62, 0x8c, - 0x47, 0xa9, 0xb6, 0xb9, 0x0e, 0x88, 0xab, 0x0e, 0x6d, 0xe0, 0xc5, 0x85, 0xed, 0x76, 0xbb, 0x66, 0xab, 0x80, 0xac, - 0x95, 0x4e, 0xe4, 0x66, 0x16, 0x9d, 0xef, 0x2d, 0x22, 0x9d, 0xb5, 0xe5, 0x21, 0x2f, 0xe7, 0xb1, 0x0d, 0xb2, 0xe8, - 0x96, 0xf0, 0xc2, 0x98, 0xb0, 0x81, 0xe5, 0xee, 0xdb, 0xf8, 0x82, 0x43, 0x21, 0x29, 0xd3, 0xd3, 0x4c, 0xbb, 0x37, - 0xc4, 0x7c, 0x57, 0x4d, 0xb4, 0xc2, 0x16, 0xcc, 0x75, 0xf0, 0x8b, 0x64, 0xb5, 0x97, 0xa2, 0x5a, 0x3a, 0x1f, 0x66, - 0xef, 0xd2, 0x91, 0xda, 0xcb, 0x00, 0xd5, 0x4e, 0x63, 0x33, 0x8e, 0x73, 0x02, 0xfa, 0x28, 0x98, 0x59, 0xe1, 0x25, - 0x20, 0xbb, 0x48, 0x61, 0x85, 0x95, 0xba, 0xcd, 0x18, 0x96, 0x52, 0xf7, 0xc3, 0x44, 0x67, 0x19, 0x62, 0xe3, 0x49, - 0x5f, 0x1a, 0x7b, 0x34, 0x8a, 0x47, 0xa8, 0x22, 0xaa, 0xdd, 0x1f, 0x21, 0x4c, 0x48, 0x75, 0x86, 0x27, 0x30, 0xed, - 0xf9, 0x08, 0x1d, 0x17, 0x30, 0xbf, 0x98, 0x85, 0x76, 0xfb, 0x7a, 0x8b, 0x58, 0x78, 0xf5, 0x21, 0xc5, 0x35, 0xa5, - 0xb7, 0xf2, 0x55, 0xf8, 0x1c, 0x2b, 0xcf, 0x02, 0x1d, 0x2b, 0x15, 0x86, 0xd9, 0x5c, 0x58, 0xa1, 0x68, 0x34, 0x1f, - 0xee, 0x36, 0x03, 0x6c, 0x86, 0xa0, 0x44, 0x42, 0x71, 0x63, 0x98, 0xc5, 0x30, 0x63, 0x0d, 0x4c, 0xee, 0x16, 0xdd, - 0x9c, 0x64, 0xcd, 0x9d, 0x4c, 0x72, 0xe6, 0xbb, 0x9f, 0x18, 0xe5, 0xc6, 0x31, 0xc5, 0x5e, 0xc7, 0x57, 0x35, 0x59, - 0x5d, 0xab, 0xe9, 0x2d, 0xae, 0x9c, 0x10, 0xb4, 0xce, 0xe2, 0x3e, 0xad, 0x5d, 0x62, 0x02, 0xd8, 0x0a, 0xec, 0x4e, - 0x55, 0x24, 0x15, 0xf4, 0xa1, 0x31, 0xcc, 0x1d, 0x0c, 0x27, 0xb6, 0xa1, 0x92, 0xb5, 0x1c, 0x1d, 0xc4, 0xb6, 0x7f, - 0x1f, 0xe4, 0x0c, 0xe8, 0xf8, 0xed, 0x64, 0x4c, 0x85, 0x40, 0xcd, 0x22, 0xad, 0x2e, 0x43, 0xba, 0x14, 0xe2, 0x5a, - 0x59, 0x5e, 0x08, 0x92, 0xbc, 0x4f, 0xcc, 0x25, 0xca, 0xdb, 0x61, 0xea, 0x35, 0xac, 0xcb, 0x0e, 0x48, 0xa3, 0x17, - 0xaa, 0xf2, 0x1b, 0x16, 0xe1, 0x48, 0x13, 0x26, 0x6b, 0x67, 0x20, 0xe6, 0x35, 0x6a, 0x33, 0x45, 0xc6, 0xaa, 0x03, - 0x47, 0xa0, 0x1c, 0x9d, 0x97, 0x8d, 0xf5, 0x53, 0xb3, 0x46, 0x6f, 0x28, 0x0c, 0x6c, 0xcf, 0x73, 0x49, 0x19, 0x48, - 0x63, 0x2c, 0x84, 0x1b, 0x93, 0x4e, 0x15, 0xd4, 0x03, 0xd9, 0xb3, 0xbe, 0xc0, 0x78, 0x96, 0x98, 0xf0, 0x9d, 0x03, - 0x8e, 0xe7, 0xcb, 0x48, 0x2f, 0x5d, 0x13, 0xad, 0x68, 0x65, 0x21, 0xfe, 0xec, 0x64, 0xd6, 0x96, 0xb9, 0x0e, 0x7c, - 0x05, 0xa0, 0x3a, 0x99, 0x0a, 0x2a, 0x51, 0x25, 0x95, 0x50, 0x65, 0x3c, 0xd8, 0x94, 0xeb, 0x6a, 0xac, 0xbc, 0x71, - 0xef, 0x46, 0x86, 0x3f, 0x7b, 0x03, 0x4b, 0xeb, 0xae, 0xf0, 0xc1, 0xd9, 0x5f, 0x65, 0x90, 0x22, 0xed, 0x99, 0xb1, - 0x1b, 0x1b, 0xf3, 0xcc, 0x91, 0xd7, 0xd7, 0x8e, 0x89, 0xff, 0x5d, 0xb8, 0x63, 0x92, 0xdd, 0x7b, 0x14, 0x32, 0xb6, - 0xe5, 0x80, 0xa8, 0xdb, 0x3a, 0x0e, 0x47, 0x6a, 0xf8, 0x93, 0x9c, 0xe2, 0x3f, 0xae, 0x82, 0xa8, 0x5d, 0x69, 0x21, - 0xf9, 0x48, 0xcf, 0x21, 0x6b, 0x30, 0x9a, 0x34, 0x26, 0x30, 0xde, 0x03, 0xa3, 0x4c, 0x88, 0x89, 0x18, 0xdd, 0x84, - 0x09, 0x67, 0x9e, 0x01, 0xfe, 0xd2, 0x94, 0x85, 0x6d, 0x11, 0xb0, 0xdb, 0xc5, 0x6c, 0x2f, 0x3a, 0x4c, 0x18, 0xe4, - 0xdd, 0xe5, 0x0b, 0xf9, 0x47, 0xe2, 0x61, 0x73, 0xd9, 0xdf, 0xf2, 0x52, 0x44, 0x89, 0x2a, 0x42, 0x98, 0x06, 0x09, - 0x0d, 0x75, 0x56, 0x14, 0x69, 0xcc, 0x10, 0x6b, 0x98, 0xe3, 0x27, 0x1b, 0x45, 0x48, 0x85, 0x50, 0x28, 0x02, 0xd1, - 0x19, 0x22, 0x8c, 0x9c, 0x27, 0x0c, 0xf0, 0xae, 0x01, 0xd0, 0x12, 0xb4, 0x63, 0xc8, 0x96, 0x5b, 0x27, 0x84, 0x16, - 0x73, 0x89, 0xdf, 0xe7, 0x52, 0xca, 0x52, 0x7d, 0xad, 0x2e, 0x0b, 0xee, 0x25, 0x57, 0x2a, 0x6e, 0xa0, 0xe8, 0x28, - 0x9e, 0x86, 0x0f, 0x4c, 0x4d, 0x1f, 0xa5, 0x53, 0x1b, 0x6b, 0x9a, 0x27, 0xce, 0x39, 0xb2, 0x1f, 0xa8, 0xbb, 0xb9, - 0x3b, 0x41, 0xdc, 0xa9, 0x2a, 0xa1, 0x2c, 0xc3, 0x4d, 0xb7, 0x4c, 0x97, 0x92, 0x1a, 0x2e, 0xda, 0x92, 0xfc, 0xb6, - 0x29, 0x3e, 0x78, 0xc3, 0xf1, 0xe9, 0x7d, 0xc1, 0xec, 0x36, 0x3f, 0x7e, 0x32, 0x37, 0x02, 0xb3, 0xe0, 0xd1, 0xcd, - 0xc3, 0x1b, 0x36, 0x50, 0xc0, 0x8e, 0x04, 0x86, 0xae, 0x78, 0xa3, 0x35, 0xf1, 0x48, 0x63, 0x3d, 0x38, 0x78, 0x4f, - 0x79, 0x18, 0xb7, 0xa4, 0x8b, 0xac, 0xeb, 0xa2, 0xb2, 0xdf, 0x1f, 0x22, 0x87, 0xa7, 0xa7, 0x93, 0x3e, 0x69, 0x53, - 0x54, 0x5c, 0x91, 0xce, 0xcd, 0x47, 0x7f, 0x11, 0x2c, 0xcc, 0x63, 0xec, 0x9c, 0xc9, 0x38, 0x47, 0x67, 0xcc, 0xc6, - 0xc1, 0x0e, 0xc6, 0x8b, 0x7d, 0xcb, 0xef, 0x14, 0xc9, 0x2f, 0x65, 0x05, 0x68, 0x44, 0x21, 0xa8, 0xd3, 0x6e, 0x51, - 0x28, 0x81, 0x43, 0xff, 0xab, 0xac, 0xed, 0x7b, 0xe4, 0xe7, 0xb2, 0x8b, 0x25, 0x82, 0xd8, 0x8d, 0xcd, 0xea, 0x5c, - 0xdc, 0xad, 0x46, 0x36, 0xad, 0x5b, 0x48, 0xa8, 0x3f, 0xcc, 0xcc, 0xb3, 0x67, 0x7e, 0x35, 0x22, 0x78, 0x93, 0x6f, - 0x86, 0xf5, 0xcd, 0x98, 0xeb, 0xbf, 0x4a, 0xfa, 0x73, 0x25, 0x31, 0x8e, 0xdf, 0xc8, 0x80, 0xac, 0x39, 0x90, 0x05, - 0xa5, 0xe2, 0x56, 0x3e, 0xca, 0xe3, 0x3d, 0x7e, 0x14, 0x28, 0xa2, 0xc9, 0x94, 0x51, 0x72, 0x2d, 0x14, 0xf9, 0xc8, - 0xdb, 0xb3, 0xbb, 0x37, 0x9e, 0x8e, 0x1a, 0x2f, 0x37, 0x7f, 0xa0, 0xb7, 0x65, 0xab, 0x1b, 0x3f, 0x98, 0xbd, 0x2d, - 0xff, 0xf9, 0x88, 0x3a, 0x5d, 0x17, 0x19, 0xcf, 0x43, 0xbd, 0x85, 0x6c, 0x1a, 0xa9, 0x16, 0xdd, 0x46, 0x40, 0x37, - 0xe2, 0x98, 0x77, 0xdc, 0x6d, 0xc0, 0x17, 0xc0, 0xbb, 0x84, 0x81, 0x78, 0xff, 0xa0, 0xe7, 0xa6, 0xc9, 0xcb, 0xb3, - 0x29, 0x17, 0x77, 0x5e, 0xd9, 0xed, 0x1e, 0x80, 0xce, 0x4f, 0xab, 0x7f, 0xbc, 0xcf, 0xe1, 0x17, 0x3f, 0xf9, 0x67, - 0x95, 0x50, 0x41, 0xba, 0x6f, 0x8c, 0xab, 0xbc, 0x9c, 0xf5, 0xee, 0x7e, 0xd6, 0x6e, 0xbb, 0xe3, 0x49, 0x0d, 0xed, - 0xbf, 0x92, 0xef, 0x8a, 0x74, 0x1b, 0x65, 0xfc, 0x4b, 0xb0, 0xf8, 0x92, 0x85, 0xde, 0x0f, 0x40, 0xdc, 0x14, 0x69, - 0x0f, 0xe9, 0x6a, 0xc6, 0x0f, 0xe3, 0xdd, 0x68, 0xc7, 0xad, 0xab, 0x5d, 0x12, 0x2e, 0x6a, 0xc4, 0xfd, 0xbc, 0x76, - 0x33, 0xd7, 0x7b, 0x4c, 0xab, 0x69, 0x97, 0x7f, 0xe6, 0x20, 0xbc, 0xb4, 0x90, 0xb2, 0x36, 0xbd, 0xb6, 0x45, 0xe9, - 0x5a, 0x60, 0xf9, 0xcb, 0x59, 0x9b, 0x6e, 0x55, 0x68, 0xda, 0xa5, 0xca, 0xd7, 0xf8, 0x37, 0x4e, 0xc5, 0x2e, 0xe7, - 0x8f, 0xfe, 0x73, 0xf2, 0xf6, 0xf0, 0xd7, 0x92, 0x77, 0xcc, 0x45, 0x6e, 0xce, 0xdc, 0xdf, 0xc2, 0x15, 0x59, 0x16, - 0x17, 0xf9, 0xfc, 0xff, 0x95, 0x7b, 0xfc, 0xd7, 0xe1, 0xf9, 0xb9, 0x26, 0x64, 0x76, 0x54, 0xf3, 0x4a, 0x6a, 0x5e, - 0xfe, 0xdf, 0xe7, 0xc5, 0xd3, 0xab, 0x07, 0xa4, 0xc1, 0xf0, 0x8d, 0xd9, 0x66, 0x96, 0x95, 0xd1, 0xc2, 0x21, 0x1e, - 0xc3, 0xfb, 0x26, 0xaf, 0x41, 0x90, 0x37, 0x5d, 0x96, 0xd3, 0xe0, 0x6e, 0x2a, 0xc9, 0xec, 0x4a, 0x39, 0x2c, 0x6e, - 0xfd, 0x78, 0x59, 0x96, 0xcd, 0x65, 0x4f, 0xf3, 0x4d, 0xed, 0x85, 0xfc, 0xd3, 0x97, 0x54, 0xba, 0x04, 0xe7, 0x8f, - 0x7c, 0xbc, 0x5c, 0xfc, 0x9c, 0x8d, 0xcb, 0x8f, 0x09, 0x21, 0x0e, 0x69, 0x22, 0x4d, 0x03, 0xda, 0x31, 0x98, 0x0f, - 0x71, 0x6e, 0xb6, 0x39, 0xcc, 0x0d, 0xdf, 0xe3, 0x05, 0x60, 0x67, 0x1e, 0x5f, 0xd5, 0x8b, 0x81, 0x38, 0x1d, 0x87, - 0x40, 0x8e, 0x47, 0xff, 0xb7, 0x8e, 0x7e, 0xe8, 0x22, 0xbd, 0xc8, 0x2d, 0xdf, 0xba, 0x87, 0x95, 0xe6, 0xc6, 0xd1, - 0x68, 0xe4, 0x88, 0x6d, 0x76, 0x17, 0x81, 0x8f, 0xb1, 0xe8, 0xe4, 0xe0, 0x2d, 0xe2, 0xa5, 0x7e, 0x97, 0x98, 0x07, - 0x57, 0xf9, 0x77, 0x62, 0xf1, 0xa5, 0x38, 0xde, 0xdd, 0x3b, 0x02, 0xe0, 0xf5, 0xc4, 0x2b, 0x07, 0xa7, 0x65, 0x38, - 0x85, 0xa4, 0x4e, 0x54, 0xd6, 0x4a, 0x75, 0xcf, 0xbe, 0x8f, 0x17, 0x93, 0x08, 0xbc, 0x3f, 0xde, 0xf7, 0x09, 0x3b, - 0x5d, 0xa4, 0xe7, 0x78, 0xaf, 0x8c, 0x40, 0x80, 0x22, 0x0a, 0x90, 0x06, 0xf9, 0xa8, 0x6e, 0x91, 0xbf, 0xc0, 0x50, - 0xdf, 0x39, 0x5c, 0x7d, 0xae, 0x28, 0x90, 0x1e, 0xae, 0xd6, 0xc5, 0x7d, 0x0a, 0x50, 0x12, 0xdb, 0x84, 0x80, 0xed, - 0x3f, 0xbd, 0x6f, 0x07, 0xb6, 0xde, 0xa4, 0x5d, 0xcf, 0x20, 0x77, 0x6a, 0x62, 0xf7, 0x19, 0x46, 0xc6, 0x0b, 0xcf, - 0x0b, 0x9d, 0xf0, 0x28, 0xc7, 0x44, 0xaf, 0xa8, 0xac, 0xac, 0xe3, 0xce, 0x7c, 0xb0, 0xb2, 0xff, 0x5c, 0x42, 0x21, - 0x4c, 0x37, 0xe9, 0xcb, 0x2a, 0xa1, 0x4a, 0xf3, 0x0a, 0x6e, 0x65, 0x4c, 0x46, 0x2f, 0xa1, 0xce, 0xf8, 0x5d, 0x53, - 0x64, 0x8a, 0xb1, 0x0c, 0x98, 0xe9, 0x6f, 0xa6, 0x9c, 0x09, 0x00, 0xce, 0xe2, 0x32, 0x80, 0x04, 0xaa, 0xbe, 0xaa, - 0x95, 0x6f, 0x69, 0xc6, 0x29, 0x59, 0x47, 0xd9, 0x79, 0xae, 0x95, 0x52, 0x1e, 0x5f, 0x36, 0xb0, 0xe1, 0x4c, 0xc3, - 0x82, 0x2b, 0xf9, 0x64, 0xbb, 0x2f, 0x57, 0x73, 0x5d, 0xd6, 0xc3, 0x09, 0x30, 0xfb, 0xfd, 0x00, 0xfa, 0x96, 0x72, - 0xc5, 0x46, 0xd9, 0xcb, 0x3f, 0xf4, 0x06, 0x6b, 0xd0, 0xf0, 0xa1, 0x87, 0x29, 0x37, 0xbe, 0x50, 0xd4, 0x7f, 0x08, - 0x9c, 0x15, 0x23, 0x97, 0x6a, 0x4d, 0xa1, 0x97, 0x18, 0xa1, 0x9f, 0x65, 0x50, 0xb5, 0x7a, 0x63, 0x2a, 0x2a, 0x95, - 0xaf, 0xef, 0xb9, 0xc3, 0x95, 0xe5, 0xc0, 0x9d, 0xf9, 0xe4, 0x14, 0x90, 0x02, 0x44, 0x41, 0xac, 0x54, 0x7e, 0x1e, - 0x66, 0x9b, 0x90, 0xca, 0x20, 0x99, 0xbe, 0x50, 0x64, 0xdd, 0x37, 0xfa, 0x0b, 0x2b, 0xb6, 0xea, 0x25, 0x74, 0x0f, - 0x76, 0x78, 0xcf, 0x7d, 0x9b, 0xf7, 0x67, 0xcb, 0x59, 0xf5, 0xb4, 0xf4, 0xd6, 0x73, 0xb7, 0x6b, 0xe0, 0x52, 0xe7, - 0x00, 0x20, 0x2d, 0x97, 0x3a, 0x7f, 0xdf, 0xc4, 0xdd, 0xac, 0x36, 0x7e, 0x76, 0x51, 0x46, 0x47, 0x8f, 0x5b, 0xe9, - 0xe9, 0x91, 0x75, 0x61, 0x95, 0x74, 0x78, 0xdf, 0x44, 0xe0, 0xcb, 0x1f, 0xc3, 0xb0, 0x7a, 0x61, 0x7a, 0x6e, 0x50, - 0x9c, 0x09, 0x9b, 0x93, 0x7d, 0xf6, 0xce, 0xcd, 0x5b, 0x0d, 0x1f, 0xa2, 0x37, 0xe1, 0x73, 0x87, 0x7d, 0x2e, 0x02, - 0xe8, 0x36, 0x6b, 0x7e, 0xc6, 0x41, 0xd1, 0x2a, 0x54, 0x8b, 0x97, 0x25, 0xb0, 0x29, 0x59, 0xee, 0xe7, 0x78, 0x11, - 0x6c, 0x0a, 0xed, 0x8b, 0x20, 0x2f, 0x67, 0x54, 0xa1, 0x17, 0xd2, 0xbb, 0x0a, 0x5c, 0xb9, 0x15, 0x7c, 0x7f, 0xc5, - 0x60, 0x75, 0xd5, 0xb6, 0x14, 0x1f, 0xce, 0x18, 0xfd, 0xae, 0x02, 0xe6, 0xab, 0xaf, 0x98, 0xd9, 0xd0, 0xa7, 0x3d, - 0x0f, 0xab, 0xfb, 0xfe, 0xb5, 0xe5, 0x0b, 0x82, 0xef, 0xdf, 0x4c, 0x4d, 0xbb, 0x38, 0x9c, 0x12, 0x1b, 0x81, 0xb9, - 0x47, 0x88, 0xc3, 0x10, 0x69, 0x50, 0x77, 0x90, 0x6f, 0xef, 0x96, 0x24, 0x21, 0x4f, 0xd6, 0xbf, 0x78, 0xfc, 0xee, - 0x4c, 0x7a, 0x22, 0xbd, 0xf8, 0xe1, 0xe3, 0x75, 0x22, 0x2c, 0xdb, 0x0b, 0x35, 0xd9, 0xc1, 0xe3, 0x94, 0x5b, 0x79, - 0x80, 0x66, 0x0d, 0x5d, 0x74, 0xdb, 0x87, 0x74, 0x5c, 0x9c, 0x5f, 0x63, 0xe8, 0xfb, 0x06, 0xde, 0xcd, 0x0c, 0x0d, - 0x79, 0xcf, 0xd8, 0x5d, 0xf5, 0x81, 0x0a, 0x2b, 0xc9, 0x4b, 0xb9, 0x57, 0xf6, 0x5c, 0x74, 0xb5, 0x61, 0xe2, 0x1c, - 0x50, 0x7f, 0xb3, 0xcf, 0xcb, 0xae, 0x8a, 0x0f, 0xf8, 0x7a, 0xa5, 0x81, 0xaf, 0xeb, 0x0c, 0x35, 0x02, 0x3a, 0x48, - 0x91, 0x25, 0xe0, 0x33, 0xcc, 0xa8, 0x49, 0x38, 0xcd, 0xf4, 0x96, 0xf2, 0x3c, 0xca, 0x60, 0x51, 0x53, 0xba, 0xd0, - 0xe5, 0xdb, 0xae, 0x16, 0x73, 0x7a, 0x17, 0x13, 0xed, 0x52, 0xf3, 0xde, 0x7e, 0x00, 0x70, 0xb5, 0xdb, 0x90, 0x70, - 0x91, 0x7e, 0x14, 0xf7, 0xad, 0xf3, 0x63, 0xea, 0xeb, 0xe2, 0xe2, 0x11, 0x64, 0x2a, 0x98, 0x04, 0xb9, 0xe9, 0x73, - 0xfd, 0x17, 0x34, 0x31, 0x21, 0x3f, 0xf9, 0xb3, 0x04, 0x5f, 0xda, 0xb5, 0x5d, 0x0c, 0xc1, 0x47, 0x6a, 0x8d, 0xde, - 0x2d, 0x05, 0x64, 0x61, 0x3f, 0xec, 0x3d, 0xd7, 0x14, 0x64, 0xc7, 0x21, 0x69, 0x00, 0x7d, 0xdf, 0xa4, 0xe3, 0x17, - 0x16, 0xc6, 0x22, 0x91, 0x9a, 0xde, 0xc2, 0x76, 0x99, 0x6c, 0xa7, 0xaf, 0x6e, 0x6f, 0x19, 0x5f, 0x5d, 0xec, 0x7a, - 0x0a, 0xeb, 0x06, 0xb0, 0xc3, 0x46, 0x1b, 0x6f, 0xba, 0x80, 0xc3, 0x6d, 0x76, 0xc6, 0x94, 0x7a, 0x57, 0xdc, 0x24, - 0x0e, 0x03, 0xc1, 0x10, 0xf5, 0x22, 0x99, 0x45, 0xf9, 0x3d, 0xf5, 0x26, 0x1c, 0xf5, 0x90, 0xf6, 0x0f, 0x6e, 0xbe, - 0xff, 0x8f, 0x2a, 0x3d, 0x38, 0x1b, 0x06, 0x7e, 0xb2, 0x7b, 0x40, 0xf2, 0xd4, 0x54, 0xf4, 0x80, 0x26, 0x5b, 0x9e, - 0x04, 0xe2, 0xa6, 0x73, 0xed, 0xc3, 0xfe, 0x31, 0xe5, 0x1b, 0x02, 0x6a, 0x9e, 0x18, 0xa1, 0xda, 0x7a, 0xe4, 0x2f, - 0x6b, 0xa5, 0x37, 0xd6, 0x10, 0xcf, 0xaf, 0x08, 0xde, 0xaf, 0x5e, 0x1c, 0x7e, 0x2d, 0x69, 0xa0, 0xdc, 0x2e, 0x67, - 0xe9, 0xbf, 0xeb, 0x0a, 0x17, 0x02, 0x0f, 0xc9, 0xa7, 0x11, 0x92, 0x2b, 0x0b, 0x7c, 0xfc, 0xe2, 0x50, 0xe7, 0xd3, - 0xf7, 0xba, 0xf1, 0x59, 0xdd, 0x10, 0x85, 0x9c, 0x1f, 0xa0, 0xaa, 0x0d, 0x31, 0x46, 0x08, 0x17, 0x7c, 0xf4, 0xd1, - 0x65, 0x59, 0xa3, 0x25, 0x20, 0xed, 0xca, 0xe5, 0x8f, 0x17, 0x06, 0x5e, 0x2b, 0x7e, 0xcb, 0x61, 0x5e, 0xa6, 0x43, - 0x7c, 0xa5, 0xb1, 0x7d, 0x2d, 0x1d, 0x32, 0xd7, 0xd1, 0xa8, 0x08, 0x55, 0x15, 0xa9, 0xe7, 0xe2, 0xa3, 0xf5, 0xbb, - 0x6e, 0xe4, 0x33, 0x83, 0xc5, 0xa5, 0x65, 0x63, 0xc7, 0x49, 0x75, 0xc9, 0x33, 0x3c, 0x40, 0x67, 0xb0, 0xcf, 0xd9, - 0x76, 0xf1, 0x67, 0x95, 0xac, 0xe1, 0x00, 0x23, 0xb0, 0x07, 0x43, 0xae, 0x4a, 0x12, 0x64, 0x30, 0x36, 0x25, 0x97, - 0xa1, 0xe4, 0x7d, 0xbd, 0xb1, 0x59, 0x8e, 0xf2, 0xa0, 0xd0, 0x91, 0xe1, 0x8a, 0xff, 0xa9, 0xb7, 0x8a, 0x34, 0xbd, - 0xfc, 0xdc, 0x38, 0x5b, 0xe7, 0x74, 0xb3, 0x3b, 0xb2, 0xc3, 0x87, 0x51, 0x6e, 0x21, 0x4e, 0xa6, 0x79, 0x18, 0x09, - 0xac, 0x64, 0x6e, 0x9e, 0x0e, 0x80, 0xf8, 0x26, 0x33, 0x5a, 0xb7, 0xe4, 0x7f, 0xf2, 0xb5, 0xae, 0x23, 0x44, 0xb4, - 0xb1, 0xbe, 0xab, 0xe8, 0x0c, 0x12, 0x27, 0xb9, 0x41, 0x31, 0x9e, 0xaa, 0x98, 0x31, 0xc8, 0x96, 0xaa, 0x4e, 0xf2, - 0xfb, 0x4f, 0xbe, 0x4b, 0xa1, 0x37, 0xbd, 0x3d, 0x37, 0xeb, 0xb6, 0x93, 0xe5, 0x88, 0x1a, 0x29, 0x33, 0xbb, 0x31, - 0xe8, 0xa6, 0xa0, 0x10, 0x29, 0x29, 0xcf, 0x14, 0xe9, 0x18, 0x0e, 0xf7, 0xda, 0x1f, 0xe1, 0x89, 0xed, 0x58, 0xc2, - 0xda, 0x66, 0x81, 0x47, 0x80, 0xc0, 0x47, 0xfd, 0x16, 0x41, 0x34, 0xd5, 0x15, 0x15, 0x6a, 0x79, 0x63, 0x77, 0x76, - 0x74, 0x7b, 0x5a, 0x5b, 0xd0, 0x3e, 0x83, 0x3f, 0x15, 0x14, 0xdc, 0x76, 0xad, 0xe7, 0x64, 0x64, 0x45, 0xea, 0x42, - 0x30, 0x02, 0x32, 0xeb, 0x9f, 0x21, 0xe3, 0x53, 0x13, 0xa2, 0xee, 0x2f, 0x1b, 0x43, 0x8e, 0x84, 0x40, 0x80, 0xf0, - 0xb2, 0x7c, 0x96, 0xf0, 0x49, 0xa0, 0x08, 0x50, 0xf5, 0xb8, 0xf4, 0xca, 0x72, 0xa9, 0xd1, 0xf0, 0xa8, 0xd5, 0x80, - 0x6d, 0xbb, 0x40, 0xed, 0x80, 0x05, 0xd6, 0x4e, 0x61, 0x9d, 0x13, 0x52, 0x75, 0x29, 0x16, 0xdd, 0xaa, 0x2e, 0x52, - 0x9e, 0xcd, 0xeb, 0x4c, 0x11, 0x36, 0xad, 0x7f, 0xad, 0x7c, 0x99, 0x80, 0x68, 0x9b, 0xbf, 0x04, 0x6e, 0x8e, 0xcd, - 0xfe, 0x8f, 0x36, 0x13, 0xd3, 0x3a, 0xf5, 0x2a, 0x02, 0x94, 0x9d, 0x2a, 0xf1, 0x1a, 0x65, 0x0c, 0x4a, 0x50, 0xe7, - 0xc7, 0x5e, 0xa2, 0x82, 0x5c, 0x25, 0x7d, 0x31, 0x50, 0x80, 0x30, 0x5e, 0x3a, 0xe2, 0xa5, 0xab, 0xbc, 0xd8, 0x56, - 0xeb, 0x9c, 0x60, 0xec, 0xcd, 0xec, 0x05, 0xa4, 0x3e, 0x5d, 0xee, 0x24, 0x47, 0xd3, 0xc5, 0xb5, 0xcb, 0xab, 0x78, - 0xc8, 0x74, 0x59, 0x7c, 0x4c, 0x83, 0xa7, 0x2a, 0xe7, 0x89, 0x15, 0xc2, 0xff, 0xb6, 0x8c, 0x1b, 0xaf, 0x94, 0x69, - 0x81, 0x10, 0x6b, 0x49, 0x14, 0x38, 0xdf, 0x0c, 0x92, 0x87, 0xe5, 0x51, 0x69, 0x9a, 0xc7, 0xfe, 0xda, 0xd0, 0xec, - 0x49, 0xf6, 0x40, 0x92, 0x0f, 0xdb, 0xbe, 0x4b, 0x82, 0xb9, 0xef, 0x27, 0x1d, 0xc3, 0x44, 0x61, 0x1f, 0x34, 0xe4, - 0x71, 0xd5, 0x02, 0x08, 0x46, 0xee, 0x57, 0x5f, 0xcb, 0xdd, 0xb6, 0xed, 0x36, 0x08, 0x3e, 0xc7, 0x42, 0xc4, 0x5f, - 0x0c, 0x49, 0xf0, 0xed, 0xd5, 0x0b, 0x2a, 0x17, 0xab, 0x75, 0xc8, 0xbc, 0x3c, 0x25, 0xd9, 0xce, 0x93, 0xae, 0xef, - 0x9e, 0xf7, 0xfc, 0x8a, 0x88, 0xd3, 0x15, 0xcd, 0x4c, 0x9c, 0x23, 0xe9, 0xa8, 0xc4, 0x0b, 0xee, 0x0e, 0xea, 0xec, - 0xfd, 0x9c, 0xe2, 0x14, 0x93, 0xe6, 0x16, 0x15, 0x42, 0x17, 0x12, 0xba, 0xd6, 0xb9, 0x7c, 0x5d, 0x58, 0xbb, 0x79, - 0xa2, 0xf4, 0xfe, 0xa5, 0x99, 0x51, 0x54, 0xea, 0xe7, 0x62, 0x09, 0x24, 0x13, 0x72, 0xa2, 0xdf, 0xd8, 0xea, 0xa4, - 0xbb, 0x87, 0x6f, 0x6a, 0xa3, 0xc5, 0x3c, 0x88, 0x73, 0xc0, 0xca, 0x97, 0x61, 0x6f, 0x1b, 0x93, 0xe2, 0xf6, 0xd7, - 0x25, 0x64, 0xb5, 0xdd, 0x1f, 0x4a, 0x7f, 0xce, 0x05, 0x2e, 0xd1, 0x98, 0x18, 0x31, 0xc3, 0x2f, 0x44, 0x5a, 0xa3, - 0x44, 0xce, 0x3d, 0xce, 0x6d, 0x42, 0xfe, 0x2b, 0x53, 0x6f, 0xa4, 0xbb, 0x42, 0xc8, 0xff, 0xf3, 0x3c, 0xe2, 0x8e, - 0xe9, 0xe6, 0xde, 0xde, 0xc9, 0x30, 0x72, 0x0e, 0xcc, 0xda, 0x6e, 0xca, 0x2c, 0xdc, 0x45, 0x7a, 0x8b, 0x19, 0xd3, - 0xec, 0x10, 0xbc, 0x0c, 0x9d, 0x74, 0x52, 0x7c, 0xea, 0x00, 0xa1, 0xea, 0x08, 0x60, 0x4a, 0x16, 0xfa, 0x17, 0x28, - 0x5d, 0xbd, 0x58, 0xa6, 0x96, 0x4a, 0xcd, 0x75, 0x27, 0x16, 0x3f, 0xa1, 0xc0, 0x20, 0x7e, 0x71, 0xab, 0x35, 0x9d, - 0x1d, 0x52, 0x44, 0xa2, 0x27, 0xfd, 0x18, 0x1e, 0x63, 0xe5, 0x31, 0xeb, 0xa1, 0x50, 0x13, 0x5c, 0xef, 0x64, 0xd5, - 0xb3, 0x92, 0x20, 0x8d, 0x74, 0x0f, 0xb0, 0x37, 0x4f, 0xed, 0x51, 0xa2, 0x15, 0x02, 0x2f, 0x91, 0xc6, 0x0c, 0x89, - 0xf6, 0x21, 0xf6, 0x90, 0x98, 0x00, 0x6f, 0x0a, 0x26, 0xd8, 0x52, 0x68, 0x3b, 0x07, 0xce, 0x3b, 0x0a, 0x58, 0x9b, - 0x6b, 0xd4, 0x60, 0xe6, 0x91, 0x23, 0x26, 0xe2, 0x38, 0xfb, 0x5d, 0xd4, 0x21, 0x81, 0xe4, 0x10, 0xed, 0x9c, 0x6a, - 0x1a, 0xb4, 0x38, 0x73, 0x5e, 0x23, 0x57, 0x08, 0xc7, 0xa7, 0xa0, 0x8c, 0x23, 0xd8, 0x70, 0x7d, 0xcc, 0x25, 0xeb, - 0xb2, 0x22, 0x0a, 0x9b, 0x3b, 0x4b, 0xde, 0xaf, 0xe3, 0xf7, 0xa6, 0xb0, 0x92, 0x65, 0xe1, 0x9b, 0xa6, 0xd4, 0x33, - 0xe5, 0x73, 0x2f, 0xac, 0x4a, 0x7a, 0x76, 0x00, 0xf7, 0x88, 0xff, 0xc1, 0xe5, 0x66, 0xe4, 0xa7, 0x94, 0x82, 0x1a, - 0xf0, 0x47, 0x13, 0xda, 0x95, 0x0a, 0x8a, 0xc5, 0xc0, 0x48, 0xd3, 0x69, 0x5b, 0xa8, 0x97, 0x1a, 0x36, 0x30, 0xcc, - 0x63, 0xb2, 0x50, 0xe8, 0xd4, 0xfe, 0x86, 0xe7, 0xf3, 0x88, 0x46, 0xde, 0x4c, 0x1b, 0x64, 0xf9, 0x1d, 0xba, 0xd7, - 0x2a, 0x27, 0xf3, 0x6d, 0x05, 0x10, 0x3f, 0xf3, 0xb2, 0x60, 0x34, 0x54, 0x34, 0x29, 0x66, 0x30, 0x5c, 0x9a, 0x3f, - 0x71, 0x15, 0xa0, 0xc7, 0xf4, 0xd5, 0xda, 0xa2, 0x3a, 0xef, 0x40, 0xc4, 0x74, 0x1f, 0x94, 0x2a, 0x52, 0x5f, 0xe9, - 0x66, 0xab, 0xe3, 0x1c, 0xfc, 0xb1, 0xaa, 0xae, 0x20, 0xd1, 0x6e, 0x79, 0x34, 0xa6, 0xd1, 0xb1, 0x2f, 0x0e, 0xd9, - 0xb1, 0xc7, 0xf3, 0x0e, 0x45, 0xc8, 0xfd, 0xd9, 0x37, 0xa6, 0xf8, 0x24, 0x23, 0x69, 0x04, 0xfa, 0x0a, 0x84, 0xab, - 0x7e, 0xee, 0xae, 0xa8, 0xb0, 0xd5, 0xc8, 0x66, 0x41, 0x19, 0x86, 0xa8, 0xa6, 0xa7, 0x68, 0x1c, 0x78, 0x56, 0x90, - 0x88, 0x09, 0x01, 0x4a, 0xd8, 0xb5, 0x44, 0x0f, 0xfd, 0x1f, 0x66, 0x56, 0xbf, 0xf2, 0x86, 0xad, 0x4c, 0xeb, 0x00, - 0x52, 0x04, 0x84, 0x54, 0xca, 0xd5, 0xfd, 0x83, 0xb9, 0x70, 0x3c, 0x4a, 0x4c, 0x26, 0x3f, 0xcf, 0x3e, 0x80, 0x37, - 0x33, 0xbd, 0x3c, 0xf2, 0x13, 0x69, 0x62, 0x93, 0x7a, 0x4c, 0x6b, 0xa4, 0x76, 0xbb, 0x03, 0x5c, 0xad, 0xd2, 0x0b, - 0x53, 0xff, 0xa2, 0x08, 0x46, 0xff, 0x4a, 0x07, 0x69, 0xdd, 0xcb, 0x9c, 0x4b, 0xb0, 0x29, 0x7a, 0xdb, 0x06, 0x30, - 0xed, 0xdb, 0x52, 0x75, 0x23, 0x41, 0x8a, 0x6d, 0x53, 0xf8, 0xee, 0xf0, 0x12, 0x11, 0x8b, 0x33, 0x16, 0xab, 0xd5, - 0x1d, 0x2d, 0xe6, 0xc1, 0xf7, 0x53, 0x47, 0x10, 0xf6, 0xaf, 0xb0, 0x09, 0x6c, 0x3c, 0x40, 0x16, 0x7b, 0x90, 0x8e, - 0x58, 0xa9, 0xa6, 0x39, 0x8f, 0x56, 0x81, 0x95, 0xaa, 0x2c, 0xde, 0xc7, 0x95, 0xb4, 0xfb, 0x5a, 0x26, 0x0e, 0xa8, - 0xce, 0x21, 0xfc, 0xd6, 0xa2, 0x6f, 0x25, 0x64, 0x5e, 0xd7, 0x38, 0x02, 0xd4, 0x95, 0xb8, 0x12, 0x37, 0x0a, 0x92, - 0x91, 0x1f, 0x34, 0x93, 0x13, 0x74, 0x34, 0xf9, 0xf8, 0x81, 0x06, 0x1e, 0xba, 0xe7, 0x6f, 0xd4, 0x50, 0xec, 0xdb, - 0x55, 0x74, 0x28, 0xb4, 0x26, 0xd9, 0x7f, 0xf6, 0x9d, 0x69, 0xcd, 0x69, 0x46, 0x3d, 0x35, 0xc1, 0x9d, 0x7a, 0x5b, - 0x17, 0x5b, 0xa6, 0x71, 0xe4, 0x2e, 0xcc, 0x9c, 0xf1, 0xb5, 0xbd, 0x81, 0x38, 0xdf, 0x0b, 0x89, 0x9b, 0xe9, 0x88, - 0x29, 0xfd, 0xa4, 0x31, 0x02, 0x6a, 0x14, 0x1d, 0x6c, 0x64, 0xda, 0xb7, 0x02, 0x39, 0x9b, 0xa0, 0xa3, 0x2a, 0xa8, - 0xb6, 0x98, 0x99, 0xa5, 0x71, 0x6a, 0xa4, 0x05, 0x05, 0x2b, 0x8d, 0x41, 0x61, 0xa5, 0x2a, 0xc9, 0x5e, 0x94, 0x58, - 0x7a, 0x9e, 0xb3, 0xd0, 0xa1, 0x6c, 0x3a, 0x7c, 0x5a, 0x0b, 0x97, 0x84, 0xd1, 0xd6, 0xc2, 0x30, 0x6d, 0xb6, 0xd2, - 0xb6, 0xb2, 0xa2, 0x12, 0x2a, 0xb9, 0xbe, 0xa8, 0x24, 0x69, 0x1e, 0x61, 0x1c, 0x4f, 0x65, 0x76, 0x43, 0xf9, 0x0a, - 0x5b, 0xb7, 0xf1, 0xa1, 0xf0, 0x6f, 0x42, 0xc9, 0x6c, 0xc8, 0x80, 0x0c, 0x54, 0x12, 0xac, 0xe2, 0xf4, 0xf3, 0xe5, - 0x35, 0x67, 0x11, 0x97, 0x39, 0xf0, 0x6a, 0xea, 0xb5, 0x76, 0x1c, 0x4a, 0x7c, 0xed, 0xe4, 0x3f, 0xd3, 0xe4, 0xcf, - 0x12, 0x0e, 0xd7, 0xb9, 0xb2, 0xe2, 0x74, 0x58, 0xd0, 0x8f, 0xd8, 0xab, 0xcf, 0xd7, 0x4b, 0x62, 0xcb, 0xa3, 0x48, - 0xdd, 0x2b, 0x6d, 0xef, 0x3d, 0x1b, 0xa9, 0xd0, 0xac, 0xdd, 0x7d, 0xdf, 0x49, 0x5a, 0x65, 0x6a, 0xb5, 0x8b, 0x7b, - 0xd8, 0x40, 0x68, 0x6b, 0x52, 0x22, 0xee, 0xdd, 0xa4, 0x0c, 0x2f, 0x6d, 0x16, 0x40, 0xb5, 0x26, 0x14, 0xdf, 0x8d, - 0xeb, 0x44, 0xee, 0xc3, 0x33, 0x99, 0xbf, 0xdd, 0x7d, 0x30, 0xda, 0x0d, 0xec, 0x8a, 0xd0, 0x0f, 0xa2, 0x2d, 0x58, - 0x75, 0xe9, 0x8d, 0xba, 0xc0, 0x64, 0x51, 0xea, 0x60, 0xa4, 0x82, 0x2c, 0x5e, 0xb9, 0x03, 0xbb, 0x8e, 0x47, 0x10, - 0x40, 0x7f, 0xe3, 0xb8, 0xc5, 0x6d, 0x22, 0x15, 0xc1, 0x5d, 0x76, 0x9c, 0x54, 0x69, 0xbd, 0xcd, 0x8e, 0x63, 0xc1, - 0xd8, 0x52, 0xc8, 0xcc, 0x2a, 0x08, 0x5a, 0x09, 0xb4, 0xbe, 0x4a, 0x76, 0xba, 0x0c, 0xb3, 0x56, 0x14, 0xb0, 0x0f, - 0x2a, 0x39, 0xeb, 0x0f, 0x4a, 0x51, 0x5d, 0xc1, 0xf7, 0x71, 0x78, 0xfa, 0xdd, 0xc0, 0x01, 0x8b, 0xa1, 0x15, 0x82, - 0x23, 0xf6, 0x48, 0x87, 0x2d, 0xbd, 0xa9, 0x77, 0x7c, 0xae, 0xc2, 0x79, 0xf3, 0x58, 0xff, 0x07, 0xa9, 0x3e, 0xef, - 0xeb, 0x17, 0x38, 0xc1, 0x2f, 0x5e, 0x54, 0x8f, 0x77, 0xfc, 0xff, 0x06, 0x43, 0x54, 0x1d, 0xa6, 0xb6, 0xf8, 0x73, - 0x82, 0x74, 0x26, 0x0d, 0x7b, 0xb8, 0xbe, 0x92, 0x76, 0xbe, 0xa0, 0x1a, 0x7a, 0x64, 0x63, 0xb5, 0x1e, 0x94, 0x20, - 0x52, 0xde, 0xbb, 0x7d, 0x36, 0x2f, 0x25, 0xa5, 0x1a, 0xd1, 0x42, 0x4d, 0x7c, 0xb3, 0xe6, 0x4d, 0xb2, 0x16, 0x24, - 0xb1, 0xed, 0x59, 0x3b, 0xb2, 0x85, 0xf8, 0xfd, 0x5b, 0x8c, 0x26, 0x07, 0xf1, 0xde, 0xec, 0xba, 0x0c, 0xba, 0xd5, - 0xb3, 0xb4, 0x84, 0x55, 0x1b, 0xa8, 0x6a, 0xaa, 0xd2, 0x6c, 0x58, 0x85, 0x7c, 0x0e, 0xf5, 0xeb, 0x4a, 0x3a, 0xa7, - 0xb4, 0x10, 0x6a, 0x19, 0xf7, 0x44, 0xb2, 0x88, 0xf8, 0x58, 0x05, 0x3f, 0x29, 0xcc, 0xa9, 0xbb, 0x68, 0x44, 0x16, - 0xa3, 0x57, 0x6e, 0xc3, 0x69, 0xab, 0xa5, 0x4a, 0x40, 0xac, 0xdf, 0xb5, 0x1a, 0x67, 0xb3, 0xc2, 0x89, 0xa1, 0xef, - 0xff, 0xc4, 0x55, 0xe1, 0x4b, 0x10, 0xc6, 0xf1, 0x99, 0x24, 0x4b, 0xf1, 0x19, 0xaf, 0x3c, 0xf0, 0x0e, 0xac, 0xe8, - 0x6e, 0x5f, 0xf1, 0xfb, 0x4f, 0x57, 0x61, 0x85, 0x66, 0x59, 0x51, 0x6e, 0x5d, 0x63, 0x49, 0xdd, 0x23, 0xc7, 0x79, - 0x71, 0x0f, 0x70, 0x26, 0x34, 0xa3, 0x22, 0x4c, 0x69, 0x24, 0x2d, 0x3f, 0x53, 0x5b, 0xb1, 0xf4, 0x09, 0xc5, 0x12, - 0x01, 0x32, 0xf8, 0xfe, 0x93, 0x44, 0x57, 0x1e, 0xeb, 0x00, 0xff, 0xa8, 0x58, 0xb9, 0x2c, 0x66, 0x85, 0x86, 0xba, - 0x00, 0xc9, 0xfa, 0xea, 0x4a, 0xd6, 0xec, 0x6c, 0x43, 0x04, 0x95, 0xba, 0xeb, 0x20, 0x40, 0x6c, 0xd7, 0x08, 0x7c, - 0xf9, 0xd7, 0x68, 0x58, 0x6f, 0x65, 0x41, 0x1d, 0x36, 0xd9, 0x05, 0x01, 0xd1, 0xbd, 0xe8, 0x97, 0x9e, 0x1b, 0xff, - 0xd8, 0xf8, 0x64, 0x63, 0xf9, 0xf0, 0x33, 0x72, 0x2d, 0xaa, 0x87, 0xcc, 0x16, 0x80, 0x98, 0x8d, 0x34, 0x1b, 0x27, - 0xba, 0x6a, 0xef, 0x7b, 0x8d, 0xb2, 0x4d, 0x86, 0xed, 0x12, 0xb3, 0x78, 0xb0, 0xa8, 0x31, 0x65, 0x64, 0x63, 0x8f, - 0x7b, 0xe5, 0xc1, 0x5d, 0xf6, 0x41, 0x04, 0x9d, 0xcb, 0x76, 0xcc, 0xb4, 0x76, 0x38, 0xaf, 0x1a, 0xbb, 0x42, 0x66, - 0x05, 0x9b, 0xc4, 0x41, 0x00, 0xd9, 0x65, 0xdd, 0x05, 0x53, 0xce, 0x69, 0x71, 0xc3, 0x62, 0x0f, 0x36, 0x50, 0x16, - 0x3a, 0xb0, 0x25, 0xd4, 0x50, 0x0a, 0xd3, 0x58, 0x7a, 0xe0, 0x6c, 0x05, 0xe6, 0x5a, 0x8f, 0x63, 0x5d, 0xb3, 0x4e, - 0xd1, 0xa5, 0x02, 0xd2, 0xe2, 0xe8, 0xf9, 0x4d, 0x1f, 0xd2, 0xbe, 0xdb, 0xda, 0xf0, 0xbd, 0x6e, 0xbc, 0x26, 0xc3, - 0x4a, 0x79, 0x12, 0xed, 0x55, 0xfd, 0xf6, 0x02, 0xa3, 0x5a, 0xf8, 0xcc, 0xe5, 0x4b, 0x25, 0xff, 0x6e, 0x0d, 0x03, - 0xcd, 0x17, 0x0a, 0x5f, 0xf5, 0x04, 0x32, 0x2d, 0x69, 0x51, 0xf0, 0xce, 0xf8, 0x69, 0xb3, 0x05, 0xe3, 0xfe, 0xcd, - 0x4d, 0xc5, 0xb8, 0xfe, 0xed, 0x4d, 0xd3, 0xaf, 0x86, 0xc0, 0x6f, 0x14, 0x24, 0xdd, 0x87, 0xed, 0x11, 0x04, 0x88, - 0x7b, 0xab, 0x5c, 0x36, 0xb9, 0x7e, 0xf3, 0xb8, 0xa1, 0xaf, 0x6e, 0xf9, 0xc7, 0x1d, 0xe0, 0x59, 0x92, 0x93, 0xad, - 0x2d, 0x8b, 0x47, 0xce, 0xec, 0xee, 0x65, 0x1c, 0xff, 0x00, 0x38, 0x85, 0xd5, 0xad, 0xfc, 0xe9, 0xfd, 0xcc, 0x9e, - 0x52, 0x73, 0xbd, 0xf5, 0xe7, 0xab, 0x5f, 0xb9, 0x6d, 0x1e, 0xab, 0x53, 0xc3, 0xc6, 0x4d, 0x63, 0x49, 0x66, 0x4b, - 0x30, 0x33, 0x07, 0x29, 0x9c, 0xaf, 0xd5, 0xe7, 0x8c, 0xa3, 0xb8, 0xce, 0x09, 0x23, 0x6c, 0x63, 0x90, 0x1f, 0xbf, - 0x24, 0x96, 0x92, 0xf9, 0xc7, 0xed, 0xca, 0x18, 0x26, 0x91, 0x6e, 0x4f, 0xbd, 0x97, 0xa9, 0xce, 0x29, 0xdb, 0x63, - 0x1e, 0x9b, 0xe0, 0x67, 0xd5, 0x23, 0xd0, 0x0a, 0xfc, 0x0b, 0x02, 0xb6, 0xbb, 0x2c, 0xb3, 0x07, 0x9a, 0x37, 0xff, - 0x03, 0x78, 0x23, 0x3a, 0x65, 0x61, 0x27, 0xbb, 0xbe, 0xf9, 0x5d, 0x87, 0xc3, 0x95, 0x61, 0x89, 0x1b, 0xc6, 0x30, - 0x60, 0x1c, 0xba, 0xb5, 0xb5, 0x27, 0xb5, 0x1b, 0x1c, 0xa4, 0x8a, 0xf7, 0x50, 0x8a, 0x75, 0x34, 0x2f, 0x2c, 0xff, - 0x28, 0x07, 0xca, 0x0a, 0x03, 0xf2, 0x60, 0xd8, 0xf9, 0x98, 0x35, 0x52, 0x0d, 0x5d, 0xba, 0x8e, 0x2b, 0xad, 0xb1, - 0x21, 0x1f, 0x33, 0xec, 0x7e, 0xef, 0x1c, 0x05, 0xed, 0xe9, 0x7a, 0xcb, 0x81, 0x33, 0xac, 0xbd, 0x2f, 0xe3, 0x3c, - 0xf5, 0x72, 0xc1, 0xce, 0xd4, 0xd0, 0x9f, 0xf7, 0x9b, 0xac, 0xa6, 0x60, 0xa3, 0x23, 0xa8, 0xd3, 0x4f, 0x2e, 0x4a, - 0x5c, 0x65, 0x46, 0xd6, 0xfd, 0x96, 0x54, 0x67, 0x82, 0x83, 0xac, 0x2b, 0x94, 0xdf, 0xc5, 0x99, 0xd0, 0x87, 0x26, - 0x35, 0x8b, 0x64, 0xe3, 0x7d, 0x94, 0x1e, 0x18, 0x22, 0x0b, 0x3d, 0x6e, 0xd6, 0x9e, 0xaf, 0x19, 0x27, 0xb1, 0xfc, - 0xd7, 0x85, 0xd3, 0x76, 0xab, 0xf6, 0x08, 0x06, 0x81, 0xe7, 0x5f, 0x45, 0xcc, 0xb6, 0x1a, 0xd6, 0x9d, 0x99, 0xa9, - 0xaa, 0x97, 0xeb, 0xd5, 0xdc, 0x5a, 0x8f, 0x09, 0x15, 0x54, 0x5e, 0xaa, 0xae, 0x32, 0x26, 0x32, 0xf2, 0x63, 0x41, - 0x39, 0xba, 0xba, 0xcd, 0x73, 0xde, 0xa3, 0x3d, 0x8b, 0xdc, 0x0c, 0x80, 0x91, 0x4e, 0xc8, 0x30, 0xe1, 0x16, 0x66, - 0x3a, 0xb2, 0x5a, 0x55, 0x16, 0xf0, 0x51, 0xc3, 0x17, 0x1d, 0xb4, 0xc0, 0xe4, 0xd5, 0x13, 0x87, 0xb3, 0x42, 0x8c, - 0x14, 0xf7, 0xb1, 0x9f, 0x10, 0xf3, 0xc7, 0x69, 0x26, 0xa6, 0x6a, 0xd6, 0x3e, 0xef, 0x7e, 0x07, 0x42, 0x13, 0x43, - 0x74, 0x58, 0x44, 0xaf, 0x43, 0x01, 0x9b, 0xe4, 0xb5, 0x55, 0xb5, 0xc8, 0xf0, 0xeb, 0x81, 0xc6, 0x32, 0x06, 0x21, - 0xcc, 0x25, 0x30, 0xab, 0xfd, 0x74, 0xdb, 0x05, 0x65, 0xa3, 0x48, 0x2b, 0x9c, 0xac, 0x57, 0xac, 0x35, 0xb1, 0x16, - 0x96, 0xe3, 0xa2, 0x43, 0x71, 0x15, 0x1a, 0xb1, 0x8a, 0xa8, 0x75, 0x89, 0x9f, 0xec, 0x14, 0x8d, 0x82, 0xb8, 0x6c, - 0x09, 0x22, 0x6a, 0x72, 0x72, 0xd7, 0x43, 0xea, 0x13, 0x2b, 0xa4, 0x29, 0x41, 0xf8, 0xce, 0x13, 0x94, 0x31, 0x02, - 0xb7, 0x55, 0x6a, 0x8c, 0x0d, 0x25, 0x99, 0x83, 0xc1, 0xf0, 0xcd, 0x04, 0x27, 0x7a, 0x09, 0x65, 0x46, 0xab, 0xe4, - 0x3e, 0x66, 0x4c, 0x63, 0x29, 0x27, 0x33, 0xa3, 0x6f, 0x58, 0xf8, 0xb3, 0x74, 0x21, 0xe7, 0xce, 0x5d, 0x5d, 0x9e, - 0xa9, 0xaf, 0xc8, 0xf3, 0xb9, 0x2d, 0x5c, 0x4b, 0xc6, 0x50, 0x7b, 0xd4, 0x94, 0xad, 0x78, 0xc3, 0x48, 0xaa, 0x71, - 0xfc, 0xaa, 0x97, 0x22, 0xac, 0xbb, 0x62, 0x78, 0xbd, 0xdd, 0x65, 0xe6, 0xda, 0x16, 0xd3, 0x5f, 0xcb, 0xfb, 0x19, - 0x5a, 0x0f, 0x7c, 0x35, 0x74, 0x73, 0x58, 0xf3, 0xfb, 0xa2, 0xdc, 0x23, 0x2c, 0xb7, 0x7f, 0x27, 0xc6, 0xed, 0xeb, - 0x5b, 0x30, 0x58, 0xc8, 0xe7, 0x66, 0x29, 0x6e, 0xb0, 0x7a, 0x90, 0x2e, 0x28, 0x1c, 0x89, 0xa9, 0x5c, 0xbd, 0x6c, - 0xc5, 0x4d, 0xed, 0x76, 0x9b, 0xb1, 0x4e, 0xa4, 0x56, 0xbe, 0x41, 0xb1, 0x6f, 0x7c, 0x81, 0xed, 0x8f, 0x30, 0xb4, - 0xeb, 0x15, 0xe7, 0xb6, 0xfa, 0xb7, 0xbc, 0xe3, 0xf7, 0xfd, 0x61, 0x13, 0x3a, 0xfe, 0x74, 0x7b, 0xe8, 0x86, 0x07, - 0xd2, 0x77, 0x69, 0x5f, 0x76, 0xa5, 0xa8, 0xbf, 0xe4, 0xc0, 0xa9, 0xf3, 0x63, 0x74, 0x5b, 0xf5, 0xa6, 0xde, 0xc7, - 0x11, 0x5e, 0x2a, 0xff, 0xc3, 0xda, 0xe2, 0x3e, 0xcd, 0x47, 0x7b, 0xde, 0x7a, 0xf2, 0xab, 0xdb, 0x74, 0x17, 0x56, - 0x35, 0x7f, 0x2b, 0x53, 0x1a, 0x2f, 0xce, 0x39, 0x60, 0xf6, 0x4f, 0xd4, 0x64, 0x0f, 0x91, 0xa9, 0xe4, 0x38, 0xae, - 0x62, 0x51, 0xeb, 0x49, 0xa1, 0x11, 0x79, 0xc3, 0xd5, 0x9e, 0x47, 0x83, 0x90, 0xd8, 0x01, 0x22, 0x3f, 0x16, 0x85, - 0xa1, 0x23, 0x16, 0x91, 0x76, 0x8d, 0xcf, 0x8b, 0xfa, 0x08, 0x85, 0x58, 0x4d, 0x84, 0x87, 0x05, 0x79, 0x1f, 0x01, - 0x54, 0xda, 0x4b, 0x5a, 0x5b, 0xe9, 0x20, 0xdb, 0x57, 0x82, 0x64, 0x72, 0x60, 0x24, 0xbd, 0x83, 0xd8, 0xce, 0x79, - 0x15, 0x2e, 0xbf, 0x98, 0x9b, 0x42, 0xee, 0xba, 0xca, 0x97, 0x3e, 0x69, 0x6c, 0x72, 0x80, 0xa3, 0xc2, 0xda, 0x57, - 0x4e, 0xc7, 0x41, 0x1f, 0xc4, 0x5e, 0xfe, 0x77, 0x16, 0xb8, 0x64, 0xdd, 0x05, 0xac, 0x97, 0xbe, 0xcf, 0xc3, 0x84, - 0x12, 0x6a, 0xd2, 0xb2, 0x44, 0x17, 0x36, 0x28, 0x55, 0xda, 0x6f, 0x21, 0xe2, 0xb0, 0xc5, 0x97, 0xdc, 0xa6, 0x51, - 0xb7, 0x52, 0xae, 0x6f, 0xe7, 0x94, 0x43, 0xeb, 0x8d, 0x1d, 0xc3, 0xd6, 0x62, 0xbc, 0x70, 0x18, 0x14, 0xa2, 0xa1, - 0xc6, 0x25, 0xcd, 0x57, 0x50, 0x6b, 0xe4, 0x8e, 0x45, 0x4b, 0x32, 0x9c, 0x3e, 0x6e, 0x39, 0x58, 0xa6, 0x81, 0x18, - 0xce, 0xa7, 0x9e, 0xbc, 0x26, 0xf9, 0x40, 0xc1, 0x0d, 0x9a, 0x65, 0x55, 0xd8, 0x1d, 0xd0, 0xbc, 0x0e, 0x1a, 0xad, - 0xa4, 0xc9, 0xa8, 0x4a, 0xba, 0x9f, 0xa6, 0xf8, 0x5d, 0xc6, 0xba, 0x57, 0x94, 0x12, 0xc6, 0xa8, 0xfe, 0xd0, 0x28, - 0x25, 0x07, 0x37, 0xd9, 0xb2, 0x27, 0xd4, 0x25, 0x62, 0xa2, 0x3c, 0x4f, 0xa1, 0x2b, 0xb4, 0x32, 0x72, 0xa8, 0xae, - 0x78, 0x83, 0x2c, 0x0e, 0x76, 0x96, 0x22, 0x99, 0x0f, 0x3a, 0x52, 0xef, 0x13, 0x4d, 0x21, 0x9c, 0xab, 0x64, 0x74, - 0xe3, 0xee, 0x94, 0x1e, 0x24, 0x70, 0xe2, 0x42, 0x47, 0xdb, 0xa1, 0xd7, 0x02, 0x76, 0xa3, 0x12, 0x7a, 0x8a, 0xdf, - 0xe9, 0xf3, 0x2c, 0x78, 0x3b, 0x12, 0xdb, 0x46, 0x31, 0xe6, 0xa8, 0x3a, 0xf5, 0x07, 0x6b, 0xdb, 0x71, 0xdf, 0x64, - 0xc3, 0x2f, 0x26, 0x7f, 0xd4, 0x41, 0x70, 0xcc, 0x3b, 0x59, 0x0e, 0x04, 0x32, 0x80, 0x4a, 0x27, 0x86, 0xf7, 0xc5, - 0x2e, 0x07, 0x85, 0x5f, 0xf5, 0x32, 0x57, 0xda, 0x96, 0x88, 0x8b, 0x8a, 0x83, 0x6f, 0x70, 0x3d, 0xa6, 0x7a, 0x2f, - 0x1d, 0x02, 0xe3, 0x1b, 0xa9, 0x70, 0x73, 0xdf, 0x0a, 0x03, 0x1d, 0x08, 0xca, 0xd9, 0xa8, 0x51, 0xa7, 0x3e, 0x5f, - 0x2d, 0xc8, 0x0b, 0x3c, 0x56, 0x8a, 0x63, 0xd7, 0x75, 0x2f, 0x3c, 0x96, 0x62, 0x3f, 0xa8, 0x50, 0xfe, 0xe7, 0x08, - 0x50, 0x89, 0x00, 0x46, 0xad, 0xd8, 0xca, 0xee, 0x7f, 0x31, 0x5d, 0xa6, 0xba, 0xa4, 0x48, 0xfd, 0x95, 0xe5, 0x24, - 0x7f, 0xe4, 0x61, 0x8f, 0xca, 0xc6, 0x83, 0x2d, 0x46, 0x81, 0x03, 0x78, 0x98, 0xa4, 0xf0, 0x56, 0xc6, 0x78, 0x5d, - 0xc5, 0x5a, 0x23, 0x15, 0x82, 0x64, 0x66, 0xb7, 0x8d, 0x7c, 0x91, 0x9f, 0x26, 0x41, 0x13, 0x3f, 0xa7, 0xde, 0x2b, - 0x4c, 0x3b, 0x76, 0xd6, 0x12, 0x05, 0xf4, 0xf2, 0x0e, 0xa1, 0x43, 0x56, 0xf1, 0xe5, 0xd4, 0x9a, 0x45, 0x40, 0x62, - 0x71, 0x6d, 0x7c, 0x4d, 0xb3, 0x7d, 0x9e, 0xc5, 0x08, 0xcb, 0x2f, 0xa8, 0x82, 0xcb, 0x14, 0xa8, 0x95, 0xda, 0xb3, - 0xee, 0x30, 0xd8, 0xa1, 0x2c, 0x63, 0x7a, 0x11, 0xb2, 0x28, 0xd2, 0xc4, 0x5a, 0xed, 0x62, 0x34, 0x20, 0xc1, 0x25, - 0x4c, 0x54, 0x28, 0x23, 0xcb, 0x18, 0x90, 0xe6, 0x96, 0xb5, 0x7d, 0x91, 0x51, 0x41, 0xbd, 0xfd, 0xcf, 0xac, 0xf6, - 0x3d, 0x2c, 0xd2, 0xf6, 0x4a, 0xba, 0x7e, 0xff, 0xdb, 0x4d, 0xe8, 0xf2, 0x45, 0xdf, 0x3d, 0x7c, 0xc5, 0x9a, 0xed, - 0x0d, 0x7c, 0xe9, 0xc3, 0xa0, 0x49, 0x99, 0x1c, 0x0a, 0x03, 0xcd, 0x32, 0x6e, 0x44, 0x6b, 0x07, 0x3c, 0xb2, 0xc3, - 0xb2, 0x89, 0xbc, 0xce, 0x6b, 0xaa, 0x67, 0x57, 0xa4, 0x61, 0x96, 0x26, 0xc5, 0x05, 0xa0, 0xb7, 0xbe, 0xd2, 0x35, - 0x55, 0x23, 0x4b, 0x60, 0x82, 0x62, 0x10, 0x6f, 0x4e, 0x65, 0x97, 0x36, 0xba, 0xf0, 0x28, 0x6f, 0x62, 0xac, 0x1f, - 0xb1, 0xdd, 0x01, 0x81, 0x4a, 0xd5, 0x02, 0x75, 0x2f, 0x0c, 0xe6, 0xe4, 0xaa, 0xa3, 0xda, 0xca, 0x48, 0x90, 0x4d, - 0xc3, 0x36, 0xbf, 0xd0, 0x70, 0x47, 0xc9, 0x26, 0x41, 0x52, 0xc8, 0x26, 0x63, 0xce, 0x8b, 0xda, 0xbd, 0x22, 0x66, - 0xa2, 0x4f, 0x1e, 0xdb, 0x39, 0xc8, 0x74, 0xb7, 0xcf, 0xe9, 0x63, 0x95, 0xc0, 0xe1, 0x9e, 0x46, 0x31, 0x3b, 0x5a, - 0xe1, 0xcf, 0x0b, 0xda, 0x9a, 0x61, 0xec, 0x21, 0x5c, 0xbd, 0x95, 0x12, 0x48, 0xdc, 0x8b, 0x2a, 0x38, 0xdb, 0x90, - 0xf4, 0xdb, 0xd1, 0x67, 0x4a, 0x8e, 0xe4, 0xca, 0x7e, 0x41, 0x5b, 0x27, 0x4e, 0x7c, 0x04, 0xe7, 0xed, 0xd6, 0x0b, - 0x43, 0x4f, 0x5b, 0xba, 0x0b, 0x5f, 0x16, 0xf7, 0x72, 0x75, 0x46, 0x3d, 0xb8, 0x8e, 0x4b, 0xb5, 0x20, 0x11, 0x2c, - 0x5a, 0xe7, 0x22, 0x5d, 0xe0, 0xe5, 0x78, 0xe4, 0xfc, 0x54, 0xc4, 0xae, 0xa0, 0x85, 0xf8, 0x90, 0x89, 0x8a, 0xf5, - 0xd6, 0xd1, 0x9f, 0xb8, 0x27, 0xd2, 0x20, 0xb7, 0xeb, 0xd1, 0x8e, 0xec, 0xe1, 0x47, 0xb5, 0xe4, 0x8a, 0xc2, 0x5e, - 0x25, 0x3b, 0xdf, 0xf5, 0x1a, 0x33, 0xeb, 0x9b, 0x65, 0x1f, 0x42, 0xb0, 0x80, 0xec, 0x14, 0xdf, 0xcb, 0x0b, 0xc8, - 0xbf, 0xc8, 0x58, 0x66, 0x31, 0x30, 0x93, 0x61, 0xc3, 0xe0, 0x1f, 0xb4, 0xa8, 0xd4, 0xcb, 0xe9, 0x38, 0xb8, 0x23, - 0x8e, 0x86, 0x43, 0x32, 0x55, 0x25, 0xdd, 0x3f, 0x18, 0x65, 0x5d, 0x0a, 0x27, 0x98, 0x64, 0xda, 0xfe, 0x15, 0xb4, - 0xda, 0x35, 0xef, 0x48, 0x72, 0x22, 0x3b, 0x53, 0xbb, 0xa6, 0x71, 0x43, 0xeb, 0x96, 0xce, 0x1d, 0xbd, 0x7b, 0x06, - 0x0f, 0xac, 0xbc, 0xe2, 0x6d, 0x49, 0xe2, 0x9d, 0x40, 0x85, 0x77, 0x03, 0x55, 0xde, 0x0b, 0xb4, 0xf1, 0xbe, 0xa4, - 0x9d, 0x0f, 0x02, 0x19, 0x5b, 0x88, 0xb9, 0xd5, 0x5c, 0x37, 0xb7, 0x9e, 0x8b, 0xb5, 0x7e, 0x30, 0x48, 0xb5, 0x1b, - 0xff, 0x9c, 0x3c, 0xfb, 0x52, 0xb7, 0xdd, 0x8e, 0xfb, 0xf9, 0xfe, 0x69, 0xb4, 0xb7, 0x3f, 0x99, 0x42, 0xe7, 0x45, - 0x12, 0x69, 0x7c, 0xee, 0xf5, 0x30, 0x04, 0xeb, 0xdc, 0x18, 0x7d, 0xdd, 0x05, 0x0d, 0xe5, 0x2e, 0x6c, 0x97, 0x7f, - 0xee, 0xfd, 0xc7, 0x93, 0x5f, 0x15, 0xf5, 0xd8, 0xfa, 0x50, 0x9a, 0xc5, 0x65, 0x00, 0xae, 0x3b, 0xd1, 0x78, 0xe5, - 0x82, 0x37, 0x86, 0xfe, 0xcc, 0x92, 0x96, 0x98, 0x47, 0x44, 0x3d, 0xd1, 0x12, 0xd7, 0x94, 0x49, 0x9f, 0x87, 0x2e, - 0xb1, 0xe4, 0xc8, 0x0d, 0xfb, 0x5b, 0xff, 0x85, 0x86, 0x3b, 0xad, 0xc6, 0x54, 0x8e, 0xfd, 0xfd, 0xb5, 0x81, 0xea, - 0x72, 0x28, 0xcd, 0xa6, 0x0f, 0x09, 0x13, 0xf5, 0x71, 0x0c, 0x77, 0x6e, 0x0c, 0x17, 0x78, 0x79, 0xb5, 0xa0, 0x5b, - 0x6d, 0xc0, 0x00, 0xcf, 0x79, 0x03, 0x50, 0xc9, 0x08, 0xfc, 0x0b, 0xde, 0xaf, 0x5a, 0x94, 0xe1, 0x8b, 0xd1, 0xef, - 0xce, 0xaf, 0xb6, 0x1f, 0x88, 0x13, 0x1e, 0x2d, 0x56, 0xe8, 0x9a, 0x99, 0xff, 0xb0, 0xc2, 0x7a, 0x8e, 0xbd, 0x9b, - 0xaf, 0x72, 0xde, 0xda, 0x0b, 0xe8, 0xed, 0xae, 0x40, 0x88, 0x40, 0xa3, 0xab, 0xc3, 0x59, 0xdf, 0xe6, 0x8f, 0x1f, - 0x52, 0x36, 0x13, 0x06, 0xe0, 0xd3, 0xca, 0x87, 0x7f, 0x37, 0x7f, 0x53, 0xbc, 0x48, 0xe1, 0x7e, 0xfd, 0xbe, 0x2a, - 0xc2, 0x7f, 0x61, 0x60, 0x7c, 0xc7, 0xc9, 0x05, 0x79, 0x6c, 0xde, 0xae, 0x2c, 0xef, 0xd0, 0xba, 0x68, 0xb1, 0xaf, - 0xcd, 0x13, 0x75, 0xf3, 0xf9, 0x27, 0xaa, 0x39, 0xb7, 0xab, 0xc7, 0xeb, 0xe6, 0xf7, 0xbb, 0xa9, 0x39, 0x7f, 0xc8, - 0x5f, 0xdd, 0x3f, 0x3a, 0xba, 0x6a, 0x38, 0x18, 0x5d, 0x7f, 0x9d, 0x65, 0xbb, 0x61, 0xfe, 0x7e, 0xd1, 0xca, 0x51, - 0x62, 0x95, 0x9a, 0xe5, 0x0f, 0x7b, 0x1f, 0xf3, 0x69, 0x5a, 0xd7, 0xbb, 0x5f, 0xbf, 0xc0, 0xfc, 0x0f, 0x71, 0x23, - 0xda, 0xc3, 0xe3, 0x3f, 0x1b, 0xff, 0xb4, 0x59, 0x73, 0x12, 0x7a, 0x32, 0xd6, 0x2a, 0x88, 0x1a, 0xe3, 0xe9, 0xf9, - 0xc8, 0x90, 0xc6, 0x7f, 0x7a, 0x52, 0x4e, 0x98, 0xe5, 0xc4, 0xd2, 0x7d, 0x4b, 0x78, 0x28, 0x15, 0xe5, 0x46, 0x71, - 0x3c, 0x26, 0xfc, 0xaf, 0x3d, 0xb9, 0x2d, 0x56, 0x29, 0x33, 0x80, 0xfb, 0xa1, 0xe6, 0xfb, 0xc5, 0x75, 0x32, 0x08, - 0xd2, 0x84, 0x89, 0x19, 0x83, 0x31, 0x51, 0x4e, 0xdd, 0x50, 0x08, 0xbe, 0x91, 0x53, 0x8a, 0x9c, 0x5a, 0xba, 0x3f, - 0x11, 0x1e, 0x0e, 0xcf, 0xee, 0x86, 0xa3, 0xdd, 0xcf, 0x1f, 0xb8, 0x9d, 0xe4, 0xd4, 0x98, 0x2f, 0x4f, 0x8d, 0xc6, - 0x9e, 0x01, 0x73, 0xba, 0x40, 0xa7, 0xd5, 0x33, 0xa4, 0xfd, 0x62, 0x20, 0x18, 0xba, 0xf2, 0xd0, 0x76, 0xf1, 0x6d, - 0x8b, 0xcb, 0x8f, 0x0d, 0x7a, 0xcd, 0xb0, 0x1a, 0xfc, 0x53, 0x03, 0xd6, 0x18, 0x13, 0x71, 0x8c, 0x09, 0x4c, 0xf9, - 0x96, 0x66, 0xdd, 0x92, 0x1d, 0x6c, 0xec, 0x29, 0xe5, 0x31, 0x52, 0x32, 0x87, 0xbc, 0x6c, 0xda, 0x98, 0x1b, 0x3c, - 0x2b, 0x9f, 0xe7, 0x76, 0xd2, 0x8e, 0xd0, 0x48, 0xc8, 0xf7, 0xac, 0xd8, 0xa4, 0xe8, 0xcc, 0x21, 0xee, 0x6c, 0x9d, - 0xcd, 0x31, 0x3e, 0x71, 0x44, 0x94, 0xdd, 0x7b, 0xd1, 0xd1, 0xbe, 0xd2, 0x17, 0xe4, 0x6c, 0x2e, 0xbf, 0xcd, 0x31, - 0xcf, 0xf2, 0xe8, 0x91, 0xf4, 0x42, 0xdf, 0x4b, 0x33, 0x8e, 0xc7, 0xbc, 0x6a, 0x69, 0x9e, 0xdd, 0x83, 0x78, 0x46, - 0x21, 0x68, 0x33, 0x4c, 0x7f, 0x7c, 0x33, 0x9f, 0x22, 0x75, 0x2f, 0xe3, 0x5e, 0x36, 0x0d, 0xe8, 0xb0, 0xa1, 0x03, - 0xaa, 0x42, 0x82, 0xa9, 0x55, 0xe8, 0x77, 0x2b, 0x2e, 0xb3, 0x55, 0x5a, 0xbc, 0x45, 0x73, 0x77, 0x65, 0x12, 0x97, - 0x11, 0xfa, 0xdd, 0xf5, 0x45, 0xb2, 0x3e, 0x03, 0xc6, 0x2d, 0x36, 0x14, 0xb3, 0xff, 0x58, 0xea, 0xf1, 0x89, 0x96, - 0x91, 0x81, 0x7d, 0x7d, 0x79, 0xee, 0xae, 0xb5, 0x67, 0x1b, 0x15, 0xb1, 0x31, 0xc5, 0xdc, 0xdc, 0xfa, 0x79, 0xb6, - 0x22, 0x99, 0xdc, 0x36, 0xe1, 0x0c, 0x98, 0xa3, 0x6b, 0xb8, 0x2b, 0x88, 0x71, 0x16, 0x40, 0x43, 0xe1, 0x6c, 0xdf, - 0x84, 0xcb, 0x0b, 0x49, 0x6c, 0x8c, 0x12, 0x7d, 0xe9, 0x7f, 0x77, 0x7e, 0x6a, 0xd0, 0x0f, 0x92, 0xd0, 0x73, 0xef, - 0xd1, 0xe9, 0xf6, 0xa7, 0xf9, 0x54, 0xfd, 0xac, 0xb5, 0x8d, 0x2f, 0xa0, 0x4f, 0x7d, 0x68, 0x79, 0xfb, 0x98, 0x51, - 0x80, 0x95, 0x94, 0xe2, 0x6b, 0x47, 0x75, 0x4c, 0xfd, 0x2d, 0x62, 0xea, 0xf8, 0x8d, 0x91, 0x47, 0xdd, 0xce, 0xa5, - 0x8f, 0x79, 0x33, 0xed, 0xb4, 0x67, 0x09, 0x38, 0xc7, 0x7b, 0xb1, 0xa5, 0x27, 0xbd, 0xee, 0x0b, 0x0e, 0x6c, 0x76, - 0x15, 0xf3, 0x36, 0xd7, 0xd0, 0x66, 0xed, 0xe6, 0xef, 0x6a, 0xec, 0x95, 0xf5, 0x56, 0x0f, 0x92, 0xad, 0xbe, 0xcc, - 0xf3, 0xf3, 0x6b, 0x7e, 0x5b, 0x2a, 0x95, 0xb8, 0x53, 0xc6, 0x77, 0xde, 0xff, 0xbe, 0x86, 0xea, 0xd4, 0x53, 0x46, - 0x29, 0xcc, 0x08, 0xcb, 0x27, 0xcf, 0xd3, 0xf2, 0x97, 0x5d, 0xd6, 0x67, 0x3b, 0x6f, 0xc1, 0xd1, 0xe5, 0xc0, 0x71, - 0x62, 0x16, 0x81, 0xef, 0xf1, 0x15, 0x84, 0xf2, 0xe5, 0x14, 0xb0, 0x25, 0xff, 0xc6, 0x84, 0xe4, 0x96, 0x67, 0x2d, - 0x49, 0x6d, 0x24, 0x16, 0x62, 0x38, 0x71, 0xda, 0xf5, 0x01, 0x20, 0xde, 0x22, 0x02, 0xf2, 0x49, 0xe6, 0x7e, 0xb0, - 0xa0, 0x17, 0xc3, 0x02, 0x7b, 0xbe, 0x14, 0x15, 0xbd, 0xe0, 0x1f, 0x32, 0x68, 0xd5, 0x4a, 0x66, 0x0a, 0x0f, 0x52, - 0x50, 0x72, 0xe2, 0xb1, 0xf8, 0x44, 0x08, 0x6d, 0x74, 0x16, 0xca, 0x30, 0x27, 0x6e, 0x79, 0x9a, 0x83, 0xab, 0xcb, - 0xac, 0xf5, 0x62, 0xec, 0xdd, 0x61, 0xe7, 0x11, 0x32, 0xdc, 0x1f, 0xae, 0xcb, 0xda, 0x92, 0xb6, 0x04, 0xb4, 0xd6, - 0x4e, 0x80, 0x3e, 0xea, 0xd2, 0x2d, 0x77, 0x5d, 0x02, 0x0b, 0xa7, 0xec, 0xee, 0x02, 0xec, 0x82, 0x64, 0xc6, 0xf9, - 0x19, 0xec, 0xdc, 0xe3, 0x0f, 0xf0, 0xfd, 0x0c, 0xda, 0x02, 0x7c, 0x3b, 0x83, 0xf5, 0xeb, 0x08, 0x7c, 0x3d, 0x03, - 0x73, 0x00, 0x67, 0x67, 0xf0, 0x57, 0xf1, 0x7b, 0xe9, 0xe9, 0x19, 0xf8, 0x97, 0x0a, 0x5f, 0xd8, 0x8d, 0x35, 0x84, - 0x13, 0xd6, 0xbc, 0x16, 0x8e, 0xe1, 0x80, 0xd7, 0xac, 0x5d, 0x61, 0x0f, 0xbf, 0x23, 0x63, 0xb0, 0x8f, 0xd8, 0x23, - 0x6f, 0x70, 0xc4, 0xec, 0x0e, 0x87, 0x97, 0x86, 0x77, 0xfb, 0xff, 0xb1, 0xb1, 0x3c, 0x4c, 0xd8, 0x7e, 0x8b, 0xbf, - 0x54, 0x42, 0x85, 0xcf, 0xff, 0x53, 0xbd, 0x80, 0xe9, 0x19, 0xd4, 0x05, 0xf8, 0x74, 0x06, 0xdb, 0x02, 0x7c, 0x3c, - 0x83, 0xdb, 0x52, 0xd7, 0x0d, 0x70, 0x70, 0x06, 0x7a, 0x07, 0x3e, 0x9c, 0xc1, 0xe6, 0x1b, 0x78, 0x73, 0x06, 0xea, - 0xf8, 0xed, 0x81, 0xb7, 0x67, 0xa0, 0x57, 0xe0, 0x9d, 0x67, 0x60, 0xe0, 0xfd, 0xdf, 0x38, 0x7f, 0x83, 0x91, 0x53, - 0x76, 0x9f, 0xe5, 0x2b, 0x46, 0xd3, 0x0f, 0xc9, 0x63, 0x27, 0xce, 0x2c, 0xc0, 0x67, 0xfb, 0x6f, 0xa4, 0xe9, 0x26, - 0x5b, 0x6c, 0x02, 0x29, 0x5c, 0x55, 0x66, 0x0c, 0x8c, 0xff, 0x23, 0x7e, 0x66, 0x0e, 0x86, 0x46, 0x12, 0x1b, 0xd9, - 0xc0, 0xaa, 0xed, 0xf9, 0x3f, 0xb6, 0x09, 0xbb, 0x5b, 0x45, 0xb6, 0x73, 0xef, 0xf1, 0xe3, 0xa3, 0xfb, 0xca, 0xa6, - 0xb1, 0x48, 0x03, 0xaa, 0xba, 0x80, 0x8e, 0x94, 0x52, 0x0b, 0xe6, 0x6e, 0xf5, 0x4f, 0x84, 0x6f, 0x2e, 0x78, 0x84, - 0xd9, 0xad, 0x34, 0x52, 0x80, 0x94, 0x99, 0xfe, 0x27, 0x57, 0x7b, 0xa4, 0x2c, 0x3d, 0xcb, 0xa2, 0xf2, 0xa9, 0xf7, - 0xc9, 0xcb, 0xe4, 0x98, 0x65, 0x2e, 0xd4, 0x38, 0xf4, 0xf3, 0x14, 0x02, 0xca, 0x21, 0x25, 0xdc, 0x9e, 0x86, 0x97, - 0x8c, 0xe1, 0x5b, 0x72, 0xeb, 0x05, 0xf6, 0x9e, 0x60, 0xc8, 0xed, 0x98, 0x02, 0xab, 0x98, 0xa9, 0x0d, 0xfa, 0x08, - 0xc4, 0x71, 0x53, 0x6a, 0xfc, 0x35, 0xfa, 0xf0, 0x76, 0xb1, 0xab, 0xe3, 0x60, 0x50, 0xf5, 0x3b, 0x0d, 0x8f, 0x88, - 0x4a, 0xca, 0x21, 0x8b, 0x16, 0x59, 0xb2, 0xfd, 0x85, 0x03, 0x4a, 0xd0, 0x44, 0xbb, 0xd2, 0xf2, 0x9a, 0x14, 0xbc, - 0x1c, 0x5d, 0x30, 0x19, 0x8e, 0x67, 0xf0, 0x0c, 0x52, 0x7f, 0xce, 0x1b, 0x5e, 0x01, 0xda, 0xe0, 0x93, 0xee, 0xd7, - 0x75, 0xc7, 0x17, 0x7a, 0x47, 0x69, 0xc6, 0x15, 0x3e, 0x8b, 0xdf, 0x30, 0xcb, 0x5c, 0xff, 0x46, 0x90, 0x66, 0x7b, - 0xeb, 0x69, 0x0b, 0x60, 0xfe, 0x01, 0xdb, 0xb3, 0x97, 0x33, 0x5c, 0x6c, 0xed, 0x51, 0x54, 0x2b, 0x2d, 0x38, 0xe8, - 0x6e, 0x33, 0xe0, 0x6e, 0x31, 0xb8, 0x67, 0x47, 0x7b, 0x25, 0x14, 0x4e, 0x44, 0xab, 0x0c, 0x45, 0x76, 0x00, 0xdf, - 0xb1, 0xb1, 0x25, 0x1a, 0xe9, 0xf4, 0xa0, 0x6f, 0xd0, 0xb6, 0x44, 0x10, 0xb6, 0x6e, 0xb7, 0x88, 0x81, 0xec, 0x55, - 0xe2, 0x7f, 0x5f, 0xee, 0x65, 0xd4, 0xd2, 0x4c, 0xdf, 0xe3, 0x3b, 0xe6, 0xa7, 0xb4, 0x50, 0x9f, 0x24, 0x65, 0xec, - 0x34, 0xfe, 0xe9, 0xcf, 0x90, 0xe7, 0x78, 0xd5, 0x55, 0x00, 0x14, 0xdc, 0xd0, 0x28, 0xfe, 0x90, 0xcf, 0x9a, 0xb0, - 0x70, 0x19, 0x79, 0x5c, 0x30, 0xc0, 0x2c, 0x73, 0xdc, 0xc4, 0xd8, 0x70, 0x71, 0x58, 0x70, 0x98, 0x99, 0x74, 0x99, - 0xd1, 0xeb, 0x62, 0x5c, 0x8a, 0xd6, 0x7d, 0x35, 0x35, 0x7e, 0x93, 0x19, 0xa1, 0x0f, 0x4f, 0xc3, 0x80, 0x5d, 0xc4, - 0xd8, 0xbf, 0x6b, 0x70, 0x55, 0x30, 0xb6, 0x55, 0x83, 0x15, 0xa5, 0x66, 0x95, 0xbf, 0x7c, 0x76, 0xd4, 0x1f, 0xde, - 0xe4, 0xd6, 0x33, 0x06, 0x0c, 0xfb, 0x82, 0x09, 0x6d, 0xca, 0xdf, 0x1b, 0x93, 0x88, 0x5e, 0x70, 0x6e, 0x7c, 0x4a, - 0x16, 0x6e, 0x9a, 0x61, 0x2a, 0x76, 0xd0, 0x24, 0x75, 0x08, 0xb1, 0x89, 0xbf, 0x7d, 0xf2, 0xe4, 0x39, 0xa4, 0x7c, - 0x4e, 0x44, 0x92, 0x68, 0x75, 0x47, 0xf1, 0x6c, 0xe2, 0x8a, 0x67, 0x41, 0x54, 0x72, 0x03, 0xc0, 0x11, 0xe8, 0xd2, - 0x74, 0xf8, 0xdd, 0x7e, 0xdc, 0x6b, 0x03, 0xcc, 0x36, 0xd6, 0xdd, 0xc7, 0xa1, 0x31, 0xe5, 0x19, 0xdd, 0x0f, 0x7a, - 0xe5, 0x39, 0x78, 0x9a, 0x5f, 0xa6, 0x24, 0x43, 0x86, 0xd5, 0xcc, 0xa1, 0xc3, 0x75, 0x54, 0xe5, 0x1a, 0xb4, 0xe0, - 0x63, 0xaa, 0xd4, 0xc8, 0x9b, 0xf7, 0x87, 0xeb, 0x82, 0xe4, 0x68, 0x07, 0xb4, 0xf6, 0x7a, 0x98, 0x5d, 0x08, 0x0c, - 0x52, 0x48, 0xb8, 0x63, 0x5b, 0x7b, 0x7f, 0xa7, 0x87, 0xeb, 0xed, 0x4b, 0x94, 0x5b, 0x6f, 0x7d, 0x60, 0x96, 0xfe, - 0xa4, 0xb3, 0x2b, 0xc3, 0x8e, 0xbf, 0x5a, 0x93, 0x0f, 0x6f, 0x6a, 0x6d, 0xa4, 0x64, 0xfa, 0xea, 0x82, 0x1f, 0x27, - 0x8c, 0x09, 0x9e, 0x81, 0x98, 0x10, 0xd5, 0xe9, 0x7a, 0x49, 0x22, 0x8a, 0xad, 0x09, 0x91, 0x52, 0x24, 0x11, 0xc9, - 0x49, 0xba, 0xab, 0x9b, 0xe2, 0x93, 0xd3, 0x13, 0x69, 0xe6, 0x0e, 0x0c, 0x60, 0xa9, 0x4f, 0xcf, 0xe6, 0x2c, 0x7f, - 0x23, 0x10, 0x7e, 0x94, 0x02, 0x96, 0xd6, 0x60, 0xf2, 0x80, 0xbd, 0xa4, 0x7e, 0xa6, 0xea, 0x2e, 0x9a, 0x14, 0xc9, - 0xa3, 0x67, 0x80, 0xad, 0x9c, 0x72, 0x84, 0x2a, 0xd3, 0x4c, 0x48, 0x8e, 0x73, 0x6b, 0x32, 0x27, 0x21, 0x94, 0x9c, - 0x99, 0x7b, 0xc4, 0xf2, 0x29, 0xfc, 0xb2, 0x29, 0x6f, 0x7a, 0x27, 0x5b, 0x8a, 0x75, 0x35, 0x84, 0xe1, 0xc4, 0x80, - 0xdf, 0x42, 0xec, 0xf5, 0xd6, 0x91, 0x34, 0xc8, 0x79, 0xf2, 0x8c, 0x23, 0x6c, 0x5c, 0x62, 0xa3, 0x6f, 0x36, 0x4a, - 0x12, 0x72, 0x40, 0x26, 0xbb, 0x50, 0x72, 0x72, 0x07, 0xef, 0xc1, 0xc7, 0x36, 0xdd, 0x9f, 0xff, 0xca, 0x13, 0xad, - 0x6a, 0x63, 0x60, 0xd5, 0xd7, 0x03, 0x59, 0x99, 0x7c, 0x25, 0x40, 0x5b, 0xc0, 0x85, 0xe4, 0x6f, 0x7f, 0xc5, 0x71, - 0x88, 0xaf, 0x32, 0xc8, 0x60, 0xd4, 0xe2, 0x8b, 0xc8, 0x3e, 0xb5, 0x62, 0xe3, 0xef, 0x94, 0xe6, 0x0a, 0x56, 0xb5, - 0x2f, 0x41, 0x64, 0x71, 0x68, 0xba, 0x4f, 0x73, 0xb0, 0x46, 0xad, 0x3f, 0x52, 0xe4, 0x6c, 0x8a, 0xd6, 0x1f, 0x4a, - 0x68, 0x24, 0x2b, 0xde, 0xea, 0x8b, 0x4b, 0xea, 0x2c, 0xaa, 0xa7, 0xa7, 0xc4, 0xa2, 0x62, 0x37, 0x6f, 0x6f, 0x71, - 0x4d, 0xd6, 0x2d, 0xb8, 0x1c, 0x59, 0x19, 0xbe, 0x5d, 0xe9, 0x6c, 0xca, 0xf3, 0x7b, 0x7a, 0x36, 0xb6, 0x60, 0x1f, - 0x7c, 0x6b, 0x53, 0x49, 0x73, 0x61, 0xc5, 0xaf, 0xf2, 0x70, 0x85, 0xdf, 0x90, 0xa0, 0x50, 0x85, 0x3f, 0xbd, 0x48, - 0x8e, 0x8b, 0xef, 0x88, 0x3d, 0x68, 0x5b, 0x83, 0x86, 0xb3, 0x08, 0x33, 0x21, 0x21, 0xe1, 0x00, 0x64, 0xf2, 0x61, - 0xdc, 0x2a, 0xa9, 0x25, 0xb6, 0xa4, 0x97, 0x23, 0x31, 0xe0, 0xf2, 0x5b, 0xb7, 0xc9, 0x4a, 0x57, 0x4f, 0xc1, 0x24, - 0x6e, 0x60, 0x05, 0x53, 0x8f, 0xe3, 0x1b, 0xa5, 0xb3, 0xd2, 0x12, 0x89, 0x04, 0x63, 0x21, 0x44, 0x7d, 0x3f, 0xf5, - 0x26, 0x33, 0x64, 0x45, 0x23, 0x8d, 0x48, 0xd3, 0x4d, 0x30, 0x03, 0x31, 0x81, 0xc2, 0x3c, 0xe6, 0xd6, 0x08, 0x11, - 0x66, 0x98, 0x6e, 0x22, 0x5d, 0xeb, 0x06, 0xcb, 0xf1, 0xfe, 0xa9, 0x1e, 0x8d, 0x79, 0xec, 0x06, 0xb5, 0xb6, 0x91, - 0x86, 0x31, 0x9e, 0xae, 0x10, 0x42, 0xb7, 0x10, 0xc5, 0xc3, 0x9a, 0xb5, 0x9a, 0xc6, 0x7e, 0x74, 0x6d, 0xf7, 0x20, - 0x00, 0xce, 0x63, 0x98, 0x5e, 0x06, 0x51, 0xd2, 0x2b, 0x13, 0x32, 0x1e, 0x91, 0x66, 0xe4, 0xc9, 0x15, 0xad, 0x22, - 0xad, 0xc1, 0xc2, 0xaa, 0x12, 0xc9, 0x9f, 0xa0, 0x52, 0x08, 0x49, 0xfa, 0x9e, 0xe6, 0xc3, 0xa3, 0xa5, 0x32, 0x56, - 0xbc, 0xa7, 0xef, 0xf3, 0xdb, 0xd5, 0x7c, 0x8d, 0x48, 0x98, 0x27, 0x40, 0x7c, 0x5d, 0xc0, 0x71, 0x5e, 0x95, 0x7c, - 0x0a, 0x12, 0x03, 0x03, 0xa1, 0x10, 0x6a, 0xbf, 0xc7, 0x99, 0xbb, 0x2a, 0x2b, 0x85, 0x20, 0x79, 0xb8, 0x15, 0xc5, - 0xcd, 0x48, 0xa5, 0xb1, 0x22, 0x48, 0xc6, 0x77, 0xf3, 0xa5, 0xaf, 0x25, 0x7b, 0xeb, 0x41, 0x26, 0x13, 0xc4, 0x59, - 0xfc, 0x7f, 0x96, 0x37, 0xcd, 0x7e, 0xbf, 0xf8, 0x52, 0x13, 0x23, 0x45, 0xb2, 0x97, 0x6a, 0xf2, 0xf4, 0x2f, 0x53, - 0x96, 0x01, 0x87, 0x44, 0x4b, 0x5f, 0xa1, 0x09, 0x0e, 0xb4, 0x21, 0xb3, 0x59, 0x80, 0x50, 0x48, 0x69, 0x31, 0xda, - 0x5d, 0xa4, 0x3a, 0xcb, 0xea, 0x98, 0x9d, 0x35, 0x33, 0x2c, 0x2a, 0xfd, 0x10, 0xb3, 0xa7, 0x61, 0xa6, 0x37, 0x59, - 0xf1, 0x8f, 0xd9, 0x4d, 0xca, 0xaf, 0xd9, 0x4d, 0x51, 0x06, 0x45, 0x1e, 0x1c, 0xe4, 0x90, 0x0b, 0xee, 0x26, 0x36, - 0x12, 0x75, 0x0f, 0x96, 0x0d, 0x93, 0x8b, 0x13, 0xbb, 0x24, 0x90, 0xb4, 0xc1, 0xe3, 0xbd, 0xde, 0x47, 0xf8, 0x90, - 0x0a, 0xf3, 0x7c, 0xfc, 0x21, 0x93, 0x93, 0xc9, 0x85, 0xcb, 0xea, 0x07, 0x66, 0x77, 0x41, 0xa2, 0x07, 0xe6, 0xc7, - 0xee, 0xd8, 0x49, 0x94, 0x82, 0x4c, 0xe6, 0x7a, 0x8b, 0xb4, 0xc7, 0xf4, 0xb1, 0x59, 0x75, 0xbf, 0x8c, 0xea, 0xfe, - 0xa0, 0xe8, 0x15, 0x8e, 0xb0, 0xf7, 0xa3, 0x72, 0x12, 0x68, 0xea, 0x29, 0x77, 0x6d, 0xe0, 0xde, 0xab, 0x58, 0x98, - 0xbc, 0x99, 0xe5, 0x1b, 0xcf, 0xb6, 0x2f, 0x52, 0xe7, 0xd9, 0x3a, 0x6a, 0x76, 0x1f, 0x97, 0x95, 0x64, 0x89, 0x73, - 0x81, 0x32, 0x46, 0xa0, 0x9a, 0x86, 0xe7, 0xae, 0x0b, 0x9b, 0x49, 0x69, 0x38, 0x8d, 0x9e, 0x50, 0x35, 0x48, 0x9d, - 0x53, 0x8a, 0x46, 0xb3, 0xf8, 0x2e, 0xe5, 0x9c, 0xe7, 0x4c, 0x38, 0x00, 0xa5, 0x94, 0x4b, 0x25, 0xcb, 0xf6, 0xf1, - 0x98, 0x0a, 0x7e, 0x67, 0xa2, 0xf0, 0x47, 0x17, 0x78, 0xe4, 0xba, 0xee, 0x6e, 0x08, 0x63, 0xe5, 0x0a, 0x3a, 0x83, - 0xf3, 0x3a, 0xf6, 0x8b, 0xce, 0x30, 0x19, 0x9e, 0xc1, 0xa8, 0x9e, 0xe5, 0x0c, 0xef, 0x57, 0x71, 0x5b, 0x56, 0x9e, - 0xbf, 0x73, 0x5d, 0x6b, 0xf3, 0x03, 0xce, 0x50, 0x53, 0x0f, 0x73, 0xa5, 0xc6, 0xf9, 0x9a, 0x01, 0x77, 0xaf, 0xe5, - 0x39, 0x58, 0x51, 0x61, 0xc1, 0x16, 0xcc, 0xb0, 0x01, 0xaa, 0x8b, 0xfc, 0x28, 0xa9, 0x60, 0x85, 0x0b, 0xaf, 0x57, - 0xfb, 0xeb, 0xaa, 0x0f, 0xa8, 0xa1, 0xcc, 0x3d, 0xae, 0xf0, 0x90, 0xfa, 0x0a, 0xbb, 0x12, 0x23, 0xbb, 0x05, 0xd7, - 0x78, 0xdc, 0xf6, 0xe6, 0xb5, 0x78, 0x2c, 0x9a, 0x9d, 0xf6, 0x23, 0xc6, 0x26, 0x16, 0xcf, 0xc2, 0x42, 0x27, 0xc9, - 0x99, 0xef, 0xbc, 0x57, 0x8a, 0xf2, 0xfc, 0x81, 0xb1, 0x9f, 0x25, 0x91, 0x20, 0x94, 0xd4, 0xf6, 0x4f, 0x08, 0xad, - 0x61, 0xaa, 0xa5, 0x34, 0x17, 0xd1, 0xe7, 0x1a, 0x0c, 0x98, 0x12, 0x66, 0x39, 0x8d, 0xca, 0x6b, 0x5b, 0xb6, 0x63, - 0xde, 0xf9, 0x53, 0xa9, 0x05, 0x91, 0xcc, 0x8f, 0xd1, 0x88, 0x60, 0x43, 0x4c, 0x90, 0x79, 0x33, 0x9f, 0x96, 0xd3, - 0x92, 0xcf, 0xbb, 0xf9, 0xc3, 0xe2, 0x81, 0xca, 0x6d, 0xf5, 0xb9, 0xa6, 0x33, 0x94, 0x87, 0xba, 0x7a, 0x53, 0x5d, - 0xa3, 0xbb, 0x39, 0xf4, 0x5d, 0x59, 0xe9, 0xbd, 0xf9, 0xef, 0x77, 0x67, 0xc9, 0x7b, 0xc0, 0xf4, 0xa2, 0x6a, 0xb4, - 0x9f, 0x00, 0x9e, 0xe5, 0xd2, 0xc1, 0xff, 0x54, 0xa4, 0x26, 0x57, 0xd1, 0x04, 0xf4, 0xdd, 0xcc, 0x0d, 0x48, 0x5b, - 0xd9, 0x74, 0x06, 0x8d, 0xa1, 0xe6, 0xa8, 0x5e, 0x19, 0xf1, 0xe7, 0xf2, 0xaf, 0x57, 0x18, 0x18, 0xd6, 0x32, 0x33, - 0x16, 0x21, 0x83, 0x59, 0x9a, 0xd8, 0xe4, 0x9d, 0xe6, 0xf4, 0xe7, 0x76, 0xed, 0xe6, 0xab, 0xdd, 0x7b, 0x0b, 0xb2, - 0xc0, 0x09, 0x86, 0x93, 0x4f, 0x1c, 0x2a, 0x8a, 0xcb, 0xb7, 0x75, 0x3d, 0xfd, 0xd7, 0xed, 0xdb, 0xd0, 0xfb, 0xe6, - 0xac, 0x98, 0xd4, 0xb4, 0xec, 0x1e, 0x4d, 0x0b, 0x30, 0x7f, 0x2a, 0x6e, 0xbf, 0xec, 0xf9, 0x36, 0x8e, 0x16, 0x47, - 0x07, 0xe3, 0x67, 0xf7, 0xd7, 0x3b, 0x06, 0xc0, 0xe3, 0xcf, 0x29, 0xa9, 0xa6, 0x39, 0x5d, 0xfc, 0x70, 0xca, 0xa1, - 0xc6, 0x39, 0x39, 0x4f, 0x81, 0x3c, 0x6c, 0xb7, 0xcd, 0xc3, 0x71, 0x53, 0x45, 0x4c, 0x67, 0x8e, 0xa0, 0x37, 0xe9, - 0x2b, 0x8a, 0x30, 0x53, 0xe1, 0xc2, 0xf4, 0x53, 0x96, 0xb2, 0xd4, 0xe8, 0x74, 0x91, 0x55, 0x39, 0x60, 0xe9, 0xdb, - 0x89, 0x6f, 0x3c, 0x22, 0x4d, 0xb1, 0xc1, 0xd8, 0x3a, 0xe4, 0x04, 0xb1, 0x0c, 0x1f, 0x8e, 0xe5, 0xed, 0x25, 0x5e, - 0xe2, 0x39, 0x56, 0xd7, 0xc9, 0x37, 0x6f, 0x82, 0x13, 0x63, 0x7b, 0x1e, 0x6e, 0xb0, 0xd1, 0x46, 0x3e, 0xe4, 0x46, - 0x33, 0x14, 0xb8, 0xaa, 0xc4, 0xac, 0x02, 0x7d, 0x41, 0x97, 0x83, 0xe7, 0xe6, 0x5d, 0x5b, 0x05, 0x6d, 0x02, 0x37, - 0x39, 0x83, 0xa3, 0x76, 0xa7, 0x36, 0x98, 0x7e, 0x3c, 0x17, 0xa4, 0xa7, 0xbe, 0x73, 0x1f, 0x52, 0xbe, 0xb1, 0x40, - 0x35, 0x62, 0x44, 0x0d, 0x1c, 0xe0, 0x65, 0x9f, 0x87, 0xe6, 0x0d, 0x95, 0xbd, 0x57, 0x0b, 0x08, 0xa3, 0x29, 0xe4, - 0xae, 0x00, 0xec, 0x84, 0x21, 0x42, 0x83, 0xa3, 0x13, 0x00, 0x2b, 0xdc, 0xc5, 0xa7, 0xe8, 0x7f, 0x63, 0xbf, 0xbe, - 0x57, 0x71, 0xae, 0xdf, 0x22, 0x4a, 0xd3, 0x14, 0xf9, 0xa3, 0x66, 0x0d, 0x41, 0xa8, 0xb7, 0xe1, 0x66, 0xe9, 0xcf, - 0x7e, 0x80, 0x73, 0x03, 0x6b, 0x2c, 0x89, 0xe1, 0x03, 0x13, 0x4e, 0xd1, 0x86, 0x2b, 0xea, 0xdb, 0x69, 0xb1, 0x70, - 0xee, 0xdf, 0xa8, 0xa8, 0xf7, 0xea, 0xfb, 0xa9, 0xac, 0x7c, 0x22, 0x23, 0x40, 0x9a, 0x9b, 0xa1, 0x23, 0x73, 0x5f, - 0x37, 0x6b, 0xb7, 0x9e, 0xf0, 0x64, 0xb2, 0xf6, 0x20, 0xfd, 0x1e, 0x2f, 0xe5, 0xbf, 0xdf, 0x19, 0xcf, 0xa3, 0x7e, - 0xa3, 0x81, 0x15, 0x45, 0xab, 0x76, 0x34, 0xb1, 0xbe, 0x05, 0x0c, 0x41, 0x20, 0x95, 0x52, 0x3c, 0x21, 0xbf, 0x04, - 0xa3, 0xd2, 0xad, 0xc8, 0xac, 0xcd, 0x09, 0xc3, 0xc2, 0xd3, 0x2d, 0xd0, 0x2b, 0x6e, 0x28, 0xdc, 0x6b, 0x3d, 0xa2, - 0xee, 0x53, 0xe9, 0xbe, 0xce, 0xf8, 0x83, 0xd5, 0x17, 0xa9, 0xde, 0xbe, 0xe7, 0xb7, 0xe5, 0xda, 0xdd, 0xe9, 0x7f, - 0x7d, 0xc8, 0xe7, 0xf6, 0xb4, 0xef, 0xf6, 0x3e, 0x6e, 0xd7, 0x48, 0x3f, 0x5e, 0xb6, 0xf5, 0x29, 0xd6, 0xb5, 0x5b, - 0x54, 0xd9, 0x34, 0x69, 0xb5, 0x89, 0xa7, 0x6c, 0xfc, 0x1b, 0xa2, 0x62, 0x73, 0x88, 0x23, 0xf3, 0xc8, 0xa4, 0x72, - 0xce, 0xcf, 0x7f, 0x59, 0xd8, 0xc3, 0xa9, 0x07, 0x5b, 0x39, 0x97, 0xc6, 0x5a, 0xb1, 0x51, 0x21, 0x52, 0x70, 0xc9, - 0xd6, 0xb8, 0xbb, 0xb0, 0xa4, 0xb1, 0x06, 0x6c, 0xc0, 0x50, 0xb6, 0x83, 0x42, 0x6a, 0xc9, 0xde, 0xd9, 0xf1, 0x7a, - 0x3b, 0x46, 0x7f, 0xb0, 0x95, 0x51, 0xbd, 0xed, 0xc8, 0x52, 0xcb, 0x9a, 0xd7, 0x82, 0x96, 0x39, 0xcf, 0x05, 0x9e, - 0x85, 0x32, 0xfd, 0x42, 0x58, 0x17, 0x52, 0x46, 0xeb, 0x80, 0x14, 0xcc, 0x1a, 0x77, 0x5e, 0x94, 0xa5, 0xfd, 0x55, - 0xbd, 0xb8, 0xd3, 0x55, 0x05, 0xba, 0xad, 0x18, 0x95, 0x78, 0xcb, 0x4f, 0x59, 0x95, 0xd0, 0x26, 0x45, 0x2d, 0xdf, - 0x55, 0xe9, 0xf1, 0xda, 0x59, 0x60, 0xb1, 0x8c, 0x14, 0xb3, 0xf1, 0xc0, 0xe8, 0x67, 0x22, 0xfd, 0x40, 0x7f, 0xaa, - 0x4c, 0x41, 0xb0, 0x71, 0xea, 0x92, 0x7f, 0x8f, 0x04, 0x8a, 0x10, 0x4d, 0xce, 0x05, 0x5a, 0xfa, 0x97, 0x26, 0x1e, - 0x15, 0xe5, 0xe4, 0x0a, 0x46, 0x2b, 0xc3, 0xa3, 0xfc, 0x69, 0xae, 0x2b, 0xf4, 0x3c, 0x51, 0xfb, 0x25, 0xbb, 0xfd, - 0x62, 0xe3, 0x68, 0x5b, 0xcc, 0x6b, 0x1c, 0xd9, 0x3b, 0xf6, 0x58, 0x29, 0x45, 0x6e, 0x9f, 0x7a, 0x60, 0xad, 0x4b, - 0x39, 0xee, 0xea, 0xe1, 0x25, 0xdc, 0x9b, 0xbe, 0x91, 0x83, 0xb2, 0xb8, 0x98, 0xb7, 0xfa, 0x91, 0xfe, 0x10, 0xaf, - 0x28, 0x62, 0xd7, 0x12, 0xf6, 0xe9, 0x25, 0xcd, 0xd7, 0xb4, 0xc8, 0x90, 0xe8, 0xf8, 0x4d, 0x1b, 0xe5, 0x8d, 0x61, - 0xd5, 0x39, 0xb8, 0xdf, 0x29, 0x79, 0x82, 0x9a, 0xc3, 0xcc, 0xb0, 0xb1, 0xba, 0x9a, 0xb7, 0x71, 0x72, 0x4f, 0xab, - 0x0a, 0xf7, 0x5c, 0x40, 0x7b, 0x9b, 0xe5, 0x5b, 0x50, 0x1f, 0x73, 0xd4, 0xba, 0xfd, 0xb4, 0x49, 0xca, 0x99, 0x17, - 0xde, 0xd7, 0xa1, 0xa1, 0xfb, 0x2a, 0x9d, 0xdb, 0x18, 0x19, 0xa7, 0x83, 0xaa, 0x4b, 0x06, 0xe3, 0xfe, 0xd1, 0xba, - 0x61, 0xf1, 0x54, 0x6d, 0xad, 0x95, 0xb3, 0xba, 0x95, 0xfe, 0x79, 0x52, 0xc3, 0xda, 0xe5, 0xbc, 0x1e, 0x06, 0x17, - 0xa7, 0x6a, 0xfe, 0xa9, 0x09, 0x96, 0x19, 0x9c, 0xc3, 0xa6, 0x0c, 0xb9, 0x10, 0xc7, 0x87, 0x79, 0x4f, 0xbd, 0xd4, - 0xda, 0x38, 0x47, 0xc2, 0x22, 0xea, 0xb7, 0x82, 0xa7, 0xb9, 0x7c, 0x63, 0xae, 0x7b, 0xd0, 0xd8, 0x26, 0xc3, 0xbf, - 0x2f, 0xe8, 0x5f, 0x7e, 0x19, 0xbe, 0x42, 0x42, 0x94, 0xb4, 0x97, 0x1c, 0xcd, 0x73, 0xed, 0x51, 0xd8, 0x73, 0x60, - 0x21, 0x5e, 0x71, 0x6f, 0x20, 0x7f, 0xa4, 0x5f, 0xfa, 0xe4, 0x14, 0x87, 0x28, 0xa2, 0x81, 0x70, 0xfe, 0x6d, 0x50, - 0x97, 0xd8, 0xf3, 0x89, 0x74, 0x36, 0x68, 0x1c, 0xd8, 0x0d, 0x10, 0x7a, 0x89, 0x4d, 0xd8, 0x4f, 0x54, 0x1b, 0x0c, - 0xe6, 0xd4, 0x34, 0x3d, 0x36, 0x76, 0x6b, 0x08, 0x14, 0xdf, 0x8d, 0xd1, 0xe6, 0x4e, 0x81, 0xd6, 0xcb, 0xa7, 0x9c, - 0x55, 0x59, 0x75, 0x01, 0x2e, 0x0b, 0xaa, 0xe5, 0x90, 0xab, 0x9f, 0xe8, 0x4e, 0x05, 0xa4, 0x4d, 0xec, 0x7f, 0xc6, - 0xf9, 0xc0, 0xde, 0x1b, 0x3f, 0x38, 0xa2, 0xf5, 0xd9, 0x86, 0x2e, 0x84, 0x59, 0xab, 0x43, 0x4a, 0x59, 0x24, 0x72, - 0xdb, 0x6a, 0x7d, 0x1e, 0x2b, 0xa6, 0xf0, 0xe0, 0xdf, 0x9f, 0x44, 0x1a, 0xd6, 0xaa, 0xe8, 0x22, 0x1a, 0xce, 0xb6, - 0x28, 0xcc, 0xeb, 0xf5, 0x20, 0x7f, 0x35, 0xe5, 0x64, 0x03, 0x77, 0x93, 0x51, 0x3a, 0x7b, 0x91, 0x4a, 0x1c, 0x37, - 0x5d, 0x6e, 0x3b, 0xee, 0x48, 0xb7, 0xd8, 0xed, 0x21, 0xa9, 0x5c, 0x16, 0x6a, 0x6f, 0xda, 0xa0, 0x07, 0x8c, 0xa5, - 0xb7, 0x40, 0x8a, 0x6d, 0x19, 0x20, 0x7b, 0xf8, 0x85, 0xa2, 0x84, 0xa8, 0x8b, 0xb9, 0xc0, 0x78, 0x03, 0x01, 0x51, - 0xf6, 0x3c, 0x0b, 0xb6, 0xb5, 0x3c, 0x9a, 0x23, 0x53, 0x9a, 0xa6, 0xaa, 0x3d, 0x87, 0x5c, 0xd2, 0xc5, 0x94, 0x1b, - 0xed, 0x65, 0xfd, 0x70, 0x19, 0x41, 0xd0, 0xfd, 0x96, 0x67, 0xd5, 0xe8, 0x25, 0x10, 0x96, 0x2b, 0x28, 0x4f, 0xa6, - 0xfb, 0x45, 0x53, 0x9c, 0x79, 0x1a, 0xa4, 0x9a, 0x1b, 0x9e, 0x36, 0x13, 0x16, 0x4e, 0x7c, 0x9b, 0x24, 0xfd, 0x51, - 0x2d, 0xaf, 0xb5, 0xf0, 0x81, 0x7a, 0x70, 0xdb, 0xf0, 0x72, 0x34, 0xef, 0x57, 0x5b, 0x9a, 0x53, 0x7e, 0x99, 0x34, - 0xab, 0x9b, 0x72, 0xcc, 0x6d, 0xcc, 0x7a, 0x89, 0x34, 0xda, 0x94, 0xb7, 0xb1, 0x51, 0x32, 0xab, 0xa4, 0x25, 0x72, - 0xfa, 0x1b, 0x4b, 0xa4, 0x86, 0xc9, 0xa5, 0xc8, 0xc5, 0x5f, 0xc9, 0x42, 0xda, 0x7a, 0x6b, 0x74, 0x27, 0x06, 0x4a, - 0xd7, 0x79, 0x8f, 0x5b, 0xc2, 0xb3, 0x5f, 0x02, 0x40, 0xb3, 0x2a, 0x6f, 0x90, 0x72, 0xb1, 0x0a, 0x67, 0x7e, 0xb6, - 0x45, 0x6f, 0x7b, 0x0e, 0xab, 0x55, 0x42, 0xbf, 0x6f, 0x75, 0x05, 0xdc, 0xc0, 0x3e, 0x0f, 0xeb, 0x83, 0x5d, 0x18, - 0xd5, 0x6b, 0x25, 0x84, 0xd5, 0x04, 0x85, 0xb0, 0x72, 0x25, 0xd9, 0x83, 0x28, 0x42, 0x0f, 0xdc, 0x1d, 0x52, 0x9b, - 0x89, 0x78, 0xbe, 0x86, 0xf0, 0xcf, 0x31, 0x7b, 0xa8, 0xe8, 0x92, 0x01, 0x0a, 0xea, 0x47, 0x40, 0x29, 0x64, 0x04, - 0x10, 0x90, 0x90, 0x17, 0x21, 0x98, 0x7a, 0x42, 0xe9, 0x26, 0x38, 0xd2, 0xff, 0xd1, 0x0b, 0x95, 0x95, 0x30, 0x23, - 0x3e, 0xa3, 0x60, 0x14, 0x06, 0x1c, 0xdf, 0x9d, 0x50, 0x78, 0xd4, 0x3c, 0x55, 0x43, 0x7e, 0x7d, 0x78, 0x4f, 0x2f, - 0xb6, 0xd1, 0xbe, 0x50, 0x1f, 0x40, 0x97, 0xba, 0xca, 0x0b, 0x3a, 0x0d, 0x52, 0x45, 0x03, 0x14, 0x21, 0xbc, 0x74, - 0x43, 0x31, 0xc0, 0x0c, 0x8d, 0xcd, 0xc9, 0xc8, 0x8a, 0x2e, 0x6e, 0xba, 0x19, 0x88, 0xbc, 0x70, 0x8e, 0x8d, 0xea, - 0x78, 0xfa, 0x4f, 0xd5, 0xdc, 0x4c, 0x83, 0xb4, 0xc6, 0xd9, 0xd4, 0xa9, 0xcd, 0x10, 0x33, 0x11, 0x71, 0x51, 0xad, - 0x4b, 0xee, 0x25, 0x34, 0x87, 0x5d, 0x78, 0xef, 0x13, 0x6f, 0x29, 0xa5, 0x70, 0x66, 0x75, 0xb6, 0xdb, 0x02, 0x2d, - 0xe9, 0x3c, 0x7b, 0xea, 0x1d, 0x2e, 0x32, 0x15, 0x11, 0xfe, 0x6c, 0x63, 0x32, 0x51, 0x8a, 0xf4, 0x0c, 0xb5, 0x5c, - 0x70, 0x94, 0xec, 0x2a, 0x64, 0xfa, 0x2f, 0x9c, 0xb2, 0x03, 0xd0, 0xb6, 0x9b, 0xf0, 0x6e, 0x72, 0xc7, 0x37, 0xde, - 0xdf, 0xab, 0xbd, 0x2b, 0x36, 0xb5, 0x6b, 0x1c, 0x62, 0x7a, 0xf7, 0x14, 0x7b, 0x40, 0xa0, 0xa2, 0xc5, 0x12, 0x1a, - 0x7b, 0x6e, 0x5e, 0x1e, 0x8f, 0x93, 0x15, 0x25, 0x67, 0x9f, 0xeb, 0x8b, 0x85, 0x6d, 0x3a, 0xf1, 0xd2, 0xed, 0x95, - 0xc3, 0x02, 0x3d, 0x8c, 0x40, 0x38, 0x85, 0x19, 0x4d, 0x80, 0x4e, 0x8f, 0x3b, 0x23, 0x41, 0x39, 0xf5, 0x15, 0x03, - 0x26, 0x90, 0xc7, 0x6a, 0xdc, 0x14, 0x2e, 0x21, 0x67, 0x7b, 0xac, 0x88, 0x91, 0x06, 0x63, 0xfb, 0x3a, 0x28, 0x1c, - 0xa0, 0x13, 0x67, 0x7b, 0xa0, 0xae, 0x13, 0xef, 0x15, 0x79, 0x4d, 0xac, 0x35, 0xde, 0xb7, 0xa6, 0x38, 0x9d, 0x94, - 0xaf, 0x25, 0x9a, 0x23, 0x9a, 0xd3, 0x16, 0xf9, 0x03, 0x58, 0x79, 0xac, 0xbf, 0xb2, 0xba, 0x2f, 0x67, 0xac, 0xbf, - 0x30, 0xb2, 0xe4, 0x36, 0x42, 0x37, 0x1c, 0xac, 0x55, 0x10, 0xed, 0xc1, 0xd6, 0x62, 0xed, 0x08, 0xcb, 0x66, 0x6f, - 0x6b, 0x01, 0xee, 0xb4, 0xe7, 0x22, 0x0a, 0x17, 0x2b, 0xf0, 0x9e, 0xae, 0x21, 0xaf, 0xc4, 0x19, 0xfd, 0x23, 0x9c, - 0x98, 0x83, 0x04, 0xb1, 0x81, 0x1e, 0x95, 0xf5, 0x1f, 0x86, 0xc8, 0xe8, 0x74, 0x33, 0x1a, 0xbb, 0x7c, 0x69, 0xb4, - 0x6a, 0x05, 0x30, 0xa8, 0x6f, 0xf3, 0x78, 0x58, 0xc6, 0x8b, 0x39, 0x0e, 0x6d, 0x6b, 0xdf, 0x78, 0x94, 0x59, 0x78, - 0xff, 0x09, 0x4c, 0x6b, 0xb8, 0x2d, 0xf2, 0x7f, 0x2f, 0xcb, 0x4b, 0x79, 0xb6, 0x2b, 0xe7, 0xe9, 0xbd, 0xdf, 0xab, - 0x3c, 0xbb, 0x3b, 0xbd, 0xb7, 0xd8, 0xe4, 0x81, 0x71, 0x31, 0x47, 0xc0, 0x69, 0xeb, 0xc3, 0xbb, 0xef, 0x5e, 0x1f, - 0xbc, 0xa7, 0x2f, 0x7a, 0xcb, 0x6f, 0x64, 0xd3, 0x87, 0xe1, 0x14, 0x4f, 0xf1, 0xf3, 0x25, 0xef, 0x5a, 0xff, 0x35, - 0xdb, 0x6c, 0xce, 0x6b, 0xef, 0x94, 0xeb, 0x16, 0x57, 0x0d, 0xed, 0xcf, 0xdb, 0x6a, 0x0a, 0x9c, 0x6c, 0x02, 0x45, - 0x7c, 0xdd, 0x15, 0xa7, 0xac, 0x34, 0x80, 0x40, 0xb8, 0x3e, 0xfd, 0x9b, 0x6f, 0x8c, 0x52, 0xd9, 0xe0, 0xed, 0xa7, - 0xe5, 0x27, 0xa3, 0xc3, 0x23, 0x82, 0x0b, 0xd9, 0x7a, 0xa4, 0x7f, 0xe7, 0xe9, 0xce, 0xd7, 0xf3, 0x3c, 0xaa, 0x41, - 0x05, 0x64, 0xa9, 0xc6, 0x99, 0x0d, 0xe2, 0x98, 0xbb, 0xcd, 0x55, 0x4b, 0xc2, 0x37, 0x0b, 0x16, 0xdd, 0x75, 0xc0, - 0x91, 0x17, 0xcc, 0x31, 0x44, 0x70, 0xf8, 0xde, 0x32, 0xca, 0x77, 0xdc, 0x89, 0x1d, 0x0f, 0xc2, 0x22, 0x2c, 0xcf, - 0x5a, 0xd1, 0xb0, 0xfa, 0x81, 0x37, 0x7b, 0xf9, 0xff, 0xda, 0x50, 0xad, 0x17, 0x51, 0x95, 0x6c, 0x2d, 0x04, 0x58, - 0x17, 0xdb, 0x3c, 0x7e, 0x8a, 0x37, 0x76, 0xad, 0x91, 0xc4, 0xc3, 0x73, 0xf7, 0xd3, 0x3d, 0x41, 0x39, 0xce, 0xcf, - 0x3b, 0xbc, 0x46, 0x74, 0x06, 0xf1, 0x11, 0x78, 0x2f, 0xd7, 0x36, 0x28, 0xf8, 0xff, 0xfc, 0x57, 0x97, 0xb1, 0x5a, - 0xd6, 0x03, 0x56, 0x37, 0xfc, 0xb4, 0x0d, 0xde, 0xba, 0xbf, 0x9d, 0x6f, 0xe8, 0xd3, 0xb8, 0xde, 0x63, 0xad, 0xde, - 0x59, 0x97, 0xd6, 0x8c, 0x4e, 0xc2, 0x32, 0x8b, 0xb9, 0x12, 0xb2, 0x9e, 0x6b, 0xf3, 0x48, 0x86, 0x0f, 0x6b, 0xdb, - 0x96, 0x92, 0x83, 0x36, 0x0e, 0x4d, 0xb9, 0xa4, 0x42, 0xda, 0x54, 0x46, 0xff, 0x66, 0xaa, 0x28, 0x99, 0xf5, 0x74, - 0xf6, 0x2c, 0xba, 0x61, 0xa1, 0x4f, 0x81, 0x0c, 0x3c, 0xaf, 0x83, 0xaa, 0x25, 0x69, 0x2a, 0x44, 0x46, 0xa8, 0xa6, - 0x01, 0x6a, 0x9f, 0x54, 0x35, 0x14, 0x9e, 0xeb, 0x39, 0x1d, 0xfc, 0xc2, 0x47, 0x22, 0x48, 0x46, 0x12, 0x47, 0x0d, - 0x32, 0x65, 0x6f, 0xd7, 0xba, 0x57, 0xd7, 0xe9, 0xa9, 0xd3, 0x9c, 0x6d, 0x3e, 0xf2, 0xbf, 0x72, 0x73, 0x52, 0x2c, - 0xb6, 0x11, 0x88, 0x0b, 0x79, 0x8b, 0x29, 0xdb, 0x63, 0xc3, 0x30, 0xa8, 0xe3, 0xd7, 0x9b, 0x36, 0x6e, 0xa3, 0x04, - 0x11, 0xad, 0xe3, 0x93, 0x66, 0x8d, 0x8b, 0xaf, 0x5b, 0xe6, 0x9b, 0xcb, 0xaf, 0xd7, 0x38, 0xaa, 0xf5, 0xd9, 0x4e, - 0x95, 0x9b, 0x6b, 0x71, 0x54, 0x9b, 0xc6, 0x24, 0x3d, 0x21, 0x5b, 0x5e, 0xa0, 0x4d, 0xb9, 0xc9, 0x78, 0x83, 0xd2, - 0x40, 0xea, 0x05, 0xf3, 0x70, 0xb4, 0x33, 0x4f, 0xc7, 0xb7, 0x13, 0x2b, 0x67, 0x13, 0x5d, 0xda, 0x4d, 0xad, 0x85, - 0xf0, 0x78, 0x31, 0xe6, 0x35, 0x87, 0x7c, 0x56, 0x71, 0xe6, 0x7a, 0x1e, 0x4a, 0x8a, 0x30, 0xe1, 0xda, 0x2c, 0xd1, - 0x9b, 0x9b, 0x10, 0x16, 0x4b, 0x4e, 0x17, 0x08, 0x1d, 0x24, 0xcd, 0x77, 0xb4, 0xcf, 0x57, 0x7a, 0x78, 0x7e, 0x7f, - 0x4a, 0xb4, 0xdd, 0x3c, 0xe9, 0xec, 0xf3, 0xbb, 0x67, 0x1a, 0x75, 0xab, 0x54, 0xdb, 0x2a, 0x8a, 0x59, 0x23, 0x01, - 0x57, 0xeb, 0x08, 0xf4, 0xaa, 0x96, 0x3d, 0xd4, 0xd2, 0x47, 0xdd, 0xd5, 0x51, 0xab, 0xe7, 0xa2, 0xd6, 0x3e, 0x95, - 0x2e, 0xcf, 0x37, 0x8d, 0xc2, 0x90, 0x8b, 0xa2, 0x18, 0xa5, 0xa7, 0xdd, 0xb5, 0xf9, 0x32, 0x37, 0xa0, 0x99, 0x7b, - 0x07, 0xb5, 0x3c, 0x0f, 0xa8, 0xe7, 0xc6, 0xff, 0xa9, 0xd8, 0xf2, 0x18, 0x11, 0xaa, 0x3c, 0x9b, 0xa7, 0x15, 0x88, - 0xea, 0xda, 0x92, 0x6f, 0x8c, 0x64, 0xff, 0xf0, 0x8f, 0x7a, 0x3f, 0x4e, 0x4e, 0xe5, 0xef, 0xc0, 0x1d, 0x7d, 0x10, - 0xf7, 0x90, 0xc2, 0x55, 0xbc, 0xe6, 0x2e, 0xb7, 0xc8, 0x34, 0xf8, 0xff, 0xf8, 0xa5, 0x1b, 0x60, 0xe7, 0x78, 0x39, - 0x89, 0xe8, 0x5d, 0x09, 0x4a, 0xda, 0x94, 0xe1, 0x9a, 0x13, 0x0c, 0xf0, 0x7b, 0xdd, 0x31, 0xe5, 0xbc, 0xb1, 0x1c, - 0xc5, 0x52, 0x03, 0x3e, 0x54, 0xf9, 0x84, 0xf6, 0x8f, 0xed, 0x25, 0xbb, 0xba, 0x3c, 0xb6, 0x8d, 0xb3, 0xd4, 0xa6, - 0x65, 0xfb, 0x48, 0x34, 0x82, 0xea, 0x25, 0x81, 0x25, 0xb5, 0xcb, 0xaf, 0x6c, 0xab, 0x50, 0x36, 0x9b, 0xe0, 0xb2, - 0xf6, 0xe6, 0xae, 0x2c, 0x46, 0x9a, 0x65, 0xec, 0x3b, 0xcc, 0x76, 0x63, 0xed, 0xf4, 0x08, 0x09, 0xd5, 0xd3, 0x8a, - 0x65, 0xe9, 0x0b, 0xb1, 0xa7, 0x9f, 0x8f, 0xfa, 0xa9, 0x3d, 0x05, 0x00, 0x30, 0x5a, 0xef, 0x51, 0xc9, 0x0e, 0xae, - 0xdb, 0x20, 0xc0, 0x07, 0x7a, 0x7d, 0x03, 0xa0, 0x39, 0x9e, 0xdd, 0x16, 0x2c, 0xc5, 0x4f, 0xe2, 0x23, 0xf3, 0xb0, - 0xb3, 0x0c, 0x26, 0x70, 0x6b, 0xd6, 0x01, 0xa7, 0x6b, 0x37, 0x36, 0x6d, 0x9c, 0xac, 0xb3, 0xe9, 0xeb, 0x72, 0x0a, - 0x88, 0xe7, 0x6e, 0xdc, 0x1e, 0xa6, 0x8d, 0xab, 0x3b, 0x86, 0xf4, 0x29, 0x5a, 0xd6, 0x1d, 0x3f, 0x23, 0x0a, 0xab, - 0x22, 0xcb, 0x72, 0x86, 0xbd, 0x62, 0x9a, 0xa8, 0x79, 0xcb, 0xad, 0x82, 0x9c, 0x15, 0x60, 0xed, 0xf5, 0x7a, 0x40, - 0x38, 0xb5, 0x1e, 0x7c, 0xfb, 0x3f, 0x75, 0xd4, 0x77, 0xeb, 0xb8, 0x0b, 0xe7, 0x46, 0x0b, 0xcf, 0x53, 0x88, 0xb2, - 0x3c, 0x20, 0xb3, 0xe5, 0xaf, 0xff, 0xf2, 0x94, 0x7c, 0xd2, 0xee, 0xf6, 0x6f, 0xe8, 0xd6, 0x4f, 0x00, 0xc7, 0x36, - 0x3b, 0x40, 0x37, 0x48, 0x75, 0x83, 0x08, 0xda, 0xef, 0x19, 0xe8, 0x66, 0xa0, 0x8c, 0x8a, 0x89, 0xcf, 0x1b, 0xdd, - 0x55, 0x00, 0xfa, 0xfe, 0x9c, 0x6d, 0x71, 0xee, 0xb3, 0x20, 0x6f, 0xc1, 0xaa, 0xd9, 0x1f, 0x05, 0x86, 0x6b, 0xfb, - 0x81, 0x33, 0x08, 0xea, 0x5a, 0x07, 0x4a, 0xbb, 0xdc, 0x3e, 0x5a, 0x01, 0x88, 0x58, 0x58, 0x13, 0x36, 0x51, 0xfd, - 0x97, 0x48, 0x97, 0x34, 0x24, 0x61, 0xa6, 0xfa, 0x89, 0xd8, 0xb3, 0x96, 0x18, 0x56, 0x7a, 0x80, 0x4d, 0x9c, 0x07, - 0x74, 0x83, 0x28, 0x5e, 0x87, 0x06, 0xff, 0x4e, 0x58, 0x90, 0xf7, 0x94, 0xfa, 0xcc, 0x50, 0xd5, 0xa5, 0xb0, 0xe6, - 0x51, 0xaa, 0xc1, 0xf0, 0x1c, 0xda, 0x00, 0x6b, 0x29, 0x6a, 0x6e, 0xbb, 0x24, 0x95, 0x20, 0xf1, 0xc6, 0xd4, 0x77, - 0x33, 0xe0, 0xdd, 0xac, 0x0c, 0xa0, 0x40, 0x52, 0x5f, 0x50, 0xf4, 0xe6, 0xd1, 0x77, 0x6b, 0xc2, 0xb3, 0xd3, 0xdd, - 0x88, 0x49, 0xb2, 0xae, 0xb6, 0x10, 0x11, 0x8b, 0x68, 0xdb, 0x56, 0x85, 0xa1, 0x03, 0x99, 0xe8, 0x51, 0x95, 0xa4, - 0x04, 0xff, 0xcd, 0xd8, 0x2e, 0x46, 0xd4, 0x30, 0xa0, 0xa0, 0x60, 0x6f, 0x8f, 0xdb, 0x85, 0x2f, 0x6f, 0x69, 0xcc, - 0x2d, 0x05, 0x5e, 0x85, 0xc6, 0xc3, 0x3a, 0x90, 0x2b, 0xa2, 0x41, 0xe7, 0x5c, 0x3b, 0xe3, 0xe4, 0xb8, 0x99, 0xf9, - 0x12, 0xcf, 0x9f, 0x5b, 0xfb, 0x7d, 0xa5, 0x14, 0xf9, 0x37, 0x28, 0x24, 0x9c, 0x5a, 0x55, 0xa3, 0xaa, 0x0f, 0x60, - 0x4d, 0xd7, 0x04, 0x77, 0xc6, 0xb3, 0x4f, 0x08, 0x24, 0x3f, 0xe5, 0x52, 0x67, 0x93, 0x36, 0x02, 0xa3, 0x2f, 0xc1, - 0xe4, 0x85, 0xe9, 0x6a, 0x01, 0x71, 0x78, 0xa0, 0x3f, 0x26, 0x8a, 0xe4, 0xa9, 0x22, 0x0a, 0x6a, 0x78, 0xaa, 0x32, - 0x5f, 0x2f, 0xf5, 0x3a, 0xb9, 0xd1, 0xd9, 0x13, 0x8f, 0x69, 0x9b, 0x9a, 0x21, 0x9b, 0xc9, 0x8b, 0xfb, 0xe1, 0xba, - 0x7b, 0x75, 0x1f, 0x14, 0x12, 0x27, 0x37, 0x0d, 0x90, 0xb7, 0xea, 0x44, 0x9e, 0x16, 0x24, 0x80, 0xe5, 0xd2, 0x34, - 0x6b, 0xbf, 0x3c, 0x9a, 0x20, 0x84, 0xcf, 0x86, 0xbd, 0x71, 0x5c, 0x34, 0x4d, 0x27, 0x06, 0x0e, 0x97, 0x37, 0x39, - 0x9e, 0x19, 0x99, 0xad, 0x3b, 0xdf, 0x34, 0x26, 0x1a, 0xba, 0x6a, 0x57, 0x86, 0xc9, 0x1b, 0xa7, 0x5b, 0xee, 0xd4, - 0xee, 0x42, 0x19, 0x5c, 0xa4, 0xcb, 0xa6, 0x6c, 0x04, 0x20, 0xba, 0x76, 0x68, 0x94, 0x27, 0x47, 0x61, 0x42, 0x73, - 0x5b, 0x83, 0x17, 0x40, 0xdb, 0x3f, 0xea, 0x46, 0xa9, 0x17, 0x22, 0x2b, 0x3c, 0xfe, 0x68, 0x23, 0xd7, 0xcb, 0xad, - 0x53, 0xe5, 0xe5, 0x3a, 0x6a, 0xe7, 0xe5, 0xd6, 0xad, 0x66, 0xa5, 0xa9, 0x4d, 0xd8, 0x08, 0x6c, 0x2f, 0xbd, 0xe4, - 0x19, 0x7a, 0xfa, 0x19, 0x7a, 0xc6, 0x36, 0x2f, 0x44, 0x4c, 0xd9, 0xfa, 0x95, 0x57, 0xa4, 0x75, 0x60, 0xff, 0xb3, - 0x7f, 0xdf, 0x40, 0x64, 0x2a, 0x56, 0xbb, 0x4a, 0xc4, 0x14, 0xc8, 0x5a, 0xa1, 0x7e, 0x64, 0x1f, 0xb4, 0xff, 0xda, - 0xfb, 0xed, 0x7d, 0x6e, 0x2a, 0x9a, 0x0c, 0xf8, 0xfd, 0x09, 0x33, 0xcd, 0x31, 0xc4, 0x12, 0x33, 0xba, 0x1f, 0x5d, - 0x47, 0x0e, 0xa6, 0xdf, 0x95, 0x12, 0xff, 0xc9, 0x5d, 0x6d, 0xb7, 0x9c, 0x89, 0x38, 0x22, 0xee, 0x76, 0x40, 0x37, - 0x41, 0x7c, 0x7d, 0xfc, 0xb2, 0x06, 0x97, 0xb9, 0xda, 0x17, 0x59, 0xc8, 0xf0, 0xfa, 0x83, 0x87, 0xec, 0x33, 0xef, - 0xb2, 0x53, 0x73, 0x86, 0x6b, 0x0b, 0xd7, 0x83, 0xe2, 0xcd, 0xcc, 0xaf, 0x03, 0x2f, 0x2a, 0xee, 0x54, 0x67, 0x2f, - 0xaa, 0xf1, 0x10, 0x1a, 0xcf, 0x02, 0xf7, 0x68, 0x9d, 0xd2, 0xbf, 0x66, 0x21, 0x3e, 0x9b, 0xbc, 0xb1, 0x99, 0xc7, - 0xdc, 0xcd, 0x1c, 0x82, 0x94, 0x9f, 0xe4, 0x52, 0x85, 0x91, 0x85, 0x74, 0xd3, 0x92, 0x55, 0xc2, 0x5b, 0xbc, 0x33, - 0x8f, 0xbb, 0x3f, 0x97, 0x78, 0x07, 0xf5, 0x8a, 0xf0, 0x22, 0xb3, 0x27, 0xd7, 0x31, 0x0c, 0xcc, 0x12, 0x2e, 0x64, - 0x0e, 0x8d, 0xd4, 0xdb, 0x5b, 0x3c, 0x71, 0x41, 0xf5, 0x63, 0x78, 0xe7, 0x5d, 0x76, 0x59, 0xc9, 0xed, 0xe1, 0x63, - 0x3d, 0x39, 0x4b, 0xdc, 0x0b, 0x66, 0xce, 0xad, 0xc7, 0x7d, 0x75, 0x26, 0x69, 0x76, 0xe4, 0x22, 0x41, 0x63, 0x01, - 0x2b, 0x31, 0x94, 0x9e, 0xde, 0x71, 0x3c, 0xbb, 0x23, 0xc0, 0x0f, 0x8e, 0xf5, 0x6d, 0x4d, 0xd9, 0x78, 0x72, 0x76, - 0xbd, 0x0d, 0xdc, 0x97, 0x5d, 0xf7, 0x2e, 0x46, 0xa9, 0xba, 0xa1, 0x89, 0x6b, 0x33, 0x10, 0xd8, 0xdd, 0x54, 0x3c, - 0x85, 0xa3, 0xe9, 0xc6, 0xf7, 0x4d, 0x5d, 0x9b, 0x8e, 0x02, 0xd2, 0x2e, 0x01, 0xad, 0x6d, 0xbf, 0xb8, 0xa1, 0x7b, - 0x04, 0xc3, 0x26, 0xc4, 0xc8, 0xe6, 0x6a, 0x3f, 0xac, 0xc7, 0x76, 0xdc, 0xd0, 0x51, 0x67, 0x19, 0x3e, 0x73, 0xd9, - 0x01, 0x7d, 0x26, 0x2f, 0xf4, 0x5d, 0x6c, 0x88, 0x4e, 0xb0, 0xee, 0xd8, 0xe0, 0x93, 0x80, 0x38, 0xbf, 0xf1, 0x0e, - 0x17, 0x70, 0xb9, 0xc0, 0x12, 0xc0, 0xfa, 0xec, 0xc4, 0xe0, 0x99, 0xbe, 0x8b, 0x5d, 0xc7, 0xb9, 0x27, 0xdc, 0x55, - 0x28, 0x05, 0x2e, 0xcd, 0x4f, 0x21, 0x4f, 0x5e, 0xe8, 0x5e, 0x3f, 0x9f, 0x25, 0xa6, 0xee, 0x62, 0x6b, 0x7d, 0xd8, - 0x94, 0x0a, 0x98, 0xfb, 0x94, 0x4e, 0xad, 0x83, 0xe2, 0xed, 0x13, 0x5a, 0x20, 0x0c, 0x63, 0x7b, 0xff, 0xaa, 0x89, - 0x61, 0x3c, 0x8d, 0x67, 0x0e, 0x82, 0x81, 0x11, 0x61, 0x80, 0x2f, 0xf1, 0x5e, 0x4e, 0x48, 0x9e, 0xa0, 0x99, 0x7d, - 0x36, 0x52, 0xec, 0x5d, 0x9e, 0xf4, 0xf5, 0xee, 0x4c, 0x66, 0x8f, 0x0f, 0xef, 0x02, 0x5a, 0xef, 0xc6, 0x4b, 0x0d, - 0x8f, 0x65, 0xed, 0x72, 0x25, 0x96, 0x42, 0xbc, 0x76, 0xd1, 0xfa, 0x6f, 0xda, 0xe4, 0xb0, 0x45, 0x33, 0x18, 0xf9, - 0x4e, 0x5f, 0x9a, 0x63, 0x79, 0x47, 0x5e, 0xd8, 0x48, 0x35, 0x80, 0xe2, 0xca, 0x20, 0xc3, 0x90, 0xb5, 0x77, 0x58, - 0x44, 0x41, 0x61, 0xe8, 0x8a, 0x47, 0x7d, 0x4a, 0x44, 0x9d, 0x04, 0xd9, 0xc0, 0x5b, 0x60, 0x26, 0xae, 0x0c, 0x4e, - 0x01, 0xb5, 0xe2, 0x48, 0x78, 0xe6, 0x42, 0x5e, 0x1a, 0x76, 0x26, 0xee, 0x2a, 0xb0, 0x3c, 0xe5, 0x83, 0x5d, 0x5c, - 0x60, 0xe2, 0xbf, 0xee, 0xf5, 0x89, 0x81, 0x23, 0xdd, 0x8d, 0xb0, 0x05, 0x30, 0x0d, 0x76, 0xe5, 0x95, 0xbc, 0xe4, - 0xa9, 0xd7, 0x10, 0x9c, 0x5c, 0x6d, 0x5e, 0x9f, 0xcc, 0xfa, 0x12, 0x84, 0x52, 0xaa, 0x11, 0x76, 0x0b, 0xec, 0xda, - 0x72, 0xb6, 0xae, 0x4e, 0x26, 0x6a, 0xdb, 0xc8, 0xb8, 0x61, 0x3f, 0x63, 0xed, 0x22, 0x76, 0x7d, 0xbc, 0xd8, 0x85, - 0x6c, 0x2a, 0x76, 0x2e, 0x4c, 0x8a, 0x9c, 0x41, 0x07, 0x0e, 0xb5, 0xc3, 0x19, 0x31, 0xd3, 0xed, 0x74, 0xc9, 0x76, - 0xfa, 0xe0, 0x9d, 0x76, 0x4e, 0x05, 0x74, 0x06, 0xe3, 0xec, 0xd4, 0x4e, 0x1a, 0xa1, 0x0b, 0x8c, 0xef, 0x4a, 0xe8, - 0x17, 0xb3, 0x54, 0xc3, 0x6b, 0xd6, 0x80, 0xb4, 0x92, 0x0a, 0xe6, 0xd9, 0x8a, 0x2d, 0x29, 0xdc, 0xe6, 0xc5, 0xd6, - 0xe2, 0x7f, 0xe9, 0x47, 0xba, 0x2e, 0x0f, 0x88, 0x20, 0x1b, 0x88, 0xd2, 0x49, 0xf0, 0x9f, 0xc5, 0x0c, 0x7f, 0x6e, - 0x60, 0xf4, 0x32, 0xb3, 0x78, 0x9a, 0xe5, 0xa8, 0x19, 0xdf, 0x19, 0xfe, 0x54, 0x46, 0xf2, 0x93, 0x2c, 0x27, 0xf0, - 0xbe, 0x0e, 0x01, 0x8e, 0x4c, 0xed, 0xe7, 0x2c, 0x67, 0xbc, 0x82, 0x96, 0x8d, 0xa2, 0x43, 0x14, 0xf5, 0xba, 0x7e, - 0xee, 0xc3, 0xe2, 0x9c, 0x50, 0x82, 0x91, 0x4d, 0x2f, 0xa1, 0x10, 0xa2, 0xf7, 0xcd, 0xb1, 0x18, 0x99, 0xbf, 0x28, - 0xe1, 0x04, 0x0b, 0x39, 0xd0, 0xbd, 0x2a, 0x20, 0x1d, 0x9f, 0x08, 0x0d, 0x13, 0x73, 0xb6, 0x91, 0xa9, 0xce, 0x26, - 0x16, 0xd2, 0x59, 0x71, 0xcd, 0xb1, 0x94, 0x56, 0x73, 0xe5, 0x75, 0x19, 0x75, 0x27, 0xe5, 0x97, 0xd0, 0xf4, 0x7a, - 0xcb, 0x59, 0x8c, 0x2a, 0xfc, 0xa7, 0xc3, 0x84, 0x6f, 0xd0, 0x2e, 0x2c, 0x67, 0x1d, 0x22, 0x54, 0xc1, 0x03, 0x5d, - 0x93, 0xbe, 0x8e, 0x56, 0xc3, 0x08, 0xcd, 0xdd, 0x0a, 0x0a, 0x84, 0xb4, 0x3f, 0xb0, 0xa8, 0x6d, 0xac, 0x9a, 0xb3, - 0x77, 0x47, 0x3b, 0x58, 0x35, 0x98, 0x9f, 0x1c, 0x05, 0xac, 0xba, 0x91, 0x70, 0xb1, 0xfc, 0x95, 0xc3, 0x43, 0x56, - 0x70, 0xf3, 0x01, 0xdc, 0x7e, 0x00, 0xe3, 0x98, 0xf1, 0x91, 0x3d, 0x69, 0x01, 0xc3, 0x99, 0xeb, 0x01, 0xef, 0x8d, - 0x53, 0x6f, 0xa4, 0xd1, 0x81, 0xa3, 0xab, 0xe5, 0x25, 0x7e, 0x28, 0x22, 0xc3, 0xaf, 0x49, 0x54, 0xd7, 0x34, 0x83, - 0x3c, 0x95, 0xd2, 0xe4, 0xd8, 0x1d, 0x50, 0x00, 0x7b, 0x1f, 0xe8, 0x98, 0xb6, 0x31, 0x93, 0xeb, 0x29, 0xba, 0x24, - 0xcd, 0xeb, 0x79, 0x68, 0x3f, 0x62, 0x9d, 0x11, 0x50, 0x8e, 0xed, 0x01, 0xf3, 0x5d, 0x03, 0x54, 0x2d, 0xcc, 0xf9, - 0x6f, 0x6a, 0x6b, 0x73, 0xe8, 0x58, 0x3d, 0x20, 0x2c, 0xf9, 0xf5, 0x51, 0x0b, 0xf2, 0xfb, 0x58, 0xe1, 0xb0, 0x45, - 0xfb, 0x62, 0x47, 0xaa, 0x0e, 0x6a, 0x85, 0xc1, 0x45, 0xa5, 0xca, 0xd4, 0x11, 0xc3, 0x0b, 0xb2, 0x49, 0x28, 0x14, - 0x1a, 0xc7, 0x13, 0x1b, 0xd0, 0xec, 0x8f, 0x58, 0x4a, 0xbb, 0x4b, 0x7e, 0xcd, 0x04, 0x91, 0xe6, 0xa5, 0xbf, 0xdb, - 0xe1, 0xa2, 0x0e, 0x17, 0xaf, 0x79, 0xa3, 0xe7, 0xb4, 0x09, 0xcd, 0x16, 0x63, 0xbc, 0x52, 0x6d, 0x82, 0xec, 0x4e, - 0xf3, 0xe8, 0x68, 0xc7, 0x16, 0x85, 0x24, 0x64, 0x7f, 0x79, 0x6d, 0x26, 0x47, 0x15, 0xfd, 0xbb, 0xc8, 0x59, 0x96, - 0x12, 0xe2, 0x1d, 0xf8, 0x45, 0x4f, 0xb9, 0x92, 0x46, 0xa7, 0xba, 0x23, 0xba, 0xa0, 0xa8, 0x7f, 0x76, 0x34, 0x0c, - 0xb3, 0x3c, 0x19, 0x54, 0xc1, 0x01, 0x8c, 0xd9, 0xe8, 0xa3, 0xeb, 0x85, 0x4b, 0x31, 0x98, 0xf2, 0xb0, 0x6a, 0xb3, - 0xb6, 0x61, 0xea, 0xc6, 0xb8, 0x30, 0x5c, 0x33, 0xb6, 0x31, 0x01, 0x18, 0xdb, 0x34, 0xdb, 0x4c, 0x9b, 0xfe, 0xfe, - 0xa9, 0xb0, 0x7a, 0x48, 0x24, 0x22, 0x90, 0x0f, 0xa2, 0x0f, 0x06, 0xa4, 0x7f, 0x5d, 0xa4, 0x60, 0x74, 0xa9, 0x15, - 0x3f, 0x89, 0x15, 0x1d, 0xf0, 0x9b, 0x8d, 0x77, 0x68, 0x18, 0x73, 0xde, 0x29, 0xc6, 0x5c, 0x9e, 0x82, 0x1d, 0x76, - 0x0e, 0xc2, 0x93, 0x2a, 0x46, 0xdb, 0x93, 0x58, 0x41, 0xd3, 0xf3, 0x05, 0xac, 0x6f, 0x12, 0x56, 0x63, 0x98, 0x56, - 0x33, 0x37, 0xc5, 0x5d, 0x2e, 0x3c, 0x66, 0x4d, 0xd6, 0x82, 0xf8, 0x20, 0x10, 0x59, 0x26, 0x41, 0x04, 0x3d, 0x16, - 0xde, 0x93, 0x99, 0x57, 0xc8, 0xd2, 0x0d, 0xba, 0x8c, 0x8c, 0xfb, 0xc0, 0x86, 0xfa, 0x41, 0xfd, 0xa0, 0x85, 0x74, - 0xa1, 0xf9, 0x6b, 0x54, 0xd5, 0x32, 0xcf, 0x71, 0xa3, 0x1c, 0x5a, 0x72, 0x6e, 0x8e, 0x40, 0x0b, 0x81, 0x50, 0x7b, - 0x35, 0x37, 0xc0, 0x58, 0x7e, 0x08, 0x87, 0x9c, 0x03, 0x40, 0x67, 0x31, 0xe1, 0xf1, 0x6d, 0x1b, 0x20, 0xb5, 0x71, - 0xf4, 0xa4, 0x6e, 0xed, 0xa6, 0xc9, 0x10, 0x41, 0x24, 0xbe, 0x1d, 0x03, 0xeb, 0xe7, 0xf9, 0x77, 0x11, 0x9d, 0x60, - 0xe8, 0xc7, 0xe2, 0x2e, 0x7f, 0x34, 0xf4, 0x54, 0x7f, 0x3e, 0x55, 0x4f, 0x62, 0xc4, 0x52, 0xc4, 0x8f, 0x79, 0x6d, - 0x2e, 0xa0, 0x14, 0xa5, 0xd9, 0x04, 0x46, 0x39, 0xd2, 0xe3, 0x4a, 0x92, 0x47, 0xa2, 0x81, 0x18, 0x44, 0xa3, 0xe2, - 0x9b, 0x2b, 0x5d, 0x3b, 0x87, 0xab, 0x78, 0xe5, 0xb1, 0xae, 0x97, 0xc7, 0xeb, 0x99, 0x9d, 0x7a, 0x2f, 0x07, 0xeb, - 0xd4, 0x3b, 0x2f, 0x44, 0x4b, 0x57, 0xc4, 0xe8, 0xf4, 0x13, 0x51, 0xab, 0x76, 0xbd, 0x6b, 0x04, 0x22, 0x09, 0x97, - 0xff, 0x19, 0x02, 0xb5, 0xf0, 0xe1, 0xd2, 0xb3, 0xc3, 0x62, 0x6e, 0x74, 0xf9, 0xa6, 0x19, 0x94, 0x02, 0x1e, 0xd4, - 0xea, 0xb8, 0x86, 0xe8, 0xdc, 0x56, 0xf2, 0x82, 0xd4, 0x7f, 0x12, 0xab, 0xa0, 0xe0, 0xbd, 0x95, 0xee, 0x79, 0x91, - 0x6a, 0xb8, 0xa9, 0x72, 0x07, 0xe8, 0xb5, 0xa8, 0x62, 0x4d, 0x83, 0x17, 0x76, 0xa6, 0x24, 0xf2, 0x81, 0x97, 0x10, - 0xa1, 0xfb, 0x4e, 0xcc, 0x1a, 0xa6, 0xad, 0x66, 0x67, 0xec, 0x46, 0x0f, 0xa1, 0x47, 0x31, 0x59, 0x5e, 0x2d, 0x21, - 0xe0, 0xb3, 0xdf, 0x46, 0xb3, 0xf7, 0x36, 0x25, 0x19, 0x17, 0xfe, 0x6d, 0x02, 0x4b, 0x6e, 0x71, 0x87, 0x41, 0x0c, - 0xd6, 0x1f, 0x09, 0x1e, 0x98, 0x83, 0xed, 0xa1, 0xb0, 0xac, 0x9e, 0xcd, 0x33, 0x0f, 0xb4, 0x8f, 0x51, 0x94, 0xd1, - 0x04, 0xf0, 0xc9, 0x7a, 0x47, 0x02, 0x80, 0x6c, 0x5d, 0xa1, 0x46, 0x9f, 0x74, 0x65, 0xdd, 0x55, 0x77, 0xc3, 0x52, - 0x19, 0xba, 0x1b, 0x59, 0x4b, 0x01, 0x1d, 0x8a, 0x53, 0x96, 0x59, 0xf4, 0xc6, 0x07, 0x55, 0x14, 0xf9, 0x3e, 0xb1, - 0x2d, 0x61, 0xea, 0xdb, 0x9b, 0x44, 0x17, 0x85, 0x44, 0x01, 0x61, 0x92, 0x9c, 0x78, 0x5f, 0x20, 0x71, 0xb6, 0x5e, - 0x22, 0x6a, 0xc2, 0xe5, 0x67, 0xf7, 0xca, 0x04, 0x1e, 0xb4, 0xf5, 0xac, 0xec, 0x02, 0x97, 0xd7, 0x17, 0x43, 0x10, - 0x05, 0x72, 0x0a, 0x62, 0x72, 0x09, 0x8a, 0x0f, 0xe6, 0x7a, 0x02, 0x4e, 0x91, 0xef, 0xa5, 0xe6, 0x7d, 0xe3, 0x00, - 0x1c, 0x85, 0x10, 0x8b, 0x91, 0x08, 0x08, 0xc9, 0x26, 0xc0, 0xa5, 0x15, 0x68, 0xf7, 0x17, 0x7b, 0xed, 0x0b, 0xf7, - 0x8f, 0xd8, 0xad, 0x30, 0x17, 0xb2, 0x30, 0x5a, 0x11, 0xdd, 0x4b, 0x02, 0x67, 0x87, 0x3a, 0xbf, 0x65, 0x96, 0xc6, - 0xb7, 0xee, 0xe7, 0xa0, 0x94, 0x80, 0xb0, 0xff, 0xc9, 0x38, 0x10, 0x00, 0x73, 0x69, 0x25, 0x6d, 0x89, 0x78, 0xf6, - 0x42, 0x9a, 0x0d, 0xfd, 0xc6, 0x86, 0x37, 0x0f, 0x15, 0x60, 0x49, 0xad, 0x5e, 0x30, 0x97, 0x55, 0xce, 0x68, 0x0d, - 0x4a, 0x78, 0xdb, 0x42, 0x57, 0xcf, 0x56, 0xbf, 0x17, 0xd5, 0x8f, 0xfb, 0xe1, 0x5b, 0xd5, 0x6d, 0x4f, 0xaa, 0x33, - 0xc9, 0x60, 0xf2, 0x54, 0xad, 0xa7, 0x59, 0x70, 0xf7, 0x7e, 0xa7, 0x00, 0x64, 0xa1, 0xf1, 0x76, 0xd6, 0xd9, 0xdc, - 0x1e, 0xfa, 0xc0, 0xfe, 0x80, 0x0b, 0x8a, 0x3f, 0x24, 0x1d, 0xdf, 0x27, 0x11, 0x11, 0x59, 0xdb, 0xb1, 0xcb, 0x5b, - 0xdb, 0x36, 0xad, 0x99, 0x97, 0x3e, 0x56, 0xdf, 0xfc, 0xf6, 0x96, 0xbc, 0x17, 0x25, 0x27, 0xe9, 0x0b, 0x56, 0xb7, - 0x68, 0x7b, 0xc8, 0xd3, 0x81, 0x09, 0x74, 0xeb, 0xbc, 0xf1, 0x4e, 0x31, 0xd2, 0xd4, 0x11, 0x47, 0x99, 0x8d, 0x0c, - 0x9e, 0xe9, 0x59, 0x1f, 0x1d, 0x28, 0x9e, 0x61, 0xba, 0x26, 0x62, 0x9f, 0xb8, 0xec, 0x0a, 0x3c, 0x21, 0x3a, 0x3e, - 0x82, 0x69, 0x43, 0xde, 0xaf, 0xc2, 0xfb, 0xe2, 0x58, 0xfc, 0x60, 0x31, 0x89, 0x7c, 0x90, 0x03, 0xbc, 0x0f, 0x6c, - 0x59, 0x61, 0x64, 0xe0, 0x73, 0xb6, 0x3b, 0x8e, 0x17, 0x80, 0x11, 0x0f, 0xb9, 0x47, 0x77, 0x7c, 0x0f, 0x02, 0xc7, - 0x33, 0xd5, 0x62, 0xe7, 0xb0, 0x04, 0x01, 0x90, 0x19, 0x2c, 0x8e, 0x8b, 0xd1, 0x28, 0x4a, 0x09, 0x78, 0x26, 0xa7, - 0x6e, 0xd5, 0x10, 0xcb, 0xec, 0x9b, 0x80, 0x72, 0xe9, 0x5a, 0x48, 0xc1, 0xad, 0xfa, 0xc6, 0x98, 0x90, 0x6e, 0x1b, - 0x0d, 0xb6, 0xf0, 0xaf, 0x05, 0xb1, 0xa4, 0x41, 0x5d, 0x93, 0xf7, 0x61, 0xb6, 0x50, 0xda, 0x9b, 0xae, 0xe3, 0xd4, - 0x25, 0x92, 0xb8, 0xb6, 0xc4, 0x48, 0x20, 0x98, 0x59, 0x87, 0x22, 0x8b, 0x21, 0xf6, 0xb1, 0xda, 0x02, 0x80, 0x27, - 0x10, 0x1d, 0x39, 0x66, 0xef, 0x11, 0xc5, 0xfd, 0x0b, 0xf8, 0x65, 0xf9, 0x03, 0x19, 0x7f, 0x7b, 0x3e, 0xce, 0x8e, - 0x28, 0xfa, 0x77, 0x12, 0x4f, 0x55, 0x2c, 0x81, 0x34, 0xb6, 0x03, 0x2c, 0x5d, 0x81, 0x5c, 0x06, 0x8e, 0x11, 0xeb, - 0x67, 0xd6, 0x27, 0xe0, 0xc7, 0x01, 0x16, 0x1d, 0xbf, 0x0e, 0x95, 0x5d, 0x4a, 0xe5, 0x6f, 0x95, 0x5b, 0x99, 0x31, - 0x38, 0x17, 0xba, 0x3b, 0x49, 0x53, 0xaf, 0xee, 0x6d, 0x43, 0x7d, 0x93, 0xa4, 0x7d, 0x6b, 0x09, 0x03, 0xee, 0xeb, - 0x24, 0x8d, 0xa1, 0xd0, 0x27, 0xcb, 0xe3, 0x26, 0xa9, 0x89, 0xa1, 0x37, 0x45, 0xbc, 0x9b, 0x6a, 0x8f, 0xd4, 0xee, - 0x4b, 0xd3, 0x2e, 0x02, 0xb3, 0xa4, 0xb1, 0x68, 0x32, 0xfc, 0x08, 0x58, 0x1c, 0x8a, 0x14, 0x23, 0x72, 0x19, 0x80, - 0xb0, 0x61, 0x07, 0x77, 0x52, 0x3d, 0xa6, 0xd9, 0x13, 0xf0, 0xd2, 0xa6, 0x78, 0xef, 0xaa, 0xc5, 0x84, 0x32, 0x61, - 0xf2, 0xe0, 0xad, 0xdd, 0x5c, 0x30, 0x53, 0x2a, 0x49, 0x20, 0x9b, 0xb2, 0x90, 0x2b, 0xf8, 0xd9, 0x8b, 0xbf, 0x7f, - 0x50, 0x54, 0x3a, 0x02, 0xee, 0x78, 0xd9, 0xfd, 0xb9, 0x11, 0xff, 0x64, 0x88, 0x47, 0x46, 0x66, 0xf8, 0x2f, 0x49, - 0xd6, 0xf8, 0x04, 0x32, 0x09, 0x2f, 0x69, 0x0f, 0xd2, 0x25, 0x3c, 0x52, 0xeb, 0x60, 0x96, 0x47, 0x1b, 0x9a, 0xc8, - 0xdf, 0x84, 0xc2, 0xaa, 0xab, 0x0c, 0x2c, 0xce, 0x32, 0xe4, 0xe7, 0x52, 0x73, 0x0c, 0xc0, 0x6f, 0x02, 0xf0, 0x86, - 0x86, 0x49, 0xc8, 0x08, 0xa0, 0xfa, 0x70, 0x34, 0xe9, 0x3a, 0x55, 0x5d, 0x90, 0x1d, 0x65, 0xd0, 0x2e, 0x0c, 0x89, - 0x80, 0x9e, 0xef, 0x6d, 0xf1, 0xa0, 0x79, 0x7a, 0x93, 0x1f, 0x10, 0xf8, 0xd8, 0x4f, 0xa3, 0x55, 0x75, 0xa0, 0xd6, - 0xe8, 0x19, 0x41, 0x4f, 0x33, 0xe0, 0x36, 0x2e, 0x87, 0xb0, 0x8d, 0x63, 0x58, 0x98, 0xf1, 0x62, 0x18, 0x2f, 0x86, - 0x5c, 0x79, 0x7b, 0x0a, 0xb1, 0x80, 0xdd, 0x80, 0xd4, 0x2c, 0x27, 0x64, 0x27, 0x52, 0xf6, 0x20, 0x50, 0x10, 0xa1, - 0xfc, 0xe6, 0x65, 0xfc, 0x1b, 0x21, 0x28, 0x08, 0xb0, 0x82, 0x68, 0xd5, 0x81, 0x64, 0x6b, 0x13, 0x39, 0xad, 0x25, - 0x55, 0x71, 0x7e, 0x29, 0xc3, 0xe4, 0x77, 0xfd, 0xf9, 0x75, 0x1b, 0x6d, 0x18, 0xc3, 0x53, 0x73, 0xcd, 0x46, 0x93, - 0xe1, 0x53, 0x66, 0x7f, 0x21, 0xc4, 0xc1, 0x21, 0xbf, 0x15, 0xc3, 0x7a, 0x28, 0x6d, 0x18, 0x3c, 0xea, 0x5c, 0x5a, - 0x45, 0xa5, 0xbd, 0x61, 0x27, 0x1a, 0xc6, 0xde, 0xf2, 0xe7, 0x3b, 0x81, 0x8f, 0x81, 0x2b, 0x0c, 0x10, 0xf4, 0x7f, - 0xfb, 0x5b, 0xef, 0x00, 0xff, 0x31, 0xa2, 0xc8, 0x81, 0xdb, 0x0a, 0x83, 0x8c, 0x6d, 0xb3, 0xed, 0x36, 0xfa, 0x98, - 0x6b, 0x3d, 0xf1, 0x42, 0x27, 0x0b, 0xe3, 0xdd, 0x1f, 0x41, 0x19, 0xe6, 0x45, 0x12, 0xe7, 0x45, 0x54, 0xe9, 0xc3, - 0xa2, 0xaa, 0x22, 0xdd, 0x3f, 0x00, 0x30, 0x0a, 0xe7, 0xd3, 0xef, 0xdf, 0x10, 0xaf, 0xec, 0xc6, 0xf7, 0x6a, 0x24, - 0x9f, 0x13, 0xe2, 0xf5, 0xdc, 0x77, 0xb8, 0x03, 0xb3, 0x5f, 0x21, 0x98, 0xb9, 0x9c, 0x4c, 0x06, 0xd7, 0xf4, 0x1b, - 0x05, 0x72, 0xfc, 0xd8, 0x0d, 0x1d, 0xd8, 0x4c, 0xa7, 0xf6, 0x96, 0xef, 0x07, 0xf8, 0xcc, 0x19, 0xcd, 0xea, 0xcd, - 0x8f, 0xbe, 0x6c, 0x50, 0x16, 0xe1, 0x8f, 0x63, 0x72, 0x20, 0x75, 0x95, 0x2e, 0x21, 0xe0, 0x59, 0x9f, 0x34, 0xd0, - 0x10, 0x4e, 0x6d, 0x44, 0x7e, 0x7f, 0x1b, 0x22, 0x7c, 0x67, 0x4f, 0x39, 0xea, 0x44, 0x8f, 0xa8, 0x27, 0x64, 0xb6, - 0xdd, 0xd6, 0x07, 0x64, 0x59, 0xb0, 0xf9, 0x06, 0xce, 0x53, 0xd3, 0x92, 0xc3, 0x4f, 0xfd, 0xb9, 0x09, 0x55, 0xa4, - 0xec, 0x77, 0xf0, 0x26, 0xc9, 0xc8, 0xa8, 0x50, 0xfe, 0x37, 0x59, 0x6f, 0x51, 0x32, 0xe2, 0x4b, 0x62, 0x2a, 0x98, - 0x3e, 0xf2, 0x98, 0xcd, 0x48, 0x4a, 0x5d, 0x6b, 0x25, 0x0f, 0xbe, 0x87, 0x42, 0xe3, 0xf4, 0x06, 0x21, 0xd8, 0x60, - 0x5a, 0x41, 0x3c, 0x5a, 0x31, 0xca, 0x1a, 0x4f, 0x26, 0xef, 0xb7, 0x52, 0x13, 0x7a, 0x7c, 0x5b, 0x25, 0x8b, 0x27, - 0x73, 0x47, 0xca, 0x47, 0x12, 0x47, 0xda, 0x28, 0x68, 0xf1, 0xa6, 0xe3, 0xfd, 0xac, 0x33, 0x22, 0x05, 0xbd, 0x9c, - 0x1b, 0x91, 0xf2, 0xcb, 0x1b, 0x66, 0xdf, 0x1e, 0x5c, 0x1e, 0x3c, 0x3e, 0x16, 0x45, 0x4e, 0x81, 0xbb, 0x75, 0x0d, - 0x2f, 0xfb, 0xa2, 0x2b, 0x61, 0x28, 0xa7, 0x94, 0x07, 0x85, 0xc2, 0xc8, 0x16, 0x48, 0x43, 0x7e, 0x12, 0xf9, 0xfb, - 0x61, 0x3e, 0x63, 0xf8, 0xba, 0xf4, 0x49, 0xca, 0x4a, 0x62, 0x7f, 0x22, 0xd2, 0x64, 0xe2, 0x8d, 0x79, 0xbf, 0xff, - 0x63, 0xf6, 0x62, 0x3f, 0x54, 0x19, 0x33, 0x77, 0x93, 0xc8, 0x42, 0x1d, 0x94, 0xf2, 0x15, 0x4e, 0x3b, 0xfc, 0xff, - 0x46, 0xa2, 0xed, 0x42, 0x0f, 0x6f, 0x0f, 0x3c, 0x14, 0xad, 0x49, 0x62, 0xdb, 0x7b, 0xba, 0x04, 0x2b, 0x54, 0xdb, - 0xf8, 0x72, 0x1a, 0x79, 0x56, 0xf4, 0x6a, 0x77, 0xc5, 0x70, 0xef, 0xa0, 0xbe, 0xc9, 0xaa, 0xfd, 0xd4, 0x64, 0x1a, - 0x58, 0x81, 0xc0, 0x77, 0x41, 0x6e, 0x1d, 0x27, 0xae, 0xd7, 0xda, 0xdf, 0xad, 0x36, 0x61, 0xb5, 0xa1, 0x6e, 0x41, - 0x64, 0x5e, 0x30, 0xb0, 0x2c, 0x9a, 0x27, 0x11, 0x14, 0xc3, 0x32, 0x18, 0x72, 0xa6, 0x64, 0x81, 0xf3, 0x56, 0x40, - 0x1e, 0xdd, 0x2b, 0x38, 0x21, 0x61, 0xb4, 0x8e, 0x35, 0x1b, 0xf9, 0x22, 0x14, 0xf9, 0xaa, 0x6d, 0x36, 0x2e, 0xc5, - 0x3d, 0x4d, 0x6a, 0x15, 0xd0, 0x5c, 0x56, 0x30, 0x85, 0xf6, 0x8d, 0x42, 0xe2, 0x4c, 0x23, 0x79, 0xfe, 0x92, 0xee, - 0xc7, 0xb1, 0x41, 0x17, 0xf9, 0x2b, 0x0d, 0xdb, 0xce, 0xb5, 0xbe, 0xfb, 0xa0, 0x00, 0x5f, 0xa8, 0x23, 0xf3, 0x29, - 0xed, 0x2f, 0xab, 0xd6, 0x0d, 0x5f, 0xa8, 0xe5, 0x17, 0x13, 0xfd, 0xa5, 0x92, 0x66, 0x7f, 0x5f, 0x5a, 0xa0, 0x94, - 0xa7, 0x59, 0xae, 0x9a, 0x5a, 0x3e, 0xf2, 0x3f, 0xcd, 0x93, 0x09, 0x99, 0xd0, 0x39, 0x2c, 0x1f, 0x15, 0x69, 0x76, - 0x9f, 0x3f, 0x70, 0xff, 0x86, 0x57, 0xca, 0xde, 0x13, 0xe7, 0x31, 0xbd, 0xa7, 0xc4, 0xe6, 0xcc, 0x03, 0x0c, 0xb2, - 0x22, 0x4e, 0x6d, 0xab, 0xd9, 0x3b, 0x92, 0x39, 0x56, 0xdd, 0x65, 0x72, 0xc2, 0x64, 0xe8, 0xae, 0xe2, 0x83, 0x46, - 0xd8, 0xcd, 0xf7, 0x89, 0x0f, 0x2c, 0x82, 0x66, 0x94, 0xee, 0x6a, 0xb7, 0x7f, 0x2c, 0x57, 0xb1, 0x48, 0xa4, 0xc8, - 0x56, 0xd4, 0x6a, 0x9f, 0xe8, 0x21, 0x7f, 0x2b, 0xf9, 0xf9, 0x3f, 0x95, 0x88, 0x1b, 0x87, 0xd3, 0x7f, 0x4e, 0x54, - 0x10, 0x06, 0xb5, 0x43, 0x46, 0xb2, 0x84, 0x0a, 0x14, 0xc6, 0xce, 0x04, 0xdb, 0x5f, 0xb0, 0x1e, 0x60, 0x91, 0x48, - 0x22, 0x69, 0x28, 0x8f, 0x2c, 0x11, 0xa8, 0x12, 0xdf, 0x53, 0x97, 0xcd, 0x0f, 0x51, 0xb4, 0x71, 0x7d, 0x1e, 0x10, - 0x2a, 0xd3, 0x96, 0x2b, 0xe7, 0xb4, 0x72, 0xe5, 0x5e, 0x90, 0x18, 0x49, 0x24, 0x38, 0x82, 0xda, 0xa8, 0x21, 0x7c, - 0x48, 0x4a, 0x2f, 0x9d, 0x54, 0xde, 0xb5, 0xb8, 0x26, 0x8f, 0x02, 0x88, 0x4d, 0xc6, 0xf8, 0xf5, 0xe5, 0xaa, 0xdd, - 0x78, 0xba, 0x6c, 0xc4, 0xe2, 0x77, 0x0a, 0x38, 0x41, 0xba, 0xaf, 0x28, 0xa0, 0x37, 0x60, 0x55, 0x07, 0x7c, 0xfb, - 0x04, 0x8e, 0x4a, 0x07, 0x8a, 0xe9, 0xc8, 0xa1, 0x22, 0xbf, 0x03, 0xae, 0xdd, 0xad, 0x88, 0xf0, 0xed, 0xf2, 0x35, - 0x2b, 0x6a, 0x09, 0x41, 0xad, 0x35, 0x89, 0x66, 0xb6, 0x08, 0xc5, 0xc6, 0xbd, 0x80, 0xcb, 0x73, 0x28, 0xfa, 0xf0, - 0x12, 0x17, 0x71, 0xe0, 0xfd, 0xc5, 0x4b, 0x9b, 0x27, 0xd3, 0x29, 0xfd, 0xd6, 0x77, 0x74, 0xf0, 0xe8, 0xe5, 0xc3, - 0xb2, 0x48, 0x27, 0x29, 0x78, 0xc4, 0x20, 0x08, 0x93, 0xf4, 0x89, 0x47, 0x4c, 0x76, 0x9a, 0x77, 0x1e, 0xdc, 0xc5, - 0x05, 0xb2, 0x1f, 0x46, 0xf0, 0x10, 0xd9, 0x5e, 0x9a, 0x38, 0xa0, 0x3d, 0xb7, 0x75, 0x76, 0x32, 0x6e, 0x9e, 0x78, - 0x2f, 0x5a, 0xf0, 0x2a, 0xe6, 0x7d, 0xe2, 0x11, 0xc6, 0x0c, 0x7e, 0xee, 0x12, 0x92, 0x1c, 0x6b, 0xa9, 0xe0, 0x28, - 0xe8, 0x81, 0x7c, 0x31, 0x92, 0x51, 0x9a, 0xd1, 0xb7, 0x3f, 0x9b, 0xbb, 0x1d, 0xed, 0xaa, 0xdb, 0x6c, 0x83, 0x8b, - 0xae, 0x8c, 0x5f, 0xcf, 0x7d, 0xd9, 0xb1, 0xa3, 0x2b, 0x37, 0x0e, 0xd8, 0x96, 0xd1, 0x9b, 0x2e, 0xb1, 0x58, 0x69, - 0x0d, 0xa9, 0x20, 0xf6, 0x65, 0x4e, 0xe0, 0xd2, 0x4a, 0x73, 0x52, 0xb0, 0x06, 0xef, 0x32, 0x3d, 0x59, 0xad, 0xbe, - 0x7b, 0x29, 0xeb, 0xe1, 0x19, 0x7f, 0xdb, 0x0b, 0xd5, 0xc8, 0xc5, 0xef, 0xa7, 0x1c, 0x64, 0x1d, 0x5d, 0x64, 0xc8, - 0xa4, 0x2f, 0xd0, 0xde, 0x37, 0x59, 0x04, 0x36, 0xe1, 0x80, 0xdc, 0xbb, 0x95, 0xda, 0xc0, 0x65, 0xbc, 0xb1, 0x89, - 0xe8, 0x69, 0x2c, 0xc2, 0x69, 0x2f, 0xec, 0xc1, 0xdf, 0xd1, 0xcd, 0x34, 0xe7, 0xa9, 0xbc, 0x74, 0xdf, 0xde, 0xbb, - 0x74, 0xbf, 0x48, 0xbe, 0xc7, 0xee, 0xf3, 0xc5, 0xfb, 0x45, 0x1d, 0xde, 0x1c, 0xd8, 0x3f, 0x33, 0xbc, 0xb4, 0x47, - 0xcd, 0xcd, 0xdb, 0x9a, 0x7d, 0x2d, 0xf6, 0x5b, 0x87, 0x37, 0x5d, 0x44, 0x99, 0x9d, 0x33, 0x1a, 0x5b, 0xf3, 0x6b, - 0xbc, 0x7e, 0xfc, 0xf1, 0x67, 0xfe, 0x59, 0xce, 0x0b, 0x86, 0x61, 0x8d, 0x9f, 0x77, 0x59, 0x0f, 0xab, 0xb6, 0x7e, - 0x2c, 0xf0, 0xd1, 0xdc, 0xbc, 0xa3, 0xda, 0xb8, 0xb7, 0x48, 0x1f, 0xad, 0xdc, 0x35, 0x9f, 0x3c, 0x32, 0xb8, 0xf0, - 0x23, 0xf3, 0xf9, 0xa8, 0x1f, 0x41, 0xc8, 0xe5, 0x4f, 0xde, 0x45, 0x62, 0xfa, 0xc7, 0xd6, 0x2b, 0xb1, 0x88, 0x7d, - 0xaa, 0x81, 0x70, 0x37, 0x5e, 0xa4, 0x45, 0xd9, 0x77, 0xf4, 0x0b, 0x7b, 0x4c, 0x56, 0xef, 0x40, 0x04, 0x0a, 0x5a, - 0x9f, 0x9d, 0x24, 0x12, 0x3f, 0x44, 0xff, 0xe4, 0x8f, 0xa8, 0xd3, 0x4e, 0xb4, 0xff, 0xd8, 0x4e, 0xf8, 0xff, 0xa7, - 0x6b, 0x5b, 0xf5, 0x96, 0x0d, 0xf0, 0xd6, 0xff, 0x05, 0xa2, 0x0d, 0x6d, 0xaf, 0x04, 0xe9, 0xa1, 0x8b, 0x88, 0xfc, - 0xd9, 0xad, 0x66, 0x59, 0x61, 0xf5, 0x32, 0x57, 0x2c, 0xe3, 0x09, 0x9d, 0x93, 0x0b, 0x8d, 0x93, 0x34, 0x4d, 0x19, - 0xbc, 0x67, 0xd2, 0xec, 0x75, 0x2d, 0x43, 0xef, 0x36, 0x67, 0x8f, 0xd0, 0x49, 0x3a, 0xce, 0x92, 0x8a, 0x45, 0xb4, - 0x6e, 0x57, 0x6d, 0x9e, 0xad, 0x47, 0x70, 0x06, 0x07, 0x67, 0x59, 0x40, 0xef, 0xc1, 0x52, 0xdb, 0x9d, 0x1b, 0x3b, - 0x4c, 0xf7, 0x2f, 0x2d, 0x87, 0x23, 0x82, 0xc6, 0xde, 0x2c, 0xb7, 0xed, 0x8f, 0x4a, 0x0a, 0x15, 0xf1, 0xe6, 0xc0, - 0x40, 0x2f, 0x7e, 0x3d, 0x91, 0x65, 0xd0, 0x75, 0x2f, 0x5f, 0x0b, 0x61, 0x59, 0xab, 0xb9, 0x76, 0x18, 0x9f, 0x0b, - 0xab, 0x20, 0xb4, 0x0b, 0x21, 0xce, 0x5e, 0xe8, 0x3a, 0x01, 0x4d, 0x8c, 0x78, 0x8b, 0x0b, 0x09, 0x36, 0x39, 0x28, - 0x54, 0x50, 0x3a, 0x3e, 0xd2, 0xee, 0x41, 0x10, 0x7a, 0x2e, 0xc6, 0x0a, 0xc8, 0xb1, 0xdc, 0x4e, 0x65, 0x22, 0x9a, - 0x24, 0x04, 0xae, 0xf2, 0x43, 0xf8, 0x8c, 0x64, 0xbc, 0x9c, 0xda, 0x45, 0x58, 0x77, 0x9b, 0xaa, 0xcd, 0x41, 0xef, - 0xfe, 0x27, 0xac, 0x42, 0x17, 0x45, 0xd1, 0x7a, 0xd6, 0x59, 0x9e, 0x47, 0xcc, 0x03, 0xb3, 0x49, 0x81, 0x46, 0x11, - 0x8a, 0xd0, 0xbf, 0x27, 0xf6, 0xd0, 0x88, 0x2a, 0xa3, 0xba, 0x60, 0x31, 0xac, 0x30, 0x57, 0x4e, 0x4b, 0x69, 0xa7, - 0x2c, 0x77, 0xa3, 0x1d, 0xe0, 0xc7, 0x57, 0xff, 0x6c, 0x43, 0xff, 0x72, 0xe9, 0x63, 0xdb, 0x8b, 0x2d, 0x36, 0xbf, - 0x7e, 0x3e, 0x4b, 0xef, 0x0e, 0x4f, 0xa3, 0xd8, 0x82, 0x9a, 0x40, 0x25, 0x13, 0x85, 0x52, 0xf3, 0xba, 0xe0, 0x10, - 0xb4, 0x50, 0xfc, 0x68, 0x54, 0xd4, 0xfb, 0x79, 0x35, 0x01, 0x05, 0x09, 0x20, 0x1c, 0x4b, 0x1a, 0x69, 0x97, 0xd8, - 0x82, 0x48, 0xeb, 0xb3, 0xf2, 0x6e, 0x84, 0xd7, 0x36, 0x68, 0x8a, 0xe0, 0x90, 0x25, 0xd3, 0xc2, 0xb0, 0x22, 0x83, - 0x04, 0x18, 0xb7, 0x11, 0xd2, 0x8b, 0xe4, 0x1f, 0x50, 0x02, 0xf0, 0x2a, 0xa2, 0xbd, 0x51, 0x99, 0x88, 0xe4, 0xa5, - 0xac, 0x51, 0x0a, 0x4b, 0x00, 0x02, 0xff, 0x32, 0xbf, 0x22, 0x58, 0x22, 0xd5, 0x58, 0xa3, 0x35, 0x9d, 0x11, 0xa8, - 0xad, 0x7e, 0x07, 0x44, 0x98, 0xd7, 0xd8, 0xcd, 0x68, 0x7e, 0x43, 0xb3, 0x24, 0xc6, 0xb8, 0x6a, 0x6f, 0x3e, 0xe7, - 0x72, 0xbb, 0xe6, 0xb2, 0xdf, 0x5a, 0x0f, 0xec, 0x4d, 0xba, 0xcf, 0x3a, 0xf3, 0xc0, 0xc7, 0xa7, 0x15, 0xce, 0xeb, - 0x25, 0x99, 0x95, 0xc7, 0x47, 0x5f, 0xf7, 0xae, 0xb5, 0x50, 0x73, 0xf3, 0xbe, 0x3e, 0xdc, 0xbc, 0x77, 0x6d, 0x85, - 0x1f, 0xfc, 0x5f, 0xc6, 0xf1, 0xb4, 0x46, 0x56, 0xfe, 0x5a, 0x15, 0xd5, 0x36, 0x62, 0x98, 0x78, 0x3b, 0x65, 0x08, - 0xe4, 0xa9, 0xda, 0x83, 0xdd, 0x49, 0x54, 0xda, 0x6f, 0x2a, 0x52, 0xb7, 0x9d, 0x0b, 0x45, 0x67, 0xa2, 0x4d, 0x72, - 0xc2, 0x33, 0x9e, 0x6f, 0x8e, 0x30, 0x89, 0xa4, 0xe5, 0x3a, 0x53, 0x37, 0xdc, 0xfd, 0x5c, 0xae, 0x3f, 0x6e, 0x1a, - 0xd0, 0x21, 0x8b, 0x8f, 0xfb, 0x90, 0x51, 0x10, 0x34, 0xbc, 0x6c, 0x96, 0x09, 0x79, 0xac, 0x13, 0xeb, 0x6a, 0xf7, - 0x65, 0x8a, 0xba, 0x3f, 0xd7, 0x2f, 0xc4, 0xb1, 0xb7, 0xc3, 0x24, 0xb1, 0xb1, 0x64, 0x9a, 0xb5, 0x46, 0x1a, 0x79, - 0x70, 0x7a, 0x6a, 0x7b, 0xe6, 0x65, 0x67, 0xf5, 0xd6, 0xcc, 0x03, 0x1d, 0x70, 0x12, 0x69, 0x0b, 0xe6, 0x64, 0x5e, - 0xcc, 0xcf, 0x4f, 0x07, 0xe9, 0xc6, 0xfd, 0x5c, 0x8d, 0xed, 0x88, 0xc7, 0xa4, 0x27, 0x09, 0xfc, 0x44, 0x09, 0xbe, - 0x25, 0x91, 0x06, 0xe0, 0xe5, 0xeb, 0xcb, 0x11, 0x64, 0xb6, 0x0a, 0x48, 0x4c, 0xb6, 0xf5, 0xeb, 0x4f, 0x01, 0x83, - 0xce, 0x56, 0x20, 0x01, 0x43, 0xf1, 0x33, 0x68, 0xbd, 0xc6, 0x97, 0x1a, 0x24, 0x29, 0x31, 0x3e, 0x99, 0xe1, 0xe6, - 0x93, 0x28, 0xf0, 0xf0, 0x5b, 0x47, 0xb6, 0xd9, 0x0e, 0x65, 0x9c, 0x41, 0xf5, 0x98, 0xd6, 0xc3, 0x29, 0x33, 0xe3, - 0xf9, 0x4c, 0x7a, 0x1c, 0x7f, 0xab, 0x80, 0xbc, 0x0f, 0xcc, 0xdb, 0xa0, 0x6c, 0x82, 0x70, 0x02, 0x83, 0xcb, 0xb9, - 0x17, 0x9b, 0x40, 0x5c, 0xbf, 0x84, 0x35, 0xa6, 0x93, 0x3c, 0x9f, 0xab, 0xc3, 0x0f, 0xe3, 0xb7, 0x1e, 0xb9, 0x37, - 0xbd, 0x57, 0x8c, 0x4b, 0xd3, 0x7a, 0xc1, 0x30, 0xbb, 0x52, 0x6c, 0x80, 0x5a, 0x05, 0x33, 0x5b, 0x32, 0x6e, 0xa5, - 0x45, 0x16, 0x38, 0x6e, 0x7a, 0xef, 0xd4, 0xec, 0xae, 0xad, 0x07, 0xa4, 0x4f, 0x34, 0x44, 0x8c, 0x4f, 0x55, 0xe0, - 0x12, 0x75, 0xfc, 0x1e, 0x7f, 0x7a, 0xcf, 0x5f, 0xc3, 0x38, 0x15, 0x6f, 0xb6, 0xf1, 0x22, 0x63, 0x2b, 0xcb, 0xf3, - 0xf7, 0xf1, 0x9e, 0x43, 0x4b, 0x6b, 0x3f, 0x8c, 0x31, 0x58, 0xc9, 0x67, 0x0a, 0xf5, 0x84, 0x1d, 0xff, 0x22, 0x91, - 0xfe, 0xd9, 0x5a, 0xfa, 0x5b, 0xfc, 0x33, 0xc2, 0xff, 0x31, 0x0c, 0x95, 0xe6, 0xcb, 0x3f, 0xa2, 0xfe, 0x23, 0xbe, - 0x50, 0x56, 0x7a, 0x91, 0x73, 0x4f, 0xb5, 0xd9, 0x98, 0x8f, 0xf6, 0x26, 0x4e, 0x0a, 0x18, 0xc5, 0x99, 0x89, 0x82, - 0x38, 0xcf, 0xd5, 0xf9, 0x48, 0xf2, 0xb7, 0x9a, 0xb8, 0xf0, 0xcb, 0xf1, 0xd1, 0xf0, 0xf1, 0xdc, 0xa7, 0xe7, 0xfd, - 0x1e, 0x52, 0xb9, 0x2f, 0x12, 0xd5, 0xb6, 0xb2, 0x7d, 0xf2, 0xf7, 0x5d, 0xe7, 0x8e, 0x08, 0xac, 0x3f, 0x0f, 0x3e, - 0xb3, 0x8c, 0x3f, 0x19, 0x5e, 0xa6, 0x29, 0x5a, 0x33, 0x16, 0x5f, 0xe8, 0x33, 0xad, 0x8d, 0xdf, 0xb8, 0x55, 0x65, - 0x9b, 0x1a, 0x50, 0x9b, 0x6e, 0x82, 0xc4, 0xa4, 0x82, 0x06, 0x65, 0x9d, 0xfb, 0xf4, 0x07, 0x44, 0x1b, 0x12, 0x8a, - 0x7e, 0xfc, 0x43, 0x21, 0xe8, 0x2e, 0x41, 0x02, 0x90, 0xc4, 0x30, 0x33, 0x7e, 0x29, 0x48, 0x07, 0x34, 0x3c, 0xd4, - 0xdb, 0xcb, 0xc6, 0x56, 0x7d, 0x0e, 0x39, 0xfe, 0x6d, 0x74, 0x7f, 0x60, 0xf5, 0xd0, 0x80, 0x8a, 0xe3, 0x70, 0xf9, - 0x7f, 0xf4, 0x86, 0x30, 0x8a, 0x7a, 0x48, 0xa8, 0x2e, 0x16, 0x8d, 0x7f, 0x3a, 0x4a, 0xca, 0x19, 0x4a, 0x96, 0x72, - 0x1e, 0x15, 0x03, 0xcf, 0x82, 0xa0, 0xba, 0xa2, 0xc7, 0x26, 0xcf, 0xc5, 0xb3, 0x82, 0x43, 0xfe, 0x4f, 0xb0, 0xec, - 0x32, 0xc4, 0x64, 0x8c, 0xf8, 0xce, 0x4f, 0x10, 0x96, 0x64, 0x35, 0x6c, 0xcc, 0x1e, 0xc2, 0xed, 0x47, 0x6f, 0xa0, - 0x21, 0xdc, 0x7c, 0x7c, 0x80, 0x04, 0x7c, 0xe3, 0xcd, 0xea, 0x6a, 0x54, 0xbe, 0x30, 0xa7, 0x5d, 0x41, 0xdc, 0x18, - 0x02, 0x10, 0x89, 0xe0, 0x54, 0x52, 0x80, 0xfa, 0x26, 0x69, 0x8b, 0x80, 0xc5, 0x84, 0x6b, 0x43, 0x72, 0xd0, 0x8e, - 0x8b, 0xc9, 0x99, 0x72, 0x28, 0x73, 0xea, 0x28, 0x05, 0xe4, 0x24, 0x8f, 0x0e, 0x64, 0xd6, 0xed, 0xa5, 0x64, 0x7c, - 0x95, 0x8d, 0x76, 0xd9, 0x42, 0xf5, 0x49, 0x84, 0x99, 0x44, 0x8c, 0x54, 0xf0, 0x24, 0x67, 0x65, 0x82, 0x7e, 0xd1, - 0x2e, 0xa6, 0x36, 0xe2, 0xe1, 0xde, 0x66, 0x46, 0xec, 0x22, 0xd0, 0xe0, 0xca, 0x21, 0x79, 0xc5, 0xab, 0x90, 0x41, - 0x90, 0x09, 0x0b, 0x84, 0x05, 0x5c, 0x68, 0xf7, 0x7d, 0xe2, 0x78, 0xd8, 0xef, 0x47, 0xc1, 0x25, 0xe7, 0xf5, 0x86, - 0x5d, 0x82, 0x3b, 0xaf, 0x7a, 0x7d, 0x5d, 0x5b, 0x87, 0x8f, 0x9f, 0x33, 0x22, 0x05, 0x96, 0x41, 0xde, 0xe0, 0xe5, - 0x41, 0x18, 0xf8, 0x81, 0x3d, 0x82, 0x97, 0xa9, 0xb3, 0x2f, 0xc2, 0x90, 0x60, 0xd6, 0x93, 0x1a, 0xd2, 0x96, 0x05, - 0x57, 0xa7, 0xd3, 0x36, 0xdb, 0x51, 0xa0, 0x46, 0xa9, 0xde, 0x17, 0x86, 0x32, 0x25, 0x5a, 0x65, 0x13, 0xd8, 0x21, - 0x10, 0x2d, 0x5b, 0x11, 0xbe, 0xc5, 0xdc, 0x84, 0x05, 0x3a, 0xe9, 0xb4, 0xcd, 0x76, 0xb4, 0x08, 0xdf, 0x80, 0x4e, - 0x2e, 0x26, 0x5c, 0x4c, 0xb9, 0xf4, 0x84, 0xbc, 0x3a, 0xa9, 0x40, 0x89, 0x09, 0x78, 0x28, 0x23, 0xc3, 0x7c, 0x9a, - 0xf2, 0xa5, 0x27, 0xbf, 0x89, 0x59, 0xb4, 0x5f, 0xe6, 0x3c, 0x0d, 0xd2, 0x06, 0x13, 0x1b, 0xa4, 0xa6, 0xd5, 0x49, - 0x12, 0xdf, 0x1f, 0x5a, 0xc0, 0x0c, 0x4a, 0x73, 0x7c, 0x6e, 0x63, 0x52, 0x4a, 0x45, 0xc8, 0xb8, 0x5e, 0x1e, 0xf5, - 0xec, 0x7c, 0x18, 0x09, 0x6a, 0x76, 0x13, 0x7e, 0xb6, 0x17, 0x8d, 0x96, 0x8a, 0x97, 0x93, 0x50, 0xc2, 0x08, 0x89, - 0x95, 0x80, 0x04, 0x79, 0x93, 0xd9, 0x00, 0xe5, 0x4f, 0xca, 0x95, 0xfb, 0x4a, 0xc6, 0x63, 0x87, 0x70, 0xc0, 0xcf, - 0x1c, 0x03, 0x47, 0x19, 0x35, 0xfa, 0x47, 0xf3, 0xc1, 0x61, 0x74, 0xea, 0x12, 0x86, 0x09, 0xc8, 0x72, 0x89, 0x35, - 0xca, 0xf8, 0x30, 0x40, 0xf5, 0xba, 0x1f, 0x26, 0x1b, 0xfc, 0x11, 0x4d, 0x78, 0x24, 0x1b, 0xe6, 0xb0, 0xab, 0x16, - 0x9a, 0x18, 0xe4, 0x01, 0xe4, 0x16, 0x55, 0x46, 0x8e, 0xcc, 0xe9, 0x3d, 0xaa, 0x1c, 0xad, 0xd0, 0xf7, 0x11, 0xb0, - 0x94, 0xea, 0xd9, 0xb5, 0x34, 0x55, 0x00, 0x4b, 0x68, 0x25, 0x50, 0xb6, 0x31, 0x9b, 0x7c, 0x6f, 0xd9, 0xde, 0xb8, - 0xcc, 0x46, 0xfe, 0x22, 0x8d, 0x58, 0xc3, 0x96, 0x80, 0x73, 0xf5, 0x81, 0xd0, 0x76, 0xb2, 0x07, 0x10, 0xa2, 0xa4, - 0x17, 0x99, 0xbb, 0x32, 0x41, 0x6e, 0x5e, 0xf3, 0x89, 0x36, 0xcb, 0x00, 0x5b, 0x0d, 0xc1, 0x9d, 0xe7, 0xc2, 0x37, - 0xa9, 0x39, 0x29, 0xb8, 0xe0, 0xe7, 0xfb, 0x2b, 0x44, 0x15, 0x5e, 0xe4, 0xba, 0x1b, 0xae, 0x45, 0x3c, 0x37, 0xe6, - 0x5f, 0xab, 0xc6, 0x8b, 0x45, 0x19, 0x96, 0xca, 0xbf, 0xa1, 0xc9, 0x16, 0xb2, 0x6f, 0xa9, 0xa4, 0xf1, 0x6f, 0x09, - 0x7b, 0xe2, 0x83, 0xd1, 0x88, 0x32, 0xdc, 0xc0, 0x9a, 0xf8, 0xc8, 0xbc, 0x8a, 0x5e, 0x1c, 0x0f, 0x08, 0x0e, 0x02, - 0x94, 0x81, 0x93, 0x10, 0x06, 0xe2, 0x73, 0x8c, 0x35, 0x5f, 0xb3, 0x1e, 0x73, 0xde, 0xf4, 0x26, 0xcf, 0x35, 0xbf, - 0xe0, 0x35, 0xa0, 0x02, 0xda, 0xc3, 0x8e, 0x1e, 0xcb, 0x60, 0x42, 0x33, 0x1e, 0x42, 0x3e, 0x7d, 0xf0, 0xdb, 0xfc, - 0x8c, 0xc1, 0x2c, 0x0a, 0x09, 0x32, 0x9c, 0xae, 0xba, 0x99, 0xa1, 0xd5, 0x26, 0xf0, 0x7f, 0xbf, 0xbb, 0x19, 0x35, - 0x44, 0xde, 0x8b, 0x90, 0xe9, 0x06, 0x32, 0xda, 0x62, 0x1a, 0x36, 0xcd, 0x34, 0x5b, 0x0d, 0x86, 0xea, 0xa3, 0xa6, - 0xaf, 0xf1, 0xda, 0x6b, 0x1d, 0x95, 0x43, 0xa7, 0x36, 0x30, 0xbc, 0xe7, 0xbf, 0x77, 0x0f, 0x05, 0x79, 0x91, 0x14, - 0x72, 0x3b, 0x1d, 0x22, 0xc3, 0x4d, 0xec, 0x58, 0xf7, 0xfa, 0x9f, 0x31, 0xe3, 0xe4, 0x33, 0x93, 0x39, 0x81, 0x4d, - 0x53, 0x53, 0xb4, 0xa0, 0x9f, 0x36, 0x4b, 0x73, 0xa7, 0xac, 0xf5, 0x5a, 0xf0, 0x4b, 0xab, 0xd4, 0x38, 0x64, 0x55, - 0xc3, 0xcb, 0x0b, 0x5d, 0x3c, 0xf1, 0x82, 0xbf, 0x0c, 0x4c, 0xb8, 0xf1, 0x53, 0x2b, 0xea, 0xea, 0xe2, 0x85, 0xbe, - 0xef, 0x3e, 0x4b, 0x79, 0x48, 0xb4, 0x45, 0x16, 0x1a, 0xb2, 0xb9, 0xc9, 0x8b, 0x99, 0x2f, 0x36, 0xa3, 0x82, 0xcf, - 0x57, 0x68, 0x20, 0x1b, 0x1c, 0xb6, 0xd5, 0x35, 0xbe, 0xf0, 0xbc, 0x4b, 0xa4, 0x32, 0x72, 0xb1, 0x17, 0x1c, 0xc2, - 0x61, 0xb9, 0xb4, 0x98, 0xb5, 0x7a, 0xfe, 0x0e, 0x9d, 0xf1, 0x14, 0xa7, 0x90, 0xa8, 0x94, 0x8b, 0x4f, 0xcc, 0xfe, - 0xac, 0xef, 0xf7, 0x39, 0xc3, 0xfb, 0x03, 0xc9, 0x67, 0xfd, 0x63, 0x5f, 0x6d, 0x82, 0xbd, 0x93, 0xb7, 0x4a, 0xfb, - 0xda, 0x86, 0x65, 0xec, 0x23, 0x05, 0x04, 0x7f, 0x53, 0x38, 0x35, 0xf4, 0x08, 0x53, 0xd2, 0x72, 0x2f, 0xf2, 0xdb, - 0x8a, 0x68, 0x89, 0x06, 0xde, 0xe2, 0xb8, 0x48, 0x9f, 0xb6, 0xe5, 0x5d, 0xb6, 0xd4, 0xf1, 0xd0, 0xad, 0x8c, 0x25, - 0xd1, 0xa8, 0xd2, 0xf4, 0x41, 0xf4, 0xdc, 0xd9, 0x92, 0xe8, 0xed, 0xce, 0x68, 0xf6, 0x24, 0x1f, 0x13, 0xea, 0x1a, - 0x71, 0xab, 0x9e, 0xb7, 0xd8, 0xd7, 0xd4, 0xec, 0x86, 0x5e, 0xa8, 0x19, 0x2a, 0x21, 0xab, 0xd1, 0x17, 0x6a, 0xfd, - 0x28, 0x42, 0x92, 0xec, 0xf1, 0xeb, 0x9a, 0x5f, 0x3e, 0xdf, 0x48, 0x85, 0x72, 0x75, 0x51, 0x51, 0xa0, 0xf9, 0x79, - 0x9a, 0x78, 0x82, 0x72, 0x5e, 0x4b, 0x5f, 0x7d, 0x6a, 0x00, 0x2a, 0x42, 0x72, 0x6b, 0x87, 0x86, 0x34, 0xb4, 0xcc, - 0xcd, 0xb3, 0x79, 0x16, 0x8a, 0x00, 0xdd, 0x33, 0x4f, 0x3c, 0x75, 0x31, 0x6e, 0xf6, 0x82, 0x41, 0xc5, 0xce, 0x13, - 0x93, 0x01, 0x70, 0x92, 0x3a, 0x88, 0x46, 0xb0, 0xb7, 0x3b, 0xcd, 0x3e, 0xe6, 0xe2, 0x19, 0xb8, 0x10, 0xd6, 0xd3, - 0xf2, 0xda, 0xb3, 0x68, 0xd7, 0x33, 0xa4, 0x49, 0xb7, 0x6f, 0x57, 0xe3, 0xd1, 0x05, 0x77, 0x64, 0xd2, 0x48, 0x68, - 0xa9, 0x86, 0x42, 0xae, 0x52, 0xb9, 0xa3, 0xee, 0xac, 0x99, 0x52, 0x6e, 0xa2, 0x70, 0x2b, 0x73, 0xd9, 0xba, 0x8c, - 0xe5, 0x1c, 0x61, 0x85, 0xad, 0xcc, 0x12, 0xcf, 0x02, 0xfc, 0x08, 0x0c, 0xa2, 0x52, 0x95, 0x67, 0xa2, 0x08, 0x49, - 0xdd, 0x60, 0x81, 0x89, 0xec, 0x7d, 0xbf, 0x85, 0x02, 0x0f, 0xbe, 0xf2, 0x11, 0xa3, 0x48, 0x14, 0x02, 0x02, 0x68, - 0x30, 0xd0, 0x02, 0xaa, 0x59, 0x3a, 0xa8, 0x86, 0x0f, 0xa1, 0xf3, 0x22, 0x9e, 0x98, 0x24, 0x19, 0xf4, 0x6f, 0xff, - 0x43, 0x81, 0x98, 0xf4, 0x01, 0x92, 0x2a, 0x13, 0x80, 0x1b, 0x16, 0x8f, 0xd3, 0x68, 0x2e, 0x5b, 0x91, 0x2b, 0x3d, - 0x8e, 0x7c, 0x6e, 0x8b, 0x7a, 0xc1, 0xca, 0x4b, 0x48, 0x69, 0xc7, 0xf0, 0xb2, 0xd7, 0xa5, 0xc2, 0xcf, 0x5e, 0xf3, - 0x0b, 0x26, 0x17, 0xc6, 0x21, 0x29, 0x17, 0xca, 0x10, 0xd6, 0x03, 0x00, 0x99, 0x77, 0x03, 0xd5, 0x9b, 0x84, 0x87, - 0xad, 0xb2, 0x39, 0x14, 0x0c, 0xc1, 0xc1, 0xbd, 0xf3, 0x39, 0x21, 0x89, 0x79, 0x0c, 0x43, 0x00, 0x27, 0x71, 0x4a, - 0x68, 0x33, 0x97, 0x71, 0xa6, 0x4e, 0x4f, 0xb2, 0xeb, 0x40, 0xdc, 0xda, 0x12, 0x42, 0xb1, 0x97, 0x75, 0x62, 0xc8, - 0x92, 0xaa, 0xc7, 0xa4, 0xdc, 0x8c, 0x60, 0xd7, 0xfe, 0x14, 0x4f, 0x75, 0x18, 0x8a, 0x9b, 0x19, 0x18, 0x89, 0x99, - 0x90, 0x9c, 0x0d, 0x92, 0xe4, 0x99, 0x74, 0x59, 0x5b, 0x93, 0xba, 0xce, 0xdf, 0x32, 0x84, 0x47, 0x24, 0xe3, 0xfc, - 0x2a, 0x0f, 0x75, 0xc7, 0x95, 0x4d, 0xaa, 0x2c, 0x4f, 0x4f, 0xbe, 0xeb, 0x5e, 0xd7, 0x98, 0x1a, 0xde, 0x03, 0x6a, - 0x64, 0x71, 0xe8, 0x36, 0xe7, 0x63, 0x67, 0x82, 0x9f, 0xbb, 0x3c, 0x50, 0x17, 0x0f, 0x3b, 0x92, 0xd0, 0xcf, 0x37, - 0x78, 0x5d, 0x68, 0x74, 0xc6, 0x80, 0x9c, 0x24, 0xe7, 0xe2, 0x52, 0x0b, 0xd4, 0x58, 0xf0, 0xd5, 0x8e, 0xa4, 0x6e, - 0x23, 0x0f, 0x7c, 0x23, 0x2e, 0x84, 0x2e, 0x72, 0xdb, 0x74, 0x8d, 0xfc, 0x9c, 0xde, 0xad, 0x5a, 0xe0, 0x49, 0x7e, - 0xfd, 0x7b, 0x55, 0x7a, 0x42, 0xaf, 0x2a, 0x71, 0x16, 0x9f, 0xb8, 0x44, 0x37, 0xd3, 0x3c, 0x82, 0x93, 0xba, 0x6a, - 0xca, 0x00, 0xbd, 0x2e, 0xbc, 0x1d, 0x68, 0x12, 0x09, 0xbc, 0x30, 0xdd, 0x25, 0xae, 0xa4, 0x03, 0xe1, 0x41, 0xb1, - 0x87, 0x09, 0x26, 0x42, 0xa3, 0xcc, 0x86, 0x03, 0xc0, 0xcf, 0x21, 0xde, 0x8d, 0xf9, 0xab, 0x61, 0x59, 0x55, 0x0b, - 0x82, 0x3b, 0x65, 0x01, 0xd9, 0xcb, 0xc8, 0x80, 0x02, 0xea, 0x84, 0x2c, 0x28, 0x6d, 0xd4, 0xd8, 0x21, 0x67, 0x83, - 0x15, 0xaa, 0xe6, 0x01, 0xc7, 0x26, 0xdd, 0xda, 0xa7, 0x16, 0x62, 0x44, 0x83, 0x6a, 0x72, 0xfe, 0x3a, 0x40, 0x42, - 0xf9, 0x0c, 0x29, 0x70, 0xa4, 0x5f, 0x32, 0xff, 0x06, 0x4c, 0x7a, 0xa7, 0x20, 0xe8, 0x97, 0x21, 0xe3, 0x7e, 0xa9, - 0x23, 0x50, 0x5a, 0xc6, 0xf6, 0x0f, 0xc5, 0xf1, 0x0d, 0x67, 0x4c, 0xcf, 0xc9, 0xd7, 0x36, 0x9a, 0x3f, 0xaf, 0xd4, - 0x22, 0xc4, 0x4b, 0x42, 0x2a, 0x0c, 0x00, 0xbf, 0xb7, 0x92, 0xce, 0x63, 0xf0, 0xee, 0x01, 0xc7, 0x59, 0xad, 0x09, - 0xa5, 0x67, 0x40, 0xbe, 0xc5, 0xbf, 0x31, 0x4d, 0x07, 0x05, 0x70, 0x6a, 0x45, 0xde, 0xbb, 0xbb, 0xbb, 0x75, 0x28, - 0x18, 0xfa, 0x3a, 0x4c, 0x59, 0xbf, 0xe0, 0x28, 0x1b, 0xc8, 0x6d, 0xbb, 0xdd, 0x6d, 0x55, 0xd2, 0xce, 0x24, 0xc3, - 0x23, 0x89, 0x41, 0x2a, 0x8d, 0xfc, 0xac, 0x2b, 0xab, 0xcb, 0x2c, 0x8e, 0x14, 0x17, 0x80, 0xee, 0x78, 0x86, 0xcd, - 0x1b, 0x5b, 0xf5, 0x81, 0x77, 0x20, 0xcd, 0x75, 0x02, 0x00, 0xbc, 0xf0, 0x54, 0x31, 0xe1, 0x8e, 0xb9, 0xca, 0x4e, - 0xa2, 0x9e, 0x4c, 0x34, 0x07, 0xe7, 0xf9, 0xa8, 0x42, 0x3e, 0xe9, 0x0e, 0x2b, 0x3e, 0x2f, 0x02, 0xe2, 0x71, 0x9c, - 0x54, 0x06, 0x43, 0xa2, 0xe0, 0xa7, 0x22, 0xec, 0x78, 0xba, 0x70, 0x9e, 0xdc, 0x55, 0xe9, 0xce, 0x01, 0xaa, 0x21, - 0x01, 0xab, 0x82, 0x6d, 0xd8, 0xbc, 0xcc, 0x49, 0x5c, 0xb6, 0x33, 0x86, 0x64, 0x1d, 0x0e, 0x6a, 0xe1, 0x63, 0xaf, - 0xf4, 0x43, 0x52, 0x28, 0xc4, 0xb9, 0x08, 0xe7, 0x59, 0x48, 0x9e, 0x0e, 0x90, 0x19, 0x79, 0x39, 0x79, 0xaf, 0xdd, - 0xd9, 0xae, 0x5b, 0x82, 0x48, 0xb7, 0x78, 0x6b, 0xac, 0xa7, 0xe3, 0x95, 0x4d, 0xc7, 0x54, 0x05, 0x92, 0x4d, 0xa4, - 0x82, 0x2a, 0xa5, 0xc1, 0xca, 0xd3, 0x01, 0x50, 0x30, 0x37, 0xfc, 0xad, 0x71, 0x4f, 0xcb, 0x84, 0x61, 0x73, 0x34, - 0xd8, 0x24, 0x0e, 0xee, 0x07, 0x83, 0x4e, 0x21, 0x6e, 0xd4, 0x2e, 0x70, 0x0d, 0x36, 0xd1, 0xcc, 0xc4, 0x1e, 0xff, - 0x5e, 0x7e, 0x10, 0x59, 0x65, 0x57, 0x25, 0xcd, 0x44, 0xa2, 0x5c, 0xba, 0x08, 0xc9, 0x5e, 0xfd, 0x3b, 0xfd, 0x56, - 0xe8, 0x74, 0xa0, 0x00, 0x74, 0x1c, 0x29, 0x24, 0xc4, 0x4c, 0x93, 0xee, 0x89, 0xe7, 0xf7, 0x5f, 0x7f, 0xfd, 0xdd, - 0xd6, 0xd6, 0x7c, 0x15, 0xbc, 0xf3, 0x79, 0xd1, 0x84, 0xed, 0xce, 0x52, 0xea, 0xfa, 0x1d, 0x58, 0x00, 0x3b, 0xdb, - 0x78, 0x26, 0x86, 0xb7, 0x4d, 0xf4, 0xa0, 0x0b, 0xf2, 0xc2, 0xf1, 0xa3, 0xf6, 0x87, 0x8f, 0xb8, 0x55, 0x16, 0xe8, - 0xbd, 0xba, 0x33, 0x8b, 0x40, 0xcc, 0x00, 0x2a, 0x20, 0xaf, 0xa0, 0xab, 0x18, 0x82, 0xe0, 0x97, 0x06, 0x49, 0x87, - 0x13, 0xce, 0x04, 0x7c, 0x36, 0x08, 0xba, 0xf3, 0xb7, 0xc3, 0x8e, 0xee, 0x44, 0xbc, 0x77, 0xe8, 0xe2, 0xd7, 0x76, - 0xea, 0x90, 0x29, 0x4f, 0x2f, 0x8d, 0xae, 0xec, 0x42, 0x73, 0xbd, 0xd3, 0xa7, 0x12, 0xe2, 0x63, 0x36, 0x46, 0x2e, - 0x28, 0x5e, 0xc1, 0x40, 0xf3, 0x60, 0x93, 0x7c, 0xb1, 0xf5, 0x3a, 0xb8, 0x1f, 0x37, 0x8f, 0x14, 0xfb, 0x05, 0xd5, - 0x0f, 0xb8, 0x61, 0x17, 0x52, 0xcb, 0xc7, 0x05, 0xc6, 0xca, 0x38, 0x28, 0x7f, 0x4e, 0xbb, 0xd3, 0x0b, 0xbf, 0x58, - 0x14, 0x15, 0x53, 0x12, 0xbf, 0x4d, 0xc2, 0xa4, 0x71, 0xaf, 0x5b, 0xd3, 0xe3, 0xf4, 0xbc, 0x20, 0x9c, 0x3b, 0xb9, - 0x7b, 0xfe, 0x4b, 0xb4, 0x3e, 0x9b, 0xe3, 0x76, 0xd7, 0xad, 0xe9, 0x77, 0x83, 0xa5, 0x4a, 0x93, 0x6e, 0x69, 0xec, - 0x5c, 0xbd, 0x09, 0x97, 0x75, 0x11, 0x89, 0xee, 0xcf, 0x7a, 0x2c, 0xa8, 0xd4, 0x33, 0x33, 0x7f, 0x0a, 0xa2, 0x86, - 0xb8, 0xde, 0xea, 0xe2, 0xbd, 0x5e, 0x7c, 0x4b, 0x8e, 0xbd, 0x74, 0x95, 0x64, 0x30, 0xa8, 0x0e, 0x5d, 0x0d, 0x8b, - 0xe4, 0x88, 0xa8, 0x5f, 0x31, 0x09, 0x98, 0xf5, 0x9c, 0x8f, 0xae, 0xd7, 0xa2, 0x79, 0xfa, 0xd6, 0x13, 0xa1, 0x7f, - 0xae, 0xc3, 0xed, 0xfb, 0x04, 0xae, 0xb6, 0xad, 0x63, 0x19, 0x8d, 0xe2, 0xcb, 0x46, 0x22, 0x66, 0x61, 0x47, 0xa2, - 0x4f, 0xff, 0x80, 0x48, 0xa2, 0xfc, 0xa4, 0xa5, 0x07, 0x49, 0x25, 0xdb, 0x6f, 0xf8, 0x70, 0x1f, 0xb5, 0x10, 0x68, - 0x6f, 0xff, 0x28, 0x52, 0x35, 0xbd, 0x4c, 0x24, 0xb1, 0xea, 0x40, 0xbd, 0xa6, 0xd4, 0xe7, 0x3e, 0xff, 0x7c, 0xfb, - 0x1d, 0x25, 0x64, 0x9a, 0x28, 0x59, 0xce, 0x18, 0x40, 0xae, 0xb1, 0xbb, 0x92, 0x90, 0x35, 0xbc, 0x4c, 0x4a, 0xef, - 0xc3, 0xcf, 0x67, 0xeb, 0xd0, 0x77, 0xff, 0x94, 0xc6, 0x65, 0xc1, 0x39, 0xf3, 0x66, 0xfe, 0x98, 0x9e, 0x06, 0x82, - 0x35, 0xaf, 0xb1, 0x77, 0x97, 0xeb, 0xcb, 0xd2, 0xe9, 0xa2, 0x5d, 0x3a, 0x5d, 0xb4, 0xda, 0x1b, 0xe6, 0xdf, 0xac, - 0x63, 0x0e, 0xbc, 0x5a, 0xb6, 0x0d, 0xa6, 0x12, 0x3c, 0xb5, 0xe5, 0x3f, 0x3a, 0x03, 0x57, 0x1e, 0x90, 0x1a, 0x6d, - 0xa0, 0x4f, 0x65, 0x10, 0x74, 0x73, 0xc3, 0x82, 0xa6, 0xab, 0x32, 0x23, 0xcd, 0x7c, 0x24, 0x5d, 0xf0, 0x39, 0x8d, - 0x39, 0xd8, 0xa7, 0xa9, 0xf2, 0x32, 0x14, 0x33, 0x7e, 0x56, 0xda, 0x82, 0xa6, 0x43, 0xe1, 0x47, 0x5c, 0xa6, 0x06, - 0xf4, 0xa2, 0xf3, 0x6b, 0x98, 0xc7, 0x59, 0xfa, 0x9b, 0xa7, 0x18, 0xe3, 0xf3, 0x86, 0x4c, 0xe1, 0xb8, 0xeb, 0x5e, - 0xa2, 0x80, 0x9f, 0x13, 0x1a, 0xcb, 0xf8, 0xbd, 0x18, 0xb4, 0x2f, 0xd2, 0x6d, 0x2e, 0x02, 0xa7, 0x02, 0xe4, 0x0f, - 0x09, 0xe3, 0x40, 0xd1, 0xd1, 0x5e, 0x63, 0xdf, 0x29, 0x55, 0xa6, 0xcf, 0x3d, 0xad, 0xd1, 0x13, 0xa5, 0x4c, 0x3f, - 0x19, 0x63, 0xcc, 0xba, 0xc8, 0xb1, 0xa5, 0xf9, 0xc0, 0x20, 0x93, 0x7c, 0xe1, 0x22, 0xa7, 0xc7, 0x9c, 0x3a, 0x0b, - 0x74, 0xab, 0x50, 0x6b, 0x0f, 0x96, 0x3f, 0xa0, 0x72, 0x60, 0xa8, 0x28, 0xfb, 0x71, 0x8a, 0x2d, 0xe2, 0x43, 0xfb, - 0x0d, 0xb7, 0x90, 0xb8, 0xed, 0x45, 0x26, 0x82, 0x54, 0x83, 0xa2, 0x58, 0xdb, 0x24, 0x23, 0xb9, 0xa1, 0x8a, 0xc1, - 0x46, 0x2d, 0x9f, 0x3e, 0x83, 0xd3, 0xe5, 0xd3, 0xd3, 0x9c, 0x5a, 0xb4, 0x25, 0x33, 0xf5, 0x8c, 0xc4, 0xd2, 0x15, - 0x76, 0xf1, 0xf2, 0x6b, 0xbc, 0xa1, 0x7d, 0xcc, 0x40, 0x22, 0x29, 0xbd, 0x6a, 0x1a, 0xc4, 0x0c, 0x36, 0x90, 0x46, - 0x75, 0x20, 0xf2, 0x12, 0x5f, 0x4e, 0x40, 0x00, 0x46, 0x0f, 0x3f, 0x7a, 0x43, 0xe9, 0xb4, 0xd9, 0xed, 0x76, 0x56, - 0x26, 0x50, 0x74, 0xcd, 0x27, 0x63, 0x92, 0x37, 0x84, 0x9d, 0xc5, 0x2d, 0x79, 0x2a, 0x84, 0x31, 0x78, 0x79, 0x66, - 0x6c, 0x31, 0x7f, 0x7e, 0x3d, 0xd6, 0x2f, 0x0c, 0x25, 0x51, 0x52, 0xc8, 0xbe, 0xd4, 0x2d, 0x33, 0x1c, 0x59, 0x9c, - 0xe6, 0xe4, 0xd2, 0x83, 0x33, 0xf5, 0x18, 0x78, 0x0e, 0x04, 0xf2, 0xfa, 0x0e, 0xfb, 0xed, 0xc0, 0x09, 0x47, 0xfc, - 0x14, 0xf3, 0xf1, 0x4f, 0xd5, 0x42, 0xf6, 0xcc, 0xea, 0xbc, 0x53, 0x16, 0xbb, 0x2a, 0x54, 0x51, 0x67, 0x0a, 0x2a, - 0xf8, 0xad, 0x43, 0x04, 0x6d, 0xfb, 0x49, 0x92, 0x21, 0x12, 0x55, 0x81, 0xfa, 0x6c, 0x26, 0x92, 0x60, 0x2e, 0xc0, - 0x92, 0xe5, 0x0d, 0xe7, 0xbc, 0xf6, 0xb7, 0xae, 0x49, 0xe6, 0x0d, 0x70, 0xd1, 0x7c, 0xda, 0xe9, 0xe9, 0x3a, 0xf2, - 0xad, 0x87, 0xa9, 0x75, 0xa8, 0x05, 0xb3, 0x84, 0x8b, 0x59, 0xb9, 0x89, 0x7d, 0x79, 0x1b, 0xa8, 0x99, 0x1c, 0x84, - 0xca, 0x9f, 0x98, 0x9c, 0x52, 0x1b, 0xa9, 0x90, 0xb5, 0x87, 0xcc, 0x49, 0x07, 0x21, 0xdc, 0x86, 0xf4, 0xdb, 0xf9, - 0x65, 0x87, 0x4c, 0xf6, 0xa3, 0x2d, 0x0c, 0xe9, 0xff, 0x7a, 0x85, 0x49, 0x68, 0x30, 0x42, 0xb8, 0x9f, 0x04, 0x08, - 0xf7, 0xa2, 0x53, 0x16, 0xe1, 0xc2, 0x9d, 0x47, 0x61, 0xbf, 0x77, 0x36, 0x54, 0x86, 0x05, 0xe7, 0x07, 0xcd, 0xcf, - 0x71, 0x10, 0x8e, 0xf5, 0x9a, 0x3c, 0x30, 0x7e, 0xfc, 0x91, 0xbd, 0x40, 0xc0, 0x7c, 0x37, 0x11, 0xb4, 0xea, 0x14, - 0x28, 0x0b, 0xd6, 0x38, 0x18, 0x48, 0x0a, 0x16, 0xfb, 0x46, 0xaa, 0x7a, 0x9b, 0xb2, 0x2d, 0x9f, 0xe5, 0x49, 0xc7, - 0xe9, 0x5f, 0xd6, 0x7a, 0x9b, 0x10, 0x62, 0x5f, 0xf4, 0xb9, 0xf2, 0x01, 0x4a, 0xb4, 0xda, 0xe7, 0xff, 0x25, 0xb8, - 0xf5, 0xf5, 0xdf, 0x79, 0x35, 0xd3, 0x46, 0x8a, 0x59, 0x14, 0x5e, 0x7b, 0xa9, 0xac, 0x19, 0x9f, 0x90, 0xad, 0x66, - 0x4d, 0x36, 0x4e, 0x05, 0xc5, 0x4d, 0x5d, 0x0b, 0xb6, 0x98, 0x96, 0x6c, 0xde, 0x16, 0x93, 0x78, 0x63, 0x7e, 0x49, - 0xcb, 0xb1, 0x39, 0x17, 0xda, 0x8a, 0x41, 0xa3, 0x8e, 0x87, 0x8d, 0x9e, 0x13, 0x9d, 0x32, 0x5d, 0xaf, 0x1c, 0x37, - 0x55, 0xb5, 0xbf, 0x04, 0x0e, 0x9d, 0xda, 0x0a, 0x91, 0x56, 0xcb, 0x51, 0x43, 0x9e, 0x61, 0x59, 0x2b, 0x03, 0xe1, - 0x3a, 0x90, 0x76, 0xe7, 0xaf, 0xb3, 0xe4, 0x59, 0x70, 0xcb, 0x12, 0x8f, 0xf0, 0xa5, 0x66, 0x72, 0x8b, 0xe4, 0x15, - 0x93, 0x28, 0x0f, 0xe5, 0xc1, 0xee, 0xfc, 0x7c, 0xa2, 0xbd, 0x92, 0x2c, 0xe7, 0x33, 0xcd, 0x0b, 0x10, 0x42, 0xa6, - 0x6b, 0x09, 0x6d, 0xd9, 0x0b, 0xf6, 0xc4, 0xb8, 0x7a, 0x4a, 0x92, 0xf9, 0x25, 0x38, 0xf8, 0xeb, 0x7e, 0x9b, 0xa5, - 0x35, 0xf8, 0xdb, 0xbb, 0xc5, 0x4c, 0x6c, 0x2f, 0xb4, 0x19, 0xa9, 0x90, 0x7d, 0xff, 0xd7, 0x81, 0x78, 0x13, 0x98, - 0x1f, 0xea, 0xa8, 0x71, 0x74, 0x4f, 0x35, 0xfe, 0x2f, 0x1c, 0x36, 0x5a, 0x7a, 0xed, 0x68, 0xae, 0x91, 0x80, 0xc9, - 0x91, 0x7b, 0x55, 0xdf, 0x8b, 0x82, 0xbd, 0xe1, 0x81, 0x40, 0x59, 0xcd, 0xfe, 0x7e, 0xfd, 0x20, 0x00, 0x70, 0xa5, - 0x67, 0x1d, 0xaf, 0xe5, 0x67, 0xdb, 0x6d, 0x6c, 0xc0, 0xe5, 0x5a, 0xc1, 0x7f, 0x15, 0x47, 0xe8, 0xaf, 0xcd, 0x24, - 0x87, 0xed, 0xba, 0x1e, 0x0a, 0x3a, 0x64, 0xcc, 0x29, 0x06, 0x71, 0x3d, 0xf9, 0x92, 0xf5, 0x3a, 0x30, 0x6f, 0x82, - 0xda, 0xfc, 0x62, 0xef, 0xc5, 0x5e, 0x65, 0xd2, 0xa0, 0x29, 0x82, 0xff, 0x02, 0xf5, 0x01, 0xfe, 0xf4, 0x82, 0xb0, - 0x28, 0x7e, 0x50, 0x1c, 0xce, 0xb0, 0xc0, 0x66, 0x56, 0x1a, 0x5a, 0x07, 0xc6, 0x8f, 0x19, 0x3d, 0xf5, 0x09, 0xc6, - 0xa1, 0xc8, 0xd9, 0x39, 0x38, 0xc9, 0x51, 0xaa, 0x95, 0xfb, 0xfb, 0x4d, 0x9e, 0x84, 0x49, 0x4b, 0x3b, 0xf7, 0x27, - 0x68, 0x1f, 0xab, 0x3f, 0xff, 0xc7, 0xb1, 0x9b, 0x31, 0x2c, 0xa3, 0x76, 0x13, 0xbf, 0x3f, 0x81, 0x1b, 0x35, 0x4f, - 0xa9, 0xdb, 0xbd, 0x33, 0x7f, 0xd7, 0xb7, 0xf6, 0xf8, 0x69, 0xa0, 0x34, 0x86, 0xb1, 0x00, 0xb1, 0x98, 0xc6, 0x4b, - 0x63, 0x79, 0x07, 0x33, 0x37, 0x6c, 0xa3, 0x6f, 0x66, 0x7c, 0xeb, 0xe7, 0x0c, 0x41, 0x03, 0x62, 0xd4, 0x74, 0x69, - 0x45, 0xa5, 0xdf, 0xa5, 0xb8, 0xf3, 0x26, 0x14, 0x68, 0x9e, 0xfb, 0x1c, 0x0a, 0xa7, 0xa3, 0x48, 0x25, 0x25, 0xc0, - 0x3a, 0x59, 0x7e, 0xd6, 0x2e, 0xe2, 0xfd, 0x85, 0xd0, 0x25, 0xbc, 0xae, 0x53, 0xc4, 0xaf, 0xc5, 0x70, 0x33, 0x4d, - 0x37, 0x1b, 0xa8, 0x2f, 0xcb, 0x2e, 0x9d, 0x83, 0x23, 0xf8, 0x6a, 0x8d, 0x54, 0x44, 0xce, 0x50, 0x5f, 0x24, 0xd6, - 0x70, 0xe8, 0x23, 0x0e, 0xd6, 0xa5, 0xea, 0x80, 0x26, 0xdf, 0xac, 0x76, 0xd9, 0x69, 0xa3, 0x39, 0x4d, 0x4d, 0x31, - 0x83, 0x18, 0x0e, 0x3e, 0x89, 0xd0, 0xd9, 0xb4, 0x8f, 0x9b, 0xac, 0x89, 0x33, 0x34, 0x0d, 0xd7, 0x31, 0x5a, 0x55, - 0xc2, 0xac, 0xb2, 0x8d, 0xc7, 0x53, 0xda, 0x55, 0xeb, 0x9e, 0x08, 0x3b, 0xe7, 0xd2, 0x51, 0xab, 0x09, 0xda, 0x26, - 0x22, 0x85, 0xe2, 0xb0, 0xd5, 0x84, 0xbe, 0x3b, 0xac, 0x58, 0x61, 0xc5, 0xdb, 0x25, 0xf5, 0x3a, 0x66, 0x1c, 0xae, - 0x84, 0xc5, 0x1c, 0x60, 0xe0, 0x97, 0xb1, 0xf2, 0x81, 0x9a, 0xe4, 0x54, 0x7a, 0x48, 0x79, 0x97, 0x52, 0x9d, 0xcc, - 0x63, 0xff, 0xe2, 0xee, 0xf5, 0xa5, 0xf9, 0xe2, 0x6e, 0x32, 0xde, 0x42, 0x98, 0x3a, 0x6d, 0xa0, 0x2e, 0x6b, 0x3b, - 0x22, 0x74, 0xb9, 0x4f, 0xb4, 0x18, 0xef, 0x29, 0x74, 0x97, 0x93, 0xce, 0x09, 0xd5, 0x7f, 0x0a, 0x44, 0xf9, 0x88, - 0x32, 0xc8, 0xdd, 0x9d, 0x8a, 0x5d, 0xc9, 0xd3, 0x9d, 0x24, 0x3e, 0x56, 0xdf, 0x30, 0x32, 0x68, 0x6d, 0x9d, 0xa8, - 0xf6, 0x9d, 0xf5, 0x3e, 0x41, 0x8c, 0x75, 0x4b, 0x2c, 0xcb, 0xb7, 0xcb, 0x1d, 0xd2, 0x80, 0x38, 0xb7, 0x97, 0x61, - 0x5d, 0xce, 0xd1, 0x08, 0xf3, 0x65, 0x2c, 0x25, 0x24, 0x20, 0x92, 0x3e, 0x4e, 0x48, 0x97, 0xe2, 0xef, 0xba, 0xc3, - 0x65, 0x79, 0x12, 0xc2, 0x7c, 0xf4, 0x32, 0x66, 0x52, 0x97, 0xe0, 0x6b, 0xbc, 0xc9, 0x2f, 0x09, 0xb8, 0x24, 0x9a, - 0x5e, 0x5f, 0x71, 0xaa, 0x4b, 0xd5, 0xdb, 0x16, 0x14, 0xa7, 0xe9, 0x57, 0x2d, 0xc9, 0x2d, 0xf1, 0x99, 0xb1, 0x60, - 0x10, 0xa8, 0x43, 0x45, 0x2f, 0x03, 0x15, 0x63, 0x2c, 0x22, 0x4e, 0x97, 0x5f, 0x32, 0xa9, 0xae, 0x74, 0xa8, 0xda, - 0xb3, 0xf7, 0x17, 0x4f, 0x76, 0x78, 0x34, 0x7d, 0xfa, 0xe3, 0xeb, 0x41, 0x0f, 0xaa, 0xa0, 0x53, 0xb8, 0xdd, 0xd9, - 0xc0, 0x50, 0x28, 0x40, 0x56, 0x76, 0x2e, 0xcb, 0x00, 0xea, 0x4c, 0x4d, 0x49, 0x77, 0x7d, 0xdd, 0x9b, 0x44, 0x7a, - 0xd9, 0x30, 0xe3, 0xe7, 0xd0, 0x92, 0x9f, 0x4d, 0xf3, 0xcb, 0x1d, 0x6d, 0x63, 0x39, 0xe2, 0x29, 0xb0, 0xb1, 0x30, - 0x78, 0x0f, 0x29, 0x6e, 0xc2, 0x20, 0x43, 0x0e, 0x92, 0xbc, 0xd2, 0x96, 0xe5, 0xb9, 0x96, 0x92, 0x0d, 0x33, 0x7e, - 0x4f, 0x8a, 0x02, 0xe5, 0x77, 0x89, 0xb7, 0x71, 0x43, 0x00, 0x4e, 0x50, 0xda, 0x1c, 0x39, 0x56, 0x71, 0x2b, 0xbf, - 0x31, 0x78, 0x11, 0x81, 0x9e, 0x29, 0x1c, 0xe3, 0xf9, 0xc3, 0x7e, 0x1c, 0x21, 0x48, 0x05, 0x3f, 0xac, 0xd4, 0x66, - 0x47, 0x2f, 0xfd, 0xd7, 0xac, 0xa6, 0x47, 0x46, 0xba, 0xdb, 0x24, 0x6a, 0xcb, 0x4e, 0x54, 0x80, 0x19, 0x44, 0x63, - 0xe0, 0x82, 0x3b, 0xc6, 0x34, 0x1f, 0xfe, 0xdb, 0x4f, 0xac, 0x3d, 0xcc, 0xdf, 0xce, 0x78, 0xe5, 0xc9, 0x4b, 0x64, - 0x81, 0x9a, 0x8f, 0x5d, 0x5f, 0x5e, 0xc6, 0x77, 0xeb, 0x3e, 0x9e, 0xba, 0x05, 0x59, 0x40, 0x80, 0x81, 0xf8, 0x99, - 0x33, 0xd1, 0x1b, 0xc2, 0x9d, 0xd4, 0xc4, 0xd3, 0x5a, 0xcd, 0x6f, 0xf2, 0xf6, 0xda, 0x45, 0x0d, 0xc9, 0x5b, 0x67, - 0xed, 0x66, 0x55, 0x7a, 0x6c, 0x4d, 0xf2, 0xfd, 0x9a, 0x49, 0x96, 0xfa, 0x5f, 0xc3, 0xad, 0xb1, 0x7d, 0xbb, 0x0a, - 0xcb, 0x3a, 0xcc, 0x5f, 0x5e, 0x5f, 0x72, 0x1c, 0xe7, 0xbc, 0xf8, 0x8d, 0x35, 0xb6, 0xf0, 0xe6, 0x64, 0x4b, 0xc2, - 0x65, 0x6a, 0x35, 0xf7, 0xac, 0x56, 0xb5, 0x67, 0x49, 0xc8, 0xcd, 0x5e, 0xf6, 0x00, 0x9d, 0xbf, 0x37, 0xe9, 0x73, - 0xfc, 0x5e, 0x67, 0xcd, 0xe9, 0x7b, 0x83, 0x34, 0xd7, 0x9f, 0x22, 0xb2, 0x78, 0x66, 0x9d, 0x3c, 0xaa, 0xec, 0x15, - 0x93, 0x69, 0x3e, 0x26, 0xe4, 0x0a, 0x61, 0x58, 0x55, 0xbb, 0x3e, 0x3d, 0xa1, 0xe2, 0x86, 0x03, 0xc8, 0x6d, 0x7c, - 0x3e, 0xc8, 0x0d, 0xfe, 0x5e, 0xd9, 0x59, 0x0e, 0x3a, 0x0b, 0x6d, 0x7e, 0xec, 0xa1, 0xee, 0xc7, 0xe1, 0x61, 0x08, - 0xae, 0xcc, 0xde, 0x9c, 0xaa, 0x5f, 0x03, 0xd2, 0xea, 0x9c, 0xdb, 0xae, 0x20, 0x17, 0x7b, 0xfd, 0x4a, 0xb9, 0x37, - 0x0a, 0x44, 0x63, 0x43, 0x49, 0xea, 0x2c, 0xf2, 0xdd, 0x90, 0x3a, 0xb9, 0xdb, 0xce, 0xe8, 0x68, 0x7d, 0xe2, 0x23, - 0xfe, 0x54, 0x0d, 0x55, 0x98, 0xaf, 0xe7, 0x36, 0xcb, 0x7a, 0x80, 0xc6, 0x11, 0x69, 0x56, 0xd7, 0x9b, 0x92, 0x5e, - 0xad, 0x88, 0x4c, 0x68, 0x0c, 0xbe, 0xc9, 0xe0, 0x20, 0x1f, 0x57, 0x42, 0x2f, 0x92, 0x6e, 0xca, 0x27, 0xfb, 0x5f, - 0x45, 0x7b, 0x31, 0x07, 0x10, 0xfb, 0x16, 0x5d, 0x60, 0xb6, 0x56, 0x60, 0x8f, 0xd0, 0x1c, 0x2f, 0x11, 0xbd, 0xac, - 0x2c, 0x54, 0x5c, 0x58, 0x13, 0xd6, 0x7a, 0x9f, 0xb5, 0xc2, 0x69, 0xee, 0xfc, 0x53, 0x5d, 0x84, 0x50, 0xe2, 0x53, - 0x99, 0xd5, 0x80, 0x62, 0xa8, 0x81, 0x64, 0x3f, 0x39, 0xbf, 0xf2, 0x59, 0x64, 0x06, 0xe4, 0x6b, 0xb7, 0xe3, 0x83, - 0x3b, 0x1e, 0x8c, 0x3b, 0xbe, 0x6d, 0x3f, 0xb5, 0xd6, 0x9b, 0x49, 0x56, 0x4d, 0x33, 0x73, 0xde, 0x05, 0x86, 0x1d, - 0x0e, 0x2e, 0xcf, 0xce, 0xe7, 0x2e, 0x68, 0xda, 0x13, 0x96, 0xa9, 0x45, 0x73, 0x1b, 0xf0, 0xe4, 0x23, 0x7a, 0x4a, - 0x23, 0x39, 0xbb, 0xc3, 0x7b, 0x20, 0x77, 0x28, 0x7d, 0x6a, 0x25, 0x5f, 0xb0, 0x62, 0xc1, 0x79, 0xb3, 0x20, 0x16, - 0xcb, 0xa6, 0xea, 0x25, 0x48, 0x3a, 0xc4, 0xf9, 0x6c, 0x70, 0x9d, 0x4a, 0xa1, 0x1b, 0xfc, 0x7f, 0x89, 0x91, 0x1c, - 0xb6, 0xa2, 0x20, 0x98, 0x3a, 0x27, 0x41, 0x25, 0x62, 0xff, 0x46, 0x86, 0x0e, 0xfe, 0x0c, 0xaa, 0x94, 0x7d, 0x44, - 0x97, 0x3e, 0xbb, 0x37, 0xc1, 0x89, 0xd8, 0xee, 0x19, 0xe9, 0x7c, 0x48, 0x68, 0x7f, 0x7e, 0xfe, 0xcd, 0x65, 0x1f, - 0x19, 0x62, 0xbe, 0xae, 0xdd, 0x9b, 0xf7, 0x20, 0xd5, 0xb3, 0x3f, 0x47, 0x2c, 0x86, 0xb3, 0xcc, 0x84, 0xe7, 0x51, - 0x4c, 0xaf, 0xdd, 0x37, 0x78, 0x12, 0x48, 0x18, 0x43, 0xd0, 0x3e, 0x5c, 0xe1, 0x9b, 0xaf, 0x22, 0x26, 0x6b, 0x48, - 0xf8, 0xf8, 0xac, 0xf8, 0xad, 0xb3, 0x17, 0xb5, 0xb8, 0x61, 0x68, 0xa6, 0x8e, 0xd3, 0x3c, 0x6f, 0xc1, 0x7d, 0x9e, - 0xda, 0x73, 0xa2, 0xd2, 0x68, 0x9d, 0xe7, 0xeb, 0x37, 0x61, 0x56, 0x2d, 0xdd, 0xe6, 0xef, 0xc2, 0xd8, 0x56, 0xa8, - 0x22, 0xff, 0xbc, 0x8b, 0xb0, 0x1f, 0x71, 0x1a, 0x68, 0x24, 0xbf, 0x6a, 0x4b, 0xbe, 0xf2, 0x4e, 0xc2, 0x2c, 0xcc, - 0x4d, 0xac, 0x8b, 0x8d, 0x32, 0x3f, 0x8b, 0xc9, 0xcf, 0x54, 0xe4, 0x63, 0xe3, 0x8a, 0xae, 0xf6, 0x09, 0xf1, 0xf0, - 0x68, 0x7d, 0x18, 0x77, 0xcb, 0x62, 0x6d, 0x56, 0xe6, 0x8b, 0xb2, 0x2b, 0xb5, 0xcf, 0xd3, 0x17, 0xfc, 0x68, 0xb1, - 0x3e, 0xd8, 0xb9, 0x97, 0x08, 0xc8, 0xa0, 0x5a, 0x96, 0xb6, 0x43, 0xe4, 0xe1, 0xe5, 0x26, 0x2f, 0x79, 0x9b, 0x27, - 0x2a, 0x4a, 0xdb, 0x21, 0xf0, 0xdd, 0x7d, 0x9d, 0x1c, 0xd0, 0x25, 0xcc, 0xd3, 0x15, 0x40, 0x6b, 0xc0, 0x42, 0x6e, - 0x56, 0x27, 0xf6, 0x5c, 0x95, 0x6c, 0xda, 0xdb, 0x35, 0xf9, 0x73, 0x07, 0x94, 0x13, 0x6e, 0xec, 0xcb, 0xc8, 0xb0, - 0x5c, 0x95, 0x6e, 0x84, 0xcf, 0xfa, 0xc8, 0x9d, 0x67, 0x1f, 0xf0, 0xc3, 0x6f, 0xc9, 0x3d, 0xfa, 0xeb, 0x3c, 0x32, - 0x2d, 0xdf, 0x16, 0x34, 0x6a, 0x1c, 0xa2, 0xf1, 0x56, 0x12, 0x10, 0x15, 0x55, 0x03, 0x1e, 0x53, 0x7e, 0x16, 0x2c, - 0x8f, 0x64, 0x94, 0x1d, 0xf2, 0xa5, 0xb6, 0xfb, 0xb1, 0x35, 0xf1, 0xcf, 0xac, 0x43, 0xab, 0xac, 0x4f, 0x86, 0x2f, - 0xb5, 0xdd, 0xde, 0x7b, 0xa1, 0x80, 0x08, 0xb0, 0x87, 0xc1, 0xe7, 0xd8, 0x5a, 0x2d, 0xf8, 0xfc, 0xf8, 0xf9, 0x81, - 0x3b, 0x56, 0xcc, 0x79, 0xdf, 0xf5, 0x5d, 0x80, 0x92, 0xcc, 0x08, 0x03, 0x3b, 0x66, 0x37, 0xc6, 0x90, 0xc4, 0x49, - 0xa3, 0x71, 0x1f, 0xc4, 0x09, 0xbd, 0x35, 0xec, 0x00, 0x70, 0x89, 0x3c, 0x19, 0x2e, 0x53, 0x48, 0x97, 0xc8, 0x87, - 0xe9, 0x7b, 0x5c, 0x91, 0x45, 0x02, 0x7c, 0xc3, 0x6b, 0x25, 0xdb, 0x26, 0x58, 0x41, 0x8b, 0x62, 0x0e, 0x64, 0x3a, - 0x4b, 0x15, 0xdf, 0x30, 0xe2, 0x9c, 0x3f, 0x74, 0x9b, 0x37, 0x17, 0x33, 0x5e, 0x3f, 0x9f, 0xfa, 0xb4, 0x97, 0x09, - 0xed, 0x68, 0x4e, 0x33, 0x30, 0xa0, 0xe8, 0x57, 0xc5, 0xe6, 0x4f, 0xb0, 0x44, 0xc9, 0x3f, 0xda, 0xc8, 0xce, 0x9f, - 0x10, 0xfa, 0x88, 0x24, 0x60, 0xa2, 0xb1, 0xfd, 0x74, 0x4e, 0xd1, 0xdb, 0xaa, 0x86, 0xae, 0x08, 0x0b, 0xef, 0x83, - 0x1d, 0x5b, 0xb8, 0x36, 0x43, 0xd1, 0x38, 0xa2, 0x1e, 0x98, 0xf7, 0x65, 0xc7, 0x69, 0xbe, 0x6f, 0x6c, 0x10, 0xa4, - 0x3e, 0x6f, 0x45, 0x26, 0x07, 0x24, 0x25, 0x36, 0xb0, 0xf0, 0xb8, 0x79, 0xba, 0xac, 0x4b, 0xbe, 0x77, 0x59, 0x9d, - 0xba, 0xa2, 0xb1, 0x85, 0x12, 0x67, 0x2c, 0x1a, 0x8c, 0x29, 0x11, 0x49, 0xe6, 0x42, 0xb0, 0x46, 0xc3, 0xdf, 0x7c, - 0x22, 0x68, 0x3e, 0xe1, 0xb1, 0xf7, 0x09, 0x77, 0x32, 0x99, 0xde, 0x50, 0x13, 0x65, 0x3b, 0x7a, 0xf7, 0xf3, 0x81, - 0xd2, 0x4e, 0x73, 0x3e, 0x96, 0x31, 0x73, 0xc9, 0x02, 0x94, 0x99, 0x08, 0x11, 0x90, 0x43, 0x8f, 0x3b, 0xc9, 0x22, - 0x41, 0xaf, 0xf1, 0x15, 0x26, 0x52, 0xd3, 0x91, 0xd9, 0xeb, 0x6a, 0x22, 0x1a, 0x8f, 0x1c, 0x29, 0xf0, 0x62, 0xbc, - 0xc9, 0xa8, 0x4b, 0xb1, 0x5a, 0xbc, 0x61, 0x92, 0x29, 0x7e, 0xf2, 0xd7, 0xf6, 0x27, 0x27, 0xe4, 0xbd, 0x9e, 0x5a, - 0xa1, 0xdf, 0xf3, 0xc6, 0xd6, 0xa5, 0xa0, 0xdd, 0xff, 0x6c, 0xc9, 0x28, 0xda, 0x98, 0x56, 0xcf, 0xe2, 0x4b, 0xfd, - 0xa2, 0x97, 0xc8, 0xe5, 0x4d, 0x1e, 0xdb, 0x87, 0x11, 0xa3, 0xd0, 0x5a, 0x85, 0xd9, 0x7b, 0x8f, 0x62, 0x63, 0xef, - 0xb5, 0x42, 0x34, 0xce, 0x21, 0xba, 0x84, 0xcb, 0x8d, 0x97, 0xc8, 0x24, 0x3e, 0x39, 0xe3, 0x2c, 0xf3, 0x6f, 0xa9, - 0x48, 0x58, 0xce, 0x32, 0x8f, 0xd1, 0xc3, 0xde, 0x54, 0x25, 0x9b, 0x02, 0x4e, 0x51, 0xd6, 0x8a, 0xb8, 0x99, 0xce, - 0x77, 0xad, 0x40, 0x6b, 0xe2, 0x67, 0x30, 0x8a, 0xc9, 0x6a, 0xf2, 0xe6, 0xd5, 0x7f, 0x73, 0xe2, 0x5f, 0x54, 0x33, - 0xfe, 0x50, 0xc6, 0xf8, 0x97, 0x8b, 0x75, 0x58, 0xf9, 0x7d, 0x73, 0x28, 0x09, 0x70, 0x8d, 0x93, 0x4a, 0x7c, 0xad, - 0x70, 0x8e, 0x00, 0xfa, 0xae, 0xbb, 0x24, 0xd4, 0x0b, 0x8e, 0x06, 0x1d, 0x16, 0x23, 0x58, 0x1c, 0x13, 0x7d, 0x74, - 0xff, 0x77, 0xc5, 0x00, 0x2d, 0x46, 0x23, 0xd7, 0x5f, 0xcf, 0xc5, 0xb1, 0x22, 0xc9, 0x26, 0x57, 0x58, 0x88, 0x11, - 0x02, 0x08, 0xb9, 0x48, 0x02, 0x1d, 0xe7, 0x07, 0x9f, 0x8a, 0x17, 0x8d, 0x48, 0x01, 0x68, 0x48, 0xfb, 0x6b, 0x80, - 0xc0, 0x21, 0x98, 0x23, 0x41, 0x30, 0x92, 0x67, 0x01, 0x91, 0x13, 0xb2, 0x77, 0xa2, 0x42, 0x84, 0x59, 0x1d, 0xec, - 0x7a, 0x83, 0xba, 0x80, 0x2d, 0x9a, 0xe7, 0x48, 0x50, 0x54, 0x21, 0x22, 0x2c, 0x2b, 0x36, 0x57, 0xaf, 0xd6, 0xbc, - 0x47, 0x85, 0x17, 0x85, 0x2e, 0x99, 0x3e, 0xcd, 0x2e, 0xa1, 0xcc, 0x2f, 0xc0, 0xbf, 0x16, 0x75, 0x60, 0xcf, 0xbb, - 0x0e, 0x1d, 0x5b, 0x71, 0x72, 0x2a, 0x2e, 0x7f, 0xce, 0x39, 0x00, 0x4a, 0x7a, 0xd6, 0x21, 0x86, 0x06, 0x9d, 0xeb, - 0x96, 0x6b, 0xd2, 0x00, 0x0c, 0x97, 0x8c, 0x57, 0x86, 0xda, 0xd6, 0xb3, 0xeb, 0x17, 0x7f, 0x46, 0x66, 0x8e, 0x0e, - 0x4d, 0xbc, 0x88, 0x12, 0x77, 0x59, 0x5c, 0x02, 0x15, 0xaf, 0xf3, 0x51, 0xad, 0x6b, 0xe5, 0x95, 0xed, 0x1a, 0x87, - 0x0b, 0x1a, 0x82, 0x2d, 0xbc, 0x6a, 0xc0, 0x75, 0xb8, 0xac, 0x8b, 0xc0, 0x8f, 0x9e, 0x16, 0x05, 0xca, 0xdb, 0xb5, - 0x20, 0x0d, 0x3d, 0xd9, 0x89, 0xca, 0xa7, 0x69, 0xe9, 0xef, 0xcd, 0x7a, 0xf9, 0x8e, 0x16, 0x53, 0x8e, 0x43, 0x85, - 0x3f, 0x03, 0xc2, 0xa6, 0xb8, 0x1b, 0x14, 0x0d, 0xe5, 0xc5, 0x0d, 0x84, 0x72, 0x3a, 0x3b, 0x7c, 0xdb, 0x69, 0x56, - 0x11, 0xc4, 0xbc, 0x1f, 0xfd, 0xa7, 0x5c, 0x56, 0x60, 0xe9, 0x74, 0xec, 0x71, 0x93, 0x39, 0x47, 0x79, 0xde, 0xf6, - 0x8d, 0xd4, 0xa9, 0x45, 0x48, 0x55, 0xbc, 0x5a, 0xf4, 0x55, 0xba, 0xf7, 0x69, 0x83, 0x99, 0xb7, 0x59, 0xb1, 0x07, - 0xd9, 0x8a, 0x8d, 0x68, 0x96, 0xbc, 0xee, 0x31, 0x25, 0xd5, 0x47, 0x4c, 0x1c, 0xa0, 0x5b, 0xde, 0x2f, 0x1e, 0xc3, - 0x54, 0xaf, 0x30, 0x62, 0xb5, 0xd9, 0x5f, 0x00, 0x73, 0x6f, 0xdc, 0xcf, 0x35, 0x7b, 0xe6, 0x53, 0x29, 0xa4, 0x58, - 0x85, 0xf0, 0xba, 0x2a, 0x33, 0x38, 0xf9, 0x14, 0x82, 0x21, 0x7f, 0xf9, 0x31, 0xf3, 0xeb, 0x55, 0xf7, 0x87, 0x19, - 0xcf, 0xea, 0x7b, 0x3a, 0x60, 0x6f, 0xa8, 0x0d, 0xaf, 0x7b, 0x0a, 0x71, 0x45, 0x98, 0xdd, 0xb3, 0x53, 0x60, 0xcd, - 0x64, 0x70, 0xdf, 0xb1, 0x29, 0xea, 0x09, 0xfc, 0x28, 0x9c, 0x37, 0x0b, 0xe6, 0x6f, 0x79, 0xc5, 0x68, 0xde, 0x4c, - 0x91, 0x74, 0xe1, 0xc1, 0x88, 0x4f, 0x19, 0x97, 0x28, 0x5b, 0xfa, 0x90, 0x7e, 0x87, 0x78, 0x23, 0xc7, 0x9b, 0xb5, - 0xf4, 0x8d, 0xe2, 0xb0, 0xd5, 0x64, 0x1b, 0x12, 0xa6, 0x00, 0x68, 0x91, 0xf3, 0x11, 0x30, 0x5d, 0xaf, 0xd9, 0x8a, - 0xb2, 0x0d, 0x61, 0x91, 0x86, 0x86, 0x50, 0x34, 0xac, 0x17, 0x4c, 0x4d, 0x8a, 0xbb, 0x43, 0x23, 0x26, 0xc6, 0x73, - 0xc6, 0xf2, 0x0b, 0xf2, 0xd3, 0xa2, 0x4c, 0x5b, 0x63, 0x2f, 0xae, 0xcc, 0x0a, 0x26, 0x1e, 0x34, 0x13, 0x20, 0x09, - 0xe0, 0xd5, 0x2a, 0xea, 0x8c, 0xf3, 0x54, 0x62, 0x73, 0x7f, 0xe3, 0x09, 0x19, 0x20, 0xd0, 0x29, 0x69, 0xa2, 0xa3, - 0xab, 0xf5, 0x41, 0x8a, 0xbd, 0x00, 0x94, 0x9d, 0xb0, 0xc1, 0x32, 0x86, 0x06, 0x58, 0xd7, 0x66, 0x73, 0x8a, 0x6b, - 0xd9, 0x53, 0x27, 0xb3, 0x36, 0xf2, 0x34, 0x7f, 0xb8, 0xb4, 0x30, 0x22, 0xc6, 0x45, 0xcd, 0x27, 0xe2, 0xab, 0x29, - 0x46, 0xa0, 0xf5, 0x04, 0xe4, 0xf5, 0x70, 0xca, 0xdb, 0x75, 0x8d, 0x71, 0xe9, 0x9a, 0x64, 0xf2, 0xa2, 0xc0, 0xa9, - 0x2f, 0x93, 0x7f, 0x19, 0x7f, 0x02, 0x9b, 0x78, 0x4e, 0x27, 0x3e, 0x4e, 0xb6, 0x3a, 0x51, 0x54, 0x40, 0x54, 0x8b, - 0xf0, 0x4a, 0x7a, 0x11, 0x92, 0x9a, 0xf1, 0x32, 0x10, 0xea, 0x78, 0xa3, 0x01, 0xc9, 0xfb, 0xba, 0x12, 0x5e, 0x5b, - 0xbe, 0x5c, 0x84, 0xbc, 0xd9, 0x0e, 0x6b, 0x77, 0x3e, 0x9d, 0x6e, 0x6f, 0x56, 0xc8, 0x0d, 0x50, 0x3a, 0x19, 0xae, - 0x82, 0xbe, 0xa1, 0xd9, 0x91, 0x3c, 0xa1, 0x23, 0x5f, 0x66, 0x65, 0x4c, 0xc2, 0xe2, 0x74, 0x43, 0x8e, 0x4a, 0x5e, - 0x29, 0xed, 0x2e, 0x64, 0x4f, 0x71, 0xaa, 0x3b, 0x58, 0x0f, 0x44, 0xe5, 0x10, 0x53, 0x6a, 0x14, 0x9e, 0xc4, 0xad, - 0x1c, 0x59, 0xfb, 0xb0, 0x4e, 0x2e, 0xbc, 0x8a, 0x33, 0x1d, 0xd2, 0xb6, 0xb5, 0xb9, 0xdb, 0x6c, 0x54, 0xa4, 0xcb, - 0x12, 0x69, 0xef, 0xed, 0xfa, 0x65, 0xd5, 0xa3, 0x49, 0x8a, 0xd2, 0xf7, 0x25, 0x8e, 0x2f, 0xeb, 0xa8, 0x7b, 0x3b, - 0x89, 0x25, 0x7c, 0x64, 0x99, 0x38, 0x05, 0x77, 0xc0, 0x58, 0x65, 0x27, 0xa2, 0x16, 0x48, 0xea, 0xbf, 0xf4, 0xb2, - 0x9e, 0x82, 0x14, 0xef, 0x96, 0xf5, 0x7a, 0x86, 0xc4, 0x7c, 0xc9, 0x18, 0xad, 0xc1, 0x00, 0x55, 0xd0, 0xf3, 0xd5, - 0x73, 0x40, 0xe0, 0x99, 0x4d, 0x2f, 0xbf, 0x13, 0x45, 0x9c, 0xdd, 0x65, 0x85, 0x26, 0x5a, 0x3c, 0xcb, 0x1e, 0x16, - 0xd8, 0x57, 0x0a, 0xf2, 0xec, 0xea, 0x25, 0x85, 0x96, 0x4d, 0x18, 0xf3, 0x1b, 0xa6, 0xbe, 0x02, 0xfb, 0xf2, 0x5a, - 0x99, 0x74, 0x56, 0x77, 0xb5, 0xc6, 0x02, 0xcf, 0x8b, 0x2a, 0x48, 0xa2, 0xde, 0x86, 0x99, 0x95, 0x89, 0x53, 0x3e, - 0xaa, 0x0a, 0x96, 0xb3, 0xf3, 0xdd, 0x94, 0xd0, 0xe8, 0xd1, 0x7f, 0xd5, 0x35, 0x09, 0xaa, 0xf4, 0xc8, 0x8c, 0x63, - 0x70, 0x11, 0x2d, 0xf4, 0xb3, 0x76, 0x5d, 0x54, 0x74, 0x7e, 0xcd, 0x62, 0x5a, 0x5f, 0x97, 0x92, 0x36, 0x3a, 0x2b, - 0xa4, 0xc4, 0xa2, 0x31, 0xcf, 0x2a, 0x64, 0xfb, 0xbd, 0xab, 0xad, 0xd5, 0x06, 0xc2, 0x4d, 0x26, 0x25, 0x48, 0x4a, - 0xc2, 0x3f, 0x94, 0x67, 0x5b, 0x46, 0x34, 0x2a, 0xad, 0x91, 0x2e, 0xaa, 0xd6, 0x9c, 0xb7, 0xa2, 0x30, 0x7f, 0xc2, - 0xe2, 0xbc, 0x46, 0xde, 0x08, 0x85, 0x00, 0xe1, 0x22, 0xfc, 0x39, 0x80, 0xfb, 0x3b, 0x96, 0x15, 0x0f, 0xab, 0xe9, - 0x29, 0xaf, 0xd4, 0x36, 0x8e, 0xc0, 0x01, 0x79, 0x8b, 0x93, 0xc1, 0x05, 0x92, 0x11, 0x26, 0x7e, 0x85, 0x68, 0x83, - 0xa5, 0x62, 0x52, 0x5a, 0x7c, 0xae, 0x6c, 0x42, 0xa7, 0x4f, 0xcb, 0x8a, 0xb9, 0xfa, 0x80, 0x3e, 0x5b, 0x55, 0x76, - 0xbe, 0x76, 0x0c, 0x43, 0x7e, 0x32, 0x5b, 0xe4, 0x49, 0xc9, 0xef, 0xc0, 0x98, 0x96, 0x37, 0x49, 0x6e, 0x53, 0x0d, - 0xfa, 0x58, 0x55, 0xf8, 0xea, 0x3d, 0xe7, 0x22, 0x3e, 0x98, 0xab, 0x11, 0xe9, 0x57, 0x83, 0xa9, 0x7f, 0xad, 0xdf, - 0xa7, 0x92, 0xe8, 0xd8, 0xe9, 0xba, 0xd0, 0xbc, 0x83, 0x4b, 0x2a, 0x2a, 0x72, 0x35, 0x0c, 0x51, 0x40, 0xa1, 0x94, - 0x91, 0xda, 0xd7, 0x12, 0x59, 0x9b, 0x95, 0x3b, 0xd9, 0x7e, 0xb4, 0x9a, 0xcd, 0x30, 0xe5, 0xa5, 0xf5, 0xae, 0xac, - 0x2b, 0x3f, 0xe8, 0xca, 0x0e, 0xe9, 0x83, 0x7a, 0x22, 0x97, 0x4d, 0xe1, 0xe7, 0x5b, 0x9b, 0x03, 0x94, 0xfa, 0x5f, - 0x68, 0x5c, 0x86, 0xb3, 0x81, 0x4d, 0xe8, 0xea, 0x40, 0x7c, 0x50, 0xe6, 0x92, 0x6c, 0x5f, 0xf0, 0x84, 0xba, 0xee, - 0x82, 0x79, 0xd6, 0x15, 0x8b, 0xa2, 0xff, 0xf8, 0x9e, 0x85, 0xf7, 0xf4, 0xc9, 0xb0, 0xf2, 0x80, 0x7a, 0x79, 0xac, - 0xe5, 0xb2, 0x0e, 0x4c, 0x56, 0x12, 0x53, 0x4d, 0x58, 0xd5, 0x2d, 0xcd, 0x61, 0xeb, 0x8c, 0xe6, 0x34, 0xdd, 0x24, - 0xdf, 0x1f, 0x28, 0x9c, 0x44, 0x86, 0xbf, 0x5a, 0xdb, 0x81, 0x81, 0x06, 0x89, 0xea, 0x02, 0x54, 0x4a, 0xdc, 0x2f, - 0x54, 0x6b, 0x52, 0x95, 0x65, 0x07, 0x0a, 0x4b, 0xbe, 0x51, 0xd5, 0x2d, 0xbf, 0x5d, 0x94, 0xa8, 0x60, 0x94, 0xff, - 0xa9, 0x75, 0x59, 0x40, 0xb4, 0x1d, 0x5c, 0xeb, 0xb1, 0x57, 0x3e, 0xed, 0x62, 0x38, 0xde, 0x61, 0x57, 0xbf, 0xd3, - 0xea, 0x1c, 0xd5, 0x85, 0xa5, 0xc4, 0xb9, 0x57, 0xc8, 0x73, 0xb6, 0xb3, 0x9f, 0xf3, 0xf6, 0xa2, 0x83, 0x32, 0x7e, - 0xb9, 0x35, 0xcc, 0x6c, 0x16, 0xae, 0x8a, 0x80, 0x19, 0x7d, 0x75, 0x25, 0x00, 0xb0, 0x80, 0x29, 0x61, 0x61, 0xc4, - 0x8e, 0xa3, 0x3c, 0x73, 0x4c, 0x65, 0x9f, 0x7b, 0x46, 0xd7, 0x37, 0x27, 0xee, 0x91, 0xcb, 0x1d, 0xb4, 0x5a, 0x89, - 0xe3, 0x64, 0x61, 0x2d, 0x5f, 0x74, 0x05, 0xa6, 0x09, 0x49, 0x97, 0x5f, 0xcd, 0x81, 0x54, 0xad, 0xee, 0xc4, 0x3c, - 0x67, 0x13, 0x40, 0x6f, 0xdf, 0x35, 0x01, 0x8f, 0xc9, 0xf1, 0xcd, 0xe8, 0xde, 0x02, 0x33, 0xd2, 0xf5, 0x85, 0xd0, - 0x77, 0x2b, 0x99, 0xaf, 0x5b, 0xa3, 0x60, 0x44, 0xbb, 0x20, 0xfc, 0x8d, 0xe3, 0x12, 0xdb, 0xd0, 0xd2, 0x5d, 0x2f, - 0x82, 0x18, 0x08, 0x44, 0x72, 0x63, 0x14, 0x78, 0x7f, 0x76, 0xae, 0x7b, 0x31, 0x64, 0x29, 0x68, 0x46, 0x0f, 0x5e, - 0xb0, 0x5d, 0x26, 0x24, 0x13, 0xf9, 0x0e, 0x0d, 0x81, 0x95, 0xb9, 0x13, 0xfd, 0x08, 0xf0, 0xaa, 0xb8, 0xb5, 0xdf, - 0x27, 0xfa, 0xbd, 0xea, 0x43, 0x71, 0xe9, 0xb5, 0x82, 0xca, 0x6a, 0x24, 0xde, 0x0c, 0x3a, 0xe0, 0xd1, 0xe5, 0xa7, - 0x4a, 0x8c, 0x66, 0x10, 0x3c, 0x40, 0x14, 0x11, 0x65, 0xf6, 0x95, 0xdc, 0x16, 0x77, 0x87, 0x53, 0x40, 0x20, 0x63, - 0xd6, 0x65, 0x17, 0xc3, 0x44, 0x60, 0x89, 0xf9, 0x66, 0x7c, 0x31, 0x82, 0x1f, 0xdb, 0x7d, 0x54, 0xce, 0x45, 0xb9, - 0x06, 0x63, 0x1b, 0xf3, 0x99, 0x15, 0x7b, 0x82, 0x6f, 0x34, 0xd2, 0xd1, 0xcb, 0x18, 0xca, 0x25, 0xca, 0xc1, 0x4a, - 0xf7, 0x09, 0xf4, 0x60, 0x45, 0x15, 0x20, 0xce, 0x6e, 0x9c, 0x71, 0x6a, 0xc0, 0x2c, 0xb9, 0x21, 0x2d, 0x68, 0x72, - 0xea, 0xf0, 0x6b, 0x3a, 0x7a, 0x0e, 0x30, 0x29, 0xee, 0xc9, 0xcb, 0xe1, 0xd4, 0xb4, 0xd6, 0xd3, 0x5a, 0x7f, 0x03, - 0x0d, 0xb1, 0xa0, 0x2d, 0x6a, 0x67, 0x6f, 0xc0, 0xcc, 0x17, 0x6c, 0x1b, 0x6a, 0x8d, 0x3f, 0xec, 0x87, 0x16, 0x76, - 0x92, 0xe1, 0x34, 0x88, 0x24, 0xce, 0xc1, 0x34, 0x0a, 0xf1, 0x87, 0x56, 0x97, 0x15, 0xab, 0xf2, 0xc4, 0x6f, 0xdd, - 0x5f, 0x2b, 0xa5, 0xd1, 0xe7, 0x9f, 0xc5, 0xc2, 0x19, 0x99, 0xd8, 0xaf, 0xf6, 0xc2, 0xc2, 0xa2, 0xb2, 0x03, 0x57, - 0x35, 0x1a, 0x9e, 0x25, 0x2f, 0x85, 0xa7, 0x1c, 0x56, 0x68, 0x99, 0x09, 0x3f, 0x8f, 0xf3, 0x6a, 0xec, 0xcd, 0xa8, - 0x46, 0xb5, 0x62, 0x0a, 0xea, 0xf4, 0xe8, 0x40, 0xb8, 0x4c, 0x01, 0x56, 0xd9, 0x02, 0xd4, 0x9f, 0x5f, 0xe7, 0x1e, - 0x7d, 0x1a, 0x06, 0x2f, 0xca, 0x31, 0xd6, 0x20, 0xe8, 0x1d, 0x44, 0x21, 0x46, 0x47, 0xd2, 0x37, 0x29, 0xbd, 0xf9, - 0x23, 0x8f, 0xf1, 0x0d, 0xf1, 0x77, 0xc1, 0xce, 0xb7, 0xdc, 0xe7, 0xce, 0xe2, 0x35, 0x66, 0xcd, 0x75, 0xb4, 0x0e, - 0x43, 0xdd, 0x25, 0x30, 0x0d, 0x41, 0xc3, 0x44, 0x13, 0x04, 0x63, 0xc9, 0x73, 0xba, 0x36, 0x9a, 0xa0, 0xf4, 0x42, - 0x12, 0xfc, 0xbf, 0x4a, 0x78, 0x39, 0xa7, 0x72, 0x3a, 0x8a, 0x5a, 0xf0, 0x10, 0x5c, 0x55, 0x43, 0x2d, 0x50, 0x27, - 0x0f, 0x4f, 0xa1, 0x25, 0x63, 0x05, 0x9e, 0x63, 0x9f, 0x9b, 0x34, 0xc0, 0x78, 0x24, 0xf3, 0xb0, 0x61, 0xc2, 0x15, - 0x7a, 0xb6, 0x98, 0x33, 0x3b, 0xe6, 0x6d, 0x85, 0x91, 0xbd, 0x19, 0x97, 0x78, 0xf6, 0x3a, 0x16, 0xb3, 0xed, 0x71, - 0x68, 0x31, 0x37, 0x0f, 0x1c, 0xb5, 0x58, 0x9b, 0x08, 0x0a, 0x7d, 0x03, 0x5b, 0x80, 0xc1, 0x4e, 0xce, 0xaa, 0x51, - 0x42, 0xb2, 0xe6, 0x16, 0x40, 0x9e, 0xe9, 0x28, 0x84, 0x54, 0x36, 0xfc, 0xc4, 0x5a, 0xf2, 0x77, 0x60, 0xe7, 0xfc, - 0xcd, 0xc3, 0x40, 0x88, 0xda, 0x46, 0x68, 0x02, 0xfa, 0xea, 0xb5, 0x96, 0x10, 0x20, 0x0c, 0x82, 0x2b, 0xfa, 0xcb, - 0x9e, 0x84, 0x6e, 0x2e, 0xaf, 0xcb, 0x7b, 0x42, 0xd4, 0x75, 0xb0, 0x1e, 0x91, 0xf1, 0xdc, 0x15, 0xfe, 0xab, 0xde, - 0x0f, 0x12, 0x25, 0x14, 0x4b, 0x45, 0xf2, 0x23, 0xaa, 0x23, 0xc6, 0x11, 0xda, 0xd1, 0x49, 0x3e, 0x76, 0x85, 0x81, - 0x38, 0x54, 0x5b, 0x66, 0x7a, 0x7e, 0xc4, 0x56, 0x33, 0xf6, 0x28, 0xb8, 0x9e, 0x2c, 0x35, 0xbc, 0x40, 0x94, 0xae, - 0x7f, 0x04, 0x34, 0x93, 0xff, 0x98, 0xd9, 0xe6, 0xa9, 0xd9, 0x47, 0x45, 0xdf, 0x64, 0x76, 0x8e, 0x2c, 0x38, 0x8a, - 0xc2, 0x2b, 0x21, 0xf0, 0x52, 0x47, 0x3c, 0x35, 0x52, 0xc4, 0x3c, 0x64, 0x9a, 0x82, 0x5c, 0x0f, 0xe8, 0x0b, 0x4d, - 0x8e, 0xaa, 0x2e, 0xc7, 0xf4, 0x40, 0x81, 0x58, 0x1d, 0xdb, 0x11, 0xe2, 0xe2, 0x36, 0x11, 0xc3, 0x69, 0xd5, 0x65, - 0x0f, 0x49, 0xad, 0xf3, 0x74, 0xcc, 0x14, 0xe4, 0xc0, 0x4d, 0x58, 0xfd, 0xce, 0x71, 0x68, 0x17, 0x05, 0xb7, 0x6f, - 0xa9, 0x44, 0xb2, 0x51, 0xa6, 0xfb, 0x32, 0xfc, 0x20, 0x9a, 0x45, 0x03, 0xc8, 0x06, 0x7c, 0xa5, 0x3f, 0x8c, 0xa2, - 0xeb, 0x3b, 0xbf, 0xcc, 0x9a, 0x29, 0x5b, 0xbf, 0xdb, 0x30, 0xdb, 0x3a, 0x1e, 0x28, 0xb4, 0xa6, 0x85, 0x46, 0x9b, - 0xfa, 0xac, 0xf0, 0xad, 0x75, 0x02, 0x31, 0x39, 0xb9, 0xd9, 0xc8, 0x63, 0xb0, 0x8e, 0xb0, 0xee, 0x31, 0x36, 0x27, - 0xf1, 0x2f, 0xb5, 0x99, 0x0b, 0xc2, 0x33, 0x2b, 0x59, 0xf0, 0x0f, 0xba, 0x19, 0x6c, 0x39, 0x6f, 0xc2, 0xbf, 0xb1, - 0xa6, 0x09, 0x93, 0x35, 0x69, 0x05, 0xe5, 0x90, 0xd4, 0x6e, 0x68, 0xb4, 0x4e, 0x5e, 0xb6, 0x28, 0x10, 0x52, 0x13, - 0xcf, 0x45, 0x75, 0x27, 0xa3, 0xa5, 0x17, 0xe9, 0xc6, 0xde, 0x37, 0x3f, 0x87, 0xcf, 0xb4, 0xc2, 0x8b, 0x15, 0xc2, - 0x80, 0xfe, 0x64, 0x58, 0xdf, 0xab, 0xa4, 0xdd, 0x57, 0xed, 0x64, 0xd1, 0xda, 0x98, 0xaf, 0x02, 0x26, 0xd6, 0x3d, - 0xc5, 0xbc, 0x5c, 0x9d, 0xf4, 0xf7, 0xae, 0xc5, 0x16, 0xc6, 0x23, 0x99, 0x47, 0x72, 0x4a, 0xf8, 0x63, 0x40, 0xe3, - 0xdf, 0x50, 0x46, 0x0d, 0x0c, 0x34, 0x58, 0x3d, 0x1a, 0xca, 0x75, 0x00, 0x0e, 0x31, 0x34, 0x11, 0xc9, 0x40, 0x3b, - 0x81, 0x3b, 0x9a, 0x09, 0x52, 0x4f, 0x5b, 0x82, 0x4d, 0x3c, 0x47, 0x37, 0x31, 0x39, 0x19, 0xbb, 0x00, 0x57, 0xe0, - 0x96, 0xf5, 0x0c, 0xdb, 0x6e, 0xb3, 0x5d, 0x84, 0x94, 0x9a, 0x0a, 0xb6, 0xf0, 0x58, 0x6b, 0x02, 0x78, 0x4a, 0x35, - 0xd1, 0xa2, 0x21, 0xd5, 0x97, 0x4e, 0xc0, 0x7e, 0x71, 0xd2, 0x98, 0x5b, 0xd3, 0x58, 0x59, 0x3e, 0x0d, 0xbc, 0xd4, - 0x64, 0x4d, 0xac, 0xd0, 0x67, 0x9c, 0x72, 0x04, 0xe2, 0x1d, 0x7e, 0x73, 0x79, 0x33, 0x49, 0x6f, 0x0b, 0xfd, 0xd8, - 0x64, 0x80, 0x61, 0xe4, 0x1c, 0xe1, 0x17, 0x33, 0xec, 0x6c, 0xc3, 0xf9, 0xe7, 0x04, 0xc9, 0x78, 0x51, 0xf8, 0x57, - 0xe3, 0x05, 0xe9, 0xa8, 0x26, 0x21, 0xfe, 0x81, 0xe8, 0xd7, 0x0b, 0xce, 0xa0, 0x81, 0x36, 0xfb, 0x72, 0x59, 0xb3, - 0xb0, 0x2a, 0x68, 0xb4, 0xcf, 0xcd, 0x57, 0xb3, 0xe5, 0xdb, 0xeb, 0x7f, 0x94, 0xeb, 0x9e, 0x73, 0x1c, 0xb9, 0xd7, - 0x1c, 0x97, 0xbd, 0x2c, 0xf9, 0x41, 0x4b, 0xeb, 0x9d, 0x72, 0xda, 0xca, 0x45, 0x57, 0x50, 0xc2, 0x3f, 0xf6, 0x4f, - 0x8a, 0x64, 0xe7, 0x11, 0x2c, 0x89, 0x72, 0xb9, 0xe6, 0xe2, 0x8d, 0xd5, 0xbd, 0xbd, 0x13, 0x2c, 0x0c, 0x6e, 0xfc, - 0x82, 0x3c, 0x41, 0x92, 0xf2, 0x43, 0xf9, 0x5d, 0x0a, 0x71, 0xb6, 0x9d, 0xd5, 0x75, 0xb4, 0x8a, 0x78, 0xec, 0x5d, - 0x0e, 0x17, 0x76, 0x88, 0xd2, 0xe5, 0x83, 0x8b, 0xab, 0x59, 0x6b, 0x99, 0x2a, 0x93, 0x74, 0xc6, 0x33, 0x16, 0x70, - 0x9c, 0xc9, 0x32, 0x44, 0xd0, 0x33, 0x48, 0xc4, 0xe8, 0x7b, 0x17, 0x2c, 0x46, 0xc3, 0xd6, 0xea, 0xdb, 0x44, 0xd0, - 0x16, 0x14, 0xcd, 0x22, 0x7a, 0x31, 0x32, 0x15, 0x5e, 0x67, 0x13, 0x5a, 0xae, 0x64, 0x5e, 0x42, 0xab, 0x21, 0x6b, - 0x58, 0x94, 0xfb, 0x34, 0xf1, 0x83, 0x79, 0x3e, 0xb7, 0x50, 0x5b, 0x19, 0xab, 0x9f, 0x70, 0x66, 0xa9, 0x73, 0x41, - 0xb3, 0x5f, 0xd3, 0x5c, 0x81, 0xe7, 0xc9, 0xe6, 0xcb, 0x6f, 0xc4, 0xfa, 0x78, 0xca, 0xcf, 0xa0, 0xca, 0xdb, 0x84, - 0x25, 0xec, 0xcf, 0xa9, 0x52, 0x3c, 0xb2, 0xe1, 0x96, 0x55, 0x4b, 0x51, 0x1d, 0x8b, 0x24, 0x8a, 0x8c, 0x9d, 0x0c, - 0x67, 0xe8, 0x85, 0xc4, 0xb3, 0x59, 0x83, 0x09, 0x93, 0xf3, 0x2c, 0xde, 0x29, 0xcc, 0x95, 0x48, 0x12, 0x8b, 0x34, - 0x42, 0x91, 0xf6, 0x2d, 0xb9, 0x4c, 0xf2, 0x53, 0x93, 0xdb, 0x91, 0x50, 0xe5, 0x15, 0xfe, 0x1a, 0x70, 0x49, 0x88, - 0x54, 0xa0, 0x12, 0x9f, 0xfb, 0x8e, 0x58, 0xa2, 0x49, 0x15, 0xa5, 0x28, 0xa8, 0x97, 0xe9, 0x5f, 0x31, 0x2f, 0x4d, - 0x69, 0xec, 0x8e, 0xc0, 0xdd, 0x77, 0x19, 0x2b, 0x89, 0x3b, 0x8e, 0x99, 0x4c, 0x6b, 0x01, 0xd8, 0xa3, 0xcb, 0x4d, - 0xde, 0xe5, 0x80, 0xcb, 0xe3, 0xe3, 0x16, 0x40, 0xb0, 0x87, 0x05, 0xfc, 0xb5, 0x9d, 0x4b, 0x1d, 0x67, 0x24, 0x22, - 0x16, 0x9c, 0x21, 0x8b, 0x27, 0x6f, 0x00, 0x48, 0xce, 0xef, 0xe2, 0xe7, 0x05, 0x6d, 0x07, 0x40, 0x15, 0x8e, 0x0a, - 0x40, 0xec, 0x90, 0x60, 0xd0, 0x85, 0x77, 0xb2, 0xaf, 0x5a, 0xb3, 0xe3, 0xed, 0x05, 0x75, 0x1b, 0xcd, 0x3c, 0xd2, - 0x93, 0x92, 0x08, 0xe2, 0x0c, 0xb3, 0x1f, 0x04, 0x25, 0xaa, 0x57, 0xf5, 0x84, 0x30, 0x3a, 0x5b, 0x92, 0xc5, 0x4d, - 0x83, 0x80, 0xb4, 0x8f, 0x10, 0x33, 0xd9, 0x2e, 0xe5, 0x98, 0x7c, 0xed, 0x19, 0xe7, 0xac, 0x39, 0x43, 0x28, 0x1a, - 0xd8, 0xad, 0x25, 0x10, 0xeb, 0x1c, 0xca, 0x68, 0x28, 0x4d, 0xf9, 0x85, 0x1c, 0x41, 0xad, 0x63, 0xaf, 0x4c, 0x86, - 0x76, 0x1b, 0xdc, 0xfd, 0x80, 0x14, 0x29, 0xdc, 0xa3, 0x81, 0x65, 0x93, 0xd5, 0xe2, 0x92, 0x59, 0xbc, 0xe5, 0x91, - 0x62, 0x25, 0xb3, 0x1f, 0x04, 0xc3, 0x0b, 0xac, 0xe1, 0x62, 0x91, 0x8e, 0x12, 0xb2, 0x0a, 0x2e, 0x8b, 0xf5, 0xfe, - 0xec, 0xd6, 0x5d, 0x37, 0x05, 0xb9, 0xcd, 0xc9, 0x98, 0x29, 0xc7, 0xe3, 0x0a, 0xd2, 0x86, 0x5c, 0x1e, 0x07, 0x69, - 0xa4, 0xa9, 0x50, 0x3a, 0xb3, 0x7e, 0xba, 0x3f, 0xd5, 0xe3, 0xc5, 0x5c, 0x9d, 0x2c, 0x20, 0xa0, 0x8d, 0x3b, 0x70, - 0xca, 0x2a, 0x2c, 0x09, 0x87, 0x24, 0x6c, 0x78, 0x00, 0xa6, 0x5a, 0x3f, 0x8a, 0x4a, 0xfc, 0xbb, 0x64, 0x13, 0x41, - 0xa5, 0xe7, 0x06, 0xe7, 0x67, 0x69, 0x3c, 0x19, 0x85, 0x9f, 0xc4, 0x14, 0xce, 0x38, 0xcc, 0x11, 0xa2, 0xb2, 0x44, - 0xbf, 0x41, 0x89, 0xe7, 0x7e, 0x5a, 0xf2, 0x7f, 0xb6, 0x71, 0xfe, 0xa0, 0x8c, 0xe6, 0xd9, 0xb2, 0xe9, 0xb3, 0x05, - 0xc3, 0xde, 0x96, 0xb4, 0xb5, 0xee, 0x2c, 0x8a, 0xff, 0x8d, 0xea, 0xf0, 0xe9, 0x0e, 0x93, 0x58, 0x0f, 0x5c, 0x49, - 0xf0, 0xa9, 0x39, 0xe1, 0xd3, 0x9d, 0x3a, 0xe1, 0x87, 0x84, 0x88, 0x77, 0x8c, 0x8c, 0xb6, 0xc6, 0xd4, 0x6c, 0x05, - 0x8b, 0x4b, 0x2f, 0x2a, 0x82, 0x9d, 0x64, 0xd8, 0x94, 0x77, 0xbf, 0xe3, 0x95, 0x66, 0x07, 0x09, 0xe1, 0x45, 0xaa, - 0xed, 0x5c, 0xa3, 0xc5, 0x9c, 0x16, 0x50, 0x4a, 0x2a, 0x25, 0xd1, 0x6c, 0x1a, 0xc7, 0x6a, 0x81, 0x9f, 0x17, 0x24, - 0xb9, 0x55, 0xac, 0xfb, 0xb5, 0x33, 0x9c, 0xa8, 0x92, 0x9a, 0x92, 0x9a, 0xba, 0xb4, 0xa4, 0xc7, 0x60, 0xfe, 0xb7, - 0xc6, 0x44, 0xca, 0x35, 0x2e, 0x3c, 0xf0, 0x84, 0x32, 0x7e, 0x3d, 0x54, 0x3b, 0x59, 0x85, 0x33, 0xaf, 0xef, 0x2f, - 0xc3, 0xa1, 0xce, 0x85, 0x33, 0x0e, 0xdd, 0x70, 0x39, 0xb6, 0xdd, 0x6f, 0xed, 0xfc, 0x05, 0xfc, 0x45, 0x50, 0x2c, - 0x49, 0xa4, 0x66, 0xee, 0xfc, 0xa0, 0xec, 0xd4, 0x61, 0xee, 0x50, 0xa3, 0x95, 0xf1, 0xd4, 0x38, 0xd7, 0xd7, 0x58, - 0xa6, 0x37, 0x6a, 0x52, 0x45, 0x58, 0xd3, 0x40, 0x0d, 0x0f, 0xe9, 0x3c, 0x0b, 0x7a, 0x6a, 0x65, 0xfb, 0x74, 0xd0, - 0x07, 0x09, 0xcf, 0xa9, 0x80, 0x38, 0x13, 0x45, 0x2e, 0xbe, 0xf6, 0xfe, 0x32, 0xef, 0x57, 0x70, 0xb0, 0x41, 0xc9, - 0x5c, 0x3c, 0xb3, 0x38, 0x47, 0xcf, 0x0c, 0xe7, 0xf4, 0x99, 0xb5, 0xb3, 0x1d, 0xf6, 0x73, 0x29, 0x76, 0x25, 0xb0, - 0x28, 0x49, 0xca, 0x74, 0x5c, 0xb9, 0x3a, 0x9c, 0x3b, 0x0b, 0xe7, 0x91, 0xa9, 0x3a, 0xc5, 0x60, 0x52, 0xa6, 0xb4, - 0x7a, 0x62, 0x5b, 0x62, 0x6c, 0x99, 0x40, 0xb0, 0x4b, 0xbf, 0xae, 0xdc, 0xf6, 0x8b, 0xbb, 0x24, 0x85, 0xda, 0xd2, - 0xda, 0xf4, 0x24, 0x0a, 0x59, 0xf3, 0x4b, 0x1b, 0x4f, 0x89, 0xbd, 0xf3, 0x63, 0x15, 0x1d, 0xa4, 0x4b, 0x71, 0xac, - 0xdd, 0x89, 0x80, 0xcb, 0xb5, 0xa1, 0xfc, 0xb4, 0x35, 0x10, 0xd9, 0xf3, 0x16, 0xc9, 0xca, 0x1f, 0xca, 0xb0, 0x3c, - 0x21, 0x84, 0x89, 0xc0, 0xca, 0x58, 0x28, 0xad, 0x24, 0xb0, 0x0a, 0x7c, 0x94, 0xaa, 0xc5, 0xec, 0xb4, 0xf8, 0x3e, - 0x84, 0x6c, 0x8e, 0x9b, 0xd0, 0x9d, 0x00, 0xf2, 0x7a, 0x06, 0xd3, 0x55, 0x88, 0x02, 0xcd, 0x0c, 0x20, 0xe1, 0x87, - 0xec, 0xf6, 0x05, 0xcc, 0x1f, 0xd3, 0xb5, 0x5b, 0xb5, 0x72, 0x17, 0xed, 0x74, 0x2e, 0x89, 0x55, 0x9a, 0x6a, 0x52, - 0x5c, 0x94, 0x64, 0x21, 0xb1, 0x68, 0xe0, 0x95, 0x2b, 0x56, 0x9d, 0xfb, 0xc0, 0x6f, 0xd8, 0x36, 0x9e, 0xaf, 0xfa, - 0x31, 0xae, 0x40, 0xd5, 0xa8, 0x86, 0x1d, 0x7e, 0x00, 0xa6, 0xa6, 0x17, 0x09, 0x62, 0xb1, 0x59, 0xec, 0xce, 0x40, - 0x47, 0xf6, 0x51, 0xf1, 0xa4, 0x4c, 0x25, 0x0b, 0x54, 0x72, 0x8d, 0x14, 0x56, 0x5b, 0xb3, 0xa8, 0x4d, 0xc4, 0x7b, - 0xee, 0xd0, 0xba, 0x8a, 0xcb, 0x4c, 0x11, 0x7b, 0xa8, 0xe8, 0x33, 0x7a, 0xee, 0xc3, 0x2d, 0xbe, 0x87, 0x14, 0xc1, - 0x96, 0x8a, 0x91, 0x29, 0x09, 0xed, 0xc9, 0x0a, 0xa5, 0xc9, 0x12, 0x3c, 0x34, 0x50, 0x85, 0x0d, 0xf9, 0x0c, 0x07, - 0x6c, 0x3f, 0xa6, 0xf0, 0x64, 0x81, 0x12, 0x73, 0xa8, 0x76, 0x73, 0xf0, 0x5d, 0xed, 0x80, 0x77, 0x64, 0xcc, 0xcb, - 0xe4, 0x26, 0x17, 0xde, 0x91, 0xae, 0xbf, 0x1f, 0x07, 0x3b, 0x44, 0x18, 0xea, 0xa6, 0x80, 0xf4, 0xbc, 0x97, 0x0b, - 0x45, 0x89, 0x6f, 0xad, 0x18, 0xa8, 0xde, 0x20, 0x5d, 0x34, 0x05, 0xea, 0x60, 0xd4, 0x03, 0x3f, 0x21, 0xc8, 0x01, - 0x95, 0xd1, 0xa7, 0x2b, 0xda, 0xe2, 0xfa, 0xf3, 0x6c, 0x08, 0xc8, 0xd0, 0x8a, 0xe4, 0x1d, 0x30, 0x8d, 0xfa, 0x68, - 0x68, 0xf7, 0x4d, 0x2c, 0x13, 0x80, 0x64, 0x17, 0xaf, 0x2c, 0x91, 0x09, 0x60, 0x0b, 0xec, 0xd8, 0x3c, 0xba, 0xe1, - 0xdb, 0xf5, 0xc9, 0x80, 0xa1, 0x65, 0xd6, 0xdb, 0xa7, 0xab, 0x8f, 0xc6, 0xe7, 0x9a, 0x1a, 0x15, 0xc7, 0x45, 0x32, - 0x64, 0xaa, 0xa8, 0xf3, 0xc9, 0x26, 0x2a, 0x62, 0x6d, 0x2e, 0xfb, 0xce, 0x87, 0x31, 0xe8, 0xb1, 0x45, 0x95, 0x11, - 0xd7, 0x8e, 0xd9, 0xaf, 0x2f, 0xd6, 0xe5, 0x78, 0x9c, 0xd3, 0x07, 0x12, 0xa6, 0xed, 0x24, 0x42, 0xdd, 0x89, 0xf2, - 0x4d, 0x53, 0x9a, 0x05, 0x61, 0x3f, 0x58, 0xa4, 0x63, 0x0d, 0x9b, 0x6f, 0xc6, 0x6c, 0x6e, 0xa0, 0xba, 0xf2, 0x03, - 0xd4, 0x81, 0xb8, 0x18, 0x70, 0xf1, 0x0e, 0x8c, 0x39, 0xf3, 0xef, 0xb8, 0xbf, 0x2a, 0xa5, 0x34, 0xea, 0xf8, 0xb2, - 0xd4, 0xc8, 0xf6, 0x7e, 0xd9, 0x7f, 0x65, 0xf6, 0x21, 0xdf, 0x15, 0xa8, 0x50, 0x85, 0x34, 0x34, 0x89, 0x7a, 0xed, - 0x00, 0xb1, 0x9d, 0x8d, 0x26, 0x6a, 0xc5, 0x22, 0x52, 0x1e, 0x01, 0x0e, 0xe5, 0xf0, 0x5e, 0xb7, 0x0d, 0x23, 0xbe, - 0xbd, 0x4a, 0x3d, 0xd3, 0x96, 0x68, 0x1d, 0x0c, 0xf1, 0x2e, 0x5a, 0x4d, 0xe2, 0xcc, 0x0c, 0xe9, 0xd8, 0x99, 0xba, - 0x5f, 0xa2, 0xe8, 0x5d, 0x16, 0xd8, 0x6a, 0xae, 0xb6, 0x7e, 0x67, 0x45, 0x1f, 0xc2, 0x6a, 0xd9, 0xea, 0x7b, 0x31, - 0xd3, 0xd8, 0x4c, 0x9c, 0x20, 0x16, 0x40, 0xb3, 0x77, 0xee, 0x12, 0xc5, 0x98, 0xd9, 0x70, 0x59, 0xcc, 0x12, 0x29, - 0xc2, 0x0e, 0xe8, 0x24, 0x1a, 0x30, 0x31, 0xa7, 0x38, 0x36, 0x62, 0xdf, 0x27, 0xad, 0x6c, 0xe2, 0x4a, 0x28, 0x83, - 0x32, 0x69, 0xdd, 0x4e, 0xbf, 0x4c, 0x7c, 0xef, 0x5b, 0x40, 0xd3, 0x29, 0x73, 0x02, 0x7b, 0xce, 0x11, 0xe2, 0x0b, - 0x10, 0xe4, 0x56, 0x25, 0xef, 0x01, 0x96, 0xea, 0x9c, 0xa5, 0xeb, 0x53, 0x6f, 0x6c, 0x4b, 0xea, 0x89, 0xc3, 0xcc, - 0xf1, 0x3c, 0x2a, 0xbd, 0x02, 0xed, 0xe7, 0xbd, 0xef, 0xad, 0x6a, 0x9b, 0xf8, 0xeb, 0xf5, 0x01, 0x25, 0x46, 0xb3, - 0xb1, 0xa5, 0x9e, 0x6a, 0x69, 0xbe, 0xa9, 0x83, 0x9b, 0x10, 0xa2, 0x73, 0x5b, 0xb1, 0x66, 0xcd, 0xda, 0x91, 0x65, - 0xf4, 0xaf, 0x60, 0x85, 0x6f, 0x60, 0x2d, 0x2e, 0x01, 0xcd, 0xdf, 0x18, 0xdf, 0x08, 0x79, 0x5c, 0x7e, 0xa0, 0xf3, - 0x33, 0x46, 0x5d, 0x85, 0xa9, 0x22, 0xe1, 0xe1, 0xa5, 0xd6, 0x6b, 0x2d, 0xe8, 0x98, 0x96, 0x8f, 0x35, 0xf8, 0x42, - 0x4d, 0xab, 0x1d, 0xbc, 0xe5, 0x57, 0x6a, 0xea, 0x42, 0xe7, 0xe7, 0xa9, 0x03, 0x29, 0x5e, 0x7e, 0x45, 0x62, 0x8e, - 0xe5, 0xb7, 0x19, 0xfa, 0xe8, 0x7b, 0xf8, 0x75, 0xc3, 0x0f, 0x3a, 0x2f, 0x50, 0x49, 0x35, 0xce, 0x30, 0x0e, 0xe7, - 0xa7, 0x59, 0x35, 0x62, 0xa6, 0x08, 0x3f, 0x38, 0x75, 0x60, 0xf5, 0xba, 0x96, 0x87, 0x2e, 0x45, 0xa8, 0x02, 0x62, - 0x4f, 0xe3, 0xe7, 0x43, 0x98, 0x2a, 0xa6, 0x22, 0x81, 0x30, 0xa9, 0xd0, 0x9e, 0x92, 0x82, 0xdd, 0x62, 0xd5, 0xae, - 0x7a, 0xb7, 0x62, 0x5e, 0x93, 0x89, 0x80, 0x31, 0xde, 0x81, 0xe6, 0xcd, 0x6c, 0x5b, 0x87, 0xce, 0x89, 0x1d, 0x15, - 0xd8, 0x03, 0x32, 0xf6, 0x0e, 0x77, 0xbf, 0x99, 0x01, 0x27, 0x5c, 0xc3, 0xf4, 0x3c, 0x34, 0x1b, 0xdd, 0x70, 0xe5, - 0x5b, 0xfa, 0x74, 0xe6, 0xc4, 0xd9, 0x02, 0xcd, 0xd7, 0xc8, 0x56, 0xa2, 0xab, 0x9e, 0xa0, 0xee, 0x81, 0x64, 0x6f, - 0xdf, 0x5c, 0xf7, 0x76, 0x77, 0x05, 0x49, 0xa7, 0xbb, 0x19, 0xb0, 0x3b, 0x5c, 0xf0, 0x6e, 0xf5, 0x4c, 0x22, 0x09, - 0x00, 0x90, 0x3d, 0xe9, 0x3e, 0x0a, 0x5b, 0xe8, 0x4e, 0xb7, 0xbf, 0x76, 0x53, 0x59, 0xd0, 0x26, 0x5d, 0x79, 0x0c, - 0x6d, 0x13, 0x46, 0xc4, 0x90, 0x5d, 0x97, 0x91, 0x75, 0x4b, 0x5f, 0x08, 0x17, 0xf0, 0x88, 0x03, 0xb6, 0xc3, 0x76, - 0x41, 0x30, 0x12, 0x90, 0x90, 0x73, 0x21, 0xfe, 0x36, 0x0d, 0x35, 0x2b, 0xb8, 0xdb, 0x6c, 0x88, 0xdd, 0x24, 0xa1, - 0x3f, 0xe8, 0x0a, 0x6f, 0x6e, 0xbd, 0x1c, 0x2b, 0x28, 0xf3, 0xd1, 0x73, 0xb5, 0x9f, 0x35, 0x53, 0x7b, 0x3a, 0x69, - 0x69, 0xc6, 0xbc, 0x54, 0x6a, 0x9e, 0xc8, 0xbb, 0xb9, 0x81, 0x67, 0xe3, 0x99, 0x39, 0xc4, 0x89, 0x2d, 0x4d, 0xeb, - 0x66, 0xcc, 0xd1, 0xee, 0x6c, 0x3e, 0xf6, 0xec, 0xab, 0x9f, 0xcb, 0xbc, 0x54, 0x9f, 0xcd, 0xcd, 0xd2, 0xac, 0x9c, - 0x3f, 0x43, 0x54, 0xd8, 0x56, 0x16, 0x53, 0x4d, 0xe2, 0x18, 0x04, 0x46, 0x8b, 0x6e, 0x6f, 0xa1, 0x19, 0x76, 0x31, - 0x3b, 0xce, 0xa5, 0x59, 0x77, 0x7b, 0x85, 0xe3, 0x97, 0x99, 0xaf, 0x55, 0xed, 0x8d, 0x1b, 0x25, 0x0a, 0x4e, 0x87, - 0x83, 0xf3, 0xb0, 0xfd, 0x4b, 0x91, 0x37, 0x33, 0x8c, 0x25, 0x81, 0x68, 0x2d, 0x5a, 0xb8, 0xca, 0x68, 0xb5, 0x59, - 0x15, 0x21, 0x39, 0xb5, 0x33, 0xff, 0x85, 0x06, 0x90, 0x5a, 0xf0, 0x0a, 0x75, 0x73, 0x81, 0x05, 0xc7, 0xa8, 0xd4, - 0xa1, 0xf1, 0x29, 0xa7, 0x24, 0x43, 0x2a, 0x3a, 0xec, 0x72, 0xa2, 0x75, 0x4e, 0xb6, 0x1c, 0x01, 0x08, 0x94, 0x6a, - 0xc3, 0x06, 0x53, 0x1f, 0x26, 0x99, 0x5b, 0x99, 0x8e, 0x30, 0x53, 0x05, 0xc6, 0xdf, 0xac, 0x16, 0x7b, 0x97, 0x73, - 0x91, 0x24, 0xcc, 0xed, 0x0c, 0x3d, 0x59, 0x80, 0x0e, 0x63, 0x70, 0x7c, 0x3b, 0xf9, 0xa9, 0xfe, 0xb4, 0xba, 0x22, - 0xe3, 0xd4, 0x31, 0x39, 0x7b, 0x6d, 0x07, 0x05, 0x8d, 0xda, 0xee, 0x65, 0x78, 0xcd, 0xb3, 0x02, 0xed, 0xf3, 0xbf, - 0xda, 0xbd, 0xdd, 0xbc, 0xf0, 0xe5, 0xb7, 0x90, 0x15, 0x48, 0x3d, 0xc1, 0x6b, 0x53, 0x19, 0x95, 0x6a, 0xe7, 0x12, - 0x6d, 0xbf, 0x3c, 0x21, 0xc9, 0xb6, 0xf1, 0x6f, 0x91, 0x4b, 0x29, 0x90, 0xfc, 0x7d, 0x6d, 0x24, 0xb2, 0xc5, 0x2c, - 0x49, 0x98, 0xea, 0x35, 0x49, 0x75, 0x1e, 0xd6, 0xb1, 0x9b, 0x8e, 0xff, 0x2c, 0x43, 0xf4, 0x34, 0x12, 0x52, 0xeb, - 0x6d, 0x4d, 0xe6, 0x61, 0x1d, 0xdd, 0xc9, 0x16, 0xcf, 0x79, 0xc4, 0x53, 0x41, 0xc6, 0x6c, 0xb3, 0xee, 0x52, 0x89, - 0x44, 0x2d, 0x58, 0x06, 0xda, 0xed, 0x66, 0x38, 0x45, 0xad, 0x03, 0x14, 0x3b, 0x15, 0x7d, 0x19, 0xba, 0xd2, 0xd4, - 0x67, 0xb2, 0xa1, 0xb0, 0x52, 0x8b, 0xba, 0xbd, 0x94, 0x7a, 0xce, 0x86, 0xae, 0xbc, 0x3c, 0x99, 0x6b, 0xbe, 0x03, - 0xd8, 0x46, 0x1b, 0x4b, 0x37, 0x80, 0x6e, 0x34, 0x03, 0x37, 0x21, 0x03, 0x50, 0xd6, 0x14, 0x2a, 0x37, 0x35, 0xb8, - 0xa4, 0x9e, 0x95, 0x62, 0x0e, 0x48, 0x04, 0x67, 0xec, 0xdb, 0x00, 0x63, 0x7f, 0x8d, 0x9c, 0xc3, 0x55, 0xeb, 0xaa, - 0xad, 0x60, 0x6d, 0x9d, 0x3e, 0x6d, 0x1c, 0xc6, 0x2b, 0xfb, 0x27, 0xe0, 0xbb, 0x78, 0x51, 0x3b, 0x32, 0xfd, 0x2d, - 0x8e, 0x35, 0x84, 0x42, 0xd7, 0x27, 0x86, 0xc2, 0x8c, 0xc1, 0x30, 0xbb, 0xbb, 0x20, 0x4c, 0xaf, 0x2f, 0x05, 0x0c, - 0x0b, 0x37, 0x97, 0x62, 0xc7, 0xf1, 0xf3, 0x07, 0xfb, 0x89, 0x22, 0x1c, 0x9a, 0xa9, 0x10, 0x3e, 0x97, 0xae, 0x8c, - 0x82, 0x9c, 0x99, 0xcc, 0x09, 0x3c, 0xd8, 0x3e, 0x07, 0xd4, 0x28, 0x12, 0x8a, 0x2c, 0x2e, 0x43, 0x13, 0xe5, 0x4d, - 0xc2, 0x05, 0xe9, 0xcb, 0x71, 0x7d, 0x34, 0xbd, 0x86, 0x29, 0x59, 0x99, 0xb7, 0x48, 0xfc, 0x6c, 0x99, 0xf5, 0x11, - 0xe1, 0x74, 0xaf, 0x6d, 0x60, 0x8b, 0xb5, 0x6d, 0xef, 0xd7, 0x3d, 0xe0, 0xca, 0xc2, 0x81, 0xa1, 0x8d, 0x4c, 0x7d, - 0xb5, 0xa1, 0x97, 0x14, 0x71, 0xfe, 0x15, 0x3d, 0x32, 0x7e, 0x30, 0xf6, 0x7d, 0x07, 0x77, 0x0a, 0xa4, 0xb7, 0x39, - 0xbf, 0x61, 0xa6, 0xf7, 0x60, 0x75, 0x03, 0x35, 0xac, 0xc1, 0xa5, 0x32, 0x4b, 0x8d, 0xf9, 0x17, 0xb7, 0xc4, 0x27, - 0x0b, 0x8e, 0x12, 0x9f, 0x42, 0xe2, 0x1a, 0xae, 0x4f, 0x1f, 0x1f, 0x99, 0xf4, 0x6d, 0x12, 0x8a, 0xec, 0x56, 0x2c, - 0xdb, 0x43, 0xc5, 0x98, 0x1c, 0xee, 0x8a, 0xab, 0x36, 0x38, 0x60, 0x88, 0xd2, 0xd1, 0x10, 0x49, 0x83, 0x26, 0x0e, - 0x24, 0x8c, 0xf7, 0xc5, 0x0c, 0xcb, 0x0d, 0x5d, 0xbc, 0x22, 0x7a, 0x6b, 0xcd, 0xce, 0xa4, 0xec, 0x65, 0x45, 0xbe, - 0x29, 0xd5, 0xe4, 0x63, 0xba, 0x5a, 0x4f, 0x4b, 0xaf, 0x2d, 0xf7, 0x58, 0x00, 0x74, 0xaf, 0x8e, 0x7f, 0xbd, 0xef, - 0x75, 0xd5, 0x67, 0x22, 0xdf, 0xfa, 0x7a, 0x18, 0xbe, 0xdd, 0x7f, 0xa9, 0xa3, 0x38, 0xb8, 0x45, 0xec, 0xdf, 0xfe, - 0x48, 0x59, 0xd4, 0xd6, 0xaa, 0x1f, 0xd4, 0xc1, 0xa1, 0xa7, 0x1e, 0x37, 0x67, 0x61, 0x4d, 0x30, 0xe1, 0x54, 0x81, - 0x73, 0xa6, 0x83, 0xd0, 0xc6, 0xf2, 0x6f, 0x1c, 0xd5, 0xa6, 0x6e, 0xdc, 0xa0, 0x3c, 0xe3, 0xd9, 0x58, 0x19, 0xea, - 0xb2, 0x95, 0x9d, 0xf9, 0xb2, 0xf3, 0x8c, 0x9c, 0xf7, 0xac, 0xa6, 0x5f, 0x1a, 0x0b, 0x7c, 0xa5, 0xe2, 0x08, 0xe1, - 0x67, 0xc0, 0xbb, 0xc4, 0xb1, 0x63, 0x66, 0x7c, 0x0c, 0x4a, 0xbb, 0x5b, 0xd2, 0xe8, 0x30, 0xb2, 0x1d, 0x74, 0x9d, - 0xcb, 0x64, 0x44, 0x50, 0x10, 0x22, 0xe4, 0x30, 0xb4, 0x43, 0x28, 0x67, 0xfb, 0xb1, 0xaa, 0xdc, 0x5e, 0xf4, 0x06, - 0xf3, 0x4a, 0xb6, 0x50, 0x04, 0x4c, 0x09, 0xbe, 0x5f, 0xd5, 0xd4, 0x88, 0x7d, 0xd3, 0xbf, 0x3d, 0x7c, 0x9a, 0x8b, - 0x9a, 0xa0, 0x01, 0xff, 0x3b, 0x96, 0xd5, 0xa0, 0x37, 0x56, 0x5f, 0x68, 0xd9, 0xb7, 0x86, 0x1c, 0x18, 0x55, 0x92, - 0xb6, 0x6e, 0x2f, 0x64, 0x95, 0x39, 0x57, 0xbb, 0x42, 0xf5, 0xa5, 0x47, 0x39, 0x99, 0xa6, 0x00, 0x30, 0x5d, 0x69, - 0x01, 0x71, 0x41, 0x21, 0xb4, 0xe0, 0xb0, 0x9a, 0x85, 0x4c, 0x5f, 0xcf, 0x4e, 0x61, 0xc1, 0x68, 0xbc, 0x30, 0xad, - 0x0d, 0x89, 0x32, 0x33, 0xa7, 0x4c, 0x4a, 0x77, 0xa9, 0xdd, 0x82, 0x3c, 0xf8, 0x2d, 0x2d, 0x1b, 0x80, 0x11, 0x13, - 0xc9, 0x77, 0x61, 0x13, 0x59, 0xfb, 0x7c, 0xce, 0xb8, 0xcd, 0xec, 0x49, 0xdf, 0xd4, 0xf4, 0x64, 0xe3, 0x34, 0x58, - 0x7f, 0x84, 0x9c, 0xe7, 0x6e, 0xa4, 0x6c, 0x6d, 0xe2, 0x96, 0xfb, 0x12, 0x1d, 0x43, 0x9f, 0x68, 0x97, 0x13, 0x76, - 0x40, 0x07, 0xfa, 0x4c, 0x5a, 0xc3, 0x35, 0x10, 0xe5, 0x30, 0x88, 0xa7, 0x72, 0x28, 0xae, 0x97, 0x3d, 0x46, 0x9d, - 0xc6, 0x02, 0x35, 0xb0, 0xc2, 0x17, 0x18, 0x46, 0x55, 0x05, 0x7b, 0xe0, 0x6f, 0x82, 0x9c, 0xae, 0xbe, 0x53, 0x2c, - 0x79, 0xd3, 0x12, 0xd1, 0x2e, 0x98, 0xb0, 0x0e, 0x2a, 0x1e, 0x63, 0xab, 0x49, 0x4a, 0x83, 0xa1, 0xeb, 0xc9, 0x77, - 0x41, 0xc6, 0x66, 0x32, 0xd2, 0xb4, 0x80, 0x3b, 0xcc, 0xed, 0x3c, 0x29, 0xcc, 0x21, 0x96, 0x8d, 0xab, 0xb8, 0x71, - 0xed, 0x6b, 0x84, 0x40, 0x27, 0x48, 0xa7, 0x3b, 0xa3, 0xcd, 0x8b, 0xf6, 0x11, 0xaf, 0x63, 0x89, 0x65, 0xad, 0x9c, - 0xee, 0x30, 0xc2, 0x80, 0x88, 0xfb, 0x48, 0x17, 0xcc, 0x2c, 0xb5, 0xb5, 0xb8, 0x2a, 0x62, 0x59, 0xb6, 0x6b, 0x2c, - 0x06, 0x60, 0x14, 0xd8, 0x1f, 0xce, 0x6b, 0x19, 0x34, 0x7a, 0x3e, 0x7c, 0xba, 0x22, 0xa7, 0x65, 0x6d, 0x86, 0x0d, - 0xcf, 0xa6, 0x03, 0x54, 0xb8, 0x26, 0x56, 0xe7, 0x25, 0xd8, 0x8b, 0xb5, 0xe5, 0xe8, 0xdf, 0xbb, 0xf4, 0x22, 0x9e, - 0x17, 0x84, 0x70, 0x2a, 0x36, 0x5b, 0x1a, 0x20, 0x0e, 0x60, 0x17, 0x53, 0x1d, 0x10, 0x82, 0xba, 0xb3, 0xda, 0x03, - 0xf2, 0xf9, 0x6b, 0x86, 0xbe, 0x8f, 0x84, 0x6f, 0x02, 0x64, 0xa6, 0xa0, 0x3c, 0x51, 0xfb, 0x14, 0x45, 0xf4, 0xe0, - 0x27, 0x5d, 0x65, 0xb3, 0x16, 0x75, 0x12, 0x38, 0x1d, 0x71, 0x72, 0x16, 0xa3, 0x70, 0x5e, 0x3e, 0x13, 0xc0, 0x97, - 0x6b, 0x34, 0x98, 0x16, 0xdb, 0x28, 0x4e, 0xd9, 0x4e, 0xba, 0x5b, 0x03, 0x74, 0xc7, 0xe7, 0x88, 0xc3, 0x41, 0x26, - 0xca, 0xde, 0xae, 0x33, 0x5d, 0x86, 0x75, 0x53, 0x47, 0xbd, 0x9f, 0x28, 0x7c, 0x4a, 0xdd, 0xe3, 0x7d, 0x2e, 0x45, - 0x50, 0x21, 0x54, 0x12, 0xd4, 0x32, 0xa4, 0x3f, 0x6a, 0x79, 0x4e, 0x8d, 0xd4, 0x29, 0x8f, 0xcb, 0x05, 0x49, 0x6a, - 0xfb, 0x3e, 0x7b, 0xb4, 0x2f, 0x4f, 0xe4, 0x8e, 0x1b, 0x38, 0xd1, 0xb5, 0x02, 0x86, 0x4e, 0x73, 0x0f, 0x76, 0xde, - 0x8a, 0x8a, 0x64, 0x22, 0x8a, 0xa1, 0xbd, 0x84, 0xb3, 0x2a, 0xbb, 0x49, 0x42, 0x7f, 0x16, 0x2b, 0x9c, 0xd9, 0xb9, - 0x0c, 0xb5, 0x69, 0x6c, 0x61, 0x90, 0x51, 0x21, 0xb4, 0xdb, 0x98, 0x47, 0x98, 0xdc, 0x45, 0x6e, 0xf0, 0x2b, 0xad, - 0x54, 0x2e, 0x15, 0x92, 0xa6, 0x4b, 0x6f, 0xfd, 0x2f, 0x3b, 0x6a, 0xc5, 0x8d, 0xb7, 0x36, 0xca, 0x35, 0xca, 0xc5, - 0xcc, 0xf9, 0x8f, 0xd8, 0xe3, 0x12, 0x6b, 0xd8, 0x82, 0xcb, 0x86, 0xae, 0x50, 0x59, 0x4a, 0x03, 0x47, 0x1e, 0x88, - 0xa4, 0xee, 0x6b, 0x38, 0xe2, 0x16, 0xd5, 0x9f, 0xec, 0xf5, 0xc1, 0x06, 0xb5, 0x63, 0x36, 0x72, 0xb1, 0x8d, 0x5a, - 0xa1, 0x0b, 0x59, 0x45, 0x0d, 0x5c, 0x92, 0xb7, 0x60, 0x9a, 0x0c, 0xd1, 0x4d, 0x92, 0xb8, 0x7b, 0x3a, 0xc3, 0x2c, - 0x33, 0xbd, 0xe8, 0x7f, 0x56, 0xa2, 0xd2, 0xa1, 0xac, 0xb9, 0x92, 0xc3, 0x59, 0x47, 0xf5, 0xe3, 0xb0, 0x1f, 0xe2, - 0xd8, 0x74, 0x87, 0xe5, 0x80, 0x01, 0xac, 0x3a, 0xcc, 0x91, 0xa2, 0xf1, 0x62, 0xeb, 0xbb, 0x7d, 0xb7, 0x8d, 0x94, - 0xd0, 0xd0, 0x2f, 0x76, 0x08, 0xd8, 0xb7, 0xdf, 0x86, 0x39, 0xe3, 0xb6, 0x36, 0x8e, 0xf6, 0x51, 0x44, 0xda, 0x54, - 0x10, 0xfc, 0x91, 0x34, 0x39, 0xc0, 0x36, 0x5d, 0xca, 0x61, 0x73, 0xe5, 0xde, 0x67, 0x86, 0xc5, 0x94, 0x11, 0x31, - 0xab, 0xf7, 0x54, 0xe8, 0xaf, 0x7f, 0xf7, 0xdf, 0x2d, 0x5a, 0x5a, 0x34, 0xca, 0x8b, 0xf3, 0x72, 0x30, 0xb6, 0xea, - 0xd2, 0x7b, 0xb3, 0x34, 0xd6, 0x01, 0x40, 0xe5, 0xee, 0xfd, 0x45, 0x88, 0xbb, 0xeb, 0x2a, 0x44, 0x1f, 0xcc, 0x52, - 0x93, 0xf2, 0xa9, 0xa7, 0x6c, 0x2c, 0x89, 0x3c, 0x65, 0xd6, 0xce, 0xed, 0x33, 0xbb, 0x09, 0x80, 0xf1, 0xbf, 0x32, - 0x3f, 0x2d, 0x2c, 0xf4, 0x9d, 0x56, 0x72, 0x51, 0xdb, 0x68, 0x67, 0xf4, 0x3e, 0x47, 0x81, 0x39, 0x40, 0x24, 0x27, - 0xe4, 0x3d, 0xbe, 0xa2, 0x78, 0xfc, 0x3f, 0x66, 0xa5, 0x61, 0xe3, 0xc4, 0x8e, 0xf2, 0xed, 0xc7, 0x0d, 0x1b, 0x29, - 0x39, 0x0f, 0x23, 0x23, 0x4c, 0xff, 0x1e, 0x99, 0x38, 0x8d, 0xca, 0xce, 0x3e, 0x2a, 0x88, 0x7a, 0xe2, 0xe3, 0xfb, - 0x73, 0x6c, 0xdd, 0x3f, 0x12, 0x2d, 0x65, 0x10, 0x96, 0x02, 0x38, 0x29, 0xf3, 0x48, 0xc3, 0x02, 0x98, 0xa2, 0x79, - 0x90, 0xf1, 0xc9, 0x69, 0x68, 0xbf, 0x7f, 0xe9, 0xf4, 0x1a, 0xb4, 0xbb, 0xc6, 0x30, 0x91, 0x35, 0x38, 0x77, 0x75, - 0xfb, 0x68, 0xd0, 0xdb, 0x7b, 0xde, 0x7e, 0x34, 0xe9, 0xad, 0xcd, 0x59, 0x43, 0x1b, 0x12, 0xc7, 0x3f, 0x6c, 0xff, - 0xa5, 0x9e, 0x27, 0x7b, 0xb7, 0x9a, 0x49, 0x91, 0x75, 0x39, 0xc4, 0x69, 0xd8, 0x52, 0x24, 0x1e, 0x80, 0xb8, 0xd4, - 0xfe, 0x58, 0xb2, 0xbc, 0xda, 0x83, 0xa2, 0xff, 0xd1, 0xfc, 0x48, 0x6b, 0xb2, 0x0f, 0xbe, 0x4c, 0xa1, 0x6a, 0xf7, - 0x33, 0xba, 0x3b, 0xbf, 0x07, 0x39, 0xb6, 0x59, 0x9a, 0xf8, 0xe2, 0xad, 0xa3, 0xe7, 0x89, 0xb4, 0x16, 0x5a, 0x99, - 0x61, 0x7a, 0xea, 0x1e, 0xc3, 0x52, 0x24, 0x4b, 0xcb, 0xde, 0xf2, 0x35, 0xe7, 0xe9, 0x4c, 0x7f, 0x7c, 0x10, 0xd7, - 0xb7, 0x7d, 0x4a, 0x7c, 0x8a, 0x98, 0x5f, 0xed, 0x13, 0xe0, 0x2c, 0x09, 0x1e, 0x47, 0x44, 0xa0, 0xb3, 0x15, 0xe5, - 0x23, 0x55, 0x75, 0xcd, 0xae, 0xff, 0xd1, 0xca, 0x02, 0x3b, 0x33, 0x1b, 0x77, 0x2b, 0x67, 0xfa, 0xe8, 0x34, 0xcf, - 0x72, 0x43, 0x3b, 0x90, 0x8b, 0x0d, 0x70, 0x60, 0xff, 0xb6, 0x49, 0x30, 0xac, 0x6d, 0xb8, 0x3f, 0x52, 0xbd, 0x31, - 0x4a, 0xfe, 0x46, 0x00, 0x46, 0x51, 0xd1, 0x56, 0xf1, 0xe6, 0x1a, 0xba, 0x90, 0x51, 0xbd, 0x3f, 0x79, 0x0f, 0xdf, - 0xef, 0x43, 0x1f, 0xba, 0x75, 0xd0, 0x5a, 0x70, 0x2a, 0x8b, 0x72, 0x39, 0xda, 0x3c, 0xef, 0x46, 0x5c, 0x7a, 0xf9, - 0x4d, 0x4f, 0x94, 0x7a, 0xfb, 0x6b, 0x07, 0x5b, 0x5a, 0x7e, 0x44, 0xa6, 0x9e, 0x24, 0x0a, 0x39, 0xd6, 0x4e, 0xf0, - 0x6a, 0xe9, 0x48, 0xc5, 0x81, 0xc3, 0xdd, 0x93, 0x91, 0x6f, 0xe6, 0x8c, 0x5d, 0x4b, 0x3a, 0x1e, 0x6c, 0x0c, 0xeb, - 0xe6, 0x6b, 0x29, 0xcd, 0x32, 0xeb, 0xd5, 0x3d, 0x3b, 0x11, 0x5e, 0x70, 0x78, 0x25, 0xb6, 0x29, 0xa4, 0xf9, 0xd5, - 0x44, 0x02, 0x37, 0xaf, 0xf7, 0x05, 0x20, 0x97, 0xb9, 0x74, 0x2e, 0xd8, 0x82, 0x74, 0xc5, 0x7f, 0x8e, 0x2a, 0xd0, - 0x27, 0x3f, 0xb3, 0x4a, 0xd7, 0xfa, 0x4a, 0x59, 0xa5, 0xf2, 0x1c, 0xdf, 0xd1, 0xa4, 0xd8, 0x3b, 0xda, 0x93, 0xd9, - 0x21, 0x1c, 0x8d, 0xc1, 0xcd, 0xfd, 0x46, 0x25, 0x65, 0x16, 0xa7, 0x5e, 0x92, 0xfe, 0x4b, 0xc2, 0x0c, 0x83, 0x84, - 0x04, 0x31, 0xff, 0x47, 0xdc, 0x98, 0xa3, 0x0e, 0x69, 0x0c, 0x4e, 0x64, 0x82, 0xd1, 0x42, 0x21, 0xba, 0x29, 0xcb, - 0x95, 0x3a, 0x11, 0xcf, 0x5e, 0xa2, 0x70, 0xda, 0x65, 0x8d, 0x34, 0x2f, 0x7d, 0x0f, 0xbb, 0x87, 0x81, 0x14, 0x34, - 0x0a, 0x4b, 0x63, 0x0c, 0xec, 0xec, 0x26, 0x6d, 0x63, 0xb8, 0xd5, 0x1b, 0x68, 0x0a, 0x77, 0xef, 0xe9, 0x1a, 0xfa, - 0x5c, 0x24, 0x12, 0x4b, 0x7a, 0xb4, 0x8b, 0xc9, 0xb5, 0x96, 0xca, 0xb2, 0x5a, 0x8e, 0xdf, 0x4e, 0xf7, 0xb2, 0xbc, - 0x20, 0x68, 0xc8, 0x81, 0x93, 0xa3, 0xc0, 0x29, 0x97, 0x77, 0x32, 0x0d, 0x8e, 0x83, 0xb7, 0x99, 0x85, 0xc4, 0x1f, - 0xe4, 0x6d, 0xe8, 0xc8, 0x9c, 0xfd, 0xa0, 0x4d, 0x7f, 0xd4, 0x54, 0x85, 0x59, 0xd4, 0x43, 0x24, 0x03, 0x93, 0xee, - 0xde, 0x36, 0x06, 0x1d, 0x1f, 0xd7, 0x35, 0x6c, 0xee, 0x23, 0x0c, 0xae, 0x90, 0x08, 0xcd, 0xb1, 0x90, 0x3c, 0x03, - 0x9f, 0xe2, 0x61, 0x93, 0xa7, 0xcc, 0xdd, 0x8e, 0x89, 0xe3, 0xed, 0xe7, 0x9a, 0x26, 0x7b, 0xd9, 0xab, 0x7a, 0xf2, - 0x14, 0xb5, 0x5f, 0xb5, 0x6c, 0x46, 0x5a, 0xae, 0x79, 0x37, 0xf7, 0x30, 0x7a, 0x3e, 0xc5, 0x03, 0x3b, 0x08, 0xdc, - 0x19, 0xb1, 0x38, 0xc6, 0xf9, 0xbd, 0x55, 0x3c, 0x8c, 0xd1, 0x75, 0x19, 0x60, 0xd4, 0x06, 0xa2, 0x0f, 0x82, 0xf8, - 0x3e, 0x3b, 0x60, 0xdd, 0x39, 0xb0, 0x78, 0x63, 0x7a, 0xdc, 0x26, 0xe1, 0xb4, 0xd4, 0x27, 0xe3, 0x43, 0x36, 0x07, - 0x24, 0x54, 0x8a, 0x39, 0x0b, 0x42, 0x34, 0x01, 0x62, 0x0e, 0x29, 0xc9, 0x5e, 0xed, 0x03, 0x28, 0x62, 0x2e, 0x54, - 0x2e, 0x9a, 0x83, 0x1e, 0x10, 0x82, 0x1c, 0x66, 0x6c, 0xff, 0x31, 0x7e, 0x0c, 0x0f, 0x77, 0x58, 0xc8, 0x32, 0xe7, - 0x0d, 0x2e, 0xf2, 0xfd, 0x57, 0xc0, 0x5c, 0xba, 0x7a, 0xab, 0xbe, 0xd3, 0x13, 0xa4, 0xf4, 0x3e, 0x4b, 0x95, 0x5a, - 0x45, 0xee, 0x62, 0x95, 0x10, 0x5e, 0x17, 0x69, 0x34, 0x50, 0xd2, 0xdd, 0xa1, 0x1f, 0x7e, 0x05, 0x11, 0xd3, 0x17, - 0x12, 0xf0, 0x27, 0xf2, 0x03, 0xb1, 0xe0, 0xf5, 0x86, 0xa2, 0x30, 0x20, 0x7a, 0x0c, 0xb5, 0xf0, 0x0c, 0x95, 0x8a, - 0x93, 0xac, 0xe0, 0xee, 0x30, 0x4a, 0xd9, 0x3f, 0x4e, 0xe4, 0xc7, 0xaa, 0x3a, 0x76, 0x69, 0xd3, 0x5d, 0xc5, 0x6f, - 0x4b, 0xf6, 0x02, 0x88, 0x99, 0x2a, 0x3b, 0x53, 0x25, 0x22, 0x5f, 0x17, 0x88, 0xa0, 0x24, 0x3d, 0x4b, 0x76, 0xaf, - 0x86, 0xcf, 0xac, 0x62, 0x47, 0x9c, 0xd9, 0x25, 0x87, 0x80, 0xdf, 0x39, 0x99, 0xd8, 0xf4, 0xc1, 0xde, 0x79, 0xa0, - 0x4d, 0x1f, 0xa4, 0xc5, 0x5f, 0x16, 0x24, 0xf2, 0x0f, 0x5d, 0xf7, 0x16, 0x8c, 0x4d, 0x5a, 0x7f, 0x33, 0xf6, 0x20, - 0x6c, 0x8f, 0xb9, 0x79, 0x3b, 0x72, 0xcd, 0x7c, 0x89, 0x51, 0xee, 0xcd, 0xe9, 0x34, 0x7b, 0x9b, 0x61, 0x57, 0x37, - 0x7a, 0xd0, 0xac, 0x46, 0xfa, 0xe2, 0x27, 0xaa, 0xea, 0xe9, 0x06, 0x50, 0xef, 0xfc, 0xf4, 0xe9, 0xe8, 0xcb, 0x30, - 0x5b, 0x43, 0x72, 0x98, 0x30, 0x2f, 0xaa, 0xb1, 0xe7, 0xfa, 0x0c, 0xc1, 0xac, 0xa4, 0x7d, 0x07, 0x66, 0xe9, 0xb7, - 0x4c, 0x24, 0x87, 0x3e, 0xc5, 0xbe, 0x65, 0x45, 0x30, 0x48, 0xe7, 0xae, 0x46, 0xc5, 0x71, 0x16, 0xfa, 0x68, 0xda, - 0x72, 0x5f, 0xd4, 0xc8, 0x6d, 0x89, 0xd3, 0xe7, 0x72, 0xce, 0x40, 0xd8, 0x2f, 0xee, 0x38, 0xb3, 0xbe, 0xf3, 0x0e, - 0x49, 0x6b, 0x3d, 0x43, 0xbf, 0xa6, 0xf5, 0xd2, 0xad, 0xff, 0x3e, 0xf2, 0x56, 0xa6, 0x1d, 0x56, 0xcb, 0x39, 0x4d, - 0x4f, 0x55, 0xd9, 0x1b, 0x3c, 0x29, 0x03, 0x94, 0x2c, 0xa0, 0xbb, 0xac, 0x2d, 0x77, 0x13, 0xa0, 0xfe, 0x3a, 0xd2, - 0xb5, 0xfe, 0xce, 0x0a, 0x18, 0x14, 0x81, 0xda, 0x7e, 0x95, 0xf3, 0xa4, 0xbd, 0x12, 0x1f, 0x7f, 0xaf, 0x28, 0x36, - 0x5b, 0x9e, 0xbc, 0x15, 0xc8, 0x44, 0x3f, 0x0d, 0xcf, 0x9d, 0x9f, 0xab, 0x59, 0x98, 0x98, 0x4f, 0x97, 0x96, 0xdf, - 0xe3, 0x43, 0x77, 0x01, 0xad, 0xf7, 0x19, 0x21, 0x8d, 0xf9, 0x3f, 0xc7, 0x2c, 0x4b, 0xbc, 0x42, 0xb3, 0x7c, 0x1b, - 0xe0, 0x98, 0x0e, 0x4f, 0x49, 0xe3, 0x39, 0x0e, 0x28, 0x74, 0x83, 0x52, 0x6f, 0x37, 0x43, 0x2d, 0xc9, 0xc3, 0x42, - 0x41, 0x26, 0xfd, 0x88, 0xe6, 0x51, 0x76, 0x24, 0x80, 0x91, 0x69, 0xf5, 0xb7, 0xb9, 0xb6, 0xc8, 0xa3, 0x56, 0xfb, - 0x55, 0xe1, 0x5e, 0x9f, 0x45, 0xa3, 0xff, 0x6e, 0x06, 0x9c, 0x58, 0x1b, 0xb2, 0x37, 0x01, 0xd3, 0x88, 0x62, 0x8a, - 0x82, 0x1f, 0x0b, 0x92, 0x42, 0xa5, 0xe2, 0x5d, 0xd8, 0x22, 0x2c, 0x5c, 0x6a, 0x69, 0x19, 0x6b, 0xe2, 0x79, 0x0b, - 0xd0, 0xd1, 0xfe, 0xeb, 0xe2, 0xbb, 0xec, 0x99, 0xc1, 0x28, 0x29, 0xf7, 0x18, 0x8f, 0x04, 0xf5, 0x38, 0x2b, 0x01, - 0xfb, 0x2d, 0x84, 0xf8, 0x4a, 0x50, 0x93, 0x26, 0x75, 0x17, 0xc1, 0xe9, 0x36, 0x14, 0x70, 0x19, 0xad, 0x35, 0x12, - 0x34, 0x7c, 0x77, 0x92, 0x16, 0xb0, 0x2a, 0x78, 0x2f, 0x71, 0xc9, 0x8f, 0x81, 0x99, 0x8a, 0xee, 0xf0, 0x07, 0xd3, - 0xc7, 0x3b, 0xca, 0xf3, 0xb2, 0xd3, 0xba, 0xf6, 0x6e, 0xc3, 0x20, 0x8c, 0x18, 0x9f, 0x19, 0xe8, 0xc8, 0x5e, 0x0f, - 0xd8, 0x92, 0xc9, 0x18, 0x1b, 0xf0, 0x84, 0x28, 0xc8, 0x68, 0x9d, 0x8f, 0x2c, 0x5f, 0xec, 0xeb, 0x1e, 0x06, 0x27, - 0x64, 0x6c, 0x1c, 0x81, 0x1b, 0x35, 0x20, 0x43, 0xc2, 0x2c, 0xe1, 0xc7, 0x1e, 0xe1, 0x58, 0x3b, 0xf8, 0xaf, 0xb4, - 0x01, 0x05, 0xe4, 0x68, 0x4f, 0x0a, 0x49, 0xe6, 0x31, 0xcc, 0x1a, 0x14, 0x3e, 0x22, 0x43, 0x99, 0x93, 0xff, 0x1c, - 0x4b, 0x8a, 0x0d, 0xc7, 0xb1, 0x18, 0x99, 0x75, 0x1c, 0x7f, 0xea, 0xcc, 0x6f, 0x1b, 0xde, 0x83, 0x2a, 0x7a, 0xba, - 0x0e, 0x1e, 0x42, 0x29, 0x42, 0xb9, 0x99, 0x09, 0xe5, 0x47, 0x58, 0x74, 0x67, 0xb4, 0x01, 0xad, 0x1f, 0xa3, 0x47, - 0xbe, 0x7e, 0x83, 0x93, 0xcb, 0x50, 0x81, 0x75, 0xf1, 0xc3, 0x0f, 0xc4, 0xf4, 0xd9, 0x3b, 0x16, 0x6b, 0xe5, 0x6c, - 0x4e, 0x7d, 0xc9, 0xd0, 0x05, 0x5f, 0xa7, 0xeb, 0x13, 0xef, 0x95, 0x09, 0x52, 0xb3, 0xb0, 0x5a, 0x27, 0x36, 0x91, - 0x49, 0x8b, 0xd3, 0xe4, 0xdd, 0xfc, 0xe5, 0x69, 0x36, 0xf1, 0xca, 0xa5, 0xc0, 0xa4, 0x67, 0x51, 0x25, 0x36, 0x32, - 0xd3, 0x65, 0xc3, 0xbf, 0x1c, 0xe5, 0xf3, 0x6c, 0xa8, 0x67, 0x9e, 0x5f, 0xd0, 0x8d, 0xfb, 0xc3, 0x2c, 0x12, 0x6a, - 0x76, 0x5b, 0xe7, 0xcc, 0x4e, 0xb5, 0xcd, 0x7f, 0xb0, 0x73, 0xfb, 0xd8, 0xf7, 0x99, 0x8f, 0x64, 0x96, 0xae, 0x28, - 0x09, 0xbb, 0xe3, 0x21, 0xe9, 0x14, 0x93, 0x15, 0x67, 0x4e, 0x03, 0xf5, 0x5c, 0x16, 0xe7, 0x35, 0xb9, 0xbb, 0x80, - 0xb7, 0x82, 0x29, 0x03, 0x24, 0xd5, 0xf1, 0x45, 0x70, 0x55, 0x11, 0x38, 0x35, 0xb5, 0x50, 0x45, 0xf1, 0xb8, 0x33, - 0xdb, 0x2d, 0xa0, 0xea, 0xa7, 0x6a, 0x71, 0x69, 0xa4, 0xa2, 0x84, 0x67, 0xb2, 0x15, 0xa6, 0x40, 0xa6, 0x2b, 0x27, - 0xcd, 0x49, 0xac, 0x70, 0xd0, 0xcf, 0x22, 0x27, 0xd9, 0x8b, 0xaa, 0x76, 0xc3, 0x4b, 0x5b, 0x6b, 0x56, 0x18, 0xed, - 0x6c, 0xb5, 0x48, 0x27, 0x52, 0xb1, 0x7d, 0xa8, 0x1e, 0x0a, 0xf7, 0xdd, 0x04, 0x56, 0x6a, 0xa4, 0xb2, 0xfc, 0x75, - 0xa4, 0x86, 0x47, 0xfc, 0xb5, 0x49, 0x07, 0x49, 0xc3, 0x86, 0x1d, 0x6d, 0x6e, 0x9b, 0xcb, 0xa0, 0x58, 0xd6, 0x38, - 0x8c, 0x4a, 0x43, 0xb7, 0x11, 0xf9, 0x0a, 0xe5, 0x91, 0x7d, 0x13, 0x79, 0x43, 0x2c, 0xd9, 0x43, 0xbc, 0x46, 0xc2, - 0x24, 0xa5, 0x8f, 0x62, 0x8b, 0xc6, 0x85, 0xa2, 0x5b, 0xa6, 0xdd, 0xa6, 0x3b, 0x57, 0x49, 0x2e, 0xd3, 0x53, 0xcf, - 0xb3, 0x40, 0x29, 0xac, 0x44, 0x44, 0x42, 0xc8, 0x98, 0x67, 0x6f, 0xfc, 0xd4, 0xf4, 0xdc, 0x23, 0x4a, 0x34, 0xfb, - 0x02, 0xef, 0x85, 0x3e, 0x88, 0x11, 0x1f, 0x9b, 0x90, 0x63, 0xf8, 0xca, 0xe9, 0xf0, 0xbd, 0x6d, 0x4e, 0xfe, 0x68, - 0xe7, 0xe3, 0x89, 0x32, 0x25, 0xaa, 0x76, 0xf1, 0xb4, 0x81, 0xc4, 0x1a, 0x20, 0x9e, 0xa5, 0x63, 0x09, 0x4a, 0xa3, - 0xc7, 0x60, 0xe7, 0xf3, 0x6a, 0x97, 0x85, 0xda, 0xf4, 0x74, 0x97, 0xa5, 0x09, 0x70, 0xc1, 0x8e, 0xd2, 0xdb, 0xc4, - 0xee, 0xee, 0x2f, 0x1c, 0xd0, 0xdd, 0x37, 0x19, 0xd9, 0x68, 0x76, 0xd9, 0x90, 0xb0, 0xc4, 0xbf, 0x8b, 0xa6, 0x8d, - 0x25, 0x52, 0x21, 0xde, 0xd8, 0x37, 0x80, 0x99, 0x4c, 0x7b, 0xa6, 0xd1, 0x03, 0x91, 0xe2, 0x37, 0x60, 0x3b, 0x50, - 0x09, 0x0d, 0x32, 0x12, 0xf5, 0x93, 0x08, 0x35, 0x31, 0xee, 0x71, 0xfe, 0xe3, 0x9a, 0x72, 0x74, 0x90, 0x40, 0x8e, - 0x07, 0xbb, 0x67, 0x9d, 0x11, 0xc5, 0x59, 0x4f, 0x5a, 0xd5, 0x3c, 0x73, 0xd1, 0xa1, 0x74, 0x66, 0x1f, 0x28, 0xd1, - 0x13, 0x45, 0x7f, 0xb9, 0x1d, 0xe9, 0x47, 0x80, 0xc1, 0xb0, 0x2b, 0xcc, 0x7f, 0x32, 0x9d, 0x70, 0x41, 0x44, 0x3d, - 0x77, 0x57, 0xbd, 0x1d, 0x16, 0x3b, 0x93, 0xc9, 0xf8, 0xe4, 0x97, 0x81, 0xbb, 0x6f, 0x87, 0x88, 0xb4, 0x89, 0xdb, - 0x18, 0xf9, 0x64, 0x12, 0x30, 0xdb, 0xd5, 0x8d, 0x6a, 0x46, 0x3a, 0x26, 0x11, 0x53, 0xeb, 0x37, 0xf6, 0x79, 0x9b, - 0x5e, 0xbb, 0x07, 0xff, 0xfd, 0x06, 0x4d, 0x90, 0x7a, 0xa6, 0x8a, 0xc5, 0xfb, 0x70, 0xe7, 0xa0, 0xfb, 0xcb, 0xf6, - 0x59, 0x5e, 0xf6, 0xb0, 0x14, 0x32, 0xb4, 0x4a, 0xd4, 0xf9, 0x58, 0x3b, 0x8c, 0x74, 0x7e, 0xa6, 0x61, 0xb9, 0xd6, - 0x7f, 0xaa, 0x3a, 0x98, 0xf5, 0x9b, 0xc1, 0x49, 0x65, 0xb1, 0xa8, 0xa6, 0x92, 0x0b, 0xef, 0xe0, 0x6b, 0x38, 0xb7, - 0x86, 0x7e, 0xed, 0xa6, 0xf2, 0xd4, 0x55, 0xe1, 0xb2, 0xef, 0xa2, 0x9f, 0xb0, 0xa9, 0xbf, 0x8a, 0x41, 0xf9, 0xeb, - 0xe0, 0x14, 0x54, 0x6f, 0xc8, 0x1b, 0x23, 0x75, 0x17, 0xef, 0x17, 0x52, 0x62, 0x72, 0xc4, 0x3f, 0x0a, 0x86, 0x46, - 0x69, 0x5b, 0xaa, 0x63, 0xec, 0x2c, 0x98, 0xec, 0xac, 0x76, 0x5b, 0xff, 0x8e, 0x82, 0x27, 0xda, 0xce, 0xef, 0x7e, - 0x24, 0x35, 0x0f, 0xb0, 0xce, 0xfa, 0xf2, 0x23, 0x70, 0x5e, 0xdb, 0x8f, 0xd4, 0xf3, 0xa1, 0x98, 0x9e, 0x68, 0x7d, - 0xcc, 0xda, 0xf3, 0x6c, 0xc1, 0x9e, 0xef, 0x59, 0x08, 0x35, 0x52, 0x67, 0xfc, 0xc0, 0xcc, 0xef, 0x42, 0x67, 0x3b, - 0xec, 0xb2, 0x63, 0xad, 0x79, 0xbf, 0x32, 0x63, 0xa5, 0xca, 0x7a, 0xe7, 0xd8, 0x91, 0x6b, 0x8d, 0x27, 0x63, 0x18, - 0x48, 0x1a, 0xab, 0x9b, 0xe1, 0xd4, 0x09, 0x95, 0x6f, 0x66, 0x41, 0xc7, 0x4e, 0xa2, 0x9b, 0xe5, 0x22, 0x4a, 0xa4, - 0xc8, 0xdf, 0x06, 0x99, 0x62, 0x38, 0x64, 0xc2, 0xa3, 0xb8, 0x37, 0x41, 0xc2, 0xbc, 0x56, 0x52, 0x26, 0x56, 0x3b, - 0xba, 0x5e, 0xa5, 0x47, 0xc1, 0xc1, 0x9a, 0x2a, 0x69, 0x33, 0x10, 0x75, 0xa9, 0xfb, 0xb0, 0xa6, 0xfb, 0x43, 0xa3, - 0x3a, 0xd8, 0x5f, 0x79, 0x2b, 0xb5, 0x68, 0xfe, 0x45, 0x0d, 0xc7, 0x6a, 0x84, 0xcd, 0x0c, 0x78, 0x1c, 0xfd, 0x1f, - 0x49, 0xa1, 0x43, 0xd7, 0x02, 0xa0, 0xf6, 0xc7, 0xf2, 0x06, 0x45, 0x31, 0x02, 0xb4, 0x1f, 0x56, 0xde, 0x48, 0x7d, - 0xca, 0x1f, 0xcc, 0xae, 0xdb, 0x8e, 0x2c, 0x17, 0xc1, 0x58, 0x93, 0x6d, 0x00, 0x08, 0xcb, 0x17, 0xb0, 0x81, 0x28, - 0x1a, 0x45, 0xd9, 0xd2, 0x3b, 0xec, 0x16, 0x2f, 0x21, 0x5a, 0xf3, 0x98, 0x50, 0xf4, 0x0d, 0xa9, 0xa4, 0xb2, 0xac, - 0xf0, 0xfd, 0xab, 0x0b, 0xe6, 0x5a, 0x18, 0xbd, 0xb5, 0xe7, 0x56, 0xb6, 0xe8, 0xbc, 0xbb, 0xab, 0xe9, 0x9f, 0xda, - 0xd5, 0xf0, 0x91, 0x6d, 0xc0, 0x8c, 0x2c, 0x6c, 0xc9, 0x0f, 0x4f, 0xeb, 0x26, 0x1c, 0xff, 0x28, 0x2a, 0x46, 0x85, - 0x2b, 0x08, 0x16, 0xb5, 0x46, 0x9c, 0x92, 0x7f, 0x1c, 0x00, 0x05, 0xda, 0xc3, 0x92, 0x08, 0x89, 0x51, 0x95, 0xa1, - 0x12, 0xd9, 0x53, 0xf1, 0xab, 0x36, 0x90, 0xc1, 0x24, 0x1c, 0x4a, 0x06, 0x6e, 0x6a, 0xd7, 0x9c, 0x98, 0x9d, 0xb9, - 0xf5, 0x1f, 0xb7, 0x8c, 0xd5, 0x30, 0x61, 0x89, 0xfa, 0x14, 0x66, 0x7a, 0x59, 0xf5, 0x08, 0x8f, 0xa6, 0x85, 0xee, - 0x21, 0x48, 0x2d, 0x8b, 0x84, 0xdf, 0xb3, 0x8e, 0x50, 0x23, 0x98, 0x90, 0xdd, 0xb3, 0x32, 0x0e, 0x21, 0xd7, 0xe9, - 0x71, 0xc6, 0x0b, 0x50, 0xcb, 0x7a, 0x9d, 0xb1, 0xcc, 0x91, 0xd7, 0x82, 0x2e, 0xc9, 0x05, 0xd5, 0x6b, 0x94, 0x0d, - 0x33, 0xae, 0x3f, 0x97, 0x44, 0x23, 0xdf, 0xa0, 0xa1, 0x76, 0xe4, 0x39, 0xf1, 0x79, 0xce, 0xd1, 0x14, 0xc9, 0x1d, - 0x3d, 0x83, 0x56, 0x33, 0x5b, 0x73, 0xd3, 0x9b, 0xaf, 0x36, 0x23, 0x6c, 0x77, 0x3c, 0x4e, 0x99, 0x26, 0x4e, 0x06, - 0xe7, 0x47, 0xa0, 0xcd, 0x9d, 0x96, 0xdc, 0xb8, 0xf8, 0x3f, 0x44, 0x1e, 0xdd, 0x3c, 0x9e, 0x23, 0x98, 0xcb, 0x6d, - 0x8c, 0xe2, 0xe1, 0xe6, 0xd8, 0x05, 0x36, 0xec, 0xff, 0x13, 0x17, 0x5d, 0x13, 0xf1, 0xe2, 0x50, 0x2b, 0x51, 0x09, - 0x71, 0x62, 0x7d, 0xb6, 0x0f, 0xa4, 0xf5, 0x88, 0x84, 0x13, 0x65, 0x9d, 0xcd, 0xc2, 0x38, 0xd6, 0x65, 0xf0, 0xe1, - 0x07, 0x6a, 0x09, 0x41, 0x60, 0x98, 0xbf, 0xc4, 0xfe, 0x04, 0x56, 0x5c, 0x88, 0x42, 0x19, 0xf1, 0xc2, 0xbf, 0xfa, - 0x8c, 0xcf, 0x69, 0x56, 0x56, 0xba, 0xc6, 0xe5, 0xc8, 0x4c, 0xad, 0x61, 0x4e, 0x9e, 0xb0, 0x69, 0x8a, 0x58, 0x4c, - 0xcf, 0x0d, 0x53, 0xcc, 0x08, 0x68, 0x68, 0xce, 0xb9, 0x23, 0x65, 0x4d, 0x82, 0x97, 0x31, 0x29, 0x96, 0x02, 0x74, - 0x85, 0x2e, 0x33, 0xbb, 0xed, 0x0c, 0xe3, 0x60, 0xc8, 0xcd, 0x02, 0x40, 0xb8, 0x12, 0x41, 0x2d, 0x02, 0xcf, 0x8a, - 0x7d, 0x25, 0x32, 0x07, 0x73, 0x91, 0xa3, 0xde, 0xeb, 0xa4, 0xbf, 0x41, 0xc2, 0x25, 0xbc, 0x95, 0x02, 0x27, 0x03, - 0xba, 0x4c, 0xa4, 0x40, 0xf3, 0x12, 0x21, 0xc6, 0x1a, 0x90, 0xd4, 0x36, 0x7e, 0xb9, 0x88, 0x70, 0xcf, 0x07, 0xd9, - 0x70, 0xd6, 0x0d, 0x02, 0x20, 0x8f, 0xf2, 0xfa, 0x3b, 0x8b, 0x74, 0x87, 0x39, 0x01, 0x89, 0x0b, 0x8e, 0x91, 0x13, - 0xda, 0x39, 0x35, 0xd8, 0x32, 0x17, 0xa3, 0x8c, 0xdb, 0x1a, 0x25, 0x4b, 0xe1, 0x6c, 0x23, 0xed, 0x36, 0x72, 0x46, - 0x32, 0x50, 0xeb, 0x32, 0x09, 0x3b, 0x74, 0xed, 0xc9, 0x54, 0x6e, 0x07, 0x78, 0x67, 0xcd, 0x40, 0x9f, 0x6e, 0x3d, - 0x1f, 0xfb, 0x9f, 0x36, 0x57, 0xc9, 0xf4, 0x7d, 0x93, 0x31, 0x62, 0x2e, 0xd1, 0x97, 0x1c, 0x66, 0x9f, 0xf6, 0xfb, - 0x7c, 0x07, 0x8b, 0xf5, 0x55, 0xfc, 0x55, 0xc5, 0x46, 0xfd, 0xd4, 0x7a, 0xc1, 0x24, 0x49, 0x2c, 0xb9, 0x35, 0x28, - 0x29, 0xa8, 0xcc, 0xdb, 0xa8, 0x21, 0x2b, 0xa6, 0xb5, 0x66, 0x3b, 0xf1, 0xbf, 0x73, 0xc5, 0xcc, 0xc4, 0xc0, 0x8f, - 0x71, 0xc4, 0x3e, 0x79, 0xc4, 0xc6, 0xdb, 0xdb, 0x0f, 0x9c, 0xa1, 0x63, 0xf2, 0x00, 0x81, 0x42, 0x64, 0x5e, 0xba, - 0xc4, 0x9c, 0x5b, 0x33, 0x6b, 0xd6, 0xd4, 0xca, 0x7f, 0x66, 0xd7, 0xfa, 0xd0, 0xd8, 0x27, 0xc2, 0xd7, 0xd9, 0xda, - 0xed, 0xd8, 0x87, 0x50, 0xa8, 0x22, 0x5f, 0x48, 0x1d, 0xcc, 0x5c, 0xbc, 0xa9, 0x0c, 0x6e, 0x7a, 0xfb, 0x28, 0x09, - 0x30, 0x39, 0x1b, 0xfd, 0x44, 0xad, 0x08, 0x3e, 0x7b, 0x44, 0xf8, 0x62, 0xbb, 0x2d, 0xa2, 0xe0, 0xca, 0x68, 0xc6, - 0xbb, 0x8c, 0x7e, 0x72, 0xa3, 0xc5, 0x2f, 0xd3, 0xb2, 0x3c, 0x7b, 0x6a, 0x3b, 0x85, 0xf6, 0x71, 0x10, 0xbb, 0x22, - 0x68, 0x6b, 0x63, 0x41, 0x90, 0x35, 0x75, 0xd9, 0xa4, 0x22, 0xc5, 0x6f, 0xad, 0x93, 0xce, 0xeb, 0xc4, 0x33, 0xdb, - 0xe5, 0x3e, 0x24, 0x62, 0x04, 0x6e, 0x8b, 0x6e, 0xb7, 0x41, 0x54, 0x70, 0xe9, 0xe8, 0x64, 0x82, 0x47, 0x5d, 0xe2, - 0xa4, 0xda, 0xf5, 0x76, 0xdc, 0xfe, 0xd9, 0x1c, 0xf6, 0x03, 0x50, 0xe9, 0x3a, 0xd0, 0x7f, 0x4b, 0xaf, 0x64, 0x8e, - 0x3d, 0xec, 0xcd, 0x41, 0x73, 0x0b, 0xf4, 0x53, 0xb5, 0x89, 0xa2, 0xee, 0x0b, 0xfa, 0xcc, 0x38, 0xfe, 0x2f, 0x55, - 0x56, 0x30, 0x14, 0x26, 0x33, 0xd1, 0xac, 0xb6, 0x20, 0x9d, 0x85, 0x41, 0xed, 0x87, 0xb7, 0x1a, 0x39, 0x60, 0x8b, - 0x79, 0xc4, 0xa1, 0x1e, 0x34, 0x82, 0x97, 0x50, 0x20, 0xcc, 0xbd, 0x33, 0x34, 0x06, 0x3d, 0x28, 0x0f, 0x90, 0x81, - 0x62, 0xd0, 0xb2, 0x14, 0x1a, 0xda, 0x84, 0x54, 0xbb, 0xdf, 0x1f, 0xbd, 0x3e, 0xf4, 0x7b, 0x35, 0x8a, 0x68, 0xd4, - 0x3b, 0x07, 0x09, 0x28, 0x7a, 0xc5, 0x81, 0x0c, 0x94, 0x37, 0x4b, 0x62, 0xc4, 0x32, 0x1e, 0x07, 0xb9, 0x3a, 0x78, - 0xbc, 0x52, 0x72, 0x3c, 0x2b, 0x84, 0x1e, 0x03, 0x18, 0xd6, 0x3d, 0x70, 0x2f, 0xbb, 0x15, 0x2c, 0x02, 0x9e, 0xd5, - 0x2b, 0xea, 0xd9, 0x6a, 0x3e, 0xd4, 0xbf, 0x97, 0x17, 0xef, 0xb7, 0xb4, 0x9f, 0x4a, 0xec, 0xb1, 0xac, 0xa9, 0x02, - 0x1f, 0xfe, 0xfc, 0x29, 0xf3, 0xb1, 0x58, 0xa4, 0x4f, 0x9f, 0x5c, 0xc3, 0x09, 0xd1, 0x75, 0xc9, 0xbf, 0x70, 0x71, - 0x6c, 0x53, 0x40, 0x0d, 0xa7, 0x61, 0xe7, 0x8a, 0xf0, 0x38, 0x61, 0x0d, 0x17, 0x45, 0x38, 0xec, 0xe0, 0x60, 0x23, - 0x8c, 0x6e, 0xa8, 0x21, 0x96, 0xf4, 0x4e, 0x7c, 0x3b, 0xc0, 0x25, 0xf8, 0x79, 0xa1, 0x97, 0x49, 0x80, 0xf8, 0x63, - 0x8b, 0xc1, 0x04, 0xb9, 0xc4, 0xda, 0x6c, 0xca, 0x6e, 0xf5, 0x5e, 0x6b, 0xda, 0x79, 0x9a, 0x6e, 0xee, 0xad, 0xd9, - 0x9c, 0xa8, 0x3c, 0x70, 0x92, 0x51, 0x5c, 0x90, 0x1e, 0xd5, 0x33, 0xf9, 0x2f, 0x8e, 0x13, 0x40, 0x66, 0xf1, 0xe0, - 0x5e, 0x09, 0x8c, 0xed, 0x2b, 0x5d, 0x8b, 0xf8, 0x97, 0xc8, 0xf8, 0xd9, 0x68, 0xc6, 0xec, 0x15, 0x96, 0x5c, 0x6d, - 0xa8, 0x0d, 0x07, 0xcc, 0x45, 0x2f, 0x15, 0x9d, 0x63, 0x8c, 0x5a, 0xd8, 0x8c, 0x5f, 0x8c, 0xdd, 0x42, 0xa4, 0x51, - 0x8d, 0xd9, 0xf6, 0x6b, 0x4b, 0x74, 0xdf, 0xe3, 0x89, 0x24, 0x68, 0x5e, 0x12, 0x50, 0x80, 0x5d, 0x4c, 0x30, 0x24, - 0xd7, 0x30, 0x8c, 0x69, 0x86, 0xe7, 0x29, 0xd4, 0xb5, 0x9e, 0x1a, 0x95, 0x97, 0xba, 0xcb, 0xda, 0x5c, 0xb6, 0x9b, - 0x3c, 0xee, 0x51, 0x90, 0x38, 0x6a, 0x9c, 0xa1, 0x61, 0x56, 0x3d, 0x43, 0xca, 0xb0, 0x84, 0x48, 0x2b, 0x2e, 0xf2, - 0xb6, 0x76, 0x99, 0xc2, 0x40, 0xde, 0x89, 0x6e, 0x3a, 0xa7, 0x42, 0x04, 0xbb, 0x8b, 0x8a, 0x84, 0x4d, 0xdb, 0xb2, - 0x89, 0x16, 0x3a, 0xf7, 0x6d, 0x28, 0x74, 0x09, 0xf1, 0x43, 0xb6, 0x17, 0xee, 0x5e, 0x22, 0xf6, 0x10, 0xc6, 0xe6, - 0x88, 0x2d, 0x3e, 0xea, 0x25, 0xad, 0x97, 0x43, 0x42, 0x70, 0xb6, 0x59, 0xfa, 0xfc, 0x77, 0x6c, 0xe8, 0xca, 0xcb, - 0x0d, 0x8d, 0xca, 0x8e, 0xae, 0xaf, 0xae, 0x5a, 0x25, 0x16, 0xa9, 0xc6, 0x1c, 0x72, 0xe2, 0xa1, 0x45, 0xe7, 0x01, - 0x6d, 0xe2, 0xac, 0x9c, 0x11, 0x92, 0x3b, 0x6b, 0x51, 0xe8, 0x1a, 0xec, 0xbd, 0x0b, 0x00, 0x3b, 0x36, 0x99, 0xea, - 0xc5, 0xca, 0x53, 0x92, 0x60, 0xe8, 0x56, 0xe8, 0x9d, 0xaf, 0x72, 0x07, 0x0a, 0x31, 0xac, 0x03, 0x2c, 0x9c, 0x95, - 0xcc, 0x09, 0xdb, 0x87, 0xf5, 0xf8, 0x31, 0xaa, 0x2d, 0x60, 0x7c, 0x08, 0xa1, 0xbe, 0xb7, 0x71, 0x1b, 0x8a, 0x8e, - 0xce, 0x68, 0x72, 0x97, 0x13, 0x64, 0xd0, 0x77, 0xae, 0x94, 0x4c, 0xf1, 0x84, 0xbc, 0x9c, 0x39, 0x52, 0xa8, 0xf2, - 0xa6, 0x55, 0xfa, 0x62, 0xfb, 0xf6, 0x4b, 0x1f, 0x61, 0x5d, 0x23, 0x2e, 0x15, 0x63, 0x3d, 0x20, 0xfb, 0xee, 0x28, - 0x5a, 0xd3, 0x5e, 0x3c, 0x5d, 0x11, 0xcf, 0xf1, 0x26, 0x1c, 0xe1, 0x4f, 0x9f, 0xaf, 0xab, 0xd5, 0x79, 0x40, 0xb9, - 0xf7, 0x66, 0xc1, 0x31, 0xea, 0x1d, 0x97, 0x88, 0x60, 0xd2, 0x39, 0xdd, 0x69, 0x33, 0xa8, 0x26, 0x22, 0x33, 0x7c, - 0xb8, 0xf4, 0xdb, 0xfd, 0xaf, 0x20, 0x58, 0x77, 0x11, 0x2e, 0xdc, 0xd2, 0x20, 0x0e, 0x59, 0x8a, 0x90, 0x76, 0x45, - 0x30, 0xd2, 0x51, 0x41, 0x6c, 0xc5, 0x4e, 0x8a, 0x3c, 0x5f, 0x43, 0x20, 0xe2, 0x1c, 0x5c, 0x3e, 0xb3, 0x0a, 0x2f, - 0xaa, 0xd7, 0x3f, 0x37, 0x48, 0xe9, 0xb2, 0x3a, 0xe8, 0x7f, 0x9d, 0x2c, 0xfc, 0xe4, 0xe0, 0xc0, 0xcb, 0xc8, 0xda, - 0xda, 0xec, 0xb4, 0xa9, 0xde, 0x0a, 0x76, 0xdc, 0xce, 0xf5, 0xbe, 0x7e, 0x03, 0x4a, 0xa3, 0xad, 0xa8, 0xd9, 0x6d, - 0xca, 0x4c, 0x8d, 0xe1, 0x31, 0xab, 0x45, 0x03, 0x5c, 0xb8, 0xc3, 0xfe, 0x64, 0xc0, 0xde, 0xc1, 0x54, 0xf4, 0xbc, - 0x6f, 0xff, 0xec, 0x64, 0x86, 0x84, 0xe9, 0x84, 0x43, 0xee, 0xc0, 0x67, 0x4c, 0x4f, 0x27, 0x7d, 0x2f, 0x10, 0xbf, - 0x8a, 0x24, 0x9b, 0xf0, 0xb7, 0x0a, 0xef, 0x69, 0x64, 0x6c, 0x09, 0x19, 0xdd, 0x16, 0x95, 0x22, 0x52, 0x4b, 0x83, - 0x81, 0x31, 0x8a, 0xf9, 0x94, 0x68, 0x26, 0x96, 0xdd, 0x61, 0x43, 0x62, 0x9f, 0xed, 0x39, 0x7b, 0xbb, 0x98, 0x4d, - 0x09, 0x5a, 0x56, 0x7b, 0xf1, 0x6a, 0x6d, 0xde, 0x2b, 0x8f, 0xae, 0x8f, 0x1b, 0x18, 0xb1, 0x3f, 0xb7, 0xda, 0x5b, - 0xe0, 0x41, 0x07, 0xfc, 0xf3, 0x9d, 0xe2, 0xc5, 0xad, 0xf2, 0x25, 0x04, 0x3f, 0x64, 0x9a, 0x2c, 0x81, 0x32, 0xc8, - 0xc5, 0x96, 0x0b, 0x1e, 0x48, 0x15, 0xb5, 0xdd, 0x7a, 0x8c, 0xd8, 0x3c, 0x9f, 0x7c, 0xda, 0xc1, 0xf0, 0x4c, 0x41, - 0x07, 0xfb, 0x97, 0xed, 0xfd, 0x06, 0x68, 0xdd, 0x64, 0xc8, 0xbf, 0x6b, 0xdd, 0x04, 0x19, 0xc1, 0xc7, 0xaf, 0xb6, - 0xbf, 0xb0, 0xe6, 0xd3, 0xd4, 0x76, 0x8c, 0x96, 0x41, 0xb7, 0xfc, 0x5d, 0x72, 0x0a, 0x71, 0x5d, 0xed, 0x01, 0x7c, - 0xba, 0x8c, 0x01, 0x5f, 0xa2, 0x6f, 0x90, 0x1a, 0x40, 0xe4, 0xb7, 0x1f, 0xf5, 0xe3, 0xa7, 0xe6, 0x66, 0xf5, 0x43, - 0xc7, 0x86, 0x12, 0x31, 0x38, 0xac, 0x42, 0xb6, 0xe3, 0x00, 0xa0, 0xe2, 0x61, 0xe5, 0x88, 0x0e, 0x9a, 0x0f, 0x05, - 0xfb, 0x14, 0x0f, 0x3b, 0x07, 0x5f, 0xd7, 0x45, 0x91, 0x35, 0xa2, 0x24, 0x07, 0x4b, 0x25, 0xdd, 0x2f, 0x8e, 0xd2, - 0x0c, 0xaa, 0xf6, 0x04, 0x71, 0x15, 0x01, 0xc4, 0x63, 0x30, 0xba, 0xaf, 0x4b, 0xbf, 0xe7, 0x8a, 0x05, 0xe0, 0xe7, - 0x14, 0x6e, 0x63, 0x9e, 0x8f, 0x29, 0x80, 0xa0, 0xcf, 0x86, 0x06, 0x73, 0x88, 0x48, 0xc6, 0xe9, 0xec, 0x5a, 0x8c, - 0xf2, 0x32, 0xf2, 0xed, 0x88, 0xad, 0x22, 0x7f, 0xc7, 0x2a, 0x2f, 0x2e, 0xee, 0x85, 0x64, 0x17, 0xab, 0x74, 0x06, - 0x91, 0xda, 0x85, 0x99, 0x8c, 0x46, 0x47, 0xa6, 0xe9, 0x04, 0xd1, 0x5e, 0x2a, 0xa4, 0x64, 0x18, 0xe5, 0x18, 0xc5, - 0x22, 0x8e, 0x9c, 0x83, 0x93, 0x25, 0x0c, 0xc3, 0x92, 0xe0, 0xbf, 0x69, 0x40, 0xd0, 0x2b, 0x95, 0x14, 0xec, 0xa2, - 0x84, 0xb7, 0x43, 0x06, 0x0d, 0x80, 0xa5, 0xc6, 0x3b, 0x24, 0x4f, 0x35, 0xaa, 0x93, 0x73, 0xad, 0xc8, 0x70, 0x2a, - 0x75, 0x21, 0x3b, 0xc6, 0x13, 0x02, 0x89, 0x71, 0xde, 0xf9, 0x3c, 0x0f, 0x1a, 0x20, 0xf6, 0x64, 0x6a, 0x8d, 0xf4, - 0xbc, 0x62, 0x0f, 0x66, 0x5b, 0xda, 0x86, 0x46, 0x33, 0x07, 0x46, 0x02, 0x9b, 0x3f, 0x30, 0x53, 0x15, 0x53, 0xf3, - 0xc8, 0x31, 0x08, 0x43, 0x68, 0xbd, 0x95, 0xd5, 0x01, 0x21, 0xb4, 0x3c, 0x29, 0x93, 0x0c, 0xe2, 0xda, 0xf8, 0x30, - 0xea, 0x1a, 0x1f, 0x34, 0x12, 0xa0, 0x35, 0x73, 0xb5, 0xc5, 0xc7, 0xb3, 0x85, 0xc2, 0x19, 0x4b, 0x46, 0x7f, 0xb6, - 0x35, 0xb5, 0x92, 0xee, 0xe6, 0xee, 0xaf, 0xb0, 0xe5, 0xeb, 0xe4, 0x22, 0xdd, 0x2e, 0x65, 0x5b, 0x50, 0x1e, 0x68, - 0xb7, 0x9b, 0x59, 0xff, 0xfc, 0x37, 0x1f, 0x3f, 0x22, 0x74, 0x91, 0xb0, 0x0b, 0xc9, 0x2d, 0xea, 0xf8, 0x8b, 0x8f, - 0x86, 0x27, 0x63, 0xd8, 0xee, 0x0c, 0xcc, 0x1d, 0xe6, 0x39, 0x86, 0xbd, 0xc7, 0xc7, 0x31, 0x0c, 0x10, 0x93, 0xaf, - 0xa6, 0x0a, 0x13, 0x79, 0x87, 0x81, 0xca, 0x55, 0xaf, 0x1d, 0x20, 0x22, 0xce, 0xd4, 0x3e, 0x89, 0xe6, 0x9f, 0xa9, - 0xc8, 0xfb, 0x67, 0xdb, 0x13, 0x92, 0x20, 0x5f, 0xcf, 0x9a, 0xb8, 0x8e, 0x29, 0xf0, 0x00, 0xdb, 0x97, 0x58, 0x34, - 0x76, 0x97, 0x84, 0xd0, 0x42, 0x17, 0xa1, 0xa4, 0xc1, 0x87, 0x50, 0xf5, 0x6a, 0x95, 0x6c, 0x98, 0x0a, 0x0b, 0xbc, - 0xf8, 0xf4, 0x70, 0x0c, 0xef, 0x8f, 0x07, 0xca, 0x05, 0x85, 0x5c, 0x4e, 0xf0, 0x21, 0x6e, 0x1a, 0x7b, 0x06, 0x52, - 0x90, 0xf6, 0x4d, 0xe1, 0x9a, 0x9f, 0x8c, 0xac, 0x0b, 0x1d, 0x59, 0x4e, 0x4e, 0x4c, 0xf6, 0x24, 0xfc, 0x8b, 0x92, - 0x19, 0x92, 0xbc, 0x1c, 0x9c, 0xda, 0xc0, 0xd7, 0x2e, 0xe9, 0x28, 0xd7, 0xa2, 0x6d, 0xc3, 0xaf, 0x15, 0x27, 0xe8, - 0x94, 0x43, 0x37, 0xc1, 0xcb, 0x5e, 0x7d, 0x4e, 0xcd, 0x8d, 0xef, 0x95, 0xb7, 0x8b, 0xfb, 0xd7, 0xab, 0x01, 0x0e, - 0xbe, 0x40, 0x8e, 0xf7, 0xcc, 0x28, 0xce, 0xbf, 0x1d, 0xc6, 0xab, 0xe5, 0x98, 0x21, 0x30, 0x81, 0x84, 0x4c, 0x23, - 0x62, 0x1b, 0x4e, 0xf0, 0xf1, 0x43, 0x9d, 0xa3, 0x92, 0xd0, 0xd2, 0x8a, 0x83, 0xe3, 0x5c, 0x7f, 0x1b, 0x65, 0x48, - 0x29, 0xcb, 0xa5, 0x8c, 0x30, 0xc4, 0xc4, 0x01, 0x39, 0xdb, 0x95, 0xef, 0xc5, 0xe7, 0xcc, 0x33, 0x0d, 0xa4, 0x77, - 0xf1, 0x80, 0x16, 0x19, 0xf5, 0x07, 0x85, 0x1a, 0x44, 0x9a, 0x18, 0x7c, 0x46, 0x49, 0x20, 0x31, 0xc6, 0x46, 0x08, - 0x94, 0x90, 0x63, 0xeb, 0x07, 0x8b, 0x2a, 0x4c, 0x84, 0x22, 0x80, 0x96, 0x68, 0x79, 0x24, 0x28, 0xc8, 0x0c, 0x69, - 0xa4, 0xc7, 0xdc, 0x2d, 0x1d, 0x98, 0x16, 0x60, 0x4a, 0xc5, 0x23, 0x80, 0x7c, 0x32, 0x86, 0xa9, 0x88, 0x60, 0x70, - 0x57, 0x5e, 0x26, 0x0d, 0x1d, 0xd6, 0x30, 0x17, 0xcd, 0xc5, 0x94, 0x79, 0x19, 0x85, 0x72, 0x82, 0xc9, 0x55, 0x3b, - 0x21, 0xee, 0x0c, 0xa6, 0x75, 0x17, 0xf3, 0x79, 0x80, 0xd0, 0xf6, 0xd6, 0xd9, 0x14, 0x28, 0x33, 0x92, 0xd8, 0x04, - 0x11, 0x91, 0x0c, 0x76, 0x20, 0x0d, 0x45, 0x22, 0x24, 0x84, 0x4a, 0x52, 0xd0, 0x3a, 0x99, 0x13, 0x11, 0x9f, 0x56, - 0x58, 0xec, 0x83, 0xb4, 0x58, 0x22, 0x9b, 0xf7, 0xad, 0x32, 0xcc, 0x0f, 0x04, 0x85, 0x15, 0x8b, 0xac, 0x0a, 0x16, - 0x21, 0x91, 0xb0, 0x7a, 0x9d, 0x30, 0x76, 0x5e, 0x5f, 0x7c, 0x9a, 0x08, 0x4a, 0x9c, 0xd0, 0x91, 0x60, 0x1c, 0xab, - 0xa2, 0x58, 0xc9, 0x9f, 0x14, 0x39, 0xac, 0xd8, 0xf0, 0xe5, 0x55, 0xe9, 0x26, 0x91, 0x7c, 0xc7, 0xae, 0xfa, 0x95, - 0xb0, 0xfb, 0xa1, 0x9e, 0x38, 0xab, 0x44, 0x72, 0x8a, 0x6a, 0xab, 0xfb, 0x4f, 0xcf, 0x57, 0x95, 0x44, 0x79, 0xa1, - 0xa4, 0x0c, 0x7a, 0x8f, 0xdb, 0x62, 0x2f, 0x28, 0x36, 0x69, 0x76, 0xcc, 0xb7, 0xbd, 0x4a, 0xe4, 0x55, 0xc1, 0x94, - 0x2e, 0xc4, 0x12, 0x10, 0x37, 0x83, 0x65, 0x28, 0x6d, 0xcc, 0xf9, 0x07, 0x08, 0x7d, 0xf5, 0x3e, 0x2a, 0xb3, 0x1f, - 0xfd, 0x60, 0x05, 0x4d, 0x5c, 0x3f, 0xb3, 0xe6, 0x7a, 0x93, 0x46, 0x24, 0x30, 0xce, 0x42, 0x2f, 0xc5, 0xbe, 0x1a, - 0x97, 0x33, 0x57, 0x9a, 0x3d, 0xde, 0x8c, 0x56, 0x20, 0x76, 0x95, 0x86, 0x1d, 0x71, 0x3c, 0x07, 0x80, 0x74, 0x1e, - 0x85, 0x23, 0xa9, 0x14, 0xde, 0x6b, 0x81, 0xeb, 0x86, 0x68, 0x4b, 0x3d, 0x1f, 0x19, 0x80, 0x73, 0xb2, 0xc8, 0x4a, - 0xde, 0x84, 0x8c, 0xc4, 0xbf, 0x3c, 0xf3, 0x98, 0x31, 0xf6, 0x5e, 0x55, 0x18, 0x21, 0xcd, 0xaf, 0x5e, 0xa8, 0xb8, - 0x60, 0x63, 0x35, 0x9f, 0x96, 0xa7, 0x3c, 0x90, 0x2a, 0x9f, 0xaf, 0xb4, 0xa9, 0x1f, 0x39, 0x1f, 0x89, 0xb9, 0xb9, - 0x99, 0x93, 0x7a, 0x60, 0x10, 0xb1, 0x71, 0x9f, 0x20, 0xf2, 0x48, 0xf1, 0x67, 0x45, 0x2e, 0xd2, 0x61, 0x05, 0x56, - 0x0a, 0x01, 0x0b, 0x0d, 0x90, 0x56, 0xde, 0x4f, 0xb0, 0xe5, 0xd7, 0x24, 0x1a, 0x52, 0x2f, 0x99, 0x0d, 0xa8, 0x06, - 0xf1, 0x7b, 0x27, 0x9b, 0xcd, 0x9d, 0x9c, 0xce, 0xb7, 0x27, 0x6b, 0x86, 0xc8, 0x11, 0x74, 0xf4, 0xeb, 0xfe, 0x8e, - 0xbd, 0x20, 0x6d, 0x3a, 0x3b, 0xd9, 0x5a, 0x1f, 0x5e, 0x01, 0x93, 0x4e, 0xc5, 0x48, 0x93, 0x1a, 0x95, 0xb0, 0xcc, - 0x94, 0x4d, 0x29, 0xd1, 0x15, 0xd8, 0x4a, 0xc9, 0xc1, 0x96, 0x24, 0x9f, 0x79, 0xf8, 0x98, 0x74, 0xd7, 0x08, 0x17, - 0xe0, 0x18, 0x78, 0x2f, 0x83, 0xd2, 0x79, 0x60, 0xf4, 0x62, 0x10, 0xf3, 0x24, 0x84, 0x37, 0x5c, 0x96, 0xbc, 0x6c, - 0xed, 0xc9, 0x8a, 0x1a, 0xab, 0x6f, 0xdf, 0x7c, 0x3b, 0xe8, 0xca, 0xac, 0xd9, 0xc9, 0xef, 0xe7, 0x26, 0x5f, 0x77, - 0xcd, 0xf7, 0xbc, 0x6d, 0x7f, 0xc7, 0xb5, 0xcb, 0x37, 0x38, 0x2e, 0x18, 0x05, 0x3b, 0x5d, 0xac, 0x4e, 0x1b, 0x74, - 0x5c, 0x2f, 0x61, 0x57, 0x66, 0x04, 0xb4, 0x7b, 0x5f, 0xeb, 0x7f, 0x07, 0x98, 0x99, 0x62, 0x1f, 0x09, 0x22, 0x59, - 0x89, 0x6a, 0xcf, 0xfc, 0x42, 0xed, 0x2f, 0x08, 0x05, 0xf3, 0x35, 0xc8, 0xa3, 0xb7, 0x43, 0xc2, 0x68, 0x99, 0x89, - 0x38, 0xc1, 0x86, 0x05, 0x8f, 0xae, 0xe7, 0x72, 0xb6, 0xc5, 0x0e, 0x8f, 0xad, 0xae, 0xda, 0xdc, 0xab, 0x14, 0xf9, - 0x88, 0xeb, 0xe3, 0x19, 0x7a, 0xdf, 0x99, 0x79, 0xd0, 0xd1, 0x85, 0x48, 0xd8, 0xe2, 0x3a, 0x7e, 0x60, 0xbe, 0x46, - 0xa1, 0x60, 0xae, 0x94, 0xb9, 0xbd, 0x45, 0xdd, 0x4f, 0x75, 0xcf, 0xc9, 0xee, 0xfb, 0x92, 0x6f, 0x7e, 0xa4, 0xbd, - 0x1f, 0x45, 0xb3, 0xc2, 0x13, 0x2b, 0x5c, 0x47, 0xcf, 0xe6, 0x37, 0x1f, 0x33, 0x45, 0x08, 0x61, 0x04, 0xfd, 0xc2, - 0xaf, 0x70, 0x2d, 0xf0, 0x46, 0x99, 0xb6, 0x61, 0x2f, 0xa9, 0xa5, 0x20, 0xae, 0x1d, 0x1e, 0xce, 0xd9, 0xad, 0x35, - 0x59, 0xec, 0x8e, 0xab, 0xbe, 0xd0, 0x28, 0x7f, 0x87, 0x4c, 0x3b, 0x7c, 0xf3, 0x0d, 0xb9, 0x61, 0xaf, 0xa6, 0x4f, - 0x46, 0x68, 0xe2, 0x4e, 0xbd, 0x7e, 0x0a, 0x24, 0xf3, 0x34, 0x01, 0xa2, 0x31, 0xfc, 0xdf, 0x25, 0x7b, 0x34, 0xa6, - 0x13, 0x36, 0xcc, 0x86, 0xac, 0x36, 0x60, 0xec, 0x21, 0x89, 0x1e, 0x7f, 0x45, 0xfe, 0xdf, 0x9a, 0x04, 0xc7, 0x4b, - 0x71, 0x9f, 0x1b, 0xfe, 0xb2, 0x0c, 0xb3, 0x9c, 0xc4, 0x2c, 0xb8, 0x65, 0xc5, 0xab, 0x20, 0x5c, 0xa6, 0x5d, 0x61, - 0x19, 0x96, 0x0b, 0x2c, 0x43, 0x59, 0x7d, 0x11, 0x49, 0x22, 0xed, 0x91, 0x98, 0x9d, 0xce, 0xde, 0x8b, 0x13, 0xb2, - 0xe3, 0x06, 0x4d, 0x8e, 0x2e, 0xb2, 0x31, 0x13, 0x45, 0xed, 0x41, 0x23, 0x83, 0x72, 0x35, 0x78, 0xb9, 0x86, 0x8e, - 0x0c, 0xe1, 0x6a, 0x54, 0xa1, 0x71, 0x21, 0x9d, 0x4f, 0x2f, 0x8f, 0x0c, 0x24, 0x19, 0x34, 0xc5, 0xb0, 0x23, 0x54, - 0xc5, 0xbc, 0x4e, 0xf5, 0x42, 0x6a, 0x85, 0x47, 0xf2, 0x28, 0xc3, 0xf2, 0xd2, 0x22, 0xa3, 0xdd, 0xbe, 0x72, 0x74, - 0x5d, 0x38, 0x8e, 0x9f, 0xc3, 0x64, 0xa1, 0x0e, 0xd7, 0x60, 0x20, 0xdd, 0x4f, 0x1f, 0x79, 0xe9, 0x7f, 0x34, 0x5d, - 0x0d, 0xed, 0xb3, 0x85, 0xf8, 0xea, 0x21, 0x23, 0x8e, 0xaf, 0x5e, 0x58, 0x84, 0xa3, 0xe5, 0x96, 0xe9, 0xe3, 0x98, - 0x6d, 0x1d, 0xaa, 0xdc, 0x1a, 0x8d, 0x67, 0xb5, 0x18, 0x3f, 0xba, 0x0a, 0x1a, 0x82, 0xa6, 0x24, 0x0b, 0xf7, 0x15, - 0x75, 0x41, 0x56, 0x30, 0x19, 0xac, 0xb0, 0xbc, 0x99, 0xdf, 0xa7, 0xb5, 0xa9, 0xb4, 0x7c, 0x24, 0xf8, 0x07, 0x0f, - 0xb1, 0xac, 0x4f, 0x85, 0xdd, 0x12, 0x17, 0x0f, 0x2c, 0xe4, 0x59, 0x2f, 0xdc, 0x68, 0xeb, 0x94, 0xab, 0x72, 0xd9, - 0x2d, 0x5d, 0x78, 0x55, 0xb7, 0xbc, 0x14, 0x82, 0xd7, 0x21, 0xc9, 0x49, 0x6e, 0x42, 0x2c, 0x06, 0x03, 0x6f, 0xe4, - 0xa4, 0xef, 0x14, 0x5c, 0xc8, 0x0d, 0x74, 0xa5, 0xaf, 0x13, 0x4b, 0x01, 0x05, 0xb0, 0x17, 0x1e, 0xd8, 0x78, 0x02, - 0x89, 0x3c, 0xbf, 0x5e, 0xd4, 0x89, 0x0e, 0x07, 0xbf, 0x9f, 0xaf, 0x14, 0x07, 0xf0, 0x5d, 0x82, 0x7c, 0x71, 0xde, - 0x48, 0xf0, 0x0f, 0xb0, 0xc3, 0xd9, 0xb9, 0xbf, 0xc1, 0x5c, 0xc2, 0x92, 0xec, 0x28, 0xe0, 0xb3, 0x02, 0xab, 0x9b, - 0x80, 0x8b, 0x04, 0xc1, 0x41, 0x5b, 0x2c, 0x17, 0x04, 0x87, 0x34, 0x0a, 0x15, 0xf3, 0x21, 0x3f, 0x37, 0x9b, 0x92, - 0x28, 0x92, 0xe1, 0xe7, 0xd7, 0xe0, 0x32, 0x23, 0x9c, 0xe2, 0x63, 0x4d, 0x95, 0x0f, 0x75, 0x5e, 0x8c, 0x74, 0x02, - 0x0c, 0x6f, 0xa6, 0x21, 0xda, 0x3f, 0x46, 0x8d, 0x92, 0xca, 0x3d, 0x0b, 0x97, 0xc6, 0xd9, 0x10, 0x2e, 0xf3, 0x6f, - 0xb2, 0xcc, 0x6b, 0x29, 0x96, 0x57, 0x36, 0x65, 0xc1, 0xf9, 0x1e, 0xd6, 0x71, 0xe4, 0xee, 0xb3, 0x5e, 0x59, 0x72, - 0x88, 0x76, 0xcb, 0x47, 0x67, 0x39, 0xa0, 0x57, 0x71, 0x75, 0xe3, 0x14, 0xc4, 0x91, 0x97, 0x97, 0x91, 0xca, 0x70, - 0x3c, 0x95, 0x04, 0x1c, 0xa9, 0xa7, 0xf8, 0xbf, 0x29, 0xe1, 0x1d, 0x04, 0x83, 0x30, 0x76, 0x0f, 0xf5, 0x2b, 0x40, - 0xd1, 0x16, 0x66, 0x07, 0x37, 0x25, 0x6e, 0xe2, 0xc0, 0x28, 0x47, 0x6f, 0x83, 0xf9, 0xd2, 0x12, 0xb4, 0xc2, 0x6a, - 0x46, 0xa0, 0xd5, 0xe7, 0x71, 0xaf, 0x08, 0xfc, 0xd4, 0x85, 0xe3, 0x79, 0x5e, 0x43, 0x77, 0x68, 0x1a, 0xcb, 0x33, - 0x69, 0x4b, 0xc2, 0x40, 0xd2, 0x2c, 0xb4, 0xf1, 0xe3, 0x73, 0x4d, 0x75, 0x3b, 0x8b, 0xe8, 0x7a, 0xbd, 0x0c, 0xa5, - 0x88, 0x58, 0xb4, 0x70, 0x34, 0x27, 0x1b, 0xd0, 0xe9, 0x3e, 0xd9, 0x98, 0x1a, 0x0e, 0x86, 0x90, 0x18, 0xb9, 0x0d, - 0xe3, 0x9c, 0xd8, 0xf0, 0x84, 0x2a, 0xd5, 0x13, 0x3f, 0x45, 0x5b, 0x89, 0xe0, 0x09, 0x95, 0x46, 0x1e, 0x78, 0x54, - 0xd1, 0x1a, 0x90, 0xc3, 0xc3, 0x47, 0xe0, 0x94, 0x6f, 0x30, 0x56, 0x47, 0x28, 0x50, 0x8e, 0x60, 0x4e, 0x91, 0x1f, - 0xee, 0xf0, 0x21, 0x7c, 0x2d, 0x4f, 0x30, 0x53, 0x6b, 0x2f, 0xc7, 0x5c, 0x0f, 0xb9, 0x1d, 0xf2, 0xb0, 0xff, 0xc4, - 0xcb, 0xc8, 0x46, 0x68, 0xf8, 0x91, 0x5f, 0xf5, 0x58, 0x7f, 0x3d, 0xc0, 0x7c, 0x3a, 0xd9, 0x83, 0x09, 0x67, 0x05, - 0x40, 0xfc, 0xd1, 0x55, 0x70, 0x37, 0x68, 0x58, 0x1f, 0x63, 0x12, 0x66, 0x27, 0x0e, 0x87, 0x6f, 0xa5, 0x02, 0x50, - 0x9e, 0x87, 0x19, 0x89, 0x2c, 0x24, 0xf3, 0xf3, 0x72, 0x8a, 0x6d, 0x51, 0xa6, 0xb6, 0xb4, 0x75, 0x0d, 0x38, 0x91, - 0xc5, 0xcd, 0x24, 0x79, 0x0a, 0x35, 0x2a, 0x22, 0x46, 0xc2, 0x2c, 0xd8, 0x7a, 0x99, 0xb0, 0xc7, 0x6f, 0x8c, 0x61, - 0xd4, 0xa6, 0x8d, 0xf4, 0x86, 0xbd, 0xea, 0x4f, 0xd6, 0xef, 0x11, 0x5b, 0x15, 0xe0, 0xbe, 0xa5, 0x1f, 0xa0, 0x48, - 0xe3, 0x96, 0x76, 0xf2, 0xd3, 0x89, 0x04, 0xfa, 0x87, 0x18, 0x36, 0x89, 0x0d, 0x0a, 0x8e, 0x2f, 0xb5, 0x29, 0xde, - 0x06, 0xce, 0x0c, 0xc5, 0x7a, 0xad, 0x67, 0xe0, 0x44, 0x1b, 0x41, 0x2a, 0x74, 0xcf, 0x58, 0x1e, 0x91, 0xa9, 0xf3, - 0x4f, 0x48, 0xcb, 0x16, 0xa6, 0x25, 0x9f, 0xe4, 0x74, 0x24, 0xd9, 0xf9, 0x29, 0x9a, 0xe4, 0x9d, 0xde, 0x25, 0x52, - 0x7c, 0x7d, 0x19, 0x66, 0x2f, 0xff, 0x84, 0x9a, 0x14, 0x22, 0x1d, 0x5c, 0xdd, 0x30, 0x31, 0xd4, 0x0a, 0x8c, 0xea, - 0x78, 0x9f, 0x8a, 0x4c, 0x1c, 0x0f, 0x6a, 0xe6, 0x45, 0x85, 0xc1, 0x13, 0x4b, 0x70, 0x94, 0xca, 0xae, 0xb6, 0xec, - 0x2d, 0x9c, 0x0c, 0x7e, 0x8a, 0x35, 0x49, 0xd5, 0xf1, 0x82, 0xb6, 0x6a, 0x68, 0x0e, 0x5d, 0x33, 0x6f, 0x66, 0xc7, - 0x63, 0xff, 0x2a, 0x61, 0xd1, 0xc0, 0x9a, 0x0e, 0x88, 0x5e, 0x07, 0xfd, 0x9c, 0x16, 0xdc, 0x2f, 0xbc, 0x0e, 0xbc, - 0x11, 0x83, 0x08, 0x0a, 0x66, 0x28, 0xf1, 0x79, 0xb5, 0x40, 0xc6, 0x86, 0x62, 0x92, 0x54, 0xd2, 0xb1, 0x71, 0x65, - 0x94, 0x8d, 0xcb, 0xf4, 0x72, 0xca, 0xdb, 0x2c, 0xe8, 0x21, 0x6f, 0xe5, 0x2b, 0x88, 0x93, 0xc6, 0x31, 0x22, 0x02, - 0x1c, 0x0f, 0x97, 0x39, 0x87, 0xbc, 0x59, 0x6c, 0x41, 0x4f, 0x09, 0xad, 0xc1, 0xcd, 0xce, 0x59, 0x4f, 0xf9, 0x52, - 0x3c, 0x5d, 0x14, 0x97, 0xdd, 0x6f, 0xa0, 0x00, 0x08, 0x03, 0xff, 0x23, 0x09, 0x7d, 0x56, 0x20, 0x63, 0x8e, 0x07, - 0xc9, 0x91, 0xe5, 0xb1, 0x96, 0x47, 0xa0, 0x85, 0x18, 0xa9, 0xde, 0x86, 0xbf, 0xf3, 0x29, 0x5e, 0x68, 0x07, 0x2b, - 0x77, 0x83, 0x20, 0x48, 0x70, 0x00, 0xfc, 0x85, 0xf7, 0xdd, 0xd0, 0x07, 0xef, 0xb7, 0x7b, 0x87, 0xff, 0xa7, 0x39, - 0xb3, 0x8f, 0x18, 0xdb, 0x7e, 0x88, 0x55, 0xdf, 0x25, 0xff, 0xf1, 0xd0, 0xd0, 0x06, 0xe8, 0xe1, 0x03, 0x1b, 0xce, - 0xde, 0xd3, 0x10, 0x6e, 0xdb, 0xa8, 0x02, 0x96, 0x14, 0x86, 0x48, 0x39, 0xa9, 0xa3, 0xfa, 0x22, 0x95, 0xdc, 0x24, - 0xfe, 0x3c, 0x33, 0x50, 0xfd, 0x83, 0x85, 0x5f, 0x83, 0x2f, 0xbb, 0x07, 0x05, 0x66, 0x62, 0x7d, 0x1a, 0x50, 0xaa, - 0xd4, 0x61, 0x7e, 0xf1, 0xd0, 0xfe, 0x1a, 0xb5, 0xab, 0x6c, 0x78, 0x7f, 0xd1, 0x95, 0x82, 0xb0, 0xc5, 0xe5, 0x21, - 0xd7, 0xe6, 0xde, 0x3e, 0xad, 0x5d, 0xed, 0x03, 0xef, 0x0a, 0x11, 0x60, 0xa7, 0xce, 0xe4, 0xe4, 0x19, 0x9f, 0x9a, - 0x40, 0xe7, 0xec, 0xde, 0xfe, 0x66, 0x03, 0x7e, 0x34, 0xc0, 0x76, 0x57, 0xf7, 0xf6, 0x01, 0x0c, 0xca, 0x65, 0xd4, - 0x50, 0x21, 0x31, 0xc4, 0x4b, 0x2a, 0x48, 0x39, 0x8a, 0xce, 0x87, 0xc8, 0x93, 0x43, 0x4c, 0x1b, 0x09, 0xae, 0xab, - 0xb4, 0x3d, 0x72, 0x12, 0xb4, 0x3c, 0xb2, 0x7b, 0x18, 0xb7, 0x51, 0x71, 0x5c, 0x64, 0x34, 0xf2, 0x0c, 0xee, 0x70, - 0xae, 0x23, 0xf4, 0x68, 0x55, 0x0a, 0x90, 0x26, 0x5c, 0x41, 0xfd, 0x3e, 0x9c, 0x8d, 0xb2, 0x87, 0xaa, 0xe5, 0xd8, - 0x4f, 0xe0, 0x35, 0x45, 0xef, 0xc8, 0x9f, 0x5b, 0x99, 0x15, 0xe1, 0xf2, 0xca, 0x62, 0xb2, 0x10, 0xcc, 0xd1, 0x36, - 0x6e, 0x99, 0x74, 0xf0, 0x0c, 0xf5, 0xfc, 0x50, 0xb5, 0x87, 0x15, 0x5f, 0x10, 0xc9, 0x34, 0xc5, 0x9d, 0xc3, 0xaf, - 0x63, 0x7e, 0x55, 0x38, 0x05, 0x72, 0x37, 0x1d, 0x26, 0xc2, 0x35, 0xdb, 0x4d, 0x90, 0x45, 0x9a, 0x0f, 0x15, 0xba, - 0x7d, 0xd6, 0x51, 0x9f, 0xb9, 0xc4, 0xa8, 0x3d, 0x4a, 0x66, 0x7c, 0xc2, 0x76, 0xbb, 0x91, 0x7e, 0xd1, 0xb5, 0x14, - 0x43, 0x24, 0x95, 0x29, 0xa5, 0x4b, 0x69, 0x89, 0x23, 0xb5, 0x0c, 0x65, 0x1c, 0x4a, 0xe8, 0x14, 0x40, 0xdb, 0x78, - 0xc8, 0x4c, 0x22, 0xed, 0x54, 0xfb, 0xac, 0xca, 0x64, 0x8f, 0xc5, 0x91, 0x30, 0x64, 0xe1, 0x99, 0x60, 0x7d, 0x7f, - 0xae, 0xf9, 0x92, 0x02, 0x55, 0x19, 0xac, 0x3b, 0x06, 0x7f, 0x2c, 0xb4, 0x79, 0x29, 0x2f, 0x85, 0x5e, 0x85, 0xa9, - 0x50, 0x5b, 0xbd, 0xb4, 0x4e, 0x1b, 0x42, 0x05, 0xb2, 0x76, 0x96, 0xe8, 0x51, 0x36, 0x38, 0xc8, 0xf1, 0xbf, 0x0d, - 0x22, 0xdb, 0x1e, 0x04, 0xdb, 0x7b, 0xa6, 0x22, 0xf5, 0xbd, 0xd5, 0x77, 0x9b, 0xf1, 0x89, 0x09, 0x81, 0xcb, 0x80, - 0xab, 0xce, 0xc7, 0x6e, 0x6c, 0xc3, 0x1f, 0x11, 0xe0, 0xef, 0x70, 0xe5, 0xa9, 0xf0, 0x55, 0xfa, 0x5a, 0xd9, 0xca, - 0x2b, 0xef, 0x39, 0x05, 0xb6, 0x6d, 0x7d, 0xa5, 0x09, 0x58, 0x31, 0xd0, 0x8b, 0x80, 0x6f, 0x73, 0xf2, 0x03, 0xf9, - 0xbc, 0x0b, 0xed, 0x99, 0x13, 0xb0, 0x19, 0xec, 0xc1, 0x8e, 0xdd, 0x8d, 0xd1, 0x28, 0x35, 0xe1, 0x57, 0xe6, 0xf6, - 0xa3, 0xaf, 0xa5, 0xff, 0xfc, 0x25, 0x86, 0xe8, 0x25, 0x30, 0x85, 0xf3, 0xd7, 0x11, 0xea, 0x0e, 0x59, 0x52, 0xda, - 0x91, 0x6a, 0x14, 0x5d, 0x54, 0x61, 0x5d, 0x0b, 0xb0, 0x42, 0x63, 0xf5, 0x8d, 0xe1, 0xb5, 0x92, 0x74, 0x14, 0x6b, - 0x2d, 0x86, 0xb7, 0xe9, 0xfc, 0xbe, 0x8a, 0x9d, 0x04, 0x2c, 0x60, 0xbe, 0x4e, 0x70, 0x17, 0x19, 0xec, 0x0e, 0xf7, - 0x6c, 0x3f, 0x27, 0x1a, 0x8e, 0x5c, 0x28, 0x80, 0x0a, 0x6f, 0x17, 0xd2, 0xa4, 0x5f, 0xe7, 0x3f, 0x57, 0xc5, 0x77, - 0x4c, 0x2d, 0x39, 0x4c, 0xf4, 0x52, 0xe3, 0x5f, 0xf7, 0xc6, 0x0f, 0xe5, 0xeb, 0xe5, 0x83, 0xbd, 0x10, 0x6e, 0x79, - 0x8e, 0x95, 0x15, 0x51, 0x0d, 0x71, 0x7f, 0xe8, 0x64, 0x46, 0xb9, 0x9b, 0x6b, 0x92, 0xd5, 0x49, 0x5a, 0x05, 0x4f, - 0x7d, 0x95, 0xf1, 0x67, 0x66, 0x94, 0x7b, 0x6e, 0x2c, 0x43, 0x89, 0x74, 0xe0, 0x8b, 0x86, 0xe6, 0x67, 0xa8, 0x8e, - 0x28, 0x9e, 0xab, 0x01, 0x1b, 0x40, 0x69, 0x5e, 0x0f, 0x03, 0x6b, 0x99, 0xba, 0x30, 0xaa, 0x36, 0xa2, 0xa0, 0x04, - 0x53, 0x48, 0x6b, 0x69, 0x4b, 0x2c, 0x50, 0x51, 0xb3, 0xa8, 0xb1, 0xd1, 0xcf, 0x74, 0x58, 0xe3, 0x66, 0x87, 0x7b, - 0x82, 0x19, 0x41, 0x50, 0x45, 0xb6, 0x3e, 0xb4, 0xaa, 0x46, 0x51, 0x3c, 0xf5, 0x73, 0x40, 0x41, 0xf9, 0x8f, 0x2b, - 0x5f, 0xda, 0xe2, 0xb8, 0x63, 0x35, 0xe0, 0x8b, 0xe2, 0xfd, 0x1e, 0xb9, 0x2a, 0x25, 0x36, 0x71, 0x93, 0x5b, 0x34, - 0x65, 0x04, 0xb1, 0xa7, 0x3f, 0x41, 0x95, 0x14, 0x29, 0x5d, 0xc4, 0x0d, 0xad, 0xb9, 0x38, 0x59, 0xa2, 0x0d, 0xf5, - 0xc0, 0xad, 0x6f, 0x64, 0x68, 0xa2, 0x57, 0xfb, 0xf2, 0x8d, 0x42, 0x0c, 0xc2, 0x92, 0x85, 0xbc, 0x62, 0x62, 0xcc, - 0x60, 0xe0, 0x48, 0xd1, 0xb6, 0x51, 0x2e, 0x46, 0x6f, 0xc4, 0x72, 0x75, 0x9c, 0xef, 0x64, 0x3b, 0x8a, 0x4a, 0x67, - 0xdc, 0x2b, 0xd0, 0xe6, 0xa7, 0x6d, 0xff, 0x86, 0xa7, 0xff, 0xa4, 0x26, 0x5c, 0x8f, 0xd0, 0xb3, 0x08, 0x9f, 0x7a, - 0x40, 0x2c, 0x8f, 0x81, 0x14, 0xa6, 0xe7, 0x2f, 0x52, 0x38, 0x46, 0xd2, 0x8d, 0x25, 0xb1, 0xe4, 0x39, 0x4e, 0xf1, - 0x3d, 0x75, 0xbe, 0xa4, 0x03, 0xea, 0xe8, 0xe4, 0x16, 0x12, 0x68, 0x9a, 0x09, 0xc9, 0xe6, 0x13, 0xda, 0xbc, 0x4c, - 0xcd, 0xba, 0x41, 0xf2, 0x96, 0xa7, 0x96, 0xef, 0x54, 0x2c, 0xe3, 0xfb, 0x21, 0x12, 0x42, 0xd6, 0x2b, 0x6a, 0x96, - 0xfc, 0x82, 0x94, 0xed, 0x02, 0xb4, 0x4b, 0x05, 0x61, 0x71, 0xf6, 0x9a, 0x98, 0xfb, 0x4a, 0xa5, 0x1f, 0xca, 0x6b, - 0xa4, 0x3d, 0x1c, 0x02, 0x00, 0xe3, 0x7e, 0x6f, 0xc2, 0xc4, 0xe8, 0x0c, 0x17, 0x4e, 0xd4, 0x52, 0x21, 0x09, 0xdb, - 0x24, 0x65, 0x76, 0x6f, 0xd6, 0xf1, 0xc3, 0x5f, 0x63, 0x38, 0x37, 0x5a, 0x2b, 0xe1, 0x36, 0xd0, 0x55, 0x67, 0xc8, - 0xab, 0x73, 0xc4, 0xde, 0xdc, 0x29, 0x7f, 0x2e, 0x07, 0xa1, 0xd2, 0x6a, 0x3e, 0x5b, 0x85, 0x5b, 0x30, 0x85, 0x27, - 0x5e, 0x13, 0x6c, 0x30, 0x2f, 0xe1, 0x25, 0xa0, 0xc6, 0x20, 0xe3, 0x23, 0x1f, 0x6c, 0x81, 0x95, 0xd5, 0xf8, 0x73, - 0xec, 0xdf, 0x87, 0xb9, 0xdb, 0xb3, 0x68, 0xe3, 0x7a, 0x31, 0x7d, 0x40, 0x49, 0x26, 0x9c, 0x76, 0xb7, 0x60, 0xdd, - 0xd0, 0x4e, 0x4c, 0xa1, 0x51, 0x31, 0x37, 0x20, 0x75, 0xec, 0xc6, 0xa1, 0xb6, 0xa3, 0xf5, 0xe6, 0x23, 0x8a, 0x06, - 0x71, 0x8e, 0xc8, 0xd6, 0x66, 0xbd, 0xb6, 0xb4, 0x5b, 0x18, 0x40, 0x29, 0x58, 0x4e, 0x09, 0xce, 0xbb, 0x72, 0xd1, - 0x2e, 0x0a, 0xb3, 0x05, 0x90, 0xd2, 0x0d, 0x64, 0xc8, 0x23, 0xea, 0x35, 0x99, 0x63, 0xb7, 0xf4, 0xf8, 0xd9, 0x40, - 0xec, 0x47, 0xbf, 0x24, 0xe3, 0xcc, 0xc0, 0xa4, 0xbd, 0x2f, 0x29, 0x79, 0xa2, 0x9c, 0xbc, 0x6a, 0xe4, 0x30, 0x6c, - 0xe9, 0x1d, 0xcb, 0xc3, 0x8c, 0x1e, 0x82, 0x04, 0x99, 0xf7, 0x8e, 0xe9, 0x12, 0x21, 0xbe, 0x87, 0x85, 0x80, 0x69, - 0xb4, 0xfe, 0xb7, 0xda, 0xe5, 0x53, 0x9f, 0xe7, 0x36, 0xed, 0xad, 0x3b, 0x74, 0xc5, 0x95, 0x4b, 0x6e, 0xfd, 0xa8, - 0x9e, 0xa9, 0xda, 0xa9, 0x7c, 0x6f, 0xb5, 0xec, 0xeb, 0x1c, 0xa4, 0xa1, 0x3d, 0xf2, 0x41, 0xbb, 0xd8, 0x58, 0xb6, - 0xa6, 0x59, 0x34, 0xb3, 0x68, 0xe3, 0x58, 0xd9, 0xc5, 0xb7, 0xc4, 0x23, 0x71, 0xc1, 0xdc, 0xc6, 0xa3, 0x32, 0x12, - 0x3b, 0x3c, 0xa2, 0x2d, 0x7c, 0x23, 0xb4, 0x6d, 0x98, 0x8b, 0x8f, 0x13, 0x70, 0xac, 0x2d, 0x9f, 0x96, 0x63, 0x66, - 0xb5, 0x88, 0x32, 0x59, 0x01, 0x8c, 0x8b, 0xda, 0x71, 0x6f, 0x82, 0xa1, 0x0e, 0xc9, 0xc5, 0x1a, 0x84, 0x30, 0xbd, - 0x16, 0xea, 0xcc, 0xab, 0xfc, 0x8a, 0x6c, 0x6d, 0x2c, 0xc2, 0x42, 0xcb, 0xc6, 0xcc, 0x64, 0x4d, 0x0b, 0x60, 0x8d, - 0xa0, 0xd7, 0x6b, 0xb8, 0x7b, 0x6e, 0xa9, 0xfc, 0x19, 0x1c, 0xb9, 0xf8, 0x18, 0xcc, 0xc7, 0x5e, 0xa5, 0xa4, 0xa9, - 0x87, 0xcf, 0x13, 0xcd, 0x08, 0x8e, 0x5b, 0xe5, 0x0d, 0xb5, 0x67, 0xc3, 0xff, 0x81, 0xaf, 0xe1, 0x73, 0x4e, 0x6e, - 0x85, 0x71, 0x70, 0x66, 0xed, 0x8b, 0x77, 0x75, 0x8c, 0x98, 0x45, 0x8c, 0xf1, 0x25, 0x6b, 0x4a, 0xb9, 0xf9, 0x2c, - 0xd6, 0x47, 0x50, 0x04, 0x96, 0xaf, 0x31, 0x19, 0x21, 0x1c, 0x2c, 0x6e, 0x34, 0x19, 0x62, 0x03, 0xdd, 0x9b, 0x7b, - 0x40, 0x0c, 0x06, 0xe0, 0x21, 0xce, 0x05, 0x59, 0xe8, 0x00, 0xb2, 0xfc, 0x01, 0x12, 0x08, 0x49, 0x60, 0x81, 0x22, - 0x21, 0x23, 0xaf, 0x5a, 0x87, 0x9a, 0x97, 0xb3, 0xcb, 0x0c, 0x17, 0x10, 0x0c, 0x5b, 0xb9, 0x4b, 0xab, 0x51, 0x9b, - 0xed, 0x2d, 0x96, 0x81, 0xde, 0x9e, 0x35, 0x95, 0xa4, 0x48, 0xf9, 0xb5, 0xe9, 0x18, 0xff, 0x78, 0xc8, 0x56, 0x74, - 0xae, 0x18, 0xc3, 0xfd, 0x48, 0x9e, 0xdd, 0xf9, 0xcb, 0xc2, 0x72, 0xb1, 0x1e, 0x4a, 0x3d, 0x34, 0x66, 0x17, 0x0b, - 0x1d, 0xb6, 0x45, 0xc3, 0x22, 0x52, 0xff, 0x24, 0xbc, 0x1e, 0xdc, 0xa3, 0xa8, 0x9c, 0x4c, 0xf0, 0x84, 0xda, 0xb9, - 0xb4, 0x6e, 0x04, 0xde, 0xa5, 0x3c, 0x9f, 0xa6, 0x60, 0x4b, 0xe3, 0x52, 0xa1, 0x94, 0x9d, 0x19, 0xd3, 0xa8, 0x93, - 0xf3, 0xd2, 0x1a, 0xeb, 0x36, 0x69, 0xc1, 0x18, 0x07, 0xa1, 0xfe, 0x74, 0xd6, 0x6f, 0xfe, 0x2d, 0x3f, 0x13, 0x52, - 0x39, 0x97, 0xdc, 0x3f, 0x64, 0x5a, 0xd5, 0xd4, 0x12, 0x68, 0x26, 0xd0, 0x0c, 0x7e, 0x2d, 0x90, 0xcf, 0x43, 0xb8, - 0x67, 0xfa, 0x2c, 0xc4, 0xfd, 0x20, 0x26, 0x1c, 0xb4, 0xf1, 0x86, 0x5e, 0xa3, 0x44, 0xea, 0xbf, 0x25, 0x03, 0x3a, - 0xb9, 0xc5, 0x42, 0xa9, 0x25, 0x89, 0xf3, 0xb5, 0x48, 0x75, 0xe7, 0xfb, 0xb8, 0x8e, 0x72, 0x41, 0x94, 0x74, 0xae, - 0x03, 0xdc, 0x27, 0x94, 0x73, 0x5a, 0x23, 0x6a, 0x24, 0xac, 0xd9, 0x4a, 0xe1, 0xd7, 0xe0, 0x41, 0x20, 0x3a, 0x80, - 0x84, 0xfd, 0xe1, 0xd5, 0xf6, 0x9a, 0xd9, 0xf9, 0xa0, 0x90, 0x05, 0xe2, 0x52, 0xb7, 0xdd, 0x62, 0x27, 0x21, 0x00, - 0xd1, 0x6d, 0x12, 0x0c, 0x14, 0xd4, 0x8e, 0xd3, 0x6f, 0xd0, 0xd0, 0x3b, 0xad, 0xec, 0xdd, 0xdd, 0x84, 0xa2, 0x08, - 0x21, 0x01, 0x12, 0x7b, 0xa0, 0xd2, 0x50, 0x10, 0x45, 0xcb, 0x41, 0x44, 0x28, 0xb1, 0xfb, 0xb8, 0x17, 0xa2, 0x82, - 0x1b, 0xe9, 0x88, 0x34, 0x62, 0xe8, 0x15, 0x6c, 0x88, 0x80, 0x40, 0x95, 0x87, 0x91, 0xc6, 0x2f, 0x09, 0x57, 0xb7, - 0x82, 0x4e, 0xd4, 0xc5, 0x9c, 0xb2, 0xb5, 0xf7, 0x20, 0x86, 0xe7, 0xb6, 0x92, 0x3e, 0x09, 0x42, 0xf4, 0x29, 0x98, - 0x43, 0x99, 0x7f, 0xca, 0x18, 0x63, 0x34, 0x90, 0xb3, 0x7d, 0x11, 0x22, 0x32, 0xb1, 0x9c, 0x51, 0x06, 0xa6, 0xd0, - 0x11, 0xb9, 0x44, 0x86, 0xfe, 0xe4, 0xe6, 0x8b, 0xda, 0x93, 0x1a, 0xc7, 0x75, 0xac, 0x5e, 0xaa, 0x67, 0x0d, 0xb6, - 0xa1, 0xf8, 0x47, 0xf2, 0xd8, 0x1c, 0x26, 0xe5, 0x17, 0x43, 0xd4, 0xe5, 0xec, 0xb0, 0xde, 0x43, 0x16, 0xab, 0xa2, - 0x01, 0x60, 0xb5, 0x5b, 0x61, 0x9d, 0x67, 0xa6, 0x7e, 0xa7, 0xcb, 0x1b, 0x5b, 0x5b, 0xb8, 0x45, 0x5d, 0xa8, 0x86, - 0x82, 0xf2, 0x6a, 0x50, 0x7f, 0xc2, 0xe8, 0x2f, 0x4f, 0x25, 0xe6, 0x19, 0x21, 0x99, 0xa7, 0xee, 0x1d, 0x7f, 0x09, - 0x8f, 0xc3, 0x96, 0x70, 0x75, 0xaa, 0xdb, 0x7f, 0xa9, 0xe2, 0xc9, 0xcc, 0xad, 0x46, 0xbe, 0x71, 0x0b, 0x85, 0x62, - 0x2f, 0x57, 0x23, 0xba, 0x0f, 0xad, 0xb2, 0x5f, 0xf6, 0x91, 0x6c, 0x84, 0x39, 0xcc, 0xe7, 0x63, 0x9f, 0x06, 0x1e, - 0x9f, 0x7b, 0xea, 0x78, 0x3b, 0xc0, 0x4d, 0x81, 0xcd, 0xd6, 0x81, 0xf0, 0x7c, 0x40, 0xf7, 0xd9, 0xa8, 0xc9, 0xba, - 0xd7, 0x45, 0x01, 0x62, 0x0b, 0x83, 0x2b, 0xad, 0x7f, 0xe4, 0x45, 0xd6, 0x17, 0x55, 0xa0, 0xed, 0x97, 0xe9, 0xbe, - 0x28, 0x0c, 0x0d, 0x4f, 0xbb, 0x8d, 0xd8, 0x63, 0x07, 0xcd, 0x92, 0xd6, 0x30, 0x79, 0x25, 0x1d, 0xe4, 0x6f, 0x62, - 0xb2, 0x48, 0x94, 0xbf, 0xfd, 0x35, 0x39, 0xc9, 0x5d, 0x6f, 0x76, 0x7b, 0x29, 0x6a, 0x2a, 0x4c, 0xfd, 0x5d, 0xfb, - 0xb0, 0x52, 0xff, 0x95, 0x7e, 0xb9, 0x0a, 0x75, 0x47, 0xd6, 0x82, 0x44, 0x4e, 0xc3, 0x90, 0x6b, 0x75, 0x58, 0x73, - 0xaa, 0xf3, 0x6c, 0x9d, 0xb5, 0x1d, 0x3e, 0x81, 0x9b, 0x25, 0x67, 0x09, 0x53, 0xf1, 0xa6, 0x26, 0x04, 0x87, 0x81, - 0xa0, 0x30, 0x5c, 0x14, 0x87, 0x48, 0x58, 0xbc, 0xd9, 0xe1, 0x85, 0xd3, 0x65, 0xb0, 0xf1, 0xd5, 0x7e, 0xa1, 0xcc, - 0x33, 0xb6, 0x0b, 0x0b, 0x50, 0x2d, 0xa2, 0xfc, 0x18, 0x35, 0xc0, 0xea, 0x9f, 0xf0, 0xf1, 0x7b, 0x12, 0xb6, 0x1e, - 0x74, 0x49, 0x6a, 0xd9, 0x54, 0x4a, 0x54, 0x5b, 0xc6, 0x35, 0xd6, 0x50, 0x71, 0xed, 0xf0, 0xc8, 0xea, 0x0c, 0xfd, - 0x47, 0xe7, 0x8b, 0xc4, 0x73, 0x48, 0x27, 0x8f, 0x56, 0x82, 0x68, 0x71, 0xcb, 0xba, 0xf5, 0xa1, 0xaf, 0xb9, 0x1c, - 0x85, 0x6d, 0x34, 0x94, 0xd2, 0x45, 0xbc, 0xa4, 0x76, 0x1d, 0x94, 0x81, 0xf4, 0x70, 0x65, 0xa2, 0xb3, 0x0f, 0xd4, - 0xb0, 0xee, 0x40, 0xe3, 0x4d, 0x8f, 0x29, 0xb4, 0xb1, 0xab, 0x16, 0xf3, 0x8a, 0xa9, 0x53, 0x74, 0x4b, 0x6c, 0x09, - 0xec, 0xae, 0xcb, 0xe1, 0xd6, 0xf4, 0x25, 0x10, 0x53, 0x4a, 0xc4, 0xb7, 0x5c, 0x6a, 0xee, 0xba, 0x8e, 0xe2, 0x13, - 0xb6, 0x42, 0x4b, 0xd6, 0xad, 0xc3, 0x6d, 0xac, 0xf5, 0x5a, 0x10, 0x52, 0xff, 0x52, 0x8b, 0x70, 0xf0, 0xea, 0x82, - 0x65, 0x5b, 0x7c, 0x74, 0xc2, 0x86, 0x16, 0x6d, 0x7b, 0x54, 0x41, 0x8b, 0x1d, 0x55, 0xe3, 0xa5, 0xcd, 0x5c, 0xe2, - 0x6a, 0x26, 0xc6, 0x37, 0xf4, 0xdb, 0x14, 0x07, 0x96, 0x9d, 0x15, 0xa0, 0xf1, 0xe0, 0xa4, 0xb7, 0x22, 0x2f, 0x35, - 0x3b, 0xa8, 0x99, 0x51, 0xcb, 0x67, 0x9a, 0x48, 0xeb, 0x05, 0xac, 0x11, 0xda, 0x5a, 0x7e, 0xe0, 0x8a, 0x13, 0x09, - 0xb6, 0x65, 0xfa, 0x7f, 0x98, 0x92, 0x56, 0x62, 0x47, 0x00, 0xcf, 0xb8, 0x8b, 0xfe, 0x81, 0x66, 0x05, 0x30, 0xa6, - 0x60, 0x26, 0x14, 0xf2, 0xb3, 0xe1, 0x08, 0x19, 0xdb, 0x3f, 0x69, 0x1f, 0x5b, 0x76, 0x73, 0x80, 0x00, 0x47, 0x96, - 0x81, 0x71, 0xef, 0x55, 0x2a, 0xda, 0xd3, 0x19, 0x8e, 0x51, 0xd5, 0xd2, 0x9a, 0xfb, 0x95, 0xaa, 0x24, 0x33, 0x60, - 0x37, 0x2f, 0x9a, 0xf6, 0xda, 0x22, 0x97, 0x28, 0xce, 0x90, 0xd5, 0xa9, 0x22, 0xb3, 0x30, 0xd6, 0xae, 0x92, 0x05, - 0x11, 0x1f, 0xfb, 0xc2, 0x19, 0xff, 0xd3, 0x94, 0xa0, 0xfc, 0xb8, 0xaf, 0xe9, 0xa4, 0x42, 0xa5, 0xb0, 0x8f, 0xcb, - 0x69, 0x7c, 0xc5, 0xc0, 0xa4, 0x02, 0x1b, 0x1a, 0xcc, 0x8f, 0x9b, 0x60, 0x50, 0x75, 0x00, 0x8f, 0x6e, 0x1a, 0xc5, - 0x5b, 0x06, 0xdf, 0x94, 0x2e, 0xb4, 0x1c, 0xe5, 0xa8, 0x1c, 0x70, 0xe6, 0xc8, 0xad, 0xc9, 0x4a, 0x04, 0x57, 0xd6, - 0x0e, 0x52, 0x54, 0x60, 0xb8, 0xb3, 0x6a, 0x90, 0xe6, 0xd2, 0x23, 0x25, 0xe3, 0xaf, 0x0b, 0xd0, 0x02, 0x08, 0xc3, - 0xca, 0xbf, 0xdc, 0x2c, 0xe3, 0x15, 0xca, 0x4a, 0xe9, 0x54, 0x73, 0x98, 0x26, 0xa6, 0xa5, 0x53, 0x7a, 0x3a, 0xe1, - 0x8d, 0xe7, 0x88, 0x73, 0x41, 0x50, 0x3b, 0xd5, 0x7c, 0x6f, 0x30, 0x0c, 0xea, 0xa4, 0x33, 0x40, 0x3e, 0x6a, 0x1a, - 0x4c, 0x78, 0x6d, 0xc9, 0xd1, 0x8b, 0xb8, 0xae, 0xc0, 0x72, 0x62, 0x67, 0x57, 0x09, 0x20, 0x97, 0xd6, 0xc2, 0x0e, - 0x32, 0x30, 0x96, 0xf1, 0xc7, 0x40, 0xee, 0xf8, 0xf4, 0x49, 0x69, 0xd9, 0x23, 0xeb, 0x95, 0x0d, 0x17, 0x9f, 0x7c, - 0x32, 0x7a, 0x83, 0xa5, 0xa2, 0xc9, 0xfd, 0x67, 0x63, 0x41, 0xdf, 0xc9, 0x06, 0x63, 0x2d, 0x3a, 0x07, 0x51, 0xae, - 0x42, 0x3b, 0xf2, 0x55, 0x59, 0x97, 0x05, 0xd9, 0xbe, 0x01, 0x29, 0x3f, 0xa7, 0x15, 0xa1, 0x54, 0x0b, 0x2a, 0x79, - 0x87, 0x55, 0x5c, 0x10, 0x42, 0xa9, 0x01, 0x07, 0x65, 0x08, 0x70, 0x94, 0x71, 0x77, 0xa7, 0x91, 0x00, 0x90, 0x8a, - 0xa1, 0x60, 0xce, 0x5c, 0xd6, 0xde, 0xe2, 0x02, 0x5b, 0x9c, 0x33, 0x73, 0x8d, 0xe1, 0x79, 0x2d, 0xcc, 0xd7, 0x1c, - 0x2b, 0x12, 0xc8, 0xda, 0x72, 0xba, 0x16, 0x5d, 0xaa, 0xa7, 0x47, 0x43, 0x81, 0xcc, 0x4a, 0x72, 0xee, 0xe5, 0xf3, - 0x0a, 0xa1, 0x95, 0xe4, 0xbf, 0x59, 0x62, 0x03, 0xc6, 0x38, 0xb1, 0x7f, 0x7c, 0xa1, 0x42, 0x7e, 0xe4, 0x71, 0xe3, - 0x90, 0x1f, 0x87, 0x13, 0x9c, 0x52, 0x02, 0x06, 0xb5, 0xf6, 0x39, 0x67, 0x7a, 0x63, 0xce, 0x44, 0x4c, 0x9c, 0xf0, - 0xf2, 0x3d, 0x7c, 0x64, 0xc0, 0x28, 0x45, 0xdb, 0x41, 0x45, 0xca, 0xb4, 0x02, 0x48, 0x68, 0xda, 0x1e, 0x5a, 0xaf, - 0xc5, 0xa4, 0xac, 0x98, 0xe2, 0x9a, 0xe6, 0x8a, 0xb7, 0xac, 0x1d, 0x35, 0xb5, 0x6f, 0x3c, 0x93, 0x78, 0x88, 0xe3, - 0xe7, 0x89, 0xaf, 0x13, 0x24, 0x84, 0x48, 0xa9, 0xf0, 0x17, 0x67, 0x5b, 0x3d, 0x7e, 0x49, 0xc5, 0xbd, 0xf0, 0x01, - 0x74, 0x8c, 0xa1, 0x31, 0x9b, 0x0a, 0x71, 0x43, 0x36, 0x43, 0xe2, 0xa8, 0x73, 0x23, 0xd3, 0xdd, 0x66, 0xd5, 0xe1, - 0xc3, 0xc9, 0xf2, 0xd3, 0xec, 0xb1, 0x17, 0x23, 0xc8, 0x60, 0xad, 0xd3, 0x8a, 0xdb, 0xe1, 0xb7, 0xff, 0x5b, 0xae, - 0x48, 0x8f, 0xea, 0xda, 0x22, 0xd1, 0xf9, 0x15, 0x12, 0x4c, 0x8b, 0xa4, 0xc8, 0xea, 0x5d, 0xca, 0x64, 0xdb, 0x2b, - 0x36, 0x5e, 0xcb, 0xe0, 0xb2, 0xb0, 0x38, 0x15, 0xf3, 0xcb, 0x5e, 0x8b, 0xc9, 0xae, 0xaf, 0x8b, 0xaf, 0xca, 0xcc, - 0x39, 0x56, 0x9e, 0x21, 0x8c, 0x85, 0xbd, 0x2e, 0x68, 0x53, 0x5a, 0xd8, 0x74, 0x50, 0x3d, 0x86, 0x29, 0xe3, 0xd1, - 0x6b, 0x47, 0x42, 0x7a, 0xa8, 0x75, 0xff, 0x26, 0xaf, 0xaf, 0xa3, 0xc2, 0x00, 0x10, 0x97, 0x22, 0x2c, 0x3c, 0x9e, - 0xc1, 0xe0, 0x12, 0x83, 0xc2, 0x3b, 0xec, 0xf4, 0xe2, 0x1a, 0xce, 0x3b, 0x37, 0xae, 0xd4, 0x72, 0x8a, 0x2d, 0x1d, - 0x27, 0x5f, 0x48, 0xcf, 0x7a, 0x45, 0x81, 0xbe, 0xa5, 0x66, 0x2d, 0x6e, 0xcd, 0x69, 0x0a, 0xc5, 0x90, 0xb2, 0xab, - 0xf6, 0x74, 0xef, 0xd4, 0xb5, 0x3d, 0x3b, 0x1f, 0xd6, 0x35, 0x45, 0xbb, 0x92, 0xa8, 0xf4, 0x1c, 0x91, 0x18, 0x2b, - 0x86, 0x76, 0xae, 0xad, 0xeb, 0xa2, 0x8e, 0x6a, 0xa8, 0xd6, 0x35, 0x46, 0xaa, 0x6e, 0x29, 0xd5, 0xbf, 0xd4, 0x7a, - 0x5c, 0x7a, 0x6d, 0x30, 0xf4, 0x9e, 0x3c, 0x8a, 0x97, 0x89, 0xba, 0x94, 0xdb, 0x4b, 0x9f, 0xea, 0x75, 0xbb, 0x7d, - 0xeb, 0xbb, 0xff, 0x53, 0xd0, 0xd6, 0xc5, 0x37, 0xf1, 0x3f, 0xc8, 0xff, 0x67, 0x0f, 0x18, 0x5b, 0x7c, 0x7c, 0x38, - 0xae, 0xb4, 0x59, 0x57, 0x36, 0x39, 0x25, 0x8f, 0x9d, 0x6f, 0xfa, 0x8a, 0xa5, 0x83, 0xba, 0xbb, 0x3b, 0x39, 0x0b, - 0x0e, 0x9b, 0x33, 0x47, 0x30, 0x50, 0x94, 0xc9, 0xcd, 0x95, 0xd1, 0xa6, 0xeb, 0x74, 0xa9, 0xc3, 0x2f, 0x4b, 0x93, - 0x90, 0xbd, 0xc6, 0x4b, 0x8c, 0x60, 0x9e, 0x4b, 0x99, 0xd8, 0x02, 0x5e, 0x39, 0x43, 0x51, 0x0f, 0x1d, 0x5b, 0x4a, - 0x30, 0x65, 0xd5, 0x20, 0x3e, 0xcb, 0x14, 0xcf, 0x51, 0x65, 0x1a, 0xd5, 0x73, 0xf7, 0xa6, 0x07, 0x8c, 0xc8, 0xc8, - 0xd9, 0xaf, 0x32, 0xeb, 0x42, 0x07, 0xeb, 0xf6, 0x6c, 0x7f, 0xc4, 0xb3, 0x52, 0x62, 0xc0, 0xbd, 0xb3, 0x01, 0xb1, - 0x43, 0x63, 0x95, 0x43, 0xa1, 0xf8, 0xc7, 0xad, 0x70, 0x99, 0xa8, 0xcf, 0x78, 0xcb, 0x5e, 0xb2, 0xb8, 0x0d, 0xcd, - 0xac, 0x43, 0xbe, 0x33, 0x15, 0x44, 0xec, 0x5d, 0xa7, 0xea, 0x39, 0x42, 0xd6, 0x94, 0x7a, 0xfc, 0x59, 0xa2, 0x2c, - 0x8d, 0xa8, 0xc4, 0xd1, 0xa8, 0x1a, 0x0b, 0xff, 0x77, 0xe6, 0x12, 0xdd, 0xc9, 0xfe, 0x19, 0x61, 0xe6, 0xbe, 0x22, - 0x56, 0x2e, 0xe1, 0x84, 0xe9, 0xd5, 0x36, 0x9d, 0x15, 0x22, 0x28, 0xe0, 0xf3, 0x45, 0xef, 0xcd, 0xa6, 0x2e, 0x04, - 0x8d, 0x77, 0x79, 0xde, 0x85, 0xf9, 0x8c, 0xdc, 0x08, 0xcd, 0x34, 0xac, 0x4d, 0x89, 0x72, 0x10, 0xb8, 0xe8, 0x09, - 0x34, 0xe7, 0x32, 0x30, 0xc1, 0x34, 0x2f, 0xb6, 0x7e, 0xd2, 0xd6, 0x99, 0x1e, 0x48, 0x43, 0x8c, 0x5a, 0x64, 0x9e, - 0xde, 0x95, 0xa6, 0x8f, 0xe9, 0xac, 0xd2, 0x3a, 0x6b, 0x03, 0x2b, 0x7e, 0x40, 0x31, 0x13, 0x41, 0xab, 0x97, 0x24, - 0xa9, 0xa0, 0x39, 0xb4, 0xe8, 0x65, 0xaf, 0x3a, 0x49, 0x41, 0xdd, 0xa9, 0x25, 0xe3, 0x82, 0xb0, 0xaf, 0x6d, 0xf7, - 0x84, 0xcc, 0x51, 0xb4, 0x41, 0x9a, 0x92, 0x4b, 0xbe, 0x47, 0x5c, 0x65, 0x3c, 0xff, 0xbc, 0x50, 0xf8, 0x02, 0x58, - 0x6e, 0x7f, 0x57, 0x96, 0xc3, 0xa2, 0x2e, 0x16, 0xbf, 0x9c, 0x80, 0x35, 0xf2, 0x8f, 0xe1, 0xfe, 0x28, 0x20, 0x1a, - 0x7e, 0x56, 0xb0, 0x3b, 0x68, 0xb3, 0x5f, 0x8c, 0xb3, 0xdd, 0xc7, 0xbd, 0xc5, 0x6e, 0xb8, 0xec, 0xf8, 0xcb, 0x27, - 0xeb, 0xf6, 0xb4, 0x07, 0xae, 0x0d, 0x83, 0xdb, 0x5f, 0x9c, 0xbf, 0xa6, 0xc1, 0xf3, 0x2d, 0x63, 0x37, 0x5b, 0xf9, - 0x90, 0xdf, 0xa3, 0xdc, 0xa9, 0xcb, 0xe5, 0x52, 0xd4, 0x10, 0x90, 0x6a, 0xe6, 0x9c, 0xb8, 0x7e, 0x52, 0x90, 0x16, - 0x68, 0x61, 0x4a, 0x47, 0xb7, 0x24, 0xde, 0x8b, 0x86, 0xac, 0x37, 0x17, 0x60, 0xd3, 0x6d, 0x2f, 0x90, 0x4a, 0x8a, - 0x99, 0x22, 0x2d, 0x26, 0x14, 0x3f, 0xe7, 0xa8, 0x93, 0x3b, 0xb8, 0x2f, 0xa1, 0x4d, 0x64, 0x58, 0x77, 0x93, 0x71, - 0xfe, 0x54, 0xed, 0x09, 0x3d, 0x6e, 0x18, 0xab, 0x43, 0x7e, 0x8b, 0x34, 0xa0, 0xf7, 0xe3, 0x99, 0x14, 0xd9, 0x0f, - 0x83, 0x02, 0xf8, 0xd4, 0x55, 0x40, 0xb5, 0x40, 0xbf, 0xe5, 0xe3, 0x89, 0x4c, 0x19, 0xc4, 0xa8, 0xec, 0x0d, 0xd0, - 0x48, 0x50, 0x64, 0x9b, 0xb2, 0x78, 0x3f, 0x2d, 0x08, 0xe8, 0x43, 0x09, 0x9d, 0xe9, 0x93, 0x0c, 0x11, 0xd5, 0x15, - 0x3c, 0xcc, 0xe9, 0x4e, 0xf8, 0xa6, 0xce, 0x87, 0xcf, 0x9d, 0xb1, 0xe7, 0x2d, 0xed, 0x0a, 0x5b, 0x86, 0x69, 0x68, - 0xa8, 0x82, 0x71, 0xe8, 0x5e, 0xb4, 0xf4, 0x14, 0xb7, 0xa1, 0xe4, 0xe3, 0xf1, 0xe7, 0xf2, 0xcb, 0x44, 0xd4, 0xdf, - 0x26, 0x32, 0xcc, 0x08, 0x7a, 0x66, 0x51, 0x2f, 0xae, 0x70, 0x61, 0x74, 0xba, 0x6a, 0x20, 0x68, 0x79, 0xbf, 0xad, - 0x07, 0xd7, 0xf9, 0x31, 0xdc, 0x38, 0x57, 0x89, 0x36, 0x4e, 0xe3, 0xde, 0x6f, 0x50, 0x5c, 0x2e, 0x71, 0xd0, 0xe5, - 0x05, 0x12, 0xdf, 0x07, 0xd7, 0x76, 0x59, 0xed, 0x6d, 0xaa, 0xf9, 0xcb, 0x7a, 0xe5, 0x0d, 0x09, 0x3b, 0x6f, 0x12, - 0x0e, 0xa4, 0x84, 0x0c, 0x27, 0x1f, 0x91, 0x5c, 0xd8, 0xa0, 0x4b, 0x3e, 0xde, 0xd2, 0xd0, 0x51, 0xc3, 0x8a, 0x68, - 0x17, 0x7e, 0xc3, 0x8f, 0x75, 0x5b, 0x88, 0x20, 0x6e, 0xb0, 0x4c, 0x00, 0xcf, 0x48, 0xe6, 0x44, 0x56, 0x75, 0x98, - 0xc0, 0x34, 0x97, 0x30, 0x0d, 0xec, 0xb6, 0x01, 0x34, 0x3e, 0x99, 0x94, 0xb8, 0x02, 0xdd, 0x2c, 0xd5, 0xce, 0xab, - 0x92, 0x8c, 0xfd, 0x85, 0xa0, 0x9d, 0xeb, 0x0f, 0x8f, 0x32, 0x2f, 0xb7, 0x9b, 0x5d, 0xa4, 0x79, 0x39, 0xc5, 0xd0, - 0x0e, 0x64, 0x76, 0x35, 0x0c, 0x99, 0xba, 0x4b, 0xea, 0x3c, 0x38, 0xa9, 0x2e, 0x0c, 0xc2, 0x21, 0x5c, 0x91, 0xa6, - 0x35, 0x17, 0x84, 0x59, 0x74, 0x6b, 0x0a, 0xef, 0x76, 0xc0, 0xd5, 0x12, 0x01, 0x25, 0x88, 0x38, 0xe9, 0x45, 0x87, - 0x55, 0x3c, 0xb8, 0x1b, 0x75, 0x67, 0x90, 0x96, 0x95, 0x8b, 0x95, 0x62, 0x7c, 0xa1, 0xc5, 0x9d, 0x60, 0x5a, 0x05, - 0xf7, 0x7e, 0x20, 0x46, 0x7b, 0xbe, 0x16, 0x4a, 0x1e, 0x63, 0xa4, 0xa2, 0x3c, 0xfa, 0xf6, 0x43, 0x4a, 0x7e, 0xd4, - 0xf0, 0x58, 0x2b, 0x94, 0x2a, 0x76, 0xea, 0xda, 0x05, 0x9d, 0x95, 0x08, 0xbb, 0x2c, 0x13, 0x2f, 0xa1, 0xdf, 0xd5, - 0xb0, 0xdb, 0x32, 0x1b, 0xbb, 0x40, 0xdc, 0x9e, 0x44, 0x4a, 0xe4, 0x60, 0xad, 0xe1, 0x1d, 0xc9, 0xf3, 0x34, 0x78, - 0x5b, 0x72, 0xeb, 0x97, 0x0c, 0xc5, 0xad, 0xb6, 0x60, 0xf1, 0x43, 0x7a, 0x74, 0x44, 0x01, 0xaa, 0x7f, 0xd3, 0x91, - 0x20, 0x71, 0xcb, 0x8c, 0xdf, 0x55, 0xe5, 0xe6, 0xb9, 0xb9, 0xe1, 0x59, 0x62, 0x55, 0xc4, 0xc2, 0xf9, 0xfb, 0x1a, - 0x20, 0x50, 0x48, 0x67, 0x33, 0xd7, 0x3c, 0x12, 0x75, 0xc5, 0xf5, 0xe0, 0x4e, 0x65, 0x4c, 0xdd, 0xa7, 0x23, 0xd5, - 0x1b, 0xee, 0x6a, 0x6c, 0xa9, 0x25, 0xbc, 0xa9, 0xb0, 0xa5, 0x3b, 0xcd, 0x15, 0x5b, 0x5c, 0xe6, 0x2a, 0xb5, 0x9d, - 0xc0, 0xb4, 0x6b, 0x9d, 0xfe, 0x38, 0x86, 0x1a, 0xca, 0x44, 0xdc, 0x26, 0xea, 0xe0, 0xb2, 0x6c, 0x8a, 0x72, 0x97, - 0x09, 0x4e, 0x92, 0x0d, 0xee, 0x80, 0x48, 0xd5, 0xe2, 0x32, 0xc7, 0x4d, 0x1b, 0x22, 0xc5, 0x77, 0xd2, 0x35, 0x45, - 0x52, 0x9c, 0xa6, 0x17, 0x9e, 0x46, 0x56, 0x6e, 0x76, 0x4a, 0x33, 0xe9, 0x1d, 0x52, 0x64, 0x45, 0x21, 0x71, 0xaf, - 0x22, 0x05, 0x0f, 0xad, 0xfa, 0xb3, 0xcc, 0x29, 0xd9, 0xc1, 0xf4, 0x6e, 0xb9, 0xee, 0xef, 0xc3, 0xc7, 0xf3, 0xf5, - 0x48, 0x44, 0x17, 0xc6, 0x57, 0x4a, 0x48, 0x56, 0x72, 0x90, 0x84, 0xbc, 0xe0, 0x90, 0xce, 0x5e, 0x15, 0x09, 0x38, - 0xd2, 0x2b, 0x17, 0x69, 0x5d, 0xb9, 0x56, 0x05, 0xda, 0xc1, 0x72, 0xca, 0xa8, 0x10, 0x33, 0x63, 0x8d, 0xe2, 0xfd, - 0x38, 0xbc, 0x3b, 0x1e, 0xa4, 0x3b, 0x92, 0x4d, 0xcd, 0x5c, 0x77, 0x28, 0x71, 0x19, 0x2a, 0x38, 0x12, 0x27, 0x2a, - 0x87, 0xe0, 0xe8, 0xcc, 0xf5, 0x1e, 0x0b, 0xeb, 0x0a, 0xe6, 0xcc, 0x79, 0x96, 0x07, 0xab, 0xab, 0xf5, 0x17, 0xee, - 0x7a, 0xfd, 0x7a, 0x22, 0xfa, 0x9d, 0x97, 0x9a, 0x6a, 0x80, 0x87, 0x16, 0xdb, 0x75, 0x3c, 0x8d, 0x29, 0xd0, 0x02, - 0xe9, 0xd5, 0x04, 0x45, 0xc3, 0x27, 0xcd, 0x30, 0x07, 0x3d, 0xd5, 0x37, 0x6f, 0xa3, 0x66, 0xb6, 0x65, 0x9a, 0x56, - 0x18, 0x66, 0x97, 0x06, 0xee, 0x4c, 0x72, 0x0d, 0x31, 0x6c, 0xfd, 0x7a, 0xb6, 0x4d, 0xe4, 0x72, 0xdf, 0xb3, 0x5a, - 0x08, 0xa6, 0xe9, 0x98, 0x23, 0xff, 0x3e, 0xc9, 0x61, 0xc2, 0x71, 0x0c, 0x4a, 0x4f, 0xbc, 0x2c, 0xc5, 0x2c, 0x27, - 0x61, 0x65, 0x5d, 0x5d, 0xc0, 0xf5, 0x64, 0x24, 0x02, 0xf1, 0x28, 0xb5, 0x58, 0x7e, 0x00, 0xd7, 0x54, 0x5e, 0xef, - 0x68, 0x63, 0x0f, 0x04, 0x00, 0xcb, 0xf6, 0xcc, 0x49, 0xaf, 0x1a, 0xf9, 0x2a, 0xa6, 0x90, 0x5c, 0xbe, 0x93, 0x4c, - 0x46, 0x04, 0xfb, 0x2a, 0xbd, 0xbf, 0xa0, 0x1f, 0xd4, 0xde, 0x8e, 0x10, 0xd1, 0x8b, 0x84, 0xfd, 0x72, 0x9b, 0x26, - 0x21, 0x0e, 0x5f, 0x98, 0x88, 0x8d, 0x0b, 0xd8, 0x8a, 0xd0, 0x97, 0xc7, 0x56, 0x26, 0xf3, 0xba, 0xeb, 0xf0, 0xfb, - 0x2d, 0x1f, 0xdc, 0x18, 0xc1, 0x24, 0xb2, 0x25, 0x02, 0x0b, 0x91, 0xca, 0x98, 0x28, 0xbe, 0x08, 0x3f, 0x57, 0xfb, - 0xbe, 0x51, 0x4c, 0x25, 0x9b, 0x3d, 0xdf, 0xf1, 0xee, 0x78, 0xfa, 0xae, 0xf5, 0xeb, 0xac, 0x90, 0x21, 0xd3, 0x5e, - 0xf7, 0x0f, 0x00, 0x3d, 0xf3, 0xa6, 0xbc, 0x9d, 0xcc, 0x77, 0x92, 0x76, 0x95, 0x36, 0xef, 0x34, 0xd1, 0xc0, 0xaf, - 0xbf, 0x11, 0x7a, 0xc5, 0x57, 0x9a, 0x88, 0x7e, 0xd5, 0x0b, 0x36, 0xab, 0xa8, 0x90, 0x67, 0xae, 0xc3, 0x9a, 0xf5, - 0xed, 0x1c, 0x9a, 0xbe, 0x29, 0xa5, 0x39, 0x4f, 0x06, 0x53, 0x87, 0xf4, 0x55, 0x46, 0x75, 0x30, 0xa0, 0xb9, 0x83, - 0x0d, 0xd2, 0xdf, 0x00, 0xcf, 0xb9, 0x83, 0x00, 0x27, 0x8a, 0x24, 0x0d, 0xbf, 0x74, 0xf3, 0x2a, 0x9a, 0x3c, 0x8c, - 0x9a, 0x0c, 0xc5, 0x65, 0x1b, 0xb8, 0x59, 0x0b, 0xca, 0x43, 0x83, 0xa8, 0xb3, 0xf7, 0x88, 0xdd, 0x5e, 0xda, 0x7b, - 0xf0, 0x9f, 0x3e, 0x50, 0xb2, 0x2e, 0x42, 0xc5, 0x60, 0x42, 0xf9, 0x4b, 0xd9, 0x2f, 0x69, 0xcf, 0x4a, 0x57, 0xe6, - 0x42, 0xc1, 0xbc, 0x36, 0xa8, 0xc6, 0x01, 0x2c, 0xa0, 0xbd, 0x48, 0x40, 0xc5, 0x6e, 0x2b, 0x6c, 0xc8, 0x04, 0xdb, - 0x4f, 0x62, 0x5d, 0x89, 0x1f, 0x0a, 0x70, 0xf8, 0x9b, 0x86, 0x90, 0x84, 0x2c, 0xe6, 0x7e, 0x9d, 0x97, 0x6d, 0x5b, - 0xc7, 0x6d, 0xcc, 0xe6, 0x91, 0xbc, 0x8d, 0xb0, 0x9c, 0xf0, 0xe6, 0x7f, 0x98, 0x07, 0xe2, 0xb2, 0xea, 0x6f, 0x6b, - 0xbb, 0xb4, 0xa3, 0xd7, 0x61, 0x58, 0x89, 0xad, 0x62, 0xf9, 0x87, 0xb9, 0xea, 0xb1, 0x03, 0xb8, 0xbf, 0x87, 0xca, - 0xf0, 0x96, 0xe6, 0x86, 0xb7, 0xe3, 0x79, 0xa9, 0x41, 0xf6, 0x99, 0x8a, 0x24, 0x9c, 0xd2, 0xfd, 0x8a, 0x64, 0x48, - 0x13, 0x89, 0x1e, 0x3d, 0xc9, 0x47, 0x1a, 0x0f, 0xab, 0x94, 0x6d, 0xe8, 0xb0, 0xd9, 0xee, 0xa0, 0xf3, 0xf6, 0xb9, - 0xfb, 0xcb, 0xa9, 0xb7, 0x40, 0xb5, 0x4e, 0x61, 0xf3, 0xd2, 0xc3, 0x16, 0x5b, 0xf7, 0x2c, 0xa6, 0x7e, 0x0a, 0xb2, - 0x72, 0x24, 0x1b, 0x62, 0x22, 0xdd, 0x3b, 0x2d, 0x9e, 0x79, 0x94, 0xc0, 0xdd, 0x4d, 0x7d, 0x73, 0xec, 0xe3, 0x79, - 0xc9, 0x1f, 0xb3, 0x33, 0xdc, 0xf3, 0xa1, 0x97, 0xef, 0x59, 0x91, 0x3b, 0x62, 0xa7, 0xa3, 0x78, 0xc8, 0x45, 0x77, - 0x42, 0x59, 0x09, 0xcb, 0xf9, 0xb9, 0x6a, 0xa5, 0x36, 0x06, 0xa5, 0x42, 0x59, 0x96, 0x7b, 0x9f, 0x6c, 0xdd, 0x41, - 0x42, 0x95, 0xef, 0x41, 0x49, 0xe0, 0xf7, 0x49, 0x04, 0x52, 0xfd, 0xa3, 0x54, 0x21, 0x66, 0xcc, 0x4b, 0x33, 0x2f, - 0xd4, 0x9f, 0x50, 0xca, 0x81, 0x87, 0x80, 0x6f, 0x09, 0xb8, 0x34, 0xb4, 0xf5, 0xdf, 0x6d, 0x18, 0xd3, 0xb2, 0x1f, - 0x6b, 0xf4, 0xf7, 0x14, 0xf8, 0xbd, 0x06, 0xee, 0x89, 0x3a, 0x3f, 0x9d, 0x62, 0xf0, 0x68, 0xa1, 0xd7, 0xb7, 0xd3, - 0x7d, 0xc3, 0xd4, 0x78, 0xe5, 0x42, 0xf1, 0xad, 0x4d, 0xe5, 0x8f, 0xa1, 0x76, 0x5d, 0x0b, 0x4d, 0xf6, 0x42, 0x39, - 0x53, 0x8a, 0xb3, 0xc2, 0x9b, 0x06, 0x43, 0x2b, 0x1e, 0x49, 0xb5, 0xc4, 0x39, 0x7b, 0x8f, 0x5d, 0xc5, 0x09, 0xef, - 0x48, 0x03, 0x05, 0x2a, 0x99, 0x05, 0x47, 0x0c, 0x94, 0xf6, 0x65, 0x7d, 0x99, 0xee, 0xf6, 0x63, 0x2d, 0xee, 0xe0, - 0x78, 0x84, 0xaa, 0x22, 0x5f, 0x21, 0x27, 0x1e, 0x39, 0x90, 0x28, 0xf5, 0xfc, 0x26, 0xaa, 0xd0, 0xfc, 0x74, 0xa2, - 0x68, 0x7f, 0x97, 0x0d, 0xad, 0xe8, 0x3f, 0x1b, 0xfe, 0xec, 0x11, 0x20, 0x8f, 0x73, 0xd2, 0xf7, 0x09, 0xb6, 0x4c, - 0x88, 0xc6, 0xe5, 0xd8, 0xb7, 0x35, 0x78, 0x5e, 0x6a, 0xb4, 0x58, 0xf4, 0x72, 0x21, 0xfb, 0x8d, 0xd9, 0x58, 0x89, - 0x39, 0x73, 0xe1, 0x8d, 0x3b, 0xa1, 0xe1, 0x37, 0x0c, 0xa4, 0xf7, 0xb0, 0x9e, 0x84, 0x99, 0x66, 0x01, 0x28, 0x35, - 0xb4, 0xd0, 0x47, 0x8b, 0x9d, 0xeb, 0x3c, 0x39, 0xde, 0xf0, 0xa6, 0x14, 0x01, 0xe3, 0xeb, 0xfb, 0x1b, 0x42, 0x33, - 0x50, 0x24, 0x25, 0x62, 0x3e, 0x01, 0x8c, 0x62, 0x30, 0x6a, 0xaa, 0xd7, 0xe3, 0x01, 0x9f, 0x60, 0x10, 0x5f, 0x6c, - 0x7d, 0x79, 0x33, 0x6e, 0x20, 0xee, 0x86, 0xb3, 0x94, 0x4f, 0xc9, 0x77, 0x23, 0x01, 0x8c, 0x97, 0x7f, 0x02, 0x54, - 0x17, 0x5a, 0x6d, 0xb0, 0xbf, 0x13, 0xdb, 0x71, 0x7e, 0x01, 0x4d, 0xf0, 0x35, 0xd8, 0x05, 0x3f, 0x8e, 0x7f, 0x28, - 0xac, 0x6e, 0xa4, 0xa5, 0x5e, 0x4e, 0x47, 0x7d, 0xb6, 0x99, 0xf9, 0x00, 0x1b, 0xce, 0x37, 0x0f, 0x1b, 0xe5, 0xfa, - 0x8b, 0x09, 0x03, 0xf3, 0xca, 0x09, 0xa5, 0x9b, 0x23, 0x99, 0x5f, 0x32, 0xac, 0xcd, 0x1a, 0xfa, 0x5c, 0x4e, 0x5c, - 0xf2, 0x2d, 0x90, 0x6b, 0xa4, 0xda, 0x6f, 0xf1, 0xf2, 0x1b, 0xa4, 0x1e, 0x96, 0xef, 0x7f, 0x56, 0x4a, 0x17, 0xb1, - 0xa9, 0xcd, 0x7e, 0xe4, 0xb8, 0x4b, 0x9f, 0xcb, 0x93, 0xcf, 0x90, 0xfd, 0xd9, 0x1c, 0xf2, 0x79, 0x7f, 0xb5, 0x7b, - 0xb7, 0xfc, 0x33, 0x9b, 0xed, 0xc5, 0x66, 0xd7, 0xdb, 0xbb, 0xf9, 0x33, 0xf8, 0x3a, 0xfc, 0x1e, 0xc1, 0x6a, 0x6e, - 0x0f, 0x0a, 0x3e, 0x4c, 0xdf, 0xfc, 0xd7, 0x6f, 0xf6, 0x83, 0x81, 0x66, 0x1f, 0xa2, 0x00, 0x57, 0x88, 0xa8, 0x72, - 0x66, 0x5c, 0xc3, 0xae, 0xb8, 0xc7, 0xf6, 0x38, 0xe5, 0x7c, 0x5f, 0x9b, 0x50, 0x6e, 0xb3, 0x98, 0x36, 0x2b, 0x57, - 0x57, 0x38, 0x13, 0xdd, 0xfa, 0x86, 0x5d, 0x08, 0xc9, 0xf2, 0xed, 0x5d, 0xc0, 0x43, 0x31, 0x2a, 0xec, 0xed, 0xb9, - 0xe7, 0xe5, 0xc0, 0x9f, 0xa1, 0xbc, 0xc6, 0x4b, 0xab, 0xdf, 0xfa, 0x5c, 0xec, 0xa1, 0x0f, 0x78, 0x33, 0x7e, 0x2b, - 0xa8, 0xce, 0x7c, 0x16, 0x9a, 0x2c, 0x2e, 0xc4, 0x97, 0xba, 0xc1, 0x25, 0xf4, 0x32, 0xc7, 0x64, 0x03, 0x5f, 0x3a, - 0x5c, 0x55, 0xc8, 0x3c, 0xb4, 0x64, 0x94, 0x47, 0x6c, 0x39, 0x31, 0x73, 0xb7, 0x9a, 0x64, 0x5a, 0x99, 0x1f, 0xdd, - 0xc8, 0xc1, 0x83, 0x12, 0x92, 0x74, 0x65, 0x08, 0xff, 0x18, 0x27, 0xee, 0x45, 0xb0, 0xf1, 0x5e, 0x58, 0x8b, 0x76, - 0xf5, 0x50, 0x35, 0xeb, 0x26, 0x68, 0xd6, 0xa9, 0x1e, 0xef, 0x84, 0xbf, 0xa7, 0x7f, 0x3c, 0xd3, 0x46, 0xf8, 0xf3, - 0x99, 0x56, 0xc2, 0x1f, 0xa7, 0x8a, 0x09, 0x7f, 0x9e, 0xea, 0xcc, 0xd4, 0xfa, 0xc2, 0xbe, 0x7e, 0x63, 0x5f, 0xdf, - 0xd9, 0x63, 0xa0, 0xf6, 0xd0, 0xde, 0xcb, 0x1c, 0xb4, 0x13, 0x7b, 0x5b, 0x6f, 0xc9, 0x21, 0x9f, 0xcb, 0x2a, 0x4b, - 0x36, 0x3f, 0x37, 0xba, 0xfb, 0x9c, 0xca, 0xc2, 0xe3, 0x01, 0xca, 0x1a, 0x8f, 0xa3, 0xba, 0x16, 0x51, 0x31, 0x67, - 0x96, 0xb4, 0x5e, 0x3a, 0xbb, 0x7b, 0x28, 0x9e, 0x4e, 0x1c, 0x43, 0x0e, 0xaa, 0x86, 0x33, 0x52, 0x99, 0x20, 0x7f, - 0x34, 0xfd, 0xd8, 0x28, 0xf7, 0xa2, 0xf1, 0xc2, 0xdd, 0x3d, 0x53, 0x9e, 0xbf, 0x92, 0x46, 0x44, 0xa6, 0x15, 0xf8, - 0xde, 0xc1, 0x34, 0x2c, 0x66, 0x2d, 0x36, 0x3b, 0x20, 0xb3, 0x23, 0x7a, 0x09, 0x05, 0x42, 0xe8, 0xdb, 0x16, 0xfe, - 0xb3, 0x00, 0xa5, 0x62, 0x57, 0x46, 0x89, 0x78, 0x5c, 0x83, 0xa2, 0xd6, 0x5b, 0xd0, 0x20, 0x76, 0x43, 0x99, 0xee, - 0x88, 0x31, 0x87, 0x97, 0x55, 0x5c, 0x41, 0x56, 0xbf, 0x9c, 0x8b, 0x5f, 0xe7, 0xec, 0xe1, 0xf9, 0x46, 0x40, 0x83, - 0xff, 0xd7, 0x64, 0x3b, 0xe8, 0x4f, 0x68, 0x6b, 0x9c, 0x72, 0x49, 0xa5, 0xfd, 0x42, 0xce, 0xdb, 0x73, 0x5f, 0x67, - 0xd7, 0xb7, 0xce, 0x18, 0xc9, 0xcf, 0x39, 0x04, 0x72, 0x57, 0xed, 0xa7, 0xbb, 0x7d, 0x4c, 0x41, 0x56, 0x5d, 0xf7, - 0x9c, 0x60, 0x9d, 0x9d, 0xa9, 0xd4, 0xcd, 0x94, 0xfc, 0xfc, 0xd5, 0xff, 0xb2, 0xbf, 0x4f, 0xc9, 0x87, 0x7d, 0xad, - 0xd7, 0xfc, 0x72, 0x2c, 0xe7, 0x53, 0xaf, 0xf3, 0xf9, 0xfd, 0x17, 0xe5, 0x74, 0x3d, 0xa4, 0xe9, 0x38, 0xdd, 0xf5, - 0x8f, 0xe9, 0x82, 0x7e, 0xe9, 0x3e, 0x9b, 0xfe, 0x7a, 0x4a, 0x3e, 0xe4, 0x1b, 0xbd, 0x7e, 0x72, 0x97, 0x16, 0xff, - 0xa9, 0xe9, 0x72, 0x64, 0x0b, 0x00, 0xe5, 0xf9, 0x51, 0xb2, 0x39, 0x0e, 0x39, 0xd3, 0x3b, 0xd7, 0x15, 0xb6, 0xa8, - 0x5a, 0x0d, 0x8e, 0x5c, 0xac, 0x40, 0x8b, 0x7c, 0xc2, 0x13, 0xd9, 0xf8, 0x06, 0xec, 0x52, 0x66, 0xef, 0xb1, 0x0a, - 0xa4, 0xdb, 0xe6, 0xd3, 0x6c, 0x26, 0xcf, 0x5f, 0xa3, 0x6d, 0x76, 0x0d, 0xcb, 0x4c, 0xda, 0xd2, 0x54, 0x5c, 0x79, - 0xc0, 0x81, 0x03, 0x14, 0x06, 0xab, 0x91, 0x3a, 0x00, 0x46, 0x4e, 0xef, 0x30, 0xf4, 0xd9, 0x38, 0xce, 0xde, 0x6f, - 0x63, 0xc6, 0x52, 0x78, 0xec, 0xc8, 0xa2, 0x19, 0xed, 0xf0, 0x09, 0x37, 0xfd, 0x69, 0x26, 0xd4, 0x8f, 0x06, 0xe0, - 0xc4, 0x59, 0x36, 0x5d, 0x7f, 0xbb, 0x4f, 0x3c, 0xeb, 0x5a, 0xae, 0xac, 0x3f, 0x94, 0xd0, 0xb5, 0x39, 0x3a, 0x93, - 0xdc, 0x25, 0xa8, 0x30, 0xc2, 0x9c, 0xe1, 0xc5, 0x7b, 0xb3, 0x3a, 0xa5, 0x48, 0x7d, 0xa2, 0xd7, 0x82, 0x90, 0xd1, - 0x7f, 0x32, 0x98, 0xc6, 0x91, 0x1c, 0xb9, 0x3e, 0xf6, 0xef, 0x31, 0x43, 0xdb, 0xcc, 0xa8, 0xb7, 0x1a, 0x3b, 0x20, - 0xd2, 0xc0, 0x2a, 0x59, 0x63, 0x7d, 0x4b, 0xfc, 0x6b, 0x90, 0xeb, 0x34, 0x6b, 0x3c, 0xc3, 0xd9, 0x99, 0xb6, 0x27, - 0x3b, 0xdd, 0xcc, 0xdc, 0xaf, 0xb7, 0x3f, 0x8f, 0xdf, 0xdb, 0xef, 0x87, 0x71, 0xe9, 0x48, 0x0b, 0x72, 0xd3, 0x62, - 0xab, 0x7a, 0x6c, 0x9d, 0x4c, 0xcb, 0x0f, 0xd5, 0x8f, 0x0d, 0x0a, 0xc4, 0x18, 0xe7, 0x35, 0xd2, 0x8c, 0xcf, 0xf2, - 0x36, 0x2e, 0xc8, 0x82, 0x0d, 0x71, 0x3e, 0xdc, 0xde, 0x3e, 0x0a, 0xb2, 0x03, 0x4d, 0x7e, 0xf3, 0x0e, 0xdd, 0xd7, - 0x7e, 0xe7, 0x77, 0xa0, 0x98, 0xf5, 0xed, 0x25, 0xd5, 0x06, 0x75, 0x05, 0x7a, 0x03, 0x2e, 0xbf, 0x68, 0x13, 0xe6, - 0xae, 0xe1, 0xbc, 0xfc, 0x19, 0x0b, 0x49, 0x28, 0x5a, 0x29, 0x38, 0x2c, 0x36, 0xcd, 0x28, 0x4a, 0x8b, 0x75, 0xd1, - 0xaf, 0x6d, 0xc6, 0x9b, 0x6b, 0x37, 0x70, 0x6e, 0x10, 0x64, 0x31, 0x6b, 0x45, 0x3f, 0x46, 0xe4, 0x5d, 0xd6, 0xcc, - 0x56, 0xdb, 0x40, 0x0c, 0x2f, 0x71, 0xcd, 0x5a, 0x6c, 0x77, 0xcf, 0x60, 0x40, 0x8f, 0xf8, 0xe8, 0x1c, 0x82, 0x47, - 0x1e, 0x7a, 0x2c, 0x7e, 0x37, 0xa5, 0xc3, 0x3b, 0xc7, 0x5a, 0x0a, 0x91, 0xe5, 0x64, 0xfa, 0xc7, 0xa9, 0xcd, 0xc8, - 0xd3, 0x11, 0x25, 0x43, 0xa2, 0xfa, 0xc6, 0x3e, 0xfb, 0xd1, 0x20, 0xad, 0x3d, 0x9b, 0x35, 0x8e, 0x17, 0x2c, 0xad, - 0x0f, 0x8e, 0x87, 0x71, 0x1c, 0xa4, 0xa8, 0xa9, 0xac, 0xe2, 0x1f, 0x93, 0x61, 0x91, 0xae, 0xd9, 0x7e, 0x57, 0x06, - 0xaf, 0x84, 0x84, 0xae, 0x5c, 0x7b, 0x2d, 0x40, 0xc7, 0x2e, 0x6b, 0xf9, 0x33, 0xa7, 0x0b, 0x01, 0x2a, 0xbf, 0x08, - 0x93, 0x00, 0x43, 0x24, 0xca, 0x13, 0x79, 0xe1, 0x45, 0xd1, 0x47, 0x30, 0x87, 0x66, 0x58, 0x0d, 0xa6, 0xa9, 0xe8, - 0xaf, 0xd7, 0x99, 0x50, 0xc6, 0x01, 0xbc, 0xc8, 0xed, 0xcd, 0xc7, 0x32, 0x74, 0x28, 0xd2, 0x46, 0xce, 0x3c, 0x33, - 0xa7, 0xbc, 0xa1, 0x3e, 0x14, 0xa1, 0xf8, 0x4f, 0x30, 0x48, 0x72, 0x36, 0x00, 0x85, 0xac, 0x3d, 0x8f, 0x00, 0x60, - 0x49, 0x3f, 0x31, 0x03, 0x6f, 0xf8, 0xa7, 0xb3, 0xf1, 0x65, 0x91, 0xb1, 0x5f, 0xfd, 0x9b, 0x4b, 0xd3, 0x2c, 0xdc, - 0x59, 0xd5, 0xb3, 0x7b, 0x8a, 0x20, 0x0a, 0x24, 0x59, 0x28, 0x27, 0xf6, 0x1e, 0xe2, 0x57, 0x06, 0x98, 0x41, 0x48, - 0x06, 0x48, 0xc2, 0x74, 0xa4, 0x75, 0xe6, 0x27, 0xd7, 0x84, 0xad, 0xde, 0x16, 0x4a, 0xb0, 0x88, 0xce, 0xa3, 0xdb, - 0x2a, 0xcd, 0x5a, 0xba, 0x1f, 0xf6, 0xe6, 0x20, 0xe3, 0xe4, 0xcb, 0xca, 0x79, 0xe2, 0x3c, 0x7f, 0x43, 0x22, 0x7b, - 0x11, 0x51, 0x5e, 0x6e, 0x5d, 0x44, 0x7e, 0x05, 0xa5, 0x62, 0x03, 0xa0, 0x1a, 0x09, 0x53, 0x4d, 0xf1, 0xee, 0x17, - 0x77, 0xc0, 0x28, 0x1f, 0x68, 0x4f, 0x28, 0xee, 0x27, 0x2b, 0x63, 0x3d, 0xcc, 0x83, 0xcc, 0x22, 0x2e, 0x57, 0xa3, - 0xcd, 0x4e, 0x68, 0xa4, 0x5e, 0xd1, 0x04, 0x03, 0x1a, 0x96, 0xe1, 0x74, 0x6a, 0xeb, 0x1f, 0x05, 0xcb, 0x6c, 0xba, - 0x4e, 0xcf, 0x71, 0x29, 0x74, 0x5b, 0xf7, 0x49, 0x21, 0x8e, 0x86, 0xd0, 0xed, 0x28, 0x14, 0x46, 0x3f, 0xab, 0xf0, - 0xa2, 0x3e, 0xeb, 0xd7, 0xa2, 0x33, 0xd6, 0x98, 0xa1, 0xab, 0x2e, 0xbb, 0xa1, 0x00, 0x6c, 0xc4, 0xce, 0x10, 0x05, - 0x72, 0x7b, 0xd5, 0x2e, 0xd7, 0x70, 0x2f, 0x62, 0xf2, 0x1f, 0x5a, 0xef, 0x37, 0xda, 0x4f, 0xe0, 0x8f, 0x92, 0xcc, - 0xad, 0x09, 0xac, 0xa9, 0x9c, 0x97, 0xc4, 0x01, 0xd1, 0xe3, 0x7c, 0x3f, 0x08, 0xfe, 0xa4, 0xb5, 0x78, 0x50, 0x6c, - 0x11, 0xd2, 0x4a, 0xa9, 0x13, 0xf5, 0xda, 0x3a, 0x4d, 0xe4, 0x83, 0xc4, 0xa4, 0x62, 0x42, 0x75, 0x5a, 0xfb, 0x69, - 0x5e, 0xab, 0x59, 0xe0, 0x6d, 0xa2, 0x12, 0xaf, 0x30, 0x9d, 0xdb, 0x25, 0x43, 0xd2, 0x1d, 0xc1, 0xa9, 0x2e, 0x2b, - 0x86, 0xbb, 0xdb, 0xd6, 0xec, 0x17, 0x03, 0x5f, 0xd3, 0x35, 0x1c, 0xe3, 0x2e, 0xe8, 0xdc, 0x18, 0x6f, 0x88, 0xed, - 0xc1, 0xe0, 0x61, 0xf5, 0xe4, 0xec, 0xb4, 0x9a, 0x6e, 0x1a, 0x95, 0xb9, 0xb9, 0xd7, 0xd4, 0xd5, 0x42, 0xbf, 0x4a, - 0x60, 0xf9, 0x6c, 0x94, 0x6f, 0xb1, 0x67, 0xae, 0x51, 0x60, 0x6b, 0x89, 0xbb, 0x65, 0xd9, 0xb1, 0x18, 0xbd, 0x1b, - 0x18, 0x15, 0xd6, 0x2e, 0x62, 0xf0, 0xfc, 0x1c, 0xf6, 0xf6, 0xc4, 0x04, 0x42, 0xfd, 0x9b, 0x7a, 0xb2, 0x80, 0x8b, - 0x59, 0x1a, 0xc9, 0xb0, 0x1e, 0x94, 0xbd, 0x27, 0x5a, 0xfa, 0x88, 0xe7, 0x82, 0x60, 0xdb, 0x76, 0x8a, 0xad, 0x6b, - 0x18, 0x03, 0x1f, 0xba, 0xc6, 0x1d, 0x04, 0xd7, 0xec, 0x56, 0x34, 0xcf, 0xe0, 0x31, 0x88, 0x39, 0x30, 0xc2, 0x7c, - 0x5e, 0xaa, 0xba, 0x7d, 0xa2, 0xb3, 0xff, 0x02, 0x42, 0x31, 0xbb, 0xd5, 0xe5, 0xd6, 0x69, 0xe3, 0x21, 0x43, 0x16, - 0x64, 0x2c, 0x49, 0x8a, 0x8c, 0xfc, 0xa6, 0xa3, 0x2d, 0x63, 0xd1, 0x33, 0x97, 0x71, 0x4b, 0x6a, 0x42, 0xa9, 0xce, - 0xa6, 0x21, 0x51, 0x5e, 0x8f, 0xb0, 0xa8, 0x42, 0xec, 0x36, 0x87, 0x54, 0xce, 0x5c, 0x11, 0x99, 0xe2, 0x49, 0xda, - 0x66, 0x67, 0xb0, 0x46, 0x90, 0xa1, 0x60, 0x82, 0xaa, 0xf6, 0xfd, 0xe8, 0xfe, 0x86, 0x79, 0x30, 0xa6, 0xa9, 0x7a, - 0x78, 0xc3, 0x94, 0x89, 0xf0, 0x24, 0x6d, 0x6f, 0x3b, 0x62, 0xdb, 0xba, 0x8e, 0xf3, 0xec, 0x7b, 0xf2, 0x56, 0x8e, - 0x2c, 0xd9, 0x9a, 0xb2, 0x35, 0x15, 0xfb, 0xa0, 0x16, 0x15, 0x65, 0x28, 0x91, 0x48, 0x60, 0x2b, 0xea, 0xed, 0xa5, - 0x3a, 0x1b, 0x88, 0xf4, 0xca, 0x7a, 0xbf, 0x26, 0xcf, 0xe9, 0xda, 0x4a, 0x29, 0x58, 0x40, 0x21, 0x2c, 0x34, 0xf6, - 0xac, 0xef, 0x7f, 0x9c, 0xd7, 0xb0, 0x1f, 0x7e, 0xcc, 0x88, 0x2d, 0xfc, 0xea, 0xfd, 0x7a, 0x82, 0x01, 0x46, 0xdd, - 0x8b, 0xae, 0x48, 0xdf, 0x1b, 0xfa, 0x1e, 0xe9, 0xbb, 0xaf, 0xef, 0x66, 0x3f, 0xd0, 0x35, 0xd6, 0x86, 0x37, 0xee, - 0xdc, 0x42, 0xeb, 0x88, 0x2f, 0xb1, 0xd4, 0x41, 0x7f, 0x5b, 0x7e, 0x9a, 0xa8, 0xb2, 0x5f, 0x5b, 0x49, 0x29, 0x9b, - 0xbe, 0x24, 0x55, 0x1b, 0xba, 0x8c, 0x90, 0xba, 0x57, 0x82, 0xb7, 0x6f, 0x9d, 0xba, 0xba, 0x2d, 0xe5, 0xa7, 0xe3, - 0x62, 0xfc, 0xf2, 0xaf, 0x0e, 0xf1, 0x52, 0xc6, 0x74, 0xe8, 0xca, 0x3b, 0xef, 0xd9, 0x4a, 0x8d, 0x2b, 0xcc, 0x09, - 0xe7, 0x78, 0xb2, 0x90, 0x31, 0xea, 0xa1, 0xdc, 0xb9, 0x03, 0x2e, 0x23, 0x08, 0x7c, 0x45, 0x57, 0x55, 0x8a, 0x59, - 0xea, 0x3b, 0x06, 0x96, 0xf9, 0x3e, 0xd1, 0xe5, 0xf0, 0xf7, 0x02, 0x09, 0x7d, 0xea, 0xaa, 0x72, 0xed, 0x4a, 0x35, - 0x62, 0x6c, 0x8a, 0x24, 0xe7, 0x64, 0xbd, 0xcb, 0x8b, 0xbc, 0xf0, 0xd7, 0xd3, 0xaa, 0xa6, 0x03, 0x52, 0xcc, 0x4a, - 0x2c, 0xca, 0xa9, 0x58, 0x94, 0x22, 0x62, 0xfb, 0x12, 0x86, 0xca, 0x66, 0x12, 0x88, 0xbc, 0xb7, 0x73, 0x91, 0x58, - 0xbe, 0x02, 0x18, 0xac, 0xaa, 0x0f, 0x84, 0xe4, 0x77, 0x76, 0xd9, 0x25, 0x3f, 0xf6, 0x57, 0x4a, 0x26, 0x93, 0x56, - 0x18, 0x02, 0x77, 0xc4, 0x6f, 0x9f, 0x0e, 0x18, 0x13, 0x9c, 0x33, 0xda, 0x18, 0x30, 0xe7, 0xa6, 0x69, 0x48, 0xaa, - 0x9a, 0xb5, 0xca, 0xdd, 0xbc, 0xc2, 0x4c, 0x48, 0x62, 0xa8, 0xca, 0xcd, 0xf0, 0x6b, 0x3d, 0x52, 0x90, 0xf3, 0xf7, - 0x5c, 0x5d, 0x90, 0x31, 0x2a, 0x67, 0x3a, 0x99, 0x04, 0x5f, 0x07, 0xf0, 0x01, 0x73, 0x2b, 0x3e, 0xf8, 0xc7, 0x59, - 0xca, 0x23, 0x1b, 0xd0, 0x03, 0xb5, 0x43, 0x35, 0x56, 0x2d, 0x25, 0x0a, 0x13, 0x09, 0xa1, 0x0c, 0x3e, 0xe2, 0x33, - 0x99, 0x8b, 0x39, 0xab, 0xfb, 0x5c, 0x2c, 0xdb, 0x0e, 0x24, 0x06, 0x44, 0x99, 0x10, 0x49, 0x4e, 0x6a, 0xdd, 0x50, - 0x61, 0x71, 0x74, 0x69, 0xb1, 0x88, 0x13, 0x24, 0xd3, 0x7a, 0x21, 0xf8, 0x97, 0x1d, 0x5b, 0xc9, 0xf1, 0xa6, 0xff, - 0x66, 0x34, 0x57, 0x23, 0x33, 0xd9, 0x45, 0x6b, 0x5e, 0xf4, 0x8b, 0xb4, 0xe6, 0xf2, 0x21, 0x51, 0xe8, 0x1f, 0x68, - 0xdd, 0x5b, 0xd6, 0x10, 0x29, 0x58, 0xd2, 0x15, 0x7d, 0x45, 0xdb, 0x5d, 0x7a, 0x59, 0xe0, 0x71, 0xf7, 0x31, 0x41, - 0x82, 0xef, 0xb6, 0x8a, 0x97, 0xc0, 0x45, 0xb2, 0xc6, 0x9e, 0xfb, 0x44, 0x16, 0x1d, 0xd3, 0x8d, 0xd2, 0xd5, 0x91, - 0x9d, 0xd3, 0x37, 0x88, 0x92, 0x9c, 0x5d, 0x2b, 0x31, 0xf5, 0x3f, 0x47, 0xdd, 0xe4, 0xa2, 0xb2, 0x67, 0x87, 0x1c, - 0xc4, 0xcd, 0xd4, 0x42, 0x98, 0x92, 0xbd, 0x13, 0xd8, 0x08, 0x91, 0x91, 0x62, 0x52, 0x04, 0x25, 0xf7, 0x92, 0x2f, - 0x89, 0x14, 0xf2, 0x47, 0xa5, 0x86, 0xb6, 0x4c, 0xe9, 0x7f, 0xb4, 0x8e, 0xf0, 0xed, 0x0c, 0x27, 0x49, 0xf9, 0xe4, - 0x05, 0xb7, 0xad, 0xdd, 0x8e, 0xd9, 0x20, 0x09, 0xf7, 0xcf, 0x2c, 0x9f, 0xf5, 0xf6, 0x20, 0xff, 0x50, 0x26, 0x04, - 0x78, 0xeb, 0x9b, 0x5e, 0xd5, 0x2f, 0x01, 0xa3, 0x92, 0x6a, 0x51, 0x79, 0x3b, 0x39, 0x97, 0x38, 0xe5, 0xf2, 0x02, - 0x7e, 0xf9, 0x7e, 0xce, 0x81, 0x79, 0xf8, 0x4a, 0x5b, 0x4d, 0x14, 0xec, 0x87, 0xc3, 0x1e, 0x43, 0xc9, 0x0a, 0x1b, - 0xd9, 0xcd, 0xc6, 0xb8, 0x0b, 0x5d, 0x6b, 0xb3, 0x7e, 0x0a, 0xa9, 0x57, 0x77, 0x9c, 0xde, 0xc5, 0x55, 0x8d, 0x34, - 0xb7, 0x69, 0xc4, 0x51, 0xc9, 0x4c, 0x07, 0x72, 0x87, 0x69, 0x3a, 0x66, 0x6f, 0x23, 0xc1, 0xf2, 0xcd, 0x59, 0x5b, - 0x79, 0x2b, 0xef, 0x49, 0x08, 0x98, 0x70, 0xc0, 0x5c, 0xd1, 0xb0, 0x56, 0x0e, 0x82, 0x39, 0xf6, 0x7b, 0xad, 0x90, - 0x98, 0xaa, 0x48, 0x7a, 0x36, 0xf1, 0xb9, 0x56, 0x6b, 0xcf, 0x1a, 0x09, 0x59, 0x3a, 0x05, 0x8e, 0x35, 0x4f, 0x14, - 0x0c, 0x65, 0x6a, 0x56, 0xcb, 0x3c, 0xe0, 0x2a, 0x7b, 0xae, 0xe5, 0x95, 0x40, 0x0c, 0x1c, 0x14, 0x90, 0x9c, 0xf8, - 0x1e, 0xee, 0x49, 0xec, 0x3b, 0x73, 0x86, 0xc6, 0x4c, 0x86, 0xa8, 0xce, 0x4a, 0x15, 0x58, 0xd7, 0xdb, 0xc0, 0x54, - 0x51, 0x6b, 0x6e, 0xe8, 0x9e, 0x0c, 0xd6, 0xd7, 0x38, 0x3c, 0x10, 0xf6, 0xf8, 0x82, 0xdc, 0x87, 0xbf, 0xcf, 0xca, - 0x63, 0x67, 0x0b, 0x68, 0xc0, 0x7a, 0xf3, 0x1c, 0x39, 0xa2, 0xeb, 0x2d, 0x95, 0x2b, 0x5b, 0xd0, 0x65, 0xaf, 0xe9, - 0xfd, 0xd3, 0x41, 0x75, 0xb9, 0xdc, 0xcc, 0x8c, 0xa8, 0xe2, 0xc9, 0x24, 0x09, 0xfa, 0x10, 0x33, 0x28, 0xa9, 0x79, - 0x2a, 0xeb, 0x88, 0x89, 0x7b, 0xb0, 0xbc, 0x23, 0x13, 0xd3, 0x25, 0x98, 0xe3, 0x9c, 0xad, 0x8b, 0x06, 0x87, 0x1c, - 0x0e, 0x58, 0xa2, 0x4b, 0x1e, 0xdc, 0xfb, 0x56, 0x56, 0x6a, 0xd1, 0x97, 0x63, 0xa9, 0x84, 0xdc, 0x00, 0x36, 0x76, - 0xb4, 0x93, 0x0b, 0xe5, 0xd4, 0x4e, 0x10, 0xec, 0xe4, 0xa6, 0xf6, 0x0e, 0x49, 0x06, 0xc8, 0x1e, 0x08, 0x55, 0x19, - 0xf0, 0x79, 0x5d, 0x11, 0x00, 0x9a, 0xe3, 0x12, 0x89, 0x3f, 0x08, 0xe3, 0xe5, 0x37, 0x8a, 0x41, 0x83, 0xe3, 0x6e, - 0x66, 0x38, 0x78, 0x1d, 0xc0, 0x28, 0x8d, 0x12, 0xf3, 0x23, 0x10, 0xe5, 0x62, 0x7f, 0x95, 0x18, 0x1d, 0x29, 0x44, - 0x38, 0xf4, 0x8b, 0xdd, 0x85, 0xb4, 0xf5, 0x16, 0x6c, 0x65, 0x36, 0x2b, 0xb3, 0x5d, 0x03, 0x68, 0x1f, 0xa9, 0x01, - 0xd0, 0x66, 0xc3, 0x43, 0x3f, 0x37, 0xdd, 0x67, 0x3e, 0x43, 0xf7, 0x8e, 0x22, 0xf0, 0xeb, 0x32, 0x35, 0xdf, 0xc2, - 0x05, 0x4c, 0x33, 0xf5, 0x5e, 0x5e, 0x2d, 0xf7, 0x75, 0xb7, 0x63, 0x20, 0xbc, 0x5c, 0x62, 0x8f, 0xf8, 0x29, 0xab, - 0xe2, 0xa0, 0xc7, 0x1c, 0xbd, 0x46, 0x90, 0x66, 0x66, 0x69, 0xc8, 0x73, 0x0b, 0xe5, 0x33, 0x92, 0x03, 0xf9, 0x98, - 0x2c, 0x0f, 0xd9, 0xcb, 0x70, 0xe5, 0xa1, 0xae, 0x23, 0x24, 0x55, 0x90, 0x7a, 0x02, 0xcf, 0xd5, 0x0c, 0xc2, 0xb2, - 0x8f, 0xe7, 0xc4, 0xdc, 0xf3, 0xb7, 0x29, 0x68, 0xe4, 0x40, 0xa5, 0xf3, 0x93, 0xb2, 0x80, 0xdc, 0x43, 0x1d, 0xa6, - 0x98, 0xf1, 0xa0, 0x97, 0x5d, 0x95, 0x64, 0x38, 0x1a, 0xa1, 0xf1, 0x84, 0x82, 0xe4, 0x05, 0xc1, 0xd1, 0x57, 0x4b, - 0xe5, 0xaf, 0x24, 0xe5, 0x4d, 0x56, 0x96, 0x0d, 0xee, 0x25, 0x5e, 0x64, 0x0d, 0x9c, 0x59, 0xd8, 0xd1, 0xa6, 0xac, - 0x19, 0x13, 0x04, 0x80, 0x0f, 0x87, 0xe0, 0xc8, 0x22, 0x62, 0x59, 0x44, 0x13, 0xc5, 0x38, 0x96, 0x3f, 0x7b, 0xf8, - 0xa6, 0x08, 0xae, 0xd7, 0x91, 0xa0, 0x85, 0xc0, 0x27, 0x0e, 0xc0, 0x33, 0x33, 0x88, 0x78, 0xb6, 0xda, 0x3c, 0x02, - 0x13, 0xa9, 0xb5, 0x1f, 0x8d, 0xf8, 0x84, 0x13, 0xe7, 0xb8, 0x44, 0x1a, 0xb9, 0x5d, 0x8b, 0xc3, 0x21, 0x91, 0x89, - 0x9d, 0x39, 0xf2, 0xb1, 0xf1, 0x5d, 0x91, 0xff, 0x65, 0x16, 0x3d, 0x29, 0x51, 0x73, 0x39, 0x52, 0xbc, 0x69, 0x1b, - 0xa2, 0x55, 0xc6, 0xb5, 0xf4, 0x72, 0x98, 0x30, 0x58, 0xc0, 0xfe, 0xdf, 0x7c, 0x30, 0x1a, 0x8d, 0x95, 0xf3, 0x31, - 0xb8, 0xe2, 0x21, 0x3a, 0x6c, 0x38, 0x6a, 0x7d, 0xdd, 0x34, 0x99, 0x93, 0x0f, 0xfb, 0x6f, 0x7b, 0xb3, 0xeb, 0x6e, - 0x23, 0xea, 0x5c, 0x4a, 0x73, 0xe6, 0x85, 0xd0, 0x87, 0x91, 0xd5, 0x8b, 0x35, 0xe6, 0x84, 0xe6, 0x97, 0x8e, 0xa8, - 0x56, 0x1c, 0x9e, 0x3e, 0x08, 0xc5, 0xcb, 0xd1, 0x3e, 0xc4, 0x01, 0xb1, 0xa1, 0x44, 0xd9, 0x33, 0x95, 0x90, 0xc6, - 0x31, 0xb0, 0x5e, 0x85, 0x83, 0x40, 0xe0, 0xb4, 0x61, 0xbb, 0x66, 0xfd, 0x16, 0x2b, 0x4a, 0xc8, 0x21, 0xd5, 0x64, - 0xd9, 0x8c, 0x1f, 0x62, 0x47, 0x13, 0x94, 0x48, 0x29, 0x5a, 0x36, 0xfd, 0xc3, 0xb6, 0x23, 0x07, 0x2f, 0xa1, 0x21, - 0x71, 0x04, 0x2f, 0xbd, 0xf3, 0x87, 0xfd, 0x37, 0xeb, 0x23, 0xcf, 0x51, 0xbf, 0xe5, 0x21, 0xdf, 0xf2, 0x1c, 0xed, - 0x43, 0x1e, 0xf2, 0x21, 0xcf, 0x11, 0x3f, 0xe4, 0x41, 0xb2, 0x38, 0x4f, 0x5f, 0xdb, 0x7f, 0x0e, 0xc7, 0x4c, 0xa1, - 0x5c, 0x9e, 0x89, 0xad, 0xe4, 0xe8, 0x17, 0x1f, 0x32, 0xee, 0xb3, 0x89, 0x94, 0x3c, 0x21, 0x5e, 0x89, 0x12, 0x97, - 0xac, 0x2c, 0x93, 0x02, 0xf8, 0x34, 0xc4, 0xa7, 0x37, 0xdb, 0x77, 0xfc, 0x23, 0xac, 0x51, 0x74, 0x26, 0xe2, 0xc5, - 0x98, 0x8c, 0xd3, 0x3d, 0x73, 0xeb, 0x85, 0xad, 0x89, 0x90, 0x2c, 0x67, 0x04, 0x6d, 0x08, 0x71, 0xc8, 0x88, 0x91, - 0xcb, 0xf9, 0x64, 0xb4, 0xc4, 0xd0, 0xb7, 0xef, 0xa2, 0xd7, 0xcc, 0xfe, 0x1c, 0x03, 0x48, 0x95, 0xe7, 0x06, 0x64, - 0xe0, 0x18, 0x7b, 0xf5, 0x31, 0xd6, 0xa7, 0xe7, 0x45, 0x15, 0x0d, 0xba, 0x26, 0x87, 0x63, 0x4e, 0x90, 0x64, 0xa4, - 0x7f, 0xc5, 0xba, 0xec, 0x2c, 0x5d, 0x36, 0xaf, 0xc2, 0x3d, 0x61, 0xbe, 0x04, 0xb4, 0x28, 0x21, 0xd5, 0xcc, 0x72, - 0x45, 0x34, 0x9a, 0xd3, 0x9e, 0x79, 0xa4, 0xc9, 0x52, 0x6d, 0x97, 0x85, 0xbb, 0xec, 0xf1, 0x0b, 0xfe, 0xe1, 0x9e, - 0xe6, 0x66, 0x91, 0x41, 0xfb, 0x22, 0x67, 0xf7, 0xde, 0x15, 0xb6, 0xb5, 0x06, 0xf3, 0x13, 0x29, 0xd6, 0x22, 0x7c, - 0x35, 0xa6, 0x17, 0xa4, 0x3d, 0x7c, 0x83, 0x22, 0x1a, 0xdf, 0x67, 0x13, 0x5b, 0x86, 0xf6, 0x96, 0x7c, 0x6d, 0xa9, - 0xc9, 0x66, 0xc5, 0x1a, 0x2c, 0xb9, 0xfd, 0xf6, 0x25, 0xb5, 0x43, 0x97, 0xb9, 0x28, 0xb2, 0x49, 0x75, 0x53, 0xac, - 0x4d, 0x81, 0x2f, 0xc9, 0x56, 0x84, 0x8e, 0x40, 0x51, 0xb9, 0xcb, 0xe2, 0x70, 0xb9, 0xaa, 0xe5, 0xd4, 0x94, 0x10, - 0x69, 0xc8, 0x2a, 0xcc, 0xf4, 0x52, 0x7c, 0xbc, 0x38, 0x14, 0x21, 0xe5, 0x28, 0xa1, 0x33, 0xb5, 0x9c, 0xae, 0x6b, - 0xf5, 0xb7, 0x50, 0xe0, 0xe0, 0x4b, 0x5e, 0x43, 0x2c, 0x61, 0xa9, 0x6a, 0x0e, 0x11, 0x67, 0x9e, 0xdd, 0xd0, 0x95, - 0x87, 0xfd, 0xf7, 0x21, 0x04, 0x79, 0xb1, 0xfd, 0x94, 0xae, 0x5d, 0x9f, 0x91, 0x49, 0x20, 0x91, 0x84, 0x02, 0x80, - 0x03, 0x00, 0xae, 0x7a, 0x05, 0xab, 0x02, 0x93, 0x5e, 0xab, 0xc0, 0xc0, 0x14, 0x3c, 0x41, 0x99, 0xa1, 0x1d, 0xe0, - 0xf2, 0x47, 0xa4, 0xf4, 0xda, 0x21, 0x5b, 0x4c, 0x04, 0x34, 0x94, 0xc0, 0x31, 0xa1, 0xdd, 0x16, 0xe3, 0xe5, 0x25, - 0x0a, 0x2f, 0x89, 0xd2, 0x51, 0xdb, 0x02, 0x34, 0x90, 0x57, 0xb3, 0x2c, 0x9c, 0x96, 0x91, 0xe7, 0x6b, 0x13, 0xde, - 0xf2, 0x76, 0x5d, 0x6e, 0x3f, 0xb2, 0x35, 0x4d, 0x21, 0x1b, 0x82, 0x7d, 0xcf, 0xd6, 0x3d, 0x63, 0xa8, 0x10, 0x6f, - 0xb1, 0x1c, 0x7a, 0xe3, 0xba, 0x56, 0x1b, 0xd2, 0x87, 0x3e, 0x7a, 0x28, 0xba, 0x72, 0x37, 0x8c, 0x04, 0x5a, 0x4b, - 0x04, 0xab, 0xe1, 0x39, 0x03, 0xed, 0x26, 0x2f, 0x25, 0x47, 0x41, 0xaa, 0x02, 0x1f, 0xd2, 0xcd, 0x37, 0x2c, 0x66, - 0xb0, 0xeb, 0x36, 0x0b, 0xe4, 0x6a, 0xa0, 0xf5, 0xf1, 0x3b, 0x0d, 0x7b, 0x7d, 0x02, 0x36, 0x96, 0x2e, 0x57, 0xdb, - 0x2e, 0x8a, 0xa3, 0xe6, 0x8a, 0xe6, 0xae, 0xed, 0x14, 0xfa, 0x73, 0xf1, 0x39, 0xdc, 0x9e, 0x27, 0x8d, 0xef, 0xf3, - 0x13, 0xe1, 0x7b, 0x97, 0x35, 0xde, 0x1b, 0x0d, 0xa8, 0x3f, 0xce, 0xc4, 0x58, 0x8b, 0x1c, 0x15, 0x65, 0xe0, 0xa3, - 0x59, 0x2d, 0xee, 0xa0, 0x29, 0x32, 0xde, 0x6b, 0x04, 0x77, 0x9b, 0x5a, 0x65, 0x70, 0xaf, 0xb5, 0x01, 0x7d, 0x8f, - 0x83, 0xd4, 0xbd, 0x36, 0xda, 0xd9, 0xb9, 0x96, 0xa0, 0x16, 0x23, 0xa3, 0x95, 0x66, 0x63, 0xbb, 0x0d, 0xdd, 0xba, - 0xa5, 0x7e, 0x41, 0x9f, 0xca, 0xc9, 0x81, 0xec, 0xac, 0xae, 0x4a, 0xc5, 0xa4, 0x25, 0x78, 0x8b, 0xeb, 0x7b, 0x65, - 0x4a, 0x64, 0xe0, 0x56, 0x75, 0x99, 0x30, 0x12, 0x07, 0xb0, 0xf8, 0xc8, 0x9d, 0xf1, 0xeb, 0x07, 0xa8, 0x14, 0x1e, - 0x9f, 0x8b, 0x52, 0x78, 0xfc, 0x41, 0xf8, 0x4c, 0x7d, 0x05, 0x91, 0x9a, 0xba, 0xff, 0x32, 0x8f, 0x4a, 0xe5, 0x9b, - 0xbd, 0x6c, 0xec, 0x85, 0x79, 0x1b, 0x40, 0xbe, 0x4d, 0x33, 0x31, 0x98, 0xf9, 0x27, 0x27, 0xba, 0xdb, 0x10, 0x65, - 0x73, 0x0f, 0xd1, 0x7b, 0x45, 0x1d, 0x86, 0x8e, 0xa1, 0x43, 0x91, 0x1a, 0xb7, 0x75, 0x5c, 0x5f, 0xb2, 0x02, 0x9e, - 0xf4, 0xdf, 0x79, 0x7c, 0x52, 0x75, 0xfb, 0x0d, 0x4b, 0x9c, 0x49, 0xa4, 0x92, 0x8a, 0x4d, 0x27, 0xee, 0x2a, 0x35, - 0x59, 0xee, 0xbd, 0xed, 0x90, 0xa0, 0x2d, 0x32, 0xc8, 0x54, 0xef, 0x57, 0x24, 0xce, 0xa1, 0x66, 0x94, 0xa6, 0x82, - 0xa9, 0xac, 0xb2, 0xf2, 0x64, 0xde, 0x9c, 0x7f, 0xc4, 0xa7, 0x34, 0x1e, 0xf0, 0x31, 0x2c, 0x66, 0x23, 0xff, 0x7e, - 0xc4, 0xe8, 0xe8, 0xa6, 0x36, 0xac, 0x52, 0x26, 0x98, 0x56, 0x28, 0xe1, 0x63, 0x05, 0xc1, 0x09, 0x7e, 0x10, 0x4c, - 0x8e, 0x9c, 0x94, 0xac, 0x3c, 0x7e, 0xb3, 0xde, 0x62, 0xf8, 0x38, 0x33, 0xb1, 0xf1, 0x55, 0x9d, 0x69, 0x71, 0x87, - 0xee, 0xae, 0xf0, 0x72, 0xac, 0x4a, 0x86, 0x0b, 0xb2, 0x89, 0xb1, 0x8e, 0xc2, 0x67, 0x24, 0x29, 0x39, 0x91, 0xa7, - 0x74, 0x64, 0x32, 0x13, 0x38, 0x05, 0x67, 0x61, 0xfc, 0xa0, 0x36, 0xae, 0xa4, 0x6f, 0xa1, 0xa7, 0x45, 0xba, 0x3d, - 0x23, 0x0f, 0x76, 0x55, 0xef, 0x51, 0x16, 0x44, 0x19, 0x69, 0x30, 0x42, 0xda, 0xb2, 0xc4, 0xb8, 0x26, 0x62, 0x93, - 0x51, 0x18, 0x65, 0x5a, 0x6b, 0x2d, 0xbb, 0x16, 0x7f, 0x37, 0x54, 0x33, 0x4d, 0xbd, 0x5a, 0x9c, 0xfc, 0xc4, 0x24, - 0xad, 0x19, 0x2e, 0x5b, 0x7c, 0x78, 0xa1, 0xf6, 0xa8, 0x54, 0x07, 0x62, 0x6f, 0x67, 0x14, 0x4a, 0xb7, 0xef, 0x69, - 0x88, 0xa7, 0x46, 0xe7, 0xa5, 0xd3, 0x79, 0x75, 0xaa, 0xba, 0x6f, 0x4c, 0xd4, 0xb6, 0xfb, 0x66, 0x9c, 0xe2, 0x19, - 0xd0, 0x7c, 0x62, 0x04, 0x1d, 0xfa, 0x4f, 0x85, 0x06, 0x61, 0xd1, 0x30, 0xf3, 0xd9, 0x03, 0x18, 0xe9, 0xa6, 0x4c, - 0x6b, 0x46, 0x82, 0x7b, 0x8f, 0x60, 0xe0, 0x31, 0x69, 0x1e, 0xd9, 0x98, 0x4e, 0x18, 0x86, 0xa8, 0xa2, 0x93, 0xb3, - 0xec, 0x73, 0xf3, 0xfb, 0x3d, 0xea, 0xba, 0xdd, 0xb0, 0xa9, 0xe5, 0xbc, 0x87, 0xd3, 0xfb, 0xbf, 0xb9, 0xe8, 0xa4, - 0xbf, 0x9c, 0x5d, 0x5b, 0xe8, 0xc2, 0xe2, 0x7d, 0x1d, 0xf6, 0xbf, 0x91, 0xf9, 0xc8, 0x53, 0xa5, 0x77, 0x18, 0x03, - 0x19, 0x3a, 0xb3, 0x26, 0xca, 0x2f, 0x0c, 0xed, 0x28, 0x24, 0xd9, 0x89, 0xdd, 0x54, 0x4d, 0x90, 0x80, 0x48, 0x8c, - 0xa9, 0xef, 0x1c, 0x0c, 0xb4, 0x53, 0x9d, 0xc5, 0xa4, 0x2d, 0x5f, 0x81, 0x72, 0x5a, 0x06, 0x2c, 0x2f, 0x55, 0x78, - 0x76, 0x1d, 0xd4, 0xd4, 0xc7, 0x09, 0xc5, 0x56, 0x70, 0x3d, 0x64, 0x90, 0xaa, 0x12, 0x42, 0xa7, 0x29, 0x02, 0xbb, - 0x38, 0x36, 0xf1, 0xc7, 0x86, 0xf1, 0x03, 0xac, 0x81, 0xa6, 0xb5, 0xd8, 0xc2, 0x41, 0x52, 0xcc, 0xfc, 0x2d, 0x4d, - 0x8f, 0xab, 0xf4, 0xca, 0x3b, 0x05, 0xd6, 0x26, 0x98, 0xb2, 0x25, 0xb7, 0x6e, 0x2d, 0x42, 0x21, 0x8c, 0x59, 0xd7, - 0x90, 0xca, 0x3b, 0x24, 0x7f, 0x46, 0x16, 0xf0, 0x76, 0xbf, 0x54, 0x48, 0x3d, 0x2b, 0xcc, 0xae, 0x13, 0x74, 0x52, - 0x10, 0x47, 0xba, 0x44, 0xfc, 0xff, 0xca, 0x84, 0x10, 0x7c, 0xda, 0xf0, 0x6d, 0x09, 0x4d, 0x52, 0x9c, 0x5d, 0xb9, - 0x0b, 0x78, 0xec, 0x7a, 0xfd, 0x2c, 0x59, 0xa3, 0xef, 0xf0, 0xd9, 0x20, 0x16, 0xd8, 0x88, 0x9e, 0x9a, 0xd4, 0xb0, - 0xfa, 0xea, 0x95, 0xdd, 0xee, 0x11, 0xf5, 0x8d, 0x62, 0x0a, 0x15, 0xce, 0x7e, 0xf6, 0x94, 0x38, 0xed, 0x4d, 0xd3, - 0x5a, 0x92, 0xf2, 0xbf, 0xe4, 0x8e, 0x20, 0xf1, 0xaf, 0x37, 0x04, 0x05, 0x3c, 0x1b, 0x9e, 0x1a, 0x92, 0xfb, 0xfd, - 0x5b, 0x15, 0xaa, 0xbd, 0x0e, 0x66, 0x82, 0x2e, 0xbc, 0x07, 0x09, 0x8e, 0xfc, 0x20, 0xcb, 0xc6, 0x2f, 0x0a, 0x4b, - 0xdf, 0x98, 0x3b, 0xc4, 0x9e, 0x38, 0xd3, 0x93, 0xe6, 0x51, 0x7e, 0x58, 0xc1, 0x24, 0xdd, 0x21, 0x83, 0x7c, 0x7e, - 0x81, 0xb1, 0x77, 0x84, 0x95, 0x53, 0xb7, 0x7d, 0x79, 0x07, 0xb1, 0xac, 0x74, 0xc9, 0xbd, 0xd4, 0x9a, 0x12, 0x46, - 0x6d, 0x38, 0xcb, 0xab, 0x56, 0xf4, 0xe5, 0x76, 0xb6, 0xd1, 0x27, 0x2a, 0x20, 0x56, 0xdf, 0x33, 0x39, 0x2d, 0x91, - 0x61, 0xff, 0xb4, 0x5e, 0x4d, 0x9e, 0x0e, 0x43, 0x5d, 0x6b, 0x87, 0x54, 0xdb, 0xf5, 0x4e, 0x05, 0x0a, 0x8c, 0x2d, - 0xbd, 0xa5, 0x67, 0xe9, 0x70, 0xcc, 0x35, 0x78, 0xb1, 0x8c, 0xe0, 0x79, 0xea, 0x07, 0x78, 0x5f, 0x2d, 0x8f, 0x25, - 0xee, 0x1d, 0xdd, 0xf8, 0x02, 0x3a, 0x98, 0xce, 0x02, 0x0f, 0xbf, 0x1d, 0xb0, 0x4a, 0x36, 0x26, 0x73, 0xaf, 0x89, - 0x60, 0x40, 0x29, 0xfa, 0x60, 0xdf, 0x8d, 0x55, 0x4a, 0x34, 0x41, 0x3f, 0xb2, 0xd8, 0xa2, 0x5b, 0xdf, 0x56, 0x44, - 0x3c, 0xe3, 0x72, 0x54, 0x43, 0xfc, 0x29, 0x67, 0x2f, 0xb1, 0x4c, 0x18, 0xc9, 0xc2, 0xa0, 0x91, 0xbd, 0xe0, 0x23, - 0x4a, 0xcf, 0x0f, 0x2d, 0xed, 0xbe, 0x5d, 0x0f, 0x3f, 0x12, 0xc1, 0x5a, 0x1d, 0x84, 0x03, 0x15, 0x8a, 0xec, 0xd9, - 0xca, 0xcd, 0xc1, 0x0d, 0x19, 0x01, 0x28, 0x57, 0x40, 0x36, 0x16, 0xfc, 0xee, 0x86, 0xb0, 0xb8, 0x95, 0x8c, 0xcb, - 0xc4, 0x3e, 0x6f, 0x66, 0x22, 0x3d, 0x27, 0x57, 0x11, 0xe0, 0xe6, 0xa0, 0x99, 0x34, 0x8f, 0x2d, 0xb7, 0xa8, 0xb8, - 0x02, 0x6a, 0x42, 0x6d, 0xd1, 0x44, 0x54, 0x08, 0xd0, 0xeb, 0x69, 0x1f, 0x11, 0xb1, 0x4e, 0xc6, 0xc0, 0xb6, 0x2d, - 0x99, 0x54, 0x2a, 0xe3, 0x7a, 0xa7, 0x38, 0xdc, 0xb5, 0xdd, 0xfd, 0xdf, 0x64, 0x66, 0xcf, 0x60, 0x19, 0x5a, 0xac, - 0x65, 0x77, 0x7f, 0x14, 0xfb, 0xe3, 0x80, 0x06, 0x32, 0x3f, 0xd4, 0x41, 0xf2, 0xd7, 0x3a, 0x43, 0x5c, 0x4a, 0x41, - 0xf9, 0x10, 0x57, 0xb2, 0xc8, 0x05, 0xe9, 0x4e, 0xba, 0xca, 0x73, 0x99, 0x93, 0x7b, 0x40, 0x50, 0x1f, 0x08, 0x85, - 0x2c, 0x37, 0x90, 0xc6, 0x1b, 0x9c, 0x38, 0x6f, 0xe2, 0x91, 0x84, 0xb6, 0x9e, 0x49, 0x64, 0xb2, 0x68, 0xc7, 0x32, - 0xf0, 0xc9, 0xaf, 0xdd, 0x4f, 0x3e, 0xc6, 0x66, 0xe3, 0x40, 0x9b, 0xe5, 0xc9, 0x32, 0xcc, 0xaa, 0xad, 0x2a, 0x4e, - 0x58, 0x32, 0x99, 0x26, 0xbc, 0xfe, 0x2b, 0xac, 0xdc, 0x1a, 0xbe, 0x82, 0x0f, 0x66, 0xb6, 0x84, 0x4b, 0x9b, 0x6f, - 0x91, 0xa2, 0xc3, 0x30, 0xdd, 0xe4, 0xf8, 0x18, 0x13, 0xd3, 0xc5, 0x66, 0xc5, 0x30, 0x1a, 0x14, 0x89, 0xb7, 0x9b, - 0xaf, 0xf6, 0xef, 0x13, 0x38, 0x58, 0x2d, 0xc8, 0xd6, 0xee, 0xaf, 0xc1, 0x65, 0x0f, 0x59, 0x49, 0xd5, 0x98, 0x20, - 0xb4, 0x42, 0x1a, 0x43, 0xd4, 0x25, 0xfe, 0x55, 0x5f, 0x1e, 0xd2, 0xf5, 0xd7, 0x32, 0xa3, 0xf8, 0x5e, 0xfe, 0x5e, - 0xf8, 0x8e, 0x7f, 0x60, 0x2a, 0x69, 0xf3, 0x1c, 0xe1, 0xeb, 0xa0, 0x4b, 0x83, 0x84, 0xa8, 0x89, 0x7c, 0x5b, 0x32, - 0x40, 0xcc, 0x7a, 0x88, 0x01, 0xdc, 0x65, 0x75, 0xab, 0x24, 0x21, 0x63, 0xc1, 0x30, 0xd8, 0x16, 0x2b, 0xf3, 0x78, - 0x46, 0xea, 0x1d, 0xc6, 0x22, 0x71, 0x3e, 0x0f, 0x16, 0xec, 0xd4, 0x75, 0x26, 0xa6, 0x8b, 0xff, 0x98, 0x60, 0x81, - 0x25, 0x18, 0x6b, 0x2d, 0xfc, 0x74, 0x55, 0xc0, 0x9d, 0xe1, 0x43, 0x88, 0x02, 0xb7, 0xc9, 0x13, 0x3f, 0xd3, 0x3d, - 0xc5, 0x2e, 0x38, 0x95, 0x7a, 0x45, 0xd6, 0x9f, 0x03, 0xad, 0x5a, 0x73, 0xa9, 0xce, 0xee, 0x5c, 0x0e, 0xc2, 0x54, - 0x8b, 0xc2, 0x84, 0xd7, 0x51, 0xe2, 0xab, 0x6a, 0x39, 0x4d, 0x18, 0x5a, 0xbf, 0x0a, 0xf5, 0x27, 0xb9, 0xa8, 0x28, - 0xe1, 0xc4, 0x4d, 0xd2, 0x4d, 0x05, 0x07, 0xd4, 0xef, 0xed, 0xda, 0x84, 0xb7, 0x5e, 0xf0, 0x1c, 0x58, 0x50, 0xe8, - 0x39, 0x62, 0xf0, 0x8c, 0x91, 0xc1, 0xeb, 0xb2, 0x41, 0x07, 0xbd, 0x4c, 0x7f, 0xdb, 0x7e, 0xa9, 0xb5, 0xe7, 0xbb, - 0x59, 0xe4, 0x1c, 0xe4, 0xd9, 0xaf, 0xa6, 0xef, 0xef, 0x39, 0x13, 0xe3, 0xa2, 0x79, 0xd1, 0xd3, 0xe0, 0xb4, 0xdc, - 0xa0, 0xd9, 0x43, 0xd0, 0x31, 0xc3, 0xf6, 0x33, 0x2d, 0x2f, 0xc6, 0xf4, 0x9d, 0x38, 0xa6, 0x3d, 0xec, 0xfa, 0x99, - 0xb9, 0xa7, 0x17, 0x14, 0x68, 0xef, 0x89, 0xb7, 0x9d, 0xde, 0xe9, 0xea, 0xf3, 0xe5, 0x9a, 0x44, 0xdf, 0xac, 0xcb, - 0x75, 0x0b, 0xd0, 0xf5, 0x32, 0x16, 0x8d, 0x56, 0x65, 0x9f, 0x2b, 0xcf, 0xee, 0xf9, 0xbe, 0x30, 0xfd, 0x2d, 0xdc, - 0x4e, 0x86, 0x4c, 0xd2, 0x52, 0xb5, 0x52, 0x45, 0x93, 0x2e, 0x90, 0x58, 0x33, 0x49, 0xcb, 0x35, 0x1a, 0xcc, 0xf7, - 0xdd, 0xe5, 0xca, 0xf2, 0x27, 0x16, 0xa2, 0x52, 0x2f, 0xdf, 0x12, 0xa9, 0xcf, 0x06, 0x8b, 0x54, 0x84, 0x25, 0xca, - 0x8d, 0x67, 0x00, 0xab, 0x5d, 0x01, 0xd4, 0x9c, 0xa2, 0x97, 0x4b, 0x45, 0xc0, 0xc4, 0xe9, 0xa7, 0xfb, 0xcd, 0x14, - 0x86, 0xeb, 0xab, 0xb3, 0xf2, 0xda, 0x2f, 0x1a, 0xb9, 0xc4, 0x9f, 0x4f, 0x1f, 0x0a, 0x41, 0xa3, 0xee, 0x8a, 0xdf, - 0x5c, 0x48, 0x00, 0xe4, 0x10, 0xaf, 0xd5, 0x40, 0xba, 0x79, 0x4b, 0xba, 0x4e, 0x64, 0x5d, 0xbc, 0x4b, 0x05, 0x5c, - 0x59, 0xef, 0x80, 0x6e, 0x21, 0xdd, 0x6a, 0x89, 0x83, 0x84, 0x6e, 0xf8, 0x50, 0x70, 0x02, 0x25, 0xd8, 0xc9, 0x04, - 0x99, 0xbc, 0x53, 0xde, 0x12, 0x5e, 0x4d, 0x4c, 0x51, 0x10, 0xc9, 0xbd, 0x97, 0x68, 0xb7, 0x28, 0x79, 0x6b, 0xb0, - 0x09, 0xb1, 0xdb, 0x91, 0xc7, 0x7e, 0x72, 0xe4, 0xf5, 0xd2, 0xe6, 0x62, 0xa3, 0x32, 0x75, 0xf2, 0x92, 0xd2, 0x00, - 0xdb, 0x5b, 0x0a, 0x68, 0xe1, 0x2a, 0xa6, 0xba, 0x9c, 0xe6, 0x84, 0x16, 0xd3, 0x80, 0x33, 0x94, 0x1c, 0xfd, 0x4f, - 0x24, 0x1d, 0x6c, 0x1d, 0x7e, 0x72, 0xd1, 0x83, 0x17, 0xac, 0x35, 0xcd, 0x4a, 0x68, 0xb5, 0x27, 0xd8, 0x82, 0xe6, - 0x55, 0xf2, 0xa9, 0x51, 0x00, 0x9b, 0x17, 0x20, 0xab, 0x9f, 0x3e, 0xee, 0xc5, 0x23, 0xe7, 0xa7, 0x1c, 0xdc, 0x9e, - 0xea, 0x5b, 0x2f, 0x2c, 0x3b, 0xcd, 0x4a, 0x8a, 0x28, 0xc2, 0x93, 0xed, 0x85, 0xf8, 0xee, 0xcb, 0x48, 0x2e, 0x2e, - 0x13, 0x30, 0x43, 0x02, 0x22, 0xd8, 0xf7, 0xe4, 0x03, 0xdc, 0xa9, 0x81, 0x30, 0xad, 0xdf, 0x79, 0x10, 0x34, 0xad, - 0x33, 0x07, 0xc4, 0x4c, 0xc3, 0xec, 0xd2, 0x18, 0x70, 0xc3, 0xfb, 0xd7, 0x38, 0x77, 0x83, 0x7f, 0xac, 0xcc, 0x8a, - 0x66, 0xd3, 0xc0, 0xa6, 0x75, 0x43, 0x36, 0xc4, 0x85, 0x55, 0x8a, 0xc6, 0x55, 0xc6, 0x42, 0xd1, 0xe8, 0xd9, 0xab, - 0xcc, 0x52, 0xd9, 0x3f, 0x37, 0xad, 0x3f, 0xf6, 0x36, 0xb5, 0x25, 0x31, 0x6b, 0x29, 0x89, 0x86, 0xab, 0xcc, 0xcc, - 0xb1, 0x02, 0x10, 0x99, 0xe9, 0x43, 0x12, 0xd4, 0xe0, 0xeb, 0xf0, 0x85, 0x15, 0x53, 0xe5, 0x25, 0xbb, 0x1f, 0x32, - 0xfe, 0xf2, 0xd0, 0x41, 0xd1, 0x3b, 0x58, 0x85, 0x6f, 0x19, 0xf5, 0x9e, 0x06, 0x5d, 0xbf, 0xb4, 0x5a, 0x51, 0x97, - 0x9a, 0xe5, 0xe9, 0x67, 0xfc, 0x7e, 0x20, 0x9e, 0xc0, 0xfe, 0x54, 0x9c, 0xb1, 0x7d, 0x94, 0x7b, 0xc9, 0xe0, 0x9e, - 0xf4, 0x49, 0xea, 0x27, 0x34, 0x3a, 0x0a, 0xe7, 0x6d, 0xdd, 0xb7, 0x42, 0x5f, 0xb6, 0x27, 0x36, 0x8e, 0xa4, 0xee, - 0x52, 0xf2, 0x81, 0xb4, 0x75, 0xd0, 0x7d, 0x41, 0x90, 0xf0, 0x2b, 0xcb, 0x29, 0x05, 0x02, 0x13, 0x2e, 0x11, 0x47, - 0x08, 0xbc, 0x2e, 0xdd, 0x58, 0x40, 0x95, 0xe8, 0x03, 0xbb, 0xa5, 0x0d, 0xc1, 0xef, 0x40, 0xf8, 0xc5, 0x4e, 0x68, - 0x26, 0x57, 0x85, 0x9a, 0x99, 0x2a, 0x7b, 0x84, 0x36, 0x41, 0xcb, 0x89, 0xf4, 0xa4, 0x27, 0x0d, 0x26, 0xd0, 0x68, - 0xea, 0x95, 0x4f, 0x87, 0x60, 0xe8, 0x6a, 0x57, 0x5a, 0x1c, 0x58, 0x41, 0xc9, 0x40, 0xc3, 0x7a, 0x75, 0x29, 0x9d, - 0x16, 0x18, 0x03, 0x84, 0xe7, 0x5e, 0x5e, 0x36, 0x47, 0x2c, 0x7f, 0x77, 0x4b, 0x96, 0x1b, 0x1c, 0xf8, 0xd6, 0xc9, - 0xad, 0xe6, 0x92, 0x91, 0x9e, 0x9b, 0xbe, 0xed, 0xac, 0x9d, 0x28, 0x28, 0xab, 0xcd, 0x05, 0x0f, 0x01, 0x6a, 0x9a, - 0x7d, 0xd8, 0x62, 0x0b, 0x02, 0xce, 0x7a, 0x11, 0x12, 0xe4, 0x6d, 0x02, 0xbe, 0x7c, 0x3f, 0xc7, 0xde, 0x13, 0x51, - 0xb9, 0xac, 0xec, 0xc9, 0xe7, 0xb7, 0x8b, 0xaa, 0xbb, 0x25, 0x78, 0x56, 0x20, 0xdc, 0xf9, 0xc3, 0x38, 0xef, 0xeb, - 0xba, 0x57, 0x00, 0x58, 0x91, 0xf0, 0x49, 0x21, 0x07, 0x04, 0xa3, 0x99, 0x5e, 0xd5, 0xfd, 0x6d, 0xce, 0xa8, 0x29, - 0x9e, 0x22, 0x9c, 0x1c, 0x10, 0x7c, 0x67, 0x3a, 0x51, 0x9b, 0x95, 0xd6, 0x6a, 0x47, 0x64, 0x08, 0xa5, 0x6b, 0x8e, - 0xbb, 0x72, 0x03, 0x94, 0xbb, 0x48, 0x60, 0x86, 0x57, 0xb9, 0x2f, 0xc4, 0x87, 0x34, 0xbb, 0x6c, 0x19, 0xbc, 0x20, - 0x4f, 0xbb, 0x8a, 0xe5, 0x2e, 0x93, 0x71, 0x5d, 0x0b, 0x5b, 0xcc, 0x90, 0x43, 0xe6, 0x7e, 0xc6, 0x29, 0x6c, 0xb6, - 0x69, 0x9f, 0x27, 0x46, 0x6e, 0x69, 0xc3, 0x98, 0x08, 0x06, 0x2e, 0xb4, 0x26, 0xf2, 0x45, 0xbb, 0xb6, 0xdd, 0x9c, - 0xa1, 0xbc, 0xfa, 0xc9, 0xe0, 0xc1, 0x37, 0xff, 0xea, 0x8b, 0x27, 0xb3, 0xc7, 0x7d, 0x2e, 0x1e, 0x9f, 0x79, 0xff, - 0x74, 0x3f, 0xef, 0x65, 0xbb, 0xc0, 0xf5, 0x4e, 0x5e, 0x53, 0xe0, 0x74, 0x28, 0x25, 0x71, 0xd2, 0x01, 0x14, 0xc1, - 0x6d, 0x3b, 0x96, 0x87, 0x88, 0x75, 0xa2, 0xa0, 0x0b, 0x55, 0xce, 0x34, 0x33, 0x8e, 0xf3, 0xe5, 0x95, 0xb4, 0x35, - 0xb8, 0xfd, 0x3c, 0xa4, 0x1a, 0x08, 0xbe, 0xd0, 0x85, 0x09, 0x0d, 0x26, 0x23, 0x6e, 0x6b, 0xda, 0x12, 0x8b, 0x25, - 0x2e, 0x10, 0x39, 0x43, 0x01, 0xc8, 0x21, 0xd3, 0x05, 0xa5, 0xfb, 0x64, 0x32, 0x3c, 0x52, 0xde, 0x88, 0xcc, 0xc8, - 0x70, 0x40, 0xb2, 0x63, 0x7d, 0xe7, 0x6a, 0x26, 0xc2, 0x24, 0xec, 0x22, 0x3c, 0xfd, 0x4b, 0x96, 0xa4, 0x7c, 0xcc, - 0xd3, 0x7e, 0xae, 0x98, 0x80, 0x79, 0x45, 0xe9, 0x25, 0x45, 0xe9, 0x42, 0x0d, 0x7d, 0xcb, 0xb1, 0x38, 0xa7, 0x01, - 0x43, 0x61, 0xaa, 0x84, 0x51, 0x16, 0xd3, 0x66, 0x22, 0x0b, 0x68, 0xc1, 0x39, 0x0a, 0x96, 0x2b, 0x02, 0x8f, 0x2a, - 0xb9, 0x2e, 0xe5, 0x37, 0x11, 0x15, 0x5a, 0x8e, 0x1d, 0x70, 0xc3, 0xba, 0x63, 0x90, 0x95, 0x09, 0x4c, 0xbe, 0xad, - 0x4a, 0x32, 0x2f, 0x39, 0x62, 0x11, 0xde, 0x2f, 0xe7, 0xdb, 0x6e, 0xd7, 0x38, 0x80, 0xbb, 0x76, 0x48, 0x15, 0x56, - 0x31, 0x28, 0x10, 0x26, 0x8a, 0x17, 0xa5, 0xf1, 0x07, 0x09, 0xb6, 0x3a, 0x46, 0xb4, 0xb1, 0xf4, 0xa3, 0x95, 0xb8, - 0x29, 0x47, 0xf4, 0xb2, 0x46, 0x2b, 0x45, 0xbd, 0xcb, 0x0a, 0x18, 0x6d, 0x91, 0x49, 0x48, 0x80, 0xf3, 0xd5, 0xb9, - 0x9a, 0x5f, 0x1f, 0x3a, 0x6a, 0xdb, 0x00, 0x59, 0x2a, 0x15, 0xa7, 0x68, 0x31, 0x58, 0x46, 0x82, 0x71, 0x5b, 0xb3, - 0x0a, 0x1c, 0xbf, 0x67, 0xf2, 0x00, 0xfa, 0x2d, 0xda, 0xe5, 0xae, 0x6a, 0x20, 0x7c, 0x94, 0x11, 0x5d, 0xb0, 0xcb, - 0x40, 0xde, 0x84, 0xd4, 0x1b, 0xb4, 0x60, 0x9b, 0xb6, 0x5b, 0xeb, 0xb9, 0xa8, 0x0f, 0x7d, 0x01, 0x9b, 0x74, 0x59, - 0x51, 0xa3, 0xb5, 0xa1, 0x86, 0xc3, 0xd5, 0x86, 0x23, 0xbb, 0x41, 0x4f, 0x13, 0x3a, 0x20, 0xf5, 0xb5, 0x9f, 0xde, - 0xae, 0x2c, 0x00, 0xfe, 0x81, 0xba, 0x48, 0xf4, 0xfb, 0x32, 0xbe, 0x81, 0x06, 0x41, 0x19, 0x40, 0xb0, 0x93, 0xae, - 0xad, 0xf4, 0x1c, 0x0c, 0xc2, 0x9a, 0x51, 0x0b, 0x6f, 0xca, 0x8f, 0x29, 0xc8, 0x10, 0x4e, 0x49, 0x6c, 0xf0, 0xa6, - 0xdb, 0xc3, 0xc2, 0x3e, 0xdc, 0xe1, 0xac, 0x36, 0xa5, 0x3f, 0x21, 0x9a, 0x4c, 0x74, 0x00, 0x76, 0x57, 0x4d, 0x6c, - 0x7c, 0xd8, 0x0f, 0x2b, 0x72, 0x42, 0x75, 0xa8, 0xe8, 0x13, 0x65, 0x62, 0x9b, 0x5f, 0x76, 0x24, 0x79, 0xa1, 0xb4, - 0xc4, 0x17, 0x06, 0xfb, 0xa6, 0x8b, 0xb1, 0x50, 0x71, 0x80, 0xc4, 0x1c, 0x32, 0xa6, 0x3b, 0x6e, 0x11, 0x07, 0xd3, - 0x66, 0xa0, 0xec, 0x6f, 0xd6, 0xdb, 0x81, 0xad, 0x01, 0x28, 0x73, 0xcb, 0x4f, 0xfa, 0x5b, 0x14, 0x47, 0xb0, 0xa8, - 0x5f, 0x47, 0xa0, 0x25, 0xd7, 0xb5, 0x4f, 0xe2, 0x2c, 0x67, 0xe9, 0x91, 0x1b, 0x2e, 0xfa, 0x7d, 0x55, 0x24, 0x13, - 0xa2, 0xe9, 0x50, 0xc7, 0x56, 0x7c, 0xac, 0xa3, 0xd8, 0x2a, 0xdc, 0x80, 0xdf, 0x49, 0x43, 0xc4, 0x08, 0x19, 0xe3, - 0xb4, 0x24, 0xd0, 0xa9, 0xe5, 0x3c, 0x6d, 0x04, 0x6a, 0x6b, 0x52, 0xe6, 0x9e, 0xed, 0x4f, 0xa4, 0x83, 0x92, 0x3c, - 0xb2, 0x02, 0x68, 0xff, 0x56, 0x1f, 0x7d, 0x69, 0xa5, 0x20, 0x48, 0xb3, 0x24, 0x32, 0x38, 0xa3, 0xe3, 0x1c, 0x37, - 0x5e, 0x48, 0x90, 0x2c, 0x1e, 0x4e, 0x42, 0x9f, 0xb4, 0x59, 0x6b, 0xf0, 0xa4, 0xbc, 0x28, 0x37, 0x2e, 0x00, 0x75, - 0x7a, 0xc8, 0x16, 0x0d, 0x73, 0x16, 0xc8, 0x4e, 0xbc, 0x87, 0x18, 0x1e, 0xea, 0x52, 0x69, 0x01, 0x73, 0x7a, 0x86, - 0xa4, 0xb9, 0x2c, 0xb2, 0x1a, 0x17, 0x04, 0xfd, 0x66, 0xf2, 0x23, 0xf4, 0x39, 0x26, 0x4e, 0x97, 0xa7, 0x31, 0x55, - 0x23, 0x71, 0x7a, 0x36, 0xcf, 0xc0, 0x3a, 0x62, 0x8f, 0xec, 0x42, 0x2b, 0x86, 0xe8, 0x57, 0x71, 0x29, 0xe1, 0x30, - 0xcb, 0x0b, 0x41, 0x47, 0xf9, 0xc5, 0xc8, 0xd9, 0x8c, 0x09, 0x2e, 0x7d, 0xe2, 0x86, 0x1f, 0x4a, 0xa9, 0xa1, 0x80, - 0xcd, 0x10, 0x82, 0xf4, 0x57, 0x12, 0x7d, 0xb0, 0xd6, 0xc0, 0xf3, 0x9e, 0x2e, 0x26, 0xdc, 0x6b, 0xc2, 0x8c, 0x87, - 0x48, 0x4d, 0x28, 0x74, 0x22, 0x3a, 0x00, 0x43, 0x58, 0x76, 0xd3, 0xad, 0x25, 0xef, 0xc5, 0x3a, 0x0d, 0x9a, 0x83, - 0xa7, 0x0c, 0xc6, 0x1b, 0xb9, 0x1c, 0x47, 0x8c, 0xd8, 0xd7, 0x3d, 0x21, 0x7b, 0x2f, 0x46, 0x10, 0x21, 0x5f, 0x1c, - 0x90, 0x31, 0x45, 0x3b, 0xd5, 0xb4, 0xa4, 0x6b, 0xf6, 0xd9, 0x22, 0xf4, 0xcd, 0xed, 0x71, 0x46, 0x64, 0x4a, 0xaa, - 0x2f, 0x4c, 0x10, 0x11, 0x7a, 0x3a, 0x48, 0xc1, 0x9c, 0xdd, 0x07, 0xaf, 0x28, 0x02, 0x01, 0xd6, 0xdb, 0x6a, 0x78, - 0x52, 0x9d, 0x4f, 0x81, 0xed, 0xba, 0x90, 0x4e, 0xb3, 0x34, 0x0a, 0xb1, 0xe1, 0x3e, 0x56, 0x37, 0x49, 0x0d, 0x63, - 0xba, 0xa8, 0x7c, 0xc0, 0x1f, 0xd4, 0x47, 0xdc, 0xa2, 0xbf, 0x8a, 0xc7, 0x19, 0xf6, 0x92, 0x86, 0x6e, 0x12, 0xdb, - 0x84, 0xa8, 0xaa, 0xc6, 0xba, 0xe6, 0x66, 0xf4, 0xb8, 0x22, 0x03, 0xd7, 0x48, 0xfd, 0x06, 0xad, 0x83, 0x4a, 0x0b, - 0xeb, 0x59, 0x7c, 0x0a, 0xf2, 0xdc, 0x1a, 0x5b, 0xee, 0x4f, 0x90, 0xc4, 0x8b, 0xd1, 0x69, 0x46, 0x7b, 0x86, 0x97, - 0x19, 0x0e, 0x01, 0xf6, 0x9d, 0xe3, 0xdd, 0xae, 0xdd, 0x6f, 0x49, 0xc6, 0x4e, 0xc2, 0x9f, 0x6d, 0x5d, 0x92, 0x34, - 0x06, 0xd4, 0x94, 0x7f, 0x57, 0x3f, 0xe4, 0xb1, 0x17, 0x50, 0x71, 0x1f, 0x23, 0x5d, 0x2f, 0x34, 0x9f, 0xbe, 0x44, - 0x3b, 0xad, 0xdc, 0x3a, 0xbc, 0x45, 0x26, 0xee, 0x3e, 0xc2, 0x00, 0x73, 0x21, 0x77, 0x47, 0xa0, 0xee, 0xad, 0x5f, - 0x10, 0x6f, 0x8a, 0xba, 0xc2, 0x54, 0x4a, 0xb6, 0x1a, 0xbc, 0x96, 0x98, 0x85, 0x9a, 0xcb, 0x95, 0x46, 0xd8, 0xca, - 0x11, 0xa8, 0x83, 0x8e, 0xa4, 0xad, 0xf5, 0xda, 0xc6, 0xac, 0xf2, 0x54, 0x6e, 0x26, 0x0b, 0xfa, 0x1c, 0x49, 0x99, - 0x33, 0x87, 0xce, 0x8a, 0x42, 0x57, 0x25, 0x61, 0xa9, 0xe5, 0xd6, 0xeb, 0xb3, 0x8e, 0x5f, 0xbc, 0xb7, 0x03, 0x88, - 0x05, 0x7b, 0x56, 0x3b, 0x19, 0x1c, 0x76, 0x5b, 0x5c, 0x56, 0xb9, 0xda, 0xa6, 0x44, 0x59, 0x42, 0x60, 0x2e, 0x59, - 0x7d, 0x0d, 0xd0, 0x53, 0x14, 0x45, 0x1a, 0x74, 0xd5, 0x75, 0x41, 0x42, 0xb8, 0x52, 0xf1, 0x77, 0x17, 0x66, 0xe4, - 0x08, 0x97, 0x88, 0xdc, 0x41, 0x57, 0x4a, 0x7e, 0x3c, 0x21, 0x3d, 0x9d, 0x10, 0x09, 0xbd, 0xbc, 0x31, 0x78, 0x97, - 0x83, 0xc7, 0xfe, 0x2e, 0xe4, 0x0a, 0x1f, 0x12, 0x6c, 0x39, 0x0c, 0xa5, 0xdc, 0x14, 0xe1, 0xbe, 0x2f, 0xd0, 0x49, - 0xb9, 0x8a, 0xe0, 0x20, 0xb5, 0x23, 0x9f, 0xab, 0x23, 0x7f, 0x66, 0x73, 0x0a, 0x97, 0xe6, 0x64, 0xd7, 0x28, 0x42, - 0x99, 0x62, 0xef, 0x79, 0x62, 0x60, 0x4a, 0x12, 0x3e, 0xbb, 0x4e, 0x64, 0xad, 0x75, 0x7f, 0xa7, 0x3d, 0x88, 0x17, - 0x4d, 0xa4, 0xfc, 0x20, 0x36, 0x1f, 0x68, 0x71, 0x5d, 0x5e, 0x63, 0xeb, 0x8e, 0x62, 0x06, 0xa0, 0xb9, 0xc9, 0xba, - 0xad, 0x32, 0xb9, 0xc1, 0x2a, 0x20, 0x4f, 0x67, 0xa1, 0xf1, 0x2c, 0xcd, 0x60, 0x9e, 0x9f, 0x38, 0x2b, 0x46, 0x2a, - 0x04, 0x8a, 0xd2, 0x52, 0x9b, 0xd5, 0x49, 0x5c, 0xc9, 0x8e, 0x3d, 0x6e, 0xd9, 0x42, 0x27, 0x20, 0xd5, 0xe3, 0x04, - 0xb4, 0x0d, 0xde, 0x51, 0x4a, 0x76, 0x67, 0x19, 0x07, 0xdb, 0x85, 0x7f, 0x07, 0x66, 0x1d, 0xea, 0xab, 0x08, 0x2a, - 0xd2, 0x26, 0xb6, 0x6a, 0x4a, 0x91, 0x74, 0x42, 0xeb, 0x62, 0x0b, 0x8a, 0xe2, 0x6a, 0x8f, 0xf8, 0xaa, 0x95, 0xe1, - 0xce, 0xec, 0xb6, 0xc8, 0xe6, 0x0c, 0xf7, 0x64, 0xe0, 0x8c, 0x2d, 0xa1, 0xcd, 0xac, 0x25, 0xf6, 0x71, 0x4f, 0x37, - 0xe9, 0xef, 0xb6, 0x92, 0x66, 0xd0, 0x88, 0xa1, 0xa5, 0x65, 0xf2, 0xef, 0x8d, 0xc9, 0xbc, 0x16, 0x43, 0x63, 0x4e, - 0x31, 0xdd, 0x30, 0x70, 0x8b, 0x2a, 0xb5, 0x19, 0xd7, 0x8a, 0x3e, 0xfd, 0x4e, 0x23, 0x39, 0xa4, 0x00, 0x4d, 0x28, - 0x05, 0x11, 0xc8, 0x97, 0x14, 0x82, 0x3b, 0x25, 0xdb, 0x44, 0x96, 0x5b, 0x89, 0xcb, 0xa2, 0xd3, 0xc3, 0xf1, 0x0f, - 0x27, 0xa0, 0x42, 0x5f, 0xae, 0x58, 0xd0, 0x4f, 0xf4, 0x3e, 0x26, 0xea, 0x58, 0xca, 0xc9, 0xf1, 0xe9, 0xd2, 0x55, - 0x55, 0x01, 0x2d, 0x57, 0xaf, 0x8b, 0x0e, 0xce, 0x35, 0x65, 0x80, 0xd4, 0x63, 0x14, 0xb6, 0x10, 0x26, 0x7f, 0x04, - 0xde, 0x4f, 0xef, 0xe5, 0xb8, 0xed, 0x36, 0x45, 0x8f, 0x74, 0x76, 0xa7, 0x48, 0x4d, 0x2a, 0xd1, 0xca, 0xc9, 0x31, - 0x9e, 0x1e, 0xf2, 0x62, 0x0c, 0xd8, 0x31, 0x71, 0xb3, 0x49, 0x0d, 0x18, 0x13, 0x80, 0x23, 0x33, 0x15, 0xdb, 0x54, - 0x5b, 0x2b, 0x13, 0xa2, 0xb6, 0xe5, 0x7c, 0x59, 0x4b, 0xa7, 0x28, 0xef, 0x60, 0x0e, 0x81, 0x79, 0xee, 0x32, 0x6d, - 0xa0, 0x9a, 0x22, 0xb3, 0xa4, 0x1d, 0xd5, 0xf1, 0x52, 0x6c, 0xbc, 0xf8, 0xa9, 0xc0, 0xbd, 0x91, 0xaa, 0x57, 0x56, - 0x0b, 0x6e, 0xce, 0x94, 0x71, 0xb8, 0xc5, 0x55, 0xe1, 0x24, 0xe2, 0x01, 0x8c, 0x3e, 0x63, 0x31, 0x9c, 0x2f, 0xf6, - 0x23, 0x3e, 0x2c, 0x6a, 0x0a, 0x6f, 0xab, 0xb7, 0x72, 0x5c, 0x86, 0x80, 0xea, 0x11, 0xc4, 0xe9, 0x4e, 0x65, 0xc1, - 0xeb, 0x8c, 0x1c, 0x11, 0xbe, 0x95, 0xe2, 0xa8, 0x64, 0x1c, 0xc4, 0x67, 0xb1, 0xe9, 0xc1, 0x31, 0x2d, 0x3c, 0x63, - 0x22, 0x77, 0xc0, 0x3c, 0xa3, 0xf1, 0x3d, 0x3e, 0x73, 0x43, 0x7c, 0xe7, 0xb5, 0xf7, 0xb6, 0x22, 0x3d, 0x37, 0xb3, - 0xf9, 0xc4, 0x9b, 0x86, 0xa8, 0xf3, 0xe1, 0xad, 0x27, 0x3a, 0xe7, 0x15, 0x2c, 0xe2, 0x50, 0xb8, 0x21, 0xcd, 0xe8, - 0x0b, 0xed, 0x1e, 0xb2, 0x79, 0x6a, 0xba, 0x8b, 0x0b, 0xd8, 0xa3, 0xe9, 0x77, 0x67, 0x04, 0xc4, 0x3e, 0x41, 0xc4, - 0x97, 0x3c, 0xb8, 0xbd, 0x75, 0x2b, 0x6d, 0x75, 0x8c, 0x91, 0x6a, 0xd3, 0xdc, 0x02, 0xbf, 0xdf, 0x97, 0x30, 0x7b, - 0x1c, 0x83, 0x77, 0x0d, 0x02, 0xc4, 0x2f, 0x40, 0x58, 0x35, 0x6d, 0x68, 0xc0, 0x77, 0xf8, 0x32, 0x5b, 0xe6, 0x5e, - 0x23, 0xaa, 0x1e, 0xe6, 0xf2, 0xc5, 0xc9, 0xae, 0x36, 0x22, 0x95, 0xdb, 0x7e, 0xe2, 0xcf, 0x0f, 0x86, 0x25, 0x3d, - 0x47, 0x87, 0x71, 0x20, 0x37, 0xe4, 0xcc, 0x28, 0xb1, 0x09, 0xa7, 0xad, 0x9c, 0x87, 0xc6, 0x3c, 0x15, 0x04, 0x64, - 0xf8, 0xff, 0x7a, 0x38, 0x48, 0xcc, 0x5b, 0x37, 0x28, 0x57, 0xd5, 0x06, 0xd6, 0x64, 0x2f, 0x0e, 0x22, 0xa8, 0xf2, - 0x50, 0xa4, 0x58, 0x5f, 0x74, 0x58, 0x97, 0xc4, 0x42, 0x26, 0x82, 0x51, 0x21, 0x49, 0x90, 0xad, 0xa3, 0x5b, 0xa3, - 0xdc, 0x25, 0xbd, 0x4e, 0x40, 0xcf, 0xf4, 0x32, 0xfe, 0x18, 0xc7, 0xa2, 0xac, 0x25, 0x7f, 0xee, 0x49, 0xb6, 0xcb, - 0xe8, 0xae, 0x66, 0xac, 0x23, 0x22, 0x36, 0xb4, 0x1c, 0x1d, 0xe7, 0x65, 0x51, 0x72, 0xdc, 0xb4, 0x27, 0x70, 0x2c, - 0xbc, 0xb3, 0xa2, 0x68, 0xe6, 0x42, 0xae, 0xe9, 0xab, 0x63, 0x8a, 0xd6, 0xe1, 0x31, 0x7b, 0x6d, 0xdb, 0x12, 0x3d, - 0x5c, 0x8e, 0xf1, 0x52, 0x1a, 0x2a, 0x34, 0x87, 0xda, 0x5a, 0x5d, 0xea, 0x39, 0x2c, 0x63, 0xc5, 0x17, 0x85, 0x52, - 0xee, 0xa2, 0xe1, 0xa9, 0x8b, 0x69, 0x40, 0x37, 0x69, 0x44, 0x3f, 0x91, 0x99, 0x53, 0x8d, 0x3c, 0xe9, 0xc7, 0xbe, - 0x51, 0x85, 0x01, 0xd0, 0xf1, 0x8a, 0x91, 0xec, 0xbe, 0x2f, 0x57, 0x87, 0x12, 0x7c, 0x7a, 0xd6, 0x51, 0x2c, 0xb5, - 0x8e, 0xf7, 0x79, 0x2d, 0xc7, 0x77, 0x37, 0x84, 0xd1, 0xba, 0x3d, 0x30, 0x2b, 0x9c, 0x8b, 0x49, 0x31, 0x6e, 0xd9, - 0x0a, 0x13, 0xe6, 0x11, 0x4a, 0xbc, 0x9b, 0xa2, 0xb1, 0x5f, 0x99, 0x12, 0x9d, 0x17, 0xe1, 0x65, 0x73, 0xc5, 0x42, - 0xa9, 0x7a, 0x71, 0x89, 0xfd, 0xc6, 0xbd, 0xed, 0x39, 0xe4, 0xb9, 0x0c, 0x1b, 0x6f, 0x67, 0x79, 0x7a, 0xc4, 0xe4, - 0xfc, 0x08, 0x9b, 0x79, 0x20, 0x7d, 0x2d, 0x04, 0x18, 0xf5, 0x9e, 0x1c, 0xbf, 0x7c, 0xdf, 0xcb, 0xae, 0x71, 0xbc, - 0x30, 0xd2, 0x38, 0xce, 0x17, 0xe4, 0x29, 0xb1, 0x44, 0x69, 0xe6, 0x8b, 0x7a, 0x94, 0x03, 0xf1, 0xdc, 0x0b, 0x76, - 0x3d, 0x6d, 0xc7, 0xbf, 0x17, 0xee, 0x4a, 0x7a, 0x34, 0xfa, 0x04, 0xbe, 0x1e, 0xfe, 0x73, 0x74, 0x58, 0x90, 0x44, - 0x44, 0x4f, 0xe3, 0x48, 0x4f, 0x6d, 0x59, 0xea, 0x3d, 0x3b, 0xd6, 0x44, 0xbd, 0xf1, 0x3a, 0x23, 0x94, 0xb6, 0xa1, - 0x94, 0xb6, 0x83, 0x32, 0x82, 0x25, 0xb0, 0x69, 0x53, 0x08, 0x51, 0x8d, 0xff, 0x82, 0x9b, 0xa7, 0x08, 0x3f, 0xeb, - 0x44, 0x69, 0x36, 0x53, 0x53, 0x74, 0x67, 0x34, 0x00, 0x6b, 0x79, 0x9f, 0x0d, 0xd0, 0xfa, 0xa1, 0xae, 0xbc, 0xc2, - 0xc0, 0x6a, 0x55, 0x57, 0x02, 0xb5, 0x22, 0x50, 0x82, 0x04, 0x4e, 0x78, 0x2f, 0x22, 0xa2, 0x1b, 0x98, 0x54, 0x7a, - 0xb0, 0x65, 0x3b, 0xb7, 0x0d, 0xbb, 0xd7, 0xd2, 0xe7, 0x87, 0xf7, 0x6a, 0xd2, 0x53, 0x57, 0x76, 0xc7, 0x43, 0xe4, - 0x24, 0x39, 0xbb, 0x07, 0x88, 0xe4, 0x51, 0x32, 0xd8, 0xb9, 0x7b, 0x7b, 0xda, 0xda, 0x1d, 0x62, 0x61, 0x5b, 0xf0, - 0xd3, 0x1d, 0xb1, 0x18, 0xa5, 0xdd, 0xec, 0x93, 0x9f, 0x67, 0x70, 0x58, 0x7a, 0x0b, 0xe0, 0x29, 0xd6, 0xdd, 0x5f, - 0xcd, 0xac, 0xe8, 0x1e, 0xff, 0xe2, 0xa1, 0x2b, 0x0a, 0xe9, 0x88, 0x59, 0xdc, 0xe2, 0xb8, 0x2e, 0x3b, 0xab, 0xbb, - 0x45, 0xce, 0x6d, 0x49, 0x84, 0x4a, 0x09, 0xc9, 0xe5, 0x98, 0x95, 0x1a, 0xdb, 0x23, 0xca, 0xe0, 0xb4, 0xb7, 0x97, - 0x7e, 0x63, 0xde, 0xc2, 0xf4, 0x05, 0xa0, 0x26, 0x60, 0xb9, 0x20, 0x1b, 0xef, 0x3e, 0x00, 0xcc, 0xd2, 0xaa, 0xab, - 0x33, 0x06, 0x17, 0xb7, 0xee, 0x7a, 0xc3, 0x22, 0x33, 0x9a, 0x89, 0xba, 0xc9, 0xdd, 0x11, 0x55, 0x8c, 0x16, 0x26, - 0xdb, 0x2f, 0xa5, 0xe1, 0xd3, 0x6a, 0x44, 0x2b, 0x2d, 0x5a, 0x46, 0x87, 0x5d, 0x5f, 0xc9, 0x51, 0x22, 0xb1, 0x5c, - 0x2c, 0xbb, 0xf2, 0x56, 0x98, 0xf8, 0x31, 0xb1, 0x36, 0x66, 0x44, 0x5a, 0xb2, 0x85, 0xc1, 0x11, 0x49, 0x79, 0xd4, - 0xdd, 0xb2, 0x6a, 0x72, 0x1b, 0x67, 0x2b, 0x3c, 0xdd, 0x52, 0xd4, 0x14, 0xaa, 0x43, 0xb4, 0xdd, 0x07, 0x19, 0x24, - 0xd3, 0x46, 0x91, 0xf3, 0xb9, 0xed, 0xb1, 0x88, 0x3a, 0x5d, 0xd1, 0x69, 0x91, 0x88, 0xb9, 0xdd, 0x53, 0xb4, 0x1d, - 0x25, 0xc9, 0x93, 0x94, 0x4c, 0x27, 0x0e, 0x54, 0xd3, 0x86, 0x5c, 0x4b, 0xef, 0x5f, 0x2b, 0x02, 0x71, 0xf1, 0x1f, - 0xf2, 0xb2, 0xed, 0xbb, 0x03, 0x83, 0x08, 0x3a, 0x98, 0x23, 0x09, 0xcc, 0x4b, 0x2d, 0x1d, 0x94, 0x48, 0x12, 0x91, - 0x9f, 0x34, 0xcc, 0xae, 0x4b, 0xd6, 0xe8, 0x83, 0x56, 0xba, 0x33, 0x99, 0x35, 0x24, 0x52, 0xaf, 0x49, 0x6d, 0x6d, - 0xb1, 0x89, 0x11, 0xcf, 0x7c, 0x67, 0x9d, 0x88, 0x22, 0xf1, 0x20, 0x73, 0x62, 0xa9, 0x3c, 0x5b, 0x44, 0x89, 0xaf, - 0x70, 0xf6, 0xb5, 0x5e, 0xec, 0x4e, 0x8b, 0x2c, 0xe6, 0x87, 0x91, 0x5f, 0x0e, 0x37, 0xbb, 0x15, 0x29, 0xea, 0xad, - 0xf1, 0xe5, 0x05, 0xcd, 0x6c, 0x5c, 0x3b, 0x71, 0xcc, 0x19, 0xd2, 0x48, 0x21, 0x48, 0x48, 0x9f, 0x8e, 0xf0, 0x5a, - 0x04, 0x07, 0x36, 0x6a, 0x7a, 0xc7, 0x9e, 0x67, 0x2b, 0x77, 0x57, 0x43, 0xc3, 0xb6, 0x43, 0x22, 0x48, 0xd0, 0x78, - 0x93, 0x59, 0x33, 0x34, 0x3f, 0xec, 0x3a, 0x6f, 0xcf, 0xf5, 0xf0, 0x8d, 0x62, 0x60, 0x69, 0x13, 0x09, 0xe0, 0x52, - 0x51, 0x95, 0xe6, 0xd6, 0x7e, 0x90, 0x43, 0x36, 0xe2, 0x8b, 0x56, 0xfd, 0x8a, 0x80, 0xee, 0x24, 0x21, 0x21, 0x40, - 0xd3, 0xeb, 0xfa, 0x3e, 0x5c, 0x24, 0x2c, 0x0e, 0x08, 0xdf, 0x55, 0xf0, 0xdf, 0x24, 0x4d, 0xaf, 0x4b, 0x13, 0xfa, - 0xb1, 0x28, 0x97, 0x83, 0x83, 0x2c, 0x10, 0x6f, 0x01, 0xd1, 0x10, 0x04, 0x82, 0x42, 0x58, 0x38, 0xa6, 0x12, 0xfa, - 0x17, 0x5a, 0x43, 0xc1, 0x04, 0x98, 0x8e, 0xc6, 0xb9, 0x34, 0x28, 0xaa, 0xad, 0x74, 0x9a, 0x53, 0x36, 0x5c, 0x34, - 0x0c, 0x32, 0xeb, 0x9f, 0xc2, 0x10, 0xa7, 0x98, 0x26, 0xe3, 0xfe, 0x2e, 0xc1, 0x78, 0xba, 0x6d, 0x3e, 0x51, 0xca, - 0x6a, 0x9f, 0xb5, 0x78, 0x42, 0x2b, 0x9e, 0x57, 0xa2, 0x3e, 0xa7, 0xd7, 0xde, 0x7f, 0xf4, 0x86, 0xef, 0xe0, 0xc9, - 0x47, 0x25, 0x7a, 0x1b, 0x27, 0x96, 0x3b, 0x58, 0x04, 0x58, 0xe4, 0x7d, 0xd7, 0x8c, 0xa4, 0x40, 0x86, 0x3a, 0xc0, - 0x5c, 0x63, 0x6e, 0xfb, 0x48, 0x0d, 0x6d, 0x0f, 0xe5, 0xde, 0xe4, 0xda, 0x34, 0xac, 0x7a, 0x58, 0x60, 0x79, 0x75, - 0xdd, 0xe6, 0xe6, 0x00, 0x79, 0xec, 0x5a, 0x8c, 0x08, 0x72, 0x44, 0x86, 0xe3, 0xc1, 0x6d, 0x42, 0x41, 0x80, 0x02, - 0xaa, 0xa6, 0x9a, 0xd6, 0xe1, 0xfe, 0x9c, 0x0f, 0xe2, 0x50, 0xd7, 0x84, 0xd8, 0xa8, 0x3c, 0x42, 0xaf, 0xb9, 0xef, - 0x13, 0xfd, 0x3e, 0xe5, 0x86, 0xc6, 0x1b, 0x24, 0x40, 0x2e, 0xae, 0xce, 0x93, 0x44, 0xdd, 0x18, 0xab, 0xa3, 0x38, - 0x22, 0x0c, 0x50, 0x98, 0x63, 0x38, 0xdc, 0x4e, 0x05, 0x47, 0x4b, 0x02, 0x6d, 0x2c, 0x55, 0x2f, 0xb7, 0xdf, 0x66, - 0x5d, 0xea, 0x1f, 0x14, 0x0c, 0xa2, 0xd3, 0x43, 0x5e, 0x38, 0x10, 0x32, 0xd6, 0xf7, 0xe1, 0xf2, 0x1e, 0x67, 0xb4, - 0x2e, 0xa3, 0x46, 0x30, 0x06, 0x0f, 0x50, 0xce, 0xaa, 0xc7, 0xd1, 0x2e, 0x20, 0x96, 0x87, 0xf4, 0xa1, 0xc9, 0x8c, - 0x90, 0x2d, 0x72, 0xf9, 0xa5, 0x16, 0xf9, 0xab, 0xd0, 0xb5, 0x78, 0xee, 0x01, 0x9d, 0x5a, 0x70, 0x0c, 0x75, 0x83, - 0xaf, 0xba, 0xe9, 0xaa, 0x96, 0xda, 0x36, 0xc7, 0xc8, 0xb9, 0xb0, 0x38, 0xd5, 0xf3, 0x6c, 0x6c, 0xdf, 0x7b, 0x07, - 0x80, 0x98, 0x02, 0x7a, 0x01, 0xb0, 0x1d, 0x5e, 0x0a, 0x3e, 0xf1, 0xe0, 0xb6, 0x3a, 0xec, 0xd8, 0x99, 0xa4, 0x71, - 0x1e, 0x4d, 0xbd, 0x39, 0xc7, 0x5c, 0xe8, 0x71, 0xec, 0xe7, 0x06, 0xd7, 0x9f, 0xac, 0x18, 0xbe, 0x6d, 0x4d, 0x70, - 0x78, 0xae, 0x72, 0x36, 0x24, 0x11, 0x4b, 0xd6, 0x3d, 0x47, 0x5f, 0x48, 0xe4, 0x69, 0x1b, 0xdf, 0x2f, 0xf4, 0xd5, - 0x39, 0x75, 0x91, 0x9d, 0x63, 0x92, 0x09, 0xf4, 0x60, 0xf2, 0x5e, 0x59, 0x1c, 0x1a, 0xab, 0x94, 0x59, 0xfc, 0xd0, - 0xb9, 0xa6, 0xb7, 0xf7, 0xab, 0x75, 0x29, 0xe5, 0x53, 0xad, 0x72, 0x2b, 0xbf, 0x8d, 0x1d, 0x4d, 0x3b, 0x35, 0xa0, - 0xdd, 0xd6, 0x37, 0x74, 0x1a, 0x45, 0x24, 0xe9, 0xee, 0x82, 0x5b, 0x78, 0x06, 0xd3, 0x18, 0x51, 0xb0, 0xe7, 0x53, - 0xeb, 0xf2, 0xb5, 0x97, 0x95, 0x78, 0x45, 0xbc, 0x2b, 0x06, 0x63, 0xe5, 0x84, 0x0e, 0x16, 0x69, 0x1a, 0x68, 0xe0, - 0x24, 0x49, 0xdc, 0xaa, 0x24, 0x7e, 0x6a, 0xf9, 0x17, 0xd4, 0xdc, 0xa8, 0x3c, 0x15, 0xf1, 0x75, 0x49, 0x98, 0x39, - 0x2e, 0xd5, 0xbd, 0x51, 0x79, 0x50, 0x8e, 0x79, 0xba, 0x66, 0x2c, 0x5a, 0xba, 0x9d, 0x22, 0xf3, 0x64, 0xcf, 0x9b, - 0x9b, 0x11, 0x25, 0x4a, 0x84, 0xea, 0x42, 0xaf, 0x72, 0x6d, 0x16, 0x3a, 0xd2, 0x88, 0x4d, 0x6b, 0x35, 0x9b, 0xd8, - 0xfd, 0x70, 0x0e, 0x52, 0x95, 0x3d, 0xc1, 0x35, 0xf4, 0xbc, 0x13, 0x86, 0xcd, 0xb5, 0xae, 0x43, 0x23, 0x86, 0xcc, - 0x80, 0x99, 0x66, 0x01, 0xa6, 0x40, 0x16, 0x71, 0x5f, 0x0d, 0x48, 0x94, 0x31, 0xfd, 0x13, 0xab, 0xf5, 0x7c, 0xab, - 0xad, 0x3a, 0x26, 0xff, 0x32, 0x78, 0x0d, 0x67, 0x00, 0x45, 0x89, 0xe1, 0x44, 0xd3, 0x5e, 0xa9, 0xd5, 0x00, 0x61, - 0x9e, 0x10, 0xa3, 0xb0, 0x82, 0x6d, 0xd1, 0x68, 0xd5, 0x55, 0x30, 0x80, 0x1a, 0xe6, 0xc9, 0x08, 0x8d, 0x22, 0x32, - 0x1a, 0x5f, 0xd8, 0x8d, 0xbc, 0xb2, 0x00, 0xcb, 0x9a, 0xf4, 0x56, 0x39, 0xa5, 0xfe, 0x48, 0x6a, 0xe5, 0x8e, 0x12, - 0x72, 0xc3, 0x0d, 0x9a, 0x36, 0xa9, 0x37, 0x1e, 0x07, 0x7c, 0x6b, 0xc6, 0x99, 0x86, 0x76, 0xdb, 0x5a, 0xb9, 0x0f, - 0xec, 0xc0, 0x0d, 0xb7, 0x0d, 0xdf, 0xa9, 0x6a, 0x27, 0xf3, 0xf5, 0xeb, 0xdd, 0xee, 0x12, 0x6b, 0x42, 0x9b, 0x8e, - 0xb2, 0x06, 0xb6, 0x6d, 0x51, 0xcc, 0xc5, 0x48, 0xd7, 0x78, 0xb7, 0xd8, 0x77, 0x20, 0xdb, 0xf7, 0x60, 0xad, 0x92, - 0x90, 0x93, 0xab, 0x74, 0x7e, 0x8d, 0x7e, 0xd2, 0xe9, 0x2a, 0x91, 0x99, 0x5d, 0xe4, 0x77, 0x99, 0xa9, 0xef, 0x65, - 0xaa, 0xc7, 0xb5, 0x56, 0xa4, 0xc0, 0x56, 0xa8, 0x0a, 0xcf, 0x21, 0x30, 0x5d, 0xb2, 0xf2, 0x7f, 0x20, 0xe2, 0x9c, - 0x8c, 0x2b, 0xa1, 0xbd, 0x51, 0x35, 0x03, 0x18, 0x12, 0x8a, 0xa1, 0x89, 0xe5, 0xf4, 0xb8, 0xd4, 0x20, 0xaa, 0x93, - 0x06, 0x90, 0xe5, 0x81, 0x10, 0xf0, 0x13, 0x05, 0xd4, 0x99, 0x99, 0x30, 0xf0, 0x93, 0xc0, 0x59, 0x5a, 0x4d, 0x91, - 0x7e, 0x31, 0xe0, 0x0c, 0x45, 0xdd, 0x90, 0x7e, 0xc5, 0x94, 0xe8, 0x0e, 0xbf, 0x52, 0x68, 0x7d, 0x6a, 0x66, 0x2e, - 0x98, 0x91, 0x4e, 0x1a, 0xf8, 0x15, 0x2e, 0x6a, 0x0b, 0xfe, 0x32, 0xa5, 0x26, 0x33, 0x45, 0x98, 0xc9, 0x01, 0x5c, - 0x2a, 0xb7, 0xc5, 0xb3, 0xaa, 0x26, 0x30, 0xfb, 0x22, 0x65, 0x74, 0xe2, 0x18, 0x75, 0xdf, 0x6e, 0x38, 0x4a, 0x52, - 0xde, 0xfe, 0x7a, 0x95, 0x35, 0xca, 0x0e, 0x99, 0x59, 0xea, 0x2a, 0xfe, 0xd4, 0x24, 0x77, 0xbd, 0x0c, 0x9d, 0x74, - 0x2b, 0xb8, 0x65, 0x94, 0xf3, 0x0c, 0xcb, 0xdd, 0x18, 0xd1, 0x61, 0x73, 0x2f, 0x5d, 0xdf, 0xa5, 0xc9, 0xce, 0xad, - 0x4a, 0x4c, 0x08, 0x29, 0xb4, 0x5f, 0x9f, 0x9d, 0xfb, 0xe3, 0xd5, 0xf6, 0xdb, 0x51, 0xdf, 0x73, 0xe3, 0x7c, 0x3a, - 0xfe, 0xed, 0x72, 0xdb, 0x1d, 0x4c, 0x33, 0x54, 0x61, 0x5a, 0x3a, 0x08, 0xdd, 0x35, 0x0f, 0xd0, 0xbf, 0x24, 0x3e, - 0xf5, 0xfb, 0x0b, 0x2a, 0x1d, 0xd0, 0x26, 0xb3, 0x35, 0x15, 0xb2, 0x38, 0x28, 0xa1, 0x6c, 0xd3, 0x2e, 0x4d, 0x8b, - 0x29, 0x72, 0xa0, 0x6e, 0x21, 0x03, 0x52, 0xb2, 0x70, 0x99, 0x41, 0xe5, 0x57, 0xf1, 0x3a, 0xf1, 0x75, 0x7e, 0xb5, - 0x31, 0x32, 0xa2, 0x70, 0x55, 0xc8, 0x35, 0x7c, 0x47, 0x8b, 0x79, 0x01, 0xed, 0xa4, 0xda, 0x38, 0xf4, 0x55, 0xa3, - 0x8e, 0x49, 0xa0, 0xe3, 0xc3, 0x4f, 0x3e, 0x53, 0x37, 0x98, 0xdd, 0xad, 0x09, 0xf8, 0xb1, 0x39, 0x7b, 0x71, 0xa3, - 0x87, 0x38, 0xb5, 0x96, 0x7d, 0xbc, 0x50, 0xf6, 0xa8, 0x1a, 0x79, 0x6b, 0x8d, 0x83, 0xdc, 0xa4, 0x61, 0x6d, 0x38, - 0x29, 0x14, 0xe0, 0xe1, 0x52, 0x7e, 0x48, 0x0a, 0x97, 0xde, 0xa8, 0x44, 0x98, 0x07, 0xb0, 0x13, 0xb6, 0xd4, 0xbd, - 0x51, 0x49, 0x0b, 0xa8, 0x1e, 0xe9, 0xc9, 0xa0, 0x98, 0xce, 0x89, 0xc4, 0x98, 0xf1, 0x25, 0xdd, 0xf4, 0x43, 0xb4, - 0xba, 0x66, 0xd8, 0xc3, 0xfb, 0x58, 0x90, 0x20, 0x87, 0x04, 0x1b, 0xd7, 0x19, 0x42, 0xec, 0xa4, 0xc2, 0xf7, 0x7c, - 0x55, 0x6c, 0x99, 0x7f, 0x46, 0xa8, 0x6d, 0xeb, 0xbe, 0xed, 0x11, 0xe5, 0xb5, 0xd2, 0xb7, 0xb9, 0xbf, 0xe2, 0x8c, - 0xf1, 0x72, 0x86, 0xc6, 0x23, 0x2f, 0xfb, 0x39, 0xcc, 0xcf, 0x7e, 0x75, 0x03, 0x16, 0x20, 0x71, 0x6c, 0xc1, 0xb1, - 0xa7, 0xe4, 0x68, 0xae, 0x73, 0x3e, 0xb6, 0x11, 0xcc, 0x92, 0x69, 0x40, 0x64, 0x2d, 0x8b, 0x04, 0xe2, 0xc8, 0x24, - 0x71, 0x91, 0x28, 0xeb, 0x68, 0x27, 0x8f, 0x0e, 0x7c, 0x6f, 0x22, 0xf7, 0x05, 0x2d, 0x46, 0x59, 0xfc, 0xb1, 0xab, - 0xb6, 0xb6, 0x8a, 0x1c, 0x5e, 0x04, 0xea, 0xe6, 0x2c, 0x8f, 0xe3, 0x58, 0x15, 0x50, 0xbe, 0xce, 0x95, 0xd6, 0x52, - 0x5d, 0xa0, 0x8b, 0x43, 0xf7, 0x51, 0x8b, 0x8a, 0x6a, 0x35, 0x18, 0xf7, 0x40, 0xd9, 0x6b, 0x98, 0xd0, 0x03, 0x7e, - 0xb6, 0x0e, 0x63, 0x36, 0x78, 0xe7, 0xcd, 0xb1, 0x1a, 0xd3, 0x45, 0xce, 0x7b, 0x0b, 0xa8, 0x75, 0xbb, 0xde, 0x92, - 0x9a, 0x08, 0xad, 0x71, 0x93, 0x71, 0x58, 0x24, 0x7c, 0x17, 0x75, 0x38, 0x41, 0x21, 0x09, 0x20, 0x36, 0xc5, 0x08, - 0x53, 0xd0, 0x9a, 0x71, 0xb1, 0xa1, 0x85, 0xdd, 0x44, 0x77, 0xac, 0xcd, 0x23, 0xca, 0x38, 0xdc, 0xd1, 0x4c, 0x87, - 0xb9, 0xb9, 0x96, 0xe0, 0x7b, 0x89, 0xe8, 0x6d, 0xaa, 0xa6, 0x1d, 0x15, 0x36, 0xb7, 0x69, 0x64, 0xcc, 0x4c, 0x8f, - 0x77, 0x81, 0x76, 0xe3, 0xc9, 0xe8, 0x27, 0x54, 0xf0, 0xe7, 0x73, 0x5f, 0x24, 0x03, 0xf7, 0xd9, 0xe7, 0x01, 0x62, - 0x68, 0x4f, 0x9d, 0xee, 0x37, 0xb5, 0xac, 0x73, 0xc0, 0x14, 0x9b, 0xc4, 0xec, 0x67, 0x1c, 0xf5, 0x87, 0x1d, 0x6d, - 0x1c, 0x24, 0xc5, 0x10, 0x28, 0x1d, 0x7e, 0xdc, 0xd1, 0xca, 0xeb, 0xb6, 0xec, 0xdd, 0xf6, 0x1a, 0x77, 0xe4, 0x63, - 0xaa, 0x07, 0x93, 0x20, 0x49, 0xcb, 0xb1, 0x08, 0xcd, 0x18, 0xbc, 0x45, 0x5a, 0xb0, 0xb6, 0x47, 0x40, 0xcb, 0x5c, - 0x2f, 0x14, 0x7a, 0xe0, 0xe9, 0x3b, 0x73, 0x27, 0x85, 0xc5, 0x58, 0x2e, 0xe9, 0xe0, 0xd9, 0x04, 0xb3, 0x59, 0xd5, - 0x6a, 0x7d, 0x77, 0x68, 0x7b, 0xea, 0x2d, 0x10, 0x76, 0x5e, 0xea, 0x9b, 0x81, 0x23, 0x3f, 0xb3, 0x96, 0xc1, 0x94, - 0x73, 0xbb, 0xc1, 0xbb, 0xfe, 0xe8, 0x6f, 0xca, 0xe0, 0x63, 0x7f, 0x8d, 0xe3, 0xf7, 0x54, 0xdd, 0xb2, 0x74, 0xc2, - 0x74, 0x65, 0x3e, 0x46, 0x2b, 0x35, 0xf7, 0x39, 0x8c, 0xc9, 0x74, 0x80, 0x12, 0x1b, 0xf9, 0xba, 0x0b, 0x07, 0xd4, - 0x2d, 0xa3, 0xf8, 0x8a, 0x5f, 0xd6, 0x6f, 0xf7, 0x25, 0xed, 0x6d, 0xf7, 0x5b, 0x30, 0x53, 0xaf, 0xac, 0x04, 0x8f, - 0x0a, 0x02, 0x3c, 0x04, 0x95, 0xc9, 0xa3, 0xca, 0x12, 0xf0, 0x45, 0xbd, 0x0b, 0x90, 0x88, 0x3c, 0xad, 0x47, 0x79, - 0x09, 0x1b, 0xd5, 0xb0, 0xed, 0x7a, 0x5a, 0x1d, 0x08, 0x89, 0xd1, 0x1c, 0x4f, 0x9b, 0xb5, 0xe6, 0x5a, 0x19, 0x7e, - 0x89, 0x12, 0x17, 0xcf, 0xc6, 0x51, 0xb5, 0x51, 0x20, 0xe4, 0xaa, 0x16, 0x4a, 0xc4, 0xa2, 0xc3, 0x42, 0xa6, 0xf2, - 0x65, 0x65, 0x2c, 0x7b, 0x71, 0xb4, 0x9c, 0xc8, 0xd7, 0xf6, 0xd2, 0xc2, 0x7e, 0x1f, 0x1a, 0x7f, 0xfb, 0x50, 0x61, - 0xca, 0xea, 0xa7, 0x3d, 0x19, 0x71, 0x8d, 0xf5, 0xb1, 0xf5, 0xf6, 0xa1, 0x7f, 0x7c, 0xaf, 0xa6, 0x66, 0xbc, 0xed, - 0x90, 0xee, 0x96, 0x03, 0xb6, 0xc2, 0xdb, 0xc3, 0x96, 0xfc, 0xef, 0xb7, 0x2f, 0x76, 0xec, 0x82, 0xcc, 0x27, 0x2c, - 0x18, 0x91, 0x14, 0x8f, 0x4d, 0x06, 0x50, 0x6e, 0x19, 0xd0, 0x88, 0x60, 0x5f, 0x37, 0x76, 0xe4, 0x6b, 0xcb, 0x1c, - 0x97, 0xe9, 0xb2, 0x1f, 0x20, 0xcb, 0xbe, 0x0c, 0x81, 0x9d, 0xdb, 0x32, 0xe4, 0x80, 0x59, 0x1c, 0xc8, 0xcc, 0x4c, - 0xfb, 0x8f, 0x5a, 0x5e, 0xa1, 0x53, 0x4a, 0xb6, 0x33, 0x1f, 0xd0, 0xad, 0x31, 0xd9, 0xe8, 0x42, 0xb0, 0x2e, 0x74, - 0xb2, 0x23, 0xdc, 0xb8, 0x37, 0xd2, 0x0f, 0x8e, 0x6e, 0x31, 0xa7, 0x81, 0x11, 0xcf, 0xb4, 0x98, 0x16, 0x68, 0xc4, - 0x4f, 0x72, 0x55, 0x2f, 0xf5, 0x40, 0xd6, 0xe9, 0x5a, 0x8c, 0x2e, 0xdf, 0x08, 0x6c, 0xf6, 0x44, 0x9c, 0xcc, 0xa1, - 0xde, 0x21, 0x20, 0x25, 0x5a, 0xa5, 0xef, 0xd6, 0x01, 0xa1, 0x9d, 0x80, 0x65, 0x5a, 0x62, 0xaf, 0x53, 0x32, 0xda, - 0xf7, 0x6f, 0xfc, 0x49, 0x39, 0x0d, 0xd4, 0x52, 0x89, 0xd1, 0x2d, 0x41, 0x41, 0xcc, 0x71, 0x5c, 0x3a, 0x6f, 0x8a, - 0x48, 0xcc, 0x58, 0x7f, 0x71, 0xf4, 0x3d, 0xa3, 0x1f, 0x40, 0xad, 0xa4, 0xa9, 0x70, 0xcc, 0x8d, 0x9a, 0x91, 0x85, - 0xc1, 0x97, 0x11, 0x62, 0xb7, 0xc5, 0x3f, 0x89, 0x3c, 0x9d, 0xa2, 0x15, 0xd0, 0x3d, 0x55, 0x2d, 0xb2, 0x92, 0x56, - 0x39, 0xd4, 0x29, 0xbf, 0x0a, 0x96, 0xc3, 0xe4, 0x58, 0xc6, 0x75, 0x16, 0x43, 0x98, 0x9c, 0xe5, 0x14, 0x4a, 0x6e, - 0x71, 0x0a, 0x5f, 0xb4, 0xcc, 0x2e, 0xc3, 0x1a, 0x2a, 0x20, 0x64, 0x1c, 0x84, 0xc3, 0x4f, 0xfe, 0x54, 0x68, 0x7f, - 0x33, 0x4b, 0x36, 0x7a, 0xf7, 0x51, 0x98, 0xa0, 0x07, 0xe7, 0x56, 0x31, 0x83, 0xc9, 0x10, 0x3d, 0x57, 0xa1, 0x15, - 0xdc, 0x89, 0xe7, 0xb4, 0xc8, 0xa9, 0x7a, 0xc8, 0xa0, 0x55, 0x37, 0xeb, 0x75, 0x5f, 0x47, 0x29, 0x27, 0x42, 0x48, - 0x23, 0x4e, 0x5a, 0x53, 0x35, 0xd5, 0x12, 0x7c, 0x44, 0x49, 0x46, 0x8a, 0x33, 0x03, 0xe4, 0xec, 0xa4, 0xa2, 0x56, - 0x02, 0xe5, 0x19, 0x4e, 0x2a, 0x66, 0x9a, 0x93, 0x18, 0xb0, 0xde, 0x35, 0xde, 0xcf, 0xa6, 0xe9, 0x02, 0x80, 0xea, - 0x4b, 0xc7, 0x48, 0x7d, 0xd6, 0xf1, 0xa4, 0x1e, 0xfa, 0x62, 0xd9, 0xff, 0xa8, 0x9d, 0x3a, 0x30, 0x1a, 0xc4, 0xb8, - 0xda, 0x8f, 0x30, 0x38, 0x37, 0x23, 0x86, 0xcd, 0xfc, 0x81, 0xad, 0x0e, 0xd8, 0x26, 0xaa, 0xb9, 0x48, 0xa2, 0xa5, - 0xe8, 0x79, 0xa6, 0xde, 0x85, 0x1a, 0x0d, 0xd5, 0x53, 0x77, 0x3d, 0xf2, 0xc8, 0x4a, 0xb7, 0x26, 0x32, 0x88, 0x14, - 0x4b, 0xa4, 0x0b, 0xaa, 0xf3, 0x8d, 0xc0, 0xd9, 0x4e, 0x06, 0xa6, 0x30, 0xd6, 0xa3, 0xb8, 0xa5, 0x09, 0xbf, 0x2b, - 0x19, 0xda, 0x29, 0x73, 0x54, 0xc6, 0x21, 0x07, 0xd7, 0xca, 0x3c, 0xf9, 0xf9, 0xb7, 0x3e, 0xa5, 0x11, 0x07, 0x78, - 0x4c, 0x7d, 0x7e, 0x86, 0xeb, 0xeb, 0x6f, 0x92, 0x5f, 0x8a, 0x5b, 0xe9, 0x27, 0x7c, 0x67, 0x89, 0x38, 0xef, 0xc1, - 0xf0, 0xad, 0xea, 0x71, 0x60, 0x11, 0xba, 0x72, 0x2e, 0xea, 0xc1, 0xf9, 0xd3, 0x0b, 0x82, 0x17, 0xe5, 0x80, 0x09, - 0x90, 0xa9, 0xe6, 0xac, 0x7e, 0x4b, 0xe4, 0x40, 0xc6, 0x45, 0x55, 0x9a, 0x3c, 0x81, 0xbc, 0x04, 0x9c, 0x3b, 0xc9, - 0x60, 0x32, 0x64, 0xdd, 0x8f, 0xb7, 0x9d, 0xc4, 0x77, 0xc0, 0xfa, 0x8f, 0x49, 0xc6, 0xb9, 0x06, 0x81, 0x14, 0x2b, - 0x69, 0x27, 0xab, 0xf4, 0x41, 0x81, 0x07, 0x26, 0x99, 0x9c, 0x97, 0x4d, 0x69, 0x33, 0x4f, 0xa0, 0x33, 0xa0, 0x8d, - 0xad, 0x4d, 0x19, 0x9f, 0x56, 0x80, 0x12, 0x12, 0xde, 0xc8, 0xd6, 0x56, 0x67, 0x90, 0xca, 0xaa, 0xf3, 0xcf, 0xf6, - 0x38, 0x53, 0x85, 0xbe, 0xe8, 0xa2, 0x39, 0x37, 0xef, 0x1d, 0x38, 0x1f, 0xd6, 0xe6, 0xe9, 0xcb, 0x9f, 0x12, 0x55, - 0x70, 0xd7, 0xa4, 0x01, 0xaa, 0xba, 0xe5, 0x25, 0x9d, 0xf1, 0x4f, 0xd8, 0x5f, 0x62, 0x09, 0x53, 0x90, 0xb4, 0x3f, - 0x84, 0x8f, 0x90, 0xf6, 0x11, 0xf2, 0x66, 0xfb, 0x3f, 0x4a, 0x99, 0x1c, 0x0f, 0xb6, 0x9a, 0xfd, 0xb0, 0x29, 0xfe, - 0x2d, 0xb2, 0x06, 0xee, 0xab, 0xf5, 0xc3, 0xaa, 0x32, 0x89, 0x3e, 0xae, 0x8d, 0x17, 0x94, 0x31, 0x86, 0xe9, 0x64, - 0xb1, 0xea, 0xba, 0x8c, 0x1b, 0x52, 0x66, 0x65, 0xf0, 0xd1, 0xe1, 0x03, 0x4d, 0x48, 0x2a, 0x74, 0x3e, 0xc5, 0xbc, - 0x34, 0xf3, 0xeb, 0x26, 0x15, 0xe1, 0x0f, 0x65, 0xce, 0x3b, 0x6f, 0x89, 0xba, 0xeb, 0x7d, 0xd5, 0x2f, 0x0f, 0x68, - 0xb4, 0x4d, 0x4f, 0x28, 0x07, 0x67, 0x70, 0x9a, 0x64, 0xf4, 0xcc, 0x44, 0x3c, 0x22, 0x1f, 0xe2, 0xfa, 0x45, 0x68, - 0xa4, 0x97, 0x87, 0x1c, 0x11, 0xbf, 0xcb, 0xe2, 0xee, 0x15, 0xbf, 0xd1, 0x5f, 0x92, 0x0f, 0x4b, 0x3a, 0x4a, 0x62, - 0xad, 0xdd, 0x0f, 0x73, 0x4c, 0xda, 0x40, 0xc5, 0xff, 0x0f, 0x13, 0xaf, 0x29, 0x8b, 0x2c, 0xa3, 0x25, 0xba, 0xaa, - 0x1d, 0x1c, 0xed, 0xc3, 0x22, 0x45, 0xbe, 0xc8, 0x10, 0x52, 0x44, 0xb7, 0x46, 0x79, 0x08, 0xaf, 0x27, 0xff, 0xa8, - 0x2c, 0xfc, 0x61, 0xd5, 0x4d, 0x4f, 0xa7, 0x91, 0x8a, 0x1f, 0xe9, 0xe8, 0xfb, 0x55, 0xdd, 0xde, 0x4f, 0x7b, 0xb3, - 0xd8, 0x43, 0xc0, 0xec, 0x33, 0x0d, 0x91, 0xbd, 0x59, 0xf6, 0x19, 0x86, 0x49, 0xdc, 0xe2, 0x8a, 0xd7, 0xa0, 0xa7, - 0xca, 0x56, 0xee, 0x0d, 0x38, 0xe3, 0x0b, 0x43, 0x07, 0x19, 0x8f, 0x96, 0x2b, 0x8f, 0xdf, 0xf0, 0x00, 0x4e, 0xaa, - 0xb6, 0xdb, 0xa2, 0x2c, 0xed, 0x19, 0x9c, 0x24, 0x8b, 0x78, 0x92, 0x79, 0xf1, 0x65, 0x4a, 0x2f, 0x29, 0xd9, 0x8c, - 0x12, 0xde, 0xd1, 0x17, 0xa2, 0x42, 0x2a, 0xb5, 0x21, 0x5f, 0x95, 0x92, 0x6d, 0x34, 0xa4, 0x52, 0xca, 0x15, 0x57, - 0xe3, 0x72, 0x1a, 0xaf, 0x8c, 0xed, 0x21, 0xbb, 0x85, 0x57, 0xc5, 0xeb, 0x14, 0x21, 0xbd, 0xbe, 0x46, 0x38, 0x71, - 0x53, 0x64, 0x90, 0xf8, 0x70, 0x56, 0xd2, 0xe5, 0xc9, 0x35, 0x58, 0xf3, 0x9c, 0xa3, 0x1c, 0xcc, 0xba, 0x3e, 0x50, - 0xe6, 0x7c, 0x93, 0xf6, 0xa8, 0xc8, 0x57, 0x4e, 0x9d, 0xab, 0x0d, 0xa8, 0xcb, 0x77, 0x02, 0x66, 0xe1, 0x3e, 0x1e, - 0x47, 0x25, 0xe9, 0x8d, 0x32, 0xe2, 0xc3, 0x9d, 0x20, 0xc5, 0x66, 0x9e, 0x8c, 0xc4, 0x3b, 0xda, 0xd8, 0xb9, 0x68, - 0xa4, 0x8f, 0x42, 0x7c, 0x4a, 0x50, 0x43, 0x1a, 0xa3, 0xd9, 0xc5, 0xee, 0x65, 0x90, 0x60, 0x88, 0x2c, 0xd9, 0x82, - 0x20, 0x44, 0x1e, 0x96, 0x31, 0x58, 0x52, 0x1f, 0x4d, 0xad, 0x60, 0x62, 0x99, 0x2b, 0x3f, 0x9c, 0xde, 0xa2, 0x57, - 0xeb, 0x48, 0x86, 0x5c, 0x27, 0xb1, 0x20, 0x6d, 0xc6, 0xcf, 0x75, 0x79, 0xd4, 0xde, 0x02, 0xab, 0xe9, 0x4a, 0xea, - 0x41, 0x63, 0x7a, 0xbc, 0x4e, 0x49, 0xb1, 0xb1, 0xce, 0x3a, 0x55, 0x15, 0xca, 0x7f, 0x9f, 0xad, 0x8a, 0x8b, 0xab, - 0x96, 0x6f, 0x71, 0x54, 0xef, 0x6c, 0x12, 0x02, 0x00, 0x35, 0x3c, 0xa4, 0xfa, 0x01, 0xc6, 0xb0, 0xdc, 0x33, 0xcc, - 0xb2, 0x0f, 0xd7, 0x1b, 0x34, 0x04, 0x6d, 0xc7, 0xe3, 0xc4, 0x16, 0xf9, 0x46, 0x0c, 0x68, 0xa4, 0xd4, 0x04, 0xd8, - 0x66, 0x85, 0x18, 0x3c, 0xeb, 0xf6, 0x27, 0x8a, 0x82, 0xa8, 0xe0, 0x88, 0x01, 0x10, 0x4e, 0x39, 0x2d, 0x3f, 0x2a, - 0xfc, 0xb0, 0x90, 0x60, 0x2a, 0x5e, 0x0e, 0xe4, 0xd3, 0x12, 0x10, 0x14, 0x83, 0xb2, 0x0c, 0x2d, 0x10, 0x82, 0xbe, - 0x99, 0x89, 0x51, 0x07, 0x67, 0x8c, 0xbe, 0x11, 0x31, 0xe0, 0x94, 0x02, 0x10, 0x8f, 0x39, 0x5d, 0x6b, 0x29, 0x5f, - 0x97, 0x2e, 0xfd, 0x8e, 0x9e, 0xca, 0x49, 0xe9, 0x85, 0xb0, 0x4d, 0xaf, 0x62, 0x5e, 0x8b, 0x4a, 0xa2, 0xeb, 0x65, - 0x73, 0x19, 0x1b, 0x9e, 0x2f, 0x5c, 0x9d, 0x56, 0x6f, 0xb6, 0xf0, 0xe1, 0x35, 0x17, 0x1f, 0x3e, 0x24, 0xb7, 0x2d, - 0xa3, 0xe0, 0xc3, 0x4e, 0xc3, 0x36, 0x72, 0x20, 0x08, 0xf0, 0xb7, 0xf5, 0xf5, 0x64, 0x6b, 0xb2, 0x15, 0x2e, 0x48, - 0x0f, 0xfb, 0x06, 0xdf, 0x0e, 0xc1, 0x9f, 0x68, 0xcd, 0x78, 0xcc, 0xd6, 0x3d, 0x34, 0xe4, 0xee, 0x65, 0x8d, 0x5f, - 0x30, 0x41, 0xe7, 0x67, 0x99, 0x79, 0x1f, 0x12, 0x5a, 0xee, 0x4b, 0xda, 0xe8, 0x11, 0xd3, 0x78, 0x14, 0x5d, 0x21, - 0xae, 0xf1, 0x2c, 0x3b, 0x3f, 0x1a, 0x1b, 0xb1, 0x9c, 0x38, 0x62, 0x3b, 0xcd, 0x2e, 0xdb, 0xe4, 0xd2, 0x52, 0x8d, - 0x6f, 0xef, 0x2a, 0x13, 0x8c, 0xaa, 0xa1, 0x7d, 0x5e, 0xd6, 0x67, 0x95, 0xcf, 0xfc, 0xfb, 0xfc, 0xad, 0x8b, 0x2a, - 0xc3, 0x1c, 0xa2, 0x19, 0x5f, 0xe3, 0x67, 0xa8, 0x4b, 0x28, 0xd2, 0x03, 0xf7, 0x7b, 0x99, 0xdd, 0x58, 0x73, 0x26, - 0x3f, 0xc2, 0x77, 0x4a, 0xb2, 0x0b, 0x6c, 0xc7, 0xbf, 0x8d, 0x7a, 0x2a, 0x94, 0x7e, 0xd4, 0x06, 0x16, 0x7f, 0x90, - 0xa4, 0x16, 0x24, 0x43, 0x09, 0x0e, 0xe2, 0xaa, 0x65, 0xef, 0xe9, 0x76, 0x6d, 0xc5, 0x82, 0x70, 0xe9, 0x6c, 0xed, - 0xe5, 0x8d, 0x69, 0x10, 0xe8, 0x44, 0x0b, 0xa3, 0xcd, 0xd9, 0x88, 0x79, 0xbc, 0xa1, 0x6a, 0x98, 0xbe, 0xa1, 0x34, - 0xb4, 0xc6, 0x17, 0xa0, 0x18, 0x26, 0x98, 0x22, 0xc2, 0xde, 0xb4, 0xf7, 0xf8, 0xc5, 0x86, 0xd5, 0x59, 0x50, 0xe3, - 0x55, 0x19, 0x21, 0x13, 0x97, 0x2b, 0x49, 0xf2, 0xe1, 0x3d, 0x81, 0xeb, 0xf8, 0xa7, 0xdd, 0x88, 0x77, 0x3d, 0xbe, - 0x93, 0x87, 0x65, 0x98, 0x98, 0x6e, 0xd1, 0x3a, 0x10, 0x43, 0x1c, 0x5b, 0xa1, 0x90, 0xa5, 0xfe, 0x58, 0xbd, 0x61, - 0x12, 0x8c, 0x9f, 0x1f, 0xac, 0xde, 0xcc, 0x8e, 0xff, 0x88, 0x06, 0x70, 0xee, 0x62, 0x1c, 0x81, 0x11, 0x66, 0x49, - 0x85, 0x1b, 0x65, 0x68, 0xa1, 0x8f, 0x8a, 0xab, 0xa9, 0x72, 0xe0, 0xc8, 0x12, 0xf2, 0x9a, 0xd2, 0xfe, 0x70, 0x3e, - 0xf3, 0xbb, 0x29, 0xf1, 0x33, 0x9d, 0x6e, 0xdf, 0xad, 0x1d, 0x56, 0x30, 0x1d, 0x07, 0xde, 0x1a, 0x29, 0xc8, 0xb1, - 0x14, 0xac, 0x6d, 0x39, 0x93, 0xe2, 0xb8, 0xa9, 0x3d, 0xeb, 0x55, 0x95, 0x9c, 0xd4, 0xfc, 0x6b, 0x9d, 0xac, 0x4d, - 0x3a, 0x73, 0x5b, 0x67, 0xfc, 0x74, 0x82, 0xbb, 0xf9, 0x5e, 0x69, 0x52, 0xf1, 0x3f, 0xcc, 0xaf, 0xb3, 0x64, 0xb5, - 0xf9, 0x78, 0xa1, 0x15, 0xb6, 0x89, 0x64, 0x80, 0xaf, 0xef, 0x34, 0x7d, 0x53, 0x20, 0x21, 0x6c, 0x57, 0xd3, 0xbd, - 0x0f, 0x0d, 0xd0, 0x9c, 0xb2, 0x13, 0xa4, 0xa8, 0x80, 0xd4, 0x9d, 0x58, 0x61, 0x90, 0x63, 0x60, 0x18, 0x3c, 0xf6, - 0x3e, 0xf5, 0x6e, 0x2d, 0x51, 0x57, 0x78, 0x2c, 0x34, 0x76, 0x63, 0xb0, 0x5a, 0x3e, 0x75, 0xe7, 0xff, 0x88, 0x5e, - 0xc1, 0xdf, 0x92, 0xf9, 0x1e, 0xf0, 0x0f, 0x82, 0x5a, 0xb6, 0x5a, 0x54, 0xde, 0x0a, 0xb9, 0x03, 0xfb, 0x78, 0x80, - 0x4f, 0x73, 0xf9, 0x40, 0x62, 0x6f, 0x8f, 0xcd, 0xdc, 0x75, 0x4d, 0xaf, 0xd5, 0x66, 0x6e, 0x75, 0xb4, 0x0c, 0x31, - 0x3a, 0x00, 0x20, 0x65, 0xc0, 0xf8, 0x29, 0xd6, 0x71, 0x67, 0xfc, 0x93, 0x79, 0xd0, 0xe7, 0x74, 0x7f, 0xf7, 0x3e, - 0x84, 0xdf, 0xd2, 0x12, 0xf1, 0x5d, 0xc4, 0xff, 0x1d, 0x5c, 0xf8, 0xd6, 0x31, 0x51, 0x25, 0x65, 0x07, 0x57, 0xe7, - 0xf0, 0x4d, 0xcf, 0x7b, 0x17, 0x57, 0x31, 0x8e, 0xbe, 0x87, 0x65, 0xf1, 0x47, 0x42, 0xa3, 0x29, 0x7c, 0x2d, 0x62, - 0x93, 0x97, 0xd0, 0x70, 0x33, 0x61, 0xb1, 0x8d, 0x2e, 0xcb, 0x1a, 0xc2, 0xeb, 0x7d, 0xa2, 0xb2, 0x8b, 0x27, 0x93, - 0x89, 0xba, 0xbe, 0x64, 0x29, 0xc0, 0xe5, 0xa6, 0x9a, 0xd1, 0x4b, 0xfb, 0x76, 0x8f, 0xba, 0xf4, 0x74, 0xff, 0xc1, - 0x65, 0x04, 0xaf, 0xd3, 0x66, 0xab, 0x3c, 0x37, 0x7d, 0x6a, 0x23, 0x3a, 0xa2, 0x7d, 0x5b, 0x57, 0xea, 0x05, 0x00, - 0x3a, 0xc0, 0x8b, 0xe3, 0x26, 0xba, 0x6a, 0xfa, 0xc7, 0x11, 0x90, 0xd6, 0xfc, 0x1e, 0x9b, 0x55, 0xb9, 0x91, 0x57, - 0x6a, 0x57, 0x09, 0xca, 0x8e, 0xf3, 0xe3, 0xbb, 0xd6, 0x5b, 0x3d, 0xbc, 0x54, 0x50, 0x29, 0xac, 0x6d, 0x7a, 0x6f, - 0xe9, 0xa4, 0xa7, 0x7d, 0x7e, 0x70, 0x5a, 0x50, 0x37, 0x74, 0xa9, 0xf5, 0x65, 0x07, 0x1e, 0xb5, 0x3e, 0x80, 0x9c, - 0xee, 0x60, 0x84, 0x23, 0x7a, 0x7f, 0x25, 0x6d, 0x09, 0xf0, 0x06, 0x68, 0x57, 0x9c, 0x80, 0xb6, 0x1d, 0x77, 0xe3, - 0xe6, 0x5b, 0xf8, 0xb3, 0x47, 0x90, 0x50, 0x5d, 0x75, 0x6e, 0xc9, 0xb4, 0x6b, 0x41, 0x45, 0x48, 0x2a, 0x24, 0x24, - 0x1c, 0x2e, 0x57, 0x97, 0x82, 0x51, 0x12, 0xd0, 0x57, 0x85, 0xc7, 0x43, 0xd9, 0xdb, 0x6e, 0x37, 0xae, 0x95, 0x91, - 0x64, 0x1a, 0xa8, 0x82, 0xc7, 0xd4, 0x1d, 0x72, 0x1f, 0x8f, 0x52, 0xb5, 0x90, 0x1e, 0xeb, 0x1f, 0x10, 0x24, 0x0d, - 0x0a, 0x1e, 0x99, 0x58, 0xdc, 0xd1, 0x40, 0xd4, 0x4a, 0x87, 0x1a, 0x66, 0xf6, 0x8e, 0x0b, 0x2e, 0xe6, 0xa8, 0x34, - 0xec, 0x32, 0xe0, 0x49, 0x66, 0x96, 0x41, 0x9f, 0x20, 0x77, 0x55, 0x3d, 0x15, 0xa6, 0xc3, 0x72, 0xc2, 0x00, 0xf1, - 0x94, 0xfa, 0x95, 0xdb, 0x5c, 0x37, 0xf8, 0x96, 0x24, 0x07, 0x60, 0xc0, 0xae, 0xb7, 0x42, 0xda, 0x2a, 0xdb, 0xa5, - 0xb2, 0xb1, 0x64, 0x25, 0x6c, 0xb8, 0xec, 0x62, 0x15, 0x01, 0xad, 0x20, 0xfa, 0x71, 0x8d, 0x30, 0x92, 0xfe, 0x42, - 0xa6, 0xd9, 0xb0, 0xfd, 0x39, 0xa6, 0xd5, 0x92, 0xdb, 0xb9, 0x25, 0xda, 0x00, 0x0d, 0xf8, 0x31, 0x86, 0xac, 0x25, - 0xb5, 0x26, 0xf6, 0xd6, 0xc5, 0xe4, 0xf9, 0x86, 0xe1, 0x69, 0x63, 0xd6, 0xcb, 0x64, 0xe3, 0xea, 0xc6, 0xa7, 0xb9, - 0x14, 0x1f, 0x0c, 0xba, 0x28, 0x4c, 0xa9, 0x39, 0x56, 0xe4, 0x5f, 0x02, 0xeb, 0xc2, 0x65, 0x42, 0xb2, 0x99, 0xca, - 0x84, 0x80, 0xc6, 0x6e, 0xcf, 0x08, 0x71, 0xf6, 0x03, 0x71, 0x26, 0xef, 0x2b, 0x5a, 0xd4, 0x20, 0x4f, 0x18, 0x8b, - 0x5f, 0xf6, 0xb0, 0xbb, 0x4d, 0xf3, 0xbc, 0x60, 0xcf, 0xb4, 0x62, 0x9d, 0x68, 0x26, 0x5c, 0x4f, 0xc9, 0xea, 0x1a, - 0x21, 0xe9, 0x53, 0xea, 0xf4, 0xc0, 0x8a, 0xa9, 0xbd, 0x53, 0x0a, 0x2c, 0x53, 0x10, 0x86, 0x76, 0xf2, 0xa8, 0x2c, - 0x29, 0xa9, 0x7a, 0x68, 0xbb, 0xb8, 0xa7, 0x50, 0x90, 0x31, 0xe2, 0xea, 0xb1, 0xcf, 0xcf, 0x00, 0x41, 0x79, 0x3a, - 0x83, 0x32, 0x7d, 0x4e, 0xb8, 0x91, 0xe7, 0x0c, 0x2d, 0xf2, 0x62, 0x62, 0x8e, 0x2a, 0x41, 0xd6, 0x48, 0xff, 0x55, - 0x84, 0x5c, 0x68, 0xf0, 0xf0, 0x48, 0x3a, 0x0d, 0xeb, 0x37, 0xc5, 0x0b, 0x0a, 0xce, 0x9f, 0xb2, 0x86, 0x18, 0xe7, - 0x86, 0x90, 0xe0, 0xfe, 0x70, 0x7f, 0xe6, 0x2e, 0x96, 0x11, 0x5a, 0xa5, 0x30, 0x2a, 0x2a, 0x99, 0x79, 0xe1, 0x87, - 0xb0, 0x0d, 0xf3, 0x62, 0x62, 0x50, 0x78, 0xdf, 0xa5, 0xf5, 0x99, 0x70, 0x88, 0xab, 0x6a, 0x8a, 0x79, 0x87, 0x14, - 0x35, 0x18, 0x4a, 0x6e, 0xf1, 0x5c, 0x33, 0x1a, 0x3d, 0xd6, 0x67, 0x46, 0x43, 0x6d, 0x92, 0xfc, 0x6a, 0x4e, 0xb0, - 0xb1, 0xe1, 0xa5, 0x90, 0xaa, 0x45, 0xc7, 0x01, 0xe1, 0x57, 0x1a, 0xc0, 0x5c, 0x68, 0x9a, 0xa7, 0x1d, 0x10, 0xb4, - 0xd2, 0x52, 0x0d, 0xa3, 0xaf, 0x08, 0x1e, 0x22, 0xa9, 0x1b, 0x83, 0x80, 0x8d, 0x60, 0x38, 0x04, 0xb4, 0xc5, 0x2f, - 0x2f, 0x7c, 0xa4, 0x61, 0xaa, 0x76, 0xec, 0x58, 0xce, 0x21, 0xa7, 0xca, 0xe0, 0x11, 0xff, 0x33, 0x11, 0x4c, 0xda, - 0xdc, 0x48, 0xbc, 0xa5, 0xec, 0xa6, 0x8e, 0xd3, 0xcc, 0x41, 0xfe, 0x96, 0x8e, 0xf6, 0x5a, 0xf9, 0xc2, 0x36, 0x99, - 0xb1, 0x57, 0xa3, 0x79, 0x28, 0x00, 0xb5, 0xff, 0x68, 0xdf, 0x65, 0xd1, 0x24, 0x7c, 0x3e, 0xbb, 0xef, 0x06, 0xf5, - 0x10, 0xd9, 0x99, 0x87, 0x62, 0xa5, 0xfb, 0x7a, 0xba, 0x34, 0x12, 0x1d, 0xc2, 0x35, 0xe6, 0x26, 0x9a, 0xed, 0x13, - 0x3d, 0x75, 0x26, 0xfb, 0xf9, 0xe8, 0x12, 0x2f, 0x67, 0x4e, 0x00, 0xd8, 0x23, 0x9e, 0x17, 0xdc, 0x51, 0xe2, 0x30, - 0xb5, 0xa9, 0x9d, 0x60, 0xa7, 0x3b, 0xda, 0xd8, 0xb5, 0x40, 0x29, 0x08, 0xa0, 0xf3, 0x7c, 0xfa, 0x7c, 0xfa, 0x32, - 0x86, 0xed, 0xd8, 0xc1, 0xe4, 0x64, 0x7e, 0xb1, 0x74, 0xcd, 0x6d, 0x91, 0xe9, 0xb0, 0xa4, 0x9b, 0x26, 0xe4, 0xbe, - 0x47, 0xe7, 0x36, 0xcf, 0xfa, 0xd3, 0xee, 0xda, 0x78, 0xa7, 0x21, 0x09, 0x8b, 0x00, 0xe5, 0xc5, 0x2e, 0x71, 0xe2, - 0xc0, 0x0d, 0xe7, 0xfb, 0x82, 0xc5, 0x82, 0x35, 0x12, 0x31, 0x44, 0x01, 0x19, 0x53, 0xff, 0xfc, 0x84, 0xee, 0xfa, - 0x1d, 0x5f, 0x0d, 0xa2, 0xe0, 0x98, 0x34, 0xd4, 0x9d, 0x57, 0x0f, 0xbb, 0x3e, 0xe6, 0x4c, 0x35, 0xc6, 0x7d, 0xee, - 0xfe, 0x80, 0x7d, 0xd7, 0x5a, 0xd3, 0x5c, 0x8f, 0x79, 0x69, 0x3b, 0xc5, 0x73, 0x0e, 0xe7, 0xf1, 0xe1, 0x7e, 0x1e, - 0xfc, 0x66, 0x78, 0x52, 0x29, 0xb6, 0x5d, 0x8e, 0x3c, 0xc9, 0x41, 0xd7, 0xf3, 0x1d, 0xfb, 0x78, 0x8f, 0xe1, 0x1e, - 0x24, 0x81, 0x0f, 0xaa, 0x54, 0x75, 0x96, 0xfb, 0x16, 0x0f, 0xc4, 0x06, 0x41, 0xe1, 0x75, 0x84, 0x78, 0x4d, 0x27, - 0xbf, 0x67, 0x07, 0xd8, 0x80, 0x2b, 0x20, 0x0f, 0xf8, 0x6c, 0xc5, 0x40, 0x5d, 0xc1, 0x90, 0xd9, 0xb7, 0x5b, 0x72, - 0x96, 0x66, 0x05, 0x3a, 0xe9, 0xf6, 0x26, 0x99, 0x5b, 0x0f, 0x34, 0xb0, 0x14, 0x89, 0x7c, 0xc9, 0xef, 0x58, 0x95, - 0x88, 0x45, 0x11, 0x9b, 0x4d, 0x3e, 0xc6, 0x62, 0x09, 0xf5, 0xfa, 0x52, 0xe4, 0x3d, 0x1f, 0x30, 0x67, 0x59, 0xc7, - 0xea, 0x9f, 0xc6, 0xee, 0x6e, 0x17, 0x31, 0xcc, 0xaf, 0x7f, 0xee, 0x81, 0xba, 0x58, 0x9e, 0xa7, 0xea, 0xcc, 0x30, - 0x82, 0xfd, 0x56, 0x2f, 0xb4, 0x1c, 0xb4, 0x31, 0x8f, 0xa9, 0xc9, 0x2d, 0xe9, 0xe3, 0x0b, 0xca, 0x89, 0x0e, 0xd0, - 0xfd, 0x15, 0x4a, 0xf7, 0x43, 0x47, 0x7d, 0xab, 0xfa, 0x7d, 0xe0, 0xa0, 0xea, 0x1c, 0x54, 0x77, 0x9c, 0x24, 0xb6, - 0x2b, 0x8a, 0x63, 0x58, 0x88, 0x6e, 0x0b, 0x76, 0xf8, 0x8c, 0x35, 0xcd, 0x1f, 0xe0, 0x80, 0xbb, 0x9b, 0x8c, 0x29, - 0x92, 0x4c, 0x3a, 0x9b, 0xd4, 0x1e, 0x00, 0xbd, 0x9f, 0xad, 0x73, 0x90, 0xbe, 0x5f, 0x3b, 0x54, 0xfb, 0xf3, 0xf8, - 0x80, 0xf3, 0x7c, 0xd9, 0xc4, 0x5c, 0x91, 0x38, 0x71, 0x85, 0x14, 0x74, 0x86, 0x50, 0xfa, 0x0b, 0x87, 0xbc, 0xcd, - 0xf3, 0xf4, 0xba, 0x99, 0xa8, 0x72, 0x27, 0xbb, 0x74, 0x82, 0x38, 0x78, 0x03, 0x01, 0x1e, 0x97, 0xfd, 0x5e, 0x6a, - 0xda, 0xe6, 0xc9, 0xed, 0x90, 0xd5, 0xea, 0xca, 0x77, 0xda, 0x07, 0x7c, 0x73, 0x93, 0x91, 0xc6, 0xf9, 0x9e, 0x87, - 0x9e, 0xca, 0xbe, 0x91, 0x35, 0x49, 0xed, 0xb7, 0x40, 0xc7, 0x55, 0x49, 0xc7, 0x18, 0x0d, 0x27, 0xf3, 0xe8, 0xbf, - 0x03, 0x31, 0x1c, 0xae, 0xcc, 0xbe, 0xd1, 0x38, 0x52, 0x74, 0xf8, 0xf2, 0xb0, 0x05, 0x47, 0xec, 0x49, 0x7c, 0x2f, - 0x5e, 0xe5, 0x4a, 0x97, 0xe8, 0x04, 0xb8, 0xed, 0x5d, 0x79, 0x63, 0xd3, 0xe5, 0xf3, 0xbf, 0x8f, 0x06, 0xdf, 0x1c, - 0x11, 0x31, 0x05, 0xaa, 0x24, 0xf6, 0xc1, 0xe6, 0x7b, 0x48, 0x68, 0xb2, 0x4b, 0x54, 0x61, 0xe8, 0x81, 0xb7, 0xd9, - 0xc6, 0x2d, 0x1c, 0x71, 0xf5, 0x55, 0x48, 0x80, 0xbd, 0x5c, 0xf7, 0xcc, 0xe8, 0x1e, 0xfc, 0xd4, 0xb4, 0x52, 0x84, - 0xc4, 0x37, 0x17, 0xf7, 0x0d, 0x1b, 0x8d, 0x58, 0xf6, 0x42, 0x66, 0x5d, 0x3c, 0x4a, 0xd1, 0xd3, 0x2a, 0xc3, 0xe9, - 0xa5, 0x3c, 0x27, 0x26, 0xab, 0x2c, 0xc8, 0x86, 0xae, 0x9e, 0xbe, 0xe5, 0xba, 0xf7, 0x56, 0x43, 0xf6, 0x12, 0xdf, - 0xbd, 0x72, 0x17, 0x20, 0xc7, 0xc4, 0xd3, 0x19, 0xd8, 0x05, 0xa9, 0x68, 0xaf, 0x97, 0x15, 0x36, 0x38, 0x56, 0x89, - 0xed, 0x14, 0x7c, 0x20, 0x36, 0x9f, 0x0b, 0x2e, 0x15, 0xa4, 0x2f, 0xc9, 0xfa, 0xfc, 0x2a, 0xc4, 0x1a, 0x98, 0x24, - 0xf0, 0xfe, 0xb3, 0x2c, 0x66, 0xfb, 0x12, 0x07, 0x08, 0x1c, 0x17, 0xef, 0x7b, 0x40, 0xef, 0x6f, 0x39, 0x92, 0x99, - 0x1c, 0xac, 0xc5, 0x7d, 0xc9, 0xcc, 0x08, 0xfe, 0xeb, 0xc7, 0x3b, 0x6b, 0x85, 0x8a, 0x5c, 0x8f, 0x61, 0x42, 0xb1, - 0xfb, 0x6e, 0xe7, 0x38, 0x37, 0x55, 0x82, 0x33, 0xa8, 0xe5, 0xef, 0xef, 0x78, 0x89, 0x86, 0x24, 0xe3, 0x36, 0x80, - 0xba, 0xac, 0x98, 0x74, 0x01, 0x2e, 0xea, 0xad, 0xc8, 0xd8, 0x51, 0xb0, 0xc7, 0x52, 0x6b, 0x76, 0x9c, 0x03, 0xc9, - 0xae, 0x16, 0x1a, 0x6d, 0x89, 0x22, 0xf7, 0x02, 0x62, 0x97, 0xcc, 0xf7, 0x75, 0xc5, 0x91, 0xee, 0x2a, 0x65, 0x4a, - 0x65, 0x4e, 0x39, 0x79, 0x92, 0x52, 0x7f, 0x63, 0xa8, 0x7a, 0xea, 0x0b, 0xec, 0x99, 0xb9, 0x3c, 0x5e, 0xcf, 0x37, - 0x7e, 0x24, 0x78, 0xbf, 0x56, 0x0c, 0x82, 0x58, 0xa1, 0xd9, 0x2e, 0x61, 0x32, 0x50, 0xa3, 0x3c, 0x39, 0x6e, 0x2c, - 0x37, 0x5e, 0xe2, 0x5f, 0x74, 0x95, 0x58, 0x99, 0x9f, 0xf5, 0x05, 0xb9, 0x0e, 0xde, 0xeb, 0x32, 0x2f, 0x49, 0xad, - 0xff, 0xb0, 0x3d, 0x1e, 0x4e, 0xd4, 0xaf, 0x37, 0xcc, 0xf3, 0xbb, 0x81, 0x54, 0x66, 0xdb, 0x51, 0x94, 0x95, 0x19, - 0x51, 0x0e, 0xed, 0x36, 0x01, 0xed, 0xa5, 0x5b, 0x5c, 0x40, 0xdd, 0xd8, 0xa2, 0x4b, 0x88, 0x61, 0xa0, 0xb8, 0x95, - 0x49, 0xa8, 0xce, 0xc6, 0x21, 0x4d, 0x29, 0x64, 0x8f, 0x88, 0xc5, 0x84, 0x85, 0xfa, 0xa7, 0xc3, 0xd3, 0xac, 0x06, - 0x5a, 0xef, 0x91, 0x6a, 0x8e, 0x15, 0xef, 0x1a, 0xaa, 0xb1, 0xb0, 0xd1, 0x2a, 0xff, 0x22, 0xc7, 0x8d, 0x43, 0x94, - 0x37, 0x5d, 0xe8, 0xe8, 0xc2, 0xbf, 0xa6, 0xd2, 0x49, 0x03, 0x2e, 0xce, 0xc5, 0x91, 0x04, 0xfe, 0xdf, 0xba, 0x24, - 0x42, 0xf1, 0x5b, 0xc4, 0x8a, 0x20, 0xbe, 0x36, 0xad, 0xfc, 0x6b, 0x27, 0x7d, 0x4e, 0xbc, 0xa3, 0x5d, 0xa5, 0x9a, - 0x49, 0x78, 0x31, 0x9c, 0xc8, 0x7c, 0x72, 0xe0, 0xc2, 0x57, 0x3e, 0x99, 0xec, 0xfe, 0x48, 0x28, 0x9f, 0xd8, 0xb3, - 0xc9, 0x71, 0x5a, 0x3b, 0xea, 0xfc, 0xe0, 0x97, 0x62, 0x07, 0xf3, 0xb0, 0x68, 0x53, 0x14, 0x8a, 0x5a, 0x1d, 0x8a, - 0x97, 0x45, 0x24, 0x82, 0x26, 0x14, 0xab, 0x87, 0x09, 0xc0, 0xc7, 0x4b, 0x8c, 0x72, 0x9f, 0xb5, 0x75, 0xa4, 0xfa, - 0xde, 0x84, 0x60, 0x65, 0xa0, 0xf6, 0xe8, 0x1c, 0x68, 0x13, 0x9b, 0x7a, 0xcc, 0xf2, 0x52, 0xab, 0x15, 0xee, 0x9a, - 0xd7, 0x71, 0x19, 0x5a, 0x95, 0xfc, 0x13, 0x64, 0x37, 0x9a, 0x53, 0x0c, 0x01, 0x45, 0x5f, 0x6e, 0x26, 0xb8, 0xe5, - 0xbe, 0x3f, 0x60, 0x38, 0x51, 0x9a, 0x15, 0xed, 0x29, 0x7a, 0x29, 0x12, 0xf3, 0x31, 0x96, 0x8e, 0xdf, 0xb3, 0x39, - 0xad, 0x28, 0x7d, 0x76, 0x67, 0xa0, 0xb8, 0x09, 0x74, 0x59, 0x37, 0x35, 0x4e, 0xd8, 0xb3, 0xb4, 0x6c, 0xf7, 0xdc, - 0xca, 0xb1, 0xa2, 0xad, 0x51, 0xc6, 0x4c, 0xaf, 0x34, 0x4b, 0x12, 0x18, 0xfe, 0xb1, 0xd5, 0x38, 0x0a, 0x07, 0xec, - 0x3a, 0xeb, 0xe1, 0x57, 0x68, 0xd8, 0x66, 0xca, 0x3f, 0xd2, 0xe2, 0xb9, 0xf8, 0x64, 0x6a, 0x30, 0xbf, 0x17, 0xa8, - 0x90, 0xb8, 0xf8, 0x4c, 0x34, 0xfd, 0x3e, 0xda, 0x5f, 0x47, 0x05, 0xc8, 0x98, 0x2a, 0x63, 0xe5, 0xff, 0x2b, 0x6d, - 0xd9, 0x6e, 0xc7, 0x71, 0xcd, 0x90, 0xc8, 0xa0, 0xd2, 0xe3, 0x2e, 0xee, 0xe9, 0xd7, 0xd1, 0x7f, 0x89, 0xa8, 0xae, - 0xdc, 0x79, 0x45, 0x5d, 0xf3, 0x5d, 0x52, 0x8b, 0xcc, 0x5e, 0xbf, 0x7b, 0xd5, 0x2a, 0x75, 0x50, 0x63, 0x5b, 0x6c, - 0xbc, 0xae, 0x2d, 0x7e, 0x7d, 0x00, 0xcd, 0xde, 0xe4, 0x37, 0xb3, 0x5d, 0x75, 0x8d, 0xd4, 0xa9, 0xd1, 0xd8, 0x31, - 0x8c, 0xde, 0xde, 0x0c, 0xbb, 0x0d, 0x3e, 0xb6, 0x46, 0x40, 0xab, 0x98, 0xbd, 0xfe, 0xbd, 0x0a, 0x0a, 0x7d, 0xab, - 0x9f, 0xc7, 0xba, 0xc9, 0xb8, 0xfc, 0xa1, 0x82, 0x40, 0x33, 0x4b, 0xe4, 0x51, 0x1e, 0x37, 0x8f, 0xde, 0x7a, 0xe2, - 0xb7, 0x36, 0xcf, 0xdd, 0xe4, 0x9e, 0x7c, 0xda, 0xaf, 0xe2, 0x36, 0x57, 0xf5, 0x2d, 0xe3, 0x2a, 0xe8, 0xb0, 0xdc, - 0x96, 0xaf, 0x0c, 0xbf, 0x57, 0xd0, 0xe1, 0x14, 0xfd, 0xfb, 0xe4, 0x0f, 0x1b, 0xb6, 0x8f, 0xda, 0x94, 0x50, 0x39, - 0x34, 0xbf, 0x51, 0x1f, 0x12, 0x98, 0x22, 0xb3, 0x8b, 0x3a, 0xe7, 0x5c, 0xb4, 0xa3, 0x65, 0x53, 0x6d, 0xad, 0x21, - 0xa1, 0x24, 0x90, 0x6a, 0x09, 0xc6, 0xad, 0xfd, 0x39, 0x69, 0x8f, 0xb8, 0x56, 0x50, 0x0e, 0x9d, 0xa3, 0xcc, 0x6f, - 0x45, 0xc8, 0xe7, 0x39, 0x6c, 0x6f, 0x71, 0xe0, 0x47, 0x10, 0x9f, 0x2b, 0x5a, 0x07, 0xf2, 0xfc, 0x51, 0x56, 0x2e, - 0x67, 0xb5, 0x6f, 0x27, 0x11, 0x33, 0x55, 0x3b, 0xb0, 0xe5, 0x05, 0xaf, 0xcc, 0x16, 0x76, 0xf7, 0xa4, 0x63, 0xbd, - 0xc1, 0xdf, 0x1f, 0x12, 0xd7, 0xa1, 0x1f, 0x79, 0xc9, 0x61, 0x5b, 0xd6, 0x53, 0xea, 0x56, 0xc7, 0x69, 0x37, 0xc5, - 0x62, 0x3b, 0xeb, 0x44, 0x6f, 0x83, 0xed, 0x6a, 0xe7, 0x51, 0x3e, 0x9d, 0x39, 0xc6, 0x35, 0xe9, 0x72, 0x3f, 0xa6, - 0xe9, 0x54, 0x6b, 0x88, 0x96, 0x2d, 0xa5, 0x7b, 0xac, 0x57, 0x2c, 0x60, 0x6b, 0xf6, 0xfe, 0xa1, 0x68, 0xeb, 0xa2, - 0x2d, 0x25, 0x28, 0x66, 0x6a, 0xf3, 0xd6, 0x22, 0x98, 0x3f, 0x92, 0x37, 0xeb, 0xa4, 0xce, 0x44, 0x5b, 0x53, 0x9f, - 0xfc, 0xa3, 0xa9, 0x47, 0xde, 0x17, 0x2c, 0xc5, 0x42, 0x3f, 0xac, 0x77, 0x0b, 0x8c, 0x25, 0xf4, 0x8c, 0xa1, 0x6d, - 0xce, 0xad, 0x23, 0x97, 0x90, 0xe5, 0x30, 0xe5, 0x8a, 0xc3, 0x69, 0x0e, 0x91, 0x25, 0xdd, 0xff, 0x97, 0xb7, 0x5e, - 0xcb, 0x48, 0xaf, 0x4f, 0xe8, 0xb8, 0x53, 0xf8, 0xf3, 0x32, 0x59, 0x40, 0x39, 0xd6, 0x56, 0x7a, 0x5e, 0xd9, 0x17, - 0x91, 0xf9, 0x28, 0x2e, 0xfc, 0x1f, 0xbe, 0xf2, 0x58, 0xfa, 0x9d, 0x75, 0xfd, 0x98, 0xba, 0xe4, 0xaf, 0xb9, 0x8f, - 0x86, 0x4e, 0x5a, 0x08, 0x99, 0xfc, 0x9f, 0x48, 0xca, 0x8e, 0x2c, 0xc2, 0xa3, 0x03, 0x9c, 0xc0, 0xce, 0x9d, 0x6c, - 0x49, 0x2b, 0x21, 0x19, 0x88, 0xae, 0xd1, 0x1c, 0xcd, 0x40, 0x36, 0x69, 0x03, 0x21, 0x3c, 0x6e, 0xce, 0x7d, 0x97, - 0xb9, 0x44, 0xfa, 0x65, 0x1e, 0xcd, 0xd0, 0x3d, 0x33, 0x64, 0xd1, 0x04, 0xa2, 0x23, 0x29, 0xc3, 0x56, 0xdb, 0xee, - 0xaf, 0x26, 0x76, 0x1f, 0x67, 0xd4, 0xb7, 0x07, 0xdc, 0x67, 0x84, 0x94, 0xdb, 0x51, 0x8e, 0x9a, 0x7e, 0xf0, 0x55, - 0x6b, 0x37, 0x87, 0x50, 0x17, 0x33, 0xe4, 0xb2, 0x00, 0x25, 0xbc, 0x58, 0xef, 0xeb, 0xf3, 0x13, 0xfd, 0xf1, 0x97, - 0x89, 0x21, 0xaa, 0x9a, 0x35, 0x69, 0x8a, 0x01, 0xb8, 0x8d, 0x39, 0xdf, 0xed, 0xbc, 0xf3, 0xe1, 0xdc, 0x6c, 0x41, - 0x98, 0xad, 0xa0, 0x18, 0xdd, 0x7c, 0x6c, 0xb0, 0x20, 0x88, 0xd7, 0x9f, 0x28, 0x51, 0xa4, 0x07, 0xf5, 0xc9, 0xd4, - 0x97, 0xb2, 0x90, 0x41, 0x8a, 0x86, 0x45, 0xd1, 0xad, 0x6e, 0x59, 0xd7, 0x05, 0x7f, 0x0a, 0x43, 0x96, 0x6f, 0x60, - 0x78, 0xb2, 0x49, 0xd2, 0xb9, 0x2e, 0x61, 0x8a, 0x27, 0xf3, 0x32, 0x47, 0x2a, 0xf3, 0x3e, 0x43, 0x3b, 0xbd, 0xfd, - 0xe4, 0x1f, 0xd8, 0x0a, 0x87, 0xfa, 0x32, 0x39, 0xf9, 0xdb, 0x07, 0xfe, 0xfe, 0xac, 0x65, 0xc5, 0xd4, 0x72, 0xb5, - 0x98, 0xac, 0xbc, 0x2a, 0x38, 0xa7, 0x24, 0x2a, 0xb8, 0xb4, 0xa2, 0xf3, 0x03, 0x0f, 0x89, 0x6d, 0xfc, 0xa5, 0x40, - 0xe6, 0xe2, 0x91, 0xbd, 0x67, 0x07, 0xb5, 0x46, 0x20, 0x14, 0xc4, 0x2c, 0xaa, 0x05, 0xbe, 0x33, 0x59, 0x37, 0x66, - 0xf6, 0x92, 0x14, 0x68, 0x31, 0x1a, 0x6c, 0xfb, 0xd1, 0x47, 0x43, 0xbc, 0x2a, 0x85, 0x2b, 0xc9, 0xf8, 0xb3, 0x15, - 0xa6, 0x24, 0x0c, 0x59, 0xb9, 0x83, 0xbb, 0x2c, 0x56, 0xae, 0x45, 0x2e, 0x5f, 0xde, 0x7f, 0x9c, 0xaa, 0xda, 0x7b, - 0x44, 0x2c, 0x78, 0xfd, 0x4c, 0x51, 0xd5, 0x1a, 0x50, 0x26, 0xa3, 0x3b, 0xc6, 0x5d, 0x2c, 0xd4, 0x28, 0x6b, 0x66, - 0x57, 0xa0, 0xe6, 0xd8, 0xa6, 0xa2, 0x10, 0xe0, 0x8f, 0xb7, 0x97, 0xca, 0x05, 0x1e, 0xcc, 0x0d, 0x85, 0x28, 0xa3, - 0x2c, 0xdf, 0x99, 0x8c, 0x85, 0xd1, 0x51, 0x2b, 0xc3, 0xbf, 0x89, 0x62, 0xf5, 0xdc, 0xb3, 0xd7, 0xc7, 0x49, 0xaf, - 0x1b, 0x61, 0xa0, 0xa9, 0x2c, 0x9b, 0x6e, 0xdb, 0xd6, 0x6d, 0x85, 0x6f, 0xaa, 0x15, 0xc8, 0x53, 0x80, 0xd6, 0x55, - 0xd8, 0x08, 0x38, 0x83, 0x63, 0xf6, 0x65, 0x80, 0x1e, 0x1a, 0x18, 0xab, 0xbf, 0xb4, 0x62, 0xb8, 0xb5, 0x21, 0xa8, - 0x07, 0xf1, 0xcb, 0x5c, 0x20, 0x64, 0x60, 0x81, 0x1d, 0x8d, 0xdc, 0x89, 0xdf, 0x76, 0x7a, 0x9f, 0x7e, 0xaf, 0x97, - 0x8d, 0xb6, 0x46, 0xc8, 0xac, 0xac, 0xb0, 0xdc, 0xe9, 0xde, 0xe9, 0x21, 0x6a, 0x94, 0x58, 0xe7, 0x2c, 0x34, 0x97, - 0xdd, 0x59, 0x35, 0x08, 0xae, 0x7e, 0x30, 0x28, 0x90, 0x1c, 0x0c, 0xc5, 0x76, 0x19, 0x41, 0xd0, 0x10, 0xd4, 0x47, - 0x79, 0x09, 0xb0, 0x66, 0x90, 0x43, 0x2b, 0xa3, 0xc5, 0xbf, 0xea, 0x8b, 0xfe, 0xd3, 0xff, 0xb1, 0xe8, 0x5d, 0x13, - 0x60, 0xd9, 0x1e, 0xae, 0x67, 0x67, 0x78, 0xc1, 0x0c, 0x1a, 0x15, 0xa3, 0x3d, 0x84, 0x53, 0x73, 0x9a, 0x88, 0x41, - 0x2d, 0x85, 0xd8, 0xfe, 0xc4, 0xa3, 0xe5, 0xe4, 0xc8, 0x43, 0xfe, 0xdb, 0x87, 0x12, 0x16, 0x9d, 0xe6, 0xcb, 0x73, - 0x04, 0x77, 0x05, 0x4e, 0x71, 0x82, 0xd9, 0xc2, 0xfe, 0xc9, 0x97, 0x4f, 0xa5, 0x89, 0x39, 0x74, 0x81, 0xa1, 0xcc, - 0xd5, 0x33, 0x22, 0x6f, 0x17, 0x99, 0xd1, 0xaa, 0x54, 0x09, 0x2d, 0x90, 0x43, 0xa6, 0xfc, 0x3c, 0x66, 0xc1, 0xa8, - 0x61, 0x3f, 0xd7, 0x8d, 0x64, 0x1f, 0x02, 0x33, 0x62, 0x8b, 0xda, 0x5c, 0x14, 0x83, 0x70, 0x85, 0xb8, 0xc9, 0x46, - 0xeb, 0x82, 0x96, 0x9e, 0xd2, 0x2e, 0xa9, 0xc8, 0x4d, 0x3c, 0xee, 0xc7, 0x51, 0xb8, 0xd5, 0xf2, 0x56, 0x8c, 0xde, - 0x83, 0x53, 0x59, 0xef, 0x1f, 0xe3, 0x0f, 0x86, 0x03, 0xc4, 0x51, 0x5c, 0x71, 0x62, 0xf7, 0xc3, 0xc5, 0x5f, 0xce, - 0xdc, 0x9e, 0x02, 0x97, 0x47, 0x6a, 0xf9, 0x72, 0xc5, 0xff, 0x13, 0x1f, 0xdd, 0x85, 0xd4, 0x0c, 0xe5, 0x07, 0xc1, - 0x03, 0x8f, 0xbc, 0x84, 0x8f, 0xfe, 0x0c, 0x3a, 0xfc, 0x6a, 0xe5, 0xb7, 0x53, 0xbf, 0x09, 0xef, 0x2d, 0xdc, 0x5e, - 0x6b, 0xae, 0xd6, 0x35, 0x56, 0x09, 0xe3, 0x0b, 0x6d, 0x3d, 0xfe, 0x92, 0x34, 0x26, 0x8c, 0xb3, 0x73, 0x0e, 0x0b, - 0x8d, 0x20, 0xc1, 0x2c, 0xb8, 0x49, 0x8f, 0x0f, 0x5c, 0xa6, 0x15, 0x51, 0x82, 0x10, 0x92, 0xcc, 0xf7, 0x63, 0xe8, - 0x2a, 0xb1, 0x1d, 0x89, 0x64, 0x54, 0x16, 0x87, 0x46, 0x9c, 0xaa, 0xf8, 0x69, 0x8a, 0x75, 0xc2, 0xa7, 0x9a, 0x81, - 0x87, 0x38, 0x89, 0xbc, 0xef, 0xec, 0xe6, 0x3d, 0x40, 0x2b, 0x0a, 0xd5, 0x0a, 0xfa, 0x2a, 0x9a, 0xb6, 0xfe, 0x7a, - 0x7b, 0x8f, 0x6d, 0x97, 0x3c, 0xa1, 0xd7, 0x73, 0xfc, 0xab, 0xda, 0xd5, 0x5a, 0x39, 0xa5, 0x6b, 0xfd, 0x74, 0xbb, - 0xb0, 0x98, 0x35, 0x7a, 0xbc, 0x98, 0x21, 0x6f, 0x05, 0xde, 0x6a, 0x7c, 0x8a, 0x36, 0x68, 0x82, 0xfb, 0x56, 0x6d, - 0x76, 0xc8, 0x4a, 0xb8, 0xfe, 0xac, 0x9e, 0x54, 0x92, 0x70, 0xa0, 0x31, 0x70, 0x58, 0x74, 0x19, 0xb4, 0x99, 0x3b, - 0x35, 0x70, 0x57, 0x24, 0x87, 0xd6, 0x1f, 0x58, 0xd1, 0x6c, 0xb5, 0x85, 0x0e, 0x34, 0x30, 0x0d, 0x7e, 0x1c, 0x99, - 0x79, 0x2c, 0xff, 0xd0, 0xf3, 0x5f, 0x06, 0x89, 0xae, 0xe3, 0x13, 0xec, 0x43, 0xf2, 0x45, 0x05, 0x4d, 0x87, 0x27, - 0x14, 0x2c, 0x3a, 0xc9, 0xd5, 0x26, 0x77, 0x19, 0x73, 0x28, 0xcb, 0x5d, 0xf5, 0x37, 0x23, 0xd1, 0xe9, 0xab, 0xf7, - 0x7c, 0x47, 0x3a, 0x2d, 0x6c, 0x08, 0x25, 0xce, 0x2f, 0x51, 0x5f, 0x71, 0x70, 0x66, 0xb1, 0x9e, 0xfe, 0xeb, 0xb5, - 0x4e, 0x58, 0x7b, 0xf0, 0x70, 0x58, 0xde, 0xb8, 0x20, 0xbf, 0x30, 0xd2, 0x92, 0x86, 0x01, 0x34, 0x5c, 0xb4, 0x38, - 0x35, 0xcb, 0x39, 0xf0, 0xc8, 0x2b, 0x73, 0xa2, 0x06, 0xaa, 0x3b, 0x7d, 0x1a, 0x1d, 0x94, 0xe0, 0x29, 0x5e, 0x9a, - 0xb2, 0x16, 0xd3, 0xf2, 0xa4, 0xd5, 0x1a, 0x4a, 0xbf, 0xb2, 0x24, 0x5d, 0x2b, 0x7c, 0x3a, 0xd7, 0xb4, 0x6a, 0xa8, - 0xc1, 0xbc, 0x0b, 0x02, 0xac, 0x28, 0x89, 0x5b, 0x9b, 0xe5, 0xdb, 0x6f, 0x7f, 0xd9, 0xe1, 0x18, 0x26, 0x3f, 0x7f, - 0x59, 0xc4, 0x6f, 0x1f, 0x6a, 0x98, 0xc7, 0x3c, 0x10, 0x17, 0x4f, 0x27, 0xfa, 0x39, 0xf5, 0x04, 0xcf, 0xa4, 0x5d, - 0xc4, 0x86, 0xd1, 0x80, 0xf3, 0xb7, 0x75, 0xab, 0x58, 0x58, 0x3b, 0x80, 0x61, 0x2e, 0xe8, 0x6b, 0x00, 0x18, 0x8e, - 0x50, 0x76, 0x21, 0x5a, 0x85, 0xea, 0xbd, 0xd1, 0x20, 0x6d, 0x6c, 0xb5, 0x27, 0x5a, 0x44, 0x10, 0x51, 0xbc, 0x8c, - 0x51, 0x0a, 0x8d, 0x41, 0x5e, 0xe2, 0x52, 0xb5, 0xc2, 0xce, 0xcb, 0x16, 0xfc, 0xb9, 0x70, 0x2a, 0x10, 0x44, 0x4d, - 0x64, 0x16, 0xb2, 0x91, 0x0d, 0x55, 0xda, 0x94, 0xd7, 0x59, 0xad, 0x46, 0x5c, 0xf3, 0xe1, 0xcd, 0x89, 0x05, 0xe4, - 0xec, 0xc0, 0xb6, 0x20, 0x0e, 0xab, 0x66, 0xc8, 0x89, 0x3e, 0xa7, 0x2d, 0xa3, 0xe7, 0x5b, 0xad, 0xb1, 0x53, 0xde, - 0x15, 0xea, 0x7e, 0xce, 0x47, 0x2c, 0x0c, 0x48, 0xed, 0xce, 0xff, 0x27, 0x68, 0x67, 0xdf, 0x97, 0x2b, 0x1d, 0xfe, - 0xe6, 0x6d, 0x31, 0x97, 0xdc, 0x8b, 0xa3, 0xc8, 0x15, 0xc7, 0x54, 0x08, 0x63, 0x5c, 0x84, 0x17, 0xfb, 0xe1, 0x55, - 0x67, 0x50, 0xe7, 0x65, 0x40, 0x43, 0x8e, 0x07, 0xf6, 0xde, 0x83, 0xa0, 0xc5, 0x17, 0x7b, 0x8b, 0xc6, 0x1a, 0x94, - 0x17, 0xc5, 0xb6, 0x0f, 0x20, 0xc3, 0xa6, 0xdc, 0xff, 0x8f, 0x9b, 0x17, 0xb9, 0x4b, 0x36, 0x12, 0x2f, 0x71, 0x29, - 0x5c, 0xb5, 0xf1, 0x77, 0x49, 0x05, 0x9f, 0x36, 0x62, 0x10, 0xcd, 0xb5, 0x93, 0x7f, 0x83, 0x65, 0xcb, 0xea, 0x2e, - 0xe5, 0xe1, 0xde, 0x81, 0x09, 0x8f, 0x6f, 0x6e, 0xbc, 0x0a, 0x0b, 0x7b, 0x38, 0x0c, 0x33, 0xde, 0xe3, 0x2e, 0x76, - 0xbd, 0xad, 0xaa, 0xd8, 0x2e, 0x32, 0xe6, 0xa2, 0xa9, 0x35, 0x46, 0x33, 0xb8, 0xb9, 0xa1, 0x85, 0xed, 0xdf, 0x4a, - 0xe8, 0x68, 0xf1, 0xb0, 0x75, 0x17, 0xe2, 0xe5, 0x75, 0xa1, 0x76, 0x14, 0x5c, 0xb2, 0x91, 0x94, 0x2c, 0xc8, 0xb0, - 0xee, 0x3b, 0xce, 0x01, 0x34, 0x85, 0xab, 0x11, 0xb7, 0x6b, 0xd9, 0x7e, 0x2d, 0xfd, 0xcb, 0xf2, 0x71, 0x33, 0xe8, - 0x90, 0x73, 0xa0, 0x10, 0x5f, 0x08, 0xd9, 0x9c, 0x10, 0x9d, 0xb4, 0x6d, 0xf5, 0x5e, 0x84, 0x23, 0xbf, 0x52, 0x64, - 0xea, 0x9f, 0x37, 0x33, 0x4c, 0xb5, 0x1e, 0xc1, 0xc0, 0x0e, 0x09, 0x57, 0xbf, 0xc5, 0xd0, 0xba, 0x65, 0xc0, 0xc6, - 0xaf, 0xe8, 0x6d, 0x3c, 0xab, 0x45, 0x0a, 0xf9, 0x05, 0x51, 0xdf, 0x5a, 0xd1, 0x04, 0xd7, 0xdd, 0x0b, 0x6b, 0x08, - 0xf3, 0x7b, 0x1a, 0x72, 0x0f, 0x6a, 0x03, 0xf9, 0x34, 0xdf, 0xef, 0x52, 0xf3, 0x07, 0x1c, 0xc1, 0x18, 0xe7, 0x1c, - 0xec, 0x9a, 0x7b, 0x6e, 0x8d, 0xa6, 0xaa, 0x6d, 0x03, 0x7b, 0x4b, 0xd7, 0xa3, 0x16, 0x1e, 0xbf, 0xed, 0xde, 0x3a, - 0xcb, 0x0e, 0xe3, 0x4d, 0xb9, 0x80, 0x8a, 0x45, 0x7b, 0xa1, 0xf2, 0x2c, 0x97, 0x31, 0x2e, 0x55, 0x20, 0x4e, 0x60, - 0x41, 0x4a, 0x6a, 0x6e, 0xca, 0x70, 0xcb, 0xd6, 0x65, 0x70, 0x34, 0x21, 0xdd, 0xfa, 0xf3, 0xcc, 0xe7, 0x66, 0x72, - 0x54, 0xd1, 0xa7, 0x08, 0xcc, 0x12, 0x7d, 0x5a, 0xc0, 0x51, 0xa6, 0xaf, 0x4b, 0x11, 0x24, 0xe2, 0xdd, 0xa0, 0xcf, - 0xb5, 0x02, 0x45, 0x21, 0x31, 0xf2, 0x2e, 0x7a, 0xb4, 0x40, 0x3f, 0x78, 0x1a, 0x8c, 0x49, 0x7c, 0xfa, 0xef, 0xb2, - 0x57, 0xf1, 0x29, 0x59, 0xca, 0xfa, 0xde, 0x90, 0x4a, 0xe4, 0x24, 0x0d, 0x91, 0x74, 0x7e, 0xaa, 0xc0, 0xd4, 0x71, - 0xee, 0xcd, 0x5f, 0xa1, 0x1f, 0x7a, 0x2b, 0x26, 0x08, 0xd8, 0x8f, 0x71, 0x11, 0xd7, 0xe5, 0x0b, 0xfb, 0x98, 0x0e, - 0xcc, 0x02, 0xa3, 0xd5, 0x19, 0xf1, 0x40, 0xd2, 0x49, 0xb0, 0x94, 0x5d, 0x33, 0x97, 0x3a, 0x00, 0xe4, 0x6b, 0x93, - 0xcb, 0xde, 0x11, 0xe2, 0x4b, 0x76, 0x7d, 0x47, 0x10, 0x29, 0x53, 0xad, 0xa2, 0x1d, 0xb9, 0x47, 0x9a, 0x08, 0x96, - 0xea, 0x14, 0x2d, 0x6d, 0xb3, 0xed, 0xed, 0xec, 0x78, 0xee, 0xef, 0x72, 0x5f, 0x61, 0x8a, 0x16, 0xd4, 0xdf, 0xc5, - 0x45, 0x52, 0x55, 0x10, 0x21, 0x66, 0x70, 0x83, 0xb3, 0x31, 0xe2, 0x52, 0xa9, 0xe4, 0xcf, 0xf6, 0x40, 0x73, 0xd3, - 0xab, 0xd4, 0x54, 0xb8, 0x1a, 0x0b, 0x9b, 0xd8, 0x52, 0x3b, 0xb0, 0x44, 0x82, 0x07, 0x4f, 0x6f, 0x71, 0x5f, 0x96, - 0xbb, 0x13, 0xc1, 0x69, 0xd1, 0xd2, 0x13, 0x0f, 0xcb, 0x44, 0xbe, 0x93, 0xdd, 0xee, 0x9a, 0x22, 0xcd, 0x1e, 0x37, - 0xe9, 0x0e, 0x47, 0x29, 0x63, 0x55, 0x69, 0xde, 0x81, 0x6b, 0x2e, 0x81, 0x8b, 0x8e, 0x11, 0xad, 0x87, 0x26, 0xf5, - 0x69, 0x00, 0x5a, 0x40, 0xb5, 0x16, 0x39, 0x0e, 0xea, 0x80, 0x89, 0x2b, 0x1a, 0x06, 0x97, 0x00, 0xb1, 0xf3, 0x19, - 0xb2, 0xf3, 0x59, 0xc8, 0xb7, 0x94, 0x9b, 0x6d, 0x90, 0x44, 0xbe, 0x6a, 0x7d, 0x28, 0x36, 0x23, 0xf1, 0xa1, 0xa1, - 0x0f, 0xcf, 0x35, 0xfa, 0xf1, 0xcd, 0x55, 0xbf, 0xe2, 0xad, 0xe3, 0x9c, 0x06, 0x1f, 0x93, 0x74, 0xd1, 0x0a, 0xcf, - 0x65, 0x79, 0xa7, 0x85, 0xa7, 0xf1, 0x14, 0x86, 0x53, 0x65, 0xfd, 0x6a, 0x73, 0xd5, 0xf2, 0xd4, 0x46, 0x51, 0x5f, - 0x49, 0xf1, 0xef, 0xce, 0xc4, 0x6a, 0x89, 0x98, 0x63, 0x52, 0xae, 0x79, 0x5a, 0x4d, 0x4b, 0xc7, 0xff, 0xfc, 0xd0, - 0xf9, 0xa5, 0xec, 0x04, 0xc0, 0x54, 0xc6, 0x18, 0x61, 0xc5, 0x7b, 0x19, 0x35, 0x43, 0xec, 0x25, 0xb3, 0xc3, 0x58, - 0xa3, 0xda, 0x3f, 0xdd, 0x7a, 0x14, 0xb6, 0x25, 0xe9, 0xe1, 0xde, 0x42, 0xf0, 0x85, 0xac, 0xf4, 0xef, 0xb6, 0x8e, - 0xb4, 0xe4, 0xc5, 0x45, 0x8c, 0x92, 0x20, 0x91, 0x8e, 0xa3, 0xb6, 0x56, 0x73, 0x13, 0x16, 0x1a, 0xc6, 0x52, 0x5b, - 0xa7, 0xac, 0x16, 0xb6, 0x14, 0x63, 0x8e, 0x64, 0x3c, 0x32, 0xcf, 0x48, 0xcf, 0x11, 0xde, 0xe5, 0xd6, 0xd1, 0xa0, - 0xea, 0xee, 0xb9, 0xf6, 0xc2, 0x8b, 0xf6, 0x25, 0xe7, 0x9f, 0x5b, 0x49, 0x0d, 0xc5, 0x9d, 0x0c, 0x8d, 0xea, 0x89, - 0xc3, 0xec, 0xda, 0xe4, 0x03, 0x41, 0x13, 0x27, 0x2b, 0x9d, 0xe1, 0xe7, 0xdc, 0xf2, 0x17, 0xc7, 0x53, 0x13, 0xad, - 0x81, 0x6d, 0x47, 0x16, 0x6a, 0x03, 0xfc, 0x06, 0x6f, 0x42, 0xb3, 0x80, 0x96, 0xb0, 0x18, 0xe2, 0xd4, 0xcd, 0x98, - 0x34, 0x49, 0x3a, 0x5d, 0x20, 0xfc, 0x74, 0x9b, 0x99, 0x8e, 0x65, 0x0f, 0x77, 0x39, 0x90, 0xa9, 0xa1, 0x14, 0x8f, - 0xa0, 0xb9, 0x3c, 0x89, 0x6e, 0xc6, 0x54, 0xc2, 0x37, 0x6c, 0x9f, 0xb3, 0xf4, 0x1e, 0xbd, 0x42, 0x9b, 0x9e, 0x05, - 0x2b, 0x8f, 0x1b, 0x41, 0x8b, 0x4c, 0x18, 0x20, 0xbb, 0xe7, 0x00, 0x96, 0x16, 0xdb, 0x8b, 0xa6, 0xa3, 0x23, 0x91, - 0x2d, 0xc6, 0xd6, 0x38, 0xc7, 0xe6, 0x2a, 0xd4, 0x82, 0x9d, 0xe5, 0x25, 0x50, 0x36, 0xb2, 0xc3, 0x3b, 0xc6, 0x9f, - 0xbc, 0x21, 0x01, 0x4c, 0x69, 0xea, 0xd3, 0x2e, 0x7a, 0x15, 0x6c, 0xef, 0xfa, 0x58, 0xc4, 0x81, 0x39, 0x70, 0xc3, - 0x58, 0x1a, 0x3b, 0x53, 0x75, 0xcd, 0x03, 0x5a, 0xa9, 0xaa, 0x2b, 0x06, 0x21, 0x09, 0xc6, 0xbc, 0x3c, 0x15, 0x52, - 0xb3, 0x50, 0x2d, 0xdd, 0x74, 0x6a, 0x9b, 0xa0, 0xb0, 0x38, 0x9e, 0x9a, 0x3d, 0x0c, 0x32, 0x5c, 0xbf, 0x7f, 0x66, - 0x06, 0x48, 0x12, 0xae, 0x04, 0x94, 0xd1, 0xb0, 0xb3, 0x6d, 0xd6, 0x43, 0xbf, 0xdd, 0x24, 0xa2, 0xdd, 0xae, 0x1c, - 0x33, 0xea, 0x83, 0xea, 0x85, 0xe1, 0xf4, 0xce, 0x08, 0x8d, 0x84, 0x04, 0xd8, 0xc8, 0x8f, 0xfa, 0x0b, 0x52, 0xb1, - 0xc4, 0x45, 0xdb, 0x79, 0x61, 0xd6, 0xef, 0xf3, 0x40, 0x66, 0xf0, 0x04, 0x9b, 0xe6, 0x2c, 0x82, 0x6a, 0x24, 0x0b, - 0x12, 0x04, 0x44, 0xd5, 0xb6, 0x4f, 0x55, 0xb5, 0x15, 0x34, 0xce, 0xe3, 0x17, 0x9c, 0x9e, 0x7e, 0x6d, 0x10, 0x54, - 0xe2, 0x5f, 0xd9, 0xbc, 0xc5, 0x6b, 0x60, 0x8b, 0xeb, 0x91, 0xf2, 0x45, 0x5d, 0x96, 0x3f, 0xba, 0xb0, 0x4a, 0xfa, - 0xf7, 0xd6, 0x58, 0x88, 0x2a, 0x7f, 0xba, 0x42, 0x21, 0xa9, 0x3c, 0xba, 0xf3, 0x46, 0xf0, 0x25, 0x3b, 0x89, 0xc6, - 0xa2, 0x9d, 0xf4, 0x84, 0x1d, 0xae, 0x4a, 0x23, 0x88, 0x14, 0xff, 0x62, 0x45, 0x90, 0xb8, 0x2a, 0x5a, 0x76, 0x32, - 0x68, 0x25, 0x7b, 0xa0, 0xce, 0x89, 0x1b, 0xf3, 0x72, 0x6d, 0xca, 0xb7, 0x77, 0x27, 0x3a, 0xc8, 0x1a, 0x93, 0xe0, - 0x51, 0x83, 0x7d, 0xcb, 0x64, 0xbb, 0xec, 0x38, 0xf5, 0xa6, 0xa7, 0xef, 0xb9, 0x19, 0x09, 0x69, 0x09, 0x10, 0xf9, - 0xda, 0x8d, 0xc4, 0xec, 0xd6, 0xe3, 0x6d, 0x47, 0x2c, 0xe6, 0x76, 0x22, 0x4a, 0xa3, 0x8e, 0x6b, 0xf3, 0x10, 0x85, - 0x60, 0x85, 0xb1, 0x44, 0x97, 0x5f, 0x49, 0xe4, 0x16, 0x0b, 0x1b, 0xfb, 0x58, 0x7d, 0xca, 0x61, 0x93, 0x03, 0x84, - 0x70, 0xa9, 0x5b, 0xfd, 0x2b, 0xf4, 0x36, 0x7b, 0x42, 0xbf, 0x62, 0xe4, 0xe0, 0xa1, 0x0c, 0xd6, 0xad, 0x79, 0xd7, - 0x82, 0xc7, 0x2a, 0x2a, 0xf7, 0x61, 0x11, 0x21, 0x14, 0xf7, 0xfb, 0xd1, 0x50, 0xed, 0x5a, 0x62, 0x44, 0xf4, 0x28, - 0x19, 0x48, 0x6d, 0x3a, 0x85, 0x2b, 0x51, 0xc4, 0xe5, 0xa5, 0x1d, 0xcf, 0x67, 0x3b, 0xbb, 0x1b, 0x8d, 0x34, 0xf6, - 0xdd, 0xc0, 0xf1, 0x72, 0x2b, 0xcd, 0x1a, 0x8b, 0xb6, 0xef, 0x67, 0xb7, 0xb6, 0x05, 0xa2, 0x30, 0x62, 0xc4, 0xdc, - 0xb6, 0xf3, 0x09, 0xe9, 0x60, 0x27, 0x9f, 0xb1, 0x8f, 0x0d, 0x8c, 0x67, 0x30, 0x9b, 0xaa, 0xbe, 0xf6, 0xee, 0x67, - 0xf6, 0xbf, 0x0b, 0x6a, 0x23, 0x3f, 0x5f, 0xae, 0x44, 0x08, 0x68, 0x5c, 0xe8, 0x45, 0x86, 0x88, 0x1e, 0x4d, 0xb2, - 0x73, 0xd7, 0xe8, 0x25, 0xf6, 0xba, 0x90, 0x61, 0x87, 0xe3, 0x8f, 0xd6, 0x66, 0x4f, 0x68, 0x8e, 0xbf, 0x9f, 0x5d, - 0x1b, 0xfb, 0x5a, 0x8d, 0x93, 0x2c, 0x58, 0x95, 0x89, 0xd3, 0xf5, 0x7b, 0x8e, 0x28, 0x3e, 0xd3, 0xa9, 0xfb, 0x8e, - 0x36, 0x9e, 0x49, 0xd9, 0x48, 0x2a, 0xdd, 0x48, 0xa0, 0x32, 0x2b, 0x93, 0x77, 0x7b, 0x01, 0x50, 0x6d, 0x04, 0x58, - 0x34, 0x17, 0x9a, 0xa9, 0xec, 0x8b, 0xce, 0xd3, 0x43, 0xa4, 0x1c, 0x0f, 0x6f, 0x8e, 0x96, 0xa1, 0xc5, 0xeb, 0xd3, - 0x9c, 0xfd, 0x9b, 0x5b, 0x0d, 0x1d, 0xed, 0x1d, 0x15, 0x49, 0x73, 0xc1, 0xf4, 0xff, 0x62, 0xc5, 0x34, 0x00, 0x84, - 0x83, 0x06, 0x9c, 0xae, 0x72, 0x83, 0x0b, 0x92, 0x17, 0x98, 0xe6, 0xe2, 0x4c, 0xa0, 0xb5, 0x0d, 0x44, 0x54, 0xb4, - 0xe6, 0x47, 0x97, 0x71, 0xf1, 0x88, 0x76, 0x8e, 0x41, 0x54, 0xd4, 0xdf, 0xf6, 0x99, 0xb4, 0x82, 0xd9, 0xe7, 0x1c, - 0xb8, 0x5e, 0x33, 0x95, 0x12, 0x14, 0x83, 0xed, 0xb6, 0xfd, 0x36, 0x65, 0x10, 0x6a, 0xf4, 0x77, 0x52, 0xa1, 0x03, - 0xa3, 0x20, 0x47, 0x08, 0xe4, 0xdd, 0x1e, 0xf4, 0x59, 0x50, 0xd4, 0x33, 0xe2, 0x80, 0x9d, 0xbf, 0x76, 0x1c, 0xce, - 0x50, 0x7c, 0x9d, 0xfb, 0xf1, 0xdb, 0xba, 0x68, 0x1e, 0xdc, 0xf8, 0x43, 0xff, 0xfe, 0x11, 0x6d, 0x8b, 0xf6, 0x09, - 0x36, 0xc7, 0xcf, 0xe8, 0xf0, 0xb6, 0x19, 0x9c, 0x79, 0x7b, 0x42, 0x23, 0x10, 0x5b, 0x90, 0x3c, 0x17, 0xe8, 0x9c, - 0x43, 0x13, 0x9e, 0x67, 0xcd, 0x4c, 0x7e, 0xfa, 0x26, 0x55, 0xee, 0xa3, 0xec, 0xf8, 0x58, 0x74, 0xbb, 0xc4, 0x33, - 0x94, 0x6e, 0xe7, 0x56, 0x72, 0xdb, 0x87, 0x60, 0xfe, 0xe1, 0xb7, 0xbb, 0xdd, 0x63, 0x65, 0xfe, 0xcf, 0x4f, 0xd6, - 0x44, 0x3f, 0xdb, 0x45, 0xf3, 0xcb, 0x2a, 0x08, 0x0a, 0x5f, 0xee, 0x3a, 0xbd, 0x2c, 0xd0, 0xb8, 0x43, 0xd5, 0xb5, - 0x86, 0xab, 0xb9, 0x9a, 0xb9, 0x67, 0x2e, 0xee, 0x38, 0x9f, 0x91, 0x97, 0xd5, 0xe2, 0x7a, 0x40, 0xbf, 0x7d, 0x35, - 0xe6, 0x3f, 0xbf, 0x84, 0x26, 0xe5, 0xdc, 0xfd, 0x89, 0xf0, 0x7f, 0x83, 0x6b, 0x7a, 0xe7, 0x8e, 0xa2, 0xe0, 0x8c, - 0xeb, 0x9a, 0x61, 0x9b, 0x9c, 0x73, 0xe1, 0xb8, 0x4e, 0x39, 0xf0, 0xea, 0x10, 0x9b, 0x80, 0x30, 0xad, 0x8c, 0x67, - 0x4e, 0x9f, 0x46, 0xf2, 0x67, 0x0c, 0x18, 0x76, 0x1d, 0x82, 0x86, 0x60, 0x40, 0x89, 0xc5, 0xe8, 0xd4, 0x9d, 0x8c, - 0xa9, 0x26, 0x42, 0xd6, 0x80, 0x2d, 0x81, 0x12, 0xad, 0x6f, 0x81, 0x00, 0x5a, 0x3a, 0x81, 0x97, 0x8d, 0x8a, 0x1e, - 0x2d, 0x59, 0xc3, 0xe0, 0x60, 0xfe, 0x47, 0x1c, 0x8e, 0xe0, 0x7c, 0x8b, 0x84, 0xb8, 0x9b, 0x5b, 0x8f, 0xd2, 0xc6, - 0xf4, 0x89, 0xbe, 0x66, 0x1f, 0xf5, 0x14, 0xa4, 0xf9, 0xaf, 0x8b, 0x01, 0x82, 0x61, 0x38, 0x4e, 0x38, 0x5e, 0x25, - 0xf3, 0x0b, 0xa2, 0x76, 0xb1, 0xfe, 0xe5, 0x0c, 0xc6, 0xf6, 0x6f, 0xbc, 0xb6, 0x91, 0xff, 0x7f, 0x83, 0x25, 0xb7, - 0xbf, 0xe4, 0xe6, 0xcb, 0xbf, 0x96, 0xc7, 0x5f, 0xbe, 0xe6, 0x5b, 0xbe, 0x9b, 0x26, 0x78, 0xa7, 0xeb, 0x5e, 0xc9, - 0x50, 0xf3, 0xf3, 0x15, 0x46, 0xb8, 0x86, 0xc1, 0xd1, 0x58, 0x00, 0x1f, 0x2a, 0xda, 0x1c, 0x3d, 0x1b, 0x28, 0x13, - 0xfb, 0x35, 0x1e, 0x51, 0xbd, 0x5e, 0x81, 0x8f, 0x5d, 0x8d, 0x6b, 0x99, 0x5e, 0x26, 0x5a, 0xf3, 0x5c, 0xd9, 0xa5, - 0x86, 0x8a, 0x3b, 0xda, 0x02, 0xbe, 0x41, 0x5f, 0x57, 0xbe, 0xc4, 0x3a, 0xb2, 0xd9, 0x94, 0x27, 0x09, 0x4a, 0x3c, - 0x70, 0xd1, 0xf0, 0xd5, 0x33, 0xdb, 0x62, 0x7d, 0xf8, 0x73, 0xd1, 0x54, 0x13, 0x88, 0x7a, 0x54, 0x63, 0x36, 0x62, - 0xad, 0x55, 0x46, 0xcb, 0xab, 0x61, 0xe8, 0x48, 0xc6, 0xc5, 0xac, 0x32, 0xa1, 0x0c, 0xe8, 0x07, 0x4c, 0xd6, 0x2b, - 0xfa, 0x47, 0x3b, 0x45, 0xbe, 0x54, 0x9f, 0x52, 0xd4, 0xc3, 0xe3, 0x09, 0x8e, 0x53, 0x1f, 0x35, 0xfc, 0xa6, 0x49, - 0x5c, 0x85, 0x6b, 0x38, 0x37, 0x59, 0x73, 0xe6, 0x65, 0x6b, 0x97, 0x3a, 0x98, 0xd3, 0x84, 0xfd, 0x5b, 0xdb, 0x62, - 0xf1, 0x79, 0x12, 0x68, 0xbb, 0x68, 0x26, 0x97, 0xca, 0x5a, 0x10, 0x65, 0xfa, 0xf0, 0x06, 0x12, 0x88, 0xce, 0xb9, - 0x06, 0xea, 0xdb, 0xd4, 0x71, 0x38, 0xb7, 0x68, 0xab, 0x16, 0x2e, 0xad, 0xde, 0x6c, 0xa6, 0x70, 0xc2, 0x67, 0x97, - 0xf6, 0x22, 0x99, 0x68, 0xde, 0xe5, 0x89, 0x64, 0xfa, 0x6e, 0xec, 0xb3, 0x01, 0x71, 0x8b, 0x41, 0xcf, 0xc2, 0x44, - 0x19, 0xae, 0x29, 0xd8, 0x75, 0x95, 0x18, 0xc7, 0x01, 0xe0, 0xec, 0xd3, 0x90, 0x1b, 0x70, 0x78, 0x5d, 0x1b, 0x43, - 0x27, 0xba, 0x5b, 0xf4, 0x4a, 0x0a, 0x42, 0x50, 0xe5, 0xb0, 0xc4, 0xe6, 0x3d, 0xd9, 0x0b, 0xcb, 0x37, 0x78, 0xd8, - 0xb9, 0x53, 0x32, 0xe1, 0x4e, 0xe7, 0x09, 0x53, 0x56, 0xd1, 0x3b, 0xe4, 0x66, 0xc4, 0xeb, 0x0a, 0x8c, 0x29, 0x5c, - 0x01, 0x1b, 0x74, 0x88, 0xba, 0xf1, 0xdb, 0xef, 0x7a, 0xb9, 0xd9, 0xbb, 0x2d, 0x36, 0x33, 0x9e, 0xd1, 0x5a, 0xef, - 0x60, 0xed, 0x2c, 0xbd, 0xb6, 0x33, 0xb2, 0x50, 0x20, 0xc0, 0xc9, 0xdd, 0x66, 0x3d, 0x38, 0x46, 0x34, 0x97, 0xff, - 0x3b, 0x8b, 0x5d, 0x55, 0x4e, 0xbd, 0x31, 0xf4, 0x8a, 0x64, 0xe4, 0x10, 0x80, 0x64, 0x9c, 0x35, 0x1d, 0xa3, 0xd9, - 0xbb, 0xda, 0x76, 0x0e, 0xd3, 0xec, 0xdb, 0x34, 0xd7, 0xef, 0x4f, 0xe6, 0x5e, 0x20, 0x3f, 0x03, 0x37, 0xca, 0xd5, - 0x27, 0x8c, 0x75, 0x0f, 0xb4, 0x34, 0xb3, 0xfa, 0x46, 0x9e, 0xab, 0x19, 0xcb, 0x6d, 0xb0, 0xef, 0x06, 0x15, 0x0f, - 0xb0, 0xa0, 0x3f, 0xc9, 0xcb, 0xf3, 0x77, 0xaa, 0xe6, 0x6e, 0x7a, 0x84, 0x8d, 0x95, 0xcb, 0x70, 0x12, 0x2f, 0x87, - 0xfe, 0x05, 0x47, 0xcf, 0x89, 0xf9, 0x5f, 0x56, 0x24, 0x5d, 0x31, 0xcf, 0x30, 0x99, 0x18, 0xa5, 0x21, 0xc5, 0x19, - 0x2a, 0xe8, 0x7f, 0x58, 0x70, 0xbb, 0x6e, 0xd8, 0x40, 0x8a, 0x7f, 0xe3, 0x3e, 0x3b, 0x9e, 0x7b, 0xab, 0xcc, 0xa4, - 0x97, 0xcd, 0x71, 0x4b, 0xae, 0x6a, 0x5a, 0xcd, 0x7c, 0x56, 0x90, 0x4c, 0xdb, 0xcd, 0x63, 0x5e, 0x19, 0xbf, 0x74, - 0x13, 0xc9, 0x64, 0x4f, 0x67, 0x37, 0x40, 0x6b, 0x07, 0xda, 0xa7, 0xc4, 0xe9, 0x49, 0xa7, 0xab, 0x37, 0x3b, 0xa3, - 0x68, 0x9b, 0x5c, 0xa7, 0x1f, 0x68, 0xbd, 0xa0, 0xa3, 0xdb, 0x59, 0x2b, 0xc9, 0x73, 0x9f, 0xd8, 0x24, 0xc1, 0x4f, - 0xae, 0x63, 0xc1, 0xb1, 0x69, 0x40, 0x3f, 0xce, 0xcb, 0xf3, 0x4d, 0xde, 0x45, 0x06, 0x7c, 0xa6, 0xb0, 0xd9, 0xec, - 0x86, 0x31, 0xc7, 0x86, 0x18, 0x21, 0x48, 0x97, 0xe7, 0xed, 0x69, 0xdd, 0x09, 0x8d, 0xb7, 0x2c, 0x5c, 0x9b, 0x93, - 0x8b, 0xc2, 0xcf, 0xf4, 0xda, 0x34, 0x5c, 0xd0, 0x14, 0xda, 0xe7, 0x7e, 0x9a, 0x84, 0xe9, 0x1e, 0x93, 0xa8, 0x1a, - 0xee, 0xa6, 0x85, 0xfa, 0xb0, 0x50, 0x9e, 0x37, 0xe0, 0x05, 0x2b, 0xdc, 0xf3, 0x39, 0x39, 0x16, 0xf6, 0xe6, 0xbd, - 0xdb, 0x07, 0xb0, 0x5a, 0xcb, 0x3d, 0x66, 0xdc, 0xf1, 0xbe, 0xa3, 0x95, 0xfd, 0xd7, 0xb2, 0xe4, 0x58, 0x87, 0xad, - 0x9a, 0x65, 0xf0, 0x15, 0xa1, 0x39, 0x52, 0x03, 0x4d, 0x7c, 0x40, 0xa0, 0x0a, 0x84, 0x3b, 0x32, 0x6d, 0x67, 0x3c, - 0x65, 0xd4, 0xd1, 0x86, 0xa3, 0xa9, 0x13, 0x3b, 0x1e, 0x9e, 0x14, 0x5b, 0x0c, 0xbf, 0x35, 0xbd, 0x01, 0xcf, 0x7d, - 0x0f, 0xb4, 0xdd, 0xbd, 0x0e, 0x53, 0x7c, 0x65, 0x56, 0xd8, 0xc1, 0xaa, 0xd5, 0x18, 0x84, 0xd8, 0xb4, 0xca, 0xdc, - 0x15, 0x53, 0x02, 0x0c, 0xe7, 0xd4, 0xf8, 0xe2, 0xe0, 0x36, 0x34, 0x72, 0x6f, 0x32, 0x05, 0x4a, 0x1c, 0x5d, 0x0b, - 0x78, 0x92, 0xc6, 0x7c, 0x5a, 0x55, 0xc0, 0xaf, 0x8d, 0x7a, 0x15, 0x06, 0x74, 0xf1, 0x2e, 0x89, 0x1e, 0xf4, 0x90, - 0x22, 0x8e, 0xa7, 0x22, 0x5b, 0x13, 0xc6, 0xba, 0xce, 0xf6, 0xa1, 0x36, 0xf0, 0x7b, 0x45, 0xb5, 0x1f, 0xe0, 0xdd, - 0x06, 0x95, 0x95, 0x77, 0x87, 0xdf, 0x36, 0xb7, 0x24, 0xee, 0x25, 0x87, 0xe2, 0xba, 0xfa, 0x2a, 0x22, 0x03, 0x1e, - 0x94, 0x6a, 0x4d, 0x17, 0xc5, 0xf1, 0x53, 0x0a, 0xc6, 0x32, 0x45, 0x75, 0x32, 0xd3, 0xf6, 0x62, 0x84, 0x68, 0x74, - 0xec, 0x68, 0x73, 0x67, 0xe6, 0xcf, 0x27, 0x44, 0xe4, 0x04, 0xdb, 0xff, 0x54, 0x5e, 0x9c, 0x8d, 0x48, 0x18, 0xec, - 0xdf, 0x36, 0x43, 0x6a, 0x9f, 0xaa, 0x49, 0x9d, 0x86, 0x48, 0xd9, 0x0f, 0x6b, 0x5a, 0xff, 0xbf, 0xf8, 0x5c, 0x18, - 0x0d, 0x44, 0xef, 0xd4, 0x5b, 0x57, 0x4a, 0x60, 0xbb, 0xda, 0xa5, 0xf2, 0x52, 0xfa, 0xbc, 0x6f, 0x75, 0x13, 0x93, - 0xb2, 0xe0, 0x4d, 0xed, 0xcf, 0xd1, 0xfa, 0x49, 0xab, 0x0d, 0xb9, 0x77, 0xfa, 0xd4, 0xe3, 0x10, 0x23, 0x29, 0x27, - 0x88, 0xb1, 0xd4, 0x86, 0x10, 0x81, 0x47, 0x59, 0x83, 0xbb, 0xfe, 0xc9, 0x44, 0x6d, 0x93, 0x06, 0x68, 0x94, 0xe7, - 0x6d, 0xb1, 0xf5, 0xea, 0x4e, 0xe9, 0x8a, 0xdb, 0xe1, 0xca, 0xd6, 0x25, 0x60, 0x3a, 0x31, 0xf8, 0x74, 0x47, 0x77, - 0x0a, 0x78, 0x13, 0xec, 0x26, 0x13, 0xd0, 0x10, 0xc3, 0xd9, 0x7c, 0xf1, 0xcf, 0x96, 0x63, 0x7e, 0xe9, 0x07, 0x6c, - 0x0d, 0x92, 0x06, 0x70, 0x66, 0x00, 0x5b, 0x9f, 0x37, 0x57, 0xaa, 0x6f, 0x0f, 0xff, 0xda, 0x32, 0x7e, 0x47, 0x6e, - 0xf8, 0x7a, 0xdb, 0xd5, 0xc1, 0xf2, 0xc2, 0xb0, 0x43, 0xa0, 0x33, 0xa8, 0x4b, 0x0a, 0x93, 0xde, 0x05, 0xd4, 0xb9, - 0xd7, 0xb8, 0x81, 0x2b, 0x23, 0x84, 0x61, 0xc8, 0x83, 0xca, 0xb9, 0xbd, 0xc2, 0xbd, 0xf5, 0x3d, 0x81, 0x16, 0x20, - 0x3c, 0x54, 0xa1, 0x6d, 0x91, 0x49, 0xe7, 0xde, 0x60, 0xbb, 0x84, 0x75, 0x29, 0xe5, 0x54, 0x6b, 0x4e, 0xd7, 0x21, - 0xf9, 0xb8, 0xad, 0xfa, 0x16, 0x03, 0x72, 0x04, 0xa1, 0xd4, 0x33, 0x64, 0xd7, 0x70, 0x91, 0x5e, 0x6e, 0x8e, 0x74, - 0xca, 0xd7, 0x02, 0x62, 0x9b, 0xba, 0xdb, 0xa2, 0xfb, 0x7c, 0x2b, 0x0f, 0x41, 0x66, 0x9a, 0x4b, 0x40, 0xa2, 0x31, - 0x05, 0xf5, 0xc3, 0x30, 0x29, 0x97, 0xff, 0x5e, 0x23, 0x5e, 0xe7, 0xf1, 0xfa, 0xe7, 0x27, 0xab, 0xea, 0xc3, 0xf6, - 0x07, 0x3f, 0xd0, 0x7b, 0xb1, 0x69, 0xad, 0xde, 0x5e, 0xac, 0xbe, 0x9b, 0x15, 0xd4, 0xcf, 0x2c, 0x99, 0x41, 0x18, - 0x4b, 0x9d, 0x9d, 0xf1, 0x41, 0x5c, 0xf3, 0x1b, 0xb6, 0x5c, 0xde, 0x23, 0xf5, 0x2e, 0x93, 0x34, 0x99, 0xa6, 0xac, - 0x3e, 0xad, 0x4f, 0x3b, 0x45, 0xa0, 0x8d, 0x3a, 0x7a, 0x0d, 0xa7, 0x1c, 0xb8, 0x68, 0xd3, 0xa2, 0xbb, 0xcb, 0x3f, - 0x0b, 0x96, 0x85, 0x6e, 0x7f, 0x5d, 0x0e, 0xd6, 0x0d, 0x9f, 0x57, 0x74, 0x2e, 0x9c, 0xc8, 0xa1, 0x85, 0x05, 0x56, - 0x3b, 0x65, 0x70, 0xa6, 0xde, 0x64, 0x8b, 0x13, 0xdd, 0x44, 0x07, 0x79, 0x65, 0xac, 0xe3, 0xd4, 0x4b, 0xc3, 0x01, - 0xba, 0x66, 0x85, 0xcf, 0xf9, 0xa8, 0xcf, 0xfb, 0x13, 0x3a, 0x53, 0x90, 0xb5, 0xdc, 0x59, 0x14, 0xcb, 0xbb, 0x90, - 0x57, 0x51, 0x7d, 0xb9, 0x18, 0x59, 0x21, 0x94, 0x05, 0x6c, 0x7b, 0x7d, 0x1c, 0x87, 0x22, 0xf7, 0xa4, 0xc4, 0xd3, - 0xce, 0x39, 0x52, 0xee, 0x12, 0xe4, 0xee, 0x8a, 0xc5, 0x69, 0x24, 0xf5, 0xba, 0x8d, 0xe0, 0x52, 0x62, 0x86, 0xae, - 0x28, 0x72, 0x8b, 0x21, 0x04, 0x1c, 0x0d, 0x6f, 0x6f, 0xb4, 0x6d, 0xa4, 0x0c, 0x12, 0xc5, 0xce, 0x08, 0xe9, 0x97, - 0xb9, 0xa1, 0x7c, 0xb3, 0x0f, 0xa6, 0x8c, 0x41, 0x04, 0x04, 0x2a, 0xc8, 0x00, 0x2c, 0xfb, 0xca, 0xb9, 0x1a, 0x06, - 0xe3, 0x0c, 0x46, 0x02, 0x2b, 0xa0, 0xd7, 0x45, 0x93, 0x6e, 0xf8, 0x53, 0x78, 0x9a, 0x2a, 0x9e, 0xa6, 0x85, 0xa2, - 0xd1, 0x51, 0x79, 0x36, 0xa5, 0x6b, 0x9e, 0x06, 0x0b, 0x52, 0x4f, 0x9a, 0x1c, 0x36, 0x06, 0xf3, 0x68, 0x24, 0xe1, - 0x9e, 0x9a, 0x8c, 0x62, 0x65, 0x68, 0x1c, 0xfd, 0xb3, 0x3b, 0xc4, 0x39, 0x74, 0x50, 0x0b, 0xde, 0xcc, 0xe8, 0xe1, - 0xcc, 0x0f, 0x41, 0x6a, 0xd8, 0x5c, 0x85, 0xf9, 0x45, 0xa6, 0x4e, 0x75, 0xca, 0x28, 0x4b, 0x8c, 0xb3, 0x60, 0xed, - 0x18, 0x72, 0xa4, 0x7e, 0xc0, 0x76, 0x03, 0x79, 0x5a, 0x73, 0xb6, 0xf4, 0x9a, 0x49, 0xf7, 0xba, 0x76, 0xf4, 0x69, - 0xde, 0xd2, 0xf5, 0x5f, 0xcc, 0x6c, 0xdd, 0x8e, 0x39, 0x7f, 0xe9, 0xe7, 0xbb, 0xe9, 0x43, 0x1f, 0xf3, 0x66, 0xec, - 0x0c, 0x33, 0xba, 0xfe, 0x22, 0x2d, 0x1e, 0x14, 0x0d, 0x8a, 0x7c, 0xa9, 0x31, 0x8e, 0xb4, 0xbf, 0x1f, 0x9a, 0x46, - 0xbb, 0xdb, 0x3b, 0x49, 0x1a, 0x61, 0xcb, 0x11, 0x7a, 0x23, 0x38, 0x76, 0xc5, 0x7f, 0x5c, 0x55, 0xfe, 0x77, 0x4f, - 0xfd, 0xbe, 0x3d, 0x08, 0x5f, 0xd5, 0x4d, 0x1f, 0x46, 0x01, 0x73, 0xd6, 0xba, 0x5d, 0x7d, 0x96, 0x50, 0x43, 0xfa, - 0x6b, 0x82, 0xfa, 0x8d, 0x63, 0xf5, 0x8f, 0x69, 0x4a, 0xfe, 0x62, 0x57, 0xc1, 0xc6, 0x6c, 0xfd, 0x58, 0xd8, 0xa3, - 0x5a, 0x39, 0x3e, 0x77, 0xa7, 0x2d, 0x19, 0xed, 0x49, 0xf9, 0x56, 0x77, 0x78, 0xda, 0x49, 0x59, 0xca, 0xe6, 0x3d, - 0xb5, 0x98, 0x4c, 0x57, 0xdb, 0x4a, 0x1c, 0x91, 0x1e, 0xe4, 0x1b, 0x73, 0x46, 0xe9, 0xf8, 0x7d, 0xe5, 0x8f, 0xbb, - 0x93, 0xd8, 0xcc, 0xd3, 0x93, 0x70, 0x0b, 0xb4, 0x2b, 0xfb, 0x7e, 0x2b, 0xee, 0x3b, 0x29, 0xfe, 0x76, 0xd9, 0xaf, - 0x73, 0x95, 0x02, 0x1e, 0xf7, 0xbe, 0x60, 0xfb, 0xf9, 0x3a, 0x52, 0xd8, 0x8e, 0x14, 0x43, 0xb6, 0xf9, 0xaa, 0x4b, - 0xa2, 0x0a, 0x59, 0xf0, 0x06, 0xf9, 0x20, 0xae, 0x05, 0x20, 0xe7, 0xb4, 0x45, 0x2d, 0xfb, 0x8e, 0x25, 0x51, 0xbe, - 0xab, 0x40, 0x2d, 0x79, 0x76, 0x51, 0xd1, 0xa9, 0x3b, 0xe1, 0xab, 0x53, 0xcf, 0xd2, 0x9c, 0x86, 0xe8, 0x7a, 0x58, - 0xf2, 0x12, 0x95, 0xac, 0x9a, 0xde, 0x4d, 0xf0, 0x2b, 0xf6, 0xda, 0x13, 0x94, 0xbc, 0x23, 0xa5, 0xa1, 0x90, 0x51, - 0xac, 0x41, 0x7d, 0xeb, 0xdc, 0x25, 0x96, 0x74, 0xb4, 0x3c, 0xea, 0x55, 0xf8, 0x62, 0xee, 0xe3, 0xd6, 0x38, 0x2a, - 0xc7, 0x9c, 0x23, 0xd8, 0x93, 0x2a, 0x9d, 0x4c, 0x95, 0x03, 0xc0, 0x9a, 0x66, 0x11, 0x31, 0x48, 0xa9, 0x5d, 0x8e, - 0xbb, 0xf8, 0x16, 0x6c, 0x67, 0x31, 0xc8, 0xd2, 0xd7, 0x36, 0x19, 0x95, 0xce, 0x63, 0x27, 0xba, 0x1f, 0xbb, 0xda, - 0xc0, 0xc3, 0x60, 0x7b, 0xd6, 0x29, 0x57, 0x32, 0x56, 0x1c, 0x65, 0x57, 0x62, 0x6a, 0x79, 0xb6, 0x74, 0xbd, 0x45, - 0x54, 0xac, 0x95, 0x35, 0xbd, 0x0d, 0xd3, 0x53, 0xc1, 0x73, 0x3f, 0x3e, 0x61, 0x71, 0x64, 0xe4, 0x38, 0x93, 0x58, - 0xd5, 0x21, 0xcc, 0x4d, 0x3a, 0x82, 0x27, 0x48, 0x2d, 0x47, 0x32, 0x4f, 0x39, 0xa5, 0x50, 0xa1, 0xff, 0xa5, 0xf1, - 0x08, 0x55, 0x73, 0x75, 0xd3, 0x5b, 0x85, 0xef, 0x10, 0x84, 0xfe, 0x21, 0xba, 0x05, 0xe3, 0x82, 0xf7, 0xef, 0x25, - 0x22, 0xd5, 0x52, 0x28, 0x59, 0x5e, 0x5d, 0xd6, 0x98, 0xa1, 0xcd, 0x3b, 0x4a, 0xc9, 0x50, 0xa0, 0x0a, 0xd3, 0x17, - 0x7c, 0x6e, 0x10, 0x0e, 0xb9, 0x6b, 0x1d, 0x05, 0xb1, 0x22, 0xd8, 0x0d, 0x9d, 0x20, 0xa1, 0xae, 0x0a, 0xb1, 0x2f, - 0xc4, 0x1c, 0x9f, 0xcb, 0xac, 0xd0, 0x03, 0xfe, 0xe4, 0x37, 0xb1, 0xa4, 0xfe, 0x06, 0x46, 0xfe, 0x0d, 0xab, 0xb4, - 0xa1, 0x4f, 0xf9, 0x41, 0xec, 0x73, 0x21, 0x6f, 0x6a, 0xa6, 0xd9, 0x8e, 0xcb, 0x7e, 0xe6, 0xef, 0x4d, 0x78, 0xec, - 0x2d, 0xb1, 0xf3, 0x58, 0x50, 0xb9, 0x8c, 0x21, 0x06, 0xaa, 0x9b, 0xfc, 0x89, 0xd2, 0x3f, 0x9c, 0x4e, 0xfc, 0x66, - 0xbe, 0xb3, 0xb6, 0x3f, 0x5f, 0x85, 0x42, 0xec, 0x75, 0x86, 0x96, 0x30, 0x84, 0xf0, 0x64, 0x3e, 0xbb, 0x30, 0x27, - 0x21, 0x49, 0x45, 0x8b, 0x12, 0xce, 0x70, 0x7f, 0x03, 0x20, 0x03, 0x0d, 0x56, 0xa2, 0x54, 0xd4, 0x8b, 0x3d, 0x82, - 0x49, 0x3e, 0xdb, 0x7a, 0xd8, 0x8b, 0x3c, 0x5a, 0x48, 0xa3, 0x5c, 0xc1, 0x06, 0x30, 0xd5, 0x73, 0x1b, 0x89, 0xc5, - 0x48, 0x2f, 0x5a, 0x4b, 0xbe, 0xd4, 0x12, 0xea, 0x62, 0xe7, 0x61, 0xb0, 0xae, 0x1a, 0x54, 0x76, 0x1e, 0x0b, 0x66, - 0x3a, 0x07, 0x72, 0x5c, 0xa0, 0x51, 0x37, 0x26, 0xc7, 0x14, 0xb3, 0x6a, 0x85, 0x1f, 0xaa, 0x98, 0xb7, 0x74, 0x29, - 0xd8, 0xbc, 0x56, 0x77, 0xc7, 0xbb, 0x86, 0x09, 0x75, 0x68, 0x60, 0x96, 0x24, 0xa8, 0x61, 0x09, 0xeb, 0x0b, 0x3e, - 0x8f, 0xc1, 0x3c, 0x60, 0x9a, 0xb7, 0xd9, 0xed, 0x18, 0xf5, 0x5b, 0x35, 0x9f, 0x7a, 0xab, 0x3c, 0x6f, 0xb9, 0xc3, - 0x2b, 0x35, 0x37, 0xa7, 0xc5, 0x3c, 0x42, 0x44, 0xaf, 0xdb, 0x90, 0xf0, 0x9c, 0xb9, 0x97, 0xb8, 0x90, 0x78, 0xd2, - 0x67, 0x5e, 0x1f, 0x1f, 0x77, 0x22, 0xc7, 0xa8, 0xf4, 0xd6, 0x45, 0xc8, 0xec, 0x83, 0xb2, 0x72, 0x77, 0x78, 0x72, - 0xe9, 0xb4, 0x84, 0x4a, 0xd6, 0xf5, 0x9b, 0x4f, 0x13, 0xa8, 0xc2, 0x60, 0x86, 0xe2, 0x14, 0x9b, 0xea, 0xd1, 0x78, - 0x83, 0x79, 0x04, 0xe3, 0x22, 0x12, 0x6a, 0x30, 0x0f, 0x2e, 0xd1, 0x34, 0x12, 0x31, 0x67, 0xac, 0x6e, 0x07, 0xb0, - 0xe7, 0x4b, 0x4f, 0x31, 0x7b, 0x78, 0x6d, 0x2f, 0x99, 0xe3, 0xf6, 0x25, 0x70, 0x5b, 0xee, 0x4e, 0xb1, 0x9a, 0x3d, - 0x56, 0x49, 0x8d, 0x03, 0xd8, 0x48, 0xa3, 0x2b, 0x3b, 0xd3, 0xa5, 0x1c, 0x76, 0x7f, 0x82, 0x27, 0x80, 0x63, 0x04, - 0x83, 0x13, 0x70, 0x1b, 0xf9, 0x8d, 0x5b, 0xb1, 0xf2, 0xcd, 0x27, 0x81, 0x0d, 0x41, 0x64, 0x0a, 0x2b, 0x44, 0x4c, - 0x95, 0x21, 0xfc, 0xbc, 0x8b, 0xb3, 0xaf, 0x2e, 0x13, 0x4d, 0xb5, 0xd1, 0x08, 0xc5, 0x3c, 0xbc, 0x86, 0x9b, 0x79, - 0x60, 0xaa, 0xc7, 0x9a, 0x4e, 0x11, 0xd5, 0x4e, 0x62, 0x6a, 0xf5, 0xac, 0x63, 0xad, 0x5c, 0x6d, 0x8b, 0xc9, 0x27, - 0xea, 0x95, 0x3c, 0x40, 0x23, 0x9a, 0xc9, 0x84, 0x6f, 0x39, 0x33, 0x1f, 0xa6, 0xec, 0x11, 0x7e, 0x1d, 0xc3, 0x87, - 0xc7, 0x8d, 0xc0, 0x28, 0xcf, 0xc9, 0xce, 0x16, 0x32, 0x2e, 0x1c, 0x58, 0xfc, 0x69, 0xc8, 0x98, 0xfb, 0xa2, 0xe8, - 0xa9, 0x4c, 0x2f, 0x26, 0x2f, 0x7f, 0x56, 0xf3, 0x64, 0x1e, 0x08, 0x5b, 0xa3, 0x8a, 0xf4, 0x4b, 0xa3, 0xc5, 0x62, - 0x90, 0x7a, 0x18, 0xc6, 0x40, 0x8a, 0x85, 0x8a, 0x81, 0xa3, 0x4b, 0x75, 0xc0, 0xff, 0x4f, 0x41, 0x8f, 0x21, 0x7b, - 0x46, 0xdb, 0x6d, 0xce, 0xb7, 0xac, 0x27, 0x73, 0x63, 0xdf, 0xd9, 0x76, 0xf2, 0xc6, 0x03, 0x4e, 0x16, 0xfb, 0x85, - 0x59, 0xfc, 0x2e, 0x9f, 0x07, 0x4a, 0xec, 0x25, 0x41, 0x32, 0x0a, 0x90, 0x39, 0x9f, 0x85, 0x87, 0xd0, 0x6b, 0x5e, - 0x09, 0x51, 0xd0, 0x95, 0xe2, 0x4a, 0xa0, 0xf5, 0xe0, 0x34, 0x40, 0xa6, 0xc2, 0x15, 0x04, 0x32, 0x6f, 0x7e, 0x5c, - 0xee, 0x6e, 0x02, 0x69, 0x7b, 0x85, 0x0c, 0x66, 0x6e, 0xf5, 0x12, 0xa9, 0xf3, 0x81, 0x59, 0xbe, 0x64, 0x6f, 0x6c, - 0x59, 0xf7, 0xe0, 0x4c, 0x3f, 0x73, 0x74, 0x1a, 0xb2, 0xb2, 0x16, 0x0a, 0x9b, 0xec, 0xf4, 0x24, 0xaa, 0x2a, 0x45, - 0xf2, 0x8a, 0x72, 0x51, 0x50, 0x54, 0x08, 0xd3, 0xeb, 0x1f, 0x02, 0x42, 0x8e, 0x52, 0x06, 0xed, 0xb1, 0xe5, 0x2b, - 0x8c, 0x08, 0x81, 0x71, 0x21, 0x1a, 0x56, 0x90, 0x29, 0xec, 0xb2, 0x8a, 0x71, 0x9c, 0x9e, 0xa8, 0xba, 0x8b, 0x53, - 0x88, 0x3d, 0xef, 0x86, 0xcc, 0x12, 0x74, 0x6e, 0xb4, 0x35, 0xc6, 0x31, 0xf4, 0x33, 0xd1, 0x3f, 0x82, 0x1b, 0x9d, - 0xc3, 0x1a, 0x15, 0x9c, 0x1a, 0xfb, 0x9c, 0xc5, 0x3b, 0xbe, 0x0a, 0xf7, 0x7b, 0xda, 0x92, 0xde, 0x8e, 0x5d, 0x33, - 0x2b, 0x3f, 0x82, 0x2c, 0xa5, 0x2d, 0x43, 0x12, 0xd5, 0xb5, 0x97, 0x8e, 0x41, 0x53, 0x22, 0xb7, 0x9e, 0xcf, 0xc9, - 0xe8, 0x1b, 0x4c, 0x7e, 0xbc, 0x39, 0xdd, 0x97, 0x84, 0x0e, 0x56, 0x8b, 0x67, 0x2e, 0xbe, 0xc4, 0x26, 0xd0, 0x82, - 0x07, 0x00, 0xce, 0xdf, 0x89, 0xeb, 0xdf, 0x45, 0x0f, 0x0e, 0x63, 0x04, 0xb0, 0x10, 0x6f, 0xc5, 0xb0, 0xf2, 0x36, - 0xa2, 0xb4, 0x02, 0x20, 0xd7, 0xa6, 0x2a, 0xc0, 0x1b, 0x86, 0x6f, 0xb2, 0x64, 0x9f, 0xe3, 0x38, 0xdb, 0xb3, 0x42, - 0xe2, 0x1d, 0xfe, 0x59, 0x1f, 0x5e, 0x99, 0x70, 0x2e, 0xd8, 0x2d, 0x1d, 0xe7, 0x55, 0xdb, 0x88, 0xa4, 0xed, 0x62, - 0x10, 0xe3, 0x0c, 0x12, 0xa9, 0x0f, 0xd2, 0xf7, 0x57, 0x61, 0x21, 0x1a, 0x02, 0xef, 0x8b, 0x0a, 0xec, 0x75, 0x14, - 0x46, 0x93, 0xda, 0x23, 0x1a, 0x41, 0x4f, 0x57, 0x27, 0x24, 0x03, 0x95, 0x42, 0x6c, 0x98, 0x44, 0xfd, 0x4c, 0xb5, - 0xdd, 0x50, 0x7d, 0x53, 0xad, 0xa6, 0x50, 0xe3, 0x13, 0x30, 0x75, 0x28, 0x29, 0x18, 0x73, 0x6d, 0xd8, 0xa7, 0x8f, - 0x1d, 0x51, 0x6b, 0x0d, 0x4e, 0xef, 0x5f, 0x85, 0x81, 0x61, 0xb9, 0xd9, 0x7c, 0xf1, 0x15, 0x76, 0x9d, 0x73, 0x2f, - 0x50, 0x7d, 0x1f, 0xfd, 0x38, 0xae, 0x2e, 0xcb, 0xef, 0x7a, 0x37, 0xb5, 0x10, 0xef, 0xa9, 0xa3, 0x86, 0xfd, 0x94, - 0xc8, 0xf9, 0x2e, 0xc5, 0x7d, 0xdc, 0x51, 0x01, 0xf4, 0x79, 0xc8, 0x48, 0xab, 0x09, 0xc5, 0x05, 0x20, 0x5d, 0xc6, - 0x34, 0x2b, 0x0d, 0x54, 0xa8, 0xd9, 0x68, 0x2f, 0x23, 0xab, 0x0c, 0xc2, 0x41, 0xfb, 0xd5, 0x23, 0x28, 0x96, 0x55, - 0xba, 0xc9, 0x23, 0x80, 0xcd, 0xfa, 0x95, 0xdc, 0xfc, 0x17, 0x01, 0x1b, 0x0c, 0x0b, 0x36, 0x2f, 0xea, 0x25, 0xcf, - 0x79, 0x04, 0x98, 0xe4, 0x8c, 0xeb, 0x41, 0xb4, 0xfe, 0x6b, 0xd3, 0x7c, 0xb0, 0xe5, 0xde, 0x3b, 0x02, 0x49, 0xbd, - 0xac, 0x0d, 0xb0, 0xb2, 0x18, 0x52, 0xef, 0x39, 0x3f, 0x35, 0x32, 0x25, 0x20, 0x20, 0xfe, 0xc2, 0xd7, 0xf5, 0xeb, - 0xb0, 0x5e, 0xab, 0x74, 0xe7, 0x53, 0xd3, 0x5a, 0x15, 0x52, 0x9e, 0xcc, 0x5a, 0x45, 0x3e, 0x71, 0x55, 0x33, 0xc3, - 0xb4, 0x36, 0xaf, 0x4e, 0x4f, 0xfa, 0x0b, 0xca, 0x7d, 0x91, 0x33, 0x00, 0xe1, 0x35, 0x8f, 0x0f, 0x56, 0xef, 0x66, - 0xdf, 0x36, 0xae, 0x56, 0xb6, 0xfb, 0x17, 0x6d, 0x7c, 0x9a, 0xb1, 0x5b, 0xc3, 0x18, 0x54, 0xce, 0xcb, 0xc9, 0x6f, - 0x4a, 0x4a, 0x23, 0x2d, 0xa3, 0xcd, 0xb1, 0xcb, 0xa9, 0xf6, 0xe5, 0xea, 0xdd, 0x1a, 0x84, 0x15, 0x22, 0xb3, 0x07, - 0xcf, 0x08, 0x1f, 0x6f, 0xfd, 0x50, 0x08, 0x55, 0x69, 0xc7, 0x58, 0xde, 0x2c, 0x86, 0xa1, 0xf9, 0x5c, 0x8a, 0xcb, - 0x11, 0xe6, 0x5b, 0xe7, 0xa6, 0x29, 0x64, 0x6d, 0x22, 0xa9, 0xa3, 0xc0, 0xa4, 0xb8, 0x8c, 0x34, 0xe7, 0x5f, 0xc6, - 0x89, 0xe4, 0x5e, 0x29, 0x9f, 0xd4, 0x53, 0xea, 0x2d, 0xd8, 0x08, 0xc2, 0x9f, 0xd4, 0x2d, 0x7b, 0xa1, 0x41, 0xb3, - 0x4d, 0x92, 0xc1, 0xc9, 0xe7, 0x07, 0xbf, 0xc9, 0x5d, 0x7a, 0x0d, 0x91, 0x10, 0x4c, 0xf9, 0xdc, 0x36, 0xdd, 0x64, - 0xac, 0x04, 0xa4, 0xab, 0x1a, 0x6d, 0xd8, 0x4c, 0xd1, 0xf5, 0x79, 0x3f, 0xc8, 0xfb, 0xa1, 0x23, 0xb2, 0x18, 0x5b, - 0x94, 0xf0, 0x0b, 0x47, 0x62, 0x4e, 0xdd, 0x14, 0xa5, 0x35, 0xf4, 0xf6, 0x61, 0x76, 0xbd, 0xdb, 0x6b, 0xb9, 0x24, - 0x1d, 0x4e, 0x2b, 0xd2, 0x2c, 0x00, 0x21, 0xea, 0x14, 0xaa, 0x09, 0x38, 0x50, 0xe6, 0xe5, 0x2f, 0x91, 0x40, 0xca, - 0x0f, 0x70, 0x21, 0xbd, 0xcc, 0xe7, 0x28, 0x82, 0xf3, 0x50, 0xa5, 0x05, 0x17, 0x66, 0x8f, 0x81, 0xdf, 0x75, 0x4d, - 0xbf, 0x05, 0x7f, 0x66, 0x8a, 0x97, 0xc2, 0xc9, 0xf3, 0x72, 0xaf, 0xe1, 0x21, 0x06, 0x1f, 0x9c, 0x55, 0x5f, 0xf4, - 0x72, 0x1a, 0xd7, 0x19, 0xd8, 0xbd, 0xec, 0x81, 0xf9, 0x30, 0xf3, 0x56, 0x00, 0x99, 0xd3, 0xb8, 0xaa, 0xc0, 0x73, - 0x5e, 0xcd, 0xb5, 0x46, 0x39, 0xbd, 0x5f, 0x88, 0x31, 0x0d, 0xa5, 0x62, 0x6b, 0x98, 0x8a, 0x03, 0xc5, 0x45, 0xc9, - 0xbd, 0xac, 0x29, 0x4e, 0x9b, 0xf3, 0x86, 0xa4, 0x7c, 0x47, 0x03, 0x6d, 0x5e, 0xcd, 0x93, 0x7b, 0xfc, 0x8b, 0x7a, - 0xde, 0x7b, 0x1c, 0xbe, 0xbc, 0x99, 0x16, 0x83, 0x9c, 0x0f, 0x90, 0x53, 0x03, 0xc7, 0x6f, 0x4d, 0xf8, 0x63, 0x6e, - 0x69, 0x35, 0xc6, 0x1a, 0x9a, 0xf8, 0xc8, 0x56, 0x00, 0x29, 0xe3, 0x4d, 0x52, 0x2b, 0x7c, 0xa9, 0x43, 0xb1, 0x98, - 0x2c, 0xbf, 0x0b, 0x34, 0xb8, 0xc1, 0xd2, 0x33, 0x1c, 0x52, 0xd4, 0x8b, 0xa2, 0xa5, 0x3f, 0x51, 0x7e, 0x37, 0xee, - 0x3f, 0xed, 0x77, 0x4b, 0x60, 0xee, 0x71, 0x5b, 0x69, 0xb1, 0x91, 0xd0, 0x4d, 0x5b, 0xc9, 0xab, 0x0d, 0x55, 0x77, - 0xe7, 0xae, 0x89, 0xac, 0xe6, 0xba, 0x46, 0xa5, 0x06, 0x61, 0xfc, 0x5e, 0xbb, 0xb1, 0xcd, 0xb4, 0xb5, 0xd2, 0x41, - 0x9f, 0x21, 0xe9, 0xa5, 0xa2, 0xdd, 0xa0, 0x63, 0x4f, 0x4f, 0x68, 0xc7, 0x12, 0xf1, 0x1e, 0x21, 0x71, 0x86, 0x85, - 0x62, 0x5c, 0x98, 0x47, 0xf4, 0x56, 0x7a, 0xc5, 0x61, 0x63, 0xd2, 0xd3, 0x6c, 0x2c, 0xcb, 0x2b, 0x9c, 0xba, 0x2f, - 0x52, 0x40, 0xf1, 0xcf, 0xd1, 0x01, 0xfc, 0x33, 0x5d, 0x83, 0xd6, 0xe0, 0x54, 0x2e, 0x77, 0xf5, 0xba, 0xc4, 0x87, - 0x76, 0xc7, 0x13, 0x09, 0xdd, 0x0e, 0xd1, 0xf8, 0x86, 0xae, 0x70, 0xa3, 0x78, 0x95, 0x51, 0xc7, 0xca, 0xb4, 0x66, - 0xe4, 0xc3, 0x8a, 0xec, 0x5f, 0x20, 0xf2, 0xaa, 0x10, 0x85, 0x20, 0xad, 0x45, 0x34, 0x31, 0xd9, 0x7f, 0x9a, 0xe4, - 0x35, 0xa5, 0x99, 0x6d, 0xf4, 0xa7, 0x4d, 0x4d, 0xdb, 0x11, 0x70, 0xb7, 0x73, 0x13, 0x5d, 0xec, 0xcc, 0xa5, 0xb0, - 0x57, 0x50, 0xda, 0x42, 0xa2, 0x90, 0x75, 0x21, 0x5a, 0x6e, 0x97, 0x5a, 0xf9, 0xad, 0xf2, 0x14, 0x00, 0x10, 0x05, - 0x4d, 0xe8, 0xca, 0x6e, 0xb6, 0x77, 0xc5, 0xd2, 0xd5, 0x43, 0x04, 0x1f, 0x90, 0x12, 0x1c, 0xa0, 0x8b, 0x3c, 0xae, - 0xbb, 0x77, 0xb3, 0x8d, 0xc8, 0x46, 0xb6, 0x68, 0xad, 0x0e, 0xbc, 0x5c, 0xbf, 0xde, 0xe5, 0xff, 0xdf, 0xf7, 0xd8, - 0xfc, 0x05, 0x1c, 0x50, 0xb8, 0x0f, 0x1f, 0x4c, 0x0b, 0x4f, 0x1c, 0x6a, 0xfd, 0xd7, 0x86, 0x12, 0x05, 0x4f, 0xa2, - 0xf1, 0x73, 0xcd, 0x3a, 0x3d, 0x62, 0x14, 0x89, 0x8f, 0xd4, 0x03, 0x89, 0x5a, 0xad, 0x35, 0x3d, 0xae, 0xae, 0xd3, - 0xfa, 0x2f, 0x86, 0x7d, 0xb5, 0xab, 0x18, 0xe2, 0x4e, 0x2f, 0x6e, 0x23, 0x89, 0x42, 0xa1, 0xcf, 0x26, 0x3e, 0x61, - 0xa0, 0xb2, 0xe6, 0x0b, 0x0f, 0x29, 0x96, 0x97, 0xcb, 0xd0, 0x74, 0xa1, 0xc5, 0x6d, 0x81, 0x1a, 0x0f, 0x06, 0x3d, - 0x6b, 0x97, 0x20, 0xcd, 0xae, 0xff, 0x8c, 0x33, 0x9c, 0xb4, 0xd2, 0xea, 0xf3, 0x62, 0x08, 0xd9, 0xc7, 0x3b, 0xa9, - 0x55, 0xa1, 0x8c, 0xb3, 0xc7, 0xaa, 0xac, 0x0d, 0xbf, 0x86, 0x6a, 0x74, 0x8e, 0x55, 0xd4, 0xa6, 0xae, 0xad, 0x76, - 0xc6, 0xa0, 0x54, 0xc7, 0x81, 0x60, 0xd3, 0xd2, 0xc5, 0x20, 0x2d, 0xe2, 0x40, 0x1f, 0x48, 0xf2, 0xb8, 0xa4, 0xf9, - 0x2e, 0x15, 0xf9, 0x72, 0xd1, 0x10, 0x9a, 0xeb, 0xaa, 0xc2, 0x36, 0xe5, 0xb1, 0xa6, 0xa8, 0x8b, 0x9b, 0x1d, 0xeb, - 0xf0, 0x1a, 0x30, 0x8c, 0x17, 0xe0, 0x4a, 0x80, 0x93, 0xf2, 0xd5, 0xa7, 0x06, 0x3b, 0x66, 0x0a, 0x3d, 0x17, 0xfe, - 0xf8, 0xb4, 0x26, 0x13, 0x2b, 0x5e, 0xb5, 0x42, 0x89, 0xab, 0xc4, 0x53, 0x1d, 0x96, 0x4b, 0x37, 0xb1, 0x46, 0xc8, - 0x67, 0xe2, 0xaf, 0xd1, 0x22, 0xec, 0x0d, 0x64, 0x0d, 0xcb, 0x64, 0x32, 0x25, 0x24, 0x4c, 0x90, 0x73, 0xc0, 0x98, - 0x3a, 0xc9, 0x17, 0x97, 0xfe, 0x2c, 0xdc, 0xa1, 0xcf, 0xa6, 0xb5, 0x74, 0xdf, 0x49, 0x85, 0xee, 0x7b, 0x32, 0xe9, - 0x50, 0x4f, 0x1c, 0xc4, 0xcc, 0x14, 0x5c, 0x1d, 0xb7, 0xd8, 0x68, 0x30, 0x38, 0x3a, 0x3b, 0xd6, 0x62, 0x8b, 0x21, - 0x61, 0x03, 0xe6, 0x13, 0xb5, 0x7b, 0x1f, 0x3e, 0x93, 0xf4, 0xcb, 0xd7, 0x4b, 0x84, 0x90, 0xc1, 0xee, 0x44, 0xa9, - 0x19, 0x33, 0xd4, 0x34, 0x33, 0x05, 0xcd, 0xfc, 0xe8, 0x24, 0xd2, 0x1d, 0xde, 0x4c, 0xe8, 0x95, 0x06, 0xb7, 0xee, - 0xa9, 0xbe, 0x5c, 0x91, 0x46, 0x68, 0x8d, 0x39, 0x50, 0xf9, 0x70, 0x5a, 0x17, 0xd7, 0x2b, 0xdb, 0xf5, 0x03, 0x7e, - 0x68, 0xb5, 0x3b, 0x78, 0xd2, 0x20, 0xe3, 0x43, 0x93, 0xe4, 0xbc, 0x06, 0x2b, 0xc0, 0x43, 0x83, 0xa5, 0x68, 0x89, - 0x37, 0x45, 0xcf, 0x26, 0xfb, 0x68, 0xb4, 0x18, 0x8b, 0xb5, 0xfc, 0xfd, 0x9d, 0xa7, 0x7d, 0x21, 0xd5, 0x28, 0x7b, - 0x18, 0xc8, 0xee, 0x13, 0x28, 0x99, 0xa3, 0xd0, 0x9d, 0xcd, 0x50, 0xc5, 0x68, 0x9e, 0x00, 0x63, 0x05, 0xbf, 0xb8, - 0x66, 0x31, 0x9d, 0x33, 0xc7, 0xf9, 0x1a, 0x4e, 0x12, 0x47, 0x4d, 0x9c, 0x5b, 0x4f, 0x04, 0xe5, 0xd5, 0x62, 0x49, - 0xf4, 0x92, 0xa2, 0xa3, 0x8e, 0xd5, 0xf8, 0x8f, 0x89, 0xf5, 0xd4, 0x9c, 0x8e, 0x76, 0x3e, 0x8d, 0x15, 0x54, 0xd2, - 0x02, 0x6a, 0x72, 0x2c, 0xfb, 0x12, 0x0a, 0xdc, 0xff, 0xa7, 0x9a, 0x4a, 0xc5, 0xcb, 0x74, 0xb8, 0x59, 0x73, 0x60, - 0x03, 0xea, 0x08, 0xa0, 0xba, 0x35, 0x23, 0xa3, 0x6f, 0x7c, 0x7f, 0xa1, 0xee, 0xc6, 0x98, 0x03, 0x1d, 0xb4, 0x2d, - 0xfa, 0x1b, 0xe8, 0x91, 0x6c, 0x97, 0x83, 0x78, 0x83, 0xf2, 0x16, 0x4f, 0x02, 0x2f, 0x11, 0x4d, 0xd4, 0x6c, 0xac, - 0xe3, 0xb7, 0xd9, 0x3a, 0x0e, 0xde, 0x3a, 0x00, 0xbf, 0xb0, 0x6c, 0xc6, 0x99, 0x8d, 0xfa, 0x5e, 0x41, 0x0c, 0xf8, - 0x51, 0xec, 0x6c, 0xfc, 0xe9, 0x84, 0xda, 0x93, 0x1d, 0x4e, 0x39, 0x36, 0xca, 0x39, 0x61, 0x7b, 0xa6, 0x12, 0x00, - 0x29, 0x74, 0x51, 0x67, 0xc5, 0xc9, 0x4f, 0xbc, 0x15, 0x3b, 0xe2, 0x31, 0x12, 0x57, 0x88, 0x84, 0xe0, 0x82, 0x2a, - 0xb6, 0x6a, 0xb5, 0xea, 0xdc, 0xfc, 0x4c, 0x86, 0x4d, 0xc6, 0x04, 0x8b, 0x05, 0xbd, 0x7f, 0x46, 0x24, 0x84, 0x69, - 0x43, 0x48, 0x96, 0x26, 0x90, 0x1a, 0x8f, 0x5b, 0xf3, 0x24, 0x6d, 0xba, 0x04, 0x7e, 0x5d, 0x5d, 0x50, 0xa8, 0xb4, - 0xa2, 0xe0, 0xe7, 0x35, 0x1c, 0x7b, 0x8d, 0x30, 0xf6, 0x0c, 0x40, 0x1f, 0x49, 0xa0, 0xcc, 0x48, 0x61, 0x31, 0xb5, - 0xa7, 0x38, 0x82, 0x5a, 0x79, 0xd9, 0xd9, 0xae, 0xef, 0xaa, 0x1e, 0x26, 0xf0, 0x57, 0xcc, 0x81, 0x17, 0x50, 0xe6, - 0x48, 0x73, 0xba, 0x5f, 0xfe, 0x01, 0x20, 0xdc, 0x78, 0xfe, 0x8a, 0x08, 0xe9, 0x50, 0xed, 0x03, 0x74, 0x8d, 0xca, - 0x5e, 0xc5, 0x8c, 0x72, 0xb0, 0xaa, 0x1b, 0xb3, 0x4d, 0xe2, 0xeb, 0xf8, 0xba, 0x06, 0xe6, 0xf7, 0xc4, 0xcf, 0x40, - 0xee, 0x61, 0x64, 0xd9, 0x3a, 0x99, 0xd2, 0x5b, 0x6d, 0xb7, 0xc1, 0x95, 0x12, 0x69, 0xc3, 0x64, 0x59, 0x93, 0x1a, - 0xe8, 0x69, 0x05, 0x16, 0xc1, 0xbf, 0xd1, 0x3b, 0xf6, 0x8d, 0x30, 0x9d, 0x63, 0xdb, 0x35, 0x9c, 0x4d, 0x4a, 0x8f, - 0x73, 0x95, 0x4e, 0x4a, 0x48, 0x4d, 0xc5, 0x97, 0xcc, 0xb8, 0x52, 0x1e, 0x13, 0xce, 0x71, 0x35, 0x18, 0x32, 0x0c, - 0xa9, 0xa0, 0xfe, 0x36, 0x59, 0x4a, 0x53, 0x72, 0x96, 0x08, 0x9f, 0x62, 0xf9, 0x33, 0xaa, 0x25, 0xb7, 0x6d, 0xe0, - 0x98, 0xf6, 0x9a, 0xe5, 0x62, 0xc1, 0x8b, 0xf9, 0x13, 0x04, 0x03, 0x1f, 0x5f, 0x51, 0x4b, 0x9e, 0xcb, 0x83, 0x9d, - 0xc4, 0x48, 0xc6, 0xbf, 0x67, 0xda, 0x0d, 0x91, 0xcb, 0x52, 0x85, 0xc8, 0x4c, 0x7f, 0xe6, 0x61, 0xf5, 0x61, 0x39, - 0xd8, 0x4c, 0x11, 0xd3, 0xbf, 0xdf, 0x3f, 0x35, 0x18, 0xc1, 0x0f, 0x3d, 0x39, 0x6d, 0x46, 0x08, 0x7a, 0x16, 0x1d, - 0x55, 0xd8, 0x23, 0x72, 0xa2, 0x00, 0xc9, 0xb2, 0x47, 0xb1, 0xbe, 0xa4, 0x8e, 0x8e, 0xb1, 0x1e, 0x87, 0x13, 0x56, - 0xf6, 0x1c, 0xc9, 0x73, 0x50, 0x57, 0xcd, 0x92, 0xea, 0xd8, 0x63, 0xc0, 0xea, 0x6f, 0x38, 0x95, 0xae, 0xb9, 0xbb, - 0x41, 0x04, 0x5b, 0x22, 0xed, 0x38, 0x72, 0x09, 0xa0, 0x13, 0x4c, 0x61, 0xc8, 0x79, 0x3e, 0x1e, 0xaa, 0x97, 0xbf, - 0x25, 0x3a, 0x2a, 0x71, 0x43, 0x89, 0x74, 0x4b, 0x94, 0x4e, 0x2f, 0x63, 0xcf, 0xee, 0x96, 0x4a, 0xff, 0xc0, 0x03, - 0x4c, 0xd7, 0x29, 0x04, 0x39, 0xe4, 0x24, 0xe1, 0xad, 0x4c, 0x85, 0xb3, 0x7c, 0xd3, 0x1d, 0xdc, 0xb3, 0x88, 0xf1, - 0x10, 0xee, 0xed, 0x0e, 0xb8, 0x0d, 0x2c, 0x46, 0x8d, 0x66, 0x32, 0x70, 0x31, 0xc5, 0x18, 0x8e, 0x38, 0xa4, 0x9c, - 0x23, 0x96, 0x95, 0x3d, 0xee, 0xe6, 0xec, 0x94, 0x41, 0xb4, 0x88, 0x2e, 0x43, 0x95, 0x36, 0x49, 0x8f, 0x1d, 0xb2, - 0x90, 0xf6, 0x29, 0x9e, 0x11, 0xb6, 0x51, 0xd5, 0x69, 0xa2, 0xef, 0x9e, 0x82, 0xe3, 0x19, 0x3a, 0xc3, 0xae, 0x3d, - 0x3f, 0x51, 0xd8, 0x1b, 0x86, 0x50, 0x7e, 0xc9, 0xaf, 0x32, 0x7f, 0x5d, 0x4d, 0x01, 0xac, 0xd8, 0x86, 0xf9, 0x84, - 0x20, 0xce, 0x5c, 0x71, 0x58, 0xe7, 0xdf, 0x6c, 0x66, 0x2b, 0x37, 0xd6, 0xf0, 0x42, 0xa7, 0x14, 0x6e, 0x1b, 0xfd, - 0x1c, 0xe8, 0xec, 0x8a, 0x84, 0x1f, 0x3d, 0xc7, 0x01, 0x64, 0x23, 0x95, 0x64, 0xae, 0xb8, 0xa7, 0xf6, 0xb7, 0x20, - 0xae, 0x1e, 0xc8, 0xc9, 0xa3, 0x17, 0x24, 0xe8, 0x25, 0xf4, 0xe7, 0xf3, 0xe8, 0x5c, 0xa2, 0x61, 0x6f, 0x94, 0x4f, - 0xde, 0x9f, 0xb1, 0x98, 0x5b, 0xa4, 0xc3, 0xb4, 0x94, 0xbe, 0x87, 0xc9, 0x1c, 0x27, 0x14, 0x49, 0xd5, 0x37, 0x8c, - 0x24, 0x78, 0xf1, 0x4c, 0xa2, 0x73, 0x21, 0x37, 0xe7, 0x34, 0x62, 0xb9, 0x67, 0x95, 0xd5, 0x6b, 0x47, 0x51, 0xde, - 0x71, 0x35, 0x4b, 0xba, 0x49, 0xcd, 0x52, 0xc7, 0x56, 0x15, 0x66, 0x34, 0x32, 0xbe, 0x70, 0xab, 0x17, 0x49, 0x39, - 0x64, 0x83, 0x94, 0x0d, 0x6c, 0x1a, 0x93, 0x85, 0x51, 0x73, 0xb3, 0xf3, 0x45, 0xdc, 0xb1, 0x5d, 0x05, 0xad, 0x52, - 0x25, 0xe9, 0xa0, 0x7e, 0x50, 0xed, 0xfd, 0x40, 0xdb, 0x26, 0xc9, 0xdf, 0xd5, 0xac, 0x8b, 0xef, 0xa1, 0xab, 0x9c, - 0x56, 0x3b, 0x10, 0xe6, 0xa3, 0xa2, 0x1d, 0x03, 0x03, 0x45, 0xf1, 0x60, 0x7b, 0x0a, 0x5d, 0xde, 0x6f, 0x8d, 0x4a, - 0x26, 0x9d, 0x02, 0x9b, 0xb2, 0x2a, 0x98, 0xa6, 0x0a, 0xab, 0xf3, 0x1a, 0xb3, 0xbf, 0x3d, 0x2e, 0x3b, 0x09, 0xec, - 0x25, 0xe3, 0x1e, 0x9f, 0x82, 0xdf, 0x50, 0xbc, 0xc6, 0x1a, 0x72, 0x71, 0x1a, 0x98, 0x49, 0x98, 0x45, 0x69, 0xfd, - 0x76, 0xad, 0x7b, 0xfb, 0xb7, 0x5d, 0x3f, 0xa4, 0xf0, 0x81, 0x1e, 0x27, 0x46, 0xcd, 0xfc, 0xa3, 0xfc, 0x5a, 0x4a, - 0x7c, 0xe9, 0xeb, 0x96, 0xbb, 0xbf, 0x52, 0x27, 0xb1, 0x86, 0x39, 0x0c, 0xad, 0xd8, 0x1a, 0xc9, 0x7e, 0x41, 0x4c, - 0x6f, 0xd7, 0x3b, 0x49, 0xc4, 0x80, 0x73, 0x3d, 0x47, 0x96, 0xf9, 0xcc, 0x15, 0xf4, 0x4c, 0x22, 0x34, 0x4c, 0x57, - 0x33, 0x8e, 0x5a, 0x86, 0x5a, 0x4c, 0x1d, 0xc3, 0x1f, 0x1e, 0x32, 0x19, 0x3b, 0x94, 0xd1, 0x8f, 0x75, 0x7c, 0x9b, - 0x1a, 0xcb, 0x86, 0xaf, 0xa1, 0xdc, 0xb3, 0xcb, 0x3f, 0x3a, 0xd4, 0xe6, 0x71, 0x8f, 0xc7, 0xea, 0x20, 0x5e, 0xad, - 0xf6, 0xec, 0x0d, 0x8a, 0x58, 0x9f, 0xd6, 0xb0, 0x3a, 0xb8, 0xcc, 0xe6, 0xfc, 0x1c, 0x6c, 0x12, 0x5c, 0xbd, 0xd5, - 0xcd, 0x2f, 0x43, 0x74, 0x6b, 0x5c, 0x43, 0x72, 0x7e, 0x76, 0xbe, 0x87, 0x8f, 0xf8, 0xc9, 0xcf, 0xb4, 0x64, 0x9e, - 0xad, 0x13, 0xd8, 0x64, 0xd9, 0xb5, 0x65, 0x7e, 0x94, 0x3b, 0xbc, 0x2f, 0xfe, 0x67, 0x7d, 0x61, 0x03, 0x04, 0x84, - 0xf3, 0x4b, 0xfa, 0xc5, 0xe1, 0x39, 0xdb, 0x20, 0x76, 0xbe, 0xf9, 0xbe, 0x48, 0x73, 0x95, 0x06, 0x77, 0xfe, 0xd8, - 0x19, 0x82, 0x63, 0x04, 0xd8, 0x8b, 0xa0, 0x11, 0x21, 0x99, 0xde, 0x91, 0x52, 0x74, 0xb3, 0xc6, 0x69, 0x25, 0x65, - 0x2d, 0xdc, 0x57, 0xda, 0xd4, 0x5d, 0xb9, 0xbb, 0xa8, 0x88, 0xd9, 0xa5, 0x09, 0x0e, 0x05, 0x16, 0x23, 0x93, 0xb2, - 0x24, 0x85, 0xa6, 0xbc, 0xf8, 0x47, 0x82, 0x1d, 0x01, 0x93, 0x6b, 0xb4, 0x0a, 0xc1, 0x38, 0x9f, 0x77, 0x56, 0xa5, - 0xa7, 0x91, 0x21, 0xa8, 0x1e, 0x79, 0x65, 0x4b, 0x35, 0x8b, 0xa6, 0xa6, 0x7c, 0x97, 0x5a, 0x37, 0x62, 0xd8, 0x7b, - 0xd5, 0x72, 0x82, 0xbc, 0xab, 0xc4, 0xc9, 0x4d, 0x0e, 0xe3, 0x92, 0xf9, 0x1a, 0x41, 0x89, 0x34, 0xb3, 0x77, 0x09, - 0x93, 0x4d, 0xa6, 0x9c, 0xb3, 0x60, 0x5b, 0xc7, 0x20, 0x91, 0x38, 0x96, 0x1d, 0x12, 0x72, 0x95, 0xf6, 0x4d, 0x96, - 0xa2, 0x3a, 0x73, 0x2a, 0x43, 0x3f, 0xed, 0x78, 0x39, 0x47, 0x4c, 0xc7, 0xd9, 0x22, 0x1d, 0x23, 0x06, 0x10, 0xc6, - 0x8c, 0x27, 0x48, 0xd5, 0xbc, 0x94, 0xd1, 0xea, 0xe2, 0x19, 0xae, 0x51, 0x7b, 0x10, 0x98, 0xe8, 0x18, 0xc4, 0xbe, - 0x4e, 0x68, 0x9c, 0x88, 0xe6, 0x44, 0x79, 0xaf, 0xb5, 0xb0, 0xdd, 0x37, 0xb4, 0x2e, 0x99, 0xc2, 0xa5, 0x14, 0x48, - 0x2c, 0xf3, 0xeb, 0x40, 0xf2, 0x42, 0xd3, 0x58, 0xd1, 0x6a, 0x09, 0xc0, 0xd4, 0x16, 0xcf, 0xd3, 0xb7, 0x7c, 0x33, - 0xab, 0xc7, 0xec, 0x33, 0xba, 0x05, 0xb8, 0xf6, 0x29, 0x65, 0x5c, 0x0f, 0x1e, 0x7b, 0xa0, 0x40, 0x03, 0xf4, 0x94, - 0x73, 0xb7, 0xf8, 0x2b, 0xdb, 0x10, 0xaf, 0x43, 0x37, 0xa8, 0x65, 0x89, 0x3e, 0xe7, 0xd7, 0xe2, 0xe2, 0x3f, 0xe5, - 0x2e, 0x08, 0x8c, 0x5c, 0x7c, 0x52, 0xd0, 0xc3, 0x69, 0xa2, 0xcb, 0x84, 0xc7, 0x7b, 0xd4, 0x69, 0x0a, 0xca, 0x0d, - 0xcc, 0xe2, 0x26, 0x8b, 0x26, 0xdd, 0x5d, 0xdb, 0xea, 0xde, 0x1d, 0x8e, 0x35, 0x37, 0x75, 0x88, 0x3d, 0x75, 0x6f, - 0x56, 0x4d, 0x71, 0xf1, 0x6d, 0xdb, 0x64, 0x1a, 0xb6, 0x36, 0x8a, 0x4a, 0x9a, 0xe6, 0x2d, 0x6b, 0x7f, 0x91, 0xed, - 0x34, 0xc0, 0xdb, 0x85, 0x44, 0xd7, 0x7c, 0xb4, 0x04, 0xb1, 0xa5, 0xfc, 0x78, 0x31, 0xe5, 0xb1, 0xa2, 0xc5, 0x19, - 0xd6, 0x4d, 0xaa, 0x4c, 0xf2, 0x0c, 0x1d, 0x4d, 0xa8, 0xf3, 0x7d, 0x1c, 0x56, 0x8d, 0x46, 0xff, 0xbc, 0x4e, 0xcd, - 0x08, 0x93, 0xd0, 0xe8, 0x44, 0x38, 0x73, 0x18, 0x97, 0xc6, 0x88, 0x97, 0x5e, 0x7e, 0xcc, 0x3f, 0x98, 0x53, 0x14, - 0x58, 0x4f, 0x70, 0x5e, 0x0f, 0x6d, 0xe6, 0xc4, 0x21, 0xd0, 0x73, 0x63, 0x94, 0xf5, 0x25, 0xfd, 0xcc, 0x1b, 0x8d, - 0x7d, 0x28, 0xb9, 0x20, 0x08, 0x15, 0x9e, 0x73, 0x1c, 0x32, 0xcc, 0x40, 0x5f, 0x37, 0xd9, 0x02, 0x3f, 0x6b, 0x73, - 0x1e, 0xf6, 0x45, 0xac, 0x2d, 0x47, 0x17, 0x83, 0xaf, 0x9e, 0xd7, 0x31, 0x3f, 0x90, 0xbf, 0x5d, 0x2b, 0xe3, 0x18, - 0x95, 0x68, 0x10, 0xbb, 0x22, 0x6d, 0x0a, 0x80, 0xa8, 0xd4, 0x39, 0x0e, 0xa2, 0x02, 0xc6, 0xda, 0x0f, 0x94, 0x26, - 0x94, 0x91, 0x02, 0x58, 0x9d, 0xe1, 0x0c, 0x60, 0x07, 0x23, 0xd9, 0x35, 0xab, 0x8f, 0x91, 0xc5, 0x79, 0xb4, 0xbb, - 0x9a, 0x38, 0x2d, 0xba, 0x7b, 0x71, 0x51, 0x26, 0xc6, 0x3d, 0x2a, 0xda, 0x92, 0xc6, 0xad, 0x01, 0x73, 0x56, 0x74, - 0x6b, 0x32, 0x95, 0xab, 0x3b, 0x76, 0x96, 0xe0, 0xf4, 0xd6, 0x15, 0x58, 0xeb, 0x0e, 0xe6, 0xeb, 0x74, 0x56, 0xdc, - 0x7f, 0xa2, 0x20, 0x4d, 0x23, 0xb0, 0x66, 0x13, 0xa4, 0xfa, 0xd1, 0x92, 0x33, 0x0b, 0x58, 0xa5, 0x49, 0x69, 0x69, - 0x05, 0x0c, 0x3e, 0xdb, 0x88, 0x37, 0x6c, 0xcf, 0x9a, 0x0e, 0xab, 0xd1, 0xf7, 0xbe, 0x53, 0x93, 0xda, 0x23, 0xd3, - 0xdd, 0xf6, 0xe6, 0x14, 0x42, 0xf4, 0x85, 0x29, 0xcd, 0x14, 0x01, 0x70, 0xfe, 0xd3, 0x13, 0xc0, 0xed, 0xdb, 0x83, - 0x60, 0xa9, 0xe4, 0xb9, 0xda, 0x9c, 0xb0, 0x03, 0x22, 0x5b, 0xce, 0x75, 0x47, 0x42, 0x0c, 0x8e, 0x39, 0xa3, 0xa2, - 0x17, 0x24, 0x71, 0x06, 0xad, 0x6c, 0x75, 0x0d, 0xf8, 0xad, 0xc3, 0x81, 0x09, 0x51, 0x8e, 0x60, 0xf0, 0x8e, 0x31, - 0x6c, 0x66, 0x72, 0x9b, 0xd1, 0x40, 0x34, 0x54, 0x43, 0x96, 0x2f, 0x7b, 0xb1, 0x3d, 0xda, 0xd1, 0x7c, 0x60, 0xc9, - 0xfc, 0xe6, 0x13, 0xe1, 0x3e, 0xb6, 0x7b, 0xd8, 0xab, 0xef, 0x85, 0x49, 0x75, 0x7c, 0xda, 0xba, 0x74, 0xae, 0xbd, - 0xb8, 0xae, 0x5e, 0x9a, 0xbd, 0xe9, 0x1f, 0xce, 0xc6, 0x22, 0x07, 0x59, 0x05, 0xfd, 0x79, 0x30, 0x0f, 0x04, 0xd5, - 0xd4, 0x65, 0xb2, 0x08, 0x70, 0xa9, 0x11, 0xa5, 0xd7, 0x3a, 0x23, 0xb0, 0x0d, 0x8c, 0xeb, 0xb1, 0xb9, 0xc2, 0xd3, - 0xf3, 0x59, 0x12, 0x0d, 0x72, 0x28, 0x15, 0x7a, 0xcd, 0xe7, 0xa3, 0x0f, 0x4a, 0xfe, 0xeb, 0xf2, 0xb4, 0xfe, 0x4b, - 0xca, 0x19, 0xa8, 0xa6, 0x9d, 0xca, 0x3f, 0x96, 0x75, 0x10, 0x6f, 0x5b, 0xd7, 0x77, 0xae, 0xe7, 0x3f, 0x4c, 0x48, - 0xa6, 0xce, 0x6d, 0xe8, 0x2c, 0x26, 0x7d, 0xbf, 0x4b, 0xb4, 0x71, 0xb6, 0x22, 0x25, 0x06, 0xaa, 0xf6, 0x05, 0xd9, - 0xa4, 0xde, 0x24, 0xb5, 0xba, 0xf1, 0x91, 0xb6, 0xc8, 0x0a, 0x6e, 0x1a, 0xb2, 0x81, 0xfa, 0x69, 0xef, 0x8e, 0xdd, - 0xbe, 0x3f, 0x99, 0xbb, 0xaf, 0xdd, 0xe6, 0xdf, 0x28, 0xbb, 0xfd, 0xdc, 0x1b, 0x69, 0x36, 0x14, 0x3d, 0x6f, 0xbc, - 0x6c, 0x4b, 0xc6, 0xc1, 0x5b, 0x33, 0x03, 0xc1, 0x61, 0x4e, 0x3e, 0xd6, 0x79, 0x06, 0x24, 0x2d, 0xb3, 0x68, 0x03, - 0x72, 0x8d, 0x4b, 0x1c, 0x50, 0x55, 0xb0, 0xf3, 0x99, 0xa9, 0x36, 0x27, 0x12, 0xd7, 0x3b, 0x59, 0x1e, 0x76, 0x74, - 0x71, 0x87, 0x69, 0x99, 0x6e, 0xe2, 0xc2, 0xd1, 0x0d, 0x3b, 0x25, 0x4d, 0x36, 0x4f, 0x34, 0x9b, 0x4e, 0xbf, 0x4b, - 0xfa, 0xe6, 0x30, 0x90, 0x36, 0x67, 0x3e, 0xdc, 0x74, 0x1e, 0xba, 0xd0, 0x15, 0xee, 0x26, 0x15, 0xa9, 0xb4, 0x9c, - 0x40, 0x55, 0xc7, 0xb6, 0x52, 0x50, 0x94, 0xe2, 0xdf, 0x7c, 0x6f, 0x78, 0x58, 0x15, 0x7c, 0x13, 0x13, 0x49, 0xcc, - 0xd6, 0xaa, 0xf1, 0x85, 0x38, 0xfd, 0x41, 0x99, 0xb7, 0xf3, 0xf9, 0x24, 0x8e, 0x21, 0xff, 0xbd, 0x6a, 0x2a, 0x52, - 0x40, 0x93, 0x38, 0x48, 0xc8, 0xcc, 0xd8, 0x29, 0xfa, 0x78, 0x42, 0xe8, 0x4c, 0x52, 0x3e, 0xb8, 0xcc, 0xc1, 0x2f, - 0xbb, 0x3d, 0xba, 0xad, 0x72, 0x9b, 0x5b, 0x81, 0x3d, 0x55, 0x53, 0xa4, 0x25, 0x85, 0x4c, 0xba, 0x3a, 0x75, 0x6c, - 0x9c, 0xf5, 0xb5, 0xfb, 0x6f, 0x55, 0xc9, 0x9e, 0xbf, 0x3e, 0xe7, 0x6b, 0xe3, 0x90, 0x26, 0x15, 0xff, 0x8e, 0xdb, - 0x75, 0x77, 0x03, 0xc0, 0x9f, 0xb5, 0x4a, 0x89, 0x97, 0xd2, 0x35, 0xdd, 0x57, 0xd1, 0x6e, 0x78, 0xb6, 0xea, 0x27, - 0x4c, 0xd9, 0x9b, 0x91, 0xf2, 0x7e, 0xa2, 0xfe, 0xd2, 0xc3, 0x96, 0xa3, 0x19, 0x70, 0x32, 0xbc, 0xb9, 0x9d, 0x3b, - 0xcc, 0xf9, 0xd7, 0xd8, 0x1a, 0x0e, 0xbb, 0x6f, 0x40, 0x6f, 0x51, 0x1c, 0xb5, 0x6b, 0xa2, 0x64, 0x02, 0x01, 0x13, - 0xc1, 0x81, 0xb8, 0x8f, 0xd5, 0x48, 0x66, 0xed, 0x4b, 0xd8, 0x1d, 0xad, 0x4c, 0x8b, 0x96, 0x6a, 0xcd, 0xa7, 0x42, - 0x99, 0x49, 0x2a, 0x86, 0xd5, 0xc0, 0x9f, 0x5d, 0x39, 0x2d, 0xf8, 0x12, 0x58, 0x5e, 0xee, 0x78, 0x16, 0xb6, 0x0b, - 0x79, 0x7f, 0xfb, 0x60, 0x0d, 0xf8, 0x58, 0x9f, 0xb2, 0xe2, 0xbd, 0xfe, 0x77, 0x61, 0x43, 0x2d, 0x3d, 0xe6, 0xd7, - 0x66, 0xe1, 0x07, 0xe7, 0x35, 0x0e, 0x6e, 0x55, 0xed, 0x54, 0x31, 0x2e, 0x45, 0x14, 0x40, 0x80, 0x57, 0x34, 0x7c, - 0x47, 0x9d, 0xc7, 0xb3, 0xba, 0x44, 0x3f, 0x7e, 0xdf, 0x6d, 0x69, 0x4b, 0x12, 0x10, 0xa5, 0xca, 0x29, 0x72, 0x2b, - 0x27, 0xd7, 0x2c, 0x92, 0xa5, 0x77, 0x66, 0xd3, 0xa8, 0x68, 0x1a, 0x00, 0x48, 0xdf, 0x23, 0xcf, 0x82, 0xe7, 0x50, - 0x6e, 0x25, 0xf1, 0x56, 0xc9, 0x4c, 0x80, 0x89, 0xc2, 0x0f, 0x12, 0x21, 0x0c, 0x88, 0xbc, 0x1b, 0x06, 0x69, 0x6d, - 0x5f, 0xb8, 0x3e, 0x03, 0x58, 0x26, 0xc4, 0x5f, 0xdc, 0x87, 0x5b, 0xe7, 0xd3, 0xc1, 0xc9, 0x8d, 0x1c, 0x22, 0x82, - 0xd9, 0x28, 0xdd, 0x9b, 0x1c, 0x59, 0x65, 0xf7, 0x93, 0xab, 0x56, 0x4f, 0x04, 0x54, 0x5a, 0xbe, 0x57, 0xdc, 0x8c, - 0x38, 0x7f, 0x06, 0xdd, 0x6d, 0x70, 0xe5, 0x2a, 0xe7, 0xb4, 0x53, 0xd9, 0x21, 0xd9, 0xfe, 0xbb, 0x08, 0x5a, 0x94, - 0xcd, 0x14, 0xbe, 0x94, 0x2d, 0x3c, 0xb7, 0xd5, 0x95, 0xdb, 0x00, 0x90, 0x45, 0x62, 0x34, 0x17, 0x0d, 0xef, 0x92, - 0x08, 0xe3, 0xa2, 0xcd, 0x9f, 0xaa, 0x4f, 0xb3, 0x1a, 0x2a, 0xca, 0x46, 0xb5, 0xd9, 0x68, 0x86, 0x0c, 0xc4, 0x13, - 0xf4, 0xf2, 0xab, 0x1d, 0xe0, 0xc7, 0x2a, 0x79, 0xb2, 0x74, 0x1b, 0xf1, 0xb6, 0x3e, 0x49, 0xd4, 0xd3, 0x56, 0xf7, - 0x65, 0x98, 0x2c, 0x68, 0x9e, 0x3e, 0xff, 0xdf, 0x1d, 0xe0, 0x97, 0x90, 0x87, 0x2b, 0x16, 0xbe, 0x53, 0x75, 0x1f, - 0xaf, 0xaa, 0x70, 0xb1, 0x5e, 0x36, 0xe7, 0x83, 0x0e, 0x20, 0x47, 0xaa, 0xfa, 0x7d, 0x0e, 0xd3, 0x90, 0xe5, 0xb7, - 0x46, 0x17, 0x6e, 0x45, 0xc1, 0x81, 0xe7, 0xbd, 0x16, 0x2d, 0xd4, 0xd4, 0x55, 0x46, 0x84, 0x71, 0x4a, 0x50, 0x87, - 0x5b, 0x5d, 0xf0, 0xb4, 0x9b, 0x5b, 0x50, 0x49, 0x9e, 0x77, 0x93, 0x08, 0xe9, 0xc0, 0x7b, 0xb7, 0x52, 0x56, 0xbd, - 0x6e, 0x08, 0xc3, 0x5e, 0x39, 0xbb, 0x0a, 0x95, 0x3a, 0xad, 0xb4, 0x86, 0x1b, 0x5a, 0xb5, 0xa6, 0x68, 0xe0, 0xe4, - 0x94, 0xaa, 0x55, 0x2d, 0x79, 0xd6, 0x74, 0x6e, 0xb2, 0xcd, 0x5c, 0x56, 0x74, 0xdd, 0x21, 0xc3, 0x2b, 0x85, 0x75, - 0x5d, 0x07, 0xd7, 0x70, 0xa2, 0xc1, 0x79, 0xdf, 0x6e, 0x5b, 0x8e, 0x14, 0xd9, 0x2e, 0x56, 0x17, 0xee, 0xe8, 0xf8, - 0x2f, 0x0f, 0x28, 0x3e, 0x1d, 0xb5, 0xe4, 0x51, 0x8c, 0xac, 0xd0, 0x34, 0xb8, 0x06, 0x22, 0xfc, 0x0b, 0xaf, 0x4d, - 0xda, 0x6b, 0x4a, 0x26, 0xd4, 0xad, 0x9b, 0x73, 0x38, 0x48, 0x4b, 0xfc, 0xd2, 0x34, 0x8d, 0xb7, 0x79, 0x7a, 0x1f, - 0x4d, 0x56, 0xb5, 0xb7, 0x88, 0x4d, 0x7a, 0x76, 0x6d, 0x64, 0xb8, 0xc1, 0x84, 0x3c, 0xfe, 0x07, 0x3b, 0x01, 0x3a, - 0x91, 0x92, 0x05, 0x97, 0xe3, 0xca, 0x52, 0x0c, 0xf5, 0x9b, 0x57, 0x26, 0xeb, 0x53, 0x58, 0x64, 0x5e, 0x46, 0xae, - 0x5b, 0x2a, 0x47, 0xc3, 0x0f, 0x7d, 0x92, 0x2a, 0xe2, 0x3c, 0x03, 0x11, 0x78, 0xca, 0x6a, 0xe9, 0x79, 0x8e, 0x59, - 0x1b, 0x47, 0x92, 0xf9, 0x20, 0x24, 0x1f, 0xc6, 0xa5, 0x18, 0x52, 0x6c, 0xdf, 0xd8, 0x52, 0xe5, 0xf8, 0x86, 0x10, - 0x95, 0x13, 0xae, 0xa0, 0x09, 0x63, 0xed, 0x4f, 0x51, 0x51, 0x74, 0x67, 0xb5, 0x24, 0xd8, 0xad, 0x3a, 0x39, 0xa9, - 0xce, 0x34, 0x7f, 0x80, 0xc1, 0xd2, 0x1b, 0x74, 0x74, 0x58, 0x57, 0x63, 0x7e, 0x74, 0xb0, 0xe2, 0xd6, 0x57, 0x36, - 0x99, 0x45, 0xdb, 0x98, 0x71, 0xa6, 0xd4, 0x16, 0xdf, 0x5b, 0x9b, 0x5d, 0x04, 0x66, 0xf7, 0x0a, 0x97, 0x28, 0x22, - 0x67, 0xeb, 0x98, 0x91, 0x54, 0x71, 0xed, 0x10, 0xa9, 0xea, 0x9c, 0xd0, 0xc7, 0x40, 0x8b, 0xcf, 0x38, 0x5d, 0x2d, - 0xc4, 0x36, 0x0e, 0xbb, 0x8e, 0x4c, 0x95, 0xe4, 0x77, 0xd1, 0xe7, 0x7e, 0x2c, 0xc1, 0xe6, 0x02, 0xe2, 0x39, 0xdf, - 0x3b, 0x17, 0x6a, 0x16, 0x76, 0x21, 0xec, 0x60, 0x1a, 0x25, 0xe4, 0x68, 0xbf, 0x56, 0x7e, 0x8e, 0xe0, 0xd5, 0x2b, - 0x3d, 0x93, 0x0d, 0x3f, 0x11, 0xd1, 0xca, 0x52, 0xc2, 0x91, 0x0c, 0xa3, 0xf7, 0x2f, 0xde, 0xdc, 0x70, 0x90, 0xa1, - 0xf0, 0x0c, 0x36, 0x0f, 0x44, 0xc0, 0xed, 0xdd, 0x4f, 0x98, 0xd6, 0x52, 0x29, 0x08, 0xe7, 0x0a, 0x86, 0x04, 0x1b, - 0xe3, 0x52, 0x66, 0x6b, 0x93, 0x35, 0x01, 0x6b, 0xe1, 0x88, 0x3a, 0x68, 0x4c, 0x7a, 0x9e, 0x77, 0x9a, 0xd6, 0x31, - 0xff, 0x29, 0xb8, 0x60, 0xf9, 0x9e, 0x8d, 0xeb, 0x15, 0x04, 0xcd, 0x35, 0xae, 0xb1, 0xa6, 0xbb, 0xe8, 0x41, 0xea, - 0xfd, 0x35, 0x7b, 0xc6, 0x2a, 0x7f, 0xb7, 0xc0, 0x24, 0xd0, 0xa0, 0x50, 0x34, 0xe5, 0x2b, 0xa1, 0x43, 0x88, 0x5e, - 0xcd, 0x1b, 0xff, 0x2a, 0x7a, 0x96, 0x53, 0xcd, 0xe4, 0x76, 0xa3, 0x1a, 0x9a, 0x61, 0xca, 0x14, 0x12, 0xda, 0xc6, - 0x0f, 0x24, 0x5f, 0x76, 0xcb, 0xd4, 0xc2, 0x9c, 0xfd, 0x97, 0x16, 0xc7, 0xb1, 0x85, 0xaa, 0x55, 0x5f, 0x84, 0x39, - 0x4e, 0x4c, 0x5b, 0x77, 0xd9, 0xc8, 0x9d, 0xcd, 0x21, 0xa8, 0xa6, 0x6c, 0x6e, 0xd4, 0xbd, 0x63, 0x3e, 0x32, 0x87, - 0xb7, 0xc8, 0xef, 0x76, 0x64, 0x5e, 0x26, 0x97, 0x7d, 0xfc, 0xac, 0xd7, 0xbf, 0x09, 0x80, 0xc4, 0x36, 0x06, 0x8e, - 0xcd, 0xf3, 0xae, 0xb1, 0x96, 0x1b, 0xd3, 0x45, 0x62, 0x4d, 0x1d, 0x00, 0x0a, 0x9e, 0x72, 0xa0, 0x50, 0x49, 0x53, - 0x12, 0x04, 0xf5, 0x10, 0x72, 0x44, 0x39, 0xbe, 0x5d, 0xc4, 0x5c, 0xd7, 0xab, 0xc9, 0xc6, 0xbf, 0xdc, 0xfa, 0x68, - 0xd5, 0x07, 0xb4, 0xfb, 0x99, 0x8d, 0x7a, 0x58, 0xa4, 0xc6, 0x29, 0x0c, 0xf9, 0x11, 0xe7, 0xb1, 0xa6, 0x41, 0x37, - 0x4e, 0x06, 0x5a, 0x41, 0x2f, 0x15, 0xf8, 0xdf, 0x42, 0x39, 0x63, 0xe5, 0x46, 0x79, 0xa8, 0x58, 0xad, 0x5d, 0xf7, - 0xaf, 0xf8, 0x32, 0x62, 0x12, 0xa6, 0x87, 0x27, 0x60, 0xd6, 0x52, 0xae, 0xe4, 0xe7, 0xf5, 0x36, 0x54, 0x0b, 0x0f, - 0x38, 0xe9, 0xbc, 0xae, 0x3e, 0x07, 0x72, 0x91, 0x35, 0x53, 0x74, 0x68, 0xce, 0xd3, 0xa0, 0x82, 0x09, 0xbf, 0xad, - 0xe7, 0x26, 0x09, 0xba, 0xd4, 0x38, 0x56, 0x1e, 0x76, 0x1f, 0x47, 0xa3, 0xb3, 0x28, 0x27, 0x2e, 0x54, 0x63, 0x97, - 0xe7, 0x59, 0x54, 0x39, 0x2f, 0xf6, 0xa4, 0xab, 0x75, 0x65, 0xad, 0xbd, 0xa5, 0x15, 0xf3, 0xc6, 0x50, 0x4b, 0x52, - 0x73, 0x98, 0xd6, 0x89, 0x34, 0xb3, 0x68, 0x58, 0x99, 0x55, 0x08, 0xde, 0x86, 0xdd, 0x46, 0x88, 0xec, 0x82, 0x83, - 0xb4, 0x10, 0x2f, 0xbd, 0x59, 0x6a, 0x38, 0xc1, 0x53, 0xc8, 0x15, 0xfd, 0xc3, 0x69, 0x61, 0x40, 0x6a, 0x2b, 0x4a, - 0x66, 0xfd, 0xe8, 0xbf, 0xd9, 0x0c, 0xf7, 0x33, 0xd7, 0xca, 0x3b, 0xd4, 0x1f, 0x07, 0xa3, 0xd9, 0x8f, 0x49, 0x9f, - 0x72, 0xde, 0x2e, 0x05, 0x98, 0x2c, 0xc1, 0xb9, 0x17, 0xec, 0xcd, 0x80, 0x96, 0x37, 0x5e, 0x35, 0xb9, 0x21, 0x13, - 0xae, 0x9f, 0x24, 0x71, 0x2e, 0x56, 0x41, 0x7a, 0x09, 0xee, 0xbd, 0x68, 0xa8, 0x95, 0x05, 0xe9, 0xfe, 0x63, 0xb6, - 0xf8, 0x6b, 0x83, 0x91, 0x29, 0x88, 0x4f, 0x9e, 0xb0, 0xb7, 0x24, 0x8d, 0x4f, 0xe0, 0xd6, 0xb1, 0xe1, 0xda, 0xac, - 0x40, 0x1f, 0xfc, 0x79, 0xb2, 0x70, 0x68, 0x0d, 0xfc, 0xe7, 0xbb, 0x7f, 0x19, 0xaa, 0x1e, 0x3c, 0xdb, 0x99, 0x26, - 0xeb, 0x86, 0x9a, 0x48, 0xc3, 0x5f, 0xed, 0x7d, 0x01, 0xb8, 0x08, 0x57, 0x31, 0x03, 0x12, 0xd0, 0x95, 0xae, 0x58, - 0x60, 0x98, 0x02, 0xbb, 0x8c, 0xfe, 0x04, 0xbc, 0xad, 0x5c, 0x63, 0x3a, 0x4c, 0x8a, 0x4d, 0x00, 0xc4, 0x25, 0x01, - 0xf2, 0x96, 0x0e, 0x55, 0x04, 0x3a, 0x38, 0xc4, 0x7a, 0x79, 0x67, 0x12, 0xdf, 0xb9, 0x8f, 0xac, 0xce, 0x81, 0x3f, - 0x0d, 0xc8, 0x76, 0xa1, 0x00, 0x76, 0xcb, 0xbd, 0x5d, 0x87, 0x47, 0x83, 0x0c, 0x29, 0x51, 0x8c, 0x25, 0xf8, 0xf8, - 0x64, 0x1e, 0xf3, 0x98, 0xe7, 0xe3, 0x80, 0x6f, 0xf4, 0x01, 0x54, 0x1c, 0x2a, 0x90, 0xbf, 0x0b, 0x51, 0xa1, 0x2e, - 0xf7, 0xd1, 0x02, 0xc0, 0xe8, 0x13, 0xcc, 0xa1, 0x13, 0xb7, 0xd4, 0x1b, 0x50, 0xe5, 0x7b, 0x90, 0x52, 0x09, 0xfe, - 0x46, 0x26, 0x53, 0xd5, 0x9e, 0x8a, 0x59, 0x55, 0x18, 0x45, 0x24, 0x6c, 0xd4, 0x16, 0xc2, 0x1d, 0x63, 0x46, 0xcd, - 0x8f, 0x9d, 0x79, 0x1c, 0x4b, 0x7b, 0x3d, 0x12, 0x4a, 0x76, 0xc6, 0x7b, 0x0f, 0x4a, 0xe1, 0xe0, 0x2a, 0x80, 0xfb, - 0xb4, 0xfa, 0x9c, 0x4a, 0x8c, 0x99, 0x65, 0xd1, 0xf0, 0x50, 0x7a, 0x93, 0xa8, 0xf1, 0x55, 0x70, 0xfd, 0xcd, 0x40, - 0xbc, 0x8a, 0x3f, 0x7b, 0xdc, 0xf4, 0x71, 0xf5, 0xbf, 0x21, 0xe0, 0xea, 0x2c, 0x5c, 0x39, 0x61, 0x9f, 0x27, 0xc8, - 0xd7, 0x0d, 0xde, 0x2e, 0x5b, 0x4b, 0x34, 0x4f, 0x66, 0xe9, 0x73, 0x67, 0x58, 0xa0, 0xaa, 0xaa, 0xf9, 0x2d, 0x0a, - 0x25, 0x64, 0x91, 0x41, 0x68, 0x48, 0x9a, 0x99, 0x48, 0xed, 0xdc, 0x5b, 0x6e, 0x62, 0x47, 0x1a, 0x78, 0xda, 0xee, - 0x3d, 0xc3, 0xc7, 0x68, 0x30, 0x14, 0xc9, 0x33, 0xb8, 0xf2, 0x06, 0xba, 0x52, 0x49, 0xca, 0xe5, 0x7c, 0x2c, 0xfa, - 0x32, 0xf4, 0x2b, 0xfa, 0x4d, 0x5a, 0x96, 0xc7, 0x5d, 0x24, 0x52, 0xff, 0x57, 0xb9, 0xe6, 0x34, 0xfa, 0xbc, 0x34, - 0xb6, 0x51, 0x31, 0x68, 0x70, 0xdb, 0x14, 0x08, 0x39, 0x53, 0x5a, 0x94, 0x1e, 0x0c, 0x2d, 0x7d, 0xff, 0xc3, 0x55, - 0x58, 0xba, 0xa7, 0xb4, 0x53, 0x9e, 0x5e, 0xf4, 0x52, 0x83, 0x81, 0xf8, 0x77, 0xb2, 0xe4, 0x4d, 0x5f, 0xa9, 0x91, - 0x4c, 0xfc, 0x1f, 0xbc, 0xb4, 0x51, 0x2e, 0x97, 0x3a, 0xa5, 0xd3, 0x0e, 0x8a, 0xa3, 0x2e, 0x39, 0x1e, 0xc5, 0xbe, - 0x65, 0x34, 0x8a, 0x57, 0xca, 0x3e, 0x8b, 0x89, 0x1b, 0xf4, 0x44, 0x34, 0x68, 0xd6, 0x32, 0x80, 0x26, 0x7a, 0x4d, - 0xc9, 0x88, 0x53, 0x77, 0x82, 0x1b, 0x81, 0x32, 0xab, 0x68, 0x43, 0x52, 0x37, 0xbe, 0x31, 0x98, 0x5a, 0x3d, 0xee, - 0x87, 0x21, 0x2a, 0x65, 0x7d, 0xfb, 0x74, 0x44, 0xd5, 0x57, 0xd9, 0xa5, 0xf4, 0xad, 0x62, 0xa3, 0x5d, 0xea, 0x70, - 0xc7, 0x1c, 0xd8, 0xe4, 0x99, 0x41, 0x2d, 0x67, 0x0e, 0x31, 0x3f, 0x3d, 0x8f, 0x36, 0x0e, 0x98, 0x9d, 0x18, 0x62, - 0x8e, 0x3a, 0x57, 0x25, 0x90, 0xc6, 0x60, 0x3a, 0xb1, 0x93, 0x44, 0xea, 0x4b, 0xcb, 0x5e, 0xaf, 0x54, 0x31, 0xa7, - 0x96, 0x96, 0xfd, 0x00, 0x76, 0xf8, 0x4a, 0xcb, 0x4f, 0x54, 0x61, 0x68, 0x76, 0xcb, 0x1a, 0xe1, 0xaf, 0x36, 0xbd, - 0x8e, 0xd7, 0xf1, 0x2a, 0x95, 0xa5, 0x3b, 0x20, 0x86, 0x1c, 0xcc, 0x4e, 0xb0, 0x01, 0x29, 0xa2, 0x65, 0x71, 0xbe, - 0xe6, 0x29, 0x9f, 0x8d, 0x63, 0x89, 0xb5, 0xd1, 0x63, 0xcb, 0xdb, 0xe6, 0xdc, 0xa3, 0x19, 0xa1, 0x22, 0x51, 0x62, - 0xd9, 0xd6, 0xb0, 0xb8, 0x11, 0x0b, 0x4a, 0x88, 0x25, 0xfa, 0x05, 0x3f, 0x23, 0xe2, 0x6a, 0x80, 0xde, 0xa4, 0x76, - 0x06, 0x5d, 0x05, 0x1d, 0x8c, 0xa3, 0x6b, 0xfe, 0x3b, 0x0d, 0x37, 0x85, 0x2e, 0x11, 0xb7, 0x0d, 0x70, 0xc9, 0xc5, - 0x0c, 0x83, 0x3a, 0x85, 0xac, 0x6e, 0xe2, 0x5b, 0x5d, 0xe4, 0x7f, 0x62, 0xf1, 0x27, 0xb8, 0x90, 0x17, 0x97, 0x86, - 0x17, 0xe4, 0xa6, 0xbc, 0xf7, 0x5b, 0xdc, 0xc8, 0x10, 0xad, 0x7c, 0xfa, 0xe8, 0xf2, 0x62, 0x91, 0x66, 0xdc, 0xa9, - 0xe9, 0xad, 0xf1, 0xb9, 0x6e, 0x45, 0x7f, 0x32, 0x9e, 0x9b, 0x71, 0x92, 0x66, 0xe4, 0xa7, 0x7c, 0xc8, 0xef, 0xa1, - 0x54, 0x33, 0x9c, 0x57, 0x73, 0x1d, 0x50, 0xcf, 0x0c, 0x5f, 0x4e, 0x63, 0x1d, 0x98, 0x74, 0x0b, 0xfe, 0xb0, 0x87, - 0x43, 0xd9, 0xb4, 0xb7, 0x4f, 0xde, 0xf0, 0xb9, 0xd5, 0x3d, 0x5d, 0x32, 0x4a, 0x1a, 0x4c, 0x7d, 0x54, 0xb5, 0xdf, - 0x97, 0x68, 0x1c, 0xc4, 0xd3, 0x18, 0x6b, 0x44, 0xff, 0x4b, 0x7c, 0x7c, 0x55, 0x86, 0x37, 0xc0, 0x3c, 0x28, 0x49, - 0x8e, 0xa5, 0x5f, 0x8c, 0x69, 0x84, 0xc8, 0x7b, 0xcc, 0x2f, 0xea, 0xf5, 0x60, 0xe3, 0x32, 0xe4, 0xe2, 0x15, 0xd1, - 0xe3, 0xd9, 0xe2, 0x5b, 0xe8, 0xc2, 0x70, 0x98, 0x9a, 0x00, 0xfe, 0x1f, 0x65, 0x0f, 0xd4, 0x0f, 0xa1, 0x7c, 0x99, - 0x36, 0xb6, 0x9f, 0x6d, 0x9a, 0x65, 0x46, 0xde, 0x9d, 0x27, 0x6b, 0xb6, 0x91, 0xc4, 0xda, 0x34, 0x6a, 0x13, 0x34, - 0x5a, 0xbd, 0xcd, 0xd9, 0x37, 0x36, 0xa6, 0xd1, 0xd0, 0xf7, 0x68, 0xa6, 0xf4, 0xfa, 0x31, 0x7d, 0x71, 0x7d, 0x87, - 0x98, 0x18, 0xf6, 0x9b, 0xd5, 0x3a, 0x24, 0x36, 0xba, 0xdb, 0x71, 0xc6, 0xfa, 0x1e, 0xd1, 0x7d, 0x93, 0xcb, 0x42, - 0x4e, 0x6e, 0x42, 0xa6, 0x12, 0x75, 0xed, 0xdb, 0x6a, 0xd8, 0xde, 0x03, 0x94, 0x51, 0xb3, 0xd4, 0xc0, 0xe8, 0x8b, - 0xd7, 0xe5, 0x0c, 0xc1, 0x35, 0xb7, 0xde, 0xb8, 0x40, 0x64, 0xf0, 0xd1, 0xb4, 0xcc, 0x65, 0x51, 0x03, 0x27, 0x47, - 0xeb, 0x20, 0xfd, 0xf2, 0x20, 0x1e, 0xa9, 0xfa, 0xe2, 0x6d, 0xcd, 0xc0, 0x8a, 0x96, 0xa8, 0x86, 0x0f, 0x7c, 0xbc, - 0x36, 0xce, 0xcb, 0x8c, 0x5f, 0x4e, 0x8e, 0xd2, 0x0d, 0xe3, 0xca, 0xda, 0xee, 0x62, 0x1c, 0xae, 0xba, 0xad, 0x4a, - 0xa6, 0x64, 0xc6, 0xbe, 0x25, 0x99, 0x9f, 0x49, 0xa5, 0xe7, 0x8d, 0x9a, 0x97, 0xb0, 0xd9, 0xf3, 0x67, 0x3a, 0xc5, - 0x95, 0x49, 0x36, 0x0a, 0xdd, 0xff, 0xd1, 0x8d, 0x58, 0x7a, 0x8f, 0x0e, 0x8c, 0x39, 0xb8, 0x7a, 0x4a, 0xcf, 0x43, - 0x5b, 0x0d, 0xef, 0xe9, 0xfb, 0x34, 0x5f, 0x89, 0xcf, 0x7f, 0xe9, 0x86, 0x8d, 0x45, 0x9d, 0xf4, 0x7e, 0xd5, 0x29, - 0x24, 0x0e, 0x6e, 0x45, 0x3b, 0x21, 0x27, 0xf9, 0x09, 0x41, 0x7d, 0xd9, 0xa0, 0xda, 0x00, 0x6c, 0x58, 0xa5, 0xa2, - 0x2e, 0x06, 0x5a, 0x8e, 0x28, 0x5b, 0x0f, 0xfa, 0xda, 0xb4, 0x3d, 0xdd, 0x5f, 0x35, 0xab, 0x6d, 0xeb, 0x65, 0x09, - 0x53, 0x96, 0x4e, 0xdb, 0x85, 0x3a, 0x6d, 0xc9, 0x33, 0xfd, 0x52, 0x17, 0x73, 0xda, 0xc4, 0xc1, 0xcf, 0x95, 0xbf, - 0x87, 0xdb, 0xda, 0x1d, 0xbb, 0xd6, 0xc8, 0x06, 0xc7, 0xed, 0x31, 0xc7, 0xd9, 0x05, 0x22, 0x5a, 0x16, 0xda, 0x1e, - 0xaa, 0x16, 0xa9, 0x3b, 0xf5, 0x9d, 0x09, 0xbb, 0x09, 0x20, 0x54, 0xec, 0x5d, 0x92, 0x3c, 0x7c, 0x96, 0xd9, 0xe8, - 0xc0, 0x6e, 0xb2, 0x52, 0x9b, 0xf8, 0xfa, 0x94, 0x99, 0x96, 0xa2, 0xab, 0x33, 0x6a, 0xe0, 0xce, 0x69, 0x3e, 0x39, - 0x68, 0x26, 0xca, 0x6d, 0x13, 0xd9, 0xf3, 0x91, 0x3a, 0x41, 0x5d, 0xa0, 0x12, 0x35, 0xad, 0x53, 0xcb, 0x08, 0x0a, - 0x37, 0xc9, 0xde, 0x78, 0xa4, 0x9b, 0xb1, 0x62, 0xfb, 0x15, 0xa8, 0x9b, 0xb3, 0x1b, 0x77, 0x60, 0xc8, 0xaa, 0x15, - 0x6a, 0x67, 0x04, 0xc7, 0xd0, 0x7c, 0x2d, 0x29, 0x12, 0x86, 0x95, 0x80, 0x1d, 0x38, 0x52, 0xa4, 0x20, 0xb8, 0xdb, - 0xea, 0xfc, 0x0d, 0x94, 0x1e, 0x51, 0xa2, 0xc2, 0x2b, 0x2a, 0xa7, 0x74, 0x83, 0x5d, 0x3d, 0x17, 0x20, 0x60, 0x0a, - 0x28, 0x36, 0x32, 0x8b, 0xca, 0x76, 0xab, 0x42, 0xf6, 0x72, 0x3d, 0xb8, 0xbc, 0xf9, 0x40, 0xdd, 0xd8, 0xf4, 0xdd, - 0x97, 0x34, 0xe8, 0x84, 0xe2, 0xc1, 0x07, 0xec, 0xb1, 0x15, 0xf1, 0x4d, 0x76, 0xc8, 0x34, 0x91, 0x31, 0xea, 0x4b, - 0xe4, 0x83, 0x69, 0xff, 0xee, 0x97, 0xc3, 0x2a, 0xe0, 0xea, 0x77, 0xba, 0x91, 0x43, 0xc5, 0xbc, 0x1b, 0x10, 0xa2, - 0x90, 0x01, 0x19, 0xd1, 0xd6, 0x7f, 0xb6, 0xf4, 0xb5, 0x44, 0x3b, 0xda, 0xda, 0x27, 0x01, 0xd9, 0x43, 0x6f, 0xb6, - 0xc1, 0x39, 0x19, 0x2c, 0x00, 0x0c, 0xfe, 0x0b, 0xcd, 0x37, 0x89, 0xa5, 0x84, 0x56, 0x45, 0xf0, 0x71, 0x68, 0x66, - 0x6f, 0xcc, 0xa8, 0xfa, 0x34, 0x03, 0xe8, 0x9e, 0x84, 0x50, 0xe6, 0x6c, 0xaf, 0x37, 0x04, 0x75, 0xec, 0x17, 0x8a, - 0xd5, 0x67, 0x70, 0xc3, 0xff, 0xe8, 0xab, 0x5f, 0xe0, 0x5e, 0x45, 0x51, 0x13, 0xbb, 0xa6, 0x68, 0x1c, 0x4a, 0xb8, - 0xc9, 0x85, 0xf5, 0x2e, 0x09, 0x02, 0x8d, 0xfe, 0x2b, 0x35, 0xc5, 0xc8, 0x02, 0xba, 0xb3, 0x85, 0xc0, 0x5a, 0xc1, - 0x48, 0x4a, 0x44, 0x28, 0x65, 0xae, 0x33, 0x8b, 0xb7, 0xec, 0xea, 0x97, 0xb6, 0xc4, 0xea, 0xcd, 0x3b, 0x06, 0x67, - 0xc5, 0xf2, 0xed, 0x79, 0x27, 0x33, 0x2f, 0xb4, 0x2c, 0x10, 0xd5, 0x14, 0xd2, 0x97, 0xbc, 0x85, 0xd1, 0xca, 0x63, - 0xe3, 0x82, 0x69, 0x7d, 0xff, 0x52, 0xaa, 0x6a, 0xe7, 0x45, 0xa8, 0xab, 0x97, 0xd1, 0xc4, 0xc2, 0xad, 0xa5, 0x0c, - 0xec, 0x4a, 0x44, 0xb0, 0x4d, 0x11, 0xc0, 0xe4, 0x6b, 0x20, 0x44, 0x3c, 0xa8, 0x82, 0x52, 0x3d, 0x61, 0x61, 0xdf, - 0xa0, 0xe0, 0xdd, 0x5d, 0x74, 0x8d, 0x6f, 0x81, 0x88, 0xde, 0x96, 0xc0, 0x30, 0x3c, 0x2e, 0x9e, 0x4a, 0x79, 0x53, - 0x12, 0xb0, 0x5d, 0x85, 0xef, 0x45, 0x94, 0x9b, 0xb5, 0x1f, 0x8d, 0x68, 0xab, 0x0d, 0x12, 0xa5, 0x45, 0xf6, 0x1a, - 0x4f, 0x9b, 0xfc, 0xaa, 0x79, 0x67, 0xf7, 0x36, 0x7d, 0xd5, 0x86, 0x30, 0x3c, 0x45, 0x3a, 0x25, 0x6c, 0xbb, 0x48, - 0xc4, 0xfd, 0x1f, 0x67, 0x8a, 0x16, 0xfb, 0x6c, 0x9c, 0x4b, 0xb5, 0xeb, 0x3b, 0x04, 0x8c, 0x9f, 0xd5, 0x43, 0x77, - 0xfd, 0xa9, 0x1c, 0xeb, 0x6f, 0x46, 0x1d, 0x54, 0xe0, 0xe1, 0x6e, 0x96, 0x7e, 0x8d, 0xc6, 0xf7, 0x5a, 0x7c, 0xd9, - 0xfb, 0x8a, 0x00, 0xbc, 0x78, 0x13, 0xef, 0xa2, 0xfd, 0x44, 0x27, 0x70, 0x8c, 0xb0, 0x6d, 0x93, 0x80, 0xb5, 0x8f, - 0x5f, 0x91, 0x14, 0xe4, 0xc8, 0xef, 0x40, 0xfe, 0xb7, 0xc6, 0xdc, 0xf0, 0x1d, 0x15, 0x73, 0x4b, 0x29, 0x5d, 0x25, - 0x4f, 0x4e, 0x61, 0x7b, 0xcc, 0x02, 0xc4, 0x11, 0x38, 0x78, 0x3f, 0xb1, 0x27, 0x7f, 0xba, 0xa0, 0x6e, 0x46, 0x47, - 0x8a, 0x43, 0xb1, 0x9a, 0x9f, 0x1a, 0x1a, 0x29, 0x0f, 0xd3, 0x11, 0x41, 0x4d, 0x68, 0x31, 0x16, 0x8e, 0x2e, 0x49, - 0x00, 0x81, 0x09, 0x50, 0xa7, 0xc8, 0xa2, 0xaf, 0x47, 0x6e, 0xc5, 0xa4, 0x67, 0x5b, 0xb9, 0x74, 0xed, 0x13, 0xde, - 0xd4, 0x9e, 0x81, 0x5b, 0xab, 0xc6, 0x68, 0x75, 0x67, 0x47, 0x65, 0xa5, 0xc7, 0xe4, 0x74, 0x6e, 0xae, 0xc4, 0x72, - 0x4d, 0x71, 0x1f, 0x8e, 0x76, 0x0f, 0xea, 0x1d, 0x51, 0x04, 0x62, 0x4c, 0x94, 0xd9, 0x99, 0x9c, 0xed, 0x37, 0x7a, - 0x00, 0xdf, 0x52, 0x50, 0x2f, 0x98, 0x0f, 0xb8, 0xdc, 0x5b, 0xde, 0x91, 0x79, 0xe0, 0x95, 0x09, 0x47, 0x4d, 0xb9, - 0xf6, 0x66, 0x23, 0xb3, 0x44, 0x4d, 0x78, 0xfe, 0xbf, 0x1a, 0x6a, 0x48, 0x2c, 0x20, 0x93, 0xb1, 0x6f, 0xdf, 0x55, - 0xe4, 0xd3, 0x2c, 0x74, 0xb8, 0xc2, 0x01, 0xd4, 0x71, 0x6a, 0x6a, 0xc0, 0x0d, 0x78, 0xf8, 0x41, 0x42, 0x2b, 0xdf, - 0x25, 0xd4, 0xf8, 0xe7, 0x7e, 0xc6, 0xbe, 0x77, 0x9b, 0x6d, 0x9e, 0xd3, 0x2b, 0xc0, 0xd2, 0xe8, 0xfe, 0x36, 0xe9, - 0x8b, 0x83, 0x06, 0x0c, 0x55, 0x27, 0xaf, 0x16, 0xd3, 0xc6, 0x76, 0xf3, 0xaf, 0xcf, 0xe4, 0xbc, 0xa3, 0xf7, 0xa5, - 0xe7, 0xb6, 0xb9, 0x1f, 0x77, 0x75, 0x57, 0xb1, 0x6e, 0x5e, 0x34, 0xc4, 0x8a, 0x22, 0x2e, 0x3e, 0xac, 0x77, 0xb7, - 0x73, 0xbb, 0x75, 0x24, 0xc5, 0x3b, 0x05, 0x77, 0x4a, 0x4a, 0x75, 0xcf, 0x8c, 0xa1, 0x27, 0xec, 0xbd, 0x6c, 0xdc, - 0xff, 0x72, 0xe9, 0xac, 0xbb, 0xe2, 0xae, 0x72, 0xf0, 0xc6, 0xa4, 0x8b, 0x16, 0xec, 0xfa, 0x45, 0xaf, 0xdf, 0x7c, - 0xa1, 0x7e, 0x5a, 0xd1, 0x2d, 0x4a, 0x28, 0xa0, 0x0d, 0x2d, 0x5f, 0x10, 0xef, 0x84, 0xca, 0x46, 0x77, 0xc2, 0xc9, - 0xd3, 0xe2, 0xbe, 0xfa, 0x4e, 0xc6, 0xe0, 0x2f, 0x90, 0xaf, 0xe6, 0x51, 0xf0, 0xf1, 0x9f, 0xc4, 0x2f, 0x2f, 0x8b, - 0xfa, 0xcd, 0x8b, 0xd7, 0x5e, 0x0b, 0x80, 0x69, 0x9d, 0x1f, 0xf1, 0xe2, 0x7b, 0x4b, 0xe7, 0x41, 0x92, 0x3f, 0x62, - 0x3c, 0xfb, 0x28, 0x4b, 0x80, 0x04, 0x58, 0xa5, 0x7a, 0x67, 0x16, 0xc4, 0xe3, 0xfb, 0x30, 0x11, 0x39, 0x03, 0x09, - 0x1b, 0x14, 0x0a, 0xc2, 0xf8, 0x4e, 0x23, 0xc2, 0x7b, 0x14, 0x31, 0x15, 0x5e, 0x76, 0x7d, 0xbf, 0x4a, 0x71, 0xb0, - 0x02, 0xa3, 0x76, 0xfb, 0x2f, 0x26, 0x53, 0x60, 0x4f, 0x1c, 0x4c, 0xd4, 0x15, 0x4e, 0x78, 0xfc, 0xe1, 0xe4, 0xfe, - 0x25, 0x3d, 0x52, 0x55, 0x87, 0x39, 0x32, 0xbe, 0xb6, 0xaa, 0xea, 0xc5, 0xaf, 0xd0, 0xb6, 0x2f, 0x67, 0xa9, 0xb5, - 0x74, 0xd9, 0xab, 0x81, 0x6c, 0xed, 0x6c, 0xa2, 0xba, 0x3b, 0x59, 0x1e, 0x97, 0x1b, 0xc2, 0x10, 0x88, 0x75, 0xee, - 0xf2, 0xc8, 0x25, 0xdb, 0xc7, 0xc2, 0xc5, 0x29, 0xdb, 0xfc, 0xec, 0x59, 0xfa, 0xcb, 0x42, 0x79, 0xca, 0xb7, 0xde, - 0xc2, 0xdb, 0xaf, 0x89, 0x1e, 0xf4, 0x77, 0xd3, 0x26, 0xca, 0x01, 0xd1, 0x81, 0x83, 0xc6, 0xf7, 0xa7, 0xf7, 0xff, - 0xa8, 0x19, 0x52, 0x3d, 0x6b, 0x49, 0x2b, 0x07, 0x7f, 0x48, 0x9c, 0x2d, 0xcd, 0x61, 0x2a, 0x11, 0x24, 0xe3, 0xda, - 0xf4, 0x32, 0x59, 0x7b, 0xd3, 0x76, 0x97, 0x1d, 0x90, 0xb5, 0xe4, 0x14, 0x88, 0x1a, 0xb9, 0xd7, 0x35, 0xdf, 0x42, - 0xa8, 0x93, 0x58, 0xa6, 0xb6, 0x7b, 0x8d, 0x3a, 0x83, 0xb5, 0x04, 0xd0, 0x20, 0xe6, 0x35, 0xfe, 0x37, 0x43, 0x33, - 0xfe, 0xf6, 0xcd, 0x93, 0x83, 0x1b, 0x46, 0x82, 0xa9, 0xf8, 0x28, 0x80, 0xe1, 0x8c, 0xe0, 0x49, 0xbd, 0xbe, 0xf6, - 0x25, 0x06, 0xfa, 0xa1, 0xa4, 0xea, 0xc5, 0xde, 0xcd, 0xce, 0x2b, 0x70, 0x51, 0xda, 0x3f, 0x50, 0x7c, 0x43, 0x9a, - 0x91, 0x5a, 0xd9, 0xab, 0x7b, 0xef, 0xd4, 0x76, 0xd2, 0x6b, 0xc9, 0x82, 0xe6, 0xc0, 0x4b, 0x06, 0xb7, 0x24, 0x67, - 0x60, 0x79, 0x7f, 0x2e, 0x3d, 0xd9, 0x19, 0xf8, 0x44, 0xea, 0x97, 0xfa, 0x4a, 0xdc, 0x2c, 0x09, 0x65, 0x2c, 0x24, - 0xd5, 0xfd, 0x0a, 0x44, 0xaf, 0xff, 0xe8, 0x46, 0x85, 0x86, 0xbd, 0x3a, 0xdb, 0x31, 0x90, 0x46, 0x8c, 0xf6, 0x2e, - 0xb5, 0xde, 0xee, 0xe9, 0x91, 0x31, 0x7d, 0xde, 0xfb, 0xb9, 0xea, 0xdc, 0x91, 0xd9, 0x86, 0x54, 0xff, 0x54, 0xcc, - 0x5a, 0x52, 0x21, 0xdb, 0x8a, 0xed, 0xb4, 0x02, 0x77, 0x1e, 0x4c, 0xde, 0x1d, 0x98, 0xbb, 0x0f, 0x64, 0x0e, 0x63, - 0xad, 0x2b, 0x55, 0x95, 0x1b, 0x5f, 0xc4, 0xd0, 0xef, 0x03, 0xc9, 0x2c, 0xb2, 0x48, 0xaa, 0xc0, 0x16, 0x6a, 0x23, - 0xef, 0xdd, 0xcf, 0xc5, 0xaa, 0xd3, 0x2f, 0x4d, 0x82, 0x74, 0xff, 0x46, 0xe4, 0x9a, 0x19, 0x79, 0xf3, 0xbe, 0xda, - 0x46, 0x30, 0xac, 0xa3, 0x8d, 0x48, 0xa1, 0x9d, 0x2f, 0x19, 0xfe, 0x33, 0x92, 0x77, 0x62, 0xa6, 0x7f, 0x90, 0xce, - 0xac, 0x1f, 0x84, 0xf1, 0x76, 0xbf, 0x40, 0x73, 0xfe, 0xa1, 0x80, 0x67, 0x2f, 0x14, 0x60, 0x01, 0x69, 0xf4, 0x4a, - 0xea, 0x63, 0x4d, 0x50, 0x4e, 0xb8, 0x32, 0x94, 0x6c, 0x94, 0xd7, 0x52, 0x7b, 0x42, 0xfb, 0xa6, 0x64, 0x03, 0x6c, - 0xe2, 0x3a, 0x76, 0xd1, 0xd4, 0xb1, 0xc0, 0x74, 0xb9, 0x7f, 0x71, 0x6c, 0x0f, 0x52, 0xb9, 0x70, 0x01, 0x5f, 0xe8, - 0x02, 0x77, 0x61, 0x38, 0x40, 0x6b, 0x50, 0xff, 0x71, 0xdc, 0x14, 0xff, 0x50, 0x4a, 0x25, 0xb1, 0xc9, 0x42, 0xa9, - 0x50, 0x7b, 0x88, 0x9f, 0x1b, 0xe5, 0x5a, 0x4f, 0x82, 0x6b, 0xa4, 0x08, 0x08, 0x8e, 0x2b, 0x26, 0x71, 0x35, 0xa5, - 0x21, 0xb8, 0x73, 0xf4, 0x99, 0xd7, 0xf2, 0x2b, 0xa1, 0xec, 0xba, 0xc0, 0x67, 0x60, 0x05, 0x18, 0xec, 0x2f, 0xec, - 0x0b, 0x47, 0x17, 0x2d, 0x67, 0xeb, 0xb3, 0x03, 0x27, 0x40, 0x1e, 0x2b, 0x4f, 0x24, 0x61, 0x6b, 0x72, 0xee, 0x4d, - 0x6e, 0xdf, 0x33, 0x85, 0x68, 0x52, 0x44, 0xd5, 0xe3, 0x17, 0xb8, 0x20, 0x2d, 0xa9, 0x64, 0xa5, 0xa0, 0x55, 0xa8, - 0x40, 0xb4, 0xd1, 0xc6, 0xd5, 0xaa, 0xd3, 0xfb, 0xa7, 0x11, 0x9d, 0x97, 0xc6, 0xda, 0x10, 0x43, 0xe0, 0x88, 0xb5, - 0xf5, 0x53, 0x85, 0x8d, 0x37, 0xc9, 0xba, 0xb8, 0xcf, 0x63, 0xfb, 0x35, 0x43, 0x33, 0x12, 0x6f, 0x2a, 0x6f, 0x9b, - 0xe2, 0x61, 0xc1, 0x1b, 0x27, 0x7a, 0xa1, 0x5f, 0xb0, 0x39, 0xe1, 0xf4, 0xd7, 0x75, 0x97, 0xc9, 0xb1, 0xfa, 0xd8, - 0x43, 0x48, 0xb9, 0x50, 0xa3, 0x42, 0xa4, 0xe7, 0xed, 0xd8, 0x5c, 0xb9, 0xc7, 0xd2, 0xe8, 0x1c, 0xd7, 0xa4, 0x24, - 0xdb, 0xcd, 0xf0, 0xd2, 0xa6, 0x82, 0x38, 0x71, 0x77, 0x3f, 0xa8, 0x05, 0xef, 0xb6, 0x21, 0xad, 0x69, 0xfd, 0xfa, - 0x95, 0x3f, 0xbf, 0x71, 0x56, 0x52, 0x2c, 0x92, 0x45, 0xd4, 0x6c, 0xd7, 0x4f, 0xec, 0xf2, 0x67, 0xd2, 0xfb, 0x2c, - 0xbc, 0xc9, 0xda, 0xbf, 0x1e, 0xe1, 0x4b, 0xae, 0x4d, 0x29, 0x92, 0x29, 0xca, 0xdd, 0xbf, 0x49, 0x90, 0x10, 0x19, - 0xfe, 0x42, 0x00, 0xc6, 0xba, 0xa7, 0x55, 0xf3, 0xd1, 0x59, 0x89, 0xb3, 0x0f, 0xbc, 0x06, 0xe0, 0xa2, 0xe0, 0x0b, - 0xa3, 0x34, 0x5a, 0xb1, 0x18, 0x1c, 0x07, 0x9a, 0xca, 0x07, 0x5c, 0xff, 0x30, 0xa3, 0x42, 0x29, 0x36, 0xd4, 0xf7, - 0x13, 0xa7, 0x65, 0x42, 0x40, 0x23, 0x9d, 0x39, 0xb7, 0x51, 0x2b, 0xf0, 0xed, 0x71, 0x3d, 0x1c, 0xe4, 0x7a, 0xda, - 0x21, 0xf8, 0x34, 0x4d, 0x7e, 0x73, 0xc8, 0xe6, 0xf2, 0xa5, 0xd9, 0xef, 0xa5, 0x1b, 0x26, 0x2f, 0x36, 0xf4, 0x56, - 0xd8, 0x08, 0x03, 0x51, 0x8d, 0x2a, 0x68, 0x24, 0x24, 0x61, 0xa7, 0xbd, 0x26, 0x38, 0x9a, 0xd2, 0x62, 0x2a, 0xfc, - 0xa4, 0xae, 0x4f, 0xc6, 0xd7, 0xa2, 0x31, 0xb5, 0x8e, 0x1b, 0xf1, 0x71, 0x39, 0x9f, 0x01, 0xc8, 0x42, 0xc5, 0x73, - 0x4b, 0xa2, 0xcf, 0x28, 0x38, 0x1e, 0x54, 0x59, 0x31, 0xd2, 0x0e, 0x43, 0x11, 0x72, 0x63, 0xa6, 0x71, 0x1c, 0x17, - 0xfe, 0x82, 0xd3, 0x2a, 0x8d, 0x31, 0xaa, 0xbc, 0xb6, 0xe9, 0xa5, 0xf9, 0x3a, 0xa1, 0x3a, 0x97, 0xf1, 0xd7, 0x93, - 0xef, 0xb9, 0x92, 0x29, 0x40, 0x1e, 0x69, 0xbc, 0x61, 0xef, 0x78, 0x06, 0xbc, 0x99, 0xc1, 0x25, 0x01, 0x48, 0x27, - 0xeb, 0x74, 0x6e, 0xc3, 0x23, 0xd2, 0x09, 0x38, 0x3b, 0xaa, 0xf4, 0xe4, 0xca, 0x4a, 0x32, 0xd6, 0x1d, 0xc6, 0x7c, - 0xc9, 0xc6, 0xa5, 0x8d, 0xb7, 0x53, 0x66, 0x9d, 0xa5, 0xcb, 0x94, 0x88, 0x07, 0x95, 0xa4, 0xf1, 0x32, 0xc0, 0x61, - 0x9a, 0x97, 0x6f, 0xd3, 0x5a, 0x7e, 0xcf, 0x70, 0x93, 0x21, 0x15, 0x4d, 0x56, 0x69, 0x76, 0x01, 0x20, 0xc0, 0xb6, - 0x5d, 0x74, 0xd3, 0xe4, 0x08, 0x46, 0xe4, 0x1f, 0xd0, 0xbb, 0xe0, 0x8e, 0xec, 0x1d, 0xb5, 0x3b, 0xb3, 0xc7, 0x41, - 0x80, 0x77, 0x75, 0x4b, 0x76, 0x29, 0x13, 0xdf, 0xc4, 0xd0, 0xf5, 0xab, 0x96, 0x00, 0xb8, 0x01, 0x76, 0x59, 0x12, - 0x75, 0x26, 0x73, 0x81, 0x55, 0x79, 0xcc, 0xc3, 0x54, 0xa6, 0x98, 0xaa, 0x05, 0x5b, 0x82, 0x5c, 0x40, 0xb9, 0xbc, - 0x71, 0xb9, 0xae, 0xaf, 0x02, 0x40, 0xd1, 0xc3, 0x38, 0x2a, 0x26, 0x9e, 0x1b, 0xe9, 0x85, 0xbd, 0xaa, 0x40, 0x61, - 0x7c, 0x6a, 0x4b, 0x72, 0x72, 0x29, 0xfd, 0xc9, 0x64, 0xdb, 0x6a, 0xb6, 0xdb, 0xc9, 0x45, 0x42, 0xd7, 0x92, 0xd8, - 0x42, 0x2e, 0xa9, 0xdb, 0xbb, 0x3a, 0xc4, 0xf2, 0x5e, 0x16, 0x30, 0xda, 0x46, 0x67, 0xdd, 0x55, 0x1f, 0xd6, 0x94, - 0x08, 0x27, 0xcb, 0xc6, 0x7c, 0x27, 0xd6, 0x17, 0xa9, 0x35, 0x06, 0x1a, 0x67, 0xde, 0xfa, 0x25, 0x43, 0xcd, 0x04, - 0x9f, 0x54, 0x2f, 0x96, 0xc5, 0x7c, 0xe6, 0x82, 0xa8, 0xd8, 0x2c, 0xee, 0x5f, 0x6d, 0xba, 0xe0, 0x74, 0x4d, 0xda, - 0x0d, 0xa4, 0x1b, 0x58, 0x34, 0xdc, 0x45, 0x84, 0x45, 0xfb, 0x23, 0x9a, 0x15, 0xcb, 0x0a, 0xa3, 0xc7, 0x4f, 0xe6, - 0xd8, 0x53, 0xc1, 0xb1, 0xb4, 0x40, 0xc2, 0x11, 0xbf, 0x79, 0x8d, 0xd5, 0xa2, 0x6e, 0x65, 0x4c, 0x34, 0x96, 0xa6, - 0xfe, 0x61, 0x21, 0x6d, 0xfb, 0x1a, 0xa8, 0xfe, 0x19, 0x7c, 0x12, 0xdb, 0x19, 0x83, 0xbc, 0xb1, 0x0d, 0x6c, 0xe5, - 0x80, 0x3a, 0x09, 0xa5, 0x27, 0x25, 0xe5, 0x6e, 0x2e, 0x50, 0xaa, 0x34, 0xcd, 0x28, 0xf6, 0xbc, 0x4e, 0x34, 0x5d, - 0xd7, 0x08, 0x27, 0x19, 0x39, 0xd1, 0xe7, 0x8d, 0x82, 0xbc, 0xdd, 0xe6, 0xb2, 0x2f, 0x0d, 0x9c, 0x75, 0xe8, 0x36, - 0x9c, 0xc9, 0x28, 0x69, 0x08, 0x09, 0xda, 0x10, 0x66, 0x6d, 0xb2, 0xd5, 0x22, 0xb4, 0x0d, 0x69, 0x51, 0xf0, 0xc3, - 0xee, 0x1b, 0xcc, 0x23, 0xe8, 0xe9, 0x94, 0xf1, 0x87, 0xd3, 0x6f, 0x2e, 0x1f, 0xee, 0x6c, 0x32, 0x27, 0x02, 0x2d, - 0x3a, 0xcf, 0xa7, 0x87, 0xe2, 0x45, 0x81, 0x20, 0x22, 0x68, 0x0e, 0x6f, 0x09, 0x4e, 0x3e, 0x26, 0xf4, 0x5a, 0xf5, - 0x16, 0x75, 0xf8, 0xc4, 0x83, 0xef, 0xda, 0x3e, 0x21, 0x0e, 0x46, 0x6f, 0xda, 0xf2, 0x28, 0xcd, 0x33, 0x09, 0xf5, - 0xd4, 0x15, 0x03, 0x57, 0x95, 0x8c, 0x1c, 0xbf, 0x59, 0x5f, 0x13, 0x62, 0x45, 0xc0, 0x18, 0x52, 0xbd, 0xc5, 0x18, - 0x1c, 0x32, 0xe6, 0xe5, 0x38, 0x18, 0xd7, 0x6c, 0x8a, 0x2c, 0x6b, 0x43, 0xd9, 0x5d, 0xf9, 0xe9, 0x5c, 0x8c, 0x56, - 0xa1, 0x6c, 0x24, 0x9e, 0xe5, 0x51, 0x8a, 0x71, 0x0f, 0xab, 0x9e, 0x46, 0xc4, 0x96, 0x35, 0x75, 0x3e, 0x21, 0xf4, - 0xd9, 0x83, 0x98, 0xb3, 0x0b, 0x53, 0x16, 0x7a, 0x89, 0xa1, 0x2a, 0xbd, 0x0d, 0x98, 0xbe, 0x15, 0x5b, 0x24, 0xda, - 0x8e, 0x44, 0xa2, 0x98, 0xe0, 0x84, 0x38, 0x6c, 0x45, 0x8e, 0x07, 0xab, 0xbd, 0x83, 0xc9, 0xe8, 0x33, 0x4e, 0x0b, - 0xeb, 0x91, 0x98, 0xfd, 0x31, 0x4e, 0x09, 0x03, 0xce, 0xed, 0x4e, 0x4c, 0x79, 0x37, 0x22, 0x1e, 0x7d, 0x20, 0xd7, - 0x6f, 0xa5, 0x45, 0xb0, 0xc7, 0x13, 0x39, 0x52, 0x15, 0xc5, 0x0a, 0x6e, 0x1f, 0x85, 0x0c, 0x4f, 0x5d, 0x38, 0x9a, - 0xb3, 0x61, 0x3c, 0x10, 0x51, 0x6d, 0x5c, 0xd8, 0xb4, 0x96, 0x81, 0x89, 0xc6, 0x8c, 0xd5, 0xe8, 0xe0, 0x02, 0x5e, - 0xe4, 0xfd, 0xef, 0x0b, 0xa6, 0x69, 0x2d, 0x1f, 0x34, 0x83, 0xfe, 0xbb, 0x32, 0xdb, 0x2c, 0x1f, 0xde, 0xd7, 0xcb, - 0x87, 0xfd, 0x44, 0xce, 0xdc, 0xef, 0xaa, 0xb7, 0x9f, 0xfe, 0x69, 0x21, 0x07, 0xf9, 0xb7, 0xbc, 0x0a, 0x83, 0xab, - 0xad, 0xe3, 0x89, 0x1b, 0x5c, 0x4d, 0x5f, 0x3b, 0xe4, 0xb3, 0x2b, 0x6a, 0xdb, 0x70, 0x91, 0x66, 0x3c, 0xb6, 0x3c, - 0x59, 0x83, 0x15, 0x59, 0x54, 0x2b, 0x58, 0x3b, 0xc9, 0x13, 0xdd, 0xf5, 0xd9, 0x25, 0xb8, 0x27, 0x2f, 0x26, 0x32, - 0x65, 0xf6, 0x01, 0xf8, 0x50, 0x22, 0x7f, 0x62, 0xb7, 0xf0, 0xdf, 0x51, 0x05, 0xdd, 0x41, 0xc1, 0x50, 0x6b, 0x49, - 0xd8, 0xe6, 0x0b, 0x25, 0xbf, 0x96, 0x08, 0x7c, 0x51, 0xbd, 0x85, 0x75, 0x43, 0xca, 0x9f, 0x58, 0x6e, 0x4f, 0xa9, - 0x13, 0x4d, 0xa3, 0x3b, 0x79, 0x1a, 0x7e, 0xe9, 0x92, 0xe0, 0xb2, 0x4d, 0xfd, 0xbf, 0xbe, 0xff, 0xaf, 0xd7, 0x09, - 0x26, 0x21, 0xef, 0x20, 0x1e, 0x2e, 0x5f, 0x0c, 0xae, 0x3a, 0xd2, 0xf9, 0x66, 0x1f, 0xbe, 0x89, 0x86, 0xe5, 0x61, - 0xfd, 0xbc, 0xf7, 0x17, 0x5d, 0x7e, 0x6f, 0xa2, 0xef, 0x60, 0xdb, 0xb4, 0xa1, 0xb4, 0x3d, 0xa4, 0x01, 0x4b, 0x8d, - 0x0b, 0x9a, 0x55, 0xf1, 0xd8, 0x14, 0x16, 0xab, 0x7b, 0x7b, 0x4d, 0x9e, 0x72, 0x6c, 0xfd, 0x87, 0xa0, 0x83, 0xcc, - 0xf1, 0x68, 0xb8, 0x2c, 0xcf, 0xd2, 0x2c, 0xd6, 0x31, 0xe8, 0xee, 0x9d, 0x50, 0x7b, 0xb1, 0x18, 0x5a, 0x1b, 0xb5, - 0x45, 0x92, 0x48, 0xe3, 0x5d, 0x5d, 0x6c, 0xea, 0x21, 0x74, 0x69, 0xeb, 0x34, 0x6d, 0x12, 0xc7, 0x38, 0xd9, 0x96, - 0xbd, 0x06, 0xe8, 0x95, 0xbe, 0xe8, 0x2f, 0x58, 0x7a, 0x6d, 0xbf, 0xd6, 0x47, 0x8c, 0x9b, 0x0d, 0xbc, 0x3f, 0x3a, - 0x65, 0xe2, 0xe2, 0xd0, 0xd8, 0xf9, 0x16, 0x27, 0x0e, 0x7b, 0x7e, 0x8d, 0x4b, 0xaa, 0xa9, 0x97, 0x48, 0x1b, 0xc6, - 0x6a, 0x70, 0x62, 0xe9, 0x5f, 0xdb, 0x58, 0x3c, 0x48, 0x8e, 0x48, 0x65, 0x27, 0x33, 0xf5, 0x72, 0xb4, 0xf0, 0xb7, - 0xae, 0xd6, 0xf5, 0x87, 0xf8, 0xe6, 0x1f, 0x88, 0x9d, 0xa8, 0x9d, 0x5e, 0x34, 0x8a, 0x0c, 0x21, 0xd3, 0x53, 0xfc, - 0x8b, 0x5b, 0x28, 0xc3, 0x69, 0xa2, 0xb3, 0x51, 0xee, 0xed, 0x9d, 0x23, 0x3f, 0x24, 0xbc, 0x71, 0xe7, 0x72, 0x59, - 0x61, 0x60, 0xda, 0x01, 0x36, 0x50, 0x41, 0xc6, 0x81, 0xa5, 0xf8, 0x09, 0x66, 0x97, 0x21, 0xca, 0x6e, 0x99, 0x11, - 0x2f, 0x6d, 0xa7, 0xd2, 0x18, 0xb2, 0xf3, 0x22, 0x77, 0xf1, 0x98, 0x38, 0x36, 0x52, 0x1b, 0x9f, 0x14, 0x10, 0x8e, - 0xf5, 0x61, 0xc8, 0xa6, 0xdb, 0x29, 0x79, 0x6a, 0x39, 0x05, 0x9a, 0x47, 0x7e, 0x8f, 0x88, 0x8e, 0xc6, 0xd6, 0x69, - 0x50, 0x7b, 0x16, 0x1f, 0x2d, 0x17, 0xbe, 0x10, 0x2d, 0xef, 0x02, 0x5b, 0x33, 0xe4, 0x05, 0xab, 0xf7, 0x29, 0x10, - 0xe4, 0x36, 0x6c, 0x7f, 0xcf, 0x97, 0xee, 0xef, 0xac, 0x61, 0x88, 0x79, 0xd0, 0x64, 0xcc, 0xd7, 0x1c, 0x56, 0x84, - 0x4d, 0x59, 0xaf, 0x84, 0x7d, 0x1d, 0x9c, 0xba, 0x1e, 0x4e, 0x52, 0xe9, 0xb9, 0x1a, 0xcd, 0xbb, 0x74, 0xa4, 0x34, - 0x65, 0x8a, 0x36, 0xa6, 0x77, 0x7d, 0x4e, 0x36, 0x47, 0x57, 0x74, 0x3c, 0xeb, 0xa0, 0x14, 0x1e, 0x3e, 0xb5, 0xc1, - 0xa9, 0x7b, 0x46, 0x2f, 0xe4, 0xd7, 0x20, 0xbd, 0xa6, 0x45, 0x15, 0xf4, 0x69, 0xf5, 0x83, 0x17, 0x1f, 0xbf, 0x5b, - 0x25, 0xd0, 0xd8, 0xec, 0x93, 0x0d, 0xc1, 0x59, 0x1e, 0x80, 0x1f, 0x16, 0xf8, 0xff, 0x80, 0x3e, 0x20, 0x66, 0x73, - 0xd3, 0xfe, 0x30, 0x87, 0xf2, 0x4d, 0xf3, 0xf5, 0x42, 0x98, 0x16, 0x9d, 0x1f, 0x7c, 0xa8, 0x1b, 0x04, 0xd8, 0x64, - 0xcf, 0xff, 0x2b, 0xc8, 0x01, 0x82, 0x09, 0xe7, 0xef, 0xe3, 0x7a, 0x38, 0xbf, 0xd1, 0xcf, 0x11, 0x99, 0x3b, 0xdc, - 0xcc, 0xde, 0x4d, 0xbb, 0xf4, 0xaa, 0x2c, 0x36, 0x92, 0xd7, 0xc2, 0xa5, 0x8d, 0xcb, 0x69, 0x1b, 0xd1, 0x92, 0x2d, - 0x12, 0x2c, 0x7c, 0x4b, 0x00, 0x70, 0xa4, 0x7b, 0xa8, 0x6d, 0xf3, 0xbf, 0x28, 0xb6, 0x18, 0x2b, 0xb8, 0x9d, 0xd6, - 0xae, 0xae, 0xfd, 0xd0, 0x76, 0x9b, 0x65, 0x0c, 0x30, 0x7a, 0xb0, 0x33, 0x57, 0x19, 0x65, 0xb9, 0x43, 0x9c, 0x3d, - 0x5c, 0x19, 0xb5, 0xcb, 0x98, 0x70, 0x54, 0xeb, 0x66, 0xb5, 0xa7, 0x02, 0x02, 0x35, 0x62, 0xb1, 0x83, 0xae, 0xcc, - 0x8a, 0x48, 0x3a, 0x7b, 0x6f, 0xc6, 0xf0, 0x6e, 0x83, 0xc5, 0x65, 0xcc, 0x88, 0xe4, 0x8d, 0x81, 0x36, 0xb7, 0xe2, - 0xb1, 0x77, 0x7a, 0xf3, 0xe0, 0xfe, 0xf6, 0xe6, 0xf2, 0xe6, 0x76, 0x89, 0xb7, 0x89, 0x2e, 0xd5, 0x1a, 0x99, 0x53, - 0x7b, 0xbe, 0x96, 0x8c, 0x76, 0xc8, 0xf7, 0xb6, 0xd5, 0xba, 0x84, 0x16, 0x49, 0x80, 0x48, 0x2b, 0x24, 0xab, 0xea, - 0x94, 0x01, 0x0e, 0x9d, 0xa6, 0x61, 0xdb, 0xe3, 0x5e, 0x52, 0x28, 0xd8, 0xca, 0x84, 0xa3, 0x3c, 0x3b, 0xf5, 0x54, - 0x23, 0x73, 0xf6, 0x4c, 0x70, 0x5d, 0x2c, 0x24, 0x22, 0xcf, 0xd7, 0x9c, 0x2c, 0x1e, 0x01, 0xcc, 0x9c, 0xdf, 0x4f, - 0xf3, 0x14, 0x97, 0x38, 0x6c, 0xaa, 0x51, 0x46, 0x5f, 0x6f, 0x09, 0xa1, 0xa1, 0x78, 0x39, 0x14, 0xf8, 0x7a, 0xc2, - 0xf5, 0x5d, 0xa4, 0x23, 0x78, 0x42, 0xc7, 0x49, 0xf2, 0x4b, 0x43, 0x66, 0xdf, 0x6f, 0x9a, 0xc9, 0x36, 0xea, 0x8a, - 0xbe, 0x6e, 0xc9, 0x5f, 0x4f, 0xc6, 0x69, 0x6d, 0x70, 0xe9, 0xf8, 0x6f, 0xa0, 0x7b, 0x41, 0x8c, 0x83, 0x85, 0x33, - 0x88, 0xa3, 0xf0, 0x2b, 0xb6, 0x20, 0x2f, 0x3a, 0xef, 0xf9, 0x73, 0x02, 0x70, 0xb9, 0x5b, 0x06, 0x17, 0x26, 0x96, - 0x79, 0xac, 0xcb, 0x18, 0xd9, 0xc9, 0x42, 0x4e, 0x8d, 0xda, 0x57, 0x44, 0xdb, 0x9a, 0x09, 0xec, 0x47, 0x7c, 0x79, - 0x9c, 0x4a, 0x5c, 0x9b, 0x31, 0x8b, 0x8d, 0x18, 0xbc, 0xa9, 0x3c, 0x28, 0x36, 0x98, 0x85, 0xe7, 0xfb, 0xd6, 0x10, - 0x52, 0x6b, 0xd2, 0x61, 0xb0, 0x53, 0x5e, 0xc4, 0x36, 0x70, 0xca, 0x2e, 0x6e, 0xc7, 0x5a, 0x8c, 0x5f, 0xd7, 0x78, - 0xc5, 0x58, 0x47, 0x2d, 0x38, 0xce, 0x7b, 0xcb, 0x61, 0x9b, 0x60, 0x40, 0xff, 0xb1, 0x13, 0x34, 0xf3, 0xca, 0x9d, - 0x6c, 0x1d, 0x10, 0xe4, 0x6c, 0xc8, 0x12, 0x41, 0x0d, 0xbf, 0x26, 0x9b, 0x36, 0x96, 0x17, 0x9d, 0xe3, 0xfb, 0x8c, - 0x69, 0x47, 0xfb, 0x2c, 0x72, 0x11, 0x25, 0xe3, 0x57, 0x12, 0xa4, 0x73, 0x65, 0x37, 0x72, 0x77, 0x23, 0xf2, 0xa0, - 0x4d, 0x49, 0xe8, 0xad, 0x3d, 0x03, 0x37, 0x3c, 0x37, 0x5f, 0xa9, 0x9a, 0xa3, 0x2c, 0x26, 0x02, 0x83, 0x22, 0x8c, - 0x84, 0xf5, 0x57, 0xff, 0x2b, 0x70, 0x50, 0x77, 0x7c, 0x67, 0xbd, 0xa0, 0xe9, 0x01, 0xbb, 0x1b, 0x75, 0x1d, 0x4a, - 0xab, 0x04, 0x05, 0x11, 0x32, 0x17, 0x86, 0x49, 0xdc, 0xbf, 0xef, 0xde, 0xdd, 0xfd, 0xfe, 0x58, 0x94, 0x5d, 0xdd, - 0x2d, 0xf6, 0x63, 0x4b, 0x3e, 0x9b, 0xb1, 0x91, 0xf9, 0x6a, 0xf0, 0x81, 0x8e, 0x49, 0xb7, 0x40, 0xfe, 0x21, 0xb3, - 0xe7, 0x61, 0x9b, 0x41, 0x23, 0xd1, 0xb5, 0x43, 0x32, 0x20, 0x07, 0x3a, 0xe4, 0x93, 0x0d, 0x3c, 0x97, 0x47, 0xdb, - 0xbc, 0xbb, 0xbc, 0xfe, 0x73, 0xb9, 0xf7, 0xa1, 0x2b, 0xea, 0x83, 0xc5, 0x9a, 0x59, 0xfe, 0xce, 0xc9, 0x22, 0x3b, - 0x70, 0xdb, 0xcd, 0x97, 0xe1, 0x14, 0xaf, 0x66, 0xcb, 0x7f, 0xf0, 0xff, 0xdb, 0xe9, 0xc2, 0x9b, 0x3d, 0xe9, 0x44, - 0xe3, 0x98, 0xe3, 0x96, 0xf7, 0xec, 0x4c, 0xbf, 0x6b, 0x33, 0x13, 0xd2, 0x83, 0x51, 0x34, 0xdb, 0x25, 0x9d, 0xc0, - 0xa8, 0x2e, 0x79, 0xb8, 0xb1, 0x4d, 0x29, 0x53, 0x26, 0x33, 0xd2, 0x42, 0x25, 0x73, 0x2b, 0xd4, 0xb9, 0xa0, 0x48, - 0xf3, 0x85, 0x01, 0x12, 0x75, 0x9b, 0xd3, 0xda, 0x95, 0x38, 0xcd, 0xfb, 0xe6, 0xd8, 0xce, 0xc8, 0x16, 0x25, 0xa0, - 0x4d, 0x99, 0x13, 0x9a, 0x4f, 0x9a, 0x42, 0xdd, 0xdd, 0xce, 0x74, 0x46, 0x6f, 0x93, 0x56, 0x75, 0xda, 0xd7, 0x77, - 0xfd, 0x67, 0x6b, 0xe4, 0x3d, 0x4d, 0x5a, 0xdb, 0x82, 0x74, 0x46, 0x72, 0x6a, 0x3a, 0x9f, 0x06, 0xca, 0xd0, 0x16, - 0x1e, 0x67, 0xbe, 0xf5, 0x22, 0x60, 0x4d, 0x96, 0xcc, 0xa6, 0xe8, 0x6d, 0xa9, 0xa8, 0x5b, 0xec, 0xd9, 0xbd, 0x93, - 0xc9, 0xda, 0xde, 0x1e, 0x10, 0x99, 0x62, 0x58, 0x7b, 0x44, 0xd8, 0x2e, 0xa2, 0x77, 0x00, 0xc7, 0x7d, 0xd2, 0x73, - 0xf8, 0xd4, 0xc8, 0xd7, 0x45, 0xf0, 0xa8, 0x94, 0x36, 0x3f, 0x38, 0x7b, 0xd1, 0x1d, 0x1b, 0x8c, 0x97, 0x0e, 0xb7, - 0xa0, 0xe6, 0xba, 0x6c, 0xba, 0xc6, 0xdd, 0xfd, 0xdf, 0xfe, 0xb6, 0xb5, 0xf0, 0x07, 0x8e, 0x0f, 0x32, 0xbb, 0xa1, - 0xbb, 0xb7, 0xfc, 0xa2, 0x8b, 0xb9, 0xf8, 0xb2, 0x9f, 0x66, 0x67, 0x46, 0xb9, 0x29, 0xc8, 0x4e, 0x45, 0xda, 0x63, - 0x12, 0x15, 0x03, 0xd8, 0xd3, 0x4c, 0x96, 0x64, 0x40, 0x0d, 0xab, 0x57, 0xdf, 0xd2, 0xa9, 0x3b, 0x35, 0x67, 0x6a, - 0xcf, 0x34, 0xf6, 0xb9, 0xf0, 0x88, 0xdd, 0x17, 0x6b, 0xd7, 0x69, 0x6b, 0x98, 0x82, 0xd3, 0x8d, 0x2f, 0xfe, 0xf8, - 0xcb, 0x86, 0x40, 0x8d, 0x51, 0xae, 0xf9, 0xaf, 0xb5, 0x03, 0x08, 0xde, 0xdf, 0x45, 0x98, 0x0b, 0xc8, 0xac, 0xba, - 0x7a, 0xaa, 0xf7, 0x23, 0xdb, 0xcd, 0x43, 0x11, 0x3b, 0x67, 0xbb, 0x17, 0x4f, 0x01, 0x14, 0x99, 0x25, 0x85, 0x9c, - 0xab, 0x36, 0xf4, 0xd2, 0x78, 0x97, 0x1e, 0xf6, 0xd3, 0x27, 0x98, 0x93, 0x43, 0x98, 0x3b, 0x08, 0x9a, 0xcd, 0x20, - 0x81, 0x14, 0xb9, 0x20, 0x66, 0x3f, 0x07, 0x47, 0x58, 0x23, 0x95, 0xc1, 0x34, 0x32, 0x46, 0xbb, 0xe7, 0xca, 0x58, - 0x30, 0x4f, 0x7b, 0x5f, 0xe9, 0xe2, 0xae, 0x77, 0xa0, 0x3a, 0x7b, 0x48, 0xca, 0xcd, 0xfa, 0x02, 0x23, 0xa0, 0xd3, - 0x83, 0x56, 0x3f, 0xfd, 0x39, 0x85, 0x6b, 0xd8, 0x2b, 0xbb, 0x8d, 0x95, 0xe8, 0x0e, 0x20, 0x07, 0xe2, 0x12, 0x4e, - 0x59, 0x7b, 0x9e, 0xfa, 0x77, 0xbf, 0xfe, 0x1e, 0xf9, 0x8b, 0xf3, 0x72, 0xe5, 0x87, 0x95, 0x6f, 0x6d, 0x61, 0x0b, - 0x94, 0x5e, 0xe3, 0xde, 0x2e, 0x31, 0x8d, 0x63, 0x69, 0xfa, 0x96, 0xf3, 0x89, 0x5e, 0xe1, 0x89, 0x0d, 0x54, 0x22, - 0x3c, 0xe2, 0x4a, 0x79, 0x68, 0xa3, 0xd9, 0xec, 0xfa, 0x6e, 0xee, 0x02, 0xd7, 0xff, 0xc2, 0x17, 0xd6, 0xfa, 0xed, - 0x7b, 0x1c, 0x26, 0x23, 0x82, 0x37, 0xfa, 0xa3, 0x30, 0x31, 0x42, 0xc9, 0xd9, 0xc9, 0xb0, 0xff, 0x30, 0x3a, 0x7a, - 0xe8, 0x3c, 0xfa, 0x19, 0x13, 0xa5, 0x66, 0x7c, 0xe7, 0x0f, 0x73, 0x39, 0x93, 0xe7, 0x52, 0xb1, 0x40, 0x6b, 0x12, - 0x01, 0x51, 0x31, 0x2a, 0x3a, 0x4c, 0x4e, 0xe3, 0x37, 0x94, 0xe7, 0x0d, 0x0b, 0xe2, 0x22, 0x08, 0x8a, 0x2f, 0x50, - 0xf6, 0x67, 0xd7, 0x0f, 0x5c, 0xdd, 0xb0, 0x63, 0x30, 0x43, 0x3d, 0xd1, 0xd0, 0x6a, 0x42, 0x90, 0xb1, 0xb5, 0x52, - 0x05, 0x01, 0x4a, 0x47, 0x42, 0x8a, 0x41, 0xcd, 0xac, 0xe5, 0x31, 0xe9, 0xaf, 0x5b, 0x06, 0xef, 0x8d, 0x8a, 0xe3, - 0x32, 0x5a, 0xb7, 0x6d, 0xd5, 0x70, 0x6d, 0xca, 0x38, 0x7a, 0x01, 0xa6, 0xc3, 0xce, 0x49, 0x06, 0x1a, 0x46, 0xfc, - 0xaf, 0x81, 0xe1, 0x42, 0x56, 0x9b, 0x6e, 0x17, 0x87, 0x76, 0xed, 0xc6, 0x7c, 0x22, 0xd8, 0x5f, 0x36, 0x4c, 0x23, - 0xcf, 0x7b, 0xfc, 0x32, 0xd8, 0x12, 0xef, 0x59, 0xf8, 0x69, 0x1f, 0x94, 0x9d, 0xaf, 0xc1, 0xca, 0xf8, 0xd9, 0x7c, - 0xbe, 0xfb, 0x72, 0xf5, 0x1d, 0x86, 0x34, 0x17, 0x05, 0x62, 0xcd, 0xeb, 0xe7, 0xf8, 0x54, 0xba, 0x1c, 0x27, 0xc2, - 0xfa, 0x44, 0x34, 0x6e, 0xd6, 0x95, 0x0b, 0x3f, 0xf2, 0xb6, 0xc2, 0x7d, 0xfd, 0x06, 0x3b, 0x28, 0x9f, 0x7c, 0xbf, - 0x1b, 0x0b, 0xc1, 0xd3, 0xa6, 0x24, 0xe4, 0x39, 0xd0, 0x5b, 0xb7, 0x5b, 0x45, 0x4b, 0xbf, 0x96, 0x87, 0x66, 0x99, - 0x87, 0xf3, 0xc9, 0x98, 0x80, 0x88, 0xe0, 0x40, 0xce, 0x42, 0xd1, 0xf4, 0x22, 0x4c, 0xba, 0x08, 0x3e, 0x35, 0x72, - 0x8e, 0x38, 0x9c, 0xc6, 0xfd, 0xae, 0x30, 0xfd, 0x4d, 0x9e, 0x74, 0x19, 0xfb, 0xe9, 0xef, 0xdb, 0x75, 0x11, 0xd2, - 0xef, 0x79, 0x36, 0xfb, 0x2f, 0x34, 0x42, 0xfe, 0x36, 0x8a, 0x8d, 0xc7, 0x28, 0x6f, 0x14, 0x95, 0x08, 0x11, 0xed, - 0x92, 0x48, 0x98, 0xcb, 0xfb, 0x55, 0xc2, 0xc7, 0xaf, 0xe8, 0x85, 0x33, 0xc7, 0x40, 0xa3, 0x8b, 0x1e, 0x4f, 0xd8, - 0xd8, 0xfd, 0x79, 0x1a, 0x63, 0x81, 0x35, 0xc3, 0x9f, 0x05, 0x80, 0x74, 0xda, 0xad, 0x00, 0xd1, 0x86, 0x26, 0xc8, - 0x70, 0x5d, 0xe7, 0x1a, 0xd6, 0x33, 0x87, 0xe0, 0xf3, 0x46, 0xc8, 0x0d, 0xf1, 0x1c, 0x82, 0x82, 0x7b, 0x70, 0x60, - 0x89, 0xe2, 0x9f, 0x59, 0x47, 0x3d, 0x77, 0x98, 0x58, 0xd2, 0x21, 0x0d, 0x89, 0x84, 0x2c, 0xd7, 0xdd, 0xab, 0x51, - 0x01, 0x3e, 0x66, 0xb2, 0x16, 0x54, 0x3c, 0x9b, 0x4d, 0x7e, 0x35, 0xbf, 0x13, 0xa5, 0xd7, 0xd1, 0x91, 0x36, 0x79, - 0x37, 0x58, 0x82, 0xce, 0xdf, 0x19, 0x05, 0x40, 0x2f, 0x55, 0x5a, 0x05, 0x66, 0x42, 0xd8, 0xc4, 0x86, 0xef, 0x18, - 0x26, 0xa3, 0xcd, 0x9c, 0xdf, 0x64, 0x36, 0x0b, 0x13, 0xc8, 0x60, 0x68, 0x15, 0x40, 0x96, 0xed, 0x11, 0xee, 0x52, - 0xda, 0x07, 0xd4, 0xbb, 0xb8, 0xec, 0x73, 0xf4, 0x39, 0x8d, 0x24, 0xec, 0x5e, 0xaa, 0x31, 0x41, 0x5c, 0x45, 0x4b, - 0xcc, 0xb1, 0xb5, 0xe4, 0xd0, 0x42, 0xf4, 0x8e, 0xd0, 0x61, 0x77, 0x97, 0x19, 0x6c, 0x95, 0xd8, 0x7f, 0x78, 0xac, - 0x64, 0x0e, 0x9e, 0xa5, 0x67, 0xc2, 0xd6, 0x88, 0x1d, 0x27, 0x0d, 0x17, 0x24, 0x88, 0x58, 0x08, 0x4f, 0xe7, 0x03, - 0x71, 0x46, 0xb5, 0x88, 0xff, 0xa3, 0xe3, 0x04, 0xfa, 0x4a, 0xa2, 0x88, 0xec, 0x46, 0xa7, 0xfd, 0x1c, 0x0a, 0x18, - 0x89, 0x23, 0x18, 0x85, 0x9f, 0xa1, 0xa4, 0xbb, 0x4c, 0x18, 0xa0, 0x5c, 0x48, 0xec, 0xf0, 0x84, 0x94, 0x98, 0x12, - 0x6a, 0xa4, 0x07, 0x09, 0xc9, 0xcb, 0x22, 0x00, 0x75, 0x08, 0xda, 0xa1, 0xf9, 0x2b, 0x43, 0x03, 0x0f, 0x2e, 0x5f, - 0xa1, 0x24, 0x32, 0x39, 0x8f, 0x51, 0x48, 0x72, 0xeb, 0xbc, 0xcb, 0x96, 0xb4, 0xb0, 0xbf, 0xd5, 0x28, 0xaa, 0x22, - 0x59, 0xdd, 0xcb, 0x1a, 0xe1, 0xd9, 0x9a, 0x49, 0xb0, 0x3e, 0xb9, 0x8e, 0xb5, 0x90, 0x93, 0x09, 0x4c, 0x8b, 0xf6, - 0x6f, 0xab, 0xe4, 0x22, 0xff, 0x4a, 0xcf, 0xe6, 0x85, 0xdf, 0x85, 0xae, 0x7a, 0xa9, 0x3f, 0x93, 0x76, 0xd0, 0x99, - 0x05, 0x47, 0x6a, 0x99, 0x8d, 0x3b, 0xe3, 0xf3, 0xa2, 0x1b, 0xd6, 0x5f, 0x26, 0x55, 0x12, 0xbd, 0xf0, 0x6b, 0x68, - 0x56, 0x61, 0x41, 0xf9, 0x0c, 0x62, 0x5e, 0x23, 0x9a, 0x8d, 0x36, 0x8c, 0x14, 0xe0, 0xc5, 0xe7, 0xe5, 0x39, 0x77, - 0xa0, 0x32, 0x2a, 0xcc, 0xe2, 0x52, 0x49, 0xf0, 0xbd, 0x70, 0xec, 0xd0, 0x3e, 0xd3, 0xa6, 0xc8, 0xde, 0x97, 0x40, - 0x27, 0x8f, 0x68, 0x03, 0x06, 0xee, 0x10, 0x6a, 0x52, 0xa0, 0xb3, 0x71, 0xb8, 0x45, 0xed, 0x2b, 0x33, 0xba, 0x2a, - 0x45, 0xd1, 0x3c, 0xcd, 0x18, 0xa4, 0xba, 0x55, 0x0b, 0x19, 0x19, 0xed, 0xa0, 0xcb, 0xe8, 0xa0, 0x84, 0x8f, 0xe5, - 0xac, 0xf0, 0x78, 0xc8, 0x70, 0x61, 0x92, 0x6c, 0x80, 0x4f, 0x8f, 0xfe, 0xef, 0x0f, 0xce, 0xa9, 0xa5, 0xe3, 0x91, - 0xbc, 0x62, 0x76, 0xc4, 0xd2, 0x4c, 0x41, 0xea, 0x72, 0x92, 0x22, 0x75, 0x8b, 0xa9, 0x65, 0x71, 0xb0, 0x1c, 0x55, - 0x44, 0x9d, 0xde, 0x9e, 0x0a, 0x0a, 0x07, 0x06, 0x2d, 0x8c, 0x34, 0x31, 0xdf, 0x2c, 0x59, 0x7b, 0xa5, 0xe8, 0xde, - 0xc9, 0x08, 0x55, 0xaa, 0x1b, 0x5e, 0xb9, 0x6c, 0xf0, 0xda, 0xdc, 0x7f, 0x90, 0xbf, 0x8b, 0x25, 0xb7, 0x72, 0x0c, - 0x66, 0x23, 0xcc, 0x89, 0xe8, 0xcd, 0x6b, 0x25, 0xe3, 0x6d, 0x5f, 0xcb, 0x70, 0x40, 0xe9, 0x58, 0x9a, 0xa5, 0xab, - 0x66, 0xe7, 0x9a, 0x5f, 0x42, 0x2e, 0xd8, 0x81, 0x98, 0x74, 0x66, 0xad, 0x16, 0xe6, 0xd7, 0x5e, 0x79, 0xe6, 0x48, - 0xcf, 0x49, 0xd0, 0x70, 0xbb, 0xc8, 0x5a, 0x83, 0x58, 0x6f, 0x99, 0xd3, 0x61, 0x4b, 0x5e, 0xbb, 0xb0, 0x29, 0x86, - 0xe1, 0xf8, 0xcc, 0xec, 0x13, 0xcc, 0xf6, 0x4c, 0xb4, 0xc7, 0xfe, 0x67, 0x36, 0x0b, 0x6d, 0x1a, 0x12, 0xae, 0xb8, - 0xf2, 0x41, 0x8a, 0xab, 0x89, 0x3c, 0x9c, 0xc7, 0x8c, 0xde, 0x5c, 0x71, 0x1d, 0x73, 0x7b, 0xb2, 0x17, 0x84, 0x99, - 0x03, 0xfb, 0x6e, 0xfc, 0x30, 0xaa, 0x12, 0x67, 0x52, 0x96, 0x2d, 0xc5, 0x52, 0x0c, 0xf2, 0xbc, 0x0e, 0x71, 0x28, - 0x95, 0x0b, 0x62, 0x57, 0x24, 0xb2, 0xed, 0x59, 0xb2, 0x78, 0xef, 0xfa, 0x69, 0x05, 0xd5, 0x4b, 0x7c, 0x24, 0xbb, - 0x3d, 0x13, 0xda, 0x72, 0x0b, 0xb2, 0x83, 0xae, 0x83, 0x3b, 0xd2, 0xa4, 0x04, 0x6f, 0x8a, 0x32, 0xfa, 0x4b, 0x1d, - 0x29, 0x15, 0x2d, 0xe6, 0x82, 0x99, 0x89, 0x14, 0xb3, 0xb5, 0x4d, 0x42, 0x80, 0x34, 0x49, 0x7b, 0x89, 0x2c, 0x6a, - 0x9e, 0x03, 0x86, 0x6d, 0x61, 0xc8, 0x3d, 0x5f, 0x02, 0x8c, 0xfa, 0x3e, 0x0f, 0x27, 0x73, 0x84, 0x4d, 0xa2, 0xe4, - 0xef, 0xb5, 0xb6, 0x5d, 0xc3, 0xd6, 0xd1, 0x3f, 0x34, 0x84, 0xaf, 0xa6, 0xb2, 0x86, 0x25, 0xcc, 0xaa, 0x10, 0xde, - 0x2a, 0x0d, 0x50, 0xa4, 0x2c, 0xeb, 0xc3, 0x92, 0x80, 0x09, 0x93, 0x82, 0x76, 0x88, 0xe5, 0x2a, 0x8d, 0xd9, 0x69, - 0x11, 0x5b, 0x73, 0x2f, 0x5b, 0x1c, 0x7f, 0xf5, 0xfb, 0x17, 0x47, 0xa4, 0x72, 0x3b, 0x7f, 0xed, 0x20, 0x3b, 0x60, - 0x64, 0xa1, 0x3f, 0x5b, 0x76, 0x74, 0xee, 0xbf, 0x9e, 0xe2, 0x77, 0x09, 0xfc, 0x3d, 0x72, 0x1c, 0x88, 0x87, 0xdc, - 0xb5, 0x9e, 0x0d, 0x54, 0xf7, 0xb8, 0xac, 0xee, 0x7b, 0xe5, 0x1c, 0xa9, 0x70, 0x12, 0x22, 0xdd, 0xe5, 0xb0, 0x04, - 0xab, 0xf7, 0xd7, 0x90, 0x6c, 0x0a, 0xa6, 0x89, 0xc2, 0x46, 0x59, 0xf3, 0xd5, 0x61, 0xb8, 0xd8, 0x60, 0x05, 0x97, - 0x70, 0x30, 0xf4, 0xda, 0x9b, 0x39, 0xbd, 0xd5, 0xec, 0x8e, 0x41, 0x13, 0xd9, 0x74, 0x77, 0x90, 0x8a, 0xed, 0x0d, - 0x09, 0x4f, 0xff, 0x73, 0x23, 0x07, 0x04, 0xc0, 0xd2, 0xac, 0x90, 0x64, 0xf0, 0x55, 0xce, 0x49, 0x26, 0x53, 0x4b, - 0xcd, 0x6e, 0x2b, 0x05, 0x92, 0xbd, 0xf0, 0xdf, 0xa2, 0xba, 0x19, 0xed, 0xa7, 0xe4, 0x0e, 0xfa, 0x26, 0x3b, 0x34, - 0xf0, 0xc6, 0x9c, 0xf6, 0xde, 0xd0, 0xc4, 0xe2, 0x2b, 0x80, 0x88, 0xc3, 0x01, 0x99, 0x78, 0xc6, 0xc2, 0x12, 0x90, - 0x4e, 0xf5, 0x30, 0x88, 0x09, 0x57, 0x91, 0x16, 0x9c, 0x99, 0x7c, 0xf7, 0x0e, 0x53, 0xe4, 0xd3, 0x3e, 0x83, 0xc6, - 0xec, 0xa0, 0x3a, 0x5d, 0x7b, 0x45, 0x87, 0x7e, 0x9d, 0x39, 0x4b, 0x24, 0x3d, 0xe9, 0xcb, 0x8d, 0x63, 0x99, 0x20, - 0x2d, 0x62, 0xca, 0x67, 0x2a, 0xe8, 0x73, 0xa6, 0xb7, 0x7d, 0x13, 0x78, 0x73, 0xd4, 0xb4, 0x32, 0x2a, 0x07, 0xb8, - 0x49, 0xba, 0x29, 0x83, 0x51, 0x91, 0xac, 0x87, 0x01, 0x2a, 0x41, 0x4e, 0x74, 0x1a, 0x1b, 0x6a, 0x8f, 0xc3, 0x20, - 0x71, 0x1b, 0x50, 0xef, 0x35, 0x33, 0x3a, 0x1a, 0xdd, 0xe7, 0xbf, 0xf0, 0xff, 0xc3, 0xf7, 0x7f, 0x16, 0x8d, 0x93, - 0x5e, 0xa8, 0xac, 0xb4, 0x40, 0xaa, 0x19, 0x81, 0x7e, 0x8f, 0x3b, 0xaf, 0xee, 0x61, 0x85, 0xd1, 0xa5, 0x9d, 0xdb, - 0xee, 0xf4, 0xb8, 0x7f, 0x7d, 0x0a, 0x3f, 0x7f, 0xf7, 0x75, 0xcd, 0xaf, 0xf4, 0x5e, 0x9e, 0x29, 0x87, 0xae, 0x71, - 0x23, 0x92, 0x04, 0xc6, 0xab, 0x6b, 0x14, 0x5a, 0x81, 0x2c, 0xbf, 0x40, 0xc1, 0xc7, 0xb7, 0x46, 0xbb, 0x4f, 0xbb, - 0x22, 0xc8, 0x84, 0xbc, 0x55, 0x10, 0xd6, 0x36, 0x1c, 0x0f, 0x6c, 0x16, 0x5d, 0xd0, 0xfb, 0x1d, 0xba, 0x86, 0x9f, - 0x32, 0x5f, 0x5e, 0xcd, 0x05, 0xdf, 0xe0, 0x74, 0x02, 0xba, 0xe5, 0xce, 0x7b, 0x15, 0xd8, 0x21, 0x67, 0xfd, 0xc8, - 0xe8, 0xde, 0x29, 0x64, 0xa3, 0xc4, 0xb4, 0x63, 0xa1, 0xed, 0xda, 0xa9, 0xdb, 0x21, 0x1e, 0xdf, 0x28, 0x05, 0x3c, - 0x3a, 0x6c, 0x6e, 0x9c, 0x34, 0x52, 0xb0, 0x6a, 0x6f, 0x7d, 0x3d, 0xb7, 0xb9, 0x15, 0xcb, 0x07, 0x5b, 0x6f, 0x20, - 0x09, 0xe9, 0xc6, 0x91, 0x33, 0xa5, 0x5e, 0x1b, 0xda, 0xa7, 0xd9, 0xca, 0xcd, 0x4d, 0xd2, 0x71, 0xaf, 0x9e, 0xc6, - 0x09, 0xe3, 0x38, 0x97, 0x54, 0x26, 0x4e, 0x7c, 0x89, 0xf9, 0xf2, 0x44, 0x6c, 0xa6, 0x25, 0x35, 0xba, 0xca, 0x75, - 0x67, 0x4a, 0x14, 0xa4, 0xe8, 0xf9, 0xdb, 0x2c, 0xe1, 0x8a, 0x6b, 0xc2, 0x33, 0x03, 0x35, 0xa1, 0x75, 0xee, 0x5e, - 0x66, 0x78, 0x70, 0x89, 0xfb, 0xe3, 0xc4, 0xbf, 0x50, 0x3d, 0xb1, 0xe5, 0x57, 0x94, 0xb1, 0xf1, 0x66, 0xdd, 0xdd, - 0xbf, 0xa7, 0xc4, 0x7d, 0x7e, 0x2a, 0x8e, 0xa2, 0xf5, 0xf6, 0xfd, 0xe4, 0x2a, 0xd6, 0xf3, 0xa9, 0xe0, 0x1b, 0x45, - 0x00, 0x9c, 0xf4, 0x68, 0x59, 0xee, 0xb4, 0x1a, 0x7c, 0x06, 0x02, 0x22, 0xdf, 0x9d, 0xb3, 0x6b, 0x7f, 0x3c, 0x25, - 0xd3, 0x66, 0x34, 0x97, 0x97, 0x41, 0xb3, 0xaf, 0x11, 0x00, 0xc8, 0x69, 0xcd, 0xc8, 0xc7, 0xf9, 0x10, 0x06, 0x97, - 0xcb, 0x24, 0x73, 0xbb, 0x05, 0x70, 0x01, 0xb9, 0x52, 0xbe, 0x5a, 0x57, 0x31, 0xd4, 0xcc, 0x8b, 0x70, 0x7c, 0xb5, - 0x97, 0x4f, 0xd1, 0x4e, 0x58, 0xda, 0xab, 0xb9, 0x8c, 0x04, 0xd6, 0xab, 0x0e, 0x11, 0x7a, 0xb2, 0x35, 0xf2, 0xf8, - 0x32, 0xf3, 0xdd, 0x96, 0x03, 0x6a, 0x07, 0x96, 0x57, 0x5b, 0xcd, 0x49, 0xd3, 0x6e, 0x79, 0x34, 0xdb, 0x33, 0xaa, - 0xa1, 0x60, 0x39, 0x77, 0xfb, 0x91, 0x1d, 0x67, 0x4b, 0x75, 0x35, 0xb7, 0xfa, 0x82, 0xb0, 0x2d, 0x16, 0xc8, 0xc7, - 0x11, 0xb0, 0xa6, 0x13, 0x5a, 0x92, 0x39, 0x28, 0x4d, 0x3b, 0x0a, 0x40, 0x07, 0xf0, 0x64, 0x1a, 0xf7, 0x94, 0xf4, - 0xdf, 0x81, 0xb7, 0x6b, 0x7d, 0xd2, 0xa1, 0x18, 0x05, 0xcf, 0x3f, 0x9c, 0x01, 0x38, 0xfd, 0xde, 0xda, 0xfb, 0xd9, - 0xbb, 0x35, 0xa0, 0xe6, 0x5a, 0xae, 0x1c, 0xc1, 0x7f, 0x2a, 0x32, 0x65, 0x45, 0xcc, 0xb7, 0x23, 0x54, 0xaa, 0xb0, - 0xdc, 0xab, 0x80, 0xbf, 0xdf, 0x0d, 0xb7, 0xff, 0xaf, 0x8a, 0xc9, 0x3d, 0xfc, 0xf9, 0xdf, 0xd6, 0xf0, 0x7f, 0xd9, - 0x6d, 0x58, 0x5b, 0xee, 0x7f, 0x6b, 0xc0, 0xf4, 0xbb, 0x02, 0x35, 0xc1, 0xf6, 0x6f, 0xdf, 0xb9, 0x24, 0x97, 0xf5, - 0xe1, 0xde, 0xc9, 0x4a, 0x0f, 0x53, 0x7a, 0x30, 0xf0, 0x08, 0xff, 0x7f, 0x96, 0x81, 0xec, 0x05, 0x85, 0xc9, 0xc2, - 0xfe, 0xfb, 0x59, 0x2a, 0xa0, 0x9f, 0x12, 0x65, 0x8d, 0x23, 0xde, 0xd6, 0x7e, 0x5a, 0xa3, 0x1f, 0x23, 0xa2, 0x58, - 0xa7, 0x82, 0x7e, 0x55, 0x9f, 0x27, 0x88, 0xef, 0x7d, 0x5c, 0xfa, 0x12, 0x2a, 0x86, 0x07, 0xca, 0xde, 0x5d, 0xc1, - 0xf9, 0x91, 0x6e, 0xc7, 0x45, 0xa1, 0xf9, 0x53, 0xe5, 0x8f, 0xdb, 0x7a, 0xae, 0xf2, 0x7e, 0x45, 0xda, 0x37, 0xb9, - 0xf5, 0x57, 0x51, 0xd2, 0xbd, 0x20, 0x8b, 0x2c, 0x16, 0x77, 0xe7, 0x22, 0xf9, 0xc4, 0xd9, 0x03, 0xdb, 0x39, 0x9b, - 0x47, 0x78, 0x32, 0xa7, 0xb1, 0x48, 0x44, 0x67, 0xe1, 0xf5, 0x40, 0x93, 0x8a, 0x5d, 0x1f, 0xe0, 0xbb, 0x0f, 0xfc, - 0xe4, 0x94, 0x2f, 0x7e, 0xf2, 0x57, 0x3e, 0x46, 0x8f, 0xf5, 0x29, 0x9b, 0x60, 0xf0, 0x4a, 0x97, 0x53, 0x3d, 0x7b, - 0x79, 0x68, 0x48, 0xf4, 0xa6, 0xc6, 0xca, 0x7e, 0xa0, 0x67, 0xab, 0xa9, 0xee, 0x92, 0xb1, 0x42, 0xcb, 0xbb, 0xe2, - 0xf6, 0xd1, 0xba, 0x1a, 0x5f, 0x69, 0xdc, 0x4d, 0xcb, 0xf7, 0x24, 0xea, 0x60, 0x71, 0xf3, 0xe3, 0x4e, 0xbd, 0x6d, - 0x5b, 0xe5, 0xbf, 0x0b, 0xd0, 0x1f, 0x6c, 0xf4, 0x4e, 0xe6, 0x30, 0xa7, 0x57, 0x7e, 0x9e, 0xe3, 0x95, 0xc3, 0x9c, - 0x5d, 0xd9, 0xcd, 0xb9, 0x95, 0xeb, 0x39, 0xff, 0xf0, 0x71, 0x70, 0x93, 0x27, 0xc1, 0x2e, 0x1f, 0x63, 0x88, 0xb3, - 0xb3, 0x0f, 0xc3, 0x2d, 0xe7, 0x8f, 0x11, 0xb7, 0x6d, 0xca, 0x0a, 0x52, 0x4f, 0x7d, 0x3c, 0xf9, 0xf8, 0xde, 0x7a, - 0x97, 0x7e, 0x65, 0xb3, 0xab, 0x3d, 0xad, 0xc6, 0xcb, 0x22, 0x8a, 0xc4, 0x5c, 0x6d, 0xca, 0xfb, 0xad, 0x1b, 0x66, - 0x02, 0x36, 0xed, 0xf9, 0xb6, 0xed, 0xc8, 0xcd, 0x95, 0xea, 0x9f, 0xcf, 0xa8, 0x4b, 0xe6, 0x3b, 0xf2, 0x48, 0x6a, - 0x66, 0xaf, 0xea, 0xcc, 0x3b, 0xd3, 0x44, 0x11, 0x24, 0x08, 0xa2, 0x7c, 0xbe, 0x90, 0xc9, 0xdc, 0xd2, 0x2a, 0x41, - 0xd0, 0xd8, 0x37, 0x60, 0x49, 0x99, 0xac, 0x5b, 0x57, 0xcc, 0x74, 0x06, 0xf2, 0x69, 0x0f, 0x6b, 0xc2, 0x9b, 0xc1, - 0xe1, 0x7c, 0xdd, 0xf5, 0xd9, 0xe5, 0xbd, 0xcf, 0x3d, 0xea, 0xb8, 0xbf, 0x15, 0x37, 0x20, 0x07, 0x73, 0x9f, 0x27, - 0x77, 0x21, 0x6b, 0xac, 0xd3, 0x86, 0x72, 0x4e, 0x75, 0x6d, 0xda, 0x60, 0x88, 0x5e, 0xfd, 0x42, 0x98, 0x48, 0x5b, - 0x3c, 0x9f, 0xd6, 0xd2, 0x37, 0x05, 0x2e, 0x6d, 0x66, 0xd0, 0x69, 0x58, 0x2c, 0x66, 0x12, 0xc2, 0x89, 0x8b, 0x7a, - 0xb4, 0xa9, 0x24, 0x89, 0xf1, 0xb3, 0xfe, 0x5a, 0x2e, 0x23, 0x38, 0x50, 0x0b, 0x4c, 0x5c, 0x17, 0x69, 0xf4, 0x1f, - 0xcc, 0x50, 0x6f, 0x9b, 0xfd, 0xa0, 0xcd, 0x8d, 0x29, 0x7c, 0x85, 0x7e, 0xd2, 0xf4, 0x0a, 0xb5, 0x7b, 0x11, 0x1f, - 0x89, 0x21, 0xf2, 0x01, 0x6c, 0x3b, 0xcc, 0x09, 0xb4, 0x80, 0x73, 0xc4, 0x18, 0x2c, 0x4e, 0x95, 0xea, 0x6c, 0x92, - 0xb7, 0x22, 0x46, 0x5b, 0xb2, 0x1d, 0x6d, 0xd5, 0xb9, 0x1c, 0x5b, 0xb4, 0xb9, 0x91, 0x7d, 0xf3, 0x9f, 0xab, 0x7c, - 0xa3, 0x7d, 0x7f, 0xb5, 0x0a, 0xec, 0x81, 0x91, 0xbf, 0x6b, 0x7f, 0x33, 0x97, 0xb2, 0xec, 0xff, 0x63, 0x72, 0x32, - 0x7b, 0x23, 0x81, 0xf8, 0x95, 0xe7, 0x69, 0x25, 0x9e, 0x84, 0x91, 0xfd, 0x8e, 0x3c, 0xa1, 0xca, 0xb7, 0xd1, 0x96, - 0x96, 0xe5, 0x7e, 0xb7, 0x96, 0x1f, 0x93, 0xe9, 0x5c, 0xbe, 0xf5, 0x84, 0x21, 0xb7, 0xe7, 0x89, 0x78, 0x9f, 0x00, - 0xe7, 0xe6, 0x78, 0x69, 0x9e, 0x7c, 0xe3, 0x91, 0x69, 0xc1, 0x16, 0x80, 0x37, 0x72, 0x76, 0x24, 0xca, 0x49, 0x22, - 0x2d, 0x86, 0x7a, 0xfc, 0xd6, 0xd9, 0xea, 0xef, 0xcd, 0x01, 0x57, 0x00, 0x26, 0x0f, 0xf8, 0x70, 0x24, 0x3f, 0x6e, - 0xdb, 0x09, 0xdb, 0x98, 0x35, 0xc4, 0xe4, 0x61, 0x72, 0x50, 0x7e, 0x15, 0xb4, 0x1a, 0xe9, 0x0b, 0x97, 0x93, 0xcc, - 0x02, 0xe7, 0x90, 0xb8, 0xef, 0x2f, 0x22, 0x9f, 0xfe, 0x5d, 0xe6, 0x4f, 0x0e, 0xce, 0x4c, 0xf1, 0x1f, 0xa3, 0xf1, - 0x40, 0x46, 0xe6, 0x45, 0xfd, 0x53, 0xa3, 0xb5, 0x54, 0x3b, 0x3b, 0x8a, 0x9b, 0x2b, 0x6b, 0x6f, 0xcd, 0x9a, 0x03, - 0xd6, 0x5b, 0x23, 0xf3, 0xc6, 0x32, 0xa2, 0x69, 0x23, 0x7e, 0x09, 0xe7, 0xd5, 0x71, 0x9d, 0x07, 0xe4, 0x37, 0x84, - 0x10, 0xe6, 0xd5, 0x7a, 0xcb, 0x53, 0xb8, 0x5e, 0x2f, 0x75, 0x34, 0xa7, 0xa1, 0xcf, 0x3c, 0x4b, 0x03, 0xcd, 0x80, - 0xe8, 0xd9, 0x79, 0xf5, 0x99, 0xd7, 0x99, 0xb9, 0x18, 0x8f, 0x4e, 0x68, 0xa6, 0x4e, 0xb8, 0xe7, 0x83, 0x19, 0x0b, - 0x14, 0x9b, 0xf8, 0x09, 0x49, 0xe0, 0xf1, 0x93, 0xa3, 0xbc, 0x73, 0x4e, 0xc9, 0xc3, 0x3b, 0x7e, 0x00, 0x0d, 0x40, - 0xe6, 0x1d, 0x24, 0xad, 0xb6, 0xbd, 0xc7, 0x6a, 0x14, 0x09, 0xbe, 0xcc, 0x95, 0xf1, 0xb4, 0xc9, 0x17, 0x6e, 0x36, - 0xb3, 0x7b, 0x57, 0x0f, 0x9e, 0x6f, 0x56, 0xbb, 0xbe, 0xcd, 0x9a, 0xcf, 0x6c, 0xfe, 0xe9, 0xd3, 0x22, 0x2e, 0x67, - 0x94, 0xb9, 0x9e, 0x53, 0xe8, 0x35, 0x23, 0x93, 0x0e, 0xdd, 0x73, 0x89, 0x9d, 0x90, 0x05, 0x4d, 0x6e, 0xe1, 0xa2, - 0x9a, 0x84, 0xfb, 0xda, 0xef, 0x84, 0xd4, 0xa9, 0x5a, 0xd4, 0x1b, 0xa3, 0x27, 0xbb, 0xf8, 0x19, 0x7b, 0xcc, 0x3b, - 0x33, 0x39, 0x91, 0x01, 0x78, 0x51, 0xd9, 0x14, 0x58, 0x9e, 0x35, 0x01, 0x04, 0x65, 0x58, 0x86, 0xd6, 0x12, 0x40, - 0x61, 0x6e, 0xca, 0x07, 0x19, 0xb4, 0xfc, 0x1c, 0x7f, 0x5d, 0x9e, 0x1b, 0x98, 0x37, 0x3e, 0x4e, 0x4e, 0xd0, 0x9c, - 0x14, 0xca, 0x85, 0x88, 0x0f, 0x0a, 0xa0, 0x46, 0x05, 0x9e, 0xd1, 0xbd, 0x0f, 0xf0, 0xdf, 0x0f, 0xfb, 0x75, 0x9d, - 0xf2, 0xef, 0x4f, 0xfe, 0x69, 0xee, 0x3d, 0xf1, 0xaf, 0x4b, 0x49, 0x0a, 0x08, 0x9e, 0xc2, 0xbe, 0xb9, 0xde, 0xbf, - 0x4d, 0xee, 0x55, 0xed, 0x6e, 0x23, 0xa3, 0x3a, 0xb1, 0x30, 0x94, 0xfe, 0x7a, 0xe4, 0xca, 0x37, 0x1f, 0x62, 0xdb, - 0xc3, 0xa6, 0x3f, 0xdc, 0xf7, 0xab, 0x7c, 0x73, 0x21, 0x53, 0xbb, 0x69, 0x45, 0x62, 0x95, 0x62, 0xc0, 0x95, 0x82, - 0x86, 0x39, 0x67, 0x0f, 0xdf, 0xce, 0xd6, 0x46, 0x1a, 0xf1, 0x86, 0xb8, 0x12, 0xab, 0xee, 0x93, 0x50, 0xf9, 0xf6, - 0xfe, 0xf5, 0xd2, 0xb2, 0xf3, 0xb9, 0xf5, 0x0b, 0xc9, 0x00, 0xb3, 0x40, 0xe2, 0x53, 0x71, 0xe4, 0x3e, 0x94, 0x74, - 0x92, 0xa2, 0x78, 0x0c, 0x6d, 0x81, 0x05, 0xa3, 0x21, 0x97, 0xc6, 0x00, 0x59, 0x6a, 0x89, 0x47, 0x5d, 0x4c, 0x2f, - 0xf8, 0xbe, 0xed, 0x06, 0xcd, 0xf7, 0x86, 0x27, 0x1f, 0x7a, 0x6d, 0x62, 0x04, 0xa5, 0x2b, 0xb0, 0xbd, 0xad, 0x18, - 0x91, 0xcb, 0xa5, 0xe4, 0x9f, 0x26, 0x0f, 0x50, 0xb8, 0xef, 0x9e, 0xf8, 0x5c, 0x2c, 0x14, 0xa5, 0xc8, 0x7c, 0x10, - 0x57, 0x83, 0x88, 0x93, 0x06, 0xaa, 0xae, 0x36, 0x76, 0x20, 0xcc, 0xb2, 0x31, 0xa5, 0xc6, 0x0b, 0x1a, 0x10, 0x44, - 0x88, 0x6c, 0x62, 0x05, 0x22, 0xd4, 0xc3, 0xfc, 0x70, 0x43, 0xc7, 0x8a, 0x3a, 0x45, 0x27, 0xa8, 0xa9, 0xb4, 0x86, - 0x34, 0x3d, 0x7a, 0x85, 0x0d, 0x8c, 0x4e, 0x9c, 0x4d, 0x57, 0xe1, 0xbd, 0xe1, 0xce, 0xbe, 0x37, 0x8f, 0x79, 0x2e, - 0xd3, 0x1e, 0x84, 0x4a, 0xc3, 0x58, 0x4f, 0xb7, 0xc4, 0xe9, 0x9e, 0x6d, 0xe6, 0x25, 0xd5, 0x7c, 0x77, 0xb7, 0x67, - 0xed, 0x39, 0x1b, 0x51, 0xbb, 0xad, 0x83, 0xa3, 0xdb, 0x60, 0xac, 0xcf, 0xbb, 0xbb, 0xbc, 0xa0, 0x3d, 0xa9, 0x62, - 0x22, 0x36, 0xd1, 0xa4, 0x01, 0x20, 0xda, 0x51, 0x9a, 0xec, 0xf3, 0x93, 0x9d, 0x1a, 0x08, 0xa5, 0x23, 0x28, 0x6d, - 0x63, 0x33, 0x51, 0x55, 0x6f, 0xf2, 0xb8, 0x8e, 0x9b, 0x30, 0x43, 0x41, 0xcd, 0x7f, 0x3f, 0x0a, 0xb6, 0xdc, 0x19, - 0x98, 0x20, 0xd6, 0x73, 0xdb, 0xd2, 0x5d, 0xc0, 0x03, 0x9c, 0xbe, 0xed, 0xc0, 0x9b, 0x46, 0x7c, 0x1e, 0x1e, 0xa7, - 0xc7, 0xba, 0x17, 0x6e, 0x89, 0x12, 0x23, 0x19, 0x41, 0x06, 0xb9, 0xf6, 0xd8, 0x07, 0x2f, 0x61, 0x91, 0xae, 0x23, - 0xc7, 0x0f, 0xe1, 0x82, 0xc2, 0x84, 0x70, 0x1a, 0xee, 0x5e, 0x14, 0x75, 0x9b, 0xdd, 0xee, 0x89, 0xd1, 0xce, 0x96, - 0xdc, 0xd5, 0x6e, 0x90, 0x79, 0x14, 0xe8, 0xdd, 0x2a, 0x8b, 0xb2, 0xb5, 0x23, 0x1f, 0x36, 0x93, 0x7c, 0x1c, 0x48, - 0xa6, 0xbe, 0xbb, 0x33, 0xb4, 0x3f, 0x90, 0x9d, 0xb6, 0xef, 0x12, 0x5a, 0x1f, 0xa0, 0x9a, 0x56, 0xed, 0xb6, 0x65, - 0xdb, 0xf6, 0x69, 0x19, 0x90, 0x7b, 0xac, 0x7d, 0xe9, 0x46, 0xc6, 0xff, 0xfc, 0x04, 0x23, 0xad, 0x3b, 0xf4, 0x0b, - 0x73, 0x97, 0x9d, 0x46, 0xb6, 0x37, 0x57, 0x4f, 0x51, 0x5a, 0xfb, 0xc0, 0x2c, 0x1a, 0x1f, 0x47, 0x60, 0x7c, 0x06, - 0x4d, 0x84, 0xc1, 0xcf, 0xf0, 0x8b, 0x85, 0x74, 0xb9, 0x22, 0xf7, 0x62, 0x02, 0xe8, 0xdd, 0xe8, 0xcf, 0x9e, 0x41, - 0xb5, 0x54, 0x65, 0x74, 0x9d, 0x14, 0xc5, 0xf4, 0xb7, 0xff, 0x9f, 0xab, 0x81, 0xfa, 0x83, 0x18, 0x85, 0xbe, 0xfc, - 0xe2, 0xe8, 0x5a, 0x57, 0x6c, 0x7a, 0xfe, 0x82, 0xee, 0x03, 0x2e, 0xf1, 0x82, 0x01, 0x3e, 0x8b, 0xc8, 0xdc, 0x24, - 0x73, 0xad, 0xd1, 0x69, 0xec, 0x6d, 0xb0, 0x77, 0x27, 0xff, 0x64, 0x10, 0xf7, 0x0b, 0x68, 0x3b, 0xd3, 0xdd, 0x20, - 0x83, 0x54, 0x9f, 0x13, 0xfd, 0xc3, 0xc0, 0x06, 0xf9, 0xc9, 0xa2, 0x5c, 0x46, 0x38, 0x9f, 0x14, 0x1d, 0x63, 0x15, - 0x62, 0x57, 0x21, 0xf7, 0x8d, 0x74, 0x37, 0x06, 0x76, 0xe8, 0x19, 0x0c, 0xfb, 0xdd, 0x69, 0x53, 0xa9, 0xa0, 0xbd, - 0xaa, 0x46, 0x93, 0xdd, 0x48, 0x6e, 0xed, 0x45, 0x6c, 0xf4, 0x43, 0xc0, 0x10, 0x37, 0x55, 0x8b, 0xdb, 0x01, 0x0b, - 0x87, 0x5d, 0x5c, 0x47, 0x77, 0x04, 0x99, 0x3f, 0x7c, 0x62, 0xc1, 0x15, 0xd9, 0xf9, 0xdf, 0x12, 0x4c, 0xdf, 0x3b, - 0xad, 0xcc, 0xff, 0x53, 0xcc, 0xfe, 0xd0, 0xf3, 0x8a, 0xac, 0x3f, 0x7b, 0xbf, 0x28, 0xba, 0x84, 0xcb, 0x2d, 0x12, - 0xf3, 0x29, 0x34, 0xfd, 0xf5, 0xd6, 0x7c, 0x23, 0x24, 0xee, 0x0f, 0x26, 0x04, 0x9b, 0x94, 0xc5, 0x18, 0x11, 0xfe, - 0xf5, 0xf6, 0xab, 0xf9, 0xd7, 0xa4, 0x25, 0x88, 0xa0, 0xaa, 0xf1, 0x4e, 0x7f, 0xcf, 0x68, 0xf9, 0x01, 0xfe, 0xfd, - 0x81, 0x3f, 0x39, 0xe5, 0xef, 0x9f, 0xfc, 0xd3, 0x2c, 0xbd, 0x25, 0x57, 0xf3, 0x19, 0x72, 0xb0, 0xac, 0x22, 0x01, - 0x2f, 0x5e, 0xcb, 0x91, 0x37, 0x3b, 0x88, 0x07, 0x32, 0xff, 0xea, 0x24, 0x2e, 0xd0, 0x31, 0xf2, 0x21, 0x4f, 0x4b, - 0xf2, 0x82, 0xb1, 0x3b, 0xaa, 0xa5, 0x99, 0xb6, 0xd5, 0xbb, 0x84, 0xda, 0xc5, 0x20, 0x4b, 0x30, 0xdf, 0xff, 0x24, - 0x72, 0x52, 0xd2, 0x98, 0x7f, 0x2b, 0x1f, 0x8f, 0xee, 0x59, 0x1a, 0x98, 0xa2, 0x62, 0xfe, 0xea, 0x45, 0xca, 0x93, - 0xd5, 0x1f, 0xa3, 0x11, 0xf7, 0x8d, 0x99, 0x85, 0xe8, 0x03, 0x3b, 0x43, 0x62, 0xe4, 0xb8, 0x7b, 0x71, 0xd2, 0xf8, - 0xad, 0x4e, 0x90, 0x78, 0xcb, 0x34, 0x48, 0x5f, 0x8b, 0x43, 0xb9, 0x56, 0x8d, 0x4f, 0x3c, 0x58, 0xa4, 0xfd, 0x6d, - 0x77, 0x96, 0xbe, 0xf5, 0xf2, 0xb8, 0x32, 0x7d, 0x99, 0x70, 0x17, 0xc6, 0x22, 0xce, 0x35, 0x56, 0x54, 0x24, 0x46, - 0xe0, 0x10, 0xc5, 0xdb, 0x02, 0x80, 0xd9, 0x28, 0x76, 0x71, 0xfc, 0xc7, 0xef, 0xda, 0xc2, 0x89, 0x44, 0x4b, 0x91, - 0xd4, 0xdc, 0x61, 0x7c, 0xa3, 0xf1, 0x98, 0xc1, 0x78, 0x4f, 0x54, 0xfd, 0xc5, 0xf2, 0x98, 0x95, 0x5a, 0x8f, 0x52, - 0x3c, 0x66, 0x7c, 0x69, 0x34, 0x58, 0x62, 0xcf, 0x43, 0x98, 0xfc, 0x4b, 0xa3, 0xe4, 0xf7, 0x52, 0xec, 0x6a, 0x69, - 0x24, 0xb6, 0x0e, 0xc4, 0x4c, 0x66, 0x71, 0x02, 0xeb, 0x4c, 0x75, 0x4f, 0xce, 0xc6, 0x4b, 0xa5, 0x79, 0x05, 0xad, - 0x0b, 0x7f, 0xa0, 0x9d, 0xe0, 0xd6, 0x5f, 0x3c, 0xbf, 0xe9, 0x56, 0x0e, 0x47, 0xae, 0xd8, 0x6b, 0xfd, 0x3d, 0xde, - 0xee, 0xa9, 0xfa, 0xcb, 0x35, 0xd0, 0x9d, 0x63, 0xb3, 0x49, 0x93, 0xe1, 0x60, 0xe4, 0x13, 0x40, 0x27, 0x48, 0x8e, - 0x66, 0x58, 0xa1, 0xe7, 0x5d, 0x02, 0xb3, 0x5f, 0xf2, 0xe2, 0x10, 0x25, 0x04, 0x7c, 0x6b, 0xb3, 0x98, 0x84, 0xe8, - 0xe1, 0xff, 0xb9, 0x97, 0x7e, 0xbd, 0xb8, 0x5d, 0x8e, 0xb4, 0x05, 0x72, 0xeb, 0x1c, 0x30, 0x0e, 0x7c, 0xb5, 0x31, - 0x50, 0x2e, 0x44, 0x66, 0x44, 0x53, 0x3a, 0x1b, 0x9c, 0x6e, 0x43, 0x3e, 0x5b, 0xf3, 0xf8, 0x46, 0x25, 0x3a, 0xa7, - 0x4e, 0xd2, 0x8c, 0x5b, 0x1b, 0xc4, 0x58, 0x2e, 0x44, 0x43, 0x2c, 0x74, 0x6c, 0x0d, 0x2e, 0x76, 0xdc, 0x0e, 0x8f, - 0xe7, 0xa2, 0x11, 0x3f, 0x92, 0x10, 0x11, 0x9c, 0x8b, 0x99, 0x18, 0xf2, 0xa1, 0x19, 0x01, 0xec, 0xe7, 0x79, 0x7c, - 0x61, 0x1a, 0x66, 0x8f, 0xe0, 0xd9, 0xcb, 0x13, 0xf1, 0x93, 0x46, 0x30, 0x44, 0xc8, 0x86, 0x49, 0x02, 0xd8, 0x63, - 0xb2, 0xd6, 0x6f, 0xdc, 0xda, 0xcb, 0xbe, 0xbf, 0x2c, 0x1b, 0xb7, 0xf3, 0xdf, 0xb1, 0xf8, 0x61, 0x12, 0xf5, 0xea, - 0x9d, 0x08, 0x61, 0x57, 0x8c, 0xde, 0xc9, 0x2a, 0x74, 0x55, 0x44, 0xdf, 0xf7, 0xf0, 0xb1, 0xc6, 0x06, 0xe1, 0x8f, - 0xe1, 0x29, 0x90, 0x37, 0x91, 0xdd, 0xbf, 0x13, 0x5c, 0xdc, 0xf8, 0xd1, 0x9e, 0xc2, 0xce, 0xd8, 0x21, 0x74, 0xa9, - 0x92, 0x49, 0xd1, 0x1d, 0x94, 0x26, 0x9a, 0x6a, 0x78, 0xa1, 0x40, 0x7c, 0x0c, 0x5b, 0x76, 0x35, 0xe3, 0x23, 0xc5, - 0x6f, 0xe3, 0xc5, 0x02, 0xa7, 0x98, 0x60, 0xf4, 0xf0, 0xc0, 0x84, 0xb1, 0x05, 0x6a, 0xf4, 0x10, 0x15, 0x53, 0xce, - 0x63, 0xaa, 0x4b, 0x16, 0x27, 0x7b, 0x65, 0x56, 0x6b, 0xa7, 0x4f, 0x93, 0x54, 0xac, 0x57, 0x58, 0x9e, 0x59, 0xbd, - 0x6a, 0x97, 0x09, 0xf0, 0xc1, 0xff, 0x38, 0x04, 0x26, 0x64, 0x5c, 0x75, 0x6a, 0xfb, 0x30, 0x46, 0x78, 0xf3, 0x3b, - 0xc9, 0x84, 0xb2, 0x49, 0x3e, 0x8c, 0x70, 0x67, 0xf7, 0x44, 0x77, 0x8a, 0x33, 0x26, 0x77, 0x51, 0x0d, 0x83, 0x99, - 0x4e, 0xd0, 0x87, 0xfb, 0x85, 0x39, 0x8f, 0x2b, 0xbc, 0xc7, 0xdf, 0x32, 0xaa, 0x13, 0xe2, 0xf5, 0x45, 0xba, 0x88, - 0x1f, 0x38, 0x05, 0xdb, 0x05, 0x54, 0xc3, 0x08, 0x5c, 0x87, 0xd3, 0xba, 0x23, 0x89, 0xe2, 0x8e, 0x4a, 0x50, 0xdf, - 0x48, 0xf9, 0xbb, 0x63, 0x23, 0x96, 0xa8, 0x1a, 0xe9, 0x2f, 0x4a, 0x79, 0x60, 0x87, 0xf4, 0xa4, 0xd4, 0xe8, 0x98, - 0xa9, 0x53, 0xd3, 0xe0, 0x72, 0x90, 0xbb, 0xe0, 0x95, 0xce, 0xec, 0xc1, 0xb9, 0x58, 0x78, 0xa1, 0x19, 0xa2, 0x1e, - 0xe1, 0xda, 0x78, 0xea, 0x92, 0xc4, 0xa9, 0x6a, 0x49, 0xc2, 0x72, 0xd2, 0xe9, 0x4a, 0x03, 0xf7, 0xea, 0x65, 0x8f, - 0x31, 0x90, 0x26, 0xb3, 0x04, 0xa1, 0x7a, 0x5e, 0x23, 0xbc, 0x46, 0x0a, 0x92, 0x76, 0x1e, 0xf6, 0x37, 0x09, 0x28, - 0x6f, 0xfd, 0x43, 0xbd, 0xa2, 0xc0, 0xf2, 0xa7, 0x82, 0xbc, 0x57, 0xeb, 0x6f, 0x33, 0xea, 0x46, 0x37, 0x09, 0xc3, - 0x6e, 0xfd, 0xc3, 0xc6, 0x2a, 0x35, 0x39, 0x9d, 0xf4, 0x6d, 0xb1, 0x7b, 0x00, 0xf2, 0x72, 0xb7, 0x37, 0xc4, 0x64, - 0x44, 0x10, 0x35, 0x07, 0x2e, 0x42, 0x75, 0xc6, 0xf8, 0x76, 0xa2, 0x1b, 0x35, 0xad, 0x11, 0x62, 0xc9, 0xea, 0x1a, - 0x17, 0x72, 0x57, 0x4c, 0x9c, 0x8c, 0x44, 0xe8, 0x96, 0xe4, 0x5c, 0x7f, 0x80, 0xc3, 0x07, 0x92, 0x29, 0x15, 0xc1, - 0x65, 0x82, 0xa4, 0xfa, 0xbc, 0x89, 0xa0, 0x5b, 0x0d, 0x10, 0x58, 0x02, 0xa9, 0x96, 0xb9, 0x59, 0xdc, 0x32, 0x22, - 0x70, 0x54, 0xcb, 0x57, 0x27, 0x52, 0x38, 0xa3, 0xd9, 0xce, 0x1f, 0x5f, 0xfa, 0xc8, 0xbc, 0x55, 0x85, 0x61, 0x49, - 0x01, 0xe8, 0xca, 0xf8, 0x92, 0x42, 0x90, 0x4a, 0xf9, 0xa2, 0x5b, 0xab, 0x9a, 0xb9, 0x4e, 0x6c, 0xe8, 0xc6, 0x0b, - 0xcc, 0xaf, 0xd5, 0x86, 0x81, 0xcd, 0xdd, 0xae, 0x65, 0xae, 0xd8, 0x20, 0xe7, 0x1d, 0xb5, 0x2d, 0x1f, 0x96, 0xd3, - 0xd1, 0xd5, 0x8c, 0x85, 0x8b, 0xdb, 0xa1, 0x48, 0x7d, 0x60, 0x32, 0xe4, 0x34, 0xba, 0x5f, 0x02, 0x32, 0xff, 0xb4, - 0x34, 0x6a, 0x37, 0x5f, 0x30, 0x7a, 0x0e, 0xbd, 0x8c, 0xe3, 0xd9, 0x45, 0xfe, 0x00, 0xa1, 0xec, 0x0d, 0x4e, 0xa1, - 0xb1, 0x01, 0x9d, 0x8b, 0xf0, 0x99, 0x18, 0x05, 0xd6, 0x91, 0x00, 0xbc, 0x38, 0xb7, 0x71, 0x74, 0x00, 0xa8, 0x35, - 0xaa, 0x80, 0xfb, 0xfd, 0xd1, 0x23, 0x87, 0x28, 0xe2, 0x86, 0xdc, 0x53, 0xd4, 0xa5, 0x3c, 0x9f, 0x48, 0x2b, 0x0b, - 0x1f, 0xa6, 0xc8, 0x2b, 0x7e, 0xa1, 0x17, 0x76, 0x69, 0xe7, 0xa7, 0xa5, 0x9b, 0xf7, 0x4b, 0x4d, 0x3c, 0x95, 0xa3, - 0x9f, 0x53, 0x35, 0x65, 0x50, 0xd2, 0xf5, 0xee, 0x22, 0xa2, 0x03, 0x73, 0x2c, 0x6c, 0xf7, 0x03, 0xa7, 0x9a, 0xb6, - 0xca, 0xe4, 0x6e, 0xe5, 0xa1, 0x02, 0x15, 0x1c, 0xa4, 0xeb, 0x65, 0x7b, 0xef, 0x3f, 0xb1, 0xe1, 0x87, 0x4d, 0xf9, - 0x30, 0xd5, 0x75, 0xda, 0xd3, 0xab, 0xa1, 0x0d, 0x91, 0x83, 0xb4, 0x90, 0xb6, 0xab, 0xc6, 0xbd, 0x35, 0x93, 0xd6, - 0xfe, 0xcd, 0xa6, 0x97, 0xed, 0x14, 0x3b, 0x7f, 0x8c, 0x7a, 0x05, 0x51, 0xe4, 0xfa, 0xbd, 0x74, 0xf5, 0x73, 0xe9, - 0x76, 0x2d, 0x48, 0x3f, 0x50, 0x05, 0xcd, 0x2c, 0xa7, 0xbf, 0x2c, 0xf9, 0xe6, 0x96, 0xd2, 0xc7, 0xf4, 0x87, 0x38, - 0xe7, 0xf8, 0xcc, 0xf0, 0x4c, 0x1d, 0x3d, 0xe8, 0x14, 0x11, 0xcd, 0x38, 0x9b, 0x67, 0xd1, 0x74, 0x16, 0xf0, 0x9a, - 0x54, 0x70, 0x57, 0x3f, 0x1c, 0x3a, 0xd6, 0xb4, 0x8b, 0x90, 0xc5, 0x3e, 0x7e, 0xd8, 0xb5, 0x23, 0xe8, 0x61, 0x14, - 0x14, 0x90, 0xe6, 0x5e, 0x32, 0xca, 0x26, 0x06, 0x7e, 0xeb, 0x25, 0xb0, 0xdd, 0xfb, 0xad, 0x7d, 0x64, 0x77, 0xe2, - 0x95, 0x79, 0x15, 0xf4, 0x8e, 0x44, 0x8d, 0x08, 0x55, 0xdb, 0x0e, 0x71, 0x7d, 0xe5, 0xd8, 0xc4, 0xa6, 0x2c, 0x57, - 0x4c, 0xb8, 0xf8, 0x0d, 0xa0, 0x20, 0x4b, 0x72, 0x08, 0x3a, 0x44, 0x4e, 0x1b, 0xdc, 0x39, 0x3a, 0xd5, 0xa3, 0x16, - 0x7f, 0xe6, 0x0b, 0xf4, 0xb8, 0x26, 0x94, 0x51, 0x40, 0x3b, 0x50, 0xf0, 0x99, 0xec, 0xa0, 0xab, 0x55, 0x76, 0x99, - 0xad, 0xb1, 0x81, 0x08, 0x10, 0x52, 0xd1, 0x9f, 0xa6, 0xa7, 0x05, 0x5d, 0xc2, 0xa5, 0x46, 0x0e, 0xda, 0x97, 0xca, - 0x30, 0x0e, 0x75, 0x74, 0x7d, 0x2a, 0x8f, 0x5f, 0x0d, 0x2c, 0x01, 0xe0, 0xe8, 0x33, 0x08, 0x3b, 0xf8, 0x6c, 0xe7, - 0x8a, 0xc5, 0x65, 0xd0, 0x1d, 0x18, 0xd2, 0xbe, 0xda, 0xb9, 0xea, 0xa7, 0xe8, 0xb7, 0xf6, 0x2e, 0xbe, 0x54, 0xd8, - 0x33, 0x2a, 0xb1, 0x46, 0xe8, 0x10, 0x99, 0x71, 0x8d, 0xbc, 0x7b, 0xcf, 0xbd, 0x1f, 0xdb, 0xe8, 0x15, 0x6c, 0xa1, - 0x4b, 0x48, 0x66, 0x05, 0x2e, 0xfc, 0x47, 0x80, 0x0b, 0x0f, 0x8d, 0x9e, 0x05, 0x56, 0x94, 0x32, 0x03, 0x37, 0x92, - 0xdf, 0xec, 0x1d, 0x2c, 0xb3, 0xf4, 0x96, 0xf0, 0x84, 0xb2, 0x36, 0xca, 0x02, 0x9b, 0x60, 0x9f, 0x1a, 0xa2, 0x3d, - 0x74, 0xfc, 0xa0, 0xfd, 0x09, 0xa7, 0x7f, 0x7f, 0xea, 0x09, 0x1a, 0x0b, 0x3e, 0x46, 0x16, 0xf1, 0x87, 0x69, 0x2f, - 0xdd, 0xed, 0x67, 0x86, 0x46, 0x88, 0x20, 0xde, 0x9a, 0xa5, 0x33, 0x52, 0x49, 0xa5, 0x99, 0x6a, 0xde, 0xef, 0x40, - 0xb0, 0x5b, 0x52, 0x82, 0xdd, 0x08, 0x8b, 0x27, 0xde, 0xb3, 0xf6, 0xe5, 0x05, 0x31, 0x61, 0x31, 0xc5, 0x64, 0xed, - 0x11, 0x40, 0xf1, 0x2e, 0xdc, 0x44, 0x94, 0x74, 0xe5, 0xc7, 0x22, 0x19, 0xc9, 0x9f, 0x49, 0x34, 0x17, 0x49, 0x49, - 0xaf, 0xdd, 0x65, 0x7a, 0xb6, 0x02, 0x55, 0x79, 0xbb, 0xe7, 0x46, 0xed, 0x11, 0x36, 0xbe, 0x1b, 0xd4, 0x81, 0x0f, - 0xc8, 0xf5, 0x2c, 0x71, 0x78, 0xff, 0x12, 0x06, 0x34, 0x14, 0xcb, 0x96, 0x10, 0x17, 0x39, 0xee, 0xf3, 0x95, 0xfa, - 0xc0, 0x38, 0x21, 0x2c, 0xf0, 0xf5, 0x22, 0xd0, 0x9a, 0x83, 0xc4, 0xf7, 0x2b, 0x7e, 0xe1, 0x89, 0x82, 0xfa, 0x78, - 0x71, 0xda, 0x3f, 0xea, 0x4d, 0x5f, 0xd5, 0x4c, 0x93, 0xf3, 0x89, 0x90, 0x50, 0x3e, 0xcf, 0xb3, 0x50, 0x3a, 0x86, - 0x49, 0x8e, 0x4f, 0xfa, 0xe2, 0x92, 0x2e, 0x7c, 0x0c, 0xab, 0xf6, 0x57, 0xa3, 0xb0, 0xea, 0xe2, 0x7d, 0xd2, 0x67, - 0xf4, 0xcb, 0x15, 0x56, 0x8d, 0xf6, 0x0b, 0x17, 0x46, 0x75, 0x28, 0xa9, 0xaf, 0x80, 0x00, 0x06, 0xee, 0x70, 0xc7, - 0xaf, 0x13, 0x35, 0x0d, 0x69, 0xb5, 0x86, 0x20, 0x17, 0xfa, 0x0f, 0x7e, 0x07, 0xbf, 0x6f, 0x39, 0x48, 0x22, 0x07, - 0x1a, 0x3a, 0x94, 0x06, 0x58, 0x69, 0x50, 0x19, 0x54, 0x90, 0xe1, 0xd1, 0xd9, 0x29, 0x72, 0x4b, 0xa2, 0x0a, 0x0c, - 0x35, 0xf5, 0xd4, 0x51, 0x99, 0x00, 0xaf, 0x40, 0xed, 0x07, 0x67, 0x15, 0x21, 0xfa, 0x6b, 0x49, 0x0b, 0xea, 0x14, - 0xe9, 0xf3, 0x4b, 0x0b, 0x40, 0xec, 0x2f, 0x22, 0xdd, 0x69, 0xf8, 0xa4, 0xee, 0x3b, 0x32, 0x00, 0xae, 0x7c, 0x03, - 0x22, 0x20, 0x92, 0xb8, 0xb3, 0x0c, 0x5a, 0xc9, 0x4f, 0xe4, 0x3a, 0x27, 0x51, 0xaa, 0x8b, 0xb2, 0x02, 0x74, 0x6b, - 0x28, 0xe9, 0x2f, 0xda, 0xd1, 0x84, 0xd7, 0xcf, 0x77, 0x38, 0x16, 0xe8, 0x9f, 0x8e, 0xff, 0xb5, 0x40, 0x5a, 0x1a, - 0x02, 0xd7, 0x5b, 0x65, 0x18, 0xd4, 0x77, 0x8a, 0xc0, 0xbc, 0x44, 0xa5, 0x01, 0x25, 0x01, 0xeb, 0x95, 0xfa, 0xfb, - 0x6f, 0x75, 0xf4, 0x15, 0xa8, 0xdd, 0x3a, 0xfa, 0xa9, 0xe7, 0x7b, 0xf8, 0x83, 0xf4, 0x56, 0x3b, 0x40, 0x7f, 0x9c, - 0x67, 0xaa, 0x3f, 0x74, 0x76, 0x3d, 0x62, 0x30, 0x27, 0xe0, 0x82, 0x8c, 0x73, 0x92, 0x1f, 0xc1, 0x56, 0xfc, 0x0f, - 0x8b, 0x54, 0x63, 0xd2, 0xfd, 0xa3, 0x15, 0x78, 0x0d, 0x5d, 0x6a, 0x72, 0x4e, 0xe1, 0x0a, 0xa8, 0x1c, 0xaa, 0xeb, - 0x9c, 0x8a, 0x95, 0x64, 0xe6, 0xbf, 0xac, 0x60, 0xf3, 0xa8, 0x14, 0xa7, 0xcb, 0x0f, 0xaf, 0x5c, 0x62, 0xed, 0xc9, - 0xc5, 0x2f, 0x6e, 0x18, 0x9f, 0x52, 0xef, 0xce, 0xf7, 0xd4, 0x93, 0x0f, 0x3b, 0x26, 0x3f, 0xc0, 0x4f, 0x1f, 0xf6, - 0x9d, 0xe5, 0x94, 0x4f, 0x3f, 0xf9, 0xa5, 0xdf, 0xea, 0xd7, 0x3c, 0xf7, 0x03, 0x77, 0x66, 0x3b, 0xec, 0x1f, 0x09, - 0x6f, 0xa6, 0xcb, 0xbb, 0x86, 0x65, 0xeb, 0x15, 0x93, 0xaf, 0x97, 0x42, 0x9f, 0xfe, 0xe2, 0xfa, 0xa3, 0x07, 0xee, - 0x3d, 0x87, 0x92, 0x66, 0x1c, 0xd5, 0xb9, 0x39, 0x6b, 0xb0, 0xa5, 0x6d, 0x1c, 0x4d, 0x82, 0xad, 0x81, 0x30, 0x19, - 0x1a, 0xa1, 0x89, 0x0a, 0x7a, 0xed, 0x82, 0x52, 0xc1, 0x50, 0x9a, 0xe3, 0xb8, 0x7e, 0x32, 0x09, 0x84, 0xda, 0x22, - 0xa2, 0x6e, 0x4d, 0xab, 0x6c, 0x7c, 0xb0, 0x10, 0x70, 0x06, 0x15, 0xc6, 0x90, 0xdc, 0xeb, 0x0e, 0x04, 0xa6, 0x90, - 0x34, 0xc4, 0xf8, 0x53, 0xf9, 0x38, 0x8a, 0xe2, 0xba, 0x0a, 0x5f, 0x1f, 0xdc, 0x74, 0xe3, 0x94, 0xa3, 0x84, 0x8a, - 0xf2, 0x8e, 0x04, 0x6a, 0x8a, 0x16, 0x6c, 0x29, 0x32, 0x97, 0x23, 0x16, 0xc9, 0x9d, 0xc6, 0xe5, 0x18, 0x42, 0x41, - 0x3a, 0xd0, 0xe9, 0xc4, 0x4a, 0x21, 0xb1, 0x55, 0x21, 0x24, 0x08, 0xcd, 0x6e, 0xcb, 0x6b, 0x15, 0x50, 0x4e, 0xea, - 0xdf, 0xd3, 0x16, 0xf8, 0xba, 0x97, 0xe7, 0xf8, 0xa6, 0x95, 0xce, 0xab, 0xdc, 0xf3, 0xfc, 0xe0, 0xf9, 0xed, 0xf6, - 0x7b, 0x7c, 0x34, 0x63, 0xd5, 0x84, 0x8d, 0x1f, 0xf7, 0x31, 0x21, 0xd4, 0x02, 0x55, 0x04, 0x08, 0xad, 0xb2, 0x06, - 0xd6, 0x75, 0xc8, 0x2c, 0xa1, 0xe1, 0xeb, 0x9f, 0x3a, 0xe4, 0x88, 0x1b, 0x6c, 0xc2, 0x9b, 0xb0, 0xc8, 0xc3, 0x51, - 0x47, 0x7b, 0x03, 0xae, 0xb5, 0x70, 0x40, 0x29, 0x50, 0x67, 0x4b, 0xce, 0x12, 0x41, 0xd4, 0x2d, 0xb3, 0x30, 0x55, - 0xe9, 0x2c, 0xaf, 0x3c, 0x3f, 0x82, 0x5e, 0xb3, 0xbf, 0xd6, 0x49, 0xf0, 0xe4, 0xe9, 0x6c, 0x69, 0x6d, 0x43, 0x81, - 0x9b, 0xd2, 0x2a, 0x9f, 0xac, 0x6d, 0x3c, 0xfa, 0xb1, 0x4f, 0x92, 0x12, 0xba, 0xc4, 0x27, 0x41, 0xea, 0x93, 0xbc, - 0x4b, 0x4b, 0xd7, 0x87, 0x2e, 0xb9, 0x36, 0x54, 0x35, 0x77, 0x23, 0xa6, 0xf2, 0xc3, 0x1b, 0x9a, 0x77, 0xf2, 0x2d, - 0xd2, 0xfd, 0x00, 0xff, 0xfb, 0xb0, 0x33, 0x4e, 0xf9, 0xef, 0x27, 0xff, 0x94, 0x47, 0x76, 0x1d, 0x42, 0xb5, 0x97, - 0x29, 0x78, 0xdf, 0xe6, 0xa3, 0x5f, 0xae, 0xad, 0x46, 0x71, 0x3d, 0xfe, 0xd9, 0xaf, 0x42, 0xf5, 0xf4, 0x17, 0xcb, - 0x8c, 0x4b, 0xdf, 0x4e, 0xd9, 0xcc, 0x2f, 0x8e, 0x39, 0xf3, 0xdc, 0x70, 0xd3, 0x2d, 0xda, 0x90, 0x5e, 0x21, 0xec, - 0xd4, 0xe5, 0x49, 0x17, 0x7d, 0xae, 0x88, 0x7b, 0x71, 0x12, 0x45, 0x0f, 0x51, 0x16, 0x87, 0xd6, 0x94, 0xd3, 0xcc, - 0xec, 0xa3, 0x58, 0x37, 0x1d, 0x29, 0x60, 0x08, 0x17, 0xb0, 0xe0, 0x17, 0x9f, 0x69, 0x3c, 0x63, 0x73, 0xe6, 0xf0, - 0x3f, 0x78, 0x50, 0xb2, 0xcc, 0x19, 0x0f, 0xf2, 0x55, 0x2d, 0x59, 0xbe, 0xe9, 0x60, 0xed, 0xe4, 0x7e, 0x00, 0x7f, - 0x99, 0x59, 0xd3, 0xe1, 0x92, 0x7e, 0x9b, 0xdd, 0xfa, 0x83, 0xd6, 0x52, 0x1e, 0x74, 0x10, 0xb4, 0xd6, 0xa7, 0xfd, - 0x4d, 0x4c, 0xea, 0x03, 0xbe, 0xd5, 0x1c, 0x6c, 0x97, 0xee, 0x9c, 0x47, 0x33, 0x45, 0xfb, 0x95, 0x69, 0x6e, 0xef, - 0xf0, 0x3a, 0x13, 0xad, 0x88, 0xb8, 0x3c, 0x54, 0xf1, 0xd9, 0x0d, 0xe7, 0xc8, 0xcc, 0xee, 0x70, 0x9f, 0x1e, 0x28, - 0x1e, 0x90, 0xcd, 0x15, 0xda, 0x79, 0xf0, 0x10, 0xab, 0xcd, 0x3c, 0xd4, 0x8e, 0xf9, 0xde, 0x74, 0x6e, 0x18, 0xaf, - 0x0c, 0xae, 0x49, 0xa3, 0xe0, 0x7a, 0xbe, 0x35, 0xde, 0x3d, 0x93, 0x3a, 0xea, 0x6c, 0x47, 0x1b, 0xd0, 0x2a, 0xb5, - 0x6b, 0xb2, 0x7a, 0x47, 0xb4, 0x9b, 0xc5, 0xbf, 0x5f, 0x85, 0xeb, 0x7b, 0x07, 0x7b, 0x7e, 0xe3, 0x30, 0x94, 0xa3, - 0x0f, 0xb1, 0xbb, 0xca, 0xff, 0x14, 0x2d, 0xab, 0x6e, 0xad, 0xbb, 0x3a, 0xed, 0xde, 0x49, 0xba, 0xa4, 0xac, 0x8f, - 0x60, 0x30, 0x39, 0x39, 0x77, 0x1d, 0xa5, 0x42, 0x3f, 0x86, 0x9f, 0xa4, 0xbc, 0x3c, 0x5d, 0x1f, 0xd6, 0x79, 0x09, - 0xbd, 0x70, 0xd8, 0x49, 0xeb, 0x1f, 0xbf, 0x5f, 0xe0, 0x13, 0x98, 0x9a, 0x5e, 0x37, 0xa3, 0x61, 0x51, 0x48, 0xda, - 0x1f, 0xc3, 0xce, 0xa5, 0xf1, 0x1b, 0xaa, 0xff, 0xe0, 0xa8, 0x22, 0xb8, 0x3a, 0x2e, 0xb5, 0xa2, 0x8a, 0xef, 0xb3, - 0x4d, 0xdd, 0x62, 0x41, 0xd8, 0xbf, 0x13, 0x39, 0x6a, 0x0c, 0x35, 0x55, 0x5c, 0x5b, 0x54, 0x04, 0x04, 0x89, 0x8b, - 0xfc, 0x5c, 0x3c, 0xac, 0xba, 0x17, 0xbc, 0x29, 0x2a, 0xd0, 0xed, 0x2b, 0x04, 0x55, 0x4e, 0x0a, 0xa6, 0x99, 0xec, - 0x5c, 0x17, 0x7d, 0x5a, 0x7f, 0xda, 0x52, 0xe8, 0x81, 0x70, 0x4c, 0x58, 0x82, 0x85, 0x8a, 0x3b, 0xc8, 0xc1, 0xd3, - 0xe3, 0xf6, 0x82, 0x1f, 0xab, 0x18, 0xed, 0xf8, 0x44, 0x32, 0x07, 0xeb, 0x92, 0x71, 0x03, 0x0f, 0x8e, 0x95, 0x86, - 0xe1, 0x58, 0x01, 0x70, 0x68, 0x76, 0x75, 0x22, 0x7f, 0x68, 0x46, 0xf0, 0x57, 0x24, 0x43, 0xeb, 0x12, 0x35, 0x85, - 0x06, 0xd6, 0x32, 0x7a, 0xae, 0x98, 0x78, 0x31, 0x05, 0x9d, 0x80, 0x20, 0xcb, 0x93, 0x43, 0x7a, 0xb8, 0x8b, 0x64, - 0x51, 0xbd, 0x67, 0x17, 0x8b, 0x48, 0x97, 0x81, 0x06, 0xd3, 0x20, 0xa4, 0xc3, 0x6a, 0xba, 0x6a, 0x6f, 0xee, 0x91, - 0xa5, 0x79, 0x4c, 0x8c, 0x95, 0x86, 0x9e, 0xd5, 0x38, 0xb0, 0xe1, 0x96, 0x09, 0x0b, 0x87, 0xc4, 0xd1, 0xc9, 0x61, - 0x15, 0x91, 0xa0, 0x59, 0xdf, 0x82, 0xac, 0x74, 0x00, 0x1b, 0xf0, 0x30, 0xaf, 0x2e, 0xb1, 0xbb, 0x6d, 0xcd, 0x22, - 0x9e, 0x59, 0x86, 0x61, 0x5d, 0xfc, 0xa7, 0xae, 0x39, 0x61, 0xfb, 0xdf, 0x3c, 0x1e, 0x1e, 0x8b, 0xae, 0x36, 0x16, - 0x4b, 0xb1, 0x07, 0x3d, 0xa2, 0xfb, 0xc3, 0xc7, 0xc3, 0x9b, 0xc0, 0x24, 0x3e, 0xe9, 0x67, 0x16, 0x34, 0x13, 0xdb, - 0xd9, 0xe8, 0x09, 0xfb, 0x68, 0x9b, 0x62, 0x87, 0x54, 0x60, 0x51, 0xd3, 0xd9, 0x09, 0xd5, 0x69, 0x68, 0x24, 0x69, - 0x86, 0x50, 0x58, 0xed, 0x0d, 0x7e, 0x11, 0x62, 0x6f, 0xaf, 0xfb, 0x7b, 0x0e, 0x62, 0x2d, 0x06, 0xa8, 0x41, 0x4d, - 0x8b, 0xc4, 0xee, 0xd2, 0xdd, 0x33, 0x5e, 0x02, 0x55, 0x1d, 0x95, 0x43, 0x0a, 0xb3, 0x5c, 0x8c, 0x68, 0x43, 0x27, - 0x59, 0x62, 0x1d, 0x93, 0xa9, 0x94, 0xb8, 0xfe, 0xbb, 0x04, 0x12, 0x14, 0x1e, 0xd9, 0x91, 0x70, 0xcb, 0x9f, 0x27, - 0xfc, 0xf9, 0x0b, 0xb6, 0x1a, 0x6c, 0xa7, 0x00, 0x5c, 0x3e, 0xfa, 0xfc, 0x0e, 0xe4, 0x2f, 0x54, 0x0c, 0xfc, 0xbc, - 0x70, 0xc2, 0x0b, 0xf0, 0x4f, 0xb0, 0x14, 0x89, 0xe9, 0x5e, 0x4a, 0xf3, 0x14, 0x6b, 0x98, 0x40, 0xaf, 0xcb, 0x7e, - 0xd9, 0x02, 0x87, 0x11, 0xc4, 0xa5, 0xee, 0xdb, 0x05, 0xb4, 0x51, 0x01, 0x28, 0x8b, 0x6a, 0xe0, 0x58, 0xc7, 0xdb, - 0x26, 0x45, 0xdc, 0xf4, 0xab, 0x04, 0x99, 0xd1, 0x2b, 0xb1, 0xb8, 0x0c, 0x5d, 0x5b, 0x39, 0x4e, 0x53, 0xf4, 0x99, - 0x0c, 0x36, 0xcc, 0x3a, 0x15, 0x81, 0x99, 0xf4, 0xf0, 0xa0, 0x6f, 0xd3, 0x9a, 0x6f, 0xd7, 0xf5, 0xf2, 0x6e, 0x93, - 0x5f, 0x77, 0x7c, 0xf9, 0xea, 0xc9, 0x85, 0x94, 0x48, 0x5b, 0xa0, 0x5b, 0xaa, 0xa7, 0xc5, 0xd6, 0xba, 0xd1, 0xf4, - 0xb8, 0xc2, 0xf0, 0x50, 0x19, 0x4d, 0xfd, 0x69, 0x52, 0x98, 0xcd, 0x16, 0xdd, 0xe8, 0x63, 0xff, 0x4a, 0x02, 0x0d, - 0x96, 0x2d, 0xf5, 0xde, 0x9b, 0x05, 0x0b, 0x7a, 0xeb, 0x20, 0x6b, 0xb9, 0xca, 0x91, 0x7b, 0x42, 0x51, 0x5d, 0x20, - 0x28, 0xf2, 0xb0, 0x48, 0x2b, 0xdc, 0x99, 0xbd, 0xcc, 0x06, 0xf4, 0x21, 0xe3, 0x4a, 0xee, 0x9c, 0x03, 0x25, 0xd3, - 0xe6, 0x4d, 0x7a, 0xef, 0x2f, 0x76, 0x7a, 0xec, 0xde, 0x41, 0x86, 0xe5, 0xff, 0x8d, 0xea, 0x6a, 0xbe, 0x25, 0x45, - 0x0a, 0x8f, 0xa2, 0x7d, 0xac, 0x4a, 0xe1, 0x3b, 0xc2, 0x56, 0x0a, 0x54, 0x07, 0xda, 0x57, 0xa4, 0x2e, 0x61, 0x6e, - 0xd6, 0x41, 0x60, 0x65, 0x3a, 0xfc, 0x2b, 0x52, 0x03, 0x7e, 0xb3, 0x05, 0x44, 0x88, 0x9d, 0xec, 0x21, 0x7c, 0x14, - 0x00, 0xc7, 0x15, 0x00, 0xcd, 0x88, 0xdc, 0xe0, 0xe4, 0xe0, 0x21, 0xee, 0x8f, 0x57, 0x77, 0x59, 0x51, 0xe1, 0xbd, - 0x45, 0x58, 0x07, 0xf0, 0xd7, 0x72, 0xb8, 0x9e, 0x97, 0xfe, 0xc2, 0x87, 0xea, 0x09, 0x2a, 0x77, 0xee, 0xeb, 0x82, - 0xa1, 0x3c, 0x95, 0x38, 0x36, 0xd0, 0x55, 0x79, 0x6b, 0xaf, 0xb4, 0x99, 0x04, 0xbb, 0x1b, 0xa1, 0xa9, 0x0e, 0xa3, - 0x21, 0x6e, 0x7e, 0x5b, 0xd9, 0xfa, 0xc3, 0xc5, 0xed, 0x9f, 0xdf, 0x9d, 0x0b, 0x3f, 0xc0, 0x25, 0x06, 0x6c, 0xea, - 0x20, 0xc4, 0x7e, 0xe7, 0xdc, 0x04, 0x42, 0x88, 0x3d, 0x06, 0x93, 0x29, 0x62, 0x26, 0x34, 0x95, 0xa3, 0x10, 0x82, - 0x49, 0xde, 0x52, 0x6d, 0xc8, 0x85, 0x07, 0xd9, 0x21, 0x33, 0x65, 0x6a, 0x13, 0xc2, 0x26, 0xdc, 0xb6, 0x8d, 0x75, - 0x73, 0x65, 0x31, 0x36, 0x77, 0x5b, 0x7d, 0x61, 0x45, 0xe8, 0xed, 0x5d, 0xdf, 0xea, 0xdc, 0xee, 0x9a, 0xfc, 0x08, - 0x3a, 0x64, 0xef, 0x8a, 0x0a, 0x07, 0xbb, 0x93, 0xd3, 0x45, 0xd2, 0x6c, 0x08, 0x24, 0x16, 0x08, 0x81, 0x5f, 0x68, - 0x68, 0x86, 0x8c, 0xf1, 0xc8, 0x2b, 0xdf, 0xb8, 0x2a, 0x3b, 0xf6, 0x12, 0x54, 0xbd, 0x87, 0x98, 0x73, 0x9f, 0x86, - 0x75, 0x1c, 0xc9, 0x61, 0xea, 0x66, 0xe8, 0x87, 0xb0, 0xdd, 0x24, 0x71, 0x99, 0x8e, 0xe4, 0x3e, 0xbb, 0xbf, 0xf4, - 0x7c, 0x37, 0x6a, 0xe1, 0x22, 0xda, 0x14, 0x50, 0x8f, 0x48, 0x76, 0xea, 0xda, 0x8b, 0xf4, 0x63, 0x8e, 0xc4, 0x5d, - 0xd9, 0x5a, 0xd2, 0xfc, 0x28, 0xa0, 0x21, 0x3a, 0xa3, 0xf8, 0xd2, 0xcf, 0x46, 0x7b, 0x9a, 0xff, 0xea, 0x87, 0xab, - 0xb3, 0xff, 0xd1, 0xae, 0x44, 0xa1, 0xe2, 0xc9, 0x31, 0xd0, 0x36, 0x5f, 0x92, 0x72, 0x1d, 0x4b, 0x64, 0x9c, 0xd7, - 0x86, 0x77, 0xcb, 0x06, 0x82, 0x3d, 0xea, 0x1c, 0xd1, 0xfa, 0x05, 0x76, 0x08, 0xdd, 0xd9, 0xd1, 0x40, 0xd7, 0x1e, - 0xfa, 0xe7, 0xfa, 0xdf, 0xfe, 0xe7, 0xd6, 0xae, 0x52, 0x6a, 0xa9, 0x1e, 0x72, 0x47, 0xe5, 0x25, 0x09, 0xd1, 0x01, - 0xa8, 0x48, 0x23, 0x70, 0x5f, 0x6e, 0xad, 0xf9, 0x5d, 0x59, 0x67, 0xfe, 0xa7, 0x05, 0x63, 0x24, 0x72, 0x7a, 0x43, - 0x48, 0xd8, 0x84, 0x24, 0x8e, 0x9d, 0xeb, 0x8c, 0xb3, 0xa4, 0x69, 0x11, 0xba, 0xba, 0x53, 0x8f, 0x04, 0xcb, 0x93, - 0x36, 0xcb, 0xb8, 0x21, 0x5b, 0x6e, 0xbb, 0x49, 0xfa, 0xe8, 0xe7, 0xae, 0xd5, 0x5c, 0x01, 0x41, 0x50, 0xb5, 0x2c, - 0x2f, 0x8d, 0xc8, 0xab, 0x0d, 0xf7, 0x65, 0xf9, 0x6b, 0xf7, 0x53, 0x18, 0x69, 0x51, 0x1b, 0x9c, 0x72, 0xd6, 0xad, - 0x7a, 0x50, 0x2d, 0x45, 0x19, 0x59, 0xf5, 0x21, 0xfa, 0x4f, 0x70, 0x83, 0x97, 0x77, 0x37, 0x47, 0x2f, 0xa6, 0x16, - 0x5e, 0x70, 0x24, 0x67, 0xe2, 0xee, 0xfc, 0x28, 0x4b, 0xec, 0x65, 0xd0, 0x97, 0x88, 0xea, 0x9c, 0x18, 0x6f, 0x8a, - 0x67, 0x06, 0xa2, 0xdb, 0xd4, 0xf7, 0x4d, 0x70, 0x90, 0xf1, 0x0d, 0xb2, 0x3f, 0x27, 0x48, 0x4e, 0x7d, 0xa2, 0xf1, - 0x32, 0x98, 0xb6, 0x23, 0x05, 0xc7, 0xc7, 0x76, 0x0f, 0x38, 0xde, 0xc8, 0xe5, 0x42, 0xf5, 0xad, 0xbb, 0xff, 0xc3, - 0xea, 0x61, 0x76, 0x06, 0xc7, 0x9d, 0x4d, 0xcb, 0x04, 0xaf, 0x58, 0xe2, 0x4f, 0xb5, 0x89, 0xdd, 0x9e, 0x4d, 0xba, - 0xe3, 0x72, 0x7b, 0x38, 0xbb, 0x0b, 0xad, 0x51, 0xee, 0x36, 0x7f, 0x01, 0x48, 0x21, 0xd0, 0x86, 0xfd, 0xa2, 0x70, - 0x10, 0xd4, 0x00, 0x1f, 0x00, 0x23, 0xb4, 0xc4, 0x62, 0x45, 0x9e, 0x68, 0x28, 0xad, 0x72, 0x46, 0x4c, 0x83, 0xe7, - 0x83, 0x77, 0x95, 0xc4, 0xa5, 0xf4, 0x77, 0x61, 0x73, 0x4b, 0x89, 0xcf, 0x9c, 0x7e, 0x7c, 0x9b, 0xea, 0xbb, 0x2e, - 0x39, 0x5b, 0xbe, 0xf7, 0x9c, 0x56, 0x1a, 0x3a, 0xb8, 0x83, 0x8f, 0xd5, 0x16, 0x42, 0x36, 0x6e, 0xa0, 0xdb, 0xec, - 0x0f, 0xb9, 0x67, 0xe7, 0xa9, 0x62, 0x4f, 0xb2, 0x5c, 0x58, 0xac, 0x08, 0x17, 0xae, 0xde, 0x2d, 0x02, 0x58, 0x90, - 0xef, 0x43, 0x1f, 0xcb, 0xac, 0xe4, 0xc7, 0x0f, 0xfc, 0xcf, 0x83, 0x00, 0x8b, 0x92, 0xe5, 0x34, 0xa1, 0xca, 0x9d, - 0x41, 0xcc, 0xb3, 0x9e, 0x91, 0x35, 0x9b, 0x7c, 0xe8, 0x00}; + 0x5b, 0x36, 0x7a, 0x53, 0xc2, 0x36, 0x06, 0x5a, 0x1f, 0xd4, 0x4e, 0x00, 0xb3, 0xd6, 0xea, 0xff, 0x0a, 0xab, 0x51, + 0x94, 0xb1, 0xe6, 0xb0, 0x2e, 0x61, 0xbb, 0x1a, 0x70, 0x3b, 0xd8, 0x06, 0xfd, 0x7d, 0x2f, 0x1a, 0x00, 0x55, 0x35, + 0xe3, 0xa8, 0x1c, 0x62, 0xca, 0xd3, 0xb4, 0x00, 0xdb, 0x5e, 0x43, 0xa7, 0x14, 0x08, 0xa4, 0x51, 0x99, 0x96, 0xb6, + 0xf5, 0x0e, 0x99, 0x80, 0x52, 0x31, 0xe8, 0x10, 0x27, 0x1c, 0x04, 0x11, 0x58, 0xc5, 0x1c, 0xcc, 0xd4, 0x74, 0x4c, + 0x33, 0x11, 0xbb, 0xdb, 0xb0, 0xb4, 0x0a, 0x87, 0x13, 0x12, 0xb4, 0x8f, 0xe7, 0xd1, 0xc8, 0x85, 0x26, 0x07, 0xab, + 0x2e, 0x7a, 0x6e, 0x93, 0xb9, 0x4c, 0xb4, 0x84, 0x5b, 0x59, 0xda, 0xde, 0x2f, 0x74, 0x88, 0x3c, 0x53, 0x3b, 0xfd, + 0x28, 0xf8, 0x60, 0x4b, 0xf2, 0xc2, 0x03, 0xda, 0x33, 0x59, 0xe4, 0x2a, 0x48, 0x26, 0xde, 0x20, 0x6e, 0xcb, 0x83, + 0xef, 0x81, 0x7a, 0x6b, 0x36, 0x9a, 0x3f, 0x38, 0x8e, 0xfd, 0xf9, 0x7e, 0x73, 0xab, 0x6e, 0x85, 0xf0, 0x62, 0xe0, + 0x60, 0x60, 0x23, 0x1b, 0x11, 0xaf, 0x39, 0x32, 0xed, 0x79, 0x20, 0x27, 0x04, 0x1f, 0x6b, 0xf4, 0xd9, 0x97, 0x2f, + 0x38, 0xe4, 0x5b, 0x75, 0xbb, 0xb4, 0xfe, 0xd5, 0xfb, 0x5f, 0xa5, 0xc2, 0x5c, 0x88, 0xc6, 0xdf, 0xd0, 0x1e, 0x10, + 0xa7, 0x44, 0x3b, 0xdd, 0xb8, 0xbd, 0x2c, 0x7a, 0x10, 0x61, 0xbe, 0x8b, 0xbb, 0x3c, 0x10, 0x0e, 0x5f, 0x06, 0xc6, + 0xe0, 0xf2, 0xe6, 0x88, 0xa8, 0xb8, 0xa2, 0xab, 0xf7, 0x6b, 0xab, 0xe9, 0xfb, 0xbd, 0xa6, 0xfe, 0xd7, 0xef, 0x23, + 0xd3, 0x86, 0xa9, 0xdc, 0x57, 0x3a, 0xf7, 0xb8, 0x49, 0x6e, 0x45, 0x76, 0xda, 0xa6, 0x21, 0xc3, 0x2b, 0x0f, 0xac, + 0xc9, 0x85, 0x03, 0x60, 0xdd, 0x28, 0x5d, 0xe5, 0x3b, 0xfb, 0xf3, 0xbb, 0xdc, 0xc2, 0x94, 0xab, 0x90, 0x2b, 0x05, + 0xc8, 0x64, 0x3f, 0x3f, 0xc8, 0x1a, 0xe3, 0xef, 0x17, 0x88, 0x77, 0x9f, 0x18, 0x8d, 0xda, 0xd2, 0xc0, 0xb8, 0x5b, + 0x99, 0x6e, 0xd9, 0x12, 0xaa, 0xdc, 0x2f, 0xeb, 0xff, 0xff, 0xfb, 0x4e, 0xff, 0xbf, 0x7e, 0xed, 0x55, 0x22, 0xe6, + 0x8a, 0x96, 0x64, 0x4c, 0xdf, 0x4b, 0x2c, 0xef, 0x43, 0x42, 0x69, 0x18, 0x37, 0x29, 0x19, 0x40, 0x1f, 0x19, 0x8a, + 0x6b, 0x84, 0xb5, 0x31, 0x6a, 0x1d, 0xd9, 0x57, 0x5b, 0x04, 0xbb, 0xd6, 0xde, 0xfa, 0x52, 0xfd, 0xbe, 0x7e, 0x1f, + 0xe7, 0x5d, 0xc3, 0x72, 0xc9, 0x69, 0x3a, 0x6f, 0xf7, 0x1e, 0x6d, 0x29, 0x74, 0xce, 0x4b, 0xde, 0x98, 0xe5, 0x62, + 0x40, 0x34, 0x7a, 0xba, 0x6d, 0x0c, 0x30, 0x01, 0xd0, 0x92, 0x98, 0x29, 0xed, 0xfb, 0xea, 0xeb, 0x7f, 0xfd, 0x56, + 0x3a, 0x29, 0x0a, 0x1f, 0xd9, 0xb7, 0x84, 0x3a, 0x26, 0xfa, 0xd6, 0xce, 0x76, 0x3a, 0x32, 0x19, 0x0a, 0xb2, 0x94, + 0xc7, 0x80, 0xbe, 0x24, 0x74, 0x27, 0x0a, 0xff, 0x5f, 0x5f, 0xd3, 0xfa, 0xfa, 0x95, 0x08, 0xbb, 0xcc, 0xa5, 0x4e, + 0x51, 0xa8, 0x7b, 0x7f, 0x4f, 0x49, 0xce, 0xb2, 0xec, 0x9e, 0x0a, 0x41, 0xcb, 0xb4, 0x8d, 0x17, 0xe1, 0x00, 0xdc, + 0x13, 0x13, 0x59, 0xf7, 0x30, 0x55, 0xeb, 0xbf, 0x9f, 0x97, 0x0d, 0x67, 0x15, 0x30, 0x14, 0x61, 0x0c, 0x48, 0xaa, + 0xd8, 0x41, 0x5a, 0x75, 0x4b, 0xd3, 0x16, 0xa5, 0xc1, 0xd4, 0xc8, 0x9c, 0x84, 0x1c, 0x78, 0x01, 0xe8, 0x24, 0x45, + 0xca, 0xff, 0x73, 0xbe, 0x2d, 0xad, 0xfe, 0x74, 0x75, 0x79, 0xa2, 0xba, 0x1f, 0x6a, 0x09, 0x10, 0xc6, 0x50, 0xb3, + 0x6c, 0x4a, 0xe7, 0x9f, 0x5d, 0xbf, 0x26, 0x78, 0xa6, 0x37, 0x07, 0xce, 0xa5, 0x55, 0xaf, 0xef, 0x06, 0xd4, 0x72, + 0x4f, 0x48, 0xdf, 0x15, 0x1b, 0xec, 0xd7, 0x48, 0xa6, 0xe5, 0xbd, 0xf3, 0x85, 0x88, 0xaa, 0x1c, 0x80, 0x11, 0xb4, + 0x51, 0x68, 0xa0, 0xbc, 0xbd, 0xf6, 0xaa, 0x6f, 0x55, 0x94, 0x8e, 0x0d, 0x8c, 0xc0, 0x32, 0xcb, 0xaf, 0x77, 0x27, + 0x94, 0x5c, 0xad, 0xbd, 0x6f, 0x92, 0xf0, 0x18, 0x70, 0x5a, 0x6c, 0x58, 0x38, 0x2f, 0xd9, 0x90, 0xa8, 0xf9, 0x9a, + 0xad, 0xc0, 0x05, 0x0a, 0xeb, 0x98, 0xcb, 0xaa, 0x7a, 0x8b, 0x0a, 0x89, 0xf8, 0x75, 0xfb, 0x7e, 0xc6, 0x7d, 0x4c, + 0x37, 0xc3, 0x0c, 0x86, 0x8d, 0x82, 0x27, 0x18, 0xd7, 0x33, 0xb5, 0x4c, 0x5f, 0x6f, 0xa7, 0x52, 0x3e, 0xdd, 0x19, + 0x97, 0x57, 0x40, 0x5b, 0x29, 0xed, 0xd9, 0x0b, 0xb1, 0xcb, 0x58, 0x04, 0x08, 0x0d, 0x20, 0x51, 0xe9, 0x1b, 0x22, + 0xf6, 0x9a, 0x6f, 0xe8, 0xe9, 0xbc, 0x01, 0x2c, 0x70, 0xf8, 0x86, 0x54, 0x72, 0xa5, 0x38, 0x22, 0xd0, 0xcb, 0x95, + 0xe1, 0xc1, 0xb5, 0xb9, 0x59, 0x01, 0xae, 0xd5, 0x5a, 0x4a, 0xfa, 0x13, 0x37, 0x9b, 0xd6, 0xff, 0x3e, 0x2f, 0xce, + 0xdb, 0xec, 0x44, 0xba, 0xfe, 0x92, 0xe3, 0xe4, 0x4a, 0xe9, 0xd9, 0x82, 0x09, 0x25, 0xcc, 0xb0, 0x86, 0x01, 0x93, + 0xa6, 0xd5, 0x3e, 0x3c, 0x24, 0x1f, 0x50, 0xab, 0x6f, 0xf8, 0x83, 0xe5, 0xff, 0xef, 0xad, 0xb4, 0xdc, 0xfe, 0x88, + 0x74, 0x20, 0x44, 0xf6, 0x00, 0xe4, 0x38, 0xc3, 0x91, 0xf5, 0xfb, 0xce, 0xcc, 0x2a, 0x50, 0x0d, 0x90, 0x6c, 0x59, + 0xbf, 0xd6, 0x62, 0x53, 0x71, 0xcd, 0xbb, 0xcc, 0xef, 0xa2, 0x33, 0x7e, 0x18, 0x56, 0x64, 0x44, 0x66, 0x23, 0x5d, + 0x0d, 0xcb, 0x36, 0xb2, 0x9c, 0x06, 0xf6, 0xbe, 0xf7, 0x7f, 0x14, 0xfe, 0xff, 0x91, 0xc5, 0x89, 0x88, 0x2c, 0x50, + 0x91, 0x59, 0xc5, 0x39, 0x99, 0x05, 0xcc, 0xa8, 0x0a, 0xe0, 0x8c, 0x0a, 0x60, 0x1f, 0x1d, 0x90, 0x63, 0x41, 0xd0, + 0x68, 0x9a, 0x6c, 0xf6, 0xd1, 0x90, 0x2d, 0x6f, 0x77, 0x5a, 0xac, 0x38, 0x94, 0xeb, 0x19, 0xd9, 0x96, 0xfc, 0x6e, + 0x07, 0xca, 0x9a, 0xa5, 0xb4, 0xd2, 0xd1, 0x7d, 0x73, 0x6f, 0x76, 0xca, 0xa9, 0x23, 0x50, 0x69, 0xd5, 0x56, 0x08, + 0xd7, 0xcc, 0xec, 0x06, 0x76, 0x3f, 0xe7, 0x97, 0x36, 0x1f, 0x37, 0xc5, 0xa4, 0x98, 0x94, 0xe0, 0x80, 0xe4, 0x19, + 0x7b, 0xc6, 0x12, 0x0a, 0xc7, 0xf2, 0xde, 0xa9, 0x3f, 0x86, 0xdf, 0x43, 0x69, 0x61, 0x30, 0x75, 0xa6, 0x69, 0xfa, + 0xef, 0xb6, 0x31, 0xab, 0x2f, 0xd7, 0xca, 0xcc, 0x2d, 0xcd, 0x10, 0x42, 0x0a, 0xa0, 0xa2, 0xeb, 0xff, 0x36, 0xbe, + 0xd6, 0x57, 0x8e, 0xda, 0xfa, 0x75, 0xd4, 0xdd, 0x7e, 0x5c, 0x67, 0x08, 0x10, 0x02, 0xed, 0x3c, 0x64, 0x4a, 0x75, + 0xdb, 0x71, 0x9e, 0x3d, 0x4d, 0x08, 0x21, 0x04, 0xe2, 0xa8, 0xe2, 0xf8, 0x5f, 0x23, 0x9d, 0x4a, 0x1b, 0x02, 0x0d, + 0xa4, 0x48, 0xfd, 0x1b, 0xeb, 0x6f, 0x0d, 0xdb, 0xf7, 0xf4, 0x10, 0x9d, 0xd8, 0xd3, 0x00, 0xa1, 0x36, 0x49, 0xbe, + 0xd8, 0x9a, 0xa7, 0xb5, 0x6d, 0x74, 0x2c, 0x43, 0x2d, 0x7f, 0xdf, 0x4c, 0xbf, 0x6d, 0x30, 0x06, 0x2c, 0x33, 0x25, + 0x81, 0x19, 0xf2, 0xb9, 0x6e, 0x04, 0xf7, 0xcf, 0x4c, 0x26, 0xce, 0x1e, 0x07, 0x80, 0xd3, 0xb1, 0x47, 0x5b, 0x88, + 0x19, 0x28, 0xc7, 0xb9, 0x83, 0x9b, 0x5b, 0x23, 0x98, 0xf6, 0xf6, 0x50, 0xb2, 0xdd, 0x47, 0x21, 0xd6, 0x20, 0x5a, + 0x78, 0x61, 0x76, 0xf4, 0x81, 0xc9, 0xdb, 0x4e, 0x15, 0xbd, 0xa5, 0x5b, 0x7e, 0xc2, 0x1c, 0x81, 0x66, 0xf4, 0x92, + 0x5f, 0x04, 0xf0, 0xbe, 0x7d, 0x0f, 0x45, 0x99, 0x04, 0xca, 0xfe, 0xfa, 0xc9, 0x96, 0x91, 0x9d, 0x9f, 0xb8, 0x6b, + 0x7b, 0xc3, 0xe6, 0xe0, 0x21, 0x83, 0x27, 0x75, 0x98, 0xd9, 0x7e, 0x29, 0x3f, 0xe1, 0x6a, 0x19, 0xe6, 0x36, 0xe6, + 0xf3, 0xfd, 0x14, 0x5d, 0xa1, 0x21, 0x63, 0x41, 0xea, 0xb9, 0xf7, 0x87, 0xc6, 0xf2, 0xc7, 0x64, 0x59, 0x06, 0x6e, + 0xcb, 0x89, 0xc7, 0x92, 0xfa, 0xc5, 0x52, 0x4d, 0xdf, 0x93, 0x26, 0x01, 0x80, 0xac, 0xb5, 0x0d, 0xfd, 0x08, 0x57, + 0x71, 0x7d, 0xad, 0x5c, 0x14, 0xe3, 0x9a, 0x6f, 0x87, 0x09, 0x06, 0x92, 0xf5, 0x13, 0x28, 0x6e, 0x7b, 0xf7, 0x6f, + 0xcf, 0x6e, 0x6d, 0x59, 0x64, 0xd4, 0x74, 0x38, 0xbb, 0x0f, 0x9d, 0x69, 0x03, 0x8a, 0xb8, 0xc3, 0xdd, 0xa7, 0x63, + 0x4d, 0x41, 0x62, 0xc3, 0x21, 0x83, 0xe7, 0x02, 0x1d, 0xcb, 0x3e, 0xa9, 0xa5, 0x24, 0x6b, 0x72, 0xe6, 0xd2, 0x10, + 0x66, 0xa3, 0x73, 0x76, 0x1b, 0x4b, 0x07, 0xdc, 0x96, 0x33, 0xda, 0x45, 0x26, 0xf7, 0xbc, 0x89, 0xef, 0x68, 0xcc, + 0x2f, 0xbb, 0xc0, 0xde, 0xfa, 0x20, 0xdb, 0x42, 0xd0, 0x6c, 0xcc, 0xec, 0xc0, 0x37, 0xde, 0x77, 0xd3, 0x21, 0x09, + 0x12, 0x4d, 0xdf, 0xb7, 0xa0, 0x79, 0x31, 0xfa, 0xb8, 0xee, 0x61, 0xab, 0x50, 0xdf, 0xfe, 0x88, 0x87, 0x19, 0x9e, + 0x78, 0x39, 0x23, 0x5f, 0xef, 0xdd, 0xe6, 0x65, 0xe7, 0xd1, 0x17, 0x31, 0xbe, 0x3d, 0xbb, 0x7d, 0xb9, 0x79, 0x64, + 0xf7, 0x11, 0xd6, 0xbe, 0x1b, 0x12, 0x76, 0x35, 0xbf, 0x77, 0x1b, 0x7e, 0xf4, 0xda, 0x4b, 0x35, 0xab, 0xc9, 0x7f, + 0xfa, 0xfe, 0x13, 0xda, 0xa8, 0x1d, 0xdc, 0xc3, 0xfd, 0x05, 0xc2, 0xb3, 0xa6, 0x38, 0x17, 0x58, 0x73, 0x18, 0x7f, + 0xb6, 0x66, 0xc9, 0x3f, 0x3b, 0x22, 0xf4, 0x39, 0xcc, 0xd7, 0x39, 0x6f, 0xcf, 0x62, 0x6a, 0xfd, 0x4a, 0x44, 0x61, + 0x22, 0x2a, 0x83, 0x26, 0x28, 0xca, 0x2b, 0x27, 0x7d, 0xc7, 0x45, 0x49, 0x20, 0x91, 0xdd, 0x52, 0x2b, 0xa5, 0x75, + 0xe1, 0xe4, 0xde, 0xef, 0x00, 0x02, 0xfd, 0x39, 0xb6, 0x2c, 0xbb, 0xe4, 0xf5, 0x4b, 0x49, 0x7d, 0xc7, 0x3c, 0xcd, + 0x3d, 0x00, 0x91, 0x0a, 0xdd, 0x2c, 0x65, 0x61, 0x89, 0x12, 0x79, 0x36, 0x9e, 0xeb, 0xbc, 0xca, 0xd0, 0x43, 0xb7, + 0xef, 0xdb, 0x25, 0xf2, 0xf0, 0x7c, 0x86, 0x03, 0x7c, 0xc7, 0x9c, 0x53, 0xbd, 0xc2, 0x84, 0xbc, 0x72, 0x56, 0xdc, + 0x8f, 0xa1, 0xd4, 0x68, 0x22, 0x56, 0xe4, 0x66, 0x34, 0xc8, 0x7b, 0x46, 0x6e, 0xaa, 0xfd, 0x52, 0x5b, 0x33, 0x33, + 0xd7, 0xb7, 0xad, 0x96, 0x71, 0x86, 0x72, 0x2f, 0xaa, 0x3a, 0xaa, 0xef, 0x49, 0x20, 0x3d, 0xcb, 0x19, 0xd7, 0x37, + 0x6f, 0x56, 0x94, 0x5f, 0x2b, 0x95, 0x50, 0xf6, 0x0d, 0x35, 0x79, 0xcd, 0xec, 0x4b, 0xea, 0x1a, 0xe6, 0x29, 0xd2, + 0x76, 0x3a, 0xf2, 0x5c, 0x14, 0x32, 0x68, 0x05, 0x7b, 0x9e, 0x3c, 0xba, 0xf6, 0x65, 0x5e, 0xe2, 0x2f, 0x2b, 0xcb, + 0x88, 0x04, 0x68, 0xe4, 0x5f, 0x10, 0xcd, 0x0c, 0x54, 0xc5, 0xd3, 0x64, 0xe1, 0x24, 0x68, 0x71, 0xa2, 0x0d, 0x9e, + 0xfd, 0x7e, 0xdb, 0xec, 0x83, 0x12, 0x2e, 0xaa, 0xd4, 0x7d, 0x4f, 0x13, 0xf2, 0xf0, 0x73, 0x91, 0xac, 0x65, 0xa0, + 0xd7, 0x60, 0x9e, 0x26, 0x20, 0x15, 0x96, 0xc9, 0x58, 0xe8, 0x82, 0x9a, 0xd1, 0x4d, 0x93, 0xe9, 0x11, 0x5f, 0xde, + 0xe2, 0xa2, 0xb8, 0xd5, 0x6a, 0xcb, 0x37, 0xb3, 0xb4, 0x63, 0xda, 0x02, 0xda, 0x1f, 0x3a, 0x81, 0x27, 0x6c, 0x1e, + 0x0b, 0xef, 0x26, 0x27, 0x23, 0x8c, 0x3f, 0xf7, 0x72, 0xa4, 0x1d, 0x6a, 0x77, 0x42, 0xf4, 0xea, 0x40, 0xe0, 0xbe, + 0x50, 0xb6, 0x62, 0xec, 0x4d, 0x12, 0x51, 0xdd, 0x7f, 0x40, 0xb7, 0xf6, 0xbf, 0x59, 0xbb, 0xf4, 0x45, 0xd0, 0x58, + 0x09, 0x47, 0xd2, 0xfa, 0x6d, 0xa8, 0x3d, 0x44, 0x00, 0x4e, 0xaf, 0x82, 0x19, 0x76, 0xdb, 0x80, 0xd9, 0x71, 0x51, + 0x8e, 0xfb, 0x7c, 0xc2, 0x32, 0x3f, 0xd0, 0x32, 0xba, 0xa9, 0xfd, 0x71, 0xfc, 0x21, 0x63, 0x96, 0xb6, 0x30, 0xb5, + 0xaf, 0x1a, 0x7f, 0x69, 0xd0, 0x48, 0xc5, 0x79, 0xed, 0xd0, 0xc0, 0x4f, 0xec, 0x0b, 0x96, 0x83, 0x23, 0x41, 0x2f, + 0xf3, 0xc1, 0x33, 0x97, 0x6a, 0xb0, 0xbc, 0x39, 0x72, 0xa0, 0x10, 0xb6, 0x14, 0xa1, 0x6c, 0xb0, 0xb5, 0xd2, 0x8a, + 0x55, 0x4f, 0x18, 0x9b, 0xf7, 0xa7, 0xb7, 0x26, 0xb2, 0x29, 0x5b, 0x38, 0x4c, 0xf5, 0x85, 0x82, 0x64, 0x7f, 0x16, + 0x77, 0x59, 0x26, 0xc0, 0x41, 0xc2, 0xf0, 0x82, 0x8e, 0x24, 0xdf, 0x07, 0x6f, 0xfa, 0x2c, 0x58, 0x18, 0x6d, 0x9b, + 0x1f, 0x6d, 0xbd, 0x17, 0xcf, 0x2c, 0x88, 0x6f, 0x16, 0x14, 0xdb, 0xb2, 0xe2, 0x08, 0x4b, 0x35, 0x6c, 0x42, 0x68, + 0x05, 0x11, 0xa8, 0xa9, 0x3f, 0xd7, 0x83, 0x6d, 0xd6, 0xbe, 0x6a, 0x55, 0xa5, 0xb3, 0x24, 0xd5, 0x38, 0x82, 0x42, + 0x0e, 0x06, 0x45, 0x10, 0xba, 0xb3, 0x7b, 0xf0, 0x13, 0x07, 0xe3, 0x42, 0xe0, 0x86, 0x96, 0xa7, 0xae, 0x5b, 0xc7, + 0x2d, 0x03, 0x53, 0x7d, 0xb9, 0xd2, 0x3c, 0xee, 0xa1, 0x75, 0xb0, 0x6b, 0x3b, 0x92, 0xcf, 0xb5, 0x78, 0x42, 0xdf, + 0x9d, 0xe8, 0x04, 0x86, 0x87, 0x23, 0x4f, 0xbc, 0x3c, 0x90, 0x80, 0x87, 0x00, 0xb3, 0xf2, 0xdd, 0x0f, 0xa1, 0x7a, + 0x7d, 0x11, 0x50, 0x40, 0x7c, 0x55, 0x6e, 0xfb, 0x03, 0x04, 0x2b, 0xea, 0x58, 0x00, 0x27, 0x2a, 0x4e, 0xc9, 0x01, + 0x09, 0xc6, 0x11, 0xea, 0x1b, 0xa0, 0x9b, 0x0f, 0x95, 0xf2, 0x2f, 0x5c, 0x4f, 0xbc, 0x28, 0xcf, 0xfa, 0xf9, 0x96, + 0x7c, 0xba, 0x6a, 0x51, 0x70, 0xaa, 0xb6, 0x49, 0xa6, 0x50, 0xba, 0xc1, 0x61, 0x4a, 0x11, 0xa7, 0x89, 0x44, 0x2d, + 0x04, 0x60, 0x5b, 0x45, 0xb4, 0xf4, 0xeb, 0x75, 0xd8, 0xd1, 0x52, 0xd8, 0xb2, 0xe0, 0x0b, 0xf5, 0x43, 0x8d, 0xb0, + 0xd8, 0xa8, 0xed, 0x5c, 0x6a, 0xfe, 0xf3, 0x35, 0xc9, 0x86, 0xd6, 0x2e, 0x7b, 0x0b, 0x41, 0x4d, 0xe1, 0x02, 0xb5, + 0xe5, 0x45, 0x32, 0xb5, 0x83, 0x98, 0xfd, 0xc8, 0x44, 0x72, 0x62, 0x79, 0x65, 0x6f, 0x2a, 0x5b, 0xd7, 0xa6, 0xdd, + 0x37, 0x25, 0x18, 0x7e, 0xd4, 0x52, 0x7a, 0x36, 0xec, 0xfc, 0x5a, 0x59, 0x7a, 0x0c, 0x6b, 0x67, 0x4a, 0x20, 0x70, + 0xf9, 0x17, 0xa7, 0xed, 0x02, 0x93, 0x5b, 0x3d, 0xa6, 0xf4, 0x52, 0x8f, 0xf9, 0xee, 0x75, 0x48, 0x95, 0x2c, 0x04, + 0xc9, 0x61, 0xa0, 0xbf, 0x16, 0x13, 0xa5, 0x40, 0x0b, 0x89, 0x50, 0x6e, 0x23, 0x09, 0x70, 0xff, 0x5e, 0x95, 0x31, + 0xc0, 0xb6, 0x0e, 0x3f, 0x4b, 0xb3, 0xab, 0xe7, 0x62, 0x40, 0xd8, 0x18, 0x3d, 0x4c, 0x9d, 0x11, 0xc2, 0x49, 0x53, + 0x7b, 0xe7, 0x2a, 0x12, 0xc9, 0x51, 0x8a, 0x58, 0x6c, 0x9c, 0x95, 0x2e, 0x35, 0xc2, 0x5a, 0x18, 0xcb, 0xb1, 0x02, + 0x92, 0x33, 0xb7, 0x59, 0x79, 0x7c, 0xdb, 0x1c, 0x24, 0xc0, 0x3d, 0xe2, 0xe2, 0x1f, 0x9c, 0x04, 0xc8, 0x35, 0x41, + 0x82, 0x84, 0xf6, 0xd9, 0x80, 0x4c, 0x18, 0x90, 0x91, 0x31, 0x89, 0x6e, 0x04, 0x92, 0x7b, 0x4d, 0xa7, 0xfa, 0x18, + 0x60, 0x2a, 0x27, 0xab, 0x09, 0x44, 0x42, 0x1c, 0x6f, 0x6a, 0xc3, 0x4e, 0x60, 0x2c, 0x03, 0xec, 0xb8, 0x74, 0x54, + 0x72, 0x2e, 0x0e, 0x30, 0xac, 0x9a, 0xf9, 0x85, 0x4d, 0x97, 0xc0, 0x10, 0x47, 0xb4, 0x0b, 0x28, 0xc8, 0xa9, 0xeb, + 0x73, 0x0b, 0x46, 0x0e, 0x12, 0xd7, 0xe8, 0x4e, 0x8b, 0x64, 0x14, 0x91, 0x97, 0xc4, 0xb8, 0xf8, 0x75, 0x4c, 0x93, + 0xb8, 0x58, 0x4f, 0x73, 0x9f, 0x8a, 0xde, 0xb9, 0x0d, 0xfe, 0x71, 0xa3, 0x27, 0x5d, 0x27, 0x2c, 0x01, 0x58, 0x8f, + 0x94, 0x64, 0xc0, 0xa5, 0x9a, 0x9e, 0xfc, 0x3a, 0x48, 0x09, 0xbc, 0x72, 0xd0, 0x39, 0xc4, 0xf1, 0x85, 0x12, 0xd1, + 0xe0, 0xdf, 0xe4, 0xc8, 0x23, 0xf0, 0xeb, 0x67, 0xcc, 0x30, 0xcd, 0x12, 0xd8, 0x63, 0xe5, 0x99, 0x88, 0xf9, 0xab, + 0x46, 0xd2, 0x48, 0x58, 0xf1, 0xb4, 0xd5, 0xd2, 0x54, 0xf8, 0xd8, 0x08, 0x05, 0xc2, 0x1e, 0x80, 0xa6, 0x00, 0xde, + 0x1b, 0x12, 0xf3, 0xe5, 0xa9, 0xa6, 0x24, 0xe5, 0x29, 0x3a, 0x9b, 0xb3, 0x60, 0xfa, 0x2c, 0x2c, 0xa0, 0x9b, 0x63, + 0xca, 0xc3, 0x4d, 0x2c, 0xf3, 0x32, 0xcc, 0x94, 0xcc, 0xa8, 0x25, 0x98, 0x08, 0x93, 0xe1, 0x75, 0x72, 0x01, 0xcb, + 0x7b, 0x9b, 0x66, 0xc6, 0x2d, 0xa3, 0x57, 0xae, 0x4f, 0xa0, 0x79, 0xdc, 0x93, 0x65, 0x91, 0xa6, 0x0c, 0x57, 0x38, + 0x00, 0xe9, 0xaf, 0x98, 0xc7, 0xc2, 0x29, 0x35, 0x2b, 0xb9, 0x71, 0xc3, 0xc5, 0x42, 0x6a, 0x5c, 0xdd, 0x95, 0x77, + 0x22, 0x04, 0x48, 0x65, 0x4b, 0x27, 0x83, 0x67, 0x40, 0xf1, 0x9e, 0x00, 0x02, 0x11, 0x8d, 0xc2, 0x67, 0x7e, 0x92, + 0xa3, 0x55, 0x4e, 0x10, 0x0b, 0x73, 0x55, 0x3b, 0x2f, 0xde, 0x2a, 0x44, 0x94, 0x0b, 0x8e, 0x36, 0x00, 0x5b, 0xb4, + 0x2f, 0x72, 0x9f, 0x41, 0xc0, 0xb7, 0x8f, 0x33, 0xc3, 0x5c, 0x9a, 0x76, 0x48, 0x95, 0xcf, 0xc6, 0xe1, 0xe7, 0xb2, + 0xc0, 0x33, 0x4e, 0x99, 0xd8, 0xfd, 0x67, 0xab, 0xba, 0x21, 0xea, 0xfc, 0x35, 0x75, 0xc0, 0xa9, 0xb6, 0xd9, 0xd9, + 0x8d, 0x41, 0x97, 0xc5, 0xc9, 0x01, 0x93, 0xb2, 0xb3, 0x75, 0xb0, 0xa2, 0x1c, 0xff, 0x72, 0xf2, 0x03, 0x19, 0x0b, + 0x34, 0x5e, 0x15, 0x44, 0x45, 0x46, 0xa6, 0x03, 0x41, 0xbc, 0x34, 0x7c, 0x2e, 0x06, 0x68, 0x91, 0x79, 0x55, 0x52, + 0xa0, 0xd0, 0xac, 0x46, 0x94, 0x37, 0xd0, 0x20, 0x9b, 0xbb, 0x9a, 0x6a, 0x14, 0x1c, 0x21, 0x8f, 0x5a, 0x6c, 0x4c, + 0x8f, 0xc5, 0x52, 0x4c, 0xcb, 0xb4, 0x39, 0x45, 0x12, 0x81, 0xc5, 0x01, 0x71, 0xfd, 0x59, 0xa9, 0xb1, 0x41, 0x94, + 0x79, 0xde, 0x8c, 0x30, 0xe8, 0x6e, 0xe8, 0x49, 0x36, 0x31, 0xd6, 0x4a, 0x10, 0x39, 0x75, 0xd0, 0xd8, 0x8f, 0x5d, + 0x9f, 0xc8, 0xdb, 0x5d, 0x53, 0x4c, 0x75, 0xb9, 0x3f, 0x51, 0x4c, 0x0c, 0x2d, 0xed, 0xfa, 0x79, 0x06, 0x51, 0x3f, + 0x3d, 0x78, 0x9a, 0x72, 0xb6, 0xf6, 0x18, 0x1e, 0xaa, 0xce, 0x25, 0x79, 0xbf, 0xd4, 0x0d, 0x01, 0xf9, 0xb5, 0xc0, + 0xea, 0x91, 0x93, 0x88, 0x22, 0x10, 0xf6, 0xb3, 0xfe, 0x96, 0x30, 0xfa, 0x9b, 0x81, 0x25, 0xbb, 0x1e, 0x6c, 0x4b, + 0x5d, 0x62, 0x2c, 0x6b, 0x65, 0xcd, 0x29, 0x30, 0x5c, 0xba, 0x54, 0x4e, 0x1e, 0x48, 0x3c, 0x54, 0x0e, 0x16, 0xd3, + 0xe7, 0xe9, 0xc2, 0x01, 0x23, 0x85, 0xec, 0xfd, 0x34, 0xc8, 0x8b, 0xd3, 0x8b, 0x24, 0xb5, 0x18, 0x31, 0x76, 0xa9, + 0xb6, 0xb1, 0xf4, 0x08, 0xab, 0xb6, 0x36, 0xf0, 0xfc, 0xc4, 0x76, 0xbb, 0xdd, 0xb0, 0x53, 0x41, 0x56, 0x52, 0x27, + 0x72, 0x33, 0x8b, 0xce, 0x8f, 0x26, 0x91, 0xca, 0x13, 0x46, 0x01, 0x79, 0x39, 0x63, 0x5b, 0x20, 0x8b, 0x6e, 0x8a, + 0x5e, 0x18, 0xe3, 0xd6, 0xb3, 0x5c, 0x7d, 0xeb, 0x37, 0x38, 0x14, 0x92, 0x32, 0x35, 0xcd, 0x94, 0x7b, 0x9d, 0xcd, + 0x77, 0x55, 0x44, 0x8b, 0x72, 0xd6, 0x5c, 0x9b, 0x5f, 0x24, 0xab, 0xbd, 0x14, 0xd9, 0xd2, 0xe9, 0x30, 0x7b, 0x97, + 0x8a, 0xd4, 0x92, 0x04, 0xaa, 0x1d, 0xc7, 0x66, 0x1c, 0xe7, 0x18, 0xf4, 0x56, 0x30, 0xb3, 0x86, 0x97, 0x80, 0xec, + 0x22, 0x85, 0x45, 0x56, 0x5a, 0xbc, 0xd1, 0x2d, 0x25, 0xef, 0x07, 0x89, 0xca, 0xd2, 0xc3, 0x30, 0x93, 0xbe, 0x14, + 0xf6, 0x80, 0x14, 0x8f, 0x50, 0x45, 0x98, 0xbb, 0xdf, 0x45, 0x50, 0xa0, 0x3a, 0xc3, 0x13, 0x98, 0xf6, 0x7c, 0x94, + 0x8e, 0x0b, 0x98, 0x9f, 0xcd, 0x44, 0xbb, 0x7a, 0xb5, 0x06, 0x2c, 0xbc, 0xfa, 0x90, 0xe2, 0x3a, 0xa5, 0xb7, 0xf2, + 0x55, 0xf8, 0x1c, 0x2b, 0xcf, 0x02, 0x1d, 0x2b, 0x15, 0x86, 0xd9, 0x5c, 0x18, 0x23, 0x49, 0x9a, 0x0f, 0xe7, 0xde, + 0xa0, 0x9b, 0x21, 0x28, 0x11, 0x53, 0xdc, 0x10, 0x62, 0x31, 0xcc, 0x58, 0x03, 0xca, 0xdd, 0xa2, 0x99, 0x93, 0xac, + 0xb9, 0x93, 0x49, 0xce, 0x7c, 0xf7, 0x95, 0x5e, 0xa5, 0x94, 0x10, 0x4d, 0xc7, 0x57, 0x39, 0x59, 0x3e, 0x46, 0xc3, + 0x2c, 0xae, 0x1c, 0x13, 0xb4, 0x4e, 0xe2, 0x84, 0xa2, 0x70, 0x48, 0x50, 0x5b, 0x61, 0xba, 0x53, 0x23, 0x9c, 0x0a, + 0x7a, 0x3f, 0xe9, 0xe6, 0x0e, 0xba, 0x13, 0xdb, 0x50, 0xd1, 0x9a, 0x86, 0x0a, 0x62, 0xdb, 0xbf, 0xf7, 0x33, 0x3a, + 0x74, 0xfc, 0x56, 0x34, 0xa6, 0x42, 0xa0, 0x66, 0x0e, 0x97, 0xe7, 0xbe, 0x98, 0x14, 0xe2, 0x4a, 0x5a, 0x9e, 0x08, + 0x92, 0xb4, 0x8f, 0x8d, 0x79, 0xb1, 0xb7, 0x83, 0xc2, 0x34, 0xac, 0xcb, 0x06, 0x44, 0xad, 0x17, 0x2a, 0xf3, 0xeb, + 0xb6, 0x8c, 0x3b, 0x4d, 0x18, 0xaf, 0x9b, 0x81, 0x98, 0xd7, 0xa0, 0x8d, 0x18, 0x8c, 0x55, 0x3b, 0x0e, 0x40, 0x39, + 0x3a, 0x2d, 0x1b, 0xeb, 0x4b, 0xab, 0x46, 0x6f, 0x68, 0x0c, 0x6c, 0xd7, 0x62, 0x91, 0x04, 0xa4, 0x30, 0x66, 0xdd, + 0x8d, 0x49, 0xa7, 0x0a, 0xea, 0x81, 0xec, 0x59, 0x9f, 0x75, 0x3c, 0x4b, 0x4c, 0xf8, 0x25, 0x03, 0x47, 0xf3, 0xe9, + 0xa4, 0x97, 0xae, 0x89, 0x8e, 0x68, 0x6d, 0x21, 0xfe, 0xd4, 0xe0, 0xd6, 0xe2, 0xa5, 0x0e, 0x7c, 0x05, 0xa0, 0x16, + 0x99, 0x0a, 0x21, 0x51, 0x25, 0x15, 0x57, 0x65, 0x3c, 0xd8, 0x94, 0xeb, 0x2a, 0xac, 0x7c, 0x72, 0xef, 0x7a, 0x07, + 0x7f, 0xb6, 0x07, 0x4b, 0xeb, 0x0e, 0xf3, 0xc1, 0xc9, 0x5f, 0x45, 0x48, 0x11, 0xf6, 0xcc, 0xd0, 0xc1, 0xc6, 0x3c, + 0x73, 0xe4, 0xe3, 0xb5, 0x1d, 0xf1, 0xad, 0x0b, 0x6f, 0x98, 0xe4, 0xee, 0x3d, 0x72, 0x19, 0xda, 0x52, 0x40, 0xd4, + 0x6d, 0x6e, 0xfb, 0x83, 0x74, 0xfc, 0x49, 0x4a, 0xf1, 0xef, 0x5d, 0x05, 0x51, 0xbb, 0x68, 0x21, 0x79, 0xa7, 0xe7, + 0xc0, 0x1a, 0x8c, 0x26, 0x8d, 0x11, 0x4c, 0xef, 0x01, 0x97, 0x8a, 0xe2, 0xfc, 0xd1, 0x49, 0x98, 0x70, 0xe2, 0x19, + 0xe0, 0x2f, 0x8d, 0x49, 0xd8, 0x16, 0x01, 0x77, 0xbb, 0x18, 0xff, 0xa2, 0xdd, 0x84, 0x41, 0xde, 0x5d, 0xdf, 0x91, + 0x7e, 0xc4, 0x3d, 0x6c, 0x2e, 0xfb, 0x5b, 0x5e, 0x8a, 0x56, 0xa2, 0x8a, 0x10, 0xa6, 0x46, 0x42, 0x43, 0x9d, 0x23, + 0x81, 0x38, 0xa6, 0x89, 0x35, 0xcc, 0xf6, 0x93, 0xf5, 0x61, 0x97, 0x0a, 0xa1, 0x50, 0x04, 0xa2, 0x33, 0x84, 0x1b, + 0x75, 0x9e, 0x30, 0xc0, 0x3b, 0x04, 0xa0, 0x25, 0xe8, 0xc7, 0x10, 0x9f, 0x5b, 0x27, 0x84, 0xe6, 0x62, 0x9e, 0x3e, + 0x66, 0x0a, 0x4a, 0x52, 0x7d, 0x2d, 0x6f, 0xb3, 0xe6, 0x05, 0x67, 0x2a, 0x2e, 0xa0, 0x68, 0x2b, 0x9e, 0xfa, 0xef, + 0x98, 0x8a, 0x3e, 0x8a, 0x4e, 0x6d, 0xcc, 0x69, 0x9e, 0x30, 0xe7, 0x88, 0x7e, 0xa0, 0xee, 0xc6, 0xf5, 0x6e, 0xc3, + 0x9d, 0xca, 0x12, 0xca, 0x32, 0xf4, 0xba, 0x65, 0xba, 0x94, 0xe4, 0x70, 0x8e, 0xf3, 0xfc, 0x57, 0x0c, 0x71, 0xff, + 0x35, 0xc7, 0xa7, 0xf7, 0x59, 0xda, 0x65, 0x7e, 0xf4, 0xe0, 0xa5, 0x05, 0x66, 0x76, 0xc6, 0x6e, 0x1e, 0xf6, 0x58, + 0x47, 0x02, 0x3b, 0xe2, 0x18, 0xea, 0x1a, 0x67, 0xbc, 0xde, 0x8a, 0x78, 0xa0, 0xb6, 0x1e, 0x6c, 0xbc, 0xa7, 0x34, + 0x4c, 0xb7, 0xa4, 0x8b, 0xac, 0x6b, 0xa2, 0xb2, 0xdf, 0x1f, 0x22, 0xbb, 0xa7, 0xc7, 0x93, 0x3a, 0x69, 0x53, 0x54, + 0x2c, 0x81, 0xce, 0x8d, 0x43, 0xff, 0xe4, 0x2c, 0xcc, 0x63, 0xe8, 0x98, 0xc9, 0x38, 0x5b, 0x67, 0x8c, 0xe7, 0xf6, + 0x33, 0x89, 0xb4, 0x93, 0x81, 0xdf, 0x29, 0x92, 0x9f, 0x7f, 0x58, 0x80, 0x46, 0x14, 0x82, 0xda, 0xed, 0x07, 0x0a, + 0xc5, 0xb1, 0xef, 0x7f, 0x84, 0xb5, 0x7d, 0x8f, 0xd8, 0x85, 0x5d, 0x2c, 0x01, 0xc4, 0x6e, 0x6c, 0xec, 0xff, 0x75, + 0x77, 0xab, 0x91, 0x0d, 0xab, 0x0f, 0x24, 0xd4, 0x57, 0x7b, 0xe6, 0xd9, 0x35, 0xcf, 0x8d, 0x08, 0xce, 0x44, 0x47, + 0xa0, 0x5e, 0xb5, 0xb9, 0xfe, 0x9b, 0xa4, 0xbb, 0x88, 0x22, 0x08, 0x56, 0xd6, 0x20, 0x6b, 0x36, 0xb2, 0xa0, 0x54, + 0xdc, 0x91, 0x1b, 0x7b, 0xbc, 0xc7, 0xf7, 0x76, 0x12, 0x4d, 0x19, 0x25, 0xd7, 0xaa, 0x29, 0x27, 0x0e, 0x63, 0x77, + 0x6f, 0x3c, 0x6b, 0x35, 0x5e, 0x28, 0xfe, 0xa6, 0x06, 0x61, 0xc5, 0x8d, 0xe3, 0x66, 0x83, 0x70, 0xff, 0x6c, 0x51, + 0xa7, 0x6b, 0x91, 0xf1, 0xbc, 0x5a, 0xaf, 0x7d, 0xb6, 0x1b, 0xa9, 0x26, 0xb5, 0x27, 0x34, 0x37, 0x62, 0x9b, 0x77, + 0xdc, 0x6d, 0xc0, 0xe7, 0xc0, 0xc5, 0xd4, 0x91, 0x78, 0xef, 0x51, 0x2f, 0x59, 0xb3, 0xd7, 0x5b, 0x13, 0x1e, 0x1c, + 0x7a, 0x65, 0xb7, 0x7a, 0x22, 0x3e, 0x9f, 0x56, 0xff, 0x74, 0x7f, 0x27, 0x3f, 0xbb, 0x97, 0xb7, 0x6a, 0xca, 0x51, + 0xfa, 0xd4, 0xc4, 0x26, 0x7b, 0x3d, 0x6b, 0x1c, 0xde, 0x6a, 0xdc, 0xee, 0xa4, 0x1b, 0x4d, 0xfb, 0x2f, 0x97, 0x32, + 0x5b, 0xd0, 0x2c, 0x0f, 0x7e, 0x0e, 0x16, 0xdf, 0xb3, 0xd0, 0x7b, 0x15, 0x31, 0xa7, 0x6c, 0x70, 0x48, 0x55, 0x33, + 0xfd, 0x30, 0xde, 0x89, 0x26, 0x6e, 0x3d, 0xda, 0x25, 0xee, 0xa2, 0x46, 0x9c, 0xe4, 0x01, 0xd6, 0x5c, 0xef, 0x0a, + 0xa6, 0xd4, 0x2e, 0xff, 0x04, 0xd2, 0xe2, 0xa5, 0x09, 0x9b, 0xb4, 0xa9, 0xb5, 0x4d, 0x1b, 0xae, 0x02, 0xcb, 0x3f, + 0x16, 0xdb, 0x7c, 0x57, 0xf5, 0x9b, 0x6e, 0xae, 0xf2, 0xf5, 0xcf, 0xe0, 0xc7, 0x6a, 0xaf, 0xe5, 0xa7, 0xff, 0xe1, + 0xfb, 0xff, 0x6a, 0xdc, 0x09, 0x66, 0xbb, 0x39, 0x0b, 0xbe, 0x6a, 0x70, 0x91, 0x65, 0xc3, 0xe7, 0x49, 0xf9, 0xff, + 0xea, 0x7a, 0xf7, 0x8f, 0xab, 0x7f, 0xbf, 0x68, 0x06, 0xf3, 0x11, 0x57, 0x9e, 0x49, 0x5d, 0x9c, 0xfd, 0x37, 0xc4, + 0xd5, 0xd3, 0x7b, 0x1f, 0xb1, 0xc6, 0x15, 0xfb, 0xcd, 0x6e, 0xb2, 0x6c, 0x16, 0x55, 0x96, 0xf0, 0xd4, 0xab, 0x9a, + 0x5d, 0x41, 0x90, 0xcf, 0x7b, 0x9d, 0xcd, 0x47, 0x87, 0x8f, 0x35, 0xa6, 0x7d, 0xa6, 0xdc, 0xfb, 0xfc, 0xc2, 0xf3, + 0x8b, 0x59, 0x39, 0x9e, 0xf7, 0xbc, 0xf4, 0x6a, 0xae, 0xec, 0xc7, 0x9a, 0xe4, 0x4c, 0x67, 0x70, 0xfe, 0x59, 0x39, + 0xbf, 0xf8, 0x7c, 0x7f, 0x76, 0x5f, 0xbe, 0xcc, 0x50, 0xc3, 0x31, 0xcf, 0xac, 0xf9, 0x88, 0x77, 0xa2, 0x56, 0x67, + 0xf1, 0xad, 0xd9, 0xcd, 0xf1, 0x64, 0xc5, 0x11, 0xae, 0xd0, 0x63, 0x3b, 0xac, 0xfc, 0x5d, 0x4f, 0x0d, 0x71, 0xc1, + 0xd0, 0x04, 0x12, 0x0f, 0xfd, 0xdf, 0xc1, 0xd0, 0x0f, 0xbd, 0x97, 0x9f, 0x4d, 0x1a, 0x0e, 0x80, 0xb0, 0xab, 0x96, + 0xc2, 0x6b, 0xa5, 0x3a, 0x62, 0x1b, 0x75, 0x54, 0xf8, 0x40, 0x45, 0x3b, 0x47, 0xdf, 0x5b, 0xde, 0xeb, 0x77, 0xa1, + 0xf4, 0xe0, 0xfa, 0xe1, 0xf1, 0x6b, 0xb1, 0x2e, 0x03, 0xc8, 0x16, 0xc1, 0xe9, 0x86, 0x77, 0xdb, 0xdb, 0x86, 0xe1, + 0x14, 0xaa, 0x3a, 0x51, 0x59, 0x53, 0xeb, 0xcc, 0xbe, 0x8f, 0x16, 0xdd, 0x00, 0x3c, 0x1f, 0xef, 0x13, 0x42, 0xf6, + 0x2e, 0xd2, 0x73, 0xd2, 0x09, 0x23, 0x10, 0xd8, 0x22, 0x0a, 0x6c, 0x1a, 0xe4, 0x7d, 0x7c, 0x87, 0x6e, 0x48, 0xcb, + 0xcf, 0x68, 0xae, 0x3e, 0x77, 0x31, 0xa5, 0xec, 0xe1, 0x6a, 0x6e, 0xb5, 0x4f, 0x01, 0x24, 0xb1, 0x4d, 0x08, 0x58, + 0xfe, 0x93, 0xc7, 0x4d, 0xc3, 0xd6, 0x9b, 0x74, 0xe9, 0x85, 0xd4, 0x9d, 0x9a, 0x34, 0x65, 0x84, 0x91, 0xe9, 0x85, + 0xe7, 0x15, 0x9d, 0x70, 0x97, 0x63, 0xa2, 0x57, 0x8c, 0x8c, 0x59, 0x71, 0xa7, 0xde, 0xb6, 0xbc, 0xfe, 0x5c, 0x07, + 0x41, 0x48, 0x37, 0x36, 0xa4, 0xcb, 0xcc, 0xdd, 0x2b, 0xb8, 0x99, 0x11, 0xb0, 0x79, 0x09, 0x75, 0xc6, 0xef, 0x99, + 0x24, 0xd1, 0x9d, 0x35, 0x4d, 0x9c, 0xf1, 0xb7, 0xd5, 0x6c, 0xa1, 0x8a, 0xc4, 0x0b, 0x73, 0x03, 0x12, 0x84, 0xfa, + 0x86, 0x5a, 0x61, 0xd5, 0x37, 0x98, 0xb4, 0x1f, 0x38, 0x39, 0xcf, 0x34, 0x83, 0x4e, 0xe3, 0x7d, 0x1d, 0x33, 0x26, + 0xba, 0x9a, 0xa2, 0x50, 0x18, 0x6d, 0xe7, 0xcf, 0xe2, 0x66, 0x96, 0xf5, 0x60, 0x02, 0xf0, 0x36, 0x0f, 0xa0, 0x9f, + 0xd7, 0x0a, 0x66, 0xf2, 0x06, 0x3f, 0xfc, 0x12, 0x06, 0x64, 0x7c, 0xe8, 0x41, 0xce, 0xe6, 0x27, 0x05, 0xfd, 0xc7, + 0x20, 0x5e, 0x77, 0x96, 0xb3, 0x5b, 0x42, 0x6b, 0x29, 0xd6, 0x8a, 0x71, 0x96, 0x91, 0xeb, 0xd4, 0x6f, 0xea, 0x2a, + 0x99, 0xaf, 0xed, 0xea, 0x72, 0xf1, 0x6d, 0x4f, 0xee, 0x30, 0x38, 0x05, 0xbc, 0xa0, 0xa1, 0x20, 0x66, 0x2a, 0x3f, + 0xaf, 0xce, 0x6e, 0x28, 0xf5, 0x41, 0x32, 0x7d, 0xae, 0xf0, 0xaa, 0x1a, 0xff, 0x85, 0x45, 0x5f, 0x6a, 0x25, 0xf4, + 0x17, 0x60, 0xf8, 0xd0, 0xb6, 0xcd, 0x84, 0x67, 0x67, 0x0b, 0xf7, 0x34, 0xf9, 0x54, 0x73, 0xb7, 0xda, 0x88, 0x39, + 0xcf, 0x01, 0x81, 0xb4, 0x50, 0x6a, 0xfc, 0x89, 0xd3, 0x12, 0x24, 0xb9, 0xf1, 0xb3, 0x85, 0x32, 0x3a, 0xba, 0xe2, + 0x14, 0xa7, 0x8b, 0xd7, 0x82, 0x55, 0xd4, 0xfe, 0xb6, 0xa9, 0xe3, 0x8b, 0xef, 0xd2, 0xb1, 0x6d, 0xb9, 0x7f, 0x37, + 0x7d, 0xdb, 0xa0, 0x38, 0x13, 0x36, 0x06, 0x7f, 0xe9, 0xbe, 0x6d, 0x0e, 0x34, 0x7c, 0x88, 0x3e, 0x77, 0xaf, 0xfe, + 0xb8, 0x26, 0x5d, 0x81, 0x6e, 0x89, 0xa7, 0x67, 0x3a, 0x28, 0x9a, 0x87, 0x92, 0x8b, 0x17, 0x25, 0xb0, 0x56, 0x30, + 0x9a, 0xce, 0x78, 0x11, 0x9c, 0x14, 0xda, 0xe7, 0x0d, 0x93, 0x9f, 0x16, 0x5c, 0xfb, 0x51, 0x49, 0xef, 0x14, 0x6a, + 0x8c, 0xef, 0xaf, 0x9b, 0x6c, 0xbd, 0x6b, 0x5e, 0x4b, 0xaa, 0x28, 0x8c, 0x7e, 0x87, 0x01, 0xf2, 0xd5, 0x97, 0x25, + 0x32, 0xfa, 0xf6, 0x4e, 0xdd, 0x6a, 0xbe, 0x77, 0x39, 0xd3, 0x19, 0x81, 0x3f, 0xdf, 0x8c, 0x59, 0xd3, 0x74, 0x33, + 0x46, 0x36, 0x02, 0x73, 0x17, 0x10, 0xa5, 0x89, 0x34, 0x28, 0x2b, 0xc8, 0x77, 0x57, 0xc3, 0x56, 0xa9, 0xcd, 0xde, + 0x9f, 0xfd, 0xdf, 0x4f, 0x0b, 0xee, 0x91, 0xf4, 0xe2, 0x8f, 0x1e, 0xaf, 0x63, 0x21, 0xcd, 0xbd, 0x50, 0xe3, 0x67, + 0xed, 0x71, 0xca, 0x6d, 0x3c, 0x40, 0xb3, 0x86, 0x0e, 0x0d, 0xdb, 0x87, 0x74, 0x5c, 0x1c, 0x5f, 0x63, 0xe8, 0xfb, + 0x06, 0x52, 0xc2, 0xd4, 0xe4, 0x3d, 0xa5, 0x15, 0x75, 0x60, 0x04, 0x15, 0xe5, 0x85, 0x72, 0x62, 0xd6, 0x56, 0xf4, + 0x6e, 0xc3, 0xc4, 0xd9, 0xa0, 0xfe, 0x66, 0xcb, 0xcb, 0x1e, 0x7b, 0x1f, 0xf0, 0xf5, 0x4c, 0x01, 0xc7, 0x38, 0xa1, + 0x46, 0xb0, 0x1d, 0xa4, 0xc8, 0x22, 0xf0, 0x09, 0x33, 0x6a, 0x08, 0x65, 0xcd, 0xd4, 0x96, 0xf2, 0x24, 0x48, 0xaf, + 0x2b, 0x2b, 0x5d, 0xd8, 0xe5, 0xdb, 0x2a, 0xba, 0x39, 0xbd, 0x83, 0x3d, 0xf9, 0x5e, 0xf3, 0xde, 0x7a, 0xa9, 0xd4, + 0x6a, 0xda, 0x90, 0xb0, 0x90, 0xb5, 0xc0, 0xae, 0x5b, 0xe7, 0x47, 0xd7, 0x31, 0x66, 0xf1, 0x08, 0x3e, 0x23, 0xd8, + 0x0b, 0x72, 0x53, 0xe7, 0xd6, 0xce, 0x60, 0x61, 0x42, 0xbe, 0xcf, 0xcf, 0x12, 0xb0, 0xb4, 0x63, 0xd3, 0x74, 0x70, + 0x3e, 0xa4, 0xef, 0xa1, 0x77, 0x4b, 0x01, 0x59, 0x38, 0x35, 0x7b, 0x57, 0x8b, 0x02, 0x4f, 0x1c, 0x92, 0x1a, 0xd0, + 0xf7, 0xec, 0x75, 0xfc, 0x46, 0x9f, 0x58, 0x24, 0x52, 0xd3, 0xdb, 0xf8, 0x9b, 0x67, 0xdf, 0xe8, 0xab, 0x53, 0xcf, + 0x84, 0xaf, 0x3e, 0x94, 0x5a, 0xcd, 0x86, 0x06, 0xec, 0x30, 0xd3, 0xc6, 0xb9, 0x0e, 0x4a, 0x7d, 0x33, 0x61, 0x27, + 0xe4, 0x65, 0x71, 0xe3, 0x28, 0x0d, 0xc1, 0x40, 0x7a, 0x11, 0x8f, 0xa2, 0xfc, 0xbe, 0xea, 0xc9, 0xcc, 0xfa, 0x08, + 0x4f, 0x2f, 0x1f, 0xfe, 0xf1, 0xb5, 0x2a, 0xbe, 0xbc, 0xb7, 0x1b, 0xf9, 0xc9, 0x4e, 0x41, 0xe2, 0xd0, 0x54, 0xec, + 0x01, 0x4d, 0x0e, 0x1c, 0x02, 0x71, 0x43, 0x79, 0xec, 0xc3, 0xfe, 0x5c, 0xf3, 0x0d, 0x01, 0x35, 0x56, 0x12, 0x54, + 0x4b, 0x67, 0xfe, 0x72, 0x25, 0x17, 0x2e, 0xde, 0x5d, 0x3c, 0xb7, 0x28, 0x7b, 0xff, 0xf3, 0x96, 0xfe, 0xd1, 0x7e, + 0x6f, 0x28, 0xb7, 0x97, 0x33, 0xff, 0xef, 0x35, 0x85, 0x0b, 0x81, 0x07, 0x24, 0xa9, 0x85, 0xe4, 0x4a, 0x87, 0x8f, + 0xdf, 0x1c, 0xea, 0xbc, 0xc7, 0x74, 0x5f, 0x61, 0x56, 0x17, 0x44, 0xc1, 0xc7, 0x07, 0xa8, 0x6c, 0x03, 0xc5, 0x08, + 0xe1, 0x02, 0x46, 0x1f, 0xee, 0xeb, 0x46, 0x2d, 0x02, 0x69, 0x57, 0xae, 0xfe, 0x78, 0x61, 0xe0, 0x95, 0xc3, 0x6f, + 0x2d, 0xb9, 0x2f, 0x25, 0xbe, 0xd0, 0xd8, 0x9e, 0x5c, 0x4b, 0xe3, 0x89, 0x8c, 0x8a, 0x50, 0x55, 0x91, 0x7c, 0xce, + 0xbd, 0x5a, 0x7d, 0x31, 0x8c, 0x7c, 0x26, 0x30, 0xd7, 0x9b, 0x36, 0x76, 0x9c, 0x54, 0x97, 0xfc, 0xa7, 0x1e, 0x60, + 0x30, 0xd8, 0x97, 0x6d, 0xd3, 0xf4, 0x7e, 0xe7, 0xa4, 0xe1, 0x09, 0x92, 0xc0, 0x1a, 0x0c, 0x5c, 0x95, 0x24, 0x48, + 0x6f, 0xcc, 0x8a, 0x2e, 0x4d, 0xc9, 0x7b, 0xea, 0x29, 0xd9, 0x88, 0xe4, 0x21, 0xa0, 0x23, 0xc1, 0x45, 0xff, 0x51, + 0x6b, 0x23, 0x5c, 0x6b, 0xf9, 0x39, 0x9f, 0x6c, 0xe8, 0x74, 0xb3, 0x2b, 0xb2, 0xa3, 0x0f, 0xa3, 0x3c, 0x9c, 0x3b, + 0x19, 0xe6, 0x61, 0x24, 0xb0, 0x92, 0xb9, 0x79, 0xdc, 0x00, 0xf1, 0x4d, 0x96, 0x64, 0xb7, 0xe4, 0x7f, 0xfc, 0x29, + 0xaf, 0x23, 0xa4, 0x64, 0x5b, 0xdf, 0x55, 0x34, 0x3a, 0x85, 0x93, 0x5c, 0xa7, 0x65, 0x79, 0x21, 0x9c, 0x50, 0x20, + 0x6c, 0x69, 0xd4, 0x48, 0x7e, 0xff, 0xfe, 0xc7, 0x10, 0x2c, 0xfa, 0xf8, 0xa6, 0x99, 0x75, 0x5b, 0x81, 0x31, 0x82, + 0x46, 0x9d, 0x99, 0xdd, 0xe8, 0xf4, 0x26, 0x23, 0x11, 0x28, 0x49, 0x63, 0x8a, 0xb4, 0x87, 0xc3, 0xdd, 0xe6, 0xab, + 0x3f, 0xb2, 0x1d, 0x4b, 0xaa, 0xb6, 0x59, 0xa8, 0x2d, 0x40, 0x80, 0x51, 0xbf, 0x37, 0x10, 0x4d, 0x34, 0x05, 0x05, + 0x2b, 0x6f, 0xe8, 0xdc, 0x8e, 0x6e, 0xcd, 0x6e, 0x41, 0xfb, 0x55, 0xfd, 0x19, 0xa1, 0x83, 0xdb, 0x4a, 0x7a, 0x4e, + 0x4a, 0x55, 0xa4, 0x2e, 0x38, 0xa7, 0x20, 0xb1, 0xb5, 0x0d, 0xb4, 0x7d, 0x6a, 0x4c, 0xe4, 0xfd, 0x45, 0xc5, 0x55, + 0x44, 0x00, 0x02, 0x84, 0x97, 0xe5, 0x5d, 0xc2, 0x27, 0xa3, 0x04, 0x00, 0xd3, 0xe3, 0xd2, 0x4b, 0xc6, 0x52, 0xd1, + 0xf0, 0xb0, 0x55, 0x50, 0x6d, 0xbb, 0x40, 0xe5, 0x80, 0x0b, 0xac, 0xac, 0xc3, 0x3c, 0x13, 0x52, 0x35, 0x29, 0x2e, + 0xba, 0x99, 0x5d, 0xa4, 0x3c, 0xdd, 0xa7, 0xa9, 0x24, 0x6c, 0x5a, 0x7f, 0x67, 0x7c, 0x19, 0x87, 0x68, 0x96, 0xbe, + 0x38, 0x6e, 0x3c, 0x5a, 0xde, 0x8e, 0xa6, 0x03, 0xd3, 0xda, 0x79, 0x12, 0x01, 0xca, 0x4e, 0x95, 0x70, 0xf5, 0x3c, + 0x04, 0x45, 0xa8, 0xf1, 0x43, 0xb7, 0x41, 0xc1, 0x6f, 0xe4, 0xe7, 0xa7, 0x86, 0x02, 0x84, 0xf1, 0xd2, 0x01, 0x0f, + 0xdd, 0xe4, 0xc5, 0x96, 0xb2, 0x73, 0xc0, 0xd8, 0x1b, 0xd1, 0x0b, 0x48, 0x6b, 0x62, 0xea, 0x4e, 0x72, 0x14, 0x5d, + 0x9c, 0x53, 0x5e, 0xc5, 0x2d, 0xd3, 0x65, 0xe9, 0x63, 0xea, 0x9d, 0x08, 0x9f, 0x13, 0x2b, 0x84, 0xff, 0x1d, 0x91, + 0xc3, 0xac, 0x94, 0x69, 0x81, 0x11, 0x6b, 0x89, 0x17, 0x38, 0xdf, 0x09, 0xd1, 0x4c, 0xd5, 0x4c, 0x57, 0x84, 0x79, + 0xaa, 0xaf, 0xf5, 0x9e, 0x3c, 0xc9, 0x1e, 0xa8, 0xf2, 0x61, 0xaf, 0xbb, 0x24, 0x98, 0xd7, 0xb2, 0xa9, 0xb7, 0x61, + 0xa2, 0xb0, 0x0f, 0x16, 0xf2, 0xb8, 0x6a, 0x08, 0x38, 0x3d, 0xf5, 0xab, 0x6f, 0xf5, 0x61, 0xdd, 0xb4, 0x2b, 0x04, + 0x9f, 0x93, 0x44, 0x84, 0x9f, 0xdb, 0x25, 0xce, 0xca, 0xab, 0xeb, 0xec, 0xb3, 0x58, 0xad, 0x41, 0xe6, 0xe5, 0x29, + 0xd1, 0xb6, 0xff, 0xd9, 0x41, 0x79, 0xde, 0x4d, 0x12, 0x3c, 0x4c, 0x47, 0x14, 0x33, 0x71, 0x8e, 0xa4, 0x21, 0x13, + 0xcf, 0xf9, 0xe2, 0x8b, 0x1a, 0xbd, 0x9f, 0x13, 0x4a, 0xc7, 0xa4, 0xf9, 0x8d, 0x0a, 0xa1, 0x0b, 0x09, 0x1d, 0x3f, + 0x74, 0xf9, 0xba, 0xb0, 0x76, 0xf3, 0x89, 0x88, 0xf5, 0x1f, 0xdc, 0x88, 0xa2, 0xd2, 0x79, 0x2c, 0x96, 0x40, 0x32, + 0xc6, 0x4f, 0xf4, 0x1b, 0x33, 0x4f, 0xba, 0x7a, 0xf8, 0x0c, 0x1b, 0x0d, 0xc7, 0x41, 0x9c, 0x03, 0x9e, 0xbf, 0x0c, + 0x7b, 0x5b, 0x1f, 0x15, 0xbf, 0x7f, 0x7d, 0x40, 0x54, 0x6b, 0xb8, 0xa2, 0xf4, 0x67, 0x1c, 0xe2, 0x12, 0xc9, 0x40, + 0x8b, 0x19, 0x7e, 0x21, 0xd2, 0xea, 0x7f, 0x45, 0xce, 0x3d, 0x0e, 0xec, 0x84, 0xfc, 0x17, 0xb7, 0xbd, 0x07, 0x5d, + 0x15, 0x42, 0xde, 0x8e, 0xa8, 0x91, 0x22, 0x0e, 0xef, 0xee, 0xcd, 0xd7, 0xd6, 0x22, 0xe7, 0xc0, 0xac, 0xdd, 0x4d, + 0x99, 0x85, 0xbb, 0x48, 0x6d, 0x31, 0x6d, 0x9a, 0x6d, 0x82, 0x97, 0x61, 0x27, 0x9d, 0x2c, 0x3e, 0xb5, 0x81, 0x50, + 0x55, 0x04, 0x48, 0x25, 0x0b, 0xfd, 0x0b, 0x94, 0xae, 0x5a, 0x2c, 0x43, 0x4b, 0x25, 0xe7, 0xba, 0x12, 0x4b, 0x3f, + 0xa1, 0xc0, 0x20, 0xfd, 0xe2, 0x56, 0x69, 0x3a, 0x2b, 0xa4, 0x88, 0x44, 0x8f, 0xd7, 0x96, 0xdd, 0x5d, 0xa8, 0x3c, + 0x92, 0xee, 0x33, 0x39, 0xc0, 0xf5, 0x4e, 0xaa, 0x8e, 0x95, 0x04, 0xed, 0x40, 0xf7, 0x00, 0xa5, 0x7e, 0x6a, 0x3d, + 0x44, 0x5a, 0x21, 0xf0, 0x12, 0x6e, 0xcc, 0x90, 0x68, 0x1f, 0xa8, 0x87, 0xc4, 0x04, 0xa0, 0x29, 0x38, 0xc1, 0x96, + 0x42, 0xdb, 0xb9, 0x91, 0x5c, 0xa1, 0x80, 0x95, 0xb1, 0x46, 0x35, 0x66, 0x1e, 0x5a, 0x61, 0x22, 0x8e, 0xb3, 0xcd, + 0xc8, 0x43, 0x1c, 0xa9, 0x43, 0xb4, 0xfd, 0x42, 0xe2, 0xa0, 0xc5, 0x99, 0x33, 0x8d, 0x5c, 0x21, 0x1c, 0x9f, 0x82, + 0x34, 0x8c, 0x60, 0xc3, 0xf5, 0x51, 0x6d, 0xac, 0x32, 0x21, 0x72, 0xab, 0x6e, 0x24, 0xed, 0xd7, 0xf1, 0x3b, 0x97, + 0x58, 0xc9, 0xb2, 0xe2, 0x9b, 0xa6, 0xd4, 0x33, 0xe5, 0xd5, 0x67, 0x56, 0x26, 0xbd, 0xdc, 0x47, 0x79, 0xc4, 0x5b, + 0xb0, 0xb8, 0x29, 0xf9, 0x21, 0xa6, 0xa0, 0x06, 0xf0, 0x68, 0x5c, 0x3b, 0x5c, 0x41, 0xb1, 0x18, 0x18, 0x69, 0x3a, + 0xad, 0x1c, 0xf3, 0xa5, 0x9a, 0x0d, 0x0c, 0xf3, 0x18, 0x4f, 0x2c, 0x74, 0x62, 0x7f, 0xcd, 0xf3, 0xb9, 0x45, 0x23, + 0x4f, 0xd3, 0x06, 0x59, 0x7e, 0x9b, 0xd6, 0x6b, 0x95, 0xe3, 0xf1, 0xb6, 0x02, 0x88, 0xdf, 0x41, 0x59, 0x50, 0x0c, + 0x15, 0x4d, 0x8a, 0x19, 0x0c, 0x97, 0xc6, 0x0b, 0x32, 0x01, 0xba, 0x0c, 0x33, 0x6b, 0x8b, 0xaa, 0xbc, 0x3d, 0x16, + 0xc3, 0x7d, 0x50, 0xaa, 0x48, 0x7e, 0xa5, 0x9a, 0x2d, 0x8f, 0x2a, 0xfc, 0xc7, 0x50, 0x1d, 0x43, 0xa4, 0x9d, 0xfc, + 0xab, 0xa3, 0x46, 0xc7, 0x7d, 0x71, 0xc8, 0x8e, 0x3d, 0x3f, 0x63, 0x20, 0x42, 0x4e, 0xba, 0x15, 0x6e, 0xf1, 0x49, + 0x7a, 0xd4, 0x08, 0xf4, 0x15, 0x04, 0x57, 0x6b, 0xde, 0x9d, 0x51, 0x61, 0xab, 0x51, 0x8e, 0x82, 0x32, 0x0c, 0x51, + 0x0d, 0x4f, 0xd1, 0x38, 0xf0, 0xb2, 0xc0, 0x01, 0x13, 0x01, 0x28, 0xe1, 0xb9, 0x24, 0xba, 0xe8, 0x7f, 0x4b, 0x73, + 0xf4, 0x86, 0x15, 0xec, 0xc8, 0x7c, 0xe9, 0x40, 0x8a, 0x80, 0x90, 0x4a, 0xb9, 0xaa, 0x7f, 0x30, 0x10, 0x8e, 0x87, + 0x91, 0xc1, 0xe4, 0x67, 0xc8, 0x87, 0xf2, 0x66, 0x86, 0x97, 0x47, 0x6e, 0x20, 0x4d, 0x4c, 0xa9, 0xc7, 0xb4, 0x46, + 0x6a, 0xb7, 0xdb, 0xc1, 0x55, 0x2a, 0xdd, 0xa0, 0xc6, 0x17, 0x45, 0x30, 0xfa, 0x97, 0x1b, 0x08, 0x3f, 0xfc, 0x2f, + 0x6e, 0x4b, 0xb0, 0x29, 0x7a, 0x8b, 0x03, 0x90, 0xf6, 0x6d, 0xa9, 0xba, 0x1e, 0x20, 0xc6, 0x96, 0x05, 0xfc, 0xe7, + 0xe0, 0x14, 0x11, 0x4b, 0x67, 0x2c, 0x66, 0xab, 0x53, 0x18, 0x72, 0xff, 0x8b, 0xa1, 0x23, 0x08, 0xfb, 0xd7, 0x19, + 0x76, 0x0c, 0x33, 0x40, 0x26, 0x7b, 0x90, 0x8a, 0x38, 0x52, 0x4c, 0x63, 0x1e, 0xad, 0x05, 0x8e, 0x14, 0x69, 0xf1, + 0x3e, 0x2a, 0x15, 0xdd, 0x97, 0x3c, 0x70, 0x40, 0x55, 0x0e, 0xe1, 0xb7, 0x16, 0x7d, 0x2b, 0x21, 0xf3, 0xba, 0xc9, + 0x02, 0x50, 0x17, 0x63, 0x31, 0xd6, 0x13, 0x92, 0x91, 0x9f, 0xb4, 0xa3, 0xc7, 0x68, 0x68, 0xf2, 0xf1, 0xa9, 0xee, + 0xb8, 0xe9, 0x9e, 0xbf, 0x51, 0x43, 0xb1, 0x7f, 0x2f, 0x13, 0x7d, 0x23, 0x8b, 0x64, 0xef, 0xec, 0xb3, 0xd9, 0x19, + 0xe6, 0xa6, 0xa7, 0xc6, 0x48, 0x37, 0xab, 0x3b, 0x9b, 0x2d, 0x53, 0x3b, 0x72, 0x07, 0x34, 0x67, 0x7c, 0x9d, 0xde, + 0x40, 0x1c, 0xef, 0x85, 0xc4, 0xcd, 0x74, 0xc4, 0x94, 0x7e, 0xdc, 0x88, 0x80, 0x1a, 0x45, 0x07, 0x1b, 0x99, 0xf6, + 0x6f, 0x81, 0x9c, 0x4d, 0xd0, 0x41, 0x15, 0x54, 0x5b, 0xcc, 0x4c, 0x0b, 0x39, 0x34, 0xd2, 0x82, 0x82, 0x95, 0xc6, + 0x60, 0xb0, 0x52, 0x95, 0x64, 0x2f, 0x4a, 0x2c, 0x3d, 0xcb, 0x59, 0xe8, 0x50, 0x36, 0x1d, 0x3c, 0x5f, 0x0a, 0x97, + 0x44, 0xbc, 0xac, 0x85, 0x61, 0xda, 0x6c, 0xa5, 0xa5, 0x65, 0x45, 0x25, 0xec, 0xe4, 0xfa, 0xbc, 0x94, 0x85, 0x79, + 0xa2, 0xb6, 0xf1, 0x8c, 0xdc, 0xcc, 0x50, 0xbe, 0x52, 0xfd, 0x30, 0xbd, 0x5f, 0xf8, 0x77, 0x90, 0x40, 0x9f, 0x22, + 0x60, 0x05, 0x5d, 0x12, 0x6c, 0xa4, 0xf4, 0xcf, 0x17, 0x97, 0x35, 0x0a, 0x7f, 0x7a, 0x01, 0xaf, 0xd2, 0xbd, 0x6e, + 0x87, 0xa1, 0xc8, 0xd7, 0x9e, 0x7c, 0x35, 0x9d, 0xfc, 0x91, 0xc2, 0xe1, 0xba, 0x92, 0x9e, 0x4b, 0x6f, 0x16, 0xf4, + 0x73, 0xeb, 0xd5, 0x57, 0xea, 0x2d, 0x54, 0x4f, 0x93, 0x88, 0xdd, 0x2d, 0xbd, 0x8f, 0x9e, 0x8d, 0x42, 0x68, 0x56, + 0xde, 0x7c, 0xff, 0x90, 0xb4, 0x4c, 0xd4, 0x2a, 0x17, 0x77, 0xb3, 0x81, 0xd0, 0xd6, 0x38, 0x47, 0xd8, 0xbb, 0x71, + 0xee, 0x5f, 0x5a, 0x92, 0x00, 0x55, 0x4c, 0x28, 0xbe, 0xa3, 0xd3, 0x40, 0xee, 0x83, 0x3b, 0x3a, 0x7e, 0xbb, 0xf3, + 0xb5, 0x9a, 0x06, 0xf6, 0x08, 0x53, 0x0f, 0xa2, 0xbf, 0xc1, 0xaa, 0x97, 0x5e, 0x2f, 0x17, 0xd8, 0x9c, 0x97, 0x3c, + 0xb0, 0x54, 0x90, 0x95, 0x57, 0xee, 0xc0, 0xa4, 0xf6, 0x08, 0x02, 0xe8, 0x2f, 0x1b, 0x37, 0xf7, 0x77, 0x22, 0x15, + 0xc1, 0x5d, 0x76, 0x9c, 0x8c, 0xd6, 0xf4, 0x3b, 0x3b, 0x8e, 0x05, 0x63, 0xa7, 0x97, 0x09, 0xab, 0x30, 0xd0, 0x8a, + 0xa3, 0xf5, 0x55, 0xf2, 0x8f, 0x2a, 0xc3, 0xac, 0x15, 0x05, 0xec, 0xfd, 0x52, 0x85, 0xf5, 0x41, 0x29, 0xaa, 0x8b, + 0x78, 0x42, 0xc7, 0x93, 0x66, 0xc3, 0x01, 0x8b, 0xa1, 0x45, 0x8c, 0x2d, 0xf6, 0x48, 0x87, 0xcd, 0x38, 0xa9, 0x77, + 0x7c, 0x56, 0xe1, 0xbc, 0x71, 0x1c, 0xb7, 0xc1, 0x6b, 0x8d, 0xca, 0xf2, 0x05, 0x6e, 0xe0, 0x17, 0xaf, 0x54, 0x8f, + 0x7f, 0xf8, 0xf6, 0xba, 0xb8, 0xa8, 0x3a, 0x0c, 0x6d, 0xf1, 0xa7, 0x0d, 0x69, 0x4c, 0x1a, 0xf6, 0x70, 0xfd, 0x4a, + 0x9a, 0x7c, 0xc1, 0xa8, 0xef, 0x90, 0x8d, 0xd9, 0xba, 0x5f, 0x00, 0x8f, 0x79, 0xef, 0x7a, 0xa9, 0x5f, 0x4a, 0x52, + 0x35, 0xa2, 0x15, 0x35, 0xf1, 0xcd, 0x1a, 0x37, 0xc9, 0x5a, 0x90, 0x84, 0xb6, 0x47, 0xed, 0x88, 0x0f, 0xf1, 0xfb, + 0xb7, 0x29, 0x54, 0x81, 0x78, 0x6f, 0x76, 0x5d, 0x06, 0xbb, 0xd5, 0xb3, 0x94, 0x84, 0x95, 0x1b, 0x30, 0x35, 0xd5, + 0xd2, 0x6c, 0x58, 0x85, 0x7c, 0x0e, 0x4c, 0xd2, 0x9a, 0x74, 0x4e, 0x69, 0x21, 0xd4, 0x32, 0xec, 0x9f, 0x92, 0x45, + 0xc4, 0xc7, 0x32, 0xf8, 0xbc, 0x90, 0x53, 0x77, 0xd0, 0x88, 0x2c, 0x46, 0xad, 0xdc, 0x82, 0xdd, 0x8e, 0xd6, 0x3e, + 0x55, 0x09, 0x88, 0xf5, 0xbb, 0x66, 0xe3, 0x6c, 0x14, 0xd8, 0x43, 0xe8, 0x07, 0xdf, 0xf1, 0x36, 0xcb, 0x5d, 0x60, + 0x4a, 0x79, 0xa4, 0xda, 0x52, 0xfa, 0x8c, 0x17, 0x3f, 0xf2, 0x1e, 0x5a, 0xca, 0xdd, 0x7d, 0xc5, 0x1f, 0x3f, 0x5d, + 0xe7, 0xb5, 0x98, 0x4e, 0xe2, 0x5c, 0x9a, 0x63, 0x49, 0xd9, 0x23, 0xc7, 0x71, 0x71, 0xf7, 0x29, 0x14, 0x9a, 0x51, + 0x11, 0x86, 0x34, 0x12, 0x94, 0x9f, 0x29, 0xae, 0xb8, 0xf6, 0x09, 0xad, 0x25, 0x02, 0x64, 0xf0, 0xfd, 0xa3, 0x4c, + 0x57, 0xee, 0xf3, 0x00, 0x7f, 0xb7, 0x68, 0x95, 0xb0, 0x66, 0x51, 0x84, 0x6d, 0x02, 0x92, 0xf5, 0xdd, 0x61, 0x87, + 0xec, 0xec, 0x86, 0x08, 0x02, 0x75, 0xd7, 0x21, 0x40, 0x18, 0xaf, 0x11, 0xca, 0xe5, 0x5f, 0x2b, 0xe3, 0x76, 0x25, + 0x13, 0xea, 0x30, 0xca, 0x2e, 0x28, 0xf0, 0xde, 0x8b, 0x7e, 0xe9, 0x6d, 0x95, 0x1b, 0x5a, 0x4e, 0xd6, 0x47, 0x2f, + 0x3f, 0x29, 0xbb, 0x24, 0x7f, 0xc8, 0x68, 0x01, 0x48, 0xd9, 0x98, 0x66, 0xe3, 0x98, 0xae, 0x5a, 0xb7, 0xcc, 0x47, + 0xd9, 0x06, 0xc3, 0x76, 0x88, 0x51, 0x3c, 0x68, 0xd5, 0x90, 0x5c, 0xb1, 0x69, 0x8f, 0x7b, 0xe9, 0xc1, 0x6d, 0xf7, + 0x7e, 0x38, 0x38, 0x17, 0xf2, 0x88, 0xd9, 0x4b, 0x98, 0x8f, 0x1a, 0xbb, 0x42, 0xa6, 0x19, 0x0e, 0xe2, 0x20, 0x07, + 0xd9, 0x76, 0xdd, 0x05, 0x53, 0x8e, 0x69, 0x71, 0xbb, 0xc5, 0x46, 0x36, 0x90, 0x11, 0x5a, 0xb0, 0xc9, 0xf8, 0x50, + 0x2c, 0xd3, 0xa1, 0x74, 0xdf, 0x63, 0x02, 0xc6, 0x5a, 0x0f, 0x13, 0xbf, 0x66, 0x1d, 0xa2, 0x4b, 0x16, 0xa4, 0xa9, + 0xd1, 0xe3, 0x9b, 0x3e, 0xa5, 0x5b, 0x66, 0x43, 0xc3, 0xf7, 0x3a, 0xcc, 0x1a, 0x0c, 0x2b, 0xf6, 0x89, 0xb2, 0x57, + 0xf5, 0xc7, 0xdb, 0x71, 0x50, 0x4b, 0x39, 0x73, 0x79, 0x9b, 0xd1, 0xbf, 0x99, 0xc3, 0x40, 0xe3, 0x85, 0xc2, 0x7b, + 0x39, 0x81, 0x9a, 0x96, 0x34, 0x29, 0x78, 0xbb, 0xbc, 0x5a, 0x6d, 0xc2, 0xb8, 0x7f, 0xf7, 0xa1, 0x54, 0x5c, 0xff, + 0xee, 0x7d, 0xdd, 0x55, 0xbd, 0x2f, 0x6f, 0x94, 0x4b, 0x3a, 0xaf, 0xd6, 0x57, 0x10, 0xa0, 0xd2, 0x5b, 0x99, 0xb2, + 0x21, 0xdb, 0x83, 0xd7, 0x75, 0xbd, 0x77, 0x55, 0x7e, 0xdc, 0x81, 0xdd, 0x6d, 0x72, 0x16, 0x6b, 0x0b, 0xea, 0xa9, + 0xd3, 0xb8, 0x7b, 0x29, 0xe5, 0x86, 0x83, 0x53, 0x8a, 0xba, 0xc5, 0x37, 0xbc, 0x3f, 0x67, 0xd7, 0xa9, 0x4b, 0xbd, + 0xd5, 0x6f, 0xd7, 0xbf, 0xf2, 0xd4, 0x58, 0xe5, 0xa0, 0x86, 0xf5, 0xab, 0xf6, 0x35, 0x99, 0x5d, 0x83, 0x99, 0x31, + 0x48, 0xe1, 0x72, 0xae, 0x3e, 0x1b, 0x1c, 0x85, 0x79, 0x4e, 0xa8, 0x60, 0x0b, 0x42, 0xfd, 0xf8, 0x25, 0x31, 0x95, + 0xcc, 0x3f, 0x1c, 0x57, 0x46, 0x3f, 0x08, 0x7d, 0xbb, 0x6a, 0xbd, 0x0c, 0x75, 0x4e, 0x91, 0x8f, 0xb9, 0x9a, 0xe0, + 0x97, 0xd4, 0xc1, 0xd1, 0x2c, 0xfc, 0x53, 0x1d, 0xb6, 0x3b, 0x9c, 0x8f, 0x1e, 0x68, 0x5c, 0xed, 0x1b, 0xf0, 0x46, + 0xb4, 0xb3, 0xb0, 0xe3, 0xdd, 0xa7, 0x69, 0xac, 0xc3, 0xe1, 0xcc, 0xb0, 0xa4, 0x8c, 0x38, 0x0c, 0x98, 0x87, 0x6e, + 0xc9, 0x76, 0xb9, 0x6e, 0x93, 0x83, 0x94, 0xf5, 0x1e, 0x4a, 0x31, 0x8f, 0xe6, 0xb9, 0x69, 0xef, 0x79, 0x2f, 0xba, + 0xc2, 0x70, 0x79, 0x30, 0x32, 0x1f, 0xb3, 0x42, 0xaa, 0xae, 0x53, 0xd7, 0x71, 0xa6, 0x35, 0x46, 0xe4, 0x23, 0xc6, + 0xcd, 0xf7, 0x96, 0xb0, 0x68, 0x57, 0xb7, 0x2b, 0x88, 0x33, 0xac, 0xfc, 0x5f, 0x19, 0x9b, 0xa9, 0xa7, 0x0b, 0xb6, + 0xa7, 0x16, 0xfc, 0x79, 0x93, 0xb2, 0xa2, 0x82, 0x1b, 0x1d, 0x41, 0xa9, 0x7f, 0x7c, 0x5e, 0xd4, 0xaa, 0x66, 0x64, + 0xcd, 0x6f, 0x89, 0x77, 0xc6, 0x78, 0x5d, 0xd7, 0x15, 0xb2, 0xdf, 0xc5, 0xa9, 0xd1, 0x87, 0x26, 0x35, 0x8a, 0x64, + 0xfd, 0xa5, 0x68, 0x0e, 0x0c, 0x61, 0x84, 0xc6, 0x9b, 0xb5, 0xce, 0xc9, 0xe0, 0x24, 0xce, 0xaf, 0x3a, 0xb0, 0xde, + 0xce, 0xb1, 0xbd, 0x82, 0x41, 0x10, 0xf8, 0x57, 0x11, 0xa3, 0x55, 0xfd, 0xbc, 0x33, 0x33, 0x54, 0xf5, 0x72, 0x9a, + 0xac, 0x6c, 0xfe, 0x18, 0x53, 0x0d, 0xca, 0x4b, 0xd9, 0x55, 0xf6, 0x89, 0x8c, 0xfa, 0xb1, 0xa0, 0x1e, 0x5d, 0x9e, + 0x33, 0x94, 0xb7, 0x60, 0xcf, 0x52, 0x6f, 0x06, 0x08, 0x91, 0xb6, 0xab, 0x61, 0xc2, 0x31, 0xcc, 0xe9, 0xc8, 0x8a, + 0x55, 0x99, 0xc0, 0x47, 0x11, 0x5f, 0x34, 0xa7, 0x05, 0xce, 0xac, 0x2e, 0x3b, 0xbc, 0x15, 0xa2, 0xa2, 0xb8, 0xe3, + 0x7e, 0x42, 0x6b, 0x3e, 0x0e, 0x33, 0x31, 0x5e, 0xb3, 0x78, 0xde, 0xfd, 0x05, 0x04, 0x4d, 0x9d, 0xd0, 0x60, 0xe1, + 0xdd, 0x0f, 0x05, 0x44, 0xc9, 0x6b, 0x2b, 0x72, 0x92, 0xe1, 0xb7, 0x02, 0xc9, 0x74, 0x84, 0xd0, 0xc2, 0x25, 0x70, + 0xb3, 0xfd, 0x74, 0xdc, 0x05, 0xc7, 0x48, 0x91, 0x58, 0x38, 0x9e, 0x26, 0x6c, 0x3e, 0xb1, 0x26, 0x96, 0xe3, 0xa4, + 0x43, 0xe9, 0x2a, 0x34, 0xd5, 0x2a, 0x06, 0xad, 0xab, 0xfa, 0xc9, 0xde, 0x29, 0x88, 0xdb, 0x96, 0x20, 0xa2, 0x26, + 0xc7, 0x37, 0x1d, 0xb4, 0x3d, 0xb1, 0xc8, 0x1a, 0x65, 0x14, 0xbe, 0xf3, 0x08, 0x65, 0x8c, 0xc0, 0x7d, 0x95, 0x1a, + 0x63, 0x43, 0x59, 0x66, 0x7f, 0x30, 0x7d, 0x33, 0xc1, 0x44, 0x2f, 0xa1, 0xcc, 0x68, 0x95, 0x9c, 0x20, 0xfa, 0x34, + 0x97, 0x72, 0x3c, 0x22, 0xfa, 0x86, 0x85, 0xbf, 0xc4, 0xe2, 0x2a, 0xe6, 0xdd, 0xe5, 0xed, 0x74, 0x6d, 0x91, 0xcf, + 0xd4, 0x16, 0x63, 0x97, 0xcc, 0xa1, 0xf6, 0xb0, 0x21, 0x3b, 0xf1, 0x86, 0x9d, 0x16, 0xa5, 0x7c, 0x3b, 0x4a, 0x11, + 0xf6, 0x5d, 0xd1, 0xbf, 0x5d, 0x6f, 0x0a, 0x73, 0xed, 0x8a, 0xc9, 0xdf, 0xea, 0xeb, 0x19, 0x5a, 0x4f, 0x7c, 0x35, + 0x74, 0x73, 0x58, 0xf3, 0xc7, 0x02, 0xdf, 0x22, 0x2c, 0xb7, 0xb7, 0xd1, 0xc4, 0xb6, 0xce, 0x4b, 0x4f, 0x60, 0xb0, + 0x10, 0x7e, 0x37, 0x4b, 0xf1, 0x80, 0xd5, 0x83, 0xe8, 0x83, 0x02, 0x13, 0x53, 0xb9, 0x7a, 0xb5, 0x62, 0x8f, 0xd0, + 0x1e, 0xc6, 0x3a, 0x91, 0x5a, 0xf9, 0x36, 0xb8, 0x5a, 0xe1, 0x95, 0xbe, 0xde, 0x14, 0xb1, 0x5e, 0x79, 0x58, 0xdb, + 0xea, 0x97, 0xdc, 0xc2, 0xe5, 0xdf, 0xb6, 0x2a, 0x02, 0x7c, 0xc2, 0x55, 0x88, 0x23, 0xd0, 0x77, 0x69, 0x15, 0x05, + 0xf5, 0x97, 0x1c, 0x72, 0xea, 0xfc, 0x88, 0x70, 0x3e, 0x5f, 0x57, 0xf5, 0x1c, 0x47, 0x78, 0xab, 0xfc, 0x0f, 0x96, + 0x26, 0x6f, 0xe2, 0x7a, 0xb4, 0xe7, 0x25, 0x1d, 0x3e, 0xc1, 0xa5, 0x3b, 0x0a, 0x23, 0xbc, 0x94, 0x31, 0x8d, 0x17, + 0xe7, 0x1a, 0x30, 0x7b, 0x83, 0xe4, 0xf5, 0x38, 0x10, 0x95, 0x1c, 0x87, 0x2d, 0x16, 0xb5, 0x9e, 0x14, 0x1a, 0x91, + 0x37, 0xac, 0xca, 0x50, 0x44, 0x4b, 0x62, 0x07, 0x88, 0xfc, 0x58, 0x14, 0x86, 0x0e, 0xd5, 0x22, 0xb4, 0x6b, 0x7c, + 0xbf, 0xa9, 0x8f, 0xd0, 0x12, 0xab, 0x89, 0xf0, 0x61, 0x41, 0xde, 0x03, 0x0c, 0x73, 0x98, 0x24, 0xad, 0xa3, 0x74, + 0x90, 0xe3, 0x2b, 0x41, 0x32, 0x39, 0x30, 0x93, 0xde, 0x41, 0x6c, 0xe7, 0x7c, 0x31, 0x79, 0xbf, 0x11, 0x3f, 0x85, + 0x34, 0x74, 0x95, 0xbd, 0xc6, 0x22, 0xfb, 0x60, 0x82, 0xb5, 0x2f, 0x0f, 0x97, 0x99, 0xd7, 0xe0, 0x27, 0xfc, 0xff, + 0x34, 0x4b, 0x0a, 0xba, 0x0b, 0xb8, 0x98, 0xbd, 0x0f, 0xc3, 0x04, 0x3e, 0x19, 0x4d, 0x54, 0x96, 0xe8, 0x85, 0x05, + 0x4a, 0xd9, 0xef, 0xb7, 0xd0, 0xe0, 0x10, 0xcc, 0x4b, 0xde, 0xf9, 0xaa, 0x5b, 0x29, 0xaf, 0xef, 0xe4, 0xc8, 0xe4, + 0xf3, 0x29, 0xda, 0x1a, 0xb6, 0x56, 0xc0, 0x4b, 0x08, 0x03, 0x41, 0x34, 0xa4, 0xb8, 0xa4, 0xc3, 0x15, 0xc8, 0x1a, + 0xb9, 0x63, 0xd1, 0x4a, 0x19, 0x4e, 0x1b, 0x37, 0x13, 0xb5, 0xfb, 0xb4, 0x10, 0xc3, 0x79, 0x49, 0x87, 0xb1, 0xa4, + 0x0f, 0x4c, 0xb8, 0xc1, 0xb2, 0xad, 0x0a, 0xec, 0x80, 0xe6, 0x79, 0xd1, 0x68, 0x95, 0x9a, 0x0c, 0xa9, 0xa4, 0x93, + 0xf0, 0x11, 0xaf, 0x1d, 0x29, 0x19, 0xeb, 0x44, 0x4e, 0x13, 0x86, 0xb0, 0xfd, 0xd0, 0x48, 0xd4, 0x41, 0x61, 0x4d, + 0x21, 0x38, 0x2f, 0x34, 0xe0, 0xa6, 0x8d, 0xee, 0x07, 0xa8, 0xba, 0xd0, 0x48, 0xb3, 0xd2, 0x16, 0xb9, 0x6e, 0x2c, + 0x0e, 0xca, 0x8f, 0x78, 0x6d, 0x5e, 0x67, 0x55, 0x61, 0x23, 0x91, 0x7b, 0x28, 0x86, 0xb0, 0x19, 0xd3, 0x1f, 0xae, + 0xdc, 0xe3, 0x12, 0xeb, 0xb8, 0xc7, 0x80, 0x2d, 0xaf, 0x90, 0xc6, 0xec, 0x55, 0x72, 0x60, 0x21, 0x03, 0x34, 0xaf, + 0xc4, 0xf0, 0xbe, 0xf5, 0xcb, 0xa1, 0xf1, 0xad, 0x5a, 0x99, 0x4b, 0xcf, 0x84, 0x89, 0x11, 0x1e, 0x08, 0x83, 0x5f, + 0xab, 0x3f, 0x9d, 0xf6, 0xb2, 0x4e, 0x71, 0xbf, 0xca, 0x21, 0x37, 0x27, 0x2c, 0x1a, 0xe8, 0xa0, 0x4c, 0x4e, 0x17, + 0x39, 0x07, 0xf5, 0xcd, 0xdd, 0x82, 0xbc, 0x40, 0x1c, 0x6b, 0x3c, 0x8e, 0x5c, 0xf7, 0x62, 0xde, 0x66, 0x22, 0xd8, + 0x9b, 0x0a, 0xfe, 0x39, 0xc4, 0x29, 0x21, 0x80, 0x35, 0x48, 0x6c, 0xd6, 0xe5, 0x1e, 0xdb, 0xcb, 0xd8, 0xae, 0x13, + 0x99, 0xa2, 0xb2, 0x82, 0xe4, 0xe7, 0x11, 0x76, 0x81, 0x1a, 0x0f, 0x36, 0x49, 0x0f, 0xb2, 0x32, 0x0d, 0x23, 0x96, + 0x6f, 0x57, 0xc5, 0x29, 0xcc, 0x6b, 0xb5, 0x0e, 0x85, 0x20, 0x99, 0xd9, 0x6d, 0x23, 0x9f, 0x33, 0x4f, 0xc2, 0xa0, + 0x63, 0x47, 0x69, 0x83, 0x0a, 0xe5, 0xd8, 0x56, 0xf3, 0x68, 0x82, 0x5e, 0xf6, 0xd6, 0x39, 0x24, 0x73, 0x5b, 0x4e, + 0x0b, 0x56, 0x04, 0x24, 0x1e, 0xd7, 0xe2, 0xa3, 0xa9, 0xbb, 0xa1, 0xce, 0x11, 0x16, 0x39, 0x30, 0xcb, 0x96, 0x89, + 0xa8, 0xc5, 0xa5, 0x67, 0x6e, 0x1a, 0x6c, 0x2a, 0xcb, 0x4c, 0x7a, 0x11, 0xb2, 0x68, 0xa5, 0x89, 0x2d, 0xcc, 0xc5, + 0x38, 0x33, 0x07, 0x96, 0xf6, 0x11, 0x1a, 0x06, 0xcb, 0x48, 0x48, 0x63, 0x4b, 0x96, 0xb7, 0xc8, 0xa9, 0xc0, 0xd1, + 0xfe, 0x67, 0x96, 0x3b, 0x62, 0x2b, 0xf7, 0xd0, 0x82, 0xef, 0xf7, 0x57, 0x51, 0xc3, 0xd0, 0xf6, 0x57, 0xfe, 0xbd, + 0xe4, 0x22, 0xa8, 0x57, 0x90, 0x0f, 0x49, 0x26, 0x15, 0x38, 0x28, 0x0c, 0xd4, 0xc9, 0xb8, 0x11, 0xad, 0x4d, 0x78, + 0x24, 0x87, 0x48, 0x13, 0x79, 0x6d, 0x29, 0x2a, 0x87, 0x22, 0x6b, 0xaf, 0xd4, 0x2a, 0x21, 0x00, 0xbd, 0xf5, 0x4e, + 0xb7, 0x1a, 0x0d, 0x6f, 0xd4, 0x24, 0xca, 0x41, 0x7c, 0x38, 0x0d, 0x4f, 0xda, 0xe8, 0x8a, 0xf3, 0x72, 0xe2, 0x33, + 0x75, 0x77, 0x40, 0xa0, 0x81, 0xb3, 0x80, 0xc3, 0x0b, 0x83, 0x59, 0x5d, 0x55, 0x56, 0xdb, 0x05, 0x09, 0xb2, 0xa9, + 0x7f, 0x41, 0x7f, 0x58, 0x9b, 0x23, 0xb5, 0x49, 0x30, 0x1a, 0x47, 0x93, 0xf5, 0xbf, 0x8b, 0x09, 0xbc, 0xa2, 0x2e, + 0xd0, 0x1e, 0x9f, 0xb6, 0x73, 0x2a, 0x4a, 0xb6, 0xfd, 0xe7, 0x43, 0x39, 0x81, 0xfd, 0x5e, 0x76, 0x62, 0x76, 0x78, + 0x2a, 0x47, 0x3d, 0xbd, 0x4a, 0xc5, 0xd8, 0x43, 0x0c, 0xf5, 0x76, 0x04, 0x2c, 0xeb, 0x1b, 0x6b, 0x96, 0xcd, 0x76, + 0x24, 0x5b, 0x73, 0xf4, 0x72, 0x96, 0x48, 0xee, 0x1e, 0x34, 0x58, 0xce, 0xc4, 0x96, 0xcf, 0xe8, 0x79, 0xbb, 0xb5, + 0xc7, 0xe4, 0xed, 0x2c, 0x3b, 0x82, 0x2f, 0x5a, 0xdf, 0xd8, 0xd5, 0x5e, 0xf4, 0xc8, 0x75, 0xec, 0xc3, 0x04, 0x92, + 0x60, 0xb1, 0x00, 0x17, 0x71, 0xcf, 0x27, 0x67, 0xd6, 0x62, 0x9f, 0x8a, 0xd8, 0x45, 0x5a, 0xa8, 0x9f, 0xd2, 0x32, + 0x22, 0xe9, 0xf0, 0xf2, 0x63, 0xcf, 0x48, 0x1e, 0xd7, 0x51, 0xaa, 0xd4, 0x6f, 0x3d, 0x8e, 0x32, 0xb2, 0xc8, 0x51, + 0x27, 0x5c, 0xc2, 0x63, 0xdb, 0xc9, 0x4e, 0x77, 0xac, 0x5a, 0xc8, 0x3e, 0x80, 0x00, 0x49, 0xc8, 0x96, 0xb4, 0xdd, + 0x45, 0x6a, 0xe4, 0xef, 0x71, 0x31, 0x2c, 0x46, 0x84, 0xf0, 0xb0, 0x6e, 0xf0, 0x4f, 0xba, 0xcc, 0xd4, 0xdb, 0xa9, + 0x7c, 0xf0, 0x82, 0x38, 0x1a, 0x0f, 0x8f, 0xd4, 0x28, 0xb4, 0xfa, 0x64, 0x1c, 0x35, 0x29, 0x9c, 0xa1, 0x95, 0xd3, + 0xf6, 0x6f, 0xa0, 0xb7, 0x53, 0xd3, 0x45, 0xa0, 0x45, 0xe1, 0x8b, 0x47, 0x28, 0x01, 0xb1, 0x44, 0x58, 0x31, 0xa4, + 0x92, 0x30, 0x95, 0x09, 0xb9, 0x64, 0xcc, 0x65, 0xc6, 0x9d, 0x5a, 0x05, 0x77, 0x59, 0x15, 0xf7, 0x58, 0x3d, 0xee, + 0xb3, 0x06, 0x3c, 0xa8, 0x35, 0xe2, 0x21, 0xab, 0xe1, 0x1c, 0xa2, 0x7a, 0x51, 0xbd, 0xac, 0x5e, 0x55, 0xd7, 0xca, + 0x75, 0xaf, 0x43, 0x26, 0x30, 0xfe, 0x25, 0x49, 0xb4, 0xfa, 0x10, 0x2d, 0x4d, 0x79, 0xbe, 0x73, 0xf7, 0xde, 0xfd, + 0x07, 0x0f, 0xc7, 0x05, 0x2a, 0x71, 0x56, 0xf7, 0x6d, 0x59, 0xd2, 0x00, 0xb6, 0x50, 0x3a, 0x7d, 0x4b, 0x49, 0x83, + 0x89, 0x42, 0xdb, 0xf9, 0x93, 0xa5, 0xbf, 0x3c, 0xfe, 0xa0, 0xea, 0xb9, 0x79, 0x56, 0xac, 0xbc, 0xf5, 0x88, 0xd3, + 0x02, 0x2d, 0x9e, 0x5e, 0xb0, 0x90, 0x4e, 0x07, 0x1d, 0xf3, 0x6a, 0x1e, 0xf3, 0x90, 0x51, 0x8f, 0xad, 0x85, 0xa7, + 0x5a, 0xc9, 0xf2, 0x07, 0x1d, 0xc0, 0xb1, 0x38, 0x9e, 0xc9, 0xbe, 0x79, 0x24, 0x66, 0xa2, 0x69, 0xda, 0x6a, 0x42, + 0xd5, 0x3f, 0xdc, 0xba, 0xa1, 0xea, 0xc0, 0xc6, 0xec, 0xf8, 0xed, 0x27, 0x0a, 0xb0, 0x4c, 0x13, 0x98, 0x70, 0xe3, + 0x38, 0x6b, 0x16, 0x2e, 0x66, 0xcb, 0xe6, 0xf9, 0x88, 0x01, 0xea, 0x99, 0x0a, 0xa0, 0x92, 0x1e, 0xf8, 0x67, 0xc7, + 0xfe, 0x74, 0xee, 0x2e, 0x6c, 0x18, 0xfd, 0xce, 0xec, 0x7e, 0xf5, 0x1b, 0x71, 0x02, 0xa9, 0xc7, 0xa2, 0xb2, 0x52, + 0xcd, 0xc4, 0x8b, 0x6a, 0x6f, 0xc4, 0xd1, 0xcd, 0x4c, 0x73, 0x63, 0x6f, 0x6f, 0x82, 0xd1, 0xee, 0xc8, 0x00, 0x88, + 0x40, 0xfd, 0xe7, 0xf4, 0x94, 0xd5, 0xfa, 0x76, 0xfa, 0x4d, 0xca, 0xa6, 0x48, 0x09, 0x3e, 0x2d, 0xfe, 0xe0, 0x9f, + 0xba, 0x6f, 0x5a, 0x6c, 0x85, 0x36, 0xf2, 0xb9, 0xca, 0x89, 0x23, 0x91, 0x27, 0xbe, 0x63, 0xeb, 0xac, 0xf2, 0xb0, + 0xf1, 0x53, 0x58, 0xde, 0x66, 0x5a, 0x5c, 0x8a, 0x63, 0x6d, 0x9c, 0xc3, 0x22, 0x37, 0xff, 0x4c, 0xb5, 0xa3, 0xf1, + 0x8b, 0x7d, 0xfb, 0x2b, 0x53, 0xe5, 0x61, 0x39, 0xbe, 0xf2, 0xef, 0xf2, 0x73, 0xf4, 0x38, 0x2f, 0x72, 0xb5, 0xfe, + 0x3e, 0x35, 0xcb, 0x96, 0x0f, 0x4f, 0x72, 0x5f, 0x71, 0x99, 0xa7, 0xa6, 0xf9, 0xa5, 0xaf, 0x86, 0x3c, 0x77, 0xad, + 0xe9, 0xdd, 0xcd, 0xcf, 0x58, 0xfe, 0x49, 0x35, 0xab, 0xf6, 0xa0, 0x7f, 0x95, 0x3d, 0x3b, 0x9e, 0x8a, 0x11, 0x99, + 0x1a, 0x2b, 0x73, 0x40, 0x75, 0x7f, 0x7e, 0x16, 0x09, 0x6e, 0xfc, 0xa7, 0xc7, 0x25, 0x3d, 0x83, 0xa4, 0xb7, 0x75, + 0xfe, 0x42, 0xe8, 0xa6, 0x9e, 0xf4, 0xe0, 0x10, 0xd4, 0x2b, 0xfe, 0x37, 0x0f, 0xe1, 0x0b, 0x4c, 0x5d, 0x20, 0x10, + 0x6f, 0x60, 0x2a, 0xf4, 0xf3, 0xcb, 0xe8, 0x34, 0xd1, 0xdd, 0xa4, 0x65, 0xaa, 0xa2, 0xa6, 0x94, 0x13, 0x3b, 0x42, + 0xc1, 0xb7, 0x93, 0x91, 0x5e, 0x32, 0xda, 0x3a, 0x7f, 0x2d, 0x74, 0x4b, 0x91, 0xdd, 0x4d, 0xbc, 0x55, 0xe7, 0x3d, + 0x2b, 0xe7, 0xcf, 0xf5, 0x74, 0x7b, 0x82, 0x5d, 0x7d, 0x06, 0x54, 0xcb, 0x02, 0x9c, 0x97, 0x6f, 0x60, 0xda, 0x2f, + 0x02, 0x94, 0xd1, 0x62, 0x35, 0xf4, 0x1b, 0xf5, 0x96, 0xc9, 0xfa, 0xdb, 0x8f, 0x6b, 0x0d, 0xd8, 0x39, 0xfc, 0x73, + 0x03, 0x86, 0xe7, 0x48, 0xf4, 0x1c, 0x41, 0x97, 0xae, 0x31, 0x97, 0x35, 0xda, 0x90, 0x3d, 0xd5, 0xd8, 0xbc, 0x05, + 0x97, 0x82, 0xf0, 0xb6, 0x61, 0x36, 0xcd, 0x7c, 0xac, 0x62, 0xae, 0xce, 0x65, 0x9e, 0x3e, 0x23, 0x21, 0xdf, 0xb7, + 0xac, 0x8d, 0x05, 0x53, 0x10, 0xcc, 0x6c, 0x98, 0x32, 0x96, 0xaf, 0x8b, 0xa6, 0x14, 0x7e, 0x1f, 0xc5, 0xb0, 0xee, + 0x19, 0x8b, 0xa4, 0x60, 0x5d, 0xf9, 0x2f, 0x39, 0xe6, 0x31, 0x8f, 0xa5, 0x83, 0x9e, 0x1b, 0xe6, 0xd1, 0x0c, 0x7c, + 0xcc, 0xa8, 0x4a, 0x9c, 0xc1, 0x8e, 0x17, 0xcf, 0x88, 0x82, 0x16, 0xcd, 0xf5, 0xc7, 0xb6, 0xd6, 0x87, 0x4c, 0xdd, + 0xad, 0x98, 0xcd, 0xcf, 0xf4, 0x6d, 0xb6, 0xe9, 0x80, 0xc9, 0x12, 0x41, 0x98, 0x43, 0xf3, 0x7b, 0xf5, 0xa1, 0xb2, + 0x93, 0x5b, 0xa3, 0xb5, 0x76, 0x46, 0xe3, 0x7c, 0xa8, 0x48, 0x75, 0x0e, 0x7d, 0x91, 0xa8, 0xcb, 0x88, 0x71, 0x93, + 0x2d, 0xbd, 0xdb, 0x2f, 0x4b, 0xe3, 0xbf, 0x96, 0xad, 0x32, 0xe2, 0xa9, 0xb9, 0x02, 0xba, 0xcb, 0x35, 0x5c, 0x56, + 0xc4, 0x64, 0x8a, 0x79, 0xb8, 0x6d, 0xe5, 0x6c, 0x16, 0x72, 0x69, 0x3e, 0x81, 0x33, 0xa0, 0x0a, 0xd7, 0x98, 0x05, + 0xd1, 0x5c, 0xb0, 0x00, 0xd6, 0x02, 0xa7, 0x97, 0x27, 0x73, 0x79, 0xd6, 0x31, 0x4a, 0x8c, 0x65, 0xed, 0x1f, 0x2f, + 0x2f, 0x0d, 0xfa, 0x49, 0x16, 0xf2, 0xcc, 0x77, 0xdc, 0xa9, 0xda, 0xa7, 0x78, 0x3a, 0xfa, 0xdd, 0x4f, 0xf9, 0x7b, + 0x0e, 0xdd, 0x76, 0x49, 0xb6, 0x6f, 0x9f, 0x3a, 0x14, 0xe0, 0x48, 0x17, 0xf2, 0x6b, 0x5b, 0xec, 0xb9, 0x5b, 0xf6, + 0x21, 0xa6, 0x85, 0xb0, 0x31, 0xf3, 0x68, 0x11, 0x70, 0x59, 0xde, 0xbb, 0x51, 0xeb, 0x79, 0x4b, 0x02, 0x2e, 0xf1, + 0x9e, 0x9f, 0xea, 0x68, 0x29, 0x6d, 0x47, 0xee, 0xb3, 0x83, 0x28, 0x67, 0x57, 0x5d, 0x3f, 0x31, 0x37, 0xfe, 0xdb, + 0x9d, 0x3d, 0x53, 0x6b, 0xb5, 0x20, 0x29, 0x97, 0x7e, 0x9e, 0x1f, 0x9a, 0x99, 0x4a, 0x26, 0xf0, 0xf0, 0x02, 0x12, + 0xbf, 0xf0, 0xd3, 0xbf, 0x1f, 0xa8, 0xb2, 0xae, 0x1c, 0x22, 0x3d, 0x03, 0x92, 0xe7, 0xe3, 0xc7, 0xd7, 0x85, 0xc7, + 0x3b, 0xa2, 0x4b, 0xbd, 0x9e, 0xe7, 0x16, 0x12, 0xe7, 0x49, 0x77, 0x4e, 0x5c, 0xad, 0x5c, 0xa0, 0x67, 0xa6, 0x21, + 0xe1, 0x5c, 0xf5, 0x8f, 0x0f, 0x81, 0x7f, 0x05, 0x0e, 0x24, 0xa9, 0xab, 0x0b, 0x15, 0x02, 0x9d, 0xd0, 0x7e, 0xde, + 0x12, 0x48, 0x78, 0xf7, 0x22, 0xd8, 0x62, 0x90, 0x7b, 0x2d, 0xa8, 0xa8, 0x2a, 0x54, 0x30, 0x6f, 0x44, 0x25, 0x78, + 0xe4, 0x1f, 0x30, 0x68, 0x9e, 0x98, 0x99, 0xe1, 0x3c, 0x82, 0x88, 0x24, 0x39, 0xb1, 0x45, 0x7c, 0x00, 0xa0, 0x8e, + 0x77, 0x82, 0xf1, 0x4a, 0xe2, 0x30, 0x42, 0x09, 0x2e, 0xbf, 0x17, 0xad, 0x47, 0x71, 0x67, 0x87, 0x83, 0x7f, 0x41, + 0x9a, 0xc7, 0xed, 0xde, 0x1f, 0x43, 0x7f, 0xf6, 0x01, 0xcd, 0xd0, 0xee, 0x04, 0xf4, 0x71, 0xb7, 0x26, 0xed, 0x7e, + 0x33, 0x3d, 0x13, 0x6d, 0xb7, 0x49, 0x62, 0x73, 0x20, 0x63, 0xde, 0x9e, 0x88, 0x0d, 0x6d, 0xfc, 0x01, 0x7e, 0x6b, + 0x6c, 0x56, 0x5d, 0x26, 0x9e, 0x59, 0x3d, 0x3c, 0x9e, 0x89, 0x27, 0x56, 0xab, 0x8d, 0xd8, 0xb1, 0xfa, 0x3f, 0xd4, + 0xf7, 0xf8, 0x96, 0x55, 0x78, 0x54, 0xfd, 0x17, 0xda, 0x81, 0x87, 0xb0, 0xb1, 0x36, 0x8f, 0x9e, 0x35, 0x6c, 0xf0, + 0x60, 0x75, 0x09, 0x3a, 0xf8, 0xf1, 0x57, 0x06, 0x8f, 0x88, 0xdd, 0x0f, 0x06, 0x2b, 0xab, 0x29, 0xb0, 0x3c, 0xde, + 0x1f, 0xdd, 0xff, 0x3f, 0x6f, 0x1a, 0x1e, 0xba, 0xd6, 0xd3, 0x1a, 0x2c, 0x2a, 0xa1, 0xc2, 0xfc, 0x7f, 0x56, 0x0f, + 0x62, 0xc6, 0x6a, 0x9d, 0x89, 0x29, 0xab, 0x3a, 0x13, 0x13, 0x56, 0xfb, 0xbc, 0x5e, 0x6f, 0x88, 0x1e, 0x2b, 0x5f, + 0x88, 0x31, 0xab, 0xe5, 0x9d, 0xe8, 0xb3, 0xaa, 0xb6, 0x7f, 0x03, 0x31, 0x60, 0xe5, 0x13, 0x31, 0x8c, 0x0c, 0x56, + 0x30, 0xfa, 0x1b, 0x2f, 0x77, 0x32, 0xb4, 0x5b, 0x3d, 0xb7, 0xc6, 0xff, 0x45, 0x27, 0xea, 0xd3, 0xe5, 0xc4, 0x95, + 0x67, 0x12, 0x70, 0xd1, 0xfe, 0x5b, 0x78, 0xbd, 0x09, 0x8f, 0x79, 0x60, 0xa4, 0x62, 0x69, 0x06, 0xc0, 0x38, 0x3f, + 0xfc, 0x4f, 0x77, 0x84, 0xb9, 0x91, 0x04, 0x46, 0x56, 0x29, 0x6b, 0xa3, 0xff, 0x97, 0xae, 0x20, 0x2a, 0x83, 0x6c, + 0xfb, 0xf0, 0xb6, 0x3a, 0x35, 0x7a, 0x0d, 0x6d, 0x18, 0xbd, 0xbc, 0xce, 0x59, 0x17, 0xd0, 0x51, 0x4b, 0x0a, 0xa1, + 0xeb, 0xba, 0x7b, 0x62, 0x7a, 0x5b, 0xbc, 0x23, 0x98, 0x11, 0xd4, 0x44, 0x04, 0x49, 0xd3, 0xfe, 0x4f, 0xce, 0xb6, + 0xe5, 0x58, 0x7b, 0xca, 0x62, 0xf9, 0xf0, 0x7d, 0x75, 0x75, 0x2a, 0x4c, 0x99, 0x09, 0x2e, 0xf3, 0xb0, 0xad, 0xde, + 0x53, 0x3d, 0x8c, 0xa5, 0xdb, 0xd3, 0xf0, 0x12, 0x31, 0x7c, 0x4b, 0xae, 0x5a, 0x10, 0xef, 0x09, 0xe6, 0xd8, 0x2d, + 0x81, 0x58, 0x29, 0x5c, 0x8d, 0xd7, 0x2d, 0x24, 0x8e, 0x19, 0xa9, 0xf1, 0x57, 0xeb, 0xfd, 0xdb, 0xcd, 0x14, 0xa7, + 0xc0, 0xa1, 0xe8, 0x36, 0xe0, 0x1d, 0x11, 0xe5, 0x94, 0x43, 0x96, 0x3c, 0xe2, 0x60, 0x87, 0x13, 0x07, 0x64, 0x99, + 0x26, 0xda, 0xac, 0x95, 0xd7, 0x04, 0xef, 0xea, 0xd1, 0x29, 0x93, 0x63, 0x6b, 0x03, 0xc7, 0x20, 0xf9, 0x17, 0xbc, + 0xea, 0x15, 0xa0, 0x0f, 0xd6, 0x54, 0x5d, 0xe8, 0xdb, 0x97, 0xf3, 0x3b, 0xd5, 0xa6, 0x5d, 0xe1, 0x95, 0xfd, 0x86, + 0xad, 0xce, 0xea, 0x1b, 0x41, 0x6a, 0xdd, 0x6d, 0xa4, 0x21, 0x40, 0xf7, 0x43, 0xbe, 0xbb, 0xa7, 0x23, 0x9c, 0x6c, + 0xed, 0x1c, 0x61, 0xa1, 0x99, 0x11, 0xfa, 0xdb, 0x08, 0xb8, 0x43, 0x01, 0x55, 0xdc, 0xda, 0x33, 0xa3, 0x48, 0x44, + 0xb4, 0x24, 0x15, 0xf1, 0x1e, 0x5c, 0xcf, 0xc6, 0xb0, 0x6c, 0xa4, 0x9d, 0xbd, 0xbe, 0xc9, 0xb6, 0x28, 0x82, 0xb0, + 0x75, 0xbd, 0x23, 0x0c, 0xe4, 0x2f, 0x03, 0xff, 0xd7, 0xea, 0xbd, 0xb4, 0x5a, 0xba, 0xa9, 0x7b, 0x7c, 0x0b, 0x7e, + 0xa8, 0x4b, 0xf9, 0x99, 0xa4, 0x98, 0x9d, 0x26, 0x3e, 0xf5, 0x49, 0x79, 0x8a, 0x97, 0x5d, 0x06, 0x40, 0xe4, 0x7a, + 0x4e, 0xc1, 0x87, 0xbc, 0xdb, 0x4c, 0xa9, 0x8b, 0xcc, 0x63, 0x82, 0x01, 0x66, 0x97, 0xd2, 0xc5, 0x3a, 0x35, 0x5c, + 0x6c, 0xa4, 0x1c, 0x6e, 0x3a, 0x9c, 0x36, 0xf4, 0xaa, 0x18, 0x17, 0x91, 0x1d, 0xdf, 0x35, 0x8d, 0x6f, 0x72, 0x23, + 0xf4, 0xde, 0xb9, 0xe1, 0xa9, 0xcf, 0x18, 0xf3, 0xb7, 0x82, 0x50, 0x19, 0x63, 0x3b, 0x9c, 0xad, 0x28, 0xd5, 0x4a, + 0x7e, 0x39, 0x6c, 0x73, 0xd8, 0xbf, 0xc9, 0xad, 0x6d, 0x0c, 0x18, 0xf1, 0x05, 0xe3, 0xbb, 0x10, 0xbf, 0x2f, 0x58, + 0x23, 0x7a, 0xc1, 0x25, 0xcb, 0x53, 0xb0, 0xf0, 0x50, 0x02, 0x53, 0xb6, 0x87, 0x26, 0xe0, 0xde, 0xe7, 0x26, 0x7e, + 0x3b, 0xe4, 0xe6, 0xd1, 0x87, 0x78, 0x2d, 0x94, 0x2a, 0x11, 0xf6, 0xad, 0x78, 0xd6, 0xa8, 0xe0, 0x99, 0x9b, 0x95, + 0xcc, 0x00, 0x28, 0x04, 0xba, 0xd5, 0x1c, 0xbe, 0xeb, 0x8f, 0x7b, 0x75, 0x80, 0xce, 0x6a, 0x5f, 0xce, 0x84, 0x8c, + 0x91, 0xe7, 0xf4, 0x20, 0xe8, 0xe9, 0xa3, 0x77, 0xbc, 0xbd, 0xac, 0x2a, 0x43, 0x8e, 0xc5, 0xc8, 0xa1, 0x99, 0x3c, + 0x2a, 0x4b, 0x1a, 0xb2, 0xe0, 0x72, 0x2a, 0xd7, 0xa4, 0x5a, 0xf5, 0x25, 0xe9, 0x7d, 0xcd, 0xd9, 0x0e, 0x68, 0xec, + 0x79, 0xbf, 0x85, 0xe0, 0x18, 0x84, 0x90, 0x30, 0x27, 0x36, 0xf7, 0xfe, 0xce, 0x00, 0xe7, 0xdb, 0x97, 0x50, 0x6f, + 0xbe, 0xf9, 0x81, 0x5b, 0xf4, 0x13, 0x8e, 0xa1, 0xb4, 0x38, 0xd5, 0x84, 0xab, 0xa3, 0x37, 0xb2, 0x36, 0x52, 0xd2, + 0x79, 0x1d, 0xbd, 0x1b, 0x1b, 0xc5, 0x78, 0xc7, 0x40, 0x54, 0x44, 0x79, 0xb8, 0x1f, 0x4b, 0xa2, 0x72, 0x73, 0x82, + 0x6b, 0x8a, 0x48, 0x44, 0xe1, 0x20, 0xdd, 0xc5, 0xd5, 0xf8, 0xc2, 0xa1, 0xc6, 0x34, 0x33, 0x07, 0x06, 0x48, 0xaa, + 0x43, 0x5d, 0x9b, 0xdd, 0x37, 0x02, 0xe1, 0x25, 0x17, 0xb0, 0x5c, 0x81, 0xcb, 0x43, 0xfe, 0x22, 0xf5, 0x5d, 0xcc, + 0x3b, 0x6d, 0x42, 0x24, 0xe7, 0xce, 0x80, 0x18, 0x38, 0xa4, 0x08, 0x25, 0xd3, 0x8d, 0x4b, 0x4e, 0xe2, 0xd6, 0x6c, + 0xce, 0x5c, 0x28, 0x19, 0x33, 0xf7, 0x88, 0xfe, 0x83, 0xf7, 0x36, 0x21, 0x5e, 0x70, 0x90, 0x45, 0x25, 0x3a, 0x1b, + 0x46, 0x3a, 0x91, 0xf0, 0x6b, 0x2c, 0xde, 0x60, 0x47, 0x96, 0x06, 0xd1, 0x4d, 0x91, 0x31, 0x84, 0x4d, 0x3b, 0xac, + 0x0e, 0xcd, 0x46, 0x49, 0x42, 0x0e, 0x08, 0xb5, 0xf3, 0x24, 0x27, 0x1d, 0xe1, 0xdd, 0xbb, 0xdc, 0xa6, 0xea, 0xc5, + 0xaf, 0x32, 0xd1, 0xa8, 0x36, 0x11, 0x2b, 0xbf, 0x9e, 0xc8, 0xca, 0xc2, 0x97, 0x02, 0x9a, 0x02, 0x25, 0x49, 0xfe, + 0xf6, 0xd7, 0xb4, 0xcc, 0xd3, 0x6b, 0x1d, 0x64, 0x30, 0x98, 0x7c, 0x25, 0x72, 0x8d, 0x1a, 0xd9, 0xe0, 0x3b, 0xe9, + 0x5c, 0xc6, 0x2a, 0xf7, 0x65, 0x88, 0x78, 0x9a, 0x9b, 0xfe, 0xa5, 0x0f, 0x2a, 0xd4, 0xea, 0x43, 0x23, 0xbb, 0x93, + 0xb6, 0x3e, 0x49, 0xd1, 0x48, 0x56, 0xec, 0xe2, 0x8b, 0x4b, 0x34, 0x5a, 0x32, 0x15, 0x4f, 0xca, 0x22, 0x63, 0x93, + 0x6b, 0xaf, 0x8d, 0x4d, 0xd4, 0x1d, 0x8c, 0x25, 0xb2, 0x34, 0x7c, 0x3b, 0x3d, 0xda, 0x10, 0xb7, 0xf7, 0x50, 0x57, + 0x37, 0x65, 0x1f, 0xde, 0xcd, 0xa8, 0x42, 0x73, 0xb3, 0x4a, 0x9d, 0x71, 0x70, 0x86, 0x5f, 0xaf, 0x50, 0x68, 0x4e, + 0x9f, 0x1a, 0x92, 0xe3, 0xec, 0x6b, 0x69, 0x00, 0xed, 0xab, 0xc9, 0x28, 0x16, 0x61, 0x21, 0xc4, 0x25, 0x1c, 0x80, + 0x5c, 0x3e, 0x4c, 0x97, 0x58, 0x6b, 0x95, 0x2b, 0xe9, 0x95, 0x48, 0x16, 0x28, 0xf1, 0x51, 0x9d, 0x5a, 0xa9, 0xac, + 0xe6, 0x4c, 0x62, 0x06, 0x0a, 0x98, 0xbc, 0x35, 0xbd, 0x91, 0x9e, 0xe5, 0x96, 0xb9, 0x4c, 0x70, 0xe6, 0x42, 0xb4, + 0xe6, 0x87, 0x6f, 0x72, 0x43, 0x56, 0x54, 0xd3, 0x88, 0x14, 0x3f, 0x38, 0x33, 0x10, 0x13, 0x20, 0x96, 0x31, 0xd7, + 0x27, 0x98, 0x60, 0x83, 0xf5, 0x66, 0x4d, 0xd7, 0xb0, 0xa1, 0xfc, 0x74, 0xff, 0xe4, 0x17, 0x63, 0x9e, 0x23, 0x80, + 0x95, 0x99, 0x78, 0x5e, 0xf2, 0xe9, 0x54, 0x29, 0x74, 0x89, 0x28, 0xce, 0x68, 0xd1, 0xd8, 0x99, 0x86, 0x65, 0x6c, + 0x23, 0x43, 0x00, 0xb4, 0x37, 0xf9, 0xf5, 0x65, 0x16, 0x25, 0xb5, 0x32, 0x21, 0xf2, 0x11, 0xd3, 0x8c, 0x3c, 0x39, + 0xd5, 0x21, 0x6b, 0x0d, 0x1e, 0x46, 0x95, 0x48, 0xfe, 0x78, 0x2a, 0xb9, 0x90, 0x44, 0xef, 0x61, 0x3b, 0x54, 0x59, + 0xb2, 0x60, 0xc5, 0x2a, 0x7a, 0xdf, 0xde, 0xee, 0xfa, 0x6b, 0x64, 0xc2, 0x5e, 0x00, 0xa2, 0xd7, 0x1e, 0x1c, 0xe3, + 0x95, 0xc9, 0x27, 0x57, 0x19, 0x2c, 0x28, 0x25, 0x42, 0x4d, 0x38, 0xda, 0x98, 0xcb, 0x32, 0x53, 0x70, 0xd5, 0x23, + 0xd9, 0xb2, 0x94, 0x39, 0xc9, 0xb0, 0xde, 0x06, 0x92, 0xf1, 0x11, 0xb5, 0xfc, 0xb5, 0x60, 0x6f, 0x1d, 0xd4, 0x29, + 0x04, 0x71, 0x92, 0xff, 0xe6, 0xf1, 0xba, 0xc5, 0xf7, 0xcb, 0x4f, 0x9b, 0x2c, 0x46, 0x92, 0xbd, 0x48, 0x53, 0xe9, + 0xbf, 0xd0, 0x2c, 0x0d, 0x0e, 0x4a, 0x4b, 0x6f, 0xcf, 0x05, 0x57, 0x7a, 0x21, 0x8a, 0x59, 0x00, 0x4f, 0x48, 0xa9, + 0x37, 0xba, 0x92, 0x68, 0x9d, 0x61, 0x75, 0x2c, 0xce, 0x6a, 0x11, 0x7a, 0x95, 0x4e, 0x88, 0xc5, 0x53, 0x23, 0xf2, + 0x9b, 0xac, 0x38, 0x47, 0xf7, 0xc6, 0xe3, 0x6b, 0x76, 0xbe, 0x2c, 0x43, 0x65, 0xea, 0x47, 0x88, 0xbe, 0x14, 0x1c, + 0x21, 0x36, 0x12, 0x75, 0x1b, 0x56, 0x8c, 0x10, 0x4c, 0x78, 0x75, 0x62, 0x96, 0x4b, 0xf4, 0xda, 0xfa, 0xe3, 0x7d, + 0xba, 0x67, 0xd5, 0x30, 0x7a, 0x65, 0x3e, 0xfe, 0x25, 0x91, 0xcd, 0x30, 0xfa, 0x13, 0xf8, 0x81, 0xc5, 0x9d, 0x9b, + 0xe9, 0x41, 0x38, 0x31, 0x4f, 0x4a, 0x2a, 0xb3, 0xf9, 0x83, 0xbd, 0xc3, 0x30, 0xba, 0xa0, 0xfb, 0xc1, 0x9b, 0x4e, + 0xad, 0x76, 0xbf, 0x21, 0xba, 0x8a, 0xa7, 0xdd, 0xfd, 0xaa, 0x3f, 0x98, 0x24, 0x0a, 0xd1, 0x8b, 0x06, 0x00, 0x3c, + 0xcd, 0x80, 0x67, 0x92, 0x62, 0x63, 0xf2, 0x66, 0x96, 0xae, 0x9c, 0x13, 0x5f, 0x50, 0xe7, 0xd9, 0x86, 0xac, 0xc9, + 0xbd, 0x24, 0xc8, 0x29, 0x55, 0x6e, 0x0d, 0xca, 0x18, 0x15, 0x55, 0x62, 0x78, 0x9a, 0x46, 0xb0, 0x01, 0x72, 0x4b, + 0x5b, 0x74, 0x3d, 0x23, 0x35, 0xa7, 0x73, 0x48, 0xd5, 0xca, 0x12, 0xdf, 0xa3, 0x3f, 0xca, 0xd0, 0x78, 0x48, 0xc4, + 0x56, 0x5d, 0xd3, 0xdc, 0xaf, 0xeb, 0x5d, 0x3a, 0x6e, 0xf8, 0x9d, 0x89, 0xc2, 0x6f, 0x5e, 0xe0, 0x3d, 0xb7, 0xd0, + 0xd1, 0x06, 0x37, 0x8e, 0xec, 0xe0, 0xcf, 0x60, 0x02, 0x63, 0x3f, 0x6f, 0x86, 0x83, 0xcb, 0x19, 0x9a, 0xaf, 0xa7, + 0xb9, 0xc7, 0xbd, 0x23, 0x6e, 0xd9, 0x5c, 0xe3, 0x7f, 0x73, 0x0b, 0x05, 0xe5, 0xfb, 0xcc, 0xb0, 0xa4, 0xd9, 0xde, + 0x8a, 0xa4, 0xf2, 0x35, 0x03, 0xd8, 0x85, 0x94, 0x9a, 0x0a, 0xb3, 0x69, 0x36, 0x99, 0x60, 0x00, 0x74, 0x91, 0xdf, + 0x5a, 0x2a, 0x88, 0x70, 0x89, 0xc6, 0x80, 0x1b, 0x40, 0x7d, 0x00, 0x86, 0x32, 0xe7, 0x10, 0x1e, 0x82, 0xaf, 0xb0, + 0x91, 0x18, 0xd9, 0x25, 0x18, 0xe3, 0x71, 0xdb, 0xc7, 0xaf, 0xc5, 0x5e, 0xd3, 0xec, 0x94, 0xef, 0x31, 0x36, 0xb1, + 0x79, 0x16, 0x1e, 0xd2, 0x07, 0x39, 0xf3, 0x9d, 0x19, 0x2b, 0xa2, 0x75, 0x7e, 0x2e, 0xec, 0x2f, 0x2d, 0x91, 0x60, + 0xd2, 0x52, 0xdb, 0x1b, 0x90, 0xf2, 0x89, 0x80, 0xa5, 0x34, 0x2f, 0x42, 0x5b, 0x35, 0xc8, 0x03, 0x25, 0xf4, 0x76, + 0x1a, 0xb5, 0xd7, 0x36, 0xeb, 0x85, 0x62, 0x5d, 0x70, 0xdc, 0x6a, 0x01, 0x43, 0x66, 0x38, 0x62, 0x03, 0xd6, 0x81, + 0x2b, 0x99, 0xa9, 0x66, 0xe2, 0x42, 0x9c, 0xd7, 0x99, 0xd1, 0x8c, 0x9f, 0xf3, 0xd4, 0x6e, 0xab, 0xcd, 0x95, 0x38, + 0x43, 0xff, 0xae, 0x5e, 0xbd, 0x99, 0xc6, 0xe8, 0x6e, 0x4c, 0x20, 0xdb, 0x4a, 0x1f, 0x0d, 0x7f, 0x3c, 0x9c, 0xa5, + 0x18, 0x06, 0xdc, 0x9f, 0x53, 0x15, 0xb4, 0xbf, 0x40, 0x79, 0x96, 0x97, 0x36, 0x76, 0x88, 0xd4, 0x64, 0xa0, 0x54, + 0x79, 0xbe, 0x97, 0x6c, 0x95, 0x48, 0xd0, 0x20, 0xb9, 0x91, 0x27, 0xcf, 0xe1, 0x0b, 0x32, 0xe2, 0x8f, 0xc6, 0xef, + 0x2f, 0x20, 0xc2, 0xce, 0x30, 0x93, 0x07, 0x06, 0x33, 0x77, 0x67, 0x03, 0x4f, 0x92, 0xd6, 0x9f, 0x8e, 0x12, 0xcd, + 0x97, 0x9b, 0xbb, 0x92, 0x4c, 0x71, 0x42, 0xf3, 0x93, 0x0f, 0x33, 0x54, 0x14, 0x97, 0x7f, 0xe0, 0x7a, 0xd6, 0x9e, + 0xa4, 0xc0, 0xf5, 0x7e, 0x08, 0x59, 0x11, 0xa9, 0xa8, 0x05, 0xf5, 0xd0, 0x8c, 0xc6, 0xf2, 0x43, 0x73, 0xfb, 0x45, + 0xaf, 0x08, 0x6c, 0xe2, 0x51, 0x8d, 0x9f, 0xf4, 0x5f, 0x3f, 0x30, 0x20, 0xe6, 0xbf, 0x4b, 0x62, 0x45, 0x55, 0xe3, + 0xdc, 0x65, 0x89, 0xaf, 0x60, 0xd5, 0x9f, 0x87, 0x44, 0x11, 0x64, 0xb7, 0x52, 0x84, 0x10, 0x9a, 0x2a, 0x62, 0xda, + 0x03, 0x38, 0xbd, 0x41, 0xdf, 0x51, 0x84, 0x85, 0x0a, 0x37, 0xa6, 0x9f, 0x90, 0x9a, 0x04, 0xa3, 0xd3, 0xd1, 0x40, + 0xe5, 0x80, 0xa4, 0x6f, 0x77, 0xbe, 0xbd, 0x47, 0x26, 0x59, 0xab, 0x5b, 0x99, 0xa4, 0x00, 0x81, 0x36, 0x7c, 0xc8, + 0xed, 0xed, 0x79, 0x9e, 0xe7, 0x2a, 0xab, 0xd7, 0xf1, 0x67, 0x1b, 0x0e, 0x13, 0xdb, 0xb1, 0x35, 0x3c, 0x78, 0xa2, + 0x85, 0x74, 0xfc, 0x45, 0x53, 0x34, 0xe8, 0x1a, 0xf1, 0x11, 0x05, 0xfa, 0x9c, 0x5d, 0x48, 0x1a, 0x37, 0xef, 0xca, + 0x75, 0xe0, 0x32, 0xb8, 0x29, 0x19, 0x1c, 0xd8, 0x9d, 0x0a, 0x99, 0x39, 0x35, 0x17, 0x54, 0x1e, 0x0f, 0xa4, 0xfe, + 0x90, 0xca, 0x8d, 0x59, 0xaa, 0x10, 0x1b, 0x54, 0xa7, 0x06, 0x7c, 0xd9, 0x13, 0x41, 0xcb, 0x13, 0xc8, 0xde, 0xab, + 0x21, 0xc5, 0x98, 0xe4, 0x72, 0x97, 0x03, 0xb6, 0xa1, 0x03, 0xd5, 0xa0, 0xe9, 0x18, 0x40, 0xb8, 0xbb, 0xf8, 0x96, + 0xf4, 0xbf, 0x7d, 0x9c, 0x7e, 0xaa, 0xee, 0x3c, 0x02, 0x4d, 0xb2, 0x56, 0x74, 0xbf, 0xd4, 0xa2, 0x21, 0x48, 0x78, + 0x1b, 0x1e, 0x22, 0xfe, 0xf4, 0x77, 0xe4, 0xd2, 0xc0, 0x5a, 0xd7, 0xa1, 0xff, 0x8e, 0x6c, 0xa6, 0x50, 0xa6, 0x15, + 0x52, 0xea, 0x54, 0x2d, 0x9c, 0x3b, 0x45, 0x59, 0x1a, 0x54, 0x3f, 0x48, 0x65, 0x85, 0x03, 0x09, 0x89, 0x44, 0x45, + 0x19, 0x26, 0x15, 0xaf, 0x69, 0x7d, 0x9f, 0x62, 0x13, 0x9e, 0xdd, 0xad, 0xfc, 0x90, 0x39, 0x88, 0x97, 0xc2, 0x1f, + 0x0f, 0xc6, 0xd7, 0x48, 0x6b, 0xa8, 0x67, 0x87, 0x87, 0x23, 0xcc, 0x51, 0xc4, 0xfa, 0x14, 0x65, 0xa8, 0x04, 0x72, + 0x29, 0xc5, 0x13, 0x86, 0x97, 0x98, 0xa8, 0xe8, 0x1c, 0x72, 0xd0, 0xe6, 0x7c, 0x80, 0x85, 0x87, 0x5e, 0xf0, 0xaf, + 0xe8, 0x21, 0x77, 0xaf, 0x8c, 0x88, 0xa6, 0x32, 0xa5, 0xdb, 0x3a, 0xe5, 0x1e, 0x3a, 0x5b, 0x04, 0xbd, 0x7d, 0xcf, + 0x3f, 0x7d, 0xa7, 0xef, 0xd4, 0xcf, 0x3e, 0xe5, 0x63, 0x7d, 0xca, 0xbf, 0xee, 0xfe, 0x63, 0xdb, 0x21, 0xff, 0x78, + 0xc9, 0xa6, 0x6d, 0x58, 0xd3, 0x6e, 0x4a, 0x54, 0xba, 0x4f, 0x14, 0x66, 0xe2, 0xa5, 0x18, 0xff, 0xb6, 0x28, 0x6b, + 0x7d, 0xb9, 0xb0, 0x82, 0x74, 0x32, 0x9b, 0xf0, 0xf5, 0xaf, 0x0b, 0x47, 0x08, 0x2d, 0x02, 0x3b, 0x49, 0xe9, 0x7c, + 0x92, 0xb5, 0x05, 0x34, 0x97, 0xa4, 0xb3, 0x84, 0x59, 0xc2, 0xd6, 0xf9, 0x04, 0xf4, 0x40, 0xb3, 0xa9, 0x5e, 0xe0, + 0x3a, 0x72, 0x0c, 0xc5, 0xf1, 0x6a, 0xe7, 0xa3, 0xdf, 0xde, 0x8a, 0x6f, 0x31, 0xd8, 0x85, 0xa5, 0x16, 0xd4, 0x8c, + 0x9a, 0x55, 0x0b, 0x38, 0x83, 0xb3, 0x78, 0x16, 0x14, 0xe8, 0xe7, 0x82, 0x21, 0xb8, 0x80, 0xd6, 0x06, 0xfa, 0x60, + 0xda, 0x78, 0x84, 0x45, 0x59, 0xe4, 0x1d, 0xf5, 0xe2, 0x66, 0x5d, 0xf5, 0xde, 0xdf, 0x56, 0x8c, 0x4a, 0xbc, 0xe5, + 0x7f, 0x05, 0x55, 0x22, 0xe9, 0xae, 0x90, 0xc8, 0xbb, 0x2a, 0x3e, 0x5e, 0x9b, 0xd6, 0x07, 0xb1, 0xac, 0xda, 0xb2, + 0xfe, 0x8e, 0xb0, 0x33, 0xe1, 0x71, 0xe8, 0x9e, 0xaa, 0x50, 0x10, 0xd3, 0x38, 0x77, 0xc9, 0xf7, 0x43, 0xbe, 0xea, + 0x7c, 0x37, 0xfc, 0x5b, 0x54, 0xcb, 0x5c, 0xcf, 0x24, 0x02, 0xa2, 0x9c, 0x74, 0xc1, 0xca, 0x61, 0x78, 0xe2, 0x9e, + 0xe6, 0x75, 0x91, 0x9c, 0x17, 0xd4, 0x33, 0x2c, 0x6e, 0xdf, 0xcb, 0x5f, 0x84, 0x6d, 0x8a, 0xca, 0x5f, 0xd8, 0x8c, + 0x3d, 0x1c, 0x51, 0x4d, 0xb7, 0x4f, 0xa8, 0xa0, 0x55, 0xa5, 0x1c, 0x4f, 0xbb, 0xf0, 0x22, 0x72, 0xb6, 0x37, 0xb0, + 0x53, 0xe6, 0xb6, 0x66, 0xdb, 0x1d, 0xe9, 0xef, 0x62, 0x15, 0x45, 0xec, 0x8a, 0xc3, 0x3e, 0xad, 0xa4, 0xeb, 0x8a, + 0x9a, 0xc3, 0x10, 0x8d, 0xe3, 0x0d, 0x14, 0xe5, 0xdb, 0x00, 0x1b, 0x1d, 0x20, 0xf4, 0xdb, 0x06, 0x4f, 0x80, 0x39, + 0xcc, 0xac, 0x36, 0x2e, 0x5e, 0xcd, 0x96, 0x4a, 0xee, 0xa9, 0xea, 0xfd, 0x5b, 0x0e, 0x8c, 0xbd, 0xcd, 0xfe, 0x29, + 0x46, 0x1f, 0xf1, 0xd9, 0xfb, 0xdb, 0x4f, 0x18, 0x82, 0x3c, 0x73, 0xe5, 0x7d, 0xdd, 0x83, 0x98, 0x94, 0xd9, 0x2a, + 0x35, 0x6d, 0x2b, 0x5c, 0x32, 0x08, 0xaf, 0x1d, 0x6d, 0x58, 0xa2, 0x4e, 0x61, 0x7f, 0xad, 0x92, 0xd5, 0x4d, 0x80, + 0xcf, 0x93, 0x5a, 0x62, 0x4e, 0x95, 0xc7, 0xfe, 0xea, 0xc5, 0x49, 0x26, 0x7f, 0x62, 0x02, 0x75, 0x06, 0x97, 0xb0, + 0x29, 0xcb, 0x1f, 0xc4, 0xfe, 0xdd, 0xec, 0x6f, 0x97, 0x46, 0xfe, 0xe6, 0x28, 0xb1, 0x08, 0x29, 0xac, 0x60, 0x5c, + 0xca, 0xd7, 0x4b, 0x3a, 0x80, 0x46, 0x36, 0x29, 0x46, 0x2f, 0x68, 0x5f, 0x7e, 0xee, 0xbe, 0xc2, 0xdc, 0x53, 0x32, + 0x76, 0x71, 0x30, 0xcb, 0xb5, 0x45, 0xe1, 0x48, 0x83, 0x65, 0xf0, 0xa2, 0xb7, 0x3a, 0xc2, 0x47, 0xe6, 0x88, 0x8f, + 0xcf, 0xfb, 0xe5, 0x82, 0x68, 0x51, 0x9a, 0x3f, 0x0e, 0x9e, 0x06, 0x74, 0x5c, 0x6a, 0xdb, 0xf4, 0x1e, 0x39, 0x75, + 0x40, 0xe8, 0x1a, 0x9b, 0x4c, 0x3f, 0x56, 0x28, 0x25, 0x35, 0x4b, 0xdb, 0xe9, 0xb1, 0xb1, 0x53, 0x53, 0xa2, 0xf8, + 0xae, 0xef, 0xba, 0x3b, 0x45, 0xb5, 0xae, 0x9f, 0x72, 0x44, 0x3e, 0xea, 0x82, 0x78, 0x35, 0x72, 0x6d, 0x87, 0x5c, + 0x7d, 0xd9, 0xa9, 0xea, 0x41, 0x5d, 0xec, 0x7f, 0xc8, 0x95, 0x9c, 0x66, 0xe3, 0x5b, 0x6f, 0xd0, 0xea, 0x26, 0x0d, + 0x3d, 0xe4, 0xc0, 0x02, 0x87, 0x14, 0xe1, 0x46, 0x0c, 0x6d, 0x6b, 0x24, 0x78, 0xac, 0x98, 0xc2, 0x83, 0xb8, 0x3f, + 0x8e, 0x4c, 0x80, 0xaa, 0xe8, 0x45, 0xa8, 0x8d, 0x6d, 0x0e, 0x3d, 0x03, 0x5c, 0x0f, 0xe9, 0xaf, 0x82, 0x9c, 0xef, + 0xe0, 0x6e, 0x30, 0x5a, 0x67, 0xcf, 0x8b, 0xf2, 0x81, 0x6a, 0x5c, 0x6f, 0xdb, 0xe1, 0x90, 0x5d, 0x63, 0xb7, 0x8b, + 0xa4, 0x76, 0x59, 0xe8, 0x33, 0x5b, 0x83, 0x91, 0x62, 0x6c, 0xbd, 0x05, 0xbe, 0xd9, 0x96, 0x41, 0x65, 0xd7, 0x7e, + 0x23, 0x29, 0xa1, 0xd1, 0xc5, 0xd0, 0x60, 0xbc, 0x81, 0x40, 0x55, 0xb0, 0x3c, 0x8b, 0x69, 0x2b, 0x61, 0x34, 0x1a, + 0xf7, 0xb4, 0x9f, 0x46, 0xf5, 0xb1, 0xfc, 0x91, 0x6e, 0xa6, 0xdc, 0x48, 0x97, 0x1f, 0xa6, 0xcb, 0x3d, 0x04, 0x53, + 0x61, 0xf9, 0x52, 0xad, 0x24, 0x02, 0x6e, 0xb9, 0x82, 0xd2, 0x60, 0x7f, 0x3f, 0xaf, 0xc0, 0xcc, 0x4b, 0x9e, 0x63, + 0x68, 0x78, 0xb1, 0x51, 0xb1, 0x71, 0xe2, 0xa7, 0xbb, 0x44, 0xcb, 0xa9, 0x19, 0x3c, 0x45, 0x3c, 0x20, 0xd5, 0x6d, + 0x0b, 0x5e, 0x1e, 0x3c, 0x46, 0x23, 0x4b, 0x57, 0xca, 0x2e, 0x93, 0x67, 0xf5, 0x50, 0x8e, 0x2a, 0x71, 0xd0, 0x4b, + 0xa4, 0x51, 0x57, 0xde, 0xfa, 0xc6, 0x4b, 0x60, 0x95, 0xb4, 0x4c, 0x4e, 0xbf, 0xef, 0x88, 0x34, 0x48, 0xb8, 0x94, + 0x42, 0xf1, 0x57, 0x89, 0x90, 0x7a, 0x6f, 0x0d, 0x1d, 0xc3, 0xc0, 0xfd, 0x75, 0x3e, 0xe2, 0xac, 0xf8, 0xec, 0x17, + 0x07, 0xd0, 0xa5, 0x2a, 0x1b, 0xa4, 0x5d, 0xac, 0xdc, 0x99, 0xef, 0xf7, 0xe8, 0x6d, 0x95, 0x62, 0xf1, 0x2d, 0xa3, + 0x9f, 0x58, 0xbc, 0x15, 0x32, 0xd8, 0x3d, 0x3f, 0xc0, 0x83, 0x1d, 0x9a, 0x48, 0x5d, 0x25, 0x04, 0x30, 0x41, 0x27, + 0xbd, 0x9c, 0xbc, 0x42, 0x14, 0xa1, 0x05, 0xee, 0xc9, 0xa1, 0x8d, 0x4a, 0x61, 0xbe, 0x82, 0xf0, 0x8f, 0x72, 0xf9, + 0x1e, 0x03, 0xd3, 0xe0, 0x12, 0x0d, 0xe5, 0x03, 0x22, 0xd2, 0x93, 0x91, 0x14, 0x81, 0x17, 0xf2, 0x3e, 0x11, 0x4c, + 0x5c, 0xa3, 0x75, 0x13, 0xbc, 0xa7, 0xc5, 0xd1, 0x4d, 0xf3, 0xd4, 0xc2, 0x8c, 0xf8, 0x19, 0x13, 0x46, 0xe1, 0x32, + 0xc4, 0x77, 0x16, 0x14, 0x9e, 0x60, 0xa7, 0x1a, 0x54, 0xaf, 0x8f, 0xda, 0xf4, 0x62, 0x37, 0xf8, 0x2b, 0x37, 0x1f, + 0xcf, 0x45, 0x3a, 0xf2, 0x42, 0x5c, 0xf2, 0xdc, 0xf9, 0x01, 0x9a, 0x10, 0x9e, 0xbb, 0x61, 0x77, 0x89, 0x0e, 0xac, + 0x93, 0xc9, 0x86, 0x15, 0x4d, 0xdc, 0x74, 0x02, 0x0c, 0xf2, 0xdc, 0x39, 0xb4, 0x6a, 0xe2, 0xe9, 0x3f, 0x55, 0xb9, + 0x5d, 0xf2, 0xbc, 0xc3, 0xee, 0x9a, 0xda, 0x35, 0x36, 0x06, 0x22, 0xe2, 0x62, 0x34, 0xc7, 0xd2, 0x4b, 0xfc, 0x1c, + 0xee, 0xdc, 0x7b, 0x5c, 0x3f, 0xc5, 0x18, 0x20, 0x1f, 0xde, 0x42, 0xb6, 0x80, 0x9e, 0xc5, 0x79, 0x9f, 0xa1, 0x17, + 0xde, 0xed, 0x25, 0x66, 0x44, 0x72, 0x7f, 0xa6, 0xf5, 0x91, 0x28, 0x47, 0x7a, 0x09, 0x29, 0x4e, 0x70, 0x94, 0xec, + 0x44, 0xc0, 0xfe, 0xbf, 0x10, 0x6d, 0x27, 0x88, 0xf2, 0x6d, 0xc2, 0xcd, 0xdd, 0xed, 0x58, 0xb9, 0x7d, 0xcb, 0x13, + 0x42, 0xa9, 0xf8, 0x84, 0x71, 0x88, 0x69, 0x27, 0x13, 0xbb, 0x23, 0x43, 0x44, 0x0f, 0x4b, 0x70, 0x1d, 0xb8, 0x19, + 0x7e, 0x74, 0xf6, 0x36, 0x8e, 0xe4, 0xe2, 0x73, 0xf5, 0xf3, 0x67, 0xdb, 0x60, 0x71, 0xed, 0xf6, 0xf2, 0x02, 0xc8, + 0x44, 0x3e, 0xea, 0x48, 0xbc, 0xa2, 0x01, 0x1a, 0xa7, 0xd7, 0x80, 0x11, 0xa7, 0x2c, 0x7d, 0x41, 0x87, 0x89, 0xca, + 0x23, 0xf5, 0xa0, 0x11, 0x3f, 0xc2, 0x90, 0xed, 0xb2, 0xac, 0x89, 0xb4, 0x30, 0xda, 0xb7, 0x40, 0xe1, 0x04, 0x58, + 0xb9, 0x0d, 0x0b, 0xf4, 0x6b, 0x21, 0x23, 0xaf, 0x81, 0x86, 0xfa, 0x7c, 0xf3, 0xda, 0xdf, 0x4f, 0xf4, 0x4f, 0x8b, + 0xe6, 0x90, 0x96, 0xd4, 0x23, 0xbf, 0x0f, 0xb6, 0xc7, 0xd6, 0xe2, 0xe7, 0x9d, 0xaf, 0x32, 0xa6, 0x25, 0x18, 0x91, + 0x77, 0x63, 0x08, 0xf9, 0x20, 0xc7, 0x2a, 0x08, 0x25, 0x5f, 0xab, 0x5a, 0x3b, 0xc4, 0x7a, 0xca, 0xdb, 0x14, 0x79, + 0xdb, 0x7c, 0x54, 0x51, 0x58, 0xad, 0xc0, 0xfe, 0xaa, 0xa1, 0xac, 0xc4, 0x0b, 0xfd, 0x57, 0x42, 0xa2, 0x0a, 0x89, + 0x45, 0x07, 0x3d, 0x12, 0xce, 0x3f, 0x08, 0x51, 0xd0, 0xe5, 0x96, 0x6a, 0xd9, 0x6e, 0x5f, 0x1a, 0x0a, 0x57, 0x81, + 0x58, 0x60, 0xb7, 0xf1, 0xbc, 0xad, 0xe3, 0x45, 0x1c, 0x97, 0x99, 0xb5, 0x6f, 0xbc, 0xe2, 0x2b, 0xec, 0x05, 0x81, + 0xfd, 0x1a, 0xce, 0x9a, 0xfc, 0xdf, 0xcf, 0xf0, 0x9a, 0x99, 0xc5, 0xcd, 0xc5, 0xf0, 0x6f, 0x67, 0xb3, 0xfc, 0x62, + 0x78, 0xb3, 0xd9, 0x21, 0xb5, 0x98, 0xd3, 0x68, 0xda, 0x7c, 0x78, 0xfd, 0xf0, 0xf2, 0x20, 0x9d, 0xde, 0xf3, 0x93, + 0xbc, 0x75, 0x76, 0x71, 0x0c, 0x59, 0xf0, 0x09, 0x3f, 0x6b, 0xb0, 0x39, 0xfb, 0xaf, 0xad, 0xd0, 0x1e, 0xd7, 0xde, + 0x33, 0xbb, 0x12, 0xab, 0xd3, 0xd8, 0xeb, 0xed, 0xbe, 0x9a, 0x02, 0xfe, 0x13, 0x81, 0x26, 0xbe, 0xf2, 0xc9, 0xa4, + 0x14, 0x07, 0x40, 0xa0, 0xba, 0x35, 0xf8, 0x7b, 0x18, 0x8c, 0x32, 0x92, 0xf1, 0xf6, 0x13, 0x92, 0xc8, 0xc6, 0xe1, + 0xe9, 0xdc, 0x42, 0xb1, 0x1e, 0xe9, 0xfb, 0x3c, 0xcd, 0xb4, 0x7e, 0x5b, 0x46, 0xd5, 0xa9, 0x81, 0x2c, 0x68, 0x9c, + 0x69, 0x10, 0xac, 0x7f, 0xdb, 0x58, 0x9d, 0x59, 0xf8, 0x66, 0x21, 0xa2, 0x59, 0x16, 0xff, 0x78, 0x4e, 0xb6, 0xd0, + 0xa0, 0xc0, 0x8f, 0x9a, 0x66, 0xde, 0xb5, 0x6e, 0x75, 0x01, 0x21, 0xef, 0x96, 0xa7, 0xf5, 0xa5, 0x3f, 0xff, 0x82, + 0x35, 0xbb, 0xf1, 0x5f, 0x5d, 0x8f, 0xd6, 0x8b, 0x10, 0x25, 0x5b, 0x81, 0x00, 0x71, 0xb1, 0x8d, 0xe3, 0x2d, 0x79, + 0xe3, 0x34, 0x17, 0xc9, 0x3c, 0x7c, 0x75, 0x92, 0x66, 0x05, 0xa1, 0x9a, 0xdf, 0x26, 0xf1, 0x0a, 0xd4, 0x59, 0x89, + 0x8f, 0x8a, 0x77, 0xe3, 0xde, 0xf5, 0xc4, 0xf6, 0xbf, 0xf2, 0x25, 0x14, 0xc4, 0xf7, 0xfb, 0x16, 0xe8, 0x86, 0x9f, + 0x30, 0xc5, 0xdb, 0x8f, 0xd7, 0xe3, 0x37, 0xf9, 0xad, 0xc0, 0x3d, 0x16, 0x78, 0x67, 0xbd, 0x34, 0x97, 0xf2, 0x24, + 0x41, 0x66, 0x05, 0xae, 0xb8, 0xec, 0x07, 0x0f, 0x96, 0x2d, 0x4d, 0x80, 0x66, 0xab, 0xc8, 0x00, 0x19, 0xca, 0x25, + 0x08, 0x69, 0x83, 0x8c, 0xfe, 0x2d, 0x88, 0xa2, 0x24, 0xc7, 0xa7, 0xb3, 0x27, 0xd1, 0x0d, 0x95, 0x3e, 0x39, 0x32, + 0xb0, 0xb2, 0x0e, 0x50, 0x4b, 0x32, 0x54, 0x88, 0x84, 0x90, 0x64, 0x02, 0x60, 0x9f, 0x14, 0x1a, 0x0a, 0x9f, 0x6b, + 0x39, 0xed, 0xfc, 0xc2, 0xb7, 0x4c, 0x90, 0x78, 0x4c, 0x8e, 0x5a, 0xc9, 0x84, 0xb6, 0x7b, 0xad, 0xf9, 0xe8, 0xee, + 0xe2, 0xa9, 0x5d, 0x1c, 0x63, 0x3e, 0xf2, 0x3f, 0x4a, 0x73, 0x22, 0xf2, 0xb5, 0x0e, 0xc0, 0x4a, 0xde, 0x0a, 0x94, + 0x2d, 0x6f, 0x98, 0x17, 0x58, 0xfc, 0x56, 0x4b, 0x76, 0xf5, 0x0c, 0x02, 0xb4, 0x21, 0x9c, 0xb4, 0xe3, 0x5c, 0xe1, + 0xba, 0x99, 0x62, 0x0d, 0xe5, 0xf5, 0x0a, 0x47, 0x15, 0x9a, 0x26, 0xc6, 0x74, 0x73, 0x2d, 0x7a, 0x31, 0xf5, 0x9a, + 0x7a, 0x42, 0x92, 0xbc, 0x08, 0x67, 0xd5, 0x9e, 0xae, 0xfd, 0x67, 0x06, 0x48, 0x3d, 0x27, 0x17, 0xca, 0x36, 0x17, + 0xe3, 0xbb, 0x79, 0xe3, 0x59, 0xc6, 0xcd, 0xbd, 0x57, 0x6b, 0xaf, 0x9e, 0x67, 0xb7, 0x98, 0x8f, 0x25, 0xe4, 0xd3, + 0x0e, 0x31, 0x37, 0xb2, 0x50, 0x72, 0x84, 0x71, 0xd7, 0x86, 0x21, 0x13, 0x37, 0x2e, 0x2c, 0x98, 0x90, 0x1e, 0x1b, + 0x89, 0x71, 0x90, 0x35, 0xdf, 0xd5, 0x7e, 0x71, 0x7c, 0xfb, 0xa3, 0xb8, 0x48, 0x0b, 0xf6, 0xf0, 0xa4, 0xb3, 0x5f, + 0xf9, 0x4c, 0xa3, 0x6e, 0x23, 0x47, 0x02, 0x51, 0x0c, 0x44, 0x02, 0xba, 0x56, 0xa9, 0xd0, 0xcb, 0x8a, 0x79, 0xa8, + 0xc0, 0x67, 0x2d, 0xb4, 0x51, 0xc1, 0xaa, 0x57, 0xf8, 0x89, 0x08, 0x65, 0xa6, 0xd6, 0x6b, 0x80, 0x5c, 0x64, 0x6b, + 0xad, 0x9f, 0xf5, 0x76, 0x6d, 0xb8, 0x9c, 0x27, 0xf0, 0x57, 0xef, 0xe2, 0xd6, 0xc7, 0x04, 0x5d, 0x6e, 0xed, 0x9f, + 0x68, 0xcf, 0x32, 0x46, 0x12, 0x55, 0x9e, 0xc3, 0xd3, 0x0a, 0xe4, 0xeb, 0x8e, 0x34, 0x5e, 0x62, 0x43, 0xf6, 0x16, + 0xa5, 0x9f, 0x52, 0xc6, 0xbd, 0xfc, 0xa4, 0xd8, 0x03, 0xf6, 0xdc, 0x03, 0x82, 0x35, 0xfb, 0x5a, 0x5f, 0x6e, 0x4d, + 0xd3, 0x60, 0xff, 0xa3, 0x03, 0x4f, 0x40, 0xd9, 0xbe, 0x1c, 0x47, 0x18, 0x8f, 0xdc, 0x92, 0x31, 0x65, 0x08, 0x39, + 0xc1, 0x62, 0xbb, 0xd7, 0x1d, 0x6b, 0x68, 0x39, 0x95, 0x28, 0x16, 0x49, 0xee, 0x7e, 0x94, 0xce, 0x68, 0xff, 0xd4, + 0x4e, 0x25, 0xb4, 0xf5, 0xb7, 0x9a, 0x9d, 0x14, 0x4d, 0xd7, 0xf5, 0x0e, 0xe8, 0x3c, 0x4a, 0x94, 0x4f, 0x2c, 0x8f, + 0x5d, 0x7e, 0x79, 0xb7, 0x6b, 0x64, 0xbb, 0x29, 0xb7, 0xb5, 0x37, 0x1a, 0xa9, 0x18, 0x69, 0xe8, 0x81, 0xed, 0x70, + 0xd9, 0x29, 0x6d, 0x02, 0x22, 0x64, 0x54, 0x2f, 0x8e, 0xa4, 0x96, 0xfa, 0x42, 0x9c, 0x75, 0xe7, 0x23, 0xad, 0x68, + 0x2f, 0x82, 0x02, 0x10, 0x5a, 0x1d, 0xa9, 0x92, 0x35, 0x5c, 0x97, 0x11, 0x6c, 0x0f, 0xe3, 0xf5, 0x0d, 0x14, 0x55, + 0x79, 0x7a, 0x2d, 0xd8, 0x8a, 0x1f, 0xc7, 0xa6, 0xf0, 0xb0, 0x8b, 0x0c, 0xf6, 0xe0, 0x66, 0x8e, 0x13, 0x3c, 0x5d, + 0x9b, 0xd3, 0x92, 0x3d, 0xd9, 0x20, 0xb3, 0xe6, 0xeb, 0xdb, 0x21, 0x5e, 0xb8, 0x71, 0x3d, 0x2c, 0xd9, 0x25, 0x1c, + 0x5c, 0xfa, 0x04, 0x3e, 0xf8, 0xb5, 0x1d, 0xb3, 0x41, 0xa1, 0xab, 0xcb, 0x09, 0xf6, 0x92, 0xc6, 0xe7, 0xf9, 0x6f, + 0x66, 0x73, 0x51, 0xb2, 0x02, 0xac, 0xbd, 0xba, 0x6f, 0x11, 0x2e, 0x73, 0x07, 0x5f, 0xfe, 0x3f, 0x75, 0xd4, 0x76, + 0xf3, 0xf9, 0x2d, 0x9c, 0x9b, 0x1c, 0x3c, 0xc3, 0x21, 0xea, 0xf2, 0x40, 0xae, 0x5c, 0xbf, 0xfa, 0x4f, 0xa0, 0xe4, + 0x9d, 0x4e, 0x9a, 0x7f, 0xdd, 0x77, 0x61, 0x31, 0x36, 0x76, 0xd9, 0x3e, 0xe2, 0x84, 0xd1, 0x75, 0xa2, 0xd0, 0x7e, + 0xcf, 0xc4, 0xb6, 0x1a, 0x64, 0x04, 0x8b, 0x90, 0xd7, 0x77, 0xb6, 0x00, 0xf4, 0xfd, 0x65, 0x0f, 0x8b, 0xb7, 0x7e, + 0x45, 0xe2, 0x4d, 0xb1, 0xf0, 0xef, 0x47, 0x64, 0xe1, 0xda, 0xfe, 0x8a, 0x03, 0x04, 0xdb, 0x5a, 0xfb, 0x5a, 0xdc, + 0x72, 0xfb, 0xe8, 0x04, 0x20, 0x28, 0x61, 0x2d, 0x9e, 0x44, 0xed, 0x5f, 0x22, 0x23, 0x52, 0xf7, 0x19, 0x33, 0x35, + 0x4c, 0xc4, 0x9d, 0x15, 0xc7, 0xb0, 0xd2, 0x7d, 0x74, 0xe5, 0x36, 0xb9, 0x1a, 0x44, 0xd1, 0x1e, 0x9a, 0x88, 0x3b, + 0x36, 0x04, 0x79, 0x4f, 0xc8, 0x63, 0x81, 0xaa, 0xac, 0xc2, 0x96, 0x47, 0x29, 0x82, 0xe1, 0x39, 0x74, 0x01, 0xb6, + 0x52, 0xd4, 0x3a, 0x73, 0xc9, 0xe2, 0xc4, 0x81, 0xd7, 0x8f, 0x07, 0xbc, 0x1a, 0xdd, 0xcd, 0x91, 0x40, 0xdc, 0x49, + 0xb2, 0x5b, 0x50, 0xf5, 0xe6, 0x65, 0xe8, 0x56, 0x3c, 0xaf, 0x14, 0x77, 0xa3, 0xad, 0xbe, 0x0d, 0x21, 0x22, 0x0e, + 0xd1, 0xae, 0x1d, 0xa5, 0x07, 0x74, 0x20, 0x8b, 0x2e, 0xaa, 0x9a, 0x94, 0xe0, 0xbf, 0x29, 0xb3, 0x36, 0xa1, 0x86, + 0x09, 0x05, 0x05, 0xe7, 0x6c, 0xdc, 0x4a, 0xf8, 0xf4, 0x46, 0xc6, 0xdc, 0x52, 0xe0, 0x55, 0x68, 0x6e, 0xaa, 0x03, + 0xb9, 0x22, 0x1a, 0x74, 0xc9, 0xb5, 0xed, 0x32, 0xc7, 0x87, 0x59, 0xbb, 0xf0, 0xfc, 0xb9, 0xd8, 0x2f, 0x95, 0x52, + 0xe4, 0xa5, 0xa0, 0x10, 0x71, 0x6a, 0xa3, 0x12, 0x9a, 0xfa, 0x00, 0xd6, 0x74, 0x44, 0x70, 0x67, 0x3c, 0x7a, 0x87, + 0x48, 0xf2, 0x3f, 0x95, 0x52, 0x67, 0x23, 0x79, 0x04, 0x4c, 0xeb, 0x81, 0x49, 0xfd, 0x92, 0x6d, 0x81, 0xe0, 0xf0, + 0x40, 0x7f, 0x0c, 0x14, 0xc9, 0x13, 0x89, 0x58, 0x50, 0xc7, 0xd3, 0xa8, 0x6f, 0xec, 0x4b, 0xb5, 0x27, 0xf7, 0x76, + 0x7c, 0xd6, 0x1e, 0x7b, 0x88, 0x24, 0x63, 0x7e, 0x10, 0x41, 0x12, 0x24, 0xc2, 0x18, 0x8b, 0x3c, 0xc4, 0x40, 0x34, + 0x3f, 0xb9, 0xc1, 0xe0, 0x54, 0x53, 0x6d, 0xfd, 0x58, 0xa2, 0x23, 0x10, 0xa8, 0xcb, 0x34, 0xaa, 0xd8, 0xaa, 0x4c, + 0x10, 0xcc, 0x67, 0xfd, 0xbb, 0x76, 0x44, 0x60, 0xa6, 0x1d, 0x03, 0xb4, 0xc9, 0x1b, 0xcc, 0x47, 0x44, 0x66, 0xcb, + 0xce, 0x27, 0x89, 0x09, 0xa6, 0xae, 0xda, 0x23, 0xb3, 0x71, 0xc6, 0xc9, 0xa6, 0xe9, 0xd4, 0xee, 0xaa, 0x32, 0xb8, + 0x08, 0x2f, 0x5e, 0xa2, 0x11, 0x80, 0xe8, 0x5a, 0xbe, 0x16, 0x9e, 0x1c, 0x08, 0x20, 0xcc, 0x2d, 0x0d, 0xfc, 0x96, + 0x69, 0xfb, 0x27, 0x5d, 0xab, 0x1b, 0x22, 0x36, 0x0a, 0x11, 0xfe, 0xd3, 0x04, 0xd9, 0xf5, 0x5b, 0xab, 0x1d, 0xfb, + 0xfb, 0x4e, 0x5b, 0xf6, 0x5b, 0x8b, 0x59, 0x4a, 0x43, 0x17, 0xc2, 0x86, 0x61, 0x6b, 0x35, 0x14, 0x56, 0xcb, 0x59, + 0x73, 0xe8, 0x80, 0xcc, 0xbc, 0x10, 0x90, 0x65, 0xee, 0x57, 0x3e, 0x42, 0x67, 0x07, 0xf6, 0x3f, 0xf2, 0x9d, 0xe4, + 0x1c, 0x1b, 0x76, 0x88, 0xaf, 0x77, 0xc1, 0xa2, 0x89, 0xac, 0x24, 0x94, 0x8f, 0xa0, 0x7c, 0xae, 0x5d, 0x5a, 0x47, + 0x6a, 0xe7, 0x46, 0x87, 0x46, 0x06, 0xfc, 0xc1, 0x98, 0x09, 0x1c, 0x88, 0x40, 0x2f, 0x05, 0xdd, 0x87, 0xef, 0x3b, + 0x26, 0xd3, 0x6f, 0x0d, 0x04, 0xff, 0xfe, 0x8d, 0xfb, 0x2d, 0x25, 0x60, 0x09, 0x88, 0x3b, 0x2d, 0xa0, 0x1b, 0xc4, + 0xfc, 0x7a, 0x69, 0x88, 0xc9, 0x8b, 0x43, 0x1b, 0xbd, 0x2c, 0x64, 0x78, 0xed, 0xc1, 0xc3, 0xe7, 0x99, 0xf7, 0xb2, + 0x53, 0x71, 0x86, 0x6b, 0xb3, 0x9b, 0x5e, 0xe2, 0xb6, 0xe3, 0xd7, 0x23, 0xbf, 0x45, 0xdc, 0xc0, 0xcd, 0x6e, 0x50, + 0xe6, 0x21, 0xcc, 0x3c, 0x0b, 0xdc, 0xa3, 0x61, 0x4a, 0x7f, 0xc3, 0x42, 0xac, 0x1b, 0xb2, 0xf5, 0x99, 0xc1, 0xea, + 0xb6, 0x8a, 0x41, 0x2c, 0x4f, 0x72, 0x3c, 0xc1, 0xc8, 0x42, 0xba, 0x61, 0x91, 0x93, 0x84, 0x37, 0x49, 0x1c, 0x71, + 0xaf, 0x8d, 0xd9, 0x56, 0x60, 0xea, 0x10, 0x1a, 0x72, 0x7b, 0xfc, 0xbe, 0x0b, 0x09, 0x66, 0x1e, 0x67, 0xa9, 0x8a, + 0x46, 0xea, 0xed, 0x5f, 0x3c, 0xb1, 0x47, 0xf5, 0x11, 0x6a, 0x7b, 0xcb, 0x92, 0xdb, 0xd5, 0xbf, 0xf7, 0xad, 0xd3, + 0x80, 0x5e, 0x30, 0x73, 0xc3, 0x70, 0xdc, 0x37, 0x36, 0x00, 0xd9, 0x48, 0x0a, 0x0c, 0x84, 0xd5, 0x08, 0x56, 0xd2, + 0x62, 0xec, 0xe9, 0x5d, 0xfd, 0xec, 0x18, 0x01, 0x2e, 0x81, 0xf5, 0x63, 0xa5, 0xb0, 0xe1, 0x14, 0xec, 0x7a, 0x03, + 0xf4, 0xdd, 0x76, 0x7b, 0x14, 0x4a, 0x93, 0x1b, 0x1a, 0x78, 0x9f, 0x0d, 0x04, 0x36, 0xfd, 0x14, 0xcf, 0xa1, 0x77, + 0x5d, 0xbf, 0xee, 0xfd, 0xbd, 0x31, 0x10, 0x21, 0xad, 0x91, 0xa0, 0xb5, 0xef, 0x7b, 0x2f, 0x69, 0x66, 0x65, 0x94, + 0xa1, 0x29, 0xdb, 0x54, 0xfb, 0x69, 0x38, 0xb6, 0x2d, 0x8b, 0x40, 0xed, 0x00, 0xaf, 0x5c, 0xe7, 0xe0, 0x3a, 0x53, + 0x14, 0xba, 0x12, 0x1f, 0x4a, 0x27, 0x78, 0xb7, 0x8d, 0x62, 0x12, 0x10, 0xe7, 0x07, 0x2b, 0xb8, 0x41, 0xc8, 0x59, + 0x23, 0x04, 0xd6, 0x66, 0xbb, 0xeb, 0x23, 0xd3, 0x95, 0xf8, 0xb5, 0x07, 0x59, 0x43, 0xa5, 0xa8, 0x14, 0xb8, 0xb4, + 0x38, 0x25, 0x79, 0xd2, 0x60, 0x78, 0x5d, 0x3f, 0xad, 0x69, 0x55, 0x25, 0xbe, 0xd6, 0xc5, 0x4e, 0xa9, 0x80, 0xb9, + 0xcf, 0xe9, 0xa9, 0x75, 0xa4, 0x78, 0x6b, 0xad, 0xad, 0x4f, 0x18, 0xe6, 0xf6, 0xde, 0x69, 0x0f, 0x20, 0x7f, 0xcc, + 0x67, 0x26, 0xc1, 0xc0, 0x88, 0x30, 0xc0, 0x5b, 0xa2, 0x97, 0x33, 0x26, 0x4f, 0xd0, 0x4c, 0x5f, 0xdc, 0xa3, 0xdc, + 0xbb, 0xdc, 0x7d, 0xca, 0x37, 0x2a, 0xb3, 0x47, 0x37, 0x5d, 0x04, 0xb4, 0xd6, 0x4d, 0x94, 0x1a, 0x1e, 0xc7, 0xb5, + 0xcb, 0x0b, 0xb1, 0x94, 0xc4, 0xeb, 0x10, 0xcd, 0xbf, 0xcb, 0x4f, 0x0e, 0x9b, 0x94, 0x95, 0x25, 0xdf, 0x19, 0x4b, + 0xc3, 0x8f, 0x15, 0xf2, 0xc2, 0x46, 0xaa, 0x01, 0x14, 0x57, 0x7a, 0x1d, 0xed, 0x64, 0xed, 0x5d, 0x56, 0x41, 0xa3, + 0x54, 0xc8, 0xd1, 0xa3, 0x35, 0x70, 0x94, 0x3a, 0x21, 0xd9, 0xc0, 0x5b, 0x60, 0x26, 0xaf, 0x0c, 0x4e, 0x01, 0xb5, + 0xf2, 0x48, 0x78, 0xe6, 0x42, 0x5e, 0x9a, 0xfc, 0x4c, 0xde, 0x8d, 0xc0, 0x78, 0xca, 0x07, 0x9e, 0xb8, 0xb0, 0x4c, + 0xfc, 0xb7, 0xec, 0x0f, 0x10, 0x95, 0x4c, 0x06, 0x15, 0x08, 0x4c, 0x83, 0x5d, 0x7c, 0x2d, 0x8d, 0xd4, 0x7a, 0x08, + 0xc1, 0xc9, 0xd5, 0x46, 0x7f, 0x30, 0xeb, 0x6b, 0x40, 0xa9, 0x7a, 0x83, 0x8a, 0x46, 0xec, 0xca, 0xf6, 0xd3, 0xbc, + 0x3e, 0x98, 0xa8, 0x7d, 0xa3, 0x81, 0x1b, 0xb6, 0xf9, 0xd5, 0x1e, 0xc5, 0xae, 0x8d, 0xe7, 0x4b, 0x60, 0x13, 0xb5, + 0xbc, 0x65, 0x52, 0x14, 0x1c, 0xda, 0x34, 0xa8, 0x76, 0x04, 0x23, 0x66, 0xba, 0x83, 0xce, 0x5b, 0xdb, 0x20, 0x3a, + 0x1d, 0x9c, 0x46, 0xd0, 0x19, 0x8c, 0x8b, 0x53, 0x5b, 0x35, 0x42, 0x49, 0x8c, 0x2f, 0xc7, 0xd0, 0x2f, 0xb2, 0x78, + 0xa3, 0x66, 0xda, 0x00, 0x5d, 0x49, 0x05, 0xf3, 0x6c, 0xc4, 0x4c, 0x0a, 0xb7, 0xec, 0xb9, 0x5d, 0x8a, 0xff, 0xa5, + 0x3b, 0xd7, 0xf7, 0x3c, 0x11, 0xe4, 0x03, 0x59, 0x3a, 0x0e, 0xfe, 0xb5, 0x98, 0xe1, 0xe7, 0x19, 0x8c, 0x5e, 0x64, + 0xd6, 0xc6, 0x2c, 0xc9, 0x17, 0x7c, 0x67, 0xf8, 0xa5, 0x06, 0x93, 0x9f, 0xb0, 0x9c, 0x21, 0xfa, 0x1a, 0x04, 0x38, + 0x72, 0xb5, 0xeb, 0x69, 0xc3, 0x78, 0x07, 0x8b, 0x17, 0xc5, 0x02, 0x51, 0xd4, 0xfb, 0x6a, 0x8e, 0xc3, 0xe2, 0x9c, + 0xa4, 0x04, 0x33, 0x9b, 0x1a, 0x49, 0x21, 0x64, 0xef, 0x9b, 0x93, 0x57, 0x56, 0x1a, 0x52, 0x9c, 0xc0, 0xcb, 0x81, + 0x5e, 0x23, 0xd2, 0xf1, 0xb1, 0x3a, 0x6b, 0x28, 0x4e, 0x1a, 0x99, 0x62, 0x36, 0xb1, 0x90, 0xce, 0xaa, 0x07, 0x1b, + 0xf3, 0x69, 0x91, 0x2b, 0xaf, 0xeb, 0x08, 0x7f, 0xad, 0xc2, 0x70, 0x96, 0x5e, 0x6f, 0xbe, 0x18, 0x06, 0x1d, 0xfe, + 0xaf, 0xd5, 0x84, 0x6f, 0xf0, 0x6d, 0x3f, 0x5f, 0x44, 0x44, 0xa8, 0xca, 0x0f, 0x74, 0xa2, 0x1d, 0xea, 0xe8, 0x34, + 0xf4, 0xd0, 0xcc, 0x56, 0x50, 0xb0, 0x48, 0xfb, 0x7d, 0x37, 0xbd, 0xf5, 0x35, 0x39, 0x7b, 0xe7, 0xba, 0xa6, 0x35, + 0xc1, 0xfc, 0xf8, 0x35, 0xd0, 0x9a, 0x8d, 0x84, 0x93, 0xe5, 0xf7, 0xc8, 0xde, 0x6c, 0xaf, 0x76, 0x67, 0xd4, 0xbe, + 0x3e, 0x1a, 0xde, 0x34, 0x8f, 0x19, 0x1f, 0x65, 0x93, 0x26, 0x6a, 0x3a, 0x73, 0x2d, 0xe0, 0x73, 0x6a, 0xea, 0x4e, + 0x24, 0x3a, 0x70, 0x76, 0xb5, 0x3c, 0xc5, 0x6f, 0x45, 0x64, 0xfa, 0x35, 0x89, 0xea, 0x96, 0x66, 0x50, 0xe4, 0x52, + 0x5a, 0xa8, 0xba, 0xad, 0x2a, 0x80, 0x7d, 0x8d, 0xa8, 0x19, 0xa8, 0x31, 0x0b, 0xdd, 0x29, 0x1a, 0x21, 0x8d, 0xb5, + 0x8c, 0xed, 0x87, 0x9a, 0x76, 0xa5, 0xaa, 0x1e, 0xdb, 0x25, 0x0e, 0x45, 0x03, 0x34, 0x2d, 0xcc, 0xf5, 0x6f, 0x76, + 0x75, 0xb3, 0x6d, 0x4b, 0xbd, 0x41, 0x5c, 0xf2, 0x9f, 0x87, 0x2d, 0xac, 0x9d, 0x29, 0x85, 0xc3, 0x15, 0xad, 0xe8, + 0x91, 0x6c, 0x1c, 0xb4, 0x0a, 0x83, 0xa8, 0x51, 0x65, 0xda, 0x88, 0x61, 0x44, 0xc2, 0x08, 0x85, 0x42, 0xe1, 0x3e, + 0x62, 0x5d, 0x6c, 0xca, 0xa3, 0x87, 0xd2, 0xea, 0x92, 0x1f, 0xb3, 0x58, 0xa3, 0x79, 0x5a, 0x7b, 0x2c, 0x64, 0xa9, + 0xc3, 0xc7, 0x2b, 0xc1, 0xe8, 0xf7, 0xcb, 0x84, 0x56, 0x6e, 0x31, 0x41, 0xa9, 0x0e, 0x24, 0x76, 0x3b, 0x79, 0x8b, + 0xf4, 0x63, 0x8b, 0x42, 0x12, 0xb2, 0x3f, 0xbd, 0x2c, 0x93, 0xa7, 0x8a, 0xe1, 0x55, 0xe4, 0x2c, 0x47, 0x09, 0xf1, + 0x0e, 0xfc, 0xa4, 0x5f, 0x7f, 0x92, 0x7a, 0xad, 0xba, 0xad, 0x75, 0x54, 0xd4, 0xce, 0x6d, 0xe9, 0x86, 0x71, 0x9d, + 0x0c, 0xaa, 0xe0, 0x06, 0x4c, 0xd2, 0xe8, 0x5b, 0x27, 0xa8, 0x4f, 0x31, 0x9a, 0xf2, 0x6a, 0x07, 0x65, 0x2d, 0xc3, + 0x60, 0x8d, 0xf1, 0x61, 0xf8, 0xc0, 0x64, 0xc6, 0x18, 0x61, 0x6c, 0xc3, 0x1c, 0xf9, 0x6c, 0xfa, 0xeb, 0x17, 0x42, + 0xea, 0x4d, 0x12, 0x11, 0x81, 0x7c, 0x90, 0x7c, 0x30, 0x22, 0xfd, 0xa7, 0x25, 0x56, 0x3b, 0xbc, 0x70, 0x48, 0x9f, + 0xc4, 0x16, 0x0e, 0x84, 0xcd, 0xfa, 0xd1, 0x6f, 0x98, 0x64, 0xde, 0xbe, 0x38, 0x41, 0x7e, 0x09, 0x6e, 0xd8, 0xde, + 0x6a, 0x08, 0xaa, 0x18, 0xad, 0x10, 0xc4, 0x0a, 0x1a, 0x21, 0x9e, 0xc0, 0xf9, 0x26, 0x63, 0xd5, 0xab, 0x25, 0x2e, + 0x73, 0x45, 0x83, 0x7f, 0xf6, 0x6d, 0x5a, 0x24, 0x3d, 0x88, 0xf7, 0x03, 0x59, 0xcf, 0xb0, 0x87, 0xa0, 0xc7, 0xc2, + 0x8a, 0xe4, 0xbb, 0x42, 0x96, 0xae, 0xe3, 0xd3, 0x49, 0xaa, 0xf7, 0xa4, 0x5f, 0x3f, 0xc0, 0x1e, 0xb4, 0xa9, 0x2d, + 0x34, 0x7f, 0x85, 0xaa, 0x0a, 0xf3, 0x7a, 0x33, 0xca, 0xa3, 0x25, 0x9b, 0xee, 0x08, 0x74, 0x10, 0x08, 0xb5, 0xd6, + 0x4b, 0x03, 0x8c, 0xe3, 0xfb, 0xb0, 0x19, 0x3d, 0x7e, 0x5d, 0xc4, 0x84, 0xab, 0x97, 0x2d, 0x45, 0x69, 0x93, 0x46, + 0x8f, 0xfb, 0xae, 0x59, 0x76, 0x19, 0x22, 0x88, 0xc4, 0x1f, 0x47, 0xd0, 0x66, 0x5c, 0x0b, 0x17, 0xd1, 0x09, 0x86, + 0x96, 0x2b, 0x9e, 0xb8, 0x47, 0xdd, 0x2f, 0xbb, 0xe7, 0xdb, 0xe6, 0x49, 0x0c, 0x58, 0x8a, 0xf8, 0xae, 0xac, 0xcd, + 0x39, 0x94, 0xa2, 0x74, 0x9b, 0xc0, 0x2c, 0x47, 0x7a, 0x8c, 0x47, 0xf2, 0x48, 0xd4, 0x01, 0x83, 0x68, 0x54, 0x7c, + 0x67, 0x65, 0xe0, 0x6e, 0xad, 0xb5, 0xf8, 0xf2, 0xf7, 0x7e, 0xfd, 0x7a, 0xb7, 0x42, 0xbd, 0x0c, 0x5e, 0x4e, 0xed, + 0x19, 0xef, 0xbc, 0x20, 0xa5, 0xbe, 0x88, 0xc1, 0xeb, 0xc7, 0xbc, 0x8a, 0x66, 0xdf, 0x35, 0x04, 0xa1, 0x85, 0xcb, + 0x7f, 0x0b, 0x8f, 0x3a, 0x2d, 0xd3, 0xa5, 0xa7, 0xaf, 0xa6, 0x9b, 0x4e, 0x97, 0xef, 0xe8, 0xc1, 0xad, 0x10, 0x21, + 0x61, 0x54, 0x63, 0xed, 0x93, 0x73, 0x8b, 0xc9, 0x97, 0xd1, 0xda, 0xa5, 0x55, 0x51, 0xc1, 0xe7, 0x1c, 0xdd, 0x0d, + 0xaa, 0x5b, 0xb8, 0xa9, 0x72, 0xfb, 0xe8, 0xad, 0xa8, 0xa2, 0xa1, 0x87, 0x0b, 0xa7, 0x44, 0x12, 0x85, 0xc8, 0x4b, + 0x98, 0xd8, 0x7d, 0x37, 0xa4, 0x81, 0x71, 0x75, 0x75, 0x4a, 0x75, 0x83, 0xc7, 0xd0, 0xc3, 0x10, 0x24, 0xae, 0xd9, + 0xf9, 0xff, 0xd2, 0xeb, 0xc1, 0x9b, 0x97, 0x3e, 0x25, 0x99, 0x17, 0xfe, 0x5d, 0x5a, 0xb8, 0xc5, 0x17, 0xfc, 0x8c, + 0x96, 0xa0, 0x65, 0xcb, 0xa3, 0xb2, 0x03, 0xeb, 0xa1, 0x3d, 0xd0, 0xbf, 0xae, 0x27, 0x9b, 0x55, 0x00, 0x5a, 0x5b, + 0x9e, 0x64, 0x34, 0x31, 0x7a, 0x72, 0xde, 0xa1, 0x50, 0x44, 0x42, 0x0e, 0xa3, 0x44, 0xad, 0x75, 0x20, 0xc3, 0x55, + 0x77, 0x5a, 0x0a, 0xb7, 0xb1, 0xbb, 0x9e, 0x59, 0x88, 0xe8, 0x48, 0x2f, 0x49, 0x66, 0x2e, 0x34, 0x21, 0xa8, 0x92, + 0xc8, 0x0f, 0x88, 0x6d, 0x81, 0xe3, 0x41, 0x73, 0x62, 0xeb, 0xa3, 0xd0, 0x52, 0x40, 0x18, 0xb7, 0x57, 0xf1, 0x35, + 0x01, 0x84, 0xd2, 0xba, 0xf3, 0x66, 0xbb, 0x70, 0xf9, 0x37, 0x6d, 0x65, 0x0c, 0x36, 0x3a, 0x77, 0x56, 0x71, 0x81, + 0x5b, 0xdd, 0x8b, 0x21, 0x88, 0x02, 0x25, 0x05, 0x31, 0x9c, 0x04, 0xd5, 0x07, 0x73, 0x20, 0x01, 0x97, 0xc8, 0x83, + 0x52, 0xe3, 0x5c, 0xb8, 0xf1, 0x46, 0x21, 0xc4, 0x62, 0x24, 0xaa, 0x62, 0xb2, 0x41, 0x70, 0x4c, 0x05, 0xda, 0xfd, + 0xf4, 0xdc, 0x7b, 0xe1, 0xfe, 0xa1, 0xa6, 0x56, 0x73, 0xa1, 0x08, 0xa3, 0xdd, 0xc9, 0xbd, 0xa0, 0x85, 0x64, 0xab, + 0x5e, 0xae, 0x91, 0xbd, 0xf0, 0xcd, 0x73, 0xef, 0x2b, 0x25, 0x20, 0xec, 0xdf, 0x19, 0x07, 0x02, 0x60, 0x2e, 0xed, + 0x6a, 0x2d, 0xd1, 0xdf, 0x9e, 0x48, 0xb3, 0xa1, 0xa5, 0x58, 0x37, 0xf3, 0x50, 0x01, 0xd6, 0xd4, 0xea, 0x09, 0x4b, + 0x59, 0xe5, 0x8d, 0x66, 0xa7, 0x86, 0xb7, 0x1d, 0x74, 0x75, 0x92, 0xc2, 0x93, 0xee, 0xff, 0xbd, 0x1f, 0x5e, 0xab, + 0x6e, 0x85, 0xa0, 0x3a, 0x93, 0x74, 0x16, 0x32, 0xd5, 0x7a, 0x1a, 0x53, 0x9c, 0xa4, 0xef, 0x04, 0x45, 0x45, 0x68, + 0xfc, 0x53, 0xd1, 0xd9, 0xf8, 0xa9, 0xeb, 0x03, 0xf7, 0x03, 0x2e, 0x28, 0xbe, 0xc9, 0x3a, 0x7e, 0x98, 0x45, 0x44, + 0x64, 0xe5, 0x67, 0xbb, 0xbc, 0x76, 0xdd, 0xa6, 0x33, 0xf3, 0xd2, 0x6d, 0x74, 0x9b, 0x7f, 0x83, 0x25, 0x1f, 0x8a, + 0x92, 0x97, 0xb4, 0x85, 0xa3, 0x5f, 0xe0, 0x7a, 0x28, 0xd3, 0x81, 0x21, 0x73, 0xeb, 0xba, 0xfe, 0x51, 0x31, 0xd2, + 0xd4, 0x11, 0x4f, 0x99, 0x43, 0x05, 0x9e, 0x9a, 0x9b, 0x4a, 0x0e, 0x94, 0xce, 0x30, 0x5f, 0x13, 0xe1, 0xcd, 0xde, + 0x31, 0xfd, 0x73, 0x41, 0x74, 0x7c, 0x04, 0xd3, 0x86, 0x7c, 0x58, 0x85, 0xe7, 0xe2, 0x58, 0xfd, 0x60, 0x35, 0x89, + 0x3c, 0x89, 0x03, 0xbc, 0x0f, 0x2c, 0x52, 0x61, 0x62, 0xe0, 0x6b, 0x76, 0x3b, 0xce, 0x17, 0x80, 0x19, 0x0f, 0xb9, + 0x4f, 0x77, 0xfc, 0x10, 0x04, 0x8e, 0x17, 0xaa, 0xc5, 0xcd, 0xe1, 0x2d, 0x08, 0x80, 0x8c, 0x59, 0x71, 0x5a, 0x8c, + 0xf2, 0x24, 0x25, 0xe0, 0x99, 0x5c, 0xba, 0x55, 0x43, 0x2a, 0xb3, 0x3f, 0x04, 0x94, 0x4b, 0xd7, 0x42, 0x0a, 0x6e, + 0xd5, 0x17, 0xa6, 0x84, 0x74, 0xd7, 0x68, 0xb0, 0x85, 0x7f, 0x2c, 0x88, 0x25, 0x0d, 0xea, 0x1a, 0xbf, 0xed, 0x57, + 0xee, 0xa4, 0x73, 0xe2, 0x3a, 0x4a, 0x5d, 0x22, 0x89, 0xfb, 0x3c, 0x8c, 0x04, 0x82, 0x99, 0x3d, 0x21, 0xb2, 0x18, + 0x62, 0x1f, 0x47, 0x3b, 0x02, 0xf0, 0x04, 0xa2, 0x23, 0xcf, 0xec, 0x5e, 0x40, 0x7c, 0x7a, 0x82, 0xb0, 0x2c, 0x7f, + 0x23, 0xe3, 0xd7, 0xd7, 0xc3, 0xec, 0x89, 0x62, 0x78, 0x25, 0xf1, 0x54, 0xc5, 0x12, 0x49, 0x43, 0x6b, 0xc0, 0xd2, + 0x15, 0xc9, 0x65, 0xe4, 0x19, 0x71, 0x7e, 0x66, 0x7d, 0x02, 0x7e, 0xec, 0x63, 0x38, 0xf0, 0xeb, 0x40, 0x5f, 0xa4, + 0x54, 0xf9, 0x36, 0x12, 0xe7, 0xd5, 0x7b, 0x73, 0xfd, 0x70, 0x27, 0xe9, 0xea, 0xd5, 0xa3, 0x6d, 0x68, 0x6c, 0x92, + 0xf4, 0x6f, 0xcd, 0x43, 0x80, 0x63, 0x9d, 0xa4, 0x33, 0x14, 0xc6, 0x64, 0x79, 0xd8, 0xb0, 0xea, 0x62, 0xe8, 0xce, + 0x03, 0xee, 0xa6, 0xba, 0x23, 0x75, 0xf8, 0xd2, 0xa4, 0x27, 0x85, 0x59, 0xd2, 0xd8, 0x25, 0xe9, 0xdf, 0xaa, 0x74, + 0x38, 0x54, 0x29, 0x46, 0xe4, 0xb2, 0x22, 0x46, 0xa6, 0x1d, 0xdc, 0x49, 0xfc, 0xb6, 0xe4, 0x9d, 0x80, 0x97, 0x36, + 0xf5, 0x79, 0x57, 0x2b, 0x26, 0xb4, 0x8c, 0xc9, 0x93, 0xb7, 0x76, 0x58, 0x69, 0xa1, 0x54, 0xb2, 0x40, 0x36, 0x65, + 0xa1, 0x51, 0xf0, 0x53, 0xdf, 0xfc, 0xf0, 0x83, 0xa2, 0x32, 0x10, 0x70, 0x3b, 0x58, 0xfd, 0xe3, 0x83, 0x78, 0x19, + 0x43, 0x3c, 0x32, 0x32, 0xa6, 0x7f, 0xc9, 0x50, 0xf7, 0x4f, 0x20, 0x93, 0xf0, 0x75, 0x76, 0xbf, 0x34, 0xf7, 0x17, + 0x6a, 0x1d, 0x8c, 0xeb, 0x68, 0x43, 0x13, 0xf8, 0x26, 0x14, 0xee, 0x87, 0xca, 0xc0, 0x46, 0x29, 0x43, 0xbe, 0x2f, + 0x6d, 0x9e, 0x7b, 0xe2, 0x27, 0x41, 0xf1, 0x69, 0x86, 0x59, 0xc8, 0x08, 0xa0, 0xfa, 0x70, 0x32, 0xe9, 0xba, 0x43, + 0x6d, 0x7b, 0xab, 0xa9, 0x74, 0x76, 0xd4, 0x31, 0x41, 0xce, 0xf3, 0xa3, 0x19, 0x56, 0x9e, 0xbf, 0x36, 0xf9, 0x06, + 0x81, 0xcf, 0x9d, 0xf7, 0xa6, 0x5a, 0x07, 0x6a, 0xbf, 0x9c, 0x11, 0xb4, 0x2d, 0x03, 0x1c, 0xa9, 0x72, 0xa8, 0x8e, + 0x54, 0x0c, 0x2b, 0x33, 0xde, 0x98, 0xe2, 0xc5, 0x16, 0x7b, 0x9c, 0x2f, 0x21, 0x15, 0xb0, 0x1f, 0x90, 0xb2, 0xe4, + 0x98, 0xd5, 0x22, 0x65, 0x6f, 0x22, 0x05, 0x11, 0xca, 0x6f, 0x5e, 0x1e, 0xfc, 0xdd, 0x64, 0x84, 0x15, 0x58, 0xab, + 0x8e, 0x24, 0x5b, 0x9b, 0xc8, 0x69, 0x2d, 0xa9, 0x8a, 0xf3, 0x46, 0x19, 0x66, 0xbf, 0xeb, 0xcf, 0xcb, 0x26, 0x98, + 0xda, 0xc5, 0xa7, 0xe6, 0x60, 0x8d, 0x16, 0xa6, 0xa7, 0xc2, 0xfe, 0x82, 0x0f, 0x3d, 0x21, 0xbf, 0x19, 0xfc, 0xb2, + 0xaf, 0x6d, 0x18, 0x3c, 0x6a, 0x5f, 0x61, 0x43, 0xa5, 0x75, 0x31, 0xf5, 0xa2, 0x61, 0xb2, 0x2d, 0x7f, 0x7e, 0x2a, + 0xf7, 0x18, 0xb9, 0xc2, 0x8c, 0xc0, 0x1a, 0x95, 0x77, 0xc1, 0x01, 0xe1, 0x63, 0x44, 0x91, 0x1b, 0xb6, 0x45, 0x06, + 0x05, 0xdb, 0x46, 0xd3, 0xae, 0xf4, 0x31, 0x07, 0x79, 0x12, 0x84, 0x4e, 0x76, 0xc2, 0x3b, 0x5f, 0xbd, 0x32, 0x2c, + 0x8b, 0x24, 0xcd, 0x8b, 0xa8, 0xd2, 0x87, 0x55, 0xd5, 0x48, 0xe3, 0xbf, 0x00, 0x60, 0x14, 0xce, 0x97, 0xc2, 0xbf, + 0x29, 0x5c, 0xe3, 0x9d, 0xde, 0xaa, 0x91, 0x72, 0x8e, 0xc7, 0xbc, 0x9b, 0xb1, 0xc3, 0x0f, 0xc2, 0x97, 0xdc, 0xcf, + 0xa8, 0xc0, 0x3c, 0x2d, 0x0b, 0xb3, 0x35, 0xfc, 0x5a, 0x81, 0xdc, 0x3e, 0x12, 0xe7, 0x36, 0x6c, 0xa6, 0x53, 0x7b, + 0xd3, 0x97, 0x1b, 0x84, 0xcc, 0x19, 0xcd, 0xf2, 0xf5, 0x87, 0x87, 0x01, 0x75, 0x11, 0x7e, 0x3b, 0x16, 0xea, 0x51, + 0xb6, 0x74, 0xf0, 0x02, 0x1e, 0xae, 0x69, 0x29, 0x7a, 0xbe, 0xa9, 0x9d, 0xc8, 0x1f, 0x6f, 0x7c, 0x00, 0x6d, 0xef, + 0x75, 0x8c, 0x36, 0xd1, 0x43, 0x4a, 0x01, 0x22, 0x0b, 0x6d, 0xab, 0xaa, 0x66, 0xc8, 0xb2, 0x60, 0xb9, 0x0d, 0xbc, + 0xa7, 0x96, 0x08, 0x87, 0xef, 0xda, 0xd3, 0x85, 0x35, 0xfe, 0x58, 0x00, 0xfc, 0xfb, 0x8c, 0x88, 0x0a, 0xe5, 0x7f, + 0x87, 0xed, 0x19, 0x26, 0x22, 0xee, 0x08, 0xc9, 0x60, 0xc0, 0xc8, 0x43, 0x36, 0x23, 0x29, 0xd8, 0x6a, 0xa5, 0x00, + 0xbe, 0x87, 0x40, 0xe3, 0xba, 0x06, 0x21, 0xd8, 0xa0, 0xd7, 0x40, 0x3c, 0x1c, 0x2f, 0xa8, 0x6b, 0xbc, 0x36, 0x7e, + 0xbb, 0xd6, 0x9a, 0x30, 0xe2, 0xdb, 0xaa, 0x59, 0xbc, 0x56, 0x3d, 0x52, 0x39, 0x92, 0x10, 0x79, 0xa3, 0xa0, 0xd5, + 0x9b, 0x4e, 0xf7, 0xd3, 0x64, 0x44, 0x0a, 0x6a, 0x9d, 0x1b, 0x91, 0xf2, 0x4b, 0xb1, 0x39, 0xf5, 0x87, 0x94, 0x87, + 0x2c, 0x8f, 0xb9, 0x12, 0xd5, 0xb5, 0x08, 0x61, 0xd8, 0x75, 0xf4, 0xaf, 0xa1, 0x84, 0x21, 0x5f, 0x52, 0x19, 0x14, + 0x32, 0x53, 0x59, 0x20, 0x0d, 0xe5, 0x49, 0xe4, 0xee, 0x87, 0xe9, 0xea, 0xdd, 0xab, 0xdc, 0x27, 0xa9, 0x28, 0x89, + 0xdd, 0x85, 0x48, 0x93, 0x89, 0x37, 0xa6, 0xfd, 0xf6, 0x3f, 0x23, 0xe5, 0xdf, 0x54, 0x1d, 0x53, 0x8d, 0x25, 0xb1, + 0xd0, 0x00, 0xa5, 0x7c, 0xc4, 0xd3, 0x36, 0x5d, 0x8e, 0xa2, 0xad, 0xd2, 0x1e, 0x6a, 0x1e, 0x78, 0x58, 0x58, 0x13, + 0xc7, 0x11, 0xf4, 0x74, 0x84, 0xd8, 0x92, 0xda, 0x42, 0xd7, 0xa7, 0x99, 0x67, 0x45, 0x6d, 0x76, 0x8f, 0x54, 0xcb, + 0xe8, 0xa0, 0x35, 0x91, 0x34, 0xfb, 0xa9, 0xcb, 0x34, 0x90, 0x0a, 0x81, 0xef, 0x82, 0xdc, 0x2a, 0x4a, 0x5c, 0xaf, + 0xee, 0xdd, 0x43, 0xb5, 0xf2, 0x3b, 0xff, 0x74, 0x0b, 0x22, 0x23, 0x81, 0x81, 0x14, 0xd1, 0xbc, 0xa0, 0x9f, 0x18, + 0x96, 0xc1, 0x90, 0x33, 0x25, 0xb3, 0x9c, 0xb7, 0x00, 0xed, 0x91, 0xb6, 0x82, 0x0b, 0x12, 0x46, 0xe7, 0x58, 0x2b, + 0x83, 0xcf, 0x91, 0x22, 0x5f, 0xb5, 0xc5, 0xcc, 0x5e, 0xdd, 0xd3, 0x02, 0x53, 0x01, 0xac, 0x2b, 0x05, 0xcb, 0x59, + 0xdf, 0x28, 0xaa, 0xd8, 0xc8, 0xe4, 0xc7, 0x5f, 0xd0, 0x3d, 0xa5, 0x0c, 0x9d, 0x15, 0xae, 0x34, 0x6d, 0x3b, 0x97, + 0xc7, 0xee, 0x83, 0x02, 0x7c, 0xa2, 0x81, 0xcc, 0x4b, 0xf2, 0x9f, 0x9d, 0x6d, 0xd8, 0x7d, 0x52, 0xce, 0x77, 0x13, + 0xfd, 0xde, 0x48, 0xb3, 0xbf, 0x2e, 0x75, 0x28, 0xdb, 0xaf, 0x3c, 0xae, 0x5a, 0xe6, 0x3d, 0xd2, 0xe7, 0xc6, 0x64, + 0x44, 0x26, 0xb4, 0xcb, 0xfa, 0x36, 0xc2, 0xcd, 0xed, 0x33, 0x85, 0xc7, 0x37, 0xbc, 0x9c, 0x3f, 0x69, 0xc5, 0x36, + 0xa5, 0x8e, 0x94, 0xd8, 0x48, 0x14, 0x18, 0x64, 0x91, 0x9f, 0x78, 0x8a, 0x6e, 0xef, 0xa8, 0xad, 0x77, 0xea, 0xae, + 0x93, 0x13, 0x71, 0xe6, 0xea, 0x46, 0x52, 0xa5, 0x11, 0x76, 0xf3, 0x3c, 0xf2, 0xb2, 0x56, 0xd0, 0x8c, 0xd2, 0x43, + 0xed, 0xf6, 0x8e, 0x11, 0x1a, 0x56, 0x4a, 0x8a, 0x6c, 0x51, 0x1b, 0x2d, 0x07, 0x7a, 0xc8, 0x5f, 0x6b, 0x7e, 0xfe, + 0x67, 0x0b, 0x71, 0xe3, 0x70, 0xfa, 0x8a, 0x44, 0x44, 0x61, 0x10, 0xa7, 0x55, 0x24, 0xdb, 0x99, 0x40, 0x61, 0x1c, + 0x4c, 0xb0, 0x75, 0xa3, 0xa9, 0x87, 0x45, 0xa2, 0x96, 0x48, 0xc3, 0xf6, 0x28, 0x0f, 0x81, 0x2a, 0x09, 0x3d, 0x6d, + 0xad, 0x4e, 0xa2, 0xf5, 0x87, 0x6b, 0x9f, 0x11, 0xa1, 0x55, 0x8a, 0xac, 0xca, 0x2b, 0x57, 0x68, 0x04, 0x26, 0x12, + 0x89, 0x8e, 0x20, 0x0e, 0x4d, 0x08, 0x1f, 0x1e, 0xd2, 0x4b, 0xab, 0x22, 0x86, 0x56, 0x5c, 0x43, 0x66, 0x01, 0xc4, + 0x26, 0x63, 0xfa, 0x7a, 0xbf, 0x63, 0x19, 0xd7, 0xcb, 0x83, 0x56, 0xff, 0x91, 0x88, 0x13, 0xa4, 0xfb, 0xa2, 0x03, + 0x8c, 0x06, 0x1c, 0x55, 0xc1, 0xb7, 0x8f, 0xa1, 0xa8, 0x74, 0xa0, 0x5e, 0x8e, 0xdc, 0x22, 0xf2, 0x2b, 0xe0, 0xda, + 0xdd, 0x8a, 0x08, 0xdf, 0x2e, 0x9f, 0xd3, 0xac, 0x96, 0x11, 0xd4, 0xbe, 0x8f, 0x68, 0x95, 0x89, 0xb0, 0xb9, 0xb8, + 0xeb, 0xb1, 0x5c, 0x43, 0xd5, 0x87, 0x56, 0x5c, 0x44, 0xe1, 0xcd, 0x1c, 0xa4, 0x8d, 0xc9, 0x78, 0x49, 0x3f, 0xb5, + 0x1d, 0x95, 0x80, 0x5e, 0x28, 0x0b, 0x4d, 0x06, 0x49, 0xc1, 0xa3, 0xf7, 0x40, 0x98, 0xa4, 0x57, 0xce, 0x98, 0xfd, + 0x94, 0xa7, 0x24, 0x4e, 0xdf, 0x82, 0x76, 0x36, 0x45, 0xf0, 0x70, 0xd5, 0x5e, 0xda, 0x53, 0xd0, 0x7e, 0xcf, 0x74, + 0xb6, 0xbd, 0xac, 0x91, 0x78, 0x2f, 0x3a, 0xf0, 0x2a, 0xfa, 0x3c, 0x32, 0xc3, 0x98, 0xc1, 0xfd, 0x90, 0x90, 0xe4, + 0xb3, 0x94, 0x0a, 0x66, 0x41, 0x0f, 0xe4, 0x51, 0x91, 0x8c, 0xd2, 0x4c, 0xb7, 0xfd, 0x91, 0xe8, 0xfa, 0x69, 0xaa, + 0x76, 0xb5, 0xf6, 0x14, 0x55, 0x5e, 0xbe, 0x5e, 0xf8, 0xed, 0xf4, 0x8c, 0xae, 0xdc, 0x01, 0xc9, 0x7a, 0x46, 0x6f, + 0x5a, 0xb0, 0x5a, 0x28, 0x1d, 0xa9, 0x20, 0xf6, 0x3e, 0x27, 0xb0, 0x18, 0xd7, 0x43, 0x1a, 0xd6, 0xe0, 0x03, 0xa6, + 0x27, 0xab, 0xd3, 0x77, 0xce, 0x7d, 0xd9, 0xff, 0xf6, 0xdd, 0x76, 0x83, 0x35, 0x73, 0xf1, 0x07, 0xb9, 0x4b, 0x40, + 0xcd, 0x21, 0xd3, 0x64, 0xd2, 0x57, 0x69, 0x37, 0x27, 0xaf, 0x12, 0xb3, 0x70, 0x80, 0xfe, 0xdd, 0x1c, 0x72, 0xc2, + 0x3a, 0xde, 0xb8, 0x44, 0xf4, 0xd4, 0xbb, 0x70, 0xda, 0x13, 0x07, 0xf0, 0x2f, 0x18, 0x26, 0x4a, 0x88, 0x64, 0x2e, + 0xe1, 0x61, 0x5e, 0xc2, 0x51, 0xf2, 0x43, 0xb6, 0xcd, 0x54, 0xef, 0xa8, 0x6e, 0xde, 0x14, 0xd8, 0xf3, 0x14, 0x17, + 0xbb, 0x55, 0xc2, 0x8c, 0x55, 0xec, 0xb5, 0xd8, 0x43, 0x8f, 0x37, 0x28, 0x92, 0xcc, 0xf6, 0x19, 0x0d, 0x9d, 0xf9, + 0x4d, 0x7e, 0x7d, 0x71, 0x73, 0x37, 0xfd, 0x7f, 0x5c, 0x9d, 0x18, 0x87, 0x15, 0x7c, 0x36, 0xf4, 0x65, 0xbf, 0x2a, + 0xcb, 0xe7, 0x12, 0x5f, 0xad, 0x96, 0x77, 0x94, 0x8c, 0x7b, 0x9b, 0xf8, 0xc1, 0x00, 0x06, 0x6f, 0x5a, 0x48, 0x1e, + 0x4a, 0x14, 0x61, 0x64, 0xde, 0x1f, 0x2e, 0x29, 0xf0, 0x72, 0xf9, 0x55, 0x70, 0x91, 0x98, 0xfe, 0xb6, 0xf5, 0x4a, + 0x2a, 0xe2, 0x90, 0xaa, 0x23, 0xde, 0x4d, 0x10, 0x69, 0x51, 0x0e, 0x1d, 0xfd, 0xc4, 0x01, 0x93, 0x35, 0x38, 0x10, + 0x81, 0x82, 0xce, 0x67, 0x2f, 0x89, 0xc4, 0x8f, 0xd0, 0x5f, 0x79, 0x16, 0x75, 0xda, 0x8b, 0xf6, 0xb3, 0xed, 0x85, + 0xff, 0x7f, 0xba, 0xb4, 0xaa, 0x73, 0x6c, 0x40, 0xb0, 0xfe, 0x2f, 0x90, 0xb8, 0xd0, 0x0e, 0x4a, 0x90, 0xee, 0x53, + 0xf8, 0xc4, 0x9f, 0xdd, 0x69, 0x96, 0x13, 0x96, 0xaf, 0xd5, 0x6a, 0x19, 0x4f, 0xe8, 0x9c, 0x5c, 0x68, 0x1c, 0x27, + 0x6a, 0xca, 0x10, 0x3c, 0xe3, 0xe8, 0xed, 0xb5, 0x0c, 0xbd, 0xdb, 0x98, 0x4a, 0x82, 0x4e, 0xe2, 0x71, 0xc5, 0x52, + 0xac, 0xa2, 0x75, 0xbf, 0x6a, 0x63, 0xb6, 0x99, 0xc1, 0x19, 0x30, 0xce, 0xb2, 0x80, 0xd1, 0x83, 0xa5, 0x7a, 0x38, + 0x37, 0x0e, 0x98, 0x5e, 0xcb, 0x6b, 0x4c, 0x47, 0x04, 0x8d, 0xdd, 0xf2, 0xf5, 0x7a, 0x14, 0x51, 0x49, 0x26, 0x22, + 0xde, 0x2d, 0xf0, 0x40, 0x2f, 0x7e, 0x3e, 0x56, 0xbd, 0xf6, 0xa4, 0x6e, 0xe5, 0x2b, 0x15, 0x61, 0x59, 0x47, 0x53, + 0x19, 0x30, 0x5e, 0xdd, 0xac, 0x8a, 0xd0, 0xae, 0x84, 0xb8, 0x78, 0x21, 0x7b, 0x02, 0x31, 0x31, 0x92, 0x8f, 0x38, + 0x93, 0x60, 0x93, 0x83, 0x4c, 0x05, 0xe5, 0xe3, 0x43, 0xcd, 0x16, 0x04, 0xa1, 0xab, 0xdb, 0x50, 0x0b, 0x72, 0x2c, + 0x9c, 0x27, 0x92, 0x11, 0x4d, 0x12, 0x03, 0x57, 0x59, 0x49, 0xb0, 0x6a, 0x26, 0xe3, 0x65, 0xd6, 0x9d, 0x15, 0x7b, + 0x60, 0x53, 0xad, 0x39, 0x18, 0xdd, 0xff, 0x98, 0x17, 0x18, 0xa2, 0x28, 0x5a, 0xcf, 0x12, 0xc5, 0xf3, 0x88, 0x79, + 0xc0, 0x2c, 0x4b, 0xa0, 0x51, 0x84, 0x22, 0xf4, 0x6f, 0x89, 0x3d, 0xd4, 0x67, 0x95, 0x91, 0x58, 0x58, 0x0c, 0x27, + 0x54, 0xc5, 0xe9, 0x28, 0xed, 0x95, 0x85, 0xf7, 0xc1, 0x6e, 0x10, 0xc6, 0x57, 0xff, 0xd7, 0xf8, 0xee, 0x6d, 0x0f, + 0xa9, 0xed, 0xf9, 0x38, 0x9b, 0x99, 0x8f, 0xe9, 0x46, 0xef, 0xf6, 0x4f, 0x37, 0x22, 0x36, 0xbb, 0xad, 0x6c, 0x03, + 0x91, 0x4c, 0x14, 0x94, 0x9a, 0x3f, 0xb3, 0xdb, 0x03, 0xb6, 0xe2, 0xa0, 0x78, 0xdd, 0xa9, 0xa8, 0xcf, 0xd6, 0x6a, + 0x2c, 0x01, 0x08, 0xc7, 0x92, 0x46, 0xda, 0x25, 0xb6, 0x20, 0xd2, 0xfa, 0x1c, 0x19, 0x12, 0xbc, 0xb6, 0xce, 0xf3, + 0x00, 0x0e, 0x59, 0x32, 0x4d, 0x04, 0x2b, 0xd2, 0x4b, 0x00, 0x69, 0x1b, 0x21, 0xbd, 0xc8, 0x9e, 0x41, 0x09, 0xc0, + 0xab, 0x88, 0xf6, 0x46, 0x65, 0x22, 0x92, 0x37, 0x59, 0xa3, 0x14, 0xb6, 0xe3, 0x03, 0xe1, 0x65, 0x7e, 0x44, 0xb0, + 0xc4, 0xd4, 0x68, 0xcf, 0x96, 0x4e, 0x13, 0x50, 0x8b, 0xed, 0x34, 0x42, 0x98, 0xef, 0xd7, 0x8d, 0xc1, 0xc3, 0xe1, + 0x62, 0x49, 0x8a, 0x71, 0xb5, 0xde, 0x7c, 0x2c, 0xe5, 0x76, 0xe4, 0x5a, 0xec, 0x98, 0x3b, 0x70, 0x34, 0xe9, 0x9e, + 0xa6, 0x5d, 0xbd, 0xd1, 0xcd, 0xaf, 0xf8, 0xcd, 0xeb, 0x69, 0x89, 0x97, 0xc7, 0x47, 0x42, 0xf7, 0xae, 0x46, 0xa0, + 0xb9, 0x71, 0xce, 0x0f, 0xfd, 0xee, 0x5d, 0x9d, 0xe0, 0x8d, 0xff, 0x95, 0x1a, 0x4f, 0xca, 0xe4, 0xe4, 0x6f, 0xe6, + 0xd0, 0xf8, 0x8c, 0xf1, 0xb4, 0xb8, 0xa9, 0x40, 0xa0, 0x40, 0xd5, 0x01, 0xec, 0xce, 0xa2, 0xd2, 0x7f, 0x33, 0x62, + 0x7c, 0x04, 0x5c, 0x28, 0x3a, 0x35, 0xf8, 0x69, 0x49, 0x78, 0xc6, 0xf3, 0xd9, 0x2d, 0xd4, 0x22, 0x69, 0xa5, 0xce, + 0xc4, 0x4e, 0x1d, 0x7e, 0x2e, 0xf6, 0x0f, 0x2b, 0x22, 0x3a, 0x14, 0xf1, 0x61, 0x37, 0x05, 0x05, 0x41, 0xc3, 0x0b, + 0x62, 0x99, 0xa0, 0x0b, 0xa1, 0x7c, 0xd4, 0xec, 0xbe, 0x4c, 0x52, 0xfd, 0xc3, 0xfe, 0x82, 0x9f, 0x7b, 0xdb, 0xd7, + 0x22, 0x17, 0x4b, 0xa1, 0x59, 0xd9, 0x48, 0x27, 0x0f, 0x2e, 0x15, 0x6d, 0xaf, 0x82, 0xec, 0x6c, 0xde, 0x9a, 0x35, + 0x99, 0x03, 0xc9, 0x22, 0x2d, 0xc2, 0xfa, 0xc8, 0x73, 0xfe, 0xd9, 0xe2, 0x73, 0xba, 0x74, 0xdf, 0x37, 0x63, 0xdb, + 0x64, 0x98, 0xf4, 0x24, 0x81, 0x30, 0x51, 0x82, 0x6f, 0xcb, 0xe8, 0x01, 0x60, 0x7d, 0x6d, 0x39, 0xa2, 0xcc, 0x56, + 0x01, 0x99, 0xc9, 0x76, 0x7e, 0xed, 0x29, 0x20, 0xea, 0x6c, 0x05, 0x12, 0x31, 0x94, 0x3e, 0x03, 0x17, 0x34, 0x3e, + 0xb5, 0x20, 0x49, 0x89, 0x09, 0xc9, 0x0c, 0x1f, 0x01, 0x99, 0x02, 0x6e, 0xbe, 0xf3, 0x64, 0x0b, 0xfd, 0x54, 0xc6, + 0x29, 0xb0, 0x61, 0x5a, 0x0f, 0xe6, 0x2c, 0x8c, 0x67, 0x1a, 0x32, 0xe2, 0xf8, 0xe7, 0x1b, 0x81, 0xd5, 0x88, 0x3c, + 0x8f, 0xcc, 0x6c, 0x24, 0x2e, 0x60, 0x70, 0xd9, 0xf7, 0x92, 0x26, 0x10, 0xd7, 0xaf, 0x71, 0x8d, 0xf9, 0x24, 0x8f, + 0xd7, 0xea, 0xe6, 0xb7, 0xe6, 0x6f, 0x3d, 0x94, 0x67, 0xf9, 0xe2, 0xa4, 0x36, 0xad, 0x15, 0xf4, 0xcb, 0xb5, 0x56, + 0x1b, 0xa0, 0x56, 0xc1, 0xcc, 0x96, 0x8c, 0x5b, 0x69, 0x51, 0x04, 0x8e, 0x9a, 0xe5, 0xad, 0xd9, 0x1d, 0xdf, 0x6e, + 0x90, 0x3f, 0xd1, 0x10, 0x31, 0x3e, 0x55, 0x81, 0x4b, 0xd4, 0xf1, 0x73, 0xf4, 0x36, 0x87, 0x76, 0x18, 0xaf, 0xe2, + 0x87, 0x6d, 0xbc, 0xc8, 0xd8, 0xca, 0xf2, 0xf2, 0x75, 0x74, 0x88, 0x2b, 0x47, 0xeb, 0x30, 0x34, 0xfd, 0x34, 0x8d, + 0x39, 0x52, 0xa8, 0x27, 0xec, 0xf8, 0x7b, 0x0c, 0xf8, 0x4f, 0xed, 0xf1, 0xab, 0xfe, 0x93, 0xe3, 0x5f, 0x86, 0x5d, + 0xe5, 0x65, 0xfe, 0x63, 0x90, 0xbf, 0x87, 0x4f, 0xa9, 0xf2, 0xb3, 0x89, 0x2c, 0x54, 0x9b, 0x43, 0xf2, 0x68, 0x2d, + 0x87, 0x05, 0xfa, 0xea, 0xc3, 0xc9, 0xe9, 0x04, 0xc3, 0x9a, 0x53, 0xe7, 0x07, 0xa4, 0xaf, 0x6b, 0xe2, 0xc2, 0x2f, + 0xc6, 0xa7, 0xab, 0xb9, 0x0c, 0xdd, 0x74, 0xb9, 0x87, 0x54, 0xee, 0x8b, 0x4c, 0xb5, 0xad, 0xac, 0x9d, 0xfd, 0xfd, + 0x60, 0x70, 0x47, 0x04, 0x36, 0x9c, 0x7b, 0xf3, 0x85, 0xe7, 0x9f, 0xf4, 0x9f, 0xee, 0x29, 0x5a, 0x33, 0x16, 0x5f, + 0xe8, 0x33, 0xad, 0x5c, 0xbe, 0x71, 0x6d, 0xca, 0x36, 0xf4, 0x99, 0xda, 0x74, 0x03, 0x20, 0x26, 0x15, 0x34, 0x28, + 0xeb, 0xdc, 0xc7, 0x1f, 0x14, 0x7d, 0x48, 0x28, 0xfa, 0xd2, 0xe7, 0xa3, 0xda, 0x17, 0x06, 0x11, 0x00, 0x49, 0x0c, + 0x33, 0xf3, 0x97, 0x82, 0xee, 0x84, 0x86, 0x07, 0xfa, 0xe6, 0xe9, 0x27, 0x4e, 0x7d, 0x06, 0xde, 0x1a, 0xf5, 0x0f, + 0x52, 0x5c, 0x5f, 0x81, 0x04, 0xb0, 0x70, 0x9e, 0x2e, 0xff, 0x4f, 0x5e, 0x10, 0x42, 0xd2, 0x9c, 0x2c, 0x6a, 0x3b, + 0x57, 0xdd, 0xff, 0x98, 0x6c, 0xf0, 0x11, 0x1b, 0x24, 0xf8, 0x38, 0x29, 0x26, 0x9e, 0x05, 0x41, 0x75, 0x45, 0xcf, + 0x4d, 0xae, 0xfa, 0xb3, 0x8c, 0x43, 0xfe, 0xf7, 0xb1, 0x3c, 0x5f, 0x40, 0xce, 0x63, 0xc6, 0x77, 0x7e, 0x88, 0xb0, + 0x24, 0xa7, 0x61, 0x67, 0x76, 0x5f, 0xed, 0xcf, 0xa3, 0x81, 0xfa, 0x6a, 0x77, 0x7e, 0x03, 0x09, 0xf8, 0xc2, 0x0f, + 0x6b, 0xa8, 0x51, 0xf9, 0xa3, 0x39, 0xad, 0xbd, 0x4a, 0x1b, 0x7d, 0x42, 0x25, 0x22, 0xb8, 0x94, 0x1c, 0xa0, 0xbe, + 0x48, 0x3a, 0x3f, 0x99, 0x38, 0x66, 0xda, 0x94, 0x1c, 0x74, 0xe3, 0x5c, 0x72, 0xa1, 0x1c, 0x5a, 0x49, 0x1d, 0xa5, + 0x80, 0x9c, 0x94, 0xd1, 0x81, 0x15, 0xdd, 0x5e, 0x4a, 0xc6, 0x8f, 0x8a, 0xd0, 0x2e, 0x9b, 0xcd, 0x35, 0x2b, 0x8b, + 0x99, 0x44, 0x8c, 0x54, 0x70, 0x59, 0xb2, 0x32, 0x41, 0xbf, 0xa8, 0x8d, 0xa9, 0x8d, 0x64, 0xba, 0xb7, 0x59, 0x9d, + 0xba, 0x08, 0x34, 0xb8, 0x72, 0x40, 0x5e, 0xf1, 0x2a, 0x60, 0x4b, 0x48, 0x26, 0xcc, 0x22, 0x56, 0x70, 0xa1, 0xdc, + 0xf7, 0x99, 0xfb, 0x60, 0x7f, 0x9c, 0x04, 0xe7, 0x5b, 0x6f, 0xd1, 0xef, 0x12, 0x9c, 0x82, 0xea, 0xf5, 0xe7, 0xd4, + 0xb5, 0xb8, 0xbc, 0x62, 0x0a, 0x0a, 0x1c, 0x83, 0x7c, 0xba, 0xcb, 0x03, 0x22, 0xf0, 0x43, 0xfb, 0xa4, 0x8e, 0xd3, + 0xd6, 0x7f, 0x46, 0xc7, 0x0c, 0xb2, 0x81, 0x54, 0xe7, 0xbe, 0x2c, 0xb0, 0x9d, 0x2e, 0x5b, 0x22, 0xb7, 0x02, 0x77, + 0x4a, 0x75, 0xdb, 0x0b, 0x94, 0x29, 0xd1, 0x51, 0x11, 0x81, 0x6d, 0x06, 0xd0, 0xb3, 0x15, 0xc1, 0x4b, 0x1f, 0x79, + 0xd6, 0x2c, 0x68, 0xe8, 0x8f, 0x88, 0x34, 0x99, 0xd0, 0x80, 0x41, 0x2e, 0x26, 0x5e, 0x4c, 0xbd, 0xf4, 0x98, 0x45, + 0xc7, 0x19, 0x70, 0x67, 0xe7, 0x2c, 0x2c, 0xe6, 0xf5, 0x34, 0xe5, 0x4b, 0x8f, 0x7e, 0x33, 0xbc, 0xec, 0x5e, 0xba, + 0xf9, 0xe9, 0x73, 0xba, 0xc1, 0xc4, 0x06, 0xba, 0x6b, 0x75, 0x1c, 0xcd, 0x83, 0x87, 0x16, 0x30, 0x93, 0xd2, 0x1c, + 0xef, 0x5b, 0xd0, 0xd2, 0xb9, 0x08, 0x99, 0xc8, 0xcb, 0x83, 0x9e, 0xed, 0x1b, 0xd2, 0x50, 0xb3, 0x13, 0xe0, 0xb3, + 0xb3, 0x34, 0x9a, 0x2b, 0x5e, 0xd0, 0x42, 0x09, 0x23, 0xc4, 0x65, 0xfd, 0x13, 0xe0, 0x81, 0xaf, 0x01, 0xca, 0x9f, + 0x94, 0xeb, 0x81, 0x67, 0x8e, 0xb9, 0x43, 0x38, 0xe1, 0xa7, 0x8a, 0xc0, 0xdd, 0x45, 0x85, 0xfe, 0xc9, 0x8c, 0x21, + 0x85, 0x01, 0x5f, 0x15, 0xe3, 0x29, 0xe1, 0x15, 0x68, 0x1a, 0x94, 0x07, 0x87, 0x01, 0xaa, 0x51, 0xf7, 0x7d, 0xed, + 0x53, 0x38, 0xa2, 0x09, 0x0f, 0x79, 0x87, 0xbc, 0x1a, 0xaa, 0x85, 0x26, 0x3e, 0xe4, 0x1d, 0x93, 0xe0, 0x9b, 0x0f, + 0xf7, 0x32, 0x7d, 0x44, 0x95, 0xa3, 0x17, 0xfa, 0x84, 0x05, 0x92, 0x53, 0x3d, 0x5e, 0x4b, 0xd1, 0x5e, 0xd1, 0x1c, + 0x5a, 0x09, 0x54, 0x6c, 0x4c, 0x87, 0x70, 0xe9, 0xd9, 0x5e, 0x7f, 0x7a, 0x93, 0xf8, 0x8b, 0x38, 0x63, 0x0d, 0x7b, + 0x02, 0xce, 0x99, 0x0d, 0xaa, 0xef, 0x64, 0x97, 0xb0, 0x48, 0x92, 0x9e, 0x67, 0x4e, 0xc7, 0x04, 0xb9, 0x79, 0xcd, + 0x1d, 0xdc, 0xcc, 0x43, 0xb9, 0xaa, 0x4f, 0x44, 0xa1, 0x49, 0xdd, 0x49, 0x41, 0xc4, 0x5b, 0xf7, 0xd7, 0x09, 0x6a, + 0x19, 0x75, 0x75, 0xd3, 0xdf, 0x8a, 0x78, 0x64, 0xcc, 0xbf, 0x56, 0x91, 0xd1, 0x2a, 0xf7, 0xdb, 0xd6, 0x5f, 0x57, + 0x66, 0x0f, 0xd9, 0xcf, 0xab, 0x5a, 0xf7, 0x3f, 0x6b, 0xd8, 0x6b, 0x5e, 0x2b, 0x45, 0x11, 0xce, 0x5c, 0x4d, 0x7a, + 0x64, 0xbe, 0x41, 0x2f, 0xee, 0xf6, 0xf0, 0x9c, 0x04, 0x28, 0x13, 0x27, 0x21, 0x0e, 0x24, 0xe4, 0x18, 0x6b, 0xbe, + 0xa2, 0x3d, 0xe6, 0xba, 0x61, 0x51, 0x99, 0x6b, 0x7e, 0x20, 0x68, 0x40, 0x05, 0xf4, 0x87, 0x1d, 0x4e, 0x73, 0x6f, + 0x42, 0xc3, 0x6f, 0x42, 0x3e, 0x43, 0xf0, 0xbb, 0xfc, 0x63, 0x81, 0xa1, 0xd0, 0x52, 0x43, 0x86, 0xeb, 0x54, 0x37, + 0x63, 0xb2, 0xda, 0x04, 0xfe, 0xb7, 0xb4, 0x9b, 0x51, 0x43, 0x64, 0x41, 0x84, 0x0c, 0x30, 0x90, 0xd1, 0x16, 0x03, + 0xaf, 0x69, 0xa6, 0xd9, 0x6a, 0x30, 0x56, 0x1f, 0x36, 0x59, 0x0a, 0x76, 0xaf, 0x9c, 0xa9, 0x1c, 0x06, 0xb5, 0x81, + 0xe1, 0x5d, 0xfa, 0xde, 0x3e, 0x2c, 0xe3, 0x45, 0xad, 0x90, 0xfb, 0xe9, 0x10, 0x19, 0x6e, 0x52, 0xc7, 0x6a, 0xa6, + 0xff, 0x19, 0x33, 0x31, 0x3e, 0x35, 0x38, 0x04, 0x36, 0x8c, 0x5d, 0xd5, 0x82, 0x61, 0xda, 0x28, 0xed, 0x9d, 0xb2, + 0x2e, 0x68, 0x21, 0x2c, 0xad, 0x5a, 0xe3, 0x80, 0x71, 0x4e, 0x2f, 0x2f, 0xd4, 0xe9, 0xc4, 0x9b, 0xfa, 0xdb, 0xc8, + 0x84, 0x0f, 0xfe, 0x35, 0x87, 0xba, 0x5a, 0x18, 0x85, 0xe3, 0xe1, 0xa3, 0x94, 0x07, 0x49, 0x68, 0x89, 0x85, 0xa6, + 0x6c, 0x6e, 0x48, 0x54, 0x87, 0x62, 0x23, 0x28, 0xf8, 0x7c, 0x85, 0x08, 0xb8, 0xc3, 0x61, 0x4b, 0x49, 0xf7, 0x16, + 0xcf, 0x90, 0x24, 0x2a, 0x23, 0x17, 0x9b, 0x60, 0x0f, 0x04, 0xc7, 0xa5, 0xa6, 0xac, 0xe5, 0xf9, 0xaf, 0x92, 0xe8, + 0x9f, 0xa0, 0xe0, 0x25, 0x29, 0xe5, 0xfc, 0x3b, 0x16, 0x7f, 0xd6, 0xd7, 0xc7, 0x88, 0xde, 0xfb, 0x0b, 0xc9, 0x67, + 0x7d, 0xb6, 0x6d, 0x1b, 0x23, 0xf3, 0xf2, 0x66, 0xae, 0x1f, 0xeb, 0xb8, 0x8c, 0x5d, 0xa2, 0x80, 0xe8, 0x6f, 0x58, + 0x2e, 0xd3, 0x3c, 0xc0, 0xf2, 0xb0, 0x3c, 0x8a, 0xfc, 0xb6, 0x22, 0x59, 0xa2, 0x81, 0xb7, 0x38, 0x2d, 0xd2, 0xbb, + 0xed, 0x78, 0x97, 0x2b, 0x75, 0x3a, 0x74, 0x2b, 0x63, 0x49, 0x34, 0xaa, 0x94, 0x43, 0x10, 0x03, 0x77, 0xba, 0x38, + 0x06, 0xbb, 0x33, 0x99, 0x3d, 0x4e, 0xdb, 0x98, 0xea, 0x4e, 0xdc, 0xd1, 0x13, 0xbc, 0xc4, 0x27, 0x2d, 0x35, 0xbb, + 0xa3, 0x17, 0x5a, 0x86, 0x4a, 0xc8, 0xea, 0xf4, 0x85, 0x56, 0x3f, 0x8a, 0x90, 0x24, 0x07, 0xfc, 0xaa, 0xf2, 0x97, + 0xaf, 0xd7, 0x63, 0xa1, 0x52, 0x5d, 0x54, 0x14, 0x68, 0x7e, 0x9e, 0x26, 0x1e, 0xa3, 0xdd, 0x6f, 0xa5, 0xaf, 0xce, + 0x1b, 0xc2, 0x07, 0xa0, 0x02, 0x92, 0x5b, 0x39, 0x34, 0xa4, 0xa1, 0x65, 0x3e, 0x3c, 0xce, 0x50, 0x28, 0x02, 0x74, + 0x26, 0x75, 0xe1, 0xa9, 0x8b, 0xf3, 0xea, 0x1f, 0x13, 0x54, 0x6c, 0x3f, 0xa7, 0x0c, 0x80, 0x93, 0x34, 0x40, 0x34, + 0x1a, 0xcf, 0x59, 0xa7, 0xd1, 0x85, 0x52, 0x3c, 0x03, 0x47, 0xc0, 0x7a, 0x89, 0x5c, 0x7b, 0x45, 0xeb, 0x5a, 0x86, + 0x34, 0xe9, 0xfe, 0xed, 0x51, 0xbf, 0x0d, 0xc1, 0x1d, 0x98, 0x34, 0x12, 0x3a, 0xaa, 0xae, 0x98, 0x1b, 0xc9, 0x38, + 0x50, 0x77, 0xda, 0x4d, 0x29, 0x37, 0x56, 0xd8, 0xcb, 0x5c, 0xb6, 0xaa, 0x63, 0xb9, 0x44, 0x58, 0xc4, 0xc5, 0x51, + 0x62, 0x45, 0x80, 0xef, 0x91, 0x41, 0x54, 0xaa, 0xf2, 0x24, 0x8a, 0x90, 0xe4, 0x0d, 0x16, 0x18, 0x73, 0x0b, 0xfd, + 0x26, 0x12, 0x3c, 0xf8, 0xfa, 0xa7, 0x15, 0x49, 0xa1, 0x12, 0x10, 0x40, 0x83, 0x81, 0x16, 0x50, 0xcd, 0xfc, 0xa3, + 0x51, 0xb7, 0x18, 0x3a, 0xcf, 0xe2, 0x39, 0x25, 0xc9, 0xa0, 0x3f, 0xfe, 0xfb, 0x09, 0x61, 0xd0, 0x06, 0xb0, 0x90, + 0x11, 0x07, 0xdc, 0x30, 0xd7, 0x9b, 0x44, 0xfa, 0x6c, 0x51, 0x2c, 0xb6, 0xd8, 0xcb, 0xb9, 0x4d, 0xe9, 0x05, 0x8d, + 0x97, 0x50, 0xf2, 0x8e, 0xe1, 0x2b, 0xaf, 0x83, 0x99, 0xb7, 0xbc, 0xc6, 0x0d, 0x16, 0xfa, 0x05, 0x8b, 0xae, 0x4a, + 0x72, 0xef, 0x97, 0x3d, 0x00, 0x99, 0x4f, 0x27, 0xaa, 0x37, 0x04, 0x0f, 0x21, 0x65, 0x63, 0xcc, 0x98, 0x73, 0x83, + 0x7b, 0xe7, 0x53, 0x45, 0x0a, 0x23, 0x17, 0x86, 0x00, 0x4e, 0x62, 0x94, 0xd1, 0xa6, 0x9e, 0xce, 0x42, 0x9d, 0x7e, + 0xe1, 0xad, 0x03, 0xf5, 0x6b, 0x53, 0x09, 0xc5, 0x5e, 0xd6, 0x03, 0x22, 0x6a, 0xaa, 0xae, 0x04, 0xe5, 0xa6, 0x44, + 0xf5, 0xed, 0x27, 0x78, 0xa6, 0xe3, 0x50, 0xfc, 0xcc, 0xc0, 0x48, 0x4c, 0x84, 0xe4, 0x6c, 0x90, 0x24, 0x4f, 0xd2, + 0x65, 0x2d, 0x09, 0xea, 0xda, 0xaf, 0x12, 0xc2, 0x23, 0x92, 0x71, 0x7e, 0xd6, 0x87, 0x7a, 0xe0, 0xca, 0x06, 0xbb, + 0x1c, 0x4f, 0xbf, 0x08, 0xd7, 0xdd, 0xa6, 0x3d, 0x35, 0xbc, 0xfb, 0x54, 0x64, 0x72, 0xcb, 0x56, 0xcd, 0x62, 0x63, + 0x82, 0x9f, 0xf8, 0x3c, 0xe8, 0x3e, 0xee, 0x37, 0x24, 0xa1, 0x9f, 0x6f, 0x73, 0x3f, 0xb1, 0xd2, 0xe8, 0x03, 0x78, + 0xd0, 0x58, 0x8a, 0x4b, 0x2b, 0x50, 0x63, 0xc1, 0x97, 0xdb, 0x92, 0xbc, 0xcd, 0x3c, 0xf0, 0x9d, 0xb8, 0x10, 0xba, + 0xc8, 0x7d, 0xe4, 0x6b, 0xe4, 0xad, 0xf4, 0x6e, 0xd5, 0x46, 0xfe, 0xe0, 0x57, 0x7f, 0xc8, 0x4a, 0x4f, 0xe9, 0x8f, + 0xca, 0x9c, 0xc5, 0x37, 0x5c, 0xa2, 0x9b, 0x81, 0x1d, 0xc1, 0x49, 0x5d, 0xf5, 0xe1, 0x0d, 0xa0, 0xb5, 0x85, 0xb7, + 0x1c, 0x4d, 0x13, 0x81, 0xe7, 0x66, 0xb8, 0xc4, 0x15, 0xd9, 0xe0, 0x06, 0x8a, 0x3d, 0x28, 0x60, 0x20, 0x36, 0xca, + 0x74, 0x3c, 0x00, 0xfc, 0x1c, 0xe2, 0x6e, 0xcc, 0xcf, 0xba, 0x66, 0x1b, 0x2d, 0x70, 0x4e, 0x91, 0x05, 0x64, 0x2f, + 0x43, 0x03, 0x0a, 0xd0, 0x09, 0x45, 0x50, 0xda, 0xac, 0xb1, 0x03, 0x26, 0x84, 0x15, 0x46, 0xd3, 0x00, 0xc7, 0x86, + 0x98, 0xb3, 0x97, 0xe6, 0x16, 0x81, 0x2f, 0x97, 0x88, 0x5c, 0xd3, 0x23, 0xa1, 0x7c, 0x86, 0x14, 0x38, 0xd1, 0xcf, + 0xd3, 0x7f, 0x03, 0x26, 0xbd, 0x9b, 0x13, 0xb4, 0xa7, 0x83, 0x69, 0xbf, 0xd4, 0x10, 0x28, 0x2d, 0x23, 0xf7, 0x87, + 0xe6, 0xf9, 0x7a, 0x31, 0xa6, 0x6b, 0xac, 0x76, 0x1b, 0xcd, 0x3f, 0xc5, 0xf5, 0x3c, 0x19, 0xb7, 0x88, 0x5c, 0x18, + 0x00, 0x7e, 0x6f, 0x06, 0x8d, 0xb7, 0xde, 0x4f, 0x2a, 0x3c, 0x67, 0x0d, 0x4b, 0x28, 0xdd, 0x23, 0xf2, 0x6d, 0xfe, + 0x87, 0x69, 0x3a, 0x28, 0x82, 0x53, 0x1b, 0xf2, 0xde, 0x83, 0x7b, 0x58, 0x87, 0x82, 0xa1, 0xaf, 0xc3, 0x94, 0xf9, + 0xc9, 0xce, 0xb2, 0x81, 0xd2, 0xb6, 0xb3, 0x5d, 0x35, 0x25, 0xed, 0x42, 0x32, 0x5c, 0x91, 0x18, 0xa4, 0xda, 0xc8, + 0x8f, 0xb6, 0xb2, 0xb2, 0x66, 0x6e, 0xa7, 0x38, 0xf2, 0x73, 0xa7, 0x33, 0xec, 0xde, 0xd8, 0xac, 0x1b, 0x1e, 0x80, + 0x34, 0xd7, 0x29, 0x00, 0x08, 0xc2, 0xa5, 0x6c, 0xe2, 0x1d, 0x4b, 0x95, 0xed, 0x40, 0x7d, 0xb0, 0xd0, 0x1c, 0x5c, + 0xe7, 0xa3, 0x09, 0xf9, 0xb8, 0xd9, 0xac, 0xf4, 0x3c, 0x07, 0x88, 0xc7, 0x71, 0x52, 0x19, 0x0c, 0x91, 0x82, 0x9f, + 0x4a, 0xb0, 0xc3, 0xd1, 0xe2, 0x3c, 0xfa, 0x6b, 0xe4, 0xbc, 0x4f, 0x50, 0x0d, 0x15, 0x58, 0x15, 0x6c, 0xc3, 0xc6, + 0xd3, 0x8b, 0xc4, 0x65, 0xbb, 0x53, 0xa1, 0x45, 0x87, 0x83, 0x5a, 0xf8, 0xd0, 0x01, 0xfd, 0x90, 0x14, 0x0a, 0x71, + 0x2e, 0xc2, 0x79, 0x16, 0x92, 0xa7, 0x0d, 0x14, 0x46, 0x5e, 0x8c, 0xdf, 0xc6, 0x70, 0xb6, 0xeb, 0x16, 0x23, 0x4b, + 0xd7, 0x74, 0x6b, 0x9c, 0x67, 0x93, 0x1f, 0xd1, 0x13, 0x27, 0x55, 0x24, 0xd9, 0x44, 0x2a, 0xa8, 0x51, 0x1a, 0x6c, + 0xfc, 0x15, 0x00, 0x05, 0x73, 0xc3, 0x6b, 0x1a, 0x8f, 0xb4, 0x4c, 0xc4, 0x5d, 0x8e, 0x06, 0x9b, 0xcc, 0xc1, 0xe3, + 0x60, 0xd0, 0x2b, 0xc4, 0x19, 0xda, 0x05, 0x4e, 0x72, 0xab, 0xc4, 0x1e, 0x7f, 0x91, 0xef, 0x25, 0x5e, 0xd8, 0x94, + 0xa1, 0x47, 0x3c, 0x48, 0x2c, 0x9b, 0x8f, 0xc1, 0xea, 0xfc, 0xbb, 0xfd, 0x90, 0x68, 0x34, 0xd0, 0x01, 0xe8, 0xc8, + 0x97, 0x70, 0xde, 0x13, 0xd3, 0xa4, 0x7b, 0xac, 0xbb, 0xf8, 0xd6, 0xfd, 0xf5, 0x69, 0xf0, 0xdd, 0x21, 0xa3, 0x2f, + 0x70, 0x3b, 0x69, 0xc2, 0x76, 0x6e, 0x5a, 0xeb, 0xfa, 0x03, 0x58, 0x00, 0xa7, 0xcc, 0x78, 0x26, 0x86, 0x97, 0x0d, + 0xfa, 0x46, 0x17, 0xe4, 0xb9, 0xbb, 0x73, 0x1d, 0xf7, 0xe7, 0xb8, 0xf5, 0xe2, 0x94, 0x43, 0x6a, 0x61, 0x11, 0xa8, + 0x19, 0x40, 0x05, 0xe4, 0x65, 0x34, 0x25, 0x5d, 0x10, 0xfc, 0xda, 0xa0, 0xe8, 0x7c, 0x87, 0x31, 0x40, 0xbd, 0xea, + 0x39, 0xcd, 0xfb, 0x5b, 0x4e, 0xf2, 0x42, 0xc4, 0x7b, 0x9b, 0xa6, 0xfa, 0xa7, 0x95, 0x7d, 0xca, 0x94, 0xd7, 0x2f, + 0xcd, 0xd1, 0xd9, 0x84, 0xaa, 0xad, 0xdd, 0xa6, 0x1a, 0xe2, 0x73, 0xbc, 0x64, 0x1e, 0x51, 0xbc, 0x80, 0x81, 0xe6, + 0x81, 0x1f, 0x79, 0xaf, 0xed, 0xdd, 0x68, 0x56, 0x5e, 0xa7, 0x0b, 0xfa, 0x7e, 0x4e, 0xb3, 0x12, 0xbc, 0x67, 0x67, + 0xab, 0x4a, 0xf5, 0x92, 0x0a, 0x86, 0x79, 0xd7, 0x2b, 0x7f, 0x46, 0xbf, 0xd1, 0x13, 0x3f, 0xe5, 0x4d, 0xe3, 0x37, + 0x25, 0xf3, 0xdb, 0x24, 0x4c, 0xea, 0x1c, 0xd6, 0xf4, 0x28, 0xdd, 0x4e, 0x28, 0xe7, 0x41, 0xee, 0x5e, 0xf6, 0x35, + 0xb2, 0xdd, 0x78, 0xa5, 0xfc, 0xe2, 0x8b, 0x96, 0x7f, 0xd7, 0xab, 0xba, 0xd2, 0xa4, 0x79, 0x1a, 0x3b, 0x57, 0x0f, + 0xf5, 0xe9, 0x43, 0x47, 0xa6, 0xfb, 0x23, 0xbe, 0xcc, 0xc8, 0xd0, 0x22, 0x33, 0xdf, 0x55, 0x56, 0x43, 0x5c, 0x6b, + 0x35, 0xf1, 0xee, 0x54, 0xe6, 0xcc, 0x8e, 0xdd, 0x78, 0x91, 0x64, 0x30, 0xaa, 0x8e, 0x4c, 0x0d, 0x89, 0xe4, 0x84, + 0xa8, 0x5f, 0x31, 0x08, 0x98, 0x75, 0x8d, 0x7f, 0xb5, 0xaf, 0x29, 0xb7, 0xe5, 0x5b, 0x8f, 0xb9, 0xfe, 0x36, 0x4e, + 0xb7, 0x5f, 0x13, 0x60, 0xdb, 0x56, 0x5c, 0xea, 0xc5, 0x28, 0xb6, 0x36, 0x32, 0xb1, 0x82, 0x96, 0x27, 0xe0, 0xf0, + 0x80, 0x44, 0xa2, 0xc2, 0xa4, 0xd9, 0x37, 0x92, 0x4a, 0x76, 0xd8, 0xf0, 0xcd, 0x7d, 0xab, 0xb8, 0xa0, 0x8f, 0xf6, + 0x8f, 0x3a, 0x55, 0xd3, 0xcb, 0x42, 0x51, 0x55, 0x1d, 0xf4, 0xa0, 0x29, 0x95, 0xd2, 0xe7, 0x5f, 0xee, 0x4c, 0x12, + 0x10, 0x59, 0x25, 0x81, 0x31, 0x7d, 0x80, 0x62, 0x2a, 0xed, 0x5a, 0x03, 0xa2, 0xc6, 0xbf, 0x21, 0xe1, 0xb7, 0xfa, + 0x31, 0x3d, 0xba, 0x47, 0xdf, 0xfd, 0x5c, 0xda, 0xb5, 0x08, 0x56, 0xe9, 0xad, 0xfe, 0x25, 0x3f, 0xf5, 0x44, 0xd5, + 0xbc, 0x52, 0xbd, 0x33, 0xb4, 0xa7, 0xf9, 0xd3, 0x39, 0x3f, 0x7f, 0x3a, 0xe7, 0x75, 0x30, 0xcc, 0x8c, 0xad, 0x5b, + 0x15, 0xbc, 0x5c, 0xe0, 0xba, 0x84, 0x32, 0x3c, 0xf5, 0xe5, 0x3f, 0x3c, 0x0b, 0x53, 0x19, 0x90, 0x9a, 0x6c, 0x60, + 0x4c, 0x65, 0xe0, 0x74, 0x73, 0x43, 0x47, 0xd3, 0x8d, 0x56, 0x26, 0x9a, 0x19, 0x4f, 0x86, 0x1a, 0x72, 0x1a, 0x73, + 0xb0, 0xa7, 0x87, 0x8c, 0x43, 0xad, 0x66, 0xfc, 0x68, 0xb4, 0x05, 0x6d, 0x40, 0xe1, 0x67, 0x30, 0x53, 0x01, 0x06, + 0xd1, 0xf9, 0x36, 0xce, 0x3e, 0x49, 0x7f, 0x67, 0x99, 0xf3, 0x7c, 0xd9, 0x10, 0xc1, 0xaf, 0x34, 0xe9, 0x76, 0x59, + 0x04, 0xfc, 0x98, 0xd1, 0x58, 0xc6, 0xef, 0xc5, 0xa0, 0x7f, 0x91, 0x3e, 0xaa, 0x11, 0x38, 0x17, 0x20, 0xaf, 0x46, + 0x98, 0x06, 0x8a, 0x86, 0xf6, 0x1a, 0xfa, 0x42, 0xa9, 0x32, 0x7d, 0xed, 0x69, 0x4d, 0x2b, 0xb2, 0xb4, 0xd2, 0x4f, + 0xc6, 0x14, 0xb3, 0x2a, 0x71, 0xec, 0x69, 0xde, 0x37, 0xc8, 0x24, 0x5f, 0x38, 0xcb, 0x68, 0x29, 0xa7, 0xc6, 0x02, + 0xdd, 0x2a, 0xd4, 0xda, 0x85, 0xa7, 0x37, 0x68, 0x1c, 0x18, 0x2a, 0xca, 0xbe, 0x5f, 0x62, 0x8f, 0x78, 0xdf, 0x7e, + 0xc0, 0x47, 0x28, 0xb8, 0xed, 0x39, 0x49, 0x18, 0xa9, 0xfa, 0x5e, 0x51, 0xbc, 0xef, 0x9b, 0x64, 0x24, 0x37, 0x34, + 0x31, 0xd8, 0xa8, 0x85, 0xd3, 0xd3, 0x38, 0x5d, 0x38, 0x3d, 0xc5, 0xa9, 0x45, 0x5b, 0x32, 0xd3, 0xc8, 0x48, 0xac, + 0x5d, 0xe1, 0x44, 0x2d, 0xbf, 0xc9, 0xaf, 0xb2, 0x0d, 0x09, 0x14, 0x95, 0xd6, 0x5e, 0x95, 0x1e, 0xf4, 0x02, 0x36, + 0xe0, 0x4e, 0x75, 0x20, 0xf2, 0x12, 0x5f, 0x2d, 0x40, 0x00, 0x46, 0xf7, 0x3f, 0x58, 0x4d, 0xe9, 0xb4, 0xd1, 0x6e, + 0x4e, 0x39, 0x26, 0x50, 0x72, 0xcd, 0x07, 0x93, 0x90, 0x37, 0x38, 0x71, 0x5e, 0x43, 0xa0, 0x42, 0x1c, 0x43, 0x90, + 0x67, 0xc6, 0x16, 0xf3, 0xfb, 0xb7, 0xaa, 0xfa, 0xa1, 0xa2, 0x53, 0xa8, 0x21, 0x66, 0x5f, 0x68, 0x9e, 0xf0, 0x2b, + 0x72, 0x5e, 0xe6, 0xe4, 0xd2, 0x73, 0x8f, 0xe4, 0xe3, 0xd1, 0xd9, 0x63, 0x24, 0xe8, 0xdb, 0xd5, 0x8e, 0xe6, 0x26, + 0x2c, 0xc5, 0x97, 0xec, 0x67, 0x2a, 0xff, 0x54, 0x2d, 0x14, 0xcf, 0xac, 0xce, 0x3b, 0x65, 0xb1, 0xab, 0x2a, 0x76, + 0x49, 0x67, 0xd0, 0x29, 0x78, 0x33, 0x20, 0x82, 0x8e, 0xe0, 0x24, 0x49, 0x20, 0x11, 0x8d, 0x02, 0xed, 0xd9, 0x4c, + 0x24, 0xc1, 0x5c, 0x80, 0x25, 0xcb, 0x1b, 0x2e, 0x76, 0xed, 0x2f, 0xdd, 0x92, 0xcc, 0x13, 0x70, 0xd1, 0x3c, 0xd3, + 0xe9, 0xe5, 0x3a, 0xf2, 0x39, 0xc2, 0xd4, 0xba, 0xa9, 0xcd, 0xab, 0x84, 0xf3, 0x55, 0xb9, 0x89, 0x95, 0x78, 0x1b, + 0xa8, 0x19, 0xaf, 0x56, 0x2a, 0x7f, 0x62, 0x72, 0x4a, 0x6b, 0x64, 0xa4, 0xb0, 0x3f, 0xa4, 0xaa, 0x6d, 0x94, 0x70, + 0x1b, 0xd2, 0x6f, 0xe7, 0xa7, 0xed, 0x42, 0xf1, 0x5b, 0x3b, 0x18, 0xf2, 0xff, 0xf5, 0x1a, 0xdb, 0x85, 0xa8, 0x51, + 0x60, 0x84, 0x70, 0xb1, 0x08, 0x10, 0x9e, 0x0b, 0xa7, 0x6c, 0x88, 0x85, 0x07, 0x8f, 0xc2, 0xd9, 0xeb, 0xac, 0xab, + 0xde, 0x6f, 0xfe, 0x3e, 0xa8, 0xbf, 0x8f, 0x42, 0xe3, 0x5c, 0xaf, 0xf1, 0x6f, 0x15, 0x3f, 0xfe, 0xd0, 0x42, 0xb1, + 0x81, 0x11, 0x6e, 0x22, 0x68, 0xa5, 0x68, 0xb6, 0x25, 0xd5, 0xfa, 0xaa, 0x80, 0x22, 0x84, 0xdd, 0x49, 0x55, 0x0b, + 0x26, 0xac, 0x3b, 0x3d, 0xc1, 0xf2, 0xf9, 0xc0, 0xe9, 0x3f, 0xa6, 0xed, 0x39, 0x49, 0x54, 0xfa, 0xac, 0x4f, 0x85, + 0x27, 0x4f, 0xa2, 0xd5, 0x3e, 0xf3, 0x2f, 0xc1, 0xad, 0xaf, 0x7e, 0xb5, 0xac, 0x46, 0xca, 0x4c, 0x31, 0x8b, 0xc2, + 0x6b, 0xb7, 0x86, 0x99, 0xf1, 0x8a, 0x62, 0xd2, 0x34, 0x7b, 0x58, 0x0a, 0x8a, 0xbb, 0xba, 0x66, 0x65, 0x4e, 0xe7, + 0x65, 0x46, 0xe6, 0x54, 0x82, 0x71, 0x54, 0x7c, 0x8f, 0x33, 0x7e, 0xa3, 0xad, 0x18, 0x18, 0x75, 0x3c, 0xec, 0xf4, + 0x1c, 0xeb, 0x84, 0x01, 0x7a, 0xe5, 0xb9, 0x89, 0xf0, 0x1a, 0x2f, 0x81, 0x53, 0xa7, 0x36, 0x7d, 0x10, 0x69, 0xe5, + 0xa8, 0x29, 0xcf, 0xb0, 0xc5, 0x94, 0x5e, 0xe3, 0x36, 0x91, 0x76, 0xfb, 0x2f, 0x76, 0x5e, 0x05, 0x9f, 0xd8, 0xd3, + 0x11, 0x1e, 0xd1, 0xa4, 0xb4, 0x08, 0x5e, 0x24, 0xca, 0xc3, 0xf6, 0xc0, 0x73, 0x7e, 0x25, 0xd6, 0x5e, 0x4e, 0x94, + 0xf2, 0x7c, 0xe6, 0x39, 0x88, 0x21, 0x33, 0xb4, 0x84, 0x8e, 0xcf, 0x05, 0x47, 0x62, 0x5c, 0xbd, 0x4f, 0x90, 0xc4, + 0x49, 0xb0, 0xf7, 0xd7, 0x3e, 0x17, 0x69, 0x75, 0xfc, 0xf2, 0x3e, 0x61, 0x21, 0xb6, 0x6b, 0xda, 0x05, 0x2a, 0x64, + 0x3f, 0xf8, 0x53, 0x02, 0x5e, 0x13, 0xf2, 0xb2, 0xef, 0xd4, 0x6e, 0x9d, 0x75, 0xce, 0xff, 0x0b, 0x87, 0x43, 0x8f, + 0x5e, 0x39, 0x9a, 0x6b, 0x26, 0x60, 0x72, 0xc0, 0x51, 0xd5, 0xf7, 0xa2, 0xc4, 0xd1, 0xf0, 0x40, 0xa0, 0xac, 0x12, + 0xff, 0xb0, 0x7e, 0x30, 0x24, 0xa0, 0xf2, 0x88, 0xfb, 0xee, 0xd6, 0xee, 0x9a, 0x76, 0x65, 0x13, 0x2e, 0x57, 0x32, + 0xfe, 0x1b, 0x10, 0xa6, 0xef, 0x03, 0xce, 0xe1, 0xe8, 0xac, 0xfb, 0x02, 0x6e, 0x32, 0xe7, 0x14, 0xa3, 0xb8, 0x96, + 0x7c, 0xc1, 0xf6, 0x94, 0x90, 0xd7, 0xc4, 0x2e, 0xbf, 0x58, 0x47, 0xa1, 0x57, 0x9d, 0xd4, 0xcb, 0xb2, 0xe8, 0xbf, + 0x80, 0x75, 0x82, 0x78, 0x79, 0x9e, 0xe9, 0xb2, 0x6f, 0x12, 0x87, 0x2b, 0xac, 0xb0, 0x99, 0x95, 0x86, 0x66, 0x61, + 0xfa, 0x98, 0xd2, 0x75, 0x2c, 0x30, 0x0e, 0x55, 0xce, 0x76, 0x09, 0x6c, 0x49, 0xaa, 0x99, 0xc6, 0xfb, 0x0d, 0x59, + 0x85, 0x49, 0x4b, 0x2b, 0x8d, 0x17, 0xe8, 0x1e, 0x6b, 0x3c, 0xff, 0x4b, 0x30, 0x4c, 0x18, 0x67, 0x2f, 0xc3, 0xc4, + 0x4f, 0x2a, 0xb8, 0xaa, 0x79, 0x82, 0xc3, 0xe6, 0x9d, 0xf9, 0xab, 0xb6, 0x75, 0xc0, 0x4f, 0xb2, 0x2f, 0x1a, 0xc3, + 0x98, 0x2c, 0x2c, 0x06, 0xee, 0xd2, 0xd8, 0xcf, 0xc1, 0xc2, 0x0d, 0xfb, 0xe8, 0x1b, 0x05, 0x5f, 0xfa, 0xf7, 0x77, + 0xa0, 0x4e, 0x62, 0xd4, 0x75, 0x69, 0x25, 0xa5, 0xbf, 0x46, 0xbe, 0x68, 0x03, 0x88, 0x34, 0x4f, 0x7d, 0x8c, 0x85, + 0x53, 0x41, 0xc4, 0x92, 0x12, 0x61, 0xed, 0x8c, 0x30, 0x6b, 0x65, 0xf9, 0xfe, 0x6c, 0xea, 0x08, 0x05, 0x5d, 0x3b, + 0xcb, 0x9f, 0x73, 0xe9, 0x66, 0x11, 0x5d, 0x37, 0xc0, 0x58, 0x96, 0x1d, 0x51, 0x0e, 0x9e, 0x60, 0xdb, 0xea, 0xae, + 0x88, 0xbc, 0xa1, 0x3e, 0x49, 0xac, 0x4e, 0xe8, 0x23, 0x8e, 0xd6, 0xf9, 0x68, 0x13, 0x4d, 0xbe, 0x59, 0xe5, 0xf2, + 0xd3, 0x26, 0xe6, 0x34, 0xd4, 0xc5, 0x0c, 0x62, 0x38, 0xf8, 0x4e, 0x84, 0xce, 0xa6, 0x7d, 0xdc, 0xa0, 0xcd, 0xc2, + 0x19, 0x9a, 0x86, 0xeb, 0x10, 0x6f, 0x2a, 0x61, 0x51, 0xd9, 0x42, 0xd3, 0x29, 0x9d, 0x70, 0x75, 0x57, 0x98, 0x9b, + 0x73, 0xee, 0xa9, 0xe5, 0x1a, 0xba, 0x26, 0x02, 0x85, 0xe2, 0xb1, 0xe5, 0x1a, 0x7d, 0x75, 0x50, 0xa9, 0x42, 0xa7, + 0xdb, 0x79, 0xf6, 0x2a, 0x16, 0x1c, 0xae, 0x8c, 0xc5, 0x1c, 0x60, 0xe0, 0xa7, 0x71, 0xf2, 0xbe, 0x8a, 0xec, 0x54, + 0x5a, 0x72, 0xde, 0xa5, 0xe4, 0xc0, 0x25, 0xf5, 0xcf, 0x6d, 0x5e, 0x9d, 0x2f, 0x73, 0x9b, 0x29, 0x78, 0x0b, 0x6e, + 0xe9, 0xb4, 0x1e, 0x87, 0xa2, 0xed, 0x10, 0x53, 0xe5, 0x5e, 0x29, 0x25, 0xcf, 0x9a, 0x6a, 0x28, 0x59, 0xe7, 0x18, + 0xeb, 0x8f, 0x0e, 0x51, 0x3e, 0xc4, 0x34, 0xe2, 0x70, 0xa7, 0x62, 0x55, 0xf2, 0x64, 0x25, 0x48, 0x88, 0xd5, 0x36, + 0xcc, 0x0c, 0x5a, 0x59, 0x26, 0xaa, 0x7d, 0x77, 0x9e, 0x47, 0x89, 0x31, 0xbe, 0x32, 0xcb, 0xc2, 0xd7, 0xe5, 0x0e, + 0x74, 0x82, 0x34, 0xb7, 0x9b, 0xc0, 0xb2, 0x5e, 0xa3, 0x11, 0xe6, 0xd3, 0x38, 0x4a, 0x48, 0x40, 0x24, 0xd5, 0x2f, + 0x48, 0x97, 0x12, 0xee, 0x7a, 0xf4, 0x67, 0xf9, 0x20, 0x84, 0xf9, 0xf0, 0xe5, 0x84, 0x53, 0x97, 0x60, 0x3b, 0xde, + 0xe4, 0xb5, 0x02, 0x95, 0x44, 0xd3, 0x6b, 0x2b, 0x4e, 0x75, 0xa9, 0x7a, 0x5b, 0x8c, 0xe2, 0x34, 0xfd, 0xaa, 0x27, + 0xb9, 0xd9, 0x62, 0x61, 0x2c, 0x18, 0x04, 0x1a, 0x50, 0xd1, 0x4d, 0x00, 0xab, 0x31, 0x16, 0x11, 0xaf, 0xcb, 0x0f, + 0x99, 0x54, 0x53, 0x3a, 0x54, 0xed, 0xda, 0xef, 0x0f, 0xee, 0xdd, 0xf0, 0x70, 0xfc, 0xf8, 0x9f, 0xfb, 0xbd, 0x1e, + 0x54, 0x41, 0x97, 0xf0, 0x71, 0x67, 0x3b, 0xa6, 0x42, 0x01, 0xb2, 0xb2, 0x7d, 0x79, 0x01, 0x50, 0x63, 0x2a, 0x4e, + 0xba, 0x6b, 0xeb, 0xde, 0xb4, 0xe0, 0xd3, 0xba, 0x09, 0xdf, 0xfb, 0xe6, 0x7c, 0x6f, 0x98, 0x5a, 0x77, 0xf8, 0xdc, + 0xe5, 0x33, 0x9e, 0x02, 0x99, 0x0b, 0x83, 0xf7, 0x90, 0xe2, 0x26, 0x4c, 0x32, 0xe4, 0x6c, 0x9a, 0x77, 0xda, 0xb2, + 0xbc, 0xd6, 0x52, 0xb2, 0x23, 0x26, 0xec, 0xb9, 0xf2, 0x47, 0xde, 0x93, 0xf8, 0x48, 0x35, 0x04, 0xe0, 0x04, 0xa5, + 0x8d, 0xc0, 0x5c, 0xc5, 0xcd, 0xfc, 0xa9, 0x21, 0x88, 0x08, 0xf4, 0x4c, 0xe1, 0xde, 0xce, 0x1f, 0xce, 0xc6, 0x08, + 0x41, 0x2a, 0xf8, 0x66, 0xa5, 0x36, 0x6b, 0x78, 0xe9, 0x3f, 0x66, 0x67, 0x3b, 0x32, 0xd3, 0xdd, 0x26, 0x51, 0x5b, + 0xb6, 0xa6, 0x02, 0xcc, 0x20, 0x1a, 0x03, 0x17, 0x3c, 0x30, 0xa6, 0xf1, 0xd1, 0x9b, 0x71, 0x62, 0xad, 0xdd, 0xf2, + 0xe5, 0x8c, 0x8f, 0x1c, 0x7d, 0x4e, 0x16, 0xa8, 0x71, 0x77, 0x18, 0xcb, 0xcb, 0xf8, 0x6e, 0x3d, 0x6e, 0x56, 0xf7, + 0x20, 0x0b, 0x08, 0xd0, 0x6b, 0xb1, 0xae, 0x99, 0xe8, 0x55, 0xc2, 0x9d, 0x54, 0x9a, 0x27, 0x95, 0x98, 0x59, 0xe5, + 0xe5, 0xb5, 0xd3, 0xcb, 0x90, 0xbc, 0x0c, 0xd6, 0x6e, 0x54, 0xa1, 0xc7, 0xd6, 0x58, 0xe3, 0xb8, 0x66, 0x92, 0xa5, + 0xf1, 0xd7, 0xf0, 0x51, 0x3f, 0xbc, 0x5c, 0x45, 0xeb, 0xa6, 0x5a, 0xb4, 0x5e, 0x5b, 0x39, 0xcc, 0x97, 0xbc, 0xf8, + 0x85, 0x2d, 0xb6, 0xf0, 0x7a, 0xb1, 0xb9, 0x8f, 0xa8, 0x4c, 0x25, 0xaa, 0xd3, 0x4a, 0x54, 0xa6, 0x89, 0xc9, 0xcf, + 0x9e, 0x77, 0x01, 0x5c, 0x7f, 0xd4, 0xa9, 0x55, 0xfc, 0xa8, 0x32, 0xaa, 0xfc, 0x51, 0x23, 0x54, 0xeb, 0x13, 0x40, + 0x94, 0xc0, 0xac, 0x91, 0x87, 0x99, 0xb5, 0x61, 0x32, 0x29, 0xeb, 0x0b, 0x72, 0x85, 0xc3, 0xb4, 0xaa, 0x56, 0xbd, + 0xff, 0xe5, 0x86, 0xeb, 0x2f, 0x9b, 0xfc, 0x6e, 0xc6, 0xf5, 0xbe, 0x92, 0xfd, 0x60, 0x39, 0x18, 0x2c, 0xb4, 0xf1, + 0xe3, 0x16, 0xea, 0x7e, 0x8c, 0x1e, 0x86, 0xe0, 0xca, 0xf4, 0x35, 0x88, 0xfa, 0x95, 0x20, 0xf3, 0x23, 0xf2, 0x5a, + 0x01, 0x72, 0xb1, 0xd7, 0x37, 0xd2, 0xbb, 0xd6, 0x20, 0x1a, 0x1b, 0x12, 0xa9, 0xb3, 0x48, 0x86, 0x21, 0xb5, 0x7d, + 0xb8, 0xce, 0xe8, 0x68, 0xde, 0xe4, 0x2d, 0xbe, 0xa9, 0x86, 0x26, 0xcc, 0xb7, 0x0a, 0xab, 0x91, 0x9e, 0x93, 0xa6, + 0x29, 0x69, 0x56, 0xf6, 0x4d, 0xd0, 0xaf, 0x5e, 0x44, 0x26, 0x34, 0x06, 0x5f, 0x64, 0x70, 0xe0, 0xb7, 0x2b, 0x3a, + 0x0a, 0xd1, 0x4f, 0x79, 0x73, 0xff, 0x55, 0x30, 0x4a, 0xfd, 0x00, 0xb1, 0x6f, 0xd1, 0x05, 0x66, 0x67, 0x05, 0x7c, + 0x0b, 0xeb, 0xed, 0x05, 0x79, 0x94, 0xc6, 0xce, 0xc2, 0x11, 0x35, 0x61, 0xad, 0xf7, 0xb0, 0x31, 0xb2, 0xde, 0xf9, + 0xe7, 0xba, 0x2b, 0x51, 0x84, 0x4b, 0xcf, 0x65, 0x82, 0xea, 0xc0, 0x45, 0xe5, 0x5b, 0x6a, 0x2f, 0xa5, 0x09, 0xa7, + 0x22, 0x5f, 0x0c, 0x1b, 0xde, 0x87, 0xc3, 0xbe, 0x86, 0xc3, 0x0f, 0x7c, 0xd3, 0x5a, 0x6b, 0x26, 0x5b, 0x35, 0xb2, + 0x0b, 0x2e, 0xb8, 0xc0, 0xb0, 0x83, 0x81, 0xf5, 0xec, 0x7d, 0x1e, 0x82, 0xa6, 0x03, 0x61, 0xc1, 0x58, 0x34, 0xb7, + 0x01, 0x4f, 0x3e, 0x60, 0xa0, 0xd4, 0xcd, 0xdb, 0x6d, 0xd9, 0x22, 0xb9, 0x0d, 0x0c, 0xa9, 0xc5, 0x38, 0xcb, 0xe2, + 0xc0, 0x99, 0x3a, 0x9b, 0xe7, 0xfa, 0x46, 0x19, 0x77, 0xad, 0x44, 0x49, 0x1b, 0xbf, 0x9e, 0x0d, 0xee, 0x19, 0x29, + 0x74, 0x93, 0xff, 0x2f, 0x21, 0xe5, 0x5d, 0xae, 0x0a, 0x82, 0x6e, 0x70, 0xd2, 0xd7, 0x5a, 0xba, 0xc8, 0x4c, 0x44, + 0x77, 0x80, 0x2b, 0x68, 0x52, 0xae, 0x3d, 0x41, 0xd2, 0x67, 0x2b, 0xb7, 0x39, 0x11, 0xdb, 0x3d, 0x23, 0x9d, 0xd9, + 0x12, 0xea, 0xf3, 0x0b, 0x56, 0x97, 0x77, 0xee, 0x28, 0xe5, 0x73, 0x65, 0xcc, 0x78, 0x24, 0xcd, 0xb3, 0x3f, 0x4a, + 0x21, 0x4d, 0xc6, 0xf5, 0x22, 0x32, 0x9f, 0x97, 0xdb, 0x5b, 0x81, 0x07, 0x9e, 0xaa, 0xc0, 0x10, 0xb4, 0xde, 0x4b, + 0x7c, 0xf3, 0x55, 0x0d, 0xca, 0x3a, 0x19, 0x3f, 0x3e, 0x56, 0xbf, 0x35, 0xf6, 0xa2, 0xd2, 0xe4, 0x10, 0xcd, 0xd4, + 0x76, 0x5a, 0xe7, 0x2d, 0xa8, 0x65, 0x6a, 0xd7, 0x09, 0xa4, 0xd1, 0x39, 0xcf, 0x56, 0x91, 0x98, 0x6a, 0xfe, 0x6b, + 0xa6, 0x84, 0xbe, 0xaf, 0x50, 0x25, 0xfe, 0x19, 0x17, 0x89, 0x30, 0xe2, 0x3c, 0x50, 0x0f, 0x61, 0xd5, 0x12, 0x87, + 0xca, 0xbb, 0x31, 0x8c, 0x0b, 0x66, 0xe1, 0x10, 0x1b, 0x65, 0x7e, 0x16, 0x93, 0x4f, 0x97, 0x05, 0x4f, 0xce, 0xaf, + 0x64, 0x99, 0x75, 0xb3, 0x4f, 0x88, 0x87, 0x47, 0xed, 0x21, 0xd5, 0x2d, 0x0b, 0xad, 0x59, 0x59, 0x2f, 0xca, 0x6e, + 0xd4, 0x3e, 0x8b, 0x2f, 0xc8, 0x68, 0xd2, 0x1e, 0x78, 0xdc, 0x4b, 0x12, 0x48, 0x55, 0x2d, 0xdb, 0xcc, 0x21, 0xf2, + 0xf0, 0xf2, 0x21, 0x4f, 0xf9, 0xac, 0x4c, 0x54, 0x94, 0xb6, 0xc3, 0xe0, 0x81, 0xfb, 0x3a, 0x9a, 0xa0, 0x53, 0xac, + 0xd3, 0x15, 0x44, 0x6f, 0xc0, 0xac, 0x37, 0x8a, 0x3d, 0xab, 0xac, 0x4a, 0x36, 0xed, 0xe5, 0x1a, 0xbf, 0x71, 0x90, + 0x16, 0xdc, 0xd8, 0xe3, 0x48, 0x5d, 0x2f, 0x4a, 0xd7, 0xf5, 0x66, 0x6f, 0xb9, 0xd3, 0xea, 0x03, 0x3e, 0xfd, 0x94, + 0x6c, 0xc9, 0x5f, 0x2f, 0x5d, 0x93, 0x56, 0x6e, 0x0b, 0x1a, 0x35, 0xd6, 0x64, 0xbc, 0xe9, 0x4b, 0x10, 0x15, 0x55, + 0x09, 0x9e, 0x53, 0x7e, 0x36, 0x8c, 0x46, 0x32, 0xd1, 0x80, 0x7c, 0x69, 0xed, 0x7e, 0xae, 0x55, 0xbc, 0xb5, 0x3a, + 0x74, 0xca, 0xea, 0xe0, 0xf8, 0xd2, 0xb9, 0xd9, 0xba, 0x28, 0x14, 0x20, 0x01, 0xf6, 0x50, 0x43, 0x8e, 0x9d, 0xd5, + 0x8c, 0xdb, 0xdb, 0x6f, 0x1b, 0x31, 0x90, 0x62, 0x2e, 0xfb, 0xae, 0x1f, 0x22, 0x64, 0x32, 0x23, 0x4c, 0xac, 0x91, + 0xdd, 0x18, 0xa3, 0x09, 0x09, 0xc9, 0x78, 0x2d, 0x84, 0x84, 0xde, 0xea, 0x3c, 0x01, 0x5c, 0x12, 0x4f, 0x06, 0x6b, + 0x0a, 0x66, 0x45, 0x5e, 0x57, 0x5b, 0x71, 0x25, 0x16, 0x89, 0xf0, 0x75, 0x51, 0x23, 0xdb, 0x26, 0x58, 0x41, 0x8b, + 0x62, 0x0e, 0x14, 0x3a, 0xf3, 0x0d, 0x5f, 0x30, 0xe1, 0x9c, 0xdf, 0x75, 0x6b, 0x94, 0x96, 0x99, 0xa0, 0xaf, 0x1a, + 0x16, 0xb6, 0xdb, 0x2f, 0x10, 0xd7, 0x34, 0x03, 0x03, 0x8a, 0xb2, 0x43, 0x35, 0xbf, 0x03, 0x4b, 0x94, 0x9c, 0xb4, + 0x91, 0x9b, 0x5f, 0xa1, 0x63, 0x82, 0x18, 0x58, 0x68, 0x6c, 0x2f, 0x64, 0x2b, 0xd1, 0x9a, 0x1a, 0xb2, 0x11, 0x36, + 0xc1, 0x07, 0xa7, 0xa7, 0x70, 0x6d, 0x02, 0x55, 0xd3, 0x94, 0x46, 0x60, 0x9e, 0xf0, 0x40, 0x69, 0xbe, 0x9f, 0x5d, + 0x10, 0xd8, 0x98, 0xb7, 0x22, 0x8b, 0x03, 0x92, 0x12, 0x1b, 0x58, 0x78, 0xd4, 0x58, 0x2f, 0xef, 0x34, 0x8e, 0x2e, + 0xab, 0x51, 0x57, 0xa4, 0x58, 0x2a, 0x69, 0xc6, 0xa2, 0xc1, 0x98, 0x92, 0x90, 0x64, 0x2d, 0x04, 0x6b, 0x36, 0xfc, + 0xcd, 0x7b, 0x54, 0x7f, 0x6b, 0x2e, 0x60, 0x4f, 0x30, 0xdb, 0x79, 0x31, 0xbd, 0xbe, 0x1a, 0x65, 0xdb, 0xba, 0x85, + 0x79, 0x4f, 0x61, 0xd0, 0x9c, 0x8f, 0x29, 0x65, 0xce, 0x33, 0x40, 0x99, 0x49, 0x16, 0x01, 0x39, 0x0c, 0xb8, 0x07, + 0xa4, 0x2b, 0x2f, 0x0e, 0x7b, 0x19, 0xad, 0x9c, 0xb9, 0xf0, 0xf2, 0x72, 0x75, 0x34, 0x41, 0x39, 0x50, 0xe4, 0xc0, + 0x8b, 0xeb, 0x17, 0x4f, 0x73, 0x2d, 0x56, 0x59, 0x6f, 0x58, 0xa8, 0xae, 0xb7, 0xf4, 0xb9, 0xf5, 0x31, 0xf0, 0xf9, + 0xb5, 0x96, 0x5a, 0x34, 0x7f, 0xe8, 0xb5, 0xd5, 0xa4, 0xa0, 0xdd, 0xbf, 0xf5, 0x64, 0x14, 0x39, 0xa5, 0xd5, 0xb2, + 0xf8, 0x54, 0xbb, 0xe8, 0x29, 0x5a, 0xca, 0x26, 0xef, 0xb2, 0x87, 0xaa, 0x0b, 0xb3, 0xd6, 0x51, 0x98, 0xd5, 0xf6, + 0x28, 0xef, 0xec, 0xbd, 0x36, 0x0b, 0xca, 0x94, 0x56, 0x9f, 0x70, 0xbd, 0xf1, 0x02, 0xaa, 0xf9, 0x96, 0x1a, 0x8b, + 0x63, 0x7e, 0x49, 0x5d, 0xd9, 0x28, 0x7b, 0x9e, 0xd6, 0xb8, 0xbc, 0xeb, 0xa2, 0x17, 0x53, 0xc0, 0x29, 0xca, 0x4a, + 0x17, 0x37, 0x72, 0x09, 0x5d, 0x2b, 0xd2, 0x1a, 0xf8, 0x0c, 0x8c, 0x62, 0xb2, 0x9a, 0x7c, 0x90, 0xf4, 0xdf, 0x99, + 0xf5, 0x57, 0x9d, 0xb9, 0xfe, 0xa6, 0x17, 0xae, 0xbf, 0x5e, 0x54, 0x56, 0x85, 0x7d, 0x63, 0xec, 0x19, 0x70, 0x05, + 0x93, 0x4a, 0x7c, 0xa5, 0x73, 0x8e, 0x08, 0x6a, 0x0c, 0x15, 0xb2, 0x9b, 0x2f, 0x2c, 0x6c, 0x88, 0x3c, 0x3b, 0xbb, + 0xcc, 0xd2, 0x35, 0xd6, 0x98, 0xdc, 0xdf, 0xbb, 0x82, 0x59, 0x17, 0x56, 0x2d, 0xe3, 0x55, 0xce, 0xa5, 0x28, 0x92, + 0x62, 0x72, 0x91, 0x83, 0x14, 0x21, 0x80, 0x90, 0x8b, 0x24, 0xd0, 0x51, 0xda, 0xa2, 0x68, 0x24, 0x14, 0x80, 0xfa, + 0x72, 0xbe, 0x05, 0x08, 0x1c, 0x82, 0x39, 0x21, 0x08, 0x46, 0xf2, 0x2c, 0x20, 0x72, 0x42, 0xf6, 0x4e, 0x54, 0x88, + 0x30, 0xab, 0x83, 0x13, 0x68, 0x50, 0x16, 0xd8, 0xa2, 0x79, 0x99, 0x09, 0x8a, 0x2a, 0x44, 0x84, 0x65, 0xc5, 0xe5, + 0xea, 0x8f, 0x2e, 0x6d, 0xbd, 0x5c, 0x53, 0xe8, 0x92, 0xe5, 0xd3, 0xec, 0x1a, 0xca, 0xfc, 0x00, 0xfc, 0x6b, 0x51, + 0x07, 0xf6, 0xb4, 0x83, 0x34, 0xb0, 0x15, 0x17, 0xa7, 0xe2, 0xfa, 0xe7, 0x9c, 0x02, 0x42, 0x49, 0x4f, 0x2b, 0xc4, + 0x5c, 0xa0, 0x73, 0x0f, 0x71, 0x0d, 0x0a, 0x80, 0xe1, 0x92, 0xf1, 0xc2, 0x50, 0xdb, 0x7a, 0x7a, 0xea, 0xfc, 0x1e, + 0xc9, 0x35, 0x3a, 0x34, 0xf1, 0x22, 0xca, 0xdc, 0x65, 0x61, 0x3b, 0x52, 0xbc, 0xe7, 0x46, 0xb5, 0xc7, 0x94, 0x97, + 0xe7, 0x7b, 0xe8, 0x2f, 0xc4, 0xbc, 0x6d, 0x82, 0xaa, 0xa7, 0x7b, 0x6f, 0xad, 0x8b, 0xc0, 0x8f, 0x5e, 0x16, 0x05, + 0xea, 0xdb, 0x15, 0x23, 0x0d, 0x3d, 0xd9, 0xb1, 0x42, 0x97, 0x69, 0x59, 0xdb, 0xbb, 0xcd, 0xfa, 0xb6, 0x06, 0x83, + 0x8c, 0x7d, 0xa5, 0x78, 0x05, 0x84, 0x4d, 0xf1, 0x64, 0x26, 0xda, 0x6a, 0x08, 0x4e, 0x10, 0xca, 0xe9, 0xea, 0xf0, + 0xad, 0x20, 0x45, 0x45, 0x60, 0xeb, 0x7e, 0xac, 0x3d, 0xd4, 0xbe, 0x1b, 0x4a, 0xa7, 0x67, 0x8f, 0x1a, 0x1c, 0x3d, + 0xe5, 0x05, 0x3b, 0x34, 0x52, 0x97, 0x16, 0x21, 0x55, 0xf1, 0xb6, 0x01, 0xab, 0xf4, 0xe0, 0xd3, 0x06, 0x33, 0x9f, + 0xb1, 0xe2, 0x0e, 0x72, 0x15, 0x1b, 0xd1, 0x08, 0x05, 0xdd, 0x23, 0xf2, 0xf3, 0xfe, 0x82, 0x3d, 0x37, 0xe6, 0x56, + 0xf0, 0x4b, 0xc0, 0x30, 0xd5, 0x2b, 0x4c, 0x58, 0x2d, 0x8d, 0x16, 0x60, 0xe9, 0x8d, 0x67, 0xab, 0x66, 0xaf, 0x7c, + 0x2a, 0x95, 0x14, 0xab, 0x10, 0xbe, 0x53, 0x65, 0x05, 0x27, 0x1f, 0x62, 0x30, 0xc4, 0x4f, 0xdf, 0x56, 0x7e, 0xbd, + 0xea, 0xe6, 0x50, 0xf1, 0xa8, 0xb1, 0xa7, 0x3d, 0x8c, 0x92, 0xda, 0xf0, 0xaa, 0xc3, 0x10, 0x77, 0x67, 0xd9, 0x99, + 0x3d, 0x45, 0xd6, 0x54, 0x02, 0xf8, 0x15, 0x9b, 0xa2, 0x2e, 0x83, 0x8f, 0x88, 0x79, 0x23, 0x60, 0xfe, 0x66, 0x50, + 0x8c, 0xe6, 0x4d, 0x15, 0xad, 0x16, 0xf7, 0x26, 0x74, 0xc9, 0xb8, 0x44, 0xd9, 0xd3, 0x87, 0xf4, 0x3b, 0x24, 0x18, + 0x39, 0xdd, 0xac, 0xb8, 0xaf, 0x07, 0x87, 0x63, 0x1f, 0x5b, 0x97, 0x30, 0x05, 0x40, 0x8b, 0x5c, 0x4c, 0x80, 0xe9, + 0x7a, 0xcd, 0xb1, 0x90, 0xad, 0x0b, 0x49, 0x34, 0x34, 0x85, 0xa2, 0x6e, 0x41, 0x30, 0x31, 0x2a, 0xed, 0xf6, 0x83, + 0xb4, 0x30, 0x9e, 0x33, 0x95, 0x5f, 0x90, 0x1f, 0x4e, 0x7d, 0xd9, 0x1a, 0x7b, 0xa3, 0x63, 0x56, 0x34, 0xf1, 0xa4, + 0x99, 0x80, 0x48, 0x00, 0x2f, 0x17, 0xd1, 0x66, 0x9c, 0xa7, 0x92, 0x9a, 0xd7, 0x76, 0x81, 0x98, 0x01, 0x02, 0x9d, + 0x6a, 0x49, 0xa5, 0x78, 0x73, 0x3e, 0x48, 0x71, 0x10, 0x80, 0xb2, 0x63, 0x36, 0xb4, 0xa5, 0xa0, 0x1e, 0x32, 0xb4, + 0xd9, 0x5c, 0xdb, 0x5a, 0xee, 0xd4, 0xd9, 0xac, 0x45, 0x6d, 0x99, 0x3f, 0xdc, 0xe6, 0x17, 0x11, 0xe3, 0xa2, 0xee, + 0x13, 0x09, 0xd5, 0x14, 0x23, 0xd0, 0x79, 0x02, 0xf2, 0x7a, 0x38, 0xe1, 0xcd, 0x7d, 0xbf, 0x6f, 0xe9, 0x9a, 0x64, + 0xf1, 0xa2, 0xc0, 0xb9, 0x2f, 0x53, 0x78, 0x99, 0x70, 0x02, 0x97, 0x78, 0xa8, 0x33, 0x1f, 0x67, 0x5b, 0x9d, 0x29, + 0x46, 0xa0, 0xa4, 0x16, 0x91, 0x4d, 0x7a, 0x43, 0x90, 0x9a, 0xf1, 0x32, 0x10, 0x6a, 0x47, 0xa9, 0x01, 0xc9, 0xfb, + 0xba, 0x32, 0x5e, 0x4b, 0xb6, 0x2e, 0x42, 0xd9, 0x6c, 0xc7, 0xb5, 0xbb, 0x9c, 0x4e, 0x77, 0x37, 0x2b, 0xe4, 0x0e, + 0x28, 0x9d, 0x0d, 0x97, 0x11, 0xdf, 0xd0, 0xec, 0x40, 0x81, 0xd0, 0x6e, 0xdf, 0x66, 0x65, 0xcc, 0xc2, 0xe2, 0x75, + 0x43, 0x8e, 0x4a, 0xfe, 0x50, 0xde, 0x9d, 0xf5, 0x6e, 0xc3, 0x53, 0xdb, 0xc1, 0x7a, 0x50, 0x28, 0xfb, 0xd8, 0xa7, + 0x46, 0xe1, 0x0f, 0xdc, 0x2a, 0x91, 0x75, 0x08, 0xeb, 0xec, 0xc2, 0x3b, 0x2a, 0xd3, 0x31, 0x6d, 0x3b, 0x9b, 0x87, + 0xcd, 0x46, 0x41, 0xba, 0x2c, 0xe1, 0x78, 0x6d, 0xa5, 0xee, 0xd4, 0xc3, 0x73, 0x37, 0x4a, 0xdf, 0x97, 0x58, 0x5e, + 0xb6, 0x51, 0xf7, 0x76, 0x12, 0x4b, 0xf8, 0xcc, 0x3a, 0x71, 0x09, 0xee, 0x80, 0xb9, 0xca, 0x4e, 0x44, 0x2d, 0x90, + 0xd4, 0x7f, 0xe1, 0xe5, 0x8f, 0x06, 0xe3, 0x92, 0x93, 0xab, 0x5e, 0x4d, 0x20, 0x31, 0x13, 0x32, 0x47, 0xab, 0x77, + 0x03, 0x9a, 0x82, 0xae, 0x6b, 0x91, 0x03, 0x02, 0x4f, 0x6c, 0x7a, 0xf9, 0xed, 0x08, 0xe2, 0xec, 0x2e, 0x27, 0x34, + 0xac, 0xe1, 0x59, 0x76, 0xb1, 0x92, 0xb1, 0x6b, 0x8f, 0xa7, 0xc7, 0x2e, 0x95, 0x96, 0x4d, 0x18, 0xf3, 0xdb, 0xba, + 0xde, 0x28, 0x9e, 0x22, 0xa6, 0x5d, 0x9c, 0xca, 0x18, 0xae, 0x56, 0x9f, 0xe3, 0x79, 0x51, 0x05, 0x49, 0x5c, 0x12, + 0xa5, 0x37, 0xd6, 0x6f, 0xb9, 0x1c, 0x55, 0x15, 0xcb, 0xd9, 0xf9, 0x6d, 0xca, 0xab, 0xdf, 0x83, 0x7f, 0x7c, 0x95, + 0xb1, 0x08, 0xaa, 0x8c, 0xc8, 0x8c, 0x7d, 0x74, 0x11, 0x2d, 0xf4, 0xb3, 0xb6, 0x74, 0x15, 0x5d, 0xaf, 0xcc, 0x6b, + 0x88, 0x20, 0x70, 0xab, 0xea, 0x14, 0x52, 0x66, 0xd1, 0x98, 0x67, 0x15, 0xb3, 0x6b, 0x3d, 0xc6, 0x31, 0x67, 0x03, + 0xe1, 0x26, 0x93, 0x13, 0x24, 0x27, 0xe1, 0x33, 0x95, 0xd9, 0x96, 0x11, 0xf5, 0xc8, 0x6b, 0xa4, 0x8b, 0x9a, 0x35, + 0xe7, 0x6d, 0xd7, 0x59, 0xbc, 0x60, 0x71, 0xde, 0xaf, 0x6e, 0x44, 0x42, 0x80, 0x70, 0x11, 0xfe, 0x1c, 0xc0, 0xff, + 0x6d, 0x33, 0xc5, 0xfd, 0xdd, 0xfc, 0x92, 0x77, 0x4d, 0x1b, 0x07, 0xe0, 0x80, 0x82, 0xc5, 0xc9, 0xe0, 0x02, 0xc9, + 0x08, 0x43, 0xbd, 0x42, 0xb4, 0xc1, 0x52, 0x31, 0xce, 0x2d, 0x3d, 0x8f, 0xec, 0x68, 0xd0, 0xa7, 0xe5, 0xc4, 0x5c, + 0x79, 0x83, 0x31, 0x5b, 0xa3, 0x12, 0x42, 0xed, 0x08, 0x31, 0x85, 0xc9, 0x74, 0x56, 0x16, 0x25, 0x7f, 0x15, 0x26, + 0xb4, 0x82, 0x49, 0x4a, 0x9b, 0x51, 0x63, 0x88, 0x8d, 0x8a, 0x50, 0xbd, 0xe7, 0x94, 0x35, 0x04, 0x73, 0x7b, 0x42, + 0xfa, 0x35, 0x44, 0xd7, 0x3f, 0xd6, 0xcf, 0x13, 0x4e, 0x6a, 0xdb, 0xf9, 0xba, 0xd0, 0x82, 0x83, 0x6b, 0x2a, 0xaa, + 0x72, 0x35, 0x0c, 0x51, 0x40, 0xa1, 0xd4, 0x91, 0x3a, 0xd4, 0x12, 0x59, 0x9b, 0x55, 0x3a, 0xd9, 0x61, 0xb4, 0x9c, + 0x4c, 0x89, 0x2b, 0x48, 0x6b, 0x5d, 0x39, 0x57, 0xbe, 0xd1, 0x97, 0x6d, 0xd0, 0x1b, 0x8d, 0x44, 0x2e, 0x3b, 0x8f, + 0x3f, 0xdf, 0xfa, 0x1c, 0xa0, 0xd6, 0xff, 0x6a, 0xed, 0x72, 0xc9, 0x02, 0x76, 0xb1, 0xab, 0x23, 0xf1, 0x7e, 0xde, + 0x0a, 0xb8, 0xbe, 0x10, 0x08, 0x75, 0xdd, 0x85, 0x72, 0xd2, 0x15, 0xab, 0xa2, 0x5f, 0xbe, 0x47, 0xd1, 0xac, 0xb7, + 0x11, 0x94, 0x4d, 0x90, 0xd6, 0xbb, 0x3a, 0x0e, 0x29, 0x21, 0x51, 0x59, 0x4c, 0x75, 0x61, 0x8d, 0x1e, 0xe8, 0x0e, + 0x5b, 0x45, 0x34, 0xa7, 0xe9, 0x26, 0xfb, 0xfe, 0x50, 0xa1, 0x04, 0x22, 0xfc, 0xbf, 0x7b, 0xd3, 0x33, 0xd0, 0x20, + 0x49, 0x5d, 0x80, 0x4a, 0x49, 0xfb, 0x85, 0xd3, 0xfe, 0x50, 0x65, 0x0b, 0x80, 0xc2, 0x1e, 0x6f, 0x14, 0x6d, 0xcb, + 0xef, 0x66, 0x3d, 0x28, 0xd1, 0xfa, 0x3f, 0x2a, 0x43, 0x16, 0x10, 0x6d, 0x47, 0xd7, 0x6a, 0xe9, 0x95, 0x4f, 0x52, + 0x0c, 0x47, 0x13, 0x62, 0xfb, 0x9d, 0xbe, 0x7c, 0x87, 0xea, 0xc2, 0x5a, 0xe2, 0xdc, 0x4b, 0x6a, 0x4b, 0x16, 0xb0, + 0x9f, 0x31, 0x62, 0xba, 0x51, 0xc1, 0x2f, 0x1f, 0x75, 0xb9, 0x9a, 0x85, 0xab, 0x21, 0x60, 0x66, 0x5f, 0x5d, 0xf1, + 0x20, 0x58, 0xc0, 0xd4, 0xb0, 0x30, 0x63, 0xc7, 0x51, 0x9f, 0x39, 0x96, 0xb2, 0xcf, 0x7d, 0x46, 0xd7, 0x37, 0xc7, + 0xfe, 0x11, 0xeb, 0xf6, 0x5b, 0xec, 0x8a, 0x71, 0x3c, 0xb0, 0xaf, 0x2e, 0xb2, 0x81, 0x69, 0x42, 0x92, 0xf5, 0xcb, + 0x29, 0x90, 0xaa, 0xd5, 0x83, 0x98, 0xab, 0x3a, 0x01, 0x8c, 0xf6, 0x5d, 0x51, 0xf0, 0x88, 0x1c, 0x7f, 0x22, 0x8d, + 0x0e, 0x98, 0xe2, 0x0e, 0x84, 0x30, 0x74, 0x47, 0xbc, 0xd9, 0x5b, 0x81, 0x60, 0x44, 0xbb, 0x20, 0xfc, 0x8d, 0xf3, + 0x12, 0x5b, 0xd0, 0x36, 0x5a, 0x2f, 0x02, 0x68, 0x88, 0x44, 0xf2, 0x63, 0xe4, 0xf9, 0x70, 0x76, 0xee, 0x41, 0x31, + 0xdc, 0xa4, 0x2e, 0x88, 0xeb, 0xe9, 0x05, 0xdb, 0x65, 0x42, 0x32, 0x51, 0xe8, 0xd0, 0x14, 0x58, 0x59, 0x3b, 0x71, + 0x3a, 0xc0, 0x87, 0xf7, 0xf7, 0xf0, 0xc0, 0x76, 0x54, 0xfc, 0x40, 0x02, 0xb7, 0x2f, 0xac, 0xe0, 0x50, 0x67, 0xc1, + 0x0c, 0x3a, 0xe0, 0x91, 0xde, 0xa7, 0x46, 0x8c, 0x66, 0xd6, 0x3b, 0x40, 0x14, 0x11, 0x65, 0xb6, 0x4d, 0x6e, 0x87, + 0xbb, 0xe3, 0x29, 0x10, 0x20, 0x63, 0x5a, 0x15, 0x96, 0x61, 0x26, 0xb0, 0xc4, 0x7c, 0x33, 0xbe, 0x68, 0xd1, 0x8f, + 0xfd, 0x3e, 0xaa, 0xe4, 0xa2, 0x52, 0x83, 0xb1, 0x8d, 0x79, 0x63, 0x8b, 0x9e, 0xe0, 0x1b, 0x8d, 0x74, 0xf4, 0x0c, + 0x63, 0xb9, 0x84, 0x39, 0x58, 0xe9, 0x1c, 0xf5, 0x23, 0x58, 0x51, 0x05, 0x88, 0xb3, 0x1f, 0xa7, 0x48, 0x0d, 0x98, + 0x25, 0x3f, 0xa4, 0x45, 0x4d, 0x4e, 0x03, 0x7e, 0xcd, 0x40, 0xcf, 0x1e, 0x55, 0xc6, 0x3d, 0x79, 0x09, 0x5c, 0x9a, + 0xde, 0x7a, 0xda, 0x77, 0x6f, 0xc0, 0x31, 0x16, 0xe4, 0x0d, 0xe6, 0xec, 0x4e, 0x30, 0xc5, 0x8a, 0x6d, 0x5d, 0x2d, + 0xf3, 0x6a, 0xfd, 0x40, 0x67, 0x25, 0x18, 0x4e, 0x93, 0x48, 0xe2, 0x04, 0x4c, 0xa3, 0x18, 0x7f, 0x60, 0xbb, 0xbc, + 0xdb, 0xea, 0x13, 0xbf, 0x0d, 0x7f, 0x1d, 0x29, 0x55, 0x9f, 0x7f, 0x12, 0x0b, 0x33, 0x99, 0xd8, 0x6f, 0xe4, 0xe8, + 0x0c, 0x32, 0x2b, 0xf0, 0x55, 0x3d, 0xe3, 0x59, 0xf2, 0x5c, 0x79, 0xca, 0xcd, 0x8a, 0x2d, 0xb3, 0xe0, 0xe7, 0x51, + 0x49, 0x8d, 0xbd, 0x19, 0xd5, 0xa9, 0x56, 0x8c, 0x51, 0x9d, 0x9e, 0x1c, 0x08, 0x97, 0x29, 0xc0, 0x2a, 0x3b, 0x80, + 0xc6, 0xf3, 0xeb, 0xd2, 0x23, 0x11, 0xd9, 0x2a, 0xa6, 0x1e, 0x83, 0x97, 0x8a, 0xa0, 0x77, 0x10, 0x85, 0x18, 0x1c, + 0x49, 0xdf, 0x68, 0xf5, 0xc5, 0x9f, 0xf8, 0x7d, 0xaf, 0x97, 0x70, 0x17, 0xec, 0x7c, 0x53, 0x63, 0xe9, 0x2c, 0x41, + 0x63, 0xf6, 0x3f, 0x87, 0xac, 0x45, 0x58, 0xe4, 0x34, 0xd3, 0x10, 0x34, 0x41, 0xf1, 0x47, 0xd0, 0xc0, 0x66, 0x4d, + 0xd7, 0x7a, 0x13, 0x94, 0x51, 0x48, 0x82, 0xff, 0x57, 0x19, 0x2f, 0x87, 0x2a, 0x27, 0x93, 0xa8, 0x05, 0xf7, 0x89, + 0x9b, 0x6a, 0x68, 0x05, 0xea, 0xec, 0xe1, 0x29, 0xf4, 0x64, 0x2c, 0xa2, 0x67, 0x58, 0xc4, 0x46, 0x9b, 0xc0, 0x78, + 0x24, 0xf3, 0xb0, 0x2e, 0xa2, 0xdd, 0x72, 0x36, 0xc5, 0x57, 0x76, 0xcc, 0xdb, 0x6e, 0x1f, 0xbb, 0x09, 0x95, 0x78, + 0xfa, 0x7d, 0x57, 0xcc, 0xbe, 0xc7, 0xbe, 0x94, 0xd2, 0x3d, 0x70, 0x58, 0x4a, 0xeb, 0x22, 0x28, 0x9c, 0x3a, 0xd8, + 0x02, 0x9a, 0xec, 0xe4, 0x6c, 0x1a, 0x25, 0x58, 0x9c, 0xb9, 0x49, 0xc0, 0xaf, 0x74, 0x12, 0x42, 0x2a, 0x1b, 0xbe, + 0x63, 0x2d, 0xf9, 0x2b, 0x90, 0x6b, 0xfe, 0xe2, 0x69, 0x20, 0x44, 0x6d, 0x23, 0x14, 0x01, 0x6b, 0xe2, 0xca, 0xbc, + 0x33, 0x08, 0xae, 0xe8, 0x2f, 0x7b, 0x0d, 0xff, 0xdc, 0x98, 0xf6, 0xad, 0x90, 0xda, 0xd0, 0xc1, 0x5a, 0x44, 0xc6, + 0xf3, 0x50, 0xf8, 0x6f, 0xf8, 0xd8, 0x73, 0x84, 0x48, 0x22, 0x17, 0xc9, 0x8f, 0x28, 0x6e, 0x31, 0xdd, 0x42, 0xb9, + 0xb5, 0x9d, 0x8f, 0x23, 0x61, 0xd0, 0x3c, 0x6a, 0xf5, 0x92, 0x94, 0xf7, 0xd4, 0x6a, 0xe6, 0x1e, 0x05, 0xb7, 0x8b, + 0xa5, 0x86, 0x17, 0x88, 0xd2, 0xd5, 0x0f, 0x0a, 0xcd, 0xe2, 0x3f, 0x66, 0xb5, 0x79, 0xea, 0xf6, 0x51, 0xc9, 0x37, + 0xc9, 0xca, 0x91, 0x05, 0x27, 0x51, 0xf8, 0x43, 0x08, 0xbc, 0xd4, 0x19, 0x4f, 0xf5, 0x36, 0x62, 0x1e, 0x0a, 0x4d, + 0x41, 0xae, 0x07, 0xed, 0x13, 0x4d, 0x8e, 0xdc, 0x90, 0x63, 0x7a, 0xd0, 0x3e, 0xac, 0x81, 0xed, 0x08, 0x71, 0x71, + 0x9f, 0x88, 0xe1, 0xb4, 0xea, 0x72, 0x02, 0xe4, 0xce, 0x79, 0xd2, 0x32, 0x04, 0x35, 0x72, 0x13, 0xd4, 0xb8, 0x73, + 0x9c, 0xda, 0x45, 0xd1, 0xed, 0x4b, 0x2e, 0x91, 0x62, 0x94, 0xe9, 0xbe, 0xf4, 0xdf, 0xab, 0xad, 0xa2, 0x01, 0x64, + 0x03, 0xbe, 0xde, 0x7b, 0xc7, 0xe8, 0x00, 0xf5, 0x72, 0xeb, 0xa6, 0x6c, 0x5e, 0x9e, 0xd3, 0x6c, 0x6b, 0xb8, 0xc7, + 0xd0, 0xfe, 0x12, 0xea, 0x9c, 0xfb, 0xac, 0xf8, 0xad, 0xbc, 0x0b, 0xc4, 0xe4, 0xe4, 0x66, 0x23, 0x4f, 0x93, 0x75, + 0x84, 0x75, 0x8f, 0xa1, 0xb9, 0x88, 0x7f, 0x69, 0xac, 0x5c, 0x10, 0x9e, 0x58, 0xc9, 0x82, 0xbf, 0x30, 0xcc, 0x60, + 0x53, 0x79, 0x4d, 0x7f, 0x87, 0x39, 0x80, 0xf7, 0xdb, 0xcd, 0x5a, 0x41, 0x3e, 0x25, 0xb5, 0xe3, 0x6b, 0xad, 0xe3, + 0x97, 0x6f, 0xd0, 0x83, 0xd4, 0xc4, 0x63, 0x51, 0x3d, 0x10, 0xb3, 0xa4, 0x37, 0x2f, 0x71, 0xf4, 0xcd, 0x4f, 0x9b, + 0x67, 0x5c, 0xe3, 0xb9, 0x08, 0xc9, 0x80, 0xb5, 0xc1, 0xa5, 0xbd, 0x37, 0x12, 0x77, 0x9f, 0x95, 0xa9, 0x45, 0x6b, + 0x63, 0x26, 0x0a, 0xb4, 0xb0, 0xee, 0x12, 0xf1, 0x7c, 0xf9, 0xa6, 0xbf, 0x76, 0xa4, 0x58, 0x9a, 0x8f, 0x64, 0x1e, + 0x55, 0x29, 0xe1, 0x8f, 0x01, 0x8d, 0x7f, 0x43, 0x5e, 0x24, 0x31, 0xd0, 0x60, 0x91, 0x1a, 0x2b, 0xef, 0x13, 0x70, + 0x88, 0xa1, 0x89, 0xa8, 0x4d, 0xb4, 0x13, 0xb8, 0xa3, 0xf1, 0x89, 0xa4, 0x3e, 0x26, 0x95, 0x34, 0x01, 0x1e, 0xdd, + 0xc5, 0xe4, 0x64, 0xec, 0x02, 0x7c, 0x81, 0xc7, 0xc7, 0xd3, 0x6f, 0xda, 0xd5, 0xd1, 0x0d, 0x52, 0x6e, 0x2a, 0xc8, + 0x26, 0x60, 0xad, 0x05, 0xe0, 0x29, 0xd7, 0x44, 0xf3, 0x8e, 0x54, 0xbf, 0x0c, 0x02, 0xf6, 0xbb, 0x8b, 0x7a, 0xee, + 0x4d, 0x63, 0x65, 0xf9, 0x38, 0xf1, 0x52, 0xd3, 0x08, 0xb1, 0x62, 0x9f, 0x71, 0xca, 0x11, 0x11, 0xef, 0xf0, 0x6b, + 0xeb, 0xcd, 0x22, 0xbd, 0x4d, 0x8a, 0x73, 0x93, 0x01, 0x86, 0x91, 0x6b, 0x84, 0x5f, 0xcc, 0xb4, 0xb3, 0x75, 0xe5, + 0xc3, 0x02, 0xc9, 0x68, 0x29, 0xfc, 0xad, 0xc8, 0xac, 0xb6, 0x59, 0x8b, 0x10, 0xff, 0x50, 0xf4, 0xb3, 0x43, 0x69, + 0x14, 0x90, 0x57, 0x5f, 0x2e, 0x2b, 0x36, 0x39, 0x05, 0x9d, 0xf6, 0xb9, 0x79, 0x67, 0x59, 0x7e, 0xfc, 0xf9, 0x8f, + 0x73, 0x3b, 0x61, 0x8b, 0x99, 0x27, 0x6e, 0xb1, 0x8c, 0xb2, 0xf2, 0xa2, 0xd5, 0x79, 0x4b, 0xd6, 0xcd, 0xec, 0xba, + 0x40, 0x09, 0xff, 0xd4, 0x8f, 0x0e, 0x67, 0xe5, 0x0c, 0x7a, 0x85, 0x56, 0x16, 0xf6, 0x28, 0x6d, 0xdf, 0xda, 0x97, + 0x03, 0x9d, 0xc6, 0x5d, 0xd8, 0x1c, 0x27, 0x48, 0x52, 0x79, 0x28, 0x3f, 0xf3, 0x14, 0x67, 0xdf, 0x59, 0x4d, 0x47, + 0x3b, 0x7a, 0xc7, 0xd1, 0xe5, 0x60, 0xb1, 0x43, 0x94, 0xac, 0x0f, 0xce, 0xb6, 0x59, 0x7c, 0x70, 0x94, 0x69, 0x3e, + 0xe3, 0x15, 0x0b, 0xa4, 0x34, 0x4f, 0x9f, 0x22, 0xe8, 0x09, 0x64, 0x62, 0x0c, 0xbd, 0x0b, 0x36, 0x4d, 0x81, 0x63, + 0xce, 0xb7, 0x89, 0xa0, 0xcd, 0x32, 0x9a, 0x45, 0xf4, 0x62, 0x64, 0x29, 0xbc, 0xf6, 0x8e, 0x7a, 0xae, 0x64, 0x5d, + 0x42, 0xab, 0x23, 0xab, 0x1f, 0x6c, 0xf7, 0x69, 0xe1, 0x07, 0xf3, 0xbb, 0xd5, 0x42, 0x7d, 0x65, 0xac, 0x7e, 0x8c, + 0xcc, 0x52, 0xe7, 0x2c, 0x67, 0xb7, 0xd3, 0xd8, 0xc0, 0xeb, 0x64, 0xb3, 0xf5, 0xeb, 0x76, 0x7f, 0xb9, 0xe4, 0xdf, + 0x66, 0xca, 0xdb, 0x24, 0x47, 0xd8, 0xef, 0x13, 0x59, 0x03, 0xb2, 0x3e, 0x6d, 0x71, 0x96, 0x92, 0x3a, 0x56, 0x49, + 0x94, 0x18, 0xdb, 0x09, 0x5c, 0x61, 0x10, 0x12, 0xcf, 0x66, 0x75, 0x25, 0x4c, 0xce, 0xab, 0x78, 0xa7, 0x30, 0x57, + 0x22, 0x59, 0x2c, 0xf2, 0x04, 0x45, 0xda, 0x37, 0xcb, 0xe5, 0xa5, 0x3c, 0x35, 0xa5, 0x1d, 0x09, 0x8d, 0xbc, 0xa4, + 0xff, 0x0c, 0xb8, 0x24, 0x44, 0x2a, 0x50, 0x89, 0xcf, 0x7d, 0x47, 0x2a, 0xd1, 0xa4, 0x8a, 0x52, 0x14, 0xd4, 0xca, + 0xf4, 0x8f, 0x98, 0x97, 0xa6, 0xb4, 0xee, 0x81, 0xc0, 0x75, 0x9b, 0x2b, 0x89, 0xa7, 0x7f, 0x99, 0xcc, 0x2e, 0x00, + 0xe7, 0x65, 0xb9, 0xc1, 0x2f, 0x63, 0xc2, 0xe5, 0xd1, 0x65, 0x4d, 0x20, 0xd8, 0xf1, 0x06, 0x7e, 0x98, 0x48, 0x10, + 0x1c, 0x57, 0x24, 0x22, 0x16, 0x9c, 0xa1, 0x88, 0xa7, 0x60, 0x00, 0x48, 0xce, 0xbf, 0x4f, 0x9f, 0x17, 0x34, 0x7f, + 0x40, 0x54, 0xe1, 0xa8, 0x02, 0xc4, 0x01, 0x09, 0x06, 0x5d, 0x78, 0x27, 0x8b, 0x6c, 0x35, 0x3b, 0x5e, 0x9e, 0x93, + 0xce, 0x9d, 0x45, 0x44, 0x7a, 0x51, 0x12, 0x41, 0x9c, 0x61, 0xf1, 0x83, 0xa0, 0xc4, 0xe8, 0xf5, 0xba, 0x20, 0x8c, + 0x2e, 0x96, 0x64, 0xa3, 0xd1, 0x20, 0x20, 0xfd, 0x23, 0xc4, 0x4c, 0xb6, 0x4b, 0x39, 0x66, 0x5f, 0x7b, 0xc5, 0x39, + 0x6b, 0xcd, 0x10, 0x4a, 0x06, 0x76, 0x6f, 0x09, 0xa4, 0x3a, 0x87, 0x32, 0x9a, 0x4a, 0x53, 0x7e, 0x21, 0x47, 0x50, + 0xeb, 0xd0, 0x6b, 0x93, 0xa1, 0xdf, 0x06, 0x4f, 0x22, 0x20, 0x45, 0x0a, 0xcf, 0x4b, 0x60, 0xc1, 0x64, 0xe7, 0xb6, + 0x64, 0x16, 0x1f, 0x3f, 0xa4, 0x38, 0xc9, 0x9c, 0xcd, 0x40, 0xff, 0x42, 0x13, 0x5c, 0x2c, 0xd2, 0x11, 0x23, 0xab, + 0xe0, 0x72, 0x58, 0xf7, 0xbf, 0xed, 0x72, 0xe8, 0xa6, 0x20, 0xb7, 0x39, 0x1b, 0x33, 0xe5, 0x78, 0xdc, 0xcd, 0x59, + 0x5f, 0xfa, 0xcb, 0x24, 0x8d, 0x34, 0x15, 0x4a, 0x67, 0xd6, 0x77, 0xf7, 0xbb, 0x7a, 0xec, 0x96, 0x47, 0xf7, 0x16, + 0x10, 0xd0, 0xc6, 0x1d, 0x39, 0x65, 0x05, 0x96, 0x84, 0x63, 0x12, 0x0e, 0x1f, 0x00, 0x73, 0xad, 0x1f, 0x44, 0x25, + 0xfd, 0x5d, 0xb2, 0x4f, 0x07, 0x22, 0x3f, 0xd7, 0x65, 0x7d, 0x96, 0xfa, 0x93, 0x69, 0xf7, 0x71, 0xec, 0xe3, 0x19, + 0xa7, 0x39, 0x42, 0x52, 0x96, 0xe4, 0xd7, 0xcb, 0xcd, 0x71, 0xb6, 0x95, 0xfc, 0x4f, 0x28, 0xce, 0x1f, 0x94, 0xd1, + 0x3a, 0x5b, 0x36, 0x7d, 0xb6, 0x60, 0x38, 0x67, 0x92, 0x96, 0xe0, 0x94, 0x4f, 0xfc, 0x4b, 0xd5, 0xe1, 0xf1, 0x69, + 0x8f, 0x58, 0x0f, 0x22, 0x49, 0xf0, 0x5f, 0x73, 0xc2, 0xe3, 0x53, 0x33, 0xe1, 0x87, 0x67, 0x88, 0x4f, 0x6f, 0x8c, + 0x8e, 0xa9, 0xd4, 0x1c, 0xcb, 0x8a, 0x4b, 0x2f, 0x2a, 0x82, 0x53, 0x5d, 0xd8, 0xe0, 0xd9, 0x9d, 0x3e, 0xa5, 0x39, + 0xcd, 0x41, 0x78, 0x92, 0x66, 0x3b, 0xb7, 0x68, 0xb1, 0xa4, 0x05, 0x94, 0x92, 0xca, 0x49, 0xb4, 0x9a, 0xc6, 0x91, + 0xad, 0x23, 0xcc, 0x0b, 0x9c, 0xdd, 0x46, 0x62, 0x84, 0xb5, 0x33, 0x9e, 0xa8, 0x91, 0x9a, 0x92, 0x9b, 0x3a, 0x22, + 0x59, 0x8f, 0xc1, 0xfc, 0x9f, 0x1f, 0x7b, 0x5c, 0x63, 0x66, 0x67, 0xe1, 0x8a, 0x72, 0xfb, 0x6a, 0xaa, 0x76, 0xb2, + 0xa5, 0x2b, 0xaf, 0x5b, 0x3b, 0xa7, 0xd2, 0xe6, 0xc2, 0x15, 0x87, 0x6e, 0xb8, 0x7a, 0x6d, 0x17, 0x24, 0xd7, 0xcf, + 0x91, 0xdf, 0x0c, 0x83, 0x25, 0x89, 0xd4, 0xcd, 0x9d, 0x27, 0x65, 0x4b, 0xa9, 0xba, 0xaf, 0xc0, 0xe2, 0xb0, 0x34, + 0x54, 0xbb, 0x0a, 0xca, 0xf2, 0x46, 0x0d, 0x61, 0x11, 0xd6, 0xd4, 0x0b, 0x0e, 0xa7, 0x74, 0x9e, 0x05, 0x35, 0xb5, + 0x38, 0x3f, 0x69, 0xd4, 0x5e, 0x52, 0xe4, 0x54, 0x40, 0xbc, 0x89, 0x22, 0x17, 0x2f, 0x51, 0xaf, 0xf2, 0xb8, 0x82, + 0xfd, 0x91, 0x92, 0xaa, 0x9d, 0x5e, 0xa8, 0xc2, 0xe9, 0x99, 0x2a, 0x9f, 0x5e, 0x9e, 0xae, 0x70, 0x98, 0x4b, 0xb5, + 0x2b, 0x91, 0x45, 0x59, 0x52, 0x96, 0xe3, 0xca, 0x95, 0xf1, 0xdc, 0x9e, 0xbb, 0x8c, 0x4c, 0xd5, 0x29, 0x06, 0x93, + 0x32, 0xa5, 0xd5, 0x63, 0xdb, 0x11, 0x43, 0xc3, 0x04, 0x82, 0x5d, 0xd6, 0xca, 0x68, 0x7d, 0xbf, 0x78, 0x62, 0x51, + 0xa8, 0x2d, 0xad, 0x4f, 0x4f, 0x92, 0x90, 0xb5, 0xbe, 0xb4, 0x09, 0x94, 0xd8, 0x79, 0x3f, 0x56, 0xd1, 0x5e, 0x3c, + 0x77, 0xcf, 0xda, 0x83, 0x08, 0xb8, 0x5e, 0xeb, 0xcb, 0x0f, 0xc7, 0xf4, 0x90, 0xbd, 0x6c, 0x91, 0xa2, 0xfc, 0x81, + 0x04, 0xce, 0x07, 0x84, 0x30, 0x13, 0x58, 0x05, 0x0b, 0xe5, 0x95, 0x04, 0x56, 0x81, 0x8f, 0x18, 0xb5, 0x98, 0x9d, + 0x96, 0xde, 0xfb, 0xa4, 0x58, 0xe3, 0x26, 0xc4, 0x0b, 0x40, 0x5e, 0x4f, 0x21, 0xb2, 0x85, 0x28, 0xd0, 0x4c, 0x11, + 0x24, 0xfc, 0x80, 0x7d, 0x78, 0x81, 0xd6, 0x8f, 0xe9, 0xc8, 0x57, 0xb3, 0x72, 0x07, 0x6d, 0x3d, 0xb6, 0xa7, 0x2a, + 0x5d, 0x35, 0x29, 0x3e, 0x4a, 0xbc, 0x93, 0x58, 0x34, 0xf0, 0xca, 0x15, 0x3b, 0xbd, 0xf3, 0x81, 0xdf, 0xb0, 0x2d, + 0x73, 0xfc, 0xf2, 0x34, 0xc7, 0x15, 0xa8, 0x1a, 0x55, 0x68, 0xbb, 0x3d, 0x40, 0xa6, 0xa6, 0x57, 0x09, 0xe2, 0xb0, + 0x69, 0x1a, 0x2e, 0x40, 0x07, 0x0e, 0x51, 0x09, 0xa4, 0x4c, 0x35, 0x0b, 0x34, 0x72, 0x8d, 0x14, 0x36, 0x5b, 0xb3, + 0xa8, 0x4d, 0xd8, 0xe7, 0xdf, 0xd0, 0xbc, 0xb6, 0x2d, 0x9f, 0x88, 0x3b, 0x54, 0xf2, 0x19, 0xbc, 0xf4, 0xe1, 0x1e, + 0xdf, 0x03, 0x76, 0xe4, 0x4a, 0xc5, 0xc8, 0x94, 0xc4, 0xf6, 0x78, 0x41, 0xb5, 0xc9, 0x3c, 0x79, 0x54, 0xa7, 0x26, + 0x6c, 0x28, 0x57, 0x38, 0x61, 0xfb, 0x11, 0xbb, 0x80, 0x77, 0x28, 0x31, 0x37, 0xd5, 0x6f, 0x0e, 0xa1, 0xab, 0x3d, + 0xf0, 0xae, 0x8c, 0x7e, 0x79, 0xf9, 0x62, 0x8b, 0xb7, 0xb9, 0x83, 0xbf, 0xa6, 0xc1, 0xb6, 0x50, 0x1c, 0xea, 0xae, + 0x80, 0xf4, 0xb2, 0x97, 0x2b, 0x45, 0x49, 0x6f, 0xcd, 0xe0, 0xa9, 0xde, 0x20, 0x5d, 0x34, 0x05, 0xea, 0x60, 0xd2, + 0x83, 0x30, 0x21, 0xc8, 0x01, 0x95, 0xd1, 0xbb, 0x2b, 0xd9, 0xe2, 0x5e, 0xf0, 0x6c, 0x08, 0xc8, 0xd0, 0x8a, 0xe4, + 0xd3, 0x28, 0x8d, 0xba, 0x64, 0x68, 0x8f, 0x4d, 0x2c, 0x13, 0x80, 0x64, 0x57, 0xaf, 0x2c, 0x91, 0x09, 0x60, 0x0b, + 0xec, 0xd9, 0x3c, 0x86, 0xe1, 0xdb, 0xed, 0xc9, 0x80, 0xb1, 0x65, 0xf6, 0xbe, 0xa7, 0x9b, 0x8f, 0x26, 0xe4, 0x1a, + 0x6a, 0x0d, 0xc7, 0x39, 0x30, 0x64, 0xaa, 0x68, 0xf0, 0xc9, 0x86, 0x68, 0xc2, 0xda, 0x5c, 0x76, 0x5d, 0x08, 0x61, + 0xd0, 0x63, 0x53, 0x58, 0x41, 0x5c, 0x3b, 0xd6, 0xb0, 0xbe, 0x58, 0x46, 0xa0, 0x69, 0x4d, 0x1f, 0xc8, 0x98, 0xb6, + 0x97, 0x08, 0x75, 0x27, 0xca, 0x37, 0xcc, 0x69, 0x16, 0xc4, 0x7d, 0xaf, 0xcb, 0xe7, 0x1a, 0x36, 0x7e, 0xa2, 0x62, + 0xae, 0xa7, 0xba, 0x85, 0x01, 0xea, 0x40, 0x5c, 0x0c, 0xf8, 0x78, 0x1b, 0x42, 0x5f, 0xf9, 0x77, 0xd8, 0xf7, 0x4a, + 0x29, 0x8f, 0x3a, 0x3e, 0x2d, 0x35, 0x72, 0xd4, 0x5e, 0xf6, 0x7f, 0xb2, 0xfa, 0x90, 0x3f, 0x56, 0xa8, 0xd0, 0x84, + 0x34, 0x34, 0x89, 0xba, 0x79, 0x02, 0xb1, 0xed, 0x7b, 0xae, 0xd0, 0x8b, 0x45, 0xa4, 0x3c, 0x02, 0xba, 0x29, 0x8f, + 0x77, 0xab, 0x19, 0x46, 0x7c, 0xab, 0xd7, 0xda, 0x68, 0x4b, 0x34, 0x8b, 0x23, 0xde, 0x45, 0x3b, 0x3b, 0x9c, 0xca, + 0x48, 0xcf, 0x4e, 0xe1, 0x38, 0x27, 0xd1, 0xbb, 0x74, 0xd8, 0x69, 0xae, 0xbe, 0x7e, 0x67, 0x43, 0x1f, 0xe2, 0x6a, + 0x21, 0x6a, 0x7b, 0xce, 0x68, 0x6e, 0x26, 0x2e, 0x10, 0x0b, 0xa0, 0xd9, 0xbb, 0x57, 0xa9, 0xa6, 0xc9, 0x98, 0x71, + 0x59, 0xcc, 0x12, 0x29, 0xc2, 0x0e, 0xe8, 0x25, 0x9a, 0x30, 0x51, 0x75, 0x9c, 0x1b, 0xb1, 0xe7, 0xa3, 0xba, 0x29, + 0x77, 0x25, 0x19, 0x94, 0x45, 0xeb, 0xb6, 0xeb, 0xe5, 0x25, 0xf4, 0x7e, 0x1e, 0x70, 0x5d, 0x1b, 0x2b, 0x38, 0x61, + 0x0b, 0x13, 0x9f, 0x25, 0x41, 0x6e, 0x8d, 0x24, 0x5b, 0x84, 0xa5, 0x7a, 0x67, 0xfe, 0x69, 0xe9, 0xd5, 0x76, 0xa4, + 0x5e, 0x38, 0xcc, 0xdc, 0x9e, 0x85, 0xe5, 0x57, 0xc0, 0xe3, 0xbc, 0xf7, 0xbc, 0x11, 0x9a, 0xf2, 0xc7, 0xab, 0x3d, + 0xa8, 0x88, 0x66, 0x63, 0x47, 0x3d, 0x91, 0x6b, 0xba, 0xa9, 0x82, 0x6b, 0x32, 0xd1, 0xea, 0x41, 0x9c, 0x59, 0xd1, + 0x76, 0x62, 0x19, 0xfc, 0x33, 0xd8, 0xe0, 0x1b, 0xd8, 0x17, 0x4b, 0x00, 0xeb, 0x37, 0xc6, 0x57, 0x21, 0x0f, 0xcb, + 0xf7, 0x74, 0x7e, 0x86, 0xb0, 0xaf, 0x30, 0x57, 0x24, 0x2c, 0x4f, 0x95, 0x5a, 0xc9, 0x41, 0xc5, 0xb4, 0x7c, 0x6e, + 0xc1, 0x27, 0xd5, 0x56, 0x29, 0x5e, 0xff, 0x55, 0x5c, 0xab, 0xd0, 0xf9, 0x79, 0xa2, 0x10, 0xe2, 0xfe, 0x23, 0x12, + 0x55, 0x94, 0x9f, 0x86, 0xdb, 0x66, 0xdf, 0xc3, 0x8f, 0x1b, 0x7e, 0xd0, 0x65, 0x81, 0xca, 0xaa, 0x71, 0x83, 0x71, + 0xb8, 0x3c, 0xcd, 0xaa, 0x11, 0x0b, 0x45, 0xf8, 0xc6, 0xa5, 0x03, 0x47, 0x6f, 0x63, 0xab, 0xe6, 0x52, 0x85, 0x2a, + 0x20, 0xf6, 0x14, 0x7a, 0xde, 0x44, 0x35, 0x52, 0x2a, 0x12, 0x08, 0x93, 0x06, 0xed, 0x12, 0x17, 0xec, 0x16, 0xab, + 0x76, 0xb5, 0xbb, 0x15, 0xf3, 0x9a, 0x4c, 0x04, 0x8c, 0xf1, 0x0e, 0xb4, 0x6e, 0x66, 0x4b, 0x06, 0x74, 0x4e, 0xec, + 0xa8, 0xc0, 0x79, 0x8c, 0x71, 0x70, 0xb8, 0xc7, 0xcd, 0xf4, 0xa4, 0x92, 0x1d, 0x66, 0xe4, 0xa1, 0x39, 0x74, 0x86, + 0x2b, 0x0f, 0xe5, 0x21, 0x2b, 0x71, 0xb6, 0xc0, 0xcb, 0x35, 0x72, 0x95, 0xe8, 0xaa, 0x25, 0x68, 0x78, 0x20, 0xb9, + 0xdb, 0x37, 0xdf, 0xbd, 0xd3, 0xbb, 0x01, 0xa7, 0xd2, 0xdf, 0x0c, 0xd8, 0x1d, 0x2c, 0x78, 0xb7, 0x3a, 0x1d, 0x4b, + 0x0c, 0x00, 0x64, 0xd7, 0xf4, 0x83, 0xb0, 0x85, 0xee, 0x74, 0x87, 0x6b, 0xc7, 0x55, 0x04, 0x6d, 0x88, 0xaa, 0x8c, + 0xa1, 0x23, 0xbb, 0x88, 0x04, 0xb2, 0xeb, 0x88, 0x15, 0xdd, 0x32, 0x16, 0xc2, 0x09, 0x3c, 0xee, 0x01, 0xf5, 0x83, + 0x23, 0xa4, 0x54, 0x44, 0x42, 0xc9, 0x85, 0xf8, 0xdb, 0x34, 0xd4, 0xac, 0xe0, 0x6e, 0xb3, 0x21, 0x76, 0x93, 0x88, + 0xfe, 0xa0, 0x2a, 0xbc, 0x39, 0x8f, 0xf2, 0xad, 0x03, 0x0a, 0x1f, 0xcd, 0xc8, 0xc0, 0x59, 0xda, 0xb7, 0xa7, 0x5d, + 0x7b, 0x37, 0xe6, 0xa5, 0xb4, 0x94, 0x0a, 0xc1, 0xcd, 0x1d, 0x3c, 0xeb, 0x1f, 0x5c, 0x49, 0x13, 0x9b, 0x9a, 0x7d, + 0x99, 0x73, 0xb4, 0x33, 0xe5, 0x79, 0x14, 0x5f, 0x6b, 0xd9, 0xf3, 0xb6, 0x79, 0x36, 0x76, 0x67, 0xb7, 0x8b, 0xfd, + 0x0c, 0x49, 0x61, 0x8b, 0x19, 0xcc, 0x35, 0x89, 0x62, 0x12, 0x18, 0x6d, 0x80, 0xbd, 0x89, 0x66, 0xd8, 0x45, 0x0b, + 0x94, 0xbd, 0x5b, 0x77, 0x6b, 0xc3, 0xf1, 0xdb, 0xcc, 0xd7, 0xaa, 0xf6, 0xc2, 0x9d, 0x12, 0x05, 0xe7, 0xc3, 0xde, + 0x39, 0xaf, 0xff, 0xa3, 0xc4, 0x9b, 0x19, 0xc6, 0x92, 0x48, 0xb4, 0x36, 0x10, 0x3c, 0x4a, 0xeb, 0xb5, 0x59, 0x96, + 0x20, 0x3b, 0xb5, 0xbc, 0xfd, 0x07, 0x1d, 0x20, 0x15, 0xe3, 0xdd, 0xe2, 0xe6, 0x0c, 0x0b, 0x8e, 0x49, 0xa9, 0x2d, + 0x37, 0xbf, 0xfe, 0x49, 0x32, 0xa5, 0xa2, 0x4d, 0xae, 0x27, 0x9a, 0xe7, 0xe2, 0xca, 0x01, 0x80, 0x40, 0x69, 0x36, + 0xac, 0x8b, 0xeb, 0xcd, 0x64, 0x73, 0xab, 0xd0, 0x11, 0x66, 0xaa, 0xc0, 0xf8, 0x9b, 0x55, 0x4a, 0x4f, 0xa9, 0x56, + 0x49, 0xc2, 0xdc, 0x4e, 0x5f, 0xab, 0x44, 0x68, 0x3f, 0x06, 0xe2, 0xdb, 0xc9, 0x77, 0xf5, 0xa7, 0x6c, 0x8b, 0x3c, + 0x8e, 0x03, 0x93, 0xb3, 0xb7, 0x76, 0x50, 0xd0, 0xa8, 0xed, 0x5c, 0x8e, 0xd7, 0x3c, 0x2b, 0xa8, 0x7d, 0xe5, 0x57, + 0xb3, 0xb5, 0xc7, 0x17, 0xee, 0x08, 0xb2, 0x02, 0xa9, 0xc7, 0xe4, 0xc1, 0x34, 0x46, 0xa5, 0xd9, 0x39, 0x2f, 0x76, + 0x58, 0x1e, 0x93, 0x64, 0xd7, 0xf8, 0xcf, 0xc8, 0xa5, 0x14, 0x48, 0xfe, 0xc4, 0xb9, 0x13, 0x2a, 0x16, 0xb3, 0x64, + 0x61, 0x6a, 0xd7, 0x24, 0x2f, 0xdf, 0xc5, 0x75, 0x3c, 0x2d, 0xc7, 0x7f, 0x56, 0x4c, 0xf4, 0x24, 0x10, 0x52, 0xeb, + 0x1d, 0x0d, 0x1e, 0x40, 0xdd, 0x3a, 0x83, 0x6f, 0x64, 0xf3, 0x50, 0x24, 0x83, 0x8c, 0xd9, 0x56, 0xdd, 0xa5, 0x1a, + 0x89, 0x7a, 0xb0, 0x0c, 0xb4, 0xdb, 0x49, 0xe0, 0x12, 0xb5, 0xf6, 0x10, 0x1c, 0x54, 0xf4, 0x3e, 0x54, 0xc1, 0x52, + 0x33, 0x58, 0xaa, 0xac, 0xd4, 0x06, 0x6b, 0x2f, 0xd5, 0xda, 0x32, 0xa3, 0x2b, 0x2f, 0x0f, 0x8e, 0x39, 0x0e, 0x00, + 0x5b, 0xcf, 0xa5, 0x0e, 0x03, 0xe8, 0x44, 0x36, 0x70, 0x03, 0x32, 0x00, 0x65, 0x2d, 0xa1, 0x72, 0xd3, 0x82, 0x73, + 0xad, 0x4d, 0x29, 0x96, 0x80, 0x44, 0x70, 0xc6, 0xfe, 0xe8, 0x51, 0xe9, 0xed, 0xc8, 0x11, 0xae, 0x5a, 0x37, 0x6d, + 0x05, 0x6b, 0xeb, 0x0c, 0x69, 0xe3, 0x31, 0xde, 0x65, 0x3f, 0x01, 0xdf, 0xc5, 0x8b, 0xd6, 0x91, 0x19, 0x6f, 0x71, + 0xa4, 0x20, 0x14, 0xba, 0xde, 0x31, 0x16, 0xa6, 0x04, 0x86, 0xd9, 0xdd, 0x15, 0x61, 0x7a, 0x7b, 0x29, 0x20, 0x58, + 0xb8, 0xb1, 0x16, 0x37, 0x0e, 0xcf, 0x6f, 0x1c, 0x26, 0x8a, 0x70, 0x68, 0xa6, 0x4a, 0xf8, 0x5c, 0xaa, 0x0c, 0x05, + 0x39, 0x35, 0x38, 0x0a, 0xdc, 0xdf, 0xbe, 0x77, 0xb4, 0x28, 0x12, 0x82, 0x2c, 0x2e, 0x43, 0x13, 0xe5, 0x75, 0xc6, + 0x05, 0xe9, 0xcb, 0xe1, 0xfe, 0x62, 0x6e, 0x87, 0xa9, 0x59, 0x99, 0xb7, 0x48, 0x7c, 0x6f, 0x5a, 0x8c, 0x11, 0xe1, + 0x7c, 0xaf, 0x5d, 0x60, 0x8b, 0xb5, 0xec, 0x6f, 0x3f, 0xee, 0x09, 0x57, 0x16, 0x0e, 0x0c, 0x5d, 0x64, 0xda, 0xab, + 0x75, 0xb7, 0x52, 0xc4, 0xf9, 0x47, 0xf4, 0xc8, 0xfc, 0xc1, 0x38, 0x8e, 0x1d, 0xdc, 0xee, 0x84, 0xda, 0xe7, 0xfc, + 0x86, 0x85, 0x3a, 0xa2, 0xd5, 0x0d, 0xd4, 0xb0, 0x06, 0x97, 0xca, 0x2c, 0x2d, 0xe6, 0x9f, 0xdd, 0xdc, 0x3c, 0x25, + 0xe0, 0x24, 0xf1, 0x05, 0x24, 0xd9, 0xe1, 0x7a, 0xf7, 0xe9, 0x2d, 0x93, 0xbe, 0x0d, 0x92, 0x12, 0xbb, 0x95, 0xca, + 0x76, 0x49, 0xd3, 0x94, 0x1d, 0xee, 0x8a, 0xaa, 0x35, 0xd8, 0x13, 0x13, 0xa5, 0xa3, 0xbe, 0x10, 0x26, 0x4d, 0xec, + 0x4b, 0x18, 0xef, 0x8b, 0x09, 0x9c, 0x37, 0x0c, 0xf1, 0xaa, 0x03, 0xa5, 0x50, 0x22, 0x65, 0x2f, 0xbb, 0xe3, 0x4d, + 0x69, 0x26, 0x1f, 0x51, 0xc5, 0x81, 0x96, 0xde, 0x5a, 0xee, 0x4a, 0x00, 0xd0, 0xbd, 0xba, 0xbc, 0xfc, 0xfd, 0xc1, + 0x7d, 0x8c, 0x95, 0xc8, 0x37, 0xef, 0xf7, 0xc3, 0xd3, 0xfd, 0x17, 0x12, 0xc1, 0x81, 0xe6, 0x71, 0x7a, 0xf9, 0x5d, + 0xa5, 0x8b, 0x5b, 0xd5, 0xf7, 0xab, 0xa0, 0x8c, 0xd4, 0xe3, 0xee, 0x2c, 0x6c, 0x09, 0x26, 0xac, 0x0d, 0x38, 0x67, + 0x3e, 0x08, 0x65, 0x2e, 0xff, 0xfa, 0x2c, 0xce, 0xdd, 0x78, 0x58, 0x78, 0x26, 0xb0, 0xb1, 0x31, 0xd4, 0x61, 0xae, + 0x3b, 0xf3, 0xe9, 0xe0, 0x19, 0xb9, 0xee, 0x1a, 0x32, 0x2c, 0x8d, 0x03, 0xbe, 0xde, 0xfa, 0xf1, 0xfe, 0x3f, 0x8f, + 0x5f, 0x06, 0xe6, 0x81, 0x99, 0xf1, 0x1c, 0x95, 0xf6, 0xb0, 0xa4, 0xc1, 0x61, 0x64, 0x3b, 0xea, 0xda, 0xbf, 0x47, + 0x23, 0x82, 0x8c, 0x10, 0x21, 0xc7, 0xa1, 0x1d, 0x43, 0x39, 0x3d, 0x8e, 0x55, 0x95, 0xf6, 0xa2, 0x37, 0x18, 0x37, + 0xb2, 0x85, 0x22, 0x60, 0x4a, 0xf4, 0xfd, 0xea, 0xac, 0x2a, 0xee, 0x4d, 0xff, 0xf2, 0xe8, 0x8b, 0xec, 0xaa, 0x51, + 0x03, 0xe1, 0x77, 0x24, 0xaa, 0xa2, 0x37, 0x96, 0xef, 0xb4, 0x05, 0x5b, 0x43, 0x0e, 0x8c, 0x1a, 0x49, 0x9b, 0x11, + 0x3b, 0x6f, 0x32, 0xe7, 0x92, 0x2f, 0xd4, 0x58, 0x7a, 0x94, 0x93, 0x65, 0x0a, 0x00, 0xd3, 0x95, 0x16, 0x11, 0x17, + 0x18, 0x82, 0x2b, 0x0e, 0xab, 0x5b, 0xc8, 0x8c, 0xf5, 0x6c, 0x77, 0x16, 0x8d, 0x26, 0x08, 0xd3, 0xfa, 0x90, 0xa8, + 0x30, 0x73, 0xca, 0xa4, 0x0c, 0x97, 0xda, 0x09, 0xc8, 0x93, 0xdf, 0xd2, 0x8a, 0x01, 0x98, 0x31, 0x91, 0x5c, 0x6e, + 0x6c, 0x22, 0xeb, 0x90, 0xcf, 0x49, 0xbf, 0x99, 0xf3, 0xe1, 0x9b, 0x18, 0x1f, 0x5c, 0x9c, 0x06, 0xeb, 0x0f, 0x50, + 0xf2, 0xdc, 0x0d, 0x97, 0xab, 0x4d, 0xda, 0x72, 0x5b, 0xd1, 0x16, 0x8c, 0x89, 0x76, 0x79, 0x61, 0x9b, 0xa8, 0x40, + 0x9f, 0x49, 0x6f, 0xb8, 0x06, 0xa2, 0x1c, 0x06, 0xf1, 0x52, 0x0e, 0xc5, 0xcd, 0xda, 0x23, 0x54, 0x69, 0x2c, 0x50, + 0x03, 0x2b, 0x7c, 0xc2, 0x30, 0xaa, 0x26, 0xd8, 0x7d, 0xff, 0xd8, 0xe0, 0xcb, 0xd5, 0xb7, 0x83, 0x35, 0x6f, 0x5a, + 0x26, 0xda, 0x21, 0x3a, 0x9c, 0x83, 0x8a, 0x87, 0xd8, 0x69, 0x92, 0xd3, 0x60, 0xea, 0x7a, 0x72, 0xb9, 0x21, 0x63, + 0x33, 0x19, 0x69, 0x7a, 0xc0, 0x1d, 0xe6, 0xb6, 0x1f, 0x1a, 0xcc, 0x21, 0x8e, 0x8d, 0xa3, 0xba, 0x71, 0x9d, 0x31, + 0x84, 0x40, 0x27, 0x48, 0xa7, 0x3b, 0xa3, 0xcb, 0x8b, 0xf2, 0xd6, 0xda, 0x34, 0x74, 0x64, 0xdf, 0x9a, 0xee, 0x38, + 0xc2, 0x88, 0x88, 0xc7, 0x4c, 0x17, 0x2c, 0x2c, 0xb5, 0xb3, 0xb8, 0x29, 0x62, 0x39, 0xb6, 0x23, 0xac, 0x06, 0x60, + 0x16, 0xd8, 0xef, 0xcc, 0x4b, 0xef, 0x35, 0x7a, 0x21, 0x7c, 0xb0, 0x91, 0xf3, 0xb2, 0x98, 0x91, 0xb9, 0xef, 0xd0, + 0x14, 0x1e, 0xb8, 0x3f, 0x55, 0xa7, 0x15, 0x1c, 0xc4, 0xda, 0x71, 0xf4, 0xf7, 0x03, 0x6a, 0x89, 0x17, 0x04, 0x21, + 0x9c, 0x8a, 0xcd, 0x96, 0x0e, 0x88, 0x7d, 0x88, 0x65, 0x6a, 0x00, 0x42, 0x50, 0x0e, 0x56, 0xbb, 0x4f, 0x3b, 0x7d, + 0x8f, 0xd0, 0xf7, 0x11, 0xf3, 0x4d, 0x80, 0xcc, 0x14, 0x94, 0x27, 0x6a, 0x9f, 0x92, 0x88, 0x9e, 0xfc, 0xa4, 0x9b, + 0x6c, 0xd6, 0xa6, 0x4e, 0x02, 0xa5, 0x23, 0x4e, 0xde, 0x62, 0x14, 0xce, 0x8b, 0x13, 0x06, 0x74, 0xbd, 0x14, 0x83, + 0x69, 0xe3, 0x8b, 0xe2, 0x95, 0x2d, 0xa7, 0x86, 0xfd, 0x38, 0xb7, 0x35, 0x27, 0x1c, 0x8e, 0x32, 0x51, 0xf6, 0x4e, + 0x95, 0x1e, 0x0a, 0xac, 0x9b, 0x06, 0xea, 0xfd, 0x84, 0x5d, 0x70, 0xb7, 0x3d, 0x3e, 0xa6, 0x72, 0x04, 0x15, 0x42, + 0x21, 0x41, 0x2d, 0x53, 0xfa, 0x23, 0xe6, 0x39, 0x35, 0x62, 0xaf, 0x3c, 0x2a, 0x65, 0x22, 0x88, 0xc7, 0x3e, 0x7b, + 0xb0, 0xc7, 0x16, 0x08, 0x87, 0x1d, 0x4e, 0x74, 0xa5, 0x80, 0x7e, 0x90, 0x36, 0x82, 0x9d, 0x8f, 0x85, 0x22, 0x59, + 0x80, 0x62, 0x68, 0x37, 0xe2, 0xa4, 0xca, 0xee, 0x92, 0xd0, 0xef, 0xc5, 0x02, 0x67, 0x76, 0x2e, 0x81, 0xe4, 0x3a, + 0x5b, 0x18, 0x64, 0x54, 0x08, 0xed, 0x16, 0x12, 0x10, 0xa6, 0x74, 0x91, 0x0f, 0xf8, 0x91, 0x5e, 0x2a, 0x97, 0x0a, + 0xc9, 0xd3, 0xa5, 0xcf, 0xe1, 0x97, 0x1d, 0xb5, 0xe2, 0xc6, 0x5b, 0x1b, 0xe5, 0x1a, 0xe5, 0x62, 0xd6, 0xfc, 0x47, + 0xec, 0x71, 0x89, 0x74, 0x6c, 0x81, 0xb5, 0xa1, 0x1b, 0x54, 0x96, 0xd2, 0xc0, 0x89, 0x07, 0x12, 0xa9, 0xdb, 0x0e, + 0x47, 0xda, 0xa2, 0xf6, 0x93, 0xbd, 0x57, 0xd7, 0xa0, 0xf4, 0xcc, 0x7a, 0x2b, 0x71, 0x68, 0x2a, 0x64, 0x91, 0x55, + 0xd5, 0x80, 0x95, 0x7c, 0x1c, 0xd2, 0x64, 0x88, 0xee, 0x92, 0xc4, 0x93, 0xcc, 0xe9, 0x37, 0x99, 0xe9, 0x45, 0xff, + 0xa3, 0x12, 0x95, 0x0f, 0x65, 0xff, 0x93, 0x1c, 0xcf, 0x3a, 0xa9, 0x1f, 0x85, 0xd3, 0x90, 0xc6, 0x26, 0x13, 0x30, + 0x80, 0xd5, 0x86, 0x39, 0x94, 0x19, 0x2d, 0x5b, 0xc5, 0xb9, 0xdb, 0x46, 0x4a, 0x6c, 0xe8, 0x27, 0x3b, 0x06, 0xec, + 0x8f, 0xbf, 0x02, 0x71, 0xc0, 0x23, 0x66, 0x1c, 0xec, 0xad, 0x98, 0xb4, 0xa9, 0x28, 0xf8, 0x5d, 0x69, 0x34, 0x81, + 0x6b, 0x3a, 0xa4, 0x69, 0x73, 0xe5, 0x18, 0x32, 0xbd, 0x6c, 0xcc, 0x84, 0x98, 0x39, 0x78, 0x46, 0x28, 0xf6, 0xdf, + 0xfd, 0x77, 0x09, 0x8e, 0x16, 0x8d, 0xf2, 0xe4, 0xb4, 0x0e, 0xe6, 0x56, 0x5d, 0x7a, 0xe7, 0x7e, 0x08, 0x69, 0x03, + 0x80, 0xca, 0x9d, 0xed, 0x59, 0x88, 0xbb, 0xdb, 0x2a, 0x44, 0x1f, 0xcc, 0x52, 0x93, 0xf2, 0xae, 0x97, 0x6c, 0x2c, + 0x61, 0x9e, 0x32, 0x2b, 0x87, 0xd6, 0x81, 0x9d, 0xfd, 0x63, 0xfa, 0x1f, 0xc9, 0xf7, 0x9b, 0xfc, 0x7c, 0xb7, 0x46, + 0x14, 0x98, 0x91, 0x57, 0xf4, 0x3e, 0x07, 0xa0, 0xde, 0x40, 0x24, 0x97, 0xe5, 0x3d, 0x5c, 0xd4, 0x3d, 0xfc, 0x65, + 0x2e, 0x1a, 0x1f, 0x78, 0xcc, 0x57, 0x94, 0xdb, 0x0f, 0x1b, 0x1e, 0x08, 0x44, 0xee, 0x02, 0x23, 0x4c, 0xff, 0x3e, + 0x39, 0xe6, 0xe3, 0xa9, 0xf0, 0xca, 0xab, 0x17, 0xb0, 0xea, 0x89, 0x0f, 0xaf, 0xcf, 0xb0, 0xb5, 0xff, 0x44, 0x66, + 0x15, 0x97, 0x60, 0x66, 0xb0, 0xa8, 0xb8, 0x5f, 0x73, 0x65, 0x07, 0x17, 0xad, 0xee, 0x3b, 0x19, 0xff, 0x7c, 0x19, + 0xee, 0xbe, 0x7e, 0xee, 0x14, 0x8d, 0x73, 0x78, 0x8f, 0x71, 0xc4, 0x35, 0x2e, 0xe1, 0xed, 0xc7, 0x67, 0x55, 0x37, + 0xf7, 0x8c, 0x7d, 0xd6, 0x74, 0x63, 0x55, 0x33, 0xb4, 0x21, 0x71, 0xfe, 0xc3, 0xd6, 0x5f, 0x2c, 0xbc, 0xd8, 0xfd, + 0xc4, 0x4e, 0x8a, 0xac, 0x0b, 0x5a, 0xb7, 0x5d, 0xab, 0xf2, 0x83, 0x01, 0x97, 0x3a, 0x1e, 0x4b, 0xb6, 0x3a, 0xbb, + 0x5f, 0x8c, 0x3f, 0x9a, 0x09, 0xb4, 0x3f, 0xfa, 0xe0, 0x66, 0x09, 0x55, 0x7b, 0x9c, 0xd1, 0xdd, 0xb7, 0x3f, 0x7b, + 0x39, 0x76, 0x59, 0x9a, 0xf8, 0xdc, 0x27, 0xc7, 0xc8, 0x13, 0xe9, 0x2d, 0xb4, 0x0a, 0xc3, 0xf4, 0xdc, 0x3d, 0x44, + 0x6a, 0x91, 0x2c, 0x3d, 0x7b, 0x0b, 0x97, 0x9c, 0xd0, 0x99, 0x7e, 0x29, 0x09, 0x75, 0xdb, 0x6b, 0xc5, 0x25, 0x62, + 0x7e, 0x8d, 0xd4, 0xc0, 0x55, 0x12, 0x3c, 0x44, 0x44, 0xa0, 0xb3, 0x17, 0xe5, 0x33, 0x45, 0x75, 0x85, 0x57, 0x7f, + 0x8d, 0xb2, 0x80, 0x57, 0x66, 0xe3, 0x61, 0xe5, 0x4c, 0x1f, 0x9d, 0xd6, 0x59, 0xae, 0xcb, 0x00, 0x72, 0x71, 0x01, + 0x4e, 0xec, 0xdf, 0x72, 0x06, 0xc3, 0xda, 0x86, 0xfb, 0x23, 0x35, 0x1a, 0xa3, 0xe4, 0x1b, 0x02, 0x30, 0x0a, 0x8a, + 0x36, 0xb3, 0xef, 0x36, 0xa4, 0x0b, 0x19, 0xd5, 0xfb, 0xfd, 0xf7, 0xfc, 0xe5, 0xd1, 0x77, 0xbe, 0x5d, 0x7a, 0xad, + 0x85, 0x49, 0x65, 0x91, 0xad, 0xa3, 0x83, 0xec, 0xae, 0x87, 0x6d, 0x90, 0xdf, 0x74, 0x9f, 0x49, 0x37, 0x2f, 0x06, + 0xd8, 0xd2, 0xf6, 0x23, 0x32, 0x8d, 0x24, 0x51, 0xc8, 0xb1, 0x96, 0x22, 0xa8, 0x65, 0x20, 0x15, 0x47, 0x0e, 0x0f, + 0x4f, 0x46, 0xbe, 0x99, 0x33, 0x0e, 0x2d, 0x69, 0x0b, 0xd8, 0x18, 0xd6, 0xdd, 0xd7, 0x52, 0x9b, 0x65, 0xd6, 0xab, + 0x47, 0x76, 0x22, 0xbc, 0xe0, 0x08, 0x4a, 0xec, 0x53, 0x48, 0x0b, 0xab, 0xb1, 0x0c, 0x6e, 0x5e, 0x4f, 0x28, 0xa0, + 0x6d, 0x2e, 0x9d, 0x53, 0xab, 0xc8, 0x57, 0xfc, 0x7c, 0x58, 0x83, 0x21, 0xf9, 0xd6, 0x4a, 0xc1, 0xc6, 0xae, 0x55, + 0xa5, 0xf1, 0x1c, 0x6f, 0x68, 0x52, 0x1c, 0x1d, 0xed, 0x51, 0x76, 0x08, 0x47, 0x63, 0x70, 0x73, 0x6f, 0xa8, 0xa4, + 0x4c, 0x63, 0xdf, 0x4b, 0xd2, 0xbf, 0xea, 0xcb, 0x50, 0x25, 0x24, 0x8a, 0xf9, 0x1f, 0x54, 0x63, 0x0e, 0x3c, 0x52, + 0x1f, 0xbd, 0xc8, 0x04, 0xa3, 0x85, 0x42, 0x74, 0x83, 0x87, 0x9d, 0x3a, 0x11, 0xcf, 0x5e, 0xa2, 0x70, 0xd2, 0xbd, + 0x24, 0x9a, 0x17, 0xfe, 0xd9, 0x6f, 0x9e, 0x7b, 0x01, 0xd0, 0x29, 0x2c, 0x9d, 0x31, 0x70, 0xca, 0x9a, 0x74, 0xa4, + 0xe0, 0xd6, 0x68, 0xa0, 0x09, 0x6c, 0xc1, 0xd3, 0xa9, 0x0c, 0xb9, 0x28, 0x67, 0x96, 0xf4, 0x64, 0x17, 0x53, 0x6a, + 0xcd, 0xf7, 0x85, 0xb2, 0xb0, 0x7e, 0xb7, 0x79, 0x94, 0x3b, 0x47, 0x66, 0x25, 0x82, 0x45, 0x9e, 0x02, 0xaf, 0x5c, + 0xde, 0x78, 0xd1, 0xe8, 0x39, 0x78, 0x99, 0x9a, 0x79, 0x0e, 0x07, 0x79, 0xe9, 0x2f, 0xbc, 0x78, 0xfb, 0x7e, 0x0f, + 0xfa, 0x1a, 0xb9, 0x0a, 0x8b, 0xa8, 0x07, 0xe4, 0xbc, 0xe3, 0xa8, 0xbb, 0xfb, 0xe0, 0x93, 0x8e, 0x97, 0x5c, 0x35, + 0x3e, 0x84, 0xbf, 0xa4, 0xd1, 0x17, 0x92, 0xa0, 0x39, 0x15, 0x52, 0x60, 0xe0, 0xaf, 0x5b, 0xd8, 0xf8, 0x3e, 0x4b, + 0xb7, 0x23, 0x26, 0x7f, 0xf5, 0xbe, 0xd2, 0x93, 0x5d, 0x8f, 0x49, 0x3d, 0x05, 0x8a, 0x3a, 0x3b, 0x5a, 0x36, 0x23, + 0xad, 0xd4, 0xbc, 0x5b, 0xb8, 0xf5, 0x81, 0x4f, 0xe9, 0xc0, 0x8e, 0x02, 0x77, 0x41, 0x2c, 0x9e, 0x71, 0x7e, 0x6d, + 0x66, 0xb7, 0x3e, 0xfb, 0x2e, 0x03, 0x8c, 0x5a, 0x4f, 0xf4, 0x41, 0x10, 0xdf, 0x67, 0x47, 0xac, 0xbb, 0x04, 0x96, + 0x60, 0x4c, 0x4f, 0xdb, 0x24, 0x9c, 0x96, 0xfb, 0x64, 0x7e, 0xc8, 0xc6, 0x04, 0x8a, 0x4a, 0x31, 0x57, 0x81, 0x4f, + 0x26, 0x40, 0xcc, 0x21, 0x25, 0xdb, 0xab, 0x33, 0xf9, 0x44, 0xcc, 0x85, 0x2a, 0x45, 0x73, 0x31, 0x02, 0x42, 0x90, + 0xc3, 0x8c, 0xed, 0x3f, 0xc2, 0x85, 0x08, 0x70, 0x87, 0x83, 0x2c, 0x73, 0xde, 0xe0, 0xaa, 0xcc, 0x2f, 0x00, 0x73, + 0x19, 0xea, 0xad, 0xc6, 0x4e, 0x8f, 0x61, 0xf9, 0x7d, 0x1a, 0x64, 0xbd, 0x22, 0x77, 0x61, 0x19, 0xc2, 0xeb, 0xa2, + 0x54, 0x8d, 0x40, 0xba, 0x3b, 0x8c, 0xd3, 0xaf, 0x20, 0x61, 0xfa, 0x59, 0x02, 0x9e, 0xa3, 0x38, 0x11, 0x0b, 0xfe, + 0xdc, 0xd0, 0xa5, 0x13, 0xe4, 0x80, 0xa1, 0x1e, 0x9e, 0x5e, 0x51, 0xf7, 0x92, 0x1d, 0xdd, 0x6d, 0x59, 0xa5, 0xec, + 0x6f, 0x27, 0xf2, 0x63, 0xd9, 0x39, 0x5e, 0xf2, 0xa6, 0xbb, 0x89, 0xdf, 0x22, 0x8e, 0x02, 0x88, 0x63, 0x55, 0x76, + 0xa1, 0x4a, 0x44, 0xbe, 0x2e, 0x9c, 0x39, 0xe5, 0x79, 0x64, 0xc9, 0xce, 0xdb, 0xdd, 0x77, 0xa6, 0xd8, 0x91, 0x66, + 0x76, 0xce, 0x7b, 0xc5, 0x4f, 0x95, 0x12, 0xd3, 0x37, 0x0e, 0xce, 0xfd, 0x9d, 0xf4, 0xfd, 0xf1, 0x70, 0x2c, 0xb1, + 0x9e, 0x5f, 0x73, 0xd5, 0xf6, 0x94, 0xaa, 0x65, 0xad, 0xbf, 0x53, 0xbe, 0xa6, 0x6c, 0xdd, 0xec, 0x67, 0xb0, 0x23, + 0xd7, 0xcc, 0x97, 0x2e, 0xa4, 0x77, 0x7d, 0x39, 0xc9, 0xae, 0x0a, 0xec, 0xd1, 0x07, 0x06, 0xd0, 0xb4, 0xae, 0x0c, + 0xc5, 0x57, 0x6a, 0x19, 0xb9, 0x4c, 0x80, 0xd7, 0xc1, 0x4f, 0x5f, 0xcc, 0x7c, 0x39, 0x66, 0xab, 0x77, 0xde, 0x1f, + 0x31, 0x2f, 0xba, 0xb3, 0xe7, 0x7a, 0x87, 0xb8, 0x18, 0xe7, 0x7d, 0x07, 0x66, 0xe9, 0xb7, 0x1e, 0xf3, 0x79, 0x7f, + 0x9d, 0x60, 0x7f, 0x64, 0x45, 0x30, 0xc8, 0xe0, 0xae, 0x7a, 0xc1, 0x71, 0x16, 0x86, 0x68, 0xda, 0x76, 0x5f, 0xd4, + 0xcc, 0x6d, 0x49, 0xd3, 0xe7, 0xbc, 0xa5, 0x12, 0xf6, 0x8b, 0x3b, 0xce, 0xac, 0xef, 0xbc, 0x83, 0xac, 0xb5, 0xea, + 0xd0, 0xaf, 0x48, 0xbd, 0x0c, 0xeb, 0x3f, 0x81, 0x62, 0xbc, 0xec, 0xb0, 0xda, 0x5a, 0x69, 0x7a, 0xae, 0xca, 0xde, + 0xe1, 0x49, 0x05, 0xa0, 0x14, 0x01, 0x9d, 0x75, 0xe3, 0xb8, 0x9b, 0x02, 0xf5, 0xc5, 0x29, 0xda, 0xf5, 0xf7, 0xd7, + 0xc0, 0x28, 0x88, 0xd4, 0xf7, 0xab, 0xbc, 0x27, 0xfd, 0x95, 0xf8, 0x58, 0x78, 0x45, 0xa1, 0xdb, 0xf2, 0xf8, 0x2f, + 0x8a, 0x94, 0xe9, 0x27, 0x21, 0xdc, 0xf9, 0xb9, 0xba, 0x85, 0x89, 0xf9, 0x74, 0xe9, 0xf9, 0x3d, 0x5a, 0x87, 0x2b, + 0x68, 0x7d, 0xe6, 0x07, 0x69, 0xcc, 0xff, 0x39, 0x56, 0x59, 0xe2, 0x1d, 0x9a, 0xe5, 0xdb, 0x04, 0xc7, 0x74, 0x78, + 0x4a, 0x3a, 0xcf, 0x71, 0x42, 0xa1, 0x1b, 0x94, 0x7a, 0xa7, 0x0e, 0x35, 0x93, 0xc0, 0x42, 0x81, 0x93, 0x7e, 0x44, + 0xf3, 0xa8, 0x38, 0x12, 0xc0, 0xc8, 0xf4, 0xfa, 0xdb, 0x5c, 0x5b, 0xe4, 0xc3, 0x5e, 0xfb, 0x65, 0xe3, 0x5e, 0x1f, + 0x05, 0xc9, 0x7f, 0xc7, 0x01, 0x12, 0x6b, 0x43, 0xf6, 0x26, 0x60, 0x19, 0x51, 0xcc, 0x51, 0xf0, 0x6d, 0x41, 0x52, + 0xa8, 0x54, 0x82, 0x0b, 0x7b, 0x84, 0x85, 0x4b, 0x2d, 0x2d, 0x63, 0x2d, 0x3c, 0x6f, 0x01, 0x3a, 0x3a, 0x7c, 0x5d, + 0x7c, 0x97, 0x9d, 0x5e, 0x0c, 0x92, 0x73, 0x8f, 0x10, 0x24, 0xa8, 0xc7, 0x45, 0x09, 0xb8, 0x6f, 0x56, 0xe3, 0x6b, + 0x41, 0x4d, 0x9a, 0xd4, 0x5d, 0x05, 0xa7, 0xbb, 0x50, 0xc0, 0x65, 0x74, 0xd6, 0x40, 0xd0, 0xf0, 0xdd, 0x91, 0x0c, + 0xb0, 0x2a, 0x48, 0x90, 0xb8, 0xe4, 0x87, 0xc4, 0x4a, 0x45, 0x77, 0x78, 0x47, 0x63, 0xbc, 0xa3, 0xb6, 0x2e, 0x3b, + 0xed, 0x6b, 0xef, 0x36, 0x0c, 0xc2, 0x88, 0xf1, 0x99, 0x81, 0x8e, 0xec, 0xed, 0x80, 0x4d, 0x9e, 0x9d, 0xb0, 0x01, + 0x8f, 0xe5, 0x8e, 0x8c, 0xd6, 0xf9, 0x35, 0xcb, 0x17, 0x7b, 0xda, 0xe7, 0x9e, 0x84, 0x8c, 0x8d, 0x23, 0x70, 0xa3, + 0x06, 0x64, 0x4a, 0x98, 0x25, 0xfc, 0xc8, 0xa1, 0xfa, 0x2c, 0x09, 0xfe, 0x2b, 0x6d, 0x40, 0x01, 0x39, 0xda, 0x93, + 0x4a, 0x92, 0x79, 0x0c, 0xb3, 0x26, 0x85, 0x0f, 0xc8, 0x50, 0xe6, 0xf8, 0x69, 0xa8, 0x29, 0xd6, 0x89, 0xa1, 0x1a, + 0x99, 0x26, 0x86, 0xef, 0x1a, 0xf3, 0x57, 0xdc, 0xfc, 0xd9, 0xab, 0xaa, 0xa7, 0x43, 0xf0, 0x10, 0x4a, 0x09, 0xca, + 0xcd, 0x4c, 0x28, 0x03, 0xe8, 0x17, 0x69, 0xb2, 0x01, 0xad, 0x1f, 0xa1, 0xc3, 0xf7, 0x9b, 0x23, 0x38, 0xb9, 0x2c, + 0x55, 0x58, 0x17, 0x3f, 0xfe, 0x4a, 0x60, 0xef, 0xdd, 0x61, 0xba, 0x51, 0xce, 0xe6, 0xd4, 0x96, 0x4c, 0x5d, 0xf0, + 0x75, 0xb9, 0x3e, 0x09, 0x5e, 0x59, 0x20, 0x35, 0x0b, 0xab, 0x75, 0xe2, 0x12, 0x59, 0xb4, 0x38, 0x4d, 0xde, 0xcd, + 0x5f, 0x9e, 0x66, 0x13, 0xaf, 0x5c, 0x0a, 0x4c, 0x7e, 0x16, 0x55, 0xe2, 0x22, 0xb3, 0x5c, 0x36, 0xfc, 0xcd, 0x01, + 0x9f, 0x67, 0x7d, 0x3d, 0xf0, 0xbb, 0xfe, 0x5c, 0xdf, 0x1e, 0xf2, 0x90, 0x50, 0x8b, 0xdb, 0x1a, 0x67, 0x4e, 0x8d, + 0x6d, 0xe6, 0xbd, 0x5d, 0xda, 0xc7, 0x71, 0xcc, 0x7c, 0x44, 0x45, 0xba, 0xa2, 0x24, 0xec, 0x4e, 0x87, 0xa4, 0x53, + 0x4c, 0x56, 0x9c, 0x39, 0xf5, 0x54, 0xb8, 0x2d, 0xce, 0x6b, 0x7c, 0xb8, 0x44, 0x74, 0x82, 0xa9, 0x03, 0x24, 0xd7, + 0xb1, 0x25, 0xb8, 0xab, 0x08, 0x5c, 0x9a, 0x5a, 0xa8, 0xa2, 0x78, 0xc6, 0x59, 0xec, 0x16, 0x52, 0xf3, 0x53, 0xf5, + 0xb8, 0xd4, 0xad, 0x2a, 0xe1, 0x95, 0x6c, 0x85, 0x29, 0x90, 0xc9, 0x8a, 0xa4, 0x39, 0x89, 0x15, 0x0e, 0xfa, 0x9e, + 0x43, 0x92, 0xbd, 0x58, 0xf6, 0xb6, 0x7f, 0xeb, 0x6a, 0xcd, 0x0a, 0xa3, 0x5d, 0xac, 0x16, 0xc5, 0x8b, 0x54, 0x6d, + 0x1f, 0xa8, 0xbb, 0xca, 0x7d, 0xc7, 0x40, 0xa3, 0x46, 0x2a, 0x5b, 0x51, 0x47, 0x6a, 0x78, 0xcc, 0x5f, 0x9b, 0xe9, + 0x88, 0x31, 0x6c, 0xd8, 0xd1, 0x41, 0xb3, 0xb9, 0x0c, 0x8a, 0xa9, 0xc5, 0x61, 0x54, 0x1a, 0xba, 0x8d, 0xc8, 0x57, + 0x28, 0xcf, 0xec, 0x1b, 0x63, 0x43, 0x2c, 0xd9, 0x53, 0xbc, 0x06, 0xc2, 0x24, 0xa5, 0xcf, 0x62, 0x8b, 0xc2, 0xa6, + 0xcd, 0xed, 0x99, 0x63, 0x03, 0x0e, 0xae, 0x92, 0x52, 0xa6, 0xab, 0xc2, 0xab, 0x40, 0x29, 0xac, 0x44, 0x67, 0x09, + 0x21, 0x63, 0x9e, 0xbd, 0xf3, 0x53, 0xd3, 0x73, 0x8f, 0x80, 0x68, 0xf6, 0x05, 0x1c, 0x05, 0x1f, 0xc4, 0x88, 0x8f, + 0x34, 0xe4, 0x1c, 0xbe, 0x72, 0x98, 0xbe, 0xb7, 0x85, 0xe4, 0x47, 0x3f, 0x1f, 0x2f, 0x94, 0x29, 0x49, 0xb5, 0x83, + 0xd0, 0x06, 0x12, 0x67, 0x80, 0x78, 0x96, 0x81, 0x25, 0x28, 0x8d, 0x01, 0x83, 0x83, 0xcf, 0x47, 0xbb, 0x22, 0xd4, + 0x12, 0xa1, 0xbb, 0x2c, 0x5d, 0x80, 0xb3, 0x6e, 0x90, 0xd1, 0x26, 0xf6, 0x70, 0x7f, 0xe1, 0x80, 0xee, 0xc4, 0xe0, + 0xc8, 0xc9, 0xec, 0xb2, 0x25, 0xc1, 0xc4, 0xbf, 0x8b, 0xa6, 0x8d, 0x25, 0x52, 0x21, 0xde, 0x58, 0x3a, 0xc0, 0x4c, + 0xa1, 0x3d, 0x55, 0xeb, 0x8e, 0x48, 0xf1, 0x1b, 0xe0, 0x41, 0x34, 0x42, 0x03, 0x47, 0xa2, 0x7e, 0x1e, 0xa3, 0x25, + 0xc6, 0x23, 0xce, 0x7f, 0x4c, 0x2d, 0x07, 0x93, 0x04, 0x72, 0x18, 0xed, 0x1e, 0x3b, 0x13, 0x8a, 0xb3, 0x9d, 0xb4, + 0x6c, 0x3d, 0xfd, 0xdc, 0xa6, 0x0f, 0x66, 0xef, 0x15, 0xde, 0x10, 0x5c, 0x28, 0xfa, 0xcb, 0x2d, 0xcf, 0x30, 0x02, + 0x0c, 0x86, 0xdd, 0x60, 0xfe, 0xfd, 0xe9, 0x24, 0x3a, 0x3c, 0xaa, 0x1f, 0xae, 0x7a, 0x3b, 0x98, 0x3a, 0x93, 0xc1, + 0xf9, 0xe4, 0x97, 0x89, 0xbb, 0xef, 0x44, 0xf2, 0xc5, 0x94, 0x79, 0x8e, 0x7c, 0xd2, 0x09, 0xcc, 0x76, 0x0d, 0xa3, + 0x9a, 0x5a, 0x02, 0x91, 0x88, 0xa9, 0xd0, 0x8d, 0x94, 0xf3, 0x72, 0x7b, 0x4b, 0xe1, 0xfb, 0x6d, 0xaa, 0x52, 0xa5, + 0x46, 0x11, 0x96, 0x9b, 0xf4, 0x83, 0x83, 0xee, 0xf7, 0xa5, 0xbc, 0x5c, 0x4e, 0x6b, 0x91, 0xc7, 0x43, 0x21, 0xea, + 0x7c, 0xa4, 0xbd, 0x7f, 0xa2, 0xf3, 0x33, 0x49, 0xc8, 0xae, 0xff, 0x54, 0x11, 0x60, 0xfc, 0x15, 0xa2, 0xae, 0x4d, + 0x32, 0xa8, 0xd4, 0x4b, 0x2b, 0xbc, 0x83, 0xaf, 0x88, 0xdc, 0x0a, 0xfa, 0x95, 0x51, 0xe5, 0xad, 0x57, 0x6d, 0x97, + 0xb3, 0x2f, 0xb0, 0x60, 0xd3, 0x9a, 0x0e, 0x5e, 0xf9, 0xeb, 0xe0, 0xa8, 0xa0, 0x37, 0x9c, 0x3a, 0x23, 0xf5, 0x10, + 0xef, 0xe7, 0x02, 0x05, 0x27, 0xc4, 0x3f, 0x0a, 0x86, 0x46, 0xe9, 0x5a, 0x6a, 0x63, 0x6c, 0x0f, 0x98, 0xaf, 0x57, + 0x95, 0x71, 0x95, 0xdd, 0x09, 0x1e, 0x3b, 0x37, 0x3e, 0x85, 0x91, 0xb4, 0x3c, 0xc0, 0x39, 0xab, 0x43, 0x07, 0xce, + 0x6b, 0xf6, 0x85, 0x6a, 0x3d, 0x14, 0x33, 0x12, 0x6d, 0x4d, 0xb0, 0x8c, 0x3c, 0x9b, 0xb5, 0xe7, 0xa9, 0x49, 0x66, + 0x35, 0xd2, 0x66, 0x7c, 0x6a, 0xfa, 0xaf, 0x01, 0xb1, 0x1e, 0x74, 0xf9, 0x6d, 0xa5, 0xfa, 0x5a, 0x21, 0xeb, 0x11, + 0xc7, 0x4a, 0x95, 0x6d, 0x83, 0x63, 0x07, 0x6e, 0x35, 0x1e, 0x0f, 0xbe, 0x17, 0xd2, 0x58, 0x9d, 0x04, 0x2e, 0x9d, + 0x50, 0xf9, 0x86, 0x2b, 0x06, 0x76, 0x12, 0xdd, 0x2c, 0x17, 0x51, 0x22, 0x45, 0xfe, 0x36, 0x70, 0x8a, 0xe1, 0x50, + 0x08, 0x0f, 0xe2, 0xdf, 0x24, 0x09, 0xf3, 0x3a, 0x52, 0x9d, 0x58, 0xed, 0xe0, 0x7a, 0x95, 0x1e, 0x05, 0x07, 0x6b, + 0xaa, 0xa4, 0x0d, 0x25, 0xea, 0x52, 0x8f, 0x61, 0x4d, 0x0f, 0x87, 0x7a, 0x71, 0xe3, 0x70, 0xe5, 0x63, 0xcd, 0xa2, + 0xf5, 0x17, 0x35, 0x1c, 0xab, 0x11, 0x36, 0x53, 0x11, 0xcd, 0xec, 0xff, 0x88, 0x2b, 0x1d, 0xb2, 0x0b, 0x80, 0xda, + 0x8f, 0xf8, 0x06, 0x55, 0x31, 0x02, 0xb4, 0x9f, 0x96, 0x6f, 0xa4, 0x3e, 0xe5, 0x19, 0x8b, 0xeb, 0x16, 0x51, 0xe4, + 0x22, 0x18, 0x6b, 0x8a, 0x0d, 0x00, 0x61, 0xd9, 0x02, 0x1b, 0x88, 0xa2, 0x59, 0x94, 0x4d, 0xdd, 0x60, 0xb7, 0x78, + 0x01, 0xd1, 0x9a, 0xc7, 0x67, 0x62, 0xcd, 0x9c, 0x1b, 0xa9, 0x2c, 0x2b, 0x7c, 0xff, 0xea, 0x8a, 0xb9, 0x42, 0x83, + 0xf7, 0xf6, 0xdc, 0xca, 0x1e, 0x9d, 0x0f, 0x76, 0x33, 0xfd, 0x0b, 0xbb, 0x0e, 0x6f, 0xd9, 0x26, 0xcc, 0x08, 0x9f, + 0xdc, 0x3e, 0xfe, 0x8a, 0x35, 0xe1, 0xfc, 0x47, 0x51, 0x31, 0x28, 0x5c, 0x41, 0xb0, 0xa8, 0x35, 0xe3, 0x94, 0xc2, + 0x63, 0x1f, 0xa8, 0xd0, 0x1e, 0x24, 0x26, 0x08, 0xa3, 0x2a, 0x53, 0x25, 0xb2, 0xe7, 0xe2, 0x57, 0x6d, 0x22, 0x83, + 0xc9, 0x38, 0x94, 0x0d, 0xdc, 0xd4, 0xae, 0x39, 0x33, 0x3b, 0x4b, 0xeb, 0xdf, 0x6b, 0x8e, 0x75, 0x58, 0xb0, 0x44, + 0x6b, 0xa8, 0x99, 0x5e, 0x56, 0x2d, 0xc2, 0x5b, 0xc3, 0x74, 0x78, 0x08, 0x52, 0xcb, 0x22, 0xe1, 0x0f, 0xdd, 0x77, + 0xd0, 0x22, 0x18, 0xa3, 0x11, 0x58, 0x19, 0xa7, 0x90, 0xeb, 0xfc, 0x38, 0x25, 0x0a, 0xd4, 0xb2, 0xde, 0x67, 0x2c, + 0x73, 0xe4, 0x35, 0x2b, 0xf3, 0x34, 0x2b, 0x7a, 0x8f, 0xb2, 0xa1, 0xe3, 0xfa, 0x73, 0x26, 0x1a, 0x49, 0x87, 0x86, + 0x3a, 0x1d, 0xe7, 0xc4, 0x95, 0x35, 0x47, 0x53, 0x24, 0xb7, 0xf5, 0x40, 0xda, 0xcd, 0x6c, 0x25, 0x4c, 0xb6, 0xd8, + 0x6c, 0x46, 0xd8, 0xee, 0x68, 0xec, 0x33, 0x4f, 0x1c, 0xd7, 0x10, 0x3d, 0xd0, 0xe6, 0xce, 0x4b, 0x6e, 0x5c, 0xfc, + 0xef, 0xa0, 0x88, 0x6e, 0x1e, 0x8e, 0x08, 0xe6, 0x72, 0x4e, 0x51, 0x3c, 0xdd, 0x1c, 0x87, 0xc0, 0x86, 0xf5, 0x9f, + 0x9b, 0xe8, 0x4a, 0x8e, 0xe7, 0xa8, 0xd2, 0x23, 0x05, 0x71, 0x62, 0x7b, 0x76, 0x0d, 0x49, 0xfb, 0x11, 0x09, 0xcf, + 0x29, 0xeb, 0x6c, 0x74, 0xae, 0x73, 0x5d, 0x7a, 0x1f, 0x7f, 0x25, 0x3d, 0x21, 0x08, 0x0c, 0xf3, 0xa7, 0xb8, 0x9f, + 0xc0, 0x8a, 0x0b, 0xab, 0x52, 0xae, 0x78, 0xe1, 0x5f, 0x73, 0xc6, 0xf7, 0xb4, 0x2a, 0x2b, 0xd9, 0x71, 0x79, 0xa5, + 0x73, 0xd6, 0x50, 0xa5, 0x63, 0xa6, 0xcb, 0x8a, 0xc5, 0xf4, 0x8e, 0xfd, 0xba, 0x36, 0x04, 0x34, 0x74, 0xe7, 0xdc, + 0x51, 0x31, 0x93, 0xe0, 0x69, 0x88, 0xa5, 0x52, 0x80, 0xae, 0xd0, 0x67, 0xe6, 0xe4, 0x9b, 0x61, 0x1e, 0x0c, 0xf9, + 0x59, 0x00, 0x08, 0x57, 0x26, 0xa8, 0xac, 0xc0, 0xb3, 0xe2, 0x5a, 0xd1, 0x79, 0x0d, 0xe6, 0x22, 0xa2, 0xde, 0x6b, + 0xa4, 0xff, 0x00, 0x09, 0x97, 0x60, 0x2f, 0x05, 0x2e, 0x06, 0x74, 0xf9, 0xcc, 0x1d, 0x5a, 0x97, 0x08, 0x31, 0xd6, + 0x80, 0xa4, 0xb6, 0xf1, 0xcb, 0xc5, 0x84, 0x7b, 0xde, 0xcf, 0x03, 0xce, 0xba, 0x7e, 0x06, 0x90, 0x07, 0xf9, 0xf3, + 0x57, 0xb7, 0x72, 0x39, 0xc8, 0x09, 0x48, 0x5c, 0x5c, 0xb8, 0xf2, 0x88, 0x76, 0x4e, 0x8b, 0xb6, 0xcc, 0xd5, 0x28, + 0xe3, 0xb6, 0x06, 0x29, 0x52, 0xb8, 0xd8, 0x48, 0xfb, 0x18, 0xb8, 0x20, 0xe9, 0x89, 0x0d, 0x85, 0x84, 0x1d, 0xbb, + 0xf6, 0x62, 0x2a, 0xb7, 0x33, 0xea, 0x06, 0xfa, 0x62, 0xeb, 0x6f, 0x34, 0xfe, 0xb4, 0xb1, 0x76, 0xa6, 0xef, 0x19, + 0x5c, 0x11, 0xa9, 0x46, 0x9f, 0x57, 0x58, 0x7d, 0xda, 0xef, 0xca, 0x1d, 0xac, 0xd6, 0x97, 0xd1, 0x57, 0x15, 0x1b, + 0xf5, 0x89, 0x0d, 0x82, 0x49, 0x92, 0x54, 0x72, 0x6b, 0x50, 0x52, 0xd0, 0x98, 0xb7, 0x51, 0x43, 0x56, 0x4a, 0x6b, + 0x26, 0x7b, 0xf1, 0xbf, 0x73, 0xc5, 0xcc, 0xc4, 0xc0, 0x8f, 0xb1, 0xa5, 0x3e, 0x79, 0xf4, 0xc4, 0x5b, 0xeb, 0xf7, + 0x9c, 0xa1, 0x63, 0xf6, 0x00, 0x81, 0x42, 0x60, 0x5e, 0xba, 0xc4, 0x9c, 0x5b, 0x33, 0x6b, 0xd6, 0xd4, 0xcb, 0x7f, + 0x66, 0x57, 0xba, 0xc0, 0xd8, 0x27, 0x82, 0xfe, 0x5c, 0xda, 0xed, 0xd4, 0x37, 0x66, 0xef, 0x06, 0x9c, 0x06, 0x98, + 0xb9, 0x78, 0x53, 0xe9, 0xdd, 0xd5, 0xe6, 0x11, 0x0b, 0x60, 0x72, 0x36, 0xfa, 0x97, 0xa6, 0x22, 0xf8, 0xcb, 0xa3, + 0xb3, 0x17, 0xeb, 0x23, 0x0a, 0x05, 0x5f, 0x46, 0x23, 0xde, 0x65, 0xf4, 0x2f, 0x1a, 0x5a, 0xff, 0x03, 0xfb, 0x60, + 0x1b, 0x97, 0x61, 0x0f, 0xed, 0xc3, 0x24, 0x76, 0x45, 0xd0, 0xd6, 0xc6, 0x82, 0x20, 0x6b, 0xea, 0x72, 0x60, 0x44, + 0x8a, 0xdf, 0x5a, 0x27, 0x9d, 0xd7, 0xb1, 0xef, 0xda, 0x89, 0xf3, 0x21, 0x11, 0x23, 0xf0, 0x5b, 0xf4, 0x7c, 0x24, + 0xa1, 0x82, 0x4b, 0x47, 0x2f, 0x13, 0x3c, 0xea, 0x12, 0x27, 0xd5, 0xae, 0x97, 0xa3, 0xf6, 0xcf, 0xfa, 0x66, 0x3f, + 0x18, 0x94, 0xae, 0x1b, 0x86, 0x6f, 0xe9, 0xb5, 0xcc, 0x91, 0x87, 0x77, 0x7d, 0xa3, 0xb5, 0x05, 0xd6, 0xba, 0x6c, + 0x0b, 0x45, 0x9d, 0xf0, 0xfa, 0x5d, 0xe3, 0xf8, 0xbf, 0x94, 0x59, 0xc1, 0x50, 0x98, 0xcc, 0x44, 0xbd, 0xd9, 0x82, + 0x74, 0x16, 0x7a, 0x7b, 0xd7, 0xbf, 0x54, 0x9a, 0x03, 0xb6, 0x98, 0x31, 0x38, 0xd5, 0x83, 0x66, 0xf0, 0x12, 0x0a, + 0x84, 0xb9, 0x77, 0x86, 0xce, 0xa0, 0xfb, 0xd5, 0x09, 0xca, 0x44, 0x31, 0xe8, 0x59, 0x0a, 0x25, 0x6d, 0x42, 0x6a, + 0xdd, 0xef, 0x0d, 0x6e, 0x7d, 0xe8, 0xdf, 0xcc, 0x28, 0xa2, 0x51, 0xef, 0x9c, 0x24, 0xa0, 0xe8, 0x15, 0x07, 0x3a, + 0x51, 0xde, 0x6c, 0x89, 0x11, 0xeb, 0x78, 0x9c, 0xe4, 0xea, 0xe0, 0xf1, 0x4a, 0xc9, 0xf1, 0xaa, 0x10, 0x7a, 0x0e, + 0x60, 0x88, 0x23, 0x70, 0x2f, 0x87, 0x05, 0x74, 0x01, 0xcf, 0xf4, 0x8e, 0x7a, 0x36, 0x73, 0xb4, 0xfb, 0x7f, 0x97, + 0x7b, 0xd4, 0x5b, 0x3c, 0xdb, 0x24, 0x0e, 0x58, 0xd6, 0x34, 0x02, 0xdf, 0xfc, 0xf4, 0xae, 0xd6, 0x63, 0xc9, 0x9b, + 0x2d, 0x95, 0x39, 0xd8, 0x10, 0x5d, 0xa7, 0x45, 0xd2, 0xa7, 0x5c, 0x1d, 0xdb, 0x14, 0x50, 0xc3, 0xfd, 0xb4, 0x73, + 0x45, 0x78, 0x9c, 0xb0, 0x86, 0x73, 0x2a, 0x1c, 0x76, 0x70, 0xb4, 0x11, 0x46, 0x37, 0xe4, 0x18, 0x4b, 0xea, 0x20, + 0xbe, 0x1d, 0xe0, 0x13, 0x7c, 0xbf, 0x30, 0xca, 0x97, 0x0e, 0xf1, 0x47, 0x06, 0x8d, 0x0e, 0x72, 0x89, 0x95, 0x3c, + 0x61, 0xea, 0xaf, 0x95, 0xda, 0xca, 0x75, 0xb9, 0xb9, 0xb7, 0x57, 0xb7, 0x92, 0x59, 0x38, 0xc9, 0x28, 0x3e, 0x92, + 0x1e, 0xd5, 0x2b, 0xf9, 0xcf, 0xed, 0xc6, 0x20, 0x99, 0xb9, 0xbd, 0x7b, 0x27, 0x30, 0x76, 0xa8, 0x74, 0xa2, 0xe0, + 0x5f, 0x22, 0xe1, 0x67, 0xa3, 0x11, 0x29, 0x28, 0x2c, 0xb9, 0x0a, 0x55, 0x68, 0x9f, 0xb9, 0xe9, 0xa5, 0xa2, 0x72, + 0x8c, 0x51, 0x31, 0x9b, 0xf1, 0x8b, 0xa1, 0x1a, 0x23, 0xf5, 0xd3, 0x9c, 0x6d, 0xbf, 0xf5, 0x44, 0xaf, 0x45, 0x73, + 0x20, 0x09, 0x1a, 0x57, 0x02, 0x14, 0xe0, 0x10, 0x13, 0x8c, 0xc9, 0x5d, 0x62, 0xd0, 0x34, 0xc3, 0xf3, 0x14, 0xea, + 0x5a, 0x8d, 0x27, 0x95, 0x6f, 0x6d, 0x97, 0x95, 0x54, 0xb6, 0x13, 0xa3, 0x79, 0x27, 0x41, 0xe2, 0xa8, 0x71, 0x8a, + 0x82, 0x55, 0xf5, 0x0c, 0x29, 0xc3, 0x12, 0x20, 0xad, 0x38, 0x87, 0x6f, 0xcf, 0x43, 0x66, 0x17, 0x96, 0xd8, 0x2b, + 0xdd, 0x2c, 0x85, 0x08, 0x6e, 0x17, 0x15, 0x09, 0xb9, 0xbe, 0x65, 0x93, 0x2c, 0x74, 0xe9, 0x5b, 0x67, 0xe8, 0x12, + 0xd2, 0x87, 0x1c, 0xf5, 0xdb, 0xbd, 0x04, 0x9c, 0x20, 0x8c, 0x8d, 0x09, 0xd9, 0x7c, 0xd4, 0x0b, 0xf2, 0x28, 0x6f, + 0x05, 0x8d, 0xab, 0xcd, 0xd2, 0xfb, 0x9f, 0x30, 0x1a, 0xca, 0x65, 0x43, 0x26, 0xb3, 0xa2, 0x83, 0xe6, 0xab, 0x65, + 0x6c, 0x0e, 0x2a, 0xc8, 0x31, 0x27, 0x01, 0x7a, 0x5c, 0x81, 0xe7, 0x96, 0x45, 0xbd, 0x49, 0xf5, 0x67, 0xc5, 0x0b, + 0x5d, 0x83, 0xdd, 0xd7, 0x0e, 0x62, 0xc7, 0x26, 0x53, 0xbb, 0x58, 0x05, 0x4a, 0xe2, 0x88, 0x6e, 0x85, 0x3e, 0x85, + 0x2a, 0x77, 0xa4, 0x10, 0xc3, 0x3a, 0xc0, 0xc2, 0x59, 0xc9, 0x4c, 0xd8, 0x3e, 0xcc, 0xe7, 0x8f, 0x51, 0x6b, 0x01, + 0xd3, 0x43, 0x08, 0xf5, 0xdd, 0x1d, 0xee, 0x28, 0x3a, 0x3a, 0x93, 0xc9, 0x5d, 0x56, 0xc8, 0xa0, 0x5f, 0xf8, 0x58, + 0xc0, 0x05, 0x57, 0xe4, 0x92, 0xb1, 0xa0, 0xe9, 0x14, 0x4c, 0xcb, 0xd4, 0xb9, 0xfc, 0xdd, 0xfb, 0x98, 0x40, 0x2d, + 0x88, 0x45, 0xd3, 0x84, 0x13, 0xd4, 0xd0, 0x1d, 0x44, 0x6b, 0xda, 0x93, 0xc7, 0x8b, 0xec, 0x19, 0xc6, 0xca, 0x09, + 0xfe, 0xd4, 0xe5, 0xba, 0xfa, 0xf2, 0x5d, 0x90, 0x4a, 0xef, 0x8d, 0x4e, 0x4b, 0xd2, 0x3b, 0xca, 0x11, 0xd1, 0xa4, + 0xe3, 0x6f, 0x1f, 0x91, 0xb7, 0x20, 0x13, 0x1b, 0x3e, 0x5c, 0xd6, 0x9a, 0xf7, 0x5f, 0x51, 0xb0, 0x4a, 0x11, 0xce, + 0x7e, 0xa2, 0x49, 0x1c, 0xb2, 0x15, 0x21, 0xed, 0x8b, 0x60, 0xa4, 0xa3, 0x82, 0xd8, 0x8a, 0xed, 0x6a, 0x6d, 0xb9, + 0x87, 0x40, 0xc4, 0x39, 0xb8, 0x42, 0x66, 0x19, 0x9c, 0x63, 0xaf, 0x7e, 0x79, 0x80, 0xe0, 0xf2, 0x14, 0xf5, 0xbf, + 0x5e, 0x16, 0x7e, 0xf4, 0x70, 0xa0, 0x75, 0x64, 0x65, 0x65, 0x4e, 0xbd, 0x54, 0x1f, 0xcb, 0x3a, 0x1e, 0xad, 0xfa, + 0x9a, 0x7e, 0xa3, 0x94, 0x46, 0x9b, 0x41, 0x8b, 0xdb, 0x94, 0x95, 0x1a, 0xc3, 0x9f, 0x59, 0x2d, 0xea, 0xa1, 0xc2, + 0x1d, 0xae, 0x0d, 0xde, 0xb3, 0x77, 0x30, 0x91, 0x22, 0xef, 0xdb, 0x3f, 0x35, 0xb8, 0x21, 0x61, 0x3a, 0xe1, 0x90, + 0x3b, 0x70, 0x05, 0xd3, 0x93, 0x4e, 0xdd, 0x35, 0xc4, 0xd7, 0x22, 0xc9, 0x8e, 0xfe, 0x1b, 0x05, 0xcf, 0x17, 0x32, + 0xd6, 0x84, 0x8c, 0x6e, 0x0b, 0x6b, 0x11, 0x69, 0xa5, 0xc1, 0xc4, 0x18, 0xc5, 0x7c, 0x4a, 0x94, 0x88, 0x65, 0xb7, + 0x25, 0x23, 0xb1, 0xcf, 0xd6, 0x96, 0xbd, 0xd5, 0x4d, 0x4b, 0x82, 0x96, 0xa5, 0x20, 0x5e, 0x2e, 0xcf, 0x44, 0x15, + 0xd0, 0xb5, 0x71, 0x03, 0x22, 0x4e, 0xef, 0xac, 0xf6, 0x16, 0x04, 0xd0, 0x3e, 0xff, 0xfb, 0x4a, 0xe9, 0xe2, 0x56, + 0x85, 0x12, 0x82, 0x1f, 0xb2, 0x4c, 0x96, 0x40, 0x19, 0xe4, 0x63, 0xcb, 0x07, 0xf7, 0x15, 0x56, 0xeb, 0xbb, 0xf5, + 0x10, 0xb1, 0x79, 0x3e, 0x84, 0xb4, 0x83, 0xe1, 0x99, 0x02, 0x4f, 0xf6, 0x2f, 0xdb, 0x87, 0x0d, 0xd0, 0xba, 0xc9, + 0x50, 0x7e, 0x57, 0xaa, 0x89, 0x32, 0x82, 0x8f, 0x5f, 0xed, 0x70, 0x61, 0x43, 0xed, 0xc0, 0x68, 0x1a, 0x76, 0xcb, + 0x3f, 0x20, 0x56, 0x48, 0xe8, 0xea, 0x08, 0x60, 0xeb, 0x32, 0x26, 0x7c, 0xc9, 0xbe, 0x41, 0x18, 0x00, 0x89, 0xdf, + 0xfe, 0xaa, 0x1d, 0x9f, 0x98, 0xeb, 0xf2, 0xfb, 0xb6, 0xbd, 0x4a, 0x44, 0xef, 0x63, 0x27, 0x66, 0x3b, 0xf6, 0x01, + 0x2b, 0x1e, 0x56, 0x8d, 0xe8, 0xd8, 0xf3, 0xa1, 0x70, 0x9f, 0xe2, 0xd1, 0xd6, 0x21, 0xfa, 0x9d, 0x28, 0xb2, 0xc5, + 0x76, 0xc9, 0xfe, 0x42, 0x4b, 0xe7, 0xd3, 0x07, 0x9a, 0x41, 0xdd, 0x1e, 0x23, 0xaf, 0x22, 0x80, 0x78, 0x0c, 0x76, + 0xe1, 0xeb, 0x32, 0xef, 0x99, 0xbc, 0x02, 0xfc, 0x9c, 0x72, 0xf2, 0x97, 0xe7, 0x8b, 0x26, 0x22, 0xe8, 0xb3, 0x2e, + 0x49, 0x02, 0x22, 0xe2, 0x71, 0x3a, 0x3b, 0x36, 0x4d, 0x7a, 0x19, 0x39, 0x3c, 0x62, 0x33, 0x2b, 0xdf, 0xb1, 0xaa, + 0x8b, 0xb3, 0x5b, 0x3e, 0xda, 0x5f, 0xe8, 0x41, 0x67, 0x90, 0xa8, 0x5d, 0x9c, 0xc9, 0x68, 0x76, 0x64, 0x1a, 0x63, + 0x43, 0xb4, 0x97, 0x8a, 0x29, 0x19, 0x66, 0x39, 0x46, 0x1d, 0xd7, 0x46, 0x4e, 0x97, 0x93, 0x25, 0x0e, 0xc3, 0x12, + 0xe3, 0x7d, 0x1a, 0x10, 0xf4, 0x72, 0x05, 0x1d, 0xec, 0xe2, 0x5c, 0x6f, 0x87, 0x1c, 0x1a, 0x10, 0x97, 0x1a, 0xef, + 0xe2, 0x5c, 0xf7, 0xa0, 0xca, 0x53, 0x64, 0xc5, 0xc3, 0x9f, 0x52, 0xbf, 0x54, 0x8e, 0xf1, 0x9e, 0x81, 0xc4, 0xd8, + 0x6f, 0x6c, 0xcf, 0xfd, 0x26, 0x28, 0x66, 0x99, 0xa2, 0x91, 0x9e, 0x17, 0xee, 0xc1, 0x6c, 0x4f, 0xdb, 0xab, 0xd1, + 0x54, 0xc1, 0xcc, 0xa2, 0x13, 0xc0, 0xe6, 0x0f, 0xc4, 0x54, 0x45, 0x57, 0x3c, 0x52, 0x08, 0xc2, 0x70, 0xb5, 0xde, + 0x91, 0xed, 0xb3, 0x42, 0x68, 0xb9, 0x63, 0x26, 0x19, 0xf8, 0xb9, 0xf1, 0x61, 0xd6, 0x35, 0xbe, 0xa8, 0x27, 0x40, + 0x33, 0x71, 0xe5, 0xc3, 0xc7, 0xc9, 0x42, 0x61, 0x82, 0x92, 0xd1, 0x4f, 0xae, 0xa6, 0x5a, 0xd2, 0x9d, 0x74, 0xd8, + 0x9b, 0x2d, 0x5f, 0x27, 0x65, 0x1d, 0x76, 0x29, 0xfb, 0x58, 0xca, 0x03, 0xed, 0x76, 0x33, 0xdb, 0xc3, 0xdf, 0x70, + 0xf3, 0x01, 0xa0, 0x8b, 0x84, 0x95, 0x49, 0x6e, 0xd1, 0x80, 0x5f, 0x7c, 0x30, 0x38, 0x19, 0xc3, 0xf6, 0xe0, 0xc5, + 0xdc, 0x61, 0x9d, 0x63, 0xff, 0xd6, 0x91, 0x9b, 0x38, 0x0a, 0xa4, 0xe4, 0xab, 0x85, 0x45, 0x15, 0xa2, 0xc3, 0x40, + 0xe3, 0xaa, 0xcf, 0x13, 0xb0, 0x90, 0x33, 0xb5, 0x26, 0xd9, 0xfc, 0x53, 0x05, 0xc4, 0xf3, 0xd9, 0x72, 0x08, 0x24, + 0xc8, 0xb7, 0xb2, 0x5a, 0x16, 0xaf, 0x09, 0x27, 0xb0, 0x3d, 0x82, 0x45, 0x63, 0x77, 0x04, 0x00, 0x5a, 0xe8, 0x20, + 0xa4, 0xd4, 0x85, 0x0b, 0x65, 0x2f, 0xd7, 0xc8, 0x86, 0xa9, 0x6b, 0x81, 0x17, 0xdf, 0x4e, 0x38, 0xfa, 0xf7, 0x47, + 0x43, 0xb2, 0x8e, 0x00, 0x2e, 0x27, 0x78, 0x1f, 0x36, 0x8d, 0x3d, 0x03, 0xce, 0x48, 0xfb, 0xa2, 0x70, 0x45, 0x3f, + 0x0c, 0xac, 0x0b, 0xf1, 0x2c, 0x38, 0x47, 0x26, 0xbb, 0x12, 0xfa, 0x45, 0xd1, 0x0c, 0x09, 0x5e, 0x30, 0x8e, 0x6d, + 0xe0, 0x73, 0x07, 0xf4, 0xd3, 0x98, 0x8b, 0xb6, 0x05, 0x1e, 0x2b, 0xaa, 0xcc, 0x29, 0x87, 0x6e, 0x10, 0xad, 0xbd, + 0xfa, 0x5c, 0xea, 0x3b, 0x9c, 0x95, 0xce, 0x8a, 0x7b, 0x97, 0x55, 0x0f, 0x05, 0x9f, 0x20, 0xc7, 0xfb, 0x57, 0x14, + 0xfb, 0x9f, 0x36, 0xe2, 0x68, 0xc1, 0xa6, 0x00, 0x0c, 0x20, 0x21, 0xd3, 0x08, 0xdb, 0x3a, 0x09, 0x3a, 0x7e, 0x28, + 0x3d, 0x46, 0x1c, 0x4a, 0x5a, 0x61, 0x70, 0x98, 0xaa, 0x6f, 0x83, 0x0c, 0x29, 0x79, 0xb9, 0x94, 0x1e, 0x86, 0x18, + 0x39, 0x20, 0x95, 0xb9, 0xf2, 0x3d, 0x7b, 0x55, 0x3c, 0x51, 0xea, 0xc4, 0x07, 0x10, 0x8b, 0xa1, 0x47, 0x46, 0x7d, + 0x20, 0x53, 0x5d, 0x80, 0x26, 0x86, 0x90, 0x51, 0x02, 0x88, 0x8d, 0xa1, 0x11, 0x02, 0x25, 0xe4, 0xd8, 0xfa, 0xc5, + 0xac, 0x0a, 0x12, 0xa1, 0x88, 0x45, 0x4b, 0xb4, 0x38, 0x62, 0x14, 0x60, 0x86, 0x34, 0xd0, 0x63, 0xee, 0x9a, 0x0e, + 0x8c, 0x0b, 0x30, 0xa6, 0xe2, 0x1e, 0x40, 0x7e, 0x33, 0x86, 0xb1, 0x88, 0xe0, 0xe5, 0xae, 0x3c, 0x4f, 0x1a, 0x35, + 0x58, 0xc3, 0x5a, 0x34, 0x17, 0xab, 0xb7, 0x81, 0x99, 0x72, 0x0c, 0xc9, 0x55, 0xab, 0x52, 0xd8, 0xe9, 0xcd, 0x7e, + 0x1f, 0xf2, 0xb9, 0x83, 0xd0, 0xd6, 0xc1, 0x99, 0x25, 0x28, 0x33, 0x12, 0xdb, 0x98, 0x50, 0x40, 0x32, 0xd0, 0x81, + 0xd4, 0x15, 0x88, 0x90, 0x90, 0x64, 0x92, 0x84, 0xe6, 0x64, 0x8a, 0x44, 0x7c, 0x71, 0xc2, 0x5c, 0x1f, 0xc4, 0xc9, + 0x12, 0xd9, 0xbc, 0x6f, 0x97, 0xc0, 0xfc, 0x81, 0x91, 0x59, 0x91, 0xab, 0xaa, 0xa0, 0x01, 0x12, 0x09, 0xa3, 0xd5, + 0x09, 0x43, 0xe7, 0xf5, 0xd9, 0xdf, 0x07, 0x8c, 0x2d, 0x4c, 0xe8, 0x40, 0x30, 0x0c, 0x65, 0x51, 0xa8, 0xe4, 0x4f, + 0x0a, 0x1c, 0x56, 0x68, 0x78, 0x7f, 0x16, 0x7c, 0xf1, 0xd4, 0x62, 0x61, 0x15, 0x1e, 0x09, 0xb9, 0x1f, 0x6a, 0x89, + 0xb3, 0x02, 0x92, 0x13, 0x84, 0x56, 0xf7, 0xef, 0x7f, 0x77, 0x54, 0x12, 0xe6, 0x45, 0x8b, 0xd2, 0xab, 0x23, 0x6e, + 0x73, 0xb5, 0xc0, 0xd0, 0xa4, 0xd9, 0x21, 0xdf, 0x3e, 0x55, 0x22, 0x6e, 0x14, 0x5c, 0xee, 0x42, 0x2c, 0x01, 0x69, + 0x33, 0x18, 0x7c, 0x69, 0x3d, 0xa5, 0x1f, 0x20, 0xf4, 0x8d, 0x7b, 0x76, 0xfa, 0x38, 0x46, 0x32, 0x26, 0x17, 0xd6, + 0xcf, 0xac, 0x6a, 0x35, 0x71, 0x44, 0x42, 0xce, 0x59, 0xe8, 0x50, 0xec, 0xab, 0x61, 0x39, 0x73, 0xc5, 0xd9, 0xc3, + 0xc3, 0x68, 0x05, 0x24, 0x1d, 0x69, 0xb8, 0x21, 0xc7, 0xb3, 0x0f, 0x50, 0xe7, 0x51, 0x30, 0x92, 0x4a, 0xe6, 0xbd, + 0x62, 0x38, 0x6f, 0x88, 0xb6, 0xd4, 0xb3, 0xd6, 0x20, 0x70, 0x4e, 0x16, 0x49, 0xc9, 0x9b, 0x20, 0xb5, 0xf2, 0xf2, + 0x64, 0x1e, 0x31, 0xc5, 0xe9, 0x54, 0x59, 0x61, 0x74, 0x72, 0xd1, 0x73, 0x64, 0x94, 0x5d, 0xb0, 0xa1, 0x9a, 0x4f, + 0x4b, 0x53, 0xee, 0x2b, 0xac, 0x94, 0xae, 0xb4, 0xc0, 0x74, 0x24, 0xc6, 0xea, 0x66, 0x8e, 0xea, 0x81, 0x41, 0xc4, + 0x7a, 0xf9, 0x06, 0x91, 0x87, 0x34, 0xbf, 0x70, 0xa4, 0x22, 0x6d, 0x09, 0xcf, 0x4a, 0x3e, 0x60, 0x36, 0x03, 0xd2, + 0xca, 0xfb, 0x04, 0x5c, 0xf9, 0x4d, 0x81, 0x82, 0xe4, 0x8b, 0xf3, 0x04, 0xcd, 0x20, 0x7e, 0x1d, 0x64, 0xb3, 0xb1, + 0x11, 0xe3, 0xf9, 0xd6, 0xe0, 0xd5, 0x10, 0x39, 0x58, 0x1d, 0xfd, 0xba, 0x1b, 0xb0, 0x75, 0xb8, 0x4d, 0xa7, 0x67, + 0x5f, 0x6a, 0x81, 0x16, 0x83, 0xe3, 0xa9, 0x98, 0xe2, 0xa4, 0x7a, 0x44, 0x2c, 0x53, 0x61, 0x1a, 0x13, 0x5d, 0x21, + 0x6b, 0x6c, 0x29, 0xd8, 0x7c, 0xcb, 0x7b, 0x5e, 0x64, 0x48, 0xb8, 0x6b, 0x44, 0x17, 0xc3, 0x18, 0x04, 0x2f, 0x2f, + 0xa5, 0x73, 0x5f, 0x1b, 0x25, 0x56, 0xcc, 0x13, 0x1f, 0x5e, 0x37, 0x49, 0xf2, 0x82, 0xb4, 0x66, 0xcf, 0x6a, 0x2c, + 0x7f, 0x78, 0xf3, 0x83, 0xa9, 0x4a, 0xac, 0xd9, 0xc9, 0x4f, 0x52, 0xb6, 0xef, 0x87, 0xa6, 0x41, 0xde, 0x56, 0x2c, + 0x7e, 0x69, 0xf2, 0x0d, 0xa2, 0x0b, 0x46, 0xc9, 0x4e, 0x17, 0x8b, 0x75, 0x03, 0xf7, 0xeb, 0x25, 0xe8, 0xca, 0x0c, + 0x83, 0x76, 0xef, 0x6b, 0xdd, 0x2f, 0x8a, 0x48, 0x8f, 0xb1, 0x0f, 0x19, 0x29, 0x5a, 0x89, 0x5a, 0xcb, 0xfc, 0x6c, + 0x5b, 0xeb, 0x08, 0x09, 0x33, 0xd1, 0x4b, 0x73, 0xb4, 0x43, 0x22, 0x56, 0x33, 0x13, 0xa1, 0xc1, 0xba, 0x19, 0x79, + 0x57, 0x53, 0xfe, 0xb4, 0x84, 0x0e, 0x8f, 0xb5, 0xae, 0xda, 0xdc, 0xcb, 0x68, 0x3a, 0x23, 0xae, 0xe7, 0x69, 0xea, + 0x9a, 0xd2, 0xd3, 0xa0, 0xc3, 0x9d, 0x14, 0xb1, 0xc5, 0xad, 0xff, 0xc0, 0x4c, 0x8b, 0x42, 0x42, 0x35, 0x94, 0xb9, + 0xbd, 0xae, 0x1e, 0x4b, 0xd5, 0x53, 0xb2, 0xfb, 0x9e, 0xe8, 0x6b, 0xac, 0xd2, 0xbe, 0x46, 0xb2, 0x6a, 0x85, 0xc7, + 0xc6, 0xb8, 0x0e, 0x9e, 0xf5, 0x1b, 0xdc, 0x24, 0x8a, 0x10, 0xc3, 0xb8, 0xf4, 0x0b, 0x1f, 0xe1, 0x5c, 0xe0, 0xf5, + 0x30, 0x6d, 0xdd, 0x0e, 0xa9, 0xa6, 0x20, 0x8e, 0xdd, 0x16, 0xce, 0xd9, 0xad, 0x39, 0x78, 0xe8, 0x8e, 0xa3, 0xbc, + 0x50, 0x8f, 0xf3, 0x0e, 0x85, 0x76, 0x28, 0x69, 0x78, 0x5c, 0xb7, 0xa3, 0xc9, 0x83, 0x23, 0x9a, 0xb8, 0x5d, 0x6e, + 0x7f, 0x26, 0x94, 0x79, 0x1a, 0x20, 0xa2, 0x31, 0xfc, 0xfb, 0x92, 0x3d, 0x19, 0xd3, 0x09, 0x49, 0x64, 0x43, 0x66, + 0x1b, 0x30, 0xf6, 0x90, 0x48, 0x8f, 0xbf, 0x22, 0xf7, 0x6f, 0x8d, 0x82, 0xe3, 0xa5, 0xb8, 0xa1, 0xa4, 0x3f, 0x2c, + 0xc2, 0x4c, 0x27, 0x31, 0x4d, 0x3c, 0x90, 0xc5, 0x55, 0x00, 0x2e, 0xd3, 0xae, 0xb0, 0x40, 0x96, 0x0b, 0x2c, 0x90, + 0xb2, 0xfa, 0x1c, 0x25, 0x91, 0xb8, 0x47, 0x42, 0x76, 0x3a, 0x79, 0x2f, 0x8e, 0x71, 0xc1, 0x73, 0x35, 0x39, 0xba, + 0xe0, 0xc5, 0x4c, 0x10, 0xb5, 0x3b, 0x8d, 0xf4, 0x22, 0x34, 0xef, 0xe5, 0xea, 0x3a, 0xd2, 0xa7, 0xd0, 0x82, 0x0a, + 0xf5, 0x0b, 0x69, 0xbf, 0x7f, 0x9d, 0xc8, 0x80, 0xa3, 0x41, 0x93, 0x0d, 0x3b, 0x24, 0xac, 0x90, 0xd7, 0x2e, 0xbe, + 0x10, 0x3a, 0x22, 0x33, 0x7a, 0x94, 0x61, 0x7a, 0x99, 0x8f, 0xd1, 0xce, 0x5b, 0x39, 0x9a, 0x2e, 0x1c, 0xfc, 0xe7, + 0xb0, 0xb7, 0x40, 0x87, 0xab, 0xe3, 0x22, 0xdd, 0x4f, 0xce, 0x5c, 0xfc, 0x0f, 0xa6, 0xab, 0xae, 0x7d, 0x36, 0x13, + 0x5f, 0xc9, 0x63, 0x44, 0x7d, 0xd5, 0x0b, 0xa7, 0x34, 0x1b, 0xd5, 0x4c, 0x1f, 0x45, 0xe4, 0x79, 0xa8, 0x72, 0x5b, + 0x30, 0x9e, 0xd6, 0x60, 0xf8, 0xe8, 0x28, 0xe1, 0x10, 0x34, 0xc1, 0x99, 0xb9, 0x1f, 0x51, 0x65, 0x64, 0x09, 0xe3, + 0xc6, 0x02, 0xcb, 0x9b, 0xe9, 0x3c, 0x8e, 0x4b, 0xa1, 0xe5, 0x33, 0xc6, 0xdf, 0xdf, 0xa2, 0xcf, 0x4f, 0x85, 0xcd, + 0x12, 0x17, 0x3f, 0xe8, 0xc4, 0x51, 0x2f, 0x5c, 0x69, 0xeb, 0x14, 0xab, 0x52, 0xd9, 0x4d, 0xed, 0x7c, 0x6c, 0x5b, + 0x5e, 0x4a, 0xc6, 0xa7, 0x14, 0xe5, 0x24, 0xd7, 0x14, 0x8a, 0xc1, 0xc0, 0x1b, 0x59, 0xf5, 0xe7, 0x0b, 0x98, 0xc9, + 0x0d, 0x78, 0xa6, 0xaf, 0x63, 0xbd, 0x03, 0x3c, 0xd8, 0x73, 0x0b, 0x33, 0x57, 0x90, 0xc8, 0xe3, 0xf1, 0x1c, 0x8f, + 0x75, 0xc0, 0xf9, 0x83, 0xdc, 0x3b, 0x0a, 0xf8, 0x6e, 0x00, 0x62, 0x76, 0xde, 0x08, 0xf0, 0x0b, 0xec, 0x70, 0xb6, + 0xc4, 0x12, 0x54, 0x29, 0xd4, 0x82, 0x1d, 0x19, 0x7c, 0x96, 0x60, 0x35, 0x13, 0x70, 0x96, 0x20, 0x28, 0xca, 0x62, + 0xbe, 0x20, 0x28, 0x71, 0x14, 0x4a, 0x66, 0x2e, 0x3f, 0x35, 0x9b, 0xa2, 0x28, 0x12, 0xe1, 0xa7, 0x76, 0x70, 0x9e, + 0x11, 0x2e, 0xf1, 0xb5, 0xa2, 0xca, 0x07, 0x06, 0x5f, 0x10, 0x68, 0x80, 0xfe, 0xcd, 0x54, 0x44, 0xfb, 0x73, 0xd2, + 0x28, 0x29, 0xdc, 0xb3, 0xb0, 0x18, 0x67, 0x9d, 0x59, 0xd2, 0x6f, 0xb2, 0xcc, 0x6b, 0xd1, 0xcc, 0xaf, 0x6c, 0xc8, + 0x5a, 0xe7, 0xbb, 0x9f, 0xf7, 0x03, 0xa5, 0x9d, 0xf5, 0xcc, 0x92, 0x7d, 0xb4, 0x67, 0x9a, 0x36, 0x0b, 0x87, 0x9e, + 0xc5, 0xd5, 0x0d, 0x53, 0x10, 0x07, 0x5e, 0x9e, 0x46, 0x2a, 0x03, 0x7f, 0x2a, 0x0a, 0x38, 0x52, 0x4e, 0xf1, 0x5b, + 0x4a, 0x78, 0x37, 0xbf, 0x20, 0x8e, 0xdd, 0x5d, 0xfd, 0x0a, 0x90, 0xb5, 0x85, 0xd5, 0xc1, 0x4d, 0x8e, 0x9b, 0xa8, + 0x21, 0xca, 0xc1, 0xdb, 0x40, 0xbe, 0x34, 0x4f, 0x5a, 0xe2, 0xa8, 0x97, 0x45, 0xab, 0xcf, 0xd3, 0xdc, 0x10, 0xf8, + 0xa9, 0x0b, 0xc7, 0xe3, 0x3c, 0xfa, 0xe6, 0xd0, 0x34, 0xf2, 0x63, 0xd2, 0xf6, 0x80, 0x81, 0xa4, 0x99, 0x68, 0xe3, + 0x23, 0x5b, 0x4e, 0x77, 0x3b, 0x0b, 0xe9, 0x7a, 0x3d, 0x0d, 0xa5, 0xb0, 0x58, 0xb8, 0x70, 0x34, 0x66, 0x9f, 0xd0, + 0xe9, 0xd6, 0x6c, 0x48, 0x74, 0x07, 0xc3, 0x95, 0x18, 0xb9, 0x0e, 0xe3, 0x9c, 0xd9, 0x70, 0x84, 0x95, 0xea, 0xb1, + 0x37, 0x6e, 0x1b, 0x12, 0x3c, 0xa1, 0xe2, 0xc8, 0x03, 0x8f, 0xf0, 0x59, 0x1d, 0x74, 0x78, 0x98, 0x07, 0x2e, 0xf9, + 0x06, 0x73, 0x75, 0x04, 0x03, 0xe5, 0x08, 0x42, 0x11, 0xf9, 0xfe, 0x0e, 0x73, 0xe1, 0xb1, 0x7c, 0x83, 0x99, 0x5a, + 0x79, 0xe1, 0x73, 0xbd, 0xe4, 0x76, 0xc0, 0xf3, 0xf6, 0x13, 0x2f, 0xe9, 0x1a, 0xc1, 0xe1, 0x47, 0x7e, 0xd5, 0x62, + 0xfd, 0x75, 0x1f, 0xf3, 0xe7, 0x41, 0xaa, 0x4b, 0xb8, 0x2a, 0x0c, 0x80, 0x3f, 0xba, 0x32, 0xee, 0x06, 0x0c, 0xeb, + 0x23, 0x44, 0x8d, 0xf0, 0x88, 0xfd, 0xe1, 0xa9, 0x17, 0x00, 0xca, 0x9d, 0x9b, 0x81, 0xc8, 0x42, 0x34, 0x3f, 0x2f, + 0x57, 0xdb, 0xe6, 0x65, 0x68, 0x4b, 0x4b, 0x37, 0x8f, 0x13, 0x49, 0xd8, 0x4c, 0x9c, 0x5a, 0xa8, 0x5e, 0x11, 0x31, + 0x45, 0xcc, 0x02, 0xad, 0x97, 0xf1, 0x7b, 0x7c, 0x67, 0x08, 0xa3, 0x36, 0x6c, 0x84, 0xd7, 0xed, 0x68, 0x6d, 0xf0, + 0x7e, 0xbf, 0xd6, 0x46, 0x21, 0xd8, 0xb7, 0xf4, 0x0b, 0x14, 0x69, 0xd8, 0xd2, 0x8e, 0xff, 0x79, 0xc0, 0x17, 0xfd, + 0x43, 0x08, 0x9b, 0xc4, 0x06, 0x05, 0x85, 0x97, 0xda, 0x64, 0x6f, 0x03, 0x25, 0x4c, 0x62, 0xad, 0xd6, 0x13, 0xf0, + 0xa2, 0x0d, 0x20, 0x15, 0xba, 0x67, 0xcc, 0xaf, 0xc8, 0xe4, 0xf9, 0x13, 0xd2, 0xb2, 0x85, 0x71, 0xca, 0x27, 0xd1, + 0x8e, 0x04, 0x3b, 0x3f, 0x45, 0x91, 0xbc, 0xe2, 0xbb, 0x44, 0x92, 0xaf, 0x4f, 0xbb, 0xf9, 0xcb, 0xdd, 0x83, 0x26, + 0x85, 0x40, 0x07, 0x8f, 0xee, 0x08, 0x19, 0x6a, 0xb5, 0x8c, 0xea, 0xf0, 0x18, 0x8b, 0x4c, 0xcf, 0x1f, 0xce, 0xea, + 0x8b, 0x0c, 0x03, 0x27, 0x96, 0xc0, 0x28, 0x95, 0x5d, 0x6e, 0xd9, 0xd8, 0x9f, 0xf4, 0xde, 0x78, 0x89, 0x52, 0x75, + 0x3c, 0xc7, 0xad, 0x1a, 0xba, 0x43, 0x57, 0xc4, 0x1b, 0x3e, 0xf0, 0xd8, 0xbf, 0xba, 0x31, 0xa8, 0x63, 0x4d, 0x9b, + 0x08, 0x5e, 0x07, 0xfd, 0xcc, 0x14, 0x9c, 0x6c, 0x7c, 0x4a, 0x74, 0x0a, 0x83, 0x04, 0x0a, 0x66, 0x28, 0xf6, 0x99, + 0x96, 0x8f, 0x4b, 0xe9, 0xce, 0x5a, 0x2a, 0xea, 0xd8, 0x38, 0x33, 0xca, 0xfa, 0xe5, 0x72, 0x69, 0xe3, 0x6d, 0x04, + 0xf4, 0x92, 0x7b, 0x79, 0x7f, 0xc5, 0x49, 0xe3, 0x18, 0x91, 0x2c, 0x38, 0x1e, 0x1e, 0xc7, 0x1c, 0xf2, 0xc6, 0xad, + 0x05, 0x1d, 0x26, 0xb4, 0x06, 0x36, 0x3b, 0x67, 0x39, 0xe5, 0x6b, 0x11, 0xce, 0xb2, 0xcb, 0x6f, 0x36, 0x40, 0x04, + 0x84, 0x9e, 0x16, 0x91, 0x04, 0x3e, 0x2b, 0x90, 0x31, 0x47, 0x4e, 0x72, 0x64, 0x79, 0xad, 0xe4, 0x11, 0x48, 0x26, + 0x46, 0x8a, 0xb7, 0xe1, 0xa6, 0x9f, 0xa2, 0x4b, 0x76, 0xb0, 0x51, 0x37, 0x08, 0xa2, 0x04, 0x3b, 0xc0, 0x5f, 0xf8, + 0xf3, 0xa1, 0xef, 0xfc, 0xe9, 0xb7, 0x5b, 0x87, 0xff, 0x27, 0xb8, 0xb4, 0x8f, 0x18, 0x3b, 0xfd, 0x25, 0x56, 0x7d, + 0xf5, 0x7f, 0x73, 0xd7, 0xd0, 0x3a, 0xf0, 0xe1, 0x03, 0x17, 0x1e, 0x7f, 0x1b, 0x96, 0xd0, 0x6a, 0x6b, 0x77, 0x58, + 0x52, 0x88, 0x13, 0xe5, 0xc4, 0x8e, 0xea, 0x3d, 0x8a, 0xf6, 0xc5, 0xd3, 0xfb, 0x23, 0x01, 0xac, 0xbf, 0x7f, 0xe3, + 0x51, 0x69, 0xa4, 0xbb, 0x5f, 0x82, 0x4c, 0x6c, 0xad, 0x4d, 0x90, 0xab, 0xd4, 0x7e, 0x7e, 0xee, 0x5b, 0xeb, 0xa8, + 0xa5, 0xab, 0x6c, 0x70, 0x7f, 0xd1, 0x55, 0x7b, 0xb0, 0xc9, 0xf2, 0x61, 0xbb, 0xb9, 0xb5, 0x4f, 0x2b, 0x57, 0x19, + 0xe1, 0x43, 0x01, 0x02, 0xec, 0x54, 0x99, 0x9c, 0x3c, 0xe3, 0xb7, 0x52, 0xf0, 0x8e, 0xa5, 0x9e, 0xf6, 0x37, 0x9b, + 0xe0, 0xef, 0x0d, 0x6b, 0xbb, 0xab, 0x47, 0xeb, 0x03, 0x08, 0xca, 0xa5, 0xd7, 0x50, 0xc1, 0x21, 0xc4, 0x4b, 0x0a, + 0x12, 0x72, 0x18, 0xce, 0x5c, 0x74, 0x92, 0x43, 0x4c, 0x1b, 0x31, 0xac, 0xab, 0xb4, 0x55, 0x71, 0xe2, 0xb5, 0x3c, + 0xb0, 0x5b, 0x18, 0xb7, 0x60, 0x61, 0x58, 0x64, 0x30, 0xf2, 0x0c, 0xec, 0x70, 0x2e, 0x1e, 0x7a, 0x35, 0x0b, 0x5e, + 0x90, 0x26, 0x5c, 0x96, 0xfa, 0x7d, 0xb0, 0x38, 0x66, 0xf5, 0x55, 0x0b, 0x7e, 0xcd, 0xc1, 0xa9, 0x29, 0x6a, 0x43, + 0x7e, 0xb5, 0x6f, 0x66, 0x84, 0xcb, 0x0b, 0xb9, 0xc7, 0x42, 0x10, 0x2a, 0xdb, 0xb8, 0x65, 0xd2, 0xc1, 0xc9, 0x50, + 0xdf, 0xa7, 0x0d, 0x61, 0x84, 0x17, 0x04, 0x32, 0x4d, 0x51, 0xca, 0xf0, 0x5b, 0xb8, 0xaf, 0x1d, 0xca, 0x06, 0xb9, + 0x99, 0x0e, 0x23, 0xe1, 0x8a, 0xec, 0x38, 0xf0, 0x2c, 0xcd, 0xa7, 0x6a, 0x7f, 0x6c, 0x5d, 0x07, 0xfd, 0xce, 0x25, + 0x44, 0xed, 0x91, 0x9a, 0xf1, 0x31, 0x9b, 0x76, 0x0a, 0xfe, 0xe6, 0x73, 0x29, 0x36, 0x10, 0x1f, 0x69, 0xb9, 0x4b, + 0xa9, 0x89, 0x63, 0xb9, 0xb4, 0xca, 0x38, 0xd4, 0xd0, 0x29, 0x0b, 0x6d, 0x23, 0x97, 0x19, 0x44, 0xda, 0x2e, 0x4e, + 0x49, 0x95, 0x49, 0x1e, 0x8b, 0x13, 0x62, 0xc8, 0x42, 0xbf, 0xc0, 0xda, 0xfe, 0x72, 0xf3, 0x4b, 0x32, 0x54, 0x21, + 0x76, 0xee, 0x10, 0xfa, 0xb0, 0xc0, 0xe6, 0xa5, 0xb4, 0x14, 0x46, 0x15, 0xa6, 0xae, 0xda, 0xea, 0xb9, 0xa5, 0x6d, + 0x48, 0x32, 0x90, 0xcc, 0xb2, 0x84, 0x8f, 0xb2, 0x81, 0x41, 0x8e, 0xff, 0x6d, 0x00, 0xd9, 0xf6, 0x20, 0xd8, 0xde, + 0x32, 0x65, 0xa9, 0xef, 0x2d, 0x7e, 0x9a, 0x84, 0x4f, 0x4c, 0x08, 0x5c, 0x06, 0x5c, 0x75, 0xfe, 0x6c, 0x76, 0x8d, + 0xff, 0x10, 0x06, 0xfe, 0x1b, 0x6e, 0xf4, 0x0d, 0xbe, 0x4a, 0x3f, 0x77, 0xc9, 0xfd, 0xc8, 0xfb, 0x91, 0x3c, 0xdb, + 0x96, 0xc6, 0x4f, 0x5c, 0xac, 0x78, 0x53, 0x7e, 0x0a, 0x7f, 0x33, 0x9a, 0xef, 0xcb, 0xfa, 0xce, 0xb6, 0xd3, 0x47, + 0x60, 0x33, 0xd8, 0x23, 0x3b, 0x74, 0xd7, 0x47, 0xa3, 0x54, 0xcc, 0x1c, 0xf1, 0xed, 0xc3, 0x9f, 0xdb, 0xda, 0x2f, + 0xce, 0x86, 0xe8, 0x3a, 0x30, 0x85, 0xd3, 0xd7, 0x01, 0xca, 0x0e, 0x59, 0x62, 0xda, 0x81, 0x4a, 0x14, 0x1d, 0x74, + 0x66, 0x5d, 0x0a, 0xb0, 0x7c, 0xe3, 0xe8, 0x67, 0x0d, 0xae, 0x95, 0xa4, 0xc3, 0x50, 0x6b, 0x11, 0x9f, 0x4d, 0xa7, + 0xf7, 0xa3, 0x58, 0x51, 0xc0, 0x02, 0xe6, 0xeb, 0x04, 0x76, 0x91, 0xde, 0xbc, 0x3c, 0x92, 0xe0, 0x9c, 0x70, 0x38, + 0x72, 0x81, 0x00, 0x2a, 0xb4, 0x5d, 0x48, 0x13, 0x7e, 0x9d, 0x3b, 0xba, 0xb6, 0x9f, 0x90, 0x5a, 0xb2, 0x1c, 0xe8, + 0xa5, 0xfa, 0xbf, 0xee, 0xee, 0x7e, 0x51, 0x1e, 0x2f, 0xec, 0xed, 0x89, 0x70, 0xcb, 0xb3, 0xaf, 0xac, 0xb0, 0xea, + 0x15, 0xf7, 0xfb, 0x24, 0x13, 0xad, 0xdd, 0x5c, 0x1f, 0xac, 0x4e, 0xd4, 0x2a, 0x78, 0xe8, 0xab, 0xf4, 0x3f, 0x33, + 0xbd, 0xdc, 0x73, 0x53, 0x1e, 0x4a, 0x84, 0x03, 0x5f, 0x34, 0x34, 0x3e, 0x43, 0x35, 0x44, 0xf1, 0x58, 0x0d, 0x38, + 0x8c, 0x49, 0x73, 0xdc, 0x27, 0x58, 0xc9, 0xd4, 0x89, 0x51, 0xb5, 0x11, 0x05, 0x24, 0x98, 0x82, 0xce, 0xa5, 0x2d, + 0xa1, 0x40, 0x05, 0xcd, 0xa2, 0x84, 0x46, 0xdf, 0xf3, 0x61, 0x45, 0x1a, 0x1d, 0xdc, 0x13, 0xc8, 0x08, 0x82, 0xca, + 0xb2, 0xf9, 0xcd, 0x76, 0x35, 0x8a, 0xc2, 0xa9, 0xef, 0x13, 0x0a, 0xca, 0x7f, 0x9c, 0xf9, 0xd2, 0x66, 0xc7, 0xdd, + 0xa3, 0x81, 0x50, 0x54, 0xeb, 0x12, 0x2f, 0x5b, 0x6d, 0xe4, 0x26, 0x37, 0x45, 0xa4, 0x09, 0xc4, 0x1e, 0xfe, 0x04, + 0x4d, 0x52, 0xc4, 0x74, 0x11, 0x37, 0x97, 0xe6, 0xe2, 0xe0, 0x4a, 0xe9, 0xea, 0x81, 0xdb, 0xd0, 0xc8, 0xab, 0x89, + 0x5e, 0xed, 0xe2, 0x0f, 0x02, 0xd1, 0x09, 0x4b, 0x26, 0xf2, 0x8a, 0x81, 0x48, 0x82, 0x81, 0x02, 0x45, 0xdb, 0x82, + 0x29, 0x0a, 0xbd, 0x6e, 0xeb, 0xc5, 0x71, 0x7e, 0x21, 0x53, 0x11, 0x64, 0x2a, 0x6d, 0x6e, 0x80, 0xab, 0x9f, 0xb6, + 0xec, 0x07, 0x1a, 0xff, 0x93, 0x9c, 0x70, 0xd3, 0x43, 0xcf, 0x42, 0x7c, 0xea, 0x3e, 0xb6, 0xde, 0x55, 0xa0, 0x30, + 0xbd, 0x78, 0x11, 0x2d, 0x90, 0xa2, 0x6e, 0xcc, 0x89, 0x25, 0x9f, 0xab, 0x16, 0xdf, 0x57, 0xe5, 0x97, 0x54, 0x50, + 0x43, 0x40, 0x98, 0x09, 0x20, 0x2b, 0xb1, 0x92, 0xcd, 0x2b, 0x72, 0xee, 0x4b, 0xb6, 0x61, 0x27, 0x78, 0x53, 0x6b, + 0x6e, 0x77, 0x46, 0x8c, 0xe0, 0xfd, 0x10, 0x01, 0x21, 0xaa, 0x15, 0x99, 0x25, 0xbf, 0x2a, 0x45, 0x9b, 0x01, 0x0f, + 0xa1, 0x20, 0x2c, 0xce, 0x5e, 0x21, 0xf3, 0x58, 0x2c, 0xf4, 0x03, 0x72, 0x8d, 0xb8, 0x87, 0x43, 0x04, 0x60, 0xd8, + 0xef, 0xee, 0x11, 0x31, 0xd2, 0xe1, 0xc2, 0x44, 0x0c, 0x03, 0x48, 0xd8, 0x06, 0x2e, 0xb3, 0xf3, 0xf1, 0xbe, 0x7b, + 0xff, 0xc7, 0x18, 0xce, 0x0d, 0xd6, 0x4a, 0xb8, 0x75, 0x74, 0xd5, 0x09, 0xf2, 0xf2, 0x3e, 0xe2, 0xd3, 0xdc, 0x8e, + 0xa8, 0x97, 0x03, 0x51, 0x69, 0x35, 0x9e, 0x6d, 0x84, 0x87, 0x65, 0x0a, 0x8f, 0x7d, 0x2e, 0x28, 0x9d, 0x79, 0x09, + 0x2e, 0x01, 0xd5, 0x07, 0x19, 0x5f, 0x79, 0x23, 0xd1, 0xab, 0xcc, 0xc6, 0x9f, 0xc7, 0xf3, 0x3d, 0x6c, 0xd3, 0x45, + 0x1b, 0xd7, 0xd3, 0xe9, 0x1d, 0x4a, 0x32, 0xc1, 0xb4, 0xbb, 0x49, 0x36, 0xec, 0xfa, 0x89, 0xc9, 0x37, 0x2a, 0xe2, + 0x06, 0xa4, 0xf6, 0xdd, 0x38, 0xd0, 0x54, 0xb0, 0xde, 0x7c, 0x4a, 0xa2, 0x81, 0xe9, 0x11, 0xc9, 0xdc, 0xac, 0xd7, + 0xf6, 0x66, 0x0d, 0x01, 0x20, 0x05, 0x8b, 0x96, 0xe0, 0xbd, 0x2b, 0x67, 0x4d, 0x93, 0x12, 0x5b, 0x00, 0x31, 0xdd, + 0x40, 0xe2, 0x38, 0xa2, 0x5a, 0xe3, 0xee, 0x9b, 0xa5, 0x87, 0xf7, 0x3b, 0x62, 0xf7, 0xee, 0x48, 0x6a, 0x7a, 0xe5, + 0x84, 0xed, 0xde, 0x91, 0x53, 0xa3, 0x1c, 0x1f, 0xd5, 0xb3, 0x1b, 0xb6, 0xb4, 0x8e, 0xe5, 0xc9, 0x8c, 0x1e, 0x05, + 0xbe, 0x64, 0xde, 0xbb, 0x7a, 0x50, 0x92, 0x70, 0xf6, 0x0b, 0x01, 0xe2, 0x68, 0xfd, 0x4b, 0xad, 0xd2, 0xa5, 0xe6, + 0x94, 0xfb, 0xbd, 0x0d, 0xfb, 0xaa, 0xb0, 0x72, 0x49, 0x2d, 0x7a, 0x39, 0x99, 0xaa, 0x9e, 0xca, 0xd7, 0x5e, 0xcb, + 0x35, 0xce, 0x86, 0x1a, 0xda, 0x43, 0xef, 0x35, 0x4d, 0xd5, 0xb2, 0x15, 0xce, 0xa2, 0x98, 0xb6, 0x77, 0xd1, 0x9d, + 0x42, 0x63, 0x1f, 0x39, 0x91, 0x38, 0x61, 0x6e, 0xfd, 0x55, 0x1e, 0x89, 0x1d, 0x1e, 0xc1, 0x16, 0xbe, 0x91, 0x74, + 0x48, 0xca, 0x41, 0xc7, 0x09, 0xb8, 0xad, 0x0c, 0x4f, 0x33, 0x10, 0xb1, 0x5a, 0x44, 0x9a, 0xcc, 0x00, 0xc6, 0x31, + 0x45, 0x5c, 0xab, 0x60, 0xa8, 0x41, 0x72, 0xae, 0x06, 0xc1, 0x4c, 0xc7, 0x82, 0x9d, 0xf9, 0x28, 0x3f, 0x41, 0x5b, + 0x1b, 0xb3, 0xb0, 0xd0, 0xb3, 0x31, 0x35, 0xbb, 0x29, 0x01, 0xac, 0x11, 0x74, 0x7b, 0x49, 0x77, 0xcf, 0x0d, 0xc2, + 0xfb, 0xe5, 0xc8, 0xe5, 0x8c, 0xc1, 0x7a, 0xec, 0xa3, 0x6c, 0x71, 0xea, 0xc1, 0x83, 0x00, 0x33, 0x82, 0xc3, 0x56, + 0xb9, 0x81, 0xf6, 0x6c, 0xe8, 0x3f, 0xf0, 0x4d, 0x34, 0xfb, 0xa2, 0xc6, 0x82, 0x83, 0x33, 0xeb, 0xb3, 0x78, 0x57, + 0xc5, 0x04, 0x59, 0xc4, 0x90, 0x24, 0x67, 0x4d, 0x31, 0x37, 0xeb, 0x62, 0x3d, 0x83, 0x40, 0xb0, 0x7c, 0x85, 0xc9, + 0x00, 0xe1, 0x60, 0x76, 0xa3, 0x21, 0x26, 0xd6, 0x93, 0x77, 0xfd, 0x08, 0x80, 0xc0, 0x00, 0xdc, 0xc5, 0xb9, 0xd0, + 0x26, 0x3a, 0x80, 0x22, 0xbf, 0x07, 0x07, 0x40, 0x12, 0x98, 0xa1, 0x48, 0x50, 0xd0, 0xab, 0xd6, 0xbe, 0xe6, 0xc5, + 0x18, 0x0a, 0x2d, 0x24, 0x04, 0xc1, 0x56, 0xee, 0x92, 0x35, 0x2a, 0xb3, 0x75, 0xd0, 0x90, 0xf0, 0xed, 0x59, 0x51, + 0x49, 0x8a, 0x90, 0x5f, 0xe7, 0x81, 0xf4, 0x4f, 0x07, 0x34, 0xf6, 0x1c, 0x25, 0xa7, 0x9b, 0x4c, 0xcc, 0x1a, 0xe2, + 0xe5, 0x69, 0x3d, 0x5b, 0x84, 0x62, 0x0f, 0xdd, 0xa0, 0xcc, 0xc9, 0xd8, 0x89, 0x2f, 0xa8, 0x11, 0x49, 0xfd, 0xe3, + 0x14, 0xd5, 0x83, 0x7a, 0x14, 0x23, 0x93, 0x71, 0x3d, 0xa1, 0x96, 0xaf, 0xb5, 0x1b, 0x81, 0x36, 0x29, 0xcf, 0xb8, + 0xc9, 0xd8, 0x52, 0xbf, 0x54, 0xa8, 0x65, 0xa7, 0xa6, 0x14, 0xec, 0xe4, 0x3c, 0x2f, 0x38, 0x7a, 0x2a, 0x76, 0xc2, + 0x38, 0x08, 0xf6, 0xa7, 0xd3, 0x6e, 0x8d, 0xf7, 0x7c, 0x82, 0x78, 0xbc, 0xea, 0xdc, 0x3e, 0x64, 0x6a, 0xd5, 0xd4, + 0x14, 0x68, 0xc6, 0xd3, 0xf4, 0xfe, 0x3f, 0x80, 0x3e, 0x0f, 0xc1, 0x9e, 0xe9, 0xa3, 0x10, 0xb7, 0x83, 0x18, 0x7f, + 0xd0, 0xc2, 0x4f, 0xf8, 0x1a, 0x25, 0x5c, 0xff, 0x2d, 0x09, 0xd0, 0xf1, 0x83, 0x56, 0x82, 0x2d, 0x49, 0x9c, 0xce, + 0x45, 0xaa, 0x3b, 0xc7, 0x0c, 0xab, 0x20, 0x17, 0x44, 0x8e, 0xe7, 0x3a, 0x8d, 0xca, 0x42, 0x96, 0x22, 0xe1, 0xc6, + 0x2f, 0x7e, 0xcd, 0x96, 0x0a, 0x3f, 0x06, 0x0e, 0x02, 0x51, 0x01, 0x24, 0xec, 0xa7, 0x97, 0xda, 0x73, 0x66, 0xe7, + 0x01, 0x43, 0x16, 0x48, 0x4b, 0x1d, 0xfb, 0x0a, 0x9d, 0x04, 0x00, 0x44, 0xc7, 0xc4, 0x18, 0xc8, 0xab, 0x1d, 0x55, + 0x7f, 0x80, 0x43, 0xef, 0xa4, 0x63, 0x6d, 0xee, 0x26, 0x10, 0x45, 0x08, 0x08, 0x90, 0x58, 0x1b, 0x0a, 0x22, 0x6b, + 0x39, 0x88, 0xa0, 0x4a, 0xec, 0x04, 0x8e, 0xd2, 0x66, 0xc1, 0x8d, 0x78, 0x44, 0x1a, 0x01, 0xf4, 0x0a, 0x2e, 0xc4, + 0x8c, 0xc0, 0x28, 0xcb, 0x48, 0xe3, 0x17, 0x58, 0x68, 0x5c, 0x04, 0xc1, 0xe7, 0x94, 0xb5, 0xde, 0x83, 0x78, 0x3e, + 0xb7, 0x8a, 0xe6, 0x63, 0x42, 0x88, 0x35, 0x00, 0x6b, 0x28, 0xf3, 0xdf, 0xb2, 0x18, 0x30, 0x1a, 0x28, 0xd9, 0xde, + 0xe3, 0xcc, 0x54, 0x2f, 0x2d, 0x57, 0x55, 0x98, 0x32, 0x8f, 0xc8, 0xa5, 0xf3, 0xae, 0x3f, 0x85, 0xf5, 0xa2, 0x76, + 0x41, 0xd3, 0x84, 0xc7, 0xea, 0xa5, 0x7a, 0xd6, 0xc8, 0x0d, 0xc5, 0x7f, 0x52, 0x9a, 0x1b, 0xe3, 0xa8, 0xfc, 0x62, + 0x5a, 0xf5, 0xc9, 0xe8, 0xb0, 0xde, 0x45, 0x76, 0xa7, 0xa2, 0x02, 0xe0, 0xb4, 0x5b, 0x61, 0x9c, 0xd3, 0x2b, 0x7f, + 0xb5, 0xc3, 0x47, 0xab, 0xcc, 0xdc, 0xa2, 0x2e, 0xb3, 0x86, 0x82, 0xf2, 0xd1, 0x54, 0x7e, 0x87, 0xab, 0xbb, 0x3c, + 0x61, 0xf4, 0xa9, 0x2c, 0x8a, 0x53, 0x77, 0x0f, 0x47, 0xfe, 0x75, 0xd8, 0x12, 0x62, 0xa7, 0xba, 0xf5, 0x17, 0x17, + 0x1e, 0x4c, 0x7d, 0xe2, 0x15, 0x6e, 0xdc, 0x42, 0x9f, 0xb1, 0xd7, 0x8c, 0xa1, 0x13, 0x02, 0xc0, 0x3b, 0x4b, 0x14, + 0x65, 0x41, 0xf8, 0xf7, 0x47, 0x9b, 0xa7, 0x45, 0x34, 0x4f, 0xfa, 0x36, 0xde, 0x4e, 0x40, 0x53, 0x60, 0x83, 0x75, + 0x20, 0x30, 0x1f, 0xd0, 0xbf, 0x19, 0x6c, 0xa3, 0xc6, 0xf7, 0xad, 0x2e, 0x8a, 0x10, 0x5b, 0x18, 0x7c, 0x69, 0xfd, + 0xa5, 0x20, 0xb2, 0x3e, 0xa9, 0x01, 0x6d, 0x3f, 0x4d, 0xd6, 0x5d, 0x61, 0x28, 0x79, 0xda, 0xad, 0x87, 0x11, 0x3b, + 0x68, 0x96, 0xf4, 0x86, 0xc9, 0x1f, 0xd2, 0x41, 0xe1, 0x26, 0x26, 0x8b, 0x44, 0xf9, 0xbb, 0x1f, 0x53, 0x92, 0xdc, + 0xf5, 0x0e, 0x67, 0x29, 0xea, 0x2a, 0x4c, 0xfd, 0x59, 0x79, 0xbf, 0x52, 0xff, 0x96, 0xde, 0xd8, 0x42, 0xc3, 0x91, + 0xb5, 0x20, 0x91, 0xd3, 0x30, 0xe4, 0x5a, 0x1d, 0xce, 0x9c, 0xb8, 0xb5, 0xce, 0x76, 0x84, 0x04, 0x1e, 0x96, 0x9c, + 0x25, 0x4c, 0xd5, 0x9b, 0x5a, 0x10, 0x1c, 0x26, 0x82, 0xc2, 0x74, 0x51, 0x9c, 0x22, 0x61, 0xf1, 0x66, 0x87, 0x16, + 0xa7, 0xcb, 0x60, 0xe7, 0xab, 0xfd, 0x44, 0x85, 0x67, 0x6c, 0x16, 0x0b, 0x50, 0x2d, 0xa2, 0xfc, 0x78, 0x31, 0xc0, + 0xee, 0x9f, 0xf0, 0xb1, 0x74, 0x12, 0xb6, 0x1e, 0x74, 0x4d, 0x6a, 0xb9, 0x54, 0x6a, 0x54, 0x5b, 0xc6, 0x35, 0xd7, + 0x50, 0x71, 0xed, 0xf0, 0xd0, 0x76, 0xf8, 0xee, 0x83, 0xf7, 0x45, 0xe2, 0x19, 0x4c, 0xe5, 0x91, 0x43, 0x10, 0x2d, + 0x6e, 0x59, 0xb7, 0x3e, 0x0c, 0x35, 0x97, 0xa7, 0xb0, 0x8f, 0x86, 0x72, 0xba, 0x88, 0x97, 0x24, 0xdf, 0x41, 0x1d, + 0x48, 0x0f, 0x1d, 0x26, 0x7a, 0x7b, 0x5f, 0x35, 0xeb, 0x0e, 0x34, 0xdf, 0xf4, 0x88, 0x40, 0x9b, 0xbb, 0x6a, 0x31, + 0xaf, 0x98, 0xba, 0x44, 0xb7, 0xa4, 0x96, 0x20, 0xee, 0xba, 0x3c, 0x6e, 0x2d, 0x5f, 0x02, 0x29, 0xa5, 0x84, 0x43, + 0xcb, 0xa5, 0xe6, 0xae, 0xf7, 0x1d, 0x87, 0x84, 0xad, 0xd0, 0x92, 0x75, 0xeb, 0x70, 0x1b, 0x6b, 0xfd, 0x29, 0x30, + 0xa9, 0x7f, 0x69, 0x45, 0x38, 0x78, 0x75, 0xc1, 0xba, 0x2d, 0x3e, 0x78, 0x61, 0x5d, 0x83, 0xae, 0x3d, 0xac, 0x44, + 0x87, 0x1d, 0x56, 0xa1, 0xd5, 0x66, 0x2d, 0x71, 0xb5, 0x12, 0xe3, 0x1b, 0xfa, 0xc3, 0x05, 0x27, 0x96, 0x9d, 0x65, + 0x48, 0xe3, 0x91, 0x93, 0xde, 0x8a, 0x3c, 0x55, 0x64, 0xbf, 0x62, 0x46, 0xc5, 0x4f, 0xd7, 0x91, 0xd6, 0x0b, 0x38, + 0x23, 0x94, 0xbd, 0xfc, 0x80, 0x8d, 0x63, 0x0e, 0xb6, 0x65, 0xd6, 0xde, 0xbb, 0x90, 0x56, 0x62, 0x87, 0x08, 0x5e, + 0x71, 0x17, 0xc3, 0x03, 0xcd, 0x0a, 0xc8, 0x98, 0x82, 0x98, 0x50, 0xf0, 0xf7, 0xba, 0x22, 0x64, 0xec, 0xf0, 0xa4, + 0x73, 0x6c, 0xd9, 0xf1, 0x09, 0x0a, 0x70, 0x64, 0x19, 0x18, 0x8f, 0x51, 0xa5, 0xa2, 0x3d, 0x9d, 0xe1, 0x18, 0xd5, + 0x2c, 0xad, 0x98, 0x5f, 0xc5, 0x02, 0x59, 0x01, 0xbb, 0x71, 0xd6, 0xb2, 0xd7, 0x16, 0xb9, 0x44, 0xf1, 0x86, 0xec, + 0x4e, 0x15, 0x99, 0x85, 0xb1, 0x4e, 0x95, 0x2c, 0xb0, 0xf4, 0xb8, 0x26, 0x94, 0xf1, 0x3f, 0x4d, 0x09, 0xca, 0xb7, + 0xfb, 0x9a, 0x4e, 0x2a, 0x34, 0x0a, 0xd7, 0x64, 0x7d, 0x9a, 0x5f, 0xd1, 0x13, 0xb9, 0xc0, 0xba, 0x24, 0x09, 0xe3, + 0x06, 0x31, 0xaa, 0xda, 0x84, 0x80, 0x6e, 0x08, 0xc5, 0x9b, 0x82, 0xd0, 0x94, 0x21, 0xb4, 0x9c, 0xe4, 0xa8, 0x1e, + 0x70, 0x96, 0xc8, 0xcd, 0xc1, 0x6b, 0x04, 0x57, 0xd1, 0x0e, 0x52, 0x54, 0x61, 0xb8, 0x8b, 0x6a, 0x90, 0xe6, 0xda, + 0x23, 0xa5, 0xe0, 0xaf, 0x09, 0xd0, 0x01, 0x08, 0xc3, 0xca, 0xdf, 0xdc, 0xa8, 0xe0, 0x15, 0xca, 0x4a, 0xe9, 0x54, + 0x73, 0x98, 0x26, 0xa6, 0xa5, 0x53, 0x46, 0x3a, 0xe1, 0x07, 0xaf, 0x11, 0xe7, 0x82, 0xa0, 0xb6, 0xab, 0xc5, 0x6a, + 0x30, 0x4c, 0xea, 0xa4, 0x2b, 0x40, 0x3e, 0x6a, 0x1a, 0x4c, 0x68, 0xb7, 0x94, 0xe8, 0x45, 0xd8, 0x2b, 0xb0, 0x9c, + 0x76, 0xb3, 0x5d, 0x03, 0x88, 0xd5, 0x5a, 0xd8, 0x41, 0x06, 0xc6, 0x32, 0xfe, 0x08, 0xc8, 0x03, 0x9f, 0x3e, 0x2f, + 0xad, 0x78, 0x64, 0xbd, 0x72, 0xf8, 0xe1, 0xe3, 0xaf, 0x29, 0x18, 0x2c, 0x15, 0x0d, 0x39, 0xbd, 0xd7, 0xe7, 0xf4, + 0x9d, 0x6c, 0x30, 0xd6, 0xa2, 0x73, 0x10, 0xf9, 0x2e, 0xb4, 0x23, 0xdd, 0x95, 0x75, 0x99, 0x91, 0xed, 0xeb, 0x81, + 0x2c, 0xf4, 0x5c, 0x5f, 0x8a, 0x20, 0xd5, 0x82, 0xc2, 0xdf, 0x01, 0x8a, 0x4b, 0x43, 0x28, 0x0d, 0xe5, 0xa0, 0x8c, + 0x14, 0x8e, 0x32, 0x19, 0xee, 0x34, 0x90, 0x02, 0x32, 0x22, 0x10, 0xcc, 0x99, 0x65, 0xed, 0x2d, 0x16, 0xd8, 0x92, + 0x9d, 0xa9, 0x5b, 0xb5, 0x6b, 0x4c, 0x98, 0x97, 0x39, 0x34, 0x7a, 0xe0, 0xd4, 0x96, 0xd3, 0xa3, 0x68, 0xa9, 0x9e, + 0x4e, 0x86, 0xa2, 0x99, 0x95, 0xa4, 0xb3, 0x97, 0xcf, 0xab, 0x86, 0x56, 0x92, 0x7e, 0x67, 0xa1, 0x06, 0xa4, 0x38, + 0x81, 0x3f, 0xbe, 0x08, 0x21, 0x5f, 0x72, 0x1f, 0xee, 0xe9, 0x2f, 0x3b, 0x0b, 0x4e, 0x2f, 0x51, 0x83, 0x9a, 0xbf, + 0x2c, 0x9c, 0xe9, 0x8d, 0x29, 0x1d, 0x94, 0x38, 0x16, 0x84, 0x3d, 0xbc, 0x97, 0xbe, 0xa8, 0x46, 0xdb, 0x45, 0x45, + 0xc1, 0x74, 0x00, 0xa8, 0x68, 0x1a, 0x0e, 0x1d, 0xd7, 0x9a, 0xa4, 0xac, 0xa4, 0xe2, 0xda, 0xcd, 0x15, 0x9f, 0x3e, + 0x76, 0x8c, 0xd4, 0xba, 0x03, 0x93, 0x78, 0x00, 0xcb, 0x3f, 0x07, 0xde, 0x8f, 0x09, 0x20, 0x5c, 0x4a, 0x79, 0x7e, + 0x71, 0x36, 0xe8, 0xf1, 0xdb, 0xad, 0xb8, 0x17, 0xde, 0xab, 0x8e, 0x31, 0x22, 0x66, 0x0b, 0x21, 0x79, 0xc8, 0x96, + 0x48, 0x6c, 0x36, 0x37, 0x4e, 0xba, 0xdb, 0x1c, 0x75, 0x78, 0x7f, 0xf0, 0x7a, 0xc9, 0x3b, 0x76, 0xa7, 0x69, 0xf0, + 0x41, 0xab, 0x53, 0x23, 0xad, 0xe9, 0x3f, 0xf8, 0xb7, 0x72, 0x91, 0x4e, 0xea, 0x1a, 0x90, 0xe8, 0x7c, 0x09, 0x09, + 0xf6, 0x07, 0x49, 0x91, 0x15, 0x5d, 0x2a, 0x65, 0x1b, 0x15, 0xeb, 0x97, 0x66, 0x39, 0x0b, 0xd7, 0x9b, 0x92, 0x7e, + 0xd9, 0xa5, 0x9b, 0x9c, 0x81, 0x75, 0xc1, 0xaa, 0xec, 0x39, 0xc7, 0xe2, 0x19, 0x32, 0xb1, 0xb0, 0xd7, 0x25, 0xca, + 0x52, 0x17, 0x36, 0x90, 0x64, 0xc7, 0xf0, 0x96, 0xf1, 0xe8, 0x4f, 0x9b, 0xc3, 0xbb, 0x9f, 0xf6, 0xed, 0x83, 0xfc, + 0x79, 0x1d, 0xed, 0x0c, 0x0a, 0x71, 0x29, 0xe9, 0xc2, 0xc3, 0x45, 0x0d, 0x2e, 0x09, 0x2d, 0xbc, 0x2d, 0x21, 0x2e, + 0x1e, 0xc3, 0x79, 0xfb, 0x0e, 0x41, 0xad, 0xac, 0xd8, 0xde, 0x71, 0xc4, 0x42, 0x3a, 0xeb, 0x95, 0x00, 0xfa, 0x2d, + 0x95, 0xb5, 0xb8, 0x23, 0xa7, 0x05, 0x94, 0x44, 0xca, 0x2e, 0xd1, 0xd3, 0xd1, 0xa9, 0xad, 0x3d, 0x9b, 0x0f, 0x6b, + 0x4b, 0xd1, 0x36, 0x12, 0x55, 0x9c, 0x43, 0x1c, 0xa3, 0x61, 0x68, 0x73, 0x6d, 0x6d, 0x8b, 0x3a, 0xcc, 0x50, 0x1d, + 0x6b, 0x08, 0x9b, 0x6e, 0x29, 0xe6, 0x5f, 0xaa, 0x1d, 0x97, 0x6e, 0x0d, 0x86, 0x09, 0xc9, 0x83, 0xa0, 0x4c, 0xc2, + 0xa5, 0xbc, 0xbd, 0xf0, 0x21, 0xdd, 0xd7, 0xeb, 0x77, 0x28, 0xff, 0x6e, 0x41, 0x5b, 0x8b, 0x6f, 0x9a, 0xff, 0x20, + 0xff, 0x2f, 0x1b, 0x30, 0x34, 0xe6, 0xf1, 0xe1, 0x58, 0xd2, 0x46, 0x19, 0x2d, 0xe5, 0x14, 0x1e, 0x3b, 0xd3, 0xf4, + 0x12, 0x4b, 0x87, 0x70, 0x77, 0x27, 0x99, 0x05, 0x87, 0x2d, 0x9b, 0x03, 0x24, 0x28, 0xc1, 0xe4, 0xcd, 0xc5, 0x68, + 0xd3, 0x63, 0xba, 0xc2, 0xe1, 0xbb, 0x15, 0x49, 0x36, 0x7b, 0x8d, 0x8b, 0x18, 0x20, 0x3d, 0x57, 0x30, 0x81, 0x02, + 0xfe, 0x30, 0x43, 0x51, 0x77, 0xe3, 0x5a, 0x4a, 0x31, 0x65, 0x8d, 0x20, 0x98, 0xe5, 0x2d, 0x9e, 0x63, 0xc8, 0xb4, + 0xad, 0x9e, 0xbb, 0x4f, 0x7a, 0xc0, 0x80, 0x13, 0x39, 0xfb, 0xd5, 0x62, 0x43, 0xa8, 0x6a, 0xdd, 0xae, 0xbd, 0x26, + 0xba, 0x42, 0x24, 0x7a, 0x72, 0xd2, 0x69, 0x40, 0x6c, 0x8b, 0x30, 0xe4, 0x50, 0xc8, 0xf8, 0xb8, 0x15, 0x39, 0x93, + 0xf0, 0x19, 0xdf, 0xb2, 0x4b, 0x16, 0x77, 0xa2, 0x99, 0x63, 0xc8, 0x67, 0x26, 0x41, 0xc4, 0xe8, 0x5a, 0x2a, 0xe7, + 0x84, 0x14, 0x5d, 0xa9, 0x47, 0xdf, 0x0f, 0xc8, 0xd2, 0x48, 0x82, 0x38, 0x3a, 0x55, 0x63, 0x9e, 0xff, 0x9d, 0x59, + 0x44, 0x67, 0xf0, 0x0f, 0xe3, 0xcc, 0xb3, 0xaf, 0x88, 0x7d, 0x96, 0x70, 0x32, 0xe9, 0xd5, 0xd6, 0x7a, 0x18, 0x44, + 0x20, 0xe0, 0xf3, 0xdd, 0xe8, 0xcd, 0x46, 0x5b, 0x37, 0x68, 0xbc, 0xa3, 0x79, 0x3a, 0xec, 0xcf, 0xc8, 0xdd, 0xa0, + 0x99, 0xd6, 0x6a, 0x53, 0xe2, 0x33, 0x08, 0x9c, 0xcb, 0x48, 0x35, 0x67, 0x19, 0x98, 0x60, 0xbf, 0x5f, 0x6c, 0x7d, + 0x01, 0xd5, 0x99, 0x11, 0x48, 0xfd, 0xae, 0x7a, 0xa9, 0x55, 0x9a, 0x31, 0xa6, 0xd3, 0x45, 0x6d, 0xaf, 0x0d, 0x1c, + 0xf8, 0x3e, 0xd9, 0xc4, 0xa4, 0xad, 0x5e, 0xe2, 0x04, 0x45, 0x77, 0x68, 0xd1, 0xf9, 0x5e, 0x35, 0xd1, 0x54, 0x66, + 0xec, 0xc9, 0xb8, 0x90, 0xed, 0xeb, 0xed, 0x7e, 0x43, 0xe6, 0xe8, 0x5a, 0xc7, 0x48, 0xc9, 0x45, 0x7d, 0x8e, 0xb8, + 0xca, 0x90, 0x7f, 0x5e, 0xc8, 0x62, 0x47, 0x1c, 0x6e, 0x7f, 0x87, 0x87, 0xd5, 0xa2, 0x2e, 0x66, 0xc7, 0x81, 0x38, + 0x46, 0xfe, 0x21, 0x72, 0x7e, 0x14, 0xb0, 0x19, 0x7e, 0x9a, 0xe1, 0x33, 0x68, 0xb3, 0x37, 0xfb, 0xc9, 0x36, 0xbf, + 0xf5, 0xd8, 0xf5, 0xef, 0x1a, 0x5e, 0xf9, 0xc6, 0x2a, 0x1c, 0x76, 0xdf, 0x76, 0x62, 0xcc, 0xfb, 0xf3, 0xd3, 0xaf, + 0x35, 0x46, 0xde, 0x10, 0xb0, 0xd9, 0xc1, 0xfb, 0x38, 0x67, 0xbf, 0xa5, 0xc3, 0x42, 0x2f, 0x6a, 0x15, 0x90, 0x51, + 0xe7, 0x3e, 0x71, 0x7d, 0x0b, 0x90, 0x56, 0x68, 0xa1, 0xd5, 0xa3, 0x5b, 0x42, 0xf7, 0x12, 0x21, 0xeb, 0x9b, 0x4b, + 0xb1, 0xe9, 0xb4, 0x67, 0x4d, 0x25, 0x25, 0x4d, 0xf1, 0x96, 0x14, 0x8a, 0xdf, 0xcf, 0xa8, 0x93, 0x07, 0xb8, 0xcf, + 0xa7, 0x8d, 0x64, 0xa6, 0xee, 0x26, 0xeb, 0xf9, 0x93, 0xd9, 0x13, 0x4a, 0xdb, 0x30, 0x9a, 0x43, 0x7e, 0xd3, 0x68, + 0x40, 0x8f, 0x47, 0x8b, 0x89, 0xd8, 0x0f, 0x02, 0x14, 0x7c, 0x1a, 0x2a, 0xa0, 0x7a, 0xa0, 0xdf, 0xf6, 0xd7, 0x01, + 0x27, 0x15, 0x31, 0x06, 0x7b, 0x03, 0x50, 0x30, 0x44, 0xb6, 0x91, 0xc5, 0x7b, 0xa1, 0x43, 0xd1, 0x27, 0x09, 0x9d, + 0xe9, 0x85, 0x12, 0x91, 0xd0, 0x23, 0x88, 0xce, 0xe9, 0xae, 0xf8, 0xc6, 0xe6, 0xc3, 0xeb, 0x58, 0xec, 0x59, 0x26, + 0xdf, 0x61, 0xb3, 0xb2, 0x0e, 0xf5, 0x35, 0x93, 0x86, 0xee, 0x45, 0xfb, 0xa8, 0x71, 0xeb, 0x45, 0x42, 0xc7, 0x5f, + 0xce, 0xeb, 0x91, 0x55, 0x6f, 0x89, 0x18, 0xa6, 0x98, 0x79, 0xcf, 0xa2, 0xde, 0xba, 0x68, 0x09, 0xd7, 0xac, 0xab, + 0x0e, 0x82, 0xa6, 0xc4, 0xd3, 0x7a, 0x70, 0x9d, 0x0b, 0xb1, 0xf8, 0xc9, 0x24, 0x5a, 0x3f, 0xf9, 0x6d, 0xdc, 0xa0, + 0xe4, 0x5c, 0x68, 0xd0, 0x85, 0x02, 0xa1, 0xf7, 0xde, 0x7b, 0x9b, 0x8f, 0xf6, 0x36, 0x35, 0xfd, 0x85, 0x79, 0xf1, + 0x47, 0x72, 0xd6, 0x6f, 0x76, 0x39, 0x70, 0x10, 0x4a, 0x9c, 0x30, 0x22, 0x5c, 0xd8, 0x34, 0x97, 0xbc, 0x94, 0x59, + 0xb9, 0x70, 0x86, 0x03, 0xd1, 0x19, 0xf1, 0x0d, 0x3f, 0xd8, 0xb6, 0x40, 0x20, 0x6e, 0xb5, 0x4c, 0x14, 0xcf, 0x88, + 0x38, 0x91, 0x65, 0x0e, 0x93, 0x9a, 0xe6, 0x72, 0xa6, 0x15, 0xbb, 0x6d, 0x05, 0x8d, 0x6f, 0x8c, 0x73, 0x2c, 0x81, + 0xde, 0xac, 0xd0, 0xce, 0xa5, 0x92, 0x8f, 0xfd, 0x8e, 0xaa, 0x9d, 0xeb, 0x2f, 0xaf, 0x65, 0x5e, 0xee, 0x3c, 0xbb, + 0x36, 0xcd, 0xcb, 0x35, 0x86, 0xce, 0x40, 0x66, 0x47, 0x75, 0x95, 0xa9, 0xbb, 0xd8, 0xe0, 0x8e, 0x42, 0x75, 0xb5, + 0x20, 0x1c, 0x80, 0x22, 0x9a, 0xe6, 0x98, 0x1b, 0xcc, 0xa2, 0xaf, 0xae, 0xf0, 0x4e, 0x07, 0x6d, 0xb5, 0xb4, 0x01, + 0x25, 0x20, 0x9c, 0x74, 0xd1, 0x61, 0x89, 0x07, 0x77, 0xa7, 0xee, 0x54, 0xd2, 0x60, 0x5c, 0x2c, 0xce, 0xc3, 0xb3, + 0x28, 0xee, 0x0a, 0xd3, 0xcc, 0x68, 0xf4, 0x03, 0x4d, 0xb4, 0xe7, 0x9b, 0xa5, 0xc4, 0x92, 0x0b, 0x76, 0xb9, 0xc7, + 0xf6, 0x03, 0x45, 0xe2, 0xa5, 0x3c, 0x56, 0x3a, 0xa5, 0xc4, 0x4e, 0x4d, 0x3b, 0x2b, 0xd3, 0x1c, 0x7a, 0x96, 0x65, + 0xe2, 0xb9, 0xf4, 0x3b, 0xaa, 0x67, 0x5b, 0x66, 0x7d, 0x53, 0xb8, 0xdb, 0x3b, 0x91, 0x12, 0x3f, 0x38, 0xd6, 0xf0, + 0xb6, 0xe8, 0x76, 0x9a, 0xbe, 0x2d, 0xdc, 0xfa, 0x05, 0x63, 0x0f, 0x8b, 0x55, 0xac, 0xbe, 0x28, 0x8e, 0x26, 0x14, + 0xd8, 0xea, 0xdf, 0xe4, 0x24, 0x4d, 0xdc, 0x4a, 0xe3, 0xaf, 0x69, 0x09, 0x53, 0x75, 0xaa, 0x7b, 0x2f, 0xb1, 0x8a, + 0xb0, 0x70, 0xff, 0x7d, 0xf5, 0x70, 0x28, 0x64, 0xb6, 0x79, 0xd6, 0x3c, 0x42, 0xba, 0x92, 0x7b, 0xc8, 0xa7, 0x4a, + 0xa6, 0xe6, 0x93, 0x93, 0xec, 0x86, 0xbb, 0x56, 0xab, 0x56, 0xc2, 0x9b, 0x66, 0xab, 0xc3, 0x75, 0xae, 0xd8, 0x68, + 0x99, 0x4d, 0x6a, 0xbb, 0x82, 0xe9, 0xdc, 0x3a, 0xf1, 0x38, 0x44, 0x22, 0x94, 0xb1, 0xbb, 0xbd, 0x51, 0x07, 0x17, + 0xb0, 0x29, 0xc1, 0x5d, 0x29, 0x38, 0x37, 0xd9, 0xe0, 0x2e, 0x88, 0xd4, 0x28, 0xae, 0x74, 0xdc, 0xdb, 0x86, 0x48, + 0xc1, 0x4e, 0x7a, 0xa4, 0x88, 0xc5, 0x69, 0xba, 0xf0, 0x34, 0xbe, 0xf2, 0x66, 0xd7, 0x34, 0x53, 0xdf, 0xa1, 0x46, + 0x8e, 0x68, 0x54, 0xee, 0x65, 0x48, 0x4c, 0x81, 0x87, 0x56, 0xe3, 0x59, 0xaa, 0x42, 0x6e, 0x30, 0xa3, 0x5b, 0xae, + 0xdb, 0xfd, 0xe2, 0xe3, 0x71, 0x39, 0x13, 0xd1, 0x85, 0xf1, 0x95, 0x1a, 0x92, 0x95, 0xec, 0x27, 0x22, 0x2f, 0x38, + 0xa6, 0xb3, 0x37, 0x45, 0x02, 0x6e, 0xe9, 0x8d, 0x8b, 0xb4, 0xa1, 0x5c, 0xcb, 0x06, 0x9d, 0x26, 0x39, 0x15, 0x54, + 0x88, 0x99, 0xb1, 0x66, 0xf1, 0xbe, 0x04, 0x09, 0x87, 0x3d, 0x85, 0x03, 0xd9, 0xd4, 0xcc, 0x6d, 0x87, 0x32, 0xd7, + 0xa1, 0x1a, 0x47, 0x62, 0xa3, 0x72, 0x08, 0x8e, 0xce, 0xdc, 0xee, 0xb1, 0xb0, 0xae, 0x60, 0x4e, 0x15, 0x59, 0x1e, + 0x9c, 0xae, 0xf6, 0x5f, 0xb8, 0x23, 0xfa, 0x62, 0x20, 0xfa, 0x9d, 0x56, 0x4d, 0xb4, 0xc0, 0x43, 0x8b, 0xeb, 0xda, + 0x42, 0x63, 0x0a, 0xe2, 0x80, 0xf4, 0x66, 0x82, 0xa2, 0xe1, 0x93, 0x66, 0x98, 0x83, 0x9e, 0xea, 0x9b, 0x9f, 0x3b, + 0x75, 0xf6, 0x65, 0x9a, 0x5e, 0x18, 0x66, 0x97, 0x06, 0xee, 0x8c, 0xa3, 0xa6, 0x18, 0x36, 0x5f, 0x8c, 0xbe, 0x89, + 0x5c, 0x9e, 0x7b, 0x56, 0x33, 0xc1, 0x34, 0x1d, 0x73, 0xe4, 0xbf, 0xc6, 0xf3, 0x7e, 0xc1, 0x71, 0x8c, 0x4a, 0x2f, + 0xbf, 0x28, 0x73, 0xa6, 0x25, 0x1b, 0xef, 0xab, 0x0b, 0xb8, 0x9e, 0x8c, 0x72, 0x24, 0x1e, 0x96, 0x59, 0x2c, 0x3f, + 0x80, 0x6f, 0x46, 0x2e, 0x41, 0x1b, 0xbb, 0x97, 0x89, 0x01, 0xc0, 0xb2, 0x5d, 0x73, 0x52, 0xbb, 0x46, 0xbe, 0x0a, + 0xb5, 0x55, 0xd7, 0xee, 0x24, 0xf3, 0x95, 0x08, 0xf6, 0x55, 0xfa, 0xe3, 0xa7, 0xa8, 0x07, 0xb5, 0xb7, 0x43, 0x92, + 0xab, 0x4d, 0xc2, 0xbe, 0x5f, 0x56, 0xa7, 0x27, 0xde, 0xbf, 0xc2, 0xe3, 0xe0, 0x02, 0x36, 0x3d, 0xf4, 0xf5, 0xb6, + 0x19, 0x89, 0x51, 0x77, 0x0d, 0xfe, 0xa0, 0xea, 0x21, 0x99, 0x1e, 0x74, 0x92, 0x47, 0x22, 0x30, 0xeb, 0xa9, 0x8e, + 0x89, 0xfc, 0x93, 0xf0, 0x73, 0xb5, 0xe7, 0xff, 0xf2, 0xf5, 0xd2, 0xcc, 0x9e, 0x21, 0xbc, 0x3b, 0xbc, 0xf9, 0xaa, + 0xd0, 0x75, 0xc6, 0xe5, 0xb1, 0x08, 0xe7, 0xce, 0xdf, 0x03, 0x70, 0xe5, 0x75, 0x79, 0xbb, 0x98, 0xef, 0x38, 0xed, + 0x2e, 0x6d, 0xde, 0xad, 0xa3, 0x86, 0x9f, 0x7f, 0xb0, 0x8d, 0x8a, 0x1f, 0xa9, 0x22, 0xfa, 0x75, 0x93, 0x05, 0x45, + 0x20, 0xe4, 0xe9, 0xeb, 0x84, 0x18, 0xff, 0x0c, 0x68, 0xfa, 0xa6, 0x50, 0xd9, 0x7f, 0xc3, 0x15, 0xa6, 0x0e, 0xe1, + 0x8f, 0xcc, 0xea, 0x60, 0x40, 0x73, 0x5b, 0xb8, 0x27, 0xfd, 0x17, 0x88, 0x35, 0x77, 0x10, 0xe0, 0x44, 0x91, 0xa4, + 0xe2, 0x87, 0x3e, 0xbc, 0x82, 0x26, 0xf7, 0x89, 0x14, 0xd4, 0x0c, 0xc5, 0x6d, 0x1b, 0xb8, 0x59, 0x0b, 0xca, 0x47, + 0x87, 0xa8, 0x73, 0xf4, 0x88, 0xdd, 0x5f, 0xda, 0x9d, 0xc9, 0xc3, 0x37, 0x94, 0xac, 0x89, 0x50, 0x31, 0x98, 0x50, + 0xfe, 0x5c, 0xf7, 0x4b, 0xde, 0xb3, 0xf2, 0x95, 0xb1, 0x28, 0xb8, 0xd8, 0x1b, 0x54, 0xfd, 0x00, 0x16, 0xd0, 0x59, + 0x24, 0xa0, 0x62, 0xb7, 0x13, 0xd6, 0xa9, 0xc6, 0xf1, 0x93, 0x58, 0x36, 0xf1, 0xc3, 0xf2, 0x0d, 0xff, 0xa5, 0x21, + 0x24, 0xa1, 0x88, 0x39, 0xa9, 0xc3, 0x60, 0x47, 0x2c, 0x6e, 0x63, 0x36, 0x0f, 0xa5, 0xe6, 0x61, 0x39, 0x71, 0xde, + 0x41, 0x0b, 0x10, 0x97, 0xa3, 0xee, 0xaa, 0xb5, 0x4b, 0xa7, 0x6b, 0x1d, 0x86, 0x93, 0xd8, 0x29, 0x56, 0x78, 0x18, + 0x5b, 0x8f, 0x1c, 0x23, 0xfc, 0x77, 0x20, 0x8f, 0x2f, 0x69, 0x7e, 0x78, 0x7b, 0x47, 0x83, 0x24, 0x1a, 0x2b, 0x15, + 0xa9, 0x78, 0x4a, 0x0f, 0x2b, 0x92, 0x21, 0x4d, 0x24, 0x7a, 0x78, 0x2f, 0xdf, 0xd2, 0x78, 0x58, 0xa5, 0x62, 0x43, + 0xc7, 0xcd, 0x56, 0x07, 0x92, 0x8f, 0xb2, 0xdd, 0x5f, 0x2f, 0xbd, 0x15, 0x9a, 0x75, 0x0a, 0x9b, 0x97, 0x1e, 0xb7, + 0xd8, 0xbb, 0x67, 0x31, 0xf5, 0x53, 0xa0, 0xc6, 0x91, 0x1c, 0x88, 0x89, 0xb1, 0xa9, 0x80, 0x3c, 0xf3, 0xe4, 0xe4, + 0xfd, 0xe0, 0xf5, 0x87, 0x63, 0x1f, 0x4f, 0xa4, 0x7c, 0xcc, 0xce, 0x70, 0xcf, 0xa7, 0x5e, 0x7e, 0xa6, 0x59, 0x1e, + 0x88, 0x9d, 0x8e, 0xe2, 0x21, 0x1f, 0xdd, 0x89, 0x50, 0x23, 0x2c, 0x27, 0x6b, 0xd5, 0x4a, 0x6b, 0x0c, 0x6a, 0x85, + 0x32, 0x97, 0xfb, 0x58, 0xdc, 0xda, 0xfd, 0x68, 0x93, 0xef, 0x7e, 0xa6, 0x88, 0xe7, 0x24, 0x02, 0xb9, 0xfe, 0x61, + 0x90, 0x96, 0x82, 0x79, 0x69, 0xa4, 0x95, 0xfa, 0x13, 0x4a, 0x39, 0xf0, 0x10, 0xf0, 0x25, 0x11, 0x97, 0x86, 0xb6, + 0xfe, 0x07, 0x4c, 0x5e, 0xd7, 0xbd, 0x6f, 0x25, 0xce, 0x9a, 0x70, 0x6e, 0x89, 0x7b, 0xac, 0xe5, 0x27, 0xb5, 0x24, + 0x0f, 0x0a, 0xa3, 0xbd, 0x9d, 0x1e, 0x1a, 0xa6, 0xc5, 0x2b, 0x16, 0xc5, 0x27, 0x7d, 0x2a, 0xbf, 0x07, 0xb5, 0xeb, + 0x2c, 0x75, 0xd9, 0x0b, 0xe5, 0x4c, 0xa9, 0xce, 0x0a, 0xbf, 0x76, 0x18, 0x5a, 0xe9, 0x48, 0x9a, 0x25, 0xce, 0xd5, + 0x7b, 0xec, 0x26, 0x4e, 0xb8, 0x21, 0x0d, 0x14, 0xa8, 0x64, 0x36, 0x1c, 0xd1, 0x53, 0x18, 0xdb, 0xfa, 0x32, 0xc3, + 0xed, 0x87, 0x32, 0xee, 0xe0, 0x68, 0xb2, 0x9a, 0x22, 0x5f, 0x27, 0x45, 0x2c, 0x14, 0x49, 0xd8, 0x85, 0x4b, 0x3b, + 0xbf, 0xc1, 0x5a, 0x69, 0x7e, 0x31, 0x5e, 0x30, 0xde, 0x65, 0x5d, 0xc9, 0x87, 0xcf, 0xba, 0x3b, 0x47, 0x04, 0xc8, + 0xa3, 0x9c, 0xd4, 0x3c, 0x82, 0xdb, 0x84, 0xa8, 0xb7, 0xb7, 0x3d, 0xb9, 0xe1, 0xcc, 0xb6, 0x45, 0x8b, 0x55, 0x2f, + 0x57, 0xb2, 0xdf, 0x9e, 0x95, 0x85, 0x82, 0xec, 0x6e, 0xe0, 0xc8, 0x9d, 0xe9, 0xc4, 0x6f, 0x18, 0x48, 0xef, 0x41, + 0x2d, 0x38, 0xba, 0x6e, 0x01, 0xa8, 0x35, 0xb4, 0x91, 0x4e, 0x5f, 0x23, 0xdb, 0xc8, 0xb8, 0xbc, 0x77, 0x1c, 0x41, + 0x71, 0xc0, 0xf8, 0xfa, 0xde, 0x31, 0x9d, 0x96, 0x80, 0xa4, 0x8f, 0x98, 0x0f, 0x03, 0x8c, 0x82, 0x18, 0x03, 0xd5, + 0xea, 0xf1, 0x01, 0x4f, 0x40, 0xc4, 0x91, 0xad, 0x0e, 0x6e, 0xdc, 0x20, 0x6f, 0x1d, 0x19, 0x07, 0x9f, 0x90, 0x6e, + 0x28, 0x61, 0x30, 0x5e, 0xfe, 0xc8, 0x40, 0x75, 0xa1, 0x8e, 0x0d, 0xae, 0x6d, 0x14, 0x34, 0xce, 0x0c, 0x10, 0x08, + 0x3e, 0xbd, 0x5d, 0xe9, 0xaf, 0xe3, 0x0f, 0x3a, 0xab, 0x37, 0x05, 0xa9, 0x95, 0xd3, 0xa3, 0x36, 0x5b, 0xe8, 0x2a, + 0xa0, 0x70, 0xa6, 0x7a, 0xc2, 0x80, 0xeb, 0x0f, 0x1b, 0x06, 0xe6, 0x3d, 0x27, 0x94, 0xd9, 0x1c, 0x09, 0x7f, 0x49, + 0xb3, 0x6f, 0xd6, 0x30, 0xcf, 0xe5, 0xd8, 0x83, 0x1d, 0x02, 0xb9, 0x7a, 0x18, 0xfb, 0x2d, 0xb6, 0x4d, 0x10, 0xe6, + 0xb0, 0xfc, 0xf8, 0x9f, 0x0a, 0xb5, 0x15, 0x4a, 0xed, 0xcd, 0x8f, 0x1c, 0xd6, 0xce, 0x73, 0x79, 0xfc, 0x4f, 0x28, + 0xf2, 0xd9, 0x3c, 0xe4, 0x79, 0xb2, 0xd8, 0x36, 0x88, 0x3f, 0x3d, 0xb2, 0x77, 0x36, 0xbb, 0xd6, 0x3e, 0xc8, 0xcf, + 0x60, 0x97, 0x7f, 0x0f, 0x09, 0xd5, 0xb0, 0x65, 0x05, 0x3f, 0x8c, 0x47, 0x04, 0x80, 0x85, 0x5e, 0xbf, 0xd9, 0x37, + 0xe4, 0x66, 0x1f, 0x90, 0x19, 0xf4, 0x39, 0xa2, 0x91, 0x67, 0xc6, 0x35, 0xec, 0xcc, 0x73, 0x3e, 0xf7, 0x0c, 0xe7, + 0x07, 0xca, 0x7a, 0xca, 0x9c, 0xe7, 0x25, 0x1b, 0xf7, 0xb6, 0x70, 0x06, 0xba, 0xd5, 0x8c, 0x5d, 0xd8, 0x82, 0xe5, + 0x3b, 0x6b, 0xc1, 0xa9, 0x1b, 0x30, 0x7b, 0x7b, 0xee, 0x4f, 0x74, 0xe0, 0xcf, 0x50, 0xde, 0xc9, 0xa8, 0xd5, 0x6f, + 0xbe, 0x75, 0x3b, 0x8d, 0x01, 0x6f, 0x84, 0xa7, 0x8a, 0xea, 0xcc, 0x39, 0x7b, 0x0a, 0x72, 0x21, 0xfe, 0xa2, 0x1b, + 0x7c, 0x42, 0xb7, 0x2a, 0x0a, 0x01, 0x5f, 0xda, 0x62, 0x44, 0xc8, 0x3a, 0xb4, 0xa4, 0x94, 0x27, 0x6d, 0x3e, 0x51, + 0x73, 0xa7, 0xe8, 0x34, 0xb7, 0x32, 0x3f, 0x9c, 0x39, 0x81, 0x0d, 0x02, 0x49, 0x48, 0x11, 0xc2, 0x3f, 0xc5, 0x8e, + 0x7b, 0x67, 0x6c, 0xb9, 0x91, 0xd0, 0xa0, 0x5d, 0x94, 0x8a, 0x18, 0x1f, 0x95, 0x4e, 0x23, 0xae, 0x7b, 0x8f, 0xf0, + 0x0f, 0xf6, 0x3f, 0xd3, 0xa8, 0x4c, 0xff, 0x9d, 0x46, 0x61, 0xfa, 0xcf, 0x69, 0x08, 0xa6, 0xff, 0x9e, 0x06, 0xbb, + 0x4b, 0xad, 0x0e, 0xec, 0xab, 0x23, 0xfb, 0xea, 0xce, 0x1e, 0xa7, 0xd9, 0x1e, 0x5a, 0x7b, 0x5f, 0x83, 0x76, 0x6c, + 0x3f, 0xf1, 0x2d, 0x39, 0xe0, 0xad, 0x63, 0x59, 0xb2, 0xf1, 0x76, 0x8a, 0xbd, 0xcf, 0xe9, 0xd2, 0xe5, 0x71, 0x1f, + 0xc5, 0x53, 0x1e, 0x87, 0xd5, 0x74, 0x56, 0x51, 0x67, 0x5a, 0xa6, 0x91, 0x3a, 0xbb, 0x7b, 0x28, 0x9e, 0x6a, 0x3e, + 0x42, 0xde, 0xad, 0x25, 0x9c, 0x81, 0xd2, 0x04, 0xf9, 0xad, 0xe7, 0x8f, 0x8d, 0x62, 0x2f, 0x1a, 0x6f, 0xbb, 0xfb, + 0x99, 0x21, 0xce, 0x5f, 0x0c, 0x91, 0x54, 0xa6, 0x15, 0x26, 0xda, 0xc1, 0xd4, 0x6d, 0xcd, 0x5a, 0xac, 0x29, 0x20, + 0xb3, 0x3d, 0x8f, 0xb2, 0x25, 0x08, 0xe1, 0xb9, 0x6d, 0xe1, 0x3f, 0x0b, 0x58, 0x75, 0xb1, 0x85, 0x5e, 0x73, 0x39, + 0xe8, 0xb4, 0x52, 0xe9, 0x3e, 0x6b, 0x10, 0xbb, 0xa1, 0x4c, 0x77, 0x84, 0x8c, 0xe1, 0x05, 0x8b, 0x2b, 0x28, 0xea, + 0x17, 0x62, 0x71, 0x17, 0xb3, 0x87, 0xe7, 0x27, 0x65, 0x1a, 0xfc, 0xbf, 0x16, 0xdb, 0x41, 0x77, 0x42, 0x53, 0xe3, + 0x92, 0x4b, 0x2a, 0xec, 0x17, 0x62, 0xdc, 0x9e, 0xdb, 0x45, 0xd7, 0xb7, 0x4e, 0x19, 0x89, 0xcf, 0xf9, 0x0c, 0xe4, + 0x7a, 0xe9, 0xa7, 0xfa, 0xf4, 0x88, 0x0b, 0xb2, 0xa8, 0xa7, 0x39, 0xc1, 0xaa, 0x10, 0x33, 0x52, 0x87, 0x9a, 0x12, + 0x9f, 0xbf, 0xfa, 0x9f, 0xf6, 0x6b, 0x49, 0x3c, 0x68, 0xa7, 0x5f, 0xf9, 0xf5, 0xb1, 0x10, 0x97, 0xf6, 0x33, 0xf1, + 0xe3, 0xad, 0x62, 0xed, 0x0f, 0xa8, 0x7a, 0x9c, 0xaa, 0xff, 0x3d, 0x6a, 0xd1, 0xaf, 0xc3, 0x65, 0xd3, 0x7f, 0x2d, + 0x89, 0x07, 0xec, 0xf5, 0xeb, 0xf3, 0x3b, 0x18, 0xfc, 0x13, 0x43, 0xf2, 0xc8, 0x76, 0x02, 0x94, 0xe3, 0x47, 0xd1, + 0xe4, 0x38, 0xe4, 0x4c, 0x53, 0xae, 0x2b, 0x3c, 0xbd, 0xea, 0x68, 0x4c, 0x95, 0x8b, 0x23, 0xe9, 0xf4, 0x7c, 0x02, + 0x13, 0xd9, 0xf0, 0x96, 0xd9, 0xa5, 0xc8, 0xde, 0xc3, 0x11, 0x64, 0xb7, 0xcd, 0x27, 0x31, 0xcb, 0x67, 0x11, 0x2d, + 0xdb, 0x35, 0xd8, 0xe8, 0x94, 0xc3, 0x54, 0x5c, 0x38, 0xc0, 0xbe, 0xb7, 0x5c, 0x18, 0xec, 0x46, 0x6a, 0x1f, 0xa2, + 0x72, 0x7a, 0x1b, 0xd1, 0x6f, 0xca, 0x71, 0xf4, 0x7e, 0x1b, 0xac, 0x96, 0xc2, 0xc3, 0x43, 0x83, 0x58, 0xb5, 0xc3, + 0x2b, 0x46, 0xfd, 0xe2, 0x3a, 0xd4, 0x6e, 0x00, 0x4e, 0x9c, 0x69, 0xd3, 0xf5, 0xe3, 0xfc, 0xc2, 0x9f, 0xea, 0xd3, + 0x95, 0xd5, 0x53, 0x0f, 0x5d, 0xc4, 0xd1, 0x19, 0x97, 0x9d, 0x83, 0x12, 0x23, 0x8c, 0x19, 0x9e, 0xbf, 0x37, 0x2b, + 0x4b, 0x28, 0x48, 0x0b, 0xbd, 0x16, 0x54, 0x19, 0xfd, 0xfb, 0x03, 0xc5, 0xb9, 0xbc, 0x7f, 0xae, 0x7b, 0xff, 0x1e, + 0x33, 0xb4, 0xcd, 0x8c, 0x7a, 0xab, 0xe0, 0x3e, 0x9f, 0x24, 0xb0, 0x48, 0x96, 0x58, 0xdb, 0xe2, 0xff, 0xea, 0x12, + 0xeb, 0x34, 0xaa, 0xbd, 0xc2, 0xd5, 0x99, 0xb6, 0xe6, 0xab, 0xfa, 0x52, 0x73, 0xaf, 0xee, 0x47, 0x3f, 0xd8, 0x30, + 0x8d, 0x4b, 0x7b, 0x5a, 0x90, 0x9b, 0x64, 0xcf, 0xa2, 0xc7, 0xe6, 0x64, 0x1c, 0x5a, 0xf5, 0x43, 0x93, 0x00, 0x51, + 0xc6, 0xa9, 0x47, 0x9a, 0xf2, 0x59, 0xee, 0xc3, 0x12, 0x2f, 0xb8, 0x10, 0xd7, 0xc3, 0xed, 0xee, 0x9e, 0x91, 0x1d, + 0xa8, 0xf2, 0x9b, 0x77, 0x87, 0xf7, 0x7d, 0xa4, 0xfc, 0x0e, 0x54, 0xb3, 0xbe, 0x59, 0xa9, 0x08, 0xd4, 0x15, 0x28, + 0x02, 0x5c, 0xbe, 0x67, 0x95, 0xe0, 0xae, 0xe6, 0x79, 0x18, 0xb1, 0x92, 0x84, 0x9a, 0x2b, 0x05, 0x87, 0xc5, 0xa6, + 0x29, 0x45, 0x61, 0xb1, 0x26, 0xfa, 0x75, 0xcd, 0xa6, 0xd3, 0x45, 0x0d, 0x9c, 0x1b, 0x98, 0xa5, 0x9b, 0x35, 0xa2, + 0x1f, 0x12, 0xf2, 0x0e, 0x9e, 0x66, 0x8b, 0x6d, 0x20, 0x86, 0x5a, 0x5c, 0x63, 0x60, 0x7b, 0xf8, 0x90, 0x07, 0xf4, + 0xa4, 0xff, 0x74, 0x0d, 0xd1, 0x23, 0xdb, 0x80, 0xc5, 0x6f, 0x26, 0x75, 0x78, 0xf7, 0x30, 0x3d, 0xe3, 0xa5, 0x4f, + 0xc6, 0x2f, 0x0e, 0x6d, 0x86, 0x9f, 0x1e, 0x51, 0x54, 0x24, 0x2a, 0x77, 0x76, 0xd9, 0xcf, 0x86, 0x4c, 0xed, 0xe9, + 0x78, 0xb2, 0xbf, 0x60, 0x6e, 0xfd, 0x60, 0x7f, 0x18, 0xc7, 0x83, 0x04, 0x35, 0x14, 0x1b, 0xfe, 0x71, 0xa3, 0x58, + 0x24, 0x3d, 0x5b, 0x6f, 0xfb, 0xe0, 0x95, 0x50, 0xce, 0x2b, 0xd7, 0x32, 0x3d, 0xd3, 0xb1, 0x83, 0x67, 0xfa, 0xc1, + 0xea, 0x32, 0x01, 0x95, 0xdf, 0x85, 0x89, 0x81, 0x73, 0x24, 0xca, 0x11, 0x19, 0xf1, 0xa2, 0xe8, 0x4b, 0x36, 0x87, + 0x56, 0x58, 0x0d, 0xba, 0xa5, 0xe8, 0xaf, 0x57, 0x76, 0x97, 0xfa, 0xae, 0xcf, 0x5e, 0xe4, 0xf6, 0xe6, 0x63, 0x19, + 0x3a, 0x14, 0x29, 0x25, 0xa7, 0xfe, 0x64, 0x0c, 0x79, 0x7d, 0x3d, 0x75, 0xa6, 0xf8, 0xcf, 0x6c, 0x90, 0xc4, 0x6c, + 0x00, 0x0a, 0x59, 0x34, 0x8f, 0x00, 0x60, 0x49, 0x5f, 0x24, 0x81, 0x37, 0xfc, 0x43, 0xac, 0x59, 0x37, 0x44, 0xcc, + 0x57, 0xfb, 0xe6, 0xe2, 0x32, 0x0b, 0x77, 0x76, 0xec, 0xd1, 0x3d, 0x79, 0x10, 0x95, 0x25, 0x99, 0x4d, 0x67, 0xed, + 0x3d, 0xa4, 0xaf, 0x0c, 0x79, 0x06, 0x99, 0x32, 0x40, 0x02, 0xa6, 0x23, 0xac, 0x33, 0x3c, 0xb9, 0xe6, 0xdc, 0x6a, + 0xb2, 0x50, 0x82, 0x43, 0x74, 0x1c, 0xdd, 0x0a, 0x49, 0xd6, 0xdc, 0x6b, 0xbe, 0xd4, 0x0f, 0x52, 0x4e, 0x3e, 0xad, + 0x98, 0x27, 0x8e, 0xe3, 0x37, 0x24, 0xa2, 0x27, 0x11, 0xe5, 0x69, 0xd7, 0x39, 0xe4, 0xb7, 0xac, 0x54, 0xcc, 0x0c, + 0x54, 0x3d, 0xf2, 0x54, 0x13, 0xac, 0xbb, 0xc5, 0x1d, 0x88, 0xa7, 0x0f, 0x44, 0x13, 0x8a, 0x93, 0xac, 0xf2, 0x5a, + 0x0f, 0xb3, 0xe1, 0x2b, 0x62, 0x73, 0x35, 0xda, 0xec, 0x58, 0xcc, 0xd8, 0x0a, 0x9a, 0x60, 0x40, 0x9d, 0x11, 0x4e, + 0xbb, 0x76, 0xf7, 0x28, 0x30, 0xb2, 0xe9, 0x94, 0x7e, 0x8c, 0xa8, 0xd0, 0x6d, 0xbe, 0x8c, 0x0a, 0x71, 0x54, 0x84, + 0x9e, 0x87, 0xa1, 0x50, 0xfa, 0x69, 0x59, 0x14, 0xf1, 0x59, 0x3f, 0xe7, 0xae, 0xc6, 0x18, 0x53, 0x34, 0x95, 0x65, + 0xd7, 0x15, 0xc8, 0x1b, 0xb1, 0x35, 0x44, 0x80, 0x3c, 0x5f, 0x35, 0xed, 0xea, 0xd7, 0x9b, 0xa8, 0xfc, 0x3b, 0x36, + 0xba, 0x8d, 0x76, 0x13, 0x78, 0x56, 0x9c, 0xb9, 0x2d, 0x80, 0x35, 0x3a, 0xd7, 0x25, 0x71, 0xe4, 0xe8, 0x71, 0xbd, + 0x1f, 0xcc, 0xfe, 0xa4, 0xb5, 0x78, 0x90, 0x6f, 0x91, 0xa9, 0x95, 0x52, 0x17, 0xea, 0xb5, 0x65, 0x1a, 0xcf, 0x07, + 0x99, 0x49, 0xf9, 0x84, 0xd1, 0xf9, 0xd2, 0x4d, 0xf3, 0xc2, 0x66, 0x81, 0xc9, 0x44, 0x25, 0x4e, 0x61, 0x3a, 0xb7, + 0x4b, 0x84, 0xa4, 0x3b, 0x82, 0x53, 0x59, 0x56, 0x14, 0x77, 0xb7, 0xad, 0xd9, 0x37, 0x93, 0xbf, 0x26, 0x3d, 0x1c, + 0xe3, 0x2e, 0xe8, 0xd8, 0x28, 0x6f, 0x26, 0xdb, 0x83, 0xc9, 0xc3, 0xea, 0x42, 0xe9, 0xb4, 0x9a, 0x6e, 0xea, 0x19, + 0xb9, 0xb9, 0x71, 0xea, 0x6a, 0xa2, 0xeb, 0x12, 0x30, 0x9e, 0x8d, 0xe2, 0x1e, 0x5b, 0xe4, 0x1a, 0x79, 0x6d, 0x2d, + 0x41, 0xb7, 0x2c, 0x14, 0x8b, 0xd1, 0xd4, 0xc0, 0x18, 0x61, 0x52, 0x11, 0x83, 0xd7, 0xe7, 0xb0, 0xc9, 0x13, 0x13, + 0xa8, 0xea, 0xdf, 0x94, 0x93, 0x25, 0xbb, 0x98, 0xa5, 0x91, 0x0c, 0xcb, 0x41, 0xd9, 0x7b, 0xa2, 0xa5, 0x8f, 0x78, + 0x2e, 0x70, 0x6d, 0xdb, 0xf6, 0x61, 0x6d, 0x6b, 0xc0, 0xc0, 0xfb, 0xa6, 0x7d, 0x07, 0xc1, 0x15, 0xbb, 0xd5, 0x9c, + 0x67, 0xf0, 0x78, 0xc0, 0xec, 0x5b, 0xf2, 0x7c, 0x5e, 0xa8, 0xb2, 0x7d, 0xa2, 0xb3, 0xfb, 0x02, 0x42, 0x31, 0xbb, + 0xd1, 0xe5, 0xd9, 0x6e, 0xbb, 0x87, 0x0c, 0x59, 0x90, 0xb1, 0x24, 0x29, 0x3c, 0xf2, 0x9d, 0x5e, 0x6d, 0x19, 0x6b, + 0x3e, 0x73, 0x19, 0xb7, 0xa4, 0x16, 0x94, 0x6a, 0x0f, 0x6d, 0x8a, 0xf2, 0x5a, 0x84, 0x49, 0x15, 0xd6, 0x6e, 0xf3, + 0x99, 0xca, 0xd1, 0x16, 0x91, 0x09, 0x1e, 0x17, 0x12, 0x3b, 0x83, 0x25, 0x82, 0x0c, 0x9d, 0x26, 0x68, 0x6a, 0x9f, + 0x44, 0xb3, 0xb8, 0xe6, 0xc1, 0xa8, 0xa6, 0xca, 0xe1, 0x75, 0x13, 0x26, 0xcc, 0xe3, 0x42, 0xda, 0x76, 0xc4, 0x24, + 0x5d, 0xc7, 0xf9, 0x6a, 0x25, 0xeb, 0x51, 0x8e, 0xcc, 0x73, 0xa5, 0xb3, 0x95, 0x2e, 0xe6, 0x41, 0x29, 0xca, 0xcb, + 0x50, 0x20, 0x91, 0x93, 0xad, 0x66, 0x6f, 0x2f, 0x8d, 0xd5, 0x40, 0xa4, 0x57, 0xd6, 0xc7, 0x23, 0x58, 0x4c, 0x17, + 0x29, 0xa5, 0x60, 0x03, 0x85, 0xb0, 0xd1, 0xd8, 0xb3, 0x56, 0xfe, 0xf9, 0xb9, 0xa6, 0x5a, 0xf5, 0x67, 0x84, 0x6d, + 0xf6, 0x8b, 0xf7, 0xe5, 0x58, 0x05, 0x18, 0x75, 0x2f, 0xb2, 0x22, 0x79, 0xab, 0xcb, 0x5b, 0x24, 0x6f, 0xbe, 0xbc, + 0x32, 0x71, 0xc2, 0xf3, 0xb5, 0xd6, 0x86, 0x09, 0x77, 0x6e, 0x55, 0xeb, 0x88, 0x2b, 0x31, 0xd7, 0x7e, 0xdf, 0xa0, + 0x9f, 0x26, 0xa2, 0xec, 0x5f, 0xcd, 0xa8, 0x90, 0x4d, 0x9f, 0x12, 0xaa, 0xcd, 0xbc, 0x8c, 0x90, 0xbb, 0x17, 0x83, + 0x49, 0xa9, 0x4e, 0x5d, 0xdd, 0xe6, 0xe3, 0x8b, 0x31, 0xb1, 0x7e, 0xf9, 0xd7, 0xb8, 0x38, 0x5f, 0x30, 0x1c, 0xba, + 0xe2, 0xce, 0x7b, 0xd6, 0x0a, 0xe5, 0x0a, 0x73, 0xc0, 0x39, 0x5a, 0xaa, 0x2a, 0x63, 0xd4, 0xb6, 0xea, 0xdc, 0x01, + 0x8f, 0x23, 0x08, 0xfc, 0x8e, 0xae, 0x1a, 0x49, 0x46, 0xa9, 0xef, 0xea, 0x18, 0xfc, 0x65, 0xa4, 0xf1, 0xe1, 0xf7, + 0x05, 0x11, 0xf4, 0xd2, 0x55, 0xe5, 0xda, 0xa3, 0x2a, 0xa2, 0xac, 0x82, 0x24, 0xe6, 0x64, 0xb9, 0x0b, 0x47, 0xb9, + 0xf1, 0xe7, 0x93, 0x5d, 0xad, 0x0d, 0x42, 0xcc, 0x62, 0xcc, 0xd9, 0x52, 0xcc, 0x59, 0x11, 0xbe, 0x7d, 0x1e, 0xfd, + 0xce, 0x55, 0x25, 0x10, 0xf9, 0x68, 0xe3, 0x51, 0x7c, 0xf9, 0x22, 0xe0, 0x69, 0x55, 0x7d, 0x20, 0x24, 0xbe, 0xb3, + 0xd3, 0x2e, 0xf9, 0x6b, 0x7f, 0xa6, 0x44, 0x32, 0x69, 0x89, 0x21, 0x70, 0x47, 0xfc, 0xce, 0x75, 0x03, 0x19, 0x80, + 0x9c, 0xd1, 0xae, 0x01, 0x73, 0x12, 0x4d, 0x43, 0x42, 0xd5, 0xb4, 0x96, 0x77, 0xf3, 0x0a, 0x7d, 0x22, 0x89, 0x7e, + 0x97, 0x37, 0xc3, 0xaf, 0xb4, 0x48, 0xe5, 0x9c, 0xbf, 0xef, 0xe2, 0x57, 0x75, 0x64, 0xe7, 0x4c, 0x63, 0xa5, 0xc0, + 0x97, 0x01, 0xb8, 0x81, 0x76, 0xc5, 0x8d, 0x38, 0xce, 0x92, 0x1e, 0xd9, 0x19, 0x3d, 0x50, 0xdb, 0x57, 0xb2, 0x68, + 0x29, 0x5e, 0x98, 0xa6, 0x10, 0xca, 0xe0, 0x22, 0x3e, 0x91, 0xb9, 0xa8, 0xb2, 0xe6, 0x55, 0x5f, 0xe0, 0x36, 0x22, + 0x66, 0x44, 0x79, 0x22, 0x92, 0x9c, 0x95, 0xba, 0xa1, 0xc1, 0xe2, 0xe8, 0xd2, 0x62, 0x4d, 0x4e, 0x90, 0xcc, 0x97, + 0x88, 0xe0, 0x5f, 0x2e, 0xd5, 0xb3, 0xfb, 0x9b, 0xb5, 0x67, 0x85, 0xb6, 0x46, 0x60, 0xb2, 0x8b, 0x5e, 0xbd, 0xe8, + 0x35, 0xb7, 0x86, 0xf2, 0x21, 0x51, 0xc8, 0xef, 0x49, 0xdd, 0x1a, 0xd6, 0x4c, 0x52, 0x30, 0xdf, 0x17, 0xb5, 0x45, + 0xeb, 0xce, 0xb1, 0x97, 0x3f, 0xea, 0x71, 0xf7, 0x54, 0x82, 0x82, 0xd0, 0x6d, 0x26, 0xb5, 0x40, 0x24, 0x59, 0x63, + 0x8b, 0x7d, 0x22, 0x7a, 0xc7, 0x74, 0xa5, 0x74, 0x71, 0x64, 0xfb, 0xe5, 0x1d, 0x32, 0x93, 0x9c, 0x5d, 0x2a, 0x31, + 0xe5, 0x3f, 0x47, 0xd9, 0xe4, 0x62, 0x67, 0x8b, 0x3e, 0x73, 0x90, 0x36, 0x53, 0x13, 0x61, 0x0a, 0xf6, 0xce, 0xcc, + 0x46, 0x08, 0x8f, 0x24, 0x93, 0xc2, 0x28, 0xb1, 0x97, 0x7c, 0x8a, 0xa7, 0x90, 0xdf, 0x2a, 0x34, 0xb4, 0xe4, 0x99, + 0xfe, 0x07, 0xeb, 0x08, 0xdf, 0x4a, 0xe0, 0x20, 0xc9, 0x3f, 0x60, 0xc1, 0x6d, 0xe9, 0x7a, 0xc7, 0x6c, 0x90, 0x84, + 0xfb, 0x67, 0x96, 0xcf, 0x76, 0x7b, 0x10, 0xbf, 0x29, 0x12, 0x82, 0x2f, 0x3a, 0xaa, 0x5d, 0xb2, 0x8c, 0x4a, 0xaa, + 0x45, 0xe5, 0x7e, 0x7c, 0xcc, 0xcb, 0x23, 0x2a, 0x2f, 0xe0, 0x97, 0xef, 0xd6, 0x1c, 0x98, 0x81, 0xaf, 0xb4, 0xd5, + 0x44, 0xc2, 0x5e, 0x18, 0xec, 0x29, 0x94, 0x2c, 0xe2, 0xc0, 0x6e, 0x36, 0xc4, 0x5c, 0xe8, 0x5a, 0x9b, 0xed, 0xc3, + 0x18, 0x6a, 0x75, 0xca, 0xf4, 0x26, 0xae, 0x6a, 0x84, 0xb9, 0x4d, 0x23, 0x8e, 0x4a, 0x66, 0xda, 0x97, 0x1b, 0x4c, + 0xd3, 0x21, 0x7b, 0x1b, 0x68, 0x2d, 0xdf, 0x1c, 0xeb, 0xca, 0x9b, 0x69, 0x8f, 0x42, 0xc0, 0x18, 0xb1, 0xe6, 0x8a, + 0x5e, 0x6b, 0x65, 0x3f, 0x48, 0xb1, 0x3f, 0xaa, 0x05, 0x22, 0xaa, 0x22, 0xa9, 0xd9, 0xb0, 0xcb, 0x5e, 0xad, 0xbd, + 0xac, 0x0b, 0xb0, 0x74, 0x6a, 0x39, 0xd6, 0xbc, 0x60, 0x30, 0x94, 0xa9, 0x5a, 0x2d, 0x73, 0x87, 0xab, 0xec, 0xa9, + 0x96, 0x97, 0xb2, 0x20, 0x61, 0x2f, 0x81, 0xe8, 0xc4, 0xf7, 0x74, 0x4f, 0x22, 0xdf, 0x99, 0xd3, 0x37, 0x66, 0x32, + 0xc4, 0xe8, 0xac, 0x58, 0x81, 0x55, 0xbd, 0x0d, 0x0c, 0x15, 0xb5, 0xc6, 0x86, 0xee, 0xf2, 0x98, 0x7d, 0x8e, 0xc3, + 0x7d, 0x61, 0xbf, 0x2d, 0xc8, 0x7d, 0xf8, 0xef, 0x59, 0x7e, 0xdb, 0xd8, 0x2c, 0xcc, 0xb2, 0xde, 0x3c, 0x46, 0x8e, + 0xf0, 0x7a, 0x4b, 0xa5, 0xca, 0x16, 0x0c, 0xd9, 0x6b, 0x58, 0xf7, 0xab, 0x99, 0xba, 0x90, 0x6e, 0x62, 0x46, 0x8c, + 0xda, 0x9d, 0x48, 0x12, 0xf4, 0x14, 0x33, 0x28, 0xa1, 0x79, 0x91, 0xd6, 0x66, 0x23, 0xf7, 0x60, 0x9d, 0x8e, 0x4c, + 0x44, 0x97, 0x60, 0x8a, 0x73, 0x36, 0xdf, 0xdf, 0x61, 0xc8, 0x61, 0x8f, 0x25, 0xaa, 0xe4, 0x41, 0xbd, 0x6f, 0x65, + 0xa5, 0xa6, 0xd8, 0x74, 0x2c, 0x23, 0x2e, 0x37, 0x80, 0x83, 0x1d, 0x6d, 0xa7, 0x86, 0x39, 0xb5, 0x73, 0x09, 0x76, + 0x72, 0x53, 0x7b, 0xb7, 0x22, 0x03, 0x4b, 0x1e, 0x08, 0x55, 0x18, 0xf0, 0x69, 0x5f, 0x11, 0x00, 0x9a, 0xe3, 0x14, + 0x89, 0x3f, 0x8c, 0xe4, 0xef, 0x77, 0x24, 0x9d, 0x84, 0xe3, 0x6e, 0x24, 0x70, 0x7a, 0x1c, 0xc0, 0x28, 0xf5, 0x64, + 0xf3, 0x03, 0x10, 0xe5, 0x22, 0x7f, 0x95, 0x18, 0x1d, 0x31, 0x44, 0x38, 0xf0, 0x53, 0x71, 0x21, 0x6d, 0xbd, 0x59, + 0x2e, 0x8e, 0x46, 0x41, 0xd7, 0xd5, 0x01, 0xf7, 0x91, 0x0a, 0x00, 0x6d, 0x36, 0xe4, 0xba, 0xbe, 0x77, 0x88, 0xd8, + 0x7d, 0x5a, 0xb8, 0x41, 0x04, 0x7e, 0x5c, 0xa6, 0xe6, 0x5b, 0x38, 0x5c, 0xd3, 0x4c, 0xbd, 0x95, 0xc7, 0xd3, 0x7d, + 0xdd, 0xed, 0x0c, 0xf0, 0x2f, 0x97, 0x38, 0x60, 0xfe, 0x3b, 0xa9, 0xe2, 0x60, 0xc4, 0x1c, 0x1d, 0xe3, 0x92, 0x66, + 0x66, 0x6a, 0xc8, 0x73, 0x73, 0xe5, 0x29, 0xca, 0x81, 0xcc, 0x27, 0xd3, 0x43, 0x76, 0x13, 0xf8, 0x35, 0x40, 0x5d, + 0x3c, 0x24, 0x54, 0x80, 0x7a, 0x82, 0xc0, 0xd5, 0x04, 0xc2, 0xb2, 0xf9, 0x73, 0x6c, 0xee, 0x99, 0x68, 0x02, 0x1a, + 0x3a, 0x50, 0xe9, 0xf4, 0xa4, 0x2c, 0x80, 0x7a, 0xa8, 0xfd, 0x10, 0x09, 0x0f, 0x7a, 0xd9, 0x74, 0xd0, 0xb8, 0x8e, + 0x46, 0x48, 0x9a, 0x50, 0x90, 0xb8, 0xc0, 0x29, 0xfa, 0x6a, 0xc9, 0xfc, 0x55, 0x22, 0xdf, 0xa8, 0x72, 0xd1, 0xe0, + 0x5f, 0xa2, 0x45, 0x56, 0xcf, 0x18, 0x99, 0x1d, 0x6d, 0xca, 0x4a, 0x65, 0xbc, 0x00, 0xf0, 0xe1, 0x10, 0x1c, 0x49, + 0x44, 0x2c, 0x93, 0x68, 0x22, 0x1b, 0x87, 0xf2, 0xa7, 0x97, 0x77, 0x0a, 0xe0, 0x7a, 0x1e, 0x09, 0x9a, 0x08, 0x7c, + 0x6c, 0x09, 0x38, 0x33, 0x83, 0x00, 0x67, 0xab, 0x4d, 0x23, 0x30, 0x11, 0x5a, 0x79, 0x6a, 0xd8, 0xc7, 0x48, 0x94, + 0xe3, 0x12, 0x61, 0xe4, 0x76, 0x4d, 0x19, 0xb9, 0x44, 0x24, 0x36, 0xe6, 0xc8, 0x73, 0xfd, 0x51, 0x0a, 0xfd, 0xcb, + 0x2c, 0x7c, 0x52, 0xa2, 0xfa, 0xd2, 0xa0, 0x78, 0xd3, 0xc6, 0x07, 0x3b, 0x18, 0xd7, 0x52, 0xcb, 0x61, 0xc2, 0x60, + 0xbe, 0xf6, 0xff, 0xc6, 0xd7, 0x4a, 0xf5, 0x95, 0xf3, 0x11, 0x5d, 0xf1, 0x18, 0x1c, 0xd6, 0x89, 0x9c, 0x5f, 0x37, + 0x4d, 0xe4, 0xf8, 0x73, 0x79, 0xb7, 0x37, 0x9e, 0xee, 0x36, 0x82, 0xca, 0xa5, 0x34, 0x67, 0x9e, 0x11, 0x7d, 0x18, + 0x58, 0xbe, 0x58, 0xa3, 0xca, 0x34, 0xbe, 0x74, 0x40, 0xb9, 0xe2, 0xf0, 0xf4, 0x24, 0x10, 0x2f, 0x07, 0x7b, 0x8a, + 0x03, 0x62, 0x45, 0x89, 0xb2, 0x67, 0x2a, 0x22, 0x8d, 0x43, 0x60, 0xbd, 0x11, 0x19, 0x19, 0x02, 0x52, 0x86, 0xed, + 0x9a, 0xf5, 0xaf, 0x58, 0x51, 0x7c, 0x0e, 0xc9, 0x26, 0xcb, 0x66, 0x7c, 0x8a, 0x1d, 0x8d, 0x57, 0x22, 0xa9, 0x68, + 0xd9, 0xf4, 0xa7, 0x6d, 0x47, 0xf6, 0x5e, 0x82, 0x43, 0xe2, 0x00, 0xa7, 0xf4, 0xce, 0x9f, 0xcb, 0x3b, 0xab, 0x23, + 0xdf, 0x83, 0xfe, 0x95, 0x97, 0xfc, 0x95, 0xef, 0xc1, 0x9e, 0xf2, 0x92, 0xa7, 0x7c, 0x0f, 0xf8, 0x94, 0x17, 0x89, + 0xe2, 0x34, 0x7d, 0xe5, 0x70, 0x1e, 0x8c, 0x11, 0x43, 0xb9, 0x3c, 0x91, 0xad, 0xe4, 0xe0, 0x17, 0xef, 0x13, 0xee, + 0xb3, 0x81, 0x94, 0x3c, 0x66, 0xa6, 0x58, 0x89, 0x4a, 0x56, 0x96, 0x49, 0x01, 0x7c, 0xea, 0xdb, 0xc5, 0x99, 0xed, + 0x17, 0xfc, 0xe1, 0x97, 0x48, 0x1a, 0x03, 0x71, 0xa7, 0x04, 0x5d, 0xbb, 0xd3, 0xd7, 0x9e, 0xdb, 0x8a, 0x08, 0xca, + 0x72, 0xc4, 0xe8, 0x44, 0xa5, 0x1d, 0x67, 0x89, 0xde, 0xbd, 0x55, 0x18, 0x08, 0xfa, 0x76, 0xa1, 0x8f, 0xc8, 0x61, + 0xfd, 0xfd, 0x17, 0x20, 0x64, 0x5c, 0x12, 0x88, 0xc0, 0x3e, 0xf6, 0xea, 0x39, 0xd4, 0xda, 0xf3, 0xa4, 0x8a, 0x06, + 0x5c, 0x93, 0x83, 0x71, 0x8b, 0x90, 0xa4, 0xa7, 0xff, 0x88, 0x1f, 0x92, 0xb3, 0x74, 0xd1, 0x3c, 0x0b, 0xf7, 0x18, + 0x2d, 0x07, 0x34, 0x27, 0x41, 0xd5, 0xcc, 0x72, 0x45, 0x34, 0x9a, 0xd3, 0x9e, 0x79, 0xe0, 0x64, 0xa9, 0xb6, 0xae, + 0xc2, 0x9d, 0xf7, 0xf8, 0x19, 0x9f, 0xd1, 0x71, 0x9a, 0x1e, 0x19, 0xb0, 0x2f, 0x72, 0x7a, 0x1f, 0x5c, 0xe1, 0x58, + 0x6b, 0x30, 0x3d, 0x91, 0x6c, 0x2d, 0xae, 0xaf, 0xc6, 0xf8, 0x82, 0xb4, 0xca, 0xfb, 0x52, 0x44, 0xc3, 0x4f, 0xc9, + 0xc4, 0x66, 0xa4, 0xa5, 0x21, 0x5f, 0x5b, 0x6a, 0xb4, 0x59, 0xb1, 0x04, 0x4b, 0x6e, 0xbf, 0x75, 0x85, 0x4d, 0xdf, + 0x64, 0x2e, 0x92, 0x6c, 0x54, 0xdd, 0x14, 0x69, 0x53, 0xe0, 0x53, 0x92, 0x15, 0xc1, 0x23, 0x50, 0x64, 0xee, 0x48, + 0x72, 0xbc, 0x74, 0xd4, 0x72, 0xaa, 0x4a, 0x88, 0xc2, 0x67, 0x15, 0x56, 0xb5, 0x14, 0x1d, 0x2f, 0x0e, 0x44, 0x08, + 0x39, 0x8c, 0x4b, 0xa7, 0xa6, 0xd1, 0x75, 0xad, 0xf6, 0x16, 0xf2, 0x1c, 0x7c, 0xf9, 0x69, 0x88, 0x25, 0x2c, 0x59, + 0x8d, 0x31, 0xe0, 0xcc, 0xb3, 0x1b, 0x7a, 0xe4, 0xb9, 0xbc, 0x1f, 0x80, 0xa3, 0x17, 0xbb, 0x16, 0x8a, 0xb9, 0xeb, + 0x33, 0x12, 0x09, 0x24, 0x32, 0x5f, 0x00, 0x70, 0x00, 0xc0, 0x55, 0x2f, 0xab, 0x3a, 0x80, 0x41, 0x2b, 0x55, 0xa0, + 0x67, 0x0a, 0x6e, 0x81, 0xcc, 0xd0, 0x72, 0x50, 0xf9, 0x23, 0x0a, 0x7c, 0xed, 0x90, 0x2c, 0x26, 0xb2, 0x34, 0x94, + 0xac, 0x63, 0x42, 0x3b, 0x1f, 0xc6, 0xd3, 0x4b, 0x14, 0xee, 0x22, 0xa5, 0xa3, 0xb6, 0xe8, 0xa7, 0x67, 0x8f, 0x7a, + 0x5a, 0x38, 0x2d, 0x22, 0x2f, 0xc7, 0xc6, 0xbf, 0xe5, 0xed, 0xba, 0x5c, 0x7f, 0x64, 0x2b, 0x9a, 0x82, 0x36, 0x04, + 0x9f, 0x3d, 0x5b, 0xf5, 0x8c, 0xbe, 0x42, 0x4e, 0x8b, 0xe5, 0xd0, 0xeb, 0xb7, 0x59, 0x6d, 0x0e, 0x1f, 0x9e, 0xd1, + 0x03, 0xd1, 0xa5, 0xbb, 0xd7, 0x48, 0xa0, 0xb9, 0x44, 0xb0, 0x18, 0x9e, 0xe3, 0xd2, 0x6e, 0x72, 0x28, 0x29, 0x0a, + 0x62, 0x15, 0xf8, 0x80, 0xde, 0xde, 0xc1, 0x90, 0xc1, 0xae, 0xdb, 0x18, 0xc0, 0xd5, 0x40, 0xf3, 0xac, 0xc5, 0x61, + 0xaf, 0x4f, 0xc0, 0xc6, 0xd2, 0xf9, 0x6a, 0xdb, 0x45, 0xb1, 0xd7, 0x5c, 0x91, 0xee, 0xda, 0x0a, 0x81, 0x3f, 0x17, + 0x9f, 0xfc, 0xed, 0x79, 0xd1, 0xfe, 0xd6, 0x7f, 0x29, 0xbd, 0x77, 0xaa, 0xf6, 0x7b, 0xa3, 0x01, 0xf5, 0xc7, 0xa9, + 0x65, 0xa9, 0x2c, 0x87, 0x59, 0xe9, 0xf9, 0x68, 0x54, 0x8b, 0xdb, 0x6b, 0x8a, 0x88, 0x8f, 0x92, 0xe0, 0x66, 0x53, + 0x2b, 0x0f, 0xee, 0x9d, 0xed, 0x85, 0xbe, 0x87, 0x81, 0xea, 0x5e, 0x0b, 0x4d, 0x77, 0x2e, 0x25, 0xa8, 0xc9, 0xc8, + 0x68, 0xa6, 0xd9, 0x98, 0xb7, 0xbe, 0xf9, 0x61, 0xaa, 0x5f, 0xd0, 0xa7, 0x52, 0x72, 0x20, 0x3b, 0xab, 0x8b, 0x52, + 0xb1, 0x2a, 0x09, 0xc1, 0xe2, 0xfa, 0xbb, 0x38, 0x24, 0x30, 0x70, 0xad, 0xba, 0x0c, 0x18, 0x89, 0x7d, 0xb1, 0xf8, + 0xa8, 0xe8, 0xf8, 0xad, 0x1d, 0x64, 0x70, 0xb3, 0xcb, 0xbc, 0x0c, 0x33, 0xfc, 0x20, 0xac, 0xd3, 0x9a, 0x82, 0x40, + 0x4d, 0x9d, 0xbc, 0x4a, 0x82, 0x62, 0xf9, 0x66, 0x4f, 0x1b, 0x7b, 0x61, 0x6c, 0x03, 0xe8, 0xd9, 0xa6, 0x91, 0x18, + 0x4c, 0xfc, 0x93, 0x63, 0xf7, 0x57, 0xa1, 0xd2, 0xaa, 0x6b, 0x51, 0x7b, 0x51, 0x1e, 0x84, 0x0e, 0xa1, 0x43, 0x51, + 0x2b, 0xb7, 0x75, 0x58, 0x9f, 0xd7, 0xb2, 0x3c, 0xe9, 0x9f, 0x78, 0xbb, 0x48, 0xd7, 0xc5, 0x1d, 0x0c, 0x35, 0x12, + 0xc8, 0x8e, 0x2a, 0x36, 0x69, 0xdc, 0x51, 0xa9, 0xb2, 0xdc, 0x7d, 0xd8, 0xa0, 0x5e, 0x5b, 0x44, 0x90, 0xa9, 0x3e, + 0xae, 0x08, 0x35, 0x86, 0x3d, 0xa1, 0x34, 0x05, 0x4c, 0x65, 0x95, 0xc5, 0x53, 0x73, 0x77, 0x7e, 0xc8, 0x99, 0xd2, + 0x70, 0xc0, 0xc7, 0xb0, 0x98, 0x0d, 0xfc, 0xfb, 0x21, 0xd2, 0xc0, 0x4d, 0xad, 0x67, 0xa1, 0x4c, 0x20, 0xad, 0x50, + 0xcc, 0x47, 0x32, 0x0a, 0x13, 0x7c, 0xcf, 0x19, 0x14, 0x39, 0x29, 0xd9, 0x68, 0xfc, 0x66, 0xdd, 0x63, 0xe8, 0x38, + 0x33, 0x3e, 0xcc, 0xd3, 0x15, 0x7b, 0xa5, 0xc0, 0xd5, 0x21, 0x14, 0x5c, 0x8e, 0xa3, 0x1a, 0xd7, 0x05, 0xd9, 0x40, + 0x49, 0x5e, 0x78, 0x8f, 0x24, 0xa4, 0x2e, 0xf4, 0x94, 0x6a, 0x47, 0x21, 0x19, 0x96, 0x60, 0x7a, 0xdc, 0x9d, 0xb1, + 0x8d, 0x2b, 0x69, 0xdb, 0xd9, 0x69, 0xa1, 0x6e, 0xcf, 0xc0, 0x83, 0x5d, 0xd5, 0x3b, 0x28, 0x47, 0x56, 0x06, 0x1a, + 0x8c, 0x80, 0xb6, 0x2c, 0x49, 0xaa, 0x89, 0xd8, 0x68, 0x14, 0x46, 0x0d, 0xa5, 0xb5, 0x92, 0x9d, 0x9c, 0xdf, 0xeb, + 0xaa, 0x98, 0x26, 0xeb, 0x50, 0x1c, 0xf4, 0xc4, 0x24, 0xa5, 0x79, 0x5d, 0xb6, 0x78, 0x7f, 0xa0, 0xf6, 0x8b, 0x54, + 0x7b, 0x62, 0x6f, 0x6e, 0x24, 0x4a, 0xb3, 0xef, 0x29, 0x94, 0x87, 0x46, 0xe7, 0xb5, 0xd1, 0x79, 0x79, 0x1d, 0xa5, + 0xff, 0x9b, 0xa8, 0x65, 0xca, 0xc6, 0x98, 0xa2, 0x0e, 0x68, 0x3e, 0x31, 0x82, 0xf6, 0xfd, 0x4b, 0xa1, 0x8e, 0x50, + 0x34, 0x4c, 0x3d, 0xce, 0xb0, 0x18, 0xe9, 0x06, 0xcf, 0x97, 0x84, 0x04, 0xf7, 0xee, 0xc0, 0xc0, 0x23, 0xc2, 0x3c, + 0x91, 0x31, 0x9d, 0x20, 0x0c, 0x51, 0x59, 0x27, 0x67, 0xde, 0xe7, 0xe6, 0xdf, 0x6e, 0x4a, 0xdb, 0x6e, 0xfa, 0x0d, + 0x26, 0xe7, 0xfd, 0x94, 0xde, 0x7b, 0x79, 0xb4, 0x69, 0x7f, 0x31, 0xb2, 0x5b, 0xf0, 0xc2, 0xe2, 0x3d, 0x16, 0xf6, + 0x2f, 0x65, 0x3e, 0x73, 0xac, 0xf4, 0x36, 0x63, 0x20, 0x83, 0x67, 0xd6, 0x58, 0xfe, 0x4a, 0xd0, 0x8e, 0x42, 0xa0, + 0x9d, 0xd8, 0x09, 0x59, 0x05, 0x09, 0x88, 0xc4, 0x58, 0xdb, 0xce, 0xc1, 0x40, 0x3b, 0xd6, 0x99, 0x5b, 0xb4, 0xf4, + 0xdd, 0x53, 0x4e, 0x4a, 0x00, 0xca, 0x4b, 0xe5, 0x9f, 0x5d, 0x9c, 0x1a, 0xfb, 0x38, 0xc1, 0xd8, 0x0a, 0xec, 0x43, + 0x02, 0xa9, 0x2a, 0x26, 0x74, 0x9a, 0x22, 0xa0, 0x8b, 0x63, 0x13, 0x7f, 0x6e, 0xdc, 0x9d, 0xc1, 0xea, 0x69, 0xbe, + 0x64, 0x9b, 0xdd, 0x4b, 0x8c, 0xa9, 0xcd, 0x3a, 0xdb, 0x16, 0xf3, 0x8c, 0xdc, 0x95, 0xc5, 0xda, 0x04, 0x52, 0xb6, + 0xe4, 0xca, 0xb5, 0x45, 0xc8, 0x84, 0x21, 0xeb, 0x1a, 0x42, 0x52, 0x20, 0xf8, 0x2d, 0x25, 0x81, 0xd5, 0xfb, 0xa5, + 0xae, 0xd4, 0xb3, 0x88, 0x76, 0x99, 0xa0, 0x1d, 0x1c, 0x39, 0xd2, 0x79, 0xe1, 0xff, 0xb7, 0x12, 0x42, 0x38, 0xd3, + 0x86, 0x6e, 0x4b, 0x68, 0x92, 0xe2, 0xe8, 0x2a, 0x5a, 0x40, 0xbe, 0xeb, 0xf5, 0x2f, 0x8d, 0xcd, 0xfb, 0x0e, 0x9e, + 0x0d, 0x22, 0x81, 0x8d, 0xa8, 0xa9, 0x51, 0x0d, 0xab, 0xad, 0x6e, 0xda, 0x6e, 0x1e, 0xdd, 0xde, 0xc8, 0xc7, 0x50, + 0xe1, 0xe8, 0xe7, 0x40, 0x89, 0xe3, 0xde, 0x34, 0xa5, 0x4d, 0x54, 0xfe, 0x17, 0xaa, 0x05, 0x4e, 0xe1, 0x93, 0x1b, + 0x9c, 0x0a, 0x4e, 0xbb, 0xa7, 0x86, 0xe2, 0x7e, 0xbf, 0x54, 0xd1, 0xf5, 0x71, 0x73, 0x95, 0x01, 0x9a, 0xf0, 0x08, + 0x72, 0x39, 0xf2, 0xfd, 0xbc, 0xae, 0xfc, 0x22, 0xbf, 0xf4, 0xed, 0x6b, 0x47, 0xd8, 0x42, 0x8d, 0xb4, 0xd0, 0xe3, + 0x24, 0xbf, 0x2c, 0x6f, 0x92, 0xee, 0x90, 0x81, 0xeb, 0x2f, 0x6b, 0xec, 0x1d, 0xaa, 0xf2, 0xd8, 0x6d, 0x8f, 0x14, + 0x08, 0xd3, 0x49, 0x97, 0xca, 0x5d, 0x29, 0x25, 0x62, 0xd4, 0x86, 0xb3, 0x4e, 0xd5, 0xa2, 0xb6, 0xb0, 0x9e, 0x2d, + 0x74, 0x93, 0x0a, 0x08, 0xd5, 0xf7, 0x94, 0x87, 0x63, 0x60, 0xd8, 0x3b, 0x5f, 0x1e, 0x27, 0x0b, 0xe7, 0x53, 0x5d, + 0x2b, 0xe7, 0xa9, 0xb6, 0xeb, 0xbe, 0xce, 0x50, 0x60, 0x6c, 0xe9, 0x1d, 0xbb, 0x0c, 0xe7, 0xb7, 0xea, 0x0a, 0x4f, + 0x96, 0x11, 0x3c, 0x4b, 0x7d, 0x42, 0xf0, 0x55, 0xf2, 0x48, 0xe1, 0xc1, 0xd1, 0xcd, 0x59, 0x40, 0x07, 0xd3, 0x49, + 0xe0, 0xc1, 0xf1, 0xb6, 0x56, 0xc9, 0xfa, 0xe0, 0xe5, 0x98, 0x10, 0x06, 0x94, 0xac, 0x0f, 0xb6, 0xdd, 0x58, 0xb9, + 0x44, 0xe3, 0xf5, 0x23, 0x0b, 0x2d, 0xba, 0x7e, 0xd0, 0xa6, 0xe7, 0x01, 0x53, 0x39, 0xaa, 0xae, 0xe7, 0x29, 0x67, + 0x87, 0x98, 0x27, 0x8c, 0x74, 0x62, 0xd0, 0xc8, 0x0e, 0x98, 0x47, 0xa9, 0xf9, 0xa9, 0x75, 0x9b, 0x6f, 0xf6, 0xe1, + 0x33, 0x61, 0xac, 0xd5, 0x46, 0x91, 0xcf, 0x53, 0x68, 0xcf, 0x8e, 0xbc, 0xdf, 0xa8, 0x21, 0x23, 0x6b, 0xd3, 0x15, + 0x90, 0x8c, 0x05, 0x7f, 0x36, 0x43, 0x58, 0xd4, 0x4a, 0xc6, 0x69, 0x62, 0x9f, 0x4d, 0x37, 0x91, 0xae, 0xf2, 0x55, + 0x04, 0x78, 0xbf, 0xe1, 0x4c, 0x9a, 0xc7, 0x96, 0x5b, 0x8c, 0x98, 0xbc, 0xd4, 0x84, 0xda, 0xa2, 0x89, 0x28, 0x01, + 0xa0, 0xd7, 0xc3, 0x3e, 0x02, 0x95, 0xbe, 0x43, 0x38, 0x37, 0x4f, 0x6c, 0x69, 0x93, 0x9a, 0x0b, 0x0a, 0xc3, 0x1d, + 0x3b, 0xd9, 0x8b, 0x4d, 0x26, 0xf6, 0x0c, 0xe6, 0xa1, 0xc5, 0x5a, 0x76, 0xf3, 0x47, 0xb1, 0xe3, 0x07, 0x34, 0x90, + 0xf9, 0x01, 0x0b, 0x92, 0x3f, 0x96, 0x0e, 0x71, 0x2e, 0x04, 0xc5, 0x43, 0x5a, 0xc9, 0x22, 0x16, 0xa4, 0xdb, 0xf1, + 0x22, 0xce, 0x65, 0x4e, 0x6e, 0x01, 0x41, 0x75, 0x20, 0x16, 0xb2, 0xdc, 0x40, 0x1a, 0x6f, 0x70, 0xe1, 0xbc, 0xc9, + 0x89, 0x24, 0xb0, 0xf5, 0x4c, 0x24, 0x93, 0x45, 0x39, 0x16, 0x81, 0xdf, 0x7c, 0xec, 0xfe, 0x66, 0x3e, 0x36, 0x1b, + 0x7b, 0xda, 0x2c, 0xdf, 0x2c, 0xc2, 0xcc, 0xda, 0xaa, 0xc2, 0x84, 0x25, 0x92, 0x71, 0xc2, 0x5b, 0x7b, 0xf8, 0xca, + 0xad, 0xe1, 0x33, 0xf8, 0xdd, 0xcc, 0x16, 0x73, 0x69, 0x3b, 0x5b, 0x24, 0xe9, 0x20, 0x4c, 0x37, 0xe1, 0x1f, 0x62, + 0x64, 0xba, 0xd8, 0xac, 0xe8, 0x47, 0x83, 0x44, 0xf1, 0x76, 0xe3, 0xe5, 0xe1, 0xb7, 0x08, 0x0e, 0x76, 0x0b, 0xb2, + 0xb9, 0xfb, 0x72, 0xa4, 0xe2, 0x21, 0x2b, 0xaa, 0x1a, 0x63, 0x84, 0x52, 0x88, 0x63, 0x88, 0xba, 0xdc, 0xbe, 0x6a, + 0xcb, 0x43, 0xba, 0xfa, 0x5a, 0x64, 0x14, 0xde, 0xca, 0x7f, 0x63, 0xbe, 0xe3, 0x9f, 0x31, 0x95, 0xd4, 0x79, 0x0e, + 0xf0, 0xb5, 0xdf, 0xc1, 0x20, 0x21, 0x2a, 0x22, 0x7f, 0x2d, 0x11, 0x20, 0x66, 0xbd, 0xc4, 0x00, 0xee, 0xbc, 0xba, + 0x95, 0x93, 0x90, 0xbe, 0x60, 0xe8, 0x6d, 0x8b, 0x85, 0x79, 0x3c, 0x92, 0x7c, 0x87, 0xb1, 0x88, 0x9d, 0xf5, 0xc1, + 0x8c, 0x9d, 0xba, 0xe6, 0xc3, 0x74, 0xf6, 0x1f, 0x23, 0x2c, 0x70, 0x04, 0x43, 0xad, 0x85, 0x9f, 0xae, 0x02, 0xb8, + 0xd3, 0x7f, 0x08, 0x52, 0xe0, 0x36, 0x7a, 0xe2, 0x67, 0xba, 0x17, 0xd8, 0x04, 0xa7, 0x62, 0xaf, 0x88, 0xed, 0x39, + 0xd0, 0xab, 0x55, 0x0d, 0xa5, 0xbb, 0x73, 0x3a, 0x08, 0x53, 0x2c, 0x0a, 0x63, 0xbd, 0x8e, 0x12, 0x9b, 0x55, 0xcb, + 0x69, 0xc2, 0x90, 0xed, 0x2a, 0xd4, 0x9e, 0xe4, 0xc2, 0xa2, 0x84, 0x23, 0x37, 0x89, 0x37, 0xd5, 0x3a, 0xa0, 0x7e, + 0xeb, 0xd7, 0x26, 0xb8, 0xf5, 0x82, 0xa5, 0x63, 0x41, 0xa1, 0xa5, 0x88, 0xc1, 0x23, 0x44, 0x06, 0xaf, 0xcb, 0x15, + 0xe2, 0xf4, 0x22, 0xfd, 0xbe, 0x75, 0x57, 0x4a, 0x4b, 0x77, 0xb3, 0x88, 0xd9, 0xcf, 0xe9, 0xaf, 0x86, 0x97, 0xd7, + 0x9c, 0x91, 0x71, 0xd1, 0xb4, 0xe8, 0xa9, 0xd7, 0xb8, 0xdc, 0x80, 0xd9, 0x43, 0xab, 0x63, 0x86, 0xfd, 0x33, 0x2d, + 0x2d, 0xc6, 0xf8, 0x9d, 0x28, 0xa6, 0xdd, 0xef, 0x3e, 0x75, 0xe2, 0x9e, 0x5e, 0xe8, 0xa0, 0xf7, 0x96, 0x78, 0xdb, + 0xe9, 0x9d, 0xae, 0x3e, 0x9b, 0x8e, 0x41, 0xf4, 0x8d, 0x32, 0x7d, 0x37, 0x0b, 0x5d, 0x2e, 0x63, 0xd6, 0x68, 0x93, + 0xf6, 0xe5, 0x72, 0xfa, 0xa5, 0x97, 0xb9, 0xf1, 0x6f, 0xe1, 0x7a, 0x32, 0x24, 0x92, 0x96, 0x2a, 0x95, 0x2a, 0x9c, + 0x74, 0x81, 0xc4, 0x9a, 0x89, 0x5a, 0xae, 0x51, 0x67, 0x1c, 0x0f, 0x97, 0x0e, 0xcb, 0xef, 0x9b, 0x0f, 0x2a, 0xbd, + 0x7c, 0x1f, 0x88, 0x7d, 0x76, 0x25, 0x19, 0x50, 0x4e, 0xe1, 0x8c, 0xec, 0xfe, 0x73, 0x58, 0xed, 0x0a, 0xa0, 0x66, + 0x18, 0xbd, 0x5c, 0x1a, 0x76, 0x50, 0x94, 0x7e, 0x3a, 0xe9, 0xa6, 0x20, 0xac, 0xaf, 0xce, 0xc2, 0xeb, 0x5a, 0x92, + 0xe8, 0x12, 0x7f, 0x25, 0xdd, 0x4f, 0x38, 0xc9, 0xbe, 0x43, 0x7d, 0x55, 0x97, 0x00, 0xd0, 0x21, 0x5e, 0xa9, 0x40, + 0x9a, 0x79, 0x4b, 0xba, 0x4a, 0x64, 0x5d, 0x7c, 0x48, 0x01, 0x5c, 0x59, 0x6f, 0x9f, 0x66, 0x21, 0x5d, 0x6b, 0x89, + 0x9d, 0x84, 0x6e, 0xb8, 0x9f, 0x30, 0x02, 0x24, 0xd8, 0xf1, 0x00, 0x9a, 0xbc, 0x13, 0x9e, 0x63, 0xbd, 0x9a, 0x58, + 0x83, 0x20, 0xa2, 0x7b, 0x2f, 0xc1, 0x6e, 0x4e, 0xf3, 0xac, 0xb0, 0x09, 0xd1, 0xec, 0xc8, 0x7d, 0x3f, 0x39, 0xf0, + 0x7a, 0x61, 0x53, 0xb1, 0x51, 0x99, 0x3a, 0xb9, 0xc5, 0x38, 0xc0, 0x3e, 0x2d, 0x05, 0xd4, 0x70, 0x15, 0xa5, 0x2c, + 0xa7, 0x29, 0xa1, 0xc5, 0x38, 0xe0, 0xf4, 0x25, 0x07, 0xff, 0x27, 0x82, 0x26, 0x64, 0x1d, 0x7e, 0xfc, 0xb1, 0x05, + 0x7f, 0x24, 0xad, 0x69, 0x56, 0x44, 0xab, 0x3d, 0xc5, 0x1a, 0x34, 0x2f, 0x93, 0x8f, 0x0d, 0x03, 0xd8, 0xbc, 0x16, + 0xb2, 0xfa, 0x89, 0x9b, 0x56, 0x3c, 0x50, 0x7e, 0xca, 0x41, 0xed, 0xa9, 0x35, 0xf6, 0x42, 0xb2, 0xd3, 0xac, 0xa8, + 0x88, 0xe2, 0x7a, 0xb2, 0x5d, 0x17, 0xef, 0xbe, 0x48, 0x54, 0xfc, 0xe9, 0x06, 0x62, 0x48, 0x40, 0x02, 0x83, 0x15, + 0xd4, 0x90, 0xd0, 0x51, 0x5f, 0x6f, 0xbe, 0xbc, 0xd5, 0x20, 0xd0, 0x7c, 0xe9, 0x14, 0x10, 0x33, 0x15, 0xb3, 0xf3, + 0x21, 0xa0, 0x8a, 0xf7, 0x6f, 0x30, 0x69, 0x36, 0x7e, 0xb7, 0x8e, 0x6b, 0x5d, 0x38, 0xff, 0x51, 0xab, 0x66, 0xc0, + 0x86, 0xb8, 0xa0, 0x4a, 0xd1, 0xb0, 0xca, 0x58, 0x20, 0x1a, 0x3d, 0x7d, 0x1c, 0x59, 0x0a, 0xfb, 0xe7, 0xe6, 0xcb, + 0x67, 0xad, 0x4e, 0x6d, 0x5e, 0xcd, 0x5c, 0x4a, 0xa2, 0xe0, 0x32, 0x7d, 0xc3, 0x57, 0x00, 0x20, 0x33, 0x6b, 0x10, + 0x14, 0x34, 0xf8, 0x1a, 0x7c, 0x6e, 0x45, 0xc8, 0x38, 0xd0, 0xfd, 0x90, 0xf1, 0x87, 0x9b, 0xf6, 0x8a, 0xde, 0xd2, + 0xca, 0x7c, 0x4b, 0xaf, 0xf7, 0xb4, 0xd5, 0xf5, 0x4b, 0x8b, 0x19, 0x75, 0xa9, 0x5a, 0x9e, 0x7e, 0xde, 0xee, 0x7b, + 0xe2, 0xd6, 0xda, 0x9f, 0x8a, 0x32, 0xb6, 0x27, 0xe5, 0xa0, 0x31, 0x37, 0xfe, 0x05, 0xea, 0x35, 0x0d, 0x8d, 0x8a, + 0x42, 0x79, 0x5b, 0xf7, 0xad, 0x50, 0xe6, 0xed, 0x89, 0x8c, 0x23, 0xa9, 0x3b, 0x86, 0xbc, 0x2f, 0x6d, 0xe3, 0xf3, + 0x9a, 0x22, 0x50, 0xf8, 0x95, 0xe9, 0x94, 0x02, 0x5d, 0x13, 0x2e, 0x11, 0x3c, 0xb4, 0xbc, 0x2e, 0xdd, 0x98, 0x41, + 0xe5, 0xe8, 0x03, 0xbd, 0xa5, 0x0d, 0xc1, 0x8f, 0x8b, 0xf0, 0x8b, 0x9d, 0xd0, 0x4c, 0xae, 0x02, 0x35, 0x13, 0x55, + 0xf6, 0x90, 0xac, 0x0c, 0x96, 0x13, 0xa9, 0x49, 0xdf, 0xd4, 0x99, 0x40, 0x83, 0xa9, 0x57, 0x3e, 0xeb, 0x82, 0xa1, + 0x8b, 0x5d, 0x69, 0x61, 0x60, 0x11, 0x26, 0x5f, 0x84, 0x5f, 0x1f, 0x7d, 0x2d, 0x8d, 0x16, 0x18, 0x02, 0x84, 0xe6, + 0x5e, 0x5e, 0x34, 0x0a, 0xb6, 0xbf, 0xbb, 0x69, 0xaf, 0x57, 0x78, 0xf0, 0xed, 0x83, 0x79, 0x89, 0xc5, 0x81, 0x9e, + 0x9b, 0xfc, 0x71, 0x27, 0xed, 0x44, 0x41, 0x48, 0x6d, 0x2e, 0x70, 0x08, 0x50, 0xd5, 0xec, 0x21, 0xce, 0x56, 0x29, + 0x3b, 0x71, 0x04, 0x64, 0xf9, 0x6d, 0x04, 0xbe, 0x7c, 0xb7, 0xc6, 0xde, 0x63, 0x91, 0xb9, 0x28, 0xed, 0xf1, 0xb7, + 0xbb, 0x0b, 0xab, 0xbb, 0x79, 0x78, 0x2c, 0x28, 0xec, 0xfc, 0xe1, 0x3c, 0xee, 0xeb, 0xba, 0x7b, 0x00, 0x98, 0x81, + 0xf0, 0x71, 0x21, 0x1c, 0x02, 0xd1, 0x4c, 0x37, 0xeb, 0xf6, 0xa3, 0x4a, 0xaa, 0x8a, 0xa7, 0x00, 0x27, 0x1c, 0x02, + 0xef, 0x4c, 0x3d, 0x36, 0x4b, 0xb0, 0xd9, 0x0e, 0xc0, 0x10, 0x4a, 0xd3, 0x1c, 0x37, 0xe5, 0x06, 0xc8, 0x77, 0x11, + 0xc3, 0x14, 0xf7, 0x62, 0x8f, 0x86, 0x0f, 0x28, 0x8a, 0x68, 0xe9, 0xbc, 0x20, 0xdf, 0x76, 0x11, 0xcb, 0x9d, 0x27, + 0xa3, 0x0c, 0x3e, 0x11, 0xf9, 0x16, 0x29, 0x64, 0xee, 0x47, 0x9a, 0xc2, 0x6a, 0x9b, 0xd6, 0x8f, 0x01, 0x91, 0x5b, + 0x5a, 0x37, 0x26, 0x5a, 0x03, 0x17, 0x7a, 0x13, 0xf9, 0x02, 0x5a, 0xdb, 0x2a, 0x76, 0x9f, 0x5f, 0x89, 0x64, 0xf0, + 0x40, 0x98, 0x7f, 0xe3, 0xe1, 0xad, 0xd1, 0x31, 0xa5, 0x66, 0x76, 0x49, 0xfb, 0xe3, 0xbd, 0xb5, 0x97, 0xad, 0xfb, + 0xd6, 0xbb, 0x6a, 0x4d, 0x9e, 0xd3, 0x21, 0x95, 0xd8, 0x49, 0x05, 0x50, 0x04, 0x1f, 0x5b, 0x3e, 0x3f, 0x07, 0xa8, + 0x13, 0x05, 0x5c, 0xa8, 0x72, 0xe2, 0xcc, 0x38, 0xcc, 0xf2, 0x2b, 0x69, 0x73, 0x70, 0xfb, 0x79, 0x93, 0x62, 0x20, + 0x84, 0x42, 0x07, 0x64, 0xea, 0x0d, 0x4e, 0x6a, 0x6b, 0xda, 0x02, 0x8b, 0x39, 0x2c, 0x10, 0x39, 0x82, 0x00, 0xe4, + 0x10, 0xe9, 0x5a, 0xa5, 0xfb, 0x78, 0xd0, 0x0d, 0x28, 0x6f, 0x04, 0x66, 0xa4, 0x3f, 0x80, 0xd8, 0xb1, 0xb6, 0x73, + 0x95, 0x88, 0x30, 0x89, 0x34, 0x16, 0x1e, 0xfe, 0x25, 0x53, 0x52, 0x3e, 0x62, 0xb1, 0x1b, 0x82, 0x69, 0x31, 0xaf, + 0x48, 0x0e, 0x29, 0x48, 0x17, 0xea, 0xea, 0x5b, 0x8e, 0xc9, 0x39, 0xcd, 0x32, 0x14, 0xa6, 0x48, 0x18, 0x39, 0x9b, + 0x36, 0x13, 0x59, 0x40, 0x33, 0x56, 0x45, 0xa0, 0x5c, 0x91, 0xf5, 0xa8, 0x92, 0x3f, 0x72, 0xfe, 0x4d, 0x58, 0x05, + 0x97, 0x63, 0xc7, 0xba, 0x61, 0x9d, 0x9d, 0x17, 0x95, 0x69, 0x99, 0x7c, 0x5b, 0x96, 0x24, 0x5e, 0xc2, 0x63, 0x21, + 0xde, 0x2f, 0xfa, 0x6d, 0xf5, 0x14, 0xfa, 0xe5, 0xae, 0x1d, 0x42, 0x85, 0x54, 0x0c, 0x6a, 0x09, 0x13, 0x45, 0x8b, + 0xd2, 0xf8, 0xbd, 0x00, 0x5b, 0x1e, 0x03, 0xda, 0x58, 0xfa, 0xc1, 0x4a, 0x5c, 0x95, 0x23, 0x6a, 0x59, 0xbd, 0x95, + 0xa2, 0x93, 0xcb, 0xca, 0x32, 0xda, 0x22, 0x92, 0x80, 0x00, 0xe7, 0x2b, 0x65, 0x35, 0xbf, 0xe4, 0x3a, 0xac, 0x5b, + 0xbf, 0xb2, 0x54, 0x2a, 0x4c, 0xd1, 0x62, 0xb0, 0x8c, 0x08, 0xe3, 0x36, 0xd7, 0xba, 0x38, 0x7e, 0xd7, 0xfc, 0x0d, + 0xe8, 0xb7, 0x70, 0x97, 0xbb, 0x6a, 0x05, 0x6e, 0x5e, 0x44, 0x74, 0x41, 0x2e, 0x03, 0xb9, 0x0b, 0xaa, 0x37, 0x68, + 0xc1, 0x96, 0xac, 0xb7, 0xe6, 0x32, 0x2f, 0x0f, 0x7d, 0x15, 0x83, 0x3c, 0x7d, 0xa8, 0x68, 0x75, 0xa8, 0xf5, 0x71, + 0x6f, 0xff, 0x69, 0xaf, 0xda, 0x69, 0x40, 0x07, 0xe4, 0xbe, 0xd6, 0xf1, 0x75, 0x97, 0xff, 0xf9, 0x87, 0xdb, 0x22, + 0x91, 0xfb, 0x25, 0x75, 0x03, 0x1d, 0x82, 0xd2, 0x81, 0x60, 0x3b, 0x5e, 0x5a, 0x7e, 0x72, 0xd0, 0x0b, 0x6b, 0x42, + 0x2d, 0xbc, 0x29, 0x4f, 0x83, 0x11, 0x21, 0x94, 0x92, 0x58, 0xe7, 0xb4, 0xd9, 0xc3, 0x82, 0x3e, 0xdc, 0xe1, 0xac, + 0x36, 0xa6, 0x3f, 0x21, 0xaa, 0x4c, 0xb4, 0x07, 0x76, 0x17, 0x4d, 0x6c, 0x78, 0xd8, 0x0f, 0x4a, 0x52, 0x42, 0xb5, + 0xaf, 0xe8, 0x03, 0x65, 0x62, 0x8e, 0x2f, 0x3b, 0x14, 0xfc, 0x55, 0x6a, 0x89, 0x4d, 0x0c, 0xf6, 0x1d, 0x87, 0x25, + 0x51, 0x31, 0x80, 0xcd, 0x65, 0x8c, 0x59, 0x5f, 0x60, 0x8b, 0xd8, 0x9f, 0x56, 0x03, 0x65, 0xbf, 0x5b, 0xf7, 0x7d, + 0x67, 0x05, 0x50, 0xe6, 0x9a, 0x9f, 0xf4, 0x7b, 0xe4, 0x7b, 0xb0, 0xa8, 0x5f, 0x87, 0xa0, 0x45, 0xd7, 0xb5, 0x35, + 0x71, 0xe6, 0xb3, 0x74, 0xcf, 0x0d, 0x17, 0xfe, 0xbe, 0x2a, 0x90, 0x09, 0xd2, 0x74, 0xa8, 0x62, 0x33, 0x2e, 0xca, + 0x28, 0xb6, 0x0c, 0xf7, 0xc2, 0xef, 0xa4, 0x20, 0x42, 0x84, 0x8c, 0x61, 0x5a, 0x22, 0xe8, 0xd4, 0x7c, 0x9e, 0x36, + 0x02, 0xd5, 0x35, 0x29, 0x73, 0x4f, 0x97, 0x3b, 0xe2, 0x41, 0x89, 0x1e, 0x59, 0x02, 0xf4, 0x7f, 0xab, 0xe7, 0x1a, + 0xb7, 0x9c, 0x11, 0xa4, 0x59, 0x10, 0x19, 0x9c, 0xc1, 0x71, 0x8e, 0x1b, 0x2d, 0x24, 0x48, 0x14, 0x77, 0x27, 0xa1, + 0x4f, 0xda, 0x38, 0x35, 0xf8, 0x05, 0xb9, 0x28, 0x37, 0x2a, 0x00, 0xb5, 0x7b, 0x88, 0x16, 0x05, 0x73, 0x66, 0xc8, + 0x8e, 0xbc, 0x87, 0x18, 0x1e, 0xda, 0x52, 0x69, 0x1e, 0x73, 0x72, 0x02, 0x51, 0x73, 0x99, 0x27, 0x35, 0xf6, 0x0a, + 0xfa, 0x06, 0x14, 0xa7, 0xd0, 0xc6, 0x98, 0x38, 0x5d, 0x9e, 0xfa, 0x54, 0x0d, 0x44, 0xe9, 0xd9, 0x7c, 0x5d, 0xac, + 0x23, 0x76, 0xc0, 0x2e, 0x34, 0x63, 0x0c, 0x7e, 0x23, 0x94, 0x02, 0x0e, 0x32, 0x9f, 0x08, 0x3a, 0xf2, 0x83, 0x81, + 0x93, 0x19, 0xe3, 0x5d, 0xd6, 0x84, 0x03, 0x3d, 0x94, 0x52, 0x7d, 0x01, 0x9b, 0x21, 0x04, 0xe8, 0xaf, 0xc4, 0x7b, + 0x67, 0xad, 0x9e, 0x51, 0x89, 0x17, 0x13, 0x39, 0x28, 0xc2, 0x84, 0x87, 0x48, 0x8d, 0x28, 0x74, 0x24, 0xda, 0x43, + 0x05, 0xb3, 0xec, 0x6c, 0x5b, 0x53, 0xde, 0x17, 0x75, 0xea, 0x34, 0x07, 0xbf, 0xbe, 0x17, 0x6f, 0xe4, 0xea, 0x31, + 0xa0, 0xc7, 0xbe, 0x6e, 0x09, 0xd9, 0xbd, 0x53, 0x40, 0x80, 0x7c, 0xb1, 0x43, 0xc6, 0x84, 0xe8, 0x58, 0xd3, 0x92, + 0xaa, 0xd9, 0x47, 0x8b, 0xd0, 0x5f, 0xae, 0x8f, 0x33, 0x2c, 0x13, 0x42, 0x6d, 0x61, 0x02, 0x88, 0xd0, 0x93, 0x4e, + 0x09, 0x96, 0xe4, 0x3e, 0x78, 0xd9, 0xb0, 0xc3, 0xc1, 0x76, 0x55, 0x0c, 0x4f, 0x0e, 0x3f, 0x0f, 0x81, 0xed, 0x98, + 0x80, 0x4e, 0xb3, 0x14, 0x0a, 0xb1, 0xe1, 0x3e, 0x56, 0x33, 0x49, 0x05, 0x31, 0x4d, 0x54, 0x3e, 0xe0, 0x0f, 0x6a, + 0x23, 0x6e, 0xd2, 0x8e, 0xe2, 0xdd, 0x08, 0x7b, 0x89, 0x43, 0x37, 0x84, 0xeb, 0x80, 0xa8, 0xd1, 0x3e, 0x97, 0x35, + 0x37, 0xa2, 0xcd, 0x33, 0x32, 0x70, 0x89, 0xd4, 0x5f, 0xa1, 0x75, 0x50, 0x69, 0x41, 0x3d, 0x8b, 0xdf, 0x02, 0x3c, + 0xb7, 0x86, 0x96, 0xfb, 0x15, 0x92, 0xb8, 0x53, 0x8c, 0x66, 0xb4, 0x47, 0x78, 0x99, 0xee, 0x10, 0xe0, 0xde, 0x6a, + 0xdd, 0x69, 0xba, 0x1e, 0xa0, 0x8c, 0x9d, 0xb8, 0xe9, 0xb6, 0xca, 0x49, 0x1a, 0x03, 0x6a, 0xcc, 0xbf, 0x47, 0xef, + 0x07, 0xdf, 0x73, 0xa4, 0xe3, 0x76, 0x59, 0xe8, 0x5a, 0xa1, 0xf9, 0xf4, 0x39, 0xd9, 0x69, 0xe9, 0x16, 0xf7, 0x26, + 0x11, 0xea, 0xf0, 0x11, 0x5e, 0x30, 0x17, 0x4a, 0x77, 0x5c, 0xd4, 0xbd, 0xf9, 0xc9, 0xc2, 0x4d, 0x51, 0x53, 0x98, + 0x42, 0xc9, 0x66, 0xc3, 0x2b, 0x89, 0x59, 0xa0, 0xb9, 0x5c, 0x29, 0x84, 0x96, 0xf7, 0x40, 0xed, 0x35, 0x24, 0x6e, + 0xad, 0xd7, 0x16, 0x6e, 0xd3, 0x45, 0x6b, 0x35, 0x59, 0xd0, 0xc6, 0x48, 0xca, 0x98, 0x39, 0x74, 0x56, 0x64, 0xba, + 0x2a, 0x0a, 0x86, 0x35, 0xb5, 0x5e, 0x5d, 0x3b, 0x7e, 0x7e, 0x69, 0x7a, 0x08, 0x13, 0x0e, 0xac, 0x56, 0xd0, 0x3b, + 0xec, 0x34, 0x7f, 0x7a, 0xe1, 0x6a, 0x0b, 0x83, 0x44, 0x01, 0x01, 0x5d, 0x72, 0xf4, 0x3e, 0x96, 0x9e, 0xa2, 0x20, + 0x52, 0xa7, 0xab, 0xae, 0x32, 0x12, 0x82, 0x95, 0x8a, 0xff, 0x76, 0x60, 0x42, 0x8e, 0x70, 0x8e, 0xc8, 0xed, 0x75, + 0x25, 0xe7, 0xc7, 0x03, 0xd2, 0xd3, 0x11, 0x91, 0xd0, 0xd3, 0x1b, 0x43, 0x70, 0x39, 0x68, 0xec, 0xef, 0x02, 0xae, + 0xf0, 0x01, 0x86, 0xaf, 0x87, 0xae, 0x94, 0x1b, 0x2c, 0xec, 0xfb, 0x02, 0x69, 0xca, 0x45, 0x04, 0x07, 0xaa, 0x1d, + 0xf9, 0x9c, 0x1d, 0xf9, 0xad, 0x79, 0x15, 0x38, 0x37, 0x27, 0xbb, 0x46, 0x11, 0xca, 0x14, 0xbb, 0xb7, 0x03, 0x23, + 0x51, 0x92, 0xf0, 0xbb, 0x43, 0x42, 0x6b, 0xad, 0xf3, 0x3b, 0xee, 0x07, 0xbc, 0x28, 0x22, 0xf9, 0x07, 0xb1, 0x79, + 0x4f, 0x93, 0xf3, 0xf2, 0x1a, 0x5b, 0xb7, 0x15, 0x23, 0x00, 0xcd, 0x4d, 0xe6, 0x6d, 0x95, 0xc1, 0x0d, 0x56, 0x06, + 0x79, 0xb2, 0x24, 0x18, 0xcf, 0x52, 0x0d, 0xe6, 0xd9, 0xb1, 0x93, 0x96, 0x05, 0x0b, 0x81, 0x22, 0xd7, 0xd4, 0x66, + 0x75, 0x12, 0x57, 0xb4, 0x63, 0xf7, 0x5b, 0xb6, 0xc0, 0x09, 0x48, 0x3d, 0x71, 0xb2, 0xb4, 0x0d, 0x3e, 0x50, 0x48, + 0x76, 0x67, 0x19, 0x06, 0xd9, 0x85, 0xff, 0x2a, 0xe8, 0x07, 0x54, 0x57, 0x21, 0x54, 0xa4, 0x4d, 0x6c, 0x95, 0x94, + 0x22, 0x6b, 0x84, 0xd6, 0xd9, 0x16, 0x64, 0xc5, 0xd9, 0x1e, 0xf1, 0xa8, 0x99, 0xc0, 0x83, 0xc9, 0x6d, 0x91, 0xcd, + 0x19, 0xee, 0x89, 0x40, 0xc7, 0xa6, 0x50, 0x66, 0xda, 0x84, 0x6d, 0xdc, 0x93, 0xcd, 0xda, 0xbb, 0xad, 0xa8, 0x19, + 0x34, 0xa2, 0x6f, 0x69, 0x9a, 0xfd, 0x7b, 0x7d, 0xf0, 0x59, 0x89, 0xbe, 0x91, 0x43, 0x4c, 0xd7, 0x6d, 0xa4, 0x49, + 0x95, 0x5a, 0xe2, 0xd7, 0x6d, 0x3e, 0xbd, 0xa7, 0xa1, 0x1c, 0x52, 0x00, 0x27, 0x94, 0x02, 0x33, 0xe4, 0x73, 0x0c, + 0xc1, 0x9d, 0x82, 0x6d, 0x24, 0xcb, 0xad, 0xc8, 0x65, 0xd6, 0x58, 0xdd, 0xf1, 0x0f, 0x16, 0x80, 0x42, 0x5f, 0xde, + 0xa1, 0xa0, 0x1f, 0x6b, 0xbd, 0x4f, 0xd4, 0x91, 0x12, 0x93, 0xe2, 0xd3, 0xa5, 0x9b, 0xac, 0x02, 0x6a, 0xae, 0x5e, + 0x17, 0x0d, 0xe8, 0x35, 0x61, 0x00, 0xa1, 0x47, 0x74, 0xd8, 0x42, 0x18, 0xfd, 0xd1, 0x14, 0xc2, 0x7a, 0x5f, 0xc5, + 0x6d, 0xb7, 0x29, 0xba, 0xa7, 0xb3, 0x3b, 0x46, 0x6a, 0x90, 0x99, 0x56, 0x34, 0xc7, 0x70, 0x7a, 0xc0, 0x9d, 0xe2, + 0xb1, 0x63, 0x81, 0xcd, 0x26, 0xd5, 0x63, 0x8c, 0x01, 0x8e, 0xcc, 0x58, 0x6c, 0x53, 0x69, 0xad, 0x8c, 0x91, 0xda, + 0x16, 0xfd, 0xb2, 0xe6, 0x4e, 0x51, 0xdc, 0xfe, 0x08, 0x80, 0x79, 0x6e, 0x32, 0xad, 0xa3, 0x98, 0xa2, 0x46, 0x49, + 0xdb, 0xc5, 0xf1, 0x52, 0x54, 0x5e, 0x7c, 0x22, 0x70, 0x6f, 0x84, 0xca, 0x95, 0xa3, 0x03, 0xab, 0x33, 0xa5, 0x1f, + 0x6e, 0xf1, 0x98, 0x39, 0x89, 0x78, 0x01, 0xa3, 0xcf, 0x98, 0x0d, 0xe7, 0x0b, 0xef, 0x88, 0xb9, 0x45, 0x4e, 0xe1, + 0x5d, 0xf1, 0x56, 0xf8, 0xa5, 0x0b, 0xa8, 0xee, 0x41, 0x9c, 0xee, 0x54, 0xd6, 0x7a, 0x9d, 0x11, 0x21, 0xe1, 0x3b, + 0x92, 0xec, 0x95, 0x8c, 0x9d, 0xf8, 0x2c, 0x32, 0x3d, 0x38, 0x86, 0x85, 0x67, 0x8c, 0xe4, 0xf6, 0x99, 0x3a, 0x9a, + 0xb3, 0xc7, 0x3a, 0xd7, 0x45, 0x77, 0x5e, 0x7b, 0x6f, 0x2b, 0xd2, 0x53, 0x33, 0x9b, 0x4e, 0xbc, 0x69, 0x80, 0x3a, + 0x1f, 0xbc, 0xf6, 0x48, 0xe7, 0x7c, 0x07, 0x47, 0x71, 0x28, 0x5c, 0xb7, 0x6a, 0xf4, 0xd9, 0xf5, 0x1e, 0x72, 0x35, + 0x6c, 0xba, 0x8b, 0xc7, 0x65, 0x8f, 0x26, 0x7f, 0xb1, 0x22, 0x10, 0xfb, 0x18, 0x1e, 0x9f, 0xd3, 0xe0, 0xd6, 0xda, + 0xce, 0xb4, 0xd5, 0x36, 0x02, 0xd5, 0xa6, 0xa9, 0x05, 0x7e, 0xd2, 0xd5, 0x71, 0x3e, 0x71, 0xbc, 0xbc, 0x6b, 0xe0, + 0x4b, 0xfc, 0x02, 0x84, 0x55, 0xe9, 0xf5, 0xee, 0xf1, 0x1d, 0x67, 0x99, 0x2d, 0x73, 0xaf, 0x01, 0x59, 0x0e, 0x73, + 0x9d, 0xc5, 0xf1, 0xae, 0x3a, 0x22, 0x95, 0xda, 0xbe, 0xf2, 0xbf, 0x33, 0xe3, 0x42, 0x97, 0x1d, 0x41, 0x1c, 0xc8, + 0x15, 0x39, 0x53, 0x2a, 0xac, 0xc2, 0x69, 0x69, 0x4d, 0x43, 0xe3, 0x3a, 0x14, 0x04, 0x64, 0xf8, 0x7f, 0x20, 0x1c, + 0x44, 0xe6, 0xad, 0x13, 0x92, 0xaa, 0x6a, 0x03, 0x6b, 0xb4, 0x17, 0x7b, 0x01, 0x52, 0x78, 0x28, 0x92, 0xad, 0x2f, + 0xda, 0xaf, 0x4b, 0x64, 0x21, 0x03, 0xc1, 0x28, 0x93, 0x24, 0xc0, 0xd6, 0xd1, 0xad, 0x9e, 0xee, 0x92, 0x5e, 0x26, + 0xa0, 0xef, 0xf4, 0x3c, 0xfe, 0x10, 0x87, 0xa2, 0xac, 0x39, 0x7f, 0x6e, 0x49, 0xb6, 0xf3, 0xe8, 0xae, 0x6a, 0xac, + 0x43, 0x2c, 0x36, 0x97, 0x1c, 0x1d, 0xe7, 0x45, 0x81, 0xb3, 0x0c, 0x7d, 0x07, 0x8c, 0x85, 0x77, 0x36, 0x0c, 0xd5, + 0x5c, 0x48, 0x35, 0x7d, 0xc5, 0xa7, 0x70, 0x1d, 0x1e, 0x52, 0x4a, 0xdb, 0x16, 0xeb, 0xc1, 0x72, 0x88, 0x97, 0xdc, + 0x50, 0xa1, 0x71, 0xb5, 0x34, 0x9b, 0xd4, 0x73, 0x98, 0xc6, 0x8a, 0x2f, 0xd0, 0xa4, 0xdc, 0x45, 0xc5, 0x53, 0x07, + 0x53, 0x87, 0x6e, 0x52, 0x88, 0x7e, 0x3a, 0x32, 0x27, 0x92, 0x34, 0xe9, 0xc7, 0xb6, 0x51, 0x05, 0x01, 0xd0, 0xd1, + 0x5a, 0x16, 0xb4, 0xfb, 0xde, 0xaf, 0x7e, 0x65, 0xa3, 0x4d, 0x8f, 0x1a, 0x92, 0xb9, 0xd6, 0xe1, 0xd6, 0xd7, 0x72, + 0x7c, 0x77, 0x45, 0x18, 0xcd, 0xdb, 0x03, 0xab, 0xc2, 0xb9, 0x88, 0x14, 0xe3, 0x16, 0xad, 0x20, 0x61, 0x1e, 0x20, + 0xc7, 0xbb, 0x61, 0xda, 0x9f, 0x2b, 0x93, 0xa3, 0xf3, 0x3c, 0x3c, 0x6f, 0xae, 0x58, 0x68, 0x45, 0x2f, 0xce, 0xb1, + 0xdf, 0xb8, 0xf7, 0xbd, 0x8c, 0xa9, 0xe7, 0x61, 0xe3, 0xdd, 0x28, 0x4f, 0x4f, 0x30, 0x3a, 0x3f, 0x44, 0x37, 0x77, + 0xa4, 0xaf, 0xec, 0x02, 0xf4, 0x7a, 0x4f, 0x8e, 0xef, 0x67, 0xdf, 0x8b, 0x8e, 0x33, 0xb8, 0x30, 0xd2, 0x28, 0xce, + 0x17, 0x84, 0x96, 0x98, 0xa3, 0x34, 0xe3, 0x45, 0x3d, 0x11, 0x8e, 0x78, 0x79, 0x0a, 0x76, 0x2c, 0xec, 0xa6, 0x3f, + 0x17, 0xbe, 0xb0, 0xf0, 0xd7, 0xe9, 0x4c, 0xe0, 0x71, 0xff, 0x6f, 0x93, 0xfd, 0x82, 0x44, 0x22, 0x7a, 0x18, 0x47, + 0x7a, 0x6c, 0xcb, 0x42, 0xef, 0x99, 0xd8, 0x22, 0xf5, 0xfa, 0xfd, 0x84, 0x50, 0xea, 0x86, 0x52, 0xea, 0x0e, 0xca, + 0x64, 0x59, 0x02, 0x1b, 0x37, 0x85, 0x10, 0x72, 0xfc, 0x33, 0x6e, 0x9e, 0x22, 0x7c, 0xd6, 0x88, 0xd2, 0xac, 0xa6, + 0xa6, 0xe0, 0xce, 0x60, 0x00, 0x56, 0xe2, 0x04, 0x07, 0x88, 0xf2, 0xa1, 0x2e, 0xbc, 0xc2, 0xc4, 0x6a, 0x55, 0x56, + 0x02, 0xb5, 0xc2, 0x50, 0x82, 0x08, 0x4e, 0x68, 0x2f, 0x22, 0xac, 0xeb, 0x98, 0x94, 0x7b, 0xb0, 0x45, 0x3b, 0xb7, + 0xf0, 0xba, 0xdb, 0xc2, 0xca, 0xc3, 0x7b, 0x35, 0xeb, 0xb1, 0x2b, 0xbb, 0xe3, 0x01, 0x72, 0x94, 0x9c, 0xfd, 0x04, + 0x88, 0xe0, 0x41, 0x12, 0xd8, 0xea, 0xad, 0x3d, 0x6c, 0xed, 0x0e, 0xa1, 0xdf, 0x16, 0xf8, 0x74, 0x07, 0xcc, 0x46, + 0x69, 0x37, 0xfb, 0xfc, 0xa7, 0x0e, 0x0e, 0x4b, 0x6f, 0x02, 0x7c, 0x9d, 0xea, 0x4e, 0xd6, 0x74, 0x1b, 0xb8, 0xc7, + 0x3f, 0x7b, 0xe8, 0x8a, 0x44, 0x3a, 0x62, 0x16, 0xb7, 0x38, 0xaa, 0xcb, 0xce, 0xea, 0xae, 0x91, 0x73, 0x5b, 0x12, + 0x57, 0xa5, 0x84, 0xec, 0x72, 0x44, 0xa5, 0x24, 0x7b, 0x44, 0x19, 0x9c, 0xf6, 0xf6, 0xf2, 0xdc, 0x98, 0x7b, 0x18, + 0x67, 0x01, 0xa8, 0x09, 0x58, 0x2e, 0xc8, 0xc6, 0x3b, 0x01, 0x80, 0x51, 0x5a, 0x35, 0x75, 0x46, 0xef, 0xe2, 0x56, + 0x5d, 0x6f, 0x1e, 0x64, 0x46, 0x33, 0x51, 0x33, 0xb9, 0x3b, 0xa0, 0x8a, 0xd1, 0xc2, 0x20, 0xfb, 0xa5, 0x54, 0x7c, + 0x5a, 0x95, 0x68, 0xa5, 0x43, 0xcd, 0x68, 0xbf, 0xfb, 0x34, 0xd0, 0x51, 0x22, 0xb6, 0x5c, 0x4c, 0xbb, 0xf2, 0x76, + 0x98, 0x78, 0x1a, 0xd8, 0x2a, 0x33, 0x22, 0x4d, 0xd9, 0xc2, 0xcb, 0x11, 0x49, 0x7e, 0xd4, 0x5d, 0xb3, 0x6a, 0x52, + 0x1b, 0x67, 0x2d, 0x3c, 0xdd, 0x52, 0xe4, 0x14, 0x0a, 0x2e, 0xda, 0xee, 0x83, 0x0c, 0x82, 0x69, 0xd3, 0xc6, 0x59, + 0x6f, 0xbb, 0x2f, 0xa2, 0x8e, 0x57, 0x74, 0x5c, 0x24, 0x6c, 0x6e, 0xf7, 0x14, 0x65, 0x07, 0x89, 0xf2, 0x24, 0x26, + 0xd3, 0x91, 0x03, 0x95, 0xb4, 0xa1, 0xd4, 0xd2, 0x7b, 0xc9, 0x8a, 0x8b, 0xb8, 0xf8, 0xbf, 0xca, 0xb2, 0xad, 0x2f, + 0xbe, 0x48, 0xb0, 0xa0, 0x83, 0x39, 0xa2, 0xc0, 0x3c, 0x97, 0xd2, 0x41, 0x89, 0x44, 0x11, 0xf9, 0x49, 0xc1, 0xec, + 0xaa, 0x64, 0x0d, 0x3e, 0x68, 0xa5, 0x3b, 0x93, 0x49, 0x43, 0x22, 0xe5, 0x9a, 0xd4, 0xda, 0x16, 0x1b, 0x19, 0xf1, + 0xcc, 0x0f, 0x56, 0x89, 0x30, 0x12, 0x0f, 0x32, 0x25, 0x96, 0xc2, 0xb3, 0x85, 0x94, 0xf8, 0x22, 0x67, 0x9f, 0xeb, + 0xc5, 0x6e, 0xb4, 0xc8, 0x62, 0x7e, 0x98, 0xf9, 0xe5, 0x70, 0xb3, 0x5b, 0x11, 0xa3, 0xde, 0x9a, 0xb3, 0x3c, 0x2b, + 0x99, 0x8d, 0x6b, 0x47, 0x8e, 0xb9, 0x04, 0x1a, 0x29, 0x04, 0x0a, 0xe9, 0x93, 0x81, 0x53, 0x8b, 0xcb, 0x81, 0x0d, + 0x1a, 0xdf, 0xf1, 0xc9, 0xb3, 0xa5, 0xbb, 0x8b, 0xa1, 0x61, 0xdb, 0x21, 0x11, 0x44, 0x68, 0xbc, 0x21, 0xd1, 0x32, + 0x34, 0x3f, 0x78, 0x3a, 0xef, 0xcc, 0xf4, 0xea, 0x8e, 0xa4, 0x67, 0x69, 0xe1, 0x11, 0xe0, 0x7c, 0x52, 0x91, 0xe6, + 0xd6, 0x3e, 0xc9, 0x21, 0xeb, 0xfe, 0x45, 0xb3, 0x7e, 0x45, 0x00, 0x77, 0x92, 0x80, 0x10, 0xa0, 0xe1, 0x75, 0x6b, + 0x21, 0x8c, 0x25, 0xcc, 0x38, 0x84, 0xee, 0x2a, 0xf8, 0x6f, 0x12, 0xa6, 0xe7, 0xa5, 0x09, 0x8d, 0x2f, 0x4a, 0xc5, + 0x60, 0x27, 0x0b, 0x84, 0x5b, 0x40, 0x14, 0x04, 0x81, 0x20, 0x63, 0x16, 0x8a, 0xa9, 0x84, 0x76, 0xa0, 0x15, 0x14, + 0x48, 0x80, 0x89, 0x37, 0x4e, 0x85, 0x41, 0x55, 0x6d, 0xc5, 0xd3, 0x1c, 0xb3, 0xe1, 0xa4, 0x61, 0x50, 0x58, 0x7f, + 0x02, 0x5d, 0x9c, 0x62, 0x92, 0x0c, 0xfb, 0xbb, 0x78, 0xe3, 0xc9, 0xba, 0x9d, 0x89, 0x52, 0x29, 0xf6, 0x59, 0x93, + 0x27, 0x34, 0xc3, 0x79, 0x21, 0xea, 0xcb, 0xba, 0xb4, 0xee, 0x83, 0xd5, 0x74, 0x07, 0x4f, 0x9e, 0x75, 0xa4, 0xb7, + 0x71, 0x60, 0xb9, 0x83, 0x44, 0x80, 0x45, 0xda, 0x03, 0xcd, 0xc8, 0x32, 0x64, 0xa8, 0x02, 0xac, 0x35, 0xe6, 0x4e, + 0x0d, 0x6d, 0x0f, 0xe5, 0x46, 0x72, 0x6d, 0x12, 0xac, 0x1e, 0x96, 0xbe, 0xbc, 0xba, 0x6e, 0x73, 0x63, 0x00, 0xbb, + 0xef, 0xd8, 0xb2, 0xa0, 0xcb, 0x11, 0x19, 0x8e, 0x27, 0xb7, 0x09, 0xd5, 0x03, 0x14, 0x8a, 0x6a, 0xaa, 0x69, 0xed, + 0x1f, 0x7e, 0xe6, 0x9d, 0x38, 0xd4, 0x39, 0x21, 0x36, 0x2a, 0x8f, 0xd0, 0x31, 0x8f, 0x7d, 0xa2, 0xcf, 0x25, 0xef, + 0x69, 0xbe, 0x41, 0xea, 0xc8, 0xc5, 0xd5, 0x79, 0x92, 0xa8, 0x1b, 0x63, 0xb5, 0x15, 0x5b, 0x84, 0x01, 0x16, 0x73, + 0x0c, 0x87, 0xe8, 0x54, 0x70, 0xb4, 0x24, 0xbd, 0x8d, 0xa5, 0xea, 0xe5, 0xf6, 0xdb, 0xaa, 0x4b, 0x6b, 0xa7, 0x09, + 0x83, 0xe8, 0xf4, 0x90, 0x01, 0x07, 0x42, 0xc6, 0xda, 0x3e, 0x58, 0xc6, 0x71, 0x46, 0xeb, 0x32, 0x68, 0x04, 0x63, + 0xe8, 0x00, 0xe5, 0xac, 0x7a, 0x1c, 0xec, 0x04, 0x62, 0x79, 0x48, 0x6f, 0x9a, 0xcc, 0x00, 0xd9, 0x22, 0x97, 0x5f, + 0x6a, 0xa2, 0x9d, 0x85, 0x8e, 0x2d, 0xfb, 0x1e, 0xd0, 0xae, 0x03, 0x47, 0x5f, 0x07, 0x1c, 0x75, 0xe2, 0x45, 0x2d, + 0x85, 0x36, 0xc7, 0xc0, 0xb9, 0xb0, 0x38, 0xd5, 0xf3, 0x6c, 0x68, 0xc7, 0xbd, 0x03, 0xbc, 0x98, 0xd2, 0xf5, 0x02, + 0xfc, 0x76, 0x70, 0x19, 0xf8, 0xc4, 0x83, 0xdb, 0xea, 0xb0, 0x63, 0x67, 0x92, 0xc6, 0x79, 0x34, 0x75, 0x73, 0xce, + 0xb9, 0xd0, 0xe5, 0xdc, 0xff, 0x9e, 0x6e, 0xfd, 0xfe, 0x8a, 0xf1, 0x69, 0xad, 0x3d, 0x61, 0xb9, 0xca, 0x69, 0x97, + 0x45, 0x2c, 0x59, 0x71, 0x8e, 0xbe, 0x10, 0xc8, 0xd7, 0xeb, 0xfc, 0x7e, 0xa1, 0x41, 0xe7, 0xd4, 0x41, 0x74, 0x8e, + 0x71, 0xb2, 0xd3, 0x83, 0xc9, 0x7b, 0x65, 0x71, 0x68, 0xac, 0x52, 0x66, 0xf1, 0x7d, 0xe3, 0x96, 0xde, 0x9e, 0x50, + 0x76, 0x29, 0x85, 0x14, 0xca, 0xb2, 0xe1, 0xb6, 0xc7, 0x81, 0xa6, 0xed, 0x36, 0x92, 0xdd, 0xd6, 0xb7, 0xef, 0x34, + 0x89, 0x48, 0xd2, 0xdd, 0x05, 0x51, 0x78, 0x86, 0xd0, 0x18, 0x50, 0xb0, 0x37, 0xa7, 0xd6, 0xe5, 0x6b, 0x2f, 0x2b, + 0xf1, 0x8a, 0x78, 0x57, 0x0c, 0xc6, 0xca, 0x09, 0x1d, 0x2c, 0xd2, 0x34, 0x50, 0xc7, 0x4e, 0x92, 0xb8, 0x55, 0x49, + 0xfc, 0xd0, 0xf2, 0x2f, 0xa4, 0xb9, 0x51, 0x79, 0x2a, 0xe2, 0xeb, 0x10, 0x7d, 0xe6, 0xb8, 0x54, 0xf7, 0x46, 0x35, + 0x83, 0x72, 0xcc, 0x93, 0x79, 0xc3, 0x5c, 0xa6, 0xdb, 0x29, 0x32, 0x4f, 0xf6, 0xbc, 0xb9, 0x99, 0x51, 0xa2, 0x44, + 0xa4, 0x2e, 0xf4, 0x32, 0xd7, 0x56, 0xa1, 0x23, 0x8d, 0xd8, 0xb4, 0x56, 0xb3, 0x89, 0x3d, 0x0e, 0x67, 0x3f, 0x59, + 0xd9, 0x13, 0xbc, 0xeb, 0x3d, 0xef, 0xec, 0xc3, 0xe6, 0x82, 0xeb, 0xd0, 0x88, 0x21, 0x33, 0x60, 0xa6, 0x59, 0x3a, + 0x53, 0x20, 0x8b, 0xb8, 0xaf, 0xee, 0x48, 0x94, 0x31, 0xfd, 0x13, 0xab, 0x75, 0x7d, 0xad, 0x54, 0x1d, 0x93, 0x1f, + 0xbe, 0xa3, 0x6b, 0x38, 0x77, 0x50, 0x94, 0x18, 0x4e, 0x34, 0xed, 0xe6, 0x52, 0x03, 0x10, 0x7e, 0x67, 0x87, 0x51, + 0x58, 0xc1, 0xb6, 0xa8, 0xb7, 0xea, 0x2a, 0x60, 0xa0, 0x86, 0x79, 0x32, 0xf6, 0x46, 0x11, 0x19, 0xf5, 0x1b, 0x76, + 0x23, 0xaf, 0x2c, 0xba, 0x65, 0x8d, 0xcf, 0x56, 0x39, 0xa5, 0xfe, 0x48, 0x6a, 0xe5, 0x0e, 0x0b, 0xe4, 0x86, 0xeb, + 0x42, 0x21, 0xa9, 0x37, 0x1c, 0x9b, 0x6d, 0x6b, 0xe6, 0x99, 0x06, 0xba, 0x6d, 0x4d, 0xef, 0x13, 0x3b, 0x70, 0xc3, + 0x6d, 0xdd, 0x30, 0x55, 0x6d, 0x3b, 0x8f, 0x5f, 0xef, 0xd3, 0x22, 0xac, 0x09, 0x6d, 0x18, 0xc6, 0x1a, 0xd8, 0xb6, + 0x45, 0x31, 0x17, 0x83, 0x98, 0xf6, 0xd8, 0x62, 0xdf, 0x81, 0x6c, 0xdf, 0xfd, 0xb5, 0x4a, 0x42, 0x4e, 0xae, 0xd2, + 0xf9, 0x35, 0xf9, 0x49, 0x27, 0x8b, 0x44, 0x66, 0x76, 0x91, 0xbf, 0xc6, 0x95, 0xfd, 0xa3, 0x95, 0xdd, 0xab, 0x95, + 0x2e, 0x52, 0x40, 0x14, 0xa6, 0xc2, 0x73, 0x08, 0x4c, 0x97, 0xac, 0xfc, 0x1f, 0xe8, 0x38, 0x27, 0x63, 0x4a, 0x68, + 0x6f, 0x34, 0x9a, 0x40, 0x37, 0x24, 0x14, 0x43, 0x0b, 0xcb, 0xe9, 0x79, 0xa9, 0x41, 0x57, 0x3b, 0x5c, 0x47, 0x96, + 0xfb, 0x22, 0xc0, 0x4f, 0x14, 0x50, 0x67, 0x6a, 0x82, 0xdd, 0x4f, 0x02, 0x63, 0x69, 0xd6, 0x59, 0xfa, 0x45, 0x87, + 0xd3, 0x15, 0x75, 0xf7, 0xf4, 0x2b, 0x86, 0x44, 0x77, 0xf8, 0x95, 0x42, 0xeb, 0x13, 0x33, 0x73, 0x81, 0x46, 0x3a, + 0x6e, 0x60, 0x10, 0x2e, 0x6a, 0x0b, 0xfe, 0x80, 0x5c, 0xc5, 0x4d, 0xe1, 0x6e, 0x72, 0x00, 0x97, 0xca, 0x6d, 0xcb, + 0xb3, 0x4a, 0x13, 0x98, 0x7d, 0x92, 0x32, 0x3a, 0x71, 0x8c, 0xba, 0x6f, 0x77, 0x3f, 0x4a, 0x52, 0xde, 0x3e, 0x7d, + 0xf3, 0x7a, 0x95, 0x35, 0xca, 0xde, 0x33, 0xb3, 0xd4, 0x55, 0xfc, 0xa9, 0x49, 0xee, 0x6a, 0xee, 0x3b, 0xe9, 0x56, + 0x20, 0x30, 0xca, 0x79, 0x85, 0xe5, 0xce, 0xb2, 0x90, 0xc3, 0xe6, 0x5e, 0xba, 0x4f, 0x4b, 0x9a, 0xec, 0x44, 0x55, + 0x62, 0x8c, 0x49, 0xa1, 0xfd, 0xf2, 0x74, 0xee, 0x8f, 0x0e, 0xdf, 0xa3, 0xa3, 0xbe, 0x4b, 0xd3, 0x72, 0xda, 0x8a, + 0xed, 0xf2, 0xc4, 0x0e, 0xa6, 0xe1, 0x9a, 0x30, 0x2d, 0x03, 0x84, 0xee, 0xea, 0x03, 0xe8, 0x5f, 0xe2, 0x1f, 0xfa, + 0xf1, 0x9c, 0xa2, 0x0f, 0xd0, 0x83, 0xd9, 0x9a, 0xca, 0x25, 0x6a, 0x50, 0x22, 0xb2, 0x4d, 0xbb, 0x34, 0x01, 0x53, + 0xe4, 0x20, 0xdd, 0x42, 0x06, 0xa2, 0x64, 0x21, 0x98, 0x41, 0xe5, 0x17, 0xf1, 0x3a, 0xf1, 0x75, 0xbe, 0x5a, 0xf0, + 0x92, 0x9e, 0x70, 0x55, 0xc8, 0xd5, 0x0d, 0xa3, 0xc5, 0xbc, 0x3a, 0xed, 0xa4, 0xda, 0x38, 0x34, 0xa8, 0x51, 0x87, + 0x48, 0xd7, 0xf1, 0xfe, 0x6f, 0x36, 0x52, 0x37, 0x18, 0xfd, 0xe4, 0x24, 0xe0, 0xfb, 0xc6, 0x48, 0xa5, 0xb3, 0x87, + 0x38, 0xb5, 0x16, 0x3c, 0x5e, 0x28, 0x7b, 0x34, 0xea, 0x11, 0xb5, 0xc6, 0x5e, 0x0e, 0x32, 0xad, 0x0d, 0x27, 0x85, + 0xd2, 0x79, 0xb8, 0x94, 0x77, 0x49, 0xe1, 0xd2, 0x1b, 0x95, 0x88, 0xf2, 0x00, 0x76, 0xc2, 0x96, 0x8a, 0x1b, 0x95, + 0xb4, 0x80, 0xea, 0x99, 0x9e, 0x0c, 0x89, 0xe9, 0x9c, 0x44, 0x8c, 0x19, 0x9e, 0xd2, 0xcd, 0x38, 0x44, 0x6b, 0x68, + 0x86, 0x3d, 0xbd, 0x8f, 0xd5, 0x13, 0xe4, 0x80, 0x9d, 0x8d, 0xeb, 0x0c, 0x21, 0x76, 0x52, 0xe1, 0x67, 0x6a, 0x55, + 0x6c, 0x99, 0x7f, 0x24, 0xa8, 0x6d, 0xf3, 0xb6, 0x8f, 0x88, 0xf2, 0xd6, 0xd2, 0x37, 0xb9, 0xbf, 0xe2, 0xca, 0x78, + 0x25, 0x81, 0x66, 0x96, 0x97, 0xfc, 0x1c, 0xe6, 0x67, 0xbf, 0xb1, 0x03, 0x13, 0x88, 0x38, 0xdb, 0x68, 0xd4, 0x53, + 0x72, 0x34, 0xd7, 0x39, 0xef, 0x5b, 0x70, 0x46, 0xc9, 0x34, 0x10, 0x62, 0x2d, 0x8b, 0x04, 0xe2, 0xc8, 0x24, 0x71, + 0x56, 0x38, 0xeb, 0x68, 0x27, 0x8f, 0x0e, 0x7a, 0x6f, 0x22, 0xf7, 0x45, 0x4d, 0x7a, 0x06, 0xfe, 0xd8, 0x51, 0x63, + 0x31, 0x8a, 0x6e, 0x5e, 0x04, 0xea, 0xe6, 0x2c, 0x8f, 0x43, 0xbd, 0xf4, 0x66, 0xae, 0xfd, 0xd2, 0xd3, 0x5a, 0xaa, + 0x0b, 0x74, 0x71, 0xe8, 0x31, 0x6a, 0x51, 0x5e, 0x41, 0x1a, 0x4c, 0x7b, 0xa0, 0xec, 0x35, 0x4c, 0xe8, 0x01, 0xbf, + 0x54, 0x82, 0x8c, 0x06, 0xef, 0x7c, 0xb4, 0xc5, 0xc5, 0x74, 0x92, 0xf3, 0x66, 0x01, 0x05, 0xb7, 0xeb, 0x2d, 0xa9, + 0x89, 0xd0, 0x1a, 0x37, 0x28, 0x6c, 0x91, 0xf0, 0x4f, 0x34, 0x87, 0xb3, 0x2b, 0x24, 0x75, 0x88, 0x4d, 0x31, 0xc2, + 0x04, 0xb4, 0x66, 0x5c, 0x6c, 0x68, 0x61, 0x37, 0xd1, 0x03, 0x6b, 0xf3, 0x20, 0x19, 0x87, 0x3b, 0x9a, 0x69, 0x33, + 0x90, 0x6b, 0x09, 0xfe, 0x2c, 0x11, 0xbd, 0xc3, 0xae, 0x0f, 0x77, 0x64, 0xd8, 0xdc, 0x12, 0xb2, 0x52, 0x66, 0x7a, + 0x78, 0x09, 0xb4, 0xeb, 0xb7, 0x8a, 0xed, 0x50, 0xc1, 0x9f, 0x22, 0x87, 0xa4, 0x98, 0x7e, 0x9f, 0xbd, 0x3a, 0x80, + 0x18, 0xc4, 0xa9, 0xd3, 0x7d, 0x53, 0x60, 0x9d, 0x43, 0x49, 0xb1, 0x21, 0x8c, 0x71, 0xc6, 0x51, 0xbb, 0xdb, 0xd1, + 0xc6, 0x7e, 0x24, 0x86, 0x40, 0xe9, 0xf0, 0xe5, 0x8e, 0x56, 0x5e, 0xb7, 0xb3, 0x75, 0xdb, 0x6b, 0xda, 0x91, 0x0f, + 0xc9, 0x11, 0x4c, 0x8a, 0x48, 0x5a, 0x36, 0x10, 0x9a, 0x31, 0x78, 0x8b, 0xb4, 0x60, 0x6d, 0xcf, 0x80, 0x96, 0xb9, + 0x5e, 0x28, 0xb4, 0xc0, 0xb3, 0x66, 0x0c, 0x4c, 0x0a, 0x8b, 0x0e, 0x2e, 0x69, 0xef, 0x74, 0x82, 0xd9, 0x40, 0xb5, + 0x5a, 0xdb, 0x6d, 0x59, 0xdf, 0x34, 0x0a, 0x84, 0xed, 0xbb, 0x72, 0x33, 0xfd, 0xc8, 0xcf, 0xac, 0x05, 0xf0, 0x55, + 0x6c, 0xbb, 0xce, 0x83, 0x76, 0x5f, 0x5b, 0xe5, 0xde, 0xc7, 0xfe, 0x5a, 0xe2, 0xc7, 0x50, 0xc3, 0xb2, 0x74, 0xc2, + 0x74, 0x65, 0x50, 0xbc, 0xe5, 0x9a, 0xfb, 0xc2, 0xc6, 0x64, 0x7a, 0x87, 0x12, 0x9b, 0xf8, 0xba, 0xb3, 0x1b, 0xcc, + 0x2d, 0x23, 0x7a, 0x59, 0xbf, 0xd3, 0xb7, 0xb2, 0xb5, 0xeb, 0x01, 0x88, 0xa9, 0x57, 0x96, 0x8c, 0x87, 0x19, 0x5d, + 0x3c, 0x04, 0xa5, 0xc9, 0x6b, 0x54, 0x92, 0xc1, 0x67, 0xf5, 0xae, 0x85, 0x44, 0xe4, 0xdb, 0x7a, 0x95, 0x27, 0xb3, + 0x91, 0x0d, 0xc7, 0xae, 0xa7, 0xe5, 0x81, 0x90, 0x32, 0x9a, 0xfd, 0x6d, 0x93, 0xd6, 0x5c, 0x4b, 0xc3, 0x2f, 0x91, + 0xe2, 0xa2, 0xd9, 0x38, 0xca, 0x36, 0x12, 0x04, 0x5d, 0xd5, 0x42, 0xb2, 0x58, 0x78, 0x58, 0xc8, 0x50, 0xbe, 0xac, + 0x84, 0x65, 0x2f, 0xee, 0xa6, 0x13, 0xf9, 0xe6, 0xc6, 0xcd, 0x8f, 0x42, 0xdb, 0xad, 0xaf, 0xdd, 0xf5, 0x43, 0x1b, + 0x51, 0x56, 0xbf, 0xe8, 0xc1, 0x57, 0xaa, 0xb1, 0x3e, 0xb2, 0xfe, 0xff, 0xa1, 0x9f, 0xd4, 0x89, 0xe4, 0xcc, 0x69, + 0x3b, 0x60, 0x7b, 0xa6, 0x80, 0xad, 0xd0, 0xf6, 0xb0, 0xa9, 0xf4, 0xfe, 0xce, 0x25, 0x81, 0x5c, 0x88, 0xf8, 0x84, + 0x85, 0x40, 0x92, 0xe2, 0x91, 0x4e, 0x03, 0x4c, 0x2d, 0x03, 0xea, 0x11, 0xec, 0xfb, 0xc1, 0x8e, 0x7c, 0xf3, 0x92, + 0xed, 0xf2, 0xb6, 0xee, 0x27, 0x28, 0xeb, 0x3e, 0x0f, 0x81, 0x8d, 0xdb, 0xd2, 0xe5, 0x80, 0x49, 0x1c, 0xc8, 0xc4, + 0x4c, 0xfb, 0x65, 0x6a, 0x2f, 0xdf, 0x2a, 0x67, 0x9c, 0xa0, 0x5b, 0x8a, 0x5a, 0x0e, 0x29, 0x71, 0x48, 0x5b, 0x79, + 0xe7, 0x86, 0xbd, 0x91, 0x7e, 0x88, 0x73, 0x8b, 0x1e, 0x07, 0x46, 0xd4, 0x69, 0xce, 0x66, 0x21, 0x42, 0x4d, 0xae, + 0x1a, 0xe5, 0xf1, 0x03, 0x57, 0xe9, 0x5a, 0xaa, 0xee, 0x2b, 0x94, 0xcc, 0x9e, 0x08, 0x93, 0x39, 0xb4, 0x3b, 0x64, + 0x49, 0x89, 0x66, 0x1f, 0xbb, 0x75, 0x40, 0x60, 0x27, 0x60, 0x9e, 0x96, 0xc8, 0xeb, 0x94, 0x4c, 0xfc, 0xf6, 0xed, + 0x3f, 0xca, 0xeb, 0x08, 0x86, 0xbd, 0xe4, 0x30, 0xa7, 0x02, 0x11, 0xc7, 0x71, 0xfe, 0xbc, 0x91, 0x0b, 0x12, 0x63, + 0xfd, 0xf9, 0x6b, 0xac, 0x5c, 0x23, 0x81, 0x56, 0x49, 0x43, 0xe1, 0x99, 0x1b, 0x67, 0xae, 0xec, 0xd4, 0xb3, 0x8c, + 0x2b, 0x76, 0x5b, 0xf4, 0x93, 0xc8, 0xa3, 0x16, 0xcd, 0x94, 0x1e, 0xa9, 0x72, 0x91, 0x94, 0xb4, 0xca, 0xa1, 0x96, + 0x6c, 0x05, 0xca, 0x61, 0x72, 0x2c, 0xe3, 0x3a, 0x73, 0x1a, 0x9a, 0xb3, 0x2c, 0x01, 0x72, 0x8b, 0x25, 0x38, 0xc7, + 0x4c, 0x2e, 0xc3, 0x4a, 0x2a, 0x24, 0x60, 0x1c, 0x84, 0xc2, 0x4f, 0xfe, 0xb1, 0xd2, 0xfe, 0x4e, 0x86, 0x5c, 0x62, + 0xf8, 0x0b, 0x1f, 0x93, 0x9e, 0x2b, 0x1f, 0x0a, 0x66, 0xb0, 0x18, 0xa2, 0xb7, 0x8c, 0x60, 0x5b, 0xee, 0xc4, 0x5b, + 0x34, 0xcb, 0xd2, 0xb9, 0x7f, 0x81, 0x66, 0xdd, 0xac, 0xd5, 0x7d, 0x8b, 0x22, 0xaf, 0x67, 0x4c, 0x9a, 0x70, 0xd2, + 0x4a, 0xa9, 0x94, 0xa6, 0xa0, 0x23, 0x4a, 0x32, 0x01, 0xcc, 0x0c, 0x50, 0xb2, 0x93, 0x8c, 0x4a, 0x0f, 0xca, 0xc9, + 0x70, 0x62, 0x31, 0xd3, 0xe8, 0x2c, 0x06, 0xac, 0x5e, 0x35, 0x3e, 0xce, 0x27, 0x1d, 0xff, 0x03, 0x40, 0xf5, 0xb5, + 0xd7, 0x82, 0xd7, 0x3c, 0x97, 0x93, 0xae, 0xe9, 0xba, 0x3a, 0xf6, 0x3f, 0xee, 0x45, 0x57, 0x50, 0x35, 0x66, 0xbf, + 0xd8, 0x5f, 0xd2, 0x38, 0x0c, 0x13, 0x62, 0x7c, 0x70, 0x1f, 0x70, 0xd4, 0x01, 0x5b, 0xac, 0x7a, 0x72, 0x91, 0x64, + 0x96, 0xa4, 0xb7, 0xb9, 0xe8, 0x3a, 0x7e, 0x70, 0x60, 0xa8, 0x2e, 0x6d, 0xba, 0xe7, 0x91, 0x15, 0x6f, 0x8d, 0x25, + 0xc0, 0x52, 0xcc, 0x81, 0x2e, 0x18, 0x1d, 0xaf, 0x08, 0xce, 0xb6, 0x13, 0x20, 0x0a, 0x63, 0x2d, 0x8a, 0x2c, 0x4e, + 0xf8, 0x5b, 0xd2, 0x26, 0x60, 0x4b, 0xc6, 0x28, 0x8d, 0x7d, 0x0e, 0xce, 0x95, 0xf9, 0xe0, 0xb1, 0xea, 0x17, 0x75, + 0xba, 0xba, 0x0c, 0xb1, 0xcf, 0x4f, 0x72, 0x79, 0xfd, 0x1d, 0xea, 0x4b, 0xbf, 0x8d, 0xd2, 0x17, 0x78, 0x67, 0x09, + 0x39, 0xef, 0x5e, 0xff, 0x54, 0xb4, 0x38, 0x30, 0x0b, 0x5d, 0xc5, 0x16, 0xb5, 0xe0, 0xfc, 0xe9, 0x85, 0x44, 0x14, + 0x65, 0x8f, 0x09, 0x90, 0xa9, 0xa6, 0xac, 0x7e, 0x53, 0xa4, 0x40, 0xc6, 0x45, 0x55, 0x9c, 0x3c, 0x06, 0xdf, 0xce, + 0x37, 0x77, 0x94, 0xc1, 0x68, 0xc8, 0xba, 0x5f, 0xef, 0xd8, 0xc4, 0x6f, 0xc4, 0xfc, 0x8f, 0x09, 0x27, 0xbd, 0x7a, + 0x4a, 0x80, 0x4a, 0xda, 0x49, 0x2a, 0x7d, 0x50, 0xe0, 0x85, 0x89, 0x26, 0x67, 0xa8, 0x41, 0x56, 0x78, 0x02, 0x9d, + 0x01, 0xcb, 0xd8, 0x62, 0x4a, 0xd9, 0x6d, 0x9b, 0xf8, 0x19, 0x85, 0x37, 0xb6, 0xb5, 0xd5, 0x18, 0xa4, 0xa7, 0x0a, + 0xd0, 0xf6, 0x38, 0x53, 0x85, 0x67, 0xd1, 0x85, 0x73, 0x6e, 0xde, 0x39, 0x70, 0x3e, 0xac, 0xcd, 0xc3, 0x97, 0xbf, + 0x20, 0x07, 0x85, 0x5d, 0x93, 0x3a, 0xa8, 0xea, 0x9a, 0x97, 0x74, 0xc2, 0x3f, 0x61, 0x7b, 0x89, 0xc5, 0x4c, 0x5e, + 0xd2, 0x7e, 0x0a, 0x1d, 0x21, 0x6d, 0x1e, 0x3a, 0xcd, 0xf6, 0x6f, 0x8a, 0x99, 0x1c, 0x2f, 0xb6, 0x9a, 0xfd, 0xb2, + 0x31, 0xfe, 0x2d, 0x92, 0x02, 0xee, 0x2b, 0xe7, 0xc3, 0x2a, 0x32, 0x89, 0x3a, 0xae, 0x8d, 0x17, 0x94, 0x3e, 0x86, + 0xe9, 0x68, 0xb1, 0xea, 0xb2, 0x8c, 0x7b, 0xa5, 0xcc, 0x91, 0x51, 0x82, 0xc3, 0x53, 0x55, 0x44, 0x15, 0x3a, 0xaf, + 0x21, 0x2f, 0xcd, 0xfc, 0xba, 0x4a, 0x45, 0xe8, 0x43, 0x99, 0x73, 0xce, 0x5b, 0xa2, 0xee, 0x7a, 0xa2, 0xf8, 0x71, + 0x81, 0x42, 0x5b, 0x22, 0x8c, 0x7c, 0x70, 0x06, 0xa7, 0x49, 0x82, 0x47, 0x26, 0x22, 0x8f, 0x3c, 0xc5, 0xf5, 0x8b, + 0x51, 0x49, 0x2f, 0x2f, 0xe1, 0x91, 0x73, 0x97, 0xc5, 0xdd, 0x47, 0xfc, 0x5a, 0x7d, 0x89, 0x3e, 0x2c, 0xe1, 0x28, + 0x88, 0x95, 0x76, 0xbf, 0x0c, 0x9f, 0xd4, 0x81, 0xca, 0xf9, 0x3f, 0xa8, 0xbf, 0x86, 0x2c, 0xb2, 0x88, 0x26, 0xeb, + 0x0a, 0x73, 0x70, 0xd4, 0x0f, 0x8b, 0x10, 0xf9, 0x22, 0x43, 0x48, 0x16, 0xdd, 0xea, 0xe5, 0x21, 0xb4, 0x9e, 0xfc, + 0xdd, 0x32, 0xf7, 0xfb, 0xbb, 0x6a, 0x7a, 0x38, 0x8d, 0x14, 0xfc, 0x48, 0x45, 0x5f, 0x76, 0x75, 0x7b, 0x12, 0xdf, + 0xf5, 0x7c, 0x0f, 0x01, 0xb3, 0x8f, 0x34, 0x44, 0xf2, 0x66, 0xd9, 0x3a, 0xf4, 0x4d, 0x6c, 0x71, 0x45, 0x6b, 0xd0, + 0xa5, 0xd4, 0xf4, 0x51, 0x81, 0x33, 0xbc, 0x12, 0x74, 0x90, 0xe1, 0x68, 0xb9, 0xf2, 0xa6, 0x42, 0xb0, 0x38, 0xa9, + 0xda, 0x6e, 0x8b, 0x32, 0xdb, 0x33, 0x38, 0x89, 0x16, 0x51, 0x93, 0x99, 0xfc, 0x3e, 0x7d, 0x14, 0xab, 0xdc, 0x28, + 0x82, 0x3b, 0xfa, 0xc2, 0x2a, 0xad, 0xbd, 0x34, 0xe4, 0x97, 0x5a, 0xb2, 0x85, 0x06, 0x54, 0x4a, 0x79, 0xa1, 0x6a, + 0x5c, 0x2e, 0x85, 0x2b, 0x63, 0x6b, 0xf4, 0x30, 0xd3, 0xaa, 0x78, 0x15, 0x57, 0x48, 0xc7, 0xd7, 0x88, 0x45, 0xe8, + 0xb2, 0x0c, 0x12, 0x1e, 0xce, 0x72, 0x2e, 0x79, 0x72, 0x0d, 0x56, 0x3c, 0xb7, 0x60, 0x0e, 0x66, 0x5d, 0xab, 0x27, + 0xd5, 0xd8, 0x80, 0x91, 0x14, 0xf9, 0x2a, 0xa6, 0x73, 0xd5, 0x01, 0x75, 0x5c, 0x43, 0x60, 0x16, 0xee, 0x23, 0x3f, + 0x4a, 0x49, 0xaf, 0x94, 0x91, 0x33, 0xdc, 0x56, 0x49, 0x36, 0xe3, 0x64, 0x24, 0xdc, 0xd1, 0xc6, 0xce, 0x45, 0x01, + 0x3f, 0x0a, 0x39, 0x53, 0x02, 0x1a, 0xd2, 0x10, 0x49, 0x2e, 0x76, 0xcf, 0x13, 0xab, 0x21, 0xd2, 0x93, 0x05, 0x05, + 0x10, 0x79, 0x58, 0xfb, 0x60, 0x49, 0x79, 0x34, 0xb5, 0x80, 0x89, 0x79, 0xae, 0xfc, 0xa8, 0xbd, 0x85, 0xaf, 0xd6, + 0xa1, 0x04, 0xcc, 0xe1, 0xcb, 0x24, 0xd6, 0x4a, 0x9b, 0xf1, 0xb8, 0x2c, 0x8f, 0xca, 0x5b, 0xcb, 0x6a, 0xba, 0xa2, + 0x7a, 0xd0, 0x98, 0x1e, 0xae, 0x53, 0x62, 0x6c, 0x2c, 0xb3, 0x4e, 0x5c, 0x2a, 0xe6, 0xbf, 0x4f, 0x5f, 0xaa, 0x8b, + 0xaa, 0x96, 0x6f, 0x23, 0xae, 0x67, 0x8c, 0x6a, 0x51, 0xc3, 0x03, 0xe6, 0x5f, 0x96, 0x31, 0x2c, 0xd7, 0x04, 0xb3, + 0x5c, 0x13, 0xbd, 0xad, 0x86, 0xa0, 0xed, 0x78, 0x14, 0x95, 0xa0, 0x1b, 0x31, 0xa0, 0x91, 0x52, 0x23, 0x60, 0x9b, + 0x14, 0x62, 0xf0, 0x1b, 0xb0, 0x3f, 0x76, 0x08, 0x48, 0x05, 0x47, 0xf0, 0x80, 0x70, 0xc9, 0x71, 0xf9, 0x61, 0xd2, + 0xdd, 0x42, 0x02, 0xa9, 0x78, 0x39, 0x2b, 0x9f, 0x96, 0x08, 0x46, 0x31, 0x28, 0x8b, 0xd0, 0x0c, 0x91, 0x52, 0x37, + 0x2b, 0x32, 0xea, 0xe0, 0x8d, 0xc1, 0x37, 0x22, 0x06, 0xbc, 0x52, 0x50, 0xc8, 0x63, 0x4e, 0x4e, 0x96, 0xcb, 0xd7, + 0xb9, 0x4b, 0x7f, 0x47, 0x4f, 0xe5, 0x38, 0x75, 0x47, 0xd0, 0xa6, 0x8f, 0x62, 0x9c, 0x8b, 0x4a, 0x82, 0xeb, 0xe5, + 0xb4, 0xf7, 0x98, 0xd1, 0x7c, 0xe1, 0xea, 0x69, 0x3c, 0x68, 0x8b, 0xdf, 0x8f, 0x39, 0xfb, 0xf0, 0x29, 0x35, 0xba, + 0x80, 0x02, 0x0f, 0x3b, 0x75, 0xdb, 0xc8, 0x29, 0x46, 0x80, 0xbf, 0xad, 0xaf, 0xc7, 0xa3, 0xcd, 0x96, 0xb9, 0x20, + 0x35, 0xec, 0x1b, 0x7c, 0x39, 0x18, 0x7f, 0x45, 0xb4, 0xc3, 0xd7, 0x64, 0xdd, 0x43, 0x83, 0xee, 0x5e, 0xd6, 0xf0, + 0x05, 0x0b, 0x74, 0x7e, 0x89, 0x21, 0x6f, 0xd9, 0x81, 0xe5, 0x3e, 0xcf, 0xf5, 0x04, 0x99, 0xc6, 0xc3, 0x78, 0x0d, + 0xc8, 0x35, 0x9e, 0xe5, 0xbd, 0x1b, 0xf5, 0x7b, 0xb6, 0x9c, 0x77, 0xc4, 0xd6, 0xd4, 0xbb, 0x6c, 0x03, 0x8c, 0xa3, + 0xea, 0x7f, 0xdf, 0x54, 0x22, 0x18, 0x99, 0xa1, 0x7d, 0x5a, 0xeb, 0xa3, 0xca, 0xd3, 0xff, 0x37, 0xb3, 0x75, 0x61, + 0x65, 0x98, 0x43, 0x30, 0xe3, 0x2b, 0x7c, 0x9a, 0x71, 0x1e, 0x44, 0x78, 0x20, 0xed, 0x5e, 0x66, 0x37, 0xd6, 0x9c, + 0xd1, 0x8f, 0xd0, 0x9d, 0x92, 0xec, 0x02, 0xc7, 0xf1, 0x6f, 0x83, 0x9e, 0x0a, 0xb5, 0x1f, 0xd5, 0x81, 0xc5, 0xdf, + 0x05, 0xa9, 0x09, 0xc9, 0x50, 0x80, 0x03, 0xb9, 0x6a, 0xd9, 0x7b, 0xba, 0x9d, 0x5d, 0x4c, 0x13, 0xc4, 0xa5, 0xb3, + 0xd5, 0x97, 0xd7, 0xad, 0x17, 0x68, 0xdf, 0xec, 0xfd, 0x68, 0x63, 0xa6, 0x98, 0xc7, 0xeb, 0xbb, 0xa6, 0xe3, 0x37, + 0x14, 0x86, 0xd6, 0xf8, 0x2a, 0x62, 0xba, 0x6f, 0x68, 0xde, 0xcb, 0xb5, 0x37, 0xed, 0x3d, 0x7e, 0xb1, 0xd7, 0xea, + 0x2c, 0xb0, 0xf1, 0x46, 0x01, 0x57, 0x26, 0x2e, 0x67, 0x94, 0xe4, 0xc3, 0x0d, 0x82, 0xeb, 0xf8, 0xd1, 0xaa, 0x19, + 0xee, 0x7a, 0x7c, 0xa3, 0x13, 0x96, 0x61, 0x60, 0xba, 0x85, 0xeb, 0x40, 0x8c, 0x61, 0x6c, 0x11, 0x42, 0x91, 0xfa, + 0x91, 0xc6, 0x30, 0x0a, 0xc6, 0xcf, 0x4f, 0xd6, 0x98, 0xd9, 0xf1, 0x1f, 0x51, 0x00, 0xae, 0x5d, 0x84, 0x23, 0x30, + 0xcc, 0x2c, 0xa8, 0x50, 0xe1, 0x42, 0x1f, 0x89, 0x2b, 0x9b, 0xb2, 0xa7, 0xf0, 0x02, 0xf2, 0x25, 0xa6, 0xfd, 0x51, + 0xd7, 0xf9, 0x83, 0x13, 0xf9, 0x49, 0xed, 0xee, 0xf7, 0x4a, 0xb7, 0x17, 0xe1, 0x32, 0xd3, 0x75, 0xc4, 0x00, 0xc9, + 0x63, 0x30, 0xc1, 0x68, 0x31, 0x64, 0xc7, 0x4d, 0xed, 0x59, 0x9d, 0xce, 0xc9, 0xf1, 0xe0, 0x7f, 0xad, 0x82, 0xd9, + 0xf8, 0x28, 0xde, 0x56, 0x8d, 0x9c, 0xed, 0x49, 0xba, 0xf9, 0x63, 0xa5, 0xc9, 0xec, 0xff, 0x61, 0x7e, 0x9d, 0x05, + 0x0b, 0xe6, 0x8b, 0x45, 0x8b, 0xac, 0x21, 0x6a, 0x80, 0x1f, 0xee, 0x34, 0xa6, 0x7c, 0x46, 0x19, 0x61, 0xab, 0x5a, + 0x2b, 0x6d, 0x68, 0x80, 0xe6, 0x94, 0x9d, 0x20, 0x45, 0x09, 0x24, 0xef, 0x58, 0x85, 0x91, 0xf9, 0xc0, 0x30, 0x78, + 0xec, 0x7d, 0x6a, 0xdd, 0x9a, 0xa2, 0xae, 0xf0, 0x3e, 0xd1, 0xd8, 0x8d, 0x59, 0x29, 0xf5, 0x73, 0x2b, 0xf4, 0x1f, + 0xd1, 0x0b, 0x11, 0x58, 0x22, 0x3f, 0x04, 0xf5, 0x93, 0xa0, 0x96, 0xf5, 0x27, 0x95, 0xb7, 0x7c, 0x6e, 0xcf, 0x2e, + 0xb6, 0xe5, 0xd3, 0x5c, 0x67, 0x20, 0xb1, 0x33, 0xbe, 0xa9, 0x2f, 0xbe, 0x48, 0xb5, 0x96, 0x5b, 0xba, 0xe5, 0xd1, + 0x34, 0xc4, 0xe8, 0x00, 0x80, 0x94, 0x01, 0xe3, 0x27, 0xf8, 0x81, 0x3a, 0xe3, 0x9f, 0xcf, 0x6f, 0xea, 0x9c, 0xea, + 0xaf, 0xde, 0x48, 0xe8, 0x2d, 0x2d, 0x01, 0xdf, 0x85, 0xfc, 0xdf, 0xfe, 0x95, 0x6e, 0x1d, 0x63, 0x45, 0x60, 0x76, + 0x70, 0x75, 0x92, 0x9d, 0xe9, 0x69, 0x6b, 0xe2, 0x2a, 0x06, 0xef, 0x87, 0x68, 0x9d, 0xfb, 0x91, 0xc0, 0x68, 0x0a, + 0x6f, 0xb3, 0xd8, 0xb4, 0x55, 0xae, 0x57, 0x33, 0x61, 0xb6, 0x8d, 0x2e, 0x91, 0x1a, 0x82, 0xeb, 0x7d, 0x2c, 0xa3, + 0x8b, 0x27, 0x83, 0xb3, 0xba, 0xbe, 0x64, 0x2a, 0xc0, 0x85, 0x14, 0xf5, 0x27, 0xca, 0xb2, 0xdd, 0xa3, 0x2e, 0x35, + 0xdd, 0x1f, 0xb4, 0x76, 0xcf, 0xa5, 0xc5, 0x36, 0x5d, 0x36, 0x7d, 0x6a, 0x3d, 0x10, 0xc1, 0xbe, 0xa5, 0x1b, 0xf6, + 0x02, 0x00, 0x1d, 0xe0, 0x85, 0x6a, 0x13, 0x5d, 0x57, 0xfd, 0x63, 0x0f, 0x48, 0x6b, 0x7c, 0x8f, 0x4d, 0xaa, 0xdc, + 0xc8, 0xa4, 0xda, 0x45, 0x82, 0xb2, 0xc3, 0xf8, 0xf8, 0x0e, 0x7b, 0xad, 0x87, 0x17, 0x6a, 0x55, 0x0a, 0x6b, 0xcb, + 0xdc, 0x9b, 0x31, 0xa9, 0x69, 0xeb, 0x0f, 0x5e, 0x0b, 0xeb, 0x86, 0x2e, 0x85, 0xcb, 0xe2, 0x51, 0xab, 0x03, 0x90, + 0x93, 0x0d, 0x84, 0x70, 0xc4, 0xd3, 0x3f, 0x92, 0x9c, 0x02, 0xbc, 0x0e, 0xdc, 0x15, 0xc7, 0xec, 0xb2, 0x1d, 0x77, + 0xc3, 0x96, 0x5b, 0xf8, 0xb3, 0x5b, 0x20, 0xc5, 0xba, 0xea, 0xdc, 0xb0, 0x83, 0xd7, 0x65, 0x8a, 0xa0, 0x54, 0x48, + 0x40, 0x38, 0x5c, 0xce, 0x2e, 0x05, 0xa1, 0x24, 0x60, 0xac, 0x0a, 0xf7, 0x87, 0xb2, 0xb7, 0xdd, 0x6e, 0xd8, 0x92, + 0x47, 0x92, 0x61, 0xa0, 0x6a, 0x3d, 0xa6, 0xf5, 0xaf, 0x76, 0x3a, 0x81, 0x4a, 0xd6, 0x6c, 0x7a, 0xa4, 0x7f, 0x58, + 0x8f, 0xf4, 0x52, 0xf0, 0x48, 0xc4, 0xe2, 0x1d, 0x19, 0xa3, 0xab, 0x1f, 0x2f, 0x90, 0xd9, 0x3b, 0x2e, 0x7e, 0x98, + 0xc3, 0xda, 0xb0, 0xcb, 0x80, 0x27, 0x98, 0x49, 0x83, 0x7a, 0xd5, 0x55, 0xf4, 0x54, 0x90, 0x0e, 0x8b, 0x86, 0x81, + 0x85, 0x53, 0xea, 0x57, 0xe9, 0x2d, 0x6f, 0x74, 0x16, 0x34, 0x86, 0x12, 0x2d, 0x65, 0xa1, 0x2c, 0x37, 0x93, 0x87, + 0x0d, 0x25, 0x2b, 0xae, 0xa9, 0x6d, 0x67, 0xab, 0x68, 0xd1, 0x0a, 0xc2, 0x1f, 0xd7, 0x30, 0x23, 0xea, 0x2f, 0x64, + 0x9a, 0x75, 0x3b, 0xfc, 0x0c, 0x69, 0xb5, 0xa4, 0x76, 0x6e, 0x81, 0xf6, 0x82, 0x06, 0xfc, 0x1a, 0x82, 0xd6, 0x92, + 0x52, 0x13, 0x9f, 0xd6, 0xb9, 0xe0, 0xf1, 0x86, 0xe1, 0xd3, 0x26, 0xa9, 0x97, 0xd9, 0xc6, 0xd5, 0x0d, 0x4f, 0x73, + 0x29, 0x3a, 0x18, 0x74, 0x90, 0x90, 0x52, 0x73, 0xa8, 0xc8, 0xdf, 0x5d, 0xac, 0x0b, 0xa7, 0x09, 0xc9, 0x66, 0x2a, + 0x59, 0x4e, 0x4a, 0xf6, 0x8c, 0x10, 0x47, 0x3f, 0x20, 0x65, 0xf2, 0x08, 0x35, 0xc9, 0xab, 0x17, 0x90, 0xc9, 0xeb, + 0x51, 0x4b, 0x8a, 0x0b, 0x6d, 0x32, 0xb1, 0x14, 0x70, 0x32, 0x8e, 0x20, 0x13, 0xac, 0xa7, 0x64, 0x75, 0x0d, 0x90, + 0xf4, 0x92, 0x3c, 0x35, 0xb0, 0x60, 0x6a, 0xef, 0x94, 0x02, 0x8b, 0x14, 0x80, 0xa1, 0x9d, 0x34, 0x2a, 0x4b, 0xf2, + 0x58, 0x76, 0xdf, 0x96, 0x65, 0x4f, 0xa1, 0xa0, 0x60, 0xc4, 0xd9, 0x63, 0x9f, 0x9d, 0x05, 0x82, 0xf2, 0x70, 0x06, + 0x65, 0xfa, 0x9c, 0x60, 0x23, 0xcf, 0x11, 0x2c, 0xf2, 0x62, 0x40, 0x8e, 0x2a, 0x5e, 0xd6, 0x08, 0xff, 0xd5, 0x02, + 0xb9, 0xc0, 0xe0, 0xe1, 0x9e, 0x74, 0x7a, 0xad, 0xdf, 0x94, 0x53, 0x50, 0x30, 0xfa, 0x94, 0xd5, 0xcd, 0x38, 0x37, + 0xd4, 0x32, 0x9a, 0x31, 0xf5, 0x67, 0xee, 0xe2, 0x49, 0xbe, 0x55, 0x32, 0xa3, 0x22, 0x93, 0x89, 0x17, 0x7e, 0x00, + 0x3b, 0x3f, 0x2f, 0x26, 0x06, 0x85, 0x27, 0x2e, 0xea, 0x98, 0x11, 0x87, 0xb8, 0x2a, 0x27, 0xbf, 0x2d, 0xc0, 0xa8, + 0xc1, 0x60, 0x72, 0x8b, 0x7a, 0x4d, 0xa9, 0xf7, 0x50, 0x9f, 0x19, 0x0c, 0xb5, 0x71, 0xac, 0x57, 0x56, 0x82, 0x0d, + 0x0d, 0x2f, 0xf9, 0x54, 0xcd, 0x3a, 0x8c, 0x15, 0x7e, 0xa5, 0x02, 0xcc, 0x05, 0xa6, 0x79, 0x1a, 0x87, 0x80, 0x95, + 0x96, 0x6a, 0x18, 0x7d, 0x75, 0xee, 0x10, 0x4a, 0xdd, 0xe8, 0x05, 0x6c, 0x00, 0xc3, 0x21, 0xa2, 0x2d, 0x7a, 0x79, + 0xe1, 0x2b, 0x0d, 0x52, 0xb5, 0x23, 0x4b, 0x5e, 0x1d, 0x72, 0x22, 0x8f, 0x27, 0xe2, 0x7f, 0x26, 0x0c, 0x49, 0x9b, + 0x1b, 0x88, 0xb7, 0x94, 0xdd, 0xd4, 0x71, 0x9a, 0x39, 0x48, 0xef, 0xe9, 0x60, 0xaf, 0x95, 0xaf, 0x6c, 0x93, 0x19, + 0x7a, 0x35, 0x1a, 0x87, 0x82, 0xb4, 0xbc, 0x98, 0x2d, 0x32, 0x69, 0x12, 0xdd, 0x96, 0x16, 0x03, 0x7a, 0x88, 0xec, + 0xcc, 0x43, 0xb1, 0xe2, 0x7d, 0x3d, 0x99, 0x16, 0x14, 0x1d, 0xc2, 0x2d, 0xe4, 0x26, 0x1a, 0xf5, 0x13, 0x5d, 0xb5, + 0x2b, 0x94, 0xd9, 0x7e, 0x26, 0x74, 0x80, 0x97, 0x16, 0x27, 0x00, 0xec, 0xd1, 0x34, 0x2e, 0xb8, 0x6d, 0x09, 0xc3, + 0xd4, 0x86, 0x6a, 0x2e, 0x3b, 0xdd, 0xd6, 0x99, 0x5c, 0x0b, 0x14, 0x83, 0x00, 0x3a, 0xcf, 0x37, 0xef, 0x4f, 0x5e, + 0xfe, 0x0c, 0xc7, 0xb1, 0x83, 0xd1, 0xc9, 0x8c, 0xaa, 0xb8, 0x4d, 0xa2, 0xde, 0x6f, 0xe9, 0xa6, 0x81, 0xbc, 0xef, + 0x41, 0x35, 0x7b, 0xd6, 0xef, 0x4e, 0xd7, 0xc6, 0x3b, 0xf5, 0x9b, 0xd9, 0x00, 0xa0, 0xbc, 0x48, 0x9a, 0x0f, 0x70, + 0xdc, 0xe0, 0xe7, 0x19, 0xab, 0x15, 0x6a, 0x24, 0x22, 0x88, 0x02, 0x12, 0xa6, 0xfe, 0x59, 0x38, 0xbc, 0xc7, 0x77, + 0x2c, 0x3b, 0x51, 0x70, 0x48, 0xea, 0xab, 0xc1, 0xd1, 0x83, 0x6e, 0x4c, 0x05, 0xc3, 0x1a, 0xe3, 0x84, 0x9b, 0x6f, + 0xb1, 0xef, 0x5a, 0x2b, 0x8a, 0xeb, 0xc2, 0x3e, 0xf7, 0x9d, 0xa2, 0x9e, 0x7d, 0x76, 0x43, 0x8f, 0xf3, 0xe0, 0x15, + 0x53, 0x56, 0x29, 0xd6, 0x5d, 0x8e, 0x3c, 0x3e, 0x01, 0x52, 0xf3, 0x5d, 0xc9, 0xdf, 0x60, 0xac, 0x20, 0x0a, 0xbc, + 0x5f, 0x6d, 0x8a, 0x74, 0x39, 0xb1, 0x22, 0x0a, 0x83, 0x20, 0xf3, 0x2a, 0x42, 0xbc, 0xa2, 0x92, 0xdf, 0xb7, 0x03, + 0x38, 0x81, 0x3c, 0x1c, 0xb6, 0x09, 0xbe, 0xdf, 0xd1, 0x40, 0xa8, 0x18, 0x37, 0xd2, 0x76, 0x4b, 0x4e, 0x37, 0x8c, + 0x7b, 0x3a, 0x69, 0xf6, 0x26, 0x91, 0x9b, 0x44, 0x0d, 0x47, 0x11, 0xcb, 0xd7, 0x64, 0x77, 0x45, 0x81, 0x42, 0x80, + 0xc8, 0x2e, 0xf9, 0x1c, 0x96, 0x9a, 0xca, 0xf5, 0xb5, 0xe4, 0x17, 0x48, 0x82, 0x8c, 0xdb, 0x40, 0xea, 0x9f, 0x14, + 0xa1, 0xec, 0x1c, 0xb5, 0x61, 0xc7, 0x8f, 0x26, 0xaa, 0x0e, 0x76, 0xa7, 0x55, 0x9b, 0x1d, 0x8d, 0x60, 0xdf, 0x6b, + 0x85, 0x96, 0x83, 0xd6, 0x59, 0x9f, 0x9a, 0xdc, 0x10, 0x3f, 0x3e, 0xe7, 0x72, 0x80, 0x00, 0x3a, 0x59, 0xa0, 0xc2, + 0xfd, 0xd0, 0x51, 0xdf, 0xae, 0x0e, 0x69, 0x02, 0x45, 0xe5, 0xa0, 0xb8, 0xe3, 0x38, 0x85, 0x5d, 0x91, 0x1d, 0xfd, + 0x42, 0x34, 0x4e, 0xd8, 0xe1, 0x23, 0x6b, 0x9a, 0x3f, 0xc4, 0x09, 0xca, 0x17, 0xf3, 0x50, 0x70, 0x89, 0x3a, 0x1b, + 0x52, 0x46, 0x00, 0x74, 0x47, 0xbb, 0xf5, 0x90, 0x7e, 0x5c, 0xdb, 0x14, 0x7b, 0xee, 0x09, 0xfa, 0xbc, 0x6f, 0x60, + 0xdc, 0x11, 0xd8, 0xd1, 0x40, 0x12, 0xda, 0x47, 0x95, 0xfa, 0x33, 0x8f, 0xc5, 0x98, 0xd9, 0xa7, 0xdb, 0x66, 0x82, + 0xca, 0x9d, 0xec, 0x52, 0x09, 0xd2, 0xe0, 0x0d, 0xf2, 0x70, 0xd8, 0xd7, 0xfd, 0x5e, 0x6a, 0xda, 0xe6, 0xc9, 0xed, + 0x2b, 0xab, 0xd5, 0x94, 0xef, 0x76, 0x99, 0x40, 0x7c, 0x71, 0x0e, 0x65, 0xbc, 0xe7, 0x81, 0xaa, 0xef, 0x1b, 0x59, + 0x43, 0xc0, 0x7d, 0xb3, 0x30, 0xcc, 0x09, 0x3a, 0xc2, 0x20, 0x69, 0xe6, 0xc1, 0x9f, 0x00, 0x6d, 0xde, 0xcb, 0xeb, + 0x55, 0x88, 0x73, 0x40, 0x77, 0xf8, 0xf2, 0x84, 0xb5, 0x8e, 0xd8, 0xe3, 0x83, 0x79, 0xc6, 0x28, 0x37, 0xbc, 0x44, + 0xc7, 0x88, 0xdb, 0xde, 0x95, 0x17, 0x32, 0x5d, 0x3e, 0xfb, 0x96, 0x04, 0xbe, 0x31, 0x52, 0x81, 0x14, 0x68, 0xc4, + 0xb1, 0x0f, 0x36, 0xdf, 0x87, 0x43, 0xb3, 0x5f, 0xe8, 0x8d, 0xc2, 0xf4, 0x72, 0xfc, 0xe5, 0xc6, 0xfc, 0x16, 0x8e, + 0xb8, 0xda, 0x2a, 0xc4, 0xc3, 0x5e, 0x8e, 0xb9, 0xd0, 0x9a, 0x07, 0xbf, 0x30, 0x27, 0xcb, 0x42, 0xe2, 0xdd, 0x45, + 0x7d, 0xc3, 0x7a, 0xcd, 0x96, 0x3d, 0x93, 0x59, 0x13, 0x0f, 0x92, 0xf5, 0xb4, 0xf2, 0x70, 0x7a, 0x2a, 0xcf, 0xb1, + 0xd9, 0x0b, 0x0b, 0xb2, 0xa1, 0xab, 0xa7, 0xb6, 0x5c, 0xf7, 0xd6, 0x34, 0x24, 0x2f, 0xf1, 0x8b, 0xab, 0x68, 0x01, + 0x4a, 0x4c, 0xd4, 0xce, 0xac, 0x5d, 0x90, 0x0a, 0xf6, 0x7a, 0x59, 0x40, 0x83, 0x63, 0xe5, 0xd8, 0x96, 0xd0, 0x53, + 0x91, 0x19, 0x9f, 0x55, 0x29, 0x20, 0x7d, 0x4d, 0xd4, 0xed, 0x45, 0x54, 0x5a, 0x42, 0x82, 0xc0, 0xc7, 0x4f, 0x92, + 0x52, 0xec, 0xcb, 0x0d, 0x20, 0x30, 0x54, 0xbc, 0xef, 0x02, 0xbe, 0xbf, 0xa9, 0x48, 0x64, 0x72, 0xb0, 0x92, 0xf7, + 0x44, 0x97, 0x14, 0xf8, 0x9f, 0x9f, 0xef, 0xac, 0x54, 0x2a, 0x72, 0x39, 0x86, 0x11, 0xc5, 0x5e, 0x33, 0x45, 0x61, + 0x6e, 0x1a, 0xa1, 0x20, 0x50, 0xcb, 0x3f, 0x5c, 0x7f, 0xa1, 0xbf, 0xa4, 0x04, 0xa7, 0x96, 0x40, 0x5c, 0x5e, 0x9d, + 0x87, 0x04, 0x67, 0xf5, 0x16, 0x79, 0xac, 0x20, 0xd8, 0x63, 0xae, 0x35, 0x3b, 0xcc, 0x81, 0x64, 0x57, 0x0b, 0x8c, + 0xb6, 0x44, 0x29, 0xf5, 0x02, 0x62, 0x97, 0x4c, 0xf7, 0x75, 0x45, 0x91, 0xee, 0x51, 0xf4, 0x98, 0xca, 0x68, 0x39, + 0x3e, 0xd1, 0xd8, 0xdf, 0x18, 0xaa, 0x96, 0xfa, 0x2a, 0x7b, 0xc2, 0xd7, 0xbb, 0xc3, 0x17, 0x1b, 0x3f, 0x12, 0xfe, + 0x3e, 0x57, 0x4c, 0x3f, 0x67, 0xf7, 0xa3, 0x5d, 0xc2, 0x68, 0xa0, 0x7a, 0xae, 0x39, 0x6e, 0x2c, 0x37, 0x5e, 0x6e, + 0x5f, 0x74, 0xc5, 0x56, 0x99, 0x9f, 0xbb, 0x05, 0xb9, 0x26, 0xdd, 0x6b, 0x32, 0xcf, 0x49, 0x6e, 0xf0, 0xce, 0xf4, + 0x20, 0x9d, 0x08, 0xae, 0xfd, 0xcb, 0xf3, 0xaf, 0x3b, 0x5c, 0x85, 0x6d, 0x5b, 0x91, 0x57, 0x66, 0x40, 0x39, 0xb4, + 0xdb, 0x04, 0xd4, 0x97, 0x6e, 0xd2, 0x1d, 0xd1, 0x36, 0xb6, 0xf0, 0x12, 0xe2, 0x35, 0x50, 0xdc, 0xd2, 0xc4, 0x57, + 0x67, 0xa3, 0x90, 0xa6, 0x64, 0xb2, 0x07, 0x84, 0x62, 0xc2, 0x02, 0xfd, 0xd3, 0x71, 0xd2, 0xac, 0x0a, 0x5a, 0xef, + 0x95, 0xaa, 0x8e, 0x95, 0xd3, 0xd5, 0x57, 0x61, 0x66, 0xa3, 0x19, 0xf1, 0x20, 0x27, 0x1b, 0x87, 0x28, 0x77, 0x9d, + 0xe9, 0xe8, 0x50, 0x3c, 0xa6, 0xdc, 0x49, 0x9d, 0x5c, 0x9c, 0xb3, 0x23, 0x09, 0xc5, 0x7f, 0xeb, 0x9c, 0x08, 0x85, + 0x6f, 0x61, 0x2b, 0x02, 0xf9, 0xda, 0xb4, 0xfc, 0xaf, 0x1d, 0xf5, 0x39, 0xe1, 0x8e, 0x76, 0xe5, 0x6a, 0xc6, 0x29, + 0xb2, 0xe1, 0x40, 0xe6, 0xe3, 0x46, 0x05, 0xaf, 0x3c, 0x55, 0x65, 0xbf, 0x8d, 0x98, 0xf4, 0x89, 0x3d, 0x9b, 0x1c, + 0x26, 0xa5, 0xa3, 0xf6, 0x13, 0x5c, 0x16, 0x1d, 0x4c, 0xc3, 0xa2, 0x0d, 0x11, 0x20, 0x6a, 0xb5, 0xd1, 0x0e, 0x8b, + 0x88, 0x04, 0x8d, 0x2f, 0x56, 0x2f, 0xe3, 0x81, 0x8f, 0xe6, 0x18, 0xc5, 0x3e, 0x6d, 0x6b, 0x49, 0xf6, 0xbd, 0x31, + 0x46, 0xca, 0x40, 0x7d, 0xa2, 0x73, 0xa0, 0x4c, 0x2c, 0xf2, 0x31, 0xc9, 0x4b, 0x2d, 0x56, 0xb8, 0x4b, 0x5e, 0x47, + 0x25, 0x60, 0x45, 0xf2, 0x57, 0x70, 0x19, 0x25, 0x08, 0x46, 0x8f, 0xa2, 0x2f, 0xfd, 0x12, 0xdc, 0x72, 0xdf, 0x1f, + 0x32, 0x05, 0x76, 0x8a, 0xb1, 0x8f, 0x18, 0xbd, 0x94, 0x22, 0xf3, 0x21, 0x12, 0x8f, 0xdf, 0xb3, 0x04, 0x29, 0x28, + 0x7d, 0x69, 0x1b, 0x60, 0x70, 0x13, 0xe8, 0xb2, 0x6e, 0x6a, 0x9c, 0x01, 0x72, 0x22, 0x57, 0xd4, 0x76, 0xdc, 0xf3, + 0xc9, 0x0e, 0x05, 0x6d, 0x0d, 0x32, 0x66, 0x7a, 0xa1, 0x59, 0xa2, 0xc0, 0xf0, 0xfd, 0x56, 0xe3, 0x28, 0x18, 0xb0, + 0x6b, 0xac, 0x47, 0xbf, 0x52, 0xd2, 0x21, 0x53, 0xfa, 0x91, 0x16, 0xce, 0xe5, 0x4c, 0xa6, 0x7a, 0xf3, 0x7b, 0x21, + 0x05, 0x10, 0x17, 0x6f, 0x25, 0xa2, 0xb7, 0x64, 0x7f, 0x1d, 0x14, 0xa0, 0x60, 0x1a, 0x19, 0x23, 0xfd, 0x5f, 0x2c, + 0x0b, 0x72, 0x3b, 0x0a, 0x6b, 0x86, 0x04, 0x06, 0x15, 0x1f, 0x77, 0x68, 0x8e, 0xbf, 0x0e, 0xff, 0x6b, 0x03, 0x50, + 0x57, 0xee, 0xbc, 0xa1, 0xac, 0xf9, 0x01, 0x29, 0x45, 0x66, 0x2f, 0xdf, 0xbd, 0x6a, 0x85, 0x3a, 0x68, 0xb1, 0xcd, + 0x75, 0x9e, 0xd7, 0x16, 0xbf, 0x9e, 0x42, 0xb7, 0x37, 0xf9, 0xcd, 0x6c, 0x57, 0x5d, 0x3d, 0x36, 0x6a, 0xd4, 0x1b, + 0x04, 0xa3, 0xb7, 0x37, 0xc3, 0x6e, 0x9d, 0x0f, 0x67, 0x25, 0xa0, 0x95, 0xcd, 0x5e, 0xfd, 0x9b, 0x08, 0x0a, 0x7d, + 0xad, 0x9f, 0x47, 0xba, 0xca, 0xb8, 0x7c, 0x96, 0x80, 0x97, 0xc6, 0x87, 0x46, 0x95, 0x6a, 0x59, 0x58, 0xb2, 0x26, + 0x11, 0x08, 0x0e, 0x7f, 0xd0, 0xac, 0x67, 0xda, 0x8f, 0xea, 0x36, 0xdf, 0xd4, 0x75, 0x15, 0x41, 0xfb, 0x11, 0xd6, + 0x74, 0xa5, 0xff, 0x37, 0x71, 0x78, 0x38, 0x45, 0xff, 0xa3, 0xf9, 0x83, 0x82, 0xed, 0xdd, 0x66, 0x53, 0x42, 0x85, + 0x6b, 0xe6, 0x5e, 0x3d, 0xc5, 0x33, 0x45, 0x62, 0x17, 0xa5, 0x67, 0x55, 0xdb, 0xc1, 0xb2, 0xa1, 0xb6, 0xd7, 0x90, + 0xb0, 0x45, 0x90, 0x6a, 0x0a, 0xc6, 0xcd, 0xd3, 0x3b, 0xdc, 0x1d, 0x71, 0xcc, 0xa0, 0x1c, 0x1a, 0x45, 0x99, 0xdf, + 0x0e, 0x93, 0xe6, 0x54, 0x6d, 0x6f, 0x51, 0xe0, 0x47, 0x00, 0x9f, 0x2b, 0x6a, 0x07, 0xf2, 0xf4, 0x61, 0x94, 0xaf, + 0x27, 0xb9, 0xef, 0xc4, 0x11, 0x09, 0xd6, 0x0e, 0x6c, 0x79, 0xc9, 0xab, 0xd3, 0x95, 0xd5, 0x3d, 0x89, 0xaf, 0x3b, + 0xc6, 0xf9, 0x21, 0x71, 0xed, 0x47, 0x4f, 0x53, 0x0e, 0xdb, 0xa2, 0x9e, 0xe0, 0xb0, 0x38, 0xb4, 0xdd, 0x10, 0xdd, + 0x76, 0x96, 0x46, 0xef, 0x00, 0x6d, 0xb1, 0xc9, 0x8b, 0x27, 0x9d, 0x63, 0x5c, 0x1f, 0x2e, 0x27, 0x69, 0xd9, 0x3f, + 0x95, 0x1a, 0xa2, 0xbe, 0xa5, 0x74, 0x8f, 0xd4, 0x1d, 0x1d, 0x6c, 0xcd, 0xde, 0x3f, 0x16, 0xcd, 0x43, 0xe4, 0xb5, + 0x1c, 0x36, 0x6d, 0x52, 0xce, 0x87, 0x2f, 0x1b, 0x7d, 0x59, 0x5e, 0x6d, 0x4a, 0xb6, 0x41, 0xea, 0x4c, 0xb4, 0x79, + 0x0c, 0xa8, 0x6f, 0x0d, 0xbd, 0x0a, 0xbe, 0x60, 0xcd, 0x16, 0xfa, 0xe6, 0xbc, 0x5b, 0x60, 0x2c, 0xc1, 0x67, 0x0c, + 0x6d, 0x73, 0xee, 0xbe, 0x93, 0xee, 0xb3, 0x1c, 0xa6, 0x5c, 0x54, 0x4e, 0x51, 0x22, 0x89, 0xba, 0xff, 0x2f, 0xaf, + 0xf7, 0x52, 0x46, 0x7a, 0x79, 0x42, 0x87, 0x9d, 0xc2, 0xc3, 0x25, 0xab, 0x80, 0x62, 0xac, 0xad, 0xf4, 0xbc, 0x72, + 0x0a, 0x52, 0xa3, 0xa3, 0xb8, 0xd0, 0x7f, 0xf8, 0xca, 0x5d, 0xef, 0x36, 0xd6, 0xf4, 0x63, 0xca, 0x92, 0xbf, 0xf6, + 0x8d, 0x04, 0x6d, 0x5d, 0x11, 0x99, 0xfc, 0x9f, 0x48, 0x4c, 0x8e, 0x2c, 0xc4, 0xa3, 0x03, 0x68, 0x60, 0xa7, 0x4e, + 0xb6, 0xa0, 0xc5, 0x24, 0x09, 0x88, 0x2e, 0xd1, 0x1c, 0x4e, 0x00, 0x6d, 0xd2, 0x12, 0x4c, 0xc8, 0x6f, 0xf4, 0xbe, + 0xcb, 0x98, 0x27, 0xfc, 0x65, 0x1e, 0x4e, 0xa0, 0xfb, 0xe0, 0xd0, 0xa2, 0x09, 0x58, 0x45, 0x92, 0x86, 0xb5, 0xb6, + 0x9d, 0x0f, 0x27, 0xdb, 0x09, 0x49, 0xaa, 0xf7, 0xfb, 0xdc, 0x90, 0x42, 0xc8, 0xed, 0x28, 0x45, 0x4d, 0xe7, 0x7c, + 0xd5, 0xea, 0xcd, 0x21, 0xd6, 0xc5, 0x0c, 0x75, 0xcf, 0x40, 0x49, 0xdb, 0xce, 0x16, 0xe8, 0xf6, 0x09, 0xff, 0xf8, + 0xcb, 0x40, 0x13, 0x14, 0xcd, 0x1a, 0xb0, 0xa4, 0x00, 0xdc, 0xc6, 0x9c, 0xef, 0x35, 0x4f, 0xa9, 0xa2, 0xba, 0x83, + 0x30, 0x77, 0xd8, 0x90, 0x62, 0x54, 0xf7, 0xe1, 0x84, 0x05, 0x41, 0xbc, 0xf6, 0x44, 0x0e, 0x22, 0x3d, 0xa8, 0x4f, + 0x3a, 0x10, 0x32, 0xeb, 0x81, 0xb3, 0x86, 0x55, 0xd2, 0xad, 0xae, 0x59, 0xd7, 0x19, 0x7f, 0xf2, 0x43, 0xd6, 0xd9, + 0x40, 0xff, 0x64, 0xa3, 0xa4, 0x73, 0x5d, 0x44, 0x04, 0x4f, 0xe2, 0x65, 0x0e, 0x94, 0xe7, 0x3d, 0x4d, 0x39, 0xb5, + 0xfc, 0xf8, 0xef, 0x5b, 0x32, 0x87, 0xfa, 0x92, 0x35, 0xf9, 0x7b, 0xa7, 0x3f, 0x59, 0x44, 0x5e, 0x31, 0x35, 0x5f, + 0x2d, 0x26, 0x2b, 0x2f, 0x32, 0xce, 0x29, 0x91, 0x0a, 0x4e, 0xad, 0xe8, 0x7c, 0x22, 0x97, 0xd8, 0xc6, 0x1f, 0x04, + 0x32, 0x67, 0x8f, 0xec, 0x3d, 0x3b, 0xa8, 0x18, 0x2d, 0xa1, 0x20, 0x66, 0x51, 0x35, 0xf0, 0xed, 0xc1, 0x9b, 0x31, + 0xb3, 0xe7, 0xa4, 0x40, 0x8b, 0x51, 0x60, 0xcb, 0x85, 0x18, 0x0d, 0xf1, 0xaa, 0x64, 0xae, 0x24, 0xe1, 0xcf, 0x96, + 0x99, 0x12, 0x3f, 0x64, 0xa5, 0x0e, 0xee, 0xbc, 0x58, 0xb9, 0x64, 0xb9, 0x7c, 0x7e, 0xfd, 0x08, 0xec, 0x7a, 0xef, + 0x11, 0x31, 0xe3, 0xf5, 0x93, 0x05, 0xbb, 0x56, 0x80, 0x12, 0x19, 0xdd, 0x30, 0xee, 0x22, 0xa1, 0x46, 0xd9, 0x61, + 0x74, 0x05, 0x2a, 0x8e, 0x75, 0x2a, 0x0a, 0x00, 0xfe, 0x78, 0x3d, 0x54, 0x2e, 0x70, 0x7f, 0x3c, 0x11, 0x80, 0x32, + 0xca, 0xf4, 0x9d, 0xc9, 0x18, 0x10, 0x1d, 0x35, 0x13, 0xf8, 0x37, 0x61, 0xac, 0x9e, 0xfb, 0xec, 0xf8, 0x28, 0xee, + 0x65, 0x23, 0x0c, 0x34, 0x96, 0x65, 0x93, 0xcd, 0xba, 0x75, 0x5b, 0xe1, 0x4f, 0xc5, 0x0a, 0xa4, 0x29, 0x40, 0xf3, + 0x31, 0x6d, 0x04, 0x9c, 0x81, 0x31, 0xfb, 0x32, 0x81, 0x9a, 0x2a, 0x18, 0x47, 0x5f, 0x5b, 0x36, 0x3c, 0x1f, 0xd5, + 0xdd, 0x0f, 0x2e, 0x73, 0x81, 0x50, 0x16, 0x0b, 0x6c, 0x7b, 0xa1, 0x4e, 0xfc, 0x56, 0x90, 0x79, 0x7c, 0x5f, 0x0d, + 0x8b, 0x36, 0x1d, 0x2d, 0x2b, 0x2b, 0xac, 0x0f, 0x7a, 0xb4, 0x47, 0xb0, 0x1a, 0x29, 0x5a, 0xcf, 0x71, 0xb7, 0x02, + 0x1b, 0xd1, 0xe3, 0xd4, 0x60, 0xf5, 0x83, 0x49, 0x81, 0xe4, 0x60, 0xc8, 0xb6, 0x23, 0x96, 0x1a, 0x18, 0x82, 0x9a, + 0x97, 0xa7, 0x00, 0x6b, 0xa4, 0x76, 0xd3, 0xd2, 0x68, 0xf2, 0xaf, 0xda, 0xa2, 0xdf, 0xfa, 0x37, 0xb3, 0xde, 0x35, + 0x42, 0x24, 0xdb, 0xc3, 0xf9, 0xec, 0x0c, 0x2d, 0x98, 0x41, 0xa3, 0x22, 0xb4, 0x87, 0x50, 0x6a, 0x4e, 0x23, 0x31, + 0xa8, 0x85, 0x10, 0xd9, 0x9f, 0xb8, 0xb7, 0x9c, 0xf0, 0x3c, 0xe0, 0x1e, 0x9e, 0x95, 0x34, 0xe9, 0x34, 0x5f, 0x2a, + 0x23, 0xb8, 0x2b, 0x70, 0x8a, 0x12, 0xcc, 0x16, 0xf4, 0x4f, 0x7e, 0x7b, 0x57, 0x8a, 0x18, 0xae, 0x0b, 0x08, 0xa5, + 0xcf, 0x9e, 0x11, 0x45, 0xbb, 0xc8, 0x88, 0x56, 0x25, 0x4b, 0x70, 0x81, 0xec, 0x23, 0xdb, 0xcf, 0x46, 0x16, 0xcc, + 0x1a, 0xf6, 0x53, 0xdd, 0x88, 0xf6, 0x21, 0x30, 0x23, 0x36, 0xc7, 0x5e, 0x4f, 0x9e, 0x40, 0x43, 0xf4, 0xb0, 0x64, + 0x5a, 0x17, 0xb4, 0x74, 0x95, 0x62, 0xa5, 0x42, 0x37, 0xf1, 0xa8, 0x1f, 0xa9, 0x51, 0xab, 0xe5, 0xed, 0x10, 0x7d, + 0x04, 0x6b, 0x5e, 0xef, 0x9f, 0xe2, 0x5d, 0x43, 0x81, 0x98, 0x85, 0x3b, 0x56, 0xd6, 0x58, 0xd9, 0x63, 0x61, 0xe2, + 0xf0, 0x8d, 0x10, 0x0b, 0x4f, 0x85, 0xde, 0x4f, 0xf3, 0xbf, 0x36, 0x78, 0xf5, 0xb5, 0x50, 0xd6, 0x04, 0xe5, 0x87, + 0xc1, 0xc2, 0x99, 0x0b, 0x7c, 0x8c, 0xb1, 0xd3, 0xe1, 0x37, 0x8a, 0x68, 0x83, 0x44, 0x4b, 0x8a, 0x61, 0x0b, 0xb7, + 0x57, 0x12, 0x57, 0x49, 0x15, 0x1c, 0x45, 0x18, 0x5f, 0x70, 0xeb, 0xf1, 0x4b, 0xd6, 0x18, 0x13, 0x8e, 0xce, 0x39, + 0x28, 0x5b, 0x11, 0x12, 0xcc, 0x02, 0x9b, 0xf4, 0x70, 0x83, 0x65, 0x5a, 0x21, 0x25, 0x08, 0x31, 0xc9, 0x74, 0x3f, + 0x86, 0xa1, 0x12, 0x5b, 0x05, 0x41, 0x46, 0x65, 0x76, 0xe8, 0xc4, 0x19, 0x6d, 0x71, 0x98, 0x62, 0x8d, 0xf0, 0xa9, + 0xa6, 0x17, 0x21, 0x4a, 0x22, 0xef, 0x99, 0x5d, 0x63, 0x98, 0x40, 0x2b, 0x32, 0x55, 0x32, 0xfa, 0x2a, 0x06, 0xdc, + 0xfa, 0x6b, 0xed, 0x43, 0xc1, 0x3a, 0xb8, 0x86, 0x5e, 0xaa, 0xe2, 0xaf, 0x4e, 0xa1, 0x55, 0xea, 0x92, 0x54, 0x49, + 0x4f, 0xa6, 0x90, 0xe6, 0xbc, 0x82, 0x1e, 0xce, 0x79, 0x88, 0xb7, 0x02, 0xde, 0x2a, 0xf8, 0x04, 0x5a, 0xd2, 0x08, + 0xf7, 0x2d, 0xbb, 0xda, 0x3e, 0x2b, 0x91, 0xed, 0xe7, 0xe6, 0x64, 0xc4, 0xb9, 0x0e, 0x34, 0x7a, 0x0e, 0x0b, 0x2f, + 0x83, 0x16, 0x7d, 0xa7, 0x06, 0xee, 0x4a, 0x44, 0xdf, 0xfa, 0x43, 0x0b, 0x8a, 0x35, 0xab, 0x54, 0xc0, 0x9e, 0xa9, + 0xf7, 0x23, 0x21, 0xf1, 0x58, 0xfe, 0xb1, 0xa7, 0xc7, 0x24, 0x51, 0xb5, 0x3c, 0x81, 0x91, 0x08, 0x51, 0x93, 0x41, + 0xd6, 0xfa, 0x04, 0x83, 0xae, 0x59, 0xae, 0x52, 0x73, 0x85, 0x30, 0x87, 0x32, 0xdd, 0xd5, 0xda, 0x2e, 0x00, 0x4e, + 0x5f, 0xad, 0xe7, 0x2b, 0xd0, 0x69, 0x61, 0x06, 0x28, 0x71, 0xa6, 0x47, 0x75, 0xc6, 0xc1, 0xa9, 0x6e, 0x11, 0xff, + 0xeb, 0x95, 0x4a, 0x58, 0x7b, 0xf0, 0x70, 0x50, 0xf1, 0xa4, 0x82, 0xfc, 0x6c, 0xa0, 0x29, 0x0d, 0x03, 0x52, 0x70, + 0x4e, 0x62, 0x57, 0x2c, 0xa7, 0x8b, 0x47, 0x5e, 0x19, 0x23, 0x9c, 0xc0, 0xba, 0xd3, 0xa7, 0xd3, 0x41, 0x31, 0x2e, + 0xd1, 0x52, 0x17, 0x35, 0xe7, 0xd6, 0x49, 0x5a, 0xee, 0x40, 0xf1, 0x57, 0x96, 0xa8, 0x6b, 0x91, 0x4e, 0x96, 0x2d, + 0xae, 0xea, 0xab, 0x31, 0xed, 0x82, 0x08, 0x2b, 0x6a, 0xe4, 0xd6, 0x42, 0x9d, 0xed, 0x77, 0x5e, 0xde, 0x50, 0x8c, + 0xe3, 0x39, 0xbf, 0xd6, 0xca, 0xc3, 0xb3, 0x96, 0x52, 0x2f, 0xde, 0x32, 0x47, 0xd3, 0x89, 0x35, 0x5f, 0x6a, 0x84, + 0x67, 0xe2, 0x2e, 0x22, 0xc3, 0x68, 0x80, 0xe9, 0xdb, 0xaa, 0x45, 0x2c, 0xa4, 0x1d, 0x40, 0x3f, 0x17, 0xd4, 0x39, + 0x00, 0x0c, 0x45, 0x28, 0x3b, 0x00, 0xae, 0x42, 0xb5, 0x5e, 0xcf, 0x2b, 0x6d, 0x6c, 0xf6, 0x27, 0x72, 0x42, 0x10, + 0x56, 0xbc, 0xa4, 0x50, 0x0a, 0x99, 0x40, 0x5e, 0xe2, 0x52, 0x95, 0xdc, 0x4e, 0xcb, 0x66, 0xd3, 0xb9, 0xc3, 0x37, + 0xd2, 0x00, 0x44, 0x4d, 0x5a, 0x66, 0xb2, 0x81, 0x0d, 0x55, 0xca, 0x94, 0xa7, 0x49, 0xad, 0x06, 0x5c, 0xf3, 0xc1, + 0x35, 0x70, 0x24, 0xe0, 0xec, 0xc0, 0xb5, 0x20, 0x0e, 0xbb, 0x66, 0xc8, 0x35, 0x75, 0x4e, 0x79, 0x8c, 0xfe, 0x6b, + 0xab, 0x35, 0xb6, 0x5f, 0x7d, 0x2d, 0x4d, 0xde, 0x4f, 0xc7, 0x48, 0x2b, 0x03, 0x52, 0x3b, 0xf9, 0xbf, 0x36, 0xa4, + 0x9c, 0xfd, 0x58, 0x88, 0xb5, 0xff, 0x9b, 0x91, 0x39, 0x9f, 0x57, 0xcf, 0x0e, 0x13, 0x37, 0x18, 0x53, 0x21, 0x8e, + 0x71, 0x12, 0x5e, 0x6c, 0x87, 0x57, 0x8d, 0x41, 0xed, 0xd7, 0x0b, 0x18, 0x72, 0xdc, 0xb1, 0xf7, 0x1e, 0x18, 0xce, + 0xbe, 0xd8, 0x5b, 0x34, 0x56, 0x87, 0xb4, 0x28, 0x96, 0x7d, 0x00, 0xe9, 0x67, 0xf9, 0xfe, 0x7f, 0xdc, 0xdc, 0xa5, + 0x41, 0x2d, 0x23, 0x2f, 0x71, 0xc9, 0x42, 0xb3, 0xfc, 0x5e, 0x52, 0xac, 0x4f, 0x1b, 0xe1, 0x12, 0xcd, 0x95, 0xd5, + 0xff, 0x82, 0x65, 0xcb, 0xea, 0x2e, 0xe5, 0xe1, 0xde, 0x81, 0x09, 0x8d, 0x6f, 0x6e, 0x7c, 0x4c, 0x9d, 0x35, 0x95, + 0x6e, 0xc6, 0xbb, 0x38, 0xc4, 0xae, 0xb7, 0x8d, 0x2a, 0xb6, 0x8b, 0x8c, 0xa9, 0x68, 0x6a, 0xf5, 0xd1, 0x0c, 0x22, + 0x37, 0xb4, 0xa0, 0xfd, 0x5b, 0x4c, 0x3a, 0x58, 0x3c, 0x28, 0xc3, 0xa5, 0xd1, 0xf2, 0xba, 0x10, 0x3b, 0x0a, 0x2e, + 0xc9, 0x48, 0x4a, 0x12, 0x64, 0x48, 0xf7, 0x1d, 0x17, 0x0f, 0x9a, 0x42, 0xd5, 0x88, 0xdb, 0x95, 0x64, 0xbf, 0xe2, + 0xfe, 0xa5, 0x7e, 0xdc, 0x30, 0xea, 0xca, 0x39, 0x50, 0x89, 0xcf, 0x9a, 0x6c, 0x4e, 0x88, 0x8e, 0xda, 0x36, 0xeb, + 0x28, 0xca, 0x91, 0x5f, 0x29, 0x25, 0xea, 0x5f, 0xd1, 0x1b, 0x48, 0xb6, 0x08, 0x60, 0x60, 0x1b, 0x80, 0xd5, 0x6f, + 0xd6, 0x2c, 0xd5, 0x32, 0x40, 0xe3, 0x57, 0xb0, 0x6b, 0x3e, 0x3e, 0x75, 0x37, 0xfa, 0x05, 0xd1, 0xd8, 0x5a, 0xd1, + 0x04, 0x97, 0xdd, 0x0b, 0xab, 0x37, 0xe2, 0xf7, 0xd4, 0xdb, 0x23, 0x88, 0x0d, 0xe4, 0xd3, 0x74, 0xbf, 0x4b, 0x4d, + 0x1f, 0x90, 0xf4, 0x3d, 0x18, 0x63, 0x1f, 0x83, 0x5d, 0x51, 0x4f, 0xad, 0xde, 0x54, 0x95, 0x43, 0x20, 0xf7, 0x74, + 0x35, 0x2a, 0xe6, 0xf1, 0x57, 0xb4, 0x5b, 0x6b, 0xd9, 0x61, 0x78, 0x95, 0x2f, 0xa0, 0x6c, 0xd1, 0xae, 0x29, 0x22, + 0xc9, 0x65, 0x8c, 0x4b, 0x15, 0x80, 0x12, 0x58, 0x90, 0x93, 0x1a, 0xbb, 0x3a, 0xdd, 0xb2, 0x79, 0xf9, 0x3a, 0x9a, + 0x90, 0x6f, 0xfd, 0xb4, 0xf2, 0xb9, 0x19, 0x1c, 0x55, 0xd4, 0x21, 0x02, 0xd3, 0x40, 0x1d, 0x16, 0x70, 0x18, 0xa9, + 0xf3, 0x52, 0x04, 0x0e, 0x78, 0x37, 0xe8, 0x73, 0xcd, 0x40, 0x51, 0x70, 0x88, 0xbc, 0x8b, 0x1a, 0x2c, 0xf0, 0x1c, + 0x3c, 0x49, 0xb4, 0x71, 0x74, 0xf8, 0xef, 0x82, 0x8e, 0xa2, 0x43, 0xb2, 0x94, 0xf5, 0xbd, 0x32, 0x15, 0xc9, 0x49, + 0xea, 0x22, 0xe9, 0xfc, 0x54, 0x9e, 0xa9, 0x4d, 0x6e, 0xcd, 0x5f, 0x24, 0x9f, 0xc6, 0xc9, 0xd8, 0x0b, 0xd8, 0xaf, + 0x61, 0xc4, 0xae, 0xf3, 0x17, 0x36, 0x9f, 0xf6, 0xcc, 0xb2, 0x46, 0xab, 0x33, 0xe0, 0x81, 0xa4, 0x13, 0x61, 0x29, + 0xbb, 0x64, 0x2e, 0x65, 0x00, 0x28, 0xd7, 0xc6, 0xcb, 0xbb, 0x21, 0xc4, 0xe7, 0xe2, 0xfa, 0x8e, 0x48, 0xa8, 0x4c, + 0x35, 0x33, 0xe3, 0xb9, 0x47, 0x11, 0x21, 0x2c, 0xd5, 0xce, 0x2c, 0x6e, 0xb3, 0xed, 0xed, 0x6c, 0x78, 0x5e, 0xb3, + 0xfd, 0xb1, 0xc0, 0x14, 0xf5, 0xa0, 0xbf, 0x8b, 0x8b, 0xa4, 0xca, 0x20, 0x44, 0xcc, 0xe0, 0x03, 0xae, 0x86, 0xb0, + 0x4b, 0xa5, 0xa2, 0x3f, 0xdb, 0x25, 0x8a, 0x9f, 0x5e, 0xa5, 0xaa, 0xc2, 0xe5, 0x48, 0xc8, 0xc4, 0x96, 0xda, 0x80, + 0x25, 0x02, 0x3c, 0xf2, 0xe4, 0x16, 0xb7, 0x65, 0xb9, 0x1b, 0x11, 0x9c, 0x16, 0x2d, 0x9d, 0x9c, 0xb0, 0x4c, 0xe8, + 0x3b, 0xd9, 0xf5, 0xae, 0x29, 0xc2, 0xec, 0x7e, 0x93, 0x6e, 0x7f, 0x94, 0xd2, 0x57, 0x95, 0xc6, 0x1d, 0xb8, 0xc6, + 0x12, 0xb8, 0xf0, 0x18, 0xd1, 0x6a, 0x68, 0x54, 0x9f, 0x7a, 0x44, 0xf1, 0xa8, 0xd6, 0x24, 0xc7, 0x41, 0xeb, 0x30, + 0x71, 0xa5, 0xa5, 0x81, 0xe2, 0x42, 0xec, 0xac, 0x43, 0x76, 0x3a, 0x0b, 0xf9, 0x92, 0x73, 0xb3, 0x75, 0x92, 0xc8, + 0x17, 0xb5, 0x0f, 0x45, 0x33, 0x12, 0x73, 0xf5, 0x5d, 0x7e, 0xce, 0xd1, 0x8f, 0x77, 0x57, 0xf9, 0x8a, 0xb7, 0x8e, + 0x73, 0x92, 0xcc, 0x27, 0xf1, 0xa2, 0xe5, 0x9f, 0xcb, 0xd2, 0x46, 0x0b, 0x4f, 0xe2, 0xd1, 0x0f, 0xa7, 0x8a, 0xfa, + 0x35, 0x12, 0x9a, 0x75, 0x52, 0xeb, 0x59, 0x79, 0x25, 0xe5, 0x7c, 0xb7, 0x47, 0x8a, 0x25, 0x62, 0x8e, 0x71, 0xb9, + 0xe4, 0x69, 0x55, 0x2d, 0x1d, 0x7d, 0x7f, 0x86, 0xe7, 0x52, 0x76, 0x02, 0x60, 0x22, 0xa9, 0x8f, 0xb0, 0xa2, 0xbd, + 0x8c, 0x1a, 0x21, 0xf6, 0x82, 0xd1, 0xb2, 0x84, 0x17, 0xfb, 0xcd, 0xad, 0x07, 0x21, 0x5b, 0x92, 0xee, 0xee, 0x2d, + 0x08, 0x5f, 0xf0, 0xd3, 0x03, 0xa7, 0x75, 0xa4, 0x26, 0x2f, 0xce, 0x42, 0x94, 0x78, 0x89, 0x74, 0x18, 0xb5, 0xb5, + 0x9c, 0x9b, 0xb0, 0x92, 0x34, 0x86, 0xdc, 0x1a, 0x65, 0xd5, 0xb0, 0xa5, 0x18, 0x73, 0x20, 0xe3, 0x91, 0x79, 0x06, + 0xfa, 0x1e, 0xe0, 0x4d, 0x6e, 0x6d, 0x49, 0xb2, 0xee, 0x9e, 0xca, 0xc8, 0xbc, 0xe8, 0xb3, 0xe4, 0xfc, 0xb8, 0x95, + 0xd8, 0x50, 0xdc, 0x49, 0xb9, 0x62, 0x3d, 0x71, 0x90, 0x5d, 0x9a, 0xbc, 0x2f, 0x51, 0x44, 0xc9, 0x4a, 0xa7, 0xff, + 0x39, 0x37, 0x1c, 0x77, 0x3a, 0x34, 0xd1, 0xea, 0xd8, 0x76, 0x68, 0x25, 0xe6, 0xe1, 0xd7, 0xe5, 0x9a, 0xaa, 0x05, + 0xb4, 0x80, 0x39, 0x22, 0x4a, 0xdd, 0x0c, 0x71, 0x93, 0xa4, 0xe3, 0x05, 0xc2, 0xdf, 0x6e, 0x33, 0x13, 0x5f, 0x76, + 0x7f, 0x97, 0x23, 0x34, 0x35, 0x94, 0xe4, 0x01, 0x14, 0x97, 0x6f, 0xc2, 0x9b, 0x31, 0x15, 0xf1, 0x0d, 0xfb, 0xcc, + 0x59, 0x6a, 0x0f, 0x5e, 0xa0, 0x4d, 0x4f, 0x82, 0xd5, 0x89, 0x1b, 0x40, 0x89, 0x4c, 0x10, 0x20, 0xbb, 0xc7, 0x00, + 0x96, 0x06, 0xd9, 0x8b, 0x26, 0xd3, 0x00, 0x22, 0x5b, 0x8c, 0xad, 0x61, 0x8e, 0xcd, 0x15, 0xa0, 0x05, 0x3b, 0xf3, + 0x4b, 0xa0, 0x6c, 0x60, 0x87, 0x77, 0xf4, 0x3f, 0x79, 0x43, 0x0c, 0x31, 0xa6, 0xa9, 0x4d, 0x3b, 0xeb, 0x55, 0x90, + 0xbd, 0xeb, 0x63, 0x16, 0x07, 0xe4, 0xc0, 0x75, 0x43, 0x69, 0xec, 0x8c, 0xd5, 0x35, 0x0d, 0x68, 0xa5, 0xa8, 0xae, + 0x08, 0x84, 0x24, 0x10, 0xf3, 0xf2, 0x50, 0x48, 0x4d, 0x42, 0xb5, 0x74, 0xd3, 0xa9, 0x6d, 0x82, 0xc2, 0xec, 0x78, + 0x6a, 0xf2, 0xd0, 0x4b, 0xe0, 0xed, 0xdb, 0x5b, 0x8b, 0x01, 0x47, 0xe1, 0x4a, 0x96, 0x32, 0xea, 0x57, 0xe6, 0xcd, + 0x7a, 0x58, 0xcb, 0x5f, 0x1c, 0xd0, 0x6e, 0x57, 0x8e, 0x19, 0xd5, 0x4e, 0xf5, 0x42, 0x70, 0x7a, 0x67, 0x80, 0x46, + 0x44, 0x02, 0x6c, 0xe0, 0x47, 0xfd, 0x8e, 0x54, 0x2c, 0x51, 0xd6, 0x56, 0x5e, 0xcd, 0xfa, 0x03, 0x16, 0x22, 0x8d, + 0x2b, 0x6c, 0x9c, 0xb3, 0x68, 0x55, 0x23, 0x99, 0x90, 0xa0, 0x07, 0x32, 0xb2, 0x73, 0x56, 0x93, 0xe0, 0xeb, 0x94, + 0x06, 0x5f, 0x70, 0x7a, 0xfc, 0xb5, 0x0e, 0x50, 0x8e, 0x7f, 0x71, 0xf6, 0xba, 0x57, 0xe1, 0x88, 0xeb, 0x11, 0xf3, + 0x45, 0x9d, 0x97, 0x3f, 0xdc, 0x19, 0x39, 0xfd, 0x7b, 0xcb, 0x0c, 0x40, 0x95, 0xbf, 0x58, 0x26, 0x80, 0x54, 0x1e, + 0xdc, 0x79, 0x23, 0x3a, 0x4b, 0x76, 0x14, 0x8d, 0x59, 0x3b, 0x69, 0x09, 0x3b, 0x98, 0x15, 0x47, 0x10, 0x2a, 0xfe, + 0xc5, 0x08, 0x20, 0x71, 0x14, 0xb4, 0xec, 0x68, 0xd0, 0x8a, 0xf6, 0x40, 0x9d, 0x93, 0x12, 0x61, 0x63, 0x5e, 0x88, + 0x0d, 0xf9, 0xfa, 0xe6, 0x04, 0x07, 0x59, 0x43, 0x12, 0x3c, 0xa8, 0xb7, 0x6f, 0x8a, 0x6c, 0x97, 0x1d, 0xa6, 0xde, + 0xf4, 0xf8, 0x3d, 0x97, 0x80, 0x90, 0x16, 0x0f, 0x91, 0x8f, 0xdd, 0x48, 0xcc, 0x6e, 0x3d, 0xde, 0x76, 0xc4, 0xa2, + 0x6f, 0x27, 0xa2, 0x54, 0xea, 0xb8, 0x36, 0x0f, 0x51, 0x10, 0x56, 0x18, 0x4a, 0x70, 0xf9, 0x55, 0x40, 0x6c, 0xa2, + 0xa0, 0xb1, 0x8f, 0xe5, 0x4c, 0x39, 0x6c, 0xb2, 0x0f, 0xe7, 0x2f, 0x75, 0xad, 0xff, 0x08, 0xb5, 0xce, 0x9e, 0xc0, + 0xaf, 0x18, 0xd8, 0x7b, 0x28, 0x83, 0x75, 0x4a, 0xdc, 0xb5, 0xe0, 0xa1, 0x0c, 0xca, 0x7d, 0x18, 0x48, 0x08, 0xc5, + 0xf5, 0x71, 0xd8, 0x14, 0xbb, 0x96, 0x18, 0x01, 0x3e, 0x4a, 0x66, 0xa5, 0x36, 0x1d, 0xc3, 0x95, 0x30, 0xe0, 0xf2, + 0x52, 0x8f, 0xe7, 0xa3, 0x9b, 0xdd, 0x95, 0x46, 0x1a, 0xfa, 0x6e, 0xe0, 0x78, 0xb9, 0x39, 0x4c, 0x95, 0x45, 0x5b, + 0x37, 0x25, 0x2c, 0x75, 0x81, 0xc8, 0x8c, 0x10, 0x31, 0xb7, 0x6c, 0xd2, 0x90, 0x38, 0xdb, 0xe9, 0x04, 0x7d, 0x6c, + 0x60, 0x38, 0x83, 0xd9, 0x54, 0xb5, 0xb5, 0x7b, 0x53, 0x58, 0xff, 0xcc, 0xb2, 0x0d, 0xfc, 0x7c, 0x39, 0x23, 0x21, + 0xa0, 0x61, 0xa1, 0x17, 0x11, 0xc2, 0x7a, 0x38, 0xca, 0xb3, 0x97, 0xd8, 0x70, 0x21, 0x43, 0x87, 0xe3, 0x87, 0x63, + 0xb3, 0x17, 0x34, 0xc7, 0xcf, 0xa7, 0xc7, 0xc6, 0xbe, 0x56, 0xd3, 0x24, 0x0b, 0x2e, 0x65, 0xe1, 0x74, 0xfd, 0xc8, + 0x11, 0xc5, 0x67, 0xda, 0x75, 0xdf, 0xc1, 0xe6, 0x33, 0x29, 0x73, 0x52, 0xe9, 0x26, 0x02, 0x95, 0x81, 0x4c, 0xde, + 0xed, 0x05, 0xc0, 0xb6, 0x01, 0xfa, 0xa2, 0xb9, 0xc8, 0x4c, 0x65, 0x9f, 0x74, 0x5e, 0x1e, 0x22, 0x65, 0x7b, 0x78, + 0x73, 0x58, 0x86, 0x80, 0xd7, 0xa7, 0x35, 0xfb, 0x37, 0x3c, 0x0d, 0xd2, 0x75, 0xb4, 0x31, 0x2a, 0x92, 0xe6, 0x82, + 0xc9, 0x35, 0x2a, 0xa6, 0xc1, 0x43, 0x38, 0x69, 0xc0, 0xa9, 0x52, 0x4e, 0xb8, 0x20, 0x79, 0x81, 0x49, 0x2a, 0xf6, + 0x04, 0x5a, 0xdb, 0x40, 0x44, 0x45, 0x0d, 0x3f, 0xba, 0x8c, 0x8b, 0x47, 0x69, 0x67, 0x4f, 0xa2, 0xa2, 0xfe, 0xda, + 0x7b, 0xd2, 0x0a, 0x61, 0x9f, 0x53, 0xdd, 0xf5, 0x1a, 0x8f, 0xcd, 0x08, 0x8a, 0x5e, 0xd3, 0xd4, 0xff, 0x65, 0x18, + 0x84, 0xbb, 0xcb, 0x76, 0x0e, 0x82, 0x82, 0x1c, 0x21, 0xc0, 0x4f, 0x5e, 0xd0, 0x97, 0x00, 0x6b, 0xe8, 0x88, 0x03, + 0x79, 0x7e, 0x6d, 0x8f, 0xa4, 0x73, 0xf5, 0xd5, 0xb9, 0xef, 0x7f, 0xc5, 0xd1, 0x1a, 0xef, 0x9f, 0x61, 0xec, 0x1f, + 0x9f, 0x29, 0x6d, 0xce, 0x1e, 0x33, 0xf1, 0xe8, 0x44, 0xf6, 0xb7, 0x8d, 0x49, 0x8a, 0xb7, 0xc7, 0x4a, 0x81, 0x7f, + 0xf8, 0x40, 0xf2, 0x36, 0x0b, 0xe7, 0x46, 0x12, 0xf3, 0xdb, 0xd9, 0xaa, 0x93, 0x9f, 0x1c, 0xd7, 0xca, 0x7d, 0xd6, + 0x24, 0x7f, 0xcc, 0xa5, 0x1d, 0xf0, 0x9d, 0xab, 0xce, 0xce, 0xad, 0xe4, 0xd6, 0x38, 0xe7, 0xf8, 0xcd, 0xb7, 0xbb, + 0x55, 0xea, 0xcd, 0xff, 0x95, 0xd5, 0xe2, 0x3a, 0x75, 0xc3, 0x25, 0xde, 0x40, 0x41, 0x50, 0xb8, 0xc3, 0x3a, 0xbd, + 0xcc, 0x5d, 0xe3, 0x0e, 0xa3, 0xc1, 0xda, 0xfa, 0xaa, 0xc8, 0x3c, 0x32, 0x17, 0x31, 0xce, 0x67, 0xe2, 0x65, 0x35, + 0x65, 0xdb, 0xa0, 0xdf, 0x35, 0x15, 0xe6, 0x3f, 0xbf, 0x86, 0x3a, 0xdb, 0xb1, 0xf9, 0x53, 0xe5, 0xdf, 0x80, 0x6b, + 0xe8, 0x50, 0x8e, 0xa2, 0xe0, 0xc4, 0x75, 0xcd, 0xb4, 0x4d, 0xce, 0xb5, 0x70, 0x5c, 0xbb, 0x1c, 0x78, 0xb5, 0x49, + 0x9c, 0x41, 0x94, 0x56, 0xc6, 0x3d, 0xa7, 0x4f, 0xbb, 0xfc, 0xce, 0xb8, 0x63, 0xd8, 0x75, 0x30, 0x0a, 0x82, 0x01, + 0x25, 0x16, 0x6d, 0x50, 0x77, 0x32, 0xba, 0x9a, 0xd8, 0xb3, 0x06, 0x62, 0x09, 0xac, 0x68, 0x7e, 0xab, 0x04, 0xa0, + 0xa5, 0x1d, 0x78, 0x59, 0xaf, 0x12, 0xc9, 0x92, 0xd5, 0x37, 0x0e, 0xe6, 0x7f, 0x88, 0x50, 0x04, 0xe7, 0xdb, 0x38, + 0xc4, 0x8b, 0x4a, 0x91, 0x98, 0x53, 0xec, 0xd1, 0x9b, 0xec, 0xa3, 0x5e, 0x82, 0x34, 0xff, 0x06, 0x18, 0x20, 0x60, + 0xc3, 0x71, 0x2c, 0x10, 0x94, 0xcc, 0xcf, 0xf1, 0xe5, 0xce, 0x5e, 0xbe, 0xf9, 0x04, 0x53, 0xfb, 0x37, 0x9e, 0xdb, + 0xc8, 0xfd, 0xdb, 0x50, 0xc9, 0xed, 0xcf, 0x2c, 0xee, 0xff, 0x2c, 0x9e, 0xdd, 0xbf, 0xe5, 0x1f, 0xbf, 0x6e, 0x5a, + 0xe0, 0x9d, 0xce, 0xfb, 0x48, 0x02, 0x35, 0x3f, 0x5f, 0x67, 0xa4, 0x60, 0x18, 0x11, 0x7c, 0xed, 0xf8, 0x30, 0xa2, + 0xfb, 0xad, 0x67, 0x03, 0x6b, 0x62, 0x1f, 0xe3, 0x16, 0xd5, 0xeb, 0x79, 0x81, 0xed, 0x6a, 0x5c, 0xcb, 0xf4, 0xb2, + 0xd0, 0x9a, 0xa7, 0xca, 0x2e, 0x15, 0x1a, 0x09, 0x07, 0x5b, 0xc0, 0x3b, 0xb8, 0xeb, 0xca, 0x9d, 0xbd, 0xb4, 0x66, + 0x36, 0xe5, 0x49, 0x82, 0x9c, 0x0e, 0x5c, 0x34, 0x7d, 0xf5, 0xd4, 0xb6, 0xc4, 0x18, 0xfe, 0x9c, 0x37, 0xd5, 0x18, + 0x15, 0x3d, 0x46, 0x23, 0x19, 0xb1, 0x72, 0x56, 0x46, 0xcb, 0x8b, 0x61, 0x68, 0x4b, 0xc6, 0xc5, 0xac, 0xb2, 0xa0, + 0x0c, 0xb8, 0x07, 0x42, 0xd6, 0x0b, 0xfa, 0xd6, 0x4e, 0x91, 0x0f, 0xd5, 0x27, 0x1c, 0xb0, 0x79, 0x3c, 0xc1, 0x71, + 0xe9, 0xa3, 0x7a, 0x40, 0x9a, 0xc4, 0x55, 0xb8, 0x86, 0xb3, 0xc9, 0xaa, 0x8a, 0xe7, 0xcd, 0x4f, 0xdb, 0x00, 0x73, + 0x5a, 0xb0, 0x7f, 0x73, 0x5b, 0xa2, 0xdc, 0x4f, 0x82, 0xda, 0x2e, 0x1a, 0x55, 0x8d, 0xb2, 0x00, 0xa2, 0x4c, 0x9f, + 0xde, 0x40, 0x02, 0xd1, 0x39, 0xd5, 0x8b, 0xe6, 0xdb, 0xd4, 0x76, 0x38, 0x37, 0x45, 0xa0, 0x16, 0x2e, 0x8d, 0xd1, + 0x6c, 0xa6, 0x70, 0xc2, 0x7b, 0x97, 0xf6, 0x3c, 0x5d, 0x20, 0x4f, 0xb6, 0x80, 0x49, 0xdf, 0x0b, 0x3c, 0x6b, 0x00, + 0x0f, 0x08, 0xf4, 0x28, 0xaa, 0xd0, 0xc0, 0x9a, 0x82, 0x1d, 0x8c, 0x8a, 0x34, 0x0e, 0x80, 0x64, 0x9f, 0x46, 0xdc, + 0x80, 0x83, 0x73, 0x34, 0x86, 0x8e, 0x6d, 0xcf, 0xe4, 0x95, 0x14, 0x82, 0xa0, 0xca, 0x66, 0x89, 0xcd, 0x68, 0xb2, + 0x17, 0x95, 0x6f, 0x70, 0xb3, 0x73, 0x27, 0x18, 0xfb, 0x9d, 0xce, 0x00, 0xa6, 0xac, 0xa2, 0x77, 0x48, 0xcd, 0x88, + 0x17, 0x3a, 0x29, 0x9a, 0x1c, 0x88, 0x48, 0x46, 0xcc, 0x75, 0xe3, 0xb7, 0x7f, 0x1e, 0xe5, 0x66, 0x63, 0x5b, 0x6c, + 0x56, 0x3c, 0x23, 0x58, 0xef, 0xe0, 0xea, 0x2c, 0xbc, 0xd6, 0x33, 0xb2, 0x50, 0xf8, 0xc7, 0x30, 0xb9, 0x53, 0xdf, + 0xf7, 0xc4, 0x88, 0xe6, 0xf2, 0x7f, 0x97, 0xb1, 0xab, 0xca, 0x69, 0x34, 0x86, 0x86, 0x48, 0x46, 0x36, 0x01, 0x48, + 0xe6, 0x59, 0xd3, 0x31, 0x9a, 0x8d, 0xd5, 0xb6, 0x73, 0x9a, 0x66, 0x3f, 0x7e, 0xe5, 0xf4, 0xd7, 0x06, 0xc7, 0x03, + 0xe4, 0xe7, 0xce, 0x8d, 0x72, 0xf6, 0x03, 0x5b, 0xcc, 0xa1, 0xc7, 0xb9, 0x5c, 0xd5, 0x37, 0x8a, 0x5c, 0x8d, 0x90, + 0x8b, 0x41, 0xdf, 0x0d, 0x2a, 0x1e, 0x10, 0x40, 0x7f, 0x02, 0x5f, 0x79, 0x79, 0xfe, 0x5f, 0xa3, 0xb9, 0xe3, 0x91, + 0x60, 0x63, 0xe5, 0x32, 0x9c, 0xc4, 0xcb, 0x61, 0x3c, 0xe0, 0xe8, 0x39, 0x91, 0xf8, 0xb4, 0x22, 0xe9, 0x11, 0x89, + 0x0c, 0xe3, 0x91, 0x59, 0x1a, 0x52, 0x9c, 0x61, 0x84, 0xe2, 0x2f, 0xab, 0xdf, 0xae, 0xbb, 0x6f, 0x20, 0xc5, 0xbf, + 0x71, 0x5d, 0x1d, 0xcf, 0x8d, 0x2a, 0x33, 0xe9, 0x65, 0x73, 0xdc, 0x92, 0xb3, 0x9a, 0x56, 0x33, 0x9f, 0xb5, 0x4b, + 0xa6, 0xed, 0xe6, 0xb1, 0x9c, 0x19, 0x3f, 0x4f, 0x13, 0xc9, 0xe0, 0x6f, 0xce, 0x61, 0x80, 0x16, 0x06, 0xda, 0x4b, + 0xec, 0xd4, 0xa0, 0xd3, 0xd5, 0x9b, 0x0d, 0x31, 0xda, 0xae, 0xd6, 0xe9, 0x07, 0x5c, 0x2f, 0xe8, 0x18, 0x76, 0xd6, + 0x74, 0xf2, 0x9c, 0x10, 0xbb, 0x28, 0xf8, 0xf1, 0xfb, 0xae, 0xa0, 0xd4, 0x34, 0xa0, 0x5f, 0xe7, 0xe5, 0xe5, 0xae, + 0x76, 0x91, 0x81, 0x9a, 0x09, 0xe8, 0x90, 0xdd, 0x30, 0xe6, 0x58, 0x17, 0x63, 0x0f, 0xd2, 0x85, 0x71, 0x6b, 0xf6, + 0x41, 0x68, 0x8c, 0xb2, 0x70, 0x65, 0x4c, 0x2e, 0x0a, 0x5f, 0x93, 0x93, 0x6b, 0xb8, 0xa0, 0x25, 0xb4, 0xcf, 0xbd, + 0x77, 0x0e, 0xd3, 0x3d, 0xc2, 0x51, 0x5b, 0x7a, 0x91, 0x16, 0xea, 0xcd, 0x42, 0x79, 0x56, 0x80, 0x16, 0x2c, 0x52, + 0x4f, 0xab, 0xe5, 0xc8, 0xe5, 0x5d, 0x3f, 0x3a, 0x3d, 0x75, 0xab, 0xb5, 0xdc, 0x63, 0x4a, 0x03, 0xe1, 0x1d, 0xad, + 0xec, 0xbf, 0xe2, 0x25, 0x47, 0x2a, 0x6c, 0xd5, 0x2c, 0x93, 0xaf, 0xc8, 0xf5, 0x3f, 0x6a, 0x7a, 0x13, 0xef, 0x13, + 0xae, 0x0a, 0x84, 0x3b, 0x12, 0xa1, 0x33, 0x9e, 0x32, 0xeb, 0x68, 0x1d, 0xaf, 0xa9, 0x13, 0x3b, 0x1e, 0x1e, 0x17, + 0x28, 0x86, 0xdf, 0x9a, 0xd1, 0x80, 0xe7, 0xbe, 0x78, 0x11, 0xec, 0x5e, 0xfb, 0x2e, 0x39, 0x33, 0x8b, 0x6c, 0x7f, + 0xd5, 0x6a, 0xdc, 0x85, 0xd8, 0xb4, 0xca, 0xdc, 0x15, 0xfb, 0xec, 0x30, 0x9c, 0x6b, 0xc6, 0x17, 0x07, 0xb7, 0x7b, + 0x23, 0x77, 0x07, 0x6f, 0x9e, 0x12, 0x47, 0xd7, 0x02, 0x1e, 0x97, 0x9b, 0xbc, 0x5b, 0x55, 0xba, 0x5f, 0x1b, 0xf5, + 0x6a, 0x5f, 0x23, 0xfb, 0x92, 0x80, 0xe4, 0x71, 0x3d, 0xa4, 0x88, 0xe3, 0xa9, 0xc8, 0xd6, 0x84, 0xb1, 0x0e, 0x0a, + 0x1e, 0x6a, 0x3d, 0xb7, 0xed, 0xa4, 0xf6, 0x83, 0x72, 0xb7, 0x2e, 0xca, 0xca, 0xc3, 0xe1, 0xb7, 0xcd, 0x8f, 0x07, + 0xee, 0x25, 0x85, 0xe2, 0xa1, 0xfa, 0x2a, 0x02, 0x03, 0xee, 0x57, 0xd4, 0x9a, 0xcc, 0x8a, 0xe3, 0x27, 0xec, 0x94, + 0xca, 0x14, 0xa3, 0x83, 0x9b, 0xb6, 0x3b, 0x4d, 0x03, 0x18, 0x1d, 0xd3, 0x75, 0xb2, 0x33, 0xf5, 0xf8, 0x84, 0x88, + 0x1c, 0x53, 0xfb, 0x9f, 0xca, 0x8b, 0xd3, 0x01, 0xde, 0x07, 0xfb, 0xaf, 0x98, 0x40, 0x6c, 0xad, 0xbb, 0x49, 0x9d, + 0x86, 0x48, 0xc1, 0x87, 0x35, 0x6d, 0xfc, 0x5f, 0x7c, 0x2e, 0x8c, 0x26, 0xa2, 0x77, 0xea, 0xad, 0x2b, 0x25, 0xb0, + 0x5d, 0xed, 0x52, 0xe8, 0xb6, 0xb7, 0xba, 0x89, 0x71, 0x59, 0xf0, 0x86, 0x4e, 0xef, 0xc8, 0xfa, 0x49, 0xd0, 0x86, + 0xdc, 0x3b, 0x75, 0x19, 0x71, 0x88, 0x91, 0x94, 0xb3, 0x8b, 0xb1, 0xd4, 0x86, 0xd0, 0xc5, 0x16, 0x65, 0x4d, 0xee, + 0xfa, 0xfb, 0x53, 0x74, 0x18, 0x5a, 0x22, 0x8d, 0xf2, 0xbc, 0x03, 0xb6, 0x5e, 0xdd, 0x29, 0xaa, 0xb8, 0x1d, 0xae, + 0x6c, 0x5d, 0x02, 0xbd, 0x4e, 0x0c, 0xbe, 0xd8, 0x51, 0x83, 0x02, 0xde, 0x08, 0xdd, 0x64, 0xd2, 0x35, 0xc4, 0x70, + 0x36, 0xce, 0x3e, 0xa6, 0x1c, 0xf3, 0x73, 0xbf, 0x34, 0x5f, 0x56, 0x52, 0x3b, 0x41, 0x4c, 0x18, 0x90, 0xeb, 0x59, + 0x71, 0xa4, 0xfa, 0xf6, 0xf4, 0xaf, 0x4d, 0xe1, 0xff, 0x8e, 0x0d, 0xdf, 0xea, 0x30, 0x22, 0x19, 0xf5, 0x0a, 0x3b, + 0x04, 0x3a, 0x83, 0xba, 0xa4, 0x30, 0xe9, 0x43, 0x40, 0x9d, 0xb8, 0xc6, 0xf5, 0x54, 0x1e, 0x21, 0xf4, 0x4d, 0x1a, + 0x54, 0xce, 0x6d, 0x3b, 0xd4, 0x5b, 0xdf, 0x13, 0x51, 0x02, 0x84, 0x47, 0xa3, 0x00, 0x5a, 0x64, 0x32, 0xb8, 0x37, + 0x38, 0x80, 0xb0, 0x2e, 0xa5, 0x9c, 0xd1, 0x5a, 0xd2, 0x75, 0x68, 0x3e, 0x6e, 0xb1, 0xbe, 0xd5, 0x09, 0x39, 0x82, + 0x54, 0xea, 0xe9, 0x53, 0x35, 0x5d, 0xa4, 0x97, 0x98, 0x2d, 0x9d, 0xf2, 0x79, 0x80, 0xd8, 0x86, 0x5e, 0x58, 0x74, + 0x9f, 0xcf, 0xe5, 0x21, 0x40, 0xa6, 0xb9, 0x04, 0x24, 0x5c, 0x52, 0x50, 0x3f, 0x02, 0x93, 0x72, 0xf9, 0x1f, 0x15, + 0xd2, 0xeb, 0xdc, 0x1d, 0xbe, 0x7a, 0xbd, 0x58, 0xd5, 0x1a, 0x59, 0xbf, 0xf1, 0x03, 0x5d, 0xe5, 0xf5, 0xaa, 0xd6, + 0x9e, 0x2f, 0xd8, 0x8c, 0x0e, 0xd2, 0x8d, 0xf4, 0x3f, 0xf9, 0x07, 0x63, 0xa9, 0xb3, 0x23, 0xfa, 0x16, 0x57, 0xe2, + 0xba, 0xaf, 0xa7, 0xf7, 0x50, 0x5e, 0x3c, 0x49, 0x93, 0x65, 0xca, 0x6a, 0xd3, 0xfa, 0xb0, 0x53, 0x04, 0x42, 0xd4, + 0xd1, 0xcb, 0xb8, 0xe4, 0xc0, 0x45, 0x59, 0xba, 0x5e, 0x80, 0x7f, 0xf6, 0x0f, 0xa3, 0x13, 0x68, 0xa0, 0xd8, 0xb0, + 0xfb, 0x7e, 0x47, 0x65, 0xe7, 0x42, 0x0e, 0x4d, 0xf4, 0xbe, 0xda, 0x29, 0x93, 0x33, 0x75, 0x67, 0x9f, 0x93, 0xe8, + 0x86, 0x3a, 0x90, 0x57, 0x06, 0x1c, 0xa7, 0x5e, 0xec, 0xf7, 0x60, 0x98, 0x15, 0xbe, 0xec, 0x59, 0xb7, 0xfd, 0x09, + 0x83, 0x29, 0xc8, 0x5a, 0xee, 0x2c, 0x8a, 0xe5, 0x5d, 0xc8, 0xab, 0xa8, 0xb1, 0x5c, 0x4c, 0xac, 0x10, 0xca, 0x02, + 0xb6, 0x9c, 0xdc, 0x8f, 0x42, 0x90, 0x7b, 0x9c, 0xe3, 0xcd, 0xce, 0x39, 0x52, 0xee, 0x12, 0xcc, 0xee, 0xb0, 0xc5, + 0x69, 0x22, 0xf5, 0xba, 0x8d, 0xe0, 0x52, 0x62, 0x4a, 0x54, 0x51, 0xe4, 0xa6, 0x98, 0xa8, 0xe2, 0xa8, 0x6b, 0x7b, + 0xa3, 0x6d, 0x23, 0x65, 0x90, 0xc8, 0x30, 0x23, 0xa4, 0xa7, 0xf9, 0xe1, 0xee, 0xcd, 0x3e, 0x99, 0x32, 0x06, 0x11, + 0xd0, 0xa8, 0x7a, 0x06, 0x10, 0x7a, 0xbe, 0xac, 0x5d, 0xf2, 0x58, 0x56, 0x30, 0x92, 0xbe, 0x02, 0x1a, 0x2e, 0x9a, + 0x74, 0xc3, 0x2f, 0xc1, 0x49, 0xac, 0x78, 0x9a, 0x00, 0x45, 0xa3, 0xad, 0xf2, 0x6c, 0x88, 0xaf, 0x3c, 0x0e, 0x3a, + 0x51, 0x4f, 0x1a, 0x14, 0xc1, 0x60, 0x9a, 0x8d, 0x24, 0xdc, 0x52, 0x93, 0x41, 0xac, 0x0c, 0xc4, 0xd1, 0xbf, 0xb4, + 0x52, 0xa6, 0x54, 0xbb, 0x5a, 0x30, 0x32, 0xa3, 0x07, 0xd3, 0xdf, 0x85, 0xa8, 0x61, 0xd5, 0x08, 0xfd, 0x45, 0xa6, + 0x4e, 0x75, 0xca, 0xc8, 0x4b, 0x8c, 0xd3, 0xc4, 0xc0, 0x18, 0x72, 0xa0, 0x71, 0xc0, 0x76, 0x03, 0x79, 0x5a, 0x73, + 0xb6, 0x8c, 0x9a, 0x49, 0xf7, 0xba, 0x76, 0xf4, 0x69, 0x6e, 0xe9, 0xfa, 0xcf, 0x65, 0xb6, 0x61, 0xc7, 0x9c, 0xbf, + 0xf4, 0xd3, 0x6e, 0xfa, 0x30, 0xc6, 0xbc, 0x19, 0x07, 0xc3, 0x0c, 0xae, 0xbf, 0x48, 0x8b, 0x47, 0x45, 0x83, 0x2c, + 0x5f, 0x6a, 0x8c, 0x23, 0xed, 0xef, 0x07, 0xaa, 0xb7, 0xbb, 0x8d, 0x49, 0xd2, 0x00, 0x28, 0x47, 0x68, 0x44, 0x70, + 0xec, 0x8a, 0xff, 0x38, 0xaa, 0xfc, 0xef, 0xee, 0x7a, 0x8b, 0x1e, 0x84, 0x2f, 0xf6, 0xa6, 0x4f, 0xa3, 0x80, 0x39, + 0x6b, 0xdd, 0xae, 0x3e, 0x8d, 0xa9, 0x21, 0xfd, 0x35, 0x01, 0xe3, 0xc6, 0xb1, 0xfa, 0xc7, 0x34, 0x25, 0xbf, 0xd7, + 0x63, 0x12, 0x5f, 0x2c, 0xfa, 0xca, 0x1a, 0x55, 0xea, 0xd1, 0x65, 0x38, 0x6d, 0xc9, 0x68, 0x4f, 0xca, 0xb7, 0xba, + 0xc3, 0xd3, 0xb6, 0x4b, 0x6a, 0x36, 0xef, 0x89, 0xf9, 0xec, 0xba, 0xda, 0x56, 0xe2, 0x88, 0xf4, 0x20, 0x5f, 0x4f, + 0x19, 0xa5, 0xa3, 0x4f, 0xd1, 0xde, 0xef, 0x8e, 0x03, 0x99, 0xa7, 0xc7, 0xa1, 0x56, 0xd7, 0xae, 0xec, 0xf8, 0x56, + 0x9c, 0x98, 0xd4, 0x58, 0x86, 0xec, 0xd7, 0xb8, 0x11, 0x0d, 0x3a, 0xee, 0x7d, 0xd5, 0x7a, 0xdd, 0xd4, 0x98, 0x0e, + 0x4e, 0x31, 0x04, 0xcd, 0x57, 0x5d, 0x12, 0x55, 0xc4, 0x82, 0x37, 0xc4, 0x07, 0x71, 0x01, 0x80, 0x9c, 0x93, 0x16, + 0xb5, 0xec, 0x18, 0x4b, 0xa2, 0x7c, 0x57, 0x81, 0x5a, 0xf2, 0xec, 0xa2, 0xa2, 0x53, 0x77, 0xa2, 0x57, 0xa7, 0x5e, + 0xa5, 0x39, 0x8d, 0xd0, 0xf5, 0xf0, 0x99, 0xe7, 0xa8, 0x64, 0x59, 0xf7, 0xae, 0x42, 0x5f, 0xb1, 0xd7, 0x5e, 0x49, + 0xc9, 0x3b, 0x52, 0x1a, 0x0a, 0x19, 0xc5, 0x1a, 0x34, 0xb6, 0xce, 0x5d, 0x62, 0x49, 0x27, 0xcb, 0xa3, 0x86, 0xc2, + 0x17, 0x73, 0x1f, 0xb7, 0xc6, 0x51, 0x39, 0xe6, 0x1c, 0xc0, 0x9e, 0x54, 0xe9, 0x64, 0xaa, 0x1c, 0xc0, 0xaf, 0x69, + 0x16, 0x11, 0x83, 0x94, 0xda, 0xe9, 0xb8, 0x8b, 0xb3, 0x64, 0x3b, 0x61, 0xd0, 0xb1, 0xe8, 0x39, 0x7a, 0x20, 0xd2, + 0x79, 0x1c, 0x44, 0xf7, 0x91, 0xc7, 0x0d, 0x32, 0x0c, 0xb6, 0x67, 0x2d, 0x79, 0x94, 0xb9, 0xe2, 0x28, 0xbb, 0x12, + 0x53, 0xcb, 0xb3, 0xa9, 0xdb, 0x33, 0xba, 0x62, 0xad, 0xac, 0xe9, 0xee, 0x88, 0x4c, 0x05, 0xf7, 0x7d, 0x7b, 0x86, + 0x4f, 0x47, 0x46, 0x8e, 0x33, 0x89, 0xa3, 0x3a, 0x84, 0xb9, 0x71, 0x22, 0x78, 0x82, 0xd1, 0xb2, 0x25, 0xf3, 0x94, + 0x53, 0x0a, 0xb5, 0xf7, 0xbf, 0x34, 0x1e, 0xa1, 0x6a, 0xae, 0x61, 0x7a, 0xcb, 0xd0, 0x1d, 0xc2, 0x76, 0xfd, 0x43, + 0x74, 0x32, 0xa2, 0x05, 0xef, 0x2f, 0x92, 0x0a, 0xc6, 0x5a, 0x5a, 0x95, 0xb6, 0xbe, 0xdd, 0x43, 0x02, 0x96, 0xa7, + 0x56, 0x9d, 0xa1, 0x80, 0x15, 0xa6, 0xcf, 0xf9, 0x9b, 0xb9, 0xc6, 0x21, 0x77, 0x2d, 0x11, 0x10, 0x1b, 0x81, 0xdd, + 0xd0, 0x09, 0x12, 0x18, 0xaa, 0x10, 0xfb, 0xac, 0x55, 0xf1, 0x9c, 0x37, 0x85, 0x1e, 0xf0, 0x23, 0x9f, 0xc4, 0x92, + 0xfa, 0x09, 0x92, 0xfc, 0x09, 0x97, 0x84, 0xd0, 0xa7, 0xfc, 0x22, 0xf6, 0xaa, 0xc9, 0x4d, 0xad, 0x34, 0xdb, 0x0e, + 0xc5, 0xcf, 0xfc, 0x62, 0xdc, 0xdd, 0x68, 0x88, 0x21, 0x62, 0x85, 0x11, 0x0a, 0xc6, 0x9c, 0xa0, 0x6e, 0xf2, 0x57, + 0xa4, 0xf8, 0x74, 0xce, 0xe6, 0x5b, 0xf8, 0x4e, 0xdb, 0xe9, 0x1d, 0x14, 0x0a, 0x31, 0xea, 0x0c, 0x2d, 0x61, 0xd8, + 0xc3, 0x93, 0xf9, 0xec, 0xc2, 0x9c, 0x84, 0x24, 0x15, 0x2d, 0x4a, 0x38, 0x43, 0xfc, 0x06, 0xc0, 0x04, 0x9a, 0xac, + 0x44, 0xa9, 0xa8, 0x81, 0x3d, 0x82, 0x5f, 0xb8, 0xd9, 0xe6, 0xf3, 0x56, 0xe4, 0xe1, 0x40, 0x1a, 0xe5, 0x0a, 0x6d, + 0x20, 0xa6, 0x7a, 0x6e, 0x23, 0xb1, 0x18, 0x19, 0x45, 0x6b, 0xc9, 0x97, 0x5a, 0x42, 0x5d, 0xec, 0x3c, 0x08, 0xd6, + 0x55, 0x77, 0x95, 0x9d, 0xa1, 0x59, 0x31, 0x83, 0x03, 0x39, 0x2e, 0xd0, 0x30, 0x44, 0xba, 0x31, 0xd9, 0xa6, 0x98, + 0x65, 0x23, 0x7c, 0x5f, 0xc5, 0xbc, 0xc9, 0x6b, 0x21, 0xf2, 0x5a, 0x9d, 0x49, 0xb0, 0x86, 0x09, 0x79, 0x6a, 0x60, + 0x96, 0x24, 0xa4, 0x61, 0x09, 0xcb, 0x13, 0x3e, 0x43, 0xbd, 0x64, 0x98, 0x66, 0x64, 0xfa, 0xe0, 0x49, 0xbf, 0x65, + 0xfd, 0x89, 0x37, 0xf2, 0xf3, 0x46, 0x13, 0x78, 0x51, 0x09, 0x55, 0x2e, 0xb6, 0x19, 0x22, 0xba, 0xd5, 0x52, 0xc3, + 0x73, 0xea, 0x96, 0x27, 0x40, 0xe2, 0x49, 0x9f, 0x19, 0x7e, 0xb4, 0xcd, 0x08, 0x81, 0x54, 0xe9, 0xad, 0x8b, 0x90, + 0xd9, 0x27, 0x65, 0xe5, 0xe1, 0xf0, 0xe4, 0xd2, 0x69, 0x09, 0x95, 0xc0, 0xf5, 0x9b, 0xd7, 0x05, 0x54, 0x81, 0x99, + 0xa1, 0x58, 0x63, 0x53, 0x3d, 0x1b, 0x6f, 0x90, 0x66, 0x30, 0x2e, 0x22, 0xa1, 0x42, 0xe6, 0xce, 0x25, 0x9a, 0xba, + 0x5e, 0xcc, 0x19, 0xcb, 0xcb, 0x3e, 0xec, 0xf9, 0xd2, 0x53, 0xcc, 0x2e, 0xbc, 0xd6, 0x2f, 0x99, 0xe3, 0xf6, 0x59, + 0x48, 0xb3, 0xdc, 0x9d, 0x22, 0x35, 0x7b, 0xac, 0x92, 0x9a, 0x07, 0xb0, 0xae, 0xb3, 0x2b, 0x3b, 0xd3, 0xa5, 0x1c, + 0x61, 0x7f, 0x82, 0x3b, 0x80, 0x63, 0x04, 0x43, 0x12, 0x70, 0x1b, 0xf9, 0x8d, 0x5b, 0x30, 0xf2, 0xcd, 0xc7, 0x41, + 0x1b, 0x82, 0xc8, 0x04, 0x89, 0x10, 0x31, 0x91, 0xc7, 0xf0, 0xf3, 0x01, 0xce, 0xbe, 0xba, 0x4c, 0x34, 0x51, 0xbc, + 0x11, 0x8a, 0x69, 0x78, 0x0d, 0x77, 0xeb, 0xc0, 0x8c, 0xce, 0x7b, 0x3a, 0x45, 0x57, 0xd0, 0x24, 0xa6, 0x56, 0x4f, + 0x9b, 0xf7, 0xdc, 0x23, 0xc2, 0x2f, 0x74, 0x51, 0xdc, 0xdd, 0xc1, 0x7a, 0xbd, 0x80, 0x25, 0x13, 0xf9, 0x96, 0x33, + 0xf3, 0x66, 0xca, 0x1e, 0x92, 0x63, 0x9f, 0x3e, 0x3c, 0x6e, 0x17, 0xfb, 0xe4, 0x39, 0x2e, 0xb2, 0x5e, 0x52, 0x85, + 0x3d, 0x29, 0xff, 0x9b, 0x32, 0xe6, 0x44, 0x04, 0x35, 0x95, 0xe9, 0xda, 0xa2, 0xe3, 0xcf, 0x2a, 0x9a, 0x2c, 0x8d, + 0x60, 0x6b, 0x54, 0x91, 0x7e, 0x69, 0x94, 0x52, 0x1d, 0x51, 0x0f, 0x43, 0x9b, 0x48, 0xb1, 0xd0, 0x28, 0x70, 0x74, + 0xa9, 0x4d, 0xf0, 0x6c, 0x15, 0xf4, 0x48, 0x7c, 0xa4, 0x9d, 0xd8, 0xe6, 0xfc, 0x7c, 0x4f, 0xf1, 0x4d, 0xf2, 0x5b, + 0xfa, 0x5b, 0x70, 0x93, 0x42, 0x93, 0xc5, 0xb5, 0xbc, 0xb5, 0x72, 0x8b, 0xdf, 0xe5, 0x63, 0x5f, 0xa3, 0x8b, 0x83, + 0x51, 0x3a, 0x99, 0xf3, 0x5e, 0x78, 0xc8, 0xb5, 0x93, 0x57, 0x62, 0xaf, 0x66, 0x2b, 0xc5, 0x95, 0x60, 0xe1, 0xc1, + 0xa9, 0x2b, 0x99, 0x8a, 0x56, 0x10, 0xc8, 0xbc, 0x71, 0xdb, 0xaf, 0x7f, 0x20, 0xa3, 0x6d, 0x08, 0x19, 0xcc, 0xda, + 0xea, 0x25, 0xa6, 0xf3, 0xbe, 0x45, 0xbe, 0x64, 0x6f, 0x6c, 0x59, 0xf7, 0x10, 0x88, 0xfe, 0xe4, 0x78, 0x37, 0x64, + 0x05, 0x16, 0x0a, 0xfb, 0x12, 0xd0, 0x93, 0xa8, 0xaa, 0xd4, 0x5e, 0xea, 0x50, 0xae, 0xab, 0x19, 0x2a, 0x54, 0xcb, + 0xeb, 0x1f, 0x40, 0x22, 0x8e, 0x52, 0x06, 0xed, 0xe9, 0xa2, 0x2a, 0x23, 0x82, 0xc0, 0xb8, 0x08, 0x0d, 0x2b, 0xc4, + 0x14, 0x76, 0x59, 0xc5, 0x38, 0x4e, 0x57, 0xf7, 0xf5, 0x8b, 0x53, 0x88, 0xbd, 0xee, 0x86, 0xac, 0x12, 0x74, 0xee, + 0xba, 0xec, 0xd3, 0x1c, 0xfa, 0x99, 0xae, 0x7f, 0x04, 0x37, 0x39, 0x87, 0x35, 0x29, 0x38, 0x35, 0xf5, 0x39, 0x8b, + 0x25, 0xdf, 0x08, 0x15, 0x4e, 0x5b, 0x32, 0xda, 0xb1, 0x63, 0x56, 0xe5, 0xc7, 0x2e, 0x4b, 0x69, 0x60, 0x48, 0xa2, + 0xba, 0x36, 0xe8, 0x18, 0xb4, 0x24, 0x72, 0xf3, 0xea, 0x70, 0x49, 0x7b, 0x43, 0xc8, 0x0f, 0x37, 0xa7, 0xfb, 0x94, + 0xd0, 0xc6, 0x6a, 0xf1, 0xca, 0xc5, 0x97, 0x44, 0xa4, 0xbc, 0xe0, 0x1e, 0x01, 0xeb, 0x77, 0x22, 0xfc, 0xbb, 0xe8, + 0xc1, 0x81, 0x47, 0x00, 0x8b, 0xf0, 0x56, 0xdc, 0x57, 0xde, 0x26, 0x94, 0x56, 0xa0, 0x2e, 0xd7, 0xa6, 0x51, 0x82, + 0x37, 0xa4, 0xff, 0xf0, 0xc8, 0xbe, 0xcc, 0x13, 0xb6, 0x51, 0x21, 0xf1, 0x0e, 0xbf, 0xf3, 0x77, 0x4f, 0xc7, 0x9c, + 0x00, 0xbb, 0xa5, 0xd3, 0xbc, 0x6a, 0x0b, 0x90, 0x16, 0x5d, 0x0c, 0x62, 0x9c, 0x82, 0xe5, 0x95, 0x00, 0xe9, 0x87, + 0x57, 0x61, 0xa1, 0xeb, 0xf9, 0x7b, 0x4d, 0xf7, 0xca, 0x5e, 0x87, 0x69, 0xf2, 0x65, 0xef, 0x88, 0x46, 0xd0, 0xcb, + 0xd5, 0xc9, 0xe5, 0xfb, 0x94, 0x72, 0xe1, 0x5f, 0xd2, 0xd5, 0xcf, 0x54, 0x89, 0xe6, 0xaa, 0x6f, 0xaa, 0xf8, 0x94, + 0xab, 0xf1, 0x09, 0xa4, 0xda, 0x9c, 0x57, 0x13, 0xe6, 0xca, 0x55, 0x9f, 0xdc, 0x77, 0x17, 0x98, 0x56, 0x6f, 0xfd, + 0xdb, 0xfd, 0x30, 0xd0, 0x9f, 0xdd, 0xdf, 0x1c, 0x7c, 0x9d, 0x5d, 0x74, 0x76, 0x3a, 0xf6, 0x2f, 0xe4, 0xc7, 0x11, + 0xba, 0xac, 0x87, 0xa2, 0x26, 0x72, 0xc2, 0x7b, 0xea, 0xa8, 0x61, 0x2f, 0xb7, 0x94, 0x79, 0x31, 0x7d, 0x2f, 0x59, + 0x05, 0x94, 0xdf, 0xb7, 0xd9, 0xa5, 0xd5, 0x84, 0xe2, 0x02, 0x92, 0x2e, 0x73, 0x9a, 0x95, 0x6e, 0xa4, 0x50, 0xb3, + 0xc9, 0x5e, 0x46, 0x56, 0xe9, 0xb5, 0x12, 0xec, 0x57, 0x8b, 0x60, 0x58, 0x56, 0xe9, 0x2a, 0x8f, 0x3a, 0x6c, 0xd6, + 0xae, 0xad, 0xd3, 0x7f, 0xb9, 0xb9, 0x9c, 0x09, 0xa2, 0xec, 0xa0, 0x56, 0xf2, 0x8c, 0x2b, 0x7d, 0xce, 0xb5, 0x52, + 0x77, 0x3a, 0xde, 0xab, 0x3f, 0x57, 0xcd, 0x27, 0x4b, 0x4b, 0xf7, 0xbd, 0x0e, 0xff, 0xd9, 0x95, 0xb5, 0x14, 0x41, + 0x16, 0x43, 0xea, 0x3d, 0x63, 0x67, 0x25, 0x53, 0x42, 0x01, 0xc4, 0x2f, 0x3c, 0xae, 0x5d, 0x07, 0xcd, 0xbb, 0xd2, + 0xed, 0xa7, 0xab, 0xd6, 0xaa, 0x90, 0xf2, 0x78, 0x63, 0x19, 0x51, 0x98, 0xb8, 0xaa, 0x95, 0x61, 0x9a, 0x37, 0x7f, + 0xef, 0x9e, 0xf4, 0x57, 0xc5, 0xcb, 0x6a, 0x22, 0x8a, 0x98, 0xae, 0x79, 0xbc, 0xb1, 0x7a, 0x37, 0x87, 0xb5, 0x79, + 0xf1, 0x5c, 0x8d, 0x2f, 0x5a, 0xff, 0x5c, 0x75, 0x6c, 0x0d, 0x63, 0x52, 0x39, 0xcf, 0x3b, 0xbf, 0x29, 0x29, 0x8d, + 0xb4, 0x8c, 0x36, 0x4e, 0x8a, 0x99, 0x0a, 0x2f, 0x57, 0xef, 0x54, 0x27, 0xaa, 0x10, 0x19, 0x1c, 0x3c, 0x23, 0xb8, + 0xbf, 0xfd, 0xf3, 0x51, 0x59, 0xb7, 0xb6, 0x8d, 0xe5, 0x8d, 0xbc, 0x92, 0x68, 0xfc, 0x2e, 0x96, 0xcb, 0x16, 0xe6, + 0x5b, 0xfb, 0xa6, 0x29, 0x97, 0xb5, 0x89, 0xa4, 0x8e, 0xd2, 0x27, 0xc5, 0x65, 0xa4, 0x2a, 0xbd, 0x4f, 0x40, 0xa2, + 0x97, 0x46, 0xfa, 0x0c, 0x23, 0xa5, 0x1e, 0xc9, 0x8e, 0x10, 0x21, 0x40, 0x80, 0x66, 0xe7, 0xaa, 0xbd, 0x4c, 0x97, + 0x0c, 0xce, 0xc8, 0xa4, 0x40, 0x9f, 0x61, 0x76, 0x35, 0x17, 0x09, 0xc1, 0x19, 0xa1, 0x03, 0xe9, 0x26, 0x63, 0x25, + 0xf8, 0x67, 0xa4, 0x1a, 0x35, 0x6d, 0xa6, 0xae, 0xb1, 0xf3, 0xb5, 0xb0, 0xe6, 0x87, 0x0e, 0xd9, 0xc5, 0x89, 0x45, + 0x89, 0xbe, 0x70, 0x24, 0x66, 0xe9, 0x49, 0x5d, 0x69, 0x0d, 0xdd, 0x85, 0x5b, 0x5c, 0xef, 0x5c, 0x76, 0xc9, 0x2f, + 0xe3, 0x4d, 0x2b, 0xd2, 0x1c, 0x53, 0x74, 0xf9, 0x26, 0x58, 0x0b, 0x70, 0xa0, 0xcc, 0xcb, 0x57, 0x3d, 0x02, 0x57, + 0x7e, 0x80, 0x8b, 0xe8, 0x65, 0x3e, 0x82, 0x08, 0xce, 0x4d, 0x95, 0x16, 0x5a, 0x98, 0x3d, 0x02, 0x3c, 0xd6, 0x6b, + 0xfe, 0x14, 0xfa, 0x99, 0x29, 0x5e, 0x0a, 0x27, 0xcf, 0x5a, 0xa3, 0x76, 0x0f, 0x31, 0xf8, 0x94, 0xac, 0xd6, 0xc4, + 0x22, 0xa7, 0x71, 0x9d, 0x53, 0x8f, 0x8f, 0x66, 0xcb, 0x7c, 0x90, 0x98, 0x15, 0xc0, 0xe4, 0x34, 0xae, 0x51, 0xe2, + 0x6d, 0xa6, 0xaa, 0x76, 0x46, 0x39, 0x8d, 0x2f, 0xc4, 0x90, 0x4c, 0x52, 0x31, 0xdf, 0x3e, 0x90, 0x51, 0x86, 0xc4, + 0x45, 0xc9, 0xad, 0xd5, 0x14, 0xa7, 0xad, 0x79, 0x43, 0x52, 0x7e, 0xc1, 0x28, 0xeb, 0xe6, 0xef, 0x52, 0x5f, 0xef, + 0xfe, 0x28, 0xa6, 0x4b, 0x8f, 0xab, 0xc3, 0x9b, 0x79, 0x75, 0x34, 0x91, 0x9e, 0xe6, 0xd4, 0x20, 0xf1, 0x5b, 0x0b, + 0xfe, 0x98, 0x1f, 0x2f, 0x35, 0xa6, 0x1a, 0x9a, 0xf8, 0xc8, 0x66, 0x8b, 0x2e, 0x2b, 0xbc, 0x71, 0x6e, 0x85, 0x2f, + 0xb5, 0x29, 0x16, 0xe3, 0xb3, 0xcf, 0x3b, 0x0d, 0xae, 0xa3, 0x78, 0x0f, 0x87, 0xd4, 0xd5, 0x8b, 0xa2, 0xa5, 0x3f, + 0x36, 0xfb, 0x3c, 0x8e, 0xf8, 0xc3, 0x9b, 0xfd, 0xb0, 0x04, 0xe6, 0xee, 0xd0, 0x4a, 0x8b, 0x03, 0x69, 0x2b, 0x39, + 0x5a, 0xef, 0xda, 0x7e, 0x8a, 0xd6, 0x44, 0x56, 0x63, 0x53, 0x41, 0xa9, 0x5e, 0x90, 0xff, 0xef, 0x6d, 0x6c, 0x55, + 0x32, 0x55, 0x3a, 0xe8, 0x3d, 0x24, 0xbd, 0x34, 0xf4, 0x15, 0x7d, 0xee, 0xe9, 0xb1, 0xde, 0xa9, 0x44, 0xbc, 0x8b, + 0xcb, 0x9c, 0x61, 0x36, 0x1b, 0xe6, 0xe6, 0x11, 0xbd, 0x95, 0x5e, 0xb1, 0xdb, 0x98, 0xf4, 0x34, 0x88, 0x65, 0x79, + 0x99, 0x53, 0xf7, 0x39, 0x09, 0x24, 0xfe, 0x39, 0x3c, 0x00, 0xff, 0xa4, 0x6b, 0xd0, 0x1c, 0x49, 0xe5, 0x72, 0x53, + 0xaf, 0x43, 0xbc, 0x6b, 0x77, 0x3c, 0x16, 0xe9, 0xeb, 0x26, 0x1a, 0xdf, 0xd0, 0x0d, 0xa5, 0xa8, 0xa9, 0x8c, 0x3a, + 0x8e, 0x0c, 0x97, 0x8c, 0xbc, 0x59, 0x91, 0x6b, 0xbf, 0x02, 0x79, 0x55, 0x00, 0x21, 0x48, 0x6b, 0x11, 0x4d, 0x4c, + 0xf6, 0x57, 0x43, 0xcd, 0x51, 0x9a, 0xd9, 0x26, 0x7f, 0xda, 0xc4, 0xee, 0xba, 0x05, 0xdc, 0xad, 0x1c, 0xa2, 0x8b, + 0xed, 0x31, 0x0f, 0x79, 0x04, 0xa3, 0x2d, 0x24, 0x0a, 0x59, 0x15, 0xa2, 0x85, 0xd3, 0xfc, 0x49, 0x3e, 0x55, 0x9e, + 0x02, 0x3c, 0x44, 0x41, 0x13, 0x96, 0xb2, 0x9b, 0xee, 0x4b, 0xb2, 0x74, 0xf4, 0x3c, 0x82, 0x0f, 0x50, 0x09, 0x0e, + 0xd0, 0x45, 0xce, 0xeb, 0xee, 0xc5, 0xb6, 0x11, 0xd9, 0xc8, 0xd6, 0x75, 0x4f, 0x07, 0x59, 0x6e, 0x2d, 0x2d, 0xfc, + 0xef, 0x8f, 0xbd, 0xaf, 0xee, 0x82, 0x1d, 0x60, 0x28, 0xef, 0x3e, 0x84, 0x16, 0xee, 0x38, 0xd4, 0xea, 0xc5, 0x8a, + 0x12, 0x05, 0x4f, 0x22, 0xf3, 0xc7, 0x4a, 0x76, 0xba, 0xc7, 0x56, 0x24, 0xde, 0x53, 0x37, 0xa8, 0xdb, 0xe5, 0x56, + 0x5d, 0x35, 0x7b, 0xb9, 0x2a, 0xec, 0x3f, 0x1b, 0xfa, 0xd1, 0x54, 0xc1, 0x07, 0x4c, 0x2f, 0x6e, 0x23, 0x2e, 0x0a, + 0x85, 0x35, 0x72, 0xfe, 0x01, 0x8c, 0xca, 0x9a, 0x17, 0x6e, 0x52, 0x2c, 0x83, 0xcb, 0xd0, 0x28, 0xee, 0xc4, 0x2d, + 0x86, 0x1a, 0x0f, 0x06, 0x3d, 0x0b, 0x4b, 0x90, 0x46, 0xf7, 0xe9, 0x3d, 0xce, 0x70, 0x12, 0xa4, 0xd5, 0xe7, 0xcd, + 0x09, 0x72, 0x8d, 0x77, 0x52, 0x6b, 0x44, 0x22, 0xcd, 0x1e, 0x47, 0x65, 0x6d, 0xf8, 0x18, 0xa6, 0xd1, 0x39, 0xa0, + 0xa8, 0x4d, 0x85, 0xad, 0x76, 0x8a, 0x50, 0xaa, 0xe3, 0x20, 0xb0, 0x69, 0xe9, 0xe3, 0x24, 0x2d, 0xe2, 0x40, 0x4f, + 0x25, 0x78, 0x5e, 0xd2, 0xfc, 0x96, 0x8a, 0xbc, 0x9f, 0x77, 0x82, 0x66, 0xfa, 0xbd, 0x82, 0x48, 0x79, 0xac, 0x44, + 0x1a, 0x46, 0x1d, 0x0c, 0x76, 0x6c, 0xc3, 0xab, 0x03, 0x18, 0xcf, 0x91, 0x4a, 0x46, 0x0d, 0x5c, 0xb9, 0xe2, 0xee, + 0x4b, 0x9b, 0x32, 0xe5, 0xda, 0x2a, 0xfc, 0xc8, 0x7c, 0xc9, 0x10, 0x2b, 0x5f, 0x35, 0x43, 0x89, 0xab, 0xd4, 0xb0, + 0xf6, 0x8b, 0xa9, 0x9b, 0x58, 0x5b, 0xc8, 0xe7, 0x8b, 0xbf, 0x46, 0x87, 0xb0, 0x0f, 0x20, 0xab, 0x9f, 0x2e, 0xc4, + 0x94, 0x5c, 0xc2, 0x04, 0x39, 0x57, 0x8c, 0x89, 0x77, 0x93, 0xc9, 0xa5, 0x3f, 0xcd, 0x16, 0xd8, 0x67, 0xd3, 0x4a, + 0xba, 0x5f, 0x92, 0x42, 0xfc, 0x1e, 0x0f, 0x1a, 0xd2, 0x13, 0x84, 0x98, 0x3d, 0x05, 0x8f, 0x6e, 0x56, 0x6e, 0xd4, + 0x1b, 0x49, 0xd0, 0x8e, 0xad, 0xd8, 0x02, 0x24, 0x38, 0xa0, 0x9e, 0xa8, 0xf1, 0x7d, 0xf0, 0x52, 0xe5, 0x97, 0x2f, + 0x0f, 0x11, 0x6a, 0x06, 0xe3, 0x89, 0xa4, 0x19, 0x3b, 0x54, 0x24, 0xf3, 0x15, 0x34, 0xf3, 0xe1, 0xae, 0xa7, 0x23, + 0xde, 0xec, 0xd0, 0x2b, 0x6d, 0xdc, 0xba, 0x27, 0xba, 0xb8, 0x22, 0x61, 0x68, 0xf5, 0xf1, 0xa0, 0xf2, 0xfe, 0x7c, + 0x39, 0x94, 0x57, 0xb6, 0xf2, 0x83, 0x70, 0x98, 0xb5, 0x3b, 0x78, 0xbe, 0x8e, 0x8c, 0x0f, 0x33, 0x92, 0xb3, 0x0c, + 0x16, 0x81, 0x07, 0x73, 0x96, 0xa2, 0x85, 0x6f, 0xca, 0x32, 0x1b, 0x64, 0x6a, 0xb4, 0x80, 0xc5, 0x8b, 0xfc, 0x1b, + 0x1b, 0x5f, 0x96, 0xd9, 0x58, 0xc1, 0xec, 0x75, 0x20, 0x3b, 0x25, 0x90, 0x98, 0xa3, 0xda, 0x9d, 0x0d, 0xa8, 0xa2, + 0x87, 0x27, 0x00, 0x57, 0xf0, 0x87, 0xc7, 0x2c, 0xd0, 0x39, 0x35, 0xce, 0xd7, 0xb0, 0x56, 0x1e, 0x35, 0x36, 0x59, + 0xd7, 0x44, 0x50, 0xa4, 0x16, 0xab, 0xd0, 0x4b, 0x92, 0x48, 0x1d, 0xaa, 0xfc, 0x8f, 0x2f, 0x9c, 0x53, 0x73, 0xef, + 0x68, 0xeb, 0x31, 0xd7, 0x13, 0xd2, 0x56, 0x51, 0x93, 0x33, 0x3d, 0x2e, 0xa1, 0xa0, 0xfc, 0x9c, 0x0a, 0x95, 0xe2, + 0xcb, 0x74, 0xe7, 0x66, 0x55, 0xc1, 0x00, 0x6a, 0x06, 0x30, 0xfa, 0x51, 0x40, 0x46, 0x6a, 0xfc, 0x78, 0xa2, 0x5e, + 0xf7, 0x31, 0x37, 0x74, 0xd0, 0xe2, 0x4c, 0x37, 0xb0, 0x47, 0xb2, 0x1d, 0x8e, 0x6a, 0x80, 0xf2, 0x21, 0x9e, 0x04, + 0x9e, 0x22, 0x9a, 0xa4, 0x59, 0x5f, 0xf1, 0xb7, 0xe9, 0xdc, 0xf6, 0x64, 0x1d, 0x00, 0x2d, 0x2c, 0x98, 0x41, 0xb3, + 0x49, 0xdf, 0x4b, 0xd0, 0x80, 0x1f, 0xc6, 0xce, 0x30, 0xdf, 0x3b, 0xa1, 0xf6, 0xce, 0x0e, 0xbd, 0x9e, 0x7d, 0xe5, + 0x9c, 0x70, 0x3e, 0x53, 0x2f, 0xc6, 0x51, 0xd8, 0x45, 0x9d, 0xc5, 0x93, 0x3f, 0x7c, 0xa6, 0xc2, 0x78, 0x4c, 0xc4, + 0x45, 0x2c, 0x35, 0xb8, 0x20, 0x89, 0x2d, 0x9b, 0xcd, 0x32, 0x0e, 0x7e, 0x26, 0xc3, 0x41, 0xc6, 0x04, 0x2f, 0x27, + 0xf4, 0xfe, 0x96, 0x48, 0x08, 0xb2, 0x21, 0x94, 0x4c, 0xd3, 0x90, 0x1a, 0xaf, 0x36, 0x97, 0x71, 0x99, 0xd1, 0x25, + 0xe3, 0xff, 0x66, 0x17, 0x14, 0xea, 0xb5, 0xa2, 0xe0, 0xfb, 0x2d, 0xdc, 0xf6, 0x1a, 0x9d, 0xb1, 0x67, 0xc8, 0xf4, + 0xa1, 0x39, 0x4c, 0x19, 0x29, 0x0c, 0x77, 0xed, 0x29, 0x48, 0x90, 0x99, 0x97, 0xe1, 0xfd, 0x86, 0xfd, 0x36, 0x60, + 0x0a, 0x1e, 0xdf, 0xfb, 0x66, 0x05, 0xd8, 0x1c, 0x69, 0xa8, 0x7b, 0xee, 0x29, 0xa0, 0x1c, 0xe6, 0xc2, 0xc3, 0x1c, + 0xba, 0x42, 0xb5, 0x0f, 0xb9, 0xab, 0xa7, 0x7a, 0x15, 0x0b, 0xcb, 0xc1, 0xa6, 0x6e, 0x54, 0x9b, 0x84, 0xea, 0xb8, + 0x5c, 0x03, 0xd2, 0x9e, 0xd0, 0x0c, 0xb4, 0x1e, 0x46, 0x54, 0xeb, 0x64, 0x97, 0xde, 0x4a, 0x30, 0xba, 0x24, 0x91, + 0x06, 0x26, 0xcb, 0x9c, 0xd4, 0x00, 0xa6, 0x45, 0x98, 0x03, 0xbf, 0x23, 0x39, 0xae, 0x91, 0x80, 0xce, 0x71, 0xd8, + 0x35, 0xac, 0x26, 0xa5, 0xf3, 0x5c, 0xb5, 0x24, 0x15, 0xa4, 0x22, 0x42, 0x25, 0x53, 0x25, 0xa5, 0x63, 0xc2, 0x39, + 0xae, 0x06, 0x24, 0xc3, 0x94, 0x0a, 0x6a, 0x6f, 0xa3, 0x52, 0x1a, 0xcb, 0x59, 0x18, 0x3e, 0x71, 0xf9, 0x33, 0xaa, + 0xf9, 0xb2, 0x65, 0x23, 0x89, 0xec, 0x35, 0xd3, 0xc5, 0x82, 0x3b, 0xf3, 0x27, 0x70, 0x07, 0xbe, 0xfb, 0x8a, 0x9a, + 0xf2, 0xbe, 0x3c, 0x18, 0x25, 0x26, 0x32, 0x7e, 0x4d, 0xf5, 0x15, 0xcc, 0x65, 0x3e, 0x43, 0x28, 0xd3, 0x6f, 0x3d, + 0x56, 0x67, 0x0b, 0x61, 0x53, 0x49, 0xec, 0xfe, 0xfd, 0xe4, 0x87, 0x02, 0x5e, 0xf0, 0x43, 0x8f, 0xcf, 0x56, 0x13, + 0x04, 0x89, 0x45, 0xb3, 0x0a, 0x7b, 0x8b, 0x9c, 0x18, 0x40, 0x54, 0xf6, 0x68, 0x6e, 0x2f, 0xa9, 0xa1, 0x23, 0x52, + 0x8f, 0x3b, 0x27, 0xac, 0xec, 0x6d, 0x4b, 0x9e, 0xbd, 0x5a, 0xd5, 0x53, 0xaa, 0x63, 0xc2, 0x80, 0x9b, 0xbf, 0xf1, + 0x75, 0x6e, 0xeb, 0xbb, 0x1b, 0x30, 0xd8, 0x12, 0xed, 0xc7, 0x91, 0x22, 0x80, 0x9d, 0x60, 0x8a, 0x43, 0xce, 0xf9, + 0xf1, 0xa6, 0x7a, 0xf9, 0xbf, 0x27, 0x47, 0x15, 0xae, 0xcf, 0x11, 0xb8, 0xc4, 0xe8, 0x74, 0x33, 0x76, 0xee, 0xee, + 0xa8, 0xf4, 0x0d, 0x1f, 0x80, 0x5d, 0x67, 0x10, 0xf4, 0x90, 0x7b, 0x12, 0xde, 0x52, 0x2a, 0x9c, 0xf6, 0x4d, 0x67, + 0xa4, 0xc7, 0xa2, 0xe5, 0x43, 0x78, 0x6c, 0x77, 0x10, 0xac, 0x67, 0xcb, 0xb2, 0xa0, 0xa9, 0x04, 0x68, 0xa6, 0x18, + 0xe0, 0xc8, 0x43, 0xec, 0x1c, 0xc9, 0xac, 0x1c, 0xe3, 0x6e, 0x8e, 0xf7, 0x32, 0x88, 0x0e, 0xd1, 0x11, 0x4f, 0xa5, + 0x25, 0xb2, 0x8c, 0x6d, 0xa9, 0xc2, 0xb5, 0x4f, 0x71, 0x5a, 0xd8, 0xa2, 0xab, 0xca, 0x44, 0xbf, 0xfc, 0x08, 0xc4, + 0xd3, 0x37, 0x7a, 0x5e, 0xbb, 0xd9, 0x24, 0xb2, 0x37, 0x74, 0xb5, 0xfc, 0x92, 0x5b, 0x94, 0x56, 0xae, 0xc6, 0x00, + 0x2b, 0xf6, 0x3a, 0xef, 0x09, 0x84, 0x33, 0x25, 0x0e, 0xb7, 0xf9, 0x9d, 0x61, 0xb6, 0xb4, 0xb1, 0xba, 0x19, 0x9d, + 0x62, 0xdc, 0xd6, 0xdb, 0xfd, 0x40, 0x67, 0x37, 0x24, 0x7c, 0x78, 0xe3, 0xfb, 0xd0, 0x03, 0xa9, 0x24, 0xb8, 0xe2, + 0xee, 0xca, 0x7b, 0x0b, 0xc2, 0xec, 0x81, 0x9c, 0x3e, 0x7a, 0x42, 0x82, 0x5e, 0xc0, 0xfe, 0x7c, 0x1e, 0x1e, 0xf3, + 0x92, 0x38, 0x36, 0xca, 0xc7, 0x1f, 0xd6, 0x58, 0xe1, 0x96, 0xe8, 0x70, 0x89, 0x48, 0xdf, 0xc3, 0xe0, 0xc5, 0x13, + 0x86, 0xa4, 0xea, 0x7f, 0xbc, 0x91, 0x50, 0xc5, 0x33, 0x85, 0xce, 0xed, 0xb4, 0x39, 0x27, 0x88, 0xe5, 0xce, 0x55, + 0x66, 0xaf, 0x1d, 0x85, 0xbd, 0xe3, 0xea, 0x96, 0x74, 0x5f, 0xf6, 0x95, 0x9a, 0x5b, 0x8d, 0x48, 0xb0, 0x91, 0xe1, + 0x79, 0x6e, 0xf5, 0x22, 0xb3, 0x43, 0xd6, 0x45, 0x0e, 0xb0, 0xe9, 0x4c, 0x16, 0x47, 0xed, 0xcd, 0xe8, 0x8b, 0xea, + 0x8a, 0xed, 0xaa, 0x6a, 0x95, 0xc6, 0x25, 0x1d, 0xb4, 0xe6, 0x54, 0xc9, 0x0f, 0xc0, 0x36, 0x22, 0x7f, 0xa7, 0x47, + 0x9d, 0xa9, 0x87, 0x4a, 0x39, 0xad, 0x75, 0x20, 0x8c, 0x87, 0x91, 0xde, 0xcf, 0xc0, 0x40, 0x51, 0x09, 0x6c, 0xb7, + 0x43, 0xe7, 0xa7, 0x5b, 0x93, 0x92, 0x91, 0x53, 0x50, 0x52, 0x56, 0x03, 0xd3, 0x44, 0x91, 0x75, 0x9e, 0x63, 0xf6, + 0x77, 0xc7, 0xd3, 0x9f, 0x3b, 0x0e, 0x1a, 0x31, 0xb3, 0x0b, 0x63, 0xff, 0xb8, 0x77, 0x4d, 0x36, 0xa4, 0x70, 0xea, + 0xc0, 0x24, 0xce, 0x92, 0xb4, 0xfe, 0x7d, 0xad, 0x99, 0xfe, 0xba, 0xe9, 0x7a, 0x09, 0x1f, 0xe8, 0xe1, 0xd8, 0x6e, + 0xb5, 0xf9, 0xa1, 0x7c, 0x60, 0x25, 0xbe, 0xf0, 0xdb, 0x35, 0x1d, 0xbe, 0x0c, 0x3d, 0xf7, 0x39, 0xcc, 0x61, 0x6d, + 0xc5, 0xde, 0x48, 0xa6, 0x05, 0x81, 0xde, 0x6e, 0x77, 0x12, 0xc6, 0x80, 0xfb, 0x7a, 0x8e, 0xa8, 0x7c, 0xe6, 0x72, + 0xf4, 0x4c, 0xa2, 0x04, 0xa6, 0xa3, 0xc1, 0xa3, 0x16, 0xa0, 0xe2, 0x13, 0x8b, 0xd3, 0xe1, 0x01, 0x36, 0x38, 0xb8, + 0x3b, 0x8c, 0xd1, 0x8f, 0x75, 0xf7, 0x6d, 0xea, 0xb3, 0x6c, 0xf8, 0x1a, 0x8e, 0x45, 0x5d, 0xfe, 0x70, 0x55, 0x1b, + 0xc7, 0xa2, 0xc7, 0xea, 0x2a, 0x3e, 0x1a, 0x17, 0xf5, 0x06, 0x43, 0xac, 0xce, 0x03, 0x1c, 0x55, 0xa4, 0x6c, 0xce, + 0x6c, 0xa1, 0x24, 0x81, 0xea, 0xad, 0xd5, 0xfc, 0x32, 0xb0, 0x5b, 0x83, 0x0d, 0xd1, 0xfc, 0x6c, 0xbd, 0x87, 0xef, + 0xe2, 0x27, 0x9f, 0x6d, 0xc9, 0x7c, 0x9b, 0x9d, 0x00, 0x77, 0x96, 0x5d, 0x79, 0x92, 0xd5, 0x8a, 0x77, 0x5b, 0x5f, + 0xbc, 0xef, 0x5f, 0x58, 0x2f, 0x84, 0x84, 0xf3, 0x4b, 0x7a, 0xbb, 0x96, 0x43, 0x1a, 0xc4, 0xf6, 0xaf, 0x26, 0x90, + 0x7f, 0x4a, 0x33, 0x77, 0xfe, 0x58, 0x19, 0x82, 0x63, 0x84, 0x1a, 0x6f, 0x09, 0x16, 0x5c, 0x7a, 0x45, 0x4a, 0xb1, + 0xcd, 0x6a, 0xa7, 0x95, 0x8c, 0xb5, 0xe6, 0xbe, 0xd2, 0x96, 0xb4, 0xca, 0x9d, 0x55, 0x40, 0x5c, 0x5d, 0x9a, 0xf8, + 0x50, 0x60, 0x35, 0x7b, 0x52, 0x96, 0xa4, 0x50, 0x1a, 0x2f, 0xfe, 0x91, 0x78, 0x47, 0x40, 0xe5, 0xea, 0x25, 0x42, + 0x30, 0xae, 0xbf, 0xef, 0xec, 0x2c, 0x3b, 0xcd, 0x1e, 0x32, 0xd5, 0x23, 0x2f, 0x2f, 0xc3, 0x39, 0x8a, 0x52, 0xa5, + 0xf1, 0x1d, 0x9c, 0x71, 0x23, 0x46, 0xbd, 0x7b, 0xf6, 0x14, 0x21, 0xef, 0xc8, 0x6f, 0x64, 0x92, 0xc3, 0x30, 0xef, + 0xbe, 0x3a, 0x19, 0x91, 0xe6, 0xf6, 0x0e, 0xe8, 0x62, 0x93, 0x29, 0xeb, 0x2c, 0xd8, 0x92, 0x0a, 0x12, 0x09, 0xd1, + 0xed, 0x90, 0x90, 0xbd, 0xb4, 0x6f, 0x48, 0x51, 0x54, 0xa7, 0x7a, 0xc8, 0x50, 0x4f, 0x3b, 0x7e, 0x5c, 0x47, 0x4c, + 0xc7, 0xda, 0x22, 0x1d, 0x91, 0x0c, 0x20, 0x18, 0x33, 0x5e, 0x42, 0xa6, 0x5a, 0x33, 0xbc, 0x56, 0x13, 0x4f, 0x19, + 0xdd, 0x59, 0x0f, 0x0c, 0x13, 0xa9, 0x20, 0x76, 0xde, 0xd7, 0x24, 0x52, 0x76, 0xeb, 0xc5, 0x67, 0xa5, 0x0c, 0xcb, + 0x7b, 0x78, 0xd6, 0xb5, 0xa7, 0x6c, 0x52, 0x06, 0x24, 0x96, 0xfb, 0x95, 0x8d, 0x5f, 0xeb, 0xe8, 0x4a, 0x9e, 0xd1, + 0xce, 0x03, 0x00, 0xa6, 0x96, 0xf8, 0x7d, 0xea, 0x32, 0x5f, 0xba, 0xd5, 0x8b, 0xed, 0x35, 0xba, 0x05, 0xb8, 0xf6, + 0xa8, 0x66, 0x9e, 0xf6, 0x16, 0xbb, 0xa7, 0x42, 0x07, 0x74, 0xd5, 0x30, 0x5b, 0xfc, 0xe5, 0x8d, 0x0f, 0xb7, 0xc4, + 0xbd, 0x3a, 0x95, 0xe8, 0x63, 0x7e, 0x2d, 0x2e, 0xfc, 0xa7, 0xdc, 0x91, 0x80, 0xd1, 0x31, 0x3e, 0x29, 0xa4, 0x0d, + 0xab, 0x22, 0x64, 0x42, 0x75, 0xbf, 0x38, 0x4d, 0xe0, 0x00, 0x03, 0xd3, 0xb9, 0xc9, 0x62, 0x96, 0xee, 0xae, 0x9c, + 0xea, 0x3e, 0x18, 0xc0, 0xaa, 0x76, 0xda, 0x9c, 0x7a, 0xea, 0x6e, 0x43, 0xeb, 0x18, 0x17, 0xdf, 0x42, 0x4d, 0x86, + 0xb0, 0xb5, 0x5e, 0xa8, 0x48, 0xd3, 0xbc, 0xc5, 0xca, 0x9f, 0x64, 0xdb, 0x1b, 0x60, 0xe8, 0x42, 0x62, 0x6b, 0x3e, + 0x28, 0x41, 0x7c, 0x50, 0x17, 0xc2, 0xbe, 0xa3, 0x81, 0x68, 0x71, 0x86, 0x75, 0x93, 0x2a, 0xd3, 0x7e, 0x46, 0x8e, + 0x26, 0xd4, 0xfa, 0x3e, 0xf6, 0xcf, 0xba, 0x73, 0xfa, 0x57, 0x24, 0xb5, 0x4c, 0xd3, 0x1c, 0xc9, 0xe8, 0x44, 0xd8, + 0xd8, 0x60, 0x20, 0x8d, 0x11, 0x2f, 0x3d, 0xfd, 0x9c, 0xbb, 0x75, 0xcd, 0x28, 0xb0, 0x7e, 0x83, 0xf1, 0x7a, 0xe0, + 0xe4, 0x9a, 0x5c, 0x04, 0x7a, 0x26, 0x46, 0x59, 0x0f, 0xa9, 0x67, 0x5e, 0x2f, 0xd5, 0xfb, 0x9c, 0x8b, 0x09, 0x42, + 0x85, 0xd7, 0x1c, 0x87, 0xf4, 0x13, 0xc0, 0xe3, 0x26, 0x5b, 0x24, 0x3f, 0x6a, 0x70, 0x1e, 0xf6, 0x49, 0xac, 0x2c, + 0x0e, 0x2f, 0x68, 0x7a, 0xf6, 0xbc, 0x0a, 0xf3, 0x03, 0xf9, 0xd3, 0xb9, 0x32, 0xc0, 0x18, 0xc9, 0xdd, 0xc4, 0xae, + 0x08, 0x4d, 0x01, 0x1c, 0x2a, 0xb5, 0x8e, 0x83, 0x68, 0x80, 0x39, 0xec, 0xfb, 0x72, 0x4b, 0x94, 0x91, 0x02, 0x58, + 0x9d, 0xe1, 0x0c, 0x60, 0x07, 0x25, 0xd9, 0x31, 0xd6, 0x62, 0x64, 0x01, 0x8f, 0x86, 0xab, 0x89, 0xd3, 0xa2, 0xda, + 0x8b, 0x8b, 0x31, 0x31, 0xf0, 0x18, 0xd1, 0x32, 0x69, 0xdc, 0x0c, 0xa6, 0xb9, 0x21, 0xe8, 0x66, 0x87, 0xce, 0xdc, + 0xdc, 0xb6, 0xb3, 0x08, 0x4e, 0x6f, 0x7f, 0x06, 0xce, 0x0f, 0xe2, 0xbe, 0x76, 0x45, 0xc4, 0xfd, 0x2b, 0x19, 0x70, + 0x25, 0x85, 0xe7, 0x6c, 0x82, 0xa0, 0x1f, 0xad, 0x7d, 0xa6, 0x41, 0x3c, 0x63, 0xcf, 0xa5, 0x4e, 0x05, 0x0c, 0xfe, + 0xa2, 0x11, 0xaf, 0x53, 0x4f, 0x4c, 0x87, 0x45, 0xf4, 0x3d, 0xd1, 0x6c, 0xa0, 0x31, 0x32, 0xdd, 0x6d, 0xef, 0x9a, + 0x21, 0x44, 0x9f, 0x98, 0x52, 0x96, 0x08, 0x80, 0xf3, 0x2f, 0x2b, 0x84, 0xfb, 0xb7, 0x82, 0x84, 0x05, 0x92, 0xe7, + 0x6a, 0xd7, 0xc4, 0x0d, 0xb0, 0x56, 0xcb, 0x19, 0x77, 0x24, 0x82, 0xd9, 0x98, 0xcb, 0x4c, 0xf4, 0x48, 0x12, 0x67, + 0x90, 0xca, 0x66, 0x5b, 0xc3, 0xdc, 0xdb, 0x06, 0x33, 0x21, 0xca, 0x11, 0x0c, 0xde, 0xbd, 0x85, 0x0d, 0x26, 0xb5, + 0x29, 0x25, 0x4e, 0x43, 0x35, 0x24, 0xf9, 0xb2, 0x17, 0xdb, 0xd5, 0x9d, 0x74, 0x1b, 0x68, 0x32, 0x7f, 0xf7, 0xc5, + 0xc1, 0x7d, 0x64, 0xfb, 0xbc, 0x55, 0xec, 0x85, 0x49, 0xb5, 0x7c, 0xda, 0xba, 0x74, 0xae, 0xbd, 0xb8, 0x46, 0x2f, + 0x4d, 0x5f, 0xb5, 0xdf, 0x58, 0x9f, 0xe7, 0x20, 0x47, 0x45, 0x9f, 0xf7, 0x97, 0x0b, 0x08, 0x9a, 0xba, 0x8c, 0x3b, + 0x01, 0x2e, 0x18, 0x51, 0x7a, 0xae, 0x33, 0x02, 0x5b, 0xc2, 0x3c, 0x2d, 0x9b, 0x2b, 0xbc, 0x3c, 0x3f, 0x38, 0x4d, + 0xa8, 0x54, 0xe8, 0x35, 0xbf, 0xaf, 0xde, 0xab, 0xb5, 0xc7, 0xe5, 0x61, 0xff, 0xbd, 0x48, 0xce, 0x40, 0x91, 0x76, + 0x46, 0x7e, 0xb4, 0xac, 0x83, 0x78, 0xdb, 0x9a, 0xbe, 0xbd, 0x96, 0x3f, 0x4c, 0x48, 0xa6, 0xca, 0x6d, 0x08, 0x16, + 0x93, 0xbe, 0xdf, 0x65, 0xf0, 0x93, 0x6c, 0x45, 0x4a, 0x0c, 0x34, 0x8a, 0x5d, 0xc6, 0x3c, 0xd9, 0xa4, 0x5e, 0x37, + 0x15, 0xdd, 0xf8, 0x50, 0xcf, 0x76, 0x18, 0x6f, 0xe0, 0xb1, 0x9e, 0x7c, 0x34, 0x77, 0xaa, 0xee, 0x5a, 0xf8, 0xba, + 0xba, 0x13, 0xda, 0xed, 0xed, 0xeb, 0x45, 0x69, 0x5e, 0x77, 0x27, 0xda, 0x3a, 0x45, 0xcf, 0xeb, 0xff, 0xeb, 0x39, + 0xe3, 0xe0, 0x6d, 0x0a, 0xef, 0x05, 0xf8, 0x76, 0x7c, 0xf6, 0x3c, 0x03, 0x8a, 0x96, 0x59, 0xb4, 0x32, 0xb9, 0xc6, + 0x39, 0x0e, 0x18, 0x55, 0xa8, 0xf3, 0x9a, 0xa9, 0x36, 0x4e, 0x6c, 0x58, 0xef, 0x78, 0x79, 0x55, 0x00, 0x71, 0x87, + 0x6b, 0x59, 0x6e, 0xe2, 0xc2, 0xfc, 0xe6, 0x99, 0x12, 0x92, 0xcd, 0x63, 0x6d, 0xd5, 0xe9, 0x77, 0x49, 0x49, 0x0e, + 0x03, 0x6e, 0x73, 0xe9, 0xc3, 0x4d, 0xe5, 0xa1, 0x0b, 0xdd, 0x2e, 0xca, 0x09, 0x22, 0x95, 0xba, 0x13, 0xa8, 0x70, + 0x6c, 0x8b, 0x15, 0x75, 0xa9, 0xed, 0x1b, 0xdf, 0x17, 0xfc, 0xb2, 0x10, 0x7c, 0x63, 0x27, 0x36, 0x31, 0x5b, 0xa9, + 0x66, 0x24, 0xe1, 0x67, 0x10, 0xcc, 0x71, 0xe5, 0x99, 0xda, 0xed, 0xf0, 0x7f, 0x14, 0x4d, 0x45, 0x0a, 0xe8, 0x12, + 0x87, 0x08, 0x99, 0x99, 0x63, 0x8a, 0x1e, 0xac, 0x10, 0x3a, 0x8b, 0x94, 0x0f, 0x76, 0x73, 0xf0, 0x7d, 0xeb, 0xe7, + 0xb6, 0xae, 0xda, 0xe5, 0x5e, 0xd1, 0xd3, 0x34, 0x25, 0x5a, 0x52, 0xa8, 0xa4, 0x91, 0xb5, 0x43, 0x7d, 0xad, 0xaf, + 0xdd, 0x48, 0x41, 0x2d, 0xb2, 0x20, 0x7a, 0x9d, 0xaf, 0x0d, 0x20, 0x4d, 0x2a, 0xfe, 0xc2, 0xbf, 0x7f, 0x16, 0x89, + 0x37, 0xb5, 0x88, 0x86, 0xfa, 0x3a, 0x6d, 0x5d, 0x7d, 0x15, 0x8f, 0x0d, 0xd7, 0x56, 0xfd, 0x18, 0xe5, 0xe6, 0x46, + 0xca, 0xfb, 0x89, 0xf9, 0xf3, 0xaf, 0x36, 0x0d, 0x8d, 0xc0, 0x49, 0xf3, 0xe6, 0x76, 0xee, 0x30, 0xe7, 0x9e, 0x23, + 0x35, 0x1c, 0xb2, 0x6f, 0x40, 0x6e, 0x91, 0x2f, 0xb5, 0x6b, 0x22, 0x71, 0x81, 0xb0, 0x89, 0x60, 0x43, 0xdc, 0x47, + 0xc6, 0x8c, 0x6e, 0x5d, 0xe3, 0xe0, 0xdd, 0xa5, 0x4c, 0x9d, 0x96, 0x6a, 0x2e, 0xa7, 0x42, 0x99, 0x49, 0x2a, 0xfa, + 0xd5, 0x46, 0x7f, 0x76, 0xe5, 0x94, 0xb8, 0x0e, 0x2a, 0xbf, 0x8d, 0x38, 0x75, 0x1b, 0xcd, 0xb4, 0xbf, 0x95, 0xaf, + 0x7a, 0x5c, 0xd4, 0x5f, 0xd2, 0xe3, 0xbd, 0xb5, 0x47, 0x6e, 0x4d, 0x2d, 0x3d, 0xe2, 0xfe, 0x6a, 0xbb, 0xaf, 0xf2, + 0x39, 0x0e, 0x22, 0x54, 0x3b, 0x21, 0xc6, 0xa5, 0x88, 0x02, 0x0e, 0xe0, 0x15, 0xf1, 0x5f, 0x90, 0xeb, 0xf1, 0xac, + 0x4e, 0xd1, 0x8f, 0x3d, 0xd0, 0xde, 0x6d, 0x9e, 0x03, 0x4e, 0xa9, 0x72, 0xca, 0xbe, 0x23, 0x6b, 0xb3, 0x2c, 0xd2, + 0xae, 0x77, 0x66, 0xb3, 0xa8, 0x58, 0x11, 0x00, 0xc8, 0xde, 0xe9, 0x53, 0x97, 0x75, 0x28, 0xb7, 0x1b, 0x08, 0xb7, + 0x4a, 0x66, 0xc2, 0x4c, 0x14, 0xfe, 0xba, 0x63, 0xc0, 0x0b, 0x21, 0xce, 0x0d, 0x5f, 0x79, 0x49, 0xe3, 0x44, 0x45, + 0x6c, 0x88, 0x1f, 0x94, 0x07, 0xc7, 0xe1, 0xd6, 0xfe, 0xb0, 0x6d, 0x64, 0x22, 0x87, 0xe8, 0x60, 0x35, 0x4a, 0xf7, + 0xc6, 0x77, 0x44, 0x76, 0x3f, 0xde, 0x5f, 0x6b, 0x89, 0x40, 0x4b, 0xcb, 0xf7, 0x6a, 0x57, 0x13, 0xce, 0x9f, 0xde, + 0x76, 0x15, 0x9b, 0x94, 0x19, 0xc5, 0xb7, 0x54, 0xb6, 0xaf, 0xbe, 0xff, 0x8a, 0x7e, 0x16, 0x25, 0x99, 0xc2, 0xd7, + 0xb2, 0x85, 0xe7, 0xd6, 0x32, 0x23, 0x0d, 0x00, 0x55, 0x24, 0x46, 0x73, 0xc9, 0xd3, 0x2e, 0xe9, 0x30, 0x10, 0x6d, + 0xfc, 0x58, 0x6c, 0x9a, 0x45, 0xa8, 0x28, 0x7b, 0xc0, 0x66, 0xa3, 0x1b, 0x32, 0x08, 0x4f, 0xd0, 0x8b, 0x7f, 0xa5, + 0x03, 0x2f, 0x2a, 0xe7, 0xca, 0xd2, 0xad, 0x2f, 0x6f, 0xeb, 0x6f, 0xd2, 0xf5, 0xa4, 0xd6, 0xbb, 0x32, 0x5c, 0x2c, + 0x68, 0x46, 0xbe, 0xf2, 0x5f, 0x0d, 0xe0, 0x75, 0x48, 0xd3, 0x19, 0x0b, 0x7f, 0x62, 0xea, 0x1e, 0x79, 0x5b, 0x99, + 0xf7, 0xdb, 0x65, 0x73, 0x3e, 0x68, 0x1f, 0xbc, 0xa4, 0xaa, 0x3f, 0xe0, 0xf8, 0xc8, 0x79, 0xb8, 0xbf, 0x8a, 0x69, + 0x6e, 0x45, 0xc1, 0x80, 0xe7, 0xa3, 0x15, 0x4d, 0xba, 0xab, 0x47, 0x2b, 0x22, 0x8c, 0x25, 0x4e, 0x2d, 0x6e, 0x75, + 0x21, 0x93, 0xa3, 0xdc, 0x42, 0xdf, 0xc9, 0xcb, 0xdc, 0xe2, 0x3a, 0xda, 0xcb, 0xcc, 0xf4, 0x94, 0x55, 0xf7, 0x1b, + 0xc2, 0xa8, 0x8f, 0xcc, 0x2e, 0x5a, 0x05, 0xa7, 0x95, 0x46, 0xb8, 0xa1, 0x5e, 0x6b, 0x8a, 0x05, 0xce, 0x8d, 0x82, + 0x5a, 0xd5, 0x3b, 0x4f, 0xbb, 0xc6, 0x41, 0xb6, 0x99, 0xd3, 0x8a, 0xd0, 0xed, 0x57, 0xb8, 0xa7, 0xb0, 0xae, 0xf3, + 0xe0, 0x6a, 0x4e, 0x34, 0x38, 0x8d, 0xdb, 0x6d, 0xb3, 0x88, 0x16, 0xb2, 0x8b, 0x15, 0xfd, 0x7a, 0x00, 0xfe, 0x8b, + 0x1d, 0x8a, 0x0f, 0x5b, 0xa9, 0xb1, 0x15, 0x23, 0x2b, 0x34, 0xf5, 0x76, 0x8e, 0x08, 0xff, 0xc2, 0xb7, 0xe4, 0x76, + 0x5b, 0xaa, 0x08, 0x35, 0x75, 0xb3, 0x6a, 0x7b, 0xed, 0x64, 0xbf, 0x34, 0x49, 0xfb, 0x61, 0x9e, 0x9e, 0x10, 0x2a, + 0x51, 0x7b, 0x73, 0x68, 0x88, 0x25, 0xd7, 0x46, 0x9c, 0x1b, 0x4c, 0x48, 0xe3, 0xbf, 0xbf, 0x11, 0x90, 0x13, 0x29, + 0xe9, 0x70, 0x39, 0xf6, 0x2c, 0xc5, 0x48, 0xa2, 0xf9, 0xc8, 0xe0, 0x75, 0x0a, 0x8b, 0xb4, 0x95, 0x27, 0xd7, 0x2d, + 0x75, 0x43, 0xdd, 0x35, 0x7d, 0x92, 0xaa, 0xe3, 0xbc, 0x38, 0xc2, 0xdd, 0xa9, 0x82, 0x46, 0xf5, 0xe6, 0xe4, 0x0c, + 0x49, 0xdb, 0x99, 0x17, 0x42, 0xf2, 0x41, 0xbc, 0x96, 0x44, 0x8a, 0xed, 0x27, 0x59, 0xea, 0x3e, 0xbe, 0x39, 0x88, + 0x0a, 0x84, 0x8b, 0x70, 0x8c, 0xc4, 0xfe, 0x14, 0x63, 0x8a, 0xee, 0x2c, 0x4a, 0x82, 0x4d, 0xd5, 0xc9, 0x19, 0x3a, + 0xd3, 0x7c, 0x02, 0x81, 0x65, 0x37, 0xc8, 0xe8, 0xa0, 0x2e, 0x62, 0x7e, 0xf4, 0xed, 0x10, 0x37, 0xbf, 0xe5, 0xe0, + 0x1a, 0x6d, 0xcf, 0x8c, 0x33, 0xa5, 0xb6, 0xf8, 0xa7, 0x39, 0x5c, 0x9f, 0xc0, 0xec, 0xee, 0x50, 0xc2, 0x89, 0x38, + 0x92, 0x50, 0xaf, 0x3f, 0x57, 0x3f, 0x6c, 0x22, 0x85, 0xce, 0x09, 0xad, 0x0d, 0xb4, 0xf8, 0x34, 0xa7, 0xab, 0x05, + 0x1f, 0xc6, 0x61, 0xc7, 0x90, 0xa9, 0x92, 0xfc, 0x2e, 0xfa, 0xdc, 0xcf, 0x05, 0x18, 0xde, 0x43, 0x5c, 0xe7, 0x7b, + 0x67, 0x47, 0xcd, 0xc2, 0x2d, 0x84, 0xed, 0x4f, 0xa3, 0x84, 0x1c, 0xf4, 0x6b, 0xe5, 0xe7, 0x88, 0x5f, 0x7d, 0xa4, + 0x67, 0xb2, 0xe1, 0x87, 0x43, 0xb4, 0xb8, 0x96, 0xb0, 0x24, 0xc3, 0xe8, 0xfd, 0x8b, 0x57, 0x18, 0xf6, 0x12, 0x18, + 0x3c, 0x83, 0xbd, 0x05, 0x02, 0xe0, 0xf6, 0xe8, 0x27, 0x0c, 0xb5, 0x54, 0x0a, 0xc2, 0xb9, 0xe4, 0x21, 0x41, 0x62, + 0x5c, 0xca, 0xd5, 0xda, 0xa4, 0x4f, 0xc0, 0x5a, 0x3b, 0x4e, 0x1d, 0x34, 0x26, 0x3d, 0xcf, 0x92, 0xe6, 0xcb, 0x98, + 0x3f, 0x0b, 0x14, 0x2c, 0x3f, 0x34, 0x35, 0xdd, 0x83, 0xa0, 0xea, 0xca, 0x18, 0x6b, 0xba, 0xa3, 0x1d, 0x04, 0xef, + 0xaf, 0xd5, 0x33, 0xa2, 0xfc, 0xdd, 0x1a, 0x93, 0x1d, 0x04, 0x85, 0x82, 0x2d, 0x6e, 0xc8, 0xa1, 0x10, 0x62, 0x57, + 0xe3, 0xce, 0xbe, 0x8b, 0x4e, 0x65, 0xa9, 0x99, 0xdc, 0x6e, 0x94, 0x4d, 0x33, 0x4c, 0x98, 0x62, 0x87, 0x56, 0xf2, + 0x05, 0x45, 0x89, 0x5d, 0xbb, 0x5a, 0x94, 0x33, 0xbf, 0xdb, 0xfa, 0x38, 0xb6, 0x50, 0x58, 0xf5, 0x39, 0x98, 0xe5, + 0xc4, 0xb4, 0x6d, 0x97, 0x81, 0xdc, 0xd9, 0x1b, 0x64, 0xaa, 0x29, 0x1b, 0x43, 0x98, 0x77, 0xcc, 0x47, 0xe6, 0xf0, + 0x3d, 0xb2, 0x3b, 0x0f, 0x99, 0xbb, 0xc9, 0x65, 0x2f, 0x3f, 0xeb, 0xf5, 0xcf, 0x1c, 0xa0, 0x90, 0xc6, 0xc0, 0xb1, + 0x79, 0xde, 0x10, 0x6b, 0x99, 0x98, 0x2e, 0x3b, 0x56, 0xba, 0x83, 0x41, 0xc1, 0xeb, 0x1c, 0x28, 0x54, 0xd2, 0x94, + 0x38, 0x71, 0x3d, 0x84, 0x35, 0xa2, 0x1c, 0xde, 0x3b, 0x31, 0xd7, 0xc9, 0x44, 0xb2, 0xf1, 0xaf, 0xf6, 0x3e, 0x5c, + 0xb4, 0x01, 0xfa, 0x78, 0x66, 0xa3, 0x16, 0x16, 0x89, 0x38, 0x85, 0x21, 0x3f, 0xaa, 0x79, 0xac, 0x49, 0xe8, 0x03, + 0x27, 0x03, 0xa9, 0xa0, 0x97, 0x0a, 0xfc, 0x6f, 0x91, 0x9c, 0xb1, 0x72, 0x4a, 0x01, 0x2a, 0xa2, 0xb5, 0x6b, 0xfe, + 0x75, 0xef, 0x7a, 0x4c, 0x82, 0x7a, 0xb5, 0x00, 0x6e, 0x2d, 0x25, 0x92, 0x9f, 0xfb, 0xdb, 0x30, 0x3a, 0xcc, 0x8c, + 0x93, 0xce, 0xf3, 0xea, 0x57, 0x4f, 0x2e, 0x22, 0x99, 0xa2, 0x2d, 0x04, 0x4f, 0x5d, 0x0c, 0x4c, 0xe4, 0x21, 0x9e, + 0x9b, 0x76, 0xd0, 0xa5, 0xc6, 0xa1, 0xfc, 0xcb, 0xae, 0xe3, 0x68, 0x6c, 0x16, 0xe3, 0x04, 0x42, 0x95, 0xea, 0xf2, + 0x3c, 0x73, 0x5d, 0xd6, 0x8b, 0x3d, 0x69, 0xa2, 0xae, 0xac, 0xf4, 0x5b, 0xa8, 0x98, 0x37, 0xba, 0x3a, 0x45, 0x6d, + 0x31, 0xad, 0x93, 0x97, 0x6d, 0x56, 0x66, 0xd5, 0x04, 0x6f, 0x43, 0xb6, 0x11, 0x4e, 0x76, 0xc1, 0x7e, 0x3a, 0xc7, + 0x4b, 0x77, 0x0d, 0x8d, 0x12, 0xbc, 0x84, 0x54, 0xd1, 0xdf, 0x99, 0x16, 0x0e, 0x24, 0x5a, 0x51, 0xb2, 0xf6, 0xa5, + 0xff, 0x66, 0x37, 0x9c, 0xe4, 0x5c, 0x47, 0xef, 0x50, 0x7b, 0x1c, 0x8a, 0x66, 0x3c, 0x26, 0x6b, 0x9c, 0xe7, 0x74, + 0x29, 0x70, 0xc9, 0x92, 0x72, 0xee, 0x05, 0xbb, 0x2b, 0x90, 0xf2, 0xfa, 0xcb, 0x16, 0x09, 0x99, 0x70, 0xfb, 0x3c, + 0x19, 0xb8, 0x8c, 0x09, 0xd2, 0x83, 0xde, 0xf5, 0x03, 0xd5, 0x58, 0xe0, 0xee, 0x97, 0x39, 0xe7, 0x7f, 0xae, 0x48, + 0x92, 0x86, 0x78, 0x68, 0x11, 0x1c, 0xa6, 0xda, 0xaf, 0xc0, 0xad, 0x63, 0xc0, 0xb5, 0x59, 0x99, 0x3e, 0xf8, 0xf5, + 0xf8, 0x40, 0x34, 0x02, 0xff, 0xf9, 0xf8, 0x2b, 0xe2, 0xd0, 0x83, 0x67, 0x2b, 0x42, 0xb2, 0xae, 0x87, 0x8b, 0x34, + 0xff, 0xd5, 0xee, 0x13, 0x80, 0x45, 0xb8, 0x91, 0x74, 0x2c, 0x01, 0x1d, 0xdf, 0x0d, 0x0b, 0xcc, 0x53, 0x60, 0x97, + 0xd1, 0x1f, 0xb3, 0x87, 0x95, 0x6b, 0x1c, 0x2a, 0x4e, 0xb4, 0x85, 0x71, 0xb8, 0x24, 0x58, 0xde, 0xd2, 0xb9, 0x8a, + 0x40, 0x06, 0x07, 0xa4, 0x5e, 0xde, 0x19, 0xc7, 0x23, 0xf7, 0x91, 0x15, 0x1c, 0xf8, 0x66, 0x58, 0xb6, 0x47, 0x06, + 0x1c, 0xea, 0x88, 0x1e, 0xd0, 0xe1, 0xd6, 0x20, 0x43, 0x4d, 0x14, 0x63, 0x0b, 0x3e, 0x3e, 0xaa, 0xc7, 0x0c, 0xf2, + 0x5c, 0x0e, 0xf8, 0xfa, 0xc0, 0xa0, 0xe2, 0x30, 0x81, 0xfc, 0x5d, 0x08, 0x83, 0x3a, 0xec, 0xad, 0x05, 0x80, 0xd2, + 0x27, 0x88, 0xa1, 0x13, 0x87, 0xd4, 0x1b, 0xd0, 0xe4, 0x7b, 0x90, 0xd2, 0x08, 0xfe, 0xa2, 0x22, 0x33, 0x1a, 0x3d, + 0x15, 0xb3, 0x50, 0x18, 0x45, 0x2b, 0x64, 0xa8, 0x4d, 0x88, 0x34, 0x75, 0xf7, 0x96, 0x11, 0xf9, 0xb1, 0x3d, 0xf0, + 0x65, 0x69, 0xaf, 0x45, 0x22, 0x55, 0xce, 0x78, 0x1f, 0x40, 0xa9, 0x39, 0xb8, 0x0a, 0xd4, 0x3d, 0x53, 0x7d, 0x4e, + 0xc5, 0xda, 0xcc, 0xb2, 0x58, 0x78, 0x20, 0x1f, 0xe2, 0x62, 0x7c, 0x15, 0x5d, 0xbe, 0xad, 0x28, 0x9e, 0xc5, 0xdf, + 0xfd, 0xba, 0xe9, 0x43, 0x0a, 0xff, 0x52, 0xf0, 0xd5, 0x59, 0x73, 0xe5, 0x84, 0x75, 0x9e, 0x20, 0x5d, 0x37, 0x18, + 0x74, 0x5b, 0x4b, 0x2c, 0x4f, 0xce, 0xf4, 0xeb, 0x76, 0x31, 0xa5, 0x6a, 0xaa, 0xde, 0xce, 0x03, 0x08, 0xa4, 0xf6, + 0x9d, 0x49, 0x67, 0xd0, 0x2c, 0x24, 0xcb, 0x0c, 0x13, 0xfc, 0xb9, 0xc3, 0x6e, 0x50, 0x91, 0x06, 0x5e, 0xb6, 0x96, + 0x5e, 0xe1, 0x73, 0x3c, 0xae, 0xe8, 0x25, 0xa7, 0xf1, 0xb7, 0x77, 0xa4, 0x3c, 0x6d, 0xfd, 0x54, 0x2e, 0xe7, 0x65, + 0xd1, 0x97, 0xa6, 0x5f, 0xd1, 0x6f, 0x52, 0xb7, 0x3c, 0xee, 0x22, 0x02, 0xe9, 0xff, 0x2a, 0xd7, 0x35, 0x8d, 0xbe, + 0x0a, 0x7b, 0xb1, 0x8b, 0x60, 0xf4, 0xec, 0xb6, 0x6e, 0x0e, 0x39, 0x53, 0x5a, 0x94, 0x1a, 0x0c, 0x4d, 0x3a, 0xfe, + 0x32, 0x0a, 0x4b, 0xd7, 0x94, 0x76, 0xee, 0xa7, 0x3b, 0xbd, 0x54, 0x47, 0x26, 0xfe, 0x6d, 0x2f, 0x7f, 0xc8, 0x3a, + 0x6a, 0x44, 0x17, 0xfe, 0x0f, 0xfe, 0x3c, 0xa2, 0x9c, 0x2f, 0x75, 0x4a, 0xa5, 0x1d, 0xd4, 0x47, 0x55, 0x72, 0x3c, + 0x1d, 0x07, 0xca, 0x68, 0x14, 0xcf, 0xd4, 0xf1, 0xcc, 0x69, 0x26, 0xe8, 0x89, 0x6e, 0x90, 0xac, 0xe5, 0x00, 0x2d, + 0x80, 0x9a, 0x92, 0x11, 0xa7, 0xea, 0x04, 0x37, 0x13, 0xa7, 0xd7, 0x45, 0x27, 0x48, 0x4e, 0x0b, 0xc7, 0xe8, 0x73, + 0x59, 0x0c, 0x51, 0x29, 0xeb, 0xdb, 0xab, 0x23, 0xaa, 0x1e, 0x65, 0xdb, 0xd2, 0xb7, 0x8a, 0x8d, 0x76, 0xa8, 0x83, + 0x15, 0x73, 0x60, 0x97, 0x97, 0xcc, 0xd4, 0x72, 0xe6, 0x60, 0xe6, 0xa7, 0x67, 0xc0, 0x9e, 0x03, 0x66, 0xe7, 0x0c, + 0x31, 0x47, 0x11, 0xaa, 0xc4, 0xd2, 0x18, 0x14, 0x17, 0x76, 0x92, 0x48, 0x7d, 0x3e, 0xef, 0x8e, 0x52, 0x15, 0x73, + 0x6a, 0x2a, 0xaf, 0x07, 0xb0, 0x2d, 0xb1, 0xf2, 0x57, 0x34, 0xa1, 0x1f, 0xe9, 0x16, 0x23, 0xfc, 0x8d, 0x8a, 0xe3, + 0xfc, 0x7e, 0x7e, 0x9b, 0x9a, 0x29, 0x01, 0x13, 0x43, 0x4e, 0x5d, 0x9d, 0x60, 0x5d, 0xa5, 0x98, 0x96, 0xc5, 0x99, + 0x96, 0xe7, 0x7c, 0x36, 0xb6, 0x25, 0xd6, 0x42, 0x38, 0x5b, 0xde, 0xf6, 0xc6, 0x5d, 0x5e, 0x30, 0x26, 0x92, 0x24, + 0x96, 0x6d, 0x5e, 0x4d, 0x07, 0x20, 0xc1, 0x1d, 0x62, 0x9b, 0x7e, 0xc1, 0xb7, 0xa2, 0x88, 0x07, 0xb0, 0x9b, 0xcc, + 0xce, 0x62, 0xab, 0x4c, 0x07, 0xe3, 0xe0, 0x96, 0xff, 0xd5, 0xb6, 0x86, 0x02, 0x21, 0x11, 0x9f, 0x08, 0x70, 0x49, + 0x74, 0x36, 0x83, 0x3a, 0x85, 0x0c, 0x37, 0xf1, 0x9d, 0xa2, 0xc9, 0x77, 0xb4, 0xfa, 0x8e, 0x88, 0xec, 0xdb, 0xab, + 0x88, 0x28, 0x4a, 0xb9, 0x3c, 0x6a, 0xc5, 0x49, 0x8e, 0x68, 0x4e, 0xc6, 0x97, 0x8e, 0xa4, 0x9d, 0x34, 0xe3, 0x4a, + 0x4d, 0x6f, 0x8f, 0xdf, 0x65, 0x10, 0xe9, 0x57, 0xe7, 0xb9, 0x15, 0xc7, 0x79, 0x21, 0x0a, 0xca, 0x07, 0xdc, 0x86, + 0x51, 0x8d, 0x56, 0xbe, 0x99, 0xf3, 0x80, 0x76, 0x66, 0x78, 0x38, 0x9d, 0xb5, 0x6f, 0xb6, 0x2d, 0xf8, 0x72, 0x1c, + 0x0e, 0x63, 0xd3, 0xbe, 0x7f, 0xfe, 0xae, 0x7e, 0x6f, 0xc6, 0x87, 0x57, 0xde, 0x49, 0xea, 0x1d, 0x0f, 0x60, 0xea, + 0xda, 0x98, 0xad, 0x73, 0x70, 0x9e, 0xc6, 0xd8, 0x22, 0xfa, 0x5f, 0xda, 0xc6, 0x67, 0xa5, 0x7f, 0x02, 0xee, 0xc1, + 0x9d, 0x64, 0x59, 0xfa, 0xc5, 0x99, 0x46, 0x8b, 0xfc, 0x89, 0xe5, 0x49, 0xad, 0x1e, 0x74, 0x5c, 0x9a, 0x5c, 0xbc, + 0x42, 0xba, 0x3c, 0x4b, 0xbf, 0x9c, 0x2d, 0xf4, 0x8f, 0xd3, 0x55, 0x00, 0xff, 0x8f, 0x73, 0xa4, 0xb8, 0x3f, 0xa6, + 0xd9, 0x8b, 0x74, 0xe3, 0xfb, 0xb3, 0x9b, 0xd5, 0xeb, 0x82, 0x3d, 0x3a, 0x4f, 0xb6, 0x6c, 0x5d, 0x0b, 0xad, 0xa9, + 0x1b, 0x17, 0xd4, 0x9d, 0xdd, 0x66, 0xed, 0x1b, 0xeb, 0x53, 0x6b, 0xe8, 0xbb, 0x98, 0x48, 0x3f, 0x7f, 0x44, 0x3f, + 0x5d, 0x7b, 0x8a, 0x0b, 0xc3, 0x7e, 0xa7, 0xba, 0x1e, 0x35, 0x33, 0x9d, 0x0a, 0x12, 0x9a, 0x97, 0x3c, 0xdd, 0x37, + 0x39, 0xaf, 0xe5, 0xf8, 0x72, 0xf4, 0x34, 0xa2, 0xa6, 0x7d, 0x47, 0x19, 0xdd, 0x4b, 0x82, 0x31, 0xea, 0x2a, 0x35, + 0x30, 0xfa, 0xe2, 0x55, 0x05, 0x06, 0x01, 0xaa, 0xf3, 0xfa, 0x40, 0x8a, 0xc0, 0xe0, 0xc3, 0x21, 0x8f, 0xe5, 0x06, + 0x03, 0x27, 0x4b, 0xeb, 0x20, 0xf5, 0xf2, 0x20, 0x1c, 0xa9, 0xea, 0xe2, 0x6d, 0x26, 0xa0, 0xc0, 0xeb, 0xa9, 0xfe, + 0x1b, 0xdd, 0x9c, 0x1b, 0xe7, 0x69, 0xc6, 0x87, 0x73, 0x43, 0xe9, 0x52, 0x71, 0xf1, 0xda, 0xae, 0x62, 0x1c, 0x16, + 0xd5, 0x56, 0x25, 0x53, 0x32, 0x65, 0x0e, 0x13, 0xf3, 0x33, 0x41, 0x7a, 0xde, 0xa8, 0x43, 0xee, 0x97, 0x4f, 0xf2, + 0x9a, 0x2e, 0x71, 0x65, 0x92, 0x8d, 0x42, 0xf8, 0x3f, 0x34, 0x55, 0x6b, 0x0e, 0xa4, 0x46, 0xe0, 0x72, 0x70, 0xb5, + 0x54, 0xde, 0xb6, 0xb4, 0x9f, 0x3f, 0x2e, 0xdf, 0xa7, 0xb7, 0x95, 0x24, 0xf9, 0x2f, 0x4d, 0xd8, 0x98, 0xf3, 0xc9, + 0x28, 0xb4, 0x29, 0xc4, 0x0d, 0x4c, 0x45, 0x3b, 0xc6, 0x4f, 0x0a, 0x2f, 0x08, 0xea, 0xf3, 0x0e, 0x45, 0x03, 0xb0, + 0x79, 0x95, 0x8a, 0xdc, 0x19, 0x68, 0x59, 0xa2, 0x6c, 0xdd, 0xe8, 0x6b, 0xc3, 0xf7, 0x38, 0x78, 0xd5, 0x70, 0xeb, + 0xde, 0xcb, 0xa6, 0x0a, 0x94, 0x4d, 0x5b, 0x59, 0xbc, 0x0a, 0x25, 0xcf, 0xd4, 0x4b, 0x9d, 0x2b, 0x69, 0x17, 0x0e, + 0x7e, 0xa6, 0xe2, 0xe8, 0x57, 0x12, 0x81, 0x5d, 0x39, 0xc8, 0x00, 0xc7, 0xed, 0x36, 0xc7, 0x19, 0x02, 0x11, 0x94, + 0x85, 0x56, 0x20, 0xd4, 0x22, 0x55, 0xa7, 0xbe, 0x33, 0x62, 0x35, 0x01, 0xe4, 0x8a, 0xbd, 0x8b, 0x56, 0xc8, 0x9f, + 0x65, 0x06, 0x3a, 0xb0, 0xa3, 0x3d, 0x37, 0x2e, 0xbe, 0x3e, 0x25, 0xe8, 0xd7, 0x12, 0x7b, 0x67, 0x54, 0xc7, 0xc8, + 0x69, 0x3e, 0x3f, 0x58, 0x26, 0xc6, 0x6d, 0x31, 0xde, 0xb6, 0x91, 0x39, 0x81, 0x29, 0x50, 0x89, 0x99, 0xd6, 0xaa, + 0x65, 0x04, 0x39, 0x4c, 0xb2, 0x13, 0x8f, 0x34, 0x19, 0x2b, 0x96, 0xf7, 0x40, 0x60, 0xce, 0x30, 0x6e, 0xd3, 0x98, + 0x55, 0x2b, 0xa4, 0x60, 0x04, 0xc3, 0xd0, 0xf8, 0x60, 0x31, 0x12, 0xe6, 0x95, 0x80, 0x0c, 0x1c, 0x29, 0x52, 0x10, + 0xdf, 0xed, 0x68, 0x7e, 0x30, 0xa5, 0x47, 0x9c, 0xa8, 0x70, 0x8f, 0xca, 0x29, 0xdd, 0x60, 0xa8, 0xe7, 0x82, 0x05, + 0x4c, 0x31, 0xc5, 0x46, 0x72, 0xa0, 0x32, 0xdc, 0xaa, 0x90, 0xb1, 0x5c, 0xf7, 0xb6, 0x3f, 0xbd, 0x97, 0x34, 0x6c, + 0xfa, 0x4a, 0x48, 0x1a, 0xd4, 0x5a, 0x71, 0xe1, 0x03, 0x76, 0xd1, 0xb3, 0xf7, 0x4d, 0x76, 0xc8, 0x34, 0x91, 0x31, + 0xda, 0x4b, 0xa2, 0x7c, 0x69, 0x7f, 0xac, 0x15, 0x5b, 0x63, 0x80, 0xab, 0xde, 0xe9, 0xfa, 0x84, 0x9c, 0xf2, 0x4e, + 0x8b, 0x82, 0x0c, 0x32, 0x2c, 0x23, 0xfa, 0xf0, 0x9f, 0x2e, 0xf2, 0xcd, 0x58, 0x3f, 0x4b, 0xa8, 0x53, 0x93, 0xd6, + 0x2f, 0x7a, 0xb3, 0xcd, 0xce, 0xc9, 0x6c, 0x01, 0xa0, 0xf0, 0x5f, 0xad, 0x3f, 0xb1, 0x35, 0x22, 0xd4, 0x50, 0x04, + 0x2f, 0x01, 0x57, 0x1c, 0xf0, 0xa8, 0xf6, 0x34, 0x42, 0xe1, 0x20, 0x09, 0x4d, 0x99, 0xb3, 0xdd, 0xdf, 0x10, 0xb4, + 0x71, 0x4d, 0x41, 0x87, 0x3e, 0x85, 0xa6, 0xff, 0xea, 0xb3, 0x5f, 0xa0, 0x5a, 0x45, 0xd1, 0x26, 0x76, 0x4d, 0xb1, + 0x38, 0xa4, 0x70, 0x93, 0x6b, 0x87, 0x77, 0x89, 0x10, 0xe0, 0xec, 0x5f, 0xcc, 0x29, 0x4e, 0x16, 0xd6, 0x9d, 0x4d, + 0x08, 0x96, 0x0a, 0x46, 0x52, 0xa2, 0x43, 0x19, 0x73, 0x9d, 0x39, 0x1e, 0x56, 0xe3, 0x97, 0x2e, 0xe8, 0xe1, 0x10, + 0x5e, 0xc7, 0xf8, 0xfc, 0xe1, 0x79, 0xc7, 0x3b, 0x56, 0x68, 0x99, 0xb5, 0x84, 0x29, 0xa4, 0x87, 0x7c, 0x0f, 0x83, + 0xca, 0x63, 0xcf, 0x05, 0xd3, 0xea, 0xfe, 0xa1, 0x54, 0x68, 0xe7, 0x39, 0xa8, 0xa9, 0x17, 0xc0, 0xc4, 0xc2, 0x4d, + 0x29, 0x0d, 0xbb, 0x92, 0x40, 0x6a, 0x53, 0x04, 0x30, 0xfe, 0xe4, 0x13, 0x22, 0x1e, 0xc4, 0x41, 0xa9, 0x96, 0xd0, + 0xf1, 0xe6, 0x68, 0xa3, 0x56, 0x77, 0xb1, 0x30, 0xbe, 0x05, 0x2b, 0x80, 0xb6, 0xc4, 0x86, 0xe1, 0x61, 0xf1, 0xa9, + 0x94, 0x37, 0x21, 0x01, 0xb5, 0xab, 0x20, 0x85, 0x95, 0x83, 0xb5, 0x1f, 0x4c, 0x80, 0xaa, 0x5d, 0x93, 0x28, 0xfd, + 0xb6, 0x52, 0x44, 0x0a, 0x8b, 0x42, 0x35, 0x8f, 0xec, 0xde, 0x96, 0x75, 0xda, 0x50, 0x35, 0x4f, 0x91, 0x2e, 0x95, + 0xda, 0x2e, 0x71, 0x6d, 0xff, 0xa7, 0x99, 0x42, 0xe6, 0x3e, 0x3b, 0x61, 0xf5, 0xb6, 0xf6, 0x14, 0xea, 0x64, 0x54, + 0x4f, 0xf1, 0xf2, 0x51, 0xb5, 0xc2, 0xdf, 0x56, 0xe6, 0xa0, 0x01, 0x0f, 0xc6, 0x45, 0xfa, 0x67, 0xef, 0xc3, 0x35, + 0xe4, 0x9e, 0xbc, 0x6f, 0x55, 0xa1, 0x48, 0x8e, 0x07, 0x33, 0xec, 0x2f, 0x3a, 0x81, 0xe3, 0x09, 0xdb, 0x36, 0x09, + 0x58, 0xeb, 0xf8, 0x1e, 0x49, 0x41, 0x8a, 0xfc, 0x36, 0xd6, 0x86, 0xc4, 0xdc, 0xf0, 0xa3, 0x44, 0x71, 0x4b, 0x29, + 0x5d, 0x25, 0x4f, 0x4e, 0x6d, 0xbb, 0x82, 0x52, 0x13, 0x47, 0xe0, 0xd8, 0xfa, 0xca, 0x11, 0xff, 0x6c, 0xfb, 0x6a, + 0x97, 0x2b, 0x89, 0x43, 0xb1, 0xc8, 0x4f, 0x75, 0x3f, 0x29, 0x0f, 0x93, 0x01, 0xac, 0x26, 0xd4, 0x19, 0x0b, 0x47, + 0x95, 0x24, 0x80, 0xc0, 0x04, 0xa8, 0x25, 0x3c, 0x17, 0x6a, 0x91, 0xdb, 0x30, 0xa9, 0xd9, 0x56, 0xce, 0x55, 0xfb, + 0x64, 0x6b, 0x6a, 0xcd, 0xc0, 0xcd, 0xc5, 0xc6, 0x71, 0x75, 0x67, 0x07, 0xb2, 0xd2, 0x43, 0x02, 0x9d, 0x7b, 0x53, + 0x62, 0x41, 0x53, 0xe0, 0xc3, 0xd1, 0xee, 0xbe, 0x03, 0x10, 0x45, 0x23, 0x46, 0xff, 0x59, 0xc1, 0xe4, 0xa4, 0xdf, + 0xe8, 0x06, 0x7c, 0x4b, 0x95, 0x79, 0x41, 0xd9, 0xe0, 0x72, 0x77, 0x7e, 0x63, 0xd5, 0x03, 0xcf, 0x4c, 0x98, 0x93, + 0x72, 0xed, 0xc1, 0x46, 0x66, 0x89, 0x9a, 0x70, 0xfd, 0x7f, 0x35, 0xd7, 0x90, 0x1c, 0x80, 0x5c, 0x8c, 0x7d, 0xab, + 0xac, 0xc0, 0xd5, 0x2c, 0x74, 0x40, 0x61, 0x1f, 0x0c, 0x9c, 0x0a, 0x1b, 0x76, 0x03, 0x6e, 0x7e, 0x90, 0xa6, 0x95, + 0xef, 0x12, 0xe8, 0xfe, 0xa7, 0x58, 0x63, 0xdf, 0xbb, 0x25, 0x6b, 0xd8, 0xe8, 0x4d, 0x41, 0xd3, 0xe8, 0x5e, 0x33, + 0x59, 0xd3, 0xd9, 0xca, 0x0c, 0x55, 0x23, 0xaf, 0xd6, 0x8f, 0x45, 0xdc, 0x1a, 0x9e, 0x9f, 0xc9, 0x79, 0xbd, 0x8f, + 0xe9, 0xa5, 0x6e, 0x3c, 0xf6, 0x45, 0xdd, 0xe1, 0xab, 0x1b, 0xd1, 0x86, 0xb3, 0xa2, 0x88, 0x9d, 0x0f, 0xeb, 0x9e, + 0x8a, 0xb4, 0x5b, 0x47, 0xbb, 0x78, 0x5b, 0x30, 0xa7, 0x64, 0x54, 0x67, 0xd0, 0x14, 0xba, 0x0a, 0xc7, 0xba, 0x7e, + 0xbe, 0xb8, 0x02, 0xeb, 0x8e, 0x96, 0x55, 0x82, 0x37, 0x26, 0x5d, 0xd4, 0x61, 0xd7, 0xf7, 0x8c, 0x0f, 0x89, 0xaa, + 0x8f, 0x46, 0xeb, 0x34, 0xf7, 0x05, 0x34, 0xa0, 0xe5, 0x0b, 0x3a, 0xb4, 0x21, 0xab, 0xd1, 0x5d, 0x69, 0xf2, 0xa4, + 0x56, 0xd5, 0x6f, 0x79, 0x0c, 0xde, 0xb1, 0x7c, 0x35, 0x56, 0x9d, 0x8e, 0x7f, 0x19, 0xbe, 0xbc, 0xac, 0xee, 0x90, + 0xf4, 0xb9, 0x97, 0x01, 0x60, 0xda, 0xe6, 0x93, 0x41, 0xbf, 0x2f, 0x02, 0x91, 0x91, 0xdf, 0x62, 0x3c, 0x7b, 0x29, + 0x4b, 0x00, 0x1d, 0x57, 0x05, 0xbd, 0x33, 0x4d, 0x7a, 0x79, 0x4f, 0x24, 0xe2, 0xc6, 0xc0, 0x78, 0x83, 0x42, 0x15, + 0x52, 0xef, 0x34, 0x81, 0xb8, 0x47, 0x1d, 0x13, 0xe9, 0x45, 0xd5, 0xf7, 0xab, 0x04, 0x07, 0xcf, 0xa2, 0xd5, 0x6e, + 0xff, 0xb3, 0x68, 0x0a, 0xe4, 0xc4, 0xc1, 0x44, 0x5d, 0xe1, 0x84, 0xc7, 0x3f, 0x9e, 0x68, 0xbf, 0x64, 0x47, 0xaa, + 0xe9, 0x30, 0x5f, 0xc5, 0x57, 0x76, 0xaa, 0x5a, 0xf1, 0xcb, 0xbc, 0xef, 0x67, 0x8b, 0xb4, 0xf1, 0x32, 0xd2, 0xab, + 0xd9, 0x5e, 0xed, 0x6c, 0xa2, 0xba, 0x53, 0x58, 0x1e, 0x35, 0x59, 0x51, 0x1d, 0x13, 0xab, 0x56, 0x5f, 0x1d, 0x7a, + 0xe5, 0xed, 0x65, 0xf6, 0x9b, 0x25, 0x61, 0xe6, 0xec, 0x69, 0xe1, 0xde, 0xec, 0x6c, 0xc9, 0x83, 0xee, 0xe7, 0xe0, + 0xbf, 0xc7, 0x46, 0x8a, 0x2d, 0x53, 0xbb, 0x28, 0x47, 0x02, 0x00, 0x0e, 0x12, 0xbf, 0x3a, 0xbd, 0xf9, 0x7b, 0x2d, + 0x2a, 0x75, 0xb3, 0xda, 0x69, 0x71, 0xe9, 0x1f, 0x23, 0x4a, 0x4b, 0xe3, 0x38, 0xe5, 0x08, 0xa2, 0x71, 0x6d, 0x7e, + 0xc1, 0x24, 0x73, 0xdf, 0x62, 0xb5, 0x12, 0x6b, 0xc9, 0x09, 0x14, 0x18, 0xb9, 0xd7, 0x35, 0xcf, 0x5d, 0xab, 0x53, + 0x58, 0xa6, 0xb6, 0xe6, 0xb0, 0xb5, 0xc3, 0xbe, 0x83, 0xaa, 0xaf, 0xa9, 0xc3, 0x55, 0x16, 0xbe, 0xad, 0x78, 0x21, + 0x5f, 0x4a, 0x79, 0x72, 0xea, 0xe6, 0x8d, 0x60, 0x29, 0x3e, 0x0a, 0x54, 0x73, 0x46, 0xf0, 0xa2, 0x56, 0x5f, 0x59, + 0xc4, 0x4a, 0x7e, 0x28, 0x09, 0xbd, 0xd8, 0x3d, 0x17, 0xd9, 0x80, 0xab, 0xb2, 0xfe, 0xbe, 0xfa, 0xdc, 0x23, 0x95, + 0x7d, 0x74, 0x61, 0x95, 0xda, 0x8e, 0x63, 0x6e, 0xa3, 0xa6, 0x2a, 0x78, 0xf3, 0xde, 0x35, 0xd8, 0x35, 0xb0, 0x3c, + 0x19, 0xcb, 0x25, 0x46, 0x06, 0x3e, 0xd6, 0xd6, 0x53, 0x7d, 0x65, 0x5e, 0x3d, 0x5a, 0xc9, 0x58, 0x48, 0xca, 0x2b, + 0x04, 0xa2, 0xd7, 0x7f, 0x96, 0x2b, 0x35, 0xac, 0xd5, 0xd9, 0x0a, 0x25, 0x1a, 0x31, 0xda, 0xbb, 0x54, 0x4e, 0x76, + 0x4d, 0x8f, 0x8c, 0xe9, 0xf3, 0xee, 0x47, 0xd5, 0xd2, 0x92, 0xd9, 0x86, 0x16, 0xff, 0x54, 0x64, 0x2c, 0xa9, 0x88, + 0x6d, 0xc5, 0x16, 0x7b, 0x16, 0x77, 0x01, 0x4c, 0x3e, 0x5d, 0x30, 0x77, 0x9f, 0x50, 0x0e, 0xc6, 0xea, 0x57, 0xaa, + 0x2a, 0x37, 0x3e, 0x4f, 0xbc, 0xbe, 0x6f, 0x60, 0x26, 0x91, 0x45, 0x1e, 0x05, 0x36, 0x2b, 0xeb, 0x69, 0x4f, 0x6f, + 0x73, 0x52, 0xa3, 0x5f, 0x18, 0x85, 0x56, 0x79, 0xc0, 0xe7, 0x9a, 0x79, 0xf2, 0xe6, 0x7d, 0xa7, 0x1b, 0x41, 0x86, + 0xa3, 0x8d, 0xb4, 0x41, 0xdb, 0x6d, 0x48, 0x7a, 0x8b, 0xf8, 0x0f, 0x29, 0xd3, 0x5f, 0x94, 0xf9, 0xea, 0xfb, 0xe1, + 0x7c, 0x5d, 0x4e, 0x50, 0x35, 0x7b, 0xc0, 0xe1, 0xd1, 0x58, 0x02, 0x2c, 0x20, 0x8e, 0x3e, 0x12, 0xb2, 0xb6, 0x26, + 0x28, 0x27, 0x3c, 0x52, 0xe5, 0x6c, 0x94, 0x77, 0x26, 0x7a, 0x42, 0xab, 0xca, 0xd9, 0x00, 0x5b, 0xd0, 0x8d, 0x5d, + 0xf2, 0x6d, 0x2c, 0x3c, 0x5d, 0xee, 0x77, 0x8e, 0xed, 0x81, 0x2b, 0xd7, 0x5c, 0xc0, 0x17, 0xde, 0x03, 0x77, 0xa1, + 0x5a, 0x40, 0x6b, 0x10, 0xff, 0x51, 0x54, 0xd9, 0xdd, 0xe6, 0xdc, 0x48, 0x24, 0x59, 0x28, 0x13, 0x2a, 0x6b, 0xf1, + 0x73, 0x83, 0x9c, 0xeb, 0x71, 0xe0, 0x1c, 0x29, 0x01, 0x82, 0x63, 0xc4, 0x24, 0xf6, 0xa6, 0x34, 0x54, 0x70, 0x8e, + 0x3e, 0x79, 0x2d, 0xbf, 0x60, 0xca, 0xd0, 0x05, 0x3a, 0x3d, 0xcf, 0x42, 0xc1, 0x7e, 0x60, 0x5d, 0x38, 0x3a, 0x69, + 0x39, 0xeb, 0x9f, 0x1d, 0x18, 0x01, 0xf2, 0x58, 0x79, 0x99, 0x24, 0x6c, 0x2d, 0x5a, 0xbd, 0xc9, 0xfb, 0x71, 0xa5, + 0x10, 0x2d, 0x16, 0xa8, 0xba, 0xfd, 0x02, 0x17, 0xa7, 0x25, 0x95, 0xac, 0x14, 0xb7, 0x0a, 0x15, 0x88, 0xd6, 0x9b, + 0x50, 0xf5, 0x3a, 0x7d, 0x6d, 0xdb, 0x51, 0x79, 0x69, 0x28, 0x36, 0x31, 0x04, 0x86, 0x58, 0x1f, 0x7e, 0xaa, 0xb6, + 0xe1, 0xb6, 0xb3, 0x2e, 0xee, 0x73, 0xdb, 0x7e, 0x0d, 0x5f, 0x8f, 0xc4, 0x9b, 0xca, 0xdb, 0xa6, 0x78, 0x58, 0x20, + 0xe2, 0x44, 0xd7, 0x6b, 0x0d, 0x9b, 0x93, 0x4f, 0x7f, 0x55, 0xa7, 0x4c, 0x8e, 0xe8, 0x63, 0x0f, 0x21, 0xe6, 0x42, + 0x44, 0x85, 0x48, 0xbf, 0x6f, 0x47, 0xe7, 0xca, 0x3d, 0x23, 0x44, 0xe7, 0xd8, 0x88, 0x75, 0x6c, 0x27, 0x81, 0xa7, + 0xb6, 0x14, 0xc4, 0x09, 0xdc, 0x7d, 0x27, 0x16, 0x7c, 0xf2, 0x85, 0x34, 0xe7, 0xe1, 0xf9, 0xcb, 0xdf, 0xfe, 0x4a, + 0x56, 0xea, 0xb9, 0xee, 0x2c, 0xba, 0xa6, 0xbb, 0xa4, 0x52, 0x97, 0xcf, 0x71, 0x17, 0xb3, 0xf0, 0x26, 0x6b, 0xff, + 0x7a, 0x78, 0x4b, 0x37, 0x6d, 0x48, 0x91, 0x4c, 0x51, 0xee, 0xfe, 0x4d, 0x3c, 0x35, 0x22, 0xc3, 0x5f, 0xf0, 0x8c, + 0xb1, 0xee, 0xcb, 0xaa, 0xf9, 0x60, 0xac, 0x04, 0xec, 0x3d, 0x27, 0x23, 0x73, 0x51, 0x70, 0xa3, 0x28, 0x44, 0x2b, + 0xd6, 0x83, 0xed, 0x40, 0x53, 0xf9, 0x80, 0xf1, 0x0f, 0x53, 0x6a, 0xb9, 0x8b, 0xcd, 0xf5, 0xfd, 0xd8, 0xf4, 0x38, + 0x26, 0x25, 0x23, 0x9d, 0x39, 0x1a, 0xa8, 0x15, 0xd8, 0xf6, 0x58, 0x7e, 0x39, 0x44, 0xe7, 0xb4, 0x2d, 0xb0, 0x4d, + 0xcb, 0xc7, 0x37, 0x87, 0x6c, 0x2e, 0x5f, 0x9a, 0xf1, 0x5e, 0xba, 0x79, 0xf2, 0x62, 0x99, 0xde, 0x0a, 0x7b, 0xc2, + 0x40, 0x14, 0x51, 0x05, 0x9d, 0x84, 0x22, 0xec, 0xb4, 0x5b, 0x7b, 0x82, 0x94, 0x16, 0x83, 0xf0, 0x13, 0x5c, 0x9f, + 0xb4, 0xaf, 0x45, 0x6d, 0x6a, 0x1d, 0x35, 0x41, 0xed, 0x72, 0x9e, 0x06, 0x48, 0x47, 0xc5, 0x73, 0x0b, 0xa1, 0xcf, + 0x28, 0xd0, 0x16, 0x34, 0x59, 0x29, 0xd2, 0x08, 0x43, 0x91, 0x73, 0x63, 0xaa, 0x26, 0x73, 0xb1, 0x5c, 0xf8, 0xb3, + 0x46, 0x9b, 0x34, 0xc4, 0x24, 0xe4, 0xda, 0x96, 0x5d, 0xe6, 0xeb, 0x04, 0xeb, 0x2b, 0x6b, 0x7f, 0x3d, 0xf9, 0x5b, + 0x41, 0x32, 0x05, 0xec, 0x47, 0x16, 0xaf, 0xdb, 0x97, 0xb8, 0x02, 0xde, 0xd4, 0x40, 0x51, 0x03, 0xca, 0xac, 0x3a, + 0xad, 0xdb, 0xf0, 0x80, 0x32, 0xfb, 0xcd, 0x40, 0x95, 0x9a, 0x5c, 0x59, 0xc5, 0xb7, 0xba, 0x8d, 0xb8, 0x5e, 0xb2, + 0x81, 0xb4, 0xf1, 0x76, 0xca, 0xad, 0xd3, 0x54, 0xb9, 0x12, 0xe7, 0x41, 0x25, 0xa9, 0x71, 0x0f, 0x30, 0x98, 0xe6, + 0xe9, 0x3b, 0x34, 0xe6, 0xdf, 0x8a, 0x83, 0x49, 0x5f, 0x18, 0x24, 0xab, 0xb4, 0x63, 0x01, 0x20, 0x40, 0xb7, 0x5d, + 0x72, 0xd3, 0xe4, 0x08, 0x46, 0xe4, 0x1f, 0xd0, 0xbb, 0xe0, 0x88, 0xec, 0x1d, 0xd8, 0x9d, 0xe9, 0xc3, 0xc0, 0xcc, + 0xbb, 0x9a, 0x92, 0x5d, 0x8a, 0xc2, 0x37, 0xd1, 0x37, 0xdb, 0xc5, 0x4a, 0x00, 0xdc, 0x30, 0xbb, 0xcc, 0x17, 0xaa, + 0x4c, 0xe6, 0x62, 0xab, 0xf2, 0x90, 0x9b, 0xa9, 0x4c, 0x71, 0x55, 0x13, 0x3c, 0x08, 0x82, 0x80, 0x82, 0xbc, 0x81, + 0x5c, 0xc7, 0x17, 0x0d, 0x20, 0xe8, 0x41, 0x58, 0x0c, 0x13, 0xcf, 0x8d, 0xb2, 0xbb, 0x3e, 0xaa, 0x98, 0xc2, 0xf8, + 0x54, 0x4a, 0x72, 0x72, 0xee, 0xf5, 0xc9, 0x64, 0xd8, 0x6a, 0x36, 0xec, 0xe4, 0x24, 0x21, 0xb4, 0x24, 0xb6, 0x90, + 0x53, 0xea, 0xf6, 0xae, 0x0e, 0xbd, 0x3c, 0x96, 0x05, 0x8c, 0xb6, 0x11, 0xac, 0x3b, 0x1c, 0xed, 0x3d, 0x25, 0xc2, + 0x8b, 0x65, 0x63, 0xbe, 0x13, 0xf1, 0x45, 0xaa, 0x8f, 0x81, 0x06, 0xcc, 0x9b, 0x3f, 0x07, 0xb2, 0x9a, 0xe0, 0x6f, + 0xc2, 0x8b, 0x65, 0x71, 0x9f, 0x39, 0x21, 0x2a, 0x36, 0x8b, 0xfb, 0x67, 0x1b, 0x14, 0x98, 0xae, 0x09, 0xdd, 0x40, + 0xaa, 0x81, 0x45, 0xc3, 0x1d, 0x3d, 0x58, 0xb4, 0x3f, 0xa2, 0xab, 0x62, 0x59, 0x61, 0xf4, 0xe8, 0xc1, 0x51, 0x3d, + 0x95, 0x1d, 0x4b, 0x6b, 0xa4, 0x39, 0xe2, 0x37, 0xcf, 0x11, 0x2d, 0xea, 0x36, 0xc6, 0x44, 0x63, 0x69, 0xe6, 0x1f, + 0x44, 0x79, 0xb4, 0xaf, 0x41, 0xd8, 0x3f, 0x83, 0x4d, 0xe2, 0x63, 0xc6, 0x20, 0x6f, 0x8e, 0x06, 0xf6, 0x72, 0x40, + 0x1d, 0x07, 0xcb, 0x93, 0x92, 0x82, 0x9b, 0x8b, 0x95, 0x2a, 0xcd, 0x32, 0x8a, 0x3d, 0xaf, 0x13, 0x59, 0xcb, 0x1e, + 0xe1, 0x24, 0x23, 0x26, 0xfa, 0x3c, 0x50, 0x90, 0x77, 0x5a, 0x2f, 0xff, 0xd3, 0x0a, 0xcc, 0x3a, 0x74, 0x32, 0xd6, + 0x64, 0x94, 0x2c, 0x84, 0x08, 0x6d, 0x08, 0xb7, 0x36, 0x24, 0xd7, 0x22, 0xb4, 0x1d, 0x99, 0x43, 0x1f, 0xe6, 0x4b, + 0xc1, 0x19, 0x5e, 0x82, 0x9e, 0x76, 0xb9, 0x7d, 0x71, 0xfa, 0xcd, 0x85, 0x72, 0x67, 0x83, 0x83, 0x08, 0xa4, 0xe8, + 0x5c, 0x9f, 0x1e, 0x8a, 0x17, 0x85, 0x83, 0x88, 0xb8, 0x39, 0xbc, 0x1e, 0xac, 0x3e, 0x26, 0x74, 0x56, 0x75, 0x4f, + 0x7b, 0xff, 0x85, 0x0b, 0xdf, 0xb5, 0xb5, 0x22, 0x8a, 0xd3, 0x1b, 0xb6, 0x1e, 0xa5, 0x79, 0x26, 0xad, 0x1e, 0xbb, + 0x62, 0xe0, 0x51, 0xa6, 0x22, 0xc7, 0x6f, 0xd6, 0x63, 0x8c, 0x6d, 0x08, 0x28, 0x43, 0xaa, 0xb7, 0x18, 0x02, 0x20, + 0x63, 0x9e, 0x8e, 0xfd, 0x71, 0xce, 0x26, 0xc8, 0x7b, 0x8d, 0x31, 0x17, 0xf1, 0x76, 0xed, 0x4f, 0xe0, 0xa1, 0x50, + 0x36, 0x12, 0xd7, 0xf2, 0x28, 0xc5, 0xb9, 0x07, 0x15, 0x9f, 0x46, 0xc4, 0xd6, 0x61, 0xea, 0x7c, 0x42, 0x18, 0xb2, + 0x07, 0x31, 0x66, 0x17, 0x26, 0x74, 0x7a, 0x89, 0xbe, 0x32, 0xbd, 0x0d, 0xa8, 0xbe, 0x15, 0x5b, 0x24, 0x9a, 0x97, + 0x44, 0xa2, 0xe8, 0xec, 0x84, 0xd8, 0x6c, 0x45, 0x8e, 0x1a, 0xab, 0xbd, 0x83, 0xc1, 0xe5, 0x33, 0x4e, 0x6b, 0xeb, + 0x0a, 0x30, 0xf9, 0x63, 0x98, 0x0a, 0x06, 0x9c, 0x1b, 0x4e, 0x2c, 0x79, 0x37, 0xa2, 0x1f, 0x7d, 0x20, 0xe3, 0xb7, + 0xd2, 0x22, 0xd8, 0xa3, 0x81, 0x18, 0xa9, 0x8a, 0x61, 0x05, 0xd3, 0x47, 0x21, 0xc1, 0x53, 0x17, 0x8e, 0xaa, 0x3a, + 0xf4, 0x0b, 0x22, 0xaa, 0x9d, 0x0b, 0xbb, 0x56, 0x0c, 0x98, 0x68, 0xcc, 0x1c, 0x1a, 0x2d, 0x5c, 0xc0, 0xf3, 0x74, + 0xfc, 0x7e, 0xe2, 0x7e, 0x76, 0xfe, 0xa0, 0x19, 0xf4, 0xbf, 0x26, 0xa3, 0xce, 0xf1, 0xd3, 0xfb, 0xdb, 0xf6, 0x69, + 0xbf, 0xb6, 0x33, 0xf7, 0x07, 0xea, 0xfb, 0x4f, 0xfc, 0xcb, 0x24, 0x80, 0xfc, 0x52, 0xc7, 0x6e, 0xc3, 0xf5, 0x53, + 0xe2, 0x35, 0x78, 0xb8, 0x7e, 0x72, 0x89, 0x50, 0xef, 0x00, 0xed, 0x8d, 0x4a, 0xdb, 0x86, 0x4b, 0x4c, 0xe2, 0x91, + 0xf2, 0x64, 0x35, 0x56, 0x64, 0x49, 0xad, 0x60, 0x65, 0x92, 0x6f, 0xe4, 0xae, 0xcf, 0x2e, 0xc1, 0x3d, 0xbe, 0x15, + 0xd9, 0x53, 0xae, 0x3e, 0x00, 0x17, 0xa5, 0xf3, 0x57, 0xcc, 0x3b, 0xff, 0x13, 0x55, 0xd6, 0x1d, 0xd4, 0x0c, 0xb5, + 0x96, 0x44, 0xad, 0x9a, 0x59, 0x5d, 0xb0, 0xb7, 0x04, 0xb4, 0xa6, 0x56, 0x1f, 0xca, 0xcd, 0x21, 0x7f, 0x6c, 0xb1, + 0x2e, 0x8c, 0x13, 0x4d, 0x93, 0x01, 0x79, 0x6a, 0x7e, 0xe9, 0x12, 0x43, 0x92, 0x41, 0xfd, 0xbf, 0xbe, 0x7b, 0x77, + 0x74, 0xd0, 0x4c, 0x5a, 0xde, 0x85, 0x3d, 0xde, 0xab, 0xa2, 0x62, 0x49, 0xe7, 0x1b, 0x7d, 0x7c, 0x90, 0x3c, 0xc9, + 0xc3, 0xf6, 0x79, 0xea, 0xcf, 0x0e, 0xfc, 0xd8, 0x80, 0xbe, 0xe3, 0x6d, 0xd3, 0x8e, 0xd2, 0xc7, 0x21, 0x04, 0x2c, + 0xd5, 0x2e, 0x68, 0x56, 0xc3, 0x23, 0x34, 0x58, 0xb7, 0x49, 0x55, 0x38, 0x8a, 0xa7, 0x1c, 0x1f, 0xfe, 0x03, 0xd0, + 0x41, 0x02, 0x3c, 0x6a, 0x2e, 0xcb, 0xc3, 0xb4, 0x03, 0x6b, 0x23, 0x6c, 0xf7, 0x26, 0x44, 0x2f, 0x16, 0x47, 0x6b, + 0xa7, 0x36, 0x61, 0x11, 0x69, 0xbc, 0x2b, 0x09, 0x5d, 0xdd, 0x07, 0xbd, 0x1e, 0x75, 0x9a, 0x35, 0x09, 0xa1, 0x9d, + 0x6c, 0xeb, 0xb8, 0x7a, 0xd0, 0xab, 0xac, 0xcf, 0x5f, 0x30, 0xfd, 0x58, 0xdf, 0xe3, 0x23, 0x86, 0xf5, 0x1b, 0xde, + 0x1f, 0x5c, 0x4a, 0x70, 0xb1, 0x69, 0xec, 0x7c, 0x33, 0x27, 0x0e, 0xbb, 0x59, 0x0a, 0x0b, 0x09, 0xa6, 0x97, 0x48, + 0x1b, 0xc6, 0x6a, 0x70, 0x7c, 0x11, 0x1f, 0xeb, 0xf9, 0x62, 0x40, 0x20, 0x52, 0xd9, 0x29, 0xf2, 0xc2, 0x00, 0x13, + 0xf5, 0xed, 0xcd, 0x87, 0xd4, 0xff, 0x10, 0xdf, 0xec, 0x03, 0xa9, 0x93, 0xe4, 0xd1, 0x8b, 0x45, 0x51, 0x24, 0x54, + 0xf4, 0x14, 0xff, 0xe2, 0x10, 0xca, 0xf0, 0x32, 0xd1, 0xd9, 0xa4, 0xe8, 0xf6, 0xce, 0x2d, 0x5f, 0x24, 0xbc, 0x71, + 0xe5, 0x72, 0xe9, 0x61, 0x60, 0xda, 0x02, 0x36, 0x50, 0x41, 0xc6, 0x31, 0x4b, 0xf1, 0x63, 0xe4, 0x2a, 0x43, 0x94, + 0xdd, 0xea, 0x31, 0xd4, 0x70, 0x11, 0x98, 0x3b, 0x94, 0x49, 0xc2, 0x68, 0xa1, 0x9e, 0xdb, 0xc0, 0xd3, 0x73, 0x66, + 0xe7, 0xe9, 0xdc, 0xde, 0xab, 0x62, 0xc7, 0x84, 0x89, 0x0c, 0x8a, 0xe8, 0xb1, 0xc2, 0x86, 0x5a, 0xcd, 0x97, 0x99, + 0x53, 0x6c, 0x7a, 0xe4, 0x0f, 0x43, 0x2d, 0x37, 0xe9, 0x96, 0x1d, 0xbd, 0xd2, 0x47, 0xfd, 0xd1, 0xa2, 0x13, 0x0c, + 0xd1, 0xe2, 0xee, 0xac, 0x8d, 0x72, 0xc4, 0x28, 0x6c, 0xde, 0x17, 0x80, 0xd9, 0xb7, 0x6e, 0x4b, 0xba, 0xfa, 0xc4, + 0xd5, 0xf7, 0xc2, 0xdc, 0xf3, 0x00, 0x62, 0x24, 0xcf, 0xe5, 0xc8, 0x45, 0x91, 0x03, 0x92, 0xbc, 0xab, 0x23, 0x2d, + 0x91, 0x8a, 0x10, 0x4e, 0x67, 0x1c, 0x0c, 0x8b, 0xd3, 0xb9, 0x6a, 0xea, 0xbb, 0x2c, 0x10, 0x09, 0x65, 0xb2, 0x9f, + 0xa2, 0x67, 0x7b, 0xa3, 0x71, 0x47, 0x87, 0xb5, 0x76, 0xeb, 0x20, 0x14, 0xae, 0x4c, 0xb5, 0x99, 0x70, 0xf7, 0x8c, + 0xfe, 0xeb, 0x8d, 0x97, 0x14, 0xab, 0x8e, 0x7b, 0xef, 0x53, 0x7d, 0xf9, 0x6b, 0x5e, 0x00, 0xf5, 0xfb, 0x81, 0xb3, + 0x21, 0x7f, 0xcb, 0x7d, 0xb0, 0x98, 0x32, 0x40, 0x80, 0x8f, 0x68, 0x86, 0x3a, 0xed, 0xab, 0xd9, 0x8d, 0x6f, 0x88, + 0xd9, 0xb3, 0xda, 0xd0, 0x77, 0x7e, 0xf8, 0xae, 0xae, 0xa0, 0xc1, 0x45, 0x65, 0xf4, 0x7f, 0x9e, 0x2a, 0x20, 0x98, + 0x0a, 0xfe, 0x3e, 0x6e, 0x87, 0xe3, 0x5b, 0xf0, 0x1c, 0x46, 0x7d, 0x1c, 0x69, 0xa2, 0x7b, 0x27, 0xee, 0x52, 0xaf, + 0x32, 0x4d, 0x32, 0xaf, 0x68, 0x97, 0x35, 0x2e, 0x58, 0xd6, 0x35, 0x5d, 0x5b, 0x76, 0xb0, 0x66, 0x5f, 0x02, 0x20, + 0x23, 0xdb, 0x9b, 0xaa, 0xa6, 0xf0, 0xeb, 0x4b, 0xb1, 0x08, 0x24, 0xf0, 0x9d, 0xb2, 0xbf, 0xba, 0x76, 0x7d, 0xd3, + 0xae, 0x16, 0xf1, 0xc1, 0xc0, 0x81, 0x50, 0xae, 0xf3, 0x86, 0x7b, 0x59, 0xa1, 0xcd, 0xf3, 0x25, 0xe7, 0xc6, 0xcb, + 0x88, 0x4a, 0x43, 0x21, 0x89, 0xda, 0x40, 0x9f, 0x8e, 0x3d, 0x0d, 0x10, 0x1e, 0x12, 0x4b, 0x1d, 0x64, 0x65, 0xfa, + 0x47, 0xd2, 0xde, 0x9b, 0x1b, 0xc3, 0xeb, 0xe1, 0x16, 0x97, 0x19, 0x45, 0x14, 0x76, 0x0c, 0x3c, 0x72, 0x2b, 0x56, + 0x7b, 0xb7, 0xfe, 0xe1, 0xc1, 0xd3, 0xbb, 0xab, 0x8f, 0x9f, 0x16, 0xb7, 0x43, 0xaa, 0xd5, 0x4f, 0xa7, 0xd6, 0xb2, + 0xe6, 0x93, 0x76, 0x98, 0xf7, 0x8e, 0x15, 0xbb, 0x84, 0x13, 0x69, 0x07, 0x31, 0x56, 0x6e, 0x26, 0x55, 0xa7, 0x09, + 0x70, 0x20, 0x35, 0x75, 0x9f, 0x3d, 0x73, 0xcd, 0x94, 0x3c, 0x36, 0xe8, 0x25, 0x51, 0x57, 0xa5, 0x11, 0x58, 0xa6, + 0xfd, 0xe3, 0xf1, 0xd2, 0x4b, 0x3d, 0x4d, 0xb0, 0x89, 0x6e, 0x18, 0x88, 0xc3, 0xdf, 0xb1, 0xc1, 0xaf, 0x67, 0xf7, + 0x64, 0x49, 0xa0, 0x70, 0x69, 0xeb, 0x86, 0x32, 0x0d, 0xda, 0x52, 0x21, 0x38, 0x2e, 0x5e, 0xdc, 0x2a, 0xc6, 0x93, + 0xac, 0xa9, 0x16, 0xc5, 0x43, 0x24, 0x1a, 0x70, 0x19, 0x5b, 0xca, 0x4d, 0xbe, 0x8d, 0x01, 0x0e, 0xd2, 0x11, 0xca, + 0xf5, 0xb2, 0x0a, 0xb0, 0xdb, 0xf0, 0xd7, 0xe3, 0x69, 0x1e, 0x80, 0x98, 0x1e, 0x1b, 0xf6, 0x74, 0x6f, 0xa3, 0xc9, + 0xad, 0xb9, 0x93, 0x12, 0x3f, 0x4a, 0xd9, 0x62, 0x4b, 0x0c, 0x83, 0x73, 0xa5, 0x13, 0x20, 0xa0, 0xe5, 0x6e, 0x09, + 0x20, 0xb5, 0x2c, 0x39, 0x89, 0x83, 0x85, 0x13, 0xd9, 0xde, 0x62, 0xbc, 0xdd, 0x93, 0x9e, 0x1a, 0xcf, 0xdc, 0x46, + 0xc6, 0xa4, 0xac, 0x7c, 0xbf, 0x20, 0x93, 0xf7, 0x79, 0x06, 0x16, 0xcd, 0x65, 0xf4, 0xf4, 0x5d, 0x71, 0x2a, 0x7e, + 0x98, 0x45, 0xe7, 0xe1, 0x69, 0xd4, 0xcd, 0x61, 0x96, 0x78, 0xc0, 0x4e, 0x38, 0xd3, 0x6a, 0x60, 0xac, 0x5d, 0xda, + 0x8e, 0xb4, 0x3b, 0xfb, 0x02, 0x29, 0x61, 0xcd, 0x6e, 0x76, 0x82, 0x63, 0x46, 0x5c, 0x0e, 0xba, 0xd7, 0x1b, 0x30, + 0xac, 0x6c, 0x17, 0x73, 0x73, 0x4f, 0xee, 0xa4, 0xd5, 0x53, 0x81, 0x9c, 0x81, 0x2c, 0x59, 0xd7, 0xf0, 0xbe, 0x40, + 0xb5, 0xbe, 0x78, 0x70, 0xf0, 0x76, 0x6f, 0x19, 0x77, 0x4d, 0x19, 0x65, 0x3b, 0xa2, 0x08, 0x7e, 0x65, 0x40, 0xba, + 0x56, 0xf6, 0x23, 0x77, 0x37, 0x4b, 0x1d, 0xa4, 0x14, 0xfa, 0x74, 0x3d, 0x5d, 0x1b, 0x09, 0x6f, 0x66, 0xaa, 0xe3, + 0x08, 0xf9, 0x44, 0x87, 0x41, 0x59, 0x49, 0x8a, 0xfe, 0x9f, 0xb1, 0xdf, 0x81, 0x82, 0x7a, 0xe0, 0xd7, 0xbf, 0x0b, + 0x12, 0x1c, 0xd8, 0x9d, 0xa0, 0xb5, 0xe2, 0x63, 0x09, 0xb2, 0x5b, 0x85, 0xb9, 0xa0, 0x44, 0xad, 0x7f, 0xcf, 0xcd, + 0xf5, 0xfa, 0xfb, 0x4b, 0x56, 0xaa, 0x75, 0x27, 0xdb, 0xb6, 0xf5, 0x4d, 0xae, 0x19, 0x3b, 0x62, 0x5f, 0x0e, 0x7c, + 0x70, 0x9a, 0xc9, 0xb5, 0x80, 0xa4, 0x21, 0xd3, 0xe7, 0x6e, 0x8d, 0xba, 0x91, 0x8c, 0xdc, 0x01, 0x09, 0x44, 0x08, + 0x34, 0x18, 0x94, 0x75, 0xbb, 0x2f, 0xc6, 0xe1, 0xbc, 0xb3, 0x78, 0xff, 0x73, 0x41, 0x97, 0xe8, 0xb0, 0xae, 0xce, + 0x62, 0xc9, 0x7f, 0xbf, 0x53, 0x8c, 0x64, 0x7b, 0xb4, 0xbd, 0x7f, 0x31, 0x9a, 0xe2, 0x4a, 0xa6, 0xfd, 0x83, 0xbf, + 0xbf, 0xe8, 0x2d, 0xbc, 0xd9, 0xd1, 0xc1, 0xea, 0x3e, 0x4f, 0xb9, 0x79, 0xd2, 0x17, 0x33, 0xf9, 0xae, 0x8c, 0x4c, + 0x6e, 0x10, 0x18, 0x75, 0x67, 0x75, 0xa9, 0xcb, 0xc3, 0xc8, 0xc5, 0x7a, 0xb8, 0x19, 0x4e, 0xe1, 0x36, 0x13, 0x59, + 0xb5, 0x50, 0x05, 0xe0, 0x11, 0x3a, 0x29, 0x51, 0x24, 0x49, 0x62, 0x80, 0xe8, 0xde, 0xc6, 0x3c, 0x80, 0x17, 0x35, + 0x9f, 0x35, 0xd4, 0x76, 0x46, 0x36, 0xc7, 0x01, 0xad, 0xcd, 0x1c, 0xd3, 0xb2, 0x29, 0x41, 0xe7, 0xee, 0x74, 0x84, + 0x0e, 0xbd, 0xa5, 0xf5, 0x54, 0x97, 0x8a, 0x7d, 0xd3, 0xb3, 0xb6, 0x8e, 0xc8, 0x27, 0x71, 0x6b, 0x75, 0x90, 0xe6, + 0x2a, 0xa7, 0xe2, 0x66, 0xaa, 0x9e, 0xa3, 0x77, 0x16, 0x8e, 0x40, 0xdf, 0x5a, 0x1e, 0xac, 0x71, 0x11, 0x6c, 0x8a, + 0xee, 0x2c, 0x15, 0x55, 0xc5, 0x96, 0xfb, 0x9d, 0x4c, 0xa7, 0xed, 0x9d, 0x01, 0xb2, 0x4e, 0x98, 0xee, 0x1e, 0x12, + 0x48, 0x3c, 0x7a, 0x17, 0x60, 0xb0, 0x67, 0x52, 0x4c, 0xab, 0xea, 0xbc, 0x62, 0x82, 0x87, 0xa5, 0x3c, 0xf3, 0xbd, + 0xd9, 0xb3, 0xc3, 0xa8, 0x61, 0x3c, 0x76, 0xf8, 0x05, 0x25, 0x05, 0xb3, 0x37, 0xd1, 0xcd, 0xdf, 0xcb, 0xd7, 0xf5, + 0x09, 0xb7, 0x46, 0x0e, 0xb9, 0x75, 0x07, 0xd7, 0xef, 0xf4, 0x7d, 0xe6, 0x62, 0x56, 0xdf, 0x7e, 0x36, 0x2e, 0x66, + 0x46, 0xc9, 0x77, 0x6a, 0xa4, 0x3d, 0x24, 0xde, 0x6b, 0x00, 0xb6, 0x00, 0xca, 0x92, 0x09, 0xe8, 0x60, 0xb5, 0x2e, + 0x97, 0x4e, 0xd7, 0x29, 0x69, 0xaa, 0x3d, 0xf3, 0x6a, 0xbb, 0xb1, 0xcd, 0x85, 0x67, 0x4c, 0xb6, 0x58, 0x9b, 0x4e, + 0x5b, 0xc2, 0xe4, 0xb5, 0xae, 0xdf, 0xe8, 0xfa, 0x97, 0x15, 0x81, 0x9a, 0xa9, 0x5c, 0x71, 0x5f, 0x2b, 0x6b, 0x08, + 0x3e, 0x85, 0x45, 0x98, 0x0a, 0xf0, 0xac, 0x3a, 0x81, 0xaa, 0xf5, 0x43, 0xdb, 0xfb, 0x1b, 0x16, 0xdb, 0xb3, 0x9d, + 0x76, 0x01, 0x14, 0x9e, 0x25, 0xee, 0x9c, 0x2b, 0x77, 0x74, 0xe3, 0x74, 0x13, 0x53, 0xf6, 0xe3, 0x17, 0xa8, 0x93, + 0x83, 0x99, 0xdb, 0x0b, 0x1a, 0x4b, 0xc0, 0x93, 0x22, 0x13, 0xc4, 0xe4, 0xe7, 0x40, 0x08, 0x6d, 0xa4, 0xd2, 0x99, + 0x86, 0xc7, 0x68, 0xf7, 0x5a, 0x29, 0x0b, 0xa6, 0x76, 0xef, 0xc9, 0x6d, 0xd8, 0x74, 0x04, 0xaa, 0xb3, 0xef, 0xa4, + 0xdc, 0xa8, 0x97, 0x30, 0x02, 0x3a, 0xdd, 0x6b, 0xf5, 0xe3, 0x9f, 0x93, 0xb9, 0x86, 0x7d, 0x64, 0xc7, 0x1b, 0xd1, + 0x0d, 0x40, 0x0e, 0x87, 0x4b, 0x28, 0x65, 0xed, 0x93, 0xea, 0xdf, 0xfb, 0xb2, 0xd1, 0xf0, 0x09, 0xc3, 0x38, 0x49, + 0x54, 0x71, 0xda, 0xe6, 0xd6, 0x40, 0xe9, 0x4f, 0xee, 0x9d, 0x12, 0xa6, 0x20, 0x10, 0x4d, 0xb2, 0x72, 0x3e, 0x05, + 0x2c, 0x3c, 0xe5, 0x81, 0x4a, 0x98, 0x46, 0x2c, 0xd1, 0x0e, 0xad, 0x34, 0x1b, 0x5d, 0x82, 0x19, 0x06, 0x5c, 0xfb, + 0x0b, 0x8d, 0xd6, 0x9d, 0xec, 0xad, 0xa3, 0x06, 0x6f, 0xd0, 0xd2, 0xe8, 0x77, 0x43, 0x93, 0x00, 0x84, 0x9c, 0x1e, + 0xdc, 0xf7, 0x2c, 0x46, 0xc7, 0x15, 0x9d, 0x47, 0x0f, 0x64, 0x22, 0xd4, 0x94, 0xeb, 0x4e, 0x0e, 0x80, 0x39, 0xdd, + 0x72, 0x69, 0xa8, 0xc7, 0x60, 0x9a, 0x5e, 0x40, 0x54, 0xc0, 0x8a, 0x0e, 0xa0, 0xd3, 0xd8, 0x0d, 0x65, 0x79, 0xc3, + 0x0c, 0x05, 0x08, 0x82, 0xec, 0x1b, 0x84, 0xfd, 0xa9, 0x3a, 0xe6, 0x6a, 0x86, 0x5d, 0x86, 0x19, 0x1c, 0x87, 0x86, + 0xf6, 0x14, 0xfc, 0x04, 0x6c, 0xa2, 0x09, 0x08, 0x50, 0x6e, 0x12, 0x62, 0x0f, 0x6a, 0xfe, 0x2b, 0x0f, 0x49, 0x7b, + 0xdd, 0x34, 0xf5, 0x09, 0xa6, 0x38, 0x2c, 0x83, 0x75, 0x5b, 0xb6, 0x57, 0xb7, 0xaa, 0x8c, 0xe3, 0x1a, 0x60, 0x6c, + 0xe9, 0x1c, 0x47, 0x61, 0x1a, 0xe2, 0x7f, 0x0d, 0xa8, 0x0b, 0x73, 0xab, 0x76, 0x13, 0xfa, 0x66, 0x49, 0x53, 0x3e, + 0x9a, 0xdc, 0x1f, 0x1b, 0x9a, 0x13, 0xfd, 0xbe, 0xc0, 0x8c, 0x6b, 0x89, 0x4b, 0x16, 0x7a, 0xda, 0x06, 0x65, 0xa7, + 0x6b, 0x5c, 0x65, 0xfc, 0x6a, 0xf4, 0xcb, 0xb7, 0xab, 0x57, 0x31, 0xc4, 0x8c, 0x28, 0x60, 0x6b, 0xde, 0x59, 0xc7, + 0x27, 0xda, 0x7d, 0x37, 0xe6, 0x97, 0xa7, 0xa8, 0x71, 0xa3, 0x94, 0x58, 0x2c, 0x92, 0xf7, 0x15, 0x6e, 0x6b, 0x3e, + 0xd8, 0x5e, 0xf9, 0xf8, 0xeb, 0x79, 0x28, 0x04, 0x4f, 0xa8, 0x92, 0x20, 0xd1, 0x40, 0x37, 0xad, 0xd7, 0x82, 0x96, + 0xde, 0x97, 0x94, 0x66, 0x9e, 0xfb, 0xcb, 0xa6, 0x5d, 0x02, 0x42, 0x55, 0x03, 0x39, 0x3f, 0x45, 0x93, 0x2f, 0xa6, + 0xd3, 0x31, 0x82, 0x4f, 0x9a, 0x9c, 0x23, 0x0c, 0xa7, 0xdd, 0x7e, 0x97, 0x9f, 0xfe, 0x26, 0x47, 0x07, 0x9e, 0xfb, + 0x49, 0xea, 0xdb, 0xa1, 0xf0, 0xe9, 0x77, 0xbd, 0x18, 0x7d, 0xf5, 0x8d, 0x90, 0xbe, 0xed, 0xc4, 0xc6, 0x41, 0x90, + 0x37, 0xf2, 0x42, 0x84, 0x08, 0x76, 0x49, 0x20, 0xcc, 0x65, 0xfd, 0x46, 0xbc, 0x85, 0xaf, 0xe8, 0x2d, 0x35, 0x47, + 0x4f, 0xa3, 0x03, 0x3d, 0x9c, 0xb0, 0xbe, 0x8b, 0x0f, 0xa3, 0x2f, 0xb0, 0xe6, 0xe1, 0xb3, 0x00, 0x90, 0x8e, 0x61, + 0x15, 0xc0, 0xda, 0x60, 0xee, 0x18, 0x6e, 0xeb, 0xf4, 0xc4, 0x5a, 0xe6, 0x00, 0xbb, 0xdc, 0xc9, 0x71, 0x43, 0x77, + 0x0e, 0x41, 0xc1, 0xbc, 0x1d, 0x58, 0x23, 0xff, 0xcf, 0xb4, 0xa1, 0x3b, 0xab, 0x98, 0x58, 0x06, 0x22, 0xcd, 0x11, + 0x09, 0x0d, 0x5f, 0x77, 0x2f, 0x02, 0x07, 0xf0, 0x11, 0x83, 0xaf, 0x41, 0xc5, 0xf3, 0xdc, 0xe4, 0x57, 0xf5, 0xf3, + 0x4b, 0xc4, 0xde, 0x14, 0xaf, 0xeb, 0xa9, 0xbb, 0x2b, 0x0f, 0x7f, 0xa7, 0x14, 0x00, 0xbd, 0x54, 0x76, 0x15, 0x98, + 0xc9, 0xc1, 0x26, 0x32, 0xfc, 0x5c, 0x2f, 0xa1, 0x32, 0x6d, 0xf6, 0x84, 0x10, 0x2e, 0x48, 0x39, 0xb9, 0x1e, 0x2f, + 0x46, 0x7e, 0x02, 0x2a, 0x02, 0x6d, 0x02, 0xc8, 0xb2, 0x3f, 0x82, 0x45, 0xca, 0x01, 0x81, 0x78, 0x17, 0x17, 0x7d, + 0xea, 0x2d, 0x0d, 0x92, 0x98, 0xdd, 0x4b, 0x11, 0x30, 0x88, 0xcb, 0x84, 0x12, 0x34, 0x6c, 0x4d, 0xd9, 0xb7, 0x10, + 0xb9, 0x23, 0x74, 0xd8, 0x11, 0x66, 0x06, 0x5d, 0x25, 0xf2, 0x1f, 0x1d, 0x2d, 0xa9, 0x82, 0x87, 0xe9, 0xc9, 0xb3, + 0x15, 0xcd, 0x86, 0x93, 0x06, 0x12, 0x12, 0xf8, 0x50, 0x88, 0x03, 0x1b, 0x6f, 0x48, 0xa2, 0x60, 0x3d, 0x48, 0xfe, + 0x74, 0xd9, 0xf2, 0xba, 0xf3, 0x2c, 0x3b, 0xbe, 0x63, 0x68, 0x0e, 0x79, 0x8c, 0x44, 0x11, 0x94, 0xc2, 0xef, 0xa0, + 0xa4, 0x45, 0xa6, 0x12, 0x50, 0xae, 0x15, 0xd9, 0xe1, 0xa9, 0x2a, 0x31, 0x01, 0x5a, 0xa0, 0x07, 0xd1, 0xbd, 0xcb, + 0x42, 0xd3, 0x74, 0xf0, 0xda, 0xa1, 0x61, 0x2c, 0x83, 0xa9, 0x0e, 0x2e, 0x5b, 0xa1, 0x38, 0x32, 0xe9, 0x90, 0x51, + 0x70, 0x72, 0xeb, 0xac, 0xcb, 0x26, 0x37, 0xbf, 0xbd, 0x57, 0x74, 0x74, 0x0c, 0x64, 0x75, 0x9e, 0xde, 0x3c, 0xcf, + 0x66, 0x08, 0x06, 0xe9, 0xe3, 0x69, 0x57, 0xf1, 0x72, 0x9a, 0x81, 0x69, 0xd5, 0xf6, 0x6d, 0x19, 0x2e, 0x37, 0xb1, + 0xe4, 0xaa, 0xdb, 0x87, 0xb9, 0xcc, 0x67, 0xa7, 0x93, 0xec, 0xb7, 0xd6, 0xe0, 0xc8, 0x69, 0x66, 0xfd, 0x46, 0xf9, + 0x3c, 0x3f, 0x32, 0x95, 0x6f, 0x0e, 0x93, 0x44, 0x6a, 0xd7, 0x50, 0xad, 0xc2, 0x0c, 0x3f, 0x19, 0x44, 0xbd, 0x06, + 0x54, 0x1b, 0xad, 0x18, 0x6e, 0xe0, 0xc5, 0xe6, 0xc9, 0xd2, 0x75, 0xcc, 0x8c, 0xab, 0xc0, 0x2c, 0x26, 0x95, 0x18, + 0xdf, 0x8b, 0x04, 0x19, 0xb4, 0xa7, 0xfb, 0x54, 0x34, 0xd6, 0x97, 0x40, 0x27, 0x8b, 0x68, 0x03, 0x06, 0xe6, 0x10, + 0xea, 0x58, 0xa0, 0xb1, 0x71, 0x98, 0x45, 0x6d, 0x2b, 0x33, 0x9a, 0x2a, 0x83, 0x61, 0x0c, 0xb5, 0x01, 0x5c, 0xdd, + 0xaa, 0x85, 0x94, 0x8c, 0xb2, 0xee, 0x32, 0x1a, 0x28, 0xa1, 0x63, 0x19, 0x2b, 0x3c, 0x52, 0x32, 0x5c, 0x19, 0x71, + 0x1a, 0xe0, 0xcb, 0xd3, 0xff, 0xf7, 0x27, 0x32, 0x6a, 0xe9, 0xee, 0x48, 0xde, 0xb9, 0xec, 0xe8, 0x4a, 0x33, 0x9e, + 0xa7, 0xcb, 0xe9, 0x8b, 0xd4, 0x6d, 0xa9, 0x96, 0xf9, 0xc3, 0xe8, 0x18, 0x85, 0xaf, 0xed, 0xdb, 0x6d, 0x25, 0x1a, + 0xce, 0x30, 0x62, 0xae, 0x7c, 0xe3, 0x16, 0xf5, 0x5a, 0x8a, 0xee, 0xb7, 0x8c, 0x9c, 0x4a, 0x75, 0xc7, 0x1b, 0x97, + 0x1a, 0x5e, 0x29, 0xfd, 0x87, 0x79, 0x5e, 0xcc, 0xb1, 0xdd, 0xf6, 0x71, 0xb5, 0xb2, 0xcb, 0x89, 0xce, 0x9b, 0xe7, + 0x24, 0xe1, 0x6d, 0x8f, 0x63, 0x2b, 0x91, 0xe2, 0xb1, 0x34, 0x7f, 0x57, 0x4d, 0xb6, 0x9b, 0x5f, 0x7d, 0x2e, 0xc8, + 0x5a, 0x4c, 0xba, 0xd5, 0x56, 0xa5, 0x35, 0xf3, 0xe0, 0xdd, 0x9e, 0x39, 0xd2, 0x53, 0x12, 0x34, 0xdc, 0x2e, 0xe4, + 0xd3, 0x20, 0xd2, 0x5b, 0x66, 0x74, 0x58, 0x93, 0x57, 0xbe, 0xb1, 0x09, 0x0e, 0xe1, 0x78, 0x6b, 0x34, 0x0f, 0x93, + 0x9d, 0x4e, 0xea, 0xc5, 0xff, 0x33, 0x5b, 0xf8, 0x36, 0x75, 0xf2, 0x57, 0x5c, 0xe9, 0x20, 0xc5, 0xc5, 0x14, 0x1f, + 0x8e, 0x11, 0xcc, 0x97, 0xf4, 0x1d, 0x0a, 0x8f, 0xa6, 0x9c, 0x06, 0x06, 0x21, 0x66, 0xcf, 0xbe, 0x73, 0xf7, 0x76, + 0xbc, 0x25, 0xce, 0xa8, 0x2c, 0x6b, 0x8a, 0x25, 0x18, 0xa4, 0x79, 0x1d, 0x10, 0x00, 0x57, 0x2e, 0x88, 0x5d, 0x81, + 0xc8, 0x96, 0x17, 0xd1, 0xe2, 0xdd, 0x2f, 0x4b, 0xa3, 0xb8, 0x29, 0xf1, 0x99, 0xec, 0xf6, 0x44, 0x30, 0xc0, 0x2d, + 0xc8, 0x0e, 0xc7, 0x0e, 0x16, 0xc4, 0x1c, 0x09, 0xde, 0x15, 0x65, 0x58, 0x92, 0x3a, 0x50, 0x2c, 0x5a, 0xd4, 0x05, + 0x13, 0x13, 0x29, 0x64, 0x6b, 0xab, 0x84, 0x00, 0x69, 0xa2, 0xf6, 0x12, 0x58, 0xd4, 0x34, 0x7b, 0xa2, 0xea, 0x62, + 0x92, 0xbb, 0x21, 0xf7, 0x34, 0x1e, 0xfc, 0x3c, 0x94, 0xcc, 0xb1, 0x37, 0x89, 0x90, 0x7f, 0xbd, 0xd9, 0xfa, 0x05, + 0xf6, 0x0e, 0x7e, 0xd1, 0x10, 0xbe, 0x9a, 0xc2, 0x1a, 0x92, 0x30, 0xab, 0x5c, 0x78, 0xab, 0x24, 0x40, 0x81, 0xb2, + 0xac, 0x4f, 0x8b, 0x03, 0x46, 0x1f, 0x0a, 0xca, 0x16, 0xcb, 0x39, 0x89, 0xd9, 0x71, 0x11, 0x5b, 0x72, 0x2f, 0xfa, + 0xfc, 0xfc, 0x65, 0x1c, 0xef, 0x11, 0x81, 0xca, 0xad, 0xf2, 0xfe, 0x48, 0xc9, 0x01, 0x03, 0x33, 0xfd, 0x29, 0x8d, + 0xe8, 0xdc, 0x7f, 0x3f, 0xd5, 0x0f, 0x39, 0xf0, 0x4b, 0xe0, 0x38, 0xd0, 0xa7, 0x2c, 0x5a, 0xce, 0x06, 0xaa, 0x7b, + 0x9c, 0x53, 0xfb, 0x58, 0x5c, 0x22, 0xae, 0x4c, 0x42, 0xa0, 0xbb, 0x5c, 0x48, 0x82, 0xc5, 0xa7, 0x60, 0x48, 0x36, + 0x01, 0xd3, 0x58, 0x61, 0x73, 0xad, 0x79, 0x77, 0x80, 0x2e, 0x36, 0x58, 0xc1, 0x2b, 0x1c, 0x0c, 0xbd, 0xb6, 0x66, + 0x4e, 0x6b, 0x35, 0xbd, 0x13, 0x25, 0x89, 0x6c, 0xb2, 0xdb, 0x8f, 0x23, 0x7b, 0x43, 0x1a, 0x22, 0xfc, 0xb9, 0x51, + 0x5a, 0x14, 0x8a, 0xe6, 0x6a, 0x85, 0x88, 0x7d, 0xaf, 0x52, 0x4e, 0x32, 0xa9, 0x5a, 0x6a, 0x72, 0x5b, 0x29, 0x21, + 0xd6, 0x85, 0x7f, 0x14, 0xd4, 0xcd, 0xa8, 0x3f, 0x25, 0x37, 0xd0, 0x37, 0xe2, 0x4d, 0x02, 0x6f, 0xac, 0xf5, 0x21, + 0x28, 0x9a, 0x68, 0xfc, 0x08, 0x8a, 0xc5, 0xc1, 0x04, 0x4f, 0x3c, 0x97, 0x61, 0x09, 0x48, 0xa7, 0x78, 0xe8, 0xc5, + 0x84, 0x8b, 0x40, 0x0b, 0xce, 0x59, 0xbe, 0x7b, 0xa7, 0x79, 0xa0, 0xd3, 0x7a, 0x21, 0x89, 0xd9, 0x5e, 0x75, 0xba, + 0xf4, 0x8a, 0x81, 0xf3, 0xeb, 0x4c, 0x59, 0x22, 0xee, 0x49, 0x5e, 0x6e, 0x37, 0x96, 0xd1, 0xc6, 0x22, 0xe6, 0x74, + 0xa6, 0x82, 0x3f, 0x9b, 0x7a, 0x5b, 0x27, 0x16, 0xbf, 0x1d, 0x4f, 0xad, 0x8c, 0xd7, 0x01, 0xee, 0x12, 0x6f, 0xca, + 0xa0, 0x54, 0xc4, 0xeb, 0x41, 0x84, 0x48, 0x90, 0x12, 0x9d, 0x46, 0x86, 0xd2, 0x63, 0x3f, 0x48, 0xcc, 0x06, 0xd4, + 0x88, 0x1d, 0xd8, 0x39, 0xca, 0x6e, 0x85, 0x9f, 0xfb, 0xbb, 0xf5, 0xf0, 0x7b, 0x95, 0x3e, 0xe9, 0x2d, 0xcc, 0x4a, + 0xf3, 0xa4, 0x1a, 0x56, 0x60, 0xd9, 0x71, 0xfb, 0x97, 0x67, 0xae, 0xc2, 0xe0, 0xdc, 0x56, 0xc3, 0x9d, 0x3e, 0x97, + 0xef, 0x2f, 0xe0, 0xef, 0x4f, 0xbf, 0xaf, 0xf9, 0x02, 0xb3, 0x8e, 0x94, 0x50, 0xd7, 0x6e, 0x23, 0x22, 0xee, 0xc5, + 0xab, 0xab, 0x14, 0x5a, 0x80, 0x2c, 0xbf, 0x80, 0x67, 0xc7, 0xb7, 0x46, 0xba, 0x4f, 0x8e, 0x54, 0x20, 0x11, 0xf2, + 0x56, 0x41, 0x58, 0x09, 0x38, 0x52, 0xd8, 0x2c, 0xb2, 0xa0, 0x4f, 0x25, 0x74, 0x0d, 0x3f, 0x25, 0xbe, 0xbc, 0x9a, + 0x2b, 0x7e, 0x0c, 0xe9, 0x04, 0x74, 0xd8, 0x9d, 0x0f, 0x22, 0xb0, 0x41, 0xce, 0x7a, 0xc9, 0x68, 0xde, 0xc9, 0x67, + 0xa3, 0xc8, 0xb4, 0x63, 0xa5, 0xfd, 0xda, 0xa8, 0xdb, 0x3e, 0x1e, 0xdf, 0x29, 0x06, 0x3c, 0x38, 0x6c, 0x6e, 0x37, + 0x69, 0x20, 0x6f, 0xd5, 0xde, 0xfb, 0x7a, 0xc7, 0xb5, 0x5d, 0x90, 0x7c, 0xb2, 0xb4, 0x83, 0x28, 0xa4, 0xdb, 0x8d, + 0x9c, 0x2a, 0xea, 0x17, 0x45, 0xfb, 0x22, 0x2d, 0xef, 0xee, 0x12, 0x8f, 0x7b, 0xf5, 0x24, 0x4e, 0x2e, 0x8e, 0x73, + 0x4d, 0x25, 0xe2, 0xc8, 0x97, 0xa8, 0x2f, 0x4f, 0xd1, 0x66, 0x5a, 0x53, 0x83, 0xab, 0x5c, 0xab, 0xa6, 0x44, 0x5e, + 0x8a, 0x9e, 0xd9, 0xcd, 0xe2, 0xaf, 0xb8, 0xa6, 0x42, 0x33, 0xe0, 0xfc, 0x59, 0xfb, 0xe6, 0xcf, 0x04, 0x0f, 0x2e, + 0x8b, 0x7f, 0x94, 0xfe, 0x97, 0x53, 0x4f, 0x64, 0xf9, 0x05, 0xfe, 0x6a, 0xbc, 0x59, 0xbc, 0xf9, 0xef, 0x2e, 0x72, + 0x9f, 0x2f, 0xd8, 0x51, 0xb0, 0xde, 0x5e, 0x8e, 0x2f, 0x72, 0x7d, 0x39, 0x49, 0x7c, 0x83, 0x30, 0x80, 0xd3, 0x21, + 0x2d, 0xeb, 0x9d, 0xd6, 0x04, 0x9f, 0x81, 0x80, 0x90, 0x6c, 0xe7, 0xec, 0xc4, 0xd6, 0x1f, 0x49, 0xb4, 0x19, 0xcc, + 0xe4, 0x65, 0x90, 0xec, 0x6b, 0x24, 0x00, 0x72, 0x6a, 0x33, 0xd2, 0x71, 0x3e, 0x6d, 0x02, 0x6d, 0x32, 0x49, 0xdd, + 0x6e, 0x01, 0x5c, 0x80, 0x54, 0x94, 0xaf, 0xd6, 0x4d, 0x14, 0x35, 0xf3, 0x2a, 0x14, 0x5f, 0xed, 0xf5, 0x0b, 0xb4, + 0x53, 0x4d, 0x7b, 0x35, 0xd7, 0x81, 0xc0, 0x7a, 0xd5, 0x21, 0x42, 0x4b, 0xb6, 0x82, 0x1e, 0x7f, 0x4f, 0x7c, 0xb7, + 0xf9, 0x80, 0x7a, 0x83, 0xe5, 0x6e, 0xaf, 0x39, 0x9d, 0xda, 0xcd, 0x90, 0x1a, 0xf4, 0x19, 0x54, 0x51, 0xb0, 0x04, + 0xbc, 0xfd, 0xcc, 0xee, 0x66, 0x4b, 0x45, 0x36, 0xb7, 0xf8, 0xe2, 0x60, 0x5b, 0x24, 0x90, 0x8e, 0x23, 0x60, 0x4d, + 0x66, 0xa4, 0x24, 0xb3, 0x53, 0x9a, 0x32, 0x0a, 0x40, 0x06, 0xf0, 0x62, 0x12, 0xf6, 0x98, 0xf4, 0xdf, 0x87, 0x57, + 0x69, 0xfd, 0xd5, 0xfb, 0x62, 0xe4, 0x3d, 0xff, 0x68, 0x7a, 0xe0, 0xf4, 0x7b, 0x6b, 0x97, 0xb3, 0xd7, 0xa9, 0x47, + 0x8d, 0x25, 0xdf, 0x38, 0x80, 0xff, 0x84, 0xa7, 0xce, 0xea, 0x30, 0xdf, 0x8e, 0x9c, 0x52, 0xe5, 0xca, 0xbd, 0x0a, + 0xee, 0xf7, 0x07, 0xe1, 0xfe, 0xff, 0x55, 0xed, 0x66, 0xf8, 0xf9, 0xdf, 0xd6, 0xf0, 0x7f, 0xd9, 0x75, 0x58, 0x6b, + 0xee, 0x7f, 0x6b, 0x70, 0xe9, 0x77, 0x14, 0xd4, 0x75, 0xed, 0xdf, 0x79, 0x10, 0x68, 0x05, 0x5e, 0x17, 0x77, 0x26, + 0x2b, 0x3d, 0x4d, 0xe9, 0xc1, 0x20, 0x3a, 0xf8, 0xff, 0xb3, 0x6c, 0x8e, 0xbd, 0x38, 0x61, 0xb2, 0xb2, 0xfd, 0x7e, + 0x1a, 0x0b, 0xb0, 0x9c, 0x44, 0x69, 0xe3, 0x80, 0xf7, 0x95, 0x1f, 0xd7, 0xe8, 0xe7, 0x80, 0x4e, 0xac, 0x53, 0x40, + 0xdf, 0xd5, 0xf4, 0x09, 0xe2, 0xb1, 0x87, 0xd7, 0x90, 0x7b, 0x47, 0x70, 0x5f, 0x6b, 0x1c, 0x2e, 0x28, 0x3f, 0x14, + 0x77, 0x72, 0x31, 0x95, 0xfc, 0x52, 0xfa, 0xbd, 0x66, 0xf7, 0x45, 0x29, 0x37, 0xc4, 0x50, 0x93, 0x5b, 0x7f, 0x13, + 0x21, 0xdd, 0x2b, 0x92, 0xc8, 0x6a, 0x51, 0x77, 0xae, 0x92, 0x4e, 0x9c, 0xdd, 0xb3, 0xad, 0xca, 0x0c, 0xc0, 0x8b, + 0x2a, 0x97, 0x92, 0xb7, 0xeb, 0x40, 0x19, 0xd3, 0x7b, 0xec, 0x7c, 0x1d, 0x0d, 0xa8, 0xa5, 0xf4, 0x55, 0xde, 0xf0, + 0xef, 0xfc, 0x02, 0xf3, 0xae, 0xc6, 0xba, 0xf1, 0xc4, 0x3e, 0x1a, 0xda, 0x4d, 0xe3, 0x3e, 0x42, 0x40, 0x1d, 0x6e, + 0xc8, 0xa9, 0x46, 0xa2, 0x6b, 0x3e, 0xcb, 0xc3, 0x88, 0xb2, 0x91, 0xb7, 0xe0, 0x4c, 0x9c, 0xb3, 0x4e, 0x41, 0x86, + 0x99, 0xa1, 0x61, 0x05, 0x4d, 0x6f, 0x31, 0xc6, 0xf6, 0xf2, 0x8e, 0xef, 0x8e, 0xb2, 0xb5, 0xfd, 0xfa, 0xcb, 0x02, + 0x81, 0x74, 0x5c, 0x04, 0xef, 0x14, 0x5f, 0xe0, 0x91, 0x34, 0x32, 0xf5, 0x60, 0xdf, 0x5f, 0xd2, 0x8b, 0xb0, 0xff, + 0xd6, 0x9c, 0x26, 0x97, 0x2f, 0xe7, 0x4c, 0x69, 0x51, 0xe7, 0x6c, 0xf1, 0xe2, 0xb6, 0x71, 0xff, 0xd3, 0xe4, 0xda, + 0x98, 0xf5, 0xe7, 0x9c, 0x14, 0x15, 0x4e, 0xb4, 0xce, 0xe6, 0x62, 0xef, 0xbd, 0xe7, 0xbc, 0x1e, 0x2c, 0xbb, 0x07, + 0x67, 0x32, 0x62, 0xeb, 0xad, 0x2e, 0xbc, 0x64, 0xdf, 0x26, 0x6e, 0x9b, 0x0a, 0xae, 0x29, 0x1e, 0xbc, 0x7a, 0x99, + 0xde, 0x5d, 0x9d, 0x2c, 0x59, 0xac, 0x59, 0x7e, 0x34, 0xa0, 0x9b, 0x7d, 0x58, 0xb7, 0x8d, 0xc6, 0xf1, 0x9a, 0x4a, + 0x6c, 0x9b, 0x58, 0xc6, 0xac, 0xa6, 0x13, 0xc1, 0xfd, 0x5f, 0x36, 0xb8, 0x76, 0xa6, 0x0e, 0xc5, 0xb5, 0x19, 0x85, + 0x52, 0xf0, 0xa3, 0x04, 0x24, 0x5c, 0x32, 0x96, 0x0c, 0x9c, 0xe0, 0xdb, 0x39, 0x9d, 0x4c, 0x99, 0xa6, 0xe1, 0x74, + 0xf3, 0xc3, 0x69, 0x07, 0xdf, 0x76, 0x12, 0x23, 0x20, 0xb9, 0x1f, 0x19, 0xb9, 0xc1, 0x64, 0x49, 0xa8, 0x11, 0x77, + 0xeb, 0xe4, 0x17, 0x74, 0xcc, 0x64, 0x89, 0xa7, 0x52, 0x93, 0x87, 0xf3, 0xf1, 0x09, 0xfb, 0xf9, 0x67, 0xeb, 0x6f, + 0xd6, 0x37, 0xed, 0x2a, 0xdc, 0x28, 0xeb, 0xd4, 0x7e, 0x86, 0x3d, 0xab, 0x12, 0x42, 0xde, 0x94, 0xf7, 0xf6, 0x96, + 0xda, 0xa7, 0xdf, 0x37, 0x22, 0xb8, 0xfa, 0xce, 0xd0, 0xea, 0xcf, 0x29, 0x82, 0xe5, 0x6e, 0xd7, 0x4a, 0xa5, 0xc9, + 0xea, 0x89, 0xef, 0xfd, 0x1a, 0x6f, 0x45, 0xce, 0x83, 0x97, 0xec, 0x8d, 0x38, 0x7f, 0x2c, 0x8a, 0xef, 0x9e, 0x3f, + 0x22, 0x16, 0x97, 0x77, 0x73, 0x0c, 0xb1, 0xc9, 0xe5, 0x21, 0x95, 0xc4, 0x34, 0xf8, 0x04, 0x6a, 0x3b, 0xab, 0xa1, + 0x44, 0x57, 0x52, 0xab, 0x2b, 0xbe, 0x94, 0x02, 0x96, 0xca, 0xa8, 0x92, 0xa1, 0xae, 0x0e, 0xa7, 0x8e, 0xd2, 0xf2, + 0xc3, 0xab, 0x0a, 0x2e, 0x95, 0x79, 0x68, 0x69, 0x0c, 0xbf, 0xf4, 0xe9, 0x05, 0x63, 0x18, 0xd9, 0x66, 0x03, 0x97, + 0xa7, 0xe8, 0x44, 0xef, 0xe0, 0x0b, 0xa1, 0xe3, 0x43, 0x33, 0xf9, 0x02, 0x8d, 0xd7, 0x50, 0x92, 0xe1, 0x90, 0x73, + 0x55, 0xdc, 0xa2, 0x96, 0xb8, 0x7f, 0x45, 0xd6, 0x53, 0x4d, 0x69, 0xd1, 0x9e, 0x96, 0xa1, 0xa0, 0xb4, 0x4e, 0x72, + 0x5d, 0x61, 0x7a, 0x99, 0x74, 0x52, 0x4f, 0x6b, 0x70, 0x2b, 0x77, 0x8e, 0x44, 0x66, 0xf7, 0x4d, 0xd3, 0x91, 0x42, + 0x6e, 0x57, 0x40, 0xd2, 0xae, 0x3f, 0x8f, 0x55, 0xc8, 0x3e, 0x24, 0x4d, 0x2d, 0xe9, 0xfe, 0xcc, 0x0e, 0x84, 0x96, + 0xf7, 0xdd, 0xd8, 0xa9, 0x23, 0xdd, 0x83, 0x60, 0xec, 0xfc, 0x56, 0x69, 0x37, 0xcd, 0x49, 0xbc, 0x71, 0xf1, 0x6b, + 0x8f, 0x02, 0xb2, 0xa5, 0x19, 0x7c, 0x6d, 0x4d, 0x40, 0xbb, 0x7c, 0x03, 0x6b, 0x2d, 0x76, 0x30, 0xde, 0xe7, 0x6d, + 0xe8, 0xa1, 0x0f, 0x6c, 0x94, 0x6a, 0x1e, 0x7e, 0xa3, 0x54, 0xfd, 0x8e, 0x9c, 0x42, 0xd5, 0x73, 0xfe, 0xba, 0x24, + 0x8e, 0x8d, 0xac, 0xb6, 0x8b, 0x23, 0x06, 0x1b, 0x18, 0xe3, 0x50, 0x5f, 0x20, 0x62, 0xde, 0x31, 0x32, 0x40, 0x87, + 0xa4, 0x43, 0x59, 0x27, 0xd3, 0x44, 0x42, 0xcc, 0x03, 0x12, 0xec, 0x1d, 0x40, 0x3d, 0x80, 0xff, 0xc9, 0xa4, 0x45, + 0xfe, 0xa9, 0x5d, 0xe5, 0xdc, 0x31, 0xc7, 0x5f, 0x6a, 0x76, 0xcd, 0x46, 0x99, 0xd5, 0xd4, 0xe0, 0x7e, 0xd1, 0x14, + 0x11, 0xd5, 0xf2, 0x5a, 0x36, 0x4a, 0x67, 0x8e, 0xa4, 0xf8, 0x8b, 0xd9, 0xd2, 0x93, 0xfe, 0xf6, 0xbe, 0x94, 0x3e, + 0x7b, 0xf7, 0xfc, 0xce, 0x22, 0x67, 0xaa, 0xdd, 0xfd, 0x14, 0x87, 0x4f, 0x7d, 0xb2, 0xe4, 0x5f, 0x3f, 0xfe, 0x8b, + 0x7f, 0x41, 0x6f, 0xf8, 0x0b, 0xd6, 0xa5, 0x11, 0xac, 0x5d, 0xf6, 0xf5, 0x25, 0xd8, 0xf1, 0xa1, 0xd1, 0xa7, 0x0c, + 0x2c, 0x05, 0x77, 0x41, 0x4b, 0xf0, 0x10, 0x60, 0xb2, 0xd5, 0x6a, 0xfd, 0x40, 0xdc, 0x3f, 0xbb, 0xae, 0x2b, 0x5f, + 0x2c, 0xdc, 0x57, 0xdb, 0xf7, 0x45, 0xaa, 0xd5, 0xe7, 0xdd, 0x4e, 0x26, 0xc7, 0xbb, 0xff, 0x42, 0x0d, 0xfa, 0x46, + 0x84, 0xc2, 0x33, 0x3b, 0x3d, 0x5d, 0x0d, 0x8b, 0xd7, 0x55, 0xbf, 0x98, 0xaa, 0xb6, 0xb8, 0xa9, 0xa6, 0xc5, 0x8b, + 0xea, 0xf4, 0xe0, 0xff, 0xae, 0x78, 0xc9, 0x33, 0x61, 0x98, 0x0f, 0x34, 0xc8, 0xd9, 0xe3, 0x97, 0xa1, 0x96, 0x1b, + 0x1f, 0x28, 0x76, 0xab, 0xa2, 0x70, 0xda, 0xa5, 0xef, 0x7f, 0xdc, 0x67, 0xf0, 0x46, 0x0a, 0x7a, 0x19, 0xd3, 0x1e, + 0x2d, 0x69, 0xd0, 0x4c, 0x22, 0x48, 0xec, 0xeb, 0x4e, 0x7b, 0x27, 0x1d, 0x48, 0x18, 0xf4, 0xeb, 0x6d, 0xcb, 0x35, + 0x1e, 0x45, 0x98, 0x30, 0x79, 0xcb, 0x40, 0x1c, 0x0a, 0xbe, 0x42, 0x35, 0x22, 0xda, 0x3b, 0x61, 0x9b, 0x24, 0x82, + 0x20, 0x86, 0x2e, 0x75, 0x52, 0x07, 0xbb, 0x4c, 0x73, 0xeb, 0x3c, 0x96, 0x00, 0x69, 0xc5, 0x9a, 0xf2, 0x53, 0x5f, + 0xb4, 0x62, 0x92, 0x8a, 0xda, 0x5c, 0x98, 0x2a, 0xa1, 0x9b, 0x11, 0x62, 0x7d, 0xcb, 0x05, 0xdf, 0xe6, 0x75, 0x2d, + 0x02, 0x2d, 0x37, 0x6b, 0x06, 0xe4, 0x8c, 0x2e, 0xe4, 0x8d, 0xb9, 0x90, 0x2d, 0x96, 0x69, 0xbd, 0x30, 0x4e, 0x35, + 0x6d, 0xda, 0x88, 0xc8, 0x5e, 0xfd, 0xfa, 0x16, 0x88, 0xec, 0x43, 0x5f, 0xd4, 0x99, 0xde, 0xd4, 0xad, 0xb0, 0x89, + 0x41, 0xa6, 0xa1, 0x2a, 0x51, 0x1a, 0xa2, 0x11, 0x17, 0xf1, 0x68, 0x57, 0x89, 0xb0, 0xf1, 0x93, 0xfc, 0x9a, 0x49, + 0x0a, 0x3a, 0x80, 0x58, 0xa0, 0xe2, 0xba, 0xf6, 0x02, 0xe2, 0x90, 0x95, 0xde, 0x37, 0xfd, 0x53, 0x6e, 0xee, 0x8c, + 0x72, 0x33, 0xf4, 0x93, 0x26, 0x57, 0x70, 0x09, 0x31, 0xea, 0x21, 0x8a, 0xc8, 0x47, 0xb1, 0xef, 0x50, 0x27, 0x90, + 0x02, 0x4e, 0x14, 0x67, 0xd0, 0x38, 0x53, 0x81, 0x03, 0xf6, 0x81, 0x16, 0x71, 0x0c, 0x45, 0xf6, 0xa3, 0xae, 0x3a, + 0xd7, 0x23, 0x93, 0x54, 0x77, 0xd2, 0x6f, 0xfe, 0x73, 0x55, 0x65, 0xb0, 0x97, 0x57, 0xab, 0x6c, 0x3e, 0x28, 0xf9, + 0x07, 0xf6, 0x37, 0x73, 0x85, 0x8a, 0xb5, 0xf3, 0x36, 0x9c, 0xd1, 0xe6, 0x88, 0xb1, 0x85, 0xe5, 0x71, 0x6e, 0xa9, + 0x27, 0x70, 0xad, 0xbf, 0x03, 0xcf, 0x70, 0xf6, 0x2d, 0x61, 0x64, 0x5e, 0x4e, 0x26, 0x0b, 0xdd, 0xcc, 0x6e, 0x77, + 0x79, 0xe4, 0x6c, 0x98, 0xd4, 0x9e, 0x2c, 0xea, 0xd7, 0x00, 0xe3, 0x47, 0xbc, 0xe6, 0xc1, 0x9e, 0x81, 0xeb, 0x91, + 0x48, 0xc1, 0x66, 0x80, 0x77, 0x32, 0x76, 0xc4, 0xca, 0x89, 0xb3, 0x34, 0x06, 0x9d, 0x0b, 0x57, 0xa5, 0xe9, 0xef, + 0x2d, 0x51, 0x4a, 0x00, 0x98, 0x41, 0xe8, 0xfd, 0xdc, 0x36, 0xf7, 0xad, 0xa8, 0x4d, 0x49, 0x1a, 0xe2, 0x0c, 0xa2, + 0x72, 0xa0, 0x62, 0x17, 0x34, 0x1d, 0xed, 0x5b, 0x2a, 0xc7, 0xc9, 0x0c, 0x12, 0xa6, 0x5e, 0x19, 0x77, 0xc5, 0x5f, + 0xfa, 0xac, 0x56, 0xff, 0xfc, 0xc8, 0xf4, 0x54, 0xff, 0x88, 0xec, 0xf6, 0x55, 0xf1, 0x3c, 0x57, 0x7e, 0x62, 0x4a, + 0xcd, 0xd5, 0x76, 0x27, 0x43, 0xbc, 0xb1, 0xf4, 0x56, 0xcc, 0x1c, 0xb0, 0xde, 0x1a, 0x9e, 0xd7, 0xbb, 0x5e, 0xcc, + 0x1d, 0xf5, 0x4b, 0xba, 0xaf, 0xcf, 0xff, 0x26, 0x03, 0xfb, 0x0d, 0x93, 0x9c, 0xfb, 0x9a, 0xf6, 0x3c, 0xa1, 0xaf, + 0x16, 0xf3, 0x9a, 0x26, 0x36, 0xf6, 0x99, 0x67, 0xde, 0xd2, 0x34, 0xc8, 0x9e, 0xee, 0xeb, 0x95, 0xd6, 0x99, 0x39, + 0xc7, 0x87, 0x83, 0xe6, 0xf3, 0x27, 0xdd, 0x1b, 0x07, 0xdd, 0x15, 0x28, 0x2e, 0xdd, 0x27, 0xdf, 0x51, 0xf8, 0xc2, + 0x5c, 0x30, 0xed, 0x5c, 0x22, 0xe4, 0xc1, 0xcd, 0xf2, 0x04, 0xa4, 0xbc, 0xcc, 0x27, 0x90, 0x34, 0xcf, 0xcf, 0x97, + 0x98, 0x95, 0x22, 0xc1, 0xcd, 0x84, 0x59, 0x4f, 0x9b, 0x81, 0xe9, 0x66, 0x37, 0x9b, 0x77, 0xf5, 0xe4, 0x49, 0xe7, + 0xb5, 0x83, 0xa6, 0xce, 0xbf, 0xb2, 0xd9, 0xa7, 0x2f, 0x2a, 0xf5, 0x34, 0xad, 0xdc, 0xf5, 0x24, 0x7f, 0xaf, 0x44, + 0x99, 0x05, 0xf0, 0x5e, 0x4a, 0xe4, 0x29, 0x9e, 0xee, 0xe4, 0xa4, 0x89, 0x6a, 0x80, 0x14, 0xab, 0xbb, 0x13, 0xc3, + 0x46, 0xd5, 0x42, 0xa7, 0x1c, 0x3d, 0xe3, 0xd5, 0xcf, 0xd8, 0x23, 0xbe, 0x88, 0xd8, 0x89, 0x8d, 0xc2, 0x8f, 0x8a, + 0xa1, 0xc2, 0xfa, 0xb4, 0x2e, 0x83, 0x57, 0x86, 0xd5, 0x65, 0x2c, 0x06, 0xe4, 0xe7, 0xa6, 0x5c, 0x48, 0xa1, 0xe5, + 0xe7, 0xe8, 0x3e, 0x34, 0x35, 0x50, 0x6f, 0x7c, 0x1e, 0xef, 0xf2, 0xd9, 0xa4, 0xfe, 0x0d, 0x04, 0x7c, 0x90, 0x01, + 0xb5, 0x2c, 0x74, 0x5a, 0xcf, 0x9e, 0xe2, 0xc7, 0x4f, 0xfb, 0xdf, 0x58, 0xf2, 0xf1, 0xc7, 0xff, 0x14, 0xcf, 0x1e, + 0xfb, 0xa8, 0x52, 0x68, 0x12, 0xbc, 0xa7, 0xb0, 0x6f, 0xb3, 0xff, 0xef, 0x91, 0x67, 0xd1, 0xc4, 0x8b, 0xe1, 0x51, + 0x9d, 0x5d, 0x20, 0x4a, 0x6a, 0x7d, 0xe8, 0x8b, 0xd8, 0x71, 0xdf, 0xf7, 0x60, 0x59, 0xba, 0x47, 0xdc, 0xe4, 0xc1, + 0xf5, 0x49, 0xec, 0xf6, 0x95, 0x89, 0x54, 0x6a, 0xfc, 0x8c, 0x5c, 0xc0, 0x58, 0x27, 0xed, 0x31, 0x5c, 0xda, 0xd2, + 0x48, 0xc1, 0xa6, 0x14, 0x67, 0x52, 0x80, 0xfb, 0x4c, 0x94, 0xbe, 0xb3, 0x8f, 0x20, 0xa9, 0xf7, 0x2f, 0x4d, 0x60, + 0x49, 0x5e, 0x97, 0x05, 0x12, 0x9f, 0x8f, 0x2b, 0xf7, 0xf9, 0x24, 0x20, 0x2e, 0x8a, 0x0b, 0x68, 0x0b, 0xc4, 0x18, + 0x15, 0xb9, 0x14, 0x3d, 0x64, 0x69, 0x2a, 0x26, 0xaa, 0x43, 0x7a, 0xc1, 0x6e, 0xdf, 0x0d, 0x94, 0x32, 0x2d, 0x74, + 0xfc, 0xd5, 0x89, 0x18, 0x28, 0x5d, 0x9e, 0xed, 0x6d, 0x61, 0x40, 0x2e, 0x17, 0x13, 0x82, 0x34, 0xbe, 0x9e, 0xc2, + 0xb2, 0xf3, 0x11, 0x5d, 0x25, 0x00, 0x29, 0xbc, 0x5b, 0xc4, 0xcd, 0xa0, 0xa0, 0xa4, 0x81, 0xaa, 0xa9, 0x8d, 0x1e, + 0x08, 0xb1, 0xec, 0x4c, 0xa9, 0xdc, 0x8a, 0x0a, 0x04, 0x01, 0x22, 0x1b, 0x7b, 0x90, 0xc8, 0xe9, 0x61, 0x7a, 0xb8, + 0xa3, 0x2d, 0x4a, 0xa6, 0x68, 0x04, 0x35, 0xda, 0xf4, 0x90, 0xa4, 0x07, 0xaf, 0x9b, 0x89, 0xc1, 0x89, 0xb3, 0xe1, + 0x17, 0xbc, 0xd7, 0x93, 0x7b, 0xbb, 0x36, 0xb2, 0xcf, 0x25, 0xe9, 0x10, 0x73, 0x78, 0xd8, 0xd5, 0xd3, 0xcd, 0x71, + 0xbb, 0xa7, 0x9c, 0x7b, 0x89, 0x9d, 0x80, 0xf6, 0xf6, 0xd4, 0x7d, 0x67, 0x25, 0x6a, 0x5d, 0xf0, 0x08, 0x29, 0xd7, + 0x49, 0xd7, 0x93, 0xef, 0x2f, 0xef, 0x6a, 0x53, 0x2a, 0x9b, 0x88, 0x54, 0x34, 0x99, 0x2a, 0x10, 0x53, 0x82, 0x34, + 0x96, 0x51, 0x2f, 0xb7, 0x73, 0xc4, 0x9e, 0x0e, 0xa3, 0xb8, 0x85, 0x37, 0xb3, 0x55, 0xf6, 0x26, 0xad, 0xaf, 0xb0, + 0x82, 0x69, 0x8a, 0x6a, 0xfe, 0xfb, 0x59, 0x56, 0xb4, 0x33, 0x10, 0x41, 0xa8, 0xe7, 0xb6, 0x25, 0xbb, 0x80, 0x46, + 0x39, 0x7f, 0xdb, 0x40, 0x9b, 0x0e, 0xfb, 0x20, 0xe4, 0x39, 0x32, 0xef, 0xe5, 0x5b, 0x22, 0xc4, 0x40, 0x4a, 0x90, + 0x81, 0xaf, 0x5d, 0x44, 0xd4, 0x1c, 0x16, 0xcd, 0x6d, 0xe0, 0xf0, 0x21, 0x5c, 0x91, 0x99, 0x60, 0x32, 0xc5, 0xdd, + 0x85, 0x38, 0xed, 0xb8, 0xc3, 0x3d, 0x3b, 0xea, 0x59, 0x93, 0x3b, 0x65, 0x1a, 0x69, 0x26, 0x79, 0x7a, 0xb7, 0x4a, + 0xa3, 0x6c, 0xe9, 0xc8, 0xc5, 0x26, 0x92, 0x4b, 0xb9, 0x85, 0x88, 0xdb, 0xb2, 0x76, 0xfa, 0xf6, 0xfb, 0xb2, 0x79, + 0x74, 0x2f, 0xbe, 0xf5, 0x3e, 0xec, 0xdc, 0xaa, 0xb7, 0x35, 0xdb, 0xd6, 0x4f, 0x4b, 0x81, 0x52, 0x06, 0xdc, 0x99, + 0xae, 0x64, 0x26, 0x55, 0x57, 0xbe, 0x68, 0xdb, 0x21, 0x5f, 0x98, 0xc0, 0xf4, 0x34, 0xbc, 0xcd, 0x6a, 0x9d, 0x50, + 0x94, 0xd2, 0x07, 0x62, 0x91, 0xf8, 0x30, 0x00, 0xc6, 0x07, 0xaf, 0x89, 0x5c, 0xf0, 0x33, 0xfc, 0x5c, 0x2a, 0xfd, + 0xae, 0xc9, 0x52, 0x14, 0x80, 0x3e, 0x88, 0xf6, 0xec, 0x34, 0xaa, 0xf9, 0x2a, 0x9b, 0xe9, 0xe4, 0x20, 0xa6, 0x7f, + 0xfc, 0xff, 0x5c, 0x05, 0xea, 0xb7, 0x23, 0x3d, 0x84, 0xf7, 0x9b, 0x04, 0xae, 0xd5, 0xc2, 0x98, 0x9e, 0xc4, 0xa8, + 0x7b, 0x58, 0x12, 0xe1, 0x40, 0x00, 0x5f, 0x45, 0x4d, 0xdc, 0x48, 0xe3, 0xad, 0xa2, 0xa7, 0xa8, 0x6f, 0xc3, 0x5b, + 0x77, 0xb2, 0x4f, 0xc6, 0xe1, 0x7e, 0x8e, 0xb9, 0x17, 0x25, 0xcb, 0x32, 0x88, 0x86, 0x41, 0xd1, 0x2d, 0x0c, 0xac, + 0x90, 0x9f, 0x2f, 0xe0, 0xcb, 0x30, 0xe7, 0x33, 0xa3, 0x64, 0xb4, 0x42, 0xf4, 0x2a, 0xa4, 0x0e, 0x12, 0xef, 0x66, + 0x98, 0x0d, 0x7a, 0x06, 0xc5, 0xfe, 0x60, 0xea, 0x54, 0x2a, 0x68, 0xaf, 0xaa, 0xd2, 0x64, 0x57, 0x92, 0x5b, 0x7b, + 0x15, 0x1d, 0xfd, 0x14, 0x44, 0x8e, 0x97, 0xa2, 0xc5, 0x17, 0x1e, 0x0b, 0xfb, 0x5d, 0xdc, 0x1c, 0xc7, 0x00, 0x3c, + 0x7f, 0xfa, 0xa9, 0x17, 0xb7, 0x22, 0x3b, 0xfd, 0x5b, 0xe2, 0xd2, 0x77, 0x8f, 0xa6, 0xf1, 0xff, 0x29, 0x64, 0x7f, + 0xe0, 0xb7, 0x08, 0xac, 0x3f, 0xed, 0x31, 0x38, 0xb8, 0x84, 0xeb, 0x2d, 0x62, 0xf3, 0x05, 0x2c, 0xcb, 0xdb, 0xad, + 0x79, 0x20, 0x24, 0xee, 0x0b, 0x63, 0x66, 0x4f, 0xca, 0x6a, 0x94, 0x08, 0xff, 0xba, 0x8f, 0x61, 0xff, 0x35, 0x71, + 0x09, 0xc2, 0x70, 0x6e, 0x5c, 0xe8, 0xef, 0xb4, 0xce, 0x9e, 0xe2, 0xfb, 0xa7, 0xfe, 0x66, 0xc9, 0xfb, 0x1f, 0xff, + 0x53, 0x9c, 0x79, 0x67, 0x5c, 0xa3, 0xb7, 0x4f, 0x6f, 0x6e, 0x22, 0x46, 0x4d, 0x5e, 0xcb, 0x0a, 0x67, 0x3f, 0x8b, + 0x9c, 0xcd, 0x84, 0x57, 0x27, 0x72, 0x81, 0x86, 0x91, 0x8f, 0x7b, 0x5e, 0xa2, 0x17, 0xec, 0xba, 0xa3, 0x58, 0x9a, + 0x68, 0xcb, 0x22, 0x54, 0xe8, 0xa7, 0x06, 0x49, 0x82, 0xf9, 0xfe, 0x27, 0x31, 0x3b, 0x6a, 0xab, 0x61, 0x66, 0x15, + 0x0f, 0xf1, 0x5d, 0x5a, 0x99, 0xa4, 0x9c, 0x57, 0xf5, 0x4e, 0x25, 0xca, 0xe6, 0x47, 0x64, 0x87, 0xc5, 0x60, 0xcc, + 0x4a, 0x08, 0xfb, 0x9d, 0x21, 0x32, 0x72, 0xd4, 0x97, 0x38, 0x49, 0xfc, 0x56, 0x47, 0x48, 0xbc, 0xb3, 0x34, 0x48, + 0x5f, 0x4b, 0x80, 0x7c, 0x2d, 0xbb, 0x3e, 0xf6, 0x62, 0x4a, 0x27, 0x1c, 0xee, 0x24, 0x7d, 0xeb, 0x3d, 0xf2, 0x8d, + 0x30, 0x6f, 0x95, 0xc6, 0x31, 0x20, 0xec, 0x5c, 0x03, 0x46, 0x46, 0xec, 0x40, 0x0e, 0x31, 0x17, 0x3b, 0x40, 0x30, + 0xeb, 0x6a, 0x9c, 0x03, 0xbf, 0xf7, 0x0e, 0xa5, 0xf4, 0x62, 0x2d, 0xb5, 0x4f, 0x72, 0x7e, 0x90, 0xc3, 0x31, 0x27, + 0x30, 0xde, 0x93, 0x39, 0x1d, 0x68, 0x1e, 0x93, 0x52, 0x2b, 0x91, 0x8a, 0x06, 0xe4, 0x57, 0xc9, 0xe0, 0x9e, 0xed, + 0xc9, 0x88, 0x93, 0x7f, 0xa1, 0x94, 0xfc, 0xe1, 0xc6, 0x3d, 0x9a, 0x09, 0xce, 0xcb, 0x03, 0x76, 0xb1, 0x59, 0x94, + 0x40, 0x3b, 0x53, 0xcd, 0x93, 0xb3, 0x05, 0x73, 0x69, 0x49, 0x49, 0xcb, 0xc2, 0x27, 0x64, 0x46, 0x6e, 0xfe, 0xc5, + 0xeb, 0x9b, 0xfe, 0x91, 0x61, 0x05, 0xc1, 0x5e, 0xeb, 0xaf, 0xf5, 0x7e, 0x4f, 0xa7, 0x83, 0x43, 0xd0, 0x9d, 0x03, + 0xb4, 0x4a, 0xe3, 0x61, 0x7f, 0xc6, 0x26, 0x80, 0x4c, 0x10, 0x3f, 0xdc, 0xb0, 0xee, 0xee, 0x07, 0x04, 0x66, 0x3f, + 0xf1, 0x8b, 0xe3, 0x94, 0x11, 0xf0, 0xad, 0xdd, 0xa2, 0x12, 0x22, 0x87, 0xff, 0xe7, 0xbe, 0x92, 0xc5, 0xea, 0x36, + 0x39, 0xd2, 0xec, 0xd7, 0xad, 0x33, 0xc0, 0x38, 0xfa, 0xe5, 0x3a, 0xa1, 0x12, 0x46, 0x66, 0x87, 0xa6, 0xd8, 0x15, + 0xce, 0x1e, 0xe1, 0x64, 0xc6, 0x7e, 0x0a, 0x8d, 0x48, 0xe3, 0x60, 0x25, 0x47, 0x5a, 0x80, 0x8b, 0xe5, 0x70, 0x68, + 0x98, 0x84, 0x0e, 0xb0, 0xc5, 0x45, 0x8e, 0xfb, 0xe1, 0xf9, 0x4c, 0xb2, 0xc3, 0x4b, 0x02, 0xe8, 0xc0, 0xb9, 0x88, + 0x89, 0x20, 0x07, 0x2d, 0x06, 0xa1, 0x1b, 0x72, 0xb0, 0x16, 0xaa, 0x61, 0x72, 0x04, 0xcf, 0xbe, 0xfe, 0x31, 0xfa, + 0x49, 0xc3, 0xe0, 0x25, 0x24, 0xc3, 0x28, 0x01, 0xe4, 0x98, 0xac, 0xf4, 0x1b, 0xf7, 0x76, 0x7b, 0xeb, 0xae, 0x0b, + 0x89, 0x3b, 0xfb, 0x69, 0xd7, 0x72, 0x31, 0x91, 0x7a, 0xf5, 0xd1, 0xc0, 0xb0, 0x73, 0xc0, 0x16, 0x78, 0x15, 0x44, + 0x67, 0xa2, 0xc7, 0x3d, 0xdc, 0x9f, 0x42, 0xaf, 0x30, 0x47, 0x60, 0x02, 0x7c, 0x63, 0xb2, 0x3b, 0x79, 0x84, 0xab, + 0xdb, 0x7d, 0xb4, 0xe7, 0xb1, 0x35, 0x8e, 0x0a, 0xa1, 0x34, 0xe2, 0x2d, 0xd3, 0x9d, 0x64, 0xc2, 0x3a, 0xac, 0xfe, + 0xa1, 0x29, 0xae, 0xd2, 0x77, 0xd2, 0x34, 0x82, 0x13, 0xb1, 0xfb, 0x36, 0xdc, 0x6a, 0xe0, 0x04, 0x47, 0x2e, 0x7a, + 0xf8, 0x8e, 0x08, 0x43, 0x0b, 0x7c, 0xc0, 0x49, 0xc5, 0x6c, 0x3c, 0x26, 0x06, 0x4e, 0xe3, 0x24, 0x57, 0x66, 0x39, + 0x37, 0x39, 0x24, 0xae, 0x58, 0xae, 0xb0, 0x9e, 0x5e, 0xb3, 0x6c, 0x93, 0x09, 0xf0, 0xde, 0x4f, 0xdd, 0x7b, 0x26, + 0xa4, 0x5c, 0x35, 0x6a, 0xcb, 0xdd, 0x59, 0xf1, 0x69, 0xb4, 0x92, 0xc9, 0xc9, 0x26, 0xfe, 0x30, 0xc0, 0x9d, 0xdd, + 0x12, 0xdd, 0xa9, 0xee, 0x2e, 0xb9, 0x0b, 0x8d, 0x27, 0xcc, 0x9c, 0xc2, 0x3e, 0x58, 0x4b, 0x75, 0x1e, 0x86, 0xd6, + 0xe3, 0xef, 0x9a, 0x99, 0x80, 0xc8, 0x4e, 0xa6, 0xb3, 0xf8, 0xa1, 0x1b, 0x90, 0xd2, 0x12, 0x47, 0x17, 0x25, 0xab, + 0x3f, 0xad, 0x7b, 0x93, 0x2a, 0xee, 0xd0, 0xf6, 0xf5, 0x8d, 0x1c, 0xef, 0x24, 0x2b, 0xb1, 0x04, 0xd5, 0x48, 0x7e, + 0x91, 0xa4, 0x81, 0x1d, 0x90, 0x0e, 0xb9, 0x46, 0xc3, 0x4c, 0x3d, 0x9b, 0x07, 0xaf, 0x23, 0xdd, 0x06, 0xab, 0x74, + 0x66, 0xf7, 0xf2, 0x03, 0x69, 0x85, 0xa6, 0x8c, 0x49, 0x31, 0xc9, 0xc7, 0x8b, 0x2e, 0x4e, 0x9c, 0xa2, 0x96, 0x7c, + 0x72, 0xe5, 0xa4, 0xe7, 0xb5, 0x3a, 0xe4, 0xea, 0x65, 0x0f, 0x31, 0x90, 0x24, 0xb3, 0x78, 0xa1, 0x7a, 0x72, 0x43, + 0xbc, 0x46, 0x03, 0x9c, 0xb6, 0xc7, 0xee, 0x2e, 0x1e, 0xe5, 0xad, 0x7f, 0xaa, 0xb7, 0x15, 0x5a, 0xfe, 0x94, 0x97, + 0xf7, 0x6a, 0xfd, 0x6d, 0x14, 0x21, 0xbf, 0x8b, 0x1f, 0x76, 0xeb, 0x9f, 0xb6, 0xab, 0x52, 0xa1, 0x53, 0xf9, 0x35, + 0x69, 0x8b, 0x05, 0xc0, 0x9f, 0xd7, 0xa6, 0x29, 0x24, 0x23, 0x8c, 0xa8, 0x4f, 0x10, 0x61, 0xaa, 0x13, 0xc6, 0xb7, + 0xa2, 0x86, 0xbc, 0x15, 0xad, 0x48, 0xaf, 0x19, 0x4d, 0xe3, 0xec, 0xe7, 0x8e, 0x11, 0x76, 0x32, 0x1c, 0xb1, 0x5b, + 0x92, 0x72, 0xfd, 0x14, 0xe9, 0x29, 0x24, 0x8e, 0x45, 0x70, 0x99, 0x50, 0x69, 0x29, 0xc7, 0x04, 0xd0, 0xad, 0xb6, + 0x86, 0x2c, 0x86, 0xd4, 0xa0, 0x8c, 0x59, 0xdd, 0x3c, 0x22, 0x70, 0xd4, 0xa0, 0x87, 0x8e, 0xa4, 0x70, 0x42, 0xb3, + 0x9d, 0x3e, 0x3e, 0x7f, 0xc6, 0xb4, 0x55, 0xdb, 0x20, 0x12, 0x03, 0xd0, 0xed, 0xee, 0x48, 0x0c, 0x41, 0xda, 0xdf, + 0x11, 0xd9, 0x5a, 0x2d, 0xca, 0xe8, 0xc8, 0x86, 0x6e, 0xa7, 0xc8, 0xfc, 0x5a, 0xcd, 0x15, 0xd9, 0xd4, 0xed, 0x06, + 0x65, 0x14, 0x19, 0xa4, 0xbc, 0xa3, 0xb4, 0xe5, 0x62, 0x19, 0x1d, 0xdd, 0xa2, 0x88, 0x50, 0x71, 0x1b, 0x14, 0x69, + 0xfa, 0x83, 0x14, 0x39, 0x0d, 0x11, 0xa7, 0x00, 0xef, 0x4e, 0x2d, 0x89, 0xda, 0x2d, 0x15, 0x0d, 0x9e, 0x42, 0x2f, + 0x83, 0x79, 0x77, 0xe1, 0x40, 0x42, 0x68, 0x73, 0x83, 0x53, 0x10, 0x6d, 0x41, 0xa7, 0x22, 0xbc, 0x15, 0xe9, 0x41, + 0x6a, 0x20, 0x00, 0xaf, 0xce, 0x7d, 0x1c, 0x1c, 0x00, 0xf4, 0xc9, 0x2a, 0xe8, 0x7c, 0x7f, 0xb4, 0xc8, 0x21, 0x96, + 0x66, 0x47, 0xea, 0x29, 0xe2, 0x52, 0x9a, 0x4f, 0xc4, 0xed, 0x82, 0x1c, 0x44, 0x9a, 0x56, 0xfc, 0x87, 0x5c, 0xd8, + 0xa4, 0x9d, 0x0f, 0x33, 0x04, 0x5f, 0x6a, 0xe2, 0x89, 0xd4, 0x7d, 0x8e, 0xc5, 0x94, 0x91, 0xc9, 0xd7, 0xba, 0x0b, + 0xab, 0x1d, 0xcc, 0x01, 0x31, 0x9e, 0x54, 0xf2, 0xd3, 0x29, 0xb2, 0xb3, 0xc9, 0x62, 0xa5, 0xa1, 0x02, 0x5a, 0x3a, + 0xa4, 0xcb, 0x65, 0xab, 0xc7, 0x01, 0x77, 0xfc, 0xa8, 0x09, 0x1f, 0x0d, 0x71, 0x5d, 0xfa, 0xf4, 0x2a, 0x48, 0x43, + 0xf8, 0x60, 0x29, 0xa4, 0x65, 0xd5, 0xb8, 0xf7, 0x66, 0x92, 0xda, 0xbf, 0xdb, 0x2c, 0xad, 0x69, 0xb0, 0xc3, 0xb6, + 0xe8, 0x19, 0x44, 0xe1, 0xeb, 0xaf, 0xa7, 0xd5, 0x47, 0xe7, 0x36, 0x2d, 0x88, 0xd0, 0x57, 0x05, 0x4e, 0x2c, 0xa7, + 0xbf, 0x2c, 0xe9, 0xe6, 0x96, 0xd0, 0x47, 0x2c, 0x7f, 0x94, 0x29, 0xc7, 0x67, 0x86, 0x17, 0x6b, 0xe8, 0x7e, 0x07, + 0x5a, 0x44, 0x8d, 0xb3, 0x59, 0x16, 0x8d, 0x6c, 0x09, 0xaf, 0xa9, 0x98, 0x98, 0xab, 0x1f, 0x0d, 0x19, 0x6b, 0x64, + 0x82, 0xc8, 0xa2, 0x1f, 0x3f, 0xea, 0xd2, 0x11, 0xe7, 0x61, 0x10, 0x27, 0x20, 0xcd, 0xbc, 0x64, 0xe4, 0x4d, 0x14, + 0xfc, 0xd6, 0x73, 0x60, 0x9b, 0xf7, 0x5b, 0xfb, 0xcc, 0x6e, 0xc4, 0x47, 0xfa, 0xda, 0xeb, 0x1d, 0x08, 0x25, 0x21, + 0x46, 0xe5, 0x9e, 0x8f, 0x8b, 0x25, 0x7b, 0x1a, 0x78, 0x53, 0x96, 0x2b, 0x06, 0xb7, 0xf8, 0x0d, 0xe8, 0x41, 0x0d, + 0xef, 0x20, 0xb4, 0x8f, 0x9c, 0x76, 0x84, 0x07, 0x68, 0x54, 0x0f, 0xd7, 0x72, 0x44, 0x17, 0x10, 0x64, 0x4e, 0xd0, + 0xa3, 0x81, 0x32, 0x50, 0xf0, 0x95, 0x64, 0xd0, 0x55, 0x66, 0xbb, 0xcc, 0xd6, 0xd0, 0x8c, 0x09, 0x10, 0xa9, 0xce, + 0x9f, 0x46, 0x70, 0x09, 0x5d, 0xc2, 0xa5, 0xa2, 0x0e, 0x64, 0xd4, 0xca, 0x70, 0x30, 0x0a, 0x68, 0xfa, 0x54, 0x1a, + 0xbf, 0x1a, 0x5d, 0x0a, 0xc0, 0xb1, 0xc6, 0xe7, 0x49, 0x06, 0x9f, 0x6d, 0x5c, 0xb1, 0xb8, 0x0c, 0x9a, 0x03, 0x83, + 0x6b, 0x5f, 0xdb, 0xab, 0xae, 0xc1, 0xce, 0xeb, 0xef, 0xa2, 0x33, 0x86, 0x3d, 0xa3, 0x10, 0x2b, 0x80, 0x0e, 0x90, + 0x28, 0xd7, 0xc0, 0xd9, 0x7b, 0xee, 0x7c, 0x6c, 0x23, 0x57, 0xd0, 0x85, 0x0e, 0x08, 0xae, 0x35, 0xb8, 0xdc, 0x3f, + 0x02, 0x5c, 0x68, 0x68, 0xe7, 0x59, 0x60, 0x45, 0x2e, 0x33, 0x50, 0x23, 0xfe, 0x4d, 0xee, 0x60, 0x59, 0x8d, 0x74, + 0x11, 0x8f, 0x15, 0xb5, 0xed, 0x64, 0x81, 0x4e, 0xb0, 0x4d, 0x0d, 0xb1, 0x03, 0x14, 0xbc, 0x50, 0x7e, 0xc2, 0xa9, + 0x47, 0x4b, 0x37, 0xa8, 0x2c, 0xf8, 0x1c, 0x98, 0xc5, 0xef, 0xa4, 0xde, 0xc2, 0xfd, 0x27, 0x47, 0x76, 0x10, 0x40, + 0xbc, 0x35, 0x2b, 0x84, 0x30, 0xf1, 0x72, 0x6c, 0x13, 0x76, 0x94, 0x81, 0x60, 0x37, 0x9a, 0x08, 0xd9, 0x08, 0x73, + 0x1b, 0xef, 0xa2, 0xf5, 0x7a, 0x1f, 0xbb, 0xbf, 0x18, 0x85, 0xc1, 0x76, 0x81, 0x61, 0xfc, 0x58, 0x8c, 0x22, 0xd4, + 0xf6, 0xf2, 0x5b, 0x91, 0x8c, 0xe4, 0x67, 0x15, 0xcc, 0x45, 0xdc, 0x0e, 0x6c, 0x5d, 0x99, 0x5a, 0x3f, 0x20, 0x2a, + 0xef, 0xf7, 0x92, 0x41, 0xbb, 0x85, 0x8f, 0x6f, 0x46, 0x76, 0xe2, 0x2b, 0xc7, 0xf5, 0xac, 0xfa, 0xfc, 0xfe, 0x39, + 0x22, 0x6b, 0x1e, 0x6f, 0xdd, 0x19, 0x8d, 0xce, 0x6a, 0x2d, 0x87, 0x8d, 0xda, 0xc0, 0x30, 0x21, 0xac, 0xf0, 0xfd, + 0xbc, 0x5c, 0xfb, 0x80, 0x30, 0xfc, 0xba, 0xe1, 0x37, 0x9e, 0x2d, 0xb0, 0x97, 0x1e, 0x1c, 0x2d, 0x6f, 0x5d, 0x57, + 0xd7, 0xd3, 0x4a, 0x34, 0x1e, 0x61, 0x12, 0xe2, 0x75, 0xde, 0x30, 0xa5, 0x03, 0x99, 0xe5, 0xf0, 0xa4, 0x7f, 0x70, + 0x4d, 0x67, 0x3e, 0xc4, 0x88, 0xf6, 0x17, 0x80, 0x7c, 0xd1, 0x94, 0x8f, 0x48, 0x9e, 0xd1, 0xe4, 0x06, 0x9b, 0x46, + 0xfa, 0x85, 0x33, 0xa5, 0x3a, 0x10, 0xdc, 0x77, 0x00, 0x00, 0x03, 0x75, 0x58, 0xf0, 0xfb, 0xd8, 0x56, 0xe2, 0xba, + 0x06, 0x63, 0x30, 0x30, 0xfd, 0x47, 0xbf, 0xa8, 0xf3, 0xa3, 0xcf, 0x50, 0x4d, 0xac, 0xf9, 0x52, 0x23, 0x32, 0xbb, + 0x92, 0x15, 0xd9, 0x4d, 0x90, 0x1f, 0xe7, 0xcb, 0x82, 0xdc, 0x84, 0xb8, 0x09, 0x41, 0xc5, 0x3d, 0xf1, 0xb5, 0xa8, + 0x02, 0x7d, 0x03, 0x94, 0x7f, 0x38, 0xeb, 0x40, 0xd0, 0x5f, 0x04, 0xc6, 0x9a, 0x1c, 0x84, 0xf3, 0xcf, 0x2d, 0x33, + 0x91, 0x3f, 0x8f, 0xc2, 0x65, 0xc9, 0x5f, 0xdd, 0xb2, 0x8d, 0xcc, 0xb8, 0xf1, 0x6d, 0x54, 0x99, 0x14, 0xf2, 0xba, + 0xf6, 0xac, 0x33, 0xbe, 0x90, 0x6a, 0x15, 0xc8, 0xd5, 0x45, 0xcc, 0x8c, 0x69, 0x0b, 0x39, 0xfd, 0x59, 0xfb, 0x5a, + 0xe5, 0x7f, 0xc6, 0x1d, 0x1c, 0xb3, 0xf0, 0xcf, 0xc7, 0x6d, 0x63, 0x0a, 0x88, 0xca, 0x1e, 0xf6, 0x45, 0xe5, 0x59, + 0xa7, 0xcb, 0x02, 0xd8, 0x26, 0x88, 0x2b, 0x19, 0xa1, 0xcc, 0x61, 0xa3, 0xf6, 0xfe, 0xbb, 0x7d, 0x1d, 0xcf, 0xac, + 0xb6, 0x1f, 0xd1, 0x4f, 0xfc, 0x11, 0xf3, 0x6f, 0x17, 0xf6, 0x65, 0x62, 0x9c, 0xbe, 0xce, 0x33, 0xd5, 0x9f, 0xba, + 0x49, 0x5d, 0xf0, 0xac, 0x4e, 0x40, 0x05, 0x09, 0xab, 0xe0, 0x67, 0xb0, 0x67, 0xff, 0xa3, 0xc2, 0xd5, 0x90, 0x4f, + 0xcb, 0x67, 0x67, 0xf6, 0x1a, 0xba, 0x56, 0x50, 0x75, 0xb8, 0x01, 0x22, 0x87, 0xc5, 0xad, 0xea, 0x62, 0xc7, 0x99, + 0xf9, 0x2f, 0x0b, 0xd8, 0xf8, 0x5a, 0x08, 0x4e, 0xd7, 0x1f, 0x5d, 0xbe, 0x44, 0xdb, 0x93, 0xb3, 0x89, 0x19, 0xc6, + 0x97, 0x34, 0xc4, 0x83, 0x7b, 0x4a, 0x87, 0x1f, 0x19, 0x93, 0x4f, 0xf1, 0xc7, 0xa7, 0xfd, 0x64, 0x2e, 0xf9, 0xf1, + 0xe3, 0x5f, 0xfa, 0xab, 0x7e, 0xcd, 0x33, 0xbf, 0x50, 0x67, 0xb2, 0xc3, 0x7b, 0x45, 0xd1, 0xf3, 0x8b, 0xb9, 0x18, + 0x11, 0x5b, 0x31, 0xfe, 0x30, 0x0b, 0x7d, 0xfa, 0xed, 0xed, 0xc3, 0x3d, 0x78, 0x33, 0x28, 0x69, 0xc6, 0x41, 0x9d, + 0x9b, 0xeb, 0x1c, 0x5b, 0x69, 0xca, 0x60, 0x12, 0xec, 0x0d, 0x2c, 0x91, 0x41, 0xda, 0x9d, 0x08, 0x11, 0xa8, 0x0c, + 0x4a, 0x05, 0x43, 0x69, 0x8e, 0xa3, 0xae, 0x83, 0x70, 0x20, 0x28, 0x97, 0x11, 0x5d, 0xd5, 0x2a, 0xce, 0x46, 0x07, + 0x0b, 0x01, 0x67, 0x10, 0x61, 0x08, 0xf0, 0xbd, 0x9a, 0x28, 0x81, 0x29, 0x24, 0x0d, 0x21, 0xfe, 0x54, 0x3a, 0x8e, + 0xa2, 0xb8, 0xae, 0xc2, 0xd7, 0xfb, 0x17, 0xd9, 0x38, 0xf9, 0x28, 0x81, 0xa2, 0xbc, 0x03, 0x81, 0x9a, 0x22, 0x05, + 0x9b, 0x8b, 0xcc, 0xe5, 0x88, 0x85, 0xf3, 0xa1, 0xa0, 0x17, 0x12, 0x56, 0x4b, 0x07, 0x3a, 0x1d, 0x7b, 0x38, 0x24, + 0xb4, 0x2a, 0xd8, 0x84, 0xa1, 0xc9, 0x6d, 0x7e, 0xad, 0x02, 0xca, 0xc9, 0x64, 0x17, 0xb7, 0xc0, 0x37, 0xbf, 0x3e, + 0x47, 0x77, 0x2d, 0x74, 0x9e, 0xf9, 0x9e, 0xf1, 0xf7, 0xef, 0x6f, 0x8e, 0xbf, 0xc2, 0xa3, 0x19, 0xab, 0x26, 0xac, + 0xff, 0xf5, 0x4d, 0x48, 0x08, 0xa5, 0x40, 0x15, 0x01, 0x42, 0xa9, 0xac, 0x81, 0x75, 0x1d, 0x32, 0x73, 0x68, 0xe8, + 0xfa, 0x47, 0x06, 0x39, 0x82, 0x1d, 0x36, 0xf6, 0x6d, 0x58, 0xf8, 0x5a, 0xa9, 0x83, 0xbd, 0x81, 0xa9, 0xb5, 0xb0, + 0x4f, 0x5b, 0xa0, 0xce, 0xe6, 0x9c, 0x39, 0x82, 0xa0, 0x5b, 0x66, 0x66, 0xaa, 0xd2, 0x59, 0x9e, 0x69, 0x7e, 0x46, + 0x7b, 0xc5, 0x7e, 0x5d, 0x02, 0x17, 0x64, 0xe9, 0x6c, 0x6e, 0x6d, 0x45, 0x81, 0xbb, 0x92, 0x2a, 0x9f, 0xb1, 0x75, + 0x3c, 0x04, 0xc2, 0xcf, 0x13, 0x63, 0xbb, 0xc6, 0xe7, 0xc1, 0xd6, 0x27, 0xf9, 0x80, 0x96, 0xae, 0x0f, 0x5d, 0x72, + 0xad, 0x8f, 0x11, 0xcc, 0x88, 0xa9, 0xfc, 0xf0, 0x86, 0xfa, 0x6e, 0x38, 0x70, 0x74, 0x9f, 0xe2, 0xa7, 0x4f, 0x3b, + 0xe9, 0x92, 0x4f, 0x3f, 0xfe, 0x4b, 0x5e, 0xd9, 0x75, 0x08, 0x55, 0x2e, 0x53, 0xf0, 0x63, 0x9f, 0xaf, 0xab, 0xc9, + 0xf6, 0xa6, 0xe2, 0x38, 0x10, 0x3f, 0xaa, 0x34, 0x99, 0xe8, 0x17, 0x77, 0x99, 0xc1, 0xf1, 0x3c, 0x44, 0x56, 0x7b, + 0xe2, 0x5c, 0xd7, 0x93, 0x39, 0x97, 0x6d, 0x70, 0xa1, 0x11, 0x32, 0x75, 0x79, 0xe6, 0x65, 0x9f, 0x13, 0x58, 0xd4, + 0x4c, 0xca, 0xee, 0x6b, 0x8c, 0xc7, 0xd7, 0x96, 0xd3, 0xf4, 0x2c, 0xa4, 0x50, 0x37, 0x1d, 0x2e, 0x68, 0x08, 0x15, + 0xd0, 0xe0, 0xe7, 0x6f, 0x4a, 0xd9, 0x98, 0xb8, 0x19, 0xc9, 0x7f, 0xf0, 0xc8, 0xa4, 0x99, 0x32, 0x1e, 0xe9, 0xb3, + 0x5a, 0xb3, 0x3c, 0xe8, 0x88, 0x2d, 0x65, 0xd9, 0xc7, 0xf8, 0x3a, 0xb5, 0x90, 0xfd, 0x35, 0xfd, 0x3e, 0xdd, 0x62, + 0x94, 0x5a, 0xca, 0x93, 0x8e, 0x84, 0xda, 0xfa, 0xb2, 0x1f, 0x44, 0xa4, 0x2e, 0xf0, 0x50, 0x13, 0xb1, 0x5e, 0xc6, + 0x74, 0x30, 0x98, 0x2a, 0xda, 0x6f, 0x4f, 0x77, 0xab, 0xd3, 0x37, 0x9b, 0x6a, 0x11, 0xe2, 0xfa, 0x40, 0xea, 0x63, + 0x58, 0x4d, 0x94, 0x9d, 0x1d, 0x7a, 0x09, 0x07, 0xc1, 0x03, 0xa3, 0x73, 0x05, 0x37, 0x19, 0x2e, 0x62, 0xd6, 0x99, + 0x07, 0xdc, 0x25, 0xe5, 0x70, 0x82, 0x38, 0xaf, 0xd0, 0xd5, 0xba, 0x0b, 0xe3, 0x5a, 0xbe, 0xc9, 0xbb, 0xd3, 0xa9, + 0xa4, 0x4e, 0x79, 0xb8, 0x01, 0x6d, 0xa4, 0x36, 0xbd, 0x53, 0x6c, 0x1f, 0xb8, 0x55, 0xfb, 0xef, 0x37, 0x20, 0x93, + 0xbd, 0xcf, 0x1f, 0x38, 0xa0, 0x21, 0x08, 0xd9, 0xe3, 0xe5, 0xf8, 0x02, 0x9d, 0x45, 0xdd, 0x5a, 0x77, 0x75, 0xda, + 0x5d, 0x6f, 0xa1, 0x2a, 0xeb, 0x23, 0x2e, 0x98, 0x9c, 0xa1, 0xc3, 0xb6, 0x95, 0x42, 0x3f, 0x86, 0x9e, 0xc4, 0xbc, + 0xbc, 0xb2, 0x36, 0xac, 0x93, 0x13, 0x7b, 0xc1, 0xd5, 0xbe, 0xf9, 0x83, 0xf8, 0x0c, 0x30, 0x8b, 0xb9, 0xe9, 0xcd, + 0xb3, 0xea, 0x0b, 0x31, 0x44, 0xc6, 0x35, 0x1c, 0x61, 0x02, 0x3e, 0xa0, 0xfa, 0x0f, 0x0e, 0x2d, 0x86, 0xab, 0xe3, + 0x52, 0x83, 0xe9, 0xf8, 0xc1, 0x17, 0xd5, 0x11, 0x12, 0xd3, 0x8e, 0xc7, 0x06, 0xac, 0x31, 0xd4, 0xa0, 0x83, 0x5b, + 0xd3, 0x28, 0x40, 0x10, 0xdb, 0xd7, 0xcf, 0x0d, 0x6e, 0xbf, 0x7b, 0xd7, 0xbb, 0x22, 0xe1, 0xdc, 0xbe, 0x6c, 0x80, + 0x39, 0x61, 0x30, 0x3a, 0x9d, 0xad, 0x6b, 0xa2, 0x2f, 0xea, 0xf7, 0x85, 0x2d, 0xf4, 0x40, 0x6e, 0x4c, 0x78, 0x04, + 0x0b, 0x15, 0x77, 0x90, 0x33, 0xa8, 0x80, 0xfb, 0x0b, 0x7a, 0xc0, 0x82, 0x94, 0xf1, 0x89, 0x78, 0x87, 0xd6, 0x31, + 0x42, 0x0d, 0x2c, 0x38, 0x56, 0x1a, 0x86, 0x03, 0x06, 0xc1, 0xf1, 0x59, 0xd6, 0x88, 0xbc, 0x53, 0x23, 0xf8, 0x2b, + 0x1a, 0x45, 0xeb, 0x58, 0x4a, 0x0a, 0x15, 0xac, 0xe9, 0xec, 0x6b, 0x45, 0xc4, 0xab, 0x29, 0xe8, 0x04, 0x18, 0xd2, + 0x9e, 0x38, 0xfb, 0x74, 0x17, 0xc9, 0xa2, 0x7a, 0xcf, 0x2e, 0x12, 0xe1, 0x2e, 0x03, 0x52, 0xc4, 0x81, 0x4f, 0x87, + 0xd5, 0x74, 0x55, 0x6e, 0xee, 0xa1, 0xad, 0xbd, 0x8b, 0x1d, 0x9d, 0x06, 0xc1, 0xe4, 0xd8, 0xb3, 0xe1, 0x46, 0x2f, + 0x0a, 0x0e, 0x5b, 0x49, 0xd9, 0xaf, 0x22, 0x9c, 0x70, 0xeb, 0xb9, 0x16, 0x2a, 0x1d, 0x34, 0x17, 0x7f, 0xba, 0x42, + 0x2f, 0x21, 0xd4, 0xf6, 0x4c, 0x23, 0x4e, 0x2f, 0xc1, 0xd8, 0x6e, 0xfe, 0x53, 0xb7, 0x0c, 0xda, 0xdc, 0xda, 0xbb, + 0xf4, 0xd6, 0x86, 0xb3, 0x49, 0x65, 0x56, 0x0e, 0xba, 0x17, 0xa5, 0xbb, 0x1c, 0xe3, 0x0c, 0x46, 0xf1, 0x49, 0x3e, + 0xd3, 0xaa, 0xf4, 0xd8, 0xef, 0x36, 0x78, 0xc4, 0x3e, 0xda, 0xc6, 0xd8, 0x21, 0x16, 0x58, 0xe4, 0x78, 0x76, 0x02, + 0x35, 0x0e, 0x8d, 0x78, 0x4d, 0x11, 0x5a, 0x52, 0x7b, 0x87, 0x8f, 0x3e, 0xf6, 0xd6, 0xca, 0x77, 0xe4, 0xc5, 0x5a, + 0x04, 0x50, 0x83, 0x9a, 0x56, 0x09, 0xdd, 0xa5, 0x9b, 0x67, 0xbc, 0x06, 0x2c, 0x3a, 0x0a, 0x87, 0x28, 0xdf, 0x39, + 0x57, 0xd0, 0x8e, 0xb6, 0x48, 0x64, 0x1d, 0xa3, 0xa9, 0x14, 0xb9, 0xfe, 0xc3, 0x32, 0x0d, 0x9a, 0x1f, 0xdb, 0x57, + 0x90, 0xbd, 0x39, 0x1f, 0xf3, 0x3f, 0x9e, 0xb3, 0x2f, 0xd9, 0x5e, 0x17, 0x00, 0xae, 0x9f, 0xfd, 0x63, 0x62, 0xf2, + 0x67, 0x16, 0x86, 0xf9, 0x0f, 0xf5, 0x09, 0x6f, 0x02, 0xff, 0x04, 0xcf, 0x59, 0x62, 0xbc, 0x97, 0xe2, 0x3c, 0xc5, + 0x33, 0x97, 0x40, 0x6f, 0x4b, 0xbe, 0x6c, 0x01, 0xbc, 0xb8, 0xd4, 0xbc, 0x5d, 0x70, 0x36, 0x46, 0x14, 0xa8, 0xbe, + 0xd5, 0x93, 0x5c, 0x0e, 0xba, 0x51, 0x8a, 0xb8, 0xe9, 0xb7, 0x0a, 0x34, 0xa3, 0x55, 0x62, 0x76, 0x19, 0x7a, 0xb1, + 0x74, 0x9c, 0xab, 0xf0, 0x33, 0x19, 0x6c, 0x83, 0x7d, 0x22, 0xc2, 0x65, 0xd2, 0x63, 0x84, 0xbf, 0x4d, 0x91, 0x7c, + 0xab, 0xc3, 0xf5, 0x83, 0xc6, 0xbf, 0xee, 0xfd, 0xfa, 0xd5, 0xe3, 0x8b, 0x9b, 0x86, 0xb0, 0x7a, 0xa0, 0x7c, 0x72, + 0xb6, 0xde, 0xed, 0x4c, 0x0f, 0x03, 0xc5, 0x43, 0x61, 0x34, 0x3a, 0xc6, 0x49, 0x61, 0x36, 0x9b, 0x75, 0xfd, 0xd0, + 0xf5, 0x1f, 0x39, 0x1d, 0x48, 0xb0, 0x0c, 0xe5, 0xde, 0x9d, 0x81, 0x79, 0xbd, 0x35, 0x90, 0xb5, 0x5c, 0xe5, 0xc0, + 0x9d, 0x9e, 0xa9, 0xde, 0x8e, 0x14, 0x8e, 0x78, 0xa4, 0x15, 0xee, 0xcc, 0x5e, 0x66, 0x03, 0xba, 0x8b, 0x73, 0x45, + 0x77, 0xce, 0x29, 0x59, 0x44, 0x96, 0x9f, 0xf4, 0x8e, 0xde, 0xec, 0xf8, 0xd8, 0xbd, 0x2b, 0x09, 0x2c, 0xff, 0x6f, + 0xd4, 0xa1, 0x7a, 0x48, 0x8c, 0x14, 0x9e, 0x45, 0xb1, 0xb1, 0x2a, 0x86, 0xef, 0xf0, 0x5b, 0xc9, 0x53, 0xed, 0x15, + 0xc3, 0x02, 0xdf, 0x35, 0xcc, 0xdd, 0x3a, 0x12, 0xbc, 0x4c, 0xc7, 0x80, 0x47, 0x62, 0xc0, 0x6f, 0x36, 0x8f, 0x08, + 0x5d, 0x27, 0x7b, 0x1c, 0x3f, 0x05, 0xe1, 0xc6, 0x15, 0x94, 0x33, 0x23, 0x7c, 0x83, 0x91, 0x83, 0xa7, 0x98, 0x3f, + 0xde, 0xdc, 0x41, 0xf5, 0xf1, 0xc3, 0xbe, 0x58, 0x7b, 0xf0, 0xd7, 0x02, 0xac, 0x81, 0x3c, 0xda, 0x50, 0x3d, 0x4b, + 0xf5, 0xce, 0xfd, 0x35, 0x4f, 0x0b, 0x7e, 0x46, 0x6e, 0x74, 0x5b, 0x9c, 0x23, 0x5f, 0xe2, 0xed, 0xb6, 0x13, 0x6f, + 0x77, 0x7d, 0x6b, 0x7e, 0xd4, 0x08, 0x10, 0x36, 0xbf, 0x2d, 0xdb, 0xfa, 0xc3, 0xc5, 0xed, 0x97, 0xf6, 0xce, 0x60, + 0x07, 0xb8, 0xc4, 0x80, 0x8d, 0xae, 0x8b, 0xd8, 0xe6, 0x8c, 0x1b, 0x63, 0x17, 0x71, 0xd8, 0x00, 0xa4, 0x8a, 0x98, + 0x08, 0x4d, 0xe5, 0x28, 0x04, 0x83, 0xa1, 0x37, 0x7d, 0x1f, 0xef, 0x33, 0x0f, 0xb0, 0x01, 0x9b, 0x4c, 0x6d, 0x42, + 0xd8, 0x98, 0x54, 0xb7, 0x7e, 0x1d, 0xa1, 0x2c, 0xc6, 0xc6, 0xd2, 0x9a, 0x2b, 0x0b, 0x42, 0x9f, 0xb7, 0xfe, 0x56, + 0xc3, 0x36, 0xd7, 0xf8, 0xb7, 0x58, 0x44, 0xfc, 0x98, 0x72, 0xd8, 0x5f, 0xc2, 0xa7, 0x0b, 0xc7, 0xe8, 0xe8, 0x93, + 0xc6, 0x99, 0x71, 0xaa, 0xae, 0x95, 0xfe, 0x56, 0xc6, 0x43, 0x1f, 0xdf, 0xdd, 0x98, 0x2a, 0x3b, 0xf4, 0x12, 0x2c, + 0x3a, 0x0a, 0xe3, 0x21, 0x9e, 0x06, 0x75, 0x1d, 0x47, 0x32, 0x98, 0xba, 0xc7, 0x99, 0xbe, 0xda, 0xce, 0xa2, 0xb8, + 0x8c, 0xd8, 0x79, 0x5f, 0x5a, 0x2d, 0xe3, 0xa0, 0x5a, 0xb8, 0x88, 0x8e, 0x19, 0xd4, 0x22, 0xe2, 0x9d, 0x7a, 0xf1, + 0x24, 0xf9, 0x98, 0xd3, 0x71, 0xa0, 0x74, 0x2d, 0x69, 0x8f, 0x05, 0x34, 0x44, 0x66, 0x14, 0x5e, 0xfa, 0xa9, 0x9b, + 0xfd, 0xd3, 0xf8, 0x7f, 0x5d, 0x6e, 0xb6, 0xdb, 0x63, 0xbb, 0x12, 0x85, 0x39, 0x4d, 0x0e, 0x81, 0xb6, 0xe0, 0x3b, + 0x6e, 0xf5, 0x31, 0x47, 0xc6, 0x78, 0xad, 0x4b, 0xfa, 0xa5, 0xad, 0x3a, 0x8f, 0xda, 0x35, 0x5a, 0xbf, 0xc0, 0x51, + 0x21, 0xb4, 0xd3, 0x6c, 0xb4, 0x8b, 0x0f, 0x7c, 0xde, 0x3c, 0x98, 0x86, 0x26, 0x14, 0x53, 0x4b, 0xf5, 0x90, 0x39, + 0x2a, 0x9f, 0xe3, 0xf4, 0x1e, 0x80, 0x8a, 0x48, 0x7b, 0xf7, 0x7e, 0xa6, 0xde, 0x5f, 0x6b, 0x86, 0xee, 0xa3, 0x56, + 0xca, 0x48, 0xf8, 0x6d, 0x87, 0x90, 0xb0, 0x0a, 0x49, 0x18, 0x3b, 0x27, 0xca, 0x59, 0xd6, 0x36, 0x86, 0x96, 0xf7, + 0x87, 0x83, 0xe7, 0x89, 0x56, 0xcb, 0xb8, 0xc5, 0x23, 0x72, 0xbb, 0xf7, 0x99, 0x48, 0xf5, 0xa2, 0xea, 0xf2, 0x08, + 0x82, 0x45, 0x27, 0x32, 0xd2, 0x5f, 0x8c, 0xda, 0x71, 0x02, 0xfd, 0x7b, 0xf9, 0x53, 0x50, 0x52, 0xd4, 0x0a, 0xa7, + 0x8c, 0x75, 0x13, 0x9d, 0x68, 0x29, 0xc2, 0xc8, 0xa6, 0xaf, 0x82, 0xff, 0x04, 0x37, 0x58, 0x79, 0x77, 0xcf, 0x33, + 0xa2, 0x6a, 0xe1, 0x11, 0x45, 0x32, 0x26, 0xee, 0x7e, 0x0e, 0xb3, 0x84, 0x5e, 0x7a, 0x77, 0xad, 0x75, 0xea, 0x9c, + 0x2e, 0xde, 0x04, 0x51, 0x0a, 0xa2, 0xbb, 0xcf, 0xf1, 0x13, 0xe3, 0x00, 0xe9, 0x06, 0xf8, 0xe7, 0x04, 0xc9, 0x29, + 0x4f, 0x54, 0x5e, 0x06, 0xd3, 0x36, 0xa4, 0x60, 0xf8, 0x58, 0xef, 0xc1, 0x8d, 0x37, 0x7c, 0xb9, 0x9c, 0xfa, 0xe6, + 0xcd, 0x23, 0x57, 0x3d, 0xc4, 0xd3, 0x38, 0xef, 0x6c, 0x5a, 0x26, 0xf8, 0x48, 0x12, 0xff, 0xac, 0x4d, 0xec, 0xb6, + 0x6c, 0xd2, 0xf3, 0xa6, 0xdb, 0xc2, 0xd9, 0xbd, 0x65, 0x0e, 0xb2, 0xd8, 0xf4, 0x05, 0x20, 0xe5, 0x80, 0xd6, 0xc5, + 0x2e, 0x0a, 0x05, 0x71, 0x1a, 0xe0, 0x02, 0x30, 0x42, 0x4b, 0x2c, 0x56, 0xe0, 0x89, 0xc6, 0xd3, 0x2c, 0xa7, 0xc5, + 0x36, 0x78, 0x37, 0x82, 0x67, 0x89, 0x5c, 0x4a, 0xd3, 0x90, 0x36, 0xb5, 0x94, 0xf0, 0xcc, 0xa9, 0xf5, 0x6d, 0x9a, + 0x6e, 0x6a, 0x93, 0xd9, 0x7c, 0xec, 0x8a, 0x15, 0x6d, 0xe8, 0xe0, 0x0e, 0x26, 0xd1, 0x16, 0x42, 0x36, 0x6a, 0x20, + 0xdb, 0xec, 0x4f, 0x59, 0xb2, 0xd3, 0x54, 0xa1, 0x27, 0xb5, 0x6e, 0x89, 0x16, 0x47, 0xa6, 0xde, 0xcd, 0x02, 0x49, + 0xb0, 0x85, 0x86, 0x63, 0x61, 0x45, 0xd3, 0xe3, 0x7b, 0xee, 0xa3, 0x63, 0x60, 0xa1, 0x96, 0x9e, 0xc6, 0x1c, 0xbd, + 0x33, 0x88, 0x69, 0xd6, 0x32, 0xb2, 0x65, 0xe3, 0xf3, 0x1e}; // Backwards compatibility alias #define INDEX_GZ INDEX_BR diff --git a/esphome/components/web_server/web_server.cpp b/esphome/components/web_server/web_server.cpp index cf984ea247..d30cb524f4 100644 --- a/esphome/components/web_server/web_server.cpp +++ b/esphome/components/web_server/web_server.cpp @@ -33,6 +33,10 @@ #include "esphome/components/water_heater/water_heater.h" #endif +#ifdef USE_INFRARED +#include "esphome/components/infrared/infrared.h" +#endif + #ifdef USE_WEBSERVER_LOCAL #if USE_WEBSERVER_VERSION == 2 #include "server_index_v2.h" @@ -527,7 +531,19 @@ static void set_json_id(JsonObject &root, EntityBase *obj, const char *prefix, J memcpy(p, name.c_str(), name_len); p[name_len] = '\0'; - root[ESPHOME_F("id")] = id_buf; + // name_id: new format {prefix}/{device?}/{name} - frontend should prefer this + // Remove in 2026.8.0 when id switches to new format permanently + root[ESPHOME_F("name_id")] = id_buf; + + // id: old format {prefix}-{object_id} for backward compatibility + // Will switch to new format in 2026.8.0 + char legacy_buf[ESPHOME_DOMAIN_MAX_LEN + 1 + OBJECT_ID_MAX_LEN]; + char *lp = legacy_buf; + memcpy(lp, prefix, prefix_len); + lp += prefix_len; + *lp++ = '-'; + obj->write_object_id_to(lp, sizeof(legacy_buf) - (lp - legacy_buf)); + root[ESPHOME_F("id")] = legacy_buf; if (start_config == DETAIL_ALL) { root[ESPHOME_F("domain")] = prefix; @@ -658,6 +674,24 @@ std::string WebServer::text_sensor_json_(text_sensor::TextSensor *obj, const std #endif #ifdef USE_SWITCH +enum SwitchAction : uint8_t { SWITCH_ACTION_NONE, SWITCH_ACTION_TOGGLE, SWITCH_ACTION_TURN_ON, SWITCH_ACTION_TURN_OFF }; + +static void execute_switch_action(switch_::Switch *obj, SwitchAction action) { + switch (action) { + case SWITCH_ACTION_TOGGLE: + obj->toggle(); + break; + case SWITCH_ACTION_TURN_ON: + obj->turn_on(); + break; + case SWITCH_ACTION_TURN_OFF: + obj->turn_off(); + break; + default: + break; + } +} + void WebServer::on_switch_update(switch_::Switch *obj) { if (!this->include_internal_ && obj->is_internal()) return; @@ -676,34 +710,22 @@ void WebServer::handle_switch_request(AsyncWebServerRequest *request, const UrlM return; } - // Handle action methods with single defer and response - enum SwitchAction { NONE, TOGGLE, TURN_ON, TURN_OFF }; - SwitchAction action = NONE; + SwitchAction action = SWITCH_ACTION_NONE; if (match.method_equals(ESPHOME_F("toggle"))) { - action = TOGGLE; + action = SWITCH_ACTION_TOGGLE; } else if (match.method_equals(ESPHOME_F("turn_on"))) { - action = TURN_ON; + action = SWITCH_ACTION_TURN_ON; } else if (match.method_equals(ESPHOME_F("turn_off"))) { - action = TURN_OFF; + action = SWITCH_ACTION_TURN_OFF; } - if (action != NONE) { - this->defer([obj, action]() { - switch (action) { - case TOGGLE: - obj->toggle(); - break; - case TURN_ON: - obj->turn_on(); - break; - case TURN_OFF: - obj->turn_off(); - break; - default: - break; - } - }); + if (action != SWITCH_ACTION_NONE) { +#ifdef USE_ESP8266 + execute_switch_action(obj, action); +#else + this->defer([obj, action]() { execute_switch_action(obj, action); }); +#endif request->send(200); } else { request->send(404); @@ -743,7 +765,7 @@ void WebServer::handle_button_request(AsyncWebServerRequest *request, const UrlM std::string data = this->button_json_(obj, detail); request->send(200, "application/json", data.c_str()); } else if (match.method_equals(ESPHOME_F("press"))) { - this->defer([obj]() { obj->press(); }); + DEFER_ACTION(obj, obj->press()); request->send(200); return; } else { @@ -828,7 +850,7 @@ void WebServer::handle_fan_request(AsyncWebServerRequest *request, const UrlMatc std::string data = this->fan_json_(obj, detail); request->send(200, "application/json", data.c_str()); } else if (match.method_equals(ESPHOME_F("toggle"))) { - this->defer([obj]() { obj->toggle().perform(); }); + DEFER_ACTION(obj, obj->toggle().perform()); request->send(200); } else { bool is_on = match.method_equals(ESPHOME_F("turn_on")); @@ -859,7 +881,7 @@ void WebServer::handle_fan_request(AsyncWebServerRequest *request, const UrlMatc return; } } - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); } return; @@ -909,7 +931,7 @@ void WebServer::handle_light_request(AsyncWebServerRequest *request, const UrlMa std::string data = this->light_json_(obj, detail); request->send(200, "application/json", data.c_str()); } else if (match.method_equals(ESPHOME_F("toggle"))) { - this->defer([obj]() { obj->toggle().perform(); }); + DEFER_ACTION(obj, obj->toggle().perform()); request->send(200); } else { bool is_on = match.method_equals(ESPHOME_F("turn_on")); @@ -938,7 +960,7 @@ void WebServer::handle_light_request(AsyncWebServerRequest *request, const UrlMa parse_string_param_(request, ESPHOME_F("effect"), call, &decltype(call)::set_effect); } - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); } return; @@ -1027,7 +1049,7 @@ void WebServer::handle_cover_request(AsyncWebServerRequest *request, const UrlMa parse_float_param_(request, ESPHOME_F("position"), call, &decltype(call)::set_position); parse_float_param_(request, ESPHOME_F("tilt"), call, &decltype(call)::set_tilt); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1086,7 +1108,7 @@ void WebServer::handle_number_request(AsyncWebServerRequest *request, const UrlM auto call = obj->make_call(); parse_float_param_(request, ESPHOME_F("value"), call, &decltype(call)::set_value); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1159,7 +1181,7 @@ void WebServer::handle_date_request(AsyncWebServerRequest *request, const UrlMat parse_string_param_(request, ESPHOME_F("value"), call, &decltype(call)::set_date); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1178,11 +1200,7 @@ std::string WebServer::date_json_(datetime::DateEntity *obj, JsonDetail start_co // Format: YYYY-MM-DD (max 10 chars + null) char value[12]; -#ifdef USE_ESP8266 - snprintf_P(value, sizeof(value), PSTR("%d-%02d-%02d"), obj->year, obj->month, obj->day); -#else - snprintf(value, sizeof(value), "%d-%02d-%02d", obj->year, obj->month, obj->day); -#endif + buf_append_printf(value, sizeof(value), 0, "%d-%02d-%02d", obj->year, obj->month, obj->day); set_json_icon_state_value(root, obj, "date", value, value, start_config); if (start_config == DETAIL_ALL) { this->add_sorting_info_(root, obj); @@ -1223,7 +1241,7 @@ void WebServer::handle_time_request(AsyncWebServerRequest *request, const UrlMat parse_string_param_(request, ESPHOME_F("value"), call, &decltype(call)::set_time); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1241,11 +1259,7 @@ std::string WebServer::time_json_(datetime::TimeEntity *obj, JsonDetail start_co // Format: HH:MM:SS (8 chars + null) char value[12]; -#ifdef USE_ESP8266 - snprintf_P(value, sizeof(value), PSTR("%02d:%02d:%02d"), obj->hour, obj->minute, obj->second); -#else - snprintf(value, sizeof(value), "%02d:%02d:%02d", obj->hour, obj->minute, obj->second); -#endif + buf_append_printf(value, sizeof(value), 0, "%02d:%02d:%02d", obj->hour, obj->minute, obj->second); set_json_icon_state_value(root, obj, "time", value, value, start_config); if (start_config == DETAIL_ALL) { this->add_sorting_info_(root, obj); @@ -1286,7 +1300,7 @@ void WebServer::handle_datetime_request(AsyncWebServerRequest *request, const Ur parse_string_param_(request, ESPHOME_F("value"), call, &decltype(call)::set_datetime); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1304,13 +1318,8 @@ std::string WebServer::datetime_json_(datetime::DateTimeEntity *obj, JsonDetail // Format: YYYY-MM-DD HH:MM:SS (max 19 chars + null) char value[24]; -#ifdef USE_ESP8266 - snprintf_P(value, sizeof(value), PSTR("%d-%02d-%02d %02d:%02d:%02d"), obj->year, obj->month, obj->day, obj->hour, - obj->minute, obj->second); -#else - snprintf(value, sizeof(value), "%d-%02d-%02d %02d:%02d:%02d", obj->year, obj->month, obj->day, obj->hour, obj->minute, - obj->second); -#endif + buf_append_printf(value, sizeof(value), 0, "%d-%02d-%02d %02d:%02d:%02d", obj->year, obj->month, obj->day, obj->hour, + obj->minute, obj->second); set_json_icon_state_value(root, obj, "datetime", value, value, start_config); if (start_config == DETAIL_ALL) { this->add_sorting_info_(root, obj); @@ -1346,7 +1355,7 @@ void WebServer::handle_text_request(AsyncWebServerRequest *request, const UrlMat auto call = obj->make_call(); parse_string_param_(request, ESPHOME_F("value"), call, &decltype(call)::set_value); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1404,7 +1413,7 @@ void WebServer::handle_select_request(AsyncWebServerRequest *request, const UrlM auto call = obj->make_call(); parse_string_param_(request, ESPHOME_F("option"), call, &decltype(call)::set_option); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1473,7 +1482,7 @@ void WebServer::handle_climate_request(AsyncWebServerRequest *request, const Url parse_float_param_(request, ESPHOME_F("target_temperature_low"), call, &decltype(call)::set_target_temperature_low); parse_float_param_(request, ESPHOME_F("target_temperature"), call, &decltype(call)::set_target_temperature); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1589,6 +1598,24 @@ std::string WebServer::climate_json_(climate::Climate *obj, JsonDetail start_con #endif #ifdef USE_LOCK +enum LockAction : uint8_t { LOCK_ACTION_NONE, LOCK_ACTION_LOCK, LOCK_ACTION_UNLOCK, LOCK_ACTION_OPEN }; + +static void execute_lock_action(lock::Lock *obj, LockAction action) { + switch (action) { + case LOCK_ACTION_LOCK: + obj->lock(); + break; + case LOCK_ACTION_UNLOCK: + obj->unlock(); + break; + case LOCK_ACTION_OPEN: + obj->open(); + break; + default: + break; + } +} + void WebServer::on_lock_update(lock::Lock *obj) { if (!this->include_internal_ && obj->is_internal()) return; @@ -1607,34 +1634,22 @@ void WebServer::handle_lock_request(AsyncWebServerRequest *request, const UrlMat return; } - // Handle action methods with single defer and response - enum LockAction { NONE, LOCK, UNLOCK, OPEN }; - LockAction action = NONE; + LockAction action = LOCK_ACTION_NONE; if (match.method_equals(ESPHOME_F("lock"))) { - action = LOCK; + action = LOCK_ACTION_LOCK; } else if (match.method_equals(ESPHOME_F("unlock"))) { - action = UNLOCK; + action = LOCK_ACTION_UNLOCK; } else if (match.method_equals(ESPHOME_F("open"))) { - action = OPEN; + action = LOCK_ACTION_OPEN; } - if (action != NONE) { - this->defer([obj, action]() { - switch (action) { - case LOCK: - obj->lock(); - break; - case UNLOCK: - obj->unlock(); - break; - case OPEN: - obj->open(); - break; - default: - break; - } - }); + if (action != LOCK_ACTION_NONE) { +#ifdef USE_ESP8266 + execute_lock_action(obj, action); +#else + this->defer([obj, action]() { execute_lock_action(obj, action); }); +#endif request->send(200); } else { request->send(404); @@ -1717,7 +1732,7 @@ void WebServer::handle_valve_request(AsyncWebServerRequest *request, const UrlMa parse_float_param_(request, ESPHOME_F("position"), call, &decltype(call)::set_position); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1796,7 +1811,7 @@ void WebServer::handle_alarm_control_panel_request(AsyncWebServerRequest *reques return; } - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1872,7 +1887,7 @@ void WebServer::handle_water_heater_request(AsyncWebServerRequest *request, cons // Parse on/off parameter parse_bool_param_(request, ESPHOME_F("is_on"), base_call, &water_heater::WaterHeaterCall::set_on); - this->defer([call]() mutable { call.perform(); }); + DEFER_ACTION(call, call.perform()); request->send(200); return; } @@ -1940,6 +1955,110 @@ std::string WebServer::water_heater_json_(water_heater::WaterHeater *obj, JsonDe } #endif +#ifdef USE_INFRARED +void WebServer::handle_infrared_request(AsyncWebServerRequest *request, const UrlMatch &match) { + for (infrared::Infrared *obj : App.get_infrareds()) { + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) + continue; + + if (request->method() == HTTP_GET && entity_match.action_is_empty) { + auto detail = get_request_detail(request); + std::string data = this->infrared_json_(obj, detail); + request->send(200, ESPHOME_F("application/json"), data.c_str()); + return; + } + if (!match.method_equals(ESPHOME_F("transmit"))) { + request->send(404); + return; + } + + // Only allow transmit if the device supports it + if (!obj->has_transmitter()) { + request->send(400, ESPHOME_F("text/plain"), "Device does not support transmission"); + return; + } + + // Parse parameters + auto call = obj->make_call(); + + // Parse carrier frequency (optional) + if (request->hasParam(ESPHOME_F("carrier_frequency"))) { + auto value = parse_number(request->getParam(ESPHOME_F("carrier_frequency"))->value().c_str()); + if (value.has_value()) { + call.set_carrier_frequency(*value); + } + } + + // Parse repeat count (optional, defaults to 1) + if (request->hasParam(ESPHOME_F("repeat_count"))) { + auto value = parse_number(request->getParam(ESPHOME_F("repeat_count"))->value().c_str()); + if (value.has_value()) { + call.set_repeat_count(*value); + } + } + + // Parse base64url-encoded raw timings (required) + // Base64url is URL-safe: uses A-Za-z0-9-_ (no special characters needing escaping) + if (!request->hasParam(ESPHOME_F("data"))) { + request->send(400, ESPHOME_F("text/plain"), "Missing 'data' parameter"); + return; + } + + // .c_str() is required for Arduino framework where value() returns Arduino String instead of std::string + std::string encoded = + request->getParam(ESPHOME_F("data"))->value().c_str(); // NOLINT(readability-redundant-string-cstr) + + // Validate base64url is not empty + if (encoded.empty()) { + request->send(400, ESPHOME_F("text/plain"), "Empty 'data' parameter"); + return; + } + +#ifdef USE_ESP8266 + // ESP8266 is single-threaded, call directly + call.set_raw_timings_base64url(encoded); + call.perform(); +#else + // Defer to main loop for thread safety. Move encoded string into lambda to ensure + // it outlives the call - set_raw_timings_base64url stores a pointer, so the string + // must remain valid until perform() completes. + this->defer([call, encoded = std::move(encoded)]() mutable { + call.set_raw_timings_base64url(encoded); + call.perform(); + }); +#endif + + request->send(200); + return; + } + request->send(404); +} + +std::string WebServer::infrared_all_json_generator(WebServer *web_server, void *source) { + // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson + return web_server->infrared_json_(static_cast(source), DETAIL_ALL); +} + +std::string WebServer::infrared_json_(infrared::Infrared *obj, JsonDetail start_config) { + json::JsonBuilder builder; + JsonObject root = builder.root(); + + set_json_icon_state_value(root, obj, "infrared", "", 0, start_config); + + auto traits = obj->get_traits(); + + root[ESPHOME_F("supports_transmitter")] = traits.get_supports_transmitter(); + root[ESPHOME_F("supports_receiver")] = traits.get_supports_receiver(); + + if (start_config == DETAIL_ALL) { + this->add_sorting_info_(root, obj); + } + + return builder.serialize(); +} +#endif + #ifdef USE_EVENT void WebServer::on_event(event::Event *obj) { if (!this->include_internal_ && obj->is_internal()) @@ -2032,7 +2151,7 @@ void WebServer::handle_update_request(AsyncWebServerRequest *request, const UrlM return; } - this->defer([obj]() mutable { obj->perform(); }); + DEFER_ACTION(obj, obj->perform()); request->send(200); return; } @@ -2068,27 +2187,29 @@ std::string WebServer::update_json_(update::UpdateEntity *obj, JsonDetail start_ #endif bool WebServer::canHandle(AsyncWebServerRequest *request) const { +#ifdef USE_ESP32 + char url_buf[AsyncWebServerRequest::URL_BUF_SIZE]; + StringRef url = request->url_to(url_buf); +#else const auto &url = request->url(); +#endif const auto method = request->method(); - // Static URL checks - static const char *const STATIC_URLS[] = { - "/", + // Static URL checks - use ESPHOME_F to keep strings in flash on ESP8266 + if (url == ESPHOME_F("/")) + return true; #if !defined(USE_ESP32) && defined(USE_ARDUINO) - "/events", + if (url == ESPHOME_F("/events")) + return true; #endif #ifdef USE_WEBSERVER_CSS_INCLUDE - "/0.css", + if (url == ESPHOME_F("/0.css")) + return true; #endif #ifdef USE_WEBSERVER_JS_INCLUDE - "/0.js", + if (url == ESPHOME_F("/0.js")) + return true; #endif - }; - - for (const auto &static_url : STATIC_URLS) { - if (url == static_url) - return true; - } #ifdef USE_WEBSERVER_PRIVATE_NETWORK_ACCESS if (method == HTTP_OPTIONS && request->hasHeader(ESPHOME_F("Access-Control-Request-Private-Network"))) @@ -2108,119 +2229,134 @@ bool WebServer::canHandle(AsyncWebServerRequest *request) const { if (!is_get_or_post) return false; - // Use lookup tables for domain checks - static const char *const GET_ONLY_DOMAINS[] = { + // Check GET-only domains - use ESPHOME_F to keep strings in flash on ESP8266 + if (is_get) { #ifdef USE_SENSOR - "sensor", + if (match.domain_equals(ESPHOME_F("sensor"))) + return true; #endif #ifdef USE_BINARY_SENSOR - "binary_sensor", + if (match.domain_equals(ESPHOME_F("binary_sensor"))) + return true; #endif #ifdef USE_TEXT_SENSOR - "text_sensor", + if (match.domain_equals(ESPHOME_F("text_sensor"))) + return true; #endif #ifdef USE_EVENT - "event", + if (match.domain_equals(ESPHOME_F("event"))) + return true; #endif - }; - - static const char *const GET_POST_DOMAINS[] = { -#ifdef USE_SWITCH - "switch", -#endif -#ifdef USE_BUTTON - "button", -#endif -#ifdef USE_FAN - "fan", -#endif -#ifdef USE_LIGHT - "light", -#endif -#ifdef USE_COVER - "cover", -#endif -#ifdef USE_NUMBER - "number", -#endif -#ifdef USE_DATETIME_DATE - "date", -#endif -#ifdef USE_DATETIME_TIME - "time", -#endif -#ifdef USE_DATETIME_DATETIME - "datetime", -#endif -#ifdef USE_TEXT - "text", -#endif -#ifdef USE_SELECT - "select", -#endif -#ifdef USE_CLIMATE - "climate", -#endif -#ifdef USE_LOCK - "lock", -#endif -#ifdef USE_VALVE - "valve", -#endif -#ifdef USE_ALARM_CONTROL_PANEL - "alarm_control_panel", -#endif -#ifdef USE_UPDATE - "update", -#endif -#ifdef USE_WATER_HEATER - "water_heater", -#endif - }; - - // Check GET-only domains - if (is_get) { - for (const auto &domain : GET_ONLY_DOMAINS) { - if (match.domain_equals(domain)) - return true; - } } // Check GET+POST domains if (is_get_or_post) { - for (const auto &domain : GET_POST_DOMAINS) { - if (match.domain_equals(domain)) - return true; - } +#ifdef USE_SWITCH + if (match.domain_equals(ESPHOME_F("switch"))) + return true; +#endif +#ifdef USE_BUTTON + if (match.domain_equals(ESPHOME_F("button"))) + return true; +#endif +#ifdef USE_FAN + if (match.domain_equals(ESPHOME_F("fan"))) + return true; +#endif +#ifdef USE_LIGHT + if (match.domain_equals(ESPHOME_F("light"))) + return true; +#endif +#ifdef USE_COVER + if (match.domain_equals(ESPHOME_F("cover"))) + return true; +#endif +#ifdef USE_NUMBER + if (match.domain_equals(ESPHOME_F("number"))) + return true; +#endif +#ifdef USE_DATETIME_DATE + if (match.domain_equals(ESPHOME_F("date"))) + return true; +#endif +#ifdef USE_DATETIME_TIME + if (match.domain_equals(ESPHOME_F("time"))) + return true; +#endif +#ifdef USE_DATETIME_DATETIME + if (match.domain_equals(ESPHOME_F("datetime"))) + return true; +#endif +#ifdef USE_TEXT + if (match.domain_equals(ESPHOME_F("text"))) + return true; +#endif +#ifdef USE_SELECT + if (match.domain_equals(ESPHOME_F("select"))) + return true; +#endif +#ifdef USE_CLIMATE + if (match.domain_equals(ESPHOME_F("climate"))) + return true; +#endif +#ifdef USE_LOCK + if (match.domain_equals(ESPHOME_F("lock"))) + return true; +#endif +#ifdef USE_VALVE + if (match.domain_equals(ESPHOME_F("valve"))) + return true; +#endif +#ifdef USE_ALARM_CONTROL_PANEL + if (match.domain_equals(ESPHOME_F("alarm_control_panel"))) + return true; +#endif +#ifdef USE_UPDATE + if (match.domain_equals(ESPHOME_F("update"))) + return true; +#endif +#ifdef USE_WATER_HEATER + if (match.domain_equals(ESPHOME_F("water_heater"))) + return true; +#endif +#ifdef USE_INFRARED + if (match.domain_equals(ESPHOME_F("infrared"))) + return true; +#endif } return false; } void WebServer::handleRequest(AsyncWebServerRequest *request) { +#ifdef USE_ESP32 + char url_buf[AsyncWebServerRequest::URL_BUF_SIZE]; + StringRef url = request->url_to(url_buf); +#else const auto &url = request->url(); +#endif // Handle static routes first - if (url == "/") { + if (url == ESPHOME_F("/")) { this->handle_index_request(request); return; } #if !defined(USE_ESP32) && defined(USE_ARDUINO) - if (url == "/events") { + if (url == ESPHOME_F("/events")) { this->events_.add_new_client(this, request); return; } #endif #ifdef USE_WEBSERVER_CSS_INCLUDE - if (url == "/0.css") { + if (url == ESPHOME_F("/0.css")) { this->handle_css_request(request); return; } #endif #ifdef USE_WEBSERVER_JS_INCLUDE - if (url == "/0.js") { + if (url == ESPHOME_F("/0.js")) { this->handle_js_request(request); return; } @@ -2340,6 +2476,11 @@ void WebServer::handleRequest(AsyncWebServerRequest *request) { else if (match.domain_equals(ESPHOME_F("water_heater"))) { this->handle_water_heater_request(request, match); } +#endif +#ifdef USE_INFRARED + else if (match.domain_equals(ESPHOME_F("infrared"))) { + this->handle_infrared_request(request, match); + } #endif else { // No matching handler found - send 404 diff --git a/esphome/components/web_server/web_server.h b/esphome/components/web_server/web_server.h index b1a495ebef..92a5c7edee 100644 --- a/esphome/components/web_server/web_server.h +++ b/esphome/components/web_server/web_server.h @@ -42,6 +42,14 @@ using ParamNameType = const __FlashStringHelper *; using ParamNameType = const char *; #endif +// ESP8266 is single-threaded, so actions can execute directly in request context. +// Multi-core platforms need to defer to main loop thread for thread safety. +#ifdef USE_ESP8266 +#define DEFER_ACTION(capture, action) action +#else +#define DEFER_ACTION(capture, action) this->defer([capture]() mutable { action; }) +#endif + /// Result of matching a URL against an entity struct EntityMatchResult { bool matched; ///< True if entity matched the URL @@ -452,6 +460,13 @@ class WebServer : public Controller, static std::string water_heater_all_json_generator(WebServer *web_server, void *source); #endif +#ifdef USE_INFRARED + /// Handle an infrared request under '/infrared//transmit'. + void handle_infrared_request(AsyncWebServerRequest *request, const UrlMatch &match); + + static std::string infrared_all_json_generator(WebServer *web_server, void *source); +#endif + #ifdef USE_EVENT void on_event(event::Event *obj) override; @@ -654,6 +669,9 @@ class WebServer : public Controller, #ifdef USE_WATER_HEATER std::string water_heater_json_(water_heater::WaterHeater *obj, JsonDetail start_config); #endif +#ifdef USE_INFRARED + std::string infrared_json_(infrared::Infrared *obj, JsonDetail start_config); +#endif #ifdef USE_UPDATE std::string update_json_(update::UpdateEntity *obj, JsonDetail start_config); #endif diff --git a/esphome/components/web_server_base/__init__.py b/esphome/components/web_server_base/__init__.py index d5d75b395d..6c756575d4 100644 --- a/esphome/components/web_server_base/__init__.py +++ b/esphome/components/web_server_base/__init__.py @@ -47,5 +47,10 @@ async def to_code(config): cg.add_library("ESP8266WiFi", None) if CORE.is_libretiny: CORE.add_platformio_option("lib_ignore", ["ESPAsyncTCP", "RPAsyncTCP"]) + if CORE.is_rp2040: + # Ignore bundled AsyncTCP libraries - we use RPAsyncTCP from async_tcp component + CORE.add_platformio_option( + "lib_ignore", ["ESPAsyncTCP", "AsyncTCP", "AsyncTCP_RP2040W"] + ) # https://github.com/ESP32Async/ESPAsyncWebServer/blob/main/library.json - cg.add_library("ESP32Async/ESPAsyncWebServer", "3.7.10") + cg.add_library("ESP32Async/ESPAsyncWebServer", "3.9.5") diff --git a/esphome/components/web_server_idf/web_server_idf.cpp b/esphome/components/web_server_idf/web_server_idf.cpp index 55d2040a3a..2e5a74cbef 100644 --- a/esphome/components/web_server_idf/web_server_idf.cpp +++ b/esphome/components/web_server_idf/web_server_idf.cpp @@ -246,21 +246,16 @@ optional AsyncWebServerRequest::get_header(const char *name) const return request_get_header(*this, name); } -std::string AsyncWebServerRequest::url() const { - auto *query_start = strchr(this->req_->uri, '?'); - std::string result; - if (query_start == nullptr) { - result = this->req_->uri; - } else { - result = std::string(this->req_->uri, query_start - this->req_->uri); - } +StringRef AsyncWebServerRequest::url_to(std::span buffer) const { + const char *uri = this->req_->uri; + const char *query_start = strchr(uri, '?'); + size_t uri_len = query_start ? static_cast(query_start - uri) : strlen(uri); + size_t copy_len = std::min(uri_len, URL_BUF_SIZE - 1); + memcpy(buffer.data(), uri, copy_len); + buffer[copy_len] = '\0'; // Decode URL-encoded characters in-place (e.g., %20 -> space) - // This matches AsyncWebServer behavior on Arduino - if (!result.empty()) { - size_t new_len = url_decode(&result[0]); - result.resize(new_len); - } - return result; + size_t decoded_len = url_decode(buffer.data()); + return StringRef(buffer.data(), decoded_len); } std::string AsyncWebServerRequest::host() const { return this->get_header("Host").value(); } @@ -487,7 +482,7 @@ void AsyncEventSource::deferrable_send_state(void *source, const char *event_typ AsyncEventSourceResponse::AsyncEventSourceResponse(const AsyncWebServerRequest *request, esphome::web_server_idf::AsyncEventSource *server, esphome::web_server::WebServer *ws) - : server_(server), web_server_(ws), entities_iterator_(new esphome::web_server::ListEntitiesIterator(ws, server)) { + : server_(server), web_server_(ws), entities_iterator_(ws, server) { httpd_req_t *req = *request; httpd_resp_set_status(req, HTTPD_200); @@ -531,12 +526,12 @@ AsyncEventSourceResponse::AsyncEventSourceResponse(const AsyncWebServerRequest * } #endif - this->entities_iterator_->begin(ws->include_internal_); + this->entities_iterator_.begin(ws->include_internal_); // just dump them all up-front and take advantage of the deferred queue // on second thought that takes too long, but leaving the commented code here for debug purposes - // while(!this->entities_iterator_->completed()) { - // this->entities_iterator_->advance(); + // while(!this->entities_iterator_.completed()) { + // this->entities_iterator_.advance(); //} } @@ -634,8 +629,8 @@ void AsyncEventSourceResponse::process_buffer_() { void AsyncEventSourceResponse::loop() { process_buffer_(); process_deferred_queue_(); - if (!this->entities_iterator_->completed()) - this->entities_iterator_->advance(); + if (!this->entities_iterator_.completed()) + this->entities_iterator_.advance(); } bool AsyncEventSourceResponse::try_send_nodefer(const char *message, const char *event, uint32_t id, @@ -781,7 +776,7 @@ void AsyncEventSourceResponse::deferrable_send_state(void *source, const char *e message_generator_t *message_generator) { // allow all json "details_all" to go through before publishing bare state events, this avoids unnamed entries showing // up in the web GUI and reduces event load during initial connect - if (!entities_iterator_->completed() && 0 != strcmp(event_type, "state_detail_all")) + if (!this->entities_iterator_.completed() && 0 != strcmp(event_type, "state_detail_all")) return; if (source == nullptr) diff --git a/esphome/components/web_server_idf/web_server_idf.h b/esphome/components/web_server_idf/web_server_idf.h index 2a334a11e3..e38913ef4a 100644 --- a/esphome/components/web_server_idf/web_server_idf.h +++ b/esphome/components/web_server_idf/web_server_idf.h @@ -3,21 +3,26 @@ #include "esphome/core/defines.h" #include "esphome/core/helpers.h" +#include "esphome/core/string_ref.h" #include #include #include #include #include +#include #include #include #include +#ifdef USE_WEBSERVER +#include "esphome/components/web_server/list_entities.h" +#endif + namespace esphome { #ifdef USE_WEBSERVER namespace web_server { class WebServer; -class ListEntitiesIterator; }; // namespace web_server #endif namespace web_server_idf { @@ -107,7 +112,15 @@ class AsyncWebServerRequest { ~AsyncWebServerRequest(); http_method method() const { return static_cast(this->req_->method); } - std::string url() const; + static constexpr size_t URL_BUF_SIZE = CONFIG_HTTPD_MAX_URI_LEN + 1; ///< Buffer size for url_to() + /// Write URL (without query string) to buffer, returns StringRef pointing to buffer. + /// URL is decoded (e.g., %20 -> space). + StringRef url_to(std::span buffer) const; + /// Get URL as std::string. Prefer url_to() to avoid heap allocation. + std::string url() const { + char buffer[URL_BUF_SIZE]; + return std::string(this->url_to(buffer)); + } std::string host() const; // NOLINTNEXTLINE(readability-identifier-naming) size_t contentLength() const { return this->req_->content_len; } @@ -284,7 +297,7 @@ class AsyncEventSourceResponse { std::atomic fd_{}; std::vector deferred_queue_; esphome::web_server::WebServer *web_server_; - std::unique_ptr entities_iterator_; + esphome::web_server::ListEntitiesIterator entities_iterator_; std::string event_buffer_{""}; size_t event_bytes_sent_; uint16_t consecutive_send_failures_{0}; @@ -303,7 +316,10 @@ class AsyncEventSource : public AsyncWebHandler { // NOLINTNEXTLINE(readability-identifier-naming) bool canHandle(AsyncWebServerRequest *request) const override { - return request->method() == HTTP_GET && request->url() == this->url_; + if (request->method() != HTTP_GET) + return false; + char url_buf[AsyncWebServerRequest::URL_BUF_SIZE]; + return request->url_to(url_buf) == this->url_; } // NOLINTNEXTLINE(readability-identifier-naming) void handleRequest(AsyncWebServerRequest *request) override; diff --git a/esphome/components/weikai/weikai.cpp b/esphome/components/weikai/weikai.cpp index 3384a0572f..d0a8f8366b 100644 --- a/esphome/components/weikai/weikai.cpp +++ b/esphome/components/weikai/weikai.cpp @@ -4,19 +4,13 @@ /// @details The classes declared in this file can be used by the Weikai family #include "weikai.h" +#include "esphome/core/helpers.h" namespace esphome { namespace weikai { static const char *const TAG = "weikai"; -/// @brief convert an int to binary representation as C++ std::string -/// @param val integer to convert -/// @return a std::string -inline std::string i2s(uint8_t val) { return std::bitset<8>(val).to_string(); } -/// Convert std::string to C string -#define I2S2CS(val) (i2s(val).c_str()) - /// @brief measure the time elapsed between two calls /// @param last_time time of the previous call /// @return the elapsed time in milliseconds @@ -170,17 +164,18 @@ void WeikaiComponent::test_gpio_input_() { static bool init_input{false}; static uint8_t state{0}; uint8_t value; + char bin_buf[9]; // 8 binary digits + null if (!init_input) { init_input = true; // set all pins in input mode this->reg(WKREG_GPDIR, 0) = 0x00; ESP_LOGI(TAG, "initializing all pins to input mode"); state = this->reg(WKREG_GPDAT, 0); - ESP_LOGI(TAG, "initial input data state = %02X (%s)", state, I2S2CS(state)); + ESP_LOGI(TAG, "initial input data state = %02X (%s)", state, format_bin_to(bin_buf, state)); } value = this->reg(WKREG_GPDAT, 0); if (value != state) { - ESP_LOGI(TAG, "Input data changed from %02X to %02X (%s)", state, value, I2S2CS(value)); + ESP_LOGI(TAG, "Input data changed from %02X to %02X (%s)", state, value, format_bin_to(bin_buf, value)); state = value; } } @@ -188,6 +183,7 @@ void WeikaiComponent::test_gpio_input_() { void WeikaiComponent::test_gpio_output_() { static bool init_output{false}; static uint8_t state{0}; + char bin_buf[9]; // 8 binary digits + null if (!init_output) { init_output = true; // set all pins in output mode @@ -198,7 +194,7 @@ void WeikaiComponent::test_gpio_output_() { } state = ~state; this->reg(WKREG_GPDAT, 0) = state; - ESP_LOGI(TAG, "Flipping all outputs to %02X (%s)", state, I2S2CS(state)); + ESP_LOGI(TAG, "Flipping all outputs to %02X (%s)", state, format_bin_to(bin_buf, state)); delay(100); // NOLINT } #endif @@ -208,7 +204,9 @@ void WeikaiComponent::test_gpio_output_() { /////////////////////////////////////////////////////////////////////////////// bool WeikaiComponent::read_pin_val_(uint8_t pin) { this->input_state_ = this->reg(WKREG_GPDAT, 0); - ESP_LOGVV(TAG, "reading input pin %u = %u in_state %s", pin, this->input_state_ & (1 << pin), I2S2CS(input_state_)); + char bin_buf[9]; + ESP_LOGVV(TAG, "reading input pin %u = %u in_state %s", pin, this->input_state_ & (1 << pin), + format_bin_to(bin_buf, this->input_state_)); return this->input_state_ & (1 << pin); } @@ -218,7 +216,9 @@ void WeikaiComponent::write_pin_val_(uint8_t pin, bool value) { } else { this->output_state_ &= ~(1 << pin); } - ESP_LOGVV(TAG, "writing output pin %d with %d out_state %s", pin, uint8_t(value), I2S2CS(this->output_state_)); + char bin_buf[9]; + ESP_LOGVV(TAG, "writing output pin %d with %d out_state %s", pin, uint8_t(value), + format_bin_to(bin_buf, this->output_state_)); this->reg(WKREG_GPDAT, 0) = this->output_state_; } @@ -232,7 +232,8 @@ void WeikaiComponent::set_pin_direction_(uint8_t pin, gpio::Flags flags) { ESP_LOGE(TAG, "pin %d direction invalid", pin); } } - ESP_LOGVV(TAG, "setting pin %d direction to %d pin_config=%s", pin, flags, I2S2CS(this->pin_config_)); + char bin_buf[9]; + ESP_LOGVV(TAG, "setting pin %d direction to %d pin_config=%s", pin, flags, format_bin_to(bin_buf, this->pin_config_)); this->reg(WKREG_GPDIR, 0) = this->pin_config_; // TODO check ~ } @@ -241,12 +242,11 @@ void WeikaiGPIOPin::setup() { flags_ == gpio::FLAG_INPUT ? "Input" : this->flags_ == gpio::FLAG_OUTPUT ? "Output" : "NOT SPECIFIED"); - // ESP_LOGCONFIG(TAG, "Setting GPIO pins mode to '%s' %02X", I2S2CS(this->flags_), this->flags_); this->pin_mode(this->flags_); } size_t WeikaiGPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via WeiKai %s", this->pin_, this->parent_->get_name()); + return buf_append_printf(buffer, len, 0, "%u via WeiKai %s", this->pin_, this->parent_->get_name()); } /////////////////////////////////////////////////////////////////////////////// @@ -297,8 +297,9 @@ void WeikaiChannel::set_line_param_() { break; // no parity 000x } this->reg(WKREG_LCR) = lcr; // write LCR + char bin_buf[9]; ESP_LOGV(TAG, " line config: %d data_bits, %d stop_bits, parity %s register [%s]", this->data_bits_, - this->stop_bits_, p2s(this->parity_), I2S2CS(lcr)); + this->stop_bits_, p2s(this->parity_), format_bin_to(bin_buf, lcr)); } void WeikaiChannel::set_baudrate_() { @@ -334,7 +335,8 @@ size_t WeikaiChannel::tx_in_fifo_() { if (tfcnt == 0) { uint8_t const fsr = this->reg(WKREG_FSR); if (fsr & FSR_TFFULL) { - ESP_LOGVV(TAG, "tx FIFO full FSR=%s", I2S2CS(fsr)); + char bin_buf[9]; + ESP_LOGVV(TAG, "tx FIFO full FSR=%s", format_bin_to(bin_buf, fsr)); tfcnt = FIFO_SIZE; } } @@ -346,14 +348,15 @@ size_t WeikaiChannel::rx_in_fifo_() { size_t available = this->reg(WKREG_RFCNT); uint8_t const fsr = this->reg(WKREG_FSR); if (fsr & (FSR_RFOE | FSR_RFLB | FSR_RFFE | FSR_RFPE)) { + char bin_buf[9]; if (fsr & FSR_RFOE) - ESP_LOGE(TAG, "Receive data overflow FSR=%s", I2S2CS(fsr)); + ESP_LOGE(TAG, "Receive data overflow FSR=%s", format_bin_to(bin_buf, fsr)); if (fsr & FSR_RFLB) - ESP_LOGE(TAG, "Receive line break FSR=%s", I2S2CS(fsr)); + ESP_LOGE(TAG, "Receive line break FSR=%s", format_bin_to(bin_buf, fsr)); if (fsr & FSR_RFFE) - ESP_LOGE(TAG, "Receive frame error FSR=%s", I2S2CS(fsr)); + ESP_LOGE(TAG, "Receive frame error FSR=%s", format_bin_to(bin_buf, fsr)); if (fsr & FSR_RFPE) - ESP_LOGE(TAG, "Receive parity error FSR=%s", I2S2CS(fsr)); + ESP_LOGE(TAG, "Receive parity error FSR=%s", format_bin_to(bin_buf, fsr)); } if ((available == 0) && (fsr & FSR_RFDAT)) { // here we should be very careful because we can have something like this: @@ -362,11 +365,13 @@ size_t WeikaiChannel::rx_in_fifo_() { // - so to be sure we need to do another read of RFCNT and if it is still zero -> buffer full available = this->reg(WKREG_RFCNT); if (available == 0) { // still zero ? - ESP_LOGV(TAG, "rx FIFO is full FSR=%s", I2S2CS(fsr)); + char bin_buf[9]; + ESP_LOGV(TAG, "rx FIFO is full FSR=%s", format_bin_to(bin_buf, fsr)); available = FIFO_SIZE; } } - ESP_LOGVV(TAG, "rx FIFO contain %d bytes - FSR status=%s", available, I2S2CS(fsr)); + char bin_buf2[9]; + ESP_LOGVV(TAG, "rx FIFO contain %d bytes - FSR status=%s", available, format_bin_to(bin_buf2, fsr)); return available; } diff --git a/esphome/components/weikai/weikai.h b/esphome/components/weikai/weikai.h index a27c14106d..4440d9414e 100644 --- a/esphome/components/weikai/weikai.h +++ b/esphome/components/weikai/weikai.h @@ -8,7 +8,6 @@ /// wk2132_i2c, wk2168_i2c, wk2204_i2c, wk2212_i2c #pragma once -#include #include #include #include "esphome/core/component.h" diff --git a/esphome/components/weikai_spi/weikai_spi.cpp b/esphome/components/weikai_spi/weikai_spi.cpp index 7bcb817f09..20671a5815 100644 --- a/esphome/components/weikai_spi/weikai_spi.cpp +++ b/esphome/components/weikai_spi/weikai_spi.cpp @@ -10,13 +10,6 @@ namespace weikai_spi { using namespace weikai; static const char *const TAG = "weikai_spi"; -/// @brief convert an int to binary representation as C++ std::string -/// @param val integer to convert -/// @return a std::string -inline std::string i2s(uint8_t val) { return std::bitset<8>(val).to_string(); } -/// Convert std::string to C string -#define I2S2CS(val) (i2s(val).c_str()) - /// @brief measure the time elapsed between two calls /// @param last_time time of the previous call /// @return the elapsed time in microseconds @@ -107,7 +100,8 @@ uint8_t WeikaiRegisterSPI::read_reg() const { spi_comp->write_byte(cmd); uint8_t val = spi_comp->read_byte(); spi_comp->disable(); - ESP_LOGVV(TAG, "WeikaiRegisterSPI::read_reg() cmd=%s(%02X) reg=%s ch=%d buf=%02X", I2S2CS(cmd), cmd, + char bin_buf[9]; + ESP_LOGVV(TAG, "WeikaiRegisterSPI::read_reg() cmd=%s(%02X) reg=%s ch=%d buf=%02X", format_bin_to(bin_buf, cmd), cmd, reg_to_str(this->register_, this->comp_->page1()), this->channel_, val); return val; } @@ -120,8 +114,9 @@ void WeikaiRegisterSPI::read_fifo(uint8_t *data, size_t length) const { spi_comp->read_array(data, length); spi_comp->disable(); #ifdef ESPHOME_LOG_HAS_VERY_VERBOSE - ESP_LOGVV(TAG, "WeikaiRegisterSPI::read_fifo() cmd=%s(%02X) ch=%d len=%d buffer", I2S2CS(cmd), cmd, this->channel_, - length); + char bin_buf[9]; + ESP_LOGVV(TAG, "WeikaiRegisterSPI::read_fifo() cmd=%s(%02X) ch=%d len=%d buffer", format_bin_to(bin_buf, cmd), cmd, + this->channel_, length); print_buffer(data, length); #endif } @@ -132,8 +127,9 @@ void WeikaiRegisterSPI::write_reg(uint8_t value) { spi_comp->enable(); spi_comp->write_array(buf, 2); spi_comp->disable(); - ESP_LOGVV(TAG, "WeikaiRegisterSPI::write_reg() cmd=%s(%02X) reg=%s ch=%d buf=%02X", I2S2CS(buf[0]), buf[0], - reg_to_str(this->register_, this->comp_->page1()), this->channel_, buf[1]); + char bin_buf[9]; + ESP_LOGVV(TAG, "WeikaiRegisterSPI::write_reg() cmd=%s(%02X) reg=%s ch=%d buf=%02X", format_bin_to(bin_buf, buf[0]), + buf[0], reg_to_str(this->register_, this->comp_->page1()), this->channel_, buf[1]); } void WeikaiRegisterSPI::write_fifo(uint8_t *data, size_t length) { @@ -145,8 +141,9 @@ void WeikaiRegisterSPI::write_fifo(uint8_t *data, size_t length) { spi_comp->disable(); #ifdef ESPHOME_LOG_HAS_VERY_VERBOSE - ESP_LOGVV(TAG, "WeikaiRegisterSPI::write_fifo() cmd=%s(%02X) ch=%d len=%d buffer", I2S2CS(cmd), cmd, this->channel_, - length); + char bin_buf[9]; + ESP_LOGVV(TAG, "WeikaiRegisterSPI::write_fifo() cmd=%s(%02X) ch=%d len=%d buffer", format_bin_to(bin_buf, cmd), cmd, + this->channel_, length); print_buffer(data, length); #endif } diff --git a/esphome/components/weikai_spi/weikai_spi.h b/esphome/components/weikai_spi/weikai_spi.h index dd0dc8d495..a75b85dc8e 100644 --- a/esphome/components/weikai_spi/weikai_spi.h +++ b/esphome/components/weikai_spi/weikai_spi.h @@ -6,7 +6,6 @@ /// wk2124_spi, wk2132_spi, wk2168_spi, wk2204_spi, wk2212_spi, #pragma once -#include #include #include "esphome/core/component.h" #include "esphome/components/uart/uart.h" diff --git a/esphome/components/wiegand/wiegand.cpp b/esphome/components/wiegand/wiegand.cpp index dd1443d10c..f3f578794a 100644 --- a/esphome/components/wiegand/wiegand.cpp +++ b/esphome/components/wiegand/wiegand.cpp @@ -1,4 +1,5 @@ #include "wiegand.h" +#include #include "esphome/core/helpers.h" #include "esphome/core/log.h" @@ -69,32 +70,35 @@ void Wiegand::loop() { for (auto *trigger : this->raw_triggers_) trigger->trigger(count, value); if (count == 26) { - std::string tag = to_string((value >> 1) & 0xffffff); - ESP_LOGD(TAG, "received 26-bit tag: %s", tag.c_str()); + char tag_buf[12]; // max 8 digits for 24-bit value + null + buf_append_printf(tag_buf, sizeof(tag_buf), 0, "%" PRIu32, static_cast((value >> 1) & 0xffffff)); + ESP_LOGD(TAG, "received 26-bit tag: %s", tag_buf); if (!check_eparity(value, 13, 13) || !check_oparity(value, 0, 13)) { ESP_LOGW(TAG, "invalid parity"); return; } for (auto *trigger : this->tag_triggers_) - trigger->trigger(tag); + trigger->trigger(tag_buf); } else if (count == 34) { - std::string tag = to_string((value >> 1) & 0xffffffff); - ESP_LOGD(TAG, "received 34-bit tag: %s", tag.c_str()); + char tag_buf[12]; // max 10 digits for 32-bit value + null + buf_append_printf(tag_buf, sizeof(tag_buf), 0, "%" PRIu32, static_cast((value >> 1) & 0xffffffff)); + ESP_LOGD(TAG, "received 34-bit tag: %s", tag_buf); if (!check_eparity(value, 17, 17) || !check_oparity(value, 0, 17)) { ESP_LOGW(TAG, "invalid parity"); return; } for (auto *trigger : this->tag_triggers_) - trigger->trigger(tag); + trigger->trigger(tag_buf); } else if (count == 37) { - std::string tag = to_string((value >> 1) & 0x7ffffffff); - ESP_LOGD(TAG, "received 37-bit tag: %s", tag.c_str()); + char tag_buf[12]; // max 11 digits for 35-bit value + null + buf_append_printf(tag_buf, sizeof(tag_buf), 0, "%" PRIu64, static_cast((value >> 1) & 0x7ffffffff)); + ESP_LOGD(TAG, "received 37-bit tag: %s", tag_buf); if (!check_eparity(value, 18, 19) || !check_oparity(value, 0, 19)) { ESP_LOGW(TAG, "invalid parity"); return; } for (auto *trigger : this->tag_triggers_) - trigger->trigger(tag); + trigger->trigger(tag_buf); } else if (count == 4) { for (auto *trigger : this->key_triggers_) trigger->trigger(value); diff --git a/esphome/components/wifi/wifi_component.cpp b/esphome/components/wifi/wifi_component.cpp index ff6284c073..65c653a62a 100644 --- a/esphome/components/wifi/wifi_component.cpp +++ b/esphome/components/wifi/wifi_component.cpp @@ -39,6 +39,10 @@ #include "esphome/components/esp32_improv/esp32_improv_component.h" #endif +#ifdef USE_IMPROV_SERIAL +#include "esphome/components/improv_serial/improv_serial_component.h" +#endif + namespace esphome::wifi { static const char *const TAG = "wifi"; @@ -365,6 +369,75 @@ bool WiFiComponent::ssid_was_seen_in_scan_(const std::string &ssid) const { return false; } +bool WiFiComponent::needs_full_scan_results_() const { + // Components that require full scan results (for example, scan result listeners) + // are expected to call request_wifi_scan_results(), which sets keep_scan_results_. + if (this->keep_scan_results_) { + return true; + } + +#ifdef USE_CAPTIVE_PORTAL + // Captive portal needs full results when active (showing network list to user) + if (captive_portal::global_captive_portal != nullptr && captive_portal::global_captive_portal->is_active()) { + return true; + } +#endif + +#ifdef USE_IMPROV_SERIAL + // Improv serial needs results during provisioning (before connected) + if (improv_serial::global_improv_serial_component != nullptr && !this->is_connected()) { + return true; + } +#endif + +#ifdef USE_IMPROV + // BLE improv also needs results during provisioning + if (esp32_improv::global_improv_component != nullptr && esp32_improv::global_improv_component->is_active()) { + return true; + } +#endif + + return false; +} + +bool WiFiComponent::matches_configured_network_(const char *ssid, const uint8_t *bssid) const { + // Hidden networks in scan results have empty SSIDs - skip them + if (ssid[0] == '\0') { + return false; + } + for (const auto &sta : this->sta_) { + // Skip hidden network configs (they don't appear in normal scans) + if (sta.get_hidden()) { + continue; + } + // For BSSID-only configs (empty SSID), match by BSSID + if (sta.get_ssid().empty()) { + if (sta.has_bssid() && std::memcmp(sta.get_bssid().data(), bssid, 6) == 0) { + return true; + } + continue; + } + // Match by SSID + if (sta.get_ssid() == ssid) { + return true; + } + } + return false; +} + +void WiFiComponent::log_discarded_scan_result_(const char *ssid, const uint8_t *bssid, int8_t rssi, uint8_t channel) { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + // Skip logging during roaming scans to avoid log buffer overflow + // (roaming scans typically find many networks but only care about same-SSID APs) + if (this->roaming_state_ == RoamingState::SCANNING) { + return; + } + char bssid_s[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(bssid, bssid_s); + ESP_LOGV(TAG, "- " LOG_SECRET("'%s'") " " LOG_SECRET("(%s)") " %ddB Ch:%u", ssid, bssid_s, rssi, channel); +#endif +} + int8_t WiFiComponent::find_next_hidden_sta_(int8_t start_index) { // Find next SSID to try in RETRY_HIDDEN phase. // @@ -565,6 +638,11 @@ void WiFiComponent::start() { void WiFiComponent::restart_adapter() { ESP_LOGW(TAG, "Restarting adapter"); this->wifi_mode_(false, {}); + // Clear error flag here because restart_adapter() enters COOLDOWN state, + // and check_connecting_finished() is called after cooldown without going + // through start_connecting() first. Without this clear, stale errors would + // trigger spurious "failed (callback)" logs. The canonical clear location + // is in start_connecting(); this is the only exception to that pattern. this->error_from_callback_ = false; } @@ -618,8 +696,6 @@ void WiFiComponent::loop() { if (!this->is_connected()) { ESP_LOGW(TAG, "Connection lost; reconnecting"); this->state_ = WIFI_COMPONENT_STATE_STA_CONNECTING; - // Clear error flag before reconnecting so first attempt is not seen as immediate failure - this->error_from_callback_ = false; this->retry_connect(); } else { this->status_clear_warning(); @@ -653,8 +729,12 @@ void WiFiComponent::loop() { ESP_LOGI(TAG, "Starting fallback AP"); this->setup_ap_config_(); #ifdef USE_CAPTIVE_PORTAL - if (captive_portal::global_captive_portal != nullptr) + if (captive_portal::global_captive_portal != nullptr) { + // Reset so we force one full scan after captive portal starts + // (previous scans were filtered because captive portal wasn't active yet) + this->has_completed_scan_after_captive_portal_start_ = false; captive_portal::global_captive_portal->start(); + } #endif } } @@ -743,16 +823,32 @@ void WiFiComponent::setup_ap_config_() { return; if (this->ap_.get_ssid().empty()) { - std::string name = App.get_name(); - if (name.length() > 32) { + // Build AP SSID from app name without heap allocation + // WiFi SSID max is 32 bytes, with MAC suffix we keep first 25 + last 7 + static constexpr size_t AP_SSID_MAX_LEN = 32; + static constexpr size_t AP_SSID_PREFIX_LEN = 25; + static constexpr size_t AP_SSID_SUFFIX_LEN = 7; + + const std::string &app_name = App.get_name(); + const char *name_ptr = app_name.c_str(); + size_t name_len = app_name.length(); + + if (name_len <= AP_SSID_MAX_LEN) { + // Name fits, use directly + this->ap_.set_ssid(name_ptr); + } else { + // Name too long, need to truncate into stack buffer + char ssid_buf[AP_SSID_MAX_LEN + 1]; if (App.is_name_add_mac_suffix_enabled()) { // Keep first 25 chars and last 7 chars (MAC suffix), remove middle - name.erase(25, name.length() - 32); + memcpy(ssid_buf, name_ptr, AP_SSID_PREFIX_LEN); + memcpy(ssid_buf + AP_SSID_PREFIX_LEN, name_ptr + name_len - AP_SSID_SUFFIX_LEN, AP_SSID_SUFFIX_LEN); } else { - name.resize(32); + memcpy(ssid_buf, name_ptr, AP_SSID_MAX_LEN); } + ssid_buf[AP_SSID_MAX_LEN] = '\0'; + this->ap_.set_ssid(ssid_buf); } - this->ap_.set_ssid(name); } this->ap_setup_ = this->wifi_start_ap_(this->ap_); @@ -963,6 +1059,12 @@ void WiFiComponent::start_connecting(const WiFiAP &ap) { ESP_LOGV(TAG, " Hidden: %s", YESNO(ap.get_hidden())); #endif + // Clear any stale error from previous connection attempt. + // This is the canonical location for clearing the flag since all connection + // attempts go through start_connecting(). The only other clear is in + // restart_adapter() which enters COOLDOWN without calling start_connecting(). + this->error_from_callback_ = false; + if (!this->wifi_sta_connect_(ap)) { ESP_LOGE(TAG, "wifi_sta_connect_ failed"); // Enter cooldown to allow WiFi hardware to stabilize @@ -1068,7 +1170,6 @@ void WiFiComponent::enable() { return; ESP_LOGD(TAG, "Enabling"); - this->error_from_callback_ = false; this->state_ = WIFI_COMPONENT_STATE_OFF; this->start(); } @@ -1171,7 +1272,7 @@ template static void insertion_sort_scan_results(VectorType // has overhead from UART transmission, so combining INFO+DEBUG into one line halves // the blocking time. Do NOT split this into separate ESP_LOGI/ESP_LOGD calls. __attribute__((noinline)) static void log_scan_result(const WiFiScanResult &res) { - char bssid_s[18]; + char bssid_s[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; auto bssid = res.get_bssid(); format_mac_addr_upper(bssid.data(), bssid_s); @@ -1187,18 +1288,6 @@ __attribute__((noinline)) static void log_scan_result(const WiFiScanResult &res) #endif } -#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE -// Helper function to log non-matching scan results at verbose level -__attribute__((noinline)) static void log_scan_result_non_matching(const WiFiScanResult &res) { - char bssid_s[18]; - auto bssid = res.get_bssid(); - format_mac_addr_upper(bssid.data(), bssid_s); - - ESP_LOGV(TAG, "- " LOG_SECRET("'%s'") " " LOG_SECRET("(%s) ") "%s", res.get_ssid().c_str(), bssid_s, - LOG_STR_ARG(get_signal_bars(res.get_rssi()))); -} -#endif - void WiFiComponent::check_scanning_finished() { if (!this->scan_done_) { if (millis() - this->action_started_ > WIFI_SCAN_TIMEOUT_MS) { @@ -1208,6 +1297,8 @@ void WiFiComponent::check_scanning_finished() { return; } this->scan_done_ = false; + this->has_completed_scan_after_captive_portal_start_ = + true; // Track that we've done a scan since captive portal started this->retry_hidden_mode_ = RetryHiddenMode::SCAN_BASED; if (this->scan_result_.empty()) { @@ -1235,21 +1326,12 @@ void WiFiComponent::check_scanning_finished() { // Sort scan results using insertion sort for better memory efficiency insertion_sort_scan_results(this->scan_result_); - size_t non_matching_count = 0; + // Log matching networks (non-matching already logged at VERBOSE in scan callback) for (auto &res : this->scan_result_) { if (res.get_matches()) { log_scan_result(res); - } else { -#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE - log_scan_result_non_matching(res); -#else - non_matching_count++; -#endif } } - if (non_matching_count > 0) { - ESP_LOGD(TAG, "- %zu non-matching (VERBOSE to show)", non_matching_count); - } // SYNCHRONIZATION POINT: Establish link between scan_result_[0] and selected_sta_index_ // After sorting, scan_result_[0] contains the best network. Now find which sta_[i] config @@ -1329,11 +1411,6 @@ void WiFiComponent::check_connecting_finished(uint32_t now) { // Reset to initial phase on successful connection (don't log transition, just reset state) this->retry_phase_ = WiFiRetryPhase::INITIAL_CONNECT; this->num_retried_ = 0; - // Ensure next connection attempt does not inherit error state - // so when WiFi disconnects later we start fresh and don't see - // the first connection as a failure. - this->error_from_callback_ = false; - if (this->has_ap()) { #ifdef USE_CAPTIVE_PORTAL if (this->is_captive_portal_active_()) { @@ -1513,7 +1590,10 @@ WiFiRetryPhase WiFiComponent::determine_next_phase_() { if (this->went_through_explicit_hidden_phase_()) { return WiFiRetryPhase::EXPLICIT_HIDDEN; } - // Skip scanning when captive portal/improv is active to avoid disrupting AP. + // Skip scanning when captive portal/improv is active to avoid disrupting AP, + // BUT only if we've already completed at least one scan AFTER the portal started. + // When captive portal first starts, scan results may be filtered/stale, so we need + // to do one full scan to populate available networks for the captive portal UI. // // WHY SCANNING DISRUPTS AP MODE: // WiFi scanning requires the radio to leave the AP's channel and hop through @@ -1530,7 +1610,16 @@ WiFiRetryPhase WiFiComponent::determine_next_phase_() { // // This allows users to configure WiFi via captive portal while the device keeps // attempting to connect to all configured networks in sequence. - if (this->is_captive_portal_active_() || this->is_esp32_improv_active_()) { + // Captive portal needs scan results to show available networks. + // If captive portal is active, only skip scanning if we've done a scan after it started. + // If only improv is active (no captive portal), skip scanning since improv doesn't need results. + if (this->is_captive_portal_active_()) { + if (this->has_completed_scan_after_captive_portal_start_) { + return WiFiRetryPhase::RETRY_HIDDEN; + } + // Need to scan for captive portal + } else if (this->is_esp32_improv_active_()) { + // Improv doesn't need scan results return WiFiRetryPhase::RETRY_HIDDEN; } return WiFiRetryPhase::SCAN_CONNECTING; @@ -1844,8 +1933,6 @@ void WiFiComponent::retry_connect() { this->advance_to_next_target_or_increment_retry_(); } - this->error_from_callback_ = false; - yield(); // Check if we have a valid target before building params // After exhausting all networks in a phase, selected_sta_index_ may be -1 @@ -2079,7 +2166,7 @@ void WiFiComponent::clear_roaming_state_() { void WiFiComponent::release_scan_results_() { if (!this->keep_scan_results_) { -#ifdef USE_RP2040 +#if defined(USE_RP2040) || defined(USE_ESP32) // std::vector - use swap trick since shrink_to_fit is non-binding decltype(this->scan_result_)().swap(this->scan_result_); #else @@ -2171,7 +2258,6 @@ void WiFiComponent::process_roaming_scan_() { this->roaming_state_ = RoamingState::CONNECTING; // Connect directly - wifi_sta_connect_ handles disconnect internally - this->error_from_callback_ = false; this->start_connecting(roam_params); } diff --git a/esphome/components/wifi/wifi_component.h b/esphome/components/wifi/wifi_component.h index dfc91fb5da..f27c522a1b 100644 --- a/esphome/components/wifi/wifi_component.h +++ b/esphome/components/wifi/wifi_component.h @@ -161,9 +161,12 @@ struct EAPAuth { using bssid_t = std::array; -// Use std::vector for RP2040 since scan count is unknown (callback-based) -// Use FixedVector for other platforms where count is queried first -#ifdef USE_RP2040 +/// Initial reserve size for filtered scan results (typical: 1-3 matching networks per SSID) +static constexpr size_t WIFI_SCAN_RESULT_FILTERED_RESERVE = 8; + +// Use std::vector for RP2040 (callback-based) and ESP32 (destructive scan API) +// Use FixedVector for ESP8266 and LibreTiny where two-pass exact allocation is possible +#if defined(USE_RP2040) || defined(USE_ESP32) template using wifi_scan_vector_t = std::vector; #else template using wifi_scan_vector_t = FixedVector; @@ -539,6 +542,13 @@ class WiFiComponent : public Component { /// Check if an SSID was seen in the most recent scan results /// Used to skip hidden mode for SSIDs we know are visible bool ssid_was_seen_in_scan_(const std::string &ssid) const; + /// Check if full scan results are needed (captive portal active, improv, listeners) + bool needs_full_scan_results_() const; + /// Check if network matches any configured network (for scan result filtering) + /// Matches by SSID when configured, or by BSSID for BSSID-only configs + bool matches_configured_network_(const char *ssid, const uint8_t *bssid) const; + /// Log a discarded scan result at VERBOSE level (skipped during roaming scans to avoid log overflow) + void log_discarded_scan_result_(const char *ssid, const uint8_t *bssid, int8_t rssi, uint8_t channel); /// Find next SSID that wasn't in scan results (might be hidden) /// Returns index of next potentially hidden SSID, or -1 if none found /// @param start_index Start searching from index after this (-1 to start from beginning) @@ -710,6 +720,8 @@ class WiFiComponent : public Component { bool enable_on_boot_{true}; bool got_ipv4_address_{false}; bool keep_scan_results_{false}; + bool has_completed_scan_after_captive_portal_start_{ + false}; // Tracks if we've completed a scan after captive portal started RetryHiddenMode retry_hidden_mode_{RetryHiddenMode::BLIND_RETRY}; bool skip_cooldown_next_cycle_{false}; bool post_connect_roaming_{true}; // Enabled by default diff --git a/esphome/components/wifi/wifi_component_esp8266.cpp b/esphome/components/wifi/wifi_component_esp8266.cpp index 6fb5dd5769..c714afaad3 100644 --- a/esphome/components/wifi/wifi_component_esp8266.cpp +++ b/esphome/components/wifi/wifi_component_esp8266.cpp @@ -698,6 +698,10 @@ bool WiFiComponent::wifi_scan_start_(bool passive) { if (!this->wifi_mode_(true, {})) return false; + // Reset scan_done_ before starting new scan to prevent stale flag from previous scan + // (e.g., roaming scan completed just before unexpected disconnect) + this->scan_done_ = false; + struct scan_config config {}; memset(&config, 0, sizeof(config)); config.ssid = nullptr; @@ -752,24 +756,42 @@ void WiFiComponent::wifi_scan_done_callback_(void *arg, STATUS status) { if (status != OK) { ESP_LOGV(TAG, "Scan failed: %d", status); - this->retry_connect(); + // Don't call retry_connect() here - this callback runs in SDK system context + // where yield() cannot be called. Instead, just set scan_done_ and let + // check_scanning_finished() handle the empty scan_result_ from loop context. + this->scan_done_ = true; return; } - // Count the number of results first auto *head = reinterpret_cast(arg); + bool needs_full = this->needs_full_scan_results_(); + + // First pass: count matching networks (linked list is non-destructive) + size_t total = 0; size_t count = 0; for (bss_info *it = head; it != nullptr; it = STAILQ_NEXT(it, next)) { - count++; + total++; + const char *ssid_cstr = reinterpret_cast(it->ssid); + if (needs_full || this->matches_configured_network_(ssid_cstr, it->bssid)) { + count++; + } } - this->scan_result_.init(count); + this->scan_result_.init(count); // Exact allocation + + // Second pass: store matching networks for (bss_info *it = head; it != nullptr; it = STAILQ_NEXT(it, next)) { - this->scan_result_.emplace_back( - bssid_t{it->bssid[0], it->bssid[1], it->bssid[2], it->bssid[3], it->bssid[4], it->bssid[5]}, - std::string(reinterpret_cast(it->ssid), it->ssid_len), it->channel, it->rssi, it->authmode != AUTH_OPEN, - it->is_hidden != 0); + const char *ssid_cstr = reinterpret_cast(it->ssid); + if (needs_full || this->matches_configured_network_(ssid_cstr, it->bssid)) { + this->scan_result_.emplace_back( + bssid_t{it->bssid[0], it->bssid[1], it->bssid[2], it->bssid[3], it->bssid[4], it->bssid[5]}, + std::string(ssid_cstr, it->ssid_len), it->channel, it->rssi, it->authmode != AUTH_OPEN, it->is_hidden != 0); + } else { + this->log_discarded_scan_result_(ssid_cstr, it->bssid, it->rssi, it->channel); + } } + ESP_LOGV(TAG, "Scan complete: %zu found, %zu stored%s", total, this->scan_result_.size(), + needs_full ? "" : " (filtered)"); this->scan_done_ = true; #ifdef USE_WIFI_SCAN_RESULTS_LISTENERS for (auto *listener : global_wifi_component->scan_results_listeners_) { @@ -920,7 +942,16 @@ bssid_t WiFiComponent::wifi_bssid() { } return bssid; } -std::string WiFiComponent::wifi_ssid() { return WiFi.SSID().c_str(); } +std::string WiFiComponent::wifi_ssid() { + struct station_config conf {}; + if (!wifi_station_get_config(&conf)) { + return ""; + } + // conf.ssid is uint8[32], not null-terminated if full + auto *ssid_s = reinterpret_cast(conf.ssid); + size_t len = strnlen(ssid_s, sizeof(conf.ssid)); + return {ssid_s, len}; +} const char *WiFiComponent::wifi_ssid_to(std::span buffer) { struct station_config conf {}; if (!wifi_station_get_config(&conf)) { @@ -934,16 +965,24 @@ const char *WiFiComponent::wifi_ssid_to(std::span buffer return buffer.data(); } int8_t WiFiComponent::wifi_rssi() { - if (WiFi.status() != WL_CONNECTED) + if (wifi_station_get_connect_status() != STATION_GOT_IP) return WIFI_RSSI_DISCONNECTED; - int8_t rssi = WiFi.RSSI(); + sint8 rssi = wifi_station_get_rssi(); // Values >= 31 are error codes per NONOS SDK API, not valid RSSI readings return rssi >= 31 ? WIFI_RSSI_DISCONNECTED : rssi; } -int32_t WiFiComponent::get_wifi_channel() { return WiFi.channel(); } -network::IPAddress WiFiComponent::wifi_subnet_mask_() { return {(const ip_addr_t *) WiFi.subnetMask()}; } -network::IPAddress WiFiComponent::wifi_gateway_ip_() { return {(const ip_addr_t *) WiFi.gatewayIP()}; } -network::IPAddress WiFiComponent::wifi_dns_ip_(int num) { return {(const ip_addr_t *) WiFi.dnsIP(num)}; } +int32_t WiFiComponent::get_wifi_channel() { return wifi_get_channel(); } +network::IPAddress WiFiComponent::wifi_subnet_mask_() { + struct ip_info ip {}; + wifi_get_ip_info(STATION_IF, &ip); + return network::IPAddress(&ip.netmask); +} +network::IPAddress WiFiComponent::wifi_gateway_ip_() { + struct ip_info ip {}; + wifi_get_ip_info(STATION_IF, &ip); + return network::IPAddress(&ip.gw); +} +network::IPAddress WiFiComponent::wifi_dns_ip_(int num) { return network::IPAddress(dns_getserver(num)); } void WiFiComponent::wifi_loop_() {} } // namespace esphome::wifi diff --git a/esphome/components/wifi/wifi_component_esp_idf.cpp b/esphome/components/wifi/wifi_component_esp_idf.cpp index 848ec3e11c..a32232a758 100644 --- a/esphome/components/wifi/wifi_component_esp_idf.cpp +++ b/esphome/components/wifi/wifi_component_esp_idf.cpp @@ -14,6 +14,7 @@ #include #include +#include #include #ifdef USE_WIFI_WPA2_EAP #if (ESP_IDF_VERSION_MAJOR >= 5) && (ESP_IDF_VERSION_MINOR >= 1) @@ -827,22 +828,57 @@ void WiFiComponent::wifi_process_event_(IDFWiFiEvent *data) { } uint16_t number = it.number; - auto records = std::make_unique(number); + bool needs_full = this->needs_full_scan_results_(); + + // Smart reserve: full capacity if needed, small reserve otherwise + if (needs_full) { + this->scan_result_.reserve(number); + } else { + this->scan_result_.reserve(WIFI_SCAN_RESULT_FILTERED_RESERVE); + } + +#ifdef USE_ESP32_HOSTED + // getting records one at a time fails on P4 with hosted esp32 WiFi coprocessor + // Presumably an upstream bug, work-around by getting all records at once + // Use stack buffer (3904 bytes / ~80 bytes per record = ~48 records) with heap fallback + static constexpr size_t SCAN_RECORD_STACK_COUNT = 3904 / sizeof(wifi_ap_record_t); + SmallBufferWithHeapFallback records(number); err = esp_wifi_scan_get_ap_records(&number, records.get()); if (err != ESP_OK) { + esp_wifi_clear_ap_list(); ESP_LOGW(TAG, "esp_wifi_scan_get_ap_records failed: %s", esp_err_to_name(err)); return; } + for (uint16_t i = 0; i < number; i++) { + wifi_ap_record_t &record = records.get()[i]; +#else + // Process one record at a time to avoid large buffer allocation + for (uint16_t i = 0; i < number; i++) { + wifi_ap_record_t record; + err = esp_wifi_scan_get_ap_record(&record); + if (err != ESP_OK) { + ESP_LOGW(TAG, "esp_wifi_scan_get_ap_record failed: %s", esp_err_to_name(err)); + esp_wifi_clear_ap_list(); // Free remaining records not yet retrieved + break; + } +#endif // USE_ESP32_HOSTED - scan_result_.init(number); - for (int i = 0; i < number; i++) { - auto &record = records[i]; - bssid_t bssid; - std::copy(record.bssid, record.bssid + 6, bssid.begin()); - std::string ssid(reinterpret_cast(record.ssid)); - scan_result_.emplace_back(bssid, ssid, record.primary, record.rssi, record.authmode != WIFI_AUTH_OPEN, - ssid.empty()); + // Check C string first - avoid std::string construction for non-matching networks + const char *ssid_cstr = reinterpret_cast(record.ssid); + + // Only construct std::string and store if needed + if (needs_full || this->matches_configured_network_(ssid_cstr, record.bssid)) { + bssid_t bssid; + std::copy(record.bssid, record.bssid + 6, bssid.begin()); + std::string ssid(ssid_cstr); + this->scan_result_.emplace_back(bssid, std::move(ssid), record.primary, record.rssi, + record.authmode != WIFI_AUTH_OPEN, ssid_cstr[0] == '\0'); + } else { + this->log_discarded_scan_result_(ssid_cstr, record.bssid, record.rssi, record.primary); + } } + ESP_LOGV(TAG, "Scan complete: %u found, %zu stored%s", number, this->scan_result_.size(), + needs_full ? "" : " (filtered)"); #ifdef USE_WIFI_SCAN_RESULTS_LISTENERS for (auto *listener : this->scan_results_listeners_) { listener->on_wifi_scan_results(this->scan_result_); diff --git a/esphome/components/wifi/wifi_component_libretiny.cpp b/esphome/components/wifi/wifi_component_libretiny.cpp index 162ed4e835..af2b82c3c6 100644 --- a/esphome/components/wifi/wifi_component_libretiny.cpp +++ b/esphome/components/wifi/wifi_component_libretiny.cpp @@ -460,13 +460,15 @@ void WiFiComponent::wifi_process_event_(LTWiFiEvent *event) { listener->on_wifi_connect_state(StringRef(it.ssid, it.ssid_len), it.bssid); } #endif - // For static IP configurations, GOT_IP event may not fire, so notify IP listeners here -#if defined(USE_WIFI_IP_STATE_LISTENERS) && defined(USE_WIFI_MANUAL_IP) + // For static IP configurations, GOT_IP event may not fire, so set connected state here +#ifdef USE_WIFI_MANUAL_IP if (const WiFiAP *config = this->get_selected_sta_(); config && config->get_manual_ip().has_value()) { s_sta_state = LTWiFiSTAState::CONNECTED; +#ifdef USE_WIFI_IP_STATE_LISTENERS for (auto *listener : this->ip_state_listeners_) { listener->on_ip_state(this->wifi_sta_ip_addresses(), this->get_dns_address(0), this->get_dns_address(1)); } +#endif } #endif break; @@ -647,6 +649,10 @@ bool WiFiComponent::wifi_scan_start_(bool passive) { if (!this->wifi_mode_(true, {})) return false; + // Reset scan_done_ before starting new scan to prevent stale flag from previous scan + // (e.g., roaming scan completed just before unexpected disconnect) + this->scan_done_ = false; + // need to use WiFi because of WiFiScanClass allocations :( int16_t err = WiFi.scanNetworks(true, true, passive, 200); if (err != WIFI_SCAN_RUNNING) { @@ -664,18 +670,39 @@ void WiFiComponent::wifi_scan_done_callback_() { if (num < 0) return; - this->scan_result_.init(static_cast(num)); - for (int i = 0; i < num; i++) { - String ssid = WiFi.SSID(i); - wifi_auth_mode_t authmode = WiFi.encryptionType(i); - int32_t rssi = WiFi.RSSI(i); - uint8_t *bssid = WiFi.BSSID(i); - int32_t channel = WiFi.channel(i); + bool needs_full = this->needs_full_scan_results_(); - this->scan_result_.emplace_back(bssid_t{bssid[0], bssid[1], bssid[2], bssid[3], bssid[4], bssid[5]}, - std::string(ssid.c_str()), channel, rssi, authmode != WIFI_AUTH_OPEN, - ssid.length() == 0); + // Access scan results directly via WiFi.scan struct to avoid Arduino String allocations + // WiFi.scan is public in LibreTiny for WiFiEvents & WiFiScan static handlers + auto *scan = WiFi.scan; + + // First pass: count matching networks + size_t count = 0; + for (int i = 0; i < num; i++) { + const char *ssid_cstr = scan->ap[i].ssid; + if (needs_full || this->matches_configured_network_(ssid_cstr, scan->ap[i].bssid.addr)) { + count++; + } } + + this->scan_result_.init(count); // Exact allocation + + // Second pass: store matching networks + for (int i = 0; i < num; i++) { + const char *ssid_cstr = scan->ap[i].ssid; + if (needs_full || this->matches_configured_network_(ssid_cstr, scan->ap[i].bssid.addr)) { + auto &ap = scan->ap[i]; + this->scan_result_.emplace_back(bssid_t{ap.bssid.addr[0], ap.bssid.addr[1], ap.bssid.addr[2], ap.bssid.addr[3], + ap.bssid.addr[4], ap.bssid.addr[5]}, + std::string(ssid_cstr), ap.channel, ap.rssi, ap.auth != WIFI_AUTH_OPEN, + ssid_cstr[0] == '\0'); + } else { + auto &ap = scan->ap[i]; + this->log_discarded_scan_result_(ssid_cstr, ap.bssid.addr, ap.rssi, ap.channel); + } + } + ESP_LOGV(TAG, "Scan complete: %d found, %zu stored%s", num, this->scan_result_.size(), + needs_full ? "" : " (filtered)"); WiFi.scanDelete(); #ifdef USE_WIFI_SCAN_RESULTS_LISTENERS for (auto *listener : this->scan_results_listeners_) { diff --git a/esphome/components/wifi/wifi_component_pico_w.cpp b/esphome/components/wifi/wifi_component_pico_w.cpp index 29ac096d94..84c10d5d43 100644 --- a/esphome/components/wifi/wifi_component_pico_w.cpp +++ b/esphome/components/wifi/wifi_component_pico_w.cpp @@ -21,6 +21,7 @@ static const char *const TAG = "wifi_pico_w"; // Track previous state for detecting changes static bool s_sta_was_connected = false; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) static bool s_sta_had_ip = false; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) +static size_t s_scan_result_count = 0; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) bool WiFiComponent::wifi_mode_(optional sta, optional ap) { if (sta.has_value()) { @@ -137,10 +138,20 @@ int WiFiComponent::s_wifi_scan_result(void *env, const cyw43_ev_scan_result_t *r } void WiFiComponent::wifi_scan_result(void *env, const cyw43_ev_scan_result_t *result) { + s_scan_result_count++; + const char *ssid_cstr = reinterpret_cast(result->ssid); + + // Skip networks that don't match any configured network (unless full results needed) + if (!this->needs_full_scan_results_() && !this->matches_configured_network_(ssid_cstr, result->bssid)) { + this->log_discarded_scan_result_(ssid_cstr, result->bssid, result->rssi, result->channel); + return; + } + bssid_t bssid; std::copy(result->bssid, result->bssid + 6, bssid.begin()); - std::string ssid(reinterpret_cast(result->ssid)); - WiFiScanResult res(bssid, ssid, result->channel, result->rssi, result->auth_mode != CYW43_AUTH_OPEN, ssid.empty()); + std::string ssid(ssid_cstr); + WiFiScanResult res(bssid, std::move(ssid), result->channel, result->rssi, result->auth_mode != CYW43_AUTH_OPEN, + ssid_cstr[0] == '\0'); if (std::find(this->scan_result_.begin(), this->scan_result_.end(), res) == this->scan_result_.end()) { this->scan_result_.push_back(res); } @@ -149,6 +160,7 @@ void WiFiComponent::wifi_scan_result(void *env, const cyw43_ev_scan_result_t *re bool WiFiComponent::wifi_scan_start_(bool passive) { this->scan_result_.clear(); this->scan_done_ = false; + s_scan_result_count = 0; cyw43_wifi_scan_options_t scan_options = {0}; scan_options.scan_type = passive ? 1 : 0; int err = cyw43_wifi_scan(&cyw43_state, &scan_options, nullptr, &s_wifi_scan_result); @@ -244,7 +256,9 @@ void WiFiComponent::wifi_loop_() { // Handle scan completion if (this->state_ == WIFI_COMPONENT_STATE_STA_SCANNING && !cyw43_wifi_scan_active(&cyw43_state)) { this->scan_done_ = true; - ESP_LOGV(TAG, "Scan done"); + bool needs_full = this->needs_full_scan_results_(); + ESP_LOGV(TAG, "Scan complete: %zu found, %zu stored%s", s_scan_result_count, this->scan_result_.size(), + needs_full ? "" : " (filtered)"); #ifdef USE_WIFI_SCAN_RESULTS_LISTENERS for (auto *listener : this->scan_results_listeners_) { listener->on_wifi_scan_results(this->scan_result_); diff --git a/esphome/components/wifi_info/text_sensor.py b/esphome/components/wifi_info/text_sensor.py index 9ecb5b7490..5f72d0aa74 100644 --- a/esphome/components/wifi_info/text_sensor.py +++ b/esphome/components/wifi_info/text_sensor.py @@ -79,13 +79,17 @@ async def setup_conf(config, key): async def to_code(config): # Request specific WiFi listeners based on which sensors are configured + # Each sensor needs its own listener slot - call request for EACH sensor + # SSID and BSSID use WiFiConnectStateListener - if CONF_SSID in config or CONF_BSSID in config: - wifi.request_wifi_connect_state_listener() + for key in (CONF_SSID, CONF_BSSID): + if key in config: + wifi.request_wifi_connect_state_listener() # IP address and DNS use WiFiIPStateListener - if CONF_IP_ADDRESS in config or CONF_DNS_ADDRESS in config: - wifi.request_wifi_ip_state_listener() + for key in (CONF_IP_ADDRESS, CONF_DNS_ADDRESS): + if key in config: + wifi.request_wifi_ip_state_listener() # Scan results use WiFiScanResultsListener if CONF_SCAN_RESULTS in config: diff --git a/esphome/components/wireguard/__init__.py b/esphome/components/wireguard/__init__.py index 50c7980215..124d9a8c32 100644 --- a/esphome/components/wireguard/__init__.py +++ b/esphome/components/wireguard/__init__.py @@ -30,6 +30,7 @@ _WG_KEY_REGEX = re.compile(r"^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw480]=$") wireguard_ns = cg.esphome_ns.namespace("wireguard") Wireguard = wireguard_ns.class_("Wireguard", cg.Component, cg.PollingComponent) +AllowedIP = wireguard_ns.struct("AllowedIP") WireguardPeerOnlineCondition = wireguard_ns.class_( "WireguardPeerOnlineCondition", automation.Condition ) @@ -108,8 +109,18 @@ async def to_code(config): ) ) - for ip in allowed_ips: - cg.add(var.add_allowed_ip(str(ip.network_address), str(ip.netmask))) + cg.add( + var.set_allowed_ips( + [ + cg.StructInitializer( + AllowedIP, + ("ip", str(ip.network_address)), + ("netmask", str(ip.netmask)), + ) + for ip in allowed_ips + ] + ) + ) cg.add(var.set_srctime(await cg.get_variable(config[CONF_TIME_ID]))) diff --git a/esphome/components/wireguard/wireguard.cpp b/esphome/components/wireguard/wireguard.cpp index 7810a40ae1..2022e25b6c 100644 --- a/esphome/components/wireguard/wireguard.cpp +++ b/esphome/components/wireguard/wireguard.cpp @@ -13,8 +13,7 @@ #include #include -namespace esphome { -namespace wireguard { +namespace esphome::wireguard { static const char *const TAG = "wireguard"; @@ -28,16 +27,16 @@ static const char *const LOGMSG_ONLINE = "online"; static const char *const LOGMSG_OFFLINE = "offline"; void Wireguard::setup() { - this->wg_config_.address = this->address_.c_str(); - this->wg_config_.private_key = this->private_key_.c_str(); - this->wg_config_.endpoint = this->peer_endpoint_.c_str(); - this->wg_config_.public_key = this->peer_public_key_.c_str(); + this->wg_config_.address = this->address_; + this->wg_config_.private_key = this->private_key_; + this->wg_config_.endpoint = this->peer_endpoint_; + this->wg_config_.public_key = this->peer_public_key_; this->wg_config_.port = this->peer_port_; - this->wg_config_.netmask = this->netmask_.c_str(); + this->wg_config_.netmask = this->netmask_; this->wg_config_.persistent_keepalive = this->keepalive_; - if (!this->preshared_key_.empty()) - this->wg_config_.preshared_key = this->preshared_key_.c_str(); + if (this->preshared_key_ != nullptr) + this->wg_config_.preshared_key = this->preshared_key_; this->publish_enabled_state(); @@ -131,6 +130,10 @@ void Wireguard::update() { } void Wireguard::dump_config() { + char private_key_masked[MASK_KEY_BUFFER_SIZE]; + char preshared_key_masked[MASK_KEY_BUFFER_SIZE]; + mask_key_to(private_key_masked, sizeof(private_key_masked), this->private_key_); + mask_key_to(preshared_key_masked, sizeof(preshared_key_masked), this->preshared_key_); // clang-format off ESP_LOGCONFIG( TAG, @@ -142,13 +145,13 @@ void Wireguard::dump_config() { " Peer Port: " LOG_SECRET("%d") "\n" " Peer Public Key: " LOG_SECRET("%s") "\n" " Peer Pre-shared Key: " LOG_SECRET("%s"), - this->address_.c_str(), this->netmask_.c_str(), mask_key(this->private_key_).c_str(), - this->peer_endpoint_.c_str(), this->peer_port_, this->peer_public_key_.c_str(), - (!this->preshared_key_.empty() ? mask_key(this->preshared_key_).c_str() : "NOT IN USE")); + this->address_, this->netmask_, private_key_masked, + this->peer_endpoint_, this->peer_port_, this->peer_public_key_, + (this->preshared_key_ != nullptr ? preshared_key_masked : "NOT IN USE")); // clang-format on ESP_LOGCONFIG(TAG, " Peer Allowed IPs:"); - for (auto &allowed_ip : this->allowed_ips_) { - ESP_LOGCONFIG(TAG, " - %s/%s", std::get<0>(allowed_ip).c_str(), std::get<1>(allowed_ip).c_str()); + for (const AllowedIP &allowed_ip : this->allowed_ips_) { + ESP_LOGCONFIG(TAG, " - %s/%s", allowed_ip.ip, allowed_ip.netmask); } ESP_LOGCONFIG(TAG, " Peer Persistent Keepalive: %d%s", this->keepalive_, (this->keepalive_ > 0 ? "s" : " (DISABLED)")); @@ -176,18 +179,6 @@ time_t Wireguard::get_latest_handshake() const { return result; } -void Wireguard::set_address(const std::string &address) { this->address_ = address; } -void Wireguard::set_netmask(const std::string &netmask) { this->netmask_ = netmask; } -void Wireguard::set_private_key(const std::string &key) { this->private_key_ = key; } -void Wireguard::set_peer_endpoint(const std::string &endpoint) { this->peer_endpoint_ = endpoint; } -void Wireguard::set_peer_public_key(const std::string &key) { this->peer_public_key_ = key; } -void Wireguard::set_peer_port(const uint16_t port) { this->peer_port_ = port; } -void Wireguard::set_preshared_key(const std::string &key) { this->preshared_key_ = key; } - -void Wireguard::add_allowed_ip(const std::string &ip, const std::string &netmask) { - this->allowed_ips_.emplace_back(ip, netmask); -} - void Wireguard::set_keepalive(const uint16_t seconds) { this->keepalive_ = seconds; } void Wireguard::set_reboot_timeout(const uint32_t seconds) { this->reboot_timeout_ = seconds; } void Wireguard::set_srctime(time::RealTimeClock *srctime) { this->srctime_ = srctime; } @@ -274,9 +265,8 @@ void Wireguard::start_connection_() { ESP_LOGD(TAG, "Configuring allowed IPs list"); bool allowed_ips_ok = true; - for (std::tuple ip : this->allowed_ips_) { - allowed_ips_ok &= - (esp_wireguard_add_allowed_ip(&(this->wg_ctx_), std::get<0>(ip).c_str(), std::get<1>(ip).c_str()) == ESP_OK); + for (const AllowedIP &ip : this->allowed_ips_) { + allowed_ips_ok &= (esp_wireguard_add_allowed_ip(&(this->wg_ctx_), ip.ip, ip.netmask) == ESP_OK); } if (allowed_ips_ok) { @@ -299,8 +289,25 @@ void Wireguard::stop_connection_() { } } -std::string mask_key(const std::string &key) { return (key.substr(0, 5) + "[...]="); } +void mask_key_to(char *buffer, size_t len, const char *key) { + // Format: "XXXXX[...]=\0" = MASK_KEY_BUFFER_SIZE chars minimum + if (len < MASK_KEY_BUFFER_SIZE || key == nullptr) { + if (len > 0) + buffer[0] = '\0'; + return; + } + // Copy first 5 characters of the key + size_t i = 0; + for (; i < 5 && key[i] != '\0'; ++i) { + buffer[i] = key[i]; + } + // Append "[...]=" + const char *suffix = "[...]="; + for (size_t j = 0; suffix[j] != '\0' && (i + j) < len - 1; ++j) { + buffer[i + j] = suffix[j]; + } + buffer[i + 6] = '\0'; +} -} // namespace wireguard -} // namespace esphome +} // namespace esphome::wireguard #endif diff --git a/esphome/components/wireguard/wireguard.h b/esphome/components/wireguard/wireguard.h index f8f79b835d..e8470c75cd 100644 --- a/esphome/components/wireguard/wireguard.h +++ b/esphome/components/wireguard/wireguard.h @@ -2,10 +2,10 @@ #include "esphome/core/defines.h" #ifdef USE_WIREGUARD #include -#include -#include +#include #include "esphome/core/component.h" +#include "esphome/core/helpers.h" #include "esphome/components/time/real_time_clock.h" #ifdef USE_BINARY_SENSOR @@ -22,8 +22,13 @@ #include -namespace esphome { -namespace wireguard { +namespace esphome::wireguard { + +/// Allowed IP entry for WireGuard peer configuration. +struct AllowedIP { + const char *ip; + const char *netmask; +}; /// Main Wireguard component class. class Wireguard : public PollingComponent { @@ -37,15 +42,25 @@ class Wireguard : public PollingComponent { float get_setup_priority() const override { return esphome::setup_priority::BEFORE_CONNECTION; } - void set_address(const std::string &address); - void set_netmask(const std::string &netmask); - void set_private_key(const std::string &key); - void set_peer_endpoint(const std::string &endpoint); - void set_peer_public_key(const std::string &key); - void set_peer_port(uint16_t port); - void set_preshared_key(const std::string &key); + void set_address(const char *address) { this->address_ = address; } + void set_netmask(const char *netmask) { this->netmask_ = netmask; } + void set_private_key(const char *key) { this->private_key_ = key; } + void set_peer_endpoint(const char *endpoint) { this->peer_endpoint_ = endpoint; } + void set_peer_public_key(const char *key) { this->peer_public_key_ = key; } + void set_peer_port(uint16_t port) { this->peer_port_ = port; } + void set_preshared_key(const char *key) { this->preshared_key_ = key; } - void add_allowed_ip(const std::string &ip, const std::string &netmask); + /// Prevent accidental use of std::string which would dangle + void set_address(const std::string &address) = delete; + void set_netmask(const std::string &netmask) = delete; + void set_private_key(const std::string &key) = delete; + void set_peer_endpoint(const std::string &endpoint) = delete; + void set_peer_public_key(const std::string &key) = delete; + void set_preshared_key(const std::string &key) = delete; + + void set_allowed_ips(std::initializer_list ips) { this->allowed_ips_ = ips; } + /// Prevent accidental use of std::string which would dangle + void set_allowed_ips(std::initializer_list> ips) = delete; void set_keepalive(uint16_t seconds); void set_reboot_timeout(uint32_t seconds); @@ -83,14 +98,14 @@ class Wireguard : public PollingComponent { time_t get_latest_handshake() const; protected: - std::string address_; - std::string netmask_; - std::string private_key_; - std::string peer_endpoint_; - std::string peer_public_key_; - std::string preshared_key_; + const char *address_{nullptr}; + const char *netmask_{nullptr}; + const char *private_key_{nullptr}; + const char *peer_endpoint_{nullptr}; + const char *peer_public_key_{nullptr}; + const char *preshared_key_{nullptr}; - std::vector> allowed_ips_; + FixedVector allowed_ips_; uint16_t peer_port_; uint16_t keepalive_; @@ -142,8 +157,11 @@ class Wireguard : public PollingComponent { void suspend_wdt(); void resume_wdt(); +/// Size of buffer required for mask_key_to: 5 chars + "[...]=" + null = 12 +static constexpr size_t MASK_KEY_BUFFER_SIZE = 12; + /// Strip most part of the key only for secure printing -std::string mask_key(const std::string &key); +void mask_key_to(char *buffer, size_t len, const char *key); /// Condition to check if remote peer is online. template class WireguardPeerOnlineCondition : public Condition, public Parented { @@ -169,6 +187,5 @@ template class WireguardDisableAction : public Action, pu void play(const Ts &...x) override { this->parent_->disable(); } }; -} // namespace wireguard -} // namespace esphome +} // namespace esphome::wireguard #endif diff --git a/esphome/components/wl_134/wl_134.cpp b/esphome/components/wl_134/wl_134.cpp index 20a145d183..a589f71c84 100644 --- a/esphome/components/wl_134/wl_134.cpp +++ b/esphome/components/wl_134/wl_134.cpp @@ -1,4 +1,5 @@ #include "wl_134.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include @@ -78,8 +79,8 @@ Wl134Component::Rfid134Error Wl134Component::read_packet_() { reading.id, reading.country, reading.isData ? "true" : "false", reading.isAnimal ? "true" : "false", reading.reserved0, reading.reserved1); - char buf[20]; - sprintf(buf, "%03d%012lld", reading.country, reading.id); + char buf[20]; // "%03d" (3) + "%012" PRId64 (12) + null = 16 max + buf_append_printf(buf, sizeof(buf), 0, "%03d%012" PRId64, reading.country, reading.id); this->publish_state(buf); if (this->do_reset_) { this->set_timeout(1000, [this]() { this->publish_state(""); }); diff --git a/esphome/components/x9c/x9c.cpp b/esphome/components/x9c/x9c.cpp index 8f66c46015..773e52d6e1 100644 --- a/esphome/components/x9c/x9c.cpp +++ b/esphome/components/x9c/x9c.cpp @@ -6,7 +6,7 @@ namespace x9c { static const char *const TAG = "x9c.output"; -void X9cOutput::trim_value(int change_amount) { +void X9cOutput::trim_value(int32_t change_amount) { if (change_amount == 0) { return; } @@ -47,17 +47,17 @@ void X9cOutput::setup() { if (this->initial_value_ <= 0.50) { this->trim_value(-101); // Set min value (beyond 0) - this->trim_value(static_cast(roundf(this->initial_value_ * 100))); + this->trim_value(lroundf(this->initial_value_ * 100)); } else { this->trim_value(101); // Set max value (beyond 100) - this->trim_value(static_cast(roundf(this->initial_value_ * 100) - 100)); + this->trim_value(lroundf(this->initial_value_ * 100) - 100); } this->pot_value_ = this->initial_value_; this->write_state(this->initial_value_); } void X9cOutput::write_state(float state) { - this->trim_value(static_cast(roundf((state - this->pot_value_) * 100))); + this->trim_value(lroundf((state - this->pot_value_) * 100)); this->pot_value_ = state; } diff --git a/esphome/components/x9c/x9c.h b/esphome/components/x9c/x9c.h index e7cc29a6cc..66c3df14e1 100644 --- a/esphome/components/x9c/x9c.h +++ b/esphome/components/x9c/x9c.h @@ -18,7 +18,7 @@ class X9cOutput : public output::FloatOutput, public Component { void setup() override; void dump_config() override; - void trim_value(int change_amount); + void trim_value(int32_t change_amount); protected: void write_state(float state) override; diff --git a/esphome/components/xl9535/xl9535.cpp b/esphome/components/xl9535/xl9535.cpp index dd6c8188eb..cfcbeeeb8d 100644 --- a/esphome/components/xl9535/xl9535.cpp +++ b/esphome/components/xl9535/xl9535.cpp @@ -111,7 +111,7 @@ void XL9535Component::pin_mode(uint8_t pin, gpio::Flags mode) { void XL9535GPIOPin::setup() { this->pin_mode(this->flags_); } size_t XL9535GPIOPin::dump_summary(char *buffer, size_t len) const { - return snprintf(buffer, len, "%u via XL9535", this->pin_); + return buf_append_printf(buffer, len, 0, "%u via XL9535", this->pin_); } void XL9535GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this->pin_, flags); } diff --git a/esphome/components/zephyr/gpio.h b/esphome/components/zephyr/gpio.h index c9540f4f01..94f25f02ac 100644 --- a/esphome/components/zephyr/gpio.h +++ b/esphome/components/zephyr/gpio.h @@ -2,7 +2,7 @@ #ifdef USE_ZEPHYR #include "esphome/core/hal.h" -struct device; +#include namespace esphome { namespace zephyr { diff --git a/esphome/components/zephyr/preferences.cpp b/esphome/components/zephyr/preferences.cpp index 08b361b8fb..311133a813 100644 --- a/esphome/components/zephyr/preferences.cpp +++ b/esphome/components/zephyr/preferences.cpp @@ -5,6 +5,8 @@ #include "esphome/core/preferences.h" #include "esphome/core/log.h" #include +#include +#include namespace esphome { namespace zephyr { @@ -13,6 +15,9 @@ static const char *const TAG = "zephyr.preferences"; #define ESPHOME_SETTINGS_KEY "esphome" +// Buffer size for key: "esphome/" (8) + max hex uint32 (8) + null terminator (1) = 17; use 20 for safety margin +static constexpr size_t KEY_BUFFER_SIZE = 20; + class ZephyrPreferenceBackend : public ESPPreferenceBackend { public: ZephyrPreferenceBackend(uint32_t type) { this->type_ = type; } @@ -27,7 +32,9 @@ class ZephyrPreferenceBackend : public ESPPreferenceBackend { bool load(uint8_t *data, size_t len) override { if (len != this->data.size()) { - ESP_LOGE(TAG, "size of setting key %s changed, from: %u, to: %u", get_key().c_str(), this->data.size(), len); + char key_buf[KEY_BUFFER_SIZE]; + this->format_key(key_buf, sizeof(key_buf)); + ESP_LOGE(TAG, "size of setting key %s changed, from: %u, to: %u", key_buf, this->data.size(), len); return false; } std::memcpy(data, this->data.data(), len); @@ -36,7 +43,7 @@ class ZephyrPreferenceBackend : public ESPPreferenceBackend { } uint32_t get_type() const { return this->type_; } - std::string get_key() const { return str_sprintf(ESPHOME_SETTINGS_KEY "/%" PRIx32, this->type_); } + void format_key(char *buf, size_t size) const { snprintf(buf, size, ESPHOME_SETTINGS_KEY "/%" PRIx32, this->type_); } std::vector data; @@ -85,7 +92,9 @@ class ZephyrPreferences : public ESPPreferences { } printf("type %u size %u\n", type, this->backends_.size()); auto *pref = new ZephyrPreferenceBackend(type); // NOLINT(cppcoreguidelines-owning-memory) - ESP_LOGD(TAG, "Add new setting %s.", pref->get_key().c_str()); + char key_buf[KEY_BUFFER_SIZE]; + pref->format_key(key_buf, sizeof(key_buf)); + ESP_LOGD(TAG, "Add new setting %s.", key_buf); this->backends_.push_back(pref); return ESPPreferenceObject(pref); } @@ -134,9 +143,10 @@ class ZephyrPreferences : public ESPPreferences { static int export_settings(int (*cb)(const char *name, const void *value, size_t val_len)) { for (auto *backend : static_cast(global_preferences)->backends_) { - auto name = backend->get_key(); - int err = cb(name.c_str(), backend->data.data(), backend->data.size()); - ESP_LOGD(TAG, "save in flash, name %s, len %u, err %d", name.c_str(), backend->data.size(), err); + char name[KEY_BUFFER_SIZE]; + backend->format_key(name, sizeof(name)); + int err = cb(name, backend->data.data(), backend->data.size()); + ESP_LOGD(TAG, "save in flash, name %s, len %u, err %d", name, backend->data.size(), err); } return 0; } diff --git a/esphome/components/zigbee/__init__.py b/esphome/components/zigbee/__init__.py index 2281dd38a9..1b1da78308 100644 --- a/esphome/components/zigbee/__init__.py +++ b/esphome/components/zigbee/__init__.py @@ -12,6 +12,7 @@ from esphome.core import CORE from esphome.types import ConfigType from .const_zephyr import ( + CONF_IEEE802154_VENDOR_OUI, CONF_MAX_EP_NUMBER, CONF_ON_JOIN, CONF_POWER_SOURCE, @@ -58,6 +59,13 @@ CONFIG_SCHEMA = cv.All( cv.Optional(CONF_POWER_SOURCE, default="DC_SOURCE"): cv.enum( POWER_SOURCE, upper=True ), + cv.Optional(CONF_IEEE802154_VENDOR_OUI): cv.All( + cv.Any( + cv.int_range(min=0x000000, max=0xFFFFFF), + cv.one_of(*["random"], lower=True), + ), + cv.requires_component("nrf52"), + ), } ).extend(cv.COMPONENT_SCHEMA), zigbee_set_core_data, @@ -120,7 +128,7 @@ async def setup_switch(entity: cg.MockObj, config: ConfigType) -> None: def consume_endpoint(config: ConfigType) -> ConfigType: if not config.get(CONF_ZIGBEE_ID) or config.get(CONF_INTERNAL): return config - if " " in config[CONF_NAME]: + if CONF_NAME in config and " " in config[CONF_NAME]: _LOGGER.warning( "Spaces in '%s' work with ZHA but not Zigbee2MQTT. For Zigbee2MQTT use '%s'", config[CONF_NAME], diff --git a/esphome/components/zigbee/const_zephyr.py b/esphome/components/zigbee/const_zephyr.py index 0372f22593..03c1bb546f 100644 --- a/esphome/components/zigbee/const_zephyr.py +++ b/esphome/components/zigbee/const_zephyr.py @@ -22,6 +22,7 @@ POWER_SOURCE = { "EMERGENCY_MAINS_CONST": "ZB_ZCL_BASIC_POWER_SOURCE_EMERGENCY_MAINS_CONST", "EMERGENCY_MAINS_TRANSF": "ZB_ZCL_BASIC_POWER_SOURCE_EMERGENCY_MAINS_TRANSF", } +CONF_IEEE802154_VENDOR_OUI = "ieee802154_vendor_oui" # Keys for CORE.data storage KEY_ZIGBEE = "zigbee" diff --git a/esphome/components/zigbee/time/__init__.py b/esphome/components/zigbee/time/__init__.py new file mode 100644 index 0000000000..82f94c8372 --- /dev/null +++ b/esphome/components/zigbee/time/__init__.py @@ -0,0 +1,86 @@ +import esphome.codegen as cg +from esphome.components import time as time_ +import esphome.config_validation as cv +from esphome.const import CONF_ID +from esphome.core import CORE +from esphome.types import ConfigType + +from .. import consume_endpoint +from ..const_zephyr import CONF_ZIGBEE_ID, zigbee_ns +from ..zigbee_zephyr import ( + ZigbeeClusterDesc, + ZigbeeComponent, + get_slot_index, + zigbee_new_attr_list, + zigbee_new_cluster_list, + zigbee_new_variable, + zigbee_register_ep, +) + +DEPENDENCIES = ["zigbee"] + +ZigbeeTime = zigbee_ns.class_("ZigbeeTime", time_.RealTimeClock) + +CONFIG_SCHEMA = cv.All( + time_.TIME_SCHEMA.extend( + { + cv.GenerateID(): cv.declare_id(ZigbeeTime), + cv.OnlyWith(CONF_ZIGBEE_ID, ["nrf52", "zigbee"]): cv.use_id( + ZigbeeComponent + ), + } + ) + .extend(cv.COMPONENT_SCHEMA) + .extend(cv.polling_component_schema("1s")), + consume_endpoint, +) + + +async def to_code(config: ConfigType) -> None: + CORE.add_job(_add_time, config) + + +async def _add_time(config: ConfigType) -> None: + slot_index = get_slot_index() + + # Create unique names for this sensor's variables based on slot index + prefix = f"zigbee_ep{slot_index + 1}" + attrs_name = f"{prefix}_time_attrs" + attr_list_name = f"{prefix}_time_attrib_list" + cluster_list_name = f"{prefix}_cluster_list" + ep_name = f"{prefix}_ep" + + # Create the binary attributes structure + time_attrs = zigbee_new_variable(attrs_name, "zb_zcl_time_attrs_t") + attr_list = zigbee_new_attr_list( + attr_list_name, + "ZB_ZCL_DECLARE_TIME_ATTR_LIST", + str(time_attrs), + ) + + # Create cluster list and register endpoint + cluster_list_name, clusters = zigbee_new_cluster_list( + cluster_list_name, + [ + ZigbeeClusterDesc("ZB_ZCL_CLUSTER_ID_TIME", attr_list), + ZigbeeClusterDesc("ZB_ZCL_CLUSTER_ID_TIME"), + ], + ) + zigbee_register_ep( + ep_name, + cluster_list_name, + 0, + clusters, + slot_index, + "ZB_HA_CUSTOM_ATTR_DEVICE_ID", + ) + + # Create the ZigbeeTime component + var = cg.new_Pvariable(config[CONF_ID]) + await time_.register_time(var, config) + await cg.register_component(var, config) + + cg.add(var.set_endpoint(slot_index + 1)) + cg.add(var.set_cluster_attributes(time_attrs)) + hub = await cg.get_variable(config[CONF_ZIGBEE_ID]) + cg.add(var.set_parent(hub)) diff --git a/esphome/components/zigbee/time/zigbee_time_zephyr.cpp b/esphome/components/zigbee/time/zigbee_time_zephyr.cpp new file mode 100644 index 0000000000..70ceb60abe --- /dev/null +++ b/esphome/components/zigbee/time/zigbee_time_zephyr.cpp @@ -0,0 +1,87 @@ +#include "zigbee_time_zephyr.h" +#if defined(USE_ZIGBEE) && defined(USE_NRF52) && defined(USE_TIME) +#include "esphome/core/log.h" + +namespace esphome::zigbee { + +static const char *const TAG = "zigbee.time"; + +// This time standard is the number of +// seconds since 0 hrs 0 mins 0 sec on 1st January 2000 UTC (Universal Coordinated Time). +constexpr time_t EPOCH_2000 = 946684800; + +ZigbeeTime *global_time = nullptr; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) + +void ZigbeeTime::sync_time(zb_ret_t status, zb_uint32_t auth_level, zb_uint16_t short_addr, zb_uint8_t endpoint, + zb_uint32_t nw_time) { + if (status == RET_OK && auth_level >= ZB_ZCL_TIME_HAS_SYNCHRONIZED_BIT) { + global_time->set_epoch_time(nw_time + EPOCH_2000); + } else if (status != RET_TIMEOUT || !global_time->has_time_) { + ESP_LOGE(TAG, "Status: %d, auth_level: %u, short_addr: %d, endpoint: %d, nw_time: %u", status, auth_level, + short_addr, endpoint, nw_time); + } +} + +void ZigbeeTime::setup() { + global_time = this; + this->parent_->add_callback(this->endpoint_, [this](zb_bufid_t bufid) { this->zcl_device_cb_(bufid); }); + synchronize_epoch_(EPOCH_2000); + this->parent_->add_join_callback([this]() { zb_zcl_time_server_synchronize(this->endpoint_, sync_time); }); +} + +void ZigbeeTime::dump_config() { + ESP_LOGCONFIG(TAG, + "Zigbee Time\n" + " Endpoint: %d", + this->endpoint_); + RealTimeClock::dump_config(); +} + +void ZigbeeTime::update() { + time_t time = timestamp_now(); + this->cluster_attributes_->time = time - EPOCH_2000; +} + +void ZigbeeTime::set_epoch_time(uint32_t epoch) { + this->defer([this, epoch]() { + this->synchronize_epoch_(epoch); + this->has_time_ = true; + }); +} + +void ZigbeeTime::zcl_device_cb_(zb_bufid_t bufid) { + zb_zcl_device_callback_param_t *p_device_cb_param = ZB_BUF_GET_PARAM(bufid, zb_zcl_device_callback_param_t); + zb_zcl_device_callback_id_t device_cb_id = p_device_cb_param->device_cb_id; + zb_uint16_t cluster_id = p_device_cb_param->cb_param.set_attr_value_param.cluster_id; + zb_uint16_t attr_id = p_device_cb_param->cb_param.set_attr_value_param.attr_id; + + switch (device_cb_id) { + /* ZCL set attribute value */ + case ZB_ZCL_SET_ATTR_VALUE_CB_ID: + if (cluster_id == ZB_ZCL_CLUSTER_ID_TIME) { + if (attr_id == ZB_ZCL_ATTR_TIME_TIME_ID) { + zb_uint32_t value = p_device_cb_param->cb_param.set_attr_value_param.values.data32; + ESP_LOGI(TAG, "Synchronize time to %u", value); + this->defer([this, value]() { synchronize_epoch_(value + EPOCH_2000); }); + } else if (attr_id == ZB_ZCL_ATTR_TIME_TIME_STATUS_ID) { + zb_uint8_t value = p_device_cb_param->cb_param.set_attr_value_param.values.data8; + ESP_LOGI(TAG, "Time status %hd", value); + this->defer([this, value]() { this->has_time_ = ZB_ZCL_TIME_TIME_STATUS_SYNCHRONIZED_BIT_IS_SET(value); }); + } + } else { + /* other clusters attribute handled here */ + ESP_LOGI(TAG, "Unhandled cluster attribute id: %d", cluster_id); + p_device_cb_param->status = RET_NOT_IMPLEMENTED; + } + break; + default: + p_device_cb_param->status = RET_NOT_IMPLEMENTED; + break; + } + + ESP_LOGD(TAG, "Zcl_device_cb_ status: %hd", p_device_cb_param->status); +} + +} // namespace esphome::zigbee + +#endif diff --git a/esphome/components/zigbee/time/zigbee_time_zephyr.h b/esphome/components/zigbee/time/zigbee_time_zephyr.h new file mode 100644 index 0000000000..3c2adc4b5f --- /dev/null +++ b/esphome/components/zigbee/time/zigbee_time_zephyr.h @@ -0,0 +1,38 @@ +#pragma once +#include "esphome/core/defines.h" +#if defined(USE_ZIGBEE) && defined(USE_NRF52) && defined(USE_TIME) +#include "esphome/core/component.h" +#include "esphome/components/time/real_time_clock.h" +#include "esphome/components/zigbee/zigbee_zephyr.h" + +extern "C" { +#include +#include +} + +namespace esphome::zigbee { + +class ZigbeeTime : public time::RealTimeClock, public ZigbeeEntity { + public: + void setup() override; + void dump_config() override; + void update() override; + + void set_cluster_attributes(zb_zcl_time_attrs_t &cluster_attributes) { + this->cluster_attributes_ = &cluster_attributes; + } + + void set_epoch_time(uint32_t epoch); + + protected: + static void sync_time(zb_ret_t status, zb_uint32_t auth_level, zb_uint16_t short_addr, zb_uint8_t endpoint, + zb_uint32_t nw_time); + void zcl_device_cb_(zb_bufid_t bufid); + zb_zcl_time_attrs_t *cluster_attributes_{nullptr}; + + bool has_time_{false}; +}; + +} // namespace esphome::zigbee + +#endif diff --git a/esphome/components/zigbee/zigbee_binary_sensor_zephyr.cpp b/esphome/components/zigbee/zigbee_binary_sensor_zephyr.cpp index 8b7aff70a8..464cc04d62 100644 --- a/esphome/components/zigbee/zigbee_binary_sensor_zephyr.cpp +++ b/esphome/components/zigbee/zigbee_binary_sensor_zephyr.cpp @@ -22,7 +22,7 @@ void ZigbeeBinarySensor::setup() { ZB_ZCL_SET_ATTRIBUTE(this->endpoint_, ZB_ZCL_CLUSTER_ID_BINARY_INPUT, ZB_ZCL_CLUSTER_SERVER_ROLE, ZB_ZCL_ATTR_BINARY_INPUT_PRESENT_VALUE_ID, &this->cluster_attributes_->present_value, ZB_FALSE); - this->parent_->flush(); + this->parent_->force_report(); }); } diff --git a/esphome/components/zigbee/zigbee_sensor_zephyr.cpp b/esphome/components/zigbee/zigbee_sensor_zephyr.cpp index 74550d6487..25e1e083e0 100644 --- a/esphome/components/zigbee/zigbee_sensor_zephyr.cpp +++ b/esphome/components/zigbee/zigbee_sensor_zephyr.cpp @@ -21,7 +21,7 @@ void ZigbeeSensor::setup() { ZB_ZCL_SET_ATTRIBUTE(this->endpoint_, ZB_ZCL_CLUSTER_ID_ANALOG_INPUT, ZB_ZCL_CLUSTER_SERVER_ROLE, ZB_ZCL_ATTR_ANALOG_INPUT_PRESENT_VALUE_ID, (zb_uint8_t *) &this->cluster_attributes_->present_value, ZB_FALSE); - this->parent_->flush(); + this->parent_->force_report(); }); } diff --git a/esphome/components/zigbee/zigbee_switch_zephyr.cpp b/esphome/components/zigbee/zigbee_switch_zephyr.cpp index 5454f262f9..fef02e5a0c 100644 --- a/esphome/components/zigbee/zigbee_switch_zephyr.cpp +++ b/esphome/components/zigbee/zigbee_switch_zephyr.cpp @@ -31,7 +31,7 @@ void ZigbeeSwitch::setup() { ZB_ZCL_SET_ATTRIBUTE(this->endpoint_, ZB_ZCL_CLUSTER_ID_BINARY_OUTPUT, ZB_ZCL_CLUSTER_SERVER_ROLE, ZB_ZCL_ATTR_BINARY_OUTPUT_PRESENT_VALUE_ID, &this->cluster_attributes_->present_value, ZB_FALSE); - this->parent_->flush(); + this->parent_->force_report(); }); } @@ -41,8 +41,6 @@ void ZigbeeSwitch::zcl_device_cb_(zb_bufid_t bufid) { zb_uint16_t cluster_id = p_device_cb_param->cb_param.set_attr_value_param.cluster_id; zb_uint16_t attr_id = p_device_cb_param->cb_param.set_attr_value_param.attr_id; - p_device_cb_param->status = RET_OK; - switch (device_cb_id) { /* ZCL set attribute value */ case ZB_ZCL_SET_ATTR_VALUE_CB_ID: @@ -58,10 +56,11 @@ void ZigbeeSwitch::zcl_device_cb_(zb_bufid_t bufid) { } else { /* other clusters attribute handled here */ ESP_LOGI(TAG, "Unhandled cluster attribute id: %d", cluster_id); + p_device_cb_param->status = RET_NOT_IMPLEMENTED; } break; default: - p_device_cb_param->status = RET_ERROR; + p_device_cb_param->status = RET_NOT_IMPLEMENTED; break; } diff --git a/esphome/components/zigbee/zigbee_zephyr.cpp b/esphome/components/zigbee/zigbee_zephyr.cpp index e43ab8f84d..eabf5c30d4 100644 --- a/esphome/components/zigbee/zigbee_zephyr.cpp +++ b/esphome/components/zigbee/zigbee_zephyr.cpp @@ -112,10 +112,10 @@ void ZigbeeComponent::zcl_device_cb(zb_bufid_t bufid) { const auto &cb = global_zigbee->callbacks_[endpoint - 1]; if (cb) { cb(bufid); + return; } - return; } - p_device_cb_param->status = RET_ERROR; + p_device_cb_param->status = RET_NOT_IMPLEMENTED; } void ZigbeeComponent::on_join_() { @@ -230,11 +230,11 @@ static void send_attribute_report(zb_bufid_t bufid, zb_uint16_t cmd_id) { zb_buf_free(bufid); } -void ZigbeeComponent::flush() { this->need_flush_ = true; } +void ZigbeeComponent::force_report() { this->force_report_ = true; } void ZigbeeComponent::loop() { - if (this->need_flush_) { - this->need_flush_ = false; + if (this->force_report_) { + this->force_report_ = false; zb_buf_get_out_delayed_ext(send_attribute_report, 0, 0); } } diff --git a/esphome/components/zigbee/zigbee_zephyr.h b/esphome/components/zigbee/zigbee_zephyr.h index d5f1257f9c..b75c192c1a 100644 --- a/esphome/components/zigbee/zigbee_zephyr.h +++ b/esphome/components/zigbee/zigbee_zephyr.h @@ -72,7 +72,7 @@ class ZigbeeComponent : public Component { void zboss_signal_handler_esphome(zb_bufid_t bufid); void factory_reset(); Trigger<> *get_join_trigger() { return &this->join_trigger_; }; - void flush(); + void force_report(); void loop() override; protected: @@ -84,7 +84,7 @@ class ZigbeeComponent : public Component { std::array, ZIGBEE_ENDPOINTS_COUNT> callbacks_{}; CallbackManager join_cb_; Trigger<> join_trigger_; - bool need_flush_{false}; + bool force_report_{false}; }; class ZigbeeEntity { diff --git a/esphome/components/zigbee/zigbee_zephyr.py b/esphome/components/zigbee/zigbee_zephyr.py index 7f1f7dc57f..b3bd10bfab 100644 --- a/esphome/components/zigbee/zigbee_zephyr.py +++ b/esphome/components/zigbee/zigbee_zephyr.py @@ -49,6 +49,7 @@ from esphome.cpp_generator import ( from esphome.types import ConfigType from .const_zephyr import ( + CONF_IEEE802154_VENDOR_OUI, CONF_ON_JOIN, CONF_POWER_SOURCE, CONF_WIPE_ON_BOOT, @@ -152,6 +153,13 @@ async def zephyr_to_code(config: ConfigType) -> None: zephyr_add_prj_conf("NET_IP_ADDR_CHECK", False) zephyr_add_prj_conf("NET_UDP", False) + if CONF_IEEE802154_VENDOR_OUI in config: + zephyr_add_prj_conf("IEEE802154_VENDOR_OUI_ENABLE", True) + random_number = config[CONF_IEEE802154_VENDOR_OUI] + if random_number == "random": + random_number = random.randint(0x000000, 0xFFFFFF) + zephyr_add_prj_conf("IEEE802154_VENDOR_OUI", random_number) + if config[CONF_WIPE_ON_BOOT]: if config[CONF_WIPE_ON_BOOT] == "once": cg.add_define( @@ -336,14 +344,14 @@ async def zephyr_setup_switch(entity: cg.MockObj, config: ConfigType) -> None: CORE.add_job(_add_switch, entity, config) -def _slot_index() -> int: - """Find the next available endpoint slot""" +def get_slot_index() -> int: + """Find the next available endpoint slot.""" slot = next( (i for i, v in enumerate(CORE.data[KEY_ZIGBEE][KEY_EP_NUMBER]) if v == ""), None ) if slot is None: raise cv.Invalid( - f"Not found empty slot, size ({len(CORE.data[KEY_ZIGBEE][KEY_EP_NUMBER])})" + f"No available Zigbee endpoint slots ({len(CORE.data[KEY_ZIGBEE][KEY_EP_NUMBER])} in use)" ) return slot @@ -358,7 +366,7 @@ async def _add_zigbee_ep( app_device_id: str, extra_field_values: dict[str, int] | None = None, ) -> None: - slot_index = _slot_index() + slot_index = get_slot_index() prefix = f"zigbee_ep{slot_index + 1}" attrs_name = f"{prefix}_attrs" diff --git a/esphome/config_validation.py b/esphome/config_validation.py index 8e2fadbea8..b7ab02013d 100644 --- a/esphome/config_validation.py +++ b/esphome/config_validation.py @@ -1046,20 +1046,20 @@ def mac_address(value): return core.MACAddress(*parts_int) -def bind_key(value): +def bind_key(value, *, name="Bind key"): value = string_strict(value) parts = [value[i : i + 2] for i in range(0, len(value), 2)] if len(parts) != 16: - raise Invalid("Bind key must consist of 16 hexadecimal numbers") + raise Invalid(f"{name} must consist of 16 hexadecimal numbers") parts_int = [] if any(len(part) != 2 for part in parts): - raise Invalid("Bind key must be format XX") + raise Invalid(f"{name} must be format XX") for part in parts: try: parts_int.append(int(part, 16)) except ValueError: # pylint: disable=raise-missing-from - raise Invalid("Bind key must be hex values from 00 to FF") + raise Invalid(f"{name} must be hex values from 00 to FF") return "".join(f"{part:02X}" for part in parts_int) diff --git a/esphome/const.py b/esphome/const.py index c88d5811b4..4243b2e25d 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -1086,6 +1086,7 @@ CONF_WAKEUP_PIN = "wakeup_pin" CONF_WAND_ID = "wand_id" CONF_WARM_WHITE = "warm_white" CONF_WARM_WHITE_COLOR_TEMPERATURE = "warm_white_color_temperature" +CONF_WARMUP_TIME = "warmup_time" CONF_WATCHDOG_THRESHOLD = "watchdog_threshold" CONF_WATCHDOG_TIMEOUT = "watchdog_timeout" CONF_WATER_HEATER = "water_heater" @@ -1379,6 +1380,7 @@ KEY_FRAMEWORK_VERSION = "framework_version" KEY_NAME = "name" KEY_VARIANT = "variant" KEY_PAST_SAFE_MODE = "past_safe_mode" +KEY_NATIVE_IDF = "native_idf" # Entity categories ENTITY_CATEGORY_NONE = "" diff --git a/esphome/core/__init__.py b/esphome/core/__init__.py index 70593d8153..9a7dd49609 100644 --- a/esphome/core/__init__.py +++ b/esphome/core/__init__.py @@ -17,6 +17,7 @@ from esphome.const import ( CONF_WEB_SERVER, CONF_WIFI, KEY_CORE, + KEY_NATIVE_IDF, KEY_TARGET_FRAMEWORK, KEY_TARGET_PLATFORM, PLATFORM_BK72XX, @@ -763,6 +764,9 @@ class EsphomeCore: @property def firmware_bin(self) -> Path: + # Check if using native ESP-IDF build (--native-idf) + if self.data.get(KEY_NATIVE_IDF, False): + return self.relative_build_path("build", f"{self.name}.bin") if self.is_libretiny: return self.relative_pioenvs_path(self.name, "firmware.uf2") return self.relative_pioenvs_path(self.name, "firmware.bin") diff --git a/esphome/core/automation.h b/esphome/core/automation.h index eac469d0fc..31a2fc06f4 100644 --- a/esphome/core/automation.h +++ b/esphome/core/automation.h @@ -4,6 +4,7 @@ #include "esphome/core/defines.h" #include "esphome/core/helpers.h" #include "esphome/core/preferences.h" +#include "esphome/core/string_ref.h" #include #include #include @@ -190,15 +191,55 @@ template class TemplatableValue { /// Get the static string pointer (only valid if is_static_string() returns true) const char *get_static_string() const { return this->static_str_; } - protected: - enum : uint8_t { - NONE, - VALUE, - LAMBDA, - STATELESS_LAMBDA, - STATIC_STRING, // For const char* when T is std::string - avoids heap allocation - } type_; + /// Check if the string value is empty without allocating (for std::string specialization). + /// For NONE, returns true. For STATIC_STRING/VALUE, checks without allocation. + /// For LAMBDA/STATELESS_LAMBDA, must call value() which may allocate. + bool is_empty() const requires std::same_as { + switch (this->type_) { + case NONE: + return true; + case STATIC_STRING: + return this->static_str_ == nullptr || this->static_str_[0] == '\0'; + case VALUE: + return this->value_->empty(); + default: // LAMBDA/STATELESS_LAMBDA - must call value() + return this->value().empty(); + } + } + /// Get a StringRef to the string value without heap allocation when possible. + /// For STATIC_STRING/VALUE, returns reference to existing data (no allocation). + /// For LAMBDA/STATELESS_LAMBDA, calls value(), copies to provided buffer, returns ref to buffer. + /// @param lambda_buf Buffer used only for lambda case (must remain valid while StringRef is used). + /// @param lambda_buf_size Size of the buffer. + /// @return StringRef pointing to the string data. + StringRef ref_or_copy_to(char *lambda_buf, size_t lambda_buf_size) const requires std::same_as { + switch (this->type_) { + case NONE: + return StringRef(); + case STATIC_STRING: + if (this->static_str_ == nullptr) + return StringRef(); + return StringRef(this->static_str_, strlen(this->static_str_)); + case VALUE: + return StringRef(this->value_->data(), this->value_->size()); + default: { // LAMBDA/STATELESS_LAMBDA - must call value() and copy + std::string result = this->value(); + size_t copy_len = std::min(result.size(), lambda_buf_size - 1); + memcpy(lambda_buf, result.data(), copy_len); + lambda_buf[copy_len] = '\0'; + return StringRef(lambda_buf, copy_len); + } + } + } + + protected : enum : uint8_t { + NONE, + VALUE, + LAMBDA, + STATELESS_LAMBDA, + STATIC_STRING, // For const char* when T is std::string - avoids heap allocation + } type_; // For std::string, use heap pointer to minimize union size (4 bytes vs 12+). // For other types, store value inline as before. using ValueStorage = std::conditional_t; diff --git a/esphome/core/component.cpp b/esphome/core/component.cpp index 2f61f7d195..98e8c02d07 100644 --- a/esphome/core/component.cpp +++ b/esphome/core/component.cpp @@ -47,18 +47,21 @@ struct ComponentPriorityOverride { }; // Error messages for failed components +// Using raw pointer instead of unique_ptr to avoid global constructor/destructor overhead +// This is never freed as error messages persist for the lifetime of the device // NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) -std::unique_ptr> component_error_messages; +std::vector *component_error_messages = nullptr; // Setup priority overrides - freed after setup completes +// Using raw pointer instead of unique_ptr to avoid global constructor/destructor overhead // NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) -std::unique_ptr> setup_priority_overrides; +std::vector *setup_priority_overrides = nullptr; // Helper to store error messages - reduces duplication between deprecated and new API // Remove before 2026.6.0 when deprecated const char* API is removed void store_component_error_message(const Component *component, const char *message, bool is_flash_ptr) { // Lazy allocate the error messages vector if needed if (!component_error_messages) { - component_error_messages = std::make_unique>(); + component_error_messages = new std::vector(); } // Check if this component already has an error message for (auto &entry : *component_error_messages) { @@ -467,7 +470,7 @@ float Component::get_actual_setup_priority() const { void Component::set_setup_priority(float priority) { // Lazy allocate the vector if needed if (!setup_priority_overrides) { - setup_priority_overrides = std::make_unique>(); + setup_priority_overrides = new std::vector(); // Reserve some space to avoid reallocations (most configs have < 10 overrides) setup_priority_overrides->reserve(10); } @@ -553,7 +556,8 @@ WarnIfComponentBlockingGuard::~WarnIfComponentBlockingGuard() {} void clear_setup_priority_overrides() { // Free the setup priority map completely - setup_priority_overrides.reset(); + delete setup_priority_overrides; + setup_priority_overrides = nullptr; } } // namespace esphome diff --git a/esphome/core/defines.h b/esphome/core/defines.h index c229d1df7d..e98cdd0ba0 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -42,6 +42,7 @@ #define USE_DEVICES #define USE_DISPLAY #define USE_ENTITY_ICON +#define USE_ESP32_HOSTED #define USE_ESP32_IMPROV_STATE_CALLBACK #define USE_EVENT #define USE_FAN @@ -234,7 +235,7 @@ #define USB_HOST_MAX_REQUESTS 16 #ifdef USE_ARDUINO -#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 3, 5) +#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 3, 6) #define USE_ETHERNET #define USE_ETHERNET_KSZ8081 #define USE_ETHERNET_MANUAL_IP diff --git a/esphome/core/entity_base.cpp b/esphome/core/entity_base.cpp index 8508b93411..811b856b5e 100644 --- a/esphome/core/entity_base.cpp +++ b/esphome/core/entity_base.cpp @@ -92,6 +92,48 @@ StringRef EntityBase::get_object_id_to(std::span buf) c uint32_t EntityBase::get_object_id_hash() { return this->object_id_hash_; } +// Migrate preference data from old_key to new_key if they differ. +// This helper is exposed so callers with custom key computation (like TextPrefs) +// can use it for manual migration. See: https://github.com/esphome/backlog/issues/85 +// +// FUTURE IMPLEMENTATION: +// This will require raw load/save methods on ESPPreferenceObject that take uint8_t* and size. +// void EntityBase::migrate_entity_preference_(size_t size, uint32_t old_key, uint32_t new_key) { +// if (old_key == new_key) +// return; +// auto old_pref = global_preferences->make_preference(size, old_key); +// auto new_pref = global_preferences->make_preference(size, new_key); +// SmallBufferWithHeapFallback<64> buffer(size); +// if (old_pref.load(buffer.data(), size)) { +// new_pref.save(buffer.data(), size); +// } +// } + +ESPPreferenceObject EntityBase::make_entity_preference_(size_t size, uint32_t version) { + // This helper centralizes preference creation to enable fixing hash collisions. + // See: https://github.com/esphome/backlog/issues/85 + // + // COLLISION PROBLEM: get_preference_hash() uses fnv1_hash on sanitized object_id. + // Multiple entity names can sanitize to the same object_id: + // - "Living Room" and "living_room" both become "living_room" + // - UTF-8 names like "温度" and "湿度" both become "__" (underscores) + // This causes entities to overwrite each other's stored preferences. + // + // FUTURE MIGRATION: When implementing get_preference_hash_v2() that hashes + // the original entity name (not sanitized object_id): + // + // uint32_t old_key = this->get_preference_hash() ^ version; + // uint32_t new_key = this->get_preference_hash_v2() ^ version; + // this->migrate_entity_preference_(size, old_key, new_key); + // return global_preferences->make_preference(size, new_key); + // +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + uint32_t key = this->get_preference_hash() ^ version; +#pragma GCC diagnostic pop + return global_preferences->make_preference(size, key); +} + std::string EntityBase_DeviceClass::get_device_class() { if (this->device_class_ == nullptr) { return ""; @@ -110,4 +152,22 @@ void EntityBase_UnitOfMeasurement::set_unit_of_measurement(const char *unit_of_m this->unit_of_measurement_ = unit_of_measurement; } +void log_entity_icon(const char *tag, const char *prefix, const EntityBase &obj) { + if (!obj.get_icon_ref().empty()) { + ESP_LOGCONFIG(tag, "%s Icon: '%s'", prefix, obj.get_icon_ref().c_str()); + } +} + +void log_entity_device_class(const char *tag, const char *prefix, const EntityBase_DeviceClass &obj) { + if (!obj.get_device_class_ref().empty()) { + ESP_LOGCONFIG(tag, "%s Device Class: '%s'", prefix, obj.get_device_class_ref().c_str()); + } +} + +void log_entity_unit_of_measurement(const char *tag, const char *prefix, const EntityBase_UnitOfMeasurement &obj) { + if (!obj.get_unit_of_measurement_ref().empty()) { + ESP_LOGCONFIG(tag, "%s Unit of Measurement: '%s'", prefix, obj.get_unit_of_measurement_ref().c_str()); + } +} + } // namespace esphome diff --git a/esphome/core/entity_base.h b/esphome/core/entity_base.h index f91bd9b20c..86cb75495b 100644 --- a/esphome/core/entity_base.h +++ b/esphome/core/entity_base.h @@ -6,6 +6,7 @@ #include "string_ref.h" #include "helpers.h" #include "log.h" +#include "preferences.h" #ifdef USE_DEVICES #include "device.h" @@ -138,7 +139,12 @@ class EntityBase { * from previous versions, so existing single-device configurations will continue to work. * * @return uint32_t The unique hash for preferences, including device_id if available. + * @deprecated Use make_entity_preference() instead, or preferences won't be migrated. + * See https://github.com/esphome/backlog/issues/85 */ + ESPDEPRECATED("Use make_entity_preference() instead, or preferences won't be migrated. " + "See https://github.com/esphome/backlog/issues/85. Will be removed in 2027.1.0.", + "2026.7.0") uint32_t get_preference_hash() { #ifdef USE_DEVICES // Combine object_id_hash with device_id to ensure uniqueness across devices @@ -151,7 +157,19 @@ class EntityBase { #endif } + /// Create a preference object for storing this entity's state/settings. + /// @tparam T The type of data to store (must be trivially copyable) + /// @param version Optional version hash XORed with preference key (change when struct layout changes) + template ESPPreferenceObject make_entity_preference(uint32_t version = 0) { + static_assert(std::is_trivially_copyable::value, "T must be trivially copyable"); + return this->make_entity_preference_(sizeof(T), version); + } + protected: + /// Non-template helper for make_entity_preference() to avoid code bloat. + /// When preference hash algorithm changes, migration logic goes here. + ESPPreferenceObject make_entity_preference_(size_t size, uint32_t version); + void calc_object_id_(); StringRef name_; @@ -212,6 +230,16 @@ class EntityBase_UnitOfMeasurement { // NOLINT(readability-identifier-naming) const char *unit_of_measurement_{nullptr}; ///< Unit of measurement override }; +/// Log entity icon if set (for use in dump_config) +#define LOG_ENTITY_ICON(tag, prefix, obj) log_entity_icon(tag, prefix, obj) +void log_entity_icon(const char *tag, const char *prefix, const EntityBase &obj); +/// Log entity device class if set (for use in dump_config) +#define LOG_ENTITY_DEVICE_CLASS(tag, prefix, obj) log_entity_device_class(tag, prefix, obj) +void log_entity_device_class(const char *tag, const char *prefix, const EntityBase_DeviceClass &obj); +/// Log entity unit of measurement if set (for use in dump_config) +#define LOG_ENTITY_UNIT_OF_MEASUREMENT(tag, prefix, obj) log_entity_unit_of_measurement(tag, prefix, obj) +void log_entity_unit_of_measurement(const char *tag, const char *prefix, const EntityBase_UnitOfMeasurement &obj); + /** * An entity that has a state. * @tparam T The type of the state diff --git a/esphome/core/helpers.cpp b/esphome/core/helpers.cpp index b5bf849c30..1a5d22f8d8 100644 --- a/esphome/core/helpers.cpp +++ b/esphome/core/helpers.cpp @@ -3,6 +3,7 @@ #include "esphome/core/defines.h" #include "esphome/core/hal.h" #include "esphome/core/log.h" +#include "esphome/core/progmem.h" #include "esphome/core/string_ref.h" #include @@ -174,6 +175,13 @@ bool str_endswith(const std::string &str, const std::string &end) { return str.rfind(end) == (str.size() - end.size()); } #endif + +bool str_endswith_ignore_case(const char *str, size_t str_len, const char *suffix, size_t suffix_len) { + if (suffix_len > str_len) + return false; + return strncasecmp(str + str_len - suffix_len, suffix, suffix_len) == 0; +} + std::string str_truncate(const std::string &str, size_t length) { return str.length() > length ? str.substr(0, length) : str; } @@ -199,11 +207,22 @@ std::string str_snake_case(const std::string &str) { } return result; } -std::string str_sanitize(const std::string &str) { - std::string result = str; - for (char &c : result) { - c = to_sanitized_char(c); +char *str_sanitize_to(char *buffer, size_t buffer_size, const char *str) { + if (buffer_size == 0) { + return buffer; } + size_t i = 0; + while (*str && i < buffer_size - 1) { + buffer[i++] = to_sanitized_char(*str++); + } + buffer[i] = '\0'; + return buffer; +} + +std::string str_sanitize(const std::string &str) { + std::string result; + result.resize(str.size()); + str_sanitize_to(&result[0], str.size() + 1, str.c_str()); return result; } std::string str_snprintf(const char *fmt, size_t len, ...) { @@ -404,28 +423,44 @@ std::string format_hex_pretty(const std::string &data, char separator, bool show return format_hex_pretty_uint8(reinterpret_cast(data.data()), data.length(), separator, show_length); } +char *format_bin_to(char *buffer, size_t buffer_size, const uint8_t *data, size_t length) { + if (buffer_size == 0) { + return buffer; + } + // Calculate max bytes we can format: each byte needs 8 chars + size_t max_bytes = (buffer_size - 1) / 8; + if (max_bytes == 0 || length == 0) { + buffer[0] = '\0'; + return buffer; + } + size_t bytes_to_format = std::min(length, max_bytes); + + for (size_t byte_idx = 0; byte_idx < bytes_to_format; byte_idx++) { + for (size_t bit_idx = 0; bit_idx < 8; bit_idx++) { + buffer[byte_idx * 8 + bit_idx] = ((data[byte_idx] >> (7 - bit_idx)) & 1) + '0'; + } + } + buffer[bytes_to_format * 8] = '\0'; + return buffer; +} + std::string format_bin(const uint8_t *data, size_t length) { std::string result; result.resize(length * 8); - for (size_t byte_idx = 0; byte_idx < length; byte_idx++) { - for (size_t bit_idx = 0; bit_idx < 8; bit_idx++) { - result[byte_idx * 8 + bit_idx] = ((data[byte_idx] >> (7 - bit_idx)) & 1) + '0'; - } - } - + format_bin_to(&result[0], length * 8 + 1, data, length); return result; } ParseOnOffState parse_on_off(const char *str, const char *on, const char *off) { - if (on == nullptr && strcasecmp(str, "on") == 0) + if (on == nullptr && ESPHOME_strcasecmp_P(str, ESPHOME_PSTR("on")) == 0) return PARSE_ON; if (on != nullptr && strcasecmp(str, on) == 0) return PARSE_ON; - if (off == nullptr && strcasecmp(str, "off") == 0) + if (off == nullptr && ESPHOME_strcasecmp_P(str, ESPHOME_PSTR("off")) == 0) return PARSE_OFF; if (off != nullptr && strcasecmp(str, off) == 0) return PARSE_OFF; - if (strcasecmp(str, "toggle") == 0) + if (ESPHOME_strcasecmp_P(str, ESPHOME_PSTR("toggle")) == 0) return PARSE_TOGGLE; return PARSE_NONE; @@ -487,19 +522,26 @@ static constexpr const char *BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz" "0123456789+/"; -// Helper function to find the index of a base64 character in the lookup table. +// Helper function to find the index of a base64/base64url character in the lookup table. // Returns the character's position (0-63) if found, or 0 if not found. +// Supports both standard base64 (+/) and base64url (-_) alphabets. // NOTE: This returns 0 for both 'A' (valid base64 char at index 0) and invalid characters. // This is safe because is_base64() is ALWAYS checked before calling this function, // preventing invalid characters from ever reaching here. The base64_decode function // stops processing at the first invalid character due to the is_base64() check in its // while loop condition, making this edge case harmless in practice. static inline uint8_t base64_find_char(char c) { + // Handle base64url variants: '-' maps to '+' (index 62), '_' maps to '/' (index 63) + if (c == '-') + return 62; + if (c == '_') + return 63; const char *pos = strchr(BASE64_CHARS, c); return pos ? (pos - BASE64_CHARS) : 0; } -static inline bool is_base64(char c) { return (isalnum(c) || (c == '+') || (c == '/')); } +// Check if character is valid base64 or base64url +static inline bool is_base64(char c) { return (isalnum(c) || (c == '+') || (c == '/') || (c == '-') || (c == '_')); } std::string base64_encode(const std::vector &buf) { return base64_encode(buf.data(), buf.size()); } @@ -617,53 +659,44 @@ std::vector base64_decode(const std::string &encoded_string) { return ret; } -/// Encode int32 to 5 base85 characters + null terminator -/// Standard ASCII85 alphabet: '!' (33) = 0 through 'u' (117) = 84 -inline void base85_encode_int32(int32_t value, std::span output) { - uint32_t v = static_cast(value); - // Encode least significant digit first, then reverse - for (int i = 4; i >= 0; i--) { - output[i] = static_cast('!' + (v % 85)); - v /= 85; - } - output[5] = '\0'; -} - -/// Decode 5 base85 characters to int32 -inline bool base85_decode_int32(const char *input, int32_t &out) { - uint8_t c0 = static_cast(input[0] - '!'); - uint8_t c1 = static_cast(input[1] - '!'); - uint8_t c2 = static_cast(input[2] - '!'); - uint8_t c3 = static_cast(input[3] - '!'); - uint8_t c4 = static_cast(input[4] - '!'); - - // Each digit must be 0-84. Since uint8_t wraps, chars below '!' become > 84 - if (c0 > 84 || c1 > 84 || c2 > 84 || c3 > 84 || c4 > 84) - return false; - - // 85^4 = 52200625, 85^3 = 614125, 85^2 = 7225, 85^1 = 85 - out = static_cast(c0 * 52200625u + c1 * 614125u + c2 * 7225u + c3 * 85u + c4); - return true; -} - -/// Decode base85 string directly into vector (no intermediate buffer) -bool base85_decode_int32_vector(const std::string &base85, std::vector &out) { - size_t len = base85.size(); - if (len % 5 != 0) - return false; +/// Decode base64/base64url string directly into vector of little-endian int32 values +/// @param base64 Base64 or base64url encoded string (both +/ and -_ accepted) +/// @param out Output vector (cleared and filled with decoded int32 values) +/// @return true if successful, false if decode failed or invalid size +bool base64_decode_int32_vector(const std::string &base64, std::vector &out) { + // Decode in chunks to minimize stack usage + constexpr size_t chunk_bytes = 48; // 12 int32 values + constexpr size_t chunk_chars = 64; // 48 * 4/3 = 64 chars + uint8_t chunk[chunk_bytes]; out.clear(); - const char *ptr = base85.data(); - const char *end = ptr + len; - while (ptr < end) { - int32_t value; - if (!base85_decode_int32(ptr, value)) + const uint8_t *input = reinterpret_cast(base64.data()); + size_t remaining = base64.size(); + size_t pos = 0; + + while (remaining > 0) { + size_t chars_to_decode = std::min(remaining, chunk_chars); + size_t decoded_len = base64_decode(input + pos, chars_to_decode, chunk, chunk_bytes); + + if (decoded_len == 0) return false; - out.push_back(value); - ptr += 5; + + // Parse little-endian int32 values + for (size_t i = 0; i + 3 < decoded_len; i += 4) { + int32_t timing = static_cast(encode_uint32(chunk[i + 3], chunk[i + 2], chunk[i + 1], chunk[i])); + out.push_back(timing); + } + + // Check for incomplete int32 in last chunk + if (remaining <= chunk_chars && (decoded_len % 4) != 0) + return false; + + pos += chars_to_decode; + remaining -= chars_to_decode; } - return true; + + return !out.empty(); } // Colors diff --git a/esphome/core/helpers.h b/esphome/core/helpers.h index 39a4c5cd78..b05891f8a9 100644 --- a/esphome/core/helpers.h +++ b/esphome/core/helpers.h @@ -16,6 +16,7 @@ #include #include #include +#include #include "esphome/core/optional.h" @@ -218,6 +219,25 @@ template class StaticVector { size_t count_{0}; public: + // Default constructor + StaticVector() = default; + + // Iterator range constructor + template StaticVector(InputIt first, InputIt last) { + while (first != last && count_ < N) { + data_[count_++] = *first++; + } + } + + // Initializer list constructor + StaticVector(std::initializer_list init) { + for (const auto &val : init) { + if (count_ >= N) + break; + data_[count_++] = val; + } + } + // Minimal vector-compatible interface - only what we actually use void push_back(const T &value) { if (count_ < N) { @@ -225,6 +245,17 @@ template class StaticVector { } } + // Clear all elements + void clear() { count_ = 0; } + + // Assign from iterator range + template void assign(InputIt first, InputIt last) { + count_ = 0; + while (first != last && count_ < N) { + data_[count_++] = *first++; + } + } + // Return reference to next element and increment count (with bounds checking) T &emplace_next() { if (count_ >= N) { @@ -256,6 +287,10 @@ template class StaticVector { reverse_iterator rend() { return reverse_iterator(begin()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } + + // Conversion to std::span for compatibility with span-based APIs + operator std::span() { return std::span(data_.data(), count_); } + operator std::span() const { return std::span(data_.data(), count_); } }; /// Fixed-capacity vector - allocates once at runtime, never reallocates @@ -420,6 +455,8 @@ template class FixedVector { size_t size() const { return size_; } bool empty() const { return size_ == 0; } + size_t capacity() const { return capacity_; } + bool full() const { return size_ == capacity_; } /// Access element without bounds checking (matches std::vector behavior) /// Caller must ensure index is valid (i < size()) @@ -438,6 +475,37 @@ template class FixedVector { const T *end() const { return data_ + size_; } }; +/// @brief Helper class for efficient buffer allocation - uses stack for small sizes, heap for large +/// This is useful when most operations need a small buffer but occasionally need larger ones. +/// The stack buffer avoids heap allocation in the common case, while heap fallback handles edge cases. +/// @tparam STACK_SIZE Number of elements in the stack buffer +/// @tparam T Element type (default: uint8_t) +template class SmallBufferWithHeapFallback { + public: + explicit SmallBufferWithHeapFallback(size_t size) { + if (size <= STACK_SIZE) { + this->buffer_ = this->stack_buffer_; + } else { + this->heap_buffer_ = new T[size]; + this->buffer_ = this->heap_buffer_; + } + } + ~SmallBufferWithHeapFallback() { delete[] this->heap_buffer_; } + + // Delete copy and move operations to prevent double-delete + SmallBufferWithHeapFallback(const SmallBufferWithHeapFallback &) = delete; + SmallBufferWithHeapFallback &operator=(const SmallBufferWithHeapFallback &) = delete; + SmallBufferWithHeapFallback(SmallBufferWithHeapFallback &&) = delete; + SmallBufferWithHeapFallback &operator=(SmallBufferWithHeapFallback &&) = delete; + + T *get() { return this->buffer_; } + + private: + T stack_buffer_[STACK_SIZE]; + T *heap_buffer_{nullptr}; + T *buffer_; +}; + ///@} /// @name Mathematics @@ -467,6 +535,28 @@ constexpr uint32_t FNV1_OFFSET_BASIS = 2166136261UL; /// FNV-1 32-bit prime constexpr uint32_t FNV1_PRIME = 16777619UL; +/// Extend a FNV-1 hash with an integer (hashes each byte). +template constexpr uint32_t fnv1_hash_extend(uint32_t hash, T value) { + using UnsignedT = std::make_unsigned_t; + UnsignedT uvalue = static_cast(value); + for (size_t i = 0; i < sizeof(T); i++) { + hash *= FNV1_PRIME; + hash ^= (uvalue >> (i * 8)) & 0xFF; + } + return hash; +} +/// Extend a FNV-1 hash with additional string data. +constexpr uint32_t fnv1_hash_extend(uint32_t hash, const char *str) { + if (str) { + while (*str) { + hash *= FNV1_PRIME; + hash ^= *str++; + } + } + return hash; +} +inline uint32_t fnv1_hash_extend(uint32_t hash, const std::string &str) { return fnv1_hash_extend(hash, str.c_str()); } + /// Extend a FNV-1a hash with additional string data. constexpr uint32_t fnv1a_hash_extend(uint32_t hash, const char *str) { if (str) { @@ -589,12 +679,25 @@ template constexpr T convert_little_endian(T val) { bool str_equals_case_insensitive(const std::string &a, const std::string &b); /// Compare StringRefs for equality in case-insensitive manner. bool str_equals_case_insensitive(StringRef a, StringRef b); +/// Compare C strings for equality in case-insensitive manner (no heap allocation). +inline bool str_equals_case_insensitive(const char *a, const char *b) { return strcasecmp(a, b) == 0; } +inline bool str_equals_case_insensitive(const std::string &a, const char *b) { return strcasecmp(a.c_str(), b) == 0; } +inline bool str_equals_case_insensitive(const char *a, const std::string &b) { return strcasecmp(a, b.c_str()) == 0; } /// Check whether a string starts with a value. bool str_startswith(const std::string &str, const std::string &start); /// Check whether a string ends with a value. bool str_endswith(const std::string &str, const std::string &end); +/// Case-insensitive check if string ends with suffix (no heap allocation). +bool str_endswith_ignore_case(const char *str, size_t str_len, const char *suffix, size_t suffix_len); +inline bool str_endswith_ignore_case(const char *str, const char *suffix) { + return str_endswith_ignore_case(str, strlen(str), suffix, strlen(suffix)); +} +inline bool str_endswith_ignore_case(const std::string &str, const char *suffix) { + return str_endswith_ignore_case(str.c_str(), str.size(), suffix, strlen(suffix)); +} + /// Truncate a string to a specific length. /// @warning Allocates heap memory. Avoid in new code - causes heap fragmentation on long-running devices. std::string str_truncate(const std::string &str, size_t length); @@ -621,7 +724,25 @@ std::string str_snake_case(const std::string &str); constexpr char to_sanitized_char(char c) { return (c == '-' || c == '_' || (c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) ? c : '_'; } + +/** Sanitize a string to buffer, keeping only alphanumerics, dashes, and underscores. + * + * @param buffer Output buffer to write to. + * @param buffer_size Size of the output buffer. + * @param str Input string to sanitize. + * @return Pointer to buffer. + * + * Buffer size needed: strlen(str) + 1. + */ +char *str_sanitize_to(char *buffer, size_t buffer_size, const char *str); + +/// Sanitize a string to buffer. Automatically deduces buffer size. +template inline char *str_sanitize_to(char (&buffer)[N], const char *str) { + return str_sanitize_to(buffer, N, str); +} + /// Sanitizes the input string by removing all characters but alphanumerics, dashes and underscores. +/// @warning Allocates heap memory. Use str_sanitize_to() with a stack buffer instead. std::string str_sanitize(const std::string &str); /// Calculate FNV-1 hash of a string while applying snake_case + sanitize transformations. @@ -639,9 +760,11 @@ inline uint32_t fnv1_hash_object_id(const char *str, size_t len) { } /// snprintf-like function returning std::string of maximum length \p len (excluding null terminator). +/// @warning Allocates heap memory. Use snprintf() with a stack buffer instead. std::string __attribute__((format(printf, 1, 3))) str_snprintf(const char *fmt, size_t len, ...); /// sprintf-like function returning std::string. +/// @warning Allocates heap memory. Use snprintf() with a stack buffer instead. std::string __attribute__((format(printf, 1, 2))) str_sprintf(const char *fmt, ...); #ifdef USE_ESP8266 @@ -1168,9 +1291,66 @@ std::string format_hex_pretty(T val, char separator = '.', bool show_length = tr return format_hex_pretty(reinterpret_cast(&val), sizeof(T), separator, show_length); } +/// Calculate buffer size needed for format_bin_to: "01234567...\0" = bytes * 8 + 1 +constexpr size_t format_bin_size(size_t byte_count) { return byte_count * 8 + 1; } + +/** Format byte array as binary string to buffer. + * + * Each byte is formatted as 8 binary digits (MSB first). + * Truncates output if data exceeds buffer capacity. + * + * @param buffer Output buffer to write to. + * @param buffer_size Size of the output buffer. + * @param data Pointer to the byte array to format. + * @param length Number of bytes in the array. + * @return Pointer to buffer. + * + * Buffer size needed: length * 8 + 1 (use format_bin_size()). + * + * Example: + * @code + * char buf[9]; // format_bin_size(1) + * format_bin_to(buf, sizeof(buf), data, 1); // "10101011" + * @endcode + */ +char *format_bin_to(char *buffer, size_t buffer_size, const uint8_t *data, size_t length); + +/// Format byte array as binary to buffer. Automatically deduces buffer size. +template inline char *format_bin_to(char (&buffer)[N], const uint8_t *data, size_t length) { + static_assert(N >= 9, "Buffer must hold at least one binary byte (9 chars)"); + return format_bin_to(buffer, N, data, length); +} + +/** Format an unsigned integer in binary to buffer, MSB first. + * + * @tparam N Buffer size (must be >= sizeof(T) * 8 + 1). + * @tparam T Unsigned integer type. + * @param buffer Output buffer to write to. + * @param val The unsigned integer value to format. + * @return Pointer to buffer. + * + * Example: + * @code + * char buf[9]; // format_bin_size(sizeof(uint8_t)) + * format_bin_to(buf, uint8_t{0xAA}); // "10101010" + * char buf16[17]; // format_bin_size(sizeof(uint16_t)) + * format_bin_to(buf16, uint16_t{0x1234}); // "0001001000110100" + * @endcode + */ +template::value, int> = 0> +inline char *format_bin_to(char (&buffer)[N], T val) { + static_assert(N >= sizeof(T) * 8 + 1, "Buffer too small for type"); + val = convert_big_endian(val); + return format_bin_to(buffer, reinterpret_cast(&val), sizeof(T)); +} + /// Format the byte array \p data of length \p len in binary. +/// @warning Allocates heap memory. Use format_bin_to() with a stack buffer instead. +/// Causes heap fragmentation on long-running devices. std::string format_bin(const uint8_t *data, size_t length); /// Format an unsigned integer in binary, starting with the most significant byte. +/// @warning Allocates heap memory. Use format_bin_to() with a stack buffer instead. +/// Causes heap fragmentation on long-running devices. template::value, int> = 0> std::string format_bin(T val) { val = convert_big_endian(val); return format_bin(reinterpret_cast(&val), sizeof(T)); @@ -1209,13 +1389,11 @@ std::vector base64_decode(const std::string &encoded_string); size_t base64_decode(std::string const &encoded_string, uint8_t *buf, size_t buf_len); size_t base64_decode(const uint8_t *encoded_data, size_t encoded_len, uint8_t *buf, size_t buf_len); -/// Size of buffer needed for base85 encoded int32 (5 chars + null terminator) -static constexpr size_t BASE85_INT32_ENCODED_SIZE = 6; - -void base85_encode_int32(int32_t value, std::span output); - -bool base85_decode_int32(const char *input, int32_t &out); -bool base85_decode_int32_vector(const std::string &base85, std::vector &out); +/// Decode base64/base64url string directly into vector of little-endian int32 values +/// @param base64 Base64 or base64url encoded string (both +/ and -_ accepted) +/// @param out Output vector (cleared and filled with decoded int32 values) +/// @return true if successful, false if decode failed or invalid size +bool base64_decode_int32_vector(const std::string &base64, std::vector &out); ///@} @@ -1282,16 +1460,30 @@ template class LazyCallbackManager; * * Memory overhead comparison (32-bit systems): * - CallbackManager: 12 bytes (empty std::vector) - * - LazyCallbackManager: 4 bytes (nullptr unique_ptr) + * - LazyCallbackManager: 4 bytes (nullptr pointer) + * + * Uses plain pointer instead of unique_ptr to avoid template instantiation overhead. + * The class is explicitly non-copyable/non-movable for Rule of Five compliance. * * @tparam Ts The arguments for the callbacks, wrapped in void(). */ template class LazyCallbackManager { public: + LazyCallbackManager() = default; + /// Destructor - clean up allocated CallbackManager if any. + /// In practice this never runs (entities live for device lifetime) but included for correctness. + ~LazyCallbackManager() { delete this->callbacks_; } + + // Non-copyable and non-movable (entities are never copied or moved) + LazyCallbackManager(const LazyCallbackManager &) = delete; + LazyCallbackManager &operator=(const LazyCallbackManager &) = delete; + LazyCallbackManager(LazyCallbackManager &&) = delete; + LazyCallbackManager &operator=(LazyCallbackManager &&) = delete; + /// Add a callback to the list. Allocates the underlying CallbackManager on first use. void add(std::function &&callback) { if (!this->callbacks_) { - this->callbacks_ = make_unique>(); + this->callbacks_ = new CallbackManager(); } this->callbacks_->add(std::move(callback)); } @@ -1313,7 +1505,7 @@ template class LazyCallbackManager { void operator()(Ts... args) { this->call(args...); } protected: - std::unique_ptr> callbacks_; + CallbackManager *callbacks_{nullptr}; }; /// Helper class to deduplicate items in a series of values. diff --git a/esphome/core/progmem.h b/esphome/core/progmem.h index fe9c9b5a75..4b897fb2de 100644 --- a/esphome/core/progmem.h +++ b/esphome/core/progmem.h @@ -12,6 +12,12 @@ #define ESPHOME_strncpy_P strncpy_P #define ESPHOME_strncat_P strncat_P #define ESPHOME_snprintf_P snprintf_P +#define ESPHOME_strcmp_P strcmp_P +#define ESPHOME_strcasecmp_P strcasecmp_P +#define ESPHOME_strncmp_P strncmp_P +#define ESPHOME_strncasecmp_P strncasecmp_P +// Type for pointers to PROGMEM strings (for use with ESPHOME_F return values) +using ProgmemStr = const __FlashStringHelper *; #else #define ESPHOME_F(string_literal) (string_literal) #define ESPHOME_PGM_P const char * @@ -19,4 +25,10 @@ #define ESPHOME_strncpy_P strncpy #define ESPHOME_strncat_P strncat #define ESPHOME_snprintf_P snprintf +#define ESPHOME_strcmp_P strcmp +#define ESPHOME_strcasecmp_P strcasecmp +#define ESPHOME_strncmp_P strncmp +#define ESPHOME_strncasecmp_P strncasecmp +// Type for pointers to strings (no PROGMEM on non-ESP8266 platforms) +using ProgmemStr = const char *; #endif diff --git a/esphome/core/scheduler.h b/esphome/core/scheduler.h index 8c2e349180..7de1023e6d 100644 --- a/esphome/core/scheduler.h +++ b/esphome/core/scheduler.h @@ -403,7 +403,9 @@ class Scheduler { for (size_t i = 0; i < remaining; i++) { this->defer_queue_[i] = std::move(this->defer_queue_[this->defer_queue_front_ + i]); } - this->defer_queue_.resize(remaining); + // Use erase() instead of resize() to avoid instantiating _M_default_append + // (saves ~156 bytes flash). Erasing from the end is O(1) - no shifting needed. + this->defer_queue_.erase(this->defer_queue_.begin() + remaining, this->defer_queue_.end()); } this->defer_queue_front_ = 0; } diff --git a/esphome/core/string_ref.h b/esphome/core/string_ref.h index 44ca79c81b..d502c4d27f 100644 --- a/esphome/core/string_ref.h +++ b/esphome/core/string_ref.h @@ -72,6 +72,7 @@ class StringRef { constexpr const char *c_str() const { return base_; } constexpr size_type size() const { return len_; } + constexpr size_type length() const { return len_; } constexpr bool empty() const { return len_ == 0; } constexpr const_reference operator[](size_type pos) const { return *(base_ + pos); } @@ -80,6 +81,32 @@ class StringRef { operator std::string() const { return str(); } + /// Find first occurrence of substring, returns std::string::npos if not found. + /// Note: Requires the underlying string to be null-terminated. + size_type find(const char *s, size_type pos = 0) const { + if (pos >= len_) + return std::string::npos; + const char *result = std::strstr(base_ + pos, s); + // Verify entire match is within bounds (strstr searches to null terminator) + if (result && result + std::strlen(s) <= base_ + len_) + return static_cast(result - base_); + return std::string::npos; + } + size_type find(char c, size_type pos = 0) const { + if (pos >= len_) + return std::string::npos; + const void *result = std::memchr(base_ + pos, static_cast(c), len_ - pos); + return result ? static_cast(static_cast(result) - base_) : std::string::npos; + } + + /// Return substring as std::string + std::string substr(size_type pos = 0, size_type count = std::string::npos) const { + if (pos >= len_) + return std::string(); + size_type actual_count = (count == std::string::npos || pos + count > len_) ? len_ - pos : count; + return std::string(base_ + pos, actual_count); + } + private: const char *base_; size_type len_; @@ -160,6 +187,43 @@ inline std::string operator+(const std::string &lhs, const StringRef &rhs) { str.append(rhs.c_str(), rhs.size()); return str; } +// String conversion functions for ADL compatibility (allows stoi(x) where x is StringRef) +// Must be in esphome namespace for ADL to find them. Uses strtol/strtod directly to avoid heap allocation. +namespace internal { +// NOLINTBEGIN(google-runtime-int) +template inline R parse_number(const StringRef &str, size_t *pos, F conv) { + char *end; + R result = conv(str.c_str(), &end); + // Set pos to 0 on conversion failure (when no characters consumed), otherwise index after number + if (pos) + *pos = (end == str.c_str()) ? 0 : static_cast(end - str.c_str()); + return result; +} +template inline R parse_number(const StringRef &str, size_t *pos, int base, F conv) { + char *end; + R result = conv(str.c_str(), &end, base); + // Set pos to 0 on conversion failure (when no characters consumed), otherwise index after number + if (pos) + *pos = (end == str.c_str()) ? 0 : static_cast(end - str.c_str()); + return result; +} +// NOLINTEND(google-runtime-int) +} // namespace internal +// NOLINTBEGIN(readability-identifier-naming,google-runtime-int) +inline int stoi(const StringRef &str, size_t *pos = nullptr, int base = 10) { + return static_cast(internal::parse_number(str, pos, base, std::strtol)); +} +inline long stol(const StringRef &str, size_t *pos = nullptr, int base = 10) { + return internal::parse_number(str, pos, base, std::strtol); +} +inline float stof(const StringRef &str, size_t *pos = nullptr) { + return internal::parse_number(str, pos, std::strtof); +} +inline double stod(const StringRef &str, size_t *pos = nullptr) { + return internal::parse_number(str, pos, std::strtod); +} +// NOLINTEND(readability-identifier-naming,google-runtime-int) + #ifdef USE_JSON // NOLINTNEXTLINE(readability-identifier-naming) inline void convertToJson(const StringRef &src, JsonVariant dst) { dst.set(src.c_str()); } diff --git a/esphome/core/time.cpp b/esphome/core/time.cpp index 4047033f84..554431c631 100644 --- a/esphome/core/time.cpp +++ b/esphome/core/time.cpp @@ -67,7 +67,7 @@ std::string ESPTime::strftime(const char *format) { std::string ESPTime::strftime(const std::string &format) { return this->strftime(format.c_str()); } -bool ESPTime::strptime(const std::string &time_to_parse, ESPTime &esp_time) { +bool ESPTime::strptime(const char *time_to_parse, size_t len, ESPTime &esp_time) { uint16_t year; uint8_t month; uint8_t day; @@ -75,40 +75,41 @@ bool ESPTime::strptime(const std::string &time_to_parse, ESPTime &esp_time) { uint8_t minute; uint8_t second; int num; + const int ilen = static_cast(len); - if (sscanf(time_to_parse.c_str(), "%04hu-%02hhu-%02hhu %02hhu:%02hhu:%02hhu %n", &year, &month, &day, // NOLINT - &hour, // NOLINT - &minute, // NOLINT - &second, &num) == 6 && // NOLINT - num == static_cast(time_to_parse.size())) { + if (sscanf(time_to_parse, "%04hu-%02hhu-%02hhu %02hhu:%02hhu:%02hhu %n", &year, &month, &day, // NOLINT + &hour, // NOLINT + &minute, // NOLINT + &second, &num) == 6 && // NOLINT + num == ilen) { esp_time.year = year; esp_time.month = month; esp_time.day_of_month = day; esp_time.hour = hour; esp_time.minute = minute; esp_time.second = second; - } else if (sscanf(time_to_parse.c_str(), "%04hu-%02hhu-%02hhu %02hhu:%02hhu %n", &year, &month, &day, // NOLINT - &hour, // NOLINT - &minute, &num) == 5 && // NOLINT - num == static_cast(time_to_parse.size())) { + } else if (sscanf(time_to_parse, "%04hu-%02hhu-%02hhu %02hhu:%02hhu %n", &year, &month, &day, // NOLINT + &hour, // NOLINT + &minute, &num) == 5 && // NOLINT + num == ilen) { esp_time.year = year; esp_time.month = month; esp_time.day_of_month = day; esp_time.hour = hour; esp_time.minute = minute; esp_time.second = 0; - } else if (sscanf(time_to_parse.c_str(), "%02hhu:%02hhu:%02hhu %n", &hour, &minute, &second, &num) == 3 && // NOLINT - num == static_cast(time_to_parse.size())) { + } else if (sscanf(time_to_parse, "%02hhu:%02hhu:%02hhu %n", &hour, &minute, &second, &num) == 3 && // NOLINT + num == ilen) { esp_time.hour = hour; esp_time.minute = minute; esp_time.second = second; - } else if (sscanf(time_to_parse.c_str(), "%02hhu:%02hhu %n", &hour, &minute, &num) == 2 && // NOLINT - num == static_cast(time_to_parse.size())) { + } else if (sscanf(time_to_parse, "%02hhu:%02hhu %n", &hour, &minute, &num) == 2 && // NOLINT + num == ilen) { esp_time.hour = hour; esp_time.minute = minute; esp_time.second = 0; - } else if (sscanf(time_to_parse.c_str(), "%04hu-%02hhu-%02hhu %n", &year, &month, &day, &num) == 3 && // NOLINT - num == static_cast(time_to_parse.size())) { + } else if (sscanf(time_to_parse, "%04hu-%02hhu-%02hhu %n", &year, &month, &day, &num) == 3 && // NOLINT + num == ilen) { esp_time.year = year; esp_time.month = month; esp_time.day_of_month = day; diff --git a/esphome/core/time.h b/esphome/core/time.h index f6f1d57dbb..87ebb5c221 100644 --- a/esphome/core/time.h +++ b/esphome/core/time.h @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -80,11 +81,20 @@ struct ESPTime { } /** Convert a string to ESPTime struct as specified by the format argument. - * @param time_to_parse null-terminated c string formatet like this: 2020-08-25 05:30:00. + * @param time_to_parse c string formatted like this: 2020-08-25 05:30:00. + * @param len length of the string (not including null terminator if present) * @param esp_time an instance of a ESPTime struct - * @return the success sate of the parsing + * @return the success state of the parsing */ - static bool strptime(const std::string &time_to_parse, ESPTime &esp_time); + static bool strptime(const char *time_to_parse, size_t len, ESPTime &esp_time); + /// @copydoc strptime(const char *, size_t, ESPTime &) + static bool strptime(const char *time_to_parse, ESPTime &esp_time) { + return strptime(time_to_parse, strlen(time_to_parse), esp_time); + } + /// @copydoc strptime(const char *, size_t, ESPTime &) + static bool strptime(const std::string &time_to_parse, ESPTime &esp_time) { + return strptime(time_to_parse.c_str(), time_to_parse.size(), esp_time); + } /// Convert a C tm struct instance with a C unix epoch timestamp to an ESPTime instance. static ESPTime from_c_tm(struct tm *c_tm, time_t c_time); diff --git a/esphome/cpp_types.py b/esphome/cpp_types.py index 0d1813f63b..7001c38857 100644 --- a/esphome/cpp_types.py +++ b/esphome/cpp_types.py @@ -44,3 +44,4 @@ gpio_Flags = gpio_ns.enum("Flags", is_class=True) EntityCategory = esphome_ns.enum("EntityCategory") Parented = esphome_ns.class_("Parented") ESPTime = esphome_ns.struct("ESPTime") +StringRef = esphome_ns.class_("StringRef") diff --git a/esphome/espidf_api.py b/esphome/espidf_api.py new file mode 100644 index 0000000000..9e9c57bfbd --- /dev/null +++ b/esphome/espidf_api.py @@ -0,0 +1,229 @@ +"""ESP-IDF direct build API for ESPHome.""" + +import json +import logging +import os +from pathlib import Path +import shutil +import subprocess + +from esphome.components.esp32.const import KEY_ESP32, KEY_FLASH_SIZE +from esphome.const import CONF_COMPILE_PROCESS_LIMIT, CONF_ESPHOME +from esphome.core import CORE, EsphomeError + +_LOGGER = logging.getLogger(__name__) + + +def _get_idf_path() -> Path | None: + """Get IDF_PATH from environment or common locations.""" + # Check environment variable first + if "IDF_PATH" in os.environ: + path = Path(os.environ["IDF_PATH"]) + if path.is_dir(): + return path + + # Check common installation locations + common_paths = [ + Path.home() / "esp" / "esp-idf", + Path.home() / ".espressif" / "esp-idf", + Path("/opt/esp-idf"), + ] + + for path in common_paths: + if path.is_dir() and (path / "tools" / "idf.py").is_file(): + return path + + return None + + +def _get_idf_env() -> dict[str, str]: + """Get environment variables needed for ESP-IDF build. + + Requires the user to have sourced export.sh before running esphome. + """ + env = os.environ.copy() + + idf_path = _get_idf_path() + if idf_path is None: + raise EsphomeError( + "ESP-IDF not found. Please install ESP-IDF and source export.sh:\n" + " git clone -b v5.3.2 --recursive https://github.com/espressif/esp-idf.git ~/esp-idf\n" + " cd ~/esp-idf && ./install.sh\n" + " source ~/esp-idf/export.sh\n" + "See: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/" + ) + + env["IDF_PATH"] = str(idf_path) + return env + + +def run_idf_py( + *args, cwd: Path | None = None, capture_output: bool = False +) -> int | str: + """Run idf.py with the given arguments.""" + idf_path = _get_idf_path() + if idf_path is None: + raise EsphomeError("ESP-IDF not found") + + env = _get_idf_env() + idf_py = idf_path / "tools" / "idf.py" + + cmd = ["python", str(idf_py)] + list(args) + + if cwd is None: + cwd = CORE.build_path + + _LOGGER.debug("Running: %s", " ".join(cmd)) + _LOGGER.debug(" in directory: %s", cwd) + + if capture_output: + result = subprocess.run( + cmd, + cwd=cwd, + env=env, + capture_output=True, + text=True, + check=False, + ) + if result.returncode != 0: + _LOGGER.error("idf.py failed:\n%s", result.stderr) + return result.stdout + result = subprocess.run( + cmd, + cwd=cwd, + env=env, + check=False, + ) + return result.returncode + + +def run_reconfigure() -> int: + """Run cmake reconfigure only (no build).""" + return run_idf_py("reconfigure") + + +def run_compile(config, verbose: bool) -> int: + """Compile the ESP-IDF project. + + Uses two-phase configure to auto-discover available components: + 1. If no previous build, configure with minimal REQUIRES to discover components + 2. Regenerate CMakeLists.txt with discovered components + 3. Run full build + """ + from esphome.build_gen.espidf import has_discovered_components, write_project + + # Check if we need to do discovery phase + if not has_discovered_components(): + _LOGGER.info("Discovering available ESP-IDF components...") + write_project(minimal=True) + rc = run_reconfigure() + if rc != 0: + _LOGGER.error("Component discovery failed") + return rc + _LOGGER.info("Regenerating CMakeLists.txt with discovered components...") + write_project(minimal=False) + + # Build + args = ["build"] + + if verbose: + args.append("-v") + + # Add parallel job limit if configured + if CONF_COMPILE_PROCESS_LIMIT in config.get(CONF_ESPHOME, {}): + limit = config[CONF_ESPHOME][CONF_COMPILE_PROCESS_LIMIT] + args.extend(["-j", str(limit)]) + + # Set the sdkconfig file + sdkconfig_path = CORE.relative_build_path(f"sdkconfig.{CORE.name}") + if sdkconfig_path.is_file(): + args.extend(["-D", f"SDKCONFIG={sdkconfig_path}"]) + + return run_idf_py(*args) + + +def get_firmware_path() -> Path: + """Get the path to the compiled firmware binary.""" + build_dir = CORE.relative_build_path("build") + return build_dir / f"{CORE.name}.bin" + + +def get_factory_firmware_path() -> Path: + """Get the path to the factory firmware (with bootloader).""" + build_dir = CORE.relative_build_path("build") + return build_dir / f"{CORE.name}.factory.bin" + + +def create_factory_bin() -> bool: + """Create factory.bin by merging bootloader, partition table, and app.""" + build_dir = CORE.relative_build_path("build") + flasher_args_path = build_dir / "flasher_args.json" + + if not flasher_args_path.is_file(): + _LOGGER.warning("flasher_args.json not found, cannot create factory.bin") + return False + + try: + with open(flasher_args_path, encoding="utf-8") as f: + flash_data = json.load(f) + except (json.JSONDecodeError, OSError) as e: + _LOGGER.error("Failed to read flasher_args.json: %s", e) + return False + + # Get flash size from config + flash_size = CORE.data[KEY_ESP32][KEY_FLASH_SIZE] + + # Build esptool merge command + sections = [] + for addr, fname in sorted( + flash_data.get("flash_files", {}).items(), key=lambda kv: int(kv[0], 16) + ): + file_path = build_dir / fname + if file_path.is_file(): + sections.extend([addr, str(file_path)]) + else: + _LOGGER.warning("Flash file not found: %s", file_path) + + if not sections: + _LOGGER.warning("No flash sections found") + return False + + output_path = get_factory_firmware_path() + chip = flash_data.get("extra_esptool_args", {}).get("chip", "esp32") + + cmd = [ + "python", + "-m", + "esptool", + "--chip", + chip, + "merge_bin", + "--flash_size", + flash_size, + "--output", + str(output_path), + ] + sections + + _LOGGER.info("Creating factory.bin...") + result = subprocess.run(cmd, capture_output=True, text=True, check=False) + + if result.returncode != 0: + _LOGGER.error("Failed to create factory.bin: %s", result.stderr) + return False + + _LOGGER.info("Created: %s", output_path) + return True + + +def create_ota_bin() -> bool: + """Copy the firmware to .ota.bin for ESPHome OTA compatibility.""" + firmware_path = get_firmware_path() + ota_path = firmware_path.with_suffix(".ota.bin") + + if not firmware_path.is_file(): + _LOGGER.warning("Firmware not found: %s", firmware_path) + return False + + shutil.copy(firmware_path, ota_path) + _LOGGER.info("Created: %s", ota_path) + return True diff --git a/esphome/espota2.py b/esphome/espota2.py index 6349ad0fa8..2d90251b38 100644 --- a/esphome/espota2.py +++ b/esphome/espota2.py @@ -154,6 +154,12 @@ def check_error(data: list[int] | bytes, expect: int | list[int] | None) -> None """ if not expect: return + if not data: + raise OTAError( + "Error: Device closed connection without responding. " + "This may indicate the device ran out of memory, " + "a network issue, or the connection was interrupted." + ) dat = data[0] if dat == RESPONSE_ERROR_MAGIC: raise OTAError("Error: Invalid magic byte") @@ -400,6 +406,8 @@ def run_ota_impl_( "Error resolving IP address of %s. Is it connected to WiFi?", remote_host, ) + if not CORE.dashboard: + _LOGGER.error("(If you know the IP, try --device )") _LOGGER.error( "(If this error persists, please set a static IP address: " "https://esphome.io/components/wifi/#manual-ips)" diff --git a/esphome/idf_component.yml b/esphome/idf_component.yml index 045b3f9168..b4a2c9b909 100644 --- a/esphome/idf_component.yml +++ b/esphome/idf_component.yml @@ -1,4 +1,8 @@ dependencies: + bblanchon/arduinojson: + version: "7.4.2" + esphome/esp-audio-libs: + version: 2.0.3 espressif/esp-tflite-micro: version: 1.3.3~1 espressif/esp32-camera: @@ -28,8 +32,8 @@ dependencies: rules: - if: "target in [esp32s2, esp32s3, esp32p4]" esphome/esp-hub75: - version: 0.2.2 + version: 0.3.2 rules: - - if: "target in [esp32, esp32s2, esp32s3, esp32p4]" + - if: "target in [esp32, esp32s2, esp32s3, esp32c6, esp32p4]" esp32async/asynctcp: version: 3.4.91 diff --git a/platformio.ini b/platformio.ini index 4180971b54..0f5bf2f8fb 100644 --- a/platformio.ini +++ b/platformio.ini @@ -34,7 +34,6 @@ build_flags = [common] ; Base dependencies for all environments lib_deps_base = - bblanchon/ArduinoJson@7.4.2 ; json wjtje/qr-code-generator-library@1.7.0 ; qr_code functionpointer/arduino-MLX90393@1.0.2 ; mlx90393 pavlodn/HaierProtocol@0.9.31 ; haier @@ -85,7 +84,7 @@ lib_deps = fastled/FastLED@3.9.16 ; fastled_base freekode/TM1651@1.0.1 ; tm1651 dudanov/MideaUART@1.1.9 ; midea - tonia/HeatpumpIR@1.0.37 ; heatpumpir + tonia/HeatpumpIR@1.0.40 ; heatpumpir build_flags = ${common.build_flags} -DUSE_ARDUINO @@ -111,10 +110,11 @@ platform_packages = framework = arduino lib_deps = ${common:arduino.lib_deps} + bblanchon/ArduinoJson@7.4.2 ; json ESP8266WiFi ; wifi (Arduino built-in) Update ; ota (Arduino built-in) ESP32Async/ESPAsyncTCP@2.0.0 ; async_tcp - ESP32Async/ESPAsyncWebServer@3.7.8 ; web_server_base + ESP32Async/ESPAsyncWebServer@3.9.5 ; web_server_base makuna/NeoPixelBus@2.7.3 ; neopixelbus ESP8266HTTPClient ; http_request (Arduino built-in) ESP8266mDNS ; mdns (Arduino built-in) @@ -133,9 +133,9 @@ extra_scripts = post:esphome/components/esp8266/post_build.py.script ; This are common settings for the ESP32 (all variants) using Arduino. [common:esp32-arduino] extends = common:arduino -platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.35/platform-espressif32.zip +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.36/platform-espressif32.zip platform_packages = - pioarduino/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32/releases/download/3.3.5/esp32-3.3.5.zip + pioarduino/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32/releases/download/3.3.6/esp32-core-3.3.6.tar.xz framework = arduino, espidf ; Arduino as an ESP-IDF component lib_deps = @@ -154,7 +154,6 @@ lib_deps = makuna/NeoPixelBus@2.8.0 ; neopixelbus esphome/ESP32-audioI2S@2.3.0 ; i2s_audio droscy/esp_wireguard@0.4.2 ; wireguard - esphome/esp-audio-libs@2.0.1 ; audio kahrendt/ESPMicroSpeechFeatures@1.1.0 ; micro_wake_word build_flags = @@ -169,7 +168,7 @@ extra_scripts = post:esphome/components/esp32/post_build.py.script ; This are common settings for the ESP32 (all variants) using IDF. [common:esp32-idf] extends = common:idf -platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.35/platform-espressif32.zip +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.36/platform-espressif32.zip platform_packages = pioarduino/framework-espidf@https://github.com/pioarduino/esp-idf/releases/download/v5.5.2/esp-idf-v5.5.2.tar.xz @@ -178,7 +177,7 @@ lib_deps = ${common:idf.lib_deps} droscy/esp_wireguard@0.4.2 ; wireguard kahrendt/ESPMicroSpeechFeatures@1.1.0 ; micro_wake_word - esphome/esp-audio-libs@2.0.1 ; audio + tonia/HeatpumpIR@1.0.40 ; heatpumpir build_flags = ${common:idf.build_flags} -Wno-nonnull-compare @@ -201,7 +200,9 @@ platform_packages = framework = arduino lib_deps = ${common:arduino.lib_deps} - ESP32Async/ESPAsyncWebServer@3.7.8 ; web_server_base + ayushsharma82/RPAsyncTCP@1.3.2 ; async_tcp + bblanchon/ArduinoJson@7.4.2 ; json + ESP32Async/ESPAsyncWebServer@3.9.5 ; web_server_base build_flags = ${common:arduino.build_flags} -DUSE_RP2040 @@ -212,11 +213,12 @@ build_unflags = ; This are common settings for the LibreTiny (all variants) using Arduino. [common:libretiny-arduino] extends = common:arduino -platform = libretiny@1.9.2 +platform = https://github.com/libretiny-eu/libretiny.git#v1.11.0 framework = arduino lib_compat_mode = soft lib_deps = - ESP32Async/ESPAsyncWebServer@3.7.8 ; web_server_base + bblanchon/ArduinoJson@7.4.2 ; json + ESP32Async/ESPAsyncWebServer@3.9.5 ; web_server_base droscy/esp_wireguard@0.4.2 ; wireguard build_flags = ${common:arduino.build_flags} @@ -228,17 +230,17 @@ build_src_flags = -include Arduino.h ; This is the common settings for the nRF52 using Zephyr. [common:nrf52-zephyr] extends = common -platform = https://github.com/tomaszduda23/platform-nordicnrf52/archive/refs/tags/v10.3.0-1.zip +platform = https://github.com/tomaszduda23/platform-nordicnrf52/archive/refs/tags/v10.3.0-5.zip framework = zephyr platform_packages = - platformio/framework-zephyr @ https://github.com/tomaszduda23/framework-sdk-nrf/archive/refs/tags/v2.6.1-7.zip - platformio/toolchain-gccarmnoneeabi@https://github.com/tomaszduda23/toolchain-sdk-ng/archive/refs/tags/v0.17.4-0.zip + platformio/framework-zephyr @ https://github.com/tomaszduda23/framework-sdk-nrf/archive/refs/tags/v2.6.1-a.zip build_flags = ${common.build_flags} -DUSE_ZEPHYR -DUSE_NRF52 lib_deps = ${common.lib_deps_base} + bblanchon/ArduinoJson@7.4.2 ; json ; All the actual environments are defined below. diff --git a/pyproject.toml b/pyproject.toml index d6aa584237..1bd43ea2f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools==80.9.0", "wheel>=0.43,<0.46"] +requires = ["setuptools==80.10.2", "wheel>=0.43,<0.47"] build-backend = "setuptools.build_meta" [project] diff --git a/requirements.txt b/requirements.txt index a707fda059..821324262b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20260110.0 -aioesphomeapi==43.13.0 +aioesphomeapi==43.14.0 zeroconf==0.148.0 puremagic==1.30 ruamel.yaml==0.19.1 # dashboard_import diff --git a/requirements_test.txt b/requirements_test.txt index e0bc943ab4..5d90764021 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,6 +1,6 @@ pylint==4.0.4 flake8==7.3.0 # also change in .pre-commit-config.yaml when updating -ruff==0.14.12 # also change in .pre-commit-config.yaml when updating +ruff==0.14.14 # also change in .pre-commit-config.yaml when updating pyupgrade==3.21.2 # also change in .pre-commit-config.yaml when updating pre-commit diff --git a/script/ci-custom.py b/script/ci-custom.py index e63e61e096..b146c9867e 100755 --- a/script/ci-custom.py +++ b/script/ci-custom.py @@ -682,14 +682,18 @@ def lint_trailing_whitespace(fname, match): # Heap-allocating helpers that cause fragmentation on long-running embedded devices. # These return std::string and should be replaced with stack-based alternatives. HEAP_ALLOCATING_HELPERS = { + "format_bin": "format_bin_to() with a stack buffer", "format_hex": "format_hex_to() with a stack buffer", "format_hex_pretty": "format_hex_pretty_to() with a stack buffer", "format_mac_address_pretty": "format_mac_addr_upper() with a stack buffer", "get_mac_address": "get_mac_address_into_buffer() with a stack buffer", "get_mac_address_pretty": "get_mac_address_pretty_into_buffer() with a stack buffer", + "str_sanitize": "str_sanitize_to() with a stack buffer", "str_truncate": "removal (function is unused)", "str_upper_case": "removal (function is unused)", "str_snake_case": "removal (function is unused)", + "str_sprintf": "snprintf() with a stack buffer", + "str_snprintf": "snprintf() with a stack buffer", } @@ -699,14 +703,18 @@ HEAP_ALLOCATING_HELPERS = { # get_mac_address(?!_) ensures we don't match get_mac_address_into_buffer, etc. # CPP_RE_EOL captures rest of line so NOLINT comments are detected r"[^\w](" + r"format_bin(?!_)|" r"format_hex(?!_)|" r"format_hex_pretty(?!_)|" r"format_mac_address_pretty|" r"get_mac_address_pretty(?!_)|" r"get_mac_address(?!_)|" + r"str_sanitize(?!_)|" r"str_truncate|" r"str_upper_case|" - r"str_snake_case" + r"str_snake_case|" + r"str_sprintf|" + r"str_snprintf" r")\s*\(" + CPP_RE_EOL, include=cpp_include, exclude=[ @@ -728,6 +736,26 @@ def lint_no_heap_allocating_helpers(fname, match): ) +@lint_re_check( + # Match sprintf/vsprintf but not snprintf/vsnprintf + # [^\w] ensures we don't match the safe variants + r"[^\w](v?sprintf)\s*\(" + CPP_RE_EOL, + include=cpp_include, +) +def lint_no_sprintf(fname, match): + func = match.group(1) + safe_func = func.replace("sprintf", "snprintf") + return ( + f"{highlight(func + '()')} is not allowed in ESPHome. It has no buffer size limit " + f"and can cause buffer overflows.\n" + f"Please use one of these alternatives:\n" + f" - {highlight(safe_func + '(buf, sizeof(buf), fmt, ...)')} for general formatting\n" + f" - {highlight('buf_append_printf(buf, sizeof(buf), pos, fmt, ...)')} for " + f"offset-based formatting (also stores format strings in flash on ESP8266)\n" + f"(If strictly necessary, add `// NOLINT` to the end of the line)" + ) + + @lint_content_find_check( "ESP_LOG", include=["*.h", "*.tcc"], diff --git a/tests/components/alarm_control_panel/common.yaml b/tests/components/alarm_control_panel/common.yaml index 142bf3c7e6..39d5739255 100644 --- a/tests/components/alarm_control_panel/common.yaml +++ b/tests/components/alarm_control_panel/common.yaml @@ -9,6 +9,8 @@ alarm_control_panel: name: Alarm Panel codes: - "1234" + - "5678" + - "0000" requires_code_to_arm: true arming_home_time: 1s arming_night_time: 1s @@ -29,6 +31,7 @@ alarm_control_panel: name: Alarm Panel 2 codes: - "1234" + - "9999" requires_code_to_arm: true arming_home_time: 1s arming_night_time: 1s diff --git a/tests/components/bmp581/common.yaml b/tests/components/bmp581_i2c/common.yaml similarity index 86% rename from tests/components/bmp581/common.yaml rename to tests/components/bmp581_i2c/common.yaml index 250b1f5857..258d8a5020 100644 --- a/tests/components/bmp581/common.yaml +++ b/tests/components/bmp581_i2c/common.yaml @@ -1,5 +1,5 @@ sensor: - - platform: bmp581 + - platform: bmp581_i2c i2c_id: i2c_bus temperature: name: BMP581 Temperature diff --git a/tests/components/bmp581/test.esp32-idf.yaml b/tests/components/bmp581_i2c/test.esp32-idf.yaml similarity index 100% rename from tests/components/bmp581/test.esp32-idf.yaml rename to tests/components/bmp581_i2c/test.esp32-idf.yaml diff --git a/tests/components/bmp581/test.esp8266-ard.yaml b/tests/components/bmp581_i2c/test.esp8266-ard.yaml similarity index 100% rename from tests/components/bmp581/test.esp8266-ard.yaml rename to tests/components/bmp581_i2c/test.esp8266-ard.yaml diff --git a/tests/components/bmp581/test.rp2040-ard.yaml b/tests/components/bmp581_i2c/test.rp2040-ard.yaml similarity index 100% rename from tests/components/bmp581/test.rp2040-ard.yaml rename to tests/components/bmp581_i2c/test.rp2040-ard.yaml diff --git a/tests/components/bthome_mithermometer/common.yaml b/tests/components/bthome_mithermometer/common.yaml index ba94e46878..7a68fae966 100644 --- a/tests/components/bthome_mithermometer/common.yaml +++ b/tests/components/bthome_mithermometer/common.yaml @@ -3,6 +3,7 @@ esp32_ble_tracker: sensor: - platform: bthome_mithermometer mac_address: A4:C1:38:4E:16:78 + bindkey: eef418daf699a0c188f3bfd17e4565d9 temperature: name: "BTHome Temperature" humidity: diff --git a/tests/components/debug/test.nrf52-adafruit.yaml b/tests/components/debug/test.nrf52-adafruit.yaml index dade44d145..6a446634af 100644 --- a/tests/components/debug/test.nrf52-adafruit.yaml +++ b/tests/components/debug/test.nrf52-adafruit.yaml @@ -1 +1,5 @@ <<: !include common.yaml + +nrf52: + reg0: + voltage: 2.1V diff --git a/tests/components/esp32/test.esp32-idf.yaml b/tests/components/esp32/test.esp32-idf.yaml index 0e220623a1..d38cdfe2fd 100644 --- a/tests/components/esp32/test.esp32-idf.yaml +++ b/tests/components/esp32/test.esp32-idf.yaml @@ -7,6 +7,7 @@ esp32: enable_lwip_mdns_queries: true enable_lwip_bridge_interface: true disable_libc_locks_in_iram: false # Test explicit opt-out of RAM optimization + use_full_certificate_bundle: false # Test CMN bundle (default) wifi: ssid: MySSID diff --git a/tests/components/globals/common.yaml b/tests/components/globals/common.yaml index 224a91a270..efa3cba076 100644 --- a/tests/components/globals/common.yaml +++ b/tests/components/globals/common.yaml @@ -10,6 +10,7 @@ globals: type: int restore_value: true initial_value: "0" + update_interval: 5s - id: glob_float type: float restore_value: true diff --git a/tests/components/heatpumpir/test.esp32-idf.yaml b/tests/components/heatpumpir/test.esp32-idf.yaml new file mode 100644 index 0000000000..e891f9dc85 --- /dev/null +++ b/tests/components/heatpumpir/test.esp32-idf.yaml @@ -0,0 +1,4 @@ +packages: + remote_transmitter: !include ../../test_build_components/common/remote_transmitter/esp32-idf.yaml + +<<: !include common.yaml diff --git a/tests/components/http_request/test-custom-ca.esp32-idf.yaml b/tests/components/http_request/test-custom-ca.esp32-idf.yaml new file mode 100644 index 0000000000..0b1b2f8829 --- /dev/null +++ b/tests/components/http_request/test-custom-ca.esp32-idf.yaml @@ -0,0 +1,7 @@ +substitutions: + verify_ssl: "true" + +http_request: + ca_certificate_path: $component_dir/test_ca.pem + +<<: !include common.yaml diff --git a/tests/components/http_request/test_ca.pem b/tests/components/http_request/test_ca.pem new file mode 100644 index 0000000000..30cbc1a3c4 --- /dev/null +++ b/tests/components/http_request/test_ca.pem @@ -0,0 +1,10 @@ +-----BEGIN CERTIFICATE----- +MIIBkTCB+wIJAKHBfpegPjMCMA0GCSqGSIb3DQEBCwUAMBExDzANBgNVBAMMBnVu +dXNlZDAeFw0yNDAxMDEwMDAwMDBaFw0yNTAxMDEwMDAwMDBaMBExDzANBgNVBAMM +BnVudXNlZDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC5mMUB1hOgLmlnXtsvcGMP +XkhAqZaR0dDPW5OS8VEopWLJCX9Y0cvNCqiDI8cnP8pP8XJGU1hGLvA5PJzWnWZz +AgMBAAGjUzBRMB0GA1UdDgQWBBR5oQ9KqFeZOdBuAJrXxEP0dqzPtTAfBgNVHSME +GDAWgBR5oQ9KqFeZOdBuAJrXxEP0dqzPtTAPBgNVHRMBAf8EBTADAQH/MA0GCSqG +SIb3DQEBCwUAA0EAKqZFf6+f8FPDbKyPCpssquojgn7fEXqr/I/yz0R5CowGdMms +H3WH3aKP4lLSHdPTBtfIoJi3gEIZjFxp3S1TWw== +-----END CERTIFICATE----- diff --git a/tests/components/ir_rf_proxy/common-rx.yaml b/tests/components/ir_rf_proxy/common-rx.yaml new file mode 100644 index 0000000000..0f758f832d --- /dev/null +++ b/tests/components/ir_rf_proxy/common-rx.yaml @@ -0,0 +1,18 @@ +remote_receiver: + id: ir_receiver + pin: ${rx_pin} + +# Test various hardware types with transmitter/receiver using infrared platform +infrared: + # Infrared receiver + - platform: ir_rf_proxy + id: ir_rx + name: "IR Receiver" + remote_receiver_id: ir_receiver + + # RF 900MHz receiver + - platform: ir_rf_proxy + id: rf_900_rx + name: "RF 900 Receiver" + frequency: 900 MHz + remote_receiver_id: ir_receiver diff --git a/tests/components/ir_rf_proxy/common-tx.yaml b/tests/components/ir_rf_proxy/common-tx.yaml new file mode 100644 index 0000000000..4af9e2635e --- /dev/null +++ b/tests/components/ir_rf_proxy/common-tx.yaml @@ -0,0 +1,19 @@ +remote_transmitter: + id: ir_transmitter + pin: ${tx_pin} + carrier_duty_percent: 50% + +# Test various hardware types with transmitter/receiver using infrared platform +infrared: + # Infrared transmitter + - platform: ir_rf_proxy + id: ir_tx + name: "IR Transmitter" + remote_transmitter_id: ir_transmitter + + # RF 433MHz transmitter + - platform: ir_rf_proxy + id: rf_433_tx + name: "RF 433 Transmitter" + frequency: 433 MHz + remote_transmitter_id: ir_transmitter diff --git a/tests/components/ir_rf_proxy/common.yaml b/tests/components/ir_rf_proxy/common.yaml index cd2b10d31b..53a0cd379a 100644 --- a/tests/components/ir_rf_proxy/common.yaml +++ b/tests/components/ir_rf_proxy/common.yaml @@ -1,42 +1,7 @@ +network: + wifi: ssid: MySSID password: password1 api: - -remote_transmitter: - id: ir_transmitter - pin: ${tx_pin} - carrier_duty_percent: 50% - -remote_receiver: - id: ir_receiver - pin: ${rx_pin} - -# Test various hardware types with transmitter/receiver using infrared platform -infrared: - # Infrared transmitter - - platform: ir_rf_proxy - id: ir_tx - name: "IR Transmitter" - remote_transmitter_id: ir_transmitter - - # Infrared receiver - - platform: ir_rf_proxy - id: ir_rx - name: "IR Receiver" - remote_receiver_id: ir_receiver - - # RF 433MHz transmitter - - platform: ir_rf_proxy - id: rf_433_tx - name: "RF 433 Transmitter" - frequency: 433 MHz - remote_transmitter_id: ir_transmitter - - # RF 900MHz receiver - - platform: ir_rf_proxy - id: rf_900_rx - name: "RF 900 Receiver" - frequency: 900 MHz - remote_receiver_id: ir_receiver diff --git a/tests/components/ir_rf_proxy/test-rx.esp32-idf.yaml b/tests/components/ir_rf_proxy/test-rx.esp32-idf.yaml new file mode 100644 index 0000000000..8172885b31 --- /dev/null +++ b/tests/components/ir_rf_proxy/test-rx.esp32-idf.yaml @@ -0,0 +1,7 @@ +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + common: !include common.yaml + rx: !include common-rx.yaml diff --git a/tests/components/ir_rf_proxy/test-rx.esp8266-ard.yaml b/tests/components/ir_rf_proxy/test-rx.esp8266-ard.yaml new file mode 100644 index 0000000000..8172885b31 --- /dev/null +++ b/tests/components/ir_rf_proxy/test-rx.esp8266-ard.yaml @@ -0,0 +1,7 @@ +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + common: !include common.yaml + rx: !include common-rx.yaml diff --git a/tests/components/ir_rf_proxy/test-rx.rp2040-ard.yaml b/tests/components/ir_rf_proxy/test-rx.rp2040-ard.yaml new file mode 100644 index 0000000000..8172885b31 --- /dev/null +++ b/tests/components/ir_rf_proxy/test-rx.rp2040-ard.yaml @@ -0,0 +1,7 @@ +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + common: !include common.yaml + rx: !include common-rx.yaml diff --git a/tests/components/ir_rf_proxy/test-tx.esp32-idf.yaml b/tests/components/ir_rf_proxy/test-tx.esp32-idf.yaml new file mode 100644 index 0000000000..7162f15b2d --- /dev/null +++ b/tests/components/ir_rf_proxy/test-tx.esp32-idf.yaml @@ -0,0 +1,7 @@ +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + common: !include common.yaml + tx: !include common-tx.yaml diff --git a/tests/components/ir_rf_proxy/test-tx.esp8266-ard.yaml b/tests/components/ir_rf_proxy/test-tx.esp8266-ard.yaml new file mode 100644 index 0000000000..7162f15b2d --- /dev/null +++ b/tests/components/ir_rf_proxy/test-tx.esp8266-ard.yaml @@ -0,0 +1,7 @@ +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + common: !include common.yaml + tx: !include common-tx.yaml diff --git a/tests/components/ir_rf_proxy/test-tx.rp2040-ard.yaml b/tests/components/ir_rf_proxy/test-tx.rp2040-ard.yaml new file mode 100644 index 0000000000..7162f15b2d --- /dev/null +++ b/tests/components/ir_rf_proxy/test-tx.rp2040-ard.yaml @@ -0,0 +1,7 @@ +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + common: !include common.yaml + tx: !include common-tx.yaml diff --git a/tests/components/ir_rf_proxy/test.bk72xx-ard.yaml b/tests/components/ir_rf_proxy/test.bk72xx-ard.yaml new file mode 100644 index 0000000000..a0e145f476 --- /dev/null +++ b/tests/components/ir_rf_proxy/test.bk72xx-ard.yaml @@ -0,0 +1,8 @@ +substitutions: + tx_pin: GPIO4 + rx_pin: GPIO5 + +packages: + common: !include common.yaml + rx: !include common-rx.yaml + tx: !include common-tx.yaml diff --git a/tests/components/ir_rf_proxy/test.esp32-idf.yaml b/tests/components/ir_rf_proxy/test.esp32-idf.yaml index b516342f3b..a0e145f476 100644 --- a/tests/components/ir_rf_proxy/test.esp32-idf.yaml +++ b/tests/components/ir_rf_proxy/test.esp32-idf.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 -<<: !include common.yaml +packages: + common: !include common.yaml + rx: !include common-rx.yaml + tx: !include common-tx.yaml diff --git a/tests/components/ir_rf_proxy/test.esp8266-ard.yaml b/tests/components/ir_rf_proxy/test.esp8266-ard.yaml index b516342f3b..a0e145f476 100644 --- a/tests/components/ir_rf_proxy/test.esp8266-ard.yaml +++ b/tests/components/ir_rf_proxy/test.esp8266-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 -<<: !include common.yaml +packages: + common: !include common.yaml + rx: !include common-rx.yaml + tx: !include common-tx.yaml diff --git a/tests/components/ir_rf_proxy/test.rp2040-ard.yaml b/tests/components/ir_rf_proxy/test.rp2040-ard.yaml index b516342f3b..a0e145f476 100644 --- a/tests/components/ir_rf_proxy/test.rp2040-ard.yaml +++ b/tests/components/ir_rf_proxy/test.rp2040-ard.yaml @@ -2,4 +2,7 @@ substitutions: tx_pin: GPIO4 rx_pin: GPIO5 -<<: !include common.yaml +packages: + common: !include common.yaml + rx: !include common-rx.yaml + tx: !include common-tx.yaml diff --git a/tests/components/lvgl/lvgl-package.yaml b/tests/components/lvgl/lvgl-package.yaml index 65d629bcdf..3635fc710f 100644 --- a/tests/components/lvgl/lvgl-package.yaml +++ b/tests/components/lvgl/lvgl-package.yaml @@ -197,6 +197,9 @@ lvgl: - lvgl.label.update: id: msgbox_label text: Unloaded + - lvgl.label.update: + id: msgbox_label + text: "" # Empty text on_all_events: logger.log: format: "Event %s" diff --git a/tests/components/nextion/common.yaml b/tests/components/nextion/common.yaml index f5ee12a51c..4373fe5462 100644 --- a/tests/components/nextion/common.yaml +++ b/tests/components/nextion/common.yaml @@ -273,10 +273,9 @@ text_sensor: display: - platform: nextion id: main_lcd - update_interval: 5s - command_spacing: 5ms max_commands_per_loop: 20 max_queue_size: 50 + update_interval: 5s on_sleep: then: lambda: 'ESP_LOGD("display","Display went to sleep");' @@ -292,3 +291,8 @@ display: on_buffer_overflow: then: logger.log: "Nextion reported a buffer overflow!" + + command_spacing: 5ms + dump_device_info: true + max_queue_age: 5000ms # Remove queue items after 5s + startup_override_ms: 10000ms # Wait 10s for display ready diff --git a/tests/components/nrf52/test.nrf52-adafruit.yaml b/tests/components/nrf52/test.nrf52-adafruit.yaml index 0ad31993ae..300cb7b5d7 100644 --- a/tests/components/nrf52/test.nrf52-adafruit.yaml +++ b/tests/components/nrf52/test.nrf52-adafruit.yaml @@ -20,4 +20,4 @@ nrf52: voltage: 2.1V uicr_erase: true framework: - version: "2.6.1-7" + version: "2.6.1-a" diff --git a/tests/components/sy6970/common.yaml b/tests/components/sy6970/common.yaml new file mode 100644 index 0000000000..53699fe6fb --- /dev/null +++ b/tests/components/sy6970/common.yaml @@ -0,0 +1,57 @@ +sy6970: + id: sy6970_component + i2c_id: i2c_bus + address: 0x6A + enable_status_led: true + input_current_limit: 1000 + charge_voltage: 4200 + charge_current: 500 + precharge_current: 128 + charge_enabled: true + enable_adc: true + update_interval: 5s + +sensor: + - platform: sy6970 + sy6970_id: sy6970_component + vbus_voltage: + name: "VBUS Voltage" + id: vbus_voltage_sensor + battery_voltage: + name: "Battery Voltage" + id: battery_voltage_sensor + system_voltage: + name: "System Voltage" + id: system_voltage_sensor + charge_current: + name: "Charge Current" + id: charge_current_sensor + precharge_current: + name: "Precharge Current" + id: precharge_current_sensor + +binary_sensor: + - platform: sy6970 + sy6970_id: sy6970_component + vbus_connected: + name: "VBUS Connected" + id: vbus_connected_binary + charging: + name: "Charging" + id: charging_binary + charge_done: + name: "Charge Done" + id: charge_done_binary + +text_sensor: + - platform: sy6970 + sy6970_id: sy6970_component + bus_status: + name: "Bus Status" + id: bus_status_text + charge_status: + name: "Charge Status" + id: charge_status_text + ntc_status: + name: "NTC Status" + id: ntc_status_text diff --git a/tests/components/sy6970/test.esp32-idf.yaml b/tests/components/sy6970/test.esp32-idf.yaml new file mode 100644 index 0000000000..b47e39c389 --- /dev/null +++ b/tests/components/sy6970/test.esp32-idf.yaml @@ -0,0 +1,4 @@ +packages: + i2c: !include ../../test_build_components/common/i2c/esp32-idf.yaml + +<<: !include common.yaml diff --git a/tests/components/template/common-base.yaml b/tests/components/template/common-base.yaml index 134ad4d046..9dc65fbab8 100644 --- a/tests/components/template/common-base.yaml +++ b/tests/components/template/common-base.yaml @@ -53,6 +53,17 @@ binary_sensor: // Garage Door is closed. return false; } + - platform: template + id: select_binary_sensor + name: Select is one or two + condition: + any: + - select.is: + id: template_select + options: [one, two] + - select.is: + id: template_select + lambda: return current == id(template_text).state; - platform: template id: other_binary_sensor name: "Garage Door Closed" @@ -106,10 +117,13 @@ sensor: - 10.0 -> 12.1 - 13.0 -> 14.0 - clamp: + # Infinity and NaN will be clamped (NaN -> min_value, +Infinity -> max_value, -Infinity -> min_value) max_value: 10.0 min_value: -10.0 - debounce: 0.1s - delta: 5.0 + - delta: + max_value: 2% - exponential_moving_average: alpha: 0.1 send_every: 15 @@ -320,6 +334,7 @@ valve: text: - platform: template + id: template_text name: "Template text" optimistic: true min_length: 0 diff --git a/tests/components/text_sensor/common.yaml b/tests/components/text_sensor/common.yaml index 4459c0fa44..97b0b8ad94 100644 --- a/tests/components/text_sensor/common.yaml +++ b/tests/components/text_sensor/common.yaml @@ -64,3 +64,16 @@ text_sensor: - suffix -> SUFFIX - map: - PREFIX text SUFFIX -> mapped + + - platform: template + name: "Test Lambda Filter" + id: test_lambda_filter + filters: + - lambda: |- + return {"[" + x + "]"}; + - to_upper + - lambda: |- + if (x.length() > 10) { + return {x.substr(0, 10) + "..."}; + } + return {x}; diff --git a/tests/components/udp/common.yaml b/tests/components/udp/common.yaml index 98546d49ef..3466e8d2ee 100644 --- a/tests/components/udp/common.yaml +++ b/tests/components/udp/common.yaml @@ -5,7 +5,10 @@ wifi: udp: id: my_udp listen_address: 239.0.60.53 - addresses: ["239.0.60.53"] + addresses: + - "239.0.60.53" + - "192.168.1.255" + - "10.0.0.255" on_receive: - logger.log: format: "Received %d bytes" diff --git a/tests/components/web_server/test.rp2040-ard.yaml b/tests/components/web_server/test.rp2040-ard.yaml new file mode 100644 index 0000000000..7e6658e20e --- /dev/null +++ b/tests/components/web_server/test.rp2040-ard.yaml @@ -0,0 +1 @@ +<<: !include common_v2.yaml diff --git a/tests/components/zigbee/common.yaml b/tests/components/zigbee/common.yaml index 11100e1e0c..e4dee5f74a 100644 --- a/tests/components/zigbee/common.yaml +++ b/tests/components/zigbee/common.yaml @@ -8,8 +8,6 @@ binary_sensor: name: "Garage Door Open 3" - platform: template name: "Garage Door Open 4" - - platform: template - name: "Garage Door Open 5" - platform: template name: "Garage Door Internal" internal: True @@ -21,6 +19,10 @@ sensor: - platform: template name: "Analog 2" lambda: return 11.0; + - platform: template + name: "Analog 3" + lambda: return 12.0; + internal: True zigbee: wipe_on_boot: true @@ -35,6 +37,9 @@ output: write_action: - zigbee.factory_reset +time: + - platform: zigbee + switch: - platform: template name: "Template Switch" diff --git a/tests/components/zigbee/test.nrf52-xiao-ble.yaml b/tests/components/zigbee/test.nrf52-xiao-ble.yaml index d2ce552de3..254f370ca7 100644 --- a/tests/components/zigbee/test.nrf52-xiao-ble.yaml +++ b/tests/components/zigbee/test.nrf52-xiao-ble.yaml @@ -3,3 +3,4 @@ zigbee: wipe_on_boot: once power_source: battery + ieee802154_vendor_oui: 0x231 diff --git a/tests/integration/fixtures/api_homeassistant.yaml b/tests/integration/fixtures/api_homeassistant.yaml index 8fe23b9a19..2d77821ff3 100644 --- a/tests/integration/fixtures/api_homeassistant.yaml +++ b/tests/integration/fixtures/api_homeassistant.yaml @@ -108,6 +108,25 @@ text_sensor: format: "HA Empty state updated: %s" args: ['x.c_str()'] + # Test long attribute handling (>255 characters) + # HA states are limited to 255 chars, but attributes are not + - platform: homeassistant + name: "HA Long Attribute" + entity_id: sensor.long_data + attribute: long_value + id: ha_long_attribute + on_value: + then: + - logger.log: + format: "HA Long attribute received, length: %d" + args: ['x.size()'] + # Log the first 50 and last 50 chars to verify no truncation + - lambda: |- + if (x.size() >= 100) { + ESP_LOGI("test", "Long attribute first 50 chars: %.50s", x.c_str()); + ESP_LOGI("test", "Long attribute last 50 chars: %s", x.c_str() + x.size() - 50); + } + # Number component for testing HA number control number: - platform: template diff --git a/tests/integration/fixtures/select_stringref_trigger.yaml b/tests/integration/fixtures/select_stringref_trigger.yaml new file mode 100644 index 0000000000..bb1e1fd843 --- /dev/null +++ b/tests/integration/fixtures/select_stringref_trigger.yaml @@ -0,0 +1,85 @@ +esphome: + name: select-stringref-test + friendly_name: Select StringRef Test + +host: + +logger: + level: DEBUG + +api: + +select: + - platform: template + name: "Test Select" + id: test_select + optimistic: true + options: + - "Option A" + - "Option B" + - "Option C" + initial_option: "Option A" + on_value: + then: + # Test 1: Log the value directly (StringRef -> const char* via c_str()) + - logger.log: + format: "Select value: %s" + args: ['x.c_str()'] + # Test 2: String concatenation (StringRef + const char* -> std::string) + - lambda: |- + std::string with_suffix = x + " selected"; + ESP_LOGI("test", "Concatenated: %s", with_suffix.c_str()); + # Test 3: Comparison (StringRef == const char*) + - lambda: |- + if (x == "Option B") { + ESP_LOGI("test", "Option B was selected"); + } + # Test 4: Use index parameter (variable name is 'i') + - lambda: |- + ESP_LOGI("test", "Select index: %d", (int)i); + # Test 5: StringRef.length() method + - lambda: |- + ESP_LOGI("test", "Length: %d", (int)x.length()); + # Test 6: StringRef.find() method with substring + - lambda: |- + if (x.find("Option") != std::string::npos) { + ESP_LOGI("test", "Found 'Option' in value"); + } + # Test 7: StringRef.find() method with character + - lambda: |- + size_t space_pos = x.find(' '); + if (space_pos != std::string::npos) { + ESP_LOGI("test", "Space at position: %d", (int)space_pos); + } + # Test 8: StringRef.substr() method + - lambda: |- + std::string prefix = x.substr(0, 6); + ESP_LOGI("test", "Substr prefix: %s", prefix.c_str()); + + # Second select with numeric options to test ADL functions + - platform: template + name: "Baud Rate" + id: baud_select + optimistic: true + options: + - "9600" + - "115200" + initial_option: "9600" + on_value: + then: + # Test 9: stoi via ADL + - lambda: |- + int baud = stoi(x); + ESP_LOGI("test", "stoi result: %d", baud); + # Test 10: stol via ADL + - lambda: |- + long baud_long = stol(x); + ESP_LOGI("test", "stol result: %ld", baud_long); + # Test 11: stof via ADL + - lambda: |- + float baud_float = stof(x); + ESP_LOGI("test", "stof result: %.0f", baud_float); + # Test 12: stod via ADL + - lambda: |- + double baud_double = stod(x); + ESP_LOGI("test", "stod result: %.0f", baud_double); diff --git a/tests/integration/fixtures/sensor_filters_delta.yaml b/tests/integration/fixtures/sensor_filters_delta.yaml new file mode 100644 index 0000000000..19bd2d5ca4 --- /dev/null +++ b/tests/integration/fixtures/sensor_filters_delta.yaml @@ -0,0 +1,180 @@ +esphome: + name: test-delta-filters + +host: +api: + batch_delay: 0ms # Disable batching to receive all state updates +logger: + level: DEBUG + +sensor: + - platform: template + name: "Source Sensor 1" + id: source_sensor_1 + accuracy_decimals: 1 + + - platform: template + name: "Source Sensor 2" + id: source_sensor_2 + accuracy_decimals: 1 + + - platform: template + name: "Source Sensor 3" + id: source_sensor_3 + accuracy_decimals: 1 + + - platform: template + name: "Source Sensor 4" + id: source_sensor_4 + accuracy_decimals: 1 + + - platform: copy + source_id: source_sensor_1 + name: "Filter Min" + id: filter_min + filters: + - delta: + min_value: 10 + + - platform: copy + source_id: source_sensor_2 + name: "Filter Max" + id: filter_max + filters: + - delta: + max_value: 10 + + - platform: copy + source_id: source_sensor_3 + id: test_3_baseline + filters: + - median: + window_size: 6 + send_every: 1 + send_first_at: 1 + + - platform: copy + source_id: source_sensor_3 + name: "Filter Baseline Max" + id: filter_baseline_max + filters: + - delta: + max_value: 10 + baseline: !lambda return id(test_3_baseline).state; + + - platform: copy + source_id: source_sensor_4 + name: "Filter Zero Delta" + id: filter_zero_delta + filters: + - delta: 0 + +script: + - id: test_filter_min + then: + - sensor.template.publish: + id: source_sensor_1 + state: 1.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor_1 + state: 5.0 # Filtered out + - delay: 20ms + - sensor.template.publish: + id: source_sensor_1 + state: 12.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor_1 + state: 8.0 # Filtered out + - delay: 20ms + - sensor.template.publish: + id: source_sensor_1 + state: -2.0 + + - id: test_filter_max + then: + - sensor.template.publish: + id: source_sensor_2 + state: 1.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor_2 + state: 5.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor_2 + state: 40.0 # Filtered out + - delay: 20ms + - sensor.template.publish: + id: source_sensor_2 + state: 10.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor_2 + state: -40.0 # Filtered out + + - id: test_filter_baseline_max + then: + - sensor.template.publish: + id: source_sensor_3 + state: 1.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor_3 + state: 2.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor_3 + state: 3.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor_3 + state: 40.0 # Filtered out + - delay: 20ms + - sensor.template.publish: + id: source_sensor_3 + state: 20.0 # Filtered out + - delay: 20ms + - sensor.template.publish: + id: source_sensor_3 + state: 20.0 + + - id: test_filter_zero_delta + then: + - sensor.template.publish: + id: source_sensor_4 + state: 1.0 + - delay: 20ms + - sensor.template.publish: + id: source_sensor_4 + state: 1.0 # Filtered out + - delay: 20ms + - sensor.template.publish: + id: source_sensor_4 + state: 2.0 + +button: + - platform: template + name: "Test Filter Min" + id: btn_filter_min + on_press: + - script.execute: test_filter_min + + - platform: template + name: "Test Filter Max" + id: btn_filter_max + on_press: + - script.execute: test_filter_max + + - platform: template + name: "Test Filter Baseline Max" + id: btn_filter_baseline_max + on_press: + - script.execute: test_filter_baseline_max + + - platform: template + name: "Test Filter Zero Delta" + id: btn_filter_zero_delta + on_press: + - script.execute: test_filter_zero_delta diff --git a/tests/integration/fixtures/text_sensor_raw_state.yaml b/tests/integration/fixtures/text_sensor_raw_state.yaml index 54ab2e8dcc..a4b735e889 100644 --- a/tests/integration/fixtures/text_sensor_raw_state.yaml +++ b/tests/integration/fixtures/text_sensor_raw_state.yaml @@ -56,6 +56,36 @@ text_sensor: - prepend: "[" - append: "]" + - platform: template + name: "To Lower Sensor" + id: to_lower_sensor + filters: + - to_lower + + - platform: template + name: "Lambda Sensor" + id: lambda_sensor + filters: + - lambda: |- + return {"[" + x + "]"}; + + - platform: template + name: "Lambda Raw State Sensor" + id: lambda_raw_state_sensor + filters: + - lambda: |- + return {x + " MODIFIED"}; + + - platform: template + name: "Lambda Skip Sensor" + id: lambda_skip_sensor + filters: + - lambda: |- + if (x == "skip") { + return {}; + } + return {x + " passed"}; + # Button to publish values and log raw_state vs state button: - platform: template @@ -179,3 +209,73 @@ button: format: "CHAINED: state='%s'" args: - id(chained_sensor).state.c_str() + + - platform: template + name: "Test To Lower Button" + id: test_to_lower_button + on_press: + - text_sensor.template.publish: + id: to_lower_sensor + state: "HELLO WORLD" + - delay: 50ms + - logger.log: + format: "TO_LOWER: state='%s'" + args: + - id(to_lower_sensor).state.c_str() + + - platform: template + name: "Test Lambda Button" + id: test_lambda_button + on_press: + - text_sensor.template.publish: + id: lambda_sensor + state: "test" + - delay: 50ms + - logger.log: + format: "LAMBDA: state='%s'" + args: + - id(lambda_sensor).state.c_str() + + - platform: template + name: "Test Lambda Pass Button" + id: test_lambda_pass_button + on_press: + - text_sensor.template.publish: + id: lambda_skip_sensor + state: "value" + - delay: 50ms + - logger.log: + format: "LAMBDA_PASS: state='%s'" + args: + - id(lambda_skip_sensor).state.c_str() + + - platform: template + name: "Test Lambda Skip Button" + id: test_lambda_skip_button + on_press: + - text_sensor.template.publish: + id: lambda_skip_sensor + state: "skip" + - delay: 50ms + # When lambda returns {}, the value should NOT be published + # so state should remain from previous publish (or empty if first) + - logger.log: + format: "LAMBDA_SKIP: state='%s'" + args: + - id(lambda_skip_sensor).state.c_str() + + - platform: template + name: "Test Lambda Raw State Button" + id: test_lambda_raw_state_button + on_press: + - text_sensor.template.publish: + id: lambda_raw_state_sensor + state: "original" + - delay: 50ms + # Verify raw_state is preserved (not mutated) after lambda filter + # state should be "original MODIFIED", raw_state should be "original" + - logger.log: + format: "LAMBDA_RAW_STATE: state='%s' raw_state='%s'" + args: + - id(lambda_raw_state_sensor).state.c_str() + - id(lambda_raw_state_sensor).get_raw_state().c_str() diff --git a/tests/integration/fixtures/udp_send_receive.yaml b/tests/integration/fixtures/udp_send_receive.yaml new file mode 100644 index 0000000000..155d932722 --- /dev/null +++ b/tests/integration/fixtures/udp_send_receive.yaml @@ -0,0 +1,33 @@ +esphome: + name: udp-test + +host: + +api: + services: + - service: send_udp_message + then: + - udp.write: + id: test_udp + data: "HELLO_UDP_TEST" + - service: send_udp_bytes + then: + - udp.write: + id: test_udp + data: [0x55, 0x44, 0x50, 0x5F, 0x42, 0x59, 0x54, 0x45, 0x53] # "UDP_BYTES" + +logger: + level: DEBUG + +udp: + - id: test_udp + addresses: + - "127.0.0.1" + - "127.0.0.2" + port: + listen_port: UDP_LISTEN_PORT_PLACEHOLDER + broadcast_port: UDP_BROADCAST_PORT_PLACEHOLDER + on_receive: + - logger.log: + format: "Received UDP: %d bytes" + args: [data.size()] diff --git a/tests/integration/test_api_homeassistant.py b/tests/integration/test_api_homeassistant.py index 3fe0dfe045..b4adedf873 100644 --- a/tests/integration/test_api_homeassistant.py +++ b/tests/integration/test_api_homeassistant.py @@ -40,6 +40,7 @@ async def test_api_homeassistant( humidity_update_future = loop.create_future() motion_update_future = loop.create_future() weather_update_future = loop.create_future() + long_attr_future = loop.create_future() # Number future ha_number_future = loop.create_future() @@ -58,6 +59,7 @@ async def test_api_homeassistant( humidity_update_pattern = re.compile(r"HA Humidity state updated: ([\d.]+)") motion_update_pattern = re.compile(r"HA Motion state changed: (ON|OFF)") weather_update_pattern = re.compile(r"HA Weather condition updated: (\w+)") + long_attr_pattern = re.compile(r"HA Long attribute received, length: (\d+)") # Number pattern ha_number_pattern = re.compile(r"Setting HA number to: ([\d.]+)") @@ -143,8 +145,14 @@ async def test_api_homeassistant( elif not weather_update_future.done() and weather_update_pattern.search(line): weather_update_future.set_result(line) - # Check number pattern - elif not ha_number_future.done() and ha_number_pattern.search(line): + # Check long attribute pattern - separate if since it can come at different times + if not long_attr_future.done(): + match = long_attr_pattern.search(line) + if match: + long_attr_future.set_result(int(match.group(1))) + + # Check number pattern - separate if since it can come at different times + if not ha_number_future.done(): match = ha_number_pattern.search(line) if match: ha_number_future.set_result(match.group(1)) @@ -179,6 +187,14 @@ async def test_api_homeassistant( client.send_home_assistant_state("binary_sensor.external_motion", "", "ON") client.send_home_assistant_state("weather.home", "condition", "sunny") + # Send a long attribute (300 characters) to test that attributes aren't truncated + # HA states are limited to 255 chars, but attributes are NOT limited + # This tests the fix for the 256-byte buffer truncation bug + long_attr_value = "X" * 300 # 300 chars - enough to expose truncation bug + client.send_home_assistant_state( + "sensor.long_data", "long_value", long_attr_value + ) + # Test edge cases for zero-copy implementation safety # Empty entity_id should be silently ignored (no crash) client.send_home_assistant_state("", "", "should_be_ignored") @@ -225,6 +241,13 @@ async def test_api_homeassistant( number_value = await asyncio.wait_for(ha_number_future, timeout=5.0) assert number_value == "42.5", f"Unexpected number value: {number_value}" + # Long attribute test - verify 300 chars weren't truncated to 255 + long_attr_len = await asyncio.wait_for(long_attr_future, timeout=5.0) + assert long_attr_len == 300, ( + f"Long attribute was truncated! Expected 300 chars, got {long_attr_len}. " + "This indicates the 256-byte truncation bug." + ) + # Wait for completion await asyncio.wait_for(tests_complete_future, timeout=5.0) diff --git a/tests/integration/test_select_stringref_trigger.py b/tests/integration/test_select_stringref_trigger.py new file mode 100644 index 0000000000..7fc72a2290 --- /dev/null +++ b/tests/integration/test_select_stringref_trigger.py @@ -0,0 +1,143 @@ +"""Integration test for select on_value trigger with StringRef parameter.""" + +from __future__ import annotations + +import asyncio +import re + +import pytest + +from .types import APIClientConnectedFactory, RunCompiledFunction + + +@pytest.mark.asyncio +async def test_select_stringref_trigger( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test select on_value trigger passes StringRef that works with string operations.""" + loop = asyncio.get_running_loop() + + # Track log messages to verify StringRef operations work + value_logged_future = loop.create_future() + concatenated_future = loop.create_future() + comparison_future = loop.create_future() + index_logged_future = loop.create_future() + length_future = loop.create_future() + find_substr_future = loop.create_future() + find_char_future = loop.create_future() + substr_future = loop.create_future() + # ADL functions + stoi_future = loop.create_future() + stol_future = loop.create_future() + stof_future = loop.create_future() + stod_future = loop.create_future() + + # Patterns to match in logs + value_pattern = re.compile(r"Select value: Option B") + concatenated_pattern = re.compile(r"Concatenated: Option B selected") + comparison_pattern = re.compile(r"Option B was selected") + index_pattern = re.compile(r"Select index: 1") + length_pattern = re.compile(r"Length: 8") # "Option B" is 8 chars + find_substr_pattern = re.compile(r"Found 'Option' in value") + find_char_pattern = re.compile(r"Space at position: 6") # space at index 6 + substr_pattern = re.compile(r"Substr prefix: Option") + # ADL function patterns (115200 from baud rate select) + stoi_pattern = re.compile(r"stoi result: 115200") + stol_pattern = re.compile(r"stol result: 115200") + stof_pattern = re.compile(r"stof result: 115200") + stod_pattern = re.compile(r"stod result: 115200") + + def check_output(line: str) -> None: + """Check log output for expected messages.""" + if not value_logged_future.done() and value_pattern.search(line): + value_logged_future.set_result(True) + if not concatenated_future.done() and concatenated_pattern.search(line): + concatenated_future.set_result(True) + if not comparison_future.done() and comparison_pattern.search(line): + comparison_future.set_result(True) + if not index_logged_future.done() and index_pattern.search(line): + index_logged_future.set_result(True) + if not length_future.done() and length_pattern.search(line): + length_future.set_result(True) + if not find_substr_future.done() and find_substr_pattern.search(line): + find_substr_future.set_result(True) + if not find_char_future.done() and find_char_pattern.search(line): + find_char_future.set_result(True) + if not substr_future.done() and substr_pattern.search(line): + substr_future.set_result(True) + # ADL functions + if not stoi_future.done() and stoi_pattern.search(line): + stoi_future.set_result(True) + if not stol_future.done() and stol_pattern.search(line): + stol_future.set_result(True) + if not stof_future.done() and stof_pattern.search(line): + stof_future.set_result(True) + if not stod_future.done() and stod_pattern.search(line): + stod_future.set_result(True) + + async with ( + run_compiled(yaml_config, line_callback=check_output), + api_client_connected() as client, + ): + # Verify device info + device_info = await client.device_info() + assert device_info is not None + assert device_info.name == "select-stringref-test" + + # List entities to find our select + entities, _ = await client.list_entities_services() + + select_entity = next( + (e for e in entities if hasattr(e, "options") and e.name == "Test Select"), + None, + ) + assert select_entity is not None, "Test Select entity not found" + + baud_entity = next( + (e for e in entities if hasattr(e, "options") and e.name == "Baud Rate"), + None, + ) + assert baud_entity is not None, "Baud Rate entity not found" + + # Change select to Option B - this should trigger on_value with StringRef + client.select_command(select_entity.key, "Option B") + # Change baud to 115200 - this tests ADL functions (stoi, stol, stof, stod) + client.select_command(baud_entity.key, "115200") + + # Wait for all log messages confirming StringRef operations work + try: + await asyncio.wait_for( + asyncio.gather( + value_logged_future, + concatenated_future, + comparison_future, + index_logged_future, + length_future, + find_substr_future, + find_char_future, + substr_future, + stoi_future, + stol_future, + stof_future, + stod_future, + ), + timeout=5.0, + ) + except TimeoutError: + results = { + "value_logged": value_logged_future.done(), + "concatenated": concatenated_future.done(), + "comparison": comparison_future.done(), + "index_logged": index_logged_future.done(), + "length": length_future.done(), + "find_substr": find_substr_future.done(), + "find_char": find_char_future.done(), + "substr": substr_future.done(), + "stoi": stoi_future.done(), + "stol": stol_future.done(), + "stof": stof_future.done(), + "stod": stod_future.done(), + } + pytest.fail(f"StringRef operations failed - received: {results}") diff --git a/tests/integration/test_sensor_filters_delta.py b/tests/integration/test_sensor_filters_delta.py new file mode 100644 index 0000000000..c7a26bf9d1 --- /dev/null +++ b/tests/integration/test_sensor_filters_delta.py @@ -0,0 +1,163 @@ +"""Test sensor DeltaFilter functionality.""" + +from __future__ import annotations + +import asyncio + +from aioesphomeapi import ButtonInfo, EntityState, SensorState +import pytest + +from .state_utils import InitialStateHelper, build_key_to_entity_mapping +from .types import APIClientConnectedFactory, RunCompiledFunction + + +@pytest.mark.asyncio +async def test_sensor_filters_delta( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + loop = asyncio.get_running_loop() + + sensor_values: dict[str, list[float]] = { + "filter_min": [], + "filter_max": [], + "filter_baseline_max": [], + "filter_zero_delta": [], + } + + filter_min_done = loop.create_future() + filter_max_done = loop.create_future() + filter_baseline_max_done = loop.create_future() + filter_zero_delta_done = loop.create_future() + + def on_state(state: EntityState) -> None: + if not isinstance(state, SensorState) or state.missing_state: + return + + sensor_name = key_to_sensor.get(state.key) + if sensor_name not in sensor_values: + return + + sensor_values[sensor_name].append(state.state) + + # Check completion conditions + if ( + sensor_name == "filter_min" + and len(sensor_values[sensor_name]) == 3 + and not filter_min_done.done() + ): + filter_min_done.set_result(True) + elif ( + sensor_name == "filter_max" + and len(sensor_values[sensor_name]) == 3 + and not filter_max_done.done() + ): + filter_max_done.set_result(True) + elif ( + sensor_name == "filter_baseline_max" + and len(sensor_values[sensor_name]) == 4 + and not filter_baseline_max_done.done() + ): + filter_baseline_max_done.set_result(True) + elif ( + sensor_name == "filter_zero_delta" + and len(sensor_values[sensor_name]) == 2 + and not filter_zero_delta_done.done() + ): + filter_zero_delta_done.set_result(True) + + async with ( + run_compiled(yaml_config), + api_client_connected() as client, + ): + # Get entities and build key mapping + entities, _ = await client.list_entities_services() + key_to_sensor = build_key_to_entity_mapping( + entities, + { + "filter_min": "Filter Min", + "filter_max": "Filter Max", + "filter_baseline_max": "Filter Baseline Max", + "filter_zero_delta": "Filter Zero Delta", + }, + ) + + # Set up initial state helper with all entities + initial_state_helper = InitialStateHelper(entities) + + # Subscribe to state changes with wrapper + client.subscribe_states(initial_state_helper.on_state_wrapper(on_state)) + + # Wait for initial states + await initial_state_helper.wait_for_initial_states() + + # Find all buttons + button_name_map = { + "Test Filter Min": "filter_min", + "Test Filter Max": "filter_max", + "Test Filter Baseline Max": "filter_baseline_max", + "Test Filter Zero Delta": "filter_zero_delta", + } + buttons = {} + for entity in entities: + if isinstance(entity, ButtonInfo) and entity.name in button_name_map: + buttons[button_name_map[entity.name]] = entity.key + + assert len(buttons) == 4, f"Expected 3 buttons, found {len(buttons)}" + + # Test 1: Min + sensor_values["filter_min"].clear() + client.button_command(buttons["filter_min"]) + try: + await asyncio.wait_for(filter_min_done, timeout=2.0) + except TimeoutError: + pytest.fail(f"Test 1 timed out. Values: {sensor_values['filter_min']}") + + expected = [1.0, 12.0, -2.0] + assert sensor_values["filter_min"] == pytest.approx(expected), ( + f"Test 1 failed: expected {expected}, got {sensor_values['filter_min']}" + ) + + # Test 2: Max + sensor_values["filter_max"].clear() + client.button_command(buttons["filter_max"]) + try: + await asyncio.wait_for(filter_max_done, timeout=2.0) + except TimeoutError: + pytest.fail(f"Test 2 timed out. Values: {sensor_values['filter_max']}") + + expected = [1.0, 5.0, 10.0] + assert sensor_values["filter_max"] == pytest.approx(expected), ( + f"Test 2 failed: expected {expected}, got {sensor_values['filter_max']}" + ) + + # Test 3: Baseline Max + sensor_values["filter_baseline_max"].clear() + client.button_command(buttons["filter_baseline_max"]) + try: + await asyncio.wait_for(filter_baseline_max_done, timeout=2.0) + except TimeoutError: + pytest.fail( + f"Test 3 timed out. Values: {sensor_values['filter_baseline_max']}" + ) + + expected = [1.0, 2.0, 3.0, 20.0] + assert sensor_values["filter_baseline_max"] == pytest.approx(expected), ( + f"Test 3 failed: expected {expected}, got {sensor_values['filter_baseline_max']}" + ) + + # Test 4: Zero Delta + sensor_values["filter_zero_delta"].clear() + client.button_command(buttons["filter_zero_delta"]) + try: + await asyncio.wait_for(filter_zero_delta_done, timeout=2.0) + except TimeoutError: + pytest.fail( + f"Test 4 timed out. Values: {sensor_values['filter_zero_delta']}" + ) + + expected = [1.0, 2.0] + assert sensor_values["filter_zero_delta"] == pytest.approx(expected), ( + f"Test 4 failed: expected {expected}, got {sensor_values['filter_zero_delta']}" + ) diff --git a/tests/integration/test_text_sensor_raw_state.py b/tests/integration/test_text_sensor_raw_state.py index 482ebbe9c2..476dd2713e 100644 --- a/tests/integration/test_text_sensor_raw_state.py +++ b/tests/integration/test_text_sensor_raw_state.py @@ -42,6 +42,11 @@ async def test_text_sensor_raw_state( map_off_future: asyncio.Future[str] = loop.create_future() map_unknown_future: asyncio.Future[str] = loop.create_future() chained_future: asyncio.Future[str] = loop.create_future() + to_lower_future: asyncio.Future[str] = loop.create_future() + lambda_future: asyncio.Future[str] = loop.create_future() + lambda_pass_future: asyncio.Future[str] = loop.create_future() + lambda_skip_future: asyncio.Future[str] = loop.create_future() + lambda_raw_state_future: asyncio.Future[tuple[str, str]] = loop.create_future() # Patterns to match log output # NO_FILTER: state='hello world' raw_state='hello world' @@ -58,6 +63,13 @@ async def test_text_sensor_raw_state( map_off_pattern = re.compile(r"MAP_OFF: state='([^']*)'") map_unknown_pattern = re.compile(r"MAP_UNKNOWN: state='([^']*)'") chained_pattern = re.compile(r"CHAINED: state='([^']*)'") + to_lower_pattern = re.compile(r"TO_LOWER: state='([^']*)'") + lambda_pattern = re.compile(r"LAMBDA: state='([^']*)'") + lambda_pass_pattern = re.compile(r"LAMBDA_PASS: state='([^']*)'") + lambda_skip_pattern = re.compile(r"LAMBDA_SKIP: state='([^']*)'") + lambda_raw_state_pattern = re.compile( + r"LAMBDA_RAW_STATE: state='([^']*)' raw_state='([^']*)'" + ) def check_output(line: str) -> None: """Check log output for expected messages.""" @@ -92,6 +104,27 @@ async def test_text_sensor_raw_state( if not chained_future.done() and (match := chained_pattern.search(line)): chained_future.set_result(match.group(1)) + if not to_lower_future.done() and (match := to_lower_pattern.search(line)): + to_lower_future.set_result(match.group(1)) + + if not lambda_future.done() and (match := lambda_pattern.search(line)): + lambda_future.set_result(match.group(1)) + + if not lambda_pass_future.done() and ( + match := lambda_pass_pattern.search(line) + ): + lambda_pass_future.set_result(match.group(1)) + + if not lambda_skip_future.done() and ( + match := lambda_skip_pattern.search(line) + ): + lambda_skip_future.set_result(match.group(1)) + + if not lambda_raw_state_future.done() and ( + match := lambda_raw_state_pattern.search(line) + ): + lambda_raw_state_future.set_result((match.group(1), match.group(2))) + async with ( run_compiled(yaml_config, line_callback=check_output), api_client_connected() as client, @@ -272,3 +305,111 @@ async def test_text_sensor_raw_state( pytest.fail("Timeout waiting for CHAINED log message") assert state == "[value]", f"Chained failed: expected '[value]', got '{state}'" + + # Test 10: to_lower filter + # "HELLO WORLD" -> "hello world" + to_lower_button = next( + (e for e in entities if "test_to_lower_button" in e.object_id.lower()), + None, + ) + assert to_lower_button is not None, "Test To Lower Button not found" + client.button_command(to_lower_button.key) + + try: + state = await asyncio.wait_for(to_lower_future, timeout=5.0) + except TimeoutError: + pytest.fail("Timeout waiting for TO_LOWER log message") + + assert state == "hello world", ( + f"to_lower failed: expected 'hello world', got '{state}'" + ) + + # Test 11: Lambda filter + # "test" -> "[test]" + lambda_button = next( + (e for e in entities if "test_lambda_button" in e.object_id.lower()), + None, + ) + assert lambda_button is not None, "Test Lambda Button not found" + client.button_command(lambda_button.key) + + try: + state = await asyncio.wait_for(lambda_future, timeout=5.0) + except TimeoutError: + pytest.fail("Timeout waiting for LAMBDA log message") + + assert state == "[test]", f"Lambda failed: expected '[test]', got '{state}'" + + # Test 12: Lambda filter - value passes through + # "value" -> "value passed" + lambda_pass_button = next( + (e for e in entities if "test_lambda_pass_button" in e.object_id.lower()), + None, + ) + assert lambda_pass_button is not None, "Test Lambda Pass Button not found" + client.button_command(lambda_pass_button.key) + + try: + state = await asyncio.wait_for(lambda_pass_future, timeout=5.0) + except TimeoutError: + pytest.fail("Timeout waiting for LAMBDA_PASS log message") + + assert state == "value passed", ( + f"Lambda pass failed: expected 'value passed', got '{state}'" + ) + + # Test 13: Lambda filter - skip publishing (return {}) + # "skip" -> no publish, state remains "value passed" from previous test + lambda_skip_button = next( + (e for e in entities if "test_lambda_skip_button" in e.object_id.lower()), + None, + ) + assert lambda_skip_button is not None, "Test Lambda Skip Button not found" + client.button_command(lambda_skip_button.key) + + try: + state = await asyncio.wait_for(lambda_skip_future, timeout=5.0) + except TimeoutError: + pytest.fail("Timeout waiting for LAMBDA_SKIP log message") + + # When lambda returns {}, value should NOT be published + # State remains from previous successful publish ("value passed") + assert state == "value passed", ( + f"Lambda skip failed: expected 'value passed' (unchanged), got '{state}'" + ) + + # Test 14: Lambda filter - verify raw_state is preserved (not mutated) + # This is critical to verify the in-place mutation optimization is safe + # "original" -> state="original MODIFIED", raw_state="original" + lambda_raw_state_button = next( + ( + e + for e in entities + if "test_lambda_raw_state_button" in e.object_id.lower() + ), + None, + ) + assert lambda_raw_state_button is not None, ( + "Test Lambda Raw State Button not found" + ) + client.button_command(lambda_raw_state_button.key) + + try: + state, raw_state = await asyncio.wait_for( + lambda_raw_state_future, timeout=5.0 + ) + except TimeoutError: + pytest.fail("Timeout waiting for LAMBDA_RAW_STATE log message") + + assert state == "original MODIFIED", ( + f"Lambda raw_state test failed: expected state='original MODIFIED', " + f"got '{state}'" + ) + assert raw_state == "original", ( + f"Lambda raw_state test failed: raw_state was mutated! " + f"Expected 'original', got '{raw_state}'" + ) + assert state != raw_state, ( + f"Lambda filter should modify state but preserve raw_state. " + f"state='{state}', raw_state='{raw_state}'" + ) diff --git a/tests/integration/test_udp.py b/tests/integration/test_udp.py new file mode 100644 index 0000000000..74c7ef60e3 --- /dev/null +++ b/tests/integration/test_udp.py @@ -0,0 +1,171 @@ +"""Integration test for UDP component.""" + +from __future__ import annotations + +import asyncio +from collections.abc import AsyncGenerator +import contextlib +from contextlib import asynccontextmanager +from dataclasses import dataclass, field +import socket + +import pytest + +from .types import APIClientConnectedFactory, RunCompiledFunction + + +@dataclass +class UDPReceiver: + """Collects UDP messages received.""" + + messages: list[bytes] = field(default_factory=list) + message_received: asyncio.Event = field(default_factory=asyncio.Event) + + def on_message(self, data: bytes) -> None: + """Called when a message is received.""" + self.messages.append(data) + self.message_received.set() + + async def wait_for_message(self, timeout: float = 5.0) -> bytes: + """Wait for a message to be received.""" + await asyncio.wait_for(self.message_received.wait(), timeout=timeout) + return self.messages[-1] + + async def wait_for_content(self, content: bytes, timeout: float = 5.0) -> bytes: + """Wait for a specific message content.""" + deadline = asyncio.get_event_loop().time() + timeout + while True: + for msg in self.messages: + if content in msg: + return msg + remaining = deadline - asyncio.get_event_loop().time() + if remaining <= 0: + raise TimeoutError( + f"Content {content!r} not found in messages: {self.messages}" + ) + try: + await asyncio.wait_for(self.message_received.wait(), timeout=remaining) + self.message_received.clear() + except TimeoutError: + raise TimeoutError( + f"Content {content!r} not found in messages: {self.messages}" + ) from None + + +@asynccontextmanager +async def udp_listener(port: int = 0) -> AsyncGenerator[tuple[int, UDPReceiver]]: + """Async context manager that listens for UDP messages. + + Args: + port: Port to listen on. 0 for auto-assign. + + Yields: + Tuple of (port, UDPReceiver) where port is the UDP port being listened on. + """ + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.bind(("127.0.0.1", port)) + sock.setblocking(False) + actual_port = sock.getsockname()[1] + + receiver = UDPReceiver() + + async def receive_messages() -> None: + """Background task to receive UDP messages.""" + loop = asyncio.get_running_loop() + while True: + try: + data = await loop.sock_recv(sock, 4096) + if data: + receiver.on_message(data) + except BlockingIOError: + await asyncio.sleep(0.01) + except Exception: + break + + task = asyncio.create_task(receive_messages()) + try: + yield actual_port, receiver + finally: + task.cancel() + with contextlib.suppress(asyncio.CancelledError): + await task + sock.close() + + +@pytest.mark.asyncio +async def test_udp_send_receive( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test UDP component can send messages with multiple addresses configured.""" + # Track log lines to verify dump_config output + log_lines: list[str] = [] + + def on_log_line(line: str) -> None: + log_lines.append(line) + + async with udp_listener() as (udp_port, receiver): + # Replace placeholders in the config + config = yaml_config.replace("UDP_LISTEN_PORT_PLACEHOLDER", str(udp_port + 1)) + config = config.replace("UDP_BROADCAST_PORT_PLACEHOLDER", str(udp_port)) + + async with ( + run_compiled(config, line_callback=on_log_line), + api_client_connected() as client, + ): + # Verify device is running + device_info = await client.device_info() + assert device_info is not None + assert device_info.name == "udp-test" + + # Get services + _, services = await client.list_entities_services() + + # Test sending string message + send_message_service = next( + (s for s in services if s.name == "send_udp_message"), None + ) + assert send_message_service is not None, ( + "send_udp_message service not found" + ) + + await client.execute_service(send_message_service, {}) + + try: + msg = await receiver.wait_for_content(b"HELLO_UDP_TEST", timeout=5.0) + assert b"HELLO_UDP_TEST" in msg + except TimeoutError: + pytest.fail( + f"UDP string message not received. Got: {receiver.messages}" + ) + + # Test sending bytes + send_bytes_service = next( + (s for s in services if s.name == "send_udp_bytes"), None + ) + assert send_bytes_service is not None, "send_udp_bytes service not found" + + await client.execute_service(send_bytes_service, {}) + + try: + msg = await receiver.wait_for_content(b"UDP_BYTES", timeout=5.0) + assert b"UDP_BYTES" in msg + except TimeoutError: + pytest.fail(f"UDP bytes message not received. Got: {receiver.messages}") + + # Verify we received at least 2 messages (string + bytes) + assert len(receiver.messages) >= 2, ( + f"Expected at least 2 messages, got {len(receiver.messages)}" + ) + + # Verify dump_config logged all configured addresses + # This tests that FixedVector stores addresses correctly + log_text = "\n".join(log_lines) + assert "Address: 127.0.0.1" in log_text, ( + f"Address 127.0.0.1 not found in dump_config. Log: {log_text[-2000:]}" + ) + assert "Address: 127.0.0.2" in log_text, ( + f"Address 127.0.0.2 not found in dump_config. Log: {log_text[-2000:]}" + ) diff --git a/tests/unit_tests/test_espota2.py b/tests/unit_tests/test_espota2.py index 02f965782b..1885b769f1 100644 --- a/tests/unit_tests/test_espota2.py +++ b/tests/unit_tests/test_espota2.py @@ -192,6 +192,20 @@ def test_check_error_unexpected_response() -> None: espota2.check_error([0x7F], [espota2.RESPONSE_OK, espota2.RESPONSE_AUTH_OK]) +def test_check_error_empty_data() -> None: + """Test check_error raises error when device closes connection without responding.""" + with pytest.raises( + espota2.OTAError, match="Device closed connection without responding" + ): + espota2.check_error([], [espota2.RESPONSE_OK]) + + # Also test with empty bytes + with pytest.raises( + espota2.OTAError, match="Device closed connection without responding" + ): + espota2.check_error(b"", [espota2.RESPONSE_OK]) + + def test_send_check_with_various_data_types(mock_socket: Mock) -> None: """Test send_check handles different data types.""" diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index fd8f04ded5..3268f7ee87 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -34,6 +34,7 @@ from esphome.__main__ import ( has_non_ip_address, has_resolvable_address, mqtt_get_ip, + run_esphome, run_miniterm, show_logs, upload_program, @@ -1988,7 +1989,7 @@ esp32: clean_output = strip_ansi_codes(captured.out) assert "test-device_123.yaml" in clean_output - assert "Updating" in clean_output + assert "Processing" in clean_output assert "SUCCESS" in clean_output assert "SUMMARY" in clean_output @@ -3172,3 +3173,66 @@ def test_run_miniterm_buffer_limit_prevents_unbounded_growth() -> None: x_count = printed_line.count("X") assert x_count < 150, f"Expected truncation but got {x_count} X's" assert x_count == 95, f"Expected 95 X's after truncation but got {x_count}" + + +def test_run_esphome_multiple_configs_with_secrets( + tmp_path: Path, + mock_run_external_process: Mock, + capfd: CaptureFixture[str], + caplog: pytest.LogCaptureFixture, +) -> None: + """Test run_esphome with multiple configs and secrets file. + + Verifies: + - Multiple configs use subprocess isolation + - Secrets files are skipped with warning + - Secrets files don't appear in summary + """ + # Create two config files and a secrets file + yaml_file1 = tmp_path / "device1.yaml" + yaml_file1.write_text(""" +esphome: + name: device1 + +esp32: + board: nodemcu-32s +""") + yaml_file2 = tmp_path / "device2.yaml" + yaml_file2.write_text(""" +esphome: + name: device2 + +esp32: + board: nodemcu-32s +""") + secrets_file = tmp_path / "secrets.yaml" + secrets_file.write_text("wifi_password: secret123\n") + + setup_core(tmp_path=tmp_path) + mock_run_external_process.return_value = 0 + + # run_esphome expects argv[0] to be the program name (gets sliced off by parse_args) + with caplog.at_level(logging.WARNING): + result = run_esphome( + ["esphome", "compile", str(yaml_file1), str(secrets_file), str(yaml_file2)] + ) + + assert result == 0 + + # Check secrets file was skipped with warning + assert "Skipping secrets file" in caplog.text + assert "secrets.yaml" in caplog.text + + captured = capfd.readouterr() + clean_output = strip_ansi_codes(captured.out) + + # Both config files should be processed + assert "device1.yaml" in clean_output + assert "device2.yaml" in clean_output + assert "SUMMARY" in clean_output + + # Secrets should not appear in summary + summary_section = ( + clean_output.split("SUMMARY")[1] if "SUMMARY" in clean_output else "" + ) + assert "secrets.yaml" not in summary_section