From 2532f36a6219d594a0af6876fef9832f26e992d9 Mon Sep 17 00:00:00 2001 From: John Richardson Date: Tue, 17 May 2016 13:37:04 +0100 Subject: [PATCH 1/3] Add Multiapp workload A new workload for testing context switching between applications. Uses googlephotos as the producer workload and gmail and skype as the consumer workloads. --- .../common/android/BaseUiAutomation$1.class | Bin 868 -> 868 bytes wlauto/common/android/BaseUiAutomation.class | Bin 9108 -> 9405 bytes .../arm/wlauto/uiauto/BaseUiAutomation.java | 10 + .../gmail/com.arm.wlauto.uiauto.gmail.jar | Bin 11064 -> 11938 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 39 +++- .../com.arm.wlauto.uiauto.googlephotos.jar | Bin 14178 -> 14723 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 30 ++- wlauto/workloads/multiapp/__init__.py | 188 ++++++++++++++++++ .../com.arm.wlauto.uiauto.multiapp.jar | Bin 0 -> 19339 bytes wlauto/workloads/multiapp/uiauto/build.sh | 49 +++++ wlauto/workloads/multiapp/uiauto/build.xml | 92 +++++++++ .../multiapp/uiauto/project.properties | 14 ++ .../com/arm/wlauto/uiauto/UiAutomation.java | 167 ++++++++++++++++ .../reader/com.arm.wlauto.uiauto.reader.jar | Bin 13036 -> 13126 bytes wlauto/workloads/skype/__init__.py | 3 - .../skype/com.arm.wlauto.uiauto.skype.jar | Bin 10593 -> 11529 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 23 ++- 17 files changed, 590 insertions(+), 25 deletions(-) create mode 100644 wlauto/workloads/multiapp/__init__.py create mode 100644 wlauto/workloads/multiapp/com.arm.wlauto.uiauto.multiapp.jar create mode 100755 wlauto/workloads/multiapp/uiauto/build.sh create mode 100644 wlauto/workloads/multiapp/uiauto/build.xml create mode 100644 wlauto/workloads/multiapp/uiauto/project.properties create mode 100644 wlauto/workloads/multiapp/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java diff --git a/wlauto/common/android/BaseUiAutomation$1.class b/wlauto/common/android/BaseUiAutomation$1.class index 2ba1c6334bf362f4554d5a80c37f15f2f0fe9370..f2b00190bcc0ec5deb765a10dfdb2504f54ae50d 100644 GIT binary patch delta 13 UcmaFD_JnPNJ~JchWCLas03hQ7w*UYD delta 13 UcmaFD_JnPNJ~JcZWCLas03go;vj6}9 diff --git a/wlauto/common/android/BaseUiAutomation.class b/wlauto/common/android/BaseUiAutomation.class index 41f5ca88b8f3bcac28eee83f9f60f05d04240c93..2f4448e3bf13629251aff3bb3ab14caa086133c3 100644 GIT binary patch delta 4017 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 delta 13994 zcmZ8|b8zRq7jA8CZQC}swr$(?r`T<`wr$(~cH6DpZmli1wsrTtcjouU%_Ng#awaEv zo-@hJNluvit`o9~JR}qX7#JKFSaE1WA~G#pQD}pVQ{_NZqL2*!q)%r~v>JxInz~0W z{nrzwJEYyISkGjn7|g_ca+Loo$?e)Y&!(#x9X zmgS+PWU^f-QA}p$v@NW~EgNge^JRNxCbd=|R(RtMONPQfAcEvfFqiBuuY(&6Owx_(y zA*K770zA!Nzt`L>E$91Po)fJ{!u+rqInfQ8|3q=1@YACGP}`BEnbT8A&$i*VaVMK& zD5%Fq$71Ub{hLNy6qYKHz5b&Q{EfK6SRw^R2~rp`0Q*VM1VrR_hs?-%b|8l#q`{{^BO$`1;06e10Bj%p2C5)R4_pt@8_bjO4)PAuj^oZH z$Uk^aX&(#$j6?-I27DMYR+NVoEC+G}Nf0@Ok<1RF4O|1;wk#21MP|3g}?>P2hRuAg;DxdRH)$# z@E39#st;)cMG)+tdRUd7(7!e�>~PAj%;xA=Z_lpy{=~D8kl3oiSg92!Rejo1kKl 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 C0EeIe diff --git a/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index 39a3201c..73abb1ce 100644 --- a/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -44,6 +44,7 @@ public class UiAutomation extends UxPerfUiAutomation { parameters = getParams(); setScreenOrientation(ScreenOrientation.NATURAL); + pauseForSplashScreen(); confirmAccess(); dismissWelcomeView(); gesturesTest(); @@ -55,14 +56,16 @@ public class UiAutomation extends UxPerfUiAutomation { writeResultsToFile(timingResults, parameters.getString("output_file")); } - private void dismissWelcomeView() throws Exception { + public void pauseForSplashScreen() { + sleep(5); // Pause while splash screen loads + } + + public void dismissWelcomeView() throws Exception { // Click through the first two pages and make sure that we don't sign // in to our google account. This ensures the same set of photographs // are placed in the camera directory for each run. - sleep(5); // Pause while splash screen loads - UiObject getStartedButton = new UiObject(new UiSelector().textContains("Get started") .className("android.widget.Button")); @@ -279,7 +282,7 @@ public class UiAutomation extends UxPerfUiAutomation { startDumpsysSurfaceFlinger(parameters, viewName); Timer result = new Timer(); - result = slideBarTest(straightenSlider , pos, steps); + result = slideBarTest(straightenSlider, pos, steps); stopDumpsysSurfaceFlinger(parameters, viewName, surfFlingerlogName); stopDumpsysGfxInfo(parameters, gfxInfologName); @@ -385,8 +388,8 @@ public class UiAutomation extends UxPerfUiAutomation { return result; } - // Helper to click on an individual photographs based on index in wa-working gallery. - private void selectPhoto(final int index) throws Exception { + // Helper to click on an individual photograph based on index in wa-working gallery. + public void selectPhoto(final int index) throws Exception { UiObject workdir = getUiObjectByText("wa-working", "android.widget.TextView"); workdir.clickAndWaitForNewWindow(); @@ -398,7 +401,7 @@ public class UiAutomation extends UxPerfUiAutomation { } // Helper that accepts, saves and navigates back to application home screen after an edit operation - private void saveAndReturn() throws Exception { + public void saveAndReturn() throws Exception { UiObject accept = getUiObjectByDescription("Accept", "android.widget.ImageView"); accept.click(); @@ -413,4 +416,17 @@ public class UiAutomation extends UxPerfUiAutomation { navigateUpButton.waitForExists(viewTimeout); navigateUpButton.click(); } + + // Helper to tag an individual photograph based on index in wa-working gallery. + public void tagPhoto(final int index) throws Exception { + UiObject workdir = getUiObjectByText("wa-working", "android.widget.TextView"); + workdir.clickAndWaitForNewWindow(); + + UiObject photo = + new UiObject(new UiSelector().resourceId("com.google.android.apps.photos:id/recycler_view") + .childSelector(new UiSelector() + .index(index))); + photo.waitForExists(viewTimeout); + uiDevicePerformLongClick(photo, 100); + } } diff --git a/wlauto/workloads/multiapp/__init__.py b/wlauto/workloads/multiapp/__init__.py new file mode 100644 index 00000000..fae32ba2 --- /dev/null +++ b/wlauto/workloads/multiapp/__init__.py @@ -0,0 +1,188 @@ +import os +import re + +from wlauto import AndroidUiAutoBenchmark, Parameter, File + + +class Multiapp(AndroidUiAutoBenchmark): + + name = 'multiapp' + + googlephotos_package = 'com.google.android.apps.photos' + gmail_package = 'com.google.android.gm' + skype_package = 'com.skype.raider' + + # Set default package and activity + package = googlephotos_package + activity = 'com.google.android.apps.photos.home.HomeActivity' + + view = [googlephotos_package + '/com.google.android.apps.photos.home.HomeActivity', + googlephotos_package + '/com.google.android.apps.photos.localmedia.ui.LocalPhotosActivity', + googlephotos_package + '/com.google.android.apps.photos.onboarding.AccountPickerActivity', + googlephotos_package + '/com.google.android.apps.photos.onboarding.IntroActivity', + googlephotos_package + '/com.google.android.apps.photos/.share.ShareActivity', + + gmail_package + '/com.google.android.gm.ComposeActivityGmail', + + skype_package + '/com.skype.android.app.main.SplashActivity', + skype_package + '/com.skype.android.app.signin.SignInActivity', + skype_package + '/com.skype.android.app.signin.UnifiedLandingPageActivity', + skype_package + '/com.skype.raider/com.skype.android.app.contacts.PickerActivity', + skype_package + '/com.skype.android.app.chat.ChatActivity'] + + instrumentation_log = '{}_instrumentation.log'.format(name) + + description = """ + Workload to test how responsive a device is when context switching between + appplication tasks. It combines workflows from googlephotos, gmail and + skype. + + Credentials for the user account used to log into the Skype app have to be provided + in the agenda, as well as the display name of the contact to call. + + For reliable testing, this workload requires a good and stable internet connection, + preferably on Wi-Fi. + + NOTE: This workload requires two jpeg files to be placed in the + dependencies directory to run. + + WARNING: This workload timings are dependent on the time it takes to sync the Gmail. + + Although this workload attempts to be network independent it requires a + network connection (ideally, wifi) to run. This is because the welcome + screen UI is dependent on an existing connection. + + Test description: + 1. Two images are copied to the device + 2. Googlephotos is started in offline access mode + 3. The first image is selected and shared with Gmail + 4. Enter recipient details in the To: field + 5. Enter text in the Subject edit box + 6. Enter text in the Compose edit box + 7. Attach the shared image from Googlephotos to the email + 8. Click the Send mail button + 9. Return to Googlephotos and login to Skype via share action + 10. Return to Googlephotos and share the second image with Skype + 11. Select a recipient from the Contacts list + 12. The second image is posted to recipient + """ + + parameters = [ + Parameter('recipient', default='armuxperf@gmail.com', mandatory=False, + description="""" + The email address of the recipient. Setting a void address + will stop any mesage failures clogging up your device inbox + """), + Parameter('login_name', kind=str, mandatory=True, + description=''' + Skype account to use when logging into the device + '''), + Parameter('login_pass', kind=str, mandatory=True, + description='Skype password associated with the account to log into the device'), + Parameter('contact_name', kind=str, mandatory=True, + description='This is the contact display name as it appears in the people list in Skype'), + Parameter('dumpsys_enabled', kind=bool, default=True, + description=''' + If ``True``, dumpsys captures will be carried out during the test run. + The output is piped to log files which are then pulled from the phone. + '''), + ] + + file_prefix = 'wa_test_' + + def __init__(self, device, **kwargs): + super(Multiapp, self).__init__(device, **kwargs) + self.output_file = os.path.join(self.device.working_directory, self.instrumentation_log) + + def validate(self): + super(Multiapp, self).validate() + + self.uiauto_params['recipient'] = self.recipient + self.uiauto_params['dumpsys_enabled'] = self.dumpsys_enabled + self.uiauto_params['output_dir'] = self.device.working_directory + self.uiauto_params['my_id'] = self.login_name + self.uiauto_params['my_pwd'] = self.login_pass + self.uiauto_params['name'] = self.contact_name.replace(' ', '_') + self.uiauto_params['output_file'] = self.output_file + + def initialize(self, context): + + super(Multiapp, self).initialize(context) + + for entry in os.listdir(self.dependencies_directory): + wa_file = ''.join([self.file_prefix, entry]) + if entry.endswith(".jpg"): + self.device.push_file(os.path.join(self.dependencies_directory, entry), + os.path.join(self.device.working_directory, wa_file), + timeout=300) + + # Force a re-index of the mediaserver cache to pick up new files + self.device.execute('am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///sdcard') + + def setup(self, context): + super(Multiapp, self).setup(context) + + self.launch_main = False + + # Use superclass for setup of gmail dependency + self.version = 'Gmail' + self.package = self.gmail_package + self.logger.info('Installing dependency Gmail') + super(Multiapp, self).init_resources(context) + super(Multiapp, self).setup(context) + + # Use superclass for setup of skype dependency + self.version = 'Skype' + self.package = self.skype_package + self.logger.info('Installing dependency Skype') + super(Multiapp, self).init_resources(context) + super(Multiapp, self).setup(context) + + # Restore default settings + self.package = self.googlephotos_package + self.launch_main = True + super(Multiapp, self).init_resources(context) + + def update_result(self, context): + super(Multiapp, self).update_result(context) + + self.device.pull_file(self.output_file, context.output_directory) + result_file = os.path.join(context.output_directory, self.instrumentation_log) + + with open(result_file, 'r') as wfh: + regex = re.compile(r'(?P\w+)\s+(?P\d+)\s+(?P\d+)\s+(?P\d+)') + for line in wfh: + match = regex.search(line) + if match: + context.result.add_metric((match.group('key') + "_start"), match.group('value1')) + context.result.add_metric((match.group('key') + "_finish"), match.group('value2')) + context.result.add_metric((match.group('key') + "_duration"), match.group('value3')) + + def teardown(self, context): + super(Multiapp, self).teardown(context) + + # Use superclass for teardown of gmail dependency + self.package = self.gmail_package + super(Multiapp, self).teardown(context) + + # Use superclass for teardown of skype dependency + self.package = self.skype_package + super(Multiapp, self).teardown(context) + + # Restore default package + self.package = self.googlephotos_package + + for file in self.device.listdir(self.device.working_directory): + if file.endswith(".log"): + self.device.pull_file(os.path.join(self.device.working_directory, file), context.output_directory) + self.device.delete_file(os.path.join(self.device.working_directory, file)) + + def finalize(self, context): + super(Multiapp, self).finalize(context) + + for entry in self.device.listdir(self.device.working_directory): + if entry.startswith(self.file_prefix) and entry.endswith(".jpg"): + self.device.delete_file(os.path.join(self.device.working_directory, entry)) + + # Force a re-index of the mediaserver cache to removed cached files + self.device.execute('am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///sdcard') diff --git a/wlauto/workloads/multiapp/com.arm.wlauto.uiauto.multiapp.jar b/wlauto/workloads/multiapp/com.arm.wlauto.uiauto.multiapp.jar new file mode 100644 index 0000000000000000000000000000000000000000..53f092163ad3164806a9c03e319df84e2a9aacde GIT binary patch literal 19339 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 qTm9#8wm/dev/null`; then + script_path=`readlink -f $0 2>/dev/null` +fi +script_dir=`dirname $script_path` +cd $script_dir + +# Ensure build.xml exists before starting +if [[ ! -f build.xml ]]; then + echo 'Ant build.xml file not found! Check that you are in the right directory.' + exit 9 +fi + +# Copy base classes from wlauto dist +class_dir=bin/classes/com/arm/wlauto/uiauto +base_classes=`python -c "import os, wlauto; print os.path.join(os.path.dirname(wlauto.__file__), 'common', 'android', '*.class')"` +mkdir -p $class_dir +cp $base_classes $class_dir + +# Add multiapp workload dependencies +apps=("googlephotos" "gmail" "skype") + +for app in "${apps[@]}"; do + module_path="wlauto.workloads.${app}" + app_path="'uiauto/bin/classes/com/arm/wlauto/uiauto/${app}'" + app_class_dir=`python -c "import os, ${module_path}; print os.path.join(os.path.dirname(${module_path}.__file__), ${app_path})"` + cp -r $app_class_dir $class_dir +done + +# Build and return appropriate exit code if failed +ant build +exit_code=$? +if [[ $exit_code -ne 0 ]]; then + echo "ERROR: 'ant build' exited with code $exit_code" + exit $exit_code +fi + +# If successful move JAR file to workload folder (overwrite previous) +package=com.arm.wlauto.uiauto.multiapp.jar +rm -f ../$package +if [[ -f bin/$package ]]; then + cp bin/$package .. +else + echo 'ERROR: UiAutomator JAR could not be found!' + exit 9 +fi diff --git a/wlauto/workloads/multiapp/uiauto/build.xml b/wlauto/workloads/multiapp/uiauto/build.xml new file mode 100644 index 00000000..5ec5b6e5 --- /dev/null +++ b/wlauto/workloads/multiapp/uiauto/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wlauto/workloads/multiapp/uiauto/project.properties b/wlauto/workloads/multiapp/uiauto/project.properties new file mode 100644 index 00000000..ce39f2d0 --- /dev/null +++ b/wlauto/workloads/multiapp/uiauto/project.properties @@ -0,0 +1,14 @@ +# 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-18 diff --git a/wlauto/workloads/multiapp/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/multiapp/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java new file mode 100644 index 00000000..6be0b885 --- /dev/null +++ b/wlauto/workloads/multiapp/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -0,0 +1,167 @@ +package com.arm.wlauto.uiauto.multiapp; + +import android.os.Bundle; + +// Import the uiautomator libraries +import com.android.uiautomator.core.UiObject; +import com.android.uiautomator.core.UiScrollable; +import com.android.uiautomator.core.UiSelector; + +import com.arm.wlauto.uiauto.UxPerfUiAutomation; + +import java.io.File; +import java.util.concurrent.TimeUnit; +import java.util.LinkedHashMap; + +public class UiAutomation extends UxPerfUiAutomation { + + public static String TAG = "uxperf_multiapp"; + + public Bundle parameters; + private String outputDir; + private LinkedHashMap timingResults = new LinkedHashMap(); + + public void runUiAutomation() throws Exception { + parameters = getParams(); + + com.arm.wlauto.uiauto.googlephotos.UiAutomation googlephotos = + new com.arm.wlauto.uiauto.googlephotos.UiAutomation(); + + confirmAccess(); + googlephotos.dismissWelcomeView(); + + // select the first photo + googlephotos.tagPhoto(0); + sendToGmail(); + + // select the second photo + googlephotos.tagPhoto(1); + logIntoSkype(); + + // Skype won't allow us to login and share on first visit so invoke + // once more from googlephotos + pressBack(); + pressBack(); + googlephotos.tagPhoto(1); + + sendToSkype(); + + writeResultsToFile(timingResults, parameters.getString("output_file")); + } + + private void sendToGmail() throws Exception { + + final String dumpsysTag = "sendToGmail"; + final String PACKAGE = "com.google.android.gm"; + String outputDir = parameters.getString("output_dir", "/sdcard/wa-working"); + + com.arm.wlauto.uiauto.gmail.UiAutomation gmail = + new com.arm.wlauto.uiauto.gmail.UiAutomation(); + + Timer result = new Timer(); + result.start(); + + initDumpsysGfxInfo(PACKAGE); + shareUsingApp("Gmail"); + gmail.clearFirstRunDialogues(); + + if (!gmail.hasComposeView()) { + waitForSync(); + } + + gmail.setToField(parameters); + gmail.setSubjectField(); + gmail.setComposeField(); + gmail.clickSendButton(); + exitDumpsysGfxInfo(PACKAGE, new File(outputDir, dumpsysTag + "_gfxInfo.log")); + + result.end(); + timingResults.put("send_to_gmail_contact", result); + } + + private void waitForSync() throws Exception { + + // After the initial share request on some devices Gmail returns back + // to the launching app, so we need to share the photo onces more and + // wait for Gmail to sync. + com.arm.wlauto.uiauto.googlephotos.UiAutomation googlephotos = + new com.arm.wlauto.uiauto.googlephotos.UiAutomation(); + + com.arm.wlauto.uiauto.gmail.UiAutomation gmail = + new com.arm.wlauto.uiauto.gmail.UiAutomation(); + + googlephotos.tagPhoto(1); + shareUsingApp("Gmail"); + gmail.clearFirstRunDialogues(); + } + + private void logIntoSkype() throws Exception { + + final String dumpsysTag = "logInToSkype"; + final String PACKAGE = "com.skype.raider"; + String outputDir = parameters.getString("output_dir", "/sdcard/wa-working"); + + com.arm.wlauto.uiauto.skype.UiAutomation skype = + new com.arm.wlauto.uiauto.skype.UiAutomation(); + + String loginName = parameters.getString("my_id"); + String loginPass = parameters.getString("my_pwd"); + + Timer result = new Timer(); + result.start(); + + initDumpsysGfxInfo(PACKAGE); + shareUsingApp("Skype"); + skype.handleLoginScreen(loginName, loginPass); + confirmAccess(); + exitDumpsysGfxInfo(PACKAGE, new File(outputDir, dumpsysTag + "_gfxInfo.log")); + + result.end(); + timingResults.put("log_into_skype", result); + } + + private void sendToSkype() throws Exception { + + final String dumpsysTag = "sendToSkype"; + final String PACKAGE = "com.skype.raider"; + String outputDir = parameters.getString("output_dir", "/sdcard/wa-working"); + + com.arm.wlauto.uiauto.skype.UiAutomation skype = + new com.arm.wlauto.uiauto.skype.UiAutomation(); + + String contactName = parameters.getString("name").replace("_", " "); + + Timer result = new Timer(); + result.start(); + + initDumpsysGfxInfo(PACKAGE); + shareUsingApp("Skype"); + skype.searchForContact(contactName); + exitDumpsysGfxInfo(PACKAGE, new File(outputDir, dumpsysTag + "_gfxInfo.log")); + + result.end(); + timingResults.put("send_to_skype_contact", result); + } + + private void shareUsingApp(String appName) throws Exception { + Timer result = new Timer(); + result.start(); + UiObject shareButton = getUiObjectByDescription("Share", "android.widget.TextView"); + shareButton.click(); + + UiScrollable applicationGrid = + new UiScrollable(new UiSelector().resourceId("com.google.android.apps.photos:id/application_grid")); + + UiObject openApp = new UiObject(new UiSelector().className("android.widget.TextView").text(appName)); + + while (!openApp.exists()) { + applicationGrid.scrollForward(); + } + + openApp.clickAndWaitForNewWindow(); + String testTag = String.format("share_using_%s", appName); + + result.end(); + timingResults.put(testTag, result); + } +} diff --git a/wlauto/workloads/reader/com.arm.wlauto.uiauto.reader.jar b/wlauto/workloads/reader/com.arm.wlauto.uiauto.reader.jar index 39fc99107cac490d0e3472e398913cb04d9ba3b1..1b611c9fd059fa40d3bda8afbcf681858579fc3f 100644 GIT binary patch delta 12890 zcmZ8|WlWu2ur=;boZ`jZ-QC?Cio46fA84@_D^T3sin~+X4{&gIcZVYPy+3Zg$r3cK{)sS|a|^yB zi`ANFXBI|>8Qn@vCCA5oN5?wv< zhJD3+;<)14BIvz@wiP;oDHew+gL4SE?xp^U!j6}Qo(01UXBdjaj+BMC2DgST31Zs484TufnFn( z_6(Wq_3rKO%?+_1=iuG)*fQPX$qRau?LiMgbA|Zl;qjA>KrQTgkebFbD)FaUP+!zamUy{6SPjoPuG6y#U}%;okc^h-)uHpufOpp`IaDBe)>Az+WK7!H7WxBfMfi z!EOz1uppMeG=vKDYUZIHL94%B6)$-U594gYlv6rvX@20aC-l?!3$b=m@O^U(E?ouDkl5%>vONm|MN zV*>4q{e*QTwB;&(d@P+5D)<${jd2><3&t^&D}>ukzzxq0=gMyjV@qQzv-h@_W6QSJ zHKYe-$mWSF4Xtsj4IJOM7K3_3jAzbn0 z`J)C>vje1Qu#Hfpy@Fe4Uobk!TQOVl{};g%=M~fy{}t{P=@w!yIFv6$4EBIf8m|}b zs~|i15u7S)GjvA?Y6w$kJapuLt#gGIgMUY8-9Qw>;D%-jd4z@)$9RHrgLZ>;qq{=7 zLf@j<0zx*SX>9v)LJ50?zasxPUGOiV+-}f-8;u+36~mU#)_8AFuVt@RFDNuM)C{%< zegg(3NFV1b^fdY%wEdRFmd#dlZ(*-euUZHn^rnHdPA~VC)mPD4Bs)Z1*ivY$FX+Zd z#_(%!fe5Xr{3xABoiMN1zBo^)>O_BiLq^@?AR))S#$U;o zd^7suWaf8a*?~C`_mwPcpN1JrA{lNTvqT~d#u>gqTnrNyA;h`&3nn6_raH<9lvJ-v zoIprd@4wJbP~`BUsDa4*Xlu}cgsnLI0L)tPJ+)U>-wUT#yJ{&olG7$ckUJNmYP3=X zK@UM(s@ad`22xbb(1W{FH|>+B+9y(2TZ);yGFEHm&iPL6s0rcH;g;C>oO@+xboVJC#lHU7p;`q9u1;~C zK7MPytE^IVy>;@>v?cz4F%oj>uW@{*B<@ieZ$M|Bf6esHSQXBLxKg}vWFI^S3$w)| zh!#U!io~iQ@6G1v$nt<>X(?rpda0W1OOjw$FD+15^`=YQgL7=;Ggt^soa+` zwLDASSj<*m?04~8XJSqa_6C~$NNbA?KAr_OEOyD8n?@Zo4mT~6{02&L3wfUjR_5Lv z7higGN)0|*j=4`iJO$r^MgY@NKbGz?NDs^hs^Fx5w@E2ZGxw^S=$js~m@5~lKU$Wl zi&9N(v5@x)bi5mq>R*^HxMz!FXuo)$UkvuhlXG_@Dr^WW;lod^bHJ@sPLLv@KPL@K zA#%pl+?}xs+rpjTG?ZQ4S3^~rM3fbJd-&}9TRlZXnOw{>V%?F4@#{xPm71A5LknPr zVVvpeky-^jen8q9A8=IpUx6oG&RrB7dxJVLD4#dj=TOuqB+Ji!Q(E; z{mq(V2?e!cHDpmed;lWa?Dx9<$w3kouPE@Og*!+V;-7z%^zH4;ssi5Ie8Uy<-%9cw z3`4FF1#Z>vxdQh@)dGb?pV{<`2YdgNBJVp26}IU+Nd>(bp2X^6V(t&szwd$7B&CS= zX47}8i9U`i3P93a5hufC0fXeet$cfiYLXX?^MY4&(dn^;0?=_}s8R#D^H&k0)E4_> z|MIzvfQ~1=6lqs$P717eQhdn$24r+ImS+-$kI`{=89-qF17HNV*`^a9>boBF?Yv7h zM~DW#T|VWOut}1gr67R%JU;+_wW|Vr=ckZ)B$U{v8(y%Vp=)QzQ2w1((P2hgA)8wT zlEj@|y(*>!%=&pH6mjkGE9DOpQ)esiIkaU`I~Rc++KhO*R3Kn`|BfQhBh-vwjYToa zV+()%Sp{IgNBMS%h019UJi}@jjfGqqmIM#HsM-r4`5&m8xhCv2GZCc%`=_oW5q?Er z&)TNLTiUz+to2=Uk&>0$K(M&{imE5Ib3Uztk$rU$9i%vM0b-qDN^|VgZm8LWq2o_l zaVMxP0h_z{yh@{Us!_aHh(h!)u_##Z&n-xPMM6yhD7w?IEX2!r*N2$dzkn2sM%dmG z>pK7s0iQpq+UQ_R-sYlDk#t3hR*TbYU0#!E3!6t zBKKRA;takD)3Lomav;kqz<;aO7kr9ELabJR{0*#Z9m!Qo=>%|jzoq|*LW+wL%)rVEDZB)J07Z=V(E-Q$`8FUoMZ;hz<6ZLRLF z(wa@=2Nru|24n>d@WXKxn|@J&xhajhTKgXd{UguMyMcB#^;<%-0QZZad)Bf79cl^B z9PQIo(TV_G##2(!uATT5X+^}hj0NOwwelMo?&Jeh(GRqj#;uNIB3EJ;qFs2%extgZ zlcp3K_At%Q>gh%;hy{k|Yrp#w|CiWt!xN`u+aBYE3X8PB=V$tlJXTwPNnXTgGIcZR zM(xz&qwK*IMsn!|Xj;|jcGCW5yb*OHYeF`CzIqBO=u}Hhjo0|#{tc+7>cwc}$Uc{P z`|W=|zm$8{YVTA`OEFR4Vg^y->7uPZ*>I{HKURY_YfKigV-i9EI=_zhpmo|Ly>+;(dNvnG zsMuy#Ss8-KEP;<9ojH8NsfQ@ZhQWK7x|At1!Q#QH_ z7asP5sN@xuIKE7uYu%U4pZ;%P*xc$}6wxEx$OYOuBIMe9jmCoP4Rw)3n6l;ULW{T#w}g-nwQ>#OqYutuko zjym8pvZR_@s0*C9m-VGMQVA;c5YT-o0(jtKR@?|=|9Sr@Q7e*yXm|>i3tao^$?(U? zntWiJvIrvJFeEoujcppyyOK5pYDquG7Xb`6Li_qbBkpJy$$aEAkKH&UevMg1r=k^$ zf@my2gbbFKHsZ6@k=4(yucOn-bNhbU7Gxr)CTX|ac9Tr1c=Nx8vtqx%J2)QtX!O>t z*bBnoRhpE1KirfS{eCD0Z|iH2-?L74U^$Y=?fL|AROxdAA;r*23U*4k- z>eXdisuO`Pm!=zSv_7mZEf)AwjAZA^`jBVfH^w^Kd884Sm5_CP_O@^?p|>mg;j-?D z>EWdL*!7kE(q;T&P=hMj0`G(IZskEF{X9QGsaX6Z)i}Hep$51r@tt?%S$bL+MaAGs zNA!CD3>ZyF61Vw4B6o8@R4F3oFZzlte70$N97Xn>STuHSvPPA1;o76sekdCdiN!$p+lNjgFQJ2nf(#8{?%<<4I_w%>s$ zH>W`liKXx0@*&YqS{Ti;eZDjzLD!Q`DdSvEgreqktC0s`qj^t3mtlKH+d3E91Q$8Y z+cbNk$V{*D^0qijj7W-z8y2nn^AiA=Z7v$(=x4`JBfPM8&o2%9XW1ljPTm}(jAZE* zoiR2;=JFxu3=WbL+;)#&2rF6O80W-zTv=reE%sP-whKsY+ze&}>8g8P!=Wg5Zlx=p z9?h;A!=YwE1zfi!1tSja7JF32sT$~gTjz@YwgA5*@`;i%TlJFR9dM1_Y1ae#`hHhl zr0`m@%MjCQfjQ!bTenII10L7Co?f^~B5M1Fgc7=?6p3}0giT*)#w)foAt*va%x`$9 zg3OEN*V0o033E8iJdfiau%6&}*R!^RVZMho)uNWVLx0My*sOq!NYNf05iQN&kgD>6 zJmQD!&DDwxlQV5KqpX)dK8S$G6MW?~G-j)y`E;_IeB+9>tDa+l4mu)*&R8^dH1A6(E9ruZ#qzwI~3m2+nUGwqN6Z z;;qg5Ec2P$11XN(!8!~Je{2^eONl%oC#5i^2oMHi2{~cp!VIy07%b$npyc;`CX$QU z<`zImCF}oI_H(emXiBLF?z8|Jf1m5y0nWf-iQosLM$)1BHgo8L_FI!iQ!u!xLLe)Q zKFJaT@6pi9P`j&Ug#p;)Mj!5S$%+Wsx;+n~+A%%wk8ImEcbQ>tu}?D+o-h%dxJUO~ zBqyhWWrI=Mx7@cNWeV{AbCw8>5%9^Wv9wj1Yx(iwqp?YGq8IhTni`i2{*Rq|=zi$) z^XGQ7!)Na(H}EeG?n|u$Wp$E)Y17H{a{j1a(cFg?gLONf6M&tpO8zN+F9LnN=zol- z%7e?Mq_za3{Fyw^4%cfE8vT~h9fdP>yB7_G&#fI3_@LC-s1A_qtverc|3`gXN2(HG zX-wyKPXXh@5_VY#sR-IeiienUIlWBPb>kp;9)xM!-BE;81AVmwm8WgPTEjb))WDU= zf9czkjZ%082=K>S9NRR&kd@mo7|SnpWN#>&HF@7s0X|VMC^3-DqOA|#~HG(sS3IZ)O&c0zi^=n7Uvi$sYXsm+4zWy+aQhthhkQ^ev^1&`?z#{z-0twc>%i_O3~vBg2D775&N8~(VxaL>&Tb0Z<{BL-6XjDd421%VYvirb8g&(NVHETKQ1C(e>nUl{?_bH*1Q8F zF5UH4^Qx)AW5BE- zOIVC><-5Rd_4k~Qb&ytzI~%emfAgz-%w}X>wYv8>2SN3?#yU*aocY<`JbjuQ>({%# zmqF65rWIO@v;jwnsx>g(9Kr zH@h6RMI5ZpGVdPaTLU;+Y|@Cy4s_8yKlVWwj4zZgLm@wdzI(Mq?cOyGn}YLWaxt|D z1Ib5@Y@hl$7Jx>L=i}OMS`?#~XU&aM(;(FOg-3)r&?-!_L_@~6xJdO&BEiAGrZ<>A zuAFzsEAmtji3e%Q-pj9DuU1k=rD1t-{c%>iEM>WO@w>La4$2Q)H%ve6W-UHNx17Iq z^W=5!GFXaf4F=P`d{hKJtgDK09r8-fHjMe{Xo<3s|_wQxo?n#m40sI3+PXBYMynRwH-}{&ExyH7-}FJ{s`g3AT&f zulT|z@coL7E`oAy5Wa$1g z{G~Pdf>)>kgD=~^5k28H{qubbc{SNjU9rI)db9EyeX|MAG@)3}_p$p{aIy;qJ!x`( zR6VtFwiXpLTjfg3aWEc`6#c9BCZ#ged}0>S_yLF1@&?jG>;CiB;+`PcF*wr4gH@sq z)0rP9>yPoL$&rqgf+5Pm zbPC|`7(dt^zC`@pnU$kfbF6jGe&t<-hBHF5aKi!5cZfWP6wWa1}7RzfyJ=Kzw(R$u6%5^XVl0LE(F2RGVR4 z>zU~sW4sdy&7pS!7W^U;wuUZ7Eh`&+73qNe$7JBC=ha%~R!_C~MfRQ7Mb9(@+DPrP zC_W#wDR(5h@>u>a9zeX8)#Aq0-K3)ICsYR)TQDvivAdR zlC~o^gCz%Z{K%_yFUaoiC@FWNWlpyJMo{0%Cp3g3w(DGaObdK)YyvZR{+9$^B*5U? z0hS*lb4#GjlDg#*<8Uu164M$Bi+}%lVwb&aLVYuL&*ubT{;~CYqgIjBBGm&@#_;sX zZn!7yml9)sV9MzvR`L>~7!*0jVDVXQTJz=HdVO2e>@V)ietn2ehlG8aQmT>5-IYdG zyJ&RNnoAdTSXlt;c@K6WQvx3x575H%8G`7iJawrteIG_LnisuVCEFoEXLIIH4d(HS zShTSDfL}iXX-Bm`l?Rv-5bSwVShqGJ6^l0B5yrgP3r2TN!B5#Rf>`f=ceL-9iyiG8 z?wFSvve5azb{n${*i7Y}a`ilmk$N4NU3rnBb$lrvUblsHT(1OC|sH{yf; zQr;Wb#E^M&_*Vo7lj{Zgst?La$l)yLFB2{-A!Rz4Y6!43e6>|#`6rmEZG$mP--3U( zkJw&?vlQKfax=WD)MlDFJdFXk3h3V%5whK~9J6n#MEi%cT%zCyC4cLdo45bojq&fs z^Ar9XCXL#X(hZZ57oj5A96+<^_9IfscM(d)fyFKIPK5gYgL|qe@6w~lcGPRBlsXWX zUNz#xx{-uASbfYx(D=_-Gz0sOaUhmUOut}EfRt5Zp9YtH|E4FYhFZVke;qpe#o8Bi zV}$qe&x+sQ<$mQbKt`w07)E~^Syfm(5PF0;v4F-z43x|t0bf-h>ErUiD?STCc9!~a zm6g(&DIoG%ec;uyR(wUdk>L4~aR=+58jpW4%yUs#CBs#G|L{~YDl`rmlo5SERl^I2 z#>XuWx+Hb~5TL2PSXTI$KjRuqX-=AZ?3E;^>c$HCyk>een;-8v5R*jmPkN3Lz`F@$ zXnIe^75~kVth)=$V$-7%v5jl1cS;@)Wm;vgS`l-VfsPffF4k{GBLXAlo&+k`75Bg) z@lRS+^6&3Mo7UUW3b6-=J+LF7oOXx%2503}9+MLL$Py;*^M$*vjOxWkIf$vs^Wl=@ z{E6*yn#=4Rw+eBk97c=voG*BK_neFdv_jujmO@N2NDj=siWHuh72TR}O=jbmEiFX_eA|mp<=KEl!|H!72ILVoOI1O#`+@OHq-LQx)GC?l? z-HKi60g*(?#8;`$sHo?l(ZJLxR1gH>*`xPO3$fPO1e0=qRPy=H~KSsgI9r z=rVo`COUFm>vPfxG#=&h)|-Rd^=-aNbB*t$>uc+p-PCBCVT~U|aMo>f9e-{sadA4` zn4Xd9wqKrZ488{|!TfbykBPN{%6WN_rY2C5eblt4Fd$bMpd|E|P^D{02x*(3n30A7 zD%s-)0e+PQ--;gjm!ADsqjyh zlH%%o3OMRluz$?CRFG5+EZfTY$dr|c@ccgdM5EO#{0RK~)Abb=@_f^N5G3?y2UB{h-YDlzSgd1Jm3urz0UDdX-PB5m@t z1gE*#7vx_ae@ZiE##%ij9#IxLq9dmrj3raIkIt;ub*9F+Ty^|CyP$0#CJb}~2DWrOvt)SDuH*&48L_cQ2=17) z^9K7L?o8rdT*OoR47T*MZ}(6)t-ZAnu zZ=oEmEWBiq5~QQXHm>8>-`_U*YX_e)TL_mmK*DVz3!8+a9(&1p{ns>;xMCVJJwai9 zT=OQ@o_-KU_6&RAgnsJtcYWif8o$_sROh0IOoj(?4dLu}*GpM}Hw~hs%6YED>&wex zx(J;#CrfFq(Ia)*@0LBGOitpzC-P^J;WecMGH+{%O(~n4jk2=ko%EPBmNu!P#r<4g zbT83alw=}(^5&V_78>te^y9^6>ug{pCn|W#)q(e|Pu38i&Mxo^*=Z@!l~zCW&#D3A zj{MXTCRdyl(n~OU#LluhYch&8NE-XcG!)F4b_R$^Zf&8xn&&)wkAY;#s_N2kW?88^ z$GY;ReZj4uFz7tPT4e9+SX_Ta!g_c!(>TyHygd>3*AHLp$EfD_xdr_)N5bSgG;0LP znI(@kQFe2HGhkKsSM+2BUwy2qg~&r>-stp&ys_+oup~X*&r^BUX1Y>V?4-tSIr*v| z=NQg?O)z{oO4aPiPDh3db#;|pg*CQXi|rUwH74!#gzw9jIU?L6BUQS>{d71@{i?n50>L zOWt(A*2*^Fh{|lUIaI`CG<43%N%`i{+PrE-o2HZ=dwS$D-Cg)Shy-W&rTHK+9BT=sA>EGr(vq<`8NGOvSfO-LreKwW%Y%|s>EXN0 zzPUlYx3sWQbroYGg&wXA;doYxT9)eIj0EofW#ZlskF-|WZ=v|3rIceyzwlHB3RlYk z*~Dh658Bp*{c<$nD4#Eb_0*S$`l87(3W>2Aq-X9vVInI|-a5Y=F=m^C3zZxH9)Jct z1ImLNslm-=9gm{b^QHIL!{(AWL)dDE1VX~PAG9Hjxf9ev4gI^JnNhhYqWnbIp+5o3T$Xk~BV3txSkyl^@VUG;;$GRjplyNNcG#LJfWhXx*Z$)MNS&EYvmT*x3Qc50v zjXoUxjSLLrvgKcvW~C0$p}_#ue;^kid+Z!wD_BuveL@|7(dco_My39$|Ae&srfI7PTYa(PHVW(L_^cpV|KY8xExeH)oTzBosFA z`IX7_>ZHM2tV+U=06fX^a2D!19B)|j-qw(5)QhI5pj#KzRR=Q?YkY}Ex{zZLtF*Ti zCXP&Y6iGdzLO)C;X+!nfIM^eKv08L@#huLa?on6^HK;Nk$4Yu@S|;#BIB=DcA?T^ zgpjMrVryGP*UU^~qN4A=%$Z7|49yQ?l*^auoHvTj{PdC(qyhZ}3Wa8|w6AX(K?8Zz ztrLy)yySMgCAmM`Vx91Bj}IfXe`Y754h%B;R3O-Iba!=V%}NY%3T99;P0nCB za2)UG3e@3iT^FH3_b_Fz(bDZGRO&+y7wORowX&dvKtxVHGpO|EEO!^K25{+n&*{c9 zl~IfAw885&IA=EkEZ7{7KT4us`F$x$1sz5b5^|Vu`Y+;!Re44!bfgPSJJRB-7((MsP=41T8&$lGiI~aL}?H zt*oyv`?aBkIi5+0@C~*;7v^W&5;~s2F<<-gOPe0vyIu7x;PM{q$O)?3o7xp!OgGFsHQuTwbpz_{V5oIHl<9DPd@R34WsJqi8mCU5NLsMNLqWFf zM_#tTm>TXVXHe@3r;0xNR2eL9W_0oPxB511|3=jMYgr!B+QBP70y}Hau=yF8LQ1g@ zoww%62vd?GfXJG@@v8*8dy&D}3Q-GlOlJ1wjN-%1kW`se9b4_-m(NfB&KnoTio*)>$Nd8X12ZU>>lqY5Wq-6-Lvjt8 z$HiNi&1SXIuH;j)e80jeF?=mbMn1}{bR18&(5ta!s5%aA+)ZD97Zy$nOQ>LfUFAKW$e|;w)6XvE*NYLUQhc6jeGc`zfCQcM-T?k ze&7ZE_d1i+Vv*P2&iYB;QqH%2Ij7E5{AI%%bBu^Et+@53rp#R-6#0VlVm=x$UtQ#Y zY5UR_f{&~0%5+su`I14Z2#aKO7E$~e|G?m|YP_NB13DEwg;(@-IVwDeQM6Mil^zD@Z zrrgGKd}&h*vg7!W`$P)ebQkVU@KY~M%D6`js6ER?!^GhylX7GkD_88N%(z9B+fRKI ziYmk8;g&wAT@P_a{wB@0M$0HIjH~5SEuJDZ8)PeXuggzG89T`(ej{F;P7{91jlnL; zrq;9IFo98SR=$+Mj_`i&OOAv2;eHh$rH$UD^Mj|9uuj>5AYP(4(?0w2G9MAX%ZRkMvyH85pBhm|0lql0cuyIO^;KGxw1;? zW}v;~TCe%6!cwVB;MKb9k%s?MH)x1bD-RdNs~*Nk)Kwtd9GOm~p4pTM@>-d;@3p4h zQx;rjO(aBTXeE%J`C#-Hj_ir89fepx=BdfLXtBbIYv5A3TKby8~8Jy zLJLJOr`G-8Lj7NQOqN z+c9M4-v(hjbLZkeX3}TT)An8Tgp(R*Rao1Veu-2%_RCe+#QtLh+in7U3y#^M))IHW z6TNP9%O)e(JyX%kJ8nYYb9PR$82u?D* z<{r=V7n78(ziGQ{w3|MM3K_-B4a`4TTCs+*@L%v5Y{?XUsdrTvZw>MaR58gn=$3kv48pOWkde`ao|rR!Wlr)JRl+ywWZ@y0HOGuS-U zrC~7Ful9BSi(YeqGzN&ad2fn3&@2v&EAJ{eji;mxIx1i5K)wl(^TxakW6WsH-fi3U zz{z!#S?4m4@pgV0TJMZC!|wb;gI;pT$l=;hxMSmKjx9y>uJ;`P-rq1bO@_)>2?lrL zc5Gu))+ico8f*qdA^()HmTXgk!DYf$2-TdiZ#JXR5fmjU8P+wHO|-u=WODTyUx_?7 z&~5Hv4}`IKI7V;?D`bP4K`!REevT<|I6-%Y~#*9#VT2c=FY3ZFd4(HNF>lHz% z*6(_?|Bvzh*92*-#-gDOss-18d-xQ$asN5tkXwKeXAlm!zJ|-xIv<| z;kQf=-{<#Fo>)YIw@>-bziHzgdT?$ZGOJyQZ!yyGQ@m$vm4}NXK%*3pTfRNh4>a!n zkFnR>i?cJ~PtM4$8blsbp;g2R!| zblnyUzli{e-C&OSb6_d0C~?=2oVS9Fhc?gaTj9&yiTM4_iDEL|ysBlV^4#ywI68fq zY7^S%y32;?cCN+fRc;BeDMliLw0O-*O^ysYUI|@x>0O~8ny_^aFg(dTcs%<&){1i# z%@s+Q7d6$IXnLU<23^%F#c3|=AVnL*rMIu+b&J5>>QW9{lG$=62e<3Ta~vYkQ)$U$ ze8hmtVYKi;;a0e;``_od;ls~4mtd@%+srK|y7qy-PuZ8P#pMRV5bA-<-t9I?Vc1TL zHGVK|`~<9PHzuMQ*3QWzlKUq&t58ffC^IoU?+{qj@FzUCMuR9L!!Ujz0do`4)DWhP zcLacvTbW^X19M)5oC^9*To6lTax_wrzBX*+Bv?*aqQX@h{j~)0AXlB!48pG7iI6-^ zjVDj@yl8RCC>9>lIy+`@V_*f~^{`c7-|bg00^77}tFc6MzRgHyjB-xcJUIkAeF?LyCu* ze&K-dRtwmOR*fjVP(D87>jnGi;p1tJt0$YtR`+PBHIE2P0RADDVIY3WYJG0wbG!Ce z@klUsoCU``mkLH7JFDfv3=;T0Im(=5gE7Xau#bQ3k~_{x?oTFX46MC*CroFP7V!D- z5VPa}ZMQw2ILtR3*o@qK=-LyW{Mg`l-*9{f#b1NWZhL^39w76B)ao^8@%56zbN1?z zlI!i{1AgbSAo|x!^&{;3FJuP7_a5Ky+`SLTKu=3AQhD$*C^g+M=L4)GCm$4){qdnc z>%IT6eX3`@3IG5I001X)kqjvUCUTKCiVh}nu}HdSd%{35004Mwk zl-0HWx!*V6Y?&mJ$;z-~NI=385&|lcfC(XiKv*OJ1hiq23}htC3^Nl5tqWQe_q~cs zTWyPV>4J5s3w3!eb$hL)TJ6(X`?P)Z)mm)rQ=k5y|KGXy&g4r7R{Q!2{N~(y?z!8! z=bn4+_f0}?WYAkX`&inx^oG1k{3TO==WWZq>HK$YUViGMG1qSYPwpG+CrS{};MzF> z(tqyRO7xsi{AIvRE~0gyPrHd`fWGDiqa^PxU zFK{DpJMa+jH1HB|2%yzOr9dsP6xafM8Tbb95b!+kd%)@-Dgr`46;KN_0&T!*U?XrE zFaVqbTnKy<_yO<$@F?(qpTL+-qT_*$z&XITfv13<0w; zz*^umAO)NYTn1bTd;_>0xEr`1cpUf%@G|f^a0oaId<2NKuuq^Am;}rPI)E<#y+8su z9XKDj47dfj9oP>X0G(S2zy-jS!1cgB;5Oj|T7@G$UG;1%Ey@K?at2z>$tz!;z$m=4qd3xHN& zC2%qj1-1jH0~Y~b1-=U$0GR zm3*p!x90#;ipW|@lq}?{bg%VsGX}3ik ze2xRy&V=npdg~C(hp^0qB_pVspd!N52*al^&<*qey+8!m3~T}VfGB|Qg5p3D7yx#1 ztO4u-z6g8?xB>V!@O@xEa2N0c;BJmZfP1x`gpN;tSYL)tSLyT{P{>qJhvswIX-m6x zx(4t7hqQc-=1U+NrgTlgH7hW$J9Ynr)Mxt>tTU zn)Q}{NiS(sdYfa@+Z@~Y=i1s~8(yXP^KJYlEzdTvQ1frpX>Ri-ojw^dU)5=z@7HvC z6ZqfI={}^tsndzZA(_*W{<=<|i}cMpeF@UH==5Hj{0Fx7Z?^GoL;71fy&vg)I(@(< z^SmwnqAmTJE&Y})O}4SUZ5z*fwt0PQOSAreGjnt_4e|X=Lv1$N3N{}@EDJxo*(k;Qwq?3 zlPPHdjnj0Rre|t;o~GA;20(KK(?ZIVRM1*Ui|7=czf{r^`kG+huvoTVh`(Rf^eRoS zCiWLgWO)((9;4}*nx0MU6Ab#3rtfQdiD0VQFTpOFFR4La2Q9_C*e8}@mtHEVL5+f` zlTH#Uzf04vOL_v`BKTZcKzrm;G|~lspeD3XM9QcBRMQtUtrm(tDcH}JQzfVi^M04u z*Dj?ON%`C&p=hzB7LAc~0!@%~34KA+E=j9sx29)ndXA*a=t@af(zTj@mta3WTaM3z z`Y&qwlBDgLE}{P?sYwM=-bE9I%1@PaIh`!&Qre*DMoCxGxstZgRhnL{={1^venqH$ z4ruxqs23+Rk0%G?Q`AF0lhjKGHT@4w4@v5#TA}h=HN8R88zr4U-xPeuR_*!VZO<2M z=T-8&$;;CDvYgMR#e!)L-6v@W{ZO#ItNKiTE@>V8LQ>eMP_$6fB29}Wb>D*Y5_{S-ix_et6*^%FqERV4TI@sbwmdWE`P zp{`d5&EF^K8d@RE+lQHS&}wTourL4ThbYHfuz-Rp{AEfI+HG!RINjaUWXFB z4kggQ?K*#lq-s4%^m>#)W8an3Pv6t|?@QW3PfNd}^igJ`MVkIb)3-JKA4wa?Fa3|Q zvodXGW!lclw4Ie{J7f8OMUoa$i%{*vbv`ZWLK@Kdos#C$>6)G?sj|~D=;u61mA#f} zeU)i_m1%vIX?>MxJ1*09T&DF@ru9*#^--qnwM^?{0-_$C{{-+~k#quW79982OMbcL zmt$T(20w)LWBx=$PKq{YT1?MLs^lx-ubF=g_F0GE7N^yCOUY}af-;;_B4Z*aC%7n^4Bsfl7Eahh5bbLe7ptRFE8cQD&)A1A% z922VcXX9q^?~c0-#LhIpOdswQ|0fDg^~Y`n3hwy;JeUddY(9* zTtYJh(=uujd^b{m?VJEjd?@J{iU__dl~GXBD#7H`aBU~+@-kh%#i^3A%O zW1FqGU?%%W#!Z|)1GunH)!VD-Et=k;>D_&*?g3j}PCpL()K>Pot?c)}Uu}5@*2o_n zk}Z#_wx?--TCZulmI+6P`W=j_e!2XtsA^N-bJZqw7uzmxOg`+EN_hMz>U1-NlVbkk zAn6r>z%qk`;#x!8iXpCJh+D_pJdPIr2Y45FOWl2Q5C^IF#37$Sk5PEvjoc zo>pU9yGi+gz@$K7z^H&-2gP}ms6CeaMif3-an4YG95ae~iZe}dpehFiYAdmycn-@2 z89ZuGlg9}P2@^F;`Il(pCKXdAYVSi2d6G&}2Jh=~qMpVmm zqotVt*HVw==$U0Ksb!+rCbc&c{#od!8-B6GfWB&9rI49J8ya15EUM4+CXVNLO`eo( z1x15@h=ra&-+74I9J0MHZc;WHt1YF7%M1Tg01bE{dj$oI%8E9O_8F|EPb5Oepym`( zbK>!yzlq~z)b%gm)uLBnBKgv`Rrw{^@)JibziN~6A2D3~1V-tVqm21E*7nL9j*{DZ z6giKUb8FpyO|NwYv{)f>pra{}kA5u5 z^rl>2em2Gad@Pado9Fr$Z94~R51D6EytWRfI@j~aazP($QqP@Y{zl08M9_Q+8nEDl zd}1tQH3=JdU_7~Cl>lw+<<*n(CL-w2+}eCPf+5s61Cr>NmeWrKs4$#^UYie z6juE|wzG1!K{0c>L$5(uSdDjtE!Mh!py@p6bJRYq3}S=zqr%d~!wcYxuZNDmnF|tKXPdg1LZf<=tQ`uf~4zXRj(QlV8v$F0hPwNIy@ zbq=ikK}3dA==j|K_(bGZy;ULDR|_c{^BYXjhRM|Ps>frTbN$o1_FTXJD+z2|VO1EP zMfxr&ZCDlNk=W_+X1 z?Pz)%eXd8-+wi$(&XD)Q>KTsOw`@&?S>3R&`zWm56>OJJiE^C!%yb7m_43TzOFl=1 zHGwMJm8km&YWX~g(B0rCLbt)M=z2IaZ*r4!mfP*CcNbHjDi&&`i%{c#4)!zVT+;*J z^JBW3yzaT~|N0~lmy^K(?^f>$3h87cR@(tjo`<~hS`VDna0ou>E9FUFA(V#{I3KQ+o{>-c zm_NvK#15-vuWbzRf5Q5Ivqb}x9m7e(#;`_?!KKHrzFWn_6{OBBqy+0?CM?Ql1kERj z&o6Zj6`>~2p~#sBt*QEnZnb^~8`T^pBiiG$U&Wsm?dn$VhqlYNJVWuP8>bf__&nM$ zEdFG!cZgdt#LXGv)(vrUhqw!exV|Co>LX)S;AP<1Ow5|AV^*(!j#*vu87;@K$C8R+ zEm7Shs+&c1i>O{Ks@q(o;@Gpg)w{1iYv9;SEL(u{_Zmc+>t!s<`;rku_zz4 z#?nTAfYuim;`X@SUm$JMg_>ON&Te(59A2**J#0jLvav|jTVKMpGIxi^x`*E#3ZbW~ zFtbfk--xLs=W4})zRNV{%ZdYim&m)rV(79|>#|JivP9p19g1zbd+I2<``4`Q3T?V8 z9HzS$v$`vW?tY_nw^-jD)O>z9Vm?I}>oMppBIgq%#W`DXFrRUnbEe{8v}5IbmS8?X zJ)d!UK4bNK#@Ocb`cdZd+w6RbZ1X7^HlMe%^BIHr{JWmd5-H=5EfKxjtqx98*7W_J<<3Fw} zf5I@nFUv0<#xLkmF>JQaP`MmK<}O!?@*wNSe*)$-4)cil@0By%?*Emf8yhE%a>uLC z^Wrup^r%>A_?;kVl*xMmd+ea`i1e)!hwcUoE3$WggSo=3^QFjF{e{QJUe$r|R-^3$ zY%h)gPNZ4#G+K)D?lGJ~vCzNJD;V$N@Pa;9g*6fU@6&HF2Aq)|bw(lv_wpHeyF4SW zl&2uh4(D9wF{pnRBJiMRuGsE>0b}=hnDZ5?dMDR(`CXlz&tT?W#2q>4tMPTZy?(BP zpBDUo03(~r(Y*h5Qn!pp(NE0(Fh0GWxt?nDK8-58>P*9(Cuf2@(;mcFv{X(k^t{gh z1QI;P`!U8To?H+2JX$|fJaa9@wP>!WlUzY8UG+#V&d3K~cUA9YQj&jnmVf&wsh`_Y zo~j?C=gz7pa?PsqF#FD`b7Tuw@m?vSkhJfAJUT|+y7;{uzlZkFc=?{uga=LiSP+cl?6*-bAP1ehA@N1bOGvE?iNv-hdhMX&La)AGALv!z zBM2-$Qmf?@IB8U^dWN(bG)`mc%4#>1#+aeq?MJJ3+OXBAIz;l>0*~dT|6@ISM$!P75@0cU6;YFWyj*YviE^^d4HlB@Ao@1e2$8SZ{_s=SSta7TznTS0Y zK>PdoW)!-U?xjKTOMbtbll1=^-^W1@@}0pq*Vjx*|IeA{D0kE&{R-dFyyaew`L@B* zb8vU>XX=dkw=y+?J_iMsSN^Jv0(nXQ%PgP2JU=%tFkyS>A->hB+)U2x$mAAqu1@E8 zcfUqHUo7-p+=;6mjQPKRBX{l4v;RYp%(MR>KlkhuyuHTQbr$%>!XPJE?J;BXqHmY@i6LLPRBXeOMU~pHx{~y*3$6w81_VeBEauLz5HZD$fsBw z*LofM9kJS5P(SA9Z?|~O6U=u$Sq=#lzax=Og=N{ zcudBAoaWfCmO6T?WbD^yal2M#RDS6@&C^l)UoxW?%tb6|K0~sd+AH*&O5{1m&ui85 zy5lj92ch(!Ctp;56rDgj#EX1yFnv^k$g$fhrEaH}3SGUh^f8oJcPcp|Zb-yxe?hg5 zpqXov%lj0$JS|rSxm?KA9YrqRCYN(`xiUYr#&RW)8z=iMbU#gQ#~9k-`~vaQr6O{( zokHGk2FnU;@ut!kRvn6j1 z(tNUGyk@{rxk#PukSrK#$1VNsze<^)1*D`IU9^I(M4KNE!=$bp*%Fo~ZU~R4Xd{#o$28VvO|ce(E+WDJ{bA z^j^mz({xNXIjSC6+ieuW+uuyJ6NmLw`*o_#QJkrAo^IinR$vO`Kj9Jsdp%bBO}bh5 z{8cZh_OOqzWUKs|f=9rhr9 zFC|bCu!7WzTi<=qA6B~dS*kKQhWjDOl}Ek~d%H6^b%br0!)*iU)5TDFh|jdpwr-W3 z*;O+W{=IzbbMV~j;J+?J?z8lC#^2G?^|qcqOCRaa-$&>xwC8j6(eiinakZ@v_Qo!G zMrRMl^zKl4cSxNg zhH(TfrQc509q#i*Orc*c3s{wFl!m#q)pDbU>u~D&EY@R`fuF-DgsZwP8` zag6D79+UImDCl}pj-=1U?Utb3pc6B8J(}T~Jj1Iov&*0x{f-JzS1y02Ka-zrA{7Z8I)9A1k7Y({@f<8tp9RLqQTxzS)f1Vx;(J?EY!r0V zVU3lYVU3LnQ_ZVK&dbc&*+R>{&L$Oqm_sqjGg*82m2T@O_5zP=j$$u`dTri9JN!N0 zV9uXqyv(N`9nEF6R;t zm+-Cua@1Pj4(WSX>i;>MYeC<|NKcdL3ZIhjQ6M)Knjxd*VD68kET=1SRe3Id1txI$ zA93af^He#fEAmu%9tHBb{C~)o7tB}XoUX`M<@r?TCrTSLkn-gR{f{C&Ri=RLm{3XZ-CRX~FQUFoLBwCJ3OQ0ZVyeU&b z@fIa&ua$Lfm2FI=&V|RoySK|H8}b=a?YF7O$df;7ZU6Iz&S&m#{7&qDFnAwmexBxY z+~Y1)cORw;HEq^(k)|!0uF!O)rmHkPNmKsWF~0bBXxgdi8cqGB!^b(Uboe;e>v7H) zAvbq~+$JrzWCTB=`6rL4->dUpolofTZU;?+ra}8l)z6_Z|BITQsp&bIep%CVHRYcJ zIUV$Z5&dPxl=)64e|PeK8pvFv>s_qrC7NEP>D8KEqv=;Py;jrfG~KJ|^_t$ODfek; z%*Nl$JD|*Wg9NGjHQTKRR?c~cOc%+w`&_R;zvs{VTwN7vFs;E~=FiKv-zM{IIxloR zr_MVeVQM;C_wCVT9=&%wx{l(hcTssX^nFiM~e>Gt>rV`b;4`d9A))!)o`YN&Zq$IfWFr*C;UF{vlM zZBjV7ZPL#E@IX2~X&@@e!f-0GCfbDLws1Nck4@_6Nk$^EmC0x%mX;iv|2G?1Gq@^} z+&rwAMbTuWM^-<7@$ad=IFd>aBqN=>5)pDuTHDmVrlo^?lT)F|z3QKrL=~A;Q`eFK zc&e-W!|6z@XBXvXlhr-_k#Le6GZV2bBw#MHNYs(QD$F5qEQ#YtG?2TYr#~8trWcU2 zK~ZBtJvkQCqt)`Jo@Bf`oDNloTBFHSI@B56774WsCL*kVot_9;P5u4xom4zhi8D_N z?+8;_b9|t`Hx!GfLz|G0NQY)hzjU|S-!D>Wk&8H}cz8IShXY)OU_ zebJs&&8m1bmaeDLBTH6e-t`pB7Q|CE3kRb8y_42|wyf@GTe$*(_3*M-Z-1oT)(4m! zyHe@Mw&wnL&(?aH(hj?;$&@Oi!$QTAH9hfUq-ITYQDjH7C-NBtS9YH!2RHY#39g8z zTjLmB%V19=!E0GhQ~y@Yjz~Xh#*?4cNg7L+9Eimt$(pR$#gn|a&9KCJnx<+dx7DbP zrYqNf9I@GF)ziGsDtm-usHdvWSht>L97S@Jt&cIy`Rvl!ZBkDSpS{)*+o7J0`~0=B zb3WHtS4CqzeX3UNXRpOhCwcTWJ+ekURUbt*8435=ZAPnm`ezrfr;7I8aQ}|zRv0Gy zmt@wo#CqT=;6IxC!zt);!YDFrY_7U|;wa^R%Ol&mwLkV>1cmVQ!*KU-j&MQh~%|l9mCRVe`yqMgN?^wP)jVG+|_X8 zVE;D`YytjeY({p}9*u2{^ezdfIP%J<;mDGDiXN@#A3nm2nd+`m>5OS*8TB-21ZR{% zEXeNHj7BrdHeAE?6#1tpp4R`vyHQSmgvR7*bqr_x<9q3dU=_-3jGlO`XCRq>#Iaw) z71kh1=1}RV0`Y;g&3V`juRp$JOO%~RWJjbwyT6AQf%4w;E#DPd6z>_>hE`MLTG75?*Ji)t_BW`PdRojZ@CFIE-*krA4TfC%`Tpf#+b+xVFL`(C^6^lB^ z+0lZqw1oZg6XHby$nrg0U8tiM6;)ti=t&v6e3oNG|1%cFyC| zS}U&?&b8`(k-xrkcGs+b+AcWiuANwF5*x_afNC31=)^}GH@gANZa}jexaNj-*@CgL zjp{f4FM{7=k5>89qtxR+N3~&r=I80p7HJl49PPN>ILb+BoHCQlQ&Q7Obdj%X%jUth z*yi|5Y)tZZrC_bvR3#@T+{4FlYkznPu99KC1}_{)r(yL4`oc1Qlkc=M*W!apGOV4E z?yb@E%yp4&$uG|GqrF=q>6yBP(h=;I-e|fLCQoG}3fi{e$}C$NJE8=~7_R>9;a%7p z6dX~AP-07xV~KE*#*Zjl9qES#cSLm6kwf8O$PV*$!93i|`r_Ln*%2@!g}!_Gx;Q3| zbakg=*%8s<#o(i%^~gJ=hm zD@!tdfaT+{h$N{9Rly!-hS{UdR96ML<{(Y0*UCf_Y<@?7G`)+eM@sT+d$oJ-;#yr= zFHsyOG;TEUL}sxoMk`g-GfPX8N0mwRN7G%2a4e#Gqsr0522zn^R}{A2m5!$SBQ$2NfbA}6l)SZl0;q+Q$QU=`GX$^MxNY?&S&< zr>ex^4=OQ1G(k?>T*Cb+2xr0qazq9rJt!E2U8l%@$4{{`r#Yo>TTFW*Cyvu? zyiMf6hx!Qkp!G0EBwLhkCcjP$J+I5zVtcaY))`DPlj1|3Ja8uqxz!YvAh{?C;|%X= zW}QWUmPDdk`qET9lE04Q7Va>^)`Iy%93_&&jLf=nPpxW-c}Uu>s8X&ih6(Y*OeZqS zBD3j6D6CxTIZq#HIKSk` zUC8q`Cs$uMwSsFq`;)xIK!7s(U1hyYOw>g)NlIG$?I5FBVCE z?~Et6>M#*po~9Y^K8>7lwJF?Kx)?v?Ab%#+nv8Fg2aYV0+sGA9_C{mje#)`M*Jx;f zg$B}HYOf&$ficzN2}B2W@sWT3g&qTOJ zDuwy7XJ>9Zivy;OGdon6z=LoLGsecoNxw z-<61MkrVMI_&{ml2GA>~JJi{cpMVjwQTJ@^Ok$}~MLnaSyu`4F6UlO+P!%VOO z`BdSEg`DbqAxBcWt7HUQx+l`q-%pl|vze8(eh8-q`qSi66fP+_5R+ZxBViAJ2g#|A zJCCBQGoMcCpiSkP`B>MiJjG&rkhYMkPuSkg(tqi!+Q}*Ms;n%^rU$cP8T-RPa4Pmv zK+$1apeQAsMLU~3_o`wZ%~d+j`m_=|mxXm3?o`I%pog?ATyKwThC?0BTfxr~VbX=e z*{h`sK)>lxu5{qadHGUu=qqD?a^G61{zxPNB0XH8BqMx7(9Rs;9CBotK2dF%IxHAx z)Tx?EM-uQmsdPLs((l-KBbpA_0{4vHvr;>wuyBtgi{d+DIw^JJl}V)omrSooP#$0A zlr~a*aR{Zu34P#@e<-a^DU=SqWpcaMF7`o=bRS|JCx1?VswG!iTZxsH zx7J(`41BdVZ+AMbgCnH$31VX6XoWXy!GJzVIZp4i&Sp&JDx(N@tJmq(WvB(aOmHps<4Pv@$qV+@jM@u;DHSb0>5kNLD3pV!jW z!nn)4*>vSa-=%$mOK*{%*UQhZ%FnZmL*nPcm3PmeNlzHwJ)*dP28_3jk-Q6qaicks zdA1>*LC;3c-Nw%Ijhvmv;P?xT!SiXV_z3JMRm*`bGsVvh*H+Vb-Iyan{&5pbdRNrY zcZKn+`5Z>KkAIba8ycnug}4m)!DaU>OEuBsI(N^q=$a;aUgx6A?m_OZjAV4#!%g&( zFdr~4Gha4bGiprdM5AG&>3YQw%S`w04Qr3_rSmP9{4pCZQ8kd-k z!>0LP!Xffa$NR!Dvw{BbnOiz6+xfF>g8m#|irt?zM+-Exe z-I(>JX&o}kmznfCVNNiOi;YFmcHuD1`;9r((TY0DoF6s5_$Q|swoGakk3)YOXtD9Q z!5Y2xpeXXwTydkx+y<-&b2pf@+w|=jG{sj)k3Xmp_bFLm_JMLXDR+HPR|x! zH(fK(B+W-QI!H^I+sYpc`QrrU(lj>I$LR{z)Ztww{YZHCoJLVhUJvanOvkL7K3Zgw}KdG%97@3sEVjGl8H96<3T#x3vDr;6MGET z(x@nZ4mgMv*MPwZzmsUK`J8ybMB#Wb9(MmzY`?O6EkoM{Ib2H5drbPNVBH$f?TP5e z2u?5s6i26u=Y(s0RE)7VU4*7r8r-zKVSlFKZyVwuY~k_i=z7CAXh4e7-{tfk=HFw| zbH>E$ETWqYlgmeNZxk7$H0d3qq`?T>-C)Fj$1lepBY8e-!SR5}0xug`kv%6ijM+o? z@aFxrs;?fk>TbiJa}7tqJI4H-uDmBr>scctit-(f4@JX3)b!qBmcR#GV4B#;7Z_%{ zX&e@&nCi!3IJN28A1pBWA5eP;2kX3-wg`v(!&W9I*xQM}I#TxJ>r*Tuk$yEx_tSs04ivprv>=f{wAGg zcsH2hk63~Y3qCQ8hfMFD3+R9lAEFqF{xcUFTnxJ;=)8fhF*BZQVFMbm-h;q=BQf5> zhEnGw*5EKK|A;X`CC4;AVw7HJj6>--N9p>~K0&XaFGL+TRPDuRbiKE)>5kITzk|U_t*vm3)Y|WI(?_BN;&Awo_ z}khp%g$Y2f%?x_{$>~?%>mf<-tOL*Rx1!p_fB~Cbdx8vNpd18N^5HA8( z%obul@B;9`Y*XAk2fSl{h1h+Z5Ql-cj~C*Sxv=;Xg!m5dBCvlRc=bXY0-k6P;?V^{ z9B35cHQ=U&LfjAB+zcM@aWjwAy*IRu$GV7rINLLPtQnjPfsb3{m=|Nri!tWK zWdB?dI+cgNMBwwl5}tSQ@V2_p#^EL0#v5&h=YuxkxoIhjjTtU~)(f#mm$KOYWrpYJ zWy16JGI9uOJkBxvy&@Dv2UoP8CJwY?mcZ`iLhJ?hFDFCzC*stLL*j+y331H|=n43E zwGi)hK!=^stq^algFa3c;uYXK>m6eE28Xz0qY!TahffjW=~G!Zm3u?y3k+y) zmvH2YNuJ4a5bzU!%-p|;=lc96!`K@Z#ueSd*xTbYZaPgE=f(`<+_*5F2i`~s<4{r< z_oNKt?(allp(T_TKGO928D0}22D2mk;la+8QMIRYkflfyDV4kmK3NV;cx!ay+q R0C;SZ5i>6aATj^|001V$N#+0m diff --git a/wlauto/workloads/skype/__init__.py b/wlauto/workloads/skype/__init__.py index 53bb6671..dbfb08dc 100755 --- a/wlauto/workloads/skype/__init__.py +++ b/wlauto/workloads/skype/__init__.py @@ -62,8 +62,6 @@ class Skype(AndroidUiAutoBenchmark): '''), Parameter('login_pass', kind=str, mandatory=True, description='Password associated with the account to log into the device'), - Parameter('contact_skypeid', kind=str, mandatory=True, - description='This is the Skype ID of the contact to call from the device'), Parameter('contact_name', kind=str, mandatory=True, description='This is the contact display name as it appears in the people list'), Parameter('duration', kind=int, default=60, @@ -89,7 +87,6 @@ class Skype(AndroidUiAutoBenchmark): self.uiauto_params['output_dir'] = self.device.working_directory self.uiauto_params['my_id'] = self.login_name self.uiauto_params['my_pwd'] = self.login_pass - self.uiauto_params['skypeid'] = self.contact_skypeid self.uiauto_params['name'] = self.contact_name.replace(' ', '_') self.uiauto_params['duration'] = self.duration self.uiauto_params['action'] = self.action diff --git a/wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.jar b/wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.jar index 04a605e58fceeeb6cb1a85fa7f40b5a648335c81..b1363534892ab9228a88ee25356498edda990ccb 100644 GIT binary patch delta 11317 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 diff --git a/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index cf01bc2c..67d184cc 100644 --- a/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -54,7 +54,6 @@ public class UiAutomation extends UxPerfUiAutomation { Bundle parameters = getParams(); String loginName = parameters.getString("my_id"); String loginPass = parameters.getString("my_pwd"); - String contactSkypeId = parameters.getString("skypeid"); String contactName = parameters.getString("name").replace("_", " "); int callDuration = Integer.parseInt(parameters.getString("duration")); String callType = parameters.getString("action"); @@ -67,7 +66,7 @@ public class UiAutomation extends UxPerfUiAutomation { // Run tests handleLoginScreen(loginName, loginPass); confirmAccess(); - selectContact(contactName, contactSkypeId); + selectContact(contactName); if ("video".equalsIgnoreCase(callType)) { videoCallTest(callDuration); } else if ("voice".equalsIgnoreCase(callType)) { @@ -80,7 +79,7 @@ public class UiAutomation extends UxPerfUiAutomation { writeResultsToFile(results, resultsFile); } - private void handleLoginScreen(String username, String password) throws Exception { + public void handleLoginScreen(String username, String password) throws Exception { String useridResoureId = PACKAGE_ID + "sign_in_userid"; String nextButtonResourceId = PACKAGE_ID + "sign_in_next_btn"; UiObject useridField = new UiObject(new UiSelector().resourceId(useridResoureId)); @@ -96,7 +95,7 @@ public class UiAutomation extends UxPerfUiAutomation { signinButton.clickAndWaitForNewWindow(); } - private void selectContact(String name, String id) throws Exception { + public void selectContact(String name) throws Exception { Timer timer = new Timer(); timer.start(); UiObject peopleTab; @@ -123,6 +122,22 @@ public class UiAutomation extends UxPerfUiAutomation { results.put("select_contact", timer); } + public void searchForContact(String name) throws Exception { + + UiObject search = getUiObjectByText("Search", "android.widget.EditText"); + search.setText(name); + + UiObject peopleItem = + new UiObject(new UiSelector().resourceId("com.skype.raider:id/list") + .childSelector(new UiSelector() + .index(0) + .clickable(true))); + peopleItem.click(); + UiObject confirm = + getUiObjectByResourceId("com.skype.raider:id/fab", "android.widget.ImageView"); + confirm.click(); + } + private void voiceCallTest(int duration) throws Exception { String testTag = "voice_call"; Timer timer = new Timer(); From b6edd0627bdaf644ab2dd4dc4889f618f2a8309c Mon Sep 17 00:00:00 2001 From: John Richardson Date: Thu, 19 May 2016 14:33:02 +0100 Subject: [PATCH 2/3] Remove redundant logging from Multiapp Workload Remove duplicate logging that is already captured in the standalone workloads for Gmail and Skype. Expand comment for tagPhoto method in Gmail workload. --- .../gmail/com.arm.wlauto.uiauto.gmail.jar | Bin 11938 -> 11938 bytes .../com.arm.wlauto.uiauto.googlephotos.jar | Bin 14723 -> 14720 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 4 +- .../com.arm.wlauto.uiauto.multiapp.jar | Bin 19339 -> 19047 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 43 +----------------- .../reader/com.arm.wlauto.uiauto.reader.jar | Bin 13126 -> 13126 bytes .../skype/com.arm.wlauto.uiauto.skype.jar | Bin 11529 -> 11529 bytes 7 files changed, 4 insertions(+), 43 deletions(-) diff --git a/wlauto/workloads/gmail/com.arm.wlauto.uiauto.gmail.jar b/wlauto/workloads/gmail/com.arm.wlauto.uiauto.gmail.jar index 1bbbebaf87e962dcb7822fde5317e01605e50da3..5930820d529badb490946340f9038e8ac0eeb463 100644 GIT binary patch delta 60 zcmZ1!yC{}7z?+$ci-CcIfnkyNmWjL?%nN~(MJI^bctlQ@87MmWsjdZxKUqP~9!w|c GIRF4h{uIdo delta 60 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 QUYI1y$N8a|7v^91U-op{b^rhX delta 14483 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 delta 19158 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 iv6JOVKMo*uu}G)YyI timingResults = new LinkedHashMap(); public void runUiAutomation() throws Exception { @@ -50,18 +49,9 @@ public class UiAutomation extends UxPerfUiAutomation { } private void sendToGmail() throws Exception { - - final String dumpsysTag = "sendToGmail"; - final String PACKAGE = "com.google.android.gm"; - String outputDir = parameters.getString("output_dir", "/sdcard/wa-working"); - com.arm.wlauto.uiauto.gmail.UiAutomation gmail = new com.arm.wlauto.uiauto.gmail.UiAutomation(); - Timer result = new Timer(); - result.start(); - - initDumpsysGfxInfo(PACKAGE); shareUsingApp("Gmail"); gmail.clearFirstRunDialogues(); @@ -73,16 +63,11 @@ public class UiAutomation extends UxPerfUiAutomation { gmail.setSubjectField(); gmail.setComposeField(); gmail.clickSendButton(); - exitDumpsysGfxInfo(PACKAGE, new File(outputDir, dumpsysTag + "_gfxInfo.log")); - - result.end(); - timingResults.put("send_to_gmail_contact", result); } private void waitForSync() throws Exception { - // After the initial share request on some devices Gmail returns back - // to the launching app, so we need to share the photo onces more and + // to the launching app, so we need to share the photo once more and // wait for Gmail to sync. com.arm.wlauto.uiauto.googlephotos.UiAutomation googlephotos = new com.arm.wlauto.uiauto.googlephotos.UiAutomation(); @@ -96,51 +81,25 @@ public class UiAutomation extends UxPerfUiAutomation { } private void logIntoSkype() throws Exception { - - final String dumpsysTag = "logInToSkype"; - final String PACKAGE = "com.skype.raider"; - String outputDir = parameters.getString("output_dir", "/sdcard/wa-working"); - com.arm.wlauto.uiauto.skype.UiAutomation skype = new com.arm.wlauto.uiauto.skype.UiAutomation(); String loginName = parameters.getString("my_id"); String loginPass = parameters.getString("my_pwd"); - Timer result = new Timer(); - result.start(); - - initDumpsysGfxInfo(PACKAGE); shareUsingApp("Skype"); skype.handleLoginScreen(loginName, loginPass); confirmAccess(); - exitDumpsysGfxInfo(PACKAGE, new File(outputDir, dumpsysTag + "_gfxInfo.log")); - - result.end(); - timingResults.put("log_into_skype", result); } private void sendToSkype() throws Exception { - - final String dumpsysTag = "sendToSkype"; - final String PACKAGE = "com.skype.raider"; - String outputDir = parameters.getString("output_dir", "/sdcard/wa-working"); - com.arm.wlauto.uiauto.skype.UiAutomation skype = new com.arm.wlauto.uiauto.skype.UiAutomation(); String contactName = parameters.getString("name").replace("_", " "); - Timer result = new Timer(); - result.start(); - - initDumpsysGfxInfo(PACKAGE); shareUsingApp("Skype"); skype.searchForContact(contactName); - exitDumpsysGfxInfo(PACKAGE, new File(outputDir, dumpsysTag + "_gfxInfo.log")); - - result.end(); - timingResults.put("send_to_skype_contact", result); } private void shareUsingApp(String appName) throws Exception { diff --git a/wlauto/workloads/reader/com.arm.wlauto.uiauto.reader.jar b/wlauto/workloads/reader/com.arm.wlauto.uiauto.reader.jar index 1b611c9fd059fa40d3bda8afbcf681858579fc3f..56a8c2e29a316a358981e0a218564b53cd45a9b5 100644 GIT binary patch delta 60 zcmX?>b}WrIz?+$ci-CcIfnk~VmWjL?%u9ikMJI^bc;t{FGf;GLr;!DSKlzA}J(y-Q Gb^rix;uYNh delta 60 zcmX?>b}WrIz?+$ci-CcIfkC!p<3wH!W*H!5(Fvk99yw&l3>2N*X=DN7Pd;K~52o3S F9RM+t6N>-< diff --git a/wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.jar b/wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.jar index b1363534892ab9228a88ee25356498edda990ccb..0e0592eb4cce545c5c54dc28c440983318295f0c 100644 GIT binary patch delta 60 zcmeB->WtzI@MdP=VqoB4U|8WtzI@MdP=VqoB4U{EO8IFVO_Sr$lHbb_djM_RR+fufUrbSyyp$?ZD!VEUwv F0{{fk67~Q9 From 7efdccf5c9e46039fa7163185a723c05909f2171 Mon Sep 17 00:00:00 2001 From: John Richardson Date: Fri, 20 May 2016 14:01:52 +0100 Subject: [PATCH 3/3] Add units to metrics and move pauseForSplashScreen --- .../com.arm.wlauto.uiauto.googlephotos.jar | Bin 14720 -> 14722 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 2 +- wlauto/workloads/multiapp/__init__.py | 9 ++++++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/wlauto/workloads/googlephotos/com.arm.wlauto.uiauto.googlephotos.jar b/wlauto/workloads/googlephotos/com.arm.wlauto.uiauto.googlephotos.jar index 6e2ae7544f674ecb28c24da8f6337f3fc72bb142..cd26af0c19560a3fc0fd9865e3f2fd751323fac9 100644 GIT binary patch delta 14166 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 WpeJGJ{}(0)k{97eZ4*X#P5%o=Aqa*5 delta 14135 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�Q=} z68i-k(%M!K@lFw;uRE$F+i24*$61xxDf5+|5`PGbj;VO4CYj43<(Cr;!=Bv9KzkeQ z*;biu%W7|ee!F=WWPD#?i~}m5+WtNKw_6DBIhK9F>EK0*JFdJwj2GIN?2Fyp$yIoH`7GiC&b_y>Q&Y9A8Y*!Zr!+?%4vXmX$?}r<5 zC&U;kH_^>;f~-zbF2V6ew($9zuWfwldm$u;#Akt&yZH{68+~=1rWSPrMtz4bcxS`M zwVrQdC9iGmYHy7#Is=D@I<1M`qO_01cP&oFgc}Bqh)+fn$J_W3i%{%+w65^rNG0fQ zE5+TL?cy`8aDc7mD*$&(T{HlSb+-hJgH0&J>IZE$17cr#41!G<#Ol*KeJ=mho5~qC z<0b5@(qG^m5+mICBrz=JhE?6XQncbhm8CA1E!?-V9ISLOZhnFpXG0x4?|H^kgDPWh zFrZ{#e`|?`;#{xuj%Gk1HXzq*JyZKRj!0S0ViAGd**k+O*_6yrDjP!&N#4{r8YL3K@TcA6V9N%3|H!`T?~yY09BuDqF2jHiIs z|BA6H4aYfG$6nq$58g5h^A~(Ryv%q}`A%{7tKC44ox2&AW;3`%WEN*ZeQ^GfsaVy^ zw)(6OpY0Qda(^X6IqQ5W<+SRzHNMLn`Bc^{|$_i0EnBiB>UQ*SNR-HoSh;zh?E+YP?e ziDUAt)06%mckfrn$nTYQ>zL&;9@Zzgnf|#?_bmBMVjf?1pi4VA`X#}6Q`Hv~{Khp? z9wyp=ipkPfzf{8K`FGiY&&u(?TWA+p3o8rlT3amYlo&FlEr_Nr+jg+7Vb)wBK;xb&U=3^Ta>u?UlSjrJ+t!{2RC@n)%4r@h<%18 zfCX|9kD(5+eV7pzXrYq2KRP@!CY_pCCOM6#8K;sb1u$t7Ds81b92@%CKE{^98B)&m ziMuLr(u>({{vlbr2F1zw((@%cF*^Cu$g#(R6OU&)rWJP+eKSo38fPVX-rw^Dvrfs?*j=Imb%yDwMJf zNV<0KM!~8S=fqVg84RK}7`L@UT$it*wYanYRBPGFYC0z^!*p#h;OIotjEnUM7FJn* zOm6P3EaLfmrZ`L)$?s5AM{97eIkVeBKFf{M!Nzt2h$2b_Tcj`HRjnQ{dVDXU;}HY$T0g^ zQobUWJwgd>)-YGhF6O1}@_yPNq&x71fHF6+cJAYI0{&1~b9Woff0FbDbCZT@#t1m> zu2X5Ql$$Hqn0Hqd{QSoqQq&^?h?zOK*d{`XGQ#Dh3S66Mwt?(RnF`+}H;60jnZ3JI zTxf61R191i_iiJL3{TTWf&W(HiwP}gn*9vv=LpFNhJ!Koquo7HWYIkIri#Nh7E&z< z2={U6x;a%R&D(DuBHJULgm!v&yE$ewYz{gJQwu}iP2ej8leSdyF;QbZEC)m!C zvyP`|^X%TVAf#A_yiD_7ueo!|yII-hgG_gg1$)+D3wb4B??-b@CID;C$}{HUPNq`0 zte-q)#qXoHnxg@&l744-O6>K_UoqGd4qwG04(`292sTGa$i{r9iYtd_M#ExX-)jzj zUZs1#oid5Vw94rOl|8C12VENc^JK;=>v=wj&}_CdrW`Z~ilAf8*cFTyHoYB+NEyDr zYm@2#YA-wbb9ytX^?-QSs3l{sy(Iw#x8G+QbVEFww7uI5`PuPAi;B>}_e23{;`hU) z3KYbufOmMDu zpQA9!+}pY~t%}6jyd1u__gu!g0@i#)nTV4@KZ=9oSDxZ%_<=vI^q^&%})O}N>% zWlUGXo*iUzqeH!kEZ8KJOrUtHcw7O2qxCyu&+qF*@REsri*4f6gmNSQg&y3i z0e~6WOjjd+eM8`5YpsKwi-~ldQik%(uiTK@VynX{)+WJpM?ICe87l{WgZ1tNz3ra1 zAbq+uq4a%}P9P^RcdWI>aC@Px#KKB3K-EFfP!S)OG*DT?Q!QWf>#^B?iWPi4Mdarw zbmM;wnvyoxR&&eTyVzjZkRv46QRzH*$>UBjO5rLmT@`X4>HhQ)P%M#=p^`-20FF_P zO%Ii3K~qhK#0FXE4|2&+zq9$JsqF6C=Eh*se@sZ#fjrTyCaS|)xO`Q7qy+3k46+#v z>OpyutGiZMZA&hVLe0TYHQI8=AkG+*uj23yl5^q}?f8=#YF@t+v{Qd#SUTELc);hs z^3@<2T>V~`SVro@6nE#L)2%{|F7K<%L(JOC%W;vq-m~HP$DQX zgH@ZCQFYdvk$mK0uq1WT%#rb1vgrkbWTIt<&GO6BT+Q0e$%If+Ylty+d_CG-9$YcF z%~zP@3|@J%qR{Lnii=o)x7s$Bq?aIPclZi2EHinr6;X3Lg5Bv4rC%glCo2>7E3I56 z0GjUZW&KqPQRUO5p5un#nkmyj>qY5lftkrB6ndg~7>Y^g3ylOOTuWwInfLHYDl@~p zNhHHb)RB4}Y;ZW%&hp>eoFly^GN%Q7NRL_5I~Ccby`?mSDj{l&OSU7nCm44Yb1~no zF=edVu9LNrf7w<%j}hU?Je~OO@8)ew0nFQBPQ~x8Xw;ANEZw%-ySQ>?p9;s9ohn^h z=+?-0odsXM?fzL_Y|EoY(x0`CX{sbQP3R5ecULEaZ;hmg4Bc$j$9NmM{D{|?OQ83I zEH9fNqVa5l;>Rw|Pv;-hZET4iSvkH+;goaKoM2$hqsN>QKHhkf*m;dZgCn9U8j$u4 zC@#v0{C8af)bim$=FBs~75@H*+Wsb{{A<}!w}`h-&PeH+as9xT14sMFr$mA@|r-cDoA5|3=C3sr?gTo zi@WPn6JB7QIa>35*A4gU`sb0nxslMghugK`G5>N;kt5@pH=g9FRXbx4=RCewm~54r zE3joFijCyi&DAgo@7WwrF>=UEe;fRs{2@-MQKs{%fX&)c#yZ#g8XicboIcYst^C6> zP9xBBJjn^Er>~F@tw8jL05etsTm^wrDzf}PVAqJ9A;m@5ggrJBS=v}0)5Me$D5FL9 zo}t@Yjj2=C0+%Ga6#J`q3T+;C&%9?EQsh+DB^VoWz8Tk#*-gK|Q-0&5@gtctvEH=kR|-JTb5x%fTgnT@8;XqyMl1)|^$}>jAcjSG?^d_OzFlF*75-I#f$V35; z?l)f`EPqSjPS-?*KR+=LtXE?D3Go2bTz!^_iaUMIOxEji$^-Cn5Tr_WeEhLFo?c^V zE1Pi*#c@-UC5Zc(B=ke=LtLVyFyZL=l5AWF<}0cfrANUpMeF#G7m$Ymk;IIp|F`Gg zH95^vOjt+ri9OzZqhq#AWE1BJXUwoS;GuGsHFC_c399{=7DQfXEb}5eA@ZzpgNwhkm!x{_!LWJZt3sveST(=Tm1DlJw@P|CWyHm~D&ee<$b#e(3D zrIAFNxpqZ|MFARrUj#byt~C?iv{bocO6dkA zl|`#6Tf&xZiiuw1QUouOS!l5CKW<_Ac>bZdP#W=s`JS?kUGrIWJNj!cLye{)EI={G zO!ZRasbVu4Mx{TW+=tD4IG6ZeQ$4C|1NiSAw*`D#yO+NogFw`TBF186kSwW|zHvlq zZ6WvcWD1}iX31W(VtHZai6(fyu#5SMfuD*YGnPXvttS?*$@fX|)=BCL%wC@=(s^vw zbe7PaFPYS8INm2|Jg>)DhTJWVHEf-iDd3oQ6-e%u`!q!hab3l?i~N=%n~L#zVeAB^kY!0y31h;|5SO zh8%qQ+8m^nSclpuFn7l3evla$bG*sK53>^v-BEkb3m^$RzDK!o|JDk#G!V9?*MZgE zx4`xSd+@!cv)^a8XU2US4|owPrg{*B`h~yr$OPv(zv%bSlOR4vDErU5o_#8n=C*xV zBLJp_ObPfhi!<9BqD30ygc0FmdNyJTJz{$(EPP*}qnDlB$~i-+nzb!1u?!~MB;^^S z*`vbPmvPx<^ZKKXUHSxUS!~%g$1*zY@pbGmvcIO3Sk2#y%>y2iq&?d|{vt4Gc2Rc! zAX1QjU;CrRR3iSgd^{`2w@ZYDP~YR>(-V-&uD`?-VIh-iheZ&Ztu$60p=Tjj=$r0# z(#ab+y=LySnp@QK`*V6m8a*3ltfKO%@xn`w`45SOuHOyTyz@elwGiXV;|C2ihgAQ` z1%KAVZQ?SF(X}R<-@{vFontNATyg$OEkR}oD;c-4<|^#54l${TI_8;2lA}HAa;`wz zw9#h{(bu>w^fe`WJXKKXR?EEapc&nT=of_^ZqrRm&UWmekxl1hR`wfjjO;z@g(bN& z13jN0QUP9#Tp|fCdz2-&Cl>Rdm6xh3KFIj_`Z`Z*>}_ZR$AwRXCv1m^U(qp_=Ua0L&}vv<(Ft~FujTU z(#Xy7xsb{)WJeainS5uuselQC>D{=|cU+x)prwwzOo)HG6kdp6{d7ERlLv(q@Q89L@%8p1POBY=pZeby% zbyUR~deVwiJ)`|sndvQp!UQzlal!fT4>ai0mjynLCxxR6E(oE;wH0rX14i60skdI+8Ht|k`n9QD$zm{Hn2J@G(`cG?KN*0H#>tmYF;VRzi zo3Xdd@s|5>v(Z#&F_GaJ+T#5T$ z_CL30KFjWAdlt@law;MNS92}aFvMQW!_&h_?Udv@H zJRg|KTBlrD{71NV@av@Ov+|gfSCkf>Jv>aP{}TvyBJo(CD7#@9Vmm=qejq#&=BWJL z@`@rNHsNq&YB3{px!nMH`l;?c)U7I9S(Z3$<*{*13{4kzJshb3dN!^L*HchFPXgOF zEclG^h3?3Vrp$rA{n~aviPqbRjk!u^new2`S_vtnkUFnkWr~y`d;jI=wH?E--e!uR zu*S_oT&FE>tCZVF!OEV&kq%cSC^U7IUAuN9GwiDc>Db<^M?2CaDvwHG(>LI+D-tnK zvalqlr47y_Ai*91=ULwSH(vDvQk0W(I0%*5w z4r0^O%4%=dqMc~k+zm&vqB7q*cI~+-_aQQ5u3XCaHMo5M<$_ylr}wm98Q4U4mim0; zM)}kQspr@_fWw`FAC}BI;3d3l;Qq0<4Cmg{<%CyRZ*H}tA|M%i$M!Sdr9^n#@E>QX zf{@C)v;la+jaQmMTOP#wDdz?8OlkJsIk`CeZORv}2wjViqo|G24#{YtQeTQ;oPE=` ztMzoi@vjk}JjJo@Bin$u>D_c&O-R;*0TIT-Qt^q4zGxPis?6?@TNduhH*zL&vaYwTsyvK(_AUx zM|2=n!KXUUA{_?isX0zo-6@XWgZgRWDqm#nHR={Wv6MEk{+c$(ss>*>UNc%H*A`V2 zwG?#>>K4|vrfy7W(zloP$Z?PmMzr@7Z&qfgut!pR5Uv`6(xxjko?_M8f+QHZ1hXwcG2`%YPZiV}D`C_t z7u6jS^iv&)|CxXy58sa?$&3v&BHiP~NT^cj!2FS{$#43J ryXYNWO%WFEGyMO}f=eFe7x