From 7eea5c9ca13b0dd85a86ed07dc4786b4e47ca184 Mon Sep 17 00:00:00 2001 From: zefie Date: Tue, 8 Apr 2025 14:22:36 -0400 Subject: [PATCH] initial commit --- .gitignore | 15 + .idea/.gitignore | 3 + .idea/AndroidProjectSystem.xml | 6 + .idea/codeStyles/Project.xml | 123 + .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/compiler.xml | 6 + .idea/deploymentTargetSelector.xml | 18 + .idea/gradle.xml | 20 + .idea/kotlinc.xml | 6 + .idea/migrations.xml | 10 + .idea/misc.xml | 10 + .idea/runConfigurations.xml | 17 + .idea/vcs.xml | 6 + app/.gitignore | 1 + app/build.gradle.kts | 63 + app/proguard-rules.pro | 21 + .../zefie/zkiosk/ExampleInstrumentedTest.kt | 24 + app/src/main/AndroidManifest.xml | 31 + app/src/main/assets/assets/css/style.css | 434 ++ .../assets/assets/fonts/digital-7_mono.ttf | Bin 0 -> 34404 bytes app/src/main/assets/assets/img/alarm_dark.jpg | Bin 0 -> 1367 bytes .../main/assets/assets/img/alarm_light.jpg | Bin 0 -> 1367 bytes app/src/main/assets/assets/img/bg.jpg | Bin 0 -> 2614 bytes app/src/main/assets/assets/img/purple.png | Bin 0 -> 557 bytes .../main/assets/assets/js/jquery-3.6.4.min.js | 2 + app/src/main/assets/assets/js/moment.js | 5685 +++++++++++++++++ app/src/main/assets/assets/js/script.js | 104 + app/src/main/assets/assets/js/z-roofcam.js | 102 + app/src/main/assets/assets/js/z-roofcam2.js | 96 + app/src/main/assets/assets/js/z-wx.js | 116 + app/src/main/assets/clock.html | 245 + app/src/main/assets/radar.html | 55 + app/src/main/ic_launcher-playstore.png | Bin 0 -> 210843 bytes .../java/com/zefie/zkiosk/MainActivity.kt | 320 + .../main/java/com/zefie/zkiosk/VLCPlayer.kt | 108 + .../java/com/zefie/zkiosk/ui/theme/Color.kt | 11 + .../java/com/zefie/zkiosk/ui/theme/Theme.kt | 58 + .../java/com/zefie/zkiosk/ui/theme/Type.kt | 34 + .../res/drawable/ic_launcher_background.xml | 74 + .../res/drawable/ic_launcher_foreground.xml | 30 + .../main/res/drawable/slider_background.xml | 6 + .../res/drawable/slider_value_background.xml | 6 + .../main/res/layout-land/activity_main.xml | 117 + app/src/main/res/layout/activity_main.xml | 116 + .../main/res/layout/popup_slider_value.xml | 11 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 3040 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 0 -> 8302 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 4470 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 1870 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 0 -> 4242 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 2896 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 4556 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 0 -> 14220 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 6604 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 8534 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 0 -> 32650 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 11750 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 13814 bytes .../ic_launcher_foreground.webp | Bin 0 -> 58464 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 18486 bytes app/src/main/res/values/colors.xml | 10 + app/src/main/res/values/strings.xml | 6 + app/src/main/res/values/themes.xml | 5 + app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + build.gradle.kts | 6 + gradle.properties | 23 + gradle/libs.versions.toml | 38 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 + gradlew.bat | 89 + settings.gradle.kts | 23 + 75 files changed, 8548 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/AndroidProjectSystem.xml create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 .idea/vcs.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle.kts create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/zefie/zkiosk/ExampleInstrumentedTest.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/assets/assets/css/style.css create mode 100644 app/src/main/assets/assets/fonts/digital-7_mono.ttf create mode 100644 app/src/main/assets/assets/img/alarm_dark.jpg create mode 100644 app/src/main/assets/assets/img/alarm_light.jpg create mode 100644 app/src/main/assets/assets/img/bg.jpg create mode 100644 app/src/main/assets/assets/img/purple.png create mode 100644 app/src/main/assets/assets/js/jquery-3.6.4.min.js create mode 100644 app/src/main/assets/assets/js/moment.js create mode 100644 app/src/main/assets/assets/js/script.js create mode 100644 app/src/main/assets/assets/js/z-roofcam.js create mode 100644 app/src/main/assets/assets/js/z-roofcam2.js create mode 100644 app/src/main/assets/assets/js/z-wx.js create mode 100644 app/src/main/assets/clock.html create mode 100644 app/src/main/assets/radar.html create mode 100644 app/src/main/ic_launcher-playstore.png create mode 100644 app/src/main/java/com/zefie/zkiosk/MainActivity.kt create mode 100644 app/src/main/java/com/zefie/zkiosk/VLCPlayer.kt create mode 100644 app/src/main/java/com/zefie/zkiosk/ui/theme/Color.kt create mode 100644 app/src/main/java/com/zefie/zkiosk/ui/theme/Theme.kt create mode 100644 app/src/main/java/com/zefie/zkiosk/ui/theme/Type.kt create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/slider_background.xml create mode 100644 app/src/main/res/drawable/slider_value_background.xml create mode 100644 app/src/main/res/layout-land/activity_main.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/popup_slider_value.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 build.gradle.kts create mode 100644 gradle.properties create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7643783 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,123 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..4c9ea6e --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..7b3006b --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..6d0ee1c --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..74dd639 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..51be41a --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,63 @@ +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.compose) +} + +android { + namespace = "com.zefie.zkiosk" + compileSdk = 35 + + defaultConfig { + applicationId = "com.zefie.zkiosk" + minSdk = 30 + targetSdk = 35 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + kotlinOptions { + jvmTarget = "11" + } + buildFeatures { + compose = true + } +} + +dependencies { + + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.lifecycle.runtime.ktx) + implementation(libs.androidx.activity.compose) + implementation(platform(libs.androidx.compose.bom)) + implementation(libs.androidx.ui) + implementation(libs.androidx.ui.graphics) + implementation(libs.androidx.ui.tooling.preview) + implementation(libs.androidx.material3) + implementation(libs.androidx.appcompat) + implementation(libs.material) + implementation(libs.libvlc.all) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.junit) + androidTestImplementation(libs.androidx.espresso.core) + androidTestImplementation(platform(libs.androidx.compose.bom)) + androidTestImplementation(libs.androidx.ui.test.junit4) + debugImplementation(libs.androidx.ui.tooling) + debugImplementation(libs.androidx.ui.test.manifest) + +} \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/com/zefie/zkiosk/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/zefie/zkiosk/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..64f0add --- /dev/null +++ b/app/src/androidTest/java/com/zefie/zkiosk/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.zefie.zkiosk + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.zefie.zkiosk", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..aa76fd8 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/assets/css/style.css b/app/src/main/assets/assets/css/style.css new file mode 100644 index 0000000..e393865 --- /dev/null +++ b/app/src/main/assets/assets/css/style.css @@ -0,0 +1,434 @@ +/*------------------------- + Simple reset +--------------------------*/ + + +*{ + margin:0; + padding:0; +} + + +/*------------------------- + General Styles +--------------------------*/ + + +html{ + background-color: #1f0626; + overflow:hidden; +} + +body{ + font:32px/1.3 Arial, sans-serif; + color: #cacaca; + z-index:1; + +} + +a, a:visited { + outline:none; + color:#389dc1; +} + +a:hover{ + text-decoration:none; +} + +section, footer, header, aside{ + display: block; +} + + +/*------------------------- + The clocks +--------------------------*/ + + +#clock{ + transform: scale(1.8); + transform-origin: 0 0; + width:370px; + margin:5px 5px 5px 5px; + position:relative; +} + + +#clock .display{ + text-align:center; + padding: 40px 20px 20px; + border-radius:6px; + position:relative; + height: 62px; +} + +#clock .date { + font-style: italic; + font:15px/1.3 Arial, sans-serif; +} + +/*------------------------- + Dark color theme +--------------------------*/ + + +#clock.dark{ + background-color:#19041f; + color:#8f32a8; +} + +#clock.dark .digits div span{ + background-color:#8f32a8; + border-color:#8f32a8; +} + +#clock.dark .alarm{ + background:url('../img/alarm_dark.jpg'); +} + +#clock.dark .display{ + background-color:#19041f; + box-shadow:0 1px 1px rgba(0,0,0,0.08) inset, 0 1px 1px #000; +} + +#clock.dark .digits div.dots:before, +#clock.dark .digits div.dots:after{ + background-color:#8f32a8; +} + + +/*------------------------- + The Digits +--------------------------*/ + + +#clock .digits div{ + text-align:left; + position:relative; + width: 28px; + height:50px; + display:inline-block; + margin:0 4px; +} + +#clock .digits div span{ + opacity:0; + position:absolute; + + -webkit-transition:0.25s; + -moz-transition:0.25s; + transition:0.25s; +} + +#clock .digits div span:before, +#clock .digits div span:after{ + content:''; + position:absolute; + width:0; + height:0; + border:5px solid transparent; +} + +#clock .digits .d1{ height:5px;width:16px;top:0;left:6px;} +#clock .digits .d1:before{ border-width:0 5px 5px 0;border-right-color:inherit;left:-5px;} +#clock .digits .d1:after{ border-width:0 0 5px 5px;border-left-color:inherit;right:-5px;} + +#clock .digits .d2{ height:5px;width:16px;top:24px;left:6px;} +#clock .digits .d2:before{ border-width:3px 4px 2px;border-right-color:inherit;left:-8px;} +#clock .digits .d2:after{ border-width:3px 4px 2px;border-left-color:inherit;right:-8px;} + +#clock .digits .d3{ height:5px;width:16px;top:48px;left:6px;} +#clock .digits .d3:before{ border-width:5px 5px 0 0;border-right-color:inherit;left:-5px;} +#clock .digits .d3:after{ border-width:5px 0 0 5px;border-left-color:inherit;right:-5px;} + +#clock .digits .d4{ width:5px;height:14px;top:7px;left:0;} +#clock .digits .d4:before{ border-width:0 5px 5px 0;border-bottom-color:inherit;top:-5px;} +#clock .digits .d4:after{ border-width:0 0 5px 5px;border-left-color:inherit;bottom:-5px;} + +#clock .digits .d5{ width:5px;height:14px;top:7px;right:0;} +#clock .digits .d5:before{ border-width:0 0 5px 5px;border-bottom-color:inherit;top:-5px;} +#clock .digits .d5:after{ border-width:5px 0 0 5px;border-top-color:inherit;bottom:-5px;} + +#clock .digits .d6{ width:5px;height:14px;top:32px;left:0;} +#clock .digits .d6:before{ border-width:0 5px 5px 0;border-bottom-color:inherit;top:-5px;} +#clock .digits .d6:after{ border-width:0 0 5px 5px;border-left-color:inherit;bottom:-5px;} + +#clock .digits .d7{ width:5px;height:14px;top:32px;right:0;} +#clock .digits .d7:before{ border-width:0 0 5px 5px;border-bottom-color:inherit;top:-5px;} +#clock .digits .d7:after{ border-width:5px 0 0 5px;border-top-color:inherit;bottom:-5px;} + + +/* 1 */ + +#clock .digits div.one .d5, +#clock .digits div.one .d7{ + opacity:1; +} + +/* 2 */ + +#clock .digits div.two .d1, +#clock .digits div.two .d5, +#clock .digits div.two .d2, +#clock .digits div.two .d6, +#clock .digits div.two .d3{ + opacity:1; +} + +/* 3 */ + +#clock .digits div.three .d1, +#clock .digits div.three .d5, +#clock .digits div.three .d2, +#clock .digits div.three .d7, +#clock .digits div.three .d3{ + opacity:1; +} + +/* 4 */ + +#clock .digits div.four .d5, +#clock .digits div.four .d2, +#clock .digits div.four .d4, +#clock .digits div.four .d7{ + opacity:1; +} + +/* 5 */ + +#clock .digits div.five .d1, +#clock .digits div.five .d2, +#clock .digits div.five .d4, +#clock .digits div.five .d3, +#clock .digits div.five .d7{ + opacity:1; +} + +/* 6 */ + +#clock .digits div.six .d1, +#clock .digits div.six .d2, +#clock .digits div.six .d4, +#clock .digits div.six .d3, +#clock .digits div.six .d6, +#clock .digits div.six .d7{ + opacity:1; +} + + +/* 7 */ + +#clock .digits div.seven .d1, +#clock .digits div.seven .d5, +#clock .digits div.seven .d7{ + opacity:1; +} + +/* 8 */ + +#clock .digits div.eight .d1, +#clock .digits div.eight .d2, +#clock .digits div.eight .d3, +#clock .digits div.eight .d4, +#clock .digits div.eight .d5, +#clock .digits div.eight .d6, +#clock .digits div.eight .d7{ + opacity:1; +} + +/* 9 */ + +#clock .digits div.nine .d1, +#clock .digits div.nine .d2, +#clock .digits div.nine .d3, +#clock .digits div.nine .d4, +#clock .digits div.nine .d5, +#clock .digits div.nine .d7{ + opacity:1; +} + +/* 0 */ + +#clock .digits div.zero .d1, +#clock .digits div.zero .d3, +#clock .digits div.zero .d4, +#clock .digits div.zero .d5, +#clock .digits div.zero .d6, +#clock .digits div.zero .d7{ + opacity:1; +} + + +/* The dots */ + +#clock .digits div.dots{ + width:5px; +} + +#clock .digits div.dots:before, +#clock .digits div.dots:after{ + width:5px; + height:5px; + content:''; + position:absolute; + left:0; + top:14px; +} + +#clock .digits div.dots:after{ + top:34px; +} + + +/*------------------------- + Weekdays +--------------------------*/ + + +#clock .weekdays{ + font-size:12px; + position:absolute; + width:100%; + top:10px; + left:0; + text-align:center; +} + + +#clock .weekdays span{ + opacity:0.2; + padding:0 10px; +} + +#clock .weekdays span.active{ + opacity:1; +} + + +/*------------------------- + AM/PM +--------------------------*/ + + +#clock .ampm{ + position:absolute; + bottom:24px; + right:20px; + font-size:12px; +} + +/*------------------------- + zefie's shit +--------------------------*/ + +.rounded { + border: 3px solid #000; + border-radius: 10px; +} + +#roofcam { + margin-left: 15px; + margin-top: 10px; +} + +#doppler { + position: absolute; + top: 1142px; + left: 2051px; + zoom: 88%; +} + +#currentwx { + position: absolute; + top: 14px; + left: 1806px; + width: 700px; +} + +#wx #icon { + position: relative; + top: -42px; + left: -20px; +} + +#wx #description { + position: relative; + top: -188px; + left: 345px; +} + +#wx #location { + position: relative; + top: -398px; + left: 160px; +} + +#wx #wind { + position: relative; + top: -148px; + left: 17px; +} + +#wx #temp { + position: absolute; + top: 6px; + left: 170px; + margin: 0 auto; + text-align: center; + color: #fff; + font-size: 3em; +} + +#wx #feels_like { + position: absolute; + top: 64px; + left: 348px; + margin: 0 auto; + text-align: center; +} + +#forecast { + position: relative; + top: -124px; + left: 20px; +} + +.forecast_day img { + vertical-align: middle; +} + +.forecast_day { + padding-top: 4px; + margin-bottom: 4px; + border-top: 2px solid #CDCDCD; + width: 620px; +} + +#currentwx .rounded { + max-height: 978px; + position: relative; + left: -3px; +} + +#roofcam .rounded, +#videoPlayer { + height: 1000px; + width: 1770px; +} + +#videoPlayer2 { + position: absolute; + top: 7px; + left: 1130px; + height: 375px; + width: 655px; +} + +.forecast_icon { + margin: -5px 0px -5px 10px; +} + +#dopplerimg { + width: 790px; + height: 446px; +} \ No newline at end of file diff --git a/app/src/main/assets/assets/fonts/digital-7_mono.ttf b/app/src/main/assets/assets/fonts/digital-7_mono.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a481b97b4f84fd4199360c511517a5cf22d2a664 GIT binary patch literal 34404 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 m&Ifw;fgE+4ovl3OPUNrQjlj-LXj=# zY?-CXT#@5Tq9{I0L6&0~7BUp>Z_NI4;ks&COW&RHZkI>h*fX9$!S> z35Js-De?hf0V4|jk`rkCg5&QSdQeSY_bfNCkV8ctwRzMHsx;1YqXgS+w?~e*?Urpv zbq&ydFl%n5u`Sx4TXIci*7Q-=(@hNDHzecU?Hniq;%wxDo`oMpTU3$WwM{2zsZ|=^ z6b;LeYjs$GYE$G(kS$j@t^#4LF7b6mg{)c^;n2r++%l__1W9SCP*ORr0qZqMt*}D5 z#)+`3@Qoq2<@kZ-=;ko4h2w5=8#{7k#WS@4d2S*xsVYE7?gZIV5ixK_;GJ|mk#znkx%(z#qdpUdrun?m;{qCf&^nE5hICk6=;AUh^?Oo)?)D_HvQX1fU!wH#EDoeF~Y`(v3Md$?u9_h zagWpUJoz6QN08z7ARWVWGDdZ|?r`hgItBOZT6hdv1U3uD^TNj!t*p zIdWC|>+98Jh_1a$trQ!lNIeR$>4t>rT(_0_eT k*6ZJ1UYTBhrL|xGoc32%o3E~2`ThD6Bhvaj8^|fg)9CWlD-% ztEOg1byPZqMg{x>GjvjUlF~?)DdSa|0Pu1B8IY_}1b|V#5}HIOP$sCBW$KlyGFL>% zGn3>T1sJ%5?4QBSQ0vr6qm-PXPSzN>83Evgb1t&Cim4!ZLdBRA0P?J?I1_V-&*yAaX-ds1#ftA7VqWh{a$+G(R?-&W0c!pTpn_V2B3u zS2x8)@n!Qx0zMP=W3reu4t>&AtT7m+8o6?kSB3Dtv1NbI zmMhRJrADnjLaR-l?10b&tx;=8(CWy7RlejXl}4dWH&`F%b*`{duS!!YM0%~7JW*Y) z>V51?Hp5o{afD15iJMO6@##zf6K1jaY=%Gx3&A(GivOo#R3sRxwKd*pl}QoOf7b0( z<0FTu(NSuUdC?<-Vfh1?HPP;Xq5&B|l%)sA1yEB!BRe!2S&`*6FlY<{WWid2!A)SA z6*g0_nj_jc37!<;fApn8E=)6q5<5$P=11X(@%e#-a_*Y)-FHF;8T|m@T-4Jt-Cd(|? zLWWb^e?}XH3q0>oKRIasYK7;$L;MTopH|+01Ey!%vxYnKMJU^4_L$A(P}7Z}g{(G$2`fYKM_F@D;IaEtyh!|IF5l&>C*6Fs zoRHTl@`gpvn)ZsvxV@oYkk@C%%WNSpkE8$cjPO@1Wjh1kD|>B8itLNObu3*&DmYTn z?C0l}%d0yacEP>XE`5V$na8J}-Oam>hfZ^|k`KEKcl|lkcB%O4LeqMmfkHUvbARec z+Gv$iO;q@1?Jl+L35x-Y zCTziBr!KR%uw~}wdlQ`sUa8gjyi>lnc@YIc63`-Z;;wy%}?82=;|sfO$xlY5$JO72Cv;eb|=w{UaiP;`Um-P zP29DtsyyD-#^jf2+}N4~f*(|>Epi65#Wg)c2`30O?sHE<86WLE;<%Ohai6oaq^4#5 zMiO@HvkovQq^el^Xm{?u{n}7Zhdg5Z{$`C~tFGAAKoCalQ;Wu4aB?}9+MONs!lz0G4$58aJk&(>Oy4sV zW_*gC@I@ZjblyNGW63k$_Tc4?UH=p`Y)yh^CI3*(?(c2$N& z6b?E%WA6$U#kMW&&M6^Y1j}$H0WLvgN*Sqk@w|hN3Ep+>TKae*`Jyus-v`4>-5Lxv z4v`T`M(NHHfycIhRNPm&aiK*&ln2OHYsRKmGtDU0s*T+kW7~**Y_wC^Kb;*r!xw%z zdZNz@4Zj!=rO5r7$8N?) F>n~rDwtoNs literal 0 HcmV?d00001 diff --git a/app/src/main/assets/assets/img/purple.png b/app/src/main/assets/assets/img/purple.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa3f8e588f061c4bb17f08c9b874dc772baa8cc GIT binary patch literal 557 zcmV+|0@D47P)EX>4Tx04R}tkv&MmKpe$iKcrGB4ptCx2vWttE-Kr6bq^0;@1i`*{oJ3UPc9e?@Cd{)rs*c}2J!5s zsd3&X4zsc-6Q2`L>U2TkN3Kf_zi}?v?B$tZJ)52<4igKdE|$8Om34)9hBzWCD&>1~ z4$GXkI4jjUYu}Teq!>uke%!@BZ2ME>lE_s7 zBgX=2P$1fV@IUz7tx=qwa*{%Epy$Q1KE{B+F3@UN*7vbxwN3!vGjOGL{Iw=9_epxA zqeYH@{%zpmx}!;Zz~v4w^rVTpXiGkt-eM7WKcjET0|U1}aLwthy^qreAWK~>-v9@P zz<7zW*InM-+uhs0XWIS!0LyrC%E5cWIRF3v32;bRa{vG?BLDy{BLR4&KXw2B00(qQ zO+^Ri1QiM-E$ni*@&Et;8FWQhbVF}#ZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b v02WC^K~xCWW0Yr8V_;xlVqjokU|;|M1E&B_B7f>T00000NkvXXu0mjfHS*w; literal 0 HcmV?d00001 diff --git a/app/src/main/assets/assets/js/jquery-3.6.4.min.js b/app/src/main/assets/assets/js/jquery-3.6.4.min.js new file mode 100644 index 0000000..0de648e --- /dev/null +++ b/app/src/main/assets/assets/js/jquery-3.6.4.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.4 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.4",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssHas=ce(function(){try{return C.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssHas||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0>> 0, + i; + + for (i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; + } + + function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m), + parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }), + isNowValid = + !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidEra && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + + if (m._strict) { + isNowValid = + isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } else { + return isNowValid; + } + } + return m._isValid; + } + + function createInvalid(flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } else { + getParsingFlags(m).userInvalidated = true; + } + + return m; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + var momentProperties = (hooks.momentProperties = []), + updateInProgress = false; + + function copyConfig(to, from) { + var i, + prop, + val, + momentPropertiesLen = momentProperties.length; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentPropertiesLen > 0) { + for (i = 0; i < momentPropertiesLen; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; + } + + // Moment prototype object + function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } + } + + function isMoment(obj) { + return ( + obj instanceof Moment || (obj != null && obj._isAMomentObject != null) + ); + } + + function warn(msg) { + if ( + hooks.suppressDeprecationWarnings === false && + typeof console !== 'undefined' && + console.warn + ) { + console.warn('Deprecation warning: ' + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = true; + + return extend(function () { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = [], + arg, + i, + key, + argLen = arguments.length; + for (i = 0; i < argLen; i++) { + arg = ''; + if (typeof arguments[i] === 'object') { + arg += '\n[' + i + '] '; + for (key in arguments[0]) { + if (hasOwnProp(arguments[0], key)) { + arg += key + ': ' + arguments[0][key] + ', '; + } + } + arg = arg.slice(0, -2); // Remove trailing comma and space + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn( + msg + + '\nArguments: ' + + Array.prototype.slice.call(args).join('') + + '\n' + + new Error().stack + ); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } + + var deprecations = {}; + + function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } + } + + hooks.suppressDeprecationWarnings = false; + hooks.deprecationHandler = null; + + function isFunction(input) { + return ( + (typeof Function !== 'undefined' && input instanceof Function) || + Object.prototype.toString.call(input) === '[object Function]' + ); + } + + function set(config) { + var prop, i; + for (i in config) { + if (hasOwnProp(config, i)) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + } + this._config = config; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + + /\d{1,2}/.source + ); + } + + function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), + prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if ( + hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop]) + ) { + // make sure changes to properties don't modify parent config + res[prop] = extend({}, res[prop]); + } + } + return res; + } + + function Locale(config) { + if (config != null) { + this.set(config); + } + } + + var keys; + + if (Object.keys) { + keys = Object.keys; + } else { + keys = function (obj) { + var i, + res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + + var defaultCalendar = { + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + nextWeek: 'dddd [at] LT', + lastDay: '[Yesterday at] LT', + lastWeek: '[Last] dddd [at] LT', + sameElse: 'L', + }; + + function calendar(key, mom, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return ( + (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + + absNumber + ); + } + + var formattingTokens = + /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, + localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, + formatFunctions = {}, + formatTokenFunctions = {}; + + // token: 'M' + // padded: ['MM', 2] + // ordinal: 'Mo' + // callback: function () { this.month() + 1 } + function addFormatToken(token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal( + func.apply(this, arguments), + token + ); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), + i, + length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = '', + i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) + ? array[i].call(mom, format) + : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = + formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace( + localFormattingTokens, + replaceLongDateFormatTokens + ); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + var defaultLongDateFormat = { + LTS: 'h:mm:ss A', + LT: 'h:mm A', + L: 'MM/DD/YYYY', + LL: 'MMMM D, YYYY', + LLL: 'MMMM D, YYYY h:mm A', + LLLL: 'dddd, MMMM D, YYYY h:mm A', + }; + + function longDateFormat(key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + this._longDateFormat[key] = formatUpper + .match(formattingTokens) + .map(function (tok) { + if ( + tok === 'MMMM' || + tok === 'MM' || + tok === 'DD' || + tok === 'dddd' + ) { + return tok.slice(1); + } + return tok; + }) + .join(''); + + return this._longDateFormat[key]; + } + + var defaultInvalidDate = 'Invalid date'; + + function invalidDate() { + return this._invalidDate; + } + + var defaultOrdinal = '%d', + defaultDayOfMonthOrdinalParse = /\d{1,2}/; + + function ordinal(number) { + return this._ordinal.replace('%d', number); + } + + var defaultRelativeTime = { + future: 'in %s', + past: '%s ago', + s: 'a few seconds', + ss: '%d seconds', + m: 'a minute', + mm: '%d minutes', + h: 'an hour', + hh: '%d hours', + d: 'a day', + dd: '%d days', + w: 'a week', + ww: '%d weeks', + M: 'a month', + MM: '%d months', + y: 'a year', + yy: '%d years', + }; + + function relativeTime(number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return isFunction(output) + ? output(number, withoutSuffix, string, isFuture) + : output.replace(/%d/i, number); + } + + function pastFuture(diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); + } + + var aliases = {}; + + function addUnitAlias(unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; + } + + function normalizeUnits(units) { + return typeof units === 'string' + ? aliases[units] || aliases[units.toLowerCase()] + : undefined; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; + } + + var priorities = {}; + + function addUnitPriority(unit, priority) { + priorities[unit] = priority; + } + + function getPrioritizedUnits(unitsObj) { + var units = [], + u; + for (u in unitsObj) { + if (hasOwnProp(unitsObj, u)) { + units.push({ unit: u, priority: priorities[u] }); + } + } + units.sort(function (a, b) { + return a.priority - b.priority; + }); + return units; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + function absFloor(number) { + if (number < 0) { + // -0 -> 0 + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + + return value; + } + + function makeGetSet(unit, keepTime) { + return function (value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; + } + + function get(mom, unit) { + return mom.isValid() + ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() + : NaN; + } + + function set$1(mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if ( + unit === 'FullYear' && + isLeapYear(mom.year()) && + mom.month() === 1 && + mom.date() === 29 + ) { + value = toInt(value); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit]( + value, + mom.month(), + daysInMonth(value, mom.month()) + ); + } else { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } + } + + // MOMENTS + + function stringGet(units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; + } + + function stringSet(units, value) { + if (typeof units === 'object') { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units), + i, + prioritizedLen = prioritized.length; + for (i = 0; i < prioritizedLen; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; + } + + var match1 = /\d/, // 0 - 9 + match2 = /\d\d/, // 00 - 99 + match3 = /\d{3}/, // 000 - 999 + match4 = /\d{4}/, // 0000 - 9999 + match6 = /[+-]?\d{6}/, // -999999 - 999999 + match1to2 = /\d\d?/, // 0 - 99 + match3to4 = /\d\d\d\d?/, // 999 - 9999 + match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 + match1to3 = /\d{1,3}/, // 0 - 999 + match1to4 = /\d{1,4}/, // 0 - 9999 + match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 + matchUnsigned = /\d+/, // 0 - inf + matchSigned = /[+-]?\d+/, // -inf - inf + matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z + matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z + matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 + // any word (or two) characters or numbers including two/three word month in arabic. + // includes scottish gaelic two word and hyphenated months + matchWord = + /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, + regexes; + + regexes = {}; + + function addRegexToken(token, regex, strictRegex) { + regexes[token] = isFunction(regex) + ? regex + : function (isStrict, localeData) { + return isStrict && strictRegex ? strictRegex : regex; + }; + } + + function getParseRegexForToken(token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function unescapeFormat(s) { + return regexEscape( + s + .replace('\\', '') + .replace( + /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, + function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + } + ) + ); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + var tokens = {}; + + function addParseToken(token, callback) { + var i, + func = callback, + tokenLen; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + tokenLen = token.length; + for (i = 0; i < tokenLen; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken(token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + + var YEAR = 0, + MONTH = 1, + DATE = 2, + HOUR = 3, + MINUTE = 4, + SECOND = 5, + MILLISECOND = 6, + WEEK = 7, + WEEKDAY = 8; + + function mod(n, x) { + return ((n % x) + x) % x; + } + + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + + function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 + ? isLeapYear(year) + ? 29 + : 28 + : 31 - ((modMonth % 7) % 2); + } + + // FORMATTING + + addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }); + + addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); + }); + + addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); + }); + + // ALIASES + + addUnitAlias('month', 'M'); + + // PRIORITY + + addUnitPriority('month', 8); + + // PARSING + + addRegexToken('M', match1to2); + addRegexToken('MM', match1to2, match2); + addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + + addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; + }); + + addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + + // LOCALES + + var defaultLocaleMonths = + 'January_February_March_April_May_June_July_August_September_October_November_December'.split( + '_' + ), + defaultLocaleMonthsShort = + 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), + MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, + defaultMonthsShortRegex = matchWord, + defaultMonthsRegex = matchWord; + + function localeMonths(m, format) { + if (!m) { + return isArray(this._months) + ? this._months + : this._months['standalone']; + } + return isArray(this._months) + ? this._months[m.month()] + : this._months[ + (this._months.isFormat || MONTHS_IN_FORMAT).test(format) + ? 'format' + : 'standalone' + ][m.month()]; + } + + function localeMonthsShort(m, format) { + if (!m) { + return isArray(this._monthsShort) + ? this._monthsShort + : this._monthsShort['standalone']; + } + return isArray(this._monthsShort) + ? this._monthsShort[m.month()] + : this._monthsShort[ + MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone' + ][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, + ii, + mom, + llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort( + mom, + '' + ).toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeMonthsParse(monthName, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp( + '^' + this.months(mom, '').replace('.', '') + '$', + 'i' + ); + this._shortMonthsParse[i] = new RegExp( + '^' + this.monthsShort(mom, '').replace('.', '') + '$', + 'i' + ); + } + if (!strict && !this._monthsParse[i]) { + regex = + '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if ( + strict && + format === 'MMMM' && + this._longMonthsParse[i].test(monthName) + ) { + return i; + } else if ( + strict && + format === 'MMM' && + this._shortMonthsParse[i].test(monthName) + ) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + // MOMENTS + + function setMonth(mom, value) { + var dayOfMonth; + + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; + } + + function getSetMonth(value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, 'Month'); + } + } + + function getDaysInMonth() { + return daysInMonth(this.year(), this.month()); + } + + function monthsShortRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, '_monthsShortRegex')) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict + ? this._monthsShortStrictRegex + : this._monthsShortRegex; + } + } + + function monthsRegex(isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, '_monthsRegex')) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict + ? this._monthsStrictRegex + : this._monthsRegex; + } + } + + function computeMonthsParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, '')); + longPieces.push(this.months(mom, '')); + mixedPieces.push(this.months(mom, '')); + mixedPieces.push(this.monthsShort(mom, '')); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp( + '^(' + longPieces.join('|') + ')', + 'i' + ); + this._monthsShortStrictRegex = new RegExp( + '^(' + shortPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + addFormatToken('Y', 0, 0, function () { + var y = this.year(); + return y <= 9999 ? zeroFill(y, 4) : '+' + y; + }); + + addFormatToken(0, ['YY', 2], 0, function () { + return this.year() % 100; + }); + + addFormatToken(0, ['YYYY', 4], 0, 'year'); + addFormatToken(0, ['YYYYY', 5], 0, 'year'); + addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); + + // ALIASES + + addUnitAlias('year', 'y'); + + // PRIORITIES + + addUnitPriority('year', 1); + + // PARSING + + addRegexToken('Y', matchSigned); + addRegexToken('YY', match1to2, match2); + addRegexToken('YYYY', match1to4, match4); + addRegexToken('YYYYY', match1to6, match6); + addRegexToken('YYYYYY', match1to6, match6); + + addParseToken(['YYYYY', 'YYYYYY'], YEAR); + addParseToken('YYYY', function (input, array) { + array[YEAR] = + input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); + }); + addParseToken('YY', function (input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); + }); + addParseToken('Y', function (input, array) { + array[YEAR] = parseInt(input, 10); + }); + + // HELPERS + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + // HOOKS + + hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + // MOMENTS + + var getSetYear = makeGetSet('FullYear', true); + + function getIsLeapYear() { + return isLeapYear(this.year()); + } + + function createDate(y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + + return date; + } + + function createUTCDate(y) { + var date, args; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + + return date; + } + + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; + } + + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, + resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + + return { + year: resYear, + dayOfYear: resDayOfYear, + }; + } + + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, + resYear; + + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + + return { + week: resWeek, + year: resYear, + }; + } + + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; + } + + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // ALIASES + + addUnitAlias('week', 'w'); + addUnitAlias('isoWeek', 'W'); + + // PRIORITIES + + addUnitPriority('week', 5); + addUnitPriority('isoWeek', 5); + + // PARSING + + addRegexToken('w', match1to2); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken( + ['w', 'ww', 'W', 'WW'], + function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + } + ); + + // HELPERS + + // LOCALES + + function localeWeek(mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow: 0, // Sunday is the first day of the week. + doy: 6, // The week that contains Jan 6th is the first week of the year. + }; + + function localeFirstDayOfWeek() { + return this._week.dow; + } + + function localeFirstDayOfYear() { + return this._week.doy; + } + + // MOMENTS + + function getSetWeek(input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + function getSetISOWeek(input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + // FORMATTING + + addFormatToken('d', 0, 'do', 'day'); + + addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); + }); + + addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); + }); + + addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); + }); + + addFormatToken('e', 0, 0, 'weekday'); + addFormatToken('E', 0, 0, 'isoWeekday'); + + // ALIASES + + addUnitAlias('day', 'd'); + addUnitAlias('weekday', 'e'); + addUnitAlias('isoWeekday', 'E'); + + // PRIORITY + addUnitPriority('day', 11); + addUnitPriority('weekday', 11); + addUnitPriority('isoWeekday', 11); + + // PARSING + + addRegexToken('d', match1to2); + addRegexToken('e', match1to2); + addRegexToken('E', match1to2); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + + addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); + }); + + // HELPERS + + function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + + // LOCALES + function shiftWeekdays(ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); + } + + var defaultLocaleWeekdays = + 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), + defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), + defaultWeekdaysRegex = matchWord, + defaultWeekdaysShortRegex = matchWord, + defaultWeekdaysMinRegex = matchWord; + + function localeWeekdays(m, format) { + var weekdays = isArray(this._weekdays) + ? this._weekdays + : this._weekdays[ + m && m !== true && this._weekdays.isFormat.test(format) + ? 'format' + : 'standalone' + ]; + return m === true + ? shiftWeekdays(weekdays, this._week.dow) + : m + ? weekdays[m.day()] + : weekdays; + } + + function localeWeekdaysShort(m) { + return m === true + ? shiftWeekdays(this._weekdaysShort, this._week.dow) + : m + ? this._weekdaysShort[m.day()] + : this._weekdaysShort; + } + + function localeWeekdaysMin(m) { + return m === true + ? shiftWeekdays(this._weekdaysMin, this._week.dow) + : m + ? this._weekdaysMin[m.day()] + : this._weekdaysMin; + } + + function handleStrictParse$1(weekdayName, format, strict) { + var i, + ii, + mom, + llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin( + mom, + '' + ).toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort( + mom, + '' + ).toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeWeekdaysParse(weekdayName, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp( + '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + this._shortWeekdaysParse[i] = new RegExp( + '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + this._minWeekdaysParse[i] = new RegExp( + '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', + 'i' + ); + } + if (!this._weekdaysParse[i]) { + regex = + '^' + + this.weekdays(mom, '') + + '|^' + + this.weekdaysShort(mom, '') + + '|^' + + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if ( + strict && + format === 'dddd' && + this._fullWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'ddd' && + this._shortWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if ( + strict && + format === 'dd' && + this._minWeekdaysParse[i].test(weekdayName) + ) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + // MOMENTS + + function getSetDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + } + + function getSetLocaleDayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + } + + function getSetISODayOfWeek(input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } + } + + function weekdaysRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysRegex')) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict + ? this._weekdaysStrictRegex + : this._weekdaysRegex; + } + } + + function weekdaysShortRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysShortRegex')) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict + ? this._weekdaysShortStrictRegex + : this._weekdaysShortRegex; + } + } + + function weekdaysMinRegex(isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysMinRegex')) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict + ? this._weekdaysMinStrictRegex + : this._weekdaysMinRegex; + } + } + + function computeWeekdaysParse() { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], + shortPieces = [], + longPieces = [], + mixedPieces = [], + i, + mom, + minp, + shortp, + longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 1]).day(i); + minp = regexEscape(this.weekdaysMin(mom, '')); + shortp = regexEscape(this.weekdaysShort(mom, '')); + longp = regexEscape(this.weekdays(mom, '')); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp( + '^(' + longPieces.join('|') + ')', + 'i' + ); + this._weekdaysShortStrictRegex = new RegExp( + '^(' + shortPieces.join('|') + ')', + 'i' + ); + this._weekdaysMinStrictRegex = new RegExp( + '^(' + minPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + function hFormat() { + return this.hours() % 12 || 12; + } + + function kFormat() { + return this.hours() || 24; + } + + addFormatToken('H', ['HH', 2], 0, 'hour'); + addFormatToken('h', ['hh', 2], 0, hFormat); + addFormatToken('k', ['kk', 2], 0, kFormat); + + addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + + addFormatToken('hmmss', 0, 0, function () { + return ( + '' + + hFormat.apply(this) + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + + addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); + }); + + addFormatToken('Hmmss', 0, 0, function () { + return ( + '' + + this.hours() + + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2) + ); + }); + + function meridiem(token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem( + this.hours(), + this.minutes(), + lowercase + ); + }); + } + + meridiem('a', true); + meridiem('A', false); + + // ALIASES + + addUnitAlias('hour', 'h'); + + // PRIORITY + addUnitPriority('hour', 13); + + // PARSING + + function matchMeridiem(isStrict, locale) { + return locale._meridiemParse; + } + + addRegexToken('a', matchMeridiem); + addRegexToken('A', matchMeridiem); + addRegexToken('H', match1to2); + addRegexToken('h', match1to2); + addRegexToken('k', match1to2); + addRegexToken('HH', match1to2, match2); + addRegexToken('hh', match1to2, match2); + addRegexToken('kk', match1to2, match2); + + addRegexToken('hmm', match3to4); + addRegexToken('hmmss', match5to6); + addRegexToken('Hmm', match3to4); + addRegexToken('Hmmss', match5to6); + + addParseToken(['H', 'HH'], HOUR); + addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); + addParseToken(['a', 'A'], function (input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; + }); + addParseToken(['h', 'hh'], function (input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4, + pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4, + pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); + + // LOCALES + + function localeIsPM(input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return (input + '').toLowerCase().charAt(0) === 'p'; + } + + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, + // Setting the hour should keep the time, because the user explicitly + // specified which hour they want. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + getSetHour = makeGetSet('Hours', true); + + function localeMeridiem(hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + } + + var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + + week: defaultLocaleWeek, + + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + + meridiemParse: defaultLocaleMeridiemParse, + }; + + // internal storage for locale config files + var locales = {}, + localeFamilies = {}, + globalLocale; + + function commonPrefix(arr1, arr2) { + var i, + minl = Math.min(arr1.length, arr2.length); + for (i = 0; i < minl; i += 1) { + if (arr1[i] !== arr2[i]) { + return i; + } + } + return minl; + } + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, + j, + next, + locale, + split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if ( + next && + next.length >= j && + commonPrefix(split, next) >= j - 1 + ) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; + } + + function isLocaleNameSane(name) { + // Prevent names that look like filesystem paths, i.e contain '/' or '\' + return name.match('^[^/\\\\]*$') != null; + } + + function loadLocale(name) { + var oldLocale = null, + aliasedRequire; + // TODO: Find a better way to register and load all the locales in Node + if ( + locales[name] === undefined && + typeof module !== 'undefined' && + module && + module.exports && + isLocaleNameSane(name) + ) { + try { + oldLocale = globalLocale._abbr; + aliasedRequire = require; + aliasedRequire('./locale/' + name); + getSetGlobalLocale(oldLocale); + } catch (e) { + // mark as not found to avoid repeating expensive file require call causing high CPU + // when trying to find en-US, en_US, en-us for every format call + locales[name] = null; // null means not found + } + } + return locales[name]; + } + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + function getSetGlobalLocale(key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } else { + if (typeof console !== 'undefined' && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn( + 'Locale ' + key + ' not found. Did you forget to load it?' + ); + } + } + } + + return globalLocale._abbr; + } + + function defineLocale(name, config) { + if (config !== null) { + var locale, + parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple( + 'defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change ' + + 'an existing locale. moment.defineLocale(localeName, ' + + 'config) should only be used for creating a new locale ' + + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' + ); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config, + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, + tmpLocale, + parentConfig = baseConfig; + + if (locales[name] != null && locales[name].parentLocale != null) { + // Update existing child locale in-place to avoid memory-leaks + locales[name].set(mergeConfigs(locales[name]._config, config)); + } else { + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + if (tmpLocale == null) { + // updateLocale is called for creating a new locale + // Set abbr so it will have a name (getters return + // undefined otherwise). + config.abbr = name; + } + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + } + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + if (name === getSetGlobalLocale()) { + getSetGlobalLocale(name); + } + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; + } + + // returns locale data + function getLocale(key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); + } + + function listLocales() { + return keys(locales); + } + + function checkOverflow(m) { + var overflow, + a = m._a; + + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 + ? MONTH + : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) + ? DATE + : a[HOUR] < 0 || + a[HOUR] > 24 || + (a[HOUR] === 24 && + (a[MINUTE] !== 0 || + a[SECOND] !== 0 || + a[MILLISECOND] !== 0)) + ? HOUR + : a[MINUTE] < 0 || a[MINUTE] > 59 + ? MINUTE + : a[SECOND] < 0 || a[SECOND] > 59 + ? SECOND + : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 + ? MILLISECOND + : -1; + + if ( + getParsingFlags(m)._overflowDayOfYear && + (overflow < YEAR || overflow > DATE) + ) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + + getParsingFlags(m).overflow = overflow; + } + + return m; + } + + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + var extendedIsoRegex = + /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + basicIsoRegex = + /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, + tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, + isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/], + ['YYYYMM', /\d{6}/, false], + ['YYYY', /\d{4}/, false], + ], + // iso time formats and regexes + isoTimes = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/], + ], + aspNetJsonRegex = /^\/?Date\((-?\d+)/i, + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + rfc2822 = + /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, + obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60, + }; + + // date from iso format + function configFromISO(config) { + var i, + l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, + dateFormat, + timeFormat, + tzFormat, + isoDatesLen = isoDates.length, + isoTimesLen = isoTimes.length; + + if (match) { + getParsingFlags(config).iso = true; + for (i = 0, l = isoDatesLen; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimesLen; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } + } + + function extractFromRFC2822Strings( + yearStr, + monthStr, + dayStr, + hourStr, + minuteStr, + secondStr + ) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10), + ]; + + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + + return result; + } + + function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s + .replace(/\([^()]*\)|[\n\t]/g, ' ') + .replace(/(\s\s+)/g, ' ') + .replace(/^\s\s*/, '') + .replace(/\s\s*$/, ''); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an independent day-of-week check. + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), + weekdayActual = new Date( + parsedInput[0], + parsedInput[1], + parsedInput[2] + ).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; + } + + function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10), + m = hm % 100, + h = (hm - m) / 100; + return h * 60 + m; + } + } + + // date and time from ref 2822 format + function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)), + parsedArray; + if (match) { + parsedArray = extractFromRFC2822Strings( + match[4], + match[3], + match[2], + match[5], + match[6], + match[7] + ); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } + } + + // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict + function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + if (config._strict) { + config._isValid = false; + } else { + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); + } + } + + hooks.createFromInputFallback = deprecate( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + + 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } + ); + + // Pick the first defined of two or three arguments. + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [ + nowValue.getUTCFullYear(), + nowValue.getUTCMonth(), + nowValue.getUTCDate(), + ]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function configFromArray(config) { + var i, + date, + input = [], + currentDate, + expectedWeekday, + yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + + if ( + config._dayOfYear > daysInYear(yearToUse) || + config._dayOfYear === 0 + ) { + getParsingFlags(config)._overflowDayOfYear = true; + } + + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = + config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + if ( + config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0 + ) { + config._nextDay = true; + config._a[HOUR] = 0; + } + + config._d = (config._useUTC ? createUTCDate : createDate).apply( + null, + input + ); + expectedWeekday = config._useUTC + ? config._d.getUTCDay() + : config._d.getDay(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + if ( + config._w && + typeof config._w.d !== 'undefined' && + config._w.d !== expectedWeekday + ) { + getParsingFlags(config).weekdayMismatch = true; + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = defaults( + w.GG, + config._a[YEAR], + weekOfYear(createLocal(), 1, 4).year + ); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + curWeek = weekOfYear(createLocal(), dow, doy); + + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + } + + // constant that refers to the ISO standard + hooks.ISO_8601 = function () {}; + + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + + // date from string and format string + function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, + parsedInput, + tokens, + token, + skipped, + stringLength = string.length, + totalParsedInputLength = 0, + era, + tokenLen; + + tokens = + expandFormat(config._f, config._locale).match(formattingTokens) || []; + tokenLen = tokens.length; + for (i = 0; i < tokenLen; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || + [])[0]; + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice( + string.indexOf(parsedInput) + parsedInput.length + ); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = + stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if ( + config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0 + ) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap( + config._locale, + config._a[HOUR], + config._meridiem + ); + + // handle era + era = getParsingFlags(config).era; + if (era !== null) { + config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); + } + + configFromArray(config); + checkOverflow(config); + } + + function meridiemFixWrap(locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } + } + + // date from string and array of format strings + function configFromStringAndArray(config) { + var tempConfig, + bestMoment, + scoreToBeat, + i, + currentScore, + validFormatFound, + bestFormatIsValid = false, + configfLen = config._f.length; + + if (configfLen === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < configfLen; i++) { + currentScore = 0; + validFormatFound = false; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + + if (isValid(tempConfig)) { + validFormatFound = true; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + + getParsingFlags(tempConfig).score = currentScore; + + if (!bestFormatIsValid) { + if ( + scoreToBeat == null || + currentScore < scoreToBeat || + validFormatFound + ) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + if (validFormatFound) { + bestFormatIsValid = true; + } + } + } else { + if (currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + } + + extend(config, bestMoment || tempConfig); + } + + function configFromObject(config) { + if (config._d) { + return; + } + + var i = normalizeObjectUnits(config._i), + dayOrDate = i.day === undefined ? i.date : i.day; + config._a = map( + [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], + function (obj) { + return obj && parseInt(obj, 10); + } + ); + + configFromArray(config); + } + + function createFromConfig(config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig(config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && input === '')) { + return createInvalid({ nullInput: true }); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + + if (!isValid(config)) { + config._d = null; + } + + return config; + } + + function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === 'string') { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC(input, format, locale, strict, isUTC) { + var c = {}; + + if (format === true || format === false) { + strict = format; + format = undefined; + } + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ( + (isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0) + ) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); + } + + function createLocal(input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, false); + } + + var prototypeMin = deprecate( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } + ), + prototypeMax = deprecate( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + // TODO: Use [].sort instead? + function min() { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + } + + function max() { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + } + + var now = function () { + return Date.now ? Date.now() : +new Date(); + }; + + var ordering = [ + 'year', + 'quarter', + 'month', + 'week', + 'day', + 'hour', + 'minute', + 'second', + 'millisecond', + ]; + + function isDurationValid(m) { + var key, + unitHasDecimal = false, + i, + orderLen = ordering.length; + for (key in m) { + if ( + hasOwnProp(m, key) && + !( + indexOf.call(ordering, key) !== -1 && + (m[key] == null || !isNaN(m[key])) + ) + ) { + return false; + } + } + + for (i = 0; i < orderLen; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + + function Duration(duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = + +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + quarters * 3 + years * 12; + + this._data = {}; + + this._locale = getLocale(); + + this._bubble(); + } + + function isDuration(obj) { + return obj instanceof Duration; + } + + function absRound(number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ( + (dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) + ) { + diffs++; + } + } + return diffs + lengthDiff; + } + + // FORMATTING + + function offset(token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(), + sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return ( + sign + + zeroFill(~~(offset / 60), 2) + + separator + + zeroFill(~~offset % 60, 2) + ); + }); + } + + offset('Z', ':'); + offset('ZZ', ''); + + // PARSING + + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); + addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); + }); + + // HELPERS + + // timezone chunker + // '+10:00' > ['10', '00'] + // '-1530' > ['-15', '30'] + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher), + chunk, + parts, + minutes; + + if (matches === null) { + return null; + } + + chunk = matches[matches.length - 1] || []; + parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = + (isMoment(input) || isDate(input) + ? input.valueOf() + : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset(m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset()); + } + + // HOOKS + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + hooks.updateOffset = function () {}; + + // MOMENTS + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + function getSetOffset(input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === 'string') { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract( + this, + createDuration(input - offset, 'm'), + 1, + false + ); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } + } + + function getSetZone(input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } + } + + function setOffsetToUTC(keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + } + + function setOffsetToLocal(keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.subtract(getDateOffset(this), 'm'); + } + } + return this; + } + + function setOffsetToParsedOffset() { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === 'string') { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } else { + this.utcOffset(0, true); + } + } + return this; + } + + function hasAlignedHourOffset(input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + + return (this.utcOffset() - input) % 60 === 0; + } + + function isDaylightSavingTime() { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + } + + function isDaylightSavingTimeShifted() { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + + var c = {}, + other; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = + this.isValid() && compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; + } + + function isLocal() { + return this.isValid() ? !this._isUTC : false; + } + + function isUtcOffset() { + return this.isValid() ? this._isUTC : false; + } + + function isUtc() { + return this.isValid() ? this._isUTC && this._offset === 0 : false; + } + + // ASP.NET json date format regex + var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + // and further modified to allow for strings containing both week and day + isoRegex = + /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function createDuration(input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + diffRes; + + if (isDuration(input)) { + duration = { + ms: input._milliseconds, + d: input._days, + M: input._months, + }; + } else if (isNumber(input) || !isNaN(+input)) { + duration = {}; + if (key) { + duration[key] = +input; + } else { + duration.milliseconds = +input; + } + } else if ((match = aspNetRegex.exec(input))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: 0, + d: toInt(match[DATE]) * sign, + h: toInt(match[HOUR]) * sign, + m: toInt(match[MINUTE]) * sign, + s: toInt(match[SECOND]) * sign, + ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match + }; + } else if ((match = isoRegex.exec(input))) { + sign = match[1] === '-' ? -1 : 1; + duration = { + y: parseIso(match[2], sign), + M: parseIso(match[3], sign), + w: parseIso(match[4], sign), + d: parseIso(match[5], sign), + h: parseIso(match[6], sign), + m: parseIso(match[7], sign), + s: parseIso(match[8], sign), + }; + } else if (duration == null) { + // checks for null or undefined + duration = {}; + } else if ( + typeof duration === 'object' && + ('from' in duration || 'to' in duration) + ) { + diffRes = momentsDifference( + createLocal(duration.from), + createLocal(duration.to) + ); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + if (isDuration(input) && hasOwnProp(input, '_isValid')) { + ret._isValid = input._isValid; + } + + return ret; + } + + createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; + + function parseIso(inp, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + } + + function positiveMomentsDifference(base, other) { + var res = {}; + + res.months = + other.month() - base.month() + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +base.clone().add(res.months, 'M'); + + return res; + } + + function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return { milliseconds: 0, months: 0 }; + } + + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple( + name, + 'moment().' + + name + + '(period, number) is deprecated. Please use moment().' + + name + + '(number, period). ' + + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' + ); + tmp = val; + val = period; + period = tmp; + } + + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; + } + + function addSubtract(mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + + var add = createAdder(1, 'add'), + subtract = createAdder(-1, 'subtract'); + + function isString(input) { + return typeof input === 'string' || input instanceof String; + } + + // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined + function isMomentInput(input) { + return ( + isMoment(input) || + isDate(input) || + isString(input) || + isNumber(input) || + isNumberOrStringArray(input) || + isMomentInputObject(input) || + input === null || + input === undefined + ); + } + + function isMomentInputObject(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), + propertyTest = false, + properties = [ + 'years', + 'year', + 'y', + 'months', + 'month', + 'M', + 'days', + 'day', + 'd', + 'dates', + 'date', + 'D', + 'hours', + 'hour', + 'h', + 'minutes', + 'minute', + 'm', + 'seconds', + 'second', + 's', + 'milliseconds', + 'millisecond', + 'ms', + ], + i, + property, + propertyLen = properties.length; + + for (i = 0; i < propertyLen; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + + return objectTest && propertyTest; + } + + function isNumberOrStringArray(input) { + var arrayTest = isArray(input), + dataTypeTest = false; + if (arrayTest) { + dataTypeTest = + input.filter(function (item) { + return !isNumber(item) && isString(input); + }).length === 0; + } + return arrayTest && dataTypeTest; + } + + function isCalendarSpec(input) { + var objectTest = isObject(input) && !isObjectEmpty(input), + propertyTest = false, + properties = [ + 'sameDay', + 'nextDay', + 'lastDay', + 'nextWeek', + 'lastWeek', + 'sameElse', + ], + i, + property; + + for (i = 0; i < properties.length; i += 1) { + property = properties[i]; + propertyTest = propertyTest || hasOwnProp(input, property); + } + + return objectTest && propertyTest; + } + + function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 + ? 'sameElse' + : diff < -1 + ? 'lastWeek' + : diff < 0 + ? 'lastDay' + : diff < 1 + ? 'sameDay' + : diff < 2 + ? 'nextDay' + : diff < 7 + ? 'nextWeek' + : 'sameElse'; + } + + function calendar$1(time, formats) { + // Support for single parameter, formats only overload to the calendar function + if (arguments.length === 1) { + if (!arguments[0]) { + time = undefined; + formats = undefined; + } else if (isMomentInput(arguments[0])) { + time = arguments[0]; + formats = undefined; + } else if (isCalendarSpec(arguments[0])) { + formats = arguments[0]; + time = undefined; + } + } + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse', + output = + formats && + (isFunction(formats[format]) + ? formats[format].call(this, now) + : formats[format]); + + return this.format( + output || this.localeData().calendar(format, this, createLocal(now)) + ); + } + + function clone() { + return new Moment(this); + } + + function isAfter(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } + } + + function isBefore(input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } + } + + function isBetween(from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || '()'; + return ( + (inclusivity[0] === '(' + ? this.isAfter(localFrom, units) + : !this.isBefore(localFrom, units)) && + (inclusivity[1] === ')' + ? this.isBefore(localTo, units) + : !this.isAfter(localTo, units)) + ); + } + + function isSame(input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return ( + this.clone().startOf(units).valueOf() <= inputMs && + inputMs <= this.clone().endOf(units).valueOf() + ); + } + } + + function isSameOrAfter(input, units) { + return this.isSame(input, units) || this.isAfter(input, units); + } + + function isSameOrBefore(input, units) { + return this.isSame(input, units) || this.isBefore(input, units); + } + + function diff(input, units, asFloat) { + var that, zoneDelta, output; + + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + + units = normalizeUnits(units); + + switch (units) { + case 'year': + output = monthDiff(this, that) / 12; + break; + case 'month': + output = monthDiff(this, that); + break; + case 'quarter': + output = monthDiff(this, that) / 3; + break; + case 'second': + output = (this - that) / 1e3; + break; // 1000 + case 'minute': + output = (this - that) / 6e4; + break; // 1000 * 60 + case 'hour': + output = (this - that) / 36e5; + break; // 1000 * 60 * 60 + case 'day': + output = (this - that - zoneDelta) / 864e5; + break; // 1000 * 60 * 60 * 24, negate dst + case 'week': + output = (this - that - zoneDelta) / 6048e5; + break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: + output = this - that; + } + + return asFloat ? output : absFloor(output); + } + + function monthDiff(a, b) { + if (a.date() < b.date()) { + // end-of-month calculations work correct when the start month has more + // days than the end month. + return -monthDiff(b, a); + } + // difference in months + var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, + adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; + } + + hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; + + function toString() { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + } + + function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true, + m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment( + m, + utc + ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' + : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) + .toISOString() + .replace('Z', formatMoment(m, 'Z')); + } + } + return formatMoment( + m, + utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' + ); + } + + /** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ + function inspect() { + if (!this.isValid()) { + return 'moment.invalid(/* ' + this._i + ' */)'; + } + var func = 'moment', + zone = '', + prefix, + year, + datetime, + suffix; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; + zone = 'Z'; + } + prefix = '[' + func + '("]'; + year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; + datetime = '-MM-DD[T]HH:mm:ss.SSS'; + suffix = zone + '[")]'; + + return this.format(prefix + year + datetime + suffix); + } + + function format(inputString) { + if (!inputString) { + inputString = this.isUtc() + ? hooks.defaultFormatUtc + : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); + } + + function from(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ to: this, from: time }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function fromNow(withoutSuffix) { + return this.from(createLocal(), withoutSuffix); + } + + function to(time, withoutSuffix) { + if ( + this.isValid() && + ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) + ) { + return createDuration({ from: this, to: time }) + .locale(this.locale()) + .humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function toNow(withoutSuffix) { + return this.to(createLocal(), withoutSuffix); + } + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + function locale(key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + } + + var lang = deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData() { + return this._locale; + } + + var MS_PER_SECOND = 1000, + MS_PER_MINUTE = 60 * MS_PER_SECOND, + MS_PER_HOUR = 60 * MS_PER_MINUTE, + MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; + + // actual modulo - handles negative numbers (for dates before 1970): + function mod$1(dividend, divisor) { + return ((dividend % divisor) + divisor) % divisor; + } + + function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } + } + + function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } + } + + function startOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year(), 0, 1); + break; + case 'quarter': + time = startOfDate( + this.year(), + this.month() - (this.month() % 3), + 1 + ); + break; + case 'month': + time = startOfDate(this.year(), this.month(), 1); + break; + case 'week': + time = startOfDate( + this.year(), + this.month(), + this.date() - this.weekday() + ); + break; + case 'isoWeek': + time = startOfDate( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + ); + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date()); + break; + case 'hour': + time = this._d.valueOf(); + time -= mod$1( + time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), + MS_PER_HOUR + ); + break; + case 'minute': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_MINUTE); + break; + case 'second': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_SECOND); + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function endOf(units) { + var time, startOfDate; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + time = + startOfDate( + this.year(), + this.month() - (this.month() % 3) + 3, + 1 + ) - 1; + break; + case 'month': + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + time = + startOfDate( + this.year(), + this.month(), + this.date() - this.weekday() + 7 + ) - 1; + break; + case 'isoWeek': + time = + startOfDate( + this.year(), + this.month(), + this.date() - (this.isoWeekday() - 1) + 7 + ) - 1; + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + time = this._d.valueOf(); + time += + MS_PER_HOUR - + mod$1( + time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), + MS_PER_HOUR + ) - + 1; + break; + case 'minute': + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; + break; + case 'second': + time = this._d.valueOf(); + time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function valueOf() { + return this._d.valueOf() - (this._offset || 0) * 60000; + } + + function unix() { + return Math.floor(this.valueOf() / 1000); + } + + function toDate() { + return new Date(this.valueOf()); + } + + function toArray() { + var m = this; + return [ + m.year(), + m.month(), + m.date(), + m.hour(), + m.minute(), + m.second(), + m.millisecond(), + ]; + } + + function toObject() { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds(), + }; + } + + function toJSON() { + // new Date(NaN).toJSON() === null + return this.isValid() ? this.toISOString() : null; + } + + function isValid$2() { + return isValid(this); + } + + function parsingFlags() { + return extend({}, getParsingFlags(this)); + } + + function invalidAt() { + return getParsingFlags(this).overflow; + } + + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict, + }; + } + + addFormatToken('N', 0, 0, 'eraAbbr'); + addFormatToken('NN', 0, 0, 'eraAbbr'); + addFormatToken('NNN', 0, 0, 'eraAbbr'); + addFormatToken('NNNN', 0, 0, 'eraName'); + addFormatToken('NNNNN', 0, 0, 'eraNarrow'); + + addFormatToken('y', ['y', 1], 'yo', 'eraYear'); + addFormatToken('y', ['yy', 2], 0, 'eraYear'); + addFormatToken('y', ['yyy', 3], 0, 'eraYear'); + addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); + + addRegexToken('N', matchEraAbbr); + addRegexToken('NN', matchEraAbbr); + addRegexToken('NNN', matchEraAbbr); + addRegexToken('NNNN', matchEraName); + addRegexToken('NNNNN', matchEraNarrow); + + addParseToken( + ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], + function (input, array, config, token) { + var era = config._locale.erasParse(input, token, config._strict); + if (era) { + getParsingFlags(config).era = era; + } else { + getParsingFlags(config).invalidEra = input; + } + } + ); + + addRegexToken('y', matchUnsigned); + addRegexToken('yy', matchUnsigned); + addRegexToken('yyy', matchUnsigned); + addRegexToken('yyyy', matchUnsigned); + addRegexToken('yo', matchEraYearOrdinal); + + addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); + addParseToken(['yo'], function (input, array, config, token) { + var match; + if (config._locale._eraYearOrdinalRegex) { + match = input.match(config._locale._eraYearOrdinalRegex); + } + + if (config._locale.eraYearOrdinalParse) { + array[YEAR] = config._locale.eraYearOrdinalParse(input, match); + } else { + array[YEAR] = parseInt(input, 10); + } + }); + + function localeEras(m, format) { + var i, + l, + date, + eras = this._eras || getLocale('en')._eras; + for (i = 0, l = eras.length; i < l; ++i) { + switch (typeof eras[i].since) { + case 'string': + // truncate time + date = hooks(eras[i].since).startOf('day'); + eras[i].since = date.valueOf(); + break; + } + + switch (typeof eras[i].until) { + case 'undefined': + eras[i].until = +Infinity; + break; + case 'string': + // truncate time + date = hooks(eras[i].until).startOf('day').valueOf(); + eras[i].until = date.valueOf(); + break; + } + } + return eras; + } + + function localeErasParse(eraName, format, strict) { + var i, + l, + eras = this.eras(), + name, + abbr, + narrow; + eraName = eraName.toUpperCase(); + + for (i = 0, l = eras.length; i < l; ++i) { + name = eras[i].name.toUpperCase(); + abbr = eras[i].abbr.toUpperCase(); + narrow = eras[i].narrow.toUpperCase(); + + if (strict) { + switch (format) { + case 'N': + case 'NN': + case 'NNN': + if (abbr === eraName) { + return eras[i]; + } + break; + + case 'NNNN': + if (name === eraName) { + return eras[i]; + } + break; + + case 'NNNNN': + if (narrow === eraName) { + return eras[i]; + } + break; + } + } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { + return eras[i]; + } + } + } + + function localeErasConvertYear(era, year) { + var dir = era.since <= era.until ? +1 : -1; + if (year === undefined) { + return hooks(era.since).year(); + } else { + return hooks(era.since).year() + (year - era.offset) * dir; + } + } + + function getEraName() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].name; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].name; + } + } + + return ''; + } + + function getEraNarrow() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].narrow; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].narrow; + } + } + + return ''; + } + + function getEraAbbr() { + var i, + l, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + // truncate time + val = this.clone().startOf('day').valueOf(); + + if (eras[i].since <= val && val <= eras[i].until) { + return eras[i].abbr; + } + if (eras[i].until <= val && val <= eras[i].since) { + return eras[i].abbr; + } + } + + return ''; + } + + function getEraYear() { + var i, + l, + dir, + val, + eras = this.localeData().eras(); + for (i = 0, l = eras.length; i < l; ++i) { + dir = eras[i].since <= eras[i].until ? +1 : -1; + + // truncate time + val = this.clone().startOf('day').valueOf(); + + if ( + (eras[i].since <= val && val <= eras[i].until) || + (eras[i].until <= val && val <= eras[i].since) + ) { + return ( + (this.year() - hooks(eras[i].since).year()) * dir + + eras[i].offset + ); + } + } + + return this.year(); + } + + function erasNameRegex(isStrict) { + if (!hasOwnProp(this, '_erasNameRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasNameRegex : this._erasRegex; + } + + function erasAbbrRegex(isStrict) { + if (!hasOwnProp(this, '_erasAbbrRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasAbbrRegex : this._erasRegex; + } + + function erasNarrowRegex(isStrict) { + if (!hasOwnProp(this, '_erasNarrowRegex')) { + computeErasParse.call(this); + } + return isStrict ? this._erasNarrowRegex : this._erasRegex; + } + + function matchEraAbbr(isStrict, locale) { + return locale.erasAbbrRegex(isStrict); + } + + function matchEraName(isStrict, locale) { + return locale.erasNameRegex(isStrict); + } + + function matchEraNarrow(isStrict, locale) { + return locale.erasNarrowRegex(isStrict); + } + + function matchEraYearOrdinal(isStrict, locale) { + return locale._eraYearOrdinalRegex || matchUnsigned; + } + + function computeErasParse() { + var abbrPieces = [], + namePieces = [], + narrowPieces = [], + mixedPieces = [], + i, + l, + eras = this.eras(); + + for (i = 0, l = eras.length; i < l; ++i) { + namePieces.push(regexEscape(eras[i].name)); + abbrPieces.push(regexEscape(eras[i].abbr)); + narrowPieces.push(regexEscape(eras[i].narrow)); + + mixedPieces.push(regexEscape(eras[i].name)); + mixedPieces.push(regexEscape(eras[i].abbr)); + mixedPieces.push(regexEscape(eras[i].narrow)); + } + + this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); + this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); + this._erasNarrowRegex = new RegExp( + '^(' + narrowPieces.join('|') + ')', + 'i' + ); + } + + // FORMATTING + + addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }); + + addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken(token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + + addWeekYearFormatToken('gggg', 'weekYear'); + addWeekYearFormatToken('ggggg', 'weekYear'); + addWeekYearFormatToken('GGGG', 'isoWeekYear'); + addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + + // ALIASES + + addUnitAlias('weekYear', 'gg'); + addUnitAlias('isoWeekYear', 'GG'); + + // PRIORITY + + addUnitPriority('weekYear', 1); + addUnitPriority('isoWeekYear', 1); + + // PARSING + + addRegexToken('G', matchSigned); + addRegexToken('g', matchSigned); + addRegexToken('GG', match1to2, match2); + addRegexToken('gg', match1to2, match2); + addRegexToken('GGGG', match1to4, match4); + addRegexToken('gggg', match1to4, match4); + addRegexToken('GGGGG', match1to6, match6); + addRegexToken('ggggg', match1to6, match6); + + addWeekParseToken( + ['gggg', 'ggggg', 'GGGG', 'GGGGG'], + function (input, week, config, token) { + week[token.substr(0, 2)] = toInt(input); + } + ); + + addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + // MOMENTS + + function getSetWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy + ); + } + + function getSetISOWeekYear(input) { + return getSetWeekYearHelper.call( + this, + input, + this.isoWeek(), + this.isoWeekday(), + 1, + 4 + ); + } + + function getISOWeeksInYear() { + return weeksInYear(this.year(), 1, 4); + } + + function getISOWeeksInISOWeekYear() { + return weeksInYear(this.isoWeekYear(), 1, 4); + } + + function getWeeksInYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + } + + function getWeeksInWeekYear() { + var weekInfo = this.localeData()._week; + return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); + } + + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); + + // ALIASES + + addUnitAlias('quarter', 'Q'); + + // PRIORITY + + addUnitPriority('quarter', 7); + + // PARSING + + addRegexToken('Q', match1); + addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + // MOMENTS + + function getSetQuarter(input) { + return input == null + ? Math.ceil((this.month() + 1) / 3) + : this.month((input - 1) * 3 + (this.month() % 3)); + } + + // FORMATTING + + addFormatToken('D', ['DD', 2], 'Do', 'date'); + + // ALIASES + + addUnitAlias('date', 'D'); + + // PRIORITY + addUnitPriority('date', 9); + + // PARSING + + addRegexToken('D', match1to2); + addRegexToken('DD', match1to2, match2); + addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict + ? locale._dayOfMonthOrdinalParse || locale._ordinalParse + : locale._dayOfMonthOrdinalParseLenient; + }); + + addParseToken(['D', 'DD'], DATE); + addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); + }); + + // MOMENTS + + var getSetDayOfMonth = makeGetSet('Date', true); + + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // ALIASES + + addUnitAlias('dayOfYear', 'DDD'); + + // PRIORITY + addUnitPriority('dayOfYear', 4); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + function getSetDayOfYear(input) { + var dayOfYear = + Math.round( + (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 + ) + 1; + return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); + } + + // FORMATTING + + addFormatToken('m', ['mm', 2], 0, 'minute'); + + // ALIASES + + addUnitAlias('minute', 'm'); + + // PRIORITY + + addUnitPriority('minute', 14); + + // PARSING + + addRegexToken('m', match1to2); + addRegexToken('mm', match1to2, match2); + addParseToken(['m', 'mm'], MINUTE); + + // MOMENTS + + var getSetMinute = makeGetSet('Minutes', false); + + // FORMATTING + + addFormatToken('s', ['ss', 2], 0, 'second'); + + // ALIASES + + addUnitAlias('second', 's'); + + // PRIORITY + + addUnitPriority('second', 15); + + // PARSING + + addRegexToken('s', match1to2); + addRegexToken('ss', match1to2, match2); + addParseToken(['s', 'ss'], SECOND); + + // MOMENTS + + var getSetSecond = makeGetSet('Seconds', false); + + // FORMATTING + + addFormatToken('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }); + + addFormatToken(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }); + + addFormatToken(0, ['SSS', 3], 0, 'millisecond'); + addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; + }); + addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; + }); + addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); + + // ALIASES + + addUnitAlias('millisecond', 'ms'); + + // PRIORITY + + addUnitPriority('millisecond', 16); + + // PARSING + + addRegexToken('S', match1to3, match1); + addRegexToken('SS', match1to3, match2); + addRegexToken('SSS', match1to3, match3); + + var token, getSetMillisecond; + for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { + array[MILLISECOND] = toInt(('0.' + input) * 1000); + } + + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } + + getSetMillisecond = makeGetSet('Milliseconds', false); + + // FORMATTING + + addFormatToken('z', 0, 0, 'zoneAbbr'); + addFormatToken('zz', 0, 0, 'zoneName'); + + // MOMENTS + + function getZoneAbbr() { + return this._isUTC ? 'UTC' : ''; + } + + function getZoneName() { + return this._isUTC ? 'Coordinated Universal Time' : ''; + } + + var proto = Moment.prototype; + + proto.add = add; + proto.calendar = calendar$1; + proto.clone = clone; + proto.diff = diff; + proto.endOf = endOf; + proto.format = format; + proto.from = from; + proto.fromNow = fromNow; + proto.to = to; + proto.toNow = toNow; + proto.get = stringGet; + proto.invalidAt = invalidAt; + proto.isAfter = isAfter; + proto.isBefore = isBefore; + proto.isBetween = isBetween; + proto.isSame = isSame; + proto.isSameOrAfter = isSameOrAfter; + proto.isSameOrBefore = isSameOrBefore; + proto.isValid = isValid$2; + proto.lang = lang; + proto.locale = locale; + proto.localeData = localeData; + proto.max = prototypeMax; + proto.min = prototypeMin; + proto.parsingFlags = parsingFlags; + proto.set = stringSet; + proto.startOf = startOf; + proto.subtract = subtract; + proto.toArray = toArray; + proto.toObject = toObject; + proto.toDate = toDate; + proto.toISOString = toISOString; + proto.inspect = inspect; + if (typeof Symbol !== 'undefined' && Symbol.for != null) { + proto[Symbol.for('nodejs.util.inspect.custom')] = function () { + return 'Moment<' + this.format() + '>'; + }; + } + proto.toJSON = toJSON; + proto.toString = toString; + proto.unix = unix; + proto.valueOf = valueOf; + proto.creationData = creationData; + proto.eraName = getEraName; + proto.eraNarrow = getEraNarrow; + proto.eraAbbr = getEraAbbr; + proto.eraYear = getEraYear; + proto.year = getSetYear; + proto.isLeapYear = getIsLeapYear; + proto.weekYear = getSetWeekYear; + proto.isoWeekYear = getSetISOWeekYear; + proto.quarter = proto.quarters = getSetQuarter; + proto.month = getSetMonth; + proto.daysInMonth = getDaysInMonth; + proto.week = proto.weeks = getSetWeek; + proto.isoWeek = proto.isoWeeks = getSetISOWeek; + proto.weeksInYear = getWeeksInYear; + proto.weeksInWeekYear = getWeeksInWeekYear; + proto.isoWeeksInYear = getISOWeeksInYear; + proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; + proto.date = getSetDayOfMonth; + proto.day = proto.days = getSetDayOfWeek; + proto.weekday = getSetLocaleDayOfWeek; + proto.isoWeekday = getSetISODayOfWeek; + proto.dayOfYear = getSetDayOfYear; + proto.hour = proto.hours = getSetHour; + proto.minute = proto.minutes = getSetMinute; + proto.second = proto.seconds = getSetSecond; + proto.millisecond = proto.milliseconds = getSetMillisecond; + proto.utcOffset = getSetOffset; + proto.utc = setOffsetToUTC; + proto.local = setOffsetToLocal; + proto.parseZone = setOffsetToParsedOffset; + proto.hasAlignedHourOffset = hasAlignedHourOffset; + proto.isDST = isDaylightSavingTime; + proto.isLocal = isLocal; + proto.isUtcOffset = isUtcOffset; + proto.isUtc = isUtc; + proto.isUTC = isUtc; + proto.zoneAbbr = getZoneAbbr; + proto.zoneName = getZoneName; + proto.dates = deprecate( + 'dates accessor is deprecated. Use date instead.', + getSetDayOfMonth + ); + proto.months = deprecate( + 'months accessor is deprecated. Use month instead', + getSetMonth + ); + proto.years = deprecate( + 'years accessor is deprecated. Use year instead', + getSetYear + ); + proto.zone = deprecate( + 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', + getSetZone + ); + proto.isDSTShifted = deprecate( + 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', + isDaylightSavingTimeShifted + ); + + function createUnix(input) { + return createLocal(input * 1000); + } + + function createInZone() { + return createLocal.apply(null, arguments).parseZone(); + } + + function preParsePostFormat(string) { + return string; + } + + var proto$1 = Locale.prototype; + + proto$1.calendar = calendar; + proto$1.longDateFormat = longDateFormat; + proto$1.invalidDate = invalidDate; + proto$1.ordinal = ordinal; + proto$1.preparse = preParsePostFormat; + proto$1.postformat = preParsePostFormat; + proto$1.relativeTime = relativeTime; + proto$1.pastFuture = pastFuture; + proto$1.set = set; + proto$1.eras = localeEras; + proto$1.erasParse = localeErasParse; + proto$1.erasConvertYear = localeErasConvertYear; + proto$1.erasAbbrRegex = erasAbbrRegex; + proto$1.erasNameRegex = erasNameRegex; + proto$1.erasNarrowRegex = erasNarrowRegex; + + proto$1.months = localeMonths; + proto$1.monthsShort = localeMonthsShort; + proto$1.monthsParse = localeMonthsParse; + proto$1.monthsRegex = monthsRegex; + proto$1.monthsShortRegex = monthsShortRegex; + proto$1.week = localeWeek; + proto$1.firstDayOfYear = localeFirstDayOfYear; + proto$1.firstDayOfWeek = localeFirstDayOfWeek; + + proto$1.weekdays = localeWeekdays; + proto$1.weekdaysMin = localeWeekdaysMin; + proto$1.weekdaysShort = localeWeekdaysShort; + proto$1.weekdaysParse = localeWeekdaysParse; + + proto$1.weekdaysRegex = weekdaysRegex; + proto$1.weekdaysShortRegex = weekdaysShortRegex; + proto$1.weekdaysMinRegex = weekdaysMinRegex; + + proto$1.isPM = localeIsPM; + proto$1.meridiem = localeMeridiem; + + function get$1(format, index, field, setter) { + var locale = getLocale(), + utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl(format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get$1(format, index, field, 'month'); + } + + var i, + out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl(localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0, + i, + out = []; + + if (index != null) { + return get$1(format, (index + shift) % 7, field, 'day'); + } + + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, 'day'); + } + return out; + } + + function listMonths(format, index) { + return listMonthsImpl(format, index, 'months'); + } + + function listMonthsShort(format, index) { + return listMonthsImpl(format, index, 'monthsShort'); + } + + function listWeekdays(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); + } + + function listWeekdaysShort(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); + } + + function listWeekdaysMin(localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); + } + + getSetGlobalLocale('en', { + eras: [ + { + since: '0001-01-01', + until: +Infinity, + offset: 1, + name: 'Anno Domini', + narrow: 'AD', + abbr: 'AD', + }, + { + since: '0000-12-31', + until: -Infinity, + offset: 1, + name: 'Before Christ', + narrow: 'BC', + abbr: 'BC', + }, + ], + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal: function (number) { + var b = number % 10, + output = + toInt((number % 100) / 10) === 1 + ? 'th' + : b === 1 + ? 'st' + : b === 2 + ? 'nd' + : b === 3 + ? 'rd' + : 'th'; + return number + output; + }, + }); + + // Side effect imports + + hooks.lang = deprecate( + 'moment.lang is deprecated. Use moment.locale instead.', + getSetGlobalLocale + ); + hooks.langData = deprecate( + 'moment.langData is deprecated. Use moment.localeData instead.', + getLocale + ); + + var mathAbs = Math.abs; + + function abs() { + var data = this._data; + + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + + return this; + } + + function addSubtract$1(duration, input, value, direction) { + var other = createDuration(input, value); + + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + + return duration._bubble(); + } + + // supports only 2.0-style add(1, 's') or add(duration) + function add$1(input, value) { + return addSubtract$1(this, input, value, 1); + } + + // supports only 2.0-style subtract(1, 's') or subtract(duration) + function subtract$1(input, value) { + return addSubtract$1(this, input, value, -1); + } + + function absCeil(number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + + function bubble() { + var milliseconds = this._milliseconds, + days = this._days, + months = this._months, + data = this._data, + seconds, + minutes, + hours, + years, + monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if ( + !( + (milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0) + ) + ) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; + } + + function daysToMonths(days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return (days * 4800) / 146097; + } + + function monthsToDays(months) { + // the reverse of daysToMonths + return (months * 146097) / 4800; + } + + function as(units) { + if (!this.isValid()) { + return NaN; + } + var days, + months, + milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': + return months; + case 'quarter': + return months / 3; + case 'year': + return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week': + return days / 7 + milliseconds / 6048e5; + case 'day': + return days + milliseconds / 864e5; + case 'hour': + return days * 24 + milliseconds / 36e5; + case 'minute': + return days * 1440 + milliseconds / 6e4; + case 'second': + return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': + return Math.floor(days * 864e5) + milliseconds; + default: + throw new Error('Unknown unit ' + units); + } + } + } + + // TODO: Use this.as('ms')? + function valueOf$1() { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); + } + + function makeAs(alias) { + return function () { + return this.as(alias); + }; + } + + var asMilliseconds = makeAs('ms'), + asSeconds = makeAs('s'), + asMinutes = makeAs('m'), + asHours = makeAs('h'), + asDays = makeAs('d'), + asWeeks = makeAs('w'), + asMonths = makeAs('M'), + asQuarters = makeAs('Q'), + asYears = makeAs('y'); + + function clone$1() { + return createDuration(this); + } + + function get$2(units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + 's']() : NaN; + } + + function makeGetter(name) { + return function () { + return this.isValid() ? this._data[name] : NaN; + }; + } + + var milliseconds = makeGetter('milliseconds'), + seconds = makeGetter('seconds'), + minutes = makeGetter('minutes'), + hours = makeGetter('hours'), + days = makeGetter('days'), + months = makeGetter('months'), + years = makeGetter('years'); + + function weeks() { + return absFloor(this.days() / 7); + } + + var round = Math.round, + thresholds = { + ss: 44, // a few seconds to seconds + s: 45, // seconds to minute + m: 45, // minutes to hour + h: 22, // hours to day + d: 26, // days to month/week + w: null, // weeks to month + M: 11, // months to year + }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { + var duration = createDuration(posNegDuration).abs(), + seconds = round(duration.as('s')), + minutes = round(duration.as('m')), + hours = round(duration.as('h')), + days = round(duration.as('d')), + months = round(duration.as('M')), + weeks = round(duration.as('w')), + years = round(duration.as('y')), + a = + (seconds <= thresholds.ss && ['s', seconds]) || + (seconds < thresholds.s && ['ss', seconds]) || + (minutes <= 1 && ['m']) || + (minutes < thresholds.m && ['mm', minutes]) || + (hours <= 1 && ['h']) || + (hours < thresholds.h && ['hh', hours]) || + (days <= 1 && ['d']) || + (days < thresholds.d && ['dd', days]); + + if (thresholds.w != null) { + a = + a || + (weeks <= 1 && ['w']) || + (weeks < thresholds.w && ['ww', weeks]); + } + a = a || + (months <= 1 && ['M']) || + (months < thresholds.M && ['MM', months]) || + (years <= 1 && ['y']) || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + // This function allows you to set the rounding function for relative time strings + function getSetRelativeTimeRounding(roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof roundingFunction === 'function') { + round = roundingFunction; + return true; + } + return false; + } + + // This function allows you to set a threshold for relative time strings + function getSetRelativeTimeThreshold(threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } + return true; + } + + function humanize(argWithSuffix, argThresholds) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var withSuffix = false, + th = thresholds, + locale, + output; + + if (typeof argWithSuffix === 'object') { + argThresholds = argWithSuffix; + argWithSuffix = false; + } + if (typeof argWithSuffix === 'boolean') { + withSuffix = argWithSuffix; + } + if (typeof argThresholds === 'object') { + th = Object.assign({}, thresholds, argThresholds); + if (argThresholds.s != null && argThresholds.ss == null) { + th.ss = argThresholds.s - 1; + } + } + + locale = this.localeData(); + output = relativeTime$1(this, !withSuffix, th, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); + } + + var abs$1 = Math.abs; + + function sign(x) { + return (x > 0) - (x < 0) || +x; + } + + function toISOString$1() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs$1(this._milliseconds) / 1000, + days = abs$1(this._days), + months = abs$1(this._months), + minutes, + hours, + years, + s, + total = this.asSeconds(), + totalSign, + ymSign, + daysSign, + hmsSign; + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; + + totalSign = total < 0 ? '-' : ''; + ymSign = sign(this._months) !== sign(total) ? '-' : ''; + daysSign = sign(this._days) !== sign(total) ? '-' : ''; + hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; + + return ( + totalSign + + 'P' + + (years ? ymSign + years + 'Y' : '') + + (months ? ymSign + months + 'M' : '') + + (days ? daysSign + days + 'D' : '') + + (hours || minutes || seconds ? 'T' : '') + + (hours ? hmsSign + hours + 'H' : '') + + (minutes ? hmsSign + minutes + 'M' : '') + + (seconds ? hmsSign + s + 'S' : '') + ); + } + + var proto$2 = Duration.prototype; + + proto$2.isValid = isValid$1; + proto$2.abs = abs; + proto$2.add = add$1; + proto$2.subtract = subtract$1; + proto$2.as = as; + proto$2.asMilliseconds = asMilliseconds; + proto$2.asSeconds = asSeconds; + proto$2.asMinutes = asMinutes; + proto$2.asHours = asHours; + proto$2.asDays = asDays; + proto$2.asWeeks = asWeeks; + proto$2.asMonths = asMonths; + proto$2.asQuarters = asQuarters; + proto$2.asYears = asYears; + proto$2.valueOf = valueOf$1; + proto$2._bubble = bubble; + proto$2.clone = clone$1; + proto$2.get = get$2; + proto$2.milliseconds = milliseconds; + proto$2.seconds = seconds; + proto$2.minutes = minutes; + proto$2.hours = hours; + proto$2.days = days; + proto$2.weeks = weeks; + proto$2.months = months; + proto$2.years = years; + proto$2.humanize = humanize; + proto$2.toISOString = toISOString$1; + proto$2.toString = toISOString$1; + proto$2.toJSON = toISOString$1; + proto$2.locale = locale; + proto$2.localeData = localeData; + + proto$2.toIsoString = deprecate( + 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', + toISOString$1 + ); + proto$2.lang = lang; + + // FORMATTING + + addFormatToken('X', 0, 0, 'unix'); + addFormatToken('x', 0, 0, 'valueOf'); + + // PARSING + + addRegexToken('x', matchSigned); + addRegexToken('X', matchTimestamp); + addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input) * 1000); + }); + addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); + }); + + //! moment.js + + hooks.version = '2.29.4'; + + setHookCallback(createLocal); + + hooks.fn = proto; + hooks.min = min; + hooks.max = max; + hooks.now = now; + hooks.utc = createUTC; + hooks.unix = createUnix; + hooks.months = listMonths; + hooks.isDate = isDate; + hooks.locale = getSetGlobalLocale; + hooks.invalid = createInvalid; + hooks.duration = createDuration; + hooks.isMoment = isMoment; + hooks.weekdays = listWeekdays; + hooks.parseZone = createInZone; + hooks.localeData = getLocale; + hooks.isDuration = isDuration; + hooks.monthsShort = listMonthsShort; + hooks.weekdaysMin = listWeekdaysMin; + hooks.defineLocale = defineLocale; + hooks.updateLocale = updateLocale; + hooks.locales = listLocales; + hooks.weekdaysShort = listWeekdaysShort; + hooks.normalizeUnits = normalizeUnits; + hooks.relativeTimeRounding = getSetRelativeTimeRounding; + hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; + hooks.calendarFormat = getCalendarFormat; + hooks.prototype = proto; + + // currently HTML5 input type only supports 24-hour formats + hooks.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // + DATE: 'YYYY-MM-DD', // + TIME: 'HH:mm', // + TIME_SECONDS: 'HH:mm:ss', // + TIME_MS: 'HH:mm:ss.SSS', // + WEEK: 'GGGG-[W]WW', // + MONTH: 'YYYY-MM', // + }; + + return hooks; + +}))); diff --git a/app/src/main/assets/assets/js/script.js b/app/src/main/assets/assets/js/script.js new file mode 100644 index 0000000..2d9e01a --- /dev/null +++ b/app/src/main/assets/assets/js/script.js @@ -0,0 +1,104 @@ +$(function(){ + + // Cache some selectors + + var clock = $('#clock'), + alarm = clock.find('.alarm'), + ampm = clock.find('.ampm'), + date = clock.find('.date'); + + // Map digits to their names (this will be an array) + var digit_to_name = 'zero one two three four five six seven eight nine'.split(' '); + + // This object will hold the digit elements + var digits = {}; + + // Positions for the hours, minutes, and seconds + var positions = [ + 'h1', 'h2', ':', 'm1', 'm2', ':', 's1', 's2' + ]; + + // Generate the digits with the needed markup, + // and add them to the clock + + var digit_holder = clock.find('.digits'); + + $.each(positions, function(){ + + if(this == ':'){ + digit_holder.append('
'); + } + else{ + + var pos = $('
'); + + for(var i=1; i<8; i++){ + pos.append(''); + } + + // Set the digits as key:value pairs in the digits object + digits[this] = pos; + + // Add the digit elements to the page + digit_holder.append(pos); + } + + }); + + // Add the weekday names + + var weekday_names = 'SUN MON TUE WED THU FRI SAT'.split(' '), + weekday_holder = clock.find('.weekdays'); + + $.each(weekday_names, function(){ + weekday_holder.append('' + this + ''); + }); + + var weekdays = clock.find('.weekdays span'); + + + // Run a timer every second and update the clock + + (function update_time(){ + + // Use moment.js to output the current time as a string + // hh is for the hours in 12-hour format, + // mm - minutes, ss-seconds (all with leading zeroes), + // d is for day of week and A is for AM/PM + + var now = moment().format("hhmmssdA"); + + digits.h1.attr('class', digit_to_name[now[0]]); + digits.h2.attr('class', digit_to_name[now[1]]); + digits.m1.attr('class', digit_to_name[now[2]]); + digits.m2.attr('class', digit_to_name[now[3]]); + digits.s1.attr('class', digit_to_name[now[4]]); + digits.s2.attr('class', digit_to_name[now[5]]); + + // The library returns Sunday as the first day of the week. + // Stupid, I know. Lets shift all the days one position down, + // and make Sunday last + + var dow = now[6]; + + // Mark the active day of the week + weekdays.removeClass('active').eq(dow).addClass('active'); + + // Set the am/pm text: + ampm.text(now[7]+now[8]); + + // Set Date + date.text(new Date().toLocaleDateString('en-us', { weekday:"long", year:"numeric", month:"long", day:"numeric"})); + + // Schedule this function to be run again in 1 sec + setTimeout(update_time, 1000); + + })(); + + // Switch the theme + + $('a.button').click(function(){ + clock.toggleClass('light dark'); + }); + +}); \ No newline at end of file diff --git a/app/src/main/assets/assets/js/z-roofcam.js b/app/src/main/assets/assets/js/z-roofcam.js new file mode 100644 index 0000000..4ffc602 --- /dev/null +++ b/app/src/main/assets/assets/js/z-roofcam.js @@ -0,0 +1,102 @@ + + let mseQueue = [], + mseSourceBuffer, mseStreamingStarted = false, videoSound=false; + + function startPlay() { + let host = "192.168.11.22:8083"; + let uuid = $('#uuid').val(); + let channel = $('#channel').val(); + location.protocol == 'https:' ? potocol = 'wss' : potocol = 'ws'; + let url = potocol + '://' + host + '/stream/' + uuid + '/channel/' + channel + '/mse?uuid=' + uuid + '&channel=' + channel; + let mse = new MediaSource(); + + $("#videoPlayer")[0].src = window.URL.createObjectURL(mse); + mse.addEventListener('sourceopen', function() { + let ws = new WebSocket(url); + ws.binaryType = "arraybuffer"; + ws.onopen = function(event) { + console.log('Connect to ws'); + } + ws.onclose = function(event) { + console.log('Disconnected from ws, reloading in 5 seconds'); + doReload(); + } + ws.onmessage = function(event) { + let data = new Uint8Array(event.data); + if (data[0] == 9) { + decoded_arr = data.slice(1); + if (window.TextDecoder) { + mimeCodec = new TextDecoder("utf-8").decode(decoded_arr); + } else { + mimeCodec = Utf8ArrayToStr(decoded_arr); + } + if(mimeCodec.indexOf(',')>0){ + videoSound=true; + } + mseSourceBuffer = mse.addSourceBuffer('video/mp4; codecs="' + mimeCodec + '"'); + mseSourceBuffer.mode = "segments" + mseSourceBuffer.addEventListener("updateend", pushPacket); + + } else { + readPacket(event.data); + } + }; + }, false); + + } + + function pushPacket() { + if (!mseSourceBuffer.updating) { + if (mseQueue.length > 0) { + packet = mseQueue.shift(); + mseSourceBuffer.appendBuffer(packet); + } else { + mseStreamingStarted = false; + } + } + if ($("#videoPlayer")[0].buffered.length > 0) { + if (typeof document.hidden !== "undefined" && document.hidden && !videoSound) { + + $("#videoPlayer")[0].currentTime = $("#videoPlayer")[0].buffered.end(($("#videoPlayer")[0].buffered.length - 1)) - 0.5; + } + } + } + + function readPacket(packet) { + if (!mseStreamingStarted) { + mseSourceBuffer.appendBuffer(packet); + mseStreamingStarted = true; + return; + } + mseQueue.push(packet); + if (!mseSourceBuffer.updating) { + pushPacket(); + } + } + + function doReload() { + setTimeout(function() { + location.reload(); + }, 5000); + } + /* + $("#videoPlayer")[0].addEventListener('loadeddata', () => { + $("#videoPlayer")[0].play(); + let browser = browserDetector(); + if (!browser.safari) { + makePic(); + } + }); + */ + + $("#videoPlayer")[0].addEventListener('pause', () => { + if ($("#videoPlayer")[0].currentTime > $("#videoPlayer")[0].buffered.end(($("#videoPlayer")[0].buffered.length - 1))) { + $("#videoPlayer")[0].currentTime = $("#videoPlayer")[0].buffered.end(($("#videoPlayer")[0].buffered.length - 1)) - 0.1; + $("#videoPlayer")[0].play(); + } + }); + + $("#videoPlayer")[0].addEventListener('error', () => { + console.log('video_error. reloading in 5 seconds.'); + doReload(); + }); \ No newline at end of file diff --git a/app/src/main/assets/assets/js/z-roofcam2.js b/app/src/main/assets/assets/js/z-roofcam2.js new file mode 100644 index 0000000..5f6ceb8 --- /dev/null +++ b/app/src/main/assets/assets/js/z-roofcam2.js @@ -0,0 +1,96 @@ + let mseQueue2 = [], + mseSourceBuffer2, mseStreamingStarted2 = false, videoSound2=false; + + function startPlay2() { + let host = "192.168.11.22:8083"; + let uuid = $('#uuid2').val(); + let channel = $('#channel2').val(); + location.protocol == 'https:' ? potocol = 'wss' : potocol = 'ws'; + let url = potocol + '://' + host + '/stream/' + uuid + '/channel/' + channel + '/mse?uuid=' + uuid + '&channel=' + channel; + let mse = new MediaSource(); + + $("#videoPlayer2")[0].src = window.URL.createObjectURL(mse); + mse.addEventListener('sourceopen', function() { + let ws = new WebSocket(url); + ws.binaryType = "arraybuffer"; + ws.onopen = function(event) { + console.log('Connect to ws'); + } + ws.onclose = function(event) { + console.log('Disconnected from ws, reloading in 5 seconds'); + doReload(); + } + ws.onmessage = function(event) { + let data = new Uint8Array(event.data); + if (data[0] == 9) { + decoded_arr = data.slice(1); + if (window.TextDecoder) { + mimeCodec = new TextDecoder("utf-8").decode(decoded_arr); + } else { + mimeCodec = Utf8ArrayToStr(decoded_arr); + } + if(mimeCodec.indexOf(',')>0){ + videoSound2=true; + } + mseSourceBuffer2 = mse.addSourceBuffer('video/mp4; codecs="' + mimeCodec + '"'); + mseSourceBuffer2.mode = "segments" + mseSourceBuffer2.addEventListener("updateend", pushPacket2); + + } else { + readPacket2(event.data); + } + }; + }, false); + + } + + function pushPacket2() { + if (!mseSourceBuffer2.updating) { + if (mseQueue2.length > 0) { + packet = mseQueue2.shift(); + mseSourceBuffer2.appendBuffer(packet); + } else { + mseStreamingStarted2 = false; + } + } + if ($("#videoPlayer2")[0].buffered.length > 0) { + if (typeof document.hidden !== "undefined" && document.hidden && !videoSound2) { + + $("#videoPlayer2")[0].currentTime = $("#videoPlayer2")[0].buffered.end(($("#videoPlayer2")[0].buffered.length - 1)) - 0.5; + } + } + } + + function readPacket2(packet) { + if (!mseStreamingStarted2) { + mseSourceBuffer2.appendBuffer(packet); + mseStreamingStarted2 = true; + return; + } + mseQueue2.push(packet); + if (!mseSourceBuffer2.updating) { + pushPacket2(); + } + } + + /* + $("#videoPlayer")[0].addEventListener('loadeddata', () => { + $("#videoPlayer")[0].play(); + let browser = browserDetector(); + if (!browser.safari) { + makePic(); + } + }); + */ + + $("#videoPlayer2")[0].addEventListener('pause', () => { + if ($("#videoPlayer2")[0].currentTime > $("#videoPlayer2")[0].buffered.end(($("#videoPlayer2")[0].buffered.length - 1))) { + $("#videoPlayer2")[0].currentTime = $("#videoPlayer2")[0].buffered.end(($("#videoPlayer2")[0].buffered.length - 1)) - 0.1; + $("#videoPlayer2")[0].play(); + } + }); + + $("#videoPlayer2")[0].addEventListener('error', () => { + console.log('video_error. reloading in 5 seconds.'); + doReload(); + }); \ No newline at end of file diff --git a/app/src/main/assets/assets/js/z-wx.js b/app/src/main/assets/assets/js/z-wx.js new file mode 100644 index 0000000..6a8a5fe --- /dev/null +++ b/app/src/main/assets/assets/js/z-wx.js @@ -0,0 +1,116 @@ +function weatherBalloon( cityID ) { + var key = '48954b66c9d54116dd164d4e1bcd1210'; + fetch('https://api.openweathermap.org/data/2.5/weather?id=' + cityID+ '&appid=' + key + '&units=Imperial') + .then(function(resp) { return resp.json() }) // Convert data to json + .then(function(data) { + drawCurrentWX(data); + }) + .catch(function() { + // catch any errors + }); +} + +function futureCast( cityID ) { + var key = '48954b66c9d54116dd164d4e1bcd1210'; + fetch('https://api.openweathermap.org/data/2.5/forecast?id=' + cityID+ '&appid=' + key + '&units=Imperial') + .then(function(resp) { return resp.json() }) // Convert data to json + .then(function(data) { + //days = new Array(data.list[0],data.list[7],data.list[15],data.list[23],data.list[31],data.list[39]); + //drawFutureWX(days); + drawFutureWX(data.list); + }) + .catch(function() { + // catch any errors + }); +} + +function updateWX() { + document.getElementById('dopplerimg').src = "https://radar.weather.gov/ridge/standard/KENX_loop.gif?refreshed="+(Date.now()/1000); + weatherBalloon( 5129540 ); + futureCast( 5129540 ); + setTimeout(function() { + updateWX(); + }, 300000); // 5 min +} + +function drawCurrentWX( d ) { + let compassSector = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", "N"]; + var windDirection = compassSector[(d.wind.deg / 22.5).toFixed(0)]; + + const desc = d.weather[0].description.split(" "); + for (let i = 0; i < desc.length; i++) { + desc[i] = desc[i][0].toUpperCase() + desc[i].substr(1); + } + + document.getElementById('description').innerHTML = desc.join(" ").split(",").join(" "); + document.getElementById('wind').innerHTML = "Wind "+ windDirection + " at " + Math.round(d.wind.speed,0) +"mph"; + if (d.wind.gust > 0 && Math.round(d.wind.gust,0) != Math.round(d.wind.speed,0)) document.getElementById('wind').innerHTML += " (gusting to "+Math.round(d.wind.gust,0)+"mph)"; + document.getElementById('temp').innerHTML = Math.round(d.main.temp,0) + '°'; + if (Math.round(d.main.feels_like,0) != Math.round(d.main.temp,0)) document.getElementById('feels_like').innerHTML = "Feels like: "+Math.round(d.main.feels_like,0)+ '°'; + document.getElementById('icon').innerHTML = ""; +} + +function isToday(date) { + var today = new Date(); + return date.getDate() == today.getDate() && + date.getMonth() == today.getMonth() && + date.getFullYear() == today.getFullYear() +} + +let compassSector = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", "N"]; +var currentDay = null; +var count = 0; +var forecastHTML = ""; +var limit = 3; + +function drawTheFuture(d) { + if (count > limit) return; + var dob = new Date(d.dt * 1000); + var today = new Date(); + today.setHours(0,0,0,0); + today = today.getTime(); + var dow = dob.toLocaleDateString("en-US", { weekday: 'long' }); + var id = "day0"; + var time = 0; + var day = ""; + + if (!isToday(dob)) { + j = 0; + fcday = dob.getTime(); + while (fcday - today >= 0) { + today = today + 86400000; + j++; + } + id = "day"+j; + } + var time = dob.getHours(); + var ampm = time >= 12 ? 'pm' : 'am'; + + time = time % 12; + time = time ? time : 12; // the hour '0' should be '12' + time = time + ampm; + if (currentDay != id && currentDay != null) { + forecastHTML += "
" + document.getElementById(id).innerHTML = forecastHTML; + forecastHTML = ""; + } + if (currentDay != id) { + count++; + if (count > limit) return; + if (id == "day0") day = "Today"; + else day = dow; + + forecastHTML += "
"+day+"
"; + currentDay = id; + } + var windDirection = compassSector[(d.wind.deg / 22.5).toFixed(0)]; + forecastHTML += ""; +} +function drawFutureWX( d ) { + forecastHTML = ""; + currentDay = null; + count = 0; + for (i=0; i < d.length; i++) { + if (i % 4 != 0) drawTheFuture(d[i]); + } +} \ No newline at end of file diff --git a/app/src/main/assets/clock.html b/app/src/main/assets/clock.html new file mode 100644 index 0000000..fbefe06 --- /dev/null +++ b/app/src/main/assets/clock.html @@ -0,0 +1,245 @@ + + + + + Digital Clock + + + +
+
+
+ SUN + MON + TUE + WED + THU + FRI + SAT +
+
--:--:-- --
+
+
Loading...
+
+
+ +
+
+
+
+
+
+ + + diff --git a/app/src/main/assets/radar.html b/app/src/main/assets/radar.html new file mode 100644 index 0000000..02fa2d5 --- /dev/null +++ b/app/src/main/assets/radar.html @@ -0,0 +1,55 @@ + + + + + + + + + diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..73eba73099574152eeee65a04850d132bdde4c91 GIT binary patch literal 210843 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

"+time+"

"+Math.round(d.main.temp,0) + '°'+"
"+ Math.round(d.wind.speed,0) +"mph
na<{;{W25&!b>{_9y-e4bR_2C zVuUjIjm5;lRC)_%LWO%MHP_CSyEulGze4%D(R_i|-e}5Mx5A8f{!X&RPaRg6j7b%N z=JhDU2);_C=zg`@4v=bINh(P%BNR>$nGmJC-Lq`hrp961E)3N&tq-3v%fIP0uC>&B7L z#3nN59O)N!x{U|`;FaQbVFvEmR_b^qX?zS9^PTuu_ zuit%q4*^C9=0C}zBe8j%;bKx3i9vR zm$3GJw|_;urCqSqN00NJ)rT5X2;^l8BRyyrT)K2`Omu1Fa3N>5HIt&5P0`>L$a{kS zt3djb*u`Og{Iz8KVd!7g#X5+}z5HDVRSl1+F!5>w>Pe#dmK^dAD6I@r03ELl*s~@Z zgr&9VBAEl{B$mejov>rMsojeM5Z4cOM%Tqi5oqYj<(BVRF8kf>qDmEk!fvheKLqOT zVdAH$bQ88nriVdp(GSV~I+Wsz4kK5O9288HQd*UKNRZqXePH=zRh1X~w=Ool60@ZF+6~ zY(8a_Yfs$;rK}KIeCW-V%_D@6b#$J(cd^uKSl#W$a+kv2yDfO|OrLNA_=`{GhOAW3 zJH<9~CEsM)5>(j(y{)`sST9$Ou7E$8#NJza8^#>e+HYdM=3&+UU7s{|cMSxgL<|aL z)qYcBra=x<@zkm+z&4W4gj>visz^5uM&+Zo(8Q7%DqTBSLi0&3*3(UJshDBx=Nna< zv@K$iW&N|eOK}xTN_#DpR;g$L*OrckPGXkF%%6NC4CR;Qt5OPXVNP&K1{J_w4+%Nc z?iDJi7gjxGI5}g*@I1BNc+a;7m8q89u<)0&J)-vg-Z zV-*}1#_mm|l}Q4pIXdJO5Zh(Ev= z$o=$r7wV$71(1{65|VBX%zLjN_*_|0BKjW$T>Q96zpY(<@GT(;CecDTS#b%NOS<@? zuWaM1QM!o`imS7FWz^1Y*zmZ?~wPrsF+-V_DKRSVVV=+fO#z&d-QWGyCbp(!p7@IUwgR1Ff{3Qfd=X5}+!P8necvNbe5c z4BS?rZlc`5fj3Q67dtC9YKYWtk)0a4GE}v#ewvaKERKA%!W`S=O&mMJJr7miMgu|{Af$)vaOKUu#o2*@lm`{$N zr0|-tylGK<`*hm|&0MCKNFPf7F@|Nh#c8GYOtkv`YbQsaC1kw`s^sW&SaI%|`!KjU z9pz-_T4a21$!bOW{5^vTjBPlwY?Z@&WXxzbPmOfsuVQ+aS-Z<-;=ruWMRmnguw-4% z)!Vfx_f%T)@L5b^0?i!%Y>WC<(as%BX;KKNa_k}_8V6s#HMuuS`S%}44nL-gxjUCL zH~uCBv(?p-f>&Md3i-)jex371zjUZ}x+{-_iN<|O9_5{aF9vyK(!nBZnWGo;axc#B zuW8RkwX!(ZjS7Z}jFF4@BD;`WxU5gst{6#=804=~?$AmP!I4)p(3h&fAuC3F5)?>0nazewOn|o8T46^O z4pfw7eTgzeHJtBKA>*3Id;p*sr<%y)yh{4ccu!;h+NWx@y^5ZT@T2hGgBLX?g9J@> z=Ux$hmdHb->?^ANJ~nNCHM1uJ%aAY&s-(fR(Lcl;twVwL5z@f> zyR%dQSQhbZ1B$B2dkU~0($dma@NEU2XzVKUT-7?86EPu==>s(5(wytst^ z$3&_I`>F+bG_SPs<_e26Oq-RSey>Y#L;0^#apG9|NBDQ2JhpWgilNhy$9-2xQpuRW zfl?sIvyUl!-96~{;lxqvC~T_wM+WX>L1znh`W?`O%30A^fB_o$kZ_;jAle>2JdNg( zoWj8t2l25~o46{-ZlncpXk|9A9t%rLRoGbOgQPtjfs?vn{dtC45+cW^&Lq(>122YsJ0lh3HQ z=D~e2U!}xQbxFb@DLpmjM%zk6T)V?Kc{mmSnK?Az6uc1KBs01!6i1Jk&Y!zN-VE7t zk^R9~P-&C(PY?R$tdC7>j~0=f>&P@TM}kCjqhO}0P zqcf=gr|{-)hk)KBK}vsp@1MB$7V$%(Kvki}s-Q{ezTocz|sS7KDjT z1v_STcG+f9#g3xq+N}j7;%Gii`m6t)jk=1y^q%I^0e#rsoo{ew z3bYvES|K9_+fsYx`~`uZf8U_NJ|F|PObTP3^MpPG&84Zj5tkTRHYqMGxGjL91EFS( z1^{1yhYufVzShP34Sxr@a;cJLD=mEf{uj&x6&`BTUM6JXd5DS;;<&7VnnJnCt#aAr zcVE};b;Qq-;1aYHAd!_RN@?UYFV&!SG)eB<2)rYsZ!FQ2gFG{bsTr(^OJw>|KO~~Il$tna($7q z=HyxhFSEXNLdLGx>Z7J&0sMDk$KJ60Qry5%QlCbeo>sDVKMj!Zp!PM;)pKAWMBk?J zi>u0~x}gN?8;icIM}OOcU-{V`6MXQMd8zK0c&AC}e|{bAzO`x<-QKm6` zipnptr$9VjdrG|k&D7_2$b<;LTRW;i`Df*ar==(Q(e+iPh4{T*eyh6BCv%Je zpI+{~uh_>nfiMXtNln_BST? z-=K~H!qPncK|;p@+d@3vD2ps}pQM9L?E9jG0L};40uezQy~nZps#_}KpYu;F-qQXA zUlRX$saFZCz99(*pSo3JtgDZ$~Znt+fCoEX8jR$r)@D}^WNHYD8hMo zYk$e^2*&FNm#S!4Vx^t~yNauTIprS7f^RVf#uP4T2HF;4wc)C~fsxqy><{!Zy3r5P z&z7^MTPIwjq80hLvm&Y+`Or4o!uN;WzeTUm;6%LciuH=(=O4lDva7x*7GpQk2>iKq zB3bWCbLOWgLfB`cv1b$b@tT@B{d_x%)2C-e!j}oNzH@Hm`{}M#$e*|>SAVno?e&}u zbE>fMp)3=_^G{NhJI&YlRB73Ssp_4Xok3|J@|fi^0n|NsdA;#2;ab4&9kA)>K98|# zLq=1-QNlpuc#!tF*mXR!Hf&)C+bOYUs3LP)5XX1ZZ-){KrcVlqP%n;hfSODvTCI*! zH@?TDEOnTF0iN4uzbdru=B}%cqYn9LPtWRlQVSKja6^jHa!3jja0VPfkATxvm>f*` z2}Q1q#W5pYX20Ywy<%0%qsLso$Q(&Sd)bIj0nibY6o%Vu04Sf6HRb@l=KkCGS&nKgRs34e^=P+?#Ou+9pBk)H5rj$u@z zV$ci_xM#?`YN-9m$2gP6fYeJrHG#&-Al}T2)4htRxkJhL$c#={)qrVsqoDuYyayCx zL_y5*d(@b3IQS3c+nJ;Ac(wq{z1Z}F+rNGdBKv^-(6>Gtd6Qvt)s4h2cm~I>bI0{T zJ4^nF;{`kaSZDqVTaPkYD;2xc8fwsHFo@0Yxys)#-<*NUv|jm6XT9eJmCO5x=cGV@X=$|gaCSB4Fz^Ckw3aP2XBxa z(=eB3^-Q$P-^t^9{%J!J8fjo5$=y5-h;IGBvwZ_}zNX}EzJK1|oXO+6Fn`@*KbS2# z0l9df_sLVe(oo`n@YQnFSUKG`??1@$SUL0W)PU`>5J$a}E*WesQFkaXZ)=tFwM*@% zlAe6pdKw#>j-^Kzx-3Jd==fv;TbRQ6U^%e;p{PmnBfz53zC}f@RL(TEGET0Fvn`$> zeJNIzD%ro&mk($bxxp4D+)J<8>h@JwcG545ZD)(cXjoK0CNtT?7O zUb~lf^^hgFr43vPto+TEkFiflf~Qy}Cfq^Tx8EO35qKtl$_lxCaw}n^%cuHt!}8tg z+HI=SZg!~ixc4xjHvBehdwXF*S*EOZ-M(&#-i**s^J(0I!?i0i(E}uyh-};cOk|<3 zY6`dh^qAcf(tB_QM6!kL;}3N-t$>`(@NS#V`&W@v>WV7(!+`bZD_(jOtV`Y8pta%0 z?2XR#kbQLB3kp|F%)4eo9gUDqIZ{>Z)?J#{}2u5qJm7bQmznGkmB0~Zp;Ne@O> zqmjQDAaAX&ht&!-*D?;Qhx_G?-`^;3nh<}OEzde_cJFK0a0XOa9s3TVUq|y12kp_d z7oo5Z^|u02u3vG8dEMH*VoZ<>^*j5|3k8gehTi}@^_1tIV83xczxgLGg)A`ljp2@KtViU>CiMz%=_@7 zqq#~oS|hc9AcsDHz*jds1?%l{Xkp~V#2TT)09Kkw@zcV5*Ot?5eNqrO%I_JJ%g3+{ zCrf-adnan^LYCqx|5;IMaTEg0-pw+RN6{MB{0uh1MHgb6_RQl>>&KF@C|gq7Bb0-SzGE7YJIZ6CGaF{zs}`~ z^MmCQeb|C+m&Of;v9>g$v4w-Bz17A_#UCE~bq6ncZ~6(ZT-#yQmQbcn}d5A2X2tcrU@dd~CBCc@UFWywxlC zmw?LJuTqxOE{0d}l}UN!`*u)UEKgBYOySjknEf-w7rAfqg3a})3!rqa~HJi%Ua!k~R2K#X?)%yQz8k>TMf*!DXNvjV=9 z!z)yod@PlG>)T)w@l3aTE*IF>7q&e~8@X4WTO%WG1JCdL^ve=8S*D>2!w&cWffQ5a zGKY37S(-Sj!~`hu(lAa*?|i`D=I9;%a<}@x2R8T&oWo=}@a@ilbd9V$7)YlSK3Ism z?l-IHV?JG{135{ccZe+SxwUVrmBqWO>%OHa8;&EfzYANtE>y*$XhkE~Mi=N5N)0mp z^=P%Bf@V1p7;IPd2mEJ1rg{ApC)Y67_{1Cgsv;!vQ-56WmDcyiLbb9T8^_pRkfGul zRr%FxsU$hF(XLyZ<;Ja>e%pNOg;nW{-HGM*YeJeGvfU007cu?!Z&vV6(2xD?)JWDi z40`sZvYe_MG4g)k6#PpfEG>WWk1$S$>?2&+N%*2SnmgJ&&Mn+KFGwX??r5s9ie2i( zhMyK=X4!T_QM7VQ;n;13!>ch$3iRnL79m=5g7_IeNMj7N-OimB7lDjT9pbN7R^&$e zTP8dX!)|ui4)PadFPjG+d1|<8bQiCVHZ5c>%1SKf7z`qtnAQ4*KZcL){wVvMK<2bD zV881=*Yz)Il_|zfs#DrJ`mo1$@?R8N|2@iMY8w|l=7iXZ zy0VIWZuR{1pQ6T;)g{lrVdVK8{cyZcI3xi=!^B>#D=X`LZA{J?>iJnpQ|prrwZYRj z`C-B6X3E%w17n~R?hy7W_3MC+uYvt*^W)o9Y-IZufy-dS#lD(Pj<9j}9hB9?Ye{(Y z;5Wt&3NJ#ByqM#7$ds^j{5EU~yRO8;SmrbKV$5lp`reCLDG>_uN;T@0CvXL(OtM%3 z1+PS`_>-zqUF#A$wtdzP>XOS|vx?S+B%;W0VDwNtY|6kwgBt)7#W9m?^uRXNKG@hp z(#wR|Uh%9L%q@|7Tt%9|==JmCbGA8EBGQ)PxS5CCf}BW$V{GGEAHr{iX};ahbQ^D- z+v%=K30oW)iY12ibG6^}>vIGe@3uMhy1&l-A(z4NB z2$P!m?fO_N=CwnwFwa(Ly`q^ic1o*-Xs;Q=APWEbSx`%Pmfi0hF)h0na^%cfZQ%Vz*!9O6Vn2lfdse_Wc)Hvoqz)!#zS2H7H z0Wy#ks5h*)v4da>3fxjDEpLCU3BSq^CmCe1QI3{VwzVn1H5$Jnrl0Lg3pNg3cc!(B z9SOxh8uVOm%KdHRe8y&YJJZ@(D*NBmEEwHwTz~HlyK38ONe0L7(SUo|4-rj=x(AJA?et1WLKD0CKE~uJ%{Emga9=eC9oJCry`RM$}fyhhT8J}VIrrv8#*@}Sa zDCfxK(*sO9+`FN|C6Ru$I@h|E#C0E(pna?P&7X4KeV{x!4L3q-z}xW?`sE?`c_cr& zN1iDw;Q6AV4ITcxz%}%k^@^E_d$BD6j1O&(&l)`#7Za9xQ7mwzV0n+iX-Llc%v^^a zkPz;U&kB@VRL^fY9AYgFUME>@-;r~*NpLT@08I@Zjz?W*oc(Het7sQ_Sn8KO0_%-0 zA^xi!FynP~b}v_u4KK?6R8zOv2OL)r;$ZrWedN3?nBM7Nm$Az>eh~_nr=k!61~=VwP!bo%n8ND#G2N2aZ^{5`o6{+Q_#V~*cUQ?ZX?oK#)BPWm ztN4fGBC-%Du!LzlZ2(L{sm*dT!}kWWe?{UnBRDZb6+Uu$lGJF?P2TNyFKG)iH}_=E z6hRbmW17#uFMH8ENj6>1Nj#7e`NKEM*#v=>eEb;jN%q4Jb{Ok1-Yb80Xd!kg|HGKDa(=RoMd z6^b2qkHL8-&E&Y2M&AOb%PqC_;4)&kg>HkMRM7UDFo*()Ix}N4$CCyxODkB zw!7pHhtZf0hZHPbuFs>_px`35tSIWw#*cV-JtXLCWj`X#Vp^_bc+lGzd= zFDJig?0F*JYp)XHFg9_sQ{j({-_J39#y9E4c40dzof74GD*{3Fs9dSlm(3YpEjft9 z7@c}z(H`*~Zm4fSt|BqT0Ci*V4?RpkA`%yVK@Jci-_J=ZYk;DzKneu2`u~wHuR>So zM+p3jpvcFf95eiYwvWF`9Gw2TbTxOzE?YX%{Cha;@}(?MRiM_rp{3yzv}U*Xu$aBD z=Cr-`L!l6Yy7VeA`()AOZz9b4X`b_r#;U@D5vHHEe~Xwb%f+`dv4UQ;3i85UXjwsQ zzU${G?1}s5DRmpCLtQ}5^FC0)vfV)j1Q5_bKVI!gwOkP#lL3>Mednw4E-n|-q7A2QC}@#n0i|R2SoXZ{^Xmx#d-{A@a^is z*{pQ`LlKgjew}7ENPVP^x3YEIC!M$}+SlK2?k)E~k4=HB^ThexQu!YTD08J+oaC1b zAYuZ{@C$*TL`o99Y+sJ?6KtKR8<9}1UU_+P3vGsp?3pdo?G@ZM1>>Bvt^F;lEwWl$ z&Fr1}OgrXDKtVKmpw-zYlTFCm3%W6vbt>~b(Fw38hW}OxG z^s^wQDqDX~9hw_+X8CwJ6g%A=2v;(~D+&x1b&{ROP$&Kap7kQD5WLUb7V0@wAz=LJ zrZp5V;BpaLg)bUJ(pM#dA@(gkXE;xn{)AyVStq!Ta9UvzO`1cR*Jm^*GmV%BTW??V zJu47E>!!OzJwCR9U!5b)k?0%nQLvgREqxfG$qaQ_k7WvFz)41Gp&R4^s zqKj}=z&g}Q|JSdT7oNEocSVf;#-{(9U#}?6X`_FFp20;8>P?Z~6a#lomX(lidu*<>rU*$%g5^1acI0LJG=H;w;WuIu{i5Yj> z`>^vT+g5^C#uZ!Z?C*8rXHD(}2bhF*psgL}5n?XOa zy>^Rk+#%~ITwRa3l6R;}^;;195xak$B;nLu)#JOx7V!R#bHSK|KNmrZBIj4Z--*z_*aLG+pO1jWsT-xBD2?A#Lx@DM==^8gmS zyHcithfHD)v?J1zO6Hh~%Zo!Yi`e4bC6*wg`De|0fTqfr1 zkK$#z{WHO^laq=$8Ah@1A?*9C*A|@VN+5T%}HtH0ka&-~j8JF_{nc_-j z+2r;B?IJE_di=VV{bsBE!@`q;lSfaXaf25L2dO?`Q}NF>9T}X1Ttq;jO=LhJQ(BNW z*s{Nr^fEeN&p}(lcE*pYPhy3>3OxQzqTZxAzWn69#;@oW&*ajloF7i4v%4bo7LIWr z9dDb{;13w4aZq|B{=>MOpEc@=ffv|w1+7ylwQkwW1>P#7>TwFjlwHudTL9kKU#=?l&?-W1GVP#o;%oPZDncH%*l3CluvFVFOtmV4QTAwf8m9eIPR z|3~MD~938yjHmuhdK7XWt*&OV|j8Ow`&R4V7`wifS*~a3*8EeRA8f9N- zKN{`9y+&nsFulNk45cS zh~DtE9EuXs#VI})}iry>=pRN(+lS}u=F?H)uuN+R5>Y)a#vbt^4ND@J8 zL#XvM(gxl$cedFj{aKTvzQ10(Vv6%3uY*3Ydv2A}Kh2X^@nYgLCD(K$vNqA$48t;Q4u1YJ21jm3`iS_Xr@TK zOo~GmoLE8@XO-i=J-r@xNGW^Zi5~_P7I)3c|3tHR%m@n_@*(W?n-k+j{DIt_3%hX$S!s<}WveSqyV87%j6NJznh9 z@7xdcN+eLcN{N1X%aL)l`nQRJRL(v}r>@gyRc?>T-#z5Wx4U50CQJCMTw3&hB~P*Exmns<{s&{n z!hkl&5)5*7udYi#L(vTR;fO-dqr>x7`-T}?h3cPTxRu5Bs44K4Va;$nz5;}s{|PBv zrOb!WhT~thC(sk(gcp-4padvDnM^)+PZ2epBqFMC#l#Fv9ag>gR#&I!_27(QiR|uz zH9YaCN~87V*WXgD72J}BA2a0|nzYx48POwZ7C*9b9}A&boTug;g>8rd^;ci)lU7cg z{*_QYFGRiw-p*r3dVTa1bp1$}+v0!?BR<|Vy)&Fi}t|3E&z ztb1L??x-;E^wUApzQ=6Zu66kHYlEi@Km*zmAG;rT2@u=qCG;yE5QY8=gIw^^17u3% zkFCfn-y!?hY8#{9=YIHjZd|y7I7l^sjn?e&Wb_w}E*&&}wEwDcBq7Rkqt8B8;N3l0 z4Y|$vCLQZJseWcqJ*&u-C-A8Hr;QLMN=M7W*W@lCk&*rhLU3ZUbzCjTZRkT_t?PJA zp16m(u)_nJvsm5=Ww4>lfz8Flfg&St&bLgN6G#KbCmIU?#nIy)X}Qk~HAtRYj8~Lw zzx&yap;MQz+Z(G`YafP2s`hT%U(@4*uWX)=T1#G;f4D>hX8VJcEcblNdW&E$JsF^9 z4!$fLL@7l?hst*+{r?gS1Ef)M33LXn%Y&H{%)Qj0#A6fQ$9>&o@vlU;6EKFO=8_EW zG|T$~mS;a28}2|w7?p%z=CIm8JQ?V7xPJRRF%i{?H2=;SP^Jw9AymaIT12c^K~z0j*E_uSvdj_IE< zinLiX!jlaXQ}u3Emwk z{d+9=GZyzIi4_Uld4b-{rZpd65u17VFYWH=TQ4!R;X-~U00d_Twcy7)LBNWHL%|dz z%LSw+%7KJ08oM?)Yvc^g%XCf;V#K#!R3C76rWQ@ww1Gb*@j9P5` z6Q4d52W{Bj%r}hlHOFsf?ol#Bn|&%sS1sfAY4#l6{PiBty*p?Y4Hs!Dmu;_BE|@YB zc-i>dA8YpE@W>Vfhv4Nw1D8V<099pNfR%Fv^6ph5BhY}GSB0p^tBbktMffrM?vG4b zGWqgJOIeGo6DgjId*9GzYAM#ApO{NLBvw#6?xFG+7VCw#Z4?cnhmRiTNlXoOd!S55nuh zBNQ+^hkM~DVG^)m`)bc1dzhei`W5Y!cgT~Qq5Q{xA`Tj9Ak5E@yg>V;H_*!gT+bKX z$J3+u(}4HflAge3o(v9QAw>GzPjCa}h67QwxP+wU8MPj3TI3-~yim`oT$v_4_|qt!uqPkK4bIxlNA2 z!iD3&gCbv5#j6+=y?$0PWyNdC?E5Ethjs3JfXT3MlK~*Q9ctilkUU7x3tJIwzfHaF zMiT_mQaqSz7y%WNzvad_+Ns?{lVf^Ade*?M0GSA5Lt%Ge1#Ld+hvO+)4hKuQ<`Tt3t`aL`o}n$Ay{Q_urWQ zy7>T~b%Ma5x$@V4nVq$VoNqdHnq~B)a@OUdu$m{yG7@wA6|Lil^L+Wu9GsBtHU7iA z^CDK|Cek0?_ep;Oje%G9mT5j!eRdc7k#zezQT#so+9qfeRQ)83>B$rfBNQuNris02L~C+ z>BV}!VoI*7G;8YvCD#+xmlce}^a;W>oYM&GPm;$7*x^mG((+uzNHiD$Jz_W+EP5P~7ijWF87=(=yHVDH!7VmWPeYE8AxF_UfUKogJ_!i3Ev-*IxKluforP**9bXECI zX%k;?;%0<;QH(xFi9#)>YUm}u5ds;o5h~XACCr#h}RQpUmN8l+o+tp_+^~-BX z^~>4SOS2PphsP|$iLUoAJ8?2%7lNhc!!s2|j2Z_HU@!v)ofBs%4mD-lqj*WqyTJR@ zfkWi*?GaD|XDyIHk1;0;dmOg$#mm6^Oz8+GcsIwC3OhsA!Y#NqTksZCh!0v#@uby@ zXetIhVhzyqJQ5eV9s)D+ZSSvQEa{vD$e}*)MTxI7N)Y9D*Nu2Ib{;f<}H|03F z8$NxMe6RdA`%KvLmdja6gZj?=YGvr{8^dqI<_MpAwUrK19wjZOv}eh3BuzEHXRvB6 zkA_^s6K7ZR95T?O4ZOg)aW^7AhwcgM4hd#2R%^ZU=-H7v))sQ(jb8ZR4_cPpBv16x zyp+vuT-I8eKKLB%kab6~jYGUdr+uL5p#7ZTfb!A9+_P%KSAw|AuA)ruPOC>W+wqU` z=U!jyBY8q;{;kQy8RAU~8JAMlRjdgp?03nWW~WOV)}l~11Nr+C^mIc3FC}>D{@!lS zJ_DXyb=Ul9$@_c$(&evD%%_|+w-_C})azw^zwNFM-aU@P%?92d1wob|kvoM>LgqB$Ybml#Qg(tF3#Slz#gVWY(HN-aF4|c*{7{IDF(AAR^h?3 zO=V>H#@HVXqg7igZ1^RxFg2G|M_G;^h0vtylQDE{knQqyNrUC9u?|_DuePC#BgwOk zTR*DKY1SLfDtAssA@QI}d^dC+@Zu@0737+q#Fq!x|GPZ|NVfLy_>hs8CP|D8&Vi9Gqs&9i=Ai~nfGVpxuM!GDexiA4<^1F53)OkkSe&4 zP~cPWv;xawd%%3qR10pFGeoAS9AYou^v|Fbj!)-})y^s&(BC0C@j0T8nc93VrU%uEIA)YbI9yQ4s&jh-XZ;P^b$O$b=Xt-iOY)QH zpx3ih9!)Mw_k!a{!{a`zS|-e*J)0`a(=A5H;q_bH4Z(@g<|iqNUZ-H(?pkij0H{u{ zPDq~4K=2=mfM%)Sp-Ff&|9Yyp{6O5=3d!J=?7fnFHK#SMLNz7~3o7`PC10jK*jYd@h_5y-!iX!J`Mwj+R-D7};$!CPla^xHecP zC!rTCv2C(#UN_!}U6>4|vmauk|Z1NF1*g`2=4#i%clo`u(@?SNk> zxSQQBL&stIo$2qA06QH!gI4kkA$Ag+N-SNIZ-UURpR zdo9E+JU;v|CdKehGwpC~-cpj;8=-V{D=;!FM*-!X*Zrkg3fL=R%ijD3%Fe(#)resTD|jNa-l z!`5^1aF*KSJhv)i^~1-8?fZ-J8R~bmiz)4Nr&}zBvR~A$3?2(8yk9c~j!EE(R}q8( z{dYzn(UmDOa`GuK$8_&we8y60*l3sZz&S<6uYtH3q$xH*7kEnPlH#^zUwDHWL~A-+gpf3rnx>Gd8iP{=3+_Dg2?#^(UyzT=t@0)n+Y%MY*}F zKYfvScrEbUJa*rEe;gzbzRy%&Ax)_|@wtdx^^|E|9c0>FWgnCj?G*1ImdgDsQ!j_S zd=?h;Ur&fHU5E)?u>pbvG;=JXMVYQV<=N{*Jj+X1-4Z#wOnpr<wF_Kzuu~LC?I9^gDn(U%|nfwUOIZJ1lH7+(XBkTIMas@ zxqehZ62b$yUR4C_;jyhaK4QbUofOG{Kw`EIg1#m;)L*74+pK6H=7Gy^=7@Od7i-<9 zqguDV<8*FxG||HjnR1uHV}aYZ_bc*Q>J#_Z-KU~X2Wq!=du4OZJQfr=`V=i~bHef1 zpzp08Aw7FmRFy_J#&>179vhV1UjJgvu%pvGwrk1`x;~TN9)LMkjkEnrwtV>USIDW2 ze2ALD-}R-q0!v}CGLgP$Z=##I9w~lcT^r(x^%gn(Xb#NsDS?i>?gN8zq#lpWrWo8w zKE4|YrFVOK)GXG=(AqP%Z*b6YbFi_}vTrE4gkB~^=z*J7-)-om9he^|#tO~8O{@L^ z7RV`V0e41{hZzUB4K<7W(OKK9c~8xX4sE$`mMGt+irlg%PqnMcxe@zXIuCxjnlraN zx1EW!wOhoWokxTTLKV5wvkz%)&F?Q^ji@hW+O();y-!e&t65yoC;Wz2dr-hNjryvd z72qQ{!owjLtC*BnjMoSO)QfAga!^mJ8)EhAisSrbck_%MDm;D5JpmJ7oM2y-_NGJ` zl|09Cc#(yX+x#cd)|yMV$N9A{8s*>K8|`{KN$1}|Di}&@H9VaDx@6(68ZlEmj=S(T zQ@dn|Yp@Ah6XU=eCjHL#)gO?*w8&rm(+>~-hOPf9Z&%z73-39DgPkp4+;@%0E`~SD zhF8x$X;ICrv;oA+s)5A048S&*lGbt3(RTn@fp>1qwuqmQ22AMzULkyhTm%U3_91*8 z;ti#)R-$V_$a-H7EJ`>mbQa`qj5*F9aCen!YdyiY*FH)--t_5cXkGnKlzKx2ZQeT% zO-l=wK9c#VVx`{(Hpy3}I5BO4@crf98nM$!CpOnmP<8tr?OReAjy7vL~u24V8*}52(Yav~yFgx6-A8E% zD#RQAxy?7{R=Gvl^7~XmQ@Sx5z6y-4YLC$#@E+LmyTz?uI&+qy`67&5x7V@FnhkVY zyF;5qs#Z@b@h2hDXk{yXNN(-hh;MorAu78-4Lr3j?UBB_p-m?3e6O}cmUMWJ`<~Zp zMpnn%>g0UU2TtTzD(6(Ka|L&Q@LmeX$(NpW1+UvU>NX%f`mDaFjllPf-(J+E0C06* zw8ZDtiN7Yjg7BsPw>1@|g*1Rs5FkNaIwGHDx;ZM5Om_2I{6PErYx^Qa1E0&;Rq=Fdg9~*0~K> z?GzD=H*weXJECeyi>;q)BYak+4k4^`o?qI2l5azd-_lI*3+>s?6cgUmcb?HvU%Dq6 z%yFGa<%!-^QFQQpnhBMfAJfSHn3KHqL*$5?8SdzrXJbui&vZ2GA2EW7g(l+-*PF<6IeCSKqFJJdH`>0I|IPeM}>6Kd_Gid)aPz#!*|Wkdv|T|6cvDMo(^2l?eeF{r|HN(S@C-7xfX$QKC0S@WclO#g+h~^CnDg?m zJkmHra7Y^}BhZ!8h}}{`C0&2f40=sHdv2TI>7${L#QL#Pz0Gsb9h>5sTfnC^I!AKg zQnKxjpCF|AwJUyKSbH(`d0FI@ZrmR8s1J;?ucCKwZpQn(1U#oBx@`#j1f+4E2;7*>ExE*1BsTFDWYX2AbCe4>(jN~4`yErsw^cz+SH(Nm%D-3+@wIAHFx zu-`+@dRV$7I|a=kbDS*Wn=<;&9vj<&tcm}&;F{5*qQOzX$P zAKM_xx*rDA#n+CgUQTwpoj1;3OrB)fcDazA4BhO)6U(!CQU%~2$5wlv%SvyUpY4D#YRQj;;2j?}EjABiHAdO$sU7k66N60E^ zV7Jr)F)ScANQj@|29qc#!7qo$s2OL!@>7V;$PzKV_o9bY3p`Qkp~9N(Gfvl=-_cg7 zES>E+p65YK_eY`6D(HdN{Lwq|0b8E=9oJ;bZ^u#AA+*6+QFitKIcox#@h^dvb3nt~N@V|;v*{>1U|Yorlquh9R_G?*E$v;!9PfxP zng^W?mI^infOJnQ(9iascjkAN9ndh{dIk0S+?BTOsz8K@S%RD{B5x3Sw{PNa2Jw9s zTb$r(1O@~@C{?a%5VK(JSD|tWg1}ohXrIJ97+Xb|PK`**)kuA^qjN01V)BN$pJ#sA za9KFsk)2aJ4>Dl9IH;UgcEc)?=iGQn9&Tnv(0m%AsU}+)2(LU7heXU%Uxo-G|12pG zs1m}>sQoFV2-=xHF_W}%yn=xK;91dqRt{ug?iP$Q*Uxg4n2ayb34Da`ccC#BBgGRe zychH4PVPuJ6mQTWO8n%H*^kS0xqF@z3k6Try3{Xpw%O+Po*X^x_11Y9sC|w1?Woud zi>bzEd&+7}HBH0&ekiv9vwJnfXC(R&|CU=Ip2rIHR&F~?s8*K^a;#fi<+Pf8Ne<#$fp=rK5T|0-kY5u9wvXm@o*S>a@fo?T6;7{i0pA-qro7GFcfog+=3uET3IlS%7Ta?X5wOvqRY)Q4C3*j%e{`}ohpJGYD9 zlu|$1&plBj|JiEHEpkHVigc{)IRrnXS^fTcHNfh#Xxx6gFgUoocpFzerD2eY(&|Cx z9OB}!kF*5_op3-Z-$5+nR3S$KOBkC05Y=WDM~W? z`#q9_I7IJaFV&EepJ9t2WVWIOjms333kkOQ7*DB!RRGX-A%yo>#-)H(DPy}|#0KcY zC`7Kc&>mez7+y8eU{0~_Uz}3int0gA`CJbQwMX-++(91bn4l^7^>hk}g9Hz&trIb{ zK=qKqU)IAlG1v9uaM&kSdq2`jG3>{8M9C|94_@bT36f~8O?pShay$QFOo>G{?!}Nv zx>r6r!I^~+p+^(ylxr3%c3<@%JnyDxqlLL{OgJfgRZT`|@7{)8we177mLN?+WK;zo zMCQ&+!yksZ>?!MSXQh7_M-W23gYz{I=i;1boHb-71TjhTWi@r!@vXRXghCJ)F=`qe`n`QyWND1zX(VQ#)c7KdN# zwG+0u;xt(}x9W^UsdQf(e0k3Tsf8v#wF3`HF^V&xn|86Q3d?WJiD8k=7^AbnAt>d7 zKj3!9GE5SGDR9W@MZ7G569FAq*Z_!sYtM59%BJ3fj$ZNs&C_3zbaFkfm%%c=YY+@A zsm@yF`hz2LI1dQT(T-2#G6W40k4%5)_r40x1nU3zH%y#5n2-AM)s>;t;+sgGlS2GK zF?nAKKkaL~$9nfU&8ro6(%bRfLR+JZ8WNbF+AeD+hN zD*N1Ohz{4^ABwBGZL8 z&EhQkxSTr2m`d(C{rKM%*zDHu=1FG~z1`ZwZk{$X!}IXC2Tzk8DS^hgta~A2p;WRo z!k13Ft#L(Z541*xnD;s7u$f`BH=5NpB>fN38H}fqoC=|z@%_K!|8CwY)BWvFljA+) z&Aqiw69gvr=W6o%eKfn{^+Gm}^6TZj=6r#S{X8fAG4rrn0BKb2eSe9Y zfBVtRQyz5t>5Bg!RhiMm`ehmSFheAz+5rUnBu6IxQAOp=h#Zms%sQSST`(^@`^SND zdZ5Ayf}UO_;0I<80~2}m#sszqA;SJWT|U6N2K=G#W4Fp`9Fm%s_&?5s4@7Gl$Do|- zGr?#dGd;=7gImjg2Z`K0>ycSddQq%SiSRzh!yQ{DyQn4$yBJ6!iD? zMm`!=&*Hz@zhQY6Y;aMNZSaNou-33?i6B~N*#L@J1nvpbYiyySBXX@3pMXC@rG}l) zQ_!44w7zdmjwVi;TFeneGcp>|=~qpDE`PP!Pr1cAvsS zd9sig?sz+R#9rT-k*RwqOrgkT)4G+Yz81%tAef#ExG8eXaV2q*(n?k+C%+GzLV?Ub zM&a|ct2w<-x*NTVMr>gE9CCZysC1U=L5)EaW%y{-^mqM{YR^ImaG?#RC&e~ zrS1D7&py(QSS{m?#K9NVqBgjLZ%T0CsrQdIP3xq*JbJ`IWdqL}Fwxcp^Q@~hLd6~6^Tm*sEbIzSgrjZX4Bs=CZy z=qYNa7!u*E22qY^oCV6i;rXWVweGh^jqqpa%NMLMUM#U|X4b+hua$x)n@$tu&P%!m zn`35kyJSv^J)YNoX7*j-Qjv#@i~g)B;zCA+BomZ z>@quyf=^$=ilSQBG9>YKKc5`6Pv?>h62j}=4KqZo1%%kZ$KHQ@5Lz{hj;CH$q7|&o z{0=o&Zy!%P9OZIbZd@U)5 zckf<5@4Hw$U9#sZ^Pwf+4_CoqKfQ%VWLDOX!*a}uLr9{`l%0>EK3dB_{usyUoHiVz zZ?R6-B9NyvJ-nMAN_xGj4(*%=21- zpPn{5NM2!9n`fU1t#<7ox8R0D+cswOmlG^|O+s%Uz>jv5N% zm)oiEie-cW<$;>9VqzZRoM z>r?rLo|@3gs8b%W1<(ftcmYB6`V-Pg2R$Syl}{Hh#pE~@a#DlSdYzyril32);gg4M zo>jMcAD+oZ{x!}oO>dXH?;}ujdv!JF>e{M~7)w6bFK6i#;PP)W9V^hP_fyhue&Xdq zy6DHT^_Q9=gh8RXqWwR;`29AJOb4bgb6`sN;<<6)tm(kgewB~kQR-Y;Y{O!klTn8V z4Xh_9WPiIah=3ACf34-UU?!Tg!KZhWIII>WG@`%!`zHTnh~v~V>6g(~m_?LAL#!ou zP|m$wu3QB=;ypA?<83$Yi{CsrB3a*F5_wEbI7+dk4Ox8F2ekh|T-YdiYt`j*`Y*CB z@8Us$c-()~8fGgJ64}@-CeSN8zvZV19(^}om;SEmKBf^phspcZ=_-7B{UWNVZTR7p zKpeM0;XbzPnx;W0cwp?@!Sd6^YlSV713jy(=UqN$UwQ7ub^iDy%fBl!daijXe5`Dk zz$)nT)gvy-O%BnW_%syqaaZ-Ng~D@~m!5UfQ?A}df2u&inTH~)#pju{bHKh^raS)JuHrq#7FPF6)O`MGBm6H|NG;;7%;tw0lOmq9oTlzQ^W~UB^r!W3RJJ z06`pz2|KHI#I7_I+@gSeSS)?XJJgPk6if601YLd}B*mkk+L}q!g5IXrrBxs5y5Hyh zYdnzh7TeU%TAzMtlQ4&U9^>r$8vXaa>yvsD3U9=9EOYP>G{KXT%VkZ#xkif96%v2> za_NVIn8kCc)t*2PVJJ}Wg{Sz_R)j8>4G|jZ6fXNVF4?n_qes?{!Zu5mp@)=(kpX^u z*5bFC-zX_l2%VuYA1iDS4l9q)zbGlwgKhzqs=*QYh^c3;m$afHb9Ke={Za#f#Zppn zG$$7{KP3qtZf)f$m;erXMLGR!z>xp4HR8Aq@G~FJfB_m@wjh=pErP_Ro7d;|e zGwk0Slj=f={7sJ;kqerYKTpM}w!TAsob*l0@tj4V6m@&B4)W~s*-tqo9Im=^%Wna@>OFk@>8|x^yiRfgha-l!I zHs}kS1m7oP_&W{SI4_ODLl(J5 zu$pRrpJ+B>qToTxVN$*s`B4!$YMo8hbh;t1Lg#5KSv&K>vqA~({w3#l1+Pke-NRcu z;$>eyVk>??0TX_*T`tMZsU2}_q(sLee0zmeQPK&}Hm;>tAT+b~%lQ$J+bFd43ie*S z;*nO5r3C|Sh!ECbVX}A=RWrEnvuNkpGHE#wboiylrfS-m z6ZyWfK&-E_zW=G4UE5S@z+qd%J_YQK$1qh~F;IIZctdPstYz=XOtZ#JZje{;ZD1%v z>vnkOa{juCa9^2LqYR%QiSZ&u&XD*Zfsx0MO@`ubo7~tRvG+ctNkQrfb~9)GVEaIl zqPa)9Bqx5HNC zM=RbotXQfnQwk^eD3^s6BTV|+>bBn`PhSan_Xkk0bRz@AC2Y2EUs4a~VQlAhV^iZ7 z+MW0*a1vdQu?WFGz`lOF+;;m62mm5b& ztX$>w#>wU8Q>$U`y-?ewIv?OnII?{^=8VkI9Ca%DX{y~q#hbOCY0{N7U}5G~0PfAG zA@xkA-B_^HT@zF_X(O;I{6_AL!XQ z9dYk(`dsw$O%D415i2gcGyDHwflQnwz5*m*ec#DQ=Y&5e+f`d2a?OL{d8DmDqj=Re zxg2*9xVX{Aqp*F7S`oFCJU56HWA5w_As}p~<0dv1@btT_Avs*5gD(dUXXVI;f5D#; zq&mf%l@Rjp*Rb1+91|zcuic(54OEnOSS&WG0gnUKU291D4KA&tId9%uhCWBPCn60y zQVN3JfkrkYM%&FkEq{V?EhVynmm`5Wi}zpJp@+>a^B!0G8&e%u&P~hJg9BqlZFO>f z$9Hc{_i@YT#g}S_O!I}v7c9I0Maf~(h|G-X`1e(zA=-Z!rgPB|%?b(gr|c}+>90qc zR2gmg5%gbTGB+?9?&5MFqhNF8myeC9{)KlBB=o9;>a2xCf&~=fSLSCqi7)LlKuKD- zD*sziTic(zorh)Q7L#>mboFs_PeMQJqvEj48Ewo6~>9@}`L#rf!I;Kp&~dqvdF~%@M0_ zD30-UP#^l7K}W~`hzWcW#hldtqvIk6xzkYCz4Fs4$;KGFZ_sjUU_e7fv9Dp@`+Ys` zXMfLO)K3wpZqtIfm!I`5_-W2RdPf&j5F6caOxi-`0;;3PunE8 zcYLV{tHD*3cNZ5TX#odqh94qt%Y8JFNm+?-`5%07aqe@z2{{yLv%H*cac@Y2#1}%d zKB{!SwncIipWorIdVErgFpZ0Cks#xC|81#(Qk`IXT~G}@+!Rvg<^E)eI1#O2x(fv4ez3-In6Z-gdx0E$3q*Kkv@L!;h@BJr zM+=X{JlvX3x`kT`XzPxSy7YcR336ta0Y8>-j%thg4`@dgXXC@>gRaYhL%@MzC&=YD zhOb+)ZMROk2#sx=>iv?6nXOWoQv0Q5I>N!G?Z0X#*Yc>AX$KuqBss%$O6qVs=!NgM zM;>gu*Ek#ua0ERseWqG3zWW_^%#nFE1sEp^a$-AunI||+!*e^dv`c0m=FVdJ8Ls`Y zq|S=5x$dcl==Wv91iR1@1sxxmgxz7xvoS;q@nu!JCM0`XGSq&3tU>R$tR)08)+s{! z$54y-AH40=PbSyFslA3UHNE+UBON9{6g-0fhyD{r3ihWCK0PlH~f3# zS0r7>nq%c(_jfIAryHFu2kkBMZWCG?1Em$hmY0{`H)5!>jH%50H2sEL0@5O#Y6_er z=v9mVpto0uE!4j6y1>-lm36(i-A&$%V+F2pu(8OJ1)~P5(T^_U8NXt*pWU+r zvap?DrxgCLAc-CCX>}VmBoz_Cgt_X3&y>>xr{p5bFJvr$b_|>WoAPL7ic@4>MMfwm} zYr4l$Uk?W^j)X|X55{Tjl|C~L^gF_}5rsQiH)lO&=$Aww=UDrJK?~29e%H4nyupnd zRCbtD9pUI*jgQd3IgAFD_av6$X5UF!eOY#QvXP6Q1#|s?Ctr!*4TWKfvvWEt=u%PL z(6mp`ugZ6#k9Pem<|rA?pFAz3v=OiOvB_`&TEq0+iveDvoPB*HUMhC?$tZH_Tf>w# zAyUQysGX*Br4UlkgLcm{%2_4ISWOnVMigPxm9nC+YTz$rp}*O2mTljbR1M1 zwh591U{W{Zw`9i@$87r}uR%JSs!g{Gt=(6-Ag5njKHLDmz|E6o+76ex?B&&O?W*#k z%-8P0UDcqxd!oE)Y{LoCD}P4K+zxyC*@&127h{KScNBU7xX^>(9;F`FmXVp_VG+ucjCI>#Em`~t|@59I&+aT<5-CJF+{rq6LHRT zY&N;zE=mkm`T}&aU}P8hG~i#-h8K2E>10^Oy`UFGvW+utl)60eruC}*&nw?g#P-P* zdp1`%=6Zmv>&hB$dx4vlB=Jo`%V}(rhQm*QJu7G}U86d8-2tyhP}5sv`j7N-!hih# zf?%yoT2FQG=2)J~FR^S@|3ycv6=s{nFGu}jX{CV?GmiZD!kE}FKa=S4mv4I(5(*;l zW~OzwOIWtAv2d&%s`3y3K(#DEW=^Km99Ex5%7!(BNgkQG`{Jbak2ycFEOt}))}Sm1 zaExS|Qmq`&^?Y;nneXX5=N*S>dfzE~`z1Kle#p&TA2&w|CIfB2av?8<{Uurq0F z|H1c;eUOf(W@l0k948N~bm;(GZC5qVHAbMmk{ zitix(^aXh*kGa#rPFa(K%s};h+i?TZMQFw%IPhxpB3N%!<{<`^E}3oNt#}%R-jY2q zzCVuE`mB|s0{eNEIdY!=kdM2_2UaCx%-_AkA5v>}^C z5$s~080gCvp3jESbkeyG!M~{1Df5wW!FpI*+nU;O@?ihwO$zsvW}3?$nw+ZzvCRr+ zV?c-f)&7Jitte9_AL*P`^Kz)6O@T8iz_erCGB!q@qP#&~P*v!Zk}ZcJ@Gr9OP0paG zsFLO7)9r!NsCCZDiSLT_q*un4lZ1g!B+oL*KKY zvBM}?6I|vgQ))gQ58WPxJ~q!TySRC>>+}_II)*02*gh)J&>!o~a=7|i^uFEPqz%W2 zdLVbMCvKG@39rWbExhHqt6lT%cgwURvy*Q0TqU-X>tVeAPY54O02aJk`-fF7sJ~{L zP^*rvBWn``^&vrL!8WDO$dh)r&1`2ls6Oh9XZ%kNN!ZoGVX|i#mFl;Ji7idIp-=1A zH^PvqO=)@A1f3f>^<-KXA?}C(ST+pT@;ST3_I3Almw0M0nBprS&eFVWdX^Q8n&OAP6cc9RVq;(*i|yJ^FZ8=ESeSTLCyhmqxn zwD_Hp+5BUgvX21zCre6i`wkPBXSmgpO!R~aZEb7H$|B>)xvN44oz%A`=GE5St-_S{ zShaaEW1?}EKl?!-q2uWSA-bbIRDwmyMQB6U%zrjctk~B*u0-}T_y{b(;HrmKv6A&_ zob#WcGbi`!_sqUspRu`kW&jztxc%n<->uvmDZPoY@0X)sLc2t-<7%E%R`aWv_u*_4 zeLVvqnn@gUHiTx>9Q&)7B@0sLK1C1}WL))x^m}YNBurtPutoI&C{(TPs@Av>Mk#iO zJ40Ojr@;A)DEHcatH{(@;Nc8=9|>9bx?MHGf@Hz5 zalZy54^%rI!L&ZYvhCEX-Xp>s6}iQ}mgHtkTPr)qx=py;hYtzcFH|jfv7{&csx>MD znwL2)ycvr#t7dPSq;M=-pdvfudfPGOI!F&Vc6gaBZ`M=5tOKiUev z_HbIlEP~t4V4K!#q8};0JnTUh%BmlT9Tjm;QG%6P2TZAyx|FFBV}gD>=^z5M;YKO_ z3sNZp+DeFQUv4-52CFcViUhDj!ZF>w0!}0MqMlz^<}QVa93U9q`UjWR*8JDgnHKQJ=>AOUs-PeQf}vQmjhq99t4|_IOGTk0aWIwb!9jzlG_DH`mCtb4_ZV ziJ1OPn`Fjt>6u>}Z8Hn7 z>5h8?#$7+y#lr2&)@Pfg1&JJq#JKX3F<;sKU|UyGEGv3ue~3?T%x#_QiXGcD7YUs` z#m(I8aC{e-$prpc-%t8$%$rmj2K?x!J*8x8D6a=#;sRsgiIpVF+fe+VcBuTX9dO*o zzk=?p7!cqHP^d&@C6*eNyf$n8oyBxK$!76O(7y9cvKHLKFChM4(7c0MVm|p&Eb45K zwV}&`)cf&DN#)?1Tuv6{ib>bWbCA|qSzyO=v#oAT`qTGx_LdsQGM{c4SXS`@)$n%= z=cjqrUz`X(oZaRG%p@-_dU{|VwiVB|%rDQ-F05C+(x>7syt3^pwkTL}^W1T?Y+7&2 zb1PP+-Ayx~hm09*xQ%a^%`Dm2UewiS{qtqHm+Q?G^+7C*<0B0z5*GploUMF1bzznduCi!vPch z=5Nx*G!eaSPU~$`udg=p^Lr2HXZpUuC_D@VG4F+&vsj0*2s4^~!q#$DWIO;dw7F2~ zG1Ye`H-+U<_Qi_Dp1c{j4ltAc%_i|={UeuXCFN+8IyMikbhEb+VRuLKUjWys`$9*g zE%X!6{zbG3OU&(hlYp4)`&|82oaNV1_fUkPDNs+*^&K&^)&#gh+sIYxUlDxUuS89T zjqmxa{;a{NIs`#O!p2*m_E^G2BK=T;Jm>Ub&cINst7fA(nk3pO@4`$LzanQTENca3 zYh+3Al^~JMhgtQQL@M5)leXdeQd!vXsfyCZcZ>Aem+Ri&h0*$A zs@^S-t!U(*iLA_}$9qtnucU3WdGx4L^I*J8$V>3J`wu9Y=?wkiKkoTWi(_33f1Y0x zUt?2X9k=xaC3ktf%xmApQCo%&zacyMF+<3uhac!$LwJMSPKHp<*O2z1yT(NWZ@e

*9jqKdF_XWiq0-qAJ2Nf;QVnHx$>Z6NZ60>#~u#H^mb7 zOs)a|$3^QUTdWLMvun$1-(i^u5N~r}wr&*vw!_pgw$8{1DV<^0HanB(tv*EyU{|*) zJ2%Z-s~h~mSk)0sQa!8TS=LQJA{uisotwWp}sL`-9+r zQ;B8sE1Dzy(n=AWbJyQCPTQEdjQv3`SHdh8>_TXH=J382hz-wd&r5r93qvC1Xw!MN z=l0h9l^)+bIiB_-^%u(_#CH+^0L~VpkwxBF>^DPuubq3(YW?TvC5mxgIhWEo#W z%rBmj&pJ0Y#Bc-`bgN_I-eLuC+h2MEqM|`8x{xn{&)rp*Rb<8{ zHsETJ*e9g4)%O4-^Q8C(hgUN-mOP=DYu)U(EFM{p0a2P^7%=rB0e=x`AIO4L7xUUA z;)Im_EY4o^ki=pv>2%^!?wQ2*Smm-YX{n7Gozy?}tz%*Lc-li(Qfm&tl>|zF`G?mk ztrFLGHnnJzfRxoHU^G53=ND2!y{{U+w8PBLrk;15hn~o#Hu+GAd`Uk8M82Zrd0+g) zgbvHL{})ZBBq539Pj}0I$FfO1pr)vFC7#0|HfRUc15k|V z11SOx@9Hfn4hgnG=Vg@=GbhmHwrHxB4)a z#}V-%Rg@diBV&^M%>^z$c_fO?UPaMHVzSLSnahU8vmnp;6MQ{b4d1IWznCt%P6tx6 z(kd1GxaW7_4BOHit0uaWACIehe^X#8WFMkxnFQ%VLW59aVr33h9Ba*sf63?nRs>gVZy8#e!(BTg zP_Y-mO>M`8Gih8xa%GOyW1XlUQ@0JeR4%$6&i(q!_KU8v6T@*^-c1GSnXqt#9@c#7 zZW-!@22?q7&|zUn(cxnau+ohkCc1uYPxA4Pcs>M30|wx>7up-?;YV1j1RO%@Oj z(_|gNg7Kdg79?>}bLE5tvLwT~dmPb`TT1^zY$R5ne7lgGTga)l(NS3SlJ+X}g48(1gpD%Wbzp)4);D4O@%u3;WW}9bEyF@Y)gDtR&+sE)@%3FDzGb3w zs+J6hkhZc5&!r&IP-bi;DaE)zRpSPlprf z(Kv)XRPIJmsKbE6=s|p-h8IGwXnkwFj2%IzKWZ-?Zx&7Bk@Kq7cEx=gQ;=t0wviW2)bBJsC%Gqx# zgOyJx@Za9hq$-TpbpK`;UG*~{O>s7;vBvji(NMTOs5SvIJ ztH(}#i-!t|=-xiiCG_Uwi7b^HCT`OCedK@ip==bA{vfkK!a`q0{l$-6g*HvS&I2+$ z9jhu`+vmj$Yj(%G$Cq-$w}Mh!|9VDjdisTDU2nd>=Zbw|;u3aL5au97W}E#0$*aUdw2Cjt_mM+P0UG)nU?#CI)H)Pg6hs zbLM<5NQRpaSxvrx_^sihPa|L<;tdhq#sC&BTI|;jK zw3MI$-29ORya#MA*f{Mjd~xXAG~TR-<6xmFIZp~C$jFf;mQq9RzztIo0_YEja4itW zd0uVu;RtF$OxCKO`NNVzMrJwy?;+|;`y9bDjFJk#w^~GQ6TWmLsqWl!2P4roDe0DpApYY5LW5c$^6+O2328bN!YVneiFEb~9Y zj(e(WajhxomQsm$fnZ5osTh+geELD1tqB%{C&dqVOdv{cB5cS+yni-|mBErWF8pY7 zXnEU)nnu3UogtTTL!*0M5&ofKIs0Xv(==%mw$F+yM;fom$|oAdivL>oE0fqyMb1Iz ztW)-@GQM?2vFs15rvzZYsUb_n#Vo7HHym<*nTL{?NpX|4FsIGvWr4=U_xF1@iu}1! z7q{*`PhGx$#rl|!&SeW7Th_nUSO?A&9+2=~=#tN15(qHYza3s#cX~-l=G<&&QF~mx z;lP+~MrSA82#1U*PlIno?@F>i*XDRGVbT4q$Qkw#4(4hLS4Zr#nFjEv6c16R0$h=l zdo=Uk@S7GRK%vyHt;{u^g%rD{9WAlX>g>DJ$Q;X>1rj<_7%htalbdx|gF3ua>J_Yi z5KGq<1td~>(|kh7VsTPJd@``-E2132{XTHldqpl)`14fR)3b8OI|SR<8I(EbV$27b zXCphfByA_E1K8EQHp&g<_ntN%Jy`1ii-Z^QDDgC3m)|)>m;kh;VCLq;P@&z3*R;FUP_z}9g-D$atLt_uiUi$nut)u)I@8ThSg>m`Lq8T6g;1Cm7%L-Ob zGcs9I&0X;#e0^~IvDkYm{VL2=g%J``sql5sq7OAnC-=fohEvY0x&8<5o_M!PjbI3+`0g8`b3 zRz&CKu5ZYOXDZIyG+?P&H~w(|hSW6fU#*{YpmoY|sbA$|xoQ0D0s#T?XBJBW76guV z-*0B8Q~55dAp(H^aH4-_+ePZjzOxitdZc5pw9-t>UGjAP#Mp9s$2E=R>bFHX>!>wW zIbLzRZF?G6YX3%4;W**cSQnEUD;``Am#H`ss8cw_vAn8r>S;uGEmu~sZk53P2apg8 zn!L(iCCdy&aO!lH+Z@OO@a5H)fksO_M-)bQfsY~AO173snV{PsA^A5A4>L;S|6X{h z0csjR$PU6WkWuYxs&Dwu*NWHIk_NC&96%H3wfb7Ln%zA~4PHwKVkZw`kUCo^N0N3n zC}(%wk?RGvh#a#C%?%9oBUA`wnl}8bk6V?ce{D*1AOigGvsbf2yLBy6 z)=cO7GvdpWK4Pf?1yIkuQm)&h-%KeHm(2Sndd{IQW157-QY%${P}+tyF00iH6Ep+T zr-<*(HhNN|pMw)mo1cVNR;|1zdQ=qMrG{ii+@A`Kj|?yM-+2Jm1Uj8`&t)e`;&rxt8a zzMrVaMfX=7pj(H)lOo`jwu)%w!et`U8Nw~T|EEa$H>Po+x^30`$N~AF;YgsCmHb)~ z_vha&P0c>5=RB1pYcNLycTry$=n1$(know%r6iY>R@??~hzje$d~3VyH}paol*!`Gysz~GMivg!&%1>Ly#JlAz>w+%@&xv!h3 zWfd>oHsx2lUXg3LFL3Oza7=1GQV}1ryEC%fpfKOI)6(_5$A7%uerD6ekMMY+6x;Hv z1%K4NE4}=2=e1E(#?#b@j{_oP)o*XE%+^Y`lIb}1=;ohwZxAf0;!)=pzT@|-EXg^ z&>wE+FF%%KVq5$mh_l^|I3KwcC{V>y;SqGE?E#JWjPN zD{#bh{1JgIZy&S>sl26_g{pSKcGA-(I_!2;wMvu?C&2!w zaDKwKHyW%3lE;4T@WLeYQJ_jo(#Y@-1cbEGT_{Hr9Y92QlGBys!31E&R89)DXQZ?OEtS`_oT;#A<$I{@-H(e-SiGP&!ufK#3a&7iSUJ=3_ z14~1SqMnthO9B8E{F&I?ici8&JaPE^u+TWK%X)6st6P%D%Se^*;|((i$Cd?~a4<&X z5~k$TO?jkSrw*99d|awqBLsYs;iXI)V$!c7+N7(9`xlPeh+aht4N;gaKG|5q)}f;&g@^n}5tduW7nkMmN0yEumIbg5@qh?nz{Fk`U%NGSd|>&yNIzIes7KhLW8A=AJaY z21Cm^Ebxt3%LUYh01!c4>6Psx%hhJ5ehV;g_#emHbi>qQ_&<^Trh-{er8AE;Ajjipdld5o zWhVP%-*W;R5abpf#Bj4-n0NX#cRF6Dc8h`DhBO_T!@tFpOv3m)YVZ zJPi{i)~U{q?@N?2#=WB6#sH-~p$_cfAzj|5u_#hcwYfK7QGb`ajt%<*x_kg);|&~w z|B>!L&O$a@-kx)H-10#w)I0#Mlp}Gh=q#5)7x01`4VuxrrE=BAE1HCTAc{n_L+U&E z&s`R}D*9j68r`0PhJ#*f zx&5F4-OhSf^1q~biXC&H%GDMQ+0$US=g}`ZBYlaS={dY|y75r9N`r+7pFQ8uYv#}i zf7=%4#VrZdLrVp?V25m*RQl%(XLG5Q(*8d)L0~;>ruJ+V13L>BAFouzl37AP_u)Sx zb%%nH>Azb?ScJ0s=EW76l%>OVuG)Ira&+5)|4GSAD|vM{qwvNZ_-)OHS>h^1?zJF| zLI38q^TI;6m9O$q&+BZ0JZ_R^xkrybp9S5*d+j9f^rI81o*O8&Hl33l(>73gToPU5_HW29aq&+- zQCu01eR^d!pL~6HTl(-v4h&c^(MbXrEQ7e3M*g8uyw{Y*?2jeWG6%o$>$=BJLzrOy z@wRo&OmPB|doRU9?mC}9d&*p7hHWRzx>0P+|7mlCuc_Xu}ZLd zMWeT$vf5RIc>+K1`yEZ6&%UyufPXk*Dv~%7l5j@mU*}fYQ4UDw4#ceMJj=cQlO`W! zQdNlYSB~Tig9_0;^q%tp7J=Ih{NeapE$|o#846{TrM?P z^)56g>MogSxX7PO_FH&@(#HjewR@BWl3Nw1Ip~Eelq%F_owmK_DZ%q~4>*Uqx|LSo zalBOhsA4GX!^kGIg9o*oH`?(Eck^r;<|Q_gIq z$dp#_yH!P>_`bIh{=l(z^1IFfJK#kI75oLD=?qz^hkKn*JwAMtX7U*!1AmKVnp$2E z4c>kd_&p}dZZvGg$@D6YMQp87LMP&ptC{6bTl$YYqsY;lZ)cQB9C+WDoJxc9su=fu znnskTkBA}^8f;k2#_ zYa;mJGH%1=B+r$x0%pzE2vyKWz}c*`aReP_Yy<(LyF`G8IB9%u@=fuQCsvi;{cS2HGH7C6vo}T>UhR>056v9xZda;%c}0w7H+P z_RWf9hQNPtDFmmY?db zav^xrTjnj(ZU=>ejhD_t$Ww7FynX#PMgvmuoocm^^s}!0G;kK=P*_{))9BHL8SvNT zc2!lIGy7u4 ztS={hmFHSZn9Pqq2cvU3&QuvO3FuOElE;WV@2mI@SpXkuE>JyLIieZVgqcz3{>PcQ zoiFO{EJd_g=AFY6whb+AdkyR82iBz~s3Ht&IN-PYf9%UOR)YBZT3iFJmWuLwm1qM@ z$2pe1Me3ebk1S)Wdkp3vXVF-{$ki+2aECobqB@N?kZ-0dMJMM3D|uVVz1^0;VcZ&5 zvz$=6iSft#eY&&NZFgaIshQ4j1+5}_jURlhQH!d|=qXQ!C}R=7H%y)gznsk*^ueD~~ZW`7BWy{&J+ zhnl51%QN19oVul4&@=|JH3=>!x@CGFI?3T}@_zJoxEVXCa&BBX90ar&m>0;qYY!$Q z5pZ$VNmp}pL@3S769lakXg;zcB)ZnjJt@00@ilg}HB0FXe4UE7lrS5c^Vy#nSLlqM zSKv|-vX*^UD3!I(K^BJtwL9Hy{7XAOqBtITMr$&W3Hg0$R50YyLc0z)l{0U35>I0(E2#90(5Z^_Z9<_GR$8_VFOc=7ltQdsW- z1uJEw^kxW4wdqL;?OOTHw-3*^K;NEr$hbaq0dnSxHXLOrboOB~Y?93^T|yhOv-U#m zdz5g3-Uy6(d^v`z=JpHr($V%Q1-#Yc;|%JaOmZ^NhZ%oE7n0Sk#fB@il=!yLfxBy>_36_gO^aT!JX!Du*TX7vrOui~-UC#HfR zhYP(e!r&}TtklS0^lIJ^d(o1X9H?A${6}aNcZy8M!^E7r0Qu*C-;*SSYTTd81l5QU zGbDFuK?xg><+oRlpkuzvk$;Yy+w^f76>9Q4$oKOLcx+}Pl(?cvebN(45;SmWB?{PT ztkmxW$CAiGf9_bJvk(LCjLTRD>wAo?U%ix2ud?nko^oX;mNQWAZIr;^1m~|yH*oBc zS>)-%yDU3BHLiU`|5;3p*n(ixWR0sf>%Y)Hbh8*Qm6bM>@MjO4RtuWyoo4#y-7x}^ zX%BKo#HfKJUB2M@J7?Q&#PV-`|H;W3sfQF5Il(H#N28gB3LDN~K8jr((5Tk|(g@BH zMLvHeQw>*3J85xvbF;^aV^ZTI{U{f-iNLYCPxCOf5%V$PIIx4h1sc5TlNdlY8>w3zt zQ{pQm(0jySRXfcD!q*lo$lhl0wUz8h8!xPSy^PQmPyaK3iIBil&No&5ev1Az&TrD&spZAs3SHx(Jys@rz3 z?kfIZM($!l8jcAE=@nbw1zX2E-ha=j>b_DcmLfAbe(zu3dA5Dl#qb|o-*k^S{9?hw z1q%<$4mDObzD9xKw3AFzF-*O-jEX`#u}) z{V+Lt&nDYc;w3O$)HjjR6pOz1LGAE08>`=$Tw)QPhbfO|s zH)}{T$OyM>c0i;H|FoTdMJ%wha+S%(X`Oz9a%_6*v?AtG_}yR;xnqd-O#N%;01`c7 zsLjyhQk`d87M|8k1FE3T2@n^kIQAcgSg83O77w_g&?8maqqf=}FiquP!c{$SGlJ|3)kYE~8@$-lvfV?mkD|C|-YVuD`2SB45Zy@Q}p1shsqzOA&m`VM-~!;#o84 z(pO{`_J8sOz5-l$i68h*$KfUm+Q?(MWfQG^;}rjhmhc?dU}+Gr6C>-|Ts7O5CocU|DckNrlaga|g-nA++K~@Cs+UrRv-& zwzAYa=ZY6jL#P&$25s7r=|B8-z&?8 zW7VTo~ zMRG8%EhM2~Zhp8*rjOzXzR>Yj>tMT#ksR>ysy~f7CMs`b3M#jDqdIWN7^qW1=PXVQ>CfC=1(HC0 z0HdwjPud;M0bikCt?Yn|wC!LU2$7T`$OxZ=S^=LOZ~U(fY5w&Gs~fM5cLdt54=uLR zo$INJ<#Goo^|TAf1~p1uv9%_Uaug)7FDeU``_UnxOGGs*#qPTjN&YfORalKmnd&(M z&ICT8*zQxS=#6jh5Qx3gARbXCQ ztPs{5V`N#=3mKIfpE%X8y5DH^t~j^S{v7KQ5TfUuy({!)SBP-8LP-D*+f6|{^jk7l zpC!11-8Si$)KZBBEAl`gH>!0pvkvNwbQ6R= ze9`S!2e6d#E@6Fo(XVV4xg(ivByBU94kdMi3f}vzLx!KnenxD>i!IGR%_${`o*O3* z^cRy~7)_N-wupCDmzP{*qpkx?_4hMYrhI5!HuBFJlW->^J=ZsN{3DZnV*?8hT&B%HX1aFh(c`~_1J_Bcv4*1mZ^Z5}$&^`2?E^|i(Z?Z>2YWx>tD>#_rYhB&-;*Dw_$2pvliooP9KDIs#xd6Yn0$tvu!X^9eg?mK-AI#cyA0LdTN_ z*98(*z=u(qw%8ApcbUgzA$6w5lOnB28-;|c6{IyF&x(4a+%a;G)T7@bF3ZFx!Lv^UWLGxrK`2yf$Wlbs=`*UZ7q+$ z)0l@`=Au1YTI1F$7}ctI2&L8C)*=wAocp0PqmH-4zT)uP!UJ2Sd*=}Boq0Q=aB%Gy zG@beu+b6C076_$F{*c=%)Wb7E8)YjX_{uTXjS@zN%kM&Ai3ll>(ylRm;C1%71{w)D z;lnvCZ`8h=MleeCN&0iQM3Axv#4S*~y*VK!DgxQA~|nh%wb9y@S-Y z9Y?>MYG+4NWO3^b*!OSmx=*iP?Dj4)(VvCZ3insr21G}41*LEZ)67D>-YQ>{FEW60 zSQO>PSL>+CHdnqDln12~K|O@v<6%baQExji&sb?C1R;b?*e%L3P@{7&REJEBsqKyM zT3)JO#KACs@uYwY(6Rg1T^<*9{cqah;uBfd|#8y%c4~k!TTgEWTDc z5zv>+$tU;yZth(nQ!Tiwo#vP2dCiI9Kc_AFQSsI7FtcWUJSSu`{MtBXH~;M+3vzKss=L(|37AJv8&qR?{h zXEA%M{A-nD^Fv{OBkP^FJmtMiulAr7bTbNqfPF5dSsv&W)q{rVEtqLXvHlQHmO})H zGtH@^$d&7?n{~LmO@Bva7S*1t$giun%pIw}|6C#L9I%ht^B=vV_u-PC9BM6^M6crB0l53Ev5Ed;aXt$Yn+GHmPpK!`ud!^p(QNi?d629$oO zf$VEi%&pCuPBkar2Vj+UnD^KsazKays0jR-=*zS-Ey8U3Jz$mtN>qS5lHl64sDahG zOaP`nN&hXPt=c_mkW2^7;}qRT9<{h!_21LALHQofva&*!Ol(t0qLo?ENa`kPnwOzv*+42TV7v%?n4aPM&Vh1 zpmJa|i<3fQVTnYB&ZqTx_oMcUR8!~ndb6`qhk02XR;iokwkXD>H#wK5TPcdURCjo~ z3%~g1oeiG?yiG)y4F@PS6%l5$=Hw7F0Q#&i@W2poV*(r}625$Mm)tp1xjqeA5itSy zhEAkstUr!3t!aecw?B2}_~d;e{D>-n`ZLG4g#4l9QvR+6Ko)LXlM+n<ezzu*ZFA7$5P@jRNjBXK_L_Y@FykEYt38%vS>9pJrBK zL%EeV8~`#4_PKguGn^c-OlNBe5(r?kV%Ow5&L-mV+v8#2BRP*+A6`DLC--@M8AZ_! zF^CC?D_X}X&bzMqd6O*gUao!Lb>IhzrZV{L)kgDH+Fk_$PJ@H4Z6QJ4;8ZvH8bs{(pNWH#^UIn3@$h5mTh14hW?FcO8{TwI~(N zvTuF5H}8THirvEzdn}$2@s8AIT3s;r7efCQFMl7s`*QVn|BdOpG{@RY6W{bBsP1iE zK*G$9K%JoMUj8y2?^g2px(^sgYQc|wLxQTm-fEA#Lqb3h2igC$y!Kc zthQ!M4s%%s#k-)V@xRLjO@M9Mv(7dN2VRW4GOtrF`!0xe;f=0?0Lsar9Ij`$I_qTDC&p?zH5WawV1Efk*r}dAvsNAM5(aTx5>2Hr%`&+I%Zg zb%1ru3K^a4qB|etN&^X&Q`~v#JuXRM zgxH+&&v6u|r|kOv$^1v_0T;xt@3Tny3V!GWxx(Maz~c1XNVYow^SC# zTC$V2QI1Nf)p9&Pa?)rbf1R(l|7^`~d$k@QrOyiVO>_Xh!LcNBiVD`Cbj0k6~A4u6$Q0Njo{uA^S=h-8y8Q8ID#Mw3pJF6BrmoDM= z8`b(#Ync5`0dg*lGJObqfoyP+#W|n^(t_90ymf$ycU%cnD&4=-Nvjsr?_aEVpy(z0V(_b`!d7y zTQ-j$n$w&^imIQ9$4<0$P#H-AY`SWD-CdOT?;q7g9742RcDF##v-5nVvCO3ojyaiX zY$6L9MG)Goe$Ckuv_#m3>a(pfL(2fC=2Kbh-|}X`4^@bj@#X{#^9^kdk@03u(^~A= zHSOt=>|NJ`42ex!&t2R3T^9i*03#%e;icK^_vegnSskC60LoIaZO_3^AD8p_3{>!~ znrdTa2M7_pTNP3XbkbilNWX|_@14B6mJ_-n6Fo5-lm%xj)4dEDxZ zm37u2l(*8ewosC+FKqF?6rz~kYGrsNZ``D4Lv^ASfs0ajjQFCK z2gipAs}sQE@L_&d=PRVlOv|UQM5XjI?tc?cN9-&@H|R^WXMq_-#Zyx8>!Apq|Bk!q ze0QZrHHBt@H?MP7SQBYBemQ%d_CyA`;3G^keXE>fZLXgNqj4(4XZ>#ue3C66HXBi2 zSs&^k=X|uujX^8J==>y|r$~jpUKBg>=*{C9a&pv}^9(-g-t|ja-~&waV9Iz6u*-ThsUFJuU{Jc z%Q_^%cGV1L#S`vJ^odcs#p(F6c)*6}UYqY2lk4+hVtjOuan@g9(blQztOA{Gb!3

54!^UZ%)6b{jMB#~zC_w2{`?#l5?{#r`pp(s^m^&qt`r_;N;o-K1XcsY>7u$-CW zk0Y5lg=*>u2GWg?!kBfy(AP?@EL4?3|J+FwjSdfLqc+0#h}m>U2k2#@pNe>k$z%jp zhc>WEi;#QS{2u_tKsvu!o!zRtP9|)(guA7H_?aY@1p!u&2vL;6x!{zsbh<3MnME zURpMp`XBeyXO|T(JGvZo%A3na&iQQl?iKYh!42&vUo~3iB*b@koPe6Iah~P@^MkQI zY1Fv_fG*Fa&T*hqoCdT8AQyAr@MH{0&h-Rcv_si?+%Lyg{eH zehKz)+i>BVY7cBw+k%XQk2whdSwxp~Fu#$%*cXs3eiR(jA9!o)tAqHjwoAF;=9|kI zA3U=>V)=oxKD+A!*T@_wjy?iF0l2MtbP4>R1Lqk$x~-7pC!IUJn*7KMdBO5)1J})PSK?f8`G&h5RS&1nve`zq zeE?Pzq(=afh*-g%i5thjcrZ-+nlgi9H5ATK2Q``nm6tI~f;1UXugt@7?cBzb9>zP- zf~WC0mL|#j`viTgjtQ>oJ+cS5y*?QlokHWIlUfUa$4&*n7r${yUjVdo4PX?U5VQa_ zFtzUh9JD?Kz#NQla$gQqd3*pr&H zaaQ^E_x`*5?uHxbQ2{{S{;o$Z4D8(IA|?vpAi)U;J`#`t(TC)bad@uN9NSzY5h3We zek3WD6?sRSv7Q**9^B;<3HopfNk318AWG+gkg*1i1I!HRY#QU0sfR!<);W?z*28&35;XYb9Sh`FhfR zyaRA53V`|nB*+xI`}L*1G#}s*z)9tgS{&lIt1-^vQjDLL=xdI#IOa*stnrIpUPt(ofZP<%lz!3seG*fIHvsdsuRnXzj3Jrm>jGuIkbx&LD2gujr=*_S^zBZ zAhOU4e|(Ou{`^ee9t99>cm$C6j9^O6f4JRlME*h>a6oVU!Hg3$>o19durJT*HT-feBJQ%0~m~1 z0dTtQ0Eix{U)6=?Aovb=)A6+WDd1Ie1wf5YM{8{AV`z@oqXg&U&NIYZi-$Q5x;|WF z^s!dQJ32qNm}@#lKFkj~d9059FdmQ#-ALaCSvQjnAo-939hDZmhA%48t^)kFh$jex zJ^|9-DXI+mK60Fna{=IEiH;0`F>whwgb^sbQbGB_^#N_959bgUKt6U|>w)%jPyxsCz=eH5G!1nPME4nQsdLXb&) zInn3j&oovDfG+c8ngkQgpDfvHy4!zux&4mYJ(z0Xs!-qLzji7HzV?l8mG^x7ljVrh z-d2{pcx8Fyo(EVlQ2+dJ<7apM^?U@hEASNgLq%;HcB`f3LEG$BHed0yvfE3JC`U|p zXz%#Q$IDkHzy18GUzNM=zMK3`KQ9akD9wSMBXPzA=W~dF%tz3*X*j(5=a`+5`Fbrk?Ux5UF_ z_PSQM=DO?3XTSKB_7lM;9Q^$9;2m@~tF2dseEp5Cvy5Yp08SUVn2Q-72H(+fT?K%} z?yj$oi<}HYyhZ%e7#LzJL5QQ)pJb*!$Q2#axShwg$x&HsN3;ukh2G*b#ck$ivWT92 zfpPYcjgjoAcZNLXeEI?)8>VBHfS^oMhy-v_GTH$RcoQ8K0gQ43MITd`^kE}1?;uB^ z@uW8FlyfRhXe{d6_XmE7f5Uk>K>d2S{0boRSqOv<=jvlX^=tEm`WXelsuRmszx9po zVzyv!$$)|r1=&^r)E$6>pIa7foxcMx6Kq<-Pi^4mw~~1$V6I5$)aY%YLUU>?{gyj4!VYT_^wV+3gC0?BHtuP7wY==WA0Dwz6XIZST@PrO7 z2eQ}(Ub8+X<5vMRW&~=vE{1RZ5t2V&aXfykP`s+IY`YGW0izACY ze9p0u;`4gPJ&SjGZ2VOQU?vA}ei-3%eD;K_G8ji=tK}k+!+bm4jkk`2H|yVIASd*> zG0GLa%+98R^NM!E{}F^v@^Y6 zIFIGk;ch&9s*(uN*s`C0r1UK0OUY33OFN3c*EpBz~ep(c+1QErUKw;M;%|j z_k$m55Tl@LHh2MmcD4VGJMV1YYX8E87nQfZ_XFjS<6d2Mc)?-i;Zrg2fbDlL8`Sp( zST=&K{oxip=FhhxI8XLe9uJt{FP83G{^j5olxLrCa(Uf5-%~y_6$9V<@lVRFx83UB z8c063^N_4`Zjf}$R>wEI#s`6&5>T68^^?+@OyB}PC0^E#`)!<(DeK&|VK0qwF=0Al zEhaq-NAbduXw8p#tjQ#K!I$c{#7B6!o@^V&{Q8PC=yN@Nu6f>T;=lI#>&jW@f3Y0? zhBucjr{eaZPnLDm)?oPjHLc0HYbEsY*fJ{s>^lI>F0~DMnt!rQ>K`irP7FH$yiFZq znZ@h*Sk3Wo)Xs4>k3*&baz(<=VEw>FJRT%U&QY^Gh$h(5Xf)v)ZEer^r13%mSDphhFE5 zBgtQI*`~Z;1Q+@V?i^pY*X`i~Alj|tY&*tO2j-oj8&|(!LLWNG{hR6HyyWulT9B~| zIbG;>u~Tryg)c7w=D!BG5aggkV7md-4m$+Qe;}&`Jn8?_rF)lGpYiT;!;Lphdg^cV z5pd1E7-S{MQG0Fu5X-&gr&nE7zC79ax_AFadBI7qE89Q!W#uvZJfjr@^{&3@#Yvwb z2jmP@@2Oa+A9MMWotBq>Iq3QABQI}w*MF3=&;L^S-j9A)L-J%WeGQj*vTT#N#^=lQ#<}Y^lt=yn zjwN9_|9?4q5BN`tB5izk!GH>g@&0$``TE`o#=HA_o~Ps`?Xr1cNurVrAZb|?c3F@l zik^~Dcrhyq>Y)-vK?MntbB-z*fh9@UQ14V%da7o=Kh}4DTc4TfuCA`G?s=-Zr)R!6 z9=x5Pr|I4Jde_C)ZigVe&ib1UT9;DNS?Prro~PUHzMD=v_t&)G$YbdPo#W@dEp4xg zf56Jd6I}PG-aBJl*G+)f2i6|dKWuKKZR!4w;sD?P4gl;~zmnq7kP{q56>~8?@f6<_ zn49GYWhdE_RmpG{>hL-hSFK$moqQ=@^QuFyK0*8;$U?bIc7MX?{5?O)*H)kAS-Q5> z^5qdgt*o3o6=z;&;ICEZIuzZ666MFH zfkX~Ms_aICgDS5Kv;n1?0J(h}09mfLcly`F8*&4=mFI;Rk)H z<41>I!3fKk{Gob$w$o7ukRRA?XZpo?zg2M3@2(F3nYAMWbO5mP>iJ`f7SZo6y_~*& z@{eifZq~lxr{>b?TWn9Obk2T-uHLp3YxKmM!Aw1IN&tg8A)GZo89plU^6ea8*E~79o(JA>Qb3-9sxvL z%UDvmCKL5Bxvr~@GiZm8MRm5)SJBowPOaXdel;6eu;Js~^|W%#V|s%=UXP~1HUDCs zq^nM*ueU>Gc^>GbWV-Ns|NOz9o4fx0(HUpA&3*s2#YbuU2RCYuqQ>($>5cp9(Ct|7 zm6}%WK~8JG2Dl~d&H;ehG1<%7>1{IGaDJ?)aR9K!0rChSJN&*+5S(MI#WZ$iij#`P zoW_$E$2IUZL&r*EVQBR;LE;3>AzQtsZ}L^(pc8=)srppxMj5C_$b#$Ie$^+H^Xu?A zR!0N?Ak*5^bdbL4eG1r>HO8SvYeh9J(TH-btaW~wu}fa0R|6$u)pC5)hI>Pi2d{1juDgLwIQdlicvs&>pW2hwn6o{-Zqgij`Gzy) zH{Mxa3jkUWFgv$-Fd$%n=XTDf32RNJSFJsn-Z}dtv_lsR9P!6{BMrd#g1iynFG zF?#m7=bFRlJ1%o7)>q(Y%mMWP+}h7_3a|6oI6(s2+O<1K(J4FKfx6qdl|!3LUqqX- zj@TCGfos!UWSWiaJZ$6TRi^Pt{VEgqB~Qugin68`w$aZ)FV|_AY)a(-^Tyl6@$b0* zq4bu?o70NxY}$Ufs*RsE>mRyrnCg9j_ssxL-E(6ED*$BeOKr;b$zveebJQ6U0N5h{ zT>2lvvW8D1(%Xb=R9?&HW8m*7zLD}re28!CYxFzW zC;Do_Kw0N$d{TGi5#mPxm@$fR(3uq)h=foEDrLqP3IHm9O_Osd#~qUf2?Q}%mh}S% z-KZGR96lPmSEk6WIu22iGf!vz1GY}G^u~zxmGq(~w~yanwE*Din{U()i3rF!c==5o zz$O40AjZ5G{mlUY08LsIU_e5!s^C?Rl_Z^K-*4=I^1r|Ny|$@unFat3SlAA4k2(Vf z@c`-gX<*4iz;1Fo>%I8mVtVkAN9d~SZ=jQY^i$gHkT21sPwz$V+=_#N&1gkl8EC(3 zIJ+MJEJxb-E+F9Y{6)jpZ8V+UJ!d=G@pGT2!@D;A&$;K*AFjQg{&@cb?VIuZ?ReDD z9I5CFz@6Hz;LUAZ5_So2=W8ifWg(C8rC`AAEVeg0yYp2Z%X2wRAFk8NhQ7vcV-y{@ zj7yNKJSJ1xU+a(ZQJ2caHdtBHwaK?MtxMZk?HhHf?c5$+FxmCl*q8(xTY=#~e_%{6PR`Dk4V;2rHVM2^*0@Uh5{G|TT}vXx8np?x*)Z*DUL z4|0rId=TqpD-*fh&DLZ1<>l4G1Aw67T=Bf;3`ZGwAp{L-T<*x$nb$cLG8 zPsh4+q*RyqeNcf6m)9F;RW{Vo%0>B9&e~$_uMQh^@OGJ9M$G(O4@(POTK%8VuUBaR zz?%TC>H>ge?8f}YRp4>}GY}0xbMRlvj{xeI04oSpKmw}Y0T_A&(0EFDyRHEQ1LMS* zwAPNFrn7!~LHjt$GH#lJxj7Yd78Ur#Q5cxzyd?^30dz)rGvT5qpQ3ASx|zOz+Rtf^ zLl38oKCuVAYpWgU4O6$Gm+`7V`vM{Bi;o2KytP9g7jPRnE$t}~n~h(0Q(AG&N%Su> zwrML5`yP2L{ossq=#s0hr91EaV{<4xqs;muNV83{Qwng8{x_Qh(5oHcXl2a_x?_cM zHikSO+|va3M%(8f1=t~gf?qS|F+Y=J!Tq{%6&BI zy0@A(D{le>8+$v|4%lBZHmto%8>SrH_5f%ApqOM1sbXlo&X^t;HptVHGk~EZ$@oUd z=emniZB*0Y+^|_TdFQ<0ddAKZ-w`ri$3AP2XJMKW=2V6aX?v_amJ^w z`GvmW*qiKXx5C@Y8{n%QE7$P|XVp%xcOP(wJOVIq(wjJez24kI*9->ybHMRqKx2TA z=YbfXTx$~j*ET!Srw%%dzJBUY>35f3Nw?o~FFpF$ZGhZP19{dj;as#2w4BxBI+^a6-;)Q|rk{`Fkb!nE z2aV(1gM}fvnjd4pWNTeX{<5wwo~QdCdYCTk`sc6{zuDfRdF5K0$i_aK*;_DdL7|Uz zB)C`7>Y3#&&pDSZa(NE`{1(7c2yU%k%pPc$82ijebkrGVw*X+3f_w|t8U4*$@%B=wl;+BUapjJvdGW|gUK=5nH^oOkhB?OU|mqY-)5D&oMg|0cxP_g z18{=`00Mdnx(Z+cvH_sxB%}=d7C@V|3<1ui2`m1HXcyf#%XBOWNy&f4cvEI`jPB(PzJW6m9&8 zJ=&MsR++Rpy}WC~1b$4wHb{7qXv@9!rLTVL zd-SW{UrKj%fyiTvo}}lxnWyX<2w<2W3ZZ*Byupa=3e0M5VrrB8u z$7j2SbFT-+D(GKzG2I(MeG){3JVdibVb0A$slE>j&h8Q|1*7FNf$XHOALqlr#7X51RV&5wKgQ@51s3?eB;4^ zVS^9#^SWxf$w8fjJaSGtgpTcZxpf8LJqH{@SKV}z+~f|53U~(k0F-`ifZUO<0IdBI zZvl(~oV4_>`Gd2W!h?Y2j_jNPiGdc%b9gnvG(vVX7ji(*6^Rt;k( zXDGk$z#{-@L-di@UThO~Lc3bOEv2Jj6QE;M!Z^dKjAi!B+VMBxCCbW^qjvNaR7vxE zOH(<4?ZPK343S>3J2}u+Uh9PR_+&EaB(kEu&<*qLnDsSBZTWERHc=U@2m47_4M}Cd z#%VN{dRUea$x&S44CP&X%7XK`z1px2m z0N`c~05k}2a5Zo=Ktr%>*K+e;e7SA{e8~V{RyZuaHgNL*paK!_rlS(haP)kI&e`qQ z0nSag-=TmE&I8-f(gNh&QM5d?gSJ=O9PJi|VAsi6p**A}gL&-7f7!?#?TOS!e63DeScsVEo^_lL*llvFi!~EK>{Hu_cU3)zp zc+A)7y|cHam#xJ=NzKpq%X9p?%7bGa$?qHFnGGufkUqE~S7g=ukZEEG0Mr)PPPc{L z4>=H%<56eoBLKzfvCCTuj!*1AoPmWFx?9vfaq z8$^z+R)>t*&d3jJ$Gj?Yp|{gzcpL2+>yh9BW%Zu@d)X+L_>5yry{ul5`TCAloj0G}bHKrL&CNH% zP1`32SOY%GYk@?cM;%WyKe-#dWzsBKwR7OFoU}QuVD^A^ivyXh0RX3Mu18%Jzzu}V!@J2R zPNx+=umQbw;~Dg^eHPN!esD_rYU0Cxd5oTZ_Sy0q1wzsuYqQx<2-|{f^foKM+s4~0 z<49~7c5!Ed^|wCMa%OMq1JwoVky(4>Tis4NhI62xZE}5}Jto)m0Xcjm4(^unGyWIo zu_qR_UHzZ?>e2KL-qF9-6dAV|v{^seD!|6PyC3p=oI_f=cQm~hcxze9ON2Z&mOw63 zTLIXLc0ck2Zj#!9ZKL*R{a|f3Tbqrwk4PQ?tic}wYS<)Xz9D0&;*(;QTq`lQ>Cu+x zTiRZNh2emutm8XipyUS@N1ecf{7yCj)B2liZG+;j`Hhwbax30Tx}ICTo@eQj=QaZJ z)$i5@^9w~L^SONUPc8lUEa0cz(3 zKgto=AwP7)MrOn4AoF@upTs9eG;X%R0QK4;4!gHx1lOLQh?n?9RxA~neBIow1R6+6TKf{<$3}e#umTZ)SmMKU%!lg)UO?su zJJ5R17TePq=U?C;9nME|HJu|EuxoP+$fM3+IS4_}oQK;~os856AlY~&FM<%$SLJl) zk1u+HZn*t+I_#ux)0{o_q19)6m|okp`xTu{R@g`#hHaK~hi@AS%|0Wj^~=omHN#h~ zy(zt|3pA$eGMA3~!H?+tOD}6bq5Sl-e{HX+wKlcQgZ51Y30B-*+CF#Y*fwjA+stfX zZO=ADyJNs$wsFF-3F9*Or7m~u+86G$^*ZT>?a?wxN3GK~QZAL1{>Jyh;>GRT48OkU zQrh{D!`n*BE7zOa#%642En{~u?WOJ!?zfshlwNo&pfDPB&-oqz{xv}U0;TkUk599K z+1~A^w$;C*+X}#;w2I=8IZwe?!&sr}tg@pPUY|5+`8wIjxTjRpmAousxTgu8_9uNp zmL3kc`Z18}7!8DevgjlBL0P6tl*v9#(@d80Y5vI70Lk}&rq-oLqj93BX1Ej7O1$zB zqOKGI(mCiwClTmmzy~$0h6V@S7ALe2Cp3}CraJh8N zGkq;@`e3`DT#p9wyxx-6I@im|O~tc+CJq4Jy*~s10CWh#29gP+^@it-WWEWo1puP} z3xLSM$H1z9j~zV^(h=O;k!>c|>rA07_g+BP+;F2mXGf>%j>nEIAAle7J-vZkk%!wS zi5D+fte+zm{oN60JLEe8Vw>b((aD-UniJ=v*~4rLV-3q_zT4Y$P#LIG^z~>G+pApQ zk1-SN%6ctR8_4XKU$^AfE-$|FYWl>&gXt}uJy%?3s*G0~pM%c6j(5weZ-ZtZ?pxjd;y3}tOoT~fQUE~bA(sG*C^&b?jA@9k(dLb-ji!C@VUv-;MtseBCZp+P0O zTD#?F{m731-nD-`0tgVc8(G1w0UiRT0i_%z02s9bFaS&rbbQoZ?=>&+43OnR0Kl)o z@lWmE_rL?*mevMqo3_aSES!aanay6r8Gs|ubLVpkJ9vFw2FjT%7T!+f+H> zzc!?oy>ETm;3FTWg-0DjH{5ayJ@f2e>BSdckd=XDv57FokhN9Yi*^GWdHca0**12K zHW9l>9@q}jZR}b(8?!c^UDw8kvb0XiD{X4mZBE=)`@8mcLD_T9(RmkNN}t$gA-!Sk zO=4M3>$Ruh7&acGI_5{^LAuGPPQB7lz6BT<0BpKNF90xmc)tQky7njY zlKvLJ{)f`4{5aG6L&K%O%uIrx?q2}s8oo6-xeVeSpVzYJUxqL;oUN6U^FFWYpk*44 z>b2;$0I(k0YM5QyRIc4$h;1CVL5}51-I5+FBFf|KfO={g$i_{7NLI$KApi)c;?Jh7 zVkfD{jjzI_gCb3w;ef(gaVRXuh-x^mmMhfC7a5?Vcd&O5QaILBccbX|mhR7jlovZH z$=nZ~8;wD%j}11LWrIx9Oec^R?SX#4w0UAvTLD;gFAV^A1%Ut5k-0NdP>dh|@*G@w z4?q_HY=>V0WU7ER3cL`MfQM&BbyJfA7XsaE0ou;ty{Zd9zVLs(O^-bGIDk<&hDQ8n z&cWJ)z*gI64#Av**`x6Yxr5XCTsGLu^zfrOB(0m}$oB=L9?s+0fBW!|r8POc94o;9 zU+{S=yLbsb^ynk>ty6zOb9UZ?{$a!EG-1t2?MH@s4!`XaU>mC)(fPMe7F#})>G&q_ zhiKNFMlXN=2J}x8r_%h-A5N#9ekR@b;DfR%&}=E>c6Fx;c4*_wY-x4`+Zd1bfn4jk z+d}Q4WrM<2IXz^XJR{f9bp>+WLVr8wpKd3QW(q{eGYNoAv4>dZ!P-ODpsVu;#yqr~rnMvi9O;A5R2$S`u9`KTR| z@hflUBQflHlHI9CO8Z;v>eXruDD4V2gIf^y7BNIAKN zG`7y zJiTwmHeJx!Ieq?RzO=bd?bnWGGYh`>OMaWRAM|;}x>M*MHkwIqnX(0~z~dWudiPN8 zT4iH;-5i_lA-J~t&F`rJUR?p${RrLzpms>MG<${3ZOlg=(J^P9oi+i+%BkXE+sGF< zh3A5Aqw|I+Ic`rMfsyD3(6{u;1qL^#4L&gIlKJes^0o4|)OFmlAP&zFc!Q`~M zZE0w@lhYvZ#%iAHDvo)0Y2L~yHJK2#f`NwG9TY}wwqt!&=k|QY2doAxSQhoNbG4iF zgO+ddVwp<#BARV&?CAA;+?#K{`E3utwf+`>0ipsYIGvtD0&r~K0pOnlZm$9IbLa{{ z13=URDN9qH6d)L=Ay{P~4UZfJw1rrIs}5aQ;+p2IKBzwzNw?9a>H6V{(jFJEh8`lpSi)8rj?p)VZsb^61V zSG8B*cw^i$_*=@W7-~mvqqfUz;cY8+N5^dT=T#Dsg*G$0gq+&{ZN){;#pWPeH}>&4 zuf*^VF5Pm+?KJPu!|9(V&!(4kfzO1t=YnmZdoPS|vtL_PQEHBVCcUO}{A+Hr108RZ?W!h1`T^GI{wjb6R4n6X+kBd5j4`piF-V$8+cK})? z?tJIba$HD4+Zm00#i_{c;DD3PKH_ zFhCd!q?F&%>>Ot=2zHxnPH)?EbNb%@{Ji}_pF7yrj&LFsyb#zNz}is&%p7n#XPNDp zHUeh(r0}V`XN0Aru15_hjcvJA|OyVT@R|}WW^Dn&EK0L&qpFQKe z-_ouJ9!Bq;u{BM2-+DBz3kb$ zXH)vGEw`h+4*mlD;+Mao2OoZ@8$F^D+6h2 zFDZle(sZzKIDgUOuU#<70q#!w>`!mvHzhj9xB}bBHeA{-^QH03_5d4kS{ER_>_Z#V zMmz4(1!HH?{SQCfHgxiL7tZ+Ih4l8#KdJ$lm9g<&_Q?3XfcFg6ThdYhQFzle(yaIt z@K=wIv5z)JJ8F6wquM{V0s||cm@n8?u(!t(euFV?RmHmGv=Nt~eB$wQ#m%95 zn{1m%iEezJC!mJKT7J-<2(@zNT#e6o)u$S^*RnBTmerD8zVpdZgfe3tzNaO z>Lfg7Ys(WI^(_Fc$dnnORBjAZf({D|7X0DldsI5SU(aYl1IxaJFuFTl9AugvgDeIL z?iaAUW;k=gNv`nqjW2SXmpjb{U6TX6>hQ(pHW0#&NxwFLp$;WmZIEY8Vq<>~N70Q#%n z{C+pN)+O{BVyV(`&XZANa{jzE&IA;PU|pDJyxIp|9(dE61Sn@V)T8CQYhD46M*zA4fcDkcwnZ|UtOusTe}g5H41cCxa@ z7r}$yFecN>TD_txF9mS`@NNwNl2cTt5>8QWW_L~&476+c5ReA|4t@ok5WozS($anf zrwUSf?ZE<+Rj0H+s&Uxk{js=}*0yqOV&$qmAKw&ququEdE z9CA{???HgcGF^?A>(V+*kNkTEs+ZNJedc}V`YzMWgG<}Te)#pZyZ?MY{rciR&=KGG zc6;^je{VX6Ua|I+_MG2s+>Wp+;2#~bKGJ?lL4ur*@A_+nZZ`X>F8@uF=g@mM{|L?A zbsl~3gm2KLS6$s+F`?|<+? z`r*%hLDP5HgWfu2OIm3|{(S~(6MtfvgC1)$jK?}o)n@!?ioe-#z_BONz4zbWHcMK& zsMWiauD$6d+G_9lovo*Y?fhO*c~+m-19jP|n)ie84e9k#r2JjIt4)a&fE0wm_>Qs6 zc{WZZjmsT#Ry+cz4y9sT!n=Zt2{+a0Te{$?VX|Q!$OXI&>_q~;z49Z|aK3@BL;lBg zEp0^H?)$o->!=UqhHqk8D3iz5*6_1UKM$U2+p$JsIg=}f=7F`JI%aX!&S&X8nOTmP zZRapB63+l(zVXbHXxvr+uDbC?1;}~>>rrp!xY;dFfcfGpWD{Wj$AAi`C@78uC!9?s zKI7H%v|^yV47O`erfv5oG*Pl3xFsn?ugtu1CQ3(-uqX(dXQo|m_BgK^_fnhmzDAQ@!Hd+etx{eOVW#;e3Jfn{{!@g zYp$aszVic`xcx5lnl(436+XBLjn~iD@>c}gYi{;zd+>V$Lut~7ywts7cfL|bukU2N zea1GlX%}>S`M4A4vTLtvuNd-Ui>10>KxUw}fl&LYk=k6_=jpATFlM2>W*_yxEf8AV z@!Z!1jl6+$_8y<5zwZK+mAcuz|1cAd-#TV-OybO2?K6JT=JYQ!x1sNyb~-)#oNP|@ zF{QfRe&=2E>4OgI#_uGRg>?*_8*!kZ^^Xj=mC}8QGF5l1gRkKcfb_#M54z0u>HbQ# zmLuC)RsarZOZG2?SB`DW({L*MjV$>aWxnbMJl$o;gh%qxIU)tGVPuo#lPSrwKqPb= zL7-RTg}gQa8{n6=s(-LHj#YcQT1^~=8F}8csqet0HBa`RwybY*VtH8 zWT>;y*h!A_EX*CEa&VSAC`+$j*V0DSANq=pHA0PnVKZ#efy>1}NcAV(q5W;(1__^a zROsac%y_LXkRbyD(o|0Lfyj=5ZF;Nj^CY@kr3C=-bHE6&c=Q{+IgxNU2C%*Y(EBZb z3P=DjgPR3Q8J}I1yjC8r)v@r-^mlBwEuHqO^Jq!?Y_9-pc7Cikw84+U<1CKyNL2Gouz@(jaqc0uzbvpNg-_zq=K*Bo7egW&J&Ur6o=Pm7#U1Kq%zu3LuoZK zacAE;0XnM6OqBVMHwKcNCw}il?g$t}12XN}WrGb+7po@*CAY)u1Zi5QICLu$I=Q~} znDVr|orBJ(tG#==>Red?umC{FoQK@l4pauL2CmA_=kW-j1^^XkUIKImXE9@xLy%NJ zTzP}(wEwXu(0va*9C}y%t&IlA2FeO>?mQ8!4e%Vibu*xXpq+=~RvQ9&I@Ifq-P1xp zOgDfvIcEE$tMZv17P!QWQ~ABE&_N}e%^xoJz{B(tT1F2%{4jm)*b`~|hd2O$I_r4% zdVnwx7%Wrx2UqBnFp#iM0Uz--AAf!Xn}(gSAEYl@0C48n^o|w)6ubo7M0^zN3;c83 zbV95P3>7S_SZnh6h-IW)#YN%oGktszp?uHl%l7&~XCDB)fd#TnR?<20*(Oy+1Socna;%=v%LWmCc*6Do zv;aV7f9?R>@x)DTvtuU(vx_f>JpkyC9h?xL3ivqaSQ!K^Jgk9iE{_%XHG-Y-KnZ0G3Oh0fNRYQ2Nmfi7j+1o0%*nlR>taX>)=t= z_(8t_Y3Qpa2l^6pGr8U_*I9^+S7+PL^UA;zi|E$7?xkN}crhJw@~O0SH>TE@xfQKE zaT-lnZ<>4~0Q<%IcGNEwrg5UwjSGIw?iJnn8>VhW@9AdIvv!?F`yT!kI_;ca(!KZH z-(Jnb_Skrp{?l{lfBszW!;d^dKR)Z1oz4sCUuJ!TUd6wIfX~qJ`Fn4?A!&MVV;v9& z0BcX7trr|b*WP;jZ~)Mq^Di+Tbo@zO0I&(AuLYtkyibPmJ#Vb*v1F7q4*>Kn03S1X zj7WNnWycL3J6(&9<2?W^00=Cq*q8l>;@sT8yX038M-28mVDL6d<@EQA7nZYP^%m5WpyMyUyASz0F;IM(`uPQvIjsKYmM;6AdM2n z{MsSa0NByk3F3^+0LT{|l*o+f)Yk)@y9}17FY%)eCeQ0oy;`2|8aXefYa2Y8D}2(< zY|pHtUUxJ0RuEZlZhw{6gUIt`R%p-XpMReI z^28H#%UyTT1(#h;M}Pkm`qY7k(SL05F?!8flW6=}ll8+xo9SKw?I#ZeFaS_K4-TMQ z*RSlPU$x2R^u{h2c-NfmXyZ@LrTxEp41NFSXV9Pi{O7hxk@~caXMLToYYQ*4^X9%C z=O0M#*>ZbYxs%)8<8Lb$MmUaQJf-pFJUUK&?BaMd+N{m$=O6v`wjvb)fY{gif&+j9 zk2{gZwEzHhP&s&yxIS>5f`cJFMiJDLOI0?;1=vhmT=J;txMOUGKXzpemC03bN# zzCf`r6JVZW+kPGlWQ^;$3@b_l)}05rZKD)I)Yy#{DTWo2?>v-7Hjr4o0RR;e}I%M=4P zxgo!HtTop7#QB+A)dzLZdQhg+6Flf7(;z~fRYv4xeN!If_tKrT{g4;DYHQ1b^C4N0 zK3@mG0<~MT%ijX%0)TgRH|OQP2f&<%IskPFX_lHCgphm(Kz|Hqd1flcimQCl-%lPro`cq|z-CiB68wk1oJTS0p4H8<=u(^zb z^{3N{6KB%j&HOOEW6SMm!<}}cPag1j`ug{OM5mqeD?0197j$$Xo$>46(6>(c3GMZT zuh6Eu>_zYDc=;!l$8Vr36i#{kU=Sj|v}k&ou2`dyJMEA~6`SQ@wHCfe?@3NY6Ff_kUGx$>2=c28j)_;>)n1PJ5I#|Mnj-ui*Ml zz6Sts3b57i-yC7Wv;nM(e8uC&W4JynqvB&9D@}*Y+o%K|Lb;w?e!l48zC`pxeZ9TS zCutfG`XH+>upDGGp7IR=muosOf0h^a8=I0I^YjsbG}sJOd|xhP~vujt2lYTpu@iyMfCMZyV|o za0R6RUSNkO$>v@Z;CFrtQ8DoqOTMZFl=p-$gF%@MCgv+D>Sf>ESS+Rj-Im#uQl{+y||+R*XN#pp)J#2 zbj8*5!_&{91CBq5rtP^ey?yq!w8};^X#9Fpx;~ttjvbxrauD}%TdLno9yhGLDZQo( z4*zA&cJ%Kb-I?CM{io^u+kKke*PXAi#rCvX=k!|Ov+gO)n3jATsNn8g49@Xqi}@yf0d*9>DNT`{wVk%DcOpYj@Z4wKax zxH>xBWZ`wz2h!9xh%XUcjK}h$JhV&s#K$a1jyJcT<*Iz+Ya9Pmo|Q}ICR_Mj-^#Zf zG|n8{pphC$zBEz_S#;uQR%tuekJ?}ZO+lb2TkETJn;aw6!3<`yAYZP{uu)$)PL{#v z)^@akwFB!JsILql*Awfj=O)i=1-3~vLUv8Fbe6@=pFamIj{pv#D_Q^`H+OT01CBrd zzJJZU@nb+30E{94wG;phfLE_s$_gh`=j zOi{4pn={3Vj1M~u4UZ9E&BHn|&1IQ`=dxbcsCr7i*K0B?ZA6`(&g~N3EGx=zAb@g` z9yL$pLp8 z_!Ny>x2^zGkg4f#US~O$X6b$$dVR1E1LCC3+d0qvHvROx_N@4kzx+ko2>Tt(d3oDw zyY*Zgp8}hLpE>`YvvwflBREGdQ=LGN2Mw5p@@pN1*Xt;9q;28YN0RdR3dAze*8?4} zQ*Jv309vNC6rJ^7(|;RU$s9_AXu&JL`&gU(Gj?qR8p6RZq_u`0MGx z*ZmM}<2g@8_-V>~u5p>S1FU_=wyH&OJd4`ZPi|q~XCLqHR};O%I;qSEZ;TMx z+RpH;olk1tyHA>^FGywa@i`|}U|kF@gw8QGRZi+0P?+RZqXcxU&pG7CI>Y}cu>noL z!2m||Po;`OKL6lE92R5KV`M!n<jV*Q&#u+8+uX!HCu!aTwoY$@BIiI35>XyOS;f=`9ks(BB-i24xz8%+ ztJ&+0trtwhJ4qUz8PdnfBTY^YdN@hKku?39;-J0B54`(`d~@}ONRs8}S(h|9MSb6z zia@%{_i$%CL1}?`>P|kkw=XMO2Q7>H2BCAKXFzxzcjc$QxqLhKIC1c^s!HS<^eso< zBwq3WZSJmFh1HyT@5r4_I1 zRL=dGhZP+WEFspJ-9;1QMx90d!Mj)dr{PNX&F8_Bwxe7?v!1QmjQw)NPWE!Y!pHH+ z>%m*V3)hDCHGB-qWA25RzK?(V%{o zOUKpy;NN=@_{+e)`JW!Y0gP|;S%he62o+FfNLJ`$W>_HK_A2{;BGp1v-+Aj|Yb)WS zMi2NtWY6Ocy~df8*4%eDDRx`ch%r8hl5Ptruptb1-v_2C2YdR^{fpmv{$Hd>TfBh* z)M#(+Mr=%KUzr4p7^|6Z{1#$sz49?DQM|@zsy>|&R*Gx!{8hWYBH6#~5FlFv?Ob#m zr(F+7NU)lC?&t_?b34g&%M=1r+U(r)V$Ut%EeoGR3j3RPoFp9X2*%z@WE> zcZ~9v9KEr7)kCh#ZNUC+$49P^gP|km1w%d6uPXk%ln3RPbXkbmz@WhWJZ~q`xkr-; zhf~isCn)M$4Kanb-0~MUf!%=hRFxg}lUic@kw$-Y^KyaNaj3+9R(GKFBy7D*WhjL_$3sqK zg3Vk3oYG2DSMb!0)aI)QKs>dby82{jrI@v{2@8YN+Os_!!gT$%7H<(~pP8Goc!p)~ z#&F8XUAHtvhwBCWN2~874qa`7c|6QVF`r1RjzvnPOc0M=ypld~6-$FLqWOnus)^y6 zfT(WaZ8^pd7gkBFw}AqsSMNgG7Nq?CQ}|+aA0fn+>(Tc+*hRZhqcLm0_JJjuykLBG z#ox<#hzSTGS&)?UrlXsrSYvIvL;M4gY(NB%xYBf(tXe>L-aorf6+pX}ytTqoClaD= z!`oZ|*_YK%S10}mg;zGVDeq`&j>zhrX2?*xwPC22NdE9%!XY=glOjj;r~)aX$3F0M zZ57&^$;W2homl&RcKN#Dot|k(r_@J535$+#k%W64o`XXJDk6brnCc7{`8qu%1N1tT zed1HG-A-$+>=cj2Z23;n^b@yfzpFMPuNM5pXvT)D`Solep6}Cs%I$G%md6`+@>*3o*dOacO@Cr#+1*>QR%URCsLHb;D0{d>DO+`eRLO|j zWtv~Uc4>WoN8}9E^i`*ARJA5ek(->QN@eOcGsiMyL)wjBZnt9iYVka`Du0j2%+5gu zLuA1|`tXc%r7&df8N~vJSu-_Yq<8Wks=v%Rj!+85d_tY8bpf1B%!C9B%>2)FDxJSbyA ziU23SX~EBL3>7gtRsHdBrvd&w^Y!UkHD1vKm~NKzGCPVX$}iTfAQP>gKc6128hVU*dsvu_2h!DQW|~>J4Oq9u&5Y&$#RmqH&l< zc*Cl%>4C}aTVbIYmjoq+3nE0xM|bfMhpz3v5G&~nBHMC#cVd=>Cto=5&9B-~56)!I zZwy%!Jjj+DaPGfEvu(Xx^4s&L>u)`vKOkINAZ%QxPDb`zC)j{uskdyxa)gtkMyf8} zL5-TjKL39YpsKt3RZD?}DJ|hefQa?TrIlDqvPxWDAgallYJ*CR3V06fVCnv|+}0jZ z3J8q?7;!C5hqr&?+pY4jy1fyvLY)I>D(ufmpIH~mb_3|NsKMKtJu2i-`WNt@G&=0@ zA1CT{NPurG^O#5M4woWPr&0iN3eH0fj4s+TV7$x#117xS6x!z#U#`o?cQ^OR!^w(A zx-~d?9Il!{WOQ?zq&z3U!dVZ}x$!iJ(4J=}=$1XIjM&8^x#y%^6vmo*KMv%rSoB2j zJ974bFp3Sp!Z7Y05N(~H{&0{AV9<2JYHth+z5#4rv=v*iPx4R6LvbJV?t4xZ7j=6* z^i1XK=Psezji64yp`WTJNc=HzX-OU&>p!1(q;NrTHXfy){T1Dm2bWB56~KUE7BkE)V{BwC-;#Pjull+8@7iqQ|dQ479S#>?;yjPzdZV{#x$(T^e0`#|^%LrByUUHYbz84-XvV=! z8@+K>4Ua6NraED2iEn&+FktB^>pTIg8ZbuXWu)&H^$X0;+eszO>D?=8%KnSURGR|#mwAreeI`uy`;TLoBa8Lu~$y!Z87_+bkZKo z3^ffmXOz0{s1JhHKo*psqPIMIM)$PiRx5FDiB##`W7=#WiZcUAfL4g za*l6cNC~_B1Nnuws*Bjg9kx6^*kiw;ECR2!xTmGPM)Kw?HBeEUu5&1=vW)eKzu_E% z6$I8@pA8m#aZ%`g()~*6SMZ$a&6vBa39?dUfiJp$(CjQ+PRk>>WV^V;1IT9LyG<43 z0(CloOuFH8i}7+gqc~HtpJS4DsedTVecwmDCm*^uVVQzt@CfjcT4VVYLrG!ri`b98 z#PF&i*38-*fXu)LNW!EDj*aMVrCl?J6}4_kMx(0QgaTm`>9X!p;dxsv^!Tg4JnJc{ zm#mirVpd$!xSiFiR9+x#D9e6BPO$Q;Vtg4hZfl@@7HU= zKL*s?wGB-(wdD?-7&oz?@C^kr+ENCo;rM%FT`PfUrREt4H7`Li*AHdG5wC|BEyalY zP^XbQ!~Nu(dfqDDfbP64G`ShuQq}XoI@7krTf#E%u=?QS$78%PSz?=Q+R8?)W+~=vwrJR@dxPXXIYiT$17IE@E z42WMg5ztJs5dT2md2PNs^tAh~bHciG3QD z&iU#tZgN+d?CrYgH1hD+oy)1R=Y7pd_3l_mxjko#zyvXy`dZqo;qC}(&RY@qBP=DcD_~Jy2Vco%Oxp8W$XCg)G zTF##C5?iA<#7D1^iaP11-zc89crq~`s3;t`DG*o=**`LDq2)g{NsWkAAgL@-c<&HY z-FWy|ZdWc)RRGY0-Q}O}Of8nn=%tp(wDLhc%`if*D?A?uV7sAqFkx$)A^T@xiHxo; zH!9_H_|a6&$M9B-0OD_wK{x-or}Rn(49Xp?teF+M$Gqt2K3{W&P!mI`+1_GBAe( zGQg;Yl!zN(P}caHN5jNiOsf>aoUoaXbR*4drSv>~>X@fPIlsgPWeSjAaXuvtk5xf- z+(Yxp%FjmhbPCp4y*}ceO6r!q+S=+26 z!>cVve)!~S9`=ORpG}>-L^e_If?FF5_ z-z7+QVn839<2`qSEUBI1l}~RFkyML(5Hj4Zr7e;;xW+AvtSN>9+|dUZdnChmPt$ov z8HoLdVVv)sQPR+H#cE~6W)$G&f@U$NP zKH4z7%Ipb`Qkf1B>)9vnv>$&J`+Bjp9P@6{H0WvoRX)lPCGd z(W%3h1LMseLo{%#6>0SRB}!YtDHU^VY5$amV4vHvLor1a-+pZar)H}Kkm^XDrm?G1W^7_ z*{WKKGJ4$s`?JStSHR$kCAO<5QW+MAvaR(;HPCQUBX+L7&+1FovjE7eA$kY@%A~xv ztzvs@7>QG9OiU2KV2qP~UAbhje`AXgnCB48Dqg65ZB^29YCy*@K0iXf3Hpf|?(y^l zynaPd@HVDbyWT4bdUQE%L>;hlOp&8QVnFQsxRiN`#u={&c2ObOR9FkGWPfUmdHK1Y zZZG6S@Pki3kACu;-Qn*Q^g4RZ)5oOgjOBV!km`B%e9nl>3r1&h*E;M=2oRlGjuX$x zw=kc1J#Kxse=pX0&!}~((n)GVKyZ6)NBGv=lV@#OIQ`sO z-Pvz7(?Pf4tHe}BQl6#m618R!AQ0H~?eAjTXu{%m(2K7nZVsDz1F*Ij80!Wz&G^kI zE^%(mRot1lO&44=Gz>-G<8QjYb@GXh2lwUdsbaBEgzPG5mrG&X8>sjn@Pm%>ahF z@11*YG^tWb+lyIC8A}$w4X^^fcU4Ew6J<&hpu^t3Or(8+b(<}}4#$H>pk>pCproSm zt2w<`=R;HZviG%o6HG*r_*$Xs5V<`~bkA}#)5SeCJ*OKc6hAezoS%N`YnqzGOc>6U zV)LB_Xum7uSu`$1qwLG95>$;9s^x=M$vYSKo`_vJ z6g`pELVRuKY6*6|}XS$$Z%ruEg) z@p>;Yw{veelnH!26zksVnK!j)ruu1iY;BGngjstuB#!cOZLW%Ql+a#?KB##6icSG1 z{iHqH9!~QrN#=;GTjcN2-?~b*zbl^%mm-~#qd;nI`u7IaSA=qztu1sAbw>)scF-+_ zafie`stE=if+%^*g?j9IqpE6n`mptN(P4E6?;G2NGBhIGs<~A7I&n`vz=MA*$nn3O zf`e|u&m%!mz#k)rY*#~$uT7g-O)cbVM!;Fm=@Zs@8qHXBlI{(oyr_@qD!;p@G+38aZJ^D!AY3nqMTd+dR=uMk(CdLl?p<@rl_(dzVRo4>n8i$k z;+$M2(;zL=!bw7|&I}L6t{Wz=hz_JxY#G$0R5XWqd)_(hs82ZNE=Z8AHxt`efZ!Yl_@~kGK!1Dq=l67s8bD1e7^{m){9?`D)!98gdTQZcvHjxj)i^x`CY_%9UrPMTVFJZu(x0K3=k7pLr`yCf zklEBj!{$Y&thMUe`*|z<_t742NBL?|ONsEEB0hTiWO$PPNP57g^VyNJv2 zzh*KQ`IBk3O4WzVmcGKmR>gwKxmM<&x=SLFu}sdPwR~DjPqwlW=o)OAjA}fSyR%UU z8!KNvWk}K?E+TDfrY!^kzx3>jVXY=mFSf+{9w0f9mmI&Pe)oL|O13J*^B9tU4nPHL zqKd~&i9S}lA93PJyb*qGs4>3JrHOn1cb(gN!hEP~ff8BWVonRtv_-!SL_ z!>q<{bAb+67N^;ym=*tW)W!Ki8X^>WN(e8=*gN-&xq6}k%lBiweJy#c?+DV|LNc!| zEj*L2sB(AqOz-}zcSDIXGPw;~BTx^oOxxnGcsBpMr9%{6CV?QgX$xfo{?Kw^_%(a? z?M+t~abL}VGLBXkPdQ z*PSZLUFBV3?zWSN%G`6Q@cvN#vLh|Zx<0*Z+h-cTAUfQPXh4t6&V0>m*em*!pYAJi zi8E5{-oK6km9~J*afjt*Bhdo{ayw&Fb>B%35C;sr*E-6T8#p`tvCTM$ggXUDS$-k( za0{nD%!1QOC-(X3`4e}22H@w;{njH^Uu=fQpV%2Exvfr846|qP{Po%zsM4{{n{Eq^ z%(GRV;(KLjz~wrch~6-uUwfZ%i+C&-1LZyxjTY#eOZ##slY=cA8z&F#hx1ycqWzUR zZw{ZCbLHe-2o>qKLsyrkbTedK?>Jw|jGYy62w1O@;Af~s-b@Lpl5whn13E&;&s>l- zRMGBEo^s%6powaUIX45s1=7)zhL+N%(wLYlAi0rvo2kI`mD{S&A})wmglyk|W{z|| z{YKem2E_NZG|qLzGI{=>bp`^J9&#pd){`AI%tNpGNMEJ?lU0C~5#-<1wiMOieawVYgLx23j;Umd3UnNbB*?h9(6cbL1Y?lPy4qGM%w|0r~+FO>Ys_- zp8^*xM#8J`0<=$X9>G5cg#G7qajxfkM?8;I*6yF0#9XamPtaCDRA~nz86%APDr3_O zbT<#JH0XWcEkvHGWwej>LB#i#(Y)DUJbW(#-37Y8%I8 zru~LNexy-~JRx)}eBzY(y`rN^yL`gRB~4_A->SXpeE5L-ld=&zq&z{+>N$k9AFa>c zV1GhOAFac-3=LY+MTfJOq&9`FMpuq~x2BAG0+fyDT)FHdV(KDRo&sf#EJ`~@^p8!6 zmwv^ESCjpg{e4Nf6;I~svlhferJmzz&i1{%#zGHYrs+D2%3DX0AHMDYAFhO5N0@Nzqom+m_d=-&9mij-&AZWDwP&Lxm-<+7qJa z!Bv%Qe`)D&1si6biN!w1n}6Hl*A2~#q>;)Nk_shZM*DlSX;S03)dv~8+AzG*7R>Ci)u$;=X4 zsYDOc)m)RF~S=Z zSbTz4(Y<{1_tgPRT6EK1l_|JDyI9DRvmiT{c8ogKBii_wtuA<_8kuY90t^}l2aK2s zHCL*^MJx7x+{sdlzpc6OR{fZ12RDjkUlGq&;GR+JIpUR4asT>lzo(q7dHiLXkE+MK zoud3E1}ChT6`9kr7%6<7a7mhlE&+R!xIJCrq_NSyxX zNd;(tZiPibpae|4wQ<>Vd0_8adIOntEx~l(V zd`QTZ$Ev!(_ST=4E&&nK`wswUA|VC>o?7P}^$%NfN)Rq@y27T-NRLA*{Sd9}6yeAx zj4jC@QL-G5TALVA@+&X%x0d@4r7g#-o}#*+&lP_i8}YF2nF#zIb!@jg!DW5fM!Px` zdF@k%ij<(6HoqO)kVFIqHh40Wk=v)0Lf0L=CeydudL_)7?8MVNyY<(FFG90u9WWOb zyqngodgN30gSOO*MCCq-G$liT#&Y7CG_e^{q)PJ+gy}di#85a+Mp zZWCSl+xV^^7B2YKTZN^W`TWEZ=lSc8Du4GD;X+YKx^2U=H0tsZQD#U;f`KeSt{vNqHJwF#Q_(&(Wr;ylF)rHWDFbUt#Z6avS& zjWZ#~V5FG0=$*Ty=r!4nmGhqrE|CMfL%YN=Q2m9xS2Y|r*zqyHTC8L^R2D?K$8hP} zh3<`3(Qt5_KBE?&_tI7lUI~}6>H02|pLg;60j*G@|s_IBZs&D&)gbYcokf7q_`7fzkuh=zkb+!jV#guraQ0*5M6ZdJo$q zQ9)n>4E9q;-x)l>I3n+xjJcp4N%VRCX&X328yAuRCYn6nbk&goB~ow6;GP|`#23BQ z=oCXMjgzDi4w5ErWMfZ=4>e)>)aNkdulqqhxK3}twcMh_(R6#?Dg^ZLom_%ian^e_LWHT9z0yr|hovdg(#y`EeyrnF5nf4DnI` zxNq6C!Fi>uQFUJvn48F^3<1cl-TzX#414HX%Qv|~t;2HHF+6>H!(u}h>O2@r?%(G0 zfJN;?Ug9o9NCI9VSAphhQPb__D&fDc=wrGbnMa6JX1)qp!jFNlb1DKKFQr9T|Dzqr zzA^L^t^VWpUz2a?E3f~I5~`QKaq#GgLORlHJ0F~;Zljn-%+u)@^oq23pBT(3%qh(8 zo9BOS;wXL+v}tq8inq|%m51;xe8Q*cK^bibolLntr#I2M83x$^Qvkt~^lIW9hJIu< zsllI1fE;=dZ4CG()Qy!`>ZrTJy);D3xH7+EXbXFn%;iTqy4j-S5&XEbh5GK@iOPd% zd*)5GYlz~OhU3N2F9#14*v_xd?}ek=eC+s(8yeN(7LWa<= z2}a?JCF+?@*atoljBa(Gu(&Mib^kqio=2s?WRdN=iDb)OtrGjr^H zh6^U>emt^Oo0|_1xl~w$un$fkeC{jnjmG{g+NhQ~C0jvIat}h z(Ox%EI3c$k;VAUWFHYueeWbAp$td{$cfM)xyqVg0UPyI3CnbPd1#A#767Cbj#9gKx zj(qU7ov)#I`6~6CX|fGl^qw@UCoSDXDq7zzC6zzX2rM;QUOmQHA>?_(I`r^Kpf!E7 zo&?#GnQaBRa=b|m852M8(bIr8+YdVL&a^;_M!P;No>+dw{fIuu$kBmxUqU@l!>~{W z%VV^ZO&4Ho7~6xt(3PpXfCv_Hf}l_0+;as0)mDfSfH(JuMmkBm8fc zWCqFIp^f{kdn|>nu@k6*eARMyS2gal=(H5HNL9tAm}SeD3*3cH8myF6Kzco#DFmwD(cW7;xA|JU5jLfb#>FWC(3i>GyFyNxfu z^+zYJfL}GF>Bm_^4gd_^@#sHujfHW}nK{P3<)K;5C}nkH;HC!I?b6%r5Mih8~LMC^Ono=CcO0}Ehd7GN_Z|@ zj&$1$XLeK!?WbXf_~ls&#%;V)r=8QGS{m=CVcl3-ms2AdS$FB;-!!S4LsH7J zr-h4w+pC971LR(5^kk{3GDyPU0~OB_z0vxqj^S+g#oAC6Pm)V-`4RJ;lsUbhiFnYY zAs6Uk`-|XzG_<35C(LJLUM3lGW)6&DLXyY;T4Um8F5VC|DPCH@QP5nC?hw<52+)x# z`+?jj+(OQEF6ZFK&*p2UG}k*l5K&f6&@bYA@<5rpcMmmo3)OcL|L;_|x`Sl)?cU%V zh|C4A8Prmw_mZR0^_CQt)%Vc1@a)WWE;aN9>fW-rd|gw9T_Ida*LSxf)%d`3s!cM7 zujX%Q2F_tUKLY`3K2tv;0}h<=#_Wwd^U*D5eLF*p`h+d(%|ig=Iz9A*k9i1-Qb5hg zJ#GEZbah$o=klBXa%oG{grPgNq33_Q*;z9p@khkDOp;DNH#{}_`DDovNr)B5#1aZ( zagZt23SgQ1Ah&jv9kZCWw|eky2K8BMvsb*YeAa$L`gPI9Py4^d0w3}mPj9!rE*(X? zm1lxyqAm^t-IJOHABWKC1=?e{-1Gh10?kfCb_aQX1iGJ-DFGB%-Z+O;cRPbRflN-j z_7B}TcZ9<^?N(MZ!;3>2H9`^!D^@HNOS)gEVE1H9KZdyuP;-{RBb#RHMXUI6u=D(vi~!N1acQ44-S+aQHvFKC*N#%ikLnY>^iQQyw?Ku`wLH7n6~ zv#jNtwsddo)$*(>7?(BgshizTbn4totnh2$BT~tWw1fK;K(r>QT6pntFn6LlrWElBB8$l`iEjt*B^n>`#9e&6wK| ztr2WD4{HcX86mw1?8$w3^reUCgd8*E;pC|n=$#TtuZ(LS! z1Hri#yO?^=(etZ0BnkNcnyLPaRrLA^W6M+jd2juo!;(YE@n=3a^2r*)MyioRCl(#z zT?dsiW}L~6ZX-AfDz66I59iB3^#pQ?1afTZF(#aT_`$3Y{2yYE3Xn71vQ>0%VlAoa zw^JYx-=vTARY$n6Ie}vzE{+q4bUNuZ{J&;rqH*IRhYzJfP{(GKn-a)+tlH9c@Hydr zZlJ?&bAYer?Q~`K)Oh>XJa&-)z-AsKR;*=06+m~w^qn}9Nm}PHnfO+A*}BL7f(Cl$ zyHlO>s+#J=JuxdnRqBvc9%NU(Un?^<_!IU$R}5Fpr=y=1*?J+t_;0o0VUY)!0+_0s}R|^1q%$vUegeQF?=9fCAPj zT;uU~2m2R}69Xej`u2g1cR2-mx+QeoX(my%)h{=HNub?s03=0 z0Vg+rRnVi%<MFBYdwI>( zK3^jq+;e8>F2T*|h+?NrBPlm*z0W~yi?*?qKb)GuRp^sDFZHIEWw@P=T5~4UnjSvN ze*-00G|+yhY9^eaaa;zbXt`#P++9m3Ow-;#HSXkc5?edVgc!8zt7h3|4xEQ%}|wno*etTmN7T`IYYc^N`qfX6MCEeR|LOPl`pRAbh9J zgpc?(nXHy4(H)0a07zq?kS1S?bPmgW&XgL@72{CRXP}E>Eur}|YOtsaAyQKv+;MpH8)-OvpW?NdF8acmO#0W<4tI{o$I$rfaoGZ%{^BXnv6sjOqAS0ieyiL3N5-cQZ76A_mY zxk+Y7?z;NhAW3xtXsEs@4L2?ijqm=8WSD(raMv=Y*>)_Wr%9?hP$8dVwIsVug?nP= zwI6A-+b+4O{3`wv1Sw5y8|I3<0!Pb7C)j#ZP_@vmoG1dKhZF$v?|@^6ph2@zAMu)- zX&T^?4&hDU1guqmcu&}#(*+B}cAIm_UEEIFn)XeZ?IXz_Ij_AWN%Px=Nl3cWy>#tP z*}346ps1lJ4OEdTYFEq5t>0%_5*@>P|9M-bMV<45zTLl}WOC!|=l0o7p4-#wYob~A zD8urJ^?93sPmfz|wf)wSG6jr7DD><24d2bTIop>qFR*D4R_gmEyt|UtUMKhIkJ$dy zk(wj7e42H@=pv80&*Rv)sVbT!aD3>jtJxk=h#tMI;}k+%U^etXxeHA)2|JHvykZo4U+{yp{9X#_*iOtX%W(M!TJ=zn~_95!_lzXAef}uaq;$Y_4w!am+!P}?TyI(6ZNX_a#(=d zQWi`Um_axBo3d=z?G8Vv#C!-0Y7`42ZGIRf)M$+5DkA{C_Y|k!fM^I@^cg`ZW$CXW zxF?;mDbp^{VB5EVXIs2+mA~IiFvL?;J805EBY!6-I!jEt9MX7r%!MV<5XQ+C%5%v1<3h_uU8{urbV-H}&x_Ftjs7Q@kC%^Rzwmv5lpFIwJz3k-a~ z6dxsSzWNmQ{I(BA@3v+7zDZivLV-dqs-<*F{MIlXZGFMl1gy900+MD$Tf(a$ZfvS$ zGZy?VM|&Namgo*nBr2+vE8I?AVvab0AQB9MqK0;G!9fq^<*rT4Ldp_K0Pat63vI9- zV}^&BB}i!!J-vlsO@ikcg=Sj78?#l;f_!5>q@9eYV&aL>enougoOhakE!bbJxu#&_113pQTOH(mYLu-;v?{+{_X4UxbjD04-s z7JvDVDDR`>yZ$u3z9l`kMI;5Os?W&4$lJsv3vM^3E&7DeU>-P$O$ONN7ZfynlqWvr z`UO!}FbLKe!1IJZfW);=pngF8wBkTsTmmC0hqX0o zmo+OHWWk-xTnio&2TDX`!cVPrCohbM!$3WO!shTaBYWNnu)#!ff3cZP_m#1se;slv zOiWS4%D`gXl!0tv!n?;|;FR01Oc&ID`ija5*yIto5e2m0Ct_vQ1|8Dhx7weLOI-_U z4#As}dQ)%8>GNI~!4KZ2H+n~0bv_8c0Q$yc=N>6;At;*js-w~_gl>C!ezPK6I7S|_ z1~AhUmu>$SxEv=uvokd?jhC#NU~bh?mB(>3Y#b@B7docjxYS~2D@BPP^)raKb0 zTI$Zu*qx_KgGRLe&5w=y>O`Esvc8)oRsTgX?Cx&7Drc)=a> zGDV_=k%d7OEVd=?r9*Utz1eef|fn>PFf8S_BJazjEI z^rAF2kB@cecCfIFL}L*RJpE;%hjk6(jMY5&I|4{U{I#e08EDHa7VlEONSYacpa4d8 z!PN@64Igw-0zC<5Gt#MoVyFAVcReuAvM&NH?U$F|a}oWY&czCv&z6}S%U<)HyH(cY zUPhg<%?4dxzA>L-aq^?LVJdTj1A0@V z?wdxnf#CiN$(e|gc=q1R36BQ(=Aa_H;>TmwX>5x|hGur2-4rqy&Yz)`(VJ*Ecb){mAD`ZwgFQx+G zmWzlSLWat&Si^NF`DIdFJpJY0?I?l^!dfNys)hPndu{Vwo7&AX!N_>WGnx=E%QkdN zGfq0rXe5&8r&J~J`7>ebD|Q$)Jx(0+fUav#K{7!|g{Oa>b;$qG`TfAZB2Y-l%^B*c zaL%R!<&ATR@;5hYbeKZ+8ITi_L~hexu#d+Y@krDdr-gxWH-7*9_*!N2L&KIihr;B{ zOqSI8g}Sx&M<(Eg#9g7`q6axQU5ocmx8Mbf^>3B$hZAv1`4!`ARVtN>Z+}+YBd7X(s6d!j=No*~FgdiZHU)8}K}ZQi-wcvPElDLHl_f44JPN zz07dgoSvn9APka6F9$FQEy;b^frixx^uQL@E0Bm?GuX#Xu9xmkx5mQWfu?#Mv)Gim zW-%$ASxeUD&Z=C``~2>!C7FC2;l`l?y1u}_8FJU+OP(yz4U7RfyWB}IEPXL)5R%8`q261ZY;^8MYd1{C~ zcz~Q0P)WU{34KW_sc*cC%XP7$A0_J+lBJDfjZ-BzY&^OS$ya?c;cHk%+5EEg}`wvM!2U6%Pq;B?ImFc`_dTUYe|mH$`2P!>f8vo z{vf@}xwCSP)5;AhW3adrX|1L^iLE3jmEHr{^lp{5vdb9{(es{UC6z=)QoXHSCeFQ~ zz9jEcr1VJ`@Mt^3-e(zKJ5s!T1=p?QAs%mMZoD}EgYKC`dkvpn=i+rSGKydJ4I;T^ z>7GceOxNq*A}$o9vNQ74ll_wZdW&H?7oov@`yId-UY?tDqsBplI}!-hjSzoA!JyY< z!SQYKscW>_rN^Q9m~YE<;_~^mzH)wJL(R6g z-b>#M6>Q}mdRpS${u7|(C3qLm1xmLjnA5_==A;tf?;RrYBjR}h(FGD4&_BL!Xj@g& z6GeoDiweE{@kcB>pnu5SF>Rq=(|3|-ZT#NtZ#=$Ng?aT=$NtBXBvC%P>Gq-y%+!gE z^z88$%81Dn{LbY=1GHO-%^zNEVgmpy>rT>J{4P9%Zgh$wSC=n5Qj`{JAMu`1UQdBm zB;&u%RYq3=A1goKT$Vag!ra~ZCwm6Ye3;SaE_Z{9j5urZ}umFU*i7EBPwo3h$yZ-yD5lS)UtKWQ8n-UCR^dvo?HV`O=SNwqP%w&AP7=g9r+*dtdiC0M z0&!G{k0jd7`h&VeYoV&=`7@WsM<{!zA#(mO(&M+_KXXUeM+n-pgS@M6>07`Z4-j9J+9pf~`qv2P8wX7vQ$$;zRahEK{l-y$mSZ zbP2){hb11>wJo@2y#4haExuyxq;(lGQIpbgny8Dgqiiy{Sxdt5xxM!K3_bH69UR%B zQE0pU`2}0gn}4i3_KipN%}Wy!Y4ois6BgHXqUveWd$%w}8sG&=M+Ne2S#W`-fD!QL zxcADZ_}vjpMSn+p%WMGb*Dd>AL7Lkvm8oip-{^k(w!|P$-qA+UJ)!gA7Fn&kIo+)1 z^>F4>t1^hi9yMUtN-~IkZsbPYv2{R^d20(SE|w&tp1H^fB}Yoe+?U^t%}CJXeZmJY zIQ0KymfTJ9TTik7DAAR)M}oqBr48QrrJUjV`s%$x#*5wiN@x#o@cMgE*PXK`2omI0 zdg5`Q5k1yfwsvt*=X?MpdJotNn0(qLPP)5AvA;Ey#L%2q zLeaaww|*(|8V_pZa2udc0T01aeAi(3&-p3Tq1uV5FJ6& zh=$E%zbTIkBgJcG>nzDDs3Oi359&yp+xDi3^ibh51jIU53!4|ZykdY8J>SI`Wk`Na zYwgnc$NbbWuFK;6>3UHZtnoFI-TYBHeHD8vA>OZpvv$Dx4v9%7r65!V0&U~JTd2ij zPd9$6=>fUvyV$7ni?Q0)krw!VA713NnMC)|nfvu{O*ldQp?}qN;Gy}<@BWLYvlBPk zMI#KsT(+cZ)j0XVr<`&Mt+AiN56Aw`*nH;%*Kda5(RWFsLL-hUJjkciu^gbxT?N7MWS(O6U9QfnM3u zz2D<{%*(8v96KFRASP427iy*~0<^2(f6+pUYFYqTSE?>d?E5P<5e`c2!rJzZ(0Rum z^#VpYT~MK$g0l|u!9ArDrjPFg2(W8mP;@QP&ST(sux)UPeRUqmnW&=JyiiVA#s_Ta z@Pll~V>yj5<%T_N9EY^i{NKX_dMu3RZ$_(hp0IaKz4NE~b4zNKm0+vy`jOMyENB;1 zInye)Z;H3h*#CF5ta@6Bj~P&?RVMHaxLr?3hU6)46=#^;qt8= z6@@YZ>*+6m$Ewapi5ciOupZf2<>7Cm4stiud}W8RL`MrB=b$OvwQb`je#Z%Vec(7F zTziCO_|O+drot#{1SxwX_6=zC<81d;`37leAs>j=R0}9ZcKMTE?Lwe$^aGCiTW}d2 zu^q42_gO5P-$@!<9y{{LgUG_5-&G)`<%ip@S*XO$1 zvQjgcVS0-X(oFY+63Jr-W>6@4_=bnH-P^}3OtwI8Fpt6KR^S8(M**pP+<9<6`w76C z{NAtV_^a4GQyq3szfgx$Gbppl40oG#2;;)8WdQBq9GC({-#?Uk&)w@cZD$Zrk^PiT zOz~dcfLyO%1!LSos|cu*;MKfjN-Y2?aD82H_U$c*-=LB1O~-JQU8E!IXxyI^xI3oz3aWlH}Cm&k6C;2JW?nFE8qywIqC7_iT#m7`2JfmYC5{ln|Q`-n^gk;eN`!zj4lUo&o&_L7s`OFI)We z`8@U`^@lrE{(*T|q-Uy{HpkHK{I0>xUQx7;nAIb2iJdSn{{%i1SDB* zsrBz>cz+prDLl_)J<&lk7;z;sYBAn|*7BSU8So}^mbi(Dk;X0^New(ur+2oNv zJa^RpWahbU!5n`p*_ANBX)~99@pYnZ8JdQ}WM1XH@E%NhO78p!=|! z+{@as<0g&3Z_t=gC99rg{qNIPm!tl9sxMjNwht8&rT^@$-+gsBsB|s*OTx+Ds%xZG zr8@1!(<^EQfK~{f>iCjgI3C3pZT~cGtR~__t}q!`hU+KoV6Xdx-=Ery%vBVF%=@ z=9KN>_8ZEE0_Yp9*iz0-rm zleWW7Q+Zw*dxms9w7q5Smsw>@RA+R@W*H_GN z=zmV7)!lWwi=eUPQsHem%0?%p1hN8;^+iV<38Jo_Fx!3Fp}cnBXS>U8_@<25+~c<0 zZ`Mddlfxcd2XJ2?dhJ^NTp)NF6He!q=cwn~_xA2(1NrdrzbMcx%^MeCi&T}*#vrjM zOpt89AMvQLMBZoESAAqZOK`(@-`>f~H^DA5`ZF^>gv@%(uJ@-K6u3ZzR9mN0bmEz$ z-~4yrqs@vs$~=BODw7NE!*$0A+y^5yfxl;GCl`&_7Qat9i%#0Uc*Jot3X1}L+6Ek) z(~5jGXb`JDVs!-QQB=V1cFtQGj@t}}Z7!x97E5La3P&~*qm6Jx=)_x3`(N9|1vM?? zHOmWQW%NP8GsjYEYMb(C4*v}o)h~Lrlf`drFkv62qNvSuy2`SG=Cr<=z%`i4l<~gd zd>+5E*ZoedU}Mge5kn7<$iu~6?cSH^xcQ@Tv06mH;FB5pmcv?u@}Tfge9q#;dA}LW zR_lgwLAVpFT8$!1zFj^Q+`5%a=Wo-YyZ`WPR zv92Q&gKNg~a$I16m_yGR;Q`TU&r*zohdP%^2U>j89YM8d)`Mab1LVh|S;gf`e9^r@Z~a(z9ytr-ESRK)v*TXL?6ZIlu$NSIR9ZK= zMv?=pf*H|l$g}H(xOm(Z`pk6=R(CJmvz{sf2@}>F?zl2d-F{YA(Ez<@PV4w0xFR#Z zUw8PbBBE}dxQbZNdf9!65H4`ya++|l<3w&h@5Y?02ORr+6Z{|n=DCt}ui&SC1^<^z zx*j!Z89~|t&#n(Mw;*@%+Od=HX{yB{iO}u9vvsnNynIdCT^a!*y?vkko2nl<5OiuA zQsYotbO~<0MmuRn)|ao#KejpK5JY_CqEANuXH&2FZ~73GIJ;o1dbB$8?%5vcP~Gb^ z`f%JN>~Tk=cTW2=@u`}KdKpnFUL1WG0}`oZ&wGVJkQ6-nZh?}8Z_|WrO| zU2Twc(vXfH^5-oy)$*SXE?+j3AD}69j_BXY0d9km5PYaBxbN}lDQiOa!DGrGCuo+K z!T91xg!G@zStzZBSp+`j=8$vn?I4_TMB+`|%`Ipljb(8{xZm$=0@p6<5VF9Yc1W*P zo4+D#a#||!9;ndyBwoD$N^Kag313NcdexSQ``aiRl;_0o$5aeijPGgSh&3MlbGDo> zzz$~Fq=ybUo?J~hz;4EKN-XPMtG^8iiN1Nf;WN#*X2hH#VghKXwL?A|l)hij>5h4_ z&y&MvALnLH4?AXttq0*+8FV3)Cb@&V+f@87{ZF?>7OS#zR6Qi@?{hi_@-5eW?>PJ2 zFoQTH2d+u@T*QSXnrcOLM~ZKl>K(?!AcwLmfT^mx1s(B=XvIA|*fCa}&ao1)7_haB9UbBzBwF?A4J}qL;|5;yAzWz?8 zqng~%Kz`n`m5M0YCN2h?@+}>7$ytvKAVoTT!#7Z;({&Y7mXjM7?+8J>TW z(f+6bu;!L289E*joOHrIr?@P4eOx?M^wa~oDsIfQ-NM)B0! zBx1|npvU3RM_Mh_ey(=;83!%3A^6EmL0LuhfPW3j_2bh2xD;B+6o!Px4{ z|AqpD=k9=IAwRI*j|T@w`vk?#AO^?M_R{v=x7s7wXS?(dv=pH#I}F8uugre^_%T!>4jJ5;k#!gc3m44y;AF9 zJa^jAZVyM8JJ$T(SOcM+k`=w0`)LZZtDcQTwij4TgB$d)l+f{vTpzGRv0xyC4Ghit z*?GH$lJeipJjoAyt{%RMX_(A!aieaT?ZxCS=KC*T>PquF8uG|{ob>`&p8z}UY5(EO z!B+%af!Tx4Qr#(A@l!%#uX%~8^!;P5^-JTOcys%pF`%Yxb5Q9_BZoJvk>@X4966!?RH^$&#uYE<|LuiY-%!m=L?+W+<(}< z(zGAHyz(c^#kyTup(DZM_mgpXW*iFGlmZz4bqhSzDvDmLpcr}bgIeL~fD7?$ryA*- zM$@1c;f~dHC8D6ZLytw$fh3YNA^k48qxQ#D(DZ0^Xh)aaGd8Nt5Pu70DlPL;cI56R zG~1yj?Tl^UJhuIS;MGtOPH-a(*`52Io+T*PV-QQd0o|M(KikjJD{3nccpd_eU59>$ z^CI+Ki?raU_LCFt)$3!%tI~TS{o%QSw8MAmhfpBIf=iqx`}9MX9C~wn@R|wlVnoo@ z{zSyq-pu)s-BiR8Vf#OU)8&G?im(Gw@_xl;pmq}HSk-Tz?Ws(gz{O`GAGS~NsQQ}2 zttm}9l8*KmrK9EX^B%>wK}=gv&duf3(yO=Ct8+z8BpE9o2nqysrRso@!mg?ySv3PN z1x%izh%^zGSkGtw>Gu1*WOz(`{;!W0diH_jd)!D}U}@a^Sra%5$$|uUUu?DiPIRJx zK#&Adbk=1tw50O7nI^U!%MrJyn;R9;&#*H%q~mE={<>Enq2`h*{~!bG&LMl08siB3 zxDahz%Z==eK<52akr=)2b#KuHLyzp1-tTlt4X^ZBTlf9z@B&-D{=z?Zphk|!xVX0e zImeg=69#_Oi~i?#=PF?Wd$AQU&R^xWeGAn1vCWUNIB`E6wN$M{y$lMyV^8ku)>q^J z1^PL_yc~U!A43q#_pHwfOzbbF^sf7;&dNz`+!6M*s=G!C+*w+%;C(pW)XU>yci4GG zX31wPQZvfFHSLqY3w0QgZByGmNSNVC2j#kqut0WfWWFMRt{3DSrNzSNxa8Z_6t zWTN0B*17q`mKs9Hj!b>`FVT(3Kht|n`r1^DaOXc$A=e5F*_TE76}6?YsV86y+`Y$0 zoL8v+e$ZU%zJ|wX2g>WnZe&5=pw_uTvt$43VL?TE33;IO+z|2hB*WTkqoWOu51z6O zY}lSVn?G!liD)9nUF`flBr4=%>opI1(j_4gjOW;Po7IT_xb01Ai{^JuNJG^Yy~)L=U_2jGLKS@^i!9u6}=ri;@7X+`q3cNB2J& z4I+xDf1Pb2>1UqaH0h!Gfa{-0;fMrNM}x;9hhv54U|o4FNGu8 z#ei)R{@flWG&Vc(z4NE%?oIlnkkV8W5Oj+h<1x!0_`+WltG^?chE4W7WrdAv2y|Q@oU5f&CI&%ID)E5TA)|&HK!(nCNto9zo{$4;QO_>E z9G=Kr1fR}jp4*rwM(hPv{D)~>n>d7Fy~SI|J7!=pgRE9A{(M6M`EPxNRy4mVWL`YrEA--sb5UUQ9HFazK-=kZ(0uW#;?NE z{X_DkZ)LWmd|G@6S9j5fJ=cbA@{xob)L%O*lLYCJ?%>vsZF?xFMpQ{V*hM?e^RHaZ z7Bku_zyR=PK?(z%MLuvbF?{1pQ!u#lePlvUHyg-T#h#-pC@s`iu(dk=l*cQ?;ItFp z!$0oYDbVq)yqOdHJEj!(xm7iZds)ppUUweGj^z6W!Tq+@g*CLhT`Yy&R^=k|j5Z#H zAARch$qvw)87Mhe`-W~&;d$)}I_h?7n4r6jf0~P`z6-8NfT5!mc#z9%k)2s9rr5*< zTA6b2xs?1={pCw9_p+^b0#H0RAyPNL_WeP@&)##$pSXyvRDqNCOLEm(G%ZgA_Kqvv z%W3ofXgm$$uIB$ct_$E-k$vGVQ-vq7$xN~dnhz{R0P|`V1GRM$!v_4&vbMoi%uX0=}EhfD zgxf!*ci}bhs6>iS*syWtOSG{S2qt9gq?qXZ!-t+v@NJ`(15rN6?(%E@xi5{+izobw zs0aF$GbUYs8}bPZiJWpoNzTrpKYNS-`dEbduEiIJ@7?`bV%_JdO# zA1G*FtUrIyp11c$Ej1nHyP#i@p}g*mpF89jpU{se`PF(#v;`EhKML&<0;~f{a&qmq z*AFhIv4)ZOk$rv$-t^;PAR&%T(Wi?!XuDREt3J72JVWC=UVj zTHBdhnyH=pJY9gkM<4U7Pd|K|ljPuSx9FyHvbhwk$<1oj5b1#;<6?B8wbpmF#1nQ5 z4?WC8Ro}H{*P{$@bwW|isJJ2Uf{TY~p%}m`D~I!~T~#7~loSEv#dR*{``CMzGTLAB zPEi;r7n}%2$~bNn!~gRrhmL2@i=!fo<-Q2!z0R-tb0gMBDN#OF9Y4TR8?fVaQda7+ z>K9d&aTOW2r2`&w&VK%-z|*N?Cs{ZM`L6)XoCDN6dDK@e^ygdNpxJf~Ah6gT`mT){ zH!7l*w-o=_x9|;ctahGicl;uh^hxH(xv6`gdud?Y-JF+KT6KC;I4{wgd9yOR9Ve&0 zyz0Ah8ExCJ$PZS-v^Lk|?X=x$8_rRnnS}l-(C;N>7;dnxIO57sDj&w zO1(^jNoyKVR=oJY+QlTCp74vyEXnn4MAhhEyNFt^ADgg>0nn8RybJZ33-oXMM|P$M zpx}oH#8TGBD#R0we;fi)0z!7YVPYo%Zto&k!%DnTT4=IHkMB=hp8ew>`_JYNch!sI zi!Yd)m#yOE^8NjruNQa=i^Z?TY6LdpZiOZ{Xrq%v2~ja?M93E z#b6`zo|ny@oX67f`~NK_aVp(!WX2bb`t7oJvhi;OGHudFU3zrxvgqb}Xe^)BSN(YZ zX8*j01~)i-``f;?GH5IGxd~7?P8-=5#egYOZ6pm+u8lJ{WL7phyD_y0o;G_WHhS*x zu0D|H+R!fqF#Oef*!6%~l|TO#-Ttq)%ms}*?+CnZJ&&9vV6-+Q ziVI0F$t*G_N1S~jJm2L&6AsIpQE~}T)fY5IOzt-MrS$0Dta&GLCv((UT@PDU+-aUm z*U9bXGR%p*vEWGab%kl?Mz~I|6i`4_#}a-${6xb^jbM!U2j=WAtA_bURCGG*@PN4kao zUZg@%+b~Kl#g@uDt!jb_bph;nqu&zuP2Ov&%EhzwzO^htJ&#D&;3f|wiPW&lRR{PP z{2c@l5w`P2#sXYOISAfo&7|bIdzV14pg1jW%>%Kqj{%?7JMGv3E0DMIP^5r2uJD{j zlZ4SnYtmAhRl+-WupvEiCM^}bp-c;WGQux~PcKBiEG#dd%4?f+^NqGDT{xbj&Lwd2OhQvr?=0QmrS|_}?8X+CnPI_S(Hx*os+Y z2if>NcQh{7JS`Gzvup7}2LdG!K?rH9Ar8vxu}LL@KKV##vxRM?Od=OB|k^U<}YL}EDZ*f9s zZTpFzxT>Gf=Ir~27#QwSyH@woUyI}wyJEk_$?f1fZz2edyJM?G6Eg)IH3YhV;mQ>Y zJ#-p+;LX=?$V0Ug*0Glaxm`LWI}i}ImF9kbkg!z<`RLJY1|Akf&XW^45KW=Eu@^8GdU>m-Ez$a~?J_{jr=?Ip8rnFXKA$O4ZnRPM^`N@5S&hy5T})Qc8+*voWtdK!9*3F|_;BKJa3+iD zE%hD86KU(~L!YiPq&rH`m3tA1Di1!$EyufG#;f&adh+)M2OB^An8;*m2JlyJ|2d2k zpxlTN3f4Dd(Vp%FFCP@N$K!l_5IIJNTRT?A0EE3PVX|Gw5YEyyVT^e=}8Znhf-SoNm3x-*?0dqsRv%~`m4BnLMT)2XR-{_`ZIH^O89=lK z)>n}S3%rgvIZI*#AP(vWJqSxLV-_FHz_e`F;B+ItnZQHx#Eh|-_7^{i-!=oy9bHRt zj29|rqWc6M{~1vwpNA#D20=e#L+T&5uU(cF_Q!6v^V`c;5tZF+)Kpk>W3BdX()gn% zaBMbBxOx?ZeLj z8!GUF#-=bJGJBM{hIcH)PVU(>PFcIvI~_$@2@;S=c~v#SI@3(vJrj@sSg;KpZR8m@ z4;I*Em%0V7O)5$w*1N4yOABKM`~)XAQxi9*8>KZ&xaiT}8|MDgUU2ty7K-$oeg$yN zuwEItZrkwy7!7`-0an3MZC$xC&*9tHssCiQHrGutwG6^PXULpjY6ntrP6y_k3NGq^ ziUFpPT5sdEIbv|=f`L1`;H*4WCww<1?i8uD8>~nohFz;J%MC2e#OuAxmy=0Y`Pe<< ztA0fB-#JvS)BusH#520p6oMA@7S%{FUB`Nfcm=EiHqBKvS<0ObpBBu1iI@W9PO~GU zQ{rdp`o1B_KG&(kT2{R)9)O9>6zY=@rhx*a!tm!#3 z(dCHzSTbj&vOrPoup!UsIHH7wT`R;8cUWz+Er87tJPxeWA<4ZkDygo^5 z(D%qoB-#7kJ`R1{Z7+$+mjWT-Tx+0TS;rr%p1b(jPbb0L-ny>GU0Tx4DAZUU7v#FD zS^4OgF0MypY$TvK*Kw!t1}G}82=m`Y(n`2slU0ec?Q_W@7ScWbO{Y_Rj-z=LLp}YN z8L*Ie6<~SKYj_#{HiryH{5~&&wwG)EUC#h2{RRq|OXym+VkBA1aUd3G2<3&psLwL` z8+J$5U(lMK$b}>EbllAWs%QmgpC_7uj7?o|58uK2!#X?7A_dj`iqka#2`q)i5K$jN z*PkkP?X(GXlFRo~m~h5f!3N~f`@-QoY@YvE)>6Kk+WOF`A*n63#RdlDOP2@NY&n8% z*$O-VXID9%Nt6gt->qZQT5Y`&_MNvkV};#AKh@*;wKT>Yv1{ryd~SeZ2C&(@X->F| z4125g9RSWqA4%FLY;eRSSz+K$4lb@=w+g}2o_^-B8{H|OwpnLR^p(WH&5!$R?V;vD z3mDvaYszzt-YJh_;Okj%!%vh*v@VyGGL&~R;) zmVj+<3ugg%Ho9&HJwYm{1&@?X{<(Xfx(MG(+ifZ5z#QFZ-!)15qW{+NHyip8;W!d| zaA$PteHEzo+GH6jSVcRE@Cfxw(|(8wI*8Y64sY#kTy5VNpABh(f~P0>s{=d40L}gh zLu;xvo2{W;uqI%8+7|?Y3xL1o&Z@0O2b}tQTrk5HA=4h~AvPVf8p1bdqK@QeJ?PN} z4lGC!fE1zZF10!Evd?GY;l2Wqvzp2RS?K@?1@;Y)A^af^kA5-l51lIa7K%Bw@lys) zd6kdAoYWO_&bXlXJB75*_8&sKEgVUb1${E(pX1XCgIVi+{74DOiVkf_Lqq$wx=EuF ztPyESDNBdKxx11>sNzo22*|wlKnC>nc^(kmTNtDe zmB5l$Bv^*AubkWV?Zp-Ho7^%!fA(JP30$POMXJXjnywwLzUQ26*zFNhfi{VmB-BMH z@VUR?^ewd=OK9JrS7_E3Ahx)(pihpOk>7!SC?)v;_kx3gb__+ftfdq|bm$H$m~jlB zfyKE@?s(NPKxtx#c-_ORfWD%}Smyv*6i~mhK@~ZD`i62)C>jIDM#xP_T|S?Gq>lF^ z5`RyFq{$8!?M6ccJ&~fQLhQ?J_Ax<^q{MW0bL-EU0nF3X?^rFOH}py)%RNM6KGl;X z`$pFNn|e(eT}^pE6RYesd4nWEziF*53+**OOUd(y()g*mL>J&7*b=4HZ{=d%@2lT2 zWK8Z4aMtj?2^w>IbWV7mV}=t~edU$JOBr7r^8?4hyBH8|b{dr|;BVJQ_`~yyB`Say zYi?FyT*G1>l4!tA_Z_rz^o!~JD`!35Kgu=~hvqSIz|U1ei|em0Fv;R->~{@jNRo5F z{>b4MsdctB6j0{V3f7I}BmCUq8iwaG9WL-g0uvMa>5~#%^El`u2l|*S6Yo=<=#*c| zSjTYclz%fE9<%lG!Z)y-C2JRoSmwvvwGCTROEgK+>`G#{I2h;~;}<9_7t2}SU)IfM zl4Ngjf60zpXs562_-9|E$MBKtl&E~#ctW@gAZQDHZ!yr_S0y^Aov`6F4}OU3Gd1O*Dx(Xp z`HlJ6I{z_rR!R?W#5RrYn;m9T@RPJ%30_c;!uN_7$V|c_m&WMOfJssJil1h5|81;c zF+FU@8VDhb&;wgf?6_<3=~L4}fEE3Z;)$hH*2+UG*4TM7 z8YvEQ%y*PwDtnuNWEml5U*#+q}*ivkmIKBRzN!RuO6Le-y*BQ4BXq^9~?5Em**}zTq z{vwR8XaCN>*x|c=g@{v_IUo!|%Lmf2J$4dzAEt1cfd4xqEnO~aya;Bx!?z!1qmxP4 zt^e1kNrTbnSVsrvEPD-uB0kiqiRqYjh>_{#HHYl2!>8JJ3wIP}kma7O6ltd~B z4uYjZLIjN7#FE*{cyEpigW#l zVjC*XrEtHK_w9@MsGH-#al$@&VwOrT3O>-8QB0y!&;H&iNG#A zA@V`9d!^X3=`C`1(0&`er}EA}3Hg?!!mNb5(N!BEqoO<#lpQ>{54*#C>dlB)qJ9ld4{{=u;Hfa`uQ*7#?wT`^nTYieJ9-E(aU-mWF`=+|jY2hFh%2Jxt+gY>khggUbwT2yZW*_2KmAX{EXuC zyJ(r6%Y>)=he_@pn0j9*dT~QKbFDb6x_iYE>yHftVyj)I;djP-HE5Mnmm)`Lf4h`v zF(Gq74=9N_jZIVv;nZ_JcK3*>)PmT6JJr0ks#3NtNlVcfPQki_svJkZ>W2gVvylaC zNR51aHj5Y_^m)cGHOhpgHavFyP0xV%YkD9?_REV>$ z0^WLtANIb$w5W$e0m`vZawHcQVS@|}5 z?`_8iLPIg`Q~1TdM!PlSMfy~k%d3h8+iEp%nkO|U_K{=jzh4sBnGFWde1b#gE68Ro z8>8yo$9@I&no;q|&^u1eloK|@8x`rgWkBfA5qiCy63i~96B#nwCtu?f;2v>>*M^8ceXbS_0KlC zAp~)#F?gP)3)EGM%H)Zj!ZYypaHVKY@=Hw)T|el3NiLNJ9zv~}?4}~Fr<)*eRo(rJ z>Pn{r6Fy!ROpnKp@*}6Y2=TY#^ZwmGw1;wYDRwt4TrZ81W{;+7QE%jB5}ak`DO+%4 z{mzd~%^NlbOKfu^V z!!t5ns481~6b7tmv45#?*p>|kZkGy&%LE5&Q|V*T;HQUjbwVip{E@v`7DwoTAkk1V%J=TY}yNS1cFW9_|H z&yEosP8EuxO1SPG{ZkGH;2E%JF`>)A?@Unf; zOWh(;A60ZrWi^mR(-wi`3c~Y=yAO99x#8p)8J2k#>tocoqW0`V@MFFLzo)kq_ zfr-e}Q5Q_hvg3DG@2d;a1?D;>=jL!y+V7S9`bHbCpncl#sA8ixEXOOaO{%{#rK|RK z9|10vl@R#&dMU0t$Wukdaw5aImp@Ad#*Lz_>0#f`*>sn2|06WS7$BcCqV4?a*}wx2 z0}U+47ZVAHK^WvYFC;$S{PJMLwQv;%seQ+`yF+2zXHx*B-ljU&)95=$+{i2sE>7)` zSXo6T1C19BvI5R4TQW-*OnrdeD&a0?*dLdp>8|E}MBFj^K3cguu~RuH3pzvyleD`| zWNC953U{>A@^(TEArs;=Eu!kDO^AMFpMh2V!8jtiGIGH+H)$?WZE#e1&1T)$@(-3h zs1FC$lUZ)Q3XPQ&)OYof*N}f4!K>5hd#@El@a;(X51UP)w z@L}Ml3r!GO2x%}Qa03Jzo0Oklz6m6tf3NRLAxojkqJV+1sQL|BKdUrgF2EYW2&bHN z{zAvxNqBlie#7+!3gHSg^8gtZ?41teQecF$tD@@_8LGsZJ%hxgLc@&5p`TOp6!_R8 zLnWtI17eLOD7FyCbnqI#q@hTD?ay?#cr|X>crt=y@n7OCRiFjB$Q)7%q2eF6?in@! z%4YYe=HKGo%%Ezi$b#85m4O%|6^!YkZ-EgD=|{a^0mYzw%lu#pz?1Ktca~%G1ugjW zBR#>by@xHFtI+4rzn??0(b{XX21v&$_~LGOyD`q)y&ad+Un8#uKA$gwrspn?6}fLA@; z{xnu&h4FHRyHQMpcL&bZRSkZYeU|LNDQl7lKqn{!lmN>sYphzr0^pEl@-=usOy|;5 zIP(KnQWb(uPYLt@Jod7Gn8Ub4{r&R_D&B{cRhc3n6>9{OIGI=WJLLmhaGt8@U95;3 zY?ORsYP|{fqW^g=%o08kG9_?QR*@(`@MD9c0Acv95Yly6p}cFgu)EX22x%DwXB<5> z3t~5Ne3DW8lI8=oA!hBm#L%kRKD(4oq2s*S5jOa`vQ9?khBc`Es#pTAGu9q>D(XkicK9Tc^t9>g|(peZYNd8WSAn3^;#%&Wl4) zv?ktqCRWQb=g!fu=QrF~&m!tE{;yP)?DfOGzI!1%WT;Wh6zXo+<`JLG%d*4m^v{Lq zA>b({*y{Xfj;8guYoU!vsXe|I7)Lf55|ap6{;40;W4{Z&EIShxFp`+anVJ!8=nxmi z>we2PtL<9DU~NQdd67cCUUG3`5)g)_vSSJ0Q$fEnA7eWfMSo%eRVjRR`ZPfQoCR49 z2(DpAkFtQ_dVg76VMoTl)s#MQ_cD^Q&(t5WA?>*E=z&*jSLTyE4m7l|%qqk2eJU(! z`)`mdE%BXkG1o=e+B}pgK{{ND;#`Ivl+?D%j`_*vNe5~&`|_TVx}Xphq^aVSpLaqT z>OH$@2vp+BdYbN@4)4o~T?+hllm;;M-(N`vhK`#@)6;4S3+;u>y9k4lrT{4r`sKz{ zo?S}$YMEGqeTVKly^Sw6Af>5aqr>|X~xDaye>4BEXRD{Cx_K} ziPi(6J`|x%${0=1VOIo$S!HzuVkHM|&Vb7c3WMPc!Py0Hi0QvsvlXANG{OE6B|Y`y z9-6hkJ+GI0+21?p&vtQ^I+O`CAN@I`ZKuHeGSpWgf|9Sy^^pi#T-EUvZ_s9L&7O7( zzw%7I*mNAybDJJe&yzh>`s_X!U_ue$fGgX?08SJH?W`i|2C=y&z%rZ{Agup`i>46f z`EcBDwTFaPe7c4Ic?4``*iqSJ0+6{otiIQn`MImzyD~dP#(}f>fU#tzxCe`DvK~bh zJ&w~{^kA=AM$`=^c^UkkMVuCglH>qnJ7$pq#zLwN@4R1}+AIPz)55mjgf5Fkc7=16 zUw9+@)$~EnPJcI)vmrVEF`$V>RID0%!rpm{{)?`_X?J4$k)9^ zgH=D9(RTqkVNr|Auc}_0ZcdB+zEV;9oidRJbmD$QpV4*t`!sohW5&wnVpfb}5~3t? z)s5uC-kf`ZJNfm2AQ|od3f#9}vXsnW3{e3Rr|Kljg~cnPwolD%CemHHxc-1^@W^v( z;5ujwZi(6NHcU-qOZq>{FysI3nV<)yz5bg|RY8^8fFw3G?;(h;a>Wfv;SdNR-`PFT z&UEnlAhhvML#V$czU%oYT0chBCS9E^R=!g;(+H>d|Q)`PUSld~9A5wvjgWre%Fqh~U0i^(b941@{2t8c zWzBqQx}-hd$MaX|wBfhC`8gx4y;{DLhtD%>yEDvy->T=I0{X_AMiiN^2y?pr1|7c( z$)IiF)jNV%k0-Ay%(I36=bZB(Uy_B8ZRQ|3zGyJ*zX?#_h37`#!lUqT@{*M)w3^iM zA|23J?otJ1nErO>_Nk1b<83fRD>#HLpu9{lk&28Z*n<0r}3tW0w|Sg z1byX%n|3ypUsgD0Aw4XJ5r#elPyc^40^5(lN#+k8qiGU&i#;}Yom0%m#A7gk?gCHy ze){3ZRn3lY0Wm;hp{d>UVg7fT;#<=zq_!f3&!nZw@$3B#mIf;XA14+%6(S7r2Xidj z{%Z5h_QIHBe!Mm9t2tL*sYeZ0k+%61ry5nZv48m+^dZSW5;VuTjZqsD#(8?zvT5@r z?;E8(p85FM8;yomkCbpCyKlVM7w*YIZE1)`f2?1BF$j=jZk8VbPYWS$6yJR9Tp4dt z1C{%I#h}!;@8ROxP1|2To+8HxwYW^0hP@+PqwC_WIkqefn@VvLe`Aw?b)QS$CuJqa zie-KWf=*5bvw+(Crj1MP+^wPzN);}k+%V2Hinv74Rk{DkQlVRc$LInmjj!{fP#TA3 zfBnmy7O44NmnSPpAqBk*=mA%1ib5k5 z5Wil)TmH^(d!a&lF||4?mjN*#ICn4jVL#|K1~0nm5B`ghzjVfZn$phDkhfW)R6&(_ z(v*LF!^Yesq*Q4-W%gFM0l~mOo3@!vs#h!wRhVMF_Bi++80nT!j!oji^H;jnzR{sf z{QosjKDYr%6upV6E@EwWB~oQe=$-zM%eyxid3GnzSejsTM|3KNb*nhD|{c7pAkyj z$N`c8VKD{OZtC19h@?JXJPDx$n7ly8hv+<%j&?D5tYicvre8%Wkfi_<$wI18qk}Q7 zt7V;%)o1!P{X2&gC?KQR`6#ctEUWgOR*NrIXX!qk5C_Y0iks1-S zoJz$x$m`-8N|REMs&DzrBBV#L^M0}om*mnoO#~m$SE{d7-q%Wu2qYeGb_Abr)7TKH zjVZ){RJ}FG?>VG#E&{Ux(WOSpf!5%Tb3)+v0Gt}0;AMqWJI1n9>0@8eR-8FquQ%5B-WemoaJ|?>d<`M7Bd3nRw||*%=js#ASlTAOcmEbZy`GqP$mqJ`;Zn#l_Jz# zHYI9njuc^qoS-l;76*Y*oQpdsvsfPaFPp{{4}jm0z>GR>rkM|mN7F3TE^I&fra=%|pjVPD&Z zL0nbJqt4&%whwM}3Hb;E^cvZ>psy+c014>d)qXm|6d)x6s4{BLLu6huYs=Md@3_+* zuR8}eFgzLit9{Ktv|ONexKAzh(j>i|dQwwC+Pzq{A>L4M>quW&z8S6DtLX6aJAEaA_)Z>kHTi|jL6IMO zThr=Y3%Uxs{;Sl_VnDuqBL8+6kS|9Y@%NJ(UE|lqw-Rf-EX`?(D;Rzm?C`FEI(NOG zTZ%S%04w~h%j5FXQcW-n46nF2z?n?(EvC|jV4W{AAQVtZ69l(w*zDjHMKB=pD7n^q zH04>m9Q(J0t<$Gc==R0Ll>XY6rmu9|p4Ral;W)X3e3N)RF))kO2`j!@Z%R&jOn(Xe z=kYz{NVP0OY_Ka63YTH`v#EchrqZFgk%{J^u%bydYBVdM{E04{-I%018NaQ*b z3up8#{rK@i!?_E%ve}ywpcY2aqhDOJ`3sne02=H>$|9s5PRz`+2spP=UX4*=lobM1 z3Q)6#7WOB)_ji|t?xvQP(b7MPQ3-8mzv9n) zFEr_$oS<&l|1BcEEt2yOiKUt?^G8`vTs3Yc?M$1%B84y^Q~A)pBfE4MdKhy)a>g9+qpf=X8QE?}KZ>3Lcl| z^oIX4eIy`zDXR5jjS4)c`{#AF!_=#;rR`&aOkvG*3`yrwwqavJV(#(R^8`Ox`}r9v zkN!Q3X?FuxR)_%aTku$4!Lj!>c>~lq&UGeR#B{c;hIPB0&hp zHKXb#m)nzNc>jadoUcFxQFT#crS{AW)?b~q(iA+XdsuihldRNfO=ZNmO^J-*FZjDw zK013~6K^O(!E`kg8HA%2ON16vL9o2^q~GFh5Oo_p+D*b!AtKZSFb;WpaSh(F?E!sz zO5ZHDHq)aijHsY6epp6PfGENWRzf*U`c3)@!@d6K{bJ6QI&ni9`{(q0y;)L5o!rq- z+15v2ip8eptfa?c6GwH9dpJ`|V;0|B1=Qp;kskGDXjvu<-^-P+l7qYkDjC-;+nA;; z1)T5QTScRk0h`PTD;nJZ$M#R8G@MJGdqY)s&BvfF()80I+Z;`>1!O~K(e^)jw6QQC zK+NG)Ah2%Ugaymi!bFuxaXMf@=2w{y2P_@o&brK>#eiLV*zPrWpt$XYx5fsQ17xXV zK>&1x9$j@Pf+owXH!BXv>gv+d@=FnmUzZtl_9kTNsOLLyYIFyG7=;J0ZmBP}eQMiA zmAjRGAH_fCGGRW`>V>dNqo7e;&4M>NMR(-e{#kTe|1tEcM0r$J(>5_=)pyC@<`zWG zC1(fEOxsdKhn|Ohl3ChoVhCX>K^Fvx3S!g4aPHLbBgcxV`Lj*N4|eF=n&m^u0I!V* z;N{A)5IA4~5)bpH<`;^xGlWOf(SA0hUC>P3E{|M$`S^GE9$gRl5g2NWgI^O3t(5qA z6V7h*8~Q?fs!cJu%&f1wn7N^CYG*!Aa0v6GkY}d^pLNbEz$GZ9_uSj&_4tosZnk5F zm20o1s&LFn*Ts+G-EnyR#DHpM{|Qt;%JbC0TDa=KW3`&gyBe>};r@ojFb%7Rb%Fr@c6NJ;GcsmHa4o2R2IH^>WYKQqm5#ROYL@z;*yo~Bu1K9}y ztu)h6$X#s=-x%H3Uk|8ho%V$&Gva;IlyNF3j14)T+4?j%8PYf$UCjw|n8`;{9kwp) zj0KM^jBk5{$J5POT3N0n$S>0+?!3S}D4U!M+3+A3*qyvP?EO~ZiqfF?lOQH5&Ohzg zMt#ww&NI4B&6}PX?5EjaN@%3fJM@p)`e~*K{=6nCdu>~1;_7kArfYrPdMfiTofW}o z!J(DYyC+Y4M_NzjVnaPI6;O>^fRR^$_QcinhM;hKbLRgzI_t0|-?xoF8>3TDLRw0s zB)&8Q1VtomkuE`{JI4SCC5E8%7>J4r($X<DUI~rog0-^yoPv859fg| zAl$FNZE%|dy=u(3Gac%q5u`6W>tbsjRriSz4r8=@1aQpw7K^2grj#4&F(uRQ_@iqX zeHh32b~bB$959O}aO$suswT0P(f4i|q;9^FEE#tc2lg36Apclr8A8a67GA5TGdGE2 zsDC#oo2%X)s8&bX(%n_)QQTq9!((L`8{Iq23-Hww)_dnSR)h2VuJAqD)=acmD*KC~ zlk4JXn}h}vvT!AjG4qtz;99rM#)dQeU8#BlL>=Cul<%N{CxjOA=}l$~Hh1q*7WQk~ z7k|Nvb&%Q0dIqO4nIO{<@`s;+mU$3DTG|s0ah{n>AN>_@N>&YQ@*Qa`TN$zbpbvza zjxjHyDU77%W8_yMK)>3SLbKZ2Y#KLX^qcRthtG_G!xD%CS&FR9`e>^(gFU#dGt0~Y zii`Bz9sDMU{R=!5Rk~0u_(D8F735a zWz8=PhKX|$+)#h$bqXrVYZz|Ck%(Pc0~wPC3v~F&(sD2ILF5d z*SbPocErByrt8K?kC?{YqM{@o10)6!Ek1QoKfMg+`V%fp1?W%#6eLBEVRvDsKc=p% zC$@n}>Y+E;hKIo`cUB_{e4bJ$2;CoNlhST=QGvUBM0=z-$wkXAl2(d_MapPJV|4AK ze1Loc`TiLOkUA({Oy0&A9)7j({P&D9RZ6fT3JXNuX-1rq(&?`H&*eXfL%;O}GqCkE z-tgJk>sEP%VaZ&Nv7=$njFX4A3!~i0PZ`xS=>-cNBl)sF7qUBd>ot8=`n}hXmFC$` zmd#pz%{Er!^3uFFTR4K{&FZU3AL@D4K=ig1wZOZEpx40G@7O0GYG^m6Usxl5BGUe_ zz11w0v^t7##lLr4?l3efqV#MjOc~wFIiQHMpEvK8+8|WfnvF{q{QNG!$z37&QfJDc z&_`9XzL)2l+HR|@l`1Y(<#^8AZ=w6b)C_b6$aSbMC8-$5DPHVIq%x*IfpfIX#VZ}o4z~$VJ?v3o}o65l6uS?S{y`W zrfH7Ltpo3AO{+w&Y1zct!`R42x@3?U;1f%^2E?4|obiK1*Y0uHp@1dLXf1zr;hdgD zEr85niA*bFCWBtBQZM+&7lpwwTPfw%LhJ&;VY=nhlna&LDq`Hw%``f*LUMh#w2Ri2 zY!L6?Kh|G^OdKy-Tx8zPU`Y_84Lf_Kh!8!|Llf9?Bkc4NK0VKR2+6mcgDN~!j=~xf z-?QdOlH~gFngl=VhaZnU!-7;0P zjt~3bi+nwN(#;4wnmy5R<%;vE$ce&IJjIDw?Z?-if)b$~rhXjCx0>buWmIgqLfV#a zL2ppvmw!dO0MHhS^O_S7Sv$I}oVsKRo7{ZWR=K~esWhbGm1K5UTh`XP7xB-9XN?Zl z&Hh1uJ~TPji*z%>0+<1~-8)!lV$he?NJCB)BWNA13r`tOSEp_+biCxfm|Wvma>+n} z7r8jBIlR=Ea`znmqS91>?pMJ?_&vQy;WN>eeo_*`BhNhbPxEFuO?B3$3X)f?&o8Vd zA=Hx=grHh%R~M<)igT6HTiBkx7R9{+uhZE7l|5-Z{@qYj1C6QqGtEPInLU`QHxpBF z%m3*GDcPcM&J8af0{zTFd}JoL7r5ISc%m1`-wo{wxBT3uE(cb8ucOW{FV2VN$8IFh zTm`{pW!J}WOkR1C94^5ON|zFCu(1iL)Z(-onpe=sa}sOI61Vkp+QcfRW=9{HwNiDX z>Z%&y?z8LKQuJl9fhM6(UyEE8w#VN-PZum4t5V~$q90Czja;cO5+u9>{AyS~W7I$| zcBAyRD|T#?H9+tYJO;?J4Seqnc4-%k`EYE~ed)k+OIZs&kviGcmJul$;cyuFC;=7J z{zeJ3XLb&&^%V)W{_WKrQ`BtnE}9@V$Z>{Wuhuq)gsO7i89TmJR^+R1pPw0Ep(t^q za^jHzTL)0J8=bU_ppDa*eS*l+}%RQ0^N z>-^`boSth(RFkkPGWOA5t1X6>G{i}zE7Qk|%-UO(I_5^6uY`AZK4mxh?J;fe{sY{)|pVqJN2I=utEAnDu0~?^*qRzV_ISxfxR%>e<$?MwAB;(ZltM9XL zUu3JxwvLz zcBcrHr=?;Wy;M%cqiW&m)enbtN3A2zPW(yx{P|vf1-^rKA5&Lr129$}B-OyhmX@F8 z{XZ2d@9rywT{A{wa7_y8?nwp65A1OAL5I1)p<-v{JXBcvg2UxZ#h>O@!@b#O-gLw4 zIkHKfQcqXKzN{%DH&mWtS0@&H@;$x+0g_Rj-hVPljyCD1OyB&G6k7@2WcwEtE}d=H zZy7R&e^U(5?2Q%j^dr7D%VArV;AfB$VMH5K!AH5gydn4CL1q^ zzDuB1G5rnSgr)t-x4nGMBHAi!p{6%v#i+#yew}uAXzsn@RWr3}6u_(Oa@9OqllAiQ z>ss*X%$LE>9U`%!;VfU)q{2;8>0Rq9>dji7Nu8*WT#Ann9ZTuvee8qQsO)sI#K18?jlfYM@ZFtsE1*hQiLTU}(-o5=&P6KmsJ1uU)d zhy!BYcRhwCzE?0*mf7$$F)6f^Ifsw)pXk+UKWju?9eg{IQz!S`UElm|+5l5VB%K!i zZk8}jx&>&1Nw581=navhho%GUhv667oC4pq4_4d&W2NFqU0p|SbxmQzk*e+s%*fP; zFO>H3t~23)%LqzXR)(t!tfptWDPQy@*~@hN@bBuz?5gvRu2a$zvuCrnm|+vo>oj%O zRr9o;#A1%i1pSB?w8pxtRPqOELT;QuHno7_DrWjr`XJsBDKod}7m19+bX4|QVETHb zgDuoOT21K3c8rfx3#<0Ui-Soc^kwxsddjT@59$n_8^=$jWUOeGu@l6D@kVSfiU*%j z=yZpB8q}GmKQ>nY)Y+^KPbe798l{na=wSbz@)9mg4P#{jro(Ca0=ycML3%z9LYVOj zM$<3hHG;PPVvsj1vo<29;onkOaM+AM@f`P~ zDb;nVG`p9zZiAS-5uJv~fBva}rf7p+P9N>sDx2V0rFz^7*16YAZ_~AW?y7O$J{uv@ z_g`2`C~$VHttUkK-Edt8*WDBgix;;DtP;4xJ34ZGPNS;s<>jLXpV=phcKrRaLxmJ{ z={=}{uhWu`;o7SEszu9}fKXvykfMj+>$h*RFubDQ(zP1gw(ze{ z>N0D9|E3;CAZkk$y}G?l`7_-0Ca@%<$*Vh-SU%y>@Ux$L<1yPzM?$#9;mc&}iRelG z-gNiIf5ix6`5iayL0uQ>{m78~S`e;x>4pp~&HOQq-9YcQiIg~30G=;Uc_yUyW|f`= z%^Ya|?204B(fRzKZIlNqq0?i`>-^h0@wRu^^ZeuQwA)#WWx`hMI|wzlu&7XN5(B;? zT;6MLQMNfb}^|; z3Va$m&Elt3R2&_DAu9#0wR@7F#LZdTyRlc@LFRK)}oWUm1Ivl#PUrd{$LA3AZEBR%&h6gjt)o4hHO zqe{VEV4nQEP;rTVp80GkDK>Rnt$sEptj-mCaPAY1Rd6NFSN`}A?J0V$VRk3%O?DA5 zV}2$F|B@eTcU_)2#{n{2o*jdvz4pl%$rAP;SO8uY8~{ZzfcOB&&E_YYh6WbfV&<@I zZ($ZRFO3D84ZHk6>%yyq=md|pC&%Jnh9YNgtqQB|8#_qkL5Y)qLXV1Z$x`tE|DbXRMN{fugL%7BRN)a{(PSfbt>4O;b! z;H*XpYCPq&z6D@6$42#l5zZpUbToWoUr2r-&lDi8K2BTii2uf_`Q<0grJZ;O%RUB` zFC{@Gq7j#P$urTP+NfjrkeBm_deMXq<*I0-!lL3tR831 z;m1%WIh+$YVymR;8Kq2nswQ$RK6QqkSNruajRK9`L9q!-2EI3f%9C$(vsV~trYaAIm+O3h|C5*%Do*t37OHx^ zY zfI^%%NtKw2t-Fb%I&*;thQxLddbmEI;iheV8GUu5!eH7#qCn@WgXPq930bt8PJjz$ z1XL)SF(Yt2;y`SDxNfCef@C1+?tdlC^)Xr{D1Vd3cD>;dtk?5nm8A9t6X8wRpPL-L z<4aA+rWVzm2Lsw)1y1yUCYFa>!UoXYTQ)%`K|oPAmhUI6SXfL02H zsoXh5X1lIckhjWTe#|xaSXH}Q`#M)e=!zE3S3m0$rQ-0H7>Ml9m9ZUUB{_2TeJ6Bg zNg}dS>m#q?w9`<4;7wsyCp9S^?VV)G)n}2bt*7Qsn9%J;5`F4m+C<=@6O(h6 zxvG!vP??ZC(}ybl;gPOkp;M~oPZx4g6?7%d5B@!-Y=V6sMZ@L|swDIW`e{xvS~XSx z0-xIb*-L&M4EO6r95w(l=N2dXQkrt24nc#$ux%e(s4wlu*`ktj%7(P&-HW1&e&x z-nkZv@Qc@{-Jn%U&K#4rShFGRAjm2KTr`x>bE8eNV)+|M-$Zaw?{~DzPd5IHixDrL z2*(zy78_k3E{u3V1J(w^Fs>(TjKb#o1&WfcF)oq5d84ZKE<+<{j{)cu-}-er?CYJ& z2w-k^?uhK)e624NuYU}jT^4Dld!nAZ=`y4EboSXlT*1|LTAzS_7b|gNS;BWK=8Wa_ z1>TASsOBPM>pvb3cK9Tk5x~70C^8>bSDznWt!9l}R;~3`-~?(NgFFtd!JEczA&*~s zeN!GzO?%j{KuMqe4E57lD0%hin{vS>M2H|5=C-PFRKeLh~Gta#! z6Rpscg6ZJja`!ug^_7*QMCPZdZoGx$a|S&-$apy0(WQ!(!1ki>_|tQh{5IO_obcld zFL#qvJN)eb4(_guL>{+N{#*I!mvE}Geg|{GL1U6#Fi~!nt!9+Ge_Q{tXip^vPku1p zhqG|0e+ZXY=Y%6^aoO%-%-iv$AfoWWC@!6i!YM+3SDHuv(g=s;V_LB_#qYtr?`X9L zf*hAvl*Z_gaRMxogS0|EmGk}wZrC-F zmGsuA9_Q7Z!kMx^=lkt3LN4t(!)bpB^mjq6cN8vY{A-UGQ1>6sPJguiD-v;O{uUE> zoI6H_dbf_Q0vx374dutR*8Bp{rI1}fD;Y&&08kY)yK=HBh=_Q1Tm|3^gC2(MCBwe6 zT5TQDHYUfifrSSB%9!|G`cm_rs)QQzcNu2oU1Tded`%Em$Uj#K;2by*Dh{uj_otaS z;^=S-Sjz({yx2$UfnJs$!p=U#jEV(H{Pss95OgZp*C;aZjm%Vgr<#%(!j0F=0EGA4)0B6){w@1%Ogl{{u%D{A$7sQD}pc~fP!wZ{w$ zA8Gc768vrh)q<6x^^Y57GN*MM;JrRCXhv`QS?Yi_ROz34&4WX9vjEj68jxU`j^(}g zBdbmt6U0REkJ{|~J&nUksxod4$BaIyoq;Zeo}oX)cI4leY7(d(#3vy2$@Zg#(pMoi z?nhQfTz{T1!m$JMr6hl}N_g=6E4V%R;ZZbq;u-Jh)4TDq2ea7+Y`JeLcJm7K5(R$E zK9}2)$m^xk&tTRyQx%>2ttp*$A51;V8tL9o-S)};1!=|XHYkxEMU6uv;2o>0#2Vi6 z*Cj<;6(`nDPu(ADqd2g;#(#d(NsrX|$1^$PnhGy*6HU~6kCY^U zdxuqtJWeYH?f&4xQsLDBNp#Y*^&G{^w!F*BK0*f(`y6I~rrG=(e?dziZ!GCvvnxZ=qNDSi$2MMKQ}b*=px{? zJ?yJP(^1oVPvW86N}n%X>XSIW!NvI>w&wJkpo)ugW%P5Z(|42}N(D}%mgy(6xqxFu zk(v7q^p`w7z?a~hKtIUtIU{upC@$O$t=P4#QK&8CpO$lYWASIwAX=UlcU5K}I7g+( zRl|9g7Wq6*tAAfpLepY%6lkp#TyD{piT>%pP z1f}HgbYw=V3pB$|Q}M0t-$6PVFSB3RXbVlGjb`X?7%diKbS19*xv7JilE%}vd)CWN zNoRsen2_kXz{*pVc$zT0FeA0`X*rsuLW1Vcq$(Y7-Y}+ycN`+1$rVO4XEs-E{=;B* zrM-y>0OgPec()^CPCzFO>_p9ScuYHb)$7zL{E*rH58M0sYuT#6WfwOMjpH%d=Tqj& zcR%C^1V|u4ueI{MQrL5`MN71?Tz2ak_udGHXFEw$)xv#*t@ z>GN4m?8r`as8VM=CtcC}1jQXC`%G^@LxOc3!iorm250CzaEqw3#qZS7>%o}ywhw4v z_RADuM)YkKS;i-3*I+lJ*vO020O4l)kj2Bc$PeG$JCil)S&vzgc7G;3+IRfL4^}y? z{jNe4@Bdr-uqDKk716R#(jcwvudB`$!0!=c!Kk0fMd6WJ2$e+#C(XURgP1lr1TRLlqm*@e^ihCo zY0GzpZg~BhJDTRN2r~(v z_!eWdK-DOFgsjxYC(XTg6Yc9Osun=`yB{6DTU{9SnkG8)48SV}tJbxY067G zfNZ{=@R!?zB0i-cR=%0tM*zNuvP)87L!J@5+-*%pMWd7xZqk|856*msX+(lI~Qm8!>BF0 zpHHEO{T4s`?MRD;LAB$qq1_!H7z~( zYPKvK!=JZh&@ySPso+SO*xrzPkyNdJoM@15VOh`{&7+9q3nf9A}E`WUN zaDJ*jEP^p$R`{@fw5grT_M|t9!14|ispS3&6`>$Pp6r`HJHR6pKW9Y-PA(-s>8<5c z8{|8W=)0`?_S_T`xZ)@{Y~iVzs?B}x55(aSpdZ&MaXbFiY_=D~{YnMDYm<|u^T~Ke zw^~Od;fjyuT79*>Pr$t=QCJLK2|bTEXOcLw!X2g>T}dPEdL)xwXf-}6Cu4vg!BSE{ zB$o*NIeAETZb<_~g}a@2gI+-#{0x0G8_h)`sEH~uIBsbIsPX^m$>bmd*q#p$mx zYf>8Sr2+mLu|FOLQ9?^YuC=~yFH?q&iRXxdt`2zcd)V5%6=_V;ydN$^Sl5))NJgz? z!Z&Y$eXJ}1mt`|fz&#@vCvBER~x)Wy;$&crIVZWT2 z`w1Z;)gtVEG0+u$6%s~B!A5E=!)sy?HVr=uJtVSK(t4ID{Lx@DbAC&FWxCDobPp34 zMzHta{*k+hF6M6d+A(e5WJ*@`Xhw3&wd=I=W&VuW+^%(U9Ri!9bXuMy$vjUz zt2PA9wARl)KYII0#X)W>-IrmG!c*_FU@h!g;h#?nQBfVY0UsJl%FJM%T=PaSKwYZ$ zbG#0`gijSj09)t^5Vs7c1a%4X%>GaBy2s}${J5@y)1e?#u?5kdFQ6pSAG6mU zFHz~QSgcgZO17WnNXJdL+9Q$~F)G$=+;IE*?9Pl+8u})db{Y39c9js4fEzXAzsI`p zpPr1fvxpQpMB?$ey(j`W#lU|Jp(4Ih#<7p^vb?m~9i&mx>m>s#$$*ShJWlY+zl+;t z0+AFF#(XfuTZ-~$R6@%@qfaDiBq%qst5;O4x3(<9;djt&g$GROMdc2>s$>3?vU}Sm!#Rbt(IIbZNfpU*)pUNVRGkbqVk2 z3c*3tIe}0J*6pmRbRr}ABq8YYCE%RHGDy-I?0<{tkO6%YF6kP?*)Ptw35lvHaO;sus*qo4B7BRU$I#7ZqDxmZgW`Aii9ai~r~?JsH#cIF{4? zvol;ill9z~XV5%tM?ZB(F@^e3YiDl*-(K-|%x3_-)?m`-(rH~8JDPphu-z(9jJJTw zRu?ip;=^dCMZ){#Li*(n{xhv5aiODmuh!yQ;$irD{Z_oMGoA}J2nvP&#-nQfCyytw=@iXL3)UH43WqagL;aWHQU1nl} zg+`5_-^I3*$CEW|F~~;UM$S{pAI4BsDsr)=~79^S% z$S*HDxa#YtnU3l6DDBKAnY! zhcFQD>^MSnL?JVf<7E7}#B_wh%o|n$0cq!C9w74`aVurBDuNm&g+U^P2v?oxeRmP` zJ+P(v^rla3zF>LnfevsKHRMbD&zr13d^3M)L4AgsYLGXksOUg_ z-QN$*Kb52@FGLS|Hkw+}rIfvlR>Rhm4P_l?k=zMlV{W-0v{O8bMjk)rcG(N$@0A*R zCdgM`j`X}!9V&2_&H1Ggx#c0z8Wh2pCIm8t7VR=~pJIgIYW4KQDr)>pCHDH%ec|5o z7aeNVETlpf-P@X)IwW!G(zB!1t@8}eAywltOOD)g&A`fx{cc{Plc{)1H>*0Ps@n#> zi4?&T!0vC?$TaSvDIvnRVDC9Njh|`3&M3#H1AQAue{JvLskoFRAg;^)ibOTreb(R5 zpYU)D|G{QWDO8XI)JK8E4JE#;V|rvC#`rISn|oi~HX%*!jR4LvQSmP}crgr2+Ik0& zSbgS{q)$_3LUFt-!gVs~aX z?TtGTV=NlDTC~~^Z+iv-YSQA%{--d8Uzg+topQ^Zk#j@V(K|10R2C}JPyJ9z`P{;7 zZ2u?Lh)y>4K#RkSG4Ds7z~_zx_^B39r_{hf#_(%~XkXn=;e>aVJd4VwD#$rEk&yvC zBif&Y@@(mKQ~1=52aKiGEVszK?D1X}ewHP7<|qQ(-iR)bjB&p(~b_>&xf)$47fcshtz&8^r;eVEIhpQ+GR$$k_Y2#fT=5 zxY3$!HTve4%oEmnF09v|G-u!ryT@>K1oLg9IH~V{EnXxDNTK#-i;Q}l>nem#q7AIU zYo>M8u@ALaWA-+KepV-=qFo!4ZASe3@_v`RPn3Xu*qQS9?0gOmIlT@QVCcG|mucU} zY>73~R~`H0$D359Oz_i~m{^c$gg|d?tTEWzWlhng3$E3eeVlj9V2uWk{pcq?m@opU zI%-Az1mFy|Y(IA^O$ZW@0eCQ%fWvSG^wtI!>uKTf>;+R9KBRYUKJBsK_1Agsmzv72 z8tmg)<5R~XS#Ald3Tn3Z)QQ(r2vy4e;);lT!Q8MgAvSyUsH(cUUT!RGW}K|#VH9DG z0ID6CE5}Fm4C2+1wC1`>Ed0G9@Tkvxu60Ed&eyk)Ld3fj_7T(t6oNbnH<<8D`9Aq> zc}^FH%qLu{je{FPe#PlbfuR~5LFvnh)Q%WSO9=;ypooPKGz~NzX#GksW0#_CZ91m5 zBn(%z3M5EYY=3F$Iz*4}!RWAlR!c6JNBHVFy@J| zN9#%`L$Hs%QU@Ep{Tx_sw5XFCP&wUyTMU`zIaVtE>62&-#Z$>BcKU+w4CS{ti|v z%SYQw6-tpd5pN|+6d1>fH>V1K&1-5NRv zc|v}4^e}^c1Kq)m(N|mh9rgG;XgA}MVXO0QcXWaKJ=rzS@E2!{fAOu1;*ll|Y1#QE zildx}=T5|`=$)DwD&$UF{Ce*puZsc+6m!FCwak^pC5xwq7gEE#qR$Y~=xpd6_MqK1 zU+lJ@(#{?28+YM=sM%Ex9kN)0+6A zA+oySTtgW}?s<<4t`&H2t>^Y8JZFjdIn<8qjdppKJJajT6H+rIt1u{WxzCE_+`Ya@ zC@bJPEc}D*V*hDlK`58JJt8N5gbRU02|>&E zKGfM0Z<)T|lOv?7UGT8_zqXrGb4D3jdx2Pp!w|NfEX1$?9$|t-_V&O`-YA@pI$RnvwgH8gvW5N||w?cEgBZKJj_^yS9cbZ97 zOMpW5!cW8iwsQ?o-{8Nq3;GGtpuXV*q)CuAo5^qxtL%Wa-;z(IiIVCY;N4##(>JOZ zxv9tesH6D9SLlD=gDTMwQeKmQ5^-#(WnFD{^NiQHfTSS?Z^i!R3QM)~VX;rL-#WtV_h zp?{t9pH(H;((R3wYOVFF_lQkEa zo1(p%N-4v^y3p{bLns9n^*j69j|m+&)S33`T_+?>OH34_(VBYxN|f?@q*mwh?6%zppT= zI;U?&q&Af+S7_S;vM0BvKOJTN<}yqwCuS_JOYG5=b$(wiN8Mb7FIq zPHskwm$!uq*XG*&@MhUnMtjYFz*{t(%^F@Y;pUcu5%ykGk;I8>>+q0v%O9hOlmHY1 zvSP3>s9m{TLDe+w9$9hf#;zjIpvK&0o=au^jhZgy6T>E+R@0G)*jB+0K&3AI3^UyH zM1bqnFyZDV(6VevjUNNzA_z~3oQj>YRod<#`76oKR@^S9v`Ro>)!4vLVOXVw4l194 z;y+r%ZP0DM_-~*d5v<;^62e%?4PXGKvnfMscr`rX-#n$Gp8_gxUeF6{xC)5>0hoE4U%pP zmqJ}E>WlR-?A32KC79+CzDpE-{bw z73vI%Txp#u&nU#nX?$H_658;uBG3=|uaUv4JJR@)(V!^tJVGHIm!MR$g)>Y|$S*4n ziRyCl;B1a}tydqJQ{XtZ;kDb?A!51RZ_ZCB!H)~TAVe9W^k8yJ&{NUJgsJ|QcR zSOXM;JZzSbaG9W*?-?H37D_yA!#Ip+g3sCI+>qnxr)%^MVV`O2=B2)D14~{aI(rJQ z+b@CIltrk{+QTw$t&0GW@BD4{B?N>c_$)gVqQUUmGS$7pxNbFG#w^6qx%;%~U_|ZN z+tLBsT5QIA3(c?nPiII}faTi@mVSD3l|fb}@}8D${}Et;1y6y>MX{tQ%v-b-U9y~C zGm9V!iHqyFrSzP)8;&?N~udq`?e_(&-LuG#@57)Lz?@ZM_@dhbe0=KOOD#g z`PaL0U+HvP7dQuVXkhgtq;~L6gc8z*ow^{lE8-|hcnju)W&D6TC#+)ty_R{x$T>&=4F{uOKvI(MX>N<4D`IVgajQQ>;s;tD{R#|z`CZuRaC z3A;n}VCjs^U3E*-x@_FBUm1bP9`Rk`b1|~bw{va)O$(~2{XQ^LUOrh%6v5@gt1>)sm=prwa=CE! z_xc$N8Sno~p!Lv{;caalObeMkgX_j@ym#y~J;y%`+ortc<4GC9T?qe}ewwhWjNYR< zV^2-m-FX`ACxgm(g63(lN%q?;TeEY%SAn+uyf46$m;qocgzH(Z%!etI+w+0>J@2VVIQv3U&$&|jxI*(T zWLZM*+0Y$&{F(l1vj^rvGHXdCH#O*rAs_v&*CY=kIFQ6KBrMfRVK^dC~&aq`1OjI2+kC>IO z{;}WseYLKBN=P1fW0s2Ypot`DxJQvCQtH;7^*wZPzl$~+>9l}d8DL7J7A*26Y7;Qj zCM^O1bN_U`+I|azTv~p$gKzteI0^SC;dLBeCQm>SjATK-zP_EWS1a>wzp0Rrf7F&% zVN}DsOF{Z#J_$A~l%9&V4~phpsnD-GiC%Q?d$`(Nv7d6L8miJ(64jZYlf_00C~ixT zZxkoLuJ5m;t!bXGkV=vPkY~$()XcP4<%w^K{7#~A@8E6{P(p5~L zwn0wz-pZ*5KNd^N)^qfO_)82M3sz(NpVny&M|O6k`ps_kLn;REuG#loyqxPl5ow+l-T7gc=NcvqkB9d{sZ`MaCQ zW;l1db-TX#X*!}_*Ws)oHTdpkP-UcnQasz{#bT1)dDVxW=bb2xt*km6a}M4@w@~e@ zD#9{Q?-43IBkyL`G2!?x7WzYW$l=w3;!bGr<$)qBYceDbN~T>6P?c^gRJohR&vsQ; zj@N^vXsX&fB$T6Kns33D63s3}Z}H+}LGQ#bhJAnaSJb4C^Ds|coKRIU(uQfXVqK<= z$ND2{=)+8IAVDz{;xndj8q-Qs$Rqa#u$lbM;cg@c!1io$SMh3JD(P6*U6ajab9u%rLLxu9OLhUb$_K=P-1a93teSrNYFS0nq{HYOLaVv{3%pXvw!T0f32G=hpI11sZ)!esdB^(4H59R_C3cM+>Rn#S{K0?7pT`$|)IK-^~=e#41}c_9E{zC*Wo~4!7#Q_?#?X zvKGA77Qn|+C0`=lp>lGQy|<)I0A~{?sDje`bCTB4tm9fXst zG;6>1S*m0Fv#UKi?mx;G-=rb@Xp*$&Z}s{ogX96!gqYy=r&J&_Fh@4(tY^+=f&&+s z?*T3Ta=>AXMFgml-T+c1+Mp=Qh(?^|H_tEA1qgxI&l`$ab;h@i?@(-jzPAB%td!u- z18y@P+|qbLwopYHFC&sXWf7}Ido}scx#u_kUFUu|>LG2M5ZchdA5ht@2*sulzgnn6 zA4}>)oM-ws?gTXs;Fio*d;B8d2+SyEHaz^0-6pG10QV?rEkjKAP8zuIoW*i`jUumS za^g;C1!MpZdJ#MDJM}?DRUf~1;_g+Pf$ zhabmDA6HqdhoNvpw{9=7Hw#hFzm+ZXiwG5)Drrfk`+K@sx(B1o zlQNVqC%&U&7&xg9FBD3Tw>@M7{;{Oda82uwA#B=`9rVEywDamq#`nAPasbP}=euj4Z`;gPprHP>@U7x(DY z$KJs@tA`d{d^Q4V7x~A_fuYyFX4tvP1M#Fs3xQ5?d0u}6f#ZHfC#%+eC49q=+PI3I zzsZOzG6Yz+_A+Sp(`9Q^e6vlxn9JqVz1wT4kYs3&Yu3YbrJmWusb5>iGeukF@cd0LkA(q)?IGEB)}>=mhL>`Rq%Wj$^zZKqXG@6JF1Et>b>(&LOT z2cJC80#XAEgxA#~pVN#vM~~k%p4oEGziMg$eHR2;E#@jrUELF}LqtA1&Th}9|Doo| zU)2Am(KjOhoyDFYd=GrCj7}PvpF8#U-b_FGy zbVyO`&FV?!bclo{XSp~RT?vsf_PF`R!Se%)eu=E{@dK|#E4nV^UBxjcgC z#uryUC5BN)B_>4jACPUe#~|$btF|ONpw9%pD+B)-MXTov_vW|~WLQ>7{MW2tKi5Vv zQ}bre00W9Ijv4d1%@F>{CFI_I+3AZojwrEhhao~q|6Yg%ZeiKgyW2$9Z^&k`3}Izc zr#L8GXdrN_{9BOe?nmL~p}7%=4mtVg>XSOeLKURf(XEf9k&NNdrUC_AI&~@3y#_Dr zdB5FPRODcY6{uiLeBT(8Z&`A)gTvX&r|+4TNbHVF*52}L6N<$LE7P5}AZ4=V7uvG+ z{AKFzo!_ub5UOT-U-9@=aQ;L0sfiJ(EUxlF5$ia+Hjs!>1%s{y6EFoTWLCEWJQ$!w-ba zhEqOEA&1+gm}xmqmt1N{K^)e2`cdNajYIlvy|Ij`Y8tqzu)bDbEQ?+hVLw$+Te9|J z(t6T&tWg+EpHN*9j`3KK>HC_5wdO@DFM{)@sP9osA>>PN$ul8lhJZ~=hyW8jit>!w z9GQOL zC{DPMk%10!R%|K@RHE?qKZp=ywzJqR zs+g+IcXvtpsrazoql7@TraRn-9?`PN_x=S&bG2^+0w(7Nv+(eG`>ZU0fB=b3V*T$x zP(mIJ_CB6v;wqUv`z0A{(UB~q09i(Ba$>NBo%nJuGY*nKxa(kDh@!-vRx*lgiw4*t zvoK99&joPZb3FC~5#~Xg{m%pijhc$})>T<+75{Mw9$2k7y)1Fdk0tHnNPECEHm^vRa>znJs&s z?U0a7q3l$e_MT@RP8`ZQ+;L`{z31<~zklI%?|Z(Uug6RbPJ^)^L9ekbvn*DLwfj%_ z)}m(Ib++61x^B=mZp0Gqn965QWuh@n_5INqn*~|}R~s$(21|!7`)l1hw5uBjePz_t zPcr(FlXZVz=Ew`_c8@}!KH$rnmjQjs-a}{n72bTqR}<}b;&FdkxX>t=?$qsk`Gn@` z37xUiH-Z}^9EXj3_~^-=kflBG?&ax$C&x^7*<|z~C2Ez@VK4(Ki=X-ttU{X-KNU~u zvP7GqhhdB;CN7ix$OZPz=fu_Ca(D~hZh%-puNMCj8lq&luix18$k4WErj0KHbE=&* z-WfWlRd@w0$4gytW3=N%{RsQ}X@B?HK%&KKMCPr0%$dS(ZYZC*Ajf+|$!VC_wgwjG zq$!DCA(zB2_^N$oR?gsMofBW;jM|a(nI#EiZwma_J86Q3DpyT8Hc`ONF(4e+0LnB#TGg=V1Fskz4 z`K&%-q{gJ>Pm%m&4Ug{qFWC_`UgNKLK8L}1Pktk!lhV*b>&L@0e>QYJEOj1*)a8~f zz4e!6ZRbZ&jq^YD=etMXd`B;wnfvqaHN~&JC5GNy1L&Hk%BEHdy0Qyfs8u_BJ8Y?o zQ_`gG_SgMia?$RYP=7ha*GMizM1xzr_@CnFS}JwQ-Omd&QCmYRRWFv5LtnD-Z7}x4 zpmse#J(+->=PIf|k*HU&0Q7lUb?^J;ShCTM=se~<3^2#fIM(Y0r;PyHCPr$nEy#|( zly;P$h$_aP@d5nGuB-b7+t<_*k;~pe+${|#(gB7oR4;_(LZd|#)1UKI$0s579J zR*(RT=mK6Z$itA=@E3HRNhQBj1}`38&#Y zUm3rjNo51>aO{5ETsmsLB9_meO}`}dmEa~a9{tf1i-qfrNC&n;^v_Ko=JfBof7 zQTHZ|DCc^?i7NyGiqxoL^Y>?y2owarfZUF$v9esI?7zs9VwBN1XjuckDeiO+H+N%_ z&JNRkb6oszM4Z)E5z$?_c0@0F(WBaD8l)R`y3Qvz?q1bP%w<|ehjhD3k+8qr zk1dz@z3yQT|J+~!qizy=?{s86LNXk}L#f^pujIWOB(&*O6u|vnP~9?&NE207j=*&i z9=uj--(ZtMXu)RK?gxr-Kg3Wk+w}xy&CkaHX!}6BScV;Jl zna4Bzg;hC{))=q-hP|xp53+e=f6X7ysPI@9s|^f+l~<;ezau0(x_cQrc!k zE!GCEy9p?k>}+yEdakJJhGC?c`LA5CexNcOTPdDzu7WRbn|9;!(l#E)-fyi&o~iV5 ze7uQJQZ2m!1T;m_(mm7U%%QOui?nlcKoh!cb zS0Fa{Ow`EU*CKapB9>~jerq`YxL`nCo(Nve<3&B}KrWPvqLpb8Tk+He7v@09nv?RG z<`Z5Ej#Obj|8b9HG)&6fKtyfM z8irxk$9u;|yo8rBHzxHe?CZsf58{xwsO}+#>l2KWlv@vucr=0or*8K;dDmGDC}YIK z>JguXj^5mO&bzTeT|mYxge-2&tjk{RYmhf7f!BC(!MWCVs^e;){{#QTfnDy4x2GU> zw(D|-C6ve{k6m8W9pS&6nO-HBN_21u9hYD=diuVk%h>oe8O7wgpcK^j3`rDwDFi>1 z6!~fOQmBJRx6^P0`M90>Sha=w>~rV8s6L!nt;|46UW^F%g_nqAALB_pzJYTQ>AUkn%-C0rm+m zak8)qDcy#?%(_2}r>yu_V3^to z_1*t*fFq?qw{nWWp_m4?P*7v>nl+cCMq_oc-C!?|+v}2@H?y(R(X?S5$dHB75&HF5 zSl5y$c(|4LjW=#aV9o18SBCC+0b^HJRT9=hYBFJ?;j3z1Ov>+Vr-UU+bLe5F&(E#> z@^Zog+pG24iaKp0XDnPXA7ds-=DstlyXkn!sPTpH+iFY!Qicq#oXkL;2h&J5!q&08 zd%hl6ea2#x6H|U^OU+|l451VG*fS?VHPI>qYhp^e83kq6`f2GLn&2jITs8)hA#YV< zMaqvJtYz>1sefbP^c#jg*>cWWk{}7@F2V=(h=Y__XAklQXb0MRU)&i@R1Z#lpJX$9 zV7K(~6Ccr3&RDMO4u_a0tpFBDeSEhf54FxXuZ<6EAHDYkjmUW#iuEs-o)mzg4!U7x}~Qu zO!rHuUY>ehtC7Ec9hKk@oE&ewxH6@;eJi?VXGkT1NU}|xwQUT7qYyo0+uSfpHy+WS zyuAA{I}kpZR9uc=*4skw>SJYd{UK;>rN)p^g8*~n!m;hdG*irgPhu-IKLLc!2#W*n zIq;KS6Qp>Okkfu+`{Ysz^#{%SvBCXotLA`B>~-MJk6GVkRE~<6KU|TFYN=J^7!DW$ zH7GGDs+PXBpxcYHCBM|!+UYTg>6NIw939giwbaKO3{^#B?C9?PBsEb40d$cfyvzb^ zIczhD?=PX|zyz=O%a9j%O&AHFy4@zSpW4aodJ2FnNg;o>zTDwC?Z4)UhI5k->h8L5>euMM1ZttVz!&C zPCd$Ueo(Ww)=^r1mt{@@ib&OJ4#rE|_S8!xOvu%ya0U|wRPek2P;wN@?342lrxSJH zp0B_T42J(+O@;z|8z0qX75(?OVl(+R6k3iIj#=3(47-OD-m#kDi(Y+#b9FwhiMLmJ zI`iGJoJ1pay!XYkx;*JGhUGR{!O-UpB}MJ(&BMEycLxHXA+FNT8txqJ%;i4?L<~su zGvHPU{*%yQo>ynTN54aKb8g++>^l5jv?-VU1Y!Y{ecPOrW5=OWtsG@!{+sM%YSO5*DniN@V*gu9W1C^cJ^f?Ty6I~zg3s_S!(W_M%kN#vs*`* zHfyw~M=Lu_b9~7nOf!J;m)xY5OmsZ1t4z+0%sZrB>n08uh1dkoxLDSP4s<;S*i!6V45+s(Ddy2=#uAv<@MAhZ)VECC_TEy4){85 zfYr}s3XG3hY|D&+x7K%A!0OEY=%aG@{B)!Im#9;wyC+BqU?1fi)TmJ#;S4nsZisNq zY+3y<$(EBh_AmXGL>6W%v?VxlW0jL6#*Hb7B7X?jFW5>114GFKlVzF4)1+)7okhP! zuZNnhV-j@rawxWX z`%w~;@hZZ|)~tQR|5=;{GuOHntar3# zVq3+lUjc<=D&jp!AZ)UBM|E~p+Z`OyJRSdPBb1%~2?+J6oW>A0gV8qxmV*8V%gf2;1^&ULr+8GC$ z>2Or&Fj~&87WfI49k%U-f`?711b{ZDj9V=kQK#&l@u5tyaXghebdyt~gLUSl@Hnh? zKDptZiqLXHU9!R?nF&GED3zSIpR!kTF=K#9hMBZt*W`r%OvjWZy7BQnVGrk)2%%Fn zwVPm4r>k|lR{vv>o~h&Q{+vMX=4gofLRq8@%ccBoUbTG<(Yp2x{!mhniM#xxRAZE=r0^y332Vc;#KEqYsgT#&1fn;un>#Q5wY0`%Z$^Xg_ob`LXE*9> zSD#)%I2i@ctyUxvP4AT#)do)CUvx;-{7CmCoerC1BCFJvC2=cUh_pK+e#ep@G*^cM2;9h>27MeG);O7;knN%zj2iVS zPj^~amJwBn2@QqOhM0AGf|s!Q9KyIO=O#a z6z*Llu?pW-H=q|H1S($}h~Fyw4Ze=ASYyYHSGcp4;O{IyJ0rrU?i$TdJrVMD55^yUhWksX!4*QW@HZBBkex z5<&dUs-9`PH$|O4r;-tT`m=nD6cFbpn{zbP?+HIf~i|mS6`Uz=>YVAu<3ccR!&nV?+-65(1X-J|dY7>&{CKCZa zmYUhRnq%esB8`z4AoY?Di%hjqU1i9X6pKP-ztsh_kI^FnqY3t53zV#0;D*c>ilSZ}2 z%PO*fu$LTnN)wA3#|-?8xE;X5!M8|Oh_qDL^)j?!d+UaD-f-K~dWK22vJFqJ8A2Q8 z6-Tmh#c1>G-6>3I(uTt5Z468-E8W_uKb5-l`u?#T{Wjuv(6*Fx7UQt zB9SU{?=iBpNgb?e?pv2@8JKE<)b@UF2lB{O7;TD@S*;FJsi69A zCENXtHqi%xjIh@^?cM_uR@N%jg17v<9R(T+r2gI4EWVrBaH-g8@rDJXq_wwQ`4c{a zar)2U&#%yDk|_aNwr#e>1xHL1Y-K5CiaXFrRDG!t*%K8?Vcx{ z#>uY_^9FI_PNp*@S~sQ=TKrCERp6#8P-XvsBjyuy5&{~U8+aBl#=m>T0_asuC6aqR;U;EpZBTl?qGePK4+Hs9iCngy zfHpve=g=>BJ8pAF%O=%s8+_UMF@Shhh^H|l&ll2ro>bHEzgH>`4eoU2nBaA?JXS$7 z_i!)RSh9a{D>SV9_iw+`oRN2n@~~lUK5QcY=W%vZ5;%?ArvlV=v_2VuqoX!(FoW>qCT8X$!w#)fGh}PwX$Mvqu-CVAH7dN^Uonc)r-tEercl6jHPpqtVoLN!n z-j0^kgw3|OWG^&_9YHzdDe}9=0FgQDZRYuMJ0By^AsNnSE!nfHUMYB$<{pi90&=Qz z><|gsml{mU$#XKfDCckOi5{SRfw7}b)V3BribmR;0I?!RCtg{yUB5)gM_2CcGGi1uSy!(s;NeD>Wwm*%-U4<``f;ncTb%BuY%C zBZvzMAwO=QPXjiMDbfU3fbNkQFn%q;Bho1ZVCq6OEBnT90HuYzs8?9apV z`{(c}j{Hw-EfD{z6z*4;X71>?+6NM&`%~T>^NV)hzt{7}fALKi60u^w^Jaq2D`z1p zX{}9}I@tfyOipIXHKq5(1J#u3>GYryV_QG59CR=h)h=h-TL#J5^8b>_O?!4A4V-CJE`-4K|nGY5B(IQo$0>l_s&G zA?5~_ClNo&tF+>=xssmuFw%89QN=`T3GHv{EmO+}p@02b3Y(XAp18fpJ~3y%;CgC4 zJPD(2uUxs_bCtPW*#Om|eqSLCi#&Dx#1|N0nz#C$EtkF$`@|ICye(tS4${uVC(?sA zQhV3-f7&kF_J`P;J%Ju+G4l9VSX4#f$V4ijHR3AYO@PmPB@mw+3`!Z?dLpFtvH<2-_sN(>Nim`IUNFmKDO#=7TEnTH}1#EcDF=Xrx&ikR| z?q#{Rje8QM2lQX|mYcNK?HH5gXNKJ$2H-ptGRg%nY|9)Wd+{oKj?#G;--`j3hcc7A{f*&Mdp_+;6!08(e#i?Wxdxuwq)5CX@pzk*9HR2qC9*Lc(hm;7xs zz#6ghk5fEnXmRv$t@P&PzN6_(2E$_*=st+J0az9Wp!_Lm)>*B+^w(Z(9Gfsf zSyYe~7;iqF6=dLzl#7q9GUlvZmDIr%TvjaW!kAbNJjsP| z>jhO}l5;ltrXv0S=G&%pShpPOp(Ik$98CLV)&u+*eDA-s7wz0yuq*J=7nwD182-Zh zjhQh%AO7VsxeHxp>dJ4`pi;`@*4Bf_n0D0>5Kx$L`-)bmh<28ecMR-LdTI7F&^>?0 zlyIeWZote>L=x1e3{?Ei96Tv!Btqppj;bj-@i5zC7t|AVt~TeC&N@z!R?6b8WY}wD zzqV{@r+%@!6dq^X{UAlq+QM9f{fvfaj5trMS&c>T`r$LlpXFAcUl{;?7Qy8OQK>D} z)Lh|(*IdofWb2j+p$&xuNkrey+KAhXuH>kl5}d=7#tXrsYW*R-!XLLJ)Bd_QiRn}E z?)!ToU#uW#qwzMmz52h1ouGUIV_i2R3R(z^pVFdAE-YCB=2~@Z>HUF+KoxX_MNRd~ zEYv#oKcT!E6PHuUd8CJy8%q)*VzDkD6!dTLp_o@?$R{@(b>n+s24IZd;wN;AXIFHZ zYso8TscY%FtMvrh&mv`F=fR}g29Q%N?vuT#R~2wqzjq*PX@iz%sK9|pj5hb_o7Xi9 z{~pu(h;NvBW_U5q$xML=&(rTOgOhDS9k@qQ6M8u|b~sxl9~sG5I(4+oM2^iHGK%v1 zE6ykBy}Q$=(i4D=SSp0(K`D-!K+82?Svyp5vhGBlizgU_j(Evn=R3ui!`lD427pL_ z5_HhCzfsKGv86Z#-kI~IPmkA95O^=NIP$OTGrKz$jN-m`&dab~p_XqfER53svJon1 z?eui{4UALUj$@OSQZ&+MWf$x0FP|;b_jNBDb2ag`DWATfK0ZD!w+Ini;$CjJ)Ge=? z(uKAaV6;t=3`@Hl{bl9hbHRg=-~PAO0t~RnK`*=#n`sUc_UR~)fhFBTnEd4i>P^x% z9dV-ksyL=X{Fl0PdN*+D&WUMHz(a5MVu#qcZ3OrPJZ(tO-)ud!pO*qAZN0Z&845lf z|EJ@+lWp)m6EqMTSc*OHg zCuwYnRnT~{SyG1PjaPcxUx_e(_HE(pK})IZhTQLChTkjbsxHI)fj4LW8J1J~GW?h+ z@Ugb4_g*}Dq=bkVM;x?G?vJY*UZULLr2$wo8@$AoV58kvdP;b4%Az!Dbj=^=+jnJD zcyI&60P0^+uy$7e6h{9&(F2-AutQn&zF(Z zklYPJz2oB#Z?AWzhm1#-^RlQiET3%sb72Of&J?ZVE^iB|hv}Q7hs|&n0I|F%PZgTPd7wM4rH8)2MNVPxquIRp z(Wl9GyTlhPR;g=b61f2LhOi( zC>A%-r|ZRjFH>TdE7YX9xSuUUW>T_Wj*k$z^v5uhEVm@syVd=%6oq>L?)fXg@p1W6 z(bF)4fyW|>YAv6fcE-D}Lb#7!m6H`zs1D2XPkWnIF>-tsIIkDBVsF6z52cC#B6Q$g zV2qk=R?pKVgwEHtf~=!nv>KNuFuy*Ox@L2un+9&n2E$Jl_KNRb=4kxTAKkj@czm0> znK(IK!IxMA|Ka66zUaPjcg$Xa{lcO+2m0jEA7`k=FRQc*rdIW}c7@zS0%J;+afU`k z8#G8gdCP%Yt6y@co2%;ASvy=wSuOd=3Gv1ZNWpyN84%D0lLvsnm1F{l$cv(=ekKMF zpPh}6IPelHm+3HHubjw!33OfH@+jGbt(8W-!iCW)gV;Aw3Wjr z+j!bg2f@Ge%NDmn;@WZM^PRFEzU++i%{9oF!jD`9NLJT)zD zq^SJdX7*&3;cE&mD#x6}93k60siF?nbThcPx?h&Q%FBn1k&Bw+IC$SJv0dJekw2Bv zJRHT6QnUkjZ}8$^BnMlfwJ6B7uZwLNR@ z-D3!QkR|}xb@uFo^Inp;@rI-4l2p!B9tSPMSIHP%eOpazSUIBRx7YiExRRq11;vS2 zojosU&C^>uV#``JT@OZ|h1juv-dZ(hx3Ci*nUS zre=Zk&{-Gbb2+GP9NYvr@|>GiT^hWKAt#y2cQJk~hd-hX99K4$?^=bCe%oTFKf*eg z3tyP_s}c3)oa+LvC0H^rTBM($Q}rzgLefm9@#HYEXh?U~I;U@55)}VD{39jzFVahc zu-Bu2eecv@sHACSS~TjYsxnygi_J=zsw6cNX!Q^7j$h*i&TQ2gM*PEPc*YYW)u;{+ zF*SN>``^ixd#vgRj}o*r3n?~rLUOCB^Vyp~Rz_C%?RAh0(}%T$mh` zL-L#PmV{Z6h80zy{I)l0=f7<9hKe@{s^aI~N3zbOzep|B)G5z&wMFZZ&y!va2O@sK zsFdRGeh5_;N%a?d$?zun^115|9|5f0yk`1s&ze>E$r~oZ0K{6yW=p`gfGne_cARzh zWAv0n`s5ljzLIE;7`z%lGB}SU9XYc|rq_u%=V$gABEYAohw!%R__Rk_Q zoRcx-1ROKy$cj3FKiS&5fnpcr_YN+I>r@5}8Re6~YLi0rv)XDwGp+Cm(e^**b;_@G*y)pgHTC<;*?Q=@M>_Jp8oc{qi%nYATTkzUUO(LI zF(jE=!XF)qY;%=T{;u{PV(osjtJ=y&(9l6qGs@`r_>te|OCwmNYCwuszlKVB;qJ-Z zIM2w3{2@l4r8(co<+z#OE86l_qRBcz#bxxstJ7fvfuc4VP;>$HjZ zt3pRAB{`ICT6yNo4ByeZGUflbqxBz)Lf$w!eHB!aM*90ISaygfa_hh3`q3y{;V%u` zX6h$dYc=VkIs@;ySg&`OfMMRy_8*9h*?sk-$@zzeX_jZ=-mE=sdJW9SC7RcpDP8iX z(phY&nJs-PR0X0*N*Eaj-}pf$opUP0xd4io{qBpzBhKcb>!YS(dQ#+#pUm6*v_dqi5JrPO)XD(eU*P~u{i4RtqZJ4 z=E9<8nUSwnW7D3=?Pmh=L)mZFhtuVGy~w|_N}-#^DuKa^jHkSSDpcsnY7PIv_~;J_;CB?EPnO0*9So(d|miS^bf89s<(CZ+P{ z)++o-B(q7Wm!I%h?o;RYlu7~_x=+o1xv4q6XiD7E7Wera;{8^!=VMenHT9^4=xrc? zAEK?97ch)Dod2xUr`J+&fh7(V^v7+fZ#jEY;<`|MF|K2HMUgeIHuU^dzkt&HCkbWy}a? zD-mc^thy}6wPiR$m$}XV`thlIzS%(dnZAJJV#^}-ZZgS+ou4sgenzm8rBMjl(cixD zxh2pg*Y{c#0(K0|QGFWW3!$4Gu-56#jqsi;$Eum)^*+PJhbiT4b1|rO3LLkY;J9k6 zbKB5?C$X+r`jXqnp)7yt{N_w$yUx*sRIkolxjCohERyr^{AJ@_d60unUoU5N*yns9 zz8_3eZyi7>+V>`zKlIQmWwd0U>+R8wV`P?OvwI9Pt`;1tLvkX<->Fgif;0MW7D8Ht z5bCX~F^@Cfn_XxIw-xqUJK`jRdg7QEe?=`j*QNE)CxhD+YFz8SlU^pnuf)^VYnp}l zhp1|}rS8~O3Nj%UljT+@eM2Xkt~ze2j^T^|7^vBK2uO{0ZJ31yZ7oHgr{dl5VF%0? zPQha*h_dF@v)0z;6C^ln1INKKH7jyP-L!K?JN%4`YL;}~_|XINKy8+(LW?7jcemNB zVCXqv&46dkNG%{|LC0zV$(La-`>(Ojn{&~zf_KOM;S!D9(?))R?sr zS&x`2=)k+0j|~AeD}s8#g@c+=ZX1KEvqmAEF`iva9!npELqQ2z(EoD0WaPLxL{2Xg z{9?>S?{+4~P`)OPHDG=kVY$}UW$76Nv5v6b+4`U9VZC8>om|q$?0L--J$-po8r*R+ z83!697Zf4p*`^F+^POxNWsi`VUbVWLnG4Hq6uj>*bXi|%2di$Um=|((w@0A9;L+KD z@tWSzXo=jb4cyRDP0zQ}8<%|CnpSx@|0u@SKjDjPoVe)A-w8Qr3CnbB5LT2yBCC(6 zrx#?5dt2p=1@V|!(p}7wdMY+7;`Q=eh(Kr{Q(4nnX705B^z?szU-G|T2Ow0#U2>m( zjkcIwxoF;gn&M8|#9I#9D!dA8F`?K2t|$f8#S**jTb-r)-mz__>YPMY_nD_c$-UC` zu|-1rkf+l*uM9FeN%|EWKMax=={B8VN4@qnnLGMlM%2R~6++JD_fn}(9}?Mf|1c@; zYtDWQrWp?9PzD@-o2qtC2R@U%UlV-B^j=-{NStI@?K@NO`;#f$sUW`_#b%|HSQB&W zM@MJOxuR0Jk`=B`^KmQI`qZ@ly`)O7$uj+1=YG7lL;{2-iMi2J1aNQeVr%+u`}CQ| z(_>43I6=_VV~J2NoDm>8YSD>|KbvpYTzM+tl$*Ks{`gDLbn3&|G+CEyXYw`S-Nt-M zHxFL!+ZfDXNuT>HP+kKVdM{?BPGtuXhTo+Yq?CWn{3W^G| zy(YEkG)v7#UNT{Sn6g?Up!T-?tI$q$t7a-Pg8=~jLY+!9lYa0kqzv-T9RPyjj`ctv0`8)0+Ryy7nb(HT z-&dq0hh57fXx z>fS`O`O-j?W{0(-D(zI-+i$<*zFXz=m@`EPx%aDLU;ljRBRo=t-&J($|F19Sw735I z_L$;bnLDPrOg`OYZL9HD=M7A3ou|ilportTbHTEa;4N0|?%4|+wR>O`hUYY)zT-;x zotZ$D_<$^FCTZs0KXYc?zPzI3gf@{|u9uE<(N1FWEaG;GugoWTrA*Jxjy>n*PLC!BC%-w&t0=gbOFubzNkILQwb<^uw1 z^B=!@27QRNpH&ja3VmP=;BhPewbz&zvc(dohKW}h?eM8^%v|o)Ermv&B|K~y*uzmK zh`DhjHmj1Jinn1o|PE| z1=(5tF&wY7HR~_`<;P(zmlu|LdZVQ*aiOVWh+KjA?U+e@5|!z;5oY%&$_IPsJY(({ zQ!-X?wHo|be!fIje@W-yiEA1aQF8*MeyMNY1n>;eT4PXw8xhS03ipp?#BK4I2}c{`MNJd!I%FT+*rgeR17@IUl2PC zV30iX6Jj`T3L9jh-uxn$Wd$}6MiPvhZAa6WyXd)B9P!)jNZRyuJ`D}%NXfb*_ItMyS)p5mUysgFn ziuwu!hx-u{)x;DnPo33UdRlh10vfD$#V9`sVvTDsDi9((Mn(=}rj@~#8D3rd{=phu z`!1~~vGsQdksM@f-opUZ9!SQ2#}euBWroQ+fUTU-mr{-|uEyzYHLv?=-u-Cdodt9#rll~}#xCuK&nv@30N5_ZdI)d($XpQOuo8t)hHv+@uK z*)76HXPzJdSwjI@0S5uT>chaAg-Dt8-ejk(8ib7!ytx|iq%)PsUenE;wphN&4-?yJVO{@|eahhyOFZpYEVMamdV>5SYURK=uXy0L67+5?Q zqGCCJU`4|sViBBewXuo6i(=}cuED}6sC!vU(3QEned!!{ZS8%DGPko=wbJFr3vJB( zyyE(szD+fS9fmU^kNb3ULcjG<{BROsG$^j0w?*uMPhOt|uCae*$>KO>)klzI#sfZX zqGPPNeOYOAEz1l4^>rFYz2DMJYjdaBx!&`*%)SNuteH*hIMXdC<3FUX6tj!hTv?B_ zY5l-^U(T@=105@TXqg}BRYu(aY?aHlw*$Wknhq~6U2=_*D8e~BmNOTBpjpxnnuXTq zNW~T7vv+cQc$XA&%~p~JAp>U;Ft;3eizR7=h?>d19gy;ra4xqf;2v<4?2-Q&46J`O zGbbtBlODDy?Ft7cg%*H9xk;T3GiCcNTAf{0(pPG+Oa6*Me8f*&l5`vwbh420OOb}F zvQG+WVncqM?K$`#tq&ByPp2b9fUM<+H9C@pPP(IS6|h8`BdkVM`qGt$;;{E+=TSC& z6QfdoIHWF&ELv%3&zImPedceFA!?5lVZ|H4UXcRd@BumI3eKkf31-qM{wL;nl}KQp z0hJE4eWTF^F<*ZJqk3?Y)2XS4j@MhT@jeG3@nF7BSI?fE`&kg~rnt~lURjkYZO_~K zehf{~rHn4j1uZIYW+;1SDzt!-+ESAcbDar!p<`_k-)UQG_vz|%Kip*=d11^D-%On} zHqhdx_Dh3-FOe8Oz!@(drcZTKsdte;1Eq^wjG znYWly^5i`Hw^X(+zpS6&o1ZuddQ0iC19MT-eK)c(oS z8`8!IrCPiGK;a3vR-ftU2h_sS(W3v?P)bw6j~r3z%x{e!017vzdspLWW!&E9!EaBT z{~n0-*-N-zER!kuOjq%ap?ac#Y~W)tC2aW>c@f!eFSj>-Q)=>4H<8Eb1tUt~iGy{I z?h?Ga-rnw$KqsvYR1OD4ZfK{C^dtrhrec2wWrkmo#V=D@)m`3*zkfzu*2P4On|0fH z$nKpxkZVw63<+)>_E(xTyk+}}#NhmgBKV8$qHogSXu(4Vzbiyk<_LStTBWtlRsnU( zV3ZX)P#T*W34(m)E9kcF(#VVIwp4FeYqMxkaKK13Zh950?bGnze^j6Zl0{!Hzf&(% zcROtG-gY1#Ox-U?YWkf|q*^EqjV-%s{DUgtLM^_F-^WHUYAsSsu}z$l;f z+z2qTtgho(o}2PEUv^oYCewX539uBIGOOLkXZ1R1-yhp3`d}e_txi;5) zwvVrMZ0TnJPA2$-4)}`h)fMzw70%u$(N3r=61w1m+rrKw&m7Cw^HD+aRG2D4`(D!Ku zl)X9fX2Z>)^&#@?%Xb;43yN_Za;CBhU$lqxXVlb_L)ZfPUmc` zoYZtzNmSIKG@jBhkkdo-5Qsc=zK2Fb!y7kUTKkR~+pj~~V%B1T@ioz=`01M5q*w0 z$_cx-oe;R%`*tAMGTC+~M6!3)7OuJHw^f-yn9K+XWNVODy_r${8owu=zx7Uv0*?1K2iuVIs9ku3u=D1N zR1lXK)x@7epW-OzXUlSYMdXn9o@ddyj)wphoWz;<0g zp5^QShHUp0zT3-oPGItsIf#D&^@UiA18e_d8a!_^08yg4P8{Z=>QzwoOJc-P^xL@a z+anKXzeW@#N#vA-Tkxlu>2Cw2B(A7q`}n zTp@ek+JG~Qjjc^9BW;;J6V@(q6`PIf2X18l7L#uqY>eVL;ubKvU=;=Cc2B;TS~lX~8?X$21hYbsf7C2u(?_^2 z!94`eCNrss0+hk{S)T9-Dj_lR!P7r7v7JkuQ9t5KuXO|0PZ{+Mh)_)>Xm-hZio71$ z!^*4pEYkUa8RR?kj)d{FN8t8LCli}!?w@a~9w@7A#gUVg+2$LMZxWV#(x7!J&|#!n zLvmo=pTO+&b_SazUWl@qL=7KtpmF_=2Tn3tFRC1fEf4O898!Qwh#{Ua_qtKHQJQXp z(I@+$7}Czt>f_^An8{ck9>{w|%qx#D!<}p#AH*MKJ{rReMvqXCU&lFKl=S+qEf<)G zd(6+E8??)<46#(!1r|03^&lNv+H1i^VgS!#PF(p7CGdyo2dj1WH(!pRwo&Hu zt$f$g^KbdnEgN?{W?D8VxfYTEd)YM?tGpXih|^Sj0^$ntomHD_k6m^{By@F@t@kQw z>gZwyc0ROUAy23XC9JwDp?~A`+=HSVJzB1ft~6Rpn?pZ5SPb9 zCooP)%<-|L(D0zf7zu3Dku-_;A?m-WXuArB+!La%(`@!p@vmhj)_#??amJLCCmU4^ z8@er5)ronV*W<6;0gozrD)V&D?3^>Z7BhnmG_3YJ$xmQ@Wd92t759^Wlr)iZQt-@= z7D;5C@g)aIhPPb@qEw`_9=BQ#$uKf^?O@X)J)RK!r)@w-CF~@> zjjP=0+_m$3#pn278z9!nb*qi{Zh!OP4{zsQ{IcyIAI?YoQJaWCd+})migA9I8wpc! zv&<7=cnr+>VzP;Eyey{~uf%T@14x)B#s5A&>8rHV=b}gS#=KmpIalp9J!Q^DFy73Y zj`!V(Q#K%unzNi_8A4E>fZ;g@)8~;Vlg5ZoacUULPr71H;qQPkvUj9k@zZ2hoXZ^L z4Ys?_xuul2=*#hFg$dlOQ$TH`0swyvFn@yQ7j+K^l9YTb15s-eM6&7hR{(p7TIFF| zd>Fs4&;wq-JC3`|7NAQ&{3QHKIO0c_i}}YG(Za@0eB#dS1+RMT_665{!*;)`uidVC z^qK7;*M8mh{jYlc_P4j)rv5FqhaC7wca!eF9+lR3FUN;}y8TE5eZK4{clhsl-}|?( zd(L-mS3UA^+f|P_z1{!nCvH!A=Cijy{qsLJ`#kAK^7nHwkt3!_S6^u z$e{qZar}~B#$Ceg((#d#EcgGeP-AA7iJLS|j!TY1TWEIv!masCd>;F2u3(vF3*vU* zkxyxtAc}zCqc(QYi+s=Hf#aN6b)3rNp9_$Q)|AbH&^JL@sYss`F>m9Ei2_aNb$)e_ z$J53YfOok{Z+HJHQ~Fd@vK-cTGLXKJ&v1F7Sw9~Wq^)rR#MntN=wpAP0C>*!vRk|W zh=9|968|zbLk~{t*c!}c-S;%TtGu3UMw(;biM2zYkHzj%EKqVj3j4OIUeyVl2lgG> znk1a}VAF5^?gzFfU3~6#|3{zRu6pcs+oxW0?e?T+fBW{E?|mO7*y@KBKAVl-BY*$h z@OR(iFYD>wiN9;R<1Tq#f7hYVxJ&;Qy?u;Gcuj`MFj|GLU=5Zew7|ZMzcbMJ7zLu^>p394B))_44`VqG1HF#( z`Ra2|G|P3``zJui>EOPYyn4QeJ+y{@r3Jvtw$G3q0N%wsDSn+pjzCVyBVt=7I*HXB zuRZRa!_Minds<^-kyZ3KApd|~^BQJ%xnb9nLLuW;7^LLZAS zcj391B)b(V6^xe`BJtDs0CBPzz0OkH$iG1qN>|1oE_YoGD0+x!3E4~-}MT>Yza+LB&tUlBwyYq-8forYl1$+U}n zn)5xL0zMz!@4EoJ(_rVgk9D1V?k+YtjQFY_cK1IAT>Qbgb)fmHzx~_odU*sOF9GVG zQ}6L;g-rMv`=$hp_-^2FJLE%G>a4NxNZcOcZ``PA{_!^PBgaH8EHbC~zoWazq<+bB zMw>5!XYNHI5cv``l;2Wb%3sEV*TMZi6_db6R!U>31dBTJ>NwFRZyzIklb`Znbd}Ma zEi#+4vEXqsF%ADppz~HaC*iX&fll;ouELHk#}}je+fQ)9%Lz#Z1PTCo(NT8*Zg|f2 zqqq7y0OJKMj|Dhjc>wc^yl+baN?=4_?=%a}6KxCh#%p7|HC=du)}ia-KGVlIB@~QL z{&})wIrT0M^J8Ntf2x-QD&*P`ys`B@*+ZZ{`276#`#-QI)yao%-irwq5l_kJzsI=a10#{SNS;Fa65xpB)N~ue!|V*_BWwCxalbRN|mnJRN{J&HVEzol4U zfGu$@vD|Kp%}Fni*?wy`8Qx#7JJL^b_*#fHD7>u*Ykz>~FAv4!^*`+I0Gz*=NqLA< z2_F06NU_ZECAKd&LhXg;;Ojc(xLj#cCz5-K$==3IYl4mCO{p9O$F@)UbBygn{w#h( z4uC%I7d&Kee+8ybn^PC`>N^0VqNWr{woEc`#LN7l6m91RjZHq}fnI1b$(jDtmvXDl zqStv0=MG;FJOjyf8}bAJFs;ZJ`oWfh1GSfBklqJPJ6#=b!od?S-#;-FDmU zAKm`?!yn$>|G_`ne&%oo|6MPA#rF8aUD{_q=JfWUM?QYL-y@%}UG*q?e?YeBrZkPKE-n%=cvg5n4HdUw(Om!d2W&poMQs)GeNBXqK~1^(aG(= zvCb&cajm3W=$8WEfBm7CmUjSpGMBKN@WJb7nDG#JyqCEZ9CJM#iKRs__!J6RU)0Ihuw`6+?e z07byNe*3-K6TanJxBGqB6Eun6?~tIcz3{y4t#AL8?WJ$NbvyIS=WJi_xPP^M%EJ!{ z|B#gBu3YFW=}YoIB>FGE&J(^Lzg!9cF9H;wAnzMob)c8R;i^Ls@xTN8k7vGN`{wWb zp6!)C^)uVW7yR({*-!XdD;N&&1yA~>?FU}@+U?_a_+yC^d{0h|Gh=2z;cXCf z(l^`JEq?$(C}nj8TTVihRRhMa@Ki@4xYdw$9W1={g4szd{R)l&zC%qgm#|}Z-WiR8|x(UcL{qKIs%eQ|dFWX5%KP2XV_?1uI9`?kq z-5&htYqwMS7QT-uAo*YCZ8_3d90`<$0rXNpTxahfJmRai`#rB5$ISTW-*!m9hH}ZO$eqB=M8*tD3ZU?TD;O!sE$#q$Hm4CwZ1P+_h zzADe=59ch#EveUeSkLK6&wvvj`kZxI_<1<~#b5u`_OE~N#d87BLE>ljC+fea?Z?gbjWHxPB~7ToA!;GWn$8 zvA}g31@D!&jH3W}3H>pkyaV?OyeGB@2nbLuP_KL!S0E6uv3F{l@S5A*{J+W5_0?QmG=p9&Sd`H{?2!9 zkNK7xxBFdV?*afM2}klqqQ{-TfbIqi2_Nw2mh2~f0Ez+VJK#R+@n5rj$BSONedP9! zhTpNH(&s_v!spYIOZETCp(emCkJg55fL+@6cTPqdU0#>Px*(fYWsOygKW z;gO^)G!#EGo|29hL(91G!-mAEZqRufG;-8pf$Z%!ZHceG&iYdi$8jr2>@jY}eSs_z z;^tiWU7p)$e4b-NkI)!o9&uSN$G-z`!4kK^de>hKV!YEH`2GQSug9G}8)0}>921Yp zB;#sjMBu!Uz~Q*-S?FCy_a$T@fx11Ze}G|OVSng2i)|uW5PEJEN1X8Pi`w6Gl#_G; zlM#I?07R}l0(go33@`&10uGXOyo^>Z`g?~&)M*kI!3lVM*I+N0``92y+ghx&@kLJF z4HaINu>?>mW+1Nz(jIVoJM74LWW9A)!{yzZ^Ml6)%X|gx${#+ezMPwne(Yo0o8R_J z+n4;CXB-NE(~*F$(k*)&eS5#(!6R`;As{e}7d#gRmgud(I8zIN!}!Cl`-VdS@Z#5Z-BM~z_C#0;}mm`vM*PTFP5pykmPWB`IM?5WZGR_CR<1tocI-YHiw(H2; zg0|U+c}sA7*q*fTEAvT0(ivdR*mo}g?9TlGnxu~x0H`pg@pQ_K6Icw)0>OC1FiMCt zK~<*9a+(-JKPI`#m=+=?0`x8i^0G~S#F+8r!dpA-fn4Zy8DvK!Z{=w=KsIO=c}-Ru zm$}rx1@M!%>LUPL%m^O!LcgbMkw!3*KmuCdHeZ8;w-F>j@4?Oj5%Ekxut5a75%0mW zjcZ$N_F$~GLzitiCw&Gs3#1KCw0y)oSs;YIWZe^@n_j}Y6wtxKC zYqxLy_V3=_^*it1K7QvNwiY~B8PN_L&JE0Qm4h`bx>;V(`T0ZV+CmF| z{Mxef&DXTc^nTEEec=b4r>?(VtM#0MA0ZFAp^xUG*wbG^b(m~}T)k0H*-`*t2jInr z0)RdPJZ{fdh+WKfLlklQsWpb@O%1;vwelx$Tx7h<_E?)ah52@H9#1X4r#<0|$L#vm z*W_Km>5)gdFevfg?FB?(02$XqmOa9Ne;oo3z6LU;F99mi^{ap)L}{?apJVDs+nUHR zpCo`fe}nB7FpV4dpu*R9JJ7-!+<$!NN4zM&l=^x7U+`bwHj0(-ga)pJ4lt3Ibc8Q^jr?v>BI20i3L#u2;NKhoK4 zgB`}hN0ZIT2)>lW8d;I7Bzz=N?`N}76r~C!LF)0Tg@T45$JNfb0+l+H4 zy9lm}?Kt57-k~`8(r>(e`|1Dt?b{vllR=yZ@=+rBU(O4kOG<(@fm^#IQL z>nFI>7i&f5lj8V27SQ=Q)01hOKfd-Q`IB8;M(Bn;=*M~Hx?wZ?cA2=&%6a2i<6z( zSZJq%F74~$%R2xUw$D8j06%=|tr<8xsPIJ|#XtlpT>J=N9!La_AQX7WGhFhSJPSIm zw*{=wPqr9e>SMY%QlKn62!3v->2@6+5R2c`&j87EcI2QN{h)_D)-#P^ZmaCrbt(3y zJchduwD0}E?`>au;d$GGuC_PrOG566neWPJdp;6&^r?LmCK}*eMtR9l3Xbcx`+eEt zw=a0YleZVV;wQG-ZofU|)8?_R3Hx8q3(QrHVXiIlRXI3sQhxrNa-Cn&B|7N*io_av zy&dwM&(E`z4Ls{;`bZCSCErRD^F{NQbCz-e@Nd1oTwcL*ze4Erw!)!+`}4p2%k7&E zh3KdI4glhiybxG!Xd*sItZKHwd|>g!jYi0`0r zJ(&kG21k;HU979eb8qK-z?ZuF4Sp0M>f`k}77#fy{a<&|LGL*lIm7Y1yAM8rQ@AT# zV8NpZs5lkmI2PQ2lXesmZSj(J#r5%Y6i^qY%c#Ef0wQr{6Srlo%fTXhQKKiP0n1ey zw~s5qJn>`X zm3Dc4f2GihfL$3(#{~iK4W#h+a``CGwcF=D?#bJC{m{#{4}at%zHSE7yqAQ&jM2H` zYceMvA?G!9XOKP4%X5rCE6@CY z?Kj`OUHy$u-TwX|`P&D4Ji$(H>rcQ59dGY1NuCM_-W3>M2xM7Y5KLgdN{}Mp(+@?< zrSE;g_VGLKqsoN;?VE<&0m|JOw?5mUspIkL2m&2=W{M_;aBQ4nm&J~=U)FC5P$Ze4{c9*!4Dn^ z08h?{Q!O^-U9ZG7#45zJjHx~L#tqI>`3tSABja6>;W0GhtI;A)m@SFVc$@9KS+inh zv03ofi@fB^mk?bB<)gScgzlihIP6OtkK6I0zhLirT`qWdH@V0t^Fj7CUG_7;!vyIT zK?6;M4oKcCh?9Oe4k!UFLF5QhJ&`)YB~$w1Uex|##KJ^l|l!& z0$Ekoan=q0IEqTMbF zsDz{W;3Sd(**`kuv}LY6i2w4h{`&UtulwfhQy(Qi_4Bv;OY$EQbx-g;>GyG!*YQV+ z3*CLdi-b&1g#&&aAbmed@$%_k`PJLA{{8pscMPIfyN6yfZf$QxbWYaZ`X7Snt3 zquc_zc%STg8?T9(^i!fNaXg9zkG;%O_%jZ}H}(H^(Yt9*cP70lr#Lw;U3yWRGtZKF5VzndX(_+wx5XW|M@o~K%{DfAXwt$eO z7nYCtMHOx5l>*>on1fEZQxhD$p$~m(XICwXPUIfWLq#Swqt%nf6fih6Z@n%_SNP7_WRzqJ?5Lg zWxKz8*rz01O050mJ0x4V>sA_0&MlGmgufI4jTUq$LU3Hb>DXSk>wX70pY>H=z5Q=5 zeDQYs$3A8+1IAqCoY?yJdBx9H+nn=!V}1!AGU;64bFD+YF3@hW3O(_2QpUMKyjfsZ zJMtWZ?>PU>ZXDwpjkzK^hqT>!oX+e^ovGK)J@7$KnIrV=XMq3pFaBct`a=Qmk9-FJ z@vFqefQ)|(g(u<{jZ@4F@K|YdEq`=b3Z8$WpK^nb;%^7g6#fMychs@Yr+7-(r4T8x zTVgsTY0zE|d6J7*PSq9pm~e}%#wW5*MY6x%l6UR|7!C%6F-Y)~^!aYq60w2yo4mM# z4|#47#=u8L7QvS7A0!j&}{*^ik3J5BZ*ce){DgmYNSLnFi+^ zVi}PbJWwr3cmV`Rq2mCWx=V8CG(qdZeOC|32zk!O{3@FRu7BwdIwipV*`IA^p8l-u zL64R@=YF^CKm~x@UEl9fPu#A0#N)P80@4N@Cw5NoW1`>3>Jz`(|)8ihGD49j_r;8YFgAOr_@F_l0f({zw2ad~@ zlZq^D2cE~P&P)@zz;oMb&{4bwj};{~$*K(GCCgV_FqDEMA1yx;K4g@f0eYfgx#Qe| ze>>cc=szFxt9MG+&Wthcm!#|9d?ahl`Y>vc8wS_PjVIt&+k>5KiylF*GU6D(ayQy$ zgPd-wR(GHadM#eCAyU;@?GZXER0dfJ{IUx0Y~wP3+&HR?$1Vzhqt1Ar{B3tV;kDA| zq>s&{EKc+qMnJ={Dzk5mAyGBy($@mYS+aC4@&uPzC zwYDApmbbT8ECTb>_uQ{N_;;SJpX+5_0ZQ_z2$c=h;@#rP9?D;E$($Fc;UXtJKvPh(}j`d))>8?(KLf-}oRQJ{SkOKH#A5x_R+ z9fGi-?s3=eZ2Vm)d{0+02UTb9Wxy7*TGj#~nn z+j<*!8x-#a01RNo1BkJhgeJNCEIuad3DD$9BDBfYNjgn$d-AS8wwWHaBWy`UfZM^g zgD1v)(LpDU!d$|}!4D!MY^!%Kz>7y8+|GAQI$%L)aXXX^$#O?r_~$W;0^rC+0dU_B z@1qmi65k|1Xz;LLK_|Wj4FnMb1T2$_-dNK%j?oz_R<*Q9T9na6_bmP&pT4?4{T*wO*Es-m;pgOQ^Qo_`tyh(!>yckXh29yx??>AMb??`G z;5OO*Q9S=q8jt3&smC(9$f2uNrP<))9P?`I^Eg`LA{PoamULG+G%nEP7QNfTU-fC; z$h-oElld~eUgx`Bp{2yix6@T7So*ploilzDFxkI^g|?H@k>#rDJ( zzO?-qT{Xua^cj=#&VRIP+wa)p+jqWynXhq&e%I$4|8`M(@u9D75AKfyj6NlM+!64E zUlKpl(-r-L|K~H?p(mW&esINAavPp?e&y@uw-+9CSljN&&zjr?*v;=C^mc!2@z6yP z@ahxZ-tN8kUj1Sv?FV05Tc23#?9ZI2Y42ifZQnr_5_Xj{0Bo`KOUcmW={ePbWS8}Z zZrACwI#1AaoZg)?e)Fr2!#BX2Y?8C=yyGHMabbhgP+#ephUR1Xe{j`R?a$wELVNhW zJ=WwaU&J!>D=dp^HHJA&iFNggx5`Ol1}s}}t2bI6KrYZe#`~S{i0_!6<*ZJ_SNlQ} z`h(B#y$`)imv|#LI8O4I9X%iB9O8uo`G|pU^;ckf(j5R!qUp{6;WP9x9S6M#hZC6A z6S($~>>)oF1dvOHyS|zJumcX$HuLh^m&OZwiw?}e`H60TWGCjy`ofO5(hr$zN7@XK zMYPFQ2C}tp;76~0d3*V3?`?PAqhDcbmdNykN07D@IVCG2yPKvweRwY7SDFG z{1Oc7IO}7X6Z<0}gv<;jpmiSTE+3p>`egxjWyt#D_B99N?zh(NyyK3x`?`bMPDqj| zG1vC)awYzA&)K7$eD>eAdlm^)6LHADVe?JxZSOm~Jse*QtiK#cz&bQRM}a`F=s$XK zh5!DKe_C`RNkR85x8BxXd+Hf&yWjcaqL0CF3mp$$v>*S>7qriwb8cIB!ez-EEU^tf zo!}8bW+#6F1jC94zl@dN_FKSmJ`P^aYc?$TRlsuG#7;{_EZfKIV?_wGft!Ho zs=+mqY{6Gs@XXld@HhutU5^ia{8Q~Q&-^oaQ$8nrPSTW6pSElJ#ohj@z2_qzx1?b6 zwza)V8F>bZt5Rd!V>WHcQC^Yy&uE%nZt0rTh4gMTw<2k0>MW{ zuZqGV83i24MgfqV=eja29PTpR)}V(2!#>cGe8^;3prJ8#q|X^T&?ehF(X-7(2FtBF z60X=FG^JAh=|ur>z&lQDciw%M1}cGmLPs#niL(55zK_*FV*Jx!2U_A&`5ep*Pwn_K zw>)M+iREJ)38L!van@sWn7hfABg>b0*_Z@qO9~vUm)Mga=}|~N_IdJJY-yWsy16}N zk5%mC;r{Xw*A$@{u1NgeDc%!3z4!Hupb6r8(tG( z-c#yp0+$!IIr77Ps{FdOQkEd=^7Jh6@kJ z(a0%0?(x{=Sxh!LVH5hGwHThpOlHS>ytm{F9?LguOUy;b-9F1tm>2tn^M~Tu9@9hf z*Ew0g=F6u}5TL9YvY8c~8U>`HXcp^R7rwJIip^$?KL5|}=3z=C*cDzlBWMOgK zW}}58)Gp&;eu7GytJG|R+vz@{c9n<4WIM}kvjk-40L*7PfBJxf+ukR>quqAro&Dyj z1s*=>k%Z_(mjDwddJ104aKKj_edq@Am(iynXnh2)L`Ok)SyD(m2-LtK_>nH))uu_{ z!d8MSXbo@0F1g!saxWqND0{yToSX@fhwRaU~$ z;zja@TsAhwAS25z?J^;stn=}+csMt|<4~P~KF>uLhjnxslh^S!p5|@ijvsW4I3L@` z>@!()Jj;Q;jdBwG)cyyxJx+LAyZN@;EVwX4FsXqd0%Sko=Ycl`6c0i~L%1qGjVGBk z=xYEQgIAr$M1GR{Km<4R%d`Hej6t{Bx0Jr{)^_5t_2}zz&5bvuQ#+^wh8x;vzjR)E*Vo+^mce4^G@Do6m zYrvlhwtoM%z^?mkYPa8UXC%0?U(*$^`&ie8*F@U1SDDUfc+cR^-45#%blB@@zZaPT zpfQ`EKki;--PLZ`9()+Dz95~w&$gAZWuW$C-zk`#gU|H$n*aLUi`!FPeQeut5$Cl4 z(D+qGlq)- z1$KXm&1BpK0tA?VFKJQ-iHoeykbj% zT^8`2 zTlYcj2h{Z*))VXG`!yGi!DGpf);xoqOOrjvviJzPd?%ofZ{r;K{P_P7_-`^K@Q;CM z0r181FKEB{s-xNtdoM2ZhNQm?YP_O&NbwCY#6*voHAYfQMLab+0gCe+Ur`ib+~pWg zin~sedEBPes?*~?*_w5A8X6_O_Bq0lE<)lx+%dd6{4FyvPaAkZMMB;?Zc=<~8 z@mTQ8gEG@$PMOB9jH(Xnk1`2wI+xLGJ88AGU&-=^vU?f6Mo|A-JaSp^= zVOi3h>8Sb=@W+H$jy=QYWIokf`K*sS0mk#-Cq1(rf7*NXE`WTisqQ)I&(?I=KIDDl zSNR4@=vG|wPDg7Q#Y(l8!R|5)`*mXPOwMqgZcU%@c-x@TR4|_D{H*}^&_Dlk`?Z4) zw*nx?o*@narg720@j2$gX^Ea|5LfORr2@!>8;Z!hFOYp?y%@LOkUdsd&WbkXK@F;`gcl`qJ0-k}&P zv0j1WeZ+9qZ?v!v$4{y4m1PbO5;V=V0YDJG&6X{^V_4J`mFZNi@wu-c)vad zVE?%v2OmF>){+Zc-*e!1ne)9-`*X-PL^2N9gKo1g@tK_EvSD}DQ_r8d{n-|b*Ezae z=1YDzKGSv2J@>S|-+EH}$u;`DkrcxO@=pRQaNHAEZLtpVZo(56Jd{K`hzyFgowgrW zmso9d$&RA4>dk%RC6k|Uk<;8xvu)HDw)5Bk&;vOx8~m7a%%K)4n8WDnunqX_9%^?0 zQbkj)=rvKBQPlv3Wd%Tjm`J=YP-tp@Yj}(;8SkIR&2z{OVZOA1l6-O|#%y8Kp`%{t zbDgje3u?SvV8r6g=2^iFXm7Xf>Vel%y_ z!;Wm*J=H$dD=-Pd+0srHv?H|8* zZoB8+d-8sA|JOBG26@lLzO*%Pd_Z~`lz4s5V9$aEa(u5FK)393OY*+Ac`xPyfN|a? zTUAc@Alc$P+|PTl(z_ly@AMo4Z}wS-ORv1LJ@e?-w_W;OVSiJfegQz=BjI>8#;zJC z72?sc#ZBj-_{Oo0c!gGYFcz`U^%)IfGs{w4kw`htB7SoL5W2|@$E!}nb)H-D%`neA zC$Ynzj-`A}c84wIg9<#)MSHtP^=~@&B4E{|0APV)tS(M9as*5+Wcnm4Ef%-n^9v8= zoC%%ln~ck!I))r+^Ws(KC=D-8mCu_(Z3;(*!%gM=SlR$Y(Tmhj*MuglHnx5^mzVgsZyfsSCXa`g#HJLFC|<1?{}H=7xQr~{F>qu7@C)E@BroFLzz z>K$!?4#;Afu&?*i6~5Dw{i4(4n2g$A4lFb9u5)qR?g<+YZ9DF@PCt7HqM-m7m4#F1 zc&<+LeFAo72Yt5y#&Goo*ycMA2Fq;HF*qKw;OM#ufMfpPLp2C|wma;MMb7U~c$F(- zCYSxfKH!Z(v>}^q0gvHUZEU}|_K^0m{;l;b{SE*nLkdh|K-hZF2wH1!kPdp4&gX`4q0#vxVRX3buDjdLzxfCD z*ZM3WulP*9CQQavS_8;jmZa+=gk^NK07x=zjPWx$xN`v*`ualQgP!u7_Tocc-LAjs zrip(Qe9cP%Fe@AtZ|zEN>%la-KJ)W}<)yudHJE&i>x z7;Ew(R?cN1X@(8U@&e}rg;^XA`zHFf2}&*@e{lTP9Aw92xAs}aN(I2MCP`m`1#Y`% z9sRnt%OXMdcLC}%d4ZuAAY8&*qQjj8Qz*tR#`IX^5KPCb(bW#22}h`m*@Vr>Obf>t zA2uv+!n}Cs>oMyLnyA=dAN*mm>YSF~w6LH>boEdt1 zTk*iUm~W6_b{T#sJc=yG8F)b>{VnZ|JMV1UKk-SL{GZOrl9T%kZwc0mg-W-Kwu}Qe zj4i|AML>e8W5x%43{J;$?M1-u?Lkl5tv%zV`?YIsxIz7F5NpHFXvCydm)I@xVGr3wfDOwVEymHW zc;hviT7Y0f#->-f75D+P- z)?fm<8Y~QEfrP)OE?|F*rv_gRg!$^H!b)Qyivz9dv3a>Z(CfPp(T82+ha{W&)jw6n zz#DV!Mab=U+|hRUf1YG7>mdQ|7Prc$iG4Rpwk4@1dTZAg22+CWH1w6gss}VvUi)Gp zj}3Iy9_!0^om-##BKbcxdpUE2Wn(+E#4R}A4@sxy(76l^T zMvrqQ+K?-IDcQ^TEJx%Ts7;v%x~4WwXj$%v+Zw1(y|_x}0d#I@*KOY1o^sfcZKu80 zE{{tV!}!i^j;9(YQ;bf@xxZXEkA098aXsr)9LYBbJ{_+(w+}XnoRxn0X8C9d)G>|w z$`?T6ZkO5bHZU*ji8&7Wl6>WT_p#!~i^>gcyH9`RtL?X5@#?nIUTf!f037PA?0&}} ziU5aIu>pFYjrH5#7^kF{p7#&HHjMfPXRvN^sOu3&7%gp#x;RM&

?niA@e~W-dZ9 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

JzOZ$ z)w(BiqCx<(2nb<{!(D(dDwJ`ew_<{hkcmQ~&kmE= zeCuuPO@I55_TM%f(sq)M1+A4^`}v&!O8!`611z#HHURvLD}2*pV6jlS09XNhV=)fA zc1#-p8^XqEV>q3_Xp{C?h8{g(na+CRYCr6(8#YeDjC1{~A`mg(2w5)Z(+Sj}+aT?J z40}8vt)3+NB4gH0_Aj$lbge5%y4bx0*e0CBl}5%mv5*~pwa0$x>q@xs{RqYrUj
    44`T^GUdbk3)+B0k^>YP$xY9M5 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.id.durationSlider) + setupSliderPopup(seekBar) + + wxWebView = findViewById(R.id.wxWebView) + clockWebView = findViewById(R.id.clockWebView) + + videoLayout1.postDelayed({ toggleVideoLayouts() }, 100) + videoLayout1.postDelayed({ toggleVideoLayouts() }, 500) + + wxWebView.settings.loadWithOverviewMode = true + wxWebView.settings.useWideViewPort = true + wxWebView.settings.builtInZoomControls = false + wxWebView.settings.displayZoomControls = false + wxWebView.settings.javaScriptEnabled = true + wxWebView.settings.cacheMode = android.webkit.WebSettings.LOAD_NO_CACHE + + clockWebView.settings.loadWithOverviewMode = true + clockWebView.settings.useWideViewPort = true + clockWebView.settings.builtInZoomControls = false + clockWebView.settings.displayZoomControls = false + clockWebView.settings.javaScriptEnabled = true + + wxWebView.loadUrl("file:///android_asset/radar.html") + clockWebView.loadUrl("file:///android_asset/clock.html") + + startPlayer(1) + startPlayer(2) + + pauseButton.setOnClickListener() { + onPauseButtonPressed() + } + + switchButton.setOnClickListener { + onSwitchButtonPressed() + } + + restartButton.setOnClickListener { + restartCurrentStream() + } + + switchSeconds = seekBar.progress.toLong(); + + startVisibilityToggle() + + acquireWakeLock() + } + + private fun setupSliderPopup(seekBar: SeekBar) { + val inflater = LayoutInflater.from(this) + val popupView = inflater.inflate(R.layout.popup_slider_value, null) + popupText = popupView.findViewById(R.id.popupText) + + popupWindow = PopupWindow( + popupView, + WindowManager.LayoutParams.WRAP_CONTENT, + WindowManager.LayoutParams.WRAP_CONTENT, + false + ) + + popupWindow.isOutsideTouchable = false + popupWindow.isTouchable = false + popupWindow.elevation = 8f + + seekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { + override fun onStartTrackingTouch(seekBar: SeekBar) { + updatePopup(seekBar) + popupWindow.showAtLocation(seekBar, Gravity.NO_GRAVITY, 0, 0) + + } + + override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { + if (fromUser) { + updatePopup(seekBar) + } + switchSeconds = progress.toLong() + handler.removeCallbacks(toggleRunnable) // Stop the scheduled toggling + handler.postDelayed(toggleRunnable, switchSeconds * 1000) // Restart auto-toggle after 10 seconds + } + + override fun onStopTrackingTouch(seekBar: SeekBar) { + popupWindow.dismiss() + } + }) + } + + private fun updatePopup(seekBar: SeekBar) { + val progress = seekBar.progress + popupText.text = String.format(Locale.US, "%d seconds", progress) + + // Get SeekBar thumb position + val location = IntArray(2) + seekBar.getLocationOnScreen(location) + + val sliderLeft = location[0] + val sliderTop = location[1] + + val availableWidth = seekBar.width - seekBar.paddingLeft - seekBar.paddingRight + val thumbX = sliderLeft + seekBar.paddingLeft + (availableWidth * progress / seekBar.max) + val thumbY = sliderTop - popupWindow.contentView.measuredHeight - 20 // 20px above the thumb + + popupWindow.contentView.measure( + View.MeasureSpec.UNSPECIFIED, + View.MeasureSpec.UNSPECIFIED + ) + + val popupWidth = popupWindow.contentView.measuredWidth + val xOffset = thumbX - popupWidth / 2 + + popupWindow.update(xOffset, thumbY, -1, -1) + } + + private fun goFullscreen() { + val decorView = window.decorView + val uiOptions: Int = + View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or + View.SYSTEM_UI_FLAG_FULLSCREEN or + View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + decorView.systemUiVisibility = uiOptions + } + + @SuppressLint("AuthLeak") + private fun startPlayer(index: Int) { + if (index == 1) { + vlcPlayer1.stop() + vlcPlayer1.playRTSP("rtsp://192.168.11.82/video1") + } + if (index == 2) { + vlcPlayer2.stop() + vlcPlayer2.playRTSP("rtsp://viewer:viewer@192.168.11.81/video1") + } + } + + private fun restartCurrentStream() { + // Restart the visible stream by stopping and starting it again + if (showingFirst) { + startPlayer(1) + } else { + startPlayer(2) + } + } + + private fun acquireWakeLock() { + val powerManager = getSystemService(POWER_SERVICE) as PowerManager + // Create a wake lock with the full-screen flag and the CPU flag + wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK or PowerManager.ACQUIRE_CAUSES_WAKEUP, "MyApp:WakeLock") + wakeLock.acquire() // Acquiring the wake lock + } + + private fun startVisibilityToggle() { + handler.postDelayed(toggleRunnable, switchSeconds * 1000) // Start after 10 seconds + } + + private val toggleRunnable = object : Runnable { + override fun run() { + toggleVideoLayouts() + handler.postDelayed(this, switchSeconds * 1000) // Toggle every 10 seconds + } + } + + private fun toggleVideoLayouts() { + val layout1 = findViewById(R.id.relativeView1) + val layout2 = findViewById(R.id.relativeView2) + + layout1.post { + // Save current positions + val x1 = layout1.x + val y1 = layout1.y + val x2 = layout2.x + val y2 = layout2.y + + // Swap positions + layout1.x = x2 + layout1.y = y2 + layout2.x = x1 + layout2.y = y1 + + // Get current layout params + val params1 = layout1.layoutParams as RelativeLayout.LayoutParams + val params2 = layout2.layoutParams as RelativeLayout.LayoutParams + + // Swap width & height manually (not whole objects) + val tempWidth = params1.width + val tempHeight = params1.height + + params1.width = params2.width + params1.height = params2.height + + params2.width = tempWidth + params2.height = tempHeight + + // Swap margins + val tempMargins = Rect( + params1.leftMargin, + params1.topMargin, + params1.rightMargin, + params1.bottomMargin + ) + + params1.setMargins( + params2.leftMargin, + params2.topMargin, + params2.rightMargin, + params2.bottomMargin + ) + + params2.setMargins( + tempMargins.left, + tempMargins.top, + tempMargins.right, + tempMargins.bottom + ) + + layout1.layoutParams = params1 + layout2.layoutParams = params2 + + if (layout1.x < 0) { + layout1.x = 0f + } + + layout1.requestLayout() + layout2.requestLayout() + } + showingFirst = !showingFirst + } + + + private fun onPauseButtonPressed() { + if (switcherPaused) { + handler.postDelayed(toggleRunnable, switchSeconds * 1000) + pauseButton.setImageResource(android.R.drawable.ic_media_pause) + } else { + handler.removeCallbacks(toggleRunnable) + pauseButton.setImageResource(android.R.drawable.ic_media_play) + } + switcherPaused = !switcherPaused + } + + // Call this function when the switch button is pressed + private fun onSwitchButtonPressed() { + if (!switcherPaused) { + handler.removeCallbacks(toggleRunnable) // Stop the scheduled toggling + } + toggleVideoLayouts() // Instantly switch layouts + if (!switcherPaused) { + handler.postDelayed(toggleRunnable, switchSeconds * 1000) // Restart auto-toggle after 10 seconds + } + } + + override fun onPause() { + super.onPause() + wakeLock.release() + } + + override fun onResume() { + super.onResume() + acquireWakeLock() + } + override fun onDestroy() { + super.onDestroy() + vlcPlayer1.release() + vlcPlayer2.release() + handler.removeCallbacksAndMessages(null) + wakeLock.release() + } +} diff --git a/app/src/main/java/com/zefie/zkiosk/VLCPlayer.kt b/app/src/main/java/com/zefie/zkiosk/VLCPlayer.kt new file mode 100644 index 0000000..f982d4a --- /dev/null +++ b/app/src/main/java/com/zefie/zkiosk/VLCPlayer.kt @@ -0,0 +1,108 @@ +package com.zefie.zkiosk + +import android.content.Context +import android.net.Uri +import android.os.Handler +import android.os.Looper +import org.videolan.libvlc.LibVLC +import org.videolan.libvlc.Media +import org.videolan.libvlc.MediaPlayer +import org.videolan.libvlc.util.VLCVideoLayout + +class VLCPlayer(context: Context, private val videoLayout: VLCVideoLayout) { + private val libVLC: LibVLC = LibVLC(context, arrayListOf("--rtsp-tcp", + "--quiet", + "--no-drop-late-frames", + "--no-skip-frames", + "--verbose=0")) + private val mediaPlayer: MediaPlayer = MediaPlayer(libVLC) + private var streamUrl: String? = null + private val handler = Handler(Looper.getMainLooper()) + private var lastPlaybackTime: Long = 0 + private var lastProgressCheck: Long = 0 + private var watchdogRunnable: Runnable? = null + + init { + mediaPlayer.attachViews(videoLayout, null, false, true) + // Listen for errors + mediaPlayer.setEventListener { event -> + if (event.type == MediaPlayer.Event.EncounteredError || + event.type == MediaPlayer.Event.EndReached) { + restartStream() + } + } + } + + fun playRTSP(url: String) { + streamUrl = url + val media = Media(libVLC, Uri.parse(url)) + media.setHWDecoderEnabled(true, false) + media.addOption(":network-caching=250") // Adjust caching to handle jitter + mediaPlayer.media = media + media.release() + mediaPlayer.play() + mediaPlayer.volume = 0 + startWatchdog() + } + + private fun startWatchdog() { + lastPlaybackTime = mediaPlayer.time + lastProgressCheck = System.currentTimeMillis() + + watchdogRunnable = object : Runnable { + override fun run() { + val currentTime = mediaPlayer.time + val currentPosition = mediaPlayer.position + val stats = mediaPlayer.media?.stats + val decodedVideo = stats?.decodedVideo ?: 0 + val now = System.currentTimeMillis() + + val noTimeProgress = currentTime == lastPlaybackTime || currentTime == 0L + val noPositionProgress = currentPosition == 0f + val noFramesDecoded = decodedVideo == 0 + val stalled = noTimeProgress && noPositionProgress && noFramesDecoded + + if (stalled) { + val freezeDuration = now - lastProgressCheck + if (freezeDuration > 8000) { + restartStream() + return + } + } else { + lastProgressCheck = now + lastPlaybackTime = currentTime + } + + handler.postDelayed(this, 3000) + } + } + + handler.post(watchdogRunnable!!) + } + + private fun restartStream() { + if (streamUrl != null) { + handler.postDelayed({ + mediaPlayer.stop() + playRTSP(streamUrl!!) // Restart the stream + }, 2000) // Wait 2 seconds before restarting + } + } + + var volume: Int + get() = mediaPlayer.volume + set(value) { + mediaPlayer.volume = value + } + + fun stop() { + watchdogRunnable?.let { handler.removeCallbacks(it) } + mediaPlayer.stop() + } + + fun release() { + watchdogRunnable?.let { handler.removeCallbacks(it) } + mediaPlayer.release() + libVLC.release() + } +} diff --git a/app/src/main/java/com/zefie/zkiosk/ui/theme/Color.kt b/app/src/main/java/com/zefie/zkiosk/ui/theme/Color.kt new file mode 100644 index 0000000..75d4fad --- /dev/null +++ b/app/src/main/java/com/zefie/zkiosk/ui/theme/Color.kt @@ -0,0 +1,11 @@ +package com.zefie.zkiosk.ui.theme + +import androidx.compose.ui.graphics.Color + +val Purple80 = Color(0xFFD0BCFF) +val PurpleGrey80 = Color(0xFFCCC2DC) +val Pink80 = Color(0xFFEFB8C8) + +val Purple40 = Color(0xFF6650a4) +val PurpleGrey40 = Color(0xFF625b71) +val Pink40 = Color(0xFF7D5260) \ No newline at end of file diff --git a/app/src/main/java/com/zefie/zkiosk/ui/theme/Theme.kt b/app/src/main/java/com/zefie/zkiosk/ui/theme/Theme.kt new file mode 100644 index 0000000..f0417e7 --- /dev/null +++ b/app/src/main/java/com/zefie/zkiosk/ui/theme/Theme.kt @@ -0,0 +1,58 @@ +package com.zefie.zkiosk.ui.theme + +import android.app.Activity +import android.os.Build +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.dynamicDarkColorScheme +import androidx.compose.material3.dynamicLightColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalContext + +private val DarkColorScheme = darkColorScheme( + primary = Purple80, + secondary = PurpleGrey80, + tertiary = Pink80 +) + +private val LightColorScheme = lightColorScheme( + primary = Purple40, + secondary = PurpleGrey40, + tertiary = Pink40 + + /* Other default colors to override + background = Color(0xFFFFFBFE), + surface = Color(0xFFFFFBFE), + onPrimary = Color.White, + onSecondary = Color.White, + onTertiary = Color.White, + onBackground = Color(0xFF1C1B1F), + onSurface = Color(0xFF1C1B1F), + */ +) + +@Composable +fun ZkioskTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + // Dynamic color is available on Android 12+ + dynamicColor: Boolean = true, + content: @Composable () -> Unit +) { + val colorScheme = when { + dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + + MaterialTheme( + colorScheme = colorScheme, + typography = Typography, + content = content + ) +} \ No newline at end of file diff --git a/app/src/main/java/com/zefie/zkiosk/ui/theme/Type.kt b/app/src/main/java/com/zefie/zkiosk/ui/theme/Type.kt new file mode 100644 index 0000000..7677cfe --- /dev/null +++ b/app/src/main/java/com/zefie/zkiosk/ui/theme/Type.kt @@ -0,0 +1,34 @@ +package com.zefie.zkiosk.ui.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +// Set of Material typography styles to start with +val Typography = Typography( + bodyLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + /* Other default text styles to override + titleLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 22.sp, + lineHeight = 28.sp, + letterSpacing = 0.sp + ), + labelSmall = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Medium, + fontSize = 11.sp, + lineHeight = 16.sp, + letterSpacing = 0.5.sp + ) + */ +) \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..ca3826a --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/slider_background.xml b/app/src/main/res/drawable/slider_background.xml new file mode 100644 index 0000000..04c1a44 --- /dev/null +++ b/app/src/main/res/drawable/slider_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/slider_value_background.xml b/app/src/main/res/drawable/slider_value_background.xml new file mode 100644 index 0000000..337a9b6 --- /dev/null +++ b/app/src/main/res/drawable/slider_value_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml new file mode 100644 index 0000000..8dd1043 --- /dev/null +++ b/app/src/main/res/layout-land/activity_main.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..4530955 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/popup_slider_value.xml b/app/src/main/res/layout/popup_slider_value.xml new file mode 100644 index 0000000..35ba049 --- /dev/null +++ b/app/src/main/res/layout/popup_slider_value.xml @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..c4a603d --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..c4a603d --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..cbe839b520a2c4d568e09df625d3cae6655cd7d7 GIT binary patch literal 3040 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 iI4Nq2qGJZ457oG)p zY2VVOYo(M-!ORL2PC%KUC^Oh+Tr+d_O9IIPHeUn0>4IGZvH5~zL)nxWWKULH64*B2 zJ781{Iw^(J#2~I52YE!v6kK-l^97_xk{n6SAK^U%!aVm>p6b&C+(we5NO{lvBR>E5 zZ(_#?a3k4P9UW85Eae{!20$%d^IA(*|0jU_X&nloDk7y&5fKUw!0lj+NKp|%#%v-E zWQ-Ui5Ex^OS>S+KMT`*h6+?U4iPW4ENcH4*$(vZ&WawjAr6%0;F z1ms^RV@QWY1P)LD3?YPcq!S+xp#@^xkZ&P`@|B}_+5m8I5s~8oBLXrR01#S4a<~H# zF-AlR5fL*wBqqQZLt4@iWCp+(hm`R|+z!l45ur_E07e`FPn&^x6Ou|IVi=|uCtO6t z^$uYLg#5fjiaGQ);4D+?tq+{T@7l<_sa(G!%iLpmtU(SK|0 z|I4v0(K+WmdGEaf@CFJhi}z6^3P2f%d+!~xRMec^S>egirkzK{bz*pQ!xhMlZR4R2_UEHK zo4yJ1Y}&a9aPUQ-#!R6g>5^S5sb+g1dM<;a{E+C6rqpcE9rSn?D>Y027olv^oXTP%63 zP)=0Jq$ULAup>}pW2(#@$c{jpJSAO-sCfJWS&b;bldfcV!I z`~v*E2NVwwJg^=_@B};pAV*IUJP?l}xjjfdP!9rmN8Tep@B{_$BvRy~;3&06lrwJ6 z5)R}eRefzB&s2-NJTV@n?AAixD$D5;4}jZyij6oUR=5ff1Vws4I&n&cvez8IVB+ht&{OLo{{( z9(09BdrPci%U}Y)3b1N3=`(_lGw}djnhjQ~f7j)(-qz>8e@~{~3~*}Xo`N!5>M^R%sE&B?2p)rs zD!a3EagM&F-T;yl0%oM_DKxNNIaWSZb+_EjKhl0hXOtssmC<)>29yC5OF&r}<-mgT ziQp0VC^Sd5p5{UQOs}B}##gXi^eJ38e{Q)xx5Ys>&Qq|u*_Dd1>{do1z!5nA)n5VO z^hQD?L<(07_!x{D-3)#eZyw&3l5PY>mgr4cbA#Kc!5#jmulT(+`V&JF0VkVGY)~+o zjZnr5y6APp3wj~HFS~yhrNd)e>R@Sr6L?)C2xqFHH3T@8yt8ld2`K}%Q2+&5%+awI zKElTM9d7-i3jD%i2t^Ny?EtcYDR61RviDo_ol6xuM|(Ls9GO3_bm$TCnnWDrFb=Hi z&|$Af6N?C6#f&en1)Ts4ilILT=74Axa(JSNW@YM##7Qr#5H9ag#|l3*ZWVD37qpP) z+!zZShGJzvv;|lVOZ1O6X{M;9q)PfFf$f@^G-#GOL#Lgwy>aCm5vYyDXlWH2yl(}U z0?d_+TrpjZvik4w`LF)|IW9D1Bg+g@v|6}axWLM4E-?WsgL-H9-uE|;(B{P{DbCSv zU{vW_nbmtaid_uE=oQ-XW9*XzaaI$ZeWR4PJ z^6WHC{na-&-1kQ@33r+q+?FwM_I-IaPvq`63AAnpqAn+IwrZ(MK+g=rRA74kX zG~vB?k&o}kD_-5{%EmgE8^NDu1-<=|@%0-{UReCnih1GY=PI)iEO|c+ zN0?M8L10xH4h6_M(bighN)ijOvy_$Lswr~Lem0la?UGi^PU^gJ**>(*aj$)Qr!+-} z=BDEBPK#b-{G_z{<=ZbOrknAeZns&aWl!~VO^q-=)>s0P{S-h(Tm@PrS6UsrGi=fI z+mcRRjugvye#(@Zv5BQ(VTT&^b#}88n_R{P+6Cg-*RorYW$#RBW2+piQD8-o1*EE) zDmT5-*i$y30`{S*e=G`RWgS33EHxaiXyES?D~SUe@J1!Uc-C{yPg3EUa`&;#H(lS! zY2WyB)Y0Rvif}nciqu?9xbn7bJ?sNQ;Q$Ch$#A)Pl7LjTTF3n9&8I&+cjkb=s6h>& zh6G5uayiieF_XdD_j||wy<@*M7RL8@LJ2{}AyqWSpKTDJfix5W1`c^D6?JqYA(H-# z*uwtU(#@|7&p5KdB?A%yNCHTL1PHpnGK^ml#xD;K|KI^LrQ~2h5*d($|Hz~@;2nG# zien&t*;|r=T#lTvTvnDlo{4V1x%LPkd*poCa%f;D9vx`1+`;8?kQLw%k52vbcL2f| zswkZA(XIS?DGDS6%bw>GU`Zg-AR)4YaN#|XeUTl3bFisqzC%K!6}FQE8Ou%vIQI9B z060}caTtAAXIYmW>Vz`18Bo}5D$_zL77|zigmXAJa8M3%A_3f{M@2J^ER1du_&+!j zz2i`TjbzPVwQ4oynHhi>ot<7eAaLQx0eMd(azww=mA7pYWRQ_Tzst+m|H%#dwgCa1 z_5erZQTS>Kph^H3j4XA2(zaub$^cmoEEHK6kCPj#y;jpGFlVo6^U&;kZE3K)%e$LaM0;1aZ8L5FaT z3_b@aU}M-12B1zxCxfIvMsSM)7}S7Kqej6HbxD-l3+!zV4YpDf#v(N&lOId@cc&_&#PhSx!2jo4->D~QF zg#oGona>CT2|)&sK@w@ZN(%vunk$X*Pm>{y;XK$t7R$}0o3C%R#^CM_xWjADVNoA5 z*Tg6yqvx>iPy!!^qoV#q8=74yz{&t>+`tlYWx;|`+Pu2#pwMQ04TSy%30-76*<9=! zn&|)$&j4{D4XDwfI#zw*LJn-haR6%%6b2iHI6T4#`x1y=v~OelL4#=4;Dj7~(*7R$ z^vm{7zN<_>J*&#yad$t$d!}+2Ap@X{n&iT7*cRXb-wtL3P%~xY*{wBNU9k~!g{msP zzaoRR!OAp8DNf&^!%6kp-Y+&i%$yke+`DFepcu{5=m#7~l)Pjlu{{y=UIw#u92zg% z1n&T*opp&aRKSM%NlD=z52D#YC9CfLwmGq8MYd~6&H8~FrLa>$SC0I+?haT%8_dC$ z$kk&f2-3(*HKVI~W^=>EAk-^1lgb2~SXA3gm3l}x?5mkE&53G<{Bmlb1tdnpc`L92 zh>Q%D9h}|*t6?ccUMa9Lx@BOaHQV==0cPLdmMGO#2BcyG1o;}5+s2myde7WG#~@6WXsNT zTN?{Q4d@#CK6)2p%Ji%mcbOqN)ar2{mx;?%p|t5Ftz)Xb>{Lh^wu9Qz&`dNBTdh?B z3hKl&BLM=Z^@I(mL?bzDg=~|rrnXqddw~)i9qN=-eEO8qu)v-%_2#DCH}{V_w5^p< z$<$#i)I5l#m~@jJ4EJn42NAD;6>>SqIdWGIw*ldhW{XH-p<7lM*OBB=0oDK*E;FJB z?sw3~K6~|MN9=Rw)~q)qz%MP@`-7t^|M)#Nf^$*4;9=vYvPu!L#eN#wvU{swE0v&? zp#>;_NQ1)SG$ZFL+qm+g?f;oI96*;Jo&yg2a5JOKjoz-sHF>moci~=Lyq`<-Zla0S z7_4E#Kn$fOj6PE=^;Vfeyu0;S8`#u%Zbl*{+Fy(Q9}$D|w*fYs zs=`PP{?v@9=ErWQ!g87>sdKk?`B8W2{wA5l0h`0KG?46sobai?n@l(M7HVGwsz$=? z2J4)f*KpwoKTtEhbs1PfsvXsBja)F0IzPu>tpXbYWEzZJ_OqFB&APVZa;he=bF}S} z1G`i|r>iP7!wXhu^bd59PZ{sM=m5ok+es&9P+(+PQyf39k%U8K4?ZlBN#jMEmC>uu z{saTZ)NIJXC&j24T>h&$3C)RVtCW4c2k$g>U2?!KJ^0SuWCL*{SxY{^?)}{1>N97S zJ$+nHla;9Os^Zdcm%zqz3&}fqYc!~y4{w~?NC-ecdhtdX)f0XMGyOK4 zgu2oewUOh?3Ysub&p&_DBl_Ikcj;7XmpB{9Uynm3bhs?eX?{WrlUlCmhe@pKVIQFm zaXoWR@XvdPg_3_|HM(VGP#vooAQOXG!wGS%tASB=6c}Jn7F=+k!M^wQ=&ptZb;J!wgwFW0m}M6rk%^S`QHCO8`0$kY=}GpkO{q>YrH2aj|-BK?rr6D z-RcVTCZI@Ma|YcEpbRJ(x4?|{Bs0T6os$`!qD>&!~cpNwYNc{+8OAzf~e@5cea+^mYTx9CY% zc8v+OdkF+WL_m!|89;#ncma_hCx_#SUknqXKQBO|8})rFBVFMXT=8%B{@LT8muB_k z#Jl^?mi<}Lg89k?x_9ZpF4?EaW)2&cd}~6eF1Ir^JqrOs0|+c3NFsxS8Ne3cR{cUipLeyeTJbRliKf>h) zn_Pd1pFW`zAG&1qP>2t`6C}! zZq!Gs`(X9GySh&Ch}vL-#WV@Nec54m>T2G(Z9C_&k-RFp0v9+4m&*a7s&Jg)R&oNQ z2SPlz1qjIBQU}0Ds*mjcSMpff3L9-`j9d{lYRGSc4fOunm%;NL#;LeXx50?8OYxRV zX2+_}3QLlFE4o!co!%P&c?aa6BOE}D7Y#_j%TGh;4H&^FLyo*gmxC>&=ywC`ABOk^ zgmSAl7bz@94j|V70`dxSRJL{GRviesMhwNtn_t0KiCO~4pkEpd3<4yu*D!uMcc-44 zf+H>mgv-I@JwY)WWVE0KP(}un(=AY04h6#Popp^&4oCJRDY^*|glidz4Fx)sn&Arc zc5tAtapehENS+-@WVjHHYB*36ki2A)ONYcA$g)7e&xWlXa`}V{m!l3K(Vx6@fP*Rq zBx*Ij#J%XQ2^{{@tfb3l_Iu{7Yd8wZ<#M?Y5*HlU@rA?k1M&`w0B0MDz|jo(ma)z# z!{x|PvVz_g>*?0^z2_+;E2iv4hV1@4}j1W&44_k&BE0KE(hEIUx(7`Yrct* z2LV`NW%n`5ww0BnKRRBWnt-N;f}%$_AP@~`9*~x0g;8{^tc(I?D1dn=j?rsCSy>tV zg&B$UbwB&T7Y2^x078K1bsQIXryBxi9m8>-sPdR`~#Cw z!2v|C2P`QLyExVbKC{_Sh)<|WytHI}AV>5&-~!}w;W&850WLtnC|-QRFwQX;F5q0P z4n;;DYS>aGKpm7T^MKIkLh?FbW66OUeZ}xZ^nB z59Yn8#+*5pEYb2wrz@V%+ zat3CG>?mJ#&edvA#KN9oS#)h*jRNEX*KxR9fXn5=(IJO`CtHv}l+ht~E3n-24h8dh zII9e8@`U__0g+Hv29O2d0_5tr`nqyCqU#{1H@-m8O}hI65XrvKE&C3Y0f?a{kBA0C zy`ie=$N}LXa42kygPG9&-u0e;D#q6JV`8D+T}$<7kFv&1Pf=$27nQ2C=GcPNP?GXOG@?hgXK zWh=h5fw=q;(O{(innd6^Hl6@_Gkk@go+`eQU;pah0U6nePIBxI6Mg;qjTjlKFHfxS zZm5@`J`*7-?|Ip1&xri8@>d6DBrp7ZKN{H1k5=}29*Rkk&L-o1Dr&5B9ppzevqR5a zPdz^QQzzBVXHcVWWG(`oTk%4q|K$0qDE#C{Mhnv4+fd*s3GZ^k^V@>pUR`f+oAF%Am1+I2!NR1jUJ!LJA8pb8Uhk`zw zH?^ETIDmR!d4UyHR)AGFPX^B@>+3;J6mPzjDu7|K?70(qPT>V$0Fq;k@(2iLXgW^R zr_xZy4XrLs&l22sip7d9Ey|M6X4L3qSNPA*IA~r^&A0BvCy(=PPusc%?b1DIYOkYq zbM4Hm&yAje5!D{34=5`u49Y<82y)hTjh4O}L*1BPgCrR#b|w>07Z42vP)iuVzxdS4 z97cPu3#@{=bUUhp-#uLLR%&lW|L^SuZ~-n36eSV5Ir__h0)w;)zQy32?c3O(VklxA zGf9hFusn|7rCl0x=WiY3WoFQIyVEB3o@Ido2Kc@03it$I0*w4iARzaV|M7K30{#x9 zPR`!d2;W55(q4z+AIe=bBNr`y&0@WC0VFg0$(gt>ePze&&jXage|B4q{>v*zu0;oG z{qxckO%O?M3dW`vA0_>?Ex9q^`Ta)CNcQ%{>(L6W9U_v0L%coh$-hy7Y3Bt=OJUnk*kaynz#<>r!4{I9XZ&5SbYWXZhp{GSXo<3U znQ4djmw?w;?WP*YbgElurEYTgDLeR`?UOS`Ae-i+pq06!<|6jfqg;o}aKEWjj!%aW z!qQi5n=L6F8-DkjnGK}E9kq!xF+Vy$*89`8fWv3m^!=A8W*`I9fB{Ls4dz>#2Pg8MLx1$(=J>j1`V&t}|@Bdi~$b+>pO^I5`e)1#j#cNTlrXYt$0!M>DpP48O6&p^mUsf`cy6G)$4AdJwV_I6BG5qyMP(RHjeJeH(6jW?gY!urTSp-QK zry#X~93V25ii`x&FW@B;GJu>=7RRTQodUuZv(e^dpK`H%v4Ic>zINU(lYl3Meh~F@ z1wX`zb^oLT@c?mBSm7KlumX(!!sss_H{rr4>%)VPUnCnUx*+SfWFF07UbylxHur%D zIihYpaod`l6YklRvrd`|guvUJ9u{cl#P(^Xj zMYkrw79?`UeYxkjjlAecQ&;ic4Vd490k3jxGxx>}?QI~eGJ_FvL8sFGmFole`fGMGdX=B*sH3Jkaq-lVU&Sf zQ<+Euzxnu9xpt#5p~jd^DA$xKoxY*dH*SI%4oo9QpFo=78LML7mOZBuvcZ&@-@Wef zG44#nJ&C+4F}7d{KDWbXKZ`H^@daUbe5Y{sH@0yuyEPzk+?xrQvqo@P#v<06bm|C@XW_wLrNh z0n{X1+X&mZ$+mbab8TZZc4&`8$*&bHFrK7lL-2v!P8tlEXu00bi7}>u8{FUMFN2ym zvM?g)-()V1ESp!#q81MNZB{$CS)Xpxj*P_jH;8RSHk?b~>;~-Yz-5P>g~$$2#*zC% zHxekTk1IeK5DCm5Y+u-yG9m%yT7uIVztN(_f?r6Y*m7QND9r_XyVtzC*L}|nih0p} z{dkI%bMDPx#}i|_ENthMId2vemh5TwH#T8+GT!d;4CTDUhw~|>Z7O}ztm_WQ$F_@Q z1A>q1P%ccV7IG}@ZNk8U69#4M3q%4gm`_F-M8>wBlY3s$z*RP{n`vM61z=wa1A+~v zWEb7B z{Vle!e0g_3%U!ff8m=t>ZX@$r sV3h4njxg6!BlAgiXZ@Jk0{dV9GsQIukdrfOw2PZgX@Hdtk literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..c71d4065df841e17f9e8d57656d533e30045a004 GIT binary patch literal 4470 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 I*G0hs0K7*e>Hq)$ literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..ac22d92241a190ab385604a098cd43711a6dd3cb GIT binary patch literal 1870 zcmV-U2eJ54Nk&FS2LJ$9MM6+kP&iCF2LJ#sFTe{BO_*uhMrr$H{27l!ME~Oe8o`{R z`RV|=P|`?}RQ^>ST)616=yRdCZ5xNrwEc(86|ik2Nm1L!jGup8XrC^C*Q@^lttFrx zJ{7dzigvc)18G}jRa-G{IMaD)akf)#`7;yRoL|4oK!OVG&0!kJve8wYuh@uXYKv` ze{A06((b@1!5yS4s|4Fd0k)mI-}js?DUxj4R>Qz{WpNyMCl-3K2n* zH-F>C2pa`0NUsn|Wqf!w7L`dL`+~9>~$vsasnx*BXc(@f4D5QXV z{1tea-$M#Dmi{hZa=Q5Po2U?HfrgW5Iqgx;075(lP$95pNsX@v04rR);r5end%#DF zFhp$t7Vho?v`0!2M!+IU7DXh0Fl5M!=Bi4XND!fg zsqEbKC`B)_3W4ftAAgo-oY1arZqcbp#1!a^6Fh(&ezf6RcKgrcNKq(#=_CL<*9E1TIqQPRn zHhv3VqQKQu{362Y#23Z@+BlEwcY-Yht;T8qi)iX3gAqj$M+Jn*X86PJn>;A>2cj851e@Tu=up$OV)1ME)rFBUuZJNGI@%Cb<6rdELi zTrQ&_s-p&|!9gQu8mFlO6=I?Cn7LDDo>>SA1VUX+z!~9>2nH)G5@%x!bWmCXcp1@w zN>c_!&RwLKl!^=h#wUd=#whYZ1f0o14q$6ZINDs=7+hK2j%2oGjVNn!W$hH3_wTp` zi8FkQpz@)Hhz=Y<(Lfb=p%3RNr%YTpk)oDvHO+{pNcbwFl!$9v8caE09N=6=M2UsL zgv3A}Wmw_CFE2QcidS1&6{Db6SnPA9=CyVnsag3ai1=0sz!(WpP=E_@tl>6se#>O& z8d3l+w>&IfY-s>@!tTl04j_yIz&WLflyhM!u$B4YOeW=XWy>xdlLcOAIYmq`XB2=B zCPYG%d|naBVwh$t{Bo6Z&jf295!1uO&^IYj9-H7&Qk-NVb|50J5*G!RPXJ+X=pCH# z;do^^DJe=@?p0n1*~ZYtnGlMV2Nf5`2&05WCoY;~@_C>@9$LVFq7O77Et$!k-=7Ks z)oYiC0OwpK6G1!Y2qpkSogK)U71fbvwKLS{7L4(y6 zj8P7tl0reI5C+trII5-2fJcy^>nZz^szA8%Swqlv<`MrR3|4EciP*AUpe-@PDdm6; z!Hn~=se*<|J<_!ZKH(6&mpvexEPS&XtRn4p07+QJOyH4$?rV( zkv@|rAY_cQX9Bhjggx;$RYV!U(P+kN;HE#Nx_T*!gsGMGOxcf%;BlaE-o-pWnvN|g z$HMRt1k(vn73K|G`+a-?ponKC?tisjB8I75-;2x<|4f^>L|WWqnf02yDS^y3Z87`i+PbAr~5$N}Wkr+62>b&kNc zq!A%^CKvpjr2u$=h$c(*b=VZCXX=eNyd5?@bj?OZs6zA*reS^&I+m)}`X#-Daz(#T zG$xZV@MU#SkWkS4^CiOIInAuh&VoOs*9zn*SlF~N3_z#2!e}{yBD~(2^X}wyI)|IA}Be8!czSa|UKePo8g2bC$_XCjy)q$v548ogM In~(NR4gvCJ`~Uy| literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..90344f382a7d95d28f9463bc3339118f619564a6 GIT binary patch literal 4242 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..2cccc019e488ebf58d159eeabba753b77e2e035e GIT binary patch literal 2896 zcmV-W3$OH2Nk&FU3jhFDMM6+kP&iCH3jhEwFTe{B_0XEOZE@Rt$34Pd&~s*{Ff*e; zU}jquu4JY#Gcz-nnVFeug*o!fj&{G5oqzCl!lN{ zH1&akzY7%f%h2`nj0aDJ5DfuqhCa2~PITec*DW+^V zeK~5&dQIvz`PA7E^q-ahriex6C^h&;1@nGkCtDepAOM|!>ft1^Yo%Q+oIHBk`z zVi!P6L{`P54$G%p5R?Tgio1?h@%HDVs}E&RzE=8WXIH;;4GQhxL1pmxdgs?~yjF3` z)(UUdCJ4hB`O7{UNmu2P%jHXJB7_DuIe(n2ZuJ@iPdNAcyt8q9KH@1Rx>0 zDWjT%C?v!oAy&%SMzfSDeKHIJ24?6Pf4V27ds_bOkwBGwSeA-qLp>BTMM4}>xCEASO8^r9?t2)=6lIDOG5LfHqIBTGuTiy1Xo*eko?Qm~~RBLrlbje~+ri zW5lKZRYAnQzK(HN3A4M$@5nDP; zLN_6!!dYQ5oMK)`$mmlM5fR<_k3z;y{#dfu!p(?{AlMm7zZA8akg<~|*Zk-z`f~)z z5DoPE3_RJrOGKKGQ3x3&AtRI$rS_@SdaN{J=*u%l_(2(Pi|Du=D1jEV{vl%a2mSAHH1Za2|R z|G}xWhA8wqvagHgNqLnrzZe``6sIpI3 z_F<=l;WMRAif8;sv-{0sC$h~Rse2cmGC-g!*i_qgI*IfE$`DRk;LR~VohJ=$P+_4m>GVe>h#91F)vs;>jx=E~WyHIb2# zZk&>fAQrCn0tu=naJO{Vg*O-8F&n2Y&X}%$x$Z>Wo9&^G<=v>TtSVPVv&(dB-wf~k zmRsLn(tS(azkW~#2yokM%=@#sMnBqUf{h-gKXB&FnRiUb6|HPk$-6%dZ@2qDmRi?a z(1}zXwnx0BSAySI1FK{ErFhg^h;!Aozu25H5}+mM<7($Sd(rGg$7YJ16rX$&Sa1C^#HHw6`Ie6K zvzJzzdG4w_YW~NPe&))%cnEi`<-_Zh??-4c9Pjij#ykkL&ozrBHQBeR#Ykvn^v3D> zV%BfA%)9ZbN4fwY(A3e{AKFS`D<#HZY~={3xA9}MFCM+p()QuST^pV|A=|Teqf&Ng zH+6p)u)NBm9*JfvC$^Z`{V4)1fCL!=nRUevZRD_#6NxzgMx*QS^lJXFDU;GQL65X- z!@8+^;f01!lqC@}Dlu=lpF*G-ABjN8tfl>lHgeJ~Jin%lADd%g^iI&`apSBXg1s@< zWoM)vTzG)>-gm*XD|eV@GcukkQ`*XTG_&x#c>(8ayq@ z&PXayaQ*2Y?ni$Q0MREypjn3L9Or6-r%sCJsUs?irwy-`3>nM3m{zORl(b?|QBgc~ z5?`6b(Ia)=XZ|C`$nftm1iBZr_2qn?nw+NwMbWZ>K#l7bbS&}lBZ7`Co{}(PL_$J* zLePmtM>o7{?}SBCwIM@>@Rj64a+mWp0=*!IMFsy_)m^*HV)Oj`7sb)1m_L8MqA4nX zse4@JE2GjqDZLV~4DSTx3-w4GJw;SuEB{@#wN~i3G*tk6L7-ilfiGF)2UnZK(I>cC zXspfC%WXUCHiFoPWGePX;teq?C(bFpz7HT{mPMxcM@ zR-QM{53U-Px(f$4`lrAfl%e)@%Q1iCSv)e&90iv~mf7RsuLq;&-yY7z6kK&!7$f8K zyokVn)uTX@Q91+$W@zgfGjnjX!O@c6I(*Y67V}zG=Z15Ezm8!A6LX;|MfGpxbF7qpn}><5?PcFJCdg7B<7o9OlNb(8r=_ z(-uuzXO*uo7{AsR| z>+_WIP2OUDoHa3bG4=CL{Bsb2VF+|xb{v5+42F+x9+0g@pv{RT2n;_vV$6jeGp_q& u=AZEKv?V7#U;Xn(gZs}&fAUFC(*V@0UWPzR1X?f9E?Yf<1l5yz2oC_v{Fk%< literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..15d326120eafb080eddcfdd9cee622413f5dc39a GIT binary patch literal 4556 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..cc51b8da55bf0521c9eeeeca47dc533b564b67d2 GIT binary patch literal 14220 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..48108e999e41439840955acdbb5895103ba455aa GIT binary patch literal 6604 zcmV;-88hZmNk&G*82|uRMM6+kP&iDu82|t;U%(d-O`vVtHjwR3`v2m#KScC@0)PT+ z8}z|dymU(m$%!P806!o<#fYz5Sr9<&Hjf_LYXBdfZ5IwANm8VY^DnX`9N#_lvj;bg zBuP^2duKL;<_|HohSS)#UF9gkou4)R*YiqPWaQPT{!aiQ1PlfkAcPR0RMo#4=l=!} z0{VWF`>l++Vt@dqgC;d0F^s_rK)7m6Dos)h{8XtlsQ|z!SVfa2l_tvy1OY`SO@ssk z079h@5X<^PEfr0gNF6IbeE5YBd=LC5_!ftPwrwPbKkVJhAR;Efwz(+VR#BR$p!(Gk zZE27cs;slc1a1E!M{<7uR7q+KO~dqhcxIWInVETSW@hGAo0*yEw9L%ZFxbr8JPu8_=-#*R=d@|~Ha??=yZ4&D zB1y7s+qNyWEdAZP%<(lDOa_y{B+*FDPGS-m45myB?`LhLxF>4cP209@>&ZEnQoG%U zZQHg&wvCWIM%eb4wr$%syKOhtT5`@4fH(d>)wboVeTSKuEQ(+P7;~bS0A@1a3@`+q z$zW`B<;s`E%(}~1z4v~Qz{irs(Dg6TKLF`?ySm?_z!XnSEZg{BDW2}NNFLVaOFf-OR86=sTIVdm34(parfL8XAqF&23~5yu z(r%t&zgO}6B(4v?5Uk{vy+i7Q=OM>LEi-%#)0*`4d@G*IHJvTkAuvJ^FAG&n=!ygk z;wm15DwYC3X={}BV>{26p8WZ}efQV@;lc3`%E(5a_ih@#Jf!qIBecH{VwukjL)Xx< zYrylwDk2H^##fiY=i|Hn@qwoi=J13v^Edpsk5#V+6y2BcJxQH}6o$0-ojXhNUqTI0 zKAVL;sba4Q7Lfcy)6>Z&A$75Mqi2>~yH(hYA~Sul{3wwW(yQ{TimnyR&_=97LSqer6>$+`L`hMiRVxV@m6_Pa&XWaIq(RX_ zt)7O@>ghC-5XO9@uy8FqDDF$N?X4L}0~N*LYf8sIZO(Ri&VTJxl%(hg3S3H%O}8ql z$i*|5XPP4$#XK&XxJp80rCQ|(yV#z#1E2eco#dDZWt!vrF}BYsj&`&Jk+}Q5oZ?JQ zctVbL$Z_QT4up9$%Fs`Cus@^7qqAlq@fmkNb52H_Glud3@xs2NOwLP#Pxt-4;N+jA ze7{aH2LUYZV>EX4wHs(kx{Zm9Vldj=UW-BHd9*l&M{17jqqC%r*?guU780Ww7m|_r zBd+8Rn#-v=8x*zeX7e0di@9;3`ET}r2xt4f2OT#9-2RP{Yy5wlYd+7lcPhk;#SOQ6Z(Oh3vl9 zluF#*H!W75xcR^xAA6kF-{it)Umh~^9p3m1qJJl4;>8Ev{KV5*^Orl#xXA_jPAT<+ z)16FqSTHNz{Y9WHdfGb6ofjE>`F>;f*NgbMj-l~ic{pFbFE~-NPE-R>J)co)#^>qA zz4w1)$e;Pl55CTGM^ukfDz5o)nx{xH+I&{;JiX1sIe(}A|Eg&2b`CK_f-Amt6nhB; z&9_Hz{K&~K-`?`CLPyT#t+I6K+lXdc6fXGAU+W*}XTa)mzt1Zfm#1Hm-yDCUehS_)l*3y%!2 z6UFh{uB*RnW6`-%ax|)Y%@8*f^ZMiLe^lL+&@OYxQp?K6hIL{vV1L=ZLAJn3&=@;Cl6m%Rpyi%Id9&H}i7!0j0{ zhGJ7Z%94C@MdXnI#)W{t))a4>%-5g!=yuteUn{o$_ZQ8U8SzsLpcOGn0|B^-o5HT89ZVEt^~Qd@Y<6}H;!GeIVmIp#^DPhHS*gdl7qHhUv_ zin!LsDt6{F00?E9rGvO$eDk`;Xydz=WAaf=n-ohLB?y8*NO)93Nb6!Cg#)t`xWTm; zQG4Km@D#;~QO@R##mVK<^M|H&$Kq$W6hDK_^YP%XePfLIjADD#kO3~O&O&VVrtR;{ z7^mqprPaE!=1KMJeZPBp{-jm4Xu4i_@s~Y>XM^&SzRnMd#mqOWIhrK21WP%7ckBfR znnkdYvMMsKWGXzfc^;QfW+rhIL3~rkuwS7h5J$ysszunsTWLitq99*n z&EHO`h+U&t)GV8{B`(y!L!MWhyTvUz?h{QEcl08ND+0wk<07C-_5u1Nwvsf1-n8#EA53&l* zK1dx@IXaGPW+<~hjupz3$iA>KkA$b&1&nJ_5>_2?3NE3}y0OEKh+*EP`C4R+kZ#gN zf}lS0yl>lEI8&4Vx#!rdHz}P)R1(DuFo>f(|A29HIdVEKx#nQ@kZCYS$0A6y0EX0% z?mnz`81_G6d8*?%EFJ$%` zNCS-WA}+&ebr_XNrKwbCs=3bykBOW{TPzEb@;Tn&9wPOoZ(1-y{Ol($eGhLizDypn zp~P|ehaj8LaWUDN+#)Y9R^xuoRhe>aw2>< zN-(i}$w#D={6$X?o^`?Jy%pQ{qy5d{W15JA8dqz)KJyCq=CwzeI%Go-S1Ms}dv}h1 zfNlna44LhkK<<#}f2{j4^FGLHuXxr7bT`9x*zXh3_B!XhPy1i=QQ?T2i78N3cCf-s z!-7m#%}qtzor;!n#^AKdfyyNEGWX?8hMc71xKNXH^ADfoI*%S0a&ra_VZh-K-uN)D zIfrm}h-;I^^>nTiB5cOUvcovh?rMq`R_Hp=(XMCiqQkhmjC-uxsckY8I} zGSy74v%-nPafjoS%$~|_q>F)m()T+3x*SPmZsaYLHy-`@^z%zf;j%hZMx7OA&r_6- zDy{=U5BMZO5kyPd*Z-x^{xHtjcQBRR;w_>x-)E2Mwc+MWKT#al*bBJL?5VAMh0Z9*t8?AZ7LTz9)R(Ksp2ykg^)3;!~4m9 z6c8Od4LLz@;=)nm7@q^KfdQ=mxrQzW^x5BOgcluCdkkY3j@dD~vDmb*_xf!Ay%h_- z$}?%i=+ksk!>W0DO80~y2n6K0XB0*lC0s^mb|^V|pNsd|y*~bd)+U0FK6$bYRuZe^ zWRZ;}t7=*?B180yrZ-S@tay5rxn7t;Vpgju8Dkt-7vZ87bR0kq_Z1g%ibl3oz-m#S z*}3FM%oH8Xb%yqg5D>=M*7tp}qncn#7m`{V0~jnTlS8k7(uOn7{WH{8#0 zGn@2y+qis~ae*BaU9z>y1_j6sXPI1IYn^vz^wl;=ZVbKt_8H#Sd9kJQAMe_}L8&JVx)z7-5w+?Om)@hfW=*lgqXeg$p zVF9VR!GF)v+BJqYuZ(S@YaNV?ZoQMqGxsMhK&1sRV5QWt*_J-bc zcZ00S(19~1^86*cW`OFPR-`p9VBB;Kwc9rIh7Q$AY)!0dY5Cj;9zdbd&pcmK&{Xf) zHpAX94cjjmMQRMGKN0*y0!bi*l#zvD^>oLItJ;O6)2L@&Vac}wz=?KO3+uf9Yqk+e zhj!b$n>eh>EY1VvvBs$%&+xq-#T2AKD()EjBlkdpZC;=IZ{diWsVQae#{a*TCa};C z{)&)wA`-3%TOHY4d7VG80vDDvKgqciBBTsN+BRL?gfz}1VeT8Vr8B1A7kXEIPEPS& z;0RIBHRb-C70fk4`yg+@m$#L8*J(5&-FpMGIZ(6M@CsR`@i*3{L1XGS5!w1q@VlD`)-e=+$upZfD8vlW+->X%MggJ zyrZ4u(ct?J%O|fD@7a}(YE(ggW8HUf=ZiArL zbTuS-RnrnnFhMZ&%=5n7;V2e_Rbz~SAZ=$lK0`SpMT)eI{6as~88X}e0?n$T5ciyN z?&o_SQHLI_Jht@qMRU~t!=4GY=1?yHj5;BICy4t%#sOiQbYe}Z)Gv!uri7nSsKR2@ z&$`{Z4+sAHyIg2OYm@{*?-84`uO^90u?QEYMy+ZVG7d=gkYcm9>S$kvQ*wfAJZDSW zcOFrV_WN4HkIq`DD_QGsc(<+Z>-6LW)faDN->qGBQ%geUFAzE}Cr2Y^eLf z;%Z(!+OTyT3+)eGcj|v1iL(D`#I7Jfr@@tH=koe_{?P+-Aum{b?P6Srf@{#on#DTb z^KUxyeDH^!N*lwYVNj1vD<^y7&xD!+fntM~#7R4vy|u9E1EvRg$rB&it44 zX!;x-?u_0x^u}TK2t7xAfnpV6<9Bw6`+zHrxWR~>D(g$^oSJeO#ayY+bIlCxXa^V8Y#x*nd2vf@?SaV_|v_O!r}CztQn}AjxLsA4W5ylru-F ze6&Y5QTUH+HSMxn|MBp<4@aBlzU+&kz5AH%I@n^3vyy9L^bx%t^3Brp;dm2eW1Y3HaVocA$T*` zSRXIkp`$@%$Zc#PKdE<5wefFkHnxE#a~+OYCf?@io+o|zK8Li;4p(aZhaIOv z&ANNvSTuq_dxuG+zP?-96)OWa6wHv|JMzX4 z5dU_Yvr>8-SMq-sb^wGuVH_pt4f%P1$e6R76{Tsz{e10Ps9!oj{=P{Y`hc(}q+`RL zun^bTlmrwCu;W&T5}KpqW-Y{LxbB_IdgV}z`x^ou9Cw?#!k&;0Z$$A5F`lJK3~cBr zFc=xqu!80(I%+Nk29lXgzi{0)7K z(r+MU{a4)d-rV>e_IaAe=I2%>yWlM6CgcH)i3>ZK{6toNmgz6f#_!`Rbb=;sVr)en z&wmO(r%=4k0Cnhwp%#|Z`@aqO{5?)SSXk7QXIKXu4-(n6Po+_k0Jx+VH~qxZkVG$$&A_qC}e8%ZQ0(N>R{A+>JX zI)qhE5eun_Y@`1l821OZR-3y%Trenf7SAik(62`6npw}Uw{m_Mr8Uha|9^#lyXVL{ z9sY<`)j|xvxn8Z=#J)UD=i|}Z)}h}kdtPS&uiSu<5o~bl=%nGr`Fvw@p6@i!>UU3a z!Y$abeOuDKe_LRV&=e{$KQ zQy2c`skk45>qpTSj29I=uZ+*{neIDM9b6?M3I%+p=l=joIHV40ttzX71Masv35YZG zxqolbezYk6_w6+^Rtm;z&`)Bh9@`3ZazXv#Lx1!XT#v>1qiBEnxSVyY_Czs5TjZ|3gcq#E<{qgTYT~;!acEOSa|yvZXvfol)O^8=n{v^lLCk zV7LK8e_QrC8!X5V{plY*4(mtI?q1nzM*73-y~=geSncTH?x5k(?vS^6FKzc<8uY#~KG6yKJ75sU=+}IkAPWjNoA(}C(4K~s zz$A@c6WYTodr8pSF+S`#f%YEFwR^RUVjTYMtldKd-@{Rl?uFna59ft%eg-V-#3Khu1Ztc4~e zs&@UK!V{j5uk6LXCyZZg!nnmI3}0|f95ucp_1#sX^&Z<)jBV`nyUHI>=<1rVmKx~{ z?7xk!{nzNNy9ypR+hLgRdqT}3y)jEns3_WGleVl74_YPU^C2O4UZGHfItHbp$jN4~ zWrgvBR_S+@1;z8Yc^HQId|!Ud63xhYlAU7pNYWMng&IS)P#Tc8pevLM1<&K=X-G&& K2zYpScyv~&-~HbJ literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..9cadaa47be26aa9170c1bb6df78c2a42d8c2acb4 GIT binary patch literal 8534 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 Q{8_SOxzWAp@cNVj0CRE)lK=n! literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..99f355af16ade9f73fa6151205ad9aaf5870cc48 GIT binary patch literal 32650 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 z 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%0D36OXK!qL{+3&=-LD`L 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 J@c$2M1pu9TZVmtd literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..d341081ddcb5fd36097dc39b1b3841ca87e720c6 GIT binary patch literal 11750 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


    ^vJS( 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 pL_`b&1~Xy4lmP}93 + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..6833d44 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + zkiosk + Toggle Automatic Camera Switching + Skip to next Camera + Restart Stream + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..02922ad --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,5 @@ + + + +