From 5af684370e2c3cbf822e7c6199f265a6d0809d57 Mon Sep 17 00:00:00 2001 From: rovo89 Date: Thu, 3 May 2012 21:25:58 +0200 Subject: [PATCH] Initial commit of XposedLibrary and XposedTweakbox --- XposedLibrary/.classpath | 8 + XposedLibrary/.project | 33 +++ XposedLibrary/AndroidManifest.xml | 4 + XposedLibrary/XposedBridgeApi.jar | Bin 0 -> 37218 bytes XposedLibrary/project.properties | 15 + .../preference_valueseekbar_extension.xml | 21 ++ .../library/ui/IntegerListPreference.java | 63 +++++ .../ui/ListPreferenceFixedSummary.java | 21 ++ .../library/ui/ValueSeekBarPreference.java | 265 ++++++++++++++++++ XposedTweakbox/.classpath | 9 + XposedTweakbox/.project | 33 +++ .../org.eclipse.ltk.core.refactoring.prefs | 3 + XposedTweakbox/AndroidManifest.xml | 30 ++ XposedTweakbox/assets/xposed_init | 1 + XposedTweakbox/logo.psd | Bin 0 -> 519695 bytes XposedTweakbox/project.properties | 15 + .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 6759 bytes .../res/drawable-ldpi/ic_launcher.png | Bin 0 -> 4490 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 0 -> 5177 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 9108 bytes XposedTweakbox/res/layout/settings.xml | 20 ++ XposedTweakbox/res/values/arrays.xml | 29 ++ XposedTweakbox/res/values/strings.xml | 8 + XposedTweakbox/res/xml/preferences.xml | 90 ++++++ .../mods/tweakbox/VolumeKeysSkipTrack.java | 155 ++++++++++ .../xposed/mods/tweakbox/XposedTweakbox.java | 115 ++++++++ .../mods/tweakbox/XposedTweakboxSettings.java | 26 ++ 27 files changed, 964 insertions(+) create mode 100644 XposedLibrary/.classpath create mode 100644 XposedLibrary/.project create mode 100644 XposedLibrary/AndroidManifest.xml create mode 100644 XposedLibrary/XposedBridgeApi.jar create mode 100644 XposedLibrary/project.properties create mode 100644 XposedLibrary/res/layout/preference_valueseekbar_extension.xml create mode 100644 XposedLibrary/src/de/robv/android/xposed/library/ui/IntegerListPreference.java create mode 100644 XposedLibrary/src/de/robv/android/xposed/library/ui/ListPreferenceFixedSummary.java create mode 100644 XposedLibrary/src/de/robv/android/xposed/library/ui/ValueSeekBarPreference.java create mode 100644 XposedTweakbox/.classpath create mode 100644 XposedTweakbox/.project create mode 100644 XposedTweakbox/.settings/org.eclipse.ltk.core.refactoring.prefs create mode 100644 XposedTweakbox/AndroidManifest.xml create mode 100644 XposedTweakbox/assets/xposed_init create mode 100644 XposedTweakbox/logo.psd create mode 100644 XposedTweakbox/project.properties create mode 100644 XposedTweakbox/res/drawable-hdpi/ic_launcher.png create mode 100644 XposedTweakbox/res/drawable-ldpi/ic_launcher.png create mode 100644 XposedTweakbox/res/drawable-mdpi/ic_launcher.png create mode 100644 XposedTweakbox/res/drawable-xhdpi/ic_launcher.png create mode 100644 XposedTweakbox/res/layout/settings.xml create mode 100644 XposedTweakbox/res/values/arrays.xml create mode 100644 XposedTweakbox/res/values/strings.xml create mode 100644 XposedTweakbox/res/xml/preferences.xml create mode 100644 XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/VolumeKeysSkipTrack.java create mode 100644 XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/XposedTweakbox.java create mode 100644 XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/XposedTweakboxSettings.java diff --git a/XposedLibrary/.classpath b/XposedLibrary/.classpath new file mode 100644 index 0000000..a4763d1 --- /dev/null +++ b/XposedLibrary/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/XposedLibrary/.project b/XposedLibrary/.project new file mode 100644 index 0000000..234cd0f --- /dev/null +++ b/XposedLibrary/.project @@ -0,0 +1,33 @@ + + + XposedLibrary + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/XposedLibrary/AndroidManifest.xml b/XposedLibrary/AndroidManifest.xml new file mode 100644 index 0000000..9803197 --- /dev/null +++ b/XposedLibrary/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/XposedLibrary/XposedBridgeApi.jar b/XposedLibrary/XposedBridgeApi.jar new file mode 100644 index 0000000000000000000000000000000000000000..b7631cb7e1c872360e75534e18b07b4b0faa5eda GIT binary patch literal 37218 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¨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 literal 0 HcmV?d00001 diff --git a/XposedLibrary/project.properties b/XposedLibrary/project.properties new file mode 100644 index 0000000..fec2d61 --- /dev/null +++ b/XposedLibrary/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true diff --git a/XposedLibrary/res/layout/preference_valueseekbar_extension.xml b/XposedLibrary/res/layout/preference_valueseekbar_extension.xml new file mode 100644 index 0000000..8bc7271 --- /dev/null +++ b/XposedLibrary/res/layout/preference_valueseekbar_extension.xml @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/XposedLibrary/src/de/robv/android/xposed/library/ui/IntegerListPreference.java b/XposedLibrary/src/de/robv/android/xposed/library/ui/IntegerListPreference.java new file mode 100644 index 0000000..9b127dc --- /dev/null +++ b/XposedLibrary/src/de/robv/android/xposed/library/ui/IntegerListPreference.java @@ -0,0 +1,63 @@ +package de.robv.android.xposed.library.ui; + +import android.content.Context; +import android.content.SharedPreferences; +import android.preference.ListPreference; +import android.util.AttributeSet; + +public class IntegerListPreference extends ListPreference { + public IntegerListPreference(Context context) { + super(context); + } + + public IntegerListPreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + public void setValue(String value) { + super.setValue(value); + notifyChanged(); + } + + @Override + protected boolean persistString(String value) { + if (value == null) + return false; + + return persistInt(getIntValue(value)); + } + + @Override + protected String getPersistedString(String defaultReturnValue) { + SharedPreferences pref = getPreferenceManager().getSharedPreferences(); + String key = getKey(); + if (!shouldPersist() || !pref.contains(key)) + return defaultReturnValue; + + return String.valueOf(pref.getInt(key, 0)); + } + + @Override + public int findIndexOfValue(String value) { + CharSequence[] entryValues = getEntryValues(); + int intValue = getIntValue(value); + if (value != null && entryValues != null) { + for (int i = entryValues.length - 1; i >= 0; i--) { + if (getIntValue(entryValues[i].toString()) == intValue) { + return i; + } + } + } + return -1; + } + + public static int getIntValue(String value) { + if (value == null) + return 0; + + return (int)((value.startsWith("0x")) + ? Long.parseLong(value.substring(2), 16) + : Long.parseLong(value)); + } +} diff --git a/XposedLibrary/src/de/robv/android/xposed/library/ui/ListPreferenceFixedSummary.java b/XposedLibrary/src/de/robv/android/xposed/library/ui/ListPreferenceFixedSummary.java new file mode 100644 index 0000000..d85dc0a --- /dev/null +++ b/XposedLibrary/src/de/robv/android/xposed/library/ui/ListPreferenceFixedSummary.java @@ -0,0 +1,21 @@ +package de.robv.android.xposed.library.ui; + +import android.content.Context; +import android.preference.ListPreference; +import android.util.AttributeSet; + +public class ListPreferenceFixedSummary extends ListPreference { + public ListPreferenceFixedSummary(Context context) { + super(context); + } + + public ListPreferenceFixedSummary(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + public void setValue(String value) { + super.setValue(value); + notifyChanged(); + } +} diff --git a/XposedLibrary/src/de/robv/android/xposed/library/ui/ValueSeekBarPreference.java b/XposedLibrary/src/de/robv/android/xposed/library/ui/ValueSeekBarPreference.java new file mode 100644 index 0000000..bd5f9a1 --- /dev/null +++ b/XposedLibrary/src/de/robv/android/xposed/library/ui/ValueSeekBarPreference.java @@ -0,0 +1,265 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.robv.android.xposed.library.ui; + +import android.content.Context; +import android.content.res.TypedArray; +import android.os.Parcel; +import android.os.Parcelable; +import android.preference.Preference; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.SeekBar; +import android.widget.SeekBar.OnSeekBarChangeListener; +import android.widget.TextView; +import de.robv.android.xposed.library.R; + +public class ValueSeekBarPreference extends Preference implements OnSeekBarChangeListener { + + private int mProgress; + private int mStep; + private int mMin; + private int mMax; + private String valueDisplayFormat; + private boolean mTrackingTouch; + private TextView tvValue; + + public ValueSeekBarPreference( + Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + setStep(attrs.getAttributeIntValue(null, "step", 1)); + setMin(attrs.getAttributeIntValue(null, "min", 0)); + setMax(attrs.getAttributeIntValue(null, "max", 100)); + valueDisplayFormat = attrs.getAttributeValue(null, "displayFormat"); + if (valueDisplayFormat == null) + valueDisplayFormat = "%d"; + } + + public ValueSeekBarPreference(Context context, AttributeSet attrs) { + this(context, attrs, android.R.attr.preferenceStyle); + } + + public ValueSeekBarPreference(Context context) { + this(context, null); + } + + @Override + protected View onCreateView(ViewGroup parent) { + ViewGroup originalView = (ViewGroup) super.onCreateView(parent); + + final LayoutInflater layoutInflater = + (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); + + ViewGroup newlayout = (ViewGroup) layoutInflater.inflate(R.layout.preference_valueseekbar_extension, null); + newlayout.addView(originalView, 0); + + tvValue = (TextView) newlayout.findViewById(R.id.valueseekbar_preference_value); + + return newlayout; + } + + @Override + protected void onBindView(View view) { + super.onBindView(view); + SeekBar seekBar = (SeekBar) view.findViewById(R.id.valueseekbar_preference_seekbar); + seekBar.setOnSeekBarChangeListener(this); + seekBar.setMax((mMax - mMin) / mStep); + seekBar.setProgress((mProgress - mMin) / mStep); + tvValue.setText(String.format(valueDisplayFormat, mProgress)); + seekBar.setEnabled(isEnabled()); + } + + @Override + protected void onSetInitialValue(boolean restoreValue, Object defaultValue) { + setProgress(restoreValue ? getPersistedInt(mProgress) + : (Integer) defaultValue); + } + + @Override + protected Object onGetDefaultValue(TypedArray a, int index) { + return a.getInt(index, 0); + } + + public void setStep(int step) { + if (step != mStep) { + mStep = step; + notifyChanged(); + } + } + + public void setMin(int min) { + if (min != mMin) { + mMin = min; + notifyChanged(); + } + } + + public void setMax(int max) { + if (max != mMax) { + mMax = max; + notifyChanged(); + } + } + + public void setProgress(int progress) { + setProgress(progress, true); + } + + private void setProgress(int progress, boolean notifyChanged) { + if (progress > mMax) { + progress = mMax; + } + if (progress < mMin) { + progress = mMin; + } + if (progress != mProgress) { + mProgress = progress; + persistInt(progress); + if (notifyChanged) { + notifyChanged(); + } + } + } + + public int getProgress() { + return mProgress; + } + + /** + * Persist the seekBar's progress value if callChangeListener + * returns true, otherwise set the seekBar's progress to the stored value + */ + void syncProgress(SeekBar seekBar) { + int progress = seekBar.getProgress() * mStep + mMin; + if (progress != mProgress) { + if (callChangeListener(progress)) { + setProgress(progress, false); + } else { + seekBar.setProgress((mProgress - mMin) / mStep); + } + } + } + + @Override + public void onProgressChanged( + SeekBar seekBar, int progress, boolean fromUser) { + if (fromUser && !mTrackingTouch) { + syncProgress(seekBar); + } + tvValue.setText(String.format(valueDisplayFormat, progress * mStep + mMin)); + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) { + mTrackingTouch = true; + } + + @Override + public void onStopTrackingTouch(SeekBar seekBar) { + mTrackingTouch = false; + if (seekBar.getProgress() * mStep + mMin != mProgress) { + syncProgress(seekBar); + } + } + + @Override + protected Parcelable onSaveInstanceState() { + /* + * Suppose a client uses this preference type without persisting. We + * must save the instance state so it is able to, for example, survive + * orientation changes. + */ + + final Parcelable superState = super.onSaveInstanceState(); + if (isPersistent()) { + // No need to save instance state since it's persistent + return superState; + } + + // Save the instance state + final SavedState myState = new SavedState(superState); + myState.progress = mProgress; + myState.max = mMax; + return myState; + } + + @Override + protected void onRestoreInstanceState(Parcelable state) { + if (!state.getClass().equals(SavedState.class)) { + // Didn't save state for us in onSaveInstanceState + super.onRestoreInstanceState(state); + return; + } + + // Restore the instance state + SavedState myState = (SavedState) state; + super.onRestoreInstanceState(myState.getSuperState()); + mProgress = myState.progress; + mStep = myState.step; + mMin = myState.min; + mMax = myState.max; + notifyChanged(); + } + + /** + * SavedState, a subclass of {@link BaseSavedState}, will store the state + * of MyPreference, a subclass of Preference. + *

+ * It is important to always call through to super methods. + */ + private static class SavedState extends BaseSavedState { + int progress; + int step; + int min; + int max; + + public SavedState(Parcel source) { + super(source); + + // Restore the click counter + progress = source.readInt(); + max = source.readInt(); + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + super.writeToParcel(dest, flags); + + // Save the click counter + dest.writeInt(progress); + dest.writeInt(max); + } + + public SavedState(Parcelable superState) { + super(superState); + } + + @SuppressWarnings("unused") + public static final Parcelable.Creator CREATOR = + new Parcelable.Creator() { + public SavedState createFromParcel(Parcel in) { + return new SavedState(in); + } + + public SavedState[] newArray(int size) { + return new SavedState[size]; + } + }; + } +} diff --git a/XposedTweakbox/.classpath b/XposedTweakbox/.classpath new file mode 100644 index 0000000..8564b5c --- /dev/null +++ b/XposedTweakbox/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/XposedTweakbox/.project b/XposedTweakbox/.project new file mode 100644 index 0000000..a4a7279 --- /dev/null +++ b/XposedTweakbox/.project @@ -0,0 +1,33 @@ + + + XposedTweakbox + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/XposedTweakbox/.settings/org.eclipse.ltk.core.refactoring.prefs b/XposedTweakbox/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000..8d75616 --- /dev/null +++ b/XposedTweakbox/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Tue May 01 17:10:08 CEST 2012 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/XposedTweakbox/AndroidManifest.xml b/XposedTweakbox/AndroidManifest.xml new file mode 100644 index 0000000..7431c57 --- /dev/null +++ b/XposedTweakbox/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/XposedTweakbox/assets/xposed_init b/XposedTweakbox/assets/xposed_init new file mode 100644 index 0000000..d576fb1 --- /dev/null +++ b/XposedTweakbox/assets/xposed_init @@ -0,0 +1 @@ +de.robv.android.xposed.mods.tweakbox.XposedTweakbox \ No newline at end of file diff --git a/XposedTweakbox/logo.psd b/XposedTweakbox/logo.psd new file mode 100644 index 0000000000000000000000000000000000000000..17bde704b158bfd173de279f8c1fe5cf44493405 GIT binary patch literal 519695 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

dJpFiPmZ+?8j*0Rp_Gzg0XdHu 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

UJujW9{A2z z6ILBaEU0NlCfVBVg*1H$7Jv7eIb#`tDOdk9aD* zKk{b#{nfWVAGdsOTyAw!8*<8>DPLbzlpYteV+Ch7x#jDB2gnc_>!r^%z*j{uFs=pZ zEK~El%@!6#>aYTlnfD#+?7jKv?~8Yz&#G)}Lz)-A1sfy(+WAA^K7pb(=t1W~{ciy` zLa}s%xusJP6fDgg?>5PGY->w%3lePYmF7Qbs}3y9dax4FsW(5FuZR3HfBV_=@*Axz zpYPcUdQ@)8*=V9iee!Y#!!H6~LaT8Zx?+=(@N1D=$JEu-)HXD?-uxH2Jg#D>6mL~Z zS0!(5T7rg;n!WkdwbJ?)q zi=U&#RVf8o1<1f#oa7I_pT7QBYB7FKm9?YFs`{H@=afhi&$@ysCDIlEWq4Yjr7dnq zu3slyO1PSj9dMJy+M>l-DQ2Tzf)ho?>D_N8tvQ@jP}_{n=fX)=R|n)7KgnIB1sH3J z5*R8@gYOXzXVi80-lzj-uNBv~-t;$cyj4J9jb)KlAZdHcCTsl4{Rw$BI8S9*9w%&= ziH5UWBHiH!FJS=XfM=}SL1_#I+u#?(1k_2cK}(mf+aI4>bF*KtnZd4<`RBf7_7l|r zjl_u_I%4e7J(qH-aEglY3#7w2#!t}Yarh{2fAS-TaCowxw!`om$@RHECd}U!i^RoE zroR~xg_`}Rh@u)SIB$1$gx~n&w}m^;WmX_P0q`{5+hpv{kH0YR?GeAtUdK38b!sA` zT5^5r^B*QhoJz0yi?MnBp98NHKGp!B^H$8++-+yBmo>1#tNaYAyhQSPBJlN(f1S7a zs7)TDQgZ#*yPuC+ef;JlZz9xnmq1-9wyXgZDIbAhKhE5Ef{a-^QoI2M`voZe-vizq z34@nfpk^@2CD#XE|M>UtzZ?{x>pBH=Z7e%Nqk73!Y^tzg7<721agjUyd+>+9EZvt_ zP|MQ52;)j6*Z&#v(O(X^(FS#GsmXq#R?3oXR`Ayo!w+62n}s364NgLd)bYunPsVYY zBTrY9NUjguazt%xL;I-~xU$APMRW61XqDpAjk9!p^7YTgZ#bJ>+eW9Sdl3d4e5)zC zXi-<%M0HY*#t1FheSsMv?BFbKvmu{)eZ<5~=W^@X3eX~;;MPNK(4wxb2z}~+*lSG8 z4sK#7-{5C(`|u5w0g)7_8ku)H18PuLP;|v)MDdygK z!1W5|Du=)I2)^Y50voY`+X!r&aR!H4JHt|}B2MltS8+Y^_!`jlM)5ov(8d%L!W7U( zHAD^C@o=$V){x9wj~8JJxgtPrK(@)K^_klH%Mp~UGf24dprvap#g`RAG28Or4j4X)f+GO0zXQML8BWqY|xj&C@`fY_Eu z&KPObQ>Sh{&MI4&xhlcERjQS|2}SMy3cT+{J1Kx}rL`J)!MIjVPYrs~_2lggW8;+7 z7Yu3zZ;E*=&j-H#(NFWXok=f4P>f;14FETy&cAm&ep`buM~ty~$=>X0mFoGvd;X;% zP{x~1ToX=p{5kzxHr-nON&=jB5@%QVB;DE|-|Jrp|6UsW{&#SnQwanjC(heG`Ghr# z)Hb+I#Xq-!*5=inMWeyrOj>;?iTld%>SFEq{VU*8En*B@!YP|8kGFv|&9RaJZ+{UQ zwlALHHduqzuGd`Z61Ax3T0)5X`;q=aBL*3nI_4@Cm}_9Jf#S zGcy@gl^xrv6JQ2=b?F!I+>3)h_+jSeQ`d#!i9BYPaF&3+UP%Z7Q9>VTm%J?fo~Mug z^`x~&wnzF>Dt_9N0KO@m*v7Ko+9l7YhrHPT!hwvpl1flB_k-s;xg($r8}Ti@8y#-i+KJAUB;Dx)D9V_QAYSeLdIWFtU;A|S_a zuU+z()h3c6D$=Y?n5r~W9yVArVdA6glOb$ygEh-4MeepshEj=g18=dx zTH7OK9>brgqU44(hfMM=JATSMwKk*?QY2gfrVAf$!|R+2pomv_G+J}9Hj(zp5ZTK{ zD`;ACcGx9DNk2A$MJ>f_w@=93qj&{H6JDjm;@Bf)p5*2k^rgUEni;LyZ<`&zX1>(X z`RTzQ{>DEq36cV~+9&5<&%F}--5dt!H-l;|joe~~oCQ*+9s&IVhki8`)sS_q&DLUs zL!0dov`}(KI`%n|wD}xrCz`>-mf| z2tx%WSl$2k1G`l6BD4xA`L8EZ$OhE72^?`LJi-oP%S3?2p)cg{;FL8H0X*K@9&yX% zcM<1a8j=56CihZ_(l`K`4}8pAQ=P@PiJ4Y)u-8otI3 zVJjproFxjazLnV-^(feuB3IiXY$e5MoIx~xC1+XGk+3Rzgss9FFn9%^J763ZbJy8D zPf%{fq52r4ABvP(k;tcdXM4WdY8fseTEG^BM)0L-AkCrmF?&{YwE*IPj!fHdjDddD z_->BvEsO0Dw}!wFI$6PA6BtqmhqMaffMsNR+OvJvs)q~c2hXw#ffcXWBXFJV@nUdC zB|e{HOJ$Tj@*=PtL;wV{>gRcaH&Ow4POUXL|F-A+NAOeuKVm1ZQOd5I7@QI zBk#YEfun6GJg>r(k=*vT$M|ek&fJHiL7!tdXfaegG3DpkCy=97ICaxEaBEfsd2CU- z*<)+BDCdqSG0BBk~U7M%SZ2ZcJwj?1tl^7H$b2aHQYX#gqS@?r*GEglh+7NEVMdSc}r3j z`>9o#-R$x9b|{B%Bs+vGwcj01^J zdW&(?M6GA(4tvD!R?qEE;0ek3i}+TE_dFGUCAUJ9u~ujO!=9*Ox13t|;QJXHj=#7i^F8z1kBW#ZzJQaY(#NpP9IMPA7kp-q z^aDaMyh@58nrEfx>o-8WOJ5=jit7Lx%Z}P3|Df1CAj*$fw2PCoAV0F6MCMpI$YHd@6uIM4BCP!8+&lQ7*#v`itH4l zr_%TLu13btGF-WdroFLbwLS8W$(CgZBWEM;$nM?otAcoxU&y7wbSYY9H+#^{W2%0b zww}jjw7iuhU#y&M^H%ZCg1ifgRst}=V%pVI0F5!c}h z1(ZQN!SSN@n-oyigZ6;&r;KqP=A!j@i+-wVPPM{N0xxDz$?4? z0uvS1o}9!P;dLT!EyFFuCif=!3b>D-55j)1J@U^g3PMF-nEosVpM!3a61DymBibWB zR(3ooMiiI~zR&O?h}W=8X?e4suqO$0PF4^>!$;5Ff{H7yAm$W;RHHq=FfaCr*9MRb zw!zPjFCghk;XVr|eeB7Jo!5nvfN`+ARo*0DVT{u9BD}Om{sl!pi0~5nAHUx(AIv7p z+e(Q(MVt1BzbGpQ5p7Zu7ve#quEpvq<@vO_xdHYhHc^YoQ6Ej{i2=fM!2px*p~dH+ zDAYdjD$FXPP<;M)u(BauFeOMmw;&v~C)XRNCLRO~!t%zaf#NH(aM|*f9kxe2iW`M)PyK0G1NBk9yb`X>|h#z?slxy|MU5+2y zLp-`Flmi2-c=8S6!>>TR!j_@cMa7jp;!&o^sj&>Q;*lvne>@5%$`slRU*4nk$Vc6u zT*Cd^A^};k!<7p8nmRc$E;;`8(7sUD$MdFOc@b(wrKtEqLsDn}%O7-S13$g+9qf}Y zho%Z@1@YsOQ8l1eym2Vn9!6X`tuL?6oV=F9RuCVP1o2938|_ZG4)%!0RarjI_D5Ly zC*yKAA5npr} z?qdT(Al{pVYQryz9_msy8*{BE=Bre%g*-8Y?*upf3t4;E?l> zsl-{>PZTHGBlE1(!Ryx&d{W#Jk6M&`ZEQucp*=EBV>{6oZHCsOr_!|n6@`QU7iRqG zr=R@iJuW49%g4F*0en!rNt=Z_mVBEi3aQ5mok9?v4{0;|IsA9{-lQZyk20jjqlgkF4D zwZJ-`U3^^wDOom=15nd{7;2e}Kc$9U_&?t|m##IY2c@z&W1cR?cYw#aY%FNIHM( z)Wqdj#&XU(rbKY&ZHQ^Y73$ws&9F|R8-VHIrVNGQ&OCyetS2trdQQ#s#NssT6stp2 z4|<6y!^S};LdtCj!IM!vqNZ3Uvs-!TU8Qu57tW)IxLf~}cJ>_EWa~t{z8xYlDT=Sn z6jXljZAh`=uJMwI*72kj=!a;%X|fi#Ap#m)IJEvUnFd2?rhd=jif!MB zPzZ3cHcW7v2oWy#i2ELB!$L3JQp7^Z39mOpL@2!^lpQ+lHcE{ddK)I(Xu}iHSksbXw3%NKttG^jqLs-%<+hh7L-*!Gxe* z<3P{ZxP(W25`$EJCSJI?1>Y2xJoh|M&xGLN8{9iS7g7|LlvWu`k6TK?qwKgux{iqf z9S?Vi&nGeRdlfVzz-PA73MpDol3dxb7mZ*K%BsrK0lO#Z9@@SHWGyz2b_Q5O885d{>YV z0ltIsNE-i^GI0N}Z$u%JQ2-C&H@8&~f+|FQqY67iWrzP#3Yec&!|QOZFy6jtC}5Hh zwPpv0n4A(cX5NmIPY4zFE}_mkI6w*MU3AX$kFwU>zo`fAN8EKf)aEGP=9> z)wFabCym}T*d$%H^$X#k8g2v8Ze!ef5aU-uH}&?6PGfSeK~K!_+5$l?@?90ACtwZ! zQV<0bLyG7{c06cyjY+z~RK+%2G$>y}!M-(I)oaG7xhwbPSglp#3Z%nKSzKX)QmhV% z{@Wo(xm<#2E_zSH@QFI9a>BjyC0w}cAD64(}HxFadGoGw;DYmF%rI+}q0)Rwmw?FnkVY2pD=t20gppD>jaG zzX<){6OHZ){>#2*;dqnojt>Mdsdzm2BI|sCIm!E}x9SOU$28qIy5x2Zx6sl<=2Qj$&`6!^E9o{Z6r?9fOWqw~lnVNk@7h==-Wutm6staF030xE_yKqcn=Lehg!Ue89qK~m&G0clSg>G86ja)~Qet7BJ zYi3gn>v+WKP#$s`x8G_#HS!p$V4n>fdn^-j7tC9V0uHki?_t~TjdLaM%M3+uRvju0tA%m2=&=Xr&0%lb#YaX>ua6PUb-b=yF? zJsodgcW`@~p4X+1f_$P$C%kLfWBUfyX+0ev_e{dWd?Hv9lBWp^j6>mRZugl@>shyT z(BC0hQ0dOkCIj$7sXcjDCY^vQgcPo0eb(UYJevbc;`{|+t_>`BK5WtlZ$Lg9w}$lz zCqFI^;FYu2G$4RC$SZ~4RA~Hlc)rm$BAj(vg;Vo~8<|fInl{phD4t-_32*VZ{n465}wAQqSlGtOqco*7;sFcu?5Y zcM}$gI4Fh=ct+XFVSej;)?+SnipWQ{^p0(5g$nV^rkSRncjVQdVrxR9)$}jY!)p6(Zu#@HD1M!_uG2KHi|}*u(|K0 zXB2cMU>4RrqCqqQz=EgfjE&|nm!e*@0)mqLhCvYCE(^-86-|JV#Q4qEj|Ke0FQ!^) zf>$(_c3G%zgvY?TEUHu*wX@B*Sl?ju-r-<&kOy39? z#6!^~N+aM9ctI*m-wGH5?0K=$3^+si=PUHBfFXQZUZ^wzju7X+O5X?=fqz`S(gg%Egu>r2pN;xP*o{76*Of-4sxKc;`~;drZhv8offo3-wF|QP})_c5u)gr zo`zZggvdQ(Qk6yslYyxiIOT|cVF^=|W_XXJ>MN(6`Vn{HoPSl7q%=c_n;d8$03&t{ zOiol9A%5N2!$2ZMVA^A6ywV84DK?FPi-@ojnP+6Lwr_lz>h1y~U70JxM3J_L$NPL04LkA$^Ik zDk$x!(g>kdbWcO}3=f6$j6SS1LI~Bm$jgxOL7e2ZsP&N2>>M)`hV;dGW*iPE%@7+U zKW9iRAPRaed7shr)jdg0rEwFgZDW1D9sS$6owd(RJ>sk zQn*`bgox%sF9RTm;HB4vol2vlv}p|R7+#I=jo6_yI>G`@1IUxgOu%-f8G@7Sw+x60 z!jQMJwXw7^XL zfCwJ~uS6(~5JE)vGz2FI7J5dnRT?2+Xr1Y0@YWF-;6$%cnnkirV{m&B34C52uCzil z5a(}jKH>NK$E{QvZN;9s-{6_yhI!xZVM-(T`LF{94+b7R?7(uR8NB+!_YK|%{P*C( zrAj0C@Ugwh^&boVdau~UN}~wM^i}E`;WbU4RST6y>)4*D*0-u=duD;s3{H7QP>sG7 zJn*2jc}gRA;V~$b(d`*{+>gf0Q5wPPh8<|ow}OieJ1|>mwgS86Tc<{Svql{0Z>wf1 z&EQxk2R7+j!HW(|o~|^4Cmq$JMc)W+bC0O0N+Y<=?D;t7DwMzKx^gA2&g1GS4bSNWN#;`(pG67+%x5C`rCj#GgtNxWC9Xozpgn z!?H|h2-P%!Czc(I=YQ}Dnh+B&IR$51;o)*Wm;MXDG1d>_)kcXp$gyoUjR0?k`NU}( zC6V@Tv1!zd?J~-eply|cgFLF1GC}Hqz;4rm61A;TX{$8aG-{w!O_H|JRUG64lp<3l z)wAuAqHUGNwhCox)MmBpFkjI&OJ~}@)}|Ri_v9C@YFlMcilo}6Q6*V`G;O0S(*Bh; zjViERrn#qUTjk&+Pivw~iTb)L)f>P4jA*wpBGj_8B&fu9F3* z&^D?i?SI{-Q5rVQ9Iq;Et9qQ{IjscSs{>wTo2Eu>c3%hN@exm6wP}`0ka{g^<&2a1 zm=6Mb|HM?AHp#SS>g6_1KjZ=x)MI?i4k?BDZjwQ8KzSAM;E@Y4@;b#r!* z@MM##cenp}?5Y3s@$VnjpjXrU?db{MyxHfWyE-{L;C2amox00?5BkxMer*q>IMol6 zsJtBg-t+&u$HU_2(8Ql5zQgxn_PBINir$=f-iX~Cv3%yQAum7S>+Ry?P>&8yn1TE_ zbdjx%N-@0KT#XLu)6Or3H|hEh;yuvx!-{OZ5|-WgLUWK*Drk+BH= z{?p2Btv?~RfzkU1zH?-)T3eTc_n^rHH z^xfM5kFZyW=_PbbqU(JRJx=TJ?s2`d;>q8=|7qBZkKN~mH-*#LZ}PbF?>+zhEPm5B znYJ!aj@7d{Vaxgzv&Vco;K}Y?T%8=QqJy)Grw^Y*zgg9`j#Zx3lf5v%;7|F5`4m2h z&iDM|f1k!AUfF_6Otl|2-|#y8Wj2XUUH|qlo5ZkKy&vdVdwLVw*f070jV2MtCvjJI zK8ewJw%%p2&D-p>yU)`kT)lk$=TWx37uM;0R*%f6jo}N%fBj}}_O$w0zP&r&i#f0} zS#C3hGI@LdAU}+Lil$)c)RoRA_C`p&-of^)XWRRik6wP9ZSP}Z3T%7(`;RH8wi%&H zyS>=~J8uY<{M=smm-wy5bFrCl?wkI?wnrK|=_O2D%d+Mn7`#;LIcQl)V z`yGFOL_Ghlk6k<)FDToaPUvpiDU2_*jfid-w)YO20)Kp+cK6yweVpZ4uy5n)MH5H9 z?az1jHu_1LBYIFDzlq&F`UC84Pi%}$d=C7GVt1$6Mun}|-EnMpe}diJ8M_-7ok7cJ zj;L*{*)DeXd}Vj9u|1-%Y--kiRV()P0qE+<-vzI!C@61N7o)u>9{r~<{NwZ z&mX?z$4=*RsUs;paXKCSM`x))_I#^D%Vqa%uqS_fHmKJFbT$`Dt~i@s>})#s@qcc1 zwN2QLJ>5~WsTbge$7)si)B{V)|Bn*SI!+fVsHm;aHitLbLUR3 zUfq;4sRcsZa`tWvUpSFAvlH#+Nw81u4*bW{Zyy{rOWDjTteq-jpsCqbzQ@B6KYfDa zDbaa^xnbw=<9ID*<8ec5#r{$q<(AZWGKtL@s3^{eKM`yz;| zX)u3VX)D8C_IT_mY-OBAExP29FK^?A?{@FtKzw7|m!!3qK?k*37;S9Wn5 zI>`1Cr}0@Rlo2T^6t>>#*>uTf7q_6p4K@SpWU~1F{u9epfNi6)i@$vBKmWKBhK4xZ z4Pqx_4$RoBZPem+o<)2gza#c>BYM=)=~9i&(BoP>P~OVJ#a3=WhZ^c&amRLMllV4G zMH#n2M<>u`{{6E-Pu)+Oxegtw2=Fz{_>$v(v|2yR-gP3VK7H$sQ_*ilys8V)qGQz zqeC$|utUjgO}{yHT3FbF?du8O2qj&L_C;(C>{!yyhX1!o+1k<2(noMAv9+Inl=)F5 z=usf%ARNJA=T#7Uztxj(?q5S*d4e{#LlHXUi859EU z)h;!ooAk13lq z&gzk~2VRsCBqX5yCEGc?y1Ds;(jh^1qkfd5gn0D0K%bS&4)+G%i&gV_m-+5qK8vCR zw!1H(!#Va@5$p71yL)t|nk`J0-KcS24B@-`0y>;U2l56V;3srpoi+z4?`{z#oJ0FF zY!2EJdQO?c6*WwFfrkmP=)v4U%s~m&)Qsshw!IN1DBJrCI-HQ_z_s`9d1@Z^I<_~3 z3F`Jfg%0FDY67;U4chFkyuIHR+xsLs#Mo}{peSwD*b`waZSP@Xdml%KBNze7`;NcM z5u2Ke&Zg~+$aePcpNj1rgARwp9F&Mno8k7z;DPQN|78Z~2-+VIQ@{y@Rzkq0O`I#c zyB~BncK2a)*iXMm;|?CuCgeSBf?r36gXkb!S~X%*)BHtpj4<{y5drTn+*M6#bGyMzeXR02h% zyt~JKKIG~Dp*Uw3I&4P=n}97x`AJn)T?`zF_S@7shae?65IjZ>g14aqx#eU-`3Vgeoug7y8Vpgw7IfG^bI`_X#mY}YSW&cp)9S@) z47?c~*7M!125ed)jXnn6hz{#$4kBPfgclO8(sNo2G4OhHSR>{jcK4V9mGsjl{3|sE zUWX3hYz~@$txA~#!itiE6ebX)!@`8M=&(w6LZelRl9yEz0ed6RS&jB9*c8-&EmdYc z{b`k2Jm8qDn9Cvs+8C?Qez|rAFrh{D;s=39l^NAZ8~?6A^QH9rwb9xQ(H!ioayTU& zmr$tiFBU3!LO?l{Vqd$JQ={9L+;^zlP2@XrdnNEQ+H6X z@VR9Ow>(SGegXUWnzPv|e$Of_8}-$iIXU)|Q^0KBrfrCqe2VeQC~9TxgJ zkxQ}=9p)kw)Ofe=9+$~=v#jnmk*|Z3!+f-#&3=z^Fn`SA!Sx)&hMtSYGo?;Sq}Ip3 zpTn$bnHA_&C@o);M``u@WlCa85I8KS^??1KG`0iPn}e`Aakb zFW<>cto=kx0O6V&JCH11<2=x1Ryj_PL*5&#{dh!!j-6D8@Z)&SH4THBzHAfo*0c7Z z{Nu~+;MiiB&#D7*YDH@++S|lytJ%+A1szRMuNw5$hz{+#!+4N$b5~pSKu(qDKoKD` zmvX?y3BYSfN87{*6{15kn}Q}_lUc?*Mqsfog}!B?eUsSGYP`0Q%>m({HvGkIE)_i} zB-HHap)s5@jd0L50Cp%A9SCz(;x&K&Z__w8doyimn+Uj2bf}f*AjfMm3taZ1faFjJ zoG;qfh&c#=6Y<&(HU~t59H&%b;5^ZTB0`#j@CM&K!+GsH3^8zy=s>WpO}xhG^E;J| zEyuuFqC*)vXyUb5by4gm?Sh@L4S_R7hf+2Ptvk4v^*}htwDk0!2n^lcNb zQT8X)dJ0~Ytg{)wb6&K+B6hcWLMb5>YDF}t3xUsx9uyI3PH6CPUiTEMguuWlSqOYq zbV#C~B*$xXLV11FdF*Z$0{Jt!p9oX`*BudoiOh8XyO=x|z| zgB-9?_9)bP1u-y?OEm`GC)%Gxdz*NTl1HIdM1$l@Et#r>z|o?^3ES-*6qU|8AR5#G zJbOe3iU@7uwM^C_Lk<#@5O}xfa8yh|iPy4OhfHOAQwR*@y;HQ8GY}$PTir;hqfoq^ z=2@ixJS>wCDLPO6E;>*|$m|crqod=p5oGnz?(!53JGnFXesMZVhDjZhz=|*!j33( zcV7f-lslq2aa{-;A=>Z605wsvGg}@BpVR^FUq60;QHt|{$>(D6gZiK)9co69<6&)hP6vXcS zy?}B@q1GmS2)tOdU(2ST3D+of6lz5>IfF}ZuxvlMSr4)msJ=3&K1qWkULW2HAke^CRh;( zR(pVPTKVEOwoL)khz6jsa5kKCIIfi}x12;8Kw;~Rd zqh3p(9~cde4pT(?1(GBEc-1XDKEpcQ>Lzm<2K91gInzm^`8>)V;Zw?4?;kSha+{7> zBIgTAgCkJm38M8}N*>8+H3Vz3s^{QJ9e1&l5%L0vcW`tVuQbPdn3T4cV;ux*^Q;I1 zdC;rGycA)E;(v4TxPo#ViO4Z5cD{9<)mx5vMaWC{%g7yC#9mf1YYPzw%K2UaR8rDN zZcoW0tvgt^m;yoFKBmib^32^8fh?br@1-k?$1GpCIk`EGw6`O-B>a_d4+Fn_D1yS6-*zB+L5pqKrh=;7mm^aowYBsT(wJt!>< zZ5(rlv%HA>2M|Vk#w@dn!bY`286)Q|#nf2!qWXslFe|^UT8x{ph(SzQA6XO_>4C`$ z>3XZQAiCa4{&%oHdqmHt3#$&J(op^PT1Ls9N0(56NlrN}xd*7`A?1{|q#7bhj>&&$ zAin-Ax+*F;Q2PxUL809;gK7bzPz$KG=giFM)|Ds~YpZ6=aLWJ5;y}6#&ch>ySu4@P z@$~8}6mONI;!kbSMzl;^my+?rG-~5~X8!awC1@4ruiZmd;^LQEo$I2$efno=XE`== z*6*K%H=yNqUrK_?BN9im!fI)`ymsPi9;~U$zA+QWeDreAemvoYx&oyw4sMW?R&I64 ziCRDJvj-*C*lowhBS(JlB56>FE_`1W45i=~gZH7_=%g+j^&fCP>1TA>IQZ@0!F`Da zHL)BWVtdIacah`_nm(?buy(p}9>D9Y(SaRACy$8dU+Djz#|WA3i@ZyX71ZZ6(8cD(s-Wh`u2JHk^2O#DEN3SZb(9Tn%iX2c`5CX7Hh55O+*oI z^}WAM^z{ZM_wnvt$e0RHEWO@}lEUmaWW~3fiUgai_0~=rpUWb5??T*r-;Qd`0^N1P zigLpkKUveRVEe7ndc*3DB(j=@Ac`&h`a3v%AK;BbLjr@R$qEvD*qt-P6jn+oD`|i& z^=wbG$xO&n?&MOSc5U2_W(-TWr_2&^!f7Yh;Rnj@nw*bo5x+)M0g%EZ<-zzqef@vR zYsD8pm9K2e)=+Uu4Zf5Lwc0l6dp+QUs%_UWdH?RHlgbnhq)RHCa3S@{00%7 z>GOym)C_&;q2P01BUtIVLR5Fn7c+|>s&gfFjT+MY<1W}3VpVJ8G;%d60|O!PRgA^G zP)OOp51!%(QXU(*kUCo-4Zs%Z>j*!=VSEvGdGZUgpMq~{rxuYg2NW^rFm|A=piy#IP5IOW9ri5zyWkSwY z=-_N<36=+URUAno!E2=8igw{DSvdV6jZS)q>&2Oo|jBpw{%FsmMhGvL~@LeTlw2QI- zEAS5ZRV9z^M2U2&B+$q~!2uvnl|B)C9A5^?ZncoJo2tXgt(~;kf?M}H5M50qOyWI_qgxJ$_C>x3{oRLkmvnAl!&gb~e@M1|E$$1}l|p*lGP zlXAu)Bm05806}3s>&2Y*vkHU?1NPQ#l*I5;p7v!<(Rq9wXw8j6(g9Kxh>41AF}XIQ zAdagF?5wZ-X0J4B@nkfTHDT8wh&Y-*gS#bn1~{NzCL2vZf9SxcgTr+J>g z$tdUszL5>qhMB?EZxb^+Dme@<#G2W%TW%QTaCDY)nkZ!j>qp9ThmdnjC<_9#HKdmY zqacpjDhh+?iz|V0)Q$^>?v20~(h(NxjB*&`mXn|;fxCt@Ms&|z;`f{q8bgnN*BAu} zkXM27NN1qxF-k}}EjhdaouR|UtBi6OrI%9Ha!LtuaB1CMA?GYt8{82VY%##)l}15? z2`g3}!(oLi~w)faCe$WM>Iz$Ah5X?%A zk~oB{GCR&-YPiMWppbMC$^(9qhix*c*eFLJ%RCb5>pzP0M`4HzgT-=MyPFyb;fJVBke3WvRzTgLS8=pH8dZH^K4-+l zP-qxJ3M5;mFh4||M!Hdq41fy`KDo~nzQhVSX;2^+@PTxY&2^(74veb`gzRcskPK?$ zawT6S?p0&1wqDw|Owx~Xw zamb1DmlIUDYuammD`^nUqmv!+3r0bN_A~p+3l0WGQO&FGH8HVrra-XxnY#qPjuDXP zns%Kp!*T#xN(jCX{Ilyq5Nbi6OUBIPoP$7R=^k~RAWd$7pt4Z%#|z(=lYzJ$is=ts zCgO}yj&06>>yOx8avBo%PUC(Cp+7VZ`6;6yT`pnhL42Wzd$YyFP;<)khi&5Ggi(x= zVGt?qtN1{0(Q<_x+&92r{oReg)zO;R0&hbcHXZW4InMN)o9GnU)oNoHXp6MM4k?SGoQWX+NG9Ib;+= z2@EAY*Vq3$SXXkYPlISUUzi!<-AW+{z#8VICd?VD zcCS$kOO8+^Pl;`ATFFDJW@11B;ktt?E3)W0H#nBFQNOsNN;Kf0aMma3OBG@bBnkV7wK)E(B zK~tzIzZC$1XPL$|M;yPyC`eAc$e2G<9U+_}gUhyhY;UHdiY`aL%_xT_WLSLy=T_na z#rbn?&I~AynN3YrBwLiC3{JD!ViY72HL7b)s>8R1O>8D9jvK&qbSeE!Mln2nqj=_D zkzs{yZDVp~)7^LV1SiQv7D0C3XcWZLIy%)6%t=tV`pY+>mQpr4e#?5JoOMEV$V?P6 ztd6n0*zcJSy%E|_gPSJEG1pdptTPHCUZ6HVc(T$8CZEqdV3-R?ZBzkG@=)rUSVDD; zQ3{a-l>`NM%Sp8^fE3)4?iY(#+^S>9tTswn$+QNq2ZB>Rr;g#489_vE!yRO#Go)q@ z+X|>vMlmbcx6!)fb#&`SjNf9&Sq7J56m*6oQa_zGgsYWND~y7cvv0$c28-$A>#;bv zn{_GV0Ldhs;Y9UP9W@10VMZ~;L}c)vtTYJIB)z&Ea&XmI&%@=`4m_ZDRZ6Lr8Raad z&!cLMum%QeUI`@j;wlF9S6E$Il6X9C5j9pzjB+SjMOs64$D^8YmJs=_gdAL%jyo-Z zDk%kp&Wz8$$S8&gjg+t#te_DoglbaU8xA>uGy~ynbmY!BtI2YrqO65RIrGHlk#$BX zp_-&s*FX;LTH`XHpLV#wHpW(&JaKC+v*C|Rka)zHmbV-dL?!X*zTvD|GVt{8d zBuJOeA{AheGaaC&631Kp9cGXpUKm0IU|jpgybN8kmgtcNG1IW%76FKNATlX)!{d5w zhMa9s78970VOz^fyh(!~qFs`*_}jx4R_gj*EK{djAqSWy`50tFwd7_}*#a^cZNQr{7_^lSsw=MghSeXVXMCsH}aHxb9LGEry0jkN| z3*mXokvo}t6Db63a&5s%-^aj&(w)0|AP6_y^#pG0S${@TC-3M$6iyRClyzW;I4cw3 z?sr-ck@x{?!o?7-_lmhn2?0?%O$6zR<%7umj_J7%f^cg(@`(68wuLi9`81J3$R;Ta zr9u}oLzH^}f&gohy3oh&x(oRCRY9_mBrxZKi`e`KnxmJ zeQ%MojpI?j8xU1%J2-(y!gc9+ABJRBiIY2d; z{?Kw^;eHd;U@|X4Hc5ZT=9KA=-`wIL2$vmF-bv$sgO%dsK-h8Lm+Og2MvWO7j5Me zagGf?5D%F=^ZW}hz0{|3G+tfche&wspQJ$IMqhf~56~y2wmr)a+f)&1) z81#D3z^7gJJKEL{B=wW<- z*k1G;ATG7^sjOi18{^I@D`gA^mJN(&)Rj4ndomTk}hYE-( zWyUpmyL%}ViiUx3aK8JrQ8>2IYroE3v1aA`2|s=sJmd-27~J(Qbe3GHf&+;Fo2Xd0 z_>;j-I=UNe9!KA29yOKk^^afXt>3+8$LhJ`Mt=0xpdQZ0;b7P(Gae&k1XW{%I#rng zXH)O{p~qmHy`Jjb+k6mj%U82E9XxgF(DoHG#(X{Ojpy$%-2_`on#*bKT zxO5b^{oykaKXlO~g;ci-=ElMG(e~aBeI7HJOPtjC`AO>zT}Vnevwzc)$v=Jm{%g;4 zJ|ziqxT*;;&Y~_vH=_#!3Fg&YEJSr^kuXLM&JVQrw)S!Gf5LR2uI^)&?Y(d{<66SW zJ?rL=|KXG1!H+qg!IK5prj$x#K?p9%!qOnPCkh)b9=xCFN>**m?j)iM0k)IDy62hp z-p+mc_IvSJlff=YUEi3w_4L)eg6u07V|K2dGZxDf*yAi5Wm+XIwgDBB7D!Y@Fb#2e zEi?kZlS|GtZY87U^>}-4OP{_0FTDEti>AZf`C#bk!%2B1B?Xx&=MHTRoBrEZSg^a! zu_|YMSQFio=ygDYDe*5S6y&gG3q6M7`UrhUOThCl4+;MCEt3&1N_TxTf7gY~l8W+@ z{Ogxb@7uU|^5_xo1wG?&0k145YMEGXV+!y=afKw2^?)2RwX76Nb6)KxyaDLo>`P<1 z`al2Dptn968Tys!s6M?XuRn36u%fE6yeQ{d{E0p5=7oO$@jK8rm+(-7R(rF6iHsgm z{~RSBN(suT&cVGHKX(IJ)w`c+@7;;kaljkHz8*7k<)5bGc60x2X>>wPSygpaMQKrX z>V>0`t7iT2&G4at@XYpbEiXGrLHjGMPRag~ga;Vh9GH@~rL9Mh5%$87@W7JxfAzKZ zKmU2kl1=*;nv8rw@)zTBo%IfN>s`8S8jO4Qiw=AFb%alaQOg-0d{|JL}Z#A}qA945O@mYhI=BHAFY-hFUQ&`Sfc zzGLUC-W7A{O3pTu!SVFYr}K85&n&5Gt#+@fEGx>ndg=J?wev!I#^e18EV5b_yrvP1 zQfpxd!09ewZ9t3^nkQ7S+7O{^W|)^C>dK$4hbpAu2}LH2M+!4+dpQn ziadHDHM^*^0-H)QAKs`T0OqE(ZGFKAZ3J8o;u)B*xQX@# z=%IQl=u&cBys+-{>0cP|`UhYBGHv_p?zG7j1|>op?R3 z7^An`Y;>2$CajA|EvTrfuXe7gEV{lp5jR`&vnH^%pYmFWd>ZDn3U)A&WgB#Laf{#x z2}{_;|M|c{Z-;yrI&ban<8fDWipnahnr=F_<>y6vE@9)l#8>^1b-tWbMZw~+F_n9kq966twRftuuYBV1l?>xOQZPV$i zMU}PHPL)MzV=e=Lwn>c*MtKV!XG{wM6b#x5%W5b$)-Y=8JaVMSPO=4uQvKqWsmnGW zIGdC~XASFVy5aCpRJT7?9JriY&Zb?KbFx#C#4BZ#dfAY8B;kOV0r?Fnq)dpMf){+) zxp1(A#iYfC#r$!?!u5MkCD3A5Layn^cxvkXIXhz0i>ol_io(>FlO$1bqlEqv#r}+{ z$E>DQ??LxNsW<4%hSSx}Sy8KGHpk6fv+LL;zS1=}8`$Nc@oQsJq1x-JovKPQ*C$D= zct^Q^(~+@n;RNCB5Qb7af_2-8U!TT-_nG8|k>zB|%q-`O726M=Pt9b@Tz%7#Eh881 zxs+AH_gH>Xk7OibtPU>nRi3O62u3V95YR1)kDLfva9gM_b*Gb4Mz)id87lSt&wrW> z+j%A_oh@^v`N*dwOaCbwPhKsm;2Z4sWZW;oDvAirWEDjt$l;HE2pH{KFrFPax7T%) z%eG)@dLnX42yA4elB~=q7$ys6{1XG;vd`$K-O175;HyxMxq`wBr3sh zfvbiNT{s*(Pex|)X6166XF=ESNfO8k6#w1XTVo`*9DtEzhbgbxVTzZDlX60`Ai6no zovG`JqANpbY)V&Xv7Phy)UmzjnMxKF>WI_r(qyhPr9NHz$QE+pdSM|eF>i-Gz9)^L z^$7{PE1dbITzN&&*i=}-b1s6`fw3ce5qC1il#XlNDow@euwX;-@2oM9LTzH`qyZ+Z zq2rR}Gwzi#1DT)VM@X=)){SV|6xgSdfuxATmY&^=n^Ks0bRzTUJ>bn@-yq~r?PGqm zL+&poOe2i_)T9XVN=biVlhM#h)tr2Z0%n~Z4CE5LEE%;{t}ATBr7p}ob|Ag^>T90w zfARB_rK)|ztQUJ7HGc5pl8gJVOQPcy4VG{>QQI^Hc$8WXAs8yg58)K0SlOi}8V>jk zX_g#$bYKSZ6ZaorA@`h0NMja~7Q6Rh{NRs}{uXfD+#p{4^+A(lK=j}WXCsb^--juqa zl#mwpqAXro5Q7m3G++q4a%oF7?jK@-hr6(nBgjhbb2%-{B<8)|cc0nNE>BHZcZ@tx zns;&fbQ-#nhSu`hF?4iKdPaxBOqK{&>FiY!LINIjxRarL=aV1)grPhU-{Bgwlo@Ic4H168*g4NloD!r5elc?O?6IS?2dM>uVH z_9bA&h-jm8K>wF1%$&3s(FVdyL>m%UraO&8ACW8{&)IP@RP)9hS=}Ty6x>;0H`An>S z%Ad9gyQyRI7ZUkKwVV`d%v!Yr5hk;o?bU@)reBzl(=fK>JA^t}a;S6p?hFi`&(_-( zn(I&!BJot2Fr6|gmk-8{CfcCza_TbGa<)|$k?q`S{N{(@iB8>gN)C0djijL|Rj09? z9}@Q_8$5bD+<%PtdU0 ze5HvE$$+}NbWxZzLn$lBK@2F2C43?vb0H&HFez+hQ*{|xOB15pA<6RI?CtPB*=epQ zNPU?S!kM(d3Iz%f9d7TCK{+Bkq5dF?I73PViF3p(q!L;*R#%XXTyLD?A<5;TKi3>h zksZ&Br8Hs&R#i)uiq6$kDllqP2Ixgy!;AlsIM# z4R}o~qihk&arL9F_#q7djxJJ^0XT{wYN~6=5Smc>4#ND8S*~$3Pj({S_7z%3ZRG?Y zKbe~)$|SB5#YrDM2;dFsu)4aA6k@n>jt7``c~*Fr2#je!N@%LkTc7{0y?2k#s=D+2 zHx~g58p|BV{Koz=<1|x$lQXpGbS88B{b=LZ+LIP)CsUQvP*1HH+tJ$Uv9*<{I*pG`&s*W!lloDzw_b`&5OOh z`@7e()^~mH-|zb2qV~i!yCdZkn@NRA^|c}L0;}P0`w7XsDII-J2Fs$P!7@W1thc*p z!a=uuJ@;S89lW;n!#7@^n5?_lgfr4L2_@+q|5|JNDT%rc5(*c1-K_K67w~ntO5fOM z`faG0%vW>2=y_AgYuz+@;=~a&^04(8bxN+1a0@+Z2)B2u*I19*f%Y>TjDa2G9r8Kf zYi^`l>`8rX1Lxu@<&@=IXKyd+`N&fG{Vf7exHlIO-NtN z1yUC$IO^ikp32W(N5&WouBR%+PbR+b{)4|P?f+Giq`jUbt>7yday(`G+Rw=n z7?=K~52PHv?JI{eaP=J`a-F)^>zaDZzVlzdoB!v8hH8lnL>yxOhC>Xy&X-YKeIOy# zL1yCzXo0>H+!`D2=^OS^yKZlM=hlM1?%8RLvbsWcmFDo0LjT~X^x0R1E^e#i)qhQy zKo+%%yuY5)V>NkRu81)XEkum((84kt=ViUp5$e!`&8%fCL{W1)-fA+xB67rftO7Z* zyS?-LK1?SqYFfqa`rc_x`{1tiy_5-+oVLNeC@C>+v#}h0RS`d4A zgOcM?=8dZ)m4_!iKp-DviVV`$WFA`1u%wpLcwYyom#4AoWN4&qSG%epI>3v&*3n~j z&hG#*ZWe2QAY0R-9y>cm{2uCx^~MG^*FN$WI{ihDw2N@bQcLQbDN&8>7eXGD}Dc4PS-W5D^B)WlJTa7Ew)|o185>i$11kdezH2e8_xIb{LO+JI=X@P!oi7H z$KRM6b)hzv?kCai>MTNf-zvQIpTFMG1-?neF)a$wc%hFt{!(Li?SI_^}S3#uj z_3!`vzw5dob;U@FyD$T8==ei(P%^B0)a*B=PYc51+OGe|hj8H!xaXddJBz4uOgRp? zlr9`%*mR*!MIEBs#_LnpeVv8-cE7uR_N(7K_Q=00R^QQ$#5NA!QB;F6ls`%%kJMSO#^0dmiZ%d9854aQ2FH+3E~H9 zF7(}~yL0=5gXoDlJ#-$v^MiXH8T$H%>vrsG*|&S^`epCW7&G{>Unt!u?SANO7m*OF zI{tEHR6)VEX(fH{rmlu;`8 z?<63okNoUqm0S#xG2%NmuUhoZl;KbO`lojm{Y6LjSqH2x8cI+c z76CS6T>L^)NO62F>3ImNAnPll?eE?B^C!o?yR31~K_bbCwk*Q*+t~a!Ck%buBrtVw zVYaJ*rbHHYw|A-Q>kYcVL}t5QPz4GPk$!ZYq4)p(ucd=td3(v`-3Ja6Q~sjj_02J| zn<_@z?4}+a-N@}ouhdurx+=!Npw9_sbtrykN8O@?4i90OUH50^?ETBVzkB)3>bhMm zhY9mC7YL(aZS`E6`}DosuJKgDAU7hEbp5QPOL|b)nxQy;dOUup^41D{ocNeYQ zy6?~h=V1M@4zfL6Aeg7p&T@FxLpGB^SyzkYV=2NGs&gn0X=$uC^-`9*g>h`?Lbn2cbw zdOdRQ`04M)UG$?kT_=T3*Ondc>8n|(QjCud+>yS}J@fnhCw&E$??k(Mx{wsTY{f?hKF=bKx-orXQIs5ovzf1kZ?ylEWM0AYo z!lV!y@#d#S2tmPhSsi`y@9((psaHSQ96!7lh`xI-{mD06uj`?GjrSeHWABKV3M*n1 zZ|IYz_OXWH2MG!^Ke+pHKInK|NzvIk{}^eE5fM@=5yC$9k9Dx9;RpANDK=mFgEK;( zYheB!$M_Bo2r^=dl@WY!P?|#R{=x(7A}9BfyEsE}{G`)$|JGspU_=ybK@^Bk)2s&f zd##d!J1+gbim1yK1Nj8ergW}v*xp6INHm~%(6-C^Vu8(7_G5}Cym)Xf940TK$!fUR z9=6HzwDod6=(t{u?RDh{^ImdGxd$=z9&igOlRlp;=oN8 z`-y}C>IODk&Ijd?4a4#++g>(qeyZ$a`EK`ZDLq9Vt8a6-{2SqX(GQ+ReD~dWSs%os>qp&X zP0v3?;QPA2kUC(ji;#VHY9^uPB0rIcK=Z)$m;U0k(9P?c(s({wJ7C`sO`kMZkGqFw zWg)D)oDW8QzuW%vw0Ecj_AM%1f3aV9UJ`2Ur9b$Z9Ky-4`tFUr&X7WJT~}+g|Kt%2 zfPj0CTbKU9o+0;cuj{+|az5vV(xI6FXGp>g4u#>}tEJ!b`{viCf9~qwb4`O*Ue?Ew zUSmTq`k3Y0-yiVre?*11d>aDo;A6pw7@1Xb>2JLnI+1-!$^D!xnCt%98sPU!Q*V%_ zZscy7kF&+=W`5a-|7ZE-e5!kI$FJP7?Wxbn_6b#TjBKltvxfcCJhm-fSHAS{-!HxN zccw<&%+1Sso%N1-*U5`|>vz$|Ph@9RC5T+U}AO4+`~@1G@a z%4jTw-?`(SM}|%RX#Eb1Vm>o2&B2Y;`G0@mv&;I3QN&C(ujI|lv)*w_cZJ{X4>NxC zgSEa=y>w;jZ+Y|5_@~I>{DyLNeVrux9Qd>T7W41h{r<-R z>WpxA|4Sm!$|yY!^42{o5?k2AvTlq7X-JJ^)<^v}l*y6^4*_dhXi?n+;+7`G@h z%<@axf}>7{_FlWP`t`xTF1`PEFTb^9v-MHT|0n~z<3b-JRz=(XYqzd==anaaGiccB zA8imjL|LfI$_#Hpy&b#L$xfqi@T?rUj1Y^?063}!f5 zWi(1-JbWB)Z1=;hL?cLmk|U?j`x)WuelyiEN>ZdEt^Kr?Zs7b35REeBF3LST(Y^x_ zKQA*Jz6?ImzO&t%@m@wa!b+5r?M-qTXM*LGP@0}>-zAYeH-o9XlB^9m1s1Q*oD7hR z#8G6cJWjPYvp4T%hQp6uo@yseYv?-};RwTzr^%xB=2vEhZ|R#EU>fUP zVT4%*6cq4fy5LlT8`{$f%$st2+~=Elb`iLh`?ON+ug#R5X(fO!&B_Gbq`)5g;ZGlX*$+#cYR945oHadz*_8+O7nvW!{J8c> z(0P4c&j_3GV+N+W;t40(soWhnEdykey)4d>OsfZi?2O~>6d=!dEdyjzWT)8-q9?}K zEQ@18)|?5lsqBGqui$jYjbm)?WBQ%kTJxt<+pBDWJyc5ik)?EqK)&joGr{&+;4V>G zz%)!Fbg3g?>vZVvGTG7Bd`BGKk*BA;Z=8PZtXt={)|WFuH%-nEovgclA!o=I6w)@( z;mfGMCKK{~J$bnBe%L6xkFe>EOb||w9xvnWpifGB=hj_sWrDAQ?N93BDPjr&XtH)mGeJ2f=4Dv3q91Jl}9m+E^PK zJ^({8>DQUyn;AK5Hu7r_Vokr73BosRIO*2giTe*X&e6jZp11Ln32yhzMEJZFp1GeW zea`qn_rv0qDL*VTgw|`tse5LMm1g_EXEx=AOl0k>@Z2dSre+Jf97m$DDUJ7Kg70m+ z$;5O1?LS5+(2R zYUkC?gCNW!nV^2xKaNT-Or~ngKks$VX+6+#&@>ZK&}DHZ$maxchT{9eq(Rxm+>P1Y zo88<@PTOHW(DJ=Z)akjwQB@YvOq&RZvtbZPeBQsB95uhzbNh@;(7)%LTk?d0_{Gw* zpuc9}Qu+${WvsjFzMP3w@m>&G`0+!7r&O89g}k>kPsSpAcj3y$y?*bICo;i4Px_H$ zsnXo$)hKWQ_CcS6z57=t&0MtJFMC!4noMk~`N0|g(ZBtHGv2@%2mjJDwD9Qm*qC?J zKulFN@y&N-g8hB>#J^=jVOkua@BaTjOXsB+w^pn20}E(XTAtIwf6ebr zqq(3~?rWKtuvNx+Zo*PQWC8rdy3cvt`eA7W<+xj)%mn)ff!;OXmqA=X8Id_c-~DgY z|0QfMw7yp+&VU78nvH{BfozMjUbhEc4x0!eA2Pwd&}R()U5sJ2jY?_tPk_Gr|EFX@ zza2o!j(M5j|Inu%66GIzX{Jri0{@KT!r$9%I<;q0-%R{1ANj078S#PM#s)0SI!@H2 zTgfof&kXV>#y2c8{5I;?|Hq`ge_+%&?QfrBpzr>buulX!33)}CIGq;x))U;}j}vWf zJNrBEsPK1th+Yu5`D_-^!Q$Br{-qu82Ue)>LC{Axn2uzbIOCV5+j-z0bU^rndMvZS zu_rS@zbw=^L$eR`Gg?Sju$A3*gGq($nMq7yxvzB+w+`Gb$|lbe{?NJ4^hwyiI}`jX zLI#oaz!?6ypL`B=lJaZ)Wg}*Sza~&TWh44N8P;duKG3IZZ~fOY2?DJQ7{m_-J~CvQ zDy|HJ7#b(3#y!7?m(0++2BdM@F#V-_g*`0Xx8`IfF|k!C<|J+$wzoM;_`{4*Z7=FW zCiqu}{J}Rb;SbEe&mJ4z-x#unq&LYhPvLiZX-Rpg`*J3E z2OA@HsVP&@{`T3f5A^aoW|{qsJ&_6ix_~{H0xaWgQrvSJDXZQ3)0EXT#X@_)FwG>* zgNjL8s+crPK|gdW=)<&JW-rwt6ZBLy-Q=H_y$?HW_x$c%>+Hg zjXrNk8m3zPEa49`V{Cq6-PbZnu-R-ZQ{PEtbKY2=K3jx8Xvk}Jck7dxpl@)vgP-yS z`Ue|HxlXp+wVgaNNjz%wnS*gy+29-K$2EXH%$CvaQgM|Dddd`SYOHZtS<95=UrNEm z!7y#cZtuKI@Kg5}lyLv{CEsOb4%cSzJ9TmrE}QyhlJ-SipN*T6N#%{+slH zZogO0h6Bd5LwCpwe_)!1UMtWKs;6ooS@C9dhfFf!wrPKDb><%@TDKMG=huNgtZg&Y z*;twhdRk@OP;e_|=^sok_d%8hy|a!Ii=cU!HW#}z6XY?kSJy8awqPArW@9&k+sTbK zT0>DLX^xHF)jfZJv%z?(S(AYqggHov*0j+VGC{oA>-LpVq?EOaPR6aLpe9Iz4zz?! zQaj!}l>pOFd9wO-fXY$X*;sRnB( z?Q$(K$@--k{P;Dj=qvPNBSTsq80B^9v$DsYB&7W5=LF%z6CysNJL?KYN_F7ec&>~U=?*@l_mTn0I5MbE&s zbXB@*P!U1=+Mkjc|JpzO!+-sY?k(Kq)AbfDD4ogbsAJg^v7!{({Zo)m{F|F@%<9zQ z(P#JWtqQQW_gO)$XVP%8%zMSqW-bh8tF1dLsMjzgIaaG0}AMK47qfMv7sijSpW2mILOZpNWa_ ziB9o*ba7Qv#1cW=T?Ueax-e~gVyv2M>yoOb6l()tYg%PbdJ6m@-N!RFF*?y{TDI<@ z0*hl($f0@}NVxGKd+O-KDAV}*2v~MTEC;-%UrwuKN}tLR)9`;(Vx-y{>q4oWp2?V3 zV_Ykwp12GwH0LdjjZC~uH|jpREoz5j1y~p8noDoX#EQnadY+57dsRt}iik z8E8(LYZhNhyl8GWJ#F!Hd)(%{^ONMxybLs_X`%jb+lz@|>Hw^Zo3@7;?nWcnQ}?yC zm;Oy>bj9MZ#Lz^idAYiYX?sLL7uUKBBwQJlJ8x)Wi0R6!dzH31TDW0UJ!>yLmGkC0 zvLT6QxqZ9TGgv}h+c2nxyDtMvf?ne-&nBJ`SI|UUZCcXeGEl$~o=KFcRs1tF;BfV2 zbxuet%}k|PT5RW3l!2g2;>6&qp9Mwt|I6?9AcBQ2T@u9@uM4*~gQ83~2{n~GM=O$~ z>T6m5`b(`SEw4+O&Ko3L2vn0l6eOXJYZkQezDpvZd3AoxS%c(^8mbQylAx)aA=aJq zFNuUU)Y;`{43g7ugU7nPNPid9SO4Y>t8J$h^`@>X*XnS^`)PxQdv;>Q!@&~f^=mGu z)|bRWZ|LIKNrQy@au(*jOcS2ul^A0A8*kWnsimdKbKb(^1_>A6(06UMG54Za$oy;`c#O8f+~0v z=I6Al8E}5}E`w($%;Ea!bYtuGE1So!-BuHphKtRI-ph4;53AMh_2oMao*m}ugc(BQ zD}-9+eGT_r6b~Jhn;&eYpRfAh?=XnA!6Ev+0Up=cjR4?ckc%u3{Sk&{9aQh$ez9!^ zPfT|jyh(Sxq*q%Dy{T_nHxQSM>3T4~Pm4PB=2gWEo-Oc+5m~c96!xkRpFkR16p@UH z{`+(zI~SU5F_;<*tC&rr!K9;_wMJFllK#_rg?)3{+nWdNS)&Z8Q11xjqvKFZZtU7!zu37)upa_C{?us6x|Gp zpIoz3_pjd*UvCi9N@t!=pGtGr8-05%!`jGw6KNFF6$Hh9wq4h*7u3|6*Vn)wva5JK z^#7XG-10;RuXp~dZyKyz9=yi9yxJ(q3-oqU6SRuyw)C%iJ+{z=Ru^HdHgB(l85A$1 zp{McP`ks05rnGm>ZR*9_SDM#W=B z$_!)AO=}%x?n+0*EjRBiHAlOe7hSbZyu5=KbwSXhZA;CIi>2Xys`rwfQNvt%?nqr5 za~XP3{bKXpr@FXnF^ysa70z(%hPyj>iw3T_RiB!-s*M)Al-FFfO{!xD?{U+4*6`ES z=EaW_omxwm(f!ud)Z|RqnLbM{iY;yZ*u3_UG}RTn=IUl@nAO2+G)66~{m8twQ1?5p z)N4s?%q+?cP3fQG>eif@3(b2A%u!oS8{j|zGYq!zz7Ag7YL3?e^Inw%&Kh2eXk0Bj z=XLPjHp!PN^V)n4)i-KsYaG$BV4u6vXGurUZ`8~;ue~Q-b3L!QN|p4x4qoGqpX~DY z%xiNwMvr&fsP~du6vPQ{Y)=1PGvea$qjSxh?@FPp<5UHT6RScU`NJK&#>Jtr#HHH#8^qJx*X*D|;A4fE0r9iU!2QH2Tjrhkg7xqA&iJ;S^<9sXUq z6PDhUtAN{7$1e`n!AtlRO5@YbJJUEjx9mcabiH3b*AvEgp4-7Y+yQw@?KJbwtJ33k zgIgO|9A=jx|UOf_%e znrbSEBfPCs^o&)BdhSdA)JdI~$>t?oQH%5UqdIi`t$x$zM*X?FgLk-kCx7uI^Ueev zmjm3eZ2iP%%{t8M;2kb2%r2i`-WhM$v6Lq3wmfeZVpHG!>9ad$^s4dZH9SkPI}V|; zec^67dfVHj!gTNscLd%M8*5&{jZ~G_#;wF%VA8J!)K zb%YCrdwl6tHVNlsY1#{1qny=g)Y(zyjgdwvl8)T%mXBKxkyMff&-H<*J|hh{j-dL& z<6I4L)qt%ndo~pvNSzHg;1$*<@H)u|8Lne+lACr3Z0y-GE)AGF>vAj4`M|h!P7m&N znwwR+d};dH8xE#oeqK!V^jRMo?@he)jP8B;hoUr4E`=+NpYb7a(bN>2^+u-R2ITqv5DY&<>jRThq3|L6yfq#I;YX+~oSF)R zkD#!2PY84r8p?Ss6^MJAa%MG$KzIST5AyX?C@g%`++86UR(`x>dMXqae97*eArMx4 zO~H&*AT0EPn(ZObK{1Y*sX$O;cKOy2=zx^dZf~VRy~XDI;b<%b!^(~o&q{^Df-a6V zhCo=+)p=>P0GP;m)tf^g%w&8jX*uQCzevJOA=qw+<{|E)O`-KUob!j;>OwF~-1_tc zV{F%=`VAov_UoM7v?Njt)7&}hLLiJ&h$bx;5wjDbsSUv}J>#Wm8GqQ6rSUZ(5O!s4 zdR`g^W8d0UAyA`aRa*WLm$c+m)Pz9TgIu`1D0LaI^sX*Du_6S++G{FF%N4VqutUXs7rLBkA510VRXfc)54dS zRmHJSLLf}5s=T!585f1*RV@mEFrm(lCGM6&4cJLpW6ypRf~_=yA}xHe$_R&rAsDt% z{cUN11+1Xk>OTm9u!Jge)BNLHHk4cWeh7rwb9zWe*I?*A&iNr2MozqRed_GF!=g0) zUI>Imv$`P7A&Bu(uzF4i^ofWj%{^8xqIo9-`q&tpX-=NaMg&xbU>GM&1JXPum>~n2 z-VT8h%x^gW>FOaxPPd2FrjGJuL)#*APvb+KVOdKN?Td_o9> z4qsEyn)(aT*9&UKg+LXG^c_wG;x^6fsbfN*>4s+7Q=!@o&5RDgP|CL#A4!Em122xf z5(1%xSLYu~1w!NQQ#~RCLhD8joJfU2#YPUi9D+@TY98)#Di!P$NBZHm;UO4`b$!w4 zR4BCQqWTv?AT;TD^pi}X2h`@=dC!MHsLtm4$rLEmWT<9n2!^WMQhGiW7m9Id%X1;n z=tSq*!c>^fUSaLv5agAFSK;NXFn6Ts5-@JlTH|>+Ud7WP2y-=A&8Xbt!2|py66QSAWkzF8QEO0&UOdu62Rx#Qi^y0G)wc z9_zN=h1$eHe(b0sLCFuEk_6b`LTwhQoQeRQP^hNP1#09VFI0#uiRri@mrX8I%#eyA zHA%3e<}f$7VA~A$KN`yY+~9fDkj_1fk_?cyX4 zJFQ4ba$e|S@zU)sRI|AM!3ai$3&b_U1+^^^pnZ}6yIdgB9C9l5MS$Xv%pb1a z?LzI>Nj{-aMRHbqL^Qf^Da@(}W?nP0ih1DJohxjQT< zx3WG0Q)dLgNdwg7^?&-iFP<^1U*7WMoY2GK_ntB^ou}sg*%`UAH$))TiT9r|5S_+d z3l}S>Sr-9V3#DY+ixIsS3FBu^TN@c)V_3eu3DO%vgdU%>Jl4rctV(okDz-mni02h= zUlkdxNp!Bxhjcm*$*-=7j4V%h4Omy(&&sKsL??6m%D;j&_&;VP$mSTyf5HEQzxLUc ze+4TL{Qdv?x_pY*eXRGA$bK*Ox)GdBv_0BwS>*W=DPTBu>Wh{~o-dQb2IZhCuO{+* zh0(H3z_y2Ht%{6rG2;WRHj!dYWMGw4aQq<~3fD%SuaVY`M6JwS7kQ5Agr2<*u|2rg zhRDb|@mON-@zRZv=jccUHTV!}3+f}!r505nhbnS5N1mey!AXe;<5g~qj7a%uGPe4b z$aD0a{AxJ4ZKyw(-gwYbe_gLgP%0hni6iLt%k>{iVUSB?uJ-zW%+Z;d8Rc3Tl-_hR$DK z^nCanr)y4y62nf*bM`{`d?M@o)CpMvr_62+4@V|RZ&dmg%6v=dOW||8srieQk#$VF zIU;}lUQ;qz*<;?i|V*Qm&O zFB~9~1E;MrIo4@Yubv-{kfBjjzn%e@TvN&W;d6Y1x$~5Iv09t@LHK;Rkq=U1NsB1Y zUKkFnV8vUMFo9Ca5&b9}SSj(Kl!)bGii^VMc>8i@Ne!xEoR9-WPlKUW$v1AfapFc7K-k_&#n&X zRU3{Fzb~p+{C=KxbzS%z58KUE^Laj3l5RuzyvZ#2JO*IY6*+a`z%GwKi305J7)iG& z9Kdr{SgRQNY;Ef1@Hx)1oJs}BXGzjEhR+FtBOeq5$LCd^9Sa9Yy}u`}823yz_3>`o z!U4Qs1vQFd&(NlB51-@s%ATe`HSy-^yq)25LeWM(lqFs_o4P9;A>Lfvq3j4VN3%xIY}hN-Szn z_!qI#`anzg9Lq4TY7)=Ki!~k$pMP#d@|IO;zpwA!oF;1de15-F|7IqpAyh9eZ0Q9=$pN9d&gm|$r^ zjSZH*sQo|tr^1?ABLbcSnry(6WO7cBLYW$P zQA=%uoJ22U7@YR`OOnMlu1UOdVV-?TAd`i*fy}29-dXaMMj13CBkL^Fb1ye$kyA{$#uCznSke>(49VAJM`xM=f`s{tgCHTIvFXk? z&GSfHkZ@mh{w(uck-$g8NFX7;^4_z}08%j-{3EKzj=p0C6!5DG0)9xwSig78^Js{V z$X!+5Tr;4c-UF>cP_IcxG;5w2K`tf(c|_=1AL#PF8JMRP4}y2ZFVYJ7?FdFf(@@!d8WlBg) zM$T+jq0FZ;Jj|pY1<^7jW2|_kc}{!`XL=AH!z`%IUu^~y5qqdDh=>vD8rxgeQyD2| zEO-zEvq^n2pOox}L=FO9#IqWT)|=<+jCcq_UBs}e@?<@kT)onkAi71~9fD5gQyEFJ zh=(Aeg?+)E%6=*%PZ^OMM6o`SpldMCiCZBbg18liM`fD5o-r0bwQ87pau1j6NJ%@gV9$IH&4nnNLP4mc)ZV4-p(9C9-B5EA(%pEDAqsV!7ZR2f~QwBkYhhQLhaO){U#Xpe48Q?khr{|f|MY6{Hbgb@=#D8@!vo@S)8SJV(hUkI$g76*Gs z#5}Jm2)K;Id}2SJ^~fp0Hcq(dtS^+R+AMFBe9;?%@@5F%rYk_k~V!v22b}=%cpv2%_Q@nD? zhh)6M4B(8J;vp4>olQn445rH5ay_?27S5;Z`7}mnUsJ#lJU?i-$pq#EvzH+k4DjO! z1dQ{>v*Nb;Bp6{is`AEoSi-irC3w#I#aO@5lK8SNgXdcCN4vek`blQV9t}pYaLaqk z!j*mRZUviKo&S>evVOKq-rxnOpy|#Rz2RCXnaII&kc{fi1qVwamh3K%oO$Al}0ih}?+_|uJh+w)to=8;Q1XO;tZ2ABSDv#gW>UGVj zOe74P_xO3ULq;c-S0I4YwjDCGdOqR#py*5Sd)g>v`$LkrIAxVyF5IRhel`R=qsf3W zds={yLrPTikVyGV2*zTl9F=F!_}?9y=!$6YXn8}R`cw!=yn)p@LK9U!^Q;dGqd>l# zLu(gXIT-?@a;dNs*9!bBU=nbfs=Uu>B?WIk9)ccamna`4PLeY#2=l_Q8i*?66zWrb zG=#(p32Qw`t3%HFFn0FH#fZHC>RhT&nLzUTwvcv9%wR(ZCCu&8gU z_5=kCK46-DFrAMT)gKB$Ih3mDWM;W@f?zoeyouO6zaV$s!4Q%JFV6LO{oJDZk^TgN zXg>?Xrw)X``)zq9%Sd+dC?D9*A7H^tTlR;bXo4a={n|i+Ad5tItV%otBg9yd!xrW( z9P6Vqi48#IRP1q}Og$xV#j)`|oXwLsWUD1zP;~gF626RDI?;zko>tO15Ov^u!Ucs& zYw|@v<$=6JB-a)KslrDW5;83p{pD9r_HiQB<(K5$GZ9F#3vs&wTGBMt2SqbrjX5Hw zhS5cfF%T!mURi#2Q-xWA|O?c=t5#JK!AW2)J*r0 z+T#XyRYx{$V75YWQfSw1LgABR{xMcmj0HZ_6FfT_*)fj>!fnwkw>v2+&{ zBc&G3A_@+)M)XfZfvW3sK_ON{g*R8d>mx;l-CY7w2^JR;Lx#vXlP#*B>w}^OTLx$f z^ju(!8$*d`cJq8-bm>`^5_d=NV(wH!iQ1n)i$))}q)3^aiy%HW|s%H z1Llb(MJnE0NGvH6Vdp%3>?0*P5CxOHHAQVMaDx%g;4NvY_JOgJLQ-sqV8-OyApU}} z^_dThu~prN>8d)-#mjR;ia8aFeMnw5q^KG+7t)$#%;1*Vr9LQ=A^}#UsA4l07*j2N zFDi0re7O(X$j*ooRaNFf8sm+*Ld}82$P(6k15j0vxu7h0h4@TvwMJgRHIDJZ75dk%Z zAv4IUTJIx;;#;6Zk@4~fsI?V=EsAaQVL3{c6iu<0I|UA3eGyYYv#IxiIiYhzimLB& zL1j_i4BFlkHu;bodqaw<>2e`$Z5N>V)eSxKTncu_?R9Wrp(hlP_c0o6#kfM_=2Fd}>FNyH&(iIBP|7Z9_XZ}IiKsv`y?9!+Vn zc%V%&lnaZKI&Nq%cFcg{6@>!NOW{=wlnaV#S9^;+FeeP`P$>&%<)v2XlM9NzXhdCh z`AGvgOdE1W2D<8LzxuQReUXiRwA*Qnc3bA;0#6QTu<3IHJ6z;*5?vK$ zJ~@IGrFpR=9p}ZmhhLVv|F|rBl{C3X(ZnqcR-89TN9rT$fR5yu5P?L&H^wqJIN-i89 zGZjl{z&GJ8F&=vnpI@Tng5pwOyN}5$A(xAs{>l$D#7B9O3(B&nOo<=+0A8Ci)20a8 z^GlOlNY+{+(1iHDUzg+pLmH}2!bc+y zl!<}hc?GX6Omab?Hx($6J!iaFWeF&VH6h#YbGz5r_qqrEnbG7UzTgwy$h2tVjnXD51O_0v8KL}!f+5}+atq(APTX3@~ z&L@%ptu1ScqD49=$$}k!4^YI1VSl!^DGG_msYJHf!Uhv>td|{SE1aUBNHQzjln$bp zWk`Z1QV|74LdGTB3UND|z$f}7cx|;)6cn*5SAvwBg}@@1eG*hSBMORrEY2b&M`2UM zeXJi?ZRJxG6eR%#kd;-ziGsL34f^#@QDBr0Bi@RrU@1$WoRmvtuyK$mBnnNnmQqN2d) zb@ige;_b_TMe&p4h{L`i4K2#z90@oMo`T}2lg5s+1yWI@D4~`Tv!^QSbG0vsp~TuW zwCJ`*#1+&ib#$$v3ua&=F;TQA%(b)&VdIs9ibicH(S~NCkZ9qOaAMm^5kO5h%Bzjm zL_tyR(NlD4W-2!p_1`i>KY|kl#%M5VR$=W1VC&hG;f4}T2~`vni(^^7IW~2G@}eO` zTSpazB&*93;_%Z-nIOQ_Ad}u!Q$;~BoDjcEHn(y!pqN&c8TvI^cCaE?^g)qT6xbG9G2OhX?Z6VY z^C?lMGj$TsUj1#N#F%ouq00){QMTSHiWZy0s9KyGCB$HGSV}ZiS5Z(~eZ>s2%ax73 z7h=1I+4`kdQCQBOp~U=ZWw(?52Zu70s1Q{YlvBOBfVmE6k}sMQZ(K{Z3M&eUXTne- zr$*^P_%3`(ls_U0YCRsz^~MVM#9OU%N$0IH4Hm}MG=K>d)X1%V*qk@!YRj^sXpMIU z(0k*D0EL$t*OINxib8$>A;M#HYUIx*wrmtwTcH&Nwaz5wdQ)XPptzd?LTpovEDDUw zh>6D(*2)pA)Jb~&0~Yw0<~`5-{W`J$jGcdGJ2 zWzMf58w7T5ObuJ(6$QoIP^}kE=aMGW_o`fDYS==rC?uLFq;Ud;SJuTC(cdYV8t|Hz z(`FEqePJ}@R7m-MxXVce4gI38C}u1U6@Oui6x5P^!&i*8VN1WFpjaF#0mE-z8lTG4 z`xtA()_+AI`6$2p9EOt^%Ijjc?J_qYL4^mRz?crI2E!c7twf16`UI7LCj}lERX) zR9FH+M!@A)lW)gPFoU3QEEV*GjA5OW?Wj)1ixgCkr9#>`DwBomYb*y8{n@BoD)3RG zEwEGBQxS~Tk;G=$cvmWLJJ@b#4l2U&Szu64mI``U5)ROkrj5QIDJUvSg;Y#-7~TZ2 zlFeEVah0I7EEO1)*GRaW3N!~CHY`|BV3rEn!aj+$6xN~*7&|JcGE0TrCkY2+X}n1U z0nVV*EEQ7GT{+HmKnVI+G7JjNQh^NsXmcx#Bo?<0%Fa?jo5f%NRc5ZWq=MSBR7hqh zzqt+!OKcoT*Ox1IHubcQOxQ{^VA*^O8)HgAzqSr774LRdz8^Elt3tY2N(`#eQbD)+ z67G%|63ZyCK}lLFWKf!>W5ZdKEKU}tr2;qllz7$kWP=R4e5r#$ zby_OEdQEPdmcPD3Bz1;6kogJSNx@D33~FusUP>5)qO{a6tP{tgARwqoOC4V;4UmMD zpe8MKe2o#}Hg8k*K>7?;L1S=a4!ul^^l^@NHC`v|Bv~oxVnI<`{u%33MS;>v1V;Fw)GDOYIY3KvBLUEz~g_~aFh;)>4Dp)z_!N?wtY zSES?>De2_IN}s->GhERbuILO`bcQQB!xc_=g%e)kgjYD>6;7B5CnV6JhBO^0l=qs# z%lv9vcp1g5B)0s?Dzq%#t_+vd*Y_(3Gl^191ypUpWfXx)uDg07g_neSY>{XbfT(3f z_ITA_7St$(CG`s?=Wnd)Fz<=mI?U+%N*}y;w8}AwRoQaPD1c2y97SCw;Vv7yjRGjK zF?XcOGYdD^KyY;YxFTvVQ+lhwqOH@60#K1iP)=35is0E&%_s!Pn`AY$J%b zDX3NEggZW7foNS#S*B{r(zvQA-SLTv&8pv)3d0rpRt2RCpk^z>xR5~*MDubhRZ{K( zOxEt&T6BVex7RDx#2qIIr2cl@8mbz0?XXHDT>u)xu)9I|y8_0li*zAuPZ?V|Pqskb zLM7C=03<-GvQOWj>b00G^yv5uh4yu!t4j4%L#Pr+7lHcUJVroY5DJ=-93KTRnIyJ7 z08Ml9Ym|57BABJ%{eJU4L0M(&N5@Gp(PbvWzt?1ssIt*TpdLSixg$jo^!HIIK@{L! z?X>NIKx3dniV~vZbCnvh%e=pnoo-R#qWgh)$_G&|JKemh90C<9x&Z29G(5}pYf$KV zo>I|V0PDQmgtTzP?SAp#%Y^GB9V#_T>zRck!BRMme5YC0?~y~zoxOh zZC8p-D$rBzo(n)$OLhJx^Nl*~w5ko=@oFVj)tT{)hG(kA&;=mZh2*ucgGTmLr6;-o z<|3La!(QDZf>Dwu#E8N>NhTpNoLJni!XgX$mwYgJr7N&jld4mz2h^Z%gm; zWhnrp^pc&G-Vd(JJ9{0chLCMu)v= zaw^uO0Faqekz1dc@JMg?K)>)SVKQ;3MJKHX5S)p6*kO0+92g8yYo-H*}y>SLY%ik2Y5Ph8d^fADPmsrgH(vo+YU| z?1_|31#J`n1)@CLHdCU-VE(dQDdQx{F5?nS&EQqBPF2gfA2=q~`KlS8%1)PYhi4Rk zq#<(9!@f@{IF16G)K1%mQ7BsKXb~MJm8iC_Z8YUKwup|CfTwFzHADJaaGq56=1%dP zVV$SiTa|^W>{@69%@r*Tk?I1)FtS` zCB~_Owj{t{?K0QsYKEv;dDW`zNe)v5RGk+z{Ti-aR^?i9e2Dh=915J?N6DfvL-lG& zfai6Vx;cHuRI={^knUQZ9W*FI$ts}u-yMHZOfzU~_8hysTlHwk54^+*mz?ltfQp5x z85tj8c&5`xEoYYdI(e~`IYIk1w5-C~Q4Vr6tlGk4&o+w8e%?C987EU#)jam+m#LQp zTRhGI7-zOO*(VN7>*lKQ4ggwKRbH~eoM|O7(HTd}YAA9W(}`u4I{;`|u**nGyWV3b zI{;`|6M83`;hD6nsm?fBR&{=|iJn?-G`;4Gzs4cDvpM{YwvET@4gfk9>@w1~FS}y8 z1AvZIabvRMpXn|#!x=}%swqfz3Op#5Inx=RsYA3ioWTLf#?x;(0B^C%gL_4q6XsUV zasbe=Dsz)v4big->t{RT=veiIZZ||}o9{RP=vc5zw~wMa$;@#e=5UZkWkp&r=2gvg z0MN3k@{+w9(X{S}&2z@lvSN3*Js-8x?>hi!S?qMATV!^5l>>m5Ri2&fGl`~^zj%Q& zj+V7JKiQzNQ7rRAXPgw_rjnX)of}}8Pn}rg0H9-0l^W@ZnN#tx1AvZIk(2DEiJo;! zZM8Fwj#Yb0vJ2-1?eu5P_-ESb&%zn3XQzjsUg7{O(Ru0>Y5bX6xzqtb$EwWzB*cK8 zRaC#+8Ar#eFLGOrveRuf4gfk9HOg+2QZda{4#X^A@dk0MN1)#nUgrRyWRWBsX~mjdzTN>q$turIHgQGK`bN!0XB;J~<{QcGub*hA z>z#3uOq)vH30LW3qit?>05%)08R<8hGqb?~K*^e!lk8NBqE%SC#TiG*sx3@*xcz{g zZr$pPla1S2Iy0O>mEoM*9f0kIb4Hr#=2q=+08p~3Zceu2MbRp%Z*s;_vg(W6Hohv4 zZFT@qvN%s}17Pj+9tQ#~YizW2aDMe(XB;id?K%858@+v>Gfswfv{$iQF)a>22VIV{ zryXzr(6K6<{>bQAT+-=`qhq;^l`G_mIqZy+Y#qOMOt{R`%|^F70PSX@BdwfosyyNV zpkr0$CYwN`XBE~SbH>rJHbk07i*=rG0MM~uoiB%Tn9Np>ID5*0IK_b)krioJomX|* z0YJ;D%1gGoM$_sS``j5v%Zl}TKKufj7OeA}1AvyrR!5p^UtfOS0YJ+tzdq8GJKyD7 zofFmh$zI;CcwULuw8GCq=5Lc%@^tuhnvCI%S?P~biH8>^rDu3f#VUVzRiaBpj)(3P zs1PGno?cM9#vfn9F)C1#z2x}kVw$!7IHiX1Qg!D`j#G+`GiJRHK;a@z7`bVZ5EP*2 zR&MYCHfVoOMaC&QzrDWBAFtyW-F_l6u1fOoO_ThBEiiBJA*l33$2=N= zP+j@LMjxP2PMG${IBD|5v6w#|6T?hxH!o+*HXmRc4D&IH)7?3sMr4<7_W`zxVWu^> z&*$m@n@UcNZB2f(H9kEaOPY51<5Wd9m87=RS1HeKAAs6loG^0JBv*lE{I-#nlGQ1z zsK|-7@h3;$w&T(`?%di!HLy&+-^5Ovu3j3)o!e5{6dB)Xn5H^}2>^F4P8hjqk{Gtj z8KZt<0>GU+kGsO%@vUN->RhIA+`08dYSNi}KgLc!+@>yQ0%+qDJ={fZnj}P{snbwT zH9_FeWv3e>5SxPzZ2~w7$Lyn)qDc((+G+KA(>M;@Sh0GMCdccHjjq0N0>Gh*vMD!B z5&|{CcA*o%DLG*_M8?;NYpR`{#?Odjs&8uY{k810>58Xu+_~|4)NnO9zQ%A(_16;s z?p&NOa?>OsR{5>^PWlb~Rz*f>^-8-xTF224uqHCXMP@hS8ojBDd@@ONGN!KlD_Dd7 IQ&!@C16Y`#hX4Qo literal 0 HcmV?d00001 diff --git a/XposedTweakbox/project.properties b/XposedTweakbox/project.properties new file mode 100644 index 0000000..216a553 --- /dev/null +++ b/XposedTweakbox/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library.reference.1=../XposedLibrary diff --git a/XposedTweakbox/res/drawable-hdpi/ic_launcher.png b/XposedTweakbox/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ce7afce751400e1dea6f0e6579d089a13ddfdd2b GIT binary patch literal 6759 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 JPDHLkV1j`00ww?e literal 0 HcmV?d00001 diff --git a/XposedTweakbox/res/drawable-ldpi/ic_launcher.png b/XposedTweakbox/res/drawable-ldpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..30e3aff8535f0b09bf7f4cce61d9b2d39b18f1c2 GIT binary patch literal 4490 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 literal 0 HcmV?d00001 diff --git a/XposedTweakbox/res/drawable-xhdpi/ic_launcher.png b/XposedTweakbox/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8acb26242071ab11f48911af72592681aaa47f7a GIT binary patch literal 9108 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 O4?spjQM^vnIOIQj&UB^# literal 0 HcmV?d00001 diff --git a/XposedTweakbox/res/layout/settings.xml b/XposedTweakbox/res/layout/settings.xml new file mode 100644 index 0000000..e4ba79a --- /dev/null +++ b/XposedTweakbox/res/layout/settings.xml @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/XposedTweakbox/res/values/arrays.xml b/XposedTweakbox/res/values/arrays.xml new file mode 100644 index 0000000..3464799 --- /dev/null +++ b/XposedTweakbox/res/values/arrays.xml @@ -0,0 +1,29 @@ + + + + + Do nothing + Show classical recent apps list (icons only) + Show new recent apps list (with thumbnails) + + + 0 + 1 + 2 + + + Transparent + Semi-transparent (25%) + Semi-transparent (50%) + Semi-transparent (75%) + Default + + + 0 + 0x3f000000 + 0x7f000000 + 0xbf000000 + 0xdeadbeef + + + \ No newline at end of file diff --git a/XposedTweakbox/res/values/strings.xml b/XposedTweakbox/res/values/strings.xml new file mode 100644 index 0000000..82ed282 --- /dev/null +++ b/XposedTweakbox/res/values/strings.xml @@ -0,0 +1,8 @@ + + + + Xposed Tweakbox + Tweakbox + Most of these modifications should be compatible with Samsung-stock-based ROMs and AOSP-based ROMs. Some might be compatible with CM9 as well.\nThe settings will be effective after the next reboot (or after restarting the SystemUI for status bar related settings). + + \ No newline at end of file diff --git a/XposedTweakbox/res/xml/preferences.xml b/XposedTweakbox/res/xml/preferences.xml new file mode 100644 index 0000000..132126c --- /dev/null +++ b/XposedTweakbox/res/xml/preferences.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/VolumeKeysSkipTrack.java b/XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/VolumeKeysSkipTrack.java new file mode 100644 index 0000000..4677f7d --- /dev/null +++ b/XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/VolumeKeysSkipTrack.java @@ -0,0 +1,155 @@ +package de.robv.android.xposed.mods.tweakbox; + +import java.lang.reflect.AccessibleObject; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.Iterator; + +import android.content.Context; +import android.content.Intent; +import android.os.Handler; +import android.os.SystemClock; +import android.view.KeyEvent; +import android.view.ViewConfiguration; +import de.robv.android.xposed.Callback; +import de.robv.android.xposed.XposedBridge; + +// ported from https://github.com/CyanogenMod/android_frameworks_base/commit/fa0c6a58a44fd884d758d47eaa750c9c6476af1a +public class VolumeKeysSkipTrack { + private static Method method_isMusicActive; + private static Field field_mContext; + private static Field field_mHandler; + + private static boolean alsoForScreenOn; + + private static boolean mIsLongPress = false; + // there can only be one + private static Object phoneWindowManager = null; + + static void init(boolean alsoForScreenOn) { + try { + VolumeKeysSkipTrack.alsoForScreenOn = false; //alsoForScreenOn; + + Class classPhoneWindowManager = Class.forName("com.android.internal.policy.impl.PhoneWindowManager"); + method_isMusicActive = classPhoneWindowManager.getDeclaredMethod("isMusicActive"); + + Method method_handleInterceptKeyBeforeQueueing = classPhoneWindowManager + .getDeclaredMethod("interceptKeyBeforeQueueing", KeyEvent.class, int.class, boolean.class); + XposedBridge.hookMethod(method_handleInterceptKeyBeforeQueueing, VolumeKeysSkipTrack.class, "handleInterceptKeyBeforeQueueing", Callback.PRIORITY_HIGHEST); + + field_mContext = classPhoneWindowManager.getDeclaredField("mContext"); + field_mHandler = classPhoneWindowManager.getDeclaredField("mHandler"); + + AccessibleObject.setAccessible(new AccessibleObject[] { + method_isMusicActive, + field_mContext, + field_mHandler, + }, true); + } catch (Exception e) { XposedBridge.log(e); } + } + + @SuppressWarnings("unused") + private static Object handleInterceptKeyBeforeQueueing(Iterator iterator, Method method, Object thisObject, Object[] args) throws Throwable { + try { + final boolean isScreenOn = (Boolean) args[2]; + if (!isScreenOn || alsoForScreenOn) { + final KeyEvent event = (KeyEvent) args[0]; + final int keyCode = event.getKeyCode(); + if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP) + && (Boolean)method_isMusicActive.invoke(thisObject) == true) { + phoneWindowManager = thisObject; + if (event.getAction() == KeyEvent.ACTION_DOWN) { + mIsLongPress = false; + handleVolumeLongPress(keyCode); + return 0; + } else { + handleVolumeLongPressAbort(); + if (mIsLongPress) + return 0; + + // send an additional "key down" because the first one was eaten + // the "key up" is what we are just processing + Object[] newArgs = new Object[3]; + newArgs[0] = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode); + newArgs[1] = args[1]; + newArgs[2] = args[2]; + XposedBridge.invokeOriginalMethod(method, thisObject, newArgs); + } + } + } + + } catch (Exception e) { + XposedBridge.log(e); + } + Object result = XposedBridge.callNext(iterator, method, thisObject, args); + return result; + } + + /** + * When a volumeup-key longpress expires, skip songs based on key press + */ + private static Runnable mVolumeUpLongPress = new Runnable() { + public void run() { + // set the long press flag to true + mIsLongPress = true; + + // Shamelessly copied from Kmobs LockScreen controls, works for Pandora, etc... + sendMediaButtonEvent(KeyEvent.KEYCODE_MEDIA_NEXT); + }; + }; + + /** + * When a volumedown-key longpress expires, skip songs based on key press + */ + private static Runnable mVolumeDownLongPress = new Runnable() { + public void run() { + // set the long press flag to true + mIsLongPress = true; + + // Shamelessly copied from Kmobs LockScreen controls, works for Pandora, etc... + sendMediaButtonEvent(KeyEvent.KEYCODE_MEDIA_PREVIOUS); + }; + }; + + private static void sendMediaButtonEvent(int code) { + Context mContext = null; + try { + mContext = (Context) field_mContext.get(phoneWindowManager); + } catch (Exception e) { + XposedBridge.log(e); + } + + long eventtime = SystemClock.uptimeMillis(); + Intent keyIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null); + KeyEvent keyEvent = new KeyEvent(eventtime, eventtime, KeyEvent.ACTION_DOWN, code, 0); + keyIntent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent); + mContext.sendOrderedBroadcast(keyIntent, null); + keyEvent = KeyEvent.changeAction(keyEvent, KeyEvent.ACTION_UP); + keyIntent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent); + mContext.sendOrderedBroadcast(keyIntent, null); + } + + private static void handleVolumeLongPress(int keycode) { + Handler mHandler = null; + try { + mHandler = (Handler) field_mHandler.get(phoneWindowManager); + } catch (Exception e) { + XposedBridge.log(e); + } + + mHandler.postDelayed(keycode == KeyEvent.KEYCODE_VOLUME_UP ? mVolumeUpLongPress : + mVolumeDownLongPress, ViewConfiguration.getLongPressTimeout()); + } + + private static void handleVolumeLongPressAbort() { + Handler mHandler = null; + try { + mHandler = (Handler) field_mHandler.get(phoneWindowManager); + } catch (Exception e) { + XposedBridge.log(e); + } + + mHandler.removeCallbacks(mVolumeUpLongPress); + mHandler.removeCallbacks(mVolumeDownLongPress); + } +} diff --git a/XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/XposedTweakbox.java b/XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/XposedTweakbox.java new file mode 100644 index 0000000..0ecfcf2 --- /dev/null +++ b/XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/XposedTweakbox.java @@ -0,0 +1,115 @@ +package de.robv.android.xposed.mods.tweakbox; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.util.Iterator; + +import android.app.AndroidAppHelper; +import android.content.SharedPreferences; +import android.content.res.XResources; +import android.graphics.PixelFormat; +import android.graphics.drawable.ColorDrawable; +import android.view.WindowManager; +import de.robv.android.xposed.Callback; +import de.robv.android.xposed.XposedBridge; + + +public class XposedTweakbox { + public static final String MY_PACKAGE_NAME = "de.robv.android.xposed.mods.tweakbox"; + + public static void init(String startClassName) throws Exception { + if (startClassName != null) + return; + + // we could save the preferences as static variable, but by fetching it everytime we use it, + // we have a change to apply settings immediately or when the app is restarted + SharedPreferences pref = AndroidAppHelper.getDefaultSharedPreferencesForPackage(MY_PACKAGE_NAME); + + try { + if (pref.getBoolean("crt_off_effect", false)) { + XResources.setSystemWideReplacement("android", "bool", "config_animateScreenLights", false); + } + } catch (Exception e) { XposedBridge.log(e); } + + try { + if (!pref.getBoolean("unplug_turns_screen_on", true)) { + XResources.setSystemWideReplacement("android", "bool", "config_unplugTurnsOnScreen", false); + } + } catch (Exception e) { XposedBridge.log(e); } + + try { + XResources.setSystemWideReplacement("android", "integer", "config_longPressOnHomeBehavior", pref.getInt("long_home_press_behaviour", 2)); + } catch (Exception e) { XposedBridge.log(e); } + + try { + XResources.setSystemWideReplacement("android", "integer", "config_criticalBatteryWarningLevel", pref.getInt("low_battery_critical", 5)); + XResources.setSystemWideReplacement("android", "integer", "config_lowBatteryWarningLevel", pref.getInt("low_battery_low", 15)); + XResources.setSystemWideReplacement("android", "integer", "config_lowBatteryCloseWarningLevel", pref.getInt("low_battery_close", 20)); + } catch (Exception e) { XposedBridge.log(e); } + + XposedBridge.hookLoadPackage(XposedTweakbox.class, "handleLoadPackage", Callback.PRIORITY_DEFAULT); + XposedBridge.hookInitPackageResources(XposedTweakbox.class, "handleInitPackageResources", Callback.PRIORITY_DEFAULT); + + if (pref.getBoolean("volume_keys_skip_track", false)) + VolumeKeysSkipTrack.init(pref.getBoolean("volume_keys_skip_track_screenon", false)); + + } + + @SuppressWarnings("unused") + private static void handleLoadPackage(String packageName, ClassLoader classLoader) { + if (packageName.equals("com.android.systemui")) { + SharedPreferences pref = AndroidAppHelper.getDefaultSharedPreferencesForPackage(MY_PACKAGE_NAME); + if (!pref.getBoolean("battery_full_notification", true)) { + try { + Class classPowerUI = Class.forName("com.android.systemui.power.PowerUI", false, classLoader); + Method methodNotifyFullBatteryNotification = classPowerUI.getDeclaredMethod("notifyFullBatteryNotification"); + XposedBridge.hookMethod(methodNotifyFullBatteryNotification, XposedTweakbox.class, "doNothing", Callback.PRIORITY_HIGHEST); + } catch (NoSuchMethodException ignored) { + } catch (Exception e) { + XposedBridge.log(e); + } + } + + if (pref.getInt("statusbar_color", 0xdeadbeef) != 0xdeadbeef) { + // http://forum.xda-developers.com/showthread.php?t=1523703 + try { + Constructor constructLayoutParams = WindowManager.LayoutParams.class.getDeclaredConstructor(int.class, int.class, int.class, int.class, int.class); + XposedBridge.hookMethod(constructLayoutParams, XposedTweakbox.class, "handleInitLayoutParams", Callback.PRIORITY_HIGHEST); + } catch (Exception e) { + XposedBridge.log(e); + } + } + } + } + + @SuppressWarnings("unused") + private static void handleInitPackageResources(String packageName, XResources res) { + if (packageName.equals("com.android.systemui")) { + SharedPreferences pref = AndroidAppHelper.getDefaultSharedPreferencesForPackage(MY_PACKAGE_NAME); + + try { + res.setReplacement("com.android.systemui", "integer", "config_maxLevelOfSignalStrengthIndicator", + pref.getInt("num_signal_bars", 4)); + } catch (Exception e) { XposedBridge.log(e); } + + int statusbarColor = pref.getInt("statusbar_color", 0xdeadbeef); + if (statusbarColor != 0xdeadbeef) { + try { + res.setReplacement("com.android.systemui", "drawable", "status_bar_background", new ColorDrawable(statusbarColor)); + } catch (Exception e) { XposedBridge.log(e); } + } + } + } + + @SuppressWarnings("unused") + private static Object doNothing(Iterator iterator, Method method, Object thisObject, Object[] args) throws Throwable { + return null; + } + + @SuppressWarnings("unused") + private static void handleInitLayoutParams(Iterator iterator, Constructor method, Object thisObject, Object[] args) throws Throwable { + if ((Integer)args[4] == PixelFormat.RGB_565) + args[4] = PixelFormat.TRANSLUCENT; + XposedBridge.callNext(iterator, method, thisObject, args); + } +} diff --git a/XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/XposedTweakboxSettings.java b/XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/XposedTweakboxSettings.java new file mode 100644 index 0000000..3177b2d --- /dev/null +++ b/XposedTweakbox/src/de/robv/android/xposed/mods/tweakbox/XposedTweakboxSettings.java @@ -0,0 +1,26 @@ +package de.robv.android.xposed.mods.tweakbox; + +import android.app.Activity; +import android.os.Bundle; +import android.preference.PreferenceFragment; + +public class XposedTweakboxSettings extends Activity { + @Override + public void onCreate(Bundle savedInstanceState) { + setTitle(R.string.app_name); + super.onCreate(savedInstanceState); + setContentView(R.layout.settings); + } + + public static class PrefsFragment extends PreferenceFragment { + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + // this is important because although the handler classes that read these settings + // are in the same package, they are executed in the context of the hooked package + getPreferenceManager().setSharedPreferencesMode(MODE_WORLD_READABLE); + addPreferencesFromResource(R.xml.preferences); + } + } +} \ No newline at end of file