diff --git a/.env b/.env index e45a272..6ebbf55 100644 --- a/.env +++ b/.env @@ -13,7 +13,7 @@ REDIS_HOST=redis REDIS_PORT=6379 # GraphHopper (Routing) -GRAPH_HOPPER_URL=http://routing:8989 +GRAPH_HOPPER_URL=http://routing:8080 # Map Server TILE_SERVER_URL=http://tileserver:8080 @@ -25,6 +25,10 @@ NODE_ENV=development # External Location Server Integration (Every 10 days) # إعدادات الاتصال بسيرفر المواقع الخارجي -LOCATION_SERVER_URL=https://location.intaleq.xyz/location -LOCATION_SERVER_API_KEY=intaleq_secret_2026 +LOCATION_SERVER_URL=https://location.intaleq.xyz +LOCATION_SERVER_API_KEY=intaleq_secure_key_2026_jy@kjhk +MAP_API_KEY=zP9vL5mK2nQ8xR7jT4wS1yB6hG3fV0cX +# Telegram Notifications +TELEGRAM_BOT_TOKEN=7618792580:AAE6YAdrgUdcuUu9g8kXveCb-hiO3ECOd1g +TELEGRAM_CHAT_ID=1766663126 \ No newline at end of file diff --git a/apps/api/src/common/guards/api-key.guard.ts b/apps/api/src/common/guards/api-key.guard.ts index 22fc3c2..9af5d51 100644 --- a/apps/api/src/common/guards/api-key.guard.ts +++ b/apps/api/src/common/guards/api-key.guard.ts @@ -13,10 +13,11 @@ export class ApiKeyGuard implements CanActivate { canActivate(context: ExecutionContext): boolean { const request = context.switchToHttp().getRequest(); const apiKeyHeader = request.headers['x-api-key']; - const validApiKey = this.configService.get('API_KEY'); + const validApiKey = this.configService.get('MAP_API_KEY') || 'intaleq_secret_2026'; - // If API_KEY is set in environment, enforce it - if (validApiKey && apiKeyHeader !== validApiKey) { + // Enforce API key match + if (apiKeyHeader !== validApiKey) { + console.error(`[ApiKeyGuard] Unauthorized. Expected: ${validApiKey}, Received: ${apiKeyHeader}`); throw new UnauthorizedException('Invalid or missing API Key'); } diff --git a/apps/api/src/common/telegram.service.ts b/apps/api/src/common/telegram.service.ts new file mode 100644 index 0000000..cca22db --- /dev/null +++ b/apps/api/src/common/telegram.service.ts @@ -0,0 +1,70 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; +import axios from 'axios'; + +@Injectable() +export class TelegramService { + private readonly logger = new Logger(TelegramService.name); + private readonly botToken: string; + private readonly chatId: string; + + constructor(private configService: ConfigService) { + this.botToken = this.configService.get('TELEGRAM_BOT_TOKEN') || ''; + this.chatId = this.configService.get('TELEGRAM_CHAT_ID') || ''; + } + + /** + * Send a message to the configured Telegram chat. + * إرسال رسالة إلى دردشة تيليجرام المحددة. + */ + async sendMessage(text: string): Promise { + if (!this.botToken || !this.chatId || this.botToken.includes('YOUR_BOT_TOKEN')) { + this.logger.warn('Telegram Bot Token or Chat ID not configured. Skipping notification.'); + return false; + } + + try { + this.logger.log('Sending report to Telegram...'); + const url = `https://api.telegram.org/bot${this.botToken}/sendMessage`; + await axios.post(url, { + chat_id: this.chatId, + text: text, + parse_mode: 'HTML', + }); + this.logger.log('✅ Telegram notification sent successfully.'); + return true; + } catch (error) { + this.logger.error(`❌ Failed to send Telegram message: ${error.message}`); + if (error.response) { + this.logger.error(`Status: ${error.response.status}, Data: ${JSON.stringify(error.response.data)}`); + } + return false; + } + } + + /** + * Formats a summary report for the Inteligence Process. + */ + async sendIntelligenceReport(stats: { + syncResult: number; + updatedSegments: number; + discoveredRoads: number; + totalPoints: number; + days: number; + timeProfiles?: number; + }) { + const message = ` +🚀 Intaleq Map Intelligence Report +━━━━━━━━━━━━━━━━━━ +📅 Window: Last ${stats.days} days +📥 Tracks Imported: ${stats.syncResult} points +🛣️ Roads Updated: ${stats.updatedSegments} segments +✨ New Roads Found: ${stats.discoveredRoads} candidates +🕒 Time Profiles: ${stats.timeProfiles || 0} buckets +📍 Database Total: ${stats.totalPoints} points +━━━━━━━━━━━━━━━━━━ +✅ Deep Sync and Analysis Complete. + `; + return this.sendMessage(message); + } +} diff --git a/apps/api/src/maps/maps.controller.ts b/apps/api/src/maps/maps.controller.ts index d00c051..175188b 100644 --- a/apps/api/src/maps/maps.controller.ts +++ b/apps/api/src/maps/maps.controller.ts @@ -10,14 +10,40 @@ export class MapsController { constructor(private readonly mapsService: MapsService) {} @Get('route') - @ApiOperation({ summary: 'Calculate a route between two points 🚗' }) - async getRoute( - @Query('fromLat') fromLat: number, - @Query('fromLng') fromLng: number, - @Query('toLat') toLat: number, - @Query('toLng') toLng: number, - ) { - return this.mapsService.getRoute([fromLat, fromLng], [toLat, toLng]); + @ApiOperation({ summary: 'Calculate a route with dynamic waypoints 🚗' }) + async getRoute(@Query() query: any) { + const waypoints: [number, number][] = []; + + // 1. Extract Origin (fromLat, fromLng) + if (query.fromLat && query.fromLng) { + waypoints.push([parseFloat(query.fromLat), parseFloat(query.fromLng)]); + } + + // 2. Extract Intermediate Stops (stop1Lat, stop1Lng, stop2Lat, etc.) + // We sort keys to ensure stops are in order: stop1, stop2, stop3... + const stopKeys = Object.keys(query) + .filter(key => key.startsWith('stop') && key.endsWith('Lat')) + .sort((a, b) => { + const numA = parseInt(a.replace('stop', '').replace('Lat', ''), 10); + const numB = parseInt(b.replace('stop', '').replace('Lat', ''), 10); + return numA - numB; + }); + + for (const latKey of stopKeys) { + const prefix = latKey.replace('Lat', ''); + const lngKey = `${prefix}Lng`; + if (query[latKey] && query[lngKey]) { + waypoints.push([parseFloat(query[latKey]), parseFloat(query[lngKey])]); + } + } + + // 3. Extract Destination (toLat, toLng) + if (query.toLat && query.toLng) { + waypoints.push([parseFloat(query.toLat), parseFloat(query.toLng)]); + } + + const profile = query.profile || 'car'; + return this.mapsService.getRoute(waypoints, profile); } @Get('config') diff --git a/apps/api/src/maps/maps.service.ts b/apps/api/src/maps/maps.service.ts index 30ed8bd..d26db18 100644 --- a/apps/api/src/maps/maps.service.ts +++ b/apps/api/src/maps/maps.service.ts @@ -10,18 +10,25 @@ export class MapsService { this.graphHopperUrl = this.configService.get('GRAPH_HOPPER_URL', 'http://routing:8080'); } - async getRoute(from: [number, number], to: [number, number]) { + async getRoute(waypoints: [number, number][], profile: string = 'car') { + if (waypoints.length < 2) { + throw new HttpException('At least two waypoints are required', HttpStatus.BAD_REQUEST); + } + try { + // GraphHopper expects [lng, lat] order + const ghPoints = waypoints.map(wp => [wp[1], wp[0]]); + const payload: any = { - points: [[from[1], from[0]], [to[1], to[0]]], - profile: 'car', + points: ghPoints, + profile: profile, locale: 'en', calc_points: true, points_encoded: true, }; - console.log(`Routing Request: ${from} -> ${to} via ${this.graphHopperUrl}`); - const response = await axios.post(`${this.graphHopperUrl}/route`, payload, { timeout: 5000 }); + console.log(`Routing Request: ${waypoints.length} points via ${profile} on ${this.graphHopperUrl}`); + const response = await axios.post(`${this.graphHopperUrl}/route`, payload, { timeout: 10000 }); console.log('Routing SUCCESS'); const route = response.data.paths[0]; diff --git a/apps/api/src/maps/road-speed-profile.entity.ts b/apps/api/src/maps/road-speed-profile.entity.ts new file mode 100644 index 0000000..c1b4eb3 --- /dev/null +++ b/apps/api/src/maps/road-speed-profile.entity.ts @@ -0,0 +1,23 @@ +import { Entity, Column, PrimaryColumn, Index, CreateDateColumn } from 'typeorm'; + +@Entity('road_speed_profiles') +@Index(['segmentId', 'hourOfDay', 'dayOfWeek'], { unique: true }) +export class RoadSpeedProfile { + @PrimaryColumn() + segmentId: string; + + @PrimaryColumn() + hourOfDay: number; // 0-23 + + @PrimaryColumn() + dayOfWeek: number; // 0-6 (0 = Sunday) + + @Column('float', { default: 0 }) + averageSpeed: number; + + @Column('int', { default: 0 }) + sampleCount: number; + + @CreateDateColumn() + lastUpdated: Date; +} diff --git a/apps/flutter_map_demo/.gitignore b/apps/flutter_map_demo/.gitignore deleted file mode 100644 index 3820a95..0000000 --- a/apps/flutter_map_demo/.gitignore +++ /dev/null @@ -1,45 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.build/ -.buildlog/ -.history -.svn/ -.swiftpm/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins-dependencies -.pub-cache/ -.pub/ -/build/ -/coverage/ - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release diff --git a/apps/flutter_map_demo/.metadata b/apps/flutter_map_demo/.metadata deleted file mode 100644 index 45dedd1..0000000 --- a/apps/flutter_map_demo/.metadata +++ /dev/null @@ -1,30 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: "90673a4eef275d1a6692c26ac80d6d746d41a73a" - channel: "stable" - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: 90673a4eef275d1a6692c26ac80d6d746d41a73a - base_revision: 90673a4eef275d1a6692c26ac80d6d746d41a73a - - platform: ios - create_revision: 90673a4eef275d1a6692c26ac80d6d746d41a73a - base_revision: 90673a4eef275d1a6692c26ac80d6d746d41a73a - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/apps/flutter_map_demo/README.md b/apps/flutter_map_demo/README.md deleted file mode 100644 index d87b4d5..0000000 --- a/apps/flutter_map_demo/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# flutter_map_demo - -A new Flutter project. - -## Getting Started - -This project is a starting point for a Flutter application. - -A few resources to get you started if this is your first Flutter project: - -- [Learn Flutter](https://docs.flutter.dev/get-started/learn-flutter) -- [Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) -- [Flutter learning resources](https://docs.flutter.dev/reference/learning-resources) - -For help getting started with Flutter development, view the -[online documentation](https://docs.flutter.dev/), which offers tutorials, -samples, guidance on mobile development, and a full API reference. diff --git a/apps/flutter_map_demo/analysis_options.yaml b/apps/flutter_map_demo/analysis_options.yaml deleted file mode 100644 index 0d29021..0000000 --- a/apps/flutter_map_demo/analysis_options.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at https://dart.dev/lints. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/apps/flutter_map_demo/assets/icons/arrow.svg b/apps/flutter_map_demo/assets/icons/arrow.svg deleted file mode 100644 index 58967fc..0000000 --- a/apps/flutter_map_demo/assets/icons/arrow.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/flutter_map_demo/assets/icons/cafe.svg b/apps/flutter_map_demo/assets/icons/cafe.svg deleted file mode 100644 index 6ac721b..0000000 --- a/apps/flutter_map_demo/assets/icons/cafe.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/flutter_map_demo/assets/icons/hospital.svg b/apps/flutter_map_demo/assets/icons/hospital.svg deleted file mode 100644 index 58f84b9..0000000 --- a/apps/flutter_map_demo/assets/icons/hospital.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/flutter_map_demo/assets/icons/pharmacy.svg b/apps/flutter_map_demo/assets/icons/pharmacy.svg deleted file mode 100644 index c4ce927..0000000 --- a/apps/flutter_map_demo/assets/icons/pharmacy.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/flutter_map_demo/assets/icons/police.svg b/apps/flutter_map_demo/assets/icons/police.svg deleted file mode 100644 index 0a547ca..0000000 --- a/apps/flutter_map_demo/assets/icons/police.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/flutter_map_demo/assets/icons/restaurant.svg b/apps/flutter_map_demo/assets/icons/restaurant.svg deleted file mode 100644 index cb9fdec..0000000 --- a/apps/flutter_map_demo/assets/icons/restaurant.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/flutter_map_demo/assets/icons/shop.svg b/apps/flutter_map_demo/assets/icons/shop.svg deleted file mode 100644 index 0134120..0000000 --- a/apps/flutter_map_demo/assets/icons/shop.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/flutter_map_demo/assets/icons/tourist.svg b/apps/flutter_map_demo/assets/icons/tourist.svg deleted file mode 100644 index 4c89029..0000000 --- a/apps/flutter_map_demo/assets/icons/tourist.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/flutter_map_demo/assets/icons/train.svg b/apps/flutter_map_demo/assets/icons/train.svg deleted file mode 100644 index 38b2e12..0000000 --- a/apps/flutter_map_demo/assets/icons/train.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/flutter_map_demo/assets/map-demo.html b/apps/flutter_map_demo/assets/map-demo.html deleted file mode 100644 index 94acb02..0000000 --- a/apps/flutter_map_demo/assets/map-demo.html +++ /dev/null @@ -1,655 +0,0 @@ - - - - - - Intaleq Premium Map V3 - خرائط انطلاقة الذكية - - - - - - - - - -
- - -
-
-
- جاري حساب المسار الذكي... -
-
- - -
- Logo - INTALEQ PREMIUM MAPS -
- - -
-
v3.1.0
-
🗺️ خرائط انطلاقة الذكية
-

حلول جغرافية متقدمة لمنطقة الشرق الأوسط وشمال أفريقيا — عرض ثلاثي الأبعاد وأسماء مباشرة من قاعدة البيانات.

- - -
- - -
-
- - -
- - - -
- - -
- - -
-
- جاري تحميل الأسماء من قاعدة البيانات... -
-
- - - - - -
- - -
- - -
-
- 🛡️ إدارة البيانات - × -
-
- - - - - -
-
-
- - - - diff --git a/apps/flutter_map_demo/assets/style.json b/apps/flutter_map_demo/assets/style.json deleted file mode 100644 index fa42520..0000000 --- a/apps/flutter_map_demo/assets/style.json +++ /dev/null @@ -1,1855 +0,0 @@ -{ - "version": 8, - "name": "Intaleq Premium Map Style", - "metadata": { - "brand": "Intaleq", - "version": "2.1.0", - "description": "Google + OSM hybrid style with 3D buildings, railways, subway, waterways, and Intaleq brand palette. DB names integrated as native OSM labels." - }, - "center": [ - 36.276008, - 33.513685 - ], - "zoom": 15, - "glyphs": "https://cdn.protomaps.com/fonts/pbf/{fontstack}/{range}.pbf", - "sprite": "https://demotiles.maplibre.org/styles/osm-bright-gl-style/sprite", - "sources": { - "local-osm-polygons": { - "type": "vector", - "tiles": [ - "https://tiles.intaleqapp.com/planet_osm_polygon/{z}/{x}/{y}" - ], - "maxzoom": 14, - "attribution": "© Intaleq | © OpenStreetMap contributors" - }, - "local-osm-lines": { - "type": "vector", - "tiles": [ - "https://tiles.intaleqapp.com/planet_osm_line/{z}/{x}/{y}" - ], - "maxzoom": 14 - }, - "local-osm-points": { - "type": "vector", - "tiles": [ - "https://tiles.intaleqapp.com/planet_osm_point/{z}/{x}/{y}" - ], - "maxzoom": 14 - }, - "places_egypt": { - "type": "vector", - "tiles": [ - "https://tiles.intaleqapp.com/places_egypt/{z}/{x}/{y}" - ], - "maxzoom": 14 - }, - "intaleq_dynamic_pois": { - "type": "geojson", - "data": "https://map-saas.intaleqapp.com/api/geocoding/geojson", - "cluster": false - } - }, - "layers": [ - { - "id": "background", - "type": "background", - "paint": { - "background-color": "#EEF2F7" - } - }, - { - "id": "landuse-residential", - "type": "fill", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "==", - "landuse", - "residential" - ], - "paint": { - "fill-color": "#F0F4F8", - "fill-opacity": 1 - } - }, - { - "id": "landuse-commercial", - "type": "fill", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "==", - "landuse", - "commercial" - ], - "paint": { - "fill-color": "#FAF5EE", - "fill-opacity": 1 - } - }, - { - "id": "landuse-industrial", - "type": "fill", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "in", - "landuse", - "industrial", - "railway" - ], - "paint": { - "fill-color": "#E4E8EE", - "fill-opacity": 1 - } - }, - { - "id": "landuse-cemetery", - "type": "fill", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "==", - "landuse", - "cemetery" - ], - "paint": { - "fill-color": "#B8D4BA", - "fill-opacity": 0.9 - } - }, - { - "id": "landuse-military", - "type": "fill", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "==", - "landuse", - "military" - ], - "paint": { - "fill-color": "#E2D9CC", - "fill-opacity": 0.8 - } - }, - { - "id": "park-layer", - "type": "fill", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "any", - [ - "in", - "leisure", - "park", - "garden", - "nature_reserve", - "pitch", - "playground" - ], - [ - "in", - "landuse", - "grass", - "meadow", - "forest" - ], - [ - "in", - "natural", - "wood", - "scrub", - "heath" - ] - ], - "paint": { - "fill-color": [ - "match", - [ - "get", - "leisure" - ], - "pitch", - "#9ED4A0", - "playground", - "#B8E6B8", - "#C5E8C5" - ], - "fill-opacity": 0.85 - } - }, - { - "id": "park-outline", - "type": "line", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "in", - "leisure", - "park", - "garden", - "nature_reserve" - ], - "paint": { - "line-color": "#94D4A0", - "line-width": 0.8, - "line-opacity": 0.7 - } - }, - { - "id": "water-polygon", - "type": "fill", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "any", - [ - "in", - "natural", - "water", - "lake", - "bay" - ], - [ - "==", - "waterway", - "riverbank" - ], - [ - "in", - "landuse", - "basin", - "reservoir" - ], - [ - "==", - "amenity", - "fountain" - ] - ], - "paint": { - "fill-color": "#9ECFE8", - "fill-opacity": 0.95 - } - }, - { - "id": "water-polygon-outline", - "type": "line", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "any", - [ - "in", - "natural", - "water", - "lake", - "bay" - ], - [ - "==", - "waterway", - "riverbank" - ], - [ - "in", - "landuse", - "basin", - "reservoir" - ] - ], - "paint": { - "line-color": "#6BB8D8", - "line-width": 0.8, - "line-opacity": 0.8 - } - }, - { - "id": "waterway-river", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "all", - [ - "in", - "waterway", - "river", - "canal" - ], - [ - "!=", - "intermittent", - "yes" - ], - [ - "!=", - "seasonal", - "yes" - ], - [ - "!=", - "tunnel", - "yes" - ] - ], - "paint": { - "line-color": "#6BB8D8", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 1.5, - 14, - 4, - 16, - 7 - ], - "line-opacity": 0.95 - } - }, - { - "id": "waterway-stream-drain", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "all", - [ - "in", - "waterway", - "stream", - "drain", - "ditch" - ], - [ - "!=", - "intermittent", - "yes" - ], - [ - "!=", - "seasonal", - "yes" - ], - [ - "!=", - "tunnel", - "yes" - ] - ], - "minzoom": 13, - "paint": { - "line-color": "#7FBFD8", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 13, - 0.8, - 16, - 2.5 - ], - "line-opacity": 0.85 - } - }, - { - "id": "railway-area", - "type": "fill", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "==", - "landuse", - "railway" - ], - "paint": { - "fill-color": "#DDE2EA", - "fill-opacity": 0.9 - } - }, - { - "id": "railway-rail-casing", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "all", - [ - "in", - "railway", - "rail", - "narrow_gauge", - "preserved" - ], - [ - "!=", - "service", - "yard" - ], - [ - "!=", - "service", - "siding" - ] - ], - "minzoom": 8, - "paint": { - "line-color": "#B0B8C5", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 8, - 2, - 12, - 4, - 16, - 8 - ] - } - }, - { - "id": "railway-rail-core", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "all", - [ - "in", - "railway", - "rail", - "narrow_gauge", - "preserved" - ], - [ - "!=", - "service", - "yard" - ], - [ - "!=", - "service", - "siding" - ] - ], - "minzoom": 8, - "paint": { - "line-color": "#6B7A8E", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 8, - 1, - 12, - 2.5, - 16, - 5 - ], - "line-dasharray": [ - 6, - 4 - ] - } - }, - { - "id": "railway-subway-casing", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "railway", - "subway", - "light_rail", - "tram", - "monorail" - ], - "minzoom": 10, - "paint": { - "line-color": [ - "match", - [ - "get", - "railway" - ], - "subway", - "#CC2233", - "light_rail", - "#0066CC", - "tram", - "#8833BB", - "monorail", - "#008855", - "#BB3344" - ], - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 3, - 14, - 6, - 16, - 10 - ] - } - }, - { - "id": "railway-subway-core", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "railway", - "subway", - "light_rail", - "tram", - "monorail" - ], - "minzoom": 10, - "paint": { - "line-color": [ - "match", - [ - "get", - "railway" - ], - "subway", - "#FF3347", - "light_rail", - "#2288FF", - "tram", - "#AA44EE", - "monorail", - "#00BB66", - "#FF4455" - ], - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 1.5, - 14, - 3.5, - 16, - 6 - ] - } - }, - { - "id": "road-casing-track-path", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "track", - "path", - "footway", - "cycleway", - "steps" - ], - "minzoom": 14, - "paint": { - "line-color": "#C8CDD6", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 1, - 16, - 4 - ], - "line-dasharray": [ - 4, - 3 - ] - } - }, - { - "id": "road-casing-minor", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "residential", - "service", - "unclassified", - "living_street", - "pedestrian" - ], - "paint": { - "line-color": "#D4D8DF", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 1.5, - 16, - 10 - ], - "line-opacity": 0.7 - } - }, - { - "id": "road-core-minor", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "residential", - "service", - "unclassified", - "living_street", - "pedestrian" - ], - "paint": { - "line-color": "#FFFFFF", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 0.8, - 16, - 8 - ] - } - }, - { - "id": "road-casing-tertiary", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "tertiary", - "tertiary_link" - ], - "paint": { - "line-color": "#C9CED8", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 11, - 2, - 16, - 14 - ], - "line-opacity": 0.75 - } - }, - { - "id": "road-core-tertiary", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "tertiary", - "tertiary_link" - ], - "paint": { - "line-color": "#FFFFFF", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 11, - 1.2, - 16, - 11 - ] - } - }, - { - "id": "road-casing-secondary", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "secondary", - "secondary_link" - ], - "paint": { - "line-color": "#C4CFDE", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 11, - 2.5, - 16, - 16 - ], - "line-opacity": 0.8 - } - }, - { - "id": "road-core-secondary", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "secondary", - "secondary_link" - ], - "paint": { - "line-color": "#F8FBFF", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 11, - 1.8, - 16, - 13 - ] - } - }, - { - "id": "road-casing-primary", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "primary", - "primary_link" - ], - "paint": { - "line-color": "#C8B868", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 3, - 16, - 18 - ], - "line-opacity": 0.7 - } - }, - { - "id": "road-core-primary", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "primary", - "primary_link" - ], - "paint": { - "line-color": "#EDD870", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 2, - 16, - 14 - ] - } - }, - { - "id": "road-casing-motorway-trunk", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "motorway", - "motorway_link", - "trunk", - "trunk_link" - ], - "paint": { - "line-color": "#C8A84B", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 9, - 4, - 16, - 20 - ], - "line-opacity": 0.75 - } - }, - { - "id": "road-core-motorway-trunk", - "type": "line", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "motorway", - "motorway_link", - "trunk", - "trunk_link" - ], - "paint": { - "line-color": "#F0C040", - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 9, - 2.5, - 16, - 16 - ] - } - }, - { - "id": "building-fill-flat", - "type": "fill", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "filter": [ - "has", - "building" - ], - "maxzoom": 14, - "paint": { - "fill-color": "#DDD8D0", - "fill-opacity": 0.85, - "fill-outline-color": "#C4BEB4" - } - }, - { - "id": "building-3d", - "type": "fill-extrusion", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "minzoom": 14, - "filter": [ - "has", - "building" - ], - "paint": { - "fill-extrusion-color": [ - "match", - [ - "get", - "building" - ], - "commercial", - "#DDD5C5", - "retail", - "#E5D8C8", - "industrial", - "#D2D8E0", - "church", - "#DDD4EE", - "mosque", - "#CCE4D0", - "hospital", - "#EDD8D8", - "school", - "#E0E6CC", - "university", - "#D8E0C8", - "hotel", - "#D8DCF0", - "apartments", - "#E0DCD4", - "#DDD8D2" - ], - "fill-extrusion-height": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - [ - "*", - [ - "coalesce", - [ - "to-number", - [ - "get", - "building:levels" - ], - null - ], - 3 - ], - 2.5 - ], - 17, - [ - "coalesce", - [ - "to-number", - [ - "get", - "height" - ], - null - ], - [ - "*", - [ - "to-number", - [ - "get", - "building:levels" - ], - 3 - ], - 3.5 - ], - 12 - ] - ], - "fill-extrusion-base": [ - "coalesce", - [ - "to-number", - [ - "get", - "min_height" - ], - null - ], - 0 - ], - "fill-extrusion-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 0.6, - 16, - 0.88 - ], - "fill-extrusion-vertical-gradient": true - } - }, - { - "id": "railway-label", - "type": "symbol", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "railway", - "rail", - "subway", - "light_rail", - "tram" - ], - "minzoom": 13, - "layout": { - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 10, - "symbol-placement": "line", - "text-padding": 6, - "text-allow-overlap": false - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "railway" - ], - "subway", - "#CC2233", - "light_rail", - "#0055BB", - "tram", - "#7722AA", - "#4A5568" - ], - "text-halo-color": "rgba(255,255,255,0.9)", - "text-halo-width": 2 - } - }, - { - "id": "waterway-label", - "type": "symbol", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "all", - [ - "in", - "waterway", - "river", - "canal" - ], - [ - "!=", - "intermittent", - "yes" - ], - [ - "has", - "name" - ] - ], - "minzoom": 12, - "layout": { - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 11, - "symbol-placement": "line", - "text-letter-spacing": 0.1 - }, - "paint": { - "text-color": "#2E86AB", - "text-halo-color": "rgba(255,255,255,0.85)", - "text-halo-width": 2 - } - }, - { - "id": "building-number-polygon", - "type": "symbol", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "minzoom": 17, - "filter": [ - "has", - "addr:housenumber" - ], - "layout": { - "text-field": "{addr:housenumber}", - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 10, - "text-allow-overlap": false - }, - "paint": { - "text-color": "#5A5048", - "text-halo-color": "rgba(255,255,255,0.95)", - "text-halo-width": 1.5 - } - }, - { - "id": "building-number-point", - "type": "symbol", - "source": "local-osm-points", - "source-layer": "planet_osm_point", - "minzoom": 17, - "filter": [ - "has", - "addr:housenumber" - ], - "layout": { - "text-field": "{addr:housenumber}", - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 10, - "text-allow-overlap": false - }, - "paint": { - "text-color": "#5A5048", - "text-halo-color": "rgba(255,255,255,0.95)", - "text-halo-width": 1.5 - } - }, - { - "id": "road-labels-minor", - "type": "symbol", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "residential", - "service", - "unclassified", - "living_street" - ], - "minzoom": 16, - "layout": { - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 11, - "symbol-placement": "line", - "text-letter-spacing": 0.04, - "text-padding": 4, - "text-allow-overlap": false - }, - "paint": { - "text-color": "#4A5568", - "text-halo-color": "rgba(255,255,255,0.85)", - "text-halo-width": 1.5 - } - }, - { - "id": "road-labels-major", - "type": "symbol", - "source": "local-osm-lines", - "source-layer": "planet_osm_line", - "filter": [ - "in", - "highway", - "primary", - "secondary", - "tertiary", - "motorway", - "trunk" - ], - "minzoom": 13, - "layout": { - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 13, - 11, - 16, - 14 - ], - "symbol-placement": "line", - "text-letter-spacing": 0.05, - "text-padding": 5, - "text-allow-overlap": false - }, - "paint": { - "text-color": "#2D3748", - "text-halo-color": "rgba(255,255,255,0.9)", - "text-halo-width": 2 - } - }, - { - "id": "poi-hospital", - "type": "symbol", - "source": "local-osm-points", - "source-layer": "planet_osm_point", - "minzoom": 13, - "filter": [ - "==", - "amenity", - "hospital" - ], - "layout": { - "icon-image": "hospital", - "icon-size": 1, - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 11, - "text-offset": [ - 0, - 1.2 - ], - "text-anchor": "top", - "text-allow-overlap": false - }, - "paint": { - "text-color": "#C0392B", - "text-halo-color": "white", - "text-halo-width": 2 - } - }, - { - "id": "poi-pharmacy", - "type": "symbol", - "source": "local-osm-points", - "source-layer": "planet_osm_point", - "minzoom": 15, - "filter": [ - "==", - "amenity", - "pharmacy" - ], - "layout": { - "icon-image": "pharmacy", - "icon-size": 0.8, - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 10, - "text-offset": [ - 0, - 1.2 - ], - "text-anchor": "top" - }, - "paint": { - "text-color": "#1A7A3C", - "text-halo-color": "white", - "text-halo-width": 1.5 - } - }, - { - "id": "poi-place-of-worship", - "type": "symbol", - "source": "local-osm-points", - "source-layer": "planet_osm_point", - "minzoom": 14, - "filter": [ - "==", - "amenity", - "place_of_worship" - ], - "layout": { - "icon-image": "tourist", - "icon-size": 0.8, - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 11, - "text-offset": [ - 0, - 1.2 - ], - "text-anchor": "top" - }, - "paint": { - "text-color": "#1A6B3A", - "text-halo-color": "white", - "text-halo-width": 2 - } - }, - { - "id": "poi-restaurant-cafe", - "type": "symbol", - "source": "local-osm-points", - "source-layer": "planet_osm_point", - "minzoom": 16, - "filter": [ - "in", - "amenity", - "restaurant", - "cafe", - "fast_food" - ], - "layout": { - "icon-image": [ - "match", - [ - "get", - "amenity" - ], - "cafe", - "cafe", - "restaurant" - ], - "icon-size": 0.8, - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 10, - "text-offset": [ - 0, - 1.2 - ], - "text-anchor": "top" - }, - "paint": { - "text-color": "#3D4A5C", - "text-halo-color": "white", - "text-halo-width": 1.5 - } - }, - { - "id": "poi-school", - "type": "symbol", - "source": "local-osm-points", - "source-layer": "planet_osm_point", - "minzoom": 14, - "filter": [ - "in", - "amenity", - "school", - "university", - "college" - ], - "layout": { - "icon-image": "college", - "icon-size": 0.8, - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 11, - "text-offset": [ - 0, - 1.2 - ], - "text-anchor": "top" - }, - "paint": { - "text-color": "#5A4A8A", - "text-halo-color": "white", - "text-halo-width": 2 - } - }, - { - "id": "poi-transit-station", - "type": "symbol", - "source": "local-osm-points", - "source-layer": "planet_osm_point", - "minzoom": 12, - "filter": [ - "any", - [ - "==", - "railway", - "station" - ], - [ - "==", - "railway", - "halt" - ], - [ - "==", - "railway", - "tram_stop" - ], - [ - "==", - "station", - "subway" - ], - [ - "==", - "amenity", - "bus_station" - ] - ], - "layout": { - "icon-image": "rail", - "icon-size": 1, - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": 11, - "text-offset": [ - 0, - 1.4 - ], - "text-anchor": "top", - "text-allow-overlap": false - }, - "paint": { - "text-color": "#CC2233", - "text-halo-color": "rgba(255,255,255,0.95)", - "text-halo-width": 2 - } - }, - { - "id": "place-labels-area", - "type": "symbol", - "source": "local-osm-polygons", - "source-layer": "planet_osm_polygon", - "minzoom": 10, - "filter": [ - "has", - "name" - ], - "layout": { - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 10, - 14, - 13 - ], - "text-padding": 8, - "text-allow-overlap": false - }, - "paint": { - "text-color": "#34495E", - "text-halo-color": "rgba(255,255,255,0.85)", - "text-halo-width": 2 - } - }, - { - "id": "place-labels-point", - "type": "symbol", - "source": "local-osm-points", - "source-layer": "planet_osm_point", - "minzoom": 10, - "filter": [ - "any", - [ - "in", - "place", - "city", - "town", - "village", - "suburb", - "neighbourhood", - "hamlet", - "locality", - "quarter" - ], - [ - "in", - "natural", - "peak", - "spring" - ] - ], - "layout": { - "text-field": [ - "coalesce", - [ - "get", - "name:ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - [ - "match", - [ - "get", - "place" - ], - "city", - 16, - "town", - 14, - 11 - ], - 14, - [ - "match", - [ - "get", - "place" - ], - "city", - 20, - "town", - 16, - 13 - ], - 17, - 14 - ], - "text-letter-spacing": [ - "match", - [ - "get", - "place" - ], - "city", - 0.08, - "town", - 0.05, - 0.02 - ], - "text-anchor": "center", - "text-padding": 10, - "text-allow-overlap": false - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "place" - ], - "city", - "#1A2740", - "town", - "#2C3E50", - "village", - "#3D4F62", - "suburb", - "#4A5568", - "neighbourhood", - "#556677", - "#607080" - ], - "text-halo-color": "rgba(255,255,255,0.92)", - "text-halo-width": [ - "match", - [ - "get", - "place" - ], - "city", - 3, - "town", - 2.5, - 2 - ] - } - }, - { - "id": "places-egypt-labels", - "type": "symbol", - "source": "places_egypt", - "source-layer": "places_egypt", - "minzoom": 12, - "layout": { - "text-field": [ - "coalesce", - [ - "get", - "name_ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Bold" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 9, - 16, - 13 - ], - "text-offset": [ - 0, - 1.5 - ], - "text-anchor": "top", - "text-padding": 8, - "text-allow-overlap": false - }, - "paint": { - "text-color": "#2D3748", - "text-halo-color": "rgba(255,255,255,0.9)", - "text-halo-width": 2 - } - }, - { - "id": "intaleq-db-label", - "type": "symbol", - "source": "intaleq_dynamic_pois", - "minzoom": 10, - "layout": { - "icon-image": "marker-15", - "icon-size": 1.5, - "text-field": [ - "coalesce", - [ - "get", - "name_ar" - ], - [ - "get", - "name" - ], - "" - ], - "text-font": [ - "Noto Sans Bold" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 10, - 17, - 14 - ], - "text-offset": [ - 0, - 1.2 - ], - "text-anchor": "top", - "text-allow-overlap": false, - "text-ignore-placement": false, - "text-padding": 4 - }, - "paint": { - "text-color": "#7A5C10", - "text-halo-color": "rgba(255,255,255,0.95)", - "text-halo-width": 2 - } - } - ] -} \ No newline at end of file diff --git a/apps/flutter_map_demo/ios/.gitignore b/apps/flutter_map_demo/ios/.gitignore deleted file mode 100644 index 7a7f987..0000000 --- a/apps/flutter_map_demo/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/apps/flutter_map_demo/ios/Flutter/AppFrameworkInfo.plist b/apps/flutter_map_demo/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 391a902..0000000 --- a/apps/flutter_map_demo/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/apps/flutter_map_demo/ios/Flutter/Debug.xcconfig b/apps/flutter_map_demo/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6..0000000 --- a/apps/flutter_map_demo/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/apps/flutter_map_demo/ios/Flutter/Release.xcconfig b/apps/flutter_map_demo/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bf..0000000 --- a/apps/flutter_map_demo/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/apps/flutter_map_demo/ios/Podfile b/apps/flutter_map_demo/ios/Podfile deleted file mode 100644 index 620e46e..0000000 --- a/apps/flutter_map_demo/ios/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '13.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/apps/flutter_map_demo/ios/Podfile.lock b/apps/flutter_map_demo/ios/Podfile.lock deleted file mode 100644 index f52e8a5..0000000 --- a/apps/flutter_map_demo/ios/Podfile.lock +++ /dev/null @@ -1,29 +0,0 @@ -PODS: - - Flutter (1.0.0) - - MapLibre (6.19.1) - - maplibre_gl (0.25.0): - - Flutter - - MapLibre (= 6.19.1) - -DEPENDENCIES: - - Flutter (from `Flutter`) - - maplibre_gl (from `.symlinks/plugins/maplibre_gl/ios`) - -SPEC REPOS: - trunk: - - MapLibre - -EXTERNAL SOURCES: - Flutter: - :path: Flutter - maplibre_gl: - :path: ".symlinks/plugins/maplibre_gl/ios" - -SPEC CHECKSUMS: - Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 - MapLibre: 7f24faba45439f80ccb0f83393c29fa32cb81952 - maplibre_gl: a2114567cbd1065866614fbd34dfb75ab782aaa2 - -PODFILE CHECKSUM: 3c63482e143d1b91d2d2560aee9fb04ecc74ac7e - -COCOAPODS: 1.16.2 diff --git a/apps/flutter_map_demo/ios/Runner.xcodeproj/project.pbxproj b/apps/flutter_map_demo/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index e2bccef..0000000 --- a/apps/flutter_map_demo/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,735 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 4BE23B066A13A014157E904D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 058CD2C6B2C8A85A2BDF62A5 /* Pods_Runner.framework */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - B5FECC95BFE8757C114347E9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 874CE6A5A1A624AFBD9361F4 /* Pods_RunnerTests.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 97C146E61CF9000F007C117D /* Project object */; - proxyType = 1; - remoteGlobalIDString = 97C146ED1CF9000F007C117D; - remoteInfo = Runner; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 058CD2C6B2C8A85A2BDF62A5 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4195AF675A461A4213E377AC /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 62C8E72C74592E2BF38F3056 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 874CE6A5A1A624AFBD9361F4 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D97D2B0A74C620EE26B686D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - A1401E12C06CD482F4321CED /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - D7B0A18DAD95D31108F46FD2 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - FCC00A86E01908E02E2ADC63 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 5D5633A59A3A5FE0F880CD2C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B5FECC95BFE8757C114347E9 /* Pods_RunnerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4BE23B066A13A014157E904D /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 09BB6ABAEA8119095A906E43 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 058CD2C6B2C8A85A2BDF62A5 /* Pods_Runner.framework */, - 874CE6A5A1A624AFBD9361F4 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 09F0900B6F1C12DF0C6D5DEE /* Pods */ = { - isa = PBXGroup; - children = ( - 9D97D2B0A74C620EE26B686D /* Pods-Runner.debug.xcconfig */, - 4195AF675A461A4213E377AC /* Pods-Runner.release.xcconfig */, - FCC00A86E01908E02E2ADC63 /* Pods-Runner.profile.xcconfig */, - A1401E12C06CD482F4321CED /* Pods-RunnerTests.debug.xcconfig */, - D7B0A18DAD95D31108F46FD2 /* Pods-RunnerTests.release.xcconfig */, - 62C8E72C74592E2BF38F3056 /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 331C8082294A63A400263BE5 /* RunnerTests */, - 09F0900B6F1C12DF0C6D5DEE /* Pods */, - 09BB6ABAEA8119095A906E43 /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - 331C8081294A63A400263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C8080294A63A400263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - DF8661F6819655F3745949C5 /* [CP] Check Pods Manifest.lock */, - 331C807D294A63A400263BE5 /* Sources */, - 331C807F294A63A400263BE5 /* Resources */, - 5D5633A59A3A5FE0F880CD2C /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 331C8086294A63A400263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - AAC69DE719C09702E07493F4 /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - FB2BB4545B8EC3C32C5AFC5D /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C8080294A63A400263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 97C146ED1CF9000F007C117D; - }; - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - 331C8080294A63A400263BE5 /* RunnerTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C807F294A63A400263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; - AAC69DE719C09702E07493F4 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - DF8661F6819655F3745949C5 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - FB2BB4545B8EC3C32C5AFC5D /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C807D294A63A400263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 97C146ED1CF9000F007C117D /* Runner */; - targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 63CVT8G5P8; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterMapDemo; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 331C8088294A63A400263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A1401E12C06CD482F4321CED /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterMapDemo.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Debug; - }; - 331C8089294A63A400263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D7B0A18DAD95D31108F46FD2 /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterMapDemo.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Release; - }; - 331C808A294A63A400263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 62C8E72C74592E2BF38F3056 /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterMapDemo.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 63CVT8G5P8; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterMapDemo; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 63CVT8G5P8; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.flutterMapDemo; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C8088294A63A400263BE5 /* Debug */, - 331C8089294A63A400263BE5 /* Release */, - 331C808A294A63A400263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/apps/flutter_map_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/apps/flutter_map_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/apps/flutter_map_demo/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/apps/flutter_map_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apps/flutter_map_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/apps/flutter_map_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/apps/flutter_map_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/apps/flutter_map_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/apps/flutter_map_demo/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/apps/flutter_map_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/apps/flutter_map_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index e3773d4..0000000 --- a/apps/flutter_map_demo/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/flutter_map_demo/ios/Runner.xcworkspace/contents.xcworkspacedata b/apps/flutter_map_demo/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc1..0000000 --- a/apps/flutter_map_demo/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/apps/flutter_map_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apps/flutter_map_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/apps/flutter_map_demo/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/apps/flutter_map_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/apps/flutter_map_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/apps/flutter_map_demo/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/apps/flutter_map_demo/ios/Runner/AppDelegate.swift b/apps/flutter_map_demo/ios/Runner/AppDelegate.swift deleted file mode 100644 index 8cfc004..0000000 --- a/apps/flutter_map_demo/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,27 +0,0 @@ -import Flutter -import UIKit -import MapLibre - -@main -@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - // Increase Ambient Cache Size to 5GB (5 * 1024 * 1024 * 1024 bytes) - // This allows the app to store more map tiles locally after the first fetch. - Task { - do { - try await MLNOfflineStorage.shared.setMaximumAmbientCacheSize(5368709120) - } catch { - NSLog("Failed to set ambient cache size: %s", String(describing: error)) - } - } - - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } - - func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { - GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) - } -} diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fa..0000000 --- a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 7353c41..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 797d452..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index 6ed2d93..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cd7b00..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index fe73094..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index 321773c..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 797d452..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index 502f463..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index 0ec3034..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index 0ec3034..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index e9f5fea..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index 84ac32a..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 8953cba..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index 0467bf1..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2..0000000 --- a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725..0000000 --- a/apps/flutter_map_demo/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/apps/flutter_map_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard b/apps/flutter_map_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c..0000000 --- a/apps/flutter_map_demo/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/flutter_map_demo/ios/Runner/Base.lproj/Main.storyboard b/apps/flutter_map_demo/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c2851..0000000 --- a/apps/flutter_map_demo/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/flutter_map_demo/ios/Runner/Info.plist b/apps/flutter_map_demo/ios/Runner/Info.plist deleted file mode 100644 index 7919980..0000000 --- a/apps/flutter_map_demo/ios/Runner/Info.plist +++ /dev/null @@ -1,70 +0,0 @@ - - - - - CADisableMinimumFrameDurationOnPhone - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Flutter Map Demo - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - flutter_map_demo - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneClassName - UIWindowScene - UISceneConfigurationName - flutter - UISceneDelegateClassName - $(PRODUCT_MODULE_NAME).SceneDelegate - UISceneStoryboardFile - Main - - - - - UIApplicationSupportsIndirectInputEvents - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/apps/flutter_map_demo/ios/Runner/Runner-Bridging-Header.h b/apps/flutter_map_demo/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a5..0000000 --- a/apps/flutter_map_demo/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/apps/flutter_map_demo/ios/Runner/SceneDelegate.swift b/apps/flutter_map_demo/ios/Runner/SceneDelegate.swift deleted file mode 100644 index b9ce8ea..0000000 --- a/apps/flutter_map_demo/ios/Runner/SceneDelegate.swift +++ /dev/null @@ -1,6 +0,0 @@ -import Flutter -import UIKit - -class SceneDelegate: FlutterSceneDelegate { - -} diff --git a/apps/flutter_map_demo/ios/RunnerTests/RunnerTests.swift b/apps/flutter_map_demo/ios/RunnerTests/RunnerTests.swift deleted file mode 100644 index 86a7c3b..0000000 --- a/apps/flutter_map_demo/ios/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Flutter -import UIKit -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/apps/flutter_map_demo/lib/main.dart b/apps/flutter_map_demo/lib/main.dart deleted file mode 100644 index 0d4ab94..0000000 --- a/apps/flutter_map_demo/lib/main.dart +++ /dev/null @@ -1,556 +0,0 @@ -import 'dart:convert'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:maplibre_gl/maplibre_gl.dart'; -import 'package:http/http.dart' as http; -import 'package:flutter/foundation.dart' show kIsWeb; - -void main() { - runApp( - const MaterialApp(home: MapScreen(), debugShowCheckedModeBanner: false), - ); -} - -class MapScreen extends StatefulWidget { - const MapScreen({super.key}); - @override - State createState() => _MapScreenState(); -} - -class _MapScreenState extends State { - MapLibreMapController? mapController; - bool isLoading = false; - String info = '📍 نظام انطلق المتكامل'; - bool styleLoaded = false; - bool isSyncing = false; - bool isContinuousSyncEnabled = true; // Default to ON for premium experience - double syncProgress = 0.0; - - // --- Feature: Custom Car Marker --- - Future _addCarMarker() async { - if (!styleLoaded || mapController == null) return; - - try { - // Load the car icon image (from network for quick demo) - final ByteData bytes = await NetworkAssetBundle( - Uri.parse( - 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/d1/Car_icon_blue.png/64px-Car_icon_blue.png', - ), - ).load(''); - final Uint8List list = bytes.buffer.asUint8List(); - - await mapController!.addImage("car-icon", list); - - await mapController!.addSymbol( - SymbolOptions( - geometry: const LatLng(33.513, 36.276), // Damascus city center - iconImage: "car-icon", - iconSize: 0.5, - textField: "سيارة انطلاقة #101", - textOffset: const Offset(0, 2), - textColor: "#3b82f6", - textHaloColor: "#ffffff", - textHaloWidth: 2, - ), - ); - setState(() => info = '✅ تمت إضافة علامة السيارة'); - } catch (e) { - setState(() => info = 'خطأ في إضافة العلامة: $e'); - } - } - - // --- Feature: Polylines (Lines) --- - Future _addSampleLine() async { - if (!styleLoaded || mapController == null) return; - await mapController!.addLine( - LineOptions( - geometry: [ - const LatLng(33.515, 36.270), - const LatLng(33.520, 36.280), - const LatLng(33.510, 36.290), - ], - lineColor: "#f59e0b", - lineWidth: 5.0, - lineOpacity: 0.8, - ), - ); - setState(() => info = '✅ تمت إضافة خط مسار'); - } - - // --- Feature: Polygons (Geofence) --- - Future _addSamplePolygon() async { - if (!styleLoaded || mapController == null) return; - await mapController!.addFill( - FillOptions( - geometry: [ - [ - const LatLng(33.518, 36.273), - const LatLng(33.522, 36.273), - const LatLng(33.522, 36.3), - const LatLng(33.518, 36.4), - const LatLng(33.518, 36.273), - ], - ], - fillColor: "#10b981", - fillOpacity: 0.3, - fillOutlineColor: "#065f46", - ), - ); - setState(() => info = '✅ تمت إضافة سياج جغرافي'); - } - - // --- Feature: Circles --- - Future _addSampleCircle() async { - if (!styleLoaded || mapController == null) return; - await mapController!.addCircle( - CircleOptions( - geometry: const LatLng(33.512, 36.280), - circleColor: "#ef4444", - circleRadius: 15.0, - circleOpacity: 0.6, - circleStrokeColor: "#ffffff", - circleStrokeWidth: 2.0, - ), - ); - setState(() => info = '✅ تمت إضافة نقطة محيطية'); - } - - // --- Feature: Routing --- - Future computeRoute() async { - if (!styleLoaded || mapController == null) return; - setState(() { - isLoading = true; - info = '⚡ جاري حساب المسار...'; - }); - try { - final res = await http.get( - Uri.parse( - 'https://map-saas.intaleqapp.com/api/maps/route?fromLat=33.513&fromLng=36.276&toLat=33.530&toLng=36.310', - ), - headers: {'x-api-key': 'intaleq_secret_2026'}, - ); - final data = json.decode(res.body); - final pts = _decodePoly(data['points']); - - await mapController?.clearLines(); - await mapController?.addLine( - LineOptions(geometry: pts, lineColor: "#3b82f6", lineWidth: 6.0), - ); - - final latList = pts.map((p) => p.latitude).toList()..sort(); - final lngList = pts.map((p) => p.longitude).toList()..sort(); - mapController?.animateCamera( - CameraUpdate.newLatLngBounds( - LatLngBounds( - southwest: LatLng(latList.first, lngList.first), - northeast: LatLng(latList.last, lngList.last), - ), - left: 50, - right: 50, - top: 100, - bottom: 100, - ), - ); - setState( - () => info = - '🏁 ${(data['distance'] / 1000).toStringAsFixed(1)} كم | ${(data['duration'] / 60).toStringAsFixed(0)} دقيقة', - ); - } catch (e) { - setState(() => info = 'خطأ: $e'); - } finally { - setState(() => isLoading = false); - } - } - - // --- Feature: Fetch and Display Saved Places --- - Future _fetchUserPlaces() async { - if (!styleLoaded || mapController == null) return; - try { - final res = await http.get( - Uri.parse('https://map-saas.intaleqapp.com/api/geocoding/places'), - headers: {'x-api-key': 'intaleq_secret_2026'}, - ); - if (res.statusCode == 200) { - final List data = json.decode(res.body); - await mapController?.clearSymbols(); - - for (var place in data) { - final lat = double.tryParse(place['latitude'].toString()); - final lng = double.tryParse(place['longitude'].toString()); - - if (lat != null && lng != null) { - await mapController?.addSymbol( - SymbolOptions( - geometry: LatLng(lat, lng), - iconImage: - "marker-15", // Default MapLibre icon if using standard style - iconSize: 1.5, - textField: place['name_ar'] ?? place['name'], - textOffset: const Offset(0, 1.5), - textColor: "#1e293b", - textHaloColor: "#ffffff", - textHaloWidth: 2, - ), - ); - } - } - setState(() => info = '📍 تم تحميل ${data.length} موقع من النظام'); - } - } catch (e) { - debugPrint('Error fetching places: $e'); - } - } - - // --- Feature: Offline Map Caching (Mobile Only) --- - Future _downloadCurrentRegion() async { - if (kIsWeb) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text( - 'التحميل اليدوي غير متاح على المتصفح (المتصفح يستخدم التخزين المؤقت للمتصفح تلقائياً)', - ), - ), - ); - return; - } - - if (mapController == null) return; - - final region = await mapController!.getVisibleRegion(); - final zoom = mapController!.cameraPosition?.zoom ?? 14.0; - - setState(() { - isLoading = true; - info = '⬇️ جاري بدء التحميل...'; - }); - - try { - // Create an offline region for current view - // Zoom levels from current zoom -1 to +2 - await downloadOfflineRegion( - OfflineRegionDefinition( - bounds: region, - // تم التعديل هنا: محرك iOS يتطلب رابط إنترنت (URL) حقيقي لعملية الـ Offline - mapStyleUrl: - "https://map-saas.intaleqapp.com/styles/style.json", // يرجى التأكد من رفع ملف الستايل الخاص بك على هذا الرابط - minZoom: zoom.floor() - 1.0, - maxZoom: zoom.floor() + 2.0, - ), - metadata: { - 'name': 'Manual Download ${DateTime.now().toIso8601String()}', - }, - ); - - setState(() => info = '✅ بدأ تحميل الخرائط لجهازك (Mobile Only)'); - } catch (e) { - setState(() => info = '❌ خطأ في التحميل: $e'); - } finally { - setState(() => isLoading = false); - } - } - - Future _clearMapCache() async { - if (kIsWeb) { - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text( - 'الرجاء مسح بيانات المتصفح (Browser Cache) لإفراغ الذاكرة', - ), - ), - ); - return; - } - - // On mobile, we can list and delete regions - // For now, simple info update - setState(() => info = '🗑️ تم إرسال طلب مسح الذاكرة المؤقتة'); - } - - // --- Feature: Automatic Damascus Sync (Mobile Only) --- - Future _initAutoOfflineSync() async { - if (kIsWeb) return; - - try { - // Damascus City Center Bounds roughly +/- 0.1 deg - final damascusBounds = LatLngBounds( - southwest: const LatLng(33.473, 36.226), - northeast: const LatLng(33.583, 36.356), - ); - - setState(() { - isSyncing = true; - info = '🔄 جاري تأمين خريطة دمشق (Offline)...'; - }); - - await downloadOfflineRegion( - OfflineRegionDefinition( - bounds: damascusBounds, - mapStyleUrl: "https://map-saas.intaleqapp.com/styles/style.json", - minZoom: 0.0, - maxZoom: 16.0, // High detail for Damascus - ), - metadata: {'name': 'Damascus_Auto_Sync'}, - // onHttpError: (error) => debugPrint('Sync HTTP Error: $error'), - // onTileError: (error) => debugPrint('Sync Tile Error: $error'), - ); - - setState(() { - isSyncing = false; - info = '✅ تم تأمين دمشق بالكامل للعمل أوفلاين'; - }); - } catch (e) { - debugPrint('Sync failed: $e'); - setState(() => isSyncing = false); - } - } - - // --- Feature: Continuous Background Sync (on move) --- - Future _handleCameraIdleSync() async { - if (kIsWeb || !isContinuousSyncEnabled || mapController == null) return; - - final bounds = await mapController!.getVisibleRegion(); - final zoom = mapController!.cameraPosition?.zoom ?? 14.0; - - debugPrint('Continuous Sync: Triggering for new view at zoom $zoom'); - - // Silent download for the current region - // We don't update 'info' here to keep it subtle, or just use a small indicator - try { - await downloadOfflineRegion( - OfflineRegionDefinition( - bounds: bounds, - mapStyleUrl: "https://map-saas.intaleqapp.com/styles/style.json", - minZoom: zoom.floor() - 1.0, - maxZoom: zoom.floor() + 2.0, - ), - metadata: {'name': 'Auto_Area_${DateTime.now().millisecondsSinceEpoch}'}, - ); - } catch (e) { - debugPrint('Silent sync error (normal if redundant): $e'); - } - } - - List _decodePoly(dynamic p) { - if (p is String) { - var l = []; - int index = 0, lat = 0, lng = 0; - while (index < p.length) { - int b, shift = 0, res = 0; - do { - b = p.codeUnitAt(index++) - 63; - res |= (b & 0x1f) << shift; - shift += 5; - } while (b >= 0x20); - lat += (res & 1) != 0 ? ~(res >> 1) : (res >> 1); - shift = 0; - res = 0; - do { - b = p.codeUnitAt(index++) - 63; - res |= (b & 0x1f) << shift; - shift += 5; - } while (b >= 0x20); - lng += (res & 1) != 0 ? ~(res >> 1) : (res >> 1); - l.add(LatLng(lat / 1e5, lng / 1e5)); - } - return l; - } else if (p is List) { - return (p as List) - .map((e) => LatLng(e[1].toDouble(), e[0].toDouble())) - .toList(); - } - return []; - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text( - 'Intaleq Advanced Maps', - style: TextStyle(fontWeight: FontWeight.bold, color: Colors.white), - ), - centerTitle: true, - backgroundColor: const Color(0xFF0f172a), - ), - drawer: Drawer( - child: ListView( - padding: EdgeInsets.zero, - children: [ - const DrawerHeader( - decoration: BoxDecoration(color: Color(0xFF0f172a)), - child: Center( - child: Text( - 'أدوات انطلاقة المتقدمة', - style: TextStyle( - color: Colors.white, - fontSize: 18, - fontWeight: FontWeight.bold, - ), - ), - ), - ), - ListTile( - leading: const Icon(Icons.location_on, color: Colors.blue), - title: const Text('إضافة علامة سيارة'), - onTap: () { - Navigator.pop(context); - _addCarMarker(); - }, - ), - ListTile( - leading: const Icon(Icons.timeline, color: Colors.orange), - title: const Text('رسم خط مسار (Line)'), - onTap: () { - Navigator.pop(context); - _addSampleLine(); - }, - ), - ListTile( - leading: const Icon(Icons.layers, color: Colors.green), - title: const Text('رسم سياج جغرافي (Polygon)'), - onTap: () { - Navigator.pop(context); - _addSamplePolygon(); - }, - ), - ListTile( - leading: const Icon( - Icons.radio_button_checked, - color: Colors.red, - ), - title: const Text('رسم دائرة (Circle)'), - onTap: () { - Navigator.pop(context); - _addSampleCircle(); - }, - ), - const Divider(), - ListTile( - leading: const Icon(Icons.refresh, color: Colors.blue), - title: const Text('تحديث المواقع المسجلة'), - onTap: () { - Navigator.pop(context); - _fetchUserPlaces(); - }, - ), - ListTile( - leading: const Icon(Icons.directions, color: Colors.blueAccent), - title: const Text('اختبار المسار التلقائي'), - onTap: () { - Navigator.pop(context); - computeRoute(); - }, - ), - const Divider(), - const Padding( - padding: EdgeInsets.symmetric(horizontal: 16, vertical: 8), - child: Text( - 'إدارة الخرائط (Offline)', - style: TextStyle( - fontWeight: FontWeight.bold, - color: Colors.grey, - ), - ), - ), - ListTile( - leading: Icon( - Icons.download_for_offline, - color: kIsWeb ? Colors.grey : Colors.green, - ), - title: const Text('تحميل النطاق الحالي للجهاز'), - onTap: () { - Navigator.pop(context); - _downloadCurrentRegion(); - }, - ), - SwitchListTile( - secondary: Icon(Icons.sync, color: kIsWeb ? Colors.grey : Colors.blue), - title: const Text('المزامنة المستمرة (Dynamic Sync)'), - subtitle: const Text('حفظ أي منطقة يتم استكشافها تلقائياً', style: TextStyle(fontSize: 10)), - value: isContinuousSyncEnabled, - onChanged: kIsWeb ? null : (val) => setState(() => isContinuousSyncEnabled = val), - ), - ListTile( - leading: Icon( - Icons.delete_sweep, - color: kIsWeb ? Colors.grey : Colors.redAccent, - ), - title: const Text('مسح الذاكرة المؤقتة'), - onTap: () { - Navigator.pop(context); - _clearMapCache(); - }, - ), - const Divider(), - ListTile( - leading: const Icon(Icons.delete_forever, color: Colors.grey), - title: const Text('مسح كافة البيانات (UI)'), - onTap: () { - Navigator.pop(context); - mapController?.clearLines(); - mapController?.clearSymbols(); - mapController?.clearFills(); - mapController?.clearCircles(); - }, - ), - ], - ), - ), - body: Stack( - children: [ - MapLibreMap( - styleString: "assets/style.json", - initialCameraPosition: const CameraPosition( - target: LatLng(33.513, 36.276), - zoom: 14, - ), - onMapCreated: (MapLibreMapController c) => mapController = c, - onStyleLoadedCallback: () async { - setState(() => styleLoaded = true); - - // Load Premium Icons into the Map Controller - final icons = ['hospital', 'police', 'pharmacy', 'restaurant', 'cafe', 'shop', 'tourist', 'train', 'arrow']; - for (final icon in icons) { - try { - final ByteData bytes = await rootBundle.load('assets/icons/$icon.svg'); - await mapController?.addImage(icon, bytes.buffer.asUint8List()); - } catch (e) { - debugPrint('Error loading asset icon $icon: $e'); - } - } - - _fetchUserPlaces(); - _initAutoOfflineSync(); - }, - onCameraIdle: _handleCameraIdleSync, // Trigger continuous sync when movement stops - ), - if (!styleLoaded) - Container( - color: const Color(0xFFf8f9fa), - child: const Center(child: CircularProgressIndicator()), - ), - Positioned( - top: 10, - left: 10, - child: Container( - padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 8), - decoration: BoxDecoration( - color: Colors.black.withOpacity(0.7), - borderRadius: BorderRadius.circular(30), - ), - child: Text( - info, - style: const TextStyle( - color: Colors.white, - fontSize: 13, - fontWeight: FontWeight.bold, - ), - ), - ), - ), - if (isLoading) const Center(child: CircularProgressIndicator()), - ], - ), - ); - } -} diff --git a/apps/flutter_map_demo/pubspec.lock b/apps/flutter_map_demo/pubspec.lock deleted file mode 100644 index 434ddc8..0000000 --- a/apps/flutter_map_demo/pubspec.lock +++ /dev/null @@ -1,338 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - archive: - dependency: transitive - description: - name: archive - sha256: a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff - url: "https://pub.dev" - source: hosted - version: "4.0.9" - async: - dependency: transitive - description: - name: async - sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37 - url: "https://pub.dev" - source: hosted - version: "2.13.1" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - characters: - dependency: transitive - description: - name: characters - sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b - url: "https://pub.dev" - source: hosted - version: "1.4.1" - clock: - dependency: transitive - description: - name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b - url: "https://pub.dev" - source: hosted - version: "1.1.2" - collection: - dependency: transitive - description: - name: collection - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" - url: "https://pub.dev" - source: hosted - version: "1.19.1" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - sha256: "41e005c33bd814be4d3096aff55b1908d419fde52ca656c8c47719ec745873cd" - url: "https://pub.dev" - source: hosted - version: "1.0.9" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" - url: "https://pub.dev" - source: hosted - version: "1.3.3" - ffi: - dependency: transitive - description: - name: ffi - sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45" - url: "https://pub.dev" - source: hosted - version: "2.2.0" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" - url: "https://pub.dev" - source: hosted - version: "6.0.0" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - http: - dependency: "direct main" - description: - name: http - sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" - url: "https://pub.dev" - source: hosted - version: "1.6.0" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" - url: "https://pub.dev" - source: hosted - version: "4.1.2" - image: - dependency: transitive - description: - name: image - sha256: f9881ff4998044947ec38d098bc7c8316ae1186fa786eddffdb867b9bc94dfce - url: "https://pub.dev" - source: hosted - version: "4.8.0" - intl: - dependency: transitive - description: - name: intl - sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" - url: "https://pub.dev" - source: hosted - version: "0.20.2" - latlong2: - dependency: "direct main" - description: - name: latlong2 - sha256: "98227922caf49e6056f91b6c56945ea1c7b166f28ffcd5fb8e72fc0b453cc8fe" - url: "https://pub.dev" - source: hosted - version: "0.9.1" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" - url: "https://pub.dev" - source: hosted - version: "11.0.2" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" - url: "https://pub.dev" - source: hosted - version: "3.0.10" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" - url: "https://pub.dev" - source: hosted - version: "3.0.2" - lints: - dependency: transitive - description: - name: lints - sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" - url: "https://pub.dev" - source: hosted - version: "6.1.0" - maplibre_gl: - dependency: "direct main" - description: - name: maplibre_gl - sha256: d9773555ae4ebab94bbc3ae2176b077cfda486ec729eefe01e1613f164cb8410 - url: "https://pub.dev" - source: hosted - version: "0.25.0" - maplibre_gl_platform_interface: - dependency: transitive - description: - name: maplibre_gl_platform_interface - sha256: bd7de401dea24dd7e8a6f2fa736ddee7dbbee3e24a9027f0afdd619994702047 - url: "https://pub.dev" - source: hosted - version: "0.25.0" - maplibre_gl_web: - dependency: transitive - description: - name: maplibre_gl_web - sha256: af0e48bf96e8dd99f8b958a1953126971eb8a0527b9735441d4f24df3913f5a2 - url: "https://pub.dev" - source: hosted - version: "0.25.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" - url: "https://pub.dev" - source: hosted - version: "0.12.18" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" - url: "https://pub.dev" - source: hosted - version: "0.13.0" - meta: - dependency: transitive - description: - name: meta - sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" - url: "https://pub.dev" - source: hosted - version: "1.17.0" - path: - dependency: transitive - description: - name: path - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675" - url: "https://pub.dev" - source: hosted - version: "7.0.2" - posix: - dependency: transitive - description: - name: posix - sha256: "185ef7606574f789b40f289c233efa52e96dead518aed988e040a10737febb07" - url: "https://pub.dev" - source: hosted - version: "6.5.0" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - source_span: - dependency: transitive - description: - name: source_span - sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab" - url: "https://pub.dev" - source: hosted - version: "1.10.2" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" - url: "https://pub.dev" - source: hosted - version: "1.12.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" - url: "https://pub.dev" - source: hosted - version: "1.4.1" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" - url: "https://pub.dev" - source: hosted - version: "1.2.2" - test_api: - dependency: transitive - description: - name: test_api - sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636" - url: "https://pub.dev" - source: hosted - version: "0.7.9" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.dev" - source: hosted - version: "1.4.0" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b - url: "https://pub.dev" - source: hosted - version: "2.2.0" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" - url: "https://pub.dev" - source: hosted - version: "15.0.2" - web: - dependency: transitive - description: - name: web - sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" - url: "https://pub.dev" - source: hosted - version: "1.1.1" - xml: - dependency: transitive - description: - name: xml - sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" - url: "https://pub.dev" - source: hosted - version: "6.6.1" -sdks: - dart: ">=3.11.0 <4.0.0" - flutter: ">=3.22.0" diff --git a/apps/flutter_map_demo/pubspec.yaml b/apps/flutter_map_demo/pubspec.yaml deleted file mode 100644 index 97ab956..0000000 --- a/apps/flutter_map_demo/pubspec.yaml +++ /dev/null @@ -1,91 +0,0 @@ -name: flutter_map_demo -description: "A new Flutter project." -# The following line prevents the package from being accidentally published to -# pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: 'none' # Remove this line if you wish to publish to pub.dev - -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -# In Windows, build-name is used as the major, minor, and patch parts -# of the product and file versions while build-number is used as the build suffix. -version: 1.0.0+1 - -environment: - sdk: ^3.11.0 - -# Dependencies specify other packages that your package needs in order to work. -# To automatically upgrade your package dependencies to the latest versions -# consider running `flutter pub upgrade --major-versions`. Alternatively, -# dependencies can be manually updated by changing the version numbers below to -# the latest version available on pub.dev. To see which dependencies have newer -# versions available, run `flutter pub outdated`. -dependencies: - flutter: - sdk: flutter - - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.8 - latlong2: ^0.9.1 - http: ^1.6.0 - maplibre_gl: ^0.25.0 - -dev_dependencies: - flutter_test: - sdk: flutter - - # The "flutter_lints" package below contains a set of recommended lints to - # encourage good coding practices. The lint set provided by the package is - # activated in the `analysis_options.yaml` file located at the root of your - # package. See that file for information about deactivating specific lint - # rules and activating additional ones. - flutter_lints: ^6.0.0 - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter packages. -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - assets: - - assets/style.json - - assets/icons/ - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/to/resolution-aware-images - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/to/asset-from-package - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/to/font-from-package diff --git a/apps/flutter_map_demo/test/widget_test.dart b/apps/flutter_map_demo/test/widget_test.dart deleted file mode 100644 index cc3a1e3..0000000 --- a/apps/flutter_map_demo/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:flutter_map_demo/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} diff --git a/apps/flutter_map_demo/web/favicon.png b/apps/flutter_map_demo/web/favicon.png deleted file mode 100644 index 8aaa46a..0000000 Binary files a/apps/flutter_map_demo/web/favicon.png and /dev/null differ diff --git a/apps/flutter_map_demo/web/icons/Icon-192.png b/apps/flutter_map_demo/web/icons/Icon-192.png deleted file mode 100644 index b749bfe..0000000 Binary files a/apps/flutter_map_demo/web/icons/Icon-192.png and /dev/null differ diff --git a/apps/flutter_map_demo/web/icons/Icon-512.png b/apps/flutter_map_demo/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48..0000000 Binary files a/apps/flutter_map_demo/web/icons/Icon-512.png and /dev/null differ diff --git a/apps/flutter_map_demo/web/icons/Icon-maskable-192.png b/apps/flutter_map_demo/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d7..0000000 Binary files a/apps/flutter_map_demo/web/icons/Icon-maskable-192.png and /dev/null differ diff --git a/apps/flutter_map_demo/web/icons/Icon-maskable-512.png b/apps/flutter_map_demo/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c566..0000000 Binary files a/apps/flutter_map_demo/web/icons/Icon-maskable-512.png and /dev/null differ diff --git a/apps/flutter_map_demo/web/index.html b/apps/flutter_map_demo/web/index.html deleted file mode 100644 index f2d3582..0000000 --- a/apps/flutter_map_demo/web/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - Intaleq Premium Maps - - - - - - - - - diff --git a/apps/flutter_map_demo/web/manifest.json b/apps/flutter_map_demo/web/manifest.json deleted file mode 100644 index ee029c1..0000000 --- a/apps/flutter_map_demo/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "flutter_map_demo", - "short_name": "flutter_map_demo", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/apps/flutter_map_demo/web/rtl-plugin.js b/apps/flutter_map_demo/web/rtl-plugin.js deleted file mode 100644 index d46cc70..0000000 --- a/apps/flutter_map_demo/web/rtl-plugin.js +++ /dev/null @@ -1,6 +0,0 @@ -(function(){(function(global,factory){if(typeof exports==="object"&&typeof module!=="undefined"){factory(module.exports)}else if(typeof define==="function"&&define.amd){define(factory)}else{factory(global)}})(this,function(exports){var Module={TOTAL_MEMORY:8*1024*1024,TOTAL_STACK:2*1024*1024,preRun:[],postRun:[],print:function(text){console.log(text)},printErr:function(text){text=Array.prototype.slice.call(arguments).join(" ");if(text.indexOf("pre-main prep time")>=0){return}console.error(text)}};var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{var success=_emscripten_resize_heap(end);if(!success)return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert_em(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={string:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},array:function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NONE=3;function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr){var endPtr=ptr;var idx=endPtr>>1;while(HEAP16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=71120,DYNAMIC_BASE=5314e3,DYNAMICTOP_PTR=71088;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}}) -;memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAAAQIHCAMJBgUEBAoKDAoKCgsKBAQEBA0OAAAAAAAAAAECBAUHDxEHCQcABwMSFQQBIiQlJy8xJyknAQEjMjUAIQIkJScvMScpJwICIzI1ASEiJiYoMDEoKCgDAwMyNQEhIgQlJy8xSgtKBAQjEhUCISIkBScvMScpTAUFIzI1AyEiBgYoMDEoKE0GBiMSFQMhIiQlBy8xB04HBwcjMjUEISImJggwMQgICAgIIzI1BCEiBCUHLzEHCQcJCSMSFQRhYgRlh29xh46HCodjEhUCISIEJScvMScLJwsLIxIVAmFiZAWHb3GHjocMh2NydQNhYgYGiHBxiIiIDYhjEhUDISKEJQcvMQcOBw4OI5KVBCEiJCUnDzEnKScPJyMyNQUhIiYmKBAxKCgoECgjMjUFISIkJScvEScpJxEnIzI1BiEiEiUnLzFTFFMSEiMSFQBhYhJlh29xh46HE4djEhUAISISJScvMScUJxQUIxIVACEiFSUnLzFWF1YVFSMSFQNhYhVlh29xh46HFodjEhUDISIVJScvMScXJxcXIxIVAwACEREAAAAAAEIBAQAAAAAAAgQEExMAAQAiNDQDAwAAAAIEBBMTAAIAAAAAAAAAAAEAAgIAAAAAAQABAhMTAAEBAAICAAAAASEwBgQDAzAAITAGBAUFMAMhMAYEBQUwAiEwBgQDAzABAAAAAAAAAAAAYgEBAAAAAABiAQEAMAAEAGJUVBMwAAMwQlRUAzAwAzBCBAQTMDAEAAAAAAAAAAATAAEBAAAAACMAAQECQAABIwABAQJAAAADAAM2FEAAAVNABTYEQEAAU0AFNgRAQAFTQAYGBEBAAwAAAAAAAAAAAAEAAgAAAAAAAQMDFBQAAQABAAIVFQACAAEDAxQUAAIAITMzBAQAAAAhADIFBQAAAGMAAQAAAAAAYwABEjAABCBjIAECMCADAGNVVhQwAAMwQ1VWBDAwAzBDBVYUMDAEMENVBhQwMAQAAAAAAAAAAAABAAAAAAAAAAEAABQUAAEAAQAAFRUAAgABAAAUFAACIAEgIAQEIAEgASAgBQUgAQEAAQEAAAAAAQABARQUAAEBAAEBAAAAAQEAAQEFBQABIQAhIQQEAAABAAEBBQUAAAADEREAAAAAIAMBAQIgIAIgAwEBAiAgAQADBQUUAAABIAMFBQQgIAEAAwUFFAAAAgIAAQEAAAAAAgABAQAAAAECABQUEwAAASIABAQDAAAAIgAEBAMAAAEAAAAAAAAAAAEAAgIAAAAAAQABAxQUAAEBAAICAAAAAQEAAQMFBQABIQAhAwQEAAABAAEDBQUAAHEGcQZ7BnsGewZ7Bn4GfgZ+Bn4GAAAAAAAAAAB6BnoGegZ6BgAAAAAAAAAAeQZ5BnkGeQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIYGhgaGBoYGAAAAAAAAAACNBo0GjAaMBo4GjgaIBogGmAaYBpEGkQapBqkGqQapBq8GrwavBq8GAAAAAAAAAAAAAAAAAAAAALoGuga7BrsGuwa7BsAGwAbBBsEGwQbBBr4Gvga+Br4G0gbSBtMG0wYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMcGxwbGBsYGyAbIBgAAywbLBsUGxQbJBskG0AbQBtAG0AYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAbMBswGzAZLBksGTAZMBk0GTQZOBk4GTwZPBlAGUAZRBlEGUgZSBiEGIgYiBiMGIwYkBiQGJQYlBiYGJgYmBiYGJwYnBigGKAYoBigGKQYpBioGKgYqBioGKwYrBisGKwYsBiwGLAYsBi0GLQYtBi0GLgYuBi4GLgYvBi8GMAYwBjEGMQYyBjIGMwYzBjMGMwY0BjQGNAY0BjUGNQY1BjUGNgY2BjYGNgY3BjcGNwY3BjgGOAY4BjgGOQY5BjkGOQY6BjoGOgY6BkEGQQZBBkEGQgZCBkIGQgZDBkMGQwZDBkQGRAZEBkQGRQZFBkUGRQZGBkYGRgZGBkcGRwZHBkcGSAZIBkkGSQZKBkoGSgZKBlwGXAZdBl0GXgZeBl8GXwYAAAAAAAAAAAAAAAAAAAABAAMAAQABAAACAgAAAQIAAQECAAEBAwAAAAAAAAAAAAEAAwABAAMAAAECAAABAgABAQIAAQEDIREhEwEVIRcDGSEdAx8BIwMlAykDLQMxAzUBOQE7AT0BPwNBA0UDSQNNA1EDVQNZA10AAAAAAAAAAAAAAwADYQNlA2kTbQNxA3UDeQF9AX8DgQQBhAGEAYQBhAGEAUQDBAEEBwQIBAgEAQAAAAAAAAAAAAABhQGHAYkBiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAYJACEAIQAAACEAAQABAAMACxYLDgsCAwADAAsGAwADAAMAAwADAAMAAwALKgMACTgBAAEAAQAJNAkyCTYBAAEACTwBAAEAAQABAAEAAQAJOgEAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACz4DAAMAAwADAAMAC0IDAAMAAwADAAMAAwADAAMAAwADAAlOC1ADAAMAC1oDAAlUC1YBAAEAAQAJkAmJCYcJiwmSAQAJjgusAQADAAMAC5QDAAleCWAAAAAAAAAAAAAAAAAAAQAAAAAAAQIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIDAAAAAAAAAAAAAAAAAAEAAAABAgMAAQIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAAAAAAAAAAAAAAAAAADAwMAAwADAwMDAwMDAwMDAAABAAEAAQABAAECAwABAAECAwABAAECAwABAgMAAQIDAAECAwABAgMAAQABAAEAAQABAgMAAQIDAAECAwABAgMAAQIDAAECAwABAgMAAQIDAAECAwABAgMAAQIDAAECAwABAgMAAQIDAAECAwABAAEAAQIDAAEAAQABAAEAAABdBGUEbQR1BI0ElQSdBKUErQS1BLsEwwTLBNME2wTjBOkE8QT5BAEFBAUMBRQFHAUkBSwFKAUwBTgFQAVFBU0FVQVdBWEFaQVxBXkFgQWJBYUFjQWSBZoFoAWoBbAFuAXABcgF0AXYBd0F5QXoBfAF+AUABgYGDgYNBhUGHQYlBjUGLQY9BkUGfQRVBl0GTQZtBm8GdwZlBocGjQaVBn8GpQarBrMGnQbDBskG0Qa7BuEG5wbvBtkG/wYHBw8H9wYfByUHLQcXBz0HQwdLBzUHWwdgB2gHUwd4B38HhwdwBwkGjweXB30EnwenB68HfQS3B78HxwfMB9QH2wfjB30EyAXrB/MH+wcDCFUFEwgLCMgFyAXIBcgFyAXIBcgFyAXIBcgFGwjIBSMIJwgvCMgFNQjIBTsIQwhLCFUFVQVTCFsIyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFYAhoCMgFyAVwCHgIgAiICJAIyAWYCKAIqAi4CMgFwAjCCMoIsAjIBc0I4QjVCN0I6QjIBfEI9wj/CAcJyAUXCR8JJwkPCX0EfQQ3CToJQgkvCVIJSgnIBVkJyAVoCWEJcAl4CXwJhAmMCf0ElAmXCZ0JpAmXCSQFrAmtBK0ErQStBLQJrQStBK0ExAnMCdQJ3AnkCegJ8Am8CQgKEAr4CQAKGAogCigKMApICjgKQApQClgKZwpsCl8KdAp0CnQKdAp0CnQKdAp0CnwKhAr/CIcKjwqWCpsKowr/CKoKqQq6Cr0K/wj/CLIK/wj/CP8I/wj/CMwK1ArECv8I/wj/CNkK/wj/CP8I/wj/CP8I/wjfCucK/wjvCvYK/wj/CP8I/wj/CP8I/wj/CHQKdAp0CnQK/gp0CgULDAt0CnQKdAp0CnQKdAp0CnQK/wgUCxsLHwslC/8IKwukClUFOwszC0MLrQStBK0ESwv9BFMLyAVZC2kLYQthCyQFcQt5C4ELfQSJC/8I/wiQC/8I/wj/CP8I/wj/CJgLnguuC6YLCQbIBbYLWwjIBb4LxgvKC8gFyAXPC9cL/wjfC6QK5wvtC/8I5wv1C/8IpAr/CP8I/wj/CP8I/wj/CP8I/QvIBcgFyAUFDMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFCwzIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAUQDMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXNCP8I/wgYDMgFGwzIBSMMKQwxDDkMPgzIBcgFQgzIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAVJDMgFUAxWDMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAVeDMgFyAXIBWYMyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBWgMyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAVvDMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFdgzIBcgFyAV9DIUMyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFigzIBcgFkgzIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFlgzIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAWZDMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAWcDMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFogzIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFqgzIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBa8MyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAW0DMgFyAXIBbkMyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcEMyAzMDMgFyAXIBdMMyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBdkM6QzIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgF4Qz/CPEMcAnIBcgFyAXIBcgFyAXIBcgF9gz+DK0EDg0GDcgFyAUWDR4NLg2tBDMNOw1BDX0EJg1JDVENyAVZDWkNbA1hDXQNHQZ8DYMNwQhtBpMNiw2bDcgFow2rDbMNyAW7DcMNyw3TDdsN3w3nDf0E/QTIBe8NyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAX3DQMO+w19BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0ECw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw7IBcgFyAUbDsgF1AwiDicOyAXIBcgFLw7IBcgFzAh9BEUONQ49DsgFyAVNDlUOyAXIBcgFyAXIBcgFyAXIBcgFyAVaDmIOyAVmDsgFbA5wDngOgA6HDo8OyAXIBcgFlQ6tDm0EtQ69DsIO4QidDqUOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDgsOCw4LDvQR9BE0EnQStBLsEiwTbBOkE+QTEBRQFJAUoBTgFBQVVBWEFcQVBBYUFkgWgBbAFgAXQBd0F6AX4BcYGDQYdBiACsAKAAtAC4ALQArAC0AK4gtACkAKQApACiIM2wHbAWIMogxACkAKQApACuIMAg1ACkAKQg2CDcINAg5CDoIOwg75DtsB2wEdD1EP2wF5D9sB2wHbAdsBpg/bAdsB2wHbAdsB2wHbAboP2wHyDzIQ2wE9ENsB2wHbAXMQQAqzEEAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAK8xBACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACgAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHMxEABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABzMRfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQTKDtEO2Q59BMgFyAXIBdcL6Q7hDgAP8Q74DggPhQsQD30EfQR9BH0EwQjIBRgPIA/IBSgPMA80DzwPyAVED30EVQVfBUwPyAVQD1gPaA9gD8gFcA/IBXcPfQR9BH0EfQTIBcgFyAXIBcgFyAXIBcgFyAVpC80IbA59BH0EfQR9BIcPfw+KD5IP4QiaD30Eog+qD7IPfQR9BMgFwg/KD7oP2g/hD9IP6Q/xD30EARD5D8gFBBAMEBQQHBAkEH0EfQTIBcgFLBB9BFUFNBD9BDwQyAVEEH0EfQR9BH0EfQR9BH0EfQR9BEwQfQR9BH0EfQRUEFwQYxB9BH0EfQR9BH0EcxD+BXsQaxBSCYMQixCREKkQmRChEK0QUgm9ELUQxRDVEM0QfQR9BNwQ5BAgBuwQ/BACEQoR9BB9BH0EfQR9BMgFEhEaEX0EyAUiESoRfQR9BH0EfQR9BMgFMhE6EX0EyAVCEUoRUhHIBWIRWhF9BDsIahF9BH0EfQR9BH0EfQTIBXIRfQR9BH0EVQX9BHoRfQR9BH0EfQR9BH0EfQR9BJIRghGKEcgFohGaEcgFwgh9BH0EfQR9BH0EfQR9BH0EuBG9EaoRshHNEcURfQR9BNwR4BHUEfAR6BFaEX0EfQR9BH0EfQR9BH0EfQR9BPQRfQR9BH0EfQR9BH0EfQR9BMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFzAh9BH0EfQQEEgwSFBL8EcgFyAXIBcgFyAXIBRwSfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFJBJ9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFJhJ9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXCCOEILhJ9BH0EYg42EsgFPhJGEk4S2Qx9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQRVBf0EVhJ9BH0EfQTIBcgFXhJjEmsSfQR9BHMSyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFexLIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFgxJ9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BMgFyAXIBcgFyAXIBcgFyAXhCH0EfQRiDsgFyAXIBcgFyAXIBcgFyAXIBcgFyAX7DX0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EyAXIBcgFixKQEpgSfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BP8I/wj/CP8I/wj/CP8ImAv/CKAS/winEq8StRL/CLsS/wj/CMMSfQR9BH0EfQTLEv8I/wimCtMSfQR9BH0EfQTjEuoS7xL1Ev0SBRMNE+cSFRMdEyUTKhP8EuMS6hLmEvUSMhPkEjUT5xI9E0UTTRNUE0ATSBNQE1cTQxNfE9sS/wj/CP8I/wj/CP8I/wj/CP8I/wj/CP8I/wj/CP8I/wgkBW8TJAV2E30TZxN9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQSEE4wTfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BMgFyAXIBcgFyAXIBZQTfQRVBaQTnBN9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQSsE7wTtBN9BH0EfQR9BH0EfQR9BH0EfQR9BMwT1BPcE+QT7BP0E30ExBN9BH0EfQR9BH0EfQR9BH0E/wj8E/8I/wiQCwEUBRSYCw0U/wj/CPwT/wi6En0EFRQdFCEUKRQxFH0EfQR9BH0E/wj/CP8I/wj/CP8I/wg5FP8I/wj/CP8I/wj/CP8I/wj/CP8I/wj/CP8I/wj/CP8I/wj/CP8I/wj/CP8IQRRJFP8I/wj/CJAL/wj/CFEUfQT8E/8IWRT/CGEUmgt9BH0E/BOkCv8IZRT/CG0UHRT/CH0EfQR9BJoLfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BHUUyAXIBXwUyAXIBcgFhBTIBYwUyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFegzIBcgFlBTIBcgFyAXIBcgFyAXIBcgFyAXIBZwUpBTIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAW5DMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAWrFMgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBbIUyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFuRTIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAVpC30EyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFvRTIBcgFyAXIBcgFyAVQD8gFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBX8SyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXIBcgFyAXCFH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQTIBcgFyAXIBcoUyAXIBcgFyAXIBcgFyAXIBcgFyAXIBVAPfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BNoU0hTSFNIUfQR9BH0EfQQkBSQFJAUkBSQFJAUkBeIUfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EfQR9BH0EEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMOEw4TDhMO6hRcBA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAMABcAFwAXABkAFwAXABcAFAAVABcAGAAXABMAFwAXAEkAiQDJAAkBSQGJAckBCQJJAokCFwAXABgAGAAYABcAFwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAXABUAGgAWABoAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABQAGAAVABgADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAMABcAGQAZABkAGQAbABcAGgAbAAUAHAAYABAAGwAaABsAGABLA4sDGgACABcAFwAaAAsDBQAdAMs0SzTLPBcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABgAAQABAAEAAQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAYAAIAAgACAAIAAgACAAIAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAgABAAIAAQACAAEAAgABAAIAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAQACAAEAAgABAAIAAgACAAEAAQACAAEAAgABAAEAAgABAAEAAQACAAIAAQABAAEAAQACAAEAAQACAAEAAQABAAIAAgACAAEAAQACAAEAAQACAAEAAgABAAIAAQABAAIAAQACAAIAAQACAAEAAQACAAEAAQABAAIAAQACAAEAAQACAAIABQABAAIAAgACAAUABQAFAAUAAQADAAIAAQADAAIAAQADAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAIAAQADAAIAAQACAAEAAQABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAIAAgACAAIAAgACAAEAAQACAAEAAQACAAIAAQACAAEAAQABAAEAAgABAAIAAQACAAEAAgABAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAaABoAGgAaAAQABAAEAAQABAAEAAQABAAEAAQABAAEABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAEAAQABAAEAAQAGgAaABoAGgAaABoAGgAEABoABAAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgABAAIAAQACAAQAGgABAAIAAAAAAAQAAgACAAIAFwABAAAAAAAAAAAAGgAaAAEAFwABAAEAAQAAAAEAAAABAAEAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAABAAEAAQABAAEAAQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAIAAQABAAEAAgACAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAgACAAIAAgABAAIAGAABAAIAAQABAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgAbAAYABgAGAAYABgAHAAcAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAABAAXABcAFwAXABcAFwACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAXABMAAAAAABsAGwAZAAAABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAEwAGABcABgAGABcABgAGABcABgAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAFAAUABQAFABcAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAGAAYABgAFwAXABkAFwAXABsAGwAGAAYABgAGAAYABgAGAAYABgAGAAYAFwAQAAAAFwAXAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEAAUABQAFAAUABQAFAAUABQAFAAUABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYASQCJAMkACQFJAYkByQEJAkkCiQIXABcAFwAXAAUABQAGAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAFwAFAAYABgAGAAYABgAGAAYAEAAbAAYABgAGAAYABgAGAAQABAAGAAYAGwAGAAYABgAGAAUABQBJAIkAyQAJAUkBiQHJAQkCSQKJAgUABQAFABsAGwAFABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAAABAABQAGAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAYABgAGAAYABgAGAAYABgAGAAYABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASQCJAMkACQFJAYkByQEJAkkCiQIFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAYABgAGAAYABgAGAAYABgAEAAQAGwAXABcAFwAEAAAAAAAGABkAGQAGAAYABgAGAAQABgAGAAYABAAGAAYABgAGAAYAAAAAABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAYABgAGAAQABgAGAAYABgAGAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABgAGAAYAAAAAABcAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAGABAABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABQAFAAYABgAXABcASQCJAMkACQFJAYkByQEJAkkCiQIXAAQABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYABgAGAAgABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABgAIAAYABQAIAAgACAAGAAYABgAGAAYABgAGAAYACAAIAAgACAAGAAgACAAFAAYABgAGAAYABgAGAAYABQAFAAUABQAFAAUABQAFAAUABQAGAAYAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCBQAFABkAGQDLN8s1yz/LNMs8SwkbABkABQAXAAYAAAAFAAYACAAIAAAABQAFAAUABQAFAAUABQAFAAAAAAAFAAUAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUAAAAFAAAAAAAAAAUABQAFAAUAAAAAAAYABQAIAAgACAAGAAYABgAGAAAAAAAIAAgAAAAAAAgACAAGAAUAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCBgAGAAUABQAFAAYAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAIAAAABQAFAAUABQAFAAUAAAAAAAAAAAAFAAUAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUAAAAFAAUAAAAFAAUAAAAFAAUAAAAAAAYAAAAIAAgACAAGAAYAAAAAAAAAAAAGAAYAAAAAAAYABgAGAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAABQAAAAUABQAGAAYAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCFwAZAAAAAAAAAAAAAAAAAAAABQAGAAYABgAGAAYABgAAAAYABgAIAAAABQAFAAUABQAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUAAAAFAAUAAAAFAAUABQAFAAUAAAAAAAYABQAIAAgACAAGAAYABgAGAAYAAAAGAAYACAAAAAgACAAGAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAGAAYAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCGwAFAMs0SzTLPMs3yzXLPwAAAAAAAAAAAAAAAAAAAAAAAAYACAAIAAAABQAFAAUABQAFAAUABQAFAAAAAAAFAAUAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUAAAAFAAUAAAAFAAUABQAFAAUAAAAAAAYABQAIAAYACAAGAAYABgAGAAAAAAAIAAgAAAAAAAgACAAGAAAAAAAAAAAAAAAAAAAAAAAGAAgAAAAAAAAAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCywdLHkt4GwAbABsAGwAbABsAGQAbAAAAAAAAAAAAAAAAAAAABgAFAAAABQAFAAUABQAFAAUAAAAAAAAABQAFAAUAAAAFAAUABQAFAAAAAAAAAAUABQAAAAUAAAAFAAUAAAAAAAAABQAFAAAAAAAAAAUABQAFAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAACAAIAAYACAAIAAAAAAAAAAgACAAIAAAACAAIAAgABgAAAAAABQAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAFAAUABgAGAAAAAABJAIkAyQAJAUkBiQHJAQkCSQKJAgAAAAAAAAAAAAAAAAAAAABLBYsFywULBosFywULBhsABgAIAAgACAAGAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAUABgAGAAYACAAIAAgACAAAAAYABgAGAAAABgAGAAYABgAAAAAAAAAAAAAAAAAAAAYABgAAAAUABQAFAAAAAAAAAAAAAAAFAAUABgAGAAAAAABJAIkAyQAJAUkBiQHJAQkCSQKJAgAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAGAAgACAAXAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAGAAUACAAGAAgACAAIAAgACAAAAAYACAAIAAAACAAIAAYABgAAAAAAAAAAAAAAAAAAAAgACAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABgAGAAAAAABJAIkAyQAJAUkBiQHJAQkCSQKJAssHSx5LeMs0SzTLPMs3yzXLPxsABQAFAAUABQAFAAUABgAGAAgACAAAAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYABgAFAAgACAAIAAYABgAGAAYAAAAIAAgACAAAAAgACAAIAAYABQAbAAAAAAAAAAAABQAFAAUACAALzAvKS8sLyUs2S8kLNQUAAAAAAAAAAAAAAAAASQCJAMkACQFJAYkByQEJAkkCiQIAAAAACAAIABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAABgAAAAAAAAAAAAgACAAIAAYABgAGAAAABgAAAAgACAAIAAgACAAIAAgACAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABgAFAAUABgAGAAYABgAGAAYABgAAAAAAAAAAABkABQAFAAUABQAFAAUABAAGAAYABgAGAAYABgAGAAYAFwBJAIkAyQAJAUkBiQHJAQkCSQKJAhcAFwAAAAAAAAAAAAAABQAFAAAABQAAAAAABQAFAAAABQAAAAAABQAAAAAAAAAAAAAAAAAFAAUABQAFAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAAABQAAAAUAAAAAAAUABQAAAAUABQAFAAUABgAFAAUABgAGAAYABgAGAAYAAAAGAAYABQAAAAAABQAFAAUABQAFAAAABAAAAAYABgAGAAYABgAGAAAAAABJAIkAyQAJAUkBiQHJAQkCSQKJAgAAAAAFAAUABQAFAAUAGwAbABsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAGwAXABsAGwAbAAYABgAbABsAGwAbABsAGwBJAIkAyQAJAUkBiQHJAQkCSQKJAks0SzxLREtMS1RLXEtkS2xLdEssGwAGABsABgAbAAYAFAAVABQAFQAIAAgABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYACAAGAAYABgAGAAYAFwAGAAYABQAFAAUABQAFAAYABgAGAAYABgAGAAYABgAGAAYABgAAAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAAABsAGwAbABsAGwAbABsAGwAGABsAGwAbABsAGwAbAAAAGwAbABcAFwAXABcAFwAbABsAGwAbABcAFwAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAgACAAGAAYABgAGAAgABgAGAAYABgAGAAYACAAGAAYACAAIAAYABgAFAEkAiQDJAAkBSQGJAckBCQJJAokCFwAXABcAFwAXABcABQAFAAUABQAFAAUACAAIAAYABgAFAAUABQAFAAYABgAGAAUACAAIAAgABQAFAAgACAAIAAgACAAIAAgABQAFAAUABgAGAAYABgAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYACAAIAAYABgAIAAgACAAIAAgACAAGAAUACABJAIkAyQAJAUkBiQHJAQkCSQKJAggACAAIAAYAGwAbAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABcABAACAAIAAgABAAEAAQABAAEAAQAAAAEAAAAAAAAAAAAAAAEAAAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABQAFAAUABQAFAAUABQAFAAUAAAAFAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAABQAAAAUABQAFAAUAAAAAAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUAAAAFAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAGAAYABgAXABcAFwAXABcAFwAXABcAFwALA0sDiwPLAwsESwSLBMsECwXLB0sKywxLD8sRSxTLFksZyxtLHot4AAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAbABsAGwAbABsAGwAbABsAGwAbAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAIAAgACAAIAAgACAAAAAAATAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAXABcABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAwABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFABQAFQAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAFwAXABcAignKCQoKBQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABgAGAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYABgAGABcAFwAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAAABgAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAYACAAGAAYABgAGAAYABgAGAAgACAAIAAgACAAIAAgACAAGAAgACAAGAAYABgAGAAYABgAGAAYABgAGAAYAFwAXABcABAAXABcAFwAZAAUABgAAAAAASQCJAMkACQFJAYkByQEJAkkCiQIAAAAAAAAAAAAAAABLBYsFywULBksGiwbLBgsHSweLBwAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAYABQAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAXABcAFwAXABcAFwATABcAFwAXABcABgAGAAYAEAAAAEkAiQDJAAkBSQGJAckBCQJJAokCAAAAAAAAAAAAAAAABQAFAAUABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABgAGAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAGAAYACAAIAAgACAAGAAYACAAIAAgAAAAAAAAAAAAIAAgABgAIAAgACAAIAAgACAAGAAYABgAAAAAAAAAAABsAAAAAAAAAFwAXAEkAiQDJAAkBSQGJAckBCQJJAokCBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCCwMAAAAAAAAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAYACAAIAAYAAAAAABcAFwAXABcAFwAXABcAFwAXAAQAFwAXABcAFwAXABcAAAAAAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAHAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUACAAGAAgABgAGAAYABgAGAAYABgAAAAYACAAGAAgACAAGAAYABgAGAAYABgAGAAYACAAIAAgACAAIAAgABgAGAAYABgAGAAYABgAGAAYABgAAAAAABgBJAIkAyQAJAUkBiQHJAQkCSQKJAgAAAAAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCAAAAAAAAAAAAAAAAFwAbABsAGwAbABsAGwAbABsAGwAbAAYABgAGAAYABgAGAAYABgAGABsAGwAbABsAGwAbABsAGwAbAAAAAAAAAAYABgAGAAYACAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAgABgAGAAYABgAGAAgABgAIAAgACAAIAAgABgAIAAgABQAFAAUABQAFAAUABQAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCFwAXABcAFwAXABcABQAIAAYABgAGAAYACAAIAAYABgAIAAYABgAGAAUABQBJAIkAyQAJAUkBiQHJAQkCSQKJAgUABQAFAAUABQAFAAYABgAIAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABgAIAAYABgAIAAgACAAGAAgABgAGAAYACAAIAAAAAAAAAAAAAAAAAAAAAAAXABcAFwAXAEkAiQDJAAkBSQGJAckBCQJJAokCAAAAAAAABQAFAAUASQCJAMkACQFJAYkByQEJAkkCiQIFAAUABQAFAAUABQAIAAgACAAIAAgACAAIAAgABgAGAAYABgAGAAYABgAGAAgACAAGAAYAAAAAAAAAFwAXABcAFwAXAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAQABAAEAAQABAAEABcAFwACAAIAAgACAAIAAgACAAIAAgAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAABAAEAAQAXABcAFwAXABcAFwAXABcAAAAAAAAAAAAAAAAAAAAAAAYABgAGABcABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAIAAYABgAGAAYABgAGAAYABQAFAAUABQAGAAUABQAFAAUACAAIAAYABQAFAAgABgAGAAAAAAAAAAAAAAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAQAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABAAEAAQABAAEAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAAAAYABgAGAAYABgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAIAAgACAAIAAgACAAIAAgABAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAEAAQAaABoAGgAAAAAAAgACAAIAAAACAAIAAQABAAEAAQADABoAGgAAAAIAAgACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAgACAAIAAgACAAIAAAAAAAEAAQABAAEAAQABAAAAAAACAAIAAgACAAIAAgACAAIAAQABAAEAAQABAAEAAQABAAIAAgACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAgACAAIAAgACAAIAAAAAAAEAAQABAAEAAQABAAAAAAACAAIAAgACAAIAAgACAAIAAAABAAAAAQAAAAEAAAABAAIAAgACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAAAAAACAAIAAgACAAIAAgACAAIAAwADAAMAAwADAAMAAwADAAIAAgACAAIAAgACAAIAAgADAAMAAwADAAMAAwADAAMAAgACAAIAAgACAAAAAgACAAEAAQABAAEAAwAaAAIAGgAaABoAAgACAAIAAAACAAIAAQABAAEAAQADABoAGgAaAAIAAgACAAIAAAAAAAIAAgABAAEAAQABAAAAGgAaABoAFgAXABcAFwAYABQAFQAXABcAFwAXABcAFwAXABcAFwAXABcAGAAXABYAFwAXABcAFwAXABcAFwAXABcAFwAMABAAEAAQABAAEAAAABAAEAAQABAAEAAQABAAEAAQABAAywIEAAAAAADLAwsESwSLBMsECwUYABgAGAAUABUABAAMAAwADAAMAAwADAAMAAwADAAMAAwAEAAQABAAEAAQABMAEwATABMAEwATABcAFwAcAB0AFAAcABwAHQAUABwAFwAXABcAFwAXABcAFwAXAA0ADgAQABAAEAAQABAADAAXABcAFwAXABcAFwAXABcAFwAcAB0AFwAXABcAFwAWAMsCCwNLA4sDywMLBEsEiwTLBAsFGAAYABgAFAAVAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAGQAZABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAcABwAHAAcABgAHAAcABwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbABsAGwAbAAEAGwABABsAAQAbAAEAAQABAAEAGwACAAEAAQABAAEAAgAFAAUABQAFAAIAGwAbAAIAAgABAAEAGAAYABgAGAAYAAEAAgACAAIAAgAbABgAGwAbAAIAGwCLNQs2SzaLNIs4CzULOQs9C0FLNUtFyzXLPctFy02LBRsAGwABABsAGwAbABsAAQAbABsAAgABAAEAAQACAAIAAQABAAEAAgAbAAEAGwAbABgAAQABAAEAAQABABsAGwCKBcoFCgZKBooGygYKB0oHigfKBwoISgjKEUoeCphKeIoFygUKBkoGigbKBgoHSgeKB8oHCghKCMoRSh4KmEp4SnhKmIp4AQACAMoGyhGKmMp4SwUbABsAAAAAAAAAAAAYABgAGAAYABgAGwAbABsAGwAbABgAGAAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAbABsAGAAbABsAGAAbABsAGwAbABsAGwAbABgAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAYABgAGwAbABgAGwAYABsAGwAbABsAGwAbABsAGwAbABsAGwAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGwAbABsAGwAbABsAGwAbABQAFQAUABUAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABgAGAAbABsAGwAbABsAGwAbABQAFQAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGAAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABgAGAAYABgAGAAYABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAbABsAGwAbABsAGwAbABsAGwDLAgsISwiLCMsICwlLCYsJywkLCksKCwNLA4sDywMLBEsEiwTLBAsFywfLAgsDSwOLA8sDCwRLBIsEywQLBcsHCwhLCIsIywgLCUsJiwnLCQsKSwoLA0sDiwPLAwsESwSLBMsECwXLBwsISwiLCMsICwlLCYsJywkLCksKGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGAAYABgAGAAYABgAGAAYABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAYABsAGwAbABsAGwAbABsAGwAbABgAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGAAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABQAFQAUABUAFAAVABQAFQAUABUAFAAVABQAFQALA0sDiwPLAwsESwSLBMsECwXLBwsDSwOLA8sDCwRLBIsEywQLBcsHCwNLA4sDywMLBEsEiwTLBAsFywcbABsAGwAbABsAGwAbABsAGwAbABsAGwAYABgAGAAYABgAFAAVABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABQAFQAUABUAFAAVABQAFQAUABUAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAUABUAFAAVABQAFQAUABUAFAAVABQAFQAUABUAFAAVABQAFQAUABUAFAAVABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABQAFQAUABUAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAUABUAGAAYABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABsAGwAYABgAGAAYABgAGAAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAAAAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAAAAAAbABsAGwAbABsAGwAbABsAGwAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAIAAQABAAEAAgACAAEAAgABAAIAAQACAAEAAQABAAEAAgABAAIAAgABAAIAAgACAAIAAgACAAQABAABAAEAAQACAAEAAgACABsAGwAbABsAGwAbAAEAAgABAAIABgAGAAYAAQACAAAAAAAAAAAAAAAXABcAFwAXAEs0FwAXAAIAAgACAAIAAgACAAAAAgAAAAAAAAAAAAAAAgAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAQAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAABcAFwAcAB0AHAAdABcAFwAXABwAHQAXABwAHQAXABcAFwAXABcAFwAXABcAFwATABcAFwATABcAHAAdABcAFwAcAB0AFAAVABQAFQAUABUAFAAVABcAFwAXABcAFwAEABcAFwAXABcAFwAXABcAFwAXABcAEwATABcAFwAXABcAEwAXABQAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAbABsAGwAbABsAGwAbABsAGwAbABsAAAAAAAAAAAAbAIoFygUKBkoGigbKBgoHSgeKBwYABgAGAAYACAAIABMABAAEAAQABAAEABsAGwDKB0oKygwEAAUAFwAbABsADAAXABcAFwAbAAQABQBKBRQAFQAUABUAFAAVABQAFQAUABUAGwAbABQAFQAUABUAFAAVABQAFQATABQAFQAVAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABgAGABoAGgAEAAQABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAXAAQABAAEAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAbABsAiwXLBQsGSwYbABsAGwAbABsAGwAbABsAGwAbAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAbABsAGwAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAiwXLBQsGSwaLBssGCwdLB4sHywcbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAMsHSwrLDEsPyxFLFMsWSxkbAIsKywoLC0sLiwvLCwsMSwyLDMsMCw1LDYsNyw0LDhsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwBLDosOyw4LD0sPiw/LDwsQSxCLEMsQCxFLEYsRyxEFAAUABQAFAAUAhQYFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAxQUFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQCFBgUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQcFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQCFBQUABQAFBwUABQAFAIV4BQAFBgUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAhQcFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAxQUFAAUABQAFAAUABQAFAIUGBQBFBgUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQCFecUHBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUARXgFAAUABQAFAAUABQAFAAUABQYFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQCFBgUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAEUeBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAhXkFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAhXoFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAxQUFAEUHBQDFBgUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAxQcFAEV4RQrFDAUABQAFAAUABQAFAEUPBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUGBQYFBgUGBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUARQYFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAhQUFAAUABQAFAAUABQAFAIUFBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQCFBQUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAhQdFCgUABQAFAAUABQAFAAUABQAFAAUABQAFAIUFxQUFBgUAxQUFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQDFBwUABQAFAAUABQAFAAUABQAFAAUABQAFAAUARQcFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFBwUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAIUHBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQBFHgUABQAFAAUABQAFAAUARQYFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAIV4BQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAxQUFAAUABQAFAMUFBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQDFBQUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUARXgFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAxQYFAAUABQAFAAUARR4FAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQDFBgUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUARQUFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAFAAUABQAFAAUABQAFAAUABQAFABsAGwAbABsAGwAbABsAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEABcAFwAXAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUASQCJAMkACQFJAYkByQEJAkkCiQIFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIABAAEAAYABgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIABQAGAAcABwAHABcABgAGAAYABgAGAAYABgAGAAYABgAXAAQABQAFAAUABQAFAAUAigXKBQoGSgaKBsoGCgdKB4oHSgUGAAYAFwAXABcAFwAXABcAAAAAAAAAAAAAAAAAAAAAABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAEAAQAAgAFAAUABQAFAAUAGgAaAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgACAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAgABAAIABAACAAIAAgACAAIAAgACAAIAAQACAAEAAgABAAEAAgABAAIAAQACAAEAAgABAAIABAAaABoAAQACAAEAAgAFAAEAAgABAAIAAgACAAEAAgABAAIAAQACAAEAAgABAAIAAQACAAEAAQABAAEAAQACAAEAAQABAAEAAQACAAEAAgABAAIAAAAAAAAAAAAAAAAABQAFAAYABQAFAAUABgAFAAUABQAFAAYABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAgACAAGAAYACAAbABsAGwAbAAAAAAAAAAAAyzRLNMs8yzfLNcs/GwAbABkAGwAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAFwAXABcAFwAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAGAAYAAAAAAAAAAAAAAAAAAAAAABcAFwBJAIkAyQAJAUkBiQHJAQkCSQKJAgAAAAAAAAAAAAAAAAgACAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAFAAUABQAFAAUABQAXABcAFwAFABcABQAFAAYABQAFAAUABQAFAAUABgAGAAYABgAGAAYABgAGABcAFwAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYABgAGAAYABgAGAAYABgAGAAYABgAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcACAAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAAABABJAIkAyQAJAUkBiQHJAQkCSQKJAgAAAAAAAAAAFwAXAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABgAIAAgABgAGAAYABgAIAAgABgAIAAgACAAFAAUABQAFAAUABgAEAAUABQAFAAUABQAFAAUABQAFAEkAiQDJAAkBSQGJAckBCQJJAokCBQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABgAGAAYABgAGAAYACAAIAAYABgAIAAgABgAGAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAYABQAFAAUABQAFAAUABQAFAAYACAAAAAAASQCJAMkACQFJAYkByQEJAkkCiQIAAAAAFwAXABcAFwAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAQABQAFAAUABQAFAAUAGwAbABsABQAIAAYACAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAUABgAGAAYABQAFAAYABgAFAAUABQAFAAUABgAGAAUABgAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAEABcAFwAFAAUABQAFAAUABQAFAAUABQAFAAUACAAGAAYACAAIABcAFwAFAAQABAAIAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGgAEAAQABAAEAAIAAgACAAIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAFAAUABQAIAAgABgAIAAgABgAIAAgAFwAIAAYAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEABQAFAAUABQAFAAUABQAFAAUABQAFAAUGBQAFAAUABQAFAAUABQDFBwUABQAFAAUAxQUFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAxQYFAMUGBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAMUHBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFABgABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAgACAAIAAgACAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAAAAAAAAAAAAAAUABgAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAFQAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFABkAGwAAAAAABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAXABcAFwAXABcAFwAXABQAFQAXAAAAAAAAAAAAAAAAAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAFwATABMAFgAWABQAFQAUABUAFAAVABQAFQAUABUAFAAVABcAFwAUABUAFwAXABcAFwAWABYAFgAXABcAFwAAABcAFwAXABcAEwAUABUAFAAVABQAFQAXABcAFwAYABMAGAAYABgAAAAXABkAFwAXAAAAAAAAAAAABQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAEAAAAAAABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAFAAAAAAAFAAUABQAFAAUABQAAAAAABQAFAAUAAAAAAAAAGQAZABgAGgAbABkAGQAAABsAGAAYABgAGAAbABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAbABsAAAAAAAAAFwAXABcAGQAXABcAFwAUABUAFwAYABcAEwAXABcASQCJAMkACQFJAYkByQEJAkkCiQIXABcAGAAYABgAFwAaAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAUABgAFQAYABQAFQAXABQAFQAXABcABQAFAAUABQAFAAUABQAFAAUABQAEAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAC7ALuEt4S4BLiEuQS5hLoEuoS7BLuIt4i4CLiIuQi5iLoIuoi7CLuAAAAAAAABsAGwAbABsAGwAbABsAGwAbABcAFwAXAAAAAAAAAAAAiwXLBQsGSwaLBssGCwdLB4sHywdLCssMSw/LEUsUyxZLGcsbSx4LgAuIC5ALmAugC6jKB8oHygfKB8oHygzKEcoRyhHKEUoeCogKmAqYCpgKmAqYSnhKmIoGyhFLNEs0izjLPBsAGwAbABsAGwAbABsAGwAbABsAGwAbABsASwXLNBsAGwAbAAAAGwAbABsAGwAbABsAGwAbABsAGwAbABsAAAAAAAAAAADKNEo0igWKBsoRCphKmIqYigbKB8oRSh4KmEp4SpiKBsoHyhFKHgqYSniKeIqYygeKBYoFigXKBcoFygXKBYoGGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAGAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgCLBcsFCwZLBosGywYLB0sHiwfLB0sKywxLD8sRSxTLFksZyxtLHguAC4gLkAuYC6ALqAuwC7gAAAAAAAAAAIsFiwbLB8sRAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAMobBQAFAAUABQAFAAUABQAFAAq4AAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABgAGAAYABgAGAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAABcABQAFAAUABQAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAXAIoFygXKB0oKSh4AAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAFAAUAAAAAAAAABQAAAAAABQAFAAUABQAFAAUABQAAAAAABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAFwCLBcsFCwbLB0sKSx5LeIt4BQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFABsAGwCLBcsFCwZLBosGywdLCgAAAAAAAAAAAAAAAAAAiwXLBQsGSwZLBosGywdLCkseAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAAAAAAAAAAAAACLBYsGywdLCkseBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQCLBcsHSwpLHssFCwYAAAAAAAAXAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAFwBLoEuoS7BLuIt4i4CLiIuQi5iLoIuoi7CLuMt4y4DLiMuQy5jLoMuoy7DLuMs2SzXLNIs0y0ZLNMtOizjLPEtFBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAADLXks0BQAFAIsFywULBksGiwbLBgsHSweLB8sHSwrLDEsPyxFLFMsWAAAAAEseC4ALiAuQC5gLoAuoC7ALuEt4S4BLiEuQS5gLA0sDiwPLA8sHSwpLHkt4SzQAAAAAAAAAAAAAAAAAABcAFwAXABcAFwAXABcAFwAXAAAAAAAAAAAAAAAAAAAABQAGAAYABgAAAAYABgAAAAAAAAAAAAAABgAGAAYABgAFAAUABQAFAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAGAAYABgAAAAAAAAAAAAYABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAIsFyxEXAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQCLBcsHSwoFAAUABQAFAAUABgAGAAAAAAAAAAAAiwWLBssHSwpLHhcAFwAXABcAFwAXABcAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFABsABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAXABcAFwAXABcAFwAXAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAIsFywULBksGywdLCkseS3gFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAACLBcsFCwZLBssHSwpLHkt4BQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAXABcAFwAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIsFywULBksGywdLCkseAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAAAAAAAAAACLBYsGywfLEUseS3gFAAUABQAFAAYABgAGAAYAAAAAAAAAAAAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCAAAAAAAAAAAAAAAACwNLA4sDywMLBEsEiwTLBAsFywdLCssMSw/LEUsUyxZLGcsbSx4LgAuIC5ALmAugC6gLsAu4SzTLNIs0izgAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQCLBcsFCwZLBosGywdLCssMSx5LNAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYABgAGAAYABgAGAAYABgAGAAYABgCLBcsHSwpLHhcAFwAXABcAFwAAAAAAAAAAAAAAAABLFMsWSxnLG0seS3hJAIkAyQAJAUkBiQHJAQkCSQKJAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYACAAGAAgABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYABgAGAAYABgAGAAYAFwAXABcAFwAXABcAFwAAAAAAAAAAAAsDSwOLA8sDCwRLBIsEywQLBcsHSwrLDEsPyxEFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAgACAAIAAYABgAGAAYACAAIAAYABgAXABcAEAAXABcAFwAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAABJAIkAyQAJAUkBiQHJAQkCSQKJAgAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABgAGAAYABgAGAAgABgAGAAYABgAGAAYABgAGAAAASQCJAMkACQFJAYkByQEJAkkCiQIXABcAFwAXAAUACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABgAGAAYABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYAFwAXAAUAAAAAAAAAAAAAAAAAAAAAAAAACAAFAAUABQAFABcAFwAXABcABgAGAAYABgAXAAAAAABJAIkAyQAJAUkBiQHJAQkCSQKJAgUAFwAFABcAFwAXAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUACAAIAAgABgAGAAYABgAGAAYABgAGAAYACAAAAIsFywULBksGiwbLBgsHSweLB8sHSwrLDEsPyxFLFMsWSxnLG0seS3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUACAAIAAgABgAGAAYACAAIAAYACAAGAAYAFwAXABcAFwAXABcABgAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFABcAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAIAAgACAAGAAYABgAGAAYABgAGAAYAAAAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCAAAAAAAAAAAAAAAABQAFAAgACAAAAAAABgAGAAYABgAGAAYABgAAAAAAAAAGAAYABgAGAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAIAAgAAAAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAYABgAFAAgACAAGAAgACAAIAAgAAAAAAAgACAAAAAAACAAIAAgAAAAAAAUAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUACAAIAAgABgAGAAYABgAGAAYABgAGAAgACAAGAAYABgAIAAYABQAFAAUABQAXABcAFwAXABcASQCJAMkACQFJAYkByQEJAkkCiQIAABcAAAAXAAYAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAgACAAIAAYABgAGAAYABgAGAAgABgAIAAgACAAIAAYABgAIAAYABgAFAAUAFwAFAAAAAAAAAAAAAAAAAAAAAABJAIkAyQAJAUkBiQHJAQkCSQKJAgAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAgACAAIAAYABgAGAAYAAAAAAAgACAAIAAgABgAGAAgABgAGABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAFAAUABQAFAAYABgAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAIAAgACAAGAAYABgAGAAYABgAGAAYACAAIAAYACAAGAAYAFwAXABcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASQCJAMkACQFJAYkByQEJAkkCiQIAAAAAAAAAAAAAAAAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASQCJAMkACQFJAYkByQEJAkkCiQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAgABgAIAAgABgAGAAYABgAGAAYACAAGAAAAAAAAAAAAAAAAAAAAAAAIAAgABgAGAAYABgAIAAYABgAGAAYABgAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCywdLChcAFwAXABsABQAFAAUABQAFAAUABQAFAAUABQAFAAUACAAIAAgABgAGAAYABgAGAAYABgAGAAYACAAGAAYAFwAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCywdLCssMSw/LEUsUyxZLGcsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYABgAGAAYABgAGAAgABQAGAAYABgAGABcAFwAXABcAFwAXABcAFwAGAAAAAAAAAAAAAAAAAAAAAAAFAAYABgAGAAYABgAGAAgACAAGAAYABgAFAAUABQAFAAUABgAGAAYABgAGAAYABgAGAAYABgAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAXABcAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAABQAFAAUABQAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAgABgAGABcAFwAXAAUAFwAXAAUAFwAXABcAFwAXAAAAAAAAAAAAAAAAAAAAAAAAAAAASQCJAMkACQFJAYkByQEJAkkCiQKLBcsFCwZLBosGywYLB0sHiwfLB0sKywxLD8sRSxTLFksZyxtLHgAAAAAAABcAFwAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUACAAGAAYABgAGAAYABgAGAAAABgAGAAYABgAGAAYACAAGAAYABgAGAAYABgAGAAYABgAAAAgABgAGAAYABgAGAAYABgAIAAYABgAIAAYABgAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAUABgAAAAAAAAAAAAAAAAAAAAAASQCJAMkACQFJAYkByQEJAkkCiQIAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAYABgAGAAYABgAAAAAAAAAGAAAABgAGAAAABgAFAAUABQAFAAUABQAFAAUABQAFAAgACAAIAAgACAAAAAYABgAAAAgACAAGAAgABgAFAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAYABgAIAAgAFwAXAAAAAAAAAAAAAAAAAAAAyjRKNco0yjRKNIo0ijhKD8oRSgaKBsoGCgdKB4oHAAAXABcAFwAXABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMoFCgZKBooGygYKB0oHigcKBkoGigbKBgoHSgeKB0oGigbKBgoHSgeKB4oFygUKBkoGigbKBgoHSgeKB4oFygUKBkoGigbKBQoGCgZKBooGygYKB0oHigeKBcoFCgYKBkoGigaKwIrBigXKBQoGCgZKBooGCgYKBkoGSgZKBkoGygYKBwoHCgdKB0oHigeKB4oHigfKBQoGSgaKBsoGigXKBQoGSgZKBooGigbKBQoGigXKBYo0ijhKRYo0ijjKNQUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkAiQDJAAkBSQGJAckBCQJJAokCAAAAAAAAAAAXABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAYABgAGAAYABgAXAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAGAAYABgAGAAYABgAGABcAFwAXABcAFwAbABsAGwAbAAQABAAEAAQAFwAbAAAAAAAAAAAAAAAAAAAAAAAAAAAASQCJAMkACQFJAYkByQEJAkkCiQIAAMsHSx6LeAt5i3kLeot6AAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAABQAFAAUASwWLBcsFCwZLBosGywYLB0sHiwfLBwsISwiLCMsICwlLCYsJywkLCosFywULBhcAFwAXABcAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUAAAAAABsABgAGABcAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAGwAbABsAGwAbABsAAAAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAgACAAGAAYABgAbABsAGwAIAAgACAAIAAgACAAQABAAEAAQABAAEAAQABAABgAGAAYABgAGAAYABgAGABsAGwAGAAYABgAGAAYABgAGABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABgAGAAYABgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbABsABgAGAAYAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASwWLBcsFCwZLBosGywYLB0sHiwfLBwsISwiLCMsICwlLCYsJywkLCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIsFywULBksGiwbLBgsHSweLB8sHSwrLDEsPyxFLFMsWSxnLG4sFywULBksGiwaLBYsGAAAAAAAAAAAAAAAAAABJAokCSQCJAMkACQFJAYkByQEJAkkCiQJJAIkAyQAJAUkBiQHJAQkCSQKJAkkAiQDJAAkBSQGJAckBCQJJAokCAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAIAAgACAAIAAgACAAIAAAACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAQAAAAEAAQAAAAAAAQAAAAAAAQABAAAAAAABAAEAAQABAAAAAQABAAEAAQABAAEAAQABAAIAAgACAAIAAAACAAAAAgACAAIAAgACAAIAAgAAAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAIAAgACAAIAAQABAAAAAQABAAEAAQAAAAAAAQABAAEAAQABAAEAAQABAAAAAQABAAEAAQABAAEAAQAAAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAAABAAEAAQABAAAAAQABAAEAAQABAAAAAQAAAAAAAAABAAEAAQABAAEAAQABAAAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAgACAAIAAgACAAIAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAGAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgAAgACAAIAAgACAAIAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAYAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgAAgACAAIAAgACAAIAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACAAIAAgAYAAIAAgACAAIAAgACAAEAAgAAAAAASQCJAMkACQFJAYkByQEJAkkCiQJJAIkAyQAJAUkBiQHJAQkCAAAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAbABsAGwAbAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAbABsAGwAbABsAGwAbABsABgAbABsAGwAbABsAGwAbABsAGwAbAAYAGwAbABcAFwAXABcAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGAAYABgAGAAYAAAAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAAAAAAAYABgAGAAYABgAGAAYAAAAGAAYAAAAGAAYABgAGAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAAAAACLBcsFCwZLBosGywYLB0sHiwcGAAYABgAGAAYABgAGAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIABgAGAAYABgAGAAYABgAAAAAAAAAAAAAASQCJAMkACQFJAYkByQEJAkkCiQIAAAAAAAAAABcAFwABAAEAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIsFywULBksGiwbLBgsHSweLB8sHSwrLDEsPyxFLFMt4S3lLgYsFywULBksGiwbLBgsHSweLBxsAyzRLNMs8GQCLBcsFi3jLeAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLFksZyxtLHguAC4gLkAuYC6ALqAuwC7hLeEuAS4hLkEuYS6BLqEuwS7iLeIuAi4iLkIuYi6CLqIuwi7jLeMuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAAAAUAAAAAAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAABQAAAAUAAAAFAAUABQAAAAUABQAAAAUAAAAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAFAAAABQAAAAAABQAFAAUABQAAAAUABQAFAAUABQAFAAUAAAAFAAUABQAFAAAABQAFAAUABQAAAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAFAAUABQAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAAAAAAAAAAAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAAAAAAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAAAAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwDLAssCCwNLA4sDywMLBEsEiwTLBAsFSwVLBQAAAAAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAAAAAAAAAAAAAAAAAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAAAAAAAAAAABsAGwAbABsAGwAbABsAGwAbAAAAAAAAAAAAAAAAAAAAGwAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbABsAGwAbABsAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAaABoAGgAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAAAAAAAABsAGwAbABsAGwAbABsAGwAbABsAAAAAAAAAAAAAAAAAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAAAAAAAAAAAAAAAAAAABsAGwAbABsAGwAbABsAGwAAAAAAAAAAAAAAAAAAAAAAGwAbABsAGwAbABsAGwAbABsAGwAAAAAAAAAAAAAAAAAbABsAGwAbABsAGwAbABsAAAAAAAAAAAAAAAAAAAAAABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAAAAAAGwAbABsAGwAAAAAAAAAbAAAAGwAbABsAGwAbABsAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAGwAbABsAGwAbABsAGwAbABsAAAAAAAAAAAAAAAAABQAFBwUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAEUGBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAEUGBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAhQYFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQDFDAUABQAFAAUABQAFAAUABQBFDwUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAEUPBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQDFBgUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUGBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQYFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQYFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFBgUABQAFAAUABQAFAAUABQAFAAUABQAFAAUARQYFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAIUHBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAAAAAAAAAAAAAAAAAAAAAAAAAAACrACAAuwAAABUiIAQfIuAEICLgAyEioAMiIsADJCLABEMiIAJFIkABTCIgAZgiAASmIkAEqCKABKkiYASrIqAEuCKAA80iAAHyIuAC8yIAA/QiIAP2IkAD9yJgA/oiQAL7ImAC/CKAAv0ioAL+IsAC3CcAApspoACgKcAAoymAALgpYAH1KUAA3iqAAeMqwAHkKqAB5SrgAe4q4AD+K2AAbwN3A38DhwOfA6cDrwO3A48DlwOPA5cDjwOXA48DlwOPA5cDjwOXA70DxQPNA9UD3QPlA+ED6QPxA/kD9AP8A48DlwOPA5cDBAQMBI8DlwOPA5cDjwOXAxIEGgQiBCoEMgQ6BEIESgRQBFgEYARoBHAEeAR+BIYEjgSWBJ4EpgSyBK4EugTCBCQE0gTaBMoE4gTkBOwE9AT8BP0EBQUNBRUF/QQdBSIFFQX9BCoFMgX8BDoFQgX0BEcFjwNPBVMFWwVdBWUFbQX8BHUFfQX0BAYEgQUFBfQEjwOPA4kFjwOPA48FlwWPA48DmwWjBY8DpwWuBY8DtgW+BcUFRgWPA48DzQXVBd0F5QWPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwPtBY8D9QWPA48DjwP9BY8DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DBQaPA48DjwMNBg0GCQUJBY8DEwYbBvUFMQYjBiMGOQZABikGjwOPA48DSAZQBo8DjwOPA1IGWgZiBo8DaQZxBo8DeQaPA48DOQWBBkcFiQYGBJEGjwOYBo8DnQaPA48DjwOPA6MGqwaPA48DjwOPA48DjwPdA7MGjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwO7BsMGxwbfBuUGzwbXBu0G9Qb5BsgFAQcJBxEHjwMZB1oGWgZaBikHMQc5B0EHRgdOB1YHIQdeB2YHjwNsB3MHWgZaBloGWgZzBXkHWgaBB48DjwNXBloGWgZaBloGWgZaBloGWgZaBloGWgZaBloGiQdaBloGWgZaBloGjwdaBloGlwefB48DjwOPA48DjwOPA48DjwNaBloGWgZaBq8Htwe/B6cHzwfXB98H5gftB/UH+QfHB1oGWgZaBgEIBwhaBg0IEAiPA48DjwOPA48DjwOPAxgIjwOPA48DIAiPA48DjwPdAygIMAg1CI8DPQhaBloGXQZaBloGWgZaBloGWgZECEoIWghSCI8DjwNiCP0FjwO2A48DjwOPA48DjwOPA1oGHwjEA48DOQhqCI8Dcgh6CI8DjwOPA48DfgiPA48DUga1A48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwNaBloGjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPAzkIWgZzBY8DjwOPA48DjwOPA48DjwOPA4UIjwOPA4oIXQWPA48DqQVaBlEGjwOPA5IIjwOPA48DmgihCCMGqQiPA48DfwWxCI8DuQjACI8D4gTFCI8D+wSPA80I1Qj9BI8D2Qj8BOEIjwOPA48DjwOPA48DjwPoCI8DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwP8CPAI9AiOBI4EjgSOBI4EjgSOBI4EjgSOBI4EjgSOBI4EBAmOBI4EjgSOBAwJEAkYCSAJJAksCY4EjgSOBDAJOAl/A0AJSAmPA48DjwNQCY8DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwM8DjwOfA68DjwOPA48DjwOPA48DvQONA90D4QPxA/QDzwOPA4QEDwOPA48DkgQiBDIEAgRQBGAEcAR+BE4EngSQAqACsAK/wqgAaABoAGgAaABoAGgAaABoAE3C6ABoAGgAaABoAGgAaABoAGgAXQLoAGgAakL6QspDGkMqQzpDKABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABKQ2gAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgASkNoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEpDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABKQ2gAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgASkNoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEpDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABKQ2gAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgASkNoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEpDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABKQ2gAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgASkNoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEpDWkNeQ2gAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABKQ2gAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgASkNoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEpDY8DjwOPA48DjwOPA48DjwNYCY8DWgZaBmAJ/QWPA/UEjwOPA48DjwOPA48DjwNoCY8DjwOPA28JjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DJAQkBCQEJAQkBCQEJAQkBHcJJAQkBCQEJAQkBCQEJAR/CYMJJAQkBCQEJASTCYsJJASbCSQEJASjCakJJAQkBCQEJAQkBCQEJAQkBCQEJAS5CbEJJAQkBCQEJAQkBCQEJAQkBCQEwQkkBCQEJAQkBCQEyQnQCdYJJAQkBCQEJAT8BN4J5QnsCQYE7wmPA48D4gT2CY8D/AkGBAEKCQqPA48DDgqPA48DjwOPAyAIFgoGBIEFXAUdCo8DjwOPA48DjwPeCSUKjwOPAy0KNQqPA48DjwOPA48DjwM5CkEKjwOPA0kKXAVRCo8DVwqPA48D7QVfCo8DjwOPA48DjwOPA2QKjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA2wKcAp4Co8DfwqPA48DjwOPA48DjwOPA48DjwOPA48DjwOGCo8DjwOUCo4KjwOPA48DnAqkCo8DqAqPA48DjwOPA48DjwOPA48DjwOPA4MFjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA64KjwO0Co8DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DugqPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwMWBcIKjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA8kK0QrXCo8DjwNaBloG3wqPA48DjwOPA48DWgZaBjMIjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48D4QqPA+gKjwPkCo8D6wqPA/MK9wqPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA90D/wrdAwYLDQsVC48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPAx0LJQuPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DJAQkBCQEJAQkBCQELQskBDULNQs8CyQEJAQkBCQEJAQkBCQEJAQkBCQEJAQkBCQEJAQkBCQEJAQkBCQEJAQkBCQEJAQkBPQIjgSOBCQEJAQkBCQEJAQkBCQEJAQkBCQEjgSOBI4EjgSOBI4EjgRECyQEJAQkBCQEJAQkBCQEJARaBkwLWgZaBl0GUQtVC0QIXQuxA48DYwuPA48DjwOPA48DjwOPA2oHjwOPA48DjwNaBloGWgZaBloGWgZaBloGWgZaBloGWgZaBloGWgZaBloGWgZaBloGWgZaBloGWgZaBloGWgZaBloGWgZrC3MLWgZaBloGXQZaBloGewuPA0wLWgaDC1oGiwtGCI8DjwNMC48LWgaXC1oGnwunC1oGjwOPA48DRgiPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA68LjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48DjwOPA48Drwu/C7cLtwu3C8ALwAvAC8AL3QPdA90D3QPdA90D3QPIC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALwAvAC8ALbgNuA24DEgASABIAEgASABIAEgASABIACAAHAAgACQAHABIAEgASABIAEgASABIAEgASABIAEgASABIAEgAHAAcABwAIAAkACgAKAAQABAAEAAoACgAKMQryCgADAAYAAwAGAAYAAgACAAIAAgACAAIAAgACAAIAAgAGAAoAClAKAArQCgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKUQoACtIKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClEKAArSCgASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgASABIAEgASAAcAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASAAYACgAEAAQABAAEAAoACgAKAAoAAAAKkAoAsgAKAAoABAAEAAIAAgAKAAAACgAKAAoAAgAAAAqQCgAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAAAAAAAAAAAAAAAAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAAAAAAAAAAAAAAAoACgAKAAoACgAKAAoACgAKAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAAAAAAAAAAAAKAAoAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAoACgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAoACgAEAAEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAAQCxAAEAsQCxAAEAsQCxAAEAsQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABQAFAAUABQAFAAUACgAKAA0ABAAEAA0ABgANAAoACgCxALEAsQCxALEAsQCxALEAsQCxALEADQCtCA0ADQANAE0ADQCNAI0AjQCNAE0AjQBNAI0ATQBNAE0ATQBNAI0AjQCNAI0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQAtAE0ATQBNAE0ATQBNAE0AjQBNAE0AsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEABQAFAAUABQAFAAUABQAFAAUABQAEAAUABQANAE0ATQCxAI0AjQCNAA0AjQCNAI0ATQBNAE0ATQBNAE0ATQBNAI0AjQCNAI0AjQCNAI0AjQCNAI0AjQCNAI0AjQCNAI0AjQCNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQCNAE0ATQCNAI0AjQCNAI0AjQCNAI0AjQBNAI0ATQCNAE0ATQCNAI0ADQCNALEAsQCxALEAsQCxALEABQAKALEAsQCxALEAsQCxAA0ADQCxALEACgCxALEAsQCxAI0AjQACAAIAAgACAAIAAgACAAIAAgACAE0ATQBNAA0ADQBNAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAK0AjQCxAE0ATQBNAI0AjQCNAI0AjQBNAE0ATQBNAI0ATQBNAE0ATQBNAE0ATQBNAE0AjQBNAI0ATQCNAE0ATQCNALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEADQANAI0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAI0AjQCNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAI0AjQBNAE0ATQBNAI0ATQCNAI0ATQBNAE0AjQCNAE0ATQBNAE0ATQBNAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQCxALEAsQCxALEAsQCxALEAsQCxALEADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AAQABAAEAAQABAAEAAQABAAEAAQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQCxALEAsQCxALEAsQCxALEAsQABAAEACgAKAAoACgAhAAEAAQCxAAEAAQCxALEAsQCxAAEAsQCxALEAAQCxALEAsQCxALEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAsQCxALEAsQABALEAsQCxALEAsQCBAEEAQQBBAEEAQQCBAIEAQQCBAEEAQQBBAEEAQQBBAEEAQQBBAEEAgQBBAAEAAQABALEAsQCxAAEAAQABAAEATQANAE0ATQBNAE0ADQCNAE0AjQCNAA0ADQANAA0ADQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABALEAsQAFALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQBNAE0ATQBNAE0ATQBNAE0ATQBNAI0AjQCNAA0AjQBNAE0AjQCNAE0ATQANAE0ATQBNAI0ATQBNAE0ATQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAAALEAAAAAAAAAAACxALEAsQCxALEAsQCxALEAAAAAAAAAAACxAAAAAAAAALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAAAAAALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAsQAAAAAAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQAAAAAAAAAAALEAsQAAAAAAsQCxALEAAAAAAAAAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAAAAAAAAAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxAAAAsQCxAAAAAAAAAAAAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxAAAAAACxAAAAsQCxALEAsQAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoACgAKAAoACgAKAAQACgAAAAAAAAAAAAAAsQAAAAAAAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxAAAAAAAAAAAAAACxALEAsQAAALEAsQCxALEAAAAAAAAAAAAAAAAAAACxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAoACgAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAoAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAACxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAACxALEAsQAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAsQCxALEAsQCxALEAsQAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAACxALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAsQCxALEAsQCxALEAAACxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAACxAAAAsQAKMQryCjEK8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxAAAAsQCxALEAsQCxAAAAsQCxAAAAAAAAAAAAAACxALEAsQCxALEAsQCxALEAsQCxALEAAACxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxAAAAsQCxALEAsQCxALEAAACxALEAAAAAALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQAAAAAAAAAAALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAAAALEAsQAAAAAAAAAAAAAAAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoACgAKAAoACgAKAAoACgAKAAoAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoxCvIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxAAAAsQCxALEAsQCxALEAsQAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAsQCxALEAsQCxALEAsQCxALEAsQCxAAAAAAAAAAAAAAAAAAAABAAAALEAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAALEAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAKAEoACgAKACoAsQCxALEAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAsQCxAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAsQCxALEAAAAAAAAAAACxALEAAAAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAAAAAAAAAAACxALEAsQAAAAAAAAAAAAoAAAAAAAAACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxAAAAsQCxALEAsQCxALEAsQAAALEAAACxAAAAAACxALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAsQCxALEAsQAAAAAAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAACxALEAsQCxALEAAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxALEAsQCxALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQAAAAAAsQCxAAAAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAACxALEAAAAAAAAAsQAAALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxALEAsQCxALEAAAAAALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxAAAAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQAAALEAsQCxALEAsQCxALEAAAAAAAAAAACxAAAAAAAAAAAAAAAAALEAAAAAAAAAsQCxAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQAAALEAsQCxALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAAACgAKAAoACgAGAAoxCvIKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAJALIAsgCyALIAsgASABQIFQgTCBYIsgCyALIAsgCyALIAAgAAAAAAAAACAAIAAgACAAIAAgADAAMACgAKMQryAAAJAAkACQAJAAkACQAJAAkACQAJAAkAsgASBDIEoAihCAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACQAHAKsIrgiwCKwIrwgGAAQABAAEAAQABAAKAAoACgAKAAowCvAKAAoACgAKAAoAAgACAAIAAgACAAIAAgACAAIAAgADAAMACgAKMQryAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABACxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxAAoACgAAAAoACgAKAAoAAAAKAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACgAKAAoAAAAAAAAAAAAAAAoACgAKAAoACgAKAAAACgAAAAoAAAAKAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAAAAAAAAAAAChAKAAoACgAKAAAAAAAAAAAAAAAKAAoACgAKAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAoACgAKAAAAAAAAAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKMArwCjAK8AowCvAKMArwCjAK8AowCvAKMArwCgAKAAowCvAKkAqQCpAKEAqQCpAKEAoQCpAKkAqQCpAKkAoQCgAKEAoQChAKEAoACgAKAApwCnAKcAqwCrAKsAoACgAKAAoQAwAEAAoACpAKEAoACgAKAAoQChAKEAoQCgAKkAqQCpAKkAoACpAKAAoQCgAKAAoACgAKEAoQChAKEAoQChAKEAoQChAKAAoACgAKAAoAChAKAAoQCjAK8AoQChAKEAoQChAKkAoQCpAKEAoQChAKEAoQChAKkAoACgAKAAoACgAKMArwCjAK8AoACgAKAAoACgAKAAoACgAKAAoQChAKAAoQCgAKMArwCjAK8AowCvAKMArwCgAKAAowCvAKMArwCjAK8AowCvAKMArwCjAK8AowCvAKMArwCjAK8AoQCgAKAAowCvAKMArwCgAKAAoACgAKAAqQCgAKAAoACgAKAAoACgAKAAoACjAK8AoACgAKkAoQCpAKkAoQCpAKEAoQChAKEAowCvAKMArwCjAK8AowCvAKkAoACgAKAAoACgAKEAoQCgAKAAoACgAKAAoACgAKAAoACjAK8AowCvAKkAoACgAKMArwCgAKAAoACgAKMArwCjAK8AowCvAKMArwCjAK8AoACgAKAAoACgAKAAoACgAKMQryCjEK8goACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKEAoQCgAKAAoACgAKAAoACgAKMQryCgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAAAAAAAAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoxCvIKMQryCjEK8goxCvIKMQryCjEK8goxCvIKAAoACgAKAAoACgAKAAoACgAKAAoQCgAKAAowCvAKMQryCgAKMArwCgAKUAoQCtAKAAoACgAKAAoAChAKEAowCvAKAAoACgAKAAoACpAKMArwCgAKAAoACjAK8AowCvAKMQryCjEK8goxCvIKMQryCjEK8goACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKEAoAChAKEAoQCgAKAAowCvAKAAoACgAKAAoACgAKAAoACgAKAAoQCpAKEAoQCjAK8AoACgAKMQryCgAKAAoACgAKAAoxCvIKMQryCjEK8goxCvIKMQryCnEKMgrxCrIKMQryCjEK8goxCvIKMQryCgAKAAqQChAKEAoQChAKkAoAChAKkAowCvAKEAoQCjAK8AowCvAKMArwCjAK8AoACgAKAAoACgAKAAoACgAKkAoACgAKAAoACgAKAAoACjAK8AoQChAKMArwCgAKAAoAChAKAAoACgAKAAoQCjAK8AowCvAKAAowCvAKAAoACjEK8goxCvIKEAoACgAKAAoACgAKEAqQCpAKkAoQCgAKAAoACgAKAAowCvAKkAoACgAKAAoAChAKAAoACgAKMArwCjAK8AoQCgAKEAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoQChAKEAoQChAKEAoQChAKEAoQChAKEAoQChAKEAoQChAKEAoQCgAKEAoQChAKEAoACgAKEAoAChAKAAoAChAKAAowCvAKMArwCgAKAAoACgAKAAowCvAKAAoACgAKAAoACgAKMArwChAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKEAoQCgAKAAoACgAKAAoACgAKMArwCgAKAAoACgAKEAoQChAKEAoAChAKEAoACgAKEAoQCgAKAAoACgAKMArwCjAK8AowCvAKMArwCjAK8AowCvAKMArwCjAK8AowCvAKMArwCjAK8AowCvAKMArwCjAK8AowCvAKMArwCjAK8AowCvAKMArwChAKAAoACjAK8AowCvAKMArwCjAK8AoACjAK8AowCvAKMArwCjAK8AowCvAKMArwCjAK8AowCvAKMArwCjAK8AowCvAKMArwCgAKAAoACgAKAAoQCgAKkAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAACgAKAAoACgAKAAoACgAKAAoAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACpAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAAAAAAAAAAALEAsQCxAAAAAAAAAAAAAAAAAAAACgAKAAoACgAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEACgAKAAowCvAKMArwCgAKAAoACjAK8AoACjAK8AoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKMArwCgAKAAowCvAKMQryCjEK8goxCvIKMQryCgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxAAAAAAAKAAAAAAAAAAAAAAAKAAoAAAAAAAAAAAAAAAoACgAKAAkACgAKAAoACgAAAAAAAAAKMQryCjEK8goxCvIKMQryCjEK8goACgAKMQryCjEK8goxCvIKMQryCgAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQAKAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEACgCxALEAsQCxALEAsQCxALEAsQCxAAoACgAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAsQAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxAAAACgAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAYAAAAAoACgAKAAoAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAAAAAAAAAAACxALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAsQCxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAAAALEAsQCxALEAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAAAAAALEAsQAAAAAAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxAAAAsQCxALEAAAAAALEAsQAAAAAAAAAAAAAAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQAAAAAAAAAAAAAAAAAAAAAAsQAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAAAALEAAAAAAAAAAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABALEAAQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQAKAAoADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ACgANAA0AsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAGAAoABgAAAAoABgAKAAoACgAKMQryCjEK8goxCvIEAAoACgADAAMACjAK8AoAAAAKAAQABAAKAAAAAAAAAAAADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQCyAAAACgAKAAQABAAEAAoACgAKMQryCgADAAYAAwAGAAYAAgACAAIAAgACAAIAAgACAAIAAgAGAAoAClAKAArQCgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKUQoACtIKAAoxCvIKAAoxCvIKAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAKAAoACgAEAAQAAAAKAAoACgAKAAoACgAKAAAAEgASABIAEgASABIAEgASABIAqgCqAKoACgAKABIAEgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAALEAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxALEAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACgABALEAsQCxAAEAsQCxAAEAAQABAAEAAQCxALEAsQCxAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABALEAsQCxAAEAAQABAAEAsQBBAIEAAQABAIEAsQCxAAEAAQABAAEAQQBBAEEAQQCBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAQQBBAEEAQQBBAIEAAQCBAAEAgQCBAAEAAQBhAIEAgQCBAIEAgQBBAEEAQQBBAGEAQQBBAEEAQQBBAIEAQQBBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACgAKAAoACgAKAAoACgBBAIEAQQCBAIEAgQBBAEEAQQCBAEEAQQCBAEEAgQCBAEEAgQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQCBAIEAgQCBAEEAQQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEATQBNAI0ATQCxALEAsQCxAA0ADQANAA0ADQANAA0ADQAFAAUABQAFAAUABQAFAAUABQAFAA0ADQANAA0ADQANAG0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQBNAE0ATQCNAE0ATQBNAE0ATQBNAE0ATQBNAE0ATQBNAE0ADQCxALEAsQCxALEAsQCxALEAsQCxALEATQBNAE0AjQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAsQCxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQAAAAAAsQCxAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxALEAAACxALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAAAAAALEAAACxALEAAAAAAAAAAAAAAAAAsQAAAAAAAAAAALEAsQCxALEAsQCxALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAsQAAAAAAAACxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxAAAAsQAAAAAAAAAAALEAsQAAALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxAAAAAAAAAAAAAAAAALEAsQAAALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAsQCxAAAAAACxAAAAsQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAAALEAAAAAALEAsQCxALEAsQCxAAAAsQAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAAACxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxALEAsQCxAAAAsQCxAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxAKAAoACxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAAAAAALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAAAAAALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQAAALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxALEAsQCxAAAAsQCxALEAsQCxALEAAACgALEAsQCxALEAsQCxALEAsQAAAAAAsQCxALEAsQCxALEAsQAAALEAsQAAALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxALEAAAAAAAAAsQAAALEAsQAAALEAsQCxALEAsQCxALEAAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQAAAAAAAACxAAAAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsgCyALIAsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAALIAsgCyALIAsgCyALIAsgCxALEAsQCxALEAsQCxALEAAAAAALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoACgCxALEAsQAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKEAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAAAAAAAAAAACxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAALEAAAAAAAAAAAAAAAAAAAAAAAAAAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQCxALEAsQCxAAAAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxALEAsQCxALEAsQCxAAAAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxAAAAAACxALEAsQCxALEAsQCxAAAAsQCxAAAAsQCxALEAsQCxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAsQCxALEAsQCxALEAsQABAAEAAQABAAEAAQABAAEAAQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAsQCxALEAsQCxALEAsQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAAoACgANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ACgAKAAoACgAKAAoACgAKAAoACgAKAAoAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAIAAgACAAIAAgACAAIAAgACAAIAAgAKAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoAAAAAAAAAAAAAAAAAAAAAAAoACgAKAAoACgAKAAoACgAKAAoAAAAAAAAAAAAAAAAACgAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAAAAAAKAAoACgAKAAAAAAAAAAoAAAAKAAoACgAKAAoACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAAAAAAKAAoACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgASALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgCyALIAsgASALIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxALEAsQCxABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAAAAAAAAAAAAAAAAAAAAAAMARAQBREgEAsBABAAAAAADAEQEA/hEBAMAQAQAAAAAAmBEBAB8SAQDAEQEALBIBAKAQAQAAAAAAwBEBAJcSAQCwEAEAAAAAAMARAQBzEgEA2BABAAAAAAABAAAAAgAAAJACAADAAwAA4BEBAOARAQCwAQAAwAMAAOARAQDgEQEAYAMAAJADAADgEQEA4BEBAAADAAAwAwAA4BEBAOARAQDAAgAAUAIAAOkRAQDwEQEAkAIAAOABAADgEQEA5REBACACAABQAgAA6REBAPARAQCwAQAA4AEAAOARAQDlEQEAABAAAACAAAAACAAAAEAAAAAAAACgEAEAAQAAAAIAAAADAAAABAAAAAEAAAABAAAAAQAAAAEAAAAAAAAAyBABAAEAAAAFAAAAAwAAAAQAAAABAAAAAgAAAAIAAAACAAAAAAECAwQAAQ0OAAECBQYHCAABCQoLDAACBAYICgwOTjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9F" -;var tempDoublePtr=71104;var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___gxx_personality_v0(){}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){try{var newBuffer=new ArrayBuffer(size);if(newBuffer.byteLength!=size)return false;new Int8Array(newBuffer).set(HEAP8)}catch(e){return false}buffer=newBuffer;Module["_emscripten_replace_memory"](newBuffer);return true}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=16777216;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=value;return value}var ASSERTIONS=false;function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]=0;f=Ya(a,d,0,0,h)|0;i=f+1|0;c[h>>2]=0;e=Ab(i<<1)|0;Ya(a,d,e,i,h)|0;if((c[h>>2]|0)>0){Bb(e);e=0}else b[e+(f<<1)>>1]=0;E=g;return e|0}function T(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=E;E=E+16|0;e=f;d=c[17592]|0;if(!d){d=Z()|0;c[17592]=d}c[e>>2]=0;ea(d,a,b,-2,e);if((c[e>>2]|0)>0)d=0;else d=Ea(c[17592]|0)|0;E=f;return d|0}function U(a){a=a|0;var b=0,d=0,e=0;e=E;E=E+16|0;d=e+4|0;b=e;c[d>>2]=0;c[b>>2]=0;Fa(c[17592]|0,a,b,d);E=e;return((c[d>>2]|0)>0?0:c[b>>2]|0)|0}function V(a,b,d){a=a|0;b=b|0;d=d|0;return(Va(c[17593]|0,a,b,d)|0)==1|0}function W(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=E;E=E+16|0;e=f;c[e>>2]=0;d=c[17593]|0;if(!d){d=Z()|0;c[17593]=d}Ma(c[17592]|0,a,b,d,e);if((c[e>>2]|0)>0)d=0;else{c[e>>2]=0;d=Qa(d,e)|0;d=(c[e>>2]|0)>0?0:d}E=f;return d|0}function X(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=E;E=E+16|0;h=g;c[h>>2]=0;f=Ab((e<<1)+2|0)|0;a=Ha(a+(d<<1)|0,e,f,e,h)|0;if((c[h>>2]|0)>0)f=0;else b[f+(a<<1)>>1]=0;E=g;return f|0}function Y(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=E;E=E+16|0;h=i;c[h>>2]=0;f=c[17593]|0;if(!f){f=Z()|0;c[17593]=f}Ma(c[17592]|0,a,d,f,h);if((c[h>>2]|0)<=0?(g=Da(f)|0,d=g+1|0,e=Ab(d<<1)|0,Ka(c[17593]|0,e,d,10,h)|0,(c[h>>2]|0)<=0):0)b[e+(g<<1)>>1]=0;else e=0;E=i;return e|0}function Z(){var a=0,b=0;b=E;E=E+16|0;a=b;c[a>>2]=0;a=_(a)|0;E=b;return a|0}function _(b){b=b|0;var d=0;if(!b){d=0;return d|0}if(($(c[b>>2]|0)|0)<<24>>24){d=0;return d|0}d=lb(360)|0;if(!d){c[b>>2]=7;d=0;return d|0}fc(d|0,0,360)|0;a[d+68>>0]=1;a[d+69>>0]=1;if((ba(c[b>>2]|0)|0)<<24>>24)return d|0;ca(d);d=0;return d|0}function $(a){a=a|0;return(a|0)>0|0}function aa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a>>2]|0;if(!g)if(d<<24>>24!=0?(g=lb(e)|0,c[a>>2]=g,(g|0)!=0):0){c[b>>2]=e;a=1}else a=0;else if((c[b>>2]|0)<(e|0))if(d<<24>>24!=0?(f=mb(g,e)|0,(f|0)!=0):0){c[a>>2]=f;c[b>>2]=e;a=1}else a=0;else a=1;return a|0}function ba(a){a=a|0;return(a|0)<1|0}function ca(a){a=a|0;var b=0;if(!a)return;c[a>>2]=0;b=c[a+44>>2]|0;if(b|0)nb(b);b=c[a+48>>2]|0;if(b|0)nb(b);b=c[a+52>>2]|0;if(b|0)nb(b);b=c[a+56>>2]|0;if(b|0)nb(b);b=c[a+60>>2]|0;if(b|0)nb(b);b=c[a+64>>2]|0;if(b|0)nb(b);b=c[a+344>>2]|0;if(b|0)nb(b);nb(a);return}function da(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0)){f=5;break}if((c[b+(e<<3)>>2]|0)>(d|0))break;e=e+1|0}if((f|0)==5)e=a+-1|0;return c[b+(e<<3)+4>>2]&255|0}function ea(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!h)return;if(($(c[h>>2]|0)|0)<<24>>24)return;if((b|0)==0|(e|0)==0|(f|0)<-1|g+-126<<24>>24<<24>>24>-1){c[h>>2]=1;return}if((f|0)==-1)f=ob(e)|0;u=b+84|0;if((c[u>>2]|0)==3){fa(b,e,f,g,h);return}c[b>>2]=0;c[b+4>>2]=e;z=b+16|0;c[z>>2]=f;c[b+8>>2]=f;l=b+12|0;c[l>>2]=f;s=b+93|0;a[s>>0]=g;i=g&1;j=i&255;m=b+116|0;c[m>>2]=j;x=b+132|0;c[x>>2]=1;k=b+72|0;c[k>>2]=0;n=b+76|0;c[n>>2]=0;c[b+224>>2]=0;y=b+332|0;c[y>>2]=0;c[b+336>>2]=0;e=(g&255)>253;t=b+94|0;a[t>>0]=e&1;if(!f){if(e){a[s>>0]=i;a[t>>0]=0}c[b+120>>2]=c[69880+(j<<2)>>2];c[b+220>>2]=0;c[x>>2]=0;ga(b);return}c[b+220>>2]=-1;e=c[b+56>>2]|0;w=b+136|0;c[w>>2]=(e|0)==0?b+140|0:e;e=b+44|0;i=b+68|0;if(!((aa(e,b+20|0,a[i>>0]|0,f)|0)<<24>>24)){c[h>>2]=7;return}c[k>>2]=c[e>>2];if(!((ha(b)|0)<<24>>24)){c[h>>2]=7;return}v=c[k>>2]|0;q=c[l>>2]|0;k=b+128|0;c[k>>2]=q;f=b+48|0;if(!((aa(f,b+24|0,a[i>>0]|0,q)|0)<<24>>24)){c[h>>2]=7;return}c[n>>2]=c[f>>2];j=ia(b,h)|0;if(($(c[h>>2]|0)|0)<<24>>24)return;g=b+240|0;f=c[g>>2]|0;do{if((f|0)<6)c[b+244>>2]=b+248;else{f=f<<4;e=b+40|0;i=b+64|0;if((f|0)<=(c[e>>2]|0)){c[b+244>>2]=c[i>>2];break}if((aa(i,e,1,f)|0)<<24>>24){c[b+244>>2]=c[i>>2];break}c[h>>2]=7;return}}while(0);c[g>>2]=-1;c[m>>2]=j;a:do{switch(j|0){case 0:{c[k>>2]=0;break}case 1:{c[k>>2]=0;break}default:{b:do{switch(c[u>>2]|0){case 0:{c[b+112>>2]=69888;break}case 1:{c[b+112>>2]=69904;break}case 2:{c[b+112>>2]=69920;break}case 4:{c[b+112>>2]=69936;break}case 5:{f=b+112|0;if(!(c[b+88>>2]&1)){c[f>>2]=69968;break b}else{c[f>>2]=69952;break b}}case 6:{f=b+112|0;if(!(c[b+88>>2]&1)){c[f>>2]=7e4;break b}else{c[f>>2]=69984;break b}}default:{}}}while(0);j=c[x>>2]|0;if((j|0)<2?(c[b+120>>2]|0)>=0:0){do{if(a[t>>0]|0){e=c[w>>2]|0;i=c[e>>2]|0;if((i|0)>0)f=a[s>>0]|0;else f=da(j,e,0)|0;f=f&1;if((q|0)>(i|0)){e=da(j,e,q+-1|0)|0;break}else{e=a[s>>0]|0;break}}else{f=a[s>>0]|0;e=f;f=f&1}}while(0);ja(b,0,q,f,e&1)}else{o=c[n>>2]|0;if((a[t>>0]|0)!=0?(p=c[w>>2]|0,(c[p>>2]|0)<=0):0)f=da(j,p,0)|0;else f=a[s>>0]|0;p=a[o>>0]|0;n=q+-1|0;l=p;m=0;f=((f&255)<(p&255)?p:f)&1;while(1){if((m|0)>0?(a[v+(m+-1)>>0]|0)==7:0){do{if(!(a[t>>0]|0))r=61;else{f=c[w>>2]|0;if((m|0)<(c[f>>2]|0)){r=61;break}f=da(c[x>>2]|0,f,m)|0}}while(0);if((r|0)==61){r=0;f=a[s>>0]|0}f=f&1}g=m;while(1){k=g+1|0;if((k|0)>=(q|0)){r=69;break}e=a[o+k>>0]|0;if(e<<24>>24!=l<<24>>24?(1<>0]&382976|0)==0:0){j=1;break}g=k}c:do{if((r|0)==69){r=0;do{if(a[t>>0]|0){e=c[w>>2]|0;if((q|0)<=(c[e>>2]|0))break;e=da(c[x>>2]|0,e,n)|0;j=0;break c}}while(0);e=a[s>>0]|0;j=0}}while(0);p=l&255;i=e&255;i=((p&127)>>>0<(i&127)>>>0?i:p)&1;if(!(p&128))ja(b,m,k,f,i);else{f=m;while(1){p=o+f|0;a[p>>0]=a[p>>0]&127;if((f|0)<(g|0))f=f+1|0;else break}}if(j){l=e;m=k;f=i}else break}}f=c[b+340>>2]|0;if(!(($(f)|0)<<24>>24)){ka(b);break a}c[h>>2]=f;return}}}while(0);k=b+88|0;d:do{if((a[t>>0]|0?c[k>>2]&1|0:0)?((c[u>>2]|0)+-5|0)>>>0<2:0){g=0;while(1){if((g|0)>=(c[x>>2]|0))break d;e=c[w>>2]|0;f=(c[e+(g<<3)>>2]|0)+-1|0;e:do{if(c[e+(g<<3)+4>>2]&255|0){if(!g)i=0;else i=c[e+(g+-1<<3)>>2]|0;e=f;while(1){if((e|0)<(i|0))break e;j=a[v+e>>0]|0;if(!(j<<24>>24))break;if(1<<(j&255)&8194|0)break e;e=e+-1|0}if((e|0)<(f|0))while(1)if((a[v+f>>0]|0)==7)f=f+-1|0;else break;la(b,f,4)}}while(0);g=g+1|0}}}while(0);if(!(c[k>>2]&2))f=(c[z>>2]|0)+(c[y>>2]|0)|0;else f=(c[z>>2]|0)-(c[b+348>>2]|0)|0;c[z>>2]=f;ga(b);return}function fa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=b+84|0;c[C>>2]=0;if(!f){ea(b,e,0,g,h);D=0;nb(D);c[C>>2]=3;return}D=lb(f*7|0)|0;if(!D){c[h>>2]=7;D=0;nb(D);c[C>>2]=3;return}j=D+(f<<2)|0;B=j+(f<<1)|0;k=b+88|0;l=c[k>>2]|0;if(l&1|0)c[k>>2]=l&-4|2;g=g&1;ea(b,e,f,g,h);if(($(c[h>>2]|0)|0)<<24>>24){nb(D);c[C>>2]=3;return}x=Pa(b,h)|0;v=b+12|0;w=c[v>>2]|0;ec(B|0,x|0,w|0)|0;x=b+128|0;y=c[x>>2]|0;z=b+116|0;A=c[z>>2]|0;i=Ka(b,j,f,2,h)|0;Wa(b,D,h);if(!(($(c[h>>2]|0)|0)<<24>>24)){c[k>>2]=l;c[C>>2]=5;u=b+68|0;t=a[u>>0]|0;a[u>>0]=0;ea(b,j,i,g^1,h);a[u>>0]=t;Ra(b,h);a:do{if(!(($(c[h>>2]|0)|0)<<24>>24)){n=b+220|0;q=c[n>>2]|0;o=b+224|0;p=c[o>>2]|0;j=0;g=0;h=0;while(1){if((h|0)>=(q|0))break;m=c[p+(h*12|0)+4>>2]|0;g=m-g|0;b:do{if((g|0)<2)g=j;else{i=c[p+(h*12|0)>>2]&2147483647;l=i+g|0;g=j;while(1){do{j=i;i=i+1|0;if((i|0)>=(l|0))break b;k=c[D+(i<<2)>>2]|0;j=c[D+(j<<2)>>2]|0;u=k-j|0;if((((u|0)>-1?u:0-u|0)|0)!=1)break}while((a[B+k>>0]|0)==(a[B+j>>0]|0));g=g+1|0}}}while(0);j=g;g=m;h=h+1|0}if(!j)t=p;else{g=b+60|0;if(!((aa(g,b+36|0,a[b+69>>0]|0,(j+q|0)*12|0)|0)<<24>>24))break;if((q|0)==1){u=c[g>>2]|0;c[u>>2]=c[p>>2];c[u+4>>2]=c[p+4>>2];c[u+8>>2]=c[p+8>>2]}t=c[g>>2]|0;c[o>>2]=t;c[n>>2]=(c[n>>2]|0)+j}u=t+4|0;g=q;i=j;while(1){s=g+-1|0;if((g|0)<=0)break a;if(!s)g=c[u>>2]|0;else g=(c[t+(s*12|0)+4>>2]|0)-(c[t+((g+-2|0)*12|0)+4>>2]|0)|0;q=t+(s*12|0)|0;j=c[q>>2]|0;r=j>>>31;j=j&2147483647;if((g|0)<2){if(!i)g=s;else{g=s+i|0;p=t+(g*12|0)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2]}j=c[D+(j<<2)>>2]|0}else{l=(r|0)==0;h=g+-1+j|0;p=l?j:h;m=l?-1:1;n=t+(s*12|0)+4|0;o=t+(s*12|0)+8|0;h=l?h:j;c:while(1){g=h;while(1){if((g|0)==(p|0))break c;j=c[D+(g<<2)>>2]|0;k=g+m|0;l=c[D+(k<<2)>>2]|0;E=j-l|0;if((((E|0)>-1?E:0-E|0)|0)!=1)break;if((a[B+j>>0]|0)==(a[B+l>>0]|0))g=k;else break}E=c[D+(h<<2)>>2]|0;E=(E|0)<(j|0)?E:j;l=i+s|0;c[t+(l*12|0)>>2]=(r^d[B+E>>0])<<31|E;c[t+(l*12|0)+4>>2]=c[n>>2];E=g-h|0;c[n>>2]=(c[n>>2]|0)+~((E|0)>-1?E:0-E|0);E=c[o>>2]&10;c[t+(l*12|0)+8>>2]=E;c[o>>2]=c[o>>2]&~E;h=k;i=i+-1|0}if(!i)g=s;else{g=i+s|0;E=t+(g*12|0)|0;c[E>>2]=c[q>>2];c[E+4>>2]=c[q+4>>2];c[E+8>>2]=c[q+8>>2]}E=c[D+(h<<2)>>2]|0;j=c[D+(p<<2)>>2]|0;j=(E|0)<(j|0)?E:j}c[t+(g*12|0)>>2]=(r^d[B+j>>0])<<31|j;g=s}}}while(0);E=b+93|0;a[E>>0]=a[E>>0]^1}c[b+4>>2]=e;c[v>>2]=w;c[b+8>>2]=f;c[z>>2]=A;E=c[b+24>>2]|0;ec(c[b+76>>2]|0,B|0,((w|0)>(E|0)?E:w)|0)|0;c[x>>2]=y;if((c[b+220>>2]|0)<=1){E=D;nb(E);c[C>>2]=3;return}c[z>>2]=2;E=D;nb(E);c[C>>2]=3;return}function ga(a){a=a|0;c[a+100>>2]=0;c[a+108>>2]=0;c[a>>2]=a;return}function ha(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=E;E=E+1024|0;x=N+512|0;G=N;B=c[f+4>>2]|0;D=c[f+44>>2]|0;J=c[f+8>>2]|0;K=f+93|0;g=a[K>>0]|0;H=(g&255)>253;if(H)C=((c[f+84>>2]|0)+-5|0)>>>0<2;else C=0;I=f+88|0;M=c[I>>2]|0;j=M&2;if(M&4|0)c[f+12>>2]=0;g=g&255;v=g&1;w=v&255;M=f+136|0;h=(c[M>>2]|0)+4|0;if(H){c[h>>2]=v;if((c[f+100>>2]|0)>0?(i=Ba(f)|0,i<<24>>24!=10):0){c[(c[M>>2]|0)+4>>2]=i<<24>>24!=0&1;i=w;k=0}else{i=w;k=1}}else{c[h>>2]=g;i=10;k=0}u=(j|0)==0;y=f+132|0;z=f+12|0;A=f+348|0;h=-1;j=0;l=0;F=-1;g=0;a:while(1){b:while(1){t=C&i<<24>>24==1;i=l;c:while(1){d:while(1){s=(h|0)<126;r=(k|0)==2&s;q=(h|0)>-1;e:while(1){p=i;f:while(1){if((j|0)>=(J|0))break a;i=j+1|0;l=e[B+(j<<1)>>1]|0;if(!((i|0)==(J|0)|(l&64512|0)!=55296)){m=e[B+(i<<1)>>1]|0;o=(m&64512|0)==56320;j=o?j+2|0:i;if(o)l=(l<<10)+-56613888+m|0}else j=i;o=pa(f,l)|0;i=o&255;o=o&255;g=1<>0]=i;if((l|0)>65535){a[D+(j+-2)>>0]=18;g=g|262144}if(!u)p=p+(((l+-8294|0)>>>0<4|((l&-4|0)==8204|(l+-8234|0)>>>0<5))&1)|0;switch(i<<24>>24){case 13:case 1:break b;case 0:{L=25;break c}default:{}}if((o+-19|0)>>>0<3){L=35;break e}switch(i<<24>>24){case 22:break f;case 7:{i=(j|0)<(J|0);if(!((l|0)==13&i))break d;if((b[B+(j<<1)>>1]|0)!=10){i=1;break d}break}default:{}}}g=r?g|1048576:g;if(q){L=43;break}else i=p}if((L|0)==35){L=0;i=h+1|0;if((h|0)<125){c[x+(i<<2)>>2]=n;c[G+(i<<2)>>2]=k}if((o|0)==19){a[m>>0]=20;h=i;k=2}else{h=i;k=3}}else if((L|0)==43){L=0;if(s)k=c[G+(h<<2)>>2]|0;h=h+-1|0}i=p}c[(c[M>>2]|0)+((c[y>>2]|0)+-1<<3)>>2]=j;if(t)c[(c[M>>2]|0)+((c[y>>2]|0)+-1<<3)+4>>2]=1;if(c[I>>2]&4|0){c[z>>2]=j;c[A>>2]=p}if(i){c[y>>2]=(c[y>>2]|0)+1;if(!((Ca(f)|0)<<24>>24)){g=0;L=76;break a}if(H){L=56;break}c[(c[M>>2]|0)+((c[y>>2]|0)+-1<<3)+4>>2]=d[K>>0];h=-1;k=0}i=p}g:do{if((L|0)==25){L=0;switch(k|0){case 1:{c[(c[M>>2]|0)+((c[y>>2]|0)+-1<<3)+4>>2]=0;i=0;k=0;break g}case 2:{g=s?g|1048576:g;i=0;k=3;break g}default:{i=0;break g}}}else if((L|0)==56){L=0;c[(c[M>>2]|0)+((c[y>>2]|0)+-1<<3)+4>>2]=v;h=-1;i=w;k=1}}while(0);l=p}switch(k|0){case 1:{c[(c[M>>2]|0)+((c[y>>2]|0)+-1<<3)+4>>2]=1;k=0;break}case 2:{if(s){a[D+(c[x+(h<<2)>>2]|0)>>0]=21;k=3;g=g|2097152}else k=3;break}default:{}}l=p;F=(o|0)==13?n:F;i=1}if((L|0)==76){E=N;return g|0}D=(h|0)>125;i=D?2:k;h=D?125:h;while(1){if((h|0)<=-1)break;if((i|0)==2){L=62;break}i=c[G+(h<<2)>>2]|0;h=h+-1|0}if((L|0)==62)g=g|1048576;if(c[I>>2]&4){if((c[z>>2]|0)<(J|0))c[y>>2]=(c[y>>2]|0)+-1}else{c[(c[M>>2]|0)+((c[y>>2]|0)+-1<<3)>>2]=J;c[A>>2]=p}if(t)c[(c[M>>2]|0)+((c[y>>2]|0)+-1<<3)+4>>2]=1;if(H)a[K>>0]=c[(c[M>>2]|0)+4>>2];i=c[y>>2]|0;h=0;while(1){if((h|0)>=(i|0))break;L=c[69880+((c[(c[M>>2]|0)+(h<<3)+4>>2]&1)<<2)>>2]|g;h=h+1|0;g=L}c[f+120>>2]=g|(g&128|0)!=0&(a[f+92>>0]|0)!=0&1;c[f+124>>2]=F;f=1;E=N;return f|0}function ia(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=E;E=E+5328|0;o=L+2788|0;B=L;C=L+256|0;I=c[f+72>>2]|0;K=c[f+76>>2]|0;G=c[f+4>>2]|0;H=c[f+12>>2]|0;D=f+120|0;i=c[D>>2]|0;y=f+94|0;if((a[y>>0]|0)!=0?(h=c[f+136>>2]|0,(c[h>>2]|0)<=0):0)j=da(c[f+132>>2]|0,h,0)|0;else j=a[f+93>>0]|0;x=f+240|0;c[x>>2]=0;if(($(c[g>>2]|0)|0)<<24>>24){K=0;E=L;return K|0}h=ra(i)|0;if((h|0)!=2){K=h;E=L;return K|0}if((c[f+84>>2]|0)>1){m=f+132|0;k=f+136|0;j=0;while(1){if((j|0)>=(c[m>>2]|0)){F=2;break}if(!j){h=0;i=c[k>>2]|0}else{i=c[k>>2]|0;h=c[i+(j+-1<<3)>>2]|0}l=c[i+(j<<3)>>2]|0;i=c[i+(j<<3)+4>>2]&255;while(1){if((h|0)>=(l|0))break;a[K+h>>0]=i;h=h+1|0}j=j+1|0}E=L;return F|0}if(!(i&7985152)){sa(f,o);n=f+132|0;l=f+136|0;k=0;a:while(1){if((k|0)>=(c[n>>2]|0)){F=2;J=89;break}if(!k){i=0;h=c[l>>2]|0}else{h=c[l>>2]|0;i=c[h+(k+-1<<3)>>2]|0}m=c[h+(k<<3)>>2]|0;j=c[h+(k<<3)+4>>2]&255;while(1){if((i|0)>=(m|0))break;a[K+i>>0]=j;b:do{switch(a[I+i>>0]|0){case 18:break;case 7:{h=i+1|0;if((h|0)<(H|0)){if((b[G+(i<<1)>>1]|0)==13?(b[G+(h<<1)>>1]|0)==10:0)break b;ta(o,j)}break}default:if(!((ua(o,i)|0)<<24>>24))break a}}while(0);i=i+1|0}k=k+1|0}if((J|0)==89){E=L;return F|0}c[g>>2]=7;K=0;E=L;return K|0}sa(f,C);b[B>>1]=j&255;v=f+93|0;w=f+136|0;u=f+132|0;r=0;p=0;s=0;i=0;m=0;g=j;q=j;h=0;t=0;c:while(1){if((t|0)>=(H|0))break;o=I+t|0;l=a[o>>0]|0;n=l&255;d:do{switch(l<<24>>24){case 15:case 12:case 14:case 11:{h=h|262144;a[K+t>>0]=g;if((l+-11&255)<2)j=q+2&126;else j=(q&127)+1<<24>>24|1;if(!((p|s|0)==0&(j&255)<126)){k=r;p=p+((s|0)==0&1)|0;l=s;j=q;break d}switch(l<<24>>24){case 15:case 12:{j=j|-128;break}default:{}}i=i+1|0;b[B+(i<<1)>>1]=j&255;k=r;l=s;m=t;break}case 16:{h=h|262144;a[K+t>>0]=g;if(!s){if(p|0){k=r;p=p+-1|0;l=0;j=q;break d}if(i){n=i+-1|0;if((e[B+(i<<1)>>1]|0)<256){k=r;p=0;l=0;m=t;j=b[B+(n<<1)>>1]&255;i=n}else{k=r;p=0;l=0;j=q}}else{k=r;p=0;l=0;j=q;i=0}}else{k=r;l=s;j=q}break}case 21:case 20:{k=q&255;h=h|c[69880+((k&1)<<2)>>2];j=k&127;a[K+t>>0]=j;if((j|0)==(g&127|0))h=h|1024;else{va(C,m,g,q);h=h|-2147482624}l=l<<24>>24==20?k+2&382:j+1|1;j=l&255;if(!((p|s|0)==0&(l&254)>>>0<126)){a[o>>0]=9;g=q;k=r;l=s+1|0;j=q;break d}k=r+1|0;if((r|0)>=(c[x>>2]|0))c[x>>2]=k;i=i+1|0;b[B+(i<<1)>>1]=l|256;wa(C,j);g=q;l=s;m=t;h=h|1<>0]=9;k=0;j=p;l=0;break}do{s=i;i=i+-1|0}while((e[B+(s<<1)>>1]|0)<256);xa(C);k=r+-1|0;j=0;l=0;m=t;h=h|4194304}else{a[o>>0]=9;k=r;j=p;l=s+-1|0}}while(0);g=b[B+(i<<1)>>1]|0;s=g&255;g=g&255;h=h|c[69880+((g&1)<<2)>>2]|1024;a[K+t>>0]=g&127;g=s;p=j;j=s;break}case 7:{h=h|128;if((a[y>>0]|0)!=0?(z=c[w>>2]|0,(t|0)>=(c[z>>2]|0)):0)j=da(c[u>>2]|0,z,t)|0;else j=a[v>>0]|0;a[K+t>>0]=j;j=t+1|0;if((j|0)<(H|0)){if((b[G+(t<<1)>>1]|0)==13?(b[G+(j<<1)>>1]|0)==10:0){k=r;l=s;j=q;break d}if((a[y>>0]|0)!=0?(A=c[w>>2]|0,(j|0)>=(c[A>>2]|0)):0)i=da(c[u>>2]|0,A,j)|0;else i=a[v>>0]|0;b[B>>1]=i&255;ta(C,i);g=i;k=0;p=0;l=0;j=i;i=0}else{k=r;l=s;j=q}break}case 18:{a[K+t>>0]=g;k=r;l=s;j=q;h=h|262144;break}default:{j=q&255;if((j&127|0)==(g&127|0))n=h;else{va(C,m,g,q);n=c[((j&128|0)==0?70024:70016)+((j&1)<<2)>>2]|(h|-2147483648)}a[K+t>>0]=q;if(!((ua(C,t)|0)<<24>>24)){F=-1;J=89;break c}g=q;k=r;l=s;j=q;h=1<>0]|n}}}while(0);r=k;s=l;q=j;t=t+1|0}if((J|0)==89){E=L;return F|0}if(h&8380376)h=c[69880+((a[v>>0]&1)<<2)>>2]|h;K=h|(h&128|0)!=0&(a[f+92>>0]|0)!=0&1;c[D>>2]=K;K=ra(K)|0;E=L;return K|0}function ja(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=E;E=E+32|0;s=u;t=c[d+72>>2]|0;if((c[d+124>>2]|0)>(e|0)){if((a[d+94>>0]|0)!=0?(i=c[d+136>>2]|0,(c[i>>2]|0)<=(e|0)):0)i=da(c[d+132>>2]|0,i,e)|0;else i=a[d+93>>0]|0;if(i&1)q=((c[d+84>>2]|0)+-5|0)>>>0<2;else q=0}else q=0;c[s+12>>2]=-1;c[s+16>>2]=-1;c[s+24>>2]=e;r=a[(c[d+76>>2]|0)+e>>0]|0;a[s+28>>0]=r;p=c[d+112>>2]|0;r=r&1;c[s>>2]=c[p+(r<<2)>>2];c[s+4>>2]=c[p+8+(r<<2)>>2];if((e|0)==0?(c[d+100>>2]|0)>0:0){i=ma(d)|0;i=i<<24>>24==4?g:i}else i=g;g=t+e|0;r=d+240|0;if((a[g>>0]|0)==22?(j=c[r>>2]|0,(j|0)>-1):0){o=c[d+244>>2]|0;c[s+8>>2]=c[o+(j<<4)>>2];g=c[o+(j<<4)+4>>2]|0;p=b[o+(j<<4)+12>>1]|0;c[s+20>>2]=c[o+(j<<4)+8>>2];c[r>>2]=j+-1;j=p}else{c[s+8>>2]=-1;j=(a[g>>0]|0)==17?(i&255)+1&65535:0;c[s+20>>2]=0;na(d,s,i,e,e);g=e}i=-1;m=1;n=e;o=e;p=g;l=j;while(1){if((n|0)>(f|0))break;if((n|0)>=(f|0)){g=f;do{g=g+-1|0;j=a[t+g>>0]|0;if((g|0)<=(e|0))break}while((1<<(j&255)&382976|0)!=0);if((j&-2)<<24>>24==20)break;else{k=h;j=m}}else{g=a[t+n>>0]|0;if(g<<24>>24==7)c[r>>2]=-1;a:do{if(q){switch(g<<24>>24){case 13:{g=1;j=m;break a}case 2:break;default:{j=m;break a}}b:do{if((i|0)>(n|0))j=m;else{i=n;while(1){i=i+1|0;if((i|0)>=(f|0)){g=2;i=f;j=1;break a}g=a[t+i>>0]|0;switch(g<<24>>24){case 13:case 1:case 0:{j=g;break b}default:{}}}}}while(0);g=j<<24>>24==13?5:2}else j=m}while(0);k=a[16+(g&255)>>0]|0}g=l&65535;k=a[(k&255)+(48+(g<<4))>>0]|0;l=k&31;k=(k&255)>>>5;k=(n|0)==(f|0)&k<<24>>24==0?1:k&255;c:do{if(!(k<<16>>16)){k=o;g=p}else{g=a[48+(g<<4)+15>>0]|0;switch(k&7){case 1:{na(d,s,g,p,n);k=o;g=n;break c}case 2:{k=n;g=p;break c}case 3:{na(d,s,g,p,o);na(d,s,4,o,n);k=o;g=n;break c}case 4:{na(d,s,g,p,o);k=n;g=o;break c}default:{k=o;g=p;break c}}}}while(0);m=j;n=n+1|0;o=k;p=g}k=d+12|0;if((c[k>>2]|0)==(f|0)?(c[d+108>>2]|0)>0:0){i=oa(d)|0;i=i<<24>>24==4?h:i}else i=h;g=f;do{g=g+-1|0;j=a[t+g>>0]|0;if((g|0)<=(e|0))break}while((1<<(j&255)&382976|0)!=0);if((j&-2)<<24>>24==20?(c[k>>2]|0)>(f|0):0){f=(c[r>>2]|0)+1|0;c[r>>2]=f;t=d+244|0;b[(c[t>>2]|0)+(f<<4)+12>>1]=l;c[(c[t>>2]|0)+(c[r>>2]<<4)+8>>2]=c[s+20>>2];c[(c[t>>2]|0)+(c[r>>2]<<4)+4>>2]=p;c[(c[t>>2]|0)+(c[r>>2]<<4)>>2]=c[s+8>>2];E=u;return}na(d,s,i,f,f);E=u;return}function ka(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b+72>>2]|0;n=c[b+76>>2]|0;if(!(c[b+120>>2]&8248192))return;h=(a[b+92>>0]|0)!=0;i=b+94|0;j=b+93|0;k=b+136|0;g=b+132|0;b=c[b+128>>2]|0;while(1){if((b|0)<=0)break;while(1){if((b|0)<=0)break;e=b+-1|0;d=a[l+e>>0]|0;if(!(1<<(d&255)&8248192)){b=e;break}do{if(h&d<<24>>24==7)b=0;else{if(a[i>>0]|0?(m=c[k>>2]|0,(b|0)>(c[m>>2]|0)):0){b=da(c[g>>2]|0,m,e)|0;break}b=a[j>>0]|0}}while(0);a[n+e>>0]=b;b=e}while(1){if((b|0)<=0)break;f=b+-1|0;d=a[l+f>>0]|0;e=1<<(d&255);if(!(e&382976)){if(h&d<<24>>24==7){b=0;p=24;break}if(e&384|0){p=20;break}}else a[n+f>>0]=a[n+b>>0]|0;b=f}do{if((p|0)==20){if(a[i>>0]|0?(o=c[k>>2]|0,(b|0)>(c[o>>2]|0)):0){b=da(c[g>>2]|0,o,f)|0;p=24;break}b=a[j>>0]|0;p=24}}while(0);if((p|0)==24){p=0;a[n+f>>0]=b;b=f}}return}function la(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+328|0;e=c[k>>2]|0;do{if(!e){g=lb(80)|0;e=a+344|0;c[e>>2]=g;if(g|0){c[k>>2]=10;i=e;f=g;h=10;break}c[a+340>>2]=7;return}else{i=a+344|0;g=c[i>>2]|0;f=g;h=e}}while(0);j=a+332|0;e=c[j>>2]|0;do{if((e|0)>=(h|0)){f=mb(g,h<<4)|0;c[i>>2]=f;if(f|0){c[k>>2]=c[k>>2]<<1;e=c[j>>2]|0;break}c[i>>2]=g;c[a+340>>2]=7;return}}while(0);c[f+(e<<3)>>2]=b;c[f+(e<<3)+4>>2]=d;c[j>>2]=(c[j>>2]|0)+1;return}function ma(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;g=c[a+96>>2]|0;b=c[a+100>>2]|0;a:while(1){if((b|0)<=0){b=4;d=8;break}f=b+-1|0;d=e[g+(f<<1)>>1]|0;if((b|0)!=1&(d&64512|0)==56320){b=b+-2|0;i=e[g+(b<<1)>>1]|0;h=(i&64512|0)==55296;d=h?d+-56613888+(i<<10)|0:d;b=h?b:f}else b=f;switch(((pa(a,d)|0)&255)<<24>>24){case 13:case 1:{d=6;break a}case 7:{d=7;break a}case 0:{b=0;d=8;break a}default:{}}}if((d|0)==6){i=1;return i|0}else if((d|0)==7){i=4;return i|0}else if((d|0)==8)return b|0;return 0}function na(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=c[e>>2]|0;p=c[e+4>>2]|0;s=b+76|0;t=c[s>>2]|0;o=e+20|0;k=c[o>>2]&255;q=d[(f&255)+(l+(k<<3))>>0]|0;r=q&15;c[o>>2]=r;r=a[l+(r<<3)+7>>0]|0;a:do{switch(a[p+(q>>>4)>>0]|0){case 14:{l=e+8|0;m=(a[e+28>>0]|0)+1<<24>>24;i=g;while(1){k=i+-1|0;if((i|0)<=(c[l>>2]|0)){i=g;break a}i=t+k|0;j=a[i>>0]|0;if((j&255)>(m&255))a[i>>0]=(j&255)+254;i=k}}case 1:{c[e+8>>2]=g;i=g;break}case 2:{i=c[e+8>>2]|0;break}case 3:{qa(c[b+72>>2]|0,c[s>>2]|0,c[e+8>>2]|0,g,(d[e+28>>0]|0)+1&255);i=g;break}case 4:{qa(c[b+72>>2]|0,c[s>>2]|0,c[e+8>>2]|0,g,(d[e+28>>0]|0)+2&255);i=g;break}case 5:{i=e+12|0;j=c[i>>2]|0;if((j|0)>-1)la(b,j,1);c[i>>2]=-1;if(c[b+328>>2]|0?(m=b+332|0,n=b+336|0,(c[m>>2]|0)>(c[n>>2]|0)):0){j=e+16|0;i=c[j>>2]|0;while(1){i=i+1|0;if((i|0)>=(g|0))break;q=t+i|0;a[q>>0]=(a[q>>0]|0)+-2<<24>>24&-2}c[n>>2]=c[m>>2];c[j>>2]=-1;if(f<<24>>24!=5){i=g;break a}la(b,g,1);c[n>>2]=c[m>>2];i=g;break a}c[e+16>>2]=-1;if(!(a[l+(k<<3)+7>>0]&1))i=g;else{i=c[e+8>>2]|0;i=(i|0)>0?i:g}if(f<<24>>24==5){la(b,g,1);c[b+336>>2]=c[b+332>>2]}break}case 6:{if((c[b+328>>2]|0)>0)c[b+332>>2]=c[b+336>>2];c[e+8>>2]=-1;c[e+12>>2]=-1;c[e+16>>2]=h+-1;i=g;break}case 7:{if((f<<24>>24==3?(a[(c[b+72>>2]|0)+g>>0]|0)==5:0)?(c[b+84>>2]|0)!=6:0){i=e+12|0;j=c[i>>2]|0;if((j|0)==-1){c[e+16>>2]=h+-1;i=g;break a}if((j|0)>-1){la(b,j,1);c[i>>2]=-2}la(b,g,1);i=g;break a}i=e+12|0;if((c[i>>2]|0)==-1){c[i>>2]=g;i=g}else i=g;break}case 8:{c[e+16>>2]=h+-1;c[e+8>>2]=-1;i=g;break}case 9:{i=g;while(1){q=i;i=i+-1|0;if((q|0)<=0)break;if(a[t+i>>0]&1){j=36;break}}if((j|0)==36){la(b,i,4);c[b+336>>2]=c[b+332>>2]}c[e+8>>2]=g;i=g;break}case 10:{la(b,g,1);la(b,g,2);i=g;break}case 11:{i=b+336|0;j=b+332|0;c[j>>2]=c[i>>2];if(f<<24>>24==5){la(b,g,4);c[i>>2]=c[j>>2];i=g}else i=g;break}case 12:{l=(d[e+28>>0]|0)+(r&255)|0;j=l&255;k=e+8|0;l=l&255;i=c[k>>2]|0;while(1){if((i|0)>=(g|0))break;m=t+i|0;if(l>>>0>(d[m>>0]|0)>>>0)a[m>>0]=j;i=i+1|0}c[b+336>>2]=c[b+332>>2];c[k>>2]=g;i=g;break}case 13:{n=a[e+28>>0]|0;f=e+8|0;q=n&255;o=q+3|0;p=q+2|0;q=q+1&255;i=g;while(1){k=i+-1|0;if((i|0)<=(c[f>>2]|0)){i=g;break a}j=t+k|0;l=a[j>>0]|0;m=l&255;if((o|0)==(m|0)){i=k;j=l;while(1){if((o|0)!=(j&255|0))break;j=i+-1|0;a[t+i>>0]=q;i=j;j=a[t+j>>0]|0}l=i;while(1){i=l+-1|0;if(j<<24>>24!=n<<24>>24)break;l=i;j=a[t+i>>0]|0}i=l;k=j&255;j=t+l|0}else{i=k;k=m}a[j>>0]=(p|0)==(k|0)?n:q}}default:i=g}}while(0);if(!(r<<24>>24!=0|(i|0)<(g|0)))return;j=(d[e+28>>0]|0)+(r&255)&255;if((i|0)<(c[e+24>>2]|0)){qa(c[b+72>>2]|0,c[s>>2]|0,i,h,j);return}while(1){if((i|0)>=(h|0))break;a[t+i>>0]=j;i=i+1|0}return}function oa(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;g=c[a+104>>2]|0;h=c[a+108>>2]|0;b=0;a:while(1){if((b|0)>=(h|0)){b=4;d=7;break}f=b+1|0;d=e[g+(b<<1)>>1]|0;if((f|0)==(h|0)|(d&64512|0)!=55296)b=f;else{j=e[g+(f<<1)>>1]|0;i=(j&64512|0)==56320;d=i?(d<<10)+-56613888+j|0:d;b=i?b+2|0:f}switch(((pa(a,d)|0)&255)<<24>>24){case 0:{b=0;d=7;break a}case 13:case 1:{d=8;break a}case 5:{d=6;break a}case 2:{b=2;d=9;break a}default:{}}}if((d|0)==6){j=3;return j|0}else if((d|0)==7){j=b;return j|0}else if((d|0)==8){j=1;return j|0}else if((d|0)==9)return b|0;return 0}function pa(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+352>>2]|0;if(!((e|0)!=0?(d=I[e&0](c[a+356>>2]|0,b)|0,(d|0)!=23):0))d=tb(b)|0;return((d|0)>22?10:d)|0}function qa(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((d|0)>=(e|0))break;h=a[b+d>>0]|0;g=g+((h<<24>>24==22)<<31>>31)|0;if(!g)a[c+d>>0]=f;d=d+1|0;g=g+((h&-2)<<24>>24==20&1)|0}return}function ra(a){a=a|0;if((a&2154498|0)==0?(a&32|0)==0|(a&8249304|0)==0:0){a=0;return a|0}a=(a&26220581|0)==0?1:2;return a|0}function sa(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;c[e>>2]=d;c[e+492>>2]=0;b[e+500>>1]=0;b[e+502>>1]=0;h=d+94|0;if((a[h>>0]|0)!=0?(f=c[d+136>>2]|0,(c[f>>2]|0)<=0):0)f=da(c[d+132>>2]|0,f,0)|0;else f=a[d+93>>0]|0;a[e+504>>0]=f;if((a[h>>0]|0)!=0?(g=c[d+136>>2]|0,(c[g>>2]|0)<=0):0)f=da(c[d+132>>2]|0,g,0)|0;else f=a[d+93>>0]|0;f=f&1;a[e+506>>0]=f;a[e+505>>0]=f;c[e+508>>2]=f&255;c[e+496>>2]=0;f=c[d+52>>2]|0;if(!f){c[e+484>>2]=e+4;g=20;h=e+488|0;c[h>>2]=g;d=d+84|0;d=c[d>>2]|0;h=(d|0)==1;d=(d|0)==6;d=h|d;d=d&1;e=e+2528|0;a[e>>0]=d;return}else{c[e+484>>2]=f;g=((c[d+28>>2]|0)>>>0)/24|0;h=e+488|0;c[h>>2]=g;d=d+84|0;d=c[d>>2]|0;h=(d|0)==1;d=(d|0)==6;d=h|d;d=d&1;e=e+2528|0;a[e>>0]=d;return}}function ta(d,e){d=d|0;e=e|0;c[d+492>>2]=0;b[d+502>>1]=0;a[d+504>>0]=e;e=e&1;a[d+506>>0]=e;a[d+505>>0]=e;c[d+508>>2]=e&255;c[d+496>>2]=0;return}function ua(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[f+492>>2]|0;p=f+496+(s<<4)|0;h=c[f>>2]|0;r=(c[h+72>>2]|0)+g|0;m=a[r>>0]|0;do{if(m<<24>>24==10){h=b[(c[h+4>>2]|0)+(g<<1)>>1]|0;l=f+496+(s<<4)+4|0;i=e[l>>1]|0;o=f+484|0;j=h&65535;n=e[f+496+(s<<4)+6>>1]|0;while(1){t=n;n=n+-1|0;if((t|0)<=(i|0))break;if((c[(c[o>>2]|0)+(n*24|0)+4>>2]|0)==(j|0)){q=5;break}}if((q|0)==5){h=ya(f,n,g)|0;if(h<<24>>24==10)break;a[f+496+(s<<4)+10>>0]=10;c[f+496+(s<<4)+12>>2]=h&255;c[p>>2]=g;h=c[(c[f>>2]|0)+76>>2]|0;i=d[h+g>>0]|0;if(i&128){i=i&1;a[f+496+(s<<4)+9>>0]=i;i=1<>1]|0;while(1){if((h|0)>=(n|0))break;t=(c[o>>2]|0)+(h*24|0)+12|0;b[t>>1]=i|e[t>>1];h=h+1|0}h=(c[(c[f>>2]|0)+76>>2]|0)+g|0;a[h>>0]=a[h>>0]&127;h=c[(c[f>>2]|0)+76>>2]|0}t=h+(c[(c[o>>2]|0)+(n*24|0)>>2]|0)|0;a[t>>0]=a[t>>0]&127;t=1;return t|0}if((h<<16>>16?(k=(zb(j)|0)&65535,h<<16>>16!=k<<16>>16):0)?(wb(j)|0)==1:0){a:do{if(k<<16>>16<12297){switch(k<<16>>16){case 9002:break;default:break a}if(!((za(f,12297,g)|0)<<24>>24)){t=0;return t|0}}else{switch(k<<16>>16){case 12297:break;default:break a}if(!((za(f,9002,g)|0)<<24>>24)){t=0;return t|0}}}while(0);if(!((za(f,k,g)|0)<<24>>24)){t=0;return t|0}}}}while(0);h=d[(c[(c[f>>2]|0)+76>>2]|0)+g>>0]|0;b:do{if(!(h&128))switch(m<<24>>24){case 0:case 1:case 13:{h=m<<24>>24!=0;a[f+496+(s<<4)+10>>0]=m;a[f+496+(s<<4)+9>>0]=m;c[f+496+(s<<4)+12>>2]=h&1;c[p>>2]=g;h=h&1;q=35;break b}case 2:{a[f+496+(s<<4)+10>>0]=2;switch(a[f+496+(s<<4)+9>>0]|0){case 0:{if(!(a[f+2528>>0]|0))a[r>>0]=23;c[f+496+(s<<4)+12>>2]=0;c[p>>2]=g;h=0;break b}case 13:{h=5;break}default:h=24}a[r>>0]=h;c[f+496+(s<<4)+12>>2]=1;c[p>>2]=g;h=1;break b}case 5:{a[f+496+(s<<4)+10>>0]=5;c[f+496+(s<<4)+12>>2]=1;c[p>>2]=g;h=1;break b}case 17:{h=a[f+496+(s<<4)+10>>0]|0;if(h<<24>>24!=10){q=35;break b}a[r>>0]=10;t=1;return t|0}default:{a[f+496+(s<<4)+10>>0]=m;h=m;q=35;break b}}else{i=h&1;h=i&255;if((m+-8&255)>=3)a[r>>0]=h;a[f+496+(s<<4)+10>>0]=h;a[f+496+(s<<4)+9>>0]=h;c[f+496+(s<<4)+12>>2]=i;c[p>>2]=g;q=35}}while(0);c:do{if((q|0)==35){switch(h<<24>>24){case 0:case 1:case 13:break c;default:h=1}return h|0}}while(0);j=1<<(h<<24>>24!=0&1);k=f+496+(s<<4)+6|0;l=f+484|0;h=e[f+496+(s<<4)+4>>1]|0;while(1){if(h>>>0>=(e[k>>1]|0)>>>0){h=1;break}i=c[l>>2]|0;if((c[i+(h*24|0)>>2]|0)<(g|0)){t=i+(h*24|0)+12|0;b[t>>1]=j|e[t>>1]}h=h+1|0}return h|0} -function va(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=c[e+492>>2]|0;if(1<<(d[(c[(c[e>>2]|0)+72>>2]|0)+f>>0]|0)&7864320|0)return;b[e+496+(i<<4)+6>>1]=b[e+496+(i<<4)+4>>1]|0;a[e+496+(i<<4)+8>>0]=h;h=((h&127)>(g&127)?h:g)&1;a[e+496+(i<<4)+10>>0]=h;a[e+496+(i<<4)+9>>0]=h;c[e+496+(i<<4)+12>>2]=h&255;c[e+496+(i<<4)>>2]=f;return}function wa(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=d+492|0;h=c[g>>2]|0;f=d+496+(h<<4)|0;a[d+496+(h<<4)+10>>0]=10;d=b[d+496+(h<<4)+6>>1]|0;c[g>>2]=h+1;b[f+22>>1]=d;b[f+20>>1]=d;a[f+24>>0]=e;e=e&1;a[f+26>>0]=e;a[f+25>>0]=e;c[f+28>>2]=e&255;c[f+16>>2]=0;return}function xa(b){b=b|0;var d=0,e=0;e=b+492|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;a[b+496+(d<<4)+10>>0]=10;return}function ya(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[d+492>>2]|0;q=d+484|0;m=c[q>>2]|0;j=a[d+496+(o<<4)+8>>0]&1;h=j&255;i=b[m+(f*24|0)+12>>1]|0;if(!(j<<24>>24))if(!(i&1))l=4;else{p=0;k=0}else if(!(i&2))l=4;else{p=1;k=0}do{if((l|0)==4){if(i&3){p=c[m+(f*24|0)+16>>2]|0;p=(p|0)==(h|0)?j:p&255;k=(e[d+496+(o<<4)+4>>1]|0|0)!=(f|0);break}b[d+496+(o<<4)+6>>1]=f;q=10;return q|0}}while(0);n=m+(f*24|0)|0;a[(c[(c[d>>2]|0)+72>>2]|0)+(c[n>>2]|0)>>0]=p;a[(c[(c[d>>2]|0)+72>>2]|0)+g>>0]=p;Aa(d,f,c[n>>2]|0,p);if(!k){i=d+496+(o<<4)+6|0;h=b[d+496+(o<<4)+4>>1]|0;j=f&65535;while(1){b[i>>1]=j;if((j&65535)<=(h&65535)){h=p;l=21;break}if((c[(c[q>>2]|0)+(((j&65535)+-1|0)*24|0)>>2]|0)==(c[n>>2]|0))j=j+-1<<16>>16;else{h=p;l=21;break}}if((l|0)==21)return h|0}c[m+(f*24|0)+4>>2]=0-g;j=d+496+(o<<4)+4|0;h=f;while(1){i=h+-1|0;if((h|0)<=(e[j>>1]|0|0))break;h=c[q>>2]|0;if((c[h+(i*24|0)>>2]|0)!=(c[n>>2]|0))break;c[h+(i*24|0)+4>>2]=0;h=i}i=d+496+(o<<4)+6|0;while(1){f=f+1|0;if((f|0)>=(e[i>>1]|0|0)){h=p;l=21;break}h=c[q>>2]|0;if((c[h+(f*24|0)>>2]|0)>=(g|0)){h=p;l=21;break}h=h+(f*24|0)+4|0;if((c[h>>2]|0)>0)c[h>>2]=0}if((l|0)==21)return h|0;return 0}function za(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[a+492>>2]|0;m=a+496+(l<<4)+6|0;g=e[m>>1]|0;k=a+488|0;if((c[k>>2]|0)>(g|0))h=c[a+484>>2]|0;else{j=c[a>>2]|0;i=j+52|0;j=j+28|0;if(!((aa(i,j,1,g*48|0)|0)<<24>>24)){m=0;return m|0}g=a+484|0;h=c[g>>2]|0;if((h|0)==(a+4|0))ec(c[i>>2]|0,h|0,480)|0;h=c[i>>2]|0;c[g>>2]=h;c[k>>2]=((c[j>>2]|0)>>>0)/24|0;g=e[m>>1]|0}c[h+(g*24|0)>>2]=f;c[h+(g*24|0)+4>>2]=d&65535;c[h+(g*24|0)+16>>2]=c[a+496+(l<<4)+12>>2];c[h+(g*24|0)+8>>2]=c[a+496+(l<<4)>>2];b[h+(g*24|0)+12>>1]=0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;m=1;return m|0}function Aa(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[(c[b>>2]|0)+72>>2]|0;h=d+1|0;i=g&255;j=b+496+(c[b+492>>2]<<4)+6|0;d=(c[b+484>>2]|0)+(h*24|0)|0;while(1){if((h|0)>=(e[j>>1]|0|0)){d=9;break}k=d+4|0;if((c[k>>2]|0)<=-1){if((c[d+8>>2]|0)>(f|0)){d=9;break}l=c[d>>2]|0;if((l|0)>(f|0)){if((c[d+16>>2]|0)==(i|0)){d=9;break}a[m+l>>0]=g;n=0-(c[k>>2]|0)|0;a[m+n>>0]=g;c[k>>2]=0;Aa(b,h,l,g);Aa(b,h,n,g)}}d=d+24|0;h=h+1|0}if((d|0)==9)return}function Ba(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[a+96>>2]|0;i=c[a+100>>2]|0;g=0;b=10;while(1){if((g|0)>=(i|0))break;f=g+1|0;d=e[h+(g<<1)>>1]|0;if((f|0)==(i|0)|(d&64512|0)!=55296)g=f;else{k=e[h+(f<<1)>>1]|0;j=(k&64512|0)==56320;d=j?(d<<10)+-56613888+k|0:d;g=j?g+2|0:f}d=pa(a,d)|0;f=d&255;a:do{if(b<<24>>24==10){switch(f<<24>>24){case 13:case 1:case 0:break;default:{b=10;break a}}b=f}else b=(d&255|0)==7?10:b}while(0)}return b|0}function Ca(a){a=a|0;var b=0,d=0,e=0;d=c[a+132>>2]|0;e=a+136|0;b=c[e>>2]|0;if((b|0)!=(a+140|0)){b=a+56|0;if(!((aa(b,a+32|0,1,d<<4)|0)<<24>>24)){e=0;return e|0}c[e>>2]=c[b>>2];e=1;return e|0}if((d|0)<11){e=1;return e|0}d=a+56|0;if(!((aa(d,a+32|0,1,160)|0)<<24>>24)){e=0;return e|0}a=c[d>>2]|0;c[e>>2]=a;d=a+80|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));e=1;return e|0}function Da(a){a=a|0;var b=0;do{if(!a)a=0;else{b=c[a>>2]|0;if((b|0)!=(a|0)){if(!b){a=0;break}if((c[b>>2]|0)!=(b|0)){a=0;break}}a=c[a+12>>2]|0}}while(0);return a|0}function Ea(a){a=a|0;var b=0;do{if(!a)a=0;else{b=c[a>>2]|0;if((b|0)!=(a|0)){if(!b){a=0;break}if((c[b>>2]|0)!=(b|0)){a=0;break}}a=c[a+132>>2]|0}}while(0);return a|0}function Fa(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!e)return;if(($(c[e>>2]|0)|0)<<24>>24)return;do{if(a|0){f=c[a>>2]|0;if((f|0)!=(a|0)){if(!f)break;if((c[f>>2]|0)!=(f|0))break}if((b|0)>=0?(c[a+132>>2]|0)>(b|0):0){if(!d)return;c[d>>2]=c[(c[f+136>>2]|0)+(b<<3)>>2];return}c[e>>2]=1;return}}while(0);c[e>>2]=27;return}function Ga(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!d){f=-1;return f|0}if(($(c[d>>2]|0)|0)<<24>>24){f=-1;return f|0}do{if(a|0){f=c[a>>2]|0;if((f|0)!=(a|0)){if(!f)break;if((c[f>>2]|0)!=(f|0))break}if((b|0)>=0?(c[f+12>>2]|0)>(b|0):0){e=c[f+136>>2]|0;a=0;while(1)if((c[e+(a<<3)>>2]|0)>(b|0))break;else a=a+1|0;Fa(f,a,0,d);f=a;return f|0}c[d>>2]=1;f=-1;return f|0}}while(0);c[d>>2]=27;f=-1;return f|0}function Ha(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if(!f){f=0;return f|0}if((Ia(c[f>>2]|0)|0)<<24>>24){f=0;return f|0}if(!((a|0)==0|(b|0)<-1|(e|0)<0)?(g=(d|0)==0,!(g&(e|0)>0)):0){do{if(!g){if(!(a>>>0>=d>>>0&(d+(e<<1)|0)>>>0>a>>>0)?!(d>>>0>=a>>>0&(a+(b<<1)|0)>>>0>d>>>0):0)break;c[f>>2]=1;f=0;return f|0}}while(0);if((b|0)==-1)b=ob(a)|0;if((b|0)>0)b=Ja(a,b,d,e,10,f)|0;else b=0;f=qb(d,e,b,f)|0;return f|0}c[f>>2]=1;f=0;return f|0}function Ia(a){a=a|0;return(a|0)>0|0}function Ja(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=h&65535;switch(l&11){case 0:{if((g|0)<(d|0)){c[i>>2]=15;o=d;return o|0}k=d;h=f;while(1){j=k+-1|0;f=k+-2|0;if((k|0)>1?(b[a+(j<<1)>>1]&-1024)<<16>>16==-9216:0)j=(b[a+(f<<1)>>1]&-1024)<<16>>16==-10240?f:j;f=j;do{n=f;f=f+1|0;o=h;h=h+2|0;b[o>>1]=b[a+(n<<1)>>1]|0}while((f|0)<(k|0));if((j|0)>0)k=j;else{h=d;break}}return h|0}case 1:{if((g|0)<(d|0)){c[i>>2]=15;o=d;return o|0}i=d;g=f;while(1){f=i;while(1){j=f+-1|0;h=e[a+(j<<1)>>1]|0;if((f|0)>1&(h&64512|0)==56320){f=f+-2|0;n=e[a+(f<<1)>>1]|0;o=(n&64512|0)==55296;h=o?h+-56613888+(n<<10)|0:h;f=o?f:j}else f=j;if((f|0)<=0){k=0;break}if(!(1<<((sb(h)|0)<<24>>24)&448)){k=1;break}}j=f;h=g;do{n=j;j=j+1|0;o=h;h=h+2|0;b[o>>1]=b[a+(n<<1)>>1]|0}while((j|0)<(i|0));if(k){i=f;g=h}else{h=d;break}}return h|0}default:{n=(l&8|0)!=0;if(n){j=a;k=d;h=0;while(1){m=j;j=j+2|0;m=e[m>>1]|0;h=h+((((m+-8294|0)>>>0<4|((m&65532|0)==8204|(m+-8234|0)>>>0<5))^1)&1)|0;if((k|0)<=1)break;else k=k+-1|0}a=j+(0-d<<1)|0}else h=d;if((h|0)>(g|0)){c[i>>2]=15;o=h;return o|0}m=(l&1|0)==0;l=(l&2|0)==0;i=d;while(1){k=i+-1|0;j=e[a+(k<<1)>>1]|0;if((i|0)>1&(j&64512|0)==56320){d=i+-2|0;p=e[a+(d<<1)>>1]|0;g=(p&64512|0)==55296;j=g?j+-56613888+(p<<10)|0:j;k=g?d:k}a:do{if(!m)while(1){if((k|0)<=0)break a;if(!(1<<((sb(j)|0)<<24>>24)&448))break a;g=k+-1|0;j=e[a+(g<<1)>>1]|0;if((k|0)>1&(j&64512|0)==56320){k=k+-2|0;d=e[a+(k<<1)>>1]|0;p=(d&64512|0)==55296;j=p?j+-56613888+(d<<10)|0:j;k=p?k:g}else k=g}}while(0);if(n){if((j&-4|0)!=8204)switch(j|0){case 8234:case 8235:case 8236:case 8237:case 8238:case 8294:case 8295:case 8296:case 8297:break;default:o=40}}else o=40;b:do{if((o|0)==40){o=0;if(l)g=k;else{j=yb(j)|0;if(j>>>0<65536){b[f>>1]=j;j=1}else{b[f>>1]=(j>>>10)+55232;b[f+2>>1]=j&1023|56320;j=2}g=j+k|0;f=f+(j<<1)|0}j=g;while(1){if((j|0)>=(i|0))break b;b[f>>1]=b[a+(j<<1)>>1]|0;j=j+1|0;f=f+2|0}}}while(0);if((k|0)>0)i=k;else break}return h|0}}return 0}function Ka(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=E;E=E+16|0;w=y+4|0;x=y;if(!i){i=0;E=y;return i|0}if((Ia(c[i>>2]|0)|0)<<24>>24){i=0;E=y;return i|0}if(((e|0?(v=c[e+4>>2]|0,v|0):0)?(j=c[e+12>>2]|0,(j|g|0)>=0):0)?(k=(f|0)==0,!(k&(g|0)>0)):0){do{if(!k){if(!(v>>>0>=f>>>0&v>>>0<(f+(g<<1)|0)>>>0)){if(v>>>0>f>>>0)break;if((v+(c[e+8>>2]<<1)|0)>>>0<=f>>>0)break}c[i>>2]=1;i=0;E=y;return i|0}}while(0);if(!j){qb(f,g,0,i)|0;i=0;E=y;return i|0}t=Qa(e,i)|0;if((Ia(c[i>>2]|0)|0)<<24>>24){i=0;E=y;return i|0}k=c[e+88>>2]|0;u=h&-13;u=(k&2|0)==0?(k&1|0)==0?h:u|4:u|8;u=((c[e+84>>2]|0)+-3|0)>>>0<4?u:u&-5;k=u&65535;j=(k&4|0)!=0;a:do{if(!(k&16)){if(!j){n=k&65533;l=f;j=g;m=0;while(1){if((m|0)>=(t|0))break a;s=(Va(e,m,w,x)|0)==0;k=v+(c[w>>2]<<1)|0;h=c[x>>2]|0;if(s)k=La(k,h,l,j,n,i)|0;else k=Ja(k,h,l,j,u,i)|0;c[x>>2]=k;l=(l|0)==0?0:l+(k<<1)|0;j=j-k|0;m=m+1|0}}q=c[e+72>>2]|0;r=e+224|0;s=e+80|0;p=k&65533;j=g;o=0;k=f;while(1){if((o|0)>=(t|0))break a;z=Va(e,o,w,x)|0;l=c[w>>2]|0;n=v+(l<<1)|0;h=c[(c[r>>2]|0)+(o*12|0)+8>>2]|0;h=(h|0)>0?h:0;m=(a[s>>0]|0)!=0;do{if(!z){if(m)h=h|(a[q+l>>0]|0)!=0;l=8207-(h&1)<<16>>16;if(h&5){if((j|0)>0){b[k>>1]=l;k=k+2|0}j=j+-1|0}l=La(n,c[x>>2]|0,k,j,p,i)|0;c[x>>2]=l;k=(k|0)==0?0:k+(l<<1)|0;j=j-l|0;if(a[s>>0]|0)h=(a[q+(l+-1+(c[w>>2]|0))>>0]|0)==0?h:h|2;if(!(h&10))break;if((j|0)>0){b[k>>1]=8207-(h>>>1&1)<<16>>16;k=k+2|0}j=j+-1|0}else{if(m)h=(1<>2]|0))>>0]&8194|0)==0?h|4:h;l=8207-(h&1)<<16>>16;if(h&5){if((j|0)>0){b[k>>1]=l;k=k+2|0}j=j+-1|0}z=Ja(n,c[x>>2]|0,k,j,u,i)|0;c[x>>2]=z;k=(k|0)==0?0:k+(z<<1)|0;j=j-z|0;if(a[s>>0]|0)h=(1<>2]|0)>>0]&8194|0)==0?h|8:h;if(!(h&10))break;if((j|0)>0){b[k>>1]=8207-(h>>>1&1)<<16>>16;k=k+2|0}j=j+-1|0}}while(0);o=o+1|0}}else{if(!j){n=k&65533;m=f;k=t;j=g;while(1){l=k+-1|0;if((k|0)<=0)break a;z=(Va(e,l,w,x)|0)==0;k=v+(c[w>>2]<<1)|0;h=c[x>>2]|0;if(z)h=Ja(k,h,m,j,n,i)|0;else h=La(k,h,m,j,u,i)|0;c[x>>2]=h;m=(m|0)==0?0:m+(h<<1)|0;k=l;j=j-h|0}}p=c[e+72>>2]|0;o=k&65533;k=f;h=t;j=g;while(1){n=h+-1|0;if((h|0)<=0)break a;z=Va(e,n,w,x)|0;l=c[w>>2]|0;m=v+(l<<1)|0;if(!z){h=c[x>>2]|0;if(a[p+(l+-1+h)>>0]|0){if((j|0)>0){b[k>>1]=8206;k=k+2|0;h=c[x>>2]|0}j=j+-1|0}z=Ja(m,h,k,j,o,i)|0;c[x>>2]=z;k=(k|0)==0?0:k+(z<<1)|0;j=j-z|0;if(a[p+(c[w>>2]|0)>>0]|0){if((j|0)>0){b[k>>1]=8206;k=k+2|0}j=j+-1|0}}else{if(!(1<>0]&8194)){if((j|0)>0){b[k>>1]=8207;k=k+2|0}j=j+-1|0}z=La(m,c[x>>2]|0,k,j,u,i)|0;c[x>>2]=z;k=(k|0)==0?0:k+(z<<1)|0;j=j-z|0;if(!(1<>2]|0))>>0]&8194)){if((j|0)>0){b[k>>1]=8207;k=k+2|0}j=j+-1|0}}h=n}}}while(0);z=qb(f,g,g-j|0,i)|0;E=y;return z|0}c[i>>2]=1;z=0;E=y;return z|0}function La(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;switch(h&10){case 0:{if((g|0)<(d|0)){c[i>>2]=15;g=d;return g|0}j=d;h=f;while(1){b[h>>1]=b[a>>1]|0;if((j|0)>1){a=a+2|0;j=j+-1|0;h=h+2|0}else{h=d;break}}return h|0}case 2:{if((g|0)<(d|0)){c[i>>2]=15;g=d;return g|0}l=0;j=0;while(1){k=j+1|0;h=e[a+(j<<1)>>1]|0;if((k|0)==(d|0)|(h&64512|0)!=55296)j=k;else{m=e[a+(k<<1)>>1]|0;g=(m&64512|0)==56320;h=g?(h<<10)+-56613888+m|0:h;j=g?j+2|0:k}h=yb(h)|0;if(h>>>0<65536)k=l+1|0;else{b[f+(l+1<<1)>>1]=h&1023|56320;k=l+2|0;h=(h>>>10)+55232|0}b[f+(l<<1)>>1]=h;if((j|0)<(d|0))l=k;else{h=d;break}}return h|0}case 8:{l=g;h=a;a=f;a:while(1){k=h;h=h+2|0;k=b[k>>1]|0;b:do{if((k&-4)<<16>>16==8204)j=l;else{switch(k<<16>>16){case 8234:case 8235:case 8236:case 8237:case 8238:case 8294:case 8295:case 8296:case 8297:{j=l;break b}default:{}}j=l+-1|0;if((l|0)<1)break a;b[a>>1]=k;a=a+2|0}}while(0);if((d|0)<=1){m=26;break}else{l=j;d=d+-1|0}}if((m|0)==26){g=g-j|0;return g|0}c[i>>2]=15;a=d;while(1){if((a|0)<=1)break;f=e[h>>1]|0;j=j+((((f+-8294|0)>>>0<4|((f&65532|0)==8204|(f+-8234|0)>>>0<5))^1)<<31>>31)|0;a=a+-1|0;h=h+2|0}g=g-j|0;return g|0}default:{h=0;k=g;j=d;c:while(1){l=e[a>>1]|0;if((j|0)==1|(l&64512|0)!=55296)d=1;else{n=e[a+2>>1]|0;d=(n&64512|0)==56320;l=d?(l<<10)+-56613888+n|0:l;d=d?2:1}a=a+(d<<1)|0;j=j-d|0;d:do{if((l&-4|0)!=8204){switch(l|0){case 8234:case 8235:case 8236:case 8237:case 8238:case 8294:case 8295:case 8296:case 8297:break d;default:{}}k=k-d|0;if((k|0)<0)break c;l=yb(l)|0;if(l>>>0<65536){b[f+(h<<1)>>1]=l;h=h+1|0;break}else{b[f+(h<<1)>>1]=(l>>>10)+55232;b[f+(h+1<<1)>>1]=l&1023|56320;h=h+2|0;break}}}while(0);if((j|0)<=0){m=40;break}}if((m|0)==40)return h|0;c[i>>2]=15;h=a;while(1){if((j|0)<=0)break;n=e[h>>1]|0;k=k+((((n+-8294|0)>>>0<4|((n&65532|0)==8204|(n+-8234|0)>>>0<5))^1)<<31>>31)|0;j=j+-1|0;h=h+2|0}n=g-k|0;return n|0}}return 0}function Ma(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!h)return;if((Na(c[h>>2]|0)|0)<<24>>24)return;if(d|0?(c[d>>2]|0)==(d|0):0){if(!((e|0)>-1&(f|0)>(e|0))){c[h>>2]=1;return}if((f|0)>=0?(c[d+12>>2]|0)>=(f|0):0){if(!g){c[h>>2]=1;return}p=Ga(d,e,h)|0;if((p|0)!=(Ga(d,f+-1|0,h)|0)){c[h>>2]=1;return}c[g>>2]=0;l=d+4|0;c[g+4>>2]=(c[l>>2]|0)+(e<<1);o=f-e|0;c[g+12>>2]=o;c[g+8>>2]=o;m=g+16|0;c[m>>2]=o;if((a[d+94>>0]|0)!=0?(i=c[d+136>>2]|0,(c[i>>2]|0)<=(e|0)):0){h=d+132|0;j=h;h=da(c[h>>2]|0,i,e)|0}else{j=d+132|0;h=a[d+93>>0]|0}p=g+93|0;a[p>>0]=h;c[g+132>>2]=c[j>>2];c[g+224>>2]=0;c[g+120>>2]=0;c[g+84>>2]=c[d+84>>2];c[g+88>>2]=c[d+88>>2];k=g+348|0;c[k>>2]=0;if((c[d+348>>2]|0)>0){j=e;h=0;while(1){if((j|0)>=(f|0))break;i=b[(c[l>>2]|0)+(j<<1)>>1]|0;if((i&-4)<<16>>16==8204)n=24;else switch(i<<16>>16){case 8234:case 8235:case 8236:case 8237:case 8238:case 8294:case 8295:case 8296:case 8297:{n=24;break}default:{}}if((n|0)==24){n=0;h=h+1|0;c[k>>2]=h}j=j+1|0}c[m>>2]=o-h}c[g+72>>2]=(c[d+72>>2]|0)+e;l=(c[d+76>>2]|0)+e|0;c[g+76>>2]=l;c[g+220>>2]=-1;h=c[d+116>>2]|0;a:do{if((h|0)!=2){c[g+116>>2]=h;h=c[d+128>>2]|0;if((h|0)<=(e|0)){c[g+128>>2]=0;break}if((h|0)<(f|0)){c[g+128>>2]=h-e;break}else{c[g+128>>2]=o;break}}else{Oa(g);k=g+128|0;j=c[k>>2]|0;b:do{if(!j)h=a[p>>0]&1;else{h=a[l>>0]&1;if((j|0)<(o|0)?(a[p>>0]&1)!=h<<24>>24:0){h=2;break}i=1;while(1){if((i|0)==(j|0))break b;if((a[l+i>>0]&1)==h<<24>>24)i=i+1|0;else{h=2;break}}}}while(0);c[g+116>>2]=h&255;switch(h&3){case 0:{a[p>>0]=(a[p>>0]|0)+1<<24>>24&-2;c[k>>2]=0;break a}case 1:{a[p>>0]=a[p>>0]|1;c[k>>2]=0;break a}default:break a}}}while(0);c[g>>2]=d;return}c[h>>2]=1;return}c[h>>2]=27;return}function Na(a){a=a|0;return(a|0)>0|0}function Oa(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;g=c[b+72>>2]|0;h=c[b+76>>2]|0;e=c[b+12>>2]|0;i=a[b+93>>0]|0;if((a[g+(e+-1)>>0]|0)==7){i=e;b=b+128|0;c[b>>2]=i;return}while(1){if((e|0)<=0)break;f=e+-1|0;if(!(1<>0]&8248192))break;else e=f}while(1){if((e|0)<=0){f=8;break}f=e+-1|0;if((a[h+f>>0]|0)==i<<24>>24)e=f;else{f=8;break}}if((f|0)==8){b=b+128|0;c[b>>2]=e;return}}function Pa(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!d){i=0;return i|0}if((Na(c[d>>2]|0)|0)<<24>>24){i=0;return i|0}do{if(b|0){e=c[b>>2]|0;if((e|0)!=(b|0)){if(!e)break;if((c[e>>2]|0)!=(e|0))break}f=c[b+12>>2]|0;if((f|0)<1){c[d>>2]=1;i=0;return i|0}g=b+128|0;h=c[g>>2]|0;if((f|0)==(h|0)){i=c[b+76>>2]|0;return i|0}e=b+48|0;if(!((aa(e,b+24|0,a[b+68>>0]|0,f)|0)<<24>>24)){c[d>>2]=7;i=0;return i|0}e=c[e>>2]|0;d=b+76|0;if((h|0)>0?(i=c[d>>2]|0,(e|0)!=(i|0)):0)ec(e|0,i|0,h|0)|0;fc(e+h|0,a[b+93>>0]|0,f-h|0)|0;c[g>>2]=f;c[d>>2]=e;i=e;return i|0}}while(0);c[d>>2]=27;i=0;return i|0}function Qa(a,b){a=a|0;b=b|0;var d=0;if(!b){d=-1;return d|0}if((Na(c[b>>2]|0)|0)<<24>>24){d=-1;return d|0}do{if(a|0){d=c[a>>2]|0;if((d|0)!=(a|0)){if(!d)break;if((c[d>>2]|0)!=(d|0))break}Ra(a,b);if((Na(c[b>>2]|0)|0)<<24>>24){d=-1;return d|0}d=c[a+220>>2]|0;return d|0}}while(0);c[b>>2]=27;d=-1;return d|0}function Ra(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=e+220|0;if((c[s>>2]|0)>-1)return;do{if((c[e+116>>2]|0)==2){o=c[e+12>>2]|0;r=c[e+76>>2]|0;p=c[e+128>>2]|0;g=0;i=0;h=-2;while(1){if((g|0)>=(p|0))break;q=a[r+g>>0]|0;g=g+1|0;i=i+(q<<24>>24!=h<<24>>24&1)|0;h=q}if((o|0)==(p|0)&(i|0)==1){Sa(e,a[r>>0]|0);break}l=(o|0)>(p|0);q=i+(l&1)|0;g=e+60|0;if(!((aa(g,e+36|0,a[e+69>>0]|0,q*12|0)|0)<<24>>24))return;n=c[g>>2]|0;m=0;g=126;k=0;i=0;while(1){h=a[r+i>>0]|0;g=(h&255)<(g&255)?h:g;k=(h&255)>(k&255)?h:k;j=i;while(1){j=j+1|0;if((j|0)>=(p|0)){h=0;break}if((a[r+j>>0]|0)!=h<<24>>24){h=1;break}}c[n+(m*12|0)>>2]=i;c[n+(m*12|0)+4>>2]=j-i;c[n+(m*12|0)+8>>2]=0;m=m+1|0;if(!h)break;else i=j}if(l){c[n+(m*12|0)>>2]=p;c[n+(m*12|0)+4>>2]=o-p;p=a[e+93>>0]|0;g=(p&255)<(g&255)?p:g}c[e+224>>2]=n;c[s>>2]=q;Ta(e,g,k);g=0;h=0;while(1){if((h|0)==(q|0))break;o=n+(h*12|0)|0;p=c[o>>2]|0;c[o>>2]=d[r+p>>0]<<31|p;o=n+(h*12|0)+4|0;p=(c[o>>2]|0)+g|0;c[o>>2]=p;g=p;h=h+1|0}if(m>>>0>>0){q=d[e+93>>0]|0;r=n+(((q&1|0)==0?m:0)*12|0)|0;c[r>>2]=q<<31|c[r>>2]}}else Sa(e,a[e+93>>0]|0)}while(0);g=c[e+332>>2]|0;a:do{if((g|0)>0){r=c[e+344>>2]|0;h=r+(g<<3)|0;i=e+224|0;g=r;while(1){if(g>>>0>=h>>>0)break a;r=Ua(c[s>>2]|0,c[i>>2]|0,c[g>>2]|0,f)|0;r=(c[i>>2]|0)+(r*12|0)+8|0;c[r>>2]=c[r>>2]|c[g+4>>2];g=g+8|0}}}while(0);if((c[e+348>>2]|0)<=0)return;g=c[e+4>>2]|0;j=g+(c[e+12>>2]<<1)|0;k=g;h=e+224|0;while(1){if(g>>>0>=j>>>0)break;i=b[g>>1]|0;if((i&-4)<<16>>16==8204)t=31;else switch(i<<16>>16){case 8234:case 8235:case 8236:case 8237:case 8238:case 8294:case 8295:case 8296:case 8297:{t=31;break}default:{}}if((t|0)==31){t=0;e=Ua(c[s>>2]|0,c[h>>2]|0,g-k>>1,f)|0;e=(c[h>>2]|0)+(e*12|0)+8|0;c[e>>2]=(c[e>>2]|0)+-1}g=g+2|0}return}function Sa(a,b){a=a|0;b=b|0;var d=0;d=a+228|0;c[a+224>>2]=d;c[a+220>>2]=1;c[d>>2]=(b&255)<<31;c[a+232>>2]=c[a+12>>2];c[a+236>>2]=0;return}function Ta(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=E;E=E+16|0;n=o;if(((b|1)&255)>=(e&255)){E=o;return}l=b+1<<24>>24;m=c[a+224>>2]|0;i=c[a+76>>2]|0;j=a+128|0;k=a+12|0;h=(c[a+220>>2]|0)+(((c[j>>2]|0)<(c[k>>2]|0))<<31>>31)|0;b=e;while(1){b=b+-1<<24>>24;if((b&255)<(l&255))break;a=0;while(1){if((a|0)>=(h|0))break;if((d[i+(c[m+(a*12|0)>>2]|0)>>0]|0)>=(b&255)){e=a;while(1){g=e+1|0;if((g|0)>=(h|0))break;if((d[i+(c[m+(g*12|0)>>2]|0)>>0]|0)<(b&255))break;else e=g}f=e;while(1){if((a|0)>=(f|0))break;q=m+(a*12|0)|0;c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];p=m+(f*12|0)|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];f=f+-1|0;a=a+1|0}if((g|0)==(h|0))break;else a=e+2|0}else a=a+1|0}}if(l&1){E=o;return}b=h+(((c[j>>2]|0)==(c[k>>2]|0))<<31>>31)|0;a=0;while(1){if((a|0)>=(b|0))break;p=m+(a*12|0)|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];q=m+(b*12|0)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];b=b+-1|0;a=a+1|0}E=o;return}function Ua(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=0;f=0;while(1){if((f|0)>=(a|0))break;h=c[b+(f*12|0)+4>>2]|0;j=c[b+(f*12|0)>>2]&2147483647;if((j|0)<=(d|0)?(h-g+j|0)>(d|0):0){i=7;break}g=h;f=f+1|0}if((i|0)==7)return f|0;c[e>>2]=27;j=0;return j|0}function Va(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=E;E=E+16|0;f=h;c[f>>2]=0;do{if(a|0){g=c[a>>2]|0;if((g|0)!=(a|0)){if(!g)break;if((c[g>>2]|0)!=(g|0))break}Ra(a,f);if((Na(c[f>>2]|0)|0)<<24>>24){e=0;E=h;return e|0}if((b|0)>=0?(c[a+220>>2]|0)>(b|0):0){a=a+224|0;f=c[(c[a>>2]|0)+(b*12|0)>>2]|0;if(d|0)c[d>>2]=f&2147483647;if(e|0){a=c[a>>2]|0;if((b|0)>0)a=(c[a+(b*12|0)+4>>2]|0)-(c[a+((b+-1|0)*12|0)+4>>2]|0)|0;else a=c[a+4>>2]|0;c[e>>2]=a}e=f>>>31;E=h;return e|0}c[f>>2]=1;e=0;E=h;return e|0}}while(0);c[f>>2]=27;e=0;E=h;return e|0}function Wa(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!e)return;if((Na(c[e>>2]|0)|0)<<24>>24)return;if(!d){c[e>>2]=1;return}Qa(a,e)|0;if(!((Xa(c[e>>2]|0)|0)<<24>>24))return;m=a+224|0;e=c[m>>2]|0;k=a+220|0;l=e+((c[k>>2]|0)*12|0)|0;n=a+16|0;if((c[n>>2]|0)<1)return;g=0;f=d;while(1){if(e>>>0>=l>>>0)break;h=c[e>>2]|0;j=c[e+4>>2]|0;if((h|0)>-1)while(1){i=f+4|0;c[f>>2]=h;g=g+1|0;if((g|0)<(j|0)){h=h+1|0;f=i}else{f=i;break}}else{i=j-g+(h&2147483647)|0;while(1){i=i+-1|0;h=f+4|0;c[f>>2]=i;g=g+1|0;if((g|0)>=(j|0)){f=h;break}else f=h}}e=e+12|0}if((c[a+332>>2]|0)>0){g=c[k>>2]|0;m=c[m>>2]|0;f=0;e=0;while(1){if((e|0)>=(g|0))break;p=c[m+(e*12|0)+8>>2]|0;f=f+((p&5|0)!=0&1)+((p&10|0)!=0&1)|0;e=e+1|0}e=c[n>>2]|0;while(1){l=g+-1|0;if(!((g|0)>0&(f|0)>0))break;k=c[m+(l*12|0)+8>>2]|0;h=e+-1|0;if(k&10){c[d+(h<<2)>>2]=-1;e=h;f=f+-1|0}if((g|0)>1)j=c[m+((g+-2|0)*12|0)+4>>2]|0;else j=0;i=(f|0)>0;h=c[m+(l*12|0)+4>>2]|0;while(1){g=h+-1|0;if(!(i&(h|0)>(j|0)))break;p=e+-1|0;c[d+(p<<2)>>2]=c[d+(g<<2)>>2];h=g;e=p}g=e+-1|0;if(k&5){c[d+(g<<2)>>2]=-1;e=g;f=f+-1|0}g=l}return}if((c[a+348>>2]|0)<=0)return;p=c[k>>2]|0;o=c[m>>2]|0;a=a+4|0;e=0;m=0;f=0;while(1){if((m|0)>=(p|0))break;n=c[o+(m*12|0)+4>>2]|0;l=n-f|0;g=(c[o+(m*12|0)+8>>2]|0)==0;a:do{if((e|0)==(f|0)&g)e=l+e|0;else{if(g)while(1){if((f|0)>=(n|0))break a;c[d+(e<<2)>>2]=c[d+(f<<2)>>2];f=f+1|0;e=e+1|0}j=c[o+(m*12|0)>>2]|0;i=(j|0)>-1;j=j&2147483647;k=l+-1+j|0;h=0;while(1){if((h|0)>=(l|0))break a;f=i?h+j|0:k-h|0;g=b[(c[a>>2]|0)+(f<<1)>>1]|0;b:do{if((g&-4)<<16>>16!=8204){switch(g<<16>>16){case 8234:case 8235:case 8236:case 8237:case 8238:case 8294:case 8295:case 8296:case 8297:break b;default:{}}c[d+(e<<2)>>2]=f;e=e+1|0}}while(0);h=h+1|0}}}while(0);m=m+1|0;f=n}return}function Xa(a){a=a|0;return(a|0)<1|0}function Ya(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=E;E=E+656|0;j=o+632|0;l=o;m=o+628|0;n=o+624|0;k=o+600|0;if(!g){n=0;E=o;return n|0}if((Za(c[g>>2]|0)|0)<<24>>24){n=0;E=o;return n|0}if(!((a|0)==0|(d|0)<-1)?(h=(e|0)==0,!((f|0)<0|h&(f|0)!=0)):0){if((d|0)==-1)d=ob(a)|0;if((d|0)<1){qb(e,f,0,g)|0;n=0;E=o;return n|0}do{if(!h){if(!(a>>>0<=e>>>0&(a+(d<<1)|0)>>>0>e>>>0)?!(e>>>0<=a>>>0&(e+(f<<1)|0)>>>0>a>>>0):0)break;c[g>>2]=1;n=0;E=o;return n|0}}while(0);c[m>>2]=0;c[n>>2]=0;h=$a(a,d)|0;if((h|0)>(f|0)){c[g>>2]=15;n=h;E=o;return n|0}h=(d|0)>(h|0)?d:h;if((h|0)>=301){i=lb(h<<1)|0;if(!i){c[g>>2]=7;n=0;E=o;return n|0}}else{i=l;h=300}pb(i,a,d)|0;if((h|0)>(d|0))fc(i+(d<<1)|0,0,h-d<<1|0)|0;ab(i,d,m,n);bb(i,d,c[m>>2]|0,c[n>>2]|0);b[k>>1]=8203;b[k+2>>1]=0;c[k+4>>2]=3;c[k+8>>2]=2;c[k+12>>2]=262144;c[k+16>>2]=393216;c[k+20>>2]=0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];d=cb(i,d,g,j)|0;ab(i,d,m,n);bb(i,d,c[m>>2]|0,c[n>>2]|0);pb(e,i,kb(d,f)|0)|0;if((i|0)!=(l|0))nb(i);if((d|0)>(f|0)){c[g>>2]=15;n=d;E=o;return n|0}else{n=qb(e,f,d,g)|0;E=o;return n|0}}c[g>>2]=1;n=0;E=o;return n|0}function Za(a){a=a|0;return(a|0)>0|0}function _a(a){a=a|0;var c=0;c=a&65535;if((a+-1570&65535)<178){c=b[1712+(c+-1570<<1)>>1]|0;return c|0}if(a<<16>>16==8205){c=3;return c|0}if((a+-8301&65535)<3){c=4;return c|0}if((a+1200&65535)<275){c=d[2080+(c+-64336)>>0]|0;return c|0}if((a+400&65535)>=141){c=0;return c|0}c=d[2368+(c+-65136)>>0]|0;return c|0}function $a(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+-1|0;f=0;d=c;while(1){if((f|0)>=(c|0))break;e=b[a+(f<<1)>>1]|0;if((f|0)<(g|0)&e<<16>>16==1604?(ib(b[a+(f+1<<1)>>1]|0)|0)!=0:0)h=6;else if(jb(e)|0)h=6;if((h|0)==6){h=0;d=d+-1|0}f=f+1|0}return d|0}function ab(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=0;while(1){g=(h|0)<(d|0);if(g&(b[a+(h<<1)>>1]|0)==32)h=h+1|0;else break}if(!g){a=0;c[e>>2]=h;c[f>>2]=a;return}g=0;while(1){d=d+-1|0;if((b[a+(d<<1)>>1]|0)!=32)break;else g=g+1|0}c[e>>2]=h;c[f>>2]=g;return}function bb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;c=c-e|0;while(1){c=c+-1|0;if((d|0)>=(c|0))break;g=a+(d<<1)|0;f=b[g>>1]|0;e=a+(c<<1)|0;b[g>>1]=b[e>>1]|0;b[e>>1]=f;d=d+1|0}return}function cb(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=E;E=E+32|0;x=z;j=0;while(1){if((j|0)>=(e|0))break;k=a+(j<<1)|0;h=b[k>>1]|0;i=h&65535;if((h+1200&65535)<176){h=b[1008+(i+-64336<<1)>>1]|0;if(h<<16>>16)b[k>>1]=h}else if((h+400&65535)<141)b[k>>1]=b[1360+(i+-65136<<1)>>1]|0;j=j+1|0}l=e+-1|0;w=l;j=0;h=_a(b[a+(l<<1)>>1]|0)|0;m=0;v=0;r=0;s=0;p=0;k=-2;while(1){if((l|0)==-1)break;o=h&65535;if(!((o&65280|0)==0?((_a(b[a+(l<<1)>>1]|0)|0)&4)==0:0))y=13;do{if((y|0)==13){y=0;n=l+-1|0;while(1){if((k|0)>=0)break;if((n|0)==-1){i=-1;j=0;k=3e3}else{j=_a(b[a+(n<<1)>>1]|0)|0;u=(j&4)==0;i=n+((u^1)<<31>>31)|0;k=u?n:k}n=i}do{if(!((m&16)==0|(o&32|0)==0)){h=a+(l<<1)|0;i=eb(b[h>>1]|0)|0;if(!(i<<16>>16)){h=_a(0)|0;t=v;u=1;break}else{b[h>>1]=-1;b[a+(w<<1)>>1]=i;h=_a(i)|0;t=v;u=1;l=w;break}}else{t=m;u=p}}while(0);if((l|0)>0){if((b[a+(l+-1<<1)>>1]|0)==32){p=b[a+(l<<1)>>1]|0;q=(fb(p)|0)==0;r=p<<16>>16==1574&q?1:r;s=q?s:1}}else if(!l){p=b[a>>1]|0;q=(fb(p)|0)==0;r=p<<16>>16==1574&q?1:r;s=q?s:1}n=j&65535;o=t&65535;q=h&65535;m=q&3;p=d[1648+((n&3)<<4)+((o&3)<<2)+m>>0]|0;if((m|0)!=1){m=a+(l<<1)|0;i=b[m>>1]|0;if(gb(i)|0)if((o&2|0)==0|(n&1|0)==0|(i&-2)<<16>>16==1612)p=0;else p=o>>>4&1^1|n>>>5&1^1}else{i=a+(l<<1)|0;p=p&1;m=i;i=b[i>>1]|0}if(((i^1536)&65535)<256){if(gb(i)|0){b[m>>1]=p+65136+(d[70134+((i&65535)+-1611)>>0]|0);m=t;p=u;break}i=q>>>8;if(q&8|0){b[m>>1]=p+i+64336;m=t;p=u;break}if((i|0)!=0&(q&4|0)==0){b[m>>1]=p+i+65136;m=t;p=u}else{m=t;p=u}}else{m=t;p=u}}}while(0);i=(h&4)==0;n=i?m:v;m=i?h:m;i=i?l:w;o=l+-1|0;if((o|0)!=(k|0)){if(l)h=_a(b[a+(o<<1)>>1]|0)|0}else{h=j;k=-2}w=i;v=n;l=o}if(p){c[x>>2]=c[g>>2];c[x+4>>2]=c[g+4>>2];c[x+8>>2]=c[g+8>>2];c[x+12>>2]=c[g+12>>2];c[x+16>>2]=c[g+16>>2];c[x+20>>2]=c[g+20>>2];e=hb(a,e,f,x)|0}if(!(r|s)){y=e;E=z;return y|0}y=db(e)|0;E=z;return y|0}function db(a){a=a|0;return a|0}function eb(a){a=a|0;switch(a<<16>>16){case 1570:{a=1628;break}case 1571:{a=1629;break}case 1573:{a=1630;break}case 1575:{a=1631;break}default:a=0}return a|0}function fb(a){a=a|0;return(a+-1587&65535)<4|0}function gb(a){a=a|0;return(a+-1611&65535)<8|0}function hb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=(d<<1)+2|0;n=lb(m)|0;if(!n){c[e>>2]=7;n=0;return n|0}fc(n|0,0,m|0)|0;e=0;h=0;g=0;while(1){if((g|0)>=(d|0))break;i=b[a+(g<<1)>>1]|0;if(i<<16>>16==-1){e=e+1|0;h=h+-1|0}else b[n+(h<<1)>>1]=i;h=h+1|0;g=g+1|0}while(1){if((e|0)<=-1)break;b[n+(g<<1)>>1]=0;g=g+-1|0;e=e+-1|0}pb(a,n,d)|0;if(c[f+4>>2]|0){e=ob(a)|0;if(!(c[f+12>>2]|0)){j=0;k=1;l=15}}else{j=1;k=(c[f+12>>2]|0)==0;l=15}if((l|0)==15){fc(n|0,0,m|0)|0;e=d;g=0;i=d;while(1){if((i|0)<=-1)break;h=b[a+(i<<1)>>1]|0;if(j&h<<16>>16==-1|k&h<<16>>16==-2){e=e+1|0;g=g+1|0}else b[n+(e<<1)>>1]=h;e=e+-1|0;i=i+-1|0}e=0;while(1){if((e|0)>=(g|0))break;b[n+(e<<1)>>1]=32;e=e+1|0}pb(a,n,d)|0;e=d}k=(c[f+8>>2]|0)==0;f=(c[f+16>>2]|0)==0;j=f|k^1;if(k|f){fc(n|0,0,m|0)|0;h=0;e=0;g=0;while(1){if((g|0)>=(d|0))break;i=b[a+(g<<1)>>1]|0;if(k&i<<16>>16==-1|j&i<<16>>16==-2){h=h+-1|0;e=e+1|0}else b[n+(h<<1)>>1]=i;h=h+1|0;g=g+1|0}while(1){if((e|0)<=-1)break;b[n+(g<<1)>>1]=32;g=g+-1|0;e=e+-1|0}pb(a,n,d)|0;e=d}nb(n);n=e;return n|0}function ib(a){a=a|0;switch(a<<16>>16){case 1573:case 1571:case 1570:{a=1;break}default:a=a<<16>>16==1575&1}return a|0}function jb(a){a=a|0;return(a&-16)<<16>>16==-400|0}function kb(a,b){a=a|0;b=b|0;return((a|0)>(b|0)?b:a)|0}function lb(a){a=a|0;if(!a)a=70336;else a=Ab(a)|0;return a|0}function mb(a,b){a=a|0;b=b|0;do{if((a|0)!=70336)if(!b){Bb(a);a=70336;break}else{a=Cb(a,b)|0;break}else a=lb(b)|0}while(0);return a|0}function nb(a){a=a|0;if((a|0)==70336)return;Bb(a);return}function ob(a){a=a|0;var c=0;c=a;while(1)if(!(b[c>>1]|0))break;else c=c+2|0;return c-a>>1|0}function pb(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<=0)return a|0;ec(a|0,b|0,c<<1|0)|0;return a|0}function qb(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;do{if(f|0?!((e|0)<0|(rb(c[f>>2]|0)|0)<<24>>24==0):0){if((e|0)<(d|0)){b[a+(e<<1)>>1]=0;if((c[f>>2]|0)!=-124)break;c[f>>2]=0;break}if((e|0)==(d|0)){c[f>>2]=-124;break}else{c[f>>2]=15;break}}}while(0);return e|0}function rb(a){a=a|0;return(a|0)<1|0}function sb(a){a=a|0;var c=0;do{if(a>>>0>=55296){if(a>>>0<65536){c=((a|0)<56320?320:0)+(a>>>5)|0;break}if(a>>>0>1114111){a=4596;a=2512+(a<<1)|0;a=b[a>>1]|0;a=a&255;a=a&31;return a|0}else{c=(a>>>5&63)+(e[2512+((a>>>11)+2080<<1)>>1]|0)|0;break}}else c=a>>>5}while(0);a=((e[2512+(c<<1)>>1]|0)<<2)+(a&31)|0;a=2512+(a<<1)|0;a=b[a>>1]|0;a=a&255;a=a&31;return a|0}function tb(a){a=a|0;var c=0;do{if(a>>>0>=55296){if(a>>>0<65536){c=((a|0)<56320?320:0)+(a>>>5)|0;break}if(a>>>0>1114111){a=3644;a=45584+(a<<1)|0;a=b[a>>1]|0;a=a&31;a=a&65535;return a|0}else{c=(a>>>5&63)+(e[45584+((a>>>11)+2080<<1)>>1]|0)|0;break}}else c=a>>>5}while(0);a=((e[45584+(c<<1)>>1]|0)<<2)+(a&31)|0;a=45584+(a<<1)|0;a=b[a>>1]|0;a=a&31;a=a&65535;return a|0}function ub(a){a=a|0;var c=0;do{if(a>>>0>=55296){if(a>>>0<65536){c=((a|0)<56320?320:0)+(a>>>5)|0;break}if(a>>>0>1114111){c=3644;c=45584+(c<<1)|0;c=b[c>>1]|0;a=vb(a,c)|0;return a|0}else{c=(a>>>5&63)+(e[45584+((a>>>11)+2080<<1)>>1]|0)|0;break}}else c=a>>>5}while(0);c=((e[45584+(c<<1)>>1]|0)<<2)+(a&31)|0;c=45584+(c<<1)|0;c=b[c>>1]|0;a=vb(a,c)|0;return a|0}function vb(a,b){a=a|0;b=b|0;var d=0,e=0;b=b<<16>>16>>13;if((b|0)!=-4){e=b+a|0;return e|0}b=0;while(1){if(b>>>0>=40){b=8;break}e=c[45424+(b<<2)>>2]|0;d=e&2097151;if((d|0)==(a|0)){b=6;break}if((d|0)>(a|0)){b=8;break}else b=b+1|0}if((b|0)==6){e=c[45424+(e>>>21<<2)>>2]&2097151;return e|0}else if((b|0)==8)return a|0;return 0}function wb(a){a=a|0;var c=0,d=0;do{if(a>>>0>=55296){if(a>>>0<65536){c=((a|0)<56320?320:0)+(a>>>5)|0;d=7;break}if(a>>>0>1114111)c=3644;else{c=(a>>>5&63)+(e[45584+((a>>>11)+2080<<1)>>1]|0)|0;d=7}}else{c=a>>>5;d=7}}while(0);if((d|0)==7)c=((e[45584+(c<<1)>>1]|0)<<2)+(a&31)|0;return(b[45584+(c<<1)>>1]&768)>>>8|0}function xb(a){a=a|0;var c=0,d=0;do{if(a>>>0>=55296){if(a>>>0<65536){c=((a|0)<56320?320:0)+(a>>>5)|0;d=7;break}if(a>>>0>1114111)c=3644;else{c=(a>>>5&63)+(e[45584+((a>>>11)+2080<<1)>>1]|0)|0;d=7}}else{c=a>>>5;d=7}}while(0);if((d|0)==7)c=((e[45584+(c<<1)>>1]|0)<<2)+(a&31)|0;c=b[45584+(c<<1)>>1]|0;if(!(c&768))return a|0;a=vb(a,c)|0;return a|0}function yb(a){a=a|0;return ub(a)|0}function zb(a){a=a|0;return xb(a)|0}function Ab(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=E;E=E+16|0;n=t;do{if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[17594]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=70416+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[17594]=m&~(1<>2]=a;c[d>>2]=g}s=b<<3;c[e+4>>2]=s|3;s=e+s+4|0;c[s>>2]=c[s>>2]|1;s=f;E=t;return s|0}l=c[17596]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=70416+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}s=e<<3;h=s-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+s>>2]=h;if(l|0){e=c[17599]|0;b=l>>>3;d=70416+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[17596]=h;c[17599]=f;s=i;E=t;return s|0}g=c[17595]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[70680+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do{if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}}while(0);do{if(f|0){b=c[i+28>>2]|0;a=70680+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[17595]=g&~(1<>2]|0)==(i|0)?s:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);if(j>>>0<16){s=j+k|0;c[i+4>>2]=s|3;s=i+s+4|0;c[s>>2]=c[s>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[17599]|0;b=l>>>3;d=70416+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[17596]=j;c[17599]=h}s=i+8|0;E=t;return s|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[17595]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;r=a<>>16&4;r=r<>>16&2;j=14-(i|m|j)+(r<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[70680+(j<<2)>>2]|0;a:do{if(!d){d=0;a=0;r=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;r=65;break a}else{a=d;f=h}r=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(r|0)==0|(r|0)==(d|0)?g:r;if(!d){d=g;r=61;break}else i=i<<1}}}while(0);if((r|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[70680+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else r=65}if((r|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[17596]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do{if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0 -;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{s=c[i+8>>2]|0;c[s+12>>2]=b;c[b+8>>2]=s}}while(0);do{if(g){a=c[i+28>>2]|0;d=70680+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?s:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}}while(0);b:do{if(h>>>0<16){s=h+k|0;c[i+4>>2]=s|3;s=i+s+4|0;c[s>>2]=c[s>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=70416+(b<<1<<2)|0;a=c[17594]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;d=14-(q|r|d)+(s<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=70680+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}}while(0);r=b+8|0;s=c[r>>2]|0;c[s+12>>2]=l;c[r>>2]=l;c[l+8>>2]=s;c[l+12>>2]=b;c[l+24>>2]=0}}while(0);s=i+8|0;E=t;return s|0}else m=k}else m=k}else m=-1}while(0);d=c[17596]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[17599]|0;if(b>>>0>15){s=a+m|0;c[17599]=s;c[17596]=b;c[s+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[17596]=0;c[17599]=0;c[a+4>>2]=d|3;s=a+d+4|0;c[s>>2]=c[s>>2]|1}s=a+8|0;E=t;return s|0}h=c[17597]|0;if(h>>>0>m>>>0){q=h-m|0;c[17597]=q;s=c[17600]|0;r=s+m|0;c[17600]=r;c[r+4>>2]=q|1;c[s+4>>2]=m|3;s=s+8|0;E=t;return s|0}if(!(c[17712]|0)){c[17714]=4096;c[17713]=4096;c[17715]=-1;c[17716]=-1;c[17717]=0;c[17705]=0;c[17712]=n&-16^1431655768;a=4096}else a=c[17714]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){s=0;E=t;return s|0}a=c[17704]|0;if(a|0?(l=c[17702]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){s=0;E=t;return s|0}d:do{if(!(c[17705]&4)){e=c[17600]|0;e:do{if(e){a=70824;while(1){d=c[a>>2]|0;if(d>>>0<=e>>>0?(q=a+4|0,(d+(c[q>>2]|0)|0)>>>0>e>>>0):0)break;a=c[a+8>>2]|0;if(!a){r=128;break e}}b=g-h&f;if(b>>>0<2147483647){e=gc(b|0)|0;if((e|0)==((c[a>>2]|0)+(c[q>>2]|0)|0)){if((e|0)!=(-1|0))break d}else r=136}else b=0}else r=128}while(0);do{if((r|0)==128){a=gc(0)|0;if((a|0)!=(-1|0)?(b=a,o=c[17713]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[17702]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=c[17704]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}e=gc(b|0)|0;if((e|0)==(a|0)){e=a;break d}else r=136}else b=0}}while(0);do{if((r|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else break d;a=c[17714]|0;a=j-b+a&0-a;if(a>>>0>=2147483647)break d;if((gc(a|0)|0)==(-1|0)){gc(d|0)|0;b=0;break}else{b=a+b|0;break d}}}while(0);c[17705]=c[17705]|4;r=143}else{b=0;r=143}}while(0);if((r|0)==143){if(k>>>0>=2147483647){s=0;E=t;return s|0}e=gc(k|0)|0;q=gc(0)|0;a=q-e|0;d=a>>>0>(m+40|0)>>>0;if((e|0)==(-1|0)|d^1|e>>>0>>0&((e|0)!=(-1|0)&(q|0)!=(-1|0))^1){s=0;E=t;return s|0}else b=d?a:b}a=(c[17702]|0)+b|0;c[17702]=a;if(a>>>0>(c[17703]|0)>>>0)c[17703]=a;j=c[17600]|0;f:do{if(j){a=70824;while(1){d=c[a>>2]|0;f=a+4|0;g=c[f>>2]|0;if((e|0)==(d+g|0)){r=154;break}h=c[a+8>>2]|0;if(!h)break;else a=h}if(((r|0)==154?(c[a+12>>2]&8|0)==0:0)?e>>>0>j>>>0&d>>>0<=j>>>0:0){c[f>>2]=g+b;s=(c[17597]|0)+b|0;q=j+8|0;q=(q&7|0)==0?0:0-q&7;r=j+q|0;q=s-q|0;c[17600]=r;c[17597]=q;c[r+4>>2]=q|1;c[j+s+4>>2]=40;c[17601]=c[17716];break}if(e>>>0<(c[17598]|0)>>>0)c[17598]=e;f=e+b|0;a=70824;while(1){if((c[a>>2]|0)==(f|0)){r=162;break}d=c[a+8>>2]|0;if(!d)break;else a=d}if((r|0)==162?(c[a+12>>2]&8|0)==0:0){c[a>>2]=e;l=a+4|0;c[l>>2]=(c[l>>2]|0)+b;l=e+8|0;l=e+((l&7|0)==0?0:0-l&7)|0;b=f+8|0;b=f+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do{if((j|0)==(b|0)){s=(c[17597]|0)+i|0;c[17597]=s;c[17600]=k;c[k+4>>2]=s|1}else{if((c[17599]|0)==(b|0)){s=(c[17596]|0)+i|0;c[17596]=s;c[17599]=k;c[k+4>>2]=s|1;c[k+s>>2]=s;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do{if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[17594]=c[17594]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do{if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{s=c[b+8>>2]|0;c[s+12>>2]=a;c[a+8>>2]=s}}while(0);if(!g)break;d=c[b+28>>2]|0;e=70680+(d<<2)|0;do{if((c[e>>2]|0)!=(b|0)){s=g+16|0;c[((c[s>>2]|0)==(b|0)?s:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[17595]=c[17595]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=70416+(b<<1<<2)|0;a=c[17594]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;e=14-(q|r|e)+(s<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=70680+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[17595]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}}while(0);r=b+8|0;s=c[r>>2]|0;c[s+12>>2]=k;c[r>>2]=k;c[k+8>>2]=s;c[k+12>>2]=b;c[k+24>>2]=0}}while(0);s=l+8|0;E=t;return s|0}a=70824;while(1){d=c[a>>2]|0;if(d>>>0<=j>>>0?(s=d+(c[a+4>>2]|0)|0,s>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=s+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;r=a+8|0;d=b+-40|0;p=e+8|0;p=(p&7|0)==0?0:0-p&7;q=e+p|0;p=d-p|0;c[17600]=q;c[17597]=p;c[q+4>>2]=p|1;c[e+d+4>>2]=40;c[17601]=c[17716];d=a+4|0;c[d>>2]=27;c[r>>2]=c[17706];c[r+4>>2]=c[17707];c[r+8>>2]=c[17708];c[r+12>>2]=c[17709];c[17706]=e;c[17707]=b;c[17709]=0;c[17708]=r;b=a+24|0;do{r=b;b=b+4|0;c[b>>2]=7}while((r+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=70416+(b<<1<<2)|0;a=c[17594]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;e=14-(q|r|e)+(s<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=70680+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[17595]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}}while(0);r=b+8|0;s=c[r>>2]|0;c[s+12>>2]=j;c[r>>2]=j;c[j+8>>2]=s;c[j+12>>2]=b;c[j+24>>2]=0}}else{s=c[17598]|0;if((s|0)==0|e>>>0>>0)c[17598]=e;c[17706]=e;c[17707]=b;c[17709]=0;c[17603]=c[17712];c[17602]=-1;c[17607]=70416;c[17606]=70416;c[17609]=70424;c[17608]=70424;c[17611]=70432;c[17610]=70432;c[17613]=70440;c[17612]=70440;c[17615]=70448;c[17614]=70448;c[17617]=70456;c[17616]=70456;c[17619]=70464;c[17618]=70464;c[17621]=70472;c[17620]=70472;c[17623]=70480;c[17622]=70480;c[17625]=70488;c[17624]=70488;c[17627]=70496;c[17626]=70496;c[17629]=70504;c[17628]=70504;c[17631]=70512;c[17630]=70512;c[17633]=70520;c[17632]=70520;c[17635]=70528;c[17634]=70528;c[17637]=70536;c[17636]=70536;c[17639]=70544;c[17638]=70544;c[17641]=70552;c[17640]=70552;c[17643]=70560;c[17642]=70560;c[17645]=70568;c[17644]=70568;c[17647]=70576;c[17646]=70576;c[17649]=70584;c[17648]=70584;c[17651]=70592;c[17650]=70592;c[17653]=70600;c[17652]=70600;c[17655]=70608;c[17654]=70608;c[17657]=70616;c[17656]=70616;c[17659]=70624;c[17658]=70624;c[17661]=70632;c[17660]=70632;c[17663]=70640;c[17662]=70640;c[17665]=70648;c[17664]=70648;c[17667]=70656;c[17666]=70656;c[17669]=70664;c[17668]=70664;s=b+-40|0;q=e+8|0;q=(q&7|0)==0?0:0-q&7;r=e+q|0;q=s-q|0;c[17600]=r;c[17597]=q;c[r+4>>2]=q|1;c[e+s+4>>2]=40;c[17601]=c[17716]}}while(0);b=c[17597]|0;if(b>>>0<=m>>>0){s=0;E=t;return s|0}q=b-m|0;c[17597]=q;s=c[17600]|0;r=s+m|0;c[17600]=r;c[r+4>>2]=q|1;c[s+4>>2]=m|3;s=s+8|0;E=t;return s|0}function Bb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[17598]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do{if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[17599]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[17596]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[17594]=c[17594]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do{if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}}while(0);if(f){b=c[h+28>>2]|0;d=70680+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[17595]=c[17595]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[17600]|0)==(j|0)){j=(c[17597]|0)+b|0;c[17597]=j;c[17600]=i;c[i+4>>2]=j|1;if((i|0)!=(c[17599]|0))return;c[17599]=0;c[17596]=0;return}if((c[17599]|0)==(j|0)){j=(c[17596]|0)+b|0;c[17596]=j;c[17599]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do{if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[17594]=c[17594]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do{if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}}while(0);if(g|0){a=c[j+28>>2]|0;b=70680+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[17595]=c[17595]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[17599]|0)){c[17596]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=70416+(a<<1<<2)|0;b=c[17594]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=70680+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[17595]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do{if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}}while(0);j=(c[17602]|0)+-1|0;c[17602]=j;if(j|0)return;a=70832;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[17602]=-1;return}function Cb(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=Ab(b)|0;return b|0}if(b>>>0>4294967231){b=0;return b|0}d=Db(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=Ab(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;ec(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Bb(a);b=d;return b|0}function Db(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[17714]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;Eb(k,d);return a|0}if((c[17600]|0)==(i|0)){k=(c[17597]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[17600]=e;c[17597]=d;return a|0}if((c[17599]|0)==(i|0)){e=(c[17596]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[17596]=d;c[17599]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do{if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[17594]=c[17594]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do{if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}}while(0);if(h|0){d=c[i+28>>2]|0;e=70680+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[17595]=c[17595]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;Eb(i,k);return a|0}return 0}function Eb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[17599]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[17596]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[17594]=c[17594]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do{if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}}while(0);if(g){d=c[h+28>>2]|0;e=70680+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[17595]=c[17595]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a}while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[17600]|0)==(i|0)){i=(c[17597]|0)+b|0;c[17597]=i;c[17600]=h;c[h+4>>2]=i|1;if((h|0)!=(c[17599]|0))return;c[17599]=0;c[17596]=0;return}if((c[17599]|0)==(i|0)){i=(c[17596]|0)+b|0;c[17596]=i;c[17599]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do{if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[17594]=c[17594]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do{if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}}while(0);if(g|0){b=c[i+28>>2]|0;a=70680+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[17595]=c[17595]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[17599]|0)){c[17596]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=70416+(b<<1<<2)|0;a=c[17594]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=70680+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[17595]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function Fb(a,b){a=a|0;b=b|0;if(a>>>0<9){b=Ab(b)|0;return b|0}else{b=Gb(a,b)|0;return b|0}return 0}function Gb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=Ab(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do{if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;Eb(f,b);a=e;b=e;break}}else{a=f;b=f}}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;Eb(f,i)}i=b+8|0;return i|0}function Hb(){t(70888);return}function Ib(){return 70872}function Jb(){return 70880}function Kb(){return 70884}function Lb(){return 70888}function Mb(a){a=a|0;return}function Nb(a){a=a|0;bc(a);return}function Ob(a){a=a|0;return}function Pb(a){a=a|0;return}function Qb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=E;E=E+64|0;f=h;if(!(Ub(a,b)|0))if((b|0)!=0?(g=Yb(b,69792)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;L[c[(c[g>>2]|0)+28>>2]&3](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;E=h;return b|0}function Rb(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(Ub(a,c[b+8>>2]|0)|0)Xb(b,d,e,f);return}function Sb(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do{if(!(Ub(b,c[d+8>>2]|0)|0)){if(Ub(b,c[d>>2]|0)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else Wb(d,e,f)}while(0);return}function Tb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Ub(a,c[b+8>>2]|0)|0)Vb(b,d,e);return}function Ub(a,b){a=a|0;b=b|0;return(a|0)==(b|0)|0}function Vb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+16|0;g=c[f>>2]|0;do{if(g){if((g|0)!=(d|0)){e=b+36|0;c[e>>2]=(c[e>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}b=b+24|0;if((c[b>>2]|0)==2)c[b>>2]=e}else{c[f>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}}while(0);return}function Wb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+4>>2]|0)==(b|0)?(e=a+28|0,(c[e>>2]|0)!=1):0)c[e>>2]=d;return}function Xb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a[b+53>>0]=1;do{if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;g=b+16|0;e=c[g>>2]|0;if(!e){c[g>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){f=b+36|0;c[f>>2]=(c[f>>2]|0)+1;a[b+54>>0]=1;break}g=b+24|0;e=c[g>>2]|0;if((e|0)==2){c[g>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}}while(0);return}function Yb(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=E;E=E+64|0;n=q;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[n>>2]=e;c[n+4>>2]=d;c[n+8>>2]=69808;g=n+12|0;h=n+16|0;i=n+20|0;j=n+24|0;k=n+28|0;l=n+32|0;m=n+40|0;d=Ub(p,e)|0;e=g;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));b[g+40>>1]=0;a[g+42>>0]=0;a:do{if(d){c[n+48>>2]=1;N[c[(c[p>>2]|0)+20>>2]&3](p,n,o,o,1,0);d=(c[j>>2]|0)==1?o:0}else{M[c[(c[p>>2]|0)+24>>2]&3](p,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[m>>2]|0)==1&(c[k>>2]|0)==1&(c[l>>2]|0)==1?c[i>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[j>>2]|0)!=1?!((c[m>>2]|0)==0&(c[k>>2]|0)==1&(c[l>>2]|0)==1):0){d=0;break}d=c[h>>2]|0}}while(0);E=q;return d|0}function Zb(a){a=a|0;bc(a);return}function _b(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(Ub(a,c[b+8>>2]|0)|0)Xb(b,d,e,f);else{a=c[a+8>>2]|0;N[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function $b(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do{if(!(Ub(b,c[d+8>>2]|0)|0)){if(!(Ub(b,c[d>>2]|0)|0)){i=c[b+8>>2]|0;M[c[(c[i>>2]|0)+24>>2]&3](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;N[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do{if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else Wb(d,e,f)}while(0);return}function ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Ub(a,c[b+8>>2]|0)|0)Vb(b,d,e);else{a=c[a+8>>2]|0;L[c[(c[a>>2]|0)+28>>2]&3](a,b,d,e)}return}function bc(a){a=a|0;Bb(a);return}function cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=E;E=E+16|0;e=f;c[e>>2]=c[d>>2];a=J[c[(c[a>>2]|0)+16>>2]&1](a,b,e)|0;if(a)c[d>>2]=c[e>>2];E=f;return a&1|0}function dc(a){a=a|0;if(!a)a=0;else a=(Yb(a,69864)|0)!=0&1;return a|0}function ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){A(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function gc(a){a=a|0;var b=0,d=0,e=0;e=z()|0;d=c[g>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){C(b|0)|0;y(12);return-1}if((b|0)>(e|0))if(!(B(b|0)|0)){y(12);return-1}c[g>>2]=b;return d|0}function hc(a,b,c){a=a|0;b=b|0;c=c|0;return I[a&0](b|0,c|0)|0}function ic(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return J[a&1](b|0,c|0,d|0)|0}function jc(a,b){a=a|0;b=b|0;K[a&7](b|0)}function kc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;L[a&3](b|0,c|0,d|0,e|0)}function lc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;M[a&3](b|0,c|0,d|0,e|0,f|0)}function mc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;N[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function nc(a,b){a=a|0;b=b|0;p(0);return 0}function oc(a,b,c){a=a|0;b=b|0;c=c|0;p(1);return 0}function pc(a){a=a|0;p(2)}function qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;p(3)}function rc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;p(4)}function sc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;p(5)}var I=[nc];var J=[oc,Qb];var K=[pc,Mb,Nb,Ob,Pb,Zb,pc,pc];var L=[qc,Tb,ac,qc];var M=[rc,Sb,$b,rc];var N=[sc,Rb,_b,sc];return{___cxa_can_catch:cc,___cxa_is_pointer_type:dc,___emscripten_environ_constructor:Hb,__get_daylight:Jb,__get_environ:Lb,__get_timezone:Kb,__get_tzname:Ib,_bidi_getLine:Y,_bidi_getParagraphEndIndex:U,_bidi_getVisualRun:V,_bidi_processText:T,_bidi_setLine:W,_bidi_writeReverse:X,_emscripten_replace_memory:H,_free:Bb,_malloc:Ab,_memalign:Fb,_memcpy:ec,_memset:fc,_sbrk:gc,_ushape_arabic:S,dynCall_iii:hc,dynCall_iiii:ic,dynCall_vi:jc,dynCall_viiii:kc,dynCall_viiiii:lc,dynCall_viiiiii:mc,establishStackSpace:R,stackAlloc:O,stackRestore:Q,stackSave:P}}(asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bidi_getLine=Module["_bidi_getLine"]=asm["_bidi_getLine"];var _bidi_getParagraphEndIndex=Module["_bidi_getParagraphEndIndex"]=asm["_bidi_getParagraphEndIndex"];var _bidi_getVisualRun=Module["_bidi_getVisualRun"]=asm["_bidi_getVisualRun"];var _bidi_processText=Module["_bidi_processText"]=asm["_bidi_processText"];var _bidi_setLine=Module["_bidi_setLine"]=asm["_bidi_setLine"];var _bidi_writeReverse=Module["_bidi_writeReverse"]=asm["_bidi_writeReverse"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _ushape_arabic=Module["_ushape_arabic"]=asm["_ushape_arabic"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;Module["ccall"]=ccall;Module["UTF16ToString"]=UTF16ToString;Module["stringToUTF16"]=stringToUTF16;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();"use strict";function applyArabicShaping(input){if(!input){return input}var nDataBytes=(input.length+1)*2;var stringInputPtr=Module._malloc(nDataBytes);Module.stringToUTF16(input,stringInputPtr,nDataBytes);var returnStringPtr=Module.ccall("ushape_arabic","number",["number","number"],[stringInputPtr,input.length]);Module._free(stringInputPtr);if(returnStringPtr===0){return input}var result=Module.UTF16ToString(returnStringPtr);Module._free(returnStringPtr);return result}function mergeParagraphLineBreakPoints(lineBreakPoints,paragraphCount){var mergedParagraphLineBreakPoints=[];for(var i=0;imergedParagraphLineBreakPoints[mergedParagraphLineBreakPoints.length-1])){mergedParagraphLineBreakPoints.push(lineBreakPoint)}}mergedParagraphLineBreakPoints.push(paragraphEndIndex)}for(var i$2=0,list$1=lineBreakPoints;i$2mergedParagraphLineBreakPoints[mergedParagraphLineBreakPoints.length-1]){mergedParagraphLineBreakPoints.push(lineBreakPoint$1)}}return mergedParagraphLineBreakPoints}function setParagraph(input,stringInputPtr,nDataBytes){if(!input){return null}Module.stringToUTF16(input,stringInputPtr,nDataBytes);var paragraphCount=Module.ccall("bidi_processText","number",["number","number"],[stringInputPtr,input.length]);if(paragraphCount===0){Module._free(stringInputPtr);return null}return paragraphCount}function processBidirectionalText(input,lineBreakPoints){var nDataBytes=(input.length+1)*2;var stringInputPtr=Module._malloc(nDataBytes);var paragraphCount=setParagraph(input,stringInputPtr,nDataBytes);if(!paragraphCount){return[input]}var mergedParagraphLineBreakPoints=mergeParagraphLineBreakPoints(lineBreakPoints,paragraphCount);var lineStartIndex=0;var lines=[] -;for(var i=0,list=mergedParagraphLineBreakPoints;i=logicalStart;j--){if(currentStyleIndex!==styleIndices[j]||j===logicalStart){var styleRunEnd=j===logicalStart?j:j+1;var reversed=writeReverse(stringInputPtr,styleRunEnd,styleRunStart);if(!reversed){Module._free(stringInputPtr);return[]}lineText+=reversed;for(var k=0;k $REMOTE_PATH/existing_syria_data.sql" + +# 2. Download the dump to local Mac +echo "📥 Downloading dump to Mac..." +rsync -avz -e "ssh -i $KEY_PATH" "$SERVER_USER@$SERVER_IP:$REMOTE_PATH/existing_syria_data.sql" infrastructure/docker/postgis/ + +echo "✅ Download complete: infrastructure/docker/postgis/existing_syria_data.sql" +echo "Now run ./infrastructure/scripts/local_db_prep.sh to merge." diff --git a/infrastructure/scripts/execute_import.sh b/infrastructure/scripts/execute_import.sh new file mode 100755 index 0000000..198b3ac --- /dev/null +++ b/infrastructure/scripts/execute_import.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# Script to execute Syria data import on the server +# To be run from /home/hamzadoctor/app + +APP_DIR="/home/hamzadoctor/app" +CSV_FILE="syria_final_complete.csv" +SQL_FILE="infrastructure/docker/postgis/import_syria_csv.sql" + +echo "📦 Transferring CSV to PostGIS container..." +docker cp "$APP_DIR/$CSV_FILE" map-db:/tmp/syria_data.csv + +echo "💾 Running SQL import script..." +# We use docker compose exec db psql to run the logic +# First, update the SQL logic to use the /tmp path for COPY +# We'll create a temporary SQL wrapper to handle the COPY command with the correct path + +docker exec -i map-db psql -U mapuser -d mapdb < infrastructure/docker/postgis/syria_export.sql + +echo "--------------------------------" +echo "✅ Verification complete. Export saved to: infrastructure/docker/postgis/syria_export.sql" +echo "If you are happy with the results, run sync_to_server.sh to push the data." diff --git a/infrastructure/scripts/server_restore.sh b/infrastructure/scripts/server_restore.sh new file mode 100644 index 0000000..0777f34 --- /dev/null +++ b/infrastructure/scripts/server_restore.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Server Restoration Script for Syria Landmarks +# To be run on the server terminal + +set -e + +APP_DIR="/home/hamzadoctor/app" +EXPORT_FILE="infrastructure/docker/postgis/syria_export.sql" + +echo "🔄 Restoring Syria landmarks to production database..." + +# 1. Clean existing manual imports to avoid PK conflicts +echo "🧹 Clearing existing manual entries..." +docker exec -i map-db psql -U mapuser -d mapdb -c "DELETE FROM places_syria WHERE source = 'manual_import_2026_04';" + +# 2. Inject the SQL dump +echo "📥 Injecting SQL dump..." +docker exec -i map-db psql -U mapuser -d mapdb < "$APP_DIR/$EXPORT_FILE" + +# 3. Refresh API cache +echo "🧹 Flushing Redis..." +docker exec -i map-redis redis-cli flushall + +echo "✅ Restoration complete! Syria landmarks are live." diff --git a/migrate_jordan.py b/migrate_jordan.py new file mode 100644 index 0000000..717015f --- /dev/null +++ b/migrate_jordan.py @@ -0,0 +1,98 @@ +import csv +import os + +def parse_jordan_csv(csv_file): + print(f"Parsing {csv_file}...") + records = [] + if not os.path.exists(csv_file): + print(f"CSV file {csv_file} not found!") + return [] + + with open(csv_file, 'r', encoding='utf-8') as f: + reader = csv.DictReader(f) + for row in reader: + try: + # Column names: الاسم,latitude,longitude,الفئة الرئيسية,المحافظة,الرابط المباشر,تاريخ الرصد + name_ar = row['الاسم'].strip() + lat = float(row['latitude']) + lng = float(row['longitude']) + category = row['الفئة الرئيسية'].strip() + city = row['المحافظة'].strip() + link = row['الرابط المباشر'].strip() + created_at = row['تاريخ الرصد'].strip() + + records.append({ + 'name_ar': name_ar, + 'name': name_ar, # Use Arabic name for both as no English name provided + 'lat': lat, + 'lng': lng, + 'category': category, + 'city': city, + 'link': link, + 'created_at': created_at, + 'source': 'csv' + }) + except Exception as e: + # print(f"Error parsing row: {e}") + continue + return records + +def merge_and_deduplicate(csv_records): + final_records = [] + seen_points = set() + + new_added = 0 + for r in csv_records: + if not r['name_ar']: continue + # Creating a key for de-duplication based on name and rounded coordinates + key = (r['name_ar'].lower().strip(), round(r['lat'], 5), round(r['lng'], 5)) + if key not in seen_points: + final_records.append(r) + seen_points.add(key) + new_added += 1 + + print(f"CSV records parsed: {len(csv_records)}") + print(f"Unique records: {new_added}") + return final_records + +def write_final_sql(merged_records, output_file): + print(f"Writing final SQL to {output_file}...") + with open(output_file, 'w', encoding='utf-8') as f: + f.write("-- Jordan Location Data Combined\n") + f.write("TRUNCATE TABLE places_jordan RESTART IDENTITY;\n\n") + + batch_size = 500 + for i in range(0, len(merged_records), batch_size): + batch = merged_records[i:i+batch_size] + f.write('INSERT INTO "places_jordan" (name, name_ar, latitude, longitude, category, city, link, created_at, location) VALUES\n') + + values_list = [] + for r in batch: + name = r['name'].replace("'", "''") + name_ar = r['name_ar'].replace("'", "''") + category = r['category'].replace("'", "''") + city = r['city'].replace("'", "''") + link = r['link'].replace("'", "''") + created_at = r['created_at'] + lat = r['lat'] + lng = r['lng'] + + # ST_SetSRID(ST_MakePoint(lon, lat), 4326) + val = f"('{name}', '{name_ar}', {lat}, {lng}, '{category}', '{city}', '{link}', '{created_at}', ST_SetSRID(ST_MakePoint({lng}, {lat}), 4326))" + values_list.append(val) + + f.write(",\n".join(values_list)) + f.write(";\n\n") + +if __name__ == "__main__": + csv_file = 'infrastructure/docker/postgis/jordan_data.csv' + output_file = 'jordan_combined_final.sql' + + # If running on server, adjust path if needed + if not os.path.exists(csv_file): + csv_file = 'jordan_data.csv' + + csv_records = parse_jordan_csv(csv_file) + merged = merge_and_deduplicate(csv_records) + write_final_sql(merged, output_file) + print(f"Generation complete! File: {output_file}") diff --git a/sync_to_server.sh b/sync_to_server.sh new file mode 100755 index 0000000..f40f364 --- /dev/null +++ b/sync_to_server.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# Configuration +SERVER_IP="188.68.36.205" +SERVER_USER="hamzadoctor" +REMOTE_PATH="/home/hamzadoctor/app" +KEY_PATH="/Users/hamzaaleghwairyeen/.ssh/doctory-key" + +echo "🚀 Starting sync to server: $SERVER_IP..." + +# Verify if the key exists +if [ ! -f "$KEY_PATH" ]; then + echo "⚠️ Warning: Identity file $KEY_PATH not found locally." + echo "Attempting sync using default SSH configuration..." + KEY_FLAG="" +else + KEY_FLAG="-i $KEY_PATH" +fi + +# Sync files using rsync (surgical sync) +rsync -avz --progress $KEY_FLAG \ + --exclude 'infrastructure/osm-data' \ + --exclude 'osm-data' \ + --exclude 'venv' \ + --exclude '.git' \ + --exclude 'node_modules' \ + --exclude '.DS_Store' \ + .env \ + docker-compose.yml \ + apps \ + packages \ + infrastructure \ + $SERVER_USER@$SERVER_IP:$REMOTE_PATH/ + +if [ $? -eq 0 ]; then + echo "✅ Sync successful!" + echo "------------------------------------------------" + echo "Now run the following on your SERVER terminal:" + echo "cd $REMOTE_PATH" + echo "docker-compose up -d --build api" + echo "------------------------------------------------" +else + echo "❌ Sync failed. Please check your SSH connection or manually update the files." +fi