ࡱ>  mbjbjVV <<Fyydd4hwT7.e!{!L!!O&N)*|ӓՓՓՓՓՓՓ$ޖ +%O& + +!!... +!!ӓ. +ӓ..b$s!F+Ǧ+V$0T fB9.BsBsL + +. + + + + +. + + +T + + + +B + + + + + + + + +d m: Building an Amazon S3 Client with Application Express 4.0 An Oracle White Paper December 2010 Note: The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle. Building an Amazon S3 Client with Application Express 4.0  TOC \t "*4. Head 1,1,*5. Head 2,2,*6. Head 3,3" Terminology  PAGEREF _Toc275934158 \h 2 Overview  PAGEREF _Toc275934159 \h 5 Prequisites  PAGEREF _Toc275934160 \h 5 Amazon S3 Technical Details  PAGEREF _Toc275934161 \h 5 APIs  PAGEREF _Toc275934162 \h 5 Authentication  PAGEREF _Toc275934163 \h 5 Common Request HTTP Headers  PAGEREF _Toc275934164 \h 6 Create the Application and Supporting Objects  PAGEREF _Toc275934165 \h 6 Create Packages and Functions  PAGEREF _Toc275934166 \h 6 Create the Application  PAGEREF _Toc275934167 \h 8 Create an Application Item for Date Header and Computations  PAGEREF _Toc275934168 \h 9 Create a Page to View All Buckets  PAGEREF _Toc275934169 \h 9 Create a RESTful Web Reference to View All Buckets  PAGEREF _Toc275934170 \h 9 Create a Page to View all Buckets  PAGEREF _Toc275934171 \h 10 Create a Page to Create a New Bucket  PAGEREF _Toc275934172 \h 12 Create the RESTful Web Service Reference  PAGEREF _Toc275934173 \h 12 Create the Page  PAGEREF _Toc275934174 \h 12 Create a Page to List Bucket Contents  PAGEREF _Toc275934175 \h 14 Create the RESTful Web Service Reference  PAGEREF _Toc275934176 \h 14 Create the Page  PAGEREF _Toc275934177 \h 15 Modify Report to Provide Download Link for Objects  PAGEREF _Toc275934178 \h 16 Create a Page to Upload an Object to a Bucket  PAGEREF _Toc275934179 \h 17 Create the RESTful Web Service Reference  PAGEREF _Toc275934180 \h 18 Create the Page  PAGEREF _Toc275934181 \h 18 Add Ability to Delete an Object  PAGEREF _Toc275934182 \h 20 Create the RESTful Web Service Reference  PAGEREF _Toc275934183 \h 20 Modify the Report on Page 3 to Include a Delete Link  PAGEREF _Toc275934184 \h 21 Create Process to Call the Delete Object Web Service Reference  PAGEREF _Toc275934185 \h 22 Conclusion  PAGEREF _Toc275934186 \h 24  Terminology S3Amazon  HYPERLINK "http://aws.amazon.com/s3/" S3 is storage for the Internet. It is designed to make web-scale computing easier for developers.ObjectA file and any metadata that describes the file.BucketA container for objects. Buckets can have distinct access control lists as well as distinct geographical regions.AWS AccountTo access any Amazon Web Services you must first create an  HYPERLINK "http://docs.amazonwebservices.com/AWSFWS/latest/GettingStartedGuide/index.html?AWSAccounts.html" AWS Account at  HYPERLINK "http://aws.amazon.com" http://aws.amazon.com. SOAPSOAP is a simple XML-based protocol to let applications exchange information over HTTP. RESTResource oriented architecture for interacting with web services where the resource is described by the URI and the method is described by the HTTP verb (GET, PUT, POST, DELETE).EpochNumber of seconds since January 1, 1970. Introduction Oracle Application Express (APEX), a feature of the Oracle Database 11g, combines rapid web application development with the power of the Oracle database. Application Builder features an easy-to-use browser-based interface which enables developers and non-programmers to develop and deploy data driven web applications in very little time. Oracle Application Express doesnt depend on any client software for developing or deploying web applications. Simple architecture, and browser-based features make the transition for developers and end-users seamless- simply provide the URL for the cloud environment. The multi-tenant capabilities of Oracle Application Express allow multiple users and their associated applications to co-exist within one Oracle Database, minimizing cost. Only one instance is needed and users work in a dedicated work area called a workspace. An added advantage, when you create a database backup you also create backup of application source. Oracle Application Express can integrate with other applications by consuming web services. Amazon Simple Storage Service (Amazon S3) provides highly available and highly scalable Internet storage. It was designed to sustain the concurrent loss of data in two facilities. Common use cases include content storage and distribution as well as backup and disaster recovery. Amazon S3 allows for storing objects (files) in containers called buckets and has web service APIs to allow for S3 interactions. Oracle Application Express 4.0 introduces support for consuming RESTful web services. RESTful web services conform to a simpler architecture than traditional SOAP based web services. Oracle APEX 4.0s support for consuming RESTful web services makes it possible to build a client on Amazon S3, using its RESTful web service API. Overview The purpose of this white paper is to describe how to build an Oracle Application Express application that is a fully functional Amazon S3 client. The application will allow you to view all your buckets, create a new bucket, view contents of a bucket, add objects to a bucket, and finally the ability to delete objects. Prerequisites Oracle Application Express 4.0 instance that can make network callouts (note that you cannot use apex.oracle.com which does not support making network callouts) Amazon Web Services account ( HYPERLINK "http://aws.amazon.com" http://aws.amazon.com) Amazon S3 Account ( HYPERLINK "http://aws.amazon.com/s3" http://aws.amazon.com/s3) Download and install S3Fox Organizer ( HYPERLINK "http://www.s3fox.net" http://www.s3fox.net) Grant execute on DBMS_CRYTPTO to the schema associated with your workspace Amazon S3 Technical Details APIs Amazon S3 is a web service that provides both a SOAP and a REST API to interact with the service. This document describes interactions using the REST API. Authentication Authentication is the process of establishing an identity. For the purposes of Amazon S3, this is done through the use of the poorly named HTTP header called Authorization. When you sign up for an AWS account, you are provided with an AWS Access Key ID and a Secret Access Key. All requests to Amazon S3 need to include the HTTP header Authorization in the following form: AWS : should be replaced with your actual AWS Access Key ID and is the HMAC-SHA1 hash of a string composed of elements of the request using your AWS Secret Key as the key. The hash is then Base64 encoded. Included in this paper is a function to return this header based on the string you passed in. This function will be created in the next section. The string that is hashed is a concatenation of the HTTP method, select HTTP headers sent with the request (such as Date), and the path to the resource. Common Request HTTP Headers The following table lists the HTTP headers that are usually sent with each request to the Amazon S3 service. Header NameDescriptionRequiredContent-LengthLength of the message (without the headers) according to RFC 2616. Condition: Required for PUTs and operations that load XML, such as logging and ACLs.ConditionalContent-TypeThe content type of the resource. Example: text/plain NoDateThe current date and time according to the requester. Example: Wed, 25 Nov 2009 12:00:00 GMT YesHostNormally, the value of Host is s3.amazonaws.com. A Host header with a value other than s3.amazonaws.com selects the bucket for the request as described in  HYPERLINK "http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/VirtualHosting.html" \o "Virtual Hosting of Buckets" Virtual Hosting of Buckets. Condition: Required for HTTP 1.1 (most toolkits add this header automatically); optional for HTTP/1.0 requests.ConditionalAuthorizationThe information required for request authentication. For more information, see  HYPERLINK "http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/RESTAuthentication.html" \l "ConstructingTheAuthenticationHeader" \o "The Authentication Header" The Authentication Header for details about the format.Yes Create the Application and Supporting Objects Create Packages and Functions First you compile a package that contains constants holding your AWS Access Key ID and your AWS Secret Key. To compile the package, do the following: Login to your Oracle Application Express workspace Click SQL Workshop Click SQL Commands Paste the code in code listing 1 into the SQL Commands text area Replace and with the actual values from your account Click Run Code Listing 1 create or replace package amazon_secrets as g_aws_id constant varchar2(20) := ''; g_aws_key constant varchar2(40) := ''; end amazon_secrets; / Next, create a function that will return the Authorization header string with your AWS Access Key ID and the string from the request hashed with your AWS Secret Key. Use steps 1-6 above and the code from code listing 2. The schema associated with your workspace must be granted execute on DBMS_CRYPTO. Code Listing 2 create or replace function amazon_signature_sh1( p_string in varchar2) return varchar2 as output_string VARCHAR2 (32000); encrypted_raw RAW (2000); -- stores encrypted binary text decrypted_raw RAW (2000); -- stores decrypted binary text key_bytes_raw RAW (64); -- stores 256-bit encryption key begin key_bytes_raw := UTL_I18N.STRING_TO_RAW (amazon_secrets.g_aws_key, 'AL32UTF8'); decrypted_raw := UTL_I18N.STRING_TO_RAW (p_string, 'AL32UTF8'); encrypted_raw := dbms_crypto.mac(src => decrypted_raw, typ => DBMS_CRYPTO.HMAC_SH1, key => key_bytes_raw); output_string := UTL_I18N.RAW_TO_CHAR (utl_encode.base64_encode(encrypted_raw), 'AL32UTF8'); return 'AWS '||amazon_secrets.g_aws_id||':'||output_string; end amazon_signature_sh1; / Finally, create functions that will later be used in a query that return just the signature portion of the Authorization header and another function to return just your AWS Access Key ID. Use the steps above and the code in code listing 3. Code Listing 3 create or replace function amazon_sig_only( p_string in varchar2) return varchar2 as begin return substr(amazon_signature_sh1(p_string),26); end amazon_sig_only; / create or replace function amazon_aws_id_only return varchar2 as begin return amazon_secrets.g_aws_id; end; / Create the Application Once you have your package and functions compiled in the schema associated with your workspace, you create the application that will become the Amazon S3 client. Follow the steps below to create the application. Click the Application Builder tab Click Create Choose Database and click Next > Choose From Scratch and click Next > Enter Amazon S3 Client in the Name field and click Next > In the Add Page section, choose blank page, enter Buckets in the Page Name field and Click Add Page Click Create Click Create Create an Application Item for Date Header and Computations The Date HTTP header must be passed with each request to Amazon S3 in the format Dy, DD Mon YYYY HH24:MI:SS GMT. Create an application item with a corresponding computation so that the current date and time is computed when the page is loaded and when the page is submitted. To create the application item and computations: Click Shared Components on the Application Builder home page Click Application Items under the Logic heading Click Create Enter S3_DATE_TIME in the Name field and click Create Click the Shared Components breadcrumb Click Application Computations Click Create Choose S3_DATE_TIME from the Computation Item list Choose Before Header from the Computation Point list Choose PL/SQL Function Body from the Computation Type list Enter the following in the Computation field. You may need to adjust the computation based on the time zone of your Oracle Application Express instance. You can determine the time zone of the instance by running the following query: select dbtimezone from dual; For example, if you are currently 7 hours behind GMT, you would change sysdate + 4/24 to sysdate + 7/24 in the computation below. return to_char(sysdate+4/24,'Dy, DD Mon YYYY HH24:MI:SS')||' GMT'; Click Create Computation Repeat steps 7 12 above, choosing After Submit instead of Before Header in step 9 Create a Page to View All Buckets Create a RESTful Web Reference to View All Buckets To interact with a web service in Oracle Application Express, you first create a Web Service Reference to that service. To create a Web Service Reference to list all buckets owned by an AWS account: Click Shared Components on the Application Builder home page Click Web Service References Click Create Choose REST and click Next Enter the following on the REST Details page Enter List All Buckets in the Name field Enter  HYPERLINK "http://s3.amazonaws.com/" http://s3.amazonaws.com/ in the URL field Accept the defaults for HTTP Method and Basic Authentication and then enter Host in the Name filed under REST HTTP Headers and click Add Header Repeat step c and create Authorization and Date headers Click Next Click Next on the REST Inputs page since this service has no parameters Enter the following on the REST Outputs page Accept the default output format and enter /ListAllMyBucketsResult/Buckets/Bucket in the XPath to Output Parameters field Enter  HYPERLINK "http://s3.amazonaws.com/doc/2006-03-01/" http://s3.amazonaws.com/doc/2006-03-01/ in the Response Namespace field Enter Name in the Name field and tab to the Path field Click Create Create a Page to View all Buckets Now create the page using the Web Service Reference. On the Web Service Reference success page, click Create Form and Report on Web Service Choose List All Buckets from the Web Service Reference select list Click Next Change the page to page 1 to re-use that page Change Report Region title to Buckets and click Next Choose No to create items for Host, Authorization, and Date. They will be populated with values other than items on this page Click Next Check Name in the parameter list and click Finish Click Edit Page Delete the Buckets HTML region (not the report region) which was created during the create application wizard. This region is not necessary. Edit the doREST region select Never for the Condition Type under the Conditions section. Edit the page process called Web Service Request and make the following changes Process Point: On Load - Before Header Input Parameters Host: Static Value, s3.amazonaws.com Authorization: Function, return amazon_signature_sh1('GET'||chr(10)||chr(10)||chr(10)||:S3_DATE_TIME||chr(10)||'/'); Date: Item, S3_DATE_TIME Click Apply Changes Run the page and verify that you see a report of bucket names (you should create a test bucket and add some test objects with another client, like S3Fox prior to running this page)  Figure 1, List all Buckets Page Create a Page to Create a New Bucket Now that you can view your buckets, your application should provide the ability to create a new one. Create the RESTful Web Service Reference Navigate to Shared Components, Web Service References Click Create Choose REST from the Web reference type and click Next Enter the following on the REST Details page Enter Create Bucket in the Name field Enter  HYPERLINK "http://&P2_NAME..s3.amazonaws.com/" http://&P2_NAME..s3.amazonaws.com/ in the URL field Choose PUT as the HTTP Method and accept the default for Basic Authentication Enter Host in the Name field under HTTP Headers and click Add Header Repeat step d and create Authorization and Date headers Click Next Click Next on the REST Inputs page since this service has no parameters Choose Text on the REST Output Format with no other modifications and click Create. The only response from the service should be an HTTP status code if the bucket is successfully created. Create the Page On the Web Service Reference success page, click Create Form on Web Service Choose Create Bucket from the Web Service Reference List and click Next On the Page and Region Attributes step, change the following: Page Number: 2 Region Title: Create Bucket Breadcrumb: Breadcrumb, Parent Entry Buckets Click Next Choose No for Host, Authorization, and Date to not create those items, they will be populated with function results and an application item. Click Next Click Finish Click Edit Page Add text item P2_NAME for the bucket name Right-click on the Create Bucket region and choose Create Page Item Choose Text Field and click Next Enter P2_NAME in the Item Name field and click Next Accept Item Attribute defaults and click Next Accept Settings defaults and click Next Click Create Item Edit the page process called Web Service Request and make the following changes Input Parameters Host: Function, return :P2_NAME||'.s3.amazonaws.com'; Authorization: Function, return amazon_signature_sh1('PUT'||chr(10)||chr(10)||chr(10)||:S3_DATE_TIME||chr(10)||'/'||:P2_NAME||'/'); Date: Item, S3_DATE_TIME Success Message: Bucket created Click Apply Changes Edit the branch to Page 2 and change it to Page 1 Go to the page definition of page 1 Create a button with the following attributes in the region called Buckets: Right click on the Buckets region and choose Create Region Button Button Name: CREATE Label: Create Bucket Position: Region Template Position #CREATE# Action: Redirect to Page Page 2 Clear Cache 2 Click Create Button Run page 1, click Create Bucket, enter a name, and then verify you can create a bucket  Figure 2, Bucket successfully created Create a Page to List Bucket Contents Logically the next step is to create a page that will list all the objects contained in a bucket. Create the RESTful Web Service Reference Navigate to Shared Components, Web Service References Click Create Choose REST from the Web reference type and click Next Enter the following on the REST Details page Enter List Bucket Contents in the Name field Enter HYPERLINK "http://s3.amazonaws.com/&P3_NAME."http://s3.amazonaws.com/&P3_NAME. in the URL field Enter Host in the Name filed under HTTP Headers and click Add Header Repeat step c and create Authorization and Date headers Click Next Since there are no input parameters, click Next Enter /ListBucketResult/Contents in the XPath field Enter  HYPERLINK "http://s3.amazonaws.com/doc/2006-03-01/" http://s3.amazonaws.com/doc/2006-03-01/ in the Response Namespace field Enter LastModified in the output parameter Name field, tab to Path field Click Add Parameter. Enter Key in the Name field and tab to Path field. Click Create Create the Page On the Web Service Reference success page, click Create Form and Report on Web Service Choose List Bucket Contents from the Web Service Reference select list and click Next Change the following on the Page and Region Attributes step: Page: 3 Report Region Title: Contents Breadcrumb: Breadcrumb, Entry Name - &P3_NAME. Parent Entry: Buckets Click Next Choose No for Host, Authorization, and Date. They will be populated differently, click Next On the Report Parameters page: Change collection name to P3_BUCKET_CONTENTS Check all parameters Click Finish Click Edit Page Add a hidden item to the doREST region called P3_NAME Edit the doREST region and select Never for the Condition Type under Conditions Edit the page process called Web Service Request and make the following changes Process Point: On Load - Before Header Input Parameters Host: Function, return :P3_NAME||'.s3.amazonaws.com'; Authorization: Function, return amazon_signature_sh1('GET'||chr(10)||chr(10)||chr(10)||:S3_DATE_TIME||chr(10)||'/'||:P3_NAME); Date: Item, S3_DATE_TIME Click Apply Changes Go to the page definition of page 1 Modify the report attributes of the Buckets region, column Name, supplying the following link information: Link Text: #Name# Page: 3 Item 1: P3_NAME Value: #Name# Run page 1 and then click on the test bucket you created with objects in it (if you have not done this yet, now would be a good time). Verify that you can view objects in a bucket.  Figure 3, Listing bucket contents Modify Report to Provide Download Link for Objects You construct a link to objects using query string authentication, so you can provide direct access to the objects through a URL. The signature is added to the query string of the URL. You provide a URL expiration which is represented as an epoch (number of seconds since January 1, 1970). You create an item on the page and a computation to calculate the epoch and then modify the query that displays the bucket contents to include the link to download the object. Edit page 3 and create a hidden item name P3_EPOCH in the doREST region Right-click on P3_EPOCH and choose Create Computation. Create a computation with the following options Computation Point: Before Header Computation Type: PL.SQL Function Body Click Next > Enter return (trunc(sysdate + 2) - (to_date('01-01-1970','MM-DD-YYYY')))*24*60*60; in the Computation text area Click Create Modify the query in the Contents region, changing it to the following: select extractValue(value(t),'/*/LastModified','xmlns="http://s3.amazonaws.com/doc/2006-03-01/"') "LastModified" , ''||extractValue(value(t),'/*/Key','xmlns="http://s3.amazonaws.com/doc/2006-03-01/"')||'' "Name" from wwv_flow_collections c, table(xmlsequence(extract(c.xmltype001,'/ListBucketResult/Contents','xmlns="http://s3.amazonaws.com/doc/2006-03-01/"'))) t where c.collection_name = 'P3_BUCKET_CONTENTS' Modify the new Name column, changing Display as to Standard Report Column Run page 3 and verify you can download documents Create a Page to Upload an Object to a Bucket Uploading new files for storage on Amazon S3 should be one of the primary functions of any Amazon S3 client. This client is no different and you create a page to upload new files (objects). This page will demonstrate Oracle Application Expresss support for using the PUT method in RESTful requests as well as support for using a file from a file upload item as the input to a web service. Create the RESTful Web Service Reference Navigate to Shared Components, Web Service References Click Create Choose REST from the Web reference type and click Next Enter the following on the REST Details page Enter Create Object in the Name field Enter HYPERLINK "http://s3.amazonaws.com/&P3_NAME./&P4_NAME."http://s3.amazonaws.com/&P3_NAME./&P4_NAME. in the URL field Choose PUT as the HTTP Method Enter Host in the Name filed under HTTP Headers and click Add Header Repeat step d and create Authorization, Date, and Content-Type headers Click Next Choose File Upload Item on the REST Inputs step and click Next Choose Text as the Output Format on the REST Outputs step and click Create Create the Page On the Web Service Reference success page, click Create Form on Web Service Choose Create Object and click Next Change the following on the Page and Region Attributes step: Page: 4 Region Title: Create Object Breadcrumb: Breadcrumb Parent Entry: &P3_NAME. Click Next Choose not to create items for Host, Authorization, and Date on the REST Input Parameters page, change P4_CONTENT-TYPE name to P4_CONTENT_TYPE and click Next Click Finish Click Edit Page Edit the P4_CONTENT_TYPE item and make it hidden Create a hidden item P4_NAME Right click the P4_CONTENT_TYPE item and choose Create Computation. Create the computation with the following options: Computation Point: After Submit Computation Type: SQL Query (return single value) Click Next Enter the following in the Computation text area: select mime_type from apex_application_files where name = :P4_FILE Click Create Right click the P4_NAME item and choose Create Computation. Create a computation with the following options: Computation Point: After Submit Computation Type: SQL Query (return single value) Click Next Enter the following in the Computation text area: select filename from apex_application_files where name = :P4_FILE Click Create Edit the page process called Web Service Request and make the following changes Input Parameters Host: Function, return :P3_NAME||'.s3.amazonaws.com'; Authorization: Function, return amazon_signature_sh1('PUT'||chr(10)||chr(10)||:P4_CONTENT_TYPE||chr(10)||:S3_DATE_TIME||chr(10)||'/'||:P3_NAME||'/'||:P4_NAME); Date: Item, S3_DATE_TIME Process Success Message: Object added Click Apply Changes Edit the Branch to Page 4, change the branch to page 3 Go to the page definition of page 3 Create a button with the following attributes in the region called Contents: Create a button in a region position Button Name: CREATE Label: Create Object Position: Region Template Position #CREATE# Action: Redirect to Page in this Application Page 4 Clear Cache 4 Click Create Button Run page 3, click Create Object and verify that you can upload a new item  Figure 4, Add object to a bucket Add Ability to Delete an Object The final feature to add to the S3 client is the ability to delete an object. The ability to delete a bucket and its contents is an exercise left to the reader. Create the RESTful Web Service Reference Navigate to Shared Components, Web Service References Click Create Choose REST from the Web reference type and click Next Enter the following on the REST Details page Enter Delete Object in the Name field Enter HYPERLINK "http://s3.amazonaws.com/&P3_NAME./&P3_DEL_NAME."http://s3.amazonaws.com/&P3_NAME./&P3_DEL_NAME. in the URL field Choose DELETE as the HTTP Method Enter Host in the Name filed under HTTP Headers and click Add Header Repeat step d and create Authorization and Date headers Click Next There are no other inputs to the service so on the REST Inputs step simply click Next Choose Text as the Output Format on the REST Outputs step and click Create Modify the Report on Page 3 to Include a Delete Link First, create a hidden item on page 3 called P3_DEL_NAME. This item will hold the name of the object to be deleted. Then modify the query of the Contents region to select a third column, which is simply the object name. Next, modify the column properties of that new column to link to a URL which calls JavaScript to set the P3_DEL_NAME item and submit the page. Navigate to the page definition of page 3 Right click on the Contents region and choose Create Page Item Complete the wizard to create a hidden item called P3_DEL_NAME. Ensure the Value Protected attribute is set to No because you will need to set the value of this item through JavaScript Edit the query and replace it with the following new query: select extractValue(value(t),'/*/LastModified','xmlns="http://s3.amazonaws.com/doc/2006-03-01/"') "LastModified" , ''||extractValue(value(t),'/*/Key','xmlns="http://s3.amazonaws.com/doc/2006-03-01/"')||'' "Name", extractValue(value(t),'/*/Key','xmlns="http://s3.amazonaws.com/doc/2006-03-01/"') d from wwv_flow_collections c, table(xmlsequence(extract(c.xmltype001,'/ListBucketResult/Contents','xmlns="http://s3.amazonaws.com/doc/2006-03-01/"'))) t where c.collection_name = 'P3_BUCKET_CONTENTS' Edit the D report column and make the following changes: Column Heading:   Link Text: [ Delete ] Target: URL URL: javascript:$s('P3_DEL_NAME','#D#'); apex.submit('DELETE'); Click Apply Changes Create Process to Call the Delete Object Web Service Reference The next step is to create a process on the page that uses the Delete Object web service reference to call the Amazon S3 web service and delete the object. To create the process: Navigate to the page definition of page 3 Under Page Processing, right-click on Processing and choose Create Process Run the Create Page Process wizard specifying the following options: Process Category: Web Services Name: call delete object Web Service Reference: Delete Object Operation: doREST Input Parameters: Host: Function, return :P3_NAME||'.s3.amazonaws.com'; Authorization: Function, return amazon_signature_sh1('DELETE'||chr(10)||chr(10)||chr(10)||:S3_DATE_TIME||chr(10)||'/'||:P3_NAME||'/'||:P3_DEL_NAME); Date: Item, S3_DATE_TIME Click Next Enter Object deleted in the Success Message Enter Error deleting object in the Failure Message Click Next Choose Request = Expression 1 from the Condition Type list Enter DELETE in the Expression 1 field Click Create Process Run page 3 and verify that you can successfully delete an object  Figure 5, Object successfully deleted Conclusion Amazon S3 is a very useful platform for storing content or for off-site backups on the internet. The Amazon S3 service makes it easy to build clients on the S3 platform. Oracle Application Express 4.0 introduces the ability to consume and interact with RESTful style web services. This paper has shown how you can quickly and declaratively build an Amazon S3 client using Oracle Application Expresss new support for RESTful style web services.  Building an Amazon S3 Client with Application Express 4.0 December 2010 Author: Jason Straub Contributors: Terri Jennings, Chaitanya Koratamaddi Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 www.oracle.com Oracle Corporation provides the software that powers the internet. Oracle is a registered trademark of Oracle Corporation. Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners. Copyright 2010 Oracle Corporation All rights reserved.   HYPERLINK "http://www.w3schools.com/soap/soap_intro.asp" http://www.w3schools.com/soap/soap_intro.asp   HYPERLINK "http://aws.amazon.com/s3/" http://aws.amazon.com/s3/   HYPERLINK "http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/UsingRESTOperations.html" http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/UsingRESTOperations.html   HYPERLINK "http://www.s3fox.net/" http://www.s3fox.net/      Building an Amazon S3 Client with Application Express 4.0 Page  PAGE \* MERGEFORMAT 2 v|; u v $ % & ' ( ) E F ` a b c d б¨•Є¨•s¨•b¨ jwh8UmHnHu jh8UmHnHu j}h8UmHnHu%h8CJOJQJaJmHnHsH uhWumHnHu jh8UmHnHujh8UmHnHuh8mHnHujh8Uh8B*CJaJphh85B*CJ\aJphh8&:;Q_`abcdefghijklmnopqrs  ^  @&^ ^  ^stuv3 4 5 6 7 8 9 : ; u ) e D  W   ^^  ^d e k l $ % ? @ A B C D b c } ~  ջջջջwջ jh8UmHnHu jkh8UmHnHu jh8UmHnHu jqh8UmHnHuhWumHnHu jh8UmHnHujh8UmHnHuh8mHnHu%h8CJOJQJaJmHnHsH u,       7 8 R S T U V W -żἫżἚżἉżxż jYh8UmHnHu jh8UmHnHu j_h8UmHnHu jh8UmHnHuh8mHnHu%h8CJOJQJaJmHnHsH uhWumHnHujh8UmHnHu jeh8UmHnHu( 3}?p]o   $If$If@&-./123\]wxy{|}9:;=>?OPjżἫżἚżἉżxż jh8UmHnHu jMh8UmHnHu jh8UmHnHu jSh8UmHnHuh8mHnHu%h8CJOJQJaJmHnHsH uhWumHnHujh8UmHnHu jh8UmHnHu(jklnop <=WXY[\]mnżἫżἚżἉżxż j; h8UmHnHu j h8UmHnHu jA h8UmHnHu j h8UmHnHuh8mHnHu%h8CJOJQJaJmHnHsH uhWumHnHujh8UmHnHu jG h8UmHnHu(NOijkmnożἫżἚżἉżxpi h86]jh8U j h8UmHnHu j/ h8UmHnHu j h8UmHnHu j5 h8UmHnHuh8mHnHu%h8CJOJQJaJmHnHsH uhWumHnHujh8UmHnHu j h8UmHnHu'    >?@BCVWc  +@BCD⩿₿sdsjh8CJUaJjh86CJU]aJ+jh86CJU]aJmH sH  h80J6CJ]aJmH sH +jh86CJU]aJmH sH %jh86CJU]aJmH sH h856CJ]aJmH sH h86CJ]aJmH sH h86CJ]aJh8#  WPkdZ$$Ifs0 l63H4 sa$IfPkd)$$Ifs0 l63H4 saVWc]WPkdB$$Ifs0 l63H4 sa$IfPkd$$Ifs0 l63H4 saDYZ]^cvw}Rp!"اؘwodo\oXXh zh mH sH h86]mH sH h8mH sH h85B*CJ\aJph#h856B*CJ\]aJphh86CJ]aJmH sH h8jh80JCJUaJh8CJaJh856CJ]aJmH sH  h86]h86CJ]aJmH sH jh86CJU]aJh80JCJaJ ]^cvQPkdZ$$Ifs0 l63H4 sa$If$IfPkd$$Ifs0 l63H4 savw}QOOOOOPkdB$$Ifs0 l63H4 sa$If$IfPkd$$Ifs0 l63H4 sa (4@&T[KW+-0134GHno7 z""""""4%U%V%d%e%%Ļ񞖐h8B*CJOJQJaJph h80J h8CJaJ%h85B*CJOJQJ\aJph333h8OJQJ^Jhth10Jjh1U h80Jjh8Uh1h zh8mH sH  h86]h8jh80JU.'(647 8 T Z !z""$$$2%3%4%@%L%U%$If@&@& & F(gd1@&U%V%e%%% &C=77=#$If$Ifkd$$If4FaBBB  t06    2K34Bap%& & &&&B&L&M&N&P&Q&R&V&W&&&&&&&&&&&&'&'Z'['''''d(o(p(q(~((((v)w)))))))))****<+ܜҗҗ h85jh80JUh80JCJOJQJaJjh8CJOJQJUaJ h80Jjh8Uh8 h80J h8CJaJh8B*CJOJQJaJphh8CJOJQJaJ8 & &&N&Q&jddd$Ifkd$$IfFaBBB t06    2K34BaQ&R&W&&&jddd$Ifkd$$IfFaBBB t06    2K34Ba&&&'d(p(jd^^d#$If$Ifkd$$IfFaBBB t06    2K34Bap(q(())jddd$IfkdX$$IfFaBBB t06    2K34Ba))))*****3++jhfch^^^^^ & F@&kd-$$IfFaBBB t06    2K34Ba <+N+U+e+++++i,j,,-------001133'4-4H4O4m4s4z444444 5555%5+5566"7(7/7;7X7^7i7z777777777!85889=9κβh`mH sH h*OmH sH h85\mH sH h85mH sH h8mH sH h8OJQJh*O h8^J h*O5 h85h8h8OJQJ^JA+++++,R,S,g,i,j,---..0.~../!/"/y///00000$@&gd*O & F00000112H2K2Q2222222222 33333+33!4 & Fgd*O$!4.4O4t4455,5-5i5667)7_777778U8#:<:::::@& & Fgd` & F@& & F=9?9\9]9999":#:):;:`:l::;;;< <<<<*<.<b<r<<<<<<<<%=*=.=G=L=c=m=========&>L>Q>w>>>>>>>?żű͓͓͓͓ͬͬͬͥͬͬͬͥͬͬͬͬͬ͝͝͝͝h7 h80Jjh8U h85\ h85h85\mH sH h85mH sH h8mH sH h8h`h85OJQJh`h8OJQJmH sH h`h8mH sH  h`5h`::;;<</<\<<<n====&>>&?]?j?k???@\@g@@@HASA & F@& & F & F??,?0?c?i??@ @0@b@f@@@@@@@@@AANARA~AAAAAAAA+B1B9B?B@BEBFBzBBBC'CACCCCCCbDcDDDDDDDEEEEEE FF2F3FcFdFFFFFFF h80Jjh8UmHnHuh?xjh80JUhh hh5h7 h85h8jh8UKSAAA"B{BBBC(CCCCDDDDDDDDDDDDDD6E@& & Fgd?x & F & F & F6E_EEEEF,FFF,GdGoGGsHHHIUIdIIIIGJRJ_JoJJJ & F & F & F & F@&FFF!G+GEGRGWG\GjGnGuGyGGGH HHHHHIIbIcIrIIIIIIIIIIMJQJXJ^JeJnJ}JJJJJJJJK K-K1K[K_KKKKK L0LJLLLLLLLMMMMMNNN:NYN[NgNhNoN|NNNNNN OOjh8UmHnHu h85\ h85h8YJJ2K`KKKKK1LLLLM4MXMMMMN;NTN[NiN}NNNNN & F & F & FNNNNNNNNNNNN O O1OOOOO6PcPPP?QwQQQQ & F & F@&@&OOP P1P5PiP}PPPPPPPPQQ4Q>QXQeQjQnQ}QQQQQQQQ"R#RJRKRrR~RRRRRRRRRRRS SLSqSySSSS T T"T*T7TATPTYThToTvTzTTTTTU"U>UDUh?xh?x5 h85\ hh5hh h80J h?x0Jjh?xUh?xjh8Uh8 h85JQlRRR S SSrSST T+TZTpT{TTT#U8UEUUUUU+VRVcVV & F & F & F@& & FDUKUTUUUUUUUUU:VRVsVVVW$W0W7WDWWWWWWWX XXXXXZ[ [([M[U[a[s[[[[[[[\O\r\x\\`H`_`bbbbbbc(cAcBcyczc{ccccò h?x0Jjh?xUjh8Uh8CJOJQJ^JaJ h85\jh8UmHnHu h?x5h?x h85h8FVW1WEWiWWWWW XXXXXXXXXXXXXXX$YZ>[ & F@&@& & F & F & F>[[[[[l\y\\\2]D_c__`_```Ebnbbbbc;cccd & F! & F!@& & F & Fccccdd5dBdDdHdNdZdidmdudddddddd:eTetexeeeeeeeefffffffffffggMg`gggggggg%hghnhthhhhhhii&i4ikKk&l,l4lAlllllh?x h?x5 h85\h8 h85[dcdndddd eUeyeeeee fffffgggggghhuhh & F" & F"@& & F! & F!hi6iAiiij#jYjjk8kLkkkkl-lBlnlllllmmmm & F" & F" & F"lllllllmmm:mangnonsnnnnnnn4o5o6oeofoooooooop p pp prpvp~pppp:q;qqqrrr s:s9=}{}---  PD$$ G@I<֭[VVeÇO)64D$MjK,8pywI'v#G|7ܘW_}.)o^~gGZjC.}vǿFx^z]p^6Gu߿߾yy#8Zڹsժ&FZjC.0ޫu}MM 2Wرcwa8zhiiKNxK}}Cԭ.mߋzTxZn/F}O?K<=`:@׮]?)6h&}gw4ꪡ\(B ` __]Q>|Q@~t u_|QpǎG?Gt~u} Mdk/vm!OFԵ~8F /47ǎE=e˖.f"x'm!$poh/E_[C멧]g~0/,h "-;>td" $c8o/Ų_n?"yjSnm#%v+G{I/S\Ek`: I؉HysawBGh͘@]@b ǿ*"q)dI&{#"}衇l{҄G<{fg#-a^Ν+OXp󑣮Vm__ 06Gn.  c8oH(}WՁ_az晙##$f$"Ro7aU*"@h+m WW+oHPp_a1?~_W? |ߌŞgU,d#r,,5B ` WW_ G6n}D|-?QvZiX?OJ< (++G_sӉSN>A:$x|#X @Z HWwX:wy;vlH?y{UQ !EIW!WAFD}\zko #)/ 1_]ާ.+D$aDE8 5Op{,:>!-"3 #@ HWwxSYo.~y8>G!o FpBAƉY5^{#kuW*Do HWW};/eKK_w{\Rꆂ[Uzݷ__p{t6@c8Օ˯UDRn&#(`)S0GE?"yyp@矷PƏV@ 6=ϟg @2 {: @AZA1" @bڬ$+ i+>T;m 8 $\UO@@@/@D9  @D=  "I@ "@@ $~ p  @H?@H@@ D$z D$ +PUS%[Ub=;  R6k zΪsk;ssX M[>=f"HS) 'zgeg!Uݧe_mHnþU+C6GPzv{_39܆!wo^k嶫9'"I6 @bzь D!Y{7/ V|:a&"Tc=WQ(m>X=S֣j>b,eM~t#ut Ƙ4-khm? Axɛ ׏s9}6LkxugUVΚx{'H:8%\ {_xo9)VJVdI6b4MV_GOWg|UnoxЖЌ3ݔ)]28WjTbTϩPǾbSW@ldxU,5r>gU9sYF<T&A{H".@HQC$ka^R%uuKSm;*7\Q 'qT1\Ѭٮ=RկG!ڋ21xc@\63i-+]3ZU>qHzW5qw#qD)@%6Jc,MN 1i˾(#:e Tl!pEE&QDMΤiNHz"Nr1 V+S*koYY拿%Һ4";uKчnFs,X;B٨F@ѶN[}%jŦ50/MvJ8 Xw2UFFl>s  #c;v-]O;/>_ff|ni=n喘K.1m"dsqU,T9Ͳkx{9rd;D$y+O}-[D|9:PU]IW\с _9ks_v[u$Νs-:S蹿6%ePݺu@d֭۶mk-EE{qI,qb%Ϟ$ tU"=zdgg[";{oβf1bD: 0v@+pQYꪫjkڵM[4-;Ԇ 'x9rFn- l'3ַ@ {7?ig! E5kְjٛ8@o 8HMIٗ]v" k׮lՆD"K/4! -?0^6-+Z|%w5J k~wE  xQyզo.v~DZ홫xC'ܦ.q>JF|UI%\e\ >xHNxzgjzO}k:Zzл *҃GwwgB7xj<[^?Kh'oki'/H$Rrp,;-ϸH#+rh~ÕOg57|F#5F"ށT wDҰ!9:>_ӖgkIr,w]]{ ?J\7、CO޶rjYWI/d\pBӇuܽUj[|K9>f9j*U8J@8gjQgNelo泗C}L#LnSOi>rg<ɇHf@@ H:> /ԏ{pNzO-VFsWm$;~HK$R\ّ$J'>ބԆ @Wm}$ٯUI"wϟ$#_DMCU<8dlq}wlJͬMzqٓؓ5kGGwye?]dgj'#G@ "Αtr#Z9^ηZ*ǡ_^?i㿧J^--iUww,QiƆײERBvD2N-MÅ>IU`:N "I  8IN?7޹{K_ĩ|} K.] GKm卒mU[yeгz9cNUqN\pK@@ P`ݺu}|#T'"Id I$qDIS]dС@@#ˑHD2dn$@ "H}䓒Gq @6nHDm ɠA"  Ю@eeedϑ|\R6@%PUUEDD$99a?R6( @uuudɐϑ|TR Q,"ɇ%%P F5l}]:JD2`t9cF@ 6۶m0aUçȯڞ~ؽ_ħֵ%%O[ @:׏lyV>>tqvZ: 0v@+W_{v#i+_37ɑZ:1#  G䫏ڌ ;c{7m>1VW3L~C@\رc]v5jTuGbL=k}+V$Pcѽc?jLDD>ڍi q 3αྊj>}9y=;b4@@7^ G@ xw9 #@D:sH@w玞# :D$3@ xw9 #@D:sH@w玞# :D$3@ M6m߾}߾}mfff򌼩|6||N?6yLO@@pH=rJeoj$lIB{92|U: {!ChaÆm۶|߱B@Hm}$XpDfNz.Q,2:@.HA$_F!y@R^!"ٿ^< Qxzt@pHd߫"?(g" E>ċF@H5"TQƃ H8k@T "Ie< xQs9wos9gkd z nӗGV?@@ H5}*g<ҘĵgU.MA@@"k}hZ-|dṄПٰT"4QP~`z&* !,Kbq׌G'9^S~?r69E qz1q^NIr:*܌]en@HN(D$[{I$1HlLLo-EB A3[^Z jMHPG*gi&=@@ D!" p)Uz@v9ZMf͌,68 @"VI=o$ qLԨ5Eb[9=7bl Da@@+QH$0A?Sa_i_B3z$F*mh `&LD@ XHFcojSTx!K~T3$. cEc$ݡIEZ[A#˧/4*ۖR@𠀯no[<86]NQx}? D!G/  I"Nr9 DA$ T pH222;Fb/(ZG@^{yO#JeG@ "s=w۶mV(<=: @ 8D$ܳgφ < !=(< @8|(=ztŊ~gewijjJL{gv!ȨQw<'  ,59V^e^E@X߀H' $;¶ # FUD"  mB@I(@:,@Da:.D@ D@@D$B@I(@:,@Da:.D@ D@@D$B@lO۴iݻq"@H!38cC [\#Ç/^3ϔHH!g  HBصk׍7x'rHW_}UbAɗ׷  >>[nݻwdĉɺuߟА>@:#еkת^z]p.qZ[[ۻwoC@A"kdN>% FJ" &.Rɚ5krrr\E1@@tFuue]#q E1@CdڵaT )* HHHR.`X $Z |IGD  =H9#)..3fLxOJ{m>qtH< E`ٲe.r^߿ܸpc{QG]w޸#Iz\zO=<:FL@͛H:X.;;C>u3N9ڊM\6)F簫\D$fm٣QF@x D9"ׯ_S# gb='~.]9mגxw/֝;VOk-^O [.JVU?Z>__|V]fxR زeWs^,qy`)OM],'xz& =r<6F{7w~{߮eK%K]b6qUܥގjxx󷩇%rnYE@ Du2"2 uH`POn-50mI}R\1|+`e嚢;? yl昦_%^9I/:^bT:VWwXUWrG]%4)U=@H G$7G;s춂vpD--_o63 oZ _Wg̒?{|sm=צ3?&?mu]+b #&̑؞.]~s$ܾ;w&L:Vd4fIsƟy6V%G M`Jp  @2 ERID}f =\6W%|Y %yop??T3[_^%kx3?$ȿʞ3>ߧO_r ) G4]F@ Y?!mԨQ;[$c[ke^{lǹ|Gj Ffj|=qs5Α~W}}oZ>Ξs3>mwחSI@H+BsD2rCqh_B2rXO~]W-+D3'>0;KG^X]MƳf۴su'  .rhF$yyy"  G3"1bD=<  zjȟs9"  l߾gDKy@p%v,@@;Hk.f@֮]}$gu  @;wtpΑ\|ő  >G tL :WB@(..vEDRA! @Hb-L  ,@DlD @I@H(  "0# %@@ D$~@p "q6 ZS|Zssƍ+++ǏǺ,p 'c AH@D/>餓rssE[nϧ78bRU VҰ] %>|p~~); @DIgco߾yyyYYYH4`7!b֯F%Ma"/W\qy'3Ԕ0z@ t6"ό=$$II NXӮt]cw"EHoF$h%5FpÊ*$=1i%+&2#2/}c3z@ t6"ꫯze*!8FP]˹gϞ2/. @z t6" 6pF+ 5y+lϋnHLߓ76G@g#k+d.+ Kڶې"@t"G v܉= tҶݴ@@"Y1 A@~"`E~Va}'8wb=k\s^sm ۵5Zxmz6 i/ F$a V"81 [dD ڀsRfm*`Ȕfv0;vmn xL IP M=*Vad,{pcOX{ F}R|Ts/R15z#_W>Fe=o{yvj{n3Ƴ*m=b `@'65?. @ D!" <|F"N@`-gTS,hz \܃F\sMUW$x:_jId|JցtwV[ض%/綿rߏgg=_[rxB6c"8̲w> x̸@*D 0aE-eXKl{Ю1)M#n{Ms]OLlݱݜkz8Og }ioڼuջZ5Ӂ.ioz/Pb'czƤ i&X/,bj픴302VUZ|Z߻4|FyzD>EQ4Wdt23;tc dl3̪Y1SpPjf3\@ _w=Ti<'p`_1#mﭔl/={/pw3FcIQWn;/9up2@BDb# 7|~ِU'vТ%kk|z-X*jl1zF$F8rv޵ZҲ>)ȑsuCpD!ïhukpzܽ@ uX2_k-Cз]ݰV=k .c10AjإvU㷳Ky &#_mjO3J@ܘusS5s0aٔTɝ}nsܡ@ =3 Ȼa;ce|Hkgj{mI={wtmSO=v؉'x=_k=N?DizNvxmYxqׁs   8Fڢ#2"-VbZ]}f$ "I۵kFCv޽Pj8Ν;w-ߑk׮4R~5 c91ՠ(v퓫Tǿ2rr) -du> È # @(D$^ +8{&hb~ 0bڵo;'i@: ʎc!& aϣط> ^x1k`vV@($䲋,OjLB X.BD$ 7@:&kb-X S? @lBD+_ޑI Ea& $V$ J@/@D9  @D=  "I@CDR3sș5 }S:xٔv@R@'m\1c }R.ct 8 d2ŅW4C]Nyw.]EB@6GG=(! @ 6"1wIۈ! IF$# @D3L@Z$! &D$i2 @»njCL-[m F@DBD+_\]c  DbĪMdF@XB:@@ 2"ȼ(  "*u" @dD$yQ@b!@D UD@Y[ہE6˦tzMblJQ.P  Db" @-ۈlA@ 6"q@RD$E&a  i"OOG@ EHRd" »njievJA!$@DBD+_RMљn$?]BH^XIg x^S@H"D HwBDӟ^͘aT$&yR1cʗHécKsS @TgD"pn/hT, I~RJȓ̈+rWa$!Č9aKܹ*J  H&Жa&}cs'mCFI0WX@C_7Yjib'+B$Rs1엽0c6w1'/T9򋤖Ss*@@"yŅNV2 .2hN0_uֿJ;Y4_T7i0{ꣅo. ٴBuLuJ#c434|}u#*A@h>"h2z>oh@cGʫ )!A5ecƘ4lݟq7F[mUoKјw@@ bXi5!VIԋ Mk:`ɺu厐MɠC_G#!:r#mhz`CUo0]J  -G$jƿu`Vp伾=vR=&- {nȦ'{WBvL-:1t*Z3K= xI $0do!{BW=ug5a&fnO}mvz*1آtyCGcC.dUz(^/S@|UŅ)yxd_r?]<1:)?ĵĹ tP xH:8X]f\<" @@F$nR>.y;?M 0"$c@R^$姘" "L]D@ HR~   "$E@R^I.]S[lhhڵLo@\IϞ=1ن/3"l? #و$77O>8>SA@}F$>tڵkN5k>|X%IC7@p#و$333???7vUD]@vܹsҥ[nFT @;=7VVV߿$!7zȠAG24  7E'"a@@D$@@ D$z D$  x"=@@"@HI    $^$s@@@{@/@D9  @D=  "IMM) 53GYE@D$ $ G #jfi]Aa@D$3׌@ "I޹g I5#E@ yHwn #@D>sH@H^"z @\3R@W$y熞! >D$3׌@ "I޹g I5#E@ yHwn #7\] IENDB`nVzƋI*oNkPNG  IHDRo|GsRGBVBIDATx^ |' (PQD$@DEE*T)XZ-Uت]^PDkUA7 [MvdIBHܹgޛ{s瓏=s<{9w&V@ @ZM j]!@vp?O f͚u~ZF#Á@Zՙj]G]tgHԩS;w,++ּcǎ}'NDѾj٪W_sF, VyZo׮%\A$X~Ç: k޽~X8b +HoСC[hA$(//_h5ӧ ksWbH|i'^}iر.B%_~Y,92jx;=HFiGWJsx5M#0tQMY2wsB{4i)5cƌ 8^o~S4@< +nQ߻oCM9@H;pBbY8~z'~ESO=_:4@ tȰc˗.:"_)!xHP[dW羳G~437kL=3_/ߋ@u' ={um#ZKɏ-+/ehGt  v?)ѿj9r4A>Դjjhc}>jZd@il 5eٳ"E7 #tyN pUUz$?~vN-9-7mc&U=?{^YAMgux){K1Ұ;0i:O-,z0?%l3Q-i42io<(\>h/t׮6;/z?_2P>Y 붂a>VF7FhFH mNYwŲlߢwD??) .\(no<^1]A׫ !A mn}-kip8 5xzfn bFc4i;o-[a|OL*A`r[GƢ*\`Э<7\1$ gZzg ^B; Tyo7lfHNi_T/^Ç' 0oa>%65=zZUvxuc7kG,2j #;t8xM 8PFwvyufЇ+7.oiZ/w8!Rwշioy^vEtzZjX {kpp.VxJlJVr<=Gaf_3~ wlM%)8)[ĵ̕f}g=[}xKSjn}z~m|t{͗ơ:@HHٽz+Ze:W ޡJTz!WOQ D`s!X""&z0׋=m4 ͐tdʾz^zm`֤tP y6έ%=oQ{oS'7?3z@hP;ZKu?IEoHRokɺJU%KVurQCnSWDi#ꏚFFurAO)+oe}.uWԻ*+$al 3oOʒu33(UKC ڴVyY2]{ZM5kYۊJOW8hv=UӺtr}M6R*-j'ZAH@MR<ɜ,mP~wv$!7P%as髞XQlŒk](L*BǫG(T4d!+dl:RیVhgɃÃ_/N[{ߦ˸^ݚh#jRZmmmkN1s޷:fG8FӬc=X{03cA*TmFN:u]C8 {mڴn223uo=9sI&1u8~pXPYSS#;v}h"Pj*Vnݚhq˷m"`^̘qu4+opXP Yf";vصkנAe~o>}ܹ>o'{Xi @NiӦ[ H&tS-N._Lw͜yצ2@B\|oᆀ4BS=';viZ*p A@> EtA˖7kV[Ue?7T&!@ Gۗթ) +155a4fμk DH`hLMS<1%7  '&7 sӭ3g^})~0|@q4^jeLyR# @@މJp@vNܴt̫*,G@@''8\EMEMF0@@KO?JoU'N,9yYu~;u 53¥ @ JoyS^9д[ОaOSgi6p-}xƌ+@g}TxlZ~J*m?aVUZZu'>Ry㋎3rĚSY뻞jN^U<}vfygUz{w%eBi/U 雯 v*< ѭ0 @1!Tti=2O_rVk@'ƍrpdž֭wyty&L~^sCk_'NbIH;c3MK;[O_K<US( M]*7iT?z9_l++f*u/);]]s*e-*;\ o?"@hЕ^i̷%eIN^Q} Z29VS[Yl[tu_ս-7nEӚ,|Wv9G?Z[*#7 D@C7{KVO[_"n~߿X喪0eK'6%)Gq;3U5X\evҲHvEӛBsI[j0{l}ڦQ0@!4Mmh"۷=)ծ7Z57luϨRz2鵩T]/g̸K\+ 4ׯwdAjHiicI@-j87us_7cFNNNDC p6l07EMEM{psg@H7nt=S>7bƌ^z%L 4M6agA@#"yfj+sgV@@(..FM^YYA( @ 8T)~6cFfffN:!C@ :TӜWOgѣG's ʜvzԤXO¡YԴ{`@MMͮ]Fp,jР~ڢKX'3ft-G@ zʘf6NK;'%3ft1)B%H@:ӧOWTT4moѢE0aTI͛whʨG+>AXĀXP g8ǂU,yvI,+5z5Q @ 1. @jh@@@M =!@@MT2@h0i1 4iJ@ F5m08 FC5m4S@ @  hm˖-w>t[#H նß (y/iA%ND@IM ZxJH].//xHqM 8RSe˖uܹw8ڍ7{C@'E B7:$ k\Q$ wB D Jb'iRVQ$@(5=|pv !"eI= 'JMi>7MY#f@H,ib@@2@MqֈjXA4 \YW|o֎!-DKO^Q? ą 5yk=7?ic\1yӛ#nMC@@< US+.ݲ4mmbdFƩz2J[.럏:iP>?@Aî=+&_/@H jj=ѻa'ؿ:*cڰ4.Ӱ˸>L KwicolRH @1"VME{y$TX-ؔO@@CH _"hl&lA@ M @G5M9#b@H4i@@5557&["@ B)M۶m9c/H!< $>Pjڹs]v%BD((z@O c7nLaP"eI?aC@}SCyyʕ+; /CQUWW' 3228p`Ϟ="_}-'N" FI ʘe#OYYH5,i-H ;/x "«i` ctt PS.@[[ \ PS@@M @n n  r @@M? @ :B:sڵkˣGVVV :6m\veW]uU&M\F5=t[no|Cs!@& d򶱯zڵsѭVTTKYYY\r8 @hׯ;ypzUVݻw## @a {\pAnnףڅ$A='+m؋ ܩܲe:JMeѱcڷo=!@ N@LTrS)B58G T&дiS8*7u앎 D# j ;vOG@@"xNً,rSg@ȘuW+J{ Ž<>!oZgbˬL|}WA3#]ק>uWczc@!`()SW&rAVzo~lUYڲ{ m1b35So6?gbl` A=gK h&S̘)F~{&P]4!I&Rj 86cWܪiXz5|~T'!f]YuNP!XI='FLHgT7* nޯSM7$6\xo~̋kzY9}ݳ!f_qA"ԇbYj1 zu^H gI6-mqe63g_ve M6J|RD@F@uk2222337n AM6mxԴI&999N/: $_5oqz/o^';{gh/_4[=ZjӯC5`BuRy5݈2t_kz玟[9 m۶}S׹銩e*ݿkY)4on$ɇ?2w8, k?dI,^#&fktGT.wne7ݗ̜Kΐ]sߩs`1 4zpS}S~_xn'G_ʣ7wWtry\0sގ6zfʩ֛EѾN*so޼9MpۯU&~4@pNMf93Nu,lb*_٣\Բo 񖕫w*mj̖e?x}R-K)bλb݋?ϞUѱ,-ޝR$"t{ƺcW7nlQC_t W<n O~?.yeN7p;]N]3^ylӾjկ~mU1[oPvyxu]Ӿʮ{wM&ˆ]_kO=fVѫ*@pF`ʕΞFM<]rQ뺧޹~dR_8ЬC3g#+ŬӛV(-_iכ K]Zg-3x VZ5ͅ0 @ EDM!0!@WvaԩS'BRݻ= 5M+aB@xR /0sZ@={8MufQ e r>䓘7 R% T%w^gidܴo߾qC@ϝa4@2`@Hm1QӱcǦ6UF@)D_v|} f Ԕ j !@) @-0{zم0!Ā3g6mڴ}C#4~^|ŽzjҤI:ޅ6+!AǗ.]*o%رDoF'v۷T;xVZ[FME;@UUռy󲳳/P$t R֯__\\<|MXM&p ' Ն $+ܹSDYk)! ĄB2)p!$ m۶l҈>:B[N IGME;bN@u9Ҽy4⌀B2i̯~@Y09z ' 倕h]؁ L %@B '7I@zYc/Vԣ˦vר>Uiԑb@l C=FY.t۬;#4CZ u4͈ zŦۋ$5@1'MV<9c^x_O=wNmii5ꓦknmY?JDk 5E@ O B9]\m̠UΜl;vnᮻ&O+/, -ԙ+&{bOs6P/op~2W< #c8Vto>c )Ln]X s5$]r[۪8QUS# 6ebcݳhs򡾚-* %Yk^i+۵]kh/+&K *+bE]1 [Ziw[Dx;Oityb @" xݻXnsrlXN ^ʁcfUhgN=xRfM9Rid2cxl9v ZmNc[j @F q4.ZM˾,-#]{%~R+Zzz2DяW4ϭKk^uBDzι~N34>Jƪʡ Ԛ?(푿uxb"btEMkbN 2Mc7`o#W_Ԩk qR$rȭ축FR)K#3eweolWUh}Q6Hu71}Ɵ] )F' Ĝ@8/G}d_>t ϷC8+oK'oŢvnzwj^8M=jya-`/?5?ibKϾwȀ oKuuAce5F=2+gCz]@ת'EwP L,Uyoziw|S/wL]onWn$x)*e<7d*j[{vUnF]W*l|ð_oN ثndF{tw'R]{C}n2|I7C[0$_o/&]c Pt牷G' Đ'^uH322"Լms1[7=vXQQCP#Ta%ĄB2{\ 7M $ A#wO=* ֡C?0%A Z \=zhӦ1WSv!%," AMVUG0Dl7ִi͛&i   /YMn&HFB6 P) @n n  r @@M? @5 %%H@@g! " i\! bH5!\LC@@MSd& ĐjC !D3L@!4p1 @)B5Mf Ci bRj"0!@ ,$yM6o_WVV0XL!pYgnݺW^={ ByA@XVM?dɒ>;;;[~7k̊5-M7pSֱ/fb*AK ?bO'Ol2C@'XM]9sfѢE]tСH(\3Ч0b: yu]tE2## xp_~UPp0gP;~eE2/@ԴL~}[頵M"Ze$i]  Aů0yʆ xpǎk׮]ʀAj?C,}[(~-m۶y5/@prNvɶ^YgU , v+55 9##CgseC@< RS+s.څ_t} ThCtSoyڬ|Vc}?g}9[n姳wv7f1kexxm~| ܪ%lƁY١|.>=4gdHw)Oϐf4I7_jske @q&VMɤ%#XK ;0럧څٞ [Y݂aOWa{C%WݪE/?5kg]Xvj˻Ϩ3M"ⓑڱ˞vb %VM}T#}~}Z{jkWbK$|D,m*,~CQ>ݯyFJy2O+jIU[#ܛ㮻3^Y-vv=33nO͸zr~(DNW3 Pܪ<~ i)}i׾,lie?O5.aD{KT\[{3 oI4_-{v;rtyqÇϽ([ӶQʴ|ȑ#_i>(qÌ׃*BH5n.>K> ,F3YqTnV{V0>nɓznJ)@gԜ9VOW*&ZF<~7t[~Dx.c{*?#, lc7 3^@ USf;”FzVęFnj7xG$˼\vIp]hF7lN.`UUVynE 6^gh$E R[52K2}r2z{ـ =!5gʯ>gE_W~*۶K%^55eAZ;??pӿ߿_MEOh׻+E] @ qUSk-W2+kֿUc]@*W~W.!9^:eRoνԌg]19ᶂ'Jgtȑ%p8'E$R[U#nHxom۷N:rJsMOU35͛W6͍Z3u*O׵Qg=??Axt mF'OzjsD2eOF;a9yh߾'Μ8﫯NU'wޯJ޵o߾c5GXhr(o!lT6R.o$x=$> xpk[WK=o8zac/ _ ܪBi!><٤ўqv[-x5reC@ DAM攲믎>i/vG>:jY/jB Bbb`Rb QA N.$jo2_ 8B O] @HLib QA@2@MijBT LPd-b $& $Xi6q6^iY<>dtq< @ nbV bTef&iUii85x|B`ʽ?{>19WLq}4|bA jj,B2{txݒEC mZ<~ȧN-7] ։ '1* /ʛ^25W_T;] h$(ۂ"ݫ7feV̶B|b@4ozg73wE]UY6TOtNA$cu8od~mWOeVNnᆒM4k" 9aR~`%CUu!& qSS]'E!H$=;X$Eqrtݕ@$Xܜ:L&́ _H1\LB@MM iz%RzYg8}NZ0(1b$w IVlSo/YR.Nӊ@+x#kUFgok>#˻pP +`$JU҅ n.Z{>1{yHy@HpR d;nCgtH="OF策=J~&̡s=I˩8mt}6Gժ-T}]I}[ESgw}#)ƒ pb~SIЦD(|d/2 h 8TV^FAb R2@hb PS.@[[ \ ~CfnC ,]4?h; FJ7dܪ)r|5$X @< 8Jo< _ 8 s^ ējO I5mʨ @ Px 4NiWF@$k5x!9B/}oGNQlĹ^;-# f b"dUᵪ Wugg%]3kbwփL+ @ rVS[n< NTU.h|29f$I(=մYTdS9&dH3'L/P"G% GuCGQakr6hꢩ2% $>XE`x3<%myKDuNWTXMLO}r0KE9*o!.^y"*T*A,*S΅ 5C/C3r9 7'8iv-CO&'AZ&A 9dJzWPTO$0U=lye 9%S C"ͽZ-:K婒p <y @T2Qlߎ/쐂0Ȭ lWg9YBoc5`ȶHEhdWnEd{Tۧ{[E @HPqSSuqvQ<9#]?[HkzNjIVj̙V\$;Mn7FjڻT_K[7[&BX @>C-ޤ~k[]Uke4P9px +ډ5u3TNSҬ}̻_I9Mˁ={e$th@H ^j7]2RsW<#ӷê=v2f6%cIx܆>F˩6|mUnzZNՍYO,JM-ɚz6-QZEWmH֐"o1A@$b~SIx6Fmp~>@ 8TjR%x@@(1TSsQ?  @ 4kC ԴL$À $6 |\C@#!6d Ѐ~Cf =Xti~Kp 8[5vDF7@ GOVzn. jtSF pPӄ #&ݔ0 $4ᦄ @ I7e @ G j*/ p/7'yߛ߆c;q+@8Ei@ZME2 kU)))FβKdDyon @C jjM=')"j5~Ju]ٞO7L$Wų6ГlJW9\< ҄L}2'L/P"G% GuCGQakr6hꢩRy\$D@aZM-Ǜ)i˛^"vRmdzr Y-(QyǨpkT=\YXE`!ڢZUJ Qҗ7djvz*,&I9Y=N rT[Q[̡sK:/]n(Q'KrGT ?L:IES}N<B@MM%dC4q]@f]ZpfvpC͟4AIcIs*"d6uqZU3T̾yjn@g[Iᄋ ЈMM%=;X0 /Cֳ: ܜ:-,'TOМ\%% d뙩Y}=| 'Kd@" J7%$rE0i8~?_8Ü 8T~F> R@ uyppRy; D@ 4a P$$B '& $4 &!@ |)ҥK_MA !VMdb0@ 8JoO-A@@Mj3D| Pğ#" D'&  $>4!@ $} j0 lA7^ %tn% !$jِ7$[o}Y O PqPSxK//?5jm!V/L`lT1Lɕq4ߑ J/ eᐢcfi @#s5]<^tV"m%^$'5{~djCqEdžhE}&j6+ko$ T00medg/xo*oze"Nw֮O P/Vs 'MT1/м%?T [3.]iVo1;z29aR~]}핿  L)*ևޅn^1-P FS;C@yG*D!ܜX,caX+A еTY]s LѳMD;1ڬ+܁Ly"DplbV\lcHs׫9#pY 1/žDеTY]Wt1}LLr!@ A XM禡wB%v֪닟CGzp}b78>-ԗYW%ـn>J BJ(Qٿݓ dp;nCdmgIT{ʱ,:˸%ti 'FДg^.b@Hp)~Sz6L@+9㔜iėE쁆'ǿ?c&owH^ϖ p @ Z;op]&6%w^AhRMML22@h8iñ3 4icI@ G5m8x B5m,38 @R&M9ssUUUM6  ē+5m۶.y ی E4;;/b4rO`ݺu2/`"'JM{uĉO>$r)kמ\iFFF^^}}UWW÷A{;;vIOw5 2BHjzofӦM7o>|0 WYӮ];II{쉔6h?> j82 @c5eI j !@) @--ACPS@[[ \ PS@@M @n n  r @@Mt#/M=%. DjL>)giqQԒZLϋ @ NP8tZ9#kGt>ٙ ějo⺿ bl(-b, 3S@! pM5k[3=M9#F@ 5F>i-&VD@ u HjJpͿAM9#@&U7}6ĸm:NU;0:b PCID#UF+g]5 8e jʕ@pK5uK Ԕk j !@) @--ACPS@[[ \ PS@@M @n n  JMkjj`@H"y"|F[. @E@$OY̡ԴGeee  \DDJMsrrg93M/@@spZmmm'O\x\н{w3 $,-[9gqQS1*we7lذuV @ K@rnݺIVx -&  nN  PDb &&= $4f @ =D@@c@UlIENDB`n^b('Y"ȕL9UPNG  IHDR,xsRGB]IDATx^ ]U*dP| a& Um[QQHT$8vJ bQ#BZIckZBBPB;R !!Ua!s[{3޻9u|":w}O @(+޾^Ots磏>}++k8@ vaÆ 9}{+_;5Bhރ*ѱs,5j駟~G5Fwٲeƍ?yqӛo裏zҶyχ?SN9n@`@ضm[`oJsg?a^q}̫9-D 1\YRRxO K$`>ȿb(eIA1!}RHs)~_4ȼ}_qIpG~}ƉH,F#%"AJ@9.u;w۸-).bMۿIcT_}M?ۿې= <纇5az'>/y_ZpQ8s?CkQoԯՙ䌮󮍍"kY ZaC(] a D)۹|rqwM;}c9K'|W^y׿: O^Rp@`!}i}{盷 r9:tQ7DK<$9Lsgw;钖RX.Cם/xn]kK'&{׌0rv%bēH_lq&ɗJK~~[~{Sua4Ks>|,/GBV|@` `=Gg}g̘1C?9397$Ϳl?ں.=1b/nj #tziJtoJkgՏ|SJWUSr?D-ST7jK{tkBsTeh8KeK͕̿ON?C^ȟr2J  6dsai풖s!9JPu]/ݡ MީCؚMjS %I~u6|3'?9Κo0|_-EW*}"=vD•xX~!C$o;?M89?㭤J 0 *7a}uыUcncw_uᗹ^oěxHu9ٜy񓯜wW?Ŀ/6PO%;VۜJ__#1E Ł+L q8la k MOqȑx6(Alb.6ꆼMMMßgtjHұbկ&}v{Ezk4AwIwMSGq~> *@F@Dn/nWWU뿊NEUW]( nI|;+53ag20 B"Ҫ4˯+m #/\09.<=e"h'*/ C "$/u{v%|@m;#l2y_&BKNsղ{+%C@`!iUWSh!B8'|K{;'OK o B"*h_K/t`4(!PKL{J9oi%_(":L! T"$/ur߸iӦ Ԇ7R;S  @~Dɜ   @ @JnA `m|l @@@h @L 9 T 4c J@sT2u@ ` @ P hJP@@*AQ @1@5Nr(ykV3u3RA}Yu.yfl^rK6iΪyQh`) T {5#3yu„㷛?^Zp\eЃ΄wxIK;OCWLx#)ןu9i@U9Wq7uGGsgwP7 Tq g9Ff8aث) 4.7n2Ae)Kn^eJoe g[r6cgp0Ww%&LSpZo8&Lp29ҕ9,|*6L/16/֍6xK f 0`wzJV3qr]Ϭ?85a&c K%;WS>~՝aTYc^zo\ڐLB:GDҫl8 _s%f*۷ؽ# 2>(ɻZ9~\˪yt_}hӍ*Q?z̘oL4G]  X g%2C$2; gdk];o7wwUyu "1gmwWh2"g,AYWyux_ DԊ>|&Cy&Ť:۴ᒋ&(.dæDal3挮5LA#$@'p0Y]HKN]/]ۧG+$J{HE5Ɖ=Mu@QW!@`@P[:|U/m!kw5l;l|nyDfzwۄ,,lTI#>Ce3wu@x4 (IhqH;LPU9g~gcƌ8q߰r239Q-C%dDgŕnОK8k|Z ǝ?M6vEwnCg֋/W Hn*ByVEG(h40,eNOeTm]娝ר?q~zIelPwJv3g]LY}kSSFJdi]___LHwqS\bC ,U *lpΗ!Cd:rHy6O8C[<4Re\<4Re\<4.^ٟm۶W_}uGq /'BҀ+L]]B`LcBi(_3Li(_3Li(_xy[N8v$LSo @l=PG}ѣM4lh/ @%!{nI^|7xn$Tq@@&?|ǎل<ǖ-[@@ #3!Q= @(@BC6@ 8<y @%x+A PC}Q?ϑ9{j8M @֬YJES @ yM6 FKVV @Ok+ @*J ameƍ @!ӮPi  @%㏧ @!O<9j?i  @` H5ZA T#'|2ʆ @@ SO<@h1B P֮]Vs_[@L  O?4{HBG# @ @@s+֭؉  & B"~Y @K@6ݴzAd T7y6j-D@@/J9êD@@u/4O9Y-D@@M9'hD@@uI9?Ww[ %qƴOS @b[n>}1;{*n A P /L9֬YSM!2@;FQ__JswٴiӀ|,C P!@ $h1O=ܧzJGr!n)M x{[__裏N @(@jrgc,E2 Բ樫gX֭[sI bԲ.y{Ǝ# [@$Pؼs"ǼUy#/ٜdjqȥ/ﰲTjD_ߗYnBj)*͔ AJ8͡]c* s~u5)4DQW5O'QϛP Wͻ eZ *{c.5G/3đG_VX2 9)?  3Yr%'Y&-)\{P[ 424nQuF-k2 >;@I5V8/jsLV7~+XTYbk~5SLWͻݤ'̻1*"yuR*JqGu3;͇ T@jgU*A: @$h!Cd~_@`YИjQ j @$s믿^uQ'Y$@@ 0ARHv֭[SbfUE~KJ0d`.@(91jԨW^ye%LUE2U[! CB h@RH~{|N8S {TK&%C.ߨ}^xA\pGA@HB@v nܸQfo@2f~aUZ^f)S2l #!@  @(: s@R@sD!@$(  "HB IQ$@!@HE͑  @(HC #& A P$4G1 @ TC*}.Ͼ:c A P/N<đ#GuYyFصkO:$.uQ&@& AH&B~T/NC C~6ƌ#?0o>AMC7;L~Z|Æ <.첔Oرa0 @ BC:c>4hOwq4()@TDHC͛Sg)Y(@! z`&'h5kקqD@JtwwCJp# %@ P,9_G!@(ʕ+X&1"/O޽oo.|WO|x-#ZwM[:N1ԇ  @MR9OGo]wKC}Yߔ}o>gOݹuScwe@ H9V.œhՕ;&} i+=;w>2_k.OrGN6;|{~pݝ[%u1si?<)/ @BHn^&\)CV]Q,UE9=*HP'u{y?IT#BT*wUr@ P&LQС֊'Jbΐ_ppX~(m1.u;^۳}.ξ6؃i=Vd}G*Vۃ`e"[@ iO4˯ o 9='ranl}{wP Y^ۍ\1ˏYS6F%!@e$s׿q_W~mWǪ}>v`ǮwNwӎϿ)zs;:;/cM8#wƟVۑ\u{QW`}lq @17oNʎ?>ѧ}^B P!/BTQ j"㏧s$kjj@ PuJ9R::@@ C 5@   @L 9 T 4c J@sT2u@ ` @ P hJP@<͗>36lx뭷 V@0z׻>3qذa"8: Lp*2'7,<ƕ|N8?OOc@J 9z)kyV֦'*NfSom8 q%k+Gq|AX'Pظq\;i%%#3uHS_#;7')/?X@RjY{>c\uFL H ~bz3b>U;%*r 9dYvU[] :4|kU8۠^8:CdTj, T)b5߬xnXX$<}fKw:H9:DиKaAHM4#qjϾkpr;-#|>#RzlFW? PJ9$m&6EF!c5D~"Kx&ֻz'?3JnirAam_LY@N#O_ڇ7RHv#,_b&9B*^u;֭ɖۮ?W}O*oBFL绛&N'{mU4dk|䋞m_޽r맟=_N^G}s/qL?M*ab>p{e\9W]:^@[/w9hh¦礗K9VsSU:;RUگ@ %¿gf̘ ~¼+~"CMQSԻ7N9nhr6VYz_lɜ{_ӿ y8M7tקONްiN[nj80YWܼQJvvz_|d8-NDd!^n*^ zW~ai/#,Ջ"GKIp\7W͇~t}҅7ڧ%]׮p_|?;h8qGֵqUq, &PKEF";?˔^9eW37^Wq \.EM|M?mS_vp[o>{Ǜ|9*1]Iln}">{?2Qf?>e?nt.{w/\:$y_gFZyHLT&;>pܷ͞_J✡"GLsksfYko$>y%|s/jpVtݼ9ј=}W WW\ 'hbh;lo\_݂ _̞'LPIJTlpNqN䅢F="z m㹆'C_'8ᔑӳ兺!x01gi>7Ttۗ.s۶2ۻc3fG4՗qyߜwo[~Z)ThCxZt\ڛ<*#4SGtoy-#N=9j3&W9_|yS;ջ%UD0 D?nAOl˭:h^+59ǪG-?wz߁>Dǯ9LbAȓ@ 43g;ɖVWᔆ?i}7}QJtu?sOCNҋ/_}գN!g]BO8Uvtttlj~~7={JtV5m}xUpGN<<Ǻ)?PEIإ.YOUj˟0_xSbzkE' O8Y:};)<\sgCj%~YͣgeOg6\>~Z'ղauӼn&B_o?v\\%?5I5|\܏+>}fϽ.fgS`;#]Wv[" 5!pl3[,B.`Aunk#S%D,;⋙~ \# h& P[gt^vdʘs3Z)zR3%}HsY.d{ =uҳh3зs[=wzAsf,vMԨ )3_ OV-A\6JTBqR0/K޹7MS;׃Vp:6iYO(6n2_ȣ G#G]{y2㴞TaQsJ+GvՐ4pNzr#i,ucIVu/.+Z҃4Q嬼5eJhEh1K PR(7ו((k&D0BY;?cIZ/er2dJz i!+>jIQ.XZ3flZyzX3')rq1n<7P8` xkIN[ӝV}:z?W1亲%/b %KwDLTGV?r>~f\h' JP @ n#ӄ 5@vZvvuNGVroc=E٪{Ldc9TmL%^rxպ$Ԓl%Wr$G OLr&TOI!@ 7k荳e7OmIIOs`6wʔn4MT%E'V^C(^^tzx-Z҃4[J㈣'**Sy10cXMx '=z PrZ8dA"two+φ_w: Gcs[63F2E(d8Ϯ}Fݚ\n^4ZRUigU[$ Z|/x763DC?rk,!M Nc---d-XLW0*F k+k4A PU9@!hL@bh*B 4G u&M T14GwAj@ 4iR )"+WXb%@`Hl 4:hw $=* @+k+ "@*AQ @1@@%9*A: @@s0 @4G%(S @=׹Ǭvy,snl'u E:'Iṷ,jX936j/SKMø|칀F\@4G}^vrŝs3ZYzR3%}¬Q9:u]X䌞Fxtm~Ng(,sK',X8M҃lZ7^p7:3mJ 0 _s/miңgm\-d:I=uFcRZ۸ZSRYʊhY٣RO՝*#0e6bq;+Ju\s`c ϝ'ӏCj.isKHQo}_ C֑(UH:/VQeFM+ :Y%~πDvT\1uF+!- 0T@sϪoѭ({)f+MZ*֓b>g)[G0+kTNf]>79/v/ltw:~Ng(,ebJ,qIVR~?TgL=>B}iKf={nsny&M-KuvkmkMIezw(+deJU6>hvaLa3L<:wXI A[D9  IB~$h沧"nQ[+˹ZY\Qf+I꥗7e!H #Ry$A㹘(l\W! 4r,^Ott8gm\ڭ'feJMÝs3V2@@D~fXrX$x\`cKH3Ri*_5tis_m-ZF)-kuш7fY{'7&;[&w]ҽz:=wv:F<Ϥi_1pɠړd\c[ aN@5@#dY&lx֓H:,iE[JeeJ&QϏj~;? aO'XIZ`17RQ\L3'4ВWFwIUdhpE&PP iz(1R"9 0jҦd :2%*QXΨFc@@4 :YEflh֓2C\{5+TwaVnѨԔϴjn7i "LMӝ6?g9?u4śszVJGjWs%#&Uq S> N(ْR8srT4g@vj\;& }q:11@Q iUȎ❥26L>ē+, A`sp+␔F+74FH/&<,5cHR"-KulYiY$̎`3SўpX*>@e _sԮ<8ݞ]n=ok+4vde*0RD?Fx[1 k+iB0ᨹ߰'wW(@z<|_{ cٜ9mŜ9XG2'C޴B3( @`Z8dA\=;6waAa޹H0y[*t>' 5= 2!&~  @+UTZZZ+Tb,' c}M|%" _ʿ0 * 樂N AD j5M 9 T 4c J@sT2u@ Pge'MG@V\z9*' Vkb^}Ca''%!@+k+%7@ @*AQ @1@@%9*A: @@s0 @hEcV*Qo}_v20YGf](疠ܓн&D0wܺHeAI *靰K"/$l_U!M $P>uFw:b$LS6}nFk;mZOqo9Ye *a][?ԯRQF4(:f6&枟E3CNi*ΰC/ I[Ӹڦ7%XmS^4Θ궵 @#P~Ѿy;K=s]T޽y,GOزT?l'{zӪn;ѭeNAYݔ df5/63x(*`Q sSPBfibZg-{ YOSw]'{anF˚Pʕ2Ub^~#Fo>V Prj Y8^&fkaKdb3VS'=:3}K1; nD=J XrX(c,&8C&FDzU|1H`ciRq8-k4W[s|wM%u'!7AlZ6n΂v}deIp8(@%P~ī܍gzRjnQ:@fٔVsիm ja_ IOE:S%22 qas(s-`%Mf9+/hqQFӤwTreȚg/k'-aXDC@@TLs /Ov'E={af:sBHQ2V+曻k=Tf>b1!fݭ=[ 䴵i9%L0kG}kNii۞w9ZUre NZU_'2`der1b@%%P͡fVU%g\ZOJodlg]*tXYjd 1j,Ǹ3ژ2%DՇ-N`\N#ڕQ!7)7H-%-UKﳕ嗙᧢R# @Lʯ9DpOInmuC;''͂zmxaRi|oF$AURzh=Q\W'b043`m%GvDg4&\_heŲm19Lݗ rZ8dA=GNAO}4̈́a;靋 Gk<<krHXŢz ϮQ=QcIfuβ*+wm+Sw<BF4k hC$~38 RI)Oʡ AB h M k+$C P"h  @ @*AQ @1@@%9*A: @(&M# P+WX@^?+[510HINJK Ғ @vhF @ e @ @L 9 T@E4GϢu1oU,sny:0+B9U 5!py|^s?l8^l1e3I *DBC*թԖ歷*9*<,! 4[gt{)fKMZN;֓b>g)[G(r+a]ȌW?xuFp#otu}}G s;&Ts'$lvBh7%HMii4Θ궵Ё-}^( b%+@%1W& 58 UsCm'ƅF^8iBstom~Qei/Lsk~\dE`3>~ĽVb3G*fϪB+uǀŧjYPkav@qcsshEF Aa!"{A3/B(W99l_8^]kct8gm$?'%J|vޭlz7ufcv\ݭӣ)x:pnXu$9>rLz{͜,\%t;!MYS.mֲv:erjcRWmx1O9g2h˦ŮԈf8:Ews e}C(% AE@I#.kD&f6OI,л@zHit=wD^}]^kc$m4$ېyw] ~ZKQ^В?"74S{v-K>nɦk6ji cq )^uLg"{1VjjonbP[3;8-n|7PZBowi}Wy'1%slikSZJAI%kΌV}J/!O`8]:RΩ#W7+9,J@J|wp+U{\[O goglg]*tj%7Gk7S7<jl8awvyYApŇca{ OoU5$\$Hu^b_ 0 _sȬ8]C[O]oPk+=6+-ws|4GP$ZbC:;s<{f9gf Hy @@@@  RW[    sBҸf 0-~*Fܹ3A.A6 ԭ[EwѤA@< `94mq֊jK]:>>C]wfPk׎?^PP0xHKvqިq={mֿfa @tL@ V,bZd6mڭ[77M~… _۷_֭ ɓ۶mM_ :&`x(˗WTK7lذ hZf!32;LY0v1cI=T 8:uSΕUfov>PpaTZ˖_-e;v,F,=o8<=yWx#ݟDh Ͱo(ƴȊߎ3Fo{Σ( $0|r6<׋>Z$ _ Mog]~~|ѣUo>Snǟg7 w}GN,-1a>-G}._u:^y4w Ț'םox^i+R[!-WUxGnv+9f~6EReԆa}Vꚾ  DSu5o2^ԴQD;Nv">;N;l~L yqWxl ڲDŽɩ D[vP s.75QF#Ko 3e1sfI i3wUjM꥗^zꩧsR>|5K,v\W;骈( ep)O֍v "*n,mnf^@@@LPA=W^GJѝ?*ioݽRޛ5z˥W|EoFHRdVaD *h i!k#ِ*7ƼЅ,$br4(}5M>7ii=X6Ѭ"Bڽvj,wI.6Őqa؀{g+8vw5d?)/RX wWag[YSb^wGߜz{2[ެd9s;'Rhj]-*T Vpk6]C.5ש.+)Y sdλR/j7xc˖-o*/9swO֨u`{3\]z "s2.{®wNWjqd]cxEx.s6d3qCh#CvZLpjW,%$tjk͊rݤ/A APMS3F/-Ԯ%   D   ǾCkUQ!l uˎةߟv"!ܓSݱ)L y^kw1BX}=^~ZIfHʂW Ք7eIٽuE\JTQWM,Eoz鱑 zK;kq{$5"JasiM"^ɊXK]y&Uz7Un=?®J_b%!WP`t[MVAɻġvKJJ5Vmc<\q-h0E*=K6v-r?P@@"`"FRfD^:Z^.l f/ N>c6LA#Wc[zRU;idf~w$bN,QWӿ1?Tz^bBXή1>Dbb?)٭Yu׮+:ebtfa?Ppa^]t}naIjjO?֮n&]j[wJ8@vv6?%eѨa=*vj;w\ wJ 0<:-Y~ѰaT|ǤE~-h?*B  =0hxG1ھUAad~xu 5GE<…&n:< oǖ{{ȣ*(  L0:m+Ѭ_]ZC=++zߐ Z6oJ+ 薀a-^qb5qo~ݶ ++WCVʞPm)C& p-eE>|['b w谇JE6_6A@$`}lsnD1_˗/9茀aT9_}V9   B@4sz@?삄nA@@ 2,^@@@ 8D*   M@E6@@@ `:o'    A#-4p    @D#   " D, |0G@@@ EIA@@0As@@@ D3uL   NZ$@"@ފ7WYMߜ<w~\JMk/1(e"Eﴗs>ɨے첏IZ/lf~$MfkΒv̚7o\fֱ-_|1~s^ETK͚5j67&ۿy36o0PAFVXS,Ao[\JQl2ޟ="e,/*ͤԥs@,'ygL(gΞbnI~vv^K7f? <D8:=I*ZkW=ToI )ҜFz!ss&Οc>K=79,re #HHPI^Lt9k鱖651̹}I3-b~ER5Kji38|N)ɫsO]ʂ@4KCs2|bYA4c4?#"9δ0MB.µ]ԈOH/ 'Ĩ   ~ؒ͛Y4tE ˰V&Bh.,O[HXedC+ɥMEY#l~&=k[PڑDk@$%#]vűk:*   . $ď?A".!;hJ^ڄCe@@@j11؇U+{pj3Dis^Ę=~ң(E"Q_v^CE%p)9Nq'=-  #E:'k_ @@@tL*]5:n3   ݒGHw!p!1v4jx6;w.\Z8A@@B3gT֮vqEB胀i9{>ڏV fspw& BDt   lΉIkMA@@@'ThhjZfh@P ŹjOH;A+/-^su-8nE$a@U%/0~"HA@@ bk OЀ@ԋDh(@-pJ^$cÏLE0    P"1ѱ}Xɓ'@@@|'P\\ta@@@@drJΝJ;F=V^ĉ`    >u"1"">Gu"pҥ;6kQk)**A ~w ;{Sr6Ѱyf_|.@$:uu] 4pFaHI&gŋ0_Ms\38WAUex͛k.>>^EUKRW]/ FqKK    -0jDE([A@ˆa^1 Nׯo߾}.]¢aUUU֭)84ܷo_aaarr2#A @tC@n Mʹh"\%**W^ ź7zz?@@ "8 4k׮K7zfa@@ĪJy .4m4uڵkC'`wЉ蒀XB^$W P̽{޳g)]\E L#\D d]_;wYQOqnKΝ鲚|}7%@ӳ1 tM޽{KJJ·9蘀6nܸk׮;v0n:>4% ։)cfzdꏟwUC jn:B7Rq;2M,9\HW4{w|UA@@XoZL{n%OϨa׻^[o!6eɮ'QY3\bIq%Ovb_Ad$&&aÆWؼ?ʀ妫"l҂H) )I 6[ %lZZIH:ϢuRMZdL1:1i~E`LBB0jO>5dxE K34*$…ֱ MSX$Mc4+cx+Wi~8`@@%`3oШhѢ|[G37nLNNVOP:dFD'D7)BF.?7"{8`@@Z0:&gg4-c!+DB%"! bڱVgg,`pp[AIQֵ3!/ @@"iv[$M8n]; bA A@"kq7 V6`w7# ]Eڷo_XX^` =7hߩC-*  3bɅ?s̾}¥ = /\b8ǩߩC06  '+s6h7t-[l۶m-C Μ:u\nЍEϞ={ "wuW ܵr   ðfm.-c,((!*eaḁ( kG6$I,\# xG=Y~2jDc<   YE"Z5$7 NA<   AD,ތFSA@@  /z}@@@ @DRo   zv5@$ Z@@@ fsx@@@"a VEBvڵgϞ/GBF&P^n[n;º-Hhj6OnW\٤I]^Իo2  3~_|yM6 o7zD]MnTYY… zٰaCREݍցnЀEVLL m֥K]fGI1cnsn=axzq34'Qv}aXm2iݺuw3:}5L)R@RZ.]j֬ց d4Sz"rMߟ:@@@IN:6aCzקhn r6ÐzoUm BIIIffD_+D@@8jܸqmڴ<Og@0v5t5/nnZf=pA@@?LYƍu"F5 P&9D3[،]F}W)/y?40  A_>'''99y_]/˼ćOiMw$@*m/ 撃^(\@@@L݇9 C)   YDshOݯ؞^ThXi:O*x-C8]_CyWƢ^{gGdK" j]6̡Qp3_ݨvh?c##EQT1繍=ǵ?9V5IR(hP)qHöw @@^x_}UAk^k[ul&)َ^ٝKAwAu4)A{^|E.D5kB tΝ;of6|ʼnSrp\ޝe.΍K~C?n:bS;=KcԮ{`sˋe_G6ͷ̘.ёqcnZYlev|0+?Y>ԑM?2MKH됻񩁦@p 6ߪ;u4zu!s4.NT"eV:&mJI-;r&X%96l7%R+Xrh);=)%Co8Y*Xb7|ț!wc3)DZ/s4.&fS]jt]jDtRLHnDA TD48)3+*CL$Nu+? ?.rLS٥KqV9ʱH> $18"6u.g/Q@@ P*O:k'II3(ioBt;YpTWsRY͗J$lVY?_pˍki&QԷbFlgKu57U]^caoxOd[l\C Хks$F =Zxbp,=!ڱe=)nבi,'R1~h6gddbM=;7UoX,nҊM͠.z4 @@ 2Xng(XJJJ>qi]cs?vCI8O?w8x;CqƫL]a/I)-vGl+[)YHyi7[>^rEq#fŽ8"oFGY 7`@@{|ͤIڴDV(դkzC)b*o:H|2) yKy6C:Ȗ\۞]/3=26v֜<7SJoRpY0y5&Cڱ`0h=  B0"`裏\Exz4*|E"P+BFX |kyaۥQ nE9RXy+OG I\,eB*-nР!شj@s@@ L P^G_^Đ{Y0wDcϮ̉ex+H>y3P@@%W-B76g6Ea>;xH@4򜄇UQ\zr3|6 $Ď©8~ǎ7tSmm,[%HmM_{:nv @@@D@4x@@@ PR7.GkA@@ @Tw 8<`5l    n FMx,岲r׮];wʘ@!˻[tx`ը7p^" dM4E^*kјo߾@-  ':ut-zk]^vnl  سgOii) g~hf_KZ֒6o|j, сHh:șMN8A g#KrvAj-rJqq .^9G@@@h-y7xcFh>laDrϥ9;0\z&kh)ɤ)w( @V 4lؐfgt)D ɽl%9R^^Nmtg"CF="45W!µHe9[uߝh @h bThF@@@"=WwMCA@@@Eяh+"pq?¿3h=.  OG~7!B-Ã-\eFC>}7-u @@@ Ba[jץKzE YŽWnݺ5y"y"8Tq<e+N:5d]Hh=ǒ%KHtԉn^QQ{JA@@@ܺuҍ8@$##Ӝk\Q'kڻw/?66#T9LhxAz-=RFje˖]jf͚<   E  9臧hT۴iSΝqK4Oɢ<Dz={nvnnZs4vJLL( D \q]4 \~P^$zw||<K^ӼKB옉B   . xEFO|D[E\F[x7z$_sJvCm   G+-7ʕi<o9_? Zpw/u#\AA@@6>|؋HoZn(ʏp1ON}thR>Y vS3Rcg   N -bx`Ƚ7j0`@~zڜ-*#D̩55Gne/~bڜ._C>pj볗Wgepkw9%;UI   P6n8e=T#'Tq(V`H ms1gYN& Žէ^x]:̊?Lu|._2nՍ[92C.k%@@@@ #j1[Wj?CO;P=hSאjYkM؅河g#8q׽k5N_q]a*faH_#RTE|"uI.>Ao'L^Q Z4_-,l1J>u 1 &==hBu[%XfNv}'@xE̾EnMܝ?;7}4cC<#M%u܀@Ffy-; } /ufݛO=ԛ73rd:șuri15_۪-ϱ[>~#˪5WSǦp{/N T0vk;a<)sӸgn9{g-7vOՅ%>O>F.ȅr¾;xS׎{ ҴC[6KTQg~O|泗ݩ}g^KqOz}nx cqk ^R鲳 Δ ?4QBթŋ!eO5H4rՆ۷oȴ.[zEғ{/ٮ;Cш @@@ dl߾S-b=hi׮]ȴ."O׋$Ď(H*"!=m-ҶmHA@@FĉE ,^A#dZѠc7j$H6m.8'O4ax`ȀE."ݻw@@@ vi^Ƚ7jQp   N<"^SFEƎN +@|jsz?Z   PD3"A@@\@^@0 2XnFXoZ&PUUG;wd2ղ6/b;vعs稨(xv02ǒh>9=wJJJrrr [;;RکS*"߭)bfzP/EoQgQ8V)7EP`@@LǗnNmK=Pȼqg/ͷ&ReV5:;2/xol~_TpUuK:`< Ir짍G㇫q ̀@@ ;V\|ǥ2K7]~f/'L5km6KɝE/Jϲ;wVڛ wۄ/:PԒݔ+y?%7]jgxr6IuVZH2P\WW<_,a@@ e nmQ=Ml啳'^4hu~OwEgF̣Egzt;cEˣ<@CTk)|;Tٺ]1V.%>bV.&nj2;k߻XT!$^]0jGɓʏo;&vz}gt$[Tb]2Pu乫tyZ F8yb3-<;`aŏmUoqEyHƮ,z7Y)=I3 @@By^e:ũ $ul'5Ea{ֽcVvҥ=n2ߺ1k)tLwOh t1;P3~`*'X"i =.FEEv@@{c|}c%7)oݳlmOa-1GiA~4"MHABe1ZK=ú;x',>잶ՂݒB:P3EEv(Cr4_`@@‹{c\zc3/זѯ'(7a@ZKm[{*4JBv ؾ;"V-r0ZKYeqOY:+ʃg7%@OЎ~DHnc Kxe19FM%5i3T%_tݾ(\2i)φi#Ѱ y#6CZ|ԙN4BW⶿7w* ZvUraue~_eX.L٘XhBj_i7Kxi7>n"Zċ" \Z%}#eeeHJ:N?`0ԩS~B_դwZdlEK0  nhށd$hEh*!RӪUȽ7"/΄3)/=   :DzqDH@@@"i=@hȋV ,ȋDV   jD@@@@ 8 #{,٩x6/d1;l\El~@@NH{@ bT-6s@@@ r @Dnߣ    H:P  J&hp{4@@BH(b%`x`݋Vjpj&i|ryyyEA իפIΝ;wI= @nemÃ-\G-RRRz뮻.))֭+(!s-bdJI:@ ΫK._gWqkٲe>}:t@~;xAo򢚲ʞ={xFD!+t<@#OC^+iР}}8:"=(gd2Ω ZOSJ]ri2Uک2W{>GDm4]ݴiSlSu(.5ȉgA4yEC0  xE|uJSԴRP坼,AC\TX _py?SQQQx3@ zwU[:8o[UE"kPY(¯C&&L\叧*P8  tCܓpTʡQA@8Tq)2]MC/:BR9KIo(~J 8ʋAP/ыRIc~I)u5n{{ooʂ9RR෷r[ޒ6*űjnyKLJJII#T%%m!rzY]=4 Kͧ>qל]WJA߀!xO@4QV䃴RLrA,>7}<"в}R 5F#5 I$U`b~(2E)GO[%SMe$s_mޭ[r/οm[^K{BE;zpו_:Gn?. "rP[[糫*|a@Fϼ`/BܾRm8ߔJY1 ] L2dݡ'r#ǿNoi?mI LjAXWVǙx*<̕ h!,L']6T@Ɏ$YjjUoshe#)ȜmKg7>7*΁gk %fDg˅[NTСwfrWL@u4/rY(OpK\BV0J\IJkQ" KT_JS6?Vtd2d~'?eiW^TJ/MEKuhc:±߬'Y1{%8im pLwX!d5nR| &JlgUY :i=fS\Scn pϔ"V9_iGYrf2wsೌ}/Zx#L$%iJ&^s;uD4w踥#wozg+EHJ].I>9`_p ~$@7Q6)*3D=/~U,-[_=ҷĐR@0/fajU}Pw#i;݆Eb\Q^AaWlK' "YUYe6WboCFV%ґQF\áҜ-ٷ9sv/~L6lv_f-@FXR]QA4h{g$R0 c&g?~;×[gY{1UpãoO[n9w*{ĵoc2W^[  i㘩M'NϏm&,#t h ݎźEdd x lltKAɶ͎fMZUˌG?S=bR~R,';gtУ ̷ u~x2)e΁rOs*\٠'kYqI6~E:b97uW/##:u.#~?hŅIu71e;a6}a˛NRM{M14l{azÀޭl>")^Ӿ0L9eUuNK:Ŵ4$Hז!!Cej92TJ/9w|3cqjʎr]7*}4KxI[[9P [K]VBwBsaÃ)}٪a933sʔ)G_b7ZłZݺMZP_qku76kT-++g\!R1++xaF\5V>S~g.WHUIe-Zw:!U`qZm+xKv8&8~5m\rNMNyJM6';N{G^gggkZ]Jo\gRz/ZG-B%1XSCܑ\^+)%UV\L bϫkB- Bz? yj 9/gɦS:/8㼒?#~>C^Y39,pX;z~eikʥ6x==FUF@|"@Zħ\W]]=J_9^:ߚaMYՁ|y3L@ F$\Cïˉ*@@֋.9<"v_xxN⋈n   9D==y [z N  -B    !@4HpW'(-r~2|W:dK*+zZK-*>ڊ+FimGʱiR՝*.v"sxv;SIJɪ\*DVֽu@@ y4왴eOM\0*_e}VIF-Ht(\sIe4zVK5*!)RT6'UHxz%ȖkG6A!a6ɣSo8zQuFV9W;j>$ UP;@Ue @@jhl<e/˜eNx)[S 6꛹K򡿾FAyS/C<_vMtJe5TݫMVD6.U`~0yV7 !! 0EL%TˮB8&H,drU:$׎I26^v`##4,nFyyNfOmۯJ`n~͓i[VJ*zSK5*>|[5%ӢuAV^I?ٵW3fl`YJDeCIea_֕fL QU/vv&sy6iBC>;,_i}eZ-K*k Ii${eqq=ĥpw5 IRfd*vSW֒'yԊڱA}mq/J;o[S3\׍@v ګ9syzUw)BCoY`(2$Ojb}Xƭ[#JQ@ոNg_ޕ; rgZN@>WT:'-yֈX(^SIy\jް%`x@SV#w۪%}pmNZvk ںsHՋD_DɽlPSX ʹ,~ @x1< QxED9: B1E<  ; Fn@&eP%i  ?^E׭h h*   $@ZĠˆQ   aA&hp@ A@@@{eo*гgOZG//C]_yyڣ Qt~9ϫ]vi_0.e3zMDQ4LW.M_п5ߔ[T~Y>U""%j4}8:h9 6v횬3d<5 e?T\LV9rG.:/8GyuU0KA@G~xNo||ɓ'4pLcȣ2[Y^(_((D-s@$ DpER+;:u}}F@u<G~{eeeQQN/(W]퐿Us!jF96(C UaaaUU}}8:"QQQiii/^+))IkeCs(#BS^Uq-+O('z :Tv9P>)B8pҥK1z# z,^SÐ bB   gtt=7mqEp#  z&@EEh8\$; A^D}쩆iyL(HлDC3=h=0   0G "-a^5{Z]( Cy D 2'ՃzZ(  !B@4cHt$9v4:ЪѪk"O P^7^ʃ 1[6p,@ f</@@@Fh &@Ips@|"->T=y:DH&(/ @@@F@4pчc @0 y4   Y   <-<    @ϣU   A#@ycu48@@@IEd23F$H6x)UpQEgΜ.ʃD $v49bn?5~'1b1)ٟAi{b :]CL|/g]iwʌkk=v?_W\(]QPDq9,&:(T_ZPH(ikӧ?9%:WX`Q0L\U4$Ph&֭[4ZI'tҿPk  JcB&wG^Ypi]=v?u;/N3Zi Ac~۠ qh23uWй.A?a8Ы9b5n^HC%h+T#5.nň+{\tYOC@Ig)R.P ^ ̘ٻD@G OgZV-tZvܶVG?hWe韯 %?&U{dXkDֹOePmmLjˍ;}99~hc :?X0 a G7Wj]?vG W-_PF ?O@=P{3~OelsGfyȊϚ5yhMV+\pV7\-( ߎ~zn̨j>#z]M~?/>٧[(A@cxά74@z7>`'x  ln G`H`̙ S  B   ,FO'?'SzץE?z   |HYd< aoeT@@ P0Vw6Hi7d.m3?Q>%܁   }>?kv@@ S  YGO8* @*8u*_@@@ P,kuT@@  -N3  Hhď~dcã  C߈Lր'  g>|U Ĕ;_;O?>:?-CSi+½e\gƆ:uC<,Ѐߦ x($Тe;E]=O.عjұEJys"g(7w񁈵tvw7*7 %dVnjGl$@;=u;kXO=ēГO~BM?Y^1y%#z`QƎ+DeϞ"-2e]l'Mz븅LL06Ls+W>7֩76"3  GEyb!Dy+No)ZRL)PK>YFJv.tx™j۾* )ÊU;mt]vR ==i+:}d!۹!%{RۋtsC =P=z:fs+E(1i=ۏ0㰛   :tKt uJAYܹ> o.PmFhb")"vu[+t:¥!={0<{SHģI׭]Lyk\B}n-p2, $@@ hI4,-{щ,E<> #l4D?ǂf)Gg L98*=  @`Ƌ]-ոfc42hN@,qNx>kԨS*kCfCgm:E=>@9oKK.Qi~g|^xgڷm(毜9li-C'yhof7N( C;HF1):h8`70Ѿ:+x@UδL+M6رG͚5 7;}7o$abn78'2gpxPꌘ3 6mڔb jkk{*?hse%ML'gpxPL TWWgFwk֬ pNQnsǾ}S[X$@K('6mVOgdQ)H]Bf=w{MHS4m\XXh'k!MQm9+\v]ǜ,LCfIa 4N % @d@w;Be9].ߍD qp&FȹNvwN  @`˖-!/t!q1  13N{  Oa*]5غuka^wjjԀd5`L1mPy~!/pg @@@ $oS#3F 8d9Eݺ]׷;vD4@ضm[\Wv~]_  1!JS0޾}{LfOC.jT|ٌu7&%7800uVwT@@ Fs^֭ Ns4#7@@-e]G0΁$S0s8czI91^ d0%w0G?3gj   #/wpvH0  JvA _Xg7 @0ԶG@@RS0o-[Rp@@җݻCf:^7"os'x:غӡ%?S0޼ysW@*8zhnnn۶mqa%Ι1q*.|H {=[ha/yMҢp@@REbrK.>L!C|8xhѢԬ'@GiҤUW]լYPneʼ@vM@'@& ~Vp>[jծ];açV@@@9N@@@M8ބ@@\s+@@@@ 1V@@@ $ctH2IvA@@ `8ZuHi~iv΁@+uL@|y_t׬YCFܹ>srr\eQ 444UU\޲@ E^˝9|peeM˷`6"U믏;֭['ܐQlǎ=zp 8 !uM`n ,8s;vR__駟^tEs @`ŊzB~~ QuVA-[LHLu޽ѮUQҁ1{@uG]1e?ibXz۶m.]%;A@@$}UڵNL/C]6"u S_@DOkUӜq:N ϗ_~w}G!9N젖 K@@ 2[+HYGSC8  D:t@3@ZL>VV/_|iNp@@ 6QN:¯*F@@ m 6mp[>u7f%LŒJ9G*l,GGqT(*@JdRuF qE~O+>5@YSSgq=jpAϭȬD&dqQf&$ӞsYC^8vb6Osz30IhO8ᄋ/ͯH'lVP?n'}̢Q͘po6HI9_;%i4&p-=j )EߤIL7|>OsuPudAy!8>Mv^KF =P=zfsYM,]T$<6mڜxs9]t?esSXg'Wg,5|8`hAȻt&.[Qz,cep;Bn^ #jAj=u-,#ɍVi+c4>EyZvff}f^)Ȅ5L תc2uo [DzSVX|䁙g37L-}'X9suқݺm~H&U64"-jWq|ܝP@@ G~gD{{n)ݩ!Cԟy^bJ %j㈀@w 9?<@ii2:l@@<aꀧYy=Ճ  A 7w]A-J=ѹǢ'$ӡ֞WPCeRGg_ FP\SO=uiWo/+ӮR0u #@s=6*&ir;A#܆  j.]v۶m 8ji[t0C.AG678|E8s9e˖ra:U[cƞ~2Eֵ}͛7S$ꪫ5k33P Jw!/kiիL7b6'y H$:M遌('r6%!tY xMvA@@ @cL4.$ c C   `Kk\( L    &MI sWHA@@@ :a@@>T@@@HOD0    ßz Q__tnϞ=uuu     ;SN⋻tξ1wM,^dwG|Ʌ?яz^P@@HRGJ i:ڙvZv%%IP{ȑw}7//6m 3#q  "@V6mhpw;vS~sE8(V~[vOK,9zhgA@@ ~hM6Q~ܺux,|74{Lދ^xa\@9ĕMYRxX79{mѢE$s?j4~c?cW(  iDZZJJA@@_ DdǗO cޫ ־7.=*!e{) !Wzk uG9N"'~D~B+Ƹcrݽ\5S_d:oNta_ga[Fמz嫉q~W*ئW 0+Yzy?\KElEs! #0vXu8ï4e7(2/+)N}C<04qbZDL9XڈW a]?FQ[׾/"svlG泂jmBRElz;[0x&*')=v5js֩G96tvu햠ןcs5ByLFeGrO/ @5v}b߿3ji{ٿ)lG\T3~}݃6"xv0xGQ˩v~k6hx7G8mƺ`=,{84Gż-O_ ;Xw "j!Kg|ᅯ~fvw w=mGC 1u<o8x  Qyf?[f,j?rZw@R݁JDZO6;E13]f .>ЬqR{q! yՍ@2QF#3g{!"4L9mbߌ~wf   ^ /&^Hr[6HyYpW @@@mߨ /HC9_vqѣGN:D#8P   XlYݏ;N_3:~ig   I")I,d9Tx8븣   mt+$"Y?'seyرKv  &P__jժnݺ5m4)sΘ   0N>8%q8'''//oŊ C   s}~~>TV5¸g[XXx!zW:N7(Ö?[(ߴE^6mڴhѢ۷744ģ&   %@k۶m_|͛)Q8S0g_[Mڨ2ؽ{wMMիكxWP  4J˞h]vzjLL4}?ca/i56x&tĒLIf͚x|"1yu*h̝^vx,@@6_$fx_xmfrFA@@ {?   5B1.v @@@ [`?lii@@ e `?m8  -q4   q6 8[ZHY]̢֬Y?\q@6< .cǎl+g|茌~rܹgu#ˆAA@eRu믿~53S0.yfdi۷oO?fyQed!  a26mJrJ Ƀ ,_͹ x˗rmۖc8z  1i'$܉_@ygD}?cEC!  @$JU6x0mܡC#3)w}weEPY y%ҥK#P VWWw%*JNbnuڵk+{  J#ˌs.Sƙ3P/"_vq񀛜1d)z8.Y)G~ 6DJ `|9c?W~?_:[ϼ~tM;سsD<HC@@tk׮432c`n]vt2z%yls76諭Z)(Ȇm    `C `sאrZQQqW,#+{Aە<2V\>_^>|03/lGfnKbĹugy~n4(~  %矗F`~ۛ7գi)w|ī_rO2_p;|5g@AŊGd˿jw&pڙ}Q3ĦG?W}_}Qt =~z{Z!G3U w>]@@A `(jp.72fk׮ߠ]NY飐UGH5;I6_/!p-m  YF `htNu`cU_VwnS.bqzݻ+>&o3Y6BvkzqЎH߾>~+!v<#H/i缅"6u֭CRפвcv걟:xU_8o{mSvS;fʡ_k_NYs|[8.Ku}^d/U3g-3g F 'aÆ3g_^mѣ ϻ𼓵26wwFl4y^Q@da*jFU+i@&ߨ<'(CH.ۊ}s0+[=X'dɒȂ[j!$M"31qr[A@҂@~sNZP   D7o,3wIp3Luq4$ ]3>_%X"e˖WߘN|%3ܹsz့   x_ud_Xt$a0.g&Os0-ܒD3$[oY0q"k[   mUj-;uQKlb68< @҆-tm>,=v`56 g65@S4Rd*}޴5c(02On:DkyjC:qi*`+%ڰ;cg*P[hnuE P̅%(I\D%͌c@@  4:l9-[C\F4!PۦM[.foۻHR`ˎRb^6i/ Xsn- *_;?tp-m[/R2':l@ p%okeߊK/JGwsɮ UR:X'y>9m:+9|2ZSFi<|Pt6 3-Oh!-?v2/_<ҭ#tյA5H!wI6h|S ldSogu{ժ~ky )oӮMܕ]%~C$ @@ -x :+| 5;^/C{iC(:~ZvT=ymPݸ\ت;Qfk6[)ٳcg =?? |Mrzz!i|%7*+eXQ!NxEhtbj4qm#ǖ'@tO}I7_Ώ']jp&5kQd/`:; ;7Շhę^H::/OVٱ]}LǯZ;cխ(/\Biᖭ×?CkT?*eK޸Ķ}8@ @R{=zE99~S=Djw>>6?&?o=[`[$4eeqyi*eEhk^OdiVWzڻ<%)ESfM;vo |%"7_`[nIA@<8xܹs:;/77 ZS f4L<+F5mܸq֭_xЏ13 P@2m:D6;8e̱;:-A#b۫8&@҉eyyyZz5y3{HKuJ9@.F` q:}+Ąd'ݻwٲe41ؾ-ز/汘(E:|5t7JbF4#@hxϞ=ܹsiVd{I'ђvڝr)4[l }ė8  L9B!{n2=Ji>I&l~   d8   @s   L~*a@@f !$_ 4&>l@~Y@@ q[A@3.  &  qwH6g}'`]@@M'`@@ `?  l8-  YO7jϞ{=+W۷ε< d<;OСCi/*#o?vQϝ;N(((^ӦMu+T "_?[LHU( hm@[SSs͛f M `gϞݺu뢢-[R$etbr6 %EKî<W}G=; }#F@ b19DNΏWnvMe W6cUG4LݬY3WD| d6gzj鹗>(meɫPKR+yaB'8_bK?&{Dt)j~4'ti|"֤tO`Cg.AoU&iITˑR'E=RXwCag+&e֤(77֗d r?ciIW1tMq~POQsipVѯߪ M fZk'O9$SPmFk]pJv${S"&iP|nԊ;ԷQIOrL%wO>d>}mȔK"}<88}/rڔ?=fw;#YSG oS[;maCtSwHjEߟ9>Ax1X=廞~?sSk7AVhʃ_nNɑ wcuN.%UTYE?\.LJ~ŋ1շr>i9v,CFrVr )gᷯfWFP_,ex[dWz ?G9Fv3 @dbb(}_M-x,i9u:u"⿵F^c@td+A46a 'fcF^72kW%=zMRa$6P YG4mßҙU/ʱ}(| 5vҬǸM&k}9$UX[x{ c(`N)iD>0A[(K?8Zw?lW(@nv%\9LdYܯ_>bO 6mQ46zlsyloQGk8ֲ{/ߢ/7PsV|Ԛ"rg>7=ZX, S[: `k%GA!M&7;&< aP#sVI]u:XAw{7\D# r[w\}.JٴR?'spR > 跳D_I=-UYDUJ]9HwK4WUw%Q_>kn/zǎ'іl)rj[ѬqeڂSshhz,~Z)g_q g%U_VZl ZV)M \dռߐ_ޣe=,D$Ŀ}5ZCեWEKm]Rok jmjVf~I/j2mȖDy Ia=#ȱD.o} 7QqE=2@;Q1 Mlh,Sk^Io %S,\c>'~)Iᙗ_[wgo+(1o7Qp?(yuĀK|<׈7c#j?Ɗ'Ȁ)~bʭHQOp;e8'}5 -.Clhm=`cz[k-!zjkR[Է0u C5do@wIpVT^{4zMO>S}H9X#GhOûwTQٳ]Zui9ٶ(H;?:^NOM'RFM|r@MdsN8,) FtHAoJJ%[Юݹs疖A FP։/o~M[$闄!0}/JVaЯ߸T͛78B @8bi>}%­v.˛M3szxqg$>9b"AW{kCy18T(NQSm:o ۦ#kg~v4.w-+{'(K&D@ 򗙶:hMI u{5=Xc8[{#Ud뀄q';D@ KƧ'Ow8X&@0g%@8׈_7<3(1`)?S<|/"؋(   `K f/@dbbd!   @ @@@ bq   bqV@ f?czLAˏlvq.NTTaw2(.IF&U06NiJkU08lW?khnV39+Z hNq[RJ‘M9v :#C ҥS]ZA )L @J~nU3<jF;}Ki $u%uiPRR@~Y-b^卩T=/RJ@3VІ>'zٝʆ3&=/M H-pU;˦ )J/ ٍO^jg{J&ęE,R ͚g)-4 {#6I3'+ږ.9ՕR+ҳ'31|F/"ihx:4BO4/>ՅMI,6aGzơ.*{o/TiGs5 d!6Y A=Ia=Ƴ0eV5J6PܬYPfNkd7ԉ\ s2Pov,M8[֞6[RQ:;&˂ݖT~hN3&zdk|C; "l|zhΝڥ.g\MmR@l3v# l%R0.٩$ۓ][T9FY^JQȰ)~7H;Ͳ0-Mlw3uc0wŚY+PM!R-r=d PzkdN x4WSp ҆@l3v.EbژjQS!H')UXNKf$4EEmW)4Zj6&o-f;Xbb0Y=zP" ["vzuz^R RP:j~@ԭ˥w]슺0JrN6> '& %eoT_)&ޗ dC5J1ÚZg+M5*"N`RTֶ s? yեH;-eRTJ+]N_)c?q#M҆롁>i>O*NDp33,p <~AS-k/D+҅@ĝK2^}͸V=Y#Eނ@~ƩIGbm !ֵV_zу :hצ@7"ga  DH%w d5\8@@@F/1Bm*лwA҄KKb܌k [ox?2 QA@„ڦ3;_a:[?B85Hg 8Qw Q   P0ƋPćcW|B+x#O(5۶]=]]aUdP\60");s3:lܑ"n؇>܈G `|&N6 WŶydnu{T5m1h/,6wFTM?QX%xi0;}Keyi$u%uiȤlRWI+yc*Uσ[WЭ0Jr"nQf0"MN3`J7a 5}{y{NUjU.XfbL}Gf0VhgO2lq9=Î絰%c`>-jwP@??SEv/Qe :)Vk%"ŧ|눺<cv,mPo'#ði>X *#7,3 az8*VGKfV4VxQ[ldi(*j=.|JHJ\P Y@qBSy86̵Hg{A[DU9F2#J *W)*`*ME:;) :ln1Ŕ1^~8,/?¬v٢ܐUۦ(1i2ʟŠ$Z V5{``va|UD91P:wnhyh `L1/6Zs, w=ۓ*>L ُUWA!9Ut$3+{U֮aV O _c3eVR!ul[(r>.+ a)lEeeZ_3))3EAZeaWJ綈jN8_LZ>KDT=~koC賴b=(,_0 [*Wy15VZۈ[UIgMUz?V i[S)][rOHXۣS#`[YP$C r0MۑrG߾U[ գ‚HCf+'Wo Suꈵ7 "ʈ_ w0NA^p GVȇʰVG"OEd@ "䴚:!sV_'- >Glp$@ݔʹx6M3tTj4u,d3lͭh8  hצG6sFA@@ $ctH2ߘ_ /***E, B<tRk{ҵlHk&6MO+X/4iރ,r`.$x[?% 5ͬ^SN0zH;XXVFfVhQ?G=dXSل9ʜ 4n`Lb#R/`zMQQmzUJ+ sVz PZev;Xbb0CM*#GX2hƪ˓5'2s +u3hf/C΁SyKDX\26D_ɣv'& %eoɀjTOKŌ" _ ,ز8BV ֹ^7TҨUbdTUm<8kDPhiCW9w uBꈕ$A5D N+g`?< *DKf LEj^xh)AE NaDQ$`-db[F!I?9,*k<ĿP6HɅg!S9^ o~8@0F$`i$̃d9@IMY'ᵙE\jS޽{38?~i)ZD7d3T}Wߋ2 ɝ u>#Pq'q'O~q> @`94n?  =P T@@җ&~#}dH~ƙ uq\(J2iKy4oPRj 4K*JMM!G;;}sۈۺm"蘙P3X&L)jy93nc5C"qLX =Ia3A;T>GN{LZ1|MN%LXDb[/dԃ g\9^|  U+,,') "^x J^A'e* ']Vtjafxat$rLV4ig]*Tn GʂhUY~m`iLM(N>|5)BU,+dg ^Q&;fw*Rt91梫dls⪲i2uZ *TL`UAj4 B'b\;t HU[ؖnβv@ $x EvZ&- (VԶ'٭lOYX(E A`r@oX| ,B{?\]u\ccQJAT)AMxcmIaZ ͝G8q6R,~pbzSBWӘ6b_X$k Ɋٜ~QzbI6Jb6{Pj.<@"1_ E c{R:L+aH[)Ƌe6j|ʦG$fʍp2ƫL~wg_֞6[RQ:;K!wVk{ fqy`#TWݭ(Kȏ]JI2\I@VH~,4` v;T@'ETcUdp [)k({El\ !$)‘eZ{v|B1oܠA65GZ S0l@;!b˳ 9P>wH3^vYhFd@gLᄯ16ZtҐI SbR/`zMQQmzU*XU[p4W z($xkWRL :+mfulu^Ѧ+L(SxN0i#ӯ /vP~z/JWU$8*ݧr] 3C{ކ'@ZQX>6a(){(eeG=/yk4f,f|G'JVp4Pl4ՠ1r+WINR$F-8C.WLJKE_ZOAlNT=7\q_=ِwHpd>XM;,mhnʶҢݴBYf PI%q'Wh?x㤒`AT[n3هP_$?س8!a$D1LHB ? ٪jDѥקSĩP Og|':zvM7qjdTf q71*  qx8Hu8[d<w^/EzPA( ̟?f~@ FP)FKz "O~!wgVM !@@@q >   I$XM%S<$H~I#̃@J|M ߾Gix~TtdP\6Wa]Ӥy*#RU@21vjm| ˘z%pz1᥌'Rh/ÆH,tOT.R" ϟ6oR=qYJ-zi֓$^Iԥ CIFCHqt/c;iGPżvwG^+e]2S|,3S0+N7aU.7/S qfR>䝅g+%p<|`@cջEޘU˫Uy}U ɚUˊ&>(J2iKy4y()5m9drUʹ)+;+-l  BqWE[ }j& +S&N5jAmt˟l|Pl 7b6-Iӥ)esfҠxq9=W汦 r4hx^15{ꌊ|/SeqlqmO"Zخ4^4< c|g:Eib®C 8Ä9ʜ 4~.]ZZ qD6H *d*7kٴ$A e$x?c6.L$[Y)؞dv[eªG)f]&@yϱx>Oi]JⶵUe1يwB &)_|5 /;XhDb% (,Ƌp:@ $r?c6 Afd{gWt[c2V)mX@9r,(<:MLbˈ@ ' @~YP}~ox  qwT@@ bq+@@@ `?t>|~ɯ<%9}xSHEë7(E g02ג uYhbu^P@L *@cRxZUJlUM6@A qPH"JA@@F0F?dp_Of73H   (VRČOslٲm")+)bFVYmθ]vWL;@@@ KPYei9-["3)x%)VRČF`L#+++Rdf   I"#G+#3a/MyK/_|ڵǮP@@ {}m۶8HL|9ﯸ@ [WIENDB`}DyK _Toc275934158}DyK _Toc275934159}DyK _Toc275934160}DyK _Toc275934161}DyK _Toc275934162}DyK _Toc275934163}DyK _Toc275934164}DyK _Toc275934165}DyK _Toc275934166}DyK _Toc275934167}DyK _Toc275934168}DyK _Toc275934169}DyK _Toc275934170}DyK _Toc275934171}DyK _Toc275934172}DyK _Toc275934173}DyK _Toc275934174}DyK _Toc275934175}DyK _Toc275934176}DyK _Toc275934177}DyK _Toc275934178}DyK _Toc275934179}DyK _Toc275934180}DyK _Toc275934181}DyK _Toc275934182}DyK _Toc275934183}DyK _Toc275934184}DyK _Toc275934185}DyK _Toc275934186r$$Ifp!vh55#v#v:V s65 5l3H44 sDyK yK Lhttp://aws.amazon.com/s3/yX;H,]ą'cr$$Ifp!vh55#v#v:V s65 5l3H44 sr$$Ifp!vh55#v#v:V s65 5l3H44 sr$$Ifp!vh55#v#v:V s65 5l3H44 sIDyK yK http://docs.amazonwebservices.com/AWSFWS/latest/GettingStartedGuide/index.html?AWSAccounts.htmlyX;H,]ą'cDyK http://aws.amazon.comyK Fhttp://aws.amazon.com/yX;H,]ą'cr$$Ifp!vh55#v#v:V s65 5l3H44 sr$$Ifp!vh55#v#v:V s65 5l3H44 sr$$Ifp!vh55#v#v:V s65 5l3H44 sr$$Ifp!vh55#v#v:V s65 5l3H44 s!$$If!vh525z5#v2#vz#v:V 4  t065/ /  2K34Bp$$If!vh525z5#v2#vz#v:V  t065/ /  2K34B$$If!vh525z5#v2#vz#v:V  t065/ /  2K34B$$If!vh525z5#v2#vz#v:V  t065/ /  2K34B$$If!vh525z5#v2#vz#v:V  t065/ /  2K34B$$If!vh525z5#v2#vz#v:V  t065/ /  2K34BDyK yK \http://s3.amazonaws.com/&P3_NAME.yX;H,]ą'cDyK yK phttp://s3.amazonaws.com/&P3_NAME./&P4_NAME.yX;H,]ą'cDyK yK xhttp://s3.amazonaws.com/&P3_NAME./&P3_DEL_NAME.yX;H,]ą'c%Dd  >  # A"b;%Sܸu=6W%Z n%Sܸu=6WPNG  IHDR#yS`sRGB pHYs+$IDATx^|yUՙ>=-RZ(Dy/HimM8FG*6ih0qHDmӦ#,M}:T̨K}S2TЂZH&T7$7*>rQGv )E$"F&€BӉR ^,' Qx ʎ Amm))*,V|(~RGD#D ˘Sb IJ) >(|Qɨ8 3z\upGbԌ_MXȈFeVAY1dY,+S-~ .@ȣqB(T$5ԎԕXHotTf-Z( V%FE۰WVWK`a@7)rBⷎL} Wa`)A "gPQKNp9 Kc8ҋ&)\!?Z2w(I&pHp*,C*EM| "q#(tpAiY` NgIC*ǵ# _Rz;J]j@զjP$xtwRˢ?oՁ%> `iDôrHн[*U fB} ECn35V 9d$|9 6&Lf93mCTBKZ4*`BHTv%P e*ն[JJ{;4:oމ%"@: 2ݙs T&VS :gu #~yi^jjg:ڨGpR&Ԗ[I浥^ߊMZzgԁæk \8[POK<#0]-I4q:h>jyiFQigO ,H!eˁ.]U]]kAj1k}d=C{PA@YУՐ)}٨K@ZxdN'v)MTP0'j&je=n^xC?jiZZ2:4܂ك(y`ͪEu{QILCtH0bۑؾ=sގ^VG6 {nmM<ex0;F~8`ƝswhbGO.qfxOMiM.j$O>I B-A g>>գU>%9l6hy99i͡3sfY#:.d^-V'a6}f} EHkz`6DĕtKa@O"{Y$N>30Bme[C`âtS5ɒ+me=d]dVͅSa}.v{Mu4:5G(͵yW,|ܬyf*4Џ 91<"#5퓕/) {{4ϳ֦zHh|$ښ+NWxMPp$q۰V@1p$Y=dgL  _w 6BWM9ݚR3jcY%7yzSոBs.A61:kLOu(bi:$@bc'*jtaÖeo=49%6IΙcP)T i"ЈDiW_9߃gjDGY][KLD*:uƷgIf"`_nW4>̋TP{x{Ew' 'e=ԢGu($rV' '|fSF 4f2#R,2MCK^f3T}~1Oy/=< κcH]yw +6V IL_ xoe3VvD-mvs&;n]rF(cT+e>S;»gb>>z &dŏ{3la(wKIu dYž*#ԵmW5X-श+R_0 G5<#1zi'ǽXF6PETHO>7f{qU0Q?_emT_[)-jaR:W/ҎTIgC FYNiNgP@}`b E+Mvd3kkumI9ˏlv9U-wOӎy ϧ!Dͅ& YXG/t>goѮX m-"B $Z71_;Å{YfkQeW"HEw7N[`h'c\oW- 2\c9d^K5A37.V"@MxrヤJ7N9$Yь-1㞣y]u?};z(jPY !d3C9;XF蔯N:U$7^fu/N4d창lc<uxx|X 5*EcIJl9]dIr':4BT0`l.FtN3$+(\u VS]sEyd2 E@\8cT~B8hp2M.C&:BrhSTbZ8`Ɉ 80FH 1?tQ ԟ̻9q*`;{;ʒS3͜9G'` 67ޅQ`О4:<0f?!%vN.c-ƥ,G<#%6q,ʈD7=rw_f,-9 o1bߚ7௉p H3K 1찠A a ]UuU1+Xk8pRJr)wfr;1%܃Gzo`8{*H: Pk?r߃k7fHz ~apS#5}藍S;Ȥ% v,LzwD Wp&gF!z*b_=$[F2=?4&O?Bςg_םۅ?vOf{>4DWէĉ#ɵ;F~3)ݽ摻-9+ò+:7+"$7}?uZk#,vĪ >%#4n2$Gn͒ٚSPsVɕqRQl;HRlܹe3Vw$.Ḧ́@ (?n!Q*l" i>f "uVAL ?Bw}R n}:VlN˃ [nT) (O\os%ϋu0/'k4j=抡9E̞K~m?6T2E6)cP~/mOwa^Hx!9uEg&پ-C_jM\ܖ[z_H4"4&1(53/EK"3JxA6:'&οj{8'>6iDR bO%+sB5[3/'2hTOQê*Me~ಉ>H" z ̑a84(M-lod>]WsW -}/^yY/}{ٛo3 x5Â߁ZI1xq := {\5:\홧k/A/3~t!O&^>|dJicDKQs+Izu)lCn.Sk12tx$ׁ1q+퐆ޞu -Уe.2Y0 9c ZSEL 0eHGnq \6>HO|5!;bҘ)gPJlPQ@G l/9@ @ty1f-I "ŲTNr95R5h! B_r6c懊sƝcE(z4w .mXn(OTH9ٮ^|1"P*Z_}}+eOW| AKth .OV{?QEx` b^p*Ks=wP"<8)n(̣Œ94g$qVYkڇ>t_mx:LQm&犖*MS Oo+ " NZ_t^4BA QIQ-cIKuv7(||(˿o2iDQBUKjAPMLnwujX#tFi+-?<9Obe{\AF 8;&xEE5hsVY$]|&M轣"ĪH1 J_#kA5BgLzB kU p87 -ƪ7{'— ׂ y5p*td_#Gy"UuZO|q|u%̓ԭ=dfq»7V(sfL*1@KwݣNZ)>[SBx~Od=M<.jQ&p)hVinӆbsy5Q)ĩ;O]wbA}ax$HǍMVcXq*6ql`O6|>=-ړf~i6[ߜjIV_*-h*ɚ)vף/7x((kV=$A;g@\FqTl*0BɘW&Y@tѽC`̓[((Bǀ0G8LfEҏ|4+q1ixUHD  @8|zqK8RU7 n;`^o;Hlj5եbM: {ÆPjj{OZ# fq^BiLQ(ѹ}BNPN_z>AOFJ|(8Ip6\v9>(yH.$dZ\vA%AOpO{8b_MR FY6QfS銱JLjn3'}Di=9] 2K{{2?'Mg^8?EʮBYu"H)&qёr㦟JfsO^"5{*#(G^MJ<Gz޺b~7 5>k{9cas*hJIK*[{4lCLb^\Fd8ﹿ5Z0E<~嫶ƃ-~8FW |8j3Cw.t"Pf<rF{'( !+޲w1Rmx ʥē@038 )_[l# $n3޾ ö^`GN4^Pڢ؅%W_)Rcwb+َj  Q3bϛ%Xq<\ XJ ]3mm"7yRݽ>u&Z:$Ae*r.(1S=м'?s~PqʕÕEI>$"#n6Lߕfc_+%ZN>1{Blx f7JFM|y W')i4gV.abSuT^LoO27*dR f> {YITڷ&+bŘi+0l4YрU^cE۷럸6|*=~lbBv<,أ^mf/-ߞdP``Aa3:W8&1\0sn-eY^ҭaMJMW^ A8|6WVp:{Ed }X׽,lП/J&7VuQfmg~_uX, Cj=Zl Z\ci≻!s1v=d*6hjآ+jiVW5cZ ,p(58>|]ދAC=yP-IxMGhS,a_BƜΚ' |sBbS[nU2Leh ƠN*d"wm/YW{0\wuϐVj bٿ€\[8+ A>̡&ت㬡XhAJ:pߞձĄ!#pp qyh\ɒ8#>Fmxn;AZϮ^cmTEjb 5nIy#Bh uCS؊V-5:-qo @_kN;:j`֛Xun|,$/Ns1H[bvHep19oǐ?bOb( \_Ƃ$U/fě2CڂČ3O 6o1/»X'9ު[{I8FMw=j)Pt̤P,^㊠SmcmRK4KYiƦ[I0ڟ"dfB; iÜP C``SiJՙ3(ID9Q^ >^Ԙ8_gx%Nr=Ь'> +事$fG,`84p1gap`U67x.{ok"a7gؕvk$;R0+Qol'. tIWl;\Ґs)e{"!W3#_jO*(YbIEq1okW`kkן}?V2#boD*q=L|(kH}{\X1]<a򽅠掻K,Q>=;F.ޖAgjxZ7~yi7+q`͌|^(uQo3=U܎ {R;lgHb& lHw/V m+%ڀ7z\d "mnR{#@vxܞ_[VF^qht·՗[f]ґ_yJDG`amfg;Иs%u_+lQEKp cS=z`ZUCG*p wy.)2nw-7ZR b UP׸Uo*e hXKէ'5TuoqpQ~;2ʛ4ޤUbD _N@fT 'G̗ldׅ*-'T>~˒>,I&\Worشfx%z yYURbeĔe!@yxI,yW^5 E3w PP!lleQ?h$Ѩ(^{"@!A4^uKi0:Ng&ʱva,+R'Txq`*S6qd z|.P){wOyif’d#UtA045jj8v"ǮJWs pil+& ߜ2 -xԫ" 6TA [@2ԨHe(䴄^,믪Q3T%jSlCq.ֱ5+/~h8_X3 SU=P;gZ hH1@ A,Cx3[y@U|ygI X } 9P9dZ B aM^Th9J.jVi:6MHX/=/vR_)D&:HG6}ǚ5zqhX®VTgY9:/&ʈ!^qb&ry80Y!wfsw|ԓ> l> (11 F' MR/}ݔIENDB`%Dd "||>  # A"b;%Il$qYV/Ҷ%BZ n%Il$qYV/ҶPNG  IHDR#yS`sRGB pHYs $IDATx^|yUՙ>=-RZ(Dy/HimM8FG*6ih0qHDmӦ#,M}:T̨K}S2TЂZH&T7$7*>rQGv )E$"F&€BӉR ^,' Qx ʎ Amm))*,V|(~RGD#D ˘Sb IJ) >(|Qɨ8 3z\upGbԌ_MXȈFeVAY1dY,+S-~ .@ȣqB(T$5ԎԕXHotTf-Z( V%FE۰WVWK`a@7)rBⷎL} Wa`)A "gPQKNp9 Kc8ҋ&)\!?Z2w(I&pHp*,C*EM| "q#(tpAiY` NgIC*ǵ# _Rz;J]j@զjP$xtwRˢ?oՁ%> `iDôrHн[*U fB} ECn35V 9d$|9 6&Lf93mCTBKZ4*`BHTv%P e*ն[JJ{;4:oމ%"@: 2ݙs T&VS :gu #~yi^jjg:ڨGpR&Ԗ[I浥^ߊMZzgԁæk \8[POK<#0]-I4q:h>jyiFQigO ,H!eˁ.]U]]kAj1k}d=C{PA@YУՐ)}٨K@ZxdN'v)MTP0'j&je=n^xC?jiZZ2:4܂ك(y`ͪEu{QILCtH0bۑؾ=sގ^VG6 {nmM<ex0;F~8`ƝswhbGO.qfxOMiM.j$O>I B-A g>>գU>%9l6hy99i͡3sfY#:.d^-V'a6}f} EHkz`6DĕtKa@O"{Y$N>30Bme[C`âtS5ɒ+me=d]dVͅSa}.v{Mu4:5G(͵yW,|ܬyf*4Џ 91<"#5퓕/) {{4ϳ֦zHh|$ښ+NWxMPp$q۰V@1p$Y=dgL  _w 6BWM9ݚR3jcY%7yzSոBs.A61:kLOu(bi:$@bc'*jtaÖeo=49%6IΙcP)T i"ЈDiW_9߃gjDGY][KLD*:uƷgIf"`_nW4>̋TP{x{Ew' 'e=ԢGu($rV' '|fSF 4f2#R,2MCK^f3T}~1Oy/=< κcH]yw +6V IL_ xoe3VvD-mvs&;n]rF(cT+e>S;»gb>>z &dŏ{3la(wKIu dYž*#ԵmW5X-श+R_0 G5<#1zi'ǽXF6PETHO>7f{qU0Q?_emT_[)-jaR:W/ҎTIgC FYNiNgP@}`b E+Mvd3kkumI9ˏlv9U-wOӎy ϧ!Dͅ& YXG/t>goѮX m-"B $Z71_;Å{YfkQeW"HEw7N[`h'c\oW- 2\c9d^K5A37.V"@MxrヤJ7N9$Yь-1㞣y]u?};z(jPY !d3C9;XF蔯N:U$7^fu/N4d창lc<uxx|X 5*EcIJl9]dIr':4BT0`l.FtN3$+(\u VS]sEyd2 E@\8cT~B8hp2M.C&:BrhSTbZ8`Ɉ 80FH 1?tQ ԟ̻9q*`;{;ʒS3͜9G'` 67ޅQ`О4:<0f?!%vN.c-ƥ,G<#%6q,ʈD7=rw_f,-9 o1bߚ7௉p H3K 1찠A a ]UuU1+Xk8pRJr)wfr;1%܃Gzo`8{*H: Pk?r߃k7fHz ~apS#5}藍S;Ȥ% v,LzwD Wp&gF!z*b_=$[F2=?4&O?Bςg_םۅ?vOf{>4DWէĉ#ɵ;F~3)ݽ摻-9+ò+:7+"$7}?uZk#,vĪ >%#4n2$Gn͒ٚSPsVɕqRQl;HRlܹe3Vw$.Ḧ́@ (?n!Q*l" i>f "uVAL ?Bw}R n}:VlN˃ [nT) (O\os%ϋu0/'k4j=抡9E̞K~m?6T2E6)cP~/mOwa^Hx!9uEg&پ-C_jM\ܖ[z_H4"4&1(53/EK"3JxA6:'&οj{8'>6iDR bO%+sB5[3/'2hTOQê*Me~ಉ>H" z ̑a84(M-lod>]WsW -}/^yY/}{ٛo3 x5Â߁ZI1xq := {\5:\홧k/A/3~t!O&^>|dJicDKQs+Izu)lCn.Sk12tx$ׁ1q+퐆ޞu -Уe.2Y0 9c ZSEL 0eHGnq \6>HO|5!;bҘ)gPJlPQ@G l/9@ @ty1f-I "ŲTNr95R5h! B_r6c懊sƝcE(z4w .mXn(OTH9ٮ^|1"P*Z_}}+eOW| AKth .OV{?QEx` b^p*Ks=wP"<8)n(̣Œ94g$qVYkڇ>t_mx:LQm&犖*MS Oo+ " NZ_t^4BA QIQ-cIKuv7(||(˿o2iDQBUKjAPMLnwujX#tFi+-?<9Obe{\AF 8;&xEE5hsVY$]|&M轣"ĪH1 J_#kA5BgLzB kU p87 -ƪ7{'— ׂ y5p*td_#Gy"UuZO|q|u%̓ԭ=dfq»7V(sfL*1@KwݣNZ)>[SBx~Od=M<.jQ&p)hVinӆbsy5Q)ĩ;O]wbA}ax$HǍMVcXq*6ql`O6|>=-ړf~i6[ߜjIV_*-h*ɚ)vף/7x((kV=$A;g@\FqTl*0BɘW&Y@tѽC`̓[((Bǀ0G8LfEҏ|4+q1ixUHD  @8|zqK8RU7 n;`^o;Hlj5եbM: {ÆPjj{OZ# fq^BiLQ(ѹ}BNPN_z>AOFJ|(8Ip6\v9>(yH.$dZ\vA%AOpO{8b_MR FY6QfS銱JLjn3'}Di=9] 2K{{2?'Mg^8?EʮBYu"H)&qёr㦟JfsO^"5{*#(G^MJ<Gz޺b~7 5>k{9cas*hJIK*[{4lCLb^\Fd8ﹿ5Z0E<~嫶ƃ-~8FW |8j3Cw.t"Pf<rF{'( !+޲w1Rmx ʥē@038 )_[l# $n3޾ ö^`GN4^Pڢ؅%W_)Rcwb+َj  Q3bϛ%Xq<\ XJ ]3mm"7yRݽ>u&Z:$Ae*r.(1S=м'?s~PqʕÕEI>$"#n6Lߕfc_+%ZN>1{Blx f7JFM|y W')i4gV.abSuT^LoO27*dR f> {YITڷ&+bŘi+0l4YрU^cE۷럸6|*=~lbBv<,أ^mf/-ߞdP``Aa3:W8&1\0sn-eY^ҭaMJMW^ A8|6WVp:{Ed }X׽,lП/J&7VuQfmg~_uX, Cj=Zl Z\ci≻!s1v=d*6hjآ+jiVW5cZ ,p(58>|]ދAC=yP-IxMGhS,a_BƜΚ' |sBbS[nU2Leh ƠN*d"wm/YW{0\wuϐVj bٿ€\[8+ A>̡&ت㬡XhAJ:pߞձĄ!#pp qyh\ɒ8#>Fmxn;AZϮ^cmTEjb 5nIy#Bh uCS؊V-5:-qo @_kN;:j`֛Xun|,$/Ns1H[bvHep19oǐ?bOb( \_Ƃ$U/fě2CڂČ3O 6o1/»X'9ު[{I8FMw=j)Pt̤P,^㊠SmcmRK4KYiƦ[I0ڟ"dfB; iÜP C``SiJՙ3(ID9Q^ >^Ԙ8_gx%Nr=Ь'> +事$fG,`84p1gap`U67x.{ok"a7gؕvk$;R0+Qol'. tIWl;\Ґs)e{"!W3#_jO*(YbIEq1okW`kkן}?V2#boD*q=L|(kH}{\X1]<a򽅠掻K,Q>=;F.ޖAgjxZ7~yi7+q`͌|^(uQo3=U܎ {R;lgHb& lHw/V m+%ڀ7z\d "mnR{#@vxܞ_[VF^qht·՗[f]ґ_yJDG`amfg;Иs%u_+lQEKp cS=z`ZUCG*p wy.)2nw-7ZR b UP׸Uo*e hXKէ'5TuoqpQ~;2ʛ4ޤUbD _N@fT 'G̗ldׅ*-'T>~˒>,I&\Worشfx%z yYURbeĔe!@yxI,yW^5 E3w PP!lleQ?h$Ѩ(^{"@!A4^uKi0:Ng&ʱva,+R'Txq`*S6qd z|.P){wOyif’d#UtA045jj8v"ǮJWs pil+& ߜ2 -xԫ" 6TA [@2ԨHe(䴄^,믪Q3T%jSlCq.ֱ5+/~h8_X3 SU=P;gZ hH1@ A,Cx3[y@U|ygI X } 9P9dZ B aM^Th9J.jVi:6MHX/=/vR_)D&:HG6}ǚ5zqhX®VTgY9:/&ʈ!^qb&ry80Y!wfsw|ԓ> l> (11 F' MR/}ݔIENDB`^+ 666666666vvvvvvvvv666666>6666666666666666666666666666666666666666666666666hH6666666666666666666666666666666666666666666666666666666666666666662 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p8XV~_HmH nH sH tH @`@ NormalCJ_HaJmH sH tH XX  Heading 3$d<@&5CJOJQJ\aJDA`D Default Paragraph FontVi@V 0 Table Normal :V 44 la (k ( 0No List \O\ *2. Cover Dated5$7$8$9DH$6]mH sH xOx *4. Head 1#$d<5$7$8$9DH$%5;CJOJQJ\^JaJmH sH fOf *8. General Textdx5$7$8$9DH$CJaJmH sH o"12. Trademark blockdB5$7$8$9DH$15CJ OJQJ\^J_HaJ mHnHsH tH u^O2^ *1. Cover Title(5$7$8$9DH$CJ$aJ$mH sH F@F TOC 1  5$7$8$9DH$mH sH N@N TOC 2"  5$7$8$9DH$^mH sH 6U@a6  Hyperlink >*B*phDOD *5. Head 2;OJQJ^JaJt @t Footer+$ !h5$7$8$9DH$]ha$"5CJ OJQJ\^JaJ mH sH :):  Page Number OJQJ^J44 Header  H$66  Header CharCJaJ>@> Footnote TextCJaJ<< Footnote Text Char@&@@ Footnote ReferenceH*:O: Ora - Heading 1Fb@F HTML CodeCJOJPJQJ^JaJo(TT *4. Head 1 Char5;OJQJ\^JmH sH @!@ Ora - Heading 1 CharZ^@2Z Normal (Web) #d[$B*CJOJQJaJph@oB@ Code$OJQJ_HaJmH sH tH JQJ Heading 3 Char5CJOJQJ\aJ.(a. Line NumberHYrH Document Map'CJOJ QJ ^J aJNN Document Map CharCJOJ QJ ^J aJHH *M(+0 Balloon Text)CJOJ QJ ^J aJNN )M(+0Balloon Text CharCJOJ QJ ^J aJPK![Content_Types].xmlj0Eжr(΢Iw},-j4 wP-t#bΙ{UTU^hd}㨫)*1P' ^W0)T9<l#$yi};~@(Hu* Dנz/0ǰ $ X3aZ,D0j~3߶b~i>3\`?/[G\!-Rk.sԻ..a濭?PK!֧6 _rels/.relsj0 }Q%v/C/}(h"O = C?hv=Ʌ%[xp{۵_Pѣ<1H0ORBdJE4b$q_6LR7`0̞O,En7Lib/SeеPK!kytheme/theme/themeManager.xml M @}w7c(EbˮCAǠҟ7՛K Y, e.|,H,lxɴIsQ}#Ր ֵ+!,^$j=GW)E+& 8PK!Ptheme/theme/theme1.xmlYOo6w toc'vuر-MniP@I}úama[إ4:lЯGRX^6؊>$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3ڗP 1Pm \\9Mؓ2aD];Yt\[x]}Wr|]g- eW )6-rCSj id DЇAΜIqbJ#x꺃 6k#ASh&ʌt(Q%p%m&]caSl=X\P1Mh9MVdDAaVB[݈fJíP|8 քAV^f Hn- "d>znNJ ة>b&2vKyϼD:,AGm\nziÙ.uχYC6OMf3or$5NHT[XF64T,ќM0E)`#5XY`פ;%1U٥m;R>QD DcpU'&LE/pm%]8firS4d 7y\`JnίI R3U~7+׸#m qBiDi*L69mY&iHE=(K&N!V.KeLDĕ{D vEꦚdeNƟe(MN9ߜR6&3(a/DUz<{ˊYȳV)9Z[4^n5!J?Q3eBoCM m<.vpIYfZY_p[=al-Y}Nc͙ŋ4vfavl'SA8|*u{-ߟ0%M07%<ҍPK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 +_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!Ptheme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK] !b<m{mm pvm{7p xxxxxxxxx{d -jD%<+=9?FODUclozmBEFHIJKNRU[_adgilosws ]vU% &Q&&p()+0!4:SA6EJNQV>[dhmbr;z|~RmCDGLMOPQSTVWXYZ\]^`bcefhjkmnpqrtuvxu %'Eack$@Bb~7SU.1\x{:=Okn<X[m  N j m  ? B   C Y 0GnZ v!!4446672>c>>HHHI"JJJA[z[[f5gegm{ %T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%T%TXXXXXXXXXXXXXXX[su{!=jojoXXXX$  _b$-XWMDb$zƋI*oNkVM8b$b('Y"ȕL9U'^b$W )fl5zWb$8:8P mgvrD@h (  V  3 A #" `?V  3 A #" `?V  3 A #" `?V  3 A #" `?V  3 A #" `?B S  ?H0(  <FPeqtm{ tuRt%tBt@t _Toc275934158 _Toc201398869 _Toc275934159 _Toc275934160 _Toc275934161 _Toc275934162 _Toc275934163 _Toc275934164 _Toc275934165 _Toc275934166 _Toc275934167 _Toc275934168 _Toc275934169 _Toc275934170 _Toc275934171 _Toc275934172 _Toc275934173 _Toc275934174 _Toc275934175 _Toc275934176 _Toc275934177 _Toc275934178 _Toc275934179 _Toc275934180 _Toc275934181 _Toc275934182 _Toc275934183 _Toc275934184 _Toc275934185 _Toc275934186 (8T!!+--22k7<6=s@ GG KPXEZ\;eeh2ptn{  5SY!"*+h-227<^=@0GGK#QXmZ]Ze$fhpptn{F1P11111R6h666+:1:$U0U%l1lFyzzzzzzzzzk{n{m s ######$ $S$V$%%%%&&3&@&&&&&' 'i'v''''';(C(((((B)K)))*'*H*J*K*P*U*[************* ++--<1=1@:E:ABTTEWIWiWoWWWkkGnTnnnnn?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry FLǦData \3h1TableWordDocumentSummaryInformation(DocumentSummaryInformation8CompObjy  F'Microsoft Office Word 97-2003 Document MSWordDocWord.Document.89q