[jboss-svn-commits] JBL Code SVN: r21159 - in labs/jbossesb/workspace/maeste: product and 255 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jul 22 08:21:14 EDT 2008
Author: maeste
Date: 2008-07-22 08:21:06 -0400 (Tue, 22 Jul 2008)
New Revision: 21159
Added:
labs/jbossesb/workspace/maeste/product/docs/ServicesGuide.odt
labs/jbossesb/workspace/maeste/product/docs/ServicesGuide.pdf
labs/jbossesb/workspace/maeste/product/lib/ext/mvel-1.3.1-java1.4.jar
labs/jbossesb/workspace/maeste/product/lib/ext/wsdl4j-1.6.2.jar
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/InVMXAResource.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile5.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/JBESB_539_UnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/config_01.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/JBRIntegratedUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/async_response.txt
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-01.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-02.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/in-listener-config-JBESB-1865.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyJMSIntegrationTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/AbstractTestRunner.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/SerializableMockQueue.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/JBRServer.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/StaticRequestResponseHandler.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/scripts/capture_original.groovy
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/map_order_components.groovy
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/UpdateCustomerStatus.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/Customer.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderHeader.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderItem.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/SampleDriver.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/deployment.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbm-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbmq-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jndi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/juddi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/lib/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/processDefinition/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules-unfiltered.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/cache/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/cache/http%3A%2F%2Flocalhost%3A8080%2Fdrools-jbrms%2Forg.drools.brms.JBRMS%2Fpackage%2Forg.jboss.soa.esb.services.rules%2FLATEST
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/insurancepolicy.jar
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/smooks-res.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/SetupMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/SendJMSMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/ReviewMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/SetupMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/SendJMSMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Driver.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Policy.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/OrderDiscountOnMultipleOrders.drl
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder1.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder2.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder3.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/deployment.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbm-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbmq-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jndi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/juddi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/lib/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/smooks-res.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/ReviewMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/SetupMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/Customer.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/DVDStoreAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderHeader.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderItem.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/SendJMSMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/create.sql
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/bindings.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/datasources.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/ref-data.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/main.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-orders-parser.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-02_Low_Price_Service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-03_High_Price_Service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-04_Reptiles_notify_webservice_proxy.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-05_Database.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Address.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Product.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/Notification.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/ReptilesNotifyWS.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/web.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/index.jsp
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-dataload.sql
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-schema.sql
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.script
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/hsqldb.jar
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.bat
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.sh
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.bat
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.sh
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/README.html
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/02_Low_Price.gif
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.odp
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.png
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vafter.gif
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vbefore.gif
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/source-model.gif
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbm-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbmq-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jndi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/juddi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/MessageGenerator.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintVisitor.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/messaging-db-users-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayMemoryUsageAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayTimeAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/FileToStream.java
labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/
labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/create_database.sql
labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/drop_database.sql
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant/
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant/DeployProcessToServerTaskUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-compiler-4.0.7.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-core-4.0.7.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-decisiontables-4.0.7.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-jsr94-4.0.7.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/mvel-1.3.1-java1.4.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/stax-api-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/xstream-1.2.2.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelper.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceBuilderException.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceCallHelper.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceException.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceFactory.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleServicePropertiesNames.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/DslHelperUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/BusinessRulesProcessorUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/CBRConfigTreeBuilder.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/Counter.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/5KBNS_message.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/5KB_message.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/JBossESBPricingRulesStateful.drl
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.drl
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.properties
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.xls
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RulesWithDsl.drl
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RulesWithDslNS.drl
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/testrules.pkg
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-core-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-css-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-csv-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-edi-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-javabean-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-misc-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-routing-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-scripting-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-servlet-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-templating-1.0.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/mvel-1.3.3-java1.5.jar
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/FragmentRouter.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/SmooksAction.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/AbstractStreamSplitter.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/FileStreamSplitter.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/ProfilingUnitTest.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SmooksActionUnitTest.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SourceResultUnitTest.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person1.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person2.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/person.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-esb.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-smooks-01.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/smooks-config.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-esb.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-01.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-02.xml
labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/MBeanSoapUIInvoker.java
labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SoapUIInvoker.java
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClient_Response_UnitTest.java
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/MockSOAPClient.java
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/SOAPClient_Request_UnitTest.java
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/expected-soap-request.xml
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/request-test-01.wsdl
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-01.xml
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-02.xml
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/schemas/
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/schemas/XMLSchema1999.xsd
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/soapui-settings.xml
labs/jbossesb/workspace/maeste/product/services/spring/src/test/resources/log4j.xml
labs/jbossesb/workspace/maeste/product/tools/jonplugin/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/install.sh
labs/jbossesb/workspace/maeste/product/tools/jonplugin/pom.xml
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/java/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources/log4j.xml
Removed:
labs/jbossesb/workspace/maeste/product/docs/Adapters.odt
labs/jbossesb/workspace/maeste/product/docs/Adapters.pdf
labs/jbossesb/workspace/maeste/product/docs/MessageActionGuide.odt
labs/jbossesb/workspace/maeste/product/docs/MessageActionGuide.pdf
labs/jbossesb/workspace/maeste/product/docs/advanced/
labs/jbossesb/workspace/maeste/product/docs/governance/
labs/jbossesb/workspace/maeste/product/docs/services/
labs/jbossesb/workspace/maeste/product/lib/ext/mvel14-1.2rc4rv908.jar
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/InVMXAResource.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/DisplayMemoryUsageAction.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/DisplayTimeAction.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/converters/FileToStream.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/DisplayMemoryUsageActionUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/DisplayTimeActionUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/converters/FileToStreamUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/JBESB_539_UnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/config_01.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/JBRServer.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/StaticRequestResponseHandler.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/altered_jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/dvdstore/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/Customer.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderHeader.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderItem.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/SampleDriver.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/deployment.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbm-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbmq-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jndi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/juddi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/lib/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/processDefinition/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules-unfiltered.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/cache/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/cache/http%3A%2F%2Flocalhost%3A8080%2Fdrools-jbrms%2Forg.drools.brms.JBRMS%2Fpackage%2Forg.jboss.soa.esb.services.rules%2FLATEST
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/insurancepolicy.jar
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/smooks-res.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/SetupMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/SendJMSMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/ReviewMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/SetupMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/SendJMSMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Driver.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Policy.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/OrderDiscountOnMultipleOrders.drl
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder1.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder2.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder3.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/deployment.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbm-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbmq-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jndi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/juddi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/lib/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/smooks-res.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/ReviewMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/SetupMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/Customer.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/DVDStoreAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderHeader.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderItem.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/SendJMSMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/create.sql
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/hsqldb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/bindings.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/datasources.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/ref-data.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/main.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-orders-parser.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-02_Low_Price_Service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-03_High_Price_Service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-04_Reptiles_notify_webservice_proxy.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-05_Database.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Address.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Product.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/Notification.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/ReptilesNotifyWS.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/web.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/index.jsp
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-dataload.sql
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-schema.sql
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.script
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/hsqldb.jar
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.bat
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.sh
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.bat
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.sh
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/README.html
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/02_Low_Price.gif
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.odp
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.png
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vafter.gif
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vbefore.gif
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/source-model.gif
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbm-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbmq-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jndi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/juddi.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/MessageGenerator.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintVisitor.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayMemoryUsageAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayTimeAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/FileToStream.java
labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/create_database.sql
labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/drop_database.sql
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant/
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant/DeployProcessToServerTaskUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbpm/lib/ext/jbpm-ant.jar
labs/jbossesb/workspace/maeste/product/services/jbpm/src/main/resources/jbpm-sql/import.sql
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-compiler-4.0.2.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-core-4.0.2.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-decisiontables-4.0.2.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-jsr94-4.0.2.jar
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelper.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceBuilderException.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceCallHelper.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceException.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceFactory.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleServicePropertiesNames.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/jbrules/
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/BusinessProcessorRoutingUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/BusinessProcessorUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/BusinessRulesProcessorUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/CBRConfigTreeBuilder.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/Counter.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/services/
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-core-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-css-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-csv-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-edi-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-javabean-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-misc-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-routing-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-scripting-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-servlet-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-templating-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/mvel-1.2.24-java1.5.jar
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/FragmentRouter.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/SmooksAction.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/AbstractStreamSplitter.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/FileStreamSplitter.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/actions/smooks/
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/ProfilingUnitTest.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SmooksActionUnitTest.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SourceResultUnitTest.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person1.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person2.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/person.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-esb.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-smooks-01.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/smooks-config.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-esb.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-01.xml
labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-02.xml
labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SoapUIInvoker.java
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClientUnitTest.java
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/MockSOAPClient.java
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/SOAPClient_Request_UnitTest.java
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/expected-soap-request.xml
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/request-test-01.wsdl
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-01.xml
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-02.xml
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/jboss-common.jar
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/jboss-system-client.jar
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/jboss-system.jar
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/jsr173_1.0_api-xmlbeans-2.2.0.jar
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/ognl-2.6.9.jar
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/wsdl4j-1.6.2.jar
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/xbean-2.2.0.jar
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/schemas/XMLSchema1999.xsd
labs/jbossesb/workspace/maeste/product/tools/jonplugin/install.sh
labs/jbossesb/workspace/maeste/product/tools/jonplugin/pom.xml
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/java/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources/
labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources/log4j.xml
Modified:
labs/jbossesb/workspace/maeste/
labs/jbossesb/workspace/maeste/Developer.txt
labs/jbossesb/workspace/maeste/product/.classpath
labs/jbossesb/workspace/maeste/product/build.xml
labs/jbossesb/workspace/maeste/product/docs/AdministrationGuide.odt
labs/jbossesb/workspace/maeste/product/docs/AdministrationGuide.pdf
labs/jbossesb/workspace/maeste/product/docs/ProgrammersGuide.odt
labs/jbossesb/workspace/maeste/product/docs/ProgrammersGuide.pdf
labs/jbossesb/workspace/maeste/product/docs/README_FIRST.txt
labs/jbossesb/workspace/maeste/product/etc/schemas/xml/jbossesb-1.0.1.xsd
labs/jbossesb/workspace/maeste/product/install/bindings.xslt
labs/jbossesb/workspace/maeste/product/install/conf/actionArtifactMap.properties
labs/jbossesb/workspace/maeste/product/install/conf/esb.juddi.xml
labs/jbossesb/workspace/maeste/product/install/conf/jbossesb-properties.xml
labs/jbossesb/workspace/maeste/product/install/jbpm-patch/build.xml
labs/jbossesb/workspace/maeste/product/install/jbpm-patch/jbpm-app-policy.text
labs/jbossesb/workspace/maeste/product/rosetta/build.xml
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/JmsComposer.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/H2Database.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/H2DatabaseMBean.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/remoting/HttpUnmarshaller.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsConnectionPool.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsSession.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsXASession.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpsImpl.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/StreamUtils.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/routing/JMSRouter.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/scripting/GroovyActionProcessor.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/InVMEpr.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/SFTPEpr.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/client/ServiceInvoker.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/common/Environment.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/common/JBossESBPropertyService.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/helpers/Email.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/StandAloneBootStrapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FsListenerMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/GroovyListenerMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/HibernateListenerMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JbrListenerMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JcaGatewayMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/SqlListenerMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetter.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListener.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionStatusBean.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageCounter.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageCounterMBean.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageStatusBean.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/message/Properties.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetter.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/jms/JMSPropertiesSetter.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/util/Util.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/routing/JmsRouterIntegrationTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/InVMUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/common/tests/MockDataSource.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/InVMListenerUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/SetPayloadAction.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapperUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListenerUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/PackageJmsMessageContentsUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetterUnitTest.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/ESBConfigUtil.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java
labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/blue_service/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/green_service/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/inbound_splitter/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/red_service/jbossesb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration1/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration3/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/scripts/check-origin.groovy
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/smooks-config.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/src/org/jboss/soa/esb/samples/quickstarts/bpm_orchestration4/esb_actions/SetupMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/src/org/jboss/soa/esb/store/StoreAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyBusinessRules.drl
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyBusinessRulesDiscount.drl
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyRoutingRules.drl
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/smooks-res.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_service/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/conf/base-build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/conf/quickstarts.properties-example
labs/jbossesb/workspace/maeste/product/samples/quickstarts/custom_action/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/deadletter/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/exceptions_faults/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/FunCBRRules-XPath.drl
labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/SampleOrder.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/groovy_gateway/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_hibernate_action/quickstart-ds.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_sql_action/quickstart-ds.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/jbossesb-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/quickstart-ds.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/HttpRouter-localhost-https-9433.properties
labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/deployment.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/src/org/jboss/soa/esb/samples/https/server/HttpRequestPrinter.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jbm-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jbmq-queue-service.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/src/org/jboss/soa/esb/samples/quickstart/jmsrouter/test/SendJMSMessage.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/deployment.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_topic/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_transacted/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_transacted/quickstart-ds.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/load_generator/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/messagefilter/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/messagestore/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/native_client/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/native_client/src/org/jboss/soa/esb/samples/quickstart/nativeclient/MyAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/scripting_groovy/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/jboss-esb-unfiltered.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/smooks-res.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/smooks-res.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/scripts/check-origin.groovy
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/smooks-config.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/src/org/jboss/soa/esb/store/StoreAction.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/build.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/log4j.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/readme.txt
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/smooks-res.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/src/org/jboss/esb/quickstarts/bpel/transforms/OrderNumNSModifier.java
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_consumer1/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_consumer2/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_mtom/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_producer/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_wsaddressing/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_wssecurity/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/samples/quickstarts/wiretap/jboss-esb.xml
labs/jbossesb/workspace/maeste/product/services/base-project-build.xml
labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/java/org/jboss/soa/esb/actions/MessagePersister.java
labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/META-INF/deployment.xml
labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-ds.xml
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/build.xml
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/src/org/jbpm/ant/DeployProcessToServerTask.java
labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/src/org/jbpm/ant/ProcessDeployer.java
labs/jbossesb/workspace/maeste/product/services/jbpm/build.xml
labs/jbossesb/workspace/maeste/product/services/jbpm/src/main/resources/jbpm-service.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/build.xml
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/DslHelper.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBRulesCounter.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/BusinessRulesProcessor.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/ContentBasedRouter.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/ContentBasedWiretap.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/resources/XPathLanguage.dsl
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/JBossESBRules.drl
labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/log4j.xml
labs/jbossesb/workspace/maeste/product/services/slsb/src/main/java/org/jboss/soa/esb/actions/EJBProcessor.java
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-commons-1.0.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-edisax-0.3.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-edisax-model-0.3.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-magger-0.1.3.jar
labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-tinak-0.8.1.jar
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/converters/SmooksInstanceManager.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/converters/SmooksTransformer.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/smooks/SmooksAction.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/visitors/DOMServiceDelegateVisitor.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/visitors/ServiceDelegator.java
labs/jbossesb/workspace/maeste/product/services/smooks/src/main/resources/smooks.esb.xml
labs/jbossesb/workspace/maeste/product/services/soap/build.xml
labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPClient.java
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-in.wsdl
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-out-expected-http-rewrite.wsdl
labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-out-expected.wsdl
labs/jbossesb/workspace/maeste/product/services/soapui-client/build.xml
labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.iml
labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.ipr
labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.iws
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/META-INF/jboss-service.xml
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/JBESB_1713_SoapUIClientServiceMBeanUnitTest.java
labs/jbossesb/workspace/maeste/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01.xml
labs/jbossesb/workspace/maeste/product/services/spring/src/main/java/org/jboss/soa/esb/actions/AbstractSpringAction.java
labs/jbossesb/workspace/maeste/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/AbstractSpringActionUnitTest.java
labs/jbossesb/workspace/maeste/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/MockSpringAction.java
labs/jbossesb/workspace/maeste/product/tools/console/management-esb/src/main/resources/oracle/create_database.sql
labs/jbossesb/workspace/maeste/product/tools/console/management-esb/src/main/resources/postgresql/create_database.sql
labs/jbossesb/workspace/maeste/product/tools/console/management/build.xml
labs/jbossesb/workspace/maeste/product/tools/console/management/src/main/resources/postgresql/monitoring-mappings.hbm.xml
labs/jbossesb/workspace/maeste/qa/build.xml
labs/jbossesb/workspace/maeste/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/BusinessRulesServiceTest.java
labs/jbossesb/workspace/maeste/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/FunCBRTest.java
Log:
Merged revisions 20379-21158 via svnmerge from nd resolved conflict on product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
https://svn.jboss.org/repos/labs/labs/jbossesb/trunk
........
r20392 | kevin.conner at jboss.com | 2008-06-10 11:05:48 +0200 (Tue, 10 Jun 2008) | 1 line
Fix installation into AS 4.2.2GA: JBESB-1802
........
r20417 | kevin.conner at jboss.com | 2008-06-11 13:39:46 +0200 (Wed, 11 Jun 2008) | 1 line
Fix pool reuse on error: JBESB-1748
........
r20447 | mark.little at jboss.com | 2008-06-12 16:56:20 +0200 (Thu, 12 Jun 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1637
........
r20449 | mark.little at jboss.com | 2008-06-12 17:24:39 +0200 (Thu, 12 Jun 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1637
........
r20450 | mark.little at jboss.com | 2008-06-12 18:01:33 +0200 (Thu, 12 Jun 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1637
........
r20553 | kevin.conner at jboss.com | 2008-06-17 12:14:39 +0200 (Tue, 17 Jun 2008) | 1 line
Fix stream processing: JBESB-1816
........
r20577 | tfennelly | 2008-06-18 12:11:56 +0200 (Wed, 18 Jun 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1800
........
r20586 | tfennelly | 2008-06-18 16:20:32 +0200 (Wed, 18 Jun 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1800
........
r20633 | beve | 2008-06-19 08:30:14 +0200 (Thu, 19 Jun 2008) | 2 lines
Just changed the target name from "04_Reptiles_notify_webservice" to "04_Reptiles_notify_webservice_proxy" as this is what the documentations says.
........
r20643 | tcunning | 2008-06-19 16:21:29 +0200 (Thu, 19 Jun 2008) | 3 lines
JBESB-1814
Fix sequence problems for future integration with SOA-P.
........
r20651 | tfennelly | 2008-06-20 13:26:18 +0200 (Fri, 20 Jun 2008) | 1 line
Renamed the webservice deployment target back to the original. It was actually the docs that were wrong.
........
r20652 | tfennelly | 2008-06-20 13:29:20 +0200 (Fri, 20 Jun 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1831
........
r20682 | tfennelly | 2008-06-21 16:10:23 +0200 (Sat, 21 Jun 2008) | 2 lines
http://jira.jboss.com/jira/browse/JBESB-1835
http://jira.jboss.com/jira/browse/JBESB-1840
........
r20683 | tfennelly | 2008-06-22 00:38:14 +0200 (Sun, 22 Jun 2008) | 1 line
Added explicit setting of the registry connection class as suggested by Daniel.
........
r20693 | beve | 2008-06-23 12:54:02 +0200 (Mon, 23 Jun 2008) | 3 lines
Initialized merge tracking via "svnmerge" with revisions "1-20413" from
https://svn.labs.jboss.com/labs/jbossesb/workspace/dbevenius/ruleservice
........
r20696 | beve | 2008-06-23 13:38:41 +0200 (Mon, 23 Jun 2008) | 4 lines
Work for JBESB-644, JBESB-645, JBESB-643. These are implemented with the new RuleService which is why this is one check-in instead of three seperate ones.
Drools is now at version 4.0.7.
Note that mvel has been upgraded in the main esb project aswell(product/lib/ext): from 1.2rc4rv908 to 1.3.1-java1.4
........
r20699 | beve | 2008-06-23 14:50:32 +0200 (Mon, 23 Jun 2008) | 2 lines
Moved the domain classes in dvdstore to their own package. These classes have the same package name but differ from other quickstarts.
........
r20700 | beve | 2008-06-23 14:52:20 +0200 (Mon, 23 Jun 2008) | 2 lines
Moved the domain classes from dvdstor into the businesrules package to avoid conflicts between other quickstart. The conflicts are due to that these classes are different.
........
r20716 | tcunning | 2008-06-24 05:06:32 +0200 (Tue, 24 Jun 2008) | 3 lines
bug:JBESB-668
Initial commit of jon plugin work.
........
r20720 | beve | 2008-06-24 08:51:36 +0200 (Tue, 24 Jun 2008) | 3 lines
Removed merge tracking for "svnmerge" for
https://svn.labs.jboss.com/labs/jbossesb/workspace/dbevenius/ruleservice
........
r20731 | mark.little at jboss.com | 2008-06-24 15:44:40 +0200 (Tue, 24 Jun 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1846
........
r20766 | beve | 2008-06-25 15:24:42 +0200 (Wed, 25 Jun 2008) | 2 lines
Test for http://jira.jboss.com/jira/browse/JBESB-1504
........
r20804 | beve | 2008-06-26 15:17:57 +0200 (Thu, 26 Jun 2008) | 2 lines
Fixed a typo in the IMPL_CLASS tag name.
........
r20806 | beve | 2008-06-26 15:45:31 +0200 (Thu, 26 Jun 2008) | 2 lines
Work for JBESB-1844 "Document RuleService"
........
r20835 | tfennelly | 2008-06-28 11:55:40 +0200 (Sat, 28 Jun 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1795
........
r20841 | beve | 2008-06-30 14:38:57 +0200 (Mon, 30 Jun 2008) | 3 lines
Work for JBESB-1844 "Document RuleService"
Merged in Jeffs documentation.
........
r20842 | mark.little at jboss.com | 2008-06-30 15:35:39 +0200 (Mon, 30 Jun 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1638
........
r20854 | beve | 2008-07-01 13:30:04 +0200 (Tue, 01 Jul 2008) | 2 lines
Work for JBESB-1504 "CBR using rules has poor performance"
........
r20867 | mark.little at jboss.com | 2008-07-02 09:36:52 +0200 (Wed, 02 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1807
........
r20870 | beve | 2008-07-02 10:11:24 +0200 (Wed, 02 Jul 2008) | 2 lines
Exceptions was created but never thrown
........
r20882 | mark.little at jboss.com | 2008-07-02 15:06:44 +0200 (Wed, 02 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1686
........
r20896 | mark.little at jboss.com | 2008-07-03 15:48:28 +0200 (Thu, 03 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1632
........
r20906 | beve | 2008-07-04 16:57:52 +0200 (Fri, 04 Jul 2008) | 2 lines
Work for JBESB-1426 "CBR XPathDSL should allow namespace aware documents"
........
r20909 | kevin.conner at jboss.com | 2008-07-04 19:38:55 +0200 (Fri, 04 Jul 2008) | 1 line
Add certificate support: JBESB-1811
........
r20919 | kevin.conner at jboss.com | 2008-07-05 15:01:38 +0200 (Sat, 05 Jul 2008) | 1 line
Added test suite adapter: JBESB-1859
........
r20921 | kevin.conner at jboss.com | 2008-07-05 16:57:03 +0200 (Sat, 05 Jul 2008) | 1 line
Updating remoting configurations to prevent conflict: JBESB-1727
........
r20926 | tcunning | 2008-07-06 06:33:09 +0200 (Sun, 06 Jul 2008) | 3 lines
bug:JBESB-1654
Add code to track byte size of message at serialization time for monitoring.
........
r20927 | tcunning | 2008-07-06 13:19:30 +0200 (Sun, 06 Jul 2008) | 3 lines
bug:JBESB-1654
Protect against NumberFormatException.
........
r20941 | kevin.conner at jboss.com | 2008-07-07 16:38:35 +0200 (Mon, 07 Jul 2008) | 1 line
Added ability to configure local schemas within soapui-client.sar: JBESB-1812
........
r20946 | mark.little at jboss.com | 2008-07-07 20:06:37 +0200 (Mon, 07 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1740
........
r20949 | mark.little at jboss.com | 2008-07-07 23:27:46 +0200 (Mon, 07 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1306
........
r20981 | mark.little at jboss.com | 2008-07-09 20:19:44 +0200 (Wed, 09 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1863
........
r20982 | mark.little at jboss.com | 2008-07-09 20:19:59 +0200 (Wed, 09 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1863
........
r20983 | mark.little at jboss.com | 2008-07-09 21:08:26 +0200 (Wed, 09 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1857
........
r20984 | mark.little at jboss.com | 2008-07-09 21:12:07 +0200 (Wed, 09 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1781
........
r20985 | mark.little at jboss.com | 2008-07-09 21:28:20 +0200 (Wed, 09 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1689
........
r20988 | mark.little at jboss.com | 2008-07-10 08:54:27 +0200 (Thu, 10 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1645
........
r20990 | mark.little at jboss.com | 2008-07-10 12:21:13 +0200 (Thu, 10 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1784
........
r20991 | mark.little at jboss.com | 2008-07-10 12:21:27 +0200 (Thu, 10 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1784
........
r20994 | tfennelly | 2008-07-10 16:36:41 +0200 (Thu, 10 Jul 2008) | 2 lines
Fix for mapping the maxThreads onto the listener config.
http://jira.jboss.com/jira/browse/JBESB-1865
........
r20995 | kevin.conner at jboss.com | 2008-07-10 17:00:08 +0200 (Thu, 10 Jul 2008) | 1 line
Fixed last port: JBESB-1727
........
r20996 | kevin.conner at jboss.com | 2008-07-10 17:02:46 +0200 (Thu, 10 Jul 2008) | 1 line
Added JDK6 support: JBESB-1674
........
r20997 | tfennelly | 2008-07-10 17:05:18 +0200 (Thu, 10 Jul 2008) | 1 line
Added test for http://jira.jboss.com/jira/browse/JBESB-1865
........
r20998 | tfennelly | 2008-07-10 17:06:01 +0200 (Thu, 10 Jul 2008) | 1 line
Removed unused imports
........
r21000 | tfennelly | 2008-07-10 19:25:35 +0200 (Thu, 10 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1831
........
r21004 | beve | 2008-07-11 09:29:51 +0200 (Fri, 11 Jul 2008) | 2 lines
Work for JBESB-1660 "Improved Spring integration"
........
r21013 | kevin.conner at jboss.com | 2008-07-12 12:55:04 +0200 (Sat, 12 Jul 2008) | 1 line
Updated to include CP2/FP3 modifications: JBESB-1867
........
r21014 | kevin.conner at jboss.com | 2008-07-12 13:38:42 +0200 (Sat, 12 Jul 2008) | 1 line
Fixed test_delivery usage: JBESB-1727
........
r21015 | kevin.conner at jboss.com | 2008-07-12 14:13:11 +0200 (Sat, 12 Jul 2008) | 1 line
Fixed test_delivery usage: JBESB-1727
........
r21017 | tfennelly | 2008-07-13 09:47:58 +0200 (Sun, 13 Jul 2008) | 4 lines
http://jira.jboss.com/jira/browse/JBESB-1831
http://jira.jboss.com/jira/browse/JBESB-1832
http://jira.jboss.com/jira/browse/JBESB-1868
........
r21018 | mark.little at jboss.com | 2008-07-13 10:17:13 +0200 (Sun, 13 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1625
........
r21019 | kevin.conner at jboss.com | 2008-07-13 11:51:13 +0200 (Sun, 13 Jul 2008) | 1 line
Disable BusinessRulesServiceTest: JBESB-1869
........
r21020 | mark.little at jboss.com | 2008-07-13 13:29:35 +0200 (Sun, 13 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1758
........
r21021 | mark.little at jboss.com | 2008-07-13 13:42:02 +0200 (Sun, 13 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1729
........
r21022 | kevin.conner at jboss.com | 2008-07-14 12:14:06 +0200 (Mon, 14 Jul 2008) | 1 line
Fix properties/dependencies: JBESB-1703
........
r21023 | beve | 2008-07-14 14:52:00 +0200 (Mon, 14 Jul 2008) | 2 lines
Work for "JBESB-1622" "Need to add an ESB reply to header"
........
r21024 | kevin.conner at jboss.com | 2008-07-14 14:57:32 +0200 (Mon, 14 Jul 2008) | 1 line
Handle wild card binding address: JBESB-1804
........
r21025 | beve | 2008-07-14 15:51:40 +0200 (Mon, 14 Jul 2008) | 2 lines
Work for JBESB-1856 "Update ServicesGuide section, "Content Based Routing using Smooks". The Smooks configuration example is missing."
........
r21027 | beve | 2008-07-14 17:06:06 +0200 (Mon, 14 Jul 2008) | 2 lines
Work for JBESB-1808 "business_rules_service QS is missing an action"
........
r21028 | tfennelly | 2008-07-14 21:07:08 +0200 (Mon, 14 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1869
........
r21033 | kevin.conner at jboss.com | 2008-07-15 10:55:20 +0200 (Tue, 15 Jul 2008) | 1 line
Removed references to smooks-cdr and admin console: JBESB-1870
........
r21038 | tfennelly | 2008-07-15 17:23:54 +0200 (Tue, 15 Jul 2008) | 1 line
http://jira.jboss.com/jira/browse/JBESB-1869 again - jdk6 issue
........
r21043 | kevin.conner at jboss.com | 2008-07-15 19:41:27 +0200 (Tue, 15 Jul 2008) | 1 line
Added support for binary/character types and use streams for blob/clob: JBESB-1805
........
r21048 | tcunning | 2008-07-16 06:12:05 +0200 (Wed, 16 Jul 2008) | 3 lines
bug:JBESB-1459
Make sure that we enforce unique service names by category.
........
r21085 | kevin.conner at jboss.com | 2008-07-17 14:53:23 +0200 (Thu, 17 Jul 2008) | 1 line
Support BLOB/CLOB for Oracle: JBESB-1833
........
r21088 | kevin.conner at jboss.com | 2008-07-17 19:06:47 +0200 (Thu, 17 Jul 2008) | 1 line
make acknowledgement consistent: JBESB-1872
........
r21089 | tcunning | 2008-07-17 20:50:29 +0200 (Thu, 17 Jul 2008) | 3 lines
bug:JBESB-668
Update plugin with bytes processed and failed.
........
r21107 | kevin.conner at jboss.com | 2008-07-18 14:18:39 +0200 (Fri, 18 Jul 2008) | 1 line
Fixed timestamp update: JBESB-1770
........
r21108 | kevin.conner at jboss.com | 2008-07-18 14:30:58 +0200 (Fri, 18 Jul 2008) | 1 line
Update build version: JBESB-1875
........
r21109 | kevin.conner at jboss.com | 2008-07-18 14:42:15 +0200 (Fri, 18 Jul 2008) | 1 line
Included SFTP/FTPS changes: JBESB-1877
........
r21111 | tfennelly | 2008-07-18 15:52:50 +0200 (Fri, 18 Jul 2008) | 2 lines
https://jira.jboss.org/jira/browse/JBESB-1428
Made life very difficult for myself. Tried updating the test runner code but ran into one of those snowball issues where fixing it required fixing 2 other things etc etc, so I just reverted it back :-(
........
r21117 | kevin.conner at jboss.com | 2008-07-18 16:21:22 +0200 (Fri, 18 Jul 2008) | 1 line
Tidy up some actions: JBESB-1871
........
r21125 | tfennelly | 2008-07-18 23:48:38 +0200 (Fri, 18 Jul 2008) | 1 line
https://jira.jboss.org/jira/browse/JBESB-539
........
r21126 | tfennelly | 2008-07-19 00:25:32 +0200 (Sat, 19 Jul 2008) | 1 line
Removed that darn FileWriter test code grrrr
........
r21144 | tfennelly | 2008-07-21 17:22:11 +0200 (Mon, 21 Jul 2008) | 1 line
https://jira.jboss.org/jira/browse/JBESB-1852
........
r21158 | mark.little at jboss.com | 2008-07-22 11:44:04 +0200 (Tue, 22 Jul 2008) | 1 line
https://jira.jboss.org/jira/browse/SOA-638
........
Property changes on: labs/jbossesb/workspace/maeste
___________________________________________________________________
Name: svnmerge-integrated
- /labs/jbossesb/trunk:1-20378
+ /labs/jbossesb/trunk:1-21158
Modified: labs/jbossesb/workspace/maeste/Developer.txt
===================================================================
--- labs/jbossesb/workspace/maeste/Developer.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/Developer.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -46,6 +46,11 @@
=================
NOTE: you must ensure that all source files have the standard JBoss copyright at the start.
+DO NOT reformat code that is checked out from the repository. In the JBossESB 4.x codebase there
+is no mandatory style guide (we will fix this in the ESB 5 effort). If you change the format of
+code for no other reason than to make it easier to read, it makes it harder for others to determine
+what changes have occurred. Such changes may be backed out as a result.
+
If adding tests then they should either be called:
*UnitTest - unit tests
Modified: labs/jbossesb/workspace/maeste/product/.classpath
===================================================================
--- labs/jbossesb/workspace/maeste/product/.classpath 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/.classpath 2008-07-22 12:21:06 UTC (rev 21159)
@@ -21,6 +21,7 @@
<classpathentry kind="lib" path="lib/ext/antlr-2.7.6.jar"/>
<classpathentry kind="lib" path="lib/ext/commons-collections-3.2.jar"/>
<classpathentry kind="lib" path="lib/ext/commons-lang-2.1.jar"/>
+ <classpathentry kind="lib" path="lib/ext/commons-codec-1.3.jar"/>
<classpathentry kind="lib" path="lib/ext/emma_ant.jar"/>
<classpathentry kind="lib" path="lib/ext/emma.jar"/>
<classpathentry kind="lib" path="lib/ext/groovy-all-1.0.jar"/>
@@ -29,8 +30,8 @@
<classpathentry kind="lib" path="lib/ext/jboss-system.jar"/>
<classpathentry kind="lib" path="lib/ext/jbossts-common.jar"/>
<classpathentry kind="lib" path="lib/ext/jsch-0.1.jar"/>
- <classpathentry kind="lib" path="lib/ext/juddi-1.0-SNAPSHOT.jar"/>
- <classpathentry kind="lib" path="lib/ext/juddi-client-1.0-SNAPSHOT.jar"/>
+ <classpathentry kind="lib" path="lib/ext/juddi-2.0rc5.jar"/>
+ <classpathentry kind="lib" path="lib/ext/juddi-client-2.0rc5.jar"/>
<classpathentry kind="lib" path="lib/ext/junit-4.1.jar"/>
<classpathentry kind="lib" path="lib/ext/log4j.jar"/>
<classpathentry kind="lib" path="lib/ext/mail.jar"/>
@@ -44,7 +45,7 @@
<classpathentry kind="lib" path="lib/ext/xercesImpl-2.7.1.jar"/>
<classpathentry kind="lib" path="lib/ext/xml-apis-1.3.02.jar"/>
<classpathentry kind="lib" path="lib/ext/xmlpublic.jar"/>
- <classpathentry kind="lib" path="lib/ext/xstream-1.1.3.jar"/>
+ <classpathentry kind="lib" path="lib/ext/xstream-1.2.2.jar"/>
<classpathentry kind="lib" path="lib/ext/jboss.jar"/>
<classpathentry kind="lib" path="lib/ext/commons-io-1.3.jar"/>
<classpathentry kind="lib" path="lib/ext/edtftpj-1.5.4.jar"/>
Modified: labs/jbossesb/workspace/maeste/product/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,10 +5,13 @@
</description>
<condition property="JDK_VERSION_OK">
+ <or>
<equals arg1="${java.specification.version}" arg2="1.5"/>
+ <equals arg1="${java.specification.version}" arg2="1.6"/>
+ </or>
</condition>
<fail unless="JDK_VERSION_OK"
- message="JBoss ESB requires jdk1.5 to build."/>
+ message="JBoss ESB requires jdk1.5 or jdk1.6 to build."/>
<import file="esb-config.xml"/>
@@ -34,7 +37,7 @@
<property name="org.jboss.esb.internal.jar.dest" location="build/jbossesb/lib"/>
<!-- JBoss ESB version -->
- <property name="version" value="4.3.GA"/>
+ <property name="version" value="4.4.GA"/>
<property name="esb.server.name" value="jbossesb-server-${version}"/>
<property name="esbserver.dist.dir" value="${org.jboss.esb.internal.dest}/${esb.server.name}"/>
@@ -320,33 +323,6 @@
<mkdir dir="${org.jboss.esb.installationdirectory}/docs/tools"/>
<copy file="tools/configeditor/editor/docs/JBossESBConfigEditor.pdf" todir="${org.jboss.esb.installationdirectory}/docs/tools"/>
-
- <mkdir dir="${org.jboss.esb.installationdirectory}/docs/services"/>
- <copy
- todir="${org.jboss.esb.installationdirectory}/docs/services"
- >
- <fileset dir="docs/services">
- <include name="*.pdf"/>
- </fileset>
- </copy>
-
- <mkdir dir="${org.jboss.esb.installationdirectory}/docs/advanced"/>
- <copy
- todir="${org.jboss.esb.installationdirectory}/docs/advanced"
- >
- <fileset dir="docs/advanced">
- <include name="*.pdf"/>
- </fileset>
- </copy>
-
- <mkdir dir="${org.jboss.esb.installationdirectory}/docs/governance"/>
- <copy
- todir="${org.jboss.esb.installationdirectory}/docs/governance"
- >
- <fileset dir="docs/governance">
- <include name="*.pdf"/>
- </fileset>
- </copy>
<mkdir dir="${org.jboss.esb.installationdirectory}/docs/samples"/>
<copy
Deleted: labs/jbossesb/workspace/maeste/product/docs/Adapters.odt
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/docs/Adapters.pdf
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/docs/AdministrationGuide.odt
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/docs/AdministrationGuide.pdf
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/docs/MessageActionGuide.odt
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/docs/MessageActionGuide.pdf
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/docs/ProgrammersGuide.odt
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/docs/ProgrammersGuide.pdf
===================================================================
--- labs/jbossesb/workspace/maeste/product/docs/ProgrammersGuide.pdf 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/docs/ProgrammersGuide.pdf 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,29 +3,18 @@
2 0 obj
<</Length 3 0 R/Filter/FlateDecode>>
stream
-xuR;k1ÞïWhøj=lÝ14M2tt(Ý:¥¿k!Üa²dÙ±Gøé¾!Bf$:z¼àe_éëòÑm§)÷"¹`z Lç×"PÅ5PQ®· ©JIÜzkÀÂbeÚ·ýðµ,Ú"Ö·é¹ÛOÝñuìH̽^É phä)*m.Y-Á¼³)jÊcM%KNkÈ¢Øàøã<Ì®²û÷3â)yJ;kª{E×°.bûíésùÍ1Ì!*6~-¬×}ÀX8ZÎÃÛ»Ñ<9¾AF¬!Hþ4J
-2WÌ11®úÃÌ&ôÚï.ÛÃìgAÊÐ(Ç}ì¦b;|óÔ6»¨î@8¹ÞÔÿàó¦;Â/ìJâ
+xRÛJA}߯ȳàtÉe l+>Vü
+» ÂÌ9'·ßÍD¸AÜ[.þø
+OWð1$=Þ7õq|kîú ?BÃ4$`ÀпÀjÁü½5ß2éÖ%ILo w94ïknR:%¸QãlClÓ7»±ª,v$±$%Kª¹GíÜÄÈÎü)äQÀD³záK2lè¿9?Ê´cc§:lKèÎRP·âÒÞ()m&rS;ì
+ìñ©úrê8wða¯
endstream
endobj
3 0 obj
-322
+319
endobj
-5 0 obj
-<</Length 6 0 R/Filter/FlateDecode>>
-stream
-x3Ð3T(ç*T0PÐ5
-T(T0²4Õ³T032Ò3Q021Õ3V°´Ð3+)
-
-endstream
-endobj
-
-6 0 obj
-92
-endobj
-
-7 0 obj
+4 0 obj
<</Type/XObject/Subtype/Image/Width 507 /Height 222 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 15443>>
stream
ÿØÿà
@@ -141,249 +130,281 @@
endstream
endobj
+6 0 obj
+<</Length 7 0 R/Filter/FlateDecode>>
+stream
+x3P(ç*T0PÐ5Ð3T034æ ²(U!\K!+P
+endstream
+endobj
+
+7 0 obj
+39
+endobj
+
9 0 obj
<</Length 10 0 R/Filter/FlateDecode>>
stream
-x½ZË,GÝ÷WÔÚPåxfdBp»ºr1;CÃ,ïlÌÀx3¿?ñBWåuSP]éH:RÜäåoÿ½ËUøTþÛmáû÷_/ÿáò7q[ØÖKý÷÷¾9qÛ.Nº¾U¸áüí8gøøaïoÎÏíìÍ^>¹üxÏßþq7]ß»_å}q\þ¾+±_íÝ<ws_gö«³íW¥ãÈ8ÞéýçÏ¿½=?ß~ꬥõͤµ,¬eÍ®îËa
-³>%®q8ÿ~Ä],2.câ4ðXþÞNñ÷ò8¦Ü¯ÌßéLðßt[Ó]§ÉÆ7Îïlعâ¼t=¾¿¸ê³^/̬òôÛϪod^
-s¡øóÄG(vÍ|zm9:·ÃðL³á·RùDϤJÓQ¥zÎT)ÔMWª4ßÂ!Ú£ÒÒPz:[Ôã3-â§÷÷ò9>ªÞIEðÏ$Dr¬$æ,,.·y Jù
-nùúgªEìÊ|yA4²:)ʧ7\UçÏÃ,t#Òyß*X¤©Ðux$¼ïøp × b6Oþ(¿é¾Â1Áà¢O<ªAȪջEaÏ
- at g×Õ;2:ºQ'ØæÛB}kÃè£ÑSe0_ºTy^Üa
-BÐy4µCÐË:uÅnå8*Ϋ|@©V8[Ƕ4+ßI³»Ög¤+ÑmæA¢¸l ÁI¢¼ñ'X;É÷¨÷ÆÍtYl¡Ê>){ó⬮Ü
-[ÞبÂÇuNÁ<~kñv<Û
-é#÷=mZR+c=!õ_WGÙ(q©Öî&û1«wâÒ@,Ä
}T^ÖxÑ8·©~ó%C½6¸än·¼U¯?á¤ÐûãWëÀ&ý2T7F®j$U+× U
-ÕLuÌ3z"mØj?ëv[Oìh[}ô
-,èuG6/MÜia¨²zN0ó©NªN>s
-yxó@@ÏnôN@
£Ð,ï§Ë{µuBk³èAkZ.7+W+[Upë8$Q_SEå*ÎsZOaî÷1K|%4ÿ[oLtÖNvEǨUKàHèé#Úªhp
-¨ç6à
-§fUçÎ!>ºIƺ¼¢ÚßDò2¬r'w
-AùÝ¥ 9^aa¶ø¨aì¥Pz4åÄë©5Æ«<]ÉþTòRzòµ#i s$Ñò¹
7æÎÑnÉ*h9
-z!ëDBBb×£¨¬;Ììc/%$ ÏÄ@Ê<Ó6ns1-2µÀ¨vÈÓÎ'j;q»r/B4jâàA5¢D·ºxjLRÕ¢oøß8+,â!~ÛSÔÕA½¸®Á<ÛRWh´ÇA1)ݶÚ)ÆÔ$ÑÞ±¹² \¡Þf¸'%;ÑÂI°xÒË|Fjåå8j$Ù|ð["Ų$Wõðò;; äC@gç|&Ä°ÜI<v´ØaoZÿ5ËÒ¶
-tj
- Ã-JX!YLiM;UR¦Jò§Y㺤 ×:6n,K6§ÒU)ø±T³/PòØUËÈ5øBe"ÉF3Ùl¼Ì¯þ³Ð¢ê´¶6HåÈãMe±äRÊ\ò kk5U¥@Åý[¨wê\Ø¥¸Ø¬j
-Z½R;Æ">ÊAëØkYì'%ÉÝt5²i¸`å6Æu£Ñ¾,¸)o5õ ôµGN]iɹ³ð$1je
-§3¡!Iâáp½.`·è á·Ô÷jUTäAâ¿Â¢*ú»§-Õê(:¶µ
-ÀF/S»Ô[È°*»<ÛàªmÛ)eÅbÃPSª
%ð<Èh§f`®ª,cyyÐLmÊÀ{Ó
-+øæåV¶òIôU çDÌó.%/ÇYÒ®fMXúJ_ºçGûYEïàUNsô¦a=®XzMj-5æ1&ÑsZÆA&à.úû^ÚÖøÄN,ö0~! ¤mÈDxÜBÊÑZ¥-ÈÍÿHý>`Jm¥y@
-&Q¯ÍÒÌ_N4¬ø^@QÌx±Å!fàEPIS±
-cd¨àôX 60Çø/¡Z~uw»ùúóøÕr.ýmÍ»!}Þ¦¯Û×}zÓ¾à1в±*h¹QÛ\ËÖµ=©Xå¸$ÅÀç²<! §ë8&êË[®2ÑøÀeçZ¥
¸f`hþ뺲¡GÒ쵨¹Ap(Dóqº´°óT¹x¤íá0 <`¸RØDÜ΢©õÒ0ï!Ì¥zsîR%Ïø:>µ,q©ö^¯¨Þ9H.$ÖºÓÛRm)Õ8«òò¤$6ØëXÐ3UÅSúâ8"ºÝ4êjH'CÑ EÅÜnËBXý.ÔqußX#ÄÖ¶pzáì«_«^%^¤[Þýc¯n¹ÏÜá¯É^ôM´*%¥mhZÏ
-'Ë;xe¤í!N^Ä9L¢9èÄÖDùWíùj{z ï¤\GJÀîE?Xì C¢4ÀîVX
-ÉeR°å¡D"
¤ô¡>"üOíoJúl
-¢Ï´¨Ömx øÐ\S$Ø°zôϺ1[{©W6ß:¥Fît>NX$a²Ékô×È&뤢Uý£:ôOK¶EëÍ@Ò¥(aÊÇf¶Yêö«µínîµ[D"c¼yÕoÉéK
ùeÌ×±Öà/·Ø:àv³?¾6ŶÃÕÝSuzímãÛZ´&=z®Óê®H¡ªLcÉÛ/+ªµT±Uô|é7ur÷¿Ãýò¦à ï7tÒg5à¦.ZIÑ4¢"[íQo¦ô2¥:T»OS"UavmWJõz1XÑC
4åeL5¥våé´Æ ÜDùËn;åx/>o÷Èu÷9°«hÖm7£z¯K{¥:<X^Æ7JÈ
-7
+xZÉä6½×WèlÀiq RªJmà°Û¦/óûAIÚè. +³ë{/õ<ýïí¿Ó<ý8?ÜÇ×\èõëÓï?Lÿ¼Íæ²LÇß_ÿzËó£L©"¾÷wøøå^~~ûåMÞàøÏ7?}~Å%B¸sÆ=3<âôùÇôÓË?òäÜôùeú9® RN.~[zåJ
+ røÏôù÷ÛöùökÛBV¦¥BÄKALK?ãîúÊ>=Ë=ÓñûWÚp\ ߸¡ã"ÍåÑ ÆV.9à÷ç¸2Ð\´Ñ/ ëóL£}zS<n ¸Näµ_|ϱ!xë9²o§æ3¼2ÐÔå·; æ8Âü=z\ Ðñ"]=x:.>yÙá²çåÝ\ÚÉWGwGóñ¦ _é3}ú`$cw¥7Ào¼¿Ûí£¢Íüá|]-F4XEMfl´"Êßg¿*ã¡ÅQ^ËØIü~ŹOÜUN2ÚwãIϹÖù>? g®
+ehsñft6k$s¥OxÇóøÝ«*«RCv;¶æ,wYC6ÊÕ}È(X.Oºo5ß¹è5±ï4féØ\δ*(Àdâ{¶ýªN¢G¡YÜN¦
+è/äÕYÕÕÅO
+z TåÂÉ÷~"ceoaTÈøªÙàaÑN´IG®ÒQͦ£©i-;BÎÍGP-OD?Ϋþ_ÚYàÞßG4
ðc~ONS2d
áå
+Mɽ¿ëÆ÷à#DÐ8Õ\²@Ó>@q§È2C¶ódíþíWç2r^=¤7gOvlqUÜ1óZ¸sµBh+Ȩ̀ùt¿mnΡ¦ö¾Ø!K0ÂѹiQMãÆËvÐpãù.^|ÏK©¨±°¢Ábñq;ì/E¿Ël.!¾1°Æ°vùäPZ À<¢k¶Y\@],înbö#k»ÎËö¤Ùv{lBA¾övO¾'Ç»³ËtW
Ìå9Ñ+¹$7s3üãxM#r,#ßm´¨wÈ»fRGÀdÿdѾŶ=Ý2«K
;ú.Ú¼ô"ÞÎTÑúÀs-¼Mbë=ó2^<d¯O}ö)6X¦nX䩶øø#äéÕºbÈ,ÉexúÌÊA`25gíÒ#X
+3ï£ê'wq»à),È'aÆÐLn
#]Ç
+_àßò
ÇÄiêf¼U¬@Ö,÷Y¶¥ª]¸c=àZ
+®òhW²°Ë6@«¬5¥·TÑç©Yâßc5Y¸^XM n¤iyEfîH®Å)y°-õÙÒg»þ TûfÙ3ôzFK¢[ãÉê¹/hn7U ÕÞ]¥å+ÉÝÖ@<_\£%KyÃI.:T¤Î÷q³
àÃ?O;ÊùW!JÃì
+Ó#»rì-qÅزqwÝÀã?®@¾wHǹOâÞ©ÛàaÌ8Ñm±E:ÔWGv&è¤.8º
+Ýj4ùÖûÄj/1l÷þ*XÈùsG¼ºl~Ìr¶zÚS_aáâl§"-LB0q©¢Åf2ÃݺúÇI5QE²UTU1r0nÙU>±/g+Ò$½+/«U¬¨eXþÊ=ÀêTÄÂ]V:¦à57#
+'ìJvÃÐgVªPpaïH\®jv{ICjåb×çZ,f[]§Ý!)¤ÖcJÂ'x±«$tÕ@Ó"t¹l-Ê8T
+×Vbuj/|IU{'uë¹^ÖþX©æwZAÙË÷[ªBÉyiz'åuäHÓSÁ~Uyd¬øwK©X"Qé)TEmÒ$ÞY%r²l_:x¿
SfÞYHæmM°kSÕnkÙ{¹v}Õ®íN+É»L.m»wÉk¹
+0ñäÂÇRVT®Nlé¤ý££Þhg,Ò1§sfî^DéºkWüÉmPÜP[S"2VʺÔVíPܶyÃ/÷Tb6hýt
+«W¡Pû¡:ýÓÄMêZ¹.Á$¾17câ
IÃ÷D-éΪuëkYåÂÔÏ#ñTøøàðgöO|
+øÙyuêå:z Î\á{
+Ï0çqJàNCrkï&ß±±_ò a%érDUÅ-ti~ï¾gÛ¸ª)HhmgQ¨¨»2ÜÇ<rP êºÇOXadíeX£®=¦JôZá°pÛpä;Ý·NE¤}{kâêÕÞ,W?Sk°#ö¨ÛµOÝ.6£F ñ2ÞrmW_¹î´¡Ëþ6µRSSD?ZЯk»Õâ¹_Чª£øÒÕ~(ñ7ôª'ÇßJq Z{ûÒ¶FiX:2 r(]¨ÝFÃÿ£õC¨6×kËJÊJÁÒ5¥3³wñÖþa>à¢$ =ÑãOöOÌ0çA¶»ìÞãxï÷2j]¼!zãµj¿h¹ôXÆsÇ&[é×éÿÃ4
endstream
endobj
10 0 obj
-2692
+2453
endobj
12 0 obj
<</Length 13 0 R/Filter/FlateDecode>>
stream
-xí]KoëºÞçWx}§âç$ö¢»è¢è®÷è¢@樂!)Q8´Óâ
-,00Þ ùAmaAEüÅ?3%ðû<*6NêMAâY|l¼òÜÐDÎy½ZàCàô-÷èÑ7ÞÀPZZ±ÇCF:G ~Öe°
öºÒpÅe3Lê`î:ÝÅwd¡
-ú±ÿ1TèN³Á
-¦8RðQÚ\@H½ÅÒxV\ CàFÂ+×ÜtnÌ
-øàl¸fmóuzÀwêæÙgxw¢ù~ÀÈÛm&¤Ì
-VÞÛx¹PÓ³t(A_2'® sñâî]5Qá]ëÕcH^x¦!<c¯0,zÇb)bRÚÌò¥ÔI¶L±>(
-×_'>þmO;
-[Ï 'VQnKOÑNÒ@ËÔ
-fL®Ëão>.¢-%ÒÓ]:
-pòý³ÈrS!Êo(cÈ1Ðé÷÷CW±Ó³~ÛQ01´[h{Âè¼øKô¹".ÊÙ$"$.U9WÚG¥ÑûÓøÆƶ²b^«VPÎܤ
- ¨¨â/côÇèþW
-ë,È5÷1,}qxpRÌpÒÞ¤·®èâÍýìÌW÷â@Ïè£ØZaeiy
-<ΦÚ|ª½ÍÝ83{_²4ïOi$JèÏ)÷¡ i¶á¦ßmý²¬½i¼FN^S5¸½4¡ÿ!o£K(èÖR lðw¹Á¡ëW¾93^2x"Ý¿!9 ª¾ÒÃùùýÿ0Bþc5,ÔÀïdÖ@ÄZQÈtFvBÖ\é)tJÍ³Õ uüõ´z©Ä@èZñË)Ú¦"á&©¦½TT\£i¯n|)
-õéLöÇ6ämfÄc×æó3¾Ç(x´.&/Iï·]ÐÉôµ¯u¼¥æ» ¥7¤~ð0G¯¶iï`bJ473k2
-óù:<¿Þ7kbIhhÖ¢RMÍÊ t;ÞË.}Êj¯ë>¸z^Y¬0v*wô
-µs°Á®[ãDµ",$.XòÑYÛÀ×qÑÓQDÌàïhóóúþò³²XÓÐX§F¥ãWTÕ¹tp)A§O:õ#ùx²ª³°â¥0U 6øaT<Ò1ô ;¤,õW?@ ./H¤J<^Ås¯.5°°¤¯4¡OõXÛ$$£7IÅù;ݺñ`ê ÑxêõW¸Hu¿eÙjîåCúõ={kc5Ë´Òj=ýþêã]ª¤Àåpä=ZÖ6O¥h/:µ9E¡"tr½ù{qÝ?y¦õI¾ gq÷~WX/ö Å
-¼òö{°iëpòÐm`I^CeJBè(/<¾?×ßlÝÔ¬AqØÁö8^'cUÖH«h
ò²j7eÉ6ѴݱuO|Ð2»¶+(Íè{sATB
-#Ô·@ÑÛ Õ`ÛB¥Æ¯Ðk=5a§´ÙÔS´n![¹ÛgWàlyRÒ¹âûmÙGÞäé@ñZb8R3Úv«µlÍE²{:Ëç
Êü1¥E²Ðgí¶¶L¯d¶8Ãþì3%ÜFÐb¡½U'ù¨»°ü±¾à@
-Ö¸&Ô ~v³8! ÞNd
-'iSÕä¦~K{~n¶©ü®h}ôª; ·iÚ}ÅÏ-vXmò®÷<´Í?R:଻c³Ã(·á#/ð¹6|ÚÐôF$ªÒÞÁþõ¤åä%Àf6%ª©fá.K¤ö×¼w¡ñÛàºBn$Ø
ïà Zâ|©òÐr1\Qm+ÅiäÁ@v'Ù×3ßADg]5H²`ü5+dØTD"$Ó¥F¥lÃÁ
-(@êõU)PX
-cRËMJdÜtòú»"°|#=1øÜ|¾
-±9 bª[2P¢½ýÈ
-~hÖ>Õ YX-J§Õ_ovlÃJh±VÆi¡mµÕbK±^汬
-jiË[åк_Î7Ò¾»`Eæ,Ý·*á
-þ73SÕaö¿¡ÑXÍrïú%
-u
-eåúÒÓúctoÇ;átß)bÀ3µµOQoHÇ´¡
-±¥5=®¢¥_,ÂÝÙOßpè+Îì[àÙzI²
-ü¸k.nxó]0¸Í3ÀGÎaûÒÔúì'ßP` n~R2äïÝbC]¥?÷|¼|Bb
-;òò]»Ã¶wHYl§÷?ͱUUb¡wðøþ½ã-Ô7!90Am¥a`SØ1ý©ô¤L{õz±ßèlh4<[[²?¥»7èº.Ñn>àSk¡¸ö?üÿd¿þsµÆo
+xÍ\ÉãȽ×Wð<åÜ`` [Ïcà°ÇÜÿ¾#2IQ_.¤¨êi¡««I)2òeìþ÷ñßA'98©è§üóÇ?¿ÿ2üçC1Ïÿþøק8¸Oj0ô»¤ôÁßI4ùEoûþù¡£gòVÜðùáÏ7yò¦ß~5ÚÝÜÕgù§×>ÿýqýüøíNãoýx$¦ÏÄ!Î=óhå;Q©QktÊiIAä{Ñþä¥l'R¼|ÿ°ú¤´Õõ×Gû-mi`>~E·#ßòîÖݪÈwë¢w[éA«±½:·Þ(Aò¼&9ðÞºèè¸6³Ä4^kß±$¼YZ¼uwû$ûÒ~M-ÉÀKIzøü!ë lYýA¥y"²yt¨P^S
E»ñ6ÑÈÀ
+óÓ@ÎÄ@ï],¡d'²%N#P.¤QÙºÚϹ[?Jë8[±ðÊÙô
ÄxW3É*ý´jöLò>k±Ø~°ï¼,ØIVϦe%å7Õö_ Ôol)HâÉ"Ô4Z¯A9¿>Òâd_ÌA¨6°i¡éÄi}Ævô#Ï»¥uùÎÚÖ¦·%X
+
ewȬÓ[U®ÜBÉxú Ãu¤ïLø<a
ÀÚ
+b¯pêÀi;EÒ(¼qu{ÍîÃê
+©¦®A©$ÔßXSwd&)×ÊpÄqOÖOr)];º:zdÜêôGPÏ÷µ¿Ë¤QßòÇÝ¿Wc3/!ÙsÈZV¥TI6©ræpnµQúVTËé¦ø^IEÂè=¡i£â"Þ*ð3!Ê !ùwú×f4ßçIÚë^J±Âk=lã¯G%<þbCÈ Æ°©Òî1Ûôó0í7H^¶RoLîÛw·«>Gxßt@Å'¹´ ²·é ÈfvREUERxªCÕF×L,ÕÎÛu9¹#r/ϲ']ê1`¼NgWë$¸r¡
Î
+ÎÙ{!Of![}B÷¼vr`-Âms¥lyeµ/öä}ØÒÿ@îìpÚÒ³ÛÇ«&´¥Ägjcf ïzì©LD©ML%UJgÈ{¥ø3gà
¯8²Ò`ÚoÇo)Ƕzwò$ã´±Õ$XJoIS s7T¬µQDþ÷p}¡½edøp1¥Öaÿïn7´:I=]?zô1áLjק»p/äÎï3¹þ!SãÀw|¯}X¸gU©ó2fU]¢O`GàSQµ1ÀÞdÛVDÃWøìi^¿bFµÒ¦*28Ô¿±>m5=Uªø@ݹ
ã0ÓýÙuWÑ8Ò¹*Üpm¸½F]höèÿÑqõÜDnϪén-'
+#|)æ +z!iãB¾s³ÙI}r Ò)x¶e1=Ê«G¡}÷©ß¥1ÇFòI(K° %ãÖ±";Ç3iÌýw»rO
+PÛµË7Üo 8'ì1IÂN«
ÅèYnJ ú=VÑ%z_#i
+t g5|²ñå`ãE I+(°MLyTQ«¹ä¤
+p ?Àаþ¥êFÁÙ¦6¦¶óÃ×Îê`a/m=Hõ=¥KG Y[ôÝWUÚ%Kpý²·|=Ex5| ZËÏl´"½¶Yt,k¤V]Í7#£¿7Ë
&Jj4gí7rEU#o¸Ð4Üp/ /Ä¡Ï6Áuj(h£ÓXÓ²_ÙB^7ÌÅfô4"¨/AaµºøâcxUâȪXÜ/Æ©^<¢,é9bT:»u2hSf;OU¸¦» Ç«-QùúÖ}YÍïNª¨IäÏipgî±åÌ,a®ÕyªÊÝeG+C>1>ü®çñrïæ^¾?×M§^su:Á
+ ÏvI´du@Ô:PR¹¬p*Rql«0×,AÞ6+´a8kÄî±a:EP^ÉXáiRïàÇR ²Ù'ßàäË2miNÎG©"í;Þ4áÒæÐZÁ¡qñ!w3:4
+
µ¾B:øýþŤzÄß ÁøõÀÑc:ö'&¤ëå¡#lZ<î±âQvÛÝK°=j*Î=5{)vßkf)^?æä{g¸?J2=¦g¥ÐLq@áIbÃ&ö1\#Æ+wȦðk๠ÜÊ{ÆMµ
¥Ý[g.üyÉþ£
+S¾«KνHmj<_+À²!º¯ R¸"í²l3.d2%¬Hçd~ÆÄ4Êè'¯Ýo`yïÀÐÚÕ§fôÐfÎç4XNæ½ÞÙôÌ- ½ØMwñ׸=`T{jZÁgG¹®X7Çh.9Üû¯üãµ^ÓãùëûÊ
Q¹\`I~Tô(ä«c|Úû4ʺ÷±Ï.Sucêà¸(ï¤.?7¢»BëÓݽf\1ÕnÜv<N»çnQ¼D=|ņ7W²êÏÉ<ZçhõÜíϬؽu ïà¡ïRPGøsÍÍå¹yÂü^=P ¸Ú!v#,'"XA>:вèAÈû/é8ÏqxY&u`*ÖHÝfh` ÷AXì¬'P
+öøç%»ÿóö¯ÐÖ¤1ããû_ßØ©ßÝg`dè>+ë×îoÞO#¢Óãm~Ó87åx<Éé¿vb-yÆkv`LíÓç¨l#Reh~ÚÙÛj´ xb¯v ¾¿Ü ïo/Ðûê@ßÃÇQ7=\¡½KÓ³_úêFáÌ<â9»w@ù~o³M{Y8ÍcPà3ÉàÕÎýw··*ð>íF«¿¾©2ØSSsþ¢(¢Hç¢8\w2Ñ@îl4{¤HÁåV?5ÙÒÌPæÈòKÊBàdÓ/ÀA¡ëîvùÞmÜ1>0M
+ôµIÎx7Vs²`RuºPk¬¹VÖé¸÷ãϦ',C{׶Õ|z<²öI¿f
ðùÂÒÜÈÚû´pCúÅ4À§ù ¶üÝ¿
+ÿ®R¹
endstream
endobj
13 0 obj
-3007
+2796
endobj
15 0 obj
<</Length 16 0 R/Filter/FlateDecode>>
stream
-xå\Kã6¾Ï¯Èy¤¨
-vgCoÐCÑ[wôP sé߯¨-ìÌdcÏ,°wâØøù;ñÃÿØáÈì5öhZ<¾|;üöéð»ÿ^þzøòü`ìeÎNòðüçá<p~xþþ{'y/;-{Þ¹>Ûÿhèö¨ÜQÚ£éëU§d¾ßiû£ß4ÐÿñüëÃùùáëlL®ÄIdçþ¨>ÜË
-95Év ¡íÿÎÝÓ°S{Ð8¿E
-:`Á´ÈDPp]´4Êlvæ]u2Ù!¶Çæ]¡¾
-úèmÃuê]Ã'ñègëd.U/:
ÎX ëÇo¨n{V¬·cpHÇÄëÌ£0ÛÛ)àÞßϼAÙÿ
E^= §:Bdäe$·ÇB(ß -J5 Ä£T8$ÛfÝZ|K>ÕjÊNë}û¶ã:PÀªoÎ'zuG~GTn/ô Aøìp52ÕeT
-æVqÆpÃ_.CÌκýþ¿ë«ÅLfh¼jôÜâFCà qôBx=ÎÒ9Ik9dÛ aD²ûý±áMn*Ûãr?|ëÀá ´¢j{ãÌÛ-#0ÜÞj }þörÞ
Þaó£²GuUu0Ò&l9uhM'Ä¿EÎ {¤ÃF%]´µ7à÷˺((,
yÓ bWU±kÜqgbJ¢o>nð«7x%FèI@·ÍI°¯pÒ£-)Mè]ȵ/"$ÚT$§>±ZѨÀèfÇäëâc©Ûä(LìCyÊU! MPÛòxýÅ$15Ù*êªó*»ÅçFÝ~ïÛNÔ!&C«¤ÚnOÑó<¹¿V©+É´=(û2àW at N¤º93Z®,æà)ÍãÃe²îèì4~ZÄëIu ë<lç¢uªnÑsûxØZ} 4ZÈÑÞ'àȺ¬Âò¦µK ³ÚÞÐß~¶ùjA³Ç9ᣰbi
-'/\}îGblÙ|ݽ1£Òl^y¦ÊУT"¯ªU3¡Á!¹¥:4ZwÒMrª<¨&fco°¹
5z3n<¦¸)ÿÃ?f§s5äc¥6CyÍ$Ñ2¥Õ¹cHÆÅ~Ür6#¸>åôü_µÔKרV¹)$áÎn\êÍ
-±½ëÚS|³ß$b^sJôåi´À1Ô
-SGå¢<=)êò'ÏCùW o0r :BÜ'b¡^Ø=¿4"ò ä
ZI ìªòSÜ~çûQµ0\¢ÖÁ:ßmHzVp룩^¦á
)B½¹á¶GhoÇ+Wób*VD^W×És³UßiCsÛ!úJìB2dÌWºÏêHØÓïÖæx=RtT©*j6Y¤¦£ó > ĦCçËûÛ<@©à¦eaöwÁavZÓ©0"3^a¼GäÊ.Cq810Lm1jUUØËÙ¹ilïÏîm$V¨HàºÓÒ4Íë|òq[Ùó´¶(}êöRÝ»;z\E5@iÔ5eä.Ò!ÿ²TÇ
-¸¦\°{õ+ÛҸǷ½ýq8/vrJצÁöj±
-Ö&²BK)a\Iتû4ö©µiGðå¸ÛЫ]ÑÂD&3ôÎĽ/&òªÂËÁ&XʨfÉ$ ñ§Ç\(Ö-"¡a®´=FOJaºÈȾS¬ÝzÃÇ.6B)_°F®³á]÷«!~î¡ÛCõ±¢ê#(
-¤ÏÂÕø¦í+âUÅ×=HE¼.lòv½8%[ ¤j!¿â}|®ÏmHjk뻤᮵®ª¨ÆW¿õ½|ªÂD'0Õ+I²a¹½S[·¡z
-õÂ5"Í÷Äø,»È3ßÍ÷yØÔÏÖQ13 ÒƵÙ÷¼ç¨®mä~³M
zV ~©qYoÐë #KAÐê¤JçìbJjÌ~n!x´f¨)Æs}[³¾ÚÞÛFT+
+xÕ]Ë+·ÝÏWhm ¾Ù
+jâ¹Â¼ES<?ÌiGÏEÄÛøÔú婺
+o\S¹©:%C^¿Ëÿåáõ°øÕ^ZÆþ.ê{bcTgØÏEíÏÓ¡I!qm þzsâas¦
+=Ó&IúàÓ1Ì$ZÙEp¯¸LÏôss÷#Év=on
+Oolºl3Û3Z
+/£mcÂƶQÉN¥e^vºP!ixÁéúÞ
+b¯¬IIüÓf±Îå¢ X.*cf}ÜãùôP½ºCh`Bê Ì¡ f,þl>f@0Õ,&¶J1SueÙo±U§Îwïé7`Z`a*,E*XC
+¦Ç£ÝÀ3Éên
+×Óìyà}\A9j²ØB´2ÝJÊ,wT2®ÃÚRH0´}ò5bf¥;åÀå[}¼ªGÂ^Ç[µC!ÃÏ÷¾;fyÞ®§»÷Àð¸Õ~ùÛäâ¹Y*]ó4GuFßV*#4e½uËVU?8-([§.3±Ë)tÿ³ëqpç?þþtñúéûì&þxÊöMÖ=[`îU¼¥ª]ðf·x´&+j˹»MØÜgéeÕ&ÓYf LéÍÒåÈüCæÝ
óìm?(f/Çè4fTöÊ%[ÇT9á#
+F¾MÜn?O5Y6GÿRÀÄæ·i;£eôQùªu§1'94bè)°5æ°[óhÓë5¯Ãbhî7´÷!s¼ø[`iJ}XEÍ ÈAá,;*©tlfZ
+9^çêh5b¶å~/Rõ°ÁÿxøÓAè©¡ýÉÊÓpÍ !Ç*þ4Û\çË
+h¸I:Z}[×WóÇ4ÎÚhL\÷ÁÕ+¤p^T5ç+¤®
+¨IYM»ÌJ¾ua±ÁèÊ´ÑÕé+p5ÀàÔlë´#½ ©«ØA&çYW6|ÀðXï-ÖÞ÷ÛIH¸Õ7ÍmÐ6¨²º
+ÆC÷K"¡Óq£&ÀÉÄQc
+Ë¡bF2o_
Æ·l¼aZÚÒñQÏÇ×:ËÙÜ
+F¸sJD^ZN-qÕy>ûÐ79V®¤tȳÊ5ÓùßÒ
+9SßÂkôGµ
+¬g#ÓåB?¼~P*¯`o'¼ËÈÁ²£=°Ô¬\ì[¦<K;9ãgù|.î}[¿K+Öhn\el@ -'j"}Ä «a)°»xhÍ`nbÓ
+ÏÐ:ÝóBÞÈñ¨L<H#¯PtÃÊí@U»´§°1<Ë°^Á$Õ»ðúá #^'_íØ9û÷Àó«DiÒ¶=ð÷CüY¶^OÊ
+³â«vǬiU¯9, 7·T`ö*{×^bõ
+~¸ªËNf9Ñо«Rb ùµ7ÇItSòñw@TÌmÃfÜñ7j ø"5 WÐ×8éJö*röð|ÍëM`!Å}`É×U¹m
¬Kô:ÇÅHÜ©; ¥ú·Þ
+nHYîQ*n68 W¡YÀ¬Øk¢#ITé
+
1o|& ,°Wî1vu×wVÆéMLd§·#Y0g6¦u[ù¿ëñϦo·p\]cªýÐñ¬³À¦Ç~µîìEèDÒzeìîê¿X(± :\!½t)¹IdU&·n({òÌeêëp&³îS~¶fÁ9Ýåy_Åï ÊÀ¥ÓΩ¾w,ÓFÔ¹ &æ¨"Þj½À¹NðÆe;¢-*"x/Ú[ë-ëÌ4@ñ¦óR$¬°^«L[5ñ>râxÁGþk ;éhÉ¿#¥ºï(©ÑK6$¶@-ªÇD
+¬-6DbñÄ!ZåÒdps´.¯IüV$..ÂÓ¶ÅÄÇ=_ë§6çãuì= é\f-.f]È,;àí(SLb©DѳNÁ°©g¹[§Ù§G!;ôUP¼Ý·PFqa×YÏËjEçy#:ÈÀw cwI2~«uNë<½:Ô<á±î^óà:âcõ^Å$MGá2}LgtXüØÖµìd£9ÉíßNrÐ+Ï÷ÁFäÁêwë÷X]!u.¼ê;:ð9Å.áÑvESF©Aí£Á¢ Ö&Â+Ô:Á¿F2ÂH=[#FiÀ²lCô#kÿÊЩçׯr$Mý wLàY¡S#Zêoì éÝfL¸vFsmsëz
sx¬[y«îZ¯ ã±:¯PTcv#Áã{ ƲòtvÆáB.
ó^ɶ¸;Cw ì
+]åùÄ2âQy<#
+ÛÞi¼A·S g{¶¾½it¬á*v`móÂkxá¥HQµ9ß1rj7ÏÝæF¹;ÓnÔ]ZÝ:%»Óð4ÉÊ
+a¼¶:8ÂÙ|Ñ{ÃGMDÞÌ7ZyJ¶
Ǫ¦ÍûÏð<ïÏï*áú_¯`]CA(O×Ë
kþéJóçËÄüØ´;W_è±~Óñi2bWGyES¾yÐlkk¸¯ùÀIÊ8aéLi[|ÞïéÇ{¿@̶;jÖí£»uw@ ~Zõk"×
+n~½9Õ
+鶴©5ût?ÞÖè ;s^7â {RÓ·à"aæ{²}C~Ø¢³#NÜvW×í°Ç³¿ù¹4îâí#
+[Uù ¹d3uî©£ÈÅZ£í=Íú¨Ìv zK/Ò
{[C¾=gÒk¯ä
+E:ÐàÛ.4J-'DcWDF6²îë=ȨAâÃmL>ÝÒ³*ºle ³ÖNÒ«I8qO#î»°Ú>SºkûðàöÚqÕVµ;¦0³b3¦Êùá=-·ï%ÓêwiÃGl¡Ú¸·ô"°¸7qÉïÁ×çãÝ·`Æ
+Û¢ÚÅ
+õÒ½zD
+6^`Érdo}ôìÍìÃÓ_èÔÀñ×ã-¶ñ«hw¸ó¨%n-½(Ò#û&8×^ÇEîÛÓ{üSíïáCƸ¶1nêÁ|];x>IRª|¬ÙÕôúiv¡Vÿqõj°·Þô*þ<#·ª°4âÑól2®Ø ¤|n(¨/È'ÔÖì8^XÝòv¨1úTO¶QÇëÝ
zNÈ;qÓo£¥gbá²r½ _ÃõÇWd´Z¥°ß/m7/q}\¨íýÛé?Tñ®þZlÐaÊ.µ¥.¾ä"¡ñ¸ò=c¥ÆÍlãÙ»û¥ã
+&m<2&CÖ
+°\gçß+ã<Ñ
Í4¥0Ý\'LE'^?ÂxCùÜdûÁ§ãyÉüÕº¯rÇeÆ$B^rêZp]h%hu|6ÿ\ÜríQøÊ
+Mß/lÓBÕ¼¦a¥¯ø¾Ø
+¾-pt¢qÖÃÿa£ÌË-jõ¢D/þ#w£±#¸dÞnѦ³ È dùÓALê
+ºa
endstream
endobj
16 0 obj
-2358
+4069
endobj
18 0 obj
<</Length 19 0 R/Filter/FlateDecode>>
stream
-xµZKã6¾Ï¯ðy¤z?
-æÃZ{ó:»ùµQhCwq>_b è|êôǤ½¸u%p1[+Yܺbs
-ÔªÃFÍrýäÙ¸Èl;È£óËiLä¥VtK¬
-©d¿²OÕ8kø̨@.Ö¹_×Wb¢ý¤ØªÚéÁ-
±
-R%Ó3t'5]g
-K÷|&"È*ð0h©#7ÊW;góä
-¤'ñW° ¸BqWçíÂ2xâ$Õ|£¬ÚÁ´jµ@6Ëå¨Ék¡xæ«XÎåvd
)>`y|зR³äB+HZ¨-úêR9Jw²GVÍöJ0ß-3^)ÁǶÑðÜ9ÌGfØçT>_!;¼³~ÇÒçýÝ«!ª×{Ù"Ì?ÿøÔM>¾ÃÑUEø'ÞUÚÞSeø¥»ä¦ÎLeK7<5t
EGr¡õÖ-Ⱦ°$5ÈcÛÕxëã²»¶[Ó×Yxn¶r"鲪_
-Ä]M¢·ç^l Õb4Çad¥Ç#t\ofý[p«â]¸ÃÀé**]$v#Sn]LqÎÍÑqÁètH®;°mÂRÔS_·
-lÙ,!ï5Õ¼=ÅÏß5;:tÕñaGlÚ<B¬
-kÄÖÂëºÓÍÀÑ8ËÑKsåtƨ0Ñî´¦kKñÆøhÛEÈ¥d½&TdäÄ4`§(òd¨Hª«\EMצ~ÏrÓ)óÿ"¹ ¬'ª0Àûrz(_`Aac÷ø75ù>¯å½A¤ëDÝÃY5Ù®¡4WeL¢Kx.Ø/
-/n÷×ôÇðÎ&ÁÝÚ<Gä:ß}âlR^dáO¾ÍJ¢õd
+xÍYÛ7}¯ÐsNu£8¶[»Ï)ôèCîK~?$5ïÛÚA0½;(ê<¼Ø»oÍÿλ_|\ >±çÏÏîïî?äçåkóû¥é|Û;¡îòûõ[t!¸Ë÷1§r.§RJ_#}
+Fÿ»üÛ@¡u×|Ì¡$Ì4J³1
+ã IbÀ4®OrÎèÉã52·ä¶æÒû$ïNæÓUcîù0ª®ñTYK3ò ïêm×饹èQûëÏæwyq¾M[¡«@º.·`¡{* è ®zÛ4cK at O3¹Ýj>ƺ&#vǽÚÄ.̺63X$æJÐan
+½g{W¥«ãZ½ø6hªvZY6Ä[Ð:âYB̷ĵ¬ùÙQµiئvX¡®Hû[
1J)ºG9}¿
+&r»¸x»Ðg+uÈ8ó0FTNúS¦s ß¾Ï
+·I<µzË3Ý
+J}dP÷¸78×»ËTí6aWRD$xËöv6(49;º4WVι gß)¥+$qÔ4Ê£¤NO²V<`"¤å,-îh¡»RUfPÐR^V $G)TX<çApÎ"¦ß!®æ>32¢dFµ2Çæ1S²klºN¯h[cË{p[òû³®àl&hÎò{Æë?e¦KÂ,E8£*$ÉHFƵfÒqî%ù×4É&=ÍÄlÇyܱ\Eà
ª~c~uÕÜ^ôn[6©ËÄv·/jEP´ÉúIvm-¼¬Èîè²ßëÌ5ïVòX}ÔO@[ê&¹Ãý8×;Ô» ½P3à~ËÈþ=|ÀöCo5ÒuY0IðLîbGÏ6÷òÙ}ùÐ|rßÔeêF
endstream
endobj
19 0 obj
-2018
+1286
endobj
21 0 obj
<</Length 22 0 R/Filter/FlateDecode>>
stream
-xZI%¹¾×¯ÈsCµ+ ÕU/
-¾»ÀÁ7{<Sÿ¾cR.oÚ×Ú"úb²ÍþóôÛd¦gÍdüæÿçô·/Ó¿iÿ~ÿ×ÓקÓÖ¾¸éãÓ6;Y3}üôã-ÕÝÒ¶Ú[òës¸åÍ÷u¹¥ýt~«¿%KóÔ\ÖçB
óÎ`?øU
-UZÓË@ýú÷¿<Ý?~¶.¼,SZìKfãd-ÉIæYóÞñÒúÌ·ôFÛñïóhG eX>ãúHgµ¸ü³V u°ÚzEÎÅEÙÑ.H`y<GZu&Àb)ɶÜæ3"Már²60ÿzIzñ3ù299~ó[ÜnÞ®¿S,/ólrB±d0¹#CBØÒwAbg¤¥¼,Ø?ÕªúN®`ó²wÕÊYê¡Ñ²+ Ìeÿ^téüÀ
»#N ±Áð·2´:ƺZf·Ç±Üvج{C®fOÊ?è¤JÀýf;qFÏÜÏ%eQÛî]¥ÐÁA4'°Àj7ûÏ
-1«ìâ¤#ûåÀÁ¿!ýD
-µË¨¢XTg[Æ`ÞÙk±T_®d(h·ë!îÇDµ
-Dè0ÿZñ í
-¬Ó¥Ç.AõeѼ&!
-¥rUój¸vdNÄæWèXº¦rEq T[8
ÌLD,¥ý¦#[R²ÜaÔgá}õ4t·Ñ õö;'Û ;ñB>RÊõPZV5&×^¤Fg<bYÊ ·ZßîòøëQ2Ï{Å9Eà4â@XwaÍðp¨fÅZkËdM¶
µ¯«)öÎRm4¯jç6§TëvàöÖíB?ÇûíBçTWéûGÚ
-Ù9]a(¢k *ôÔè[P
-¥D
-SV½¬e§:jbp84
-oò¢Td
-Í>Ü ¤j¼{x7{l°
r_Nº,/é@=çû Qp/T¹·á.|©ÈQ|¥öÙgS/óJmÑd-\§x(tõµBw:uÁx,cFkæ° ªJËaüªñÆ[ãîYT
-ö%°LÊHô¼îã0ÚZ$Ôþ³
-s¹|ÃÕ{A[
->môªpiQïÅ=ø^buXâ³é5^RúmDwv£Q°Iúh#l »ÒycëYW-À<ÂÌcµ'V¸ÈûyøÆCZø¹ÍáÙ3Û{?Ko
-µàí¾î±kÞSY:m-¦Øê©f;m'ºìPÙqQ®6ÊÞ¡ÊÝ|>:õǪ3åjl%I
¢¸jsEÙä6úªûª4çÒyáô¡1,l£¢c»ìñë+î½¼äG-µCàÚ:Æø9GØHßFø+}}e6Íß[¡ÑÊ}ð»òè¥ÕIYIö0vþ®T at yä0Ô¼utÔÓ¢È*á¡ÚLÚE©å·;ৠxn¨qéª
-âíBKó±w«Mè(Âæpé;Rë%CJâlRÌïÀ3D_Í¡ó¨\7;Ì&\{P
-<~M:â)ØZ×Rþ¶ð_øR îL²§;üc~-«ì·|q10ø°©È àû¸Ç}<`k)}²}«RÄwvòéÂZÒÌÖ!Oér-î>ìÀh¹;òÅ·b-dl:¼÷Ñ"Ôù1On8}¨9xáë)ÊY9?»Ô{}=)þ\O\²Å:PôÌ;ï4cEôG-£õîÇÕí³;ºûé7¼¬.'*
-åoj%²ûÅÛÞÙ«QÉÜòô*{¾ýðHRÁ×bw;Í3ÞÞ÷Êx*\XvNÀ*K|¸exÚ
-pÒOVëÑÕT`[Á/®fÿV_¢ËeIÊT»Ý6ÜRY_Ì%w¯)~HÔí
}«Ê¨·'1©ÔTzK)êb9§ê
-
+xµYÉÜ6½÷Wèl îEFq/9; ?LÄü~já&T'¬ÁHT±XõêÕ"µüsú{QËê¬
+^!ÑõÛï˯¿Nê½JqÙþþöÇÉÅs\B¸Ú=ÛÅès¢ß>±LúÁe_^OÆ9N[¼þ¶üx×gXlX^ßÏNîàÁõÓòúçI+Ë-üì]!Í
+ì^5ÑH+zÏ^t ?µh'÷½kÌ9ÌÞU¶W®øãÁÎGÆÊ6bÇ¥6çÊÚ9«Å
+t?ô£Á]ÑüÜƳiÏQBñ0»Ý=^Éw#Ê£p¿;^=Ø#{Xp¸ËXs÷â[¬óÞ:c^n¶è|çE§g;໸nbÛÇàç4:q?§ÑMMåÑvî¬á>)CÏ(ÜElë°Æñg·]ZÝTäÅj¯½¸+Zo0v!>\Ñt+H {EËî¾öB«d1`z½
+_ð=¦BC~#°-{b&jØ£ýDóîtÛ]öf²¹ä%ò ¹°¡¶pù^rq´Ëm|þO4Q¨´¥øndhäåñC2u{þ£ôÁþBÕ^ÈÖâÏ
+ºZVx}Ñ%èÈÄÒ±}KlÓ/Ef¸¤¯aBB±mIÐrù جÈAöeÄ=YA^YsòXbÅ_Þ_Ð -ª]ëý´R ó6i>¤Àq®¦Áo&äx½#Óq%.(fñSÑ¡Z|Å1ôHתzÃYD¸~á:aG3d¸-qÚ9¤Ót¬³sEÛhc1X"Þ6WLd=«îôU"æ/Ý HAT ~Dé±WYÉ`æH.pn5Û>KM kÈÙ_U!ÞLÄÓb[¢$0¸>¥2®®ràÕRCÎ57j±ßÁp)Á§÷
Ï&ìÛÖP´J&rW.P,þ
+ôµoȳUTÕ
+ð¿ã|bA¶hȽw-
+röPE¬ø´YkNØâuBE]ÛLÛ(tï¨>K}°#<8æ+ùïÂ]ç¬_KÊAD0Õþ
+FØ°¤ÃX%Ü>ǯT¡Fë¸ô*ª¸Ì£hÎlQ&#v±¯Éû>#±ÅLÓ¸P~T:îb<
+w_.;rÐéV¯¢wJþX$¬ô,XuÂ`åV÷ÌÈ&Ï<öyFÛXû#
+Æ;qâb¿3Ón䯫<YNm¤Âô̯P~Ô2°C¸Aõéª/ªøÙEêe>
+QÓcc@';(KqOOý&BÎâ)ýuãWPm¤fæOk®
QK[ÎÓÍM,w³hJ 'öÄid¸§Â°#ÄEF ªÝä
+#®IíãOC2b6#ßf^^?!¸6q2býf¼8ªUÍK¨¤¦µtèFRìÈrÂ. óú¢{F°HÓRæXÇðôÊHÛÐn¸fCßpU§-åÖC¸ÖS²®ûz at LÑ׸ÖK¿ èþnígW]l³æ ϵ+ ª)Bqáb!%Êñæ»u¾äp}4ÌÐV?¯9èEH⤢
+ $ûH«Ø
endstream
endobj
22 0 obj
-2602
+1880
endobj
24 0 obj
<</Length 25 0 R/Filter/FlateDecode>>
stream
-xÅWKÜ0¾Ï¯ðy!©ågÁ°äÐÛÂ@Koíz(t/ýû%'±3Îdæ´,dó°ìOÒ÷IÙøwú+¤h$Þ:Pxõ}¼~üßÄúÿ>~Î'°Jxm'Î?ÄÉ
-
-ð ¤éKÈÔDÿsþ±PQ̽´sº«ÈÚÌ;´GKå.b¼%»gò {Ð?þïsAÇè!Q·b×ézkÍGæ:VÏâÑ%æ#KZ<âzó\HªµY4#G9+̸jÚ·5ôT[æ3¥ú¥½h¹
-tsµÁÇýBG³o}CåzĮ̈¢ql¶¬²Y{åY;,Ï÷d¸¦·Å¹ð HÛâEÑ6juYæ,oò6.)ߧÍ÷Z¾µÙëZ[->Kk´¶Z¬ZÓ+ÿ°L9a>DI
- ²§²óÞdt};cK õùÈ
rYRNGåHn $cj>GÊÕ~1ôÍa_î
-yàr÷7IóDGjÚÞàä¿ )
-²g>b]yævW®/}6#wg!u½[¶aLÁHt¬úS *ÆQ÷£`N´â8´1N<µ¥®ÄÁ®oíe\,0=³J±-îkýµ©àYü4£LC-¡<]&ï=ÛCTÃ|ÛxÑ@`hhÀÓq]£Ú®%r.;·]¤Ö¥:å´ÑHÏÐDÿ.úÈÉgneeg,D¨oÅlséá;éåÜÂË_;fÛ489o7½üq=:jð^ É¿ßN¯â? ³U{
+xZÉä6½çWèl`r¸Sչ̹Çø<Ãpp_æ÷'Heán +dÁ«dÿ]þ\ÌòsµK²>sÁϯÿY~únù&ñÿ×ÿ^>½_¬ 0碻æåýçåOübíòþËò}É&n):óÃòþÛåñ~ù¼§÷ö&ôÞΩҵL¨NÎÊqBRzfîÉæC*´_¯haí÷érÝ×úëZ
+>=Ó#§á¨hä§ÿû_Í[Þ¿.æêñ;¬°¡sÄ@lYdË0[6ø_dsç²í5 æ|À>3beýTïîLÕDQ*5 b>¡º<vUyíú,{ÊîdÑ
+;²ül&S»8>ºM¹=#ïçG'P?Àô È°3(oa¢rìÍ5N[
+ÍÎôàmýL¶o²£òSÑdPÓt¦ª»ö-bÙ\?¨V³íÃw2Ù~mÈÃMak1~X̬þXF°y
óïÙPP}ì ôaVÝ_åp¿¿Ã>JÞcÊÑ)`£'³wðSpÁX±Ñ]ò8½IøÍ08ÁÒ\w¶V>¡ßyUR>à (&Òß
+kYWÚ5è<üZ6À¹#0)Jx;#pUTÆU¸B#'ÆlÏ®Ló$ ^28üý_Eøp»¿àÃ>oÞboÌÈî$ÓÈAGÕcZ¼§iáæ0ol?<L¬åÜ:Ììºó+æ^'ÆbSF`Ä×b1lÛÎ\
++õ=÷sc5ÚÁÝç4¸|Dã{Bsî¹O¾¼ñë<nàÃýM£¨õp1X.Õ~ùîò¾¯!xøTÕÒJZø)pà;Oz³b2GQÈÆ©
+M"b2Sä,¬$6D0E'õ " ³± OÉbn÷ò¹ ¤Ñ$©)"ópc¹×½'LM1±W¹Y6;qð$©©?F¸¢©[ª±Á7ÃpXüôUå¡©,_@ç(yôû"£D#YÉ£_/MÛhõNûÕu¡"ÕXÀscá¹<²4<âs1ÊÞi¿º.T¤L_ä$ý¾üX7®z)NvH5BSMôE%D<jd2©*RU#¥Q'zi'e` )©Lê¥4¹öI8à¨(7¡:BU#JY2¨QU<¨WÊØí¢YWu`oúkÝAƤÈ[©b³C'ªzª*k¥Ýµ¤E»àfR2©zù·¶3éÄ<j¤
+_'M7 ìC©0â0fór§MzÌA¶X½)v¥,HG¿`é÷L$
µ-³ËRñ)³2iì½Xåà¤Eçzß&)dÖ©YL¤ª(1¦ú@z?eÑ]á,µ:s
+SQ¾T_V2D:¡¥îi?dÿë
+f0Ý÷«^Hj
+£h®ÃP/DÁ+Y=±Ö§ wÝÕpËc{¶ØÛæ)f¨HHÝM±;ÄÈص¸¦pxk¡ö²y»þm×7¾M½V*X=ùÊk
ìçØQ¢~
¨ÞüÚº@mµgDO¸
+ôi䢦ȬÂ95çbe÷F
+vN
+1/éÏ}ÊÆ[Í¡bWÝÿ³ð±ÉºÉ{í_ö<©go>úÀqm&íûcиQrËææ
+÷4·à¼bù7ÖÍ+èù8N¿ö)íQ
§üÈÖF³*Y&·ç{ý¦à<®<2Qofܸß-zú1¨|ÈÚIÈpS@é¶]]èÞe
+N-YëÑç¾p°CA¿TÏ0³îã+
+½¢l*Z2Þt§èºÌTZu|¤ÍÕ¹&kÿbåÝ~@èä<IȯIr¥f¡«ËñðÏZêÜ08¦|AD+»ï~ñ ?O5l°g6ää=Ôá%>Ò3Üéí¤$ÒÒÜjePfc°í³18#d¢+f¯;Ê
+¿JÎðåp<ðø*É+;æþh7/Q1dóÂTï½Ï)WÃÁÿêL9è²uS4BÏÆ¡È}Hפ
õ´lT½
Vãü×C½6Fùºª3'wZµqöO/=ÇU5ë[%ºÇ5¼Á>'ËÝÿ(W~áÁÙS1&.ªÃûdC©ÇX0/-Ðënz)CFD©@ER}NÉ ZuâÕËÞmü?SïôÃÕNPªµs
+pàà)ÿiûÕþ»ñÓÞØ¿Õ¥ÙÞ·*ÍßmÁ4µåõJÆ®AAKOª]¢6n~FóJLØ ÂÊ@þ}4³
endstream
endobj
25 0 obj
-918
+2545
endobj
27 0 obj
<</Length 28 0 R/Filter/FlateDecode>>
stream
-x3Ð3T(ç*T0PÐ5
-T
+xV]kÜ@|÷¯Øç@Ý]iWòB(¤±Ýçþ6
B½þýÖkû>ìKRz!&Y[Òh4#wßλw¾
+NáªÙ®ÇoîËûUnÚÏñ{óñÐÊmç4ØÓ¯îýHº¿Ý=G>¸Ãf84OKÜçOÍir£ó->(¢îædTV)!9y«ÀL¾TE·¨û¨1\W®9´i§BÍ´e}K¢9ºàcKsÍYDä¿AYù8
+hÁ8û$µasü§QgÉâk½
+>dZ1%^ø0Ô³ëÌtîú*¸×ËÙ>sìVôs3ÁùIÍlh¶¥2 é:¥¨tK?Þº¢
+ç§Á!¶äµ*¶ °qµªý<Ô©]¼s¿\ÖUÄ}¾málɦi©¶mÓmF©.Ù÷¼r÷<PÂÞvÖ.¤17Ì´@´µ¾¾h5G.f0O¤_h£©Í¸Xɬsì]NOc·Jc¯úm ú¼èÒèÄö aß m3õû1öøVh_ó=w{ùR°ùò³DLn´ØaßئïSÏwÍûïýÉ
endstream
endobj
28 0 obj
-40
+678
endobj
30 0 obj
<</Length 31 0 R/Filter/FlateDecode>>
stream
-xÝ]ͯ$¹m¿÷_Ñç¦]úvfÞâ³øä{30æ%°/þ÷#~Idªûm_²íW¿®%ER¬Þí殿üõº]?mý2;ß?KÏ¿ýùúÇ®ÿ}Ùn5m^÷ÿö_íZ¶íæ¯)ºÞÀo·~ý ¿ýÏß.1!Õ-ÞâõÛ®¿{WW¯ß~ý÷ííþÉ¿¸Í¹»{q>~ñ3¹|ÿ^\¹ÿÇ·ß_^¿]þ°£ìJºæäz¿H×_CFº)æÐðÛ=¼Ä_KÌ©ø²[ p3ÑÍðFÎ-Ã×'=Áâ/ ñí/«±´Î¼þiZD_R '»¦ân¸«ÛhBå_ríÊîþ)¾ØGÞ»®/¹Á4;½¸_öòK~íé^ú$ûGôwÿÞNéc\Baaïéê³³7$:¿!]ç"Pö@ÙåþMw`Pe/([¤"¯p§Ò>àäµsn|Û'û).úϯD¥TxÂy?ï¡ÏOôñ
-êD
-G»þ5
/³õ[ÎÎ4º.ØìÏNÍ
-EÝTóߺÆÀcÁÍÇNÒY¦{;¸ÿ
-ϼä/4çðÏÌ×G:ï
-q®ó¬B¡â>+Ë@Éîì9´íȼ·$BÛþ&ý+ñFî $ÀæǤ%ÉHýÛ(Eb,µz°µÝ6ÃDø°1=ÏSû2§9§ì0&ìHQ§nNÉmêÒyCSÝ-Ü-ï'I@1°0PtOJ7ç²Þí±bÔä©bù$Æt*©.ÞjËk.ÀÂ<Þn1Çm.IägÿKeZÔjTäÙOÒhuÜKWÞ+ßý¢:~?¤0 ©õ?ÓhãIþ¾÷ÁÙ1d5Ñð³ý¾«CxÒ
-¼ÏôÎê÷v,»rö8Ðÿ;¤\ªÇÒßÃø¨ Ouǹ[Ùé0;ÀbVƧKø¸YÐ\EĬÒwÓxKl.زá¶òUµÅ>ÜGkxÿ6ëµY·ìí:íF;lÍ/±KÖ&õ<
-iþÌ*-ìw[±¤t·34jqôµàÍ{3NwwcýRµ0FþT¥[iFlµkÔN3¾²+E;)ý§ÂHä5%äÙþ÷
î$P«ÙçÐï`Ke6îæDõq˦¥ß/£÷ãg w¼<g2»0y3Í6¢mtëÚ¶Ìö¶tµÔ(
GƾY
-Y'·Ó 1Ý¢ÿCU9
-þ©ªÔx«{çx²
-'ÆðìLxØõôä£á\¿öìã@«+mcã=XÒÀ2¾ÞGj§ÝѳûéÅ`·Ô³ÏâtKýÜVK睊U®ßÀ!ÕÚÍvìÉ-ÖZOEÔçÛõ4ü{ÌQØOÕ£GnqoIpШÅÖ;pVíð§î9÷¶ã¾æA^¤UL«±ßLؾe7ã(ó··Z'cô}n=FãfêÕøü¨&ªÕÆòéB}ëc]ËÈ£tVc¡¾ÅÁ3/ûg-Ñ4¬¢ôÛ1Ïe!³ZèÜÒvþæâ;n¶sdÉì%Ô?«Vï¿Îõæ½ÝÂcÑ>-÷LþÑY.&`øíOS(my «ÐÄ)a(!sllhé¼ÎÔÏó¹.#æ©ÝAf5b«ÆJJSL<n¬"Ð&-8Ú8
-_+9Ô!j½]ÄRÌñqô mRgQÏ}@¢ïv*õRöL«\:Èà©VùpØÁ)"g#Mn¬³dßC/fQT(?úÊW¯ä§µ=\Yi§e¼w:YÃàhñql'±5Dúín ïGÖ§óf®¶=^äËÞ|
-ïðLKä`2ª%n;läfÂ"mAÓHë=¶mÚbÙ cÐÅý:²YÝZͨ<Ì¥Ôó6¢¨hy
-a¿÷v
-xãgI&O£¦eØÔv²6b`J×ÏÃúZ;&ÌV©máBéÅåë²fvï\c¶[^ÈÿÆåd`îVjËþ½Á8¢HsìÔ:$íöæÍà¦ß-np
ù9(ã¦Ruüîò×<ÈáMáFÁ/S¶Ý'§{c3ªÖê©$uN×Ʀ}]Yç®o·´ýSe©¡·Û)Ë[ö#.zç¥XX7¥cÅö(Ql²±íz¦o¼aÎѪ±/}Óá3lÖª½¥å$ø$ìaàNöc+\ÚêÝa
-ÓR:4çD }ªe[;·fXex¦«dUË·¾ªÏ½ÁW.ÏÒ;=ÑÚÙ8Q¥)XÖÌxh°íAà:ÄCùJ^Zù}ß;# Ößy æE§©Q§iRms_զ嫷
×ýøv"ìÕ¥WöIyâÑÚQÓV.¸ÚAû?¸«}P+X«ûtYXh EáhQ£íÑËpè!¶{Õ{ÖÌújó¸M·dÚÑ(ÙíÆ·ùþS
/î\3ÙU@²
-|b]k ¬ÒjÑü^u¼ñ.f$5ÕêËü=ö¸£Lµµð`ýÐæ¡óJ=_1ÞQ$¨¢ozÞñ&M´OÆ=òåÃÿЩ'nu®É
Lí¾nKQÛþ/¼~wY&ß2GClÌrÂFßg>ÌÜÍ9¶%3V¥4â9úÝé[~ôz%¾Ú¨t<²+J[^1gñõÉúÎùk}À7a±áÇQMV}<HS
-§O¼¨QJaÏÖ·qÖÑñù
-ë3MïÔ-ÍpæÓro^:CmL88³{{
-GjÚ¢Ó (,ÿÔ¤p(íX¸ú¯c-¾iå6j»ôiÖ¡Ü
-$î8xê|Ê[Ì@Ñsóá'3>øߺ¹éaÚü®Í':¥Ö:EƲÜu"äQ"Êd,µE[dxÄ%ÍsMYÏeä~¹R¼)óþ#¨F-pvqdàÑ¡àV2}ª×®6·âºv&výVÆõ4©hÓX>Â)!¨õr§@mnß>á
->íºäßv\wÈÔ¢t
-º0ª¬9©öHFQ
Z=H6ºqp\k ÕèÐÉ
-ÙÁÉÀWSL¶G ü.ÁQT¼¹]¡'¦C[9wXÐÎâÌPàÞi¸Ø¯Ñ¥ DÁUD¨;híÐÁl:õÂìó]J ymJä9÷^K¦+PµR¸5rðBÆ!WI)AÙ @ó`Ìe -
.,ÒS#¨ýûåaAk£©{Û%bPQs¼ðºp»± ºÆ
±'êCqÁÄç5¬XT¦G('ZÛØjCK3Ûs·}ÇJÈê®°³¥Øµtöp
Ïk¢£îÖºE¿A¯^Ïö8ÌqÚ[~YAyÆ!EDï<¥
-7WìO]ï#³^£5õhÄrfû.¨øã'ðz3W«ñèq¶riþ%äWß×úJþe`$ík"{ûÚD£u;ÔpY3/]-gö§±{\haøZÖ?=Õ¬ðòs<Ë7:-36|²Êö9Û=·8ìþϽL4\£¡ôhÿKäë±qleØÚ#Ò9)h9Ø^×È+GEôqW#qìÂXDcHSy¹âW.(¢ïØÿú®8I
Qod>AUóRsRóqÊ{\k©7r½^R÷4áifÞT÷jxZ
-«Pe,ÔÊÑÒ»ACcÉÝm Êjä®GäJ
-깧Q½ÅI¥ÇUJósÑk$«Ë1=%³h¦B]qaÇægÛÀ6õItKúßmq¦+ühH-7»A67áæ¥ÒMÍYZ'î'ä¦n*>65Sá²u«EÐÅ ÅË¢fRô
-=3ÍgUÚ<ÚÞÈö¾c6Ï6º)ÑÂ<·ýàuÂÓYõµwí§'3ÛþÙ{(Öã%2°¹Ô^/X~Ò"§½Ç{¡coÆáÂ%/®¦jzin`ßi¶½úL¬$lÑèav
òÀiBx¯;ï!ñ[yº×=4
o¾Û4*´ìèRHÇ<q1r¨à°]p _g¢AaC̼ ³,hXbe¸<bã{è'7Ã7ËFbd[ÿ7¬Á(dIP8Ü»A %ÆEV
-pySâVË춢hSfLIì¿4`G
FÙ;¡®×{Ý@e¦+FrÁqoHQbåQZã"$jÛMlâ4ãuSཹÃ~#ö$\Åk#àÔÑ0·¨ACç=JÂÌd¦²btf¶{FU ¨ààë*Fà
'Q ¯¨°û
ô
-Øó`Y&Æ23±Vf2§h³3××åÆÖeC5Ø8-8'H¸;¬Kë6n£/hh{q= Yëa¢ÉT¶òâ`±fdâµy¢Y>
ôT
-´:쵬ùºö|'¨µ&½ñ5YYc{¤ÅìXÇ¥ïÔ³FµqßA)
-Þæ"?çresÈ+DRøîx¾Z
-kTeR½ÇÑ»EõòÊ~SbvH]{CÃÏÞ.Sû¢Ò>727¹ 4¬*Í|¬}mзÚ'æF¥Ç+z´V²Þ¬QtNmn¬dC2'Hk¬ìÉÌqüSDÜNFçâ sú?¶À8Ub 4ÊÆWÏÆw&|Þ{¡"q{31HX ãÈÈÃýÿ2.$N*drÕBE
-}æw² ù\гxÔG¢F!Õ{XE£<EϱfòÐ~OÏIX5[±ùNø«EBH£ü:¸0J×q6¯ynE夡Ûf\µ@Á<©¨l
-©p¦¥wF<²¤©p¶{ÐPãóÙÉ=g¨'¤a*ÍHqpÇOf8qýÆ{0Âj±Æ®¥
Ç)ì³Li4¸Îvj6,¯/2ÒqQQ3Ú§³CC\W0ÞÝNDÇmN"Ç6
-I;Z+Æw<ÁÓwÆÏ8ß>Eã½ !Õ%§®<u5Gö]¢Sc"},vD±5>³O¼ýêó|ÏgÎjÈ©M§ÄF
@æ¢puº¬Pùº0êa÷ɱpÆ¢Ä|NN|Çlhí;àÁ³åkQ2ú|®®mJfËPöÓÀueÞ; ?©:¿jEªóÜ!4ÓÐWte·Ý._ص"
-)|pMÚSLµAÕAÝôÛl¼eJHe (OTyj$íÔÑ8At*ÊuÚçÖ·öªw̹֫#E5£=iê]f´ÇE:0üô¬ÆD)M3Ç]ÐõUÏWÏëØ&Ûã£*£MÚó¤GðG4"ú#q¿çÆQèèÕØÎéx^GóYRhÄu\áMVCPQ(qFã°± ÷Ñd]£BGl%(2([JvÅO>FLëA}²¢2#¶é8ÆvCç¢.ãM¯C^ÈD&s2£KcGT«sT2}ÄF¶J0JªtôÚõnÐ<Z*ê$íø,Ý¢yΣËñ^@'Ru9õÅ ëqFBÝ+5%³ U÷ã
-Äpv4ú~av¶
-¹È¬2ÉYî]ñhÑ>^³@ü¬f<Zm<úñÁâñppÂc4FÌAâ#Ñê
-Ǥ,K_±ÁÓÖØð¨¤]¯PÃkÝ*5ÓEã$4/g}Ô²ÆKØ`Óª½`ZwSUEÕëªmâ^t~ÓS%%áù^4HùÔ®cJªÆe¢iW¤úc]¥£ë
xGÛ!©/ISTµÉ¨`yX¥#O>¬·ÙÕ.é±Lt¬]u7£¢çätÏZ©äÒ#j`pMWHIRN×èL´JÊU3û0Þ®.it׬j×Y!E½Ïê!Aîz¬:Ó6ï8¡*#³;Ñ`òÒ[$¢D¬
-nV%#ª´z8-BrêISBÃG
-4Û6öÍ0j µACæTmÇÉ"Ï7UMåÝUçu©N¾é'ÉpëÚ¾@H!=ÒbFºBU[UþÓ¤pGI¯éÙÒ ¥@»"¢:JÁViy7&Ú"øk|]¢:F*6ôÊ¿ýË
Ês&:Ðë/ª(£»üЩÇ÷Í!
-~QÌ1úqeÄV~¶nèICe? xéïý¿ß÷ÿòOêïzëé V
-O1èÈ©H~-íûõÝÕ·+>_¿½_ð¨[ݽFõ\Ø0
-Ëhóâ¢lOP|£7x
-Ky2¹"¾aú${Û58¥¼1½Õ¯É?ØpÁà~«{NfP¢ºG
-K
-Óüz¢Ò °Iu@Ä{yäÂVnU
èDÎgÒáüüµ4+%*: >âx©f?PjIÚù¦r+_ø¸4>¥'Cá¨8BãïE<]Hütü¹?¼®3º¿H|¤ 1$ÎNàuâ¼EE
ïH¤ñüó:!{æ uÊCQRÉ4BJüæ@©Ð<+?Ió$W5 #zðγ`Æ SÆ ÄZã, ¢Èäè;i$ÖiOìÙîm¾ Ðp9ó¸¨ïBä')H¸kal<ª%®Û¨´î÷|¾¦ÂATìà ^dñq$È)@$Ì©à®@;I
-É{$Ì;±IÔE/&îyqãSÞS÷Ez]ÙI¬ÉNúî,5ë8þJëAÆå?÷|æ¹!?½¬à1vV&qÇá
-sÖlüvÛ^çJ.dDflÖMìozb;Y7Ôø\Ì=ÖeeyW±¯¶öe¼<&IáFß7ú¼Äïãç)îÞiõôï±âOñg|y¯îwËè%»Wh´"ib$>{rÈwx÷ÒTïÿþ~Yþ<nD«0~Í¥ß2üöJn÷oaWxu^ò.ôÞ3þf¾+îð%xõjôÙ/âl¸JõUæ!ßøµiÕ¼,}þëä&Ìÿõ?RÿN/óïÊH¿hé5vùóõ)pÞóPöû£²5¯x¦õ/qW?®\ãÝèÍup4dþëÿL§
+xuÍ
+Â0ïy9ÆÍî&M¡Jͽðü{ñõMz$e`.3ßGø7{²Áq鮯½ÜqÝa^ÇåiÎÙ8Ò²)ÛùCbÛ!"?0èIY½e=iwD~K6Ó¿AÉrÓÀã6Sï-F'qÂVÖUNÄ-§XMúQ¾³<Ê
endstream
endobj
31 0 obj
-6326
+143
endobj
-32 0 obj
+33 0 obj
+<</Length 34 0 R/Filter/FlateDecode>>
+stream
+xÝ]ÉÎ$7r¾çSäYk¸/ÀÀÔÿû¦ó
+£ÏhñçËgwJ¯QÛøÍÔ,GlRJ/ãénú±>`Îåô<èE¯T¥ðç±W
+5×xîù׿lv°ÿôë`xR{´=×"¼½#.TäebrBÕ%ÂÚeå~~êËgù4=r-Çâû\SæÜ
+Ìâ[¾VÜ{fuOyèà±W!ç5Ä["ñT×<<
2nxÑ¿xâï
à*:|*)|;òT´ÃÏÉnFTf >|"©§8eÊ7z%6|Ï·¿ÊùhÐ2NÍ`L989Ö
+zDS'¯<mùÿÀK϶qÃÄa¼ïã_¶òxÇÕ]Ádb;L
+ÁÜ4Ô%Þkú¥Î¾Ôôe¯²><éöËçRɪËÙõDåz¨àîÁÆ?h70êؤØA¦³¿N9¡Á%Rð©ççÎ
+yr3Æ0sù,´³C4Ú:¦ÂVÃy?°Ëß³Ü2£äÇøHîâ±
+8ÃÙ|¸ÛûñßeÀ¼wá;{{MºÔ{ã±Wê
+iÓ¶ÙÆÒÉ£zÎ6áö{x+Ù»£/Ê+
+÷^Ä£¢Ï¦.àãC8²ay7)pu³=-X èºqA3SâQ´¦Óêä[ÚϪs¯Ò|©®?O:¬ÿAt?«ªæ«Ãív°}8¶üÓ¶:ùÄìöéåµFk(Jä9ýᬤê"FQ@ uý,
+zo0ùéCÏúW¥yúMüVþW|)ýÆ|'sBå¤é`$9Üê<Z W\VàhcÄJÊp)êúÉ .fX¸
+ã»àL}E/<?B©=í~1ËhÛF}*néH}ù@A1¦TãùàéÇ'´Þ:ýà6Øùx÷æĸ5ëÂZlø \
+Ó6¯É5Pãñ~H¯@}«4<ÛÈcMPû3pRVºV%ú$Ð%M2ɯÔKwlz¡R©_85ddÁxíª¢ÊN.^ÖaîI¬ý,¹I©d¾ÇÙÓ_%_#ËÑZ®*sÁ|¨àÄl<9sM§ã½Úñâ:»ldqªB§8v´!**yzÜæÎ$pÅh\%¶ûàñk¦¼d<÷©Zÿ"mçCF*ºåÌËô¡5V°
+)èXdx¶O¤Iò5K_ "ö&v+÷BÚ;n¿XoجÙ41ØAXZ:{á.5ïÆ_`´HíuGL³
+%<¼ch+òTË«-LÍãm8rD~OÿÄã'réã-VÙ¢ÙPnÙ]!é½fÜKv7Hþ/¶et+3I<±Fs&QÂùTYxå¨Q7VQêéô¯¦nÿ(¢¦1¨5 at bééSFÑžm%^p1¡Ã-kHW}c
+
+¥þè3ªß» RZ_MbUU1Çå&ÈÑd³hê4n
+aD.åO$æ¡Wú>Ákú¶sà '-c¹`Z§TÑ5raÈfbÔFÜ*VâKÎâठ«V[¾pseæØJÞ^<ÐÑ{×=¹HtL\U}¼0qÄ}£Ù½HJ×zéH»rwÆiuÆÅ.9DH¼µYAÁEÝGº:ëXg¬'e3ß óÇJ¸KTÝçI$ö ·Ñ%ÀÎÓ¿R)2£½=çUhízÓÊ+æPNeFV·q½WUmöüy®úð¢Äu*²:Éÿó@ù<þ¿³¦^\ddjc8áÖÒtì«Â^^sí^@íâÔµjew%{³k3öNÊn®VòY=,hã=´xQ^
+9¿pE£¥éô_îP;A·ùQÏZYgV(ÚÁîçïïX2yãªñ?K\¸Ø<¿O{5GV¶ðµ¸©²}yYÍåÖ
+58>¼fÒKq§p᪯g>tr6$lkÞh
+ ð¹
+ F³Å¢
+P_Þõ±º¢ýV¯ÑWèùË6ø?Èl#9-½9L
+9uál5f ¿0.Ñú¼Ý|Fåá
+·Ûäuu&¼ÜMÈÛj¸ÉfþÝ¡.hüó7½RhW»p,¶AÇ87Ð62µc}0bØW4ÐRâåsð0ç×mA»ý²ä=P[ Ëä{²ó(öYtò!i%óri
x@D0½à»Æýà:¦c ù4Oânc¦Æî°åxÇv:æ|ë4^¨Ü÷À2lßÑÑ¡Lä{&ìQEª Àj×¾ËGtelá¤& BÎ92]@y RJA9G¨>¢AÇDä1IÙ°Xï1ôí+(¢i] -!§ç»Äý
+KÓJWh£~Ó "ªçDÞ¸§-Îjqd/ÔzxPêô± ôÇOùlÐ?Ù¾<íp:Ù=Ô7Áß öJ3o%;7öð9bû_Çàù{äòÇå»ÈówGÖ=DÕ~E
+W<õs1Ë]h{éGk˧¾ð©Õçº,½Ü{E#/¼ÌÈ»±Ë
+^`*ÑXÑD¤PuFNáõHyhãú6ò-ài`òhü#öÜÒ[1rËí¥²rkx`fn.4Cd>ßà(êÇg
+T(¸+à}BÞ(°ÙÿnB>XeË(èÅtF8>ëç
+"Ú}GϼÐ̶)ÅÙQh¥2ò`áñT/Ýcû¡Q8X
+«á`Äõ¥õ
~á _8hVó¾ð¬¢Ì½gý¼¨ìjó¥-lÛÂÁfV3yÍÙÐ1ùñÙ&R:{5N(KS0ÕìâhíÙQHÏÄ
+òË;¢Ó~ÑHÏ¡;Íî)ûÅ<Y,¯È/(¹á±îîÀ'
+lpÄ=Ütá4îäi]FÒ¬´%YKFwYwT.T3r³nÒwaÑÍ`F÷fúE3ýB«_43ØçE/
ËÉƹÁAøè1:Ì:ÿðÄìyýâ÷¥×7xúÚ1ÊHwÎÑaÎá:§ ØÒ;N¡f?e̦Ja¥c'9·5Ulg³
+Ü<ï|#&¤:vv|»·V±Ò´ÇëøSZÝg^pj;vñ\iáîÈßã7#ºÀ<lÕñ^¬#ûÂA.%#¥A¢3ö¥zãÑ¥/9L¦%&ÐWϹ!:p@Ð/rKákætãbýD¥
+nK.>¦ÿó¶óL¡êXrl-d[ë¾vÖ9jkgëÇ9.8|&mÄbIC{®3:ÎëZµ~ »)ÊKQ¢aQ¡Í©à°1ªlmTMìõð%Dyñ5õËþ@¼â¡"¼±Õ¬¯e£ÓÁ2¿Aɰز>±ø
+¬,OaÖ<½ boÐ#ë\M²ÉÌI(ª\@ Z
½´
+e|XX|´FÆ;àÇ;L0áúyE¿j}xUp«¾hÚÑ»¢«BW `,]F%;æÙ.®1"2ÛKAíª§eVG,Ríj=mAÁÌàdfI*±F¡¯ÕÎ#RQë(Yû5#z7-©ZyÕXxM¼®b>ÏAÚ(Ïè91˪hV'
ÕªéA±JT,áï±oÁGáí+pë:
+ì@æV1qY¤hµç]P}
+Fhæ&3P¹GbòJ8¹Å9¸e÷°8³¦ºÕd=)W-Z5m¢=Óg¤IܳÞX´NwôAñ*-\Ì£¹ãá¹Ì'æt\æ=}®f¾²È¾,²'$.
+oc@ĦD÷Õû%ª÷KToQZ¢m4ï^£´"ÙõeötAE´SþYÈ
+
a±¤jEUMâ 1ñ%²¯ÏYZmÚï]
+2t¤:,úƤá´xgJ¸Ä³Màt `Ãï¡Ã6ðgQBÓ1÷¡ó ßíäEgdÛç#t®fæ¼üSÔæ(|ãkFØ°J&E·¨ÔõW¯u?âÌ{äÚDÄäîµùǾîgdgß4ÒôóI?Ë8¢Æ£Øùdg`vX´gV¨ÕJ$pâU.YÆ2q¶*è+±ôyÖÈ¿(â~d+ë_ðhFN>?ôu?í9ÚÎï¼9&|Ô/TnÚ¹"KÙsþ-Ç[}?_ ZñÔ>òé{á\Ê)öèé~ä¡óëyc`Eù[ß-2~ÖwøàKørDÝpÐòáË|ÖÑòÚV=è³(P´-hÐæ\N¨.(¥ÝÅó]¦ïÎ(ê(ó¬ßÏül"E>z¹_䦾¢¤ùPìy÷ ýðóâm¢å^mÅö#
+ñªå7%µfô
+UDUѼ
+`÷øS¥öXê9µ¢Óle£ZÊå¾ÄÐN31´£±hrïùÝ i+ï(¾Q8£Ãg§I3øÑÌðÌ*O¨ØÜ3È£Ø<*|:rvÔ&½£S)Æie©Ë[ [2}·ÛYs³$$oKEHòw#ݬ¿è¨¢ }á3<q&u¦¶!y¹èdrB/3Ër6j5Q3ãǺ¹b¥Åª¸H7²Vô'¨Zd²5©ØìNò>oèÕñ64èqJnZ§FèøÓFͳ³yZê<3¶ÒGWi<`ýX4/|t'q¤_ýÊÅiyz¶ã;ªË5ÞÓ½=$> ¹£ÐÌÝ
߶/Üñr@M³ªWȬ\ÞÐ{'öYdç3ç1rÖç
+<¡øÍãE&ôéóãö QSÄÛw»]ó}Ál^b}ÝÉü+ÂØéÜ̳|îíѬ¢«Ñ9V²1ÏÍõ°óå«d¸¼j+æÒÏ%ó¼Îc.LÙûBóô3ZïØ͸ÉÙWá@d«
Õ±M¹aGHj®³4«.óà¸kgz4£o.oLð
+S÷yÄÞð¸¾
#W³ mAZZ(îöF½¥r}Gï<½S³ÞJÊË{Ï`½4ïÔØ[;Ê
_6½ÃêS}éoïë¤_P6%9NÅ»¼ô»¼W¤¦·Þ>*ÆM×ÑÐQØ¿¤ãmÏ7,ªê£ÍaÔy',~~f½öaÍ/ªµ^ñj½¾N3/
XÖÚiZ¦
IÕ}^Ñ77\ò¼PãͶÆç®Þ¤½Æ$õn{f¢jPýtåBi^(½BÁæó*KÁÖmÚ^ó f%Ë@ËÕyèx J¿áñzãKÕ NÎé>wGFdZ-#üõ/øß6¨¿e3NQôuÿ|¥¯]Í&
+Ã[ÌQ?6 º3úº3boC¿Ös@Ôrå¨ñß¿ ÿñÍ÷7þvÑoìø÷ªð¬¶ª&À÷ǽÇqÙ¿
+Çkhtº3ÃÜàwTú#X1u"EwT~T|øUL¨7àMn --ChùT
+.Ð÷:ä]ã*
+½ñ9%]@ùQD*
q¿è*gæQu=z9
EOe|S9kúc^F´G|¹©ÄPµÞ£ÓUÁQ*´éøNKß ï+%±1âÅ>É1EO®Eü1$ß(´/ï Ýy£ohDüaGnL¸Æx´ÖÑ¥4lêN¦gÖ2ä;~¡Ø7ªÂïÔð³j-"JÈ+AºNc Ù"E}§ëF83o¬ÒÒ V\XGÁùÒcÞÅÐn=s"
Ê\¤W%ÞÇcaoB²»ÏHc&B²åQHäK8
+þØ|Wó 9a"ÏóZkc½ì<_cͤùH3GI¤µßáj½ÜkG>{Ï£äiBÆôó]âwd?=YÖ{&;ÇþÂÝÐô=0]ôÆq/ô? ± é
+4La/«xOÒä:ì»WïSTk¬åÝëÇý»`¡¯ÐåËÑ@þÏ"µRÊØÆú"ØpM'_Þ¥Xàýaíñÿ6 í/1ãF$?ý_]?ñOÚ%#~7Vv;FcúÆÚx´£<ßõÿùæ®ÿÇ/æÀ?;ßÌ#æïTª~^~hG-Ì|ý[çD&áP~X~í~mÇüoäwŲò»4ó®~uæÅO¸d¼²ü¿+¿7~RDpjcp1;¡/ïá!}?ðÍfü±¾qËeUÿ¸ñÜÿ/µ9
+endstream
+endobj
+
+34 0 obj
+6273
+endobj
+
+35 0 obj
<</Type/XObject/Subtype/Image/Width 79 /Height 61 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 1801>>
stream
ÿØÿà
@@ -405,67 +426,87 @@
endstream
endobj
-34 0 obj
-<</Length 35 0 R/Filter/FlateDecode>>
+37 0 obj
+<</Length 38 0 R/Filter/FlateDecode>>
stream
-xÝ]K$¹q¾ç¯È³)%ßL`дÛcX·õàá%¹!tÛ°.úû&ãYUmy÷¢4ï$ÁG¼r¶[Xÿ¶üϺ_¶Q¬!?Û>ÿüëÖýÍú_ðpþï¯ÿ¹üþûb¾íkÛ¯ßÿ¸þö[YCX¿ÿùß¾ü¿Ö^Ë˸}ÛË¿Ö×Ã×Ö[~ùüëþòeüæÓÚZOý(5ãø
-ëý ¶ÒÒxôuRȼ9 `³Ò.
-öú5(áóëõ ×
-¿}ÏBþdÓBæ>}{ù²Æ+MI@È?»#84^ëïàoè2¾Mmà/Y¨+/^©Æ7K~³ü¿â¯H÷ô{-¾ÒH12R#ó_FÐ^þýû×ïËOa)9Üâ
°LJßÿrõWÝÛ-Ä+ÿn¶ãÌ
-
-kÖoS¨0!"Zv^ÚF2®ï~?À$a[í
ú¡æé7 ÈÏC+D¬©"áηÝ.&Ñ¡H]
¬xV4ü{v®fS4OÄ/Ôõàb¨ó7Y´"Ûn= z6Å1¶[½¿;É>Ù¸rïA°¢ASK(üÿÿí/sÜßæ²swÆÜöÏM1ÿ¦/XÑN[D~@T®öÂ19w§%÷íÖÖÒ2ïa
-§$¤í/õ«ÈaçÞTªhi}äKÓR»LÝfÿñ±üö?R\üïõ§e»¸ç°¿ëÖúü{¡Ì^å^çyWöõÃßW*båÓ(ï@#1Zhn9eßTN4{?QhúøsPÙóøu"halUÂ@eãýÛ×Duº@Z&êîY_kÅ^Q¼FW\òÛòçßÎ!cnuï[·XòÎ-³ÅÐeÅ}hyðl gds}pV¸ë
-8´¾vÃK$|íNº·å]ê9M©¦ÉÃ<X'ïʶcÝÛä"õbímýº\foF-Z-õ#âåfRïqÎj{
Å2E£´Ù-)»FÇ.^«Ff£C.¥1`Í°Á³b1Ñì±0ëÞð¬ çbL¡2k¦Ë¶6[H°P Õ*²g´:ßbvÇùVÞ@ìÊèÃD{ó('lyôg>ɸô w5ä[fîÛ|¯ã%DS¨yo¢Dm#*h.ܼÐtÞÝþìRÿXl&µ{eÚpËéôV¥Çe¢)hõE^6ÒÔ%ÕÌÖÔ>³i=ã<4
-»AsO
-âgDÅ£Ë-ÏöÃYÛr+9n%Ç>××xB-Ð2ç%|çÞXQ¯u2û2½´?ÎêxÚ Ï£;¤òl¦¡Ì½g½mî´*f"íæ-ä]ñåÚe¼mìø£
-¶Òhë{ÊÊû³vÑ@(âëLQób L×Y´ËDIvæ#jDeWîJTøú±Ö¯ÐË
¨lÔ3h!ípSëÖ3Ú
-ÚÎXö@<D¿ãÏÄÜ,ÅѺAÌ[æf6ÜTN[Ô´¦ám4\ ÄæZ¿BÌIs¼Ý+ÒMúéÑîøF;qÓs¢¸ùTBÓîd^x #]ÞRe®à¤"8ù Ê¡rÇ[¡&Wé3ªVÎSuZMO
-½uD;ÖÑT+Hý?÷mîUcjÆÎUÆßlôDWùY¥
-q×KrÌT3AM3±0ÈæÝg"¤_DrâÓW~°ûÀOåÝ5°ç¬*(¦-Jú"ú|fçU.ý¡ã
#»(I´hFA{$¼4¼l8dd|åá¯P¶¸20צ c´²0Ë;0'£Ã[h£lð$î@#Ýwø<d ìX¨mdÙ~Ðca1FØ/eä
X´\¶¸F²2é¥WsVö}ìssÝ·þ=ä¿éïfÀÈÐhXm¶L,ÄiH4|0M
-ÖÛ ã°åBSÔåUêeG!ÚzaT2鮿DJN2ãHÆÊsF*»¤:j&W
-ËrÒÞÊä[V±X¢©òÍ£n¨7Úòxî#;[$fZ&±hpËý~üÝC©tU9`´#éepÉìÑÞ"óÌJÏ^q3[tÙßé+Äl?x§6HäK¥bËIe^ä!Inçv=Ê-ò+iëF´ ÊrèñþÍòiJ:æ»(;Ô
-z³-T×êzÂÈHj$vãôê=DÜ+u×eÞÜÒøo'@å;?Üõ»h(éÍXQ¹Fr¿ÖgÏQwTX//îÙ~Î=Ã{ë?Ê@Æ$Ñ âE,ÕÜÌTeÚr:YeÚ Q×µæsdF(Lëý²/>«È´1êeVQÂÍê%WY4¯è°ÙèGxí¨-Á¥îq%Ñï5¥
-üΩ\ò2Q0"â]£ÝP!'Ño¦-òPî¡Âhá163z²g¸å#×ÚÉEª8®ì
-Z¦K¨©Jzø½Ã8¢¨ØöY²-4ÓæþÚ2¿£dÊfÌ~<Ó§NAd:âxHÁ#.ø-^!Ƹ
9>R{·ï¢åôÌ8ñgºò<¨®õÂ: ´OoÆw¾c¬¯gû
-à«ot¡aϽ^TØá9®¤h0÷hl
- h´
-!`y®¨Â¬`9jMë9ÿòOKèBÛàfõ~6}
-³ÁÁv²Xc]#D;Plѹ¡ÀnlîÊÌùùÛøÿFcùÚúóneF8¯K-ù¿ÿ¾Ä[
-mÜgÂ1( õûÇÉ`úôÃäÒhÏO½¦
-§däÃ^óU£@Å<> \Ä 5ImNýN´#è¨Éñ3\.ÔnÄ
6Ì0=( üV¡z¾ü9®(´Qt
-£HO6ñ§Iëz5ÞP'#}5å!C#nð¤~õ¸-DÀyÒàSÙ(~h¦©°ßjÂ¥z"àhéd
-grQ É4*HmDu6U0AFÔY&j0+0ÒZ)Xf',Àºó¼6ä
-ìRÃQÒü7p9DܼSCÛPkØwâMkz24ØÖ0B ÐXH5(
-|+¿NSwX8J^sì 8ܽ¯j%iή̵,½`HIMö{×±¹)·¸bnñ×uÎCéá_*~ à!"$ds¾s3ßùü_*~üê5HP=x}I ^Êøµ½`~|!\|Ƹ;æDjÂêÜÞKå
-ë
wó7)¤ÉRÐ
ò³i÷<ð¦jëFç\§¦àÙìR7vH÷Ïó¬*pæüyå÷>"TÁÁh©~ÍA¯\Çèh"-(qò4ÁU¶À@çmó
-¾Ð³f
-
-Üì>7î
-h!T>©E)T¶ý[ô4Ý=xP(A&Îåë.^
--RZøM;MOC'ÚWÜß!~,'T.)0kh``ÓÅP¬5;Fì¹ §ÌT ½pjAíJ°>/Æ)S_@õêF$P8¾Ò5Ñy!OòCÐ@)7#B´Ûz)B(É3;=M,µËþcy°±Ì¨{å[5ÛO-7ª
- Úï ÀKh!²¼ªÙ¦êg6°çiï&h£l,£il¿_Î1RA$Ð3®o?OuÇ7w´E{VxmÛ_=ç©îQFyl³DnËÓíÓ¥BeÓ'JëPzÒW¢ãJtcµè²Gg´xºnñÓvBcI+i¿µ{(ÓÇ°´ú÷&³#) bßø.U7øZmÓŤ4=ýŽªR+;!¹ÊÔbÛ0-Ds{tõ+Pîâc$×#°EO¤öf)°(ën{Dsܼl«£PÝ»\ÞvÓòÒá"»>ÑÏõÖ´'Ö3Ú
-êJ§#ÞÏ\°óu;RTNG#
-µx4p'ßÍ[$¿Õû5=Mg=â¤YôNÙ
-:âËÅÌ=iE?]ÈdtAÌWs4ÞKiof43Xì6Eê2Ë@yw`t7ÓÅPL9Óô#¢µ°É±¡Òª¡~ÚHZó8ìtº²ÚHL3Ôya»,ý ÊzÍ®ÓoeÖp¹ÈYn«:cÔTøU4ÍÈ´ü<½Èá¢eìww(;|Ìu
-o·¼ÏºÐ&èlcÒäWS¦÷Dâ]t`#7ÑHF¬\³TU#ÝÉçÅÛYIVµdñü&>âd£Æ¿hÊ +¹ÈEn¡¸×B³2[°Ù3 ÙÒ/PµÛº".;)|¾ÞD;ùpHoÅÊ5»µ>{£ÂÚlqÏötî<þCäAúz#3G5#d¿ÅY%Ú ¡Ö|º¡²A¦õ~ÙEUaÅj¿Ë§JÖd5IßÜj°ð)Þ)¹ øw"¦n¤IáSÂd¸·ÕMü5¥Úô=üد¶
-eC£êÇÍÈöêÉh)SA.Ãæç\;2:SåS~_e;,¤ô&äÖ,'WqËÔ!÷P2,DÊ67ÿ-Ü[MW6Ñoåb¼\~¸÷Þß³èºÕã HÜ.ñ{¼:7pí4ræ|8¤N öVßEËéqUãtåÛĽ0N$íÓølx¢-RçÖ5ÚÈ÷WÎ8T¿|$?0{úÑÌ#¾þJ¾þn<ÚjÂó(}-*Y[Ä0É
-È ïËY÷$ux"e2Þ¡ÝõSEïbàh ,élb â[6ßI[õ^ͮ٨éùvÑc}mUý[mæ®ÝèæmMjT°#<¢l´©Fúö©S^Éenù¢uc.a
-¼í3SNNodr±Ú}XyÒ£àô(ÃîP8¡79ýèêFg`Í-8¼±;§÷9£ÐQwÌ×h9êÅÕDyÐ$÷£ûTiöL±µd§SkG¢iA>yÐáªÓöD\T/¼Ö=²Ú%ë¡ü6«OZ ëµÆ"j4ànÆsa+
- ͹¨ß»ë¼Ákļï»'òjx<â©·<=FËñYrá2E$äclu×bó?ÞÄï?ýpÛÈyqhÕXrígÄß(e¿þ3|C?£pâÊ_y±1GàâÑ'}Y"¤¼\Æ2Ð~BoÌÞZéò§H&¢ySÇÀ"~V·ÑD]Z@$DWÔéóOëÌ'ß ¥Ç«¸¯JÆuX«ßÛ¡ü¶à`ç=äÃQ뮦=è>]7_^¸ÍïÙ¼]e{£9|]S»ðÍv¶Ëò%bæöT¶^)ÛEq$ú-³ìÝXñYº-ãÊãDÍ®Â1tv{
-¦DXÛW寣³«WgõÇ$µ·Hª1)d×0q WQ56B³I=Ú
-âÈVÀ$ÒäaTF
ÜñFÚ,:GÙQ2eÃ?Þxw1Üj[ÍÑñ±76cv¬QQÑÙȦñUÒÓEí(BÛÍõµc}lÅ1*Èìº'NKm¥Ð+fÙMÀãðÎa;ëtÃC8" y£Á.ÄÅSä"ö^
-4>"²-zIÍNä¸e'nÙ19ûÍ´¹~Ù!pÁ;fÄ~üÇðdÄ/9ûo¹@~Û0¦Ä&x§çÀîÆÈfqOyÃ*å3TôvS(«ÑÖ¼ÔTàfL5ï$¦ãý§dñHÅ£\Gc¸Y5Çéw¿N{3,Ç,´fjÄ®Q
-B|ͯÖQ¶T%þí]%à¥rÈïûñ%-S-Û×fÕ3÷
-sþ0ïu&¶|?{ð¤}7]p®Xh1 ÓSǤ«ûGTÓQaF¤+¥Oì`Â
-¸ôU\P©_¦ZÂãÏ,üòmç>¡AÌ©·ñ¥9E_"¥Ú¦ù¯ìþ
+xÕ]Ý%¹m¾¯§8×Ò.ý
+Íô.Þ"ñès¼Õ»·êk^|.£ÔÖJÍùós*uß×\ÝQÀuáÖúÍ1iönó2±æ°¯«.ðlìýç®\Æz?,:è"~Zå4ÚzÚ_ÐÒ 4)©@-/±ÍÐ1¨øÈ5ðO
+:AÍÞÀ®À{0]L²ÖÅ<~¾p¾bW.ûúùhMéjÆ*.QxH];
+¹¢?=~ª_½Szþ±¤ó²rQÙËñpÝí K.é-Z÷oýë6ÿz¾ýò·Û¾æï׶cñ°
+hI%LbÁ2L"[ÝF*w¿áü.¿õ=Ò¿¿o¿ÿç÷ÒnþçöÓ¶Ô{ui·Ö÷qÀ¿3§Ý¨^ìTÇ{@_ovèËS´jø&÷j tº8ÔÊ\¨Í¹hgÔ? lW" h.¶Â~P>á÷ÀÔzçþÑUù¾lþÝâìZyMÁ[ǾTÅÛÈNâl]}5Î",´tÁñUìC·ç¨#ùÈgä:rÖq}dã:råÀÙ¡Ä#ü9;O¼Ì÷ÈûÄæ`9jÙ\?p².Väà[Ó¢üòÊF at mï8-´1Z*ÊÕddôcYúUSþãÈ0³5ÍÝj{^+:æѹK;ƾ^ÏýUSràJ°<#a0 yÐ;sÇ'à2óY@J!³F½ârëËÊ;p4`4öPL
+Z¯D¥¡êµbëmGq«
+ÅÕQ;s¯H£pTê%£eÝ%2Ó T¹5B{çÃ#ØÇÊPþûY5r<DíÍ«¢îTTÇz²`
+ìx¥À^r4¬eXµNÒri¬ñ2i¸î}nvýª!Óèþm¾]÷¨ùö§µHíß"îAf\`Î{ÑL7ò)#¤2ù ~ÚG#¢áË÷´=ë¾üòb¤ãèªWñPèªB,äÝÚ4Öª^v`*ít,¸ÏIÙúRߣù¹N{Ñx%À<Ð-ÐxC
+B¯}®Ù¦ojn/Åk÷·ÆFjÐèB^`¨æöRû1T3·bH
+%]ÇYx]èå¤÷[à-P¨H¡¨É1\ËW(±©BTÒ[uôëGr½H®¯É"é£ìFâñ0/ \ÿæ%E8XëyÇÅi ?;¿»¾w=jVSG\Þ<OyoVÔ³çòt辪¼Ó~F461ÿ|ë}P*ËA»¢C:K²®(KîÄl{Ë=È¥!OåM!iý%GexÉ,öQj½tígDCjêPjá'¿ëδÔÏ¥³ÚúwWåÎt§ÅQê¤
+}ÙÏ·¨vî÷ôRª¨YMýôRZjË×(zúÃ˨réF@ÓQéf]ÞqÁ£®ÖRß[áuOVwö3ÚØæ²'Ø{ÙÀ[V§k£¨nÔjF4ÒMöVZ¶ÍLÚ"Äà#ÄkFDÆ w6ñ¾Ø¾I¸|Ù~åà[©¡Z¡·ó?´¢ØÉÙ£§^Ùr%Æ
+©JÖ3òc;».}Õ]oö¢'ú¸Uå2»FÅqä¬$VÔèXõTÙµØñ½Æ=C÷$a{â`èaì"
+vyÐ9JSÁ%ÄB±Ïè®\s3n`£bè2\q¢" (j&óüèÎ$2sÓ
Ý{ÞÜÙtÌø^×°ÀqcTrЧÙïûUù
+fhàAD8û¡th¸'¢"H9M] 3ûóîø°«{ÄoÞeîeàm@´J
+ˤïKSõãQ#*ÉÚÛLö'mG at NßÞIÛÏ<ìèGÉUDýJ¡Ï{X=»r3]#]{à»P!n&¯Ä´/5ô
PvO²ê?Ò¤æô4NÏk;}rÄØeýBèÕ÷ÖAWç= µ@*×Hu{ö
+MGãTÖ^ÌË>hÁÿÝ`M
+:n¥×ᦦf?2±¨ïPJ(R'9ûÞ¿@n<¾qȵ>/ûbè£îOóP9Y98YYÃó$3aI9´ªOñÈàOçGD§Ò1Ѥh¬¿æ®^V(ÓÞ¹@U¨¯áMkËÜ»òpïJÔoW¹ê®7P
+ÈQÁ3}æÉàrä!fnáÊï®UCÙðe
+_r|Ý#}f5ë\Î÷åMëè!cà°iz6ê<)©_û×Üvò='=úÇpÝÎI é¡Cò¯HåéÙé{@_õ
+Uꦫt8$-WM´oÑ÷;{>&èPô.ÕW2Ôîb#ç¸Ì^q½naËÇ<£ÍÐðÏÜ9?ÍùpåÁûÅäövïFä=Hñ5ãÈ»ø¨Ñõóu;³ÑgÙKú@¥Æ#Ù÷H£&iäýT.r¾äNØÓoAëä^ÒL_îÖ×ü8.Fõ}³~<P}ÚÈÏðÁ£e©äGHpÚ4ðÛÙ$бÐO¨ò$ºMðqä2Bv±ü:Îr¶®ó îÐ8£í0¹M=¸dÓ4¤ëï6>pHµpÊè26îZ $SÔÑ2t<ÒgH¦ïϨ?GîÒ3>GÍ!q¯'£~F8UI½«÷¨n
+í;Dö7õtHsùúp*ïQÙUúYbóË:Å5qèuC¾-K½òGz>Z\
+ëÖU>Å2X'¤ /W-û²?
oÉ">¢bÒÌ¡_6W¹
.TåìÆ©ÇLßs½sÏ£é;4!G³[ä13Qçä¬&×ßßÑTÃ(g@ÍéfÉ*Âz(h:dù>>kJò|/
+ÝäiO7C1g)"Ie¨Hö¹#Ì\Ì/:ÂøÒ=äf
+1#5kHYþ"'¦81sè*}ħ½NÇÑÄ$GczN«Û¥ÔøÄ éåPqTh¬ÓëÃr¬
^r¡5'hսʻCå"aÈsÏÙ)åè£qx1£7s=Ì\Lò)H1èà]æ>ê.WfàLÅSxÔÙÜE¦I¨ðI»«¨üëð2ί[êm^¡u ýHõÞ~âã áÅ#iKS<
+è"#ÔA¹N5¹Ìµ<9é ZÿÿÕØ_¾C[?ó
+¤_¿í·¹Xx.BVCN
+àÔ[£unºe ùå}ãpoÇÝeÅ'DóAw::Qù M,Ê<hêÉ]-£å±yö
ýLRÜÌõ0îG =0vÜ ¨!
+|iqËy2ÂÝ
+nÉ[é
+IÀ¨4)`ÉiÉD0<j
+öú3ÒÀsL©TÂï)Nøf2^3¥Ge
+<üñe¢K³`¸L¢<%íØ'âKÁÔ*ñKÂr&.Dã%_½du!\دÆÙGJÆ0z&ç¬àÒhðº9Æ躺u)¸9JQ
+É/SAeqTô2ùL¥0G*ÍW¢2¾s`¹³ÒÉHfB¥í:ÿpJr½ks(D-
+{^ohàqòËVZC)î ó¢UvôS<Ø:^-áZ éDj°"½â6S©)½[xw8wËØ'ô)Á^ .5>xÌÄ3°c°$/°VªK
+:ÞðäÀYD©aÛ§zBó§_5óÜO¦Y.Ô2Ü
+Æóâz³Cm¡<Û!¤¤'Ð\%±O?ÁSuG«%á1ä_ú´S°ÖØFV[XHÃññ1<.¼ÌöXÉȳ`Kò,±ÍFÚ@fgÚç¹Ê
+¨Hoðö)zÒåd:Ù~ºýU^Á¥Ôa1Kòüµ×Zä1üºôøÑ&dêúg°ÐQýãEW ¯óN_.Y2ñå?Ð=aÛ2 ËO¾öôºsî
eTÖ_¸ö_QðìÕ%^è(<ßÓ¿}[¶§?Ú§6ÚLwùÊnwÍcÇ@¸+Èuêá.3ô´4W4QþÿÍ=&Xìy1nìÂMýÎhGz'ߣeôÀâ
+Ø6Uß~ÚaKaMÐzå~ÈMðI7Á_ßDÏ4cE=ywýòûú=øÅÀ¯´3¯W3 >ç¡9¹u u1`54¤æµõêq²aòfJ¹5[þ¥ÅU)£âÙy/Lx¶ H2¯§Ð¥aÍ:öz
+¼àç±Ü`±ºAycTépÉ×|ì5
+¨À Ú?ËçÈÎÇ(%| à êoøvhÈ¥yCà"ÚÇÊ~ÝÁþat;#iû伶ìãôì`$ç±e¡ú&Ù}(®. ñÞýïÊÀXB£Á3º._qä
+>ù¨Mã©¡¯PöÃ-WhP¯=º=GÐMÂ6ç9)ÏÍÁ
+_§ò²Rì(þ÷È×Ä^ò£>ñàõgÀFZ8]§dÜ"!É;´1êÄ¡~,¿üAF3¤|&~.»x94v`Ïh n*(ò1LM0ò©.£ÂGÉèçå@Í[pÍ$ÃkÕ«;ê$¦1;"¹
+z¥TîÇø|6>p¼Ý°ù
+~.
+ÊîIaÚÎ_v@úûöL
QÅõÒBjXO¢!y^'äN%!ä%lË©«ã¥ºzuk?ôB¾ê{@¬ÏQåÒ{ô£§ñ2UjûÖþ|\®|AÍÚ
+o¿üä@,2êéFH;¢Ú³²ü^(DtE½
<ó'Ø;ZþÊghܶ/ß÷É÷µeß;{÷®üú3<û|gÊÖfÖÍ{4eG3/?3@ݯû&
+·2©¹¢[µr©oæ¼?5±ÐÔiO©¬&Ps#üü"uëöÒ/娢âÊ)7)ï:æ¢úiW;I×?Ð`Ïz B£´èçñÛÖ{ýâp¯èÛ
+}åÊp/îåÀ½lsìÍqÒ¾¨eíjYåR29kieÌÀ¯;ä¸7ÝHìrþt-øñ[ùXI`6ºXiÞ/õð2XåFC*'Ázx¬f¶j{seý}RØ<WkS~$ôÜZ¨U97\ͨÐH»Bîñãõgæ0Y¬Ãf©åÜtcf>z.z:Y9ÜxGàæxËŲȡãqÌÓ¶t§t6ã_w£°´¡øgý°òëÏíSº\·ÆözÐyô+Õ
+oo}D§ïl-ÖÐ.ö1Õl¹/ðÀ^I³sROgd[|Òmg5êÕüÀv]þ¾·¹Ñç6$?ÒÞúÈgÐñÈrÍÂÐS
¿NVvVóá'
+Äë¹Ü0ÆCOÀߪÄhõãÿ@cà[|¡Ü4M<E ÛGè¾ðé»|s,_?+|*Aß[Âe4hXçÎ4Âa£$øñôsèNg*ÈÔI|¨bHöÈÙ/Eö 4aLcBÿÚ¤6{)"¤Ë¾Ý&Èvê¡nhúx·\
+8hx³ôæ>¬ÌGu÷¨ñÍTÀñdÑ8RùÜq!åIwÄþé³¹DÄRxeìÁÈ2¶=*ì KNsrì®Ì|¹G]t0ðVìj7|tôÑÓådocO3¯
+jS¿ýVR_Í8lÓ#ÜØý7&
+>oþz£Ojl4
+¡Àß|"
+©¢ ùkÁÆÈÊ+F8åÍM[q*åbÑt
H2¹_qÓQÞ¹ÎÉ*vI$Io7A²Æ¦eD¼dÂwózë6ý´v¶7ÙunZòå¦C%P)Ü^6kë$nÒ3AÕ!ûB
ö4߯?¹¶[¸yªJ@ÄýÄãwsñ
+[è'·)·Iå|O×<ÑòW¼à{YO£Þ%î\¸7Úl½hMðÞUi>©ìÚ>¤OçG¼éͨ>¦"tÞ<B% O
FÏ-0g¸õÏZdnÖªï}½nåL&¸£[@úLÊå\VÊémR×¢á¨Û· MúkÏ<³hÒÂC¼ôÁËè·*è+_×SKBÃ_¤g$ïu93_øR3Ó¼ôUwd<DÛùYá£lÏ}¹º³G-KÜQõèËfç®tÌÐW=«½+ØF
+É)ú4sCñº£Å7ö$ÜÙÌgsg>Í¿O+wIáwHädʵË</8· O$!'¤¼¹ò
+Î÷qÿ°\¤¼³ïfeù½½«yé³+>S$½½ù½BgÏÆ4fU+B;ßa (*rrÊ(µª{£r
Ⱥ¢ø¯égþ<Ax
¿"üÌÔù=G쳯¦ÌdKnÚ£óÎ-L¶8+#¶uÕ7ug÷ÛÛÁâ:7æ¼PB[@Î/6G¥r¬Ä»ûæ
+NañÅûEN¨ÎºuH ê5ö>Ä÷öÞN
+Þ6EØznÁÃ.D"þöJVSz
+G¹¸Ü¬e
+éÇÉÄ#dþ÷ÕË
+Yë!Të|«qóÿt>YôÞ¢gwö]´Ï£è;ª_i¨ÝE@Îѽâz]Ã<WyF!_óxó>HóÄÌK»É
+ÌË&µ·{¯/"ï'éx_|çÖÜ&ýuV?Ë^"PE²ÌYE"BÖC³îS¹ÈI÷ÿòog·¹Ìºõ4"?1=B_6ËóÈvº/¡ø±§HxàÑͲEò#¤GÙÝòÎø~B¯tBl ÒL#a²åÐqF}*E×y
+w¨ß-Ï ²É©ú¦C|Í'É31ä#ºjLÈá-xòÏyçÿzVÖCArEº=Bþ0qÜ£íɳó}Ùès»d»¼Dukhß!²µeé3±ºl²l¼=ô áë.ˤÐDÕ
+[æ;3éKäb±åóì¬s³®n×ÙYa|¤Ó{X=Y'HÎÂéÃðIr
+s,¦ »lËaééû«nmã38®3lüi¼ü¹4fh
¢Y5wÙF>£å*_&fÝ!Õ!§l#7JûÞÙyü·úf¹PÕõËoã3qëi¢òæÊA7qseYvÊ?zßP Ù8éiöeÿ´Ì Ò©ìÅc²RV6¾HI.Y'yâá^¤ÈhºGHu9mKJ×H&^qÂ¥P¿ÿðbT&Å´.Si|*R3%¶$~Jà1têcbü_,2Î6»#ÌÖf+¦îøÄ äÓý©nº¹]çt/à£Ï·XÉ'£´ÞëK)9Au/¯ñÐéú;ñò;ê¼Yepëy
+¯¯ñÛ¶â5þoO»BÆ:Ó,ÒV¨6#ù&RÙßÊ1%£q9UþBä7n+\üN´?r!LÅy¾£ø©Á.ý>ÝþM×ÿOÄ^vS$÷=.þ³Ät ¡2éjWÿo×Tοý°¦¡¦sÁ4R5 T
+»\ÇT®°½ÿ|=Ûv"¾=ÝÇÂTDR)´È²k»&ùcéòg£AºèºÃïößéðÓQ(óÜæBj¿;ʨ6º×;O¿^ê©<W$ߧ=7=ßþÝìth2OÃ673üDZñ¾ûµyXkX^aü¤£ðbkûæm¹í»Ñ~¼$:¶9¼Þï~ÓÝÜÔð
+ßô¾/Ðõé}ßüqÂô-~Sá¯Â!Q
endstream
endobj
-35 0 obj
-7535
+38 0 obj
+7525
endobj
-36 0 obj
+39 0 obj
<</Type/XObject/Subtype/Image/Width 180 /Height 180 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 6742>>
stream
ÿØÿà
@@ -524,357 +565,372 @@
endstream
endobj
-38 0 obj
-<</Length 39 0 R/Filter/FlateDecode>>
-stream
-xÕ\M$9n½Ç¯óúBvO÷b÷6î|0|òî¸0è²1sÙ¿oñ¨ÈȪöG<©ÔK)(¢(Räqsûß·ßöcÿpôbv¾ÿ-þþþ·ýÿ°ÿ*éßïÿ¾ýã×Íùxk»¯Ç-ì_ÿºÿñsÚÛ¿þò/Oñ?ø§èÃSþ\þÓ³JáÙQåèüÑ?ÜSîµý¯ÃßOý«4j|N½PÄèÛ^?ºt<åÖàyùÿ ß}.½¿ðt¢QW/ûÅs%åøä ï{ë:ø1&Ì
-J$:;Â(ÙýdvE@þîcî2b®c<HQ~Ã9ä:ÿÑã[F£tÌT03i¶Uöýó£0Zÿõë_¶O_·Oª¢»ùU J_½zB'çþwU[EÐ9"!7áaúÆÆ
-â¡<*dÇúIÈd|Y÷y
±dz?Z4é©d#Å¥·~·j|Ö§Ó2O¹åk"Â"7Ó£Öä3N}àÁtÕz0o±´.ÿ#ÏÛÇt?TRçü4Ví´Õqô1
-Ê®¯¥ÍG»¥ýuó%59RWo» n
iùmÙ~ùPù§?m®&©ó RúÚòKF¢"µÍ©\n*¾+࿽nüókðûOÿ¹w¶nÉ·èöþRé³yÑØ»{ôèë¾í:Áï(;Oö3*`ïèC"TIêeB¾M¹Ý*Qi¡Kë2£^NÇÑ[¤\©]GéüméȦ&÷1Å[»+Ó×hÄI.<I·®¾tYæVÐ?O±©LË"ӲȴôqNïò,ö·Qare>³2ïrFæegäÊWImÚY®³Lò§òÕU"»Pc }ìÉ0vQF]:*ZGÈèÅ~B¾s\ó*çx')ïò)WÑ9â&ÔêiF£kLùÕ Á½.héî®|ÁÞõZºDV+X>¨N&ÅÁ?9l!²,ð¯
¬
-¨t;:¥àH½³;J&µîíÑk@[úsUFãè¹þ×y <×åú·Ù³=#Ô¥àTºËª³Ô@n¾jMç!« /òbxa
-ÊK]åÛ¹8ÍLêCÓgüëö1!åî$®+4gÃ@UZ~c¹¢
ÐÎhãçÌb"ä[1ZÛjÂÞQj²
-ÓF[ElÝÛÈÁfés®òZ_¨± w%Gú]-¤F¯â^ÂÛýn)x±Ðt¢8pàEuY% Y
-|FTDùDFJ%÷ö~
q9
-ïÒkB½3ÚÏ\d©TÙcØý¹3Ðw
-ì¾ëcPiEe¡ÁFÄ-ÈðÅRÒT[äggHeëDeßrÊ1Ü9§R¼¨VTgË1"¥ÂÈ /gI4ßÕPW¦~º2çD0ÓTs)ó\mº3¥=êù>]$
-iPh@Îðá-,hpvX*<ÒlõTøò9¶,Sn§ztv;!ejæcÀ(Ãê"G·ÈÑ-rtSkÊËÜ°LµCÅȱ,rdÉC=
-Ëm2rf4éfG:åXË*ÇáU:ào$rì½
h×CPíýק¾Çæ{øéfûH¦,[·«¦æ¦Õã-Zp.#Jº5ȲoáT>&sNö;'>òÄ^dɺfS.Û¤6ïùCTZÁ°gùX*
-/¡m(Â,£®GøÈ"÷=UÙbÖ$`A SDpZæôªråñnkÁFTÛí1y¸óMÂ%¾ûQËíÒí pYcØ5xC}}ÓBÏþsиíuAìöá´*n#Mt8äw8tGöp¬Ù`PÑ)=<¯f$K±kI+A"ÁM±¬G3W¨Î¤ÄH!XújàrðÂi²6c !/uã_#´H*½³L'ÂäôµW4Å eÉMÜ¡ª¢Ü(ïÈuj
-:$N¨fB+ZÅ«e¤L_¡,«fàJ£_ÖüÍc¡ú19i 2¨×5¢RÔu-RoÝtÇjhÝ1mGÃl*VCA÷º&b¡xÒ(·!ì)DZÏu1ÓåÆ ½AQ¦(ÑXÚ2,T°Kö,æ_T_/=û9Æ3F9ÓN|Ó@!ê÷ËRçedy©³(ÍCEe¥¿©¼çE4£¬§HU£À¤Ï¾õÏêR,Ië4©ÜLG2¤mËcfí<Ĺü
-ÕªdfûU
-3uù12˧a»
-6¥Þ¢aõBêE¦¼êWåí³¢(?Ò¶¡a^7AMÆM¬FY¾Õ©4(°ÎÂÂC>ÓlVL^F{Boé±¾4Î 5k¡ÿGéDêÕ7ï7ï7?ËÅx×k9
-Ïw÷˲øìeñàW$=ò~ýöHÿ?2Ý
/a~fG+äXÌÀÏ}]Ð 2PYÂ_F=[¾4P$ØWdÒ î¾7©K(Rl¨5´áÎ|N1´AÊ">3H0¡('ïã<!`eöçà¥=]px. 3rKKKå
-Á**ÍÀq*
-¦/Þl¤4#»z\ m*ÓÒ.É8¾f5G¦Ai§¼Ìn¾-Ñ%²-³-/
-©iÇ#Ö{t9ð
-K´¨qi9Eå'h11¬3êÙG<ÔàµV
-B!ÌOaÞ
ÑgÖS£³óP-²úÿwüs÷d¢i[æ}»Û3tø;o{à{[SÌ{Äܹ¸C3n§*kÂJ7»2·¾mAÛóm¢bFéÇ(áÅÊãE-V[¤Õ:öÞ¿1HS·¢«\YFïæb;Ý:£5gSzcIïæT;{§;=Õh½ý£7u®$anê %«å!îw®Á¬×7ì5dxw}#Nzç̸ʱ\g©õºðQk$uáx¢²\n±fyjFRmyÞ^)Ë#Íg 6uåî¢ÎDWz¦ª-òÍ\-Ò-2e±²ÌØz5Çm½ÄíÒZ/.é«+ô>LÅE\©ÌWÉ!w*»ÀiZ=~m
)41Üò¹8QwwebKtåß»$^>uɬ
-uê Y´\¨¢~þÞÿÿKïð×Ôßíç-z¤tr at t¢-)_R¶TÞÉéïËÝ+RÞãvú1^Ts{ázOÉ=ãźò½!õÞÊã饱OÏï=zë:_RwmïD~äùÅ7É»°ñþ~;¿ßu7ip
-O¯õUAßvF9K1¥¬,r'hî
-7¢{RÔçÜ_åw¼86ã[,·ÕëÇôw¯^áÈÈùRR@çèP
-¤
-9íL«2î
-§Ñ* Z£ÝÚ#éEÈ:Yö°I5jÇRm Ç$þc^í÷Òýâä©òul<UeU|
-ÌÊAÑùD/\J¨KR§(Dcü:Ñ๥ó>éux(Pà
-"ü(ÖmF¼#Æͯ[
06NXçÈÒz#îåÈßs¿)4ð|âyÈÜoj"Óz
-u|³6äÏñ-XB³²ÇXxnCà_ÓRºªç3ü.¡Íá§j8EpòDIV.WIØvzRÃÙ3)Òf¥Q6¦rE¿¼ñúàz}vÊ;ÞT8¤á¢ÒË}E¢$¿\%)r)¢¬FZ.ò¬ð $³%yå:aÀ4bæv¢Í<Bʳ¯ÛÎ\'ºG.\ÈÂo-ubxWM³ïà¦y@2N¬áËÃE<dÆù4<ÚËS<jNþÐtS¦ ûCVó³æhB-nó¼ÈÚsvà@=ÄÈqÚÌ*ÏyèAhèËn«daÖí «s÷<rjÎ#±1Î ýZý<Aþg2È/,Ônåcw4yyyÕÿ·î£0ÝJy¬ªXååû,/ß+;´Ü-¥½HýbiX%±°M»ó¦ÚUißF#¥íF¡prê麿¾pÛ=ÊK¸dùz¯bgË»®[îM×°þTÒn »¯`
UËU
-\eAbÞÈc_àwñ
-ÒpæøǧÚ_ÎO!{\;Çñ9óO8þÉNÑH"g$>ãßõ~"H»ITÐ(èÏv$¡Ò¿-ÏüKIp²jO,FýèCØ]kSïüYï°ä¼ç§ÇFá½þúÏ]°³å}POb£C»Ó¹JzÇ÷î}÷¼ç;éwlõl»ûù!ä½
-ãh/¯]fÈA¤¸|9Ò2FÍÞI%²¶2ôÎò£ÌÁÿu__¾ËÍGryØ0äò4ÿwRº÷ü"l½WSKæÀ{uøüÍ
-mØ
-¼ä mP0uioÀ$©3ý:DûöäL»²úÓHèYüÊwº4ÌOMËa&*h:¶±½U¨\Oi[l@^ÌLg[òæ
-éésp8©e=
-Öµ¡Ó¨ÐqT
-Í/!ШtCÜ©ÊLÜΪZ
-]º<+Ðî$(@ó
-^d¬£ó|#FzÇlÄ¥)«Ë䬵dg
-$ÀÎæå3à
-gu©¥äðrÆZuZÊìg'-ÜwÞÞÙy©ý.µkÛH¼ÒÄþf±Ú:ÖÄ rF D=°<§Î¯Ú«*ºþPVêìå.L1u9¥á¥$Í(+ÒMÙz°{róÏùPZñnÎ[;¥Ug-J[Òp`6AKʬS16W¶»÷ß$þõxû1Sèêh~hîæ]ä± ð&îu Ù䩺Ê>FwI~{.j-ÛÚ°8´ÄÑwÿî¯"Zá³ÍDÓ³GÙab$à÷áãsÔ$ñOïfY=lBä»®V¼Bø$ÇX·+âÄL9Çò2_h.W7þÞ1¤çúïñÃpyJø'ØÎ^aN!ÿHZNaÿB½Bm`½BãúC`ý_±#Ýe~=êºÓËXoÚòÞõ/²[Á«Gà2¯0ëó²wpÚcWû"Lò@ÚêÞí§b8·;x=qÚ2ÿû<þÏûc{Ï
-endstream
-endobj
-
-39 0 obj
-5513
-endobj
-
41 0 obj
<</Length 42 0 R/Filter/FlateDecode>>
stream
-xµXKÜ6¾Ï¯ð¹ÀLô ( Hº»EsK³@EOmÓ"ȶh.ùû%?R²gf\,â1-Ϥìp˧ÿKXAn9&¹Ö®×,?·üEýûøçáÕã!&:õ
¹Êòøûòâ¡,1.ï~9ZÓõÏ)¬Çrf^ùÌ}=Òï9ê
-/×ì5¯GÙ±¦ÝÖõØH<±}þÄÄVÿue¾Ã£Ý»ºaOU[ÈkØë¯m}§VÖæÚî°T®µM\ªyhrîÙö k1¹x7TZTéá{¦K¯%±7»ÜX3P»ÿÒtÅõ§ûõ×Ç×ûÇÃçÁÚ)]A?¾ÿüTø>ÔẸåi0Ûx:äA·ëC+]ÊÜ`øòÕ°wÑó,TÁOò¢d9õùÈÒÓ6»æ0¸ò÷jú ;·ìå8¥=ïùàÀxvM\ÛËpeg¾FmÄT4«b
-½T(
-;íüký1çç²µx>BQps
¯¢òv<&nEÚw¢YkºªÅÙad¹Ýì¼_"'6ã±à<H)Ê%ÝYµ&ÏõsfJÎF»°¤ìlßjf{«»¨AN'FX¸JìbÎr-5,¿=^üøÓr÷Ïòæ0#{~^z]Oò©-\?,FN§,ÔóÃò×áÝw.姩ç)Qvη²$¢XIfakQ;D̨̦ lÏy,¶}C
-hr²Séòo "5B)ua(]!ì±Ã'¥D
-(UÚª]çÜåR®
-R ~ÿ¯Eáûo¤ïí
-à¤VåT
-ò2[Þ±K\êÛòÚ«UáSç0]#Põ¹þMH>êÐÅÇdÃ<«P©]>ϱÐƱÀiÁÿý¹Xõ Öç ÉzB 7§o i|E9ç
«d"¦Ð|»S6ATÖíYîãÅýàÚKøpøþ]·éϱ.,\3ù1ìgM¾|@§²¢1 À:ä¶,ÝMÎr,fÉ
&%&+Q§Ú-åR¾\;ßFß3Áã쵶»éx©6ÆËm0ÞNã¤ðúf¨iN.
-Ýj·ò`|}Ï!¼Õä«`Äý¬=
-É/×&SVJJ裡@jë$@¦·ÌƧv5¾¿ 0Ç( $yÕ¨ð¼ã>Áo=¢âQBÕªÁïi¡¦MTb`+9ÆZEÛUÉojV2ִŪèÊ2 6r;l
v{²s5販¦~½M½y1Ó}Aööï¨"ÖmTÅZP_Ù'êÍ|KêRð;C{mæ[ÛwÈV×frUSfQäÉ(Äà¹IßkYMJI®/ÍòU}F!BÁNiç i;Ï¥;NNFáç±ÂÈq0mÜÅ
-3È°È°¬ÉG&``÷ÑñÙîÑiÉQë[ÆZǹÅ×»r_êjðN®G-²Êhf©bÞq{öâcªÅO]«îu¶Êõû*fòu³õi ¢ý#o¾Ù)øÅÀNïzí&±¨ z>ç±#`'hd\PÁ)¬öd¢F¦5+màwh¥äÙÄ
-¾¶
-eÞ|Z±u¯©ÙÖyÇ2Ûî \°4EäþÅî;`u´Ìx.¬ê-OBeØç9´ÞÑyèýYq aP¼¡d×Y}ú\T-:õ¬(¹õ^/å,)óR_=W{ÏÄé¢ú¹£è9$ë!ÒþÊï¿$qÈ8õû
-_½¡h[ÉêÑGìak~ÑÛÁ໬
-#^è6J¥]s÷~lÀ¼§Ñc·J&lIÑÔN¾E Õ'2ÞÞM6P>µOUaSØk«*ìmbÇyëN1Í`ì/Üo¼B§/A;°%Eg¬µQ";~7ÎeQͨæWÖ¾YâàÕ º«LíÛ7ZÙ>«D{Møî0Þ#õ=âMõSv¾Júê[t_ÆWB|±\Wû*X.ìÞ,ÿ~ÞE;
+xÝ\Í$9n¾ÇSäyçêÿ°§»
+û6öl¯.;y}I¬ªº.ÞÅtéK)(¤(Rb»ý~üýænÿàîþV|ÿÖNÿþö_·¿üéö?¨¤ÿÿößÇ?=¼÷zþýú·?¡÷·¯½ýþ)
ò¥ÆSÎ1
àþñöõoGê÷6*±øòY~÷ýô÷P²þîQ~¹ÆKVû¾¨{Ö_?Þ%n'i¹~¨©43'ËÏ£¶OÕ_CM<
tOúl§úìwÆù#õ±|ÒI
ËSÈ÷þl¨%W*
+ççÁ£®} ¹ee¥JwLrÐcĺJÊm=~©5¿¿4!ÒkMzOþT÷ðÌàb£þ÷ÜèÝÜÓ(ÿa4·I£ÿ<ZCþ^Ö¦|!A×Bó%Äà6
+á^¬Î
+í*uµ-ô,s>)*ªºÞÇiðêÈürÎ$DÎI·¹bd$²KOyí!+
+áÓóg¨ùÕ3±/ÑǾ°©MÑÅöTÞ®
+ô|Oýû¿öñpûúÛÍ
+5ýýH¹s*+ åIheËQ¢;
+Ííwãß#äx+®Âßoâ)Cï;!ÓîûíÛñ×?sd4ÈßÇÌ£´H Çr%TFû_1Ì«ÜÝ
+Õù¡ªC?Fé?^?ÿëKÌ·Oÿ{C»çÐÓXk÷\\mô·i°it1ìj"«ö²¡ï7FD0¼¤&^iÚ¹Òª$TÆÔrõ`ÅPdA¨¿i ²"£®&A RÛþ@TnÔ{.Ä:µ®yîû
ktÉE,°ûX¡ÞÜXö÷rêÊÙ¼q6oòE( é_Ê·çå²Ê¥ËQ¸:9®ÅñÑ[Ú¸ÊgN^!å«©#Nfù.f,èÞÅ"iåø7Ó`eïZ4x$ÚqÛQvÆ3¬|<£QIãÙíáttÉ{Ulvà{ò½ÐàòØ"µ18Î\¡}p:ðË)özèoî$ZG%¶:G%û--ªâD
+
+iRÙÑUÞ¶É-RY#ØÑ;Æ*TvtÕ#kGÅXOÄ×BfɲDÑ
ÖxdߺD]v.å¹7zn=Un
+Y
+ÜÔªi/]º=kÛá^EÜòxÓ:Áe*#¬ièe!u§ÖÂ(g ¯e{b÷rÚ~Ú(DPPê,;V¡áï¾Ü³ã]Ì¢9^·ÍE©È¬mYÆaù¡Þô}:ñfFåbÞ¸7.²yêñâ°EiµóV*ÌÈPö~¢¡bé{1¼Ü·òçúÆ;oxçúòoj¥oc¶/tÕtN)ûMü¦~Ó¿ø2©@ßÔPjVkO¨Nm$*ËT ´Æâ³p㺶3R*<Û*r¹â#áiwd¥n5¢¸»&^è.æ22ÎÂhæ¡âÒj9çß77GÚz¿BÕ®p_¦¦wåÍK²ßQ߸è
+²<ÐNä3OcmÐE87VÿI=3o÷yæNLsðBØî¡XxgNüÕ`PC/ N"-[V6 owF5ÒrGh©ÛÑÏã±Åhbl/y륺o½<õ¬$Ìé
+E¯Æn#¼È8QȼAX:x,t¼:qh²wDÃ
+ÊÓIr5C0GÀÄ©~nJ±ã©>CA¿óVÅÁFî^f 6¨&ÊSzÔhnÔ
|ÉAªÆغj"³PæÂyD~/bw":gËb±:"D/ën1&Á¢¤Fy\d6â+ at Xq$½]×ÿ²$¢+T¶>ìÔ°/¨øó\ÆÐDKfú_èÜ3TBù2ãhA²&-7O¼å5Ùfö¹£²àòdÍV&?y2aîÁg/ÊöF«@2g±âø@Yh¸YõÈÔùIcNô'Cз0KF%/&G<§{¹F[*Â^9¨Grî˲rÕlcÞèoÇØY«¼t¿ëAVïÑ̲²!+=dÄaÓã0!rÕ3:x]h;¿Qð¶T{µZ$Ðf.nô\ £½*ïûèaWh9Þ¹R°ÚfySDô³¼QÜQí3-<²uSYÍWYT£Â礿t5¦ås,Î-fy&mCiC¼j2ç`äÌÂcù»Yc%¯Êдdk6¤ééª_Zç7*~Ó¯¶éW9éÎDu-lúÔ_AÞèh5Çg]«sT²åM^DCY÷áüU9²Õá(´p× n#PÔ
+R]K M Õ¯¡jÖ@{`uoÕ´Åñ?:@,ª~?vö<#
+MßÑ |¦½êÞFy£¢ñdÞêúzïÿ_&2$
°XR5¢/ü²¡IÇ T4ÃÝÕòm
+8M&2½Ç˱,ôÞP¦Ë©/&XÁZÎpi=§¡Lǽ2h4ï°FJ¸ã/V!
ÛUÕàÁÆ*¿GPÓgÊY)üêUP7&hL5/*I¬1Óg${?ê)Ê¥RaèI!sG{à\=3:Ìæ/¢ægd&iÑ×ÌÐô Ò+¤|FÜÃ!×K³¿3mY&úÌcC·3
+w«g\x+:¦¨,!í·*ú¹ºîNÖåAò®Ê7\U¹zÙÐw½HÒ[ïçèx¨NÉÜonåíæÓ ½Z#ú¶î~år¬í÷ðå¡ÏÑÌ[ü&ND[×±øÌ(õ5O aâ~˽÷Ê:°7ßkðNDGýU¨L4¯Î;gÔN³K0»2¯§_Ð
ÃÅ
+
+Q+7Äy ¼ïĘ́³î
IEsðyå=,ìC{oö+I¿4¥¬W£ìbu8¡¥®JgtðõªÖ¤í©$ôÃë¤ÇgDo¡5ê'R£¿!yn]4˲¸E|*¡'7}¿-ä
+Òèc¾2ÍòÙÓÖØËKfOQØ[
+rrò
+ãWü»(°7§àVdOÏÇuf®ìAÃåN(è*KDÅJ6LÚ"tÞg.ѶúÚzÂñYëü}üÏs´´ÎÃÊ·ûÅÉÉ,ú<c»¨y]¸n;½ØÍ5ú31Ý)öÛâÂsLiÐCä·º(4W%½*uÂæÓ&×$úÐÏèX¨ºjä¼VÀ9+[ä7cÊ#=¿*¯øÒ¯£°cŧÂá6nÈJO£¿³dËm;Á ëëÖS&
©r}XÒ[òõüØм3ß®ßF|²éÕ³ &cÁù> Ëk3º*;VIXzUÚ Ø¯!¹E·r]±É¡®Þù× úòH\UF&«àýhf#l
+É×(ìå³0ËÇe6êè²6Åyù¤hDã
+É-m<©ç:uØwtÕ£C
$±h21íÓ²^«¾ë¿¨^Ô+rµÊ·ÇrÑiìåãñw
+Wùbqõ9^6ôý&hö¹!¾8Õ1[¤uíèªñ/ó,]ì"k"5VUE_Ï%õþù Í\43+4o5õÔgÏyz×å×L±>c£FÑ[©Èäxà¹Ij¡¬ºdÑ¡~º4.kIµÑdDmYù"¹7~Ë]ñ[î·NÄY"+df¤<É?Ú3H^Ï£±ÙHª?;ºÊHZy43Sç)'$lÕÜɵºµf¤ç\õdìlþÒBWq}}\ñotFö
+ÛÓ«3bÑnoì;-^ߣDݤÔ
+
óÛ
+ia©\jü÷o£Ã¿}P¿ÊËM¿ ýä¼Ù}9b%§-M{¸ïÍhËPySÓßâÔÇÒþYÀUà£SùªYåwï>e\åçÒéíMysðï°)ñØ°b,qzAÎ:È©¼õz?¿÷ àèéé·d_ðöe4T¨¶19à@dCÒr£²øãèodO¾H'Ïññ¶Í-æ¾µ¥ iu¯±ìGöuf×GÐ~®QQ×BK8§
+ié3úʯ«,ï(ý¥bIߪ}sMÄác«R8è
+|P ׺ìiIËÊë&ëcú3"úPúÒ)Ôeèrn¶ä"/?ãzÀµ§2б±ôEå9&dÄíh¶3^_?¾/³~íç¢ _=Î|`¹ßLõ=S38«¤ê5>½}wÍw.ü1Sñ¶÷×CÞn¿×Wâ_!pÇOÙ³ühTfnq'9&
+2eßfAyºxí¸àdH]-û@QZRî"!¦YA3lu|¢½{ÌPWº$/fd¯)ϵ.ýU öÇÜð
+%æû $ùÁ¡E[¾ï¨D¾5Ý3=¼ÞøÕ½±òË}2¨È«à½£ÆC{jøõ¿|R¾Í¢º"[vôÆGwdx;t-R7Ìz*0¡D%OAý1
+7{Ý0;¢èx s Bp¢Ãܤ.*
+ô¡«Ã/RMu¾2±¢®ÉS,¥ÂeècËÈu8)K=këALq综
+4O½cBo]¸tÏ eÒPS
~
~I#MxÝW#VI1=ËfvüÂ,ÑÀå\¼D¼å:jÌ2ÌÁ8æN$.ÆÄ7BðS"nË]¾yA{èªÈÏKF!ÜzÂeIgÉ`§:\Èp4¢ç¼Pa
+¤JCçª ®ËòÆOP\¦]b=ÚûA:ÎcÁ\ãÊJ£rlÙ¸;¢>t5iNè<gÎ
+¸úT^òµÉf·U×*¸ÃGë¡áúráÕ¯ò"¦,Ù±Âa73.ʨLö©³Í{Zf+¶®âeürû;~ÖUhv|þ
+óþ¡ÙöýXþÄßY
+øÕÏõxzSdü6àX8â5oùhEVè\È4ɱzw¹QfÅó¨U̶»>x§0y~OG"µÿÕ~ÂtpÈÁók£Q¾Â~¤@ÑUmwÝeè¼[ðkACi¡¬s5K,Ý84B¹K×¥$Æ[=¡ü«à±w=¾¯×þÙKwÐó¼ì8«å6g1~wÆ·»vúv82aKÃÉtõýf¾iTñ5l}¢B¦zJô÷tíI§Ï¢Ì/¶Ô~Q&ã±øö7à1DÙÂg»gNÄè¨Cô÷îûBüø>ÑI+éU=_ÉFÏ{¢mùû´
Ù¦ ½ç\´Ýßq*DéLeæè+5ñÐn=ÿCþCû±çZ@÷UºÞk-Lh\ܺü15*`
òB(Ê¡3¢m÷¥o*»ÍÑm]à£`U ÞD&lWº]°õpMÛUB£Cl]úü\'7¢ï(-©&ʦY¡ý¦AEy!l%
+ÍvC3PãØ.":
+]æ¿/·#¨¡óU»2
ïêæhÍAmWe^_¦ßÅáÂhŽõßñ¾¥ó"§»}̢ܺ\I%éW7³÷QÓÄ®jÊthI~OvxJvÐ~¿9æ$:¹`$|$sEßïsÃÅyÏe¦¡ºµ&
+ÿ3Æ
[¦µý ¾ê\ x]´Õ³Ü½jK[ÎX3ü¶RĶ\ÓL=ä(QÝu2ÖéØSË&}Â8»H
+Íì
endstream
endobj
42 0 obj
-1694
+5501
endobj
44 0 obj
<</Length 45 0 R/Filter/FlateDecode>>
stream
-x[É$·½×WäY@·¹g&PH §ºÉÀç¶ÇÐ2`]ôûæRÕcUd0Ö¬{õÃo§ÿnxq0,>Àç8ãç¯ÿþòÃðï{²§aý÷×Ü0:÷<lîuÆ]ß~ øÖ|ùzJ¨ºô¯þp¯ßþzv÷å%½ó~ñgð#ÒDÙå%ÝÛò·¯?n_O?(ÇÑÃñ%{8(! |No)ûÇr),_ÞÛ?¢ÈHÐf?xGlå°s¹;c\ʹäå%Ç´DüxÏÅ1äCVò\^G¦ïfBÒòçàP®qlå%Ò)^Á{É}àYzCmø3e #ð /_|Vº3ñKKàÉ«!¯Å²:WVY|&À£ÜI>¥#8Ç®ôá±l¤¾-/³×IQD9kâå<ñôY4
-̧|*ñªrëU^®ô?YB6¿EN¤_uZÕ'ÔÒl©r0ü@wÙ»×¼£;Ü·ï¼âkS|+mGÆ
-Ä,×½ÓO4ÒÏÆʼõÁ&»4É,=Y_Ý"'-ÏîciªVßQÌ=}cG<õWÛ òõ¦
-_ü¦ºqnÜ^Äek»Ð6V-+G²kýãzgT7Uç%,6ÊRýp´ó)GNFãK£?p¢8ÜÞ·#·nÈÅ)hV§K·
D2ZÀísBðÙyàíywI7 æ$ºt
-=ºGz<FolÔ+kUâÊU2NÜŵ²O
-)òñ<éYwiÇt«ëþ\)cZ%B7©ûANz*dòÆmÉõ9ÿ7ÛÐÔg-áÕor!¼
ú¹²iÃ;ú}Â:à»Ü)3¥éªw&k
-QCÕ5À(0¾<Ä<ÅOøP¼ÑÀÄ]a at PÇ sá_î1ÇLHü¶ØV.eðcÜ(¤«[Ö0ô×jÅÍÕDÚmtßÆóTÍ4;Üå(Osç5EÔL`NìÎ#2¾)£&ãÔ¥H×bS÷À®
-»YÕi¹lGÒÑj¾¢©Fd at c÷é[öÕá£ÆAE¾5ú£¤8ã[ÔTtmVT:繬ϵ¦uaÓÒz30Yµ ÄÇsHé Wv0Èj]°Â×2¡wöYþÚâZ}ÇõB7-)jß/ qý¶LúGË-,ÒV¯ì±÷."BE¬ÅÒqA ÝZûw
-]F½*øÕ®+´(óGUv¶5oÝè÷À¬zGn°Îäý\ëi14ÕêNà¢~
-rlQã¶Ãú⪶I{ kØÃþ`ÚùÂO`ÍMø@à9+ØF°«B
-2
è®7;(úºÉ]ÚH=rÔ¸td^+"ÖuYßø±8Ñeã\+«l㱩åi³IÖµXa4S¸RUå-Fj¢IçαÊa¥NwüÄ);VaØJL©~lç×]ó£E:ëµ¼*-ÔðïÒ·ro!´ Íbô ÛIÓ0K[?3êÊ5d¾º¶µ8ä嶺ÚVOÆí:ÐÐAô¼ÛSvõã&sàhFù²®¬º ¶Ø,Ö>¹tÅÞ¤RÔdݵç]U¬
]-Ö[r¡l¢tªÞbjÀuNǬ=<ºS
Éá1ú.¬>mQÓVÂo5³n/×
Wü$èÔ ÛÒ¿=â-ßú¦»'Ç7¿ß~Ð륡QÇU¡¬¯w_³ós©wÈ~tÈ%oFy@
-?÷úoN=ðãÎþ`ÊYÆ:¾à5p +à 'ÝtEþ}ÙèzÅÀ4yn×ÇßH""y÷óäÛ|Ëï¶×Pð¦8L³Þе#Pñ(Ké<+xÂe¬4ð53Ux_Z|V®xÌ"³&nÈs+ó oú#1ûü÷ãàO~ÊÀ`òiø
®Y} ÊOaÒQÊP×½ë¬à-¬±+*4~??à,¤
-á-bÕñVi<xà8Û/§r}<ãJðcÈnÄï.º¬ì¨|
-Ú91AnSbÀÇIÀÕ~µ'ãëÞu#DÖÃe:4~?Å ¿IáYòÖx
ÌøÞgWViÞ:xxÍxÖÿÙblëß}ðÞL¦´iÁäI\¢^Ã:.ñÄU ²
-ûýßtÄ´ø¢xÁ®á>ô8|&hEÂÛ̵¡ÿ(ºä8©I#¶àÅÏ
-®ÜÌËl1W¤ñ½mÀíÉø[reíäN6w0 Ç;øø¸8ç§m½æ9¢b¡â·ñîÌGÞÚ1ºÙæßÏ°\V;9Ø-Ð'ÜúsS¿ö:³Ûèᾨµ£CÙøS0øú*~_'·Ã®dÆVçªëPEJÃSòáotÚ3ü®åöÓ£mÛ)Ö(Ô5Þ¬|¥óÆO£§.Hàü+è¯Gö²Ý>q,]bò[3Å@vfi.Õ2]
-m~ªL«bô[¹´ÁÐú¦E FhÖø¿U@®y7
-ú"(6\¡ò/´¿Ã^ô³8ùºÆB!l´eMÆÐ+¥zþ~QéÖêÑÇWêöM<ÏÁ³èç62vèeï2SR£ÇÎö{e¦Ìcè]¬o> Ì- Ïéº
-B _?þïwH(dÏtWö´öbi¼3ð¯ámDÆvF¦îÀKØ?f;BÛ#ɦ¦Ï¦¼bWÆt|¢pÄYðÃCÇÄ»ÌÂ)àuhîãL{84q¡ãL°2^IÉ:Y÷Ë)¿ËOýÐóCû
O¢Ìã÷N}0ÂéI\Q%Jé`E@#73@À8LLÇ"yH@UÒÈúI²j$§ñ~×2ã?tFð~æ/EDR#ÇA/r3BNԤŲ<SËê-ÃûE´Sh²N©J§
-æÒòv¬õA÷»YÞá
@A²gP¡_Ãé×71EÃÇAÖùâÝ8
-¶¸n"×ò3þþßá¿íègPgð)´RfSc®'ó¯ìL(vBÅÉQ«!ftJÑjHx _9¬f¢UY)Ú*¢U9¡¾3ÖÐèÕòrÀí8U;
+xµXÍn7¾ÏSÌ9@'©_ (Ðdí¢½¥Y Ð6-»ErÉëüHÍÌzwK hñ)iÂüuú<ù°Ä¹DµëÏ/Í¿¿ÿŦþýò÷ôö<Å@KK
+Ïç?ç×÷JÆ8?Îor*d
+¥^îJ,ï(ü8?ME_Pþ7¬»ë^¸{eùKü¥vã/wºGAäTg-ïÔB
+*_qÓöîÛ\(>æ¡JÖ¦ Í=Þ;á(å^Ö'1c<©<궹%Z»kKy
+`uv¸J5Ià'ºÇÝyz;µ$§©õ°¥¨Ò¤®~BR
+ÛG^&û}]hø*1KÞIäÕ247Òë2¼°¨5hhR¶íº&åÍ«å²
+jÔ6v(^+X-{ò÷oo
¥jÏ?
+Qî±CÃmGR!Õ(G}¼rPs3ASÖvÄ~J$¹rÊ~éKY£2Ç}ó«i6ËEµÁ%ööm¸|dYýz*%¹hZÛ+«Çâv·"£Èo¬´¯Éÿú>E:t@¶kWÝ^UuaàÅ:PÆÆ3½$̤ _ýmÖrOö)T5¤ eº¥NÇ2Ê~KÝsd¢ûýÜh¸©/rÚKC@É,YQ;(×(üñ8½þåó|úo~?Ú£ÌØ>ç®zb:zBf[çEP;¾ùéã+×ñÛÏpöëD2>wjÄþÓΤ.Ë£Íó8)ÄdT#¾&É=ßm±Èº¦¢`ü0©ÉG¥*Û¹'ó¯WÙ4J¢U(Áº[
+½ôÃtÃù÷«úôí|p0|}!½Âm4¿HÚåÚ
+Ê@¢Z²yÑ¢r×tàÛÊVOæ»x UÉ®û2¤¸é=ʺà3Ï:"
+Ö¬ÚáaNÄô%e|ü¬w½ I ei$èêá_ïÚH3K÷'s^h¹Ù)k^ÆÞ®Õ'`·¹¤¼k;´ÚÜmë-HÑ«]]v8»(SÒ»Ln:'fZ)q0£Ê5åZ¾Q¦±·+Ó꿪NI;Ò¸Õ¢2~åzÌOj¼R'P«gñ~îµ<÷±·&/ªÿ¸=
+lÌq-@¹.@¼ÜtBN*W[;óRS}\FªòÀ¹A6=¤Îù³\1ìF¸´«ä3JInIt°iVô¤Q=¶È¬£hMM)5'MGFêÁs½Ör}EÖÍFØ"¥v;j]õÁn+kmÄ'ÉxÝ|vrÉ9(¶J5¢ú{ÀTcO¥¥ïd§¤n{Ñ<î
+{'½`C4dÝ«ö8¨í
+1ÛèâtP×ìÔn<¬Å:(±ª#&
+Xã÷ uôh9%dÉ*.#Ìå1{ЧTçÆïP%¡rðÚA.N¬®sÅù*tTó1wÔ T ÀS±µãq
+)V#CÖñ^1êV¥ºM^LOÊì³Q(VìgªyïçÏCÄy:¿¢Âüé'¾;{µ;$?÷×À4êèÁcEÛv¼²íÃÂZݾ ¿±ùvh¨ËÏ~ò2&(Ã䧪?C?xû¯
+ø°ò©. kÿàÝ¢ÔÈrðM¡T3È
+ã\Æ+×Q¸³
ê1&ûpeçK`
+ª³÷9V§ßÁ`7ãTÑè¤gãÐo?(©èÿ÷êÕ2Ýú¤»~ÂÍø¦¬;ó}ÿÓÌ´÷
endstream
endobj
45 0 obj
-3211
+1709
endobj
47 0 obj
<</Length 48 0 R/Filter/FlateDecode>>
stream
-xÍ[ËìFÝ÷WÔÚP5Ê· Òbv/ÌìlÌÂà»ß|gDF¤¤ò\¹PÜ.¥¤Ì'5=Äí¿/ܦÛ}òÿµBúO·Ïo¿Þ~úáö{¼þ}û÷Ëû×ÐóÍé1ß¾~¹ýcw·åöõÛë$Ö¯ÿ¼l_/?öË
ËÍM¿þçW½¯úÕÚõ®Ê§YïâÕIÿ)_å´W+üÿEþ¿K×íÖÖ©´âÕ~¬wïq3éìî¿,§üÝJû¶Þu~UñiÚª°ânÊ£ÓkÚCpSXèoÝó+¹ÿúú'{n/&;º.&°¼É¬2:T£æ²Ý)}é;XhuºÏ
-IWWj¿w«,±£vVqò#\I×\£æª ¥½þó²zòÖÒw2+0Û] "Ï´H(Ë¡`i*Ô!FùAKKk±{+ͺsÀ¨ê/ºí3*¤DµÈ¶LõÛiõÒ$fÑø]袨ÊÙ?s£ÔC2(÷pp#ÕCw¸Éffòn ábA¦¯â#¥dH8ux2Ò½Å@ú=é#1âÓKxÖ·êãã¾ë¦*õ¿z8(poÑöp%b"rG°®¤@¿#í¿RÀ¸
-òx¼',6H~é_]ýïGzµA@¥8ècVÅ:?àóÂðÒ,Ïê!£v
¥4úzÃÂâHs¤ÄB»ß%²[hÂG®1=ú âðKßÂ×Á%È@Ñ÷yÄÃi
(L¶´MóÄIÑçR]Ù\í~ó÷ô¤Ïî
-i®ÄÐ8Ú¤,h¦°uÌÌe+íáÉ` F©§ °ËÃö0¸[Á½ïÈ3æ¯A¡ áWBºÐOç?A5=fï
-ªo¶XjìàP"'
-k2aQqÞFºÂÊ-DÒf ª¥ÆFéYùKSq6díÝ
Å)}HIW4#î´åéHîl¾<ÿÇaæSô£'DDë
Vpì\ ZÃD®>ã>rM8Ù2ëbè7ß«
-óYÆi^±ðàb´iºx$è|K*ÄÝÓÜ;íø³¤n]$ÒSïDY£ÄNQñÈâí%ïÑ-Æ5çª!\Vù§pñ÷É.O
-asÔº+OA&æ
-¼Rã겺vâ:õbe!P/¸±®ôIÔ TÀn¯§+ø× ÈBúAù
-ø̦cÍÞý¿ã
-ÄuÈ°@¶USAdFE¶ÃàXxÿE{
-YPÿ ^
Ópë$S:nK[ݺY½H¼[ô°èëãÕöIz at z³«îb ôD)Æ Þ
-£Iç»~gY÷¯2üV%þÄöeá_ÔeB@+PºÐv{ØqTÙÌÉèÈr¨K9Ë1A|(FקèдåµèØ߽ʴÍHe«tÉmçPÉT»ä·ÑÌ9X6ãØ
-
-Y"B¥*X²A ¡Áe©RÃÎ,z$GÐÉ!qßÛ8ê)\
-MtÞ
-Q\"ÉßGúBÀ
-ÔLÒÉFª£Ô`v¬ìFå6~âÐç§À&KΨ»cÃn)ß)úR@ÒøqüA8½¹¥G,ǨìZÿ×J8zò~ÊùT3VùߥUJñ°:[³Y,&Ð ]hø³ãÍóæ£Ïáöy'ð=í:¦Ð!Jðà )*¨òTùÔï¶JØ°zIÛ¡Ìf«¨æñÔUÍæÓM¥#;H
ÌÈ°yûw%Ã:n)£Ö·I·Ô½eßSSÖ= {!º,ô(Ì¡Z>E
Oíû²~족Ãa`7L©TÄM¨2Ò©BNêñAî«
-Å¡1Ô
-_ QàÏ<èR
vË`òð?û-ÇÕAy&´¨ÂO
-@«]r3¨¶T÷Ô~Ûú»¤k¥%ÑÙ*
-
+xí[[Ë~ׯgC¾_à°µÒ¼
ü
+ë£àõÙ3
+Tl`* ·h£uÞ[7¡ñû¯§Y¿À),þûtNpðt¶´VDÚa`Îz9<âs.GÄ©ÖLÁÁ½QÁ%C£[F6¨#)Ì/!G+gâølBÌnÑ |v
×ÓÈÂa@açælëp¶
ÙèHsNøú¬×xøpXøÀ3!Ó7 <Á4MϤ;É3Öè» %¨p3®
+×èhuÔg#«Üyÿ,.¡2wβ/QVc°Óú)à%£²ÏËõì g¡àZºo2h¦Þ÷UÑ`trú¦øÈÎïádye ÐO@5+XÐ2Ò®XZAUÙFß]o´ÒÇ*Wð}Å6â-F:)êõ
óA¶ÅBqG×Sº
+d2M_q¨iA´xy¼[
+ªÂPvM$Ô(Hbf]ÜY´«+¯LÐÞ{Ö°çe]9dªÅg)?²z·#ÉCù;Åd0ÞlN<ÁY©â,Mª±Y·(xaïA7¿
+¨_Ñn-ú^èĺÃÆwþÏöøYû÷ñbw%¼SrÕ=Kz´@c.´CQSrzP,&Ø
+æiÿ\>{Æs³PØøVÙýØ©MéiÛÙt}F+¾1@á®ÒçTkîtXëÅ`óbh½Ò9ÔÖ.³ºÆu:âVÁåF05Q÷HÔ;¨Uõ8=Ñ5æ: å>Ý2iĺ}ÔÍ*ò5y%IÙê÷_iï¯ð÷Ï 2Ô
-ÀþàûÊT-3x³dì±ýv/³)ZH
+.ê];ô1 »b¨dâPØ×ê?KV¦6&ð¶»ûÁÆ
u5Úº¶z°
+"TI¡¼PþTX§¾ùUªûôí».sÎ\6N at ji
+ÑæY~óÔ
+¤Üáô9B~s¶R¡*®Eõ §u´äÄñèEô®/(>Ê|°ÿú`²+¯µnJxEÄsÚà¸jùxÄAHdãnîÁácø>UÍØK+ÞÝmÒÌü¨øÓº4Å ÛÜ<&¤(èÅ,pA:^7rðc󦧥bc{È+4c©- at CͧLÑ̾Åøñ5F3ãÇzûØÉ$¾5mgÄGº¯ÀôÖ1/ÏlLģ6Rf²òd3Bc¦RWZÌ7uæ1îWãWö¬¼,}ºûñyÜ
+ʤi3`§ó°ßAT(",·ö ²ã·8GdÐ$lûÝ
+wQÃ:\ÊÛcbhñn*³Ýéãe.6Fà êëfzɪb¡ýÞÙv>Èîi0Ó3U
+PvÎlëyc±'ô³í¸xÌÈß*Êwc µq7ò¹ÝEî¿Ë¤2.»t³í¸r,³(4å|´W`?Æ|î+¬þSrß#¹msÐfñmgç¸×èÉÑÂõúÉ µeâ_f:l
+·¼²ðÀT
+·¼C½G cn;^V2}\vï@MÕ2¤H×â^kHZVãLxÂÑN
z¹cûØ$3á´çcÕpû9ümù/ò@?E
endstream
endobj
48 0 obj
-2956
+3048
endobj
50 0 obj
<</Length 51 0 R/Filter/FlateDecode>>
stream
-xå}Ke7ræþþ»6 Ã÷! ªðÎ#³0¼ÒØS02ÞôßÃxñó¸7¥ÎìŸ
-øå!d¼ËK¸ÿíöïËýeKÖ·[ÿþõßïÿóîÿ>ÿûëÿ¾ýå·[ù¥ß[X^Öûoÿëþß¾{÷ßþã_,ùKü±®µ|ù!üØÒ64ÒáǸ|)?Ö4þ^}]ø¿5ÖþåücýþÝÒ!ýزü#[_~H@þí÷ZéÕ>a¶ëF¶K^©bïßZ©®ó;WBõAG¨ØÖ@_ ØdåE>gCÜåà3EìñqË2ö»fe tº9¹d=ØZ¥ÇöUª/¿Qõ¿ýöÏ·¯¿Ýþe7J(/ñdûϳ<ejo/i7eZû2AXÆ
-Óa(ò'ÈÏÈÿÈ}ݼK0úL ÎYVa©UhDòYÿ¬î0ñë´Ü©_¹x<û·úêæ{Ä61KÊÁÑzëN,X>Zÿqù1Ùó§Bu#³[?,F]_<¯Ê6ëWÀÖ«ÙÃ6»såéìZÓöïnvióÌH»øºI
-nìaÊÆ_¨{ò
-UÈ.ÿÅ!üåÐÍ)mfã2Êc
\¾eMÛðcÃeLæ¾M-Ae¾Ä/$âAÔåòE8µ}ü¡îEÈ"øÖºtQndèYÛ ~ãe
-E¥ßQPf+,ì©(iÝ+næ KüíëAÓ}ózo¶Ýæ{ƵR[¿º]/0÷²)ã>]À¹,
-#rEÙ¶¿FÄ˯½`ÍS®>~i¹oCõÒöïë5þé§K"%¿Ô2PÚK9æèÖr
Sò|³ÈFvN¡`KCY¬vÉQ'P~¯qÆxºï-cv¯ ¾RËÛößâ¥]þy[9o\¦u^FÙæ×WK¨o;Öwm*+¾:×xÑIΦJYà涾OÕâcöGæCN!ÖêìÐXÊ
º:9ÛúîÛW·¡2?Ck*j±\S=ÎÌh/ÅIo³½Q3øPò¢×4KÜJ$îêjrÝæ¶,_NGäh_üÌ}°cÁÆó)¥ÙÞm*Ùtxbúu2äÕ4=Ï
Ëñ?çãñ/ý(uÕ9eìì±=púFæULgêIævL°òç|GÞ¶Ê#ÍÿåTHÁ׶= jUŶOÇ®èð¸Õ¹Û(>Nak¤Ý¤PA³±×ÓsÍRªhã#Ó±&ÍÙ$x2iÖú÷fÊ=ýËÿaáå²V[Ç¿ +ÈeѺq3»WDD/06ë®×Gδ¥
U/úU
-N\É2õTôo5ôlÆy â_²ÂØ`MÚÁÍúøj¶bÖõf-wÈmÝÿöXrõÉ$hñ°rãú¯WcÅêÔªÈîÑu®H3²ÿÀ®ñåËé!
-¿ÓÎöjÂ+kÔìWôzØLª#½S¼`]ìí´þÍÐûÁÌã¾aûcâýÅã±õõt?B8,kõ,XiZ{¥QEÿÉ&Ò÷ùÀñ¾í6`LÀ½£MË®l3
-Í:Ñn,Þÿ(·}X¸]lÛÞ¹åÊéòÿá"?ñ³ýR?XªØÏø8Ô§îEU<õIÍ=ß~{;î¯gî8sz×k5¹÷¹p¡Ñ]æÜdNÓíÁ4+Á{ztòNßs¡ú`ì÷%i¼gÆ:DÕ2¶¬m¹¿þûý?þéÖ7´ä¼)íñe3ö|Y^6-Þû}dJ mê´íùÖûÛ,Ã.dôz´I|Bi±âÊëýûmÔDíüÿ¦Ë߶ÿÿçÂÿü¤ú~Ý3þÖî)V¤+R.(ELi(ýz{Ö«[¾n{ôÊö¯Rd¤sÚ(¥ÜqNGåÙ|F}£'9Äw¹¦íß·[êy%F¯wAkÜÒ9LI,ýx>¶_qY¥Ô¶%Ú ²ÎqL´6ÖÖFZP v`Î=ÃS^ï±Æo^7]¾ÙkÞ!¥2MqA¿×jÃ3óÊd7s<
-½&T35-§áöÚ!Îé¨<'S϶1 6^C©¯#ã"¨'bà ÷s:*Ï{òñõͤ%ÓZbZrÁ¸÷s:*ïéÉG×7zÊXå¹F^S¼íÆT'D+iLÚàÓ(<^¿_ׯÃ$±´Út¡x:â½ó¾¦¡kÉø¾Ë/7ïj.l64Y¢´NGÚa]Æå÷f,îdíÄ=X¨ÍÖ\@á1ç>¾®#çbVà çÊÒ"ù]¶88#Ù¬¶,Z6Ë°1Z¦Ôë}¤
-IÔQ©º4çÐRÄßOÛ)°imÞl³±Þ5Öj!u9÷MgëºqrPIïD°7ò±eÔ>ô*×;u¥¢!Ù!Îèh<æ×gÔ68(Ë
ºÌ¤(ݺL:LXþñ"øèfëÓ&MB3)Kv3:ïmô".uô#Öá?é$¥)æ±
-Æ.Ï#Î7Ë?CZ·|²ÇÆ&]èW#^·1±iÉ
µþ£ë:¢¤\cëêþ
-÷°ì|>'bõòh5LÒÔ¬M/,Äâ8ÎÜ!É3ácë:g°:,~Â1¡è\Xtö
ìÂ+ÑfjÎðSìçtTéϨïÈÐ3m;ê
-rê6r®°mû¿éi~ú9<T²uèâ¶uu$&jÞhúqNGå9ã>¾¾³Y´1,VÇ6R`ý¨ºôZöBûÛaAù^i»+ð¯<6\Ð
-7ºl8Ê+ëçÇæbó tÚaÆ:6Ð G¨dÇÞÈss:*OéSê;¦Úh4åÚ4
ýmø¨7&UuK¿´%ûúÐܶÑÑn¤Í¾Ý$
-OÐ#éRy̶ϩïd;í~vlËAÝàÃ38¦XQ~Ugèö)sm·ÂÜ®èq3-QúÖ(Í=ÛÒ>îËq>+ÿd§÷¡õïòÊö}æ3¦]lŦA¤#7{8§£òi÷Ñõ]1.®ËÔFθÍÄ®¤TGà îF÷7¼îçOöÁu3l3
-Ãr`cJ¯dZÑà´,",Aoæ<ýÈzN%4KòEÚhW+gkÅ\dÞ¬{$+©<sÅ}F}çüg+õÀÏ<·B£Ê{O;$Ë
-©<ççÇ×wÉÏõóÅO7c»4K97ÙËÓúb´m³èb-²éÄ9'üüúüÌäÚOKú?eé°ªû×ÉÃÓE^Ê{TÒØ\x$9gÇfQó=9^;êÌéÊ{mF-°+ÅòýÁÎè6´4ôNÚt ¤~ÝoÚ8[-DÇoSÓýƻѯ#ä·K?ÿ<þ"ÿ
-·(×3®.ðøê(?fJìCeJTîôÂPu·e·¤fåùËHѾeü£åslÄdèýØÔõQ<ÒÞe@± 6)Mt¤©zmK@ð³^Óâp<ËY(]@{ÂÊìw[Ö
C¹AIãNtÏ*û×ía.>jOGvqgLËëzMc¤]
r®áögB&]Æ=rÚ¤µ½Ø>kè]×$kÊlcÏÿ©E(
-iyòΤrd/cJWsþÕ$Zãe°Î8Aì£o_Ñp8U 1ó×[¸9j!µ«x=)ÜÑFQ«t8(>`8§£"
-Ù>FÚÔ×ýfa<˲_sº9,õ¤ÂÜçö²Ö
ÛÎíós:*ZKúêïj-1}i|ré·vCÛøªtéçtT.Zh¤ÓßÓVO²EAÞ©dt½gY ¤rX.Y
ÅXðßTp,æêbÎEÙE¦M
-°ñg2ÿÛùâý_ïqƧQÕ
Oü£ðóqiÖDá59¬(߯jJj6Â
ã(¤ÒÂËeæ;«f%?TSâ~
--h³Ò,¨ÒkÖSä£GÏÊ
-µ1|Îð!Ã0î3g
-Ýöbs×.ÖÊâÊåä¼êøûZ}´Ú¶¾«Úñ¸m
-Þ¤
-â)=ÚeE[ýb¥W?$À»Ó*é>!ÏÖÜÓ°)õO]Ë@ovNµìÇ\øâ°m˸>óó¦ªc<Û¬ûØõÿ'Z£òó|k¤7qÊéN¸õäÒÇÊ> ù°:Èû÷RÛ6Ó£Ý(#*"µ
ª~½kºy± ΧåtåCë¡@®FQÈLq«æ´ÐX#Ï{Äù´üh='áeÈñTúÔ¨'òϲ÷c?ãÊYüdÌ4©Å'ÃBÿ(^jÐ-tûb¢!ÏR5$¶¨)
ö.rJB7<ÊÃÔO©åuèì\9x½
-}Æh+Mhä 3Æ\Ý!Éé¨<Û|F}'ÆWؾã^¶]E
=
H? âßåMË@¬àÁ÷ìÆÑtFÈK¢±Ttö%2«ó±DR¼§á /DãB7¬%?ù«k¢YÇqÇ}£
-®¬íæÅÄë}Át
-Ê!öOª/c£ø*¡ëxÂ#NJíPS÷çYüg"»$ÌÀTBZó£=âʳÉgÔwÐÒ8ÐÍ®°8Ð9&VJ!§oR4E6±ãVÌÒïbDXCs:VF\Ê#¾qu®Ù)hå3gQùußD!ÄÜBau
»B!,ßó®Ä.z,"ªâòÞ7ÎQW^õÜEóͨÊ`ºÉãܲ©mêí¦Þ´ðN:÷hê]öÁÖãïnc½·é0$P¤gòøé£2e.RΣ°Èì:jë@1üR|}3¾»
HÏ7#OtÅËåDßcÓdcSøª^ÐðÈáUÂm"ÙøâthVõÙ,UÍß,æ¶=PÃðHs[õé}ã*#ø.ûÖR2Ý¢ÓÊë=âplUz8'Èc'¶ªó_ýUþ+VFSôQw¤RÚæðQCгÏÊ.ëñLqyB¿Õ½[\ÛºN"LDýK¯_:âõpURþ¥ÐyJYÒOâÌ¿hGôpç1Ù¦ØOB¨<DR'ü,üªÁ©?ngÇHæ5E-¸èÚ¬7-påddå¼Î¥K¹1K·Ö?¡ÄÀ|Ár8§£ráÒ%Å Jªëß!-Ö«=
ïHGö6QìEMâz9§ät¯^±»Y:ä'ôzÆ;ræ²?AØ`ÚàjCØë¦
-k¯?ç<kÈpF&ÖJdW¾(J`m% ú]C6ã È
-åXÈî¯ÿVÞÌ\gào͸ÁH¹¡åFǺ!Åã7Å«ò¶b
-±Ê£È6ùÓ}8§£r:G÷Wòqç?y0ÁUQ´2ÒÆeëM}õs:*:̶UIt¹S
7
-4°tL°CÓQ¹hæ8ÚTø>(OyÇ¡)8&"É*Aòªä<¼ãÀ!â:y at tòâß(9óN ¶.Qæ$ÉÅ-oZI)¾CÂ:¤r.PÉÿHÖ©(af©($¢r±n*Ç=#þ¹ÑI=!qNGå=VÔþ5?Å0E~'_|F*ò;
-ë3öL*<JÓzôç2ºzvä3ªæØ÷7CY.úÐk(6ëvXOöM{QÐ=ÈüòH^À@*&LÑ~ÂH°udRåH©«PàóbùÚ°1QÏ2{9¤42½%è£B>Í1û×Ï<·äÍ4ß¾ArD& Äl*
é÷~¿h@ a8ªP%£xsiL+Dõ£çͱY>\]Æt:Êf¨Y¯´á
-;$9óYÞIw?
-þ¦¯Á-ï,FÖ(YÊ$»kAÏ_DÈáv¶>ø]?ØÇþȶLf¡`hæ<°öoü¦4e-E¼î@!HÃ}ë7ißø%9Ú|þÁÇÁDeSÿåòj"+ÔÎÊÙýÎÓ
-Û^ï\ïójq$oZÉ7åPÙESCóÁÌXÃêå÷»^ÉÍV&ç²Óîò2¢=ó(ðbGµ)"*¯4I= Í÷B£×lÒû´æ
-§¡zÇ8L³_ÙþòÅù.²oz?bË¥AóRhæg·#ujÊ«Ûyðå"&ñÜ#Îé¨K<üsv`¹´!ÿöô|ì.Òó*/FH@ãÉ÷ØÏgmîp(5{v'ºÜ §Ä"áD(§&ú
¨xTèZA96:
-#"p´wfÏ(s¬û]wsÓÑø+(ûxáqãÇ]ÆM¯Ç)SWNÁ÷1ãÄA´Þ`ìØ?2%$Ë/¯©q8§£rÎì £â³
ÏyQH¥òѼجÜ6sbÓ¡ÕÌèt¢Ü¨
-Q&§ú4%9³Ct¢G7¢ÜY˲|+ª J¨b!,(ÎoÖI%rô¯Ô°¡4kA"í"¯ÕëMÚ»ÔGýI¤³¦7Ã>Z:ñ¡²¤¦§/RÖ§/µV>|Ö-IÚi?n.úwíû&W¸´r)+7åùMá4·(´ÙVEǪÍþÁ8êf1AQD½5 7)Ô,-!X
-÷¨N3PQÙv:ÛÈß#(+JÂÃ!ÓÆ¥æ);EAÉ4Æp{Òtrf7ÉãÈADÜKdýiÒ»ªhpò±*t(è,%Öý¾2§BÄ£À²CU[á[Å´£Qêh
-+UGÒ«\$Ôeä²Àñ·B(
-ªñ'¢PY]Î4;·XVr§j[:ÕÇqB³a}#¿õÒ
ø±Â¼^
\ÜfL²|22]L8GÃ2Ñm¢hô-ýâQtÈ浤ºo0âñ"æ,VXÖS4/¼ÌFʲJ*¡]+ØÒ=¾zÁlBc!V¡Á[ÑBc¯
-2¾Ù¦ÓÅ9þlJDD-jäâNhS¨
-`rC÷7É°3/õ~¾¾%Cv:`<i
-Ý2¿f4¨<â£ùÅéâi=AÊU'Ä}¢ú³0¾À`èF !=étÍC²?Ãß--y&.®JEºþ½9©ÞlÙ@x)¡H&æ ¶nbiRE!¯¦Ús
hN<F
-PjäæÐýÏ ä¨¤ý·}ß±®Úô¤àµ=º]}«§¨ê2¿Ñ8ù¨=F at eußÎÐìûɱ#¹ÄÇÊ÷í5@Ú¼à:røvâÝ®¾¥Ô`I ;Ô*Ï"·ª W³w©®lßÐîÑÂféb!§91oD§WÕ馳j i9oÅF'ªÜb¼Kòïæb5}OªJߢ÷¶ªF¨Ü§q<K¡îu(d§àê{Rô?§ ×ûD¸¿GR«#µ:R«+¼GFÊ;6eÐGÐìøK 'ÕF¨ñÈþÛÛmüNÞ½QÊ1âã_òþ%F~sèYÊü4¥Ûhàï*:¤ßÈ[.Ô
-«Cþuþ:õK¢#2.Ái¢õûMPc¶"nSãVC~7gÃƯÀ Ô|0¯ñëèé%nu+¥ÕüEZÓ$dV[f~Ò²wqú£¼QûÛ±@dîù§Ú1Üy³~{èEVÙpßpÐ~°U6ü¹×ë¬=t»÷
-ÒjÌ1b§P¢ 9M;þwEUw?ìÛàP+äZ(µ'/;*ßo^e×pHS·ÔzðhUaÞÑ3æÒNRDRÖNþ{´ÜÖmç£ö¼£'k)m3êÿçQÒCýü9®Bw¦f?IÑQÿ¦`°|
-3áèüß¾$z¡¤ÊôeT5ûæÆùè®qKÞ+Kt)8 ¡Hù>Oë(òÏ> ÐBòl}óXÙ'¿üõaup=°ÔW÷ÑëC\é
-Zy_%ëÅètj*Ì´å
-Ï~í£ë:ãy£Hb{~4yÿ¦>xóÝÓ©nhÅpSoNÔ³NM§w9¸¡PÀêKrÛ¯{h²º'ã½ã¥áÏ©Ù~R¤ÂϺØHÀ-v§è)º¡^Å/ì¼ÉǵCÓQ9=
åS/þ=?ðàþ8nârêP±ï#¢ìBl²W9ÂM< u:ûÙÅÂp - PR_GÄ9ç?»øñõ):'»g(åyPyIrÃ\׿WOÇ^{5äïo¶@QkÅÄ}ù$ÌCø±,¿«&Qº)gÎC?«b/ï¸\î|$Ê¥¾}CRgó«NMH¬
0Ï«9ç¾!ûîøª3:6¤ñËRµk jzü7sþH9iH;¼
-)*eÀ¼,À¼àÞFÿ£
-ÑrÜE¾!w>oáfÏÞvEz©ùþD#¤\æ÷}h#ä¥5ôjm`6â¥l¶c¦ÝBHmü·¯[=#<Ƴ/o¿Ó7Óß·/q¤i gzäiÊ5bX%dåô} ÛÄïy"z¥WG^¶96t¦{
-Õ4Ñ«<Qd¹¢D&bmCX¹
-äDQBd&
-¨*wi®T ^^Ò ¶£ÌÂH?øôÖý4WÈÂaº/øWh}nWß* Å}éE8¥Û¿Ln,9°èïÒÐE¿¥KÏ
-æû_rCªP̽Þ×<EǶ9ks"¤ëY®áÒnõÆm¢æ¾5(0ýr at F}¢ß8!:WD²¢CM¨²rZU¬nVE7è÷³G[^¢Ciʺö6·#qÍÒb~¬JeêÑ&_0ÝH6I©®æÚѬæDò.=Cð-"jÐÙDhW·rÏö[
-ëûEß³vª(«º9¤ãçüõh%Ôö¨BÀ3ТÕ^u@ɸkÈÊ%×jÍ<¢r
uxd«v"!ls5*Pº«;¢Ë´£×¬/Ê
a+¬&VBF`µue¶eÚIOP"DTrÔô}gk9äO.ÙáéWäßz%9Nñ\lNc6[6K¨ÊêEAª¥ÙºSifg2X~Z`£¦
-Ú©;îÃb{2í?ê´è7å£<Á{D
PÔêÈ2ðÍ¡È\Ízò(«gájå*¡æP¿DÝ,²
-ß9*i}Ì#µR3Ø{£!!ËéѹQÒ«Z·ÐúÖâq¹TT·rmé%N>U¹GIÊC@¥¢P¼Û.KÒjgg{:4×¼x;P6kû»Ðm¢î¾¡µ\M?{»Z²t+Z`£g£zÁ.´Z2¡9zf±R:C¦oÅYóÍ8zDsunÇoP·LKµN¾Èo¨"º_¡zÌïÁVýìÒ´>£î´<b«)â¾H¢¥gðmK5§9Ô©Ý
-¾ÁÎȬX®ÏV
Ø5ºó2týÙ»ghÎAC·ß¬öj«mWÎlÜ3tÆ]¥Äaißæ-êñ{µ,Ýß g:¤qeéë}ÿ_{$c¬Gõ|â
É=r27Ñ·öÇQ©s
- Z>BPªÙÛÛBo^]ßqI}<¶ÝÐëàÄø<ûîQ<Ó¬B]p×è&oý
-±ð¶È\Æ]<r¢Â$èÔOo×çaÁ
-ÑÖÖlgQv
-¬ËaÔß#ñƨoÓaÎ'E)Î=èIÇÏ)ttÒ¤üÐ^¼º>½GÍs7x~tÚÜo#"%Æg«H=DUvp¢i~EYüPõC! ¨çQ«<Üþj^¡È¾izÌJiFÅ|+ÌJ at 4îàepÜUƾD'qÂBUÝÞèÈrxä°L5øEE·¹¼t« úà[;ðkKE*rÜä8ñÜÒ/`-ÒL}÷èöàMPnE6t+ª`WÍ-XQa
-§¦Ãé²Ó£E<wsC
-²%ans>¡
- 7Öê&<|S³?¸´P\ß÷HùY\A:
-jxÀf¡?nÇoí¨ ¿ûÜ»«f).&çOTñèÑíø·sÂ#ØF"²ÕIɳä¸Ë¨@[40mØ=5sù7ð
D¯÷©áÒ)
-nìGÐ/l'óZdÓ}s$ÔnwÜÐ1¬[MwK;]6Óôp*
Ü,Íu¸)7h®oÒ$¶\\àbÒ¼½o
-egH"x?¢SCݶ;µíêÞ¡ó±Í¤7p*CìEÅ}ó(]" â¤Su&ÆÉ¿6ýKιxá*
#&AlJAµ²ð/ñng
-ºô³=,ïy3u øå½y<s#ç¸j×»íÐEÀ"Åy´¶ÚÍoMzkí`[Ú±ÕL«5I+ËÒ SÞÓL ¿Azqö§z{]¸ÝÑÊüã+=-]æÙéÍ!Ø2
SD(N[J·Gh¤®è"=7QÇ-D/È·ìè©ðp=>ÛReùÛÖ*öL¿ÁD*¦H0¡üæÐúWÈrÎrôE£âÔ±\Ü
-ô½7=¨ä¥£ Â_TüôMr®wâÇL¬ä
-$0`Þn{Õ=Z·=7QÓ~âeÆnKu·"÷éÓâÐDé-ènºóvèÚv»=²ëN$ÛPªC
-éï·y|áòVréÁ1Å.
-S<T«O
-v2RÝ£i[û³Ô¦oÐõùÌàyÕüæ
-¸"øßÙo¯Zò½øôd at CpûØ ÍõÊü´^ÚÉ<Á8Cpõ|w~RM£7"×'4ÍI0
-AÑ@¨rGéÆ>ôzç³-|QÜ8ú¡Wo§aX»`Òþäû¼h¯(ÎÞE×WEbÖöBÓô¢$qYLß½KKpµÊ9P&j4]-èß
-ômrèDgÔi
-rOè<:Ûl±^ÙØyûðo>JÃeàt¶ó|ÒÉ9Ï÷®p¢q6·eߣsiÒ7ìÕ¡s7©¹PÍ«Rí ¡¸>,·»lî_s6cøîC²sJOÇ3ÌCë :çÛwob](b«ÐÎ«Ï ñ8à,xú»»~ûAØWÁÛß!v«Áa
^ýuòdWåßOÅËß4í£êã)%-·kÿ÷ÛôÔu8i<?%tÈn
-h¼\^ªuh·Gël;S<¢~¢Jé¤ïǾLÄþD¾êÜĨèuc`w@ýþþFä¾ëU« qh´äRy¾NNEÖºzñu$÷Ç鵸zÇ+aG4¯yTó·²ûqT¬GG$³r-ª/fÊ jÐì«K¦ÌÉãËÝ|ë[(öi³Wg+ª÷ù
-´#[]õq\N/îÇÒÓSdȾMÒj@±Ô;^¿oâÇñAú¶ÿ;_§WeTÏÓì_VóºÏõ+ iûn¾ÊP÷¼:o¼=Mäé
xH³¯^½À4®¼óYeq¨".·Â¹z§ ¦wôÂ{ß#»6±K)j§È¡Ð ¶Ï.®ÒÕqF¦Ñëç*ç=j¨îéMío(">(×ëÂ@gãóRWhUYçt;êo&ØÿÒn¸n?lj?zéÙiz*4À3²òCÖU~s¼-Jy~Ñ_[Uß6»æ_Ħw`ýxía
-Ô¿mú3¼\:~º[£ä·qÇ©ý®õ>5Z8´½~ß«÷ãMò¡Ä$´±¶éã5qVYRcx~ç´Þ¹iù;ÿ.Ñ '<
:¥·²+®ü¥ëKsÕÒÒï7AjX"þÕ6©ÐG¯ßϼIz¡ê{Y)QÚZÌ_¤n*-~ܪ§¼½xÿþ¿Âxá;ø3FÇÇSËr$>ï%üQI¿ç%üão7GêZÝý¨=½vÎÊçò%4êÌ&NÒzI+.r¢¾}-iPØÄU
-æ
çÏî5öé·îPA~®~ë~ÚÀ^®CÒVc2}ëô{öü¬4}ôãÓÃ`
-ôæl£2~çàã¬-À#ñg¿ ¸C`(Ñ^ïHsJ>L·©@Fè .Êù0dè"ì$C»e#ÃJ>L;2d8rÊF\óaÚYÃ÷@sqÑuò Ê(Læ*â
-J|2F¦7Þtÿfdêìäô#³7Þô~«é³#ÓH#½L'+&y0íHdlª0"uvBòaÚ!o£é8ØÀêÒHñ¼±"dq(Þ2ye¬&f2"ev#grÎú÷Ib]|F2lÛ+¶Ë ظ´#P<X
-A\´LA#³âP¯µ .ºNA%³kBÁ J>L;2z8cqÑ<ùeLCÁ°¢ÒRÄEA[®í :wG¥
-öàR@Æ¡îg .z²çÃP÷¡£ºRÄEAOö¶ãWæPçeÖÂéJ©©#1¿H0ÌyAU¥NeLÁTU¸h5a#Óa3A\têH,£dB"¨¬QÁ\ʨ r at E¥V[OXÆÈtfþYe##N
-eLzpDãHÚó3%¢ªRÄEË-PÆȬ8Ì|̧dqÑ©#±IBN¨®QÑ4u$12gKBu¥æ9[ Yq°ª+E\têI,£døòɨ®QQÉiG&ã`çÍUÄE§Ä2F¦ágTZ¸èÔXFÉp\)¨´QQÉiG&áâAÚË^Pi)â¢S[b%SI¤¢ÊRD)×L9 ºf1
23â(yÍY!MnBHõ!ýtJU
ÅD !ѱËSHuDª
IÒZsy¤w2¦ZÉä$ÄH
-KN°E_©6|W¤
òÊ©Õ8³Zh¶"-¼"× Z#J³ÑwERòa¹´ãË SqÒ¢yå¬=+NµË¤gR´ð<rJªØÝ¡ äò;׳¬+&Sq
-ÒÂÓ#×¢S<&#-ÜkPN9yY3ãÇf8-¿å,¹<Îí<9Ìgúýñä¬{ÜøM0vEú 0úí¯0~
-¾íÊITõÁïàI_Ëñ?éø§+Òk8'=üüê<ìÒ<ò<í\NsK²Úð®]¯wJ2ä^Éiæ,³¤þîâ¿Üÿöè
+xZË®äÆ
+Ý߯èµtTo 0ÜÛêÎÚÁ
+°QÀEN×&X®&Ô'¥âAêOÒ3yùº
+Ä
+B®¾
+H¶
ÌýT±Óàh³º ®_-;_®ôº¾¡áØËÖ²ÊÒ çzêX @:7øáÑÀwD@¡&ªv`
+(10!0U¬Swø`VàØÙX;³Ù
+ Ã8OºWôs2?QNÇCQv&ÂGÏÆ4d^-h±Q²½<ì!Z#^iå?Kg2¥^äÕyaÆÁLÐèt²>UénÄ=¥Í§n'8ÝÅKä'ý[»³R"׶¦m¶SafæN±°Åd.15u!óáÿá¿ÉRÍçU]Qy=M0%wÄkOßâYYl¶&ðc ÌÊÞqOééܸ§þ>#·¼Â½ÌX(|ÞrÌvB¹æ4 Y·çϼB<ów·b>¬Q¼Pȶ°F±-RcÒ
^L2©³¿°â
+iߦ,_&O~qêqÙ¨òIMwÑ3Õ{vÕ%Ây#®`ÓÝXò na¦BÞ[D=ßØD=µNWë|ÀñÀÀÖ¬ý}µû¥ãWÃ,90[á»ßrÄ1ä}MeÁD5ÎÄgÒøI>÷þWúÞ¼ãÔ<
$§ 6°º9ögEàyÒ
+°Û±=.X#ìöÀOM궪ÍP}Iý"Ŭ¯<4Z<~c-¹LúwE¢3UÐâ¨0¨º
+h wWX½%Y¿è(FÝ)èS
+EW$\!¼K±.©Ã
+ª£ZʸÐ-qbAì,@<ÛÙɦ57ìJ´ýôºFéƬ_È¥ð8Ä:E\/ÀO¶|,3utPk=èE¿QBÄ]¦øÁCkcköÀÕ)h<9À3w
+$rÁ/Ú/ZfePVêyßÌ1áÛZhP;-S[¤¢EØ^Y$/aÄfÜôû!)Oi´ªÎáäÏCPbk÷7b
+ËíCN8ÏÎFg/ÚÕmãrö¤¥zæÁ<Õ³UbZz8
+<íj¨ÜUIhNðÂSæÄ'eÔ©¢w¶$¾ö9þ8JðÃN(y=ɨ>Ф§B)1Q~£ô9TI
+%0¨¢%ïÆÓ4Z¥¹}Ç@ó F¨u tw»v!+¹P4äظºrYYtꦬ´Ò8$cBQå"eÛäyUøæPÒŹÇARÞ¯vå¢eÓÈe+É©0s¼-_óÑ:FõÒPl&nظÀÒðc U ÎüBW%ÙOÛùî°3'rªä]Ôlh¾ì)ZOÔ'V4(ëm0a³\rh\¶íÍ D9,ÙüËÛö¨
yySÉȼÄ?`mzuß_5ã`ùüçáí¥R÷;÷ëÊ;ª*Þñ°fU`Õy˸ÝBk±ø gI
+¬
+JÒÆ
+{GRtñÓ@®Ux&¢1¬IqSZq^¤úÁE*ÒÍôê xçeÐÔíèÐFW"4ç¼<$ Ϋ*;ÁÁì6pĵ8sª9¤LåØ~g´sÄyýà6tq«)Æüã·ÜKqÝeS©§¹ÒNO¡9jÁ{ØAÂ4"S8ÞëÚt°;-²÷ÿîÄ/µì« éÝw:`ÄtË¥£¢½WéÚ|uÜÍEH9æ¢ ø+óÈæún[~ÔÜK¹«+oÊwSX52²ªa¢cO!ò`
+¿qi5¾´Ã.=e¹A»{ÀîFÎSoß6¾(PTâEèÍ»:²½snõò<8vùÅn2¿Ñq1ÆôÒÓðÔ
+äÑäqÃÜE«1Õ±ù+Ýþ#÷â«Î9í:Éáýæf¬^çáþCôóÍ䨲1ãZ5
Ewuë! Ze¿)V7Ù.ý
+Æ@¡.ût´fN9
+½®¨ì$Q¸ðæÚ=>z'ÕøJ!ÅøÒ_QLS:¿L:Í$ØÖ©Ú[ýôå
+æ¨p«8Úýþëí·>~¹ýZK º
endstream
endobj
51 0 obj
-13379
+3279
endobj
53 0 obj
<</Length 54 0 R/Filter/FlateDecode>>
stream
-x½[Kä6¾÷¯ð9 at UL=m P at UW9@nÉ6°`O»
-óDrV]ÝC\§ñ¹EôÅjÿ£¼0nüüŸzòådÑSG
-£yw¿É´¢·ÀW*.Lü×S²sZ3S\oÍ`¥P7\I ¯¹°lx*í4äpkA!CÎ!¾ R,æ¾K(ΧÿÐhY{£%
-'Ât.jÅ9¦AÏÈæ³]?ûø}VM(×¹Jñ½)Ä^èá?a¶ýt?÷ì´³n 2ZK°Ü¸Fx©ôV%nÂǺÔ21-¬.lú¬ÈSõÅIL
-?ÁÃötà¸ø²ü6N
-bÜ@gÙÀÃ.ÔäW!hYÇ<XØÞÑÄÔÙÑ-¼O
+xå}Í$9ÞÝ"Î(äü'
ª.ºf
+þ
+/UYPp§<q
øÈ}Ï:?Ëçµ$,Çô©$
àØ¥zï«?szj6èôiYæý£¬ÔÎìg'BÐñ³)>ªw-HLþÕCDëÓUÆc_úNsû¼c$qFÄÓBÔx̱ôìÇZDÌ»¬A¯<ñ´çl]"ò!ȺDEVÿyéÓíÍ?ÖBDÕ1¨á,X,'I¼^ì;ß`í>ýo4J¸z§ Æ_vzÚy¯4H¡»¹Ö´±ç§ëþøÒû³¦üu©|ôÿ¢Ô_xAÆÊï1е/µ°º(Ð/mÁô¨V`?þifÍ0ñbÆ(Cpè+
+8ßÇܺi:D LªéxÔÖ
¿ø±»®£Óð¤å88z]§àV¥Ä=ÔkÓh}ÃÌØÍÆì9Ãì$ÄíÛVO+û㶿g§û>qj´2Ôð´
cA»ÀóNWI?é* ÏÁG¦ÈÇ=XÆ<u»>wCM?øôã8ðv-ÎqQ~x
ã®\ý¤q?ù¾Ã*/}¯(ðÇ Ñð|O{¼dº]#\Qð߯Ëôì«2!ûá8Õùóá'ì¡^üÁ®²¦çj¹éLêËk?öô¥ùøÏ?þýöÿ²Å®]¤Ö«=$©ÓÁ¿ï§ðÇ£tlé°¸÷×ûQ¤K6¢·¡P¥ã¯qFÓPy»ýÜz-оÿùß¡{ÿ<þÿþçêû±ñ/¤ßÿn¡TEPÞû9
+À~sÉ£tW¸ÆRºQ²±EL©ÿ52ÂÆé5ÀÚö8P Õ{¤- 7,'Ë<#Ì%e߶ÇãøUuè±ûJÇ_áÀµ%n\CÔ) Ù©aNEãTu]+/
+IÖ¢H¨ <3ÂƸó¥uMÜùrÚWáÿW½[1tѺqLLæ\Âôåu)î¼öPì1xZ
+Noh ÍàiÁf&\Â3³íW×¥Ùÿ*Ú¬?ä]£~
õÍE¦mcÒö4MÒèv5e q>Eáïé«ëÒþWÑ^³¾,Ïî
+N<]KTÓMÐa¨â骨<sè¼¢>;¯£5ìjùù
Ácò,²¶CÉAOQøÈLøʺæð
+Ú×3â§þûcì>ýºY>úîGt4Qñ`®9A!Ìi¨< ýxI}*ôã¥ôCDztÿÑXyvl|F,bÃæöX?!Êi¨<ÃyE}:çUôe(è¬çwØ|è´æ.HûæZkíS"C
y8pè".Ýã -±GgøÔ;J<Ywztåo)&ü÷Ûñ¿¶
ÏUë$c¤=L
+ý¸Ëô=4×W,Ìöz¸b5¼²]|¬þlP9fI¿àát8ßf¾m©î}|£.=¬>_åXr'ÊsÔ\ñãg*ö~¾òÃÕ+ÇÛ26cÔ¢¹Ë°º°vQqZ»Ê!^jíj0J!\¼òúê©æ{s
+±¿T¥!Uæ"ëùÁ5ðF$»º÷óÙ¾»Õ}qQW) uÓFsº&v*íÇ>~äì¿j
A²]ù°3,xÍû;ÄÁAîÙiÞdUênònètä¡ûT×Å^Å4)RzU931kÝÑ5J5ö´/VT8¢@
+Ùãí»¨µxâ¼ê©®Eëàö.QÚ"lAÓP!Ö}´µ}¿Jo-ÑÍq°*x êñéaFSÑøDKD±Æ³é쪥ÏÒ¾ÐYãÉpõîX7c¤ûÇ'¶¢¼/Ìpù.8zºðý.<¸·[º*b¾6Ý5µÒÒíçZQsí´.@ËצuÆgÔVI|×kݯÏúä¸êwÞà®n
+F«;¨oT!ÄY95?êWF+~ÜOóX1ÜkÉѼ{DpÑ"Êi¨|ÄqþÕõÍóWÑà
`ÿflQ¤ÔÖCÇi_dpêÁOèàøQÍéöÈJ#×#½ªþqc÷@g#*½Êoõª*¨WD¨R´S[9
+¥Pve¢AûÛI(¿ÃÅÉF;Êjöþæ[z\ NB;Æ ¨×9ÎûpW9ã%ÿßîQWº³'¡Îy])æPîñ¼>tF6 ©tpØäèHBÑÉ
+åäuæ#"Z°µÍ(+*Ïâ^Qz%ý'-<ù¹RRp kªð&<p©o+Oµ¨Ð05ÿóY&øÕ%¾8ÒtÍ7B=¸Èû/
+¢ÆAþòºÔ
+ËO%e·VÐcÞº±%êÒU¿ÐÅmðs
ÿ¡u;iÐ@O¶
+ê6Ø8JO¨V0¼5àá]¾{Hî8¼k ÒKQx»üÕuÍw(^Aû4ut<¿»¡µeç×ÖD5ün¼óeB§¿ZÀyÎ(ÉCÏz P
+÷bJ'ãJ=«W
+6:Bc'h«¶6õ³õ+4S:#ør$ÞIfzUéïlIK¥-U4ss\ñ;-gU¥9×'Bf7¾§cx!yz®toxmS4°èuÿ;"Ò¹b[ 'ª~þFùúìÑå5ôe$»>ÊQAë&vçù/¸*¢Ñ,ÇÒÃͲ:½#F{5 Å
+_»¤ c=
#üBóT1vüËæÁ;ÆÃD?£ùcWðhôó
+Vöªïv.àzûë/öæ:
+î¯0õ·W.?%ëâBëñ{7þ¿ä¿£@üé½,XÑ¿BÌ-¼qùÂDm<
+¯¢Bd,~x4ÛàÒª¸0ô¼~,)
;k\ÊoR V^a¨®Ð+j¡³U_'TèEåÂwfTP1þøìCbeáçýÄì²Ñ¿à>$òî" ç¹â;\Ã`§¾$÷ÕQW5!ÍÞô|R:¨1tG#2»ËB(â.ã\×
+éùí
+ØðÕFX±Ü4¦?DÇ@ KØÙcy4r>lÐwâÅô5¨²RZÐ
+1\/MP'¨8ýiBÓPYK)Xº;ç<k/<|DÓg졶x|ÙPÄÃ'µÅ"Ìi¨<j¸S>Ü2/Ì;?ð#DÁáY¾âE (§¡rÑ2húnbÛ>ê%¨fz),7 Co¢wÃ$ßÅ;aè3cyE¶³T Âøøncdd,¤>Ç_ý¥(/ýFÄê+b~i*K~õðüëü-¹K B´P¨×<ËVÙÕ²àK'Ü/н§Õ}en4Á"Ìi¨\ò¥·à¥Wo^¿ñ
+N¹r© ,Öè/}Ú¢È
5
+éI´¾/E&Å7=|ô"ÚÂ
+?cÖVk#eÛl×nýæôÈÞy %
+hYÀ43-¶ýÕë~#ÁvÞWçDèíNÝUé&D9
+õ #6cw¢A«L9>±;¾
ÎcÐU¼PQEIº»¹ØMr*ËÎEÌé;æ/u.X¼ë©ðéº×Xöt,¸ÅiÃiøxwÅ
+§áezô¼ásÝhÇkxðLÞ1ãa££N
$"¡¨Tö®|
+Q4*E#ýê¾LíªNm®NÚó¾òUv èSÀÒB£2
+õ<×]ÝhU
+BØâm d¾ùfîØÁÓÊãÔFx,°½<NØLÏÑW]é?!Ë1i«@G^¬ýÚ"(^øco°,ºÂc¦ÁëÑRæ`eM8Ho¯àÏ)XsA;¤Áÿ_qQ&^zfù3ZÁFo·âI_õ,bTÃ3bIEø ÏUí¸rFä?qi"Êö*Uº`J7ù{Te#ÖHé¨ÒiNÃ@ß®dê$ùg[Á¸.þå
+QP®Då¡^®ØUK%* ÊñÏ3Àq¾ð|»p
+RiZFõ/ÒK
+* Çå]dfeHÿ§Éè%³°XÄä±w§X¥o]Ò}¨ýÝ«ÓÐ!×ö´| ñ#û Hg5 h`F )f+*]AwB-Êæ
+ò'¾¸ qËõsfÕã@}äEÇ1§6^£,VIñ7Rkõò©Glã¥{¢Z¶¢ú{ͳÌ5|
+³>ÏiÌÌB°1ʺ¬v¥hö¨HÂÆ{S«gk©h!ér¸»lr³Ðų́*TM[ªiKÅZPZ Pe-)1âE®PÄã#C¨²´ç¥7N'éæÚÎßÆVtÎsV
n¶w¦ûéT÷yIf]£h:çoªã+Ä]¦ã§oÒÝÇ(*ÉPY!Ý[ËÍÝ¥t¼·mço¸ÂÖ¢=õ¶´4<B¦£6½Ù¿þQçIÿÕç&/Ô£Ó#ߤýpQVÉô÷êfªcZ#e´«óÁ¯QïÏP ÄådRsöLÊ»É ,NUBýÌ»JòL¨R¿-&\4P5DUMÛIÇwÔ¦¢
+;:hTE5))Òp[ó/¢yfRàæRTݵªvBBÊrn´¿Ú¹ß¼OÖ£gÁÂþ¾á/ÆÓCÆ·ÝÿkÄüñº56*@
+(½Rî,ûÃ÷Ì
+oð#R£_¾z ý{¿/9ÒkNZ¬ûò»9ì=¤è};îÍ;#߸½æ;Ò4µþ5ûfZ4Zû¨Eâî9QSoýÙúnH§}ñUÔõ*Õo5Z¥úI Z¥º«äá:Õ@îïòïÌÄ
+[úóhÒ=zÆæ*k?Sëii5 ®ßûq´l´úqË>ÄéÅàÁ?Óê7ÿýÆ´*î¾¼å6û7/uÅáuû6B¡»ëìÒûödoÞ}übA'áøw¼O õ7YºK¶xÃîÊ7VñR÷ë¶aNCåñ-×Ô7ðµô¡"±²¼n:ðË÷_»¡¤ÇѨßÂlvGç:Ñ©>!Ìi¨<{ÿõõÙßa~ýæÃ91ûÈo¶
+.ûæ\Âã[Ö__ÖWÑ~À|ÉÝT8³¿ßdªó+O¨9¨¾ÛBnø2Óß/h/W=FWQØïb¡q¾)PüÉñ~hHϤs°tñ:%Dä1,ÈD[4§9ØJþkDZ#çE¦®yÕBTDhÑ CóæD
+dɪËù~µ1XéUCRTÉ)ÎÄTgøõ_l¦æ¤ÅÅ/ÂÛcèÄícÄ!#çGäLÄÿyÃàF¯k¾ÛéâP]7èoNÏ.þßV÷Áª]yðoÖkÔ¯dhô¾Vx`ó2¼aÞvó¥æèÈ·õ}Å_Ôf¼Ù£
+ÎóêÑQä =¡Pþ§§·!ð¡GÏ<õYág×èî"¡ z¶ íâª-p«àá8vQ:Ü<EhDeµËÈ°&ȹáåDOÞè nÒä^v*;qÊ
+IÖ®Rz¼£tnÔ®~òô¹Ú8go¬Sh.C*÷~1µ£@ôbGôåàTNo
Ò¶ß
+ù{6¨(*ÞÔç§r^õÀIÎ
+HñÞä¤ÑÈîi÷#Áªë<'# Ù+¥µÜt$|g7ào¦'ê1XG>`þ¸Qiþ[ox
+@Öϧ"cPk;¤!ß)íFê~Ôä°ª/Ó5DãöÙ_¤M-Ïðȧ;l*UB]¢äD±_I9Z=¥EåéEÒm ¦
+øiÔI»Hà',Bè(o2 ²D=g#Ö©¨ZBGl4^Tvi ¦RviIGݼb»(~Ç Û
+P\)^Õí
ûË`¤qÚâ1¥è©3ÂýKqã±6®!JíP6¨-]Ö+*¥~uÔ=äøÈ¿ ¢QL©¹Ê8"ªÕpoHÔ
+i{i±P|
0
+WbIÚºë·òaå
5IÒJÒh³±ý[ot0FopÝÛT(þĺJUºjdY4È)DË<ê£(zÍ
+y
|KCª©v/ßÊ;ê?º?¼ÃÍyÔ3H}ËKMÎh¨4¥a}Å¡mÝNH¥QßÜEͼm¬ùí¢]XÇ'5Æ t8
$gýQçXï Ø©?´:ÖÃ-ªPf´$ídCÍ%.]pס¤7Ngõ÷¤£¤=·Jiç´Î¯õ6g8:twAê[Y"Ôepî/è)và[4(ârÅ f¨´Q.¿ák+äYsc/ïwÖ" ¦.·DN§qÖH}ó)m3Ó̤v9ÑKýMënpsPÄÚmBÅ¢©ä¡b´ýPP\"(%ôU¢
+ó°§1GË8Uáþï(êSU£é}Q9£D42kªR[Þ¡(íF#ù6¤íCHFZé¢Ç2
+ÅmóÍ"uj¤Oîë¸Ø®&õ)?|#z¤ 0£µVúfõO8"(íÞæÿÊ#3}±åQ¡ºBXÏUÁ·lPZ <# yîPzÚP¿R4xcm¸f¨þÑÊ\5/üZÿU²»^²þz
+SüSïtêc´¿+6Fb®,öÆ¥ÙÁðº9½1pºíÛSØ+ñU¼ÞnQ!eÔrWË#H³aÜ+DÓoo¼]pjÃÀFJCè´úÙ#Þú_N7õm
+FxiB¡ÎIO`2?ñ"mÊAJpBQÔ1ëØ5°¤Í.ÓÛòÜFmÕ qY8ú<=ë°ãLë+Æ»AoðNQgºvHã¼fBð
+ÏP¾
+[}¢¦>íE¢Ç~A(I©4ÖúÂ)Dº%kÉòág´õée*¡Mõ^hµ]
+wçô
Òh¡SôØïvÜ
Qô1]Ôß*ä"¨ëô×þÎÜÖã¬ÑÓe ¥uM>5{ֱʹD^
+OË¡ Y*e
ØãÝèÍJ'UÒ·l×óVz ðæ¨ÁwÛ
+Údw9Ûu{z½@ÑQ.ª/h½_"ËW¤
6²d«ôoQËS®öªº÷0èû±DöDÒ©
+ÂV>?Êkx-h±(¢ÿ@lgní±íÌA¹ª¾Í¨kLÂmz o¾1J´Ï)\vTH3Är¬ÿ0"É
+E25`ΨJÙiVÈ4¹1ÚÆÔÆ¡L))dX#
µØçdÑö\¿hZ
+àeD¾rzWSaJ;Lo*-[
+L;£³vuìmÈUõ!*W*Ãâ°Ó¸ë
&«Å¬ªe\ÍnFDJ§´SV39µà°v-nËÛhõÕ&PÉ©ì¨_Ú Æ²®å^Õh¾ÉäÎ+tJÆÍ_mtPéxNÓÕÄßÀ«õòd+c#ÕHÎ#¸c
Ø.mpÓ.¡d¾YMofs¥QÐí!ò~-;û5óËÃæÄÎì¤6Ý*CÞw6h^A7rÀ!Ò×¢8#vÿ°ÉìÄ%,¨´¢º¥ÂØÍ,ó*¨Þ(Tc¨Nø%_"~;RvüÄÍcÿÙ :¼à:ù.ªJ6=JK«N6¨ !~¾5í$à!çÙ}'èö%LsÐßÈIë9«SaÖ.£wd¾·áÞ3¥Ù
+uNYYÏH¿z>¡¤ö1IoÏØù,/çÚOiÜu8j«#»AQ«f!;C[ Dók*fV
+ºQ½B](á pÒ=c®t«ÊqÈK&ÈУº3G¸*kÄn6P¢E£îÂ6±é¦Ú''8: ÀÄú¾
+Ûn34hÈoÊìgÖ8âY)æÀFßòéÆAcúChK]ª²3³9³@aÌNQhqZ5TÛ'¹
Äme£ôÁÏHxümhEå,ÂêmºÅÆ ²\&Íų´vö¾iílSAª
+¤GòSH4Fÿ(Í{MoC§Ô»LiÊ
+øÙÃSVßyXC áTLÅ(¥ã¢fP]"<$q$£ udÒçÖ¬h$9=LtGXüõз?2)U6¥wÆð©rØRfãq0³tP±*ß°:Rzßyê(u-)¥wäüú8lï!¥¼°zjûh(¢`¾UÛÊ¿õéE·E
ojAWÕhÜhÊ10TWAu ²ËFfv³ÜËB¥Xx-ÇDåá
íÆ1S£qd[skn M<Ê°?O¥x¥>êÉ´}»rA°¶H¾éFµáXªs[©ê\J§Û·øÿXÅI©3ïÛY¹iJ¹a¥(ÎjÖBVr8ÁFVªAmÀ5aD8à]êtmNmË Iz[#öiYÅ`\V/M«]Ðn¨bÓÐcvMfã¶8ÂþV*娿ã9·P£§ËáoU¹©p15t>}Qôx7褤ìþ
+ñ0
+4©^´îv2îótpç
S@!q&¨q;¨6½Óv÷ÙÊõ±ì±ÓÍXK¬MmFÚwe±czÚÞî'KàÜf-tzòS¬|t
+Ê+Äz
+éc\Gé¡ïph ×·-|J/ciT×Whè}¶êj3ôz³pAÈ:5ÚYhËf'GýRVF]»SÜâÙnÜ0mn³3dܶ1î4jãZ;N¸¸BjÅt4jµUØFòÈèM)Âñ¨mCu¬;<ÛèýÞÚö±ûc½é½7ñg&ßî
+YÆ"mûÈÂ>/+
+£ÈÎA$CK'Ðì ÒÖátô!gÕìòb{
+Úg£qñ¾~áb=b¸æPÊ´ý~æ5Í,áÙPÊ*K£!OÅ|õPÎz3Ò=df´=ø¦P¾DÒ Ðíla¿Fdµ§±-²i«?»2ãgÐÉpé{Pé@ne?£ËÚi¯ÈçDP_Æ"åïñ½ÝÎHIÕ5äï§ì;ô[a'«áʾXgÄC±R³ê9sF°{©Xª(º»BÚ~imÛOå«ÈÔ#FºÕkÿ §zÓ¶ëI8{¬b\òE?Æ¡~ª÷U}½&Ö¿ò½Ì|èç6lìï*=ÖÕáÛY!¾¶büÚ`}è×SAUÒ~
ÄÏ3¼=òg(«F·3Â#¾WhxZÐ0ZÙC(©u
+MS¹Ç
öÒ<¶^íÿ8ûH~²1lïa;q] ^Q1tkè:@,¬Òng´05ÔA,rhØ YÑö~
¶aL©Ó
+å(<¹v»B^õÍ
+ýä¬Bo· ]Ç/¢/Ä
+]´Nil<_øZ¬1Q{lF8·ZwÈ´ëoâÂÞfÃlx¦|k$Aí|MJ]
+XÃsxÌ¢aFÈUZÌeFÊôɽôÃdÈL9רfÌ°ÖD«¯JùcQUábLÅg3²51ÏHçF1Ö]ÌÚ ðËðô§
+~¤ëÝ©]Ð mÐe õ£>&mïÙéiu^Ç·_Fæ»%ªg4ú=Ú:§PǤôhïÏmXð²ò?^yÚËsñEVÕW³ÎåUZ®
+ï¢òué˨<
+1ÒÖiúVE¼ªÉªÈèíò
+1Á hPQ-×µ5CS?àÎh{ðMif* :#ѳ¬Ýô
+ë°ðXJ³}2ÒªbúÔ
+P¶9ͨðJ"Çõ{ôhÝÒ×ñ]ÑÌÏcY)*!ªÚÆsYn|Ù_®ÛßÍ
û»¹rKôAòÍ?DÑ @TТðsZ®ºÇh;ËÚ\.ºëô/Ë'ìÅs7£íÁ7
¼Ô¶J×»znJ#ùÆ×Ó-Â4.Òøx¾?®±#Kåô
+:iøzWW&DÙ
W%F¼*?U¾i/
E(¹YÑÌBEEåÏâ©O\8Wt-ÊcÎ
-Ë+40^Ðç¼û»E_f ûÖén¦nÅL÷mh¾'å¦Ë©"1EýÒÊzJ¼RLYÌd at n³%gz7y~OJ¤¯ÇÏÌ%Çc^îã5)eǪVDA»À<¦í¹Ø#u¶×ÆÞ¢ËÅ
-»@µÚû¥[ÐtyÍYS^7ÜQ]½33ø
--ôfïuÝ8<:´Õ@Ø¿2rþÒîÜ
rÀí5Å¿£¨&R.ó`ïJ<CL<´ÙX|ÉóãÞpñ
-}KP(·¢SQúm@ÍþzøâQ,7.Áök¶tb».ÑOÁmÎkpìÂI«´PWVêqC!À÷¥ÒUBXEm䤮èï>ïW±ú g)SîQl^în%ºÈÊJ¯ÁäÎg4Ë63üÜ{Îbæ,#7fH¼¾c¹ÔD»
-[V½ºFùÚ>k1¯Uýn«$ÿÒÜÕ¶»¾ºêÞ-¼±á}
-[ÂrÂ
- Cp#ò¸Üw`eK|ðl<H¬=¦ôíQ¶Ø¼¬)#ߨNJ=úÌKe±ñRV
-¿üoøÇÊ<R·ý7¹$7*©FhÒãHNB öó¼úE%DÒ»Í{´Cú©
-6ùq3Cæ$c;k²ÇMj\<d¢Ü?Í*Z2S7ïiTѼxøB&Eèóî Í@íóº3}ICl Åîè¹X
-
-#¶{8MùÓëL~!ãàã\Þ²í£L9;w[JøõÈ´c±$à×¼]¹÷|{A^Q'!µáGãî®v
-¢¼h½ÍØ(ªºQÔîE¦zú½ÖiÕ1.ö_LÙÒUL:ZÌÕ
-Ôz 6åUíA_E¥£9÷ËÐ[yå±TéªKz4õí~cÒÃfeã½bXÈõ¶¡±êTë¥Sn%ùp¸½Y-¿ÜÓÊ'a©
A76Î*N×°|É(½&ïSÛ^ç÷ú[nò
-¦S+UÕ×)À7.»§#ØDYã`9b\õ#ÃiE»9\õzV/Xº7ÛH/Ĺ-¢`Ju¤°ÕyÒ⪺6éû¹Ç°¶Ð´ß8ËñKoÁ%wSGRa«ÒêòjU>û©Î
-äUî\ÁØ< `vqê[âU8è÷wB@®Ô¸HöT}½ú®ÍûØén"0qÚ/áÊß·¨F?¼ø(wþ]IrîÄÃïF÷ÛÙ{;GÈA°cQç ª%Aùjõ³.?3E^»3/¶ãÖù¢PÆe«0aõÖøò«4â̶@Ï÷;¥ÓßDHáëd~»àøN´ø3qp´¸09]ôDÚº°eZz>>sÏÂx#¨ó¨wz²ï§ÖÅBÙµuYþb)uO
Sn'2=^ZTð ì*V7Ê}5ùRI¡gÖ*¦Ð¤&dDµö1Òta1's.
Qé×cQp^5
-ö}$( +*ó_
-ßkO-ïâÏ$ZçÃõ5YµÂ¢¹}4)¿sÚÍɼö
-a\mrQ<åqÞPTYìX$³¯éNjá©çgV\+Ê»'õ:X[3Ý!»AqgËY^EmºH²Ýàå"ÙÆâÿ
%Ψ#/ø!5ÆÐOÃ_Mý=1
+3â}T]&·HE]#ÞÔuòv»i$Ýh\
+cðh¬¸MÞ¤ûú;4o}$j©ocT¤ï/©Â"_àwð¨¥;ß7B¬\-´©Ñ[ª£?qFõè]P_îø'¿àG«ñÕ%TËF«·ìC¾ø?ת_Jù3öGüeÒª¸ûò:Ô/»'/ª×øN½LþÇK5þÞ·ùqûØR)ùP?G®RDËüV~M!~KñSÄ*Jæâéýò%{¶8·¼ÒTI¾Ø§ÇVüÉ6_Á"P1l8§Eê'Û<ütø 8!
cN4©:jÃO¤QaÊi!*¹J£Ù7F\sZdHeáÎ;¨!ABÄ
³æ*'¤p§ÈÜhönsªÄ1E(F³«Ê¹nJc."PAÄE³â.7â*ïªEð:B¹ 0!M
+~qgÐÎeîZ
LQÒÄ'Í1UNZT
3ɤq᪹¦Ê1)ï´`ô
+ºKÓ"C*)BY
+!.µ4©rL*íZÓòD
+SN© K¤¢îå´ÈÊZ¦à^Ç Ut(§ETÓÂ
+sZdH%-S^m7F\8iRåTÕÂÐ=zLÒ\PïɺËTpjYé¿°¨!èÍsZ¤[¢© 6Ä#.µL©rBªhAMBÐ%ç´HJ"oÝÌ~u<*!nâRä~î&&j0IÔ$û±F|¡Hñ¤x+DR¼MbaÞ5Ò¤ÒNs
+H%?%ÕÊeÿÚ
+ ÂN&Ñ@B&cª´(g:©:|cÄ
³æ*'¤Í3 j6#.Ühj¤IeÅðIP$Y¢9LiÍ¥
/LÑ"îLÎgª´§ii*ûhðnZT9&U¼øñA*hi*^óLRI8ÓI-¥è.¤¹¦Ê ©ªÅ /FÆKÕSå>ôsø-rò+ë\Ëa ùGIÅçÏü,i^Hù¬ÛÃð÷ä>ñÿÙ"irjWMÝÚúêÍFºÓ/
+ú¡æò¾ÁÍBo7
endstream
endobj
54 0 obj
-2869
+12890
endobj
56 0 obj
<</Length 57 0 R/Filter/FlateDecode>>
stream
-xÕ\Io츾ûWôyv¸KºíVÜ&1à §d&@ ï2?ܪXÜD¶íLF¯-Qd±ê«,=óÓ¯Oÿ>±ÓÙ{]6wýþóéÏ?þåºÿ¾ÿýéöþÄ
zÞNgÏëéýo§ßíúÄùéý^´º³}9óÁ.gý¢´»u7jaf7Ûå¬ì_º
p-ôá®±Q¶
¸åKxy¶E¼;,öjÞ|GðªkÀiwϯ¤µiÒ£ÇÞÚ³¿²ihyá@'Óú¾WÿDm~wûl¿·sKoÀtå¢r²ìKo°ð¯cë)Lm7wü##¨=úÞ#}³øt7æò÷?<Ýß~,dª96
-ºWßÿÑz# Àl˳,PУ§DÙRÕÀJ;KK§cdàÒ²h'ïÈ0¥ûçmÅꨫ#W½¹«[8é¨@2ö¸fñ¯VªáQ|~^ã¤Âð*
-+<JÄ=uû¸_?ÌCîçÐa®ç-_ Üzpº!ú!XVi¯9X>+70)
-dÁêýn»É^
-#¬±7)Vñ^¤5Z8LAHU$Ñ9D¶6K
-?Þ²%P£ñ"0ÆÕ8`éàqþE²_qF`É*Å)éHx00¯]¤°µ!÷!Rö¬J³ò0`ÓxìSÎ#)ÂÚDÙ$åz¥æ^;L°·ë5®tÏ#tì¿~{rfù×ø迲®?Ó·Ó"l+ÿû§?U¼ï¦9"éèc÷cÏòiÿÇQ+ú
å°m[ÑÉgHæIµ(U)
-Úó[Ä·ÔYIg/¸ÎÐÈY)M¬'h¥@H$Ö8`R³äBÁy»¼gHP4vÂ[=Ø"ûîþ9ϱnèêÕ¹ëW§s
ÄQòY!òZlXcPÃ[à°u4|&D9I½RÁ£!¦
-#XÊ6Ï>1¶B·6Ñb!ß©}ÄlÖº×bFºt¦ÂØza³q
-ؤJñm¸e!ÎüÆò×븬.$·"ê°Î0úÆ©%¤nl4ÇÁQ«×¬¦¡Ç=?°Bmΰ2¶SÅt-K¦Sàéÿ2ös0½%ûÝìsLby>ÞQqëàÌÛ»0
-z8°Â¢Hå¬p ¾FyXèMUùÉ@
-å¤kf$ÉÜvr6W¡nQÓf¿ù²
Yh®ÔÑEr!O@`;p-C,c«æ@
-
-8UÁèp)ñ÷Äľx÷¤WÏÓë:(AâlÀ`¾ÁìѬB ¡½/hÁlÖSm(hS.ZFmÃXÚsËE²`ÜAÖ¡+¬ìÅغæï<^7d-M~Qù:1èøu, 9ãPÏ¡Öªv¥8`|#9`m-IiSü$À
-.®-76¢Ã¾ø¡X(j&£Ù
-fgz#?¾gθeÉ)×ìÂnÝXÌ*d
-2JQ9ÜcÏ9æ#¿¼jèù¬/¥Å !Xb¼¯ÍþézÓnÉt\W¼!¡(ùV¯Ø ¬54Ö±EaõvÇ\6¥êIaúkÇB«ùã¡Õ0÷̨½õÚÖ7pWtA(J¿9¡*&«ÓÁ9)ÍW
- 5H.g
-üÝ(Pµ<R õÿzñ(ð'HWh§I|;/Ä Ò¨xïíî(0
øBHìA3s~á=£í÷Dö×=*¹Aö+oÁ 7ì;·^ãQ8êcD¡N.]aâÓÔlâµzH÷®T5Ã¥{C®Ð.`&ið^Ö
åöäÊ
-( í^~&'èúðë¸û)ái¯Tô¨Â{ÔÛpo®,Bº~%ÜÊg%bµÿÿùôËe^*ÝþmÐräl êÜñlCýMó.$47äñï¾Â=Ñ"JXÛäìHx¥±{=!Å@üÉjD9 Og¬HÚÆó®iÜàcÐÞB
-ýî©|Í~åëõ<Pð5ÿlõ 1¤©ãÆGäÜDZ6ò^fswÐY=¦ÕÁGÚ¾Ê+¹R?¹¨Ú+qÔÔYEæ
-`lO9;3(º¤Ak{F`¾TRBÏ!ÒNyÄ¡Z%T¾Klwy¶\wÃ×RW¦CyТ
-ø\Zjt\|ÓVW¤6.Ø6~Ë5\mÃfbø~C$«úÓV¬¤C¹á%¢¶:G{ÈaÌ<ÒoaôºBê~û_Ö§Í×l
-§F°²iÚÅþKºWE='2´Ì¹P»*Y²BºLT3ÏCdKÙI`0Ûþ¦5͹а¾ûA]ì
É¢/Ù?H×oHn9-9íÈÿ·\-%<Héq¶ÒC5Í£mb©
a&ÃÈAÏÀ·[Ìp|^}`¾ÃhÐËms¡Âa`ö
-ÎÄQn°¾ óhÓBÈÚ´rYéFD¶áZí¡=ïÐⶠÁTå5¸WDÀö¡-EjH{ÎÛF÷q¡q¬¨±&ÕðhlsQ²
-«Ó
-UAÎ{zê®Êîß³#O ûÇÐÒ·¥êÌ#õ>Ô9pâ`cVòÁâ<ÀÅõíeÍ'
-ÑÀÂ·Ò ø²LRg
-¾¡ýPO'+.2_Lhí²þQ¬Eäý¦³Æ÷tN.[ÀXAªØ©§E«±ç¹QUösoèÔ+jÝÉA*5ÊWVsJë@hS¹r³§;bx9<¢Ì©6ZÂÂaq-òòËÞGKRunh+òfVúhd0Ýú^rÜ3â¾þ±E'æÉx¾@ÂRó5ÇdP[ʯe9þ¦`õ½ú&C4ÊTIHðåFÕ÷:k?gr,¹4òÙ´Ó÷/°~¼¢}Ø
-XoݼBBèYS¸h²AlvN³ªÏI÷,é7>|º>è`âhHwB}¹ §<8±,j8Pü`óŨsµ¹ÒÊÅÙb¸£õãé?+ôC
+xZÛä¶}ï¯Ð³wÈâU`¦%åÙÉ
+x_ö÷SÞDQÒx]`¦{$U§n§RÓ·Ç~TO=y
+ø3Ìôóë¦þ0ýþPÏèÔ§þ÷×_jòsÄ[Àú9Ó3¿üÀËѼãýãa¢«ÿþ²¹gt>~~²ÆG¯
+Ö»
+t|.ýdº!¼!Чãvÿۣݦ¯¨°3øq²¤@æ*
)ìì×`øÍÛà¼Afü¼j¤
+[ìFtåYÒÐämبZÚðfü?]ÞHµÛ°7¤äi
+}%"°L«ãÕóøTØyJ¹<hwYͧß9¬dü¬èåÅZÉ;PÀ6£(0è7/üdiOÁ!ÝT5GãS¼37ÜeIå mþ°yñO¾Ç{2ßgóH²ÒÎ> töÞÆ\,2lg¸:
árë5|xúÃSä˨ÆÓ
+F©t>|AíÈ=» 'ËLcºj@Ô´¸ø7~lúÈ>-AM¯¹fJ5¡3»nEÇBÁ²Øbptû¢ >Ëâè5ËÄ[èÍI
~+áxÈ;Id¹Ùç'µÓ.-+ÁzgúÄ[
+ªvòY ¦ÝÛ/)èø@(pkßøÕ$Ú;Uã%©Qàmþ=Û¬
+G¶¯9·Aåò³5#÷åLŵÕNÏŵÅî
+A dã~¦ s
+Iq'ªZ{Út>L¦<õ^ Ò1ò£[ß$Cì<®ö¦ö
mª½ÎÑfgP%5ìw-¶á(t®1ºÖ½ö«.&'ªQ!NOÏÅXøG2AB
}7å &Ú\°ZbILëKôRl-¥íò.Ú"gª³±õ5íÀDeßÎUI
+ì¶*\깡÷ë!®w.d¸P©ø¡M.hÌá\SL(åÂAH%YÊo¬Ñ3«Y¢Ä"Nq03uàI%½Ô8°O¶h±£«6º±
ìݬäe`/!G+DM¬_߸U/¹"º6Rî|k¯µÌ)¦¸û4úãSP»¢`r=3"{ ±¯|`å»Rt1ñ:V÷D=ØòÁ $¯?0B²KWí®«AI5n×dw3Wcáé&öÂYb;äÍqòiln#I*Nê'VÃØZér*3Ý*Þ»~uXÕâÌ®qG[,tH;9HIG¾vT(_j£²-B
+,bëôdù*$0ÈáÜFqÂÁ ç§fÛj'켤ÕC»ÆÖ̤²"IשPÀ$ï}Òu!·¾£ý¸ëJ8ÒÏJX»2íXq5-gIjÎÁ´ºVñ¦²iÖßò®º2Èý®ýåÊç°>
ÉÌE{rñÀÊÙBÄ`xW2ÙÈfÁlFÃjð7÷+oi³[ÊI<ÖjXLÄÛ7s'&fwÿùäÓE\ÀÇ\Ø?íLíM÷hO0¢6]u^ÀR.à#ZÜeÞ`2[á\a¥è)W®UAØÊÕÍ¿=öúÃÖÊ¢4ÿúò ø-]bRù£Âhú2éH¿üwúÇÿi
Pdªxe¨E'"Wy-®4B-©v ¶¨ õ;i\pkàÁ(,7&
+e(Ö8¸ìJ¿Ñ µ¯43FA·DG躢vÍâ"iËÉ£«ØfùÎyä¼ò¿ßS¸H¸õÉO0ïyql®øY°§s-bí¨bm<
+Cf ¬î@ÐGßÉ T0¼nëËiÔf¼Û=÷fßñþ-Ì
+÷%°R.^³^f×&EÌX/!3ßÜ`¿ÚØpÿfؾ@lfØWÿË_ó\³ÚðQÄÌÃbN7ç¤h=ëÈ!åÈÃ@.)ÃÅjZ>ä ]»Ò<'Õ7Bs¡9Ñ
+çr×&sÈ·+we££C×i70d4d¦*ÎÝÎ9ÆåÖMï¢÷\ <ÓÓóA
ñÝ[Xx 1÷³µ[
9wÍõ¨ ïLî÷~z ¾=43ê±=x®üÿLipÄNn/ýzèØ]án4tsUZôGµÈÃÔÓ¨[|oOnú yw\µÎ¶OçYgºÝ¸QÇë{í¦çáz{ñ hB!·
+3QÙÑje¸ÔôÝW+úrq%NÛïÔ;
+ê)²1Z]ÅIA¢Ò}G)8ÊB:iâ²c2?ZvÄñ!ä/Íæý´<ôr&ªÝwÒõopá3öÁ¢ueP.vÄ{YuôyêÔ`Ö§¦Å¥uÓCÖr6ú¹äyâǺ©²#Ù3P=×pÁËÒ}4ØîeÛ[nååTîÖX>~ØiqªÆ<<õp߬
+ç
̶(4éòêB:÷£c°¤¯
+ûá^¢Icb,ºrÓ±¬CIÏd¿ñ$Ùq[ÒÛð*eL$1(fê)÷¢oóÒÆV^ÃÐ=[Îý
>?±áѪ¦8LII®/½uÌgÞÚ'Sչɵ>Ö½UÕY^çTRéó»56V X¸÷r|Þ"HïOèdR¬ëeÖúªaÀôRsƬoe¸XÌòLßí¹pÂãòVcmoýèËO
+q®
+e¦X)cø8ª¦©}¥kC¢JméeK^aû0Jvñ06eê²9z¿'3BÄdqåÕ¨ò)ß:®¼_aO0¼E^·w¤=ï®÷i at 7F v%3T>àr*Ù
m:Ýt¤!lè%oegv
Ò¦AUñÇÖÒâ¸s·îÎÒ7íù.JÞgVê®ëÀ±wYø©KGÛ´}1á¿-ÍáU4¯v¤f7è5'8EzÜ»?~<?\¥®bæGò\ù
+Mb9JFo_ó)wÔFðJSzVVµCÛ¾ÞÃ?ð(á°æ5kã÷©,eÏ9»Õaí)d£¤æhk_`;8Od!¸W¡É
öD5·XÒìdqÈNNW°t?ZábrÏ·16£M>ûÐuf¹xõ/òê`=Ý>U×iM09Iåµc¤åéÝ=¸ôóô?mÀz
endstream
endobj
57 0 obj
-3316
+2864
endobj
59 0 obj
<</Length 60 0 R/Filter/FlateDecode>>
stream
-xµ[KÜF¾ï¯Ð9°cõ[aÀ]Ar3,ärÊN°/ùû©V¿ªº«õllØñÔ¥®ª¯¾z´<^ÄðÏÓ×aGø§~ºÙÿüöÛðãwÃ_ëEÿ÷ÛOÞÔypb¼LÃÛ¯ÃÅBo¿ÿtuúö¬¯v²³ÿtêö,ÄU7suî|qupqßÆ/äíY]Iw?Ã
û*ȬA?ãUÇèòË¢ÖgØW«ËcÕúU¼P¾e!üö²ZÝÅg-dá¶(Óß!e´Xߦß,ºo.{v=(iWNz¸¨®Ë^[÷Wu\hÃgÜÚâF¼½UìØÑïç·^ß>WÞÖ³?·ÞöRÞþäV|XX§*|Då±Ù"VÀöÈıðo1%5£êÄST9,ÈÖÉ(c6ÇÕîj*/<ãÎ_ÉÕÄöÉ[ØþXâoáLÙú?<o5Bãµç¯h}g/®²¾Ñ7ØøuMRR¦-è£#ÐG¬o at eб>ì°¤+Gö`^BÁ¨¸êøF&ÜXíASø~ñâqh"ho0?½ÆÝÕjðH̯¨]çêi°F]lpf£èE¢µøösÓÄqßKÚ¹|YÝFX;Þs& R;LÙq5&PØ8¤óJÞ\8á-wE¥P,ÉÙQÿ~xyÈé"Ox Ü= ?ÝrdGÊC´¯â-ЦéF%IY¥H¸)4vн S¸wã;¿6 ¥»Ûq´'ÔÂá$
-ÍÐ[ù+EM´Çb M+TÕAÇÑF®ÕP㻼ç}-tûxO6In&µ
]cMkÑ;æx/9Í%ü)ÆJÊÃîVf*íç*Yà3¬'øO|sFiÛØA<îþÞÀLëÐ
-aÓº?çÍ`â
M|,NídL<v¢¦¸|©`WÅÛ*£..µtÊ,ÝsÀ¸7·ÎXyÑuÀ/3BUcç"¨d-_áBÒÀD¡r÷WãoÖt
-%Ý*%)Ùª5ëH©Cna{¤¹¸B}»óÞÈ¢WØSÝ¢ï'UZ¤uL4aóQË<ø]ÌQ2×HðC7Êv²Ìï
-[çíÄTSW3+T'bÛi{´R
-tÒÞÙíühçÁ¦n§6ãØÐ×%BI©R×ÄÀp.Sªý§Ny£õz`ËßÍyÄ\ãÛ¸h
¢énF¦PõÈ¥îä:
-ڹμ;Ú Õ´Þmé©.ñ}üf¾Y²³CY>ç'uX
-orfФ^K$ÂEh¿Ì«må<Hòâ תÊÈ×þ©¬®qÛ{#ߦF[¥Pé²àØ8o×Ù®åÀ]³ÄÃwÎ4ðZcRl<_¦-z§C?EÒC*õØrZÑÈíWrÆ@=Ä*üÒ^çÜWp
-\K=±z%ɦA ¿õ
-h׿tîvÜX([¿Ø}ÖËsÏÛ{úfmrÇêÚöôGÍhBÉ1÷¤
-0K)Ë>ø#»¨Ñ¶ÍRj!CÑÍNÒ[!í8Z6SáH¢5Ã_+ËNI½(±J$ÊvmþlI÷Ï9Ë:ÜèQ\*¿:vRÊ+ÍhÃÃ{
vOóMjkòÜ'üÚ¶<:Dhí
»Üd£2ªáÛÛÞ8 ÛÇËiÝ
-!Û<gè¡\ñª#3¯Í!ÊÅb¶ù3>[jR©/'¯M°ºãÝ^¤v£O(G?VRò»ç{kÜdôÊlÚ"IäJá8¹`
-a_ÀÕ¼5%¤0^£òL´Lknlï»P`=M>5«'v¯Ö
--`¬wöÏèá4üv]ùq
-Y
-ÿY¼SÈ"½ó8²Zï,Fêd1úAV»8ËZHîÇ+©Iv̱'^ݽ\ñþ{OÆuäÄSh¼ÅÞ®)xËVë\K¯Ær÷oÖy
-ø@µ²íyS"¥½´¶y¯¨ãÞ¬:Ìç§Á:1\;õÆç.ÝgyÕëx,ÞÕÓ·³é;·ÌiuýJyQ¿Þ¼ÉHø×Ë2Pó?#ð ûóðuZ
-ñä!-p±pù*á[ïK¸nvÃ/_>|ÿÅáåïÁËù0Aç$
+xÍ[ËݸÝë+îztÄ·´¯®²Ä@> â
+<ós\èSmÜ`5üL+¼}óeEH|¾¦9>ásbçàá¹Ê¥õɼ9Y¿
µðöò¢K>>Y¦}Êk"H}¾<Êôß;βެ¬Þ
>w±ì÷ñгÑÃ;Ar
+ñYNêii[|Eî2D^÷ú<ý²C^ç#,û<Åz}û§Rßzùë(Ãn7e¬Ö6aÛëx" ÏýB´D#2µ´¿fõ]>úË'08TÍW8è[æÿýøëï#@ãbG{r&ÔLÍ ²MöZÇÃÏ[üTÏ0 íÛR,pdóþfÛ+Ø2Û9üÞ¡dÀÎUÏ0¦2n¦
+LwK¿ÁÐÄÁæê´ÅÈi·ÑÈ5¤ì´hÿàØàÔöÅNÞÙFÂ÷®Í
+<¡m1mÊï=âɨ§\%9F&ç4åD¾)>ñp¢
+÷<î¸ÐY%+Áè]ÞÆèÞê$Ù;²ESNdb%#/8.
+ VÒ>e
+Ðd¥¶'é±Ãl®´¸w|MmËÒÖ2Õ0¹Â¦4M§ßÝôY¦¯öï/
+°~óº· ùP?§aH!y~ÈàRõ7âIÚ«OÑGøt®á~Y8Å̽îÍ"!F>î}#ÒTÌøøüíW
+l#Bl{&Ï'ÚQ`J¯ØYÁ9êÖF`ç]¾ýÂê°Òò©©±YûFyhjzuÕÚfng¸Ùºãáý¦Ý^8ºp
+²ÀÝbeäåÃó^ØcX¹AC²g#leJ°ÊL@×}¤£&¡yÁ5G;ö@È°t»úøl{ÆëgH~ñDp=ùÏ$Á[ÐRU Æ÷Ëý±Ç[×óh0ö=ÆêasÔJaïÕ¶äÉõ&V{ð;bÓêZ¸ÀÜ÷vØQH
+Ew¦Aä9\LL?㲶©^À1|ühVzñ¿{©]HÑÑ2â¼Ùh®ûds½bÛÅm)2ÞØÛ`_Á·ÚйWùq ßæjá8e=MhoÞ`BÀ ùtæ»( Ø3õÎ}7,fÄeö·2îX^Qµ7DJß°.HÎg;ý`]xWÛsÕùÛ¡×Ó#úNxgÉ!.ò8ë«9¸ u$ãbd¡Ñq#cQb£a>µ¦îaS&~cÐCø½b¢.Ï/$f|RnzA ®18·8¤0Uô¥mÌeå»
+÷5
+Ñÿ¬.aåBh1ªâNmrU&Âk at zÛgÃÜRÁâûÀ@!
+t6Ü*4§&³,§8Ý
ÕÁºïÔíÁTp/l$ûR%+î°MÆ÷Ìõ={%fÁ§Û@+&ëRråFpy[1´ï¨8
+}¤¿Ç¿´@
+Ý:ß²vº9BôGÏÞ+EH_Ñ!n\ðeøjæÀ }ûõñå§C=WÞÌò(<_:vO×gÇm7xg!)á̤:}±R±úÒ=}ê'°I1ñÁ
+8¾T7I%JÇR²PµzQÍOµõÓZ:]Æ9Ø"ç|ªÅ^z" Ì´5W 5ó.gµË2ê®/Q*[Ú¡Û_Ï]+qsSYÚPv&-¬})2zT β/7oQ\÷¤Z³Ð*
+ßÒü®Ó%
+r©¢WNQÜ£c¢¤²Ýªd§®V¦Ðïv
+VÞA3@ñUJ¬¦GøTMå|Ê®&,pcoÑËÇzéK}eìÄiÒ/ARºÐ£9
un%é¥2¿Íì,o¨ãKT¾âà¢ùÐ>4Mï8§VÔosVCÁ ©áºÙ¥·»±ÁOLyÛD3Gõé'|ôØ۸θ!ÕhöõÌÃHѹ¬<ì2MrË\È+3-*
+ Y´øyñ0Ó5&Î Ðê[YTîÁ6¶³ý%Vm3Æ ¬Öþþx;ÿ{|¨¢
+èìYêr
ª÷öEtÀªÊ$VdÛ8NÚÑâ´WW3>|no¬,*¢;ô¯°ÏqnN d¡º3'ºº¨nß%;æ^~sè¢;V»âÎúwÜ<àhV@ÿßc$¯#.\;K;:ÈjôܱJå]*ì5ûù
+»@S ÒgÕîq-ñ;ÍD7)´[¶Ëv¬}O:¶5úTkð)%b¹ÞúæÜÕÏ t-Úâ!j*ë%sâvïÉöò¢æI6ñÑ.ý X·cN'&\g/ûågFÄÄîdzÑü"¥`î8%HõĸÈçéPjyü{¹6& Ôìyxy®_×Æ êpØJF1ÏuÐy?%
ëØÄHçWFoØÞêf&ÿ,£¿ÑRÔ˹\eîg ·pj`Û·À·cé¦w´ñÔZÊmuLÇ)°«Yå$Ød§ð
ܾ¤¢ð®ÓüªÙºxÃHÒUç[Q\}Nµ·[ôk]Ð
cdölY7Á¼_/YÄf
+í¯uÖ¹Yký£2±Âª¦RlîÌÆÓ[²«ÿò¡â«êúi×
+ëPý¢q²]ô ÿ1GeOÅ´.4[í,¦|Tþæ7ow8 at v6këñ8zïÙZѨZÛv5IÁK@þÍæûyLç]÷VA¤º¼ÍÄ&8¯sßrÑNÂc®}t½\|åªk¤{Ø]wWÆ
!ßÔ-IA@(¡à ù»hz%$\T
hùèíæ+êÊèf·ÓÖÅòSM×úÿBÜÃÿêËOÓ/ÿËxD<
endstream
endobj
60 0 obj
-2279
+3297
endobj
-61 0 obj
+62 0 obj
+<</Length 63 0 R/Filter/FlateDecode>>
+stream
+xZÛj$7}÷Wôs ³º_` Ø3nÈã!dMØ}Éï§nºLäî±Á÷H%Õ©SZ-ÿ=|_Ôò³:é%h¿cÆß?þ\~ûiù¾Ä=<½<hãOiG¿ü±|Zí).yyùº|~ô¿,/?<¿<|ÙNrözIZÓ,÷|ðQ]HÁlXÃstÑlt$5&«pög£èü 8BÏ!ÓA\ú(ãhLߥ|L°\
C)N§prEúFÙhaLÄOæYƸXÇxØ, ¦@ÊÉ_á?ÙöÄgZ[Ïàr9ü.Y{
+2
+FÀn5 tûFjÛ>[U%' Ú¾Àøs¥-h,¬Ñ,'lùJOu%oeµÀ4go@
++ú(0r[+²¡0á,;
+FöDÍB%§sî6úpF|`
+´(¶(d§ÚRxAÝê/&D`ØWq; ²
Í x«j¸òV0¿Å@*@
+ÑAi1ÊÝD¤É
+OÐÓ-zºÈÎd}tÈ 1!L5ïv´á³K:PötVð$í!&`d°LvaÀ#T³çP±¥ÝgDMp+.î£eNÒ¶ÁI@¿r,'qÙTB¹!îËpã{©Õ&õy
+!C5*Å\T=#ƶIÛ)/åÖâÕ[CIöQ¨%¦j(E:Ú¶Û
fÏ
¬>VðaUHëh]ðd
+Mqx3j.#(cv ¦2ìï&ÙDJ³@|2½]ÂÌÍà^í`P¿nRu
+vrÐEQ̬ªÛP¤h©yº_
ô)@%EFveO%0º±Q´2ôø7aÝ ](Hrv·,rÅBÓÃ/Èø!Ñ
+ÍÜ54çVö=gpbtJ[>Ì5æöÈN LCù
+aØ
+T&Y ò³TRAeÈxæl&Nãº%0,40â¸Rép¤Âd[àk2J¢
+ïú$;¸õR ç]«¶KÎü¤V¯°ï«Ä
+:Ì.àÓ4ßjâ÷Æ]ð]Ǽ ¢Æ8l±óëêÊb3£ÄkPìò0ôròáqÍýá9à2 ®A¼5\Áóq,Jl¦~+ö[©-|w²Wç½uf<b?Dq{HiB|L
7 UOìí{éCC3Ó|q0/ÉöêÔÄ()k¨Ð:JyPíLeÛ#4(®KÀä4Õ?LÙ-z±ýJtúö°=tɳ´ï1*Èb£kDmèÒV³FÄëa¤Ú
£+Ö#õ(ÒÉ×CªW
+Ýd¯{Ì
+|RÅür¨Å°nÝê´Wöq#ïäΡþ-²ä,̦R£»ZÑÚëjíd\T
+Ïn&×HtNÖcõ.×kCìGë2ÓèÙ¢Æ8ô¢Z¨ÛX2Ä6i·N?6Î0Ã
PZ2o4gz,F¦ Qký£ò ÚX0E¦¹0ÿÛ1ùÒp&)q}Oõ´9¦ìs¶.ŧ:ÀysfRÙÃ63AèQÍ:=¹ÞE6ïK¬zÙFb>lCÁGÈ6TìÙF3lÒ0æÑaºE5¹G·8ÃuO8¼Lô;ÝÂTä}t£rèýtùº
+¡ÛP±CtͺÌQ¢y7ÃwhÌзì2Ýdÿo$US÷ÍúRÝ¿h#1B´¡à#D*vh£@4Òº«©4ûÔPWIg°£Uif^½Uut:Fº`¦"ï#ñï,³t#1Bº¡à#¤*vt£ÆxlPiÐ[\÷n¨ËÒ½A!ÝXwn(ò>Òiÿ!Ç
!ÝPðÒ
+;DºÑLt/l©wø° ¦Ðì$Õ0S}÷° gF}3Õ¬<J5n#(7:,õµÀ;£KkÝ]âsÛ]k·¾ëË×.õâPÆèv¶ë®ÐU¯Óm»Ým¦¬èOGMµÎU[®8u׸E¨-ª|-{wÕì[y·ÞÝã·×mð3º!)dÙx×ÇlÝ°îÝ/êQ¯VÞtÁMm²×Ö?¿â¹Î¸Æ[îß{øY£ªåL¹?hoøbTÕàÄÓó^£U{=xÇMཻ¸³9Ï)Q
+£UlwE^#sÖ]]$v·â7´á®«n½õö²î°Ôèmså¥Ç¾XµGg¤ç{ñÊÅùµ+v\GÌe>ÇP¶¿L[ì¾²§ù8Í;©qòí¸ýeù¾h7mÞ°¯m5½ÈÕÞ-çÔÆoºñfùýÛç_¿·\þ]PÚÿp63G
+endstream
+endobj
+
+63 0 obj
+2113
+endobj
+
+64 0 obj
<</Type/XObject/Subtype/Image/Width 630 /Height 330 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 18954>>
stream
ÿØÿà
@@ -1030,29 +1086,33 @@
endstream
endobj
-63 0 obj
-<</Length 64 0 R/Filter/FlateDecode>>
+66 0 obj
+<</Length 67 0 R/Filter/FlateDecode>>
stream
-xµYK$7¾÷¯¨óB÷Z~VAS0ÓHn9,9%»À&ì\ò÷#ù)]ÝÕ²5U¶eÉ,}Rÿì~bØ|µ ñé&z~|~ù4üå'éÿÇ»×÷H}â0￯f
-i%¡áF¢úRE8{â/|1±²X½Ì¿¾ÿ¼»¼ïÞºÔNäRfÎÒó~
-g¶çÂô~ìäµ@[@Ç.Ûù%aS'ìÇ@-I»4h¯´]8»¡/_2Ø°¢¤¦ÔTnè¤uòb_ÐHW§§
-àÁ7Ïôï@ç]}ÏïöXtñ>K³O-fÅÁ-,UQ¹DtëÜÁÕHi::q~"+é,nMů7Bг¨¼vP¹ÄvÑù¤ÛW]fÝî8f+ ¢ïàULFËæãÔ|sR6+ëëikj£f?ØæFÂøÄ"¬°70uéïz¡vµà#Ájõ*b×\VêóÐtÐÓ(1:(úØ)q°I? ¡Ñà¾';¡s¬jU²>Ú_;tù¡³¢i¤E²jÕ4\û&ÃÆsÅpî×-Òk@#©É1¯Ú¬5IªG£?£ÔþôRôN×crz@Â1»Ñ㶴(!Åæ`Ñé,ãbôQ)M0ãq)[Zs )Ë¿ÌZôÒ'%kiQ2ôi¤?1ݱG¥3Û®¥EépH·n¤¬K6ÍrvçXyVâV
-cÔÙÎmÉÒ<.zZª%%Ê c° (e »s´M¤Rú|Br&iéËìó7¬ÑxµzÛø¤
-
ô/äìñ¯ð5C¤Aª9[JàlA|'Ü®é!½ùÇBÓc¤Ç9-«§£[;Û¾ i«o ZLfEÐâMÒ
-_,Y>xÍc«2âU«9ôÑ+aâø%Ø8HVCE¤Af[â ½Ë2 h¼éãy¸© ´@×_c¹Ñ·5Ø$Í:¿´"wcÎYÙJ';
-¹«Ò¹Rk®Þ4Á>ÖØìC²9̵ÌN@eßÖ1øÍ9}eEµåØT¡÷ýljnÙ²
-
qŶûÔ
Jp8ÍoFx¯ZEèïm¢«ëaÚVôUéÎú¼SPjNÅ0×M:-á´8¼ãÓS+µ
-A#¹@]r+ at .ªKm¯uÈJ5s¬·b&h,z×d\öÿd1Õl²`5màáÑæFÆíSuÙ T¹¬|Xã>¸Îó%jñ&Qî+(Ö|KÑ>¹u/tTµ|kdM+®º{~ìliµ'9èôºXMO'¥ÜUK3[zrO¾~y÷|Åê°®²[õqá
-¥G4üæv!é¶U=ÊÚ
êÚ
]î[2d8µvËö¨ñéVRÖ·â¼³&\ü~°ùòÙæ[C¹ÍnÂûÕrµèÃûá-èrÄ{½8=ÓLz»×^pMcjµ½âïØè°Bý`ЬVµQWѨkM®Ùµú¹¥-Env÷àY~rS¨Uú+ÞÚH%gÝ`Ç°`ýËV&
-ÿE+rËUò¾£ñÕd±5ÛBCÓ/Ê(´ëÇ×áÛ§ÝÛðcIâ7Â/ÔG×F-¿×QÚ-Ìpß¾ï>ÿôÝáü÷ðûý¸QÛÃ
+xµYÛÜ6}¯ðs:%QHf<ES,ÐhÒ"ûÒß/I],{$ïîdÚõ
yx;ÕôïéÛ¤¦Õ¬'Ô@¿>òïóçé·¦¿å!ÿÿüçéãÓI+ýd§ß§?¦wW¾Ôzzú2½·5 ðÎoèÚ££ëè
+ýj\ø獵¿NQ â5ÞãÅ+<£c)\¼çÖΦ<×ÞbÄ«H_AwXçüNà}äîòtú´Ó"´:[ÖYÎxõü@ΰÞWBbaèß5Ý\ö´Q
+öëÑõv7è
+í3iPXå<am ÈhÉ_:£å`võ=¯dÕCÖ-º°âz³«x·òn\Wµt¬«xõÉ^äå¹q³-» =sújCÚAÍPÞ[v{ôp·Þo0l¥çÛ®ÐxA2cûɼp#CÂÌKä DWæÃf¥ÙÆ 8WÔlø¿é×O·7s"LOÏ|^«@ø[cÉK§¶UÞÑvgrÊÐTMÉúâ;KïÕÏ"cÙÛà6(ZF;ÖòuÑqÓÆSÆéãC¥D!÷kÓ78Âqµî*d`E!Dfz»½¢y¤ÊP¹ß8ÙÁ%9ù<x[-ÙÝ}´-&ººÛ®8ÙB
+]¬VÔëëÌÉôïþ\Ì©5~hî<ÜÄ{½
+=q²"ÅÐB;ª5Ýg·á{ò½+Níß9°5²E5z÷?h/dâ~í{⤽òLÂW&¡|l$[ºÏ:vÝnc¡Å¡É¨Øã·)@Åf×[Y3¤)èÙ63MëéçfüѦå203@;ìJÌíHöõè9f´±»uöÌ
+zìwf~ü\¦ÇÚ"ïò6VB
+*H
+ªeò[W¼&9ÒÕ +é:ôè "ö¸g.ócBåZÉv7Y/'.b£F(¼¼LEÑÕÉIØ´H
+<aÍ'£8yB(ú:Iì0䫤¹$Sõ%«0b*vön7ÂÊÛ¿rz
+q"q{°·Sgïëkd ,øP»æ8âªÅoÙë\1ì¥h¢bä];-Áº^âèAi5ìBYfã³ÈøÐÌl^tYöæ%espÆÖ,þ©SÉ8#o]é·d OQíºH½×m½«éàÛu6~<
+hp/L¸7²æ
+ ÷ª°ßV«B>µ#eªµë-uÑIML)ÑW«PÉÖCjL#ùíoWÃ%ÍÝ?6?7aÍÇtB"ïäÝ Y¨%^vç)×z[c6Å%½ç½T®g©ðã¸a{Öµülð¶ëîûeðæDi_ê ÚâÅS9f&IZÛ÷m{XJ2õn9xpÞ¸ØÞ¦ÞµÎ=%@ÈÍMí(µ4VJ;?.,/B ¦h>ó´Ëá åߤFZis0w^¶û¼õXö5I¿!
q`$åý*ÁÛã"i!ÛèMsheu3
©'ÛÊô]g-Z:óH3/ßò°öxÏ_ºK>òü¥»Á[Ï_Z¾ª'äë²gôö¸ðóLW\N-J®ó|ýèyPüi²+þ 0rb_?êT¤8ÖMZÀÑíò׳¡v¶3ÇÌRmÀvÏëØH#Û²ÍAÖpB»¿Zj××ðÌ^ë|Wv·ü£°XóªçëV
+VÆSõÒEN¦:æÝì´µîªú
UËSuæÒ½Ì1åKPmZ,¹ñ½É-_+M¿÷Íúv ]°«àÔ.SÚÎ&Z at UGgñ9{ßäÉ¢úf¥ò],#[W»åN *E®_d¨©Öù"OiE_
+aßzþztåi¿èëĸ@aÒìÕÒ¬ÞħS*T$qðåEÎÃÞ(±î*®ád8¬¯§
+|£ò¹ÑAbðl¡eð¡ñJ§¬?ú:Ý`\\åõÑÅ«¡|ë>-2a<êòÝ]^¥ªW÷8òD¥'ÇêóçéËòüìâ ¦û¦oÔúÙçNóhàIzQz#>Owyá{pÓï_Oï~ùaºü3}¢õþ羫
endstream
endobj
-64 0 obj
-1734
+67 0 obj
+1763
endobj
-65 0 obj
+68 0 obj
<</Type/XObject/Subtype/Image/Width 303 /Height 270 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 11457>>
stream
ÿØÿà
@@ -1151,206 +1211,194 @@
endstream
endobj
-67 0 obj
-<</Length 68 0 R/Filter/FlateDecode>>
-stream
-x½[K#¹
-¾÷¯ðyvôV hèvÛÜh AnÙ] @d.ùû!õ¤JT¹Ê½ÈP¶«J"E~¤øP³<ý÷å?'qzðÕIWðúó·Óß~9ý;>Äÿ?ÿxùøzZ¼çåôõÓ_îö$åéë÷oæv1oîîÍå>íåU¾é÷Ëß¿þúrûzùu=5gÇN£ÄåÕæ«5õæ8Ì÷´Q7üôKúíÕåUgzîÚh;W¯/¯*ÞQ"OàîÎáô˼ãF]4òßNWc¶Õ_eaÉoËÔ+w++ÇßÒäI¼õÂxÄd!*o2¯B}Â÷r¦\Ò"àé>βà,ÙmÎÊ$+÷Íh`þæ³~ñèý`QýM9·Q9WÝ Ã{DB¼5r%w
-Ö1aÝyVeÊó*>¹àÏzÅi\¦èD,¢ª@
-<
GF3 Ð&1hqÅ7³eÎáä¼Bm`CéÒ )]Á3º¥H-±À@qR¨nKë^Caz)b-¾^OÜz¬0ZIt!S¸ç *òÀXý,vËW¼*½!Xí³aåcBoÔdf~¯<:Êge¼°ð©½²>½ BÃ4h#/só0Æ»Ì`a2ÂÇhX5ÁnV_õ
-¥5óZÎÁp®¬f6&c@©,r¦ÿ;º9åÞÉkâ]ôÔËI{PÄVr&ºµP«üAÙ¹Ñëg@'7§²:ÓÓ=ò`?óPN#GÃü9;áx%bßî5Æ3hèOÚfIqSÒ\¨ËæBû¯{É2lþe±«ôû3ÐVWÙ`Ï+ØÍת=(íÀ¯xDz¦]ÿ{ÍvíÑ×0èuW÷øLöRÜYv=lW
-i.Û%½àÝuSñCöX%Ô-ÂÒÒ?©Z®iÑCÔ5ÞIØ·} ¡^ÄL!32%r¾QyÛLÃË-ïWõOR
-¨Ö5Ù2ÑiÎ8Ñ,çj´Ê²jÜL?@
µ7í2ÔªEG¥]-
dB×Ar¨Q³uåkÜ<£Þº7ËS³¸ÆFÆ1U3/[Sñ*[Í@Êu6Ôh~dÐ)F]cQj.å P²òëFZ£Ï@ñF6^쬮é:Õ=0 óéÕÞEÈ°AÜÙEhdí¬ññîd!g05Ý
-¸$/À(wuÁÍÊr#{aÌè:ÌÑ@/Vs(Àbg±ç©?ÊÓÓ-J¬+þØaìÒ¾Ì{ÚhGÿxò¢ÞÂÆ'ÖÊîF^kS©Äp{Øð8²áäP¿m³¡¤ìäq¨µ÷Jõ£r2!Ö¨ÿ@ò
-¸Ý{2Ü¿ÁOgÕ\jâuðóV
-¦£?öËKè³|V^ãØ5W«ùuáÕ@2ìä{@·å=ºe©6Ýþ)Ä~zV*ãعqå±Xó$WãØíÉ~îHþYèrtr<=.ò.tqTQ2_SQC/:&Kl%2="ò.pT ÿXCxiBðÏÍÚaHN!ª0[Í-mTÛ^lnATcÊ®÷[5BmèçèK"l;$}Ó]ÔXX"ÍÃÑóX-½$JÚ
-Q¹£Ü5RæTe0W.o)ZIlÍ79¼ð?ª+*èió½Ë¬ØyÓdtÔߣR£®Óö¦×µÁ³k{YZv½z
Ö²ãPn9P R-Øjµ[R6¨=µ¦Ò¤Åûª4HC¬£5
ôýj7KtGµm ¡¸Té´âJk¤W ¥IF7ÊÖ
-ÝàhZÖÕ]Àza£7æÚäϸ·ÅÓêrnÞ[´ß/3¤rsxÇ©Zb¤e6}êc¸zR¬%¥J
-ôGçfi°à]êJPVΰ:ÏPBªdÒÉc3ì³N»©#Ç\\QAÚXÊZÒÃ=élCw&z¡[úó=¢µXU1Ëå6³ËÒR"îApuú\¨îp¹M
-íF«x¾§CFåøÖÖ=:Âç½/#'à3ØYYj¾ÌýÝc|TlSÔ6céçhVs½(öwÓâÛq²XÓ5G_·pÇ}4¸áÝÆe6:MT©pdÒe£néY6w`HLïIj&18m×lý
Úr¹Ü Iú8Ô?YÐÙ7´ßk¤°ºælDV
-×ê+rS¼³ºü;µ_9¦:£LRâXº3®¾ë(zñÞY>=àȸ¯-ïÕµÖöEõ»öjë_gì¾÷ߺDjh%6Þѹ«s´ñû<b1Ö{5òPÂÕ2Pïçb½6ocwð}¹]é±ôËþß/º«Eö,îþÔ"Jé;ñ7Í<4´çÕOt&Ìù$â-6^`äDW#zCô`ÁZ¼:LÚ_ÅßqbÐÎ/Ât>û¿ôúi©{r¢fÅ]|]?`[ÛÅ6ÆÖúú¸r%~÷ïbXÓp`÷ÈcNZæ0çJtÏlÇïñò½ÛJá{ÈÝ CdRrñûêÜ
-&Ð\,ÈÕ**&DÓoï¡z/Ñà?´Ï
-Ç3zj%ôC§ÂÉíT¸s\ý¬\EÊ
¥ýÿQ5)f|TqÒE6úf©mýç«Ë74JCλöèxWÞð¬ò7~tuk¸©b8ÛÏÁïdBPÏôëæFªýBÑ
°Ôi\³c/iCÆøá¹.3V k2¡tÆâ_Ô[8Ô]þùî
-3v.cw
£¼§»ÂRõz-
*rïTL
-·¤XF²¦V¤CPJh°¼XÿvðÃaÖ¬¯ç³àw)<¨\~þvúýxõX"6
-á}¤+>1ïIÏ~=ýe ë
-endstream
-endobj
-
-68 0 obj
-2813
-endobj
-
70 0 obj
<</Length 71 0 R/Filter/FlateDecode>>
stream
-xµZK#7¾Ï¯ð9`Gou1ÌÝÜ9ܲ äÈ^ò÷S¥WWéÑn{&»àõº»¤z|*U}8Éÿ/ÿÄá(à«
->ýß¿~ùáðwx¿ÿùòöñ"µ8©â4>~?ü¸Ø?~=ÛÅÝâÍåÿÚËQõëå·^n/?×ÃXôQâbÏf¾õÙÝ.Ç9ýðz9ª³QShüOü4ö¢ÎV_d|¨ÞáG2tZ©RÄygH.ùCiü>nð!~Løqͯ¡ujò#Ûöì$úÆÝ«©Åt²E_qnÔV¼£¢¢hV,oå·¡ÚU3tµô*"D3ý~1:F&ƾ$ ¾?Å÷qsxâ[åØ!ôi÷0ÃÀ:©ôþâ®YcVÇM0ÌÀp«ìIvÇ>þêÕhÀ¼ýI×ÁÐ&ÇAâ7åw±ºû^Ê[#è~2¹Ëg0'E!ØUzO_x/~o\+,ÍÂÝgºç
-Æ2ìéa>oãÄ:*½¡ps~Í¡UÙ·
-ÃÙ>Îæf$,Éî>¤<ùN¤îâcÒ§¹mÅTñklÑÔÂ<<¦+#~×ë¢î¼³Ø$?²åaSì-ñ¨ì89úݨ]¿HÒ¤\,/Q£)Ûl-&áü²÷s¦f3gÐÆÀÄu\ðÎF
-ß7ÁÎè
-ê+ú5;ªón#ç»AÂøƪ5¶XìºèSt÷ô¿ë
-fZ'¤%T?÷
-$sÊ\µVØ[¦Ylá¦ßÍ
4u½¬y+¡%°äæ1yseà Õ)st<eÖÌs®aùU-É%¨íÛw
ìycMEXèN^ÝeÄÕådæIhÿ¤ñ©hÝÁ [vwyQ/@
½»9ÐÐé$·h4/`¦'
-óA¦w¶ìxN1ýÙôýÙ-à:bÚ+ivµÁz;RhfëßöØ`0¦v2%<à;o@ó¬fÙWÃé
-· ZÉÂSømÆmÞ»«³jÖhî¶×¼ý¤æï<
-ú.Xh|
-ÂVOêÛÊîË,~¹tÌ,£9gÛ×7Äzö¯èÇlJZ=k{+yÄþÙk^a&EÆëVÃ6× Ñäºë:èÝêè ¶£7ÌäÆQZRÙ²²¤Û§Ý?ì°@i¿î¹«ÉìNªÿõdf¨ÊÚÒä´r©/ÄŶ'ÌO¬¸þRWE¬ú RötتJHöô°×T°ÚZ»ïõ
-ÇÊÚjHÆôæÛÝI
PF&eÒAÛé¥Tô;Q}©LÑC3du.Í3·´¥¤oÈ=;]©!. v¢|FÖ¨ ]Ófp×®(»¢Ôÿ%`¬©!MÕÊÄõ%*øÊÏ
-ÄöijEïpGÁr<3ÏÄ6x÷È
-%{V!CKÖ¢õûÁ'ù)aÍ5\ZA-:T +:LW±©ýëÊXä°H&¬såd^óèàtb[«aó"z
-nÎÂmÃÇ· 0GòÉÝ®NRsˬwXÝ;XfQ¥I ìàªy
ï»döæ õxü£ÚºIÓñÜÎ^4ô\Ú<Á²8ÝÊ=À¬5²ñj
-t¦ v[½t´ZO9½õY5¶AcÇýktè1J{v|ék¤â?ßÿ§»H¿9÷ÜK;·uwÿYÖ kMÍöU[î(QBM;pªê¼ÉÓ(=F:R¨¦°ìÙµRÀpH¤±À)0{~Èkgd]=LÑÃ,'ðd2¬ñw¯
-<ÁõÇÓ 3W÷¼oL½ÆØ1ODÂ"Þe;^Âû©'"¼Ùµ'Æ#"zz<í8hs/
-XyÅìÊâð@ê9öÄ aØÌZ{b#<ä<8ç=±A±#ûùU²É½ðÞÙÁ³îYN£'[9ð¥Ä£ÅÏQ$ïJO_ÂûËY5\ò{:rµ=Ï
-z#ìB³VP
t¤·ñl&@J_ë¯C´òA·I6LøD$³;²ÿ3¢¥OÕud8IéHï8IéÎÉ+À ÞÁy÷äBZѳO.B¿#è]¨x¨ÀF¼ìQ%ånCfNûw,z¢ìRgTúaÅîöôX×-Ê)
-ö¨×ôü#SÁ.ÏrÿjÇT¸F:Dfó8-t.<$åoöOÅ:&8%°§ãæÌÂöâ0ßcQ¤p-i¶£+S,¥h1¶dpÅpgÛ¼Ã]FKçn[¡ª< ¹;ØÞ(m¹É|½DWÀ÷rx>rû¨wCÙ~Úm
üÖôfÝðh3O马¼ÎÏCÈ1NÁ³Õ²ÏQf-ßìÁI|¢§ÞI
@"hëÎ$UpLÓ@ñþòú)§µø¨\ì%rØç©ZÖ¦ÄXÎÎáVܬúû·Ã?¤GFáêÑÏÿ
+x½[[,7~ï_ÑÏíø"Ûe9Ý]ûe XØ
=/ùû+Éת²ª/S$9=Õ%[Ö]<êü×éguþºè³×H?¿ÿ~þõóùKúÿû§o'Ì%¦·?;ÿ8Ó¯?ÿqþɼ3êçóç¿O÷ÏÓ/kZc.¾§¢ULÆÏBiÁ/i»}
+HÞzí¯þ'Pøyö÷
+´OÀßïL3
d*ùôÖùN
+}àXèÊ<å³õ5AáÏ\!ó.¨,U G9¥ÔkÉQ1áEï)}ÕÆ\UMűwÜZá½¹çÝù³"eçRå"Ò3ÇÝ¡q@¢søb>©¶US¨ÞeçHÕµ<a³ÎÃ-RÄ7ð{Mf2ÞÀ¥´&åØD.ª¶÷Âd¹pAIò[\<^û²qE6ÁHÖ4d*
ýÀYbIG\bð8°6<£§sÊ%½ði«¼ð;;@tg÷qEFÙm¼«ÚRFüõ[ |V²Ëìm%Õ$ôhÓîù-§#×X§i7ß$Ì|'kQ¢¥&q̵ܲhÈV _@©ÜówÃrÞKøVгãV+@\³uj²ËR®&yeíNÞÙu*¾@KTúïü¯¶s´>~§GØ© SÀU¾ZdêJaD®HÌCò,ÞåH»Ã
+¸ë
+=eK½4û°u3J½+"ôÙR
+9°ßr:4k,PÞ !ùaN%Ã?ÂréCy#äÒ»æÍ~Z3×e¡ÉbòEæ~¨ìÁ
+ñó²¯y'ë{§=öDÖ½ÂùD#òCiÈßsÖ4æYÓßd3Æ}A¾[bÙ^æ[SzóùÆOS5SIü·Y¼/ÅÏù¡?äï9óFRÆFûêT¶üI`æ;TºÔ |!BÉ¤+ðÆuIXÏÉnjt`ÝÄÚ(¡9Xmñ½ÓýiÇ*Õ+cì§á~?O]°ª0Ø3 nRØMRP'L¢ÊàrB|ÃN*ØL(O
\Â@ºôú9!.VÜÃCZ¿vtã3.Ö¿
+E1d¥¡¡å
+à9R:fØæګxW¢ Úê=Dªd :(\ÅvÔXØÙUÔ0"´EK¼½4äÐRvÁlì0ÀHÉ°²*4<DÎ
Ý°JVÚt»ÀU
+ªdÓ§ÜDM
+ca#clR+øY:¡_Bº§É£2§e¥<T¥.ox¥ñKÚ~Ç],Ô5zIÑb¿ÙéSÆù\ò=ö²X4ßÆ«nA1âäPiÚ¤ºÞî(Kr&å_¥U¾§\þ0±ÁÙö)v§JNvLpÎÁNÌݬmÚá-öHù¸NjaA](²ñMÓìï6Ú¹.B3;WÃw
^«+5·Ä@_¹ÕPùLZ\ºW¸ñ#³Û.wÐ$¦m `óRí\»
+DÙ´l5CÓn*iB^¤³ïêÌA0Ç3Ì9Äd¯è
+ §«_$i½.ZÙÓ,¯ERÊ«(£:Ó#S_ÔÕÀa;¯ÈÃmøKk+§°äác <#³ÜzfCÄï`\t@=^"I¿þÓ)Ö8³<dÇÔ;ivQ²MoÙÈö7v*p]gÔSI®ç¥©Öoµ}
+غÕïÍÝó|WÉÈR$]£Ð¡´T½+Ý|äFØmB×}UºB èøi
+mv]as®MCwÖ.¡e®´P]&Ô²#¶z·¤¶ó£äg+³ç.óu´½CUÛëݽ°óÁ¢ãÐ6oçå}:ÂÜgÔCè½9Óª£ôí.Ʋ£Ì÷Lªúʻտ÷R¶9|)wÚì¸_Ñê
+uEè}2PøL'Q)å ÷¥ù®qïB<Ý9Û,ÿêdwÈá>dv
+|g+©ti
+ÞnÈsþ1uÑm3dÇ
éôÄþî%à}:
+÷'+û15ã?#Øèºî#Ýz}ÂDz
¯sQ~+ý¯Øãx¸Hçj=³ºP?æÃ)ÖJ*רr2V문]ØaÚªÎ1G»åKµã<ié/cèýÛÃM%æƼîµ%ZÑÅÚ4p=å¢@ë
+ÙÀP¹ãë¼×©Y.X¡ µ)«+
+jzU6¶<µ+ µÔ]É~KY¡¼Ê¯|¦z)ÇÝÔ]£M£<¢á¿BIìÊ=ÚAÏî¡yBPL˶.¡²@PTºÅ
+&&L}§º[£hɳó]Ú<Ý¡BËúÔÒ£ïµj_ºÓ
endstream
endobj
71 0 obj
-2311
+2827
endobj
73 0 obj
<</Length 74 0 R/Filter/FlateDecode>>
stream
-xµ\Ën+7Ýû+´ ¥ùê`4`[Ò"»
-B$1/{ø® o³ôpõVû:>ZüÄGÇ}½A;²@ø
-Òvh¸û^°%Ú9ï¹Û5xçf&ûOyõz+KCã7G«nk×HÓá3ÔÚ²4=äJÐ¥Â@ÇppBþhEOVáTíC ,ÓE×@ñ°N;l®)J*Å 8Óc"
-x <L at HPÔa,/¤2©¨
-èà3=¬Âc¶ßlçÙ¿ÜÈx-wko52èÞWÛ8sûh at Aoª(Ķéà ÷pÏátkÁIj@½8i°»9áª'kU0
óC`ÄXt-úId÷µ`p_Åë'ÑËv-àN:])£¯ÀCÏý³×ÅÝIµ¤GM@(¢Þ P4ñ°X_°ÍÕm/z_`SÕ¶ÿåeSJíòu/6ý0Nn1ñ«ÎkNiN¡äÜP\6î1;Í
-y!äáÀ¨y×µ
-ÜÈAà¡Â@£NÙ W[£LIËisÊDKyóo/¶ìËð
-¯fYë
-ûCvÕ(ùÃ&âû#à2~J$Ø*R6ËèÄtìaÔ7P·í¨ãö%mö©NúÝqíC%Î]WÔ
-¹ªusISÓ×-Z <%n¶<[#ë
$˨³ò
¼2kÀjR¤ùô*Ýaf{d
-ζ"[ÓªË1¸
-6ÀòPóD¬®P?0Ò¨àYÅfa°2*ë«X[»¨Í#²2CýËqCIKéDåÃdT1{ªR.³-*@yD¢©ôVb9Dá
-,)#øBÝ#ÈÞ¿!wüÀÂ(}
-9ù- 5
-Tè(Eââó~ÿ-lÛP]E?Þߪ1i(M3³ÔV«T·,Ìv±^²{(íf0aÿ®,#3i¬#@)>¬á±ðlA}Z°P,î¼FI(¬Ï°ÉÏ î.xO¹©ÉØi!ðl%ØÀÆP»J«%o¾ÇÐhòZ»
"yÇ©!fÕépQ¨Õ@*oM81n
-ßCwÍVt-PR¤«ö2ÛËá~°Ö~Ìcùè(¦_Å´ËaZ¯©¸î¾\ðR ±$
É(}rÒ¶úÃ3a»Í:ÍõÜ´Õæã=7pûO蹡F¢#Pk5ëQéKhÔè|%ç`I(Â¥/¢±>ßYà²ÖDgì[ªÙöBÆ«qmÛ6Z7yS%÷Ѫ6ÊÑã#//Â'ø¢lt:3ÉøOI²¤½àaÜ°ªC8 u±äÿ)·ß.e¶{û§
-:FëqüeSÝëE2ê¨{U-8 Y×b+
`F·Øýè²A®x½# ¯»rã½ÃºiC rçpõÀ!PØ{oS,#°ø`0MÜMƦ9T
/K+¶
-)¯&sÕ÷*aí¹¾Î(£AQI>xú¬5QVùæfãlµþªvää"/mQ¾^Vªiå˼¡CÃè
-³<d)vÌ|vʵÙ|ÁÓoy
-iã6ÝäºöJª#åå×}A>le7V^Òð5;t¢úk]Ch¡@C×ßæ:)
râ]m033KLVuiâàcÎRCk¤
-JL<düh
ή@¢¾
-Sâ0è@ñÖ~W
$ÚU:vÀ(ÒËa¦üÀBüaÁ÷{kµ©Ú¶ÂÝ
Qø0DN+}SþY2°Ã6Ï[W?[öÅZòédZæTéÒåTsÇAM.ü?PÃðóHMÈ°ê)x«]g»Oð+-øl_Ù\<£à·Ï(ó
- E,ÑtïìäYuÊÆtÅ$=Ãý*"9e>ù
+xÅZÉ#¹½×Wè<eîLÕÒç1
+ðØ3Üÿ¾_×ÌJª.͸¨îÊd±3âEªÓßþsR§?©³>mð3&úùý§¿ÿtú7¿¤¿ß{ûöñ¦9ÇSÔ´úã§?¯ô«Æÿ=ýì´Q9}üëß*zÿs´ÁGgTXCÀÏ+~³x¦CÞ¨¨¢aΡP5*¬2Ñ
D«Í
WØ¥¼UÞÙ°`GÚë
+ïçé¼ó@½â©Ão!óÑ\="
-©ÃßÄGx¦C>,(HUc¦TsÅZÍÿS!ÍÌz0gÛÖòs®¼bñ<?¼}¼ý²Ó¥´-ê²l%Pei³§Úé÷¶ÙãìÒ¢Uu¶ôçô·¿¾æCÌéã;=shµà¤ÒÙçóÎK|Ìç¡øcÊ®SPH¾ñGùsáläÈÎ0 öÒp©)trs.=¼tïsë°¶|o{m}{¸:ù]ªNóIsxmÜ(·ü!c9d#ùýVx¤Åã-QE¬¢¨Ûd_)]ÎéòIä_ïRéßÚ]|¸`#r±ËÕ º¬|¯¡¿ ȧWû
+a{½CtòÖUíÕ
+®,cߧ´Ö r©áìï¢óXc£x
+öJ):Å"w_9«¥pEh
P-n8P<ùÁ¼6AêÀú_+ææ3·¨µ»}6R!ã¿ïø©ÇÜ¢çý2Ç^¦c7éL*ÞòJº¡ÕkÆ
«H=Û¢@p7µ×#Ôz
ÞêVz8`0ä,EàÊåȪö9ßXÆ\ÿ²M÷A3^ª¿+z³ëå,ñk@Ðî)óÖÊhðÛèpÕáy}jwµ0i9&¶m]Þfº_¦ìk¼
+~f¼3Óìk¨$ÔÐñ gæ\üç}³w¹ìïúm}H{ç\"kT÷h@¢gù±á}n¡Æ\½9ø©÷QûÔ³dÿ¯t~É2$Gå¢îS»¸ÖeQ0¿ºÛØ7L³×t¬óûvÆj®í¹q£Np½ó6ø-Én²7ecs§)>®³³÷ÞjصvÓ~Ì!óår~}ù
+«¥»ÀÑÏ<È㻵á%¾[ìy¿2]ªÓuÈê:R´S)wj7çü[ÏÄcuèªEõó¸GÎX©uæ®{
+T-VcÕ9§Bê
²)g_zyÑ;dµøP÷AþA÷ëý# ¿
+YíóHkjì1r9
+L©¸}M?ò'ýÏgá²ê>êZ_ *-AÁÀ.5ÑqeÃ% ÖÅ;nÑÒl8àíÞP+z£Ë ª¹ìÖdÙ¼^u<×8f¶cîÏbªb.ÆêöÑk¡¸âübD³>SðÙ'g}2uÆIòU!{"Oê&@ú'ZÇàg+Àî0öÀ{-Ä
+p̬%tLEý`8v¾¶Ê«kPé
+A Àµ"vUqT7O(×ÂLQ÷F
+Ú±d®Øé1ä$ú`Gú-jZ²øÊ
+vÐÕÖ¥Y[·q#ÁÇ9qãK½NÊWm9çHý{6ÎÛþÓ Ô ñÁ¥uÇ&aSÐÕ}ÖSܵ± Ï#<Ðb e¨>bûØr§<ø´ÐµQm$ÑýA³:í¹Ö¹Ê£Ö2Êég«àz¤\Æ ¯ÏqÓïpxW5]ÒêÝA
+µ®²h]¨ÛñY¾¬ú(txJE.W«Ã®6ËuHóÑl
ì®×7ËxÍö1wA!ÉÿtáÇîðÿ¡O(%U¶éÃø`¤ïErÆ´P¦_ó»Õ£!îÜ´lYq1{Nc:'üæ]ã5æ[Á"_týEgZ| àº4Îô0Ë«Ú.!û4«
+½7
V³¿\fEþR7ÏÊ]ò8yø·¨ÔG5Nôâ
+çQGqi:°ÃgEªå¥[æ8_ú@Ç©ví5~ûø£d5UìT´Zß÷¯ûGCqCÝqN¶¦uãç4lî`iÎ+Q&¸;%rb¡6¥,Ù;Qhãê÷&RFÜÁÌ[,^.ÑØ`VºÈ¬Yþ>ʳÊ.So`xOÜÏØ¡n4ä` Ñ×,úäùãø_*¹¤ÃÃs}üËéió
+
endstream
endobj
74 0 obj
-3329
+2502
endobj
76 0 obj
<</Length 77 0 R/Filter/FlateDecode>>
stream
-xÝ\K#9¾×¯ðyÀÞÔ3SP\eû°·={Û
=,L_æï¯ÞBRÚUM/M»Ò)
âñ)^òrb¿^þ<,ãbÿÔÛÏÕ¸Ïo¿þñËá¿þ¦û÷íß/o/Ë9¬l9mþvWƼ^.çÿ¼Ü>^~mÞ0öYð oüöºªUüU«ó½òÛù¨^õûù(ã7zÕL÷×jÀ×sz ¼az=
-l]4¯Æaïùgd*²ù'üDz³ãÜü3k3tcOϾÊýÔ7KÂ??þN^í¤~ýöúvñÃ/ax7°ÚQþ:NiAñÉ0ý=\]üñ©ð
-ïûÑÓðÚønh-®/
-ÔYÔËIâ»G&¨îS-BeÞz*#7eÔ9¥Ôf=ÉPÁ¢*
Õ¨7~÷]ÃuÐËĬ|qó*÷¬¶ïóp
xÙ|ñ_r˨@U5çW?ÈXà:&ÐQ
-·H¨%GRY"-è(g oþ¶³)}Ó²¨Ó\3v-*í°¬ÿyëi[·ÓzÐ+Of&¼Ü¤òsmgîòó9;;7wd;ͳå;K.{úkɺ'¥{Òti :¤ýÄ:$Ù9q63È1rÕ°Kã¾×*ÙçEÀðu^ü:0ߪW7'p4è^«my«Á
-·Xò¤!#?°ÅsB8>/N(Ë%}p÷Sù¶ÂIayw7Ü_\w¡aÑx®ÌôH«<
-ÆÒñ{¤Bpì)fÙÃW^çë:KQ[l2E-¿AàÅ[Õ*r-tZu¼®ÄMÊß<èñî¡
-F3ÈFdàâc}ïZ$n?T"9
-5ÍÅ͹øPÓI7l²ÕûÀÂÄ"úIðxÊ,K¢µÊß*u×ÅgîñYÅ. $>£Jâ1jÏg¿
-áÜÖ]M3ã$°°´Åùu-&ù{¹¿ÖkZuñýÝpùÝDüGÿZøNNË0Ûµfoº!2~Ð{/_çÖ|C¤û½UÌÇ,1q)¾i»W=ûCØÃtí9jÈX«ú2³À(,Eîrþ@ÄàÐ
n¢ûÛ
Èf¼grµ8½ ¾epÚº¼eEè²G+{?g×9nrèq´ý=öa$ûEÐiÔ¬§²ÂÐ,u'í¢Ìa(üé½nøÛ&Z+YEçèçËV«¨ÑV ôµÌ ¼Z_E=
-^eÅF~hõYô¶éÓFL=QÏÅåË«øl§²á_ÂF¤bÌñoï¥"ÿÂ
-æ½
-BGºß
-ûüQ8UܽÚ0ÖW¹m6(ê«á|C¸JíöæÝà
-ÿ©ÀÕg_yLu?ä¶rÈì¶reuµ%g¢±Ò¹
-q[Áûѱp¹&,£ÅÉmäZ1úçtz.>?çZTºY×üë&ñåIîlHh|¬áø3PÌÀb³XlÛHò½B/$AÆÍIc B7UÆÂÈdØbDø÷¢è.$,ÿ\HX^»£)÷c¢;?:_&>Rð¶Âfýd(FxÄc¬*d¸2Ây°äznj?ôÛö$èQnow.Aö\½¹2µ@D^S½>6bäj}.Êç\°IÙÜÿ^©®9xl
:Q£M4 \«kf,jb#
- îaJ? îÕ¹ÍTÚ#÷¥u×#lÍåðÔÁI#ý"uðAÑ
-$h1´
£¦Â6('¢_
0@HhÕþÉò
-N
¡&jE訬¿![IÆ6÷Mµ´4µÂø(@
-¸?s¤|Q+ZQ|q×=c@©Pû&0 (a7Çà ÷à*VºÑ£+C´]Õa®].i7Ëå[TSru+PQq´n±9à<ÕT£:áýë±Øßâq¿ÍÁWá`?¬·Ý_-±¹]0¸Öu%W z)ºñ´â¬
4©MÐ])xÛ\Q©ÜZCËXwèæã
õ¤-SB8³eÀN²£2À£-¨QK¤÷^@dRÔñìû«ÀÞn
^iCû¸¸e*ô ²4-¨S±llÝ2{IÖ;GkïȹàÆée³ÊfúJé$3®Ý+ ö¢å!Po[ðfÒ´Ç@m=;èÁ¥Æ'Iúp5å4á/¡n·7By¬-Hâ-{ÁH;ÊÊhÓMJÂÁzö¦ûùInãu §Å®Î¾ZýFÒ
--;o}YHÑ¥Í8.MûYèoVTºÑ(åÝC&å¸Ì}WäbS§+P¿HÓ/;êÀ>\>H|øW Vs4¨ÜUµUîa
ÆH8ùcÝ°Ý.9¹$lÒ$´6;ÔümµÒ¢Iß«ú1<ݦ#A(ã(Ü
ï»îopcF
ª³70¤+mpAÖ ÛSWPße#84Á ÏÛÒdäoún[Zg>Y[Ô³ÿ¾2¹K$
-1L¨ðÎã±w#X³ÃZ±*M9÷
ÓDmwKp8Oµ¼
-<åô49UÔl³7õ°Ã -W6[8½#`Ø·×±ý
-añ^Щp:uµÿ«AÐÕCW¡SkbÑÍ"ònXö±ùTß,_6<k!
ªXG¦Îw\_ÊADLûäTWrqÌ!|Ð UvÙY;ãÎÚòx6ßîêÓföÔ7æ°7÷+ϳîÈѤ*LUvMÌÙ)±<^ay ÌѱAj>/0.5²rt¿Üã§,{¡F}©,Ë®ÑtÚÓLÞ]à_y§GUíª¦nÍÍ¥AÚ9fªÌk|ý&×éß+å.3jÂZ/XÆØÀªðdnR>
-t«Åt7Þ&z? +"Udï®%ý¡ßg]d»ûû§5£ÎÓ=px4c<áouA~³·ÓO-c]Ìa #6'-µkuþlÿÌ)ÝÙÎçMÀ}û&¶
`þìð(SkãcÔ¹n/ÛFÁ
-ÝZ"LQÅ¿£aöpå_üª2Â*ð¸5Ò£ jx¶[̤üéì¯Ùð¬µCPÇiòU>oöe=úb'I¬hªÔ¨t~á©Øü'@ÏÜÞÖf?§ÝÎ~ÙlYÅË[0J°§>+¿ÑôkmJC01»}»gΧîvhj[ã:Çkx¦·è>&È.\þ.¿o+IÙBçìüWãïi4 ÖÒÖÏ+í×6°SCpj`§Òf1-TíÐ\ªX³-åäU¸\b
-ÎüÔdpøà(Ú;ãNÔÍÒíYJeª"üÄÆ?8PìxCþX uåá¶ÍÆh(üãp· ÂÁ¶M}|Ï%ì @}Ë3zʸãG¯ÎÙo¿þøåå×Ãÿ
+x[Ùª$¹}¿_Qϵ+áv-~ÓàðÜ/óûER2¥ÊºmÏ0wºo¥ÒíÄÊ\~ûøÏÅ\~o®ö¬¹àÏ»üåwÓøï||ûþa]¼nlñéï½üáé¯ùR.ßÿ~ùå3þñòýï¿î?r0ÈZlöÎÀ
+vøÁ§~É>ÅìrJ%Áêç>\]ý<ø<¥né
+>ënÎä§ñÓciÔeÔçÊ!møù9dlò9ÐÓ)^C}º>isõõ<¼¹À[p¼oë³°ÓºþiÝðÌ~>áViê{âxÔ¹ü\¦'ÔZ&hFÑHS4ë*6H%ÃÞö£rßÃ>z¸F'Äk[vÄä-ü¾"W::
+¯
+¹
+÷9Åð÷X`E® ±d47Øýý
=Ï\ø«M?A[ì*àÒýºúû>ñ'ÏÞJR¤ÅKªEÙÆÄÔâ'\Nò¾ÖßÖû
+Ͳ@æÏ
+¹³×cZÑÐÁk_ªQ4ka?ù,ÐrÏ´;,UkµäI)¤x"j'X¡¬a~ú^J0ea at PXÕ>µ!á]YA?ºS¥ëPÙ HVo=±ÙfL0e˱%ÓRkÊ:,'ݨ©Ù¥¤^°\·ºÁãßJhíÓW£D=%£
+7h¢âÓ¸8:xÎ&évØ8;$d[|Qz{Â?)[ÚÀg%ÎÐV»Ç
+ÝrYíཱུ¦"SZaîÙÊkZ
4)ÞÚDÊ&Ês's¥Ã8z=û§Ü¹óÖ§ØC Ϲ<#úÉé¨þõWê`TRkÞ¾ô]N#$M8(¥<=+!à¾^oG+]ßÊ8^ØJºì]áz©×DWàcômæ[óÊ$Äâ°eæ]Û»ÀJ=³x*¬Ã
+©êM4\oz9ëmÄ&1ØTäåOÎ#ô÷Jàì0
+yF3«:«õ/YPi+
~w¯lç¬-:í²±eå#\3OÚý
+eÒ÷Sk
0kWî\y° ØÄXÅð
+ èûæ_W&Ýa#àüÒ\íüCÅ5xQ´ra,ʵú©o½Z7Ü3ej×sÜ+yÀ`â£tíû:`ËLLsi¥ÒNû
+oOùÙ1Ï"º(ÖRHÙ¡=vïÛkìËÝ\~eAÚ£½1¶Ýºº|¤~î·«¦C:yµ5[ÝY?sÖìXDÉ&t!p<]ÕXàÝjg_îÄ}ÞÆÆN|GåÐg
+sþùOzrç`#°Åtù
+ÜÙü]g«=yC6¿ÚÅWg«þ2ÔâÈ:~Ìr*pyUìªspsj®N¨hy¤çÐYlâùóÿà#YÂùÆq,®Ï³%Pz´:R¢Z%!Sýv1`iýÊ+%?Þ%wn3Ó£Ä76ðUç¯\¢Õjº¶á_k 1ú
+_jÍCK!³MDµð3±¦6jI:Ô©Éðõe&{¦ü
¿ÝTi´ëä)køú÷îM%à}ç´â#%ëR¤ë|Ìý¹»;
+è½89æÐuç:`Wº£mNçÛ$ˬ¡y÷·¢¹²ÿlwÞÁJëì0"
+Yr[§ï·å̽^ÞÉת°ÿU~«Åv«Ui è1ñçîz~äµfY¨ÛÖ~b[êOìóÛ~TípS]RZ
+ÆaÀÆOk[[ ÚSýSѸ§s^P²°AS¨e¸zV^+ºDÂ9غÝeK.úD7HïÈBÒ)ÞWom&éÆ|jSÃy?;Êaêø¬ýÂò¡ e/ñîÉYªSò=;ú£ºÜÖåE×D
+.lâ«ÛdÐåX^²Ãç+»D{wrw/ÁuwN꥽¹/PððfÞ)æÎLjÚ%Õ&µæLn¼lW¥Ú{ÿÐÎ>'mÎüÈæ/D?¶_`¦PSw=Ùtó¯aøCT@M&<ûÊ*iï©UL4GÄ<×è!qÃýçZCZíè>ÁþmÞ¾h
+;¦M]Pv¬Tg,çTû]kQ¼;ª4ÇÖ2ÜSÿ
+Ǽ\cØ5d&+9ò§C*JTfÔù÷zKS<ļÑI²¬õ¯]8Ô;¦ Åw
p
+c´ØÂÍa<K¶ìNîý^¯Ë×Hó]ùµAÝË96y±ïX¼ÖÐ{ÀÐÛtDÆ×Û½r×å)JµÙ*/N²ýS$éävv.ÙhgO6×2Æ'ÁtØYÜC.GuZ:þHßÚé¢gMý,V_u|NÔoúK$@-«ït÷h³Øõ)VÖü|ª5x¢O3ìS-w£Ü-¸[Dr×Ýì\MÚúÞùh¡ËùFÕ0êͲµqµÕÖϨ°ÊÀ«Jóã»
®?ëð̽Oâ¬Vº_ÜçyáàW×X[{DÄÓÎùc]ÀtæE¶äÉøNÅc.[¢ONÐÓ3ß3ògªY.b;,âÚJlÂá66Å÷9n|ã½?q«×éPÃu÷7ïdí×DW$¡HÕmÁ³ª-]§$íÕÉá·XggD¨1ÑND
ÛÝ7¬j"F7n§SÜ]wêºS÷Ç'rL/,Ó(F)Gmç¸xà·0Î5^<h׳|»4ÒøÖëã°J)îòÝLîÝ"¶Ëyk"ÂÓj}'vRúYìZÑøQúc?°{Ü;ë×ím÷Ýêþrëyåhí!ß¹Pe¿Ìsë }%¨Þ2¹xLÿ¶Âò6@ë¥ómTdëWÔoÕ¥ö)úÍ+Õ·9¦§p.»e¾ùÐurÇ:¦!MÆì¾×.ÂaB@ªq«g)¥î>)å"1ë®]:äj¿XJ$RÑr4Ķôè+]õwßQÈÂjvqÑ z:ÎOâ:MÔ¶:é}Pe]Ý®kÄö=®IF¦¢ÝȵÅ~QðhN½ë{s6cw¥ú×æRmSÒÒè{
+Ø<þèÝRäµî´ûÀz<³ºôI«R§gN´jíïìßk£&µBáµKôeiZa.ÏÛU7Q½ê¯Lïàʾbyo¡'!´LÁiì¶ÞgV¸Gr"»é¯¾ÏÆ
endstream
endobj
77 0 obj
-3422
+3481
endobj
79 0 obj
<</Length 80 0 R/Filter/FlateDecode>>
stream
-xÝ[Kä6¾Ï¯ðy¡½eAÓ°;Ý}È-0CÈ-@ì%?UzØU²eÏ$ìwÖv©^_=¬Ò°½ü9°áÂàGÃ\Ãë·¯Ã?üCüûí·/o/\ÉQ³qÞ~¾{êóáí×®VÞ.âjôí¯VÜ.òjq·º÷âÿxÀÏê*Øíç·ï_o/?¬ÙLjÔ9.Î<)oâÊ&¼|N÷¸K
-aÊ%gÉA|GÑjs÷£سFÒÿ.3÷WPÈ
ÂAÛ¸Dx%Ø5âÚ<Â3koéµ
\°(ÙÓx""òËL¹9£Q¬G|k[Æ:˪åý A¶å
-µß"»LPëZöÖlK×öF&o¿N÷Ø2Îrå!#
-M(_Z'ÞC3«æ5Ø#¹ÄØäÔ^ÅõÕ⻸P°A0fÐ^â=];/xÖóe«KÍ7ÂBê lYèýa¡+ÌÃâ²çKÞÔÁGS
-c#±¨o
»F;ËFõ¸ôBhuîÓ-`¿ªûÍûÝ2^\lxQÄ÷¦
-ÿ
-OUz
-Jµ$jtQrEiÅÁ1}e½kõYDG@Có^Méïï
£É%¹¼ïAM£
-G^th íJâC
Ä¢LX HQî ´ÄA·ÓÂH°1o SdbEã-W.è
-§fù¹¸ÀÉÉñ¬2H+bBªÄßHlTÒÚ¥½
-G#µ¸:MS
-¶cÎ «vv¥éyWèÉdÑÒm'« /´ÄA8:y@ãð $5m)Òi! Ñ5Å1¹´¸:)WMÛ%ë ðP
-¡Ñȧ·¸Bj«´Âò>{(5®ñÖmüd±¹ÂuYJ@¾£eRf²¼l3î°^4dÂÊZB3é¢,f'#½½è eàÍ HNgmVÓÁÁ¹C×!eЮæ^à(Ý;$.Ïäè`v¤\Î^46#äê@H¹>M
->Ïælö
-3¯Ös-AÎfì²ÊO¼½ØEI¶,É-ÙGãÊðÓ =+s®(®)K=4ø©ªyø=lÜ1<ivºæ´u¦ZËzStݨ¢¤ûh\ wºú´GpEpîÂÅuÉW¾ÇïZü,v[ÜÍÛ&SÓ&ïåùª·_E+vàKàÖí/é¦Ó}A{
-$h`àÜ
%kÄR±í¥RïE6£9k¶B)ï¡\EIØ«6$ü8|I}º hààÜ
/+èÿ¹ï«æ}ÖW`®ß±BWå¾¹K)ªdZáîy9Taqcõ9ÂD$lºytv-7lÓ 'ì<TðnØÀc7Xá¶hZMÄÁß ³qØ6®
\Ù$Íûï0?5£³Øæ3®gñKc£{ÚV¾/óªÂ&ÏeðãÍeälî55
-íc³ÁÉ77^Mþº]üÙ
iËSßÛsYxÊ(·AÌág
c-âä<=yò9Ò#¸q¨8YÎ$öfÅÂN£ e"pú
-õÌ·óæ÷2-&"õvþ2iD´Íó½|
-Uã\Ð,b} ÈPÙѦÙÛÆä
-á£0ðûá³¼¾2a¶Æ7w¨6¶þÙb«bi¡ÍÆÅÜÏ&êÿÚHÉfú®/ÐÓ[ãX!¡Ë¢T
-ü ¿VþáÈQW¢.§Tü(*°É ¶êPzÆ¿ã0®V|îÜpß- 2QGIAot3;vx.-SUøÔjP¬ã@¢<ÆÈ3½]WQûSêE¾+>yÍøçÇzºÄ/_NgC%R>ßÁµU³}"³I¦Ðj#SÑY!Ñãg'úÊ#T\´Ì1§úxÕE]ãEÌöödTbòÖIG9eÇFV1F9Û¬8}1«N$¢¬poEÆ"Õê1+ ñT ©À
-SoõÙ»
+xÍ[Û¹
+}¯¨ç¶#Q·°ÐîË>o0Àþ@vä!@üâßIݫŪîÙ±«KEñ¤Z-ßÞþ»¨åguÒ×?C¤_ÿX~ÿiùH¿þëíËûwZ éí÷.»SXâòþçòËÙý}yÿ÷Ûíýí·í kÆAiÅ£ü=pógø» nÁø;róü÷J¿áïÚïðÿø¦·(æÍÓ·`½{£àæð×°kó+Hv» 4dÎ x;Eÿ+¬¸²jëñr
+ÿçA˯{S¦÷émii§Vw¾t^XÔ¡ádtx´YTÛ8vXü©ý~âi
+ú~ÂÞñÃ3ÚyÂY0õ(w¾ô¡ |ÃGE;u ZûËÖYà[ç½^ÍÞsÍ:½÷l~ÃÄ6Tjsò4ô4hN+ÿè¬å©¾Ðû}³x;Îò
+ØWRKcÎÙ\wögäÖ1³üÀ«ø2ÜÕ£ð
+v´ a®c/Îd@3Yøèè]ôA¼+@\+ÆamVµ¹ô1"xï.ª{%4àÇþ?ø@
+Ugp-~vt°~4Á:ÍÒ
8ßÙ¤`ªöì?ñ,eHj¸âûËéh³yUßGÃ>Ô½ .YÐÙÁ)ÄÉ@öÝÈ6pnlD³¼ÓÛEÓ®i]84fq
á-w|hÀ^µ_?ñÊ&c
=ÇÑÎy!Ò5§YÐÌm';×K[g$8×â¡î
+w®3fT¿081ÓTÎnªA
+üÚàÚ¿K¿Ó³Ë^ÎŽ(WQ¾ùaH³´74Æjàôä^éz0ááVÈí¦ÐÍÎȳÁ«U1Pßö3ZÎÀ>DàÃ8é
)[°kyÂýÆÊË^=C!2#(äH6ÚWÉaòöùi°&ÏQYQÅK-%ëVjhÈ/"×[hÌ\Øóf3MNðHc¨/Ló
+²wà°Þ]qbçÙ|;*×¼Á2ÍNÕ{x(>NêYäpØã·ò±mo±øö£Ì
+Àl.äà±bEiA·bßÃXíÕ^F»±¼6y¢eÇYÇÓ»×}6VS¯HhRQù|ÖøÆ(aBf)©Û¥÷NÇÝ5è?),½IN^ÐøåÖæø,[&ÖÄ'hé¤ïto§KUS5zJ]Äü#Ëи¿«äⶱ*hIcÌäµèÒÈi}:h俾
+F¹¼]Ë´¯år
+
+xö^}?ÛºdÝ53(4þÅ$VQåp5§¹oiN-õÆBÁ+]¿q¾ArCµvný3hr§¸âÌ35=W^±Úöã7Áî,hÍéöôÂf¼2X²Ò17:Òê\R]k¯-BYg7ï˺°ãÛPÜ@È}áÏèRÐäR¨ºt
]Å{F£¸Æ»S¥Hwl}ðmÇNHÓÐÆéíè þhÉy3Øê$òÁn=} £]ÍÙzë/ØÖ8J5éä;I^·2ãAªàSÂvéï
+µÊz:U"¼iÕb´BnÅPµbÛ:ýÍ7 y
}ZÇnJ¾´ÛÀ¨E0©3¥
+v0ÐY*¬DUCíJ[ÊDµ;z¹ß¾sý2iÛûhÍÄ ±c6ÒZ5gñdÝ<¯ÓyeǶIã=uó¸î¹pÏ@gÇî}Jg£9´CélÜÁ%Tתµj¬¿ê
+®©æóÓ -ñ¤V¢ÒnwÏʨI½È§´EÒã¨]L¾ñ@.©¸f±Ø\Ú\»JU¯Óì']£×ÏPjØ
+»xÙRLXOzkèÂU-U`¬öÍóYW¯Á?Ë·7ÍqF\À?T±×t¡ÖxEB@ß[xÄovY!õ¯RÁç"î²(ò:Ýì½Þ8ÍKWPµp9ª
+ë?wîJ3Ì<Ý|gÕ%½¯oú7¶£×¿$ç`â#ºdJ'dÓUzMïfs\ÖWúbBw²qUD+ÔÉ°Õ"½B¢;ÕãºÇX/)ð§(·X5·¸¦Ã7zý¨|hðt¦
+i0"üà²fÌð¦¬/²5M9ûx·ð)Õs!f:¼mÍgÊ«Õñ¼´GYsÊq£ø÷çJÍmEþ$wtßo*åQ¦:DQ²ú¥»û÷Öëj&yZ¯³ÑhEÞÐï¶_ý Ü
endstream
endobj
80 0 obj
-2201
+3152
endobj
82 0 obj
<</Length 83 0 R/Filter/FlateDecode>>
stream
-xÕ[KäȾ÷¯Ðy¡jo éjÉØ·±|X|ÚÁxl<ýûÎGddD>¤êcjº¥¬ÈÈ/ÞÙóUL¿?ýg§Ëì´BúO·Ï¯¿NýaúW|þ}ýûÓËÛ°vrb¾.ÓÛ/Ó»Þ~ûéÙ¾Þ.úÙÛE<;u»Hø´"<±.¾Ïr¾]̳ÓqñR¼<°Õ@JúO _K{8ô=¡2EC¿ßÙ%Pþn7xû¥ß"9ñã×ؼwcór»¨gmoNé½G2q±Ñ7ÏÏ~»¬Ïæ"VGL> KdSÂÖøͺÛßÞþô´½=}®4gÄÚÑ\ òöÞú i»º«ª4T¢2ws:1ì8ÑáÈìt{ï·$»=Ð-ÐKòDåÓ¶j($p<&NOkóHê5éé]
-Ç#®VãÃM«tÎ
-8¦æÈ¡3ü,PKÔ-"¦×ìo¼*7PfPk¢}ç^O^g'Ñqx0 û~f6ïäþÀ,{J<6J³vò,À053vÚßÌûI¡çáZi¥¿Çò3Vçå#˳L½½Ö¯ÞÈ7ÐD]Æ©wÁ;"Få¢3Sµ±Ö¶OUs
-1**Q2ÅheGFÿ¦ó~àw?HÎ%eIx±ñÃ4¹c4sãáqð4ubÚnu_$e'{q³ØDb-Õ]:Y¦ n+¨d±ïÌÿèàÚò§lÑɶᬡ%&óöaNòÈX'"Â\{>A²×¦t:IQxç L÷½ÖpZ°°dGD'Dü5ëR Tqø
-ÒJ:è5ËGX»dÀàYÜe©»ÏãU,o8tg`¿?¯ÏǶÔ^;Úµ®µ±i§WÌm%×<§2Ä&ÉLÉø¬ÆM´&?ÕKùRB/i¨Y;¢ïd¶8%&iÀ¢´ñ1s(Öuó¼G·LG.¢¤aIÔ ØÖ=Ö$EV:!
-ñ÷çR©x¢Ãhás¢¶ðdÖf\ýa
-Kúî%èK CLJ5tQ
-÷·Ò§Íu¾1L¸f`v¥U¤½¬·BD`Bg×@øv¥®$xhüÍ4ÅÛ Kak4Äâ/;%Rªþr¬ÏâÎzNÓC×ÂÃyz¹BX[Úc¸¯6a¢%9DN"£¦ÁÀ)j¤jrÌ
-Â
-ÄD-
sQW×_0ÞÈùÐiþÎe.DéVcè@{Ͳn
-%KäB?(á¹
-fÏ¿R|§,\J=ªÅꨤøké²[ö_÷?/-mð×ñÅ}HÒ
-NuÞ
æ )uXË6G§ü+椩WCÛzÀvÙµSÈÎmfyÍE&®ì#
-rÕ bõõ$:Úá¹r /C}D¥àB,!í!¾°cëTÃz-übòtå06åâîD
-$Î@$|Ö3n
-XÃJæJþav?b^ñQ"¹³9Dx}ìL¯[ÙCÌ&¥°Ó0C`V!~³IOÄ<õ1I¹ëø\ZÈz0Mi>ÞÐZq²µQñDO±£êúÜIXi5¥¹\ØMc±Ï6Ã{^¤h¬
-mCÃñ©ñ,#ߤv`5Ò:Ê÷9i8O¼-'7=<h 3ØÐ=ɨ
-æ¬ð×ôVãÛá]Yù®ùN{¸sY®3N!5¬ä7í'Hj¤ÒÍ:×D/GrÕBX®#Æ
-MÒG÷¢ "eµu~EEV³ñHa ñ§áçÀi /çºÐö
é:·k©ÅeÙÑ.mâ>0¨Ó¤ k\ÿA[bîVIVÒÛ¿¸]@B²w+v\£Ó-HÙ6(ÌÞeùá
-è,¾;úíÌKúÙKzbìì õ=´øB·`×ë?ú1¾+»V÷Æy*oÕWUF¯³pOýVLé¶gÄWæm
-·Ç<ÈÍu.´!
Ì
-m'
-åfnu:ªïæΩ§l(TÛñwsÃÈhHgí5·A²lãè |NaH{¿×Ö·¬óbô
-T}÷5ÑÒèLPñ¨E!MøkÉÙô{
-Cõõ×é·>O>Q_Ã[.©. ªÍòwéiÌÙãú
-ÒÿøÇ/^ÿ=}öôþèÁVæ
+xÍZË®ä6Ý߯ð:ÀTôºoUÍ:Áæò
+lr5ÊÌÎ{åQ¿Köó)'È쯧UmëÓtþÆοl½3¾0Æ8´ÞDuI#ë½÷Æ%oc
+7ØLGðAzFÁçg¹ê¨áïç} -?å²}±|`±ÜD4¼Çä]¸÷\ËËø áLÏ£--_3~{²ÓxïÝðð~ã3|sÞ;ýRîÊ{ѾÇx/ÛÆÙ°õÀ·á½¦ùn1Õ=²´|á×':ïâç»|oÎw^Ê<ÒòSù.Ú÷ßeÛZjÀÔGË!ô¿çzE7Ë/}ßê4ÞÏñïSD}³woÇ{y!ËÏä½lßC¼ØVò¼ñüÚ÷!½¢!ÅåkƯÏs×]ÿÊ'x(Çë
+oùÓÜV1Ñì½la!ìîË°H
+ñ&AöÝìh+µ`HRL¾óºLu="MUüëë6[æÅLpf0ã`ïB3íà)Ùènc{ðý-æJ¢fO¦Îe&å,scj6ÊÁOüËQnd¥ûìµ}Yh ÌbG9°Cs X{Ýü:?çRËãí,÷r"ÚËbY/{ ùQUZ»Ôòkû6èuÍ»òCQPl4õmùd¨[tÙÍØþÒ
+°*¶².
¹6C4}ªê}`Q ~EotV:[EÍ6²/®zt^Uv+äÑì¯r¢Ü¡VÒÐd%:¶$ó´Ê(_qÕ;X+X¨Z¯Ñzgþ U4Y¢³.¢ÇØ#d±÷׫ØúOdn|ÞðxY,÷¡ñ¬yCÛúLá¬|UöG¯µ
+|@íÍð¢ª×o¦7qÚ©v]àfl²e0] #÷Õ=é¹L¹Üº#íöYÊnµjú»Ý6cöø>ªÍ¶ü^ÊÉxíÇÌJh$^Ñk¡øxר¢Äî¦'ï[ër«þ¬æjà¯nS%}n¥²'ÖÙç<ìÞüÊJ9OìdÀaQê¼6e¦ÈNXqhs&´oMxIK#Ò.Z ïPà¨YÓ±¤ wê¾'JM 2mè¡Ú$
+|2&vçdô1~{ÛÀpmÁÀ"ás³ê! ¹u}MuM°]êa©'ûÁt"á@Úù$J»µTGQ1¿9èbîа<ÆK?ä%µu¾â%7ÍcÜÕدÜx"ß½à±6Õ=HÐùnSFçSFd[LÛä¸áCÙ#vê§=KÓ'¶k«{yÀ òE´nji§è-ÆjtÚâGh*¶*-ÜÇ,ÎØ"®ÐxÙ 6Ùà)fÉí½ÂÚ.ÌÑíVîµJ7$÷¸f&Bu°rRV5jUÎW[L¦5Ás`y¿wN
+ð
endstream
endobj
83 0 obj
-2843
+2503
endobj
-84 0 obj
+85 0 obj
+<</Length 86 0 R/Filter/FlateDecode>>
+stream
+x[Û¹
+}¯¨çv¶t¯<ÝÓAÈl²8ÁúÅ¿^DUºfÀÝèÖ
âåð×åûËo˺ü¸¾º%;ÿþö÷å¯?,ÿ¦ñÏ·¼¼}yq1¼nKq8úËßþµ,>ÿºü\bÞò^_ËZ|~5§âKüÃòå/i}Ýaó3¬¿ò¸ìò;ü#]q%åä×0¢XíQ~wZÃyÉï°.[%øìêFÑ¿f³çm#ès
ÂxÉâ^A[N0ªnJ"¾¼òûÏ'uÄÝÁùÇêðël+Öݬ§Ê$£éã3ª
+Tâiż¼zª»
¦²¡Ús¨2gU;w«R9ÑÑÑ6k´{IVfÖ MÖ`}¶ÅçZK(ObÍZ,uhÇÁX`t62±UƬÆÓr³q['RÈyÀ×,í×nx1ÒÅùª3òOê½ý²Zñ¿m^Ê¥ øÇðDÒÖäë@^ýTÊrî>y{2hÓÝØ@VÜ5ºhÄ=ÉU¹÷ÞOÚÞ:¨#>kê³°gì³O"==ûA¤§ïñ>=»àÛØpªpåèô¤Ôßãª(W ÚÁxÞzvõ{9"ʱññ_Ð7J¬ác<®aµw«fèüE¾(äÍrÖU¿"¢Ls¿2,ì6·é]E¿÷ä?fsY¾Ï2Þ·°ÏàNëÔFëÅ{\ ô!R{ìDç£ÏèrÓ©:]6J¤vÍÇ~h>XVTÒ9 at VcÞ`EJ3Uû|ÕÊ(Õa²ÅO¡&¬°÷p)+ÇÑ%+Ï Ò0qÇäÞÀhJæüÙ磮ı¦ F)N,ì3O3}xÚ¾¡ìÄ6
+wYÒ _#U§y at Vg~\ÁíØ
+/×o`ô"ÇU" 2¦¡@©ÝÖÌË$R2¯?ë)Ñ©ì°#V/½PÍíªïÂùQ!ÇÙÆEÎg
+Uèô2Ú¥Ñ+9ì FÉ&$/xÜcÊ£;®ÐWÁÈ0C<kÔ÷t¦ªx
ä¦5W¿kÈÍmwSûêÏ{ ¨sïf1׳¥ÖÕàÚ]Hùý+fà1¼ÉÂ]bñê*Ù&¨F¯´@¥³Lû#~^ztó#BÈ,%ðÛáj3ð;ñôØËoÊ4PM¡ME#!6Eg¨ü¦Ëêè¡.ÎCÌkÏ
«»ÖÐI.]kÅÓtàF5ÓáS¾/cZ)(éf;YýlN-{T\
+ÉDÒj%ÿ.D¿·æßàèê\±3iT¿ÝZåæÓô8¢¥%¡Ky6/ÁÖwXÛ}Â ÚàU}ø
+}µR´çÛEùlÓ½æ7t+û:ÈÁ#êím>0µH¹J)nÃ7;ýîâÁöa"«_M¡Ö³·5OÄ- 3èJoÁ±Ð)=·iæ:ÜPÕ h¤£Ô5Ï~¢Ë@ÎJÄGéÕ
+fêÀDphÐ
+BÍr
dØ`Y%¦|Ùr>ycÆ3ÔSÖÎú@OvÉ\pYö»V%Æl"b,ÊïÑð|´C
+sM:y^£¬x
+2Vìsc
+Ü´_ººÞpð³©q=109ºÞ9TY©¤àï^¬ì;È¥£;T
+G´ÂºqÍó
+ª¬h=²¢\vðyªÍõ|ݧ0@¬(M§íóÑÚÇYùN*ëõ
+ÁÓ»ùx½aǻ似)´dVܹÏ}Xà¬ô¯6é¶;Á!æ^]MËúw[©nåh»îTe¹®z±2{E£ðU½P½mié]
ïî©0Þ=¶îèÓÝ÷¹®;ªÎ½lêhd(Ôi¡±ÉÔ¦ix;7rxëM¬6B¹çÅ9÷CìÂwÖrÀñ
+.þ;Êô¸ÓTC»zÒ¦÷e59BÃêÖoÀéî
+>){Ð>ÛPÓÖÙüà¦Y
+
+bs(wn¦¶º»(¥µHÿ Å:uÙk·ûQì
+ìéúYkl»Õ_/ÜnÛüÁ&ÜÐð¼ïõmÖ(m½ZTaÚ9ëÍágÿëóÒ
+½ªAMao:7þ&'å÷p{_Z3ü[
+}¸düFÜë«6__Ái"lf,ê¬w?[=¢Ù^+ónl#ÂEû`DuoxÁ3s»Îjüäý_¢{Û±Î/-EmÎR\îÆR~³ÏKÌM®x×Ý#§
+Ú;µÞè®þ^}³â»w÷M9U}üÚu2öäÖ&ÓYT¢U+ç¦4ó:æÅ'uG`jËBºSÀRí@EõòDÅ¡ÇJ³¢âT"D½8?Ó|ÛIÖ£iQIÄW.©é Ùêñßp»§&î3{8_Êuï¤6wñ7íëV©Ü³àØÆÚ¼´A½üøÝeH*\´J%¼<ó
ÝÜz$Óo©PwN0gRu)±¹¤Øz!$"ið
+£éééÖTÔQ&éì)<ï
+FÎPÿVsÃ7µÓF
u;j´h)ZP´VÛq-'ýS¯¿Sm7B'½Opºk£Á¿tͳAZÔ9Ga%5úä:ÙgËõ
{cØÚBUÖo¬Ø^âÞ^¼Ml&Z¿´5s:ã®Ô×[psCZ96#ÉKpBzªçcé{io:)Û©G`k.~«·¿d1ûÊKôn]Ö{
+ªÓ<êÁo
+_Ùe^RÇüÕw<Ù»-jÐ
+ö.zÄy²Ñü0wºzÒQôÊ&âMåky
+þ>ÃGsBöà÷ò£4¬a{Vñz>ÉÛ4æ¾øøáÅrÄÿQóë/ßpB|
+endstream
+endobj
+
+86 0 obj
+3167
+endobj
+
+87 0 obj
<</Type/XObject/Subtype/Image/Width 299 /Height 234 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 9688>>
stream
ÿØÿà
@@ -1443,85 +1491,78 @@
endstream
endobj
-86 0 obj
-<</Length 87 0 R/Filter/FlateDecode>>
+89 0 obj
+<</Length 90 0 R/Filter/FlateDecode>>
stream
-xÕ\Ë+ÉÝ÷Wh= v峪 ôUKïÆnðÂxeÏÇà»ßw¾3"#2³ÔÝÆ6âT'N<ªgqúõé_§åt^Ü?îsÝýç÷NüáôÏð£ÿïûß¾½?Ý>¯§uÙíéý¯§ßÜõIÈÓûÏzÑW{·«Ý/êŪ|±Â^/gó¢YÜwF^þüþ»§ÛûÓíR?ï'»/Ï:iNBÄ!ÅE¿È%rõCƵÂY¸GÏ«ÿFw{ðO:ãï3/ñêÕ_-Ò7ñÛå¼Ç/ð6~¹êð-^íÿO¨4?LÛ·0ü§°îiÐrûÅÇÅéÆ{ìå¬ò¿Ã¯áÚ¥y°ÉSîìÒhÏtÞ3·2¿1~fÊß»}ÕÏ»éqþy¬LÁaAñHÇãW£Ò*ÝÑÝWÖ»÷FÔÊv Ïîî7OÈáI*·~ÝÞ3¾¿ÿýïp®~¥xFáAé
-û.âùî}«sL«Hº¸
9ÀL+'`_ÐfònTÓ®¦iòÃu6'0ýb ÐÐv&ÕJ£»ÉÕë²]Â>ºùSÖ}ðõ;¤ÑìRÆÈÑìæ8³ñô+u¸Ï§¤DoÿýBTPÓ¦onâ&®Û)z]/;>89 Ñ i
-Nã¼uI÷Ð^ܼ:5Byö#rϲ¨Û»Åóܸi/îiO)Á´¨ºûfâ
-ñÁà¬ÝàróÒ¯~ýæ?#ßú[Ü
-rý¬ÆGÉÀmíLºÆxâ©vôç:ì3ôô²gáþ»R\¢.ÈáðW
-ÈÎäw]`(ï^è1O!½Y7ÀH at DHBcxùÑÄo
-@DØ$éQKaÕ`D}ò(»<MýÒõ]¸æè§`(¤D/×*FíIx &W7IªDÝuxºiWvò@àðLò[vòÝz¥"ÝÃVW¸èÀ`Æ
[y*]9+C>³É85Ïi% ãzhÂû~rúS¼,ÂÉ\®Ù¨Û[©·ÊBN«ÕEn:ØìU{2
¬úØö¿VèAâhOíVѦÇ}Ý3J:]ú}ÈKB»`~º¢#¾Ü¹!]§[µ¿û±Õy%
-|̶,Ã$wÂk××pãVãÎ4|¸ñÛ+<3<õÝc©I6NÎ Ô'/Èå3:«~á¥1ºeð¼×ùLvã}ªñ-ÝÆbÝÓccõGÆ¢±¢`0#ÔDk?j¤AaÜ|ÅR6&qnÂI¤hòAñ^4ÓïÝ~óÏjåÏâyw®É5tÏ~w>
äôìpWC
-ì9N4ûÙdÞÌñ»¡d\üøH3ÝÚæká çß]ÃQñZ%ãcª%«{&?Ãjð<®uk¢¶õ÷8¶±ÎÐBEñEÖâÂîÆLÄi(ÑRô#©°
-JâT¡Ì`'ê»]1hÆbâÆi6x
-éÒdÄ[?*ë!]¢yvèpQJÊTb2Øè
-J2Úºp
-ò
Àc
-(N sýS4ïL!YCæc at héc/0±+1IzÍ ûq2ô)H+>`Ó²Ec/ØÀºw´o9Å2(ê£Y-©ÕÇ\i>gÅj²®>ta½¶¾¿5ºfGtèMPq»^b bFéãâ»
-Á³|: S*W×ü²ûÂzeµãqkNÿZÓ&CñvÉL#Ã9é
-Qõ^#°F(õüZ¦Îs£hÛTÅÙn^x}V3«O|rtjJ9¾¢'4c-m7*¼±ª&êH>7V(}ô±×ºIíÆá:à$!Û-íÏ\ɨï±BZÛÇ(Ù'rõi"j=-
-cÁYplRoâWHÁ¶Â'Ë@f6e¸9§<Í~öjc»ßº%S¯7àn- ÐÉ"cñÒ°Ì ââ£ÅM©5°©·v¦9-ÃÈÅú7°?À\ª¾êäÍsrÁý³VÖp5*lø´J^üA8?ê)&¶Qg7i¼½¡©ó
®¶PÁõÑb¾Øò#ðª~¬D*ÚY×_#G:0¼]÷v'Þ²ÇpÝ\ÛǶ£þ«PòH!¯´Ð6°»\?MKdMu´R°£-Qc!ö¢7<tÀ÷ÑÚÜhè¢8Uâú2
Õóæ8Ø
-gÚ¯Ä,c¹
ÇÊ|ÕA;ý«s7ú¯R&IÞý£QFú.yR®ËÉ
-5çì×UàQ)î6HjQÏvÀtJçQAàÃÒ³N¾|$@ÃÅ:Ðf먩®á?G+°è×L`Ð(
9Ü)A>Õ%ïj
-ÕúZ3û¨«Ê7¾%ØaÀ$È
-fô
-LöXÏ|`ê¥-]_CÔßÙK]ùÅÉ&ip8ì_~yZÒ~M?ýþ·OËéìÜ/'³Æýãôj§¡ynª7Ó¢CÂSé%g&<MÖ¥2ävò/û<驤$º2¦K ¨ìw"²m4CdVàÖýdBk>%Bjº6r³ºÒ5ëÐan¼ÛE, /:F4ðª÷X(VË+ôÖÁK1ç>%ÚeëTãÖD"¹ÕA4xZÐùGNS^¨yö&¢8æÛÀ1çïÝb°J\\ãÅYùÜIÛ´«4%8ôþ0¨LÁ¹íéVÌÔáÊéÆÞÙR$Ì°#wCÅ&Å §©|Ð]
:|Ûím
-ýVgG1ôè§`Ù T£ÂáF^LóIìs±â¡¶Ým2h¤²÷NyDÕ,î/skÆ©8nÓ`Îu»AúW»å·(×fQÏTç-"®ã4Æ
-=Â*õ-".ÐÍ¢ô±4/·4¼qËýïlýsÂ=-dé¿é æçñ¾µòe±cL
P{çÆn{ò:$jÌÎ: ¦PR¢UÔ?OvëH½gÊýnͲGqvï?ÑR-76Þ¹7 F¹veã¤ù}ïÕþÍ00ÜvlßãËè3âhÚ¥SC2êS¥
-ùn¸
-+
-@Ö¹jÜ<*D¬èmñ}?Æf^ÑfÌ¿Ò-:J"YÖÓhIöPgVÇaàJKö"ÁKÅ`D±Ý@´ûòÃIG(H¬
-.KË×Tª^87³Ê/ÇÒWº¯Üf3ÊJ
¶rø¾ßÆí"
-;
-@×b^ôe%b×PW)ÃðS]g×ø?fö
-iñôm9`ãB]ÅBÅö%ЩmSý6Ó(n½òÐËÊM æ L«wãhßGBOujiþq37NIùK!-ÒR
-ÚQ\º¦n)Ôø%!ÉÖ®½¤o0hþu·Ì[2ÞcX¦áq>Ð}gk/]ºè"üâÛ´éÙNÑ ¿r9sÁ`ke¬U0vúï:¯°.,ü§@¾ÕØQßåÁªÁ°Ê¿Ñ?ó"?3ÊÿI¿Îü+KüaÔOUøɹÜ8)ë
ðÆêûO§H?m>ùÔüòãéßrW~3
+xÍ[É®\·Ý¿¯¸kîpæ%`zÈÚ|@b¢
+2èÄà¬K×aD
+07-NäÀ3çàØB>8±h
+âÅ7ãÈçÉ2~¯1Âç·ÝÀzàdÍØö0Ñd
+9Á^YÏlÒÑÕf7»f)øLÀÀaÕwp¹ËnôÚïÊι
¤Ã²]I:í%Á^BäaÄmÈ#1×qO}ËàuÝ°"eúó
+§ÚXL`ÖjózÉKî¯i»øNNmÁP]¨çÄðÑ
+fÁDÆ©PÌîOáÒW£ÓèõÜÅ©|~0øÒí(ÌÝ{Nr¯û»½»?»ý-¤Ìï¸ü·¾'ÿçÅÓÌÝ
ÉÕÓg'«XÒï¤XÇ;ÈxN±àĵc@,Æ1a,N}â7Á^'7÷ésOÛ¶7اlªÀ¥fSöñ¦å>=x1!Ô|¤'ÖêRZUE+Jt$P
ÒÓÖ(¿d]ÙÓzÚs
+ÖÙÕ~É7©óvU©ÃÌ5zÉèiçÜ¿yuijSÓ9Ìx/¦s=G&T!åþ@¬uÏa»Ú1ße4ö.uêV7·[*T&Ú
+P=»U_O}]f©yû*ºohD
+Ï(ÆÔìgÚ¥º}®¸SuÛ8)ȧ?_Tó°YTÚ:_ßutÛÂKôþÆø?|ö©Æ5ªâÙyBSá%y±]£Ø$)±-²;HÝePÓÑ÷e%)GcC(¥:úÄuÂJ|Baå9r/ݺ;qø^Ý¥£JSôu0)G(ÅkCs0Þ6hvê)ÓPA1ö²°fßâ]ã³\²O˹u1QÆ>ÓCÁÛø)DÒ:¢f
+µTÞ;TÐ=Ã4 lëfíØÍzP[Öö^î
+{¡æ1³\_Ñ·;è5þöõÍÀ
+¿éÍÄC}ÝbæOÿÚþò¿>FPYbf׳?Æ}ðÂyÿNH~iûA;ÝÞ'"V¿Õ »ëýÎN&ò½©ÄÝ61ÒöòÈ{-³;i¦m]Eiµã±¢Êú£c]Ökíj¥w3òý»ÚÐhwPÞ\
g %º}P`×ÐÅÐç¢ÙÕ°¢l¦ÂXáã¹àVB\°
.Õu×ÃÑÊ7
+æªméÇÖ+k5}í½l§òKÆö5ó¤Á¥âj`:õ:(¾®A£,cº¯ÝÈðbÐÖÃÄ4×ý©Å,Ô bx4¤¤È B»¬UXHVá))Á
+ÀèÐK§àYÒMt Êa¸Z6͸oO
+¯«4¡®û²§Û+´(b at 2ÒD5UÃÎľ3-Å;kôÔ浦¼â²¢j°3KËÊ!;õÓPmÙU|ܧÄèâļ²´ \Úx¶
+HòÐR§,Ç®;vWÇn|ê^UÂÜu_w3ÓÞÆC13ê)WOÝ%[5-<7f£mZ^¨©,M iÇä+èc î]ù*úæa±,TÎسy²~RöZÔ4íö¥uöal´\áÔV9Ox½;7-ã·wOGô9 @ ÷ÆXç¥ó¹p:Ù%ôºÓÒØT&+µr¦D ðÆ£³<ÞJ%R(2Vé(6IGt@ÀD
+sEª?;o+ÎæCQrzþÇ¿lÆFºl°G`ºNÆÀh:Þt
+
`-ÝÚ·þ2æpiÚ§8]ëõ~
á
+14©µÀêI9ëÀw®3Vu\.)H×ÃÓ"HIChèÂ
+ZbëõRt\UDZnÑë©JMë°(6¨·R8U Lð`>Sì@ÍYEzÞ
++õÅüZCß¡³F1l{
+;e³Ø&T Bç÷rQ5¼fìS+Ñ\;ÎÎ:õó)p¢Ld±µînÙmJcôñW=¦]3ä¢K©ºéÒßã£%z·Èr9ñ(ºµý¨Gɤ¹G
à¾ä|õ¢Jêæfp«@\áUʨ8+Ò½2¨ÔHÜj¯oë:ØF¯!Å}¡«3ÿòÐûLz¬Ã8h²Eã+ø:;ôØ)J¿öXMi³]T¼j¿á´9é×/4uªß=Í;"-9¢ !ìF·"r¾ó]áèÜ÷æì#ûð¤²=«æVÿ8^}JF¾?^Õ¤I¼Ò=ÉáL+¬]´Èz+|7,û:Åbvc
+0[%î÷À'¾Çz.¹<."Ýе(^¡*WJì.I᣿X»v´Rúo
+¡EÔ
+~ûдM
+Ôè#÷{Ãä«ñ9HÌ9òsnÇKÖyËÃsõN¦Èõ$×Z½oÉqD¿<kUgàãÉù¥ëI_5¢ÂGº=Í<kÕ]ñö¯I*sµ¬ø;¢0Ú#ue´
+1ìý¨â¤v%©®:«(jÁðVg¸ÇPÄ#ΡbBÐÿë=ÞS^¯È_ÁëïÔ¥¹
+á
!pa°ýrá4\¬9ªo®ÄcÅcáû½ ÖÐë<§_Söp%ÈfRç><#Ü\yùÊR)ÅK~$ÿBA=½¤~PVè)Îê1[häSSÝïʪtcN4£®23Ív:¶&iF,T:ñDP´eg
+WkÛ-°ä¬l É
+nùØÒðÙÜÃCùuZÖ÷Æ/où7ËóõÕç
+45HKCàøo¿l¿þP¿ðõ7ùÂîØàÚ-â1ñóö_é$Ì
endstream
endobj
-87 0 obj
-3574
+90 0 obj
+3114
endobj
-89 0 obj
-<</Length 90 0 R/Filter/FlateDecode>>
+92 0 obj
+<</Length 93 0 R/Filter/FlateDecode>>
stream
-xµ[É$9½çWø¹!¢µË\¡çV0aN½Á@ÏÐußo$Ì´GTvQàdø"ɶgÏL*qËÿþ\ÄráO'U¸ú
-®_]þùÃòßøþ}ýýéõãIúõì/Ö³Y>~Y~Üå"õòñÛ¿¹èg·ÂÅ^NîY|6ï¿Õ³×xq.>½¨Ò{^ÀOxà7xúî¹ï9sù÷Ç?®O_Úå(sÞ·ú³M˱q9ÆÁ°êr
-cìîýr¦²0â)~½6zÃ/´'óì¶xÕñµôÌÄÏóÝ]ÕyxEFqq*ïÈ×ùiN6ÌÀÞo¨r/Íóàüa¤ðD ü8=ZÓëéHepú4\¼f };{eËRîù5n(Â;L4²çiUôZuTt·ÃEÅðíîH=fb]+ôÙQëJµHÍ«Mðñ.þRn:òã1
»|üçSyÓ¸z3ó%KßÖ+ðk¹ãEA$Èx¹$Q.ïøxM¢ÄF')T×àÎIÅfm¾¿Î=fâàëáÞßõC\º|¼fÅ$¿zÃP³{êÌøY{~¡¢tÏ«:RpBêýqåèî9öåD²äÌõkAeÌ8±ÙüYu!nºÁnSaT]©Yv°ð¨¶
-£ ìT0iÇjHOðPA¾CJI:íwéÕÏdkm<A¤l'}¹7Ì0®¬H ^˽éµkf®2õ°k²1¦`êã9Òh±xɾC?_m;W2}#:gà5JâW=!àA1M"ö,ßøϰߺ¤ó|Ð[#4â«G
0%V*¿W ¡¡È桨È`©5Í`w=9D5a±5`qõCX£3i1¥
LBrSÀÓ¡õHZSS,cÞÔ?¤¬¸·Ô¡ÈiBXËb
-?:¥b!^¸ÁÒ¢êTìE
hi+ËR'm<)_¹«0ÈBBÖ
-êB(ÏàéÎÚURÑ u¹_NÚiþy³ãBò.[j%¬ehV d½>êDÞ$Éñ¨°iÉ$½_÷Qi¤üÖ3%Íï
-ñ/aâmüÎñ!r¬=:Ѹìï96T
-ÁËb"ö2üm+sJôÆ>jseXßÒö¯¥kN=C½jM¸~¾$§´éÁ,ážÃP¯yñÉ8bTP,ÜË_G?ÙðÄI%mCj=ô
Ct¶£f) ¶ÊO
-áÑÂHÕÊ0qLjõi)
-)¬UHdÑ1èXí¹p¹OòõVe)á9';héo6
-7¢¸¤Zcd
-]H*ò¡dÏQQ
½ÕÐñ¬Ð¹@|#E|-{cÃ<îKÆ4
-I?©ë!Uâ;#·¡k:£U0Þ[î*ËAaféWì:Ëç1X)Ál}³{ʺ&!¯;Rø>#3/×r¬»vmí
-¹\s^=UU_5¬Ïñ7ð°aRhÛ0EG«<ëÐa©!/µí÷líجlW¶^%¬I½f½*2~åQõ]ûnX2|NÅÚ¦íx [< uÄÕþç#ÝuhÎPÀ½Î³bÍ2mÁØ@9ûu:¢²ÁÆàÛ8lZ{õJví;`λ¯E}6WùúàAk]r
-+Û4æiE6,9uÍû 6©í7R
->ÂæãÝ°l¶j¦¿ÇnÉ«v¨çÅQ=PÊP25ÈNËì§IhQ÷um%Çül`0
-ñÊÙi
¡±ìÞµHÙÅÀͽ§²·ôËj©³
-ªVÂ&Æ@×HIÖÒÍæÎñ±KìrÞª5ô1"ÿlÊÐ"2éÔ
-Äi0ÿѹé}j)L-ÖÃm[ØuíÚãÛ¶£aF´²(ºß·'XÁôtüQ"9¢ÆsM¹ Y¡ÛòÉ;7à9¾): 1äBFÜ:qÀï:I&76IýÀÐ7ò_ܦGMRýɪ£æ1ëYbxÔgÏ}øûP^®3Ǫî`¶Vl4i0ay}/ڷߣ§ihˤ©6Ð.«áÖ:Dqçpzõ|ÈCoÓ
-ßHÃÇt5îÞ=7ØoöPÜï+㦼uvDê}£õÌVN2·äröF¤@A°{Ïò:Ça¡9ÅPmpò²n 0+÷\»án7iØ¥2$X!Øu
-Z
-U01ËçÍ
-7òÈ96ÙW÷lNô±§ ÕBkIÀóCn{1Í{þ=-g*^ih,)Eÿ¢q#ÍAÔä.@:ÙggxÏ/û Ðyæ;1ïT2é¸NüÆj¿é^=²E¨D¨¾;Êä@{׿w°8ªÿ'98Ò£¸7?DûH'Ô2BXÂ
-oB_Ì2`³YlÐAð¯¿.¿ýH
-<"îMKzôeùs
-¼i¥Å´õ°d ïÖÿîÆIà¾%ïÛåç?~üéM.ïÿ[¾Ñþ
Ìf|
+xZÛÜ6}߯ðsNt63ã¢)è´Ii}Éï]¨±dï&È`ã±(<$©U˧ïZ~V½mà3&ü|ý²üñÓò/}_ÿ~úôò¤¹ÄÅ9ü|ùkù°áZ//_î¶h7*Ø°
[Tá|\úeyùç)DxUáªôý=ºàñ3oýÅïoAÃ)T`i:¸ï7»ü&ÈXaÏ-úCÙÉÆî{AÏï/Oô±Æ^¼ÔÇ¡>ôá}§+îW
+KÀo 9î½Á©¯FE8]H w9cÔ[Îh£
+¬Ö.ZX}½o¨ñlw·Kî>[½gÒ%í´uXûö´x©çz rß»Q.´¸^ýË~ÝC"ÉIU,D
+ÏÑË~,¥9á§1¤/¾t vt¦hAr~*a½Þ§àB#S£ÇyøÉZÈÖnxð^Gÿ:ð?è8ÛÛk=·ìGõ¸V¼VëHpþ{ÈÁ¼¹¬ùs{óÍÒpغ¹0·½#ø%´ìÔ
+ßÎø^B TÐ)5E ÀìÈÁé`0írâи{Wl©xÖ¬\³Bvîª$@A÷A
ë÷ÖrNBpS§u£bä׶"ÇtA.ïf#:@ïgû¢tU°¿0»K>s/¡ÏsLÊo ÛQ¶_§2N¤!ìD
³SÐ"l¥
+¶5G
+ÐM8-ðO?\18*C#ß\I,II©'½Í
+´UÙÌQ±%§¹V|ÉÕµ¨" ¶|çk¤&Gõ3ÛÝ ÍHµòiß{˯
ä|[&TàQJ¥âeQŪôUlm¨öµÑyø©iy1ÒÛ×:ü"sc«JfÜÈháML4»×d_[]µ¬´.M
+bzADªâVSËÚ(àH^:Ì 9üÅiïÝÕ;¿¹«Û´OÞ¹?ÍIÁ>t,ó4¬¬ã{
+wDl¥ÖQé>ÓÑZ±0^] å*:P&:[ÎÒI:>éøÌke<PuãN+60æjÉB¾vzn¨nhÜ;Fh[ûZ̸}·Ì
Oh¬3ª2ÏØxÏ35©Ñ!v®%`aOÊ>àak> Ãç³ÛµiIe&ýlÖòÉA\p<Á
Ó¡ÈF;¢ |ɱ$¦¸á7F^]jÁ
+CÔíý
+tð½7yÊ?údß3OêÙã¡Î¾±6p9Hq«ê=?¡ó?L×¥3h=À®;PÔ®¦Ô
+à[¥ø¾Ú§9¥¡X at 2ȤN"PkÌØräPiþ"02¾5Ï4¹ÔL
+RzÈ°ä\ß@êøAÛe¤YÞOüVÛKØ
+"Ö
+4íÜ¥&NêÒ¤>ñÔ0 &;tcÐ
AàSÇíÊÔ§^µ·8&ÑÁF2ÁȾ#,Í&:RëÕg¹í+sãÜ
+Íæ²Æ÷=_
0W9ª×å!J7ÔiÄÖ¸×,Ø( ªÔ¨¨ò¡Ö'wÇ}³Æ:;¶æ©ô:ê"|\e¶Ê!×Ò+³>NrnrHhb]|¬°âZ "&ÍÑÕ¼_µ`?QîH %÷ROsw7#k qC_,§å¹+ÖIO¡FÍ®ÑÆ¿<¬©µµ«¾0gÏ åkÖÒiP
+¾>ZcÙ,ps³P¢À*»Î¡<c%ªkøÎ$jº5{ý²|ý)¡¹pÈ/>/ß.±#6ÐÖcSÁØí,
+=÷âm¿üùíéÃoß[nÿ-AÖÿÙÑÐ/
endstream
endobj
-90 0 obj
-2459
+93 0 obj
+2398
endobj
-91 0 obj
+94 0 obj
<</Type/XObject/Subtype/Image/Width 476 /Height 330 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 15790>>
stream
ÿØÿà
@@ -1664,757 +1705,712 @@
endstream
endobj
-93 0 obj
-<</Length 94 0 R/Filter/FlateDecode>>
-stream
-xÍ[Ko举ûWôywø("`4Ðãnr[À@AnÙ]
-¼µRáÕyº~ÿíò_.ÿ
-/éçû/ß>^¤WuqR\§ËÇ¿/ÍEÊËÇïÿ|ç
-Þììàö¿ÍíU¾éûí_y~¼üºÆ
-馫»X'®+/RgÆâäÓ-®ÐÀ~ÜÂòéËáÅÅQ,Ý
gá ù56"E¢Â¿µ-ña£OnLÒæ^5˺FÌEñÒç)(mD÷éDPâ
-ã
-&LÓ £ yÙù̾Ê.p^ ¿«0Ûõ³Y ÓW6.øÃy )çKгà¶ÀÁ°ØQ2¤lc3ÿwÄ`¹xP¤cèBÏ`¾f×6v#Ó8Vê»8TªäømÈÄ-!¬3®Ê¤$§BÙ³u÷¼öG"l#ÈTát¥<³r7y£·1¶äÖ:6 ÀÖ@ò¥ ÁgSO{GvZá¸Ägïþ~ÐÞKb©zBõ÷@°
-¤8M59«RfI®Íªu? M_5ýÇböbdÉqpO¦@·ún=.3Õ½µGëÚ ³øÎhdB6a¸4X[IÙ§ûÐêJºîÚ÷+IH£U¡K³nâ<zu¹âü·#üC[ï/øÙÃrsö¾3öäGÿÒ}TrJõ)_s¯ÖOÕ¤¼>Á£kóIµcÏð¨}G½ÕòÈ£À+ky
-{ÎñÌâåyµcÏð¬³2iν±²
-ÅÿîÊ[Y¸çÉÑÓ*?ô1Öh.KÂ
ÒǦ{esår aë²Sútq§5R÷Ó¶#Ò*
-lKÐUÕªøÛ k#i²$k«è
-ÅIyu¯o!ãêÐÆ0&
ØaîF¼®}CÍ
-ZÜÐ[B@礸wËÎð«jê f©\réràKö+ÛnîÈYe]ïaAiãçbZVfÃMxC±À$ëVeãúlÎÀ¶Nw0"Ôv²á>4Là0¼2uÐüø|Fzôî ëùYÇÓ=T'iÁ!2ª¥µ|*ØP$.Ô»¡¨1C¾Ó
þt'îù¢ÝMùÏðI|Õø1µwH_ïäLwöæ/´£ÍDòè»uhOÏ[PÛ)ò¨i¥'E®ò*ËçGü4ÿGß¡2
-R´Ð]BFBõHÈ»õîN0¼¤é=¡Iæ§)äaäu/GQkOÓT¥Á7RC×ÙñÐPpÍ oÿªí9ì:jà
-C{A¤.KFm®Kyaæ²í¾PRRñWêƺ] =hÝêkH}5½(iÔ»WZpÚö¿ªììbtϱ7ÒXËñl9Ñ
-çÐN=X{ÏÑr¤ìR} ¤0QsnS=ºsd¦±kM)I»Úº¾
-¿Y=ùÿ1 R>6Ìæ;£"Md¨ðÉ·üVÏùOpù=̨´§ZcÀ~¸zùmAý|/oç2ÌsDÌOô4!F
ÒF0×Yµ4euCGÇâPrnΪcéÅ1j0rõp7ǪX¨1@²¾ÓÜc<y=KeÕ[ÑS5o´Cd¹º±Q3ÉlجÐv¯¤kê-6K¡TU~<UT{ÿÄ¥UÆ<·çiJÞûÊ:ô;íßÌÕ1PiûE ®¹;<ÖÐR7rïj=@ ¿ÚÖ¯;kÚ*«jè``5Ú{ 75#ÛÔiFî
-endstream
-endobj
-
-94 0 obj
-2951
-endobj
-
96 0 obj
<</Length 97 0 R/Filter/FlateDecode>>
stream
-x½[I븾÷¯ðyv¸I h趥Cn4à ·ÌC¼Kþ~ª¸©¸IòëF¦1z¶DÅZ¾ZXWyùïË.âò*ð£
-¯n¦ëÏ?/ûíòozx
y«¦ÿ.?ÿùòñù"A^çúª.ÿ¸üeò2_>¼9áUöng«oÿzY>_~÷Ð_ëàª{s0Æ(°ÎÜì5J¨IÍúcô>-®ö⺺Çh¤Þ:
tøæs>üñæ¦Þ¬¼½Ê7¤®ÓíuFÊn·fï·WxÃ
-:õÀ8r¦vÉcì#p8Y½9ÀQ¼¶ñNâgãß^8Çù8*¾âó
^鮽½j?ZN¤ðtò£%¿8îÒ×0¿ýýó¯=®híJ® O¤ FÂÅ¡¶3`ªvó©3a?qÏ¥jÇ^qîJN[¬Ì&ù8E;´«³%½4D¥&ÏÄ4B¸am¤Ý½eW«Ìt*þu>ÅE9U/Ù¸8{ñÝIa¿QËZ·©Q¡;2W(sµCs2Áµ
-e®úÔnÖe(Z-(#DR¸eCh-«°òäÏÞkýÉÖ³ÒSÔ/Íbl¯by§ì2~Ï¡±ÑuÃM6#ÝmÙz¨{`®P "îlÞvXÙ]TÍ ò[tÐ+gId[}Ó¢wdãêµylzâÔ)§ Àûjq} XÈ¢æòõ\ËH6ÿnÈf²Ajê¿'e¸¼D¯ÀUks7`
ç88L½W»ÅJâWiÁá$Y]3®¿"Z6 5Ä{A-
-ZpÎD
-ãàṶ9Àxzì ªÀ¡
-V£ñÑ0å««Ø;_bÖ(À=Á³Jcñ¤|Âî0wL`@-àЧv¹¤{ÞNSÐßKn£nÜ£Fo±×.PKÉ\KáøH¥
*¬F§Û\£Ê3ÏãvýSÞÎ~ĽáßG¼Ã45Þ1ÌÖåðKÕ©pê²
-QäòuÙ#O.ÞܧFZY¨¾Ê³%T"eàpªEeëI#gã1ÊkjÜ ¹;RXa,!á#ên
-À+\±¸IÅûA¥ÖLQázÊ<Z2gö¼I|jý¿iw%O`¸¯8ß(P±úãÝ%Ò¶Et
öBÍmtX9XnB¸XÈße"ÙÑ#D5dû,ÄéXþø2sØCÝOÅ8°«\7Û)PìçýÊL|+OÖ
èò!À½ÅÆFÇsÓë²*£ò§hºÛíÿ(önæÇ
-?Ñ&Ê`Üd©À!|Acµ£,ÓÈÑGú)e¦úTS×ØóÏÍåjaó_Z^0v4Êú¼ ^Í>¦Ê6-úÿaª)bR¾RoæT×oéÕõtS´úl{ìÅwÙYÎÈç,äÔB^Ö)±½¬/[Ó¬I9;àòzcjè<´%QG eè³|È5Ê©P ²n¬¶JÔÁÕy8ví7ïo«Vu>7ágç|u¢eS§ÂYÑúÄÁéЮ¥)Ó4ÛW!G' \%>Ð)ð}¥L|yqʧÛaâ»÷rãgîµ¼;RI=MM9öÛuèÅCõyTËM['9¨º}¿ät?0jÖÝM«{Îx]*$÷
-HªíX4Cqwrl;ÕÏ
-¯Öð>:ëß&glùG
-c#GÁ{·¾ÜYý¿¡Q ro«ZvBuD|¨þ\§ç4Kÿ§0Bº½úI¤s9½f>FXä»ÕBÏV/IÞùåñwÚÖQWV·ôæÌ9ȸ)¢sF½%ëLíó(MWu¦¦ðø
-gþ8ÙÂ\ÍQD!é;ß·ÒâÎà̳ðð¶$;mT¿§¤¾)ß«¤1Üüæé¾)«{3KÖÅz³i§!EJÊbG$]õoàiäY^¸òqfo¾MÍCçzÑ:sÏqÕÍ6÷VÖÈSé«£ï·ûÕQ(ÎlâL½
-Ãf
-ЩAªQh¾kÍöê0ãôÉõwÌÈAû CLü
-,Í=WfiàþrÑî¾Ô4µ}
»=yÞ4õ}@Ä)ÚIkºè'ÌÀ:Ö¾÷¤´s1v6qÎj0CãªÜ[»o¡&0þmÈs-¾Õ
-ð¾¦û.éÔ|bòâþempw at N*hÃdâ$×[Cc[&|F®Ú°'åÚÎmøÕÀö·çSZ¡ÁÀuè>ÃSr4]º[ó5¾Ê_pÄ«õÌ}Ù=Ó¸¢hÜÇâ4âÍiäq/&÷^âÊï>¸i+\YM®¡uvÚê5ù'»½)»¥i SóýöÕ¢ãT¼Î|dz¾Á'E-ç\búC«døLzpPöa(cãN£(ø¨Ut[¾>ÅæÃhÈδE"45eä|\Zx]èuÒÇ>Öañüm_¼pÂ\nqýW{BZ´BÊ7È;a'ͦTd^I)~'ñµFZMÑD+C*Ù´ÀS,«ìT.Ðk}1®8ûàuQ4x|ôúÏ#Ѳ¤âê}`¼(è*D
-3aC¼ì0ðP¦bj~Rø§ªé¿9mû"/TÔyLÕÌWt1;èÄR¬r ¬Ì¥ÓóQ8£ÊAfO
-wh£>Í®¶Ý8~Ïhkúê8ìÈÇÔÞɪjµ9íüÒBuåHµfhZµÇvÊò«ìCjÁ¦3{NÌÙùYÏÔ#ý
-lt;ÖÚCx¯90¬3'CUIáGç,Å©¡aÛøS´Èq}s¸Oë÷f4÷aÀÝHãHÇ&Ù¶Vìøìï[Ù>Dt&µýd¹T1»J-Ú3YÞÃRým^B*:03ý*Oør^~þyùñ[Â|K%#áC4$"<úýò?-p¦
+xÅ[É#ǽó+x :÷pHÏ2ÐÈ2`À<ý¾cɵA²[¬zª«*3c5êøûá¿GuüQô1h?cÆßÿqüåãè!þùþÏ÷VæQãÛ¿ÿ²á¯®;þät¸Q!kTpíÃþ¿E÷×ãÇ¿Áì«~
+::xkgÞßB0ª¼å·RðFÑÝÛÇáç%ƸüU+¢$lÑhná\[8Ns4Üópeàï+^ÁµÎ¹¹éwéTgdþsàö1!À>é^
+ý½Sxî$p
+HÉI'z£OA<QZÅz
+9ìݪ
+ð3I³,Æ#íyÚáärR÷9Yüïø÷¿îoË:~|Ç[àZ%<-äéÈtXTÑçÐå§Ni½|'ô¯Òçl½<
+?Mè ÈòV°ýûð¤î£Çõqª÷1V!ÙÎà
+ÁIß/Ê<XU"9;0C0CoØ
+4¢Õ¹^¦0íÍöæXSìèÿåy×pÖø5
ðõo:¯Õ
+Íó^s$ÊlÍ|¬î9¨åàÍõ¾Ïå²1|álT\ëäçfór5t
+pk:GuÔ0#o
à¤%@ÌQ#ÈzúðP§Ï;Ì.8BÕê¤fóýPqF
³HX&I@g&gSåÙt;PDè9MÎ
+]Af®q²}æy
+¾!½îÒᥬ±úèx-Õªt´â®uAÝÊkàÄõj;1¯ ¯ÀT*öÓm®nÆ®CþC3÷Ht>º&Ú[(ÊÒéîµÎè¥
+m1³e×7
+hÛ´q¯Tìèkr¥òjÕõ¤$6é£]¶½¦â¢DÍuZk6Ä!pj+3N1¨zqê¡6¡cLnÏ#ç(CYTQû"Ó¹%:¥Þ híEg»¦÷sSÌÖgäØÛyðº#¡Ï´5åÆ×R}¢ ¡-=j!yB3á¸Ç¤Ã7 w+J³$Ü
+ÓÔB{àÏHufÕYÞØP£yÀÅ(2¬ÿtXÇwØÛWªó=ñí:Òsnê©N¤V¶Y%Y#áXÑ×1göïh#¤<D¥¬ 1ôD&/°ãû[X Qb&Ë-ÓLÐTµ¼epC«ôé~Rûòä}¹ü÷å÷_TÒh\ rWg¾ Éz¬Zß?Ý6I×lóißrù;§}kú^öýôeTËJ×[Ë
¶1FZ
+½ÉDZxs¯ À-D-»:xr¥êg>
+Ь¢>Ш¦vµß»"÷£Ob5ø>¸~4ÈÔ"
µ«S\""îvû§gÄö«ÂSîsø4=>/Ò¢(âù®ý`¹µWÕ¤}u;twà{°|¯±W}Ù²_Rµ4ÔÏ ¸×È$'Ýbø
+èJM¾ô°xرÓ@Ä"
;vwò§¶ÝzGÄÁëUµÓºÿ\çîS¶ò1Mï O
endstream
endobj
97 0 obj
-2977
+2679
endobj
99 0 obj
<</Length 100 0 R/Filter/FlateDecode>>
stream
-xS=kÄ0Ýó+<Ú?î.º:ní:zKÿ~eYö9i
-G q¤§'éI?Í·¢x´
-ðíÆø¾¾çñEÎø\?ÃÒ(ÐÝ(Ý 7ñPJ,IÏ^O68¾5Ó¾EÓ`oý©>ºÐAÖ A%CÙì>rLYÆì-¼2Q=Å;ó|N&¬ëëtÀI;Ñ\§PÈáàÛ>Vp5ñ*¬h̤O12oºÚØ>ü'±p¬Ô1k'¦8 ÷eüëòÔÌKsÞØàGÒås/"]×oVÛÙ°Ëæ5Ém
+xµZY$E~ï_QÏmÞ0S]íóÊÀUÜÿ¾qäYÙ5³ö:8ÛÓUÇWåßË?X¾W¹8©à·øûËçå×ï¿é!þüòó
?|ùãòúvQËÛE\ÿ´îj/Âü¶üpW¿H½¼ý¾ühnÎzíµÎ;«qîî»9é×?-o^¶·Ë§²o
.øMñO)¢ôZ `Ýæîî6ølð([ï\$ºÁ_
+Põ?ÂÀ
[át+ððb|\kµQJÐûÞÃ)ø}xf@^O m¼wwøWÃ*íàíÕå¤[]ô/Ì =U±î¿k¤@ïºxeoý2±b"´ç\ÞñkÄ@7Öø'¶jCù»Õðs·ÁÜÌ:£Thiwü
+°ò¦ÿo 9e¢f5ѾkÌTf`×jÌã¶ÝÚu!ëÅñiUI{+hË¥mÎOw }h(Í8ý¦Y
væt¶o²@²ø> ±ýUÓ.¶2
+?¯¨j
+G&§;ª`~
+ê³ 8B¶dfð άõÁ¡D6ð)òùÝ.}#>FN+âódýù ÀtÀNP°WÙÛ×À
+Nôøyg´dª`'A6ÃþÍû£aÑ(gIÙNyQa³Ü*Û®G¿UËûĬgý°éh{
+½]Ý۸ͯj.F¡)FUгi
+ì±¥,ç¶é¦;³Mkå OãÐÚdûÌ°d5å
+õ.^$ì¡o=tYxm=d«¦TmÙLÚÅ.2ÍIDÚ³¡p¼kÂ
+½IdÈr§z*ûS õCÐBõ5/.µs paý$àRÛ>°µ-9ø´^ÔÞ7Óým&yÁJÇó¼óÚõæÀ»ÏÕÄ °WM=5ÌP_vÙ*õÝFKRp"[3¤ÑÍlq|¸|§¯åz(Ã
+Pp\hF°/1÷hæ\>COIT^ï¥øú1È=¨õ2Xü$Qò8âMçáo»ß7(
+|#Å,«¿.-QR &«MÀÆTÖlïü¢ÑD3µD¬x&ºÖó>
+®1²ÍçÆjä;R²¬Ä(4^©®Sß8¡R÷ 7ún¨äW¢%;âhùS]q´ª
+©xyÆA¡xDIB¾zDÒ¹WxÜY.ßc릤£8ÚêûMi¸ü üAv=U]|!j
ÅðøtïÒ2ÓCô7ÖÿÇÝËñ8e ¡ 7A'*îø>¤ÚÅ?h{ V~0 0TF;;J Óx5°Ûúf{ê(å!Í3] éSIR
+î8Ö"Ýf*]3ÕBRÒsÇ'+FÇvPFälOÝ(½Ô4NiKeW
+KëpÀp{¥ Û³ZÂûiMW4×lP=èyQܨ-qJôM1÷V
+3ËXÍmç³IÓïж¦9 äÇÃUg@Ñ êááeoÞ[ê±ìL3GOmz«t-bKÛ&¦i(Jz%+-M$nf¼ã-²råiÂAe6Ï;tn@ȲCÔ¥<XeNeӴʽÎÓÒW¢Ç29¤^è³2Ne\¿Ç¾AV"Ym¯]"}õ¬bäõªêy0ÍJóÜBÒyæq¼±ÞÁ1U{Ktu5«ê±Ak"3õ87[Q?âwµ+lìE=ð4ð'µE|Ð|奨y#Nm¤v±éLµl¶yQP¹ÁJCiæÚÛ7¿_GÚizÑ'+M8Ì>U@SðÓÔ{×Í@:[ÜeM~ª*kF÷,z;^wxm]mK&¼ÀÓîS®Ö·$¢Úx×|#Åâµuh¹mr®Î.FZISEÐ(Öoù®SmÒà_¦Ù)-GnËÄÞW² ìÌñ.âͧñÉOµdä`ÖF¿C$$U%ö¸yëÑ&]>>þP¢§Ð÷7íAJ]û,Qµ\Ûçw¾Ó<OKË×{ÚKVdinHÑ¥1´qʺÉ<íÀp;ÍiuQj7óf|µ<á|"ƧûKtÍ~ô&hÎ;¨
+%=ЩÑ-9Ê|±q¾lC
+!OÞ¾Qó¾,öä9ÈÈI3ødõY¹MáKn\³¿ì[tåBUÍ¥ÜÌn¬YÑ]þÊ7Ö@G$y*°N,ÒP£×Àöw8òÞ ¯ÞåÀ²Rxp^÷®¡I#"é^´Ðan5ú<zZ7þ²
+-BEâû_>/¿wù´ür¿%}
endstream
endobj
100 0 obj
-371
+2503
endobj
102 0 obj
<</Length 103 0 R/Filter/FlateDecode>>
stream
-xÍ[Mkô8¾çWøüB÷J²$ÛÐîöao9syö°°sÙ¿¿Uú¬ÒíN.C ;±¥R©ê©O)â*ÿ½ýwÃEÀ¯V*øüüëÏá×ÃÞÄu6bòû¯½a⪣%LPâºà¬?Aü1oÚ8ªB_õðùÇðmä<|þüí&¶õ¢nRH¹ÊTø1º'Ú}i×¹óúûç?ßo¿nk$¬ì(«a´²V±½[mõ2ÞìÓNHKþð§[B c¦âëÎ"¸»±±Òúüwk#HÅ >Ù3Z3©ÉÂøÛØ?ÉÁLòjýd9Há÷távÔ
-¦^ômÒ«ÝüÝ>ñ¥YímRëEâ{Sw¿Éu¾éçzo¾à¼1²Öÿ:20y ÔÕOZÎ&O-_=ÀWx¨%ΧÜúe¢:rÓ|
-ú4jZ5¸rlê½éc{2laP6
-@ê0ÍàÀmêÈv÷H88*ì&Ú¼Wà¬ç?ÀÙ½¤\Li"î³rÏHÅ}Ú¤åµÁpí¬¦U¿ÁKÒ©!rÐ8U / P`à_P G÷QQ¨ ïï^§Q¡;ÑpØÃÇ;Á´×ÒØu{8lUtÚl;BaJ
h©ö@4j¡5(a$TÛCq#?!dè*H|a½qaèBðÒò5²¶>"LúV(9-F»ÆA²ãä²ÏºõØAP#q¬Éé=HJÎ=,u1â±BãGÑóѧ¿©ÌfR l¦´è]rÜ%K3,¦²Ë®-û"æjßçãcb̦nP^3}½ìùÏÎñûÖ°¾÷É#-]ÚÈ\f7:ÓÍÉuÇÁL
-0Âg2à
-øv,VÅWdGѼ /¤$Lùìn
-CL3B¸Ý¿áïX-H'®f&3~¶áÊOúÐxÈÎ;
-£,jǦ
-§ô;-ÏùnȸmÓÄQôQRÑqVÁ5ÖHÑZa[*gƧ#/Xwë#=b)PÖGO¯ÃU¢]¡dÿz¡8Òrêº(è7ã<@åÔIQ;ÑïxPZ,M
-þʦQ?VAá.LQ¯0îó²Â&iJcýq,Ùy
-ia"Í!³oZè«k®}áÐÀÏiG¥!G²Y<tóö3> öF6Í'þÈêKXÌe
-3áLx%¹O'1éÖ®sÚ8q-ÑÙêʦböá»
ÙÚÜí¸~³à¤CÞ[GÑ^FSàëZÓaBÀiEcq¾¥þüâ»õ®âÆ#Iþ¥+a¹ç!Ö*;Tò4ÕMËuȼ'ÒÊÞiJ[¤kYi3Q«Tz\Ç*·º2«pJ,"0B±ÿVðfùÓ6o#poth,Ã;×±H
Rj¡4=BJ&¸Ã´öÏkÝ¢ÁXÐrÕ*5Ûss´j"&I°LBú7¯êÄUzÖfG²ßw-üÀ"½ÓÛ£«Éb˽ùݳ¾Þí׸Ժ3Û˽Bäª6;bñ¸3¿ªòÏ2ÚÊ"¯¶¢Î
-¹Ky¯úsX
-À5Q-u
-J^µÐx^ ÚI9«µÌ§¶'ÑKÜñ´Ûi#~§°"-c«¦
Î|àæAó,0wË2q2 at y
hÇÕ{³¾ª.$måU*hÂDUÕoÂn;õ[D+#ç{É/§C.º1¬µ{¬-LµÕ¹Q;É:zdʵEÆ{àww4ùÀOïKlºØý.©!UsnoîÚÐIÔä©`ûûÃ/u½>}*O:):ÐíP©<l«s\ïÄM,£$-eCY×Rà¾Öç¥h<£èúÜÔë)´9Ãο£7ð/6<Ü7;rÉJ×(K
-v5µZUæ¶FÝw¡ïÉMHT]ES¶î'Zæ-BT#8WEdJïEí¸Ì¥¡ÖC X[rà©5®îBYÎ(2¨¡ýêÀ¡Ì÷üÃê/ÊÉVI áÝ=ÁMú*OÒ8¢i÷-òª¾ÓëP>%'[8Ó=\ÌM-âÂTͯÞsyJó++
-Þu+_¦}7|5o¾¥«pq£§©ß=Ïí`¸èi+Ã4£s¶Õ7Ï?ýÚxÁ«gæt.îÕ>.ÕÙC±Eªîʸ¢IÂɺ·´Ì2îÞcSØʯ¹:ܲթËLg\%X
-LiEÿ§I5,þ*ÞË×îðïmI|&ø½}îÿ_¨1=ÓGz¦Ù÷ágø¯¶EÜ[ñHEâ`ã2|æêÈ;zø1Å
Æñ¬lZ·{ùP<1Uð[¬I£Ø9xbæß-8%¤=-UC*àïK7XÀF§ÃV*TëR
-Ër-oçü
-ål/Ç*ö±¬=@SìFÈGÝÎJgêÕK*éÖUøN«$Î4'Ýsâýþci1,5éESÏÿ½lC³XMuÖÚì±cdIw¨yIªe%Zñ26?;ñüÛEMx`9zP}æÆ
ÓïW?¼iJÚ
-çÐ0^+ôªÚʶ+/U°ÚàCç54åtF</íò(Åta¦ófQâNrÀNæÍÀÚÂXk1íáähr·K/õRwéë,=]si\ù`Uñ¨1ÉòômFÁºÐWW.Ùq!zö8÷-Òºön]`¡nÿDîûÚ½·Fã»èñ/k>ìÙ¤ð͵[!br]â¨Ù*Ç®cÞÎí%ËýTòEJêzyîoºîëe)ºDîìT¥ÏO]½Õ¦-Xn at z_pL¬¸ÇbùF2ñ`è<úE±w±d!Õ«q%¥ª4;
«Ýâø«3»n¹µÃìbráMôþ9IÎÞMVZÇjýÖîû¬¹ÐèQ/Ñ8ªÍeÇI<lZZ×OOPWøFÕåëʼĪ¦ìä/þÿNzH®3¡Å;` ËÙô[ä»ütPÇN¦Ԣ¬¤âHÑ!6ñZé³Lc§7ÓÌ·Ù¦F#ÍM¡@°\á[ì¼¥Ò°|M(²pû;ýçZqÔý¤áÞ!2ï@ô4SøÿíüùÖÒ.î):}5áÝ/ÃÿGqÓ
+xZÉËÝ÷WÔZàëxZwðúÿ-ÁkãßwYU·d µnwWN'"N,³ý÷ã?Ùþ`nvKÖÁ×\ñëÏ¿oý¶ýûÃÜJ4µlÇÿþãÃl©x4:·9{«8æÇ7ÿÂß¿>÷[6øÛ¯¿m|Å[ÞlÙ¾~l¿J²ÙäbvÎøð§íëϯßs8=m)Ú[äY,ÌâÏârL5ÝS¯Ï¡Y¬/7Àã¿%¿òlä§1fÏCV˹é²2Ûd/D8c¢Çæ«â'á/þØ{ûú {üv
+åV¶bS[Ã(ÜSÍá"ÞÝe¡Â(>rx¦WFpüÔ+:øYdÀ÷<¦xz3
+ÔåT#îEÝ
NÔÒÍ/±]$[àÓ,ÈáÃxÛ
+
+\{»¥IÚ\ urq,¼º©Bëð¶4k·9¤1ro¼1ë)5bUMO&Íg»ºövòD´ÿ¨ÁþÀÕÎäIpU#â°â!_V?£º@
&ø1czÐî*iÐ)JÇm¨±r7]ÅX)Ì¥ì9äø\Æ·Á½Oó^ ?%s×CîðÝògÝ(Øýäëxe±bkƪÐí(P,{q¡»Çº
+tîMý%A8J;Ô;
] ]Aí!ÝÇ3Ô£vI¤¤·%¿DE?.,Äãàºâ¢=`é´l âo3ê¶p
+ý±µqMê7i<¿/ÐâBJJ$jè&>/tUyk`Æyibfuí®þ&ÆKºÚm^RòÍ%Cíb]4"äw5'Ôü¿çS)[BÓ¼8j2:`p¤;øÌtq>hê")¨@Ì/¤0Ö
ÖÕõDR%vÐ)6Ãvê³:}Bä=FF«HL®k¤²Î¡k
+Ei1ÇìÒ©à,
+
+"ÿwrx¡§¤M
+ÁIÐØäÓXwiçʬÑmd ÙNkjØÛí;`²ÿ$·«2¿ãuÕÔU»ìñ{|tBpogö D~Á¼ÂnqÜ? ÷´.ï`Ö9Ú6òqƽNJ2FîPÂôµ;AqõÈÑu¡ÈÆè¾]ßEoÙ<i¹
2þs9Ö; §ùh¾Ïðh?Ä\oWîih'T|¾©!I¯Å+¯Ó³Uן|`ÿò½!z,]=ÀkÒ'vÈ{ê0¢®=È/ñY¢êìæù<{rëæÓ%^ÌÁæxjQä=`%<6á¼ézxa[$Æ'üïbîxúd«@
+O§FV±kvÚu ô&ì»ö
+÷e+}|zçâ<sð.
+ÞÛݵk<ßcס±OM<\f>ÔVA¾ &.tév4µ¥]^ÆtrÖþ^$<Çw´êr~8¾Ò1Çîñägö¶îßâ]ïÌ.F|9¾áqhðó75<u~lhtß²LsË?l²ûA»º|Ù0ìâP6 Dn¥HîEÇî{hÆ+»¦60ßÊîÇ<¥Q-lä~8¨ÓÐ@ªÓ·ftêWôz¤ÈTp¼7H+³µÆ¹9æ»L£2y§åk]!-Á^vÍã£Ï¨®oµÐ«¯ÙÒaÊ#ÕÂÿTòIcÈo`{Æ-vq]lVçx½$FÙ¦Y].û¥wC8ر[¼Ó¨Å¸K½Ã¬ÞâÑÚ~жb à²O; Ý'"ÂG£_{Ã}?$ÅAã@Poô$
ºèXãç/1¹C£4¥~
+Ñq«<9Å°Ë£Nçg=Ógé]N*éÜÊï.©E\Weè@%~õÍêmë
p¶x¿?Gä
+Çj&/§°kÀF{/ÁûWÑÕ<U?ø+@ G¦òT6³µøÃ]Ï]Ùí½Ã7ÌËy1ø38½ã&,ßϵÁÀif3¼aUz|6Æ'÷òÖ;÷Ry®|æ/ïX'Ïçó~©6F^âE'à×T¿lýãeu¨eÇ6KÊóûö?Ïíµ`
endstream
endobj
103 0 obj
-2860
+2948
endobj
105 0 obj
<</Length 106 0 R/Filter/FlateDecode>>
stream
-xÕ[É#¹½÷Wèl dw
-ø0ÀÌÅ¿oîd&L¦JÕÝFÙ*%3É9Âá¿ßþ8ñ%P{UÆ]ÿüíð÷¿~÷7Ý¿?ÿýíúñ
-4?( G}øøçá¯q
-xÊ!}öû¬ e;z«÷ÍA×ViÇ«¢uÚ*Q§H·Hݤ©<bZy
-½HÎEf¦ÊÕtÐíI¾c¼÷`)Rè# ©q6¸/RÑ©BJäoÀ·ªÍÚ¿|Ëé÷èrÛ
-cK)OTpFÂs¬(Õ>äua<¥è3×Qu¡ËÏD*·¨²$äñhãÇØè±N?Df¶Eor59æ âABôhí¬Í
³è¹é¢æ07ßÔWNèàñÓøt·îÁYMu¬ ÂMë÷E£l¢¸ÑÁźbeÓ+Ó4µDAªµ>ÞR,3} þ>b4ªÞWPsÕn¥óR9
y@÷(¿»«¥[oiu!Iû
¼ÅlÏI¹¾Y4©Ôî>º)h''mâhq£]´ü7âE¤å:«xñKö.Ä,6)+ˬ#v íÚIµåö«
-\¢8
-ÙxD~>ã·sf`ZS[R5ÝÜg£Â`þ"EnåÁ&ƽJ¤Úr6VãØ
-»^xÞâd>1%©,{ªáÃiár)¼nP7¡¼l¨¸ï"*MñÅ&LICýw×KK£çr?QÈ Ã_÷ºfë¹Ý¶bïëµØ"_ªå
TÕÚâJGM«{j²8Ñg{§LÛ5QÂ<ì¨Ö=&7ÇEFFì+ª¶¿©ñ¨9OåOKæ\F FýõÊ!tS%« %+CÚaESbÎÜ×XبÔC¯¦²zb©Ûܨ$n
-j¾$vѽ¦OQýòÅ4òºFûµÐRGE*YѤ>}²¥P.¡i½GAÀÈüÀOÁANð=
-)Ã2Ô%¥3p¥ÉÓÒóEò'ÄÙ£§óclX 2ÌJ`´ãëùgÅbêm³Ã´H ʹLh7¶§]úFÙ³ªPà×-õ\=a¨£1K0q[F0/3¶1T×.ÂÍ
ÜÌB¥¶Ûô+F¤îëìñ fpÿDyO¯« æb¼íSÌÄt¯á ]±´Åñ,èqSÖÑUMJ÷|É)4µ%UõQf¹Vãn¹ùõÙFkÇL4P¤|4.»]ÐÖ7ý
´óøõ¡ÃtAñ'3ì03Ê4±u/KLêÅҢ㷧
-Ù ]ù¹;ûx¡Dù
-³¹»Á¯é2[Wļ¶»éêgYpmÈ©ø¹
-¨E[fW]8fK½~ñV¸n v ]WÄ-ÄιÇx!ßÈRqUÞ(`¯¨gftÚåûòAuuS&TÈð¯¦Y
-!Ïm×ξ¹Lú¹qÔAã§_¶W
eéÜ*O¢q=HöùnúÊD´|±iW"Zòº
%bÙ(ý/t$ni>42±ndÓvoéìóÇ÷Á®1j',Á*$($¸§³$ì#¢·jOv
-µçä³ÛâÓ`ækZî«£ÙÙÆüÛE£=
-¸U'ÔËOô©>ÉIêU;,[u·ô)p,_<=V6÷VVmA¼È¢¶Sb'ß1à]Óµ<Ì0y,&
-=QÌDbã|´Áånѳä3Ì°È/ ¤7÷´ÖcÝÝZê={d5?ªc:´P[X«¾îé5Úq^Ó±òÆHBy¯¹Ä$Ì/Ó±^d6í}ǨÍË1½µQ¸õ°yaQ_Ñyïqú¹j:Ø[4#¯<¹iÛo!Zwµmn:Éd俸¥C<AõÉÔÔd0Kvalyêºw4ûÜÖ¦èá8½¸W÷\¾º§·¼ÉRC
-{a×s3·Òüòóä«8@ä8>Ú|éX×Ùe¦ËwtÎÔmg©ïÿæ
+x½[Éä6½×WÔ9@*µYÀ @O¹|Ð@~ CÌ%¿òRvìîIÓ5Ä'¢Ýæúï嫹þhnö-à÷éû·ß¯¿þpýÿ¾¾ýyùú~±Þݺk²4úý·ëOý¯ï\¿ýùúþ×åñ~ùe;)Úõ$¸¥«µ<+æøH.ùhñÓãO6yÆñçOcø
+¾ì
+)ù$»°õ,϶
+ãlCþÍqþLL©ØDO&6ÑÝÝ°¸O3ÚÍçθù³
+
++3NvPk at Em;òb]0,¿De
+í¤>Ùõ»Ç\¢F ;¬wÐj÷\ͼ"% Q
yâ=ó¿-0 ($òã¯ø÷«°V¤LIp¤D
+k&u»]~=UJ!ÃË&ú1$ô¨öíáµÉ+ÕËZ
+)&L篦óCÖz/"xÙPÕtä±BTuÊFݺ}ÇÇÕɼõ1·_ûÝRñ®1N£Åèò]{}·Þ§LÆm¢L1:S/òëë>4ØT6|Ds{éVK»U
+a(cºI@ÒaÂpiTV÷Ë.7z^à³1âæb@ôÍ:v͹.UL¾'.*XüÌãæ lÛ_r
+WÀ~e@ñÖË!w
+óõîóX1:I&~E3Kº
+ÔÜÔ7ÏÎuÄ×Æë>s½pO̺·Ó¸´u+öÕÔãw©°nÿÚwIªÛávªûh;}hc¥æ&GSõªà1IEyd«G&Å
+Î9ZGV8äEÙ6ýe~Úq/aÛ¾N¡Ãú©yÿ·Ûï×øKó}¿ß!£Ô\Óë
+haÝñås¬7Å.G²ÊkkTÖ÷ÛÝá@¶ô.e¤µÄ4íFÙW
¨/'±+±s^¼F%V¬jQb
lY¹ivJ¹áªl³â
+¡k¼
+Wcyãz,ã|Ev>6^V> .É«+ÐcÐ÷ÛtETL=¨ÇÎ
]&®t@Aßoa²©¨Æ¥wÞÂ:øwª±+¯QUcû½.{ò)%pNë°´§} Æ
+¶½y-c$¤µ¯vÈÍkeªR®-à§p2Ô1rTN> FßZ
*Eïþô >z>ŬuDã³QaK7¬-[èÖXõ¡¡&jÙDñîPùþe57[):à\C©Ó¤Ï6#[³ü¶jÚïxcé¦bÔ!$§NðÔüRØ°âKGϤ[ÀòÆØçP%âÕ
+z%P[£ÈëËbÅG7!~iÙ¾_ÜFµ
+õÈD¼RëE©KãéJWT¤]ÙªSÑ£æjLë¹ÆWu¢n^-7Ó\X5¥É¢÷ê¡ÅÏ$íêeº«}zl×è¥6m«FÿU¬ö2Î\ʯ÷W¦\mäÚµ(n]åZvñøÞ§¢
+gû"£©C¤yîYLd§Û¶×áwË:ú
&6¨¾5z°Ót9WL¥WC[â6Úÿ@¸ÿÆMWqR!JÄi#J6Æ·>Tk$̵2~õ@mãÍÛñOHó) #·Il]ÈÄÃÒ÷Rë$Ù¿°4ùHö\k7B*FÊtÓÏ>6é5ù/||^qíCRÑé85³×ÍoÜ輶ç¾ùºöÊ·ýj ì(rÛV9{5Ê®öÉáßü|zDØãW'æù¯Éª©:=Öx,<<ÿúUÇsèåÞ±CÒãÞ@Eèõ94\Ù_ól¾~qÆ©/ðCÿ[fýrýû_I[
endstream
endobj
106 0 obj
-2701
+2397
endobj
108 0 obj
<</Length 109 0 R/Filter/FlateDecode>>
stream
-xÝZÉã6½÷WèÀ
-÷0¸½rÐ@ܲ
-ø_`l#¥'GÆOo¿åÁ£PixUÞ1_'VÒÁðº¡ðrF4<¾ÓxyÍßÝñÃË5¿óKïÓij©
îáÖÌó»^"Õtü·&þÿëÍñð[Eçb¡.éËXðàß½vIwãܨ¿.[Ϲ¬ñðµL@OJßͤ÷ÕLJ 5-fR/H(¡òFùôQ^ò]+Ïñ¹kËt½/÷Öþÿ{2A·y!åÜ»|¢Gö·XÀmÇ«°Ù¾4ýIôd»"-Gó¼
-âZÑk«âÏ\¾{a]ÎúPQWv<.B¡È^2»PäDeEÉFù¯à@¦{hßmè}j+e¸Ýý¶tëýéÍKf7²=jôòÊ4^Ñ ¸[*Eð(ÈEæ¼Zh8#Íl
-®sÜ0çê!".Â#Â
PãC×b[\ý
-1]¡6]E
®
-ç=´ä@%=ÐÐ*#Ë~0*NSæSD9½5÷yIyæÖµJsà±
=
-;0-O§ØËÌ°òpÜ°õlS =Y
-¬1ëLÃ71[Ò9ç¢ò½$8²÷û/@ok8gªûزïÏç'ó?V ->O:ﺦØ<Üìq±ÖÅ"!°*
-!ªkF`a]Ù¤Ì?ϨÖS5%«N¢!_|Ån\¡Û:9kbNwV9u4/Ú{K1CUiOQSsÓìÉÅUj63ûºÆL°0fM&Bé1ÕúÒk»V¥åR
--ë×,<DÞ7"ò¶É:Ís\åZÕ
->ºTÅ$âSQQ|0ÞÿÍÍAøá%·^ N#¾WÝGs²uïQà+ÃEe¾êoZ=Ѧu§nJJêù²8 v.Ó[MM馢T4
-äÍ ^K©Ë©ë©]ø«éÞ¤´î¯d(ª·"Ån
¤*·8<M¬ü«Úè?ï|§È3*ÏyóÆÆGô*µàmÈ;eFh¶(H©×UÚ'W-£Qxö1¼mi5('ò\R#òX¤ ÒSµêg¥ëþ)Fju»«/*34¶P-1ºé̵c§§¦£©Ã+¯@r ÜL9Ö¼²<º#eïçtÿ4»ätËnBB4ìR.ÆÃì>cÛ{3[
- 6V(nðzÕMA@öÙÎÐèîãWÎ;³/ñ¿1o0³ÕÊ
-ðG/ç^U%´©ï¦²ÖCÇ`M1¨r<aO65ec¼îÍ¿3F¹FKxÁìëòJàðdòÊ0ÁäµõF'öºaóÉÕ»ó±´±?Ôüê
-ØÃÊ47ȶAl·à?aÚÏ~÷Ò)ÚȸÃíªâxèE{¯¡SC_YbÎz¸Í?Î2°¥Ìng®QRü½Å(-mâüUÜB±Râ0÷¸=,÷gßðj¼(ë
ÌÓwq
-YùÂ{~C¼É¿±¼!°¥ \¡à¬ãn`XÔìmÀî;³¬Sõ·8VhÕ²:=§0ï¿Ñö
+xµZÉãF½û+t§ö´-+ç Èdr¹Ìïd<Ó3
+¸Ûvõ¸=R#¦/ÿ&1ý(®rrRÁ«øúùÏé÷¦éKüùü÷åö~1á&/åÕOïL?-þbzÿkúY3?¿Lïÿ\ïOIðÕ
+]ýN±§èûJÂU/,ü61]9¼¶N:ínqVEÖFö
+HøÌÂ_Þ}¼
+Ö¡hez'R[7 ì\[:dWÇâÜhKÛgVRZ±\Uv+ØÉxÜ$9©vñÎÏ{xýy'7>eÑ2¡ø}¼ë¤ê»Ú¹\éX²¾¯S`IazS=ÀûñGA"˪¿ãÏåP k¯jrôÊ'
+:öD$÷Jã÷T½d]!&Ò*}\R£4o ®±YÜ×@¶X ?
+©z
+ðPÐNc(öµ¥gObe2ùyP`5zHÍ)PÄÅøÔÄÔO<-ï·RÒ.ü%ò}
+t[Î÷²YR$]1 ù%~K º.t:
+¥oaîÊgªG-S¨c VÆ(b/Uáý®°n~kcd\K`xcÈbò¿ú=ÒP4pÙ½zW¾=ì¾Í`ïIë&côÑIéâçÜèK©×WÈC
+Ôa(òâÙ ¤Éâg'
+
£>FnòÆÎVÐc¬1îÛ÷Î)
û¦Ý~ìQ}¥Å§»rßUAw{
+úüö«}±äL1w·wÞ@LÖ*¼BP
+{ß²*LæàÏ0:<3{ç"JJÒ±«ßyUËS±-É`MJí£t@Yh=m^ëdu¿TZÞ+Ñâ
+ù²©
+ UI¹²·bM½Çóè1<D^ÃY%´yìuêæÅÿM¿ýzÙ=vzÿM_ró«AÎyc'TxiñQÒp;?Ï~I?ë!Á8~ !¡b6#:5õçmHÈ)z¶Eîv°)Ⱦa«>Ætö·|mM«½À«VjêZpbíÒ;ÿP
+1ijUìÍ ®jU9d+ç4ÈßëÆyðáDj~CdF?úºç#ô-æéS úÚ¤PÀÚ¬Ú<ÈÔ?îGkEzÕfÕÂ!C#Ñÿ(ضÖîVÚõ´L9ß´»ÓcsëtiUØ
,ºGlSÒèfÐ"Yï`ã¡Daý½¥ìþHiz*§
+ë)BM·YÒö#ÍO@亷p0X2´mÕúÁv/ÙsÕs®.˺fEý+É©³®êPoLÞcx"Ý`(¸oºfÑÃé]:[>ïÛUA¨Mr_¥ÛxÞÖN|^î#DV0µìf«`À[r1äÑT ¤¾f²6¦§Ñ¯kÏ>ÇÇÝд©ï×BºúQ9A@ßmX&
+¶m# O´|´Ã¢¥VùÙtµ
+ÕBg#e?§µi»>Mÿmîx¿
endstream
endobj
109 0 obj
-2182
+2099
endobj
111 0 obj
<</Length 112 0 R/Filter/FlateDecode>>
stream
-xÅ[Ë,9Ý×Wäz sÂÏ$!++c1»^4½îYLoæ÷ÇoK_Y·æBP7ÂÙ:dçra§ÿ½ý÷´ÎùS3nënüvúùo§ÿ¸ößÿz{ÿ|c\^öÓÊËvúüçéï:1vúüý«d7yÕâvf×UÞÎæïÝ=ý¼÷+_ng¾ëûÂ\[ó§Vñ
-c±oÄog>û÷a
-¾ÓyØ09z]oiÎ=t`-¼ôn¡¿ºJuãW%nì*0:ªäNÌ,Z¯éÒCIývÎQ+¿Æ8 vSøýðýýª½
-légÂ?¥?^Z%zðVu
-é5!ðp3¼@Ö]o¢´ÖÃm+¦8#
Ì·lÕaD7<«ëÞ<28Ñ,¬@±
%a1A1ÄÒ&̳ÀGï·ÛÙÐQ¶¸·DaZ´N ^O»c-96 co¶UipD=Q]Þ9=
--£ªÞaÌ÷ó^zݨGèòÎ
-Q)ããÂ{Þs$
§|wo"$è[K {µ´¶+ñ[ÜËðìæÁl¢Â}ØwìÃ~p_ïñ!ô_ûØcÙâ×Í¿³ã-ïéÃÚ}¤¿öôÕõh(÷ðs¨øÁµãN\}OÚù=üíA}82Oïø+ÔμkborFt¹5 ßMMúÅHþÓÉT²`UÐÛ9h·Óɳcà ¾WlçëhzdD`ÙÁ÷ÅT0qäíPÔDÙÅ£gÙvt
-5K/ºª4Ø:@±lUñLm3¤MzhÃ<vÏ´ÐÆ2(EX/`8c
-+çú6f>_l& A
¶i§lî»C·ìäÚ`",sPó3q0ºmÀ\¢i?[°ÙUMé]«uNéa%;|5»¨ÕäæjÙá\fÃuHÙá·&rÛËCð®¹Ñ±â ½÷ucudÇ
-æ·s¦´ y+0qÏóèG®îÂb¬ÌWµÔ)á'-E
-Wä©1=/u%«,îÇéOaírªÖ'Î×"O¿0Ú«EÓ¿ø©aRÔ]%> [|0ÇZùmÞ´hæò©&ß®öR¡©WƪÐ/á?ùn]Õm»LÄ´¨UÄߢ
-^U;°cÛVä÷W!»°£=f@)çóW!p}UùækgRø¢Áü/Ì BþµRÏÙG±øRQ¥son¯©´6ã'ZY<k :hgOáä«ïæÜËO¨>ÞHxÎ4qü»ªÍÍûyü¡©RÅ[~Û-BÄ)ð\³ÌW(ÌÔ¥Õ´[r¬>R
&éÂ_[izH4`JÎVÑý
ÉzÈd6·»ÇØ/\«_¶,õcî&U_/¢zèóV=à;OÏ-ÁA<!´t¿ê0~ýBK¿NJ9gÛíi<"¨æbúJż=P¯ZÊßGa4ÃÍz©)k Üe§Ø(a!²A]5°.Oä"¿¹.ç´
-ï2|å4 Öïq&/Iu¨+¯h«¯Ý½ÌHú¦Wý#·TP¡£ãÔêçÀºëÌÂËAféoVf-)Ã9þ¡UGͪTÔñO§ÿÕèsÞ
+xZ芼
+Ý÷WÔ:@*ÖÛ.ôT÷ ?EÜM~?|H"mSv#¹h {¦J¥CòðòòøÏÇ¿ËãËÓ=²óð»TüýÛßùÃã_ô%þüö??\ÏõQþù×Ç6üo}üüûãïþüøùÏ÷Ï_²ÛOòÏòpfÅ-¿sòKÞß_øÿOk¥.8ç²}~åK%æ5o9ÐFÒFãw®D¿À¿\þAOp~8/
+#ù|ma|°7é¡Ã{Á¿!ÿh#âGi#væãùëôaÍô±+Ça^5CÓ~ÓµOÖñø#~¼=/
+ÃÐx1
+EFag<F»íîÉî½áð´L·îa¬Ï:,a¿Ê`\9ü@AßGXmé $ ZZÁòÚqpUÜë²Ñ+ VðS.|ïk]Yðz¡òp¿©6*î#!õAVIL×(#ô=ù¢\
+]Çã½+"GôOe«ýi¾¨õË1á!áÇþ`&UI¬;:®v)M{'MR¢A9GvfÆÄ; ´áÐqÈ*Ȳë¢S²\;%æ"Ì-6+D?=Oä1"ªIBdJNì®kggõwÎjÍåìíNÃXÅ6¼ûc6ôeÉ_¤¬ÄÁÑ3øüQùâíÎcõN{?ï5p±¨A[Ñy¾àíZ6´XØÁ
+$Ûàz¸(x¾FÖoî¯hKÊ H
+JÛndܺ(1sÐàQ0Î>þ-hÎ,M¾QN(=¨ *JKö£?¯©8Þ,q7X&þPµAXUbÐÕÉ®©I])-ì̵3¦»¹aK±ÖE·hAËßZf9Ï¡n8;3¹mnè£ðéJ"'5ÚîÊõz&fUrÄ"\OæçÌAqÒ*ûá
+YeææÀYMâþ º»]bÅæöÄ®9¦=³;CÕ"-|»
+$³T{l½³Ö%hK«tøB£¥3v
+F5`$ß~CÖ^¥Îk
+SUc¸TA´\!çRy«yg÷«²ÇÊnë\ºá£¬ªc^ó qÛ°Ü
+?KWj88,é|MKßéÕ57ZÌpÛ(³çÅÓåç!s¯&¼bWõÍgåGàÚÒý@õ¥ÈøÏî`Oi´A,ï¼qßKê&yݼvOIß4ΣC]`vkü`´%nº¢Aï~ÒÖ$ϧʲª¤ÔÛ±{S±²!®~u~NýwªÕ׺O<¦2AæMàTCÝhaí¨|C9(jç.Gæø^?Zü9íuº¿Wa÷_ô%«Ã×NÊ
³¾¥7ñÄÛd[Dl5º÷Àw2ÒÙgâS¥8ÚFFêBq×Èиº}
+[5,!?jJB0-ý6«"È:* ¦¿Sõ\äø vw»,8óÉXuÃú
+^|ÇðµgûQÍ©J~¯º2ò;¯ïüAçýÖ.í«
+u¾º*Ìð»C^e:ù¹¥4GÓ:HY¤Ë~ÉgXç76Nl98ºÜ9ªñĴýң£Ö;ønÅÂê]Ñèlë³.B§¸N6·ÀçÕÁûîmj4ú[ØåÄv
+Φ<@´â,«Nço>ðeâhe($æ鮿uÈ@ÖQöFÑ4¸·±Újãß'ÕïT=ïUmå{E_t¡=<â¬âÐãïªâø>6¢~ ܪ-_vNAÙ¿j\/ ×»gH|Ðá
+j¯¼Óã[kÓxÍIÜæÿW#éîâªAæFHv½?3¬8äú¢9Ot&·ø»Õ¼8 û~ÑáWvß!
+åV5Mð(ÕãO
endstream
endobj
112 0 obj
-2473
+2895
endobj
114 0 obj
<</Length 115 0 R/Filter/FlateDecode>>
stream
-xÍ\I춾¿_ÑgÓWIÀ YZÜ[ì
-îë
lé¼¹9Ú`ØXv:`23YÎ{Þ©¤S£ô±wíªwWcºÊl¼,?½·ÑÍǧÿKx«nw.ôüGs}üëɸ§h©½¢â&Ö
-ÂÅ°eK/ë[5lê¡%vrÏ1E¹æCÅxÈ 4òdqËcf
-LÕX
-Æ_ÞIÛ[Ì&)-zóü-¼=ºD˪¯"ù kxK×eºÒ{òæTV#ôÆtÓä\ú*½Lô¸è«åØe ,pP}qkEUOÒ¼Áh¨N»WïêéAIáÃ.ªb
-Ùu1pv2ÌöjñÙÈil,fÎÄØ¢ëÈ8£ZlüG·jÆ°¯cyÿtL¯ê½*~cÁ^p«h±LÅ2·Òó}͹ü.}Mô»®4ú]á;1Ù¨0üDPXÎ`ò}I D§ïØA¹²g7åD¶¶aëºwÌ`'¦
i?Y74¯=<=ä²®+çÊTuU[Møà/eÎ8duQU¼z-«c@ó9½ö)P¦xΨ
-Dô Ê3j(^QÌÊäã*ædA
-×Ôiµió
-c)ìÁÜ»2Ê»·æB¶<JVCñId@s×UL®d;ò9p`ö1ÙGÓ+ey5PLÅ:bÁA;Z[©5ÔÀQ?-´äAÍ7ÒÕÎPÝqYöhHï±¢©¨
¥IÜoÁz<I&¾Túò¸ÌvËD¿ÝÊøqÒMÊb)2fÔ¢úßì·¨L
-GЩÞfbÑKa)ÂÃ
-D&â
RCÎÈE¹cJ"
-ç
-ê\S"h})
-ÖÛÀÏÆey@ôÑ»b5>µe!T7§*L¦Jè}aª7ùFï%AC¬]jX¸/B¡p.ȶɢuêå9$çW°PÞ·Ø~J2ÐökyT
ùXªÝ,d}0!jÞVB7,ò) RaÔ¼ô0Ç(ÊøÌú-:ä AÀ+Y´<AÐÊï×2Å#*¯mF
-Ò_Ü{"98r~Ñ»a8UûJ.*Fô8Þgãöwéé1Ú&kí¡¸
-;u0
MÝc& Ý7Éæ(Ü·nq|.P
-[¸úÜýÖV9Ç´{C@)çLÿ±Ñ«AÕâV¢Ã ê¥;Ñ^ñÌ01LE&¿\¿,Cô!UsO"×RJßöçع¢Ôs0ÎsvûªÊ¡}¯nëb&EHKw¨6O¨YðÝÖTk
-)$Ø©d«gø486Tló!{²¿²H¢(¼%¾^¦Ëæ?^òôÇ'zCj¬Q/7ÙaÞ0q§ù¦t[Ö«åä~XÃá×ðê?|XÞ»£9µüj
-¥¸ewкNg&ËÜ8öìn
-áb-
-Í;'©³Å|.0PÚ
-Õo9þ0îÖ6`ô®Ù/Ù*§oðmÅCrÓ=4ù´;QÓai`Uv
- llQN·ÁMÈz6ß&D§>µ3½Ó®Í¡XÍA&ÀÁÂ;%4 D¿FAQÜKa&9"´ÆÔª
q V.ècê
-iV<dµ·ÒrÀ£Éks¼1SM"i»S§±Û¦kc»À©
ý°oòQa-²ï¹ð4;5Ü,¤èlrÌÍîPåí´nµ0Ì Ösû¸hz)ÑÕÁ§Ò«å
oûc38NyƺèÈ`½¥ñ}×áÔF¥¤ô_¶Ô@¦ÑQç(ÍÙÊÐîý%ÝH½àÑ×È©Ø¢B*-áC&~¶ìCVH7þûvmJg§§aDÊ}zÝ1Ñ[LWSSØÂ#
-³ÕdÃ!ãw
-zÒMMÀ©} IkñȤ¤"7q!e)É«EÍMcOSû+³âq{¥(£ûª9¦àÓO ±½y>Åb²°²¥nì%×U9øþ°*gÛPK´5ÒOãÞÌð³P)WMwd§|oäm¤ÃE ^§ª@¹êvÚ3
\Nî265Uc#ñl¥"6ªÏ¸ÕDú£QM(HfÇd©¿î
-ézi©³?A×sÃÄBÝÂwÚ,I,D¨ÄÙÒ¼T·ü,%8¿@m¨×Ý)`Ô8)]Ú¦Wæ¡ümí¨G ô.Tjô3aü¬¶6éb
-
-¸=0ÜD¾buÍk*(âÎÎÔÙ°Æ&B>3±m18ÃH
-ÈÀ0ÿV¢Aï¬=÷~BÌ£©YK·|.#FAïaVżìßD×íó0yag
->toµSú'lC,>pÉþ¢ú
ÙD6j¬þ½i Ò¯ÙHhûà)Ã`"ïø(qYîþXĶ)äL£WL ó¢d^Ë~0~§ g²>Et,½:û¥ÀÅ|*#Òãl
E:î(¡8ÈÃ~
-å^¨îk&o7<Û0Ón°^öß´¡ !Omr)/ÆiaÂ.x4â˹e¯6ÛÄCIï[4f¸ä
+xµ[É$·½÷WÔYËÉ= zjñYÆ
+öUÏiÚ®a¿ðF¢ÝȲK³¦¡Ä§§0n
+](@Uÿv#rú².ÌS=6õÖ°_u <v¥}íìæ|Txt
+La\%;åD|ÖN¼Ì½Ï7ã©ôÛØÀ¥&w8NÙѵ¨ZËÐYÂæêw·fà+V¤'xÃ$¡f`-WQ³I±.k"b4$WjÓ¢IÔ+<
+¨ñP¼Á"¾vgqÌÞõNb(Þ3¥\wÀªhv+sjJ#WÀbã^ñià?Y©±·©
+y P«`²Ä|âpf¼*¨5vN nU-Ë×ÄT\`Þu¬([xUÜ~®%M¥yªO°ÓAäÓ"4â^+pÍ û=gú
+¥2Ä(á³ðàÞ%¶ ÁçQGr½N[Â]pÓ±úx4Ø>9ÿôèö`»±%¹ædðç³G¼3[V`òJçä¶
+g^Ø©²;nÒ!x2têÎï+_pEÔÎzó¤«qÝ4sÎ ø¦B·æZà̽Öv8trD/LkzË&X/5 ÍÓ
+ÝÄÝ®pò"Ïö¨Ê
±q²ÎÖeTçOâЬ<5EM~ci&Öè¤qÂ=$й)O0;®b¥N^×lÄÝGÎ>ÁÄæî\HÀÞ
+«Ê
#mMö$,Ê©ÀJ\È2
sø]ü=--Ñé4³i4âÞ¾f±Æû~X%J©"ÃÃøªëTþ¨5CÊ*¶ÀðÃ?K-æ¬óy±{M(YÒut!C M
D^Z×ßz0';ðĵäËK½ü=¹YÓn´Ì¤¢õ0ªÍ¹ê_
ï?uÉKÊ"*VY±§VySâñ. Ï)©&þ¸pI LßUÒìY×9YÿWQ-Ùhã-åÅDßU4mq"I8ë2`6;ÛÞ<R?å2ÃkëzôªÉºØU¾?L?¶×b)w2ê¯bY¹öµ[)Qä¹[ÓW¢]ÖQ+fJÁáJ¹T«uô¬]UªAqjí'
+æ¥ë í(¿-[n>iúÖε#Õ=!?[&g&GDi¿¥-W«ýYjõ\!¦eª·\´J*uÊ=nàýj¹g<hFkw*ùSÐy¶8eÖ\¸q-Ó*gUÕ_¬ätRFJ'µ=§°ÛÈ-6C9~©Ê&©2Xí,®wARÞD°/ùÞ¡SFlÜ+¼a±Ó«@`t£:üq#:׶ë.ocYòj¥¼C*¦UI*åB2ISi`s±²èVáËx7Ä}¡ñíÀVöÝ »É1ØW#ßÖʵÉî×Ze*Á:a?ðrÆàsrÒ¥[AõG¨äç§y
+L<8M×EWZ®mJn³E9§9Ý_Ƚ-ì¾Ö#âQGw8;Ë-¹uj°/$û©¸®Uõ6ñfWN¿ºÕª¢¾S¤¥ð=øZ*AW
+Ñid8Âmg/ÇÁ&¼Ùè,ê)
]¥zª¾Ì)9ÝP3lÈ¿¦ÄÜ4b|TÓôRÛrV<J®tÍoÔs5Üwæwt1 fpì-]D6ùØF; ÏÈxü¤ÈtúsÁmÍ,« fZÎç\ùèLL'ê!UOùÙZ«±ëª¶ºm5¹Ú ÛñèB|&äªQoG¡
+»þÔí ØS]ÿmóô
+ÚåûÕq»ô3lÛLÛëfn¹v×nZh×gö8Õ½;ôñJfË=´/â}´ãtÍI~ÔmÑdVt\éXHýU3IËP`¨¬©uÂr©t>ã7Iå²b£VGýu³ë7õãÌ:=5éçîÔÍ涣®
+VhƤ)K¢;G{/6Ø¦Ê Röd[$eEMu]WjbòÚpôÅ:ÑúÀ¢wJc§1GJ»]¬C1[ó¨¤jeTÚb÷áBYÏò~Slqý>«úõ£>×g§«ùSûr&_gò«+¹üuÔ8;½Bò=kì:IG at wt¸|§ºäãwMjp}qå'í«iêB3,uy&å´¨M
+"HëµÖZ3jô;Ñ(Þ_.ÕÖPqñNÙYýjëI¬Q%nsµÂ±_=jxµ¿ïzÀoí'Løâ2¯'3dPcÉ
ãíÈ¡ëÕ±Üè¢S×*üLv]¯9Ûªê¿rNEº¯x·×ílôa:oªñúÚ
+îóÄÃ,Kí@`Ó3à>nȸ~ÐNÜíã¤þÎÿîî£å^»êÚ£¤çïùrt¹çxÛUínv÷uug×9íëA0¶3wýU¶íÔÇq׫aVW®|Wÿ\YÞâî=,>ÍÖ8á@ãôúhpí§.h|Øìß-nÓí.ôæs.ʨ65_}ñK
?~½üöSy
endstream
endobj
115 0 obj
-3659
+3638
endobj
117 0 obj
<</Length 118 0 R/Filter/FlateDecode>>
stream
-x½\KäȾ÷¯¨óBOIÐj¦«¾-4ø`|óîÏÅßùÎ|©¦×,hÚ*)_ñEÄy¹±ËßþsY.×Åü©7×u·×¿]þöËåßîGûß?Þ¾}¾1±ÜøeeËm»|þóò§º0vùüýïïòqÈwý\åq5ÿªãÊÞÅýøÇç_ßo¿Ã(i¨
-ÃC½KfÆZ
ùú#ªaÝ]úq\÷ø´W®*Þaöºòã*ÞõwðÊ÷¹¹ÏdxmÝÍ&TøÛ,¿ëÍÞ / V~wC
{~i¼§eXvð
-ãÙç>üh·qÂÆIÊe½Ix_ØâRÈ¿/ßÍ
Ù¿¸n!K#ìü©8P"¶Å#XøK<°=A¢²ýk[qkJÖhùüWkR7ô¾ÞD±»° -ºßÌ#ý»öOmÒªL7<ßí¡{yZ|X>쥩k<d!°²°®âD3ðêûÂßw³/ÝwÔ)màÞÑð¿Xг´[Æ hPÛEQ6(`Úd`üA=â!óÐ#[·ÛzÑëbÔÇÒ
o
-· nå%ìq»91°po
-»r9
çVæ²Øöbt÷⯥pyÛ/Zî7U®²Êê]])ójù·ð\´*#/¯}¶vNÙ/»ÝßKÀZcÝäÀÃß=<îå$Z!Ø}r±@ö=/°jôYÞ.1-Û¶0k©;¶ÍK]X³¥n6àUg 7ïW
-ý^øé#¼D'kbòW¯ÀÁ¼Æ7÷'v+KS%¿îå8ás,´$§ÇÆkâò«wåêÅT^¯_ÇÖ?:?ÀÉ£ëØ/~¦¢ýÉllw£vý¢
-ïH;"Ôpù±9ÊthÖÆf%n(FïJT¸÷&>ypGÏþIÊïiͳV`õsÖj¤
-´QuM°³Bèø¤£¶VêZÕz~ü¤¨F ±(5&&L_6o%õ¬ä±Ó©ZïXÄ®ÌèÔqÆEͶÿ2>kL¸ëö¨ÝºçSc¦åûM`½WÄÜñýJ¾G±)lñÙ¢zWü ôò´lTYêj¿êi?ÎmA±ðÒÿy
m´ Jî÷ãaµ÷"õóÓ®7sçpZÒç«>æ@úr)eÿ§¹5k4ÔãÁ~8Mñ_
-ü§M'¾Z+rÈÉ[i^ Éþ Wî¥t¹P×èr%\ù »DÓg£L??ÖKÓ%m[R0á²ô&ÁªåNàEP²Qc÷:SëFV¸E#&Lu3ʨÒî¬ÀX*hD¥ÌDµâve¾QIì§ÓþÅXbPÿz¹Æ
-^|¶iâTEü0{Àèu夯\Ê'òp~=°ÃB
HÂxÒüWá2ôT²g[WÌ92ÜIþie£¼|jð¬HcKNÇkw¿£
-+?öªvõ¸hDqYzÀÏ£á÷þÆ:vtÈËüp£>ÁujJ}
-ÊjÛ¢m;Xj|°@o8ÑÈ°¦WT|Åÿ`[ÒÂêLîi4bÞÍìéØÑÇú¢HÙ$ª2ïLF©0s
6좦bN_PBbÁu k&I!~»Ã¾D ;©
-
-ÐаÀ4PÑHt¤ÇM³)ÇBWºzØùm ì
-ki;¦ÎHØQ]ÝNÖJòP·2ßÅ
-S1.oµ?Äs/
Ð28asª¶[é-ªÍÀÈ6[X2®ØPÀZÑts[¯ÔS´í`ï¾»Ká<{1mâ6¢ ݸe,ò²ÁõÒÅ¡ß$ÐÊÚRòXwK¤rι¾¢±gsbVÃ>Ó¾»aäPæÎ+éõÐ!N?¼öié°ÿðóèl·«Vµv¶åû\t·W-µ×5}ä¶FüÐÌ
-û)$^Â:b#¥
æáË»6\´?VK°¤g8A
- `$ê)JI<b¢NR¯W-}MF¯[¯_ÔN¨ü3ÉúÔìÙOÝNÓ0`®hÞØÁdd9ÛüÏeóAPñYÄvbñ¬ê¯*DÎ곡PeË@I÷1)T«¥ìey£L]á}ÒS¶¾&°
¶Ä
-»òE¬â¯2HS³×é Q³o²
-4âÑáð}¨S~ö°G`ò¢_C[a_ËçÃ>Âöt#eø¤íÏÍã·I*CÇO
-Û«D¥>B*[WZsixí
-½ÄŸv#L+4½ß<EowR}¯äµ°R]ÇJ¾»¥
-ÀE|5¸7eªÊ ëk"f3á:ÿ1Z7YM
-Ä-
PGhðþú6õ8S¢o2jÔj8ÕÝø6°EVÊidìf²H¨Gss)4G³Ehb-UI±¡ê÷XØP8ôÕÓ½:£ é|6¦¦ýQã²åva|'4Ó!ߺï÷øA(·|.zßrnÿÚÒk{úu¿XÐkî9?Þ=]¾ÅjÏÖútup¯ <âÂFsVs~1ÛB9Ç6þÜ<Mck?Ê¥;ì(>£¦¶^Ù ¦
-¡taU.¦´>LÂjrzöÃd~?¶EàyH«8²p
-4 ·¯dÅ./½9LùÐ;¸ÙzÎ"E*8eÜ#i'±CݯSèrøXèÿ£À¹^LëðjX&¥çérP çA`N¡õK}ô±ÙæQ9ħ³ãÕ
;u`!æß@1~SñõŽÑû}ñéSåë0ÑÃ̴澥лëâ²üæòã·ËýzùbÇd
+x[ɹ½÷WÔÙËÜ hÕâóüöðÁußXHFIf¶$tC¨J2/¶¹ýññÿ¹ýÕÜí-Y¿ó¿üûöÏ¿ÜþG_âßÿùøöýúxßnÙâÓßÿuûÛÛßóm¿}ÿýöËgüõöý¿¯ï¿ï9Xd-
+{JÎä¶I)íélzÐ^!ÝwØÖüâ}â`#þ
+°£
íþg|óÎVdÙ¹ìäawx2{Ú¤ ©l%û&7=oÒP69<ô(O
ØöMðÔ
+Îh6ÀogÙi©Àá«Pn>ìoÁ16Y#}bÏ5Ñ{¬³
+¼~»xêÈ6G*ï}U>é*Íd
+°/ïlÀ¢ÐT®º@ÄZäO)oèòpZØmjgJxh°8ø¬8ÆiµZ²'){¼{q½âsöþ³:v¼Çýs¥)ÐBuÁ¯§)µh¦Jîá¨íî*V ,lSQÁYàSÃü((\o\Ù¹rQRhÈ\rEUbÖE5/ŽÄÎ,Ù:0µ9n®gñNÖ¹ãn~VÉmÉOuð
ÅBQêQ¬æÔqò¢ÒØñ8ÒªdÛt:2 ÍjÚWn¦2zª
á×Á4Ãf ]é37òU#`HMTó
+¥0Z³yE7V´ió^ÕÆz®säÂrL°xSç@@æ°\Iqô"3Õ¼+ÄmCGû_ÃA3Êøcç=C°8ã7xVöJjZÍ<5
+-µç
N óÐÅAÅ'´a¢3!ähXνòo|VAIÎY ¢XÌ
+ÂÙ¬õz0ÿøû@ûq3÷àáÏí9?ÞÂVº±ôLuTÀ-.g
+²K®Y\±Ê
+w®Ì@v<`W¯xÕ,´¿õ|8 ÕQÖËSiaËC÷@+º¨ée³ÞYÉË]Ùc¿¨Vß"Dø¥Ó©m:7äÂE
+3jæUØ
+@^·#Ç%Érü>qµRêÒeT
+¯ bR¦/ð°×ÖSÌDwÙU»Zʱ¾ëÝ&³Ü_jËW-±$©æ´Ý¼½jÆ}¥·M§[÷¢ñs\iÒïÇX>Caq®ë"b=ÞÐlÞE|BGÑ&0"r7ªW¹t1KRa+òâå\PiCÛ`4Ã
+M¸V O0ãsõ̾TÎ'
£ÁÛ5IWÊá%´½8±s×ÿå*×RÐÛJ«Rv7ßFlÖ¨¾ÍCû$ÛD°-«ß6Í>K®gf] 4
´ªËOÒûÁxê¥.²õiÎ{JLT
C ºèøèfSSghí«Í¨
ÕïJ¨2ÑZQ*Y^¥
+8§ÃdHÀ
+êT;µãjb)*4Ù*ê»-Íëâ¸Ó)tâ¥väW|XöYÚwwßPáÚæ>î
+=ªîzþvøÚÜL=_û;ìè$ìÛ=jgjÔ
+`Ö4ÖÐoc
+v[±+ìr¬±GB:Cñy7ë¶ÎÒ(ÆèÂ>^»5áXµ«æHé'wTóFµ¼(9´¡eÏ'7¯kbò
£µX²ºUÇ×:m[v ³¶-3U´5v«Íú)àTsDf^g¨þÍ4æ2jd
ûÏåyh¬¯¢ðõZ5¥5lkÝüg×%}+_|w]³I/ý8]ûl{ÚØ3êÉzmY¡X.Ã[© ±FâgÙÄ]n¾öb¼^0òªÁaRH¨öMu[ïgµ£³åÔJ[g¥ßºÔãçÊÙ÷uçæÖ 4,Z3w
+uU¨§FdàrwoFª<_^üYÉr¡®gIu$&£o6¾Y7êPú»=ªpJ,Óê¹28d·Ãà&5ókµÜ&©Íi.°ÝçÞ?"åTGÚñé©-Wyp²5?ÇÓͱ»DÊöâÝshÉD+LmÍ9ȹ½6É"ÈÉ¢
+r9ÒðgãHO$%\_Éñ~ô<®)¿×,sòêYjU-/IS¶é9êÄÞÀμÓô\ìKÓí sfÉ»ºã
«nñÐÓ¯ÚÒJ44bVP%Òv`vANµcË8À³n¶.°Â KXA}y ¬Nõ÷ö´Û]¹Í[u⯻Zôs\"Ðd³M9pÞréX]ÿ}ÖMºç['sèªLåÓ¡Xâ¶ÂoE9që/§~*PlËYwB21J¾mXÆ2úõ=
+è&QµÔ\wà·¾Ä6Ý?VW䲡¤l[Ès¨ÇôM
+K5û¸¼Ñ©³ÿB«aæ}Hg¨~¶ß§èvzöf¬Þ¡5##*_§oPÚ' NÔX{uýp^ ½u¦¡¹fw ³Åé=[5Oq;GÄÕ ÍùY{²òÂ&¼©0%qôΨ-aßÎä·[ê÷=ë¹¥\/}É ØÍ8¯4\'ýuR¦þ¯>ÔÅòÛÖ^:µãÈÒ¦¸4o¶:«{:ë?+ÑÜr}ÒÄçàãù¢Qä®|ëGAûH4Õ>/Þ¡ÿtê ¤ï§`u1/Wd+õX¹?¥¨LíªÉý&WîrbDZ<Ø ^tËgÜ%t¨ë Ýu¸²é$Ïâ>8}µ$K3òMX4
+¶Ù'÷rèñÙÜÛ[ä
O%`yã·óBvº÷Jòßn]Ü2
endstream
endobj
118 0 obj
-2888
+3013
endobj
120 0 obj
<</Length 121 0 R/Filter/FlateDecode>>
stream
-xÝ\É$I½×WÄy¤LÂ÷p©RU.HÜZâ0â$æÂï㫹oY5Ý, åTføbnë33^Ïlù×Ë?u9îO͸û4Öþòå?,ÿýÿùëËû×&·Å°õ¼-_ÿ¼üæa»|ýéue¯{¹}ùR×g|a«ðã+þºZÿqsùá>Xøxøïþã
-C¸ÿkiÚü4.zq~)¾æ¯håðU×ûÓ×ßõN#9¼Zoô;Ô«f{Õ÷øÍ(}×Êÿb6³Æ¿´ß¥~q³Í/ ^óè8*}[Óh>úÇû-ÌE¦]Ã3q~ü]i£7·Æà\«³êÌ/5«¶æ,*NhiáÈ´Þµ¹l&5b§J¿iü8$~¸?wf´Ì¿´nä|}õ~>cT0\?ábBÕsR Üö¿Ûô3SYú¦ãARÈÂ|À9iæÛ[ 2J!ÁF9RÞßÂe¦#ªÑnâl+Ñ*qÉKØ9æ¬Ô¤QLaîàÞçhµåqcÝHö뤧9FH9ì4&E;fENå+qÙl&à6$þ
-læÕDR\:½ÑB5'6:ʧ
-ÎR/Êýâyð-ç3©0dpk°ÀÁA¹
-ikÔH
-øFW¶_¾wçWÿ¬giØÁy£¿#lHb½"g<Vã]ðd»£ðű¾ê÷Æù?'AIv2ñ\Qû8k|W¢æ´)1F]
-IjË&ªÁ,óHªPQTmÙCDW¤²~æzp"â
-ÁÛ×2f(aE˲&eäc'½9ø-ÍÜsuÅ⥴gÓç²x˼@ÿ9òÑNp¦ÏÛÉ#e]Ew®Þòk²Ñ¨còäßé8Ú?#wû]ñµ0R4 at A
@1åùûä#^Ý«Etfq½è`r9W¸%4´1»¬¼]òJþëfq~Ðô¥ÖéÀôªX-T«âø0"¡ì£Ç^UïU÷UÙ¹+ÀO#5à+Òn8ìWyD?]Aüû ±I;·óQùpc»<©¨ý'¼È_M=aRÞE¶)d®Åñðzsc;±ímpË;ÒÆðаEX9/oÀ¶5TéCð{3~pE~¶^¶ô§S@b,<dQAxàOóÂò<qe
-^2ÑIv.MØGF¢DJÁ×#öxRæÆ<0-ú#ºxã²BþîPõ¿pçÈ^kC&ÝLÉaÃi,üvCNÞ?µ#DÔ(ìþSð©Ú*zdùG/ç!Dc¢pÄè£Ytká¸Yat*D4wE1ñ¨yGmv=ª¬Á>1$`´sN#÷DZ[ñ£M^«MYª
-S°6òX©Ü4\ãC´ã¬2ªU®ø):_0ÈU%ç¤Þ!Ť-AÑ+^£»{e
-
-ÊÂÒ\
-ãx}/9.8!5ñbÆÇq2-bq£fÒ1mPTaT-%±+ÓIÁ3miÉ8|hª`=LäÎéÌ2ÌKìÇG7D5Lí\
ØU¡Jvsìx(8Av8³.Yx$3
GL9Ñø·ÃkfcU´¤AÀ³ÄùPBâ'RVêõ
-[ÎC1AIM²ÆÅèÊC«.z¨J=wR»A<³Õ>´¢LUnÐBk¯zû.î®>2ìªOÈ+
-ÕÆ}öÂï0ÿ-ÞÀt2Ò=:èàX*÷ _ÌwÓOÓo~¬òÓ
8R°#É+Gyí@)]à°ÌA¸@°*OÆ çÌÇDð?RÊ&|ånNªaó°¶^Ðeb$¥{J»Ì»BÏèJJÀáéZÊ~Rq~vlGiÈw´PÎ(ª:ãV(À¡ÅpôèÔ¹²r!ÊaâÄ¥sáçͻó´Û*ü¤³ðÿCÝC4 \`<ÏUøÊD«W[9Y«h>VôãJ;r.¦0ßYYùbͼ\ûn°QÑ´[;7Õòw+í0ö>.¡o=fùEÇ}^¹ÚNnÍÔÇ6 G¬Ù@8d¢Ëz÷5f¨jíS¾×³øU@÷HsØßwAJ¡bR ïµfÉíkíùIûpP¹<\ö1(²UÞæv¤°s4Ü{§ÂÖeÖ9
-½íÂ.%Èã2ÍÛì&ÇÌYn¤B~{@nsyc\tRBuA¼j!`&ú-XUú5¦´05AÖãM«Ó¾áÌíÈwãýjq)JÔ|/f
-àI(q½µõópe{Rݽöäbàî£^/hÕNEswIbÛµj"ßîîávvè±nÇiN®CNkþM#,ÞS¾
-zËçL¡97©ì;Hz n·º±\÷Ë¡S"M<ÚYª4ë(Í^«Ö0ÊOÌ«óä
-_VÍ\\'×Ó¸
vª*W_êWúq´»CÀÓÒ8î°u¯"þüÔc¦q\(aß2n¥¹¥5¹ÔÄ©UWMvK²¦µH.x"·4-á+éTÄðN¸ì®Û¿;Hß ©|ï*&7`m÷õaø.!½à%kT Ú¯Õº\lÂ{w8ÇTYæ²~¡`ç*ð-Ç
-ïEI·¯Û®>òmÐíkã#-IVRßM^, $å¨;lõuû¼c泡÷Gøoðìõß¹Ã6õy?Ðï-"¼Ó}©§Ó>ÍàbW±A]pû¼gE³x4UïjG¡dæ¡DÈoe®òÐpxW¢Ó rf['égþ·Rÿ=Ô¨<ýÑ
-¶c{9E) Ϊ!~ÏäöwÏËÍù{|¦åp¼c¾¥ÒÂ
-Õ«Øtú×qqX@õfìð&OZïêÙw÷Þ
F'R¸µfñì=e¶q1Õñ¯©Q¢³â¬ôíKmCpÂ6g©-A{A¹°Ø¼áÿ´ZJ¸F°%
-7{ ä°¥;l·Ü)í°©E°ãÇÜV]Å'üÜn_ý4/Ka²ÑË{£Ñéò¡[ßu)Vºdñ7Pð Y+UÃÒIvÐÕU6ØóݳÄÑü$ûUÐâÎÔÞ¿±1»2,dç¼»í$1x[FïI¾móú-º¹uólZ¥3Ëðé®|ÿ²°úETÄ;ýóún壮q-áWoAÐvXç_NèêøèFy[vþ²xáßCeÜç^ÄùÂÿýo_@w¼Ö7b^Īã_þð_~^üMtV)n¦?óô{Oð.e:Ú¦YíÙ¬ÏxôßTr°Ë,Û
-?çóÓ«Å7í*÷i.XÀâU»/fMO9r(>¦±ò{ñ1¹ã,WãÔ¡Mé´ÀÕo¨.t*<gþN½ñ5²á§iûâËQ à3þÓ?r¹L¾,ÿ½¦
+xå[Û$9}¯¯Èç(|wZZ!õÔ
çøX$HÌËþ>áK3íÌêñÀ®ÔSݶÃ'N\íR˯ÿ,jùºê%h?cÂßþ¶üå§åßôÿÿÓ/ù÷¿_¾¼_ÌòþmQWÿÁn½®KÔzyÿëòû§¾ÆE«åýågw>:øà'}RXÞÿqqéja6xÿç Ã#¸òw£®¡üÝ
Â
+Æøh¢¥§÷Ë×&RD+Ë:äÕñWW×ÑyuMÕõÊßVx³ü Å´Ñ(1xzh×ò¬¼lYÞnácÉø6óîU~^ö0ïú£¯òÆ««8xo©øØkªr¤èèoá:õ¨§:ÖðXÃ+¹«©
+C
F-Í\CG§Nºò<ß%ùèçÌ£AÚ*¤Næ¥àHØè9ià×&þnàRl¦!!Æ6tWÅHu¤m¤äf#t1Áh
+륾çî.plÈS
F¾Ò¢_ºg¾¯·7 =TøØuÚ/yë;X]8OPTÅpgèMI>®LTH¢U§öÞÈ0K]@æ=B¬mÛø$<&1-1ô5ímR¨ìnêÉGZdR©© b m¨Ô µügOap;ôY;Ï¢es°§jÈSyîX¬W«ÁpTHÀãÝ
*ö3hÀÛ´{
+ÝxT°à¬Ü4j8¡²útZ÷FX;?èÕG"¹ïÔP·²£WK$8Õ×ì6ÑÜÜÌJî8ïÕ×ÙL;kÛplD³Í¨}ijmÜ»ZN0tPqHªS*¹Ö}¾WT«>i
+çY!áMµÝÐðöm:Öb 6ª÷ì^¤ºá-EtRMù^&Í«@¸hhæPÞ× Ã³áKö¾°sVxLA«9Ãù´«¹'þ,·äÌê¬ïgípêó~Ý¥s·ÇìêA)¥oÎaÄ$®3m0É
+Q{W?þuwo¬E-dÝùÄnɺÉÏݪdcË´ \àF!µ
jkEyÝf²g$Ç]ùÕÛMúB Øä
+gj¥Òh×Í"ÈAA.GxQö iý"1ø1.¯ðɦ4Ùlc
+\í DL¾Jµ±¢göÀ¶¡[pµKVI´È[OÀ«K«Âej5òîÃzY;Û/"E<1$ÌÞ¦ã2%o$ÖFu÷Î>Gt-Seoà(mÊ)>xXoû8;¥[ýhs ^ÕªL³AkÒfïQBÒó5k¸óÎ1q:в,~ðÓa>ƪºäsÄqfûoߥ$$,T`¬èÁÐFj±Q¼Ù
+vEj._"r/¥õA!å?s-Uó¤Ã*Rݱ§Ô°qð9¯¯ añ
NfRN£Ûƪ4]ÅÌ@rªÉUXfRð·2ç¶Añ¨[Û.²dèÇKh{ Ïú%Üô*Q¬½\8VØâcu05²vÉP©«*2HÄr²ôOy±ËH¹UÃÑää
L¿+T4W¸üo¡ªðBe ¡²çL§Cî/Ô®
+G§ýH-ݹÉóâ®È¼Û ~äzEV¤µtYK¶½S m¶·Bh~¯£¥½Ë~K0n³R!
+ÞñN$«Ò¹öÆ{:%P)*ÙÀÑ·*c
+ÚÜ:«HÌ»b¤ù!òg]1§ìHó
+£
+&|`Q4½¼çä«Aão±NòxrÔlç^ÔáÖÝÅK°m¤®A,áQ£ØÀwõì
+|,úZôyæ IH¾_U}BMF¨È&lMC£æ¨EMG'Ç^ݯ^U?GßBA
+?¸
2:,îN\ä1VßV:Á óâxµ=nvµ$B¹lJ5B:v$^;2Âu®ØÉÐÍd£ÆEÜñ#E9^æx½Ó«¹í8Có12êJF¼KF#Pþó Ü/äT¸ß'µÆ°º·ÒqSÜúaøbS|<$Kòj;TÔï¼åüC²tÍíÂ+r¬¢![ø¨NÜH9çiæÔiëqÁ~8.äóÅHû¨3|D9TGýjtDDi¨#hl3=HIkæÔVD$. ÈX+Ð|ÇÈRhPòý¨im¡Öª·gR¦ýúÎ$н§
+øÊþ¬Èj Ípwh|;øÙ
+òt?pÔÑi(_mmLÇY{¯ë»àÑtd'ødOï4íísÈN»ÄánõÂ{»;Îe Èý_ô8¾9çVô¼c©O
+MÍ4N7,}.ÂÜÔa¨MÜÕ)sª^Y3¯t24¹
+ß""$8¶(=@_â]Ç'óU_,ÖvÕ7C,/úÕ£rÈþµxcÊç.ÎW~ë#ù">,¿[¬6Ê@úÌË#ù"Ô ïRåùsXÉÅÀ¨ù3,äb ©â'dXÈú ÿ°øË#ècR·xP4m[ô±
+*Ä[Ûùøµøо³Jm÷(X$¡æ]öÞ)¬WçV+½Î:HÕlêTM²©j£
+YTéæ½,pe;gîóÞ»Ùùrv]«ùæHçAÐ2Ú¿å£_<'_¥õÕè2ª+z_£ãUnZ6Bó
¬\äðå|pÁÎ+~âùk
+oîî-?áhá×î&´b¬»ÚÖÀÜÌÔ4½þQwЫ}1=
¿*\5ÍÐi°Â´ÎË*Úí[ ¥J^~^ÇÐùòr¨ªiߦàÈõ*VU(6-#Ñ[óRbè)É#qfü¨±EáÝ2~í°¡;#ß÷?g
å®?æÏ02ÊV¼û
+Í;Å^áÄñ¾OïÌHñ)ghÑwcòßø~ú=¶tqÚfãð.üÌúÜGáóIðÞx>tßVáZDt~Äw1¦Gghl~Þ)æ¦]!£ú[Ïg¦¥Ò Aÿ×´'QD׺®û¿0®úÅæoÓdÆí¡ÿÃ\õèÍÇH©²¹µýVeòÅ ×Ï^³ÝÐÆ`ã?Õ.Ri±ªz.µè®ßK*#
ú1¬k&E5áÄ&@¹>Å·G&n$Á8êL`-ïll;[(÷ÊM{cÚÑñï`3½á¢éõÑàÅÓjk̳vΫWµÊN{¿9]Îgå¨6&§*q»H÷2r
+óËOÔ«IKPx1A/ËÖà²^èt.?øºüÚ]Öû
endstream
endobj
121 0 obj
-3396
+3237
endobj
123 0 obj
<</Length 124 0 R/Filter/FlateDecode>>
stream
-xíZKܸ¾Ï¯Ðyîð- h4`w·äædܲ`±°¾äïd=XE©Ç±wm$ GR±Èz|U$Tg=üûå×A
-'6ñwÓ刺þ0üëåÃÈN
óéf°ÚÓÕþþüG|øôÏ1v4Mç0|¬
-øüËðòöqðNµ %&ïÏò33!ÔTò33!üè£ÀÏÄD`*´ÄÕ&àLLLÎÛóLðLLD¦BU|Hæf¶üÌlHA6¦e¶Ñ¤ü"l[^VLX^V,U^&R^Vô.¯H[«º]I?R¡><úè;ºï;Ëj¯'Hî5®å{`ùÞ"U¾·ï-öä{2ùÞb B¾~8Ôß¿¾ö<EG&)^ÿ1üaÑfÐjxýéou»ãöéG§ôMß!SßÑO¦Âk"Ëß&nrço®"äàðDÑ SÕ+`¦v
Ãëß_ÿôòx}ù°¥lÓïJYèqê1ÚèÄd¦1fÑÌuft!2ùê.á~üU_ÌízÒ6õyrÐÀ'½ºÚí»_Oöâí¿xÝÖ]%~Müb¨£)¥0¥H
-ì%<Ò»Nï.ófûí·ÑcYì^1ÄìÊkÙaS&²+Û*d·T´dóÐÙ;}ÄÔÆ5>2 ý²à0ìÃq¼RwÙÆg¾¬HErF÷ÚÑì#4êÅ9ÆzkÔãëÏ;f:æ±Ú r½fÕ°P {rvnò÷d ÷
-;ÝKÉ÷ø¡³óü}
-z(·+G%¯¬Î¬;A¯7ìwhñ¸
-c¼±û¿sÐd¡&ÙL`^ # 1}§ÆE³ÜNuýʺ2µP¶¬ÌJßîõëq3WÇ1ÐÍæN×#5
-
-CÎ0_üA~Ð?ì§ÇÙpÔ 4*nh=jhö_@äàÓ¤C\§bÍ)âÈLâú
-CQÜÆI4¾Ðr;{X½åÒ~hg<%(Ù=¶ îïêØÜ3Fm×úUÝ3¡*¢+»ÏCnFð%%q6g4r+^`M¢áòxi¬åº[W°ÄÂóÐû.FwÅèæÁGÕ+sÚ¬'S8$z
-lÒÁ°ËhßBó§Kا<*k*ðwõËD
-WJ@¸M¨ß»K¨²s5ßÈgºE¸ÁTh£Ì¤øê<Q©Ðµ<<3RiYÀ¤]&gfC
-²1Òú(rW¢CYÄØÒ ûZ÷U«¥&mm%ß[£È÷V÷7]/Ócè¬lÐv
-·SÖÙ2Å¡ñìÜÓ¼¥¬bÉri¼Rƨ+ÏU ÑßbàÂíìEî°QÏ°½V(MÞÉL²pX Ôè5È:5H_9fóK©7ÂS)p¢$¸=SÞu>k4 A¬BÞbG+fR=*éÉÑMÿ¦0¶Õ
-T,âFu¦ÙsUË\k?¹lv¹îê°ãw5oÉcrß[ÉTyò
-
§»?Úª
-OYøª-m
ãîCÑ_ ¶,Õåv ]÷&ÖA¬%Ø÷ÇÑ>U3tiÓO7ÏõÒ¥´´SQÖÜGµ4=òi{x6ÝìÆ
íJ¢uiZÿ(qºîÅB·ovcÜ)ÛÆeºöÚÜàËCcÊÉ^²©²Ì¸ÛM
-è1?&À¸P
<¥ÒBÈ`t»ì×ÇRð6õì·Ù-nÄõÏsUA×DØwe äHhvß[IÛAã³Ô%dj""F«jqVýá¾Þʽ«¬[Êı¤¤\¦, Gã*LRʤE[[è4öU©¯-Vå<0ØMì^LSömÐpT¾Ðzlê«á«LÅ* 5R®ª)<ÊccwJ0j>¥ì<qDÃ@É?UeM
\\¤\®$"HàêjÌÂdiýRM²òµ*$.]é]®.Á r¥Ce#zð¡{´a"$Z7CÙ¦<Ê
·]ÀݨS[6vcí\jc·LëÏÅo9YÒõAÒTÉ/ÀùÙûÕLu¾²T'2²ßÂdyYEyÁáqÀb[u·ÇÎ)XÞµ?ʬzÇ`$¤D{(4ÇïjR¸6Ç
-ùÀ6âKØõ«ðZ°Ü:¨ó~8I¹
-à"ÆKé³e4øVý·W½öôV2kÆõ4²'ìË6òöêǵIĪu£Ý]ý
-DHqsm|*ôùôõÓÃO? ItÿjEʵGíÂàÆ´SPÀÃ
+xå[Í$·
+¾ÏSÔÙ@&úW 0ìNwç¼É
+ÿüéíÃ׿½¸=¾-
ßþ¹EçÚçl~ ;ò#½¶ßa2ø$Dôµ,¨ÞÇ7ÅáM£Z×dy²Øzg ÛÈzGF:-î#Ð3ÿ(þECÃ÷ÊÛ;ªùÖýiëfûüþíkÚ²Àåý¯Ûïá5oÖlï?nߧèîélº¥øíýï/÷÷/r·ïà$ÙdøIôém¥ÏÉæbÆ3Ä#Xipí÷Àûà¹{kϼâúèöÓ½=qv©ìù~1½ÁßÒåÀïs ÝFSü6»¥
+ÈZÒ}%k49µñ\j(ðOTUJÙOÍÖÏz}&^ïÀfZ[>ì@"9v=«tÒi³è$í#ÝXÏQÞÑ ³ùÙNUw²ÒE(chªK
+îhO>ZÊ>{.w)B~-²W+¾âÄÀâ9¼%¸µÍ1<R§ð@åfO
pwd1wÇM%ÿ!p?äíKkÕ÷G3 O$ûh¦äY¥¼Pº3/ñ÷ߪéÉ4Z.9®{è+ÐíÄmß>
[ôK÷ÊÝk*ë¥{ËÿI
+Ëz©!¿Oß;
e~N¾Þ8yátJQJOËgÍîbòÞ¥cí ^:WÀ¥Ú`[Ì4/пN/ðÕÛ
Óª÷ÛK ÑG²¶òUø8jÿ d.륦üô.tkÁùÁqÄ¥dEÑ
·ulYs@°òl°ÿ´¤õØMÌ© °cºawç§ÒP¯Ø¤VLJP<`øpÝ%0â*ZvæAÊÛjòèwG«ah`W~t1T1*9Äèk»^¢·9*ìVÕͳ3ÕµùÀÞX$3KLð¼A\)ui
+.é
+¢!çIäJ7Ô»¡Jß4Ëù³$á³%<eö"3YO[§f+Ö/üÍ}ÅÊzrèÉàâpѤËÞHN§ò Jân2ì©gß2Þ'a(ï®VTÙ´¯Ó)0àgU!I
+VÕ-¸îEV¥MOUeAgIEvxﻳR
++oÓC÷ú{ßP,uâXfVCúÜ´O\"0sþcØÓíùþÅÑþ]Ê@¾)PWñX}O¬¨ùÕàíÍ>-ß>+Ý`·:¥_¶z<ëV®¦¿§kTRíÍóâð4¸ÏÐZe»R¼íq
+¶/ÁÐ#,È\ýÜE~¤
+8Ø7Bú,í^¨is>a{¤
+!HÖ ëçNÈôÂWµò$£Ú÷IÅDIãZÂQþ#å $îÇuTëFv*¶9ª[~;êóèªvì·÷¯mýüb¡ÊØÉÂoÒ;n;hÎßWÜbB¿B¿¼ÕÐÄçs@þ4DÀªN
tª1øøä¹Í96zN?#bk2üjj
+¾G}© Ðk1ár/ÅI5yJªÈÈ,i¤uN½
+®Óþ«AXéÞ\¸SAÝ.t©V'(!L0ö׺IÐü|þÌâFñ^^ó
+¶ÛÖÙ6ñ÷ØÔÃCƤéwz¼º·âãeÉ$¶ÜÏ¢A÷Ked¿§/]üÝSë_§ø,4WÅæÔ0÷XåµÉÒåAãÔÑàS®&]Ê7éidE¨
+¦øå3<ÁGÇUõSh¡Í8 ü¸{$É3ä`Îi0Pço9Û¼ö{üêí¾<TâéUÕ1ñeìÒéV¾¹åúáD5úÇóÁ[4ôµÖ 'Ô¾¾NzüÚ]Ü´¤9¢
+êD6*ðªºmÀ¬=õf¬~%«{´nPòf¥2&¶_Ïâ:¦½+»½W.EE#ghÀÊr;8ºJEüa÷M*««iU§«Ú5îªmhk
+é5´íx©ßU~®«K
+ç^åG¯¾5ëk?¾C~e<Pâ¡S¡êË°n`°ëÍRñ"{T
+cÕ÷(ªB¥ÍʲèáõqNNê[×RùéàÉ¡h?Æq¯¥:äOaèéPÐ×=XXêùÒ:ÉOÍo±%Ñ
+Ð{LÔu/ÎA§ñÂg.½¤x9ê ¢a Öí°o³h%[I=j¿KµD¯{bû9ðPZ)2]ÝAèz®ÃKÍG;C
±¾j§ÎðêÌ»úYhëÊô¡/5uRrû<9¸= /-Èheçí$´20ÎIgÕ·üÖ"Ñ(4óÜÉ4á¢tRnKM;Ⱦ7àQW
+ ÆrÇE·ÇµºtQÄfëþµ?×Õ¥OÙ}k{5ú^ëyömJQ=¬jÌs嘆ëbPúZnâÇ wÆAÓÝ_£:`YÙCëTFU¢JªF»q;LaÈÝ\Mõõt.nï}n@¶º*SÖÇã¹ä7OísþÕP%U×MÇ^Ú0Õ7ÚAz-É,9ìvä0N·vôôèFâ3×U$C`Úüqbê'ÁO'[m^ìtÄ%hjuæ|1²NwNн
+eõÉã^Éê@ÚMtéë ǾêaÕGÍÇþâW¤·µ»4ûµî;¶ÆÀ:8ÕW×4TRÏð}ö §<§øS/òà;uWr¬Î³è3Ê-wé>LºhéêìsgxPÍfIÒ!¥KÞXk1¦¡R®ïÓ[K;2F7U¢Ç]ðÙ·ë~oTÕÜa¸j TU¿ºX{2.˨TüìÀö£mp4fä1Ô´5V¯ÕIµ*ëÔ¶ÒÊöLÍNL£R!ÐÏ&;<¦0ßGúL:Äáâs½T˪{d!Ìüö¡ûHÇüÑgSèi(S2{XüÈaìûoó±LÙ½õ²UÎ]¥ÔÛÛÍEÈ}3×Á#ïÕ/¬löÐ=ÌÓÁ/¡áØû©A²oÑåñ¨
+xWvÆÁÝÖ4¸|Fã{xë«'Vzmoü¾Ö\Lùy¯´ÝiPeeË»Ýèÿ\øúÃöãwíc¤ö óÐ=Ë@¬©·NàÑíßÇ{@Ê
endstream
endobj
124 0 obj
-2847
+3235
endobj
126 0 obj
<</Length 127 0 R/Filter/FlateDecode>>
stream
-x½\Ën,¹
-Ýû+z=@wJï* ÑÀµÝµÈn
-®$pþëZ>¼ÙV¬umònÔCÀÅ«jFbÂÓóï°}Êjì¼Iú;ÀDÌi©6+1nîM
-äW³¸Y^%»¾6TtJ¬J¾°'5±[ýIz1Û-j¼ö
-Mx]U\&¦¢|z°'`ÕýÚw±'¥ÿd®gzþ,êB¸d´9T*¡4Ô!°Jöõ"¤SVh<4æ%^FÅFÜ3/òGsÍËÈàÊQ
.|Sí\Óeb¡9
-Ôèh|1G[s¹F&±gùââHqʵÌd=SΦ©Î¤ö;É£Ejø$æj9¤üÅä¼GôÖßó$ãLOBƹ²Ô帾ÙCfm«ña§ª)ÜÅ*H&ô&ÞçA¸Áe´w/{ˤz«v¯";ôü[è!7àëôä+o:ix_ã¤ã¤öu=2ã7¹ÆeÇÀü ÈØ =)KH#å^2IiŦÓCùØKÛfÉ1.Sà|eµ¯Ô¸9ñDÛ$;GÚR'cÔ¶¡>¥NvÍÂË)¯o¤Ão(¼¡S6
Wíséº+¤a³
-n ÌEzï8»%¹2|2°TZ ®>ÙºPP/t_Ì
-*@ðÀø ,zLCêÈVJh¢3²HoË
-(jèÑû])Qhxü§:è\QÖJíMÛù
-Q-]²5`JÌB¸iS³¥øÌ
È &³F|l;D{ÔªW+Ð×±4mpÂí3ÓFñ
-£Çæ\oô½ ÊçÊ®_©
-/ÞnùTÜpû>ú½aÞ[{\ÌæmwQ]¨}¢çA¯
{ª"?Ù«°)ê}Uö!sk»]kÛn£ë»»(¹¸öõqâ¶Ñ¡Célq»#uHnÕI¥3R½ÙÉ&Yû^].í%(ä=UÕoè¾¥³@ýX½Tàibgó]xhÚÎJ*6±÷àXw)³>eJí[ºEõðI ïÁrMý> ÊÓ¸Â)Hʱ¦k?qÐ)RUÀ@¶ç2É CÄG\(vJ¯nø¼=&¯¥éý &ÏMBf
-ÙÐd8TÕ=ÂXqtjºM'¦=¨qª#!1§®Þ¸¨¥ f³5§Ð/9Ö5 .ì£o
-,ÊÅ4õ]ÏÑ6¼C´ {ïÑ{-ºTCÛgZªc»ùæ.j®Ûlú¥Êä)àGN^(ß<ñÐ|ļºã0~hûÇthmÙdlì8R),òFEªÎT,¡R±Êû¥H²÷éC̱* Û²#QVOîúè¬n6mæm®ÐiR
-º½iËàa/ã*#G½éuWý£ÞÃD |Ø÷ê±TÐØ8·ÝvßàÄ8JcþÖ§
Ò¸Wso-#c
XÙ<"zqlú4M[ÅÃ
-oín],©¾ìßØþ*ÆtÓnMc6¯ÄÍX~¡ÕwDrá=ð,@ÖÝk¶Zb475룳!";Á-7úVDZ~Ö°ö»ï"
é¾î¹ÔVØ7ÜÞoÞèyªPÔç;×,½6Á¢ï°¿5SOVÙÉ=ÎrG«[s@NÓTSg£ät«!sn1"ÀnáçLÿ6âG@ß;6X/¦5m-ÒKyZ
-æîGÏæIµKsà^=AÕÂ[öiÆ)]n©M»#/¼IТñ"Ò,)Cû$¾âÕl>?á«û,ä2uÄ$-<·J^éXS+ªêãöÂH(t
-i.[áLªËGêÁTùZع|FI4l´ñ8úÔö4êêã°I([¡º¼{Ê]æL̾LLã²à²¨Ùá7ÂÆÐèp.acëöä{Õì
éìàÈ3îäàÂY£lH;j0yágý%p__1j4®¾ÀѽÒo¤sµ>f´\øÙd·ÇâÍ°¦»¦£×¢ÐÝwÓ}ËÒ;ï(-W6:Ññ.ê¬êÓ
-÷¨ÎñR§Øù±ªIï5Ô÷Ùð>SÝÏÄyÊ;QMñeúBfx~Î`!uþ%¥µ Om]«?%¾W}ä2æ½FÓÒ
,ÆF¹¯2ôíâP/}¶ÓÊí_ýi
vú8^Ƚ½eÅu0èÍwL»]cT¢#-7½Ì%ßüÚÛö!sqY¢q⿼?k/öÀ\³Ía)rJNÐhtà¿5zñ6°p¶
-¾Í¥«ïvÒ½n¦â{ÍÈüéÈ)ÿ|f.¬!e ÅÌè-}È^õ+¥/$WÞ2\ÛÙIÈNGËk`ìÂAÿb..Gèw¿_^ørL{çýAwR7Ãê >ðëôt]mÛW¸%·Û¿l_f®Ø÷÷IcϾN{,4Zëj¯qn`f۸߸öP1<©ùÓOÔµ]a[ɪ~ÎaH(µÈç¤Ñþ§ÓË$Ê»DsCz¾ïÂP?×qqrPMIx¡éÊcð äÜÝGÿ~;´-90rø'Æ£D¼üÚÏÀJ,è%ÿ£/ãâgéÕ©àNË/6Ej?ò,V§Êà¹~à±náïÒÖBðôp:JWÞgþ2~û¹ããÀc~äÑrñ¼rðT¥FO¥^¢ócYUO½Íªà7{Zëí-l˾7§NvÈßËÈ2NH'¬'xÑd
-Õ£ÿøùÛå÷_Ò%=Aǽ¹ôëåÿ
+x½[Y$Ç~ï_ÑÏ·ò>@vûð³Ìÿ%Áïþ¾ãÈ#²*³jfvZ³ÓWÄ_¥®\þwU׿¨¾mà3füüþÛõ?]ÿK_âÏ÷]¾~»h®Qã³ßþyýùenñªá÷߯¿¸gxE¼ýò×ë·_ß.¿nÇZsÑF¹Wx¼Qf !dø·ÎÜy~C3'{Ë0'Ìð<£¢&è`£±8*ÀN=pòì#h'ãѯèÃVàyïó¶¶7Sþ<o`D¦Ñ¸7#üwy',s<û¾a>à°GzÎå³÷³®æÚ~.ÏN$érÑ$¹¿
+çxs»1v§ò(MÐÅg@:6Zç½utòÂ'à7Ò3ïÖ(·[5·TÏ@Þô©aÖÿ>â<¤ z<¶§s°$MMO¾B(k¢>c<6MÄa7ÏåY/D?CªEòYéDwXµE¿,ʪY·C6}· 7Ä(#VÓ<÷£ï¿çÑx>zÎwdáI;ÞªL`öWÓç¤#îAc®J'Òø"SÀ|î:ÀÝNpË;ÈÝ:¶´,bO/${=ÖG0ô9´D<EFf/_ÂçGLâgJ§nlîQÓ`r~dª
+'
+ûÑQ® !þí+ݾ @Ávåh2Ý;©ÖY
+ÍçÅáOETw£@08Ïv÷` 3Äo0édÇ黪¾uÓnè0jØíy>¼
+ âjàD
+¡
+YPq¿°¬ìiÚ@ã'sòéA?p¯8K¡ÎÊ°ö7A+ë¢ð*ÂÓs)êÆîÇx6rSå»Cð¿º"^=àç^V´¹É¾$¸Dó@ZÊIý¤@
+ÎûÇÑ¥n&Äì®úª}
+DAåÜ«ïµ²ìæpdºb¾hè©HõÂÕ ³/ÂL±æþ×¾)°;ß[ßAµó
+XÀþºáÎrîûjÀTXÉà
+da A²Æö
+3©bnikÕ
+ãleQ¤]¢NOtDhLÓÉbýÄ<C\3 jrªC÷Ù ¼%LÅyªEÞi«2_ò"Vá\2ÔE?&=ø[½¥Å8=fFèÌw±CGÀ \Ó³±yyI¢ó¸b×
+^Tbªapâ~üü'§$+öúÉYnï"»SSD¸¯_ÀÇÓ]-i6{Îrnäz>ud;-Õæ^t*FÏÚë1¦íñ"Ã@Ç¢*c
+µÍÍgHºa8³I?Þ7ôýòL':nSµ/¨´çÏ4äõb®Õ
+ã|£`
+ê
+>H©â?]`ü[ªÅ.¿ØϽʺÖ!Ë©¢5Ô.¹
+K©{¹,
+¥{[cÖ\öD@ç{WÕ«b+wÀgíÕ&Q9[ð@.I<òÀÖ£pª¹,0ut_ÆB0läi~ANçq¾M*Klí²þK§Ãª(YÅ1Á4á«N´çÒ¬$òó ÖèqÂ<ILz¥ÝËàRooB(G
YZʹG/ps9)Ky¢ÅÿÈ?îþ8úJô*NÀn©ë;¡ñO/»#UðÓ5£þcù)íÒ¸°Üã×ÁJIJ×O§GüMr<
+`£rI»ç_vaÎGy(a3Ý+Ư%Mà`
+Ö"*f-m
KT ?ÑZlÞóç;¬e6ü½ÖBIJ©iáSýc«ºtëµYâý¬nòh;ûÅÞl9³}~ÊÎ(üí,ÐÍèºXAótW£õb&ò6ûý´%.ûÙñJ1öSÍìA§Óç?9ZQé x~gG$8©¢=Ëee·G©çû³£óýh}<ç|w½w
³JuÒÁ,eÛLªìµºGt;^l¯JüÝéõ©åør:¥VB¶wk3òOs®Î{¢Cê½ÙÕ'äÝ×qr¿Ý'jI¶gDfs ÚÖFá¶e{W¼,=ëZo=
+òfvkÁ
/¾_É¥§d¯4t9Ç£tã(ç=8ÔV<+
+
+½ø!
+T|Áp·wÉúRð,Ï~«ÚøOÑGó®ÏÚ¼(
+¯ÛNj£D»Í´À·7O)}¡nÝâ4ˬ£ÂÞ¶Sb=Á:ö²¤Ëz@UMócÆf¿P©ïìÈCRccëô¤yë¬NkÀó|7'4ÓæÍDûÓ£Íf´á<
XGXi½Ê#¡_d÷{Váz.B¾êæÃ0ìè_\ÎdRî×#¬5Pô8×x<j|ztÁ è£]Ô¯S¼O[¬~
+5»[)¾hNÀ÷û}#î¼¹4°àåq737ÍößÛNÉumÂäHý×F+#àÒZSç®(Ý÷&¬HwÀÀ^T
+ä
+í½3XëbÅ
+Î@Ú%øZªÑÁi÷A8_¾^¥Ì}§t5æ©Ó©ø6-ôJoÕF6öfn[ZÌñ¨Ì]â/
+ã§òÒ
endstream
endobj
127 0 obj
-3222
+3476
endobj
129 0 obj
<</Length 130 0 R/Filter/FlateDecode>>
stream
-x½\Ë+¹
-Ý÷Wx=@wJ¯R`èv»Ù
-Ð@Av EÌ&¿½ETî¹3¸oÛåRI$ER^ÞÄå/ÿ½,×Åý¹
-é^íî_ûåò·.ÿ ý¿ßþõòñõ"¤~Û/V,oÛåë¿æ"Äåë׿_µ¸éëúËíÕ\×ýöêßYu{W«Ã;q{î³U
ÿ{×ôõc]o¯Ê¿ûÇ×___/?·Ïusð¹B^Ä,·¼.áe÷/Ö¿|¸¡òéß.åêÝfÀm§J»â§ÕººiǤuÝ^÷¼Vß
oYé?w$©ÄO4¸;b=âé3p_zêî0×(äøx]¨å¾k½ÂÅôü>9^Üнà1éûUsE÷peëy¸owjxSPý_ÿfnÝ»«JÕ
-kÒÊà§
-ÚY6K úôe Út5~÷ðëÏ,
Né#<0ç§.ï`,$Ûv²'÷Püè(«#+
--}e¢Û$Jððd[îs±5cgóë^Ü?:ÿµ9"Á,£kDR½ILhSîѪÓü©U|Kx }Däç'÷YÕPE÷öîÇ,7q5òV¶yVo°ÓÂÀT#Þ k!xW!Ó»Ø{9l_ù¾ãT´"W
-k¥ðý8(òþhUk%EÙk½X5¹*çD¶$òS¿KÜÝ«P:JD|ÚÈüMSßbxS¤wÀí{I¶Õ2êÍB¡Õ
-àHr
-æYY(軲ØÕÚ~V+Gò¼Î/íÑ
-!Ði1-4BÓ¯Î'( ö7ÍÌ~j°j¥à âOàÍü?³¶ñ%I·²]Ò8
-ÄFyGÀócM+À|°£Í
-MÛifµ`øï{z
-ðdÐßC %û&
ÉÁÑiy`Ù¯
-¾ å7Á¿(¢çDÍoÃ*§¢©zL}ò)ê¢p»ø·G¹ã]/0ëO±É]©`È
-T·1¡á°ERæ¹
-ßYÕp¿Ñ#·ÝÉ}¤´ÈÏðÎd.R <äÙ¹HzËß²=JçÓl.vëÉ¥îúdUª
-pÏùýuzO{ê]Ýw7rÊS½ÕÅlÒxÆ!¸Pc#
-Ò°~ôNÓò¢¦%hZ$ÉÈé-eÖм¹LüOÃÙ;¯Ë:¶ÍUP:¦1té²Y¨gÜnzPZ#¡
-Éà*¢C²z(²ì(Îpn«ÁCb×MÀ£q½åw¹#óføiþþE;7møÜK¦xÞè
ð¦ËafôNIìS£×>ùxÚè¹*YůYB"7ëTv÷MEéñ%
¯ÛwÂOÅ
-H#Á ü)m$wx8]*@ßó wO×$ol»¦à2Õë44+3ÈÅ+bïÕpéÕ/ɳ¬WíYxD^Ý¿øºö+,zìUcÀ·Sá;Õ4°ñU'¿Ñ¤öŸ,ØÓ»Y»ìE1
-Aaz äÑ|eRhaËi§l¿}¥¶]ÙÔ4¥xke·ÂL(: ¢æ·[oãÊq|Ykxrl¦ü*§Ý2göñ<¬lÕïôT¸Û!NUc¤³yÑûF´¯>þÐpU·¬$vFÇ
-ÈÎMdl¾NÔ7ÚtñQK;kquócv{ÎwÁ¾QÎG)v/.ͪæy½!Xíh at MkFõ£}ýNo¼Åµ¼ÊÃÿÕM¡*K*F:,¡vS+y6iËñ81dtצ:&õdÄÛ¡P®JÝ?RKÐQ7B©<¸¿ûß Ë
-§_5(
ÌÌË5º@yq
-¥jñóÈâ^ðÞì1^º²Î~C~<éCôù¨>lrxÇFÁ_º@d 35ÆS>Ï6ÕñKûó$qÖüy¿2±dªîïXc¸ìÌ/B5¼±õÜB´[0\
- È5dBÒ«òòSñ³scèðÖ߯~ò9®i±BsAëÏ¥[ë)eVÔ&ép0Hµ%n.ôw°:Ù,U{Þ·ObN
ÎC{R·Å!ë öªÉrù5^y³¤A;ò)5Yv¥öáÒ
-¦Únç¯Ïlj¦&dÈa}ö´ï
-,nÃ"p+ØH4=Ã!¹cß³aÓÞQg«´°Úñ£T!õz ^¦«¨
-¦*M 8}ФePBPÀ¼¿WîõµÉ|H:̶¬BÌ|`»õÈnƵüCùãX§6hVÂDSI´M+%X^ú¾ðsæÓí¹5x´
-æ© hú)¦Á-)c,
7þÅN**"Ü^êݶ%±²ú~ÛÄCÈNÖÈϬ
-8ïÖµ4ñzJ!wÕZ(ET)óç2h£kX_·íT\~×T«Æ£±ù(¥ÕôvïïÄgeÃMÛ½ôBð1fÆG{²ä©)Êpf°X¡¶¶Ïé
-öÎ}e§Èj ZßJ
-,Ó÷[IA4@ æ3!_Ƚ
;®¯û~3fñ¥-»ãk}eûϺuÕÒ¦Æwð5 !w=e;,ÌÅ6»GÍeRJ¢bt&
-Üs<â4}íO&¸!
Vî¼cÝ°1<
-UÒ
-#LåOeµ´HÈ°äTäK¯Û®Ù_?ÎÁ0Q`78Ü=rg?OO%>Í-`ï\l©%³¶°Ï\Vqû]MR%]ìòôªÇ£HÉ(
-%ÒÛöLºÆ ±Ì¾Eë
ö¢hhLôËý3]Ô6ìxNÆ9¬ÁµÌÅÃYé»qJq|*kßVFu=Ý®7ÎsG¯¬ìû
ÁÉg'½C`ÐÇ%#æ²^ìw+*бû[-¦ýÑ
-8=hMKSÏ_Ó²5í:ç8lóZíh¡ ¬¦SB1ÓGóL½»!B½ûí#!§jªðé¶Y ¾µfX*l3ÚÃSLNu§&箳ëcÃv d
-w$lPFùjÍtd×,Ý¡ 0 OiÎødsï'xãúª>úW<OU>5mI~»`QEøÍLbMQ°gÂV
-CyêÞµr©X¹óÙ~á¹;Ñ2àÎ>µôO×qø_¡ÚÒ4Þþ °uZ¬½&Î-dJp´6§v¹iêJ,è°aÊ(¼ô}\ÖüVÖJÄVHì{¾7þ$MøÁÿ¼¦zÇùiëú£8Ïìb, ~iç½Ü¶çQ$ÿãpÂâÊÈ'¦è:ª¨¯þRBR×Z¤S_Dà ê¿\VVäYV£Üéà¯ÄÆÂ<ãôâ6
-*]Å}sÁ'h<@µ0)CNªØ
-ÂÏOøÏÄg¹ZnuÇÝË4ögù¬þ`Jµ±L²ÚX¹_ÔYÙ]qgü\/IÃÈeZu>©Ì®²¸{y[Wï«z
-¸[
-Jgƥ
+x¥Zɹ½×WÔy
+Îù9C~æ?÷ùêç¸ó=¯ð*)?Käa},:sÅUynLÉ% }òç¬øèóâ
+~/AÖvî:5å·ß8¶Âá çB×Í
+tq
HõS³ûxDBÐj·YgÕñwÄÏg
+M¨
+§M¬-U_k?y@¯Ykz}umI º>¬XÝùMf7.ÜFS+?`5
j¿Æ75kj;ìojHP«pköO=òÖ}BÃkJ,º#¡Jdü ¸)*]öó2@<ÖýùøDQ0µÖäTÊ8qS Óäs)°¹¥}êÅgíÓoXB×B¨årÝÕ÷è:2 uE<¢HB¢g4
+¥Ñ¥¥iü]Í8g¡P²¨Å%E_k8d5Þ?ECry¢ÙK{8Ê&<¢wXýÁ\ò~½â«÷DSbèþ¹ {=§Úù¹ÄW_½ Pl௰·²xzne«Ê®gu¿b(îfgçÊÀS$U±ªÂ;ÎYNO¹¯ylßÏ´øÙi¡¼t⸬#ø`©´¶DèÞÅ`ȹæ)³ñès H/
+KäØ`^ìÕ®ÒímÁydWÉó[
I±WÊ·hSëoý}áóÌMMØüèÁe7#ÿôD¤ûù{_¦rÆÛ¢AÚ9vÙÅG?öl¨5¢ù![U«D¯¼:hãºíC¨#Oe¾°tµÔ(ìñ©/!Ï2ó§ñ1ÏÇèÂû5²«Ù¡7¾ôïÉs4ê*J6N$y*ÜÿHw"u¶c\õ³zµ÷-YDÓû¿µM·qZj§ §7Qupç4[G»rX½9\ázȬÐù
©ÜÚwû?ÁPjH¾ãÊ*ßÿÕ(½´){R1̲HÉ&íõv[p46àLéÜæ `ùø6óe
+|;/¡ÅÕ¸îÚÑ`ÊÉ°í¥¨{WK¹åÃTw.Ø¥Kñb;¿?e¢»V¯lW?-Màð)^B «>sÏé!åtc Ыæ}×è¢-¾e·¦_ÚÊZ8Ú0Z ¤pÿ¶ÂUG¶¢üÆzQPÕ!¿çÓBÆVÕ^PSI2!ÞÔi8Ì}#LäBq*Òht¡rjËc.+r×V*¬Ñªï¸Ø׶J×tÊ2Ì(á 1õ簾j¤ÑK¤Ó¬
åõ?ÂÞÞ¯»*St¨l8±T×êÏÕJínpUNst+Åíû|NL<{É#@9ñ«ªæMé±uê>U§£çÕh%˯ɿV¯laÐsþ
o~Pïµq¯@
°j C¾îMK¿ñbke*_çF×OÙ¥/ctapeÓ´L=1
+!ñv$Hq-jô®JbGs
+\xªQÄ%÷ae±×6²¥YjȨâLmN©v¨É ¢Z_j5ïmÕv©ìFyvW¹¤Rpm{o at .ȵJァ»òb){PxÓð<f|¸ê/Cæ
+LfLJ-BƼY1Q¢\oi°hÆÝ^×GÛñTã£õ#¡îõÕF;&÷î«
+pãâ+hªÆgwñæ&n:P'°]Êê@Cï`³ê¾ZÖxÙb.ã;·SÈÁ¶ºËp¾äGÉÙvüq8õÎ'já½/»ÀÒb1ÿÖ:ß'w}õùTC¬Ì.õ¾±äб60_}*)ÆZvHnÒR÷WÈ&,WÇÞ/0éìæùºjÒÇAǼ[g+Yâãúl½)mwEÑ2æƲ^ G¹ð×.ÛT©hYa"H{MÝË©óCÔníÕõñR8Á s²¨ð_í"h³XÞ1`óH>3ÖéU
+ÄÐÙÇrÌCþ,A`GÐ* ³x=û_·{{Áä±Ü§î@»
~'Ö¸tK=çùb¥ü;¼R>,Óõâ;nø5wõBüÿD½gOí iÆHn1ïðéR/ÐØfíØØ=[ìÓ"fñOÈ<'ª3rbøìÒAÕÃõ0L¨l>>§òpÛ5G&.¥~Ðx
¯húURã,à8«}~º3LéÃi_²®ØÈ@ðÓ!¶:N±Ô<¸ù!ÅJ~Xïà0ÁµMZé覢5|M[ó>ó°bëòÕØÊrøV\G?No~lUlÀPQT®^o.uÄøÞ¢ªæ_ÀÈÓ[Í´5îð¼³·°'^(÷QÏTy¤;öÒ_[}yÛkùOÙ_ñM«ÏÚ@Ëý£Ä,æÑ^cû¼apÖaEʽõNû8óHW¨c½_ÕDïçïç^Òºé³d@ÜmÉÒïD¯<f-²Ü.`³ÀêýxHô>¼ª@Ä=>½c ´k¡K$îcÇSoI¡U¯Ý6zªü:f3̤V¿Ï±Ì>ë^¦ iοÒ󫡯̿ÄÁÛòsû
endstream
endobj
130 0 obj
-3857
+3222
endobj
132 0 obj
<</Length 133 0 R/Filter/FlateDecode>>
stream
-x͹ìD0߯p4û¶¥ÑHsØÒJ/á÷鳺ªÛ³Oá7ë>ªºî£=Ùð÷Û_Ã8FûS3nfvϯ_¾þô¿¿Ýßßdçy0LõðþëðýÊø`÷ß~¾úÊ=}pîÂ>¬nàî÷xºw÷ë/ï?¼-ïo?¶qõYÁá ¼ñv
-`´O´íSÄÆO=üxÀXæg|OàC¬ÊÇsGái9Â!a¦§M at 8naÌ5%ZK¾tÉ>ë³´å® då¬#»ýÚÅ!¡´ÅG:1á£òhiÇRrô¨®rn«i{»µt[ñ0äáýbg¬q¸Èï¨ã¹4Gr½g¶U¢*/ñ¸RBø²FÆföZ¢gÑøLi¶Q{õ8AævCÌvGô¨CÑ¿Üo&'EH@;q+вÂ5áÒá©£µ<5OÝVïlHÁ8'R !ÛJz hÙ@`Lì'úYÃÝÍA4$HǤ²¯<M¥
£XyÀIñbÂÞ¶-3e+I%5Yvàrß[ß
-;¢«i*yÌ·C|=Ò5Tpqª·:ÃϾ[hpv¸d¾±À`àyz³XÒÈèû=ê)Ï
-üâ{üÊk2¿gÕã*׸ûÉ®þe>N
-"ãÍ@;WÐ"
-$§uLÓBÄsiàå>×óäÌv1Ñw}F£ÕÕù@×yvÅírÝ,N³xøÞ£
-¢¢xF»-Q&4AXa$fÙÅUðÕ2smC5¼OPÕhì¥RÄËcxîý+×ðì
-s#{jkÀ.>QfG>Óx#¿À1_è]!lÄ$&®»/DïÊ#;¯üD4hB§6
-±O¢-Ý{Î[¶XÑoY4Q
-@»§vÉ/íÜÚ
-º¢ÉÓ
-ë£ç²õ°Ì$yÌ3GCâÁ³y¼ùÄÙùEò~þbP^%4
- I<U1©'B91ÊB 'QÐñR1 åBÓ¿êÊnÙ`M&]/ÌD9Ð&OÍ\×£ºàH7RêTh^ºcN´c5Sß1ª9½+bL.4ËÆQ°×C̵MJ®CÂÍë{+ÇñÝaÄ\v>´èܽL=}ÁÇá;9ÑrjQ2d+¾èà ïó?ÇÙY3oV>³ª
ä©ÓY
ì«y JèMö~Äk
-y¸C¤Ì
-4=KkDrXFRúÖÈ»IOÊes'Õª
-8t*dêE%Ka§~7ì
-H«ÏB5ºFTÍÂ==áÆTÎCÄ®3«B*ªRà¼ç9.Ädªè¸µFÙ¥RÐF9)âÛªUxñÖv!}
T$ÂÜl´ã¢ÎG£n«¾£VÙ¢*媬<¤ÑyØöÚü¼]Ò²Ï>ÔOx"¶è0½Î1ä¢Á
M_YØ}FºÒhõQ!V±
-\Í<RiÉÍàcæ
-»pºr(¡¬ß!ª]Cõó¢±ö@4æ9¤Pÿæ6ò(Ñxú£à¥c9\«kùh at 8´"¨ð)h»B<õí4C &2àU°®¹wÍÕ]9¦
-×^*vdèNK¹iþ´Åè÷Åë"rÊäVnm,°Áwdþ3±Ù(zuKO;JØ¥ú3[Æ×ìß.ªþWÏsXÖ°Óu,fþ¯°6𸢠ÛǼ¦}êIA`ËP¬²¤t¬Ùí/[bç¢á&Ðæ-©À¬QT!Áöqê%óI5ù<?¬h¯òDç¾´'QeïÓvâåé´Ùî
-4À ÆKV òÕë1@¥ÊD×é»bÍÞ=íeÓ|¤÷
-dä¥
-Þîj·äÿ'Ô¨.Uäk½µ#¨/*£^9«É¨m]àå=xÍÖݳݻYÀÆÎ'
-ëôêÎr&û±¼Ë
-æÍiâë
-
-6ÐûîRßF`j:ëavu|Ý»niaá
+xµZË®ä¶Ý÷WhmÀ¾)qKÊÚÁüd ³ñï»$H©çf<é{o¯:UuêÁVÓÿMjúQ=õ´÷ðý뿦ß~þKñõ¿?ø¯ÿ~üòñ0ÓÇ×I=
°Öé§â3Mÿþ¶9ø3N¿O?ÙW´ÁGCH~3
+ÞutÁ6ø<ÙÅ¿ãh10v
+:,ÁÛåqÑ0X¶±ÑÀ,ÂVZÀbg?ê9`ÚÏÓÇëÇã×4ËæE$IB|)>gã÷Þ¢,Ð6^aûNbAt
bãV·Á8ç½¼VO;@}ýÖÅ
+ÑÅ/û
+/ØÍòVÒ
ýôF³³6ª¯µ¼>¹ItO?ÆlßQà}¶åÿ±Ïªþî y}e
+8ÐSYxo÷ÔeOH¡*`\Ö·2js½Hçô#$aK8QÉ${ø{`Js
Ð ägl12`a¿°LJð¬R5˽Æ4ký¬<#©DXQóbI
+`(8
+ô
+X<p|ð*t)B[c 6T°(£¨
Ãg^ú£c!eVtC%,#8o
+ã@Æül¡9c©a¼CCÎëD%v·ÅX;T:Oi}</¬§03¬°RÉvØÓj¢
³"³;ÇÐnM]½[«±[«A»õøß$´j\h
+]ÎT-[PkhÌ⣳µ;-¸ä¨AÎ?JÏ´hä`IÅa
+¾¬(|§r¢º×J¾Î¨£?ÚêÇε¼Ad_lKL¶/§°WZ°¨
.¢·z0HÇYÌ`õB,å´^b;G-¼¦HÚè'Ké*;íà¾,^Ó߸3
+¾¯õØB
+mâ£gdÛ7ÍÙp?Ò$='Ýjâ«Ì+W¬9¼Å½:dþ¢(r²;F <}<âò¡MB¨ÊL#A¾µõÐñìCA2_×níÝi
+F±ñ}DæN_4jl¡Ø?TfQÑo°ÇEª0Àím×O(RÔȹÇe-\ë'ÊÚ±÷{öæ$\%ûEÁc¦*ò
+í¨$A;jÙxIMRºQ=-ZE|ÅÒxv,§Öƶo$Ð¨Æ PÎÖ[eg at BIÎHDtÃVɯkâSáoL¡qÌ÷üÐ}r e'X(ݺ©
+\0B8+Fh²&'èÞɾB ÓåôóûvrÂãQíB²Ù4Ѻ¢ålÖ"S.&MNÍv¼ã18Ùyi§¼¥Ù!¹tQ~õ
+'mµX¤úª
+X$26¹%hqûC3sk¦äJ
ÚNÛDܦ«ÛDÀ
+sºìµò
+ccÉXÑ=ÜéX©'eþ
+
+!8î-zxØïà
+ºyÄK(-[E h\qÏ
+â,sÓVC
+¯S²EF]òkøg|Ëqh
¦Õa9Îå}Íçºâuö=oQª×í6©à$XýzȪå¡ØeßKN]q|¼Ú°±Zh9HÙ¸1GZ/Í:£Tª^rÇ&ªÚ´jâÄ6;/;ë]bmRΨèèËNße°TDç⪺té[ÕükïY8:.G)g<j¡È0UÀÉÍÁr^Yö* ).ÁêT²¦/ä14Ñ7º<¿¸Õø
+òF'&vè¦N
+ ±Î·Ü¬?ιʷfXÁp'sÍ=ÃWÇæ¡9RMcèpÐÃ4JõÂ4Q,¨^ß%/t㲶ááxgC}kn(TÎÞÉjÆÅúç[BÑçvÛeÀ+ýI!Ýé×¢%V««ú¢Jî
Èbe®¹¼Í¥¸-÷3¤å)±\ÔûMý¶7GñßTH"hSè6Pöº
+pìÜõVÊtýh¤µÞoc`Û,(æhR¥¹úý+Þ¶É;ÞçýÚQô^ }IKø^zdìWÂÊÚ¯7õ&¬ý
+G-Ììå9ÁñǾá0Øvá½S
+½víC¤
++MCÛªI<Jl¨Þô£O¤Ù
+$ýMÎE§d?·Ôâä2.¸d/¤ºÑu?öÓ¾¹4)äQýÊd`õ¶kãîºvÓÌüæÞãl¾ßP1oSx/:wþ^ES¼m¢ÅjÒé«QzþºéJÔGöVÝørNRÙÕ¶?Wʾ³xÈÈ+84½Ì0 jÞcÙ¬¶Æl%²ó±¿³M&úëô'b`eV
endstream
endobj
133 0 obj
-2587
+2653
endobj
135 0 obj
<</Length 136 0 R/Filter/FlateDecode>>
stream
-xÍXK«ì6ÞϯȺ©ßI`IÝ]è¢t×tqáÞMÿ~%[väØÌÐC)|&±,ÉÒ§ÏrÄYv¾u¢ëütRÁ8L8~ÿ½ûùî«Ä¿ï®4ò<u4g×=~ë~\¥êîñÇ/áfõÒ aPéß]q¸ápOr÷('#ë±5jñ"Â&UiHªÂ²
QN¢ßÉ{MËülx¼%7dòï#.ïLón¨¤^ërBM¯íH)¹Î¿>~:-Óz;W$£Æ~¼`ÔMãYï&!hcµ¢¢ñ¹ÉΤÞt`
-eaSâ.,Ù²Øbw'ëÝövÛvJ»rÑj,ÅßÀôbmbÞ÷ö%,òª½öî5ÃT¾³ìßÒ@;O{Ø
-*Xà
-¾Y"]P&iE R#ÿé>"%n
-øÑ`ûåÃ4 p#tÑhÄd¡§ó^¤#z,BMOØ#Å"ÃÏ
-n^Ùûe#¹4JÈ0¹Ï:ôóÎsrpb$ϸ7sËY½ßÓzYüw.Âh«²Ô@ómÓ¹d=X >µØ:ôÝCÓ£ÃÁSÑ=¼ÝâùìÊWàSDù)ònEçÑç â=å5$ïö®;ôæöGÍÛ:v´Q\rRÀºä§Ê,d®Ü¡co¬aàÎU&õ+zv-ngGYUx<mÿf¢GÞ=,Ç©
-¾`I¤NYÉ@ß,j÷:$ñEww¦©&àu½Â!t:Õ>¦(gü®vÝÉÖÖ?½ô[£â§tí·fÀO
-ñÉðw~¼í&Ü÷Wó{·1WðäîiÉù5Í!ÅY風˿g¥]u{$6<SþÎZóìµF§wd*k`úÃF PZ³Ëqul¥>=iÆéöîçä®î#íÒ#¤LÇQCé=}v¥ØèrË}ó¾h«A:,h)ÊïO÷jx6ióCþHÎþ#A¶yc¦x|á~Öí4>½q°²O:)Æ%3ÓùÂO:Fn©vâ{{)Hz³Øldc
-NìrÝ>!¢ÿµ±ð\hâl+8ñ<¹k ÃåûcÆÀ_º
+xZˮܸÝ÷Whm`:â[
+ÏÉÝÏâ`y_xïfá^ùQfø|æ%p|Å_þ|Û¼kúüLþ
+<þÃ9ÉÏ´Z·ÈÐ|9Á
+x[ðdÉ >驼æÕÏðù¯ð+FÏ:"w(Á*9ú] íÙa1ülñ¼ð¼Ò÷!ös
+`Å÷¿"JÖ\g5Ã[ñЬäλ©¼÷sìb)H´vm¾s¼ù>@ü#Ý`ÿ!¦¢÷Ï6q×p½97Ú÷AV
+»ÏÂ8/;aC³ì÷M6Íô]|
+Æ
+,U²¬&:{"ÂØæÁ£så5G{êEL*&ðCæ 6p´{à7`N´½ëî`ÇðÄëÛ4#»ÆØ^Z$»('xkÍalU5?#Ä9#ûs²¿ÿ ãñ
ëËÝ+ZC%6¯ {sF.Ïdl|Î=S)ºBïa+Û¿l æä%0w±Â§OcCÒ]¢´ã¿KÔ%õ0*Gæ8ê`
+~à
c û|÷¹Ô8¹É¤)JýýÖôÒÓ»R³j| ?
+h9T,K6Õ¾©êÎéÿ£D*ÅH¤¨mt¯Äx
+-½1#M`FƵ¹º49::K{OîY|#æ âR`ìA42B
+Þ®QÉÑÂ89¢ò¤ *µ%X Q1±ÁOÒ¨øõa.àÛ2z
$W¡'ÑSÀPr@å&ÇB_X,8¼I½0a9Áðù`Íä!DsÅP þÎpÔ¦[0ÙOHÛC¢»b¦KïCnMÆpW
&!×Ìf,ÔÇzÔ´Ä2VNÔSý¸~¥âØ©jÇé7ïôìÁt?'o2j
+È»¶«X[á¬vÔç
+FÈÂómº¬<Y~¦¹ é¢åhÉVǺ¾uÕ0pÕMIë}?^3,¶ÎV;¬»æòc|/+|r#á~Q"· ,q*¹3a9ËÅN¸¼¢ÑÅ×j'1¯p
"ÕN²¸Y9V`>pQE_Ò©ÂLí&ÁI³:²Ç>M êêC©¨@0k¦½^gØZÇÀwYÞÚ
V?Z(5@é1$³&«Â|MT´Zù¢öKeÒ
+$R´¨]Eù-?ý#r$ÈÀôÁÙû$é{ZQPÝ~SÛQêëÅõ1â}}óM«£C^|®
+õÛKÌq¤Ô]öÍèhÀ|! u4°ò£Ê]+ÒXºÚϲf±ê1aRv,vó¬û GEæC,
+Ùª
Ô¾M¡ÄìONæI Ù® ®¹o±²Ü
+znp
+ì9Buîäè.î úbÑ¿+îbK[A*i@9ʬ9hþÖXHó Â=¹-ç[bèäwå5Cl·ô®±iÆpIpîÂøFr0wíj¤5×{,8ÍÙÈÍô[Æv
+¦qü\¯
+¨(ò±
â}ë4i¦£iC«ªVïêä4/7Ç0^´{äǤ6ÉLØÀÓIü]öD¡'Ö
âÏ]\ªÄ¡Ä«1â<dÞhq
+Ú÷,RËuµ
+èN¹%m[Viò5èh#x¯Lâk4¦UG*n= ¯«n[Ãè>/Qbú È®³EúIêÎ@wb$M×)Ñèzpd ¹åF$Øå¡t³,ç½RÅTÇÞF_vH§Éf¾V"á×>9Þg
+Làû>kjÐÒðÕl²¤CCÀml Y¨sö®¬ÆVÀ¹K¼sål]áÛ"0½PzÿéÜ& ð-Zg±¦È8+ÀÙõ¼-\:A4ímn^
+ົum· Æ»è
+Øu<ÕÞÿàãÍíùk³÷óþýû
+Ok_Qjû
+} `Küû¯Ó_ÿ?lÚ]sæñî<óUwa%úió¬ ¿Ìvŧtäà{û§ýc6²>·O¼}ÃI\<+ÍJît¡©Dm%¼$(±S?i
+)9cañÝYZW_ÚpMgû6=J·&i̽k ¥!Æv¡£Ì¿±ëªÏ¦\'aNØY°líZSÄB"~ðq#K½þ²³Ö6Òióè´¼¯ï8[ÉdU½qþúf¼y1ìh¿Nå"4A
+`÷rͪ=¾në 9ö¼´<7i.gÛÔiÒÇÒvwîùh] RÛC¥8aÉZÒ»aYAô|íà6
vÒÍQwÎ(¦ï}ýî¾ÎOznAcYïÂÉE¤+(jDã,Á ä9¿ïà0È./B<qçxtWbúNàºêkÐ~$³J'ÁzÍ}z#)BÇÞq³ãÜAUÏHÅz Ì¡ç¨ë.óÅ»ÚÝÁÛ'ÔåÍStÑtzCel+ýp)
+Ò8X¦ý-h§¦¿{"=
ÌÈi%Ý5Hf:Âý+wM¼ÖþõÖfû$l뮣òuÓÚ[¹¦'Î:Ë]Z Gº¤\cå}¾/ÞÆH^âý(!t¼>TîuÕnö°\w"»klÚTÓ>97[ëî~Pv]W¥ïýþ~Ùé¥Î2?{Fw¼Ø´i=+1ppy6©Ó¦Þ»QEZ5³x¡^÷y£®¢¦MÖº¾Æ£kr±fqÛÈÛ³Î4¸°#ñßkðßtò ãÄð1
endstream
endobj
136 0 obj
-1277
+3045
endobj
138 0 obj
<</Length 139 0 R/Filter/FlateDecode>>
stream
-x½[IìȾ÷¯ÐùA»EÁë®ÒÀÜÆnðÁÌÉö3Ás¿ï\"3#rUÙ¡¡º[%åñÅöEj½²å··ÿ,ërYíqûiv÷ùëß?Yþý¶^7µîÛRþþõoëbÖõÊ%}¯×Ý=õíÐýØ{Þ?ߤò£®ò*Ï¿-8ĶåóÛ_nëq¿ð[»³ãîCø+Ò*¦ïu[·ûÏ?¾=?ß~*Fæ¸U+fgö#óEh?²<îâf¤Þ´2ü~7¾ÚRèC?̪ý¼ú©Uøm¤½9ËÎìv<ýtÏy·ü¾Ý`\yW7w¾×þþÃ~cêLŸ´QlF-Ź.n2»+;ÜEÞìÎv÷Û.üÂÛ²ÛsslÙK7³ÂÊÿg
Ày¸Í;\çz|PøÇì'ób³SÂ¥Ãþ¼ß/{x
-¦ñ>{åHkK2Çð˵2×n3A)0
-ßî·nsJõ[Å¥Ú9Fñ/ÙÞ"Ó.`ïi½v6
-K
-c«´Ävä¤OtÑ׬Ü÷«¨4ëÆûüç
-ÕNÁ ¥`
-öb*þõ2õpçQÚZµà D§®
-20nmãOP®wOs
-Lc̵̱À³,JP-ÒÌ7¦.IqÃŪÆÕEÒQÊ?_÷A½ü%°_tÞT'EË[ÉÌ;p$îR
-,IõØU3"M
-À
-Z^U
e_\%Ê6Îz੹?ðF¥Ý*°þ?Î1È¡¤Õ³8Ã6Êi
-³hM¥húµ°Ã;ì&Á
-át¬V¨u·¦Vø"ªJÌO
ó¦Ô³ðUaL\XvØ_wË+L¹0磴¼²
-b
-ö/aaeTY;NxV××\³.y$X£Ê¸K_CûÌmR$3©{.6.{äé¾[H2
- 3ì}m§óì]3Yɤ'.Ïr¶©¦FéÞÙöäj»ÕÄi*æXuÍ>%ÅD¿ Û
-Èò¸£Å
-!¡Ýj¸(lKÙÔ»Ñ\54?EÑU4/ÃlB«( 6)!ºRÞ©Ì[±®£uOY§ÆÚ#ßcdlIiKJ^ñ!Àj$Ñ*ߥh ¥×yJaçJÇ3Ç%J÷GAEè¶Vò@\*ñH8jÂ#:ö.b©êrÕNÛ=q-nÎ ¨gà0æECÿS3`{pá2I<PeîbFFä¢Û6*WÐcÃèqPçF
-ÿê¯NñÂE®ÐØÀõ
-6ófÁbY:ÇPCîªðTZ]QDA²U¥W
-mÐáráµFÀ3¾ÛQBQÜ#"vJf³µç¡K²bLË:'ÒhÅáôÇ"än:5)nCÚÐò!Q"uó
-óÄ
Ûj0Ä=HÌA4åÉE&^N<e«füpTjÌÅw^µèÎH
ßPåýËÜsMÆÆ©ÝJòQ«cs'©CºD¦V(®ñª?¥D
Z*¤xähðtlãé)Já$JMdþ]É hÑyÄÀ(,ëFBWI»
-h5.¦H²ÙYÉ44Ø'Ö~¯N!>K©®ÖèÑSæ#I-VsÆöl
-3x56µôÝ G¾ó©*AÈÀçb/W[¿ÐcX/¶q_ISÇ60ÓO?IªñÓ_Ç#r!êwtË.O½IJpb÷RH0>M³ÛÓ±¾YS'kà&¤EA
©õÉy/N at 4ÊCFR¤g
-?øÇSh¦y-5PòJ5±HOKÞ
-3 0Æf- yòD*>`í~§:L'øë/î|ëò|õÇÞÖåâ(¢_ì]þï-ªôIÑ\£5
-tþ*wU2%a`}Ý$ù%yÚ\Z{({é¯pé6Ëìâ&ÖÐð¬q®á
p)?4È?PÔǪüöóà¸ãB,9Xc&bé B1ÃngPoÔëp+çÕv
-vrUÞ·¥¥º#=ÝCï §ûJSݯÃ>Ê3ª
-LR?XBæBZ])#)«v
-«Ý¼¦î8ÁÚÊ^ô¹ã
!DsNBâ öZc¨¡v
VegZG%±êx*õ^8f÷rÌh¯43¿{>*½çUÔ¨g¼:Ó,ÚãÕA"ÏÜÊáÿAßýýÜeo0~UÖñ8Qy¬xHÌz«Û7¨ íg:аhJ
-Ûèçæj\ånå\
-=Uw¤>i%EÊ%&»¾Pc`æÚ7õyï°
-Ë& v%~ÒãXé7û3ÉEí5»ßsöôÄ
=b,0åIÖ09?Åï¹gãè^.Õ±ÊÒsÇÓ®2/FÑ"vëÌjÝOÑÂdÝi©?¬¶<ãX·É::¿ÞAÏW Vïä¥ÎáÔ^
-'*õ
-Òôc|"Vø"ëZÓf(
-¯*cïÎÒ¿fÔÛ1L2a°sªpH¦r</Ò¦£W
-üíËÛO˵ÞâÙ
+x
WÛÜ6}¯ðs:EQPÈí>§ ?&@Ⱦô÷Ë.ïÝD´þ»ýÜð»ý@ø²<ßÿ>ÿ6üÐEùýû¯ýñþíöö¸ÁðxÜØ¥(eüà#qHÞ
+oV?¦Áûáñuø#"MÁý9<¾ß
+É?%×ü¤Pn~¬;ùÛÌSå[»»Ê!¾Ýs¦;Û&¶q¯^âKǸ§ùpù×ËlPäH÷§j-ô8^8ÊrO({+§¨®jdú}F
+¦%-bæiÐ*Z0Þ*¯ííM£ïx{Í£aé[ýµJóOhZ(Ú@oìK±[t`µèÅSX+o9WòÈ:ÕØåÞ31g®òc/sϾäæU]£À5Ñ9VÕQu½æ4iD¹ìéïãZPÕô)öjzfgÛ)¶-ë±×
+_Áß¼kúÅ5¦V²áåÆô±g³fx^2á\¥0ÑH'(^bÒ×^ëB5tѺ*_P0ÎSÇFê<bʺoj°SRzf±֨
+ïËAÖ ËIïµ7ô^Pë5´:9õ|©Üï½ÈzòÌt)½ö8èwþóÈû¼Ä³âó«ß
¹ø[Ù1RVûª¤àfP&ܬnïÊg°¾ S+b[v½Än\(ïÔv·\*µû.¢^MUÕjEÚÔqúOлÄÜ#?;²°¦ Þ»#Æ«ò«;bÆ*´ÉK
ã%K| xïQ[M¦·ûOpÙvƾu-bý¯
+G¾l3æVò^d?¢LFI±AV pñwÃƤ׷½ÙSxtÔûÁsµã{ jT5æBÓÊfít´Ôp
+·ÔײUD¢Z61r_;[Òè+»&×ôÇòhýÅ*¾êÙƾZ¿ºwÖfëSÍ£)=Íq4wÎ'áÄ:Æñ}ÊGZ÷ôfS´VÖÖ?ßû÷g
+ÖwÚÌ5hÓwaë[ÕðÔ±´oÑ·Ó1÷ÍKéõ5ÿq£Ã¼ä>¬ª¶Qß»d¶<"4k¢µûûÝq>ËÄzóevX^UÑ];q×ö¹tͬÄÜÑêÙëSïâüæÐsØl%íboU³¬s1kOYèØa°6¯cùËBestN- ÔÖÏÏÈö£3`
+>
endstream
endobj
139 0 obj
-2898
+1229
endobj
141 0 obj
<</Length 142 0 R/Filter/FlateDecode>>
stream
-xX˪ä6Ý÷Wx=ÐKÖÃÆÐ÷¶½Èn aCv²d6ùýTzTéÑî;.4×,Õã£*1ü{úgóÿ!á×.î÷ûïÃOÃß~Ðý}ÿóôö8 ©.Ë`ÅxÇ·á]B?¾^\ÏÓÕìV[µÕÕèõ,ÄUëo_OÛãô¹\JEr£_kVyg÷s?Ò½ôÖ]f¾n2l9ë«FiW;gf^
-¼¸qÞÍp&º&ÍâC÷Â;á~ؼûaø_ÌaÉo±»qnlç<W±{#%¼*Øoí
-£sØ
-׳ÅøÂÛM9ð¤ÛؽåP$üVÄë´í'é&éq»Æaoñ\ëdKKÓÈûðñW3»f±©È®ºù|JØÍÍýFµ\[Åagá_¡ÝÔô
-al§·<¤COo;t_+Ø´pñ¹ÜHbº¼¯ÁÉÃ0èÄr
À'í,S;جü8ê8Qäþ?69å<!dq°cÒ¬ZyÁl4ôL¹
-À½z H0¡¸Bö3ègÜÈ(_¥X0ÑåÒ/)¨`þ·ÊÑNYÚe4h5Öw&ÇìQâ"ø¤HÜûÞãFp½ñ
-6räàÓíF¤ôîu§BÅ0Q&{táíÆÅúÕªíieã¯lT÷Ô"úBKYóЫ>ê4ðàÅeA:Ç[¸Gèî§=ÖSݲj>zÉU¾o«Ñ¶¥ìð[uå9t°½þA$ DaÖ<åâ9C
-' Á]yOH¯ÜµÂÅ
-N7²ÄúÁ¸¼a÷=(ôhÊ}ÍOXVôKPãà»ÓÒ9àzm9©TÙKÊTÖJÝà{/hrv³0î.oLËÛ5º5o]
-jãå.ÇâSAÀT«3ÐÓ¨ÂØ
-[Y&°ÆÃ<©aR·ç2Ó@À!f¤©Â+ZáÆF^²þ[2ÖrLëD ^Q]òÈdn!1õê¸bÕï'u¿¼éº´äDºÓRܽԮÜÝñ(H|þCÀª¯j8ãûÙôËÐ&»Ùµ·5ä"ñ5P$Á~yCøXµ½õª\¼ÉÍíçá?EUÇ
+xÅ[É®\¹
+Ý¿¯¨u©\ÍW@#]õ*ëH @ÄþýpEêT×âÛèg»J#ÃCRÞ.¿¿ýï²]þ´]Ý%;?KÅ_ÿyùû/ÿ¾m×=mu¿ÿú¯·íëC÷ï®ç|ù
Ã_0âóÇ[áR6üöã??Òµ\Ü~ùørù5¼gW¶s*Þo!ÿåòñï·÷·ßkÝ_rr×Äk8X#d^#X#ßËo9=ÏÿÛ_ßìBþòñn2üûu¿¤Z®QvÞó£¿Ñ>Ã
+Çü
+}´O]¸fù4FñõÑ{ÿÜÕ>>ÞáÊæ¸\fÇæÓºÍÃàðÎçõ|É®<§ÈvnĹßíÛvÏq\Áìî·\KþÅÃßb®´RØû-3îpÃùA*zä÷ò{4Ö¯m$®ßý&òJ!>"®¦aÎ
+´±å»í³ÓÑ68ȶ»ò°X¤%isTjãàûV×¥ q,®¢²ÄÞÍ,>#\¥¢`P`x²¶V2F`T1¬Æ\»Aÿë7
+5gÆ${ªèbí;ȼNñ
öCã@²dÝú®2ædwQiR5~Kwdé¢Pú±RÛ]?ÊÕ²[ 4ýB §jHæ>©á;VØÙÓ1
M Â×u*ä>æîK?÷dT¶V¶cU[/»ä½Ä{ð¼bt× Æú@¸ãU»o
+./)¸¯Þï|0+>h5ê=r£-Ò6ªzöK
+².bíoX¥oÜMª±ênÔëM?y×ñ¶
ð² ~(£ï¡kK©
+lA¸þlÌ(FõmG24fòH"x0/v»iô@Ò:·¦qÔMé5
*0 at x3`±&dJ(n4ompÙì\2/õBë8T=g
++l$¦4^âh$D
&RO
+dÇÂ9Èi"=r=µëv4Ƶ
+º¾b¬FìÚÇ?kØÇsEÑ\P§³UøùQÚaé>Ðo%Û¹ËHàë 7=0TÍP6¡'"ôäS1DöéÔsüWáì6ì vý)»mKí0;âñ[ÀbJóÂÒÎhq`{¸³ßEÏ&Ë4Uª ÙÁèð%Í¡Ù10G©Ð
+¡¶ß°ËÂÜ#%µPª; Y<ð¬íïõ
´MÎL©"ýCªó&ã=ªGL©ÔêP#ÄàFÇÁ7qGÒH#èR"4ìÑg¯ªÑd"Ú.5â§èCð°Wܤ#u'pNCqÊBc¬¡9çÛ
+¡LL@69
+¥A¹(b§cäV)ýç¸Þdc¹9QëwA+Ày(DÓ"©+å±âYu¹¥IÂn£®ñWç5q&tÿ_&1{]
+ôT
+>NÊ¡çj t×xKIJ<Þk°éTÙ4±ß°´O³õÉê?ÇB©¢S©ôÖöÌÝ{-é/²6©?íÎ2¶`Ê3²Çll`ðâ¤Uu[í¹I!{ÃL[íLSÂáÖCkõS7±aÐmKÉi~Ó¬{g»|Q7ZÈÿÌÞ<µ¢ìíà+O¥*ü¼Ë6prKYhÖ(Ö¥R(¦Ìh¥q¬ÉEʶ¹Pµì!¥íü$µù´»6w×V#ê5©È>Õñ7{Á÷¤Ö5}_õT¥Î0x ¦+p$·e7àUQB¾ôö&a;Z79y(È%~Yje3n4N©±uy³b½^ÕvV#eíèðBÚRjÚOzÖ°¡uM#\V»h8çI1é
+
Þ`Ðã÷woðã6gTZ¦¡ø¨½Eîðn{¬£p@VòÆÆJ2çW,>-ù7lÅÑÇ89
+NýÂñ|£$îÉ©Ô¸?^Ñ£¼PÁ©âR +Sé½UÂÛw½KfÅð¼JnWf+*£L¡3=ñaÎ1ÄY@ÞP:%7ißkìáÝ©ø[¥8©Ù¦4zZl#âÓC]{ß
+î'²n|g3½Ñ*ÀäyU³÷æ,éÆîiköSâá{>VÅz#ÞFö©aÈÕÓ-Î=u(¡bЩù[xùýi'4aï¨s6=«ðá1[1t§×%4V
+æàÏnµçí £y;n§¤)$£¼º&5Î@ÈSô`h =?x(u $#°éïj¬¯ºT¢12øþNÆÇ,ØÜ6ïw¹8ê ¾è'?Ît2Û[t2Ïiî¿f9XhuË=NlkϾ
+z»Q^8ä]7¥}ú¦àS;?rÏ$tTJ2&Q$ -0!ǪhXìÔÜ Z#ÅGá¶%mþs¹³f ¯"`XÿTiÔ#~¢.
+8[J=ßNËÙi¤É+¦e»C
+Ò˵ÇÇz53ÅSR{Æ´I^Ò
+àÑ+·c<i¦h¢Ý)!6cç V(,$ü'®6ÿ©Ö²õ4ƼYØ;±:éòcM¹ ?åg\ÜSÊvÜS_$=7ÉÓcÅ©ÕÚ\ã#ýîKö®Í:g¯úËpÖ.yÔlÌ)Æó·
+=×
ªyiT¼ÍÒ_´5QªsÙj$î?T\ã
+#°·^CeßÐ[&¾a0ZíÎÕóí#·à÷LrmÝZ2Æó°ó³¨å^æµlI¢y¯×ü6NËM=ÖgÊ;òÎ/wbVåÎý+¶à<ªÿqÅÇj¬ZôXÄ2$áþø8@¢Sïé<QÚ°H¾:ééuÇëìW¹¾}!Ìÿ¶J[jñ§UÊl½ãå6xö$ HÊmjp¦7¬mßeÒ«Ð×ÅÙîCmìEöòTÿá§9
+{t
ÑD{ŹõgM±L*¦»ÞÎT%Öt§5¨þé²6µc#^Ñ÷·-6:ÀÓR6ëwYQÌTC½]YæÔ]ðMÁJj¯µUg}è
+È=Ë\M¦oÊuïH1@ÃÔÃ;-yº(ëÂßï^ÛE]«?{¹S)FõwýoÉLÞýØQQö}2¶LÆ@úeÂò ÂÅU×ôüª½ý£OÑ·zÅÀtÉú\DÄð¢BÃgsBöà÷lw
-ìkëÅÃt½Rô9íß{ Ç
úÜü]¾üòöÛåÿ×ì
endstream
endobj
142 0 obj
-1361
+3084
endobj
144 0 obj
<</Length 145 0 R/Filter/FlateDecode>>
stream
-xÕ\M#½¾Ï¯èóZÝÐfÇö!·r¹%È!÷¿}«JªR·wÀËwÆî®JOU=õá¯búïÛ¦yºÌîG#¤{µýýÓ_¾Mÿ~¯«·ujÿÿýoódçù*'»AÎ×Íßõã[èÿ¹k¾¾)¤ÎꪦϿOz.X§ÏÝççí"w1q»þe ï¨ðª
¹]ô>?nûüóÛãóí·Vòìl´pOå´'yWÚ®F»ÍÑ·ÏQw[1éM]u¼ULBE©õ¦vãVfwkoµËÙ¿Z·¦%½ÞÑ7¹ÛÅÚ=B7ů[Ýgåmµ«»û0½n÷ÛeÝõ2ÝGÌ.
TnÚª«KÕy©Zù§¬îÖKx'@©ë
-99HX'aößóôï ?àD®,krËлÙÜa
-ÞàgÿþnePÔ«ÒÏñÓpýn>$¼Ë<Í=Ü1»açîÍàïnñ·${M×YÚk_=ÝA+á¯PQÖÄÿýÃ=¬³íñ±éð¼²°°T;»qKÏ´ø¸àU>ܵK¼VmáwõHë·¦8
-2 åâ
-¥dDaPÉõP´¢á{þ¨¨.0sz@|ä³è>1
-wÇ÷?"Ò =JB¼{Ê'Pv|Zàa!tá ®h\=°¶ù¢çªÇVùÀÅùë.
-,e|'m
-?¸a,L¿¯ný¶d =;Õàã/qd4*¦µdL}Ü !ï[8äRª1C¦ªåÂ0(
-CÅUÓ9 Úzb%í0Lïa¼"t¬´²(©¶¹ ãeW§åò½ÅÝ0¡¦±SEeÿîÇ3ôm(óHҸ̰?ÿ#¤ìÒÅðd¹:Ä^Pɨð
-5Ï1ºÖ±Å-ï|Ácsæb§Íï|ÜÎoeßà ө§©LÓÝREIá0xNѯÛHõ<!üûäIí;%êä¬%ØUÃî!Cé³DRIyÅK´1&Qà JØKxo#B£N6òæàA±ï%ÕÂ2ÍZ?}ÇéCõÀ{8íòëåΩx;ÝÙI2ÿXÐe+Lÿ?ý,@ô% ÞÑ÷'4Æ÷²Ù\9¯Î>ÅX°§òRE
-YoîwE`¡ç¬êû12¤Q漱˹ԩDÏx¿[Ûbefpg¬
-\^Í
KcS:²6éû@æËÚ`F÷¤iDúÈîDûå
-2ÙûÙóHaëé^ݽÒHwæsG)
)ªÚLQîÜ
-Á×<Ó§÷D¼ÎÚòE!å<J&EwÞ¢pÖ>j¦dÒ_Á¤¼ÆNÂlåÃÄDëë6ßïmù©¤D**µú(l7 ßÙ(( ^¦6kWê6|Þ©ÞýÊç'Ëâw¬ó§kÝ2·¦TYrhèßd Câ(ÃX¤Ì=×Jª¿`ÛnÈrN9Ʋd1R9 ¢¾+à ´Ô3ù¶Ú\-u!ûgJ1ººåG¹èÉ
-BãQ)¸ðÀ·$
÷sëU^(^µI`)i@¿AT+éÂ>Ý2zÍGøW¹®]Äo;üá<[liÏ'pöBPg®ßåÔÇØA
`Â}åTp<´Òb&rUªì
¢SÀÅvfЩkY³¬Bκã;¬=Õesj#SVu!:y³Ìü°¬Þv$×CÌ¢,(QeÎñaækxzUŪ4qRTïÅEÇ"òÁ¢Æð¥Õ aÚ4Y['Âá=
-qcD8uIÜÈ¿¶»©ú
-\
Õ{êpO¤H£ªvµå»¢u7sÝá»F@÷/4 Â{\½b¹x8k4r¤T-B{Ö/äî²EXª!ÚÄ$54ôà³Aaúðqô,KAl´½Ð?&+D!ÇVFø>»zÑ'<
-ˤ½TUaÔyêòèàÒÙਯkCL-ý¬bïFNôÞÙèÀuo`S´Sì
-ôG|Ý×iB×°iÎ3;àë¾NZ@$:ðÊ_úÊOµÙßH¶ô#Ã
-$/0óÌa´
-´%+¡¦9YjÆuß^#jtþçê%â/W²¸Ñã£Kñ5*°ã"$ÓÝäGNþ²3
gV8Ä!MöM^*~±¬'Bàå0¨Ù.Õ}B±ðpqØîãJÂL.{Ðe¾,ÕãáAéËRqÁñ
-
-õê¯}îò(æ
-ÜT!5±Ó
-÷°fµ³«wÿØ]^L¯Bû%P|ýu±¥KWý÷ÀÔ+Áÿº&Ш¬&ÎHUÇ.ËR(u±u7+æC$É
kqåØ~UÞ|)nSXdý_Lö'ëà;dÞô\JMÃé2è°0qá«T7t®¯,fÙ1Ë`Qëõd=ÞéïÁµi÷2û ë Åñ0lÁG¤ÿU ´_îb
-Ù-+â0MéÇp0+{Æ2rfìnßOáòÙ%ýýþ¼ÍºuÄçÕqÖ!¡Iᮧô@N½©êD)çgÂ_Ü
-b¬/´ÀZ/HwÙ#ÎÎNÏÝáZq¦GÂtlø¸bز±
-§c[ý
-òhªöð/JÂL¦ÀO_Ü8<-kE!%&s
-'70¥
ÀVÒ"*ø³êb©\nýSÐÛ<)ë{zsü?¾½ý6ý6o
+xÅÙ$¹ñ½¿"\Ö,:ü<vÀ»Æmð¼ìï;¡L)³j<°4tWRPÜW«å÷·ÿ.jùºè%h¿cÂßß~YþñÓòZÄo¿½}ùxÓÊ\â5¾ýñÏåÏ|Ôðù×åç hB4÷àãt¸E®Áû_½sñpìú9ø>
Öèàí¼gÃ#¸ào¶¼êÛF9î¢ãÚ9èÂ
+ÐQÞFнãô%wîð¹FØð)NÕ7ÌxÃ;tQð¦6xØiéùí©b2Fâ\|p«kÁ_®ð¾ ¾¿¼}ÝÐÔ¥tIfl»!ÅÛí"jÞá i
+TñÁ1Îð)¢À¹ÜÐé@2Cxà¹@±
+dm.áx>ÆiÊ=ö(Nt_¦%Í´EM-öN]ä%ãÄuÖy[ßö p¬¼K¨ûÑÉ%éÈôºÃÐgK2¿IfÛû2upý ÏÑ´ÞÎà´À1Íõ_÷{{É"MòÞ&UI
+-3ÈÈ_d;©ño±E¦IâVW¢ÿO²k[w¨
¨?ÄÿHélÉ5ùü^£ÕÏVVãøÄÔÔníÀõ1»¾W׫g!1q/Ä¢+¸8
uÆ
+]'^3ÁÅX%½nîDÌ*Ê4Ú*èE6HìÎà·6v©Õñ"I×Ì4¨rð73ÙR0o§#üÀ¸B
+¤±png³TäôqWB¾Ó¾¬*Sù6jB»S+Äz ßWÄ¿¨&ÜÆîºÊm°òDi¸(»Î
+¯ñpkSÁÕÔD@ßçöÒmúq+ÅEìF¥)ÑÍ6ÊoÕdeÒð9ÅÚÙªú:^{Ë(bÍÕÔ¨£Ä-ÚCµ§èÏ8#ªw
/µmúDeת½«ÅÖ÷zB7D{
+¼DÔ¥öTÑ©kò¹¢SWåsE§äg
Ñ¡Ï
+¼DÔ¥öTÑ©kò¹¢SWåsEg²àÚàïDYÒN®WwL
+¸GímPÛ4HóÃÁÆbÌÐÜÔþÉ6é:w`LÁº/tÂêïíãÈdY²Ñ}YÕµfµË]ü¬^+n®Évª×¤âu!ekOÙç£4´!´b2ÍÔÖZµu~Û³çiñB¿$]¾CÀ5Æ´EuC
+Ôé.·Õ£S\ ¡º±irïØAFÌDÎp}Ÿ8SÞNǧIuQÝïïGq{ÿòYäW¯ÅÕµZ»îZ°ä¹;mJÛ.:$F+JÓXHéèÅâT!÷]
+àо({,=jíú°ÁÒ·óD0ÍRnrÄÌU¶2æ¢åUQÑk¿¿WÌh²ÞÜz+Yz¬
+ßê«RîTÞ:Þ¼ª_gØ?åRsìó·d´ÀÂj41Ù§V$FjÔõÈaìýÈïbmDZdFjÑD¦¡¯!¹Íñö¤Ì:Ë»V¡YêªtG#ت»¨ÖK>6ÍÀ¬Z"ù¢Y=»bß×Êó1½`«¡D
+Þ
+)Ê®ZfeÚ°Â~¤`Ê@
ÁûÏ~ûZ.
+§"f¦8àâĺu2Á¹ïS
+ó4V#
+³rTQ¹De0".ò
+F*!Ïku«Lú":LyM¦`F
^pÙÜôiÓBïÆ[ZðÉ%B2OùΩQö]R'» ¾?ÁbHL+A%ÖöF<vð^hÊn"éÍƨ¤yrCbÿø©¥·ÍéñÔt#f=åÌùĪ¿$û|bµjëÜmbìZ±xÕéÒêèYûk5"BNu*3î§P)6DZ¤iÕ/Z}ÆÁ+ ]î9ìW¹¿¿^Oä-'°ûTDÄk
éUPÈ¡x'Ãã}³-©S覲¸jÓÎ_xXMæà«ß+
+©ÍDÊ{%2Wê:ÃJR³åÍ#£¹¡úyÀ;;ëºóAãôÎLûyzqélçìu0´ ³ZÈ]RIhÝV~BÑ:63mjUeç<HsÊ,&?£k{8{øõ¬|r^´G5
+9üñùË´¦Åö]wL½ÁDÓÕ¬r0§hè½H¡÷"¯Ùu»ÜaeQk¿ñOáÝ2næu+ë`nj+Z
+¡WûÜöÞWLbBS5|íqÊ)MÂ{°ån(Äö^è¹p2Iñ1¥Ïä<È`Ä'f©ëé7îÏAÚ¿ÇÝU3Å|n³:²v[!¬-xÕn[IîdÅÿýæA5¿K:ÓÂ
+.PÀ© 7xßw@þõEpíB³K©ûß ¼(4W&=Å£yJ^6Y;`TúØ_N6Úcn j¦¬ÒÆÏR@ÿcR]ë¦Ï±6È7þ${¶ut^
endstream
endobj
145 0 obj
-2961
+3172
endobj
147 0 obj
<</Length 148 0 R/Filter/FlateDecode>>
stream
-xÍ\I$»¾÷¯Èó*§öLh
-zº«¾ÝàñÍïÇà¹øï[¡%¡-«ºá1PL²¤X¾X
-õzËÿþ»¬ËiõÿµBúO·Ãç÷_¿þ²ü'¿ïÿ|úòþ$¤>ïëy[Þÿ±üáf!÷ßþölÅå$ÝêVkàéYúOù,×ËÉ<;wÑÏv¿ô³Óði·ød¯Ó/2
-øíkøòfÑm|qO#×õæκ#eúý_½_DÙÝU¥È ½%æ¼ê¢\¶Äì[ÐÉhcé=~õé0
Ý"#éÿadòj¬$w%ÂÖà|õ沦_RÉqèÅ
-!
-Ý.9;¸~±ç$Ó×#ô¿@ÂHéUÛ*øòãIÚòÔG#AK |ã£ôk>2r<@PÑhFÎDìæBâ8¤
->^òï£)àS¢®#1©õ,k[¦¯ ¬ÑÀz-,öô¦ ²Ò{ð@Äi$¯N]eg¶Åd±iùèF½Æ4¹qIc}R2¦1a¬Z%íÙPq|^µÊn|Ênè)àEGì36ÛvñÆz÷ðÄ5ÒTÂ*àVl"Ra½q%£´p>¶ìLZ+@ªØÐ5èWDJ[Þ~NQÈyd¶ÊNìýÜ4]%Ã7ÙÞq
-ô³(ßaXLÍÖAÎ@Ö£Rè`¤eÏ£RlOy¬Æmw¸;
-ÏAmáD¬]E|·²ÈúFà¦bð5qp¯C
-"}×DçÌþílk/ñcße±ÆÉ%ù:gG %G5=!ä-K.ñÄÑr¢YTöº~Þ·´|ÇÝ"½ôÇ Âz4È·P¹p{ÞÅ7%¤é'°C¬
-˧Ùæ&þ"ýfë(x~þBe*ýK4-½Ö$¶[,GìAptPÆò^l'È:q,V 7Äʲè¶}F®ÊA²5q1u%®%()ûKbi%õ<~*´[J3ìT®hû:uÑõ¶FáØ]Å]kéë?oËö4Ù¦+l~òaÇñtËýÐwý£â%Y¾kz{¦Ñ]zÞëQ2æVÆ'-÷+º¼þÕ+þ3ò[ ðÜQBÑwå-§î®³`\¬èäPéy×DéMru_Áî@ÕÐÞèüòO´g¬÷ðÐ]
-5ì_
-5-q¯sj;,.²3r1?Óì¶VÓ$*y¥êÝúím?³ý;ùºÀjiôa!Üãêþãá JÄ:ê·EéOÿ^þòD¿-R³#£ôùÛ¢ÔÎFéó·EÍL¿-F³ £Î?¨ÍÿI
-O¤4HÀQú$á(}Fp>#I8
-$Ýo[¤ðDHJ£¥ÏHÒg$ Gé3£@Òºüÿ 9a$-FÊFÊFÊFr
-I©WxÊ®@ó$Àèt@Ë+ù´ÕìëÂ=ðÚÛÈ\9®¶üâÊhØ´ò3¢ÐFý>ð¹ñî
-9¡CiÌ×ÔÏqÍ;D=4`|®%%ôE©AÀFIqÏ]@g
0Eµ×
-ÅRÈ/áè1ïô¹Yv.+a.½Ïèæf®»Îtá(Vh Å\y«U4b7¡@ù¨ÊySX]5k~VS21×S3ÙýZRîkf÷ËÁ$TZoÇÔvHÓT½õ?©ÂÇY*ñR«ÑJ×ûþÐöÃ#Ë)\ªäËJQäPëXEdz>Zö=ð££êئ^òÊ÷ÕñO{u´NûÕ¢>Lúzå"«±ã×f¡X%jÎÙºÅSÌrF|kE#¬ìÖïjÅK(%ÛмJÜõÞåùKR9ÈA5cU¾s¬¹;3¤\èÑc£ôÎ.²HïôÎìOYú®Þg¦`fñFdtÝ¡ Êë~¢qçw«¢ÆÝo#/Uß¡4}©Ð¯
ít°QpPA
̾ͻ >oÕ27GÚ²r£xÚ8ï¹Éé1ñÜM³Émxð\¾Y©¥´ÍiM÷f¯í+¬ý/kjÌ¡$aËÞj78ñ·¼ó*øÓ,Ô(Btî¶ G+¤Ã^D}nHOÇù)ÈNöhiw6l?n\ëÂæÃJ%UûXsJ]8Ð{Í}MsÈ ýTt»Ä1>í3ÃêèY·nÉ
-ZA7mvÓÓÓ+¹ÕÇ¡hVoÞþä¥áXòYËK0dbo¸
-ÇZ·²|ÜA8ABPYX¿äöµu¸?ZwÉlVð»d2ÁÎ÷NOfÏ7M{¨ÐéÐà°z# M
ºRv n`!×Hæ3MÚO×¾ÕþlÁ3±²tÂÃæi£ ¶Ó¾?wÒ&!~ýÆñy/m{@ÉNq
- dýObyå³UÉ a$ľõ
ǪEJù3вgeÉYiÁe´Àw¥òÑSKɧ¬½aÝäØôí¡Cç3ÅËÍ·?·ê`ù:®{õÖCÍ3ÌYh¼ÕéPÕNË6°ÉËT +Ϥ:½m=WCö!ÅD·Óɪ8ã²8ëñF¦öÅ,3¢dZèAî΢&Ýô>v.ñ·MGøÓºÍ3{-¬5D}Þ»HÚÿé§ydØn(aIÒ¸.§óXݯ'eÛj:¿Òh>üó mÙY¶uz£S0ärZI´nHsei§]÷%ú msB}jrEt{:%¼c¯@çÊ>1LfMî¸Àzï&Ëí¼j¯ñ¼ðÝPRDt1Ù²ÊÓ
-QvôrÃ]jið2é1#-²÷|~Gìø§¢íW0H
-µÊ
-^©A=uYx+mà×
-Îo'À|r»Û§^Óã¿aaF¾û2ýA¾6_kü'A6RåiÌ
-uÒgÀþ¼»/èÑw/rS¿à~°.&¼±ÅjÈ)!¼Itß]~ûåéëò©9È{
+xµZË®ÛFÝë+´PwPȵ¥®S\ ?Ð&@M¿4²4¦¹À½¶<äo:ªÿ§û»Wýê¦{¯
+~Ä¿¿þÑÿö¡ÿK>ä¯_º·÷N«ØÍgßïÍ-ô¯?÷?ÑàÇ@ÞÙ?÷ïvÃ{÷éÖoPåèQÞò_÷×à¼çwcPF9Ü
+äÞàë@bÅù'x->ÓÞϸTÑHiÄù»QäðÚä×Î
S©\ s!@p ñ
+Ýô Ð~Kã\¶E(ø5Z4¥¸Y,mxÜ!<'NI ÎñLå9`,çÕ$LJÁóhÐK LiÔH3pæðVNû§¤JËRT¥»Yþ×ÿúK·}X¼©ÿÊPí¸n
+ÿÄåÙÊ]ºòeÑĸ
+ë÷^<
+¨rÿnUx at b¯ÈMo9EîfëöC,ÜUqk@Õd°JÝ,Aîµ+¾MÌ 7ZjýÉAãHÛñJéºÕZ9n»Õ2kz#
+<à5î-5¨=Æ5m}ã}|½W¥åÁ´ÝvqÕøÊKscf?m·8\hÜ5õzðà±aë±æNñP2WÀ=É.yÕTÓ_BÚêÐBû]I¡¹6°Î¶ÐàÁZ¢DFòè%§@tO¶Ö5#ü[ Æi
+qî̹æÌã®k7\A^ÅB¼Nq|nüN$nËަʶöÎóÀ²j`*íÚfs4Rr'ZÝÿòf]sX{§æ´9¼i^Ê(ÉåhY
+Z1÷ªS:Öâ³ÐºÈ¦_Ì¥ÅXÿì-bÖ=³Á
mS
#ÃÙn; cÕléy`©m¹ÃãQ7UX~Á.Åí>ë¡dOð65ý;;Ét<®Â'vt-ÕoÙ:Jµâþ÷å¦&ï¤aà÷Ë;cíÃÑ%9s
+»ÄTábe/5íÿhٵɮrÈ}Q(£''x ºy«ýTÅs}®%ÌʦÇ/ÃüØ.l¼kéxb7öüÊfëXÚ4â/yQïkvíÖw½\MMi=U6O'eK
+N khM»Ú}ÏÝЯ/PvÉ~IýÉõÒ
+¥û.;+®»«æ¥J@ïÝPóÕdóâÅìo"8 $è¤4Ò¢s幺GéòÃë{é:_]÷°ÝùøeÚû§
P}ßEEºéá¡êݤLµ¹ L{Â_àç.5È_çÀGæÝ¡(."äø®@ÛeW*Iê
+ЮùïÍ<uKö
÷1+@Ï1;ØfÌ{÷4?ìd.·EeU¹«nñRJÏëöÚb³è}ºèùs6*ðpô}\bk¥trÅäÜÕL±l<ñç:ù¶CGÆq³Í9eÔÉ"E(³»8)|Äy`!e)xeuæ zouòÿ¡¿w
+ö*VÝÂ÷D{
EY$)üW·RB
+» Íå:rHTMÁç*0·ñÓ]PQ/ V]ÜÈ¡W¬1·=ñÊt÷pÂQoav9ör|Æz3ZmÉíös390¶çböú]~d+ÉgîvSï#!ÇSVþÏ?l$8½îwùOý¿³O#*
endstream
endobj
148 0 obj
-3401
+1939
endobj
150 0 obj
<</Length 151 0 R/Filter/FlateDecode>>
stream
-xµZKã6¾Ï¯ðy¤EIIâCoÐCÑ[;z(нôïÔË-ÙÉN·A=eñññ!^qÿ/ÿb8 új$ÐÕ:¾~ûcøåËð·_äÏ·?_ÞÞ_¤g3X©Î0¼ÿ>ü4K9¸áýã"|¬°Ú¹gý2f¦oHß´ÆZ0Ò ÑZm¤¥û0ÂÝzÞÿz¹¿¿|móp¶5O{ÛÙ1îìÂ=Ð÷_/xðbfÓþêé$/êuúíýç&ç±IĤ/ÚZDÅñ¾Åù¹z×h ;ÄÿÌ6Ê1<coµ@w QºATábßpdü=¾JæEZ3ÓI]²â'n´¢â6-&yÁtÁW¦é¿ò@%
-¨'HOÀ¤OhEÈþIÖèÉ1w;ß«mB!«³'NSi9²ÿnLÅ´;>ìÃäg\7«0¸á"_gÏaë
-¥`Oºwóô¤÷»u8sx> ¥±ý÷dOOYgÁG¦ÛÙ»W11MÂUL# =#Û)yåö ÚWù}rê(Æ
-ÎdÊH at ydIÁÛòxx,Ú3{¶ax/0Ts>8µq!O*¥ !vïæ'@rw#·ùIãÙ{]
-WïÐÊ"Iì¼ñ¸$ÁÌõuÛ sç«EdLêìð÷`|}eo!:t,ò±`n|ø]Æ[Ó:÷ËÛëaáLµö¶T'jYIÌ|%ù4W²5ÉCÒôô?pÕʼÈAwy>7¸ùÆ ¢qí?GÚHM9`«f)¬v÷
-\·Iºñà_¬{
-%¢n'1¶ÊI9ýHíîcSÁÔ{þJý-û|c«p¬IÁwʽ|qFÀºaï(<Ëg%ùȪ§Åh)W`!±L+³Ê½ëØPøÐ¥ÝXÉ¥
-¯W½,ײÛãto2f½y¨ú}¿¤
-±4c ]L>Az½âO^å¾Þ|ûÉKñß,é§e"ÇeÉÒ=Ó
-Í0Ñ¥ºl©²ä2w>°=¢××Â\ôèg:Hn
-¡>?J誩gZÀ:spK³[ hcXf³e<eÍobmËù«¬ÎÊ k¡³^çMAÕí(Ù:+æ~ôqmÑ<|Q¯zÐ2úêÉת8m[)OÕòͬë^®åóõõ¢"ÚÝå·brcã`ö᪲I[Gk\
¦¦±>3ù´9»=7ùkì¬^Õ¶'5ÿßìÏûrCúG¦N¡¦üONÿ@Ùu}0ý0ÛÙOþQBîËoÜ#ZøqÀÄÍÜ4íÔjYòúqSÌâ×zH§Ûs+~YI+£Ã½;ɬÉ'òôÚë"³!FHB]úºLCx8ÚAÑÜíÎä²ión¯*¸jJ¾¯ëë_
ã!VFu¦m3}¯ãÙæµôp\ËøÕ¶ñþ¶~7°ÏöÙ¼]XñX¯³½Â?ÙçÐÒO~<zAo¿ÂQù Þ5Üóº¡Íò :ûzH¹OGÞO)¬ðõÈòB¶£ý ¾s
-ÞcÕóíêáÄö5Q-D$]1DGùi
-S&.ß"ŧ w4Hÿ§/qI)îyIó=,}þyýÅ
+xZÙ®$·
+}ﯨgikg 0ÌôgÈÄ6`À2/þýpѪª®í 1wº»´Pä!yHµY~¿ýw1ËßÌÝ.É:üþ~ûiù×wËø!½¾ýrûúq³ÆÝaK£?þ½|ÿ¦ßÿ¼ü!ÉBp¾ËàIÏ!ü}ùøõÜÝã:8ë|úN8.åôHàË`ï©Gkál\
9_ëüܾEIZ ìyõWJøC)lÙRQ\%æO2.Z½n,»½>n?î4âW©4H#5òln0q;Wiäg
+FX!6'}°Þ,,4YaÝÈ^Óýr¾é~³Ybsí·E¶P¶·èPçé+[Àn-NÜ!@,àñÿ'Ïp¼¢h :ì=×'LÞáJ¡Ø° À£Ý=¿{§Ä3WÀ³ËÌ3ÖÔMÑ|fpxÎéô[#¼]Ikü!uQ¤EËÏVÖÍÖ»²àÐúûY/DBà uøÍî¿Pþªöp
+±ùþñ\3ù\Ê}º|ÚbyÄ<¤8µµÛFäEò&àó§ûs
+8O#môXrÐÇK\C{(KeBpâ$ÚRÌä¿°+PÔ<ØukE×NUü¨XÔé«òâsý*:fòp[-©tÜ-á_Yt.îÕ¨| ê´j.«£W°$£à0öìÆ,Ý\ï!©/õW÷ÏáÕ°]Aï»c-àO¨vKMSâÙ
+G6»>1öÔøYµ8õ@ÈÓ¡G¿§ó8¦OÎAÞR(qNÁبÖ÷¸î1ª]é¼
+òî
+Ây¨©ÌÞ'92µ\jöRG²gXSKòô´C¬[£¿Ãk¦çzÖFϤܮ)<ý³ ZÆ×}~AT̪ÜíÊÂ¥÷]_Ø×{uèÊÑHÇÕb^%w#}÷âlâ©ÈæÄn×0«4õíLKña×y"°=¶³Tô³ìÐ2¶}X¿®ÛUþf|§è¦Zwæ^N¤¹°ª3n·õÌ
+Ó¼acÚ®²ÕD9½²·wj¤ºÔö¶dæÍN~WXJZ×ÅgE\g++¼ÀéÌÆê1àûæýmIYdse|ÍÚ3eF£Yì6ÐÆ?ÿqÛ¢åãÛb0fü~£±þKÃb²I\"øøíöýl¹ä0>xò6a¯çz
+Ñ"3"y
É4¦ï©úMÍâknlæ2ûÊ<jÇ?£Ù®°Å#é6q¬ÊçÖ÷×UëKÝc A¾íÌîFDx-6]ÑyjõàS{~äè¹ÛPõ;;ù
£¯ÇØ®0Rsl%¤,ÕjÔòW<aÛ]¦c×ô®ÖV©ZÆyb*U£h»ËÃ;ÌÐK/Ö-ûá9Jæqèĵ x¦òý¹<î8Öå¥0z{û¹%¨2ǤñDYñQ"Il°óÆf·7iâ13gàÿmî±
+6÷'s?ñ®ÌÙ{TÃcó
+äE>¼õ_*Ò®5_Ü`{ü+õQ.QP1£µ¶t/³Ï!9ÇPɦqfÜ.ðËi¨AÁQBdN¯Õ_)Ò¶Évtq6ÿe.ëRìÐ<-tfùÅêL±/$ördSân[ÿ,~dÁÛÉ2+zeÿõBÂÕi±}Ë! y${;âÏ^-ü¸ÊVçßê¢ÝÄDqájXê¼ ÕÅ_îÝ.ÅUhµ¯ÇG¬JçÖ§cVU)ݺ²>>Ê~M
+vf «½b>::7¿&Ǩ´âjë
+©5p>rëÎjìRÞÐëZåÞçc2âÎñ^ÖO㦿<VüMïÀ½×å£ýN¯kóÑur{IìEÎì@r<2³00=ßÌåõæýf¼\Êa>5</&Ã:×
t±}ǹòM¥ßRýSJMñ¦Ðe*X¹©u!MA>x23\¹Î|eae¶A#S`2ÕÍ2.ý;5ÂâlP*Yé®xp<ò9Õ<Ôß)4©ß¨î*LA¢0S×
+ðGo¨£R)÷rIsGÊȶðõ¬ì
+Tá@ªªEzãk>õvÓ»è7Ô²¥ïj ¢x]ºc#ϯAµ©fê*5`°UÝä+Ô@å´3é&^ڷѶRãݯýX'T¤Æ¤ÚÙêZ"2Efq¾Pú°¶¦À¦É_µä"îsõz·Ïi¼úÁÝO.?Ro¦5£±\³<°yKê
±.Ïõo×\½PW¶ÍÆäùsm
nYuElMì
+åvCÕxÅʱª¨{îKÆÈ}¾¾[Rä´Zê£Óµe31¹t%ä^Æ®÷- ÝAÏ2Êce](êMøv±ußsï:Kr^kTïñbâQHÆ0Ͷè"µ:_Å×isVX
+`#
%Ó[ý½ %?`1[%coH7öa¤u¦0h«2BÙ§±k
Û~Û
+_wîþ86Ñ9dõð&&P?0Ø_cO_jÛ½·ÀòP7`Ó)PÁ/«ü.×-sý
¼uôwß 3[}Ç~¥)_9f¤Se
+®b¦¤Q¨_ëP¹®TDÓõu5ï·ÈvëªM(ÍÛDé©° ±Ñ6
+so\ÊjÀ2rÚ3¤~
+§sæ¦[§êXÝi¯¢yL
endstream
endobj
151 0 obj
-2048
+2572
endobj
153 0 obj
<</Length 154 0 R/Filter/FlateDecode>>
stream
-xZI#Ǿ÷¯ÐÙÐrîY B ª¾|0ïö<ÿ¾#rܪ¤¡A-Õñű$;óÓ¿oÿØéÁWÃ|Z_ÿ8ýöÓéoÿ¾þùöñùÆ%;åò,Nÿ?ý¼q~r§Ï/Áüß̬f³þ+£ÍÝ8k¶B0«Ìb4üð[Zf6³ZWÔÃ_kôõó¯·õóí×ñÜLm=·}ÌÞêìNƳoè¼óùå÷¶×w~q8þ·
->%¬áªýw
wþ·îp¼ó®/æáoéôl3ðÍ¥'üKæ^>Æ!D|Þ뻼Ióhø« ¯Å+*ôªâÏ<··y5ÆÏ°ÅÄt>çª/bû±ã´Õò«ÚYÿ÷ùËHéɳ¢JçâÄ׺TWqawøàøMéÂÖcdÃyµ¶ÑIK¯f#eÃ%j±ðÐjÔh°þZp
-dâ7ðÞð¨WºXñ^xB9ouÁþÕ¢$ÌÈæbxª·À9Ý·üÍ_³é§Xò7ðܦX1´¡¸ÇµFKD±#©Þ"í¥LÏ
-GÚz×>Oͦm·*~«=OSñVSKµ±ÂMFÃËq<O÷ç¸m ¥ÓÇnÔMwê8©vçJ«
á´¨ðJ#yºñPZäîÈ<T&ö]¬cûl9
-=¤YƺË&¿[)ûvãJ´Fª3/%á%
-ÞغÜæó
Klhß=æ©8÷Õ´ËFø5 £·ö>ÔbR¤_!v±5I¼Ó`ìÕ.¢ÒELÕêÊs
°ùfYUÚràX//%VÅ»)áq}â^%¹U¡å_ÔËô.oÔ¢cUkà;È)\)ãUø²ÃseÑâ0w@ ½¹be×Yéÿ¦WAò¯îÌÎ{©¦hÖøÂK n©l8ÛÍ}gQ)÷ÊØYÔ;8oÊÎö3Áî&¦VÕO
-&¾ª±º;Ê"VÿçäÇnßS&JWwMc_Õ·pUbGVâ=ÃÂç\íû¨ÿе
kο¡°kkHw¥ãP¹+[K³âV)
-\kOb¹ÝÐ(ðy L+Õ±ðÝb¿Æ}`iÅÇMÜaüXLäÞÐ7É(ØsRÒ_½¤· ..
RÁµ#¹åk©r/¨o?e×ÑÂws×Pp²½r°è%Ét,å¹ùÃ$Ò8èÓ: $X@»NiÍ´8G³Ös¾Q9|mîGã×95mûï
-Dîñ¨zÄp²nôaRì LbôãBÀ/©ÅtMÇæ¬ìíôëCµøù 1ôõ a®OµôGEFh_ ^z¥ºTÿ8ìl
-Ûk'ÐVxF«¾j8ï誨»sM%uÝePÀ?<±Î Íyit.R):´D¡6'A³JåFãü*Ý4^G¦8*HSÎhûuTmpîAuö_+RÑU?þ^O+I²ñØyiö¦X ¥þt§Ë&ó©ë4í7V¼-®?@Va¥_û^A JS¯WåráÚ?[ÎV#¥«¶¯ëcNÐ\xmvR³ªí5ø1²ç ê
-yhzÁú®^hxëæϬëAÕÓ²kRm0ê)qõÝ6RPX-uÇT¤:Jÿ©÷ºQO[?{ÝóRtwâ²S-æðc¸Çwö;´8³}WõèVÁáT·(ß Y
-Íç#hkv©1<n`}ç£-´=½V7ºvʹt±qYòKõýå½îR.Fæ8)ÙØj§¼'0¦íÅ9¶Sɳg¯!a®*þ;eÁ6ÜPÒõIt$wÖxªºÕ=Ìzã=(Â$U7Iìkn4ò¡¯V
æ§"7aTVQV2dÜ]júúÇéËOo¿þ^±
+xXË#7¼ÏWô9@½Õvl÷}ù<=È^òû)zÚ-·ðÎEI,Å¢ÔòïÇ?Z~V'½mð}þøcùí§åoþþÿñ×ÇçíCZ¨iõí÷åÍâÛ˯þ×åöýãzûøvoäìhd`¤5[ùÖàÃÕ¨à~ÁÏç°ER¸hTLøÍGÃ{k¥OÛb/FÍ3.R£ãçt°Ñaó-\£î°¦qî¸è%èð<.géjü::Þ1į·ÄÚ+UpIÃ8¿8#8'®
+
+í_îÈg(bCâu>T`å³·'^Ç)ôs%`!Å}°"XúØÛMZ';9ð6cä°Î¸õ+Êؤ¬4þEÂYbD^½Uݲë%Þ"òº5ïG1ösß-êÆϼ¿ ¹mÄy!i¡8ëÆ^³´~r®o.¦©mЧ)æó81 <o²@gԳۢˮZ_K)ÿª
+MÂgN¦¬2øÆOs!¡ô õ8Ë-S)ÁPKû±mrJ8×Nî
+¿3¥àÅ89ÃRJ<ѵ¸%ÅjJõì¶è§¯OXüÿQ¯~ÜaH£<{PJH{ZÌxÆXKb± ¤
r´kc¡2¬´D¦ÄÿBQWIUÊûìE)(\õ1JwÂ;ï¸ÖûqöÐ>ÎSêJr£¬Ò#¥ZxÄ`ú^#áÕíòvdQã#É"{9BWF«£YKó©MÊòw®Þ2Û´/É
+)
Å,g(ýMÖ!+¢#RV©Pù¤Ü:Wc Iq
+p©VæR%àÚèIßcî]RûªÁ[ÍÌIÓ5î7¦¸æTLL7¼JP
+ÐF±Õ¢ÜÄa&Jr§z fR%<g´$,P;_ÎÞSg´¯
+®K¹¢%ÏQST³ñï$0¹Î¥FªIò-ÓXÊü+?sÙÐE|VÙ7ßIaÔjëÃ/TøJ·ÜÇæ¨Â>¬Ö¹IûÎjÊ¿à7Mx1~v¶4{R.ÆNnài)Õhý±ÀÄ8;¿(¨PCu'YT°¥ê{¢éhi
+ÏÜÊ#m&çRhfs©¥õhÿö½¼QÍ»=ÉÙ\I®«j¨çÔBsD&SûzáPP£ýK¡0TÊäÔÆ@«Üh?ÖG`tæA¯´¨^Gc¤iºNÔù0[ç<¾ñ |
+øÆ\}ÒÕ½»úòéñnùT^úðP@P¥·Ûhg²±¥5a}&!פ?.^ÆÂUµâ)òÃæ·>ÅÏ
+¦ý>@îy%Jrî! í8tIà:0¥FOP:¸ßSÊøº4|ÑÝjZ¶×Í,àvÊ©=âu'èòD¾²ÊÉXGÇö0Àåax
+I9ÛSo÷ÙL
¢ÌÒ·È,nïöí1ixÊpÒüÕØkzÝGó0,zÍä) F&JÕç§sÊ?Û¤Èrú[¦tÕ§çu¬gú¼JÇB¡å»xå¦ï$Ú3îí`.sZ¾gcÙ¬¶Æ¦Õí%Â*;Õë^Øaw?g»GÑoËnöV1
endstream
endobj
154 0 obj
-2541
+1576
endobj
156 0 obj
<</Length 157 0 R/Filter/FlateDecode>>
stream
-xZËjåFÝû+´\¥ß¸ÆöÕ"»C!»Ì²d6ùýô»«ú!É1ÔêGÕ©S§J&+]þ}úg!˸2wÕÖ_|[~ýiù;<ô?þ|z~{¢Ú¬zÑÄ®jyûcùy§b¡lyûþÛ]íÆïÊnîòp-4ßnìÎÈvwEýïð@ ww¥ÿ^ÑÄ_øöûÛ/O·§¯íºL¬vQÆÆUåBiXTÚMÜÕ®eZåu»°½k»Ý¬_ÇÝVikþáø´÷þ4I½«ð,^wýJy
-í8¹ñqø²þ5ÆÒðjZà ¬®D¼§Uz×"Ã
¬?¨fîN±*¯ÅWÒ"ñ`~gÐpþtv°m?+÷ûÄiãèÄÇÔ3Â,J%4èÅ9èûÐíí¯á`7°®NÔa¹Ö@gö¡<¨8³1ÐdÇL¬çm8øRöÁìÆîûËî.äÙ_^üåÕ_¾Ì&ä!lúsõTÏá 4946îßëËeNm¼àíÌ
-
-¨î´æk4cY¥Àh÷n(È%Éq\,?
-ïO°Ï&éLæ_=
-;Fn4..wÀå-ÝÃ<ÈÒÍgö¨2ónI×rCÆRºîöòÒP¢¥Ø¦°¾èBç%×%wyaæukV1pË Q¾v)ä£pgÄÀ +«<Ü!Vbåxb 2)
òÓôSÍVr@¬USðz5
-¨w²JéòUá
-§
¿ãêC*ºòëé/j£N°:jSVq)pu ³Ò{*+_(æ/{»\aÌZ¿ÀéÐ5%ô½ä%:«]Z8=:Gg±Ä$xmVû8ÅD6
quNò×^Ê,z38- at VÍ7ø¦)é;)Á¦B? EèÕ´¡´çb4å9equø
â9s@« ¯@2¬¬,ÑÍö`M8.Õ{~R9`Í=BXmª$ð4~
-ïb,¦ÕO%å´ú¿<ce¢W;ðÔ +³Úf¼·ÁÁïÈá)ùtûq<ù(^A)0¾îé²GY¶·£}ÓD1LÆÆ{ìRöôyrhìC6Mi%ò(Üz¾o¢úç2öçx¶Kµl¬/3^)ß8¤
-Ø©°fi_øÄ5íÌÎÀ"é¶ý¿ÆƳ:Y¯¸ë ¿Ä³µblÈ¢mvïØÒ¥5:¬ûù¡0Eg ü|
4ïÀl°°µl;A ÌáÕ}ÊAÐa,¡k-0l¡\3Ee£"£Cü´Ú@_U¥ìq$R*H.¥þ°´Ê
-¦ióÄ:é×úè8
-!ºNÇH`íA`-OÙ~¦y`¹Ô5Í
-ÔÈR¸2R1âµ=IÚQ®ÎÂéî2[µJS[ì}k>ôgB
-IJ7rZzõ;ñ4§]¯31ÏÞ4 v¤ë`¼Ñx8OÈ\
-_¢:¼
-p¹"(;W/â÷`!çA·
-}7©x£¹ç4sjÀïµ3
-E|&³Ùæ*Á3k"¡]ñb]Úxg¸éáÉ2½Ö4¢EGÌ@ɤ'ÎkÇ äõý·æãh¦¨°³·LÛÎ;9ªåBO%§Ñ'â8j ja5¡T¨Rpý¨Ð)e8ì(cÎéû<åyí|Þ{òÄóÚtýÁ§Öþk^£úNBºÃjó!ZµïÏ¿iÃ8:¢ÉÚÿ9
+xµZÛÜÈ
+}ï¯Ð³íÔ½TÀ"§/yÞd|@6Äâÿ~x)²(u©Û83@»=RÈÃÛ!Knù~úÏâ_ÜÙ/Åø¬
+?¿ý}ùë§åß'w^³kë²ÿ÷Û?Nn)m
[sKðçk¾|¢íðîx{?¥êðêûïËîù\¿.ï__S,kñÕÕTr
+ÁÅúÇåý§Ûûé·Ý!µóºìÏwñ°K,¼/©âËÄK
+v}Ï6ÛÍ©Ü«+Äñç?6ÏZÞ¿9Â`V|2àÒÆ}r+·j(w Ãæ q/·#-¼°8·È;á¼×â°Vcp[dh¿AVî¬%Ã'ÝU.å|Þá÷
+¾ùhE
+ç2VD¸zÅUðyñÛ¹&Ï)¸®¡$(<·±(ïþ)és,*r) ?
+y
+9¡Cul¬î~`.
+ý´6DÕ*ÙÊ{`êrýCØ×°O| {È°v¿
kÊÀ³£ÐC×[ñ¾êà:DÅÓ!df
+Í5«Q¼òKØrF(âZ÷_µ¦EL·p'&2N31j$äJ¢Ü ,®;`ÀßÁïÝLìQ¬±Ð«vî¶!¯óUT#JØ`Î.ÂüÒ8>HN4«r$Ê1àI4&ün¬G4SÔqJÒÌù £]5ê4òÓj]ó¾_+ÅæùÐ]
+´×hEDs%ZwdÀ4¢~ÛfTÑÒhéʳZ/@«Î1}i çÖ4±vtÄ+ÜåJóë
+©J²öRqÍBÞ+¨} ÜÁA©i ««FWÍ
nÅÂ#
a°# ¹ªÃrq
ÚÎF´¸X`
+8;ø)h¯Nk=?2%@£LQØH
+{îų34ÌbM)¬]6%TØ¡ëbSÆc ì0¬4²CìFdaÒ¨8o"t¢,H±m?ój¬¹sØ^]¸ÏCò¤{Ѽ0òE|ò þuCC`w¦¤&³èvXDXK`AC 6ÙNR l·êVµó]*¥\91ô8±7cw&tbOfÝJ)7ò¥{©$2²ãc¿÷XÜæÀ¾4GÑ~É#bIbG0$ÜÐýóc¸td²i@¯r´Â·þM%jÕÁ²q{kU¶¢Ôa¡*Õp4
+ù0WrL,®{Äjv'ÏN÷/|ÖBf#WÎÓSæV£¦áØâùì0ñÍü
Á¿²÷á¬K×y¢®a«ôj&µZP5¼Rí·uÏ2_I?½XCÑëá y¬ñ
+¦Ç<½åª§0åú½EO¾kÄ¥è}HÂÂ/íâ¤ÿ¢¾ç¢:DP´´}
+{çÔÈ}È.f´JãqÍÌH÷v +ÄÜ´Û( Õµyy*Ä"f©åû }ÞC©--~ñLéÏû×Ó
+ZHQ#å6×¢)Æ{¹Û4rÃNÑÒà438®ål¿¸ÆI4&ßG1ÂøägÈ ±r±³ã}*yx&=ïT/ëetG꺿é²áûp^*±Ø
+ß«´{£Û²QW÷=K&6t55¥m(Yd¤aBV¨ÛUÐbÛ«hÕͲØAÖÄÌâÛyhhr:DT¢R¹wÇÒB¨}âËôÂõ×!î*½l!´ºéù\|òà1æ í9q¢I
+?çH¾Äß·]êF44}Á´×·Á{p~íi¼~|Ùª"ëø Èñ`{zÖEÛJ4½ElÝüh8Ymg¨ ¹ÉäGZ<|hÕæÎ÷ìâö$¶{RÝ70@5ö»'É ?¿{ü³ ÿ8lR7Å°kµËiÉí$ôáHRXe´
+ýÓVN,æe ¥±¶f̽)Æ\@»Ë½@wõ±ë¾GÓ.ºk¨$uþXT)f³ùPϲ÷tºË
+èAMIã
²FÚsåd3[¿#â,a¯hîÆ¢ÎÞ¬g¦SüðÄ-;d]föù5»tø²OøæÍl'V£Ûgk
endstream
endobj
157 0 obj
-1729
+2492
endobj
159 0 obj
<</Length 160 0 R/Filter/FlateDecode>>
stream
-x[Kä6¾Ï¯ðyÁ½eCÓ°3Óäd S
-l {Ù¿=JR¶{wè±õ¬úªê«]øôùé¿M3s¿.ܧ]ýç§?§_ÞMÿ>±Ë¢ÙºLõ÷§¿Ød»I+î:vY}¯ïÂþǵy~{R:ÊÔEMoLßmrâËôöá×+Ûn³¸rÆù_¹ð2<QáSssõ=ß~{ûáéþöôc5²0z2»yøb&«¸QÖnîFíÇ2aDÁ´2ef5ÒÊѨ֥Åòà ëM^ÍÝcÕÍ}Ûr5®¯6N$o&¾7¡ýæÞ¸N©¸Pnñz
-èó4×ì'ÌÀ
-7««YÜîÛ-|æÜíŬ¤c1Ü=ºZ
-uøK¸åØÌÚ<~69u4/¡ûäò§Gûy¾ÍkìÓ¨Ô.³×<1O#ÄG_$äACá7§¥ðãs÷¹¤Aâ6I-Ó£¼¼ÊVh¤Þûõ*4?vÓÒ!0¼C9ph£+p¸1jñ¼-l7!¯ÖøWÚzû¥Hh|÷Ý
-Ìû²Lvæ^(v·Á. ïÓâ}v m¾vVþnà Û
-ÛwtðtOô@ÛÎÃ^LGÛ~ì·¿wð!ÙEVø°,)ã¯ÊDqXlO)ÙTë0)QKÙóâæd{Ñ
ìéÄO$"ÖäüRo·\Ô*0`´^c¨Kj¼Ñ¢¡ìKyòoÉ
-â©3Lʶئ&B`×âGWê|A`q<ëÞ
-ö31Ö\¹èòáÂdâ[.a·â1Òrñ¦VM£´Þ§Ö½zÜßXòYÉg=òÌ5µê4çÜq5>HlÂx«¢+,§ÈHÖx?4sók-¼²[D¬¬
-Ó$ðóÌaÖsÖ±©gÒ¡|À3 Æ&dW8%ä´jHW
¶dº1³$Ú´¯I"âÛÜêÑNaó÷5ä=
-£r¹Öß¡¾w&ÆavB
-Û,"|qûaö<vÈå"7b²U A-
-²YPkù¿í¡9'µÊjÚ0RÁ¨Ú;®ÂÏNDF
-NÁ-6'[Zhç#Z"ÇÈ¡=N¾ £¤ª*¼ønݪ0È+
-òß&
H>Çhêý{´ëLP
-Õr¬8äÒa<¦!·i¼kJ'ó|§ò
-ZÀbÝ qçº
-ûòïyaæ/Xú«ÿ²ñE¡¹i¯rV¸8ìÆWÝ÷°mU
-aòyMøW1o»äµ|w`É9±åcz
-\1öõ-Àî{]§J¶¨"§®§)Ò¹g¥ªñè3è¾`#z
-gMýùTÝïü©Yg)y s¤Uý!XØÚÍuNöáݽãD øìêT$8_^ÊOBàp'½¹ü3Î3Å,Ó¬bñò£aÄ0Ó?{^Om[Ù%4fÜ.Nwr1©ðÉGDQøÚý̯}/#¨ïr»~W"®°´¨jcmWSmÅפÕ&¡ü¹~G(JcK¨*aÂ_Îê:éñpóqI°Áöh'Û¾aõ,G/³ÒóÅü}x&hº·çmï}MNáÞoÃÿÙj&ð#à"L&Ù{ácħÃçV«÷#§%µhJ¹5ÿ¥¨rÿº¨_:æÒ÷×6R6ªL§Ö^nYµ¡õû2äâ¸ÏÉÈîé*~«·»Ãú¼p.pßrarußfu¿¤v©]xééëdÁÀļàó¥h}I¢©¤ÇxøòûG
`ú<\ûOß?±iæw}VÎðû?ÓÏ'vì¿íìb:-·~hY>ÎÓUµVâøcS¬J4Gy
-de\Òìéö°¬áQc°áß´#©ÛiÀÃ:ïL¥×è
-<ÃÅsxý¾¢tÃ;ÙvhgY¯N vÝ0t7ò ,IïX®ûp²ÑÑaç¢)Î ÑÃ×:
-§^¡f¶
¢µ?ÝTù#§ÇÒG¤ ±Àhq¾3ãr¤O©Ë8_}¼þ`zÝ\Dw;§Ñ²Qk
-ÿãûøJkêW?Nÿ;o¡
+xZÛn$·}¯ègóÎ&`fº<n" àØoïËþ~êÂ"Ù=$GR²HZ5Yͺ:UZ¾_þXÔò'uÕKоÆ_¿ýºüýåßô?ßþyy}»håà×ö·,?îæ·ß\)Äè£ Þ¨·]¬Ç
+Wþd£¹[m_rkðá=¯rk^ãcØa÷-8£
+{ØB©££ÕÑðÖÀÚÏCw¼Egn´Ò§«H5(
+Îm
+àÝ
+¶Z¸áV\jÂkÁðLÁ32?î¼Tñ9#m²U&áj65Ábìz'ñzx+,û l´Ï:{
+Cà°§5÷óÀÝC1ëta¥`hðæT¸8êèɯ¥pZçpqaÔn(2T!ºsŹÚM «wa¥sj8¯Å³Z
+ZìÏliôÄ5fÿ¸sTIoë`%x
+³i½º÷xºzònó
+2z1³÷͹Æë£!FàX`:ò%K4$þ¿5 =JÒÚíh³yÁô²ýÝ+Ì{W»½Ã±ºyk?äàº@hö#>ãµYkí±VXæ¬õWmÕÓ $®¥F¸
+Út¥$ÛD³Øë/²¡Z^«ëã.:¶&E)bj±Èóù êÎQvä}$4p:eaÆýÊqhj^%`~NüÍkHµDY2o·6ÚÑ1«¯ñC!3ÉÆ,O<½´²~ùzQ é{~Ù_ÿ|ÊA¯Kð~þ}ùÛÿG
+,
+¾ÛUYðÃ5$øA`
+¿è8)4IXW4èEÀñ#!Ô#T£C=ǨIQÈLÍ'buÆ&1t+cbhoú~úäö¹4pÖ0Ðkb
+û»Î@Wa ²%g*ÃK(ÈÞf.Ø10
=äRð¢ÞËPù-±d3Õ¸tJ)HBxУpÄF/@¨ý¸5Ù±«ët»ýº)6hÝÏÊImFC\¹SUÞC(úÐn$)Íë ¾
+é|¹ÒÕÉ5|Ì£/åO.[AÞ·«L«Fò®DJï>+ààiài FXDtÂè\eFá+>QÍÉ<¡°¶è¬¾ïYdE#í!O£4<
+éÎÔ¡å`ÛËHòÌÎ;C³xga ñÄNażíî:´\î¾.«í̦½}î
n7v[aüÔÌ»&:pT)íãâÐ(F¤á©(º]Æó{ôM¤*1bGú1Î q4⯹ÖKì äé\ED^G-䵡Òa\'o*ès¯bóǸ¬c¤ëÐâF/Æ>öTw¬à6eÖ
+Ï-^×3oü$2ox-¸àMÅlZ»4D&ôyº6F`¥
+.0Ù<5ß¹ÇKuõ.mÇ2û´°j<ssòÿ1Íqd Bf©QO4¦$6({é>µ¯Ö½ÎS GJ
+nÚÐÎÙbëÚÚÛìèÒÅJò4dTÏdÆhãDÊ(EÅt²PË5¢[|j觢º6$±3¶ Qÿë¤À';ÅæQ¬ÁtÆ£±½9j¢ÏA`VÕ"2HE»©ËÛ7,Ñ ,,ß/Tõ¯lµß#·âõöõr¤%`]ò]*ã,×NOØÚîpæ11Ëо;RK|áÂ#(*0ãFKy'öÐÐã:L8ÈàgOÍH>{mxò@i58g"ËU-³DO/
+¶2t]+kÂ|AÑzëôïÛì©¥u¯ÓæeÖÂ>F93|,®wnCK3&Ħ*²ÚsWWLïÊv¨å¯MbA&|ÊæN;Ûkò©
+ÊèôØ [<9á¡òü¦MÀVy/
+¯éjí
+»üAyEZ×ÚÜ£ÈJúw¨úq6Å3-p\_QWnèípRÞ0AÐòÞh*v«AYþ;2JJ[e×1þbÍìÊ[×]eÚ
+ÉlD3júMýsHþ-%&
+'ËóÇ¿|ÕA/÷ÿ,_@Ü&,´ö
endstream
endobj
160 0 obj
-2559
+2537
endobj
-162 0 obj
-<</Length 163 0 R/Filter/FlateDecode>>
-stream
-x½ZK¯ì¶
-Þ_áuzÚÀ`93ã¢ÝÝä
-÷´³þñËðÃ7Ã?ÃGÿïßÞÞ?Þ@³4¨³>~¾]ô
-;àPÖÄÉP>÷EØ6¾b<Nül´Î®§õr<Ý+
óçõ§¿½=?Þ¾¬gaPÓt¨5Am
-ßn|úoS
-G¾¥¾bÚRÞS;©ÒxAñÄBS<¥ÿê6ØýÒ4èB_IàQ
-D³AãFòÍi0<äAï4 $ir#nXGQZئ¼,¿÷4kÔy^kVÝÅi6Þ·¢e2ÜúÕhA¶ô¶;¯ävæíÉwBEm~E¾}lÁ³©J±³Ù£02`WÔ#s.{e]¡1üL¿ú¾òdÆvrÑ'êèCͶ¥m ¹"a ¸KIG÷&oø~ ±\\;Ú0Þÿº£9] õfGºr»³É¹vä¯ÉÎüìæ
-ï´D µUÁQ
-vÞ¦°`7BØ;mÞBÀ|¿´p¶¯ÿ¿¡l-kRl®ìYáð2ÑSç?¢g§3¥'ÊôÖzh£u)n*9"Ä&m¢²vf4Ñ?
¡bwFZ3Ye/
¤a`!>Á_ÙÒø6°!üJÖ«¿
-.ëÂ_qîß{JÍëq0[UWûÊqôÆh1¥Ñâ*3hü,cI vYGNÔ^b¾#gÓÉJJé˹
©%Ô5Lݼ@êáaõÊ»?=º_NüéWYb6;Aºqêß̸g«|ÝË+vvÌÌpg¹=ý_õ©°$&Á!*B1®À{#T#LFG8L<9Î#»7ªÎzûàõ-:ÚóÔØù#FqíRvpÖz°É Læ)
-Nô÷¯o£ÃÇQïþò6'p Ò×ÁXtÃïߣ¤g
-e§q,ÈÑ.ÞX9v6¯§Fhfó.CFcáÕËëç¶õEÖ®bxjNzÌÞ#e<'§Í&ÛrܾÀVº
-îv¦Äɺ DSa4Óz¯¢C^ïW¿äÒw±FVµüàì\X±ÎùEØ߸¡^öØðßô}qqk_õÅSðÅÕB6»µô-0÷«ëà15ÖÇ"O¯é
o¢¼uÑÊ/¤122FÇynIj4þÞð<|N¾ÔUðk¨shÖW± /
-4î°Ê¬X.ºÔ&² oêûÉè» ÇPÁçuâ%=¢û¸3/:ñ¬Á³[ò¤ü
-+_¢5¨ãRaß÷rÁéô+¾æ>-1²÷"3`a:©ª,\pSz¡/äs!³óøßB8ÌVá-óYì°¥ÙnËq3äÑÃñg*NÔEÂqÈ8+Ï SÛ`õ×P±%âJ
Ù×ùBÎÀ°øÓ¥ìþ\·^ã.¾@¦ÒáÚ
2¾gëZ_Ï{Iyp #"v5OÓÓÞ:Â2Ìø[2ÚS§ÓÜD¡åR¶PçvNñ}ø¿8UGgËY,WµØ*=\+_[Ü£PãNür1Ce3
-×wqãÖÖÚ#nÛÐâ.æ*ÚðûõU
-o¹Ýpô2Ø\²ÆÃÕO {Ô¡XI6
-ò¦+Dì"¨qÏÜB~¯tJÑcÎÞ9î×RæL+ïsðبuö£úAÏ´{÷¯¢kzJ!8®"/]¬ãIi
V^3h'UYÜÕ¥Á¢ûäûÅL´=åt/é³lhy#Ô)£*èNbÌ¥ ÑÕv^ì4êÙfÒ
Ðø,çGbìè#µ-!·ÂâXíµõ×VÂ0
-Poóµ
-·ù'°hP|oÄÊV©sÞ¯!ÐÇ-ê¶SSv±¥`9.m]ü¥ûjǹuQspÞÜA|òk9ÅéRú;ú¿~óöep@
-F
-
-_Ü`ÿPu
-endstream
-endobj
-
-163 0 obj
-2489
-endobj
-
-164 0 obj
-<</Type/XObject/Subtype/Image/Width 765 /Height 397 /BitsPerComponent 8 /Length 165 0 R
+161 0 obj
+<</Type/XObject/Subtype/Image/Width 765 /Height 397 /BitsPerComponent 8 /Length 162 0 R
/Filter/FlateDecode/ColorSpace/DeviceRGB
>>
stream
@@ -2474,40 +2470,31 @@
endstream
endobj
-165 0 obj
+162 0 obj
9885
endobj
-167 0 obj
-<</Length 168 0 R/Filter/FlateDecode>>
+164 0 obj
+<</Length 165 0 R/Filter/FlateDecode>>
stream
-xµZKÛF¾ûWèÀæ-ì®T´·mè¡è©M
-ÝÙKþ~9or´E@¶G#ÎüøCíxa÷Ó×aÎ#|ÕÃÕÌöúöyøùÃð·»iÿ¿ýqzx91./ó`Øxß«^¾ürUâÆ®ZÝÎìjøí,®FëùvW-ì¿#ùM\Ãð¢åí<ç_æöë˧ååôk2·&ðz¿½ìÇ·°¡¿;Á¶Ù
¯`ûþ×ð
-àÈ$¢ó Ô>èàbàb½dW¤°7ÖaüÉê¯â«v²}Ìò®¨'W¸·HædD7¾Ü2*¬«¹jÍwÃ{
-«»8aé·½TµÿÐH·c(Is¹w,ìBDH¼QPßìÝ¥uúp0Så~Úê@ÇýñðÛßõß
-àÚXëÜB9«¤ ácXE6yÎCA[ ùü0ÑÍú$Qa*gÒÉ;&%¾Èb×Ì]çWwiU^X[´*Qiõ Y$ئÿ¸)D_^YäÐð@y(ÇQVÉÈ
-B¹G
-8_A2ä<Aâ¬ý¼fY"C
-KFÑ`Uø͵âÿ)§!ö± =gæ fõ ÉÂR¦"CÕq:Ê"ø(@¢oòN@y/p¢EÂKX¥Tsâ98_B,éí!9Cdí¯¸ê8Tø¤}"Ï¢Y>Íâ*è.[p#
-ç(BÇÜÛ'ÿ Î!56¶BO²*öeöÇE/:lE:%¢Ì%¥ÓTu7aDÉ2¯ÇËCÆó½/ióÌÑ!ÕɵÍE8µaêG-¹ØÔAG8jìzè³VË×è0¬*
-ødWtðî¤wFÔ°ï°4·ª $=e÷õí½BùU0?u"¥RT¢]ùJ²à°¬×x Wûú(; ÷Öf5æ(Á7ÚÅ
-b¡öü&V©
»§ØwTÖj#æuÙ õ0îÐtd7Y² n°|è7ËHIzG$ó\EêÍÚÓ¯0çú*ÒÎ-0R¬$lŸ@§Ã&¤¬Ú;ý¨/Ò
-ÞLhUrúÚ¾Á×ñ%©8]~Û×éâ¶xn#Ìh8Þ)õKOß?L
-ÊõQh®RWSsÕ@2oé¨>6¿ Q·:f¥\ÄîLI5p}Z±&o?o©3HÄ$çàê<~LÞ׺GÙªp:GÛHö²çdJ¦}TÍÍ\!{°°f»öÕê;-=JÏ Ù§×?6)îgÒQG¬}¨-:ÊÜ[õ+ºU÷´7Çt+ÓTD\P´å¤÷ã.uiæN_MÕpù&HF×âh´»²KJ
%x|g9!ý3ÔþúQÆÜb7SNËýé£6""t¦~=I?~Ǥ'»£'Wtqµµ×®J¼ÎJ5¶@ÃæÀöfé¥{ßÜT $GÔ]>ì¶Øyá
-QA
-ÅÜqnD$«tÊFGö$Ä3²k)´Wüð²H,}Á±äÌ0£l½U Hì&(ua
-PlÂÈTG©VÙõßÞXËx&£
-½$=:lBÒå½ÛóN¯JzPHø|`ªLááµ'VX|ê
-QªZåÆ>4Zªì¨2ß°Ñù¬ätß(9ÞOÙmEÅËa Ð ÊÑèâH¹4ùùQ¶³G& XÞ>_>¯à3c
Àíiøÿ¦Çú¿Æ°wToìßc|üþéyxúgxaÿSÒ¶e
+x
XÛn7}×Wð9 at e^$°%mÑGúmR [Ä/ýýÎ
äpµ»V(ö·9sæÌáZóßé±æ'{vÇÏ\éóãùýù¿¤¿¿ýr>þ:½¼¼yû0öqº£Çg¹FãKpN&à`ÞÞOO;gãpøwó5TÈ9eÉÛÍÛߧHûZóö§ù²¿½M1gXÚäp%àÜL«]!µoñé-ÁÁmú>ù³ï#~ xÜðÓá¿óè
+WøìßG\áÆ+ÜÞN¯ ßYa
ÎV~ZèWç8ÊTaɸ;ÆPá4÷sdÜö¹à>è'ÿ_ÚÉ+Ï>Ímε?u9ô§#B{Gð«¶jªzZ´ Ò35Ä
+G.üYh5\ÝÁr9áì4Ъiìàm,xñmóq#\³çrkõ8`sw³èãÀ*¸+ÆQ&èU³Î¼2"á'~<àÀÀ:£Rpj§¦mCt«Z
+¸1¿³þÖ
+!òбÉ/[ÑYË1WdÌ·¨ü`î¬ò¹p1d7N`é7èì22ʯ\¢b/sÎG`Atå£Ag
+ ªÇEãò8JGe"Ìw³4ÉؤU%Rµ4© ÁÊ×$òØ&¡ÇåâyëÒ
Y{£5ÚV×h ú*QD"?A)|é51ºpPÙ%zs]ÞX_â$¡©5.íÔó¼R§Æ
+ÉcÒÑE eFh´aºY¸5Ù`Ýbµ£,fÀú=½)Ñ!+v8ø<_Põí-°6ì:ÒQE×J²$rA¬ÖYEòqeVÖ^3ÂìGÍ^köFyâ3´uµ®ó.xÊûlU gP$ËÏõRq¯¤Ùû>@Þ3îgi-îÙÎ-qNùJWj`ß>¦8¶Ä¥'Ï«ó¹¶m&ï!ð
!0¹÷<R<MºÊµD·Ò¥ò¬RPnÐô5g(Q(ÑwüÙ±üDÜuÎIÈqõ,ãäÎãÔ*G(òE©¸4wf±þ(¡aUJÀ]E&,Y¼ØK²póÉölE®/ÂýÎö²HêÎvý-ÐI¹íÌôK-ó}<rÅâ9,Z0Ê}æ"òocj©·¹YÚ»Çи½²%ÁsÎâÈäUpemIÒ·+£ÚÁXg[?uãèâ§Êc«åÞÄ÷(ê|çÊÅÁP¯g(ÃZ²dB÷/öòZº×Û±¦M¹CÁ$¯ $®WUÞ~U) à7.
+£ù¶vùüW1®ºè" Háùpn ×¹?[_Íwݧ¶½ÊcîÖÂêm3®ZW{0äFv¡Ý4÷eÛ¾ù72ÑϯnÏÑÇPÁü5ÙW÷ß[Á_çÐð½9ü0!~éozµoÉ\aw½¼ÎsØÕ¸BÂGã?¾ï_N¯æ©ÔÙ¢
+HÉu~a¥ïå)-Eß$Ì裏_ß¹þk^q¹ÿoÓ
endstream
endobj
-168 0 obj
-1865
+165 0 obj
+1663
endobj
-169 0 obj
-<</Type/XObject/Subtype/Image/Width 779 /Height 652 /BitsPerComponent 8 /Length 170 0 R
+166 0 obj
+<</Type/XObject/Subtype/Image/Width 779 /Height 652 /BitsPerComponent 8 /Length 167 0 R
/Filter/FlateDecode/ColorSpace/DeviceRGB
>>
stream
@@ -2627,31 +2614,30 @@
endstream
endobj
-170 0 obj
+167 0 obj
14051
endobj
-172 0 obj
-<</Length 173 0 R/Filter/FlateDecode>>
+169 0 obj
+<</Length 170 0 R/Filter/FlateDecode>>
stream
-xYI¯Ü6¾Ï¯Ð¹ÀLL6`È¥hoiÈ¡è©Pô%H.ùû!µ²¤ñ¼â[E?Rzà ķÃ1ã¯$>ÝDϯ?O¾þ¾þsx¹@êÓ$''îw7#
-èAmp¡s±ß>ÏycPìØOcm~H6
-ª7ú|Éâiô¦®y®Éã\nóiñÐKã¤N½}#ä(×7rFoSf»Àt#>DgV²( xã_ÑÕ¦HTsFV³×$·Æµ*blÅÙ,ð¢N§\TrDäæóªx*y2ÝÖ12e×gÃM
(³â^9À8y)!÷z=p
-ÖYUk(WÝRÖî
-02X-`.Ö ÿKêK'Ûìõj¾8gh|w³
-zù¾®É;~_ÊV4fºòs¯DÿæAýU;õÔ±BÂTM[>QmýlySúi£X¶XùÖl²eY_A4m&ï¸zLFUsãêB=NTÛp{ 3òÍ©Ë·uS¢äR7Ù«KVcLìµÉÝ»©0[8sùVÒÔÎ1pª¯Suö¢Õ²úµ[ú«Ggâí! Y
é÷$NË°#M¾3jê|PpAå»])ªX6Yíyßp³B¢°7tÌ
-Å(WãïÕkiÎ÷zPNâ¯5á¯ð%Õèµû>×ÖIaSH@×ÒèàðdKþñz0µ~ëjùËAá$Å«p
-ú÷ÿįuqÔÓÚI÷hµ=|=¸aQÞ ¯¾·g:§@y.â¸ú~·j5Ýõ÷âF¨.j¢&¹s¹Þ
-f»ãgda\Á`IÐa¼YOß¹
-i×µó-KÉåOR0Ù0Ôù8Á|̵}
+xµXÛ$7}ﯨçÀÖX¶,a ìö%äq|Àæ!yß$ß»ËÝévY²¬stk³¼þ^ÌòÁ¬°X~(Ï·_¾YþÔòïí·Ãçë]Ãâ]·åúóòr¯
+òy¸ÑáJðÒ0ç)¤pÙØ 4_Â[ìFP¢_lTÏIHR·ûLCÓBkIxÑIUè¾ÐÑv¬S_W Èm\MMÏ(ç¸ÀÄþ¶Ð~häpãÏú,«S´`õh$Þ©¬0}ÝË!3;&©>ûh>Ï®Oµ¸¾o5 ZeWk|=?-îrpßà8!&ÄLí £$¥¸-GZj9ôIiÓdWȶÓÕ|[k&æ¢år»AÕ9Ç)¾ìþÅ¢ëcåqJçðfÔ1&El
+Cm@
+SqlçÙ»*
+§Æù]³èwÅÛÒÊÕXOç£Ó[Z×ZiVvSÚ²±jÃO4zïp³RúâÔ?OAÇÞ¹Ë÷~¢ÖÔV[{¾×ÿÃwûËõm1Ì÷Ü̬\}".°d,·Ð|êëáåbM¹+Y -¦ÂÞ6ï8<.·6QxrW{ÃèW¶°¿OÞõÍj2b[mn´ñy3Ú"\I~á¹é:u+ünuqÌ
"(.ÒîÛÛ±¢»û«¯ùÙëúúzPz¯Ð}@^ UH?ÿ±üø©jÆÉk»ÏΡEèt´
+7ã\ßR¦ÃGGóãþĮsKs¶¸36ÈÉÑup ÅjòyèqhY¾F£¶ä0Þá¥íO1»ÕNeÎòÚðSl~[²Ö²äþ
+å²B«^þ_Ñ
+i§ÿÂ¥d¦·¶Á׶ü
+ö4í{2<]8kÓ@µ«sÆmóµ±]}ÞuíËÂáÂUGg²RIúçefk?ä¥UÑ.o° ¬ï_!Àrúk
ÿ
endstream
endobj
-173 0 obj
-1408
+170 0 obj
+1392
endobj
-174 0 obj
+171 0 obj
<</Type/XObject/Subtype/Image/Width 429 /Height 631 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 23048>>
stream
ÿØÿà
@@ -2856,28 +2842,30 @@
endstream
endobj
-176 0 obj
-<</Length 177 0 R/Filter/FlateDecode>>
+173 0 obj
+<</Length 174 0 R/Filter/FlateDecode>>
stream
-xXË®Û6Ýû+¸.`G| ñ#hwi
-ttÕPô¶H6ùýÉ!9|èÊnøÚEÏ9sf¨éÄÙÃ'6±ã_
-ðiÿüü;ûù;öO¸éÿ>ÿyxw?paN 3»ÿÆÞÜ4ãÝÿø¸(³òŸõ¨c¶b=ÊÅèõÈù"¦õ¨iÅÅ_R¾
ËÒ_Öà9}³*<3ÀÿõèsNa¼qöÃ`ø%|È/&a\õ+ WRóÚ£ÑYï>¾8XùuuñZÂÄuýåþÃáz?|è T'Ç´
-a".0<,®-ñã £ðNp.Ãa'*!jµ¹é¯~4`ëÄGRp
ksÂ~âFå*À?ÍS¤8ÃFñ9qòÿr¤ÿÆÁDL*r!°5Ì£
Þ@´¬ÑïÜÇHá(Î迾¦Ó̾lFùãû$à
Y CÃ÷¿ÙO÷ëá>å[
-Ùt°-MÊ+â²)i|²D¨],¤Ä©PËuC©Z*ì]¼~û_¯h[Èmvølâ
-/?² FmçnÓ¯WÌCåå¦ic'%.)I¾mäÎè
!3ÿ?M6KJ; XSVìW¡nk3A:L%Âsù¬ÃÇÀ)R1Ë MÍ'=PÅ®øÔØÀíÒÐhè@!{¶}iT¸Z.ÜhWz²ÛF¬g$0øm[24Cù±¦$µ}ÅWUÑ4 NQoW§à÷,ÂÒÊhÞ®9®O
a]I
-# 2Ãy¢t3-õpþÓkaO=Ü°âa½(ÉÂNîÔ,ÜHW
-Á¡Äjú®ÀÜùô°VߨøB>«uó9SMxm£©o¤PR¾1ÜÁ½ÓYÔ1^-ý]nªÁ7 =·»j%<W«!;WéVK|8RI:ÕN at h}²ÓEÁJÍkfD3%d¬åB1ð ËF\ðRA´×*#V'õ(
-b(à ôÍÐGLηÙek1â|W%ÆÁgÓ+È¡Ñ÷WhJ]½&¨Ç»S2% Âõu3ÊPÀ*§e<õôZ^õbÌ=þÆE[/+MH²:öq"VÐ2
)xà%{رVªâ-᮵ÁÍ¢ïÈ{vwõ ÍIµ®ñ¿Èx¢-þÃrçµ´²<.ä( ÓÑG£q<_xR>Ð*Ô
-ìàðÚìÐÂ=Õ×?ßÖs)Ùõbé¨ßjÌ^.Zñx`êöoÔcZêúýìQ'¼Ò±¾Xðºsô²×ÊRæ-®¾9¦ÎZÝ`é3i6âWu
ļo·KMËú®JÃP£Ô¨{0·WäËù¬+òu6¶=U+2qC4çÐÕVèO^>½ÊPm·©=kÿãV<
Þ£9~lKmµï¯÷K?ôªÛ»ú·}=TÄþ>ªTŶ´_úÀ>Áü ëÖ¿ÒUJ¤Ë«_5¾ówL¯ýK±7ß¿p;³Ë¿ÌOöoÂî
+xµXËÜ6¼ÏWè ²È&$`XÏ,pM`_üû©n>µvN±³ÙdWUW·¼Lß/_§eúqÍÄÆâ3$ùüöÇôÛÓ?úPþ}ûëòñùbgÃì§çߧw«ÃdÌôüçôÞ1'ÁËÞ.¦ç/2x¼ÈÊ÷ììâ¬Xã ?W]éãlËJ»àû+âÖH´Äwô¤ë\jíâ"ÓBÏí><r7Oö®;ïÏO»läúÎ~_øÊM 1SÎSÙ°ÃÉ£ùÏ7<¹§;¢cÙH¬|/Ѭ¯OúwÚzwNa gu-95$6ÎÆ
++£Þ³åÜà{Ðq¥'D*yº³ÒªÎJ=íê3WpµZ]wË ;W¬Ê*´Bg>WRQwZº\å>k=9sZ½àrD<gı}ÈJÞ1$æ
+{½ITE¿¬r~¦Æ^Ï);ÛèE<AÀ©IØÔOSÖ>~5k©3t/Î=F÷'&%TØA£ªF¸kü= ZZèÉÀ«}AÕØ¡èS-÷
+Ä]ÆWOáZV"Hb7åÍUº
+ e%+PÍ`Ì®¸¤ZxùÒùÊKS¾%#L'H=Ä7òìv»eTÁ_4q*q\è
+k{Õ©¿VW7»Aô)\g¬
+IÚÆê,¡AU½I½@«··yÕÆÍnêgwU@©>m²Ñ»]ãt¢r{ÜÍ~_t>W`vñ{:ÚYØO#Ýò§Q/ñERåL»;huÉIæ- eD¹O³Ï1ÈÚ¨ßJ¿ßÅ'LcúÎÆPéرæ ûƹã9J°£ÒŪó±J¡vÛÄ%ÕIkqÖãÝfÓÑÎ{BB>Ç?d÷5
³xÔMQ
+òRnUû®Ý3÷A¬&QüÆràɦ³Ô¾Si9÷½è»Ô÷)¶Ü®±6XÃüÝxðJV~nÖâÔ¢´½#ÂQÐ[ÃkIæUs¦Í(bGA)m Eì#ÞÉÀì(áÔÛ®"TÆ
+QQ.Ùâ¾8©ñºj®ãpÜ*ã½Õ|er>Æó!$â<LÙ
+~þätTÓiM
(iQQt¯z3^
+¡c3å(n´Eìクºø\«ºfyÓ¶@[ëbîÆæV9CëÈzÈØÜ1¢y°ïx¸æ¯o½üÊ«¼ÛlJÝüâÂi'CúQ{;ß#ËöÛY»f%scç6"Âa<$Ðw}¾NyÖ2§P9Õ9YÞÿ§#+Áå ÷
+NÞHßýüñkºý;I¸ÿ
endstream
endobj
-177 0 obj
-1267
+174 0 obj
+1282
endobj
-178 0 obj
-<</Type/XObject/Subtype/Image/Width 780 /Height 913 /BitsPerComponent 8 /Length 179 0 R
+175 0 obj
+<</Type/XObject/Subtype/Image/Width 780 /Height 913 /BitsPerComponent 8 /Length 176 0 R
/Filter/FlateDecode/ColorSpace/DeviceRGB
>>
stream
@@ -2956,27 +2944,28 @@
endstream
endobj
-179 0 obj
+176 0 obj
17545
endobj
-181 0 obj
-<</Length 182 0 R/Filter/FlateDecode>>
+178 0 obj
+<</Length 179 0 R/Filter/FlateDecode>>
stream
-xWKÓ0¾÷WølÆÏDª"Á¶Ap[¨Äq ± ¸ìßglí±ìT)Mb{^ß7=ÇÃo1nÀ[¯nò×?_ÅâgXô¿?߯.PC/
Ýqù"n#
-£ÎÒê}&{ÃÆdÐ9ÚLW]¶Ð¸v&O
-ùg¹Üh².DñÈ`fp½Û
-xáíÆÌý*0áôNõ`±n8TÞ?Gq7]Å3tàò??|x$Þ½>`÷LÇ¡'9Üÿï£=rÿÕ8¨ ÿí7Élc±+¬ÍÞO|m&,[ºá)¤uS;%ÂÌÛW@±ôµ½2¥Ñ²o _õ±ò]á_|JåTF¦ºQM6Ul4«Ú³§IU»8ç1å?æ#µyƱqd£ mP«±£*G¥AѪ ¼ §,kc
-°¥Z÷1^t7²ô\õZUÈß´ º]]ÕKÂøY ò´É~UôÊv9zåMÆÅûd¨4ÈUÖkrHê¸Õ>ÕµwæòÍ¡»íÎÆóëqJz&OÏ4J¼ÊËÚM\Èà%q[â(*«¯.ÙT}Æ°Ù1¹Èî5ÍTi9ÝF¦õ¨äA
©Vd_5ÌòíU5J±$¨ÆüÍy&Ò`vÃèçÕ±Â×þ[÷þÅáN`ÃÔƵhRIÀ+=£|
-û·.H+ü¶Ö70*qú%îPà_¼ñH
+xWÛjA}߯ègÁ±¯Õݸ3#>Fü
+ïm[Í÷²Ê;tPVQ¢%F2èLË{GSnY2êò>ÓÎÈ´Dò<òÞ-*
)µ¬üxÞVÄZ¢\OèUPëvçÕ%«=ÂÈcpÑ!²Ö(«
+zºv+jån¢TgB;ÔÚ2¯acA{û W×ØÑ*h<ÊÊH,¥g;Ùº¶Ök;8u¡
+`y2Hâ
+âdÒøKÆ<ù`í }ÏùÇ'èÆßB>sGÃmîCþ4M&eD^Ç°øG*".5CÂæñ0ñ©QÇYBE³'5¦¨7äæ¼A½ eWUåÒצ
+hΣÁZGñ £ÁQnl¸ÁÆR³hvÐõ«à$½s/èm½,Q5]²V®ãV.Ôá;
+½®¥þÆ % ½|ÁÕ\7ÂLUw©ïX.ñptGbBÀ1æÂ1ÍÛ<FòµÍñáþÄø»nòöõ nÎâ¹W>ã½|ÿ¦Þý8&`|rI;`<QÆf_Îþö{;FÄ;ÖÐ~T¼æ®Í¶·SÓ$ì:¹Æb³ÇSÐÉ¿VWÕüÎÜ[>R«¥¦øn±mZùp½ÌÆË®'õ*ùM.ñ¹¥Ælü ¯í$+Ùa¦C¤P·íAhõ*¹añÖ"5xj±[õÌ3ÂS_æò#TÿÊp¹8SE\Üm®Ýw¶l5moº?+MøðõZÒf:ºáµW½ZmSuêÊDsFPañ@;Úð5`ëB÷v
ÉU9qÈí¬7¶_Âr¹6ý(ÐÙù/0Ûó÷Ìk+¬ÆWa¦8¯Ç|»§á ·ÔîM<;±fJR#ÀqtÞ[Ö
B¹\MX¤ªàyãP`Bù¬·'#ÓÛl<#³¾õ¶ysÐ>fðØïexY¾ãÈ®Wi»¶AmØ9íÒá°é»ùÛha dÜVÓÁÇEùàó³ÓÂ)bÙæ'dqÖ
ãòs7#"ñyóâͽIZÍ?Ôþþ§Ó
endstream
endobj
-182 0 obj
-1004
+179 0 obj
+1015
endobj
-183 0 obj
+180 0 obj
<</Type/XObject/Subtype/Image/Width 429 /Height 631 /BitsPerComponent 8 /ColorSpace/DeviceRGB/Filter/DCTDecode/Length 25583>>
stream
ÿØÿà
@@ -3156,48 +3145,49 @@
endstream
endobj
-185 0 obj
-<</Length 186 0 R/Filter/FlateDecode>>
+182 0 obj
+<</Length 183 0 R/Filter/FlateDecode>>
stream
-xÝWKË+7ÝçW̺Ôòsa _)twÛ@¥«¾ ôz7÷ï×zø1¯d¾RZ(Ç3¶¥#éHÖ¨tvª;ª4õ Ó"~î¾û¢ûñ÷é×ÃÛã
-mO±ó}d®`ù$xµî¢yìcÙáe¼4¾!È,½å & w9[6ôtäÙåÅøÕcY&-"ÑnCGÚÍ~ôw±¤Qü4A°Ê{=ÚÂJO£·Sé¬6
-5ãE¬àPíIb5s]¹k¿%¦=>4ÌÆ,_óå#Ë8Å7Â&é\úÔï¢p<]Lî?n"Gçâ
-:k©Ð(Xòðäl§8?«ðºàÐãq8¼¡<S|~Ô8À
-*ôZD@¦(gâ°-é°)IJÎ3¬ÇÓYdíuRÅðö)Î/YÆ®
-PÚáÒËK½ÖíÒº
®
¤+¾ÝkfÁ}5ú
«+H ñóÝcÄÏ8åN=QC»1º)kxÏKÎûnSË+Ú,yfçL4fÉDÎCROµ#_³¹¨TÏT«<K]è+úhÈ=çÿ
@vVþQÉæµ@äöŹç<Â-ÿ
-Lìó§äâGòþ¹
-hêgÓ«ûýC÷ÒûÀ
+xµWÛã6}÷Wø¹ÀzE](X,0ãØ}Þ6@? Û(v
+t^ö÷{HɶØÎÚ"Dq(<<<Ôö{ówkÚ¦£Éâ=&yýýåö/ýQ^?ýØäÅëÍóµ±íõµ5ÇvÇå|K-îBMëKóq¢.¶óßÛOÞñCtÑs?·×?ñÚ|YNʱØÈ}êúöúµý8ÉW¢ì'1[O1à3Ê'ìQo!u ~°ë&~f±ò<áÝÂroÙA±ìÕÊ1ñ¥¬cdNjÉfµtò;Oâ¶2 óɶØà´Æl§ö#V~±d¼¿$vúªx{6xÏYV±"]³8;w°
+ÄRí]l÷ãÄ(½ÙÅ,8Ô¨eÅ©×HàÆìæHøëgkì%2F¡s+F9z|fÜÅ/o°¢±F?ÜGSj\dz¥ÃSVörÉ1ÅKáªxÈìÉþÕÆÓj³åwàÃ
+ÁH>Äyú{üÁjɧ
+ß.ú½p|Î"òP¤¨!M97ªBÈ2)BUrμ°wÙZ£¥§ányªÕHQôKu\Z;C*-XxPPù KÜuOOk<L¼·¼<À5PÝâ
ÎI¼ðUÎô±[º½G{zX;G;çÝSD1TÜÅZÎý\G¦Ê}ëƧTâÑ©ÚÕ3®¾>/ÚqÅÕÀuNZÕ57r÷n+&¥kk¥
+Y5À
µ«C̱3ùÛéqþ!Ùìítz®ª_ø/Y½Á;4ÍUþó¤sw±ÓôZQí¦Y=ÙÈD}ÿ7ý°{òû¦pð=´ig
+ël¹Ä5^ÐNXÉ,ã<ir¯¿
+°l@~ëÊjÓËs÷QlÚ./ÉÚE
+{{Váæ)dÙ¶«__ßk<?ºêyõýù¿Ø¹è\oD¯ãÅW¢íçuËì
+·Ã®H¼4Ö|
«GTeS})CÍÒvBV±tTâ²q¡ÒBð¡4´Râ+jËåDx£¤÷ºØ8º7ÅÃäáøýeêá¾s¯í¼íñø\Z0Ê=L>x×éFôàÍF¨ïN¹´(JåDé¼Nt)Ö¶¸>ç(eSKv>¼è°èÓ4WY[ÚQ
+e«w4óeJv6k+Þ?ÌæÿAL³DVÖ!vîû3óËIÔTEµÏÝ
;+ÇO@ÓAo±ÜæjrJâÜå^¤Å<ÞKÕ%Éìñ:?·ºÜ¼9Éâ<uæþ©6!}
endstream
endobj
-186 0 obj
-1316
+183 0 obj
+1188
endobj
-188 0 obj
-<</Length 189 0 R/Filter/FlateDecode>>
+185 0 obj
+<</Length 186 0 R/Filter/FlateDecode>>
stream
-xÝXKÜF¾Ï¯è³aÆ]ý@f5$7ÃÆ'ç'ØüýTU¿µÒhmðÂBÔ]ϯ¾ª+/ þ=}R%>:P¸úÖ¯¿÷oÄß|H_ÿ<=ÝO ÜEòÒûoâíb¸ÿña0óh·x?í ähéÅz5AÑ;îZ=Âà,î´¯ï\?QMÓ@
-vx
-7>µnâ_Ã{ÀFæàÀ-ã¹G¨äPºïÔ^¢?3YqÖEZê7̹l+37Z1ásôç£
-©§ßz
-N»feL2àIà¶BÑ÷_OóýônU`î7
-L÷¿¶4%\ïqm)áe(3f
-m"¾¦ª¢ºÄÐ6Ñ#vME&ÕY/u®&;Vk¥êÍl¡¨töè:ß7¤«Ñ*QÄsñM<£}bs
E£òÜKÍ0ͪÌa/JÜ*¶¶im³3HeeÝî_w»QÌÃòwi³;µ8br³òNäzÀkX(ÁÚÍæ1Ô¢MGfTóhô¬[kçÛÉ´ÓSÊ'M±ÂéJ<
Îq$PxÞLi*Æa²§Bß
-®
-PX/ÕT26Îíw
¿¸º2ÅËY1¥ôYÇYô5Íûß¹©c¶Rݸõç{æBîÓÑ'oB¦©¦ÚÅAT8¼GW=áhbúp=êöâÓ2жúJbñfG^fs}'%@¢UÈ5#6õÍFXÍÑÊ@-zïâA() H
-Ãn! OâìsèWä^
-<gcèEçÏhæÄÃ`)ØÔezRêBZ^ÔÿBf5^B¾ÁàJAîò¨ß*ÍcA·1
-^GÒ¥O²ïäÎh;âçóhyuñõ_0x c=/ÍCõvc"ü½_¶^(þH×¾CÏÆÔÿ¢=àøF6âÓçÓÛ_>C/ÅíA¦þÇ1ø)
+x½WÁÛF½ë+tPeägEd=X ¤
+¤Eréï÷#É×7Á¶,ÙÉá{|äØ¡ÿ§ûÚþ0Ä>GÂY«¿}î?¼éÿòv|û£{÷ÔÅ fÍúéSÿöLöïäϪpNJg\5çñ ÷ë¯ýÓ] CA<x?(SPÆóISUŗÜóèÖ¹`Ùº"Æ«2,,+ÞXOÅ-
+i¶Ìg»«jWy)Ù:k$3Z&¥yÀnαÙXÆßù @~¸RNîzêÞ_ñÀîðCaÏ«±
+d<óÒ ÌEC-¶¾1±âZ{ôAfÄ`©=qA{á®8§¼¡AC.Z½(wt¸guJ(zQ\õ./9"»[)ó0Òΰ´ÔÔµjzõçn1ó.Gw-VgzPÐãÊ3eÕ,dæJFÕEO¦RhÈ+Eæ&.°ÔøÓ¬/uIÆ/2PYØÀ縲'7z
+kKl·RK]+=7%4Ðèß.uò<$+;Ý%V驦î
¿ìÚÚ´¬jËù¦öçT×÷&÷QÒÄ¡.xÅâ·2ÄÞº+«»G´§XnHI¬ªÞ!\ã+MøíçØÔêÌK¦º8è^RkcûqYeUPY/Ë_
+&([
+f¡ìdÇ¡c¬´àÞ8ò¨×ãªñAÙã~åÈØ1*ßwI
ð
+
+- áy¢ÛÀ!råç{lr¨øOÙä&à²é]±i!öaäÇàI0U^ÏÈؼ^ÀçÕ@ÿ>ùøô
®ùä»|îà8^Y5ÜܯJ¦üdîÀ8®õÆ°þY2ÛOü
+«]¼,¿ìhÞ&lºAFÏ4íûù-ÌË3GðÖ¶¬×ÿ9¸ìocöçf¼ÄÌß÷_û!_¢¤Yí,²ý£ÖîYh°z1çþãîío_bÑ~ú»·`ÿ,äõ
endstream
endobj
-189 0 obj
-1015
+186 0 obj
+936
endobj
-190 0 obj
-<</Type/XObject/Subtype/Image/Width 783 /Height 913 /BitsPerComponent 8 /Length 191 0 R
+187 0 obj
+<</Type/XObject/Subtype/Image/Width 783 /Height 913 /BitsPerComponent 8 /Length 188 0 R
/Filter/FlateDecode/ColorSpace/DeviceRGB
>>
stream
@@ -3260,65 +3250,73 @@
endstream
endobj
-191 0 obj
+188 0 obj
18871
endobj
-193 0 obj
-<</Length 194 0 R/Filter/FlateDecode>>
+190 0 obj
+<</Length 191 0 R/Filter/FlateDecode>>
stream
-xÝ[KoĶ¾ûWì9·|SüXè-Ú¦@ÑH.ùûás()ÓôP×+ä¼¾ùfH«¼üòôÓE\|tRÁÕ¯xýù¿|sùO¸??ÿóéíóÉÃm)¯Ëåóï?lR]¤¸|þðýp7uê"á¢W¸È
-.Jà'üSX¼¼áå5ß^>ʧµß)L¹{Ǿ&ïå;[.ïp1ïù(SJÀwÃð2oòZªÂsñµ%P§Ôõð0.MÙF¸Ü"¹\è×¼ðøÜG+9e¶8Û_?ÿøtÿ|úng+VÎ4(Ñ翸ÐB\UgJSVéJôᮬ
-ªªùRøçÛhµ0¹[«=åG2wÚI^'÷îºî'8Q¾ÞÊÀΫ¯ÛámëoÏòÅ-Îß÷Ûó¶µ/ÞÜM¾!ñ»ÑØ^\
-?¶¾Áa`¯nÏúÅ;·Qu,Ü1+Þqw¸·áäî¼A&aBy¡ýíÇ'óKZ;}@à?¢®>~þ÷åÏqÅW)µWð[/B¯ðÛð!É ô@ÒÉbó~¨ÎÍINâFtVäsÑîÿr&©ÿ=|^}ÍI^s¿J?Ú±UºÆgÀUìx¾ÍÛ¸Àø÷CiãêÂxilËNÀUêèFiá©÷bØ<Ãâ¶ýJ¤'6ç²
-ì^P¢ëãc¦¨0lßÚÐ`ÈZZ±ê¦é`9wÐG)ÂjA}iSâfø*Êír£klhÀ¬&Àr4Ov-ÓxEY0mCxk¶ÌÁTÏý\J
TûÒ¤å,á"çÈÊfèÅ¥£=ã{¦õÉ0âÒØ})2Âï¬í¿`DvÖ<´¿Ö
-[ÜGx%q㪷d¬ø|«Íø]4]|Nbt¨¤x#}}§Ù2¡vGDóK½³\2>¤Â<dÏrKÆÐLfKõ¾]:Þ0Ù¥À ¦©ª7¹!à·z'>µè8CoX!)ôÖ=ôá23-þLµSâÞ´¥KOh®Uåbâ¹þ²>,Gu>^3XÀ©µRä§$¼!ñªç¡s'ç²ÙKzBÒrrÖøy¡zC¯7å2aj¬<ç¸$ÜqYHùSàãuº\ÀZ6IV¬í
-·¹57¹1¡èMV¯I´àÜYá0ª ¦&eaÃ,ïWpº¢;
-æïãÔqÒ«`_è¶Àåõ>º
-ÙùÛxKäg¿}e@0JÚbã`Ñ5M3*åñ%îLÂí£XföCÛ$±çØ öÙ8¤E,§Ê!lÍP}ÍÊSî/-ÃXðÀâÁÓ>éÕ#ÙÉUå&yCMR!Øó£¡ék[%Ù
-Ó8WÒiwo9ÐêµEúúx
ÆÜ÷h¾uew¥¬0x_BP!!j
-\Á¬¸Ò+öÐ_ÕÚµÒ¿þYç>øÜTü&÷hÚ´ä¢+8ÂCQj¡A'W54gлì8'½'{²òLOVR§ÝùYQï5a0{GH¾ãO8ôi»´h®²7(shG©Ë*e l8-¢LZàOä2âEÉ(¤Ioª«îjN«ý
-ºÇ{·tæS¹t\xyÑ~ÉMÈ£.v{ñ$¡¼åº
-.uZiëºê´vÁ:K(rÙ{Ð
-+»÷(Úê±,â
-Dq²Îø2cYæWh©@°JEͳ+:ÕÙÑîpëå² ÊmãrÄàärnÜCÝÂÞ
-¢
-õ묢x¤9GݾÚïµ]ÊD^8ßýâI8|éþZz}K!ªqe+гtéYoæt?R1}å8̸uçÁ½=ç;-ºs§k/Þ¿oLmo'P}5Ú'D(ð$ ÿ
-¨èo#eIÍnߤo¶çª
(Ùm%ÙRÉÖâýn.½úxÚ;08·SÔþÒÑ!¡!ú{{Ø]Ëàü¨èRȸéÎl-£3ÊRÖ<OÛ¸dS
û`Õ=öÒ¯e0§þãÅq³âz7$^ûÚ8 GfNm¶wh=7FMÞãîsfï(3*?azaUwàéÎ
-Î
-9Éé^óâÆÔ<--RB´)vMõ¶£^õ[h÷Yíì6ÚhÛmµÓ#ʵ
-Öíx~¸9±7/ÒãrÚ0ä4Tv½)BNùþhïùªâ#Ó
Q^òØ·Òÿ)ù§Ëø"ýÇJ
-ØFiOÛCo{ÝWСlZHw4ÉÂýÖMÂÌöêÉFRÞCï1ÙY¢ü);ÊägL:wܣ߷3¿Ö
Ï÷ä=Ó`}ªToú8fÖ§±²ÂÂÑFq
3(¥Í¡ô¡rÐÃH06· ÿèÀɼ?]wgí¥Î5zöEQUY¥ØÚ÷Ø¢4ÿCÄ÷þá§ï.¿÷QEö
+xÅZÛ$·
+}¯¨gîèJI`¶º;ÏNÈ$±#6}ÙßI]¨ªª<í
+<<À¬}üyùøåíññöãP¤R7wù ÙF.
ho)ï¤ÿÕwú
+ÿÚ¨l¿ðEÑÑhÇ:Î-ct¼ÁdWpÁ U|°lá§Q@Î^YÜ¡hÏ@ÖÂÏ5þ»Ó`AC ÇëF¥Ëzô¼?3£#¶õFùÜ<É÷êÃCÀ¥+¬(Gó!,ij
+ÁWÀ¢/»0ãÌ$^©iÈXTVs¿Ëy¯¼!3b¦<CÀOÚ½hê'Üñ=\Af¶¤
Æõ¸®®}£Å|
+l[çb~z6º8°³!Ýlñ=Ǥ4KÙAfË>ÄMõ3
+¹unh§KëúxóÇ0ÅpC1¨&.Ã.çÃM,Ç&àÀ¿¤
[ lºDPU4EOxÒt¥xBà|5Nµ°%Ø(ïêÎ
+JðèN :©1÷ È_A5pó²+§Ü#DL¥µÚ66-ö:°\WApÀÀhÁK»;JÐî@ÖÆÐ{xj²¨6¢kÁ,Vú#Ëàï#S¾¬ô±Ù4ô6duOpÑX=+R%³rl»ÞüJ/xöâÁs5&¶(+CÊzB¨ÛÔ<>±ë7¬EOîw¡HK?íb!gÁ´ª'³øÄxvv»©?4
+Q§ÑºßÙ>(4ÄGG7£q À8Õw]*ØSÓIUÈLgt]½§BåßaTï{Ygå:¢6Ãzÿ²^#kÃDm.!äâ\0ƳCpò
+óä8i=ïËV\$9à «0TÔZç¸Oî©pX>ÅQÄkQVËjKG¥¼õÂ4T&ªH C;í\¤é1=Ó¬ä7G¦bL0EkØ'²Aeõa&¾° ð"%60
+öu0
²ºb%4%+_^Ä(E}xä$ê3ï*aW^5
+OX+×g',ô>D9Qä))±~i}äéµ}ݲµ<gvf´[Û;²Ö®HQ´ÚvÍFVj_'ᯤoêìWs8÷ç¸hP½¶£*l>ªT¿Ø©î$"È£_¸!äé>"ÆwdIú!L³{CÞW¨ ´oµh(Y¨c^dK_#»u.tì +bm¼µ9ÇÃ¥
+Gk6s§ZJÈÉl9I;¼÷B/ïÇs¯{SÇ4ÅÒÃ-¢Ä|\»V¦P7á6\sç²v/îµq×çæ·¯[{^ÐNÖ4Χ7ÄFv½ò
ÔļA¶°\Cµ®°K©|ðSùït²^ï¼*`Ã`-¥ÓX£
+C@ã
+)
+¨·ÂtÓ»(FûJc£d48äh«O¹²|´wjLhÞ"1S/b ÷KÇk-i8|7uÌx08S^å^Á¹¾-
+y.êv}¥mßñÊð n×°¤´a±ÿT½ßuUÕB+ÿêx|c÷JÊe!6ÁÊÃÝ\¦xâÊ`Gâ¬2«UôÃ>IñêJLâî%p\ãNJ9ã².6<"Èãª6¦!ªø`SܸàrtÂp}C¦âµ;å
+Õàh;ýØO©ÈmÔ."öÜÒqj³KK{5µåÞuÝMk9yÊ[ÎÛ8IÝv@ç:0[>¾.êæ-þ·|ËΪ]4hÈÃãÔ\¨«#´-=ª~ºA®
+¯m~[§ÉÙµ%
+¾MPuK:¦º®¢fµ{#}>[ÒDÒKíÅí¨×cMN@ÓµQÛ¾Myô¤t>cógGM~PØ[ìå`íûy#üÙF¨m9m÷Ñd
+\©^¸¢ßáÆß0k{O-7¦±VÝ4óÉO ±¶ÎÄlÎ/f§¹mùqæ;#ÕL1Ñhdá#»]M8,ríµKʺ§Ü6omÈ;'Ù
+Ø
+ó_øÆrÛ@c6·
+g8d&½ôu>÷p%þú¼o%ddjzrc8º».ú¥Úå©Æ_
«C¹%1âãÙ¬Y"c¦ðnß5¶LÍ57,xæüqïîîç3D³ÏZ¥¸O}È^BjOÿäj6üa£Gr]ï¿O@Ûp³åëX©ë[ÁÐsÌÓðJUdVï?¯oM
+õú÷3¨nÓÿCÑ4³¨Â t7fàÛ°(U©yäö1;'(¹2\ûpãP«sWèø´`P56ÒUÈè·vGZ·7GMpY}ñô]ñ^Ë^âK`ù²MÇW]c½Øߥ¼²n¾ %Ôdx£Â=E£îɯ¢&Áõ£7LûÀýÑL÷øõr^"~/ØÄ/ ÇÚÈt4ë¨>Zsþõ8§å0udð[HU¾ÈåF fu'BI.ãE¦WÑÂíà¡ØïC±µ tW62VÓFê~î¸ùNEþB
+Ô]¸6XØOÁks0*p<!¥/t!
+É´ïpÃQ¾§»ìÕhé·ÜæëDÁÞS¢xiz¾i<FsVxõÁ
ßêÅCÿMÁ×D«©¶ÿèå¼/8'Ï6ê©{N¬©ýïªMfصa]Ûñ´íÏÎèÂm&Ô1{âÝpÆܱy0Ò,v$¡\÷Ðòѽ§ÕHó|PCKL{úÝ_´äù~WÛSfÙ|Àaùkõ?}÷öãò_¬Oÿ¾
endstream
endobj
-194 0 obj
-2904
+191 0 obj
+2684
endobj
-196 0 obj
-<</Length 197 0 R/Filter/FlateDecode>>
+193 0 obj
+<</Length 194 0 R/Filter/FlateDecode>>
stream
-xµXKã6¾çWø¼@¼¦ÞÙ¤hoÛÐCÑÓv·@Ñi±sÙ¿_R¤dÊ$@[àxd¤È)
-=tß_»¡;øÀà3ô|ûÜýü®û+¤¿·ß^à\o;3>u/¿uﯾè^¾ürraS§£;
}4ÓÑ
-æBÿó¨óÄ@O Ná)ÊO.¤Y(®ö9ùU{3ÙS´JËQq#\3ÏÍxDÞ#o*ÐöçlÐU~Õgƹ¬í3§8KÐj#D/o<9j7f³&Xc´gôêpÝÄê²rî¯/?./Ð{ëz·z÷òÇÖ
-K²¸ng2®Ùf~Ê¢êíë-(û kNkúôzÐÄobÊßÝÐîµòûÝO+sÍz¿i.»7Cí
-ÅÞaKRÓ¾öTÆ´g¹jòI^»§©¢ÓgáBKÐ:¦fCÅäTÛ2ãÐ]À¬@úÃ_;âoñ¥
-Úµp at 0HýüV Ìgzå·%N¬QÐ7F¦ÙT²Ú"ópÎc¥iNP,Lð¼gɹõLÄ×84Q×9¤4qò
-¶¥@!_£o¸øZ¼£=ÛدËKá²ÈZ¶÷-°«Ïo<"cN¢£×®ÉiÌU®b«BÖÐY±îºlaUïÇV
-t½và>©Eè¯åc&^l§09!Ç=ìóÀ¶¨}Ì&âÿqâ®`Âm±EVÞDôÛt´'Ú,-ݤA¦´îÎ$ÒQ×ÒÆ[ª|´yv©uSk¥m¢|s°§jlêÕÐDW
-M§aMÃ"cÍ«²6$ÑU>-È-YóÚâ°¸l2,àþwjK
-{Ë-5;"BôÃ=é0©Aè| Ày5Öïz¾Û!å1Ë9m(zd¾UÄ(]륱§ÆM¬]hÚÜ_0M¡h>çï°î~J¹QfªâEУw7¬*Z°×¤:è7ñ³ß¤z¼íã~Á·ªZ½ÓR":G"SĨúìïë¨@î}þU^éï± :îB+wMü 7¼ìKU~i®j[ ï¦*wÉÏ[kÓ?ÙÙÈMÉç³j½X+pÒôᬤ³Lîû88j¢Ö¼yWÇyONoì¥]¨%íAàÒÒüßeÉ-<ñ#«©oòã¼¢òc®1P£AG¬)¼ëq3ÐIimÔñ>wQä)°ý×äùl±ÒÿHæ?ãÎrw¡;#"±ÙÛv×è¹#Ç^bqÐ@+W;S*`T±ª¶ÄÔlq¶
-3ñr³`¡¨1IÝx±â>o®b|#ôaI«Ý||ç»<åõÚÍeï7ïÝê`ÒVX¾¹.Ï`ëFwºys¿tµí0ûæ-åÑ/zúP¦j¤6§¤¡//<7¡AÖëhð¹ÇõÌ«¨kÔéxâA,kqÅÐ øxûÜ}ywùÿÁ!â\¤Ê;ðM3~úØ}íÀ$<¸Û!â¨õ$ÅS7Ñ<Fjh\Ïþôzxÿý+©{þ»ûÂþ!ß\
+xXÉ7½÷Wèl mT 0k rtÒ@>À±?$µVÔÝ2éDËã#UR|¿|Rü ¯JÒøé}¾}¿½ó"ý¾ýqùx»(Mk:ÀUÛïâý¦¯^(%n_ÅÀ{ç58-·?/FᲤ׽ji `wYu
´+Ééëx©³ÎI§½!Áx
+\ÏO,zÐ5 pFÀþáÿÞF
+êj³3b|ðD:Ï+ïðÓxK6D ]Ï4hËÊ6¡e´¶de çùaKè?[oO ;L9ÝJ©ÌÕS³°íd¥ç}.źhõ|~½HÔò=ôËODÂåWd#ÿÿøõÿQ°óf²W3ð£
+dÎò{ZÐ'°ø7ÇL{`¦\Æø;Wð@Oño¦5Úk*îáC¯ÃxËIh§h¯hj5/CYCØi¤ÝS6íéReP<ûöRÄ°ì°1Îpô¨¤Í
+JS`ð9³×kõE9¬ÑXÞvN>¯Å÷Ï5Ù s
+°Äí
+êþ`¯µ&F3ÁsÀ¨A*%l0T9Ãá¢æã£!ZîËÑ1)QëTØÁ͹Ì_l
+.6Sc1,ø±ÜÎÀP ¨á Xap·>`ä6ÒR
+§9ÓáÕdÿ!
®XP¹C¦Ú<N£EF="CÇ)3
+õYíïE
+¹ÁÇ\q9»¨Ó8äJ}¡Ò<"00å¥:âØÏ>ä55R» ¹duN's E*«ÛPÜ0Á ýÅÉÍg¹F{'3Àsu
£-BÀXIQL¥ ÏçPL#}2Õ.5Rs¸×n»f¹Oäo9Yª[FDÊgimêð¨Ê~fTµ/vq¦îV5Gk!_r¨íä,þJÑûP鲧PÕuòõg7dM`*ö"[Ù¹8Qw/D.Kæö%ïsºÛYëIͤ Zà(
+Kã©Twö0Õö,sÙì|dàxâD%¦ÎD×{èºúÍhxWQB
+½>õ#^°TeÅNF+·YÄ©{ÖÑ\»=b®Ù6âÞº÷Óøã-5.´C£ÓB\Ä K&ù ÀÒMûC°HÕëcÊͶ
+·æq§*Ú#Í ÆÝBC5nl S@¬µxdìfvz·Ö¦8ø)qÔ'ÊÖ=:y2[ä©4î¼£ñÞêöíÃT$'íÐreélO^Æ2´½'c at oFá(¶å¢Íq7ÒLÃèIb¸®>gB*2tÉB+Ðtã|û"¾¾K¯¤'<3P|KÄ7äºe Â8GaÃ颾äÏè
endstream
endobj
-197 0 obj
-1479
+194 0 obj
+1582
endobj
-198 0 obj
-<</Type/XObject/Subtype/Image/Width 783 /Height 913 /BitsPerComponent 8 /Length 199 0 R
+195 0 obj
+<</Type/XObject/Subtype/Image/Width 783 /Height 913 /BitsPerComponent 8 /Length 196 0 R
/Filter/FlateDecode/ColorSpace/DeviceRGB
>>
stream
@@ -3435,514 +3433,514 @@
endstream
endobj
-199 0 obj
+196 0 obj
19886
endobj
+198 0 obj
+<</Length 199 0 R/Filter/FlateDecode>>
+stream
+xí[[$µ~ï_QÏH4çVЩnøÀ"=¼ð÷±sJì®îÞAh¥aDÏl¥ìøúÙqfæé¯ÓÓ<}=Õäà§ôùçoÓÏ_Mÿ?Íç0«à¦òW~?å¼L:³×øÅǯÊÒ|aiQø_rpyI-È`³¦ªk²üÑg/,isvÂسÈJô
ê÷zR3mêíõ×é+àF
+þ8}kµÓnqÖoÝîâ<Ì.xg=þë?ÓëOFf¢ÿÖwÍO:üT¸h@ª«s0ã;Èfc-.ä·G9ÒÛN!w÷¸zú®p÷FÞ7(h~?r# ½FÞ6ÊQÊÅ)ïâ*às\)²Í3%¯¨ê¯1mx%"i#U¢_ãÓËëéÎv6èkÞy[*9
+Z%Ö½ÖDÎ0gì¿`DTu£×ÓH·29ÃG¦~"NàÖGE(¢µ¤*Vhn.°Û?05Ts+ÚªÔð'Ð ^á÷:ZÕax9EzD@Õ©øJ5_A>6ô,; 袳KÁ¶Eï÷s§£©5bäi*äãkATµÏíjT°6åÜ>8®ÙY8õ*ë±ÝÀ_ Åí!Öyä>rnäeʬc;"¡s±S[Û§¢7r/å¬&E½E¤eéÎY[ÔÔ¦¤ ×ø gì,r¡mGü.z¡Ïî ynÀ7QâÁ7fÔVU¨oq45S¥TqD OÍcÚZ#»iÖRoZ«<a(¹Ö²º~¿±ÉI¼½lO,¯aqÐN/ ×ú
+¬W³AQÎZ:¬ÜÅ÷<Ñ£¡z:¶^(=¹ISè[-Ô"ÍË㺱gtóÌÅSÿòjùÔµ§
+ì\óvJÈاlà㮸òtP{¡jQÔð-%Ë"XòÁqÆãX'Ò»9¶]Ìj^6G¶574jµÌßê)¥Ús
6{z-j[±
+ ÅWåôk©"óâ÷{ly¨ÌeKÿ˧Ì_y)&ô×téñi2ÔLÇÿ7ýô6öó¤xÂjqlÚCdcéF6[lî@µ¨=/OCµ!Cÿ`éÜ°
_c:ôÍfÊe÷øUkÖVc5ÈYÉ;øÛÜ)íáoo¤*Æ"ʶëqðVSzÅÌ^&iØÉÈý Ù8;HÍM^¿dÅ
+ÙSÒáz¤7¥¤Þ24\M}´S¼:Cw¸+Hªk3NÕM¹{p¢®±ÍôC¼ÕD¹Á3Ò:óò\¶ÊÓnz>ÎËóýQ¹a>
+¹ZÃ4Ò¤tã´¹Y}J=:o£ù¸VL'tÇtªrkûë(ç/4kîZ6÷>¥Óýýö®àx2ùOæyºg»LÛãyAª÷ɼÈó}2ºG>rºG at 4a×ÿðdwp<çéÎY[ùmÃà³$(ºé¤Ë³Ì#ä?°aï2§½<ÝÓc¹=:%dz¾O 0üÊræÅ¿ÿè?ãüñÌkql¹Å:¼ýà¨F5×#óAV÷éàûtðM§\Á¢
+¾ý¿DXäÅ¿ýgÀâFXäµ8
+*Ï]¹<4TÎÜü<<T¶þîÏ¿;TÆ£ÎñlP6³Cw¬|þ5yùWÆÇAG$Þ[|@ãX| /+ÀfûÝHR<xBAUTÞ8ÒÄ%+±Ãýÿúz×(Siqý¦L¾ô3È,î'D2°íXú8ùOpV;ñUÆpÿ¤CÅ×9íÈx¾JTJõ"9^±üô&ôþëC¾ô
+endstream
+endobj
+
+199 0 obj
+2333
+endobj
+
201 0 obj
<</Length 202 0 R/Filter/FlateDecode>>
stream
-xíKó¶ñ¾¿Bç
-´îVûoK¸+RWB6-¸
-Ðhw#à¡FæĬ7Í)Ý÷Ì:^:±bHÛàb¤5÷«(è×ËfMC1Ò´~ÿö§ÛÛÓ·U-ÀJe#·¿× Ð8ì2mãÊÄUO'9GòÖbHH3Àb°Þ½Q«hÅBjûZOÛ¾ÉÄïï$qh+È~)
-á§ô
-ýoV{né;ÂåGsÔÁ(<n\d°rô$g":Y¯
-Nz@îï^;y pNw4{ôwìZnÜ4 at i!
-ß1@´«Àls²I{¼Æ`Xp|OçÚï¦èiµ<Û
-aýJpú!0ÓÏãd/#SÞеhÑ£RõB÷®O×æE²õÚ$d85#µDÉöc2 ¿:¶ÎkV7î]ܯ?'ÍêL¿i9Còî¶(Ôyú½¢ ´(g¸uäMº'=õDà3ÕÛo¹°XÌx÷\ÍÙ¼\
-²Ú>¤"¢¯,+V.[ú°pvÌJK7.Øì1 ò:"ËQå¼²©öí]ËÓµþQC³6´fBpBBúRÎ&¡WjÛÌ%}$v+INb8õÖ«nɪX£Þ6>ʾԡæÚ¤èÀoj¡ZÎë¬`eÛ&qnv³l§CÒ¾A~Ëc at I~%ï«Â^Xo%y*ðKùN6ÍLÜ©o]Sáá
qÇsËÞ +ìE£u°·Ô¿²î¦2 t¸o¸«ç¦mAt¤Úй(Ñö;Öa ¥´ 0³2]Ïï«H:è1Ó^6+Õ¶ÂØw.
(zV)ýXB¸¦Æ}ß`7ïS¾#mÿðiî1Ñ]ÿS©DÂÍu¦82y²y¢Ã%R&Ü<_G&R,%`̪'áÌ°ÏHÎhü¢híbÝm\í*ÇÍz*öµ3ëq9.Å(ðXýÈ<<N¯+v¤àðÈTc§Iwn§çy[Z(Ùq»
-LÇíDt»´×Eô¸ïC
Út8y´d;\`ù<Xé2Á{f¼ÛEëq3Ð9 ¹ß°¢pªÉµ¯{õw§rMc³r&v4ë~ñp,Ñ!.¼:ËwÍ2ܪb?·Ò.üþ:ì¾ëFmÛ|¥z>PÂô| A$ n³5.;?@v©°Ò°ýéß@Wß
-CÉêXåT¥Z»<WðVWÔ¯DQyèúKúĦò@n±k PH¿´F#þQ{"ðÌdOü¢p¦LdµYÇKAïT'!xÂÀ§KrxÆ
ö»Ãb¶¹D¼¬^QGâ"{£Ê¬ñ¼Ju°Øõ£
-L'n1MÚ¢ò»¤£Ñj4²dEìϼ'27-¸³nöCVZkT²wÕëH(!öBM®÷Cã:ç^ 2Q[^õãL~Åø<¡dÍ:JÍåYÍgª&÷G(ÂúÎU²¶¡ÜìHÙífº^ѵ±z{L4:ÆH!Ùa-`Ü^Äê,¾-xyÅ˸Ý8ǧÏxïe¬C³}²-VÂË-Ðv\HÇ÷Gøvè¯ÇôÔѸ?@×-ÞA:ïy\»bq[sÌÓÆsaÞ}dqf3«Â=qRw°&\:î
-µÄ{øT]#sÐÃ,mÉAÂBUÆzVAø®µEÏ)»Kà_fÜÄ/bá¾ÇcNyü @Ç0rå18¥ñ¨ÜèE'µwøTGN_ä$þ÷N_=J9=KLº}ÑQ
-¾4¤Pþøʾcpo´
éAÜ+;¯ÈïÍ5ní±U"Vªwä"ÍôG.á¦lÏqf>ý{lØ4>ÈF5Å»H;çYÇÎð½GÏ*0AügF%cgF_áQž:òë:3£xø̨Ós»ñu2:WÁÙ¾½!|ùaRâB°0Þ~
m9
-ÍQzUâÓieWÖb<( :rë?z,½eäs(ý1.ì«ÞÐʶyísà>5ñ¼àCXß9ð)Yë¤Eñ²Pÿ(ÓX â#FÒ%#é¯x$]±§^Råÿï}F¨¡*âùå°¾7B¬õFÒÂ&9^bü5gÒ³
-³øßêHÚýçÏGM¤·ÄQÛ`b¹®òWZ·reXÊ!ø¨¦8vÄ ºzÐügyÖUáÄñsMBÊ}S¹YÍAìLà5ç×ãºöhßFm°:ÿvøíùvÅ
+xÅZÉô¶¾ë)úlÀmî#Ą̀³ò
+?ؽyÆè%
+ëÞ£%ºð+I¡³.y)ݶ/À3Ë
¡"æÊÞP{óê 6²ÄGöL]í²¸f#¦z0F4uHDïA+,:W(Kïãݤw):Éd;s#jÞ6ØÈ
+¡E³.àÜÐíÑE&°+éà°h
9} {kvå\}µ0U1`8HXn"*ÿØ}Uî¸Åfc5F9*Ö8B"|èxbúm³#
+#¸
kée±ª£àâNgNv¾d4«¤¾`´¢u*VÚi{ü
+O5îÆ%à;ænß$à(ôæØS
+ð ıܺÉgÆõé`µ¡/sÖÝétpO,\3/7·äÔÏA[xÅ$b
+i(é)Z<ê¡P="TtÀCåàóe¬9£ÍÀã±6æóyÚ£ªð>$i8Àèá¤
+â¿v¾ kHÌÔyà èXL *äGÛÖä3lÚ»3
+\ ¢ÀA A±òa("©á 0u"Ã
+f| 2wñ°~ó¶o²QràºÎÿGÌ(6Æ
+,¤ÁE0y;ÀEXOELCåo® ¤ë<«e·ÿHuZظ>Z̦«NÜä\Üæ^Ùe6ú\¬¹§ÙE¡óÔV ¥¹$åÒà´ָê+® M_GÐy»Tëx½Ô¡~Î
+¢Aá¢+¶ºZ»ýCBqTú®ÄF>3æ(làör[}¢/Ûu¸otð\Ãò`L
+4Ó«¢${3A
+(ï?0²øxßW->¦ÖúÂQ(
+ôºr±bþ¸qQ]ò5¤çg±ÍQ¼R¿ùV<´¦5ïwG-gBlOC1Ç2á§iXt KÒ ´Ûî¤-²¶Äîk=9¼AÐú
+
+AáÑÌÈfÇ:2´ã Só]5ÊÐ¥ïÒyïÓ»tG
ähN©íYz$n½=ÛÇ:÷¹nVpÂØ<Õ¶å-Þ÷[þ»¼
+ór@ë0ÌKÁQC >±\6 íÑwg;¬fKy
V0|rFxqÑ@ÒrÍÒ¦:ßÑJðKìù±ªÏGT×ÌZ\BR^dJ]
ádJ©igRÎg}MA,
+7]ÚÇvêtÝÓ®*?úR¼]sñvFÜ<
+u28gƶt8ØIÕ«àZ½Xn&ÔñÐuÂÑ°óé£iÚUùǦxñÇ.`¯]XAÝ9¿»°r8ÉÐM3·»wh·2qÄÓe©O:Tر±Ýó
+ï®ç÷WtH/ùä%ýzußWT½ÏÆ#µk)m<zÖ
+Ä×úDæòBTÿb##4Hìâ!E¬å[~UV¥q/9±[ÎytS_:Éï¾ÝÝM<<Éq at CÿÒïÕÎ ¥D
+ ëËvtÞC+ËoàËm@÷%ß½µT/.ÒuCFÙ_Fíõ×å~|Æj¬ÿÆ宪HtôHÏBg&ù¿~°§þ-?¡ù§Rßnï¶éïÞþü»ìßÄs°ùµ<aÛ^!ÉÙ$]½ov ¶&¬B²Qn
+ë»yáÛPâ0déßÌ
+tß4
+ÌcÝkoáù§ÌU¢=¹QfÇýÊÌ!`Y-^¹(R ûÂɼö
+
+éÙnýÓí?G
endstream
endobj
202 0 obj
-2561
+2627
endobj
204 0 obj
<</Length 205 0 R/Filter/FlateDecode>>
stream
-xÅMë¶ñ¾¿Âç
-¼¨k¨Þ¿÷
-(7Ô5ëk55ï-ÌÕPÐä5TsÔ8
-Üе
-f°-¥s> ¾â¿¨×Ï·56Iúó·Ãß>ÿøåÔù³Ùõø0ß.ñwü9àÃY|t=8ÖáO|ë>ððq-i]
ëù×Ï¿¿Ý?ß~^À»s!;ðf÷K´4Ï0DÕó¾<¥ã]Ôt~o½=ÍÉg{ò}zuñ5ÄWòrô1²'G\Ëkî¼<&2ÆE9{çû¨xåÜ
-Oyä_]='2ħç#ÿBDmÛ&?dèe½âÿPøñÏ8ý´A¥ù88:¤Bò8rx]¢z±D÷ÐR(ôÀ¤23.âR6æùmieÜ Ë¨Qt\f«ÊN[K[ÄÇ:õÐE7¨©w#F»^Ƥ¶²|©¹
3+7á:hiJÕ½\Ò
-1RDÛU~·ÁJÛcÞ$ÃFTýB4æUK R8ø6)¬#ôæU È÷fÔ[Hq:ÄÝm3ZÀØ4ìlòh9Éyݦ¸F¬
-hËÓyIgØ-%tpXþ>qÞÚO´¬Þ©½^jö-åÏ?b²}/1¾/J{?×ôWJxSdf;ùÈä`\U.§ØÒÃ;å4¥¨fKE:¬@æ,ØTÛÏòÜ{
-ð
-¾ñ&
- 8JLÄRüHN´+r3NâÏú½æÑ®$ÛÖàMÔyBÓww9O£|')Ò¢ïtÚ×5rQ7ʵðkøϧÝgÓÿá×OÊÝuå¢*÷Ô//ÌxÂËè>uúëRýÞ=´Í'Ééø°àv¦m>_à0
-`óR£á·ªÚë·éñ¶|×4*ÍÌǺªzS°0KvKÜàc¢2
+è"KwßÇØÓL »ó~fõWF5¡Ûh¿¬]+êÜFMY·ª/ÍmÈ6£=
è§
vzMÃ\Zi(øtÙ[!Û{J|Áò¡
æx%<;²¤öRý$e¯BV,¬{6ºöÓ²ükºeö×wµ<_0HkÞÕ.Vþn"³%9Ìp*dârÀ¶§|J(×Ê5é«ÂY)Vc9²În¨;/²àÀ^:9òâ¹¼w¢ï[ý$eÕ4åLa,óPÔpíbrT¬Um%ì]ú²2W¨-Þ³èN ã̦;¯ÌmEH©ÅVïT±"à}'¼avåôÖnXçæ{90O"Ä÷îñã¥õa÷EG`Û;xY& Ø;hýé?:
IÀuÕcÐêæ
'}Ì£ª|C¶Yã²+fáÒKý¼¹ëø®o=ëÔXG¾p¦¨>Äi8*?½ØÈÕ+YëZ?gÕV5ë`Q4+.ô®·³ï/JÚȬ)ûï4
-°×*ÄBùx¤'M!
-vG×3HãËÁV\[¤ .;Ú1øØ+|ã.úfkË6´ü|\¹éN*4pª#`ª5ëß[RØ[P-aÌd½îé1±wÌÃd£
-êãíÊÓ½ßx9º¸ltòVQ£åÖ³â)uîóúê+uýÚ=àú0²Û¨bØ!À0µéKzFN]>õDÞ¦^ÖgÈýiW·ýhrSc[,7²VYßZwÍÿ¦÷Ûà¦_$k^8ÈZFêBNújÛøèk·2¤´E©a|¡#øùMéqf·;*Òu
JógâgÔÈj\Kmåd¼Ö·þu{UûÚªà`\(·QÉ5é`CN°_¨«
-B»rt/NjÒ¡¯»óÛÛu°·pg0efºÒ.Ôïså¾µ)¾"Ü»ÞÞlµ(;4XS SuáÇÀýGÒ n¼øÎâ<Êà 3Lí{JË°zÀ|rFZ¼Vq¦YfnÂz¶J{ɧŢÔJ&úFOWm9£^´ã20,-ô¬öV¡;ÀS$Îhå¤7ëø4ÒËǦZÕRµªU³óí5Mox,Ô·Õc[¨|K mc©ÕY¶½çîà|Ç}ϳ Å2J)«Ín¼ý3+3\8
-ê ¸©u{´ÛZ&§açøÓÖ0ªcAó¶2Ç1'+å&³#1½ø¢yÔZR¾ÆÖ¯w/ÄѲÔÂÙ¤àµõÅ"º#%Xß`óE°Ç?Ã
-]YW
-«mqã>¶Õ|½^qvõåܾ<}Ý
+x¥WÁã6½û+|^ ©D,
+¤qÜóúíè¡@÷Òßï#e;ØJíãñH$õD>RèÿíþéCÿC8Å^#὿ýÑÿö©ÿ»§bÑ~ù?»OÔgHSÏ)Þ~¡ñõÓ<øÄÇSZô¤©aÀ@c*6&rjP&ÉM\ ¸µRâ&Ò&8´@P°4&0Ø
+_ñ5ªPH#
âªfæY6ædgì§þöWw½u_asêwÃܨp%05l
hè:ö§
+&Ȫ«gX¯³ÕÉwÕzÝ°P½ØUÒwi¨bt·yÁüR¼éΨl¹
+/Õêó
+
wc|
+ÄG~0ÕÁ1À1Ú¿1:H¶RPlQUó»Ç5Ywkành}Þ×thyèÍ.Öj«´æ,^æcS+9×Ù²Úac¥u½î£SV[Å ÏF#èÖ<
+T©ê.¼Eñl%¥SY¬XWȾ?ûÚ ¨«:AÍ6Ó,«y±lkºV¢mùصÔäL
+à\Æ;:¤8l²0 Üj^Ýä¨søBá»4%$wWY®-!ÞîªjYîso
+¬Îq3;جvÁ94®îDñ,vÊâoö7xÐ'Ýe)Oë5ç
+·ZJøÁ%põc åÙ»KÆóäb*=y¬æدõáÍc<¿Pèüñ7M¦ý/ãþð.4½¦sÛrÄ
7p¾Ölêà̸BHb¢Qç¦v==°@c[ÇÄtyíº(½f¡ ,ÛÛÊ¿ôÿQÃ
endstream
endobj
205 0 obj
-2779
+1134
endobj
207 0 obj
<</Length 208 0 R/Filter/FlateDecode>>
stream
-xÍYI¯7¾ûWÌ9]-4Þ¦@oi
-ôPôÔ6¦@{Éß/)Jf³ßk¼"ÞÅõEµÓݧÍßê¶
-½68Hã?¿u?¾ëþÚ¨]T:ú®üÅß7ߺԱ|6]ÿãû<¥`×ËÎSZùtÞ]èÀ³9wNæÌdNã¸Â§,R/ó¹èzÏõ\Xæ=ù°Ìù5>o&|vv|ãÃÏök\&6¹À«é18Óx0áhðYßxPø(èÆé¶ Cøök÷Í MºÛöJÌÞôÔQ¾<¥Y}:ü|ûns½mÞOTh\ÐùàÑ Ö*"5Nì>8¼>lÍ>Ãp<lû½Q8ᬷ4å{¢rékë÷þ,¿¯ÖÄ´u{§XTHoLöàÐ_ið>ÒPLËØ@àÉL½æ±\hﲿ®ÓÝ
9B¦¡ö ÷ä¡ Á¡_[Ø£.¯hËV÷ÃûäÃ[tÀ_uÒ
-,ø,9#p$ßÀ$ÏBGphp2'î)ò/íaçFclêÌ$gF³ º:£*R£«@¸$ÿËB'kmdÜÜeÞFµÎÊ«Ú_>b¦í»Oyâûo75n¾]¸ÏÒóݳ¸
-£=®f";ÍÐ)Gʼd¦m)cevÀ p¦Y}-I\CaSN{
-áDü¥J`dD§áZ¬¨´±W½I²íï¹`ú[ÿ
-$`E at JDK³¼¤áu=@Zͯç_é»lVØxS\$èÆë
-eÒYÁ§Î9ªúy,ñk¥[pOµë8PpÉ 3îCa5_·=
-dClLÎûÃïöVj@VJñqéÜ9ÿ¹0{I©U*ÄZj%Íãj-Wsm©Õö?°òU¿4[X"HyzÅ{ÕVCeJdfm=wÍB©Èªm#³b¥Yxºfµ÷ã4]¦ë÷¨6wÊmSûñêD7Z¥ày8ªT" V¸9<âK"T¹âo:D¹ôUÙcVÎ<ÜóîÔ$õKÊv¹LKeû6ùÈqp4e¦õ³Ó¨éfÏ{/ɼ ½Äà%0Û-c׳¡]XÜGá
-á²
-h×·ß7ãT§6À¸F¹t)ÆËosmVBÔZ
-ºÎÿa¸7ëìµ»<õèööÖÌaÝ£&x³üà¥E²rrÖÂ?suréãÃú"grM:WèMÄw>O°wæ¡zÏЩ-´I_³ÒWy¿ú¥
(í²
¿ÖBR^¬cÆ×·/V«CSKÄ V9¡{ý?L=ZQðóÂj¶¢Ñ×JSÂÄ×
-q
-øÍ+ëé«`ãyrµ
-êeBîõºÞc/«ªzút±à¾Ríf5,UFso>
-NQcd1UÑá^ø¤Lò°aÞ/_$µ&½ïþknØ
+x[ÛªäÊ
+}ß_ÑÏé¸î6{Üí<°!?L @æ%¿]J%Ù®j÷äìé3m«¤%iÉ{ºý÷ã?·éöéînÙyøYüùóï·¿~»ýûcºÏiZæÛñïÿønyáÒäýÍ»û÷üøFËá¸âû×GáV&üöëo·?né^nn¾}ý¸ýC³+S9ï§0ÿéöõÏç×Çï5¼s÷ù»'^ÅÁ*!ó*ÖHy-Ñ?`¥-¯¸ZvùCN~¢5}âèQp¢û¨ºXç®nÐ!ǻϰ½¼Às=üO%å¼Ò_þü±;óíë'ü63< ݶ\E`ÉOXÒÃÙ#
+¶ú ~nðç;|r
a.ÔîÀµñ,t],pºj¤
+¬Â;@º^\ÚzdkØ)9àáÙ¯
+æ©ñ3>p])
èý³3Å{¨W¥óYRÁÏXûÓÐe\'õñ»LµB%2Ì]*9ÂÀ»Ñi
+v{+þ;'Ål^dÿFD|?vsh@¶ØàZÙÆN½6%ð9ÁW}-h¿zªÁÌß«ÇT»&X
âÃ
+þÆ{sÈ%h8Fø÷
£ý~â Êïc¡Ü%Þ>ÃùOx3K~ÜÿÆû¢RynVÆk¢{b ôH±O¡]D0C)Ôn
F at Sp0´Ð)ߣº5ËD¡+Ü`V«£´õù°ô¯@«²7̦æc½«4Ó¹¤á÷ëqÕ±ÁÜ
+HÆz4|6Þ³ -táîÏÂçïºfÍ/eR]¢;¬d%Üo¡»L8ÝØl8øù#¤ zÀ}¤.ñ Ã!aÈ".D¬59Ä9Ès6£Qí@á¾`X/~åës;¥¢ 6rDð
±¤æêàLbø~.⮼öâû»Ù52d×
+ÁÒ+U(K\7®!ek-GÂÆqNûà¨Xq¤
+ÿ}
+¥VSQüÌñ7´ÜüÐGå*Ú"!zÂòQäêek³D1tD9ö÷x(ï£ìâà!ès`¥xÌ`þIüÜx±Eq½
+³Põ©ùðLTÐÉ<±Sÿ`>Õðû
Ê#ôÀõT<.ÓýhOcö\ÀOçy×j]È.ék=سgÍX¯¢0bS×>zEDC
+Ê"è)&jÌ:b^*ϸÓR¤¼.òC¨ñõìD5¶z îMn3Y9Íú[®²}ÒR½Zniºí»èÞµlµo}IýÞziÕ.c>úÇS¥
+ûhe:§Å4ÿÉÆ÷½V¦2~nÒòma´#r%IÛ
»¦²`˺\¦+¹Sá²²¹_m!C.¡ÝBsú¨«Ñ{J}¡uq9EèÑ{Úäº`ÿbjâNȹ·VP÷Vó3Òkh"À)a58ù !J
+ÙÇn`õöä:M2ªV[«ÖÀµª7L)þçB"|µJcèÅÌÑi]F5^û¾F_µ"cNYµ<²_~?ª=50iÊ\ðÎWúf¬ ¡XÕÊ%[¸Èöfzá|ªSÔ)/Ä°NþxOC¬«¯ê)R¿x^úc?²óõj©»¿wC>¯½ä¸§ÅÔFâ"o`1HHÌ·zäLa¼ÞÔýÕ±m¹îCzT¡zøÙ,zå_a¯³§ÁzÚ©¨=U0ö)µµÒan4Feä°ÌRÐa¸lÈÌ©¶D5@Æyïh§<qÒ]¨¬FZ¥i×RM{ÅW
@8T¸K¸ïQÍ£"á@âCEßÉbËåWÈFpzÏ)4e5°U¸Þ=±×º·`8<4ÚZ®å£j}7®LÄU¾ÑFM2¢'ã+»;-=ölnÓêlos×ÜHõí{j|fê ¯ôc4QÀÀM¨;½«²«È£McCZ ¶§ÿ "ǾZgÆKð#geµR`ýþ f¾#ÑØHð!
+@¦6²"¹ä¨6^1]¡ùÎ$¶tÊUÊf@ýäg4DU°á}§¾Î±±oÝå²U®5áN}-)$U¯.¥ùKÏè½1ç0rÜ3T°W)ÞW2\L
©5gƧà§Èi´êãPrj0{²ýþ8¶±Qé£zå`~;Æ´Z"fi"»EjÐXµ áZSäB½Ü:ñÒ²=v`+j¹«Ï£
+Ô4@øÒ.óyìÅxð®ªjSè
+¥ÕFÆwJMߪúÀ!ñ}ùWVpLWc¼v.Õf=Z!kvúU;Hï©LTÅ|÷3zh^Z ï©ø<Zlt|²X7T56³áÒbêY_æá+UórbXÇÖ^ÓÔn¶ Uü¸]w
µ(75ó-k~§ØÔ³Wìh^Ú OñoEwS$&dç²'Ï
øûTÑSZ¸¤£;¶ªg|ævâUËÕÅIÔ3Ýî³A1ÃPÕj6§ú7ɾ,ðjF8¹!ØJ>®û®úÒÚïD³±_KåóS¦É\ùY³fUç8§W$õêÇ°ÊÉÌ+)3ÎÆVg^Ú7Ý%T·Ä-»Èù±Ä¼Æ;)í/Û¯5ô¾´`ÝwP%Fµí¾±ä»e¢Úö{¥nx:3ÜIlÛöA+B~V´L;l#/$Í:¶·b>óñ3é
+ÃhB/Y)ÜQOòmç¡oÊ(í³ä5C¸%Ob¾'ÍqA÷d¹<ÞHÈp\®K,Åû _ºÄä{4©Jq¢PF7Ý)rÞÉ''´4y2·Ò|m©K¤0B}V§ÿdÇÏÞȤId¤Åîp,öUGfúÖÌ+åíØÇõÊn^zoa©¦IÇ<⢤ª7EDhê<ó("> ÇG§Yï
+!=¦þî»ã`cû|·ÖßKMXÝÚyÓx$:/"È»Z,L.µÏ®^é^o&κ¾&Ò«b}*Cë]Ú¼ÞPÃImÚ$Pí-wúh%V¬èÂWfLæ5¤ZkRå¬`Kkô¦&Ô·Spk{g©9ö(?kûóF\+¿ñ"
+м´A½q.ê$ÛX]æÅÿi+YpcºÊJIüémíÒ,8è¤6µ¨Rn6¹KÙuLÅéveT'ú^"¹¾eÂW)ݼG0®ça«3¯""
+MëM_,©N§çûFG)Z!× mTklbÒY=ÔÁ:}WµÝõàÅz¿îJÝôÒÇùÒ:gø¼O!NAÓÌ?Æg]#ÚÞ̦¥öæ«ÕLi±rv]:·t¨!©R´Ó$E[0åήeª²ú©4»Ãh$%K@ÝT`woæëù
8¾Ov,_
+ûO¿½÷Æ
H¨ºcó¸ð)m¼2ÉèͯêùÂ"¦ZÇ«ô:,Zµ&ì:®
+³I ÞªQ/%÷öVCSGîôEH5æ0૦!P,¬¾EìÂáÝä^ßÊâ7Qé
+ÁËFÞ"åƪúö^Ãȼ.ìr`¤2V=& þ(×4Eç¯Þ!è»(¾b#T梷öª¿Âò}ý
GâðuqÓ½üc|^Þ»'d¿¼ß¦ðâhÒúQ½`JÍvÿÊIFu<&6ñ¯ýø&ïãW¿ßþµ
endstream
endobj
208 0 obj
-1632
+3266
endobj
210 0 obj
<</Length 211 0 R/Filter/FlateDecode>>
stream
-xµ\K$¹¾÷¯¨ó@õV&3Ýß|0¾ÙcðÁ°{Ù¿o½!
¤¬^/5Ý©WÄ_¼TËnüòûÛ¯v¹2÷£áÂ}ÚÝþö¯Ëß¾]þûÆnfûviÿýíßoìb»VÜ
-ì¶ûQ?¿
ýîoJYº©Ëç?/9ä
oÏ¿³ãqwÎ8ð;þC¿¨ð©¹y\õ}<þñù×·ççÛ/ÍÌBº=kîÖ
-ó4a^e·Ú¼[%>¬2y7Ú
-ÃÍÓ¸ùåÝh?¿`á/j4»?$æwÿ¡FÈÍ^³N$x?Z·³î×5Âýôö±[e÷Ñú_´Ñ7'ã·?Üȧɪûín$ÝYôÝùøÜ÷÷Ä
-,Å
rÔª¨H_8Ï«ù>Ý*ÜWu7Óýk09÷âÐw%ý*?!¿[^Ôá7á6$âkÖ>ÒÓ8z±¨ðÉå=.þt¸ÿ~<®{Qù=°38·ÈÊ.3}§µDú-®¦q:¹ò--%ÃËùdqÊ8Ì'åâ^¥#òã¸RW?Þa2þ¦¾û1J¥ §ÒNZ:
S?Wi¶a7aIMS¡ê¼ÛüülñéìAÚÛFdl Ve*°8Øz=Fi¤ý8iêªMÁÒ» *
-ÖîNº ¦äðÄÆ©ôðZbYBÄûªÐ?Ò
-Ù3ͤS(ÄTl«<òx>Ó6&XPfX`
-Ôo¡î»:.©¹2
hGâ}ª,±´HÒ¾ÿø2Õaä*¤èäEÓG@I3/4@1½ñ#½ÏÂ
-Ph0½y°¥9µ`&Áõ¾øâ4ú9>'¯æ%`¥!"j¤ÊïxÚ¾ÒÕ¦ÉõÊoj%åj¤5"-µ{¡h«/Ú¦²âfOâ`rvÈ.gÂXs }æÝiËRÉü ϳô,qBÇÜØ*M[+Â
ïáR»óaS%ºy>*o"¤5F¦X®©q4;2ÊIØqÀÂÑW,¥sKÀy
-ÐEÇé¸^KÅ2 ·Û|ÉæÆÕn#¹öBå,$
-¸½"æ¦ T¼
V=ÓÃtµñÐ#¼£{ƾA'4jY
--ѹ+£ôu5P/z¡*ESN>«ËBËK\(ÖùÖ±] rì"e¥ý¼t¬B%¦Kã«ÿÿ¦ª Mbº Õ¾¾s¡=¼+j)MøQ-dA.x¡#¯ée
-a ]/Ñ!lßEèËîÙÞû¶?ݱ_èlÏ
-(9Qä¾âVlÓøMQ=Oå*7ÕóÇ-|TùX©ôè/³ÎlE|Ó[ïò²I#3íI÷Ê(%H c at pD²¢:$Z8õÊ_°¦3%ìDaß«
-¡'öhnú@eâ¾Ù<}N°`N®0ÅM°º$oaëP@âJ&olô9Û´b»-óBä/Þ/¼ÿÄu¥Ô!}dYO?BÛmKuX'/=j83"_$ËݶAKVAÝíWÁ
-ï !>oÅ\»^ÅÆÀÙ"`Ú|6IÑÅJw{+üI_ã
-ä±0ÛùU,©·Xô.k"§¶hvS#qMf
-jë- ¤-ü(;'³
2j`ú¶ÑÅ!¨¼-ÛrJ>+Ê°>2=[5XM{«Ì| '
-"gÕ9º¡ª
-çÜ|+1̦)߶Î!úìó¯¬j+ÍpM
*ίDã"É¢ìÊ
-¨Øý×fHán;Má9ª±c*Dù}UZ{¡úzNß(¥+6§sý
-Ñ·XZ¢OÙÁwg[ènú·jÒÁl ^ûk/Mä[;L¨~h`¥ÉÿÁæFi^µY{ùë`ÑsãW® å5Þëm£ø$qbô§//[T;Á ±ÄT}eå]qí
-ÂV
-Ü6{6õAÎ4¢óAÐË=èâÊk^âE¢\èr´NT¿ë3-f=ÿò"÷-VÛKt0;º»s.O8Ákó#MÊ*Knlõ5.îת
+xµ[Û¹
+}¯¨çÜ)ÝKÀ"·/yvl ?°ÙÁNõËþ~xDªZê*ÛHLfº«(êðrHJ^?ßþXÖåÃz1K4~¦?¿þsùÇOËéKüï×½ýòåÍàïSöY˼$ï~yûËÃ^Òbà÷ßã#ÞbN.¹á÷»]c&
xýëòå?o!_<ÈúòëòsòôÉýËÛ§ÝjvµðTÿëÒÉy&Þ£·+½mÍ%4yq¾wñl²1+ê}ÌôtÜ.±<
+&Ö
+ô¼¦Ï³ì"y Wæâ¾ \QHUgZw¶·ôà
+ÿÿ§À~ðûìèê9x:'2ý$ËÁ'üv»3ÒiéñÙ[ñÀ®¢öPÅÿ rõøÞ¢iFÔC47?¡É;{WÉ/Ö8°S[.ÛãÊ«dø£êfÎy}Ñ%ì|> C$ÎE·ªO°PAõÑÇÜ4ØUôT«¸Å
+k3E:í¯Â §´H9Õ8ùãi·[^eA.4¤º÷ÑüéÚ>e]¡8@
+æ^¼xéÞèv
+ ,¢0mÌSo
+ØuE»D°øD°GFïÈæcªóÚânQrÄ,¸ûàR>åbcÐ-«Å,RÅ)yoaj¥CÛRYódÛB
ú%òÆ=Þ}M`ô<»zÔÔ{ã\8
+}ÙtL.!GøùcôRdì _!âÜmÂ
+ÐYÝÅüøg¾0ûÎÅÁcPÜ8lnPÏtnFlRÑû>ðsªu|ËþÎk¶âà+êÏEø%µV¿ã0ï§|PuÊLz4]³"Ú
+îZM
·øÛDqIbp}Ld,1«$ЪÓ$W©!è§çz~LYºªuvÞÔÙ§)8<±{²i2Ã2YpÅÌi» èå%ñ4Hë:NdÇ'H¡Ú§ÀoÌ m¨ßÕÂ9·ÛS¥äT?³û¡ê®JIPÝRÝ9[~óêã°îb4اMé%*âz)VgíëNü^£3éHi^3rÇ"«Åªµ#»s¿Z;GÉ^Øé&Ê%¥Þw {7ÄîFù<KE
-÷ɹB;T§- ã`Nº£dЮF/ä¦É³h-*Û´
+>ZÕO}HÚ!ÅÛµ¬ßOñ,c¼}XôRÜxUÞ"¦yý!±;¥õkboä²ÉX\"ã A:
+×úKìBcOS
ÞWí*om°LzÙùyí-ò-¿¦«7ÿ¶B¹W&¦T³èfÛ.Æ5IµNƺ.é7
uvÛ¤ÔtcÞÍ\þFO
+C5ô«ROdªÌ×8âh¶úu¸$¦ÕâÔÏýeõÕ#[øó·g?àê¤gë Þ$XOÕz¯fÜæ²[Å|UPgi¤M
+Íäp{/vÓ3¾\sacL;êR*Î(^9¾io<kկ½,É`¤1xov0¤D}×÷ÚsJ·«Ð½>+;Çó&Ç}ÑêázGß sż
+Ó?Í?¯<¿áDڵʻï.æUMÃa;ÚæÁlsÖ!E^NR~Ã,ÞPÖØÏâ'R³TñÈ?Þ v'u%ÆëêA»ôw^p½®Ûi]Á5À¦]ó_ñAïGóëRWñ,ì,ÕDÆö}/ïBÕú¸ÓL9k«T!*$ïÍØñÆ]uO³YÕ²{1Àí×Ò?p¬<ú*Dw¯z
+®
+µð¶®½eÕ,áÕ÷ÕC[lnÐRf <,HOöLÔ|&§
CdÏ|ßNÖÕl÷ZgRÊ×÷bjQ¨bMáX¾·:l8bz,ͽjéET?Sf&{º=1FïódG>ÏYYuÒÁ©SÉé]Æú80#à>SvEOËÙðn¥yÉp7azç²®«³ô T¤ßÄû,QU¤t«¾i?°Bw'fRæ7&vR6ÌWS)ù¬ôbGó¼·Ñ?.9ýw·¹r+òÎTʼ'x5aä+óàÀWÆ2JÜ°1öcñ´0ð
+g;Ö©{ÛbÌþ ÙO2X=ùØ|/'õ@aNbj2V³ ò@Jg¥à ÈLÊiLVrN¥\ÏJk¦,´aÖ¹'e8ÕJ±#dOú«³ãBË8É.Úû9IÄ>h*åd^DÞJêÙú¶ðää3¼
+µA¦X TÎæµþþ·7êÀxqyWÂñ²Í8ú}ùüÖ²tÊÒÕ£÷7|,RDoðøâüþï·ß~R¢õ[KÿÖçNÊ{'¿«½/Z
+}±g
a½ºP
ÁP´u]Øè!Üçïð+âÜÂÝ{KÿÞçNÎûN|«þÆoERÙJÆ
+Ñáµ{7GgRº0
+$+ú×eýÞÒ¿÷¹ó¾óùMÿß$ÞG
+òzÅ3ÞòB!Ïx©
âÙÎÔÖo-ý[;)ïr
+îÏ;é²,Ç£ÏAeOôO|ÎÛ®Cû¡F
+wô&ý
+ð8þE)J- £X认>+SÛñ °ôWAîeë.#ºË©r©.ÎШµ|f9Þ+¦j at u-F¡q§s«©ÌÍ£óªwG
È´Z{ywªo{óbtbèL|øQëhü q¤s(i[ËÑLl¹._®n¨ÃüÝd®ÕJ£nR;t©·eBùTv¿Éõ>@ê⬪ÉßÍ·ïOÔ²:Å¥ÓÈ@=±º÷dÎàùü·:Íl2MïîmÒãn60?åÀ)dÂ}h";2
+Ýø³+
ÓâÙVn3ëû©Õb¾
ÀþH}Gfñû~ÝL9è0<STj·½åY. CU1[7G&ýÑUQ¦«\\î&s¹³W{¹NùEù=ÊÜ'kPW{Û©y
+>WÏH}Ô÷ÇiÎE<$/ÿæebt
+[Ò$Ó&múü+fA{0u°Âï[©;ó<åªÚ!@Í0åÞoâ+
+öÅ5t{ç{fÆêÄ7µÛ?pK;£
+ï²SÍpFÃrâ>Ô
}VekÔZà»
ÕO/¥×H§¤ÇGï@1öpÆYË# Énz<è.ýXSÖû´üø´·
endstream
endobj
211 0 obj
-3086
+3234
endobj
213 0 obj
<</Length 214 0 R/Filter/FlateDecode>>
stream
-x½\Kä¸
-¾×¯ðy®Xo(0Ó] ·Í4C[² ©
- ?Ý?ûÇô¦ÿøøï·¾¾^&'æó2½ÿ}úÃ]ØIxøýËWw}ÿ÷éö~ú¹^b=Ѽh
5°â¯}¿ê}ÃëõE_º¾Èø3\±w{»¾å"竹Xë¯ gì«^ãOy÷WáPp3.'ᲸXsýÛû8î¤YÏÅLâN}ñÔçë¼Y
-ÜÙ%¬ÅOÀ_$¡a_"nïfïù1
-èé
-9jqÕl^l at Dáá®ðâ.Ìñ¾cx^áá¹ù¬ëðòJ]À~%>ê®Þ(Kvý{¼7ÀzM}%"^
-Âõ{\Y%Þ[vÿB¬#wfáÕ$ÂX_Ó«6RwG%!SùD7(oÁ(2m¢Xâ=Áú»CrQ×V´F«v`\m½v=)¸<<*HÒ5dÄOV ØÄø,Ú|ßØ+ÚEòãÂ^±R@yÇq at ju.¸?J mÙs"Q/3}oIoã-Ô«`³l¤7ÅO;H«4.4îdùn6Ùò}ÏÚÅrvÀÖJEE¤Í!fc2¡D>"Ã6´¬I+UoQ¥Qµ6õý´» QjØÏþ;v-ßFW
môí¢Yíê{FÌÃèßÃ_¥yÁ°Iܽ³:º-Ò9Þ°êC5Ê(H"èäþR¶¬ñM²D¦y²BBéh©ÙÂaÕâ¬åȾÌ*ÎrÀ¾@è3q½ÊÓqMVì=èu9Jªº·L]G¨Ý³,Ê__E.0ÕZ¹Å@ô©WðÂÐ>`õvkØà:ö²ï~·æG!Ô(@Yw+ôC¯5²iì[µL
-ä~[Ãâ`]º³×M`dq±%
-!òn>1ÓFêLʯ5*V-M³òwM÷|½¹×Ê0¾vpé~({2ÃÃë,+-·ÇÔ^e6MõzÜâ~iÈ=À
6Çy½láý϶Énc[ríVMI¶?2
-W§éÝ÷¢éËÎ9
-w ¢wFäÔ5õâ1]tmSü©«$íXTáÁG~ó«#ïne¿.¼¹¨Õ6sh
-kI dÚî³t6ÿ¬Z§ç2©à_[)ýÐt³EëaÃõ]~ªÊÎËÔ[ÜCª_»pfôzh 8Ú¦$$õRMhz@쫸°ßýNôõIÂgÞɲ.¦B[í^`á^8À}=D³¹D¡ç%cp§µa-ÇìgNvaíÙÚË¡
Ùµn0Ñ*vé¡ôر=ÏÇÙ®óÖu5xܤNÔ$Yxcú¥4y²¾°ë¶AþñTX1õ Ê]ðþ®Q Àk1ͬ`Cõrû@÷'~KBDm
0E(XÉ_oÐ
%#ãýªJH÷ ìP;U
-EaÊb]¶¤ÛsQy0nÃÀ1ååJ»l]í¡ÐZí ¥¬çhV13tN.g¾éH¢DÓ\Ô÷Q°ÆN|vÏãö@Ù=BÏ}´Yu|¥¬]Mn³Óêìb)4ÖG.ÍlæàÐVûöcr+
-Æ1"8·ª/yÇ?O¿NRÌ°xM¬jaD÷Eóy]×eñWÄ$W@³ßíãäw;é
¾w$T¯wTY
-`w#Ô}2Â:Haá׬ÖûIÜç(àYOíAàè§0¦ %±õÀS¸
-ê~:8¢²ñ-°ÀÇ4m¥`ÐþY
-ÃÖøß
¶'ý99vLJ¬Ý=r
-hO,gÆ(
-cNAvìÉ!Oë1£¾8«5ðûâð4 xq>²Âÿþ+)·wýù'5{ààû¿0Y5zú>};m¡-,p[ý>$áöz¾Ã¯eXåûô¯Ó/?eâź©\÷ ó¨èàÝüù1QJxW å³o`[-³ÀVƱ] àRr«'büî»lJÆuS¹î[AçQÑ»äóc¢Â¶¼AªÅoZÍÇ¢Æagn å
-WëûX hÒÓVü!ÈÐp_ÃýæßDÒºðD·!êÁË%\ÿ{UÛ6Õ¥<û ÍUj7jÙV0×"x
~Ù}¯Nò¦ÈLeÚ/ÅäÃ;J®<οvʱ¼Kõ±[q¨ËÓv°¢¸épU6#ØÞðÆ£k8l2iÅ̬ÉOÆï8kß×Éh_ÆùÖ.m]¤/¬PiúHOTæW5äê±)mµÄá9Ó¢ß_«ØÇ[hGµé«òýý§w¶³ÿÔ&¡]»IþÞ=7ÅЩkÜþÎW×ÀÅ03)Ðí|wN⯾îO¦ñö'#ò¸Ro'Òyªµ[}¶ùÝñÜiØOÍ÷
-´yXoCy>ùdÉØN]Õ0ů
CõìJcÝEý<ý8&
-
+x¥\É$·½÷WÔY[É= 4]U>ËÀ?`Éð\ôûfD0fê´fÉd±¾xÔvûýí·íöíÝݲóíg©ðóÛ¯·üpû/þ%üûí_o_¾¾¹Í¿[qðô×Þ~|Âo]ûõo·¢Ï)ìJ*!'¿]þ(©ýú£ý.æú×Û׿ôÛzííò=×üÈÅoíÉGí¿Oø3|.»÷Ô+¡XÛß=üçÓ{æ5à+¾SÚ÷KÀ5rø\Üõ[ ÞÆgÚs
_µß·¶/¶¯÷7Êþ^ùa5ØaÎÏö|{×5Ïà®Ú¹ÛÛOØÅ£ ¥&¥þ\;%þÙãëÛ/¦,eÚÏ;y4ÑÎÑNx|«ÉzÓµýneËpÙ{R¹òîýçi´§A²ÿ¨R&i<ávF÷ÃjMôMz*ï;ë÷DRo»&==Þj6ÑiÓʳÿi³HÑô½ÀÞv´¥vÐY¾nVø{)
èQ35aÍö5Cß¿Û*¼mf©$çÚAçâ¾TÒÛϨ"4îöö÷À(ío¢¹;V7ml©¨núíg'ÌG%¶'grüÊ/íýêÕeJ.~VÝÄ Ûìnü&{¦=tå½TK·÷à¼pJ|cÏÖýðLí®vÕZ?ô3ô¥~§wàe·á; ÎýF»HMWË5R¶kßå°¶|·
?ý~¼ÃwoÓM¬1®ÖðÁÛ5ï³ý@cZïÆï¾iñz7«÷öýQíËíí(6VÁÞ)lDU[òM -4dNm ÃÓ¦Án©Á´mK
+^XNªïç·ðxÒàjbÇ?Å H¶î%la`
ó=Ú%¸¶dß»£Ô ¦É¬yê+«jEèÞ>¯Éüât¢5kM¾Zÿ§ÓY+jÍw8ñô¬§èZ¦Ó{=½þ©DÈ}´<Vgµ¾8Ë
~[j ß)Cã¸ýî±éTZ2kÉMì:¨dÄë´¿T®ÏD:³kþÓ¬#lðn\c4EÛ`±Ïf«çd·ì2 ä@H÷FQæqý$û¦ð¡UABdÓ¬æá?~YiµãÍÐ"Çɳ![Wz;ý5 Iþ6gè>î¶]TB|
ª§6
+CEQ^3"rƵ3%éT8"õ Î34 2Á4à»i*18ºbõ$X=m=%øÀ1Ø3²«UüNÄ´fÄÈÓË·è]yµ½Âh¦*>MXôÊELÌL¹ëÃ\-áúe×\ÚSlÿnD-jv:$UJz{`ª_#Ð_èàRshÅ'gðíLð¤ôVC U÷´$x%ªÀÝmò`,0XÄàs%h&JoæàÑ,0#~øJç{üþè¤e/qʤóM¤ß÷¢0 Ö0è3r·g÷k¥&ºöRM³BëÅÁkuµÌr£´^Q=£»[D!)1GsêÁPºCÖ}%Í\ìFRò[)ÎJò°
+Q~
+qÄÂN©Yi{ç
ÖÒ¿ÔÙî'Õ
+Vo°¨ké¡«eo×úÜîáÓÝ þ8
ès]Ö¬ SÈ'z8Ób1
V }hô3P at L0¨;#§G(X*Ø4³)Õ;S{Ë©ïL3ø1æÔ5eóÄ´Ëns%;!XPùèñ*Ct ¥jJûàhê
æSG«be¶hð/°u/;)Zê©
bäÏDåQ¬ìë(Ð@IÝL=À¸°ÇÒ¾ð¢Èîg¨À÷W)-6Ì%}©ôg)igGÿ«èK¯ï«2©*-À¬4d±5
+þ YCÏ®~?Ôr)eHMh0Ä«x_½Ðs³zïIzlß
Ý@¯M9 ÃëÀh%
ÃÌh±¥Ô5ÁbHW!ض [YNÉîA-K8[2ß7ÈÍmI=0Sõâ¢ÛQHòêfàa1pÙ3Ù¿c5w;½È½S\é2Ö}{!¢'nÕ`1
+6%´i±V)÷-0pÞÞÇöHÎï².©à©ìûÉ©Äl¶LXWY4òTù?ÜsEÜØ×#[À\(\ £ÔüíãëÚÄUÌ%{©é'¹°DåH65¾'?în\ãÀÅ¡½jF çSÍHðW°&ªIæ)é5õ©?OßEgÜ¡¬>¶`PåÈ.XJ
¸®¢:'I*÷ÊÆ -ü¬Æ©Ìý3aHgùBmë ®µñ´¢ÒÆ!ÊEw[È{Õ`;7%µçÐë"õT¦¤x!¬ÄH|K
+T4æôßÕ¿>«|ª#°5ó=üñ^««\j?Ywy`;H#®:P8»òç»8D2ßÛ¹hr3UÄ4t^-ØÀpò?ö¾
;³
+ý©ú>
+L#
+{9WZÿdåë®å¾ÜË
ÍØ0Ì-´1Ë$¥Ü³íÚq_K+ Q$1îêC6zÌqç3û^Cø ®¡kÓA-ud46PªN#;Êâ÷¶Ù^½ªõ£;#Ñ4r¸êsì8¯IqKBÅßÏ«t7Eó£7R0]T
+Õ
IÜ=jïÖ±ºZüf(A:"å`d%ù´ÅnøMÌ/s~*ÔKãÝüaÀÜYÄ4FEsÖФoÐM£¡: ¶c§:²ú+H/f*u·6á1HaÒ´±/-2$k11.È64A=©+
Bí°tÖÄApJ÷J'a¯ôÙaõ©ÍÅ«X§}` òéD£7éd¨ôTÚÛi&¿§hêÚAºK¤fç.Jâ®×jàæâ»zɳ(Þ
.Øö\+hª¨'hÁÕ1\¹®¥îDªØØT54>ô1òày
+&Ü,Q~ óTmr\´oK'Î)ViØÍ1
+1Q×õ"dDûvfJ0Ó_èZG |n)C!+¯å%,ÛoÁïSøyM*Aé8»6þgòÆP¹BÎ
=Iø2¶_mÛgë·T,GrK)BÂ2ñ1Íj!ÎyëN_Î>ãÕJXK{w.Ïæ#
+8âT-¸Æ÷ÃðT¤H×MúØE§y²gw³<]ÒyUU
+¨ñ*ºÊܺ¬øX:«ô_[ÿ(þ*oÕ
/$¿Mç×"Âvá³1ÊÌó¸BïÈtÙE¬µLöxÌ}cdþÑrýQ ÏBrÜù¾#·ðнX at að{-m_§£mÒG8YA?Û¹@á,£*»-ROü¨78·xa@4:g®àx3Ks7:7¥íÉ)Ï}!IUÄ
+¤7ª¨/[fÉ2WTsñ^¨¤ÌƨÎu5çFvPÝa.¦v³#Ò²èýÎ
+àÉ0;¬¤©ÙõÅ6^ó\:H³Ñ¦cYgË8.ÚÈbëïÜ,ç £%(ÈnÑjÎС\vÔ¼-÷Ne¸aÊÀHGB£?84>ò8e§®y
+`È}.ÕMÄí3éCø=Û,F ¤èl:H±GÍÝÛ %ë<µhõ
+õnF:'/ï¸ B+'0lH©~(äS;¼ÀÃ@r¹ÇG+æ¸jSLØv<h½y_]-ÒYoõ:Ö@³ß}àÅU5¸R2¼ª<àÄÌ£,èìÌîËUÎd"ü·ëz
âQ[¤ÄÐ8]6;®
+[×´¨ì3Û^l¤XBl¡´>¾©ÍCs»4¬m6h2Î$w%mhbkÔa?2ç 8_»m¸nÍE§ü97àLqEÍ
+rrjÚlÂ8ĹIÛ$:$ë÷¶
ØÍ ü¶÷òî&Þ5âÔ5ó¥rÊrÃÍi2ÕÔuó9wf
+¯x0×Ë{°ÈÙL H+ðbÀ(D/ãèåÝk°
+¢Ó©F7*.ù¢Ó{Ä\²Ï3&'Ô\ß)ìjE)ßè²|oñÈ|G;Yµsåb¶Cý6äæ"×+%!ãæ4»tn§Úãt¹q}ÃøçìfÕàh
[~mñRøiFGâ÷®{$ÏaÒ9Â9]3d2ðºN¤ìåIRÙø
+Ã
ñJܱ¹dfjè;Â
\?äw@*ÿß*vm²ýÆãØ´õ2zdÃø+óÉé
%@w6zÑv=ýÜÓhÐE ¬àïëwàñÙ;!ûgpÁû'÷, °
}í ùzÁ¸¼Ðª9ô¸öïÈýÛ¯·ß~xûåö϶
endstream
endobj
214 0 obj
-3197
+4380
endobj
216 0 obj
<</Length 217 0 R/Filter/FlateDecode>>
stream
-xÍ\K㸾÷¯ðywD¤$ a`ºÇ>ä¶@9¹e7@ì\ò÷C¯zz XÀÛc[YõÕë«¢§WuùÏËérüNiÿºláõÇo¿ýrùcÿ0ü÷ã_/ï/J×í²¨éu½|þóò½(uùüýïoîûíjÞë>öÿðê¶ðªý'J¿-[ò¾-óíªßõ«7=Ý®öÍÍá÷pEß®ó3ñZwOû¹ÇíºùOÂkº:]þ¯]âÿÓµû}ÂêTþbZGþ2zÔbÓBl]±öT&]lÜM
oñoç=ÁD©¤¿©ö¿«(ÎÕÍoákFßæ°ËýøjìM¿ÙÙ/ÂxU6|ß&-¤'l at BYIÎqm^%YÞPÊööÏ¿¾Ü?_~%Ú·³}í|þ[º"âÅm¿ã%íÅ.S]Ex~ÑNVmÚ#mÓ6Åv²BõÕ¯Û¼_ÿì´ÿGÂGϾ[ôÞHÚÞâ^²½¨1îhð/®s7¡ý2ý>CÛJüþ¾»(9ÞåîLzÏVQEK
-¬kXÐ#®+ÞØAàTdùëjÎ)JÑiEÜÓ5
-¼*^"2:Q$äzË¥[µÏj¢Ï&GÇÅIþº¾¨i^ü§5¼êÙ¿¨Gyï[øçþfX\V|óS|AjÜFOS°ióÖ³¿Ä
Úü~÷/s3tkkðÍñ³È!ÇKb"ª³y2¯ö;iÝÒ8|K¸þ
-þVp_éï¨äE0¶P¾.A.uO
-AÒnzÄ¿¾å¶¥?a
2ÎTTk)¯¯³(Õ.àû¾·jÑ(ég<LG¾.l($FO <|ðð,<5"ÕrÊhB!ñv¦Tú²¥zp·-ȳY¨Ug®Ø!VíS©Î`Ö¦qJÄö(Ã)e>ITÄgÞûNû*+Y&6 @Pöf£ü¦+Ä,«ígóÎLÂ(1H&Oy©ZóX
-ýeº5â"gaaÇc¬éï(N¶I>µø*ë~·yKöûkpÀÄ`$2æ}HTàM¢(@BP«¬
-ᥠ²(kI¹ö÷Éç±R!%Ð{¯ç\ɳ1Ñr>+\2Ké{cªû!}ä¯w
-!¬}¥±'×Ò¨þ(É/³mçy¾ NG§4ÀlÄEëHÕ ^$¼rsý´Më³jê!<+aƸ,ôgÃ`~FK:`!c%£Éx(GR`ÌX¥Á%¦8{5þ)àYOJXõ¬ñ}kÂz/ü+Æ¡ØbjL
-a6£k.¥ÌvÌ*ã¼úéQaÀJÜ;¯iiC;¥t
-@öÞËÎ'[¼¦¬P,Y.R¢8_{ºßªZ£(ÍÖD!©tc¤ðl at I¼õÎ
-°-él;p1D²ß+Á{-,'¥Äv¥Ù²»ÇüP^ÝTªÉÿÎ>
ÏyWÔ
-ß÷§ËøÙS)$ÎjñV4®ðºñ!
-K½ZÚcW_jæu¼ç£ÙÒ$8lT&²I?Xº¹ºF 7«jõG¤jáZ+é%]ÛÃ
-yö¡d²jàJT«Hqá(¯xP»&eS<ýV¬'%:m°l±t´E¸¨D§5½°´! ÝÂâùÒvç¡mºªÊZGÊÉ5
-J¨Î´fJ¥ØÀÛS¿Ø=
-OrjúÝ[ÎÇÙKæH×bQè«^n"®Ê+áÍ]§K´n Zìê+³aê%Öôf[½N¹fX0 IÿÈìì{Þ"(;ÄÔØ`¨¡åY=òÕn°gµc&ï+õ©þgÞ²?6Õ&×035H³WêôrBíÀe6D¢^XÓK zºuNvVi0Á: éEà³¼¯!eþÖwQCÏR.ÃxÇê²Ëô¥$é/ÚYy¸D=ÕÁfÎV7ÓUPäPõjæÃ
-ò ðh
-0ub¶EápáM¢ý¬8a9)»XÒªµ ó¦lÕ)'FÍ(©^lÑX5Â+d`ÿ55ãÓòªE¡1M¹½óüÁ/póü×ø¬Á¯æÿ__ÛIwð«±þ_l
-¶¬ÒÅS¦ÿpZr|æ²àÕúb쩲ÞQ·|\×(æU&mé`
-
X¤¬ÄÎ<ùZ¹Y:Jp~Þ0lF©R\ÏÀ¡äg-Ôª_$Wr2;3î³[f09Dz6
-P`,dB[6L
ïC¦Ý;ÒÚgê\£C κvIÁ µmK¡Ñl÷B2yÞñFNöy¦S#¢¢_Æ]N¸ÑqBLpäDfgçk5ÈqÂùµáùpQ£
¹ h3ÙiÂ:U:1Ëm@³Æïûì±r|¢gjçìYHãw(Ô""p³,WlÔP¨:Ô>ìòW½aãyõø :bDi>]#6À2C|"3UÆL¼[a4ÈfzÎî8i羸¸x¸wSsKΨ98(´a^Ã&ò"^!
-
-G`¹¨óÅßòÜÃàÒ¹Ds)&±Ýú0Öwù£z V#D>ãHG¤¸?)ÊãC^gc
-¹+æe-Ð*®noÁPu=¡ðß×Â-G
¿^YAÜ=Diaîuê¹yòwÔfc÷5÷(Q`às³Q¢¬ñEtXlI;ì´Ôúc´dQðæCÉÄéYÏ¢J¾Ø(
-®ð;yÆsVÔiªa?¹Ì&ú¦à®:NÐßzæ«c¶¹®æ,
-p%o½³X½årì^q¥åÑh¬TÛxòVH«á?ÖbúBT¢¡Í@<{ ÊûºÏîÖòEß" a?®
- p#¹âÙ~׬CI-²KYàáð¡§qlñRs*"Q (OH¦¹^I¶~ So"%ü×û)>>6~7B
-ý¼{J¤Ç6-¤ßÂÏþÄ&²ôUðh¡rY,À
-êxU@ÈSj³|¼`|éÀ(ØBO°ÙUQGÏTn§¤>&ÑKã¸(Êu''Ç2X«îë¦(Îü78ö|Tsé°Oá·â¸âPYënÐ~òúì?Àa©
-ç¯xBìoJIyæñj6úÈø4(®ñsÝ6j«Vúh¸'°VI¬zMXX¤ÁÙÇN±¶¼æïeà´>Ìîjñx$1ø<<O!¢¿øzýþ¸¦
t~ÇVt8QH<âIâ³/ÐÉóT7JëçÛQ-ÁTkÜðkóp6ÞÄèDú2±M§N8Öè®lbúzp¤V\Än©ÃYAC Lu:òÑf,9p"^á!H;aÄo4æÌ%vPîò'ÅJVç¡@?îIw÷ÄOáÒL¹6Qo¢_Æäfç0
+x\ÛäÈ}ﯨç·w ÃTåç5þ{
+</ûûθ¤T©íY¦§»ZJeÆõÄÐNß?þó>ãؿ¶¾þøûã¯?=þ¿ÿ~üããÛ÷0ÅÏöh®þþ·Ç_ðcèßÿöø¹¥¶ô¿¹ºÅgò\_ÕÒjÿãú§Ç÷~´¥ß9Á½?Ç©¶Vjh±úÄûJÍýÓþ]Ëxum¯î¿µúª}íþµö¯µß¹à%õðkëÏëk¤~ÅW¼¯>£\ù¬<7Nm=âêV§kÏYwOßàê~¬ýìç£}æE'ü$ê}éWKê7Ǻֿ~~ÿøõ Ú2
ÏåB´¼èà.RHßÐg>ÝÕ×
ÖÜEÁÛÎÍ· AAìvÇ~¡RJ-IªíOy¢p¯*ÊÈ`
+p¥ªCTW«S
+ Ì¿5n
+.Eî@ÙL[ßaB3~²^Ñã6UÒÑxTÒkeKÜð¾ÙÓPc§±Ók§l$íþycZØiJR|s¦
+Òðáoµî@
7Å!T.oµµ~Õäþì±(oQtñò~øþ3Ö¶äGxQWû×Ç~µ
+LÊLw±ÍjѸêüWdýßF§)ÎdR³ZE¿ãV\)ò[ºÖ+Üè5ÖAdexðä¼Óݾ~ë?'Ú56uΨZ,¸op»/º¨X£òçDQ{t¯êX
+
â'ã`Or%ÃS1÷f˦¬É¼lW\²dÐ!z+zÑÌr?AºÙ¤ÃÈHN}Ç©JOدU8ü!/#hpA)
+td{Áú¤»zðrÙiKv^g*v*ð0.k¢rwÐÑߢVûPÁùZÒ%$ðòÌnåÜq`:K÷OÆc³ðº|0ÁA
+㫺åÂ1/?åïR-¦;?'Odº/-mBdélñUúwHØÈÁ´'3`ÐMÎÞa
+4èQhÚ}kJ
+Çä0õ«Nª¹W4l)ÿf¹ìÃábúð¯S
+è×ù Êõ+ÞVHa,Á[¹©;ÇIîë%°Br?Õ¬mÅʶÙF
+$Cç9&ÆmòzP_wZA«Ïp)hÂWfÊÅÐ~c6
+/-BÝ\ºÃ.:ðZRxmBaY,"tyÄüï#%=¨|!º|øFÚõdÆ9¥éýr^ô¦¨wÐâ_¦
+uÜÐ
+¥×¨çøÔè¬PÊð;vÄ-uÛwmý3èq`ÿ"Y.P¡W}`.ÒïN
âGVO_ÚpMóÆ:s¤Dk]Ç|)·[CìÅö .o
+å,ݽÔjîKØ
+i×>°m@Â^´?}läô:xjÌóÅ Ò/KÌlÃÙöCó"Rø:ÑR4gH\1©je¨Û¦£ù:¾LWÇ»Sk^â(ìÉpÇ&K
+µ@N
ä{¾
ðcͼf²@âîä)IÞ[¸IÈë¿"IjòV$\E¨
+W·Í³Câ]ÈjBuɧMùïz½ñ]±|%ê[¡Ij]?¦;
¥>¶
¢Ê®xu% ßWÕ)ÿWr7öpQeçÇÌæçwônJñâì{¼Î-×|Ç"]ÚØz¢*6u4;µ£q84Pxãt¹Ë½æ0je¡±ÕÕøôGÌè]'7G 衺:N±GÊ.eU/¨Ëº ®
+5Ï
+WNúä.±¤ï¬<ÍiÔ·»"J]ÞÚNÌ
ï¹oµê
+Êå,«$<èU_¸HpmÐKíMË;¹O}*2²çL,÷(À¿f ôúV=m
+,ùüaÍ'¬õÿs#auwÁ©¹ÂfÑX=§)¼
+ÙñÅ
+¡=´®f)¹¬xÆì¡áE»s}¦Zèç[Ðh»Û]ë©doµQæQJHÒsÝE XeÖó×g|æ!Õîµ]Da5{;Î<âÑõ/¹´°Ç³%¦-Ï\ws¹âÆ®f·pK>¯ÁV<Øw@/Ü'\þVa¹ú~jÕLÎ×£ó/I>¶^q;`]µ¹üÕfÔÆIbó®nã+t'1xê[h@¹ÑäÏy&Õ`äìÀY¬µátµøf
+zÂcùÞj%ÅQ?Ç5Ð"ÛjÑè87
+çæ!¯íC«ï@ȾÙ_8[Z±IC;îÄ jFZëÇB9½f¹FCMRì
+" ÜgÔ< îóìóµ'î7Ä}3J¤¹1Æws8Æ/æ=ö¤rP£Ûk[ÇHª·2M£K|W¤¸¿Ú¸ä°eÙ&zl²âsCYGýÜ
+ÛÇÃÙ÷výZA.Z}ª6w2ݬ&3d'¢ùeEÙuaax,à;µôÀ2p{Åc+u문Ñ`dó^®ã!+ößa¼Nºõq¸É椾³îoź«M«3)<ö$É[¹çØ/yÛ@+-Ü|òºG
:K÷V'8wpÒx
+èÊ&®fx °ºV±(³b*?y©Ñ8ZFmd_2ld'(å'ju.Ó
+Å·°ÐRn£2K(c£D¸°®ojXÌ:±SohÀWcßj¦ËpÐ=$4·RV»Y¥îqQäevÌqàÇP?Pò/9ÒSs))Ç8j
+qè5¨5V_&|³LÆÚY»×,Óõø´Tdk\K±ãº|êd,Á[ÝÆe £³]IÜ'Ò!áȲ[ò¤
+!tXÌÞaæ9«,pÒçÐsjè9IXOzÁçÌer{@Q(ïÛ÷º@ÊS§ÜÚzãJÐóîVÜHS°¼CMªKS|"ÊsfÆ@¾AÎ"ó|³;éW]9YyFÇÌ_
+jÒà5û
+úç%;TÓ,ºQå_jöÃòÞø¡ºªr½ÕÆÇãjç&B®'(3~õdgìCS3ÞÅÈKh
+¨uëç2Y<Z0tEGNE:za*{
+wÝå÷ÜPíÃÁàǾÕÏ4I¨:B10ܧfËÀ5y£¢PB
+©ª V>«[ª~jÃnûìë±½
{dî0UÉ;Îv°¬d 8{xËþÐkX.%w'ïe8)¢½wFµ{ðb?^óÌßÓ²ZDpJ76úÃ8Ê;¦x¦ÜÖuÉZÜÊ/û<!Csb´¿;¼'â¸ÀùTã+õ¬ JëL¦)]§iÆùÑz©Ú]za½´n5 ú@üöÓǯÿ«ÄÆ
endstream
endobj
217 0 obj
-3940
+4032
endobj
219 0 obj
<</Length 220 0 R/Filter/FlateDecode>>
stream
-xÍ\I$»¾Ï¯¨³¡Ê)¥ ÝSß4ø`|ó><xïâ¿oíPê¶Í@MwW¦RR|ñÅnâòïo¿]¦Ëu2?.BÏu·¿ÿýòç?\~u_Ú¿ÿóÛûÇ7!Õm¿¬bºm¿]þxêüå®Ä¡î«:®ê.§ãªïë´Êã:ß}\Å}«?/O{Ã
êÍ~¥äa®=ýuþSéCÞõ|ûåu /粸q0º{½Køx70ë'áÝîªewçò<®{üþ;b6kÌýÓàÂ8[xÞ¹êe]6;ZgZù5^·8ÒzØâN
!̲UXêdgfg»îá";|»[OSX]*}¡¿~üéÛóãÛ/
õ¼ßFÌöþqwx`,ûzK`ðK÷Ò7SZ¬DØg(#¿Zí±°Àß䳶>±n·õ²¬ÊÏU¨~²Ëáá"íg³aÚüÐ1¦vKRþÿe¿é¿æ
-I40ÍÆgëá¾a«}ùÖ'õÆV¸<¢&Y½yf5ÊÎÙ¹g¶OѨbkÖ0rÁ(5j*dÕ>ª/2Oè@и9Ç--äRCïî0g±¶ë^ÅØÍêéä÷ |ó±9=&=ktZATk2Yd^Ê^¸{¾YBP¹¯#À¢C>Ë}u3?êIÔCw¡1¼vü>ìWyOúê÷$ü¬²êJì×ý}Ò(FVç«~M¿V¬Zö¥rÌ'äæöÍnßJcÞ·#
¤§ØO¡m_ªÀ ³äßïNDq8¥vÊ?iÄã"pKb¤¶
-;¡ &zSµ.,³ßÉ$Ç7cwÓNC4ë².då¾ÇQ²SeaÕp!óHØIäÀ7È>S<æ¾3ªk51
-âÂ/(L at BOûùþýÀBL¶Ü±"+Þ¢SÈÂb»9!í>@³¬çm8òtæÕXC
-
.x´¤.µç)«Ñ¬²sÈ#æ@À7¶áq]©
-·I<A³8ÃÆ zÀÌ,mæ`Ï®15v.éCÖhïEëH[TFÌ=C,fvPr\§A®}zþ¢HE*|«
-OyYvá9oÄeLû }Wà`wÀ;ütÝ-(}°d̶DÃF`Ütr«ÉóÁåvz'Ê
-ãÇ_!@N®L¶XÁj¿4QßìÕ¦LhO%Ù½Ô7Éûµg'Ô/½zRí2¼ø$qf¦'õ(mðmJf½Vå ªÐIp
-£ÂïÂERGñÜ3']¦DÁç[úTçf,³Âä³´ËEe7JKòö0#ttÈÓ$æ²=H d+Sû¢]:@Y;n¼S?[*¬!¡ÒîáCí)§ w·t&£þò)?x[¹ÉtG:>¶Ë ¶ dçEä¦Î07>¡_è<Å(%"-ÀH4x5n
T-Tö]´löóg¢å'2I"¼ùÚÉñTë@#¾Ø¨¦Ô-¸F9öÕÄAT]©¯â¦JâÚ)ªbÑìEù$¿!ö¼ü°?B8f¦ÀwãÀµMº÷ÄÓÙ¿rZpX]Çn5-À®½êÆ«¹DÉJ¾MØnÁ¦*D)µæø`2ɶHU§mÐ^Ì4ë_Ë¢wÓåÊ̹¾#±% »Ý5(2ãK)5LʸRà](Eç l(ÃÔ%"ÒE}2¤pÐÍû;ÅÅ|$ý¢t3縼úw²éJÎÄO+À²J¦0&è?Q.|1*Ü&ÒR ßAÆ6Sárä1ÉújKÎ\qÑN
-cC¸ú®(&²1K·C¬ábj/|"ðäÅÆ
-.| !É1âùÐø¼äz¶ªXf4IùeÝV:±LnQå0¨*vk6ºhÒ´co$ßË×7?W§ÍREJÒÓi;jDÂÜ.x®lé,l,Ø ¢vÝGyUU++(fÛÁ^±é®hÔάɲ@
-k¾ò/þ¡±I©õ:kv.ï(É»ÈTs¥BøêÃ1¼@^?åC¢±Üaõÿ4x m«
-¨%cyáÆÑ[<K¼@gzíþª·AGOb!õÇDj¢RaU©Ñ(óÁ9=¿à±iYdÎQZ˽Ä{Û²ôe|yd.ÍÍkJçI2,lxÍ 2=½¤ÜiC&
-`ÐTj(Ègq7GßÎ÷Òµ£)&³(ʵ`v:~
-P:&°Ër-ôXõÕ
-}ÕH,7Å
-Kÿ#ÝÚLèö³¡UΡKÃQñ}FUÞkSTæ],LW$BI϶8MAÖãý®´¨~
-â*ÆMïËBeò£!5r]æ ó©¶ÀÜ@$J»ÝªUôS¢ÎOa¶*dv at U»1rï"EkÚôÜ#nèÈ(äé¯ÂI.\¬
;54êÎÑÃ'H%@P`òò&
-~{ °/>©âÐ~.ì¬×ó
-íþ®f7⧠èÂFÑ^Êzß»Ä@ÝdÊ+ïÕѾ¯ï <@Ì×ÿ ù>-è°w®ê¡Èç-U2©
-o?77.f ×tÄ`ÉÆËv+.äFJÌ&gRªBw½P%"N®Sß*:LRò¦Ò!fèÜÛÄZ_öÇjp=äC}eè°Ä )7=¡ þ3µa"ÕÊf$¦âË»Fåµq0þk¬óNò9Ç\\÷ÕF[(z:cT ÞêB;ÉÀú¤WÛ}"Qôæ4}w¯¾ÏÙÑ®ýKÑ/lJÊÿO7=RLtQ´Ñ¥¾è`®¢3¯qÙÔ6ï!*ÞMh»BbÀ63qV1FÜ£©Ø¼
-_âIöì2¥g£ej¶Ñ]0-+mzZf\¯ýö"½®¼¡¨¹F]Á ûoXÆJª£ÈUîÔ1 ò(sQIØÃ\ñ¾VÊy»L"sµ
- [¨Jõ(vL5ßÖ¢(éâJÓ¾Í8cdSÎ
-Á´ |4Égz¼Úíܽëa¤vTÞ ßæ§|E9êöÌñ^"wýzG\ë¯
-þRAwÁiî#4¥%5a¹z=|6(I
-ϲ}Ü©R:TWõÍ'ï s at iósFf9D)ù':ÅÇ=[^0,e£wÁ<8ó5~@L³IÖ6\eä¿d½àÊ·i¡Á,ÜB?¹4¦¸ »æÞ¢ÆG
-E5ßGk/P
-&Òl¯âÎv`+Lz=4=Æ9ác¿'X=J¡ätx½Ígÿ:ö3T¥¿¤oaÉ]íòÎM^B;ô
]ó!-N¨ì{hÙ%umß0¼aÂVW>bHàSâ×µ¨6
ðs½vD~¢ß£,Y$^ËÜ]É4ê$oÑ°eÓ8CStôà´î´¸Ìj= 7ÅN_g¾Þ}Fѵù<ÖÑxÿ¯ÉQ¥³RIäÁu
-M#í8è/ÿ
+x[É$ɽ×WäY ð=Áte¦Î#ôZ@ æ2¿/[ÜôÈQ7TweFx¸ÛúìÅvûõã¿·íöÇí3Üjð³uüùËßoýÃí?ô%þýåß¾-~¶[xõ÷¿Ý~xâ¯þÿÛ%×½k[
+üïnßÿõógàúë½ú'l5Õg½·
+~>jÏ2]Ûêg׶ëÀ·9n-áÊÖ^ñðMkµóå3˸^qË?åX-µKI9Fø÷kVXï
+[ú²µ¯&ÖJ
+Êïtymú(ø«wøÕxÁÇ÷"+¡Âñ×"ZÜÅ®x¼«¶úçÐàïöAB!1±kÒ}Òî$-P¿èºíº/=w«
+_×6P_[7¹è© :RRl¨Ä>jÃݱj÷Ïdk$¸Ç8|ì³þTCBRMø[K¬ó&«¡®+ëøà /Å¿gøù"þÒvØÚîìîK¬<ÁsTDu|Ú?ëápì`®PÔ¸é]%èð @;><º=þ)¨¤1v02]&ÖXͯ
õ®ÇϬ¦¼&±ÁS+üöªèãÊ¢O|Ög
+¤q²>´«a-+ElñD jhñU øLÙc`9«ta¸#3¾ßÍrÉÌ*µÜÕDES¯Agh¨4
+h
+Ï{ ¨4S²×ÕÐA/æ ÓÌz§=q/äÏI<xÓÝÝ~iÄÁ÷q]n»w¬ºd=!Î]#@ô[I÷R#¥õ¢
+KÎüE¢Ïo"Gu¼Ã
+
+JOF9±û©jVÇt¡µH6@Ú>µîvôRÑ^QISdë²H+ëxÙÕÍ'zýiÐ8÷xv9ù¥¦r.¼çI;5üûÅ2 [Ä$ý1{Ë -Ø?¦wÌ7üû¬
+%8´Ó²ËTÖ_âq¦Eöèä°ö¹ZUþ°{ïŵp}ÍjÎwðlè`
+ç91zÂRV&oÍÑàÏ(%<QÆøÀñC¬¬: ±"ùÚäÓb9Kb¦TnvÔ#ª-G÷5µý2°*EäÙÑ<R½A>ÓX ÒE@'adÅüéáT;âµ</µq/ZÚçù*[XøXîä+ª¥iÐ× b
+Õ¼=¼%U}^y.rÁ¥Ä-
´¥-ÊÎØν]sÜÌg
+àÌßn¦CfôÙÛq§ülBñµzðß8´æôYtV,[é´c[ËõJ§eßWþ¸£ÿ#aTÒF|9ú\ñ|ÔÇÕ´KWP°uîκ÷¿(¾±¶;ådyP=û{ë²F]Χø4W®Ä)ÕtùÚ£`«èb/P¶ÈÍE£Ü)x|êWÀO¤y¥(¯Ñ
+í´ÝdE¥$W°ÂEyhÊþÐѪ)j¹öáp &;ÖCQÔHsà
Á¤l :`GÑÄà\1Ð×{x2á). $]ªIÏ<@×Øå~:Oú¨k-þK¥Õ´;ÐøT)7úMY¦b·{Ø´8ã8a1(Ü |ÎdÀå±Vê5¶-Á¶h·N¹Ìá\ÍÔê
+×6Ãã2®À¾j
g
+§1ª,
v)ê²Á½/þ¡z£HOÁ'2ÖoBVaËðsÐÐr¥YðÖ}B[kãATÙP¬ Û²{¼/²ævÇ3 vÁÈÜ®Ä
+W;#sCO £µ/¥Ð.^=la ML
ÔµxãÄ_¸JCjÅæO«â\¼
+["a0dKãpîæUF)$|?æÝàòîA¹)>ã¡ÜÕ[Aijè}ËåúÇò¦¤×m«9µ°/UËøRÇ58rRMè³ãï}i¼×ì2LH$sÈ5´¨Ï1ñËÏ
+ÜõAç(ó\Á
+O
+jw
M¦íödÙ}ó;Û4æNoȳõgzÄYk_**Ä×ؤ%DZüFßÅÂã×u¢óiÀUØÌV¸$/hÖ¢6&}å!¢,U*UájÎù [ûÝ&±Ñ À¯¡H §»hÂU×È9]k±óÜvÐÏZÞWZʽ¯(IA«DJ*WvIÊUÍU¦·ZÊ®Ò3:~DsIÜÑ1"ÄLç±ee
+ÍZ+@àY»Ò§/uæ*`$³¾E¦²ÌÄ;1H&ê]íO$~©§ýõB(\5FÚ10Ä\Ûs%Ä ¹vJl
m Bq>»2
ýQR¢BËHUOðQì1B»¢8%y}_ØiÄÙ».°Ò¥`[^¸ÊÒîXúùó_°Þ/7$é~ýÀ4ù£¶oá
+V¹ éòýß?<µC$*à.®SÛ(Im{NqaB
WPª¶1AÇAB1£Â¡gÔ?Rj£íCúl¤ÃîF ÛM½´]±+ãò-fF3´B5xª[mb|G>²¾msÍuZ}ÇÌ`!ODxi,q»;UüisÉ©gæÚ=#"Zíç ¯µèûÄþ6Òº5¼ªq°lH¢¾Î;;mlæ®<»fw&ówc²Ð¥T·¶rÁÄ:w,·ëµÍaáÙ_Íïh-ël±T8ÇγÇÄü]1~i_5³µ©³tê¤÷co8îK^©}$Ö³NÊ.'ÏØÂl{qföÇ>üºë©.ñä>
TkZ]PUï+^x©?âÎúsò¶@¾YóÊ R[öY_[R5ÐN¤uL°VÖ21ÞµåݬðsP=çÜn%µÂ©ç·¡¶Þùy¿ý=$Wû Qé ¹õúØÛO¤w)óº`\ãs[a(Ïì}m¸2¡È§¦L-bOM«Ù×^QÑGT5ÿáú¤-dÂ
+ÆW'°×Õob/ò<vJCGl\Û¥¿my3I_j'/¬ëvݨHÅülÁ1~ÜÊíz ƾ*F«C
+±)XW. ¸ÀÜfDz1q^´Òì!QÒfÔô.£VÁÖ±üÓÄT.£7k)^Ê>-[¦ëVRªH:òq]kyǬ9J«r^÷åÚű»ðÛ-<d$ ¶P8!Qrà'këÝ
+g
âý×5Ð%×tiìë(Ó0ÉEÎnSÌÖH;×îk-×KmUsöõT0ÍîT~Dâºj¨S&ÎZèQÖê¦W7IØ%^5PþÅäYbÿj§-+] Ò=Eä
,§¹rê9ª Úâ]Q>
+¡¹¸»¿C¦¢Ý8ïÙÏyǺJ~DÕHwwû{ïi´î7E#Y£çs´ÚÖ&
+~Wcá?d:ýZßËI?ØÚEá[xbÿ¤XTf¨¿è0êÈ:Ò>qå×[¡'ë´_QKÔ-K~è6èC1ÐèáHÊ3ÏQO¹£¹:fs<Lãdìv¬%v©«²ì¥NyXhµZM~-Ea[pJg÷C]p²Ei¨¸U1»=L¹@3ÔÈã¾Û¹½C6"§¶07ÚÎjÛXHÝut8û{8þ0p%Pg¸Ôõ^ôGk˳¯Ë©3îl÷»
+ÖDîo»a Ã
+@â¼ÆlGélíÏ·Qß=ñw2[ïxÂ7ìÞ¹.UÛ*½-¢Ì4¶äYÌ Ø£V9ÍK{Õ©ét4Ý@Â@Z1íÍÐÙA1LÅ®èñ¥Ör¶a÷rúÝa§lÛCùÏï½ÐlÈ«ID7.h ôOúÏ£{qähîÄ<ïv,n¹ìÇ}Ü×Úܸ¡>«ùd¾Òq´ÚÚw ÑÚ>סµÄ.å¼
U$dë³ù u?Uä`asÙê{v(Ñæ6¤Èq¥ì^$ðu6b¦ã_qÈ8¾({ÓÊ}ÇM&óÅë´Äõ 뺿nØû
+:§SIs÷ÝP;eð@Õ@oôkî
+ Í®·°Û=
+Äfû)ûóÕ±9M,%÷FBÍif3ã;bÏf/Uø4~O#U9:²Es6ËËÀø©óWrÇâx-+OĦã«ÿ.è¬jvVì ß6°ÙtÅ÷@ƽ§qeVó
ù
+hlÝ©þ°Râ¼Æ}ZÍÝ3
+½x?DºGé|J#ïIÎ~¡ÍVsië)amûç°÷áoðóD»Í%Ñ1x
+V¥92}¯:pY§pé1µg¦& Úd¶r¯qiTúªUÛ#º½°Ü¥¸!u-ÁRAÑJ¨Ã®¸Ãû¡¯
+Î1
+âªâ·ßªÞî8ívý»¡sJq^ÁKëPdðyÙÈòá
ä
+t/FÉIç¢92îuç7ÁróÙÞ¯4M¯¼VÜKæÁ¿¦âÃËMüqsóÝw÷Ä
+Hh at Av¦<Ç,ìZªÅX÷pt¥8|ºñy
Ê;[°ì×½~(,=ÁÎó° w-Ç+é÷¸Ê<ÜÐ i¿óÛqàXU½}W'îy/[n§+d$£W+¼AÊtùêTã3
ÇÔ|03O[ÚÏE·ÓÜÏj½ävþóí
endstream
endobj
220 0 obj
-3681
+3989
endobj
222 0 obj
<</Length 223 0 R/Filter/FlateDecode>>
stream
-x\M㸽÷¯ðywDÔÐ003mr[ ܲ v/ùû!Å"Y_$åîÁ
-í>|üñïËßæb¦ËÇïÿ|óöfß[Þ·køï~ÛÞs»º·ÅÞü?
-¯«»Íoë°Sül
-G>jÂYV{»|{üÈÝ̯ß×YçÛ¿>þþrÿxù-ÑX÷º_Õ¿.iþḇJgn.~1\?\ôêßÖõv.\+½±lñárËñîñ¶¯¤ãàõnÃÍ»cY[ú,®=-ÕÓöyÖ>5éôË°<%üeárǪÓ)÷¸¶z=m¾»
-Þo·ëç\ÐõÒ!?âëêñ:[òéçlS.RvlZ§¼7p²ãìe`u!ݨg
-Ë^ŵ`àg÷êÄ}ü·Å¾ZXÎ×? |¯`pû±Üzôƽ°Í
ÓÍ>äV"ð ½M¯acÐE)¦àjéX®æËjhqÙ:`:8æQÈÛÀªÛUp>
-rÛëÊL]êªÕåÂòÜ·¸ïÎÌFH¯Îõs`Ãðáu!6Þ®Ê~b÷7cÑ Õ<v-â±îÅÝ®f+fAN|<zÏ7ÞÀÀ
aüÄ¿Òÿü±=èKá£Fð(Ü͹ÛÎÖävÙ¿Î*dæÎ[
-ß°
-±Xºzؼu"ªuS£¼¡çüiF HäF´Ey[NDI=ÜÂ=¯mx¤Ój>öN'D[6¾é*{¬@ÉG®â·UFÛ5sJp{ø÷ ä,Kk÷NH¹Ówèg8Ijö8
-¢ªzºOÐÑAæìJ>e!\Ì(Ã!@¤8S^n&md[àMià!$V'bî8å¬]¤øYÈÚª\
-×Ä/D°DÙFI¸Pãt¬·9
-wu.=çád+)¢¤ºÚ¢)
-×ÒìC L¢:¿
ÃÜmnIâ#´2aMHE+7(ýƸ8áuÿÙN³§y²ãî´;îá4¸Ð¨>ß±rz0aáZu%ýõÆ£*-B§eËòÚý4oöGKËèV+Ý«0¼ù
-l
-?B.µCÏTïG/HNÎM¤#XÇ°Å&û¤FËG7TæÜqò%KgÑé bYµ!èîvÏ
YU¶Ð´æÎhXNq]úKrià!$ü.£Ë4Á¿ãTªënÌJ{Èq²mkQ_á)Ryæ²Ô¦h8»9ÚËRMæÒÞ`Èß<K~ÈzA<°ÙÃÍ2K Ä@]¿uj*CÐ8ÞÇW¤SÚM®n>ãÄ
-ý2µûɪÛã+4q»ÓHóåäaö<¬T±B´{bèI-1À±r+
-pEOÎp)¡
6lQ%UʸêZýõ^I°ÇèÓG¨¬xô/RÊfKø$[$D±i¯+Ã
-\æÍÐÕÌË,8}CPaIµc>5±ÁéÝÀ4<÷/%Uº©Ò¥Y5ïm
ó5iêEZ|DóÞo"éTdÃ:ø Ðs:-%-lÆH-}¨§$L±ýÞ+æRp
-NèÒ{3±ædaÍTû©!@EP ó´ZK&ú,ÉuRÛF$³ØSÇÈs7oÍ(夿ѴèN4gÿ
Ag÷þjöN2"ÒN×828; ã.Æ&Ýôý`Iáñ6Æ6Îk? Üæzt7ÇB_QRØé`EÍÑ>_RYÞñI°á9^&cIÄóð×ÚgT ÄX!ÅWÞ/O»a«N1lÞ~ªõ8çcGiSÌ>d¡©³0!r)xÊ.ªó¾*¢¿:T6ûëcágáÄäE(äTº¢V
-?D7ãN;êkLRg¿kw
G°»úÊ3SÚòI
6&WüaDÙâ'lZÛ"¸ÈK"
-d[Yh£n]eß½£ßi¼mÕG_ê<ªäÓ¾ÀH˲VºcÏ6¾ekî9úvòÜkêëÞK¡
-wÙHÒVKó~VR_èN¥àf_v´ìЩ¥Ï¤ÑÎô"Êæ9e)îíðƦQí(ÐùÕµ|5`°njQ¢ìW»
-Pc\ê.o|sô`òð»QÍPàÈÖ@G#AmVè^µêas«Éÿl=î±ÚÂÞæÃÕÐ5Í¿4Ï=Ó_¾åß3>}Ð8¥µ+=e³>-³g+ÉSíãü¦LèÐ(Àqíóp:ÜÔv¹öOµEQ}ÙU¶&
-¢q¤cêC8kH5
-cCT98PFf
-ÔqG[pU¶,(fñ¹èÓ@øbÐéì#ö0~hCïæ¯±ï³ ]|ÂÏ÷ZOnM;[K;%AýyG4K}%JÞÑ¡ò6?G©æ×ä
-ò0*ÿ9¿còîòMYi~=ËÈgT>cÌmÓBø6ÅpRûõåÕOù6-]íFtκ¿wvå'Ôðç¿÷Á»ðùwÒZá%ò@h,[_§<Å),îXòQ~*4c~©S0KØ$ÓëÏ<ã-úÍxÄõñÐ@çÉ2'Mù§¾NñvsqkDé~¡ò÷_^~½ü³+
+x[Éäƽ÷WÔY[Ì3µø,c
+c\³"Dd\*Ð+ɳTÆ®ïê<<&dÒXèç
ürCOUk4¼XÏe-K:ô¦y¯>Ø4ÔÜ*é#ñ©r"YP&ÖÅ
+Z äBÀ"¥àë/`%à¥è È%ï#Ë)vü0ô|áê_èjO{e#¤§I¦Ñ,±Z`, at Q¾½AÎOtziT©QÜÐKÉy }¯8âÊË©çÁi,Ò %\Ê']âJHÙà¡:MfJ,é°4$øÚºk¹Ç~é§i¨O²1¢sc»S,T³Dó0\ÅN<dÒS©¾/3ÿ`¥!söÏjB ZdݬvZõRõ©¾æûË!Å æ3Å¢|3@ß#@=^ⳬ>ÏuC<mÝRæ7k
ô0Ç¡¦ú®rg`!=2Ò©sL+pƹ¾/§,GTò2
+ÅF$z a¢íåXzþÙ'ÕX[ç¸."
+?åwS+ðü\Û6Zëùkä+å¡Òëʺ,Ið<dz¼°WØ·ªÇ¤áÙìygZ=ÄÕ|õáôc.K,ÍâoKÙí$¥!ãôÑc.Ä!Ï3UOã¥×7{Ìvþ"\u]®0·ï\^ªñ¾/þ¼¡.)Ee·iǤE
+GαéÎÎ*éJuÍgê=á½ >ñâx¢ÇK/.iOlAaëUª?<·@#Ë6ÄZ _!`Tþ¤µ=ãS®u
èÔÉæÒhP¡ØZ 4W^R0<Meàü¤ÑÞNzHÁY^ì&«¥äIúÁ¥¼³
+Å6Ù\Ãvì<â»JO§ºÓ9
tt(Úp·¥yHZêA9á©|×"«8˨¬Û:µiÂ
ý
ukÜyOW¦Ã{NKt3"ÞèkÙÜ0É9ÊñÜ0 ïTÅ eRÄSyÁeÔÏâ°¤¦e3¥¤£Ödy¬åÀÁ5»r̨üpé¿F¸Ü층BïèÉ&ºÖ¦4&ͺ3å-êìRÓôõ
d5÷$;+x£t §·¨9¸PGumuèl¨ÿ²D
Áï¥L±Þ0nªcó^Ø-QèÔ"qAÇtZ)X²7¯§vX·}^Y!oËÑnNÏJXM]rÕ&¢âÚ/»VÆøõ4¢_§0©¹<ôç?}ÇÛ·ï7ìýö®Ì³¶-ßÂ-
+á+¦úoÿøøñPìHb±%|3#ªf}üIOÞÈ+4ÎòÐô8Oä¢ñ±¼×yiª¦-äÊB©¬Á¶»n ÆÍÙEÛ¬Ù^éí5X·¿×5RìòBc¢c\f쯴h²f5¿¸øÓ&k¹lÐs@|QZ\°ø½¤;/1¿Ìµ}©LCz>`|òìI;)©ElÕv¦É9©ø÷äpZ at u74ªiSÄlhZ.6Á~n7¹=ÞmÚ©EÊ..Ü36¥}ä>QQ_=P")ïºÒ\åqÒCÜBÒôM-Y»ð Ù¾¦V¯IîÇî½rL]iÜõ©è¡l½Ã¶Rj`îɼ-ÑmUsØëTêiÿK[Sw庮ûÅ.z_÷)F²~ñ¹w¶èôÒ¤¡%$ìÑöþ+¸:óÕÞWÚ pp¬8»
müÝ_ºþíνt½}¹7ãÛüTòTgá¢ð<¼UòÖ÷I¾§+Dî´ë7×ô}ÒÖ&õ#Uv´.I¿ÅÔ#Ó;âd(t³0å0´ê¾t:µãÄÑß:cÈäºL"fò®Óm+]|E"b[ïC¢éÅ;dê¼éç1×`ü?ðp,,Uf|¤z¨¸0&ûÜ[
+gLKw·ç-ãn+X+ûàÉN´}HëµÕ#òxÿºÜÿbĮس¤là]ÁVËîKK»9ÇJ¼wëò2sa%âgá®7;¬5Ãy¾91?ZS at wªÙ,j©3d8êXì"Z
ô0CïÉÕ03RyBxAñ]¿
:HFô=V=6ñÎ|IU¨>F©LǽFéwçÖYNõ|i´Ì²ÎýdÑÍþ¸²°k½|cDÒrenG>(
áËÏwì:Ð!yô
+h
T¢#XkE»èèá×Zá¹*q;7$"~õVüfÞÊ';ÏZxû6×ê¥-Bõ/eD{×6s YÙDì^èk8Ëß&ão*ÆímæÁO0+8äID>:{GÙgâzOµ»ª¶¯,dsîRú»N-'
+I¾iS¨þí\Rý¹&/õ¿YrߨêÏå";Ztq`s°¦Zç×üÞXQ&k9Gó¡Æ¿Y!ôÖcGPÿÎÒn£öY:»mR]p H Îú]däXÓl®KætÖîZ{¹¼zÏå×ÂÊ|Q1Â#(N
+}%ÉÇîú¬M
+ó¤ó
++»yzOÌxy@¼ÿÜF þ Ø2¹3b²Lbý5¾ó¥Y¯íÒÄ'6xõ7L8LàÀ(¯âOÑ4
+fñµ<Ê:kt
+°£ï£q¢æ´}'õeÁùNßÈU´ô
+\â2öÐï
+²5w·ÜøĨiÌÙüô[9®=~n:Uí9ÂV&²Ñä²ÆÌîùõdiX7XåÞöû'Kixq~Þ^u®Ø
ßj9êñ«Í4îʼ$ÿ/ÊS}rèÛØ+Ö10^éM]ôF±ÔÖ Òyú¹£|?kÀ©¬|*û
×Ù*U~2Êt±9WÃî
+'áxÒáfPuµÏç
åx3ÿÿ/3A(Û$¡³é}}E¢±´MM.÷]ïúØ$éBf6ÄMÖu(!µ»5-hWwÖÓ:Ï©,ã_I1á#;µK`ñõy [Áÿ:'\»Íë.IMûÂå''º°[¬³ºáäc%¾óêçveN9ùLÊ9La¹àòû®mã#ÐÄWÑ6§¬Ð§:ɶñSKrIÿa
êÜRä<>¡÷ î¶J
endstream
endobj
223 0 obj
-3564
+3662
endobj
225 0 obj
<</Length 226 0 R/Filter/FlateDecode>>
stream
-x½\Kk$9¾ûWÔy jS¯|@0ngö6`Øò·YØÃÂöeþþèEHÊt3CÛ.çCç_<=Äí÷·ÿߦÛ}²ßÎBÚ¯Ëæ¾~ÿõönÿó¿tÿ¾ÿçíýóMHýØnëíóß·¿½ÌMÛçoÿ|.j¿Ëçü?ö»~Îf¿ñÓnóæ?ñ/ÓüZä~WÏEûO
¿n>ÜB¹îÆ]åî+çÙ÷Åç»ûìmû}{ÎÊßx'¯üæ
-
ýíq ³]ùö ~¶_eX{¸$¾9¾3î4ü¤ÒÜ#ü¢gí7.
-ñßÇOÂZÒ+§((°¶°µð±ÒDXæ#~dT¶Xwée°¸½®xqA8¯eÙõ3ý_;>ß~©Ôo¤|,úÝ?ÿËÝfÞª
-&¬k¥û=`¤U üë=í&1úiµÂ1QL@·Q-éN_5ëø©ªWÚnÙ&´DSl1,K-D.³Õ¨{6Büð²´ì!^ÈÈM_Î2|»wtúÔk%\ïyJíóÅä³í'7ÍÒ&ÿv.÷ûzÕfO£vá~yĦ.Ù^"ñßJñk¹]ä%êºÔ¬²v©°TÞ
-*¬HÆÏhzù2Ãð[b½z± @hÆ1Æ@%íc
y úü*&æú)Xy¶ìg
-+¹8q yRÖZ¦Õ}ù9}î3aÀ/ZÏ]~nVt W#ç°6ë/¶>
¥×½ÊH+E°%Ýñ§êÑ-˳ü¡Ýéûe3©ÂLw4ÄÜ
-6ÛwÆm4¶ÿ4°I>nU¦u÷*à¶&·ónò#$
-V|+ɪÏÝ?®8L?
-Â[Ñj Ôi
-`«gòÎÛɼx8Áp«qnÕ&xjCkR3ÖQ^4Ãìz¤¨
2PÞ¯.wÁX`"çR¨«7NµXdÊÞ%³Â g3[XÅËÞOñSnÉ¥j9FoÿªLV¬2CjV²¹sÐÍ»-Åëm~Ì·Hr«ñ˹¬>c};k1¨|ÈYiû§¸}.=Vð'ùr'Ùk
»¿Z4?²$¢c7q}z+¥
-%×ã@~Ùøý+n×Í{û^ÑòFNgD2C㶮s\qc°#&HøS à±
-XÎ(°}Q®÷®©dæê!°¾f`CÎe-B1 4&¤
-DlÍ6ÙÊêµcÚazc¶©-aåu
-ïõ¼X¶Ä°U(
-u
-dhRóFA°
-#
-yýÑhª
-¡f7Gµ|*?&2Óè]rwÝÖ®
-XP&æ`¿8Z¸²oh?/7¡]À^;Ì}©a¸[¦n³ËÁW
-ò/µ`MkcH×ÃÆáLÓiÿÂ6Ô+ìlmǤ'&ñ¿c$|W»yBó¢X?Ý
-Ã Ï`I·í2\T_,8¡Ê-i7U¹ PëþÜo+5+Ñ ëbg"
-nÀXâl³óÔ}[ø$E¸Gl¡4
-^ÜDÅ¿IDìvÉu+;<Òjµ¡MÉô{K6ÈÑ[ÓJRCàÑ.T³^Ïñ¾ÀpèØ·¯§¬Päz·uÒ°lo¡°1²´¿ÀÈÖtÒ»ôãUWÖ Uã@ÿòíÀåf·ØjÀÈìÔ¦i¦£Ù¬p3tUç¿É¬pSuÖ¯`ʧÐ<9²×|Q{|¯1_8Ôê_jÞY¥^bÊ#6bå:JÁLÍ í£ÒºÀÐdVA³ß2\q+õ^o¿Uû9̹IVUï%¥¥Sèÿ/SWfË ñ%¹O,B!\ͤVä:¦!Zt¯JµäÜ«±´5j(CÓÏh¾Õ0k±z39ñ"¯ÂaG9%w=`
-V¨¿¬ü
-1Ç¢è_H5q6;Ö
,69þeùç&ép+£õ¡McC&\pq~Ø´`fÞôº@tgð´ ùvsRkbu2nTl¥ PCØ
:IP~Ý%Êb§,îLìrªHo>nUÓLg#@£{.Çó=kat£6V½¿^l¸¶gù+¾«ýÆdtK+PÀû´¯(Wå9Ö£Ã
-KFÛCûéQ+X³J®+qpÒFàÑX¶×±C«Âw_d ÆVÁ¹¬6ªIçio}ÒËÒ"fOÒ2ų¡Uéê·QãòýÅRƵ iw¯¿ëµ{©¨pí;
óLRƾ¹ü[ávÚØ7X\é¥hR
-Vº©=">ÑèÝêÛ%ùö?a&ä):FãDÁv0Â
-½Qì5uOD¬ñÌ ÓAM=9((¯l¢Ó$ áBÑ<[S³ÿ=3ö1-r3°¡+,;9¬Øi&é,:îr§©mÐô3ØV½d=Ö
-'ÒXéT
-"%j8%ÐÖLH®ãMM`h41;m
-µW6ë´¦ªI3Zû2¾áÒH¨"ô
-m¤âó§Î¨áêf¤z$Ñ0d·,GÙòÉwû^Ô×QÖ[ö1êùQ¬íF2ÈÐlî2g~°owe.%¹Q*¦+êð?§gÄý ]C¢Ö-±(·n@]<[&=ú³oª¦ïJ[sKUQ¼Òù±ßs«_éÏYpÍ3»]¸.§9U>®Ow§°¡»8]2Q
-ÖÈ?îæ0©S6TÖq¢öÂ4&üc¡t$£V÷(öE¿?ôJ¦ N4ªÁ$R=ñCÃa¶
-w}:iÀÂ&
-Ñ\çZ8M0 ~cÙP4ãG@½þsH< æAK׺
-MÎltlµê÷ÉÓ
-³GÆÖmØæR4bÌø^ýe¯ªùÓøäÆ#ÔãR´Î¬ûGD±¡kÎIIkv2ìõ¹Át¶µsêÓðÐ&´!ü«N&nçêrã? ý1ÇhNÑÆ¡û»9E¹ü~=jÿr«¹¢6]Çrtª¡&È@ë0®çkSùDG#O-
+x[É$·½÷WÔYÛÉ= 4µø,c
+¿mûE°ÐvÇh#FC
<#¤·'
¦³üÛÂ`àd4
+>j4fÓÜãIæÃÇ©ïÁƹVLA÷
+ùR5[@pÑ]\\ÏÛBÚr·Dgè»-Íy}ãÃ=@F¯·i
+<
+ô
+nÛLÍj©¤½$jñúL¿$ÚFïB1´ù}
+öI~.Àç(Å4Ƨ½+{fCoã^ò¹Ã{u&òõ¬Î!räs£a&"µøÆÇ1r'U¨s©¥JT¹Çâî§ywÐÐ)¦Käs4Õn)j÷×D¾þ¢w£Vï컼ón°GËu'nϦ¤w̯e¬¸ã\º:Ù½ ¾SôËxB'â\rzå|Ì6æò|R7#Z"È-Ð=}shÜÀ B7rV
+A@°Óø£^8¹õ$"î "¤²·bø?bC,uÜc
+ÀlÖp/âV«/Ôë$度¼s¸³
+£ÂaÔ
+FDê Ða4èÕÎÔﯡ)& yai(ÇE¢:ctÉ,øÑwµÂ(ì!ÜÅcw²ÒwÎ#\A5å`¬ÄßJ(ò4%3¼w\ËQ:u'Óø=óþ7k¯p¦¹¬.M2ÑÄô_¼àÞ<ºãà hG¥ØNk Ü>µRʸ??é{E(Éø}AÝeRÉðÊ=]
_÷ö l5Ö*Ò
+pJ×þe ]ã"[ÆÒ "EÚØü/³féÝ{j#ñkBpt.M¶«k÷ìæñ'üX!eà<bíAaëÙ¬Àß{=LL²*jÐÀ:gÎ\XoìE¼g±Çe
+5Æå.µ»Ì
+÷¶Û§Y¼ ÷I±ÙX!ÌX²Ê°MhÆ|)\æ¤a0j)tnÞêó7:m ãÈK'!$«®½bðTFû,"GÏ&ë¶(ý}ßûÇý)»ÞÞçNÒÝîV¿ßm×èNþ×Q*YHaKkÛÛ:øæ´@Â÷_ßþÿUo÷$°^ørºæÊ
+(i#-2rm)
Ëîaû0)ZPÆÕ¼ æxÈ
]¼G\¸0o稬IÍ£U×YK5¯
+yÅ#¤âÈÑpþ§"þTnÒö~Ãåõ»acÀUޫ׳òÍbßPwú:ö5NivļâH1eCèª ¢NJ¶C÷k¾×äBáàôÙ¶Ò}Uá¶0÷>ëAµ³R)cÜ1sQ:&éöè7¿c£zîuÏеyÇ®{e3a?gÍ©ÖK
+êG-¢/²14¬,´%" ôTÖd¥UP¢IÞÓ¨ÌzçÙKxµ0<li«°igøItü§o
0#¬Ï@Û½ZÚy0ÑðNái!»K
Cr:7&éÂAF}"ÑB²ïÒz2KÈåC/Ò§¼ÑH\÷Bþ õEÖeÙÆ¿x
+}?IÃfH!5¢
+¨ØßH` ¸ò#¿§IÁAÞ`È; èÎH
+|GÈgPZÔ\¦xoQ'#U(ƺ±Z²LÊûW+|3>Õ§ª*LÊðôÙDR?êwPmZhJÈm¬³×a|.ÎK%%DZËÁáêxíjZ]8½[t<j¼ùÕ*é²g
+o*F2
+¡ðM·¹ÙjÜp¿úùnð$ó 6»OM[Æsy]J9oSOo¥^(6°Õ$¥'ÕSI9)uí§àðþläÊKû
g&´÷&ùîho°xxËHÔÙ
+`6c¤*@·º
+:¦84ñMÍn1Æå½TI³ÉÁľ'_8ú¸GîMÆéϵàQ$´b¢ÄÜSíÅÉÌÕ¨vÚȱz6AºGÏJ°\DÙ×J
+0}Ýp PÜöÃðDXpr4
+;óU¸³ÕÑLJÓ̽sF1ìÛ4²Kô"`Ä»SrNl
+Có|'Ìÿ«f`oOõ<®L×Q×`Ânfbãy@L7úÙÎ
+3Úx».áé ··vr"'BQ
+èÉ|BW
+r3ÙúuI^ÊZú'ù¸v.QB3WÆÜþç4
+%ÕL½F}¾4Ò?ë,:O¿²26¨b6:Ð{cÓäØ$Ô°Å'æâ¹j³Fä1EéTæq~êMs¼OTÒfß )f¡´±1¦ÞªgßWÈ F
+¶R¨h²º·
+~ô
7ön08Öm)·KiÅy
ÂÆfüK>4ÒòîXÃÒ=Çi-¹ñàýw3}Ñ_Kg½h<D·CSÎôfP6Õ~%\lXÞÎ¥v)ëm6t¡wDCë~úRâqM¼:3ô&Ðìa¼]þ©oåÞ#mq=þ10ÎvðõjMÖì_Áï¹Aã:
+[X|DaÌ÷æèuÜÍó?úí§_oÿY/Ô
endstream
endobj
226 0 obj
-3472
+3186
endobj
228 0 obj
<</Length 229 0 R/Filter/FlateDecode>>
stream
-xµ\Ëì¸
-Ý÷WÔzªH²,Ù@£ÛÝåEv4E]fd ³ÉïGJ"E=\}{pBuY%ò<$å+nòò¿ÿ^Äå*ÜW#û´»ÿüã·Ëß~¹ü'\ôÿþø×ËÛç´ÛÍ^¬ØnúòùÏË_yËåó÷¿¿j{¯FÞÕ«Õîìþ[ùm÷Ëý}y|¾üZO«ôm¿ÍÞÖ8íz2N{Üõ«yå~~Ò«¯JÜW?í5|½ºï÷«WýC®
->ãcý%à¾Ýõ×éLðòW+ÜNò¼Æ}Ü¡Ü~®;º¦rBÐ0¾×¢w4M\x¿Äágó>ãE¿Í9â´ð·ÓÃ_ñg]Ýï-Ét3È+îôÑYli>ÊNò¤ í°.Zݯ&=h
GÁÆö0±.öfð}þ{"«+innEKÚnL\O©´lâá>ä(ÌÝïRÁ å£AòÞVåa
-Å¿EAnð;ÄQòð8tBht÷é~QNäKÁBøìècº¯%Y4üú£ÁVp#§â¸¸^ë
-$²Dt`ôáGÊÍÀ*÷â5yÈòM
-cWo×úÝËüÑ
¢Ún[CÒS0jëâ/ÕͺÆ0þØ¥÷îuÈI ÄðÔ#î 6vMXsRR)Úa·îYéC÷jíK*²
-£TybkKR
-Äè3auݸ=;çzG?ìN\¢SÔYí¢PEmº±3¡?)¸
-ñ
-GN÷Q¦ìu &@L.¤ðfJ)Gt&¤(õíȨétteßOmNYçS
-#<²çd=H'"I^ÕÂKo~.Q@I¾ÍâÃH ñê7«Ã}ÄõJlòCíâÔùFª8Ñ|cNrQÜùÜTÙßµTöwz¹S&aeE<Ë¢¨v
-#Õe¦¡æñëmçic?JRiÊ
-oy0òÝú<sÖF³ÌY§ü1äC<Oð%
-ζGfª°Û˵v_(GÒÿù ¦Ny>¨"UO¹¶öÔ®n¬lêºqSuò+WÆ¥=Ü?÷Ú;øFØú.#æÖÏthúÊHÜ Ôß¹^]v 5Xµ
|Bo%
-g'LÙuüÛ·¡sÙ)äL-8&¢²Ö6B^éù¯!*Û¹Ta¡5áo±Å"qÄÉkyñ©4yĸ9ÖeæÒqldÇÍYb~Þ%U²=ÑÓÉ
a¯jÖåN(;×+FÑ©.<
-¡|åÐ $-åÑ7Ò9Ue¤F\Sý[ß$¤UtÞªwDñÕ¾xe#ÈÎBÒëNdçÁ½@"ãúCçX
-ªÍö9Pö45mYǶú£eÅǸ"bVËD&L<vHöà0£nBðѽ;üÙy¯eÙËÒ(^
-[½bèÐ1#gTuÒÀø-±¢RÌ3UëÂR_Ñ(EÊl[U|¹1»K$tñ*Üøÿ%/<hUIé×îÔ
©7àYÄéb ó5Ĩqr/±Ñd+®AH¨ÞæG¶
-?«ÂôÊA±ÖTÀµôý¸Þ.±Dk/»×
=]Ó#©®Ø$
-ºrwiï¢NqºÍÛ¢Ìý¬&d8Åk¬ë@ð¬Ü<8³=WQúÎLUâ;wjNÍ^ D¹lì90Õ
-ÌΩZmÛ!îOßOXºáE)§û¨ÔH鸡çz´þ¨ÜWw38Á"w:oµFBöyxFê ùïä²õJ*KÃ(Ï©Z9JÃb9ÁåU(»åtsåÇe3A]Y{ ¡Q è*jÒö ¼!´Sx&#§ÆºJÖ=Pi]´COûâ¾Ó)[æ3Ö%4@*÷â+fïŧñ¼{ÜoÆÍþY«U«Åå±_ËÔ»hkéäE@)ç?w¦¤.µÖ=ËAÝ°ä ð
-«@×Q-rJ2s<½hðÌÀB\`Ó,0¯íGuÈxˣŨ_AëZg«#Fï Íþε$²Ø'°$SâDåz,?é5fúUijPâÕøùßàÌN§,V÷.ef
-¶dóSV$Ý!<¹¢v|ÊcUSCog|ÕîkÒz»U®tò½÷ôVio[ó!Xµ÷irÝh|²·!²ªù>U¨©;tìj0®zÔ v`WôME*&´ë_Õ¬xøú{Ò'AÄV2B
OråNÀ ømX2f¤U%5¶«sùXDy¨éö>¸´Vî&uîΤµhøöóØfLC @}O{ª\JhµI¾bJµ ÔctX¿%óîDDÐiÕhb4é~>ë#×Ù·rS¼©¹é<yî§4¹Î¹À°ÔÚá8é¼!q8Þ2¼wñ%»áÊÉØ*1¥Élï|
-é¿6*0¯@ÏI]%åOõ.r@}Ck.¬Èë4o~Ðâjn,DÐÚÌÌßnç
- Y/㣶ôŹº¾tUn5ÿDáëîÙêá3èËír$^ Ϊ^LäPGuÛ3\Sè/ÜÒû¯Dâò_ÀgÃ4ÄzRµÞºoô¾D
-×fe²^ÜY5¸?á¹öÛA`Åß«=Uüó`ÕñqòÀzv:rà×¼pÍgÕ ÂðI3v?Jº?ã¡ìÎê/ÄAµÞ®Xɯw¡!A.\{F%Mb§:lU"9-Ñ7£hM"jg0émSæ6Æ}kÌÀK)·1cÀ¯¬]M/ã¾døBu¯<ÜúWU;ú¦?a'â+òû//¿^þ±
+x¥ZÉ$¹
+½×WäÙÓ¡]ºr¹PÀ0ß\D)eL»êêÌBz$)mÿ~üç²]þ¼]Ý%;?Kÿÿãò·?]þM_âßßÿõñùõá|ºÖKqøô×ß/yk¹´Ë×?/¿üH½|ýöñøúøõ8(ý £Q)[~äâ·ìJ(ø{ȵøüß¾÷¯ô¿äïôçòÕÃô0Ù/¥À°æ9å[n%çT<|¶2ÒR®QFDü>?pbÝ`ÌÖÅÏø>ñ°nþ ߳˰
+^ée-ãF¦xÍòd(°|^ôäeá+áó¸B(¶pmúR¸Âz`kÇQ°2[+¸UÂÌ°¦§³·uH`¿ á»D´[Þ_Vh¶XcÜo£9´{´!bö5m}LQÔ`{ÄõY¼ÿÆ51zÀÍ wÜOÁ¼ôÍXã~òhãµÍâ5-Gج¢¿G±¥
+¢ô ;ñ!úÆ_á÷ìEµ]±Yâ!n4<àó'øn¢èôÓg?¼¶jPÀçÃçæ;ÀÐôðØÈxúwã×}é¡{9ìRôF
+@ö,[!6Ì<Å¿àê^ð'¿'?åf_4Â7°¶ú*²Öm`_xvµAaî÷+Ì!w
+øw9B!â3aXQ#Ìo»w+æÁQOø.XÉÎ×£ß}-9§%wÐçØôÜ"+pmX¸cöD®ÇGLàûä1>üM¸|iY~¸ZÇec=¼äGÐ:Ê÷wÎÞêuVnj{çl®1<ù<: ñÌiììÍ1'üWqIJO31JOã8TOC¶ãȯʦ~KE8¢¨rYg²ÄéÝ&¼one¯udñZ¢/9øú¿?üËR¾,úÊï°wõ¾çLb1eDàRÃ-Qk»ßïÄS û9,Ò7Vw"íò±ñ0çÌb~¯:P¸K$
+bÛÐS{`>Ô6b.°i0W3éõ«û%{m(îÍZ
+Ú{ëFµär®÷sY´4Û×Ð 5AX¶ôMæ6r53xFÍ·ñÇ_ÚÒrSSoe
+)q"Ôe#.smÂ;v[Óø5[?ÔgÍ~é»\¥ËÿxifÙÒ¬;ìO¤L¯»ò wiײWÒ>9Ó7.m«6|×¥{¡P¤¥FIö`0U£¿=àq-ë²
+ÙïÏ÷²ÛÏ°wÏò{Gq9˵`¯Ý'ãQ·£Õºª7É{D{°ï¬VÍÎÙ
+Ù²
+Y«CqÍè±\l@JmjÇuÏ>@ÖB¹|pýÜA Á*½Hçr.Eaè
+÷iÊàÖ:¼6lÑ]§(u?ÇÞÌCiR*§ubÃm5ã)|¦ªü©´(Þ¸õ,4
+ÃJí§¢TFawQzl:lXÅRó¾èâ]kó{Z4û4ÇKlÛêûØZUIÖd´ uÖ<L(LdÖJyÖª}Eh4ÔÞÎóÍê~kcQÙB êM
+(i¡»bMÁĶÕm£tat×ò¡ü;
éWû$²¦r_=mX7æ9±x3±÷£Í§o7üT¾'Rápg¶£ÛL-Ú- ¯YÝ·èÙ¯><$a¿@æ2«q¿ ¸º9N§èmæ§Ç¶åÚÌAÓñ-
+6¡Ù#9è«ëùZqcEßð×ò~½ÇN¼ì3¸´ØóuäM´ä8IÛR2ïÀN«XËÍ*ã|-.6Zv1bìMÞÖ9»Hö;Æ9ó½èGSáÔ²ytjh£1P5ùD
+ ²±ãøÛ²PÆE
+9¥¥ÅÂÎmús5pìF9vµÇù?®OÖg#ÊWp\ýÌTvéB×v£*Gs~mF5QTÈèb9Í=4ÆðħhíÃhå~íÅÑfÙ¾Úe0þ y6JFcÅìY¤n&¥Þ¿ìÓ+%æJ.r¬/KO/³*{ÀµHµp%cìûùÜ pF×
+ÝZjÐQ¯ä0toÿMïoeà09$¡~è³74ÒzøXÞ$ÌÚ c'z8)YJ.1ÈcTÖvÍcö`UÛ;NáFÎõS[¥ÙÅÄÝÌÁÕ
J'FöPý1l!8ï<ntç÷#Uí©IÞ%ÑÈÙ÷ô$këA§pf,s<æ7×±Ã'õ¢÷[Ç¡9ªúw׳0ZæÚ!ÆIµ2ÝÆõ±x=vz»m÷t 6§~ón¡ÃÜ°ëûçÍhc³K!¹#6îetñòâÖG1ó [z{¡W÷OsÈÜP1ó®ïR "LÊí6è«Ö¹¸××)Znb<ö^Y;Ùc\#Hf)YtVgï
+Ò;¼Ð×C0(* z° o ¶pC¡5i7q¸q[b-±?Cðu×&â¹nÓÍ´Ó/G}eÜi³>Tpî1iHe»çXéUÛÀôÞÈ;<ë¦ënºÊòùGô1¥½¿§-.o¸HÅñdw
9>>²om¹¡3Âê:zð>Çt¾½ü?bÁ
endstream
endobj
229 0 obj
-3087
+2725
endobj
231 0 obj
<</Length 232 0 R/Filter/FlateDecode>>
stream
-x\K¯ãº
-ÞϯȺ@RK,ÌÄî.p.îú
-KZ°jÏø UçmVزÍèÍl{SáëvÓ
-ß×ÛQ)|Sq)P84° ¤RöÂ\¬0µt[kÉ
-Ä6¦òþÛ/ÌÆ}/𠨵(˳ìA¿êãúdÔ/´×JM'/]ù²Êã¸Þ¥VÓÐ
-óúóƯÀRvSmÙܬ ºØYnªv3¦$ww'P¿ÓäAdwf'?++ï²5 JÖÑ/ÁiÂ$£»@¸l;Ò{þÊÃÖ5ùäAãspe¼l`ÞfÃ0O`iãdÙ0¡¬(Ôi.Óþ"zÚO7gÝO8Ýb¯¸09ãM .âmLt¤æ4ôÞ¥¢ÑÇÅk^µÊ²M
-å·ì\uY'öG±ùubÏâÛ@¤?@(J¢÷¥r¨®RÞ`£¯âV+;OëïWyÎcàg·x±ÊÚµîeãd
-ĸÉà`Ã`¬`(+ç&³£þ¾/\)yùZÃè8
=o¬®Õ6MÚæ](¸½8Ñÿü
ÌãD.z, à
-¸(Ý/_^(Æþ}N`®Úþ´r¨M%èV¢s+iʯØï}dÏÓ0÷sK¥wh
-úî¸sÁ~êÛ°h§V.Y¦Êío-m¬·) ì^¤õ:ФM32ôHWLY1qd?n7âv\ò:F$è8ºzI¾¬ÉLÊÑ
-îz4°ÀC
-¨º¾*p ðMßL
-Y t9Hf§R¡(KÙnòÓÊQ¿»`2$¹pl¾êÀå@L¤³g3q Ò§¡ÛAÔLÂw«sªù¥hIY¯$ZH
-ú¥15ï¼áìÄEkÌË&-õ²iÚ¸q:ص¤q-òþ2¯$:¡E
-²H-ÖDL r{^Ö
-ý!¹9kTx°
-öF<ÀÉá
-,i
4nÎTÐQ
-EaKlæ©ç0ð0ÄÊ
-»x¡Â^ãÑÍjê®o´ê8(8B1TÖ)¼¯?å<Á£#
--Ô{Ú\+ù3ãðjëóCñ ߥÔóÒ$á'¤g">|tNÙbÔ¢Xò°>ÇÊ¥&u¢;sÃìfzI
-ôBµ ä벾䶤ú"2ü/Õ&gGT-Ï8¯-Þ Õ¨Ò
-2:kÛá$ÛQ`ÝÛOE^_þZ+º¬CÀ1°Î£%u=qÕ¹T!UôÖ\ªÆÙÍÀÎÔF RH"8bäU eÉzªZ
-Ö
-Ø?$ÆÂ0;®jÅ»Ù}RâR*éjF¥¹ö¶%/h
QÇ@}«$J'zS:|MsLãëj)Þy'²zÊSkhVÐp ×ôÌ\^ÃRè\¶UgZí¯Åp@¾ßåVÇ-nå×÷l0èD¡hÛLkµõ]qI0î×#m
ä T#ô>*ÜÓPªÀãHh1¹ÎVа l
.Ú*+Ñ«óÃ}|ípÊ>²Ú7÷¯§ÓýÚ|×±áwÀVÜögÉtLÁ:ÙÒ-ÜõmçWÿvâ$
-?ä}Ùz&·hÊ
-qÄ'°+qåä¸`|åábÓ°Ï+û²^ Ü^x%gØEÁ9NÓ»óäOçªqkVd-ÙöØ<;Ââ\sÖù+Òw&¥:_ì`R@±
-UÞpÍ¥§¢ÌÓqÍ~ÑäÑ%ÊÈ$ø²W=éëRÈ| ÛyÓ¡iFk-kJ
-·K×EºD
º0H&Zw¹>À/ÕB&ÚÉOÑÚ¯ØÒDE©æ ¾@ò§åÒüAÝ·e.j±XÀÀ`ÔR¿2µB1öùÉo¥Rj8jë¶Ú_úL/ãey
-£Âtíæ2ÅPÓùu¦`ä²Ï}£3L½I¹Pu¯äz _b8ªvf¡sý'¶YDí×úX¤4så«zíèÙAÙ&?¹?T;,×È[þBbX¹¢TxOÑ#ÐYQøOTmÔ¨PBcO/
ôP¡HýÿÙÊ·<sü,ÍÖæ$qF20*±©¹I¥5¡>¶1IrÍ(¢ñ-Äs»ÍWÕôF¥mnWSMã
ÈzZf£¨¨ï¨ Vó03lc,tÈ8}¥d;
-L§9>¹Yw¨N ¸¯ÀViß8;UúÉ~Ý]Ì7¸ÑVØr¢#
-õ»xS#ñ¸Ïé´Ë5$ÔRiÌk.j[h«ä¨q (6S÷úª¯ÇøÊ6u5¸9s¿
-Ô»ZWû(:iÿ) aGÍé¿YuÌó÷Xí[C|
- °¾ÅUhèèï²®mÒ|óhÐæsý7H9G4ß7ÑgSJÃbUH®|DáÓû$}#S®ÞÇ.÷#V,ÛØéèb ;IÏ ¾Ó¨q°ÀÛ]¥¾{ïúU¸(VôM{nÕ;·Jr'ã9ñ*ì©«îyÀ7MuèÊ6³ÐâA;ÒÍó ÝãµÆÁ¦÷/Qª_ü
dÉtÇΣ¡k¤°®qj·l:ö¼ÉAå¤yÉâNAJ x¨
[+s
-.wÅjä¤IæPƸÛÐFUÜ1Æ`Ì1ú,°T»ÔÕʯBÞíÅ¡`¾ÖrL½Ì!öªïé¬+PÆ*ñÇÈÖx&`!V>¤srC":ÍâI,RÂ$G#Z
%Szvq°ZÚ
&H)άÀóêiØ3{;ÐÌý|Lt*¶Wö¸ç$?ÏsU*çþ9
- QÕúÆW&Ùé¬ÿC¨EÔêZ Ûè x\k0ÔlAÇP2#ÂXKt0l/,
´úØ1ÃSî
-m²¢YÁz£×ÙäMñÔ¨s
-ÑÒüñB1
+xXÛG}×WÌó¾V÷1¬uɳA> ÎBlȾø÷sªª/£@0ÞÕJÝÕU§Î9]#3ý8ü3é9Ú¬ÃÏ4óÏ÷?¦ß^¦ïsÌÑÌyZÿ~ÿó`&3Fç&g3ïy{pü+>ßÁû)þôöuúéi²yº½M§L6(&ç?M·¿ÛáË*7é'ö5EO5Ê.D4SJ¯ñÞ6Ú/?aÝt{G= 0ÌØtôýkõk"N2ñ11¥ÿÚ`hÆvدÁÑ5ùäC>0Á]¼wFN¡
+ïúR°{ÙLÈ{|B4Ü5sÿ»h
+ç^³ó. PD©cUð²P®äl : ²pJ¹7W1
"Vz^¿¯¬ùB©¸X+¨RØ%afu.Iø$ÚÖùèý\É ¯Ù¤wò¾%õ$8â\OC{ä¾úLòþu÷ôÀdø6ç3]w÷Ýßwg2õñNdp)9ÄÔLF7 \ÁÊ*ÍP%
+¨
+Ód¹DFwQ.÷µî ÀÂë4Ü×^X¢ÊVµYÀ²>ºÚRj¦`ó±fåOäÀÔºËpcXCÔ0\±öv³g3rw{n<tÁÅÕZku¨æ¤bç:Å·¡àå<åtMð§ÍIPÿ,gÌÍ`inëéào¦_ðXs+}d×Sm®ëÒE[Î)êUó@+¢±0û¯AÇO4¶³oWU=Ö¾j=ÚÓ<|à6ECºÒ5ÜÕT0½G+MÝ
+Æ»S++k.ëê×X&±Ñ|e<Æñ#B6£{E\_¼åÚkÃtZÆ
+ßùíE 0¶3»1dë=£uäÖ±Ûõ¬Ý;ý
+UÝ!"*&Ö¼@êa¡F«LjMíN!ßï¼KñÀOK;8=EØ=7èÆâÒkàrÏ(]H2GG-ÎÌ3¹¯ñÉÊÇ5zçÛÐÅAQ¶îM]?ÍÖ×CLO®óFãHF,«$.2ÐC#¡jyÖ_¹M2¦Ø.g|0Ä.:Thmÿd1ë<}T³hôé6qªÃf¨ÿ²KÈç·gÃá49C5IB(A:©±lt°ª¸æ^©t©F»ß]åóF{èL«|óÍ(Ba(¸p)¹v%×oÄûF¸ØÚ¾üX5ÅÔËÑÂ˽\סuç'0;So×^xN,¤ØäQ¼ÉõSII+¤Ô,g)g©æÙu.±àz¹73ùêɺ@êç%EAYn@·ÐôÌ-©åÞFOïD ÏsSø:íjÍÎ72à¡k{0
+Ê\0Dõ)åå
+å[O5>1iw
endstream
endobj
232 0 obj
-3527
+1332
endobj
234 0 obj
<</Length 235 0 R/Filter/FlateDecode>>
stream
-xÕXMoä6½Ï¯ð9§ú&qÞ¶ §¶Y`Ñ-нìß/)Q²dKö$·E
-Ö\
-`ýÁD\ÞHªósüêÅ<FaqUý/^0sØ.ßÞ
ßúÅ[#¹¸ù@dô{µi .R*×ùþ~ÅDê¾Ó§_äé9ÄÚ×Î9ÈÿþO÷ÛÆ J¹³®tñ`´
-Ã#'%<£«s ^H\ìêi>º<»ÂÅÂà!ÂòNé(kÊÛ$Í
-Ä /¢È'U#ª¬xåÕ2òàþ*¨Ü³Q¨ÓñPvXFØ *m~Ü Ï]ÔC8P´
å±-ù@Y1d\WùDOK°®ÄëKfG¾
-2ì>W# hýÙO-$ø¨âÛ6C g!ªíʳø5å¶nÖË«vHÈ
-ßÕ(§Wånj¶+^ß-NJükR'vÀ51ëZTÔæ¢E<}YC¤%tPEå·BÙ³Q%vCYY±ÓähÎ%ì
×H
ÕPKÐåLß
-váYk2\n¥°ÀaïáI3ÑYµ=K¯~íörï"O'K*?dÊR·VÐÍÇNK*4D[g8W»xB\«Ë\[Â-w¨/à£Ê׬=-Âò|ÉÍ-ºIô²>r´Ê1øOeÛu±åF׬Ø=Ú^#ØA³ªäK}ÆÊLev´{lR-?æÉÀhÌÆ9gÌiêR~X94Þn?OfÔ[â%m÷¶:/zUþËV¯^
-¯ó\êð£åS3"£IÊQ1Ϊ`ñZhGGGùÖGÔ(dkmÆoE¨sº:²ÛxrGªÊµªUî+
-ÚÜÛ7æP»2«§A[ûçú[
A~ÙÈnÝî©î", `â·´Ûu®N±÷r@¬BÎ1í^.YélÞ)-Ô²Éèã½%.òãb¥i
¡/ÝS¼] g5UÚuZg\Ù'Ç º©ÚF<Þ¤ K·Û/ÄH'ï_³lÈ@ú¬×d`·e;9m¥Ü;Xç¤Å[mÃÙL°Èj,Ü¿=>uÿ*ù®
+xZÛ#9}÷WäóÀºuW
+·ÓÞç^
+ææ;0ý²¿¿qQHÊät
+C15ÕNe('BVËÿ..jùºê%h¿cÂß?~]~þiùâÏ¿ÿuá?~ü~ùöq1ËÇE]¼®ñã« 1¹E/Ú«_¢rËÇ/_ú
+[¾zMxÆRpÁGí?ÿ\ïe®×Âê®ëòñËòåÿÔ¥¸°o½kÔÕÂ[°æ«½ÇN¾}äu>¦¼.ª á«äIx?;õí~:\¬¶°þp·a7êhóuMÂ5òn,º¢~ôæô´ù¹õW-Ïu¸»¼çê{ÓpCéÑ´X;¦Y¬ÚË^M=ä8ò3W}-à,ÏhfÞôãiìÍ,kß=¾qÊïÅ¢ÍÁppÔ£ÒyyXÇÎ>Òyo1b'Ïò.Æð4*º È,éhJ¬Tñ-
È#õ,Fþ
+jrÔxwM¢Ú2PE\bѲãÅÙÛÔV½
+Ákd+¦Nl`Ý¿4Ne^ÎvÝkï(Åi««-%K¾é`Øf¼Y>o
+³²lÌX
+ÜbÍVmÄÎI{|Àòú8p
.ø» ¼
+kù
+9JÉè~GµÁ|
+åxãM3û£×â12O¶uê(¡)o2AhuDèFXÐ~®dsº<4ÍQ«ÁÞÒ
+ÏÌ2*çv&s§ÀäµV)¢ºXðr8ç3@½?^U¹ë+\Y`αQÏHºÑã⨽(fÑb&Y&ÈØÚ³óÂ*f\]ÍëÑ`y'E!è}qí<kd¼Øùv¤^¢2ä\që³çúDÖ3¿ä3éê¥0¥¿.ùõNmîÖAïí
+1Pº $éNwqdrðIרvEQºà ø`úR:g[vÞÖ8½Ûc±ÍùÍù|BJôÔIJ;º¹ÍÃÍfÔfriÂs¢Mrö¤è§é)ö{ ñ.xeN éR@¬\^VÔËSÔ¢X=jÅGK)H¾Ávùt¦Åcerʵ¾?6ÛäS[{K»ZÛØQp±Ö
+ár¶#0h°TÈ!ùCíº8ù1yhÐô®k?ë&q
&mg4kS[ÂqD+|Ææ=u
+ÛC°:*é¦ZÊUÖ¡ÉåV^QÃó\NAµ6H$§ûpI
+Þi×a¬É㨾&°:бS®õº½£×jTê£.Èܶø"b3,>ÓyÑUÔäs;8÷:)Ù¯¥x/ö«rOð§:f'ÙÍ8`.3pPmÌ|/±;W°Ò%q÷Áw·»Düèfݯ¹î%ó<ÕÙâò³:÷ÞwÇöêá¨.öf}þ$̽ =½YmMö]-Í*$ä}-óSGC-B_ÞÔA¦ü¯X
+V|dºNÄ"®U£KQ¨y@ÕLñf§¥Vµ
ÜXðÿ1Äiâ2n!NÛúêq`ªÆ\^¡
+ ¡óJ3.ô6KnÁ^,¯Ü¥z·'
+P¾tHê-WóO\,Àw3Ñ´² é
+A°w©£qÆã
+ÄØf´-
+~30â 7=òÚQ]óC¤gù÷àâEºe¼0åÄÏ4NèüÂû$J~Íå¸Íø«Z(]µ@ëëæ!¶ù̹ÓIØ,³v¹Nâ¼!`HyÛvá± 9{â.{ß»ÀQö~Âà,§/åêVyUÌõ=¾xö ò"W'¾8õ S£/¥Ã!ľflçÇ$ñ^<m
hÔÑhS¸#ÿW¾RØe³ÍHëx=S<ÿæ±²¸¿ªSoÛ/#=ûáh8ÊIÎÞ£s¿!ûàÔsÓy³(=i¼¹³¨OÓ;¹BM<_ëå©LÜËstO.¸jÖBaÛh9=½5nz%öîE/¡æ/è²Ë:ÓrUÚ&7jóÊÅ©:0?jZ>zÇèZ4´ªOªPç¤Ê®óþJc<0L}ëûòt¿
endstream
endobj
235 0 obj
-1361
+2423
endobj
237 0 obj
<</Length 238 0 R/Filter/FlateDecode>>
stream
-xÕZ9ì6î÷W¸0ë²l`0ÀìEº,"HH ¯Éß(QuÙ=`cÖ(üô¤4ÅðïË?Ã8F÷sÒ=íÏï¿?ÿ0üí?Âß÷?_^ß^v°£>áí·áÇÐÃÛ¿Ìhåù NÓã¬Nv:äiZÜÏIÃÃÀÿ¡Uç_ß~z¹¿½|+¥K}\iÖA¶¢õÙ A'9椮´é ÝP¾GHÈ
-ªîî{Ùq±
ÓD»ßÊ®÷cà-þu9ê¤ ·kymq\k
-꤮QǬÿõ
ÇØЮ¾Á5¨§N©©çÍ¿LRñB÷ǧºeKÅ(4iAò-ÔÏÈûGY¹º¿ýµ;F0`2h
P¶hQ²Ù94ÂüøNW£Î⤥¿¼ÃËðÉèñlí0w>,áedQ2^òg>æ·Ý#°}
-å\Ö
-ù&a1¸fsø96ô]çÊ=+ ¤Ì±ÜRÅ"7d8¾ËiÖÁKZðDõ6ø}«Å6ø%ØÝYÌàs\1`S«IÂâ_À~iìàST+q
-cIùuG£hQM&Tg
-ª6S4c[ê:*¯nâ@
-÷,öuºøñn òлouwXg»q#îd»ÔØÎo$È!3q§5ÏÌÇK
-CÅ.ì± .Æcd,(qÊ,|,B}ÛX¦Æë!U¥1Z¸¨$Q
-½Ç%&ö"ør_dDjuMúdB02=sæ8¡weý-py:ÎMÛ¯sj£à3ñXLõ 8¢©=Æ(l50Óär|VZu´B ²ü«m,ÆrN!úÆR¨fºÌ ·¢e¹øYÒeH4vó{¸pt´6_Ü£ãÎ2#
ìݤc)ep4FÂ`M×5jÖ>w¬½¶Ä#çÔ¼¥ZVf9¢0Üaã!ØF¡cù\h
-»ÅÃ~cãfI|¦þ-µ° ì¹è=9Uµ_Ş.ça/=DJ17ÂYüÝ«°Ójo¢B-®_5£ÒK2Z ©þ-±
-±0"qeÙ]ZáoGwÄõÒ
-Ï$Kö[)ÓÑÚÑüB³7ÿ(Î^¾<<ÅGW÷ 3}½À»×Q4åi z§Fö=nÐCÁ¯ôõ{(è«4ºÄjíVô×PÐÑJÐiÔ¿¤¡
-D{Ð0è+@¾ú5>µ¥Û§æ/¶e!*!aÚ¼Ï:åÙiêëWlBÁùÞ³&{Æ)~Ù
¤¶L²*|"JñkMnACyÉ«ÖR
-ݹµÄt¸D
-ËwIÃ>Òg·ü©R½§»|¶{Ó;ZÁcÔËÊi ¦ÁS>¦5¼ß[ÊL±"ò°[SòSÛ×-ûÀ~µÎäí³ ¶õÚøZ¹ý#ØÍÄb¯Ð.}hìÁOY ]b?jlü¾f³q7yØÄ_]×{Qnðu?¨jû2/ÈGÝ7õLó}Än;ì,Ó
-_rrÚ^·ëuMáFAÑ[á¹KÌewç²6s7FßyìNâ³2fÊYW
¼ìEhJ :½íçT'1¼®J([TKÙ¥ä:¹t×úöTÊ)ì[7ÖNe¨pÃjy±âÏ+P¡ÖåÏêæOà'ËKÚ)ØÍC¯ílÃÙ[µiEu#¤åÙQH«toÝÓuÀT!߸޵Rmã¥þ`û«eŬÖK7qøeµþ+£ìÞ_©È4ïÝ'k@²Vå]9LªÚº©÷NçW®Üt¾±Uaî·0qdå§Få¬ÿÇ.0ÓÚßÛ©¸n×HE£ÔßâR<ÏJõÆt ¶0Êk~8øOF$öîÔ"d»l
-û÷@ªS@W[ÛI}T>qí,?û|73秡ù¾&Y¼ßpÉ»|6¥uÕ UÅù½ç¢·â½ÑUí÷X²Xo´`ã-ÊSëÏÞyw+ðÜîîuBc+=uL·B·uW_³bpæªßÿ
+xµZË®ä¸
+Ý×Wx=ÀÔXoèÔ#ëI.Èd¹2ùýð!´,Ùuow£ÑÝVÑ"%ò¦=O\þ7ÍÓóÕLÑXø7øïïÿþþÃôßË|]g³Æ©ü]ür]¦èü5MÆøë:åêpÊo?\Lt×
Öø] Ýw³0P¢d>Îø+ËydÐÁÂâÈ YØ7eÍ<ô þùë_.|»þóÛÅNo¿+<xÍàÏWÓêÁ)&ÄkÒ짷÷ËOO~.dSkÄ+÷§éíßÇÛåjUÙâÆ|ûuúéiÉ»¬ÃÇ%;»[j´¹ÓM²¤w W\Ìÿ9y;Çg ϳép¯Íwg|DÔh->®tø;»àÐäc ;hÆ!ßãÂ6Øv±,Û½ç5<W@£Ç»dV¼îüM`åɼA at u½}èí,å³v
+{N.¯ÀG°ýkt´Þ½©;ô!8o-øЯÆYsr5r¨'Þ-Fí¸ücÄF|J©[#ë¯ù·9?Ý%*xXyðþýU¢ìÍÈ¿~Þ= a£Õ[}G4Bªx÷®,Eý
+cÞ#ÕC®F_|å û3*ÄÞ#º+&#øáVb[=}½bJ~9Ñ
+öàÄ-Zð§§h=dÿ¿LèàVÁ¥×$
wWr0ø>kóõ¦¿åE¹W¡¿O¹W©¿OÚ)VU9¥k1Eºî+£Yª¿2¥Ú2:;1J×b4²*Ôãj´Jõ¸Å4~6Ê×Õh±êq1*R=.Fbb1J×b4²*Ôãj´Jõ¸mTwñVqØ
EØãï(Ç=v½ø$u}Ác¬U¼½ï6£Zpo¡ß pÑ\¶`ªv³-¤X´9,£6ÑdÔf®aËxÜ;9(¥q×?´k?¨¿ÇV
+>¯ÝCýðàKZ«v¸qó©e±¢'®RNÏOëá9Ýt'd¥/ÙvãNÀZìÃûº{` ·`Õ¼¼_Qh¿þî÷ÉbA×åo¡`³zèÏÒ`õ¥G&]µ¿,Æ
\µ¬´sf-þÈÅPjÓº nYp8hÛó8lèÃVÊQócU³¢4k,í1µûìµM¸oµ<Îû]ÇJÔï¾°nðÍnÄo ×ÆiDV³Ï?GÝ7nåÛ8vO÷ÉÂf°¶m*áìDòxj;ÈÄO߬NT½õ¿
ê(p
C|¼q8î~Ðr»æQ'^ÍÀ8õ30è+2°ç¡ç_WËKÙç}ö½Øl'W§N®Ìþø%æ3à,i5ñð×ÂÉ1M÷vZF~Qû ¿r9Àí¬¸yÜ0Nê²>ç£?ç87 ´¬ Ç ³ëN°í{GúLE¬õÙeaÑ/j-Îø0¨¿'^Â[âÅÿs]* Èä,Vh*"»&Uw
+µåå1µYĴɵè3Ë(Qq^QeÜñ®BU±6GD!µ`.c6ZÝìÈ.¤O e²ÎÈÎ8aïð?®ê6®5ø´ê{ùóËÜܲ%RÞÖ½ÜmÄ5Gîvßx/ï¥>ÏLÎg{+dBöw½ ¼ÈÞ¾Zz_ª¢ôsH$*M´U¾!28²RßØø£S_Wð|ϧ~OaSI¥Ú âhßdiâ]@Ì×窻*ws/ñ(UFh]ÄãƤÏâýåÉùOÊ
TµP£ãÚwêm%F8bü(âY¯£OsǺGE«niTAOR/3tÍÍ»NlÙemRu[°º§b7µ*8åQXŪoz¹B÷gú=HdÑÒýGçlgøO1èæ}î[ªµm·]<|êáq±0RÀCky
+S©jMò+rÚÚ'b&§d×ÎèiOÂ2ñuei:êq!ÓDªÇ
òRÕ;<6Ê×Õhé·b´HõkB1Z¤Ú2JÕ-¥k1EÙHêq5Z¥z\bBîá4ª)£ÙKZ1b·
+h¯«¡"bå"ÔãbN¤z\L*Å<¨ùb®Åhe#U¨ÇÕhêq5Ú(.++;´*í@¥½}K$exþå¥ÇpGÿ8XâÅÐ$ÜrÇ£î ¹
+Úuì@¹
l]dFX©{m9Q[3d´MírÝfâ÷âßݺà+ÛïÈ¿,|7þ½oïÛñïýáß]Z?Í¿÷ç¿¢³´G³´Gú°%ô
+GÅ¿fè³ ¸× Mñè:GÌ]í§;¶®ð¡w´öBnv½ýÜìëy)7çÐy@¥k b¥¾Ld̾G+&!yó ¾ÛrhâFsTÖ,ÏG3+/ã·(¸ó¾ñ³Úu˶ñ,ªÝOþ ÒªpÚ¸"óOZ¨¹Ús·ÆWA Ñýån"Åz5«hõ]RºÉ3_WCx~6ôÞeQ'pÀÓÄÿ¼âìë f~¬TÚ[¨'py£Ñ{VÆYUØW,Åm*î_ä
+[ýuø%ì`ϧñÈPµ³îÖo¼}¯ãªUv¼ó6*¸zí
+i´ÌfVWÞìÅñ!ï¯þ`Ï<{ÀÙÁ»Ýë>
+Á¸èuÖ¹Ó$ëǪ&Vd:±¾5q²
+4½ã1ÞêZ±ðéê·ù#ä{ýðIcè[¢{ÏÁÛ{s\´OgµÏÒÿ®ÖÍnØ£³ª«ZÍNþd &!
endstream
endobj
238 0 obj
-2464
+2538
endobj
240 0 obj
<</Length 241 0 R/Filter/FlateDecode>>
stream
-xÍ[Í츿Ï_Ñç
éX_
-MÃì¼î@n/ÈaÉ)ÉB^ ¹ì¿RU©T%»{ß,
yVú.åÎæôËËNÓéuËÙXø×ô÷¿?ýùÓ¿_¦ó:u>åò«Óì¦s<ãán³çôÈÏ?¼%0ÉÚnS$÷æçæpvmÎ6Ó¦ú9dç¢=û>;"
-رÏi
-»dô(úãÇ'§¿~w7
=}üüÓ%¸9\_í%Úë«»Ä9]ÏëÕ]f@4æÝõ/x¹}¼|m·¶hÅÓÆ´£}ý^ðù®¯áâÞcÙS³WÜL¦8äén××ÓlÔC®]"
Ë|Afci(>³Í|yïû|K·ºs1Ðv¼5=J´{b=+fO²U;Ü*yùFº
-·dÆos,l
-3^ÃBUka(Tôbr»è×Â)ÌBhz-,U
¥P«ÀQmV¡±7H¶bI¬£ÒIG£Ý
-±Ç¨íU"Ûá~Ìì;¸õ
ä=ðýhÜÖË:;·©£×Û8×ëmPêõ6~¨T
-»ùæÜ;ciléØð·+v tãñ18¬ì¼¢&Û-ü*ÖS<èü±¹ÊOWjG-£M}ãÖÉö8a·×´Ús,«_fðFo+²´WêpXJËêãq5Ø7ºóÖgîê¬ôh·«)ft;¢%¦èìÁïÔÙR/½ô_%.gz:ÒÓÇÞÈ_~[û¼Öàæ¤ÿë7x;\N¿Ôù÷j0àñ¨ÄkÊV¸&WvHêùä
-æíFðÖ;9ÈÏƱtЫÌYég9ö^MÔ2¢u¾_ß=!ø±ÕS»~Ktè;÷FcÓv¡ p&«ëú§ª£H¦ffXRáh2Óa¤+kþ÷b®u?W{»þ&¹Úcä]ÎÕ5¨6ÝI`ïÁ³ã^SûÛì¡£ô2X,VGôÀ:.®G¹ ÚÙ'jCöêé»dåþßÒ·çÅÏJßîÞϦo0ùµ¶¤o*çy:
-â[µSÃ0xmq#¯ò¤¹¡Ql<©ø®HJ;F
\Râ8;îþ´pìíýx8Z($xzªxsu}"éÙPWtįòÓvI7»w¬¢6øcBr ¨úµ_)°SûOïPÃâOhq
-Ú
-úïÁ×Â
-×#ø±{l AÁ";
-KÒz>!±Gpú6Ùÿ.Æ~cØéÅtëÿ#|ÒC9_[ûáѲîÛ>b54LüøV,rì`S('ëXä]ãÄS÷âÂ7ó¢n&Û1É¥* tUмü ±ÏuvϨ¨j´ú#^,N<Ø5j¬D:@;zÜËpIÁ»£
-áæªø¨ÒBn«l>;Oɬ'kg+ø£ _øágpÿGaãT묶F]+}èÑÇftÔr̯à R#[&¢M}Îâ-:¶+aYNÉá]ÏJQüÞêÌ¿/õì¡j
-=æÕ#tÃ5e÷f<]e°~å
-ø÷²Ê°°PdÛL¿E`x-L¢¿gP2U}Ñ 1Ù 51t«Àþt-¦×°PÕZ
-ÚÕÈ4®3ÃL!
¦×¡¢ªufX¨¡·¢!]C¦0¡éµ0,TµBôIÚXÒuf)Ä¢Ðô:³TTµÎ,UE¦úF¦PØù´(®q¡¬6)Ó¢V0k¯´-É`D÷~CmcçÕ6Îig¹²ØûQ¸2w9åòî(G÷j?ú÷CµªR|¶A¯·i¬×ÛÓëmèõ6ÅäÊÅ%Ãê¿~vÕßä·^uy=9¿êïñ ,Öï_mwè#â}ÊÝßø(´Éjü¦ñfú<É汦E&öpwZAê 4
-¨;¥üwóÁqÎ-zZPåh²@Ľ7gDT©ñ
_ê_5SÛ&p¹@Æ 2z#»ßrÜ,[Î
-¨d>Áø;·õYP`gç'qigÃy0%FöÇ\
-UrSªà=\g¨dìzjãâËÀ¼}rÌÀð\±0¥ñâVÀÃÌ4f£Ò3éR)b%õ$ÍänS»_êJ6â2ç3mä±Ù$lÔ;2]Sº6Éð¥*iàJþx0ù; öiéßÛûÉ`á v}±º.å Ñî0y*ºó]8Ù4MË4¦´éT\`uËó*¿DFKi®D3£',<
-ѪAVú`ñ/zóû5ÏnhÂwF±Kæ¶òFÍìÔ«¤!KÝË «
ÆNs¡SIÑ4î*)Ã}ZØL©h`×L¨Øl?jHÂjIfÃmç¬éØêwh¿(,"Æ°ßd|Ì÷fC½mrHUa!§¤émFÍëã9c<a´
-c¹:¥NÌ9¢ç`Q>w8ø*£·{Kåijqýaú«îMÚ|R}vE¯¿ú¡¯ð®a*Zx;Øá0ðL{%,Ø]|lúâC2,vc=°o³sS¤eïR5~ÎLü{ûèõ)n>4Ð4å£7öNõÒ:KÜ´q䫨±©r¸ÅQBw¼MhÑ÷kfk?Ë{öƯ§ÿ\
+xÕXÛ$7}¯¯ðóBzlÙ˳} ÉÛ&
+ùÎn0yßÏïÝUÕ!/ËBO]$Y::ºÔjõ6ý£´úNïbCø
+Q~_?«ß>¨¿ÒKù÷úÇôñ<¹ÞèQdô.ª`´:_§§Ùe:Qß»=Ç`cÏGöHÿ ÎNvοCÂÄ)x¶JEÊR4Û=ßÙ²GIîx>Á¿äÓ7ë¤aâ¸þË4êªñ7ݼ¨_ÿý|4AgyÿN´I°9Z-Ñæøm¹eËå¡ws}.&ÀÁLU1;ªoMy67¬Åy.¡mQmÇó¹Öų8˧òhÇM¾%vç<o7Ïì>h±t
+ß
hktÞî|Õ÷H¸À-úæ65ð3dK¤xöþØ}ÓÍÒ2·ç&Ü{,h»B¾¥ÇÈ»#%<I9S¢ØZÑ*DbIâ½JBJÆ/·h%kìV(©à·é ;Û "íSìBØ3Cî|Å-¤·ìH'0á¼Ïç6~Þ>îÄO˹l½ï\(û[^ä²àoLÞ·±<Z+¹#¬Âû¼©k
϶Ê7ô^z¬G¯Ø8sa d g\À*ô¿±6[ØX,§©wËpIC~Ï Ö&L×1}4ÁTí%Á"ë¼·RºCMyñÊ»á
+
+åìøvéAB8Èìm{¾©-îÃö
+ï9G0²5sI5úV4c&ï{z²$Võ²fÏóÒÛJ¢Ôg¢$kìzJ#zôQ\¯®
+:-é´ßÎÌ°uDßÉIu,²8I
+ÜG%êyè §¾?xyÀbûÐÇÜgnº2ü (ô"³t>@6
+ü@áô¥ BóÒµÞ63`RûXEó ×-ð¯?´!ìn;
+CÆx1È(
+yøæA\_¾Óðz¼&¯ø½%Ù³^)^ÓÒ¯Îvð°²6+zXu°{ÚÃb¨À¸Øs±=;*#æàµ|z¬Y ö¯éX¦Å&K§J¹Jb«íüh
+ëö>gÀÑ+ 0Êþ?¯Õ°ë¬NÖÊj©]ÌrRdeÏÀÇôÓOWr¤+XÛa ¬Êµ¸$ßÙ?Ã"èm$EËuPW|òjïgüZLX¯È^Ú|
+'ݼØJ×tªòzm»tJÑH§~]¦¯Sýðûö<nX¦ã¼èÃóÔîó1òµé'õ:ßùÓÿódy`VÅRº¾
endstream
endobj
241 0 obj
-2744
+1424
endobj
-243 0 obj
-<</Length 244 0 R/Filter/FlateDecode>>
-stream
-xµXKã6¾ûWø¼@<¦6ÉÄE÷Ö6@EOÓnIîeÿ~I(çÕ(ÈH6ßüHQè¿u÷c¿qÀàoé÷ëïýÏú?ÓKúûúG÷rì
Á÷ÆÁôÇßú§Æ ?~úeëö;Øyç¶ÑF·Û¸mðôä@?´f·1fkFzç`g·L&¿øÖ20DXªhwÛLDl÷;³
-{⸪v3d{ØmâÖÌ»_»Ã±û=äôÚ«·S7SÿMÜþñ»íO=¸ 6ïýOI
-7Ì}sW¡1d#¹nê×,åÿl&½·ì¦ÁpØDLbyã;HØH^¤¸ÏÌyÇEê·Pè$¥ìãs¬¬
-KÑmQÆ¢RIûפ}Z¯µÚ}³86¢
-ÿfÊ
-Åvk¯ôª%h©aBá9½ñ5ÄÊEÇazQ&ÚéáA8]u
-1
-ï
-H~Âe35Ê¥F¬`T¸&
°(9VÇH¾ðãY>¬ÀwJ´¼]RÓݤ-Ôç¾fÐ4p³!Wß:÷ãP@Øj%ÚÕÊqØH¬¥u-M
\
ñ(ÚÓ¬i5Ø8àB¾o´g ¨fÜ
-!ÿ%¯ëV¶"ËTåê7Ç
-:N©?öE§`º
-fÆË`Êý¡94çÀgê2i²[;ëÈÒUÀ?Fè2TWvª
-¹ëI
-¦j]ßz4"TMwô+úU^ËÏtj«$ñn`íåF[?ºÑHSfE¸_;îìlóÛ7Ä5>îݽî[DqKr!2d=@©át!´ÃÚ{h.aßçr_,®CÁxl~"[GºÏNü}éÓtÇ¥A(íèë}^1f¦1Oßóýë_=JüsÈe(ôæ#^¾tÆ!öÖü=uf´²8¡>SÎ×éSÏ[ÙÑèm ½,'ß:ÌPÞL'%¡5K]Ò!I·¶éûÜåFÕj,r:ç1秺(;H»s¥åõ¿oyç
-f\8ð2²¬´FËG²w&a9d-²ò´kWveËuø1¥E
ÛZí,à
zTê¬ÇgïU!®?wðU
-¦RX-IÂ ïxQmÿH\£
-endstream
-endobj
-
-244 0 obj
-1422
-endobj
-
-245 0 obj
-<</Type/XObject/Subtype/Image/Width 1128 /Height 645 /BitsPerComponent 8 /Length 246 0 R
+242 0 obj
+<</Type/XObject/Subtype/Image/Width 1128 /Height 645 /BitsPerComponent 8 /Length 243 0 R
/Filter/FlateDecode/ColorSpace/DeviceRGB
>>
stream
@@ -4246,8892 +4244,6598 @@
endstream
endobj
-246 0 obj
+243 0 obj
50640
endobj
+245 0 obj
+<</Length 246 0 R/Filter/FlateDecode>>
+stream
+x[Û#·}×WèÙ@äæ½ fÕR7 ?;@
+¿ä÷SUÍ&Õ³;ö
+ºoó`8]Æ|\n©uóDü½¿¼_ÌbáÍ´Ä[¸¾ÿãúó¹¾ÿvýÅ»üùúþ/x N±àø/ÁÅl1GøVÆ],£)Áï÷x·Kôñ ÷§w¼kk$¿Ã\|¾¯ñB}+ÅüÌVûò+èÑgôùÀµ`
+Kïxó²Â¿ã¸»Gà&ìùåViÆsû°]Òë·yËú Ñ6ßÿüvÂow:Óä4tÎ@¿>Þ/_;)kP[R(k
+f±ìbF)÷³6g@µß\åUåq](' ³v2}Têmã£pùá#ɧãï4#eá
+qÆÞÈñ¡)È;
+XÊNèºÃ<Ô%¤=¢aî|"
Çû9YÖ wàJ,Ó:&m¡9ëÒv©oO¥b¼;æï©TVh?eÔM ¿Y<SÀ3½ñV¹Nº[äd=óomçNC{ôm»âLä\
+°ç
+ëe±µj6Û}´ª³Ù>.À!*×è«Õà4Øæ*W
+§6rgÈ4V>¾GTæ¥t
+cf(®à*úY ÖögÅ#:º`[ÙØí3U)êÌëù&FâG§UHÕ%r©l*¦ý6 FsÕÐ7Fx2tZi-Ô®kS*?tßâªÂyY9Ø'ªÉ@Q9aöÑUGÛ»rhE:ìiϦ½A(PÐAwI}]s7ªç2À0HMFUÊ1©@ÉÀ¹@ÚíôI¿^ñ¬~ÅÀÊÁÞUöÄ¿þåÒR²Çw¿]µåû¿¯+Y@*a¿
+êço×÷Û¨~þvÕÐÂ*(ÒwÙ´é\CmZFu²¡6-£zÙ4@¨ÌeSþÞ6C¼ê纩ê纩Z!¶Øº)}MËPÙ¤
+êç¶iÕÏmSYQBÙ¿·Mëo"ú¹n*£ú¹nÚ-Ü(]¤|·ÃA,jþªÉky¾f|Ï¡¦×§ê÷ZO^´ç|³©Zïþ {íìe¯F²«hk¯Dâ&zë§ÞÄä©·vZÓ¥zoíµÀÛëûïP´`@Pã w\n6¦ì¡ÉÌÌ)ß¿]~~U?`0ÙFÁû{6°>&;[ðn:-5|n?UØìDsÞOÈÇéúÌ )/ôóÌδ¬G-§L/19b4tideÍ^.O©°àìÃêLE¥õ«o*Ò·2Ã
V4Ô_¤ÚÄ
rK¬Ê÷!\ïÃsMd6α¥<dÃÄrKÕ¬ÔÉNèiÕñBôbBÿJè½0´T;̺(gá²¥+Ì(a-¬ &¤®OUºç4=9¤
.z÷U
+âb<q6VÃ]¥2©¾äDAÇRú~¬ó!u
+ÑS8Ä.TfRécwnVÜjÅgø÷Íî÷ ËCÂÊгÐ7sÁ:ZAnv~ 1§ú`
+ȵE..>tÀÃA4â¼ÙW·æ\ÊÏìÕæ
$²¬»2¿`õ\ö¡ï½´¹øû(7QUírÑÕc^è(XÛ zH9Ý£:f{¡ÕÃÎe%´pµÒyKÖ2¦¤zâí±ÏkZ±vI&CÅÎ+ ZR¸10
+pg Ï
+Ý£ÖiéA`}s¯¨ød:ðsp½ÔØÒ C\Ï#Ö¶Ó*öðöqaó½5óéT¾¶òúòmî]
+êÚçg¨¢IAPÀtÈr2>z*
/î-¦Y¥ä8Èn%v5»¦C\Ó*Z1Òà=Â×AZÒöT÷m
+iE;6L-1ÔuÂ×Si¸0
+J¼
+Ú¨±b;ÛÎl«8|̨8ô2#©?ÆÍÎö}\ÓggUV%ïFV稦ßÙÿ¼´`òöT"Ö
+°ð¦åÕo`¶~q#³ãnaúBè²ei
+U=VE;7+²ë×5dW<Ûd¢÷R'¸ô¶kj¿·Ób:èNicU_Ç~#ƳëM cZò^o?ç0!3Ï)ÆÀÑÕtªõ5Ùéج8<ÈÕÕUH§ëè¼RÕ`/1I¥{"þ1¢äWÖsøq"*
+Iï«WÎé)dÍÕrÌÓSI¤40Ľo@ßQ}»o=:Km/\×EÇo;qS¡6)°ýÔ©aP
+ë)i ¥¡$jµ«ä®DK>ÒH
2opüTNÁ©ÌA²Þ!¿D¹÷
+ ص´SY[R<å°¯ïkP·x
+h-#ì0Æ
++øcXê/¸°®%i×MÊôå¡WYù:áüq;"³]j7C÷h1¬ô[>#v+U)4·ároÿþ8æsLUÐz°»æuòÑÂV¹U©¤-µ1¨Ëus+E1;Ùk³«Øö!3bc-"ïåÆO½Ã³º´%rÏZA)<úý
+¹·ÙIVã@«jö
µj®0¶¢q§7ov=®7ip&Ù5\¶ü¯$/åþÙë,"xvìÊÓ}r1kþ
+sy}*!箹ÔlÅ2Ôj«ªê°KgÕ ´Aëî|Øn3j:ë3Vë§îlö$É49RÀÐX»H(ýjáûFEI5m§M÷~E$÷ECØð¸J«îÎr>ÉbTw;a×Ѭ¶671¬tÀcåõÉé²fóß~-iùºÍZ¿àõèæµ:ßrÛÅZbÑÆ©7Îû4íyFfl}ýOiLuFd at l`B¤ÛWàÍÕQo¶
+ÿ¾wÚKr³9z×ÛG4è岫}åp?jf¡+Vßnáµü·>çÝÂâ§Gl´æ<^ÍòçéØæ³f
+²\Ü «}~õSYÂ×ëÿ
+endstream
+endobj
+
+246 0 obj
+3257
+endobj
+
248 0 obj
<</Length 249 0 R/Filter/FlateDecode>>
stream
-xÍ[[$»
-~_ÑÏfR¾WAÓÐÛÝÈÛIòò@ÈüýØeË·ªêÙYz»Ú.Y>],y¦7qúßËNÓéuò_þÓ-áó¿?ýùÓ¿_¦·e=Ñÿ~ä/Î?ùÙËÛ|BûÙþ«
-¯üöËMrñÓØösé=kÞT16OoƦò½À`øçWþöþ"d â&çç¿ÿíô»Õx&Nï¿ýå¬ÅEåty5g£.âlÍåU¼¼ª³³v¹¼ê³Uá7q®sþµ8zË8hµ]ã7yNçÏøûb3ÛÕð](",#ÒA_£«µaééÏaBƧ;PZqÓSêK¢"_¸kOUùðÿ+$E©/2lÀ0~wrbÍÁmÅOÓ'éõï¡Ürùëû^ï/¿V°0Òyè´°¾ÿ³÷É.êÍU at JJc{¾^Á{R6mæ~»ò]
-+Åýç9¨Bàµm^^¯@Päó#L7Ôºê«{Tàt$
-B¤¦©)Dj*B¤y´èUî§àø¤\"ñgZ²gZ2Àag¢<µL6+>Û0f¹°ÚÍX¿cEòÊÈVû0ÜÆ̶k]$Q»
-àO!²`¨£ÜÇÌÞDÊÉ×M+ôÕ["ϲRó«½\ÕLü@Í\§2
-e§ Ð`½L°$º~C"Sm0'f¡C#FlL0hÕR~Å(
-²ÄتãFcÚæÁë*E|z3¤YÑj8q&;E¼:Ýl3iB±>RDÍÛH6r\¢ñÀwÓñ49ÂõóHÈô7%QìãÓãò×Û¥8ðê(v#;Æ(^>Ä«MZ &5Nü´pá\ÐONß 8«+ ZU=¡ý¨`ï=ÚJvs0ã?Um*
-EVcTDw(2òYí®¿)³P*-¦ÄòÑà¢Íø\ öQi /¹ÿ!HX乨O?;¨ÿ14ÊðÖTï÷XùúrîZ¯üxÄþJÐqðq>²¼Åõv¼+$m|hªÔ|#OüVä9ùĤMEûî¦BÊØ#ó¥ôpôYÒ¥ý¬¥H[S`©Öì¶ÉȤd2
-WÁOÁYUñôà§ÕZ9¹bÚõBät=Pj8;@*/6T0áíD(¬äcéPñg8°
-0,Üxû·»~gíþvñ*&V(fdÙZd¾«´ÀT$2 Þß&}
-ÜP@^âÞ
-éé¡GëltzÌ2]ño²÷z|3Là=ùäX î©tûd9x÷èè'9rï(ÔYR_^Ñ]¶î¨t9¥qÃl9zÇTLE Hw6\ZÛ7[÷í,»ýXcìX,:%éX¬ûM½¦\ÖµÜcE
wzK%ð¶ëñC¸²ÚôÚJjÙ(z¬Ð}²½¾gË{a¥<4aZ¤ìUʵ¯.uçÔ-
-Ä]ÇDz©Eب~R1^çòèuÀá
-Ù nK¿íu¤%Xïõð©
-ãc[Ñö¹8^ÁGí¡kÃxb¤ê
-u&JÞR
Ë~+.SðùH0Ùó6ÕUçr꡾QTÑ=[:dè&|Depkj;Ý`8¸VñQ°Û\Üù?*³½dDôú.ñùX:jüQ§EÂRm!¨n{/GÝràN*DT´¸>YGºC±§s»åÇnðcU/4»¬:7 uÜ-³/Ôªýë"=æáFÎw1aæ&Ì¥67¼£ðlwSNÝWtìo/¤íXF7Þ¼ÖN½@½¹ÎÑpu<øÐÅ%_:)¯¾á¥ÅpNåÆ׶âñìiÂuè¸pÉmùÃx !®Uù.H´iCÜɽީ
¨GJðm0Þ]5'NÓãè<rªeEõäe
-¡*éLHqëß)M¼(édÀCG§ãö\CV·q
Òu`°Sõo(UÙPR^á)]ÊÛK\å=%´cå<.?;[U]iníh.HõàwÃ|!);ÆÁÎÃÚ,<}ùø&¶Ó-¬Ís6:ünWçm2Còu#ÐÊnUº1³ZnLYghq v Ë.ÂF{%¯ñ
-ÉDP¶ïV¨'à1îÕ*¢÷
-¦¸³#ãzè=:¥F}ÁqgqcvTíwx:
êcìç Úû±´ãFÉcWyWú»^~ÛH¹çvñh\2£LöPÃ{t,ݼ1Ê"Ù.6_ߢ.ZÝ®
-]ÉÄÇ÷Ï|L"(3R[ð£>`a`¡ßDPiÞ-
-
-+«¡Æ":%Ñ%ÖF½è4ò
-ÇC´Õÿ&&Üøªà9êÃ!±
-§8£UìLÇÆk<@Mw×Änu@éð=i>U¦ÛÏ]ëþYN@÷ÇNÏê^bàþ~eÔÒ¢\h£
-;³ÛL±·éת?Aãuø"ýíÿAñ³wL<ÂrWáFçÑ;×ËÚ«l¿×8'%·OEU@ÌiAj¥¶r:HbÄ09´}l45m2¢üq`=Kß`æisÊÂ
-ò¹ýt²81Ñk@ó4È_ÓG"Sn´¸(yÎÁÀa^R¨2,ÛûRÕËhfcWÒÐùr[CùîZgú
-ù¤å: ûI x
-ÉR}¶å»è1Ð ûË]äí®7¹ôçI_
-äë×
- Ù²µhzdU^K\qÁüzú?< Äý
+xµ[Ù%¹}¯¯Ègï¤ö»øyLÀÁÏß±HÈtÕíahªºëV¦2tâÄEÙûößÿlûöÇýf¶h,|O¿ÿú÷í¯ØþM¿Ä?¿þã㧯ÃßÜï_Û~xù[ÚíëíGw·¯h¢K>æøÏäÜÓîÚ¾þùñüúø¹ó?èíöõë¶ß<aðã)ûÍl&Ä[ØâaÀ¯}üð2ð(céYÁ'Ïg¤=¾MÞîÿ¢§GørðO?+Va
íþÑçø_Ýá|=Áh#÷F³f·°Bæy÷ø£1Ťxà£ü§·`K®<Ö°òÔ·v#á9dfJ·<]åZ¶®}Àßl¼Ã¿ño¸¯õ·X¯}ÆÏK,teH7S®k:ä^×Þº®rúÔدy]±
+p³Ùâõ¼£°Ãnù:âJ&,á;ØÈżn?¼àÊP0ÚûRÛÝ
+D?ÉbÀéÅØ@äÌ
+8¹£¹Ì°)d~!kû&ô;îÂ+>ï¨'p.`ØÖ Í"â _¶Ùìð¤¡àªÓ®,:!ckSjû¦%îk,{TT7ZåÛÅ[§Çä²¼óÍç¬¼Ò âSuD]¯STëºM'vôÜ{Êó(ð ðJ=»ª£ÜÞT»"7WxÓT).L&Ø|Tu¨ìHbxÂÁZ,±w¼Y6°sÍQ©¹
+.àîr<f¡"èÛ!ÓÛîöÓXêÂN`]9#äd¶sFÙ~í;XrAü
+({#!K.îy0Ô±ì²Z¹òUåË4¯1¦tæur3Ð ¥§ÀZÃwX¹£K¤ç{!î´|Nù0Ákòà{²#Ì8$Ir;.D)1¾¿ÈUîÊx×'hîZp'[à 1¢uÅ2Æí¥;³(PÛîÄÓ44¹pEVsÚMq[¢\bGñGQZÖÊ_³tå*(7LLÏ öï%G;eX±¤¸äZÃ
+#¬fÐ ^·%#ñp³[Å1K¢sáû.© neäÞ±§"!»75íµd£ë!,ekÇ*ï ¾æü`ËÉ%ü>ÒÄÐfzRëP¯¶W at H©Å[Ec~æuG×4
+Å!SÏîó@ä»RäÚ
\H¢®c
ª*Õ.R¡KùîÕÙG{t9Q*mèUæ»#T<BO gW¨ïóìð:s?s%V
+ÁFSèqÚ¤rÒñUÀ;l¹¸å¤Q;a1 xµ/KïfgdÄx&JðÐ#f^çÛ)0oâá<öAöHXd*÷ÏQf¥dìXÆ+3ÝÌ.Àb~|7i°§èδ¯å~«_üÔ*í+ØSÐ-)8¸kò¨¥CÒ$Îm@d}¢VqÕ·ïÂÑ%ÑÚûX««-ÍÌ
+¹~4i=MÐSi¡q{#(ómw*ô&)ÀÒETi'kwJÚOqW÷ç´Ñ©JMñ5I(¼,¹:*ZIEBiòÂ÷w3L(X
+oBÆi×
+ïJ¦ÉLµÚ)´À<Kþ¢õû1À6t= 4UÈÒt«ºöR£ÒÉé*¬Ì]dO´§ò"#µßn»r}'"Rf]GêVB¬ø·[«FQ}©!©x?Øc¹ªf]_jOô}-¦Í÷óȶIÈÊoùRéA_¥S¬Åßkî-Kv_J~ÚâcýͦÓUCµakª[d7K³«¶ü¦ðÀ ·ü° ü ^"È4IM¥«äÚ6¥3Z zsÊÞÐzR-ø`!Ol
+²Ö< MpMizæ0(ëtð$m é[1¯£¡7om0³\â2ÕÏä.¤ÊQkßIãºùmóEÏ×!ì]7ÇS2Æ9B£;5DöA¦'®i
+³s
+àvâR«×ÉH¢¬´ê÷íç½ënotõ¸ÏaßEÝGé9jÄòû°ïh]ts®ã·åHuUWyPx è$ïqipwn¨Ýs*³ª> oòêÊÎ$a²Td´ÖMä<D:q^¦°¤ñóVD©³O¤°æc5±í$pÇnGÕX/{¡ýé8 J7ãxÎÀ%
j
+÷¤âv¡.ÈvºLZ@(µy=¡È!ôf:AeÅ-{äøÊöÉ8¥ì|×iVÉWj½3°oà©J!^×!=}eh² -ÈuÄoS¤ÀóÛ®:?Yòn.a'H-ñ¥Jµ]øe_ÁûWØ}öNxSÇ;rpUìê9$qÖ úeLÓÞżÀ;8K]Æ÷ñ=Ë; H_£$¹k4æ3¹[Ä^Ö¬gK¾aÄ·ÈSwN^/èØ×^ FpTz.¯óèÃjÍ.U£Xr,<ÓtÖð³f3«¼*¯ÎyRÊÝÎ3{Êëmc{2±ôðâ»y»ã´DצÑñó)+´hñz`2Ë
+UÉ).^©,PÊdQ§´k,¯
+ÂqVhYÀ{ë§yÀ'3Ùó)ãGç ¿KxËíc?«ûwæóÙ¦/ÏzѦ'>cVc²Dr7£I´Vðz<QøÁxrÃTæYExm(Ôå¼H½ÖºoRoÙzN<ºâÃ^JúÈ|¾jþ.ÚðVõëýßëÙºª
+BÍpÐ{¼ZQIL«L³@&êû²À`O#¬VÔ÷jÇÃ0¯~¯Ðù©æ·@ûM2 at P'ë`Á1JKl!«z
ß4£bÔ7eëéõÿ(ò¸²=iÆ9ÌQcȹcPïU¨j=£ô`¤gÍCÙv«©}ûÔ¨¤Sû«º³-¯\Þ§h*\=~}ù+«èÁ9¾qÔ_G/árÁHûËÞn*¯å¬4¨øýRû÷ùÏ-Õ+¡dC^¬n*zº®ZKµ|P?gpT¨uùO¨º¢¦@¨Buyqà=x%y÷¶Ò~</cµâ½8ÿñæè¨à®!tðoNyd¦kÂÜUâ«dø3
+(!YáHÇßã½#SGÚ`«d¥F{/Ýe5ä?äѬa¼ýÿº
+õÚÅ»cÐS¬w#w|%ÝæôGíÚòæÛ#ì~ZQcóÑ
+o¦}tùèíËgÒ9Äv»;æ[Ǯ޻~ÞþèþG
endstream
endobj
249 0 obj
-3438
+2885
endobj
251 0 obj
<</Length 252 0 R/Filter/FlateDecode>>
stream
-xÕ[I,7¾÷¯¨³¡j´+îZs34Ì¡=s0ø]ü÷]!)$ee?·ß`HWç"
bùâ9ÑÃ/¿ÈáHÌOE¹êÕ^¿ýzø×OßÜCûß·ÿ¾¼½¿P¢Nò )?©Ãû/<(;,÷ÿ|º°Ýj/¯örµa/¹ÐÕ\¸½5Þ«\ÓSø÷dúÆ#7ûÊÃ^ÞÌEâò÷ñï÷¾Üß_~Æ5MÄïÕ´]cöBp×ôçï9AÚ ZÅiÝ"MÛay
¼%Uݶ̷ÈÖÏ6íìè¬lDêÍ¢>(ÉÌ\~q0Ùi¤¸ð³f#?+z9²³ºÛÜþÔÄüTôãjµÊÏûÒ}âÞV«½¡ì+þ§¹K©}ý(Ã4kUÆü,ÜÛ77{vÍ#»»á·Lx)ÍÿW;®.Ü[=³ÖTFÊ¥qñfÜÅ ¯vxÁÜÊàBusÉ/Ô¿ãoº¥÷ÕÝ®ÛõÅYi-³f©SpÏ(w/mÚnîÑC /Q})<7áØw¯ÍO
-ÜôÓ '>Ä\ÚB4*ÄC0â°Öá¬_Ï7¥qÓÈƬ3ÎbÌàÓ¸RûÎB4ÃE± ÷¡_¸MÌFJСShÎÈp.rN×Þm.).æRª]±8Àè« äTtsæÄüOtf[Ì°0Áàás+¿ô*ÔàS1ÄV.2H÷wâòépNwÖTË
-.N1ôÔ50½r©¶=zè¥IÑbë÷/Ïu¶.íÉ[üæÝ%R
-Uè[æ,*nÂ{¸e%4o(U'\3³áÑdΨ´>rèC=uIÍw{ð*y`l¡Èá_Yív0êÁvÜ«Wl&À` ïyJåñ¦NÈÄB%ªSo;þe®2è(wOQ[K×Eê.\SQØ
-«Ã¸$w"¼PÇE%«¸ª«É6®cEú?\W ¼¬AK&ëtô´ÉÉ-§
@KÅhmÈ7HV
-åXy9msD"Á¡dÍ`|`÷¡µ±a÷u*ÚnyhE4Æâ²nì??À£aË#00ÂÛ|ݳKÏ,Çgìò|!À±!ÂtZ1Ï5Æì½ÆÔfCÈâÓè#¼Û¢JÄBj®Î©Á|ñá¸]tëa
ï>Û íU~üª^#¹KÙèælVÈ& Úù}
-OÁuÞÖK4WIñîEúgÕ¦ÎàÐÍ]meW»X¡Á F-ߺ Ó4"÷¸ ÖJoöĦ®ÃxsÔ IãÓv('¼Ío¶ù:ªÿê4RAðVR´|oÐ9xÞÓëÒ¿Ü-ìÀ7äà4Gît>¾¨fïÃ
-ÚÙeÛ~5î|±
4é¸óÕ~ñÑ(â¯9·ö^ vFjSSdë7{Ùg>5ø`ÑñCJ_¡wzüÞ7¨dö2bÒaQÁjzÕqýì"iz{Ó*/õNC¹öÉvCÚ¯*É,8Eöצ<£l5n,À®Ü]î|ÝOkÉÛoßJE¤ñ¸/r(G»×úyK
-¬d¨jÝ^sÖÊ3,n¬½ÑúþÙpbs¦>;w+¥=Gç6·Ó/ö°Â9Xû±ÛÞ®+%ìÂd'5ÁÎoùÐJF¢0¦ÒrF´úõdë§ýâ£<Ì*RLDCëy3¦Tì
+x[Ùnå¸}÷Wèyñ»°ïçNä2
+íÞFpÇ3g½%&½kû<¾5?P
+ÉøduÐÝ9Ë<s)x§£Â=4þøxù²Ã'ÍæÜǧΡó£×òOmñÝÜvkJÜ̳·Îªîùn°/ÞQ×är¡qÒ[Å1 îë8H #<olVA&´I_¥Àá}á
+>Áûpüî:ÓeÕ7?2ÞJÉXW#ºÂ»úØ\"ºD¸ùh¹>KyÆ*V-ëñ¬¯^9õ@4WdòLÜ~Èã9Ï·tòϺóT߶Â3 {d@ü^y#ª×X5{«ëôYùCÏfl|Gû-"¨°È:GcJÓ+ß;¿¦½ÜÊDeßéÕÎMÏ®È;aõÄü!W¼õð»d
+1ú «Á¼õU9·óF¿D¸cf¾ð,V'¼gmN-3¶´Òâ÷,Ê]mÇÃû7+Ù07oécrd¯ùðTFkK#[{µ¨³ó3h·ðߦá&ìÎqϾpUº|c
)ëÓÀ§ÎÕûåf ünµ:öAfkp"ÄÑ4ÀãEq䢤mNN¬£IoÍ_«
+íí²»,ÊÆ»;¶ Ó,gCR?º}×e³õ¤ÿP9®cn¬ú]âÑÅ÷p&&1¢
+q¹4ï¶Ïêâ~ñòàoòUlè?zj)¼±ØoÙ²ÅøÞ±¢G(^øÂ^Ør«PÐõê·É·ncp`H0 Üã³bÁ~jjÞ!Î-YzÿIfØï$©àïI2ã¾wг¤cìn(8¢s<®ÆY9«¦Åâ¨[ÈðfÌe
+XÒÒ,H·½¤öd~äÞù-ß%0DqÜo|Ôft¢0,ÆÕ(<Rnw¸ ë¨[ÖPu0¥<úI¬QÐc[w³y
+`·V[XLYfllk«±\§æø Zê.´Ûø}Y+õîF³VgPùÂ%ÈÛó
+)±Õ[Mg
+BA*wUljú4 3Ë[ÿC8ܹãceßIí=>'L`-£ÅÖêimÌ-³7Ð& ýT÷Í.úÑfªlɺï¾é{PDyÁ¦u_ j{J¨¿jEáæß¹õbjñmnͨÕäIö5V
+³ýÏh?lmÞÛô¯ÃñuM:ÄD»'IÞùu¢XÁ¿[`
+KÉá¼lÂ$ðB¹#G¨Kî-ö_,¨+%ÙÂÀiU»xËíáfí¡lë3ä¡ñ»v»M
+þA+8ÏþlÇùT]c=dÉdC)Æg
+5Á'õuçï\§ÒJ´ÿ2$«0ùÖ@êª0'»RF*l2µõr®ÂMè´á$Ô©èÎfðRn Í-Y TU§ÐvWóãÐRÁ¶³9³Ðêù1°]Ús´g<¤8»cLç
+òTÆ6»ýU\Ú ´øíÈ ]©Fª¢´xQ¸d[´»ÅáVÕ'¬GC=^Ú¹Ù?cë1Xð÷Wu
ó"Ûø饺`{Éöè
[´ìßU;ôãcô¹ùÔðCÇ8ÎÄ©ãÆjJÛÏêËÁ6 |ÐU
+{õ9ëá°7[qíl6¢>í
ñe¶½ìtOKÑ!°3þj®HâØ 2ý£¬7GY
Büu+Küx7|Õ͵ú}9Afâ£êJ¢5" ÌY÷i7Ðôv~ÆZäq3CgÝ´¨³:§i.½øM¯wZp!»õÌj%Å
ºº2GAsÛÁÐ@ôäz°UÝ9ÊùÛeOä±Íª±º³¾¤&?î$ºäÏ)IMGRñ}mÿÝ3r6dy1Eüì]ñ=>às·_Æ[½ÃYô¥^Î%tül·®ðÞ¤¬?>Ý·Ü˹P<<ËÌäßGó95ë.¯¾×¬=Ðô£¥ùô{¡ÿs'2Ë5°N¤À
+xiêC>µÒ±
+LåÜx«±ª¦+¿9A!TA=öÀû?º1júæ-o7£ÛxiéùÙ&vHeË×ÐË®åÀ]äÒ§sã´ë(«u
+95µ³ZÆr+øa··Ù§Ý$úô?$`û«¹`qTr çÓTnÀïNåðy7Eo7pÆ>¾!DïïPÔ¡ûX= ~xxÞÑí½gBöÏà÷Ϩ·0æ0,VÒm·®<
endstream
endobj
252 0 obj
-2628
+3271
endobj
254 0 obj
<</Length 255 0 R/Filter/FlateDecode>>
stream
-xÍ[K㸾÷¯ðy;âS`èiÛrÛ¤9%Ù
-׳ÞÎúj×ð WÛY^åû®¯rÚÎ&Þ´ÿ£¹ª7ky77&¯öVJO+ü_ìEàÝA®þi6?ìPÝÝ÷Ex«Â'Ìæ`
-3ì¶<þíÐ^¯òåû
-³úa9ñá¶ÞXØb¦ä¥ù=ÀZw«·¿¼ÿáåþþòcaQ#ÖEýô÷¶î÷°ë|Q] ÞêsÃïvfßÅPITçÂÚÅeÍ ´¼QÍøzÕËF|?nש:¨Ww*Ip]Úó¶ózçzJÉoqºÎÁ9J´é+ú
-èÿÂí"ôÂ$´,»ÉMlú_ëÕß4eô&ÁQzËÅ´ì9¤Y.º°æ'Lê:æ´¨'ù=}Ò#þ,9óá°Hp®7&y sDP9ù¥
pÓg¶ä +»¦ÇµivL©Í÷0äa¬ü@]®½ñé Ý[Ñgã«Ãä%;þ;jÌ+Íz6Ò\jÛíXZKikm7QÅÁèF¹ÁymØó¸H±Ï¾K[¦y-û
«ÊàÝîý½íý s<¿üÎ
-rD3¯î$yh9b=ã3¥Ë*!»Lâj!eÊg7(§Ë*2a{Ãîv¼bëÓt[fBÕXãfåFNY*§Ïî .YsÏÿÿHÇ0K{$aF$*]cûøSoÇØFV¥ëgr½~RGµû¨»ñ¤ï3lîç
¢6e¶ïÅ©y``Àç1
-vûÚûnesª¥êEýzùß mõÄÇ^fùdËoTµÌs=«®Ï.ï¨Í¼P4aAyÐGVÌ0%ÑëZµì0%©g|wÃS,1PÕhVáù3>PK6Hã'¼È;Ô
-£²½ìYDɬ4r$3å~
-´IéÊòoQ7æHqÛ
-K{'÷Ì!Ó|YËg}GÞgjDÅ,¥¿zÜlAzhäQÓÜ0Þ±C¹ßOþËÃæøéQ)
-÷Y2Ú
-½±4÷~wÃ|]åfÌÜ$àX#]do)¶A³VÑÒ-ºý7ôî$>R>.IUǤú>¥M.àYÇýñ:ÖÎĦaèä®Z¬ÄMp;<fϨX±¤ß0x}Å V¥¤_^wÔ.3¼pþÐ"o!7bz¯¿^9¾_
-þDÏâ$§~¯q ÙahF5z}VÅÝO·¹Otý&¤¢ÂÇEtü®Èûä §Õ>§°ÓxeçÖQäqÒ@gÎ2V²^r)G)çòا
-Q.-ÕÂçýÌ£/ÁÍ 3ÏôÜW!|¯_Ãö¹¢¾kMä%p¾`7ëòÄS#cKZÕM×'ü+3o¯L8÷>ÓÄÜç3¹&ß»xpL³Üýøá¨ê¸MÏÂ$/½û£«v5eýr¦¾o®òw×zböÓið^kcêVí¾ZÁkM=MI(ëWf.'[4Ú¨~wyÞ¸?4ϹcRÁ
-U©£öä¥ü/på0³NK|JZ`À
-ò¦F)
-R¬)t«O°¯âgj
-©ÛF5áÿ«zÿ^gèËéìEX»àëÿõÛ?ú/8ôÇß¿L§³püvZü;áû¿NªÔ C¯¢ug#2¾æÁK²¥Ì²&./SÖZxMªöª·7Sìn×½Ç|ÞµÈy¿#ï/\¥[]v_%ô/¥×ÊÝC¥\Uõ¸äÐzÇÏ*ÈGåyc[ 6LãYSÜOÖ²væ/0òïÁcúiÅ>q¬Â%$üàÓsK¿¾û¯ª;«-ºeªÊcìúÒL?jO)ÊZ#ÃöeþLÌc2`±äi
-dz-OèÙ㠣ж·Ðª¨²_÷9o~>½t{G»pdã0ù±
¬ Ýï帼]±pèã½?¡Ûé$?üYÿðßÿEºÏÎÊñG(pÌ@Åx^1¤¥1K1Ó§f~ýí¤'/7òëo'£
c4ê%¯'±J&®ä8
-Ò(¿Ó(J¶Â¡$+&GQòkL£(Ù¡IWL2¢$å×$FQò49PäpÅ$ã(J¢Q~Mi,èL$Ç@±Ë(ÆrTÀU®ÿd;¼ÊtôWñª8K<);YF±¨1(ƧÐpò±ã1Çxc¢0-wÅÚ}øuíüº1¿®¡È¯+L5ý}
-YÌjsQþÈ`·Z»¾û¶-Q¢Öw¦í;ÁM&DNl:-»Ê¾wÀFÕ±ûy*ÊRv,ð |C{Å]õ#liÚæÐÏrǸi@LÁÄÆò%"&(
-\c¤=M/ýî¢ìÀî¨!» f|r~ð@Ø&s/>q¢¾ÄRIú0JY!q[¤q¦ïl%ªÈ¿m,zN<ÕØ
-Z8À·DD.w÷»A*ë&§má^ÈJ %ãÞq¶VDqû`U¹ùÍäÞ\Og¼Ùo3#K»¢Ç4οëÒb
-
-®¨µpð:qBÐ$Üð
-õ½©H2Ü`
-ÏI¨ù}èÍ-ÇÆéDyâ¿ ØO^è§? C)8¢7$S`»ãÚCnw1eÔ9¢x\EÝ¢Û""»6°UÆlPxoLib6xK©lm1±~5]îUá%ÏêÈ}y[:zƺÑÝx6GäÉH¡eL$ñ(©"Æ'ï³Ï!&W3ÿÈeÉ?ýàRèÿ<#+
+xå[ÛÉ
+}×Wè9@ºW7°0¦óìdü@68Àú%¿².$».Ýc¬
wêÓEyÈbiÔõ?_®êú{uÓ×
+ü+þþúóõ¯¿»þûòùâ°°Ü®·Äê¯?ÿ©\|ýÇÅ.öfÒ
+æúåêM½þ×õ/UÝ"ôºÐ
rüå*aèÖh
+ßEa,£d#fN-KöÌO
+òËTýôqY¾Zà÷Çß®Ø4<^«ëÇ߯?
·ðÖÀOðÁFMX£°¼çàç=º°î¼~üóòþqùÜ<À(}ó'¸7÷ðÖ(D6!½þß»Q 3Z¸_á½?ER¯63ðáÓ÷pQ0O¯Ínj\8Õt[º»`6Z¢ÜmÍ·ØIÍ`±`Aò§üj/´ò^w¯ÀUî.l ÃgMuóèãYê¶øë}`¼2ïÓ,a¶Ö[Tõ~ô9[`úÁE¸71ÄÇn~#Üq±éÀÆä 4EûÆð9 ¼89"¼S@»
\<ÂðJBó$Ì#Ö;Ý^&ú;Ú۲롼¤`]]7ZËbÛ{
+ß`0$0<Rh¬ÁÙ1QG×6|JË«£ÎÅ
+háì÷1¶_§Á$«K.'Q_b2äOaiéî½Ì<ó=Pµ}Uæ¶Wñ¨°×Þ;?æ©')[è¹g%¯~äg%ãzü1ÛÈпeøM+ß<ü_nÃç`M°&OLxJê&
9øm¸£*8`.Ua&OMÕ3ëôR~©¹·ià©IE{ä¢ðÚrujbïfÛGÛ
+^¯È_.
Dÿðßl¼)óÍ^+¤R¯à3³ê.=d*8LEÎhAE)`Iå`ú¹Á+bÃü6Ä{¹N% ¬¡SÁG¤uK×WDrL $-c¿lºfØ"*0$c%i4dM×[DrL°$-cå6]3lÊ1Á4m\Jê2å`«(ðP+,KËب×L¹fØ"*0$c%iàê ù`«(ðP+,K˲¦°éa¨ÀP ¤e¬Øoó5Ã*é·,cU{¿Õý6_leÊq
ei[C{|Í°ET`H(ÇKÒ<N(£¦K-A"1¬$ËC`¢
+. °2Ä°îo+Ïb«Ït´#È¢ãñ°í¢XÄ^"ºxQÐ
påγ
?vî)ªó1ᣰa[~?&êc¾=¦Ícö;&±c.:¦cf8ðã8=·£À!§ße`Û\¸ÏmJÛ'¼63íóV`öé§Ëû,ÒÐý>t¬½çô|÷ÔÜpèa;*ÜeÃh{¾kØiÇ\´
+oÕò¨mxÔ'<j+µEÚ<Ï£6Uó¨Í¶<j&ÚÇ£6mñ¨Í<<j²ÇK-¨ÒAùÅz·8îq ¥£¨ãÊ.nZBG4ÐÝ¥½`Ú»¬Üë÷¡pá&HXܧ½2î¢adU¿Ù¾q³¢¸á|N¡!Ãm:µµtmW¥6[zOã¹¼«Ëv@Ã6^À¶GùìBE¨¨ö^glß`6\ Km0ô=yoxi<5nku°?ʶð¾»GÌ®ÎÉòR·øKµ6ÀHVÚY_nûå-u}!KVí«d¥ 5V´Þ²CWòz:.
+¢¯sìTvõºNgé<éTCß`Ôľ7u:(ÀuÆÜ÷z«¨fEpú§ýb
+O] u9´ûàªVíÄN¯í)@F·®²ÔËÌn±¡æöÏÜà4-²C
D at s@grfzð 4ÕóÔ:}Yk¾±Öä9d|g Rwï ùĶlM4ï¹Çïà^*('ù« ÍȲF*feëÝÅ|wÕãÜbl5ÖýÔb6ì
¥>g$$ÇkL: Jí$Ϲ¨¸Të(Écß³#LËÏ«>?ìE_é}j+ãGü¦ejdÎ&¾È)8êbòj[knr{;bº)ÖòÙó1þ ±9æubWËøüsà§h}ôi=o12|Ó§äç{vh]ÄâdÞÅ©¦g.fÖe@{éq6êlN³eÊhv
+£°#^ÇÉwì#pz{mú=0ÚYÀNì(RßûÂqà¨GVyOné¨ø«¥"Á8í«cÚ]9=Ü6RPî÷ùVsÞ÷KÄ;½ÌA*¶C¹z^©®§Îôhë¿[®k{®\©§*=ÍʳÝ:©¼¾¸Òµ Èvóºåié1Ý&*g$F~í¬ÜõL°[zcMNmo×Ñ°PO±æ´d8¬Tð_ÒíL&ñðÍd2¨sjT¸1Ã1_°Sñ~Ð^»Ûr¶2i>Ïå´s+º¡u¥±gP
+6ÊËué%]µÛ,A_¼ï$¡³©ÜùÙƤy§wâñC|_g0î<G²Xü-y|à:_]Ê¢íx)pkÑ{;\½Zίfö»1Òÿ\US{~vÌMJ:áÎPgÐZÁ£ß¡EÎâW/Öʾßn¢¬©(5Ê»bÏ;¨}q¬Ì÷<*0]B;õÜ0ꨧÓAö/c¬_aaf[¬é<è©n§^è'è2éÛéKÉ.ïS4NgÆÅò§Ä¡`ýÜyÙÍGkwÖt´+ÔMNõOûçN*N?ò§_»òT»gÀ^Ä1X8ÎÇ£ÎÃÙêlãè0ú
tGÿÿT§>× 9¼Tk%éØ
+§¥Õª¿±$íÿdG6gþBëÀ-Ôár~OÏx²2ÞIÄ
+úë/h_u¢íؾgA»èQÞ°ì±³¡~ËíÐ gk>¼éÔ¼ÈsP.ýID=iN¬ÎhÊYãÃ+7m¬k¦7B0ù=&}ñ²¿¦½YmÙêÔµµÊNÝÓ+¤±!^w}¾þ<x#
endstream
endobj
255 0 obj
-3066
+2771
endobj
257 0 obj
<</Length 258 0 R/Filter/FlateDecode>>
stream
-xÅ[I$»¾÷¯¨³¡Ë©=^ª¾ÝàñÍ·á½ÿ¾R(Z²z¦Çf &¡
¾Ø¤z9«Ó~9-§Ç%>z¥ãoØà÷׿þôÓ¿¾ììzH×'ôÙ2}9Á¿?ü.=üúµlçísú8iÎ+>ÿëôÇÒú8ÙE
-SJë#¥@D!nÞ8æÏ
QèûL)Ì-SÛTüÍü¨U8f*q)TÙÎ|8¯à-Á9Q'¦Ê6sf*qÞ~RK ¥g9ÓNm/k\h)7ÖàXs\÷Ø$ݧñÆv1Öñ\S{´}¥ñjk+½åV«{ÙnõG4t°_Nì9/ïZ/ÑÑÂîöþ×ÓooÑßÓûßÿüÌE-O~½<Ú'»ø§àðñõ¢ô·ð¬Ëúä5¾v±¶ÃÂí /&òñÛEÇÿBüFÁ_¡O|±Â7ðö/ ?1½añ3}¥¾ë³8»4Rq¶Þª"wÆ]þòþûëû÷J¡·åìwP$Æ¿ $Y6+ ¯<1ÄÅx$¹Þ¢0þí¢Lú"ö@Ú@ÒGO·ÊúHhÇ)Úgܹ<æiÇçÆ°A'Oxñ¼âK×ò°½)ÛëhbfŸÚLø½ÿsEX£ñÖPX"ô×"ÞÉX¦ßªúµj`5à9Í°z×è̪¨ç"hµöö!%Î#*ð®ðtCåEü#ý{9 Y
øil_óe+È¡èÎ0Nbl<8
-J¦ø3'b5÷F¬ÃØÖopÔ¨8·À°èIxPHÞU&³Â\p*>Ã`8tf» >:ÎL)RbÜ»g´mO>£È\î+*ÅÜ¡dÑÕ§¼1Í¥ç_näó
-Læ©ïs©4PÂ&Ò9ÌwG¸^!$MÉqC
-¨^ßd¼[SúsÓ ÍSÅbK¤
-ÈkÇ¡wËúiÀ`+wyã~\C½4öÑq\,êî{?#¨¹ò³pÊeö3[1£Ï¶{d
-\ɸCÖΪÅÄá#¬=àÜ¥(åªy"õ©=/«¿XjT:ÙíH]Llôw ]Zåã;RùÊ\lþÞÙÜOün'ZÆpÙÒïÃ×ñªê;ñíôpN/¹`g²bÚoù3l"°tÄÜwce~w`Ì)~túí¤(¦ð;w`P°*qå{e[´wãb|Nw"q_ØÔ.¦oÅ,Eg¼´Æ(gVÅqÙr÷1;HÅPí í_{Z)X'Ä©jpÿhpÅÙ<¥rÈû°¬ÀåÕHmãT_rìë µ[OQ¾
-ö¸BÛá"À8C¨
G
-¢ýq2¤ñBí\ /Ô¸ôJ`-Á6Q¦Ê6³e*°]|3Ì[m¢&6LmfËÔÈVp6ÌZ
m¦Bí̶PÏ-¶ÛDMl*ÛÌ©ÀVo[j ¶Ø0U¶-S#[å½`KÂ6SM¡Êvf[¨ÀV{-µÛDMl*ÛÌ©h¹×/6
-ÛD#.LM>'ʴʨQ¯43XOi&0ÒÌ´¢ÇÒÌ´¢ÒL4hifZ
-KƬ`T»ózèsçûÈÜÔç;7¼¹ýì¬ Ä§õ0ÌÌ£ÅÜéç¾;wÁ¹'ÍbgØ2
-
-²Ýz¸l7¾ú©Ø¸T°'ì7ùtXJCT&ZJ¥Ï?sYN®âPNçÆt¨7ª<c&rR¼[oV4DÞ¿N£¦©àO./mÚ:8©N墶>Ç£ÃõÞ£FYiÆRæMèNÈ?S+LmÏõú¸R`3ǸÑÌ'·eëÅØùg<
-¯«VÃ[Ýf\*K`â¯s8$(ÌDÑÌÄ5î°á)u*öNDÒ<*ãUupzMÖÜ3´,Ujovw0!´²`¶Þl[÷¤Ç¤é'¾Çîz¬;ÇGMyµ±8¶i5s\®æß»
-R¸°£y&
áÎÄ8÷$íÄÌW¯:oÞJ}w<U¨?Wß%êéäËmÊÛf2wFÌm©Ã3¦¬å$ªRæ÷*Ð%jø®!§9Ø¡¿lës}XäxÐ5ªæ¨w.ÕîÁoqvI©0Õ½R
-,Õ5RéÕHtq<³?¶ëÂÐ-¸q3ûC76í¥*×ÉÚ¨ÊYYµ¼_&Îçr [aG_n
*´+$>#Ok9WÂ7ÆâB@Ü/ñEÇëavÆfZòæ©ìñ»l`Õõ£Áø¢;EJ¦ªÄ±r¿HwÛôª¢m¶ÀÚô»Ij"]&qa0Z»å,зIÆ[:xuÊêKºd¢×²T(W5ñ#ZÊ[ü¾J³;^+bkèbqÚöfvÙ
-Åö¤8 A"/0~d4HzR£«¦}yBLpã:BúA½µ:þþöl1ò¦ä±¾Î/º+|Ew¥mp9Äq5MKÞ/
-ãQ"ë
-ñIdõF¸º= ÒÑvÔ1D'È1mraFwÐ94ukÚýì"ö·ä|]=Æ|ÞP*,·~¹>ÕQc8T/¸Tkqµ[îÿ@ܽ¥c¹e?¶Ã!p¦-ìö6d-"M¢,Ū^I+§-kÏEèZ¯ÑÍFXf§úRsò¾$ÆR2õe¯á½æ¾c°Ó:VÊy÷à.1cç½
-º*ÉUKkUW|1Üf-_|ûcuk§C÷\tû'SÓ¸¶ób¥j÷·Ý´Ûï©Î7ík¼åïéñfªàH!æ¦yWa#vÑZhViÅMJyCê9ÝàM#å®K
-$V¾*0WFí&íËáaxíùìÿ8¼úÐ ¦ðíô_ýÐÐ
+xµ\Y$¹~ï_Ï-§îLX½]U~»Á?À·açeþ¾#tD®ÔôxÍÂPÙJ
×»oß^~Ýöí§ý¦6¯4üNü÷ëß·¿ünûÏË
+Ý®og×*ñ}ÃÿþôÇüãë?_?ñ] rlÓ:ÿþ÷öç{À2¤| 'Ï$£ùÙî7_ÈÆßL6e24(,¦gôÍf²é7-CÊçBGóón
+QøÅ$ã3<ÀOD¬×¡ù4ô^þ>³N',AwH^«çZÊ×Â"^ÁXXiÕÚk£h´Wë¶SB"Zu]«§½Ô¶ËOùñSkAÉ{¦ÎõëF^óËû
+H"ìÇMoïÛ~ÿT·°©}{ÿÇö³xåïÞéýÛû¿^t7w|ëgø»ÖÃzßø~íøø¶ßa;ùí§7Þ|ÃäQ£o¦Zñ'¬âØãýåK³K£ì2SÌJ¼ù3
+ÚYaÇݾ\0Á¤ÕõcFÉ)XØjBD¤þm±gýA"Vh-I,-eýß±ªÎdÑkï<â¿Þ¼.v6éÓ>Ö¤¨æ¢ñ¤^öhy×
+#ì
Fôá3ö(S<(4X íßX<ÇYðT±%ã9É]+¥sÁ»Cf>Ë;Oºâ=qN&^ñ¾b]¶¤eØ»äLk°³Ì±ovÍõ7õi~xÒÂÜ
+#ØTFXhßkÁéû¦%aØÈk7µPNé/úRË@Ke°T /¾pã9EOååÌ若 H>@¸vù #б>D|ã]láÉoç´2.J`i±Ç$$ë¯e4äkç¯4ÜÙÛ[ÁÉ2Hô³ìçFÙa®àf짿)à dAOC¾=Î)êÌÅ9^1óÊ¡ <¶ïFÞ¥ÜÒ×pd
+°»Exù¤Ãd^uí¶cãñÌÇñ
+-;æ¨RFßç6&áuÄá:º;ì%oÛÈPø[jq£ËTé.Ùt*VI
+/<FIÒw±wDaN1öÑÙ\¯
]c²%
+ÜîÓHÚ8Úu^âü>Ȭ!E_·úDpLr[ͳx¶QÍv»°3Iý4;û&¦áQE°ã'#«D@±Æ`6aTÀ*f-ªvÈé2¹}yOª(³·C)ç`B>-0cªà¼¶9¨2âêÚp¾µÃTå
I³5Ì^ÓX6ÁÏþW5¸ÆüsÌËRúÀaV<§ÞÊ_äÎc-ÊÂ3O¹}0â ½`D÷ÉYÍ+K¤0ø_ôà%½{|ð×'B¾/¸
+ØÞ¶RÌtQÇÓÈ©wì)ðúX_DD@
+ûÂ]».b½+ÑjImÕ=Pâó
+I¤ßC)°EÜäûï Õɺµt¥Ç¸ös¯bëghG*ò¢§Òöà±*v΢í2Óè&²åãѾm¤çò°¯ÚW.r9ÖàRï&L¯õÎ-1W¹5ó¹1ûÂÚÆE<F« >«¼\ã¯/;¬ð-E'ú Aïc;Ð6âïxªð[¨#_
+hÌað4æJµR(ÐDz¤Ý͹PªzÌçJ{H£ëQ*®N~tR<ZlDB»8WI\>ù©Båy,tÝP´0ûVíÃb)ìò¹Pê$¬dÑÇ¥¸0¦¡Y,)ì<Ϊ3JÌÉRêî¹ùñô`|ã @æIJ=î ¤¸ÌYE>Í59¨³C+ì)¤nÉà.aîùr¡*jù=ñ¼%:>JíÒ
+¸û¥!è;§³¬Üræ;iÅ,åZF¥æê¨É6!?&ãtѬD^FÙþ«Õ±"¤±¤ëR6ä,"±w·Ë,¾ìä%ez¤b¢CjÆ©?±GUâÉìØæú{Q:Z[0%onióÓ]ä.çº_Z X÷Qþ¬Qí¨§±#âE,NK½\2o+Óò87Öë¢+îj{Jð«zÿB¬FÎ]¦'ð¹G6QÏh¢`ÝËÜVDs=3дßÖCEÍQ{>D
+Áø
eu¼´ÐAÑùBÇ°Êzð"l&`½ÎU¤ùÃxXªÉBIT_ÏÇñX72,·4¸Ij 'ø 2U"|ÐßÉÝx#ãâ¹dvWúNeJÊ0mDÅÓtTõmSN 3iCÜ#4
+ãDÓ_æ_ DåÅY([g¦?ÊêVtÆ7|kèEéO·ºDÊÓ«ß½L Ka_PZÌX÷K ç(~³ûÊÀ`
+[UÜ°ã37ÊN*y"üÁ¡V]Õ»ÑÅrüThUre·ÏºüÔáÃÄJßEUlåT»AÇ6òµêdñ!ÏX¤P®¥ÿ3¢ï5¨¾bpYÑÐ fv;Á _u-\¢u1o ±±)ÕTÑ·¾;ídô¶s1¥¶·ì¬LÚ¥sÜÖ²R-Åz¸º¿|Úï
+A8h_W9«rÂqP=®8¥ÜÆö
+eibΪ÷xâÉ9¬>úÈNÈPìOõi¬Y!ÇÜæ
+´{¦"¸)hõâã{+mÁ:lÙ¶·ÃYËo¾yPm Õo;0¦îùúÞføúÒÌ{ÚTÞÅh¼gpcIÙ¾wFHb-~{éó¹°Í¡-m3Ït¶YATÉö¦Á&¹'¡³\©¯ôªJ(©Ù¹ÖàYïM0)¿JHÄ1\ú´áI¡Î(Ù ¯Ã Ùë¢[T¾jJà«'© (¼_Ûi{«º¶UJ5TëÒôÙ'T{»:L/t½cF´?"ÿi^ s5¡pÊÏVÂã×õ1>0çIz¥\ý®T'«¸ª)ï¾ÐÄÈÍgÎg1ÚѬhSg9;&ëj"rðµ0åË]i:ÓóúÖ·ç÷SÇ»9³Gþ¹Ju"èÿ/gðé¹ÁôEXPô9åʺøòÀIy¬ÑÓ×eé7}ÉWÔßñ |þØ$øi\z·3ÙøÉæ¡Lå3¥Ñü/Ãd²ñ7ÍC
+Êg"K£é9-?$jAî0ðöäëe
2·£`¾
PKX-uÍoÙrù¥æ2®5Ъ$f
Td«jMZm~êËÆH]¿Xçæ´Nr~6£{LÝÆ /ÀCPº~6£dbKbB)¤C¡+Îî«øéMKbqfÎÚÚìÖWީͽ¸)*õÙé:w2
+æµÈ¾ãl×wn¬ÂÉ|®¼s3ü:ÕòÞ¸+Ä3¾½0®Ë(üÕÞ¶ù¡ÉR6ö<&Ü-®¦+Mí²öjz¾ø0K@êãzxDz]$^ -ìt¸E?«É7ئ':èn~ß-¸xÑ^¯°âñwÖúÆ tâ{(5¼\
+N¹Tþ(AÉóèÎyçÓýét0óOÂSëñî<ít÷ÀVwô5~í_}9ÍÆ¡~Ó´PÁµ(ïøä½æqÚJ
+ìö!¡Vi¾¬þp_p
+tR(»Ï*tÌ<ào>ÏV³Ç|µ¹fócI÷ã]PßéT^Jth
+#Õ^SñuÄçÖ
endstream
endobj
258 0 obj
-2938
+3612
endobj
260 0 obj
<</Length 261 0 R/Filter/FlateDecode>>
stream
-xí[[$»
-~_ÑÏoå*vgºyÛd !O¹AÈÎy9?¶%Kòµº7ì!zÛå*Ù>}U=˳:ýôôÃi9ðuU:|ú=~þø×Ó~uú×ÓS6zO³údÙåÿýî7øåÇ¿?ù fWÏÛéëIm{x
-b÷Âe0b±yÄð¬g±<Å.F¸FB,΢cK³Á{ÄcÃçYijrólìµJ¦O?æ9Æó8'¼ÉÃ<Ç.á!Î »ò0ÏÆÉbÛdçÁ9±y¨Ì?îsÕX
-×'ÊIß¼y¶! ¶ Áû_N¿¾éZNïûã_.gû²Þ.ë7Þ^ÎúE¿]ÌËjÓõý¢_¼¾¨pÁ¥ñ-Þa¼øýò§÷ß>]ß¾Tkª´Þ¢Î^zY·$Ñ
¥õ^× ö¶EWmø72ÝÇY-ñ,#)2¼¿(¢Vs 7ü%É+¶´ÅEA{zú5>ç¤Ìr*~ÀS¥cV<Ú&>ýþ±)×Ý/¦\ßsÀkÚ¸v¢ÒNØ®éd/4nÚ?ú=_ Øq!óÂ
-h¶ä
-V(é`.VlÄjO°Ù`ÃDV¿7ëH$ÁW×6çÞ3ÎNN
-òk¿]ξ@¥%bøyluÖ³;Áô¹DÒÚ+¹÷nàÊ0RºÄ8ÊiCʱ0&O Ez2¨Ðßbÿ
-³²eT
-!áQq*
-¸JÌ'ßÆL¿J¡5СIÕúlZ~Y=:.îÂx¸Ç"߯4ëÕwݾõìrïB®;8LY¸·ú/§¢p*j
-sp·ÕgÿðLTÅÈÐÂ-y×æ[J+àJF©bC%<m·eý{Nªzªÿg§°G@FiA÷?<9çñùÉ×´ÏY¬·Ö/g±ñY¬µ×!Ù5ßGÅî¬~x6&o$=Ì#¥ÑîÐÆ=ënáã8êÑ12Ì Aù±éR¹æGÈ9t¤( õ2^NË£d¸Ì%÷à<x«}#kO_\pxÚ¼?í~Âoi@<@Úç:P=¸Eu^ÆæF'[»^TU*e¾&D¿äª"a qÞZ9@[ô+©zÇïÉÂ%¨Ýmû#(
-Ó%·}aX év6rü*ÚÉÌG`IûCá5ëHÍä®Ðªðª¤«IEfq6;S$ NH}/js±¡N44
-dõõ¨Õ¨|ú^:.}í¥:<RɺM¼\Æíe¯ítR*¹ßE÷·%EëlsàN{ϲ:5rH6¡P;M¹UPÑÂíVK¤uëÀ o\mí:«:Qæ°6l¨$ZCÎêÐCÎyåv$ò$tÆ¥f.<,×Z±`´¢p%kyè;1×£Ò!ý³ÑÐKáÆ"64ªmÌQÄ©KÔkÃíYíù¸³Kß;I´.L e[ö.:{$Ð
-¶£À.Z½Ãɦ³D2¿äÅHy4¡vÿÈÚp=ØhN`OqB#"æñ,Þx¦Ç
MTVæ¡(D
ûQX_
Z
-ë\h!=e%Äë¬+ñ|Ñ+îæ|bñwd³uÔ;4^Úáßf*-e¢°ý_Ó¹î(hÓÑãPó@!
-Üᬢ);èÖ¾æU£ÙU[¿Îµâ&íÿÜä³êQ?½'þcßj6åb«¶Ê×[ü§dà
ïKVy£6Kdþ©Ì@&ûøê§5ÍQ²7~ï¿Ælv©ÆùÔîÝ&a¸û §Ø·á¾ÿÊMñû§ÔrØ&¼ }Í&äQË,¤£ê¡ÇozôVÌBA ]~¸ÿEeÑ^¾M4
-³Ï>þô¹ÛÚý¥Ñ8vmòð÷ãâMëøÒÔø-eTUMuýªJ6Õ¦¯æ3¶
-ÿ{¦6FÄdqxÚ{{)ÒTmúç};täè¦ãW'þYíþöèdL³VɧOÁ!NSô8í§Çº-Dh
-bÌGe>Jæ,5¬7ݳïèq¨y'
-¡ä¸/RÔWO"¼ðÝ.iÊQèúøCR½ÓJÙÒ
-¹(n)üo½[_Ñ¿g³(°çôIfÅ$Q·
Ç®é»\=
7mqß*ÌbyvYo¸ÚklMóÑñQÍFªÆØK¿óvä®QÂÎkÀSÍJwh2Û©7f7Éf ÷Ü¢©õ®ZíêUÁ¦áþb}ï]±ó$gi;V#BͪgÝqð¤¨H¬Kî$ô^í䬲NA½ôGÒXïé3ØKYøÌÁé³®Ê
G°Þ.
XÚ¯¸CU±àHxêZV
-·!7ðç¯OK ²p*ýIâY¥?ôÚâQÒ÷ôg#5-}[Gã¼TcÖܽ`ªqdhT°Úq¼æß@dH~zæ|Â?{ëºÅ"»F>[ÀUeìlù* ^bi³Ï
-t¸ð¤åæ
-°¦èVÚ?¯vÈ׬å5\Î¥LäóR¡"·%½»<ZÏ]JÇí.ûw[ó4p³rå9¹²ºÔ:§¨3µPP6×Üâ/â© ¸É~£ëWÐǨl#ô¼HDán.DÃìÙ1TÈQ5ìɳRÙQ
ÈFç§]ªZ7aYp}-jq¡³0AR»Ba¬s²ãy
-Ó(T ª×Ã
-#Á¤{iérÞê y±²Ëw\xnBp³°&î ÕÜóéxAnaPq0M8j¥»sÂÁ!GAwr:![Qt¢*'>HÒ®h
-leÈFû®@?!ÎÙÔ±pfßñ
-IBôiÍ
&êÅÊa)¶6ª°ãv4,V E²ÑºK-,eàà`sÕØR»²½c/¯N~ï
-Æ`X
-~Jr
-ЮwÁÒ-äf&vCKPAsKsª¨½ÕÊÂÙ`/¥à
êaáÉnTÍ[E«û1uTÉ-2®,hÕ&*ùª.¸R¹ÊRX¤QÀɹ*3ùaÞqµ
ÓðÔÖ÷Af±a©N
-úù*û.Øwïi
v<ϱoÏ ¶M \Wâ.Þ×·©Xk Orzm2ç7Ü°ø¦\5[
-²LäTåÌ÷½
«(ßJIʼÑQ at TÝ=LxR)êv[¥2µJ|_%¯oÊ£RsËFðÀ³Û¶*Q2ý÷á&ÊƦ Ñÿu³ìè¸l¸@;õEqLÑ {÷`Ôsm9XÔmÍÂ
MÙº ËúK(zU©'åI
+xµZYä4~ï_g$ßf»;</Äà í¾ð÷©*åÄvY@#ؤíëøê°ËbùûöiË×âE.N*ø¿øÿÏ¿,?}µüuû¸à°âÅçq)ã®ãbÁ¿¾Ï»éa®æþ¹X¥òóË7^BÁ¿¸f°}ÿsiÉàhzwFÀD6=W²e(áÁö½åÑüò
BlÊdê`û^Éî>Ík6tX Jzvè³cÍ+ùݱηéT·Ul¥ËÚ« AëmÁÁo{û&N1úi©àûðvÓ0fP
+ð%Åòöëòß-o¿ßo·»¯¬|£hÓG²ùH9ënõÆYã\twg½öþ38bá_#éÍkãE|,58íV÷tHÞEfdd/fÂ,0#
+
+
+0#F£ý-h0ýôy5
+äÓ^é"XCÒ[£¢ÁÙ<Ãâ`ú·Y
+ClÈôçbÕU¿ffîò«®<,t¬;ÌGYïJìhê
+Lekµµð$[îÐz:?÷<ÑéËÌÇvñ&;ä(ÍøBi g±¿Ö1juàû¿ÆÌ×Øì©Ö3ÕÐõ@\UïÍfGü¦ðËðh¦:¥X=æâT§Ö÷ïà)|5öÐ¥ìïÈòÕÇ¥ÈÈ,íÙ·VñèÏÎÍqd0{¹?ÙXÜeY$ê<í8«(,¦©Ëý7©KzÀùqæî
+i}^Ä£!ËÛìE$Z²ÍR}^Ú¯}ÃI4ápñÓ:V at t`úNºå»#+@Aô&P(Ã)Ä£[²»|¦MUüHSÉ
ëMÕgÉ`¨õód
+ð=óSWêètsù¥P@ÈzYB
+uÿªOu)k×MNFáp%ðU n¬0_È@ûÒÚ:Xó¼æÖ°¶Æuµ¼FâÈ6:ÙÃm´´1I#Úk+@³@[ä8ÀµM5Øäðèèh9VÔ°îi°!\¤?}À9C "@¸EÅhggôxëóãh¦
+ÔÖðÚ÷ æN÷Þ6R÷UÕ£Nßû8; ºIyFÂàAÊm?® ì¥7µîÇÕçRòøºkj«ÂFÍbt*÷7é,ª
+m³)A9,N¨²t¥ç%µ±y
+ï¶éÈE>}§M«+Ú
+53·è¿ÃóæCüø"û¦ìfE_"½6¿µRURÒ?õ2q_zÖËÔÊÖ¦TzæìRWÛ÷ÒãÑüNQ&KÏL6e2u°}¯dëhzW>Ö^fz®dËP"Ãí{!Ë£ùÝ¢g²ôÌdóP&SÛ÷J¶æw'",=3Ù<ÉÔÁö½Ý}×lèt&kÝé½ÑV§¼f¥OÍu¬õcåíuP5
Á$5·¶Þek²º*Û~o0v=ùmI~Û£ê]ý^:,3jvûÙÔ¥ãnÉùøðsLÝPÍû6E;³',N(aÃãy÷DUÑ
+HìK¹cÆ4ì¦ùÔhÓ)·[0cëI50û_ÝRÓ¦iBÁÎ-1ܦíZ Vð·§YwnÔ¶:8צÂa,ÓÙ¹¶
+fÐÜ£
+nÊ#tö\Ïñ¨Z)wùô{Ì¡Æ·´Î'ÜL®:|r×ظ½µè0nÐ:OÔ6 i3M2paW["M>pç3´½º¦²nªÿjîÓ¹k2UYQî
+¢|-Tñ¨ÓÕÊHÎSHYÜm õÆ î²Vå(é@nþøè8g^(gH¡Z}@K¹×ÔÎ;¾ÁâÑÛV:@®môÚ°®(6~«Yì+WZ çÐ@Õ%95×{p=×´þ5¹[
+Ý\!I±vëh*¶
+ô¢çÞq¬ºÚGôa*É©üÒ
+úq;UMÇû~®øÒ'
+÷úR:
+ÁÆbsºI¼JðÚKÐT
+ñ¶VRL,W#«½Æ¡Úð:
+&u
+ë½?6@9¶C$/ÄÑGõAÚñfaÆÂ&NÉ;çÚiÞ'MöZÙ)8uJKZk²¹¢n$Q/1fw´ñ)õB ðX«ljúUjÅÛ]ú]Üô#I]k¶éêKìæ 1æÓ8,F(ιòžqTÏ#m`^Èܨ0¤Ý*àÙ@ÑgzXa¦¡QR#
+ókf¦¾ÑN°{VYj*#,ZèùÝ8÷ôB{jùqù±ÁXø
endstream
endobj
261 0 obj
-3611
+2637
endobj
263 0 obj
<</Length 264 0 R/Filter/FlateDecode>>
stream
-xÝ[Kk,»ÞûWô:0Në3`{fÙÄEÈ*/q wsÿ~¤ªR©º%u}}I0´G#u©_=ôùQM??ü{§Ó>z¥Ó3,ùùÓ_§?üjútæ¿þþðòö ´}\¦ æÇ8½ýeúõÍMJMoûãSgûäoÁù×ó)}²ç·Oz>Üòäµwé/í`aÌM æ|ÒOaÎ#Õ7ð\`?ÌSXVUj¹Òrö^Õy½OkÎF2½H¯i|&®L9¯ð_E6LG$[¢Ï%ÆoþºbOBò-b]}8áñ &õ½®ØA.õ»Ìtpë7Iþ[×áºÀÇ¢F5U¥Ô| ¹þôöÛëÛ÷
-*UºLëí½7G~ f#iEøtØZJcIê,ßò4Rt¨(
-4I
-ó£Ý"êµÚtI
ì¹;½§¨½=9Ï;u» ñ1LÞ³á
-e'¥A ÇÐÐÀÎ(O
-¾¤Hn²NM3+ÖeÌìÏé1Ó7yLb¾¦J" à#(
)³{Sxx7ùH"àÎF hA''«r¾MYX³x*Nô¤u¥8AEüî7¬¤¹¤?µ¤Lô>é9¦ÿØúçôûÙ~ì¼dÍq¯l¿O9V)ÑRcV,´Yê%2Ü+ÛL{Y¼:0YlU²¥ÉÔ^Ù.dko&;"&-Az÷Ê6åÞDÖEÅV%[zLííB¶öѲ
-ÆV%\zPííB¸ö®ÐªùÚ¤>¡¾Ú,}UµI}ABª5øÂ!ö¡°oÑ}Ãlµ[A±»Á}$íbkUé|ÏÈv}Ùn,Û-e»EF£;WJÁ$æ°¬'5cT©4U÷ ]=RÈ´Ärzød¯g
ñÛæÔ¹w>{µ³ZTpã
-Lbo^qQA±xò9¦°Ir×ÂðÛLüéƵ!èËÅ¥!¹õ±BÍæDâsòÒô%0nÓ'¾óûZêÍjðÓ QG¢ùe"}$R³V˳EF2h¡Z¤L«r¦M1Aoâ4`fqT ìZg Ú©hxØÐP
Ñývi P=*Þ [ +Aìm)¯X/IV1#ÙøóûÃLö3uAÂ?åµÄû]rAø.º]q¨Ø$¯^úÕ¢0¨²@©($\U'¼U·¯Á$൳[
-
-Ô
-[¸À`Ñç´9s¨\~¨üÈß©KîÞçò^læmø»ÈC.ü]¦7¿pÇÇ]øÓ²¢ Q¼{ã¶ÒhfK{æcáélá\0Sy[¶³G(C\±ªÃQù5W¾o4Ú'äñõY¤vÄvÑÀ~ǹú#FÄ[MaªÂ8ÅáX²¡ådîÙudâ-Ø3ÞûaN"¹%eó}5§µ}ÖÏ»
¾èû<Wv¢*O_èøFæÄ*oXöOÚ¶¶ ?åpúNÚç)=}ÃSßáö2½]ÜÿBAb£~Ü2ß"Û£ڤÿÝH×*Yk¥iHfOáG2#|´ÏVçRÿÖ&ã\¯´âÚFÑþº´åü>³1ZòÕÏr+¯>]#õQ¶îÚaThEwÊ9z
-Ç@àê Û2®`Þ»Õh]¡mºuÁYbè³OA¢ÕÏ¡FüÕ'1ÊÕn-þ*ãM5k}¬Û-êtí
-8qUj{¡Þ# >¡Y='§/CôíîYÌøÆCâ¿
é¤evÃH>sÓêܹ×ä9»¡oÐj<VϦeÉÈ(©nÔ
-Fq¡5
-¹a1É^¹]òÜÎuà÷¸Gàëpµ Ê»ÉÁXo9c36±a¬ÜÍÚT$²ì°ÂÇĪÃùß×ä_ëIþÊö?iÚrئiMÎwøouQ\nsX}P±JÜ>g,Ûaߪ:(ûq©:¨[´r÷0Ié?»g¢I|yªg9ÓOÝ7ííÑ*?ò\½qDØ4bÛO©vdëÏ#ux×îP³ÞÂãC<LÌ
-ü¾kb5$ê
-ß+ƼQpSsñwãëàèÃñ]N^ª¿¡¦ñÄÞx¿9¯·yÝ¢¼fqÍ¡Gò^î¡áÉÖNðò9´2^ýΡ
-ì&¼Ã
-¾´øPëÀ]ùs=¥·xL
`é»ï\ê1Fm\
-Øq26òÒtÁ]Xñæ·YÊ5)1}ZÄnÅá¦/ßÁJ×ÜÐ{Í[YsWòæåpbnÞȱ&eZ?`FÛ" È»
-u ¾²¯,Im:2Ïe0Ê~Y«ÇÝ-IÂÚr$¸SÂòÊÔ½¶Ê4ßÍòe#m
-Þ.;0kå¦nUÀÜÅÜìû@Þ</³2&¨çã½`Í_ÑpYóu)¤6BØÈâ´»z-ëzqbËjuU<Yzå&;:S}c×ýö·µáØÞòRô»¦ÖôK×yÉåÖ©8]ésÃêD[£!Míî^ÇÑ´á°¥Ymã
-ëÀõ}À ï{íçÿ==cÏ»bYBWÁY3©coÄ~/Ùå³ÿÝi÷|ÁÑØØ¡(Ù$á¸"ZO
-(,9OéQ0¸yÞNyû¹&~rv£ÚZ`å>T©u¦_ÝjáSßÝtiúJjg¾þ
6ÕæÍ=}îJ«ð¼*Â]ºyj
-}7¾oüñ²ßôË~Ôo©ì÷ùqPõ«¸¤g¹>-.î31_;¡U;éM1²ÞJÛåÞÏVÿxq¸ªêÂM)Т27-Å£©TèóÑÏ?«¸9!´Ð²¶Oë6ðtÀQÀ9Jx²#rò©]ç¼S>¶ù[e
-ĸ=¸ß ¼éNphôï3ök¤Êv@íVÕeÕAêÏ÷XÁ.Ýi:V(o8×e*w¥ÅcâàGòqdþ-3áÆ
¶¾øRÜ4ÜcÇMZîeEúë:ÿÖè7E¹Xl}ÍAff3ÖÜ÷ÃÌh·kõï3ÛÍ_2ûÁ4kú<ÀZZ°¤¹"ÿ2(aØØÊ?V±g§rÙ"öz7æehÖ/GÆ{KÛùöªõXà¤õ§"ÌäBè¨S3TK¦¡U
-QzñwµW¶¹ÒâÞ ¦TZÕßg@£¥>¤Á}¢Y(rp«$¡QIRÒà>Ñ,$¹o%<4Ö³#uæµRÛpYõu$ùF©ÚF-¢ÙÈ÷ñß`¤àÝd|÷`t&ýâ_`ôføå?ÀsséÉà`$MÜèÎëìày,þð¡½Fu¤¢¼ý¼º8LõS¯-(/6ùzpÖ½ÅQNÒä://[Þx|Ê×/ð;KYà:*3sUe½ã¿õå?<o[nîðTÝ6·D¾MÿÈ6¦
+xí\Ëd9Ý×WäâúmK#¤îÊLÖZâxHH 1~ípßYS,XÀªÎ¾v8âÄÛ®ëöï·Ý®Ûo¯wq³BÆ.ÀÏ_þrûÓonÿL_ÂüÃ[þÇ/{ûþãMÞ~ür»Þu|]Àãwi]Ð7qƾ»ôíÇ?Þ~÷ïî&âà¿Þ~2ÚI+ìÃ)¶Á>í#þ|X'/ÄÏwym½5òúýíÇßßrï*NÿãÏ·ôÓ~X]¾*.]«4S9g` <N{¿µ5ö#½õøñösÝPÞ¸d¤Ðzýîa¶ß=á£
àHJpÖe͸c¾W0Gþ½%®÷OEoâ.ÔY
ß9ùºaTW
8»±OwÅK§Ò=yI"©° \ØJÌ8»¼«wøÔFªïîøÿ8"¿dÞíjçtýidë\¬ÂUèo:"Â)b¨{ÒÆ(-i$&Â
+Föçp(óAäàÝþ-;'ÒUé.0²®òqXËÈÈ)`#§Ëµ½¬ê3®©Ókòï*[iè"¾ ºkÒº6JLKFÆû"0館"Ê$¯h5AÑÈ-×wý±Û
"Õ*» ôe,å,|ÜÃG9«Q:óÝ]V®ÈÕ3q
+xEÛô"ü;Ed&¦Æ%zÀêi
+Hð´ðÎ*&Ã8£*¸±«½+l¾÷
+ÇZßù'-hxÎ?@ûÍ¢Þ§xFú#?ã¿düíhúäMñy=ÉÝDX®HÖFábú
+EvMiÚô¸.íN³/5Ú,²QÆúÈÍ¾Û Y®·rB³Ð«
¶ÚE$'·µÔ¤\Udþ¢]àÜJ£ÙÑmÇ7l-éHHNèF,Ç þxÜ#¿·iY^C¾öÎ,øôIä_â]ÿÏ ?ó2òÏSø"uáE´èe^ùÞìß3²í±4öƵ^éÐÑkkϸûIüïãÏ_ïµWJèw) ´÷ùB¢qÿ?}*jU +9e¯bK]}tØâÁñ J%?²¶9Ð.3èr|¯ÚN«þ[?±Zzêv³Å²ÉFÊl±XÅ\d=äO1úI£¹fÑS^ßo,ø¬2® +µKkçÕìwøì.»`kXë#ÙøBüNHÊ¼Ü 4»VßÜpSÃøJl¤ üò=#¶Oã¾lg3?5q ÚQ|J1fù[2VKVñKÑ<qöå<Å#çYHº½1ÿP£¼¬-|ùNs:W9çC,|ô«÷ºE|ötuv¨²'ËÏ=Þa+JÝå[ûLg.÷åÉhQv7ã"k¹BÛIñÎU¼âì(êOÒ´!ÁR½øuèº[å-KcõþYmèÚÈ£ÚLßkJòb
+K2÷ <
+FC¯f&U[7()IéÕ´µSSu[«é<©©&aK9<À~*·#ì/Àß<TÎ4ºWäUeÑÔ¸7¾Te"èk2£<:\äÍñΰàT&ÊáêPf5h
Ep5µ8[èËQl¨:e+Çá(ÊèMëVÖÚTVìUÑ=GøkVÿ/r*µ
CÑh¦t¸fxRbÖÈBdÔ½Þç0µËrBj¡uíH^½ìi`òTRÞin
+ØtŦWóè&-ÂÑj³0ӪͼhTém,"opé,.x0/WOf9Äi=zy¿ºTÿ%æÈ8âÉùknS¨È
+e`IY ýðÐù2__Ò£XÈ´ú¬ó*YÆKn=aNä7F»tη4T:
+£¿o ç«UÃÆO$¤<®9J\_[r ¶<%ÐÜnsfk&åÆ.a2FøÏ6O,&<Èæº×nO\«@9àº,,7©§ü¨ê´¥ÜmmN&,H ÉNke¬Î£©*^Ô¨©¼Môm-ý©Ò©õXèÚH½`wÀÉ+7øÊsÎëȲîT[*ÀÔþª>þ¯ÁHö¬"ò$Mé¡`xêy¯õT\Vt£ã£¨¥©ò¢Ê3È`ÁßQfæìÍ$Ù®6Aq±dkèí°¾fUñÒ]Âm±êLëDGKLÉ[v£yÆÑ ðOÅím5ÎÉZ¯Fv²,ØË!d:× oèM³y?0·£+¢Â)ËTÄÀt¿Ý÷ÀÑZjq¹Y°ëãîí!`¦J%G¥ççß<c>ÓÐÒMã`¹³ÅÌξ`Jó¥â97
}Õ¢ÊTÜ*«Å¢z{îB^º¬÷èËÍâ]±:sqúI¡RQé{³PC¶¦ê½yÀ|j
§ÉÂàÔ³]²(:±#2]¯cõ³Vvɧ}oHj¤\*SX°à ·«6¬ÆN
+jÚBg=â²Xú¥ u*Þôá=β
+*XñÑ÷ùb©¶ÐBÒP:
+¯YÓÀ~%@Ö¨QÓMôÍp×¹
+íMÓBKë\õ@Y¼-ûÖAùé Ò`Æ"Ví±¦î'*ÆPRÄ1Æ0»²ê*eÄ¢ì§*TÑ5*Jª9¨4Z>PCïèiÆÚ
C|ª4
+1»fU-G.×K±1×a¼ÉdÉÕj¼¢`{C}´Ñ$Ä
+ªØ.*ÒMÍÍþhk¢4mÍ{&¥K*å?äQúI>üTì
+pmOAÆ
+3áÇ fÙ¯j»³Æ;UFÝÙ1ÀlZe5¸J-«ÂÕfà¡pe7xÝz°
+ýg¹|ªqÚØe49øÝz(C}ßGprÎGè
+?;ÐÙ(ô©!×£
+´É b}µ Ìp
+_ÒêÇ×X¿Ì¤>K-'EÜýº63ØõIkY3ÌÈËÂiÑ=xv½ë:¸«Y
»YRÞ ¿Öoö\w8á£Úü|
s"¬ü*®Ã
+8£Eª'èÝM·D¯jv ãõâÜ£Ï,NÆJóþs
+Ìm.ôb)ÌÙº®DEètBÒ5CºqçIó¤Vh×å.,Ànµv:E&À=±^¯A{>ʨþ!è¾6ì3ÇÀ9þZÝ3«F¾P¤;;¤Ô4
]ªËS:+(§¹ìt'eåcìÍib<Y(\z"8^²~Þty,öD=EQfªfÒ·EîÉFBÝÈ>ʽÑ#¥9:A\\ð
+úëf§#>¥ÃÕ®?ñkI]d9v-a,»®Sâ¼FÅðx·®!NCßâ¸ÿâéj¸Ôw.«Á¶·WH\H×G¤9§KN»(YËL?]åy»la*ä&õ
+gFÕ`òÉüFSeËçÞdºm'XBˬ§åj,Üp/Ù6ulX»ì[e§êγZ¤õÝjÏ<kÎçæ2Ylì05µð^ñkY5E¥«0ÎÆcxökÈçæû9qA¡+ÔþbÈüêÕ½)§¦>
K6o)gËr· ·ÎAÎå[Òx3{}S(e? ¾¡P¤
+Ç}SÅ%a-rUkkª\âüÈX"´x{u
[oî1Z¾^2*½ÛMä{IÍD'7èðÖ]õÑ
èÑbØÂý
+q l@ÆÚøIp>sÄ_ðïÛÕöe¶
+rgAmKÒÆæ±WæÚY¥FNk¥Öîën'KÅõfwâaæ¡Ñ;X
+²§Ýw[kRG3><èMj!ê/Ôé½ä4Ρ{³<pW1ý
Zù^ÆÏ#âþïL¹äwÁNçDy¥Îç¬ðåGÝÍ¥ýD¡¡Y>A®Ã¹4|öNLJ(Yþ óZêR~©òW>³;Ï+Aoý|û4Ç¥ñ
endstream
endobj
264 0 obj
-3151
+3789
endobj
266 0 obj
<</Length 267 0 R/Filter/FlateDecode>>
stream
-xÅVËëFÝû+z°ÓÕO Àwl²ÄÅ%»< d÷nòû©W?$KÜ<ê®îªS§NdO`þ<|2Ö->&pøGúýü³ùá+óÇáÕ9¹ñäØî̧±¡¿ï¾ÑÏ¿2z°Þ¼gÓÀÏ¿ïmõfO¹ZÚêÍÄ
-]à«BO1L
-#`1yþçxh¼%ç8cµq/.miXzã¯X¤T¬XKÀ9ªÏ§$PWî±'Ë;(¾½çtk÷
->NüPeÅÞ÷J
-BDÕéH_NØ m§Ä_Xæsû¥ÐÑøô±Éߢ-(Vc¡ôÚùº/׫QÙ
-ßãï°*C 1÷ï[yåAcå
qmTà'M¿ýZ¸WóñßÕ
+xµWÉI½×WäÙàÜ""¡[UuoÌxÆùýy¤V¥Ä6µª2Ö/"²ùgúÛXóÑÎΰóøE¿~5~0åCýüü>½'gÓ@Ìùùc³Å¿Ob
ØóÞâ{È$&oɲóã<N,ïxÔ.^ÏæücÚÎÓÛ±Këçpçòõ±çLÞ)yëím¬Â¼ãWDÔ#þ&
+)r`ÁÛMcF'äÐO&=Mîcä<EN8ÜE$<,¹y9ìW|¦ëÇ G¤Å}[x©8üÓw
+\qíÐM»ß5»{Æ>bbÛñÅ=µÿ¸ÉÐ~+yH±wöúè\Ö"É$Í¢ÄÍ¥çbʺVÃÖ
+³@VÓkÔ«ãlÖÒZ&¿p
ÂoÈhGf`ìñÜy¢Q
+^ü+ÓC;çVxnµvý5|{ër?Q~ÅJÞDZ>ùN>wßàÚÛ× g:×+èYÛ×B½B5SB!r6[=ó¶çOÕ$Þ2K²\ráz¬(MÔò
+MmÒ;{íM_[Bz.ØZê9Sk§ÄÇrô,V ùëõõ¿/áÛJ|§êC¢ÇwAÜ.6Ïc¡jòÁ5Äöq@^ºÁ¸cíÜjT°brÒñÜE= ¸·¤0¢eW
+å®[¤Ü»\.O¸Ð
+ÝðýQJ=núUofG*M
+Ôâ¯d£-D¤,øñÍ,é`,îÓÄïm
endstream
endobj
267 0 obj
-1173
+987
endobj
269 0 obj
<</Length 270 0 R/Filter/FlateDecode>>
stream
-xÝI3¹õÞ¿Âç;¥½ÆÐ}Èm !!·L9f.ó÷#éé-*IUîå>ð×®Þ¾yyV§?~?-§óþôJ§Ïóç¿þþÓËËüï?½~<©°>SXì³;}üóô×»²'¥OÿúõâìÕ\¾ÍÅ«ëY_ü-?0åÏÿ´å?¿=¼ï·ò=äO½\Ïîb=CºçïùÏôÎÀ!~ÍîzV
-Ú²ê-ØôÔÖ§!Ó<2t·AC*.ïðÈÖ#u>ç{º}<ý²%¶ÏñäW¤q'¥2iÛ8[ H,Ð5'ßåâMþ6¯µþQÑW dô®/
-ñßÄß´Û.D¡pÅ×x°¼!Óv¯`³8¬øÔ¾db[]øoii]b3Wµ%p·Ì °VéýE¶¼ÅEº¢/Yjg²â¬zÖ¬dXÿÙ° âtØd+!8o)VÊT¹UÄ+7î(@:};sÓçXÐ
-\p¢èCx¤ÀÉ1 .)öþ|MU±rUYJ°&g|D¼z-O¤8$íQB{
-ïÂR®¤¿eäXâAÃC,ÂëøJ[ö(d"Ó9ÃQú{-µÔ3¼0U(N
-\N*8¡ßÄ,wð9²>UÆ&|VyØú(söÐUã.\
1ôú
-Bß;èoã£3
-6¾#Ò¡,±s'Ò¡2ºD-+#ÊöØ«áºvïÛ [×I,%Û3¨¶vÊXD2ôÇõý@ÝmHñuÏ#NºèSÌþÿ¥òâNÇJßé]W^´¦cÑË÷O¥P; ºÁʬÉzgïÀ(gVaªðOBÒéPTVýì&qùoÈo*5ÙØÝÁéêSMÃ0lסòv÷úfB5£óí
-H]Rk¥Ð*u(µ&!y«À ë,'êÈæ+FÛsµ;¯·Ñí']¸ldz£)tº±0Ì£sä:ª{;ª¸M2&Y
-)ø8WV¼qdsk G $Rö(
; nPÇuÖ¼LjufjÊ%7ßd;>±~îIé¾Öb=9´ÞEA¶²#¨Ýk
CZa±Ì÷rÇ<Û5Y ªp at PÀÎß
ÿ@KÒþJ¬ÉÓ£]?;
å«¢ówÐe<ßHçÔKC½é(¨´[^ÆÜ9XèÐeõ?D7þbììwT 'rEo¨M"§N|TºRtrÅõE[³Þ(>R´nOS'±5Û_5¬N@Î-[c)-½T{p,ëÖ;O
-Åøn¨%
-M0W³"51 %±^ïñ#IÈ©ÝQá¶gâ!Û×¥s¸ Q5l²Çʦq
-ÕÄ
-Áok¥¯sv¢ÒXÃÒ¥Di
-ï}uµØ¾Úõºá¨Pä]¹ZTA½CÁ«ê?dðø:l.AxV¹`_rbÍÔTè8z(Þ÷Þuâ
!Úk¿yÿYÍ¥¯Öí>µõûdâ%ô³ÚKȼɴdÊüdBfIÉØìEoE2ÞïQpâmq=öbæLWÿï 2,Z{ëÄq\ ck¤Æ9èÃîf²Í7j¢¹X¶ë3Mýn@KýáBê6äSÖçéA¢ÒÚh(iË9*ÈE¶Ê´/eÂ.;
Þ®¹+
-F¨Ô±hÒg5»ÅgeÃÖãª..PÍÿ#fÚýzM{ÿE¬È1å´ò^ýZf¨<
-=Ã,ÏxZ
eÉ)G¥VvþÞäV&³<ZGB;RÖY2a%Iû¾i0jÒ¯ IfÆ,X
-;¶zÚ[wS¡·
-ô½pJÔ v©ªDz¶/J`²¨àßôv+P
-ª+v}ðãµ²D''{mWaÅíÏΡ8ðÃ.6ãåôG¬ëõH\õcyUù+¤CMà: ÜeÝV˨°¹xx`p:v
-ÂíλòIùÕhÎð ZÍÜ
- [©
ú!@e
-åÕ¢Ûå~3â£H¡»éhtÁ¹ÉY¢ÚîfRÃXEÛU6Å¥&ÍÚ
v×{3o#PP¦ÄOçXZæÝ÷ÍJ'Rcí¤;Ö(
-Æò»jG?]Ѳ§
-^´M¶Vîþµ(ï" ´[
-Af=ò³påª V'eÐ]ül¨ò«Ñ¯°'ñuݲ;Ì®LèJSPÃd«<úóÃ/ç¡ü÷³ïG¿htùz¹â~É(p_ë*-[n2igÃöW¬ø[ x'ÇÅF´#{0ÓFq=¿w´$D.7ýìÍå/øâHÐÉâÞÏF-K°iq`ÛÞEñb3eâX at -+GÊAèÎNdå9tÄVÒzµä-YòïÏüüî,}~gæ]úK§ï!iòïéIÂ=è¼ÊÑSÌ_I!é}bP7øm5KuB_hÇ/§ÿh¢_1
+xËnÜ6ð¾_¡³lÉ!9$ íÝí9~@S(õ%¿ß!)>Vâ´1à$Ò¼ß3RË×Ó?Z>¨³^Pýö1ý~û}ùõaùû¤ÎÁ©íßoÔ1¨X@cÂy}ÈäÒA<½,½ÁÅ«ôþåóòÃÍý¢Ãòòº|´j¯¼EçÑFý¸¼üyº¾>mèh´g· Óô;ÓÑDÇ`¦ã<:$üÌÙÁ|t&ÑõÓ¿(g¼#~
+oôÜμ~þé42
åå46HÈP6ÉMAë¢Ê£"j¼qÞQ DÁÕ°P
+lÈt1¹ :F5ôö~nÞ'g·Ð\ê ËWþ:¶P\Ys>ÌiRqLås_k&8ªÜ彸úPiöBÕòHNÆ;IQ\ÎlÑ'×¢§äz³WϦ"Xµ´C
+%Ê2µ»©Cr2Õc
rEË7eô3F$!'}(»ª`SmnQøu(]»Qøç,JIñædÖC7Ãuña`XÅÕØprEQ¿Îô,XK]ÍY
+»>È$®Q@Òc!(ÀqÛ¸Ñs]¨ýmÝw
+â7Ýå¢xÂ(ô_8媼Ò2°îr
+à6±ëð$0´¹ùÌØL3ûDªe0ÍúQÀúó0
+²9§(ȾO¼Éð:l¥"X³õPÛ-Ĺè#
+S¶+ÜÖ¦v
+5Mkô3%±5Ví}þ²æ©Ý¦Â]ÇhKÎ4Àq1ÓµõO1UÍKd*Í¢nzm$jýºSãØ·/Wǽ©ã{SQÌ)äÓçúDÔkÁ¦~-KOFõñ ÆØh91Ò ¿Å"é!ó4w§3óñ&
icO+~Ø ]Ûûôð|ìOïg%Pk3ܸ÷Q2E×°xß²ùñôêDhMËÍA+¦"ÈÕ÷¾jíÞ×3,k
+ßPɦ¯2¶ß8Põ¯Q{êN
+Zy¤qsöî,P©~C7ìa ;ÏàyJG¾
+h83O
+Ó\À#ôSÉ,SÀxïmì$©Ä¶wÃCÍvx.MÅnܦ>ìú1±u7>½Îa£1d~ûrJÜ×±}HÝðËbI(ÿùkùå¢À$º÷ Wù;|5/õ÷a3É»°3¥²oâÞÙ6hó>ÉwdÃÄpÏ%ï'Àè§Ò`êQâç;xË»móÆòÎÞ4-7@ÌW!{xWÅì¼/4ÀS;_ÚzHUúûv`Æ«að´ä%¡ñQV÷îµG1ÝïëH*n<^ä®5¹ù5P×¼»×åhj«RÂTüN
ØÕHî¼lØ}0é»i£7ù³Sîer¨Ãx]Ûë«i°0¡}J[ÇÍOâ§mÓ¤ÄQÀ9p3ÏÛ6·2A´¬
+D¥Ìð!±á¬!
+uuj¶ÉÝåkíëÃéÓò/waV
endstream
endobj
270 0 obj
-3252
+1657
endobj
272 0 obj
<</Length 273 0 R/Filter/FlateDecode>>
stream
-xÅXKã6¾çWø¼À¤EJ6`MìCoè¡è;ôP séß/)Qü'
-ì½ß?ñß òÈý-ûó¾Ozäõȧ£¢?]þ¸ÿºeCGbïµ
-
ÕC«»ÀÏì'k¢ÙE0FÍÆæiAç¯:æý|ÞÍÇ|>Ïó91Ó-ÎÁÞÌé&¹t.nñÁŶå¢ò%Xð3Ûz»g÷/ìÈßq?wÆâS(U!Wâ
-¡Þièî9¦»C´6¶]6J!Ò´
-ý2;Ç
-â3F4.·"º1b[6Íá]Ì+´Ø©w|Ì 1?¹ý¨ ¹!ãd4PªÌ
-'ZÝ#\8Qz"] 'w±i8Ûà£2,xò
-%É¥È%5Ûe]kØ¥éðWI¡ÌÅTtMß<rWY'Ûìè±[wiÓGµÛ®úHm8Tÿê%8åk»fÉòñð|
-V¦¤e9UB¿:=¿kfÖáz¡lýp©BÐE;¶%ÕÑ-_lìiKXÒqE°³æTûHËÈ[«pè
0U¿Ii½}Tip
-Æ-p;ª·ËX˶ĢÑøöq%±ö»1ô=SÛ×Æd7á/÷pÈ©bå»@ÈúÆÄ71ª`µÍR~®v\»õì,ÏÑý[^ÙÜr¬]}¾þþ·ùQ<Ïý_Pwóu9d2ÞÔ o|ã¦tÝ1ðQÍ>è Ù[l|1YÔ0) 'QcåV¥4Mµ4¸ÒËü-NÉÉ Täicßkϲ-øÎàí.Ö)^ºÇ¨Í&Ùé,Þ-pd·ÄM8³"9N
-½VÑļ,ð/û¡(sÛ4ü³öêapÏ°ú¯M|üXß ñÚ
-$5ÔKÁÍ¥m¡Y9ÄW¿_!¢=ríµN}¸îO"s2ãd˶c$i=$mÃyÿÞ¼}9}kþ¨MÀ=
+xÕZ[¯5~ß_1ÏXrÏDªN÷ÂsáHü
+K½1Ñç4Þ;ü+Þ=¼ KTøþùåÛ»?ÇE¯Ëóå³a
+:ªèÆ(«þnyþýt{>½ßñÑÁ,Áë³Ï\4p±!s¹G¹{æ
+¼Öàá ÷¸EüC¾u:XX`ù-ÚévÊ×ŧÄb[Ó·HÑ2s
+fÞÑ/ÜË{ëÎß«bx*3Dzò76/_Y°:\eߣÖù[-JÒúïª3¯(â9òcºÖf~ ¸çïÃÙU
Áö**Ø-êLéP½W"oë-Ø·ò`h S3_÷äÆVðPyç½ufæZWÚ¡k¯y@¬ñlzªõjȵ جޡ5®Ö$së9þðý©e
+?A^Yüéf"|!¡®U<ØD£óB
+oUN)àd at JVÇ[Q'4ôºÖÞw¨æ»
ø n:dpM_
+US8Ès¨¾ÃøªÆ|P²|óáj°ªß
+fÃ
+T£¼²a#å~sçP¼¸Lê/°K^*AØ/õ ×%ëÆõ#Lc`¤ÎC-Ðuqx/ÚRõð)âSãl\°K|Î9ìÒªàØ·ÍÚ~Ó8ÿbëÏÓí£pÕ¾7VÜÀËvxI\PmZç±J¿É¶qi6ÊøcÎâÌ2ðÕ<ØD ÔtË
+>%$Ú¾Ô»àZcu¥µªYÂænàÛ`¢6+¡/JÝØM)×À½r!ɼ¦Í9p-¯:[ô¢}
+õµV{UÊA-Ë%j¦]×*à«=ËÕû 7fÞîá D
+À ë¦`½±s8«ZÑê
+P~Ëà@p!íõ¸ Ö÷îb]*ÓÖ
+!BHÏBX^µ
Ð&] ós%äWíÂÐ%°D!¤g!,¯Ú
×fegFáNÿF§NÅfÆ4ÀÔÏ
+·5ëÎ:[Ûu&بê"¶ÜGbïcù´w¢|Ú{)çt6ßµ"}Æ<XHæÒ.1!
+beXÐ=A5ñÓ4Ïø¾¤Âe±`ÃÐU!ýÍÔ¡@Þó$@ú&×UB@a;ßÚòK £:ÛÜæ-¨PTÄô¨%y<
+q*m&»Ò2hQe¬J(ð¼g4ð± gÊp~~íÕL6¿àÍ«Z LÅy×^¼äC¶²ëmC\vô?<aÿ»ãRPR~¢Ìø|òz6{ëXûĪI¡RH8ʲÿ1Nµ5ç;ªqþw6bÚ4éf¨õr:ÒJ¡Wé¢;°ÀÜj/]%©ý#|>§A Nø
+DqæÞïWã½bsµëUÒªÍ`úZѲ¬ejQÆ]N¹Ö
+õiQó¬P×X³ÛÆ'6»ÑW:&ÖÙuÿÉçvÍ{ÏsĶ¸BÐ"ÓÉ¥ð[»jvBÓ|Rk/asTQQf¯ÆôÆDBÞ$>ÉM`¡¿rÒìÊü¸¬¶uý%+·1öyeõÛKÜÔq,©ºDC!4À÷¸JÄ4¾4÷òxÇغËÜ[¼n:³
+$ö"öQ ¶Îæç½O_?æAíùâCÞ:ä::½á²MæA%|·¯.7[¹¿z¡ÀCÎó6çj\{¿üª)uPµ)µkŹ¸ûË[sö
+;©$ñÁKøÈ#¡kïÞéñ(
+CÈHÔ¥¡&=Âf_JÃ&«á+é¯ ¥_üàÏÀ¾{jÕ°Ã
+´ ÒCÌx6µ®c7y¨nùs*ÉeЧ[ºC,é7`pû[
+ÍxÛÑXË«[6AKHµüP¡ÜjwXtËÃô£[/,c[>ºõÒ
+ûÜ*nïÚótÙÁ-ÔZ5>¨rO' eúzêÁ]±ÅÖ¶ìCñ¬É?æàûüjß
+Ág^Çàkq`{`d.ÀôÝåúÁe9Bah~Í/XÊOª
+T;LíY3¹·Ê®ó£$üVëªÒP½[K%}xS~4èo÷êýòK)-V
endstream
endobj
273 0 obj
-1352
+2240
endobj
275 0 obj
<</Length 276 0 R/Filter/FlateDecode>>
stream
-x}S;kÄ0Þó+4Ä0>¡ÛA CéÖ»BBoé߯l·WÜ
"ëùù
ÆÂW÷ =ªÊÖ©¡ÈÓvðÑ¡CåÿôÖ Ñ8R¤+M<îjÍòiØÝÜòêf²ê_áfràæc
-$æù½çn¿ÈMhiÖiÚs
-6÷>Ë1±Ï.qä!«!¨`*bG!qlé>÷¶U[ÆØÂ}~/A!{ KòÖ
-ðh,ÁûÚ+d
-°ª#Kî£B·åzÁñ¤pú
-ªIHU§®M«¦É§ë()|K#Eà*SBe¨QXùͬ×l3¸n|ð¸MÜjütf¦µ
-çÙÛk½£V"1qQé÷á4k ½±WXÕùÿÎñuAÈFÃ?m±t?öð
-Às
+xÍZÛ$5}¯¯¨g$ĹU¤ÒîT7Ï#ñÜ$Ä ±/ü>vnNªªîÙaa[¥;±c_â8+濧¿f1-.r¶ð¯óô÷Ó/ó_ÍNg6z¹Ø4/¼è2/fú|ÿ]|úmÚÎÄü20úcþaB~Îèç0òâòò0f4ÅË2]ÔÅ$¢8.Dy"kp>
1¥)^VÄrñ((Mñ²LDeâ¸å)^¶ãWÛ`W¡²©R~E¥ãNåjëbéb-îµE6àÖ°·ÖØ6ûÔ
+
+~
+ü,ÑFA-©
+\
¿Ñ|1àõÍ~KÖ2$;\
#ÁEØ2@XK at 0
_}`rH´è¨Ú`OUHnûieñ2¦.¹×3!Etâý2µ)v
Õ%-9"ë¸fßÀsÃí§Ìýw-Ô×£÷eF}l ÂN]Ô/õ>DJPÙקÀ ¼AÏ £®e^ìO¢\
+GK>Ê4J|(Ú, ÅOY¹ÏÜãÖlåû.ð'^§<þÝR¹J,gSÖâÖÑÑ!£(KTt'üÖÒ:FßáÙù¢ÖuÇ\²\Os¾|8èèí.ò>º
+
l´W<ðPe² (§v5»Ó%©!êd¬Ï(
+âL·r¥£àE,p:±ib©äJçÂ[/?
ñFlPfbADZ!ÓÒÞ!E¢
µÀMñæaº9DíàøX/";JMµD'ÙnSöÜRØ}FåBz÷`»
+æKä|#kVË{ÄlWGpaÜ£pòzÅYç:¶TÆÔO t]r¢¬¨4l%n¥kÊ)&PåèÖªJÁ={+ÌÅ
H^¸"¾þÒU~è5¦"MEh
+âÝ-)_Í IKnp}mÐg+ÉcÀÓ/´ Xô¸+ªÃ-"vâ8õâ2ÅËrLã&¹ÇL¦xY!Ô£MDaÌDie"åUiÅq!ÊS¼,çFg¢<ÅË
+
+rqÌDiíøUëvøU¸ì`ªÔß¡Qi¹SºÚ¼à[«E¾¶Io
+|aî¨Â¢1c½
=kë0ümëümkzþ¶µïcR*ì0óÿ+Ò>ßÏíR.öòïtIûQ(I
OáÂâòâ& «e^Û!íSÿ:¤ÕyÁnj+ÚãÝÒÏýþæoÓ¸I¼·Rô*qû&r;jvÒM÷ }ó
+m·Æ¯^ûF
+'Æ´à°iÓô"=ji1dÔJÖÉmý-+×F¥~N·®R¦c(^}W$KHåêQì>B'íe]7ê;ÉfF|³etéw¢GrJZîRoÚ7E«NT
ÛHæ>pÝÚ+/zyGFGÓ,áêödy
+ï72|÷Ã0ô¤;JòSC}s<ºELYyÔe¬¥+¸;ê¿uÌ~3_&jW^¯:gmp¥!w£È¦LôöÙ4òÞfS¼±Ãn¡t7ô1þâpÕ~ºn³ÅA¾
+û¤K î¸_þ5(JÔai7ãÚP¸ìô'Ó«Ôë¼UT )GAóDqJ]¹Yåªå·+þª9«à
+\Fþ¢º
+t;Að¹ÃQ{BÓaãTRÐÉ^´pü>çK¸-Üɹ³³i÷N¡BäK®Ã|
+«ZÎÍ6´þVοgOÝÊûyêc¾Îº<ÒôØFP]Ü7Ç©Õú¡ðx(WGX΢#'ìüÆÃv,öî¦r=S93»óÔ5#É^«MQkwjÊðè¬äÈGÿ¿ð©]ÂÔî©{Ï Ô~[ÁF
+,®Ö³&\
+1ê+®^'î¾"0ÿcÄ+0èT7u53íÈá ¾£<ábô.dðúw=9Òù8xìÉ)·Ì5ú:ÖU=òÐï5hc°f3ÜøñHSAÔãº4´¼GsSýí{®ªPË8SØå·¨*¡}ÿ¬Ç/ý
endstream
endobj
276 0 obj
-337
+2201
endobj
-317 0 obj
-<</Length 318 0 R/Filter/FlateDecode/Length1 1260>>
+278 0 obj
+<</Length 279 0 R/Filter/FlateDecode>>
stream
-xåSMOQ=óÑiA+àL
-ò±Z &&n[1¶Ã6éLk;5Tkþ?cB+£Ä7Dn\7ü
-¯½äȽ©´ÆBqS£]Ì´â¼Í¿qRͨ¡ÉDá]&³ü¸»Ã?Úëv"|ìqP±¹(á1(±g%%ÎSd÷|ß/PP-Øÿý¬ä³wÂxCúf¶îxO÷ð©¡Áö¶£~·"\1§§M# _6&#ióùTÄÌ'éåá Ü#ë[åÄÖû<¾®¢\FP{º½§Gj{×H'·¿/ËKBд²¼¼R)åJ¥RݬTÚ9
-Ç6^+^oûCZ1ëó¾µÅ¹¬
-Ì@tú¹çªÅ&Â?ýe $~Æ|åª!üÀ\v¬e´8ñDü½Sg÷üñj/fç^|I§Ev¹×ÁõËÄ£vñs°B}Ü@6Æ<v±À¼:Xä¾/,Q_s°LüÁÁ.t°]¬PÿÙ«õ©Áà°:7ÕHR˦s
¥9uÜÔú§2º9[0béÔ¾OE³ûÂ>Ó³¹dÚTCý¡à¾Êò4ôñDÏ0Ñ,ò0ù ɵ,ÒÈ¡À×_ã\×ÐÏR3ÔLz¸£e
-3T!
(}ëYÔÓæ¨d;Ifïbôó©g[;ÚعÃÞÔ
+xíËä¸í^_ás¨§Eª®7i dd.ûû!eI¤lÉ®ª® v°é¶%RßØjúåôIM?¨³¼üfúûõoÓ7ý;
+ÒïÿpZ¾þãôùýÓû×I-kú|f;éI;vSPvzÿrúñ¦ÏaÒ8ùïÓOöæÁòÎ`õ7>À/Ú_?½ÿóôö~ú¹®¸,¤
+í9Nï~¼Ñ«Ö #bÑþ³wÁ
+ÖGï@ÉUÎ`ϱ!ìO pìóuw%<Á Æ@ïÆgI84 at Fáo8!g$¿¼ÀAË¢ÉÍs°ùë\?!r
+×ÒC68\lÀ¡!uÆ!¡ÿòå¤ö<DþFeø2eÿ5ýé5äv¤Ý=´;/ËJe»d?ßÑÍ@ö²¦:(äú
+ÕcѪ[
+gü©¸ùÏÁàʨ¨e¨°=J<;ñnÄÒ§4õÞv3Êf]= Qx®ßÒÖOh©gT84é娰t8ñ4Jo6 Q(=3Pâie¨Pzf <ÄÓ*òp.@éòO+@ÖAZ+Pâihy®@e§mðyþ ¾lØ$¶¿áØåfÓbñÊ*)®óR&-{%ãJî¶ëHÒMa^¯YȵV~[k¿EÏokù.ú¸Eê|MV¥Ùª,E#@%LA¨ÇÙ0c$tÃ輩×QLðX°]/X71º F¡7ßØdÃÈï$¹ÒË5¼ùKðÞr
+4RÊj#
+/
+åT§(A
+HU%}*»¯l+ >²I²D¤tÞPêÞÝý*cÒo:á)þ«x.DV_c'GRcjABRèL²µU!6KÔUxoèÖªW`¡"t:Fb6àSa+Ö5ÏÞç¯Q¤å$ô3((Õ³ëìíáù(ZÒJÌ7<§þøn½ð"ï°à^ûÊu®¼2è½cÒXí'#h6TêøÓõ
+XG»¬¬$B¬X×fÝ
¢G±t¶*ðd%ª*yX°é:¡ü*ªoª]®ÊLµçl
+½¢£üèNÝ=3ìtà]#úÎvÝ·#S&¿JÇÓðCÝ_2Q8¬êÉðQãc ×ß{m|9À$ï¢ý &;äý(Ý~A³M·Ç¥of-ª@RBÍq+>4Ênc.µF4Ã2p°F¡4¤¿ßS²3ÁnLiq'\#wÐKã5®MÁ1³¦5Pù¬9ÙYW±ER³H³ÿ#'ca¢ÊrQåbÇSïóîãÑ[ã˽HÒ¯G\Ý{ÉÅ×ÚSºÙKBGê²iá-ç{2¦Ô¥ MµàN1Êoɹ=V|Ùc¶!Ûtç £ÙP9!<0Ç%ésÄU£uTV¯£AkUÇ^ ìòÉè«Ø¦2»ááër~j±<È5¦Eì!!7y
+ªðÁ\äÎxE:f½öJ³&B~½¨å³XB¾wnÛ?§=µµý£ÙíQ,º÷qº»P
+zD³¹æX¼dÑ83§Cr9QqAíCj3ntiSÔá ÊvgS!±P(J¡{hSebÚÆ)μâ:x¸6O=©]©'yBÓ)Ogy¹«áïF_M˪«9%=\KÍrÔBòE½Ã_>À3ú5¼NxN¸ÎÎúy:Csø´¥p!ð$)tiª«Ó¤u#cJ}ü#ÄÓøú\,ÊB `qÈÎçáVÍnk:¤ÃKp^@}-1i5>د0´®msibk
+È9eã*òsI7j¦$³ðcI»C:yÃ8¥$u^Óhè/ê#nÙ
UÊ
+
~0V&3É!±Û·ÄSÙä×ÇütéSËÑöZæqPÉA3dº!óêe¡8¶!m
+(!ryöCñ<ØäÎjÀ¿}ÑÜ%mî]®
+aT|ƵÁ¼IK L0ͦq× wè8´M=Ü-Þè M_RâiÈÑ.2Pzf <ÄÓ*Pj
+DTÃ÷ÊÖ¬µÂðÛZ+øm-z~[Ë÷ñ¶)±wýᶩ>Þ´MïUÚ¯hêcþPÛØÞÙö½mS}èï°m
+s¶Îm÷ãmSÏýìýÅ_sÀq°mjÁò¶©'4MmS#>}¯mS¥{AÛTݶM=Aîò¶M®¹Û6õ8´¤7[¢ÞÞÞ×4Ehz¼±í»¿¾]êÓo ]jC®±(ÝvÜÛ,¥£{¼%B
+µÙöWvO¨µ7
+¿ª{BBOÆGo+$ÁbêXßKØO¬sÆ\²;wßä\z`üÕizîf4]-Â׸aC3U"»ø¢ñòØñ¿é÷ã
endstream
endobj
-318 0 obj
-667
+279 0 obj
+2637
endobj
-319 0 obj
-<</Type/FontDescriptor/FontName/HAAAAA+OpenSymbol
-/Flags 4
-/FontBBox[-179 -312 1082 916]/ItalicAngle 0
-/Ascent 799
-/Descent -200
-/CapHeight 916
-/StemV 80
-/FontFile2 317 0 R>>
+281 0 obj
+<</Length 282 0 R/Filter/FlateDecode>>
+stream
+xÝ[ÛÎ#·
+¾÷SÌu8#ê4vmO¯Ó.ÐhÚE·@s×/©©4c{ÿ$@ñc¶G¤(IQyúåòßi¾¯jr
+ð¿Òÿ?ÿ}úë¦ÿô÷ç?]âÿyùüåÓ§ùj\ÑÏWp~5uW;ùyE_¾^¾ßÔÕO
+ÿcúÁ.V{ãÁY§ÜÝ·Íûßñ÷?N_þuy|¹üXæS©
[Öë2}ùiú~£¯JE9}vÖk½q³0ÛÅÜÍ
+fä¼yëÎàgG9òWýIÌXxÌ<}÷D°ºÛð@ØhüåáÈʨ«N¬pe8Güy.¿ºÕôëZ~B¸øÈgß+ÁÑ
+ãX%#
+çóG2»Â@QIA¥jõzÒI£ÞÊ`J<$õß¾^füòKz<æ;
¾NzEW ÿ=ýåcT.b`°²%Ê¿¡å¢
7:Å(wÚ6×lz86xAr¨æÀjz 9íî8ëæ>{3¡Ñè;=J>*pGuuø6©Cî@+ÉýöêRÈÀÅáà2Ú¡ô$××ɤÏ$
Yäñ£Gá®Ìd¢ðÒ#V´A$¢ðÒ#VE7HDá3¥G<,µ¢ø¹åG<,â²"âçBñ°×èOè¥QX~£
+±ÊfÑbò¢*Îõ5/mR«W*¾Ò¡Ôn=T!x OX×{²gí¿í½¿íMÏßööþ1#¬¬¢l=ÒT)F¡<@ñ='ð%î[ãWÌBÃX¯q{|1(ÌQ
+ÁTÈÇCñ¢jr#êFbVÂjê|IØ.gKé
+ÓiVsi1ÏisZ\0Ïôäðuy¹Ð2)#ûÄ_ïQ
+Êï)±Þ}ZÁ=gp¿¢.RR z q°+.¡Q &[P:QR²YÕA¢ xP®"ǶåQsãÈ:4¾©]Ö²@cÞ+ÐpÙãYãâëVº#;(À9R
+SÉZª~«Ñ\[Ê.&w)eE=ẺáÒT½´Rà.Ur«äl)Òô+¤wT5fh$
+AxgªÄ³ïRµë´ìLÏ¢£ Öû7Q}Í#ÜqPbÌqAmQv¤´¦,¬]Ò®DÛ
+ù½hçy¼p{ÀRÖïî¸Ç1º,wË«èD®Ä{.ëZ.
+ávJ7za6FYäv
+¡ãuÕbÕÙ#]½òzO
+ÊeçíÖªdÐÈ{gÐФ XÞ äøjubÈ×ÔÅh¤£®!±Ì R|IêÆPeEE_êvÍ /Ìò?Ô´Hú(QÍ@©bS4¢y÷žEÐ=8*×OÚØ«mOuó0RZEÍÂÚÎ"%´4ﬢE^®*µR\päNl¼FC©ò,v5#/+²C&[¸ú+]XÌ÷a{t©î;Áµ¢zðU\3ÑÇã:òÞêR*ï÷>;HêHâ~ûpðjX»¡~~=L£ê>e/F f.^tÞem_Aøæç켺e˵ä7,wÖJ¼¾Î@<ärGl̹ӱîö(mY%ò½hD×Wÿî1 rùä¹ÍÝÕÜíÒͲäÆÓóàD¾Ä».%ö½6]´(ÚzqHsÐ8ÃÑÖÀô
+õÞB£ótø{´Ñs®ÙO ,|9Ú«ÑÊO G»vóþzh½²NáÃ!Üèa¼È¬Ýå%;/À>ÆwÛlêÍÊ GÅF¾Ë ®m8ëkéWjGG¨ÜûþM3åâpÜ@g°ÅàÒ¶~ûLþ#¥åþë
+uwªq½Z1A[²sN õn[°UfÙ·<ðLÙ
+ÚÚ%_ºmÖ±IØ
+-3yÐöåË
+£7ô[×Ýç
+P+ós U#t¶~·áØ/=¤<¤<uAX`é¾]ú~
ÏSÒ{=~¯
+÷×6è#Y÷¼ö¦
+O74GòÆQÂ
+4ÀP°QºÖ¯
+ýÛ`¹ ¦¾UZºóD{R¬4B'cx¡¶6ÝÂ>4@ïíh1h{è²ÝÖr¡<zIE\óMòaÉÛz+i¢Û#ÖÚ2ÏáOo)
+óîßçHÚ«»½ãò5s]Ü¢mñdöXç=ìNUä½&vKç!¿
+¥Åñ *Â%tåÏ&ÈÙyH²&ùÖ±:JÙKWЮöÛ£ÆrCä~`Áóá
+/Ñÿ¦MéÕû|ûcÄû{/É»JaegwPf¯ofÆ`^E|Â
£«ødR?ÔX«MUôWèBqÃùy«ýt6
¥Í"SÚ(;@é\ÿ.:G!øÒ×Î]oź3ÜÆ/yÃIt}<LmWjÏÇkjC·IîHC(,å^YýìRsäMkF5âÛ#«y8(ú*ß+çÒûªçVcv¨±n$ÔõÝeÅíëb
+7z±×û¬µuÛq»÷Øu¸Ô7ÄI!HJ;ª0Þ¥¯NÙ< Iºâ$SLrÊE¡éð8¸Ûîtè´ÙúmÝ57Çï¯
¼t$þ;¾³-tAnB¸rooáÅòø85¼|¨½éÝð8ï^óNÀ0Õ)\pb`E(Ì÷þ-ò
+endstream
endobj
-320 0 obj
-<</Length 236/Filter/FlateDecode>>
+282 0 obj
+3054
+endobj
+
+284 0 obj
+<</Length 285 0 R/Filter/FlateDecode>>
stream
-x]PAnà ¼ó=&LÔe)rÉ´UÝ>
-Ô×kÃÐÚyO£þT9¥²!, ? qÉøßÚ}Æݧåïþ´½ÆH
-ËNJµ\Ê:ü][ð!§Êùñ¤rR
+xÝZÛã6}ÏWø¹@SK¢(XÈÄI·] ÐPt
+t_ö÷Kê.Kr.ÝÅ`'i:<"iÍÓ§Ã_Ó<}=ÅBÒ§±üùñéǯ¦?ÝMþûøÛáåÃAÌòh&#xô§o®üUÐõ¯Ó;rþvúðûA£" ºÿδ¨Ã©ó/hPÇ;"Ü cÕÂxEt?Ùã2c^&¥**´é^3X.zÎòìo£
+¥Æ0Pª4ýv
+ã·Ãa
aaüV¸§R^
+¥ìO¯¢OáÖ÷ßhÛ´:¯ÒtÃ]ÿ1ýð6
+J²»ÔvÇÇ;iiºÓ~V¾YFxYÎìûêóæ
+Þ+Kyy)|?ñscñ(
+A2Õùë$oåaQHIDø* øãFOÓØṞr¡"JbºkMig-S£\þÇw²Õµ9Ùï[wæo[ù¾3µ%Ê =Zmo¢Èl± TÃ]À;¨+í0jäO(éZ1iJ¬pI,ÄüÆ
+T_·3ðx·Ç^(?²MôÊH<f»µûí<3óf'z;!ç¨>·ÆèÙ°³{(ÒØ)}=Ådcø¦E:7¤|>Ü×s¢ppî S,7JDg©Óp6Èd´ëY?E_çÀaN)Á*¡ÂÙñ_É$NÔõHTh9v<,ea~óº_n³uÁÉd¿®ò4=/µW<W¼p~Ý¥ð§T0nøOb2os_²íÒÚ³Èüû÷Í1I¹ÐA1g,òzEéH×!ÒµE
+¶<8Ô(è)üLII¨ô`>ä½q1"ÊhL´S3ioÅ^T¤«ûc¡zóXº7±à<ª0Æ(÷r; LA;(BAeàä{ä»P~% ÍâPéDñ0sÞï@)4áE¸Rl¥XBóÅgÌ))Rj+¦µLxÁp¥B
+©63°¤ll]
+W°½Èeá*ã¬Ã|È0òƸ÷ÓK,ûKÜp¢2w5L?*o
èXª=&YèíÃÄëÞf)×Àp2;È&XêÝÐx\Aåk ö#¯|¬|÷´|µ (øÖ»XY©ÁEÞj¬¹´»¸dwð¢pÔ¯xR¼2Í5âû~ù¸yÙQgºujV<xkÈükÌ@E~%Sså£-÷#»^ºÅÐpÓ2ôÛe`ßÞ°Ð)YàB§;§´É3àÚ¡Ñ/9²G¤yp^9çßîý_fÎ`_G¾Ùb,º¿ºh}ûöiæ¶:wy/êïʱ?|6Ö·gó~3
ùäF6·NÆxä¾·wá×ha_l¥îóc`§ÌoFku#4©úªG\ʪÍw¸«ÇÏÊQèZ0ªãÍá÷-çq-üÂ/>öª¦ëu:`rù^ÊL÷~Ù\¿Ë=}þG$µ0F2ZIM×Wà:ü·º¦Mô](vçìu2ÌÐîºáÿgtPrk:ý<9ÇÍ^ º}G$¹³:<&v½â=-úIx½
+¢niÜ
+5îU.¹â>sgø¥ögH ¾oöníý V-8ì ìÒÒè[¢d£YQã«u"¢M>S÷ ):wÉ+ßá
_íÒ
+:¾3&öÚ¿\B"Hµ¬ûÙÒOÏ=õ_ð À½ûW'HHI¤uqÈôCE¡v=i®ôÓ÷Îz~>·iûƵD.Z9ðÞT'Ó\<Às¶èÎ9j3»qÂÐÀÏÚ0©,b õUÊç¾ô·#§|®°å«æ?ð7ß?´þ6Ü0 áûYÚ6Á»°Ë-ÊÚiIÇ/Cõ\¼¹ø(X>ã.Òðð»PgJÈíª.~]z¶¥.øFl`>ëévNªÖ£EIç
+Ýϵi3ÆsN
+ùHßÁÜa¤R½ÍÝ;hÅìÐm!> r§û¬*´ójüÂQ©ØÑH=¢úè,Ρîî¹s¶sH×à]uÜðçÃúvÞ:k)mêR¥Ü&,gçÐUK6ÀóèçÎM[<pÂZ«0çó³ýTÑÔÃ.ðžmpZx g©·¸-äv`G±·pû¬
+·~Ì~§ÕJ9¼ ²+&ò2Õ-p Z+ ìZÏ`óÞ¹exxOò;ÞÝ(òɧC)ûYXùÝAWßRJ½þ|¦do
endstream
endobj
-321 0 obj
-<</Type/Font/Subtype/TrueType/BaseFont/HAAAAA+OpenSymbol
-/FirstChar 0
-/LastChar 3
-/Widths[500 355 559 794 ]
-/FontDescriptor 319 0 R
-/ToUnicode 320 0 R
->>
+285 0 obj
+2401
endobj
-322 0 obj
-<</Length 323 0 R/Filter/FlateDecode/Length1 23540>>
+287 0 obj
+<</Length 288 0 R/Filter/FlateDecode>>
stream
-xÝ|\ÔUþè9¿ó{ÍÞ(0¡â#E0 E{(0 ¼â¡¡kj^SSc]
-ÂÜtÝÖmË53ÊM±2kÍMj³Z·Ív³%wÿZ«Ãé~ÏùýWVû¹ÿ{?÷s/3çw~ç|ßÏóm¨kt#3ZrV×ÖçL¬C½
¶.o°û(-¿ñËjTõÔ 9XóÌʦ²·~ò\¿ÐØ)åîb×oÅ"4î¸?¾&"iµPR"\(¯j¸ïÕá«Lp]×OUÖ}~òËpía×UÅ÷ÕnWNK%?×öêâ*÷
ÏÞ×]py¥¶¦¾a!Z÷-B
ì~m»vCçëp¯ð)Ã`Ãýa(³k¬¨£Éìãëg±ÚüCBÃ
-´GEÇpÄ5ú1qcãÇ%%ß2~ÂÄÔI§L½-Í1mzfÖÙ³fçÌÉÍ{{>úì§æíx;|ñÂ$ô½:Ð ¸/ðuø4Þ_ñ~ä÷õè+l$¯ã 0ê½EbÌ6£Ý|g3ùj$¯ wÑ)ô!þS ìÅï¢(| mîÇB:á꼯"¤Gâ*ô~ ®5h
-e°î$@Û
váõ¨Õaå'R·0 *A»¥néQ&øìþÝ
Ër\0¹íǯàqB.zö¯B
ä.r/ùocÄäjY¢3R·Ô,á&q1bü +ÄŸ]%ä¸Êvs:$äK¹R.ð\s»ù{³ö.[ÐÛä:È}»@ñL1¤ÁUbzí#A2ÕÀ^VIÛ´j×Xiiø\8YvexP{
-¤YC¦£ #\º6àC at 7RV£z©¡
-óÓù=õäßìÅì¥åö,ÅLzÈâ4t^N[Äré ^
-|A28Ui½ ¢®s=ãå\ϹDkÕe*§ó|F[ßo¾ªG3?Á¨mÄHFQN$$ò¬üh8R±xzRÖàÔDS°Øäyä߸ FWé1zâE¼o?å`£#Á"P4ZåÌ0
-ª"eGhX(Ar
fI(ú¡HË¿mæVÿÈ£d{hAÂ(Ìn@Fùa;ºÎë±\¶ÚRµ_pù½rÙò¶55 *ñKkpªþ± ǤÜ:>
-ßSnÛprRP`ì}q8&É1Â3SÞ°¾*÷`É=GË_þxÚ=E±'OÆÛwlÎ_0¹hÜêÌ鯤N<öõwÍË(@¿¢\f9Àçq12¡§3¥`YÅ`"*ìC±I° `S0¬4}ªUUÉ0*"Ut\ôÊfË.OüM¹äeLúR±¨úôåÐëÑ#Fw;#XVÊp
²7)²c qx«q¡8ϨÞï61¿É,ÞCkpG7í /uãZóG{?ïíÀ¯Ò4a¦BáG4û¨^kÀ§£Ñ/#Cl~QAáÃd%мÕN:µ(Èê§ÎssürÌ Ë±\}À\8ûµð΢PØ·Ç&.ðLñôxz¬\}S¦\¼2¥'É
-
-3ÅD)QNTÕDC¢1Ñ6,mxZxZÄZ²V\+×*kÕµµÆµ¦æ æàææÐæ°æaÍÃÃ#bðÝk:ÇX¹æÉü¦ðDtŬ5O¥dÍüTê¬ìÔ'*MËqË33ÏÒ½+u_Ö¯ú¬w°îµìS\¼xJZÅ^
QD>(Öéj<l>IKDlÊ1ø¹zÞJe,2^SSq@ÐdbJÖܹàýK¿z~/àÜ¿ûÜqòï\À{Û9àÁXØdðì`pïÍÈ)IÌF
-÷IÀu1馶¶1R`¶á« «DEIpØ?A2qÅ8ë(ûR\ì)$ÏÜØ>¼êÛOÅ"Ðw 2±(`ãÃ69è0·úàWC·úwú´
a¸Å$£ìá6ËÌp ÅÓÓÚe¡ââËðºr\4~B /±#«%'ÙxÌ\S,ò|zôÙ¢cU'î¤7èylÿç{_wÛ7mxÆ"ܳP~ñ©/S±?6c'ýÓÉ}OØ0^
-2[tZQÓ_VLYI«o§á¸be¤Ú,çºzt®ô{Z¢ÓaAl±ÚÛ('[NäÄÓ,Në\4ϵ̵ÚîƲ,®¼2ûÃ/½týôåãISü-|«÷]qñ+ÖDÐü¤ä&=#Q£Óéc|MÁªAPÁá!FSD¤¶àcbÀÀc![âVG§µmT¸Ñ9LAyÃdßlEα
-W>xUÍÜó³óo.Ü/¦¿½`ö¬ß°Ý«÷éLI)]°và¹cÍ/B,ÎÙOj
-ÀÐomÄa/-½wÝqOÕÿúiápï,ápëÃ/þºw£¸ø©Å¥pyáÅbÙÇóù0§YÜ+{*a© ®¤¾\¢câz¥ßó3BF;óI;zÃwúJx³6©HdQ(=11±°ËÉd/²æÙ³ÏJݽP²?àûð0ßH«(´JÔjPcäb°åc¦Î+ (,¤G2£ 2ë$ú,û&ïy£]lÌéu½»ûfÊüÚ,Ñ>Cp´ÆàKGÏÀZ6Îs à:ÇFgùÁÖan
-ih1LBâý"¢"G at mÒïþÏ]Nt¾p@Ä)ANPÔC1ÁÒpFÒÄ4)MNSÒÔ4C1ÍòpgÌ3-Bð"aqiÚ÷{Èq´GÞ£ìQ÷ö÷CÏáççÈsâsÒsòsÊsêsçÏ¢£ø¨pJGå£ÊQõ¨á¨ñ¨)ëûÑQEâ"i¼HY¤.20ÄßhmÌýWslnÖÉÜÄ:þtÎøsóR'ÎÞ°mËmoÙòð?®^ýÇ?®\.O;wÂÄÜa7}¢oÒwp"'àĽô>º>@ïÃðýx
-ÞÄãÙ Ð| %8ÃÌ[|YÐÐcA[e«¡´
ùÛÌHÎ
-Häu at V]½èðFù(}QÅÑ1ëçùÔC?Ä,Þ¾+7{ÇÝ¿yùÈ3MO
?Àkâ-q¯¦Oúó;g>|Òó
-bòQ¢3LBa[}¶ªm¾ø1ÈHfXm&=%±ßÃç_+W
-УË+{ÃEvtÄ·¹N_úâM÷.ê·iÃ-[6lØDÎ
-Óþݳ`>ÔxÂ|jzïüGçº?<Ïé¡3EI£ÑLçÈPsÄ°bÛâdØ´ÕlÑáwbÔñ[F"Ù<C¶Ù¢fÞ¢tFåâÅ.F¼ºYYÊéÔÂ'Î?@èÝS
ħ$
×m|¸yÓÿ³¿ dï´G6Å=ZÕõÅ]- Bê÷ß?sæóôcõv8>nßuõ=wáI
-¾F;ý
-ºCkHoð°"PbÅ£G×$á H¶sÊ&@uÍ.e
Q;2ï8mö³7Í_ùÍÔ¬ö¥íÓ2' SÉ£sÕÝ¡§LzW%¹æ)ÿìÕ´É&M¾í¤FKÄ}@;}e¡mñ$&I,rñÁV1Ö¨±=MÇHÝí×»¥11bÀ0 )Xì(¿
:NH·Y#ãébÖÁS
7Zc.Þ»wïc§ÙÞ;Ç,¾@ªõ¬Ñ^AÄ,fuñHIâK0ô~-¬g]Øze.Y1ÀË4§#ÄZGÊc[mµF>bqKDà?CDà°háhñMtqS°ò,¯Ùå23ÌáÍÝàû
-KíbLôñ`ËBùÆlØ´ãúæºí_½sö«íëZöPzñ"ývϵM+×®YÕ´V8ÙúÐCm[7?ZuhÍÁ³g®9õÆ7/~zjï)\rßý÷ß·ríºô
¬êDø,þ"£DÄúÂ)=}}¡
-f!OK$¼zÞ³Þó"
-þò2G,à¿>P©MtK·ªø0±tù>F«'l&U0~¢ì füÔÕ¥¼`ÐüXbå3ØÚ,[YÿVDOà«Ïÿ~±Ü8|Ö|cëww¯u ñú*«c¯I!fÙêgØØæ×9ì±Pd³Í1ËrXIZ"7ø#o)´;2;iÙ´áÁzpæÞOã+{óóK§]mñBÂ{ç?ì>÷Ñyá¾ü"±ÿ §'çlcG
-zMá5Åc7¯)znZSX¤¦zàEFë*=øÆ9C|%ÕFV|\=lTM¦ÅæÀªZÏreJëÊRæz«P÷Ñ{îi<óÉvÚÇHÓãͽ{R²cÿiaq3¾
-dÞIç
Y¬NvïÕ¾mø9qzؤz¯nÒå=H+ þpý·Ïß,kÃÿܨé`ã¶ÞS²±¹`>}~"?5_ÕÕÀí@«=Äzmå#ìCÏûd kÅï@ؼ±êÅÇ#¤gi*/I@eßfxmâ4 ,:E !¼*cNÐÈú)ÒÔé¹|TêþwÈÕ11z¨vÞbTPÝ⧠Ã!ÊV[ÔûÑpÈPËúà1Ô×(§ÛE9ð6H¬ÆJJâ1!¡ëâÏݬ©ü$ÑhOJÞöâ½Â^ã^Ó¾ ½Á{Cöî
-ó½{@ÆM ç¿XqÖtiç!Ç
Ω¿øåÊÊGÅ/½4ùùµ¿~ëÆ¿¾Æî¸çØeG¶kïu×¾ûòèÞuû]^ÝwäxøMãoí92??iê«÷±í6#>nfv=Û¶GëÈtÛÖÒ a}i:öDDzÚzé¥qOßûÌSø)fÜÌ´
¦û*v}¢áëÛ>È}û¤slP¡-VeY2@¿¬+*¤`Y "d¨0$ÇÑcFYD"°,OGìÄ¥ì];qé¹8äÄ~žóè¥Uã»ù² ªAB¢¦·JãÕ,¡LhK^T5ê)TSBÔQd¤4JL&å¤*ÔY$[Y /P
-±B®PÈ}Rܤ¿A?neç21X±ÆôtâOÿLg`èIJ6wÊUø,]Ø%d¬£iÀ{9øØ:q1²¡½ÎL`_àÒhfÆ©5ØQ4ØÏØÕâãëãìëëañ÷A¾Ê «ïq«ÅÏìQ±©¶lßLfp\
-ZOMµ}ïÙ?dãâhcâ-Ë-jUm¡æPXßX¿Ölk¶mز"@u í C¨_âgFÇ?t×ΪÛïAóNà<ã.o<J¿»ë.1׳Tj1¼ô|üÎâÉRçDª£ì "¢H2d1°ÕÐê³É$JÖ LÄûchh`0'k©Ù5¿1
³þ
'dÖÛJGà`ÿ³r#IĤk
or«óOppΪÒWOã½×°üÞw>ÞþpëO
WjöÓrÜô»{7KÝúÃÎ#ÂÞË<¸n3èmøÈ,¨F¢ÿáÊÏú#22"àÀçiµâçÑb«£ÅÚ6*B;ê;. at INìt
-9`âÚekð /;Uéi+QÌt3ä¸@x\YÍ1\¹ë¥{÷W=²ôÇè7sËêß.okoÜ^ùÎ+Øç¼NißÛ§l¸·´<&dÜ^èþóرïgOß¼ªv¹=4¡sïÿ5ôè
-vìÿôÃÿÒûóNNpÃéodÕ*¶B@"4Á`\¤ÅWÖ'õ¸ì¨åJ_Ç©8¾Uî5íí¢^ç!æcOÌØêÌ4±`b0R "hFxªHÁ¢¤ª
-;4ÃÒ`dÎ0BPUT3;é× ð¦('¼ùHr
-Æút
-äÇO±·¢)Eâp!C¥áaÆ0S¤9ÅâÑB¬4ZĨqæTa¼*§*Éês¦mÈ2Í2ÏSóMÌeB)+¤¥·i¹°RºOý¡Î4ÖÏ*DH
-©Ü¸JXCÄ5âJé'Æ5Æh¹ÉÃ0ûÅ1&søÄÞï;q^?ðüÁâbÏ
-!£·l¾±W(ëÝ¥s´Ó¯H£lZ7Òé'ïFùú(ØdbdgÃI=ZïK
À
-ÇJ¸l0òßRÄsî-ñĤø'¿Ý®]%4
¾ÞVB^?ï§áï<Æ2ØöH§¿üRF/
-F8ÉáW9çÞ²û}ôä@ãïàïyN¶tCø=]×ü¿<vÐO¯pÀºüíÓ2oéà@ð5ÏÉ]¥8áßÈeyÈr¤W
-¥M*
-m&¥§'©_ÉA¶À
-9>N)ye>4|¨ |Ó68ãTð!
y°Ap.R :d0ÆNï²,&eèÃloÔç.Ü?DýoT£!`5Ä
-ò3 [bÜÎñJw< ¥öÇ82 Øõ·®£1¾÷ZêÿÙúu;é,üòg߬_¿ãIzþf §z?^µíg
2z[íê{]û_{aóãAgö>rÞtÎä10Ö ¶
-¿Ñ&£ý½4Î
-±%Ç$É)Úq{æÆK KG¯@R´3àLQ Vü½g0#4+aêõ¯¿öô~½yË»Ú6nlÛµq×âñF¼®¥Mô<mÙé"_ãlFÿJ_¤ô¯8Tï}GòÞ÷VgdÁfõ°·KËÇ¿I]öñ3
-îFþ,l¬
.TÇúéOJ;
-G-×Ñ5¬}úy9 íö%¥Ír¶9·ãY-·±kÈ'Å;ÃBGZÏóæ. 0ÿ$3''1«éXHÝäSÄø â¸9ûîÚüNÃáwî3«}ÞÉ®®EOg§[p-®Æm£Gê¤ïзéïé;Ωzù©8h GSQ¡a(µDOÄ°Ð3ïïUU×FØÑê9þ<õ(*J{ûéåô"íÂN~Ï3soo_tòäÑצ¹Gw=·âF`Êø3s²é ïíÂÛ÷sY]Ëýk´3H?CS[Åß±dàÇhÉuuõ9|ÿAü$Ë{
{ë£ì4-«½÷ÓvÍV7Ó|1R\ÁÏcÃûÎc:ýÚ=ÎOcf í¶þÜgOnñàCQÌ97lؼyÃBØØ6÷©K¿éjé%a;èþð|ïCðlÅAxÒüæ_Óh~óõ¸7Ê(CZýdägPHyaI´yF?"éItØÇ[-±Q1V®Ñ
-<Ͼqc
@ww<@a_5Áè}ÀYÏcMÓ¬uFqèV=Í`v¯EÀ¨÷Og=.©?E:giDk¿Pð~ ExöF;W`kwy¡@Noõ#-~m!BdK é;ÙÕ
-ðõ~O6{=ýݯ{{¯1ÿ.
-önMWÒµø~¼IßéϨÊ9\ì#ÈÁÒà!hÕ¡ ±ã+J4z
«å¿Tï9xæ¬YÙ,(Pý)ùKXª4
-+c PÎÂÙò|¼Ë¬÷bþð³#üÍoUOHÝ7Å·¯ß¾´y{-pÆïC´gí"¨HÅ°@eÏÚÉÆ%+H"E )EëßDáÖð}Þµçë¬ïãJ¼ìÅD°Ãsª·DxËè4û®X2*r'¬ÆVvVq'%¨DäL#{t 1óëCÈðOTÇj&¥Î'Eª,UÉJÕâdA3G}JÆö®Ö{ë{Kò|ÔÒNÐÑÉ}þ5çlê~Õ¡¨&ö¡«8dY*'2192Lª:dMÐ$@ NÐd#KÅ=ûJÿøë,øW&úH¢)DGÑR¬©ÈtÐ$0Ø÷ÝüT?5@S£ £:L)µÈäê÷Ë
-ü«.1xÞà
¹Ðt|áú3Úx_E¼-$÷fx.,V`&(ÄGA2ÊqÆPrÈÐ
-z§Ê;Ô$áCºP$!AJd_
-þA3p°Î'åxÑY:û*}¶]
»çvî#Îá*ÃI@îJ
-!´2ýc1ÉÌGØ÷¾Gÿ*Ó?ko(û 9å¹B¢=&áëÞH©{×ö]âv³âÂXþÌgª3ZTÂÃZëËÃ>,ù´)íä#°1Y"#8fýùªVª\¶Ð.¨xÌgg(0
-:8`§g+½]cæÇ}-ôÓ¯W̽ëåâ'_8òäí»²XNØnñ£¿è¡ÿ´ÛßNw`ßÞÐö(È#bÖpt»s4î
-#ÁÃýeX¬Oú´´¨U@£ÁÑ2"Øsìö½"Öø^yË+!~"}`&þB;ÖQ|1nõ4Á!)®¬kï|£vÉëÅbÓ×Äîööö8þ¶y«ÎöÖ¸¤K¿[|¬!ý¯Þ7ÛL3TÒô¦!1ýI
-îhÉlD×ÝPÕ1}Åà¨-äÞ/ÞÔÞ©{ÞõuìiÖ²xü&;£ýeÔôkÏóÃÖh¹uxKtÃ_&82Úa
-t³õðôañêéêeöͯN×ÍÊS'4Év«"¢c
Âu;v¬{pÓÆOÒsìdB{õ¿ü×°øýþ={§ÐòòO¼üÛß<{ wóË8
-ºaãÿÂú¡i}dß9ï>qNåÑh O üC8uKíÁ¡#8#ú¾cÏ÷#hÇv
-åبÙ-2þr)H
-Vc¥Xu¼Ño¾Zdp +¥&uÁW
-4n1ì÷i#·Ø÷oiÛäH at hD¬%DG"GCèÒ;Uý!«î#¬[ýîÙ§v\=4PuÇnú÷«KÞ[RöZÉþݵkËîí.è,oú]öy,m&#_ä÷q*åÖm´í_YU¿jÔ¨íö_XõÖìfcx¿ë³øh6(¢ ªäçÕüs#öm±©f#1ÈV!ûú&C¨¬=ý[ÕÆٸ² ¸NÄ>XaϤcñ j 8îÂe©ô@==Ëè®T<·Ï/?QrnÄM§KN/=èÆÓ\¯ÞïÝ@ÌêQ"C[ã¯E¼=,¶µXÚÑ(Ö'Zctzz îôõ(iO©±ÞðçxB]ÐúµÉm^KdÑæÊÇÔóØ_À¬ôãu;wB0Ú$`C/п¹Ñ¯ÿõ½ñv¼oìô$&SÁBÚ
NþlÎö"j<-}Oå@&B§þ%'ïy§0éôsß~²ÈoÊU©ò.pâÔî£ýÿxUÚ25¤öMÁ>¥ø
-þÁâYTЪØ7EÂKQ7:Èþ
-
-ÆóP3]7Çß2ãëSèSçó¸Ï¾£|âûïïýD¿"¿~ç-q
',²\·Z¬s[ÿbµ=eûÿpÿ¥þÇýÿ0+à½ÀÛøQÐ-A=Î%\A³ZWcAN¦i¾2º'æ°oõéÃÊEúXu5úÀ|½>a¼^K³vècù¢=úu
¿ÑÇ&¨:õ±aúPû¢[ÕÕj¸ê4îÓÇÙMõ±TÓZ}L`~>aü>nÐô>ÑpÓõ±¢M}lBÌúØÇ?Ö\¤}QyäýÓjjê*7ØG¶'%&&ÛKì
-õ
-uîâª8{vui¼=½²ÒÏVÕÛóÝõîºånW¼qº{iñ¼F{iyqõw½½¸Îm¯¨¶×6TVÚ]5UÅÕÞ5ÅÕõö95Õ555ËÎ
-½ç®«¯¨©¶'Å'%k÷Ø+Ëjª ¯¼¡¡vRBæ7Æ××4ÖºËjê¸ã«Ý
-Y|#±ÖÇ}T½Ûm/qWÖ¬oÿ7û7qÅv
-rècðÇhü_²}æ
- ÑÞPWìrW×-³×
-
b4Îu×UUÔs Âêrwp-©+®np»âìeuÀ<lALqö{qu½djJáê%¥f+ÊݺÄKKkªja9[ÐPÐAHîêzp4Iôh
-ö² óèÑ:wm]«±ÔÍÁ¸*±Æ7§aÐ8ÐRie£Q²¢¢¡¼¦±©ªÐ±õu(lc=¬gìÄÙ«Ük®ßúò¸8âÎ:{½ô
-lFq%$c¨´¦ÚUÁø¨d4ÂâånÎfE>#¨®i
-BAHtW1¢ffÚ³òríyY
óÓó3íÙö¹ùyó²§gN·G§Àut}~vá̼;
-í°"?=·p=/Ë»À>;;wz=³hn~fA=/ß=gnNv&ÌeçN˹czvî{ìËÍ+´çdÏÉ.
y|«*;³?m&\¦gdçd.³geæ2Y
-a2Î^>=sNzþì8Fa°oçKâJaÏÇ6ÌLÏɱgdæg¦ÏaktfäæÍa2º#wzzav^®=#XIÏÈÉÔhV¦å¤gϳOO>#³ [¦³Ó/¶aFfnf~zN½`næ´l6
-ÉQ
-«Íñ!Ø3xÏ<Zëw.ãôðËÂX7d#-üº»!
-Ö³PþQÃÉzîé«jô¼W_\ È`Wß*Å°¾ÌÁåMµu°eE]E{q#ÌÖU¬ÔSqªrÀ°¥¿Î]_ªb¹»²)ÖÖ±|Æ)©¨r«Jg¯´a76Øpà.`²x»ñëµË** FÝ_[^ J4
-*ñZÔêPZýM²C'_FÃgÔù(F%°Â2`MTë
-°Ú¡×ÙlT
-ëãa*áeGù}°êù>Ý°g9¼»`¥MÑR0z#;ì.q5ìqóž TÃ{-¬)¸°Îûk
-ZkÎþ÷héÔxSÌäa4æïZýo¼öÿ|si÷ó\¡KÑÎïsWq©.¹ÐìÑÂ8ËáUqhý6¨Á.ç÷Ü:_K8jna.§ßu÷aÓ4¬YS§«SXÍ÷×êv®a¨¨
-º+¸Uh¼êöÂlàT¶ñbXUÊ-¤Vî
ÀVk´käæ^£Ypô
-{uþ4,«¬âPø¯|Ê`T©Ûñ¨>û10?gô7/hvÎ0öËÍÔÂ{
-`iätöSãâ4p[+»
-ü®Ç÷cÓ}©(käP4¬à6PÎ}¾ALÈ~Ý «Ô¨mä2 6®âúôêºßëawÜ÷ð×Çg;vYó
-v
.ÕÁÚÿa®½Ó¨í³è!V×ÏÑ
-.ªÿ×Êx̬Ö9tÀèâïGÿdX
-+J9<mÍ@;®Ô£¤WC¥·S\¡S:{g¡¾« ÖðÈЯ±¨_ß,_4èÞP?h×Wú%60Ügç<ë*éÛ^[Ó¤¡EòâÐg
-Ï1v]÷Uü³?~ü'ºh
-îËÞÆhoУ6£QÊdê óVçÍ_&¯FRÌ÷y9rqJ¾ªHc ¬cÜësubh1·Ív½8ʧþGyã\,¬ëèfü0%ñ
-ËÍhÓõ^É÷Uü@T¯Ó#ÓW5®w¦¾Ï2½~34¸õxç¤+ß}¼ÝÇ÷Ðl½7ëF°6Íwräî÷5hmÔýÁ«åp·â&s£û¸«u®
Åydu÷í¨æöréíü³^§ÑÍ-êûíEãîf1Ýmä«KøfRµÜ@þ¯úl=ÞÝïu^bDe_
-R§ï±[ô2x_¢kLËÕ\¶Cëÿëû¹*Ñ}¤AÏe}29<WO\¢ùPOæó{Ù0gz.îÌ«é0;ë%ßa÷£¹7Î1îà°4ùðÎ`/ÛίÙÕlX°ØÞLTÄqd´¾2ó9ð©¯c;¦ÁÌpÍÆ3«F5|¹°«ûÛÇhÑ(-ù~¬©Êæ½Í«|?S¿°³9<FçöÑ¥SÎeÄ 3Ó¢~ÅfïϹ°®Ë3ó¬QËyÈû/MEÓàs.àf+f
-©P_Ç9düLçûÖÙ|V£,O×2÷C×e©ÑÁä?¯sç?^vÎ!Ìrݤ|/\¯íÌàæôÙÑ¿t.<!ßcRdòÌé[?@+Ó¸¼ÞåÓ9¦t.râ
6X;7³/¿L.©¾º
-Y¿ösuíNëÓu·²ïJe>÷ÅL¾*ëº O
-YÜçèß1À¼z¼C·Ï¼>ÊË×ëGÞuÿIìÐ`yqÖàtnO9:
}Òøq¸ZìʼVÊû¾¸=8s¬û«ÒõgÜX;°Ð¢ð¾¶jȺþY->k9«¿çXÃÝ,sy»d¦ï¯~½Õ»µÞh`õëâuºVÖ÷U%Zþ¨é«LVð»ý9]ë«øý^=Ç«qÖ¨ï
-K«/yµÀ°ÕßD?¡vµ<ßkXVðq^0þõµl~宸nHWõc:ðòòcò¯ãú®Õ{ª
-.aVOÆëpë·?ë vºU5DëýÖÇ MBCëP&%(wé×NÊNãã|-Ë{ü%p]¼òçUx-Ì
-®(µïB oïGÑM~^ÖâÀ;ïÒã@Ô¼¯åÿ?
±?·!¼[ùØÂßýÐ.x÷åc!¥;°Z
-WfäwJw#gà«Täï
-Ë|ÄÇ"'|Fà3عJIïjâ¡ä%×È¿oV¯¯m¾¦äëc⵫¤k[ɵµâÕ+±ÒÕäªS¼KþõUô¯ëä«ò_ü$ËäËÒ$öPÒÓñíYç·âßg/.¹¤/ZÈ%ù¿ýuô7Jþ:|FÉÅeäSJþr|òçPéëäÏ¡äBù%SòÑÒG|Hηþ(}@É·¤?÷W÷&n¸èDÎQòîÒ»üÁHÎRò%g²Jgß·)y«
ÞâNSò&%§V7(y×(9¹ËGê¢ä%Ç)yc
-%ÏPòki§äé§|¥§ÈS¾äÉýVéÉQd¿üê±Ò¯V'Æ_R²_P²wO¨´×Eö<nöÇ-äçF²Ç
-[]dm<d%)ÙDÉFJÜ`¤düJÖSò5Cz ¬£dí}dÍý«¥5Ü¿¬ ?¡d/YIÉ
-JSÒØ`ýHcFÎób4ëm¤Þ)ÖQr/%µÔTH5-¤ºjT]@ªFJJ%¥T$òëdÉRF%¥%R)%%È"DbJS²{¤{|ÉÝ.r×äN¸¸3,4°è¢
-R¤u`§Ó%ÞFÉT aêu2
É£È$JRAÀ©.2q\4q6@Éø±ÒxJRf[ä[gdøH¦$ &Q2n#a$F !$Þ$Å!cãü¥±dlÀÐÆY¬R?cä¶cnqHc(¹VÞâ £
IÒhJFQ2X?âÊd¡$ÚÏO¦$Ê>VZMìcIäl#( §d8Èv8%Ã@+ÃBI%¡P³HPàX)(X¤À±$ÀBüa
-Ûðÿ~Ðÿmþ?áè×:
+xµ\Íä¸
+¾÷Sø¼ÀÔZÿ6°ÐÓUó&
+äl sÙ×)"eQvÏdºËeÈ¿¢{]~ùϲ.ÖY¢±ð;íøûëß¿ü´üûe½í«Ùãrüûõ/&[X¼ÙoûbÖm1ÛÍás¿ýôbã~ótk37+oú°Þb½÷p-øó§?¾0Ïç÷»¼
©=¬Öà×7Ó.&DXCZýòþåå秹¥ÅÀàß_÷øÏÉy]òq«Ç÷¾<Þ_~ms)Ìjáá¸ùÛ¶¼ÿmùùÆZ>n1ä'aÕ¿Ø5C§ÆífôÇ¢oÑ$\þÚ:àJ?ܦïb£ SÄFâ3Á û¯ÑÂgÔ>Uø.À'óÚóLOËÌ{©ãÛ>ícÜuaÓºg÷Þ?u®Û½°nƸWíðÌdLgi!"ÑϬ-s½TB}:>Ì<· |ËdDø·'¨TÝ°&©#öìvÊè³GV¡ÑSXéhÃBÚ)äE<b*«¡õJZq¾»M+°ì ë¸jü}/×À:<f7
+öñ©ä¨öEøñN²cÁ>$BºÐÛqôÅ}_5¸´
+A@b
++¢E ¶ØÀÍfÆ-`³è³ó£;jmÚÑÈ+°±ÉæðpgBJx@<Ì Z¥®lG¼·G£âÛ¢Ëà,nkðöÀêþÕ?YsEôùhöÚì?Ôp¶Ùi:Æßí#1WïsÔ¨ò{óÕhÞü;ì¤wâzçºÿÝ:]Øðq}WMxMÛ=n+qøê;
+:Û$oÐMó÷í£¶vE¢Ç[®ùmLç3v©µè+ûPThm3c\2c®ÀàjFî¡|[Ø4=Ñt«ÇPcZZ¼S³hÚÙ|J4 àV¯2&«Áè§Æ3lèøWXzä
ÕòÙ;áádô%X0 Ðe@ȼ±a«L#¿¬
+à¡k«Æe¦FñYÌOU{±¯a°Ñ=slÝ6öì%ëô-÷§ÄII;
+j;ôlXô´µÖ
+©»|ð@mcZÂ6K`¥8&Â+q£á'M¼R¡¥´gÏsN3¸jÃm ®kaúíã
r3ÌsÎ0Éh
e3F1²Í¢=äÉÓ-Bô@ ZJGkÑÂ÷ö}ÚÅ
+>ÛdtêJ8Hjf#è'&fÙ|/îä/ÎöxRíÊ¿ìò± ;=ëZN"\§4ËhóÌ=üUä?Â
+n*ÒAÀeNówÕñ[A7lJýX÷:ݲÃÒàªòÝ[_ÎÞ¬®»[«$ؼ Z7Ä1t6ùr}8ùÃÈNºÖÍ¥X¶yKèhñǽre Ú1Ü?lO
+Ap7>á%±y¨}vK~æ]:Û=§W÷H Õ#m0ò
+ØçõúWªHاäØ e¤¦Pý%4ÅÊZ0r¶æ&Ýð¥ãhå{ÀcØ&Ðøëë6MziWp+¢·µ+,ÇîÚmà0âø²à1nùƦv0Ô{µi¡Ý×_IïÊ.J7të=Ù!èÖ»Óu;Æ
nùÌté^¡Ãwå5Ñå»õ:âiL¥?ºõ^¥ÓîÊëF·Ý×9T«tógA·Þ«tÚ]yÝ趻årØÆòéÒ½BïÊk¢Ëw˵ÙbÃCùÌté^¡Ãwå5Ñå»õÚáJ7të½J§Ý×îñÙ:«¤4"XânÄ¡DÏ&R£d¥<FùÈôze.µããçH=ÇÛ9jÎeÏÒÔéÝëû ½Öµ«×½ôtDz¯^{4·±^±Ìôhõøêh·øêhyøêh;øê¨ý|uÔß⦽lçÍeÄ¡ÁÌ®ëâm¸É³Ï×
+XY)AZ¢ÀÞSÅYv©!°ÄqÙ¸Dðç'SÀ]mÙó´±ìÔíÔ*z±×³çv¹=Jcf'tH(*ÁÂ0¢péSKMÒÉÏ7]V¤nÚ!n³tpÌ$r]Jä¸uÛh[Luäí58Õ©ÿð$2×¼¨a$¼(«7x¤¯.ó ë#[{¸Q*+jÐí$J¯O.ËîWhÕ¹ûñú|©«Òøò
+QÑtl¤
+)ÜCL8Ñdkêº-øÎç;S°o:÷J{»¶z¨3*E-úö¹Ó<êµæ¹«*æÖïþá§=<EÑ-øØ1©ªÕ`)X_º(¾#´þ'E]&¹!ä
Σ
+©úÜ40g2`yö¨{=9[ºÌ7a3c%Bh«ÈÜ^ý[¯Msn¤½ÅþôWW¸ãÑ,HPØÒGà¤[îî_½Ê\àÍYjcí±ÒßDsX¿\|N0TÍ[Þ²ù8Õ%LÚÕ
^jµÓè+÷óGn#ôéÐñÙ3ãDê[ö'£¯¡÷+&Çå]îÈÅ>`kîj-ÜÊîÏÁ
+H ápiÍAɾX÷ųgv½ÍÏÌ<b,ðùæs]VÛÉåö¹ÁPl¿ÏOíú@ø/rèµS ÑGîÕ¹Ò.+êr¯öhv3/ò:HJo°2<<³Î5§Ó÷8ë:42-T«$(Fá¶?j½ÎçooÅt±B.Y²;%MÇ×Ëõ ·Ñ«¾JkeZ$_äTåþ£F<½ó$§Lvä&yó=:°ÇFÝ´m
+#¨²¼
¶pBZ¾=I~ZéJcãÅìñ¼ö.ÒäÀE \QÜKMÏëÛ¦züÇ®Èõe0
+Ò£É|ÍÔ'¥ôýêv.yíöP÷J¥jDSÁE
+x9{m at 9füÚײÎkWå¬Þ¬Nyñáø2öÂÔørºò>íØ/aØJr*áºVÒëwÕäÔÍÞVïY¥½ng© ýu6µm¯°ÕmÎø!ß>yÉ´
ô}ºfÎåã[3übÅHfwÁä
SLѶ¯J\T·qßÙDÍÝf>HöGúcÁbÞÞÜ #ÊðÉmêâ© _;Bím÷ÊK5mÕècßÊÔT=öTs£+v!"
+}wºcõ¸ûí8Ü+çRü
+ôøú_Æ·Øú7ÕÈzM;ïöxÔkò«çÇsͺ?À÷ì?5|oí ~©lÛ©Ç°ªzLñÿ)¥ÈX×Yg¬ÏçβUr«¯Aº^ôóÖ"_óIùH¡B}kϸhÎ8këràw·ºi|VJosÂýºüöOp
endstream
endobj
-323 0 obj
-14167
+288 0 obj
+3799
endobj
-324 0 obj
-<</Type/FontDescriptor/FontName/MAAAAA+DejaVuSansMono
-/Flags 5
-/FontBBox[-558 -374 716 1041]/ItalicAngle 0
-/Ascent 928
-/Descent -235
-/CapHeight 1041
-/StemV 80
-/FontFile2 322 0 R>>
+290 0 obj
+<</Length 291 0 R/Filter/FlateDecode>>
+stream
+x[Ûä¸
+}¯¯¨ç
+ Õ§óáÁóãösgAÈ o0Ë8¿»ºG+tG||½54ÚSF¶U@I
+Zö
+[ØcµÕÒòLØ`;\G~{°Á×~7î£Àjî-G'1ìL§éøH¶¥#dgà=:pÿQÙkuïÞ¦Ø%iÚä]à{Q¨ïP'h¯Kï2ó2ó¶vËÒV£ÛøóÅk£HgÌÜÈJaMÜàÂ=9Udɪ²ºmTøà*üÖ/e%Ì¡öü2DÞæZò2It -`²9Z=Ùõp.ªrèuZ§®/ÌóDCstý[mN4ôZ0êuÃ5È[z®ÈJÔTí'}®|¯Æ£*áFæÑ6<ÚÅC¿Q_xö¦JT9½|½-Hí{zô׿Ü0[+|üõîW|~ÿõþ·ß@²Yª\oáC¢Ò%VYRìV£>¡F&YéêLá8TiÊÏ÷§móÜÑoÒÕò7rKäë<`ô(&
+AÅ8 Kµ@HJ:P=be*_)í:¤Â~ÜVü0jöÀ0NÐæ ÚøW¤l-ó=úÔ=Óx¢qE|ª&èyª²#þE=*Ò£Þ¹Ý<à±Æ-ü¦¶H+Æ!Ï©c¤:i½9EíùÙ-VÑ
+ûZÁ'ñxÍÏ[\IÆ
+Õô`ÎE=ä¨J7[G¦;,-î×"?L)C¶P°³YÇMÀ/SúÄÈ|ç,¬Õêr®_â{¶Èêà>àôe"ã*ØÍáâ!´¸48£~RÅõNIZ9¾gñJhx\ìl]vG¾3;«vgñ½ê¢Ê&ûg(妫6»Í)äWK_LÐ&ÐT%Mä¸Ò¿HëKíoÙ¨mÄ-yííÖ>ÈG
+'êªà\ß?úz£·Ò(&Ê dй¹ô5ñ=uôu @ï§5^k<jµHÁdÜY¾.±Ó¹öÜlaFlÉa¨Õtw
ËÙìl{§ü2ÅeÙ}®'UÜT
+RÖ(ñA+QhíFØÀÔRuCÙ j=76X¥ËÓ`fbÊ3fÌɰ̲Á*LY¦EEVÝx6EÄBy.ä§ËàÓ\'ÛÞU®3«JEI!s`
+É1?3 #[Ù
+c-ºw6ÆÁ¯DÑÓÅ®D5÷ª¶Ê¬°`þÒkBI
+YQmì¤Ö¶ù¡³ìGµPu.×½KH1=/µ*ÎÏL\S¬ãö̯V}¦riéyâ¨7ªí!Xse¶i®Á²Ë¶Z¦-%%EÅm«êÁ¦4-o©mÚê<C@;Æ«íG¯ÌÂVy°ìÌ;Ä©·Èè¯s¹·rɨ¿q²é2ëc}öý{Foµ¢§öFéö½y²;LÿäëM¤ -÷«úH>'Öð0ïY
y[ã"î!fÐRÆPSJªªµoKëÖ,%Òt%GÑÒ´~K£ö?1øU_Îñ+ÄlæûP?/RUÀsZ?µ1&TÀZÈy%ekzÑg«XÍUãmÅwåSäºÈ*ûÅîóê0yxÆq¡ÙgÿVoW´Ò±6~gj;ßô£Õº<Æͺò!¨j'åÔÕ<¶k09³gÍ:@9,T
+g
?ÕLbTùäëMcß·³»æ¤P}¨À0^
+]ߨ|UL+Vqbê<ò§l¾ÒVãÔ¦¨ì^Ñ»0\Y¨ÃÕÛ"´PXo¸p%ê8\«¹åqðæ0ÐÈr¦bÅi6º=àÚùÜêãkMúsêê=H6
+\éâ
+Æ
+ejmþc2me1¢xzcåY婧A"Í~2½:h³x°Ò)ÕÑ#HFÙþäÛ²ï-
+jÍÔM=+£0olÔj
+BÙì&øÕÌ~M.¸B
+ÙUÌ£æn aÂÃç§ÜÉv×r®.ÜÓÔXÕ#så YJqéássËf
+֧rUa
+ëSÆmʼé
l$ û&UëDiC«}¦ ñ¡|ª/ÄÆÈ¥âE@
+Å£äívÎÛ!ù÷"ó2¥
¹ÆÏÕ8½-±TÞ$[
+
>ÃK»o'ÆúÛ¥scDÖCÐû1e¼ÈbS@](\}ÖÛØ`½¯á[%C)Àä}¼ZÅ$íÒFCi;$O^}BZùh¼2ú¤
àø<§+X«Çð^ÝíL!r¿u[-×{ÂãQêjmĸ©·{®ü
+Á¶.Û! ¨ÐÏ
»÷ËDæû½'Éf:åDºq¦£ÍmN´K[¤i×Y?ÀÕ}? öñË[nA]oPû`Þcµ.iÖìãÍk:hRò¸ÞÆö/@¨Éħ״&|îáyCðᾶ_æAèÛVøÀo×ññö駾i-ú¯"ÁôcLÙx|tÃo¯ ãn!l\
+GÃòQöpÒ{Æ~(Ü+DKþýöiî9'ÆoqY.ç^åGåÈûã]Áßg/½RõøNçÛÆÜáà& c%V)ß?¾Ýɾ÷¥xY¨pñ; Ë0³ü®³ltwgøÄô¢ÂâtVªñÿ8¡(
+MÛÀaþÎÇRYLcµä©»Ü´`¥Æ Ê|À¶ðe>ðÆZ{©kiuc¹Ðõ¶¬Z×ìKÏ
+endstream
endobj
-325 0 obj
-<</Length 580/Filter/FlateDecode>>
+291 0 obj
+3226
+endobj
+
+293 0 obj
+<</Length 294 0 R/Filter/FlateDecode>>
stream
-x]ÔÍÚ0à}"Ëébؾ&3Bb`XôGeú
->Cʽ>;RknCݤ±îÏ)[å*_îv«,õí½x9õ8º¹´,Ãf5gϼC«dѼØ"Gf_hö%rÅúòk"ò+ß{ä5s@~cÍ+òY×Ý2¿#¿Ó£ëî¸æq%ß;dú=êùáqô/°3¿ ¿B¦?ÂéèZC¿`/~£? 'þ ël~uÒ¿Ðzú+Ìïé¯àôÖõô{ôÁ{ôôWpzó¿!Ó_¡ÞüX×Ó±wO¿è<ôG]~ѱôWè§ßÃìá÷¥ÃwíwÌèC ßã}°þc`ý-Ð/ZO¿ÀèÌìüÀèô!_ßÓ¿Àwèì+æ@¿ ?þJDzÿö_`ú#ú,ôfúߩб/±þÃ&ôGøÅÎlbý×ú<BÀÞÅÎÌbçGç§?ê{ú=;ÿðý{Ö¬íüÀíüTú÷_8®
+x¥XÝ®ä&¾§Èu¥¦ØH«Nç§×§©/Ðm¥ª[i÷¦¯_ &3:{´3°±?6Îá¿Ó·Á?Oõóûá÷Oï.{°q
+§53è߯¿ÄÁ÷¿Nàh`4Ã×Á#Ñ?Ão'7S^7ètyÝÆY .åm«MvôQh'¡u)oKBäG\
Â8Å¥¼mòsZÆIh]ÊÛX*
+
qKyÛN_±¯Â®@eRáüÂÇËÅÑ)$0'Ƕ¸©À-aß Xb[ÁT(þ.2éÀQ5YòSÍüT=?Õ±]øÞMoCâúÏ÷QÏfù¼ÿ1ütS#
+SwÀVûÝz¶à/úõXy®Ðä¶B%H b9俸º`ßbD¨5¦¬@yJ±&Iª¸âèg%«V¾mõK¦EFÎô(ÇÊ+`åµ[\r&±¿Å¬¸î8ÛÂrÚÎYr=ò9àÎ@õìºÚx,wãj&Û¨§AaÚI½êóJá-xî³ÂöÙÅ#S`k¶Ô9XDµà9̶]2è²hrÚó°çó9{OlQ¦Ä¢jsp=ìªïØëUñè~Á6`V§$¬ï%{KÑI¥)V fÈ+¯&Hö<Å_ãèź:-å:rKëª%îIÕâ\®
+14ÀÎÜ
+½< F}@
¢ªº&(k½ç%ã@®
+ð˸òOL_ë-Á5m°Ëà'%ÌWB!´
äÛ¥ÈÓKÐÇ#ò6]2@R¦.I¡:he®BQAÀß2KÄ#ÝÕ]ÔW³gÓ`W5ÑÔ¸`8wÄû\ÎôÜßiѼ²Ä¬÷b¯ÞÀLé»lD,è)¨µçmiGi³Ñͱé;*ñ6@²SR¶Gõ]Õª&mq[ª´×ºôaE£MkËËÃ;
+Ú"nÛ7WúuN¶£ó9&FÂqËØ>@$¨-øÔu}Ø2
+ü«ß$©mÏ2û
+˽5çyK
+WÝÔ©g×!ß¡cÉßÑô(?èîwÁêødÞ\mäëÙ÷½²H=Ῥ
+yÜö+ÐMHõûVnd:n/ÑÍê¯&§[KÍèÖRøÝ=E·¤ÐíAç©xPlmhSÛ'¼Rnqwõú°±Ü¶+·-Év¹
+m`¨!Xç}æÍ
%åôEI_((¼þò*ݧlvÎa¯ùq±áz._ô¶Áú²]Æàíѵ©¨¼²iiE6õ»k㤱s¸{¼c)Bo÷¢Òw¼ôet{KFxq³ 9´`¹·ÆN~¥à¶¾Ù/ ïÃÿÄB_
endstream
endobj
-326 0 obj
-<</Type/Font/Subtype/TrueType/BaseFont/MAAAAA+DejaVuSansMono
-/FirstChar 0
-/LastChar 82
-/Widths[602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
-602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
-602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
-602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
-602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
-602 602 602 ]
-/FontDescriptor 324 0 R
-/ToUnicode 325 0 R
->>
+294 0 obj
+1270
endobj
-327 0 obj
-<</Length 328 0 R/Filter/FlateDecode/Length1 15876>>
+296 0 obj
+<</Length 297 0 R/Filter/FlateDecode>>
stream
-xÝz
-|SU÷9÷Üï¦I¦-ýºmi¡Ú¨XIhTúEbAª¤MÚDRüaü(îîTÇ×a:¬"2¬².ºÌà::2¿GÇÖÝu}çu+£3£Ø^ö9çÞ¤iEô7ïûþöý½
-IÎ=ç9ÏÇÿù8Ï&b~d@»AÞ7zôé£B¯ ³z·%ÄyÇîñ¯á}G_´?4´ÔîCÀý `¸oÒñ®!ÞPÖ#¿×(yµ!ëqX¿*
-Ïãð<;Jlß®ys5Dz½o÷Àó&úònöó<g1ì
-ù»5 xþ9B¥¥ÑH<±í¹ÐÕù£ß8°NP½tøæ0¼è<c}æ/¨ÔNoÈ0fÌYÙkn^þ¬Â¢â±´¬|6úÿù/Âåø |/zqÊë<nEÐò¬Ìw>¼5hoÀåèUX©6¡!><kÐ>Ôk¼éjOoñ(o gáûNôyÜÎV>âF¸W¹Ä3Âóíè ô#t=EÇÐ\³/â
-¼À5Àõ# ¬Ág°×£ò*r¶Ñ#è§àÎGÀq gÐè,z΢ðyFømÅ<Y¤:¡²¨ËÁ²ºÖã,ø|ý/ÎG6ñôª{{ßÌ^;`Çyn·{å7ã#èäÝB°*½JðÍèSô:pXpÔ ÷Ê/Ð[ÞÎpËѪ%h1BÑr ,E¯©ª¸F½K8»ãYúí?ªUO
-=&TÀ¿¦ÍÇÄÞø-Ó·Ê~Ëä_º
-xJëù!@Ú
-Q½£Í2
-2+`´4û1|?Ù_d¶êí¹<²rµE¦q»}r>wîÜ
qÓysV=ü«
-P+æï7dhú%ÕY@'Ðj!ª9g¿0n®§¯zf3^G5«3bÐiW4¶µmÀÒ[%ßý-¾û·IÏpà[¹Û?;ÔÝwâ2 ÊôÇU"C&ÉÑLm '¹¯ ¬Yö<Ê:+
-ñt0¦ÙÉP
¸ÖK«F6þìÍÓÏûG«)@ÜÅxîªînéW
-Á58§Üq»ô&×êîù@:õú3ø
-²ùìç?¾#|ö_)ÎÞ÷ªö -pçÈ1è4#h¿ÑÅy¢ÇVéÔ `Ù©SËNQ ã
-ät6Zì
ô&5Á¦cB÷fc&E[£SMGûÓy{
;ÂMË[)èÆ@Wqïá.é°ôô6>÷ñoVÖð?é9;±ì:ÛúÏÖ²<<
-rk
-¢Ð";-uåe·oÞ¼}ûä~ÿáy/½þCé}rï}ôô-Äx¹ô¢ô1¼^ÄËåÎLú±Ã!¨NËë´D§×qÓëuÐb«^ÐhÔáÈ¡B'pDCTh¿^cÐë´¹ Ò«QÍ+¹4æACv±j&¼¤6i·0õ-¡¼´w;.A%¸+!³´ºB}¡
-Wªæhªõø*Õm¯~mWj
-w¡½êojö@àUªG5ß1w£nó¢LÿR=.½pçðCw]xYú`ï]Òp´âê&_&?ãVMþìîB!~©PÃ$ðÐà D¥ÆÊá-jS´<{jµ\®ÃüðÄoHÁçïð¥äôôÏð÷Æñ|nÿíd1SåËÝ(g$Ã@Ã$ã¾<v\æX¡Úh-°ªª
-AÀ8²GÇM¿=Oë+<úׯe¼f|-絡;uQç²¾ÈÑÆ·öÞ&½/½ÿüÎÔâ¾ã?µåS.õo×/7/À8_+ýtaèÛ®ÀÁÄÐ`{;ø|ø\
-L1|ªÀ¯OW!´«(,ZHj( ¹r5QΨén?v©¨Dè8`Ixj#ê$ü¼£Åpê`~ô°ôô0®úýGüæÏÇÀ3£äfR¿Îz=sgå´s6P}wü$P¾oÎþÌûª*¡§2سTV±ª
-;E9 yJî0?9l¬êg´V&Uiê \iæ̦,«u¥¤<Ö½iëÖMÝ1\ñGé÷ww½áÛæß×÷ü»ï>·yt>®àV>}ü?-=.ýñ÷
8£Ú6øáöVlÃn8WotÈuë°åAÀ7
-9I(²pÎ4f¢ÌC2°d«ÈÐkMH/ûúý&cA§U¤Éä3êkLÔDs.ë5ë²N oÚ8дx>®;W`À=»ûÙ5nûÃÐFÏ|«´/ÆèOxñðûßYYÆ;¡¾Éâ¸ÏáÉ[ì~Pä0òÛTÜ6¤p,ÓÄ2Z÷+;IrJ»øR¿ÃY>äÿ'ðx!ïÃN¾cè¸Æù4SñȦӯ
-M_äýK¾3g¸ùô
-øí|Z·¯9(ê¸ÖÃåZæ 9ì/ddõ"&x]ñ¢Hitn6U
gÅæÎɶ Ù&íÜÙÖܵ]±áJï¶LJ»Å£ÙÒÛÆL(¾4½¥w`þ½þ_úo:µyK¬ã]ÇHþy'°ííÐööfn¤óäWS-ýºaÕúök×-¬]ùïÞ}§n1^èq÷nhðÑXyl[åwX£$c!bjôÇ-5 Uá×êq¹KëqëW=Ô)ý³ô¸LTw>ÜØ<Ò|ðÑGÂ×üÙ³ñ}x;Æ÷Í-Xå.MNH«ä¸uC]¸êXúǼ¬L-qP Rç"ÙW°?ߤFæ̼¥³gjªg.5N¯=¦ó¬=¦÷ÜÐõCdF«7
-¢JTQ+êD}MNµ&·&¯&¿¦°¦¨¦¸¦d
f
v
n
~
a
yEÖì9ÝìndÍÇåɳ=m°H>u¹§Jû®»?òQ¥Ý>÷ùv{åGgòÃQòÑêÆK§&÷q¯íô¬ß1¹{mÇzÏÎÉ
üæÄÊu`ûØÞq«EB80§R«*àÐðTXÍUò%êJT¤cG±õVË *QÄ¿DßPï´LÖªrð]xê]Ê>ðr<yé§ÒÒpæóùåçóË?rg#ÄíïLò]2ýn3îà ÂnÕv¸_WÉ·Xûî©ë«RÛp²Q
-×
-z¸±æj¢*>ÊùtQÕn¤.'¨D+dâBk%£ç˲MôÅ_7q#98y'·bònpä>ïá½J ¨XâhÝTÓºê%²ë0m&XÙ$äÀEió¸äýÐüÃ/ D8µÓôâ°ñ¦ÓìçZzcÆ/àépDºdn½´ßÌê¬Õ¡åÇ#@~êô)Zc_©¥¿Ûß8ÿ¶pæ³ã¿
-µH'MpDéFûÉý¦xèy#²fj³à¾1n?Å~M0ÉÁh¢É__[WÏÒ:ùG:vñ'î§ÿY:õAþ¼Àúâ7Ïï ³/ãõ¬Á9´ôìk¿/sSæ²?¡
-û¡îÅþ§©_>¥õüë F©CR¤¢ôGgþ\Ê¿hÁ{#x8
-w×áNu
®¿hºÐ&ÚÁø¿ö ¡&ýFX9çãh+^@ÿEGÐ'x6îÂsó8÷kRHºÈ_WxÿMþ(ôTð:®2©ì*êjú>õ¯4
e[5G5¿ÒüV´ViZèokr7iBjyÿÒþ
-jÅÆ=7¥lÃ@y2æ.¢ ÊAqeÌÃx¯2 Çÿ®2VÁêqe¬?«õ¨½ª3´>PÆF´X·8côîï1F¢>¢9¤Ñ(cæéPÆ<_PÆÊÓÿ§2V¡JQÆTf¨RÆz´Ô°VgdWîTÆF(ùAC$:öâÜÞ*Ñ^[»HìWñDÌï
-ÙĦpoµèÝ*.ºýqlßWkôßì]?(ö¼á~\ôÆüb0,F{½¢/òÃIo8.¶DÂßÌ9ñK'×ûcñ`$,Ú«ídºN¤íéA¯hH$¢Kkj|0¿m°:õúû"±~uØXÅȨÔÒ
âܸß/öø"CUÕâ×°©Z§ÚzEs
-IÝ+þét9æâÉAPQLļ>ÈÛ"FúfrÑéÚý±P0Î`ê?æYý1o8á÷ÙľÛÀ`É&&"¢7<,FxØéIÁÁp?Hé¥)e"àW÷ööFBQ §
-&Á(
-*(}LØÆcC~f5óo<`Ka£2k"11î?
-qyz%:òxÁ¨¿¨Aîfg$qCÿ²fᨿϪe¥¦¯¼Ã(âöi yz0
-&õM2Eüw~Ù¡HÌËR¹XFe'Ä2ºe6ðN³3=~È&Êuü@Ø ¦óoO@ÖÞhRÌÛ3৲ýÀycÞðÆ£?<7á>q0ìS.^WÊd¯äÙ8Ô_Èlæ:ê(¯8 at +äK0êíÝâíà ¡'ëÇ׬i¢ hþ>ªÔ¸ªÕ#v´ò\ït»Ä¦±Ýݶ¾©ÑÕ(9;à¹Ì&^ßäYÓÖéÂílõlÛVÎÖ
-âÚ¦ÖFèêjw»::Ä6·ØÔÒÞÜ书ÖæÎƦÖÕâJØ×ÚæZ<ÀÔÓƶ*¬\YËÝ°+<lâª&O+å¹
-:Åv§ÛÓÔÐÙìtíîö¶ðh¶M«Ü ÅÕâ#QC[ûwÓê5lòÀ¤Mô¸®§{jØ&»EFR
-ZѵnîXãlnW6y:<n³
ÒRtV·¶µP:[¦¶Vq¥Lq®lvɺ)
-ÍΦØèlq®vuL ¡d9SpÐ
-«].·³Ù&v´»è
-m®u0tIà5.&p¿¦3¿Ì¥|<mnOJë:\6Ñénê *¬r·ºÔ°ÚØ xRçµ*úRѹ/FPÑÝ.g30ì j|¢Ëµ½×MÐØV[.¬ÊõÓÆ¢V.«øòB<Cf±G®pSÉEdR~iùèÓH.¿¾m~¨qZJ ?"´ã,ÓáEs/î
-´1z1Mah·Bé¾ÞÄÒd
-Mý¹¦¬ZÔ]±_«
-n Ö¡Fm¯¢5J¡D
-ÐGÑ0¡ ê+Hh.ê
_DvT¯E0ê
-4ï ö#/
-!Ì6¡0ÐWÃÈà%Â¥$É+Îüðí=ÛàÓ:Ô£Ãz4½@ë.ýR1å/0|F¦øNýëek3ùt0.CP
á½Þ°ç«èÄ¿r=³)Dv°Ìh¥sHîOî^ð%rúغWBÁâ
-tø"~¶7Æ°«~س*[ˤO¿èCºFýãg~öv¸TV1þñõ¸î²e½0J×ù1©äþòþßçG{Êæ ¢ÈÖ½ÌÇ!êg¿JjY;ãbܦ¢Qæ`k~Å®~&%Ì"ÌÇøô±UJìa9lL¯Ó0ÌöG%DkBñpE
lK¯tgi1=ƽ@ÕË"$ªpOr Ô²îr$ùYþÈ\%eÌst¯}Ç^½°Ç«Ø'Ç`/DeqI°$>}0PâxnJÇ) 4÷©þ È9ΩÄ)LèL># eé9¥Y`±Ö« ¶ñålJ.õfÉ
-Hß'2½§zRu;k2r%÷^ÁvÆïCì{ª~|_$Àò(;·¼EÕÓºÒ^ÉpJÿ˾ ËådE£º'ª'ÏÈRL}i>OºäùE¥Èx
-/Û´ÈÇ4¥þ
-§¡ÑtÔ2K«¡^=rì&eÌÄ'þ6¥×8ß´ó2]N+k2]ÞL\.§£Mñû
-©5ÈÅä´¡Vx¢rÚàÉ®~ÒÍÖ`N~Î
-+ëá©f_l
®±l¼Æcêd¼dnø¤¼7Àå-²gú´è[ÝëB]L¸u0J7ãݳÍðíRèèég:^h7*Ëk
];tÕEÖÔóSR§kÕÄ$&5k'7ð_£¬:wãGõ·1¤è¸5¥ç*ES'Ãr¦<@£föDg;á»è:Nf³¬m+³a¬Ë¶¸²'dà»dSÕ iA%yJ³ÚÓÈöS©kÙ¬¬Yâe:âR`)ëAñ_ÜÁìoÈì÷ÀùÆ ü|±³qhIÅQ'³ÏÉphcV²5"ų9EéNóJÃújÞÈ$9"µ$Émºw.I «}.T3£î
-1ÊÎ{YÊ'ÎÚ7¨ÐÒù[fÜc3nU_å¤-_
ù;ªÜ©aÚOV+|c(y?Â" ÿºáõ©è£Ü¢}(Å ?Msâqù2*S÷¿ñûZ
-Ã{¼k>ÖùU³.<
-sÓ;Jöÿ<°¿K·ÒÿWé'¸ÝÄs9yüè$ùáEòÉ3O¯9I^MÛÉ?§ìäï}äØ(yòláÉ-älr4ü@"GÏ\$gÃÝ#ÈáçùÇm»<¶?ôh¥ph9äà$Häoíä`ùþØjáûùþK¯;.ñcßs
-c«É÷äÀwíÂ-ä»vò°DþÇEòÐEò<E¨ £yä¯%òW¹_"û%2â7 #;É}÷Zû¬äÞ{L½rÜÝW,Üm'ß2}{O
-û$²÷®naïI²w7×7+»ºÉ]þäÎ;2
;óÉäöQrDö
-ÐÌÎ#åRVhÊì¤T\,^KDP2ÃW±D¤ÈN
--¤`V¶P
-ùfOuºÏ³ÜµÄ
-쬣$g ±,!Ù¸XȾH²ìÄl²æÄ«&;É4v ;]$Ød>S0}&ÑÁ¼Fm4D#[¨Õ¢¦jy T:¢:ÇyAK9òy~.C ÅðI0ðÀÅe|ûî¼Ïÿúý7Ê.ú/-n
+xµ[Éǽ÷WÔÙ[¹g% §º}¦=À²Ã`^üûÈ-"·ªR¡ê®\"^ì9bûßí¿Øþ,îrsRÁOðç×_·¿ÿiû=¾ÄýË-=|ý×íóûMmï_7q70]â×wå|0ܤuw»ya¶÷ßn?=åÝoÿsûÙ(o½vÁ=üöZ_¶÷ß`|Þÿ±ýl
Wîétyo'a´tÞYwÀÿoâÇûíË7R溴¹OFYØO udº×. \¸£¥Î=½iI$H¡`®3pù?=ñ£ Ø æÂ
+ÆZm°"p ¿ÛÏÎæoÞâêR¸»Ëd¸7ôÆ=᩼ºë2þá<¼3nÇEWÄj)×Ä~qíì>_èN5Öz(`Ø
+÷B°f¡Ï¡2õùE>awåLáeµ» û}_î~!,*ÓÏÊ'Äó@Ì*hå]J#GÆ{OyÉòI"´;¬G"·*
+{}Ç{ZL`P²{ÅÉEéLi®c
+ÖYGÇçó¾d³â'î¾*nñVðsä.ñvÔw´4õ3¸Ã'ûätS.ýéd Ío6ðqûäWÔ¹lei
+tÙl
+Ð
+ßêm´Sô0|g</èôa R½Yý"Z5:*¯¼é(ÕæuÊ\î÷ÐVé1Z1À¾}+¤fBÑdÖèè1ºÈνý!²õìÃtßL¯´F/]¤®mG©uÑçø¬Ð<Û
+wÞ
+æ%1÷¶`³{ù4@Â
+xÖv]e0î°#
êõ>õÊ@zÓ§^¬Ië/+â`{"e§hiûâ}Ík¬ñâ×2rÊ$ôéº%F³4¬û3$å÷ÉåìL=0ovbqãTÎÁö@Ùû³«XΨi?§-YJ,zpµsb´-¹e2Nù°Ì
©r¸ÄÅ
+CRùjBCÁàÆFÅnhéÚ¨Èè¾÷(M9£w+Wå²V(Uëbî%ÖÀ±^/itõ¾þ£±ÕfÌ#V ¦6õ¯ÛÕmÄ<Ñwã`ÕòÓ9ýié3µ;Gm¦IZjµ,éq]¥¨£u9/T~Õº".
+«WYó:ƨ¡<]"R°£iéU×I0EWsÕV¨ã© §?ÆÓÒ ûÖUahw±9Jͼÿi»<fËÀ³hTcm²EÉÖ5Þ8..W·[E®dÕç(¸:0%eWǹêé¢Î½úkªRÝÎeY¨:¼cï¤sE+P= ¦¸6½A!\³FêØi¤^¼WÍBÃIHkØÆ9¯ÅÒ©¤PjFI?ànöûAúµ$o|V¨\l0[z(¤<«ü$µÓ£
+
+y
À¬c4ßFsÖ]qr<CkmPÎÞÓЪ5ûU.é'Í@¬âÈþ
+¡¦ÔwɧÜYùi_Ôþê æ
ÃiÅ_íÔçêf/´Q/(áb#±wZÞP!´®3TÌyæØ_JÌòå«7Tx°î4)V
:ùèL´æÍÿ6uab/pÛÎJh£b ý]M³pÀ@¨k1áÎaxz²2x¼¦_EI¾RÀ×Û }òÝ
+ûÚ¦üÙwä?sÖÄqZ¾¢sÖ³`×·×ÚÝr¯"f-ãl¦Ic^4ênÉ{FQ^$nàT!?(m¥i¿®´vÖI*yü (`øÀx²×WÓU
+{VçYY÷#<r^¶7ûÔN;i)%
+Æ¿V;åß6¦A©U{ªWh«5«¨é>UµÔC¦?ΰc¼¦wexíÀk¹S4ìg¨^vÁÜäÒÏPêtlí°u4Ü°%¤n5òª[^Çïit`²æw´J1VOÂë.èøøÎó2ÓÄë|L¡
+°ÚÌÛ:ÑÑmÎ4oò»Z`ÍUaTºHE[¬ãð,2
0.E¸û¦#ÏÝíª³8Ü:4§$d:ý¡cW¬¹*IwyóAURRÑÀ+º=xÅV©_·bR}^;FÌíç]ííÄö$8©uÖc
+©y¥¦e1q\ùÌ'Ý~(öëóîMc/fh97ʵÄïK)¹6%ÊRkKZ9
+bX¯±Þ,oÊ °æÜ
+;¿í¨@¸Î×hSmZ,¨âùHw2R'^Ö±ÙÁ.ÛDè-^]öL¼?ãü-#'a &ÚÔQ,ÕÑé«h3.¡6Ph
+Ö̬åuu½Q1ËÕ)?ÓvjÙß{±³Ò"¾³Â×Ï!=ÀÑTáa¾³×¿ÃËRu at vã+¯B+êÄá³9ô<µÔJ=.]½¯uY®4ëÛ~Ùþì9t
endstream
endobj
-328 0 obj
-8582
+297 0 obj
+3013
endobj
-329 0 obj
-<</Type/FontDescriptor/FontName/NAAAAA+DejaVuSansMono-Bold
-/Flags 5
-/FontBBox[-446 -394 730 1051]/ItalicAngle 0
-/Ascent 928
-/Descent -235
-/CapHeight 1051
-/StemV 80
-/FontFile2 327 0 R>>
+299 0 obj
+<</Length 300 0 R/Filter/FlateDecode>>
+stream
+xµ[Ùå¶}¿_¡ç
+q
+ÍÃósP?õauQäʤüÜ&ÕO}Øn=6®}v®_¢ÙôJB°å¦ó8æ¬Ðξt·¬Ð_y.Æú¼VVªÅߧ¦/ï³
+ø!BX6øòÉ.85C8ô÷÷Ë×ífô|µ!®0ÉÂÜ·þí2n}Ïq7ìõ\CÝýG»;ãq'Õ¸ èÂ;¬´VY âum;D¡¼7ËÕ÷« ÝP*v¸%îp¿º®8³Ràæ&}è*Y6l£5:qX?PVBFX ßkFòq& èÖ**×%z*ë1&/:Z)8Âþó¡ÐÇpaBËYW)ß»èÃ-
+OÆ$ó^r5´ïP°[lô3Ô
+Õ²
+É$°ÒXçSI¡ÁÂg
+æHDÜÒß´¼¨ùCO)Ýd¸
çömнä<óqÌ/áç~·ÐÓ[LL«Á]âY ,b¬¦p¿IÔ<ÐвNÕf
+bCNe0'³uNÇc ÉyJ\µRê«üÁÒâË}'¡VðûAò«ÈñLö~YÓÝ®OgËhzy:÷àC~#°¼å,?AÄâN7ÄmÜÊ·4*$e©¼ º75ºÏ$ Öjÿß/ ±Ñ²´¨Da29QG)Ç}nN¾UÙèF#Ukª¨B\äNH}Ls"¢3=lºNcXâ9D¤v
+ìû¨KQK<ßμ4Õk6o!y&Ô]lÛ)º .àTl°µÙ+eÛ²PS¢ïn[yém¥´^%
+h#êEÛjÈW³÷V_°ÑNW¸NÜ í|o_X/ìÐfäªaêõ
+ÀSyé 2F°Xfkf¦ ¥½^Ýò í6(öS¿rƺû´9p/8;U
+JK¦Z/³ÅÀjj[ê{[LYúS
+@ë#'í1é¼êýÓbÒl;ïÍû¬%wäÉW½×äÍ;jFÔ§/¡µæE5ÈVlÏ^
+('«ÿZ®¦u°Ka
+B> J"µ¥'¾´§,ÐS5¤Ó¤×¢$¬CKh¬§Êèôç]Se³CÑ®¾Wóÿ|ÚÙPóf]ÊÍ[£ÂACXÌíæ)
+S¼Ö_лáVh\°#úü8Ww @ÙÄU$ÏÈ¿<Wè¾rÒú|õâ'w`aö½K¸yøñlYznÞr¶m
+¾4×îU³\¨ aäïåØÝ×=¿
+=g¤ª©±f;¡%[©sTgæÎSÚ-~U/µ¡¥¿Ñé_±JVdìWF÷Ñ0o[ÏÅn(r<ë#:ÔÚIp«Ü©«LÈ-ábï½ïÛDÄLéüêÝbQx2e5"6×kɺ§j[¶¬§vR Ç>÷óÂÝB\½ênLYF
+ÛÐ5´Z»X3½{>Ó<Vÿ¡¸tõ/³ÔóN÷
+q¥Æ ,c*I{±¶!4Ê×RS<;ÐvÒÙa¡¿ÂLÂ-ÌBÌ @DU$ÄØ*Ù°(6¥@ç þY®,:JÓÝ
+ÎÓëóÇå] -ÊÂ9i
+7ÛYb¤]iâ_n8]@¯Ùüx
+§¶®õ>T*ÄæöU5ÖÄÒZÀQKfÕÛIs®D©êj^
ØÎnµdØIÊ'ìÔ`Êû].hSÞâzuÿ`ç!Ü÷·]ófG{Ëîîæ7ÇZ!éUÈ2íöÌFïBËWt/G¬°35ÛUH
+H·3w
ök×TÒmÖ[¤uO§eï)©P[¨0§ô3骼ÀV:XK½çmê¡*¤ü_|éËÍÖr·rã¨tÄkmæîÖâ{JîhuïS¾Û=Gï.Ì[Éù@Hºßµ%ÅÎù× k7¸x"þ?@´0>;ºLZÆ>Ê1À#»RöRo?ú%ëZüfä&û³îLæÖÔ<M`ÕÝöàF
+ÙzÂp°×
¶Ý¬ú
Æ£nábg"2ërÝóUp´÷íµÝKÂõ½cª2,Ä,íKÄìF9ÄÀîñ%<0´$<ýèÑs|<ø ¦[BMê´ô%eÿt0S2qª{@Ö 3ª/û3Êæs4ÝñûZcïti¸8¹Ü3ðsFA
+Åq)¹ÕB$f¢ ɧeOs°¡Þ\·Ë¤f±°=çìòªã¸D_nF&
+PB+`Õû@&
+æ vÎ =kG´fpnv^ÖR}&®·:L¿Nÿ9[`
+endstream
endobj
-330 0 obj
-<</Length 378/Filter/FlateDecode>>
+300 0 obj
+2837
+endobj
+
+302 0 obj
+<</Length 303 0 R/Filter/FlateDecode>>
stream
-x]Ën0E÷|
é"W"!¤E*í3¤HÅX,øûz<n+u:¶çÚÇòUsnÔ¸¯f-¬lUo`ïF»ÂmT¬åêGî/§N¡Í¶Û²ÂÔ¨a. |³kËj6¶;õóðÅô`Fuc»ªµãö®õL VeÉzì>O~î&]jßôvy\·½ü¼opcN*rîaÑÓ©E¬¨ë2
+xXÛnÜ6}×Wè9 at TrxpwW}N»@? i
+uú%¿ß3¼K¢Vvj°µË3ÛRbü6ü;ñ£äh%á¯ùïËãoÆÂ"ÿþòó^þ~º4Þ_F1)þö'3Þ¿?,rr£ãýëøÉ(«ÙÙ §íloÖý8Þÿn÷ásRÔì,'(üQÊZâ;ÐÌ<ià@ëV{#a䫬qÊ)»8rD¶Fi¬`°®Óº²K[cm°7»m´j°Ó(oÃn²[[£]?Í9x¾ª~{vêØ®ÉóìgÙùi<µ7Ôn<íã,8sÙha-:ÿ}£Û§_*eÂ{Y7ëQÒXØ@±Ëûóª%íBüDzMd÷Y=ñCYTæÖm]ν^ôIf$£8}¤f¾LîïÏæ·´ÂôQbùyT
+áùïñ×÷Xųzß³ÊêBgÜk\
t!Ö1¬olªUíjOv«6Ø¿&[¡¦Â~nVç}-ï'µéoXÃÿШGØIÖªj#+:ªÄbsR]¤¹v·]!.¨¶;> =VåL´ûÞÚBÒøy4Déóè6/U1^âOéÎJñ¹(å¥*V,w|R
+ÏU)-U±¢¤\U
+ÏU)-U±¬Ä1°I)>¥¼TÅvxÜ.;Ov5ò&ÒöÕp6N+´6uï5jÛ`Ôto³X?mSU?móKïtħ~àqa
FiÖQ¾ÂyTÊÒY¤¡tÜpÒ2ª>αßä¡×k¥f[×Î88®.ì~yZÂ.s(õòºßh¯Z¬lHÿ½
+¢sÂÀÕ0=ÚÄÎÐ\É"¹ÉëFÚè0â
+ÍÇE¨co·}
+î)kõæjÉ*ï_+¼ç`t3y]Í
+O+90ì£QG×vT
+¬ðúáD¤ÎB!æi¸[uq«AŤ´
+K[¤^QI«*
+[bsÛÒ¼J(Ø Â¡7«SNz=Ë/Ú&xýûúwÃÿ
endstream
endobj
-331 0 obj
-<</Type/Font/Subtype/TrueType/BaseFont/NAAAAA+DejaVuSansMono-Bold
-/FirstChar 0
-/LastChar 36
-/Widths[602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
-602 602 602 602 602 602 602 602 602 602 602 602 602 602 602 602
-602 602 602 602 602 ]
-/FontDescriptor 329 0 R
-/ToUnicode 330 0 R
->>
+303 0 obj
+1295
endobj
-332 0 obj
-<</Length 333 0 R/Filter/FlateDecode/Length1 28056>>
+305 0 obj
+<</Length 306 0 R/Filter/FlateDecode>>
stream
-xí{\TUþø9÷Ü;;ï×å%¢¾PËEEðY#31fÖúhL[5ËL©ÔÌÊÈ\³ÖÊ23÷¥öÛ¶Z{XÖ/2ýÝU¸þ¿çÜfPjÛjÛýý?Æ9÷Üs¾çû~ÝÑÛÐèBz´d¯¨uÔÙyÿË¡7ÂÖ^iT¿*¸ÆïÃ[®¬W»pa¦!×èy5*êÞÊD_Pâ¡*ÃbPJÜ^³ä:5\ÿ®«j½·ÝÒúw¸Þ×5î
-ǵô®o«uÜVÿÁË#4X×R£ÖÕxðÖÉpÐêÝïl´ì2BUfz¿¾ÁU_y®3ª`ÃþÁ~¬¢×áZ£uzÑd¶XCBmaáý"úGFEÇÄJqñ I¦:$-=ã̬¡Ã=
-ý¿ñ¡vt^/¡ÝhÞ W0}+Ì´r{Ñ
-Ô3¯àcx7æv¢óè¬lBÇÈnáÉ(fz[àÐ\öl³Õ*ñ
ü>¾oçÏòÇÑÞÃçËyÎ"Ó
ðÎ&¯rVtÅ¢v|yÐòÉ"ùñ¼&ÇÉnô1ò3Ö¢íh1àÝh ·+#Âq´^n¸oÅ'
-ÝOxnÚO]ÇÐßÐ]¤[zÅUþG
-'ãQ
-ªäϯQ(B-=§V <á0JÌm\R¾³Í~ýLéõYqCR¯¸Ìj©
-·Ií/Ïä#
YmBTIÒ´ñI |ÛͤN))µuç÷AÍ+s¥3aH¯`æóƳ{ôÐ6! þå·IUÒ=æ{FÝcvlCr_)lo¤FýízþR]Âa Ç£ôÃ';¯Aæ';3B,q¤8K\%º<$²ëc¹Emüæ«U
-Â[äJ¼A8
t(×¢ãºYhCËôF£¯7wMi3Íì
-`ÏtuZ²³3°Ýa°
-åµmÕ,Y5ËÊ>ìèÇ?:vepêâù«»[¨§$ ßïó4È$4ÎEm³unµè4\HD¬QaBDTEYù8sWgfPb Ϧǧwv^è4ËÎØkÇx¶ÄÁqC$ôâ2Ãl¡*u¶
ò qxÿèC=*Ä7®_¿QÖqüÙKïhÞ!¿Ôý)w´û½¦ÕkVpòuî[ëwzfÕ#¡Ò±û_ÿ3øGïjÆ4»MÕÌsÍh¦J°VMuf<|¸¯½±@+$Î<WÞGI[wîHw6÷M×u©ÝòÝÝí¦5]þ¬*ýÂ>Æ ç:.&6F£åÔ"+êbbyF¶C7ök¶ðÍhcÒzË1¢.6Râ##CÔ¡ñÍïîìê<c±fg+2ºpùÛ9ókÀ¶P0µÙø}_³â÷R
-OlÚ¼øÃ7pø_«ÿ,luÄð¥*\±ßÞÿöûé¿Ïp÷/êîí7äЯ@évâÓÜî.ÐË~´
ã1âÍï¾ÉT6²ÎÉEvÌݵê9Á½LgBÐ({?ÜlFÍÚeV³¨M"c-(JË*j´(.PÅ·ëL¶XÛXÛͶ§mU¬ýàÀÁØ7È÷nÞ|¯<¿~ cùò%ù
-!½ûw÷5¼oçGï¼÷a÷.ÀÕsù#a5È(eÛ%$DâfÙ¬±>lÙck6®×¬áPe(Õ/Bg,ºÎtf ú <Gm%É7,΢â$d1#@ òÛw1EÞÏYåOZåGäF¼ßtV»ë»VËçä/p¶Þ²ë^¿³{Ié4ü
-±¢þÃ\H.·
--ã9Iúa¦Ú:}¾ ïYñ8'pÝÝßìNý½rêÍùÉ ³(´Ù éexd>×ü°e£¡5t=QEQáf¢¦¾ÎVFYr'òøpèÐMM<
-µçxA1%lÏÆO¦«oçoD6E¨!ÞGðýÁñGyÑUcO¤7j9Z±¼ÿòÈåQ»Ð®HË4' ø8l8qö±ne*O}
-AñRWßåúØÊOÜvûÉâм"ä»wï^תݿ°%wÜ×d~úò;ê£åÏí/òUÀGª°÷,á
ºÐ"ƦR»Þ<lÉVlå
-vRÌ|©x`1rÝ:Ã*Ò_È& óHjS©PãvCÝÀrwpjúÅeÂ`*ù·µ
-G öU«µê×[×ôÓFbH-²Ì
NÅ\ÀyâxÎb¶feZ-f.9GB<ýäVoyè!ø÷ÐC°VþúÒ%ùk¬åãòð>*
â¬VÙ#¯d`^oÇ÷Ò³pXÍpH@ésúéQk²ª5fH«u}ÌäG3úéEÙ£LZÀÐ2ÅEf»w^88Ï1>;x ò1G©¨|ß3BN|â°¡ÃCü@°Üêu;v¬[·s¼cùztù/§åõËî{Tþúë¯å¯·OZ×ò
-ßµ{usSÓæW6m.í]úìïÿìÒ½RükkßþôÓ·×¾Þå˽ðf|]4µ0ÑL{b
-VUaªÖ¨°æVýªøõQkôñÚ¨(NQbC×JbÎöPÈyñqî89ΩÀKìáæÇ"Sñ½ßw
qÛïÞ¶ínxcmÁ¯0Þ{ËXÏ(wËçp1,x>ðÈÃÏ?ÿð#¸Eíä¯ä/gÌ¿üüù¿ æâ1ÝR_tE áöþ{Äf~íáÃ!ìõWGPF¨¹?õõ=>Â\Æ>Sdl$8æ÷«#lÆ0!¹òìòËH>Í-?[9ÿ_ÊOÉ·ã¸tåÂÜS7ß$ÿ$¿-¹éæ&ámx®ÂÛ&2¼M9U¡Ú##V5-íúM"æ4¨Ð Õè&°D9}U"ïÞrKR,Ll0Èb¾3w¶ßqGó¹Ï6¾ô·½ûFnë¶/nïnR
vou9¿¤r^ry²ÐAðd±ºp=®ê0Z¤±¢:Ú-kÂõ(ô£8ÄMhÞ
-~¶XuÃy¤á&DS9e*^bÛaæ2ìÚò¥11ïÇðxNé:8"@+Òc`OGǨg¿._~sñ3ÜÈÇî»ï1úÞÕ½G%îv:äò7ð:èÀ;{ö¼ÝH~%li0
-yYðAM¨03[TÆJª{aÌáN*ƽO+zDCohØhl£üFfYðB¼X^1Åó§ij¶Ê/¯ín]U¸yÛ¹òµø:Åß
-z´x"Q½=Ù°v¥ænÁö8:ôøù~Övý¨H§±iÐÎjÊbù0{ÔÎqAñ)c£ë£[£}>ZÆâ±ÜXÛØH!U®IצnäÆnÎmsGjçÜJm2%s¾ªY¾©ætíÕnþ¹¿¿E¾ Á)]bu;·ãîÍFî¦Ù/:tÏ T< ß;¼iß>$&¦Ò©EGíÚjQ¥A VêÂ3ýáoRÄ÷l¡^BIv{¤N&Çæ§ny${`EHZÙgµ{±{/_¾§²Bü>
-EH³ÎNÅÚÇtê(ÿ¾!ÕÕîØ3s#Õ¸êj®R½S«°VeÃýUp¾j©rájÕ"Õ
-|ª*õm:3î6[à#á(6s-åóÝó§.Åò\Ìp)Ö§[ ã'Cï°¢};ñVÓõÄjË»"ÆÛÆF,FUKÔK4K´KÄ%ºÅú%%Æ%¦%æ%ÅÖÖóÞѧW*àÙøäÍ|rÃylÏÿùKl!§Ï=zöÓ×|¶E~]î¿
-&hÀä=é¢EYk×k˵õZ( ¤¥:ðR;üñåZU¡QÙ¤ÐoX<eÌX¯y\
Ð&£ê È
@Ò¤4® &"U U)mF6¦i%3óÃV&´3P¹ÏeZin±ßn+¶µÚhI:©Å'PK§îû¦b*NÿÐÑÖ¶çUèÅUk»ÒÉÖ>ÿಠgAh¬=ÄwóÆ»ÅßÞN¨Õ&
æA
-B¿åÆû)9[øPñ³¯½ölñC
SwÌéßÂC°jÚ#ü°'þèøñÞ¯ÃFlÅ£ñð
-¸Þ+~ì;~ñÇÏ}å¶ßÙ¸+#¨íDP0[@1r?À¹É謯¾.õ×¥òø´]i[Õò)©=P_DjjMh|Þ@êKNöª¯q¥³ö®¯ýå5J¦6W%Fé¢ôiàSu©úÑÚÑâhÝh½NBNäuBÒCÓmÂÆMRâW+u+õ+
-VÊ9S*Ñ11ÒD(>Z26åæ%)KSÖ¥´¦Oé{ë
¼*áêB~80¬.Ü5{Õª¹ÇÞñõf¿RSùcù×ö'îÿ·ûø±{,+³çÇ=°jËþ
-uýâ$SbóòOúòµkA®Kør¨5.ÙYÁ£èáTH
-©rÁaýFP ÃP©©{zJ´Ô¢u-·+·ÂJ+;Ph|oVØ5Ï-æp+¹¥Üzn;§¡i$ þôç 8
¤ðfGQ|f?Gòù Â$]3MdzÈ,¾XS*q5©æç UªrM#òâÅd1ß(Ü®ZVàUd¿JX©jA-x·ÜÏß/lRíSµiiNk.k®£^2KKÐk_Á7á^o¼Èw'/µ2µÉ_qUVd@#ì&Õýà$jD¬*"ÍïNi¡¼ªoòìS©;À)agµ'à
-µà¯\~×ÖæTÖOäëÎGü9~íýÓøp'õÇÍfþx øã}´Öº2$¬ÃD:$´'Ôv^è= iôUV«ÂjHX²ØÉ2"ùôÙûË-Ô:¥@áf.P÷_©sP궰ðaYäÍwìØؼ£]/:¼þú%¿Þ½÷ßvuýö½Ùíܵ¯¿ûîëGÞ}÷sùCù³ègS½ð*æâQV§£æVì¦|Û|s3¾ÅÚMjÊ75F:+¢AÀ·1ü É
-³ÚB9uÂpë°¡Üv`MsKë»îRY;å1§ßG}þ1~õìYü2ÇhÐÙE ³:<Î>A !·^M¿¢,±pÖY`¥hÑ~éDµFµh4ê\QÍc^úÌùF ~zE¥©øn ýRø°0
Vù5^Âa¥C'¼O
-ïKãïy^ìÏÛÄâµü5â4~z¦X).À·óÔ^ñ^~¹ø
-/1<7ªÀÛÕmßN.ÒA÷µ\Ã?0Þ)ßw¿-¼ÞÆ)8
/ï>Ýýn'q¹0ùV¼Ê ãC8¬Ax³.eØ
-fÁ.åB½pÒ!
-:¢ñ.éóî=Ü-ç»t¨B»ªñGݺäºßz÷B<³@®¦á,:$4×hÑ2«&J£P5ðhFgKG2U³4(6d-$멤BþõÃÞc{^yyÏ1ù´üü±|Z8ÕÕxþÄódu×ò»Â¾¾±P8@=ø}V£&¢
-,'¹*ÙokÖ6éxAE,ZfÄÞ26TÒó¬Rç6kQ>¡É¼5¾ÛfJÌ·ÇPAäÞ$`S5I¡\ çPNâdÕ
-¶@ët¨ýuúc;ÞDX
>jõ¼hV5° Ôé/Ò÷+5:aÝ|ß¹«'ÃpP¿<ÒÞ>ê;]FÝñL÷¨Îwí
-ìçnú{ç.§Ç`ax¼C¶ùKt
-É6H[ÉÇþ^A÷¯Q\º
-®$¨àÜØ@ñæX&¼Ú>Ná´d¢! !ÑbB&Eo@ôËhu¢Þ¢Ó¹ÖtByÁ¨;h6ô¢VEÆÄtf°Ò°¥
-Q¬.9¬D(-Zz)zpÒÐþwx&OçUHШ´Ä&ÌÃ0C¾X$fkgóÅ&ÃRÃUDNÐë:S8¶qfÞ,¡ºP}cS2JXâ%!E3P$&êõÉAÆA&É2²¸a\!ëëG²Ù¦K²c;g'vÞ.ØUvµ]«Í'òù&»¥]¯ç¦b¾bÙ4e3´3ÄiºiúYÆY¦bK%®äªÄjcµ©Ü²Xsñ6Ó*tv
n
~aqém³®Y¿Ù¸Ù´]·]ÿñ SåwÓËا`ÄʣαºÄ,nCáÆ;6ÔeÅÉ£D°êõÛ7OZYÆvm$5È_Ó³ç¥=æè3Vþg¬,Òg«¾ ¸VØ&°g« Gßxâ Ä$îò;òt?uÈÆÛ£t_Ô«ÐAý3fYP°F&Yu{&Ûèa³Ä
-]ÝRl)·Ô[B7ÔÿìV)xýõkªXÕ»æC[¨~æ¯åÔÑ_Æ£Ùö*«¶ ©¢Õ6}S´DÚ#FÕÈbÒhTÅ©8ªLs£]]ÊS1PÞ±¾õ(öÄâÄúÄuðúMâéÄËZ°#VáÙ«¾«Ê¿¼CË~±£¡qíÎ
÷îìèÛ¶èö'Ȫ;üõCZ>¼
ÜÖGüÍ£¬(7÷9£ÙsÝT{¨¦{GËDD #µØÿX·y¿1´8ÏØ[ÌêBh§>AÜ_Þx£;dÒ½
s^Lðúó
Ö·I±[}Ïù§4fE%¨³æ{\lÒ?.N8Jfw×sÅÝmoÐevwðÁTÅL=ú}(±@6Jë,
-ý"VÔb(j!7å6tVC«-QÅ_'©¥C¤¤õ}'Ãê4M'jƤåDªpÔz(CÕÃÄjîn±z¸[®^.®ãÂx¬#!8$àTÖ;!Ó5³´.Í|íÍ"í2|/iÆPÖQÒbi±$â(ïÄKðWå%Çä%!kÈ7±]G?@ʳâÏÈnØy?÷8úÇ(ý5_âO]¯sÖ!Ìoóý¾ Ín£q³YÃEú¤8>(¶²¸bÉöýàȶ<õV³GIqì;ã
-ð0+ sñ6¼·ÈUr±ìÒ/-Äý NÅá;åMòRùr;>¿x;èyW³5+Ï»"LY$ÂfîÇô¼Ë×
ÏdåxöIß»1y÷]úTú](nï__ð"¡@n¼ç¹OÂýq$´]¾AÞ*ooÀÛñ\ú4
ñmÄ3à2ÕÛÓ-D\©])
´ÚÚ
-ª¨ViCÂzÕÛ£)aQ!FD
-ÌQ$4V«J¡.)ðdX«
máþgagØ#áHØ®uÆ8b3gÉË?!ðù+t±ë/zÓùe¯×¾x¤cÇýÍ[½¿ôÅÏÑY`ý¯HRìáuï}ôÊ5-kÙ¼sa½gqâ}ô½w<Ayî{Û2ç R\fÆb@rÑ©[Li±^DQ*
-¯gõ¶30Âô°Jæ9'ÁSúÃâ(nthf¡j´ÝÔax0á¸éÓq%nÄ·Ø@ë!G²¨¥^bQÉɧNí¾IHêúïÊÚ%·âòWÞ=H¦¿xÝÅáÔ¯§@Þ9qB²e Ë&e?ö¼/AW¢VqßV
Ŷ×IRGEÅ
Ä øø({Ü*æ×´Oh¯JéÝx¹ÿ¡ÈCQ¢_9«Þm=hýÌJæà9#°¬!¬×7l(òÙdv~ÁA^óAÁ)¯0Ú[ó¾| ?Ý"?#\°_ç{Û8
-Fx¢&î#ääO £ª,äÂÑVn/xpÔï]ðn÷jx¯Zà¾àϢŰï
-ßØ4£ç®_ÔP=¯Ê+
-¬H232²¤¹¤Üj¯ÇÛàrÔ¦JùuiRNMTBWy¤ÇÕ°ÀåL¯Ú:n-s,¨ï®'å:ª¾eãx×|ÇôF©¢ÊQ7Ïå
-.©ºNªo[S]!9ݵê:ÿRG'×í¾%è2h8ÝÕà©v×IiYÊtÐJwê"ª¼ÞúQééN_Ðæq76T¸*Ý
-ó\iu.ï¶â@©è!\èq¹¤¹®÷Â4é{`&M¬YT_åªkëÝ
-^Sªlp×J9
-®>Tüg05*
->F§eIAÍâïü¯È÷¥tÅÉÕÑ!yNW£áÉ]y%Q,v5ÔV{û«=R«ÁgÍkpÔé©@;ÛcÀçTÉëu¤zlpÏõǪ©a¥·ÊåçSE
»¶ÓÞ*\vÕy{ñ%ñ)
-ngc
qVaÕs½.ØkC*¹¢¦ÑI1YXír7zÚjßAô
-R½ïÖ:µÀvgue5U4GT
-¨:*
-RÃ5}ðíñãèÕÕ,ªÔ\¤ä4¸èÿ¦`kéÀCIåâ7è«mZènpz¤ø;§gûoñÔlãË@2>{ëK¢PA'ÜÕ=¹nóÅHúz0/Çܽ¡Ðé@¥ÊáªèªëŪuívJuNÂTEBáwIÕ㮡VÍÄF
äj¨÷
- 誩¤HMÊ&I¥EÊfääIù¥RqIÑôüñyã¥øR¸OfäM*V&Á²YRÑ)§p4%¿p|ª7³¸$¯´T,*ò§äçÁ\~á¸iãó'J¹°¯°¨L*È_@ËØV¨ü¼R
-lj^ɸIp__6+U_V0¹)G*Î))Ë7 §D*VR\T0ÆØÂü %pJÞÔ<
-°RÞtº¹tRNA_VZV3®¥ÜXX45OP4p|NY~Q¡¤äää)¸)ã
-rò§¦Jãs¦æL¤äø¡Ërìéy
y%9©RiqÞ¸|:
-ü¤Â+ôáKeDç®ÖXEwûS
-|¥£¶yzÐìeP¢?Ö7TÃ
-Õ^p&£fªo÷
á_bH
-è)ç àßàòÔCª^àªYkh,cT×A®Vë#±¯Â;Ê*x¥y¸Óí!£KDe\?:uú¾¹ìOJ$ý<HäAÒÌÄ«ó ¯`<þÑGHXÄ+Iþ\IüÏÈDEÿ²\ITöGåJâO+\Iú¹Ø+/ø¹øm¹ôýs%1(W
-6ß^éÄsp?Uº$úÒ%éG¥Kb/tYÝøS§Lb[úÑ)ø¦L¢/e~xÊ$^2I?$eûL¤&eËr¦O\DÑÎô²#1@ùÉDv$ýìHΤ}fGÒɨ²ö2ÄGüÖÄGú'ñ»é{$>"K|zçÿ8¡ñú×ÛYÒ ¦ÁWÚwv®ÒVßR^
-䶴úªút»¢sÆ!7ªGPªFóPò"
-D(¾3Q¼²`4VH(ÖxÞ
-È
¨¥Âl>ªõi0ÊA5ðPI,»rÁ·ö,O'¬¿Ç©Ã{N-ÀYô¿T×Ájöüs'Ñ|Ø75Â
-Xë`Ð\lQ$:ø¬5sn5¬`¿Nw°{WÂ)eP<^·|Ëݾg§3=
-ֹỨq±½
-î4á= ùùàÅÕ§÷(o]L>.à-µT?
-)¤pg¬©b;«á^=ÃÛËäI9ÐÀvP
- P\Á+éèPc/ú6jDxõE»"3¹vµ6hÈxßËB~z»ì[Þ«áÈF^6Cµ¬ñúsþ.²b¯Ah5éÝsùèÇN©óI=Õ'wEZÊi)úÊðr3é×±ýõ>SNpT¯OǪ}Zà`0N>^ÅúTÁÖQ=T û!ÐÕ
-î.»½*º¤%ñLrt¯}{^°Çá£OdVPZË xÙ?*aT㳤=8N ~
âïýU´à ©gVã*Øn?6NFéÚ\¸ëew3Äï8!ÕgÍY#¢ðd!Ó*æu¼>ÎÔ²¹`ü44ôÒJÛFÆÃÔ éÐq-§"k1Èx`wê·ÐÚCg:ó ¬Ø»ÚÇÕÞÒÿnªýS°ïÑh/Ã+ u2~Ô~¯üÖPɼvBWÐNöIÏHeßóaE§¬ñËêqϳù%TÁÎv2«}bÖYæÃÎÝÌ3dì¸ÚÔÁz¯Ï<½Öúm%À±`¼Ob4;æ"óͽuMáKß!O7rOöµì;à?¾,¼,ÑÈéðQÖSßµòd/¶(§SW2>MªazÚÐ3£`Jyêy°Öù#¨EÄjæ3jØØCaJåUÄy½âªrß:ö(ºë?ãJþxþ!M~,E
-s0}zs%?úÂ-Õ'ﶯú[¼¹Ø#æg̯àúg<=é·+£Ëçç\
-ÿIUN¶?¾xßC÷;D¸ç¶ñAZ¦ØLÁñe.³ww®>;ðëɸ[ÝÇ\è6Æç:%×ÃK^æQ]=;å®àìû´*æá%öíñáèbômzâ÷u}ùn'uLîÁüê«bçeøCmÕü¦?V¬ÍoI4s¨éÉ=|;zC¬g}|ÎóILT«Ä¯ú¯ôTßNÕ\x}ñ°²SP;§Â=§®ÊÐÈ#Kؽ| +;Óáj<ÌgrÉawèýxf3`L!¡i£>)ìY0CaKì^Mõ
-s`TÀ®èì4ø.u¥9fÛBFø¯ÐÇ0P$¡`4¾álºb"àUƸ@O*óLer¤ôgûé©SØ*³"é8
-LEï(âî8F#ìõpjO§rïzSAå4á B@ïs\ÏÒ/ôI×O;¹¬®Ì`¶ÇVå0YöØÈf¿S}OëÑ°æÓÏ¢Ìzó×oGþußÇw(°üg÷àx¦O>K{¸¡¬¿®â»ò ®U°:ÇÛã·{Gîà¬1ç©A¾68P¼ðD¶¶öuY¥ZRbV Ö ÎÝúª°ýÕ±Ëû³Þ@ö¡øn¥&
-Îz,?Wr at OOVâfy »'3YÈîbz½¯wâîUçÑ,ö§öåEXJ^é`Ù=ÍÓ7¿=BWUõ,Þ+§,dc¯/3¡ô5úÖÒùÛ¯¨ýý«e õ)?-}eÁüo`ò®÷ÕRÕÃ4LóÁm@þº,ÀÊ¥¯V{
ÔÚG¡BWv(æaîd¼Ò££gÌ_ù{\ÿþ®ÓOÝýOê½úAWf^ÿº~Øg?HúûAâ÷êõÎä+p
-ô:ü+¿_µ¯øoë+IWõÄÿßW
-ê+:ÿ;ûJb¯ûïë+}Tkÿ }%±Ï¾R¢§¯$~G¿àçé+èí+:ý}¥½õî+}[ôýöîR+ÄZwID½»K}w7~îøÜ8øÝe]Íüü]&ñ?¸Ë$^Ñe
-Ôº?gIü]&égë2ÿDIúuDÆé
-'dòÇHòü^&¿Éoer¼
¼y,FxS&ÇbÈä¨L^[a^"¯Ã2yE&/Ëä%Éodò¢L^ÉA</Ò±2IèIûsÏí2ynÿá¹çÉsKùý¿Nöϱ_&ûíü¯È><ÛBöÊä´Éäiìq§äÉ''äÝVá$²ÛJ¤¿HvÉä1ìÉ+Ù.G1
-fGäa'i
%-dL¶>¤¶Êä!=Ùò`°ÅIÜl ÍäÜ/M-aLZ¤65·ÂÆdÜw¬_÷¼°^&ëÖÎÖ=OÖ-å×þ*IX;¬µó¿J"÷ÊdÍê4aLV§{Ì{rȪ»uªPr·4ÁD¬NL"+,ä2¹k¹E¸K&Ë-dLÊdLìqçÂ/drçä'Y\f'Ûe²H&·ÉB=Y Fx/ÏEÒpÜzÔËÄ-:ÔÄ[d2ß+Ì/%Õ2©ºÌJ¸dâI
LæÊÄ1_$7éÉÜ Ù25Sf]$3E2#,BI¦Ëd<-ÙH)6¥ýHI(¹~rp½Lu¤H&
SÍB¡L¦IL¦À)2o&üho&d¢L&´¼2^&ã¸!¸$÷y3
Øe2V&×]k®%×1 ×ZÉÑaý²6Q2ÉÉÈ¡ÂÈdÄp³0"¦É0C²$ó)kt$#]'dHº¤
-Ñ
-if2DKR3ÉàAIÂ`'b%+$Ì!ÉId@N`"I:(ÄHÐg%Ä^$1 at BDHp0J&Iÿ\2éç$áÀ©pÁ¦°bI¨LBdb
VXVK.1ßILNbA&d¢Õú0¢h&Zh`F&êP¢rnò 6³D&\sC6$Ü+îÅÿ7ü¡7ßùýátíÚ
+x[Ûä¸
+}¯¯ðó[(²Å=U]y¤|@6 È,yÙßI]|\vOMÝ®²HñrÄ=føóò¿Á?«ÈÿQ~ÿ×ð?ô¦üüí¯tñýß/>¾æêä³Àñ:ÁÄ«>~þò°×0X3|ü>üâù
+|´Vy %9<è=80äI8¾ó_Eå;âÕ1G¦ÿ
ײÞ3ÿÞAïµ|ð¾°<²âV¾¾
¬'¶
+öÊ"Qiâãø"*°]"ÍmíÍ¡!o§Øa?Ò6ç#3˼kÎÏVöb_¸ÔÏwR.+ú~»Èøs.ÆÏöã©O×^Á`¡¢;ro¼õ®G&Õ ö0Õr½@\,°¯hznP`s³c=ýùpuGJ=rÑëáx¯áð&!â!@(z`Wìâ<
h8h÷lÔäâ$×(Äá+;ó
+ß1N¨ÜaºÍSgkÜ>àì'nK ͼÿ("ß)¼× ®%j³tc(ä;ÕÕÕ >lÂ;QºWClÂe¶×·-6êàåÓXÆèÛ¹æ'®¨*ø¨æÚÈÊ¡È×ð"g0jñ9}Ý¢3|xú&f¯G_â½B_H©RØ0@·d)\Äþ=`gpDgàøåzìâ
+|èÚ½«~LÊÓAáÇJTÐc·¡ùEرä5«ëwÐbwsv{X9K~)N¨¦µú8á AMVôYu
+Ïk0yw*æ©ë[¶K¸${5θ·O088EÇz;±Izÿ6UuÎX5&Ù)&-KìÚ¶i³ç-ÑWiuTXG©µAÊöiÈ7xÕr'c=½¿fæòÆvÌùuk~åXoáÞèAµcÕSêæmNÑÚÚZmtµÚaJìX
+gS
cm£ 6L m¹f§1!
+kÖóxÓ!-´i¦-§Æ4ÍÕù
+\=
MîÓjêÆ÷|#nÄþìÉñIkâéÉ'S,ÍGhȹÐz7þGZ|xþ
+âî Ñ6ñN³²±G<Jìj÷õuÞ²CuÈ´¯N^°ºR0]t5#W7òü* _
+]ÿÈxL»u
+ëÕ-¢ù¨L©uÜ})È£EdUÊß{+̲PC'¶F6SFÅy¸Ç§§ä;vØ©¡^Òu¥Ôóp4×
+Ö
+óùòVË
+yMOàÁ(":jµÛ¯* 7ôú2¿~¦4õõÌl«ùT§Ì2/óáeÂl~cº§77Ëçãò£VMù×ÇøÉSF6Æ¢'
+lýn¦ÈQò
3bªô¦Ø)DúÐc¬]ÃʵÛMÇÕ¼- ÎO ±£swåZDùõ`h½«²/FJXmããßQObþãE
íØû<i2ZDY ûCj1~=:?ÃPHÃ,cFÒ¨àYµÿC{æ?¡x!!:v$Ó ZçÇãPìqvD£kµ];ÊxyÑ$ÏB¡ÀhÑÆnéy)¡ÒHÍÿ'ÈÝýÞè°gËî}YÞ¢áíÁù²Ù,ÕG'ÜsýÇò^__t³ð\iòÿÊôÊÕ<"J/ÿþÓåëðå
endstream
endobj
-333 0 obj
-13331
+306 0 obj
+2393
endobj
-334 0 obj
-<</Type/FontDescriptor/FontName/DAAAAA+DejaVuSans
-/Flags 4
-/FontBBox[-1020 -356 1679 1166]/ItalicAngle 0
-/Ascent 928
-/Descent -235
-/CapHeight 1166
-/StemV 80
-/FontFile2 332 0 R>>
+308 0 obj
+<</Length 309 0 R/Filter/FlateDecode>>
+stream
+xYÛ7}¯èg'RI*µÀÖsɳ
|@B6¿ø÷sJ÷îz`ÉÞíi©JU§î²Z¾þ]ÔòQõÂðÛùýíå×Ë?qQ>?ÿtJßþ<}~=ÑòúmQg#?`a×óºxÎnyý}ùá®Ï~Ñjyýº|rÄwï¼åÀ7ö?.¯n¯§/qâ§>Sâ _µp e5øíÎ7oHyUåvQ䯵F¼%ÅF¶2H
+k¾ÄÎAð´T|Cõ
ßë`Äù¦òîÊòàå þZoøÜ <ß©VS'`]|êXͳ°
+§®@lŹ79Zí)a8DΡÀ¤d'Ô2t{<oì7>£åõØ»èE;,¾÷úvÊ.DQ"+xA5ä(ÐÍ53L÷Ù
+¢¤xÇ7iªï$_ûªÃe-w6.)û_Æü®bìÌùº®|²·¹gÂÞUäÜ몳®Æé¹®Ì g'Ø>í`]
½Øà<ê.ëΦîüª½T:ËÕKôÛÛIáË÷¼á£yß`l¤ôåïåÿCSþ9Ffg9·§88WBu(÷{é{©³ïØ'AAìa«1ö=õFÃîCÞÍ`FÈÇ:ôùáË"t¹sÝA
+3µì<&m±Qü¶8¢ü,"ÄâSÚ6Yonu8#¥çJTÚ¶Jä,äÎDñ¹å¥¶ijDñ¹å¥¶í_·ïA«NÚá;&E![Çzõo
ïÕ%IVþ{µ
+öжo{üÑö9¥¤¹ #é.¹$Y-©|Z*CêX`=Ýø
¥Â)\^Z×VãQ0èÆÛã¶O¯¹ï0PºäóyfÀ8нlNÅ®CÅ,ç¹YMÇGR¤é)Ñj·DÝá׾ñóXÃW©)wáwTFªbl©¤Â §^©ÕÇ>J×Õñß$(µIP«%éw3Ø@àEÞ Æ¼*®¶}¥9ëüÂÞrÀÞ-üÈ^è·pWø;°
+¶i»^ò^:Õr¼n® °RÞK3,½i:µxñfNíçÜuÚ?h7Ó±*MêÖ1Z£»¦dßÀômëÚÄÆåbk×îU]£Ð©à;h[û@µz¨ÒEænoFoò9VéL
+¨l2C!ïݬ¤Atqdâ523M[+CRΩæJt#·9ñ4O±çwêI6Ã%E7Ù¤¥OÔ`;hÌÜ<Sü¹¹øM²E-Ú8ÎX-Cp¼ò,£¤wÄ°QéµûSÙ´/Ñ
î½aÄv
+Óä`sT!#GøÒä˶&¤¤¤yÚûù3gäÕÖÀÂÌËx\YðL.ëfÂmëäÁ%½uµÈaã*N¬ÕiTÞ«"QM`¡¹Vµ¦HÒ·
+0f>Ôf8
+
+Û6]ÛÉ&ñ<löÑè6±f1ìnlç¸*¯P; ñTÌ3,z>ª87ßÍ`ÛDéc,6ÝvuÁyøÝTSFLY%I¸µïÒNô?1èîÞÄƦëÂð*<ÍËT.R¢!r¼m9¾Ü~vøAhÝUBÛ¼HȺϻtq
ör$74Úyê¶JVaá®ÇPUn¸B+ÈýSÉýkÍü
+æTß@Ü@ÑËÇÎè¥}ð¾)yØîÚhÖOMÀÒFì©Iâ1càË_æVÒfÙ:.Qmôì%ë±DW§ìüF¬´2#4ô¸}DÆýn´Aw,Ö]ë:un%rÈ/nT&ÿ´ö4%q¤k¯N_ÿ
+endstream
endobj
-335 0 obj
-<</Length 476/Filter/FlateDecode>>
+309 0 obj
+1738
+endobj
+
+311 0 obj
+<</Length 312 0 R/Filter/FlateDecode>>
stream
-x]Í0
÷<
ÓÅlI¤)L¤,ú£fú
-^ [©]3
+xµZÛÜ6}÷Wø¹@(
+lÇ3}N»@? 7 èh^òû%u÷EöÎdA¼¶%R/¤fTÿµû·Wý5è4ðÕMrýò{ÿËwý?~P>?ýØ
/v?¼vп~éÕ`\ËëÈM¦×½¶4ØÞ)Ó¿¾uozp½æÉôҮΫÒùÞX ³òÞÁ÷ýë_Ýõµû×
+ËiÌF3ýëoýÇ<j½ÃNÑ
9"(ÎÒÅsuvIúÉز|?Ë[~ÒäÈ
+¥§/©]Éñ|M(O~q
7ËײϽìadý"RÖîV·ÚPOdxö[oâýßýÏyói¨L!ÿdhÀDäïQ*ÓÕn"Q¸ÏDi¨LKDô@(Üg¢4T¦%"Ñ@"
+÷(
+i~Õ¼*ª-nv\íd³±j¬ÃZ»EÕ*\j£ÖÓ[Ýù¢µµ2¹×V,OkS§µ=ãÆu/«^¯1¼ô"¼.&ÁT¾KÍAÃÈ
+ãûÄz¼ÕrÌ3%ä~y{°e"Ùráü8y6 D¾öw$Þ\$þ·
ÝÑLà7ð HÖ²¢ã:Çú×·N1í×ZþÖ£ãqïìË~ÜÐâ(/»VÑþñ³C,1PÆÄåÃËc¢ ½w*9úV/DÏ·zàÝ°ºáèÅO>µØßó90F #ûßÏ`±Uº¦Þe4À ^ÀeâÍ_D Xâ,y1ü~æyS5Ù{PpÇÿcg4Ô+5'þ®`4Æ¢¹ÀÔ'
+0Nü¬"¨ÃÝë&«W®¶v¼¢]®pà3¾²Ê2êmQ$8·0ef,ù)a¤?oW¾9볪Uî·hO¸À{],6}
+}EôtG¼×&ÝÈ
÷ ø
+>¶Nö
+è§á2XöDr¶¹¿ùëCÀ¶Â}2^ë;úæ¬ç¥ÙP°£O
+òváÖDÚ³G³î9ñLóö«
Ô2½à<cÁÉ°4_}'ÒµÎHsZnËep-iþCùXØWLǼûǺ]9×=:ÇhW QFD6bCJ®
+xïïjqе(»Åul¹pvIiùÛ;©}B
Ké¥Þ¯?J«ÈãÕï>ÖºlÛØ°ìÅù û|ëJ.qmW÷8´u´¾GÃ%Õ
+5§[<Ì_££Â±Y»*ùÂ.¿ +É?÷ÿèÞ
endstream
endobj
-336 0 obj
-<</Type/Font/Subtype/TrueType/BaseFont/DAAAAA+DejaVuSans
-/FirstChar 0
-/LastChar 58
-/Widths[600 294 686 631 634 360 603 774 636 336 636 636 636 636 636 698
-633 612 634 392 615 411 317 636 748 611 277 352 549 633 520 591
-390 634 390 591 277 610 557 579 731 694 633 634 634 591 294 277
-974 751 575 862 500 770 787 636 636 317 636 ]
-/FontDescriptor 334 0 R
-/ToUnicode 335 0 R
->>
+312 0 obj
+1816
endobj
-337 0 obj
-<</Length 338 0 R/Filter/FlateDecode/Length1 21208>>
+314 0 obj
+<</Length 315 0 R/Filter/FlateDecode>>
stream
-xí| `TÕ¹ð9óÝ;ÉÌ$3Ù @à
-x#%Åù ¡ù¾UqÅ4{Ç_qü[BHïÀa²i&Âléí_Ýóý|ÇõlO_Àë«ì±ÉXøúì>ª²ð½ßÏë_÷± ß¿ï3ûÃ>ïyyLø¾ß'x¯gÉøøòßnZLH.¾^ ÇâW2ßÊ×#Ñ@äªûºø>¬qâÅÌ84òwH²1+ÛÄrÌäÿÇÚCgвüÇHʯåÏ-ÔCàz7BÞ$}zð9 =D¸~´QèÒM>#»ôÝCv7q÷Mt½<W¾CB×{òÓô¨\g¨#K¤éRi»t´!¥é&²
-ïuÒ½Òé%i
-YÂ9£üóA6Ñyt"ÙdØDi m4ì'O þ/§èÅòòä9D;r20ú}ÖÐ%t;îz¼GËñma}¾
o$`ÌÈ&r;ÍÇ·=d?òý&yÄ$ÄJn¦ÊÈÓä0ù9βð^
-ÓäCx%¨ÃÔ 2fUH=÷Éz³a³á}:ðʧå¨Íå°_Z!=#Ý«¨t¹Psð~5ÑMÈÅac]püZt6ì@ ¯¡\HÝpµaayn¥»(Á/ÐÒ¬ni<ÙdÜ$-!ïpÝý¨¡/// ïIFrZé
-é®1bÂ0¨ÈgÌ'輬Q5¤W£D~J»*ÛXJ6Há[È»Á°.©7ºì7ÔA7¹W\wÒäN²Ä¢I?È2Ê(q(Öm{ó%ʳK+¦9F¼*Ö,eéØfYì8~¼c4^^ºM°
-ìÙÛ$ûÄÃ'[<<Í1¿c²Nq7êhÝ+q²k ùNã¼»Q¬qªÛd;þ¶¬Ø¦øúÛ¬·M¬¿Í¨Æ=]Ý õÈaË"å{D'¡tÒã4[¾Õ }\@¬<2½ÀVa³WØ*z$r,㽩nÈÊ}ÿݨ±JÓñõjáRôâräHÖ^ùGd½YÎ6Òb#³õØümyùÛ¬«ìÄÎî;_Wøß8vÄVW7>nµ8-XVPa³¶µ³gí¡7©Ôým\·F>Ø£þ^=B'Þò9Ä
-ÕòåWz=>|Ý0wíÔWÕ?¸É0^HÇôÀm®P÷}ëöy½êjCÉy?Zÿò¡=/
-Ü-òÂã¿'£Ïç1d³Àx>¹ßü|þƱ¦9y0§èâ±Èë1n7þ|ÄúÎôÇ/,¸¼¤¹
-O
-[74¸ví nu·úõ×êNÚk¾{ÿýßå¨ÏªGðz^DñºHج<þ;©yL^u:-fCnÎì²ò2qBÈ]^^fg9eåRy
-_,:8ö>týyÛÆ)e,§||éß[ÕQ¹`
-²®ó×fad_ýË;Ö¿¼?¦n:új5÷mÔ¿þXZ¹=;ÒeÎå&rrÌ9S<qye\îØ<Gvµ©UçT«-UJ]öŦÙÅ9õæzË|Ó<6/gy®eÈ<dٽ˴íÊÙeÞe±çs³r³sM¹Ìs¡åòªkªLËÈ2j«¦
òÊ©TƬ¨4ÙVF5UÖÐj:kæìµÅÒØË×ôøæ{/§O¨ï«ðÛë®=®l¸üO{ÿ|Ì÷+éRõèôé3fMÎ1Müöwÿõû'RëÌõuÓk,Ùe|gû2®WôQé°éÎBi¯ñ Ã^²>{/£² ½Rºã¾}IQÐaXÐÈ©k÷AÔÐûÁÝþþ|H}Mýþ=ª¾ÆiÜ~4
-óòdò°ó|<
-ÇÚ4[ѧ¥¢§ÇnµI[í÷¦í4¾ÍTR9Åú*·Ò¾áVzÓúf*0¦;=*ZWZWVW^§Ì+W>OYÂ^]¶¼|¹reÅÊ áÒpY¸¼O +¡xNÜ·¬-_«¬Øó
-ó=eÊïU6UlÎÙlÞly´ôѲGËU²3©Êó&Û¥L3WQ+I/¬ùCßm_:øÐß~ª¾¢þì«êë·ßNsÖ^ËU_ºë·/Q
殡¼YÝwáE4¨}qÏ_ÿsö,ên]àikj-«þÓí¿9jñv5æh±§B+,`!
-óQ¹1äÄ×Ôç¿£~Ym¥{èçÕëþºößÿvôµKz«þhXnj¢÷Ó
-Òo]t¡úBszüOo«jVòBÇ@ÑO²p¤:¤Ô(g2+Íf²Q6ñ±¡TÙ¥ +51I;ÈÖli½ÑÀLÙY²
É9ÖÛË1÷átÉÜ6e?ÊÒ~ù(=³´:oËjØ"ÖÃn 7вo0ÅÙmì>ö$^/áõfÍÏ`*7Û³Ï7)æ©InÎkZK¥Eòbcñpï5®0ÇÉúYiP^7Ý*Ý"ß}«éni|Wö&ÓãÙ;M/Ó^ÈúQö~Ó/ÉËôeÃ/³eÿÊTÃó%z8HMl¾F]g¨¢/ªÔu<Bï~ZÕ£x,O5Ø
-Ú9ú«?üÊܵîkò.ù)Ï%ðÓÏÝûX²îæj÷(Âf§qüJPK3Ëóåº+îCâøzc Ù#ßuôÓd¥<ã§Éç0²ï W#ðy«ñÒõÚL"+È^jÄZø
-Ãuxí0üjá+Òù
Ta4jUº89G¨þñ)áÜ8zY)(æòúØpêc@ëc Ç?ÐÇ2~s=£$üLóªåu}ññ_úØÿMjÕǹdfÁ÷ô±äÖÇ6"ATÂoD:½à¨>¦¤¸HÑÇ]4[Q.ÓÇëc-º^IYÑ}M*¾¯sH}ÑËúØb¯/¶êã\Òwñ<}l%Åo×Ç6}ñ³
-áÈêh°·/®LñU)µxP*Ý«9Áx,
-xJKÈW¸úûNS:±@tUÀ_ÍNØ:oõxW
-¬z9Þ¾ll¬ô.Ä*×ê
-Äo4 CJd°»?èSüáo0éòbsÂýþWe´÷Eh,)µÕµ3´5¾4-´'B&â(S_<©¯©ñãüªÁêXx0êô£½êP Þ$À8K\¨)±@@éôªªÓ Ziî_é)ÁH8øhx at qE«tV4Â5
ea,MÅó*k)³i§üa'Úç´M« 1¯zýoôZ%Ü3cè@0&l)}h
-5zv(ñ°â
-V"h5Üî£Æ¨¯âC¦BÆûI=ù|ásxbG-B1Ô^¥PIe"ó+ÞX,ìzó}PÜçüôûÑHS8F±Aé
-÷ÄPýUh
-û}ÆDÁÝñ
-Ûà@3ûúý¡`¼/<Gf:!N!ª©ÑÆãP\j&$ÖçÈ áà4kÂQ%@; tYÕÅA3h#\Ñq¦©NêCÇ:a7CÏ`4b£?¬ÄÂ%6ؽ2àó._O¸äüA.G¬1¢óvW RN
-ÇÑ1m[%ö
-_ð®ÆhÁíþ`O;·?®Dêõû
äêxz£È×`¿7Ê8! ì
- 6zµXÅMÜC½>Dã;üÄFRâ(
-óö@ßä#
-Ùõ¯Vnθ8Ñ
-X>qEr»$Ã#>MCá¨?¦T¦â°ÓN.°J¶BehV=^ºIë ÚëdU8b,p]#FñF"^Þîþ
-BtºÚ<Kö&ÅÕ¶TßÒÖèPÜK::Ý]]¬½SiYÐÑÚâƹ¶Ö
-mÍÊÜ×ÖîQZ[´x©§]lÕQµ¸»8²îιøêÓÒÚâYê`M-6ÄÌu*.¥ÃÕéiiXØêêT:vv´w¹G#¢mkikêD*în5´w,íliëqà&N:§ÓÕè^àêïPY;Ü©jäq(îE|s×\Wk«2§ÅÓåét»pX®æ¶önÖÔ¾°ÑåiioSæ¸Q×V·ÆÒÐêjYàP]\Í\$¦VãÝmîNW«Céêp7´ðê±¥ÓÝà¨{ÔD«`·¡½Ë}ÅB@¸$ [<×-H
-è¢õùâõÉR!®ô
-äþpaEW0&*®³.N·´=7uÓê åLê ®3¬Øuä}S,yfR ¦v6µ¬Ø§£Vb>²Zi{Vµ;µK×JÊÖJlX]pµ;Y¤~Ä2j¥ÌðV.áyIâ\KL/³*Ø0vÅwã¹.X(¬uÉÄÎiÉÄôI9ó,3)ب%òaJ&æq-Z0¯³í{FÕKK~6ÕKVGÊÙTG,³:RΨ:b£VGÊÙTGÜYJªða'-|Qø°S>Êi>L>Ãk\ÐÄðNQ4°j|T²sU3¼6XÄr]u¤/R£§±4Ò@Â$BV( ^ÒGâD!STá³LÇkºB!s&Nbø%â%ij-$ðÕ8r~¼ÒÂo|pÏ*¼ûÕÙ)ª¤´
-iÄ=!æ|xqϣأ¸oDÂz¶Øá)%÷Ât#Þ Â)¸?Ô½bm$.%
ÞUå´× ®cH+,8©EÞkÑû»¦kØ«i"®Ûk&rÕ¼ü:ü*¯F¸0>£(k@ì
-T#
-*!ÝêÝîµ4jiþì|
õCbD5B±Æuê^à84M3g\p1Ò|û¡=Ck¼k¾«ù^eT
-Ëñ½~ñ ¾|¸Ç«ËÇDøÐC¸XIê§Gýz$MIñ¦Às
-ç?þ«y?§Ö ¨ñ#ØäÆ/$_ëÆÕ¸XÕh°SPpèÑìCÎM'CÂúDÖës%eóJÛA¡CGuøx@ØS³5ËÈ 1Üí85"(³î ®ÕáÖ?µÔIÍiÜFR|¥½.-ÑÐÇÀiQHFCÈÚ!]Â@E¿¸sñäX>OIÚ¯G!ZfKZÈ'hûÇAÓz;/b̶Af.JkàÄLBø¸
-±a°ÉXIk,3dîSÌ^Á9¹y¸¯iÚÐÎï)짢Û~@<Óùãtl'?9½ºDÕÃ4uª½\'«õ³E£ÎuÞ#xôëÔ/ü4Ñ8å:õgØ<Óë'¨WA3úÅKIär{
2´Ñ;ì\Õ(%s¨Wxæ»I#õû2%¹dºió
->ÃéÔÇh¼9t{÷}Áds²NTäY¯È+i¼ÉXÊ#ñ2òôèy. ¤HRRùÅþÊQÎÃÊÜ#w0\K¶^¦ÅLëó¥[Ä{8×A=~²
-W£h,@®zéÁK;½¼"£R;2í®ña£FJÈðxÆtÂNæ'É\7Zîö $쩯ѴÊ24iÃ3Õ^y+º$ÉhKF¯úSµGTß1cDxôµxïÕ-¦Ü«X*«~êäRuë1×ÏÃ¦æ· ÓNÚðÓiÇ7Yud§XkÁ9ë¸N\Yo8Û(ìâ+|½RDãbsíd¡À¥áèÄ;ǽg8nE¼ó·ù߸ø^7Y"h¸[rÖc{ζâÓÃñ
-8³ßù¸ð*T£×»<"vø>ÎÆ©çÓTsÕ"(&9[o®¾êBÜ-çß!ê#>nÓùÔ4×)°sqÌgrÔ*ÞøìB|v \ЧKȬqÛ&dhÂuM·à@³ÆQ>;6hF¾<BGt;ryÅ~Nu¾Ò8k×ÌÇi,Õº.5>¸þ¥(w ù[ñRüñÛ¸oÒwÎ7ÚX(äs =´
-s×"×gkÊã:3¬Ò ôÅíÆ9o\B#]£JÄiѼ¥(4ùÜBSºõèFøÔæ-BÖ]×NÍï5hÍÐn[ö
-¤êÖ}Ê%t7\
-n§Åÿ´\ú½!Cgië·éÖMòã=£he±E·r [w¥b¤IÄïó
)Kç
º¶§8®ßd%áN'wh¸´[°QøS«ÎaWJ;^-w¹ñ\óïx*o?¹3«Æt5Yw:2rmf% eáf;0.=«}-igVú['³ví;ùu¬Õòɪ7]}h¹[û&ʬzý¢>×jÀXª* :0ªLÄjúLè½ð°ï<NÙ+Î~GVò,JãÒêJ¯¨8µØ(Ú<ù ÅNø2ó^£2$Æq½2áò
-ê°|þ³#¾ým j¤,£Uú
-{Gôo© Ð0¯'«u¼Qü.Këk@ë«
-°zÚû8¶z2²«ÀuÐÁ¹_èGÇi2¯=®O¾ët®»¶¦~ÖYy}tý 6j?HùûAì´úAÃ+y_Oé^Gòô:¨£uXØ'ÖWRNè+±ÿí+eôÒÿ}%6ìýäúJl¯µOC_ÚWJKôñôØ)úO_ÛWJÿS§sÙWJÇÛð¾ÒÉNßw´ïsø´uÞ]½»ññtØ)´«dhðÓÝebÂÇN¬f>þ.ûwØ.Sú[÷ãì2±ØeR>¶.û]&å#ë21¡EuàVÓ¶×?¾ÞÕæTïÐ;R>±Þ;iï(Ýúè{GìCôN
÷£í%3ëÉO;>ì:>]sÙñagÕñ9ñíÌ:>,£ãsª¾Ã¹èÐÄOÀï$éNtø[õYü;W5B/×â_àÍ/ª¦jQ¿Fpnx5vê#èÿ49~=¹òãú¼áF:¨¨Øð~@ezIàÛDR÷J}®RÀñ1PE¬Ýx/CJ at KÅêR÷ñ¤ïãÄL¸÷1â^,îE´ä"Ö"ñÆÇ@Ä8_Üóh.YëyâZ¨|ç,bÎBöiæY¬
-ÿ©ÂQþTï¨ðö&¿ÂGÒÿÀä?ÖÂü>ÿqG±ü*¼OÀøò¦
-o¨ð;^Wá°
-¿Uá7*ü:¯½:V~ͯ
W¾]&¿â_ýÒ.ÿ*¿´Ã/Øå_$àç/Ê?/Yåáþ,G>¨ÀÏrà§ñÓ@üìðo_7Ëÿ6^úI¡üÒ$øÉþ|ù'
°?^ÄåKá
Bxþ¹Ýòó*<÷ì2ù¹ÝðÜÒ³ÎãÏØågÁ³Né;ü_~ì}_³ÊûTxzüH
§TØûd½¼7O~o¼üd=<ñÃqòµðÃ=6ùã`Ïî<y
-vï2Ë»ó`v"±*ìPáEðx>ü¾¯Â¿ª°}<VÛá_Ï¿$`+>¶&à{ÿ½ñ°[ÖÁwUxtü³
-¨ð°
-UøTxð\ùAÈ
Òý¨¨ûðmÜòí2¸÷%à[(ü·&À7U¸÷Ýò½*ܳi|Ïn¸çFiÓívyÓ2ØäîVa#zÇF¾Q
-pã2çq¸·Þ¥À×Íp'NÝ9þ ÿ¤Â¨;ákV¸Ý_Ua½
-_QáË*ܦÂ*|évùK*|Ñ·¨ð>_7oÏ©p
-7À
-®Wa
-kUXÏ&`µ
-C«6ËC*¬Úññò`âã!è:ø
-°C; ô'àZVªT¡Ïgûj¡W
ZøPÁÏÀï|ÝLö¡wEìÝ
-¹0Çeç$À
8]vp^';U¸ü²\ùò<¸,.½Ä"_ZXàb?Ô«PW©paÌ5NmY3åYã`Ö^i&³È3aæÒZ³<£f8¥Z3\0}³|
-ÓÿôÍPcê樧%ÀQdõ0Õçû¡J
)E0yM\°ÁyQSÏ+6¨$¹2yPáB(gPV¥JäR;LÈ+'À3îÆ[`\É|yÜ:(A¢%óa¬
-clPÔPsEv(ôC
-òU°á»M«òrr^äír{£dÁK̵¢åCγ
+xÍXÛä6}÷Wè9°^©T*Ù°,L¦Ûy¤!@æe?U,ɶäÙL 4Óc·ë~=²V_¿Vôhào?Ë÷ËoêçïÔ_á¡|~üa/ßßP·¥Gdv#?@~Feq4:å5ªÛóðq1£WWõHÿf²hñ¯Ïêöçp½
+OYWTa403M8Nêö«ú¸È1Y F±)?Ñ
åZoÉ'Ú¯Úæ@IfòJ4ÓÙ k¡+\
+ZÖi@;¤f5¹Â_~5ºü
+lÛXò#=rDYÛaÎ6Ûê5ÓÌDüç4ÔÅHáI¢ä}ñ¹uû$a!ZmX-ðb1{Vx$ÎòÍ÷Ñ2ÖÓ:Î5·£´ôså¥r¹ªr
+ ç'óZ,Jñ:[ο![í|Ù¹äk
+ήðk¾Àü²L¡O~Sö»TC¬¨r«%:Îè¿x q}às{Ä )r©H×_ÔON""=*dò(ÜY;ÒÊ®SzTÈV&G<2ÅëÌ´>*dÝÀ)\¦ô¨L91ÅëÌ´>*dyÝ!+OU
+rëènUp:Niu0\ø½Älì}ËÝ>QånXvw§sìB'ì¼6¡)MÈàQZÀÛn§·¸¥Í¸5®ô@Ò<VZÃKËÔ"4åq)CÀ´ÕPúÖøOsfM¹»Ø;Îèu0Uö¹ØÔ:JÑàNü$?ôso¦Ëæa[ù¥aq{[ZòtÜÓ$7ÊÎ;3Ã&Ã0L g1HÛÉùåyÐ,åkmÎÃ}æÚäá:Ô×{ظêlñf)kò¶ÌÛ5î³¼¼óÊ2ÁiYÄé<Öý&ß²^×¥¤fWe´[ñ×)¯Xû!KªK[Ób¯Ý
Ô-
JOnÀ³MP'ºv
+@Æ¥?*ܨr6À4qÃ5{ä4WÎkt[m
+_3.¡ÚÂ{,6Ïê
iû¼s3`#úâÿ¥ÁôzpÉǸKÍ*ÇjÆ-ù8P Û#Q·*SÉð$µo.ÂôþeeïÇƳǢ 'ygeóvç$WíÃc½ ù¿TKÂÞë÷É丵îZ¼7;¸ir1I7´eâÞßeKæMæÌ&sNâÐIý7
+ؤe´=9¤¹ñ¢·4pÇãrø2ÁõØ'9I·ÙûP%ê¨.R¹S1Uæ²g§761ÐõÚ-H+¼»p¶5«ñCùL`Ëɧ}¦Ú
+µÞÉ?ªÔßHµàØpݱ¨Æ_mëÖÏÁ¢;0mø6,s§ã·k¨¾¼.lEínÜøÛ¾KÜÿ"jV k·ÈaÙ¹½¾ÂY«ëÓÊ:<`©»óÄ2Ìy
endstream
endobj
-338 0 obj
-8036
+315 0 obj
+1366
endobj
-339 0 obj
-<</Type/FontDescriptor/FontName/IAAAAA+DejaVuSans-Bold
-/Flags 4
-/FontBBox[-1069 -388 1974 1174]/ItalicAngle 0
-/Ascent 928
-/Descent -235
-/CapHeight 1174
-/StemV 80
-/FontFile2 337 0 R>>
+317 0 obj
+<</Length 318 0 R/Filter/FlateDecode>>
+stream
+x[Û$·
+}ï¯èç
+}ñï¤D*IU3ö°=3E^¤^®¿^þw]®?-7sÆÂÓÿýþë_ÿpý/}ÿüùOüÃ÷]ÞÞ/öúþýºÜ<L7øçióWs5!ÞÂ5-þúþíòóËÜÒÕÀà^ .ùhàß-ºâlôå×÷_ï¯u·¼Y,L«¿×÷¿_~á¯Æt«Ù¼]o(ü%>`m\41Å`Ôì¸ÑÕÊgLeãnÿÕDG{¼âÓ>í|\q=ÞÆÇ
+ä+㻳Ù%âüH#Ãz³<2Â@öÃú2¯ç£ìßìF«ÃØxç
ÇÁZ°ÒRÂ*0esX#a-Uai`)?SÇÊ·g&K¨Ø#²bQ)íaãFàMì·U?¨¾W=4¨
+Õc e4UÕÿF_Ö
+4°ópW^7ï¾ÎàåãV]ÊÒIS é¶FÖ"MU÷9·Ióµ{j:ã~VÎ"NePR<ë2&j½¿È"wr«~¿W
+Sõü¼×¼®©ZÛe[eøZÑ"ü5ÞÀ}a
+Ô]ÐêmÙº
+Àt¬ÈSõW§úÉWñðèYBà,W¨JÂ_=ÃK¸êᩪ×>*$bAØLäýzE=±ÖxË1
+ªµvEi¶ÚÐzÚY+dÏsDk{e¹÷Vßö¦ßööÈÐ;Í>ØÿÐý <G2âHÞôÿ©fgÛ@þbñKDU,Ð
+Ǫ5MEo¼¦ß÷ì²FcFÓ1 &8ø48ðÁ4<IÖÚVÉ!)ø;}Vîó¦ {L¢¼gò#{L#Ñ1bü¶ðjÈ£k'm«iU"Wc*ïÍ7Z&ìµ5ÿkÒKaé '>kU+;§ö"[êTÀAhí2&NÒ¾l-¿ßVmßEö}
ÛËy¼=.8nÍ¥ã:NÂðå·Åá"÷:úÑz{úØ<iíTo.p¬ùzrùZ³ØÍܾö0wÏÖ$þ1yØöÎdëÁÃR(û®O
+¢4UÓÄ9w\¨Üowñ©
19ª5K_Z"¼Óq½$Ù8çkÕ§v/5t#¯¹ïa¹wkæÔѪ¬ò§ä«ÔQº¯¶ÜDViÞõ£1Z¸2_KlÍNìè÷¬èଡï%f²ñ.yXRjµäI£MþJbËÎRSFið6Ùlñõç©ìÖ²§kDé
+*00£aQ°Ä®VÑDQñöJÕÜlñÒ"ºÛãþ»ä©«(ÄÆ7¯ÅÈís!ÅBù#ÝçÎ9Òbíèj¯%2âóu]êݲÕÌ×¹Æ0Ò1ÚpXÞ:¶à©Ýã¶åÛ HrræZ¥©»«jº(ì Lµab¤Td¾9`%jw¥û¥r³P.ܬH©]a+Þ¡
+¬qªwëþ®Ã®Ù|¹ù¯&½.¡Scãßòå¥3R99ÂãÄCSÐni at U;]ÕFºÏkMì'wMk« [(¼]bRjz^Q3»ÔfÓ¦&O¬rÆ1tÃübª¡±ÂõàP¯25PíG P~ì@Puõ¬æA§:«fX/PC£¸ïm¬BojÈPäA*Ù®ÃMc\¢ðÝ£ ÄÞòíc>PÝMhïÀÀX®Ûó!§ ðâ]
+§%-¨ÆrÊï*1òms¬
+ã
+LåÁ6×ÀWv+<dóÃÉp
ä
+1t¼PàzVÇ]1·)$uOj6eeÑÀ6´½PKcÉê¶*wS`Fñpçò@CÜ\eØíB«8d·Ûø&)ê£PN'ã7³èÒò Jµ±ÈÜr|Ð?½¥Då<x´¸*ã,GPa'i30ù8x
+ÒfIØ$úïÍ°ÖÃuïÒç3öl¥}¸|îÃe§º}qV/2GæI;¢Þ4aRÂúë 9®%¼TWa
+²ê
CnÝW_þ>ÁÔ§rõÆTs§Q¬6
+qÚÙ½U^Ò3ú·ÕE]©ûä~ ÉârvΧÌ>ÊÓ+TRþ$p%³>°W¨B¡ßÁÖÆ÷¡_b!··8í
+ý±%Õsª%ïB:ö&'8Õ+ByaæRRÁì}§µ=wçÐCfÞ
Ík/fÀÌAÎbÖÞD|ä1KÅ~BUtûÈÚÞfjhw}
+Çļe¿µOÒjô9Zg¹Lñ©Zé5K+ëå¡!¼`d°ïÀÉ/'møòh)g*! ¼6Õ¼;8Tåü¼ú&]ë¼k"9bùÂyg¾ð§¶¡ÍµT«£¹ÃVùaåZô8,ᨴúÍixöYßô×ýu^RóÔH%w´YjöøLx%Z¬OòÀ¸ÿV/`lÇÝÅ/Ý
+óó=ðêð
+»
.ët×@ý'GÝé~måÞÁ
+_ßÙ(ΫJ·ìѤDÙeÉ
+§ñ1Éw>&FU¿øXæGòÝhVlîñ8QÛʦiö t
5ͧ°*õº+)ðÓÔ5»¸6B¥íðËE' óT'w1vì©Í]òÊ;WH] ¯1;ÂʽIF}ÒeÇk§6¥¾/ªaËä\óÌ}p.pZUQ
+÷å¿4ËÑ)¹kÕJá#é}×2#U¶'±7yeú±²¹x£=_qlöió¡|kÎå ÃÉV8ÎôJq3oEÕ!®Nfé¯9äC©º¾¸g¬ qÎ×{<uÇ·ûZ[Ö§ú¦
+ì¹ÑSCzy|/!åïóëjSço+«ï+ÊxÖo¾ÞÍ£Û§¹o#y÷Þê÷ù=ÿâmÁô#,~z
hè©Àh
ùw
+ÍqѾq־ؿXcnqëÔÔÃõ6·É¬¯×ÿiÂg2
+endstream
endobj
-340 0 obj
-<</Length 279/Filter/FlateDecode>>
+318 0 obj
+3398
+endobj
+
+320 0 obj
+<</Length 321 0 R/Filter/FlateDecode>>
stream
-x]ÍN
0
÷}.¯þ/DIXøÑ(íM¤4¥,x{ÛéUofÎi¦§QÛ?ôJÚèÕ¬|
-:Â,IR*$·×
-ÿ|aDÎ;
¥WÓZU$zs³Í±pC¢#ÀH5ÓÓG;¸zصþ¥1©k*`rç<1ýÌÐuî
K{åOð~h )ÖIX
¯6Í8¦f U×´êºÿfî
-h'þÉ&NÇyS;N§3äKç9G.3ÏEÐ/ÈöKä4ö|åïBÿÑsú¨¿çÛÀ .|Ý̯î³ýòÝ>
-~ßH¯Ú»ðûù{9
+xÍZÛÎÜ6¾§ë;µÎ6Phæ°×ÝØh·@ÑØÜôõKRâÁ<ÿOÝÈ)R)¢<ÿ:ý÷<ÿ1]Ü9;¿eÁßO¿ÿýÍùOêÄ¿~=}øxr¿sqHýñçó·|tÐþÏù»¸ä짲äGIðÉK yVÌs7ß?þvÊË%ÁhÀû]vÙç%_.ÌÚÜÅ·~à{´·Î]"sÝaü|yòdr¿ ZßO|sið6DWRñ¨Ov%Uô¬T ¨ªÞä¤2JÎ`®ãä@=ò¨&ýÁºÀÛ{.Äwÿxúqf\ÒeÙA³Í|ÀUm
+µï
+ÿ@ZUdk9@,ݼØ!Îsß-¢[ýTì!
+¿à§Þýq¨Áì9ùúdÊgq_÷Óì²·Û¨ÖηÑ+.kO øÎå óY ¸Â»ùÙ¸ä
+×|ÀT%¥y?R<µ
+Ù"è¾<10Èöø_×^=iI ¥qZb6toDÜõdO©®'â
+ÙääJËaÌz¥åÍ6ÏÓáÌÚ\vÌ4$ÕtxÈ çÚnHrôYrÙnìDÇÔ:ó²O³,9õô~
+ 1J=¦)cÇ>\ABÕ;CZmÆÀR!j
+#n
+÷\ÁHöPçG¥Â¥íç¥è±ªÒÅÔÖ3~ëR2)L¦00)H>µÊTÛÂÄ]J&L)o4&j+SëR2ay;f¢¶2µ.%&·µLKÉÉÓÑ2Õ¶0quãºtfÁ¬Ð@Ó!eè
+~|äýËàe·÷¶çâÌÃ- eTé8£ÃñÆTÌæ]_3$)ë>Fmeh]J&L>)µ©u)0¹x«mej]JÆLn^dû«maâ.%¦4Ó
+1Q[Z ,LÔV¦Ö¥dÝxn¸²CÖ Öhép2óïà0j òjùµ×¶²V\ÄjºµÇZºË&#ZYJÐc×Ýz¥>m]O¶þ¥O['Ò§§¼=òÙíKYÔ÷°®÷4ò±moÉ Æü_?*¸m³'Íuþß³$ûñJi5á§$¸À?Ê|pÏÝðkÀ×[²ÑǬ÷!TK8kV7²WSÚÝ^]ìÉoÏ*Æã¼U¸E®*Þm¹yþÏü4ÍûÌl+cà32ð¹T/Ùõ,7Ç5+ùÉ]T3·Ó·©_ָƬ~f]ÞpûÅ|_$kÐI)¦KÔW]WZµi$QaoÕ¿möÖ¥~ÊctÁ§¹ù©[Ó»¸7Ll$NÉGTSÜ7ÌI"«42µ°ªèsáo3¼Ä %eYaT³ á©K&¦g¾|³
+YExKÇ+¯Ýªñmõ$þÒ »èðfÎ
i|QkµXK¢ ÏHX/ô®¿¤}v]8XJMÚ=?5a½]Djkjݺ3Û9JúHMaiBÓ¥T%Ó§4£©°ÕL8Þ£ÎËx[|)E3GN!¹xMëûáµFÄËÕ]H5hü!úqÝÒw?¼u¯DF#øÛ>xBÿà|)È»E¼H&¬×ÇÕ&ënô
endstream
endobj
-341 0 obj
-<</Type/Font/Subtype/TrueType/BaseFont/IAAAAA+DejaVuSans-Bold
-/FirstChar 0
-/LastChar 12
-/Widths[600 372 762 687 595 683 720 348 695 379 695 820 773 ]
-/FontDescriptor 339 0 R
-/ToUnicode 340 0 R
->>
+321 0 obj
+2335
endobj
-342 0 obj
-<</Length 343 0 R/Filter/FlateDecode/Length1 1307 /Length2 99502 /Length3 521>>
+323 0 obj
+<</Length 324 0 R/Filter/FlateDecode>>
stream
-x¹cte]·5ÛvvR±m;UìT´cÛ¶mÛ¶mUl§Â[Ï{ÎyÏ=÷;ßÛvk{9ú}Ñg_ëÏ"'ù¡L/llk°µq¢gf`âÈ[:;*ÙZËÛrËÒ+Mãpää*æNVÀÿ-\
-èàhnkÃó_©¢@§¿1§¿*fÎ
-`abâü¯D[!¹¨»¹©àß·
-´qâþ
-[YLÜíÌÆÆ@ã8Ô¬
-ÁýwÌè`gbaâfe
-¬ÿmîgغ<é9¸
-þýa`þ=2ý7¥´-û?Fù«á`tù_¨þñ55àðÿmÒÖÉÜø×2ÿ6¦;Ó_Oþ½0ÿ¯ýø¿mûÿÏ©ÿpþÃôßý?:p¶²ú Tÿ!(௢6¿¢dÿ¨jeàðX[¹ÿßÊþtuà<¥ÿ7:i'¿ÓÛZýä
-AÈ/аì¥Àú/XM}¤ØO¯^¢+
|1êKñn at e̽ÍmÏEª·¾óµÙÈIJ bûäJt?ð¦c¨jÑÎÁxcãEËCC¬¦ÚôùA¾«ñûâ£Lo ÆAa»ùèòÛS¯µßz3åû´Tí½hïáÉeàßeÍääßÔU:É-SüÈ~*íç$µbEÅÌ0X¼Ï}Y<3gW«tÞ?/}ñ··ÓÌpû^à¶ÎE
-¯¸½6:°¿G¿Rî¼Â¾jJ>sI¬s7>~m0¥}¤R¤'HwÖ¬
Év)<ËñÁ+'Û±éý[Àe&8#sYÉÉhýbÑ7öûÓA<äë}ÉwhÐ$æ=ÈW4ø²Á³c¶ÞU\-ÿv/e.e á{µæ®´ô?ën_ªÖ
rÒÎü×'àGmJòxüüIÄ7¿Î4·ZóÒ¥0ìrC¥Ú}Ì¡}ëEöÈbÀnzRT¿iû¼3îü)ìMÎå:Èõ/9åª_TÃݲbºD
-d¼iº°#?¸A4tP°ï±UÂÙ¯%]7_ÚÃInÐ-rb¼
)~¨îɲEäYb`*KÆÕo¶[J¯ÌÙ0AøÇmoÑ"-«LùG´*øuU>-Cú6Þ£SKj0Ö¡üsvi
-÷î.ÔlIùA¶S â½ l¡tÄÌƼQÂ#'PSfQ9!Ö!¦_
-«ÚRþML#ÞæMNzÅ"¬Ój 4)À~þïE5¿Ö½É>$Q/<¨Ò«Òº£ÃÜKÚH4ä, £}Kq'ï%FûÞ_Å5Ñ·a#öÊ8¿¿+£rK þëÙîÈ3¨ø¦[>±A á]P!ªtQ>¥´QG¨rÇ´qXÿú1EÚy¯[A»ÎùÐT,Ýi£R%^Õ̱óPerÎûÄ¿]÷ÈIwhní®ó¤³Øw*ê§cÈG'TͺórEÓ³
-5ÈÚ-ø¹vµ3í9SÃgê×{êâ¿ú0,Ò4¿^CË`^/¯²h5+ÓB^~], at 8Ã=HØço¤X®_m.G×p¤Díͬöi~«åÇe}ê!¦1v.Åþ êôFkëd£ªØv¸×ÜÜ׺(²©×WìD/\ÝöæÝäüõÎ$¾ã:ØǹÀ÷TÚa:vYuk46 mÞéôý,oUvÑÇ0éÏOØâ+êhÒÇ<+¾ÒËÉèKß×ýÁß%Â¥YÛz½Ð´ÒÔÒë.}=û;ûq¡~ů¼0:ÖGì3ાéSÅ\qÝOxk
-¿¤;'nº°&ÈdÚW<~g¡Ð]:æ
$¹Ô8Ⱥßb±_ÌÓ í¿S8Õê` ¶Ãè\¾¥öá=¥ON»ëùÜíaD~,$AkäLüiÈ£^ü,nQcÛN¹Áâ]Vª;æI]ÕWm¥Ú¼ëÏhßoUÔJ %HÖ¯fR&h õ¹¤+A-CEî®-Ñzx§P¯ÞþÍAÕé0EÔð[ÌDàÍñlÿ¤<-¿ÝÜû﮹4ÑÄ9©«Èü
-Ñ"¢òÄfkoTo9äûã»,¿0áì×g{ÜcVLY·TzÎÂiRÊìZ\óöç)Ï×¥ê=þøl
-/½UÌ9!¦Ê½Ô¶
-ÓôçÜs!í°ÔÉÌ;?¿QdÆ#H}MÎtÖ×"N at täõé©'hõAOPSè°y¨´óAºg¢ÍÉõ*Ý[Û3í"DHáCëmЫÆèYv$f_϶Õæ+(ÍgpÖÎßk´¸Ü[»ÊÂ\[W¹ËÐ>æñç(Ï·uª6ÑÕ8_
-£ õm10áPUyûÜ(ú×E²+Å`î;ñ5ñ.ë+iÃU{JÎ8½¿¦
-bOKÌ#²ó
ÆA¥_lpßk&÷ßs!¿ÅÞ"¸3p$ðÕÀi|âH\¯B'ù¦èÇOø7+gá/.[
-@PêG×ÓÇ?Ï5³
-%ó~âI,¤7\)òÕÜ"ÞB_CVÖÕ,°´";ïRhjv
-g]á÷¹H}
-oMGûÂi²TÎ8²$~ãbP7<}>S§f,!Mö(Ö9I§^«4ÚL»ä"#hþØ+]辯-S^4#C¬ÎËTÕa1+IW©ï©[haÕÕV$¨QçjYsqê?âü
-¬0¿0¾3,Oiÿ4ETê´À&7Ì$[¾äF
-¸Ðm»¨³w=Ð(½ï¼êLÈ>ùy1¿þt¨®£m4ùã)LJXrý»ïñ½@Ó]HKÎÛÙ^Í\Bù§È9
Øçùh®èGµÜ£jhdpjVØ¡Ów ð`G>¾XEÕõu4["¢°ÞÊäY#CEþñ»$Và2Þ$!÷°?áÝ5ÝN¦kì
°ÐT¼wP§ÿ
-i¡þÃö b:]ĵÚ
}*MÙ½]à!(¯7'HH«I¥\#"ûÌ5á©¥ØÔ,xö¿èÜúË¥ïºÖqªO,äÁ2øö·uË>øAZRïvÅFÕiÅfqõÔ%±k8Qò¶£CóÞ®ÖGÃ\¿ÎÁI2Aò÷ú¶sD:¿îWÌùÝÄxTÇ!ÐSI-éÆX|o=?S,èëû¢Tê#ìÎÚëÚõOÈ·E2ñØËжݴ·_ß9æó¢ÛÐò¶ÙY@*xnksªèõ) j±÷t6Õö}ï³´CògDª9%Ϫ²^J*îsr/¥a_ÀºÇ±£3iÚ
-Ö²ÒWµý¢{X²Ý³VÑÌLýNggE9ñÇ2 &JSõíónÈ
-àÑ¿vâÙ[0é<Ì)N«²|Â.æ
-lK{múè7F"ó ¯(¥_Ië¬YWÒ>
-~ÝÎÀA®E-ɶ«çkÒ§eé&£z>}N)lÏ£~ØÑmòÚÿélÇ(¶ó½i½i+µ°´8\ÓrÙB3õ _,¸ªÿðJ(s©®;KòÏ9<25/ö¯qÙ9¹åg=ò³Ä/ãÞvMûó4ZçÑHf²LØ:øÌÃl¹öìs$ÎÖ©pXÆG~±w~/d¬×,S}d+uj¹ÓúÎ
-£é2±\p']¦l07ÍAÙmqYÒÁ²ÑsÕ0ÜqDÅ~»®*ë¤Mjt·ÏK'ÅÉ&àáSà~#'
-Vc
-º(ú¥
-ªaÉSÄ!x$"} ÎDvQ&n
-1櫹¿À½:!èÒ£Ëè'ûqÞµzã¡8ý¤ ÄUôç*ñ6fd2~T§)îsy~)3ÙHÅ
Åì\Ñ_@ëÉA)^QÑý¾Ö,ÞÄOgËeó
-R(;;AK²f£ÜÁL®æÆà»+ÑÏ"¾G÷°_BøoR/½3nyXv8!Æ!W:ÎË£Ï~Jæ*®â1xÆ v:>]¡&æɬïîãPæß´
-W[¬7ÚÎç`åï#Ùáã\ò2«Sx ÷7káe©6¿Ðáwúåqî³Ä/
-ÁaÖ¾î#Óc¨ ñpnµÈ×æðÁu[Þ£~\ÏÔKñ¯\ûÄ-EHÔõØcÆFJ®¶ñï_Ƚn»0 ¾>9Ýf_¼ÿL·5Uã;dìØH3ë¾ï× Tqüͺô«ülѸ¶Ö² <ëâÒÛÝjçd=5RBPÅâUH¯=BW4aFyæcè`!¬s³´.`vÍP:Ä(J|]ü{¶W¸¼ÝiHJç{Võ£½dbÆ|Ðkha¼Ñz,?5«ÍèpkS6i-5ARľ&¶bì]i1ãÝý`£Yèpâå1ðÛ×Qàv¤mY¦(J4é{À Áý÷ ø`>q68òR!W^v Ç[U^þÕÝGü{,8P]\âA^Jba°CØîy{Ko¿t×i4ýMN¶T!v_{ÀLï1´*âiǼR-µâyQ,È0Ù²êI}¾U uð^uZÕaûùõ¼b}MîâóF/¬W)ð§ÈÍl
aûQ!&]1ñEABÎé¯KOè3R-e°Àȳ`g"ãd+·ðè¸ÓûQÕhdÞ»;ü¢¢bøò=Ã!® &èsØC#b½¾A|¢µþC{fÓ»¨õ½ÃÁ·mª·+8¿ÜÆS
-â ã,(oÜ]ïb«DÜÛ´NêvÚÈRjâVÈáËÚo³`5reÞ¯·Ï'ù)mú¡öé
-Àfp©$ß%ã ¡Ü-¹ù 0ê±C飹ÞX+´a3=Å9ýÖÞ|G]CÑOÌø1ó1|CÔEíâ#Ùyt0{hRQE»üÇ'6ázû3ÊÍ¡ÈátÑ-\îåò¨6Ð Xc'^ü(Ò«¤`ý83`ÍØÃùRäçVÞz_b:ê¤ÙqVÄI÷¹ÑågüCëRÅRàt{̬4
--)ä-<3-ÈÎ&]:à>k7®E
-¤ÍßzznûW"ñ¦é×^|ÔK"T*¯ÿÜk¥$%qå)Òî¸%R§Æ¥MÉÀuµ
-ôòó0ôeÓbȺj¡*ºV,è'ùiW7°+ÜÞëÈ®Võ
-Ý ~AÚÉq^誴θÞ÷ó,0½á¹Ûé.AÖqÈ4Ö
BVÏàJY},Rqë$ÿÖ0ÐÅC-¦
õgÀd2&p¨ÄGÅvh´ÌÎ*oe&Æ6Ô(ÌåÙ
-èK)©e/üV .ñv|½ñe²X饫Â>ñ⩳ÖÅ=
-èV°àþàÃpV +Û=ÑåÀ²áÛÛ-Æh/çæråÇÜÃ)NôÉsÖ~7W0ïÿ¹Ô'Uå&åQJ°7éøCåðùü¹£ßÑNªVk(NȬ¶ÞwTÕb¹x+¡qÈ!%`óRÐAVáWµåù~lÖ¯V^JXxå{§®å×è
-E0ú[L(ûoÚ̽"FYfsôþ\ï>ÎRî9ß{¹9¬~k¶ü9mdÃ÷Moaí.þ®Ú).Æm]Ó¨ÏЪ-VV{sÈ`[¹/M-=ô-5N×ÝÿBö4îüVÍÊ)O
-mÃ=lE]MȽt¬Øa(ÃM2ae|·$åé9¶vÖôÓëB³ò#:wà4Ó¤-«>V-(ëeB&eyCϼøUåÉÄ»ª¶û£.»ÔZZæÞsE,Æã5½î2ûÂâE`±©ª=ÖúÛRq£è±!ÅHqhÛڸ÷/]]yk;ÕfÌrg8%úÒoG¼Óµ¦ªd èÆo£hÅ¿²ù9Rù*ýkYutªV´u&qg7õdRÁúçlëé\µ±àvñ¿;òÓÚÞkv|Ë 73zZå±>=
-Fö}^Òúð.
LDÃ_bÍç/ÏÛà
-é|ä) 9ûé¿Oóe׸:ô!¼OÅdí
*:å\û¦ÎgØ.Úp7´y**,¿?#zKÚæ×
-âjçâYf8\^ïÿâ;ÕõcÑpÃt¬H<~aç]ýCm¿Ls&Ã?æ{µ9ø.":ÊÈ2ae¤Ã®ß&º³>§¥A¾Ö#ã?lâçµ!=
¥Bðgճ³¥©xÖöÜÔ¦&Q¼0;Fßì ÷¬Înðj2¦m°ã¨»ÿú&_½ÞÂ@e¥ú¹oK²H÷Lhâ»ÊAý^4Õ´3F`lvÝ4£tçáÂÓUÛdí\©#GR7xyL«×"_~ð'gÞx=·¡4\GGÄSð@¨Á`Ò¼þD²üd#÷ÓæYz¼DJ¹£q3×Õå;.2»x#?É {øYÜáÌTÑUÈøÈÁ¥K²Ç¸ã*ÒOÂÜ`åRÀôÞt]AK%4z§¥önæäÒtï1câ@ÎÒikO¤»¤×±Ã®"ò¢IùWÄÌÆÇõÅãk;àÝQ¸a´ë#[Ç¢¶»7ËØTõw#A§´½^¶]Ý£¥¥/gÍ©®]øÈýjpX7¡vþ/¹eÑèmô.<¡[ÎeÔ:×õD¨ òÞh0
-b5oí·nÕeM²Ì¦5jÃ=ã
-E$]Ræûðâ!5]}gúGhZÃÝ®ÙB©NNÝ÷úïGphü Hjço4y¾Ï<fV?O8SØmõN¹`=jj¬ûÁOPÕñéOªÊäöºÚEDÃrNç{©ùo ôRkè¤ÂÅàO óÜl]|7HÿÀ8yËa¸è@¶à¤è~>Ü|båÛ¼3bu;éùâq7=Çwh»5]ëðKYmÙ>KÑäPóekN¿Ã1©Õ.FçÇÔwâ×ÛÜ~á"ì ñ³
-ÜaZÕov½ý
-¬ÁF³-·]UFø*hÕõÀõæSåS:ôc¦çE}ªî¶=nÔ±Nc®|ÕmÒ¦l!ñNÆÚ7ójoൠ>G*.C]5Q\åë^îÂóÁÇS31ù¶LÛFÏ_ÐH Ì¢\ÖK ,«FÌÉç0É6"ÖWËoÜSg ÙD^§à\õÎnÐR[ÚIt)ã¿Q¼°ýîzÕ«· LþÃ2Ê-2k3àÕíô*y[²J_ýÆ[L^æøÓiu-3Iòz.CK¬B|uÏÀ°qhÒáK#÷çº}VÐ{FLU
-çZÁN¨áK£Õ5çèÍ1Ì
-kÈá³F¨¯¹°1_o
-ª½Ã*ZÄßPÐ\íÿ¼n>°xéu0%¨'ÕÉ°ãÊ®á!Êt?ZdQ ó÷¥v®»/Ï©
-gÙ©/C¨zf¦{,îyûÜS">ò"Æ¢¨é!ýõüä)/oJTÁ=à^Up«°ßª4!0ßÛ¸[ѯ»BEôË{úȪàî¶hªÀ**£S&GU ¹ª~S¨äCÞÓ.¥¦AfìünÐ
×£ñ}ÎÔ_É
-w½Íc-xèÿ±F×Û~§ù±CO;yë
-»ùr'Y83ÉìqàÁf¨x!ìÝkQîTÀe)ÔJ~¾»À%©%ì
-Guâ,âùôÓµ
Æ:æ0nÇ-HbÏgÿãÕuI[Ý
-¿ò
-)Ü/Ö¢²üi
µ¿?æª
-ßË·b+¤·Gñ}ø¹%³\ ôâ¦gkÉÏ¿1fSjÕÑôëuòrúÊÄ,NÚ9¹ZZ~Ü`ìÄ0 ²£ì¡Z,,'Ø9Ü$z_#i*¤ãxL!ÁïtCm:´&áBÂÈ
Ñ>ú
-è¶#Í6дÕ5ºQHëruÑÔ3DPñÑðô¤>°Ý#ð"
ËöÆ?#<®¹JüA(ÉÏQ³Hß
-s·F*«¦ecQ×k¸- `ýZ©!
-Hæ³~±ýhst¸¸@s¶ÛAPªC%c_áë³ì L¢õÔy^'E±¯f¥îÔJç ~¯^EhãCø&¥¸ÌêãzªÕÐÊ%>áí7M~7ì¹ Åê³1³kÞèÿy©Ka3JuPu£hv·Å}¾n*¶f[Û]A0MW l̲ÃþJì},AôÞwÙÐvÔÒ(ÞÆoÍÜgY$ÞxWÒ!ì£ÄñÙØ}uÄnèT·böxèuÇ6ÊåQØCö1'I¯hÇ:[¬½aÖÙüpRÜÙN¸Eöò1)jb,áÿ(y¡%
-_»¬ªè( -ýìöíLÈþ@X®p#
--Z©ïaÛÃËA\}å¢0#M±$¥ìEÛü(&ÑÝêCÂæ%¡³ËÙ?B¹¥-Vï_¡ J¦pªBÅá*ô!ÎYE§«þcYx:~5ñö¹êÉ¿Y}máÙ2Àpâ¿q¡øÈOÊc"7×äWc&xÜi-¢À¹×-ÅSýÀMmè¾_²(%´gWlÀÚyewOÁ²¥r1?~¶0Øjf õ$Üõá X5ZýK}ì¯kGÖÈ.Ëú1·ciÄñ &Ì»ÊbÍÕB³{nWÍlåÒDBÞÔ:Ò²â
-%,0Æ~5Aó×\mt¤õé>Y3²Y»º-ò»iûàÓÚuN!TRaØ3Ц²@ÌxtÂzÙPÉX²o/¦HPm+Ç"
-M¿1à.u¤"×w,ª_ÐéC¥Á2Ф!îüNiômÆçÖKrfáiÛIZºSQú
-зé[Øo[É2'Jdäv[âRt¥wFòý¹g;ÇÄiMðh`§ö4VüÔpbyA[¥_ØEô/%
-éØ_qÑ©KEB>ªûñ+"àsÆÅô$aGªÛõ-ËhÏ ÝÜìNéwÌÌ}¢×¨0OR+m6ÔW ¹Rs{¹6´Þo#ò9#ô¿O¯¡áYº¥ÈÊ
ûÔnú¸Z\Ý4°G²È¾ÖÁSòx-ÇXvÒG³[§wÊsÔã,HßP¯ oé^ªo ÅÛ+Iw5ËÇ)ø8Ñ´3â
-ì5
-¢µnpmnSg-2Ãiú¦×ç¿VÒW¯Cü²lNe'·¬;ðlÀÁúSqÐGo¯;ö:\CÌ\³*+gØ8.Ï9è1×Ùú3Ï2`ELÝ)q·+|~´E(Ê·Îú2y4Çq×;Ñv0`ã¼½ÔK©lbm¡Å)0Ó
-QJÒ2¯~ù'Öñò7ýè|rëÈxò"ӡ˹êbªCø8å8D
-ÿOk]Îë%4Ï#S¸ku#xT?AÓ%¬¿HýÚgÅm\°`f¼ÀÎG£k=$4â+µËyñPÚµÖ®èh!_#"¾¥õ$uªõ*½bv[ô¿[w9@ÔS;Õ|Ï5ç?IbYWr\Ë'kå'[?±]ÜbçMêS 'å
-ÐeÌýre´ÜÿõnØǶù#Ý\cH(ÕʶX«
ó"¶J¿±}Mî^p"êÐ¥¶xlesht[´}¶¯íι7qÞ©µÝ"'c{K³´@y>d](¿||#RÑÃzæÆ
-ð7óGCá¶Ùèþg{³cÖ_éìóg´<Ìi@ÉãÃðö¥¼vå¨N?ËÒ[²-hµÀ0Ö-BÝ;üYÒ¸)
-hcçÃfO!²6"Uí¯ü¬¶ÀõöÐ7ô1Ò×Gé îÔuñÖlÑϺOÎ?
-:/-U˨îmoTÒÈ¿Ô`
-àCáÛ%À%C
-ÊQnï~YG(`d^0w½Èºêó-IEjºB¡aXÁAݤ±T)ÖÉ.OLò¡7;.Y¢Ø
-gËu¶úC½T/Zv{)îËQIò)²/ÔtsŦ
-å«»ÓäT© ´Äm´¹5êx6ÿ3VÙáEPá:äÏdñ¨R¥
-Â-5cUÔmÎ7eeɳ:£u¤y«swO«ÛtìpÓ8§µx=1;×KVy¶Úp;Ì%E%«'DK)à A|.C×µ~ßDãðÓTô¼¦àèa:ñý´7Ì& jù]èÁ~ïÜKT¸êD ¤ <_Å,4ì÷ º®¯)0%È?¿o¼Ñ¶L
-<nNë[¿¸ _¦¨6U3h³ÐÈ=»ùºMñ¼BOYÉtFdKHâ/â®eѲDÙ±-J_ÁÁó(2áô3uE´%òÔüØðë¸uUcG"îöQmÄYg«À£@¡«÷BÕÏZ×eBE-,RQUJ15y[ë©|s£H÷}Oß1¿=4ú*³¬ ùüñÁXÿôúp&H×eCäÿòàz_AZ"ÁOÂçàñûQ¡\éÿ4óØ4e!$D»©pµD3?ªÆÿüì¤ût:UçÚ¼V¤÷ð°¨æ×j=-ä!mäÕ®IÍ_óR®¹±â?E³ÚJêQläÚl}7¤P
-3Ìþí£t`Ña¬o(]O¸F'ÐjÕ7 at 3R³(¥îü»¶ÛyÏØ!¥®úP7åM[ª(ò¥ªâ&w=pýHÂøq_s¼ÎAPàQ|¬/à
-©íÅ«º,^^Ý2±¦Ñ£Ê/ãrÂñй9ßìaUÜ!BÌý0y#bѵeZËiá(îk¡Ê50FeñÊ-Bªã3òÏÃ]*8F»ÜeȦd(·ëÚÁÇ÷ûNÁpheO±8ÿ#U!aü¥Ü"ϸP:È£ã|ñ:åfÍRísozÍ6¬=çç¬ê¶m^zPÔ.IÒ×,êÜdÙ=@KBíA)ÒÃc½ë2ïÖÕÞ[¥=»F+Ztáî Fû°/lBÑlºÙ2îW«q|C"~뻹I¿6"°nó4«»²8>éÙvhf>FOþ >jCmoð@õ×äVJ/ö®£ã¡8Xiwª"
-!åcZË£b·úR Ï»]ta`fø·ØjîôgÔ¬ð:xÐçNb4T\XyV2¢cmî°iس1¼`¯1ãÍ Ð:<rªåÀGC
-q&µñÊ{Èm>ë~èÓ3+´¢´èF{¼Fb|£õi8ÁB´ô[5¢äÍؤ{ 1|hÑ1ñC3KM§¦(0nïN2<Y
óq*ÆÓöÁ=dÅ%À DQ03ü<b¢ÿFÆYSÙà
-zb¶ú¾BîEA³q|éãÛ{&!Ch¶{··ó±çeÿ
-m¨-мrÀBlÞÀd©Ó.5Bô eÏb`þ}«/òm¥12¸ÙrüæÎz'Y´)©Ñ9A1_@Íeºäè½²Pí1ªzÁ`-W°,æÌíûºLÔ1Ì";[«1s«$ÎËÏA¼ÎÙ~öð|ÁYyQê6«·±t"¦g¹Lä÷TÍyt-R-~î3Uðsjç ¸Æ9&W~e<¤ùªF_
-GÚÊíQv^Õl®áûÉÀa07½zæ]zF iRúv.£ß1ÔS>o+ù ïÜÜ)wµéËLhp^ÛéaÒ&|}í÷vúÙú±}`ü͹2@òDPÇ£W¯dkyÖ,e>\ëHÍÉ@ÞNâneì/
¼n=òú"Þ÷¦àö;%tPØæzKöÔÕfJÓÒ JÁG¤ªôc¥c:MÈOßÍDzkzoñ¡½Ù4OJØ\¸/Ýþ
-Á_Lìì,
-èßܶÑÖ¹¹
-}ej
-ÀnFøÄyR}ã¢8`ðynLcêú%ºÝ§^ýcN~;2Õt£6
]}á ×Ö7hÖg÷¥µ5öRUÍÁ8h>SΧ×EÆãE*½½ dWE㢰QØ"qÆêÉa$©Ð^]QZlD$¡ÇûÇô°v#}Ä¿íd±$4
%,_A¥%Z<ñ,é=ÆcÑ
ѵ¦Æ¬¤Üw^Ð[Pý0Æo"áTîbuåH9´¿%6ÄóøÔ7u®TuTOKwï
-Á=jhº³ñÀ]VBº^¹ABò!u°iUú.Ü{¢bqÏÀÑ|?ÐbÁNädØm`ã¡L3}G*ØOºë\E.ÞÛ4«8]°ü}«1÷[ýÉÕ8
-½õá½ÚßFäw¿Pªºô+뽩R¯/×o½FQnãYD´Y6ÁtFLDƹAe¸ÅhÖÝÍG°1XÓä°¢L}.3èÖQ5
-:p¦*}¤e_ðe(§F±X»8D.²<»¿FP8o0×ïÏcªÎ~-¶ÓèL²Uv¸4OEDß>N0ªW.ØìâJÚlÙ7¶ÕRÒàøÊÓca ,K¯ÿüÜKDæpÆþ¯¿d-H½¹Ðöb¤3¶=©V.ÿ.åon|Ó¤&³:ôS¼ÎéSGýâê¹ÌBÑÍ»'Jæåé¹
-Õ§óçÓ1¹sõÁ6iúçk«¤'ç¶ü?ózëkíÁiöðU Ö^9ÎE>Ê/²û²\ ¢}qÔïÝ¿+àìÝÆWÛÔÀÇòî}}÷LÐ\þHòõ[K¨¨mÎxîNŵñÒ!£ïV,6Íô°[ðsCÿvf ÅøI0
-yÁg°ÿ,Ŧn¢!'ºA±¨åaNeÿ ,¤jxÊmLDÙRÀ./4éíÂk>Þµf,<¨×ꨮ¸Lÿ`sgYotéÐê³Þ¬Þe BÈûîøÅZTÌ&ÿ\ku"3JÏs¦ m÷1<ÒÆ÷Eæ5iÖu"C¡øÜu¦t±^æÁUQêÈR¦2yª¯ÿ2þÁÚ#$SnåúM')Kyî8¼LcûæÏB÷ö®Áª#b|'¥´¤ðÄiÞ'më`4p6¨z·g¾p®ú]Ëk¢¥ãWg,¬]OÝwò'Xy¨Í¼
-AG/Ë@5
-(
-°ñ5w®V½Ûr®f
-8ç§q©ÈìJõï ®$¬êÙ''0c©P&ø¬ULþ:M<©?¿p2$ÎR'ÇfV©Ï͵ãDr"ë 0*xQ$åAmUÚ[úç ÑиYä}×ñɱÓ]iEj£æP-ùÙõ¸yÐöMT¤S%%»ÒwK½råeÀ~|×KÙ½{øà-ï'x¨).sê!níêëgÏ\ö_·lÐÊ4±Ö×Zv{ãårEí¢nÏ2®'Êw#¸I·õÅcíHÙ¸Ow³#£îc0÷Ì"ø1ä7|ó
-WDS¨Í¡úHùÃêyn´ZþµàòùWKÀøuã2oÜ+û'üì°Î1&8æ·ï8i{ÔÑf>¯)×ùí¹4ǽ)y%G½V
7ËDTNòªþ)úsÒñ!=ÑÓÅ3uûÍ
)Ä|ýÌ:Æx¬¿;ÒÕN'éÚßF
-å«ý»G
-R·<°f7ÀþLÌÈCn®ïÓö$Ö/«bÿÀ,¢AiO=Z\0õX5Ù.í§¬?êmKUºY:þ&5áõ+1a`åTéNjU·Mú+£áGÍVÙS-v
-`ß÷&O@'I¢ªo:8·â¤In]k'ì
-5|¡ÖOÓ
ñ¦èí.ÕPpÁÈóFâ¼)þ=Øf¥Ì,[d(߸ºµð.è=v³köÞÏÑ1W;ºò=ÍN³&ѱ%yþ¼½{c;©*øݡݺ®Õm´ô_~zèR(KæçÈúVèÌc\)~¶>uFòêmµò1}£û6(@µ¦¼\^ÿØû½¤
ʸ?4/:ݨ³?L¢ òþ¦Q¿
^zÚá8o#´Y±&#êX
-ßà!û¾Ãéæ>t:8ï1§9©Þ7ûwÓºÙ0Jî
-ÇËãuMjøóTSO°RÂMÞW'Q=iD«N²êeÏîÄÖ)ªXãpg÷»M¿ÿâãôVl(ÑS@þÏüÅæ¢:=tÜ´
-ÝL¬èÐõþ"©´\r¾ôÏB¸tI}Û´?dPW·EY$×YFâÞ©²Á2\õMÊïº8kú8Ì9Í6½EzÍ~ää¨âÓJ)=¼e°<þnY³ü7º')ì9µQ5¯È;î¶T°òø߳ç¿më¡ð+KT±Ç^!Uð <ÎV;jûÀ'#öyÇÑ'¤ôõ°'æýêî¡Ázp=,*Déñ¶_ãÊ-µÎ4cºóâ7!m$,/i
-{DM8üÚÌRÅEöÀé¼¼wb|ËGÿSBõ¥ðÇù{X
-m°'ÏϨI¨HÐ@zázcTEé9ÓBUXàhc]`8<ΤÿÜQ¬Ø;s¯ý9q|ü£"6ØD×,`$rð=#ýK2öY+°QæÒ@`mÕÄ
-ÝZ ø¾\ì©a© -m/f·Nh$ÒæõM[°êXz®ò´ ³¦ÛÂme·â³~óÞßP½öÃÕ>ÉS.ÌãÕâi:pdÌ< -þOh{VÚô£ÇFQ?@
h!&Ï=ªØ)n"zb 1aí`åÓ0ã´:Éd%ȤG%cU!S {˶Ì=1åÉäí;:,ér4+©¿S³Í0húë!yÀ<Vë1Hü=¿}3§¡1ÌZ³cJì:Pµã#ª`Ì6ÿX k á9>O9ÑÎÓ~ZÃvD*gSc
-\ÎÖú$"«»BBa%ÜFà3¤SÕ>®zÒ¹ÚO¥vëÁðÊûh0;:xzFà÷ÌÃiü4Ýhþ15¹f^á*ôÅK¥
-µJ
_¼vAÖ0·Sfù°Â0ܺi¯%M¾¥L(@Ǽ@ewR²Ù7©¼lõ
!
- s+~ÎÿïhM¹çèúO××amñxN|JºðøÐtb:IBÑ´Ó$§3÷B½0`ÄCX w8,ÕÐx
-àpâ*Z~÷&$;gîäË9¼é°tQ0f*o÷¬ý£BCCa^,>ÛÝj2ò5ëÅ4H1\c¢6º·þÃñ>e«ÚÐôQPQr¦o*Ç°ÁóRÛÅÚ ¢¦*¶´P+2çñòmóðÈáÐë£mg$Ê=9¸ù´Zö¡¯v³ö¢±X~ºþ9°;;éß
-Iê ð-ãZG£ÃYDÁWHÈÂ^Û· ¬H.K(ÑAÊ"ò¬¥NLæñçÙ¶àÍ#Ø<Nû#u*ÈÍhÉØQÞÊ&ëÏIs¡bQg"Lê¹ègP
æÙo¹àózoÉ`}ø +Øòv? &tOëk¨\W#º_ÀQT*¯Ùâªvq«ðâwÖÔ
-ÒÿÈî6'O¼¾ À}Zç](Þb øX+RjØ4BÃÆ
-uy©8~(\0->·Àt;°nLv{°ô«ÄWj¥{¶=gE£ÁH!YÜ.ã?zÅ£-øm zm¾Ä)Ñà8ôk
-¾ÊÇPÿ1Å0Cù0ZEµ0uÙ{áµsì19<ðþ¡\,VÓÞße"ŹæÈåkéViq
-êåá 8qi¹Ï¢CmÞD.÷éä×4=¶öíî ¹Iía%HòCo'¾îãê-6eÌ¢øW[ðbêP4ç©þ;6VÀESQ(oéIZ}m0æÔYG¹ÔÊûQÀ8:ªÃ0úÈoÏz=þ[
-F¯(b+0'0ÔÒÝF¢×À'Xµ¢_Æ7Ko¹½«ô²{t¾÷ìÕ @´JûBééüb½²!ÑsmûÝ/Ê?/hÞ5õúÌ~3,ycõ»N5¢ù}oo2_åáçe¦±Päç7`ËØÚzµZØD-bíà8ëÈ êUB§©w2j¾UìkFÇúy°R3ÐÃ\ìȨº¥uº±SÐ
«ÇÝiêTÂ_°<¬)ý$B^uÃ>éli!«c¶Ö.q5øA¼§÷ãúê, &÷zb8u´ Ýç°¹õ6iaî3l
-6NtÑdAÓbf0·!úQ½»¬ÛBÂ;;ûgyòFðµ+ÏähË·éd/W3Np°Á§ÿüô`½!Æ¡Íéi)9Åýp¬tpí¯!´Û©=çWÈÊà\ÔÚ;½X[miåNÓ¸§]2êá®ç
ÅÈôx qg B{ÿ«Ô3äUG(%DÛ,sdúwª| ç²9ÐÄ/#AÕC©+-â_ëÆj!VyMpnVÈ»,м¢öÙ(ÂzSÆi*±A×Ç@µ±á{è%Rú:fhÙt¿êÖ¯¼Þh¿Äðãdü^hý¢éÇeúI`UqssÅÞêà¬ÑÄïÌCøj-]úrh¼.¤ÝO."¨2¾@òz¦èÅxôüͼ~~¢{ÂóÚP`ëMºêË÷n
-0Yħ.Î|bÃF
¥vì5h®LÊó³£ì~"RÒ×
-qk~c¼¡¹ò¢Wa]ákä|ãr
-°=ú>Æz}_íþACYЫÃ_ Øp ¡Yª"nõ
-d¹U ÒhZ®i"sÏZ´2#ÃðTëKPt§ÄãIY0.À2ïÊÃ5
`vÍeDJ¿RgÕû
-`BEw¼¨c[¿¤â7ä8³&´õ5ÕUÎ$ÀÏç³Ì0QRû§TÏUúgÐû;_¶Óß]ü¼æ*Í\
_é5ª|l_õÈ£¢¨;BS~Ù~TJÉVTLåîI¤+pÎ@×
-)9íþ¢¹UÍÆ4³{±ngæ@!Ö
-ñ9y
-¯|KLô
?iÂõ
åjÅ'4äI÷b7o¦º"¡:è¨2mËcc§³R,ÍãÈ'bl¦ÏLÙNË×XZ7zÓoêiÿ._&Ò§K$1Öøáöô|HÝw7Úq2JÖÏSÄ2¬EÒ®Åè
-SñwóËÞÙøACº®ÏìE3ÙäPy5ľõxÐXäÏþÁxÄNEUâáÄ÷¼cBæ&_u׳{áÏÙÔÝ=mM*;=ùs£¿Ó÷jª¾=40
¶¥L¢/1/`-ܯ!ѳ`Á+¢à
-æÏ1]Cïeb^Ù¯búQá^Ö=Âðà}uwZwвFrÙÄ"ͲqvàÈ:PåZ-=ÈæÕ0¢·«Á]
N¦_cðs0³å:ÀõúðÅTZnûGW
ie7³½i93F9zعl9ØåOâ}6ôÆö$2õ_¶xÇ"3hMÀ´ÏíÖ×-uêªwë=9Ú$T}X
«;Å&W®R.þøÛÅ8
èÓdPéܨÈÿÎ&¡ ³n_!ímFÛ¼GYy@!¾-ÏÞd þô0ôr¿CRÌfâ÷^÷ØÀT¹ç1âðÙ%ðûYÙÆl üçÀ~ñZd÷£eDRÕÌûé>6bô*Ïíjo&g®æa$]«$é}±32UcoäòcB£³ÕU7&.êñ4:ôà¬H®¯<Å®ùvcKp¨-6Ú¹¹Ý2lázÂS4=u&)rk²5ÄÐny«Ô©M±åÁ q`l´Ç5(Mtïz[FMÿùWónáÉ[ý«¼ÓUý·ï
-R
-6tþ
-ß
-])é$hB/UâUËÔÿ&@Ù¿wqr"ܹ
-";ó{ÞYÅ°þ½&ffFA+ã§ÉáÃ[F*¶¼/µ8ÓÜ1ñùÀbjã.·uuLFý£Qô%HU
'
íY
-Ú®0W8=%ûÆD0OiL,ķڪ>)éwXDÜ&$6÷OLòm×¼OM½¼ãÌÕH¹ÓPv+ÿ(ñKÓKþ=ÒüÂÕ
-bÒ»=ÃS2ßþ
¯6ø5õÛùÖÄsbPùq1Ú&húíÜÃðô
-@¯ògüên´Ì5b{ðÙÄåP`´£W
-äYþK(5zuÙxoµ)LZ[=Cx0æò<\?jæ¡+õè?íC±"áÓÙhá6/»À^Y[í×´¤²RgéáÓz÷ìß¾¯áŽÞ[*hç_ºÅùÀ°9
-0Ø;_ þÉøÊvøhIû t:P) ã¼Ee:ä_oGÒŸÊBÖþÆj´à©âQQ´
-ÌBÖÚ@£±xæöþnõóZjzcv¯Mdh4Êj|ç¯M¼éÏw
-¾ç;ñ¯Uc2fÀÉñÌæ\Dw¯gX
- hØ÷4ÒΩM:É·å!syÛANó9D¤ÎÈróÝ7îÂÍ[«¶ÙhðݱXnr NÝöÓ¶Q¡m¯t¯ÓzD-GsÞ\ÍAÖ®é{£äÅh4GvÖoñÕô¦9â²ÝÖÊí0DAsÙl aÐå_H²Åq*FWÓÐv@÷_e;5*ð/õLeÏ®[òr>gãc:[.ÂC¸ÍÅ°E[íAÇù)üGâ#©,y²¥±ýwÌä-Y.#%ÁR¦þ[}¤¢c;W"tÔµHgÖt,fKÞÅÐAã|Ã<ÿ1üáøðåȲ?ýºAiDûz)cX`-ÄÖÂ<{ÚçÁ/+ζþ\¹Í®ù×P}q3M¦åDç°W¤zÈå·¹q.$ݲ%fUÙ>½¯@üfm[4½Õ¬#øóþ³#Ò)¶óåÓ
-Ýa,¾TNíÜøR^×
-
-)ecÁyÊ2¥ê4Ô.mÙãÙ:[i´£&Ùìã:¦;¤Òá±OÊ·ÍxóÞuø(|pZ},;_Ðå4ïÙd²»·¹RóKzX±ôÛ;DRÝ©\ÆrUãÒøÄc±BÊaÓdÖW3È&>ê0»\É>í¨¥ËÛù 7ø#P0¯H%]CÙu'kÖSK+6ùBRR}:¦w)Æö7Þ
-¿(ÁÓ¯½ v[0}Ü>¤þrùvdEõ£Ä
-H
-\±`£É°9W_<1ÐKc¥o@µ¹î=lµÁCùpSèKß°iSAÄv4,n¢ØüyîoÍþ÷%LXMI¡ñjh$CI³Ã/9˲µ;ß{È
-r9TKdw ®;Ì¢-³ ß ß
-.¼ÛÛ½ü¶åZ°½½M'OÔ)y âAAgU/ËAsñ<L¯³wO|¹ýc3³¬µË
B®e©UbµSÑ\&B§¸ßøUÌøÑYïÎKAcûq×Ó
-ý_õz[ Â{Y`;nNÀ¢¡ký°1BÌD'ýK#âÜÅxzö«{ì9rWü{eBéùydº\Ä°Äò
-e·,I¶·¥)Újj=&l
¸ÍÉ1 Tæò8îÒ9äHìÓ¨OÚVÕ^í]Öo¢{-쥨¡ýïa2¨t;\A'ôÀ®·fÓ!×\{ؽPÙ|½§6Åé1\¤øG`íÇ·¬+½Ôd at FH¢)#ÁC¥éã½V9`éQKù]ä\ÒièA§Y¹¸÷±mÜBIîqA{ź¼ýóðV
-Ú£°Z¬
-÷×@W}`ãÐA»ÔÉBà«ÝSä@)9±>KÕäÄÒùA¦ap |SsõÂqy2®>¡dìÎî}¤p¥À<ÿj#9qÓòªXÚ7íéø{u|QnÎ4aº==¯g2h] {D0p=¨Zì¼}ÀÈåTûd<9¬V|ÔâEؤåaÚõ' ìÝ|i/t8Qªî÷?ß;_Îbç ¾½:2GÀ9¥>±P~
-
-ZWѯkÁÂÃ^$ã~ëëö}ú4LÎÔÖ§¡;D$éczã4ÕÂà U'íñ
-±$6>ôÇPCz`»ØéÞR)Á"r¤x¿]¦K¹¼Ëm¶6j
-Å¢¡M\/b}ô<Ñ;¹´Òfýn·Oüi?ó:B¦SÛßÅp®&Ų/¼7IVÕº@çÈ(S9qèâ=.¿5þ®ãFF;Ü&YJOKøWnV¥bh4Å¢|3EWÊNq-¾Þy³\vÿÐ
-°;¤á
-G¬¯»¤9'1Ðp÷tÄ>¡ßòev/¼¤"9AJ#ã/Æ&F@
-îIÉ5é´Ðu
²³Í²ã!õ}͸W\eÞ˪РIÛ½÷þ@ê¼ASÌ^§ÅS>1J$Û¿2É\-P<z<¨}fhæY:<6Vó"ö;%.·¡A"å¿ q9>Þ¤×/¢¯WJ.ÑQ5HÀ
-Ï\Ð83óÆ>\ÊQ²d¢à-ÞöÅÇzíu:"¹mñM
-0ÉÚÿ%m
-4ÇãHL\WHªÒü³`ÍéÚ·ÀzSæÿqÚ|~:NñÐ$m"ä£=^`Ôaéh_äè«ù-}J¸
-zâÆ|IºÈ}¸O²ÉIÿ×Sì-'p©è=û|!üéÊCª©§uÃÉÈöGr2ûÚ¯/_^òQ\
-©6,"nkwµØÆFBÓ%¨&ä¡Ót[c(WgÖgÆÄdéøåo&ߦløÛBX¬ë @±UÑYE²àØ-4[:}ËA*%°ëþÌÁBÒöî2,!*8®
-~RÅ9QNõHO©¥§¼#asPßÇ_DªÌïï_ô*0Ôíò÷g>ÈÏbéÓÜo:¡ÆìÑû/.
-#:©®L¢äeÒTp{ûrvà&9Ikxã± ,"éAÍB³v+OÊYZtqX·Ê5&M¿][ì!_Ö¶($fM¡u|{ÕtÛë¨û>TÛ.µ)µqQ#ëù Ãw+EáK
-M{&>N²\<lJ@,º&¢¶Ð½U\¨6nWkn3l˶ä|ï¯U¯äê·ù¼ç]ûN0ÑÐGâ[IÐÚÕMÃR6ã%d(Ìn¨½Ä®Ò
ÀS¨à¯B,æÀéά«ÇX¡¤3Ôʪ[J(ÍΩ¯àwVBÈMð ø¨é_ëh72j[K]²mÕ²ú {&©Y¶Xj
-<IÿÄP7RlC\sÿ;¸àfÏjöè@fÙÓ
-hÜ÷ÌÅT
÷öEìÞRmR_åGEØ3eÖÁñ^ Ó+êØfë\Õðy7Ͻ&-RèRPdJ`>ßC¦±Á9¥hUhí
'CP06§ úËcC£¢¶ê¨A>®áyypýNrήpËëĶêßpßÐê]Ó,æ:IzÚÞKý,ñÖs¨×+¾iD·7'´+
-âÃqWBز.r¤}1eGAða¼ E'd²ø^¼ áT{s²½'t2ÚkDR)³_@ÎEW,éoùË^©ÕKô~¨ýÅÙae
l¢¦ü¸aò·J´¢-^ûø%äâ³\XÅ×3϶\Þ2?¹ ([»*wVÇÖÆ@g(¡ÊÒUÓ.ÂmâPÁ8²ÉMòÑÿå;e´äCF:¸ãaJúòNü¼b¸Ýðd²ù`ÛåÚ"Ò6=êÆ'¯Ð¸ásÅÚ¶J=ºk§Û0åõS+.úYb¯·|}m\®&bìCi}ÖRâã)[Û
-Óýìõýil2±ö®v*È~bÖiÓ^\°,\,ÃTïNFsy¤Ñn|ødcã´ÛxL#¢]/ñ Ä{¯9SðN¤L%F6&dÑñ÷£°Àlä6Ë>¹ã*N!Íe%ñýñDcÃ,Ç¿º§XÆ
ØÖbtfr[°¤IÃ0a0÷÷Kw/õ,׫êËÁ¢½»}Ú§£«¤hú9°àPÃr
îïwZn0>i_"®@lV¾=4fP8
aIÍa;
-¥ÿ&®p"£1X)æ5ª
çSCÇ ØÄñéíÉõº+X£¬s%ÿñWضØ;_¯¯CWÏ[]1Z?ÎY×Øÿ
-z ÖfCHǨ½ç:1>
-BÓ«£k÷ÆMxÚ³ÔfwÞå¯ÄæNE0¼ëÚÔ®ê%çåûNR¡®É:)*x4á}é`
-¡ÖüæÛøù)ðù4¨"ãy%®ÆÌCòlmý!ê×{=/¡ÈÏ7I@ö ê|èDxþÈ9bLþvüG(óD;dþY.®zMÙqegÑvºÆ®{8éø`f²``Æé<®I鱧ó=þ*¯k§^òo(Îm!¨9X?ÍõÌ3`ÒØLåûºF7|%¦"LÛ¯HyCpQ~9mÛÓ[QáÅJ7§[¹Þ¨`~ì$mõ e¤æÎÁQ¬ÝÎmÓ&Vnü^;£
-k,òí-Ò0
-«ÄýbÔ1§R}>ô,1ŵØòõ2~Àæ½D^öd¼
Óí!جnsMèɳõuÂkfVÛ8/³GÃgÓÕ«ËpbHcý°y9Äln=ûQW(/ç's&_½X5."|CÝBNV§ ä^ÝÓ¿_T-¼&La×R¦D?
-ùÿ[\>C¬aq)esðÝ~íGî®ønU[HªlÞ 4º3ÿ/GÜE:Jmh¦Ã^.Ò£gp}îé-øLõ|qlMâ
-
-À¾q·ËðAâ9ëOæ$¿jpïÀûòØý:®QôØGÎTöùÜÏ^Ñþ_®"£åwV,å3
-³¬
-Éì/ÃRÃD×1x$ïP¨3OæMUhG¼8¾%§V9d§Ô,ÑJIÚ#ì
-FÄ[xã²4ºÃ7î©4ó F¦*¸0ª?lñoíÐ æ¤Ð(s'iVßkz¥Å*ãkµu$öØàÄbÓß½DåÓ6³QÂh[¬ eêÒ®«×ñýSãìJ+¿
Yæ0 ¢ÞöFÞìM]>ª¨<Õ= hù³üÞF¼¿Ùê¡«Y~FïUeQ÷>Ò2ËÝ.v0lÉpìïj{dr½ä©
`p¹Ru).$kÃØeÏ¢IUîÎ6o47l7:jL=0.,Ô]ß.¶ð¬"¤B[|wÛ60
kähnÇÏb&£v!T÷àyTueÆÎS_0ûÖG¶ E®µIÂãACc²9`r%
-C÷FÞ'}3$6~q®øØÃÅø^ñgSsø8ÑifõÌCí3:Ç0 ìû4õ
-]û¯ýeü{q@ߢG°¿X§íËZðnàͼ·Ä§#È×úÒð´#D£ì8¢þÛe.ZOÈxç¤ØÒ·,Læ"QÝÓ »¯õÓÃRD×e`§è3s÷e¥
¥>ÈKxêËf
-Kí`ÎzÏÚJ¯0+ÎÜ÷¬MÊ=xÕªÑ_«Ê^_IP¢7E
-ð°Á
uWíÃþè%±r^â·Ùæ X$¡ûswá£è) ÅóRßû@#ó'K¢°l?þ¬ºpc¯´.¡¼ê÷o@ÓHð+9ôä³ÙB7$?ß}\ö.Û5:7ïÏÊÁãF~âWb¤ç}ì1¦Âõ}w3*ªQ`tê¾'¹ymXeæ\GÉQÚÔ+d¡ø»ÂÇ^ÛQ?¢wbº¢wÞ¯|QËf xæÈÏã²nªih¤Ãî%¥Ó;ÇôvïX]eO×òÓ#ühâÉ$ ? T9¦±rBÝåáwYÁj¢¡Ë«;¼[[ëRùVòQ¨¾w{Áå»z½AVId·«sc±<É!ŵ§ºcÔ
-#Å1èmnÂh[¿¥)6PKVùyQ
- ©{GÞcïìéµFÕªÉ>°°Z¤¬#Ì3QQÃìÂ]û£Ôá
-3Ætüy°ãµ/|PÞÒ}+uÙDÐí°9åpjò¾öÏ5|º¦¸Ú®¤íªb¢¼EE³ÜгÞÕà¯.^@÷pÏ
-R6èþâ@\{µrcú¸lª±Øܲ_ØLvÑÒe3÷¯ß´H$x/÷e© ²uI
ÑIø»YcNúÜ«¾{0ÎOrôûì&»ÑÉ%ñF
-7G¸
-e/G%¶ãx&8vò|ÃÅάâÂvMª¡á>MÏ}Á·±yÆë©
-ã9§Z9#"®`âÇjÀw&F¨»v¸Ã3¶Í2'GLf=EpxA^c=íÔ©y#µFÏ`OãdÔDP®¤ÈJ{YrHâuëÙìd¡Ø>¤°¯,j¡*2F¹µên?ú|ÔJÜd·¾%½KÎõMô?#üLò©YFé²µ8yÿõ±óâãÌá]×Ó°Ät_×M÷ë¡s=-"2£d®±
-ÍPΨ¿4Ñ$û[CÖsE0z GõyÅZZÔ¨OMEùÿázyßë§F6
-oÂà(ÝÙ¤øyú
-RÜNMg(MÐööQì_ݵ¯³<ä Þöç:½AïÆ)U±ß<º¹cÔ»i¯N
{ªj}¤Ì+[=CBïÅtçó.ÖܵI§~dS^òP+Âú0,¦±# P¶%'çlÜìì´§¼ßÇÙ¼³è¬î±ÎòÝÀÞJj¤ ÏY+¿÷LÎ^t¬2ÙbeÐù
-|ã&ð©X±K³×8X%Vp§òÇD^äòÛ \a¶iÄÓ§°¼ÒJ)p/¢²ñýrT.ãJ9UÄytÃó¥RjìÑ %N[{¶7cÂæÝÁ°Ôæ\·ýUç~Ñqt2EA¥8lh&=3H(wIÔÊ{ñÐB"dQU÷i)þ¥~GᲬò9qyókxú©p.[äéTØashFNð«lV%ÏÒxÕ3¦Å³.\ò²<kRî°äPÔ
-toÕ ÅûHÍ93¦þ"¦÷ d 53É1
-¤Ü,¿Î±Û©~îfF-I¿¾p^¦@Ü x§É~#ö®Ý
-ÙðÉECDYU_â¥M\TùóZ
-}cRk'.ïáê;æð¾$ìÙ5ÛtÂéNYÔ}Tç.EöþõÐÐ'ZÇAĽ¾Pý9 $ªÒ <½iWìeK§ë²RØ«&®åÞd wÍòwíÜDåêÛÚU.üí=5æOÔÊBFb at YùùMÇþÎñ¤¨9{¾¾q:ûø"qW}p%
-ÞýοÇ9ÀµyÁÅËÃ÷ÛZ5[Û¥Ý`ävÄ»òkmp°Iþ2äà2GÚC9¯yw8cãÀÆ2yÅ3V*[âaD^üY¾÷NQçð¯rý~£ØÜ*öö¬ê
-'kÙÄøÖóÃ
-Õ
-¯ðFB~ ]ÖòR
-oµy/îZ@ÑáLé:mé;DJÊã][ô¨6³
-ìì
-¦*Qët+ptqH{3ó<£
-uÈÑ%wYt
-A°g:\
-ÒÞh'VL¢Ð>t¡<8#[#AïÙÇdÉÌ/dM3ÃORÈúÍ9å £ï"û.»À*bæ*Å£o¨Ùª½¥lÒ¼J]Ý&,.±¬K»]ÁEs.m¨Pñû HÔºÙ?{~sÌ3Í<étAW#Z=¡µ#/
¡':Z{ÆíõW>~æiqÅ8ùÖÙÏ°Ú?{(
-p+ôÙqãwV[ÕáÂáëG¬Ø#ÊÈ$¬¹
-ióUEE,¢ÄJÿm½y
ÖNó`Èð ú(ï ÷K¨u»º#ÔËrÇ*dÖ¶½ííÛ øа¬ðɦ'i½+bu=ÌÊIpOø[OèÜÜÄç%}j;<ãàâFkdFÁÞ
.kÐ3è´rçt´¸sò¡´¼´Æ´9½ÒÎuçküÅÕ.Há-
-êß±^0N½Ä@[¨º
'¦¢¯'±Â"tiÇ!ÆÑ(ùÈx
-£ÈgU1®ªtÖ5_:÷ê,Îìqÿv)¢/'FuÔû$âå(®¬k
-_zt²dv>²7²s{~b²ýr"Ílªn¾6R
-άC
-Tª±Ã&hU/1Ù±åÖ«¢_¶ Ë 479Ø8§è¯xîê5:°/N·R
-¡þ
+[Ò^¬99¢¦j1ôì?îKÀE ªE4pãE¤Í£lÈ2y?,ðh
-ÇuË_Z¥ßÑõFÓ¼sÖoU¥§ú´#Nø0¦úA;Ù£-ÖÅe»
-nYt&å|«Þ³`òó5â«W8pyFaIÅj¢¤£Tzbã
--Nÿ®ØBó*,úÞÎþdi Vim>øÓLëÕëVati¼5ã±~×OE7ænïÞ]èØ@o4×
-õÃ$ÞµeFW¸åYû)Ç$}tnÙ-èlØ<þ_q%®Íü+ aI?R( ±U=z×,6ß
+pW<çÔd÷Ñ !
-~AÂ]¬úO J³.ÁѪsÑwõq²üçIìL'9ä#)øxÎ[×þùX,ãÙ£äÕߤÖme(Òð*-<ÞÙø´ÎÀÞíRbËê(fY,°Ce:å5hÐÿÄ'×Ör\{æ`¡«Ë¹e÷k
ã>çÿo
-Bæ¶JI®Ec°³óµú¤þÉ>±½aÅ&G\2Ö7l¼D\<\GáÆõ²Hr¨ÀîåÉ}wîNd0öiwÙ±ôÒë®b9&êöw¸ßßB"LË«ê<Ùútà ücôL$÷dG¢3²HcRµ@[½ng[Úþr7í´µ-åJkpÄ
-÷
-¶è¤Äj{ Uj±sÄ-Ó·LÇ'B#RòµTbÌTPÿÊ«xQ¤8¯ÝÏ-Â| YLzÕ[íÜÂ9HSÉ*²±.PÙ,ÿZÑ¡Ò´gc>XÃ@\§(é}½^ʼF%e!MÚ?ÄT¾
ÝGIöØ;ìc[aùÈ9ôÔõ~9#k¤&COýu`&Øta
-¼Eûì<Óü|³Iú;À«7ͽSk¦@aÊ^"ûí9©¼Q¹&0 Û¿
Å-±u)
-zàKDºz"R=ØY9JwòÃ{IMÅ&ËÒ¼ºáÃbmPåëIü
'¦ØååÍøZ,»Ìõ
-özFÐujL V¥0ÒqôìLÝyÆÏÓâÉqôMãΫë´ØÊj¹ñ-ïA¯§ý"ÈùS}à0ÑÆ
-æ6Íb\¤L,YëÞíýuåòZ/ʵkvY¨ZãÈß°üýÁ=õ§¼in~Y[¨/.:%ÃMÙ1ñ±Oõw.úf@/ï'l£ùïü¶I¸±±Ñmýmõpváê®Ñ(GpÝn¡Dî¦sóêèx²*çqH¯LË0e4k«_àõ"p.¨f=æL-Ú7,8z5U}ΰðqÃ4\¡5ºü×)£¸³<ð«Ð9~5wïvßj ÆeB].iH=Z½ª×ýW(¢Ã§®0É
-]/éífLù/t?e ½ªáÊSà(õÝ2ü9UU¨
`L^Ϋ[n"£SÓ²ìc6n!ѯÿÐï
-V7 Lnî.þHæêomï=uiJy[½T~'Ø
-ß©
-Ëá
Ä
Ú|³EùîµämƸYd%ßO,¦öC'vU?¡>²$«Ä|·« ~Wº4¢jÇ:w hR-¾ð+GßÙb2ûG¿<8zèrÿ%1yyåhÛC`à sÑ
-¤J|ÒÚÿâÑíØ
-^AxѪRP
5(_=UÍs%*÷0}ïzM-.Mú G_¢°ìêtҳܷG廣c9¼á©í.b$}¥]¸À÷^SDnÚ²F¯/è4Ê#ÑxÜÑ[Ñn(,<UgòÒdâ¯|$Ó(r/Èåøó¬Gàú%ÀÖÂ*ÛøÆå]ì¶ïOqûEÁÍHìÆÿâJ=¿E]H:DÄ¿üDýI¦oiÕOÄ?£k&tå¢9+1²Q¡Òu8
-³â4FÒ¤H¨²?ÂÁFóð'Q°Út¿1³Ðüì &ü:¯È²ÐüÓ§"ØÚ"êÊ{¿(íØ»ù:rþ'~¬ÐLU½¨{§%=£ÂIùá#¿
@ ¨ón(9XµWì;ÁLîÞ4qmÕºÄ]~kRÏ@@sëNFºÆ¬ÕÍÇ¿4O¨·M@*<6C®ÃKð
ûõf4!,u?9fòfJ¬ÉTl><ÈÐZqÅU¥kc¸Äà4>¦¢l« á£úLµ
-úèõ÷MãÉ3©Åâ4±C²JF ÂÍ<\¡=íà8c]|1©ÄPXã´ó<¥ñqü
-HÅãúQiïÒ2ÉUÞ)¹#ºÅç?á%6þO0Üw£G
ÎÔàsZ
-Cjiê|ÇÓ:I-»Ô{à«ÇUæôdâ8b$ÚÒêtw *
ÉãS§ù`=5¨|åë½ý.h´ìµ$Ò·°iÔ}¿¢½ç`t·Ti~æ+Ò"úÁSÝj\¼ýL3;PÜuÆøÅSÌýðØ%Û_zíõ
=?ÌÙ*kj¤»'$ª Z(>¥÷8ÈØýêd±}$Iõó_(ùç@rZ:aÓ bðñâVú;Ó_C¼.¡òk³¨WÒ'õ$4Û±ÞBË=VÝÐ0¼Ç@üGµû$i¤úTM*lC¿[XØ´ÃIa Ôí¿¢W?®¾¾µË¤¶»h7Û.)ѽ߫wU]ïà¶ReEv8
-Á'Á¢ò'O¥/&P\¬Pq·¹òÇÑ$Æçq,bäR´®û/
êÙZÙ´>̽î%ÐÃGà;$ }O-#gå*Ý.ãµ&C Þ>b<±ö±^§lmºKLËþfGõ÷X¨;èæ³í>ÏÑ×´-6ÓÁþfmü¼Qù¬áÈ
-|ø
-;ªY¤h´n*bè¨Ë)öÔZ¥¨spN¶¬`` g^§ÏP?¦-9J&µåtÜ ã£ÝPû`mq)
N_è]©¹é]¤¶.ت¦yrôÚì{åqÀ4ñ¤WõL%½(MHsúªlë@2&YìQ'ã©;blp±j4òηºãº\?ï©2_ªÏøûÆò¯Çôÿðç?Ý<ó6ä¹Ó ,`ÊéñÍ\ÒÃÉÝ´ú룪(í¤îZ¯¸\¶K3GY ?ËïWÿ,S[9w-¤ÛÕA+ÐƯlµõ-PVlú@Ûý!éGXd«n£útÑ&cæÞ Ìbu]ÿcBsjs°Yi¸ íø?8îGÌѾæº_
ôgÉ ½Æú¬ùk
-=è7×µ*!o´ÐDéeð&íT@çZá¸Du"
XJu?²¢Àl¥O ùÈ.Ã
-£g̵XNﴥ͸`0Ðǯª**âùù|½Ë?@ït¹-\\ëïžðc/År
-æeÆK<ï³Y^öÆn·#¤J®kÂÔN;¦H/®r¶m/T'|'f8!
-'%]íËUÌÒOÊò|8¦H#A;Þ(Í3KiüTõê#Q
-ø©L
ÃFC7ÛÈË}E£Ý] ^~®
-(ÉÜÕº¨ßX{ x§S¡#6ÞáÞ^Ë^¦ô÷Ê«U¥¶gDwH7xdQKéÎ&od_Ã03ÜDåú@õi¼+DØUÈé8q²ÃﯵgÚ¹SÚÇÜV5fºõ0»5hÓ='´¾yt±¾zÿ³PêêÄVä»vg®$ÔÆYw.¿¼±ÖbXLñkÏÅM3YGjç3Ã=Ûöe§dásà²äuõË>tÜiXzÃÀcÐwßez`ÜO5pü¸ã¡óÙ:¢·ã´¥áå°Ù¹6MzÅ0
-ÝÅ';/(«ö4cÒ_bßÀÞ8?»,ßã6ëºvú7l¼W<<µ²bj=×Md$_ÐÒ5ñ-W
-ö^¨æÓ_E>±ºq,G4°'^=fXVRnpùfýuîn©ÓõvZ£t êP+oPRËÜj|$mGÓ{B=ñêiÀ`ýþ©¿z.Ó¡ß,+z=F»#ÞÚ7U3Ì,ÙJëh,-DcÝþ
ñ}O1úf«¤Ò Që}D at xëíDÒ°C¡.¶jÂæg
-(Zw@©næ:açä¥ó`.XoµpQþ`úТñ#òðÁ±uëwb¹ô^$3ÁA&u®niç®7aOoGÇiîm ¶É°ÐbQúO9Ç:À¬û^éê¸:÷
-§'.ÍìWNæsÝ¥X»éÅÃFO¼xÖ5ÌëgQH
-Æ{ Q¤ ¸
- U§(E_ñï&jh«ZÇ£ùü«/ßBá¼ÂN@õ~úÍ8Í(tÝòÚHÙ,¿¶Þýâ~JsëðÍ|QsµØ]uÇÖ²ÿOEY@Øé&qΨ¢A,õ<hE.4gÁ¼_áÉð[·²<%½{]YLzrXü2öôêʶNI^Ó¤`m²x¹
-
-(0F:[ò\hñyË:mó¬: Ú#W©9ÒD%ô
-Ó5ʳ#u´¦Uɵ¶½ç®Ó=u¿ù ?÷âÑÄÅXéS<a«ÅVÁkw]Â:µñ/ôpÃ:ÒÃÚ@SV5ÛïéÍÖ¨O[òuÿ©WÛ
-
-t¦D!Êö/ªõªH`5«ÚObL$7²e¨î*x60ê
-Ëþ²þ ¼å{³lÖ§e<GT|o!¿«W¯
-
q.ö,¾ñ%ÿ6ë1#@¹ü_Û´ùQì0ÊÇáAe}yY£ók÷]¨Þ¡Qö3<b?ým$@J;N³ì¿UúçÖð785_fÖDø]pzu·õË«ñeM©Ar<ZU=4ûAüíH¿bBN¯Thü6£~¥\.Jjo¤/0©ÕÍVö]÷¦#ËTîT`Ï8øû46¢íÞA(ÓSôÉ{?ٵٺ[-ÐqJqá¤ÇÆìËf`£ú"¹y¼(dÁÞö'ר¹cLV¹ø¼4²qq®6KP¢üÁHÄKZ¹º¾Ã+üM#CÕ®]A½Ñ0Q</à!Ñû_q\Hp5®<vHuöÜîp%SözF6íû.Úx¿®Afz!òôj.t:kª^ÿýH¹OjÒjâÍ3«\+©2,¢ÐÇÅ{ÑÚD4Ü
->Cñ½La¬jùþak´)iµ»@¯MeMkïoy%üQc7üëN!®Ê£"{Jè
:ãþïZ<d4Þ¥Ð]±Å}^Ô¶×Ùõ6·¨sT"ÎóÚíw,kÄfU0@`%Ç/ïR÷Xy°À
·oñÎýÀÚèÏÝXkçkæAàpáx2w¼¼°=Be¢,×¾>1T0W×°æGÄ_ª¦4!Ù 8uH¬ÿcÔ5w[>*y3Íu'¶Ý ÝÊæOÆéußèऱ½ú·êUz]C£ÈÇG[ò3Öa£v°¡ÓÍ°4GÁöÎGlÊXáÉ¢EB2å\°
=|úÁúÒa´
-¯«Z
-íBG3uQ²3¸FÉm0£·$n¡j6F¾8i]i¹Aú?Dv´Îßùg.)¯¹ûÈFdüº{³ :å
-êEÙäËȬ¼u
-ØÌ@sþÎ×ö¿£:9(¥åâÖeSë¢ÜuP}&«uìgǯ¦?È£í¤ôÅE£íwëéGÇ2Fï2ÎB»¯Ìf¶°>gH½¦zÚÖhô¤béÈäTªeF®Õ ¿--cåÄ%Ûç\\!ô"©§YXÊ bÎÓ<à®aÝZF8XÔVPg¦BñÈ0{ÊKÐÒ}F_}÷u6éÞʲ/y_â{@:
-gÙuÄýÃ;}¡U}½d2Þ~»VbngwÍpì¨wà|3y´¢MyÐ]ÛÒÊxxúIVã<Bóî©rÌUóoÕÄ°wÔx4RÙi¾ëå
-a¸FÛ;¬ÓäeжLuý[kM:±ÈÉáóAÃàF¥ðà϶Bõzêá©hÃãÅèƺð
-5Ä
-!ÈÂ&{O|ÈÏ$wNÊ°È«¶½"$Óh!$Üðídà¸mTú/¢6ÿʯ¿[i·%¡G"ùÒB9Wb+=¾%æXÏ¢ÂØV5xè[ïy²ÀS¼6`aï£R&¨oà« v묳QÜH:ÞèEÒ·í¯º¤èw¬vÀ)ßRâ#µÍO´®KëÞÙú_=¹VFÝNóYKÖm>±¸4ÈG/\¢ÙP¥EHÌDKZ)d¹YyÛè.a^ñöplÊä1æ®YIÙÊ8üó÷\?Úì[?]ȶ6ixi÷A[m*¿!õj¹3¥
-çB@Ý>$âÙ×nt¯4LòJ!×5Äáøv
-Bê<ºOr@Ò ¬Mf¹Ý'gT÷óß·^û·g²yHÞ;q×ÃMYÀúST^Ï6Ä-)x8ÛSÝ|L¼½ÕñXà>ÔÃM+¼ÝæÏ2^\ È^Søì,´h|vgÝ»[Q¾øFò1¹¥Íd Èõ
- R°À5ºÑÙFØådPMAw; (m ³®bÍθPAõÞc¸ÒDA6û¯ÙTܾSIå7øÄ*'cÐÉ&@åúëIb¾]ÒÇ[ÛZõè"õm´PGSIîEÈèÁ¿ëk\ȹCt¾'ç;òÔÕ õ%ª'¦±òRwÿ'R5eï@î¥yÎí¶[ÿ~I¯©½ÔzÏwe]Øjõ^Îqz»%]ùDCQ$ÿ 4ýZ}lRçÊPýÊ!Ô±¤l×½ÔméÐ#PÆAQ+§ÉPåM+ÇNS¡½ý$t4+påäÈÞ]ù4ߺ:ÐsB!»èݦJO{±-nÁRÆhØáú%&·½â®è»Ý«
3Nì#o\ÿ,ó·"ö±sj!ÿZ58~2Ï${H=ÍÏß´áº.K*a3,
-ìÿï93
-Ê6éÇõæ«Û&ûuü wº¨:ð¶á³
-õ±d¤Áá"8ß*ºáän±¥®÷ÝDÔ4YÅó¤oCaNºò½×6þ¾A»©&Ìr?Ê\~ÊËg®¤z,P±,ÑKo¯t£(Óîñ¹¸?<ÖNqI/Æòzºó<¶ f׬:ËBr|l4ã¿w¤ìôýÇîEºîr¹U©þr¤éðæ=j#nwX
%*$ú³I©
gJTù`#Âø9ÅiÉÑd`§¡ßßÀS¨5&pK2´ß꣺µÉVCÂU°1¯íËzÅ¡
-Áù+¥SbBª_b>òÎ$N?0,n¾
-ÁÕÊ:åkOï<Tg\är]£³× 4ï1ÇêË©XÁì.ÍL*æ
nz÷ý{:
-ƳOÚªÁSvÚÄô*\ÛãÜx¥1aË{Í´Q!¨
-hÉ3y|e~Õ¦_ xÂ_º-µ¯Ð¿îèl5·-
-ûDRÔiÀ¸j6ôf>%DóeMÅÀ|NâþeI÷ó
(HÉ)Ø7bê"mô£ßËñªÕjR¥ßkÄÏ4c |Ç[cÍN·äXAz°§ã[D¡CÛÎ
-æóÞÆÉÞWÊ2[¨Xúhl<ÿÑ.&]è줤
-Ìtõ¢EjýÉ!7!y¦Y<÷0ùÚo·Áª¸ ô~£ûèB5è&·QýmïyÉ}Z}OÍ`
¦vøné^ºÛ óǯô©$¥7<0µæYèðý×àtÂQ"ûõÿGJÙÉ
ÕÝüåX}b iFHnÖjÑ
-;µÈªó3;ë
»Æq?!¶
-OÛ7=Ù|+æÓ:?ìÄôeõíÓ¼ÃçîRì·é×îSâ¬k¸:w!}'¯
-¶tèRz2îðÊ»)¯Éß:Ä;ñy`ÿ¹F¿
-Æ)áEn[aÀy+²®{zÑÏ'?aøõáÆ(ïx,åõ\Oh0$ØÚ $íc0ÍÅO°j]¦.ã¦?
-÷¼ÁÆ¿ç=cwx
-zä)0DÒñv,ö¼¯³ÊHN/Wɪy8¿j 54^¥pÁ>¥Ïcÿ)ðð"CÐo8
·ñsf<wgÝòPí!MÃìú¶Ã¿§Ìª~ÈXTY_Û°ÿpéå
-A½ÚC"B5×ì0I'Ç-04&Aó°YRÖ8ëµïáé,ä-{þ `ýb2×Úo~×Y©\1÷ Á½cÁCfÍ¿<ðÚj«ÚÓ¨oãm"÷|QQû©iå3>úò²å¶"]¬èxãn× ûÅj}ÀA<fé.~tG2ãü*ØmDþk¡[Ô Oû°µùËÖ)ªýQF%é?y¢9õñÓÈ
-®çÊDmüüÏ÷ºöëHÑ©Bð½ïó°ñ¤ac E׫iºvõ7Õ¡ª~ïÏ_eY]qPó¹ç·¸
-v½ñ
-F¸Ù·å½ø²|*ªøÇ&Y[¨TY·2fõò¸2¡CVVvj· ]ΨñèÔß<8mîãPd=2ÿÞú¦.1[GS±y5X
-%û¡
-íÞÎU;Ò y«n0¹[ÇÞ)ài}zßÕ{»{VegI±røio%"<O³5zSö&
±WøiÙCºnnoÇNÍúL ¦ùç_ïÞï¬xsaÊ>0MetÓý+
-oKëÍ®\»zúÓh]2%#¸ûºï"Þ`ÝÓ\Á|*(«Àg[\ìc#'¦ò´l0£®j¢3°E¡Cöä+âݶðÛ&^~ip©,Vë4¨µQÃÈ&¹=è&[YÙyé[]]Ra}BLC«(áÎÍ\''8üèk ~¶?&·¤¤Hgx¶7=®AäöDï<^Z5ÕC©v82QGl%ìKoçSY<Öb¼¢hK¯eÀÔpç´ïÁ£S*t³ ýíQ1Ïj7óDÌð*?V/3Ö®Ëð2SNC@,Ò:S'y¥&ìÓÀ-Î7<Û&ê=Ûvô
Çñ4
-Ó})É/µÂnH-"¥eÛºHl*õZû梹±§³®Üa¾zŨ-TùD#,ͪÒø¯ut[x|®©Î©qN>ÃIqv@ÂX±
-X4&V .^¯çlâø,giºG¹Bø0Â^ѬæéêĺÈF£7êSà#0ïw¢i¤éEyc\^_Åt§ªå-Sï²á÷²S?'õï1~t+A}çcÂþñîL*ÓK?M¦$P
-f®hVu(bôU)]Â=qLêíªR£uÊ6ò'îàf¯5RC=cm CXé9æp{ÅŶ¥83©Âñc1Vá,6εOR÷,3<nS+¹'ßCV
om!uâ0¯ÃØH[k$¸ZN8Ï]¹¨°%»´1òwËòó"_ß¹\EQO`P(÷1^tét³Ëóø¨RYçì,¹ÍeW>þ:R{4ãÁe "ò©çäZb`ãKãÿpIëòÐ÷û¬Ú|Ó r¥YAúR õ÷ðÂý°ô¢ÈYèTmÂò¬^G:¯ÔÙð!Ó6ÃV3|<\:^).<uÅÎ?ü1+ýXüÕ=yþ5S+"U°_§Kº0©©?:ª½(º{>~ÙþÛdt=~zü =ÙíÂøÚs%ÿRþyXuwÓj îi¶ÌE*ÿ<Èâÿl½ö==g
-,¬Ý .¦´(³j´v§rÞè3¼Z ÄÐ ¸ï_±ÜéÖç¸ÔR8uWµ ºßqzÓÒ²aw»øtmÈðïÇW+xw~vçB¶}hqÚý&R˵®!¼ÁȤÎH+ªÙ{M@͹~G(ä^¨`|ú ùø×8Uãú ö CØÝqá )
-x±ãÛW
-&1÷['hó
-êØÃV¨ÈÚÒõbÁ%h7#"4~Ľ@Zÿã:¦ä.¦£aÿ´ÑËb¹®Äy¢5ÀdòàÎ À@¿#÷J%X÷÷?>Èv,*Éò¾]c>IæÑ
-pÛ¾¯<ÊkÁºîپе.·bXR(ºYòÎ'¿
-ÜUgº8oëôæ¸î{èq$dÎtX;G,ï£cp¨¼ïó̵? ÂîØðÄÚKKÿ»·G+
-h~Láª^yªyêÂÅW(?ïý¡ÄM"Íè
-|c¤T-5ÀÒOWÒÈUìP[ å°Iòpû±/ÐFUsñ=÷Åï²
CøYäÆâL`Ç]À(·ß¾PìSëÞ!àcöa"çÍ«Â1<©ß.û%¬º§d<ïx¶7áÍ°Ð?_Áý°"müþ¼w¤¡¼¦w8\4 Ñ]ãL4ÜqÔ2i é»\ÂógßSg¥C´v¾RÛþnªþ²*8«ð
-oA®pÛjgÁjÃHÅÁçÊ,ùàëä²
rôo1¿%djüxFì dáâõ(
-WÈ]át^=±ame¹£|õÝ´¯C±<¶s$é½ÿ$Ô@"Y7ÿPp5Öк^ »CÎÙú«7XýÓQg·?£«KÁn=¢ÿå×ã bÓ¥åõ¡EÝ(FnüÌi©üAPæ$Q`Ø0Ln®öz¾Lí¦±í¸CÒxRÊe©ád°&ë~
Cç@ fPò3øÂrRãxõ,k\Çtû*Z b)Ø1ÿ²Ìà<ßló]wÃ.Åï>IFH¿]98|âoôÊKâz=ÕI¸jHÚ â;º7
-*ä
-Ò%EcÁ-Õø>
-PÑÇ;òÇ
¨o=°N
øÛôØ#îÍ#àÊJgmýiÛYefdQN/Ú.GªÜ³-Tµi£&YôñCj²ÿ§Eë
o¨ÿozÓè"á5]Ì«zñjÌóæÁáÇÜ#§>c¾ºßP
- {£Éô:£ n¼JPy<ÄC)Zoò
àCì9Æ.(%1~´ZP¼©65O(Ù¶ ôXÁ'ªÅk¾¾Sì×þ÷ð;eà_µv·ÁÙõíç`»ê!
-õIÑëËî`éU^Ð7GÛyÆ{.Î)3Bouî
-«Âá/Ã2*HáÜX"ÐÂô¿Ø%ÖmQ#±R¼n§ñÀPÖeeò~8Þö)ÜæÞT:dº^بxs[p~E¯²Á¶êÑï:;&?K¼¡s°CñhÀ½6øIö-8ÅàÓüÂ
-=òc}£%;ç?îãè!veÔ%kû{<(O$3% ¹iâJ§?,i75³?{/~æ&üÁ³?&¦9é²
-O½«Êç\S»í¿nÁÐ8g}sÛ®-¨¦Jÿ~b/ N
-ôi·cÊÀO5º±ä>BÃ\C
²ìÐãæ){$ôàÔOªÜÆ8×èåäx üÆ;ÜÈG¥¯7å ,ö̾rs =ü _JÂ|.ÅÇ
-Ô&Õ
-´ÆÏð¿{ LâÅm#ù/ZiRµÎTÄí¶«
-®@$°òïó±cʦüSNiMëhÅ
->ÝÎI}[ô_0LVLeLÿ>¯N\4.µiÁözTÔ%l[²ómÕؼgÝﯹÀ"V+Èe6«T
-p"9Ucl
-ø[Øï=ù_½¨þ
vÿôtѬ|j¡/.¡yÀ,¤f´óñ.ÛFõálîì¯×EáÌÂÕàYél]__f¦Kóh a§¸óenÝ6|çhå;Îg¤ª#sù¬ö¬keè09v
-Ëm_ãúº@¤ÛÐ2`Á/
-仵UI 6ïZæ/9³\T¿ØïZÍUÖ}éik
-_û¼Î¼Tx¿é ç,ñÐ%sßàE¿9
-ïcDOÃ×K:+ËhÊ
-ROvl»UÙZ¥[þ+3Ô`{Ôv¤r¿
-ÜÐæ¨Õ` ã
-ÁbÚ'AßVµ»VìæRIÊN¬ÙFCÐj\ËX$!¶l¦©=¡67YxØ«T®èikzáÏÜÄ¿BBsGIÝÈÔÀ:ÍËõäó4_àå*èâ
-߸½SÁÓBÔÄ
-!ì
- ú=ÎU䤢XþDóÇ*²yÅuXß!-XüTBëÑ(Äþ¹$©$ ZÉnPJÇ$h%JNõÏ*ÿßd÷(kºcn«K°è÷gk^Å©]æk½¬h§L¬¾Å¹¤H:FEàò¢Omè÷%HPÁi=»W2;Ó1(ïHBÀð(*JYå}¤&Ëp]§Ää¼÷«¸âq#ÐmÌè Þl¸_ó¤8e©Ã°øðmüøôq%ÌÇÊ{õêHâ<_Xy|iìiÌê¹8Ü»èeï,{ZÁ}Ó}-ëJNÉ´¦ÓÞñä½öé¶ðGçvC}'íGÉv¢)K7f¢A@¦cR?"1ud+4[0¹©ß+«}åçn¸/¿
-cå~`á38{h/'ý4ݵÙÜ¢µÉÔ×òmfQ0ÝÀÖ¿v½60Ñ¢'v_ºå
s;éÕ§
-¬ü°/ǹ>ÛÜ/iº1ÏwüÛ éµÇ)ñç:ïV+R
-2Vòe³ß
-Fw(!üUEn°?2~máOß«¼}öÙÑòÑÐjô*ÕI¨óR|?Û³yÓ9µ¦tC¨F=>PQ:uTU}ÉU9hYÂÖö/_ʵGêÑ@qåy»y£"½Ë÷ÔÓE,T {½øn,/
-:,s¨ãä¦Kÿ=.³¿Î±Ee^ô[(·ü]Àa@½ûD×Í£°B[PÜE?çG^Ê6À¿»³c×¥¯öümUx1@3 &Â-ervå«t?õËoÎ_ô;1ÙU2wéÝqHÒõ 8+
·ÕB÷>Ó
-®ü#{r s
#-]¾ÛúÒq Î~éW0ipÃW|2G3WK¿F«'ͬ^4ZuTlfíËø
-¹qeeú=ôÛ÷nX/Sü´ì
-ïíìag[]?84VѲáÙ{ã½JçÞj Þ+ºëy¾æUWíÕû9ú´;x Þ¹<LÄ7[GÏëÀ={;46pd´íçç3ââQè
-xÍøòAíª4ânÝθl\ÙérÏÒ)§©õÊÓ·¦þº~ÂÇäÏ·Æs+¸Ù§`sjY
-VÉ {ÓT
-3ÛØÉêQÕ±´¿M.¾
-èbÓMÐýÙÐJ#eéçªÒÆQS¯Jczò©pªDC*æ÷¯¸¡
-¢T,"!WãÎäH8Mn
-ãì5Í0b/â[îúçÆ«¹ª~â
-HøWb8ö0X5±ÛÝKl^¢ð26D8Ió*ùÛ)+¯T¼B:|®Í ÞJÌ.´nÿ¼À<¶BW]Bæ9Á<RÐõy<\'«ÌÚ
2Càú®8½
-?xâÉâøÙc±®f¦ÚP©«ÈØéWi¶¶d»U¤¤G.UþÇ~,È=ͤ ¿aaZëz¿Tó86"àa$£>
->¶²ÓܸVO k·Å¹t/³ÕÿåËvÑú¤-Y¯©O²ø`AÜH¬Þ)±Ú¿|p¬5Hè,×8*áL%$$i[òR.¾#Ï:V.ó»`Z³Vó ÷ºÊ:/©%¶l©k}öR{B¹§;(O¥n¡÷MY|à¹DÄÍq¦$
--ì?EÀ'
- 0.lz=f}²[]þLËEwnv"Úøû2zê)WM¤P¤ÍòlνÉmh+â·
-e&|k½ñÓÀºëØ6<fU,iûÒ¬]motÜ{³7nÏÀa¬Ì
-]ù4©°¯ãÚûeIAÀ_®úpÑêh8AÎðº²kª"\
-®êpNîîOI8ôÇp/-áЮ`]/ÿFMî¤ï2¤SU£[£ª¨äXíÏ#µ)c}2@Ñíb)p ú}ÌÜ4CWÄñ*cS¡)³7ËÐêu$»¸æ¤Ë|õShÙNQ,ìZÉ°þ?þûÆlkNQ©yñð7)Êç W$ÏEÎj[º=èqOpÏsu(`³åWU¸×ã%éL6.¬n)0cAå²]ÝÒ¦+ûg[auØ0Â:GÁYm¿Åêü<0SÓqÚì%£÷92î}HÈbÈù¿åAòG+µ7 ®\«àm¥Ô;H7ð¡òáÍÿ¿ÿ3Ûk¸Ùj#FÀð¸½ù#ôuÍIFprÐVûeZª° dú&^ñÍmãð¹87 uÿ°_òH¡·,o48"üãdWÇÑéÏóßW¦?Ã|¤o/[ ßÊP5i?^ªÚz`M 9ÕK¼ZDgðV.pÓBàíH:,¢¿vvX«n>/qY}nqö»
-%Y«cOéØcêóÑ(À¿Ø}è¹FW2µ +Önd4Ù®R¶'dÔ@[W
-Ñ×ÃM5¸ïIb¤vT{O^}Q¿THõ¯ËØ×â&±öü g½Yv@ Þ¾ÕHÊHéhL¶¥¿0`ºþ5RÕFнççp1çvÄÑ[^oü\øæçè_\6b¹µ}D[z
-v¬á[dAÆÜ®¼P]Û¦ÜZÇxZ+ªðïÇüC¶ø ÅúYß2|) JÞTÞ~\Ú:¤ïøJáÏh\ÑÕ· û²9K¾2 ?nâêOÍQDKÿÐõJÖüuX5,ýúÊÇÔæ|á9ÃWZÇã!pæð $ÔÒîÇëMÃHÎ FæGééyÚà9¬îtï5)+Ã
-i]
-×ë~
t,Ù$NL}&ÈçGyZ1¸3W¶8¶µWúù¢@@m' èoÄCq¹Æª¬èÍî"8¯0
-Rq|#Æ8©ü8ø·g-g§Öo]êè÷ê8ò'©«¼A뷤ϣ"¦D^ïvx:rÀSÔnPßÐäLHÞ¯Vô¤dÑ ÆÓ«&ÂÅÖÒß|ÕËCLMÖðøå
-D\ôx«
-+·É6§^ùðÉòè¼âÓµÿÁ«~FÕ{m£jÊOöýy9-³"f=
-7õh¦sB#²¦Ø|Z[¾uî 纵µiüG÷Lê;GÀp:õ>Ð*ÌÚèè`Ç¢ÛH]Oh¢K®||aKPÔåW¯ y0Êsò/ýüU
-öªF¬W4<¼ä|ÕU¦ñfi¶À0åçRD[Ñèö>µýyÒ'éFEöW`(n
-tôÔëöÊ
-³ª¿§óã×÷P®ÎÐT4Ä·Ë«xÂûìhCCø¢ïUaãFxûÉXͧzYP^Ý\ÖdñWú¥r¤ z^êXG?)Y)uKç ì`´wæîÍÂIYwª®´°¾» :ìHoÜwcî-×<+ÔÝ ÊtAJÐÚB²_ØÙ¦:6>Ô_G3åù` VYÚ§uW~AB¡Ó_ì§?gDþ{l'¨|è=ÜÁû¸H
ÕF=p¢©ÿô3l.vùÙ?å¾M·bI$Bä9bÃß*ÀÊJ¥î:úÔŽ´Ï£__HhÍ·G²?Ü~ök¯¯YmM»l`Áõìj£}÷[êiÚngX|?ºçûÿÚ|¦
-6#?£èºN÷/
-+ãîQk|ÌOSB®m¶(´J<»GPWF_Ú'×oÖW.¨"äÞëp*¡£î q,×5y¨xÈ(òºLÉUísH«¦_ÿù$:µ'xeg¹Ü°3s§®¹>'vô
-¢&¥Zvä'þ%1ò8z²ö=ܽ&é¸ÒI××!3SY#ÛÉhhµúh~±`$êm<B8àé:>ܱSyhTå¶[Î8>¶Q\\2gªñ¥èvâî`èä¿ço·¾/oOPu5lDÙ
-DFý±ÿØ(iø5Bf"É©õ5("A¦±ë¡hCWìMFZÜ"9EB<!
¦.)u»üÉÙx9ȯ¦õkG!Äß {Wï/]QßiïYV}v_1ÙZeñvúôE¿U6iFÔw¶£ñDã#rö<&|×JÏ:,â
-îRY
-êå³Xd$'}7ÐHñ¦ö¼WÁ2Ù¬ÍmòÎTQ·¿¢¥Å9¸åâ¼-pË¥t þ$t×DJÞÛûWPi\=j[o¿FÄ UÇîT§
-\¨ÿ#)ËS2>~ۿϺÞW:î¤{7/Zóg¼Ï}«ËLÕð³zYÌ_¶È{ªâXÄ·ö¦¤jYM'á_É&Cm+&}ÝpÓøÎnXGñpÛõEäÆÎÑAô*Ä90 lQYz!¥`âÙ¢ìæ%<SµÂ%D :Ù4ÆP·eQ·IÊò ñP¢#
-ÅiegcBTÑÛcúuÁ¯ÅRåqgüôNìðñ$©Ïã>2ÂkX$@lÐv£®ÎEYâPãØ3 t
-I0ïõ8\ì{1TL1û;ݲS©ÐåÜÜ¿éÕ&Ó\?¿Höï
-ïc_Ø9\¦53â¬T³vúÏ}ÙÙÙ
-&VÛ
-øIë4E;'B:À
-ʼ¾ø¾ÉmâH|E.¬ÖT9÷$=r¾%+ÅÍ¿¿;ÈaØy¶Õé©cÃÿúBÖ \öøªgQýÌßÍñ¡´e»=àcpZeönGBaº«ÑE[V§ V Î}OåQ±¿Q;n¼yarX6r æÖ@Û1G;=Úîæ"
-P/c¢Ú)J^½@X\6%s1¿=$^iýäÐîè!±-<Û_?Öf¬cbù4ØìûÊ-îÉ¿À¯¢HáoÆzüã.ì}÷}H`µÅÀ;èe¡ÏÖ\Kã¦áêýÄÞ;ú.U¸×IƺֺI¼g௲ÓWüq>|ßx»ãΪÞÚܤÏíùXY+:âÅxYôeÁé ¤Ã¥ ~ùìõ@4з|^%ÇnAD¸ÙrýóÔ©½²|ÀaÉðî'ç0
kkmù`8£z
-0¸@F"»?4£Vy?`uÔîº·ß ßæÑë¦54}Á@è7äÆðkò4X"îÜÍËü\®c¶¬jǦºÁÅUíÞ=§-æ
-×ìJôÃÌÂÒÞkø|[gl
-»ä7è´lÖS¢j
-ìÈ2´@ú<°)ÖMó,ÏÕ¿UkÁ¤HÌ.ûeúÕ2IgXi)û¼a¿+`IÐS |çì[^½ù«*«×zÆu&âÿÈãFº*Èõ¿/D9Ì-\ZEßò èè~âtïÎ%Ð<K!Rë÷AÃP·{¨åSø¥FÆ(¼
-Óo|î_ªf
RKó;ÿqf.øÒÃ$JÌûÐWaïs|÷y8H? îPëã¾`§hâemí®ÚAöx"ÚÄ äúBÀ"²sR<PÅ,9òg#¤±£ °]°w%cØ;mD£ýkÒþ
-[,üÙÃó %!Ss:6Áýü¥ÌÐÎAñùÀÞ¬p°wÇ÷Íèyv
ÿ
-ðmÉÚµZºZp{H¤¯Â£ü
-}²5m(VüÌP~5'ÞTE)9X*
-õäÄKVD(3úήwñ
¹wÐ?ÒØÕv{¢jïH»
ï1 vyòÌûwG×]
´
-¨ÓØfWò*¬DeÖ0 QÙôs1jÓÏT,Ýf-»UÛEgF8;BÍc-7Â1ÎA6ÝG\H-Åe"Þ`Þ2®Ït`L÷Øü½¤
-ó+PW®m
§àÒ¹BÍÂ4ÉÚ£KúSMÙPÊaYcòÐ.,VqV£Wr̼Ðc<Ð'x¬Ê·æ\±Ðj_jÄh0ePÈ°çºúFÄs¹¥ÂÝQZâ]X;Ìãv{ ×C
-ÎÁßëôTÑílÞrµµÅ6ö_)ÚÔ,U)cÀ£¨TXi
-gû;\h»¨ü
-ø1´©û(OO¦o%b,jt¥£
-k|²1á\Z¸6X<Úõ7m;|tÇH#üÛíóÇJ N}Ô£cTÇAà§M¥å¤à+êÎZ·V¬y¥pgÃã$[ÖíÝæLYªÇ<ñhûÐPJäþ¡'¾ªÇu¹
-EÝ>¹ðÑQêë*µÅ:[4îRLP;æJ$Ä5àF¶eÖÆ8¾*ýæ6eD°
C¿»rHMI»¤{
-%óÌøK
-ʾÛ/KÎ_þèÖD`le}å
ô5Þ_¿è*}8
GÓ¨ZsôòðÀpÅÑиáþ.¯\/,¡Yÿù[»F³úþ¦ÿ¾p®YZÁyÉ\'úïU¾¿rpx.É@ÅÈ6´Ò%^.iü"$öÚûÌ'Y3kÿCÛäÈ{5;a¦E¦>åiSmKjÜÍ¿9GáÀåüÒÊ\Û-á?o~ïÌöu`-¹¿éÜ+jx¼PÜn ÛÒ~0Ïïó`ª$³#®ÿ ôôÂè@)8½¦dú´Û¿*\D¯Îð!º5JôÛsüe¸÷Á4[üXsüzqà T.ZKcÝAáAg^Aðºêõ^Ê:Z~
-PÃ
-°n3Jrû<ý 2·½.ôïN+{}¤¡]EÆÛ.R*9©®bÿÉÔ/ÖÊW´ë]Þ
-V#læêç§Ðw¹¸CtÙÅË:pBd ìâG9á~ÊÒW×7ÃûKg6
(ý÷]HQð¦
-Jû3ÿ1¨þÙ3ièÝĪáïáqü*¶Àz' ðÀÌ6]ÃÍÓ`Vxºt®×Öÿ|í[ëJ £+qлvÚìò£òÓºtgZ¸ã.ÍÛ?7B. &&Õ~ÆWä°¼Ü(r¬Âm°HÐUnË°àÐSÍïHê]Õ¸¦TÕÈ
-î¢Záýüâ~«N~´%õÂ)ÜÏEöNÒ±w9="ëCÜäN\ÙµÃ/¸i¡'é`6m£äû#e!Ý
-òMûòZÍ¿îZ)¿1{&Ì}uÅ;á ¸ ¡Pj&Æ-ãT\ÕYb"Ó¼¶¹ÞR³8ÈÎÒçµ÷f-²9ãÌtzlàªævÊ=[)~b#U
-dÓûÓ¦4.ÀÎÇ:²D3zËØÓùTï x¸¤i}¾ª¶æ
`àÐ;à|,6`ÊìQBäûÝ+\í¬)¹*
-"¥X¤`G^Ô^ÖîãæUG¦7QèTôH|£4§¦Ù¨!ÔÜê1fÿ@©(»9oúpVMÇtr=} Cä)б@rA_ùAáXH,þáêéÚeíaÕýmðÓK.a¨¦|^täѺ¦ìpKk©Ni¬+úQOç/|åÆ2n^3â?Vï²] #Kp¯\x;+B±Û84íÙÊ&(_Ø/XQ§î¼²é|
-÷)ÖWz*G[Ù¼á
-+P£BohìÆa#_h¹ù}ªn¶ª£RÔ
ô
-cýÐÙ
ë·Sã±Âî ôêÄþûu}`mFH³xskÞä@||+(B@
-ѧk-îJK %¾j³8í·¯ÞÂ%ª^¦M$Ö.IúõÞÔÏò[N`}ýÌVoµ§L$êÚöÊã8Mòn)?¸í/©Ä´·Î{ÄG]+öãYݶ
- Ïئb#U¦©éoɲúuEȶÀËvlWbÉ@E¸ùκ}ëB0ÜÛñ2¶zz¼µ
sFMÜF
-ãÀBÁÅ®'ì̱ªè¨q¥¬Èü·¾èÊ©s8ßë·üýRçÍÓÕ>àW"fܯ<éJïe at rC/g=£ºõ¹?¯_ at +pÅÑ0(ÔmvNB2<y¢\¹·¿?¨ÌçÆÎl§^Tw";\§Ùk«¸t®5T¤áw¨ h©KÃó*÷yà4Ì'
-÷µÿ@<
-I¹'TK£g§øüÌ3{«ÿ/3?»¹[ØUñû@÷åfJÛ
-º×yÿr½¦TWgç²1VjqÃ61×mcñiïùÊlç°/é]âFpÉú(¼¼OØ&O¹#&Q"#{)qÀÃÿvsÖZØrD|ÈW=ìß/ ZXbΨDÔYug»ô¨R9±[a³ÓåµÒ-fG`ï*A2¥¨lè..PñæAÚ\Ä ùGÑë:GVß<á_\Ê9ü¶ZñÅÖÎUÌO$¸°D$\á£a»ºU
-àÌöï-Ü0íØGAË®¦.,HOMZlÆ$1µR,qøPÛÝÅ/»-¡2oj³í+Ò*YµPIÔ~1ì»xÆ®ô³,¤ºîaÏÍ&ñq;ÁuȯC}µ©Ó¦ù1~ªá(b^"V~» a¦hî´<`,{{,î¼öCÀ:^³ÓÓǼ#ê¹þ½Éaö6hu#§ÎæAkIÔïu[{sÖЧÆU/ÀÔ«rBJöëã« ùøKUñWò£Ü§ù&+û7AYàaAÛ¦p®(÷È¥]&«ê%aö
-²MÇ¢CáyíàùP¬æ1¼b±#±2k,U{n/
-ïÊÚó1hXâ:E·¡£þ)Ëè"x6úøϸ²HED{s/ Qpº,Q?Ö:¿Á ðî¡pê¸VÆÉqnÈei \]¹ ù_ñkß±(ßt+^Cr6©b/ø]Ó§ ÁSVßØ¥W=ÄÞU
-5°>àå¹{Ìn=Tò0õþ¾mëT¸©àKwuùoÈDGɾÏBlêICÄɾù+é7~yÆx"ª¿ÏJù7$/vÑ'áöÃ×ù3ÿdö
ZáØ$ì®#dèìkÃ9âÁe® e s'±^÷a+çÛÙyåK2ĸå\7o:÷ïG&m»b
? Eæ¿
Ó*Ш@ÉrBæýev½|OKfko|iÜÒ`HîOm7®IrnuþB
$²¼|
-÷Õp·øèé3*[_jØh¯¦.RÙ.в%8³áÛtP{¶ÌgVKèÐøpÀÚwû%<WpK@ðªaH)4ctfäWÀ{9Õ5¼×h¶¤|ÀÜìCEª(c3hY9ßÿ¦&Öé3á¹þõÿ wD'k·¹¹¿>btLË
-:mgTÆ<FÿQ¦IL@±ÛL^djw³d¢°$Ùm_umý(\Ù·½YÉÅ·cG;2¸µlç'£ªæ
-¹ÌÐâ.ì ù®,DÁcÓÞeé
-°4^ÇÚw¾µ
-Ýߺ8¼l{½I4f;°Ò_)Xæxc"O0,k=ôîäç½YYôåg°¿µ$ â¢T¬·^Þg'<¢×¬ãw8YѶV÷Óï1ëá¥ÙuÔüiøfOÏ!ðöRót]¿GåùÈý`44(GrêZÁû`Z[*߯J³pÀ:)·M³Nã!aâbLÉc¤oNCªt0 \û´ô|E
-#«ÐN¥ðÕ2øk¹½¾ãhÖȹOb²êIO
-m¤ÌÓÉÓl at NëÓrÛ¦ñ6ØÀªÒ 3»;Ï
-¨¦f oßñy¹ £R2JéÙ˺ÁñPߪ'$pn 9N@ä¢ëóí³&þ,(<Fèø}µ"Ò>RPÝÍôºÿ¢Æ¤éoßåzÍðÚ.>_ìnPĦq»7¶(|Iqºüü¬e
-$06çÉG@
6˨ÖQèMy
-ë÷ÛåÜ\¢g~ÂP+"ìHuºp×ÃðÿâùÜ
-þPQÏÛÆ-ý¨'kYûxÚR¾¯×aÃK¬AÃ:c½ñï»XÂù¢þ÷ÐX«ÂØ]_1ÁzN:txT a&¶M}ÿm&A(K3«GÔ¿×ó®ê¥§ßdòÉ-×ò
-ÝZVN[HÞm(<PiqL3PÞÈöÚµ+kü0þâd
-ÂSí<Ôà¨.}mï÷!ÃÆÙ¡\Æ÷
-W¸j>íÌv]|ÒÌI-Ãl²«ZÍÛ^dÑ(#äÊïÿG¸8õ u÷8-íò:¿ZN´f$̨QbLR»\¨ÖÔÞ£¾)c_u2¬=D¯lBW¼Ê8HN¯Þ-¿9*¶SL¡ÇØZöN«$P}6îU^Z<°A
ÒJycØî12äÌú¥j30¨WÔRfS\ ]é³ïg®
-ºÂ1eVÑÎPZ52iº²Qñ¢DØ(Þ=EÍöÁa%2/Nÿ²r¢ jûF|¬
-^ßÍ[Ì+pü×n80³¢Ø¯ñk¾Ùú¿úýÓÿ¦t¢
RnëW;ÚEÌk&iùKÕ¯ÚöuÜàNO^O;ê2êdPöͶ^.é0%<Æqý«tSy)û¬íxîÅð5²®U'ÿÄ7PmA[%ë%uSI$DÝ¡ÈBJ¿^èÚ·!Ö§j¸+êóVAàvÛköC,i]`·).±1tݪJsÆIeã߯àÍçþç³óó8pdÁdÚ"ý½Fæ õÑ:ÞÒPü¸j<6Á&³Õ9SÕÑPÈ
-â§ÛÔ°
-¬÷P²|àðFÒHb¾[ÛI^w_Ôör¦²»
ÿÍD²U@«6.±Læöðr¡õêåÊ)éeNôÍA?â½Ò·AÔ/Ëz¢Q_*ÄÎÞ¬Ó0å?]]3ó%CÄäw¬ÙìüÙ õòÚ-·:èÄ{!vµE]Þý9
-ÝøåF®ø·-
-0=uZdË¡E|^°CLëø2é<Í@¬?|)q§³Jø¤V_ýàÎ* ëÄ®~0àp1
-#Àw|")û¤eZ
-ö`fh"´)¤³·ûÔKÀ!ÖÛpV[¹¼Z¡»^ü~R®?|y,[Çö[Gвò¡ÜåÚ?ì±²X±R RW@ÂöëÊdÎ$0p%zw3صiýÄ[²É¬¾r½°
-øëó±¶×ʹªÔUy®
-ÀÍSiªpûu|B
-°D5;VĨN
-~íÚ=©èÖÙÌNCBǼ'( kÔóÅ
-ÎÎ¥LE
ôÿå7éÐߢlsÛ"¶xÝ·¸PÐ!Áܯ0°2 v;Ð#Þi:(OùÌp
-!TÎê*H´D§U2ùRº¬§Óî1ìü9`ùô}×ðBé} DßÉõý¤ç&Rá3 QF6h¶¥±_=ëøRîiDç4èó!©Iô^ïqæÛîVí»©¥õ{ùT¾| $)ö ÝÔ4%]B ÌÑ8:ØßpK:s²câeÌÒÒ*K%D#
Á«\?{GFØ-û7É:¬y6EJÛ6]ÛUs*ྩnÌùêbé¸a:~ãpg~:ÿóe.G÷í©f¥r¦\g{7
-4±tsËÐÃà3WS
-.y¾!ïr|òÑ@{÷¤%º±8ÚøÚÙ¢ÇÿÒ«x(ßo+;>h.á¸,m£dïCtNv³Ga¸e}Z2³kѹòç3/´²ÔêÔ! ÐzLÈÿp}ÑDÆ]ûÈjYînõ>ÁSÙÈ×ç9ê`vFn|Ó¢æøî¦r$½âtÂAsùedF¾>õSäD«Sa·î¨1RxÓtt8Ñ(ö¶8Ú°éÑíê#n&Ì ÌªÏºe¹B°éÊ^_Áó,>DSHqÜ ±<M9ê¦y«½×X TÖýíu4Ýõ^[ûXdõzn÷Îö®²
-hû©{ì8ÆÎç!(D7iV`iKL
-=öãJyË73²Sô}¦Nü0«Á_Kzø-uÇ1cϵË
ÅkxÛ;BQFÅ:`ý¡yæÞÛÄ^CÕü¸(«wøé{´5ºíÀ÷ÏËê]¸|I%K´[~¿:uç£Ýd$FÁ{A ypw·ÑHêï=F¾;=EÉ?~
-ò½²æ
-ÈJ.ºK´'Bãòj=iv×®!Ï¡¬ -GââP;ÁúN'C¢±>ª|ÁRt6Suò´¹ÿí Æë,=È¥+J¸F%ÉPÞ*Ír'·ÈzÃP'ãë<ü©~`#XH/GpþªÞ¢À%ÑC$ªkÖnª9§ýhs¦º·f,
w,ß=$ZßnF¿=Öéº
-©@êô±î
-qÝ.
-)ÃÚâÂV0NÁwe$ݳcm5÷T¶]·ûÝ°r£:à8tDÊõ,®&£ô'pïl2YÛ-g+ ]HÃ[/3
&`ÔîªR¶8'¦ðçà&¢É8V=gkûc&|÷Ó2ÉJíì?F,ÞÇ6Ó¬µ¯eØKâºô¶!
->È¡èâBü_Ýa73éòVÊýk")£Uÿ³ªøaXL^\ NÌ£Lûèéâ87ÚåËùD¨.7üÑ(slÌûL\éLPµüÐÖ øÓ%ì¾8ûÈ}ÍÅÉöxBØÇüo4þx$zaø8Ã¥1Â|OUD¦XÁ&!ÃzmO,r
-ÛÛêu3Bäÿãj®XY<¸É¼2ua»KízÚËTüÌãX:qúkp/
-Wg§@!P
-Ø÷ÐÑï
-*«#P3âB(å;ëáüv¹1m¡³"o7"§,ÐM]ìþhÊMä# Âë
-ð0Pé|CSVá>T6SXUXñ
-Ô3H¢5-îCWªÔzïéî9ÆèÙºñJ÷Ú)öÂìO$;¨[²,
¤¥d¿è{xU$ÁeÓJ¤P[Ýa U7° n¨éá=Ceb~¢~ûZ
-¨>8!çÁäc·èÿ iÆ=X
-í£fº¶vä¨ü,÷{+ê7úغå~?¬Å#fOÉZÉ£O5ñs¿Mäghû3~bzfø®RÂ( ÔÜÐ$Æͤ Ü=¼O¬ãìÝ>üD¨,£ü»ÃOÒJÅÓÚÅ{éèQÈVùËX_Ú8ñ má(î `Ìä!cn¥_6BÞßâÔؾL&4øÁç&%ºûÈÆ°»¡UPøiä
-ÉÛª°9¤4éB%À?>ýY¨Ä;_,}¹gãÿë8ëåm0ï LÊÈ·1üHT.ÚÂñswqBSÚý
-þ ïÌõ(øCõ_%`Ê&Ù£*dB´Åèl°c9#µûV°öñ¶o1I½8ìß>`u1Ðt²$¨yèmDZÕªKÎ_¥Ø
-ÆÉLgãWÿo>M7µ¾ûöhéÁëåß~FE"y,ÄSçYÃ[µ è®óé¬kÔ©A×gµ}õ·=e¨Îáöü¸ºÙJíéRTÉB®ÇLëܽ}JÖjyr~ÅÝë¶hãî 7÷êcýùþѶ÷³4é$Ú½®§¿T
-®Z¥À<ÒÈ®&h½
-2(¦¾0Pë¡®JDç¬ÜiÊïdÂò5¹#îÞ°;¸Â±$4~pk(íCÖ¬)Xð|^ó6ÓªàʲP»G©
-¾¥?ÿß_u>»ö¼
-iô£Ã(R(%7ƪdA9½¸3÷ÀmÇÏ&&i¹Ü:Æ'»n-ïÛ¦ ÉÒL¸àLº7º1<>UÉâ 8Íî°îsÚQo¬Ôi}õkj×GçB¦0{ìúÍ5¢àñG+neÅë(ðqP&Kò¯&Âò¿ã¯ÿZs3/ÊÀ]
ñðÓzxæ(W¡ñìzkDðæ>¸äèºøeáµø¬
-Ip°ýoñH®dEMh ð>îÑp4Yia
-ÑëÐuB(_[ý¾-Ý>¢tzIÉFÌ\ªBä}ºù÷4ó&7æ¥Ýê9XAÚíÑÂñ"AstÙçØÑüã:5(k³¾3ÉJª§ýnér¦ü àïÖÇÔ¨mû»²ÚÑôÃK +ò=&Ñf·pb©9A¢^ÑÈ¥sPvw³Îàf×6Ô"]BEWH@jATMHaåRt]`¯bÔqï"p õ2òAÇñ¡
-;¡kgÚçbÛB54B:Ôâª(¼ïyYt¸et
-dw®Øm]*VWù6J´~Q.ÁI
-2íQ úÒ¨oû%Öñ-Ó°K/n£.M
-Ð
G_³Ä§§Ø_I λ"v9v©'
-y©Ê²¢üAtQN
-îCîÖÔfíTÉÓÉ·5q«Y%vÃì fõòî!·t6Ärloé²C~`f×ùþIjá8ó¦Õ¤v|½0V
-Nu¯7Ãum}k7³
-ßR°uëpï6Xñåï»ÞK½Ýé¸ìGKsYh6J½ÑŲò´A3ý=a5ë5X{hÈ]é sÊ *_)±v4%¦k÷«íoYû0ͼ
-+*ìI¡·SàÈÖ(ØÜ Aû
Äcdà?1ÈBxI» Ì·ùµö4zD·óGv½øé-÷ε|CYHgºìWÝ@ë-_÷Àõ Àïô"óBzi¦þ>~avjç÷+RÑ¢YY
-
õÙµ4<òIvKhÁ[ù´øyh*IíI mJL¸V,ÊLJAUïv Ëÿß,3Fç,«Õ³# 8ªzíN>ÛX÷.:íÛ8Yåºÿÿ7òÿO2v¸#3>|
-Bul·ëâ)ýcÌCǸ\
-3`¸²Uè4zî¦?-tOÙ#¯ «yDGÓ¡ÎV7»²gHÂ+ý¦ÿÁ¶ÐL
-#åÙAØÅ©ÃZLKWã¤g`1¤9@¥dBozX`xý¤s¨èØÈP[ËìÄ
-bµ~v×ÿù#Úª¦_ËݲJ :äÛ;º¶G¾÷që¨~È(ýo$~qèE)Îõ¶ÓÜÛÒÔÓG^Fµ
»ô
-úÁGÕ>sèeZá6ÈØ ¨©¹AM£`0Zí"Z!ÅIxÞý ¦>
÷^]àÉÉ«nQÜ[à@½(iÒ&d®ê¢çõ6wß´ZÑöê§Pøh|^à¬L/vB
-l*©ñ¢$ÛPx
-?N{ÉÃmå¿~4rEün-éqiã)qtmùJ3và¹õ¿^àG¸¾Ù&¸þ#-^ÙÒñp£&ÂvüÆLa£<zÝy2%¥_ì3wÕ-!J1}AÍ¿ ÎgF$µ=ÑJÄ8æOXÕºìVÂ6ZÍ{*pC1`ì7"¢,9ïïpÏÿE[£kU °ÎXM ÓCtt Ø@E¡êiRLÆ
1Ó¤¸OÞk;DS{çÔi\`zò»]ãÖ¦/y:
-y@?Âéôq·ùNJ-õº7YÅs@ë»ÌÏ:)qp«
-,³
û¢lôûhaÃom
#ÁÆÍTÌ~$
¸65ïiaÒË/Êq
-'A4Ã
-)ûrÔ-®§ëø]BÕ÷_±èiU?`Ú÷):ß¡éË£bçk«Û®KÄ ú=zÒöá
4ßO_Þ¯Vhó{ì¶ÅZÔ÷B«ã+oÓU6#µÂ¦úY
-þ¸:E6Ï{ªÃgOe¦±w͸uÝ®÷º,K«8àî!+ý+ô.ñ·/Óu¼ÁÕ?ÿ]®)§×àü4Í?Æ Î>Þ¯@«q)Ú,ãº;Kô¦,Q§&Eº¾xöÐÐeúzíaããSdrÔqÄ÷ʨ/·Å bÆÒõ_µ-Ã&ø×
-æBêv9G%étmJ¬ºÊ×ù«U¯FYD_Z7¿ªí×Ù{7·ìºG^ ¤ñ
-K0(:ÿ}èF!Rép
-ï£+ÏÛìNi¨(wFØ׳5嵸 g\ü¾Hªÿâb ?Ã
-9§BGdÙdtñ|ç:Äi(¹#ÂÄTë¹¢ªBØJWÁö JrÌÉѺû{ öÇ1ð±ÕÁÒ)§u]:z¹²5sc¯×un
-l¯ßéç"/ðí°ºIÉ|ÜÏèç²BãeKÇ[*Ú5³Ñd@§}Üjæ*}2ðwW]¥ÝÝähj7b5«MÛÜ
-JÇUJÿzb{ ¼·!ÝmÚîÞàqÔWîÝäç
-½rÔ²uÉ${¥c¼H3'|_AkÛ¼':@ògòT¯9ÖLNhåú¦ÑÌX-<¨ÊàQâʲ®#ÉMÓj»-ijù44U$«òlÂGåzæf6 ØãÑôPÎùÑìü³ÉëîNL- !6t`UMÊ©ïKÚÐÌ{à_w¼vÞeméÃc5' ¹±åì
-MK{
-GôÂzll
-V_åĹ¥6&( tµªâY ËödQø7;+·÷+ÙÍUä6±ÓZ"`ô%ûäD*°`Ýj9i3sÞÿå6©HÐçðÓMDUx^Ñ£[`«0¯iÃäó2ü9ÏàÜ5TAýIÔÏ@cï½!ã¹MYAªËö°§ºs ÇÈ·:¼úþÇ:"¿©qèz!XÌà|ÀJx×¼-FÝë @¦¦´À>EEtfÁ¡Öï
-±àêÕq²ÁFºXýSpOtÄ
Cè¥ð¢åýNZKù
-øÓq¯JN:<ÑôB¶Ã1ï¤R4îGSáh¾=d~|zö®µ¿H >ÜÛz
-5ûHÙK»^Ä«·=ÃÃûÆ×±¥´dt&Þýèм4ødZrìþà7Vtw(ñ®*ÈàØæ4ÈZk
-ó½xïÔtáçy¹J$ÅhÞåÒ<`)ä5ÇpÀÔý¯¹Æ5ÿEÂI~ÔHÞà*ØRvËÜÞH"û=ÊD.%à÷¶;ûFýÅt?¾¬ÅTì?Ó(ô0 at H¦MAî³ûPÆ xe`u¬íä
-°ûìeÝÛS üU%~©4ß{ku[Ùa
-|Cí÷>î ñ8ï.Qäe¥.GÒéFr_?ïÞv\Gt<ÏDs}1NëEñÅJjÆÜø°E䧷`1Î$ê~Û¿w4½ÕÙ.½¾ÇÍ«÷ÍÉÜàÑ±ß öÒ¾æÔúsî°Þ×®á
-Yk»H&cÊ8Ty&Dh¤â×¼!#HVðýß¡lrèµ
-3ºÏ4Áɳ¨Q!Jm©ÜÛÄ3+(¾Lõj~çéFK~3æ,)Ç»Ê8LÓp¼ùá[±º0/°ðzOÈÄR·#?(wraØxWÒÒz2ª÷0Smª
-)YQà]æw[Æ]Ü`²·OáS1±÷Ì3Qéq½ÍUw¸òïpKÿ÷ÕIs\ª¼u;J¹äTXà{ÑL}z
-áó@òƱ"CïñZPjoÇ=Åø¦9"´á¡±iLuÊð$âãx$"X8cp²Gk9ªþEi!7Ü×ûÓ ÝùáBÅ$ã{®åæËz¬õMèëé
-F%·Tzñ0®òçóMM@
O Ós`Ñýÿùߥ`ÖêþY³#38?_ÎÃú+!´¿rüÅ
-+*FÈK·ÔHñÏ
-ÎǨ.1¦ãkÜ}~#üÎ&C!J+,ûÙ¹ö"½ tcÿâuè&¸YqãTIy|Wt¡ØEwyµÙ-)$Ò¡°ÐÔÏ.-6c±}ÆÌ}ìËolçÜ©®uâ_0,íÍê}Ô´`
-§Ôúh-¾"]-Y/¢3õ
&2Âlà|ûn<ÊAù,Øç䬧rMt»ÅOB¤&ÌIOľÔãÄ]m$´³µòÊYÒI7)» ɦuÔyÑÓ{¾ïWa¿&ÿÆÔ1ȧ¸ì½Õ÷±ÏÞི¬ûÓú=%It.æÀ;q´¤Ãü¼:r4¢´î£ðP0«'¥óD}HÜî7bÕ-Ênw1í*×!-ïhm` Tο
?©ñ70ë[GTi¨ìæ[é&Æ'u7Adó;¿m Cü¡jú_¤uØLá ñýïØ^5¾ÒP¨ñ÷t&¢wÃÒJÑm?ñ%Í{MȯbvmûßsK¬UJ§ê_ýôÆe!_3
-¹ü¤9ù*.Ìæål¥t¯è÷æpmòPDÇèNr<ý@Ã
-ìP
-Öþ©I÷gd1´çÄe/pá^J+÷[
-¢muS(ºcòÕPß<¹±of
-vòáñËjÒ
-ÑïL!§Ã5Ⱦ1O38@{Àaï¥sjh3Jbä»<
-+
-¬¨NôYÓÆÓRl#2v¯Å®(õæå¨((_d¥ÀÀI]ag£p ±ÂMNùBG÷q²UªÛ í h&#á
åý, [¬x
-Õ
-y/yr`Y(d¿m/ÐbÏ×óFª1èÈ©âÛ&-½Ó4
Ü*wR©¼¤|C
-&ìIô!5Jrö0góJäUn2ÿÏ-ã¨YT%PÅïG2bäÿTlá¹F`Hñr t(¼£kiH`Å)â§ü
rÚß?ìnŽêBøäl¾¼Õj34´`<FĶ-ÅÁªíqAòäé1èØÆ«Õ¶æ«ñ/UzÖÝQjmU'ÓÃÞ{Zêc'@%ÏçO³8l4Zaé$¼vÀ:ñÍÀ3ñ·>?{v´÷·ÇÁRõm°ËºÍrq,ÿ²¦B6Q\ý²ÛO©SgP<ä×p]Lð(¥¬PöÌ$2I¦^7K±
Bè¨j¥©3´7#¦Ö?UdÛZÞ'yËvp!HMúÐD +ç¬Ü¼B0Ù<XS³>ÿWK
-çÚ¶ÄûBý ;ýÐÓÈkí?½Þäòxfu §?}3+÷Ê>íWfi×Ø°gYÀ4ù[BF&ï¢à1±÷4hÈxåLooIÃk·°/(^|Q$x`~^Áx0v¡2ñW)1Nµw+gKÙ£U :Ì9¤FEñmmÙôõyrZ©,¯o·ØtþFxìa[d#>ÈnDAi`%dÂðç7úíÊÔWiÚøR³÷ÎÖµBTd]ÜJ/¨6óý
-ÊØNý³ïSWÃNî#î<¬ÑÕãtÞ+ò×¼ÓFf¥Í¯0Jß~jÐÕÓ,Rbm]¼[`0Ϥ^¬Ùòbsbê3£Pbß$xÍCè.%Т1qU~¬«íNÐTÃ޵ײZ0vûÔÿàF¿vk¦TªA[:]ÆO
-~*t«
Á/zÑ %^;>ì-®<!zùùÊò§£TÃëC"1½ÛkÙÿ|xÈôñzV/E%§ðµÑ:§& ãAzÌvCp8wrÏyóÃü¾Ä
-/¾RêQ¿£ Ô#y¦ÒÑ:56&pI
-\²Àe6?ì¾ÉRÖÌxÐã\Yõ#ép-,ÀnÂö}é?Ô_©×j2nn³hyÁáM£$ð¨ãU?v]58º
-ÂÛb]*Ø Ëm»év)>o¸²qwð
-D¨>xÃȦòM·mh£áköøÅÓ¦
-:U õ»¸
¢ TôϾ
-?Qà_¢+i¹jG´yh¸®ÖÚV[ós·p!ö²FP
-÷þ)Q× $>é͵W^Yët.¹C6æ¹qÕVéahÓ
-¸0N£ßâõªs`¨ñôcD÷ìWd±} ("RÇØäÆvÿ@âÍà]Kªtä1dY]õ¯qÏn º.0<ÜÁ·oFbë* Á\¡Y
-
-»F£ZtZYE½AâávÁmvΤ¥È Çõ[³öÔ
-Îp`ºù(p.QîÂÍÃþ¨Í+->¼©Ï/ÃKgî<°M³*o\<ʹËXóVËÞu´xÄáßnÃ70T7´¶ÉÞ&ÑÈQ&¹7Ûr½ýuýmòx©^ýä·Xtïô0Ë63*HPÊÝÑ¥ûymv°ð{PGñNSyÚ?ä&K»Ð0´>!8xò<bÞ¥sÈ(Òë¦Ý^ öÐL(¨ï9Z¢j.l]+]3;[È«²°¯O£|-Ç°ï,~þl¡>-¨*È2Þóµ¼b¼b];uè;(F»µÇ!Ü<¼(7áLi4ÑûH±
ʯ±!ÂiJó3ðÚµëí5?µe»A=űë:ûÒB2x©õu^DtiÉYÞçt2òü%aFùn>¯Üϳ¥¢%DÎ|ÙehÜÏh)ºt©Ø)d%ÀÀÈ¿#¾Æ¡å˵r&ØqÙõ$`kß.Çá
-ÜÄ;øA#%kmÝí~`׶б*§ªøaK¸¥5¬$ ê`ôLp·Ô¼_NÎ^grB5rk¾%ûöD·
-Q+¢âpâ¯ë&ËîÑ(Ðî:@(õ¦ _½>zÊ%§âèüÙ"Õí°ÈÖàÔ¨mBÿ¥7°}+ôø6ÌÀÛ«þ ÷WªË$aÐÀ
- w+
-gÄÝ)ºE«±àYPäöm'k0w:û×P<ãÇ!F©z0Ý Ëû¶FK~gh1ç¼pð×UNÌk××%ÏZcßöîúw`ÓߦÝ× "ÒÒ'õ/ä¨`
-& ã ;A `[ì f½}ì`5ãB
-TF"¨ÿOpÙ¼pÂ]§
-V\?@ÌÌÔÔ\óì>Û?VH{XùO¡/ÍJü~¿uÎïy sxΤv4Í¥¨½ëaói3Üè¬
5D§Áò7V\ëpQ9 çÙÂ[[õ3÷ÀßÏq5Ê.Á<éù_¾«¼ì
rcÌ6Tlo5ÀXX 7Yû[àÖî_½§Qg¸hæÓÉiA(øl\ITÊHFQO\VäùYÊ)¿.áÈÊìÚËw;3&¸owðØØê%þr¹{ÀêõÂÛRµÇÕ½+°HSÁNè×ʽå3õê»\N9ðå²&ö³¾¹½¢µ I1ËïC5 '
-:Sèyè¢@s9Ê´ÜIÈ|©©µ\I|P«oã¹ÇC¡y!idãÅúO36E9À.RËjo;Úî¦^"/ò '7ÝÎyxm=ÄwÙ6- äîO ãon eÞ ëè]¢ÄGßVl¤OO g³÷ÎÁÅÚák¡giæíÚ´<M_ñj8ÊJ]À·
IÃçÎ`z|{sëÿ?pHì¾dÏ'V?ÇÛNÔ2õaéõ¤ÁjóxÂÿöÜúhÛ5XM 'ŬéÃÕì4©ü»ôÙ}jò;0äAM9
-¤w:Þ¢÷jTÒgô-pg[:è'ý#h#¼ÊßRg(]´ßJº ´w5(*§$üf§òåo<
-r¨¥CêýÂÛ0 at i_W-Q¨,°aÉ^ÊhçÊìe;éËÕLDzY¹Á{nʺ¶Vx³§m+Òd¢5åÖM),m¦%EèôÁÕFª³-x;ù«_°/:^ï^Há:¢kGhè
ÏgÔvxì.$Á56¼ºÄØÊOÜ)4åJÇiFLQ_µ¯
-qD¼y
i)5Ëұδê¡!Ûþ©âÙñý{
-¯'+
ÜÑz¯Ô9\}zbþPRã
-{D'¤ãp#ÌÉãõy ëîn]
-òÉ?HÇïºü}ʨ
Îü}}x$ÂûóÃÝ/ëõÏ¿õäzîéµÓáåï(ù³Äãkq}ë]ü"@ýêÿº¶sB!Úwí-XIÈ7>úïÐ7ôyy m[,þ ̹àÐéÑý3åÙ7äV³ É_Ç,¹>Åð9uNI¬4¨êÁþü¬°f¿«¼"!x)ª;ìÜlü<ëi6GÉC#6FñÀê
-}ïòÚåV8F´ìëf;U~
-RÌ7IÃý%È{¦jàƸ²¶U[ý¥ÆþèǽæÀ»ôÓuY= uS©ù¶¥tO\kÍÂHÛÄÀ¸r´ú¤¯Í3hHþyÞ4õIÛýË$ÿi¨ËÔc7AÞ¦ÐË-\)Ë*/ª¶þ¼a¢cA
-<Ý=°£ÿ©©ïÁ"±|gVB(ÆÝEØä-U⹤
]ÏÇݹqMU\¬ÞæZ¾o(Ý
âQ>°ø°±¼$ªûÝD
-ÃG¼ö¯x×ÃQÈ6¼>y4úy3)o[z,W¢^Â+÷-AñU¹~þ00Ö'ìù¨g2,_ÂýÜ(ãy+¼[sÅ
-¹`åàQ /8.>öÒ{HÂò»ÞKÆ#D\ñMAø"Mu®<w×tVy&ñô,|"½É¥¸»ÚünÉÏ2§¼dï´a:xôâìW.JqÈQxïm·.סåaUÓ¼ßTç»n=±]:&3··â¡Y¬SBR|ps|h¹ÿ@ £Äl]Ï bI]?6\QCBd¼EY÷-6þGläþÌ*^×+<Ñ[YãhÚµó(ûFè¤öcxÚ1I§})_`èîýéÚA"Í㡯 ¹^U#)P1«g
RÛiɼ"B
-^"N`:"h±kï)FùH¥©\cVøùÚÂP¡Dà`ãĹaÝxè¸cô
-¨D3×3òêÂË«ÚTq"fb¿Z
-l{ Ék=Z¼8¯¿ÚÔ·}pãëH UMƵÑ×CÏä̳ÛOJmugÏdÆì#æn~D7Haìß{¡ú¶«'Cà±&ÄêòM6ÌyøX ³ááeçr¹êi DÌIt>U½cçFV©gOQTjHÎ3PàÍèó@ê
-¦
-ÀeÜebg®®RÅ'U
w¾7U
G4âçq pºá&:ô|ͬNÀ_IÈ nîF^3Ï^¾:C
-ô2Û&º(ù.á.!G8PiʹÒlUúßUL:Õè°81K7,ì?ÛÊ·¦ño6í^ ¢Àºg«3ñöF6¶E
-¤±·åô¸e¸8íÇJÖY^0) "HÀÞèuåëóÿÌ°Z¹²§¼ý£Úùýß
:á
-Åçfw!JZëêoShëýmOïÄwdrnà-züÀÛr¬Ø?ôFÉúrç{ñ§z7¬ ¯¤=ïgNZtÔ°_,þ"å#í5µÛÞ Ã|¥åÂþÞéütÐή¸22@"ðt<Ò
Ê6ü5pôEOîi± öSÙ+[ô:Õêvul/Ùgk½Xâ>ÞM¥Åálçe0j¸MÕgppð
Ñ¥ç]1Ìw#±ýhæ¥P¸·¸(ͯÃÏTèx«¦:¢<Fì'¶8Yz[òlðÄN¸Ùå¯|,£Z¨[bÌo;ÌÏþ vjöØê
-þíÞIâl<o
-¸`°BXvósoV Hí?\þæ
-Q»t±Ûlë-kûSMk6½pðÚ»ºÏ!Í)j),¯~FûÜ3Z)^ºâ){¯=üÛ×t3eßìòIãÕõv
-hRÈglͦE õÖìI´õY ¸ÜZôÝH}ÉøÃÁiÇ>4²gDí</©ÚÕÃèIB]xTGúv']oY¡P
-K]ZÇ#¸µXzÙ^Òð®~Ù´Íx¿¾ÌIØܽ¯¼
-KÚ1wäÞ
ÅúÂ7õµRlÐ@»6¤ÿe\íkxô,48´¿O~Ì%ÅùÊK£çj¢hTRB]<`[`iØt¢Åz«{|À|õÝÔí£ðþü¨|»àïÌLs ¹H0é. èÊrnÐ×x8!¯Î_¬îcÈÉo¤{D£ºÖÏ %4×
-Q0&mnΰwûé®èÏ×3sj±RiÞpÛ?{Üp>Tñóª, åÑùtëTÿ¶ÿLuDo°PÄÙå"©¨cÿ}B/O·]^Ò
-WÖØD~ßýÊd¤õr à'âF³ª÷ݹÀ :lÿÝÀî<â§nJ\±f¯òyü¬>kß
-±½îìd'3ðTô¼w<CZ
-ýº2½
ãH)$º«Ý<_¾ÓMcêãÿ©³°îp¾j£T5fßÅØ5îcP¿,
vÑ}8SàòAJ
-æIJ'£7麼6ãc:Ày^`"<.ðDL5TÄ4ºíz8§ªP¾o¿âÍ&ETJúKòc
-Ù®«pö繧Á|z@¶¨nÜYîÃÆ)ýU 2DL¼-«H}W£ µUHE.ìÓÍâÔ«F˼»Z÷θèôRR ³hqÞìBézÁ_ÚÁ&îCÁb\K«Ü1¸gLûéñÐD`BÔZåÀ¤{ª3¬AÒT·0´BõYί0à[Fæñó|) ýÓäºYªæt±L©'ôòÙµ,
-#Ípü!;YMç×7Äñ®Ðñeqè"üü Ö
-åÿ£àCi¯ëÁ£÷½×5;EÑÄ
-)y»s¿êÝý¼¾|ïÆÃ=R×ðOhêP¾Skã¦
-àÎiÕÒÕ¸ÂgÂ\õÏ
-»ÿ8RSohÝiÐe?wáµF|5·7JÏ*ïc¥ÕÝPSq®X5£yW~[¬0è{y´û ù½_࣬çói\Y4i¼çÏ,0G÷,yçU[
-Nãº5t|´ÖØ}¹Ð_úN½2Ô«sR¤×BÏýêiyy8¼t`wð<Iäox hòÓ00a½g
-Ú·ßqAºzàòÁ., <9á%.E«ÔðÓló+p0 ÌiI,»ÍYB(²
À$>wV§!n³(ëØgÆGæX]
-qf õ1ÿ½øtÝû4%'¨2Epg¬~ߣx!1þ(oÁÅüL7ÙD74
-î¨NpØ|Ó
-ç5*ÃP«EK¨ÿãytÝ+JêyåNð>^½chú÷®=ÐÛÖ¼&©2þ<w4ªÔß}êõûÚÑo¨Ø/m9MÜx}¥Ö:äÙÃe¥j5¶Í~>F§SËÁ¶ÈnTýÀñeâzsÉ BÞ9òsctáÁæqMê0_É;½'ÄÌÝmßÐõ5ë\Rxüwm[3¬?« ²QÉç
-ܬ¹ú¤S-Õ_É4È%°ù7é
-åÿÐV¥xA
-ü·æàÿ&od^ÇÌT[O¢³Y+=~Ìå°0Av[簾ÚÛÃ%ÞðbPá.õÊ÷Bµ§YTÆJÄL2£=¿8@ík+ÎJ(ÒÀ,ºa µ
-î-hºíl nÙÝËUM¶y,òÊàì ±\ð£Q6só[QVa/½««{þ<èZ};g,4Z´Ö÷8ÀçkÚtBUã}Ûi%úØTsåî¥r¶#é2HCÄ!{|Ü´¥NxµAÐDs8j-§5Ñâ6zÚ÷ÛøEõ«[bõÏæxgÌ$mf±j=T>µ"!^Ãtk»déôÜ£Ëa¿ôú&f~ØÃo)*À¬þr°0Io
-
-_ç<¹ @õßagKã;TG×<z
=ÁëXæg¶:¼-~«¯¡½¼W !sÖ6 at 00é»9Í^&ÃýH¨BÍj°3Ã`|068ð©yÐÀâïQ;wWë^iml¸ñ0«Íòw60úNíìÒhIÜcÜ1Õñ˳]to3T¸Mñ×4«³¼D@õ[9Îûzkó' ×áA¤ÒzÆ&(vßì÷NGOâ'B¥Yíô:Àhß±ý86VòbíOj|´7F³·'¥Ï@E 8c¾
-¬&]I©qɦ:xKat]üz
-²-;T{xä>dGµÊ&DÈÒQÂFr;{ÂõÅ]¡xLÂÔÕ/_RQü«ØÀÑÎ]ÆPÊêcª;Ú«ôª±ªq²Ú5
-]Þ0
-?$tøí¬Ûëç¦Ðfít̯ÿ¨wÛKÀÕs?Z©aÈ{4°)ßBUþþpÓË2déaÖ ùqò¢
-»@ þåö4\;Å^I-{Ø
-bC¿yoUñÀb±¡HFbkS$#<fý@¹Èï/ûQ%Í"
-5ô¡*h¸Ìb(
-ÏajM?Ù¯tUÇ*¤º
nA»ÔPkIäÉÖ/÷DÄ5R_þÙÉØì'¿/(ÚöGê>"2Ùi¡RuJX=y
-_H0ÎN4tE¤Ý£$ãÕJ¸ó¦^9`ªÔþÀ$I]lý/$ÜÈ¢Càð!ÕϬlIÖ`:Á+Mÿº;
-¶ó«é7/OWÓYWw²Ä¡¡dën¶Îw}nS
-®
-Gù2ÏYÑî2[v¸Û1|æ¨X8á¥Å0Obdç4H¯ÝÊÅ>Sse:úQìÞ?+ZSDèÇâ.
-lûVYlÎ3åuÕ@ÃüäÉx¿Lqô¯Ì}ã$9ýK𯾮-ÓÓDx&C§óÉ?®
-D¥é¼.ËDTXÐxÅs^¬SRëE>ÍÒ£36ø2%EÅDòÒ:g
- %hÏøÙæé?M(À¥â]e+|ÙÞÿil©#nËL¥õl§ºå´¿òã0Üå;tÃ^¶zVq@ ùºÒ &®vÂÞ
-Î$âZ¬ÿRõTÐf¯C5l+ÑÑ}_ýgH llB×ݺ/â-öÙ1ª ¢ÉϯC:h
-ÊØG â-öË]5øÞëw;¾¤¯E£ØN³6ïÅS침{\p©íz:ï×Õ¯í¶ yîIåU&cñ2ù+¾1_Ë rÜaó¥&S{89µ¯/:j¢g$Sº\5eå\h'ÓC
-hsc¼IÚ{xÎú4¼eÈ%OÊJDÚÞàs¼é6¯voø?³£RÓ[
-Ò E+vT¼ÄÖ]¨5Ýxv<ÆÀ-_1?_³Ú{}£æ]ÑÎþH^ÊY1¿EU×Jy ÓEÀ'#P]Àû$°"gß²9ì*¼ädÒÄU¹tãÐÌÝRÃòMû·ìúر
-fÌÅiJjëØË=§·
¨.ÿcä
-ovómããîö|®-â43Ì$£¹
-EÅs89Ù¼eKñV(t}¤{··$ðÕÔ=a_Î>hÍçw uVw¬í½ 2Q¦<+ÓsaÑ-è`Îvs=Rýp.¡>®êÙÎZ¾¸¼$Izm¿%4³
-Vq4ÕÔZ|í~Æ@éE7
-~ªhÿâFÚcíÁTo»ìøÜ\:¤&¤HÎ÷TÌwG QþKßÐÃà£| Ù$¡Ø;{ŤÞ
-"EÓ»q4{9æ¼-
-W¹«Æ.ÌAc<m3÷¼Sám¸ÁÕíÀ8ɽNñ{Å$£Kú®8Uy?Xx\6§?ÜN*ÝàhtµeÄÉ$À÷¯=WßÕüøgáhüVxëLÕé Z þ@ßcE}*¼ÍÒ~@¬º Îßб¡ÅÀoè¢RFZ[yÃë¥:qe>´ð§ié4BµzGÂÙ\Ó9äÙyð1'º1;Åû¡âÄÕÈÙdgÈ¥àP51ØOM$¹ÌóNI,ö®5hMsÙÂ6¯ÚB`Â{¸¾Ê¶ãWQï½ÃÿèÛêKáÐa;9úøÙ@lÚFabï BÙ=2î>þêÀÚíÊÚªÛv|ôÂßÌ®ñÊ-bû
.
-Q#sç'¼Àc?SÍüå<³HÙÕ·HXÅ°üQ;)6¬þi¹céaPW¶£@émèDm¹"ð®räVçñ]v)4{£Ø8ÞÌJ¢Ië¢ø=v3orjôÖ¨ñKØ0«y7'
-Q¼#
-´ xÕÔ¤k~jÞR¸It*©þêôà
E¼±¿°ùðË´ý/£çA&©åõZmIf³Ì´áøGd/
-ë&içâ{\âO%k?Ì:È*Äø½Íøºàãð<¤²N~'ÉA"߬aÕ¦nT²jZ HnçÂ
7òØg²3½Øt¶ÓÚ3wPÜ
-[¿éPW1®ÿHáøy
-»Ië%c§Qk˺ڵw¶ÎŹÑû6\Þs´rÊöpïÒò.ôª9z{¼Ë×óu~êÐÌA
-kD¦v©Öc¦{iST³
-pßëv¬=;2
-cܹÜ9»ÔË6ï°x+én»3SÓohåÏjÍ oU·Õaõ¥ßb¦Úc·²¨
- 2Ckö²ZÔÜqõª*Ò
-ÊZôñÑrQ)kñÝWëY, è<Ë
-a î¸7qäöÞ6©è¶û·Ðº"«Ú¤»sdàðÁZu+úq°ÌqÛ4¢%M
é¡òQ[dðw -¢|£4pÈ$Ù;,htpXº9`µ«¤mû:=ì³ÖK3BîNöp¡õú6ÉÃÛ2%TÃ*7Ò|µÁþæ!¾ïÃ"LÚzþÄCAÖÇ[4²f®1'4dþ+ý"EöÝʱ]&ûK
-ÍO&oâäÔzóM?´dJ&Ñ·ó;?Àí/n[TȸP,Eèõb¨õUP¾Îmj±îz{ò£l5?nÄ)Õ_:.äßP`}pÀæÏÀs>Ö$-ÚÁÏkµÄîV˵ûý GE+=r^JÕllÝx1}côóÂâæ[Eÿªß|øÛÅúWIç&2¯Èïµr86¤vòR`xþ²l©¼uØ×Ø|ÎüXyFÖLüua²ÉÌÊ*OÔ@_Åc(sæ
-UÄt4=ÀÏYIQ4D1TÎ¥¿}PwÒWåVT2Ð"ÎD@ý0p¢Åå )ù,ØP~µ5%lfj®ß ´¸+/ñÌIÒA¡Ã¢òÿEäâ²SÕG£2bâvûMî!ù=ûÀS; 5ÖeaÞËÈe-ï
-XËìËÕIrCMú¶Ï,EÿwYÏ?t"AWXl
-~×ÐâÏSG¯ùvÎTÞõ(¢
-¼>ýñæ"»°iVï=;eÁ'[¥÷32Ë÷×ÃÂl+ìæCkðhËà¢ÅuþEá
eRg#ê>M`.á±zmص¤¹Jö"§Ìb}?_§¦Äü0©XØØ{(´î.&Û¿;6íGZ&$>Ý·_í
Qt÷ÛÔ°wùBU¿Òõ}¿g¼mÃvêÿäì(
-ɶlzå"ü¦9&Îxhý»còp?ùùnp$ÄÍ7Øó<QÄ}Ë1ãô¿ªî]-QsW<}·÷@mjrSr)ѵð+º¼nùͨگ³¼ï}@¶#õR=¥Ör
8YA`røm¸¢%F
-ÔÖ5§1g5^{r$²$©~¯)q÷ÆáeÅ
-×ÈY7ðc3ËßýFI@FJªü5¾Ô/wýÎ6£åwâæUãÂáu<û©£p#¬Î
-B'î=Dêçy
x8þ}´íÔõÝfágöÛâínÞ$9öyÛøÒ~¼ì½x
-~+ÓqºÖôEvÑb§ë5b¢¸$"3uK~ï8xÿJ¾](_ÐÊ\(|OL4J$ÌFX¡ÒÈ¢~Þãu)8ëkîjÞ°`#·Â 'vD¯ÿ2دí^)(ò°~Y81$eeàv«ëc¹Ú2ïÅ<ì¼nC{Õ{·¨a,F[)Ñ÷dúQöõ¨o÷ÝQ4¾éÊO÷{®þÙ°X§<ß«l-þ!ÄYíI:Öô®íé¡Wíà;%öÞ¼#º ´¿N-×ØL«äkí£7j®ÇlΪpWþ&U>éy>Ïç4%J§ÑöªÄíi²yNjCò0ج6zXã¡»km(ä{D5O(¶Q×Ô(u
-~BHD«V»Z
-È]§H ß>Ò¤<92"mqÑilsàÅ=6u¥Ã~_
-4ñ¨Ûßyh*Yíé
-äTÊû¾¡Ô"XO&à9:ê\×áÜïÓ³3DxܼéÊ<¸SôùkKÎzéeçXc!õ-WÏ·ìßiÇruq²VâoÈ¥ly×çÒ¡Äöâ[I¨7
- °è½1rlhÜk1~îòjÉ3ߪk¸ÙÍÎ
-I8°Tôïòö¢MòAßTTiÖ¡^%ý69nê+þc2Fü=ü¥æþË+_ôkÚØ8}qg¿DIÜ6!bÀ÷HnÚI£Ñ]ç¤W±åÍì|DSºnü·§{(Êqýî>rvHuùyëeìqÇ/+SoåX\ò^wâ·b$¦»Z7ßÁ]}*ÒÍZ}µ²yóÌ/ÄÈLsÁÖk)Þ7aGÅ`´Çbchþ(ÇT_åo.í¦zdƼø¹x¯Êª48u_;Bõ6X]ñ±¬¯ÖD\°ËÖ/ÝÞY¬%ÑütiéÀP8t]À¬i(qÉ6;¼ÿûéù¨æj
ZQ:æ»jý¼ü%[4WöÉX&sì4kÒ²êèäå·p¥\Ô¡¨¯;»qáó.zW«i"2··íì¢÷JÇÔ0.ö/KË(Çùô=a:§l¥Ô«jxÐ:2¿êÇrÖBQk#HCW=ÌÕ`òü»h¿³Aleëx{õ®¦Æèõelßfr ¼¾
±6Ö.ç1]ÁôÝíÁ%ìfü
-qg7xÙ°¯vTºLö&UÝ\Òk.ÀÙu\hXZã¢Ût\öPö®Ì}E¹YçK°ãûx¬ã6'kHÚûwì[§)?÷ÆBZjmèîY¶û·Èïl|¥®ê½ÿnùáÏÝC[ÓF0ORAÖJ i ÅP#ÀÆuçSlb®Ì¾r¾Æ4
u«C{>äþwÀ[ª],fêrråí.³ûpx?HêAõWÍzc¹· O+¸»
-®<ûu^ñbåvHA·Tý/8¨b3P-Î2Ô~¥EH>ÅÍ1Ì,½2GBkàËMEv1¦1¹~Â
-(À
-PSsÛ£åäÏÝ{:
-P=`éRt ¦]=À2rÙ§wâN1¨"íWOdïîËþ{´pTã¦y¥/ñ-ËhJ¼M
-TBPÒþmtÈQ¾«¥é
-OWE®G¡ìý¶fµ»GRiÜO.«`¸ä¹Ë`÷
-
- at aüzã±ÁF¥@XGÀC¶2®Åàa9ñ'EÃ=׿ôaçM']D¾3üKºÇSGéªÌàà"qRXýÚÀh¿ýº å5çcpzÜspCÈaRÞ.4ý} CÖåß~m¡rU¥S¢ £LÚ;½ÎHT¦
- wcÝçyYûã c,é\ëô
-üh7yu¬]¥Õö^A^¶4éùÖ½!¾ÕÌÑöÍ@*u?
-d¥íªÕÂ%ÀA
+³vÅÃÁåÆ=xôÇÕ§ù&Q%[á¯0ÚhFª3UFÓ+WáÕÁCKöÒÁÑJñr^.M£
âê^dÕ}¬ÑN´6&ÐÊãî,Då#rM]]æV/,Á¬âRåÁÆ©{âØ?Î*GéñÛ/Rê?:û
'ÃþÌý"`ÿªQÛ'ߨªyòÏgö¦.ÿhs®¡.ÍøàÞ²âècR8
-ú}¬à
-¼â¶^
-cB«P<¶
-&L¾Ú¥ã½)õD)ØP¥ÔQ¨ÒÍ×-ò2J§sVmHbL@ ÂD$¦Q_CàÊK(#
-7,ôMU[ð5¦åþw¨KÁ¯øEÛ¹U¶$-&xí{4kÔã¯+
-ªÊ\¥eq-PÜ*NÂÃ:2Æ;T
-ênMMq£Ýü©®¨¶»iÉ´L¹DG)y¤:bôþ}-
-Íö!q·n}ÍÄó÷
-Ê|®Vʬ{§Rà-Ìv'QÈ6BG#«
-1rùeh<L7ëìÌDÍbÉi9³ Fîö@÷û&å󯬶cpoXéÈ8ÎÿAáäfKä/л^nÑߤëMXi<=%SàC<üаN¦¿´Ò:¡í"ÂÈ.âùìç|Q.æ«ÍnÜ]GHió½Æ<í¯:að9ý¡' ÍgܯÖ
-¦Ìoåì¼HVÆþÇÆ˼ÅßGWÙ2âFRðqÌÚØÏWÑ9 ëªÑÕ $»3#å(T¯@_äcn8p²ýáçkë.óØm±
-Õ}Ç$æ5
aÀ`[£òÆ¢dX}-ü
ëóùź*ud
-)]µw÷¢u«¿¾%´
À·.ÜOÝåN|+Ã_LO`eù¢ölãÃ[z¿ï[O,¹ÔüÜE`¡""[%ós³¨ò#|zÜÁpªéÎ.¤áÌ[õvV
Ùç]¹N5U4¡=ú"ç$ÏìNÜ0x/xZ#\ Ö!ÿz8Ö×;ª7cª?
-òdò£Òf9S¯«¡ëBªBc?>[
-¹hiv&àjæm}Õþ7P
-{g¥FªëüàWZç±è¦*èð5þºáµ¯K:´nÔð¦òä0 ÔÿlÕ@öøSãØLd@7kµÆ¾pÞZRt(´<é³ZJ°ÖÑp+úêr{HP0:ì)hÚ¾§÷e,8®ìyK¡Oig»ðFÝ®ý·,kÕ6gçÇà!ü{NÖÂVª´
-;!âϨ²ª.gj¢Ñ|ð Þ!Ú~'a2¹P&Ç
-ÅAÒVgðâ7x£{i®¬Íµø¿TãS$ñf0 äLi!4çĨq$µÍwE=©±ÑÂ[ oNtßÛg²UGïoÍVöEË>áçÖaä¹Xïo|CáÖ÷I'Y>yað®ÕÙdúªWõ¸1
°bEA+aÔQÑ0nH¨o=æîzTô4(_À%°×¡Òìoueydo#Ç5U:ô
-2´êé@£»³=¶ú¶ÈQ&¾Ú>§Ù¬ÝGAO³Ì^äýìNٲܢHgn \¯^*c
ãIcäNb¡Md\±ZdzªÉHÛí4l®à=>{XtYK4GÅ̵21sí¿pÛ¹(Ôs¦vå»|FÚ!D'\Ú¢jã'îø:NrôÚe,³æ6f÷°³·Þæ\úRªM6ë^KíÌË0:
ä%<æTðÚòãÕ Rò£@q¸az^~EpG|uäÉ*mL´ïÞA iãÚ<£:2Ün®BܧµÊºº»M§ðÛØÙjKÛméò`BRJÚî/ImåùB<û¦B÷Ì¢T øÜè§?ùxþecãU4õô>¡UòDX{^Ö 6«N¬ÍSØ3{¾0Xùbg²³;0I{¤?åÇ^£²À*Ò¿ê
-§ÿÊv+µ¼Ê¨[ßTó}KÞ²øwM2Ôp¬*d~CÑ_Zìd#¿#erûÿ8V
-é
-Uì g¶SïRõÁ!
-×0|@ôÕlr±'%,ãPµ1wó/â?!ÚÆxxö¤kxþï2³KV¾ã0TálC½ñ¶']ÎñK&E\ä´Em<ßFÉ
-uÞÈ!9Y¢ìé²ÁòÌíoS$þ¬Ïw4dX_Ïo×
-[L]¹&UøÊ m{"â¡»ÜÂÈQb,
-21kE|ioÿ¹¯°F°äÈ㳺³¯Í³Í®åÚòwjsÁþÂ)þGÆÛwoì#³´b·Qh'è9MÏò¦á¨mã¥KRùpÉ5¾È¤7²ÎÃd¯Â6FØEqk\F7Õd|¿¬`
-{¸¹.ªïBä¦úGº"
ò=¼øº´SEVâ®âL(\¹|OÍÑÉ7/CëuGÒWƵê5ÿäÞ+ãX³ 3íÄô¤ù8ïÔ?Ìi
mÝ|Û1Õµ*pÜzñ½ÜθGðXú©eµÝf¶,p OÂÀ CÝÆíÊ<Ì?Ûñþä
-~^æT«ñ¸¸Å=²ÈÙO×G¨<Nßÿ_Üf 2ΣÎK}_·ïFÒÙ@BòrµE÷pÙ¥¢ïÆ,ÐÙýtÈý¨8ògîbÌà3ÅèËD^_âËSÔ%Î/ÏòáN9{ÃJ6æóxÀ^úü
-&`ôvØ\oç± Wx>j½tDù7Æ~ æ~eO*ÐÃyCd$À¹ÙÍIgFm+zµO¯cóDJÆ>a(F1#ðºfÍñ«mÚ2~5%ÈøÊ6öJ?ÊP¿;qD({è°uZñÖüøÑÙÆ%Æ
-Ü¿Z9
-¿Ìóì2rÍLßúÝI`¹?ÂúxÕÀù÷³&»Ëé°Ts0}-hÕÁà4¼ÅÑÑØ©áïÞ,ËýßÙL44jÆÄúIȵ¯vÍÒòÑâ
-úA"hD2rñµjGh%ådçM°¹¾JäñW]ÑÊ'ûO!R>¬hocFuáYªx at S-)ñÌî
-,á¤óe"OÞ,yÁjäËvx.áñ[-¾6W\wJê!A,Gms`XÃÉ+¾ÿ\Y³sK UOún/DEî7/A¿FDíZ³ðÊo×8G¸4ëkÚWZå©Gâ¦ÓصtJLnì[Û_Çzî/sdTÓ
ì[ó`øÃÞ¯ÿÌ6'ÚG|oy~ÁÆ<VÃQ©_Â1=²ñûðUÿ³¦d²´^c«Uà7ÇV7rÄiÿv\8Ü0x53 .¸D;úöñCßI¼)ºxTÊlyêõGï(¸"Ö@¢õJOÖ÷ú3
-ùßHÞ×6#sgù¡îýgÓ.
]ï C»±|hRÔ/ª3BÿÊg´Yáå5.
-ã®vS|cZAÈ%tAzPmCé=)
-£Q×Ñ/ôå+û¬áEâ¨aºY[.\/?>&ç
-XÜ¥]m£Ë¤ãMqT&tr`!)EÈ pçѼü ·¸JIã3y5à'åt]È7DJ òeÊh$¿ÁU\0O8À±(2"©{J3":òt]Ƶ¡´ oǽs9¡.ªe®çcr6¯<kÓ}î¿f7B=ÈX}ò âyýUC9ÖÚª
-¦åÊmBíöÖ¡÷ÄïÝM{Í1¹@;ÄqÄúУõuRä, ÎëÚwiòtçúwAhO¼²´
'Æ©ëÀ0lô?¿ÌIòìXË<»ÅUepçæå¥;&==
-0¥ÈZü}{îÔÍcWº®÷6éxÏT²ÛUÅ+É«?Ð.üÂöÞdüïïS.¬ä]{;ò~qa¥ç7¯ãUâ'f¸Ä1áort?·Eµ>ò}YØ Ñ@éè}öÀÜò2y+¦MâÅ«W
q/8§pÿîMZÍPkh{aÙ1y&tüÙòÕMoó¬²<ñ/ÇÖa?üʯuÝÓjû,¨Üå@/GwMa-èGkD}¤ð©fZbYÑlt/ ±Øj¦èôRhCå1âÆñ±S@ÖòÁ~e}
-kÎ
-º
->NÀ^²Jà-Û[æb3ÂàÉ'é[fÚcBl¹H(y;=9ÿ¥¸Iód¯ök'R6"dÞqît¿ý,ߢ]MöV>»Ñ@ÞwM0®èçã^F`çFÕ²æL((¬±S¢ÅïÂy§púÓË5íy1pÆ{uxëÈOþ
'¾7+Öº!íc´è
-~E×þO¢aöb]Á3LQ`ÉB徿Ýh
-¸xdce7¼#ª,C!A¢¿F&Uì ÍÎà=¡¤Òôõ"+Øèµ7¼¹zÕ½¤
-¹}D²6 ù?×bÍáCfúþVä¬oJËÿø-EÚÃ4Æulò¿ËûYOR´²vTNè~õúÁÎóg/âïÇ¿¢-;gÕ,W¤MܶÞ|JÍçؼÔKýF¾)$N\&§^»
-¥C1sà ÓTÆÄåò¿2,õºU'ë\Ïé¬ÒíÄ;?áó^²ÒÙ-|¼É$L\|¡Ý¿õz%aí=xÏ9Ú®Z7¼ã(Ìå±"ªÅ/t^
-aå³KÁ;ï"7Åßn.E%gì¢i@ß@¹¿´:¿)[ÒÐ
¥
-Ê.Ç3âu?C¸¹ä)tOsÒóÊJºþy>±Vq/ÇÛ
9[$q·QIf¯<£>@²2Ô>[ìïe©,ÝßiÝÅh'Ü|Iª$¡Ù+ûcIäEtÒiÒt6ä¸ßE3;Ý´6Õ¯qIk®Í#®Z<ª:ÄÞé×Jâ`d¬*»ö</nä"nAíÀ ÿ]©ÓäXĦMYSgÁ£õ=q@ÜÕÅûªE3¶L+ÕÅ©Cå}b-7Q,ì·Túlñ¨þ¦:=`Æî¹aÐçeÆãÜw°¥ès
-®/¹ ¹EÀ!Ü]°|ØVÜËZ3½MçUÔ
-Ëm
-mºf'hß®gú[ÓÖkÑÅÞxñ`1ãÃ7÷`´å£ò<Ë ôc´$(c.æ=
AfÐX£ª.~qîôÛ³A8zi5ëµkµRvÜ%Þ¯
-¼×s4_;<µ$â!wÉuÇÆ&ʼfDÚõü²ªÚfK>¶°ÐPVoN"Öõá§6{
-,"W&ð°Æ§´û&RTaÈc\} Åta°Àj)HèÔyÓW,ªZ{E¯Oµpk.]3?5Ík]¬Aål³¤!Bd+y׬NÃD4¶2мyÒåãÓóXLI9Åã0ÆÂCè¤;ÇÖvù½?vîûÆ[_àçºÞ"¬<¸ùÇ86<ä\µfòjq;íâéÂPåC}BùâêUÀÒµN£5«Èm]¯ëô«´òÚPËuÁ|ÝÕh® ¬Ptxq_ÈEìNºUK¡ïä
-FåTùk.¾± ¾KiÙ TOÝî-ØEÄâzÂ@§$¹cïÊxЫ/î§6Ìp@ÿÆVbc¡ôRMgµeaFb½Ç1V&CÍ¡_©>¼/Âåy1óßcºØ=Kûÿªß2Å=±R"o!3'öCxHÈe
-¬ñfÞ÷ÕÍÀ(î¥u<¯ZóZ\ë
Sb Mêi
-«úåè(7g-üs%å³lßÐ1:O,'¡cTZ®²Gö&>ã0ãC4ayösS°xÍýUâÂ) $Ö<Ò:¤¿
-·FDQ+
-úÈãó,ºG5Ô
-Ê¿`Íþ}út³ÃWc^NÜÅáá0
-î*ßk)}#¸ämnKJ´ÝÄNE¨ó vS5úäÇ/²±^b7itº(>HM ßìæüäÅû$W[¦s#8#!Àç8zË2Õ©úâLÖkÚ¸@ÒK,E Mò\ýn.ÀÀµµÇ/eîIaá³âNÃÛ|¼ç
ö]%ʧ/Y2·÷¤(j°ß¨º>*ÊÀ=â;uÌçÒ~y»mAu¯zØÂ[£#ǹúl@ÛÞÃõìéxâcÝ<¼t"©âO¶ö¦IJ&%d]*h%UU¾â¯Üª&îBSÔgÈC\S·âFÿT£kZ[8<,8þÓª`¾¶¦R;öb½d>Ð-l¯ô.âá,Ä[k¡C nk¾pî5RÝ=\>åÞå^bHê4ýÍç§3'®¼K2AÀä:6Q?Ý}SÏú1r>kf«d'}Ä#]ÇÅ>âàÆ~·üòÏe¥nxªfZÑÂoX§OÌsmrT¾SV=ï{A·£7*ÖsÂpqAíiÜÒÑG¶4n$uÿÇRNåv ºÿ®Ä*ªh]^ü¢¦t*OT²R6¶Ó@9L¿ñ>aÒëù6jf£·ª;%ù«¡¸
-á)ÇÌ McÓÝø¦nÞPþCÚÃÃWzÔïQi$¯Ü¼A¡
-|BCÕÉÕ^(úM;ÿÀCÜÎk¿êseD drâ^Ú(FsêVí3Ö(N¤pôlELáªPE/*!pÅëÍ"F<¤ÉüY#Ùߧ:w¼ªÖnDQ-¶¡Uvæëö w§s®c!º_³üð)Ï"[ìZw:ápWV_À® ;tOTqº5¾îWÐ_%ï+;n6»Yè¼:D±'ÚF
-û;®(`ádANyæ¯ð*0!»Zàâãíue¼è~xÑrô(Ø*õ¦äËy8MÑ$ætÇÓ¢ô#¬ðe
-»øÎâ%Õ{§ÝïFùXãÙ¸ðÓò¯QFrV¾{yËóZMúg
-&ôóî.ÕÞÎMM¨×¾ Ëz+¹=×;L]-Ùó¤Òyìî²<gFľ7t+½iiÙgnÿTäWòbü<Æ϶»F«£j SYÅÀ
-8±c©Hî90ª×ä4°²R°é]_äqEp¨U&ÉØò<¡/=~øXâtÙVû¦×Óó_d6Ô÷nHD6t"ßkX(Ö¡ß{Ó¸2©UªÇd_ø¡ï@u) xW0AR~Kô×HS5RêùãIõ&!²ãµò8½ì'VJÖ$Ô7QÊ3¢ÐòOÃj³Üô:M5¢{-
-æú°Q¤äÃ{4¬Þý0ÙxEZB°T²±sÜÂr~¹ß,
-ëÃBìÒÿOdîíÕZ
-NAÜãÍÉdÄ\ v_ÆCÂ*ô®pþà4Î
-ª
-ß`Çͤñ紪ݤØóóËÀu#¶NÜ:D¬c£ÆÊLääF3
|a¡H|S,³
-w-J¯§óS±üÉ«_¢¸Ä8+"]
-e¶Gå1/Nã`#ì= ÊGö)D¥ Å h·ÒÂ,ÑÅÛÁLÎ0Õyt#¯ÚZ
|å¢ôÛ~«Æ fM²JKÁNÿ6 ì©ìÞ¾bTKÈ]¹ÞÜY)ÚwÒ?[4ò©Ió¦>G)î¾J&d}ýíÜÅÓò~Ø0 $´Në¿´Èc®pVqí+ëCppG¾ùóßeõõ6GÌ,öfú8zÔ7»S[¢S50cÔq/_9¹jó¿·Ü%×tQS
ßîLðbkÂÒxâe¤í3SðXG¸T¤J@ð«H´+ÆWíç´upèó`I]±>W*ìÕ´$FZlEfg sôë¥*|zº7>ù!I©Åÿ«;
-¸aoÁ¥e5MB+Mø¡FËB6ð|fíbî
-}ÍÌ^§A¾Ëâ¦}VnØô.¹¼j*À¥-;Ù&ú)ÑóA¡Z7*8é±51{Ïo:g7Ï.Lå7û.éñ²¯EcÐ}tIÙØ*I
-ø¤¾ ñOWËíÅ'as\Ølð\ÍL¡6þÒF)pmØ,º·¢ÀPæá¸EW0d¤q]&ÿdV6ß.cùÂ~L´óðCß(¨îMëb#òEnÑ»PÅV½!ÀÈѵ
-Ç
-jFÇé¨J$Ç
-U¯"q ï×û4úS+a:ÇÞK
-ÿ÷Qö*y ç5!ýÃ<ïþ¨è|Âý6\ U+ᬮ[®eVéüvíÜ
-nÍPÑU7/ÄñcªXâ§nc]¾¨XPayÚGºxª.wÈç¤}¬ÓÏÇ\rf`¤ñ@zJnî´a'¾¨sNÔAëG½PL6ºIQkíúº+äÿ¥
-ÒKëÈíTDø.yÕ¿}ÀÄiÃõäóä1íJ$ðdÍ=²
-óv¡t5!(«:Ö+Ovl<¦ih^ý þj,QüYºîîÞâÄ?a塺Á7ÝëÜÇbÖ¼GÈ PMåoÑéïToãw¿dyçëÀã·ó6ês\Ô
R;ÕXÚ»ûÿõåöÁ¡\Ðs·~=ðÈTDÝCCijÚ`¹ÎÔ¬\·ðñ
-¼9G´H|®Ö²ñjóèOHgäì,Û[$¤BCæ °õJ³öëOP_GçUV'uÇÙ/{#KÑé¹qÈ~|Hë8àäpz2Þ8«H8*Mû
-EªpÇ !}¡1{¹_ZlÈë¡Á;u§·+ú,fo ä-AÏ[HM¥×ÌÝåìtò*9¼Â^ѧaÛ`B>/Cö0Þ÷ðiNËþÊ âÄCH´/9fV.ÎÉó6!vóÑ@ ðÉ!w±y;¯m$i¾äµH+·]YA|åÀD!j{øEÙ×ZQ5»¶'vgêæ¿uxy#Ú^´¹Q«1ªAäØÿPâ'4RÅU]¥xý'¬¡Â>¹æîtê3Yêy.·¬4ÖçæÍÕO
-hÅ:DB¼ªO^ÛðÍÌkUü°õÒ|
-¬u ýÅxTõtWw!BQENZª9Pvíîs³¹AÅ$vÉ®?·-~¡ò:L34ú±ì0=§§
-PøCV9´IØ{ã=·ÓB´K yѲTp»~Ëp çévÛD5í¬ð2Ia¡EÛfåÀî9-vòIÇëmÄ»R
-vDoÌÎÏ÷ëí8
->æ
-&2Þ÷Võ6ÊnæÀNÖÚþÿñú°Û
6[þõTo¾¤t®ã¥Vø![
-²]w¼ ?r$T]µÖn°ïìÄ9?Æ´OõQÚOçU
-¿À)Ûäý±,¬R~
-¿9e(
-tÍà3ÎWZ«IDÊ$hDpãëYGÃÑÂÆ*ëq¾þîæÔn7T¾ÅQATFZ³+Ôu\7`äpß$ûòðSdSÅKôBKe$<Ìßf¼péØøag#au.ÁÄè6Ý
-?áÌcQùí!;äùãÀdõôèiÔõà
-!S½øIAúiù7ÞÃ]×
-ÇI ý´#ǵFB
-P ÒõUwYdù>-µeÌÄ@Îå³uãßý^T®®ÿÅN ôÅ&Å\lð6Ý\PPÔâfÎåzgÚ>B¯Áà!/P>8Ýí#PëV¡×«»Kéù×DÜÛñ#¶_ÊBQÂîZlJh
-ªmOþ'Ò5â{°1W(ø®
-= æ¤&ïZ³NtÉÁ÷±á#»2©Da=B(õxing:öÄö5¡Ãջͯª=¦èa:ô+j9
Q=\]<·ÂÑÞX,ÌÊU àbïIE8Ò¾*}»Rrº.uRH#ì&R= Cð¡z¡µ[u°êßÄùßë"¹Ü,YN~_U'o[g¦´ÏKÕWSÎ5³ðL51¥ýÂ7Ùðy¶wúC
-<å½G í¯è;0yøq ƶ ¸Ðb9ð}ªÌc
ë rGµÔfôCçUæ£0e²ø1MÛáﳿigÂêFõ/¤yËåÝ~¶]\<^ëÁ¬úC¯I¿(T¼U<´ÆÐy¡ãjÖ>V»HYeÛ+3¯áLã^_]cvR
-ãÒ ÔòlÞÿ{!}²æ¯5âe8rÿNç&°³:|®Ûr·½¹>U»Ýáaªp/÷SÔ$µ´o>rP$Çî²UoicÕÃÏßëYéòe»ê}±Èi1ñ24¦O.Å>ú¦µ9é%I9ÄùZX<QË on-
-E3?-bmïO!ÍØP;o3:]©u¶eõ:#ß\ßh±_`ÊDLYF»"úQýHÍWÙ¯° H3'¬í@·Ø£9©W²\hAºª{FñÁQ¹57ò)°k½«
-ú^õ#°§ÇÕ:èM¥|åH0)ÜÍd8&
-7tÉÕFÛ@ä¸QÆÜuX¦q>
-(9ö£¨ü|Z*íØÃôzK£âißh°oÛ²¾åH¨ÉH6í-/>N©Ç=û¸`0-hxõ²-#¹ßBWN¾ÁðÚÞ±/úÄz¨~IÓ{nÅ]ê4õuµSظ~xª´£
-_|(
-2å¿Üv3¿Úé÷71á¶9*Ìã<Ú£Òÿ|Ì`9¢A;£4ôirÄ|a¹[^1pÔ¥ :¸[ìquÉâÄÆQ4aUðáß¡O5WlInò]ãj|XÏ]/77%¶gç×pJ¿îº§:AÜ«6!4ÿ¥
-t#9ªÍÃßlç/mÛ
-m§¥'ÌúÅU«(9Ý̯;AI¦Vm¡Rµ[æÃVG#Ëè¾ÂÛWoa±ÜW)õ¿uÎûñó`á
}íÕç_Àq4;Àrcë£bâÈ4#S1ÃÃÐpb¹w(88Ëò²<qâ÷JqΫ,s\G(àÀ(342Gç¼çxÞ=ç÷|ßþâü©ëºçµÊ
-A]²¼Òºº*îåoK$ÓG×C Ôï®éµ_{|ÿô8ýÞÁy ÚÊÛãaû¡vFW=îY¾)zå#¤)
-1ÌìàA/V´'
Õ×óeý1Z9néòÖ/KtÍtâ
Iì_·h5:f'ÑÿÑA[óÍ"k¨wÉ#)îÄ[ÏünÜ
-f©Ø&æÇ+Ëx¾««±b
-:h«¡
-¦/Xæ
¸Êó%p WÔñÄi¶ ¯ç6Ð|¬4Jæ<Øk: a-Ä*TBÖÓÈàK½ûuÍ(¢vÓ}(Åñw'Ö2¡ ßËuy
-0?ðè)L¦1¦µ½n0V¯Ò¬®ykKHfö{UËÌNf`ÞwÄÝ \>ÀvºF3 at J«ÌíÝ}Ǩ?G¬§Ïä$¬g#Àûèþ_À}}Qm\«ÞävK©37 Û\ñΰ«<_GÓy,gËÖ<D}º«ÏPújùÆøö´&y8
-ÉǽÖu
-ûQ·úè´îró±ÀÜ õ´b@î+ø fDÔ
-÷ñd´;Îï"ç,`¡¨ÕfïÖ²uüÝGÝErdê%Nnmaª°8ÉÎw'Çæb^úwHBºªìÞîW4úÐÞÝ:|øè@µÛ¦ÖÇ#° B¬Û?ê%Ê`ÅûÈ~Ç
-¹hYøèó1~ÙcvÒ©A¢÷&ÍÜ×âuÛ³(nþ âqQÐ:gâIÒ>ùá§îª/ÏtBÛu6T¶¦kq¯;ÇÑ5Õ?gEpÙZ^vfÜ(
-ý'åáÐ3×Jª½kÉóbïXú#Gºî8?l8
-NÖ
-ûkGd«Á¯6:íO¦ì@Ƨy//ç+*ë¤×Eë)_öOT?WKY/õ@öö¸áÖ@ewÎûså"Öm×Ǹʲ:$·¥Vðr¥
-;{»ÿöTS($Ow¾å¿û¾ÞnwF¡¥Yíª±¹Ï[âïSrÔäKuò·½nð]gÂ'Lû\ûäíÊâNØDì65÷SÎi¥ÂJ¶+¼[¸f4À:, 'í»ï{õhóÉ|NíÕgYgVB+°ÏÅFRTxàlòçHâq²¶G»Ðé÷r)?UAÍ.FºRiSmÓó'%¦`]4k§@DWtßõ7
ªHÉ+©åÊÖö¬F
÷òqüÊñ{~¯,M$|F>õÇ´©ÝÉw»ÂDÅÇZ©nÍ#¼¹0o£0
-³º¿ Ä3¼ß~Ð
-8íÚó,¬~Ig×ÛBû²Ï:ÌE$gåbý/r
-)Ûþ½%ý7ÑÚJ-ðê£Ìm
c/¾F½[CÑÒýtjµúÔdü!mqóö,_Ñ¢c2¡?öjj¶Eû§¿¾½j×2¦ãHú
- F
+xÍZÛô¶
+¾§ðuL³6ã^ÿÍy¢ ÜäõKê@Ò²dÏì.bYÙEê#E´æé÷˯Ó<}7_Õäß°àïoÿ~úÓôËåÛÝÖ:ê×Á^ê'üûÛ_Kã·_õþj¦'§uiÿwúñbã5RÃ.|rQÁÄ(·¨vñ0"òæê+Qj3QéâaDdô5T¢Ôf¢ÒÅÃ*b QnQíâa»ùÄ8êz®=ÄâwX5î,XWñ3³=êR
+´ô-~Ù
+ ®6óa[øð)K¶5~jíZ¥óS«ÙlÄCÿu"ãýáýâÈæ
+ëÊoå·¿£¸ 8RÞ}¨L-ȵckÊ+ÀLrÚÒiìÕÊI=>êT$r<Þ
è`èùÅ^Ý=oÓò×ðDèÁØ"uî½A_ Ús¯³>Öô~<¯=D£rÅÊ`3ÀåbÎåµÎ««D%Z1²(Ø$O`+G¿ÁÐtóðõÑ<Õ첸×è0¸U-ì·"Ól¾'ºùcçä#£hÝÎ#ep¸ú3éÖÀÎC-äàHÖ³þncaza¼'L 48[Ây¯þnî,7Ï¡]¡f2æú>D|rE-|
+þ4©AX"
+Õà=ªç1ð¸dÝ©!Q´[¢ÍþAÆ1b¿Âzohï§8Üݯ
+ÀDRd¶¨oÈèTýíD«;}A&B$É ®´¿ÆÌagº3d>gÈCÈÎä1VñeÆL$³g,;£:ÿuÞ9ãÁ¸¹ªSt~Àjb:bÝXêç×ÙC.A[E+z$º3$g<^E:§þ¢æ5y¢ª¹ÁÁÄ.Ñûº6ÍÎp¬
=k0õ¾ü:zîeL}°¶VØÅ
+õîßÀxµ7}·t{,ËìN%9ã4
³ycyÌ~\4ìhlRz18øL*»¸jc¹öJSß²¾ÆM,ø-1hÞ2
+ècÎñ$ôt:¹5ò?2¥}·9ïmµs²]¬[®]«ÙfUÀXèeËÞßlé[á¸geÖK;ÔQ'}Ë6×CneýYN«E²ÊZ.RAÁòKpDSå)·¹<XºxX-e¡WnQíâaDä±.QRJ#¢tb¢Ôf¢ÒÅÃÈp-·Èpq»ðIÇHuÒÜ&¢ÚÅÃÈr/·Èr²í*óq;Ð;lf;4;¤;@`T9Q\_RÉ[}IMn"ÕµA^ê¤Woeu£M4hZä§ÖÊø©5%~jíåõm'íµçEl.}jq¦CÐ
+®ä ¥À ²¯º¼R5ÍðÇWMóT[3æȽS3NÌ8¢DrS!ÝLéL>Q%¦§é2@ö¬
+ËX5=©¨4æiW`#ÐTO¡XJè¯l¡y#g7¯bp){OYÙ®Êôcû½±$U¯É`(q\÷j°_JEu=©°¸OVCîÍÖá豦Wjx6çïSc°á811ê¸ÔðÙ¾àñ|nÙÌ9§¨îåú¯F)4Á-ïÖpb¦ã%ξâÿÂh£´lÐM²÷ëD»¾i\<úóìvY¿pA¾vãQ÷'}i×}oÛ;ÚKô³B ^LM¤ª½¯íÚ6_é~Lz«Ã®S¹º|Ñ'?)_hß+Ú´|¡CÜgÏ/ÊN+9K®ÀGõ³MHükÔsÞÞðµS©2NÓ*OµÈ×JO9ä[!å¶v.·seä^j!i
+TeX¦£ÿß¾Ìðï÷Ò²¼ïR¸½hl¤Øô´F³ÄÑÚÏ2}íç~Ò-òüÆÓ¥RB4\VØc°vgÓÚ©dÓ3 L»óûCÚhÊ#rs¾ÒÅÃ(ÉïC©Lj3QéâaH¹
+qwÆñÝ°z®á
¦Xðàî×Nöͮμü³³I¡ùP:ͪø8RååÀ
7KÍÞûTI¡Åv**·|k®.o:õ³¹Çéøln>i:EÏÊ(-¡S´çôñ§Ã'¬ïàæVVêp¯x×
óT+O-®pºùVßöFØID¥;Ô¯ôçyª¢4}áú@¤OÈâYϱWÿùÒ*àñ| /ËNÆ6%
Í%ð=wk-mQZû¢â;UBF?¢>ÓtðÑë¦z#öóàSþV\µZ[®ª¿íuT½céÿóØ0M®`ÏX+(²/ ©Ôås çkL,ÕÛìëÅ6kdÜ_´2Æo~ è}gÒ^MS òëmn¶aì0êÍ 5÷hWõtÚ0³C6ãçî|
+èÉ|þT\Ò!
endstream
endobj
-343 0 obj
-100460
+324 0 obj
+2459
endobj
-344 0 obj
-<</Type/FontDescriptor/FontName/NimbusRomNo9L-Regu
-/Flags 4
-/FontBBox[-168 -281 1030 924]/ItalicAngle 0
-/Ascent 924
-/Descent -281
-/CapHeight 924
-/StemV 80
-/FontFile 342 0 R>>
+326 0 obj
+<</Length 327 0 R/Filter/FlateDecode>>
+stream
+xíZÛÜ6}¯ðsN-êfAd<Óç´ôz¶@òÒß/©)[' EÅÎÚ#Q")Þ´ãðÏéÃ0ßg58øégúüøëðó7Ãߧ÷
+ÛɦQ¥múùñôðñ÷2npÞõð×`ÒóÃO'3§2ÄÓh(¼Ù ODáÒO+Dà(<3QâiE9C"Ï
(ñ´Ízb^ó0æ¼BXbùÌb\°¯FBbT%`¾±5ô÷¯õÇok%ñÛZÑvº¦õa(vóîå¤#,G¼ü2|wÓø:/¿
+o@}?¼üqº¾Þ¯&S©³
+Tî»:ãfXüèÞ9O=8ëýcXÓÃÙàjHûfÓw3.¿òÆMΦ¯Õt¶é{óÖ\1sA]¦r·SV¦4¹Êã̳^ç
+Å3`r7
»
+ Üæ®ø37äì fHb¦Ã¦WdQg`Av½GÄÌyN¬"£àg§¤~É ûRhôX0D¦\^ Ùa±g°E·MQã,ë(Yô(jR;ÎJÒ´f_é~C5¹
+Ú,
+4YòÖ]¼KF^À4$3ëc6º¾h
+5âÆÏ5¸Ï«_éJ[tëµ×ñ¤X:h÷÷Ù0Åì³L¾()_y?ãà-[î&ÞãÀaj2Ö·à«ÙN2wR»÷ ÍóÀ8
+H6-£Ù5¡ql÷qÀ»X>
+
+L±¯ú¦¬úh2@Ó_Ðî3;0ßuÝw¦×Â}D»Æ«nµÊýSº8Û#&r.Mò½=GÛ80ä09Ð$/±sÏz¡6
Å4º!
+
+ñ´Ld&À#âs!ÊC<9>
g&JC<ÊQxf¢4ÄÓ2;éz'-vÒÕNZì¤ë´ØI×;¡OÎÇg&JC<-^3Q|.Dy§mÖó6êjÛhQhg£,¡NÖè¤r
@Å¥
VÆ&ÍpeQÒÖj³UiLZÍÊ
+Ø<UÎ!:5XÏ
+˸G¥VQEµvÏ£Fè=õijT*½¤]gDC$³TÑ|:ÐÍnCcüØhþ*ü#ÛÍuÈiRxün´©}±ºû[kÝ®ð^±%"öx¼o3¶.²ÍÎ¥í÷*]Ø×êrɺ¨ÃøÀödqÇÚZæ²+¯Ô£GÒ
+ñÛi¨NlÝÓÐ?,²I}ç¬%0Ýë¾=abäW£Ïg/ÙÇdÌDÝXÎãÜx>µíñ^ ú?^èPמ^¼ÎÕIÒ½«ÝÙ_ÖÕþ¤Ü MýÄÕþy~&Oh3öõêdÐÇs
+ÝÈ)þë×&z}<|mÒ&ßÙæ±uTº4Ñã§\ÈÒó+]v_à ´¬ÉÝîIâÙ+²ÀcW&à§l7G®L0Mù¥Þ½1cK[5>s'>
+ñ´Ò¾>
g&JC<-)´ÜrÏ
(ñ´L$¾uß^ô½ë¼ÏÚ$Ýð-Ö(ÒêK¶DÂÖ4R¢ÛÛª»]©¡ìÁokØ÷£AëF'åÑ~tZ8
+CÝE¡ücC6i¤GºÑ½>7ZSwhÕ6s`UÖÁ·àÔo¹bS±¶íPÝMJ°îosøX;t4wàîõÛеW¥þ=´ë4¢Èç.h]C¡At4e[{¢síBJY0ò
ìX¦î^\UTyz§ß§&ÝJ¨g«*\Ì°å
+"Öâ¥[`¤JÚXLö¨n%@MMÝ%YXF_ÅÌ«A{;¾!dNÆÔ¤wò¤$+ÿp@&òä³eCZd"kZ[Xhjõ
Î3÷Ôc%;µ@x at 3öF ÑNª$Ä©%EPçÁ2å¿ýÈÆDÂõÍÛX«nm¯ßa3[Ö7Q%Xg3¸ÔX-Åê(6u(ÕÎ<¨ÁMÈ6{Öõâµ»sÿ7&³{Ý
Þx{Ö½%3z°ÀrïréÌ1þ.¬øFs:d5|s at AÍÛ
+ÏÎ'^õäÕÈXÒ£ròò«âÛpnu\.¥ò!Ç°Uª°ëFdß8¨ýÔjÏ@÷\{±Áçr7r(Û¼¥åRÊ£¸)ÄxáJRUÀ
+IÕ69AèénËBÇí×^H ~c{Ýy¤;ASZP*1óÖ@òæN¾!Q°µ,}Þ¢ÑG
ø-ħAzºÛ5×SH²üØMá4
+endstream
endobj
-345 0 obj
-<</Length 875/Filter/FlateDecode>>
+327 0 obj
+2320
+endobj
+
+329 0 obj
+<</Length 330 0 R/Filter/FlateDecode>>
stream
-x]ÖÍnÛ8à½BËvQXïOHY²é iÀ±Ô@#³ÈÛWGÎtø®>R4éuw¿¿Ï·õ?ÓåøoÕÓy<Mùõò6sõÏãªi«Óùx[ÊÿãËáºZÏ÷>¼¿ÞòËýøtÙnWë/ó¹×Ûô^}§Ëcþ¸ZNy:ÏÕoÝÃ|üðv½þÈ/y¼Uõj·«Nùi®ó×áú÷á%¯Ë]îOóéóíýÓ|Ëï¾¾_sÕããå_¯cãs^mëzWma·ÊãésM]óǧã÷ôڶ¸¶®c½sSòü1ç¹EÌYYÙ
-ÙçÜÖÍùíwÈæÒ#rbNÈs¼§mܳ½Gçnýþ@?Ðàôøýþ@?ÐàÎìÈôøýþ@?Ðàôøýþ@?Ðàú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_á·sõ~ßè7ø~ßè7ø~ßè7ø~ßè·R~ßè7ø~ßè7ø~ßè7ø~ß9þñwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßátF8#ÎHg3ÂÙ¶
-lÎù+Ú²rÉæÿY,h6¥;ÑÈDt8.Pi|ñFv ¢±+íåK÷ÌèdDTôÀg¥uNmÉ-^F
-̸>-AÍÄNèÄ
²,²éuð¬´aÆ`¥ÅALt&8eÁM³<#artËF{ÇN®tÛáÞ®LvqèípvÆv¼øÎKû2¥=²æn±ö=Ûaîzf»õ1þûåOOgñôË$@;<«)bÏwW<}ynS~y.®X§G¡ô¥)Á°ÔÁõë¨3,uðîÖÙÿdØ@±ÃÿÚ«ãÛ4ÍrùPvcìÃç1ÿûKáz¹â®ò÷p×Ø
+xÍZÉ丽çWè<À¤¹j2S>·]?Àö0ܦ/ýû.H©ª}ñ4ªFdpy±½Z¾ß~_Ôò³ºë%h¿ã¿¿ýcùëOËn_ÊÝ×2®µãjÁþSyøöÏvaJßãòuñÆç/¹¹tOm§á~
+ÉÞ}ÊÏM¨ñ´&üÝT!zf¡2ÄÓÂ+!zf¡2ÄÓëy|+£êÈä¾âkåëóG$|;$$Fýu%íÜØÒíßë?íÄöÈö35¯ßf7¿¾ßtrXá÷¿/Øp/÷ß_bkxQ\ÞÿSïä`Ö/Á_¿õüí^ÁGôÁø)3ãU
+·ÉßF¯îmö3øh£
+:Ä6î"8E;ÃÜíE#¯÷ÛÝݼ¾£ÖÃÅ
-ñjn&ª±dutpdp
+8bxÅzQ¿Ìùp&
+ at u°Ë h
+3O íP¼iº§]âÒPçA>¼F¶Uy_Uåà!ÑböÀ"àhhè_ðüÂ>q/03\<ÄÕyÐFÜ»lå·Qý?X]ìiOÂM"ÝÌ)ú?ºgDÅDT:>|÷´ÛXaoË[¾7±Î8n~»ÜÝ`x¹Üâ o°ö'+÷Ý÷Ok¯Ô©W°ïÁfö1ľ䷷\£uÕ`:»}
+çÝâW§Q5ÂKã24/¹HÎ"
+²·ä/5bP¾Y¯íäðc9åVjæïMØ
+¨p¸T^ľ
+j2O®©gߢr×Qåy²i-{Í&á"\.y]N!÷ÿÛ×è¾!ªå~&¼| Vú?ÊJífw¿ªÛA
Wuû>ÒQÝ^Úû"ú Òl
+×úX¿UÌuY£Î÷oº[üoù&t×8RÙï`É`Ç!
+ÂØæô·r°
+iínÐÄAAÚ@Üzyÿz+{âëym íØì±%8n½ýtè(âÖéJðâ7gö#eÜFÕ['8¶}<Äec¤8FíYhlÖÔR
+¬mðÑãz>Évx-ùÆDFåæ²ìsSâß©èÁ
+Ýò§ýe0D:ÉU_
}®æcû{"/ÂOX8fùx3\uUͳư¡E5C¾'"ÒvÁÄøS»8GÉ@x¼©±m$x{)Ck¢×
+ü}Àw¢ÆD#'75ë
+d³¶RÍtÜ
+
+t+Jø)Eða¾TN²@Ïwñ;ò±Ä°2?ÖuÐòÝÇv×±DmíXâ_d²ªÜ·Y¶Éj[
°Õpö½(ÏPãàZ°×ec¾ #È"_´Tã</nÍôànMoÞX1Ö¼Ä=©gu|vÍöZ0¬·ÌÎÎoÀ1Æq^Ø;B·~äãèdù«yäp5ѹY×Xò-ëñ)÷¶Ôö²±ß÷,$9ÐìÉKô}ªäGJ¥Ùk$ËXkIéÛ³³ãB]Óû6"Vsé#ܽþu3mß°4½#Úé¤}HÒèi¯ ñ.8³ïɤ$.i=(>õ$!*Í`¿RS8Km¾eÂSîmW¡(z¤I7ßóKTæCèéÛ±øÝí0XïR7N¢>*N,"×O°xËí^tð`Kðó¬W3|Û?aÁ
pgî%^×µÈ`·©8ýF'=é?QL¤;iÂS®JeÿXL2fÓÄcßÁö²èS
+§øA;ÔÞV(ìÐê'n×ô<6)ÆdÁµp»Ê9`hk£ôE<ÊrEóIsO7³æ~
+3¢JÖn5kFU36µ;òkù,U+ÈúFÁÈ°´ù-ÅiïÏØcxªÑ%×ÔS{3 ½ÖJ+Áð5E]9D¯f§_ª¿òæØ@]a=ë\aWAæ®7iwy©jÝ¢ÉéÔ[ "þÊLKyÅø4ÛáBu*Õ"²J;D
+}mX©ù\ÝB»½»à{ÿ¨ÒÌ]ârÒæ ¬DüÝ1S)ÓÝÍbm>Æp§[Õ½NôܺҮ®Ùµ½bÔßXwPìGW"Ü«kí_+.`6Î'ýÞ(RÏôÆøqÿÄ6Äëè 5ÙÏãh¥1è ª?tÄ\c},ie»¦[[T¿$Ø¥´Â¯ëÍcûH[c¿ú.MÅåÕ5hýtJÑn1/µ¼S6{zåâ¼!Î;ZÁLß/i>¶¸Y
+t«íª
+¨U6ÍÝÛÑË£Ázä5©ÜjôÚ!RÁÿ¢æ·n_ÿUÉ
endstream
endobj
-346 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusRomNo9L-Regu
-/ToUnicode 345 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278
-500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444
-921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722
-556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500
-333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500
-500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 333 500 500 167 500 500 500 500 180 444 500 333 333 556 556
-0 500 500 500 250 0 453 350 333 444 444 500 1000 1000 0 444
-0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333
-1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 889 0 276 0 0 0 0 611 722 889 310 0 0 0 0
-0 667 0 0 0 278 0 0 278 500 722 500 0 0 0 0
-]
-/FontDescriptor 344 0 R>>
+330 0 obj
+2750
endobj
-347 0 obj
-<</Type/Encoding/Differences[ 0
- /trademark /registered /copyright]>>
+332 0 obj
+<</Length 333 0 R/Filter/FlateDecode>>
+stream
+xVËÛ0¼ç+t.PW¢$ÒZÇéy
+t/ýýõtyÓ,àu¬ùsúm¬yk'gزèóåùòÆüJ?êßçO§üòòãôñz"s}1v
+¸p§hÄÎ~øjÞ]Ü$Æysýn¢pdÏQHÆÙyã /XÙ$`%`å/²ð6X}o®?OÛõôÜpäðÎð<ãâéWçR¼à`¹Àß@ðåÅGìïp¤h.:¤oÕíSÝêªg)e2«¹:fìN®&} ü¾{¸:X*¤Èŧ¹ìwà
ÏjQv
Øý8V?°o@ÕOlP£Úºc£9æ±x;f_øÎ&aö¼
+¨@n~À//-K¥W÷HAÝN2©{-Äd7«Âî5ðyÆêÇïA3©»ÔS&ßO¾¬¸$ð®|¥¸ñ^ÉF¤ãLJ¡MDñiÄIÊ
+(SápV1Fü£cxÈäCöYsºµªiM´(§T¢Qù®8m×QbÔR·uU.^<WÕÛ!oë~oy;êð¹Ç¡õ¨S«#^2ZxyÈfT6îÔ<ÀûJåU
+´cg{@eÇL?¬ÅzïOÖ%ÍèÌÏ\´"U°é
+wÖ´mº|ùÚG:×ì¤Ö¯å¸}Â]k#Ðm8´á9ÁI× L¿´Ôºç H*ÏÑC¡;
+endstream
endobj
-348 0 obj
-<</Length 233/Filter/FlateDecode>>
+333 0 obj
+882
+endobj
+
+335 0 obj
+<</Length 336 0 R/Filter/FlateDecode>>
stream
-x]PAjÃ0¼ë{LA¶z*AHð!i©ÛÈÒÚÔXËÿ¾ì¶Ðij3Ì.?·ÖÙÈ_Éë#ÖÂÙ/¤zcµ
+xZÛ#7}ﯨç
+ÖoòÖm(¤2*Ðö,üï}°àEð¸¦,/uÂá.oP8£xxÐ(NÍÏe}sE-£XïµÁ¿HlA!Ùt;Ã
+fÏÁðhC?#Ë10Ä=Í
+${k²ÚèÕ¼"м¢÷¤Ú4bçMEW³mFÐÈe¶ éf3îàÎØé¬Ó¨¯9HVRlÀ,3¡b×0·X?@ð·PÈP9ê^$f¡¸ø
+nô\Èä-WIàêsÛT$ zÎ;d3bNò¬oªEÖ$!ëòlÇ;¾ØnÆßC¨pîKAéaÄÐÕ@²3Vùq ÐQÈ\ÔÙ¿R¬å§¬)ÆÇÎq.®|a4þv%l(hô¾¸B´ºû$ EÇê^äþ<ñøõ`)Rgp\cRN²Aè|iBÏBê!ÇÜç{dliàpP96£ûs dIq§-<-Æ«°+¡ËYÍi #qæ¥
+áq²ÁÁgÿC>>¬âÿ÷¬¯pp|,Âû³ºÏãfb8!#ÇF ökè¼J?ÿß¿¿)ýg~ÄÀ·±ù}qøýoËÏÏ=Ö$7Ö"ÓgnÆ×à*È^CNÊ}2]ª£ÇN¨UtÇÛ|~)Iðgx(&¦\w@`jle"î#èjà¸\£3ÊÁj®TÝÇ
DJ÷µpSX#2A4%¿R^ß'7[«A¼½wNÕ%÷p@2;(¨ÆTbHÞÚê1u:§_Bt7ÓµKHÓZUS_ =óìF/E¦¢VlQv£ãNÁÉy0Ld&ͲfÓ$ý«Á)ÇÕô$
+áwóäAÙ)¼Oâ§ÓÆsÍàJî¹åDrêJP¨ÅÁ$¥bØtÖraI.° i§Ø.È3*¦J
+oCËq²¯Y?é¸2á.´åfÂGi^òIGJõÀW kâX vÖLé±à#ºP3]ÆM.¦0Ëöu¢v¡>ió¢¥·+ºztüVùzVùKD-ø"U½DÖ!¢3/%J|×t_I×!@¯öeÊ5²çÓaÂÍLAâ&¶VO3³½N4 h¸N¿"âC.ꧨ¶Þú ÙdÙ|ÒZ&S«ÆwiliÕh¶rms/él©ÜkKgç`%QÝeFÜN%¤+Ü%ºpkm?g¨\P³ÿáªoÔO«ÿ]ô_ÓØ%*Æ^¥Í6
+º¸"7ôW QÚaÔehŧfá$J-µîw¢G®HK)b»vôâ4þéBI¸áLÇ
+ÎÍ¡6YM×˧QÍëÛ% ë[mntw16¹ÆÓC\/mG½Z¦dEJÚ£&¸¶
+%£¼'å.W¹èøöèm
5£Æjf¶+^÷å:ÛxU®Êpgª¯Fß÷\ÿîÔï=XvJýMzôZF·rG.e¯Í]»µêØC§KNA×®]½gÝ®w6ѵNÌÉZtÀô
kÙ'mccë©P7±»³³r1|õ0hSDÌñ@×FDªmoow-QQÆR¿±¾q)½¢ û;Pâ±ã2Gϵaíë¸þÞ¸ÇûÁ>¾/±µëäyn'ѵ|ûY4ÿ®`¦ÝàVÊNr×ÙF«yÌÑD;±oqGô¡<ÒçÆbw3íjÏQµï~÷xÀ©ûç\ó}÷OwWÏúk¾{»ÕË\®Çz.4r>ç³¢|Ég¥GwÔ·¶S¢¯1d më¢Ö.kä¢z¥KIêjAm#«wStHy¸24Ôç©X²áÄß#À'~O}ÏstÍUBµ
߬²\eISre@Àø6Æè
+Y㨥·Ó§ßpÛ5Z/èTþIêé8óí£V,ßu2ùë«W.Ì#:dG+<9®xøhLýµ59y×P'4IR\Qt¸Æy] Tg95\ø»b
+ÿøòyùå7¬^FËðH§%âIpË×Êê#r|ðÓò-F
endstream
endobj
-349 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusRomNo9L-Regu
-/Encoding 347 0 R
-/ToUnicode 348 0 R
-/FirstChar 0
-/LastChar 2
-/Widths[980 760 760 ]
-/FontDescriptor 344 0 R>>
+336 0 obj
+2396
endobj
-350 0 obj
-<</Length 351 0 R/Filter/FlateDecode/Length1 5627 /Length2 27530 /Length3 519>>
+338 0 obj
+<</Length 339 0 R/Filter/FlateDecode>>
stream
-x¬¸eX]Û6LK¤ÀHw§ Ò!H0ÄCI Ò) H#!H#t4H´t½÷u_>ï÷Û¾çl®ýXç±ö#Ö¾ÖêZRs ãàáä~Ð-Í Z*
-Á@°ø mãxjðò
-dH?U7PT0Ë«é
-Øÿg
-Ü
-30 ;ìf-s Àäìhoæ_îÌ
-úMÃŶþÃ
-r¶s0Ùü1Às´wqþÀC³88ýAàa9Às3AþPäãloæàÊ òGÿÉ«
-DgmqþàlàiÿÀÙ:Ã[äß1«3Ðø'û7Ù¿8U0ðMÈönt
-#LÓU1s0·DàU]þá|Õp²Oá"¾!û«0«¶
-bá\5mþt0«È!a8Ym³?ËÃêüaÁÞõ' a¡6ðã秫ÀNWÝùÏ.f\Ï©ÀÉCÍ,ì°[ûR÷wö @¸Ðüé<¸ þwöíý*Âÿ{9Âådqsü±ÜH\¾-ny5O6³þÙð#ËìV?Àã1¿EBgðpÃC²¼ÕPp¹÷ù_ÙãáGäxëCx0Ö·zð'8{ä"øÛ
-'mw««x¸á¬ío·ü ËÒ
-óÀohpõEÃICþê,ÒyøþijÎÐ\<<ÿô '
-3C\ÎÙåïñß0wBp<"ÿ` ^8qwN¼7îðÞ()"GÞúx«ÇxxáÔÍz
Wày·»÷wëÃo&oÔì=@øFôd]dçFãnÎãû4ÞVC³¯KúxnT¶A0ÎÉÊ¿"`ð´Â/§æ<§ 3ÂñÈs£x6 at 3(B7?Æ-8ÞhüF
-Ã@þÀ¿òy#¿qKý5´Z#i<7rxsàÞ>QyndÑhq+¬müç0ù+¯7
-éàbÁ/ÀèMã@!èM¾oÍçý}+¸¹~X¬¬7¿Î¹ÑNK+1w7ú ¿.ýMCð÷ùr
Øqúî8¹¸ÿý<L ½=ÞfÁߨêïôÁ/T0ùâ¹×ßx_¼¸eÇj7̬áÙ¹@Ò~£µpFE¾ZEx'ÚÁn<7*«ù?Qx¬n@\aaP3ÓçFc- at P{àÿÌýÒþÇvë6Ås£·@G3boD÷æñ
üÖÞà½Q_øÍòôOYá³]nþ 8â½aø×üÿïwÍ]ÌoÃüÜýeøãì/ËM¡áa#ÞUxotú¦'þ~sýýFùýîdøñtkâbÃßz77c8s(È
-ÁtSÞÿ¾Åþ¶Ý¥pg@3¨Ýß6¾ßÁYºX ®ÃÿïÙ
-¸ÝØ|ÏB|<-ÎËÇ`0G`ÌÇwëuËÿ-Ó-w·L·
-"§·Ü !@¿y¨ýk¹åKäâÚ7¯²ß©ÿ«7ϲ°"¶æÍì¿("§Ùñ[ÞþàT~?Óþ}Þò$h¹åKÑrËÈí»*¢¿§¢
-Ñ£
-oÚÌÀàPééÖÌë.:×ÙØÜÚ'úk'{DûïûÄ#3ñ×è:¶!H}]×CdYa!&§çÚ)Hâ<õÙh3©Ìs(Ú¿(vIö9n§oà<ÙÿÔ° $§ZfUòþëÄTÍËÝóÄÓx.@ñË
-+ K
¸¹ý¢[âTØrã6W¹:vË4´Ê,³+(8h÷z7¿å¤Ôë¬MbÞnlp&ãUqáLØ9ñ
ºÙV ¼{ÞÆY^Q,úæÌmXdCH=¬éÜ3íæGÌ®Ú?ûÎã6:Óã¹Ê
Öú0{;fZÄßG6bàñÄ]ÄþhÿrÐpé÷ÅNУ©#P/aà,qâ0ë83o,ïrr7ÀÃÒ[xéºT»ñYìÃíJÒ&µ]ɱu·y»Üt/4V
w9ÌÝÞBÄêeo
¤½¦R¨kÄxn(£ôq¸×ÙݦÍaôÈ«
-ë¯ùu¥SM"¨tBÍOe9sG*Çüb«WÏ¿,1)öôëà©ùÍ^¦~Dc6:
-@i¿U¾fH[¤}¬Ò0dTÜ}¸±±BêYÔ]8}>F̧Ó|GÐ
-éiþÓs·ËeÈCªw&{²òÜ3W £ö\þ}«*þù{(è ô%5þªØ$îÇL.ë|¬ð~ð´bÀV'¦Uº>â?rs¦È~ÿÌGàÈþºà$¸=Íâ.¦£wJðþüyÁÔ~`ðiNߣËE+Ý0A+±ÔqýúAX^¿6Ä>ÖVxglôʾ´öÉßý¢3A}2Ñ6»6`Ëèþé@]f&hêd?ÄåxeòS
M5
-Äm ê6.fMÂeÛU¨[±§áæÌYìÉ$Ä-Ð'kèx<ôƨà>ù´Äk¥íÕ~øÇ_ä»t³ûhkñµè°;QWäÎߣ=#îÜ'-4¡»Z¶IâW¶sÿÒ)·
-¦vµ%û5ùiðÓÅBO'Ò¸ãXtÞ<Ãk<ÀË£É!ÐwibÇDZÜïqÔý²6OÜÚBgzïåá(¶öÔRº)³B*t¥£pð§F1 _³HË38OÕ}JF
-!o1ͧJÊ#˺1\ÌNw[µX'¨·¢3Kqu¶þ¶P´=Û»°ÛÓסÜ> ·BìÄ`7*Y!ÜÙ71Êtå@§P¹Éú ¾ SòÛôâ9Åú»)à-Ì(ûÌÈ4¯¹~ä×Ï9Q= OP(psðE_Ö¼6xh]ZNU_÷3BõqÐ)ºÆÖÉÏDtèÇ2p 槯ý«Ì³3cÔ®×ô¡c¿Úóüc®ðvª §
-èj^¤r¾×çÂqÙ«r7åòpë0I«±ÌÃÍeÂN,ØeC+eåílõs6E6̺î):|ÍÙuuÉx®s¨G«¤¯ø%2zÑíB_!º
-4Õ¼ý]³Vû!Cý]Jå9¾ÏÒ%§¶L®µÊ©"äLtëÓЮjÃV¶ÞS¾óݸ{@*-ÃÀÇDu®¹¾l`1¡ÈöӽDZåP\¹)vt¯·±ý¼Dvo_¦¾ôHXÕ¨8^:»¸)&'_ÒÀñ9`
-ãÂkÁW/½o$Û:eSº;Vþ@
-æ.7â_ȧ[%»5¬AùÏ/uÓE/
-Y¬Ó÷FøÜs¤epO5ÅE÷§|ÿ>¹ßç!äö~L±<{0^f~]ÏÕS'|«þÌÍ[ç¤Næ®ë««VA°R¹|'/"A¡pÚ鬸µÐKjAîz¢ë¤â÷,½õ±/r#HÇ®[$Û1Ƽn â[åY*ÁÈØúº{<¿KYýØ0ÈiäÆây at TÓ¤EæêIíÿ&áp窤9Ó¹;WOõò˳Û
-ÃJM
aq5´ÓZ,óðåõD,¡®®fWªdwn*7
-p ö,Ö::A?}k%¯=£8Ñ*xäCIÚx¸ÌîïÖÚïÜÒsdGmU¬C7&0ýã¥Ón_ôÂìýTM~
-*Éú<TomrÛÁu",4¦"*1ÔÜYÄŨM+a¨ë\W~µÌ(Qê#²úKÐ]JÉ^]ê½
-
-<ËÿóÏ1~ü{ëàp÷ýÔZ?Ã̲v{¡¨Ò~hÿi/NzcYåkÛÃè¾(osroDküõÛË5
-âÍÆX¿ï¾?%S¤Æµ
-ø5ß=ö !R¯sé|À®lX$7[bÕ§~ÿÚ^ükm4z¹¶Ê
ÞäÏhV§%±sËî¹åxpZùCQ¥=*ó¬"ZzOâ)׺éF½·"°YçülûοQɱð+vñN'µ¼
-<¡{OµupÜ@ÔeÞÀºÍÊ/½¦ÅúS4A¸`ñÅ ß)¤yìkh¹`Âü:eÎ"3óî{o$³®Ñ:çkqV$HNåä;6$¶³ÚMN|Ð껹Ojs$ÄôZ
aÖ¸[ý¬ðÛÍÞBãî@ûY'izTÊe©BPSHcxÿ|CúV î´ùηæ0mRl¹äaEÂîWð]ó¦]n«¾nÜr½ËUq'öUãÛaZ~mÀÈ5â¸AîÒhô!>ëLÜ®îûÝÝ¥$ã¥î.jIöøn÷Ø÷O°íÛg%íâ:%%pð睊s"Ç=åغÂÖÚ»çqO
-ýÒöT\¾%äùÀ73èþ
V¯fâ#Uh縩ÜWÏÍM<´¹ÂÑ;wdsκ~ùe¥ó¨_,>"ôëQMãÊxH<·¸ªÆ°º80ë^íÙ'_â!ôðG|C³QFFê*fhåÅ&ûÝ5PlÅlêJS·Ûd[WC!¤
-s¥ûÜößýÇÅ7yïlÈãýð/Ã þ²
-ûÀEã`ô¥ÕxÎe꯿pÍp64_¾âOe«Æj1þ>¢ÕEÔ<糶ò@ùÈ=fÈÀ§«êólÿkv¢Ç÷lÿms¡(V19PÕH5ßõxé¨ì3Oªüö®+\ÔÞXϾ¯þÔ\)浫.N®,Ê=/?køn[ £ÑéîÝU2t$ç1gbbÝe°À!/¬¬ÿ,Ñc0*}zL"kch²»tÑåIêA^õqöã³K-zÏÉZX?OK½-¶r[¤1û¤·évÈÖ(y£qÜRW3a#¸\éú÷¿$·u'²i
-Î×S©ðÓ ¥£¡®èýüY:!Ò0ì\°½þ]ê2ÿø¼×ó"ÐôS÷ÑÔH5¾ï<^I¹Þ×ñrëä¶Á; ê ðý:BÌIZò¨é2¼«Qe)öTKb&¬%ò 4zöìó¯ÁgÓx8´S!wfØ340NiR»èî¾;Eå¶wC{4ܽ~BÛGÓh¼Å?¤/sÖälkl!\4»Æ
XH*Qe½¿Î`}\] î4&Êü±oÞ ¥YEÛ~gº»|¦p¯XùÁTé:{ó2\X÷²<b\z£n§§SåóúÔÃÖTD¾1ÊÇÁ
-ÓåØÀë¹ëvÆ,Æ@ãã#U®'c¯ÜãFüùcMQ#®Ï%lnwÓS7Ó<TÊ®}ã̾-CθÚHfh,«]cÀûL.лØ&ÚÐ9¼"ÈÝXröÂ
-ôcç@r1F¦xG4Ù¶®ÓSíá;äÈEv'k°Þ
-¥
-ªJMz_sZ¡.æhâ´K}»g[ÁzYæa£gNʸÙ2~@5EÝöPòái[-Dþb8®XMÒþ v²ÛlÓ ïhQÞmÇSÞë
-FOYÝvî÷¿þì» HßèQûÞ&óW`>4Ä°ú(×\0Zêî±?P×¢C©äj©¦C«°Aú,*r®
-¿vÿi+QfÈÞdyä14Ëâ½<-mIn÷·_I+«¿õº²*Ã9ÜX@³«Ë[é$ç¾1iâ¼&D¨ÎêÙvÒÏT7l²mNcÝÏ®ñîmÜWH0Ð8´6%r`¿`D'ô/ûL±EMÍo<Ylhã6º3hÔ`6F2àò%!93öJ-U>Ëðÿ\v&ÈÞ#À±SZvÿØúÞ Ëìú¯Os:¸¯Â5BîPÃûÚË×$
-¥é§½Ã)pÈÁX
-
-ÆIRA´U³¼(ÜÁ=o%g5·Ë¿ØjɧúêñÛÙ¾*pÿ¡I¶-z¦yzé¨9]Qq"âUH.bbéa9zZ}%"_ý¹:¼5¤s'ÿdû©¡ý¹ êïCHÓ
¿2Wë9Þå3~re{HØp/RØç^Z9ú¢·üî´W§/ËòÎ&ä~±ò«7qÇô
úéoοºb«0Óo"ç½G2&µÎâê÷ÒíÄÍÒ¹gô3u-üÌ*~ÍcbýéeÃÁ³Ýãß@1Ö°ÆÇm
-ûÇÌ#Ñàò/4UIãôhµuÛã[¥ëýT/øz©ÍïܼÀXɦùËλ۸Ùw`(ëñ- ¬Py¶åÚ(YÒ¸Xêá£ËËBÈL
-ºîÏèÜÝyàÀÃt¢)ÃgËT<N'mÅØ(m°tÀëμøqAt~\µ²¸kO_ÓuSîu=6é4KZ1wÇmä|- f at rµ!;@î@Oy}Ø î]~¶
-ëkÿùmμ¤â\srjµC&ÌíÀ´B5sÕÿ`ùMÅ¿`%ë=Wá¥'¾¾îÄSJÇ-Waþ«ëKGóµUþÞ«>D÷ã:SøzÊaËã¾Æ
-,¯ér`$h¨ÝoJqútÎZ¶er[P¢Øí«gú}îvFyõ.8À¸65ñ´vUTȱÚ}ù=ʵñcÿGLí4ã;2:~²Sízs
-º$qþ¾Q¤óm±Èé)u¥Yim>Ì&T~u8Æ$}Ë5×e<ÅßaÉ5Ob¡P
- h1ZÂ߯ýîï
-6|º%¾
-hTOnÉ:-[!}Ãb±4L ÜOHsÍòÖÝ~3åwõÓ0þn®Ð;¥ÇؽÃ^
-g<WÍJP Ü],ÁºR¡Yü¥¡ÝÐñ^\ømui8ar"ºòIÆf)i»ß®Xx-r|#½Ì³¬è÷K°d¶;¹=N)9Þªz
-Âס$Û~èÙt1Ý°BGruÚ8^m¹ÍÖQ.w ÅE¢E¿ÚÄßK®ÃÈ7ðEöÅl at n"/C·ñ}%ÿ·¯îùÌøX×ÓYÔeF¤±É_¦â"ÏʱynöK¯D²@0¶÷"áߧ.ù²Â#£Â±vÚ¯\/<üò¶Ä!¶ìI¨"ëT.7FÀÅgØËÿ¸aÐ^Ä¡Y¨Üçd¢9ýÒ_'@IÛºo1Úê×a7P.ûRK>ïíÐ$5J&¥¿ðyëYsuä6¯?¾K*¨å:Õ\ö6ï«T ÕÐ%|îJ}¾áÕøÐýy¶Â¥é½búq¿wÙÔä|ýÂ8:Dsj3±GySQÿèó¾æÒ|,
-Ç¥¹.%l=çí¡h9OpbÆ©?=i-Êõ)²ð§X}Øÿ²ßiË7þD«Ê4)4êAÕ:g²mð½§øDðêÏý&Oê,$¬ËÍâp0åëöówI¦4û¢O¢]½zÚ²Aµè\×%»´X ·Ük®^ÑrHòpH"%O:´P¨Ïæn¼½Ûóso±þ]õþÈìñgýªl-Zzýê¥îÌ2WjkFkÉ> ,ûiF´æZÖÃEÏÉ¢ró¯ðM¸ÄÕ:z>ãR*ýTããóxÓó<y½^ÃLì*d^A´7Þ¿ZÚk´µáÑ)°Á®#2à9·Üç?c[.gyäLóMK}|ïâÇãcty®ïCòiϺg^«xÜ!]í§½7ã¤køæ?ñüÎìwÔH¤_q!kÅWß/''MÏg=Ü÷"wtB@Â'áIÅO»s
-ñ`pñO_ÔDçmEË}l
ضþ.àîCEJB&4¢ûØZq©iÌ®BÝèI ¤F¯p
-oºâÙ·:\À!ú¬úT.+%_u½7²á{³
-r.2ôÞ¶fÏgUîÖXµù%þN+·^t-õóÕZ¶TúÖB÷I(ß$HÕ¯ªý¸øíæq¸ÚûS¶Häè±VN
-PlÑÇý3Þjo&Õjtoó<rÖm)ºcñ¾À%û~½îïýw$_öô=|zùþèþ5ýnõ}$UëàÞ·,fµe(®5a{ÓI;^ÂS
-¥|³µIÙ2¹Íò#V¬(uOE4Ã^\ Ê;6'oâ:ÜÒÓ@Ëv³;¯b-N<J#Ð<©yTø¨ãLÞì¿»çÑÊh,:1!³áÒüíÇå]6R}ߥïûŪôź»R
-ZÙx£ÆdƽWPFG4Ö×ËZÖÍxk_9¿Þ¸nA©³3»Ø·T´8*Yu-î&è
-Ûî
¡?©øuD3ËP(å@F*+Ã]-¡÷ÕD¬sפfÕ;ÇlÝ´õÞO°L£ï×ÎêÇ&q«G_Ìè¤\1DU0¶^ʪp´òvt"ÀGA+
-¾e.%û'Üó!¡^×û£hI"På1æu"ïoÖX3«¤Ý¸=¦}{PÏLÙ3ãl¦I¹ÏpgdT´äýKø½Î¼Gó
§_K¡®¼=ÑçE118®¡îxt-Êv° 6Mu¨éÕ4,Kkª9
ùOXÑÔ£[eïX
-'ÞAM¦f4ðå²×Òù8KÅKü\¤\¦ºbgDL\ÙÝ0Ŷ/bÌ¿ÒO%gÄøk¨5K(notËâ±sè!91Âs
ÑqÍ¥dK-u"y£¯ÁÙm:lADiõrI¦à@ùÙ¾÷7ÎDvÚ;¥,_tß»YÙÕæϸãK1pl§ØîÀ^)î:íiÔU<2rôá}§i*¨?Pk´aâCåÍÓfGâZÞáëÈ%È ¼@zûòöÞÄl>ÍE®¡¸H·`rL³lóÈ,sÂQc$ëhü¢zÇð4g>0³8Èw¯·l¿H<Òı-KÝ?fòPèí¡}p9©º?ÁNýÔÁöED.èSh¹K4ü;th&±Ú±óùÔõ]ñæ¤R4¬4Ïý.×GRÛF6Ú¹jû>b] ¡vLCu»F âTôÍz/[]ò=Äí MýÊfÖ+»Ïù
-w<ùlB³PX®Yʤ¾µÊ7×ì<ÊdØúR"í¤þþ{:äV·Ê¤üØ]Ë<Ll
-¡&¯\û¤¶]â?0òh O½=ÏyýÚ6^¨Û¨ °ÕÊéGQ&éhß[¼»èé0¹½ÊV,
%¯2g¶v§¾iï#\õϲsbÞýfµÙðÉW¶zLU´àLdÒ²¦[â2Ïmæ¾`WQQQ+åÕ˧åbÉqT¶vp¼?áë>{+
-ZZÜûkbjm1\ _á"¾UÎZâ¦
m¤ið¹ümòÀoãO{?´=ñeqÎI6Ä·.m+c>ÓêM¤auÒPú<mó#£b¡&±ebÈR><Ó
-ßyoX¿k»;}
-]ùC>hÄèüí.ƬLvÜyvTZ ö·Ö2QÂs7{ÿ>~Óií뢳Oæ©/î~·ân7&[ëx©Hdßòí31Y%È=Ve%\$ ÍÙWª8rï ñÐs[ÕÊÀ¾_sX°¾RñxzP¢ü4 £KXÚØ|!:諭<X"{Çy
]èi¶ÕÇYÕß°=·Ç/AÆã+®ÂVO -mewÅ']`?U {M£¾Ç(ÙQ0"×k©Cà}ÞpE çÅÎ[cyÞªp_ q±ªàó£},ª´¥`ê½{
iSl²Ur'orÊù² 6F=9"B¬.i^e¨MýùÁF²Fâ}ôèCÔÂ߯þÜMô\B<Êif"¡ÒéøNã}?Ýö¦ixgÌGag
-è´òþëoÙh7á¼cXo§Ä;>óÐõ]_ÿY$þþ"
-;þøªÞ×Khuç×ñÇgïä{kkÓo3¬¥eÎð¼ï
-w<r:üÐ#.Ð<ÐÉ< 4JTé2½V¦j5¸PäèÄøâctÓÖ
úºgGïý<uÞtæ©<¨ø<Azܸ#f+L·[}ݪJåi¤q·¬èÒ/â4ÆÃöÈ1ßÿ7¶ÆÏ=u~zeàóÌôîc]3I×rÓvÕ°dÐ}iâϳÊi
-àøÑBÔVCËBýöáÉ2
-Õ
ôÅÏG?u¯s¢×Çu¦Ú¶ø®ÆP¾yµ±ñ%òUWöñ|Çv±S¯nJ?(9¤ßõë=[_ì¸BIWz?x|4£ÿ´6K÷~}]í>®°hÈp+p9û4TIJÛ6^ìÃk Gb"Ø3½8<÷rwðmx÷ª*wÍãswÌ^ÊPѧ§îd/<98_ó%½Ñ
-k¢9¯åBEûM&k3CÃû5ì½5=3P ÇÿÜà~ÈâWw¶((£Oó°IVvíÊBd
-WÔ{¹~wèÑdvÚ4¶à:hD#R}ÑjvÒ<[ê[¶¬¦°®¿DÍXqáÞr¼ë>>[;QµÆ`ÕT:㢶hÕÍe©óSåzç{ÍzkOT¹ð§ïVIK3¦ÇÙáa»"/ØMd³lxÁLÓ-+æ*>åÞÁùJá
-ƬÖÇQ)
-BþK&ꡪñ$T5]ÙU/{mæTÞõ^c$u°g3ClhIüh6"¢\@kZ¨¤{Öødä!ßÌÍëQwâc*Ç^ºÉRé?ÌK36Ñ@Ó½Ål+ER÷sF°_óàvÖn¦Ydâm¡¡Tҷצ|f:°V)b9ÀÅÑÞ,¢*qGo·¿ÑÖá"ÝósÜ]ýxh)E«õ«üNÇBÊ+é+iÍ(ùÕàʼz äØ&G»|4Z¿iíÝ?ê÷ÎùOêS'8EÖxæeÓ3¥ágË|ªÌ+Ûv«\¾Ò@¢8{Z},øØÖv8%6Þ_
îCïÝËà9¿µ9K_`îMn¥ÏüJèëD_ÓÓ> ©®#Yåx@~0ºÂÆW8òEF4}¿/ø¸8WñSüõ9¯z Ûû£)Aw©kâÙ
¹ÖPcì¥Zë³gçz=
-¸þ³Qéί?Zî\7P¥f<©?üvÈ~âºæÌòÞ¬L¬¸Á·Ék\~];Óy¬CbäÒÛ»+ËЫ®Æ'äYªÐv«×â¾Uq®=âö¤iukY_º«¦}Xª©§ÚmM6¼¯çyqE_æÍäD-¿_Ð{xìNØqDæ.çØà "§îî¹kÓí9µT%¬w)±ê¯
-ù×®ç¥r`tâd\|2¢):§(;$-*1&oNX°-_%
-s¥M¢dX±ÄØc³ëtðw£vúì¾X+$¨z;¥°ÂH lÜçdnS.ñ+1¼RÔÖ«àª[|BéÈ´ÏFK¬3Öa¼ҹêýäJ6ÛAÂÆøx
Ôâ$ñæÊ=É?©¯ª£&Ø%ý}ü3+ÝXÁ¯äA»¾¥b»ïî,jØ9ÙHðWÉB´´VÙ©j:ãz^¬ÝO¶|Ê%$näúØØ>"\rþÊ)àB½Zdæ9hXéC\¿ÊÏ#òüpùí#8£_i`^¾Q:~·ûBÞ´ÅH ëúõÌSºí×äÔ®Ù~MÞ»d±6±¦8ÁäÁ½ÍÎs/òÝ?Qæ$4Üß[ýpȧ`/
-Cnx C}*&U¦¯Ê|´ö|Z¥+òù÷çiaAÞM"ÇE6½:9xÉèK¯BüCZU¦.4iÕyhç¹uÚ-|Bª0Û÷À3ì4Ôå6IÓÆ*l¯gè%1ÝNº9£´^®^äN|;òìOª.î Ðãº/}RYËñ¸ª,äÀèµ8©Å-«-ÿñÖ»mdêH`ïñËÇFF%OP×:Z¨Ú'¼âîåW')å[SÌêz9~ÍFýDXrB¢.jobÞ4àÉʳDãÜXü%e*¦)T)¢ëÉ0ÍËvܻ¥ÏRÒBdi.½õ¦Ø$¿S7}¸ÓÁüÖî}yíÑNQ@ën&¥~¤f®hõÔÓWêînÎàÍòUËItJv»ª%øVqî~ÈçæÛE:@ÆRàý¨³)ªosÒ8tãmU£a":
-5ÊáѲ&¼;xÞ²=â,þ1|y¼ô ÙÚ¶f¢-(J<L`Í8Ú¯w/Òߢ¼ÁOØIY .{{Ѷ~Ka£ýkp.ÚNúÃÔÅØl_äm¶¶IL{u6¿ë\ð¥ýÓ¼@H\¬dLiþòp:±8ãû4½råA5ï©Á d9æö~ö"kìýÐùÕ°°,»æuÖa[|æȶ?ç½>fYê7«64S8Qg´ñܦAnÏ,s"qéc?Wl^qÖ?+Kftí)%ÒÅatlJ8 MJ5_È
-^(Ìo-{þ¬î0ɱ¢}uо8Wc_²gÿ´0T¦åÚ\z¤GuñÒVó½QHnàæ
-mU»)qêµAJÛÕ6ºå»×ËNeÓó
- ,us¾× 6{²§Õ§y¯}aØÖm£h at cÜû*Sãúx½Yª$í
-
-³S®I¿h=ªÏÌqE·´0\K:6=:¢¡òH ßvßOñ(°l +ÛyÜËn££¢jH-EaQðàe¹¼ÑUù
Þ¯LÕúÕ3|<QJ¾-dtJ+×úQ+Æ¡¥zÝsá½±a»l¿d'Îëß>üÂYK
-QüÜ6®6-Á
-àäéKß^&ï2mêý:Ù¤;ÍFż¿þ-ɯlêî@ðæG?¶;p\
zÓÆsg÷àEiN,-êN?g0wé=ê/÷æ^ÎmÙéñT§ü¤?O;¦°-άMþ))ýp
-ÅI1V8i®R
2þÞ4©ºË°µtFk*WÇJbÁ¯®ÞÜ##$-
å&ï?Õß·[ÉB«'õæ3$b8j$®Á¿täùÒàCE¿ÿ´CÊ)ið!õÚ÷ÆXJçºB|jOH#ßMdk :ô°ìüÓ½&ñà~ÁÃð´Prè8íÍ) qdí`]®9KKûê->0_t4¯j
-IÅ×ÂTÓ-j0·aôn¦Ñu5]&C1gÓj¾ð´;ÕéFú8D.:PÐ?
-3¬ËÊ©l@ºHØ·,~WÔæÔ\Ýâ»ëÖuÙþ/Ì¿+lºØjªmfÒüÞá¯dPgT·ã¸þMâ>ÐaB2æÔ©ð
-÷M"
-âß9I3§ø˨oG«+ö;ï3í{-£Ôo@$í÷É
-ÉKíq§=¢_Þü¤ÈG·ú(B¸sùÙ°ÚW,/§Ý4-d`Ù[æSüþ±CÝÞ¶ÔÙkþ)Ê©¾^«I
-WÌnov ^þH×Òï¯÷¸R_B/üÈ Ý#_à3{ƬÔݦ]ã<3@×8<ÅraÉζ,¬I³'ÆÙP,
-þÞÏ¡¬é'ú/5Ì]#¨¯Ê~3Nà·³²S§jURcTÐÉw^è¬Ç½d¬%çkÖ·m µ;= tG³|®Ê2·ó62¬Bº<¾IÆAÕ|Â9R)°m÷ÈëT:fVdüÌoÑÝ Yüº&eu_ÙëùÕOYzH³°ºl®Å
-oªwͣ
-{U^çͼ/[O¹÷JS©ÂHìòÚàÕÚSô_)w÷8Bp·i9cD
-ßSvh±A¹¢NT¸`ªú8ç³Þ×ÉhElG¤cÖd
sÁtáOU¨ÞìyneÉ
Ý+Ë~ø1"`É}`DÇHVܼýIÜ'ì-k¾âs
ÈóÙÙeÂîÌb´).MóuV¡öáz
ïßsº¦Îïäá@Ruwò뮶ÌÆS)ã·PI§û¨KÄ
-dcZHF¿ÏO.
-)"4Å%¼ôo`°V
-On
-Uq»¦fßS«p¯eë36}Nñ`Á=v>³Ì76Úyt(yë¤ÏGÃ^\S gÅIÈXÅ;GØ'e;*¬8¾ï#òrYNyÏGÚq&c¹K½)ñIÀUûñUtwÐHÒúÏ+ñ&>E¢»¨+Mâóæwä
-6T.üäëÏHTÍãåJmYÂPÎÑAÕ½DfO¼tÆt¯^¾òØyï=´¬õ!t4´ñ¦a· ¯ZÆæc>³¼½éwÙB'\8Då:À
-Ftn2F@k#¿iÃÆÆõç^<sláï!E¹!öêûºaOtb^½$qp!´¹ýà¦Úe<0)b˾jÖëBdÔU.³Áû{Û^Ä©zñ-=#vvY=ZËØÕWùù"B®ÂcóñÑ,ðg-!~Ø ËÅû^·ß(>¦§-h@_ýà?»M
MT^_«øÌv2 yk(mçÎBYeÒ§J¿b6²¤b$fÒí7æTcËÜQê±l0fû
-c!·
-J}Y¦B×ë&Úº0s+Õ%CØܽÉbÕ°BÛ3â²ófÎDl u¼
-ÀE¹"ãvuDzdwmz¦àïô»Þ¡')YäPyd7¬y<ñ6IbrLíùkÚF ½BMê4E+ÞÓa)5WgGOÖ7¿â2Ùk'ôÝ´.iSQìÀÞ*
-vyõCò< á´øfîXfÑ}°cùì-Á6·É¡yÒt§ÛÀ/èlqkù¢NùºSäMéROÛ,QQû¨sµêc
ÖiÁÄA>ÎãéÔÚͧmÅ&£Îm]失õ
-sAy°*bĸïÂr>¦].P
-Î}xUÿ{1È÷÷ÍRÓîT¯Xºgaz¹²ãöøïÇU£YîOðÎ#ʾ¸+§M at e8§ø!ðIOaë=üpgÁÕþ:ÿ9þ½[õzÆÑO=¯[ýÎðU%¯èáæKí9x¤ú~ïÿ]6ë´^ëÔqH^]&s10ÛZ##ʬ"û³õüDgÄÎF,]¯Æü`Pú'N.4|¯CsS=oHìppêµIUÎfÝ[pµÛÌ5Ú>ÔGÕ¦Át5Sm÷` ©/µ?
-ð1@§Ðr}Â1z8 ÇÌ<FÒ½¾#F¿
-ïdDnaÜ3¾nUeÜ}ð=0?~Jofd(×øH¡¢ý+)N¥$LT:/À!JãÂx&Ñ9ê°BkÊ´U
-ÏW-DÛ»ÛPl1ãé)u9úÔÕévì$¢©£¯dNª~`7·<Þ4ß|ÕÕÑêbÑZ%{ôXú·%-w«ñiâd
-æx?ÙÀ?êùÒh'8pñ5CfaüìW"`Å ·.uêîæÕ¨YT¯}5\vøRËOÉ.×XAê¤ý¹w8Ömé1£/êMÔ£çRù«Þ$üXuBX]È-¨¡¤×Ý!Ã/ìHÍd-ãÖHÕZÒúzlË(¹öAÏL¹uQôÖÐN}ß¹r3¥¾ö4ë.ñbÈ3¡'uCbFòêàÎ[¼olÑeßò_2Ôبòjj.Ç¿Y,v´¢á\@×e¥`H$Á,sÿ{Ðö¯|.Q\âT×½2~
-Ûw®>ü6Rç-Ü7×ýG%à[©ï$ñÂ)¤¿]l2;Ò# J¤À¤Ya Ç?>Up¦_(ú±wØ^øÔ!`§mÊ÷#ó¨M?gÎH¤tsª!ÌN~L]¸CòÉG2+µ)^L¢z±ñ½îr5ÀÁâ5üH¸h2]yw¢\D¢±²øƨ}æØ
-[d aÛGá :×fBjjli(Àày5å¡kÚl¬8V¬xÑvZs-ý¨zæÇ&îÐsÉw7¢-'¹£»
-.I%¿×Ãz°y (á5³!¸e"~wÃlt©ü«ÆÓ^ö§<<×ÓÒ§/Å«`g-Èã m,§Î͵)©pÑôs-¸õUeÜ¿ÿÆ>VfJ/5¸vígâÌ
-ªÖÛGñ¦'¯á
-EGX-3~~pßaó¶ÙWjfé§ý¾¼ëw_Å
àò6´ÎnsÌJÔPünWMûêçcxçÅ*îÿ& mKa2}F´XK\ Qèj[ùåAgM]ôÂË ¢GøCªüÁ1û»5D=ñµò·½ÓæØ]3IòLá£Ò8"{bº/x
-ðDµÓÆÑ®"m}ðÇ6nµ÷Û¨°ëÉmÀe»ÐÅ1>FmþªF[XíÞKje/&Ê?ôMª/·Æ-óã¯ÂFKý{gC¥
-ðMG`-JÖö\MÇÅÏ}ÚNBX&¾¨î8§jÜ9ÈùäÖ1Í
-¥\eÿïÇÉ3Zéy]*P:ML#hW÷DYÝ#!ÝÜ>ÿmaç[(ÃàD¼CVÃ_ࡦÀën°D¹
-à Ð/zp=×í¤TÇÖ`bMÖ%¢0×|:ÙK?2\IøÚrp+u§m¥d&«²êJ>ÓÁ·ò7 .á|
-%µóQ~¼×ygÚIµj¿
#¡
¿=ÍÉ;b,ÿ))çl!L¼àáW¯F_3h=Du&
-äé%KÕ¯Q?[+âÝÆ"Ð1¥ÓÈoà«vÙõTÓ[®+ëw>D»®¡@¦"iÉíS¸J$l8ó=_FèßR½æ¬O+&Å$càÖì¸Èò>Ï| ´§µPwÜËö,rÇYðt
-ñ}ye»
-@Ç-MªöfëbÜOx¾áÂcS#«ªÒÉ $8×o?c³9;ÉvѦ]÷
-g]nê׸àsa& Ú|ñ©Ä
-ü}CQÛä]Öyû°ØT3BF¹6v´VN°C
-]?TI?3\XöbooÝ}¯|¨*¯?<ÙÖ Ó®7©¿ú\7?öHtßðY6/Éa樸6ô5KÚLDÇßÝê©ù
-vÝóÄRùâ5eEÚLsXy«ôRdØÄûÀ¢×ho»P¼L´G¯}®svºòB Ø>-¯(íýÂnÍýêÇ\»»6 ªL%ó4l0°ÙºcôK4GàØÞAù"N©d×ûósáÛ5£[W Pü<nksô/°O;hpÔËIµ_ÓéXswvª÷ååü8>i)jgÞ4óßs\¸oM¼¬ëÇ©.^k¡¯QèAÁ vµíÒeò@ëf
p¥D]Ûàcd]õ×/SÄÔ/ÞT;eØG_3ßN©×ÃQP/ âUOw?LýyÆî¨ßÛt«».¯ª+]Äa|uq£ÁîCÒU }zñõr5ÉðZ
-,Ü
äBº)¹u&ÛÄ#ö@W@óö_ͬª¨à*e*"ÇUê[õæJ0S¹t0ået´ÀSç¶ä9_o4®ï:IÖñ!ú?5åëíØT´xÊ9HcÈß
-ö¯³&u¾ËY±±(OΩ4´o³}cÆçü6é2®zîþ&Ó;ßjñ TË9·¦×z5»÷¯´Ðô6V./Í8r0_[YWÛôy2M¡'&ÉÀ¡=¸¬) å}s©ê±£}Äâ£Á]ôËN1ÿndsAëì íRàÌnøË~¸#Ü"ÄAý¼ù¨uüL£¯Ht({Tºé+z×ÐDk5ÈÚdpH
-MǨ(
-q6'ò6RgÝͽ$µ.ªºc »\Ð5¤çowC±ae:]u?ËSå2À¥N+-¡¸, hðnàÞïiÿÀ#À²aw¿¢W8!TVÎ?xÕopûALLþ¶ö¨õð
½d!;¿L!d`ȼÀøT/··;èÃ.ÒJü9<VÀÛÃ`^
-·¯*kwx17Å8ïo
Ük5cÕ·ÐüM6Kù¨Ö,9U¡*t®>ä5ãqbJ»"2äM8ô(Ó'{ê½öñó»o$ô4k;Pq×(§M1j3¾¯à'?yZºäKç ξ
-YªtÀ°
-ÆqíúIµíýj§½VANìp,#H4®cV6R,89Í/ɲ
-ï²ý<Uõ;1`¾ööºF:]8JþnJ+ù8ÆÓT7)¯
-K"Ä
-hlÇ£r(Þ3ÃÍ:ãÙÎïeµÛs¯ùÞα K§¾*Óµ²ê>@ïm&í"Bÿ
-Ù-4½vÙ±K`ù¬N¢þ
-
-¨4S-a*nî±ïùÊ1¿+ÞÇ<øò2þÒ-¥Óª¯)i¸¥¡ û¿2>ï㩨òÃïIÜ|FÙïvAÒSç¡RØûAÌêzÔíÝ£ÉûË«÷ãÔe
1S!°JE;ǵESw`ûËrªÓè^[ä(\Ä4:24â0=ÎuèýF«<Ê2¨CÍ°Y¿þxI¤Ä«
-f¥ çúI¿.ÁðÅÞÒA]»J.WªëöC~³±nµÏ*ìç3Ù èñÉö)
ú,dÝ·5ÚÜiÐ)únNFçÝZ
-û Ý_r¬îE1yÉÿÀæÞ]Äk½qPLF
-ËalLQx¯RØqvÇU~ßa1åz8ï`ö)ç4xJÞù¯sÉYw&UÌ'=Ö£µ¡ðd¦Ë·«JÁµzZÜ¿«îõ«»cþà:Pó@§¨,Bã¼%qxU¤ým(
Ó¤9c>U³ö
-½¿Ò#öà#és×ÿt÷Dá²¾ÒF |
+K5S$RÊSêË2Qþt9Æ©Ø2}#é3JÀ|ÌÖQú/áë×Õéx7ÚϾf¢xÛÛÖÖ¬§Rua/;Z+wE8þêÓ&¼A8ýµ,[nRªj?·u4cl@Ü ³øN7áRÄIõÉaÙcwsíNÝ÷ÜrÞu
-]í4|!
-g!aªø Y®0¢ãªH¯Åu1WQm_¦UãVsSø0rj³
-éVìàQ´BÑBÀtV²Æ³
-Ç»a.[98:Ã2aäìtÏûÝtrf9nÒ=ïÜc*íc½8ø>]§ùJ°?XXlþ¾RQíP^¼zÓA@Ne¡!!tà\Õ-.9dkH¯8ο¯ú¼[KÅ/vFÌòdurçÞWÚ¿T®=Ðݵ;½u`ZeB åCðåLÿÃ
-%Øòô9I5ùµ
ÍÒqáóÈßîlæ± Ä4cè.8¯Tñ÷APãÚ½G
-·,½_uF1;áíèÚ6ÈF¾XötÉÌäÊãåZ`ùævx«3ü=VkfɸÀ¦xÉàêAôÄí϶ÉÙÊÉ6ÖjüñÕLò7#Õ5.ÁþÚIûgóü%̵Pá«È>h¾»w!ÁÆÎ6qYQpô5íX"}ô¡b׫ìýw`¬Ýç²#Ý[âßoÙdµS`+ptHvÊ
-fAíÅíÃDÇýãJÿ/VÔ«RÄ¢t»TÊÙ"¿+³É=¨Ï_´å/°üÚBÀzúÄÖäëX} ¿½(?ùReÐà÷/Ê
-«¶dâÔ$n æ«k0ÊÅ÷êóãéLìÌ´bva.HmØç=Î^"
Úã
%vòð:iáGSÓgïö3ù³¸1Ù½;ëáäcrÝÎîôòý¹Îl`
-xïw´ÀèêÔ=|äùu"F§®é[ÔI
{0ÞåuØ©+èÏ¢»3÷Õè"få,¬z¥8í_4^\ÃãzS_ÏS9},¡§þÓõÏþýëM¸}J §&á
-a9dÔ+èX:éÑÊGk·ÂLY2dâdy.V9á/ÄU"C·°AÖµÌÁdxÉ^N3 {YÃá ô>ÊVÝ®°Ð6 lÖÝ(kèaËîL%xýJïDPx8Ì(,ûef]ØÇýÒ²¼LÇ9°1u ìK8&.=MhŧI¢ø¡±G9 U6ñf»èÚA\ÚádÞ¶Ñ䩪ôÜíû¡¡3íÓòÿHuh=pKiOçÊÎXhT¡}) Ì\G9¨ç '©õr°øJùØoBâ)VIª«ON6Æ÷óø½¿ÒÀ覧ÿ Ã3?ÆÈÇ}@5Óþv»W
-{ÁGV»éÃýgײïAþÀ`®¹õ i¶-Ýçí
-ß
-Çb± èôBÂÒZêãIznPªâyùÝ´Z@Ò#n?' bH\ŶΪD=F9jÂ{²Ùg}¤@ß=Ϭ6DUÙÛ:dH7q¶ÙÂ@ÒÖ5O¼7ÈMk{míäOå[/Ä1%Ñó+®¢Zb±G%$ÿ±]sؼxÎøIXa§¼Ë
-¹{Ísèä.®þ ©Ý\-ʱ1â;¸ì¿ qWF]²ÂÙ¡¦o§HU]øp@Ù$±Cã aª JàRÖæüRÃÇ7î,¥FÊZáû|Oåå{W8ÄDgW\®I|(
-BA+r±;±¶È\à}¤÷=êåò4î-NÄë¼ôbøÛqºGâÕQonH
-W¤äj¯ß lö"êÍÚC66¤Üjj¨æ3H:WÙhèC9 <
-3˵çEXâ\NU!³Ç%ÉÐÐ!«ÆÌïÔð%¥ëõ³fsrÝAfº3³?#W¦úk´ýÎoDS_;Ùv"Ê!ÔgK÷ö:<Ì+ûan1ÁìÏX;¦9¦!xË>|ðPÐAìV\Ã9(¾% Pá
-WÌdiâñöèìh 1)²La'wÍqÇ0ÂÃðCËè¯ÛDü³v )§-Zíò£ÿÝï¤B£Ãy¸÷ßÎö)_Ç_¢Ò
-¡<ïÒN8~ÝwFAF}|nGx!2)aäg-Ü2TÁïzKç3Þ
hw®å1LOúÁªYÿvbXÛ NîpUc3Î
-@êz\? ÛrÜÒ¢?$>x
-êYGÜ0ø¸1ùÚGtJAPäÑë)¦wßoí] Û¦b#D®½Ãí,^®gÅd1øÓà:µt¼½wB¼æsPìèurê¿©ÖìÈ÷ËfúwºPeÏK,V2&âY{vÒðØ¢$Ò¡*ÛÇh¼¤Õí ñ¶Ù¿À§%93ɱB½Ø#
-\eßöæ³±ìÒY²³ædEL^Ð:çh&Ún¡¸Îã16·ÛFµ=^ÞDÚAàüÍÞIzLlÁؤÀ¶ÅääÕÃY<÷0¼ªßiZÂq'Û;JÚ1´9jAʧumÈƧ¢äÛ¤ÒçÆÏå¯=þ´1@kçûsç}PK}^^å"ûÃHVkÔùËaûfì¸>dè\¿»A=¢1¦ú'wq{¬§¥H§K¾!«a Y%U¿|Ð)¨ufêg§'wÇ+§A¥ø)³Äád 5³<uƲgÉgÒ':³-AÞ<´xß+¬
-o%°ø±Ì<~°ù¬Q~Ã1kõf!MFWcB¢%;^\0?ãÑujx+çÌ®<â³³¶\¦)¹6ääÕÔ©A
-{®Ü ¸ÙÝåâcÔgçÙÞá{L±ËàȶÓ'<·jö5oY²N0XµÆ7;3âÊ\|ãü4Q8:¾âírîBdJUgM®×áÅp:ô¶´fD?\eΫ6ʸéM¤3{ÐôM
-¹À @ôx¤Ñ¡EóʧԽ¹MªAV5
ª¶@KfÍÝ
-×v¯«p_}7¹l0J3®ÎZ«øoðHÍ
-Íz çù}»í\º]¦Xö2¶¡`h?¤ë3ú|Pù« rºy=õ5xaήD·8F¢'1ÇTþ°ºÍL
-Gu½!ÑwÝl©ºÓi>
-néW
-P]i#²6eJzõ;Y×]æÜ!¶K3Ãô£ÓºúËÑ»²_ÐR$CÄPËà7ì"¨ÞóÑÑð
-ê´Ë71zõ&ï#»µeàÝÅ^ÚÓ¯ßÂßR¬Tæ(ëmÉM©/4m²Ô7<.ñ'ÛËh3¼ÆÚ©Ó,»vÄ)&ÁrEKßÉ(@6®1äÆèÞ÷Ä;Y%WBU¦OQV׬â°OÏöFÞÐãÖ®Í8Òd2²PÛβýÐköØ'7׺á`ñ+GaÊ4ù½ûM+®*CÙÓaoj\yuêýØû⣠ÿ~C²µfý =êȦ»|M¤î/NDFÜN8åY é?Èn¾i:\ªIN:Ã{öOU^swW1ÛµÙSñƤ ìÆM }>õ6Ö¦»Ã9EbM!¯0Å>8vÏ·ÚÓÈa· ÁâÛºUJ»+ù²¿«G´¨w"ZHþP¹k÷8Æ;ÎѧIdB;ò£ÑÅkâÞ©»Ü«-Pi£û°.s!:ªôex[È£ìô¸usxOz¨Pbi*hèLCå2òÊøÀaX%Ù¾¹ñGû¿Î½Èxà÷õ''*Õn³è.~Í/ºF÷"ö:~e.:(AVf&Z¬èÉüê±-ý³}Õp¶½+I±° ^å7ÉYìõÿV
-ö¤KÜPïìÐ
-Å®Ölr5C çaÄÐ'S¾ÿp3´®x[;¸vÊæDi½QTÆÃõ8ë±®T¶ª$ÑÑ.E«þRf©±
-°ïHkÒêZC
-&ÛÜ;±q3WLQ]ìlsâ]\Ñ(IûÞj
-æÆó¦jŸªÃà¨nÓ£HÆ lqUõ²sßQaJ8|¸6Ä(F¢*禴¦se
-§g9¤MEdwÿ[AÒù%©dW;*:éÕÚßéWJà±Þcß)~|\/`3Çmô"%ÇÞ¹_iΧ?mî7ä.Ãg«Q1*mléÔëý ¯ÚÛê={2µß¸ð;°1%²M»^1ßlcñ\Y¹®-î1êô-ä^
ð:i¬³^j[ù´Nxù¬"ÑÀ&lí¶õnyx9¢JÑÄãENXçO
-rsÉm{dæ$ä«/ØgtrG3$½`óIÄqL0M"§ÔGØW[¶JzëUpO}ö¾Úö`ùÍÒýöCá¨lã5FC)ºäÆÝÄ¥NpFSÈrïÛsÖN}õ.eùd~Ï5é8DÄ°ê rÍ7G¡¥eÄÁ4KØ Ïï¨#\ðaÐðx®kÎ/a#aDÇnÌdÇêòkG$êàG?à¿ÙdAÄë¤Äȳoé.M¸=.Ä«9J¾ªÍÚLg-²Ô>j¹l§WaÅ#ÈFê£û1N¥®«ÿq:Ï ,¡C¤Aë2ëP¶3nQ
Sîû?ð' ÑÚ^»æ/aâC{ÃËÛîÜF%Ê?8ûIÞMª¿u×Ë"»0.M@iµdPùè°Ôû:,4þa¯äNÅ^U·ð+4¾IÉ^[åb¢p¿LÇgN;=fùØê²Üj¨`¸1ðÖðdO*«mQnÈ<Ë0þ½©dì5ñðC7cÂ÷9£0z0B
-3>ú3t1UK{ %8mÓ)`CØPå©»ÍÈ·:<$׳½(Vwug£(ðßøjZWØJÞþB«Ü:q ɯ6[fYa·5ø¹ÒôΩÏ#NºÏÒνC®»WùÖÒ7o
-2
-T<O1ªð(½ú²Cæ×ÌЧ^É¥êØß)à¯Ý¾ð0²äø;÷«aÌDl}k
--I¾ö¨ýðªñ¿0?qøOMV`ÐWq)
-¬"Î*Ì©ëÕ²6L½Ó&wí&+ð©ooª%ÈÆtÃ×þÅKÉ(3Yw¯Âì Û bÒ@1 ùY:ól嶳«©Á\
-,sQ*Ú¥±Xj¢'B1ÕéÔBìâ»±GO[/
-Ój Vï¼LÀ¢÷Ðîøe<°ÿèñOð½·ÔogdRåv[j¯ï¢¾ÿ®P<©l`ø},ý¯k¯z¼¾eÕ°}@ZäÝb~Ô½ÖÂ<Æ);)SÕ,ÑhÀÉp¶vÓOiUÂ{E:Óõ0Ñ] hPK5BI¹¾F
-µ¦B«Uùä¹Y:cÞtÏb-äDÑ©ÁCDO¯ûäôvo±Y2
-+Ѧ6ÛÀ{²JäôÙ_TÏÍ=Y¾àIKVýNì¾Nf3%RR>ïy-$·ýÌ&þ`@ýÏå09'É1Yìüìù o$ÑWþdP.ó÷A÷:×»5¢Áµ2nÞ;Ö¿K_j¥ÚÎx©®
-³ d]øpH90ê«×[v;{Bá 른üyËf[¸§üî§:§â¨Ä¯zLq¬õ
-$DzöÑ`sÁa<iÈGÎÂé½IFÙï:#»$N=/W¸é2>L©NXÓ,=ìWúï¿uÐËóW#`*¨î~ a§ùnÇÔNÞ®Q<ÏÈlJ6LÂá²ÇVGñGêIºÙ,]?¾°ks5¯_ïËÄóÙ³äÛ<v¦ÿeàÿð`j÷ßZWÇÿ¶Âün
+xZÛä4}ï¯È3¯e[Z!Ít'<#ñ°X$æ
ߧª|Mb'ÝéM\e×íÔÅ-¦.ObúV\åRáoè÷ûçéo¦¿ø%ýüôÃ%~xÿýòúvQÓÛû$®É%=¾*pÁLr®vrÂLo_/ß-òê&¿L¬6V
+7`avæûéíËüvù±ìÙK¡¼¹úéí·é»
þ)åLî'hÕ§³ A;ÿ^`V §ðë4Óy
Dç4,N©9qÌ5ìÏ+îaÀÝsÑW5àBg
+¸)P?&R^uf@¶.¶Â¿=§½.þo|êyäVä?ÒËWY
Ùy/Wmü8Òbì%y<i\±;Kª¾×É¢I\'É.Q!Pé7*aýÈl_VïuÒoÿ#Ä`
+¦ôtwbhNõêê$A¶-é¼µâ¤ØÅG©üÕ9öÒl=¹±÷jx-VPºXÊ<w<É
+=a¥)aäV2wÞ§øP¸7î`à¦û"Ê:=ÐðYØ
+¨%(8&kqìÇ9YÎÖQÄ+®²Å+B«ÀhÌK^2Pª|[´Òd{Ê%᫤¢¬g¬ë`¹ã:ãc at edÎwCZ ´¡6
+õ0i
+Ôô÷Z"3sîÒUS²äu®hÌ6cw[õ;ø}<íMO³7
+9áùS#4ÚdµÕ5.¹ôXà7.>ǪÖä]½öwYrN
+« ©Wè}¦F¿:öÍÃiõÎÏ{C±£S®ýÁQWÌ{o½!¡2l<¡Ú>Ö%MÅ~èTöeüo`c=«àÛà}óñZ<}hßÓ7Þwcò¶Tá
+ÔÏ£V_ÀÙÚq V¦h1ZS%Ä5sܹÐt±QùÊÇ>9÷±AlSþEN¢rÚy#%Ñü©¯cüÓÖ÷¢Ú±2w8"z÷>ÖÙ¬P»
+>Ê0`¥ì¾vNVÙÜ}·Å\ÍÎtâì;iÐ]GÍÖynÏ#ôÑ7ùúéº~3Üv¤b&jBu~¹i^#@õÛ:OÙÓ®JÝ04:KPݵèôÄRuÀ¶q¼{ü;K4%Þ
+93Räõ$p±£¸î79±áÈ:«®e¾äùà n°ï<J3ØåöºÁþG¬àNPüöOá«Ä§BµÝlÏ-®;ûåá}s¥TÚ¥éNÔ{M$ÇQ£*FÛ*¦W´ÒU/1êþ/©iâÄǼèàWfF¹"Í©³bls¹cVÙ/8Q/lCëqÚ4Æï§g
+ãyoÃÁ÷h4`Þ@¯SK.sQA_C+Ò.?tPé
+¡öÌÆâ¾*S
endstream
endobj
-351 0 obj
-30100
+339 0 obj
+2521
endobj
-352 0 obj
-<</Type/FontDescriptor/FontName/StandardSymL
-/Flags 4
-/FontBBox[-180 -293 1089 1010]/ItalicAngle 0
-/Ascent 1010
-/Descent -293
-/CapHeight 1010
-/StemV 80
-/FontFile 350 0 R>>
+341 0 obj
+<</Length 342 0 R/Filter/FlateDecode>>
+stream
+xZÛã6}÷Wø¹@Sën3Ýç-è´[ º/ýýR×زlwð$"ÉCRÙiüwøgƧx:Oϯ¿ý0þÍÒÏ×?÷ALòæF'hõÇïãO½xýeüä´Þ´Ó«^ädÝä$~+§¬·]exçÏãÇ_î&!Â>Ñ2kì
+AÞ®ÖaiÉKÅ¡q¥r$RC໤^Á+Ä:{óq-¤LVàPÁk5j>ÈTqSü~ý>ïLÖ0V5kì
+ at Yïnú¸KwýúËPoãÇ×qº)𥶴l
+V®ìNïxe]êI¦ÃØ0LzªÄ!]HÃÉûa¹úÙ(Â*á~ãï4x¥¬up¿N¡²Ùx
+r½ÕXgíí3S&þV¨,a¥ËÁuô|ºbÉ^;ʳ^CnPö=YwjÞ¶Mº¸Z}9I.'«àÆÖ?ZEñ$!
+wìrá
+IûFE9óSkÞ!+ɪæEõ.¹öñsËþZ®b çrFðOLü^ ÖUBk¼\Ï04Báü6]älPöd#¢z¥&ú³,3ú5®ñln9¦8î
+Þ @ S]$3aÊMþ]Rd(7Éñéä¡ Ûå%æ³À2Iågà<D+¾Ð?Ô«)Dðmä»þÂGîj Z8
+þʼé÷e*ç ò#ǽó·TdºyLå"°a&ëâ~>lÛ'ÏɼÁ´¾Ðw.ÉÐøÂá§!Q
N ë--û]*ÌqyÌQdÏüµT+E2¢}®äHáröq¬nqÂ4Í}fÍCÌ÷XRå¨øLquIý#ÀîsY¹ÇW 3qÔ(ÖqLuDL6ÓI^ëÚhw}$©@%¡LáÈvá|ôiK!¼m¼n¤§¡ð~ovxÚç8g8î\¸L¡³ä²*o.àSï³?UÊT0e®vj( \î(ý
+QS ñX8U);IKÍF>+¢V¨ðØfÒ¡\ïY4²n·<gd/ÓÀ*|Ë
é`y,T{ò"ÆÁ3Æ-Éî(ÅDYw«2P·U{¶ï3¶(A®òYF´MIbÇV+.Ønòg(ö°·s#ûR5Ê>®RöåX>ü1ÉÑ3?DOj¯ÁVÿb?ÿ007Wrª-)ì>UØ&eïs|Å R]|=N>+·þ[®8{ãùQ¤®t
+Å
+2K§Ð¿QÕET¢ ¯pWSã4bØC^ûã¤iʽBxÂzÙl9°RÙ·ÁÜy&ÃÜÏUJÁfÉïùàѪÑõdX]ÅÍ¥SoçÖ{ipÖ0ÇFáÀÓª7Í¿¹3ç¨Â3â{!Ϫ·Ýê;QÍ À&7,W)w¾úYÃæ´
+AõÊñºðÍV|âÖº|«-±Z;K at Añ§Ö7dkÑóLMj)¦ Àýúx£R,ã-÷Ô]2±iJ6Þù°Ò'o{±¥»ÚÄÒrÓ+
hê`
0:x½UbãçÑ;hIxô[ÐÊ%B3ÍRÉT5Ð2»Å¦,Îh©¦ºÊ6^L©ÞÖëüyÌ6dÓ í{R>÷-ÉñÿV¤QbòpÀG2_U}ýcüòCïÆo»ilßiP[\ËÐ4Dõ+óûÈ ]ÒOé^@Ò
NS. tvú}
ÐîlsÏhzÙ3úÑð¤NO²°©MºÜUKHS.£_UÓÄÕÔ$gN?óýðöLZµÕZBNLKâdP`ãlÓt»L§h¾SH_®ÃI»p3A÷Ê|oÂÔ
+}ãî§VýLà¥òrÖékWç¾tÌRÊìÄáqɵ"<<¿®µ¹Æ¨ <ëѧCYtÇÂþ+©ÃÓÌܱÛÖt|´* Õª£v½Í×
++{UÜ¢ÕiÏQÆ«ë ÃòkÄÕ¢%@'Xy/m-^¢Ù´
¨Õ`Ôî©'AFü?b³ï·çHÅÙ/ÔL2dR¢ßRÐ ¾Z tâ÷d>"aÜsìHÆä¹E$´fxHÏÕH*!¤ÐößBßY}
+ Ýåeoz××R}còj
+<mB;¸i¿Þ£ÓÀÈÊËno°[¡EÞͤÝy£H×p>v ^ÞÚÃ@má.Áæ;bs`èâ¦<êH*Ýó.þ¾Ùº='
+endstream
endobj
-353 0 obj
-<</Length 995/Filter/FlateDecode>>
+342 0 obj
+2121
+endobj
+
+344 0 obj
+<</Length 345 0 R/Filter/FlateDecode>>
stream
-x]ÖËn"9
-~#¿Áoä7øü¿ßà7òüF~ßÈoðù
-~#¿Åoå·øü¿ßâ·ò[üV~ßÊoñ[ù-~+¿Åoå·øü¿ßâ·ò[üV~ßÊoñ[ù-~+¿Ãïäwøü¿ßáwò;üN~ßÉïð;ù~'¿Ãïäwøü¿ßáwò;üN~ßÉïð;ù~'¿ïþMÁã÷ò{ü^~ßËïñ{ù=~ßïÅïå÷ø½ü¿ßã÷ò{ü^~ßËïñ{ù=~/¿Çïå÷ø½üõZÿ?Èðùþ Àäøü?àòüAþ?Èðùþ Àäøü?b2GÌQæ9Ê1G#æùÞh·7×æþÿ/²H¨22Qe"e¢ÊDÊD*)U&R&ªL¤LTH¨22±áaD=D±¤bbIÅÅ%%KKz ?áOò'üIþ?Éð'ùþ$ÂäOøü©°ÑûÜÇÄäÏø³ü?ãÏògüYþ?Ëñgù3þ¬¹2þ¬¹2þ,ÆåÏø³ü?ãÏògÖ?ký3ëµþ¿à/òüEþÒý¾hübÈ·X²æ*øü¿à/òüEþqð3>~ÆÄ_ä/øü¿à/òWüUþ¿Ê_×</Í[
-YóVKÖ¼UÏÿe¨,CÝe¨÷dj$wC÷oZ7dr7°ö@eÿ4íÚÈÚ
-s¿¾±gúõ=Ó¯o
-3sÓ7ÌMkÞ07uoº7ÌMÝÛͬ¾ífVßv3«o»ë_": é÷÷ÁkØLÓ|èêǼ~ÚÒ9ëxÿ9 ^ÎÝÕ¾òGMÒ
+x[Û#·}×WèÙæ½0Ì´¤<;Y Äoì?uaÅ&©ÏÆÏΪ·º:E-×ß/ÿ½.×¹FcágÚðç·^ÿöÃõ?ôÿ|û×åýË%,7wMÆÀ_þqýÓÓßÒu»~ùõúÛí3¹ø&-1ÄGîÍÓßð¯=>ñS÷øùúåßÇË/yÍba¦¸-·Èã?¡íB£¬¼àÃkùc»ÜBþ<ha¡Xm0K~öL6úg±>»Ãç6ob*cýr[å9ë<<ßàoÇÛIe?²Á²üÁz³zþè`
+çuR}ëcþ>°skãó
xOÎZËâuq¶3Ь2Q¸yY5åÝE<ÛÊfl5iØêpÐÎE;{©ó¹¥¤tÛºQ '{ÂYó^-o¡Ï ?}~/ø"¬XOo|U©§weÎ*x+jq¶ÊÏçµD)ÕDÂp±=u=}ò¿ËÕà(« Eb.G#ÉÌ1¢õT5ú^yI,f³àÚLÇûGÂc[oOÔ>Tà©Úc
+ÉަݢÊ:«@§G7ÀâµÛÑ6êË|ÅÇw:%ÉßÁJÞ1÷ÈÜÓ@8xònÍ«
+`6Ml ¸Mäà;S
++ ½°à·¹=¿RÃÔúàv¥,¢e~dÑ~[§y ZsÞ¸L¬ì«Q0WÂ~Äaá¨,* <ýãô$PföLd\¼àcu"{
Íäi'Ũj £L
+$±w{ç2
+þ.¬Æp<åçDV{{âxzÌ,%[Á AÁ\jà
+F)ÑÛ<!*}á$¦ScH6¤ßKòTþÞ
+jþj.âçI®FZÉRc¢içV%`ïr\tWµÎ½køI&zg¦ñ1C;úÛúÖøH+:J¾jãw£5-ØTâq9 ÁݹPÃcyj$Ü lUGÃ_ÿÈ>´^²c¯LFÒ
+p¢þ}±u
+So"ÿãQ^³ä³IsöHòL¥d
+z
\½FaË®^ݶT1SÍ\oÃZ:%»òÚð¸ßt%é£?
+Ó Wc¡zõvÿÉ'³EH΢é¢Îq7®
k¸¬V¥ãóh«M>ª[@3°b+È@G0F̲A0¸Ǵb¶µVQ×ð2nTõGK-RZÉ ºóĶýÆò:Õ{ê l|=ð*-p*Fþ0æ½ùêØ9hÄ£ Î~ÅÜK9;ÚN%Y´Ý³ØwðÚ$Úpõ~9`ÑaÜpöqþ ¼ø0YëY/3˨ÐA¨:£Ô+e¨C#Ìò8Z]þæu
IÍ^=ÓT.¾ò6gçfâVDíêxmR%gP-CÎ'AQv;Æ\5§aúZ£ ÏRÜÑUDy¨äÜÛ,¨nê+
é8·NFyÆËZ×£ñøûÍÆ´ù«¹Býäù¾^!Ý;b¹g§zÐR®xLÕ«ØpÊÊD4ñÞdm]ñ?¡TU×Lmµïpr\sÄFzæLâ),ÂÙGùNé§ù¸Ì±Ûg<ÊüÁ)ä]%ÌaÓ¨Þý+£¬Ç{ÿ^i(´ø]p|íÝ(0.êgI]÷]sbN'ÅÜÃìÌN÷RÑúÀ jWå/\ÙÙÞZ|P¨=%uJ2ª+7¥zLñ¦"å´ë~W® °V}'D³ÑÑ;{NÈâlvk ÙêhûÂü¼ÁXv'òË ^iÉ5ó)æÜ2`!êÞ¥¾ÝØt3Töôft;«õ³S?N=«Õ¥ç>èýª"jÇûuü¢b)»ÈÀôÔ~AWqHyØ5=US%wô
³¨<yÛ7íú¶2Eùí:xr~ín´rç 5?Ãu'Aå%1OÕ©YÞq'í×±
Ú55õ;ÿø0°òHC'%xëx¶#6ÝQBìHN½"gôu¢3òUTÊ
+BuKTý=¨·s=©
+È vI¿ÿvýëÿg&¼CÂH3p!AÀ÷½ÐÈC"!\«2) ²Çé°u/ý*+°õú>è>`ýÃÙÖ?½Ó¼£Z?Q¡Ð²VÑ£úªp®
+!h1B6ti¦§ó<FD_Ý$ÕŤïÑfµ,¯%¹S=î1zGUÊÕz«lïÖ©(_Ã
+XzÄ@å[
+õìuÑ=¦©¾bR\Èq;R¡ºÚç&·Ûê¿¿jmXC[¡d3TdJÊ°x¦J_Iz&µIÞa·Fn+ÅKwn«ÐãÚÍPÊ0Ì7ÕÞîqc8Û!nL=Çñqc«q`Q².Vâ«Í¼§Ä-gUË,szRWU¼ä»°®Ñ#ÅsI¥_]wSj|»ÄÚV+VïM-×o£Çb;±\º"ÞåêikrÀÝC.%¾×Côܪ
+cj5þ0iw´û3piQs*qµ1 at 5Æ¡5LÆ¢=úS¨æÓ´
åÐø¥×cX¤º '9¹Hú¾5ZYH at E\¤öaÓfÕìða½U¨odoª8yuÒ,3;øk1먿È-jL@Ò·L¨JáTpl{ÙÒ±IômwbA¥ÀÚ¬åºê'Ó.nXý½¦t§[g´ÿFl#ûäÇVËëæNó{»(ÚT5X+éÀNíôX§zIaèbùz]]¹ßz:W}£4-÷&YäH²kÖHÐ7yÅ~kÌ;äsÌ][QTêzKÉ.ùÚF%ã±PLs "jSwåû,IHw'¾ç7ªìδS^Ä~Õ½1âBÆ
+ò×Øç_èBȲÍx½-SH:¦@Äø³
+oÅ=©çÇ7`w|~Ã=ëIís.OÐÂ餪%:|]>ÈfùMÈ=J);'|;Mþx¥¿ÙrzÄû
n3rÖÚ»KbI*çû7°¦Õ¼¨8="7,^Ó¤Îâ1Ôû=\¨:åôµËérúø·èøÔh}°¬³Ã´%ÕKºñ~?5¸=Ý!êgÑoù"ð®V¨¸1{çÅ>¢Hý3Paìì/Ún^öVkj«³¹u}8ÇÚh4½ÏÇàë£1¡t J\ê*CóG÷YFóv\Åâ^èâà
+a0-ÿ×c?à!²§îârxDÌB©Oÿ¬
+ð^Ï6yß0p2R~ôËõ$d¯n
endstream
endobj
-354 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/StandardSymL
-/ToUnicode 353 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-250 333 713 500 549 833 778 439 333 333 500 549 250 549 250 278
-500 500 500 500 500 500 500 500 500 500 278 278 549 549 549 444
-549 722 667 722 612 611 763 603 722 333 631 722 686 889 722 722
-768 741 556 592 611 690 439 768 645 795 611 333 863 333 658 500
-0 631 549 549 494 439 521 411 603 329 603 549 549 576 521 549
-549 521 549 603 439 576 713 686 493 686 494 480 200 480 549 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-762 620 247 549 167 713 500 753 753 753 753 1042 987 603 987 603
-400 549 411 549 549 713 494 460 549 549 549 549 1000 0 0 658
-823 686 795 987 768 768 823 768 768 713 713 713 713 713 713 713
-768 713 0 0 0 823 549 250 713 603 603 1042 987 603 987 603
-494 329 0 0 0 713 0 0 0 0 0 0 0 0 0 0
-0 329 274 686 0 686 0 0 0 0 0 0 0 0 0 0
-]
-/FontDescriptor 352 0 R>>
+345 0 obj
+3702
endobj
-355 0 obj
-<</Length 356 0 R/Filter/FlateDecode/Length1 1304 /Length2 86728 /Length3 521>>
+347 0 obj
+<</Length 348 0 R/Filter/FlateDecode>>
stream
-x´ste_ÛvÝ°bÛN*¶ÜØFŶmÛ¶íTR±+¶¼ú}Ýýõë×ý×w{Îs¯¹×gCN¬ L'dbg·³u¦c¢gäÈYع8ÉÚÙÊÐ ÛYÈY[
-ÿ¢ÎKTÌ]
-ÀÌÈÈñ_í¹¦vFpä"vöfæÎÜß(UÔ©hhhÿaâââyü:YÙ(þÀ_Ôhmgo´uæü
-fÖöæN
-ÿ1MÜÎÑø¯Y9Y
-mM¼½ìíì¦ÖN at oSàß¡+àìèôöúÿsÇÄ0±0vÍ,láþ[ý/4ýµ¬¡³£
;@þ¯
-ð?ôÿöhçlaü'Sño(ÿ^þÏÄþþß¹ýÿÕ´DþQúïþ¯Å]¬ÿå'åø øk¨@ð¥<ýkÐÿ.2´±°öø?Êþ×Nu༡ÿÈý/ò³áß)lͬ
-ÎÆæÿ¸ÿ$TmMÖ¶@;'>ÿ¿¤¹
±-ÐÉéïCý´5ù3ÙÛXØÿ&ÛÐÑäßÀ?´±£ã_ÿõ¤ÿÖþ×ÚÔâo@ ;Ðà"DVÁõ#¶æA, p¥1
¡
-UÕN'+ÀyheôðÕ$
-vÊ(M]vxL²In¿DD°JUÍþÄT4|Tá)ÌDþÅnÎJð´CWÏc'èc8G -Þ7Ù§£¬òÕCltäIr¹}6_ÂX&ÑúÅå¼ðhSNæ@4ú¸Î
jájkuÕþ|Dãä¥ÃöÛ¨çm¶à&Rs¬Ùðæ\óÛ«W9U}ü$MÔª=þQ2iî+ä|ô%1v<Jj!´xÓñ ¾¯þF^ËïܹÕEÈÅ,åOÌgt±³ÉKl=,ÄÝ'XYX
-kDÒ¦
-ãζ¸BÇ¢è¯
Üþhw¨{¸åú=#+*`iòwÜBäº]«eMhK|~l¿Üô`xW1N9N?#ÎðáE³=X¼ï0û1÷ý0ÀÖ¡rDNQ@ú(NÇÙ¢Í\«òÛÎ+åó0Kh~IÂlTj{£âËÍû°§[riNæ~?ûP
-V<FHMÌð?¡ï(¼Îì¾åÖrR³O¢ÐµÏÓúSâ¿Û1£ªêþòïíµ´Cøäxì
-:MÔ ·`ôë 3"Òÿ²3þä$*mÍ"
-.ßI°!ZðÙ_
-hcC=:û¾Ô;¯X®üKË£ýØ¿vëë÷¹Zï0Ûþ8çÐðûnì©z¨W$.ÂæDÁÔ#*f8¯°ïfñ-©¢q?®»|²n÷CßÝpB!Eå®It$£ð1d
{§gujNøNd6ÇcKÃñÏÑíº9©%Û@Ñ;þùrÿæKnµÇ_c]çB¢ÐÚ"tuæñßêãÑZk´c¿ÉåÒF)iÕÑ
-]Vø|°wq`(Üs5Ê°ì[Ò`çäbű^C¸N
ÿSlÿ©âÉÀ²â©Ùd¼U0z[Ccâ:ô^ÌÚÔÂ*mgNF]â¼:QL¨OG4;zÿ±'A:sZóÔÛÏ´wZ¶¤Zq$GÓÎ3wBó!±®{îï|^sçI@þUðiµóÎcдJ·¬¶Í̧¡û¤¬44D>Kk/0Æö E£§<Ú»oÑ̬i
-WZíÄËÀŧX|s¦¡þ<]ÇüØ+׫Íã
-¸¶ò£N7«òÐË3/3ËóàÕéBÌjÃ÷Lö1£Tò¹£(Ä
-4?qU(w{Õ ¨·´Uù84P
-F¼=ýQÔÔåóÖÊ©öãç5^UÂmUZz\w%sôYDA2 ÇïÒf·TÅQ6eÑ4ØYJ¦KmÃg"s©rë~¦%U4zа
´9úFÜ¢Ý{çÂ,Æå I/ç$vD©T¢ÃpDU¶¥èæ/Rr³×ú;=>¢º¿^'õÊ4òzM<ÑÍÚK¿ð¥;Ý3-6ïDÑ1±Vvéoa²RÓï.æä`×'äP+ÁíÀ$eÍCYójBÒy?Hμ0K ß_àû&ðrZÊòEyx¸<{²8*7âçؤ'Ú½«áZ
-ñBc"º«!J#Q/èÑ{GM}9]×Ã7Ïa+«Lµøòïäý5}]ǯ±ËíêÓÕDåÀ(#&F&Ü8RÓS8 ¸/ºç¯ÊÍiè^ÈÞx¦úÿ¦£I{¥oê~IÇÚüò¬IÎ
-9uZýÑT/9ÝZegüÅ©EáTñ½L|ÀüõEyeUWHÁܧ`v³°ÊüméùÔ
- ñçÖ|Æ-*é»,lã£ÂªÅ7Ⱦ_¿6HtD¬i¾
-Îä^8s{Ê"þ1P6ã@Qð/ò
-5è=wYÆpùI¸=3/ùK]"íS2¦}Ý>
-îÔ R½Àâr§âàvh²ö,H=4Ôn#(òçìª<§XÛ<b¦bçKÈ[ÇÉé´ {¬í/JEtä
-glJ,ólÜ'Ve¼n?/O®Äã#ìB>¤0ÌdB÷`½ú ô0yõÌ?©áÁ+yt¿¤G¡-Ó%ÏÍÖ°H7huùZä¬×¥ÔmkÈ¿Ä"Ö'ñ
-ð|ù¹õé®~ß½eG#jû×àe¢¡¿CÉ/u_½1妽f4ÆØïx2 Vlo`°ó
-ûôzyè*ªä¸ÛÔª£
¾ý:ê'<aí¤F«Xÿéîöû5}ôJk¦=¢&0_ txý%?
-Ê÷¨@HàWã'ØAÕ åòQÜý3Nãð?éÅâoCì"ä
-Ú#Û×bL®|ùé«ñ3°ÀLï.ªuë5tÿÖé&v GóF ¨,¤odp;&Á´Ý«gTùôÕ\A½ÇTêðs#=¶éÊ4äUÈ7GýúöÿÕ0)ûZJ¯µe }
I[,²
-ÕÐX
-_
-û*L,âó~ì¶::^[ï_éÃèAºÎÖNÜ·ì"èýÚ¯v'sWñÈÁ4jüè-4Á Ü+5Í~:t¯ £Mkä4ÒÈùà&¸â'OÝ¢mÉÛ'=¹ªç?ÌØ=êµAþ8?yܳ¿ëëiÁï/,5Ü
-uGþAE?+:=/5ó|^7OÁ|¨ËÈVÜô;
-krξJ]ê^u£^
-|U(WÞ6È]:ú)ýe¬þüIéL~Ö<ÊmÌ>JÍëºÜP²ïüùòdãËÙ õ)jBÕ®NéOªbMr?ÿÈ
-¥OòþÞñi¯V:paêò啕°Í²µ<rÂÞɱÛçßÇÄ8ÂAÁ=z4"8ô'Tîo+uòÐTPÏìÛn]êX¿ÈhÈg §A¥§ÒdPh[-Dß,ìöM£Ñ+Óàï»ÈSÏrýÜP¨QHxD&ààv;㯳H 2FM,¹ò¶d«EÄv<äÍ;Çråßy¥´3HmLuYäFÂUâÁ<Ï*è=Ù£»5¾r§EÏÝq.UéÖqxu=QEþ÷CÈS°j.ÙFpzv`
-Kn ¬S²¬.ª¼*vQ©z.ì2æL±Î&¨]@wSÃ^9º_mqßÙM±TÄl<%G;ÔÚÎð¥
-O_®<7ãÄÞFMüÀmÖ\ÑÒÐÐ6H¿ëäõTV
IéjùUfè4XºÞ®KÅ|Ë&øv,Èuv8g®èNÓwÕJ̼ýQûÉZKU>)¬
-óQß ¼àï~ýèð?x^¾Ï»»óýnêôF0éÛqOÎà;4.5öXÂæ4àLØ`ßGMñáöß½N_Ø6>îÚ:ø}Â"ºÞù¯¢K|HõñôþgW%øÎNõ¸}î6³©ÍÆfW C͵¨3ó8S®ËGÏÔ£µ(xʺs'an5ò4n§*TOjÃ\Vª«ã@óã]lܳ{xÐwk±½³äà°iM[Û®XFî^ ¨Þ©CéÔbYD?^RÕ®Q-3üîrÅ ¤w|¶öxò5®¬ï¼ÁÖÌôZ¹g(dHx~è·¡*Aæc9Fвá Þtâ]£m³³ÊJ9àS±É|«ñ«vÕ¦Ã3ºíÕÒÅ|FFdÀu³@l
-,¾ç\,V7«i=ç>xKJ5ÔÈ5p/Ì>¨§íFβ\æ´%@N<G@fø`éѧS5K~ðVCÝu¼ã̱§Øè|c?D¡+ßÎ2Ýç:{L>fw}¬ãrºH;Ð2«® Rí'©'¥¾ºÙciPn4u`°z*úluÛÇçÇtG at P~ϯ2m¶m1À!/ô¤<wu«òí^ybyýCÓýZ×
ýDò{¤;í9§ª5f¥têÄ'êg±ÄV[ù½}O»tQ^"w{×pO©ÿPíÍè/Äæè·R¸ÎG=&þ-NóRÁiÇD_uI
"d`3·
-ga/Úf¹¢ç31Ð.8þ (A?\Â×FÞ÷9í2ZÆÇÄ>ÔÔ6Ò§D¿é©¥]:ÞVUµûñc.bH"
-;,¦J=çÐÕ
oCçòÀ¾à*ß» ;à×(}aU¾d»±¢îeÜþ£Î»¢òþÛï´/<U;!}ó¤Ó¶hÅZnÑj¶ól½0©fò|
-YVä©6j`ÀÅ_VUnR<í·æÄCôjÁãMþVlÄÀI¹èÞ0]Êw=a?4$47N©
-©*òÚÞÝÛîoýh_ø'+ï5Ŧîy«¯"uÒ3ÝîwC³êÈ%ö ·Ü%rá¨>J¾ßË|onéý£#>ýMÈspõàbÐÚ}ÿxmÈ÷
y[á%¯îGk,öËOûWëC#Þ~kÝêBûýI:;ðH©.7ËaLé0v©¤±
-üÂ<Ë4pKYhÂïp©ÈÛo¹º·D0®ì5õÙG*IÁºù»Lú£³õ
-1ÉõÀÏ<´á
ʼÌÂfÙýîí|ðîqa>>rô¢,D£þ©å+ðerh7(îrÜ>h.ÚSè·Ä7樸ÁvÖ3
-÷òO¹®[«Å©å83üí.½/Oüæ
-Q
lìÃ&+Ð=ÎqËuÕVÕnÕo 8<ZðeBàed²ì>!yè»LzNmÔæh²GÅj§½Z¢:Zv:ÜX%ß÷|ú>=õ21<äKu£%Ò²:@6þ0Çh
-çA½·àm>ºè©Û·x(ÆZ÷3¿½:zç\ü-KA§êÚæ,²YÑɳâ¾
-{Ú%¥»×Sè U.Æ=dX¿ÜL/~)è[|A2¤)
-x´Úñ$häµ ð3#ìs)ê_«ÉUè°_ÛU%¹viAÏ Ç]Z>Hg?ó[wcmZÛ#HÙl¥T£Å»ÀN*W@±øNAB¶EØÐ0C dR£Íòf´÷¥z±/½bÏ.Udóm]ËÉjåîÛ½xãoTÌ÷»Ù<BÁ´sô¾Ñ¹¾añ_k!7æz¥kYø&ÜĹ¼¼Õ×
-½SÏH[/öZI¬0f]AyÄ9Çôa¸Ì%¼
-²OéWnïЫ&\7ë"j]u¬¤Õ (\ªþãls¼±|[ùÊ@ôÒÁe5"kv°§_Ng£öÍVþ,¬qE±õ)¯WN"|ÁbG¹¼¦rOKרi!®Æ3,Tc Õ«Bÿ8í^P$ôRÛø³Ñݸò-x)ç¸Xm¯ºj½ö/KMbSÁ&KC¡x8
-xubØíÜíóóçgb»!,ÐlTowíîýª§IBZ<K¿nHOJúõ8éOB%ÂEÖ¯ÁÚ8Òû«)?ýL£
--¥4¸IÎëf!ÇØb¼{/<S%]ÒãÊ4¹:³}ãþ]yßÊÆB
-Ï$³!1ͳù1c9cªBNzbnNbæ=:q
úþ\^«ÆUÈ9»vBE«â`îj~á^¹ëÌj?<×Þаý¸6o§3
-¤ñ³ª&Ý
-ñ1±fÿÃÇ=
-}d¿f¦ÂÒá/B÷«T%V0ï'
-VÑ
Ø{P©ËqðBö%Öú+%*ÍYÑöüÅDy¢æ8ÐÓñÖëúNkÎa¦çî0FT[0¾eÁ0ÇÇاòAêÐõ4(ò¶nXë]ëV²þ÷Jæz¿Ëäòzògx(qÛ#aõnÌ4(u-©Ùíû¢ ³þu"·ò]=¬ÖZÜG4;DmÔÿ¬èÂ@«.RXcN
-/¾ùÐ~¦A;¦ñèHuµaøÃ[½þ·q_ÐczÎ*32ü@óaå JM>ÐùV.H*lMHw¦Í²É¬#¶ÎKÂt`gn)R£^tuÙÔQTµèyMuÈ
-íSº2ÐÚ<ÃÁ°¯wºoI/mm0ÀoóSÞy'¥ý¬Ô9²Â»¯IA¤Bâ¿HàÛλóðögãíW®À$F at 2|êE¨QVrMa;Àý6¸w¡nP||槯r«";RY rb$Ð{ÿæà?Ov+»âr-FGØÙ½Þú©([ÿöÍÓ~_ ØÏni³^ã'¾¨n.hÕêÈïÒØÑ<(¿¾~b
XåëâE¿fÀjº\äU"óýÀòÑpfÐZflê²7²Ïøìæ¢}ÒmD}@
=ìèb÷Ñö§HÇ#Ä(/ñÃnÕMGíºè¿ìc~Ý
-H¡þ¹)¦Ä5sû @$
-O×êFËÌÕ_Mû§hò²ÆÛa¹,&ܨäc Ó}¨ífQï2E.<sß´ï娥kפí¼åI)RöoìÒ!Ó T{2vQãÒ¸LÙ¡¿ÊUÜ+Ä¢ØÈ!%M¿=$ÓÞrºëâUÅ\Èzìq&?¨}Ú©N9´?±Èmút}fD40ËÓzûA^&Hm_ÉÌzðï]¤$¸^Öäõ k4ÄÔÑ«QüÍxWç£IçùöQÐÞBuFÁ®1=-p;¾ãù´å9êÍÙÎãÄ=§Cͬ8äåÇÙQ¥¸2òìrõïhkcÅó
ܵ(DæomÎ0K@kîQ4(Aè£S§O+JïÈîs|%5gç¤4pòºLêK¢Óì#ø[Û%&W¥HCJHñäLT8¡Ú*¿ç >à·°ç;÷Á¨}IØܨ&îùÛÕI9Øñ/®4þNsY¤¡Iñ¢'LQ>ýâ×Ä,@hññak¼ñPZ¬ÚU,¦À`q·o¾'kÁ'&GΦdqø%i¢åS?Cñ}J^¥ÎS®>¡²ùh(âÓLK°)À=¨èǺ=¬ÚþjÔY.ÖT±ÎéÊ{çC}%Ç éä>°íÆÏ>hµ%ɳ¬qØ=ÒÇÂÖ.Isó2øñ$$Ùû ÓíÑ`ÕÅê/ÂV¬ÆQ:+Û"æüÂ/ÈGgfvÌT
-%^:r»V½½ù>²
·$?|¤ß² 6/m´æ)*;igýõØ·¶Ó½¯ö@ä0],6»Y¢¹÷\"¼w<C¸'Uþ¹iRs1'q[ÉEºéy7@ïåõEܲ¸i)±¥Yü
-ÿóP¼ËÚ¶ BW'´\Â^ÏÍÃP,_¯Ò;ýÊ2§µ@;&Ü
-Yí5!L»`
Äí9
-ôZò§¤8Ô.ªnìÃðYwçà,8ç9-+
-D|Íq_sbCrÚyXÝâÆüSx3B6o/1bg¿WpoöÎKwçy»×"«o®³Ëã/S§_ío
-þ¬,(drWt}ðÔÎ-
*nÅÇA3}dM÷}5&¬Z A¼SFnÖÎ+ðk°Jߪy'¶mÖý
-r¦÷÷áBÚ=òh$yZP3q4!<Îó
Ù#VF*þý1H;ºÄêZÒZtS0ÒNuØ}¬v¥ã'pSV
|âÞ~Òi
0×ÌÖ!.u"£CaEç1h¼hvd
ðñZ?×ÆX8¯ª Ú>@ã_·NÙ~s³e(£"D«|Øäò9û$Mù<S9ô ?/
-w[ØÐfl?}¹ëïõWmö·q?ojǦ&l¸ôáár7¡<;L3¯5zn
îäK¥sF'Ü6"Æï´trfN÷Î
-'9ºzú·Ï.¶",Ôn¶V9ecõ^rÉÑØÐY]Ïù>lwFL§Ý纮ë2"¼3Ù3&ß×Æ´V¾ª|m*%4ØS þjãL1¬zymÁú¶»@ØÁYç´WbF¬-S^¨Âß©/úõçØQ¢+ÌÆ÷®
Çímæ¨&Æ`|ÕrKmÚnUIWô3 ÑïßT8]j½ÑÕ1Æ5
-0§!«
-ÄR§
-¨ü¡îiÁ@ðdøçvàuê¹Q
-èW¥¨>" =¡k!-¹öùý£3¨ü*DçÇRù¢ð Zæô=RNQY¨&%èM¥Nw)gLà× >ìQýµÈ¾£ý58`Wî«ä B¶.ê&×XÑ2Ow
-*<HJÅíbÔØ&¤¬Ã<ún©¯U }Åj]Ðèö®Oç´qÉàÈÂÉÌ'eÑ Ý ç43½ëZjB3Øhb3ÝG»'"©§ºgëlj°D¸Þ¤ïñõÕÉÝ<¿ÀIÍ+'lÚ0éabtÇA ÖåÔI0ýèdß´è£B¿gÅ)Â*"þòpD«èZoåe-õr?G® ×TÝèlXpµNÒOÌo ÙÝçd:Ã!ÐKãqï¿â_òtF¢vÎ@ÚäplÍ3#wTÂBn¹ýNáDáy).Û©T»0#vÅ
Y1ÇÞ
-Ó6GcÜK¢ûMÎå%¥$(2ûÈ*$ßåÁJð%°WYeÛü ~RfA^±¿8ØzaYN)òðËb§3å³l!y¶jmªiÊûîl²ÕäýqjZõè³}§Ç!í×ê+BVkðFqT
-ÊbJmÉéíqýÇ°óÌFZt("}Ìij0ða ÖBØË!ã5Ün]©´Ù·SP¦¸ÆÇ8ù!?0Ìói&ë¸:6bÜ!_ç`³³_ïÛ§b~²^òhYKL/Ðé9¤{X},¿z0tCØSl\Vr7ºË ïâòdÑXy%Äæòn $v±Uák)J6¹¹[Û ïåµ³Èóº
-Kã
-ÙÎ4¥
-·y¡^tP´ÈWß
-àå¸õSL¶
-Adñ©`ßê?Ø걸@¯ÛAéxÿÜ
YŸ¼öfFÅlÜ]$(ZÔëË¥ø}&kÈùK~Q³S`ñQ¦BÇËøù¹Ýn¥tRr$ÉÛ`P²¥'èïíd
-Î,á¬çKß±}ZÉB»pCÔÖÎÄÅ`³Ä¡øIÆ(¾¤7FJeL6ÇZÚø£*³+
r£^·bAB²¿7nÚ,a© KüÐqúø£ÍHa!¦¾{£
-Ò1¸$¶Jì
-;dµû´2omN_âw
-+Q¯÷`IázÇZü%1@~÷kÜÍíC¨ÔL,úÔÞwOÄþeÒÜöãð=ôåG÷S6%Kbõa
-ÛÖ]Ô½ûORÜöÝz§å° ÃíaK=?Îh".×Ƹ=NÙèEj
-6F@{¦
-®¹d»r7+*ÏǨ*z·_nvÌ·*Û
-» Ƶ¡<I
Ã-r¹°¥é¶m´3Âû½©qD,{
¦E
-¯ù{²ÈßÔW&§ùYÐfÌ8ôw:tîÑOÄ5NúL¿
-ýÄÃÂE at YÿAinükeïÀH°â(À+)¦Ü´¢â%Y»:skeEXswwy¬Wûi
-÷Yät¦-ûÐÅ_¸¾q~ò§áÝõÕó
âe¿uxf@ÊtÕQÒñìÝ=Db0N(cÆB-ýÛ?u\ìvJ×};iTj 5ö1¬N`ÛøwµÃGg"j(ÞSÏ÷o¸¨}_F8]ï
-ªT<¡/(°48Å/ýäu,Tìd¬ÓOKpÞfÎt7üáþHK"tfDÕaößaðYµßÞÿì¡òÁäeÎñ@®ÿv=
-gð©×ÌjæÛ
-³Ká6|uÁ|cûá"
q÷ü+u˹_dx¹Ó/ §ìp+u¸©.Tp©qMO®xð% @Vµü¦§O `Eâu´"î>«ÆÊúúlQj(ÉN¥nº|çä9$,×t8jºp5.+¸å¥uÍrTþrràÃò.ß°åX1
-@*Ôü¾»sqÂ(E-¢j!.* ïw;ò÷ìÑ8E.Û¦ËôË{_Ðí Ü[H_SP£JöD3oÌ>Ðc!8K3y%°WÄôûÏ#@|,I
- ª/6Ór$§EYô»T6 ¬×Íd6-dP)¼¿¬ä%06ªéð8nÆÓLùi9Á&¹/m½Ò[ÀP fÆ`i(\ñ½ÍüÇx¹K$#§|çЬû{ÃÏiÛC]4ëèÖò
±QrakýÁ*ÜïÂ*ÕMÄ%]yÀªô"rMU´àh«ï4ÃwàfVîºU@Ï'jßRí9x?ýIÝ|}òíÓê&I8ÕPïÑ)qúîÑ(ÚÈ'F¹,þTWS8÷òݲÔü%4Ê,¸4ϢʪÁgJe ~}#ºÝYrm)ª)XeInÈàäî
-hÁß_e¾=iWÛ¶ÁÒqÁÛ^OérýcãUÄÍ«òj§é,A,Þ
-ò\GuKòé³]~hqõâÚSDÙz£#Ðw owÁÚ>IxN³ïváøùÄ/¸ïVvºw|(|kHÚ@è»1§¼,hO¬_°ñÏ}S!«|°·³OÜÊáð¢ÀÄ!¿H¥ºeíKÐäéL¶¥ëNs\R.M<H_kÔ3ÇÇ~
-#ö<mú³¢çp%`±P¬
-wPÄ+ì*NY¨F!áÌBô}¦;8¶Mááq7b[ËQÕCÖØt¤ñ¨¿côùûÙ' /)Ó}¤ã«+º9iËYþè¬r]äëT«3Y8
3YD38_>Q,½x
ÆÚ] ÿy{hn3,Ésû!íE«¢çÚ:$è["o°#êÏØß5Éu1jtâɵÃøN»*õº[½.Ìcº¦ýGUfø;ï/ÕÅD§ê½£®YéSÆéÒW}C
t`l²ªvé§SC¡Åkn<N\¤B^nñ)lëxª¨
-í¢µ]¢%àȫäîP¥ ʺ'Ù°Á\oRÌRFPê8èþN
b;Ë~År¸¬~jjÔYäq¯Å¥ÕÏsMh©ÊWñûkyI|Ù_¯CA6Á¸4Znl7cí1$
- BüUBNðþ©Þê°<ï>
-EëS=Ô¸J¬«p[ä?G7cQh|¡ÖÇÁ<T·üÓàY'
-ÐÚ§:õÒ¬706 Rjë"èfÑäb»O5á&oßV¸§¢Lãã×ædí¼dǯU7">ì÷Ñ-Ý´¢Èh(þÌw¨ý-`lk?gECey¶;Ý9§ ëÙy
-`d²µ¨§v2zºIмÇùbk¾õØÑe?¶t:e)"º`¥½JºgÒ·n)0OmxÍ·c;ÃæX̵J×^ë¡spBùW/gã]bÀ>É©ÝmBëÈ"ÏÞñÐÆëD;ÂÊ¢PÙGÑ~cO(Æ1A]£ÅCi°bÍÝ8¥0û4¸&ã"]f;+I~kþühÐ ª¨çdù²vS>ͼ\»ºIçÁHÒì!pOá4»°7Òöb¨AÝ£$ad²'W¯KéDªf÷k\h|spÕܸáØ\ÄÕíJ)¼}LX¦¹¶s9fêæ«|Z¹=êÚF ÏM½¬
-!ì<|¿])TªáSºÙÒ^÷=ã!?"(ílY/Gwׯ¯Dmø%ÒXëSë<
-ßäiòÉêþ F«àQ¡VÚ;;óV¸;cd at tú¶¨½Dü'Ò*¤ïN)
-zKPD§~£`»¶é¾Yð°úñoþ
-Gak<æÂæy«ü%HïýÇh2ì?e̶Ëó(>
-&èÊ
-íÞÎl£ËúvAÃ9m!Î;ò3Ùè2-3ÀÜT>HÃ
-DPa¬)oÄ^G¡f}irg?DÑ6b§²ä¦üðX¿æ¹¼õLlº2â^ôa3¶ÞpW»Xüv0l Õ0æ´º36ôâËÇ5hObݪ ZAP»0óø¬;Çú>°°_ N)µ¹YW][âó¥ös¬^5ióé$òz¼®k.ÐÞ¤4êªü ÷«Q!/Hi¾
-ÄÃ>}âJ&ÆçO]TæykÃA ĺdZgnÑ«Sôß®dØyÌïÇ:¨ïmZC×H²rh-r_G·
ÓßîUDRùöJ®ñÞOì_}ËÅÊ
ã[Tøõϱuä3Ç ;xâ¯[bLò²Ígé¥9¦q(Ir+Qµ£VQï§
-1rRn'D0ãVY§Þà49ùÍäżËGÍ÷Â|Ô hyÐøÜxĘ̂P1Þ¥§'7¢ú¼íà±Gù×ým¶êåû]ôâz0}/¡Íe"übIÍ #O 6$l¶b]ÓóÙå·±kî.FÀ,úì3Í1!ØBÏ^âõÐϾâódîHÁZ®ï½Ívß_-n°e&îÖ=0Óï[zÎý¶¨
-Ú§´2x³0¨AÀ»?iár/GÀU@äõHø¨xÍãçc GR¡ÌÃ4
-òYºÂyTò_Ñù .£í¡Ö?¯ò«¶®Q(rÆ
-.È06¡@û²eÖöDRQ2ÀÝQÉY:ÛÈÇ^Tæ¾¥·Xo÷æ»ñuz²wyÖ/(pÒ¡¯qÞLðÚm"Xl"Kº©·ÒëªV²ø:¤&ÇB2Z®nÕ)åÅÐùim¢æ2ò©,½ÖJ|ï£É¿·Âþ¹J+K[ü¬GAýªK"£GݽxëuG®ÔÆÔ)̬³n1ÑÔmf¤zY»G@üS'
-Ú_rTËrʾ.æ#«åÛ kPûy. ÷°Ëí ÌgGÊ)Mãwß.ÍM¯)¡«âY2Õ2¢Î/
-?¨¸+&Xî/ª=ù"°¾üjæ30®Y%Ài"L¿&2ÊìÔ
-ÝÊMD,µÌiEÂÚêhCÅÏíØù6®}¤Á[µCÚo+ø¤Yrysø)v=Ç{IÛ?l k{J¢kN]Ôzrt6qdx{ç:NX©^$Óè©ìÊ T(nÂ1?¬d¸úÃbƨ øyÜYeÉñÙ
-ÜSoñÐD@úþZ ®Ó[M{I(`íO±ÃRuÌëï À´¦4GTá&©|éåxsôµÇÏ #é ò¾~-}@»)ÇHC6ó½ÿþÑÛ¾àdæGyQãêùt0©sÈyúòÝ´$ç±ÝUµú®2Í<CøîPç¾ztʦq¹µrõ±·M9]IY¼Îà
-6Æ´Ç×"oÜ£´]ÀyÐÊB)§$GOtÀ#^" n2äT·l¨jD:#ûÄItAZâüxz]®øp!#{ÆenféZí#"víÍÇÎRÈ°zí¼ÎâBåÂcoFâÏTÐ=Öþ©t;m3FT/cq©fÎX×@hiíÌ8ì^ï-ufÜDÁ±J÷ØÒf ÈÄ<·ÎÅ
-$V¸õ}õ¥\<5
-ËI
-Má®.ÂS¢U-ѻĴÔp{òkäDyÕ²í:rk)UÌa8"t(±&iÎ$´>ìÃñÏÛ^xSâ9¢tFK¬#ìïî[a'ÄÒBz½sD¦ÆuÊ[õ Ä3,4âóaðõáÌyJX°Àç4OÒQ\ã;sÈìZ®ªþ©ÞÜ"u|´Z;ÛàîÂU)ú³ÎûóÑV-tÐ
-ÿC·=Tf± 5ªN½ Çä7UTEtêÓæ\Üßð$ÇYÑæ
-v´zÅ(KhC½â½ ˽~¦9¤ØY»{^"(yYÝÊ¥iy"Ä ¾Ì§V굺;1zÐW$_¥;UW<(Åðúi/>Q!{¶£=v:Ó+iÜ}0)º£Qu¶¾·ª°ØgSqë*RËð}n>Ç~ân|éC
-¿\2ÅJù÷´É`È©zÇ\á]ö6ߧ>Èy[Û´]3)åBdÁã@T(0qøAÔÎf«3lk¦P¶[ÂôI`G;©j =4Î8êM3ð)DQ§ù9ÜÚèîFðGk%F:ËQIÿåþÒÆO%£~¥[\þð¿ 7Ú[UR-²ÏÄÖPÅû÷§Ën
é:v ]ãb>ÌoÛ÷ÏNéì5çѳþÞF$¾1x¥k{øãíÅ5×Zÿd!æÈl.³S¶S¼àK.Yõ.û°ó?&|W¡¾<ÄÇ!
-÷Ãúw|ÄköuWQ\mA¡CþH
-@ò¿W«eÚ.=ÛÆw)uÃq7
-UBeÄ».µ
-/kK,¶H^rÄ2ë÷á¥í©él¡ª
-Ø}LáÏ[ÓîÑÚAÖMû
-6Y>LýÑc/¶X
-Ûî+.å´ø¢»éä~S1ý0!ª°H¡MM
-ÝqàÔV|È=Ó<¿^ÉaEH;CgçÍ{¬i²·=Ô»2ã0feÞpÔúÑ^ÛH tþ"º²T;»Í@Ê´¯0^ò·KIhÅ@XµÚ
-*Í+W«Ùãæ±?WÇg<&ÁÀ³®¹ôb TÀJa< Ц´úö]êÛ<øyr¾S_D§K¿Õ³ö¶ ïâDùP¡Ó¾H9ÈyÄË}8¶ñ¾ÎVº 22AqRÕ \6ßóÆãî¡*:©,qqøߺúÜbFÊîXró´ñè[)w/´¦$7òá^9\Jè?Ö<B9^áF2ÿÅágÕé«.mÐIüX~²É$n;µPX ¥^ö:Tûï!ª7¥Åðm+ÀÔµ&hÑ:¸o\~åsÖ²ù}²Ì(P»q£µeð waûhtR>E÷»Ø
µ xôá`x«åZÀHeî(
-2Kå}i;aãÝ~Ætf}l(Â!³,ØÆ@U8ÕÑt®4|òl§at¿ùжmªí·
]
-GûëÜÐø~®¬ÏY
ìA@Fﻩ¶¹yrmïÇÑð±G)a4mµ©ýïéìÿÿÃ(±ºð8«ì-z«Èv{5l jËü$ª6<7{¤
-{\Vó.¨>ä¤vQ×ïÿæ¿s»ÐYÈ]hEõs&½RY¤ûØ9E
-Uj#|èmÔ½'?ËëÝê-yúÞEÜ
-_WöÚf'ïa&~`,}òà.mPBµé*d7-E,oïSøÕhðêæÒü\ä¢B¿âjä;öâóÄàzpþÀZ»jûücÿñwº&ÿ°ÓfþÞ²[0"³w Q~üâi©
Ãüªy=íÁáR@lJ]mµ§»¿H|Òjé.ï½ÿ½³YVWá¬D«æ^¬a½7TçÀ
v.qyFÖá ÉÍØP=6R÷³4;âÓÇD<Þçr¯)A>
-î pH;rø fMC¡¨Ì«ß|ÈàÈ7lTÀ¥ÁF0´ð¤\÷
-³íÌ°Û×eèy+³*ß
-üÿ§æ+ùIwBb¡ÝÉ'±
-·#³N
-©®Ü0ãÓãMÝ](¢Àè2³0EÚÂNytt6§©íj¡ÎÎÙ"¾V{I*[pmVö×Ì»jÆ/!GäìLrþPbÎöHÏt1ás¦0I«G÷ÜÏ
-¤MrsdÜá;w©þ¥ÈÖµ¬®tgÕ=%§æÒík¸ïÕ © ÀÇCæ|]ÊF0¥IHä#Põjâ¤ÔÞ¨²~s&
-X]U,Üsf
-B)§ç
-ÿÃC²t~ÀË쬪\ÿ"MÁ-¬IÐf+µÈ@+ÍÄ"êmHÁ9swr«îú-ßÂàwõ¤»d=RMHÏÅoãÕs}®GÑ=\¼ïÄþ0©@Ò>sEvc[½¨só&
8¸sµÄö4q"½¾sµ¶t[â3GÄÇ7¼ª÷-é
-âC3æ"ÃîÊÎ]#C
-ê×Ç<mÈ>=Wá9gù
-hÿ7hVzíµ~î ¼L£ßYºßN'M?kü^@CGwÀÐXßÇ
õ}X½&5aÛ6]ýÕï&=Ъè¹¹[TóÙªÎÔÃ[ýÞò9ÆÝ;Uw²a[e$sÎ|ðì.Ù9lòTz°ïç
-Ú%|JVfHbï½CS·CþÖ¢aT[æ×æúNN(.çMvKµ^
-üÙ>6$I&Ð;YòÄg?[ç'-3ÄX±o$¹éÉ$¿o'ëò°ê\¥xò^Qß3ÙâÅê
4ìf_r¢uÆ#âvëR -£<®dò O©í~
®ý¸óc¹
pméѦjÚ/î ±"@ø§Z;£]tT
+CBEW.)ËÕEQZ2Äæ#9¡RE´z;Â.·ãT¦â,ÖTжÛoqOú£üºkÎA³6¥kÌ]¡ï}Êì_aæ_·EÔaót§=è*¡åC2öÍ´û®.jlcGèÎ/Á
-ChÌJÄØ
-ÒF©±ÛT¥ø{÷£-à,AdsÀ#·ñßC&2=k³Þûs®%Moÿ]ìïȵ9´ekV²È"ÓÓ´¬
-ÜN#Z!Ìãw&ðj7ŧ¿
-aS$¢x(òÅÅ2"ð-¦[´îîgê¿1`TÿPã=®*¯¦kðG pAó-æÑRU ¡NSÿ Ýßá+ñÝBÍkåÛ9í(Y%÷u)¨Þ1çk´ÿ¹9=ËæIf¢j
¿);gø$Σ¡øàéI?£p©$Í&Øé@Z²I(øÄ¿¤w
-èÕxæ*»"_÷[·Fi\|. ¿é4D¬Æ@cÑq2A?_§»ôÇS=ö¦ÕHÎW?ñé||'x©Àaa³L©JØ·C[,Î)/éYõ¦±V
-AjÁNÆ¿1+É®%->Xêæ~6uV.RÞoRWäQ2àz
- Ì99!¡/t\A²MJ`éJÚµ}rÕ'#v|F§i'i²_Nâé7Ì.º¤6f;²ü!%9 Ç¿*$4ì#ìo>;´þUºSIð]صëõûh¶^ÃËäÊ?5:Ô'÷mø"{âGÝ£ótö×´gñÜXuþêÐpí8£aFtT±ät
-qò¨Zí×ù@Ð\zì±y{:¯
2áßökê[úñ¶|à2ÿê|3{ä¶cc_>?òø Ä)÷ÿ.á§ÁD£<xaÚHñB߸ÍíXtǦàu®ßcTë á1Ö9]¿FTÂÅÿïØfµÆ/s*Tãk]?¯¸7ö¿¥eàGÌ;¼èMïÂD÷¤D3/]çw¿ÐÌ°ÔLÊƲ
ê±äýÓĩ幨{àI&ïßKE4>#É|Ý$¶¿Y4ØÄÌ㺶k ÈîH ³ö=B<'6U
-xÁþ kÁÞ5Z3þ¦çÖ|;¿ôoÅÛ(+ú$keÑKo³J_DÈæGÔ¯%£g¦,JAµ{ðËCÄLq6j\;Xüü
-ZÊ
-®ìzïásEÒ®êõL!ùºñ-8ØjDR5º-PWOÂÆiÙ*S?+ÒNã+ä¸ÕÚ/~o@¼¢-L
:¼¡¼$Ýò6[ûKè
-ãí¢üxiü¿_Mâ;*åçA)í¿jÁjn¦Ó»
-èbΣÞ/Æ%Ù¯¾
-õµAâ¾:8Ó»"Ù)¤ "åùøýkb¼"yÚøË=ëVû/Dg[ú¥¶h±6%´äáé³/KeÌj}1¦1ïb£Óß;=eMd
-¢¦ÙÆû~±Õ¢ ËîáÓ²SD¢Ü²¥ñUd2$|ﻲÔ(o¡^]]j
-Ê»c³OÑûÈÐHZNÞ5z~]}Ü{Øè£ÿ_
-ÇX2ó~ ¯$]V]7Þpµ67¯_Èá+fEk
-§$È^£·Ìõp8uH+/Hó`W¼e6üþV#LAB=ó\Fy$··=Ç!Sù÷ÚÙjÎè0
-Ú\;ÆÜlïx#|©Ôi6¿"ilen¹<ù¤
-ÎA½oúàR·hFãdÄÖ=þôÚPg
-Y³XWßp09Úõ)ã¶.î"5PÃ¥üÃçv®_P:Chöyû}>!ôA'äHäL¸]÷X
-ø=o;O£Ái!rüçDhÎ÷}ص¿;ì6³´ÒÔZ
-epβoÏÁ'÷Û ô|¼3N^ð+<¾âÕ
-Æý»0-ÐÔáQ²Þâ®VJUj at 63é2Çg%óVïÏÖ°êî#LÇ¥B¥
-6Ô0Q*a?Çðû¼6Ùàª`âõÊÓ¨('g÷çÑf ç'AÈ;!>»¼m¹¼úW°2ÎÜÛ1J¡ "×è1|;¤y¾Ö
-N²°<ëîíüF¨w²zKGva±`Ýw§7I_%Û¾Üô
-nÔ8M#D× "ÊáBØ×ÿÂ-
-C¿g¦fb"^URÍHÚÅMmAáoyâÌ×6ðí=JQVFÂßQau)D{{rJ1ÁÝ},îËâß^Ù'®Ú¥v~khìtØ©`ôÖéòòu¿Uþÿ7_R5ÒîÿòyͺåO[LâM9BôRI
õÌÓfêéðÑ#Ò³{à=³Ï/ºöºÓ¨'ym8}ô8ÍCî¿«p\¹
*·há~-m¡ã8lNkv}vðÍÔe¶Ó»ÏBúè8G*©Õ´Ìc*g¦S§fÄ2Î%vÀ¿9¾)ÛWǦàÉwXê"m¯6Ü7Y×E¿
-pH*d[ gËB1 w.MÕ
- Z.âX«íî¿ðÔ¬DgsÙÊRÛoîSK
-ZÙÓü|Û;0º
-Wh&2|=P§ug¢°j~¥à7F$Ax\ùûª¿¬Ë°ÏT+´öÉI3\ÛhS5¼$\.¾Ï'Ñ*´BÐK g§ ró®ôºÈ¼
-Z2>ïü}W×ãµà»#ÿ{så¨ð×ßë¯NLÒºk·Z~uÝÎ×r¨áªF
-Õ-0àMÔP©¼'ð^Ê$ú3N3ÛáìËÉñ_èæ_
-·ÛÙÕñ_Ó±UÙùß5à ¡iyq%Xù
-~¨}ü¨Þ´^ÙµCØ`#l9Ñã(d´$÷òÓË·AD<+á
-@Xâ¯Ùóò'ÃB+®y_e:¡=iö1`QÍp;çì¬üCÜåðµÂÎ
-¾AÙu!ÒQ¹SÉéÇG`{=ݤ²êE|ãì4S~ËÁ3Iq=
-wÕA-8ÉWf°ì¨\7çPW¨aäÖ¦î¯Î.¤ |.ÝÙHd¦£ö×iùÉtÚúÌÚ·)uÓcT!¿N89+¬_qªESÔ\®Î
-6¸`q1¹VÂób)oÙë'Ó{ÔöägĘ̀¸LFë¤SþÀ_@¤F±ºKâ×ÃܦÍpzµ.y²G-.¬eÜ~úí
-¡% ·wÛǰŽÖÑгQÍpÑ@>ÁÄÝÉa8GÛo(¬8»óýoßN[Ï4i>-B&åz®Ñ?PýÕ±p\VÀ¾zë7¬ö¾GèËãnÚe§yÏìLÿàB6¢RC´
ñ¿M¸TrbÙÖI*hÀV[rcEÉûÍÃÌÛz)RÑ*Á£RdMÌDKekÓí3*<Ûw Óú»K
-iJ ÅA.Nd_ aSPU
í¡7N#7Ý˪@EL[Ó'ý¤1¶_Þh¬ÿ[ËO#av¼!I'4l!+©EjæÂÇÀ:èi~R¥TóSV ®d`ÐÄ»ð²i»ÿzè`jHñ^õÂï@îÃbl>µG¡Ã¸Þ¿¹"ø?
-1É°þ udþ¥Ô¢º:\Pû\µ6s-)ÂÝDN"
-¥¨pCi&¹«õ
ä%<÷8r¯hûô>X§eÊ:CçÆH÷Q^ÿ~ß3»´âvj+nÌ÷ܸwã×xñlô5E¥q¯ÖJh%©`L%«ÙElJØ;m
-Ýü>ô²ìþÅ+/]åø´¥©e£-ætdã£òKX´þ:>öµL'XN¡=¬!Ðú'§gѳ.³ñâsáÖn¥ÜÃ%|^)éS}#QãT\.Gã<Yн zÃïÕa2~\A±Òæ¦
-è©ÈÐ=RËZÀÔä_ü
8ÙÕt(Êð+ö\aÕR9j@ÎLʶóèMÓº>äaõò_'»éó;°ZEɯ,ïÏ=±ÔK#KÖóúGfÇøÁ>½"ÂêÇ+õ
êÝ÷ôé#ï5i]LëvÖmÓ¨3ýIÌô~ôH
pø9èÕ7&Ö·íñ2Auüh2ôãZÈ©W)ÅeÔÈ4ÐôÌ¡tk;¯ª¨îÛjäkn±Ö)UK;¡ÀëS`(íʺk~ÖmÛP^w¼Ë4ég^¦D+YéÌ$Ã/Duîü]Î樮«3úZ·TǬL më;þÔ0Q£ÞxY¹ÌØWÿ}:¿óõ(ß]ÄOãÏ$*ÖÕåëÿÛ¿YKB¾Ý<Q
-,Tf=©t®ÚeAyzS%[ü»
-sÎ^4í¢çrv[h¡?Ðý·®@i³/À5¥.áß9Z¿¢JJsäýNð®!CF6`³õ7Z]©ÏÙÐ
-"7Î>ð.õ\»Í[¿|´7>$ûµfÃWcJ¼;^øÒCJh¹àqádÉfmáé\ÕW úøË«A:Ë_ÄKæþ·3³¶¹6ßÚ¦÷ÅE ×ÖÕkCή Èò}¬:tèÍýÛÏ)÷AÚµÓ¯ÿ<ñ
-lM¦ø ´ÄÝmHYªN%xLÌ0ÌðD-9]%yÜõ%~voí¤hF/iØ}ó-¹ÓÅ;n£¡º
-È] U£¹ñhÿw7íPûèÇF¸¡ðß#âFnhʪ.Ð÷>ÄE yÇ$q´¢Î'
kcïz"«Ò
-hÞôæúarÍ Ö¢<NSÁñúÀAçHÆðgÕb~ä9¥BJ>?IZ9ö¿Ñ°3¥K×RðÍÇ#Ǧ
-ÂJ¿Ü½7 L4!Ù±?¾¸I9U}B¹d?ÕA)/.goqi¿rbißâô34_oÀl<ÕSAµ;TXk^Í*.SÁ/>è@pùjU"¢¶v}\ #Óà?~é¸ñÞl}å±Ñ+#³MøéÍGc¿à&ësÅjº-¶ÂCLØâWI~A^2HðÖ00: ½¸n2*¹ì ÿøà6ÇÖmfÈ@]sü4¸Ò]È!«{rBÙbXÆÈY~l¨À«q¹{ƪüót0©:¢©¨0è-uÌ<ÅtÚÀoÐ}8 ÂtJw¡ñ¨u²
«}Y!Ý?×w³
-»H at 5½'&D:H
-*à +ܹÛNöãõB»f?Å·8¢ù<fåÏ[äl©U裏bÖîÜ;ÞòD;É¡¢÷
-ÓngV@&øÏ£txè¾]Ïíñ
-N[+Ô
-z&ïvï÷17ø¶¾<>ã}úQjGOã"qNÜ`KÎß-5ª¡¨ÍéÇ~NKF£ò së^Ʊrª/ùºâÑèÕ[üJéù÷5 ShÁº¯fÆIñèÊ
-w(óp²¢Q
-07Ë+Ô
-°i>!Ç
-ä·ÄF%YØ[@¤LiÉ{nz£7¹lwéþrI Õýyï·GSõÀpóÚ/xF§_N^w»ët ÝxU}ëcñ¢Õ̵Õx3yPìgÞb6íu;/`¹{úâÔÎÈ´{÷*êü+¡ãuTÖPE-ÂÈNU*×(Ø©¯ÃCñ¯ëÒ7D)ý CÅ
mT,K(þ1àÈjÊg®(YM)*±¸ýëÒ²«s|Ëj1tߢ±$jß%xÒ8Ïa?W>8>ü]H~TK[Ê«ÂÄ@ú#½Qÿ¤"O®i£é0ðÙÛñ
Fü§ª×½5Yô`h¢dýÔ)Õ¨XoIÛ¥åwTßì$§ñ's)KzµvjD§%ÿ$ÔÖô:)l)¬PâaZ!"XÌ@«>\c«pBÏFkë@N)¤´N¯ú×gø/réÁ:ÊGLø¸Sïâǽ./'´ù}>?Ålè¯ÔAÄàÈÓqÀ%x
-Á\cP/í@±ïû¼í¹&ÇíiúÆàÌ#íè«Ý¿!úyïvãò+Bl@JJz6¤îa;ºvmÀ2ÇH¨ì"rÚ/Ð^ÿµ^²êå1(euLÝcsãr×Kù®Â/Û<MÔÑÇAspkÉÂroX¯ãdIª¦O7¥r¥ºÙMýÏ¥ãPÙɳ)Âd쾹ɶÿ5#0¤0Äc৽ê;=[Jv ¼
('±.tAKö;IÀ§#ï"À¶§~Z÷}¸´îÛ/]
V ê«_ܯ{sµ
-àPÎp½ké~jøHø;³Hñ|«]&ñ3e6Èë*³?ðHI5ö\v¶cÊ®zþÝjá¢%h]¶@ÓªaǦê\¾2wQýã¾½¥×'x/'
Σ)ûÆU6ÛuÈäpñÂp±ï¥Izn÷Í
-M,MÂ@½ö;®õd·:X¯³prdf1ÀÒ%'y+¿¬7Ì?®¾Öìª+Zq£IþÝO`,A
-|&Ô`m¹wHÚÙ }¿*kjZ:÷ U¯_UxIRBY+JaG×ÉÏ<÷Ùñ¤
-óýnDF£J§H$_¼iâsÚ9oÙì}[%àèCkaAP²r~òèùÎLå~N<Q;ÜñüSov'K_3-5R|ÖÁvï,}X0EᲡá§Y¨
-f<½yѯl8á.
-xìì]F"Pµ¸Ñú>ç
-wº÷Áµ7Äe·±Y¸Ú<
ñÖͼ|²TæUÀÔIge{ûÖúkÉ;¢"Ûô×>íʼö7äð>EYg³·¹Ý
-Øú7k½ç³±hy».è=Â0Jôp±7g6F5ýA9IÚ4ËxNaV´¦ªÁ¤»#ÙCQE¤©÷¦)¿5èéA
-ñ]ØïXÊ2a?k GN^²ÕK#3öä~
-+Î!Ön²G31Ì%»j=ÞYõDû\Üttò²C×ÝHYß\Ps6â?<K|ô]È\ÚOÖ)8ALÀWñÿo[Ô0ЧyÛÕ
-Â@社Àë]µ'£»ÃÒÂï·Ä«ôó¹Æ ql''Ù¢R^ BTÐý1â¬tïç×WÚ{ÜÛX%}ÝC#Z³ë-ßFîxËí¥ÚQÃÉ$~jZó©Æ·Ú_Ç´²¯q×°£øC¨S0Ðq%·å{æ¨âÅbt}üwñ1á¶Ô¸ö^aeê$yÙ(¼[©Ä
-¤&£¡¿ÏmU<ì¸ädì'û=+#
-¤j4rz®ÁCÑIü_½¬È»l?MQê¯OÍ
- at 3lãiØTÎø³×c¡úB¬ýQ¿C{$4Öó
-+¸[ES x)ÕA²¯)]CÛ-¹zÉîæLJãA7tÈ°²?6ýÄU´¿Ç+9æâ¼"g¡úScefi-Vw¡§úËÈYjàæÒb¨êÙ´×À?êâ¯üÂD[FêªÄãOÓç衳!}ÿáNWGY<¯æP«ð=?L5.=GÒÒLÊCj`<$ëCqåþ
ù}>fêF
·Êy¿jÑ{Á9ÍáRK%øB&.^ôüÀ^'-;2>|øQ/ûøqÿý7¥)jȲ´j'§.½ bªõóÝêÂ
-æ«
.Ê×SôÕlrnJÆ©XmB§Üª¹¥^¯7öË'èå°± ´þ<Åý^ëQÅ>i<_ÌteÀ©ÕÕ)ÊÊaÒ
-ïLË.sCfVE%Îb¼ R¼·ìɸÍwjÓ Òª¼\
-ÞËAu<£=õà:¹#õ÷*Ë^§Å˽8̨´!pÈMÙ3ø/¢á÷ä;.«ËÏl°dCßh«\°H::LÎËqQ¸:3 ÌàO>¨L¦hëXeyß#tõ¯s
-SaòHø"R¥Ì9 áñ`q%
-ÜîCì6zxÄø[ÅG¨ÆH-{wÍg ÷äeü
-Dc4?îíÖÅ|ó´kÛÜlYa
-Á¾Ü@¯÷±KìÛ0)¬-õ2£${/
-ò¥F¹r-_×ö¢Yaug¬»Åz¸.ÅmÅ?ëe1I׸
-ÆÉÂHêàjyå´\^÷C}=eñ²Uúmô&O9f¹,1 óz¦mÀ3.%8¼
m]g¸d?Öd*¿H.ç/PÃZÍr ÚØ4$è¤Îð°~̽!J/EϼÂ-Ó(Úò¸&ãÿ¸ü¶%Y²À¥³YÆä'À·´¬1÷«%ÍuþèCSvæTQìç}éÇI,£UTvåw ¨v¢¸Èy¢>,?´¨1O4X9cRÈ_°'Yû´u©åçÔrî± :×ÀòÜáMÃ+7ÂéÕgÜk°Û²Ï®W$wÙ4aEI÷áYø]¿¤l!tÐ-¨01ôEøÃ9vF¶ÿEYO6)XÖ§ÃuýÐ`t㼸ytJTýç^ÃÌT÷[`´NggÍì1|LÛ¬ãós"&P SùW4 I~¼ñYj#|Î!©+íº¯Å¦/ÔÛÉí/é9ÑIÊG?ý4 &Û(ÒÙiùÚ/ø&·LÇгç;Vì×ÆñÔúÙõxõ]ë+=22ÎR«¡
-´Ùõä¼M
-u{y¤ÍN9!ëPA?Bòîtõ6üƽîäÃïÙòp ¿f¯ÌV3ÁúÓ
-Íɬ½FmGÑô¸ÙàÓk¥¡Ê'ÏýK°ØñÇü8÷J%Èö2¥úsçõÝ"wXÇÕ`\NÿWB°ÓsùÏÂp5Ýãg|«¦ÍH½<<^ÇÃ#
-f¶~ìMykdë³¹0ì)-`_Bñp·±ßZÊ*À*©Ç¢ûûÙ|
-ÒÏh£yÀRéÉ¥=½V bhëó¼ðÁ¨Fi`?\à÷Hî_¡9yÏ}yj9&ÉÚ|´Z
-(@ÚÀ
-Z·pôÿMlÉ©5ô~d.ÝÈ÷yÑĬñ¤T¶p´áòǾcyM_WåªÏO¥òl\³fÐ2ã5ïÁEjX>ª¥\ÍÂÐÃG»¸¯S(¶» $JmÎ:4ªÍôý[M¨}RÚêPpäð2I±q'³0Nm¤NDp`.;ÊÓ
-úeÉ¢R×)~]h¡)¥'Ó1SráPý+Vb(£¨MP£R¸È&Ä;ð¦î¬V´¤~ÑGñ*ë¯QÑ-Ý 4ó hÓb¹ì
-¸O1|Ë%c|ª$¯¤gE:Õx-"àâÓ¼Ò\§±qZ|¦ì^-m:zÌ;©ý¾zÒ (L(ì,æÉ©Q'Cl1Ñ×ûKPIKµÕè´û3xD¸7Íb÷³át].Ç× Pô9D1²#ܪê<¯
-¾ÙWª7JÞMÿZ1éj ÄË44¯\f{bL̸Q
-l_T ^aÏ1Fê<fÅîÉYyÓzú3Õóc£v88ÞUصhOÀ1d¡¸VÄÉíl0=Wè¸ÈF*n%ÌdïÉ ]ïFp¸Nèù¨ªlì5¬+*ëlôÿæ²
-»$oµ÷/·a+9_ÌQvv¿Þ
-rÕoâ1ÛÛXÕV(G'*gäÀó¶v}þ± Êq=àÌJ«d8kTNÃë°áܼrñJO®.
- cJÜdF4õØêq
7´#<Ï|aËß¹
-»
-EÓ÷OgHÁTA«Þ«ü$Û ùy&Kl
-ñÌ»,ém1<?*lÜ÷ãMêøsÁò»¦KbÕ^ÁîÂü0ù×Ãaçã5(Ã_Æi4¿g½.êÛ¹R£ÕÔT³á)ºÊä·Öÿ
}F ,ÄAû_t©ÅPbÃ5
-K¤¸lzJ
-M°¸Áæ³÷JøNúDÌ3JÍø]ÕÙ9ÕÖ["Joé[gÞ}z@¶á¬`¸ðÊèhÕwr=èyñroV_;ÍÑÖïño &¡Zµ3
3%=Ø>S at T,|%íFrs:H×Qå·PòÀ¾ ÜØô~Ãyû÷ð3ó¬)Ö0"'K¤/B6 0ê£öÙNF#t^·Ú!?¥VZ
-颣aRÐr#ÃX2
-yÈA»¼
-j>9®> ¤wú&Ò½¾ûd¸þÝFÝRç
-º WpG«~{LW9§¡Aw}ódÂõU&ºÍ¬XÓfR;ÅRÆL\.¦àXêÊtÏ$@ç òîÀÄ7W:'Ð9r¼«çïï!¼¥åÈþ,ávæ1ØÓÝÀßGp¶j«¾*í¯dAqÚ#¦ þ ù¬(
-dyü4N3)âóyFOñb}¶fê6®8ªMW,jÜ>¯aV³÷뫫ѧF%û´øÂ<ú/ðõ'ÉÒÓnÞ × Ú§(c[hVtB`X=N8*Êæ²Ælûõ"sÁ¨ß2Cqi·¡3¾¤»´ÕBÆ7¥¢
Ëܺüûÿ)2?ÑI[ÕVRÖåíNaÞ¥srß3§/¢ÁÄñ5J ûß:4wEÑ vXäZ¯L6Ð=ïUSñ- ÏÅ×Ȳâÿ¼VúèµDuD0*2ÇÎ>.Â.>jêÄ\°¦Ûí8)i¢¢
-ßÍÑñ´<73@ÝXáEð°[wj2úmÆ÷Ç6Ù.ÓiØæÙ5Ò-v ô§að'[äüõJ³ã¤`*Í®6É{¤½Ë«¡à£/Ï÷YÐJb½å0ãÉ
-ø5ii¯ÑÈa¨@ö¡ÜQTàø4
-i>®¬^¤FãÌ@S:òêT SºMíMüÉÍ0yÜpdüîédÅëÍÕâªóäîGpI2ìëþÝ÷¢þ[BÍÔzÏ'ø&¹ÖQ¬Y÷µ¿QÔOlæ"c?¸.˧äm I;¨Ù·¬Ázéu5þ>Rm¤C= UÕî¼Ð#SƺTõÛÄ2ßkAgï Ö`>LùNB+ý¹\Ó®®ânµÀG~Õ
-v,WIÄ:OfÓ&ï ÜRÄÒWg#ÉÜkPØ-_&ÛâOFèoÒaÁzÝæKdÛÛUYÙH8¿ý¼CÓp5%]LÖÄ·Ò-ÉI®"+;4ú
-çÜ'Òç*£DÐ
-Éöå9pa¤Ç|v¡&%L7Q¾0Å
-c·¯õßæä.ß~'6îVä»"|ÕúRnáNǧVÔ)
-#8ÒÁ4·ªåÏÑ4üÞój
-Ëø
ð¶Hàr"Ki)yÛ,2%·uÕǺât;1z´
-¢¶ºc
-Éù¡ê³¦óкwQáSãã[ô
Cû8¾.¶võSûÖãkI]Þ0OýHåOb89¤U
uâM}ô)O*=)óÆQJ|Tàc¼Å4¼DæñrkW£Ó2ÂGà"X{
{ D{įtUÚ´oö6¦-ã¸Ý»°À68ïV"Ý3º±ÊäùZI)æå«Î^Â3P^ðX¬VäöãlQÐøbz9V¬¸á+Ä¥hYiª9+ËÒ+ÄbÎÍúý#ÔrRgÊ9¸êúUî¥'*°Gþë§[/ ´èiü0q&÷!:¨°H4££r¶ZÜÍõ
-}_àoêöä9ÍѶÊÜÂÚ áA>¢'ÅõIB½áÇê¦!òʹó¾áñÐn
-Öµ<+|ßãfü«N£ô
ÿi@ÓºR¹ùïw<úTèð0òÜÎá?z
-¾=BA$õú¥öw÷®Mó- @IRí'[ÚSI£#TáË·f
-bÒí6¡©ç"Uè
36`SõgúZÊÆ×îÝS°º+ÃÖm¦ cÓàDpNoð£uK/1é±mÙDOí»ó> ôä|¢0à9ÊØI úV¸$±U¶©à6Àð®B_I¹®»(1ûèÒJñ ÉvÍÌõéܦ/.jÖnFæ¬MΫA°hñqdá4ôé$ÜËà4PÉdê`+é'AÃ1üßY£*·é¥w¨\uØ©j(ûÌGo
6ùY À«½fUwö%äS
-m
-/Ü(Qe Zé¿ø_Â.¿IÔBÌwHmâµæÞñýs/
-b1Wv[¶x³¨³û[ºóÅKRâGÙ[Ú%±ßvìߢ_¿â_ 1ǬùVvúBZKúA Rø¼^®÷ðAÿ<9qף̱CD4àQÖ³ú)Ó´Aí-WRh
-}¥ä«³U
-¯GCç{_7þØæ}rH.gÖö^Éÿa"
KzÌbè,#{y2ä%3¾0<»!?v)GHì_ÞÂ
-âeÍZMsØ3ÓcÎÚþÍâi[ÆËÜÎ^ÑÊz¶±¢îþ½x¢ qÇ\j }§HEEÆEÀ&û'O&»
-×Ì#eêÐÝ?½Ö4òÕ"·3¢ªlÀ0+Vj°(å+Ù§Õ>üªg¥ÌOñ)IÒqcj]Î|øLçæ¯Á/Ünø6J(´Ö>¿W¦ÿgBc5À#Vj·][x¶þò¿ÝèÙͳC¶
Tn1F9³íeÜ»´í¾¢E5´ø|+lE;m¯cv¼×·¤¦cÔÚf$»°é<Èu.¼ÓOZ«#õAKOV9½N/Õ{ÓWêK<ðß
-5¯>b>P¦/ÜC5å¢ï[ \ÚVø¿ÕÎMü<;ÿ0µâ¨þè3V2/!ÁÎÒdC²WÂø i£:Í
ÚÛfÉafüÕÒðÈ»NenÍMkAÿÎVi£)]P!
-ÑÅÝô´]9\¢GêÓ¨
-n6TçôTóÈ@:£9$ùïu
-¦5&]îM
-ÉìÞÉÆ°ÌV¡ª'Ã[jò»XäXíý-ÒÒ«Âù«_B¼É¹Dt~ûVµúsÐü¬ÓÝëñø é_òÎDg`á3eµa3º"
-7Q.ûcÈfo8»]éÆ>÷¥{h8x?oÊb
s>2µ_ûøDuíA&<ñãÜg§zL+4OG[d,MÞ±zÁjµ¬[$°>gª°#=w8Y°uä\J¹P{ø%3;¼£S%lÆ!LCµùe¢
-¤£¡µfF»É(s-(X#§»áÛYTnsÀUt#j;¾@¤w±yãÆâö÷ÿ¬ÑÕÌÄT¡¬YR}pc?%]<Öºâ
-§÷´£®5äHÙÏäk-âãÿm^åQñÿøJÀ\MXPâ½Ä¯Æ¯%,ØÞâ];Mv6Äýà{gCdfqS·|þ°o
-CËë¥èÚÂxܬ"Oyp_TX} ¨±Éû©ÈàÂTY7{Pp¾Êe\,'Ë=8«C«>¼
h°ÎÊ2Jðf§Åªýþ#
-+ÎðíîA4N¾WúïnMPÛǤ:}ÊûoëlÖÍau¹"<üÝ0xýϦ
-.!kv º¢¢mg3_PëÝ-*iäDQ
-ÐÁí~^²X:£Uõ÷G¸ÁW°uRæ÷ù¿BÊ)I¯û/
-1Òol&ݦ7ûÃq¼ÕWÈ%sÂÁP¤Ñopx¦Þø$û>lý4ÊéEuVRxªÞYái@(êøå¯Ú%ChDíÛFe7Êñ¯Ý]øV9¿fvÑcåAx:«ÓlÎZÔÄîðÉÓh»úè¤ °%
-×v:µ¤údâ¥ÈáîÓ¤a¦
-;AlNÙC¶¡ï56¿"ÚÇîÀwHçÛ[ëG®N}¡}Âodcd2ÚIV$º«ØѯËg~Ó¿
YóGxq)Õ
-ªNuÄio'ȳ4Åpô1WzF3<(Oçîá®ÛhÛ©ÁæUKBôJóäÃ@Þ£wäê
çSÑ×J¿|¨}&<jìsE$ò¨úP1½
¿ü¡ã§¢z7©ÜÅùç ½§|WP:Qii÷S2
-Ñ%PÎGiÀ ®
ä§sÊ5ÈîÉér³ÜNª@æA¸ÛqµÃ¹¬µôBúÐ5gÝ#¨ºc½G§ýG£¸ÝUêÓË"8èlmi1
-RöWhîÛ6©aÖ00Ö¸î×´«£T$n8Nì¯À5·eÑÜ
-BåìnTY}xM,dÝqÑ®Sõ`#áVå¹´éñàyÛ¤Àþw¡j4Ð~®óê©#zñcêÝJ©ÖC¦ØÙÜC
-9Ë¥±°¯L:ýA bÙ@âq
-ßH!G¥
bõ',¯×Ðló?XB]ƵÐìâWw{_ÕL.¡¼k
-^ä(UͶÌîûrÅ¢4¾´Û¡B:kPNÌ溫¶ÈE^ßüܪÈÉÔ¿èl¶µÝÎFø9Ý)jÉÛø4:æñôoݨga¦_2ଣÅükõ¯ñxö<=0{>ä±|ÄtiJ©ZTé´6ÿ¨åɨ:S°i ýøêTE Db©P»ùoHãOGèm¥Ùg Gê³µsù¼E'
-ævݼ>ªlÀ.ÃÀ×Êæd@yLaÞìÛa¥eT[êsÀL¸HÂàÓ(L"<O at I|¢¹e6=]˼þt¶ÑðYz%Iy,qiÌòp!JïJ0ïHÉ&Ö¤\qTcÄ@öÓQÂÏöìSçT¨ ß%6+UÙßÇ81÷Ü|òj{Ú]U\gú(Ü7»NxHU¸UÜdQįåÂg$¤-b°Ç_RðBÍxø½üéa 'öyh×HùÕb?*Xëbál×4O SÀ¿]ögðÔM©enËÕÙ>ãQ¾SEwB5¿Ý
-#³&µÙ¹Ãéõ)mó
E¼ÏñËt®^AJÔëqî±J'Æ«@¼!î°ãÝÉx°¹±3qèY|4T6BøIA¼n¢vѱNf˼p{ã'!PX +ê8$rAì¯+^ß:#U(HªD÷}´ïI{Ä£$¤ÿû§Pª2h"÷ÚiFsV$üD£Ç5§ìA¨«uØâ´ez8cs)-é
-¤/¤íÅF5uÙ
Ì7pþÕ±ñÒ\qL, ß
' ú%|7·
-ûÉ<^Gf®e\_Æ&¦ï8Ôìó½ÅÅÖ;dðnpy¤ñA.tßÒD]¾3AG«ùC[´ªA-øvf¦à2Ì5ÝY~;bî0h
-@jBÁÝ®6k,1Ñ&ÝbSîPYjzoeY
-«©f«ñ©d>ë}|Þxì;¨ÊçÀ£|
-êÑZyÑ£%D¡ü]I{|igSÒ3ªTXçré*
-í/qðö;Õ!#v=Ø[¨ìÑì¯ïa¿Á5Ò«ÄÏ°^{áâM%Ú~þ~8q¤e½P "åÀ¤äïLgfXßxB6Pª¿Ù9Lk ηaÐ
-+56úñ¿vÁK1båFg4t6Q=D¦dX5¯ÁmUø¾Çþ®®lÔÿaùºiÞh|Î;ù©oÌNÅ|xOm7ëdYÔV7í °óîôàdS«:S¶ä¥÷ qÅEÍ9)Ói.©nÇ*½Ðû÷D½'êAׯÙÍ_\¶
-9^}½rÃ× ï4'Û½Ò¿°`UL]`JU.|%¿ÿññ½|ν+»7lÍV@|u¡"''ùI{)4ù}tµ<ak¾záÊEYf´Âj¼è9vMxVbïÜÏÊ
-ía|hÓÛÆîYcq©gAdÛ¶ VAòèöûJ`¢ÛÏ´Y(.t`[ÃeO¢,
-Ó6vYï¤bØ"3j.R$IÓ¨"ͶHZ?0Eëó÷ÐËgVõÛÐhÛôäyWgH$ÿÍ[~£ëÂr Æ`
-ûå IS`ѬQ°qmîvìÌvýjNÓøÙtܸð%QÔbüVJJñW5NvõÛµNÍN!üËOÃúÕmpG&Ö*U
-÷õ B9<q¬Pâãc«Â²¹Â
-²o¸ÂåT7&:³üÏ¿t¬lUôX9/ ÿàè2ÃÙáéøY¿.Ù;ô×Zrô}-dÛSDôQ{ÎûÅû§(ÓÂ'ñ'=,í|óÞ]HVíý¹Ú`íûqÎ],¨ñ¸iji@^Ò¯äoß
-ÑR*\ñ \ygL¸À1·d
õ6Sw¿|¤¯
-.v¶W¹VçºH4E 2îúmZ4æ*wäÕÝvÀ©¡ñ.¦,¿âpùC¿Nñ¥QÄ÷êûiÁß32lËÍu7 \
-t)D©ð(ýøÇT4ç¶Ô1Ãð=<ÙÜÝöÜKÛïX]#ÃCëÊó0ÌËx¹âÅÜ8SÝNZXqït¦ßUû4qrð=»µÉß´õ´2Ó8<!WRZ÷/V-Ø)Ö!Ç®
-²ð×=,Ýê·úÉH+ØêýôyÆ÷²PÓzr;öx
-U ÿpîk²¸ 8ÓþAÏKö_KgPzaëÍç@oâ»;®j²ÁÙû«¶áj{s³¡Î×Ñcy¾&ùñÒ4Hz1s?ÌÑN®0a¢d/UX,a·á5E3Nw9¦ÔbÆ+î±¢~ýûþ2añÀ£ý:к¦ä®£åÒæ³ê\±ON+æ
-(_¼V,KcÀh
¦¬.˯߰<VÀLÆöQ|DÖÚÅáæ2¼tïê/¨wB÷ñÉE£YïÎat±kt´2,EU.®,àE![Ègè{)bDn¨qeëɾ
-v{â
Ò1É°Üîàus½ð»CS26¶Zaº\êÀW¸¶ íW½ë{`Õ¹¢CJ¢Z½iª®üÈM;cVxLìôÈäeJ!nè\ «~»õÈuÐhس\BÂc°ûõý(ö³1ö3Ç°÷»X¯´Ú7hO´Hð6þ5bGÿcôNÄ|öUYâìCç*ë¥ËeE¼öùöø.=u®3V&̲'~¹^ËüM!ñ0
-4&Þ¡%ß"Z§ÏÔdßgçÿ#oéå¦Ûª$õ)o\¸÷G¼E_ûsáM©ÅLÒNR:OìKN·Û?¤DÅ"hä4C}|ç gkQ@&xZ
-i¥aªï³
-ïøRÑK1&ÚH&¨ åÌ¢èÔGF§ËHM´¼MǪÏ?êòT
-ìn¯R1ATb!Ô1ôjHçlüe®¦Ø×ø·]Î%ÿÔ*²9H1ùÏïeo£mJ[~( ©gN©mHKA¸ñ4mmvü Ç_gyR+yý0U:s¨Îeá7o´O·r£¨H9¦b´ÌÉ ÷K}mp*\6ö^µÐ_ûÈY5êé-`Ã!6ÄÎ9¬¹ÜÜx7
4üæoÌl.ÒuöñÕ7bu2{ÿ
-e¬>w©Î§n¶!}u
-Óþq?jy§è"´«TJ7Bç.°h
-
uhµ)·8EGrøõë%ÁA[9"èR¦IvÍÞÓmËDO¢-PÀ%®iî÷=«dve ø(R]¡K®ørÅ#MZ£ï¨|cÌêDC¸7?¤4jù¾C¨t,ê\ó-ãfä4æþ
-¨]kbV§
-C9hu/Ö~ª5Ñ)¥B[¥únyjíf#'F
-g_`#{\¤X&1÷¹[oÖõËäM^¼csLéVaÇ~ÌeIc×T%êÞãÿw
åv=D8ËA±Þúÿ ý:w¾ÙF&Â>kd^zÅ´¸{þÝ>Á0á®Ê©¨*çûWJÍá|¸ (¤Ãÿ³°FËØì`£ú¿ªg){ ú~°
-%
-Ë~Ýs¨z,P[¿h¦xÞìøønEtLã¦5ïÿ7Òù)[CðÈ3ýÍÁ»@câ¯ñ·B}À ·¬ûGèBMÌ@'?ÅX%V·lÀXCü´MT B2¯P§'ÌK¢,ÞñÙH"É{£Kо
¢çæ%èHÓûãÑ"3 lË[
-{I¹Ú*X,7¬*O¬Ç+¾ùù&AËzvMèZ@pg±ÜRºå³íJF2èéîæ!þÒsÞ°3 TàpôgÈ
Q%©E5MóeÐ\)Þ[ÐZ»òCQJ¾r²¦À°. â? >ý?©ÓwÉ÷jmÛ½ï§&´M§è4
-,Ä/6Z½÷S4Ç6{ðÔCìeÂ!Æ^Òì+
sÀmßYÌ)k®äÊt.¨V=¦$ô@«hWñpúc(¸ T$Â¥µÓüI,A&Å°Òò+B½nDP÷[°+2oݦ
-i¯ðcÊó
#cpÓIöE·*ÏÜM÷¾G ².8ñ¦Én}àzNRèÔ$?££øÑÁ8[(01n0%Õá}Y ÈÚtÙxÂo+uíз|/æäµ^¶nâ6ç^h|8³8é\ñ&1¶õæJè9§v¦Ö:IÊapÉÏßcº:J`q9í=ñ;Ât¿ÆÇ«¹ÆÌÄ òÃx£*1wW2T±²Ç¶àýÞeöÅ®Ü&3TµE6¹ÅY_ÇzËð
-õ-éh#³z¢=Ì+!òKÙÀjpE= 72,ËCS&mNÈ(6BJï.«A¼Iö<?ö-¾¨`¦
- ¼NÛB5×è<XýºÞq5.Ã!ï´N½y=R¤lÔ.
-ª ¬ÐÈs Î -öÊRÀ6ÀâöátèýÔerÈEàóù##¯õf5\s5iNdk"Üp}à8¶Aà#ÙbzûÎè«Rr¦íí+ 2//ÑâôöByÉX`'8S¹uG|Ô¹Áw3R¤D±Ã
pCþ6þØ#BRKà½}®a`Ëc#þѹ¡²ÿ®j½ßDz
-çwÉðnVÔmÙ éC
-XîÀ2)7÷Â/ÀmÃDE,<%Ü5ÌfyLØRh
-fáþóïGC8vMËÎØZ¾8èIöÇ$âƪÇå¯âJÅôaÐ ×K;fV×rDv;è-Ç¢J+BQ&¹ÐI8kXx¼%-G°<K1gQ¬=v!FÚW?ÎÀ¸F¬Ïr"6º¯Ä³»ÝvÑã¯KÌ5·j12¾þ ûª×/´ hâ{.J>g½DäÆá¸]R;ßèy9oжýâìûvyïzÍØÅ·nÁ/4.ÎYö¼®þï@Í2´©ÅP±Ë
Ô¹UT2¨lì`¶H(ÿcÙ5 eÀþj ÞâQH
-]ã!ðÈá÷Î@â>¤6Â@: ýC]¢$6tý_´kÓO]#eoUØ Qz/ÈÚ§øwQpçZeßÕaÓnÅp}Çxy¯Gk¨ð)(Oqxùqü
-MaJºP0Ãn2Å*§è
-bÏßí^ncLLºÒ+_/ ,e {^1k}göò¶P/C^PñFî3Ïa§Æ#aÿ÷fùmë¦(ñyÁ!àq¢G!_â¥þ1¼rFÒþ¨ë:ûôôwèùRO
@íºÈ8q!°]©F
-}M#»åηMÒeK÷RjÙQÞú^°9êÃ6Á×ù2 »§2ï]ÓéRÉÞrÏ»ÝøËÄ=MÝ`8Wë0-÷áfN]ú
-3ß
-êéÀÒ-4wóA&àdë/s¸÷1µ*^cM»ªEfa_wqT.t:AuuüùC¯$=CSc8Àà¢Õ-"Q÷ÝvÈæOîB¹»Ý¯²¶ôiµ¯
-øºû¢E4wÑV«÷ÆÞÚ÷¤²i
-»nQScN\jÇ/HàÐ~a·ÑÔSFT,°¾A¸Fpoq¨&µè¾ÉÈ¡M'MQØ@ôçú-µ.#ûæ`&ºÎUwS?¿°/'w2û-%5¨$.ý4ñvyN BÂìªUHd±ÁÝÇ©*B&VYwÎÛÎlÆìo½æN0éºÒYÙ¤Òá"pKºÍEA1·µôø ï¯';³bÓÊm-ûù_R\+ä§ hcfm
-ÒA
-³lsç®ÿ[ò5²Øçô³~]Ï÷«âþÉåÇÁàTúw}dw
-¦:·ýª:®Xª¬
-E*S¶Ø}¬ g^3rFâcò¦d¥_áMÃ>î4ý `p¾0ÊLøE:Û@È(Q$^?{èD
-ùestàÀeº{oTçN®ük=Ñ,øØìÔêxÊòU2wø6°IÌa?Ô
-Ùêøut^µ4G¢ M #@+G>·¨
-t@(-tglÃäD³P C}ñ|ùdæ«Pÿ§Az¹!Gt¡hd˼Xå+×*8$Vw+Ü}«ÀxZeLá%®]ÖTsF¶¡ËJJù?¡¤µã
-
-?ÀU%á80¿{it
-*o@ü³êvX5´Y¦°å§yݺ©ß£5«cÌ ÍòX»Q$ûCúW&$þAï©8!KØ3TáÁ¯¡jn_ØzØ9êOûL¾þ[ÚÚÊÙsj^¼$µïQ5ÐÏî«mõÚjY wÿg"e¹52/:ðèuHK¿6ÓÑ%ýQ÷Hä¥íF4^¹äLÍÞÄéäÔLÓÎÙ²A\¹+ÊQ`ÉeçÄÈjù¾èÎxÉ &eME~E©ÕÿÀéÿýPÂ,£ZºE»áÿ!ÜNy-´IÒPý|ßO v
-O¡ø?ÅÀq½
-7éRú;kGCYÅ)Ëï
-K{<½x±6lvóvûY Wi·H!óWëwÒ¡¨@zìÿrìÅ]FX¯ ù¡¶kïÍj¼bóþMæÞ6ÈO
-Ç>÷$R¿_^BÜ@ý"GP.2ÿVa'zóÉÖ9Þ%
-÷C ¶+3EåºA¬Ì¶p)ìi¸õÉEQ³s×ÒYË×
í4%ersºÚÌv<¯÷X¹\Ûu$8÷¨ïñlðÔF³y¨ÊßÃø³c¼Ó§Aë\J¤f>ot2Úw¹s´«5®ýêÚhÒ0ñ7P¡&y{Ã_ïK¬>ÿ-oæ|·QjhÒkú\[r®9@&{â×ôç*æUÐñ²xØòk¢ÖË¡e²º
- at a£ÑÙî)-êÿ«ïø;òñÄÖÆn´íé÷!
-{_s¤£2õ]ª§ñ{èÑhúÍÂK.ß+µ µÃìvÒæ@R?2ÀwïP5tR´>C5QÀ¿;ËQ
- úß3ßGâC´4p9^@¼¢.rϦÌs,H Ãn9p]¼ÛEClé?µÛÕÎv\»©ä2ZBð2kùÛÏÙrãK¸È.ĵ.7^±þÜ
-×öÜ|¶RmÜÖþó,ÄUÿ^V at têdN·yhi%M93M|äî¯ï"DKäõ o
-ùlÏê9o¼ÉoáÂ6È3"Aþ´P¿a}ivBz4F8W´uÐÝ"Nñ&mBºñÕ~ÿYvùóä)E¦heµ/¶=KøBvÂÉçü¸³¾¥fþXÊC¡4½c¥}Ñ1¯ÃN;ÝAÙ[äþáìmn?õÀnÒ˪Ü;R}|bxû¨mP0PÛáÞÚ÷ºÁZÕê;\lnE¬&[xJ
BÂCèWQFe$KBNyøå^Ç>ÁËí)í<ÃÌö»l1yç}]%·Fs'ct÷ëRs¤üÉØѼsðüXrBø_5¡{ïà§âA9ÎWK~c)ÿ¼"=ÿ=¨ò(xìø첺PVÁBFºÏÑSÀ3RÁ
-A7Fì³Ý´9y,n#Pæö~IÔñiB(ñDïªmKý%ù<x$t/ÏG`úîîî£?ͼÂVÓzÁªõ-3 ý7m:^°Z§éÑb¦Ï"Êôøáß,YtnGVRJR°÷¢´:CŤ |[¤ùt³,u,ÞÙ÷O¡*¾P\æùºãt»ÑB»Ä0, P2òQXHD´è$éú_eòhì)&B]Õð±ôEíf¦NGöõv¹¿¬ª?*é.ƽ5ÄUÞ3ÔçÖѲ"E@ZT+úoúT{¨A
-,ÊåìÉæ>rl0r¾ô1ö£Éߺq¥ÆQ5 ûü½§ùÆÀb=ögÓÂsä°½ÌÙ<ív
-^G÷
-ÿ½Er·ÅúéW.*ÒPÙÐ-¾úDjê5QoGµû³RZ
-¢c¹'`[Û6·¦Å³×\éÝ£¦5¹#k¯]_qÇp£%qRË9·¸Ý>©µ®mhhuÑ*nõºú½bóDõ)ÈdhÒ§~¯¢¶/+Kè¿UX· eîXgÙ¶ð.:Cy´k
Ûèøv)ÿ¡g5Jx½ìúZÆ5À?ÆFå?L(¾JC¿ì¨Ö¾4÷E7sJý&hÜyKgô2ueËAȯÁu£eÖÿåkÇ¡ë?¦pS`¬ÚÆ{Ì-£¤6Øâ·PÃ#ß}Û5r2#ÿïusÍk¸PÖå»ç
-Ve/cn^ÀïÛ~.6Zyi·C; @aaZÑKºeVé[¾µÞmõ[°ªìÝ`ê
-!xÖ'ªÊíÃÎ
`ÀůÚÖwá;97C{X]ëvK¶(ÎA¥½Ñ¬*ïË0á\4×ÚÖÃÕÒþAùzÍYÛl¦ÝÐuÅ÷¹I¡t¶§¢<!y%EFAwþëËcÖzæ6ù·Q¼én!kNBù{¨¡~?Z&É~^}·õ«ðM%c=¥p®`ædã˦3å¹*z-q°±üÈ©÷_â_ÃÆ%W÷ÑuhB¡ý&}[s÷ØÌ,eÊ-_bsìðXãzÁb`ÀÈî*R~}/èÆRÃrÍw¥/ù~§z1ùLÿÖQµµ&)ÅX² p*¿æt¡¶dÛßãRuqqñL+s µ:Ô¯/'ÝþrY6)ÆÐð¾ß¹ó
-~¬ò-'Ǫ̀ûØíS§åç®È@À;8Êõª^Cé¥ÔUäÌî¥|RÆ(üö^æ"½ma/®a¾·8§|ÿ´Å»ßÎI£ý¢fØ*ìÚ1(·;«MkáÀ°øx
-=ºÔ]ùrßÆ¥Òöì:77Iì¶
-3r×KaÒ׹¦Ýg*pnØe'ÁáPýñ&ÿüà:
-é16`Þ&Xê(¿rì}·\RF¾j¯}
@CdT=û¸Õ¡¥Eµ}l'¦Û/kOÛù
-íivÅmâ°Zë}!
-KOnÈjò¬´ÕÌ&Ìôx
-à}·z[0qþë޵ūuôi{?-*ÅckÝâGáÌÉöÐÜÛé¥Vfá[Gîk±Þ±Dµ|®:¡ö£`:HÖD&´ÑEâüÝò5!zë¨]ñ`T2[úpÄüñi#
-6(s¦é9µ²»e\¤!Jøν6þ
-÷RÕ$G¯Å¤õ#x_Î}êM7²YFUC
ï.t>âÀÌËÅc¼íÔô)K8©pØ\ðY·peX¡ç¿ËYZ·Ø¶R42è¢ßO0
-ÃS½#ÊZ»Êö9ü©.$+ÁCñ³çúì¦è¨ÝS:_{mBt[îAY=biÔ¦Ð(Eµ®Aq¸ý?q ÅU4ýãttëNCò¥
-s`)û¿|Èvr$æÑThyÁÔ°OGnWÀ¸WÍ á
-RźÀý°16\'.ÖL6¶1\ræ¯Pt-®¢õ¶ÍEÀÛFÞÕ"Pµ®TÍ@ÜæºN¥(>¢/ö]X¡ý¼#?
-ãã¾Bü)·]Õõåë¼#YpÈbäLõ[¡üÃÛ÷ÔÆÑ*c¸ºÇ*n*{üMvß½uù¿§ÛÌjÝûýîLDþ ú;' Zªb= ¿B
.DÓ8Êäèäö.ïãѤ׸¨Ýyñ÷J=Ué¸à;ÒÏÞoê ºVGò3q§n·æÞçêÁAè¹Êú*"24Ó.U§hûزÂþóXü½±Ícë$83:b9Òø²ÞðN(T5ËoÞí§O߸Ë)¼¬åV ¾ËÑuôssÉXXÒ<cÃ(ÃÇñe#¨ix"ÇLÃ>ʹJyýÚ'©GÇÇ°¿C
-Üâï5v×Ê!ü=eWÐuE_6ÐÍ°æ®7hÉØ/uÃþsm½¢Sü² ¢6e××.¾9üæU'å@¦]{Zò9 T}«¾]ÐCû ¶Ã
Qµ-ÌÀém1Yh?åx¸`ÎM±SûM
-Yó1ÊHcÄF;ZGë y¼Øáäú4ÊdPª uSpØZÁßøá«ÛßÂ~xÐó5ÿ¢oáë¥J ñÝçWW&X¤Ì½:jÍÅ|ØÛ5xàJ`Ç=5qÉÔG&æXJX/¬¤'^ïþ}Ë»vçS,iDòB®v0P8X£<k>ù»ü4jPÖÑG×R¼[ØlÙ¼:Ìåsd/Zrñ© ÊùÁiÅG£JÞüÕ_@>S%lâä¨5ÐÝ£×£¦Ú®UOÏBN¤µó,§QÐM®gñç}ÂÐsräÎ-è~qz)pÂÇ_ìÔýØüºH!äìªRr`êÎà¢@ÝS`ÿYÚ¹|°£à Ý3ËþdA0"r$ÄíðK<ôÄ;Rè¾2¾/®
-ÈËñXÈwúU-½|örZõ«ó½õ@Ø®RÑÙ,ÕÓãÕÀ"ðÓÏôÊCÇÄ-Ý>àþÖ
-4*ÉèËFú¯"G!
-SËG®2¶I¨arYA´fMí^ \Ëÿqk6ëÓùfìpZ<C¢^oÅ\PÊïÈd÷Êaërγt3éi
-]D ù«,÷à3õ
ª´[û
>è^f\;"Ù³¿V,*ÚÕ7n$9Ð ³CÆFÄ
-ãµ*
-TºÚ¯{#(væÀÐAµ¤·éG6E«{Ú`aÑ´ÑÙª§<ð¶pMqß:qòH©2n8i'î¤À¶ëEÑâñ²x¿
-nà
-7nõQJ
-ÙøôsVPÚ¢ÍÊ*C~&§ôa³EÃÔK¬ »akHD6«
-·]à²(j|¹<!ù¡V¾±qVEõ1ÿ«Î{S(F¾"`?ádµÀ»¢-¤ãF2%÷é¤Èÿn* îrÇ$¯ó G&íÏ|ç?Õ -Æ|ã%À-ºèÎÝÆr+Ùö9Á}êEç·G'If2yyU<ÕF gGócºqónæ7Wi=8Z4ÒbNÁîQ%!¤|eslôz«Ð9(q¼b¨4nRÙÃi~ëMïÙk¢ ×Kîw°nN¨õð/ ¨.9òo1®`Mí¨ãz:üü» 8³c6Ò\ºskNÓ¬ Óä¹%!,÷{UqíÂàÍ©Ð7ØK ]$re³mñü;Ê¡o¡·Ã_i¨
-mQmô©§
-÷c@ØA*Ü¥ãÄoz@&$O1ßX÷3*ÒGÁæjÚr!þ2ÄÙ$ج l<°å¥ÏíF±"¡?e"ìq[e4`<a\ã0
-¯¢fL£b15ªÝÇÆ£ÅTe°tï$Õîm©"÷#ÁwpY
H¦ÞJJ>¥·?êjpõàÀÑÆce¢gî6ªTðÓD^»¬Ü´11þ¯vêp#§"¶lzü¦yÑ
-VÃ(äNMDÞ¸þ¦
-Y|¾O®
-ST=×#xÞÇ>¯¤q<¶Ò,¿lRvèªL3¡½Ö º,ºò¤
-¾ò'.:1ÀÛ
-ÁµÞÎóí´ÅnvéQ`c#|Ùë$ÛØÄknû¦Í,
-?rÔ-·@ããßH°KÄÔ¨ÜùK¥õwÑR0ÒD°!Sú¼yѸ»Í^"ܯäphl!ÚË
-)hq5ª3»Î XÝe@!J(¤·Aõ^¦dtù
-hû-V30vÏn<ÀýÜA
-ÁLû·ôGa2ÊÏÌ&_ÐWãË®ðyh´-ÍhDù¨ê~¤s ø7zX
-`Â6e ¥¢/ÑWr³jô
Q¿üíÓ´rç¼ÖJV¤¨
-hÂGµÞo÷öV5n,Ùì_gÇYº(uÑUíúh'g?l@¼´T ¬¦uÝ #ò =˱ã«&Dr«D"¤ì=ÏZ´ªwË'Ú¹¹¯¶ÁµéµéÜ¡]aγ¤8GZZ
-t±*jYÌ·$aSùrÈ+öÅkr+·&ê&¶E+\íp8ö¾jÐû9%HunWDfâËê&H°üòÍÛõ9µN¯3/& xí«ü¸#V¨JZ?þv<é5jçý.Ñi°äé=¥¯4ÃUÞÁÙ´J(ÛþìY½îê2ãpVjy,ß±§º\´jµTáS¿4È£)¨J»(³Ìó¡-¡¾u>Y+¶a0Ýäwë ÛjöÍ?3tø6¹¤q¡pÄ Á:Õ"@KwcµÉ9uMD£+x}c¯¥ÎoâA¬Âª¾C{^ÉÂÁ*bç3#Wþý©OÉIQMt&lXnÔDZÖÏHï:³ÃÕÜ9:ÜY
-iÆð¼Æ£<êÆ×Xè'íBÄ⸢[bG'ìiiAÁÏÖõ9©ã«h¯UÊjQÚÙA}T"Yøi;i2Ò¼ãbƸNkîç8Ø×Png!°.4ÜÇz[lIvøYKãÓÎ-Fhã!T:Fn\Þòűû2Rxwy÷«kø~Þ}¯qöX*XÈ÷ËVuÙ]֢ק
-8Áï 'ë>·h|'ÿͼ0x ¡î¸AØZÒ×½ñ¸ÒA¹ª?:\Ë 4FÅÓv©^ýaÖcþYÁ0Ðf{Â8nȨÒûò25¯×<¼ÛÔeÈÈc¦mi5¬ºT«A:Âý'°NÒìéf(SÜé¨ø^IpD?ñî<ÝX¾ßB`ë´ÔòG7K 5ÖgÁõÐÒ\ÔXñNH^Hyt%^/©EØ}ðàVÊÒ)
-2ÔÝ'¢çvQ=è2ÕÃùë´rìI¯¯3ñü g¼E
-ýW&
?@~SÊK§3×`× <Eÿ°¶[ÉD}©%:0Þ· ¦»ÛTQr<@âô§£C¥gBɶ)§Ð?ü!«7-¥`µÍ4ý!é±õ¦EÖ»÷ó|¼Ë{÷SÇn?EDv¡ÔQ5Ö³HÎ÷ÅñYþðÉ·¡º¾gu>*S»Áèë
Éâu¼b·¾þmªbå÷¦í|~²£$Ôöc]ÎVN:°5&r¤!ú¤|pcOhè>ç
ënãy[Kµ%¶Yõª½U7-R4f2Z"=½öÕÚáÔ×½k:æ¸ü
-½ÙÊÊ+Æô-%8d¨µ£ldó«»ÝY£ HÊV\ÉSn¦"J~2ý£<3ÑgÔ-
B·ß©äËÑj¢µê4(xÕÜQèXA¢R§weUH Á
-Û{ê9 OësÞ¬^QE"ÜRèÂü|9ZºÅU!ÓÅßç)K;½¡~p'ãh`úE£ä}²æJ¬¦ù»§R.|*[ºz¤ jÍ%Ë5nkÍ*òp(u×¾_íNbçÖ¹ãF]ò®0Èmø ÖsmÄ¡ü$2᧨& 7gÜÑL¬(×èøm¬%w¬|Mù¶ÔÚ;Vé¥ÂnÊçÒ£ôùguÏ O¢/3Àã=¥Ø|¹îÉõÆRÛ¡ "¨iÙ:h3)q`
-^\W/òP]uuTIfîc¬¦²¹9ÿÀo¤ÛÒ©÷2¢Ôx`¼GÂØ®Ü$D°IñOB$âù÷ËØ4W¨%þ¡ªÉ0Äâó®äø-wÔ§\PÄ˱IÚ4ËϳLÛ!{´^ú$.>C0²ÐYÖ«¢
-sÀã¶ð^7<Â=
-¹hL8Jj5¡ÙñÝï3>÷¥¬JûÌZ¿ìæÁ7SOÅÞQÝ@o@âð«Ü;zn©d²+ó+veoôØ;$.q«£
-Þ5µ¨*[fG8õ©¢Ç< øø(=ùjyE/¶½Ì^à`u'ÌÖÚQ
E|n'Ø}ë«Ï[#z?d׿8´y!+7º©'
-ؾð¶Ê~Ù=F¶RÆNVäó"i1+cí%¦fòy6.WÉ°7gúìÉ®ÒßóW7ß(¯YÀûÑ{WǨ$$#øºHåÐþ¤¾1OW]3sWÛ=å=nW¦R7f½oóf¢>ä!庰TEǵìJØ0Ä«e/6¡¹´3qÅ{qSÆX0Ä4i4áUpBW¸fÝÞqfØ´#@ó¼@¹kÁËãM,áÒåÛÉZÚñ5sõ@/Ò¼K©¸Í[ÂÓ+«ùTêmc]tIä$87T_äò»@áµ2Ü4îÍeürý5öÂS3M¹çàg1æ¾Â³ê&Øý¡¥"¦]æÔÔ0Q6;ÍCߤA1oÃÍw,¬BÝcØн|³p¶Ênü}7ZcgG©ÍÖòG®ÿ|1YèA²d.òÇíg$
-Pm|n§SM2]FCLðWh©w
-AT!&NÑã
Ë·Ô¾@:î·9çVFCȹÑZ+I\YrL#¢u4
}¹¿Î+«c±°ÄZol3Q%Àø®æºçÆ.}¯A Qò]5Üqß.»¹¼à9î\s/]f*jÇç+rGÏÎrÁyÎ+¯«b1Ü4+ø=¹LG^5éÔÐk[ûðâ@£ÄKVWx*/j¡¯MPTy'õäOØJ2Í7!è³P
-oô-¡Ö_(õ;§T µ¹/ñ-R56¬óÐZ¬ÌW¨
-xd8ÉbØ$õï&×7xäØUº~~Y3\ÐÞë» 3ºÄ¬»ÕkjD;w0_17múhŬ"îµÅ'õé¦àâ^s
-òH<ùþ~N)ÌгvñÃxveà$1ÑýGw-Öë= <àz^°=Å+Þ!M ¦«H5OH·cª>¥bù"-OPÁº* ¢DÿÎT¥"7!¸Ã>q.e<§køâ÷¥2
-)Óî;*ú¬sjæL+ßÅ^%Éu§,o°vU©CRþ=Ù&sTÑG"©Br´»A
4,nóq¾2-òhv22,ø»ävaÜ£û}®Æ?ôxLîU`:*¢ÒâÔ@ï{UÀÞ%à#ë;ÑyÞRúF<7~Løîó½uJÖ
åW91Ôy¤ºÇãÝ?AOâzÍ°¡N7KÑ< Î>-ñ,À£²dMwÂÀÈÏ;!¿_DÆ/«9º¶rBì;^¼8þ¡²×âxªDåwu´Ô¾Y0;ù?/c|çlo2ðÇÇ^Ïk5TMñt±ôÜ´È6jM½¼?Ñ+VøS¯ïh=z_XJCii}
-Á«Gûm£`À*Ù{ÁÙügìíÑÝÝrðj.þáO.A&C<^Ѷ:w?éYëÄÖûl ùW¾ÏqÑyã141sÓûø nQh³¼Úº¡E»²_õ¯HܲÄù'¤ë°ÒNU`ÁòeLîËEÓºå¶r-4¬íÔXþ»v¦¶³öWB2©,,ya ÝdR>ªÄÖQnv±e©¢?l
5¾Ä¯«øPèF´§OBn«Æ;5¹Ï×W.Ûõ]®&¾cé»v'¾ÜBDT&ãÛ÷§XÁ =ß·>õ8óìЯRåðTÌVáÚk¯(kô!e+x 7
úÄñßÂïFÕ ¤ÌAi
-fÔß_p@`Ô°©Vp.-Ùz²«õ\p?¢ü»è,iÍÂ-½qy' 2ëA³ÿÒ¬»ÏîÁ¯=%¢úyé£/S³)·6±.y-ºÏÀ)¾ùùÓJëÒ²Ü5ï±ä§é8¶7CÊR<Q¿ó×ÒPCcw pkm;¬Ñëi'FàQÒ
-é°.Ú{Aè°zèM\§Q¾/&×Úô
¤«!ÛÂ?Ù&@s¾{=ýѵ¸n0S ÁîMPsøãºi¡ùСüîâÅP¢n꡶ÊߺóÚÂUÐßÀtsm.Z,CêÎ:¡>K
-Yq+x.÷xØ9&¹´§Âö<Þ
-xlo§Ø $##X¦³Û9Y:kׯ·jÑ!z
-[î!5ô,Ê"s¶q¥¿çôçCù WÝk¨þë-\97åÁ§Z~¤æÞ ý`ò6°IÌcåà|4¸l_ãgÁÊI±<K¯ÝðÜB¾nÓP¦;éÏâVß³|AÚbwHê1Ú.)ZN3H0`o½Êãj é/ÙU'`:¶iÀ«ôÁHÂÍ-{ÿõ4jXBzê8$5]úÒæéd1¸ÓÛRÙQð¢xÛHÀ1w<
»mù}°à¥N]
-ÏÌÆãí?úû-ïÙ
¾8ójYÅ?Á°¬áùä$ý0ç C'&tàZ .´µ1Ñ/8#@fÌUicèKÞk¥4~ç_?ÕkÄý¸Ô¹SÑW?×õ!éHä3P§ÂB'Èpñ"e
-ÑçÀ£©ÐjÔiNYåIï$RèWrÃzèÌ-¨FÂtQ¨2¯ÝD·éL÷$fØBKTBî
ÉÇW?9!ÉdU¤ïýT·.§ñìYuÔ×5jêÐH
-PÖÜvä`,¦¼sóe&@ÊÙ¢8ÂBçuÐñjßÓÅq°8'T¡
-̾õthC¸¶+¯ÚÙbY<çû<ÂvÖÝU9«
´\M6ÛdTK84Q¤<§4?YÝ+qÃì èá3-LQT±?Ëø;Ñr(ÞÇƱbë(ô§¾¹!¯Y@¦'¸Ù£8TêmNÙp¶}ND&S{8(|>ÉkI{Óý÷'Ýíf.ߥ²¿ãOZPÄkãV£}»0H
+xÕZÉÜ6½ë+tH7À0nÝ
+Èä ¾ä÷óª(.ê&¥vÇxàqϵ°ÖW%/ó?Óßó2ÿ¸\ÔìÆwùû×ßæ_~ÿüõõéóÇd½R8ðñëüÓJ?Çùã÷ù^ø˼ûÅk·úÅY¯=×ânN¹«³æªË§<¹èVwÓZ/ÞáÄ»·|fÒ<8F|Vsûyþøsº}L_z*¹h/úED¾â¹òѽC)åð³|2¬èÔ×´ºªjb£½7Lq®ºøþêÞ|_Õ5þ5`
+fýúÎ\è5õ+_5«ÄUY} à¹\ܬsV`üý;é|4öÅß_Äk ¿eádø÷ÎÁ4~t5íÜðnúÌ"ä/¶olöÄ+È!fåÙgéIwƳA¿²/jn
-éjÁð;<æaã5¹4üdó¯
-¥¬Ï?!ðZ6þð§ *
-xèyÇu
-ÎZ«âtÈüoh¨DÉÔ¨iVÌnÜÑ$|V~üd©IÛóy1@7Ë}±1ªãxnâmá¥3ÈY§£YGÖAUSÀjLAíxÁã>Ùþ!0êY¼Ò²ûã÷³ÿuÙ¿üN÷^{e·OÎíwC°âEgA&H)õ>¸ìñï>W½ïÅâqéÎT>³\ê¡Ð°Ó<ß:nûÑ4·CýÚoå óög<¾qy
kv"Ch?RÎåä10TË|%Iõ8ÜÖBöþÂ&ÎyV=W´`ÐËÀ¯ÔÈwÅdÑdòñªk=ézYð嶫ޣBâ]µû*ƽ¦Ì~B³v³ÏݪäòèCm>)8ÏòÌoQD1ý~¢· »t³î½ |7+bèöh`ÉD&ÐM¢N;Q%öiü+p°èwñå&îU¬Guò¼9E
-Îc'{ýòOußU²¸-í4áÝ6û2qdý/©÷Ó@yzÖû4áÕB<XBFøTAÄêøoW (Ù¨G#2
-Tñèô¾óºÃÖëwîü?j¸$hpÐWëvz|êßÈàZ4^
-÷Ä]eóeJ 2Øm>ű}®A³JØW£Z\+Lü¸K§Ö $íÕôðÜ£G3QdÒì\ÿó]
-e·ú¶X ÜænôáËÎÓÿÐÎ;3TíðþG¢óSpÜö£a[M¬§kiïOa¶¸$(o4i:â@^ÍØAFÉgìΨö>þ5CâYì!méga¹@Öp4@rmùÚçU¸
µ/æQ+cÁ'[j&>ñÐ<Üxâ|kܱô^ZZ
-Ê^d¸iN)sQSÂùr±Sî%-¹|»÷Ü×ݨ½FïÃ{mF/Á¯£o=Ã-áбÜ(?ðÁ8¾uWÙpõè*à öÅW6 _Ì`W/¾2oØñb1ÐpU(JÏS¾ü? ß/ÂÚÄ»ÖW¡ò x°Â×Ù×7Æë]ò¸Ë]û)µÒg
-Ó$»;áç|+eÇòÐñÕºoÀáà_ËáÀ#ÎY
-+©FøÔÎ
-?Üö5}]ÔÑE¢r+¾e¶c0¤i=«9ñ´Pî{è½´F!ÝÝÄÔÀVG~TdgV,e=Åpg¿t&Æ1¯ J|ðx¥¥4åRvËÉSäK,¨LÜËþ"³[m¦)T ¯¿j7Üù:¦PljΡ£á8Êw"Úü8ÕýÃ~4MØ%¡¸ÑÍÒã^ÑõcÅ
-fÌÊUdWܳöúÀ 0zß5`ܨáéy«wZk^HxÕÁ:×®æfÍÎÒài7«t¦4.y²Ñã~UG
- +ÁzÆä_éS@1áÿ¬@ @Ñ%¤í[àÿþÐýß4pç*ÿsµEE¾S6Oq·~!à¹]x/³ËÒ{}
* pEÁÁÄ4U)[½sö<#ÕÂúR·Òºhò¯·x¹fõ8áö׸Ñj÷ÁTÖ
-Whh«/¥Ø"`-J vôQA\|K#A<
-UVòö¾
-Õ¤µOÎ*
-NõØ
-¢Î@¦¿½ÆF#÷ÚSÔ V%ZÃçØp|"dÔ¡2¤Éª0*?ßW3ÀÑ
-»-Øý4à§m´Ã°qQUÜ ¼S«¾ÉQ3>
#AJµ ¦4°cÿ`f_x»ãx¨CD'~M0,ãò=ªvÔ@7øüýzn@Eã7m
-ôD ´Ö¯ÎnÕ6ràÌÊ^ü"¨¿;æ<íOË KÛÁ%¼ÛÉk
Àþo¢ûTâó*`´Ãn.Gp¢M (²iÑÆh<ôËbgУÌÀæ/CðlËo*Ú/ÝçIN²×.²çÏzýö³5Å£ì_£P³µªÝåpCDÑÅtË@d¼|i{á¦%Ah·AúÙØdÑ(ãÞYñB3xV~]y=Iú¥ ÓPE£
-È¢w`à èm9ìÿxh»F <Ó^D_ªóë!ë㶨H ½årpnz£.Ä`l&ÞÚöë>ôýÙGüÒûèÀ0y¡7¶æxô<u˶Ðè?¢ùu«Ã»ÀØLÈK§i0é6"ëðBk²8/Üf¶dã%Üf¯»aï£^¿XE¸vnöÍ ë4¢6jÐoàJSÜuãM
^^àLZÿM«¼¯=z:ñ¾.KçóÅIl×âßáýXn¿Ý6J,C£âúêFàzAØ&2à¾Ð-ö»£¸NmûÉí%i|PÇsÄÅnâ®VÕsâø
-}·L8(
-h*àºÎ¤müÞÙ¬~d5`ûæ6L¶Ý±[(
-´+µ#Df
-¾Úî0è|+ÈußñÝtÓVÇ=×\²°lw&Ý£oÈ¢ÇË2¤VÕ³u,¶Ò10´rp*{_§+µF?r_ÕÂÖHÝ^ÉɺlåîX+j¬û¢¦ìî£1mcÑö°F KÑìÒ #0©N>.9ü_¥inTWÁ]õùÏQµSØN¤E6W^
üíDT
ÒÊ·5;UJåµ²&9r^L©¨sýmÛÍ( ±<4´ÎÒgF²ßòV´vÒ£qê§pà±;ó!ÓÅ@Lµ ÚV²ëèS04G#äÆÙVÙ}äLY¼¾Á&¢T§¼)Ã;4ºÞ<\¦èE
-ÌmT
-è
-yí$]ö϶ps5ZnôhtG69÷û©wOly
-½±hÒHo¹f£ÑÅK'ï¾7¤0Í) ân.ê?ÒãØÅL `Ðbk#î¥ëµÐA²ÊûVRÙú¡aÁxô®q±Ýì©7SÝ4;Wëz³Âõ
-õ,kËÔHpY{63|5xñq,9F)ÈþÅ(RÏ
-46:XæÛðÑï)Xì_çtK@\}ªR7óKñó«;o;>vsó&ËWúR@á8¯O
V 4
-Q8-ò7};ÎH;Dï¼^ *)Øú¯÷P7z*eIonE0w
-¬Ê ÷:饫Ï
-Üó
-+d×@ò4åZFSëLxÈ{Ë)û³ïF¥.¶¬±JOËMâ äæª7CUc?ÙæÙ[Biò/_Qãs´ía'_Ò#¹Þȼ)0×Óí³d4¹{ä: ÇÆßÖ¥wçÇkrçã~&ûUÔ02
TÆ[+óF,[è3t$=i¹CL;cz~÷ÖÒáéjA+³m;a Ùåýæu.ÿ
-'6Ã?ÐÅâmMÊ~ÄórL'8PÉ&Ò±ãg®É -}8SÁHäËìòÞ:ãPJßçs¿¬e*"'mV÷¶tÆoÿÊ¡/¡¯5
0Ë{ÒôC0úX¦Ãv'1sXÇÆ÷]icf\¦ÆP3ñ
-D¹rf_+Ï ÚD(ÚmÝBw¦o^Ý`9°\|º!FI§<£(²¾fãÉ$¡tý'2=±ú½ÆZV/Òcôn"((ÜÿÏ-Ë;å9}
-sÀÊMJr«q£6hÇîX^Ùæ3A×óèÇÞ£Ñèú´iû(FJ¿l*3½³ 9¡=ÚskÜU ðÖ$É¡NæµbRîEÖÑBÆ÷b`ÅONkºÅ§\I£è¯É¯ͻÃü^-)lò( ÁÑÓò7Ó±9Kª^g.¶HXå{ò
-ýÕÑ ÈsúᡳÞNXó²§ÃeÕÃÜ#õv|ÜL®pÕ/Lãv?ÝNbV½N51×½ôiÜéR,¡"ÕéöªÄá&ôótKáÈ«eØbѲ:8â]ò·}£µvìÀo"þV³<ìÌæþ4Ð6¯É¼~ÿùã
«b@)ËÓ°±
-ìÀ¶[<]NáÞ
-·Ks@Õûfý`ظ£Îì)C-7#0`(=n¯1jíß3+ïùa%ä¾_ùwe4ÌB¥>hG¡ßÄܬO<çè
-Ë°äKåUyÍ´íͦ#8ÉÊa÷½Tå¡{ZLÏõý©ÿqî(ÂàÎÁøª,3t<rJK-éÙyóÏÿ
-½,©qÖ¤$ VUâ¸9Øu]n,7Ë3f.ÍÓæ0(§¿øÅKxWÃlö7<íaTg°ô´ 8Ñ5@£CIÓ-Z3üRö·å@uN±¤¤osÌÌM,7Íá-È7Í
-<¿\»}°kZ¾,ÑxÍj]:*:©L
-Ïë×õc¬(íç¶~fÏ% i+Å`÷¬lÓèßZS¬ü(WõºÃ|iç9¥À·µ²sC|Hä,)Æ6ÞúíõÖPUZG»ç§à
Ù×¾HRÔQØu¶Å/rÞ
![6O A?!s¡Ë.8dþïÚ`*$Òî«Ô¾.Ùd{óÂÑRUïõ˶"@Bf WÓpíªóh}Ëi¹\oNæþÞJ©;}W³ü-ÎÜE¬ÝçG·µ.-¯>í¥-JáEú[Q²x
-'>\Õ9 {ÊÖ6¥§`PSú\̼ï×¹åéS`æS
-yÇ¡ÔcSuAªrß«ÛÛ/ "ù
-zÌOK~z
¬Û¦ëE{×Ƽi^ØUò:EÓ>QfÀÞ1ç`Éqs4ø
-pËÝÓPþðRõy¸ÄºÛ¡æ#3!ÖøN <ádaÉoqstûÌké)½ù8ÑG^Q¶F:Éæ$¡?O_«k ¾eÛ¨¦Ï¹ïx&§÷òíìdÞd|ÂëMåÎc,Ý9jÂìbR-jEØïqÌ=G5aþ u|¡µÒC8l¹Z¬¡I]¿;Û×ÕC2ÊY׿vW0NÁQ( Ý®½Æѳ®µrû£m/,Ühzdàc0aðÏ;zZt<Ã͸Iêepú/ÖLïÜoå8Àè9U6ú,`=bXêÉÑâÓÃk÷ot½ïH¬_5Ì*dJ¢òÒÚxºþ®_Î?caE¼WÛä¦Jd% >¤§»Å%GaÐربü¯ø´¸ÝØê«N=Ìz_/®0 AùsL8èu÷¹Y&µ`kÖÙásn[}
Çu²¨Í±7Å+]ᢡÁU¬ohµ@aj¥Ä Ås)¶EÝg4"æº[c 5r7EzýhöÁ\yoE7â GþB¼]M ñ·¡áÆùàW¬Á^5.wbI
-z·ÊäËdZqy
-_̤! ¸dÎgfåFj±©ÿÑðù[Ã@4$6_ìZtZçöe´Ô>à6ÉE VMý¼Ñ¦Õ&f6ÿoT+AÉ&"¹
-Gê¢äæLR|?%4ºÖqµÔ(õ0úûnøËGæ²ú÷îêlºuùLbü´jz2Æ¡ÁRÿ£{BN%f _hú¨Ü`Ê-¹PÞK:µY®ÒÉ
ï°±0VÄ(õ"åôXv ïùïÕ$*Ï LvóþáxùxÚÚà"$~YÇÔý
-ÌÍÊ´ýý9ZpØ
Eh
-Z·×kS
Yµí[ï!
-©Þ8$@d2NJ¯-Ëg
À(Ïk 0ÖYgoX/ðu
-+MÜüâ
-¼(<FåBø±Iwºò]lÛ*òÓý
-ª-¡êÄFèr{ã/)±¼!ì¿ôh
G8oEÎÝSX+Ïà«ýA÷¸2¬Ó||°cOKðé¸þÏè+µ¡*·Ü/£sD²ûÍá(ÃY:½ºqQÌÙËÖVÀò¾æ°6Þ`Âw
-@õ¿èÕýùÐ]¥« g
-fXæÀÿô«_Þ!WR
-' °û¿Ý-Al\ ¬ÿÃö4â@,F?&ôb;ùÚ.S
-ÓNSÌËzñÔ!Á+O¾ú^;á²Þ^ìÆþϲ±E'PûIíC ù²
-áS:º9
-l%%'Ûr(¡Åñ÷ß÷½ñT,BFÊبÚ@ο¼XR^<?Yð£³ñ}uÇlö¨à®[§F¹
°[yíë[eÔS¢©LbÒÁMÑäZa®B³©D8ðMÝx[À·þ|í)Á"fLe)ªúì,i*?MÆ
u%ÁøCnüÏ1ЫfãðèÜꤴ0öwÒ5?»Æóü"î%º3_öµÊb)¥Ii¬%QbSòþÈ?ûÀîl°`^ôÃc5]^¢Õ
-kÏíB·å#äX\5dÖiòÞó^i/çT{±Is±7
õäÏÞÊÆØ/5ë,@§Zk¸Í¿$iÄd¶$xïÓt%Ç
-EïÖ`·ùÞÛJÓ)h§mG)=Ì\o_LÎ0~ªlêx¦Tp#Ò{xXÙ9ÚǪ4]ôþUµå"ò&§pQ>ÿú]EÚ9sl9×TÀ+±ÕÁ+°ÐeýØl½Ëûw7ö'¹sü¸·>lò >üµ*zÃz¾¥·¼Ú%tðS¡
W`1åp[«CfÌçÆ)O à×!ô[´§wʯäT׺»Æ¶
-Óæwä¾PÔÒ¨U
(fëhÂðÕý`¶D#}Wud¯âAø°5Bμ[Ö60bÕ ¡ãÚês°-Æ!àÅ©¡~¹q8g¶+°kcÑæL¾¬cX¨ r@Ûìko°Ví¯Å·Ç
-Q½oEÚÈοóÇLd~4G¾æQi±|'·9Yn+ÌÚç
-L0§*¼rÐ8,ýU½
¿¯ï7Ï&¶8 Ä¡#ϬzàÕàÁê 9ØF'k8Æ}ÜM4ëHMRðÙ@»Ï¿Zf8çpraðÄ90ä¥%4ærQª{É)UÎLÛ~Û"~Ã9Ê]ÇÆclÞ?¥reÜ¥8§Ñ³ÿÃ-pN")¢nü¿ MÛñl8½ée)¤h×ÏX<ìÝÉ.Ý`- at eÍí
-DÔE-¯è`Âvó®UEÓD{hj¬q C,S}Åð$ý<QGÚª±
1·±vlºÎ6ö
-®# x?'×h¤Y¿|òÃ)ù-³ù¾\{4̦IÓÆôTÒp¤¥£7mZ|ÅÐm¨ÄíþÔ?TìX at hÃep¤¶!ñß#ÞM?Æ´;jjz#]$4¼i´$âY¢
-Mæij£¯ëG|}³ü¤W»"ÉTC
»ì#Øç³°ÏqÖC1eÝ"3'×F õÚ^¬îÐ;Ì;ÄN[mZ¼2CÄfHâÜn®gGb®©+Æ/a.(Ý&eóî±y¦²õ¨ÿ:ÙúXli=
+
+îU®wVß &¶èUóEÀ§V·]"7fÒ?Ƕ4
+p`Ëôm(Ng%R8übÞôªWq!p»b*Ú&ýWÉ'í92øÑ+
-dïúõ(_r¶ËWÛÌt7ÌâÆd`9 ÏrP%N*§
°4XË+ÙÖ}õWÍ£$àcF¼}dHLí
-Ñc
-ôÉ¡ÝÀt¨v7ews:ÎLvÛµý«O]6¥N%1Gù&'bÕÜY§Àà h¸Ô,²`va^²éZhÍ5Líì|¶åæ¢HMîäCYå/$æÃ
-$6o±§hc¾N ÉÿZ±®õ>4ÑÄóÑÅ2³
³¨ÚwÜH5uZ,!ôYÍêZv¬ZvÕª«ÁÞiT,þ×nÚë÷p¥õéäeUà°ðT¤ÕQ'&\ÛZðè®b~Ì8N`ó)~mËõÊÑ@KÒ/8W|Y©¿Rò`D:b+c|©ßní.¼Ýh¿o*éì´?KÇçæ>{5,¿Pµ0ûôð?çaZ>ÑN9õGÐR~Mb.ÅÁ(ù,«vu7ÛèÝ tÉKRãVÑ ª:"¯·sP
-·ñI?kJ">Í°ÊØOÖΡ½£Çè^©
-
-®Dîf\zïÁÿ~
ÆnDU9Eª[¼%CÂbÖ!°ÿÐ<ñë
ÔKIÞÔk«Ç.23 ¯ÒØ8hñ¦¨KÈ]Ó Ú4dØà«çº¸_a-ôoaC'cùB$9q×æRfÌ\Øc%Rü(U¾Ãúg}\5õaËSës»ì¹$1vògcppÚ?jê¢4Ó!?7¹_Jirã@^uY
-OzÚIø÷¹6¹zÖèWQ?¦{@¡æ"áqc÷ÚÕvü½ÚÛ¯P.àòU ÷nVb"éÈôlmµ2íD];}÷vÄ¿sëa0¯ÙL{º5-7
-ûvا⫾¶¯Ëëòý}?Zð@?:&¤oQÝ4º]<EOq¦ãô @n^¿\ãly[ÊOØáÓ¨(âîî¢ÈèØóPTÿ3EäÛ·#s0¿tÞþA
-³;ðxu##³geù*¢dðâJð¼¾2·áÏ:Ë5¨lw*GcDͯOóÀ ÚúËcÌå]ßrëJd@¶ÏÊ45ÄLîûFxûmCMÔ?H
A{zh£_6ì/Wm Ô¡GÔ-âá ȱÿDªÐLÕ++ E®iÒa³®Hël}d1wH9"@¶ÎÈÃ#îÌi)°?«é´hæ!¹ÐdL§|DO13
->.äíNR¬Üø03{Þ1L±hmXÜÜø<Þ¡H Ë2@×tºþó¬÷ÚÉ1à×LÓ!Åý3ei̺hìå=H å?ý<ÈÏKËlw§(rLý5æ¹~h¬EÖéîf£Àrqð9æQírÁHÐÏ·kA§ÝÄFÓ3gKÃ#»Fu²9O caÕ}k{JDëä°
-19³»/ò̺&UêÕ#îN1Tnu_VÒÑ6ET¡<ÂdyZÂSjû|^FZBÐs7ÅI¦ùÂÃX¤E#uN<åBÛ¹jÂZÒ
-¼x;q®ºñH éØÏ°UjµÀûÇ¿kdgAyyóãá÷`ÓyÚª°h¥j[±¡uv~àjÿtóæk"Ýsx\u:Þõ¶y)ZV`E7`÷cÕa '«Á¯k©¤Úíâ6£'6¶Úpqó
-
-´ªèÙÍr¹÷?Ò±¥àÖÅ*Öúc"ÒL¤FãC5¶[Y-öNÖø{º-ä#½óµ°qmþàtQ,êCH9h ?ìÄê,!Ob~JY»i±5{2ú/_ØAö¤gÈfäjÙuA|ÙJ£ä <Q!äùÇ»÷ea-%ú4¬'Ä}þymþº¨ÏúÜà³³Kê°P}V±×ßWËÀùÁ²¤Ü{<*)²Òf$t÷Gà²j¬qü"*ê=Än|G«òç?Xð
³éÂŶÅ[ÃÍÜpku%c?±[QuØ
"ÇÒØ
®Gfz)?(ßßÌÔ7uسÞÉÝáè¾jT'ìb=Ö®7Ïc4Nߣ¨ª³´ß¦(þ¯õ|Vxò£×Ì-½ò3ÿ¬&VUÍóWÌKXSgýUÛnlŨ~sÓíÛ·§
"ÐÓÈ
-àSªè¼¿0pUÏú¸£Ñ8
-|v$ñ8Ðÿl]xϽ#ÚüUå×ÿ$#?¦×ó[lÖìFSdY,#µKÎÇÈC¹òO¾ÇRÜÏ&MgÙ6Îoû/öÉëa¨ÑÁi²ñØÞ®æcè á7°æÃm£!.²×-¡AD½1ðºþF´KÙ»WIîªÞ×7l£WÀ;|~ÐêBá:s|
-ÃhVWÙg[]¯¬ZiaM6uÀ8WoE|>©º³%Û'n±eÁùU Hëiß©¨¤>N"h³÷°ñMCô±[POVü¼X-"®7oX)]úu, "gBÄ]>iàÈvßÒ,Hÿb)áɼÔ.0m³ñy CY+æØíÝÑÉQ
³ ÃekÝ8îâÒ &gõÉeû"U`3"leÚHA³ÚÌ4¦VleTá»EZæ*¿¥}H:/ÌïK¡öÊEA´uE2Ûe~¥GÛ'_åÙ}Ôt(+»ãZÛÑ/Ër® £ÙÈG
-1rçMðÂâyü±ªP .k?ãÒ=tKæþÉwaìÿTKÌ.£ËÅZqGÎ:æF2"üMLäÖÚ¶x¶æ/ÝìÃú£ uGmEÍDí2ÝÞwÅcíþG0T(^bÃnÝ@!a5e´ÝE`ðr{¶d¯ÎÏêo_ÀüS¼^||zÿf9¿Ýùcnæ6,é§ãìöDR):]#íNþ: ¼w®·zKIqÎE
-s¯ávFvÀhËÍí1ân¿¥/Î8aMÝBñMÉßf¸L6ßñ¤£Q
=D±(DHî+¬·;ÎáOZÍÛ3#î)SòLYè Ã6ÐËUôícÎK×71ÉÍg¾¨àÔ{1br÷99XN¶å*øUÅ¥Jª¶'ItTÕ¯Åtö¶-
-}üäÄtYiÃ#*ø/òµeÊÇ }Ã+·ÔO.càçMoÊ?öì¸ËAV©0«©À7¿
-~¬jñB}zÉ>«×ý;ÊhXaRE(̹¢õ\!$
-ÖyÂu\ê«Ãvrª§´èÐy$Ñüûírn¯Hn+Ý{°O8êÜ5~k®ùÑ]¾]z)íXË°&êÉ©úWH!ºøo£ã1¤E2ÕMMÄGÕ²íù¶àB¡d :ãeL/¼rçEÞ+yüO¾3öVÖËï/@O¶¸nD9ÀwsÆùh§
-Û+ªõl{G§1+é<ÏY²Epçÿo¦Ñ·K:¨³ÚÔ¼.¼éx!ïaÏ"X¨i:uyÌZMíW$*ÿw©:;¼w ¸8ƽٷ?ð¹pw=¥d_î{d£gH àüðvCÒ¤
-0gÁèdOw ÒÈâA&Ë¡ßtrB5tÍzØÓö2IN µÆ#¹ÆbZÕÅ9câok9²ªØl¦ov|Î¥ÏÞOpA¤ÀA´µ¦B?Å*zþáH|v3ÖüüRÕ©hèTÞ)©»°¢þq¯:[ò»½ÔG)åiZUN¥ºVÊ,Þ.! `÷iÆ·º¯ µôª^áwZ}w®ÏëìQS©»îØ/P¿460b¥£ÕeÙ,{U¿L zΧ»Es¾ß[B³¼-½ÆFÓ5ÞÉy²Ñn±â±¼j'Â0X
öÐs¾Oz-íð\ÊìVÈ
~jØ®î¥_+ÝZ_dð@µ¦¤è2Äúb{ÓÂâ/=nÊEfË#[d¥=)ô
-ËPaþÚÞÊv¬k«¢àÓ8®èä`,Ï¿jKÁ<ÌÙ6¨6IHJ½Y¼|g®ø¾ö3©ã«ÙµÂ#AÜJVøÇÎâHfó×òøÌ5ÞüL«!ACáõié)99`HÉ$@`¯¡»àóà{²[&ô[,èÞdµ=-,çf|æ`%
-3î3Ö·¨~°÷Êà°þû½¼imå߶GØ#¬¹;ó¾,U,Zöº°7 at 5Vb
-<éÈ°2ÿGû ýÏ0#LìݳÏBLf×Gyü]üñ¦x?©uîÓVGíªÙÞkɳMå¢7,s*-ÇÜàó{åìãu%_>MÕu¦:koX-ð~+oV7ó/¬ã"¶WûY°7Y\ÃæI?~ØÂاT½+M?U2tÁMõÆùÇ£³²K7¤AëCÚ\0Ú
-DCíYû½eä]Ru@A%á1¹º<Ká V1T« uóê"È5Ýào÷*D3÷\1Àù$ݲc×qãú °ð{®,
-"p'(¦õ×½ÔX^rÝ
-ðy½¹¨ ÉnÍY{D(Ó:°MÉ
-$¶NOtÆg*ì. ¿¾JÊ
-ÙlÊ"ÇM¯?÷TD7F±e]ãrÏ~¯ÊAO¿ÉûÀòIPñ¼½©¤³6
-áÄ¡w1B<º}%@9a0:o9?Ld-\ ¨}Õ×
-º6°Ö>ûùO!rþÿQMÂ9r$øénýÑ=zÀ±q¸0tãdå¼Û!0ksçÆ×wzÖõaÒð|ödÔÒÝ0ÉÚgDç+]rôÉ:WAì×m¾lT#¶ÙgZõm¼~}º¤líÄRÌ:E/
-¬ÕÞ#G?úná³ÀäÓKª²ZóK½óMÎÕËÚÞ-y·ìíMÍv¦³8XÅkìBÓû7r¯uK<ø¹B&Q+Ø)Ä/pÅx¤p
-ÀâÕ
-ëÎX¼½Lóu
t_²A@óÎLb</²
-sÊdÂÊúò<ùXÅ+ÙÍ:³oܱ,Ó|p¨H?ïDM×w9átÕ¥Lyjíô[V#ñ 81¸
D_¨LÁ%ý B~={Ðíã ¦LdzßôQº5z½¸å,½¯
-t¹\"1@¿ÈÇ>RÇiÒ6æÇÀWOË1VÝe-!"¢
èy§½Ø;>mÉÍB}LÃä®ûѽÐHo º`ms¹µÚuÒøcÖåÔ{îÇJf'§ÏSâ'4op³hÈx-lôîϯÆ?ô µjÙCÉó@Wr-æ2ÚN7Ñì·%TD:^pî¶5móB>8×GzúÝØ Ö½,b HubÒb² S9ïVrme£YWÐ%y ÚÁqqxSa¡Ô<<1±F1ÄËTvåYÏHkå£QzõXÿ?Ñfñ¸qµ>? ¼SyVÞ H¿g®HÒsÖÍgh~ÀΩÒÚЫ.0j?LÕæ§À§omWdËÛÅxô) ÂaüÃ*c^°ÍÒ¤(_Èx·üµÐÃ(&§qí,©iØd"!Ä¿âóFè-;jTµx¼ZC8ÌtÑ¥``a6Ï뫹}xÊvûtrÐú¢èeª*ÉeÖäR:Ñä'¹Rx?ÓX/ æã_\
mR+´ñ7o"«ð(`²{Äø}ªF¾þÄÎ¥Äé&Q¼ÙU>,Ù§/Öä
Xfñkìf\J7ÊÖîñ_2CµÔ9ÇÜÑnÃ4p5_j©!4Óÿ£½÷ò×j°ë_¢|©¾ß"ÜÄR«Ò´à´3Fh£jêa÷t\
-5ø4_òÁÀ£O9FR#
-¥[íbµAò,ü>L¿Rå¢ò§[Ýþ/H¸\¢..n ±ðu§\)îb7ΨïQìéuHj7Ò\B×ìæÙ¹¡gý#,=ÕD)+ÍrYÈDb0æwHã#¸îÆe롾¢ö`¼
-ü»©ô|Øö#Ym·ÑÚUl
-1_»vG9ah¼»B"F¼H¿ÿ ÓÇ ïÀÑൠ¯»:H}¥ìáQùpx_wÜ3¥û [÷(§¨ÉJh"Сµs`ݧUùå§4ôkÍqWåikJ«a.Iæ8hX{)»$¥«²L¿I¸13È«Ë£U£+ðå;Ö[W³÷jÍSÅÄò@c§Ï2DÌÎEHEfªlêÐpé\Ù Gwç[~y¾çBa_í7}O|Ì ·_½Âd VKB~)þ1·ö¦»5ý9sX2Zã/G®-¦
Y{K½3%,é\F«(BmA×'È<(>;"u7a¥ïQ3aB*?W{7NÄ6O×s^;¼ÒzÏ:õáeõÜ8ÁӤоÍö¸°¡ñµ
-ºÄ0>ñê~½¿Óß«[EKþrJð,7ëwBj
-¸³6¦ÑQ9R/nÝ]GÇéÈj|⣥ÈƸú4AÞu<nu×˾ì\ªRßE<ÌLÂãíÒæI?
-FæQö_DO
L§×´ÕH ÇTæÅô`yHduô±
-±9Ñ-¨i¾´÷U5r÷Rf,{D[^Í(ºé£¯~äû«KÀå[5RæÞ«¦ÖOúÈOѱ:©Ý:yõðº2 ©ØrÀWk.)c,K7^Õëu=XvÓC'ªÜù
-°èSgÉd`c|ZÛÞl[í·Àfý¹<ÚÔKJüýõþß
-kõ©P
-eûFH+Àn.^iùy»ÒÔ[m®+Oæ©î+ÂÐaãJdhÆÃ-ºÂFH6E¿#¡%ùÏhËËáô`x¿éP¯
-ª¯þ.ÏÙçºOB#)·;-êH²¢IiÈnñ/ßïc;Á3ÿt~M®¬9m)sww(®µ'ÃNM÷p}íQ4þй\=:¢Q]æ!_@ô»ÃeÓâÒÇaæy1\®¼õk§h¥C0 ÷±À}ftèPd°êv¥^ZÂýíÄ
-1û¯_X5ÙöJêðÅát-²áì¤æw.¨rjñ6\yÑJ6I9*,WûÂ!",#A\ µKÈëZõLhè?:iîAɨ£¸7ä-R4x
-ä7[ÙRkGL¬µ^BwzMÆ¥lVW pÒªR±W
-ümüóÆeu·4öl7%>Eg<F
-d\ñÅ m:u<U . êw4ð²7S¶¹°2{¸HÚWÝÅUí·¯ ,Ê *_)#s\sø\3kD~WÇW8Mè¿ËÐvÎ ÿ{²¶ÅG_ñÅèTfncl¨"6#]1ÿdë®ÙhYç̱ÈãuæĹÜnýeb!
Bºçà¥SÁVÎÂjÌ7¯x'xé¨jmÎÒ+4F¶{µ0êÉÑaÑLÔÆoO¼6.î6_Y)Z*K
-/ äB¼â·WM)¼_´Ù·&Ôɯ7¯¯äkź¤
-¾É!ÿ|l|Ék&9Peý¤h$½¼Åù´ÓZ~à7|x¦c¶ÞW×QÆOÉËÔ?$ìhñeÓö<¬&¤ìæYåAwÑçç.
-¥úüî
ðìÉä°6~QìPÖ*-Xòª;¯ª6%ZLm$²µ¾`qßùÚ<(|)I;vq®¾Ón>̪õà XÏ<+4z7x(¡b1è¬8S
-__¦Âç®ÔA Sìæ£lå·)ü°<f*³ÍG¦ÉÁ)ØúáÒc,ï?aìA%ÚÙ·Ï#ï¯<n¼¨å0H%
-YþüìH]CFHìNµSþÆH~ùÂQ§f;sé`&ݤ
-¬§uÊgu(
-ÿ£è[eÓtí\öf4áïÖcnn i
-Ô'è^X ØÕ1ºÞé-ä[.ÅN£§þ2׫:C at _ájæÏðÍÙ1
-G§JþDg[®©A>ö àf»÷iDú2Ø*Ñb¥ÑHç¸Â>ÂÊa^/½éüeé0ÿÈu¥.\&&°èï¢ý6Sÿücc ¼§eÝÔÈ M&Õ(×Ï?¦ÏàTDøÂZ^(-
-p<
û ÊÇ¥Ã7 at rçÌÔ~¦ùNs
-ã2p£öùýö|t
-.ÚMþçmÉ{ßðµÐ[®w1ßÅË|»²po¥'×i¿HÐqy¾_¨MÄAñ÷xK4_ñá9JªjâIëm¯ ÜRÎvé0RCÅ«/ÒM >"!m>{³[@W Òõ«HB*'ûHL®æ?Öæò»7æÜ¥®Y9Ó;þFõ´³A4@ÞLkwm°M¹Ç÷?<MyØC?}î¬ÓÅáfã k´él!Î1"A rÇ^·D«7×
-ÇSæX±¬7ÕYsÁʸÊlçÏ&¦xvû-aÑARÁ¾%D Ñå¬pXlJ¢c?.#Ý_-EuÎa ¬{µO£¯3Ú¢¤PÈmXG[êÑ?áÙ´[d#M22ÅVè6¯CǬÚ÷ªI~³Ô÷`Ç]oßã;ù
-éTw
-¥Eϵ1(ù7Kç÷ôªh¨ÂyØocþÿRS³ÁÇð@x.EuÿM¾<ÙyY×Ǻã¤Í<åÌl_·Ìÿ
-!àè(¡uîõÚa
-Gê1<$1]£H´
ó¦ÛÿÌl:õã×ÆZ²%jj|cíìÝ]ÌÿåºRIW
Ííô²Âûé»KíøY¸>
-¯uM|bVbék«d
)(¨·Þôßñ&ö NßFú*É5A
_MB³-ª9dòr¶ûV ú·(,h½ípÚO _64ÚOhÒRV8>\+Ä0h£ýîxÖÂßv¹´Q\p@<ÃÆÔvÌ/Ê×lla&ê}
-P,ðs«2$/SÓYåã??Ó
Ûtí¢ ëGTü-»m*9Ò®ïR¿ 0\ºûGÊ(IÓè *3mp$Gøb:Ôª¯z#ÙJ¦Ü¯7±*¶SL¼/sæµ)¼øf9 }bÙµy¾PGv)º)ñ
-¶°muÞHVä
-ÔmaÞ;ßü®aóAæôZU5À5b·«:j,˹èøã½ÆÇl¯ÑBqÙKϪµGúHh}4®AúÊbÍ GK)ðq£ä<X°ìÿ
-Û®ÆwR|¶z®Sïlcb+tæàÖ)3¨Zc*]|è~ßKÐ+ýæíÚìK°v¹1S;êL9ÐúQe@,x>À^3¾=7:¯ä¹]ë¿$gêû¬YÎïFÏ·Dm²Ðõ¦éÅ#tÄDML8á$EWAeBgÃc·~ÈÅÄBNNÍOA·X»ÄF?áM¾¢Üj|yµyACL*$0¡N´Ácí-»'ßïr¥w³FÎBqD Hé[(ýÈÛåÃ×<´öu<ÈßmFÒÞQ±Á±U¢²£{@¼[vÁïG®óAº¶$¬ÃU&§NÅÖ"Ï79Î¥¥ºQÅ)ýaDVå'r§'eä½OPæË)èo~±û(ߺX41ʦ!·ñs`îH
-´û¤Ré`ñîåHnÍýZw½&ÿ#ϲ$ûÓØPÆwûZØjÊ|d«óÿ'Û˽*ÿånb¹l*øc#Ìs²GC³ÇÙr[£ ;b
~±~Ĥ¬
-zRYëÒÉ
-ÿÑÖpA NlKª?.Ä¢Hÿú*TʱE¯Çߦöâö³ËvëöYKvò91P%ü®.:gÜÜz+ 0Ä¥¢ÔÅS\JβÝ/ÕÁ^YÑ#¯Þ^»3Ñk3v îïD
-,@®Ðx³X ù¾ø2¶rÛê`ü~0{µ"¯~¯.>mMò±Z#â9¼
-~FôaÛªþm2еf~5 tðN`FLGø6óqwm2KI%Yl¢s7õÜ®¸"»´ÂÓ%±ÂM,Kk·Kµ¹ypÍßýæÓþñù9#)O
-¡gx¼£ÊTUh:öÔug¦`pÓ|eî$û!gÈæcÕ\ÚdØ¢áòÚ¹f < JØõ¸}
-úXºÙäµ
-³P!3ÈONA ¤7ùʶs§¨_'òrïýÃC§ùÐ
-Ò`Yõj at R929¯ÅóAcA;Bäò`H¦ûÙ7È<I_'[1¸v0î¸1øýü)KÏ3ÃÌíõ+éPqET(ÈHÑÓóV¡[²3l ²èx[cFZçjÕeÞf< ¢£@X%7ú
-Gê,³xvæsM¸>Þî}Ãm¹*{ÆðKÐý¿¨8ø/ æïä~çÕÚkN2ܸç4üN=fÄ<F> ¤ºzgשÄ>S~-6JçîIW<]bWÖÅø©ëËã²Óy_è;CAÖkÍyYj-ÍÙ2|ÅT)qaV»Uµj2SõÈê{\B?Uܯv<ÝÁl{êìðµð¾ZDÌr¢=©Z;îÐ2³¯ô\sp·²(ð\IÝîþÓdEq'}¯0]
-๸#c½ú¼w?¦}Û
ÐéÞò0ø¼ð¦K~hnV]CĽ2£ÀÛ` M(-ßc ¹ä9¨¦y¼É+àï£hY¤`,yÀ'ø1) æ²6)'JøzY<è¯Uþ@µÿ|÷ùûñ)C¶ûÑýU®D*¬ìFáX
-eöêÂ?Ë«0°häIÕÏC_Îõö
-÷6¹NýN"©ÔÐC4
OηùÍâ²-ü9µëC)uÁ¡<%*æë®Ç4ïÆbÆÙøXý0Ûí§j|²±m#z¾©0jð(6ã
-Û©"«¹²i¿ú õJÙÔj½iËúÝaªL°Tg;<`<m©. º
-fÐ÷>.6EÀ&U²
}ñè¢cBîÆÂú^ÀëÃÁ?*@ô4rÙgO÷mÝO
-@´u~h»üû¬¢6ÄÏþzfW#áEtËC1H*q¯OÜRuKnvÃoa0û·k[ÄíMýÀÀºÈZ[êÝ- XÇ
-ÿG|°úÉÑÐÂÛÃ%V !û.ÝtüàjMÂèî[ÍÍtdX"°Þ$ã 5LrÂÀ³GAI¤!Ð"}|®ºÈ½¢#+àD¾»(
-Æ¥Ò¥Ïã9voñÈ´³88òFÚ¶WáJzu¸Og¶mJêiu[cË%%S(]+t«u ºcÏÌau92Iu
!^ÝdiÉ~:¿/Ý\
-VQm¬ä¹3ºC ¬êñMR¯«ÕåËÎ{JwÉ·vº_
-.
-1ê8È?ëPþÈuТs¼D×z;©§µÂ!")uâVÏ@bOæ+;Yth×x¿°/Òö³j¬gÒ2r¾R½zu\[Ô¥'pï¤:[-1°.(s}7
-Gän2ÉSÉëe%jEgÜ|"L§K å
-Þñ©µTñ*Ò#Dæ«|B±7(Xkü%4<@òÇ_BRHLü°vg=7ãb¸¸¸ÌtKØ÷ gñOÕPæðtí±lË(VZ[ÆÁýöï±)Cå¶ÍÛ4CáÁjß¼À;7.g`ëÈíøॠÒ}oø )®GÇM}Ó2ÿM»³Çt¬¶¾ ±@xÇÊÑÔCßiî¨^¬ï÷¦QSæ©Èo<¤Ä{Bÿ¸ßoöKÝle/§
-Fh±È\ÅÃu¶8fF}ÎMnµ¶bÛX¦ÞúpïL³:Æóí¢Ì¶¶dL
-^Ù5=qT+Þ
-ñæx9bû?ü) *ÍU#Ä)ºÛ%Òcz0<áHûõV#éI8ëãâ-2LÐny¨0¸4Uë
-©
-Òu§TëÌüâתûLîñúð¤¯rD1
p @éùs®ÊÉZ¯n
-öó?
-_c»ÁT½ü°q»Í2Åí³6 ü¬ÜRBw7Ét&=µÉiðËR¬;\qÉÇÞ»Ìöé#=³ShàZi*+S/%©,¶énÈÝÈ®
-Î#&
-« 9ÔE¿öÈÈ<Sëyßq'$2¼Ý^Ï3äðtæVëÉÝZ+>P¼ú+lYãi·e
-¨Ô²£ÁGô\OQëú_?ç)Yl
-KvÔâö"sX§ûËî?ÒãØ÷¹+무¤?òLgfk±þ{4ÇÈÖ=âOÝåk+¸ÜÝÀ°ÝÈR¹HÙÁMæN±õ9³°bÙn¿Ð~#òmä+âÇ9Êþ@µs§O+ú6ûQpÑóFnÃÑòs²ÈìÄh!Ç»ò¤Ï°íxxºóBÞ!
-ÞþæÉ&Ö8¡¶ú·Cµô 6[ÕÿcrÜxfECô¡¶åxúpøåGÁÛ*ÞqSRqaǸØâs¦E¬ÆÜYÑÚÙÂ'ª.bð¹bèôR ®í 9á8,üyXdy´)/ã¾H»\¥
-7,Ê_`ÌÅÏÅ(-G,A90L5Wh^sa_Á_Â:
-v½
T¬@üµäËaMV³ü¸iNlÎCBUï6¤W<p~͹Ù/Ä©=q7úvæÏðlÃ5à1ùgàÝa95÷2úîæ|D.p`ÔÇüP_│ê2(ñ
-
Äñzña¹jTÎ{¬ c4ÎXîT|íõ|ñbÅá¼páÙøÖå÷yÅ8ãDLóÁåøî,^4îçdÙä¤âU?ÌÕ+ºPÅõP.ݾÄYãhìQgv à颣ßõ
-û¹*ͺc§ØéìÀrºÛeob±
-ÒV¤QÁõ>,ÒÐÚôIN\~&ëÙÒg¸«E=¯¹]
c|øB!üY{êg
-\ß®BºÛ`'¾ù±Ðe¬
-ïqðqýlyKÖRò
-».=¼qsÛÍãËÂÞð§èBOEXí1¯=Óc!Ü'PÙ³¥Â®bÝ_BNn¤TÆl2ºÞìÝJMÈ e¦+Ò>F¦V°r°¥Á'õöÕíѨ30ÚãÄ>vòì"¤Ýkò¹A£¾+øpÚAÌ mMðQÙÃ$32¡9¨p¦Û´Üº@pÊy6 Gp4_,L>1PMóã.°+`qQD'7¢ñ%Ï£µâ-¾©ß½ßK£^ã²î37¢ËwÏ9b´q# ·âó¦Jy=Ù Ñ]?ÉJvfO$íñG~Íêqg at p»¦<Û÷1ÓÌbýêi`9*jf^<rÞã£`e7ß`òØ& )°ç§ãáþz¬[ô:Duw麶ê0£hrP\JÌnêçÊÉ°KEHÿä'y¤ÍRà/uûa/e_
-ZÍ'þ'ÜÖCÌ,¯¦áDÒ'j|C>̵KfðÖêau¹é'Ëø¸ejøþÄî¥\
-ÕÀ¥ããøibÛa?¼³:±[C8¨:hÊzª]è¨ÞH7ÖÛ#uly+
-»¦¥)ØÈr£-à\
-}òÃRIÈà«J¾äOR¦&.Kf¾üÛuQÒó9
-NSTdJ* ¸òîf{Nchl¶ñäÁ+)¸Î1ãMÓÍï<áï;öFËÞü_%j.ýMÑfy4JÞ«FÒSíÕe_ °art§ô¤{ FwÃ$ÄîîîÝCºC)¥K éîtç;<ïÎïÜàz{ûì.þVç
- SRvÍoWÖÛç"PVçÕWÚ-£áÿ6
>àú¬³"ózh`{êߣd_RÁ!Æe¾rUîc|&Ñ6V/Åý´räña©b·}×ø«<<$¶¨NkzÏXN¦¹äq¥ÔZÌ0ö¹þ¿;èg$LÐ(û¤íüaþï²ÇmÂ3×ÖVâ"\ü,ûzç"²Xyræì/^DÚSè6³{Aa)&S¬Ð
§uµ
-×ã¬û##ZÖmPÛéê7.
-a§êâkifKÁw!vÊÿR_ë&àqÑòáç§ý¿Jðj_!ÎG±ïi°$hO}#KrcÐÃ=ã. «ãÀÌ1©~¡%,ÍîÆzÿ·À"z¼ÿ̵dqóͶþãS z¨BÎz6T²§®ùÙ\'ƨc]N²ø=ÛäæØØÃ~çRÏÁî"7N÷~S¦"Êk)¥Ò)m²ÒXÉå·Ý
-V>!pâ72Këò_bNnjÞæy¹X=mz:+Y|<Ò©@½ü§iÁs3aÅøÍסP*ðCà[³ÌÎ)áµðºÙ-6ÓPªWò²P¢'C,
-}L2çú:yy_Ø5Æ´Y3[è®=iµN>ÝÒé6Bèÿ0Úr
-Pj(ë5Üù^>¸ùkÓEqЪA7¾>V!zvÅ%z,jߨD
-¬4Ï<T¸òè¯Z±1¸¡ÄÆ6ÿ¥£é4W¶n]~÷Å?½Q"¢æ¹ËÄvQù-¹ñ!jÀ«´â´æj):~)½$ßÉÜÂ\púûv'9ýS\oÛ}tüÅÈ,
-øy®SSgTà=E·ÐѪ:Ù å¨,2ªâNßÝ?ÖËçåo4ØV(6o¸÷b&G
9&ÿªû©ÜÅöJN!Ôõòà«<Ñ¿fDK´ßp]Á/ßEì;,aÑ^^Q¸£9èÌnµ@
-YÑ©®87;_¥cÍi«Q,nì|^(nø¹Þwýuµ9À"Äe~«X@´¢_"#_ZQsz/VU¨à'%Ã0äOfeÊfÆ9±¯Qåß*ÑÁ
-ìeE%V³n9éõù
-ÍÈáIÃ_S¿¶nÂý! `¢âðDwWΦ,îf+²HítÁ_s; EGú tAr¦alp|8Í(À¸þ±76ÐQ`6LݺáeL¸Ü,Ǭ¢7¥É¦d'VÛÚGÐÇn3>Wu¢éb&´úûî¢oEIG=ÈXïÄq³$*jÞkLÿ¯[*!à?®IÄ,ʽÇ×(x5Ûë>}¯:TPù@¦y2öÈNoD+n )½ L¶5¡«6a÷£cLõô4Ð~ö "nþV`c~ej²Pz³ W's©ÌüÈJ`BS´x"&9H¸¤÷J«÷ÜÎ}¤Kf´Éù|S³Þ7=ò%Ú4Þt^§Kgá|èà?|v>ñÆZìOjÇ".UH§VoW°ñCVÏc¿¹ê®â\Ùa³²fuëø
c.Êv^
-Á¾)ÿl
-¯Ð[¤MçÄûî×2¤6AÄ9 µû.JSeÇüçºòÓ®ueX±;,76àäuùĶN¦ì0à_Ï{=Þ.rÏuÉ
-v3{ÞÂ;ù°Náïñ¼¹öÒxÈc¦¥àN(CïÀNkîRtâuD(Wdj{¶k¹S¢$Üs¯^útý¢6-»ìý¡3´cͦö}²'ÊXmqENB1G¹3ùaÃ~Ú×C*Åúí¿ýÃdàÇôzsmYÃÓUÓ¡(úK¢
ä¶ÍÞ LÕg»í8ÏƬgG»ÂÌ×hndOæ!cÏ¿kG$¬'eÔà ìÈ[²Q4¢ü9Ý?¾ÔøûÇ60Ï%§!§Z04eÊÕÊÓMsF Òż޲7°(åÙ¨ÎÈ,ËjGæÌN9E3<£FõYJô¯gæk¡ÖTõa«Vÿ8Ó< B:Z;ÇÀOú*ï²
-Ûð>[¾óªë *1ÂhnõgT½ï&ÞÈÉÝo·ÿ»ÉxCVEeæMõY^ðø{|CVmNQá]Õ*I\!î¥×¬ìzv®ôQ¯?¦C!¼e{eXÆr{} idÝ$y})Bkß¡1N\ÝÙç3ÿ|B¶%;Ä5îW}F¯©}u·RÎ:bT;Åým)` ÏxES52×r|Pyí¥ç§H+«ëd\ö×9ê/x'먣rþX_þÕÌt ¯IEÔzêàÖ\é½Ö¤Þk,W$kd:°|GôæÛóø3÷@ãùöJúþkù¤õ/ôÛ>&,ÏåLüÏê_^åim.âÇ÷]ñé8íp¬é;XSO;MG0j/²ôá°¡$>Çü®=5¥È Kæd3öëKõíè\ÂSè^7%
-FÐWÖOÈi¦û¼9A@ø)ïΩçOý¤"hèP6#k,Uþ±·nÐÛ:Ã6¤nx0äõ~ëuþÔ÷,ÞéF®Z]K:ʺÌÍ×Ì
-F5¼!\Ôëä©ö?[F{F¡}_ÂÙ
-×k»K·A
-ܶ\se³]½`NþÑy±o9eùðð¤ëïÕc6H+BLî~/4º³GÝë%Çù(JÔ&=EÏ
ðѦS,#ìê'$\]3ÇYóV¹}:hK<
-¬òK.oP9UìÏõlDØv±¸ÙÊ&lzà/õ
-4.ã|
þÅÒâÐÎÂÒ¥%v¿Å.H%°\¾ZJ0mÜ<ZeÍoi¤*!ë6eá¦OCºOð½Q?û;1FçZä/OåúBJÅoXfÏyî7NÆmPäâò{pmT4¨ý
-ú²èÓ8BnW½®¼¼Y"
-='¼·R;ü¿ ÙU8®r`±ÆD[Ê(ûøÂ(Zúü*Ema~
-®Ëµ¾*§;`ä&TûÚ(Üí)ûîôTKb£_,£\o¨íLÃô}8©õ¢íÞ°ãÅ.¨
-t³û ƳßøAtóóÜ=¶ÖïO4¶;®:ÂgV¨tËÏ+*QÒ)<¬¤M5Ç
-V4Cò;nf~.{ÄçlºËrÕ§ÅÀQÛoØ~Ë[KÓïÙÿqæ2Ù/zøÎ?.×áõ±ÃZ3ö¡²ã¹`®Ëä´H»ªúí~Ih6^²u"8Áÿ¬}±B¥öãÇRüÁrÁù¡[[NÇÀEßÝ;|Ùw4tç¯6d6:e)ªüö+ð)ÈQ_pàà7ËDÚ"¦»JM°Ü¨+'QÛ¨Rèö
¶zsßze²É06«hêc$Ïå¤ïìEÙÚ^s÷úÖ3Ý+ӱɪu@ò=9Bd©ÌµKµ¹ÐyBõmË0ï>¥]L²
-ýÑg2mÝr×`niwxÈíÜ\îö¢ö*BÕí²R¶û¤i9*µô)eÒâËj1É}ºÅdf¿¬8Í(A=TR¯î>æ-ñvõjaw,Aû;Ì÷'ûX³±¯¨fx΢¥£oâ#
-4Òêp]jÂ\ö#+&]¸ÝÄ¥fäÚú¿-±tľºh a4ÚÅ3H?°x¢aUìB¡Uû:H4oÓ+å0 4ÌÞ_þþZXl»xÉÓO¶J¼®~I÷9]ëUnf¨Ö¥Â*ð´´è3PªyÉûF6?õ|Ue8eÖtéá©/÷c2Ëõ±ØÔ{dýñÅ2[à_JOßûRC²Vn9ÙéJ2>¡MÌM8ËzXÒ{¡"¸¨6µ¶HbèÝ8Sâù_ÜäM6ÝJº;¦µh[ɺ{Ñxo= Nûþ98·*+ÚÒª
Ä·
-·,«!°WI Õßø½Ð½oëuvÅyd1>.ÊðÅ2¶o6ðYI
-W.h¥19jJk«Ñ.ì°I:9Ö£|o|Ïc½#\(¢Â¤Ë¹êñæ§D#fпÔUññÕ¦¥¬eþ°êçüeµ¾ ª:CEÎØ2KØWÐåGËÈOnåìAÔ5 *ı*È«%1½ÆñúÈòÂãßìÏÐáûG Q=õÃWcªMñï¨øëqÇyàƸ:¨´
-Uû»Vt)ôHá%ééiϨK^`aB|Éý
³á^Å>.KíSCÎWÀ^~ÿÛo5~
¥H4ßU棰o©øKÃ
-Îçâg ÄO%+TÔ¿ùmôo{õfÅêo"~J}UåÐm¹¾¤¼AU!ñq¢øáOcªz)å·Û$4Ì2Rì-kîl
-{oJ+UñÎÑ¿Ö¥¨á5ËìuHú¿·ÄîÊENÜ* ×9ðÓO²Ñ¿@.qî°A½|£âʦ3éï(ïÅpø¯~ô¦Kã
qÍ/NÌÃ=BÞ9 at KßÿÌs8¯Ååÿÿìÿÿ¥£¹»§¹»n»§»U5îÿ
+§o>à<i==%ÊBýïýmãIÒ^]$VQ'ñ
+Ü5gÈI
+·ÁIWd 1ñvËv`©£¥(ª¡¥Níë(ºªb¹äZ©+Ù×&iX½ OT,V<ÄwÞ*³2(@4cmë l´¥&8Åƨ%npÏä]µCU³ö-,åOÚ½±?}òž\f»I"+ &$ý©#
+´õeÌSTM´àÓUÒbÑjN¢1aúN
+eéð>%9å5N«ýO½fT®imú°-Ì®I_|0õ¹àøÆ7XÎÜ#JnÜß{@Îq¯#¶u_ÊÈ-RZËq}'L='ÓÃÉPx0üLûéçt1Ñ?¿½CÓ
+ÌÐíÛ (Ïæl)ÛÊÔ®I1rG2Ò¥MíÒ©¢è%¤ÆNQܲú<+}F¹Né+
+dC.Z jIÔThvVª¸ÿØc&Û-áWjâ±EÉmPD6QÔôUs7T××d,]~ئgQu|þ¶J´VRØ%)yU S,ÆUpé©-Ķ6×5ã\òtã wA7ª-t iàI¶Õ¥[ñ0zbîiãª`¶9?¨G¶ó*Á¤X
6ó©'ùÒ¶S¡¦´Vº«âæ|}]eáÔ¡;ªxSGfÊ¢µwu4Gý66Å+½å£le
+Ð\lpTAW-ò%ÃØÅppÏ3Oú%7
N!y¼+!ãh
ÕoÛ¸³i¸¿aö}¬à>ß0´U«Ñ8hÛÕu®S:³
+½MyÃ6µÈS\
+=y;Y at h«tjÓtèý6~æf]Ä$iIýÄO-Uûpïöèço¯RÅ;ü; Nm¿Áëò|#ßrQ¢Væ¶ÓÆ£S éy®2d
+åD+§Ý#ð¼{±ÛñÔ&²'óf fá¿i;"Ϧû]Õ2÷*jðÌî¶Af7=
UZ-gÞ×ßMùî/¼!Sþ»ÞMíâõ÷dÓñ
+|8C¬¯¿.{å×eÓ¹ÜàeßëïÌ\WFgQÁÅãU°ã¾#ÿ¨ª,t÷Þ,ØQÜ,òîBT?ÞbóIÛURÕ)hêßù©Ivw·ßºoUj÷7<ÕCì,û8U<H²ñ¹Ýím¨®:¥¨øÃæOÁÙ;$UiF´eºm¶¡hé
+²KHSÍa=lÀ¢4ö+#ºO*SÁ8ä
+¯Äè¬k¶3[û.î=Ü¥T,¼±P»rô ¤±ç à¤0þe«UìÆ,_Qä®6p«/óên<ë^Q!éä¥`¤7Ò¿H_+âíqÐãIr¼G`³¢K£{%#¸bBîÛãÜ$^#÷ø)Ð5»ÅBEßXËA[AÍîüV{Åûò¤éÿÃäGLÑ}`HÆ0þ?4<WÝB{óÒoÌû(YT´Va'©ÿDýÈ~÷¾ÌÿÏ¥ì
endstream
endobj
-356 0 obj
-87673
+348 0 obj
+1999
endobj
-357 0 obj
-<</Type/FontDescriptor/FontName/NimbusMonL-BoldObli
-/Flags 68
-/FontBBox[-84 -278 839 871]/ItalicAngle -30
-/Ascent 871
-/Descent -278
-/CapHeight 871
-/StemV 80
-/FontFile 355 0 R>>
+350 0 obj
+<</Length 351 0 R/Filter/FlateDecode>>
+stream
+xXÛ#7}÷Wèya©$ºa LÜî<obÈd³ d^ö÷sJ÷v_¼&;¡ÝRUºÊZ}=ý«´zÑg£ØþQþ¿ÿ¡~û þòùåçSzxÿóôÓíDêö®ôÙÊ ÜpTÐãÙ«ÛgõÃlÎAn_ÔG7ñ,[ö|ÁÇðOsðÁþ¨n®·Ó§zHÂ6 Σ9SB¯Æ<@#íÛà"ê@ÐGôGyæ+i¯á ÁaëZmC4òúLF§2a-³X~{;e)jémÁA·);òß.¼qÞÂfWìlöòSÐ÷¤¹YéZZß>å=¥¤CÕ"î°ø*yå
+¥¶
+ýY(>7¡¼Ô¶U!m±
âsÊKm[r¡('OU ½.V8uÏΰþ+s:ø¢@Úmzzâôì,Ðz
+æ©%ÍÁ÷~kßîÓ¾Ý{ ÛòÌKÑö#$3]é¤Õ©È¤4µtxÔ×ìw7;b_&Õ®¹!º¢¸T&8ìa&Uwnª(ÉÕ
+mJÇZ
+ao¬ê©ËþRS7C£mµá;
+ÌCÔ°¸í^ÁÔ
+
o4A9ô¨3¡
+GÂb0dv
·êè[{®EYåuߤRfìÚw3ó
+Û1î¤;IóúÚ+ñS]:ëKÉï°0Ðú]çLÖ¾.ª³×ÉoÆ8MµµØ&=ÃpÐw!çönúÞMn¢u½Cø|\bEG>}`aû¬lùt¬ÓÒXÓ[ªõm¡º"CDñÈ!ú?FÀÿTWm7¬=³¦éc*¹Ã³£2.¹bjJÔ68¦\ß°WÖsaÛ,[nÓÑöCÒ:l^Ñ?ë×®|;
+Ú\^öÒ_jÿ2
++(â8kªÜ£¼#z:ëÈ÷ȹ
+¬4e§6Rõ0k:È; $
+fT>̺gÅfùq|ãoC;ÏçÛòR®M)λèÚÊiö}æXÝ.«ÜÙLy2¸lý0?âDºö) <µKÌñáâH¹ÈI÷Ö=qÄÀ¸#¾oM:sorÃ%mè4ÎSÕñ$çFW¨2D0{éÇ2\ÇdLCvÛ¨ÕB8uÚ9VZ\¶ãÕ.²÷t4>
+endstream
endobj
-358 0 obj
-<</Length 875/Filter/FlateDecode>>
+351 0 obj
+1274
+endobj
+
+353 0 obj
+<</Length 354 0 R/Filter/FlateDecode>>
stream
-x]ÖÍnÛ8à½BËvQXïOHY²é iÀ±Ô@#³ÈÛWGÎtø®>R4éuw¿¿Ï·õ?ÓåøoÕÓy<Mùõò6sõÏãªi«Óùx[ÊÿãËáºZÏ÷>¼¿ÞòËýøtÙnWë/ó¹×Ûô^}§Ëcþ¸ZNy:ÏÕoÝÃ|üðv½þÈ/y¼Uõj·«Nùi®ó×áú÷á%¯Ë]îOóéóíýÓ|Ëï¾¾_sÕããå_¯cãs^mëzWma·ÊãésM]óǧã÷ôڶ¸¶®c½sSòü1ç¹EÌYYÙ
-ÙçÜÖÍùíwÈæÒ#rbNÈs¼§mܳ½Gçnýþ@?Ðàôøýþ@?ÐàÎìÈôøýþ@?Ðàôøýþ@?Ðàú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_á·sõ~ßè7ø~ßè7ø~ßè7ø~ßè·R~ßè7ø~ßè7ø~ßè7ø~ß9þñwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßátF8#ÎHg3ÂÙ¶
-lÎù+Ú²rÉæÿY,h6¥;ÑÈDt8.Pi|ñFv ¢±+íåK÷ÌèdDTôÀg¥uNmÉ-^F
-̸>-AÍÄNèÄ
²,²éuð¬´aÆ`¥ÅALt&8eÁM³<#artËF{ÇN®tÛáÞ®LvqèípvÆv¼øÎKû2¥=²æn±ö=Ûaîzf»õ1þûåOOgñôË$@;<«)bÏwW<}ynS~y.®X§G¡ô¥)Á°ÔÁõë¨3,uðîÖÙÿdØ@±ÃÿÚ«ãÛ4ÍrùPvcìÃç1ÿûKáz¹â®ò÷p×Ø
+xµXÛnã6}×Wð9Àºäð²Üçm
+ôÚ¦@Ñh^ö÷{QIkwëFâXáÌ3JÏÓ?Bò¤S»|ÿ]üò$þä)XØÿ}ÿcÂÅ¥H:Ey}JêøÂ×Éà^òóëoâ»=y¡¸¾ïvÁ)/½qÖI4ý ®Nóuú´ÓCÒCÐYu²Y¿Úe=,ïugwñÒE7;O2iRQ4@Ûyë56»¸Ñ6ð
ènSTv¤4
+ÂÚPw%I%
+öVgÌâ4¾ÀÕ3~ÁïìMZa<4ä$NéV>¬Ö¤µn¥
+Ö´Ò>iÇPÓJO´hŲ7"ëç¼Î¢q±8¼ÁÙï:p`û¾÷ÿéÇiÃq})µÃ¸ÌûË9P¢àj,î×·i£ýMf÷ìà5{L3{
+ÔfFÀÍiwNhÒ¼®WoO¦¬2LJ&¤½Ewf&«oam9aà±b}ÅÎ1¯ÈÖäÛò*¸/zeeH§gIø»½)R-òNBñ>òHíÊ5v\Ë|Ö°nùÖó"§TßÄnÞNØ®µ$>à¾ÖðëÛÄæ~^ê«oB{üIÿ??FÁ&²ñà|Ý°+ç*mõ0Vò÷ãrü3~=0@¾·±U.ÚGD÷¼0ÆÆE'WaUTzÿ8j
}¥NÔrNÖd
+×ÕmÎqÅÄÇÌö6£sØ#òWª¢Wk$VÍÁ-ßû»ÙP+¦F+«ùPV+Óc³,³Ò$ëçl=WnuܦruHRag¡m.{É6£$5jhïÃ(IÙ«¿À«!ÍÍòÌÒÜm6Ë>r\tÞ3¿ÎTÖFÖÚªPÖhF *
+>5ÎsJT¢r`3<ºpûYê˪ÿEäLj-[¸ÃÆMá:jØÆùQöÃ"#¶En]=§¢6lÛäm34DÕ<®¤æÿ]fº4K7J ¨V aU[õx]¶.'uÃó}à/£±ñáÀZÛ©Ídz|¤R:¢æÀîw0*UÁÚ=Ú´êu:<¡4¤;w¼s«¹;âpèÕ9ºOÜ"BXVÇ3ûà ¸ªöxPUãîÿ:P©éiM2]´Kë/Ǫ̃U5ûªã£SñjØQ$/¾!
+âJ<õóxÔÉ:ÚÀ¸Ä8ò¡Go+Ðæ°Òu{à,rvbʱ´·Pö¡ã÷ï{a <óµõirÁ'G¿u'åÎI#MâxêÖÖó~Op³µ²
+GæjWû˹ËuÁ%MÏÈÞ|4Óºw%YË]¤ñÛ¥ë#Í®ÝìÚRHs%tÎuí´êM[áXl³!Jd¶ùoYúQ4ì®ÅnÍçrJH§i}¨åÞ
+Ýt<зôIüá
endstream
endobj
-359 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusMonL-BoldObli
-/ToUnicode 358 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600
-600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600
-600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600
-600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600
-600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600
-600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600
-0 600 600 600 600 0 600 600 600 600 600 600 600 600 0 600
-0 600 600 600 600 600 600 600 600 0 600 600 0 600 600 600
-600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 600 0 600 0 0 0 0 600 600 600 600 0 0 0 0
-0 600 0 0 0 600 0 0 600 600 600 600 0 0 0 0
-]
-/FontDescriptor 357 0 R>>
+354 0 obj
+1452
endobj
-360 0 obj
-<</Length 361 0 R/Filter/FlateDecode/Length1 1354 /Length2 89523 /Length3 521>>
+356 0 obj
+<</Length 357 0 R/Filter/FlateDecode>>
stream
-x¶st%o·5ÛvvlÛ¶N:ܱmwmÛ¶mÛîØénÿÞó½÷»ç;jªzæ\k=kÍU{S(«1Ú%íí\Xy¶Æ®Îªö¶ö<òª@sW#À_BÝÒÅø¿ÁQh-ííxÿ;\Ì häò7rù¥ná
-q5
- at máââÀËÄdö2ûbt6c´º0ýI!ag*foûO7Îppÿ$[:MþïÉô¿homgïnçý¿±fv¦ÿl0uu`Ò°³ttÊÿWÎ_î0s
-*èC+z³nçõï¾,òÒo8J±UUhS$fµaÖà>¨UP;Î
-ö? Oò
-$p²èÆltjU¨gÄòuÖ±f@,£5»ÀVÉàq=ÉàE$
->ø7rí@sQlº×L|//807êFLmÌ
-ñ'ynNÝ£ äÖwmbA¢y~¤¢â3íN0ÝyU%Ü,Òèñ)ÐDãlY"Å5S½RÄB½ÀËç½.qÍ3cPºº¤Ý¼¥ðj; %¤^RÊá:ý%F(
ñpHĬÆÊkI,Pk:ºs¶E\½ZQ>?F·Üï3ô1Òéðj¨
-¢pýÔÐP5ÖÈÆnÎö.àÇ+1'»
-]t÷á-Á¡ìdqyÜ|îÏWç*` ê§vE¯´¿'2nc¦9Ö)|A®Äy£ªþ88A»A·?ÁÜ&8Ò
-°{^²Ã!Þ
-$ýº¿I¼k¦í¢®xB[§\:кS3EQ9åâÜ4û0û2È·åù ¨¹ ³¢ßÑc² 0¡?T§þîÅëdgÞQPÐì¦
ÇüÆ dû{òÎ*Ú+Σ¤ÂÂpe:[KDùϪ1ë
µA²¾µ_<0
·RÄOW¼M·À:¸Øߪ¬!ѯФyñ
-¡ÏªY÷ì*{ tÑ»üÏgJ#S6þ×@ÝéhÜ.ìûlÂ
-4Ì|°Ð_ñ@¾Ï`1}düÙåTШç±Ü#Qi±1¨2ï· 0ã`hTQz«&v¡ãhÃêÛ
-Ø·CH³â6}?UxËúü2Ôu.ôßã/õ e
-¡ea;u÷z1$ßLPiXA¾Ö&óKßp9¡w½áÈvÜc ð_ÃÁbR_æNn4$|â-òÐ eØ+)BÌ0Æ´ö1¦ø]4è;cs\µªZs
-lFêJ±Ï¥qç¦È\ÑÉÃ!Ŧ-Í÷Yú9v/e4«Õ_Ú
-('.~ë~MYsÝ=mÝH}Úz¦³/Á0ß7âÑ2¦©
-yp,iÜmù$.E\AD¨Lr¹0õê÷5`;ÀnCì9|Z=Oct³ð¾ZÒñr®p$Ʋäé.×Ú
-hZíz(ô:×8Ãäø|}k"ìÛY«8có§÷ÏO9wÑW/Õ*æ4!/=` FZéúp.ÓG}£Yh!µÉ²l
-n`kÌ9?ù££
-3%ýpì\NQµK4ª®í@[ê9¿¼^}Ú¦F. |O¼D¼²ãDç4ÖF «F4r©0º«CYï:t¬mJ+ª9í÷ò»&kyÒË0¬
-ñK^2hAÐ
iujYò"¦ZAµD±Å´GXJ¾-ÍwÃG$´úu¹Ç;{PüÏoÁLúíÔïú]r¯C± D£Ø?
-o
-Þ*ÊñGâ3£ÑÉ,Ám~}pU÷¼W´{·åð3ýÐrlÄ1Ú
-|(ã_Ô¨IqÅeGÀÏñ+%o¯±¬?D2%ëDí
-
rõsöÔÀ_¸Nø
¤<¦µÂpÀéðe¸gH¿}·¡íþÊQ«Þ7küu
-¾o5mØß¹»öÑùèD3mB_nWÁ¨|lÍ*Èñï~ioåaÖeä^ÕKë°¸ÚÅòì¾õ¬G9~ûq4+
-Xå5/XÞUù^íTðäÞÝlS;afÍ5Mö(#$Ô,Z`ó60(¼ç½6=½p¦aÖDßz
-¿±¬û¸ó
-JeÊ'Bq&¬ùF@äÐ&~³-·òc»6ëEk6/ÝǵøÉ
-©å½b''
-ÿÞeÇV ø|h¶ZCmd@Ï6ÈÊûÍÒ\g³EzÒá)ÞnÁ>:Ar¬nzô'é¼JQTÓÇý:IÝã°ÉóôLXÀ
d+É|ÂV:oȱ«7
-mÖ¸éÆV¯ÀñWXZx6lZ¶íY<¦úìÉÛÔx§ÙH¾^
-(Éâóáøæ75Lç\)_
sÃÙIB°A-žÙB÷RÈì1Ç)ãË'zä$³ýÁÐÛÀÉ%\u~d÷JØX·+kW<XpW1!«aÖÂ)°@UÕ.=lÌÉÊ«ý&CâM$Ó«Ô² àbîvä]Q³eíÖ*ÓÈ¢ÜÐ
bæ·zæQÖPsÍý¥¿¿kð¿Uñ X`9ñ+"E½JYü¨jÀjîa#ÈRðÚÊVx3ßÏóßûd¡À±+ÒFB¡ò
-¼ÝÏÀ@ëD¥ÁWù°}ó9楩(ÀõO8|1o¨Aõ[3a^¶p®X2îê®l¸óÄU bÈ!²;~6ÑmØítÇ>ª¢ÄÓx`ز¼TøÐH^Òì
ïbÌÂIx.q}wm«e6ÖE!ù
-KB½êkÍmÌζMÕîyøV× \¥EÕpà=W§e«×°rúQ )gL÷~ù§ûÇ~sc§
-ÒªWø¿X&eÍÕêXlÑ þSßz2JDCÙfÛ25] ÑÝÔ§ k«]¥@D_ýÈOM>Loý¢LAÇÈ[[@N_Àt~=¹ëê¡y ¼å~©¥¤È/QôùîªL.±T ÀO
-ïð)½ö¸v/® ʾ6t}85»n"\tz«y¸}aiòãßp#öÞv PRnÝïcqä̳Oߤ]Cã²Ún£[Ä¢/3¨aZn¨Í ¨FâGRiTù!¡ßF#*CÁßÿ ûâ9£»È#¢¼z-¼Âê{#±V&äÝ2Î-÷^3ùîT÷Ïß@·¿Mp<áºSgV:ô³Ö
-WeþV#
-ãÝb
-=ìÊÕy&gøàHoå·ö¹/Á8Ôî×±.£ö}ä¯R~£GÌ(ÞuÁ¥Q÷uõ/UnJªâ(^ÚH-[ÈñóæÁAú[§Ô(¥ºÞ(5=v»6ÅÒA-¯nÙ¶õm`»û.+t½³ÍÔ>ævùî³Æarq
-mÍ;ElÅÄäiøT
-8U«)¶gʺڱ;¿Æ׶Yhg3«H(øm´©óC4"£?9ôÙ±/Öwf[Ð/&oûgÙbsî¥}ÂI»{¹ÓuRIZ¬Þ£è¯äSËÍGK)9y(uÙGøSÓôa< Y-®ñßH\«Fã¨I¦Ýãßye¨Ì
--3 ]édÒÚÍEZü_Ïð8ãëö_=ü»¹íNnöé§|íïÒn
-ì¸"m
-]k?»¢¤À jv÷Ï)æhÌ»Îu^óéij-+!aóøÁ¡q_yFíà×Þ=©æÖÁðóü½0ãVâ}øâÃåQ¡&ãú£ïé ×KJ.2xSÔº4Ç5£1ýÊút[ÓµÃ~CKâ2FFü*Ý µï6¸z/ë=ÐôÝûmK4³@|¬hF õ/«òI¦]ÁõÌ8_©dÞ¥Z¾¼qMX|ø2¹sA(YSü1æÇlXIXõ³ëIìuä¢TàNÈ},Bn÷ÕÉÀÉ4gãR 7ݨek}$>Nóqëd<rbQF]´uÛOÞ0þÌQϤ¡fó³)
-.6cØóäraM³lÞÞB}JÇݽ
ÕãEϺóJ]N6Q[üojæƨ»ÀXÃZ^ZBMD/Ü=ñÔPÇSîP¾f4ßæ¯_c¤¸Lñã£éRuç AfYæHIÖoÇs4øª¦U"2ò1N9´¢Ó8´"Ü8Yò°M;eÝØ&Õ«á¦Ë7êæv~·äs̳
-bÔÛkÜô|Ò$J¡¢3Í¡å£iBÔɧy²KӸƳóÓuzDrRi?·V¬IÍ,´n²Oàðb¯?^ævcÈ=g¡hÔç<³ÉÔµeÕ÷2ÅjX/f
-}¥â¬Ø×2¿1ªÄV7ÜÐ3Í'gÅÁ
AñÅ}©é(Ðnoþa"x
-
-r=õªÊké·úäö§¤~
-îYʪï¾ÿAáX*ÁlÁA^ùix¤aÀ§Óz8ç=CǤ:dµ²®BÖØùÝsfA
Ç|§3±#Ô"[&7m£Ì>;0xèéËo`êu
-¡ÄN×{bfËWÇÍ,¹£h:GuZ{
-ï¾cLÙÞ
-nÌåuh+Æõy/dζaÉçdES¢ÍÚz°4-þQÙ!çÔEñ×ê$æÁî³Dh6»WQl è=ûópwåe§~~µúºÏ°Þ ºD}1Ãgg5Jµb¦}
-¤ê¦½6½³Pþ¶+Øå\Kðàª~k³Êg(iÚ{I~<ÞãÑÕ¥oz6ìÌ9^§%%^ëgJý¬Ã÷üÍöúH$õøØ\wËho¢Q0!÷C½äÛí0!2ªÕ~.EÝm*z
-¢
-ånHnØ<GAå@³C¯&×óòi`]Ûña5¿(kÚ¤VO®M
-ìö2Du`F òiAè'xÙ¶qâ~i?Õ¨ÎÌ÷°>ó~ùInXÕòximÓzÑÅQäN]âÆc!,øÛÏ`#Uû
-"F³9s+|vÿ¤ï_¶ ðxäÖüGÀÛþÇè¶ñäo7©k +:!( Aßu²î»¾]ç`¢ÿX*AxB
ÿ>LÚ½xLû)¾QhD÷²ÿÙ1Qéß+¸}zÞ
-JöðÐ[øÄê²8ÐósÓz Ñè;c(7ÞקdÒÔB:ç( düôqñ²þ³à%ù'è×TµåÖÿÌá'!é¬.´ÚÜï®j® òLÙ(>èCx[ª ÊB¾ýk¥grÈOµÒvs÷z¨9w§Â
-&ë¥ö+PRƨÇY*´Â_ó8!O¯z:$zþ(àÇMÄá>ë©ñþv2?¶X7wIá £¿äݸ§ÿL8v»kãM
-¢AI¯ÇL|Ä8É·MV ßC°{G>=¨Ä*5©îÝnóØ-°CÁT¹xzú*KÁ06àzöJ¯£m q÷Å#%¾à,Î2
9R
-¼{d¸~¿|«ÃvÇ6m"ÖÅâÌ?)w\¦§Îÿ¦Â"sdï¡jöGÍ¥^ ««§»·ö¥AËst{±£ýÔØ
ÏdWÙçwu±Þ>`Y"Sk*ÍKËlÞ©7qJóAª°4=XèZrµ%×Hø¨ÞJ
-¿îÜÀSÖ}¢üüR\WmM/OÑofa¯¤bªÙ}k´µ\Ywè°®±ÝP]É髵O^AÉmzií/x>ãýûR)?=üÅÍP°äÁASíøÆ£NrUèïR2L\%µ÷Cì'^P5jtKb:ÓRwL-1/¡ÒªÔº2ãåzÐãöy93x0ÞAHöT\A¸ÿI$£Ì")â¬}ÞÒs×]£@q*åSÔËÞgü÷¶Ñmré"8z¢÷'yú3HZ« +OçÍÐä#®ZMÛbtÖÃ!÷õÚQ ç7·µÉñQAk'9ÄÒúð[¨âÉ>{qß
-ãEúÌ÷ÞØÇ¥£"Ô¿^Ù/<ÞÊ 3qnIZîqvj©EÑvH¾EôÜoeøÞdmlâ?ÉiÆ Ý2ÓL¦ÚÀÔ÷x
-twQ;àÙý 3ßÆø±m'¿ï@ëYt-Iº:úÇÃÇ!Íl¤6ãNCrÁ3ÙTÖ¶þl%ª$´Ó·*ßtæ®VüO&<YF¹ãXmåc)¨%á$ÅïCvEâªÉ¤ê«4ajÏégùÿX@h d+
&-ýªïbÇ*ézéÓ5]°``±ñ>ÅØ©uÂB|ròô3F#§ºÄ¡¾_Ãbé7t«zÔrȦ$Óy·UźQµEÅ×IÚ\xyÜsV>¼sg#:¹.t¼£éÊDs~(pÐá\({
-5#æ{S
-sÌeæGÔ%¹ìÇn«¨Êà ÷7ãrHÖöqóö²¢ú8Âe¸G^À8ùnÐô!ðT²E¡FÚ}¥Ô"±é§s^ÙÛ&¥]¼.p{ƺËáâº_p@Ôë}ô=ì;
-g[9ÚéD½èÿõOt=ÒVíò>'¾µÆLïF)íaÿTY8§¨¬ß¦S7ÝÚd¦¼µQ½¦ÖEÙ3ðl ;B´|Àå:ÆV¼çѬç|Cb©H_3c
-»(zxCs]>Jj×=uùi3
-i"¦)ª;JpîwØ^qâÇÈ&B¯Ð<Gqd'MUëÒ÷í¾·&»4T]ö¶yO¤b>Ïü¡Õ©JONH*9;©](á2ØýíÍ{öNnúEõ+gùvá¢UNêÂD¶|ZÒ5iP"2l¼'çO£G.X9ÀZí''"¼mÜÐ÷Y©áÂó0ý¬ÈjÞeÜ®ùjR÷Öno:5|ÓðsËî/<©ÒkÇ{c^ÀD9cªF¡¨\Ý{
- §nY¹7HqËñô|c`Ö:ë`¨\@,UÆFÇá³È+ÃAÀ/×L2t6\3NKýøç÷ÐÌL×â
-¯°ÈP;ÔìÀ¢Yrã ©T¶¹¤-«ÈS74ÃÃ_$AN¬r_Óûõd·â¯ :5InF_ÛÂj1¸¾@û4/õCcÛ³
-ÌsÝûÉó4Â&ʨ;ßws´áÅiº-T¿}ÃcÂ8J®ª-÷\ûÖÁ'¼îáoʵÛ)'Úð$Zªø¶°UhZâÈsC/¸3ïdÇdzǪÎ;.ì¿gÈb©¯¸p¦Áú1¹
-´JP0ØZëËF$7fÏNÂ{2ÕOjÌ=󪯻«¹=`ÇËÜ
-?|F8nsýfHs=å¶Çû_V©Çζ¬OèF»2S0pû(Czfádk&}QÐ
-)¶c8 üòªËÕP/í§o'ð` eÿÄE|ÝÔÃÞ°rÌ÷º¦3ÿ¢Çódxð2¯§Ze~·ÐßiÙÍÝã MÓúÞ¤P/¸ÏZ+»6··hÔ|»÷Wx¯1æ6)"®
-¨·´ÁiêLî@¶ÞKâ¶
-×WQ7 3ZyWúaö
-qÐ;´é¾æ77ùï¨üj"¥4½`½ÄÒIe£ öÝFû´^ðýßÂ"Ë´xY6ÈÜß¿=[äÓñaòZËÀ G¥ì<Áy¼+õ>
xpºÝTÌ(ÑôÅص4ÞÓ_?oZäEq8ËïWÔznÆ$a
l8EÞd
K¸Ó±«^ØÅo2¥^; t|>E·û%(¯ióëlÚDsèo/K*Ô³YªjÅ#J
2Â3³z)qÄhÚ6¾)Ç&©lÅïþ¦gÛ*»9ÞÀê}JÍ&ª99¨ûÁÌBì«?}ªÖIN6Ôñ\$6Þ0¾¸Ö×]@ô¾`ê)=RI)ÇuÃΩÍa~ãÇ7Qªë°«Ù0ÀþeGÇöë½®(PøýÑââd,ÆQÅ7ßDDkõ·m·ocWÆë±cÚcÉÖ´mD·DدßeÍ$ÖBnaõ
+[¬
¨èÚ)$|Lo: ¥×°ü\ó¸H¥¯ú»÷£W#õ?Øb?éé?«`}/W¾p
-m¢õH8¨ô_e²+U¥,¹Qj1îÔë¶'âFꤷ8ÞM ûÙÓS¨¾Éüó LB¾P i*çsͱ©:vß·DiÄ(Nb1÷]h·àBÖcÃfñ¯f^õ]º3µY ~¡/e¯sí-äCá{'#ÎN:×i»]ÀjÙäL%w1n4g¡ü&é=B÷þ'þÓYA©ÀÎ
-[4îÃ׳WæIëðåÑ8ðé¡eäÌmW8¥[[_® &Öê:!mYÜËêF+kѹC¡:©±Íeü(h
-V»tË
-fK¯ÓÕ~m«DÆD౧®w=ôe*Ãå´¤ftËáÊppµ?NÑr«[;êN¤ÅâRS¬ù*Ñe-eó;ÔÑîç*°ÖAË+|ÛÜ(íaÍ£º'iZIÇ¿·¹j̬Ü÷_cϸ
-gÚ UíÐÒ¹0
ån~ĺF
Gun°¨R«S´à²lÎü»Â;ûðèãèHô+=o
-ùÐéR¾×.iTÞ'É
º*èô©Âçïé;¼?©0)
-bCÑèKQBÖé0¶¬ tPïÏhX"÷Rúz^¯Ê4[N¬@Ced9\äpÉ·,¦WyèuìLÄ7¯øÑ7»ÇËC³)
qãä^.>÷zJѧU«(sÍWs/£!oÂøj¿Òy}Æc(YØr.¡ªãSX0¬ÁHpY0øò}ádÞS÷%"y /éÅïFßÞ}D¦I¨öòvû§H4º²ñ8ï¾ö²LN:">
-&u×ûþAâ=R YýntØ¢@¡+¨ÝðæåðK2BR¶°ÃqôÄ^À¹üb(vùya«'ò©7õë®ÉîÞÒ¯Ê:£Ï0@§Èsó©¾bvaÖv6T½AYÝÏÐý'Uh3è(z Ìò0"Æ<D8Ì<Y
-ÀÚâú0M§q3&qºú|×÷ZãEÈVûô©êź¯ñ.0gEÈU~W³ë î±yªJtjsé¥ãwbïGC³|ñ¼àNÓe«ï$Ûeãîhè:)¡ÍlÉ<¡åwE,¥)¼Î-zù:Ü2³»å<
-L¤üÔFG¢²o®ÊÑð.ÝñÒòóÊÅ}|&@îÈg'ü¥+µÌÀ5 +L1½á'úOæ¥ÍWq*1«×FzRÉßÉþÌX;8¢ôÒq.¦ÎrÐR«&:o¤
-u{ëC§Hë_Òn©S³~Ó~.è¤ý1íôW-MWíMÙÝ@p¯ÿl8l¿ó²©éÏ÷ùýîú´¼Ð%E¹-
-i´úSá<}>"_uìÊ0¥¤.·uÃùíTL8gËå=Ú^æG"<èAâÇdØ@ö÷Õ²ÙÚÜÞzïð5ë WYìáGÛjÒÕ,æGZ Ư£®K¯,]ÊtÑ£c¼?´¯P±ólÐ
-±úkôÏÆï6SÁ_±XW5Ã\ewK$¿èêA>Ýì·2áñ/b
-ªwOOH9¼ÔcNaªl±BÇö\ÕËk%Ô}ãW
â$ô·vÚ¢íP2Ëf¤¶dyæ3ìª=±d¾»ÅÌíÌÆANk#ñs£YÁ³
-Ú¶8~ï{MóÙ¥ú¾
l¿}g_U<¤éÊÂovC 9Ý=È)éI'eÙJ\b§ýÎ
-
-VÛ8ÇÓ»àxp¬¡B§^Ñ®ÂÊ:úV¤7[°¦>X`ÀêQæïE3(:¤,þ£ù»_Óêóº^Nø¼Ð±sN¸/ï,á¯Å-ÂÈ#Ýç~åuêè1Æ5×ázÈðIÄF*Õuð諯B¨Å;f?Á×Za£Ë+E¸ág´O¬
X'¥w?8Ò=ÒrûÂã8ù"?Æx{I¿!ûÉö¾º|G¸¸x±Èd6KÑÞS» °ã4.i§ðfmÏLBÏYõv¦ýÔ3iäo´õmÞDí`¡sVŹ´´¥@°¶7¡xò'>Ï#ET*\ahG6º[ô3ûÌØ@RÏ¡5¬;¶Ä-ÎbªtÒvkøX¨Þj5tºZrroY
-kâ,hÐjWó
Úå»OHî
-"N¨ç-$Ý?ðF»û´çB3¾ÑÑñÏÐM1(Þnwìçp%ô²óïÃÿà¿wÓ°¢ñû{åb-,:Ù_©Ðõ£Z[íA¥ô¿{ÀI£).}¢++ÎuÓsEnù÷\îd®¹p«¿Oi¤Íxd»n0í'××Ä+Nôâã1@÷[$ÎÊÛ~-Qßêno{E`äïõà¶B
-òëåæ =ÒAäãÂkÐÐ5gÔ"ú±èNz<ÎNãEÙÒ^®EUèðV~B[3K@£ôhѼ%]4ÛDóÌbÏÄ|AuE@[¯würÉc0-Öï¾sÐzìóyG%'"ôJÒµ°Üö4ó°-ÅÖO7Qn
-ÍÄËk¨©°ë¿0â´·m
-ÁìÇ?¶}CÿÃ-Mqé¤+Xh¥£í3ïû´`í1§xTçÙqãh}ÎýèúJyðè\³f_Kq²¯a'¨R[6!-bqã-ç$%¬É¦úËz}yØ'WË맸
Qwëð 3
-IËY¿G)VRÇn^^ÜF¼§÷²{
-Ú@»ß~øâDÄÊs}LsvÊïåÍzhnr©Ü;¨/Úeã´_j
-àátôo :·k¹Ì;:Í-é ö
²QoÆ·¥úP¥í~âüI4¿Ä>hßâWé*&TÂîH´D±ôÊ*UbÃ
tDS¸´g]ÕßLÊIUux¿!=`C{{*ùúñÄ]Øî²A¿rÒuçÆf0¹üvI{cCƸ&½°hfâ±o>îÐë³ÄΪëö>M¦ü1e"W´7Éí¿nåÞÒ^æÒþgO«p¡a*Ö^@|rQbsú±Æ×G'Køû+j5¯æ,ý«kö'ÌîÜWFÁG{N²ÁÞ=½/Æúus?Ç«{"·<Ðà
-ï^¨sä/hÖÏJoa¦ðeÊÀ^ÙI¾,Ô¾ÕÚFñÜgÃéAWà#þH-ÄØîPÎ2· LDhÓâÇ5}w$$ÝÊ®±ðíÚ¾b4eÑçZÝUd¥«ÌøpÁu¡àµ}PGõÕîÖÒáyCêõv}Ø.
ÛuòIñiH×ÀßÊñõô}Ø®£Ûløªð[ÉÀç÷.)èÊóÒc?Ãæþk
-±)!+Í»+4¥Àwdh³ý!÷]ñít[Vu7°~òóiyÇ©ÀpáÅl|Ê2õ.êÑ ·xÐü¤¬Sï°¹ÒO^yÎ^TJÐÜ4:äox¢Wórl^wÚ/i
-**¤JôYõÎÂ2+x릺@ü
-Q`ãØëd*íPøPjFØ7uûÄSÙXGr«;JGÑð}Z{Ø3ñbóJ}¹ = N
)Ó?Þ3r»@ÈÛ°f×làv7V!b|ǵQéf,2g :KåÆDÙ±·M){WOñT¶yDMàU¢âé(î¡°{Ï俯Ë,ïöu]Kµyç¾{¢RTÄôAÞ8r£
-5D¸ýõÆæñüq>HSacW½NyYNÌÀ$èÚ§8ǤPl)
-³ã¦°±º·´þÍUÎ¥¹hK#öæ¬`"eJ~>"}5§î¸<iMzvC,ÑÅW1èÞ}uÚnÛ¬m$£tªáÄg°Ä½]veLùzDäÉú6õiiFK)oNJøá´*ÜRl*y w´Ûð´à)¡Jüw°
-0UÖ*Èa¹¥PÐòÆöâáGv¾¸Î_åÊE@ΦÞ÷7ß+Æù·]ýòü^Ezæà¹4°®Ä"Ð1t¡¦³5sê¡n£*®Aí|UB©Æ¾#ß\PTHGΣ*ÎuJ {´:K~Â@ZJÆåá³Àt驯î¦[ûJð¯³7Éñ+è¨íþ¹ÕËÐp²E³³(&Aâ}^)åÎ ÉQÃSJ!âȤNBnôÍúRå¶4Ì /êÂ
-³ Cõs;Ý%äR#)?Ñ»ìNîθ«S_ûŲÑâMöQ|QèÀË´O~Á¼:¹4hl±${&/Æ pu¤D{èé s4²|ò] ¦²½Ðèµùo6*
{ ¢õôc#e*:ºië÷¤¸àvtÝ:Ê1wÄr¦ËÔþò
-W¤ã@üxϬn¡-
-N¢Ä{§K ©À9p5a ¶ø?® 9þÇÁû¬ØJïºc¢Du#?è þP
-yìQÐïÀ¯wQÆDqfݳ²4 Ufu.¦xÑ^Å;9áâdµæçd§I¸í
-=y^|©D:LET¯@6ÓÊHr6ät]·Ôj*ã®<E¹f_óÄVfÿÆOV/Ô¡HC#åABèà^ß0¬g.0©àÂà*êEöL¥0ØWÿb§É½;ÁòâòÍt^7ÿÒ¬=õö.Ü£ïS¡v!wàvü±ª.rå§`(Ãx
-UGÕü²á§.Ʋ³.Ö¹ÙnËyql|'Scg¼)ª>M+v[¯8[æ=aÁ§ö
"Y&&õè´4¶J¶Ø¸Ú<:@_÷õ¢èê|7Òyàì! ¡ ÛÄÅRÅ$ø¼s
-iÔ~bHAýeSá-<²ïeK!g:8¾h2è'xÀ¢K©£¯½×_IL!T{!ÂÏÁ»w<YÂcäQ%w÷w̾¯Àsë½
íãuu5Sev¥ÜéµïgËwTòîôLñ°ÞèóqF~LB#8ûÊÓk2¥ÝùD¨Ü;¯ÒC¡Í¼àR@߶Êq0~*%ÈìpÅã&¥oÀô%'o¡u̺®lfõk.oÛrJÃsÃÐvZ¹"[ES²SË/Çq
iä¬ì8¸1É9ªÚ¤1æ[¹hÒW¹¯-Y³3ªaûmDiJ)ÞÌd[Ú3;x`O3¨j8ÓLÂE4ÞcuñÁn$qßàÎTéõSUE͵s
-Ú³qSK¸Ò±1ð'X
-~ûT
-~¹½%%òÿè_
<>:LýÃ'ïÏù%\SºÙ¬¬äí
-SH£ýôÉ
-ÓG«S
-Õ ½U¡ÆÖüQS$ø^®<Aß¿H+ÏîLf=<AäÂA©
-ª¯äd¦áÓ\¥É5´õÍÌ,¿-°²S ¦6ïFïÍU !ÄtRÚpüá|,2[lݦ4/*Q
-BÖºg}¸!údf²W+ÅaöïB÷ðOzìSY;kUõ9¾tgÎýõª,Dm
-$ÚWU³q¯'ÑwmØûêN1k`§<½ÿ¦Ä;Ѷ¨Æ£øÉÔãóóÎ@atë£~W$1½ù"¨"¸Í¤×ß±ò³íÞì2¸÷=ù¨F«gZÌÑåV¼¹SÍðb
Rà.m}¼îVoÊþ[BòÏ{°Û&î)swÈÒß)äÊD~ý?;+õÝç~«å&nýÒ'#ìçËZs³nËȼ·ûæ+±aÆG§ÀÔ2¨X§¯áòD£ÉG{Ø"heBUØ2TÑÓ&ø_nJöÐ"G§ßO%m8ìÊHÛн¥YTµXÉHóÜj}Hg©Z§,xËðÿÜzP3QLªa÷i`¯Î®£4dxÀ¨v0Ï4I¢.YËó:Yy´ «ÑÕpJïæé´éÎR1½yÿ
-fÅÁ¾^QäD êù{¨¿£á¶fIÞ,HÍX Øë´ä"`Ü׬°éJD;¥bµ¼íá[V8MÇpmçÙQU¥Z
-½ó
-¬tÍ%w<~Ñݲ1ºjI éÖBÊàøÏ=¹#ÕIêHF¤aeªAd/ ÷{ɱ5X_ß|$EêÇ°
fÜî·ÈA¾vÎ( ÓÿÜ`bÜã5kk{~þ ·»M&Ö¶=åa{þc\'9e8«?SÉ[×¾nÄì¯ßIês¼ïÇ ¶23.e÷å¦RLÕ/ý´Ö»µî~å$Hâ*í·Gݶ#ññc[îÒ*¬ç}C÷¼Â>p)¡ä¼÷u
-)Ë
-ÏfFÔÚì_µs7Û÷°ÒêO²@A×ÚºÒZú=&Söµ0'uº
×^
-FEzã½àû Cå®.ErÂ'¤Q>&ùé}¤GB^#`µðfm¿~Òi
-¤J|ÒÚ0`kñ>æÿúæÛS$²CBKdCÕK!©¶bqba2Ð þ»Õ³îx°Ì,j<¼ÊªÙ¶Ü4ùÊÃ%üênOÿÑCk¬?dU|ZIÔ3ihA%£
¨²<DÞ²AÆó\a¢
-1Ðú='uVo (R7` ¨YÿB«w`ãAée<4§Ïæ:OOÀ_cÕã¡v¾©·£ÕÁJ@,äéQÒ8àuëØ®>Vÿ±ªäk¶ÈgjÓ´^km;
-3ßÌ@éÆ@r[
§ ãÆ#äIA\ÐE¿BïöR¨ëAóÞÑç!>Lçðia fì?ê(Üÿ^4uõW£ÿ²ººQ°pOS÷ë¤æÑÀ¦F^há.V²ª>{+ÿ^H%9ä; ¹RÈó2ûÂV-_ÓCyÆËp¬îÙS³½ú=K#¥µÚÝV
-N)·ú¬>
-~*¯~·@*¶Ø(] JóÚx#²£ß-âÐîú,Ü@uC¹Côµ{:ü'Hi´Þ`Tè.ww¥¢¤yh,¤àfÛ«ÂâÑ£¿yí´¼X7Q?C±à©ãb×Ie·ØûàTôôÜßYÚà[ç[ÅèÿºErŤVUÖì
-dÌÊzÜo&ñïz r%æ ý. üÖK²4Ï/-`=agôÐn½SIn׫Ó%Héû½0×eeQ|ͨçâT¸G¶îyáÃÈÃ~ö«{~(â¥(+Ô¿£Iìá+´xbÃÏI3"cHÍô³,cÍÄ°¨¡*¤E#µjº°®SúªÙÍîÄójÄ1x\îÔjÌ»]g2[=ÔÀ¹Fé6WHq_ò·ÍU¯iÁê9p OQ+ÞnéÊîö ? «b ÊØfOA¶¢ðM§ìq¾á(èd14HèFC'ßÙ ²[J}Ö+»Ö;°¡P0úÌÃBi¾
-9±2lî_7\%T©±FoÍDWÊ©b¤ØST1êXÚvÌò[YËCoÔÑWÊlÍ=ú ©CN
-W¸°eÍs5Ò?ýÖûlèÕÇUCþ@OwV\Ì4:ãMÀè¹ÇÐK`
-L*«rø
£2ÔßÁ9vãïÍUzLµ)U£zÚ×ïh!:½MSeÎA¢g`ñM1jáñÑß5(átETbÕ9±.ÃF°WÜsù.Bä +-_óu{¥1.QsL¿÷Ä¥±VZ9 <
-©w¸ÈJbVÚ´³o;s;¡TÚNòró6رòÕi§cáõþ(÷ß·/X¦¹ ¾µK¼°b#zÂÌæ§t§EÊìTQÒøQ@þ© ÕÓW¦Ð1 at 5ÍýJɬ-÷¿dN;nv_@ î2ÏIò÷õ:;qÏmgråçÅt-I/tN îiÇæryùíÀL:ùÎÏÓö´ËnÎ~ªýÛÀH°*æX§´¦s¤ë9¬<¾Õ¤ÿÒËpªÔ¹dX÷¾)³ä;FV z²[Y3âöå
-5¢NÄÚÇ0Qæj|²©Ú6~(LönÜtwðyZ§|CGã_ÆÞÎ2ØêÍ#UÞòEÝ©8/ókkT! !{Ê"gR²!®_û͹pº8é¤è{Wm Ù§ :¸ãaM3zKå¶reXZ9èÖx ¾bç{Ò*îGg$6¬ë"Qe\¡ØÏÕF îP½jy%+:ë׳q(l på-sBÎý^\{òÖoiíÃËÙ»UÒÿeÝûU*é"Y
-kdü<¢"eøq÷ñkajñDv0Oï,Wdpçɺ¯Û¿Ý6O
ö¯2»V1áyudä}À^çóÂGß;S©úÏs#ËÓÈ3Cô(Jøß^Ênè8P¼j+:îü¬×Ch½«/Éù wªëþå8ľ³£þ6b ]öä64y·³¶Ó¡Sx½sµø;Ý% ëÝ~ª[ª/Å"ÀÃP6ÏyQÝ&:îSÁå{Õ|´kÎTÚo±¼ÚFíjv:@×5Xo¨tvÇí3`·záw
-SlÁÊí»<OÖXåB±ÒòD¥ (ðWí`¸û,hVú
-û»ÀU[æ;ÌFLõÄ<_÷íy±¼ZNU[Æ)g³~¯3ßhÍ-«eHÐòñ|ôÄÏÄì]þÙkª×+^zÍ׶*÷&ôäÌøci!A¿æ!IC)çM·åOGïUREIä±óN+k{$
qþ±t¯R)(3b¥é~|Îö<]`×"uL"YB« â^¼ÅÓõár¤\5«c`çï -Ì·&ÎÔ`zgáÈ`'O~»fg÷Þ¬° ÏDBIÔ¢/MEk; ÝLTO~jëè³Û÷Ö5h÷ûäê_(wÑÄm½½gðIzCÁÔ,yæRÿfÕÐÞj/T1³IÇM(#·ß36`Yá^?m¿¤l.¸°,RgÛîéø"âIÃÂû®n!1Ø7Ê
-Á}oOËMäÖÄ
-2sîp|B[ûyêK{ãWb:¸¦ÔúL×Øx´!Æ~Q®jE'Å!*wA¤µµÑtM×GêhïJðæ#"-6IzR9Ëæâú7u?4WtÐõÉE}H!<hÏmøMg¦oOÄAAVßà×BÅJ·&®IÄÞTãê:ð¸D9À«"
-» /-¥84PlÓ©¬¼°sÿif½ ÑIrÿ§kh¯ÓzzÅÀ;2S9ïëBëHDק¦ü1ÑÅ%ú7
-#ÞͲhMB/|£:QJä¾³§x®rbüóhíühãëHF"O *vd/b²5l¸Yê$á¿Õ×ÑO©kK°x(±¦¹½$B\Á'ÇYÎ^Àfß=Ççzéâ¹-ÕÄÆ3_ÐÊL0ÙOª¿|9[£]£
-ϲføYæÉS´K~¡¹|°i
-#QÞn>ãínÿDkñòOo¤ýüEf!TGÍvÝ1 ÇEÙes
-¢ }FYï{4
möúôCúwÎt9ýâÒ¥íÔ-\"AÌÔbEñUérrüYÂ/MMê¤×ÔÀQÁX®µ¢o 9ÜQ¾±Ú
-·
-¤àCuHknÄBk>/ÆSI,ÔV"Uw{ÙÚE¡l<WÛ^N¡×»_
v²ÖPEñB<_øSc
-HÀÓa8Â|kï<-&nÒ¹ ä#<Ú~
-ÿä Q£¾¤óuË·|yåå@ý5Uõ3Læüt
-4Ð"hX¶Xc¤û>ÏU?fÁ/yFËÞ¡ð¯ßÏÎÜmwÖüS¼Ì#þJmãlPp×z
-í`á\êRùr¢ÌÛH&õVîYªÏ?Û5 Úq¦ º×óÍ1f9ïºÃy¡é£ùÖêÏgAؼÎ>ÒÇB®k^y³zÅ!¢*fßæF9S%Ë{mpÁÔ<¨ÌÀi$Âh'ÁeCì{$us`4Ì®¸YÙ¸RtìYî-.ÕCÔC.ƪ³ì
t§ÿ@ïÄ{(
-cïäq}f÷Ö*òñgÑ>C?/nøÊU£Cc¼?ôÅR³¬æÆ5ñ/1\ÖïÜ,õ:ÁÊ1mßíÜpzÔ/W»ÓüózûlÙBd#¿ç&ÖÜnðú·ÀöÎiĘ̀É/Ú:Y£ÛÒ±M
{ìeÇÌ©¥åD9ER©>KmßÇ¡a¢è±?u
-;[æQD<Ýs
@øÀ«À
-Ý,õ¡ÑBé¹(×B÷ m?*²Û°^aù S?·sye 2Y·þí2_Óg¹øj+ÉUû¬Ývô&pn.ÄËùé²lâ#éýð s{k§ÛH@ò_qQ'
ÖbXûâ«}Ô
-SD÷q7±i[\l¾½½V£"MLÌE(Ê~/å=$ wÀÓ¬-Ô/¨ðèÑX?zÊCpoÊÓ0nP5GªñJ-sûawì
-Ýf`gí~º¬;;.å̸Gö*¢ \ð³ýÿ¿vnÜ9uÃ¥ê´2ãp§¿båÁÒÛ^ÔQG\_°\¹õýÔ³õYÊhv1\qØ©C[LO<Õ\#ã)Ý"ŲU¬ ôb
-®Dÿ4¡AV<Ý1ÝÖÛ zwÊÒðÿA0kYñJ®&G°Ê]t´x>É2JWð¬«ZØE$Ù:繩ûddÍ!#}©Z
-ñíþ)§´G¾_"|æ «MÕL bêôM\#!×T;«¦¨zw
-ÅawiCÉà¯Âu6ÈÁ["I×Lvý¢ýéóÈöUo
-rϳÌÊT¥"%Y,]ÞÐ×zj*#}ݱLC[ÐÞxJGÇÿZ½© ?ÄÎùâ/4½2^(ÝrP¦ÒdÆ`U]
-èGSPbf{ )érá/øü@kØ ¸Ð?*
-¼}ô=FÈeÕ×ò£*5bÏãR\htU¥Åî¼ËéO©û¤å\)>Üä-´/va£çûpgõÊU1¬¸ÊC9LÇPÎd
-7μÛt*·z"|
-
-aÊ:ºê{ËLàEÐ]ÃÞY7íî=2z|½¢Ó:]R¶L6yÆ-5Ù- q¹WûVÐAÉ´NÅļTEô´©Gë2°Í?yÐ{RVé(©
-A4PªÇ~à4éµn4¶ó¥¾Q³¢¦{`Ð:iýúO÷µÞñN®òVwj5ñ#y±=r±¬kÊ=/Rï-¹FÕüP¥$s¥1½±Ð¬«â꾦êbSÝ+ %<ûE }±Ùák z
-}ûnlæÿT
-/íl¿eÆiEfW` M4ÓõlI¿»rÈ\®çj«ÕÅzWµ}'kx©ðûKÞûS
-=×NC-s]¨ 9Yt>wEh±Xo¨sA«%öYè5þËl¤cÆ:NéX¹ÎÇ£)Fõ'úÏà
-ùå± )h1Ãlú`p´^Ú´ ßâUòTýGå¹
-¬Û¶÷óC8¿ô|fX¤àìv>àõ +òD*Î^Ò¡·ÃÖ¦¾.Xß
-peP'³7kÎNhµÎ%º?wEä? #3¢®_ÇÔ&Ù+V9¨ÛÛÉ7eã®G#ö¥:¢«»Vóv/8R&Z\jã 3ATýܾ³×ú¤J03ܲa}üd£ýéèÿcßð7§ÊuX¼ì¤®ZYR?ßÇÈO~©¼ó?ÃOÇ'¿,¦ðEÞ;
-.?ç £Kè¦ù¼®´@òNOùËäalpKå$p¿¦Î;CãUÌ'>Ã"é[ñ"eõ%Ë»Eæèا z¢Çç°ó7~²}ôïù÷_Ù3N0Ó\,«k.Êqãâ{!¤¸ð
cóTH{avÈU«
-×Æñ·NpÀÅ%.Ï
-zcÚx¬QéhQ÷,d8Æ:¹++
¯éZÐæfÙClSpeÖæ·ÅY¥uv2鿹·A©ÙNHdö]I8ÝÝëé·¿T ÑZtèðH6 ·w¡wº/î9°²ìYðTRn%ã[>¹g3Sôb »;4eöçR>éýÛÓ¦sçËÉe TúùÁômpVÄã
-¹ãë0SâŧàZk¨
-öbRT¹"ßtqÞÐÃy1âkµâ?¥ÿ:èNÅn8$MPûK¢M
ûà
åt§Tÿóܱ×ÀWR ymŹ;hÃ.ß4Kº|õ>¥ñVÓ-½R!v:h!aC'ydkR¹¢x¯IiüP¿9½áÒÅöè3$ã{®rcd2ZC
-ÓØõfO®Q|FhÍ18*®K´tôkúG´6-ÓÖë®ïæç2dä$ òÿÁd±3ù@`¹òdzâ¯OÿξBrFLR?ÀÎ#ݪ@e/Úú"©YTÒàm
-«KÅRÙdX8D\©ö¨D5âHôL<X0n&ßÉ·mÎ-þe
-rϳÈógô±eÁ¸"3Céü¡WE0_qFã{]ù+<½¦âË
éÀÛ-Óæ¬.ܲL©<»*áåñ¿7¾ø¿4Xªz
-\È·l¡õ¬³I³!]¹=¬Ì{4|£t³Èj{2»! ©r®G¬cÄaBü¸S
-ãþîÃô.ÓJ`&ji#©ÞÜI$ô>\«T¿Uì P;oCÀ>GTz1Á·úÈsËö%Y29¤vÝI Wú»by/~Çꮳ!~Rxö¾ÛÖáÉ%*>dé@hp(àÊÀCãKÀK¢T#ÔêÊí
-Do
--l¼ÁØ ñÌù«ºwÏ.&WµÄÇe9h¬y#èUP¼6ñDÊGlµ·p÷nûÝÅóL{·®ê¾Ö-Âö*ð #
-²*·Þ2I«´Jo8"wŽ6@?N ÅÊ7
Á
-TÁ¥A¶}Ræ9ÿZbÏZ¢`b¯a]
-~<ÏÞÎíÓÙÎõ´cj¾ÙÙ-µInåü·L»"8»O§
-6µ»ç NrM11?;L_+ýûéÊ(<¿)íBTú¯áËè¼9@`3|A,æhl³1õhë$xo<Ò¦áÙÔ&eñ
l"ÚÒ5'½õÜr»ÿËNÕשg¤EC?c2%¯n¹]DE»Ðz:¤ýÇis) M #©eåK¬Ê»XÍØt<7cø¾~˱¡;¡¬;
-ËÁÕ
-CïuùÁµB\ÿGÅ-æ e4⫨ITm
-Kp µi%Û9g
-t§¨
-ê»[).¨A$ôIJ/eOm
-s²æCüÈqôãº8
ݺZêpÒEª´EvÄ>Ü©«ç³51Þá3ÛbÊE¸,KE,¡_êþ
»?h¤6ùPcÜ@ÝÆñI(Ùå2HMÊw=;!GKEüz¦Õê
-{¦ûPFÄhub½]O¦Ça
-! >æü\áøÚâPhµöÚÑÜÃd<¿4eÔìî&ëaê
-[ÍeB×_ ¨ôè²dãuMû¹L×ØBðdUÿõÿ2j¢e7)¨øù êw=#=BI·)¡zþäÅ"T¬ØV°5åÇ%H½¼ýÐ3ë!vúͺ¾'í%H-¢fù æoÈÞí(ÖnLå¹ðÚïk¬zïWgX£ÒªQíG0V ühÊl£ºS[Fâ?IYãF¥wGÎ0a½?9U(ºprLÂx[
-wyS2U3µ>§â²GNíB:è
-7+>\©¾'M¶²3º»·ãð]Ť¿~ªúÔ©âÒñ÷ë³#&ÇÀ@áÅnh´ÌÔï¤.àªê_ÌÛÜÌÑë
-±ëHÒè1%g<_ñܲþg|îu]AÆ+zBõR³ÂNú¤N£»]~ñ9¿á¦/Øè8WWú U6-àYáù2¦ÉÈV,ÉÖüºp}®¡Ã¿=¶Û0ªuÊoðs
ÒÁûµãâ
òc³§"÷ÑWë«#¡"ÀmñRê
-
-ÁFÂ.g4½gí,Çë±ì¿t$$V"Oë|ÊÀÔîa]=¯ôêÐ: Ój<ÓÖ8!ï²±¥EÀ±îZç4¾É+àÏ8<°$Î
àm¤ì_OJ¤Ú ®ÎÛ»~%=
-ßÈ]¬U,ü!P
-ëoóÁ¾{´§iù×sÃqÐ@94KÛá×nsM¢4âê
-²¤zPºÍCì
-¯Ä!'Y[ùÓz!yY
-ÔsiTìÌçþFÊz%òGy+ F3;s·Ðkö'
-Xf"|¼èõH`Úëfïy¼øw=uàsÿ/»_0¤R¬ nÕ׿Õ#ãORÇÓJÃnV¢dæüá:È5 B¿-ÜjÉYQ²ßpi'¹ *lÓOýT¼íÝÒaP7~Çdó¿5QÆ$Ðþ£î$S
-ÓÓåÂï¥Æz$b-xv=¡¼Ïù_;2Õßg¬<5Uô^ë|
-·+8kLÅÇoý~²;âÊB½'K¤IüÎÇh8ÇëÈAÈþõïʶ)$&jVò~Í<[Úù«(1»-x²jôÁƺcP®c~ÂN2-LiCº7~Îõ Ü}65 ²Y8ªæ²?ºÐÈ|Å{Ƹ
-HR.k¤JÙ½Cmö¢èÕhcU@Ã`]iµXÊÍP8j at y. òÐËò«Êhú=ùRx5 ?;6¦åPjz.xp!v̤"*yÿ¨ªÒ¡oÏ6ÔTúÌúý8ÓíÝ®¤Ööã ,ú«vuΦ$èWcDÞ!K÷µ¹ì¯¥äzÍGEÞ³rmnè$âæÖ )ËËT¦qÊY{ÖÎ.Ù:;Ð]ßnt~Ô¶tÇs½Äîd#TÌ®ç£ò¶
-ÓÏþeÅ>@=˸ÌÅ;S|åÄý¢sÐ/²)\îÚû{¨&³A£34ÊòK>rÙû>ì\
§gm½pb'0=Lµõjm8CöÍêBÝõTp[õÓÕõËÛ`úÛ48kÝêºÐC²,°¬õý¢ã6Dã=ã¦ÜÒ<RfÇbFfRàu
-ñ=]HØuÊ_¶XÉûߢ»43F`ZÃx1¾]¤MàÓ"`·|èº\¼<¡Æ!<ÐyÈ1ΡvÞ¾6RikUïnrp*¿<Há»±¾Bö3úÌVµoaµ¿Ò}Ì8@/ATé12gINï{l,
,ô ë©ûQÕNGX_¥±QET¬îªx¾UÂJ!Õ:Y¹'6µ]GZâhêûàë6êý<BCÐ9¿âÈ¥Â5øv^$«C%õ¡ÎÍGfYßA+8×m]ZìKÀ÷ @÷¿ÁâÞF×
-k8Û<õæoíÇXtÇ£Ò«
UÍ$gB
ÁXïrÔC ·#9.?ÚR Qn`öív³¥l¡k¢wPAM{-Ìwl©o¸DÓÞ²_9·$9vñ^Ó_éL_N°ÎòºwoïPW)T*wZ÷ZQ#úx²Í|B*UÏ º2Õs7×LSyÞçÙî1
-+´x2+e{|dB¿ò¼¹Ç¾®F@GÍ3ÿÓÂ}næ;¨ÙçG$¤7M,N<'"»+ÆØa`$ § e¹)õ#ÙÁ57
-× <i|À@}²hòv6þ¬ð0 ø"(e6¡ÈȪâúRÔeIãk=
-ýûöQ'
-j Ë<2<p? òº·&Éédþ4
^Jïn¿½Éõu§CäXNðäRñê6¼nïFfà8hµCrM۸ı5¶³¸í¦'Åë|àú§}å×ý_PXñc¤ãÒ¯»C·Ù캤ҾtlÙ'T®g@n¦ALì·H³CIôd>3v;;nÈRí°1¹ÄW.Å'ŦöcMmJUhh=: vLxh^~C¥U© ÃÅÙÅ4*däç¶N²·¨?$Oæ_ñg ¡PK\µ{½s!(=ŲT-5í4ÿIS¯ÒÏØZptF9u¼¹z*Q×S«¼j¾ë«UÐ ·LW|.4t(e¦+Òrv£nÇá37×_þîRÅB9ÕJEáæ¤ ]¨âá·ë²,I+ØW]IÇl]¼Zºz5u$ÆQ
-ÜÛ;&[~<ÙD¥)^Îõ½ðÇo°{Ô,ÌwU°]¨5"Úî»ðæÕ?%¸`ãæͱûÐ9ÈHRó¨V__®"Õ: 'T~a¡Ùu
-wWb§§H¦<nÂ7î
-ìòÚ°ã=´v<·gsÌÐ-òyéɾ
-"(%t¿}¦kxe£ì<ÛÌoç½oKFu|$ðC³
-Ó)(
Ù%ÞOáç3¨±qTâ(§
-ì¼â©\79v¶pø¹ÛaZØaí
-ôw"äjSË,Ö
-µZÁmöV]é£Ð¦2¯¦Ú£í½ÜÅ2DnÚ²F¯/ëAu' 4×£jaUd|ÃLæþ¾¸¨ëéÃyb#ï]½Ê¯d lݪ¨PHW,Kï,`DvãAßó'öOû̺¾i@íyø:7ðZ&%®yAÔ[bÐP7º6Þ´G5ÈêÉ+t$½cú·tÔ
-¤¦Ïl!{$úK=eÈ}É×ådëZ¥2Êïȱî®V_-ñïûÔtRñØgg! a!ùÀ7
-?µªoçêól½^_¨Ç¥'°5øÐýè«ta±.ÙüBn&ÇÉ05 xûòPÊë¦Ë
-&<Awн°l ÅÙk±IK©²çìÀPIÎ>§J|FuÀøëRÅÌý
-YÃïrMÿÿ´ÞûZBo´ð?¿Ít°¦É@¶DºPzgÑÆbÐPfbhÏI¥BòIÖ2ä8Bm
ULrÎs§¿¶¥e¢l-¦¹²]t1fé.¼ö£,ôýFáv~A+;1Ók=Ö|ö
-I2öqÎÔãgÑs¾cf;ë"°G4ª%VÞ=ëÜö.`iUfT«ÑQãr";±_Å×~W;÷°Snî"ã®ô àN¹®ªs¦y£ñÝmV õåÖèÏ¡1Yª=iÔN±³Dè(ñ`®2ïÎæc4$8£HqªRrïvËÕ§É3
-9ÉzNh½ë_|¼^áä}0x99%¶
-×íû06ïó6¤fÒ</
-%FtmùÇË
-!ù×c®°YO½8-`ïÀ|BìO0¡[gÔ
9<áÏà{vÞÞõ¥3ßáõZåeõ§øâ5ÍÆ°nÏËzaÍÈ®>U-Ò ëS
-l÷ëêbÇ){}
-9 at 7VúÊìÚ·¨ÙËQ+, ÁØÏ*±@*
-ê=7ÒtÖ/YUêÐUÒ]h8%nÁAÚñË**>õÉIánh´3åß@ð
-ývbç1~('(i®çÕ[\{®].ASŵؤ C*ÝëÂûY¥Ô¿$Â,(³nëìÙVbznÅ]&½O[Ùàèz+</4]V¡¼Hn±FõÍ0ZZÏ<B );·,¿N³ßVaµxFd
-:ÕÑj P^Û-(jÔ¤;ûÎhïoýÌ#üÒ ß^ªÃÖ
¤9>úõÏIóçʪâWÑn)p+d¤äÍå)tmìÊ묫dn¹í©ÉëC]5$¦þ³lЮ©½ÊæàSkµvá5]$a@^ÙHbÜÓÈe_ö1=¾BÔ±ôA+TÜ¥º{¢°£ÃVécbhº+ÞO
-}±ïÙݤÃjt#Î
ìñ8g3Ãÿâ`ÆzÈÝ)+¬Ìuô?¹27Ã
??EEË2>é¤ÈRíu
òsíQjYWJÍ\Ó¦5èå¾×Ú4 ï|d¹8_³Ê&P«bÛPñ\Û0ª°¢ìy;±FZÌíý%ó£VòËõôÓ40æ_ô üò
-XQcURb¨Ï.jqq!f¹ëöj¨]ëcKªkÙ¬K¸ê1¼=
-=§jBìèyâ¶ø<)%¨j}ªe
оxÙ$в¾VwÆä«3ôµ®+Äf1L*úÂáúÛwMSÌcµ|ß÷! ¸dç'Û·¤ÿ§+(Ö¹Í)èêørÈ}3×<
-ø{¶;Ê<'piÁ*N´eT&_ñº)E`û¹^Xüüæ¸[¢'<çP©íÓáÏ[ÏÖZ¯Þ´$ÆcMüÏøû°aU_"¢¸Ò¬²Z·ñ¦¡3ç<ÌýùÞ.©2RТmxÍ;ïqZôÛÊKÜXõ
ŧ|Ê_o[ ]lî§ÁÔ)+è3dõ-Û_9༲Ôæ¬ì«
-LÙñ9ZrÀäNõÔØx©¾ï÷ï
I`¾E28Ë(+ sUxHª+_¤·)*-è
-qÌGvôJ|ý
-Uwk&g:6rqâ>-Þ2üNUÞ^Ú÷Ö9ÒíaܧV}¡ÛNk·rÔúký"×?óÓäŽ6/÷ñ¼>{|#*ëA²wP}Ø~¢ÈcZØË«ufU%û·ÇoHÁ_EÔ0u©òJãl²§8º²PðAu"^þ£¶r<êç:лm
-U±ZR_;MPòdAóH7¦ï%µ?¡ÿsáIhLò߶È\êþfqØaGVè#¾ÔCpðòåá>ô,Z迹ÔÄ/õºÝkWÿ$&ZìyWKAÑéʯ4&çhwÄh¯exN[ÔpÍùì+Xûëq©Ý3ûSIú±I^m8¯x©³èCãë¹;æQ&ÃNÖôo&¹¾ °»r8Ê&BñÖ£
-J§PÖ{>Êñö·=íñ¼Ë-;ÿ$ZjÀÁ
-7¦I+a·s·ÀèCâgÇÔ×lj
-ð?fv*§(Ê«
-H6"*æçíÍÉôèñ
-\j<F¿©a$NrvwÝæ[ø
©%"ê8Ü^õÜÿ_üÛóâZC=Jt>~iyÎÙKµ²wÕâ#ú«¦å'í>º¿ït×£FÚFOèÍôÉ:C¯·qRVdeé^.A©^b&8§ÎÓB=íRB{cP¹-©äòo £Ýb{ØÌïg=KcuÞîÐ
-mܲ®°/á~B.á,4YpѱIëÁë°,3C9áúxöëIGOZ·¾«³>±Ó q¨¾®:EfÌswáâW¯í
-äá!`ü«\ëxH®I$1j EÓeßrx¼¼«2}&KGVoÖLö˳upU
-0^|U:ô`Õß°~uùÖÕý /:oýWJyßíw*®¶ùêv#Ú©ï®$#þ×M:º8Á°«ÖÌ;É)ª;R8ß:¹ËÔO3\Î4l;¢5¡ü2l×zådÍa
Ô0¯é'LÁ@s{¹ÅÜ{Ýôz¬¶mþÄ=¿Ôá.FÃè5à{P6È&
-±3³3©U0u WwëÉ;mYÅwCa%
-ñÚQj*è×Ày
-º ôaîLDXtÕ5˦§Ê7ÐNYÆãU«?)WúG[}Ïαþ£±PLùü§Û¶<QM.ZÀ
-û¥ÏdI Ñú6bóeLÞáÛóbÍvöiª
ªzp/ ä1L¬Éd$áë%¥½¥ù¢yÏ´ñZ-ä²R&vMÔdÏ/hz¡k!2ÄkÜXô!?pÁ±Äþ»*xhô1ÿéÏÏ$hDj»]ÚØMÆmNF%^zp²ìª§ís1ìèaá-|Q¨Ç3%6ö{d)
-
-p6w"Z´ÚÈÏ=÷ª£Í.¸\þKÀ¡I@ÖP_ÞâüþçE FMXý`Wf¦"
-ÜXý¦ÂC4t¤7{Cò£ó1Ù7
Ä´ÎlÝÖÄÆj=³lcïEíã%QVÜdßx<ÜF¸.nCçÅ
-Я4õpo{øòÀÈ)9÷±+ÑÇÿX(à%ø¹H5EtÉb1gE$Î÷{gO$þZ¤]ÔTsÖ¼¬bV54Ï0öÉÊøüoUº îàîÒ¿<úGÆuz4âøâSè_(l0NüóIõÛår²jsjòõDÎ ù¹ïòù%-Ð?»ü&»Xu»¥p¹Çܾ
-XwâUf "nätoù5ÆB-å-Y{Ö`æx#ß+SgpxÕ74'x@Bó-õy²;øâ(rÏ^äO«¥akܤ¨ìv¹C~»Äà/GÃÓE>Zdߧy-
4Nx
¼¸
-&ÇhIÓ61ñ¬òõÅÀñÕS`K¼nÌ3ç)ãøAbL"0~\&hª:ÏK´|Ë¥^^Ý~!Uø¨"M¨à iy¾et=kÙÆó²ÍÁÈ+&ùßÆ£[.´w\0ëÆ2&¢UºÝ.ª EYÅ~
2h×<Áî:Ï&,n£µ¨rÉfVCù)YóU×
-óZ5e$3]J|°Ú`¢±ôñ*Åò'A¤ó÷U
-¤Q[¡ö?îbd¶ÂÈ°&-T¡M`èÁ_
-å_©bÞXIo3j§uÐïºÙ
-PÈMlm!#l%ô¶2î¿)Aú¡û*;õ:ðY×ï÷b_3K>=ñòêaë*¤NÏÆö4ó«ýÈCkúTã.WPP쾿ÜÔw¤Àcë
-Ç´µWºÆù¥Ï
-1q½ìSiˬfVaý7STàì*vº¢c_66î3Ùú=wGft¯ÁBZ%tz´?¤Å@xÓklÃ?InžµÀ]~#nq?ûÕQí´Ë7*ís
-àc )\Àfõ³qgcnÇâ¯'Ì|´ôÕ-¼$åêÝXùhAµ|úB³#V±Å5
ѺCóÜk1EPýÑòXß¹Í8ØjxOJ)õAò´Ì4Ø;oʹYÛ
Yº y(Ri5T=l0ícPâcÓ*=W{²!¯¹/ª&'ñ%øJirïW*½ZÁr
Í=ÚW¦õne¼Ø°Xõ׫ÖAÎ?¶üæmä
-Ádn¤ê>âüÁA²Êû>ôªå"{¹ 8Ox@~/·í¸k¥¥fLáí`¸"«éâui||FýÉym,^6LZ5Èάm®¢^Lùúµ2e¡¡B*Üð²qÖØ_Ià=;ÐzÀGKÆÔÌ"ýõÿØ
-Cw?Ò$`z)2yõ¸sqüvºRÊÆb÷yFû`¹}N_³¤«¢dRØݨÉî>pçÓ/]ØË2ôQõÃÖ^éB%-1}vûë¡Ó¹!bÈdõQ¦x,ñ
-½§ù¯>nàöGܦp&ß4°V»ìêaÏ"ª,}6L@ù°¦¥lÖKo'îÚ7%=Paó¡+$ÏèKZÐ0ºHò«ßø²9átJöº¡÷¢+ìÀ[E7áÍb¢ójÍfd\,¾sÆ¿è ¤¼ûáeRÙæ¥òmçò9JÛÉT¸×UÔÏéÀÚÊ®¾lãj@\?a6R©Ç|"Kl¿°K¢=âãÊÅÇ 9Vrq
-QâPe)úÂ\FÝýy·~Ø9àû9aËÖ£8sÚ¨54_õWT~ßÒ±ÒFÞ%[ÆgPDØÛrÒà|æò ¨8ù¢aòÓвÁ9µÈ¯M¾5Ë,Èz'Øظ#![&ý7ð~¾¨èÛl
-3O3éç^Ã÷ÉW4ÉG?<`AOEMøÎ-1ù
-õUÔ¡¥Æm~Þ>{ye#ì¶Ì2_E *Ý«µR>¶Ifúw;¿pÏÅ´Ú
-WZÆ[
- ¾,A_ã[߶µ¦:Iüì·&´Öq[Wí¬UýWAQ+øåûÅ.î[ä@ûe£ä{)C[3/=?Cl<¯Pªäoõáè ¦Ã?
-d
*ÈLDàª`5w¹x?aMôDM?
íçUÞLp¯ÙFòyi*,Y´@¤±N~oÃYûa $<&®åhÈ3¹t±T#°¥¨yøLÊr;@£æáF5==äñÙFâä/ ¬@»Ý7ÜadÚ¢ùÈ£]¨©¥b¢õA|9µ]fÄ5ÓÈ^Az$¿É/UcE?×»^2]ÃÐN¡xÉ7Â{ÃÞ6öÅ÷ý-©Âr9GLñ+ºÏî³Éö@ëZé*ð/ÿLÔª&Êò1rÎÚÒ
e¡
-ú, º^Ï"uK]Ý!W4á¦2<DY§ïêY¸3\ê½Æ¬b½â
-JCëÓ¹·U1JAl^T[¸ï wTæzf®3¿ÎSy"öMGèÚiæ %9ø%:í6Åý;Vé(¨~±dïî9ü¤
- H
½ú´{;Ð&k ¤JéQú5 0ÒÑsx@|ä×Ü8p £Pn5¡CdÂïTbøªWé úÃ7ëu¥[J8´ÖêéíÌÞa1;ª^vOôn%\0ê[I||c{gÑ8'jfîEÚRU1VgJ¦?÷½÷t¶åp0-ÏKôlßl\X>ÞxÖÅh÷
-áÒÓ$&ò
-PµíuêªlAKxH;#<ó("pãý¯7|É#v#Þ9HÖ Ãûx~Ö cævBGBÓ[0¸g¦`m5ØNý7ó¢ô%\PÐÏÓ1L)]
-ݽ±öGo2`Ôi/`t/ðÿ
ÓRÜüÒ>ñØ\·ÕMgúÈÙâªkäuÑD÷eN¤?cgÝõ>ív¼,â#ìÝTÅÔ®Ï$Ò¸ÞÙ]Ù8ëÇæDȤfÔÍíß
-àSPà¿áFÉâµ2A>ÃN
- J¢ßdXehÿ¾¤Ùª>
-F#õS]¡ ey©äª&ÆssURªÖßs6èfÃÑ ¨Y0 ½NHr Qݽ[a¾0%nãÿübLk¶ôÏ3F^|K<GТ®®x»2 ÁOzYZ7];ÌàÆï»\`ç°ñ9©lÑ&y>£wÿÖ%¢$)¯ôÃÓ«@bãài~&A+ vêxd÷½Bª77hO¾!Ë%ZX·íM|
-¦ÎipX%oK÷/3váíéÌõC^5%Hb&ÍÂKÑod©Î=43®UãÚòj64ÛøùÏ_{8M̦ó,}.EÚý&}kF
rQ¼#
-Ûö¿~ô/BÆXãëm¤
-z§²nÖêþøJûØt7|[¢¾ð¥t*20~+L¾{Ò2a"S®ÝG$:º¾ÙriþÏ®k«aÃ>S{ ÜHs´/_p×$)ªgPQÌ¢?¸!f!Ït¿¤7àËÜϺd+b w¬¢N9C¯¬-¼ãX8>ÆBKP³®Îxz×wß÷
:éç:ÚqD{<ÿÄë[uQ]zN-ä CaÞöf=eÒæóµgâ+u3´§áÉiõûPûÒï(_»¬øòS »WÁ¶}-þÂ.¹±ÎD$5?¿¥Þ9ÕW¿@ø¾§;4¶özöÃýÒû¯ÜØh6ï"Âîú.Ð\¶D!Ø=ÉT®y¦]¼¼\ ñø`±+Ø¿è®opXû
íÈ>óÇî9WIr0Í5ÿð üàï
-þé¦sÔíáäqÐZMãÞºé¥ýJKOé§è»xNlgIZÖÌ!
-³ÇÔc·ôd¦ûín=H·«cÜâ!ª|ié<1êÄ
-q2¶gØ%÷]}ã&²Óá¹ôw6aË&!¯êcÙâS~ªÐkmèf¢àç´¸I1
-BO>ù¨ìúrhiÜvÇ߬ æ
-ôYuW
-³¢~ùzõKj¹»ÞûIï>P+ÄËE"ªýò4~¤§=bغU6Vì¬;ØådÌ9^Êkx~Ó´q~¡T½÷Ã_ùCBà|rR´
- ÓlJÆç&vaÄvL¬Örþ"¹ò^wfÚ<ú»¡zHæÉ믤~äºIÔKð^
-@´1¾º[¶_~°Ù¨Xõ"P(ýn_Î?â*IæTÙÒæÓ'eÑT?峫@»[%Ñs(w{ 1º)dypÿÓJ4ì²ãô¯cÒç¹²èÕÌR+aUxò'KÁ¤¹9Añ˨ëìUgXI.ç9],ߥÛù̼óÙ£u·mÎbv»Q¾Wz×2XäáçM/a}×tÄ¡,ë/ê*Wk>tõ|9ÜS#RÆ&îMíU îÓÀ9¶¾`UBtŦÔE z,ø6ÐÒú¤¦ÿ~<¥&*[ev?ZºLLÐAfk á?rM`R®4¸ñt/ÆàëYUù#ºï32ÂÜ·bzûõUJ¨*@HØt¶µÒ oW'ïu½Uoý©úàkyY?}ÞX£&xͱ¯LÔ3Ñ9Èd±NÃ{9.¶ñ ÀÕͲwl3A
-!R`N ÃÃLUM[Å(í¸(bíLRýUNtÇ°Pö5aªìü>
-ZÜTLlþ?jþ
-%qHNaå
-¶ÿNñ°âÛ÷/OVCû0äÅôÊÇoÿÍ
-;E<ã`EïÈqewÝ>«¨
-ÁÇ0ZðÍ×ȵ% ÷kWïÃêì%ÙîjªjkéÓ=}Óî= ðFϱ)óWú·Lµ%ÔQªÐ¼À0XQÃ7 at K{AÔ³ó³
[Õ»»¯¥tÈÏ`¡è¦nºV#ÇJkÿ«7ó¹_³¥
-VK=±¥äqXg|MÚ~~ÓHSßÐ2ÒÌdÑ*,À|.W󳡻mì+²ë
-$PJ¶Rmã
-¼ÈHûNpkúØ¡oNMûN¬§þï¡8Zo
-Ópp3ÁÒ¡
-¶ #ukÞ§tÇß/×Z`û3D>EÂrî}¾äÕ¤`à-,H§áI>+$à>MA?®þ¨}ö¾%ÈÞ¹vÄu
-º9ôîwÛW¹ïqræÞN}Û¼Sýäp÷Ù)Bðj8ÎÞ0ÁÚÿxÕÃ5"x?/í.ër{ë]ð*t@ËÁ4ö!bäõâGÌñ<s£à3\³*|TþÍóËSÝ Xk¦¿ïc:/Þ
-3p:þE.EУ$Y+·
-%-að{I1GjknóÆ»dÒ;OWãýµëÓQ¿©äÿÎen÷DyYòüî;h?7{X@÷D®Ü;7Å3úâÁÖܤà1±RDÄúõNÔ®»B1@±»#ÞÊüMsd¼âckì%%SOúCFIBvté«@äؾ`kUbo»æ´5`7µkþ.aö:DÉÎKvnyQô¨OYË2o¹ÐúS£Ñ½g¾ÌÈüD0Ó|Ê:°]iE£8
-óÔ
-^OÀäÆÛØ6ܼT² ý[lÆ<ëtb¼;ÍEÓ$]À·âû8r ôh´uÒQ~CÎ
-LZÅ/®©ÑYÁ40¢Rüi[ytW >4`^
NÁ9¬º`øÑ'`/ÔÃ>ÌÔø´\(É[Ö´ÊX*ÓXpëËh29+"}Â&¶ A(zôýOSàgY&OßS'w©ß
-®êe@¦Â¥ç;
W½ÑLÌÆ¿?Ã~Ø&×Ç|£Oò\L~*bÉôÒꨬgËÁ>olÉ Ø+³Ï·H+#é¯R0ò Î-¤
-'Ú Ü¶ÈBÔÞâÿÐ]vD¾ ÎsãlC¦Ó83±û¯ë©gâso?¶gý~5Zy{Î`*S¤$EÈcqx].}2Oi>ÈlYDÛ<lBSrpR±`
Ue9
-)ø.Èßý궾n]:nÅ:åm+'3+Nù¦Ò-Qý÷±\
ûpAf2iæefïPElÝàЪÝCyЪ\Uþ¾´g at K£û¥ì»UV×¾ºíXìê«ûn
-Æ=*|#sÛ8bªµ5ïE+ТÝq
ß/XòñäÔ<!ò¸j7¿ÿø¯IÂöRJ3fËÇÄ^Ù&ÙBµÁ×95¸ÍèmÖ:
-24p!ßkIÎú½»÷C/xkÂñ»Á¶³¨Oó@`ɶà3EÝïJKp9¾þÔýR£nl¤üÅâ;ªhªÞ`ëå-bAµÊ¯3Æè,Cc̤u&
ñdYÕj,»qü)ímò¿÷qc±$Ë!M5jT¸päbtìçÆÎËÆ°§tK$09T1çR¦¦ ɼq}fÐ,áØõßY$Ó{S¿7ïÁGâ]lBîn
-ìÌæx¥0ðraµ¨&>éªLGÁDáw; GR?0º$uùJËØppMÝÂÄ©
-Z¿r<ML®½XTËèMùþáêQ½Ê&Ú]ËÑ©pÁÝ`âIØfsýÝJÖ.öj#iÆè'¨¨ÚóP]èEpéi¬¹X]sεNÛa§ÚÒ6Ò
6«O{8îùb}_SÑÁÁ$ð
-ÿaÈ°Å]SU¸ÈÄp6ÔCèwN~â+
cao>êßpnâü×mbâgwÌ£!Ïö[ÅAë{Õdª)Ç»·b¿*£w_u éü³ÝòJ´áìJ~e{t
-Í»2`qtV²ÛÕ÷Ò KÞnf¬'?(S:¯ÌÊåNcx!RRøÿ®7}Ô÷üw±.iS`ÍÌÔÙØë?Í~¬øÖ±I7éxFìæÁ깬"£ºþU.ˬföI¦S#qö@ÿæÄ}%A !dPjPÉWèåøgSÈþ¥Ä7ÎÃÖâÖZ¶ÀV¥ª³xn÷w®$)¾ÝOå`ûÚlKT»þ?²)ý"ÛÀªPÒTµH
-©thF0ìïö9súìký¦K«"n$gïÀ$;ð9·îö'EúÀÆ%Ìô|Tõ%µ/?ÀóϾf«ºD[¨FiÑâku.Ô@EcdÓ[ÌwºøÖ®x^¦Ï[üæTµ
©,pË4;+Ó{Ø=ÔÎpå C'YAýôØvAkÜá_2WÚ|6ÐÍ°½áÝ0æQ½Öe×
-3SÈè©Á%¯«P¤µª¼ïê6¿Bbpÿ®®¢ø¾ßóP9È2(ã°§±Î÷NÒ®È;b½Æ%n±Åûc,Ä÷[ÚpÁÚÜ? ±ÂInÛpK£GöK¡;>(ìDHfDùd`í»ôk6åC[¦¦) »CnnfeKÆx»·¿µøÄtnöm×àµ-ß\ÒtÄ0½q«4N¢
·xw(R.CÒÛÏWÏ\jÛή ¿¹
-ÞL~sg¯ÿDzôe¨©6ùoqZ`úÞµå£ ¬Æ¦Htxéðz#Þ7¯¥Ï¿C[Ö]O]þæè$:ñÔaiÈQûÚ3Îø.ÃH¡Ðx¹nz{E â{Ú?1`Ñiؤ"Y(Þ0BÏÈ s #óÕWæ@GÑÏ]hà÷J^\K·_à®ËªÅv[¢´æíÔ·´M²ã&
-²Ô>»ÈJ!Q\Ô« iÀSãÌ£fM×àêeLAU¸Q?û
ü-¡¹ðÜþ2¥²!ëý
Ì;ÃóÔ>@À±ATö¹äÝp÷A±7êY4¾nAþÿDÆà #6KÁÒN¹
-g4É5õÓ¾äòÚ`-ýF2Ðdl.Ôj¦c©Y«[LÖñ¼È$»îÅÛ@z`ÏÓÖÏdÄ_ÁÔQ_ £úÈ@
-àíô¿S¾é¹ûÕ*@4Ã^¸ÊS¸Ð:TR}1}ð?ïì¼#ç³'ÈYOÒ ; ¡¦¯|¦U+á|
j{.Xó3ÎKKæ¥ôþzã~4öú¾Îéý"·s¨;ú@GAÂ_]x4þ®ÿvÀ1)ïÎ6Ê×¾ºÜÚ̼¦ôdÐc/Â×gÃÔÉ¿èp`åBjòü9*{½E;Ó=Q¡8¶b7z8;|ñö.ûP¡7Ëåó`/Z=e4ÝØ,PåCÏÅÔ½G;0¤À-¥R?ø
8R(a}ëKG°q¨¬Ìz±(ºyeÓÈOò>w%³º±
-d^, ¤s%wî¸ðéÁI¬¡ù¬ã¥Báã'ÄøÕ£ÀÀ
-*Ío+ê0 Gî9éºÃÆí>:ÍÓõ#5cU°b0z ãeA!t¿° ÌÄo ªó ²é¾ëKЮKÖpÙ2ÿ²ï×µîBT~+ºN¿#[
×|¥¯þôÝ+ÿÖÊÕ÷«SOsÆØ(Ãj÷ï/#
Wã¡äù*CLÁÞÅaÓÜ
-ƹ$a¸¯¦â¾iHÊ©
-ÑÄzÍÔaT8ÐZ ¡FAÿ7ãky²PÓ/HÊYB;j#ïºÉÁ<BƲ.£,¥ÄúÕ§eÿÜÐ \ð0·HF5Qj¥@|¬yLuÛAò1h¨C¸°\}«=v7eÙ+y¯·Æî½D-÷.
-¿§§,eç#Àp`kÙ½ºdÀ»_
-0.*<¤ÜáÁa¢\9QÓÿb´J7v-è/¶Äºx¢Ou
-YÁ×Ï:ô±¬!ü·È®ñ|f0
¢VØäT®2ø ®µ¦$Dbö3Eº[àUoÚÎ>D= 4#97[< f»WbyPg¥ç¾º¨68Zí~P4Æ®ÎËOK±þGB>F'Në7D{ÊC¹Ï´¡jõ±âö'D/ï!W,µR ÞbWÏv¸K·ûÌѲ`SÙ¿|ÏM½(äüÓæ¤Nõ¿ëO
-,Ñ7«Ñ¹O ÿ¯Ï$µæÌd< ³¶ýAÜ-®H8 8ÙüTRhd?ÛʸöçFÔ/!Q\<RÀÒ4ß²5U½¦{²Á y+õ*PNVl¹±þï1~Ê>ÑÉãLdy!\Ó2Õþ¨@iÚF·)2²þt@¤#+ÛMH¦YTKW-zļwzk#Oàu§t«¬o`}JÓ=yVú[É^9TQ©?8/äϼ
êºÉÆUZu
-\Ðò´z¯h&[ zõ]Ë_Ã9h8>Ä^qVëáõr1é¯<·ºIP
-ë¬>
Ä£L*sÞjÔÿþ^ö»ð¬~åë¸ÍZ$×æU·î¾;¥¿È
Û»r¹äë:Jy&~9ñíËy´
-B{{f÷j\l¨0¢1¹ÞôH·I´]7¢üÔ¯2ER ¨'U\qåèÇ~=d6X#¾¢$FäG«*ÄI¸¾_ìRéFKÕçëæß_¥@3y%# Zkcá!°Áa'r"ϲ4ÇÔ
-§JUëyºÚmü´`ܤPsM*ßÚÝÕP§
-¤2ë¾=uò±ÏÓRlðÞêC¨¬/´Ðd0çQ}·ù¢kÊ)+©G"êeÞ6¯2¸Þ4Ã)Ï´¿êz<`ÙÄ$ëb8ðÅL¬Ç¥³ùèPÌI]·Àv-}³YàÏñÀ04j-ÐÌÑóHô74/eúcbÑ¿åBýÏg"¾~ì£é»,µ+×ñãEpÎO^v`}tÍqÖÿÏ1zÉ÷\>à¾t»ÿ71á\íEbØA÷Hßøã4sÈ´æÂãì*=VýqÜÃÕ®u
-ÈÁ¥!*U>ô`]aÑêúgE>.м@Öô×N:ÂPEÙ;BÆbÓ=²\#{YfÛÐ
-ÄF1¢§ÊöfËðsd°3¨#µìÞEön0îQr#àù#¬5ÿüãò*±$&*h¶ÏÔÕÒ_§J ©´-ý ãÕ£si¯goeº±3tbÈSÉ|Ã
-ÍÊ°D£þE¡ÉÊ]rÔ
~çEÆUÐÕvy:@o?×·ëNw ñ ;ny3ÅÝÊkZYí¶2÷\Ôéjm9ò±Þç~|tA¿Á>Èû!t,ÉÜ÷«[e¤îH;u¾ÅÆä6Ý"1¤6n=oX=L¶t¹\õGÿ¯6&
-ÄDæBEsNî!f,êϵÚ
-Ão½y±ÙÌìxB£DHôð¶LÕñDXÛ§[Gs>ªý? £ìò¶NA^à\vâ&:ÚáÔòQWKßù%å§õzêXøW|Ú9Nn\Ú¹@\ô¿òÖ
-Hw -¾ø©-·|Õo?´mçæç.#Ï´+Í´kÆP-ülÖMìð;(N| fàÖ²c#ÃÏc£Ñ)þrÂÇÉm3¤S÷Óä¬w8QCBÚ²TÒE{]"do $UhÄKèB#s}Ù50;ÆõÊöµkòÉ0ÝÛRy9±Òö6rbnÖ¹>
-÷Ë!
-Å7'£vÈ5ÓuÈæpýbßÁÐMáw±Éa½sõ×è_·&¿ß'
X
ï¬$c´ÅÉNÒ}ë;ßáÄ,yÂMñÇ1EgbøÑXºM¥ìì»WoɦÐÓ% E=ÿ§¼P#jÂHèh\õyH£jªØßÉ
#é¤~~g$çRø#eÓ¦h²¸ª3Ã
´;IíFXIFÙnÅx½>é§ÔSQ6ËMÞBÐðî1ç#£C ZhЩ¸~Ö&°ïGáýÉ¥LÙÙ@fï~múEìÚÏJ"«1%b=ádp_VØ64WDãÓ×wü|`Väá¿Øy¢xOp ôÄY+Ü¿ý ]oþ¼¡²BáD4zhDø£.µ4©_¡s01½Ò¢xìeô®ë
-tfI sÔ}Фß5ìwÀ×*I¬®øøPkèÁ$£û.ÏòÍ=x_¬¨EKÐqº8s¦&$×îG£¸èE*a¾Ù¾Á°d9µÚ4Í}8m#ÇcDS5¦³R1NпµIåG¿VRöüàk(n˦Ü*ó8Çîꤼ9e6$5Ùú hT¦æ-à^gX¸s`;u¬Ôóä? àù÷V³g±7wärsH Èm¿Æ$ÁÚÕe;§
-ñÇGeLP,âæFàlX³lh±nÉ[BÉÌé#@DBi£¢?Æv ¸écQ´,{[EF³ñºùeì*Æè²&©ùO&WÁh¥Ô?ÜÇ@³öSÒ¨°%g½
-éB ôÞè7yxÕVÄÛíÃ,Òÿ·¡B\Wå?C!ÀJôÑÀ`ÿ¨×Sw§ÃvZ^¦¬¡Ï°"©-U¬êò£cIÑ9£ÔCzsýSlÙ\B5]m ËnªoYÈmCÓº!~PjdF4¨R¦6/AÍY¸r¬öòTÜ2Q++9/4ܯÇæÔ©YíÉ7B¥sÇ
-/Güÿ°8Äe@óyÁ&Zp´û<ªIHAæ´bh¹fÎ!Ð|Þöá9'v£ûoOíåî?Á÷I²ZSÌõ¬V2VA×¾
38/@`ù ±ëYþ2i1à ;¬°ÝRxXXiü¤kõ1QLôy/Ãû$<«x
-T:ô«ÔØÐäáF0ÊÈP(¥Üit'óPÛÍÑ
-êymA÷r©Ø5Æ5!N¾r[0}Ü>TJû!Goó{Lä*âúénüô*¹ý7óÖLµ.ÜÀycë`EÄ>¡:IA¶MÙ1~B*£@/TwAW¤irÇ+ÕÏ[·rJ&F¡QtNM"ã³6æ¿¡Aí~à8ÿèa&´ÏRéÈL¬®öð"Åi¼ÑÏÛÖøÓÊUøÈ¢ìhüâpGYnâÅdÆ̼[kMI_1w#1¤1I'tøgø캤ڤà!ûx³èéÁ GÃâ·¬>HûÌÞAZ/ésT³25¾ú2 [Àä
-æ>0>&¡ÂéðÜÀý¿Ò×1þÔuöÍ
+(}*ú_<æ áCí õNLöñTݸ
-@p´n.ÒOÀÊJ^¼ÂK2õÇÇ<øØB7pµav®ùó ´n\JÙ
-ÂaßoÒÒá$H'N¢ÂDóú\£d`¤"øßlUh¯x3%f;w³ú¿h5lGj%D´ÈfÿØ0ÚÕ_söÜüÅ×ÿV[W4f× FS_
-,¢ÏG,5>w/äm©ÚÓÊ·§å´Z¼5.Ö"ªVeYåáD½'=¹Yr~ë1MYß
-·»=ÑÒg¾úKÀ«êYS·èânçf'q®W˶¹j6ôfTNn·y¦°Îÿý³ÍÏa\ªMg!d°aWúÀZlûùb{¨U5ĵí?=YûÀ(q5!ðÌ«òl;öÛÙv4*òÙ®¿Õ«9ÍS½Ð}ÊOÇÛ¶ýCòçæTf|eòYlT÷ÚhÃj®¼5ú`Eê¥T
-K
-~ú±¾Út¡¤l$TzÊGÏZâäÙoÄDò2A´üu:ÞíËåÕÕ,G±cª;9?z`ªúN:Éõ7|upgM()ÉD³?læUhpÉ î^é5F,Q·¿¢Á´^âò\Òöçï;(³»xqH8++^T/ÓêêbQ½¬¸ûÁì Ä®È/l*÷µtyEew¼è0¬¢klÚÔíêÿ^5 ãé}lçù/µ¼_O$CÅ\8ÍUìCÉûÛ×ù³Ì¶åÿC³Þ._âßÛY·ÔfSî±3Y¹§Hu-+Þ
-4ùÊFõÃÌwr `¾.q
-óØÁö:Ù´9%okÚù`n¢RþÞ
- º'È
-ìøYï*<¿/-1Îg#Àr«Æ->¨{ÄGðcùj^Ç«ÀGKb==þº6\
-ò7Ò7TN¨r¯#CÂ}\Â!bm%cÓÃJuÝ&º%Ä\ªª£\0p©ÓÁÀêøôWüÌT9è9¡
HªÚ¯
-Hí1qúçÛsò'U¹ZXÍõ +¦a:ÝÁÿò¢b åx¥¦þ3µ[ ¡FA$Ô
-êJê¸öÆ\»5yÜç=0Z÷Ü´æZÏFëwiÏ;«ß|ú3àü¡9{Àì¼82¥v"q.ÊDufÇãaDJéf×å@áu·Ë@#+hoI?ë=¹Ð,ÁùIeXßîSêpxvjÅã\V³ÖäçiÉ7ÚùÕ#o¢EÓ%!g&sï1¡·µzÚë|
ê;èÜQ E7×MÅc5Jç-+m¡Ã9âÑ»B }äªÅºô½´"'<רíFr0ÔõÙ#ë2ÙÙ·ëâsÎûêýΦÀöû¥Ò>%?mâOtkáRÉOÎÆÖàiÚqL·$¬>}à©ÝÖrÂöÀ[R
-I!ÌÎÖ¯¹a?~·£õ@TØ
hÍèZzFSÖDzä,L1/`UhDý>W¼)Õ%^ÈÝd\ 5Ïsö£ÑiyÄoK00û½xb:SÍG´·[ÖyÕèxo eéí®¹±ø¯<õ"çÎð|
-¾ÎjbÈòl%
-ÆÅXÖXOô±GeBY(+3?LY´[Urɬ7I¿tÚú¡}b9=ñnç`Þg[Õ7©l*îdÃ.ËA¸Þß!YÙÆ&ae«p£¬¦©A"°îjÂpo W*-G*ÏÂ^+PèSVÖAöà
-¨ëmg¶ôµßþ\6¸gIáÂZPdê}³iIcBKþñ÷µÁç|kùq&ÖkMUûGqúÔáµ´³îTnL&=A^sê¯AöñqÀQ®©(þ(uüÑB¬B¦ÎFSüE«U½D^Õ:V$®ã¶!ä0Nª
-º=îB»Ó<Páð$Ôæ¬QD¥^´z£@×`ª+7ZËç.¿ÑÖO¸ö_ËkÝWµ<Çi§Qà°V.ÈJ
-9DTôMÎ(
-û
-#í5;jw°½¶ðIy"Xè
-BGýn *ìÇG£A2-L8ÿõ2r¹o$"q6ù=R|H3PÝñ VjWÔsäìÒ1g¼âIt÷4ÔM=X±5%:²:HDzÔ(NkùµCÞ;äËdbÛ
-Y¹Qk~ügW¡øÈÆà&ôþϵ·Ì[ÔÂUV¬7§Ñ´H®AÀ çÍÂ|È0ì$]ßø-ÕÜnÑÃI^LD-|É}æ%ÃÐiÓ¤Btt»M^^|ÇI¦Yw¶ÊEý¢p{Å©vav´É°NüdñúödÓáfa+ìÐã^ íó=¢b[côïý O¼:Öl#fÍ»³!èO£"¿O%Åæ²dc'ÄÄÛô0'«0o8
-hÐÝìzJbZ½ÛHÏó£ägÝèëÏÛ7ɦn 0¿¹5X#!mÃOº:w&»91ÿ¼õ:´ÜõV¤t¤Pà±
-
½ó`«KÁz[<+ÌÕ Zã`Öî?ß `!?¤¯zØ(¹n,yÄÀëÁ^oñ
MåÀÊÑÞª¯þr¤è
-<ÔhÔw¼
-¯-[÷@§¡p[&[Lå¯aª®íÝù~öû<**8%óÊ
-oRbý?bSÏêÁë9"¥S§LKõã½o/0î·ø5ãI$@§ø*yR4kbÓêbËSêI
d'?©k[`|òÜÍ=µO`gÓëá :{7§`¶MÞÿ}n×?ĵÈÊiH&£×Ý)Ås¢N¤#îÐÀm¿dà/ÜZQ^+®$£:ºx¸§rÄd$«a}åÏÿ=Á<ÊdPÁD¢±\@Ä`_ÝûBÆÿÖt°ÉXçG#EVÏ©H:iê*ÏÖm6i¦}<©Á³a9ñä1-vàgj³:@AµÙÃÕwluC}Ñézaü-%¤dfK°n¼þëÇQ©±¶nÝhË!¢ÆFÕánø<umû,±)7&ÝY=÷Ç~÷ÔtOðµ¹dõ·NÝÍ{STDûú°6cñjbOfyäs®é°ë^NTæ
-Ãã;«
-
-A åv¡?Þõþ`ôRáÊYáÛh ¨Iû®¦®°^ ×G¿põ«lªÈíX]Nï»ái
¯VpËÚ¦MÁfL.\Gëüî7dìê5sì3öonYýDÝõ?` ;0F*0µèCBét"MÆÅfy8¶ìl§ÜrwǺðp)ýÂ/^ãÖ|ßkZpgñN¢µ\y«©KlÛÂÖ;Ú òUpVï½í³ÿ4h¸r±K`ÎíId·û\Ure+NQ÷sð£,¤ØK/ü&añ¨f4+7}VµPki@%~_?<âËÕ.Ź«3Jû¦ÅnY½ßj<¨åݶ-Zuæe&#]&ê[vE[:íMý.:¯¸¶Òl*;öô2)º»¿·¸\Ò]©_í^¿MÊëæ5w=Sy¨~룴²î/ZÞ?8vOÖ '§q¶îË¡k
-æè=9'(¼2^-s³¾@
g5Æ>äêµÎ.ÔlÍýt2m
!LdË°~áù0}¸>(-Ç®SÅaù¢ i"© »î=®¯¬f½¢/nEDùÛ\ÎÅéh[8rúuXìÓþ"2S0'Z3t
-å16Þö«ÎLÙsº~;âýÉ©
-
-±u«¶Î®¤oÄÈäñ/4]DûÏañ^sNøÿq*æãZöQcAVn¤æÍa&D3N§£
-Ó×pW üå«pWß/f^æÅÖ[JÓì/?nXíyá
-hÜ¡u¡ ËsE}¥6Þ°ªýõ+±æbQû+
-ßo?JäfU~íЧÊj+xð:±ë{OYÅHPÿ[ë¾Öv¯Ê®X·xú¤Ú9i§µ³åz5ÎWÑw$8df¼ÈûÈù9¯£Þ3´ÙÃc×9
Ý9 ÿþRK°&ZâùvÀ§@'DÊlHvLôCö¥þècfZÖ°gÄÔ¡M¿ª2°B9CéÓÈ"m}ǯ:dïå!®ïs¢WÿÅ£Øå)fY ña×x=ÜËxL¢UÍ\¯vô1³güÚ£þ²Küô·ÐOµÐx4
VdO$éóô1bV?Ì[*V]zâRݺ~ÀÌ2[ÅÄÖK®é{ùñ#üi~öæQÑKÈZö%qÂ(g¸;`a{SLÚc4ýûù;Æi¿Óñ
-éìeíw'z(»k
L±ªõ1JV¿ïK!]#ìëÞ)N¨£8lB4_úÊúô(¯)
-©¡$ªÃ_Hv¢¢J¼´/þ>Éûn¯RÐýr?ÃyÊciêyßël¡ÆBôºR(ÚõÃ_ʨ`Û³ZºwÊzmÕ,-JME}ØtbÜ6aT0 ßÛõF|COH½.KEÕàX~³Â~¬ëGU5ÁÕaH2½3yvÿï¼LèîÈÅéjSq´lÓ¤ÐH ×
-åKV¤JoKÔËèé:<lûmW¶:è°²æU
-+ézï#
-·p¢ýö(½ðã& îç9ïsì4qH~ÚV*©üÑþ¤9ñ«.ë3±2¢Ò÷ëîB·]a ð4©LÅk¾OÕÐ
-m1¨üÍNT"È#÷
-LSFpæFíâ àP[µÑ+諬mûFU$Ùæj÷{÷"x±ð?QñG:}gÝÆ9èäXtÎ^'moE/YI<ÉÕnn6i:Û²
-vK¯¶õÎÓrÚ ü-À+©0¬IØ«0}cà2¢õ?½-±mp/yF÷·7¤Ì
æ¼»õØö¿_GW¤B<XéUõBÂÄC(~ãvE:Ì-QÆØÞ÷ÓW#TÕO
ÅúßxiÔã¶cc¿
-ô1æ*P"îÙ¼G°l·OÑI (~ýì
àqG8S=[«1{ ÉqiöL«ZÖs6üûNÃÙÏV"ôY>jÃÅäAò ~rÉ ÖåC7ÕC§Y_Ô'dQÔËȽܳ$ëlÚïý3½7
-«ÒªàÅÚf©/ÔÏvO4 ¼yyǸ3wºû'ÝËgñÔÑ2#ÿ&s@(¨ï
-ù6uþ¿¿ùiú+värÖ#m(
-x¨ûéA%{X ly¡W`9~î¦ýö-k£»íÊÉ/Ͳ?\EF±µSKà²ûÏNÎÐÚqÜ
-54>²î,¤Ã±D©WAÕóÄtð"ðºüçvØû9ö0ÆÒRbÆRuÄ,¼U¬*¥MÝG0Ç3:²)Õ(ßi%µÄF::ç¥jø
-ÇB§ö²Ã±xóÄó*DtXðó«âõ
n»7?Ä/3]öĿæ覫jâ;-I[IèýuIPà¨ØmO©8¿ >ï+~?¡m Q"r|Q·ãY5
-h0
-ÉO
-à>IÅfÅ/½] gÝÚ8ËÛo×X Mh¸ ζLÆ_!AÒ Û[¤yK¿/ó¨@Ú¿B'iIWøæ#Ýxêu@âfU_q^s[èU|°ô«4ßO;{1åbøà$[¦[¤
-ÏWºóÏ4¬ÙVéøhû¦ÐÜ07¢lTs·qì5'Êv.wQ÷}ÀâÁj=R~ÚÔ
-§0þ
-`î/ývD©i`Ã1é´ÊÎÎ[ØàqÄߪÀ¶øØ~$löj?7åÍ{Û¯2äÁ)ºU¾\i¤,öÆRzHÞ±ÆnòÁ¡ìÜçm%ÿ8!¶dPH@öp÷DÊöÁéM;éÆÓ¯ofO\ÖZÞ£¯!ìÀ7x±=Qð±Ål&uKìh,DwcÆ ¤óÕ Ä]X˺¿±yFAºMZgäÃTã2Ýtxu'¿Áxàé
-q5÷AÌ4çÞT!I3Pò³+?ÓU¥¿:¼ÊÄ+ûý7
-IõSî=tO#n,µË\î6ÈÅéôz$¦ºAè)ÀT`uµÊEPò¶ëËvIxíëDGQ@ßßYGkyEÔ^W~M©ak4å¼æT´ç &z±Ì ªkj»¬´;M°e"0ÏSÔµ^'º55ª´leZ&î ¤aت\cVÐga¾Âï}P+¯½M#·zQÛ)Z4HsVù@ wóÂ|ç9I¸¹
-|êtZ«rï.lqWÞÅaÓ½\¯ãªòÅ¥"ÔÍÏÿêîtV!¼Gpovóòã?ù£iXê,¶H¾;Ã}fCªS¼Âç+snæ=NÅà#
MZQï-X£X<!"{!Ëçûó-ÛWç
-/Rµ¤sRÞ<líBülBL3pýïÝë£DQOÚÛïA8µ ,`%Ómà´¤ÆÖß½aãvë¾O0?dÆÊ<À`#¥ÈAPKòÀ/{ÊÝI_±QòÿítÜàê`#çÒ<ÿ¢Ñ?¥=2«èجéy-lqÞ~8<*.½08èAFù)q̨g«$û¥eoêÆmi
U2kÉ.ñÌdÝq¼Í_bî©Ê)Þ-/¨VgZS9oÚÅT*P¡x§¹nÕq²[ÉyÑ$Êd''=}[åR`$êG¬sé¼_ìÞå>¬D3LB¶5üÌÁaºÊ- at gZÅñvÖr
-J at Eq$V{ð¤ì76mÞ}#Å6C#GÇùÁÝ4´®#±àd
oä~gfvÉÜ«ùNr¡_{ÀݶL«
-GAdzEÞþÖÞÌÎdíl±A¿£}bnܨG¾gÿïR
-^rªNN¿fqZ¨¯ôrLpú·-NÇ¥Óâ
-ýTp:!¨¢»7y¹î$×ìhFÅS0èö°jÚ£ü6Î8"iKæ£[lneoÂPÎd$±°©.ZdFÕPãJoÏ óÑ#rµõp»¼Ód
-ÙÏ µÞ÷®iZ
-
"HMx8òèEà `¡¶F>¡_Èù:ê: |Vág
-hÔºüÒÍi -Rkôø¡JOgÝpóADtläîu½#T6ëpÜÑEÁgZä÷ÙÖUù7X7ÚL<[
-yËõCX,_]PS6,z4¶ÊFÝ·<Ñ ÂvHà£ÞèÇóXïðjѵ5ÀÄ ,qIPØÂã.Cj3yÒF/µ
öNmâèR)A-jì_,ÞÜã!@RVÔ/å#*ßÂB¸¾öÜCxªív²h]½Çñ¹÷1õ2ååûnÄvÖè/ÜXÊp
-~ÊÓ@ÖÉ|Û0p¾Y¼fÒbm=À0
-Úã{u at 7«CsXøZã.S·ð×FÎg¾@Kã·|ô$*
´SK*Û)LêwÁzh¥Ïv§2ÙÜ¢ªÑÇ©Bd{ÛÛ
-aËÐ\®VÖ;oôÞ«^ç}±W¿fp,A1SóõV`C{¸÷9:É©3HïÝáxÖözöË/æ`5JD©]Ù´a£¡ùäåZ"?F`ô]OÓ¢ð±x\]yýÝIlI>?MvõÂUõVZÇU/E®ãÔT8wsÜJe¿pk«yIBY½+j8yÁrÆfÎYþa
-º:®ÛBØ I¸sàÔKoµ*ÔÊ\
-ʵܢ|§Ç/|röïßbïèq|1¹}M§ö+g;ØsºMÿ.\å÷õa
-`ÿ
ͬsõÑ>¡"cAåU^"îÁªå?¹Cñ4Å·ësDoÚOn®KþÙäÛÎRFeBuD%Ò{
-ÞØpêï¬ÅDY#QÄ}È×33é?¿W«¾ëKó¼Ì2I7B")úö·ú-¥!
-Vóϲ}pI %¼9YèΩ£]~@QõF#p¯X?¢ùivýß¹µmöå°¾÷72ÉõOrÞ0þSuÐÓ;c
-uÓ!ÔqµU±óKhP¶æ°¦Ö|¯
-g]:ÞÜGrLßÕV«¼xÕj°Âöi©Óî+÷;pæ8ئݻoçcH0¼(Zz»oxBèS*õfÑðß%?óÄKp!{ðµÝô6Ö*58}ÙӦŪs®[GðVlcåí\~
-®U-½|üÂi±?þÛ¤.ØJ²q(ÍD²i¼n$çR3¯È]ÊüanU¥KÓ^¸×·Ewý¾eê¨1"ð¨acÜØÖþL¿nÀã
ܤÅuÉУáRüÇa%4°'[Rí¬o+XòÏDnçYBægËCz"T=6V%6cw&ïêÙǨÅE`xÚ=Õì7uI<ðõÅpo/ºz ØÂÊ+º»>U¿áx£],0ô[¤ït
-vàlCM¼¿òñ ßØÃÐÕ)Úòð°-X)A¨Nmjµ«1Bý@µKþ:eê8ê
-Z àú¶tã'õ¡Bx$CÌÖâ^×47q
-^²±r^H`ZËâßC§jhäÁä'`¾A)ià¨h;þj~æ!öÔ翺¿;c÷^ ?S®(ÅÞÊqúuD
-Îkät ÜIS#§°ÿH÷º]-hú×ßP]V
-9+X¹æ]GSE])0LÚ½DSyøº&hÙ#Þð.¥¨Ý8zA®2øäjµ?,Å¿G¼h2Ç
-Ézµ×ÆýÒ»U^Ar:)«<c¬T#´`R!+ø }é^èUV N&ÃÙâzNñÚ]ÇÃÜØÍgKh¶-³xÍMGoõ\üU©úóæ×fN4¿óî{·[`pÞÌ$ö$In1ÝÓÆÔB
-QG. ¡3H[ _uo"³ÛWØT¨biª¢û5Úz¢íqû²ZTö.I*ü±¹zÅ]¶7`ª@Öm/¢À~éÐ#>pábhMùEªöÞµ'ßX{o¯>n½× Ù/¦¼j?ªL²~aÅY¤ä ¿*øürk»F:nýñ
-Ci»Ð⬲w¶ßwþªc6
-ã?[3¦cÅÞü@Ät<3ºFËV#-üg'D.¥OȸµÈ¼ù
l
-MñG±ÌBÿÿMéé&§:a33R©
-{(òj
- at g(RÇGä_Ú9HEAO_½dë¥'/&ZV
-êºÀòà6ùWâ n ßFÞ±ÚPw>±!côQF´|Á
fÑVðB¦¬¢Nòf´æõóÓ!îo{>¼Õ<¹×y÷ÁÆ=bÞ¸ÀÒ¢K óvÃݯJiª×½µ¬P¾'Dá]
R+ü×IÀ£¨Õ}ô$Ðhý*5äç±óícÇdñÖ«Ô}Ü]±~OÉ6gêÂÎiN1ÙÓÜ~xÈÚG¢ï3÷ÙÍ9ãWÌV]¼d^:vKßpÇnÑd
ô°#dçMähÖÅtèlH¥Ä1Åz±ÍëCõ©O¼ÏGOaZ¼ Y KZCùQf9s@ߣ±EMÎJ¶·í,ñûÝõFC¥^ÆsF`¼Göà¹V˸Sß¾I\WWº³ò½D?4¾,Ã,!© 9$õÉb73å@¥ðå
-o(uä Ó¿´«aóZÃÖã~@¨´ºö%\á,V¥ý®¹úÉ+hYucö@ÕêPTiªþï
åGoqc-a)¾½òKmVWçý¶8¶´&pZö³¡ÈJÞÀVÀ8;£Þ¹,¼ÍJ3K»bw«Á¸çÔÞôµÛÑિÂzíûC
-gÌÌ JÁ°êúÉ/Æa¿#µÈ0à!B3 ¶ÄÚÎ{æþ}Ȭñ§A2BÂÛ×R 3·â9A#AÖ±$Õ×hÝX¤
- "(ôdÅbK° Åù
wÐ Ý@gáî&é2ÙöÑ·ð}¼p/Ì ñ¡»{Ð-ñêg#ºÄå¼
îû_'é&{åÖZ&hq5é&GU~) ¡\c.ÂÈSÌúÚÈíuZ/¼\nDm®x¦ÿ2¯Óº"`dbH Äp¨¢®Áj:ð;ªë
ä£î«vÁýq>AgAë_-Ý?YáR-øUküÖk[¯
-&È~]©ÛT1¸ÏÊç§HýoîBï-¸#(&òaðd/ñ·ÄÌEn²Ã.r©·Ûè^rëx_é
¦ ݤR7®_Q|·ì0[eXG_úgï 4úöÂ5
¶fðSé³¹UPþvu3È
-±o<´÷P}\^5Ti6(ÆáÒ]6ÐéÔ©Høá¢û×
x#¥j¯øZ±·Æå.VbãVÑÍÕh׬E?Õ
½ÔTY¶_bÝ$¶QµA>źl5Ö.½pí<F˾q9ÉhhÞâ
-A²gÌ
-í}{á½#½lVfGï´üKheçß;CÆ¢+iibê'v"§sÙíçfLØ?Á «R Ce
-ôóçb6Db{ÜòC·å?)8JÈíg¸ÎZ/½_G nâ=ºðT<}àuz¹HÅz7¹vá^.·!cáÇýå«ÔB"bö¼Î®ÿêö'æBê>`ü/é8aôÖ-hô«ü¶JçU÷í]çØîPã·(dIX3\1$§¨2|¦b|®ýBða¸òÍÏ]Ó¤ÁIùÃLö÷
-3Ú½(x!çùE:P½ç¿ú/àFÆÜÞc¥7s
-Aú÷7K´áyé´=PÌ®/j¼òpƸ.n`µ+ u«¯Öµ»7H[&¯På<$Ý2V)#ZUiuÆ£x|ã#6L!¾w¯TU}â#2¿¡<wYJ±8vË*9 ÜUXéaÓ
-:öä\±÷͹µ;
-±¸ÑqFr=ëo¬kzÄùgú,g<·ÓL3NOM\v?dïWc=ÿD[Û#7à½Û<N]F£¼8²(Ößùìê',·j[u ÈÙØi|ÔpxEKüC©è#ÔÄy ¾¯»ªòíàÙÛöå´V
-õÆ6HjªäfN¾Fwñ¶ Ç0&â©8W]Nºý `þ#«fS^É{wèa?O9fóçÉS»O|ð}O¤l
-(Á~¾ÿsɺ[ìm ÔWöï¢ÇJõ|ð&DÉ`[ö"Ë^¦SË ©w}muס$ÆâSë;·Ð31¼oZ vû"{ ÃhYo-o©|ÁGê òØkôûæ³ÇrKõ~ÆÛA£D-7 Øu ÜëÐóYQ²E!x´t&ãÉÔgâC¸-9±J±-$BMnÆÓ°A¹ai x[ó-U¸pY¿èâ¯áR1G¶hnæ"fJoÊ(ú+_A@}ç ?i Ò>Jp á;À
-ÀLmÓgz´ß[ÃýsÜqä;¹ ½ÃÈL?VÂ-¤ñ¸svÃ5õÇå:þAzø §e¶":ª]Oû¯áuDêÃ#º¬
-ÿÃ'¹Ù8;S¥Ûý
-0Y:-;(ÁexÛPVSÀ#è¡ãBó÷¤ªï4ðÇâÓÙ¼ÌSóGý?Rþ² $1æT×°+Hºo¿S÷áà°ÜVWóìûÞ²Ôôæ¬ëÆÞæ
-aJq
´n_Q¯%#¯èKx^×9õ³ñ¨ÚÝv¢C'z³D©m´à_¿ú9j°±ùXÂÅ)«|ä%¯i¢uhEä²dû Ü»¼é
-«Ðü_ÉÖÓZêâ6nçÊJ³ní¦¯±µ!ûÆVyF$c§{¾
{|xvxn)'E§%yÝ&ËéÉü.%ÌÆÁ0Ï´f#VËÑbĺ«ÁQÇÚ¢É?njÛ4¥3g
a2ÁÇå
-K0n3púþ·´YA]d ÏC¿«0ª °Ii¶®´¸×3#îi?½~vY5tþ41oî1Éá!OÓØ£9Q¼)èÜ
-Mj~Ú¸T
-mb´ólg3Q¼B2<¦öcCÈ
-ÌAÀk`âmÞ¡Ë&@S@ß\ÖÔvãÔ©6Ö«8Y«IC沪SDv;îäÑ£hîgY¬kQù
-4Dmb捚
-vJ}$53P /£iªA.3ÍWlúö¾çÖ
-}¾sÐ:©IÆ (s¾wä@
-[f"Ûß»"-ô·ÊqöÍÄõز¬}À{S.Ó»}Nk´%|1fÉä"ÞûNÇY¬,§½è\BX¹WAµ;+½àØj;ÀpØ¿¤þÍÐãy#Êç²7̾øÄ^ÊAùm$¾<y~JÕ3á8Ìý+M^³xÔY·+yÁä¢ÊÜaáiù¢òº6ù%»MòmúW¨Aæ5¡Ä|\sÀygmB
-o¬m¾ä¿Dì¢ÍÒÀc¥-¿N¬2DPå.á×´+®8Ýuð=IcÖÏËV¥¬
Õ¦çN]
-¯Nàp<8Û÷]Zo[
-Éf{îlBI¬)ùÈ´L²»
-Uöÿ̪|¡/F¬lôL8þa²0ÿûI=ÏÎ'à¯
-A}@Þ$½ó{íY$%5/Ù[ãQ¼y ñWÆ*NlÄÜÝZa
-»Ì[ s,ÍMáªÊÏC¹b8$¼LñÚöòp®ÈÈÊ4§åèèjʬë¨3t^©¤Héif÷½5 þ¢¬Bd
°ÙÌ*ëÀä©ÀWñ¶h4éù¡õ Õ¯¢?ղťakÇ{¢¼úê¤ËªãæSyª=ã-ÍÙý¢ÿ V¤ ÷ÎÝ,+¶
-ðC1×ÈÓ3¬B±ª´KìHL*LXâÒ0m3×-L
-VºäbÏ%ý"GâÆðÓPýAs]²Z®ÛÑCo0¬bÖAÍ`usbVI!.¹øYÊðow6AÞ0;ýGcÃ"Do<¨ò
-*Öþ_Ñ!ØQ¢s²! ·ºqªBô˹
{m±6B£<ò×+õÍ8)xÜ5%cÙ¢ë)²SSÂõ¾Ê÷®*
Tê$פ¾åÛ¿NF:z$LßÀ6Ãx´ÇF߸Aï®ë`Êw¾wpæx9DX:ôPgE:t÷¬pÞXÈéÅ>fèÈÏ`±¡bMÛºÓ²Ïk]A%äâZMÁ©2´÷:QFÌÐ̯_ýHß3Þðþ=h.ñSÌqmBrçÈ¥[ý°0óÔk
ó5å¾
-%FèR!<Oò+¯#¬#sJqÚʶý
- 9õ
Ñ®çL7q8£`½ß¹fÍBúBËçhÊ:åürf&0ý!ÅT^ñVsU!ÇÞºÙ~jZðõ}¼'bÊF!бéj'(e)Ì\Ëòå
-bÏ0åÂjÓ2ÇÈÈ@oÝÐ{3ôb
-òò<bÕ~H`ÙK§<É
-? è3z`|{ä%2ÜÙ¬(§ÿ3Á¯©&nöJh ô½²~¯TÓ×j£·H_Õ:4åCdx#
-û¸È%7CÎù2ë 7¦G=.¥x»:þÐíc
-Ú«ÕyDs>oQB¼ÎSKpK¸
-öl!CI5«U®iWìª=£»íÊùmÍÄöÄíePF(åÁЧÐ+%)0eºÞ}ÿýMÎX3©¹® -¬wr 4s3¿þêóSJ¶õagÒι
-ÚÍǦr?{6Ô~͹@ãA?Üõç¤QöGt7V=$
ÏòDxE4?Ù?=û¨ÁcÍ3ufÉtjDtî[r±uçéd£Õ$â
- =¹PÛù¢ê$ÑAéM¶§,¨¨r
-5VþrZ³¡ôåEß:ÕÓBü_kÉñ^ØkB
-쯲رþ2Óe}sÒ
-¢°$MC
-Ó²FÙÛÃçeóbóþU;Ïzk(ݬݵá|®?V¬ÁmT¹Ó21qå0KE}yâMVÿ ýBÙdÓڴ˧×U¼ªï)dÅÏV[«àtZE£b+Z\ za¥UDoótpHHýN%Þú¸"|Ág`ÍíNÓÁîÍcDkvzú{Úzô1
æ[Í|¾iÖm°;}aßÇÈõCûUû²ßÒ9ÜÆd|PÿmÓNC`
-ȹ9Vk;åmw<ÏÔ=ÇA:a=
-¡öK°qñ\ûW¿x.GÖ!³\ú¯B
g"Þf½KiíÄçRv¿`
-s¨Sö/Õ\Y§µrº9ö½]ÍY-K
KY¥ö
EÒ«þ
-å(ÿreù¿vì/,; >ulkàìmo²ZZ¸Ëa÷æn
-[Lp7p}ߢ`M7ÊñqlXq#í»%£üÖ
-_×lh(óã*0^>¦Ô1¨ÕNÍʨH©xsJàÍX4nXK<Î/Åcè r
-#CòsÔß°Ë»#±
-øj0õפëNRõ äUEyÅÁ¯jL\M©ÿÕ
-ê`ÌZõåÐsD-FbÑxyý"Óõþ]
-¼/#Ñ;:`Õ|>+·b°³°¹ÍÊöñA}ºrÉø¹PEÐÅ?v^ Èg-æþ ¯P© æ&nÉYÓ°{ÈýBÉ_Doµ1Ï=V²ñð+ Em½þÖ'Q
-@ò¿
-ÂÅí?o@íqÌÅÄ.$@®°Ð®ÃjWÄäƤÏ[èw[ájt»
DrçýH{Nü`ïË/9ç"Ðпè¼v9{¸-l£û¢VÏã
-ǯ=dZÂKt/Ñv¦¨ì\y:Õ6vѤ,zf~´V!?)áw*Þ^úEe}F$ObÛ_Þx-åû0Î1æ
-:Qô)Í Àg¡Á°·ß2rÉ0E:ñ:Ióùâ OÔQJv
+xµ[É$Ç
+½×WäY˱/ `jÓyäü¶ÏE¿o±f&YËtYt÷TF0ÜïeH-þ»¨åoê¨
+ü~û÷òÏÿôo¿´ÇCÜ1-6ê£[röëÌ1,^+øÖé?½aõ!MtÙÁÏÝDzf:Ý3T?¿ü|(§Y>¾-êhñ?PÞ%X(ª|ôËÇ¿¿ßô1.Z-¿.?:náBÈ!F
+ü¾hÔOËÇïZ*ó£ÓÁFOat´õ¹Ï½v5×*X>S ÷U
+~Ñ`Æ
+~^ðÛ¢J¨£l)GÓÃJ:Üt8Á¦®¹=
dî*QvRL- f'®Å8`26«Ç§èº¥Ä*Fѹºô×èææH»¥r±UÛ·´oHäB°A8ù-¨c·t\&
:V®¦61¬uj¡îF¯}ô.L\[Âô%ȶiVü.zË LÞî½<ÄávVìö&_û¾éBËí-U£¶Ûã®°¨@Ú ÔØünV;Õö6©Öð=1¶5mO>Ip½õ6ÌÙÚ3¼ïF^á¾ËzjÌ-vÈð³E±]sï>a*CÍ]Ê0·ùCOyØÎâjGñ?nóm[êû¥¦!èKcC6 Æ\!W/á¼÷w&)=«´0Å,¸ÁçÔlæ»xKþ69Zûeìþëû÷ÉÁʹ
+ýXÝmÚ¡hPFý¹xÓþþcùG}ÂR}VþÏÚ¼y$>r¶óâ¹OÞ;z¥sè¿«'!3ÀCª:Èö¼rþѸ¨ Ñ.'eûï*ÄãÑÁcpOMÔVXBñÂjÑÂÒ(Oâ¶sY¯Ã Óm&vv¦1S×joÛI(ß
ÐÓ(RÚÕZü`WVÖ0¦4X?ÄÌlbãÇ)qgV,:t*µâ1é¥ÊçAI\óRìFAp<ò´öV£×âñÌoèAôÚ,-jJ£\û²ÒÇQ.>¹VI©°#Nܵê;wdhFcvg¬åðvv~@ïöt?fYá·ûQësþ|Ì2B^XFÄgâ÷\´r[y&V9;¡3{)R9Ã<§¯ï¥D)»»?°^0$âî¡cÊÜ^9Äo°î4¼Ftó:ÉéE=¥÷¶=eïh;ÁgêñĪXK^.¢zÂð°ëÓ¡!X?o¡öSB¦ ØÑb§®QÈè±·iïo+®$¬vm¨X0*2öó¶£ÆÚ{Äm@¸!h)#àíø¨£÷°jÜ#å©£÷³ôÀ¡!Ý'cQÓëè²új~ä%V?à·®S/z§;çnî`´ì¸s}²vð¨ÁÄ0 at Trwî°ªñK&fLe'ð¡áMØ©u°WÔË#<ϤßS4ôñ?XX-ñJ®C[ö¡`~èâ\©7<
+Øزd¾+â'öàÖq.aÉÜzæ8:-çfä.D.ñ+¢bÎ|MNH}Ï3u©,ܯ-4:¿¢xîh-8ÁVD=bÒߢ4_¿'8YçÍ#de'!ãtÐÕÝ}¹"rË_t&¹W]
+Æèú²ÓåVàe
+²<dh
+ÊÔà»tNI2P£z³º)©Wôw:æ¥ÞÌl¶ÇCJQû°ÂÆË=í"Þç#jÆ, ³ç4îVôütðRÙáü&ཤ«dcoÀ
+²ï¶WPû¾ë{qÓ!*(¢Áóq¢3gÇè
+UPÀv×íòeòÃòbÞn5gÚ¹ýZµÜ[å¦ß©I8î¦oMÞåÒ\$Ö{çéT½ð];õµ ®ÙÁë`/í\)t @âÔ>õte9ͯ"²b¿`(YaÙ>²¶qí
ÆÖ^'D±9'൨6ç5!_K+¼IØô_8#ÛAÄïrïFe
å'¼¡}81/ï-63Ìæóe¾Ù4quBqؾS\ÿû·óê.môâ.¡q'@¹F?÷6Ýax·û+jݬú:Õ6çø(ïN=E£Èîm?[¼jo%³½XeOødâ¹¾¯ùp Qàs¿Â£FáP$ÚZÔ»@¦ß0³Íu¼A
À½¢Þ¶tÞË;ÒHµW
5Údã.
×Ì¡»$²^Ö}¿³&á>kö¼CÎâVÂu:¶ ©³2ÉOh¾Åðrd:j#'îíîmçgª0~©ÜÒx÷KU{Ï
+e¿¡å¾*ÊéW\ô{jo£÷òí1Ðz vbØFEgG¿k00ÿÝ[
+µJûR¼ê57ò4ög_úÝ+ë ͵ÝëëeWWm>C]½
+ðc©¬ÀQ7#µuYÙ`Æzÿú~¹ÂrMÏã¡] õ
+oæ7QFÝE1ïëÑóâf7y[KÛ8¸|¸Ë4(WZÍÜ:Uå3Î{
+endstream
+endobj
-¤b:6ú)nø4ÁÈÚó#¾%$@¿ªTÚ§8å{Ä:Шw|Å
jçæ'M°OïvÄ»@)£7òt~&_Þ§@õ$ã "¾¡c{¨½ün¡üÔ}¢&.î 3»2%æ½5<í,D=Hpìp*É.
-]|nmåÙUIÊD{o¨,(ì!«íW¸ý4 ?ØsØÓO2j¶Å¹£À/í¿ùß·@ìß>Ì
-y²ÿ5ã
-·k_s´lè¢#l·KC@â¼ðAù j®]Õ¦tN
-Þdö UdKÝùµt¥´$"GüÌTPdº>ÈwëÃÜ
·ÖKÿ)1}<Ù{TTäB1ª#Å
-h÷÷¬;kf #È=
-VSG"QXg±Eg#屪¥®Å,ãú¸¢[¶ÄúPÌWz8!tæ~é§<Z£¶´JÿMµ; [ÍÚP;K%LøܸØËêGwæǽTPeù\ÒÛe1!^ëås&§J¬ÛZ¼6wXNÍËpÞÛù%gê»û¥dCÉÛ}*³@2Öç-
JEêæ@7ZÏØniâkoæ|¯}ÔßOHØÒß;ûW
<WxvÉyÍÁ0ÃnY>ÔÖ¹ßù-aì5»êrrNªy=È&$0~Lð¨»B«9eøÖ7%ny﫾òvTcê1?ì>^Æ©*. fÚ;Êk }ä¶QÒ.UC+%QÓÙÍx¾h'9»)òcáî~¥rn[üRÔ~%´¬Ýd)àÄÛLù&<¶RrìÃÿá
-iç»~'¿U#þîá¹.Z!/IßY/CΨÉÝ!tQ;ãÃÚËïìu´§MÇÇQ/R
-¬$Q%¢Lçq6}oYRùMZ¨ÏÆ\M/Öd{
-ý»RÝ«"Ñwc^ÙF9Á'#P]ÖSa3#!vö[³}vWp
våN)ÆÅû(?¦ëpDôÕξ®Ú®p¨À:`I¯8É!/¦|ÆKäz!ÑSgÍc4è¡TCdr §Ì÷kìuKµDQE´8äíç59¶î´îcqH
->]gúì7F
-Zô*Èîçî\×äg8ãNWa:£M_Ðö*\`±lO$Ô°T£¹³ö¾ª{h#Hj¡'tdáb½ÐQ_.MòQÄüÜ ÏFÁ¦¢ç8z©.Ç3øÌÁç×йFâ½öÐ|\«ñ¿+µE#9ÜR}7¡Ñ]¿QÝçjzÏù¥5ZxX§J[igÀ
-C¯iÃDuè8ðÙH¿Uk"åÈFI.P6cÖ'ÌÄÝ9%YÐ]!ߢü
=1qÖÍE]ÎØ;Ë1ÎÉÃô´MÇ]K¢¿§ån÷=v3áÖooq¢2[ÄÈS7ÜBð©øfÿU®
-H+ÇÈx=×i(»¶L¤îÌÕííÝn5¶åòtíî
--Ñx dEfí>U=ñ/ôÎGê¦ûâ®
-ôÊò}t!ƤrgIXH^Û´øD¤LYÐߪ
±ªçÜý§kyM: Kª_ä¦wÍÕ0ß[Ç´ìãèaˤ73ÔØ£ÊÆ^RNÿßbÐùn~ÿÌWGÎË$SÙ£C(ÎúVÅÑ©;_ìÕ¸b:µ4/ÒÛå54^ÃK©
-ΰõ©®¹µµxç²r(±ðÒó4'<JÏ×_Ó~M(ªùLµ ÚV²ë<¶hñÞrqéÕÆ^ùõV8'Ð¥üÜoá+Ѥ¨_;»@¤±F
-ëèãÃz\áñTØ9k$p[µªâj08¾;B>æ=÷ ü<Ù8¼_~¯¾F8ÑäÅ{ö÷¢/ä®Ü |qöGÕÁ½
-+;Dó¶Ôéb±þT%}XÏpÍØ<Â(@æ)È©
--½1Ù²£È¸½Àû¾A-44ì£a¦ÌJÛ5ΪÒZUêÙ'{¿ã6þ2aø4¹"æ.ÖÎY0` alë[õTìMö2jr¼wdÈÐÇ+æL¬ðD¬ç®B²Y·`cØnc6ôó^?(#
«0ÈöÖÖáéWHG¿÷Ôtî|2ð²Ë(4Ö@lb]íM*H
d¸H sÉ0á¶êA ï®àx}§ÞÊ;].Åù!Í6ªyÞã¿ÕÒXÍ4Z³
-cì°«1@@¹ãK!zÁmµb»c=c6vÓ*Îp©Ìûï½gq»Téõ°®ÌN÷/ÿk»ðø<8 U;ö#ÆUs&_É-lR¢púù£DÈÝï äOdÏø/]oÌÖÀX³Jô¼ÊíjIMu ûλW¨ä,K3º±@yÄa2ùs,,Ï |-7§êÅ/Eå·ådè»;E;o¼NÉwÜ
¡5¬|·Äe¡3Eßè7ypqDµd¸×ÀMìæÇê¢VZræÅÓb´F7=Æ%´·ðoHá%ñ"R0ó ÖÖ;»ù¦|)êÐÁxºâ+@þku[¦xï&qÆ ÷RÖêê¶yê UÈÁEKMàbüyêõ¨ÃÈã¬S(F:&ë.#þBµ/ºÀ.;GÞSÐ#A¾ÔòZóv
-ÆÙçú²¢=ómðÝPLøY¿O´ögñRp"¼2R»õ<@rîÅ´Dùo¥è3滽ÝáòÎ#ü9lÄÍê'l¶¬ùfËù}Y#NÐÚó!ͳeÕçU1½ï®ÊÞÛN¢íA2×f<¯¼d!{©õzBx¶´¶ÅÌFsWL)¢oÒö'£8ïà#oÈçÔ= P1þRÛb°É&ÙßzðÐêWÓYäÚx9#µÞ
kÉ&+ÇæƳâ2DÊr·. þw¹ý,ÜþBNÑÀT,ïIÚ³X
7naóÌéŶW¥/ÜÒdÚùãê¶#!|Ãa]ýÀ(i§+â
óÙ"µs'WýÌNSyèâk¼áyY\à¬;^o§H½ª×ûIÀø¯Ë0XÀë
-v=,¬õ#*'J#~{¶irþTk¥ó\¿ÊàX"²j¡¼pÓß{ä~M¹
-©}´f1w§W|6vN;r,0Qâ¬kÃÓ±O( ³è>¤DHÅGdϬe
-S\Õ¤2!7»°]Õ
Y÷òßD
czNåÏSÁYI ðëWÑØNøh|pzÝ.¦þÝçE¶"gýNúéC"&xa<17¤ õôû8ÑrNøÊD7{¡ðëìr>èÏ÷bÄ<Cidb2)·ñíúÉÇ|Yô«oâ.ì'Cú/·|4±o³²e³+:õWâ²4ø¨àßÞN?/Xê*ë³ÕáÎÞlaöbôÕ Ùö-Ù°lébN¦´Ñ~ßÕÆa?9QfªáÙ]GÎ8Â1-5¨!®ºÁJüYp¯8d$['¼~-³Ê:vؾÀº»ßÞä¶êk¬8ÍR®ÎvÑl¡ÝLUL EÌù
-Ú5CÕöoªÔÆÈ%4ÃäçøÇÚÂHðt'ðÝ k¬¶¹,!Êÿbo- eÃAJbí}Ê2'jØ:r÷¯Dª¯O¡«è¸ÎR1ukýnØn·Ád±¼¶kk]°&ãvWú¼e'W¡/;¾¬7ÐÜýç7Z¥×bj#Ã
-~Pë|P¡øO'xÛÈêw(G°Q`Æwæ±YÞt²øf1IäoxàÐNÜT|CÊ2·ÖWĦî UY@jæ+¹×µ6B¡)masÃ!^§)ª°J×d\èòh³5ÿÞÕ©÷Ë;â"};æ3v7æyG¶/¿ £TþZ@êDTS,o[N3ÃÝfý:î
M°À~2yË£ØC¹sÑ#ÍFÃqG3 AÞ>¶E?òIÉL_ãbkðæô¼!³öR}×:([?ÒÖHO³ýSѵØVPäEB}¤RåáÅCxÚ=k+ £-§¦ÂëÒè
-X" âÒoæ©¡ëJ4wü¯'óJ5«<OÓ
-"Ñk
-Ô]ðaaSqAHª2ÑÃÈ `õ¢Q±þÂ~º¢Å@:ç§ã7MÄ=ôdgD¦dÅáQ4ûUXS(¿ùÙ5Ùú¼öØkã·?{½`9LSGóW´<v(¬9¶_ÐKÀÃ.§PhÚÌ»@[hÖiÝ
-N/Jò¡¿âkìúè©ÊÈ°}ÍÀò¥µ¶6hH75p*F
-´ã1÷ÅÎâÔ¥#~ô³ÉQ#µó 3áò6pL*%¸Ï
-fê?¯ pëAÀ[rÉ1òæÝÙÆB;ÂÖVÊ9³ÚkÔüÛ<BX-Ú¡RN`¿î¨é!u³^[q¦ou7ö¢eõ<µ]õÞ
í,\7BWEb»å±ê}E;ÐÑÀ¹ÆI°&ÁTÝárZètxÄlÌ×A×!Ê^ö@é,5ÂX&ò5¸hpÈ¡,Wöäßáõ©.©x`Hì{â¢_èBÚ7PìlhMÚ¡³oH
-u<Êèâ
-x5`ioE6Þ7ÙÚ¿ªHÅm¨a\Rúó8^þfgRy ÏÊäãÙdäRº²>®é!èµ%d.ûÕîRêÜ7fá~J¸¹ÁÁÜîËi¡ G¹6 dtQB9Cê6Ç Í#neVcÏ<%·î£'ì:rlô뵩´½!ÕÕÅVkr8ã@Ôîr¼9£Úo¾[932dE46jÖé?Ø°Ã pÒj>¶ýI$iÊPËvF3¾Ç\\u &î7÷PǵHÓ2+ Ã]¼I=5o÷4Ëk¸´¶÷ðs×Eu«ó
-ÖA[#¥n¦³ K>ÊP<"s».<AÝvÑ¡CßLi½¶÷mdÞèÖ(uI+6ÓÛáýª1õ¤J#ºF|
-
-tßÂ4£""Q´[ÓUQ<|Ñ5hI¼ácSun<xFgq6L×Rs½C[Q0Ü eZ¬Ùá$§Mnðôcr¶Åp0}ûÎGHA¬ÀiOFrÐózû«ú8êë¦Y}ªü]lÅ$CÚûÿ?ÿ|ëîû7
ru¢jÍÀÇNf ËßÛÍ%«enÖÌJúy
-¯'|§×RCBß!ZþNv6u¡wä*h¹¯éó˯^dôÅ.08O]'Cb3§?¢IpµÀЩ *ÖÎ;r$ºlË.ÅM'ÙÑYÆ
-päÅïûfCûp:;Ujý5Lé 2ßåv)[n¯À¾el$JL0Hñóxé*ð¢6+/l+PßÎ&~È9ÏïyïSc<[Z>Ʋڣd¤³GH+1DWa©¤«vj¹OT¼W'&&«ÕeÇvÓ8@çµ*¥@¡p= åzX_µ¥M%@=ÓLua@»îãWãpF`ºN½íªgUûSÕß`èI\änQQÇ/FáÛ¶Ìp®+_ä6íÉéy¿ÚÛÂÙNU°,Öx0üÀÅàLÕ0o¥û)&Kµ¿®S6®y@pÙ
¹s2'c²ÑWÚ¢D»¤µ¬ô)«oÔÀ%rÑ${Û{¿Ç÷Ép¾*Ê&av
-Jiåíʤ߸Û,ÍÁ?6VÚsøk_û¹×½Q´¹T³9T %¡oáÅè`neu3ô¡ým£8
-ÅÌ«Í §¨Ã<%¦
-PØG#ǬHn=0¯{RñîÝêjr=Ѩ
-iJˤÌPéRU×eÒ%ö¬[By6ÎãÆóúÓWIØÀ¦¿Ë¾)céñ]o«éð±^(Ëþ»¡ÍµxZöæE£Fÿ;ç³Î
¢\\l¾fû¶G}o:L+ëtÆ4Õ¶e²ÀêÅ(ì
-¡¥S6yúyx¨·¶
áWøµæåwÔ½ÀZÖ»ömb- ±*Jñ¤ ¤Xnhr:°í±
-¨Jüûõ/OªjÒ²iS©Ó[åÝÆÞÞu^=ðïâÃsJ'UæТ3Û/%í¿=ßcc[\í7Piq
-~¥ØÕ>@#¼gRô¸¨ìz;ºæð¬µÿÆ© /ÖþÆ_+ô¥îp¡_{Ðÿßã¿@¹ì+[Ïcd
-Þy«öL¹G?S~Ö &*ízµ>=%ÖÞ»òelÆÿÜÖô´J?oµ/Èá^e#±°Þüî³"2QÖIX𺪣Îì<_Ó(§|Χ³}¥ÄõK m=S4x9Øã_Þ
-ÕñÞ«
-°vßMÖZ£È^{½e
-
-31|fØ0¶R>I ûê:úÍÔ`ÿòüÜt´\°
-d¼hôÇõÝ3ß©i$×ôßEÁÿ Ý&¸Ù+@:ÑÂZMºbç¹e½Äv2"¯³C};ʼk¾G*`²îÑJ½9êë GmÄPÛå¿AK¡Üé°HÌE3Þ¡!<H_°GK½ýÚÖ\|ÄD~øT
-HyãKÿÚ ªfZw9;87¾Ðþ½óMúS˳¾Û÷# iD´[5àùÑáùmï7©NBÂÁ[$f%ðBaÔÛ-ÊPeÚÜE>')ÍCºéeï
-ήLRX[6#¨wÂÍð×ùV6åh껾DÞà¶$$¤pØôÿGvÐä.öAEs¶ëd½ßkÔ¼
-´!ó0BÄrDRiuDÊbß³JN<ýºP\h¼O7èâ±ã)ºH3¥KÝ1\AØQGò3+
-¥: ÛD|,ôóêÇ°üÚ@XXX#7¼7öL³Ahó>Ôì¬#x
-g)<-»OÿQU1Ô»O¾ÎE"¸
-eâg6còßfËqÅìåàç²ÆΦÎiAzɵ¦À\ŶÂÃ*°ù*äb=0ߧ0ßø
-õü¨ÿk>.$z ÷7kv¾ÄÊ s.B©gK¨Ýë1}ñÿÌø½:ÐMÅg[
-6UÓ¥Ècªg·V2
-ÔÓ`µ9
-ÌÛ à®Ýé°c®6ämU¬
Ù{¹2päî]÷Ú±]ÜÑèSËûÞVÌ¿¡)³oþÏCTÊ+{uóê%-áGZâvÙ<×ÆÍ ßâNåHcø_ºZ~»÷§o'Ýs´ÕjÚ±F!lóûªùcXÒV wsThrÃÔ¾C 8k55Tê Y#¯l9¹#;Cë¢j¸§¦LÉFRÁßÍ{GätB9)Z׶A¹H\mß2GÔøïÍOùeh©¼ºlr¼^(+T~A¼ÏÖbÿ±VÐAµò·áØB} {l/ÍÚ« OòÆtäzâ ¦ÏæeWÇ©b]Rh_q;²ÐGÚ|
-Âi?Þîçü<³k
QªZ(ønIE%»hí*ý<(ºþªûr8¥ª#Ù¯Öi?/Ù×´WZxkô1vùC5ÿ0w³ Ûí¼^ç¤Y´]ZmáV³Æ÷@Lâí´¤{±ÞãYí¹4Í3~¤×.fF%éÄz¨6|µ(-mã©¡ê =$H®Ørþ2ÊZ ÊúÞÝxÂ!/- oÔ¢ø½<ówÌ\¹
-ojö\¯ù´©¶ÉQ u`]Þ±&.75ÏÈ´Éõx5P0ó
+357 0 obj
+2723
+endobj
-Åöo£²¼aqƽ=4`|ÉØË,´ÇµÁ!áØÐN&UЩcÂp¹¡5¥´Áêâ:ZR:´¶ZN¿ðü¿K\WÞ|`ä&W%µAäNAö8Â0]Þµ¬ÒÜÐl'¸[I&°«BJOÀÿ¯9ÇÓ7K WQ¤ ó
-Üz¾Nt5I ÆôTáûæAG@
ëýFÄùD¥f#ÁõlìwMG²gòiúß¿E÷½UP°Å)ý£'_úü
¡°ZWr*e«þ
-QLüͧzV²Å¡mIrǽ<7ê F,/3y¸Ê8ÆhºÎå5xÅt¼·[0tÆb4O
-pÊ2Úv¦ã»øc-ÐFt¢.²ÊÄYõr^DÉÆäö_ÀØPýBäÿç+ÃÊt¯Ãba×ÿ¤±µi+wâïüÏr^ªÞeÛd«N}o|¬>?4vÄ1<ËÁAÝUÙi7ÏkGä¸ðéoÐYÖÈ×!ÍÛ
_eÚÄ°
-§z«Hå àC%N
Ü©05ø
VÝÏu²w½(Ect¿ã¢ÃÈÚÃÖÖY¸+ã6A)_äµ)qc§ò%æÐZñØ~5K?ÿæMÀ+È\ÃË8úK¥Òíö²Â±ÀÈkÆTg¼6Ò/§®ß+äþÂ!´¾|3¦X$QvÈ$ò
©)XÈß
ëÓýAå"û¸?%uÒ¾U³z<L\5×ʪ
-
-J¯Qóè(2FãÂOî{S~Ï
-úä)+ G}p¢{ÚCCu-FÄÖî`÷½Aèv¯U¢/8ffúz%,U9ÂYÿ«s×ÙÌ¿W,®rO§è;2Ìʾ}Ø0HÔ;!t\ñb·p¸Q÷{Éi ½#
-üÚé`/ ÈZ¶#Ë.]·ãù^§ôÀ=5ÌlVFØønj еux¨¥Æ:Õu]ÝGSh·ùU?À¹·ò?GÙÌPýçvÚCrrl4´) "^\kºv¯kU4½RêJ®Æ ¸ÂIíiùõ=YTQV®íûW¥ý/)Æq6úù^J¾[SræU
âSùBì§ Ú=Áÿ©~ÏzQ·ïï¹ûÄ[q7ædУíuÊüz<Ù»½z÷æÕÅhÝïueí¸5Ó1hKöïÚUHÁ
ú¤m!Ýå^5äèz-!õÁ²ÐpØöèVA ¿«å£æ¾êÔ;þ,KÙ*\Ø·*E[kÇ]CÇN¤ºCKWÜoxtÌÔì8SRU5å~XÍÛUa!9ØYdжn~,àEù¼5é(|ÖÓÙÀx0:.=ê%º98ª(ÎCoø©ëë3ô²ÚVßiÍñkøû\-go®É.¯ßðÒ@ÀÇpDP^E2®Ç¢"C5ç¯*Öþ@Ã
-p^Âëõ$¯ØE¬6º1¬ÜUx±üãlîF±¤É}e%ÐoCH«Ò.
-ÌB}û3"O²G-ä=/&Ý#,çRõÝç¢WM`ÕòØGk°U÷ª{Îúï;Ýå K)äfÎ
-%h³ãø¢¬ÇÅl7\!ÐÞ¨L¾:½tÔ¡·d:é*éÖ9àcÁìc°¯4üëº. Ïk¦ðHyÜU;É:g1`i«Q^h1[ZáÕÓ)®0Oc`ß)ù OTd§VËèÞ_5ËOóí¬±`l&výãvìçéÿ°,HðPmâdZ¹BÅðhb¾ãzï©ÁT÷²¤ L8û*×Dö¡öÓFÀzuy{S°oæãþF-_R³Eµ£©²ïAcös³æcB¥$BXú.¤û3*çaýsc.«/
,'èçzçñò
-[9_låÆÒâézËÎoXQSqÔöýÑΧÓgV(¤,x{¢%tK[7«éÇÚ«tEXù¢r9>ªúkês? ®nsi_CØ¥wòÚXϪÙ=ïvÄp]mõeÃ#IGç¯yÃÊÔ#5ÒuF*Ë-»/Ò¥?øv¹ø´a¨&ö>oGï 1UkTÖmtc}
-Z$õUÕï®àõÀú¿ÍÆ0´´
-
-5½O¹"ÙTæGÛ9C'ÿ»n¿ÏN?γ¸¢KûÝ!}ãУgd,5ùè_¨x×ÖaSþ ¼\ÜÅ+Ôå)41(«ÁãJï[mÂôT;I>Ò®XÍÏ@ìNofkà/¾ÜtiøDýY-ßúö(®é"Ë-.ç0._dº4Ð
-O½*kr%løv?<\ȯè²ÚdÒÏ;H#¸q[àÞ-cFË8±¹ª?.Z
-Ù¶·óE^|pÜj÷Q"Yú³Î¯Lyôå
-äù¬+eË
-R>a .áõV yð¨××*÷ÃW|L¼cÜÃÜã@¯ê¾0iÐ#ǯOñ¾ÿ  Nåu רÓnËjsð¾p¿ñ]9x˺«G¿T¾&â]¢ÙpüÆÕLpå'ÛBs8l¦;õØúÁQ¿ú[Y! ð«p*ºÉÝo¹ÑÜÕ«y®qrúk2RIôFÁ¤jÍhE>öËØL«yRõÌÛæÝêÿO¨
-ø§kØÒÛS.ì¨p¼à]Çs6¯qbJ!qvI¤}´`ó½xP|À5
-ç8¸§8züé»;뱧ԣáxª-y¹Ré%Ïhûæ·+óR'o
¸'~¡G§ÿ!ÉÖîC©p[@ÀSiѤ¦öãÀ¡Ü^8ó,6´@üòð£þ,øÖÆGÛ{òþÆ»É(_ÿûà3ýçý®T_BÊ`È»`Q÷ÍSÂÌC$̳pϦd/ø½4cåäûŬ¸cÿHÌ¥ÞÍeÄî&ôÐNö¥±%£Æi&|bo¹_Æ6{f#
åutºSluÖ7nâΡEjë%zznÑðáËY|¾ ±R©Î4.J:Ù
§ÏßS¨¾øÉxËqG3ß|å·!¯âÚ*Úe¨µ'ÆÅ÷ÉÚ@>E
-9_lÓk
-k¥äeØÔáå6Ñ^
ZØjÍüw|ÿæfÞÕÁTQë|¡¼PÊñM®hè°é YhìäààLnòEØ]ú¼;> âIûaÙÝ`"ÐbåktO
-årÙJçEÇÙS7)ÌnU¡ö?
-Mj ®¾ö0Ò¨øW2ûg$Z Äâ
-óy8i®Ì`l|LãÒã@pW-ó÷[2n³äSè×ï§Ïý¬ûèÇåP½zQóìþ$
Á ùãþË08fu꺻ø~.0fÆ:m%áÿ0ô¾ºð||kmK²7"ø/Qlê=`±y$!|'§äBPÔi¸6|E ÝÒq½ºÓjª
-q/ÃÃiÍâü½´Ãù5·JãïÃOe%¹`¹BÀf¬þé^êÖ~IÖªä0ÃN`wCä±`¦YépÛºåZ=r:Ær2}¶©ùë]P¶´U!Söã
-Ê`A¾0[yËcÅISF¿iM^F$v;Úæ_=Að«iÔè÷a"Í[«<×Øyº
-ÈA£÷
-|Bâ~Ëá%;N;Ê4Mã|çÍ:¥qàaG©Wþ*xùÌ"³íáJ)!O¥4íW£bHñÀ©Øê\EçiX-ö1¦Øµ"»è9(JÓÚM aÿ.f½8i¶ jsÎåɬ_¨¡§ÀµýøÞ1ñûÒãéeu+îÿ¹9Àä° vWôÊcýÏapanڪݥìÇÉãyÒµ¥{tþ»u;h¦'Ôâ
-kñsÉ|
-:ªígb;«±*~¤"[BäY¿E¤Gïî Ûû¯È>
ü¸·#ùb¥çJÐówÀvÀ,½
-Ã:}lBGY:´hD~2%@n*/ R Óèu´ásÿ¹Ë§§ÂËvÈ|ØÑ+±ÄàyÀÙ30Xß©©W¸«ÞX¼SÛâ]~\Å£QipÓÆè
-¬ðqÄé&þ«·TTFóõágÎqaD½#=,Ç°ÒJÅüõ«"ycÑrRE±Þ
Ñ?Hq6ÙNrf:8skIÄ÷¹áâã5UÉÎ
-vqPvkŬW!W¡ó³©ÌÇGc+mqdìç}L¥.oö\ÑPUËô%cYÒ]>Rçùwÿ¾í6mIþÔè!È,\;·á¹uíêü! àZ
-È%¬âãnUËÒSéXðä*Çüc<ýØWçÎÛö`»Î¤Å~Ú;,ÍÀ¦øv]5÷í·pãc«í B[jÜë¸fc »ÿ¥cpûÖÈìäõC'4
-S(Ò·6zeL?<¼ÿW#JA}¤ç!¯=ô²$ÛÍXí1våOÜÂJGÔJËfbðR²dê.xMaÿKó¶FVêÂ{òŽ>SÿW|,B"9ìqPA&Æëß
-/pÆ<éjçÌuo'\
-ô !dÚq§ÕRXáñû ÇUÀ&3,sCÊÓWÓ(ð·øÿØ"
-POª<Dëaª"¥~ø¢ôð¦¨<·¹éÕ»}cw8¾QýìD/Âçi{&í4ÙÌr8·¶ÀäWe'AÛ~ Ù>ÊöåÈQ*þÆ´¬¸þ¹ÊªmN@5t
-únçYVcÇ·OoÐ[¶lÇXÒß÷}#Ï·¼32¯*tTXSÅõ
_Dz.6y1Eübü½+¦ÿìR í¯Nî·Æ¥(M~(¦«åF{nÍNó`D¡aÔWøn¶Ø²³õªÔ)0M_½'óÓ+áÂ@³N¤©ÛkW3&
óÓË+Íß>;#Sñð$(¤½u+C±Ùg`7ð~~Ý9uÆ´1h¾fO»/Ê÷>Ûº
-X>,~@(ò¡¦
-L¢|óÂ+©ïIùñG¡-+$º&=̨MÒ.g4é8JÙÒ=û
-ó5©Üb®Ø<¯ VØD l=ù#Á,<c§|¿«[@ûgïý·Ñì÷qÐIU«ìôOÑbÞ©Ð;q?,sñmð¾ÖH¸JV^T
-´4Ö:e8_íÙX5X4¹$eåÇ
- óñö°v!]Å>Rû j|µªÂ"÷II}²1o+°Óa;_êêÒº¤tY±ò»î¤`å
-p¼{°¦}·"³ÑòÖð¯j[8\Wébò0Ñ ÕÃu@/]jÃþQOchÆNS\íZ7ÙÖÜftc¿ØÉ
-*ð=ø:ö2Ì}*½{Vä'`û[aã*¿ÿìj[anòìfQOÝ
-³ü
-«ú}ºóªãyµì6òκXEß#¾U
-XÂCÆý,÷òèË0·ÿ3}×¥¤
-£Q¡AÛT&|v,¹é
-×ë;ÛþÊYÎYø?£ÜÐpïÁqhoÌ®ý³à²÷A"mð3D¢åvlÎ
³²Ø«@Î{.^ÃcnÉ·CE¿Aïn²\ruá»dÐXO¿-È.Ï)ÃI³}p«=É w¤Ïüѹè®AÐÐ3ßm Iפ¾µ& ºÎ!6B/X5{È8ëIµ()Ïåë)¨]\æÑ]#öpÂ'
-ºQ>BáHS+Ð×µªÜÈ?Ó1næh¬Â©üÃJç¨ÖYþ´ÃØïÃNð³âû+Á<Ä2g?µh?+ÓÓ#+¢97\e¼Ç)$¶¬cOPXr¿ýz$Ìd°°Ä¨Dï´4|®½)Ý+Û?^a±Óò æIhHºe¹®ÊäªJà}Xø÷3×ZÍð ûrFôÃHña»fÐn¯¶OµObAknwßÅñÈÁÙú
-J*óþ¾¦íËoIïòMÅdø0`䣽piÆü¸`Qæ©ø¯ùR#ý§Á*Ù3#SQô¤£A [ý`D@Þ·ÞÕú©%ãÀ7,Úâ¤ëÍ9l ^î*¥oÅ¿®7/:ñ¯kT/X¿QðíïYêÜ#Ü£5ݶ©^µz»ãPÉb»¢°"c-Ôº`!}jS"iëF
-L³esóËnʬ¹N*ÒÊqMáCq©§LºË
\ÐÛB{Âr¦.·ªlfñ_R/{½r^½îµ¥Dµê*§O'ÇuøÚk×P<¿cH¸âÚï
-¨à
-diŵ_e¸#4
-ãÿ~³dèÌ?>çb«§Af1
¼n_iÓ^m(H>¡ôÅé
m
-vD
-FR"÷ã³EºÁ½
-9æáU?#ñVè}(äÁo6éÍý¡å#Â(¤?ðªlMm#©kAöKþ=©Ü·µ4¦íC¨é§§.{C&G OS%&,{Çõ©³EâúBÐZ¦`øÔHñ0yÚz&yõûåIÉ«3|¥K{ÎC-±:Uèv<
-GöÛQSʺ
¿ä÷$ø¼.®ç2J@v®*Ýôï¥sÉ)Üô$#ÆË·ò°¤þëkj1
éË¢] ¡=ù@nör<éÜâª_p|Àé2
v}¿?Qùooo*Re)m6uáq,?7!z½îâ½¢C/
-ëC:>_fyÎÁìÏPË£Ý,Á¿ööA½Ñ4«°qø ÆÈ ÿÑäcw!T¾|O¬êùÙöÉ[~ê6Þ8\IN4R¦©&ÐÞ¥¤nÜ,ã䮹0©Å:ÎÜSǺ¥ÉE±ÛEÖPI¦!Äø¬IÞĨReCÚëð¯6Ãò b¸{.[CtÖJñµJ·)ýå¡3I¬ÉÅã¨~ϱ©-õáï¾ñu5ÜuS($Ö^<Ñ)»p³FÕgë/\¶nÔ#Å¢Iêôý%9¬W{+ÊiGצYãå Þ\e-,
-ä³cêQÒ@\¼Pì÷ÒÃÕþ£Æüþȸó~ïßwYfe¹XÆ˾FÀëÛ]åòÊùb`&qä2w/Þ9GÆuzs«"·+(>ØïCo75X
-×ø¸ý³¼éÄ©Wí&Àñʲ=mÏ6FhöC(F~\3¨ÂCü ¦jø>n¡K· 1Sã8.K°¾À £L÷¦y®ä¹¿^
G{ÆìÞMqzÜi #n;ÛÑÖâZÅý¼C»¸W %n×ÀÖÁ®ìÞ-³nïüý6!¯:ò;«®ðá¡ÓTʼÿµ@|µZ)Ûªés(,Ä'}ÙÁóâO²§8r¸Bñòû=ç³)¾7JFÜÓA¹mõ°}#ò§0AVk=Y9
-¦`®û^OyèºM`!¹ÃöX=ñV¥RÙÈùÓvKê}~z
-öñ¡¨NN{£Ú[¤ë&:']înÔ/a4½ìJëÁ!o/Ðme5j"Uª\Ì©Ö9M0à.FþVÞ íuï'ÂùáY
-?x\£éNÒÆ÷s@Ó%;¶[PÁ+760~ä×5 _±ÏWúîö²¦Mì=áßì¥Ïz]]7±×¥/*3*)¤%O°& ë<·TF¦ºç|¤çî"bWz×KwibÚìBGÌFJ¿·úÛhÄ4!õ>ò¸.$ä÷k¬â7 ¿½VÍ*sÞjÈrP-¬B
ÝKDê3ýé'2zB
-ôîzÊÎ%RD[¿ÚÒ.Mu=\îÞ`j¥&í~NúIQ÷ÀÝ¢=1ªYdMQü]Ô<ô ÀñÎ2,à¯'®±BÕy½ÔRÿeU|À[^2xpÆr)â+úÄQj8|®ÃADmÎoú9ÉI$ì
-ê
íñÏleÚÝz[üÅC»í%hÁC<*0§&úý¦ÿpJÁ¦Gq0l£FûÒ8ùR¤ó@-ÙL_´G`L£ÆCcbæ<:Hú®È³¸HÆfn&LÀ'u¶(8É
-)^Äíù8Í¥ò¨´Ó'l#ç÷hý~}sfvß)ÒÂþ,°Ä}§¨°÷ÐÌúm×\÷h
-zBAT
-Hí%·àZýÑïiÌ6Ë|"ýùæCâ8Ïfåæ{z*¤Pùúq*]Zô7ТL<õ'ý§_ùä¯Ù¶äæÑÉóMâàµ÷éhÍ=ÕöudÞ^#8q¼¸c=Á$ýf,Ö¦hë$| ·Ì¹àPåÕ$oyºéÒ]>Ñkh^ÕhLg¾Ô&9kXSt&Aaz¹*±ªy´©O²L½wbûâN@IK4uÍäNä#NÝ@Í.Áàù_¥çYµ®ßF@_ìÒ»+O«&Mñ;ÿþµÝõ;<&!¸|Þ®Îÿ+ëéA³Áïס×Î#ÿõì°¥;À@}gñ︼ڡà¿7ÊèÙ!%Âòú¾ùÐ_t:dÛŶWáVkXèBÜchl·,£bçÔì[ÏT#ò&(xg'C,*$â¸äY7
-]oCÊq&Õ÷9
-»òu~¾´xÁuÓHñBxPDP¾ù_Ó@}"Ï-3ðZ¾¹ÉñPWH
-¥äÂñ
-e0¬¿s{ÉÔ
-ÌØ åòªì# |Ù|iÆà2Þ¾¾
-¹³>uDö¥èDBdl+k \Ø"Zýéñ{ÕâKÒo£4èNù0Ô)
-fâOKnü:GÙRûÇç "¶cþܧðv?ÖNèèùð~n|G$k<ç÷çôÞ/«V*¥c`C¨jvhR¯N}=_*Ez+ÅE^2; E
À(<9àÄû(iIètæp>µY¸ÍÄ,Zÿiéß0,o hÝÚ<"Û! ôOª²PØ{4L2jyb§Z!þõ§â°¤SV1©~8Øè-®½Æ«æÏM5ä¦uËÌUkfÿ KÜSúÏËVÑÖ-fÒ£¡²Óz¢áÒ)<ÂÎzrkÏEÁäÜJ\ÁnÙ§ÖÊþgÖûƽKåÂL§êjw¤1½)6Îa§(¨W^ MÎç4ÒBz>¾Ô/}£(D³Zãflkª±ÂÉÅh¡qûé&_çÖeµi»'^hÊ^cwH~<Ð
-&o%¥êñÆ>i Ïr¸Å.¢ |áVjeØɾÑh±_)<mÉÝd>ö9IU¼!ÛЩzlººX°´@1i¡éj<vñÛûXõöyÕPÈRîfa
-yÑÜ9§û´ø|/tý×Y!äo6îöT
-CTzÿÉ}ÐôDáºðKîʳ½ØFÇLR\åÖ)|Àf°¦×}
-%»yqÝ]à
]Éë¯9|QÞò½·gsðù6u+hV Ð8<¥ï¹Ñ*ÖÒîåF?æERrk
-{Nì±%k»Õè®1+ø|ïJ5iD¿èøYéV~LT¸°Z8Ôfó#[áaÀ0tL2Ã:L7ð#ì¬â6
¼#h~½8ÀA[å~nÂ
eîO¨EV
-~ºÕ/NÇÓáèWöźnÊ?ô[=ÛìéÄ<ë²ou=Ey³_änK7õyéÜ£ÝîÌáfÆ:úþdq)ã
-,>Ø[èNEo4ºj?æªéR*?i`¹$)Ùæ%ê<ùQÃ\ã}#£7ÀF{¤5
-×ÂpÆ&pXÎTÚBKU®ÛQ8ÑÑÙH>à\ù×k).Ó
H:B"Öj&§;°[X1DþÀ6Ñ~k
ÜY²
-oî=]áe8$J]àÒçÕaO-v}˸få%xö¬CÆk{Ç®¶n
BéS/á2qB²ûgà\8wï®cCt¶ÄEÓâǰÝ_iì¸ÇÅû_NëK4¶eÀ/{çI·!kàäYû4]KRÐ%>*¹æ6/º½iÊÔ\¹~J.vZÝj-+â\Ùsõ§z9\93Eó
-á]ÕC y øk2ðW̬òÀÚ#ÓÑ RÏxÝÞ\{dq¦¤OûXÿð~òsåIÎôÎÝæáw]»Á Ö?ͨWúk«¨h°ÅB#!
-ùs/B®ÿMxÎMÖ¯F4q;]oi¿¯ãN¼zèÒ«¹f´Øvµ²`äÞBÂ
-UµÔ»÷èx-Ys*ÀåÝþÕ¬"ݸxÓôS´JÅà'f}{qÇ_©bó~"üw 'â¹@b1H>PdzOg°üÚ¯¸¯ÉÅ)ÚOë{k
-ñV9£ÜCW+ó`óaóÃCµßÔ³±FîUx7}ó ´xR¶úåêñ´~:µ%Ñ
-ñhï?ÏîÖFåý5¥(óßVåÝVôsMÒeÌØn)#ꩤùñJ>ÀÒw æ»ïãÅïUç¿6o UÕ&<L¥7DÑÌcáøLy÷赩õÎõ«ý:²*=Nj]'@Ý^¶é>X±\{X¿ëv9gL\§<ï(`ìä¡¿/"e÷å T¬·}óâoIH©
-AVèpe¾¡8+4¹ºwyLF_Ï*ÈÍC[ôôQC§·§rO««ucH5ö6«íQëHÖÀó/×ûn£!üá_.Ó±ö7Vm¤q?¥ß[{aFññµc¡V¹ÚÑ磡'
ë,.íÚNT ϱ¾´Ì[k30è³;ï£Vµ ÅB(3ìÇxØdm¦{ôø^þl}¥½õáVI§\ìkÀR;ýEU¹3D¶'càe.ô¥ôtÊð÷'·Ïâe*-¤½ôZâóÌÿÎfHRÀî?y»;æ¬'¾ÿ:gS)ôÁvRËeqvl
-ÖÐbE¢c QÑ
-
G×}eÛèW3Õi°õ°ícwrBx
-e0«8&ÐylôÐèÕÿzó¨¾÷%àèåöÁe8?Ç}ÎTóD¢l]sd¿ÅlÈ£ÌI@]¨ó/;xfÔSÇdãs ¬NÍù *jAô
-ÔMï'ö^Ëäd§{1
-búòg
-Ã*1ôó×&]RPlúëþsÐ$Sâû¿vêά(äæÅñßsoGQæõ¾¹îtx
-`ªèZ ãÒçO1¨3O¦d"¸¾ïÒW,gñØô6Ï*J|&nü0;ÞÐWÞ´}̶ZnãmFíýØ®ÕðÑjC\oRÂÃD$ê£Ô:ͦÃÛüµK]ßô?þa1òY*Þßë°WÂíÎP:¿Ä¿0~,î49¦Ó»ð>möøüÿs6(ØtädnVÓ½2ÊÔÖC^ù®?³}µâ´FbTOg~½9æ¯æ Q3²PòU?µ¸þ
-M¯sÃ|KÒ¸»¹ûÚF}Væþ
ÒEã'/K.±¾(aÄ«óÂ{3ur%¥¶r°ìºÑEËK%Û³Üã2øF#cÛþð÷j` 3/
ÊVYÔµÎ
-ÆKìùnÝÓARÐUûå¦Ã¥8d")]¿¯
-sð y°î殹wïÔÝ2 ¹²¼fóà¨MHß|}h¸0[·Û ©ÂLrÍ?{§+©+)Y-?Æ黢:é"Þ@ã7JJUZçÏ^£Q1²Q'
-'Ôb´I®=Æh]3E}
+359 0 obj
+<</Length 360 0 R/Filter/FlateDecode>>
+stream
+xVÁnÛ0½ç+t0O)ÊcïÜ!À~`ë¬ýþEËI»éf,M$"ß{¤ìÝßÃçÝGß'!â3ý|ùá¾}p¿ë¦>/?Çó!ù\çïîÓÄ]vÅÝCô[Ofé¥dc²$!3L9É9z:ÁêjïpÙ¤ãgwþuϧU=#
+)©ë4òéOÇ¥÷¤é?÷õËávÑ"Ö./ÔñM|Ü¢Rö²A`¿é=P+e Yj×ê'![ýz_^ÿ.ÑïKÞïf½d%T8wé}"!?ß@¬Q(
Näé¨ß@èð¡Õä÷¢ÐÉ{jO¢µAuINqÔsàX1®É¸Q?Èhu
endstream
endobj
-361 0 obj
-90488
+360 0 obj
+888
endobj
362 0 obj
-<</Type/FontDescriptor/FontName/NimbusRomNo9L-ReguItal
-/Flags 68
-/FontBBox[-169 -270 1111 924]/ItalicAngle -30
-/Ascent 924
-/Descent -270
-/CapHeight 924
-/StemV 80
-/FontFile 360 0 R>>
-endobj
-
-363 0 obj
-<</Length 875/Filter/FlateDecode>>
+<</Length 363 0 R/Filter/FlateDecode>>
stream
-x]ÖÍnÛ8à½BËvQXïOHY²é iÀ±Ô@#³ÈÛWGÎtø®>R4éuw¿¿Ï·õ?ÓåøoÕÓy<Mùõò6sõÏãªi«Óùx[ÊÿãËáºZÏ÷>¼¿ÞòËýøtÙnWë/ó¹×Ûô^}§Ëcþ¸ZNy:ÏÕoÝÃ|üðv½þÈ/y¼Uõj·«Nùi®ó×áú÷á%¯Ë]îOóéóíýÓ|Ëï¾¾_sÕããå_¯cãs^mëzWma·ÊãésM]óǧã÷ôڶ¸¶®c½sSòü1ç¹EÌYYÙ
-ÙçÜÖÍùíwÈæÒ#rbNÈs¼§mܳ½Gçnýþ@?Ðàôøýþ@?ÐàÎìÈôøýþ@?Ðàôøýþ@?Ðàú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_á·sõ~ßè7ø~ßè7ø~ßè7ø~ßè·R~ßè7ø~ßè7ø~ßè7ø~ß9þñwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßátF8#ÎHg3ÂÙ¶
-lÎù+Ú²rÉæÿY,h6¥;ÑÈDt8.Pi|ñFv ¢±+íåK÷ÌèdDTôÀg¥uNmÉ-^F
-̸>-AÍÄNèÄ
²,²éuð¬´aÆ`¥ÅALt&8eÁM³<#artËF{ÇN®tÛáÞ®LvqèípvÆv¼øÎKû2¥=²æn±ö=Ûaîzf»õ1þûåOOgñôË$@;<«)bÏwW<}ynS~y.®X§G¡ô¥)Á°ÔÁõë¨3,uðîÖÙÿdØ@±ÃÿÚ«ãÛ4ÍrùPvcìÃç1ÿûKáz¹â®ò÷p×Ø
+x¥\Ûä¸
+}ﯨçR±î°Ð[UÎó
+äY @d^òû!)Q¢-Ñ®I¶±³½ULñzxñ,·ÿ|üû¶Üþ°ÜÍ-¦þøûí¯ßnÿúXîkXòz;þ÷ÇïË-ækoÖÜ3îùþÃXñë×oâ--øý×ßnÜÂ=ÝÌzûú~ûÅ»¸FäcHÖ.Î8÷§Û×?>^_¿Î1ÆÝ×[æÊ9ÎqÏÙâ~BtpÖlrv¡LöwÀ_¢%¾~ú©7Ñw"Ò¿üùCRbo_?
+ÁÁ?À=¿"]À¹Üé2®_É'ÔùThËH©zÇÅÂæ]9 ÿÇrÒnåÛî¾_éü¹êç>ÏÀ|>óÂþ½d
YáAåóä öâomç
+2¬;·yêIeâ§[&Áy[Wxqr3;vi{£¡ßÀu
+-¬ço@ø0¯7À_¸Q!¬÷bkOýó¥'GÔ¥G»¹÷N
gþÎbÐdF¦2m=Q×u¹»bD=OP]_ÖyÐÄBË-'_ô¾Ý§i"
+$~ÇJµ
ÀºzWÙ¾Z2lñÏu#±iZI\YâV]HbëvÛ3Êòàµ)ÐxSôä}è[BôLºU>Ê৴Ç1ÝÆ4ÅÛ^ÿY*ñï=xÁ<XAmÖÕ
+N35\ô-âdð^µ
L¬½\¢íºþ>;ý ;U ?ËÎÈ:mÌxZ[D1ñBÙ¦js©lÁs4»Îd<Ue\e°£xS¨~c_wLÂAB1U¿«);b<YÎd£mìáCFJ(§Ø£¯ï~)¤}*í¸b )öü^]öD~B$©ÏëÎ:!1
+ÙÓFthÒDýL`HÉÏå
+êÂ¥y¼Üa§èÿAwÐ"älGD,ØÃ|">a<RÛ¢ÕÆrQÛ÷àj`
+®
+ΧxúQàJãá@&Mâø#¤¶W×ÚIHðHÇ?Õ ð¥'peúÊA~·fä,ÇxÝñ¼ñL¥éj%ïtsd?´ìºé°f0óöDΤzn«ófb1Îèç¾Ã¡}¨Dgúyäkòu=ÏO1¢!N¡ësõS}¾ôKĪQ08Ü,ʬpþ
+SÏ^â0ùÊÉÒ>⨩gëN.xÂ1s,y]J¨7
ÂÐtÎbÏIÅ2θbÄäîä_J¬¸ÁW2}âíw&lRÞ·A}ÌÝö¨1·är¥Rq÷àøÐ2 &+8ØË2y ɨ¡EE&EãJc¢»ÚÔs3þ~·1e37çÑ?V©üóc/n`Öbè£J¤
+ÂfôZLYÇ2£¯Zqò«æú0Û
+GOJ»ë)F>ÜPd°ÆIí=²¦R#TzZ äD'LU Ý;O½ÀíÉJèT$ÃTß!\u;@¶ÑÌl½hxpê^gAæ»^¢/5 zW¦!QUevóÒYP§ ë_«DëìBâx6dö´$dWÂ~C©W
Ê9}_QÓYCE
+¼öÀ5
+s*¿-x
+ú@¯±Îø±Öãoº`Æ>eõt¸7Lºò¥f)Û[U;´Y¡r»!ûIêÛ¶<jÅAßÚ1ÅíeÔUÀ`r»8y]ê>©Ì`¿Ð£ÈeVÒ'9øBèu[µ&»dUdU68v´(¯ÒéãÔ×áÜUÖ&¸ñcôgam
zbhf`¤g@ûL6ªz»@õ¦8ÉÏpuÉOêtÝg´ÚJcÄõR'«ô;;Ð
+R¢¶ñ¢¼ì' ße`ÃJé1 8@
+yÝ´ÎtêáóbØ7
cf?zBè<[c\,ÍÆd¢~ r?þÛ7+Fð>_NßOïÎ+À¶¶;¦µþð®%Í.S
+>êwó¾·rÐîÉìDÑÕtú[?Yë¿«Õå}Å®Ñ(¦H&ÅßÝØÈxýè(³øG
+¡ÃÇ
6Q~C$þÝÿ&7oj¥h^1áV¸QÐßâó$?O¦SÅ,Eß'sÆMïU
+}0¬Ãp=
+ë^`Uݬlª:Í»ÄígtB\
+ÑÝ'nYºr3oRahýýz:e%ºª6ÄëÇPØi2'üöø}gZH\CF%3s§Gt}à´÷AÚC#
Í8ÝߧRàDTõús¹òúv5Ó"oÂg>éâTÚ/y9õ
+Þ=ÒÐäûªwäJ?³$μ¾*UayºvNõìR;4rÞV¢JwÝ6MºÈÌ:©o·<¸åÂÕó¨£0;¯:ÛtÅ Ú¥<8óÆ£æAüdqWÙ.ó»¯
+Üc´çP¼)Ûúò§PßÅ¡þDðî&¡.¯®*s@Õ þ.!QÞÿ_JGØN»&f_ß-ôNZÌ]Òï½±2Óµ+ë½´uP®
+}?9 GýDSgBÚ¸Òìõ¨Xt&£lÑI ¾£'Qô õÂø?¹¨[¢[ÔåXjðXi͹!ÃÅ´ê¯-W*â}Ý@éð
+V|T¹¾5E#Ã
+¥5y|Q¥0ÚGéÐ8Ü38Û
Ï~¾Sf¨Ya ½L\0¾4,ë[dt7WÛÔ¡§±@[`yP]e]wDeÉ£C,|ée.KS(¹§ÚË¢µ,¶}æ°Cç60EÊX¾óç«vöÖÍô)oIÓÉÕ¼«Zʺ`±w©¿úë°_¦\~ö WoÐZñVﳤOñÉ73~qKµüxRÞ7A=ã¿F:p²±.éUGD9ü
³»ÚöÝ®1ôr|WFbLn¤Ô{l¸Ê(
+pßyÇ6ɹ5åpLW»ÿ%×û?KË.Y°/K
´¢%±j½QÚûWò½0Äp9Æô$][Ik3añjmÜNO8iÐòÙíæ³vã$õÃ-nUañÚy~DzÙv¿7@8Ô¬ò·.|ÿF
+>¥7!püX^¾¨uÂe²ç·Ûd0L
endstream
endobj
-364 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusRomNo9L-ReguItal
-/ToUnicode 363 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278
-500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500
-920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722
-611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500
-333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500
-500 500 389 389 278 500 444 667 444 444 389 400 275 400 541 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 389 500 500 167 500 500 500 500 214 556 500 333 333 500 500
-0 500 500 500 250 0 523 350 333 556 556 500 889 1000 0 500
-0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333
-889 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 889 0 276 0 0 0 0 556 722 944 310 0 0 0 0
-0 667 0 0 0 278 0 0 278 500 667 500 0 0 0 0
-]
-/FontDescriptor 362 0 R>>
+363 0 obj
+3538
endobj
365 0 obj
-<</Length 366 0 R/Filter/FlateDecode/Length1 1282 /Length2 77308 /Length3 521>>
+<</Length 366 0 R/Filter/FlateDecode>>
stream
-x¸steo5ÛvNlÛ¶mçĶÍJŬضím£mT[¿·ûí¾ýõwÿ¹ãqö~æ\ÏÜkÍ=÷c
-e5sGS ¤£#3/@ÑÚÞÔÝUÍÄAAhéørÂQP¨[»ÙÿG¡ tqµvtàýwÐÄí/ nâö·\ÝÊ ân
-kgw øÿ
àþ³º8YyY@g
-
`nmæ0ZZ;Àý·ú_hñk7k/3ã_Ìÿ|þëÌàï7wt°óþïrE{ à
-ý_´¨¨£À
ÀÀÊÍ`afeðp°üÿ§Ôðoþ
*XÿgÌÿ-)ã`áàù9þø³
-9 ø÷_Ù3¹7õUn
-ËÊyÓOÂ\$=§
-)q'!WÃ÷SÖÃfz'þÝ©GÔHØìpdî"2ª¨tW£ÌÂ_CuöxHßþÌ)>6Áü
-M&ËIê¾Ï(°O#EWügÒø2ó
-Õn¸Â|ñ-
-×1ýY/uX!AP=íW¦|½"¯qx¨"M:ú¬utCi»Åjà²8ÎQîÛÊWÅBñ°ÚÕcë®ÜƸöqÿT>X[cÌ÷5c=í{r
-ïW3Öìo7³X¦lèµ<àc¸Kª?ÔÏùDOÎú#n)gg+P7±Çd¨ÒÛÅ/gÎQwô4ÊIçZZ~]Á¸Øzu º´é×ÈÎÒ/Ç×`h³VÔõY÷"-®y¤ ^n²¯º°{ã?\}PúJßH mg
-ȹhZТFH³!qMÐ=)ÅèÌ]Òo\r_tòäË÷*"PêÓ ÏÁ¿±±3A:Ði01{!FuÒIta}þ5¥DÏ]wyËÿfº8r¥írH´eU;ÔO¦K7TÖZØí;X
-%nÏÈãG¹°cgU¦Å¯)5ïcïÜôÈÉÂ~+_+§I{O긦ÃÌ*:¹Ï¿oJæOúö
-
-z¾ã¶û沸Dê;º
-'1´/-j*ÑêãXÁJëF9Mça>ÑlS1ÂÜ.êfúÉZÙtÈÊÌ ôþè}®Æ.ðKgib4^fj9f÷êTYg!|v;îï"úDTÖÏo<á&J/T¦?&iÉ5èD)U
-«tM¨NÃ~
-gÞfÁùåò
-Èbó1>c$W©ÎÙ³ éù©¥8ëÄϧë´l·6c;h2k![-ÏôcÒòß´zç=}Tëùyík©a
-#m)°xÊ~á°³Ûi`J0Zâ·.ÍôÑ|u>g¤0·'_ùK+sm~AI[ÌJû캡إ´^UO=ýc>µ5g·ÎpnA2¢9Fà%`îr*é6®ò±½à=¼:ÆÌÔc Ó¤.è6¿Ö{{+MtñÍ`wâù@=~`¯ÿP~·ÈÃã2«Q? ~xZÕàJög
->ºzu}£ÀõÎo3{ «0vùiÐ
Æ2&1·u^OF,)²þÊàEIbÞ~ÓW³
-U9PO+ÃëR&;®ð«£$ð`²dX)~ÛA)E{ÃÚkÞwpö$¢UÒ½ó¤ï7Ñ
m$½[^Sʤq£Ánu¯9E`edRô1Ô?YÖNÞßUØ\mi±Ì\S,iø³hçÓÑíîÕ8H¢Ì %¼¡2ø©ãµ}½ZB ¶«´edí{¢·I;ÐHæ_Å;^ê
-ScǶiú4)&Þ%4¥·QWDë4/¨
[Ý|9§é¥-UÂ'nò?¬÷ýüï"T4ÍåqÚfiûíÙ,9-cáaÜð0A»ã3t¾G4`bÎsûmn¦w×yÚ'ÌC0¼AòϳÕö1w-+êÈT8ìasÑ êQjÚ°Vôð9ëviÕ:
-÷pGQ
-YX?dzÈo¥qÝnkÏÃT°&l:+ÍÊÒD¨{)¼Ò<H¿}±è;îAévbÒÇÿâ@û@ÍV+©-HrY°ûì\Åø°Û!»ÒÛÞa$ÙÉF®,Ae¶Ò¿¹Ú¾òÚüÄ"W·@y«Zµ:¯·¦+âØÂàD/2|Ä~ðÖºT æDvq-·ú¢õÕÖ@it±wÓŤ_·
-Üý3e¥ÙËóñh»7O¾&ßVJE®KìLæÞ:T¼¸,â£F91ÑB¡Ói¥åãçÚãOë<8éÞxΪکhL-l¯:Pú cwVTÆÔ<Lrd
ÆÒ
Ô;ï.Qh¬GSÄ>ùʵØÀê
.úºr-F'É CrÅà/£ûÎg9È>më¡Ù<²f,JHk9
K$ïɱvjÊd\0øqjÊÃöº¿%Uº(æhWwG¢
wiäèÜífÆ%lB';S)©ò÷§&Å«+ࢥgC!îöÛâ-·FI<̼×ÈLüÄRQ;Ö,Ó*>/Ås{»æVmCÂ`±çÆCjÎÚ¡É-®ýd^hÙUSÕø05TfN÷ÚSþ6<ÏÕ%ÌÅYg5
-«oÞp[]m¡ë,(Íl
-$¾¼É>¯
-®¯ã×àÂlZÿÕ±ü{¿omýÑ=Ù¨¼e(¬Ml/û{C3-0µó±ácé3ó&oçY}·XáÚ1)Ôï'åÂë5VÏÔ|ªþaEÒIÜ·û?§ØMÏ Ï£)O½¦SH¿GM°Ö>
v`j×+ÈDÊ7Æ`iWÑFÞ¸UW\{í°Ý.¢å4.¡}|¢¦Nèa¾B'µ!¿+£_' xТ ÆÒ®áÃ#é>#;dÆÎ " åDù[
u
-0o¿&®Â=CÓHOeüü'
-Ñy«
-OL¸{eÊcXJZ-{÷hH&]ô®qRcÙöJ¾½¸cÅÞÑô>ºZÙr¢ËYIÑûÁz
-üÚ]¢b^þ4ÏbÚ&¡ü
-qgÚ6ð«¼)í3'ÆÏh
-®ªq¿kôu-$r í©ÎÜR
-51²vÅÔ} yK$:6ë<K
-@ ¢an
-'
-©zG^"_{ãg "#öuî?GÙ¼\ºUNH§ïÔµüa}l>GCÙ>ж×kãÜp
-Î{¹ÊHÿýè>Ê&Ç1Ç!nÖ
-M}lT±:pkDT§ÿ 8¨
-.á!J¤IÔjb°7K$°Ü&÷÷À²Ë³ÆFìóHÐïÑM¼©Õ¸Ìj¥Z"ÉAÕ<ñ»³i|qÐúÔ0;ºì¸Ìã"ÐÙùÐ,Ö¶Ú>³dFl«VV@hwüØ_A¾êß&ÏÙã¯ëoÓÖÊ
-^¥$iPt[î%ÅúéH«Eáb2ÃÔÎ4eôEïÃѺi$Oã^ç*O;':°Æß»ã}WLò¨d9[MÙ-Î$)n-DD5ge¤ÐÚè6´º`3ÖröÓ¹È_H[ã^QFÚb©Í2D*ÖÉëy|Ýu¼²ìe¶èW6.CaÎWýªe, ¡{2øËA5¤B%.Él¨
-3ÚIì
}$RÍúÔÖª4!1Ì5¸£Ñèâ?óµ´ébBýÕ>v¥Ì6C_Ê_NûÌcÀkh%æR1Ä´"âM*s·Úùò;ïg¥«={mkÑT&Ñþ3±N
->B»CP2êGvL"Ì sØ:©RØn_eÀá6áH§ £I,g4R×ÃAçº?ßPz¥ºíKó'ÿ´#
-6^;ö]àÇuÄ$\L#0Ö×ç/~xKmøÚ{¤¥N5 âò7{l
-ͯgß)tº9ü¼¢]Õ¡/HèñÃÜSpºÂ»ÿÙÖxíEQ+N¿BÁåª ÝX&M}A4ék_óý'<ôÃ6[-ÑbÚñx88«#;çÁº*û¾Àþã.
-.!:ÈÌìWÜש4ìï¸sWGÑZ[K
-FâÚÐy¼H¡I±Ì}
-G
-ß°M¿33(²¹±Î
-yïò½²÷wDº¾£ÇºFú³dÓÈúYlÈ}3qÌÓÐ/ú
-TAÍÄ&ñWÕq¤3«uèbû®4+å%ñÝc82ÒÖÙ-'0Oáû¸Ç`M´¬Ón7,ôØë¾Óþow 3ßo22ÿ£²íTñ#廊,e;yêÅèÚ[
={E;ÃÃP¸¾é
-;sÄ.0Cg-äÓa¯¼'wÀØÐðÁ@tPð£z=y°º)£opWýÀ×E(Áä»tkÚ¼ÀÝóNÅ«¹µÇõ¥609°ß"=¸úT®X×
-kLÃ÷úKÿ>î/zÍ°§âelVñræQ¨W¿(=m½ÅWêÂëYÇu¡µ.« ·ÔäÔæ |Ó
-[ÄØ×v?ËËuT}Êá /;~9û¶_ìF¼mïäÑÁ¶¯¸6Æ^F£Z2y÷À°l,-Eqpw
-Aºª|i¬n|Ç'ȼÝz7ê_áÇ7a}ú.àå8]QVûÄãôÇjuëÒ,ãd!;Ô1t;FÊü$éÃ
-{¶ü¥~9H» Þk8¡Ñ¢î¢ Ƭtà¾BUiÎÎ3¤Û×,CðèQe-É
-°b·Îp¾ö®lÆ¿XHXQ¯0( î~ÃÊ0F§103ßʣÿlz$¶¢Ö¤¤Iö/g½§îÉqû4íl&>åR
çTq/ZÛ"b>ÝÈJËea§ñëjµg´ÏÍ<Fj®Cç|bâR»¹ØåóqYðOsAr£»¤h9vá¾KÞð©
-nÔG
æk©IÒ}Ò+£|§]h:+±ïhl]RÂÐÈ«C ^Iħ³ë=2׸_¾Èý±¢/Lºþ|íÐ8/g¨eåpYÒ!(?ÚÕF¤M¤æHOÓqúôF"÷®÷ÙlaEC#æä´º:VêøClK#P@ÃÑ`Öàïô^óAí¦Ø»O¿
-ëÌË}mòصô.ÜPä»áá?Æ10`HýÍnÉÐvÈnB_îy#ÈÁæÖ~½ý´#°y~¢«;)ì°¸c¾9N¶Ií¼T@<ütss¿R ¸7Eáþ1e Â@*ÙÑH£ ³Åì²îϨY÷@v¬åªÓlHò XÃþÄHµ!²k¸Y3iÑ.û2xÓ}¼®þôû¶Ý}ßCG7(sð4$©¬ÿ¾ïë~×÷see<J´²ÊY*z3OñMëÉ:(¸VPxÑ,§î±òD©ä;zåCƻ¶,.T0)
-¢ç-FöljHa$dA{p,'ÏC~Ó!ÿ
-GT,ö®pËU³tMXâHDÛïãYf;å?ð
!´¦ÀiÂ+º¤ç Ó_¤)8¥ítTn²ô*FÂRlÉz°G¤ÖNüúC1t¿éE3¤.;ÓÕ¢ÄÔÿì<Ñ/¶
-ºc¼ÇÞ'ζ&àîR×Jµc´ô[ó±Í×ÁôoäÉtqµ
-ù§úI+X|é?ÒPÄBĸï±Pó/qª#T4µSwEÁµçh{b+¬9Iï0+7v,ݬ1?Û h[V½U0bèQ¥r6ÜGft¢T*nJr§Bâýayy¾w%°nÕÌÙào¿«ÚôY@Jã<àØGjXrO!G×p(¡ºo§ïübº¤óÖrÿýRcYxû⳪BçpÜäAÁtæ
ñüSW°ñɾèm¹
¯,6ç]ÞWoÒaS¼õ·¼±IÙâÅe=,$ødÙÀ¹®x!ð¹{<
-¼Ù«ów®×Jdóo»ðýÏ073Z¹£ä:
êìü¹p/Ô£Ú&l*ÒÞ-çæÌ91_Õ¬2Ó¾µ<#©º!í¶úL%Á³9Úù
-Q°ÎO *¥¡xE÷ßYð05ãcmÇ/Guî@¢Álµ¤ûvýV¡
-¯¿ËÕ~Á.{ʶF4
h"®[¸J(~NVÁ"%m1
ÍnÜÖ®YA°[Ü·wð¿ÖÎ,¿ä3&>üäøE
õCÄì) ï6)iww:½$Èûý7Yó°«=&[kÆ=pGîºòá©@"ɧÛWûHBD«fíB{2)vªív!j:6©úõ>N6gDºê[e¨|_°BË@EÏ`*âLx¾N®#Xo1ë!q§±PT`MסÁ»ôÅ
-}ôæÄ^÷ÏòaµÕöÍ©NCðsÔ'=,v>Ê÷å¡.Ù
-ª'¬Ẕ»Wþx^øÓÞ¢üÓëJ¶2Ïñ¹¤Ä˳Þ(ëeASÀaQåQ §ár¾¾+}vTM ôÅ$nêÎ+v0P;%×e²T),dhÔïiH|íïÿèuù@Ò¥ý`Ç1ðQWöÓe|çYieÿÎ<¬)Trz×O9TÃôAòôgÔà2\}õ$ê-\¤äNú:xâËkx]È£¡SÅ"ZR¨b·%Yímñðz{õ}è»òÚ'
-°ÄQê;÷*Ó×ëQ²>ÖÓ¢"¢þlD>æ²Msñlg7ÃÁ*æ5â/0Bºeø2zmϺ["aų[·¾ÐÝÙl(eÞ[A½fs#ß\©aü±@Ìü鹬%?z;*fßqF$&XÃäwß/·£ëk¦ªý(eë
K?8]1÷Ekz¥Züë,·Ôa.¨ô|³Cpç.u¬*þò.2Lñ9U¥~»³ÌgÐÏFÃt¡m3¦´NÙâ7¨KÛVþê¬ê¦bVÂÏ$+ðF at 7«÷.̱Tn at U»+½°ç·³*L|Tí"jD[iy/xØ÷])J#j~õ|»µÓä}´êÐêÌ÷·¿sK58}nü3*q¥M^lÈdÎÓ´6ýãEñ8ÒÓmuZw..þx.<]Ýþ|fº Ý"-_ñ;
-ÛÁTX$¹*ªC´l(P^Ñ9I2jáÚÔ,04É3dÏÿÉM©BÍ.c×Þ
-
-Æÿòq'Ç7L®'ôa2lD\·ö@9Þÿ½ ÙE³mz¥I¥aòÁ÷Á2ê}Ns5jÿÑPkËÎK¢COÈû£k?YZ5:ò2sëÞS/[Uç8QeûµTN³Dw7Zî»þIõ¥lñ7S[bNئ:¡jÇ&hÜT¯S½[ØTéå+ÔÚÑN\ïÓ Ï;®@¼/¸ëÚ¦ZÑB¼_i¡»#^Y¢àÊ%¼VÆKÕ`O,3«eu/GLGLocyÁW©Vqá¼q5¯x³EÙn8<Ó[Ó
-M L/ÀmîÀïFaÇ^ø#´÷äW}gBM®qªrnOäú~ oOܹONFï#Ó饯$9<¤þ
wH4(Lèê|ÖÃP«Æª½![¦ÃE+>Ï×Ñ$ÉñÎÞ~TܤïWJÉßáN²J?Æâw8´ Ëü=íqÆ;Ъºç0WüX>·ON#¶£él-ËÃt× k¼v._°¿
ÈOäA2ÕlìúÕ³ü|°$µ¦K©CÐ#X¿ôì=!¼+æ!ÿñ-'p{S÷ÄIl÷þÙ?6q©ØÌjUax¬É²0g¼®Ò@G_®Ù9ÇÙÃ\Ã~äÔ
-ÔËv§»ÐqH¸Ô!w4§$yæ
-ëgÂÈ&lÒk$yC¯k´P-´M at 6i8YâAÂÌYÖý!úÐ?x1Li·×%'g0
-U4G
¶CÁËæã¹Ç7jå#c1þ:À¹jy¾@ÎÇT$í]{F¤8ÚijÜãEKê«xêÆÈü
-±@¼f=2_gR´$±®A\?wÜn.L 7
-â×JØ4ÿøÞ¿bÜÕPíµ±òmøS¦íPªÃEBKÄÊImi:ïª]t[8Ç¿ð½áÜ/QÏùKéLkCc.#ì(Ì®KÎ?U¹Ñ9ÈOGäòS3ãìqkFY%åÇÍ
-øuÝÇ¢®dÿÑG¿VæzÞ¶#*ôî±Or¦F¡®Ù vÊ<±{H~Å-Ç\Ù´ÃiÒÖVÓ£ñOBGçlªm×$vq*3Hë,·!é.kAÒVvF¸é§b&èÏDÎ
5gú°¥(l¾Þý:e¶ SÇH±»çlküS>Ójóóŵ¦Hì~rwÅà²O§æEÆ"ÒÂwaNpQ)LÁà¡$±!i$åB$Ã=ë8PdÊiÑ)A6/>믶úõ.>"|°hQg1äQ§ÂU1;øçQ³rRÙ£S[Ýààr.úÛ$Wè/|¿ZH>ìC3 Dë`¼oa¥DzjmÔìèÅè_Çá[âäIÇi §Ã¦¥K¤&/Íb5DÙ_>1Q²OyÆ;"¥ÖmÉÕm¯æ 8ÝÁ²¶éÇqnNnú;ûÐåÝ9o¿9ZR¦[1û(Yp°ë¤ê³¢M±jëÌ´ÅûgaWâ][¹BåùÓMqi£F}]
»ïG0}Çû%:û¦ø¤Æ¸Ùp
-u¶øôMîu8©¢S>¶3ÜW|ÄÝç7ÇÝ*: 1Ú©Ù¥l¯¶¡âJ~Ö|a=«9«(ß-ÐÇèÌÛ¿^Wú\䣷q<÷r±]¼û²´árìI.Êÿ|
-t'ÍëzÃÞÛJ
-oez!±¶ùªÒTR&~áe4½¦Ön?ÿxa8FX«L2z+2!T}ÔuÿeiG7´ââY¨XM&îðÃìUJêÿýîa¶ì:ýwùbÒÃÜÅ5Í6Xî
ðéÒǺWôº]
-kXXéFä~
-zþ)Akå²¹Ö2T¿QtϾ¨íòÀ²2âîùðrP¨V
->Ï£ä«!Cg¯.'/Bß@þ
-÷OS´eS8âû¡mAðy3Ì{Æ;êI§³QÈ8·Ñjç¹oª~U±ói?ÑÑý â5/¡Bðþ9Åær ä·=zØÉ[ÓW£¢Íh»2L]´ï÷º2gqÛxN}úT/FEßìwUíع¼:ß_P¨úf'sFìDWÁî°ú4êãôß=;6:»5äòiç³4ºÜ#°a°&¢ÚS÷?"µvÞwg"=èÍaL ÂæÜè3Ò©
-ÁñÒÙþ(l4qo`ä´Ôkð»ÝΨSSö¥áq qx'jrfÄÖy¸-)õBècxëǸ´wbû6KG¹ÊËfÍVC/
-äq¥îîx^ºm³DZò'²LûÌE@`=¹tÓÙ]Â%pü&´¨¥Tÿå®zGØNg=w]#Â:váÕ
-õ2bDÂðmÂ
-t<´ÙȹíE«
-;¢»@ µÍ®]xg;a
â³RäîÌÜ:?©R:m
¤V¼~8-oÓ·Z³ðö5TW´¸Åèfî꽺Ä
\wùÏ ]cWÅ2Vq-P·DïE,Æ$C<V*«#øªâüQæþl[×Û\ù¿`âÕ*nÀ7?©Ô9&Êû,¯kzcØ¢¡öM a¥Ç_âìC,pL´»ö0µ ¦÷Vo¼¦Y¬ëyòõ4ݵ ='{qÀtâh¥yiEØè}wg©WÓk*øm¿cß»îdcô^
-`ö$Ê` ÊâÂ=äÐôls-3Ëwçøò£ß=ªîÚXIÐÙ5xK£c õúÜ=ÄÏ~Ñ7RaÏ
-k¾ï°zF±ùH´$¹SµÊÚLK9áµbdg,,65AN£#sêñ3[×j¬'wcj]Ç÷Êø¡fÕyç\ÿ°ßÝ£U.Â#ÃÜ
-@°«UyOÝîM|nL/'²|iPí9n¥å+þú~«:[Çù˺("õ½Ü·Ý³Ý=äI.ïîÀ }öÃT÷|×&¾!Ï{ $QmO:×·ä¸
-~?S×]7î5Ȭ³Y{öàÅóõɶÖù¸öRÈæÒÀn*5Yz£²>º;±óª
6
-åo®0"LútevùÍ÷¿w
-¶\ïéÔ-¹)ÿô8ÕÛôêÒAËëðä08¶Ô×Ë_ßÜ?md{ÔÇNÍÆÞæg'Ø%Ö
-Ó'~)
èܲwÝ÷]6ÐWGâÜ2G>xZÒñ,Ì%cE¤jôѵdFÜãÀI»Á¦:Ìÿ k¯ÐÉ;,Ál8âÉx»
-á9Ä}ánæFGï®;nNoÝÍ2@ Àʹµt«+8W=ïàBz -1+aøU¾x¤`ÙÖQG0Î+Æ7»3WÔR*ö½¦äu6Ó 7¨ÀmßU ;WçÊUÍÄN¿Êc 52ø(G åûj÷*E}>oaù¨br}9Þmkù¼
-"ÇÈÞ¾@ïÔP9ÓrZyoëo"Á0ünH4ÖãJðþæG8"273ÒiÉæ'sÄñ8N¯!xTãwFm1RƤ¡BX³ QáÛ×à¢Ñ=2X o¼ÇÇQ(:¯ê7
-~ÑÛÂÐób¯R¡hµW>;ò¶>ùF©kXμõïe?»Û¨
¢ÿý/\X`¥[L©hü§P°¼¶'¨{½çèçQB<[J¤'8CTÛ1g²ÏÁ#{9o¾i33q¬Hêrµ"Áð· ÝJv÷ÔÚÏ»(ÅÅxAüýòÀÅN;£ñÇËUÐÒóÊ%û¸R 0Q¹tÇÉ
-JðM¤ÎY½½à9$ã:e¨½VágóòÌñ±Ò}éÅ!Í/عóoÏ ëSQ3Ú Wßðú¼è,{ó«bY¹ÈWùP¼ßÀm˺ioIo//¡PU´1 )oC¼?-Áa$p]«î.÷SVÿRãøÁÖME¢Ï¯S£³£MØir¢¡»©/)]Úô
-bʪ^P4¹1ìªpuw½CïÕçäL(g:«©r~%ë'jH%uÿT$"*øɸd0HZr8ý_ÂÑ2}¤=Yü?ÐxwCó«Â Q6ê>¯+â!s¡k/j¬^óB¹µ1;Õï¡B,ç{°Ç¯IÐEHV<&/'®av¯
-ÞÐß&kæ
F7_`u!§}ì·ÖiîO®6û*
-¿5°åÅPrÍþno·EJ8øýãE§iaWNk0Ý w⻩Ìëí}õÜ®ú2²Ð<eu$Uü}¤rxU¼CƸ Zái³ÈÍ0ÊÏZÎK6ʹÁãJÊ)Ó²©>ÔáÔçÁ>m©Zþ+³HÐ!îcúíS9äùÚÃp\Ýô´¬ú·ÏdG:/Åù¼¿û¢\²(~_ `Ó¥yz±Å(ÜfÖ¥ÚãÁ"~*)ûíÞË{.½í¶ô}g}¤Ldé
l&AuÂ_Î
-®·q{ÕöB0®Ð#Í\õ×õ
-cíùz[+]³?gÊË~mùÕÛ°(Ç.°LwøÁܦG¼µ-M^"^A¤×æm.¿àu»í
-Q~dJãÙ«
"Ucíîo£u\ËÝÅrsSy¬Rkÿ¢Ø/ä<x¯]
!¼;¿"]:².ÙhUÊNöÂ7 ±uÇôÐV§]ýy[ö»Ñ$¡µÞÅ9C>èOeßHÑФ¬&¾~i9ÌBù6ú)ÑEOʸUMH}j'Äðq0L6üÀúr8;`9µ¤k÷Aat*o
-©X?Qߥ!AÁÒÒùG÷M[UÉËòû"XË~jÅÏÎâd¾Þê®÷ºËúµÂ=®3
F««c_9g|_lЬS!½ìñý[!¶Ø¬~û>^}ÙÉ~¡TRå¯N´L¯«ö
Iªîg;©£â±©fïÅHkÒnç²òÿ»JÈixuýãdgé³X>*K )UtÌð#¥$D#AÕï
-ù£î|Ãø"*!È*àð±É±°<×o·õ´5üwm+ë~å{I·¡v°°{¹Ç«û¼[½zù* [mY/à5ý=e&PòmÝY&w;&[jA>Ä}ÁÒÌ}
-0l~ "²>Ù\9
æxÝ7
|ô"E OX3Rvh½k䢢LÎ毬>pZÒ¯½6ÃX8Jô#ùc9¨Y`µ (Iá!C{(§füzر¼z¬ì½_ädð!D~Êð°ÎUcì'rÖPkD<é÷d³xF íÇnÇÖÌÏ£g$ßßrEñ«¥¸7ÞÃMïAÇ{|Á|¬¥F4¼pÃ\òÂ×%¸=zªÐǵOG{ó»JM¦S¹1Pí:²ÃÃHB´Z\»°ªä:£Ü¾ÔHçºé¼%¾ÿG³»¹}F¬´d(E ÙÔFô-³ÝÙÑo~£o²àókÊP·?Åû(f&©ÛahiÐz±NXÃì{ÔôI+sn4¤rq<
-DÖ¹÷> ~¥³õEÅêSÃz}@.åËò¹[û#¿VjRH;E¼\2°´ª"tÆý»ùvÑú[è»âå;¿ÍÉ
-ÔïL!¥³bÅÿP'QÆèX¦Ü¼vH[í¦
-'ÓsqÞîmO÷W°·ù"$7w^¶
-»qÃlùfX¬HVó~ÍXZuV¡·tå¬`Ù`cH¼Å½ [íש.¡·ÓQs'ìáÕ£p¬kª+Ç«0}0WÓM|ã[9ѨÍÉ@ä1Iebúr®~¸qâi}]ÝgJìÎñ¼S×Qt_0Ó8Nµø}Ôcl"µõèÖ¾N
-°$äÚl/¾H
-1ʺ~Þ䱡Ê;Ê0_I.e¦éWuG{áÕD2ßÚ~¸Ü××>:Yî»;*
-"Ðè/¹¥æ·¥4åi§âò¸ý
-}(À¢vZ7Dqµ°h¬-úÈ[½(ë¤
-N¶NVêö`èr&ú.¦³Ôp»É>3¤*| ¼ÍÆSKÍmÑ9k2+®¿½fxO!^ËÆCpðVùG+ÆDéÀÉMlÂ\ !;ß½îÌMmÏOÝÐeÜ+i 5¶3®J?i<ÊYFóå@ÀãdJÒ]ùÞÊ+>9 ßÀ#äl59.\}ÊÖ¹h{ÉΪ8wT@öÆv¶ÚK¯Oüõç<ÊÉÓÞèÌmx~ºãjô XGà7¨×ït¹fÐ¥äCã
-)ø¿02V¬|¾U\MX{ßPvn ì.ZßâÇ#²!-UN¿Úa&MÑ8Ë%Â6£X½2 .ß&tú±;$?д¬É1
-hßf×lýzq
-õ~¼=Ù-ó0¡mÑCÈGFrTzÄ®|ø0gÍT¼-ÔîJÚÒUÛ g*ØÜî%g¯4×ýÅýzÐK'XSÑ/gØCS$¤TWAéPÏ!cE6ña|ãÀ4²Z
-ʪ@öÙ³ß)!=½`Îj@Ætl8B
-l$`©Â¯ã³g¢$ºÙ/YûcbË{§¨
-
-`7)w´¾ùnQÀ]ÎÏ*{cIÑ'cDI`¶ñç<i衳Â÷Ðýó<Ï«PM`ê9]R5¶ñÞ¡µÁñd£pƤ:sa%ñv%Ûº®ê8¥Ípj°ÇHØz¤kÒ z¨øµ9zµaJ%Úé=ĵNc&ÉnÊv§×§ã5D+8v"k^+àáÊ©¨ã¥²äY¨ß û:r|{Ú2&ߢaù"fJ³<íq®Qö±¯·qYAÑ[~à¨1E¿ÝR¶&óDGNÑyE{ºq×IúnRd`$ÀusÙ-à4&¿C
-;÷¨U ,¿¬Ð_ýÉx¬NfB Kã¿«êgÈ÷d©ëoCiòðX5ºçÝ
-ÜRHáÓðÍ>æ,¶ÏCͪ<\ò«ÓûTXy}|Z®BûqXN[v ühù;Õ]iì»âmoF
-ªÝ¬áê¸+á;>8¡êNb%d8&£~ä¡0¹Ywõ8´®^-!ÓÅÉ'8kŦ4_9Í£Êçøâ4HúåÖöȺ{§-{)iJ4áþJËxl5I©Õ5àLÿ
-Cø7ýsÄÐÀaÒõ§ÍÿäÏC.¤?
-å@-Å:`VÅO×ÞÀ}+ð°·òyóÏ
@#¨H
-Ç$P¯Ûµá4TQ?ä8þAìmá9[@EÛyÀ%\òêMHËÇmc³)ü&¡Ñjigi,ýÐw úcl#Sê³ÇªïÒCüÛ¬IÒæl»K¸|QDbÃmÊÐê¨v(Ý(¿í~ýh£mâÎóXjBʵ=æó()úè}Áùsüéz:õ¾*c@ ÍBH±Z³Kðexé±wà©kÄw¹DÏÃ~9F>´1,f¸ÛpOï>æßi¬Pôu_k÷ôböãj)øé8ÒH,FÎI'ý
- -%_°|T¯¦ï0Ê[õ§
-¹ ü!7mÏÈC0#îbMkXÔÔCfÒZ]Vr\t¡·çª`ÑìÕ~6#B© ÄårÅ<èiçPõQªÉ4cÌ¡Àº³ð~}]]
-_~wV]^OÜ°)¥ ïÑبö0«?äÉ)VAR®}\£$¤ÛdÈóm˳£²Ðw8J+\²UßMÄG£Lî`5móèªú(?l¼§úwñh%ÿU¶!Ú³Ömí`SZMÍT¿¨â¹JÄ!ݼ¾TÜÌÏRêî½ËÍ$ó¼ÖqsÓ}@¹r5(
-\©+÷Þq:?ê+áY¿ÔIp±'ZyìÛ0o?á¸ówG0¯4 |ôm§Va³Þ!¹«å<±MÐC¤eÏÚE3xæ¼»¢¥¥Á0®qÈÚǾ(A`¶sÌâtìÕ nsSt}=ÆQ´Ò®]
-Òþͨ©ÿ]¥#¡nUV½"(fÑy¸-Q.nEö\ûrá*¹¥uv®@èzñEµ¿ÔÅ×8(g!Êä?I7¶ÃÛ ZsÉ@±iáÃê¢IЩh uEv=zu3*-êÌOݬ.Ë;Ë,[ÁÝýîôü^¡¥Ñ=`ȬaÔ©I,U¤<?zÎ5
-K1¡ÿpû6¶wõ¥jºos5ýüW!<õ¦ÿ@]¼T}ö'Jð¼ÏýX"2ßϬJÞà¶ifÊã$jxÉ{¹h¨ëñ`ËkÇ|¡uQfâW-ù¯®-RÏT6Þ©U.tAUÏ+µ,û®$ص{f
-o«ÀÉh¼<W+hÌ]J½YI®s8Gìx.'¼²HIÓÓtZT'·ÞD4.£(!»ÚzÝ8u¯ûæþ¨ßÊ,Ïd¥}è
-£§_}¼V)âóy5Pnt£6Í38°ÞÝê
-¾®Ýû
¯øáÊ)úQðáYIO
-x3X8nu`jÌplæ sdyDrÝåå>>ÌXWë
-üÿqÏ]{Sj9oYh£.j¨{·TÝVδ±@wû£qjÒ#ÕµÝ9oêc÷§%¼;ÂÓÙ²»|EdcP_~¼B¯ü;gaòÿ¨#¨î's_ß$|Ñ3ýÒÕ]× R* tLN)
-[H>P|vK\"Y!³ì°NµÎM¤¹NÖ;ÄAQôR1ÝÞ61/é[VãL!èæ"vB§æ{çd»Q#<9àdAOÉdü0Sás9ëì©øÐìÆäJO #:R\È#ç*|/ÒÞ«Ø©ÏiGkQ ¯±ËnÞ=!¬n»j`<´²©DT¾MzË'=gåLúÙâ£ã¶¦}ƽ¼-È.^NQÎidr!pH>ôK!kØ¥8gU`b³ÆòÁ䯲.üÂXÞDkå¸O8}e
-»Mdº6Ö+'=6ºt6ÃxõÝUÏ3öÊ"J
-µYÂTm
-ï|t *3zõtP6<÷Â&¶yV[}÷Okëfõ²ñÇxvZyêòíâ³
-â$EU³ã`sõ!Pêà#Pðyþ5y覴÷,³OVþ%"
-ª×â'cb
-aÓß*@_b£ô!m*©`ûßPã Ëò¢ÈqºÉ^(½DM#Gp-J#ï,ÞȹÃSLfYóñ3nê,3_ùή1Ô6ÉèömÑó[tƱã0jlGcÏû!ËÐ8>Égì¢+)*%]~ýÁ®fâ,93§ù è=Ô»2ã0úXìRéÔèý .óñ¢ÂX9/^ÛØáf<t½"} ?kã£B;mvêCðöK`¿xFzÕ¾\ÐzÍÌég/4[+pк Õe
-¸JÐÞZ#oO¥lü%p¯ÍôÍ~¹Ñ{³Êðâoïä.³g-¹ûxoèp#ýflFCìP=ØBù¦+£åu`ZQºO)®|?Ù!Ó8ÆÎã2æ¸Ué´tßãEÚûxó/>üo*R&ÿ9UîÂFgW¦N£+6[{BjE×Ϋ(á7{YºÙ)ããå%O at v¢Þ¡°Û9Ùi~5h]*äKÏbO]«Å¶§ïiÁy¯_æÁFVÐ,ÀÓT=+ÇjÃöe~r8(r
-jçÅxª=
-±4ªÎSçlÀ|;>øwÛº
-"¥×TÞTR[|¾ºÐ$Ä°E¨pà:t at i 4:¬±ò-e:ßm-HÆY*¨yZw/ZNPðÃì:µò=RYóÂhÞüx Y¸µãáËSþ1ÊÕoø!ÿÉ (¥ì_ÿä£tLѹc<ÙØÕ¡4¾ÒýðmëÜÝjºtV¯X¡èU< ÆzFEFÆüà´ýkÊw+Ì-*n=׬<¦l"ú§¾7èÌ-»sëRuï§uï0Ñ?é£6/¼ñ}¨¹b¾ðXÕq@ÅU¤6.»ì¹ÃIÒ«k:Ôk*6Þ/üx.Ãu á(jMl)
-íSÅ|OÙ_æ2õàYìKO¬>T"£y.EQÝø!)Í·ÀÃ;é3³øhN«@wæzAä¬QwX¬?q¾²½Ò%l#/sÆÀ`²¸QÜÄ6¬ñxó*øÆR×¢úØ9¦èËÃ7\'FÈuå´Gç6îNÒ¥]}á à.2 };ögÁý".OeE!}VW äÒ^øà!ð[+ÍÄ8ý+˺K ºøg¢Þ÷`}}Mxh}4·1ïñíä®ð@Kñ¯¿úû·fôñÉIf~1VT\9iÔ¼ïécØu_ÇOÊóÅG{~bua"h·M<ÁË^åËèH?WøÃEW,]×&Mí¾Wpæ¦PWN2Fü7Ö>âÛª:¦elÏÇé;ßïÎCÜóbö:iöé$×ðÔ%¼KJ¸;DÆlÅýjÎ:úÝ?>É<óT*5×1Õ ·
-óL2TR;2¡O$PÑÕb
-H~Ì¥°" É$îD¤Ñ³z%0ï_x%¬K¼,µe
-ï0V®¸ï5Æ
\µNáÃW
-#,¢ê¿½·Õ®)Dz~Z¸îãè
-]Ѩ¬7ª©h2°¦ ¦i¾à
éYæÒyqöPÐ"6ápEtÛ±éKãWf3,×æè] Ê"x?¹ÈÍj~~A8=c|ßXYöõàõvf7GÇÚ ÞøçÌîîH+5bÜ8/R>UMCiE÷R¥Zñ
-ÖCí1Gì%*Þ¨æ4z×Qºâ×ÌÏ<[¬õ=¤MÔ¸¡ðy*cwVÏ´¶
-PU"Aºòñß.â(Ûd§E(9eVÙøçgüK|Öì[²¨»
-ªK£ii¢3#Õ µ×YÙÀiÑL»X3Uál{Ðßê),b¶rM²Ðc¾¼ÁsùL±^ì)Ä ìOä±GcXJóýg®±zp°iÔÝÅÙEÁ©Àr³Ýæî]hÐFáMÆ^Ô*vO´ß·<Òb¨}d¬ü!»´Í
(O÷°å@¬¯n×Ý|TWÝñ+gôHuªís3s±5¼¦6t-þËâºh!ô+
-«¶Óò×;bsêºÇ·Ã§U6-?gBöÜè¬Þ ÅoÓÙÖIñÔ©nb¦HKºGÜ£Ü~ÜcÑb<ùSûD3jn|¢[ESY8÷û¶¼f9Þl¯9´½Wßàä
-LçÖ9¬½øúZ>GôþuÐÃ¥øÍß\e²Ø_&îöÁ
-®ìÁ.üZdèÅxz,n? 4á
->ÜGñPi,xU&}5+h"Qì+Àí+\Ãpr\Wg/5:-wRoïß}~!þXô'xéÎ0Xï[*þ²Ó°~Ð}a³ð¶Oª'Þß¿©tÍÆÇ;£³ÉÊÑ
-W÷Hêºâ+Õ~ûàÔ8ÈM÷øÚ×UÓþ
-hìñѺw
-%Sç ¼ ãks?uÏV£V^¬[¦ûúÎ\¸\À*
-ägrÖÈAFvÿ(9P
-
-ªµIXTÁæ g»^±mÐ&ðxNaKYÖÉõpµpÄcêMyuhv»àaª!aÚ4vÌ渼R) Þ~þ'âÜU¾,mû7¿üANW´i\¸¶óÈ_ä©p2Å«2ìðV¾V%ÈUp}gW@¸×ØR
-MÉaµ¯â%â÷`ÿ*.õYT®OE´ eÍð<×Ù?ZSÄLdé!{ê=é8:²Ä²×Søá+ÀA·ö£AL(!Îå"íììHgý¯÷LðÇ&Òï¸þ6;Åçw×Ñ0m °\Dý©¢b¬8bÉ»ùÙÂ
-Ìdx2
-O±Æ0w¯ëBõ'5½£Ã¸YÐQÕÍóëJB¼`aÕ²?ûºoqbóC^ÎKþ IÊïú(·¥âcÚMM-Ø k¬âФgéîJßHÒç$í÷¤/Iiqc"¸â×&ëÜ~¡¡v¢Ú¹w@ð5^â£9#Þ)ÈWÉÁ-}®¥hæVrê@b;´c °÷[ç+úY>´)vdlæSêÙû*
-í!\ðã^«É}Å÷Îr;ò$)9¸ÜÙ¶Ís»9O8wò¯"hid¡³ùþábjz`Ðãç*.»*tL;²¹yTl`×R+9ûS9V4eþòãô·7ãèßFûìË÷æ¾2bѯº9\ßù&쥨¡;þ÷µNxíäVØ&=®2¬Qa]Êv{´æçx<ÖBX¶ð¿##TÖ8½è»î"çðü0ÇÌtñvT,ÂÕóè*k|Iß·Æëè0q
-|ÔÍE\²
-@ÂHYå?Lûøæ°¸òÑH§ÇSâ-§
-,oÜþ¸ý?¾jÀÑyØÏPV¤>¡RéØpVÊA«÷©ÿî¯>R\iQ jãoh9òÚÓÀͦx}hÐDÇ£óL\ áÁrªñ¥3ãÄcJêP6iacQï*JLM¯ú¥êèóÅ°#·éi9¼÷cÃãVð,ªu/{>ÅÉiJ,¡¶16Û&g¶%Mæü¥'èçgdò¨[úw
-
-îçÀÀmZõHû:(ËDjôrØUo½_Å#´}mñ6éäf£¢ÅÆýXH¬ëQã@*A:
-·4Äÿ
-Åá^/sDtosqÄÛêyF\iï©
-=ÑóË8IN Ï#1b_6ÆÊØÑ$GÓY6ÎCþÖ¼Ýðý20ËuÎ,¥ÀIªÆ ¡<áÍúei?ÅÓøéO¨kO
-wª¾
-
-çk¨1@£ÑêLnº/(`<|G¤+äÐ:oÃútK¾0´Ò¯YîòË},Zæ¯Lk.êÝÎt#Ï{8wâv¬Åã2ùï kë¥áJóÙN
-DõF1Ôí~׿xA!¢Û^;å¡p1\9Q£ÈÓJü4uõ^ÑqEÛóÛ²½oÝ#%)¾RöF%Eºýn[bEà]ûÀòªÊ²5SEØþ¨¼ØßÖ#øIª ÚùëÜ3 ¿¦}ù¶JaAÄh¡-Ôà)$"Áluê"âÁ¢9¤?år 2;öWçØ´ô¿Q[Ü|d=ýièȺóÿ ò
õóc¥¯X¹Ã¤80¸¬Í
-×ÏÓn´|ä¡ét¡Ö®`8ÔË&×ñùÞ"cËb cÙüYpsÊÃå`O{îâ ±îsµÊ³27!fÚãöXWg:=%ÅôqY̸QÆ1Öö¢W"Ôä;$6ëÊzÝ÷ã°×oò¡ç͵r²WhgÚ
-80Oç¾g&þRÁ\íï6o/7Ô×/¶ÅË]K£oøâëÝìÄ_¢3ÿ )zU=¹º-Ã]Ñ
-
?´¾rA%&éjÕâPl¸w:ºMѹXÿB8ËOè$J0Ù|6Õeß÷F%åF9É,Î%øå¸\ã¾ÙϾ«ËîvOßBâH¾ùöAbàL Ý"´BÀörZx1@=&Ï;3hq*§éjï^ú<®coïli/aU ºyÛ$xë1gÕt«Áj1ÂÍðXþbNݱ¼µÚµ
-«Ä:¸
-¥´uÿ )Þná|oªà>¥<µÓIwlg-Ó,[
-¿Vôà
-
-ßËkóhS±³)øPYK{
0»ç碌¬þO÷e+Ñ:¥#l/z aâG%I±'WP×W}| TznrâߤiA¹é¤óíy*,¢åü§J
-§Ü%¯ JÔ)³Îj
-
-/?&ù¨·èhíeÝàüaaì°Iììî[=ßÐg¶=GÈü0mÇYêÔ%uö?r{cy·Ä. Ñ
-S)úº«å/l-B2Sû
-SFªïÁËÉzá°$Eä*cWP ×htû~oɾ5ÊaÄ:Ü1Újöó$ Ë"èó¶²%줸T$,¯a^bÄíYvϳAÐ_ðǧgXPÍ]§;'ØÁYyù¾Ú³8L8ó?¥+y³âd"ªân «^þñUï;(ýùéÄÃô)ì'ÀÞr*QçÔ89k;óM4ÏwÌ·©¬èú¬[^Èóýwu£,3r
Òí9 Säù±¬KÎéÑBgL¯?ù?ïôño{éO6
-V#J
- ÖÔÁß_!É&ÉCÃV,ò§H½è¹'ÉmµÜ4pç6$§>*U=¸ÞÐÞ
-a$ð
-Ô=ÃÓE¸lCd¨ÎhhöíiÉZG(ÏõKøEPoðá6ïï\ÍÄ\
-zlj¹<ÂñΡ42o¯'SêI®t8Ú×è
g9Moa3®½ß,T%D+2¨¦Ýåå¶XVvKn^8Y=w³ÁÖ5@ªÓR×R.æXØÒCÅiAoQ
-ÂV$:¸S»XW$K'G
-ÚGõeÍÏb½fÎÛdBRèj¬ùÙμûõ?(ÓbcJ
-Y±*ÿµ·G8öå8#¼Rõ}Â~-8rS°
µÆ·Åäëû°ÌEââ~¸ut®%áphºP·0Îj]ÓÞ
-!;E"ó
-¤ÁÜ}N)Ï9ä(ÑücîqãËôºvßíÕkÐûªÎZ¿ä
-?~!Øg£Ây¯(áqâ®hø0LY¿15ù9Cʦx7µýb¨C¥Â¡1S%«[qsÒèbÞÖ}©Rwr½y`²¥u«÷2ûAøz`É#ö¤t¼c«îõ
ÚWK61Ä'½] ·ôÔ³Ñgzçow=Ì¢ð&²ñ|òó:ÁXÓ«KxæRÂódoª=?a¦±Ì;'ø³vûeuÌ/|¥Çl g4L¼}æ8+D-ÇÌtÕ¨N,þ=¦VGõ?4¡Ô<ÉQS®dM96ÍC i^ÖpÔôÑ~A§0±[W!HÑ;/ZÌÎðâÚL*Ï~ðH¹ð¤Ý1]o}СÃù<×UIÞ©wh1ê`Æ¢UþWf·
-¬*]RkTtþëWÁ²h[*ø R1è0©E[íbi,ØÒµºþÞ|D>¼¾«ÀøA×ÝMúæó·86 ø0ÕZP÷~qV
ãN4·zaº¼Þv£º{`)eFï#søóªlãá[²÷3#´ÙÀrAyÏ:bKzË"¤ôT³è0÷mÔ\¾À¬úíQ~%.Ò`
ÙÎQYGS£+ü¾e8-Îë?øBsãdÀì×þ~#<5ÍtÝ*NYpÆ!¬â×ÆBP¨òÐý!¿4Ü9jÕn {
-ç±´ÈúUe¥8[µL¬tfá£pÆaM¦³
'èÃ)Í©(C½E¸³®0oó~z.®óýÍ:À«lqÿ®TgNfçI´c¹9ÏÂõ 6
¥¦n\SüØkÝß²è
-X*#rÄOñÆÅ©k§54ұƷîZyHÈ
-ù>{t{Óð§ÁXQòºÄgå·ú
-§þ¼ÆÐÓ 4ã uU3kÅrZ[XêTÒeð¥Q×?mBH
-GÁ¡tÞ»{|ö'C~ÿÃAt£hÌfÝm¬D¾Hã70óÛÞ½¨¸wd¨ðg¶½»æ0¬±ìJØ0S8üv®¨LêÓ!ra
-qÔèðPÖ®ÒìÄÝßfñÞßñp .i,Il´ïâÀ_GåxL`·i ¨Z5Tµ4Öí,+<ç}@ÚpÒöÄì^&ûúT<MýL¹ä)N¤Ð!¡A7^#gý½O¸®.X¥¶ÈnDÓ¡ºáïl|ÈsA^çQÓû8¨«ÎAW-Tùúòlïòϯ²<VÿíÈÓ«à*¤+v6tëqI}5ª¼¡¥v'£ìÃQ¶¶®QSïlØËdÝwOÚ
-L"ýSɵOÃh¥ùÀ«ç£@|<f'whûü#qÅBó<ô¨Öû§s|Ø4(Ûûà±s«ä`CR¬Çwf̶k~N~,[Ï àË{;¿mcl
-Jûaðèqòí8q5ÂD,ô&&cê º»OMȲGz·¶tO'Qx·y[DÄÝUu1PÑ5IW
ÂsCG]fxéY`7H¢ííò_óQUÿμ5/)9W±.Û #ïâBªÛÈÆ÷àÈ$Í#uÁÙáe
-(`±Ã2ÛNÿôª[,`âÄìÓ Ó¡è`ÅxhÍ4: üy¥|4&Æé?¯©¤uØÌØ«Å®´AL·}(¾Þf¹}~¶ü{>
-< Ë°&w(U±sºUñìfØJqР̵ÿÙݱÂluC¦ Qx¥_ÄYì¿!Ñb®ÍÅÝ%¼*¬Ö«áúÁQhÉïB^¾9Ùé¢ñ°5ÞÂQ®è96= ·ªáãèz(0vPVú]ðÞ"÷ÒÈ?Êo)ûÛù%@AÏeȯɱîOzÙL¥&8Þ°Úû|±¸\èDø®W}£U¹î~~õ(Í?ÂÝo
-ÌÕók=Û}¹bÉ[Z;ï¦6øÇí's/¾Zzë
-Ó¶\G9&:®szÎ,\Ôª¦è'ïÛlqì¶9U´¬~ųU*5Ü2S@ Æ¥)kÛ_kb¾ÉÁG]KI´TM
-m5íM¬dÒN}ÊéaBÎPÐJÕÄ¥ã
~ÐEë(÷Q£9$ú·ÄøÝä˺ËÙÕëPÜi$
nßJGU<²L>ßJZn×Ãý%·Ó,x}ài¶ÅUÏd¶?°ÎUJÜçÉWÚúc
-·Í£¢¦&
-¹òÈcûæ»"Ü
-Îfۧݮ
-ÄyÈØ&hܨDK®eûÛ[ÜU(ÎÁþ¾QXWÛ>±¿åOMÆ*%NÓ>õ/eëhÒ)Æ6µ¶@òËçT-fÓ(BÆëÇ4ö¯!¾íÎÖUaAÙÈ\=ÃÀ«>ñV£ãí8`Í©àSàdpÝ©Yä?«³a̺$ÞXó_l÷?¶Å¡/ ¦¡®=
-gÑ@(¹¤'8¡ÿ P ÛÖbÆ«±ôm¸ª©±·Õ¢dwè@ÓlÀ|úãö°?Âyï@ù"ñ ¬)KÇxÞ ÕÁÄüJ]ÞÿYLf±¹ :{ádkí«ò°CÝx"n6{ÊëXëÀ
-óÛË
-æ ÞîL&ø#ñþ^m§FüÓTs±UDâoO~èt¥F¯éê¡~y¢·Ùæ½×
0v7ÔÓ¾,¯:ݳqÚÅ÷ÌòæTð!üRnò²TOÁb Ô²G;¿u
-ñâq@Ìj'äÜvD3j<Ud-¬$¢Åæ´J>Ëþ´#Òkñ¨êx0ÕÏg¦¹!®Bó|AcþU7Õ,jmÈæAÈc]O¦â]½ÑÙÞôòùkPÍ`x¿u±aÜP=qtä³HεÖQø£îiõÖÎÍ«A ÍG¼\)C¹f¹!ÖÕö·ÕÄ;fÎ8§i]TYõº¥ÜOû-r EÀU?ðñµNV©ëþw§ªL÷ò¥4¸S·LìÚÒïØ>£'ê%·P[.mB|ºO9îãDºüb
-ÐW(;³ÜåOÁ,ý´1yÌbáz²Uä
-Òª¶(J[ßþ´ EëbÕÍjw
󿸥DK="²I°uG
-5ض¼ÄHlÅ¥TÙÑÓvHj×X
-Ï$rPÁ4ÿ3°µ4vý°ÓùÚ¦võ÷/FW¦ü2¬ç"Ì»#iòì#@µÎ·Z=m)êfƯõÜ®RÑÙ;ukÁKf9Þ@%ÿÊí1Ï#}±uÀgä$ñ¿ B_ ÅÙHÚUêmjVv0gõHvȶ
-_9²ßBg຺ïÄòÍßÅ0UKÇ!ö
µN\pÌNuîÅ6g^þí
-Ù'KÈ3¥È-O¹çóå{Ê
-®n2dØ]:i#´÷QÄV"Jîhð%h®ýT¯çqÄ·ª ¹Þ¾
¡dì©ØøÖ©Ào³+H˶S\×ñöÓËý^³g^uÖç³J)âZ3÷»ðØÆ6!.ôvÜ6»ÿÑr')ªÚhðn°U¹]?§ä¦7/a4A¶~®#2Iä7õÙ!Cìqê¸.5¿ñx
° #TJÐdmHÅIá°sìÍx
>ené³ÒÒTÏÀbè¿#AcCs«øeþ¢[*W0X ÂÍYѼ8ç =ÝÀÀÌBcm2^yñîê0a"_$GÖÌ[ãôs9±,¢kR'GÿîzuK~¦:µo¨rÌÈÙÒÀÑ·,<ÅÕÀFzjô¤¥ÄkböSø»éÐ0[¿]pÅeÑnÑý¬&y¿g¯y7À$ly¬e§¥´íÆÛx%®Éï½*êuàÍô8¾8Ì¡Ê«Ú äï\~_²ªPo@&²Yi'C½X¼SÑEçB¹ZmKâáä?ÑÏ~Vý*íb7¨uLÆÌ Ã&áõÔÝ9Im
-©øXÛ*k'ÂûfVÓI$Ñ_MA>¸Ø5¹pí
ë,r t¬ ÞPÀÈ@WAoâÑîU¹p'j|^wûãÌü \èó)* :¹:ê%OwB°dÆäW'¿<î~¼Nu¶§å|"!þe=(µïË9ªÉB;OÜ
-ÑFäô_ÄVæåáF´i6¸Jv.-nT ʸ=EZ6Z]ÇGRÄiAÂ_l²cZÖ] ¾NÊG#Þö")f¯~Ýܬ ¶ãNìaóÞXêËÿ-¥â:·Zó#'KþJë
-µlZkJ[tz~âl#¿÷d_Vç¶i±ïöÂy{(÷xϤ¡jm!â79#a¯oÙ¤934RtÑqüq¹
-°Vy¿©¨£VènLì[jI5PÜ&Ð ø44¹i÷ܧÙÓpιí¾üVðyÚXBeNi
-\tBÆ*ÌÞzUíX³&Q_Øöµ'è$R§z{qÅ|Eç±ycÜ?ª¦Ä7<?àô-Ó- at p¨
-±A°)tJ4³z¸©%!è~/ä?¸´Èþb¥°çõ^1q¡S
-¹ÈoÞ}8"%Óî(þÍìï»óý¿¯ÐÖÜ8lrÃYUж_%Czæ®þÊ[º6Ã!ga sÓó·[+Ë22<M0*Xè5uSæ{Ah/ÎmNÕ/M[o«h{Xç¶oj$%ðodB6aï¢
H/ÖHÀ»Ê>ÝåßéZ:[bc4
-kõÕïw>!X¦rê¤&5ÙÜoVØ
-ÖJ ²hÆn$d9©p[òâ±v¹øs~L£½æüTÐBÑå=k@¬ôÍ36?6l»¤ì[>§MvbtÉû×5Ë@¶´URöÚ$ÈVÙGËtZ?÷Îx&
-^¢§ð?ñ»^JÁöõÙðkij~!Ð.b¡¿JÈØ_~íuGí»ÃUËùÖGªÕ<M:ïEçÉèåñPvÊ«z¶frúùÙ¨¾zËÙ
-ù([Æ<ÿ³ûûf0J^l¯ý,5Dàþº~þØ#Dzúèõ÷õ$ïÛHQ'
¢þ(¬ý±Qme3yßh·öÉÈ<÷ðþóæq)n®Ä ,ë
-oë'õÄ0É»ÃÀYó@ãb/ *KCSQ¶»ÛÂC·"Gc²mD>YT} jn,òfOþ×s1X¦Àæ§áFWÿËóydÙØÇi"ìöó¬>½k=Ôìlv»p%¬ä|ßÂUt/²Ì§ptDÚÅ$¢m¼}Óý(»FðOôy3D·¾íæÍöávðIÝ´AvÿßÎJØÛäª[/ w¯
-nól!ü2Û®ìðÒBÃ:'ÁsíÒvS/
-Ê-FK³óPVGþ¾ák42èûTÀÚ_íú »NÖÄ=·;@»Ií×ó¶ai¾óËYD
¾/AömòÀ_Ø/üYÁǨV(`k¢~ô@÷î¤ ¼¨>ìúÚ¸SY#k÷Z*KþÊøî ÈQ@ôIXa¨ ûPGwëTui38³*ÂdzÁEmÐ2Á3
-f¬Sn?
ªB~<mÅr¸mß. \¥átÜG|¥n.è²¥w!ÞÿéÆ:'[ZbÅ&AVsô1RÆÕÇYg4\Ä>
-¿CÝF4ÈS1ó\},ÀÁͪ%ÍÍÌ% &B¸Ñ»Ó<}¥ÏAë»wºìÌD½#ô>$gÉðÅÊ_æÿ´BbÇ
ÚÑ8_Y; ûI¿2)$ÞyYFç°M¶Uý1§ý¥
-ºP(ø¿KN
-uà*ý´#þ"¹ÓÁPÂO§ðnWìðмëëgã_µ½j@Oö²´-«Ép+=°Óé2zyÝaVØáOajG«Ì
- N\'üãt\Ì¥`|0ÈüBÕ(ºèÌÅ©Õ¢36öíò²ýizSQhÇÔze-ô,oêègéÒ
-ðË¿JÇþ,õvÚõx¬Èá2&Í/U<à WÅzN
-m'ä¥[kÉkWÄ«EUlÝi+ÇÉwÓÇíe2YékbÒUFmIoj)059býTÖüzºðRi
-)DT3)ZØdQ÷ç@ÈõÞ¡ùm³ãÁmü$X
»\$9V
-MÐÇb&]ú/÷ArNòæ:'È.^d¡É»gÉaJAî-}+»+ÄÊÞµLà³Ý\qì3´åDê\`4|16GYcr>\ñA`Ú
-OKó+8Kï:jkؤ¬ÿbÅ»/ë}Jöq|q)»P3ïn¶Î»krÄ_ýìp/1zJÄÅi©×^á¨Zo8IJÇ]®FB>JMW}bعûj"u
-ùªbZð \¥L¼7³S-þdy51ö0ïväÓÍé Ôµ²ÝH¾féÇY|^kZû5ÂðmòÀo Ñã¡1Q
×Ö¼3dêâÜ{ËZ>Ìâ¹&¾Ë¯x̦¶¸7Þ#^cä«WE âp¤]
á?LpÙ$rµaô¾åáIÜnkKå9Ë
-xãèPÑÒÑ:Ìi-j2Âc¹æî
-ji¿ï
.®
-½¬±ªÎV4eìä°©?tò¾g½à{U^gîa V(#®
-¥ÎD?²ðçUÏË7 at IÞc_s&,¨°@ wV §K¨\ÒÐ31«O¢þØaý¾Åðf{i8Å%9>k¹ùê
-¤µ´IÛ<.¤6ÖkS
-MQ
-ÇéÆ%¼R4>óþÊ /rN9çp6¢CÑÌ}¤YÇÚA ÷Ð$`xÖoÖÝ×Fò½ºÏ½ÇYü¼XÕAcYzÖUµðlåß3ñ[/µ1GIÜ:XÌ*FÖïPrUEpÝ|/Ï4%1åæÁ,(62ùÏñóhv>RdÍ×óVNZó¾±ÏPLû3
-g6÷$(,P(<ÝÑÆNÝ?Ú
-³x`àû"èLâ£:MV4)PSÖïðêçÁi~¹Cw@ôy&¼i¯g<ãceî?dpZÉgÔäÎJ¢Ð"ûõÆD¢ÿI7ì: +õ$VòW-Rb*ËnO¼q(KËM ¼¢,1.à+RÔqj
-«øÈ£Ú
-îÐ:ß¹K¨dζdÞméN{¶üïeÖ CÑ FNtüÄõË.&Ýðn\¶pí`E@åv%ýÁÇÜçs7!7ØÎíù¸à0ãoðV{gª7»\êskïãÖëv$8·ø¡[â5ñãMÆ3¼ã³^^'<;Æ9""£8ïåÜï®3ð~ív¹;lñ?6YHà@èfÎû|Rb´Ýz!Äc¾&JôAíÆ_×oÚPE²2»-YÛÕzÕo¶Ó¦{2*FÃê¯K[s\nHù÷¢>áê21;±N÷ü°Y"ÅÍõ½dÜ´í
-_^&Û`Úï÷nO%Äð|Âþ·ûÊé÷ÖC¿gñL̯ÑÍþHtY©(zÉ|¦³¦Wþ¸Ü)¬'¯ÝK:/¸]õ
-T
-rì«øXí+¢°½3¦ÃzQ±ØoÇ
-únÎ3çÐm"/JH=Dh·poõ©³~T¦Ïm
5|Ì)1qu«qÊqâxVrõÍ*k;Þ">ÆȾ!³
-ö
-#§²î'áñ9i¤3ª[zZê¿Iõ¢Ë§¥Ü/.~;¦ZÓö#zZ@v§G§Usæ0³z
-wpÚ
,$%PÅ/H¢ÝHW=§!wò$«¿,KW+Ò'¦+{±&æ°rhh *
-ËÝ
-/à
-ò1|½^uú¼rö÷Ä*fTw*°ÓÔR¤IÕ
-q«ê0)ÏçúÏCòôcÍE%½çÑá¯Þ0Z¾Á
-{-G¸ø8e ]qUÔCÑ`C&Ê°"ÿ¡¥¾ü0}êLã¬ËN//5 ¦>-z¸#$¯§A=ÌuE_6NªªNÃW*ÅoXkFXkmÏ4øC 4¾ÉÙ+s#å|=ì¤'X
-m°u kìlÂ\¾§2FC£yÒF×(EØÊ~5>û!Þ*d8¨ÊüDðÎñHÒ<Fñ´ãe\3¸¿\ÁöñÙ
- öÔIJhØÛÝ2wxÚa,"ÞQ"ÇcúØ©®_Üõ5kNÂlÿæs7ÆT²ÅÕè²ÿ¾.8²M)̲ҬêeM<T;¼Ù°ö5ÃÄйj\]åa¦Ñ_øOÓ®TËùÆáŸü$X¯á-]ÎÇÅ8tk`+ðÄê÷ý±z¬É©ÕCÜÈr£-Ó j´þfWr
-fàãí
-jÓT£ö@kbyeãï
-z#wì
Uw§|
-¡g|
OØ´®ü¤<EK}tÚ/Péµû°i<y}$à !Z×û ÝÛÅ·ò0y"Ãw¯ÒmGf¥¹òU9Îïµ²cNÍ´[qñ7ÈÞü¯i0ÄÄ]-'Ý°X6Tøì¶Ôî[¶¡%1Þ'ÜêÎ϶ôö°M)öØ[Ê8S×;ß5}Q¨3u¡¢&ÂÖéõF¶²'º=6îp©+8Fæ¯RÃVQ9A®zSèÍo>`òËCããÆå0ìåvA4ç
-í_ã&Eho¨OÔ>\ôî¼²¦ £ÅGEM¼î¤i³ø
-H±
¾Ø
-#lì1᤿ªÛ0îës¹Î¾:|åÆ¡´XfÛdÚ
-¿J8»P¶JyÍ.svAÛCp::9߶Ã|47ËÍ)ͼ³º
X{hJBºãGE^7?ëÉNRìðôÌu¤EVJ:Ü¥eçSh` >ß@ÌËær|ÄLSm:¢íºþReï÷½Z~û¾hµ,ÍsÍ¢ÎP(±©å|Ǽ+|öÚç/`ñ÷-Ëw¸4À#q`ÖÔ¤·AyHü¿&µØ8Ïv£Iqr|;B3÷ÎúÙe]ε_x.â ©ªX`ønVżëÎë®(9_QåVT²þwÑn}Ü~,V»Xê±vé½ùÅB4G§ð "Ô$ȸְ¿ýhE´i51Ýi}È ³ÏûÔÉ£¹éº¯kÙܦ;Ê>XÌEÙÖ½S#n«²¯ùoðæÒ¬S[,Ó)ÝÎÅ7aÿ§$£k)c«c;tMSmê«·j¬%Î9¡F¯wü]"a©Og/ÕH}×®½8RMb»íhzÓºüüúY!~þPpýM*¾ü9Mm¿Ãû0M²»c¶¶?_¬ñ½ñ4Db¿×2JSkÇ%zxú³i|ÙpBJaJj¦}¡´:g¨°yÆb¼³Í Ù:ÂOS-Á£b(У\ß0Ù1ylµNÓ1üÃ=gHã*êýoñâ+þÝQÀÙ`eÅÄÛ<iðëÇõôÊA(tRJ*E0~Ç:
-áãî&4Iíé¼ò#ÇÌÏ<sBà)Ê#ZõxLg«|â66ËȸݼCÛvò÷kã¡`¸=HLqèáz»À{|ÃøÓÀÄÔ=xùqì\©/N0}]¬¢%÷àPçõfÂðv¶2´´^ß(ëÜgeÉ¿´s
@Er+-?0úèÑ(8õ
-<Ôäj¼B~¼ÉÛn×ngjPÞêÀ¾¸ìÕ"f«¨«KKÒñX½®X 9h©î9@ëgWnun¹
¤pûëË@Kî)ó³åx£U>YeÛ¥ð<´ùÍÎUT/ÏFºó[p8rGV°yÔD/QHo
-ö#QaÀ°·
-ź:¿%H^rMu]¦ýþ0f?ÿ¸dvéfM\5
"LFª¤Äd+ ³sÇÆ(ç8vG7mV8X'?sR±GJRzZH×
-ËkÚÐqEé1ÍÃ:w½¶´9Hõh]Cç~÷èÓS@ñÎýßP{ªðE?§ÓCI/4ÊQþðîij®Û-w©¹°î~Î-ç!B¸ë}>%¡cCÙMäÛ=ÝÀVóüt²bi$ØMtAím#qWéÓ±FGöƨzÃÞW?®y7U\ÜÝp^p£é_é5z-®þK¬gaô[Ý©íãb°L
-ºï¨)`ʯ[ë§æ/¸I²CÞÿØ{w^W
-Tb!P>Õxè.-¾þÅ= o]sqBã+öyuF#ÿÒ2¥B~3úÎZL14^#ßxtbõfÓûGAAjÈ@!²ìØô¯D¹Ócà¹SèM¦e'äUÅ^:lx¡÷½¾Ù1Z·æþQlt`£Ö¥8æ·R:ÑtÀ¬¾
-(«Ï[õÈ*+ñûBß
-ÚqYÃ`z
-,©cÌPCÏg9ÂOºqDå½DeÀoì+sÀI~{ä1Ö\
ìþúÐãÓÈR±tÿ(ét_dr-¥~¹Aùc$"عê=4AâU}ß1joDð¯4lò:Ë4«þ5θÔõI{k±§ûNùâ&L %³Í:
-"éûvGÓ
-¿åò<a SÞ²5ü5ºûÌÊ[óÞ ¬A´ßrAÖ¶úZ 1»ä¯dݸp¸ZÝØ'DÖ¿¡òá
->/Þ+D3k |5ý?è±ÛîT¡û¶
-CFnÙ£Û¤ÃXÚfRªRNÕÆò¨C*}¬³Qëñí`g}ºiü¡rss)¦.¢ËG¬Ú`+KYQÏÿ+»KÅÿÃÖfe£R:ÔÖ¦Y¯÷¦Æ+ÜÎï
<ÙGBTǤbXi¸®Ìü2A*|OKܧ=IÉ%ä&Iê~â@d5#¸Ãæ;GÀ¾Ïg§ºV}>#Ã
-ðìkçPcøbÇMîÙò
-nô Ybw¤ôb>:FªGýÖ|Bd¿ÿôB3¤Ñ²ã7KE.boÐ"ü;Ï?ã{ºQU loÌÜ5Ù<äe A3ñî+98gº&>ÎZ!ÃA¶Õ@Z°2ë6o_¿©äɳ
-¦ZçQð»KÚW3.Ie'Òésaû
-ïBw®D4ß _1Ãði[þ³4dfßhÃÞY w槦½HóÛ¬ÞÏ"ãþîÝjKT`üm3©üdɪ(&éko¦z+
-
-T
-U±Z:P,«:OÁ"uÔÔit°bÔ¹¿è~'Aòa06H§&
ÐÄäF`Ëôáκ»·¬)ç_µoË3<dÔÿKFQ'cÔ1æg«Ú¬Úu?5;3,Ó:´E±Ó5Ö½ì[NoÆ
>
-H/^¤M;¼?*þHéìÏuê¬>åú}®§Ã¼íþQÕpÕ¶_ÇycVc È×%
-HůBëÆyHpRå¯óV¢X} y¡EÚòù^8ÑÒí+XuêwÎ3RqÎ/;ÞaÍ(
-ýÖ1ßüú6©1CçÌñWHJ{E*ȩ׺<G)õ,¦
-
Û55ÖR3á«´K@ gB¼t×U¢Ä+k>7aü¥ÚäB
-F.ÛºVºb
-æ.ª[ìÿÁ :écA<¸Åc;
®Î-¾õ7ÆÉ®,5aY« `ÍC
\¹þøþ]÷h¼¿â+E:¹ê£¬yð.«}RòåîccÊÜ&B®è×ìPF7Dbvôtl0ÎV¬£¿|k3ò§ û`×ͪH?TdP
-@}½áîmv[ÂI±UGZ°8¬{Þvq,$Z¹7RW?¨*DÝCÕÒÖýåOçKýìV=§ÈdëjÝÝPÿù1(
-GZ²¤U;k@*ÑB¨FÆG4ìhÌíþaHchTbEÊÀ´¿
-º¶piùÛ3Eµñ$6f}ÈyJê£ñ¯$tQÏÇÈVó&Y%ÒÐXËtjõtÅ]¶\5m.{²sPs-Æ5¿ìäI¶{Þ! vµ!ydzø(|¦ï|ï8Í3>éùß (NJtáU0øß·xB6EK;Í®`Tァ½wGKª2-®sÊ¡¯~Y7(Ñà·bï¼o¢J4ò²x¿J¾-Q
ÃBúÜ̯U·Ash^"vPtFècÆÄÃÆIý*4ÌôF¬iBY@é!ÒVÛJ>Oj+±y+eìIBü±*Ð\#lçâ¡·cuúUFÈâG"ý¸N¢ÍòËaPÍ[%íß¾+Øü2Û=æiγ(å4ôYî]é?ÊÂZ0¶±fÁ?ÈwNQzÖÁ°»¢|mËç57Î`÷QÍd×7%Ü{Í°8ÃÚc
^¥«n¸9¥bç^ilG¸¿¶ Iºæq*<!ËJüT»º
- Áû0éÑ>Â*X'UEnCYÞ¨vÞb@)G; B¿GÖ9 òq§ö%Zç7ÎÁ©
-½«Ïð¯SE<¸l?y@´B»+
-ÝK0OaVË/Éì½Å#ÄÄ×Zg `#Ë-íXtó'Hµ ß{,¹ÑãÙÅõÌÜÑaíê²]ÌëWB$+íû>¼b¼çøgîãÛó,FƾÐTMy6áòÄÊþvP-Ë
-¶é1òü®KÚy#(øFhüxÊYøkÂõqW·ìg÷£¸¶ah¸Ðd´ù`vÏ-ÑCH¥åö<:óéѺM0&^<¦Û!(;ÿÖÄæ
-*böÔ91à*{,Z-`)]- A4ca¡SBÛ§ÿ¤Bþ·Oò ³aý
:Å^!ùý|&ïÄf0MS}ªKr¬µç%QkcáüsW E¾7k$q4qòO*gǬ¬ àتa}¿Fp~±¸bÚd±µj9Ò3ÉÞÒ OP¶e×vSLRÒ%ôÏ*JÊ®Õ-t5DùÆï§#Ðò"Ѿ»9W¯<ª©´AìfÀ!P×ø~Rãã±Í}·ô!Ü
-Ã××a!¥@çpÚ/ä,rz~yNßseÍô`×
-©OrÌ*Qìôt÷míØpMëû}ÆeÆnbú£äpF·|+Ú(X×O"¿"+KÈh~ʾwOÇ'.îãÒ|ߨXÁ(¬¡ßÕAPà³á9úf-ÒR
-¸§ô`) 4VN Ö>\É9ÚnÛ:[ÏL8Xð
- µ§§Ù3"Ê"o'U4FËv{_aWX.j6!%hîp¡Ê0S´îí¯FDmÄâ½
¶vY¯]°ðÅdõµ6µ+þ%eÜF-óñÆÀlê o d,øH%éXÐ?Hجt`ìç:S ) Å1÷èz(êÖº±èLPÊÏ2ÆI¼<ÇÁª
-ÑçO6·*a´¿üÃiÂÀòO%Å)XH!\ÇïçÖ½¹pÒx\Ú!>IÃZÀ¯¬@Σª:êÎóY«$¢¹d¿·^]RK-AS˼Iaúyky0aïpg2íNL*¸vÚõÔc¯UÜwJ}ÞÌVä³bÁü>'wMqS»ÕEÆÊv¬¬¨e§ßØVÔ»20eéFD§«VÚ9In¾ûÌ)QvÕf'7[ßË Çè6ê#´àÎÿõàmJ¢héAç.o\÷Ï9ÈJim²Í}%ûѱ³
-[¥3Õ_â94
-
-aºÆÛ,¤E¬§J2É..Â<JJB0ÓÎG¢Êîå8q=|
-ßrLH{»ÃÍÉt%j@?z7âª
-d®XCdËÖý%qlòØöfDìÄH½-éé)Eëº]åβb¸B¡éò±Õ©Àrú!ïE¶î(üouÛ
-¦8GG&NÔÁÀÌϾvÒuùáÉÈqÕyé~ÁÚÞ-ç³øÌiùwDÏ%
-Ð<KV.»?Èþ°ãbaÉ£03¡O¿"tZp4^¾îùÈ;;¶Òî%â¯
-4±ÁÆ;d½yýæÕNã$lã_û+y>ÒxJ¶eénD
-O ebf60_cü¡È7%#Ǽe@ÚÞàbV«ÇN3N,³¾+_þ%òìÏÎAúr8BüKB
ÍeÉaÜñ:Ìüܾ3ÑcÀ8HA6á͹Õòr>3m«{ܽrKqE*ê¹Ì²J>§t4& |nn¦¯ÓéJd-E³)Ýîõ$>Q±UÂIáyM¼ó@F°á9ûG¶z,ðxJùø´½ÃFÖ]¢?Kþ
-ïQ8 ^ì2uæ NAw
-!Xå°Ö
I¡Å0iß4u
-«æýþD¨\CrìnkU0¿õ"JÀ
-÷°¼wévÃ¥³ý¯}Ë·+F·Ic°,ïIWjJGg¿à)§ãÉ)dMb85í4^¹à2Q¹ìæÚ«dOË96Û¬EjòÞRLf¦EµWÛ^«×Nh..s)´ÝÄe£¡ãeÝWhÄi
¹ÃeÅ4¶pdjÃð ÍÁ»ÈªIÆ,ìcèçj¾¦àÍÐ:ÀÃJwÓÃu\®Ô^"X>EB
FÝÜÂý½iµÿ¬ÏÛròï#c[Ô¼ý)ÕP²q½làÙOº±QZLÎçÁóßÿñxV©6:@Ðæò«UBÎ?ÂZVBT¼ËÐ%é½C]·t êSÕd.zO¡ÄÇt@QÇVºwRzíÏq©wë/z3н¿ÈvIyË Øüäg½oScü¹Õ"_Þ(GQ)Ç»ìE<Fü°éMdÔôÌJ±eUäïU0ºj
-R4Lkêm¿³Në{{ÆK9tx~üô¬Å1Mlõî®;vòÝ´BÄ~I+Ýjsa6n0yjéþ
-\rÁ´n¨ì¬¡hÆmå¿S³ÁÔp¨Ô9ÛÖ¬Ã_âY:qâ#m¯Òªë?ýÙçÚKga=æ/¶dlèàÂ<J/ê"U»5krþ2ðª:ë©/[ÓÅwÔ
ï¼ú°:)Î7g÷ü5s ÿ©!xYõJ«g?zç¬ùC1#DBÇ~þ.)"uZáÚnK]&.«3ð-;tOx ©`Xè×ýd ¶ý±Ï®f`²&÷oñ26ÝõËm\!./-!ë°±RO¿ÏTà¾rhM×q)VéñNñ´V¿ÿbÄc6iñ¯ý5+±[³m[uÎiQCØP4v¹¬.§ªÝ°áN#Ox(A(=ÒÔl/Î!ðìF(?:ÿUÁàD_L¹2:Ï|Èæüfm=#Zq¡*Ù¨Ew:]/+Ë|àß]h^O·øÚm·DÍñƬMc'Oº#¹Ä©K:\9Ö§÷hÒöÜEîx¸PLC¾zÛ(ÇÅ×YýQ!I|(@8T?7è¶×ýÙcWâYMH:ð¤w ÒJ>R~ù¤®þ ÍPßc8ÛªÔ{yúÔlå+}YÉ^ãH(Ѽ(ö~¹µpLF¾h¿Ì]'Åe4|»_»§/ÀðZD&-.Aàüÿ
-²CJd¦sºTOÙãÜeõBo(L&d¾·=5O°ïÊéÊ,°Ç·oøà
)xJíG5z?ö_5¾îõø$§õêÐ-VêÉçòC ¬0o»Ñæ¥{°q
òôÃe_¿Wñ*OÄkA×ÄØrÎ]Ìl`êŹÅ8KKóaiÊð®Ûz´7º6®e²+ê¼ï4Ãy àÕ({îRÅ\ßPʼ\¹·O¡ÀS¶6DPÑQó©æ¨oÔ}$!Xßî-[g!D\äÐô¦OFþvÐ4®¬¥L¢(7@ÙIA,¾áFüiÆâÍ$¼¨ÈDùS§Åëôè}®79ªÇFçéVÇÎ#bwF¶I5é__FÔSè«Ðì¶í?ÜÁ}åÚ?+ÿÈ_³&ãÒõè!<¿4xÉb =èF;ïè²Cª£'×ÙÌíÊU±s'!
-2²1й£»mcX}éEËÜRï~ÇÏý38S\ª§mê_*cãĽË,}L-Hkf]
-ÑçVz8öèÀN-Í@&3Gçï@}ÁlU;«´ ëy
-ÉØéêÓuý¦ßg>ÆÚ{Õ¸2ö{OTôsاôq¤u
-+³öî½4vÄÚøizZXI0®y=D,ê¨fR(
-è°ymÞZ³OYhI0ý úÌáSMÕxX«¿GaËÉÙÖö.ñÔÒw§jÓ=EL®¹y}ã`þ×=úfaUU/&ò·ðýÜÃçj·nNpu[ m>á¨ÔñBe=TJ|§ù,a7hïCÄß©y3à>Zð[Ù5À/;;st½¤"1ÀRÒ
-+|üûQ-ÉûLDÄ©í=
-¤m
-¾A*d§)'%X¨%
F'd>WÎ<µßÍ:ôèõ¬V¦3øq±ÁçÎ:ëh¼g1mz ¿Í×ðáÝEÜü |µÂ¯Ï³Mn-gþ-hOva÷ïnpÏ>â]÷W¢ÖÇyØSÃtÖSÆßù 9·7[ÃÎï§eæ>á
-ÍN ^qýÀáýÐ9<1Ø MP¬§¡¬Ür C$->ÛÓ¹£roÔ@®ò].µËp»aþÄz¡{Ö
-RrT6þ"±Øø¢ßóC10YËG5=ÙËÕeo[ò®ïMðÈǹb8ǹ|qÁá¶ë!ú!iF^Íåw¢«I^,búj4q¸Ä@2UufÁ(Ìî}³4©_RV34Ý}
-n£¦ÔÔ=À
-[û·ðdRú® W<Ú¸Hõ;÷ðÐ
-j/ï¶Í yßjIïÄîìê
obl¯ ôCÇ_CòrÚä>Ýi´PÔÐ~ý(µM,#Ãgªx§ÃäNîË úÕ
-Ìä©ÞKON¦<½Cvè²x¸Ô%J m¯¥³¸¸×ßt
-g{Æ&kÊ]ûTg×ÃÐñÙvU¼£ »¸[£üW /æu xt§Fm³¡²¶§nêÎÍ
ã(´6UoëÚc8ÞûZ³X±Ò©ü±½%̹Æì3xͦyÌÕèR#yI±«d±¢^7+còÂå©âÙä¿9ÍÙéH
é×Eص-²ÛPcFf\ Xï®Ü6m":bµYP2AÛRtÂÇñ±Ö¼wÎÒJÛlòyt%uu´EúÙ÷"Ký/~GµÝ±bVù°%
-ìq®Cc~@s
-,ôTw¼Å@þÿd'ëkïå8ÞÊòÛÕE£÷©èCqyͶãÜKO¥8è{gkl²Òì^
E¨¨Q{HVÛx\DýûÔ sÆS²8 e7î¤0tÖWñy¢äÖþRÖöî|úg-Û¦Ì#YJù3·ëádYCZ|¬ÜNMÀ§m ´7{PgÖÂ9~{qÃ~Ï]ögq)'Zq3É£ýøåÁ;óþ.ÿX̹Êpö[hÐÇ´dôaY_µ0ê_.jÒR¥Ð¦ýÔ¦Üiâo|
-s½îVTñÄGÊ¢j9ò+U PEôp{åØÑ+gÉ8Iº³¯@7Õ÷(
-¬¥¾YÄ×·wÀô0âûô'¨³_f)5¤Û4s D*Uf&"mDdiDÝ~á6 1\Z
-=@Á®
-«8~θA:s]ý¬ú±D¿+puãU¯¦öÑÍÀËâèÅ 3#õ³d^C ð¥x|D訰¹âU±âyWP¦àbØ\ÔýàZýÆBÊúÏB÷îÞó£ÌÓP@×Qç'ïÄ©ûßÔ¤Hd'Ogg`ô/(ìMЩ H)ÄqS~±jNzÍ´ËcqÃòlmbE±Á\idúZÍZfkz=Çä`
-XÇMÚ°Lüe±ñ¯ÜÑØç©In3Ùm%=i®WýK¥¤ ïá×x¡/¹×kkwDã¦VU æãt+_M«ÃçqÆÿø^YúÝ
-^èád ÆTtE|°<KÿJöfÚf=-p¨8qwßúÒõÓÀØ|&¦ØQIA"
-1IjÒ³TpVñà´\È÷#KtC¶%¯õ"þÊrJb>¸Ü
-UÑ#C]<=ÿ±'ù{KðF}ìú¿"º=
ÆHÈB¾ú(²EÄ+ê×õüZ¦I4P,.ÍkÁcèmàysòNyu
-Xw
>H ÃEY©H áÛ©
-(o&ö;ÕÞe0´*òÁft§Jå°°2¿aì% qTú+¬P'VdÏRT
-"Z®'Ü{gÝKkè¯XYà~ U]w(§;St®ÆnJÑæ¶6|&â9eñmÛìéß¡Ôq
3{4¯ÚoMóyɪkc]¬¤_*êD5¼Ó¬§
-qRPñ jÄVKõV9(ÁèLõÍ
Â[À½¾Wÿñá¹iÈÇ°Ù2øÝoMÑ*¡êW³ïrÞ
í¶çªp
-êÏ´hÅ1hãÄ(úÁi ÛH!7eÿà±ßÝÁ¦Uf
mM´qûìʯßâióø¦©#»5
,ªgþLz«¶þeè~®:.>¿ãj;!ÎÛê_»¹Øzð³gFOÌc÷[¦áý¿§
-3FD¶&ó µ¯fdGf×Øi¤Üw²¹n{±/íz `¡,¯L°gQƧíá»ðU¢O×9!RSÀgßÁñ¼FË£§ÝxÇwý+U~aÍYn'ðÞª½3»
-~mª,ÔLÓßøÖiU6}êFPEz®½§¨6!w1Aµá¯®ïçÅïµ8нJíÄFi@¿¥Ð6ù1m¢=wo¥-s²ÞÈNc3ÈÇ !
-ÉÏtÖ6n@.&ºD_ÖT÷PI²iCêæ+6ðKé¼ ?Ê3Ø¡`¸î~Jm|Üä¸rÇ{iÜÌÿÌ
-¥vûGëÌÉNyî±J'
-%érStúIÆ~&«ú|2ÏKGõÈiá{<´Ä¯FPúÞnÞÚ3ðÌÅ*µ78²Ýhï"#³õ'h1û¬6pÙðæh=éê ѼKtÊe5b¨ÄiË@[ø[suüÃi)YÎï®!Ön
-$j}ÇK}
-ZT8ïÛs9é¨ßfOipßv÷ÇÏCpÉy$dÙ/yé°i8:}ÔAóâ©ÅêÏlßÐhÈõFÂnSñ¶ï¡Eé¬P¯±Ã¶¢¥Þ¬Ç1\ÛÝJ5¼à@ø
-#!.È27{~ñÔºþ$ÞZcåªÏÖú#,þ\íÍKÖ
-¥æĹóóQ@'c¥p>*cêi6¼¬"ܺ ôºÓÇ|_<ÄÛ`:¢j <F±°:Æ¿(0É !Aíh\Äõt7wcfQ«ÉÈw^Y«£»
-ð(ØíLKU{Q²"¿½ªy0Ù'Ê3Æ>]"ºÞûÞçà-Q9{DõgÅfÿ@8p¼9ÞLßËæMEåµ{Y\?Ô$ÑÙøCÓJºKß^׺2ïoòo±Ñ^¼#5ë{
¶üÛêS4§
-(Bk õ¶U:YÛÅÆãÃ
¨Úêiøľç0§mNÜiü}í¤Aæ¸<£%J¡Õv £¶j(¶£&ÔãvJÇResÂ\^Ãk
-âÍ%§E¯¯jQÃÊKó(K
-éòæ\{ýÊQu,hÔÀ <ç-Òî|ô
-~m_ «ÈªEöÓZ#%¦'Lõ $iàKWhtÀ-fOÄ®½õMp¼¹Ì%\´ÚAvJÁ`-ì.j0uwéÁYìþT'Sñ±:é £Â`¢dä&ÿ²íV`³+úS «Ïõ๵½þ Ëݲ¬ÞÈðê#=
-±Æ7$4*Ã3ýÛ"ö´ÏInË5iüÁû-Q.3$¨ëê¹N*«&qJot$,¢ì"6f©h¥VÁ
üæANWÙ Aî£yñ/%» »s¢Áe§wg|hìÚhs¾('8˨ëDâÉOõÈj¯>qnqÛ þñà'ÙzØô4uòëØ
-Õ
-!×ÿ®ÀÃ
-Ò¤Ù}U/zѱ`ÈCì.ÖZº¥Õ ÂMtjÓV{7EQ¹T¸
X
-¾ÚqcÒ£ ©kyøäRÙì@9Ÿ¿ÐÐduÎ
-eåé_1ýêXú'
-
-V30ºÍЪô¾2ðô´§o"Y\q(}ùPDñ?X
-_ºCÓ<û©ãQµ
-K»,ØÖt_¶]Z¥vÂ@a7ÇæùzßþÅSKæÛÙ!ÍlúéÁ·fÌê#:=Îâv,,rq,³#bß;#[µ>zà|ÄÈ-5ûÑñu
-T¨ëûhÀ|²Xz^þ
ù<
-qÜæAxfNòd'
-IK½×Ò¸÷{·Mýô u·÷Z¸²6ëÄÚ)ª=ç½míCì¼ýåC$3ÐÅú¯qÙ¦ú÷n6Jò©=6íÙkû»×C³[$§Û<<è#®0=DQ
-þ¨¥Ua4Â_¥ÁØ("> ä_qWbsU¥D¿§ÇóØ.¹.}äti¦Hz²¬µÄ¾ìƤ#TÑÌ{æ]{ļ®YaÂêlÙÖ÷ÿï8 at b
-=NK`CC#òB@~QÙîdÔz»G¬ÐØE^³
-kÔÍôß¿AqÀZ$.ìË0±0ðëæ5d@¤8e¨@C5»X¼4¹5©<ϱpDı4,¢GÀ-îÀþô>ôóMë?¢WèuDØ×Âsº {ÓÿeáG-ìÜ
-þÓÝ8èÆfðº®ÛÆ!þjMrÊÅ¿ßÚµü6!ÃâG³º@|gêGnédH`"UÀ;R¯¾-å~ÙËC;ÂfÞ9cõU}l[Ïå´~_WM4QîÀ$pbuéÙ&E:¡ñÇBé®û[/¡{¿»xy4 ÷ qëWæ°>¤VîÙléáË;ÚT
-¥ÃC¶®É Oá
-WQlò¡ßCäÌþÄʽ£à§éJ&]Æþ`¿«e2Êw¼á-FäGÚ ]®~!4=?sê
-Dz& µÃÃQo*$ͺ¶®8¥àV°±
-8¢OúxÃÂøÚ¼Ä 8
²î_Ï-^CàÖ½9.Ü7¾[hlkÈaݹگØ_ì3ïgTÆÏi§p¼áëú°ïê¦7ã3oúÈK1»?ÙLK;ì!jõÿ¿äº
ÊtïSBÀþÝЪ«´|)ëMrê?\
-4˼T¯nmĹYJã¿BZvÒ½[h91ÆÀùýæÄG¹väb§Åxo»ýÎfgxÍþ{Öª¬ñWpÍ_ðAÀ*Ç©qQÅsX.ÕMói3=KÑdÉ më²"Êwr®¦÷Sëý)J|<h{K¿/·OÇ¿þk21R
búsâD/EGP âÏ)-4¸OÔèrؤh$T(À»Õ »ÀpG{¨¿¢\¬É®X]ÔuXI6bIçNµ<<W Wª+ûpeåËd¾Lä®;+\7&ÜUѺj§5 µaü¡aïèô-åRnX!êðS_ö9Cï¢,Bi6If¡æWT´I²ÄêÙ]ûLßmV&VMçiÊJ}}øp ^Ã
j.£ÑQ½¤¬§å+¬¢0uhDtn$N{åÍéøÅï"Þ§J«ÞÃìô¹µkif4Êältz±Hî°pÔ:!dwðé«þPâ[_íëË[!mCvÑäu±+êDÃ!àP
'z<ÓÒnªLͼ9QyºÑ&lo!ïèsþüÒFþû´,c÷ÝþÝÛæ-43¨d«½¹âÕÉcÇ£Ðú§Q_lr²èü+Ë Òíi¾ßGòDâ''mQ¤0S"Æ®YT»iûÀ³ôüTÀOmãwã]!ÏF
-Tí§á©ýÌrÉ´Ö±ÉmMÆØ|Ï'F« ¨È-ðQr)ÝÊc-ÛÅèo%MCôçòFöaòãfá¼½ÄGaú}
-QD.8ÀÌÏ·<;ßGÖFnís(M'*gÂZofW>NåX(Ðdr§ÌT¬/9(7ìx?j:¢R°§µ¨;»ÑÖBâ7¦¼Ìä
-¶é+qßuHsì|É+CR-ø¼Fpë®vZ;[Oaëj 1Íd,HÈÁ<%wnk]Düc¥Ö$ËÉ¥£·ÅmåöÅLÜÎ3E§ë#º YÕÃ÷R+/®·[xÛçÉïÒËðGP
-Ü¢m8$,¼nÝÝ36¿&ÖukXÅf!osÖÞß½r}«aWó'ÝÙ5R^v?Ýy|¸÷ì¥ãu¥Þø6S fíuKøB»÷)DÔ:ÖÊbàíèýg+{¹¿Ü
-
-üÚôU!Vúѧë\#Ö
-_LÀ(£ÍÙÄÃQ/Qúe§qt׬Âöº$a]XÎ6¨@5ï}èÍ÷£(Ë£6© ©Cç¬ùCÙ>(Y"R\Evö¼6½~dpc*\½º§i
-ÿÃÒ¨1½½æhDä°ÖWâJcYz´7¼}A¾Ó ̼V%:HÍ
-K8BUåµ9$xÁÐÓ
\ÛkÄ> f4¯ñÔ?+Ñ$~4íÌ6ÃïèsÚf\ÊJÚ¸Ìì¬3³ië:}g[[tÄZKY¦µ3Á·¤HÿN}OEüGñmØú³6æÊCå_Ð[;®¢}æ=°
-p>Þ?ÈÉ䫬`âùÑF¶á¦W}ÂïºåZ=r=¶
-(FÐr`ÓMhyy3¯Ü4×+Æg
-øë~£ ß¹gèJBrPZ
-*t¤&`*xÿwÂ`0ê5ÐaÂ\ÊÑ:(âÃ6'siç2äøgH¯/¸³ÎRðAaÇ{ð%
-Er½Úë
Éî$¬¡æ¬-߸D©fãuO¹¨ÆíSíEëiE0È"(LÿHÅhW}[íÉîØM%® «=@õFóÆL¥\´8SðÌßbbFWlWpC¦Þðàk½¥Ñµñ8¬Qeæ´ÎNÄ®aønµþA5Í2K=Q6ü0)|M»ux<gìrÃÀAcgúzE_kwV'ÄVRÞ9R>Sε¶¢5$±T|B#d1E³°£?-^Øú
!¬ÅÁ)ô÷}üÕ üW[â
-!&zûf¹æ}êÃÇÿ?!¾|É¢
²Zé°gVÉ¡¼¨òC6/á;r¯2=ùs*]âݬ;áDWé½q
-TÏE*JÚ¬N~`ÇlyÞ"(Sßm0zîaßx¸õ{¡ãGÓ
-½'{ABó²Ð!Y4?ã8×Wïqô¹ÌÞóHyÄ.JÎF^ÀîM$æg~{Ï_Y2ì+[#à ªJ.bíûZqÝÕ¥õ=ÕmKyÓø??ª^s4ÈeyÁ.È2ÿ\ìg¢fôÖ
-©¿+p±ümrVÅVRög+ÍKSð£zïJJ
OÝÎBD+yÉÔÒLÿiÊ4<!âD:oyØ9Éå-¼ÍâMÛmkÙ6¦r>33*¹pW¢tOî µµ?ÊXc<ge¯ûÍ©Ý*ÎnÆëƱ«·è$k¦²xâÜN~Wé£ÇI
-ÿUõ¢ï¨m%dm¾R:ÙÅÒÜF]És§Åi3uÐÛAEçýåêÇi
-^SRl1-ÿº<%T㿯\?§¿´Èc®díôÓ7~
-ìe®AßæÇør N?aS*V\à6Tæww0$¢\J·Äßä|î_´ ~yµmYòÉá³÷AÎÀh>þà²x+²>#4'í)
-·â whK$jQÏKNɯ)uªåm£¤½/»^ñÉmðåoó¿ËHG
-ÜÿlÝx1}côóÂã8À¾y2ÚÌp¬ÁºÔY¹äÐ
-~'Üé%Øo\u7éçfïÒ`C³ñYtP+DyöÒÐ'
-±7=£(éPî¢RnYP*ªMO-P!7l6Áûæ ]Î0-7 m
yÍôÈç.i5æZÀõwqµ©Á]æil¯ç1F»ê]"!öJó¤©Wû)¢Ò øâÚÒ";èdú
-¤¡N7ÿ%%ªÀzì#ÛC»j{T°?£kËÄkÁ_SîéV
-U©]Êä¥É :o÷÷Xx-
-ÌØp|é±9õZÛP;à#=^5¡àóR6X¶»¢èäu>Ëä¡¡²°SsO'ß¼
-öüß«B*ÁpôFÎJªÞká**©K±Þf ³î²S³î~ÎÈ9
-V?ré4q~6¬hê[Y>57ØeõV×ÒSBèÇ+O8rú+ùµ_Y¥Öî"¸ëåÞn!§E|ku?=Q°Òmû
-[æÊ@rÿ1!-Ùûkrõuè$amÜ),ÂÊ1y2¾¶FÝIQÛå±k>Ð)D㵦²%ÄÝzá]J^4ðÿ¿=Ü"MK2bëákç´y~FtªDá)g¥ÏUhðöY-mæÔç"ų~0ÛS#´bò¥²¼Ã¿Ó±-u¥µZX¡ÑiÂ~è6±ÜÕfbK°ÿ²<
ÔZÚVvÌö¹5h2-pf;#Nl"Û-¢6âPÔ©àÔ:áÏ
-Yr]b}Dk§»K¬`jáÖ¯(×ô®ÌÝç¾
'oÑ10¢«rT
-íÅLñbIL·¦uÆa/uM.sUI[>u(\²c
-[ÎcwÜqËdÝçî!&Ç>O«]9õü§n¸Ùø°sdòAJ
-æIJ'£7ÊàÞ©/ÙÛJt= io%buÕq£ýg;7XWÓg¿zÜ3úä¢éøßÿ;ü}NÞvòÃWfz½\Xhû໬{¤O3hK®&$Gª:s rVöQöbc8%Uå. Ðég9F=¢À
-ñÝ¡'|[\üÿcVpgöÀI]Þuq¡Zá¢nhmȱ FÖLÿ§âBý¥
-ùFnÿlm@ÜÜ8ȧ8\°=¼ÕKÇvNÕÿÈÚÓJhæ%u¢7(Úãò·&ÈYúí'³rãÒy'àbì!ï+¼473i¡ÔoBнÃÛjçÒ»¤3ÑzÁVW`ÍHÂuäo
-ÿzzísÇKßÒ´ÜqÞói}Îé47x¢zÏݶ¹|»6%=ùñdií0«Çc1í}03îDn4
-f\'g?e´XÐByéõóý`à54NO¥J
-k¾¢I8F³¦Ð¥ÎÈ4°JoÌÑ6Oê0dË
ûµúÏIð!
-ÁêØuê-:ü ÆÕ{¯ßÂ
-ñ¦ÿñRñ¸!£
å
-%õ pô¹+j¥=¤¯Z«T.=q&\OHö &ª¡¹¢Kddö§»V¹¸Þ£(v£\¸RïL²ÚÃ}[q%A¯û
-"H
-äpûùS:ÏeÂѯûü*/îÉb$ÊͶ&×TaR=?öÉ®<Àè «u§:7OvÁó2¾EÝà«òÌ ªôK"{2M`]3иI¾ªa¨)*çX
¼BxíÝ`æéÔÄàº}
úu
-G
-bc¢gøYâºW¼K;Øüì
-E*CaUФ[?ÁsG}ã}#kÓ¾\2yýÖ=èÖ¨¿©>8w6ÒôYmô
- at s56ú"R*Sõ 8eÃ>6¢»kÔ?ÊPY_CÁ#ïß»\a±GøL[JÆ'ó®c7gÎZ1(Rsúï(ÏØUëDÒUãÓÃõÊl´¹Þ;fªK&:lô)bÅÑÐÜ$}~vÎ]oòÞx±¤ß1ÔYÞß ÇØä´õ´ÿ
-µj·Ù®Qò÷Ð=!R+c®:Ä Ë)§¤(|ºFº÷äm)bƽc
-Tþyø0©a1áÅøð: õoK{îÎíÐÿ
-¢S)ÖTìC8Ú}fÁÓÓá<À4IJÂÞÃÛò6c^1xÏW÷Lãü3ÒhQÀeÄAÚZË|bT¬÷ëzaÖi);µ²ò×½¹¨kaX8YF·Æ' ©ñÈ禱4Göu0½s4výWQ½¹pbëH8a$Ó%¹ßT¿aî7ôÜ·v¾äm>T áB
-v½f¤µe#½,÷Ù
[P
-;©p at v¨tºÎ²ËDó×:Ç÷«]ïI.@ÉJÀÆà-AæK@Ë=¡ß\
Ö]® )D6+ËM¹Í@ðÆo{ 4Dd %D8cò5ìèâ3"iN+ ÂCppæºz<
-{[qEUcãuÏÄXõQHÄ]wçPÒ3g·îÅÒÑM)JÅdKòjhhÕdÌ®ÅgÊMôìËP,IìæoUg,vÜ]ìh«aÎÝgl_àÙÌOu?²ÂcjF xaSo´r+h²(<[B¯¥$}àÛó;¤ãùb¾lòºße ¤¨Íª"Tv&öî*3&²¹RâFòÑ9Ô£Sb3C at gµa秬ÙA`éï3ào¸°ÄZHQIüÒ¸g(¾Bõ£
-y'}1·®CEý3Å
ñ7y¶¨]21_^^N´~B϶Ã7í³ãQóðíX²hT z
-PÉ=s¼«Î/¼
E¹'b¶ ÂÁà
-º\+X×Duï©Ã
-âT8z½ÉwÁWîdb¦½}°EC^Pi-³ Õ¿±¼ºÃl£öhPu,´RE"Çqû ɯÌàf ênв&Aú1¨:æ7`£`TPáaÚAN<XÏJüØGÃ_õCMlL[=!
-Ybëßt4Ú7iÇÛg¹V÷kݳÓâ"=õ02½½U³¯m*amYç¸1ø.M1çØðBaçuM\G½{%ôëÂBâ¦?}$ÆÝ-(c¡0{ù:ã·³R)
!ÎÉ63?
1lí½U|AÈPk='TÍètN½CÍ¢²àxû¡%rý¢¸êàðñÇË\
-ØL*ÊYݦÿFqüü¿/Z¥|ã+'þ×à?pÍ)rj½¯Çí5½¿«Óúº],õ¨*RIO¬^1Ãçß2iþ1LËO¥eþt<ò'L´¼m9¬
-¡íÑ tð-Ç)UNDÝkÙ°³}];dqxÑmÝ`ÉE¨g ¶ì¨
-#oftIÑâ}exüë2Øoxç¹WâMüͶMâGCx?÷Aá0ç×4ÑLb?´8ÃÖî£ö,a]VY>;N_ÕB¸Ã±hÈw,Iø`F¤Ó¡î[\;MAxÎ>N/
-È=X
ÿzrû.C+ãf¿Ð}]qöasÞ¿ÞáÕ°y¡Ë
-_Æù2å,ÊȨ¢/µf¯Ft¶½vû7²Ë¶éó6àËíá{0Ü3Ø*óWgçnÛJÂ[îí¥Bý^ÆÚ(b|ñ¯¥XÛ^Ë|ú_2y¥¢oSÊ}áÇÓ°A|dîx±G±$O7à·üÌH¨ÙçÊ+Jp
-àÔW#ÃÁÿîáTU
ªáÍ3Ë=)¦KúÐØqøǺÐá(/qQ-º
-uëƺMÊtÉÌþ¯«íðÒob}oåÆp0¾û®âJi~RGøòûÁ7V&UÞ+³]è«<J+uäd`aBÈ&^wÒ½~z .mø *K²Ëe¡µ´kìpO
-[q¦3X\[2 l<5HÓ¥|uã8Æu ½F)ÈæIß¾áMöù´QªúŬÀUú:¦n£#@
-çf²c $®SG@,`çÔëfõVHv at W'P=l dnÃyS8^o¾ÃÁkÞòÄvRý§o³6O©ØÐÝì\ô×2w[EÊaµ2ÞfR3ÔÐ0]à¥Z㽡k)·ú®
- ־
-YPüßJ·JS0
-v*Ûä³ÑP[@@ÓòuølxNµÆ
-âã½ñB##TcÓ <Hz}×9¯¥¡îTlB«ûðEN|üá ljê¶JÑ^^Ø%£I½@ÚÞ.XðÂþ«é@LN¨È]e¹¢k¬G0³HóðyåÆX÷¨ð´[K±<J´ÆzùÀ$p¾Ê|EN²T¨è-.×9#vq-ΧÎbx4 Ò\nÚ!£yº§MÓHà?§«k6cYÄ>É´Ó9×@o¹püæ²6[lÆ¿³éj-mªÃËcIbëNwéà£Úv3«ë=is:àx<8 4HFÞe-OTøã²'0/üõ¡íäÎÐÓ}
-
-Gé¦ ôÙÏKe!i¦.Ø¢£8a=|ÇPõ«J¢I/.]úê]5â¬icú¿¿·úÔP°¯ªÐ¬>ô:îÊæñÑR,ññ¹ú¡ýÖ×Öªí=KìÉ#H¶X³1!½´'
-®£¤@Ã7ô¼Kõ£kÄîÂÒþRp¢æ2àJÃ#½¢ÎfKɬaf¹ZÜsH'#'iÓ¶Èß Xúyî¢
-¡n~Ã/»ã5B"äT¸ÀâëÉ|Áe¡ÂºGLaLDBm´Q#¶éRv³Âû1L0à%º.dZÕxüÃ÷;;Ò
KÕä©kZZ¬eý
-¾UuPYVbèÈà>u¯pl¼Ç~éÉ:7Smูù8¢ø`zgm
-½}ixQßF²aôàµFU{¨óQè¢ÜZc]PÇNÌýX´m(1)Hxb£{qá
-úé¬DdxlÿAç
-/R¼Úi]µ&í!n äú^4HºI¾°õå¸übòr££E®ï\ØeÕ
-|Ú@¿8Ó_ÉBÎÅ$Ö'vXäMOLúßNêåTDÀ D[¶JDõõX¥DÎ
-ù;û&ÞÙø$#LÀÝ;fÛás2æè2Æ,pe ê
-Ø`,£ )ÿ iDÛhÖ.¨¿"Py`A´ãáuJNå¸rK<J@Êúêaö^â]¯Õª7ÛçàÓßuuô+
--®íg q.Â[Dîû2Rã¸Ù;EȽÌ}Âw»±xüþsIÿcæyáPñÁ
-ùäêgGóuúÞG=&ýãâJ_ËÆ
-5Ïø{v rüÇ÷1b}ÝõO÷¢ÙEegAç¤ËGëÏбÖï
-©'W@ÞF¥Óï/èõ+¦¨âltîZËÜ÷ó8¦]}¦æìßV·bHü[ hS'ÇÖòÒ°®õZLÀLd»M\¢8ĵ,gq)`(öEhõÿs¸70,gÃXN¢~ëzLªHÒ+QÂVÃ%×¼¶îËcÂÚ
YB
-è¯ÖwV/Bùø
-HÖ±Äü¡¼GºÉÒ· s¨ÐÎö¥Ý`è'JjR³B»¾À5¬È^mpo¡ÿÔi\¹E^ÿsÙ
-$ä°-¾ßhǾ§mvf½;@þRÚbÖÅÀ¹µ/M< /÷®ebÈ|ì°)0TsÉéÙÍ3ø7koeúCªÁÌ
-qâH»À:P¬ÎKÛà¹ôêuãW'+ïS8+/b7àóö¿ûX`JMë'_ÌËt«ï,BêçÌPYAKfddÒ«¯)£Q2TbõÀ2Í÷#
-áºÓò0A
-"eÆ2G0ÄhtÕYez±h<;+åÜßD$°t«ú$I¡S²k
rpl9MTùi>¯ø7(.cÎE)¼
-wF]$5^¦¹\CX×õ°J±rvm,?ï¹g¼°ÊýGkÆ@/©üÇ@òqÕ7SÔe¢éD¦oàXb£A©ÔÄÖ°3ÓD'=aÉ)MÔêh°nT/haºÜÇsZÝõ¯?îÙßÛVvkÓ}£óz*ñ~ÕÝGÉ®ì¼@ö.SÒKìB%Eó´DÇ
-¯-#\Ý¢ÃàÙÌnQ}L;êìçuçvg.ÅÉM%ÏH¤
-k¿9(§â-|TÊt§tÝ*³
-U =2 c<[Å»÷P=ªZ·co'ðU¹Ë¹^y¥õ·lÝËR1C¡%¿³å=P,¬.&
-rªEÌÐkÞ)æ2ªó²sÀWÀu \Ó1<»ª2N
-5Qþ;=mBþ,®Ë"ð
-}"ö>·Ó5 UsØpUAðævj½Å¯¡[áßõ>uùåÐÆxiÝ(MY ùøMeÊ*FG¶ìwO3M¸ù*0<%j1ý6b0ð*èÆM¡@ÍQ:<Éü×½ON <Lxîü¬m(ZµfSÉ*
-ïVâ
-fµm[ÿVÿÁ;yw¬ÇPEÏoiW1ü\JË¥@ÇdA,Öäõí*/wkfsØ1=ù}'î1á^8¹¢=m!jdÀ¯À&Å[ÓÌ4λs¦âá#ÜÑ í=Ü>=S)ãEc
ByÜ1Eíõ=,zf¨8òéÃn_È`ǹ> 9/Ì19(>&¾ßd×.8ÉZ|5ºÎ6ðÈâpG°.§¢8{Á2";õËö\pmÄ$´áÂÙÌöÆO`3xíF¹ý>õA{SÄbyõóÛm¦8á9qÅ"SÜ¿ö| üPê¤rᾩ³÷âèîÝ
-"ùãã"ãÏA¼@o¨ØæÆíÓv%¬cìØìØرí¤cÛ¶m۶ݱmÛ¶ÝÑüë¼Â¹5õ
-}ºã½0¾;¯A_ÀyÕ¼?ɺHÛoØð0(P¨eKå#ÁKJgëæf
íÂqF¨PNÿ(®ÒÒM
-ÞºaUÐÙe:Õ¹Z-ÿfàF¡(¶>/r ³¸ FáK$´ÃÆ9Åê×+naiÎ*Ò×Â
-A(|{¢ªM¾üH-¾1¸ÄpeíiKáñ¿¢)üodo=BGFÞulg
¸~¿¾¼87$sþ3qLÎU1éGÏo(QªsîküØÓ½zzl2j)ÎÉÓ!2ç`z³û¡«Î mA¼k,fbÚºËzÝÈ/®tbvEÆ
-î>øSÁÃÏßfÃ[ûêo®¬¢Å<ÉQU¨/
¶c+M.õKk*n¢48zªÄôw8lØè=üi©ëouQü<_ÝÁ ãMtÑ;))pûþ½ÏßO½¦{íFǸòÒãv08ÿo^Ô|l»@°õü^~èqÏís¿oÜõA̾$h3:hôAó+pï|Ä%û¡&V·9üd
-ÁáÑl¶LÃk7= QV§DJÉ+ã
-ëÐ"w ?M
ôzÚhÓjXÙpcÚ,å=Õ¶C ¿±nzÈ¡P¶à0]4#pÎUßpá¥ÇqùRga¾ëÚ6.ö<9ù2§Nnþ-ðåS{)^o"10kªzS²MæÊþP©"ýf°úÓì0Íü¾Þ9˯PÝЫ] õh3+ÞmA[§\I=«ñúÙi>8æ¦
-_0ìââ«wTÙÄ~ѸÀâ»#3É×vô
-W«ZIàò¢{ÀFå®h½C7,ì ß)ãd¿ÎG1E¿CÊ°Zs!i
-¨íQÆèÊíyã2¬}¬u¯R!Ãbý¸¯fD*íìk£#wäX×üòѹXòèrÐUöiÐa²Ì8Q¢-8'>%Ç£ô}»¶Ã¢q ÓÆò6êBÐÄ®?þ6 ªä
-'N̬Â3[y<<õ÷Ý)äÈ//¡a¼î}ÜÁgWÚĨ®£|þUvÆî6ýÛºï¿ÚFæº,r~àuÆÒùç8Î.úo}{D>UÒi4±¡2U¬
5dTÏBÒX_Æ
×·Äik ÖEÁËâµG¿XÓ -Zë·o°ðÇ~µáüü¿
-´æÀÊctfNÑ®
-^
à»Eæ|VØ£å=è&3kÍ*
-Ä^ÿ~°{¤$QïEZÕ8YBg
-Bõ_K:ß) íöé°¹·-qæ*uâÜð¬(dNÙG½áFb2nh<Ç4ÞÌaNÎ¥iàÌ'Ây|Þ
/ݾAKoÎm²&O³ªlglêñEòUDÇB2#ڮɻ<áÈ`yk²q¼5ÂN*v>\Ö)£VÇë¡ñmyç¿®2_y<²Ï'Ò1×Çxþ\h35çâw¾ðéAäBåÃ/è´Rì)Þæ¯~¢Þwî)Èoè8aqµÉ<lûQóØ ÿJkn_Ãp
a?cxÌNÌù¸Bñ¹
-F.Ù¸ÈLÞU¨´¤yÍçy£ÿ7ÎòµîÜ©YÔÀ,¾"ã½ÜV`ûÆ«k"+|"0.2äÓ:möÜÏ#¸îRð¾|pñAþnLð1ßz§ÁÒ]Û=5ÛÚÅ}¢g Ðîðmw¤ är¸ýâg¿RVy
éÙ¿|ù$`¶Ð+èùû÷mÿ[¶\UüÄáç{zËXÀÒüÑuA=È£t09¬ÌP½;ö ã¢vº>@sÜv[·7x
-f.à8¨XÙ\aظ3llî;§¸èÜÙßeXɸl.~õ¨ø|Êy§¶±h?cºËí¢%"ïM] "]ëdÞÆè¿
Ú%¶R1PÜÆô÷¦
-{ÌP5áá¬Ù¶-RO=JÓ!à§Êµ±a©]z¯/ù§çiHÀ¹(%êe½M<9ðÕ½ª#Ô2«¢Î
-ɼò;ê(ä°{¹
-â1±µeê±@ÇOn ]/{£âWNÃny¬ABËêpêè²4ud õk êè>
-ækóñí¯£¯òf7mT¢º])Òp ܵuÃuòÙúåÁñ·F¶3q7i¥Héê7B^0Û! |tîsÈQÇåÎ_mcÛÅ'ÁO³÷ÿ ÿÝ?{àNõ¾rµWWöpÈ@ô8ÉÄ Íüä ÜKs8hÚÙøÚ©A$ Ì5
-/_Þwc`0AøÁöêä9´-ã$'7âJ%ÅMú-nų7çö¥²¨ÚUâÁ!_èfpÃkÖIápìíÍjXã®ß¦fy-ÝînÉRþ+ðþºè@vÞ ÉïjGÒF¶øXJ´xmd%ÅdwPþ~õZØÿÄL8Ó+û×ÙClø±Ñ³Í²ÖìjÁ«®Xr«¨ÝÒ2tS»ãJåòýlYÜ䲪'>ûÈdëñÇûô·òèÚVà|þ$
-wâ1Oæ寳ØT
-1ØO#01ä"
-âõíéÕÆqõÝ/Y0¡Î-4tÂ.xýaÄ¥ÅlkU)¨à²nÂ
KsêýÜH¼î1¶2EI_,\,Ø0HûååW>´÷͹ºP¦Å\}°Äú«·¼á¶µ|îÕíß
-lOD¸ð>¸683©È +C:3&exWá3ÌZ|塯jù¨©uôñ³±¹\ÐL
-ÒJ°BþjäaÆ/êÒ%Ñà§?#âsÔ½ð{1¨r?:àï"Ârb°'9û«£ùéQÐqÍyNR1X+¢dsÅkkcvvt!ù
vTNÁ1%:VµB"jÞî*Ë®äùUèªÿ`Ü "?kOoÊBëB§óráÝ(.J¡ÚCÉƦüóAÛ?[í7e]BË°_ì>;¥´°"ûÅ¥öTêºzÛ´F´áO
-×AöçNÂb|ô©÷110y0ÆýîÅé;ÇU³´æ"£'?ZéoÈÝÐ,ìq°:߿ܵ©ªØ¶g^«õÊزZîÝ°¥ú'
-¿y%²yö2MÙîàdÅ%_?¯®¾H2'Ô_d?7*-Òæ&ÌKÁ¨ÉÂÇÑ_I)JoA[ÿ`ÍZìjs|Ì^<÷T-Îà³æµÀò3§yËÍ,tw|ÃÁätè{.&p,eÔ4×gK&Óø 81þU³>ÑltwñÖ^¼¾Ô5
LÅÁ¡6ï<¿
-ÈS°»±kH¢À3|+ËËÃ_aót*´ÇÕßÝÚd¥CÆ)|bÃ¥Ø ³ý»Í&È&ÖF®¬¥LIé-0,Ø_áçj×ô<óÕºuÛÊi\yÞSÒ7âãô¯§Òµ·ÒÎÖ2jÜúV¥
-º[¿êEÎóFµ7ëªäZü©÷tÕ#IÔ¼4íKýN!ePKÀ²ÐdsGƵÂNÃ0@ÎÃD):-UZCe/g4²uï£g¸J_Pì/ ¼¯*5:ÇÇ62Ñl,÷T¶ÔZ{Ó)Ä6ÏbyLÈfL*6©Ó¥='Í.ì£Owõ°x³·o/%ÕÔiL»Àà±ôd+Qd.H0=ü-L ¨âãcÜÊÈDd¾Lð?
-TqÇ0åÁ|p²8o4;9
-Ç3¤Ñ;@ýM+£¢7¿- _ÝÉlß\5nzL¶ìÓJøF"Ænk}ºôTÒ?÷Êp,VêU1zc¶þÄÏÑ£R53\ÅWKÙHq[_ºY=p<>NîB[+;××Xw°¥8è$￯vrzýÛ3Òæ<
¤ &J¡Mw&¼Þ»%ÿ5½ÀϽ×àë&³(x×6UÛt9lêü7çÊÞ^¨ä»KU:Æa¸BPPDÊòý¥ªm0k¨|ýtS`úªÁþ¥l.BAÇÖ
-ÉÛÅ/l½ÚVéA AÝIY¼ygø^hÎbß;Dx÷¤çiR®}Áß æk ÖÄ]zúZc99æm^ìϲe7}]Cbþ¨¢rÏõ^ê~ëk¦1K䶷bmêrWï]QûÜ©üö67 5b8^(ÒOOßnKYy'.MÛMûSÂ"Ôgí8aY»¦¬ =DÇïåAÄ~¾ */ú£O2Mw6ÝÈ;0AÇþï?öë1¹6yqëC¯Næ\@1ñý`RÞz¾ßC;RMÿ\æ¸mGZÜ%gÜÓË
-ÒÅSÛñrúZÆ\ΫNhëÃîØhExÞ¿úßìÉTu´{HÜy=ô0 U¾wQ°´ü¡*nt]ÒÞ4Ö%ÍôåôµÒ¨a65÷ª=BùéÀ÷êÑ.NDBvX½¤äj¢;»4I¥?«ìÔÓIWàâ$^]OÅÃ6D#, 9
-?cX?PIXðG¶MË:¥S"}¤AIµW=©ÌÚWyUڵ˽Ðñ$O¡Õo_ªCWÊðJÊe®Å°£DKºOçcFor´fÂtÖßý£Î|aîÐÏ$g'
F#S1Ì[vEF:åÄØÕ>YbmI'(Íȯ³ÁÂ=ë[]{Ð5æh\Úí¤ùæ´sÆí;Ëèiem.
tnÅy´G¯¯`jEOÃôMïVì£0p^PAñ±W¶¶íåðÊÒü&¯µb
-=GëÔEûw9UøÓm8ö|çµýÍÛqnÂJÌü@
mQ¥Ys
Æü~ZtJ®ëñÀnXv<ð}ç¼Ük*z:#UA6ÏbóÒj=
-Ãàq?§¡"ÄÆÞk
-s9lªO£3ÙiÀÉ4ØBùt?TD¨v¶Þ4á?Ûâ1·^Xmó¡©½¡<«$ÔíLrn\uù¼f:
-gH¥Ó<3]ß5ðR6«·Dj)}õeãoõxËrBeRý!#ÊÐÿX[4(2ˤ.Y|â
-viíA°~_âשo!Q>¢·nì®o
-âh©%HóVo¸QÿY©+&~\±eR¸î!HºjêtÖ.gw¨kتþ᧪!-/pIC.IzRN0t_]ÎôØ8å
-p
-#Pe!¬¢údoÒÎAVWyn~N®#÷u§®äî0úJ&nX Gèã5 ¶J¦`6M{î;¼¾6¬ íÇKKÎ+¤©M5¼vÃñ^ÕºÙØWëܧà1)Wùqåú'ÀdälÆ'ñ3½brwN^U:ë4UAS|õz¬GFè¿ð¯Uuz¯Ý¾* ßÔîQûØRúûb.psE!6J]ìÅ´ÿd`½i~BÅk3Å°F1QÀy*lFó³iB11t¬F»ÝuöÄÁ«ÄÍ6¡£ò7áËáçÝ7?µú&y¬*þ~Ö_w9
-X×±þh54BjÊ`ñByhEø¤ØK)DîB/GѪÅèÇn§gôñÅP.®.;f@¾þ½% céâ´Ý
-4Í»kâIê,°ÄÂkiyòOö9cnAÆHÀ£"ÚúÝ>_2{ÆØöµý9Bp½ddе×8ÄüÀkõÈêªÆÝìÿ ¨ÀήÜ
æð÷ïÌÊSÐÜc9A¬ÂÁ¦We <ûS {
ÛïáÍSRß
-nÌë9w§7gqüþ
-pïj¬ÐT`2/öõ]vþ5DXl¦«DxzàS`lð<4çDáUÀܸ
Îß9¢¯R[+CgÙgT´
-ßÈõ¿·]ívçÏE+'ª4Üëï
-d,ñÍýÇ;T®]
¡$Ï¿¸5\¥äíWD¨\G_É#~ÂRT%ÁÆA8b¨ÿíSÓ2\iVH)q~åïw"0£VýP:Sÿ&ð7ÁñC¹ÔOH*=´=P¡¾6s]#)öõA°°<¦¶¨ã]gªÔJ¶§¢Í£»¼é¦ÔÒ¶3¢êË?+¼ä¸§Ïî=ÙNbLPÄÞ}jpÆ[%ÜW<¹
-r}s¤ñFÕ'!£aÔÿpw\T
-@:[yUo-q}¨þÀ®è»<1¢H.æ]>Ó+wÿÖO;nò¥/BÆ=¬ÂVݽü
-Åìí=JürI¸Dùçñ0ÁW/ÑàI¿B].µ&ÏlT;îþÄÐú,g
-ô¦#g·ÿæÆ(¬Y<±"ÄÿëOä!B íDû8
-ÂkEçF²¦¦2<½ße
-L «qîèçéÆ£Æ ¿§
-<Õ$G?|eOg74®.§±,3Ì{l¹®É3Þ©E2«
-v>8_Æ^Á
-Åù;ñ}ŬaôepæfGÿL¼OÝ
-Ö[®T²¼7o"ÔftL©'ô´p,Ýܲúo>ãöó%êK5s«6û²94FJðé
-Ò[AkÅG7ZùåúÑÓÇ"åW}¬Ö
: gÊi"yÝÜ©Ì#ò¹*A~A,k V£`ry§#1òɸ[Ø=¸(Pj3¥°ÒJ©±ñï%ËãÁèGÉëñ¿T6§Zý
--ídV¿µ8ùï
-YV> ~rñ)#R×*®ÚFecËí5jRUf,^`êÕ>¨bO)×¥¡¡têöºâØ3ÏOÄø©.$>ÖF]Ë]e´Y6©j#{óiTF¸Ëåu:¶òj°°ÿèôøÈZ¬v&:±3¥RMÕ<Ô»çx1ýc¬Fn¶ ìȹãÔS·Ê°N}TyÐÖ¶#Ý®ñá.®fýKÐè9úhO´,çÍÛ5K¶-aéÄý6
û¦Ë|·8Q¾PRjÙdã²®çÓp¤¹«-÷ÍNê°Ë´\hõ£Gñ{mèàKá©NêE'N·ãU«èBÜ¥9©Yöc¥ÙtÉâ/OJx8æoe) ²M¡oÎ
-0Õ«ÅôäéL¾ê¨iï0I0f½§l3üÍÐPçÓ?ͬ²µ´ÂI<ö'vkªDKõ
Y
-kß3iÓ:WeÑ«Ã_ÜÖ;úÞ8¿fts¥]*dDÐÆ·2ñ.Ïô;£5ÑLFhr¸bp#²ÀÔí*7gÀÏR(êÌ8b¡B1½»*àͧRq^ Úô)ª«ù~ûX½³85
-T~SL¾VòãqO3qW=1ÐI¯%
-ð¤Üëów
i¹Õ¨
-¬Ñ*;ƦãAÄ(VÃ|s®MÃ^P#w+Yôc`áä©ZÑ£!:ɬ¾x$ïÎk×%Ã}Tð|ÅPQ ´ÓÏrçþµÝ×»ÉÛØÍ&Z/»ÀÔ÷f£(Lg"´¦Lá¨ðo_^ª_DË)k{ 2õcìe>K1!LÒ_Ì~w8Ä`².Ù÷9²ëÕõòé±RûyÆMpo¡xãtæsÀ«ÜMhÈÙ(üÜý*IÏï,Y#j±ü¨«@ÇO¿=ó[ß;e'
-î¾d8A`T
-2Ja+Vê£-¢þC>>_-û
-åæè*dmôDÁMÌY c
-¦©íòÜrúäVËdó3ÍƼ楤NÊ.Ó'aZÞHz>Q
-,@à%<&ME]NY
-AõxZÛ^'â5=l&.Ý|êÕ2ñHs5o¨ô}¿è¸P¤Ê!-|gÅÉ ³0ZjßTÏ;!å5Ø, ÕR?CRZ¼'>ÚO
-´ùå×ñ&ò˱£;é¦ë
-äå'ÍÍyá9eÂ6(¤ûÖ®
-¤E*_DxûªøÂõo7qWÔrLÑÊì£$ÇB×°ÀÕ¸-IÈVbÙ,tø[öÖ*Ço¾Å¢
-r¹«éÞJzåëy¯¶Z^wJÔ4e"ÕG/òæ¥m?µJ§? Ì'¹ø÷Âê¡ëR°§ä"¿Ï?Sxôí*T7 V¡=ÎRûäf¸U\t/Dî@¼/ÅGÞV´éW¿¹EglTµ¤©o1'°¸Ì¸¬~p:$ÿ¯Z[È>©ë¼RÚ"³"®yÌP*>Q:;6cSöÆJ.\¶ñ-ÓS?l_|Ðrõ½Ï^M}ð°ä%³ý±vñB!«ZÄhg¦øøFÓ
ø<×;÷©hþØ
-$^tÿU
-|
-º·Újj¥ÉØë_8FÛÜf!wQ<Jùô©ºr¶³:~gc|õqJñ'
-l[Üs´@AKÉÂäJË'y¨ù
NàR¼9aiGdlP/³OiL¶RÕ5ÏS @´Å¬
-)ôfï62®k¨?Ñ"¿qûçsGE]£®.ðÆOûø]j¾êFc$]¥9ÐCÒ#0tcéòw¸ÂÉ?Æ{» øKßÞÚåõºO¦¹&Ù×Ðdí¸Ù²`+½½5ÏX0ÓHûGîPAØ7¶?5oû-HçýÅ*²U]ýèp[§Ë%Ñ ÏÆÓOȧQ ÷3&{g
-örò0x"ÓÆ;CàÕ¨}ÔØàjøkfø½ârúj;Á,³ã²~Ê>åXàøûD\ݬÉèó̳=OÉHVÿ°§üaùª¨¾¯zÏ:UÏ!|¿K÷=köÚZ]öç/Y½µë¦³Ï
-S¨;AR³E÷H¶(á5bLNW¯1UÁ²ô
-ì]?!½9 ü#ùmî¾ZW#A
æ|±Ýa¸§Ñ¸Ãòú
7ϯl«êf^´Ý.
úøû2=DR<IGî¶ú×ÀxÛ;t|ôN¯ý¥x(hôz6¨F¦<Âñi¢hp©;ÃÇüâò/{+LIÌ÷½U·Àù·êê4ísµ6àÈ«R{ââÜêÒNk/Oý»0ú¹5
Öù0}N$ÐZ}¡~ØaaoÓ Ü<ÐHÆ99pkns~[÷w±¡V0!Ú@·>S$ ê:-áÏfýoT|Õ^Ñ=ÐOë|¡@¢8 y(øwváS4]ËÚ_å;Ó l`¡
ÿnÒlS,
-&®T»*ÂÝ#ZÑÖ°$õª´ÅMAyZÍO+ZvªhóE÷3æqñÒ>âÊî9è%Mo¯,,ÈôƼÏ1Þl·1â ص$Réç
-ãJÿ¾ï.§}k©ÀTä
-Rëòþºu'ÍíJõQj!ËNäÐg·¢§Ì
-5
°3J8`\`0»úòÑÄ$Uýî÷Ûpz¬¡E%Näw`4XøE¡4Íp
-2¨DNÖÕ£7J
-Ö[ïyÕ¿jÃ
òµe¾ùr¤+ûàÂö#5f ÇZªÅÜ5RØ,,ôzö3-×^ðV7)ÈýYwc:÷z¸ÒUßD¿1WC|ÿÕ<Ø5aÂóõE¤Þ~qW?iø¨å/ÿý®êmFuÓ:£®n
-?XÕ«[;*ª´mYÛå¿©fzùèF~
h&®úø+üº¿ÿߧÉÛ
-/X6ûHè8Áx("CXb`
-5¶eýìF°Í<D6ú¢{qïªÅãð;ÊuÒðâ/ôóuT-tSctýÁô§LÌ.éF»Ñ2¬8O§1·\³ÐÃâG¼òý¢MÖôE7øÙ²F\ìèõ·ë÷ÙØ4pèþud E?Äû~(ñvÛ¨`i"ºôpEQ¬Ñ$ĽSãQ1÷WJ×Ô7T7(Ëh
-¶(*wÂdÓp´ç×j2Û/â p¾ËÖüóÖ*ï¤aªkô [Æö,åPa£#êØU{6ã
-\d±ck±ÔJ&ùÞÉ8
-j®
Líe»¾4sªVÜfæ3®l&+ù hú¨e®%ï?)uú;{\$+£³O¸Y¿Ì+â-cp`¯º£Öi{àÒX;¨ø¹¾¼ ±z
-äÎ
- É<psLÈüxWõÑF°ö!)Réóºæ¹êd$~ê©
-\0k1ƾ®´F%5¢"¡bV)LV{ÊEès¤zìºO|8z-S.ÏzK3DÔÛôWE<èøw(Îø
+xµ\Ù,·
+}¯ègö`Û]gä
+þüëíç'þo¿Ý~Ñê·Ï¼o¿ö¼jé÷pSFÙ§?ü^¹yü?ÿUÞë#þ?÷*`höè`
+gù¾Áà§?§¿yçÞ`ì>7ï¦1ÁÃÛyçözjÇ·é@ÏX]yÀHxÈHs?`¾'ü.ò¡>}ø C'õ±ÒÛPsMèí\°Úw;êÏ9c5¼ÿÚ
+ëõâL}õVh ¬»ÔÆÀÒ¾,1¨ö´,Ê «´ !hU(.,))?iÓ
+M<u÷wIãà÷&CUíÞuVóhÕªúqÔØ(:4Ë0Þu¸8Ê£wót
+×0×Ò%èü6i {ÍnB³USô®N»ÀÚÔà3Cy%Ùpî"E6¶uã²Ëñàäfº"
+>-úNï
WI±°¿·p°1®G"ÁÇê%ݦ]ØÇ©ALÔ1¡O«°± Ý·Ú/½Ëè(mü&´± ÙwNr I2³'%ßgX¿]Á+qY<R¯ç8´×¸KñU] 7
þZIª5öÝà7§Pº@ðÍo·îÝ÷1 ©ï¬Øó]»¯17E£ú»¾íÖîlYÈåÝ[6»©f=RÜÏæÜÆ0¹Ù$约§÷yxtÔB×ø9h^Xó¶CG,UÀoìp¡h5[+
+ì|ô
=\ôØ1
+Bß%
+Õ´34
+Ö¡:¼Ç
Æ.õ¶Y¨N8J°Eíäà+dcþÇ|êI%\PlW¡Z%N5Ð÷ºÀØP@az\¥+øfäû>TWÞcE¬K[2ÓsãDå dyEô`á×éVÃå?4³;õf¬E¶ªz6 U!¨yóÁ_[0yqþk`Ñ Äà6jYäD®\JJ*ö2 {NW=â5g}®°¿ëå̲×qù¹'þÉx7nâ{¨Gk½d æ_3SYGÒ:?8~£ó{²
+
+g
+_{6c®êÚ},å6Qd!§&°¹sæªi$ý¦¤l©kè'þúuýäD-J&QÔ&g*ÔLÕVL²UDã¢óÖª"²ò¼ºS¢¾
¸ÑÌàÕì¨pPãFì7R@Úp
Q/ PWc:Îó
+ßpD«¬-«èeÔÙ0Ø
+DÔ¯Rê¨T}@$Ra=ÛîÚÙ¤`=Wº°ql¤£)P2ÀÅ)åOLr(ScÔÌ
+æóaf{x &C1ÉóâÉDFÂS+:35VSÇ]jÉ1N)¨;Â2çt£õ8èIeÂk4¢X©5£¸ëuÇ\¬yÂÖgXÓÃEÍ(*Ø*ÅÖ˹gÏyç&D{*Ô
+rÛ
cpÐý±í_÷8Eɡʤ¼d§d$Ç¿4Æ>RïúPÅGFwBæ«&UH0
+·Ð²3±¢Ò£tU±uÇ^¦YgO!»õà ÎQU
+Ý<#dï
+ÙkM»F©´eÿOTÍ^°
+YÃ,Áç`;±ð$¼Ù5ãV.8,YÁèWýå:OõTiE®¢±b¹b [ó ÖäbfK]ë}F¡Ü í8dù8©ÁdápÆq\ný§µÍÊ÷ÊJ÷\ÙÅu>¡}m5ÖÍtÓM~¤ºì¤=Sú}Ú¶4DÑ˱-4ëka·±r`W·µÒN)Ê´]bZDüáF¿°íYó
+B71«(¬,·ùî¤÷ÌíÎí[P'=s§LêJKHµMÏfÙlÁÊQ¹S\kêâ{
+ÔKxkOý`~R¾g|{E`¿£ÑCvät9½}XÛ÷§ìaèõ6·¹ÚÌRò½/vgï6ÖjÛ
+:9Dï!Ëe>êd+C'Óòu9¢÷þ¬!x5}äI[º÷ÖèØÉ[ö
+L&Þ".¶>é"|\HI¼ùôçN8[w^kë¡Ñ·ØWìiýùOo0·Ïï7$Ù¿¿!ì lö!Úº)çAÇ&¬ÿ|ûù¤4ËØí3ZK?ùÝx÷.¬ó1[ÞÙ1¨ô,Ç~âÈÚ3ØO{Ø«©ïa=_oÕ¬]Ú÷,wÓ]ê;Ø:®6æq£¨½Öx¢ZXc>H¿ç-Ë1ªµg}×ÁÇÉòI~±Aôr]/ñ´Á0×ëh?anð3¯V£.Âq©ûQv]oÛfX(Í"p!øW:sgª%X[6êAó²ç^à.»ëòÐt
+Xçì@évYm¢gâ¨0Ö."â+«&eÙ@i0qO©Nä¨Ã.Vgãð-d๮ĬÂ×½pN<ÓÐàsÒApÖMçðÑÅ#Ç{ë\&÷]Àäüú0pY1L3éÙT¬ç~¥ò8µb.{*Ó43
Ì-É_ö§s´Hȸ¶Ú(íËÚIg>¾"ãÉÇS]ÂÒ KNåãúO4s~á® ZAÅ]>ÀHÀ4÷I¨±Ú3JÕ;"!åÿXW tþ_ñö ´Æú FNEL¢OpÑî×Ç
ô·<ʹºbiÃ0¿}-*RH."¸Ci÷`_ärÓ\åÐK'ÅÉÓ¦uoyÒîi:%¼ß¶ÞµYIÇý}ì£9ú
+¨Iêb»
+þ¾ÂXíS$»ÿvÉo?½ýzû¬
endstream
endobj
366 0 obj
-78230
+3705
endobj
-367 0 obj
-<</Type/FontDescriptor/FontName/NimbusSanL-Regu
-/Flags 4
-/FontBBox[-174 -285 1021 953]/ItalicAngle 0
-/Ascent 953
-/Descent -285
-/CapHeight 953
-/StemV 80
-/FontFile 365 0 R>>
-endobj
-
368 0 obj
-<</Length 875/Filter/FlateDecode>>
+<</Length 369 0 R/Filter/FlateDecode>>
stream
-x]ÖÍnÛ8à½BËvQXïOHY²é iÀ±Ô@#³ÈÛWGÎtø®>R4éuw¿¿Ï·õ?ÓåøoÕÓy<Mùõò6sõÏãªi«Óùx[ÊÿãËáºZÏ÷>¼¿ÞòËýøtÙnWë/ó¹×Ûô^}§Ëcþ¸ZNy:ÏÕoÝÃ|üðv½þÈ/y¼Uõj·«Nùi®ó×áú÷á%¯Ë]îOóéóíýÓ|Ëï¾¾_sÕããå_¯cãs^mëzWma·ÊãésM]óǧã÷ôڶ¸¶®c½sSòü1ç¹EÌYYÙ
-ÙçÜÖÍùíwÈæÒ#rbNÈs¼§mܳ½Gçnýþ@?Ðàôøýþ@?ÐàÎìÈôøýþ@?Ðàôøýþ@?Ðàú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_á·sõ~ßè7ø~ßè7ø~ßè7ø~ßè·R~ßè7ø~ßè7ø~ßè7ø~ß9þñwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßátF8#ÎHg3ÂÙ¶
-lÎù+Ú²rÉæÿY,h6¥;ÑÈDt8.Pi|ñFv ¢±+íåK÷ÌèdDTôÀg¥uNmÉ-^F
-̸>-AÍÄNèÄ
²,²éuð¬´aÆ`¥ÅALt&8eÁM³<#artËF{ÇN®tÛáÞ®LvqèípvÆv¼øÎKû2¥=²æn±ö=Ûaîzf»õ1þûåOOgñôË$@;<«)bÏwW<}ynS~y.®X§G¡ô¥)Á°ÔÁõë¨3,uðîÖÙÿdØ@±ÃÿÚ«ãÛ4ÍrùPvcìÃç1ÿûKáz¹â®ò÷p×Ø
+x[É$·½×WÔYÊÜݵø,{
+tWerõÅBºþ~ùßU]¿W7}
+ÚÀïð÷×]ÿñÝõ7z?ûë%øúïËû¹~ùzU7gá,¡}¸ùkTÛ
+^ü|ýËKßâUÛë_®?¸-¼b4*ºð2*Ø°!OÏ6üëbÐðÙGü໣ï>=à*¤NöÇëÿ\_.?5Ò2EZØ3lü&ð«ÖlÜ4"ÑI
+\ÚIÒP¸äð*ECM8 ¾¿` }44eÓ·ÌÀÑÇðq6!Ñ8êº÷p7µG(
ÓNÁÏ/\¢
+,ºð=m2¥*ÜêôY¢öMñ@máæ²Ø,-ÔÞ¼8ÉÙqu
+ø"Ã^ÔÕfAEmEiÐ_2½(ØGñïºzɲ)ÛfÉÕà¥}B3ìîðÌæo¡Ù½_¸tÞI6Mk¢â@~Ñ{17·Ã{à×hÒÈùhøÄH[kQn§Ò6
+EÙ,ät\)Àß ¬ºIÅÆ1*¼y¨L§MôÜ;Æhª" TUºªÈS3¢¢r3q®ÄÝ0"0Ö¸§
+.!:±ã
+£Cè²;y'ì\~ÄUNÕª=¸ÄN(ïWpeQÍÐWcEGyc"Û
Ñömdõ´âAMe+QÝñý«MY«àh¨%t¬ìJÙPS·¬æZ4.õ'G»¨<Ñ ä~¯´{È7²ª¯
+
ÉWBvcBª 2ZQw!rZDß
+%ÈçÌÁ[¦Â7È°fªÜ²|`¿ê°Ý]»Ð?ç
+5LÓîj×Ä8+8ºr4-¥QGÚTjÅÓÂW}ª»'ÂmJ0«
+2ã>"nC¼\sªA9É\ÒÂ_5
¹êi1X0 DåK1lÎ+Z
+b¼¶¾Y´y¨²Ù§jl¨Q¼°Mëeù)A§4amV«¼_´¸K
+µfêsbóÖ+ÐáîQó^öõ
+ÙÀ;z®¢°S,ö´5`deâù4æôh-`û.ÏÚDµ*S¯jL²ËÚ=i)/~CËÍȲHD×á=ÇÕ£a|D¸×«"Þ½ xËQZì8_.,nU¿
+BØ=··ÎÉÍRã¨Æw(ð<bxÆÄú)æõo"{|¥iKò:±
+
À²sô:ÈÅ52H÷5$G0$7®04a
³Dw«í
+à³~ÒCð=7Õ\Àõ_ÀI(
+©zØÍ 5Í}ÊôÒ#Ä«d´Cyïzh~òHr¨u¾%I$0æ¨
+ªèªf͵µði1-ݤ=åBf»J²ëZYÝBSo¡Tm>Rg0Ý++¿÷Pléu¹:aÎC
+%ÚdtZ+'qÉØ9õ°Å¸ü¼.õ6®ð!xÞÐ2âRꦥì?ɨƹʳÈסÍPdѧN(È»Eç¦a¯gú;<°pݦä÷¨É±c1éyCÇ
+÷üAguWõL¼söv{¸7ø´³óå²øÚkf%ºm¶{RB/#¤ä1Ñ[~¸ó¡
+ØX#>íQ:X>ïy§öF,o^e;g9]ôÄWy¼(d+5eÉ~ÇÜ!1õ\Ê5d³ùPªD&D,l[Þù9W³ÛÖô+uL0®mdsÇ{ ׶3ì
+f´AyÆT?W¨JÒþaacf<h^é±Ïï'Ú5Bw{ÖéíhS~
+Öù'9ßcûë5à{úüßëßÿd_a>·æweZ,
+.ü)ÕN'¨\ߤùÈÛiÅ{|e;±Éª á¬R¼¹»¢|ñz{qûãZñNiêÆß^v¯3Ãý{À)¢Ð÷8vCÇS»,´»£ÞöpÔ"
+ðïh ²¥·Çj{oûzê¬N+k)ôîiB\9_ʶv½3nÛ$ó¸'Sðç³~ñǺŠµ£ðkÑÉîfv:Uw½(h
µuÞ1X·W
+2_º;1Ý¥®Y^`f{¹ëäø!Ï2sg3
endstream
endobj
369 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusSanL-Regu
-/ToUnicode 368 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-278 278 355 556 556 889 667 221 333 333 389 584 278 333 278 278
-556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556
-1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778
-667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556
-222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556
-556 556 333 500 278 556 500 722 500 500 500 334 260 334 584 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 333 556 556 167 556 556 556 556 191 333 556 333 333 500 500
-0 556 556 556 278 0 537 350 222 333 333 556 1000 1000 0 611
-0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333
-1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 1000 0 370 0 0 0 0 556 778 1000 365 0 0 0 0
-0 889 0 0 0 278 0 0 222 611 944 611 0 0 0 0
-]
-/FontDescriptor 367 0 R>>
+3091
endobj
-370 0 obj
-<</Length 371 0 R/Filter/FlateDecode/Length1 1334 /Length2 85592 /Length3 521>>
+371 0 obj
+<</Length 372 0 R/Filter/FlateDecode>>
stream
-xùs%_m»oÙVm»ËÆ-Û¶º\ÕeÛ6»lÛê²í·ÏÌ<óÍ7ïüó®\+3Oì8ûìÌç^rbEz!;#Sq;[gzf&n<ÐÆÈÅIÙÎFÞK^ÎÔ(ålh
-øqÀ«Mÿ/'8ruSG' -÷¹8:ÿ5:ÿRµp¹
- ¡þYþÊLÿ÷ÄG0µ5uüÛÒ¿ÿ¡NÜÎÑÜô_½0q²°¨,í¹ÍþBfÿ@Nf¶¦ÎsÙØÙüSÜ?Á¢@GSã¿Í{0þÜ[ÙÚ¹Ùzý_¨ÐÖä
-mM|¼ìíìfÖN¦>@3Ó¿8/'CWS³£©×ÿ/ð?GpÌÌ
-ÀÌÂÊàâ`øüÏÿæâ¿xøUÑøu2ýwJ)[3;
-Mþmø6vqtüËù¿ýoìÍë45u75³cá/ÀxØë¯4`JMÑ>®°háëÇvIëpÎ'ª¶ L*JF «xØmD_Ë´}_ð8+¡m¯x%MèR9Ä]±èqHõ£â3çݽFÚ_/tú¦ic ï@!ý>ÁMkË0vÉá½f¥bçì?þ'¬\<~ÖNªÇãl*ù¡=sÜA©Àñ¡¥E8Dòæjë3ªòø%/^^ òÏëmFèX`êo²,Ú{(%ddØ:
-LqèZâÞ´ô
- |vmFA1ÞÂû~$W|%ðÂtªÁ·x%à¦<¸g1æh®û¦Bæ*R%6m1Ò¤Fè]¨ºÆ²¹Ïþ@çÃ1å¿ú¡b'%ûAÃñ@ 7ЬLñÌE¤ØÏV(ø³ÒWì¹ú´D.RJqĶW¡å¸vn]âgD*ûfçæd¢lÎXJD·ÑýcMþY¨¿>FñF·8)ªG¤¸·Cu© ,ó×ÿµMIÊ£«0ãt³{w7TãQ/S/Ìè}ÔY£$s¥¹cì<7agäKéDð¸ô+aÅ!/ÄÑÒÛAWZ}ø|h×÷Ël?ì>3¨l·¾vìÆró÷n!1ËtÙ³ÙضÖXmÁ¬tæ
-azre;uB §£âHMn ±ìØYyqVÃ#á\×Lùa#öxYbÚ~<w¨ç;¼psãõ¤yp?
-nWð:ÄèârO;¾÷§óÆcç![poyÙ.ÉϹyCâ
-\LVXô
-r)Xb1>e8gl>h$æ[¼[Jæãi¸X¢´Xépú'ñ[X¢q1½æô\E¤µ©Æ3»Kqenie?µä±ÛdÊ oKâÌ3?DÁF½Ê«íÍyÞÔ+ õR$¤Ú1GTAWCèò)¿cº6o¾K½F×÷ãVWâßõØíï
-¢zäBVïa5ÔtXõ²|+´ ë¹gz;.®¬JY.JÍ%#¡âÒ¯
-û½¿Øf)Pê{6ÄA(×°/·áæñ1qÕÑÔm
-#¹$*YfÍa&}Fj¾Iÿñ5°ÀÉÞ,k¦´Ëô7c@ιi d&,
-é÷É'«Oñ¡[òÆÍZ¬:äà~uïϲì¢u"Ï<WÞayl°&³ÓµðÒ4>õ¢[m#M YIãòùüùÆ
ú+÷0¸ÒÏ3Ùü}cH
-wÔÉt3u"jìi|c§ß½[ÞKüÖ
O-£Óé
êOÚ(R§ü¢¿ì1iXÌj@¦d|C×.<Aô÷èMpÍÒü-Þ~i¦í
-Hh?MöRÝ;%ÎÖ1I|m¯Òëì!Ã9FNiMn¿9º£?Rzõ÷û,ÆÔ¬e×KGâ`ÍyP!3·Ý=_ø«\Þ)Zzc#\)cè³ÇTv)õâÓÚ4Îñ]iNÞ^uÎ\53>Îiâ)àq¾¹©6(ã\ÉÔ»g.f¥Ñï¤ ßCEä!BºÄ.ÍSÚm»jË,Qfñk2C]=Ó¯G0×$-à
-ß;Ö~V?gwîÕºfïÂ¥>3槳w^Áçd6ÔnY½%À*îÑïJÀã÷=tß3Û£ÙA]Þ¸K}ù(ç?háÂFx³âתñ2[ÃÓ%×Ø==1eT÷º©hûÉ}éöy^÷µ»ßßXǶ¬`åreSU@½_|záóÄ8
-e_HÉSä
-Z)Wà´ä*ôÈÁ8kKUòP|w+=;ü'¿ö<&.-ôOÙ·ÒöI|Ó¹Ê^w² Òq(±bxí"kÌúmÛF
-¦«Ýmê¶æ
-l7Z÷ÌRVö`ù:aå&z= ¥déìßV«®ªÚ0b6Ö4<C@¤9¬êÿɸ+à[jì.©Ã&lnéÀ¶È¡õ©eµàGݵ÷ÙîÈxAm·á>i²×Ö¢è9~N*|êÙ|3ÝÐH_ ©HáµZ5½(F
þ.Þí¨ócwÈ[¼Ò,èÝð¡?£Z"ôø¶|¾ÃNR?ʾ²Î4-¥¹ÌS¾2%fqÇÝ+[¥sÜä¼f#(M«Î A};Iïç!\fÙ8ÂúKx±i|(¦
â$VsrüåµØ^Ð ¼¨ÏkìåyÙæ!Æ<
-²Ãlulóý`$ëÛº
-å Äv-¨7¬ûGHðïzVè¡ÕÀߤ@íµÄ}³>ô>
-*|ÈÍÁO2Éj§X¶[$Ïm_060«
oúï2oT$Û,åín!â§xÅØ®«*©àXëVñ1xòªáÐBáDɲ®JHÞNhªVÕÇ^{/6 mVispJç¼ë³f¦ nÉëL^&`41¼Ãc[§aá½üþк°í ¤ºÐIH?Ð_;ÔXâðrçéüyH¾WôðXãy{Ú4QtjÝ÷çAó
-53sawò¥:¸-vÂAí¹ÌyZgí¯3Bµ®ûhY~]Ö
-ÀÝ#6
-¦e~:Å M7Tý$åÝìñê騿Q9fp)¸½ ôßkÀ;lÞv¥-Q¥k
-u¨@Övq²±0×ø@?
-,¼7W<¼W§²?"ò,É<;ËõjpcÒæ.WÎÕQx¾ýA¹ÐõµÍ[&zøÅ+EÀ¯ÅàÊ"m}ë ÍìÛ?ñÞïÚÍè÷è{ÛÞûQÄá¬5Ùàgé<Sy=dioµå§3½{LÑsg´äݼw²$ !öÖOT+éþ°Q3k¼Ö}
7nª¬u¬±Ã'WSÞcØ0¼?â3®]àN´¬n
-[ª:]ÚÜ2á·èÖäßÝpYÞ£î4ÅÜc¶0xKuü Hå̬«5>ôíÜyòk4¨lqN·7G,â£w¤Ô¥éÐ1+lä{ ¬þÍÝÔø_Ó½¤,Ý'µZäÅÃÂEmfÚh×W#ë ~JÒ¨ü}£DÎÏ$ïÒ¯ûpa¸E,pà7ªÌÁj#(8DÖ£Ðé-ÉüH
-bÓÓâ¼]AjÀDXÇ«wBÄÁ«M¥y15«A§¶;bf"Ü·Ç6.£1êµ
-°º9¥c#·½ràüeÓ'Ѩ._·näIf'/Þµ3»Ó&Qº?Ò£}'`!Þ-OBªiu D
úTQÐ,ÂxA¿A¦R9ëáÙ}D tíÅ .o²^ÆêãG8ºÆõUâÅ©ÏR=>/#MRª7ößÔùkÜøÎàè¯Db
-óSviç(ÀF¨3mÄ>t¸P
-ôìM;w¥ä?«bnÈKþBÙ@ÚliCHß®[[Í%ä&ZºkÕÑmüñò*DD¶ùm[}¼<7ùï×x
-}fÄO_fs/<¸k
-4
yÎAgX·Ã×ÞÂiPS
ò!¼²&pÇbELرÌè=Rx)@}H5,I&+Ê}¿%?!0O-6(·ôn{i=Ý®pcE!ákßë¢ÚÖ¿¤¬-Afkß s0ª®Q*Büg ´ÃOõ¶£OkæõO·=ÙÁN6¿ lÎÉRÂv]âou<k¾Ðh8!Ú9£J¢¶]©ø6r`JÍLÎH«N(nÍÕ¢ÑÏFiX¤Ü¨u<Ôßóm
-÷¾7ÇŨA¹ß×rT"mõéÕÈØXµMùâm1ÞÐM¸
-ÍÉùÒ
-QY.ó<·°¼Ù¼©Þpï?õ¥ú®ù97é®`ÍÑùbãØN+ÆD:($#TØÍj¡ ÌÀ
-u].Q¼áæ2!ã¹hl
i·Épòð¶ë*IµÍÒÍçÎKÏy#è;¸Ù
-®¨0B0&êE2Sç|ÇÕW[äÞu±^²úéþ½gäDj¾~ïþ¢¸§¥¯êó¿6~äfÇ#Þ0Ëaæe±?¨úÎoù}
-[(ÿòyÃk½¶ZuøXO6²ñ<¨]0ØþyèÊÀ=O[ÆÖôsâb(¡Ù¹÷¤³ô³¨OeZ:ÈÜ/ÜLna?]F*°
-ß#¼Òã`ÛC®®c%«£AôËæÚ5¨?ÀÉ\X²/±â ÉKhû¢±Q:ái>æð´Äߨcô^¿7.¥OkkSµ\+;ÖË;@ÿRC:W)ñÓÕ_|§Y§îéÖiß©â $µ¦âciõ3ßùQ¹^ú5µÀÚýúç@¦ÌfhéuGj¢bB{@Ǩ®*îÖ]o»vpúý°÷üÃéç.XOÑE)4MtOóÂMÚÄ~ήö*Ï
µrü¼lC×Fo"¡Vï\¶¡taÙtÒoJö
Z#Ïpø=\اþE3?âèpK#²Øæ:mÒ$ã¸&¯32þé¸Ö`rKFè¢#X.òQyänã$¼ìáô¥]ÃãÄäÂô&4ü?$Ü?.ÑrL[wNSH÷Ó"ªVkI%Æøöåð_Ü[ô%yF077D÷(¡yy¦hª#ðPÌ6ç^PbAï+qlkpV_²×ö©x£Æm*'þþ8ÜíýqT+wNIòoű-~¤ìPÃHÙƹ[Wþi¾Î%Ìh>ldíôhBäE=ï /º#·nÂ1«]Ã(`&ÊdÔò¿éZq'¡?K.å%Çú1y°p7Ê0òêé['Ø
-õ%ÝðÌxcºÂà½Tßþæ6FöLÆ¿æt
-þzÌà<mÄЮÍH°Yñ":QãøhóEdegW¬ÙV`£¶ÙzÄÝÖ¬^ÊåGίA÷pOQÑñZ²c3«$r9è³ ]iuª£nA˱¾Ý軤&V=à?
-¶¨Gä4íAUäµH¾^¥ ÖR±JÏ ;Ç×yVèÌ^=õÕÚ|C½¼Ø<ëqVÏ?vï=ð§ôóóøØ'y4ºe÷+# O£%ê´à¬éçK¥¸{ëXÌ
¨¡üÔY2xa´*\s4¢^·*Ëb
ÖOÛ6zù}Eøýæñ
-À þ]ý
·0EÃBk2äãjÖ2aÏÚ§6ssÓngÂï]$íØýÚ. õ4Ò"#2;í'DêHpEÈXP88L¼>¹XùTaSÀÂ`ð¤ÕÎfºúbãðËÏ
-±¥Â±f! ¡|H
-ü¤ÛGM+þ]sì<6öò?ËßýA®mÂUÜñ¿©Ê»±Xû÷©^ÅÔð±9$yi¹ÜÂ'ai4ÊôYUSÚú×H6AçF
-A\Í ;hºPïgo10ÿhÒÔ5óeÐX(1á¦[$9Ý<ÒTSuI?ì³
NÇíÆOÜ·Q.¿×ì¹À5}},.L¾NíSJ9ÂN,¦Ëeµâb69·5*ìkNnæOYÏÒSR{{(_0ÎO[;;×¢ÙÿÀÑN]ÈЫôÂëöÁ~·Ã?§¸ZzA oÎÓG© 9fºÄáySÀ7ø
-~«I½þ" ñQk~Ár!yv w.ʲx°¸÷ÂÕÆâ0^;¡ðîîÕ"¨ §æZ\QZ]WSMýÍ|)¾ÌÊñ°#1Ø8 Ãò¶b*aXq½eP³IxýðcÊ×/z¸Gt÷³Æõh`¡ù¹ª/KÖË!J@$ÙöS
-Õöíe¯iaº»íáÐKpVìîZP£î¬s4ÚÕ®ÝüË2«¾ì=È:DÎua>½×nNiÓãÔO>/è[¼ûe*ªÛ\²ÞÀTuxBæBúòLFb)R8Òtqþ7ôn0NTÙ]§úÃÎÖ{a·U
-Ð
l0ã@Ì@dõL)?ì
¶º x¾Ô
ú
c
-ÈÓá~Ð4BËY3ÉäÕ IcôÚI?Ü@Ö½ÂqȪl$Ov.îx]ljßÃo¬]rú+6-¶D¦ÚÃâZ¬wQE_¼`Òò©[R+,½íSY¨x.å@ɸ¯,±¸æ¨EY£Kè]w4¢AR{Jºñ¸QôRPeeì«8s°ý¨'=Ý3ÄA]ôª±À¢x7ÑÜç¯CN
B|§PÈñ;ø©ó&å³Nrü
-[k
ÎÎ
-âQß4/HÒë7¦×ñwà´ Osâûn#O-aðFܽÎZæuüYv,å5ËìßG2tMÚü_Áq{ÑíúD\î+·INQ¯xé=§|Éè7¶½¶O£èTEUM
uI8 n§ gWØê{¹Û(¶/Ä׶È\M°Þí
>J»ø2àò¡è&^úujÂóLUg*oæóß°³Àþâ1®)ãÁ
-Þ-8Û§ÎÁ$õé_(¨TjÓÜÛp¡Q*Yëú
-¿äMò¨~:ù[rX
y¿w¶_ã%Á¹A_Té¸j4óäg÷CakD8¾ "©¯ì³D},»XíÜ-ë/ÀGú-
-ÞêiLhù³iÎ¥Yº§ÞXĤׯÊ&¬£ÆAhûj[âé0í£_Y[\òÝ;G[à]ÿP7ëóܽcÿrBu þÞ붸.éHÙVX=ulÎ:yMe0÷˵'P1N/F-'Y¿Þ_n}CZïïÒ*¡Vpµqµ
-}Øa¸(f>>*ÛPH¤e>{û:¤/V<g?~õvEp>?»Þåp¨ MW VÜÿ°tãÃä²;`ÏpqV,+?|ú+)Ú§#¶P">sÆ~»4H·ªp&»,±¹NÝVæB#&W³@Oê¸E{{#ùÙFâOn`P^Å÷={ßîêzA¬#Búp`ª;z´%-
ÂÃ<¹3ÊCÎÙkytiÝQ²IökÆê
-"Ý;Wvd[AHÆq6â@Úø7È°$jG0À0%¸Zlo
-.a
-fÆRñ_ÕnTôYµdq¼ãLU©í}|
-(ö® ¡È,è°M1,ëþów5ªW"ð_#-LBsfAuÊ®l9Qñ!3ß<]£3»e¬}÷ Ýuèt8°_K_w-Mk)3¾ÔÍAZã!5°<æ_ð{.«<KñnCàÕ^ßcOM-çÿ¸ÓüQò#ËCÿ¹K\ë#Ü
еñTäFÅZ^|[Ìu`øeÌ×õiq²A`|6áîòø-±ÚO£:ÓæéD¶°e§{Üá
-J¯¬×ÕËÛ
-¡
-áb=9¨p߶N[0²ãq|w4vd½{,÷ôõ|áÈU\_Z¿wð§º4ô^æVñ¦5G×˾¿,ù:ËÝY¾¬£ì¥(ù
-BÝèíøÏFÖåÖ´·XVøÄ'xégIMFø®,ÅηÂ2qX5±L[ÖüC
-þ»ëìp*@B>
#Åø̤ͨ]Eö.ø§D+Ô¡Em<
-qY½çƧå{oËp$Wèçg?ÛÐÔYÈ? ?hóå
-°2ÛäfæßÏÉ
-Hf¨9¥{ÁYDòéO4Ù¾]3ë0Ø«fÂïÏä'<ÈLø25ôU9Ï'Û/³<¡àÝX*°
-Ã
-@ã×ÇE¯k2ÐàMØ®Âÿú%Óö¬N©"äyë3¡¥ue¤(ÃqÈ;Gß2{ªZûöZ¾kûM½÷CùV/ÔÓ>¢Lx÷¸wÛ¦Jzëß̦ÎÐÀ¨&Ã)Tý;.ÀoûÇ-©nE
èÉÔ«5N+tï²QAõµIo!1§qb'=
--æñ8qüÎ×»é×Z¢
-?CF¸öûúêpåbÚ3§¡ÒW¢Ú¯*ÇIXÚLËS°^ÆV9Kç£Hº}ôÙõ[j®½>XD%Jv['_>{ò&5Ò6Ûd¥OïѶ¿Ä
vÁ½~²0AØ(2
-½bÒ2Ý]쵿Fu)öÄscWs @;w.õ=ë·þM1d{xüx³u
-¡jûr at SG¸Fê7hQ|ò½Jݧ¼²
rQ§è
-ä2N%oÍÚñ0Áz´ÇÌ?ÛƹX¾½ÆÞB(ªÝ,=dÃÉr/¼Ì©yË&Ë87ùã´cÃIÎÐP(¢süÌCÀè£Ëôò7.oÉweîø6]©a¨]ÑÒÔG¹ûÓ)@Ç\æ"&Ó">ÚããBJþõ4ʲ_zw¦ýàÌ[¾
-j+ܾ=Éãý1*ùºL1¸X`É>Räí{¡çl)Ñ&i.IÆ꼤<²Ç¤%ë3ÈüXûµi"ErÑölC\æ`×eõUPûµãîÐêLC<¤;ìÅ_,hµ^:ÓlÛ_`ùY\`¡¼Ø¸¥±@qrlþe"ð;ÜÒR¸ ÒP(Ù¤êVÈ×^Ê%ZOÖs¶~}ÑöÀ71+v½÷¬Û)¯6µ~5l÷ä1VG]vÇtOÔâ-zEÌWû2ü"KÇ!í°Øó¾6HÛãñ4½¨ÈIöÙ!2eù`"¬8Öìl´óXGw&o¾æ¨ü»õáøeYÃww±ÿsõÖ#˦ït¾|&M(Uí·ýº
-*$A «!9Ò¡¨NìÓ{]íãõcVN?§s G/cÏóëªw1jŶ
-h¬Ê,]æþÙ=ôÏßù|ÆùÛõ:ÁLßQpaiÂÆÒ@¬ôn@ ¿rßîQe%]Â}çîÕÍA¾SFÌ-'÷ Q¨êY_È´i2@Úôxÿ wà«N}û\U3ÙÚ§Ù¦Fê3FªäWèçH¥'ÝHðXѽ¡+øØ«ªõµãqre«`EÖ
EYìЪ¹Þù¾øðá¤2¤ðüh5öNHC?t\Ä/×Hµ)VkÔoì'#
ô{K^Yrë
qª¡KºöÊr¼)²I¡ÀL WíÏeåèéb½{ý ü¸Â@ÜP³Ùý°ð ò(FÜ
ÐúPEoµ¨Cbëc¡ÈPR¤»ÖÿuF>õ÷ à®aè÷Ò5ºDÌH(%ûÚ,ºQ°*2H×$9%ó& qÿ _j/ Õ<
-®{@6øï]^°/S»¤
-A9ýL¸¶eqkù[z¾:²6ÜM.DhÐá%:nåd?o¥34úk!AÛjX2ÄEoþAZ7Óók1bí]LZÉÊtâ@÷/Ù¬¾ïP×w*$ëU¤úô©lN
-\Ùºdæ[üìÉB<®©Y¨0B;_Væ{]£8Ûg¨I«Aäj@nÞükÐÅÐ*F/üO#êx4EÃç [CåWnê#òLîhêqǨ¼Øb!Ü.ºN©ÉöA½èF&Èöì ãB³y¨GáW:%ÈeÒlu8äFDçDÅâ
-äk©ÐL"Ev2gA!vb°©X´PñCz^$³5é¨ê®Tà"Æ_ j
-î\rz·®/b
-ö´ðÕ&
ïÙCY'/ºAí^Û÷&¹ÜÝ5ÀënÂÜâX:BÓ÷ØmS).$öO0
-7«Ñäý <p\Gîm¯ýÜßü°â¸Ü&,L½ÒH<SüØXÞèa#t5D1lõDÍF?{»F®3ýÖS×*,½ÖåA¤ þòÊçNÄXá»às= tYìt·ßgûD¬_iTidg+)²á¦Ö
-.²äQ4AK]?pívN
-9%[Ön©[¹¼¾Ä+'ëZh&¼,Á[Ú^ájìGæ'H̾AhË=Êâ7DÄPüÚ$ûZ" gÛ:õnÜÕdä
-|Îgë>&#[Àoï#3Îüìç'ðG+ãw¦ù1%C(ÒÏ| ¡*¡|¬Ð®¾üÞó0Ãé´¾q<e¥16¶IDªÙòu
GcHësí©¿/à(Ñ3´TPÍ´ßn¯¥¥ZÔÆCC.ó²·ä«*+-qßùQZW"# üN:Ëy(½«ÁOüÛL¢¯û.>DFÝæ·qÄ eJɯ1@eKïR8Ê04£Û
-·æî4|Zê÷jîÈÍ4Ì÷é¼Àîb'áx96%qZ%ÇsafP
-zv1Á1©ñð|mLÏ8hup9Ow)I^ìµ_G$N(ËR=
Àñv_Õ_Bb¾/¬Ùvûo¬5
-Ñðܳý
-£ò¼h `KÃEv7MüKÁ^èü;6 ÛßÁÃTc±úÔÇz-+ê¬J½³£^0ïu¶:§ÈÐ4VÝ|÷@ÉÞûe#ªÝ{ØE÷gåÂq8Ô3YZøá±R÷;¯ôtù¦4U*ËúóO ·ý>TsÓƪ·ö«gÏ Ãª"#9Y·avp*5P¿G¡ìÙ@x·
-ùAÝÁÁTqÔëUX¼"-µ$A6´ pº
G"g\È¢GÎã5©ã©@ÃQÔ'
çþ8Kâ®ÀM³~î/,\fT§
-:z§/¾`îÿx^}qSüÐy®¡ákDþ$WL /J©(CÉHíLDKí¯pÍäRp!}úCê+Ãp¿c÷$ÿpÐÉM÷p®,æ:RRÚλF¥¦+}`&/ÙqÜEøËItVú¤¦¹iêu`C7ïè>ºV:ß} â¶%·Å£
-m_¤ðbädbf\
-¾pDþò²ÇƸU'Ú«dRÆa\Kv¢×e"£2
-!öwäýö}ªM}F:ÖêI¦üù{Ý«¢{_óþAÅóøZéðÆZ°,mFtX!8)ð«ªtÃ%ØWºÖ<b,
-2y](j6- òsÝs1;Ï/"î<Ϻf©0¼M=Ïc§þ>yÑ}ßMÞó*U»ºRü×ûxâÒNºº\tá/ûÞt0>]Lt¢róç·ý¿{Üo1[DÌìðjíÕnuAýk¹»qPäuñźÓf%´xôO´¾ÝbzÇ2]O+vqü/ßáýZ¾é£¶E!©\õB®³´2æÑ÷@ÈaÂ*Z·V´Ùoö 7è:²fý©r&8.#xNô¶qx{÷±èUJ4à±Æj¦6Õçvó3DRèºTs9ËI09Z!ËíÃÓo$ë¤.ö<S®µ9_cõpyÁAç¯üÖôí:¨
±iåke×;<+sø7.j±õDÇyLìpAmåÖE 8<Ê#»$º©T~eݸ!å¥GÕbqlpÚ¹MöQêIÂcQm<Ƶ\àTùâª=áH¹³«¯JÊò`TRÒñÂÝQ
-~Rÿ©r"amÌÔÖ¥-Âç1ÈûØP
-ôÎØÅ`YSý¼&¼Í`å
-®ñ¬F·-Rg¦·)SäÇN¢íbpêØ°xº
\¼ü_ñyK*½×@âæËÔÀ³cTåw!Ñ·Åk{+µhÚ¥[<Aìòr=üý¾kxDÔlÉ+mK\ÕÈw*e]{FÇî®ý&^Å2õt°ê¨0;0$j©[Â|BÓ¿ýàzÞqÓÑ$.BMºP9 [ûZÁã4Wè×BÇ´c{;çÞT±êÅô:¸Þa{cÎy÷p£èi [E·È;):\ ñ[±"A4L
-oyüim`\+ãê¯3lÜÊõ(gïnHó"VåéttÐjsëüìÙQ¾åç¢þÌ÷rÖhJÊBs:BøÏk¤f9ó[Áwb0ÑÁ¾("%ñÇxézËìç½FKVJ
-7å/¬¸Zå<9Ès´zSt]UJñª×=õðûåÕ׺:å O%çÓÔ¸³îJÏç L³OÍNòU¼ÕÑr®´ó$;:bÆ-f¨Ð}¾ïáͬiGâ9f ~ζ
-Ê`a¸{Ð9Jmèͼ: cÅw^P2¾ÃR/G·7æ1O3½bW*omf®|Ç>ÃY²²«ZÃ;hñÞÏ.h=ï5ͺ8YajØà¯^Ë×>1|&ãÓE§¦ðöÜäß
-eËÇÕéoXy
-i ¡¥¡Þ~z»1ÆWHMN¤¹e~+i¼\ñ@踦·áÖ±@Nƪ§"ºê¤ú"òçøX¡f0Ûfbìó#_MTü næÞÂùÔR«Ù`¶éߣ!_3ù<m ö8¹¯ sÔ¦¿}U[T¬¤jÈ6ôϬWµ¬CrÀðúðô³x]"åyG0æðV#?²zg¾3
-VæÿÚ È:®{º»!e%w%è«ñû BôöÔÌsŹlNøÅWèMÎLgþmKfúü8¹/¬h®çÖ«È!ngLU/ÊbAIîÂyskí©bÕö;åÔâ4³îï-UHÝõÉòÎWF4¹ÞÂ&´ï;b9¤{øl Ôù]^ÕÂM%¢ßÂû¢òZzßB¦:qÁÙ 8ëA·3»m53tPÚÉSr¡âîaBë&ÀT0wüdLñ¢(T¹5ü&°QÞÓªs"ó¯³×`÷Dñ>ULß_ÆD¼¢ê";.
-åcóòÔ!çX9Yr%ÊÕõJc ZmgmIJþ¤°ýâ\W8¨Ú©¶ä;ÇWU)DBù£Ëæ#Xí½ÆÐæÛ¶U¦ef@ï\
-3ãñãZÎz®k8+f¦{ÔKKTà?T3îS7îoõñ\sñeÿ9ÇvݺmUN<ÊC×tÒûÅSéDýyþºUMNö4Ï×A§
-Ê»5iôÀ¡ÙÈ·XIC%ú§5x§UûÝZ
-¬Djdøãu¼Ô´bBX'AÖzTèÞ'ÕäÉB£7æC8ϼ«mW¹°0X
-ª1(ͧIÐ=©e°4vARáÏE*
-BGÈ8µ¦aIL]:¦¡(pt±¹ÿJt(Ú{ªDL¨p¦jÇ%V÷®_+tðzÅÈM«D>µs%¾¯ôbimÓÌ<3´îìã"\³8ò¿ÁÒB}HCØn.ÿÎeùE¸üÍ0çëVbGq²¹©gÖÈZlÁ#AÈDÊ4^ëÞúa& ¬d/\Sõ`>ß»ÛädÂRB+¼wmª«~^³â4·êû¦ÄPÄJ¢ñ{JGÇ5+Ú6-˹u×]à| ,5cÁK×y{ù0»ÙµÁ*ôMÎaL#!$ÿ5Tp Á¦ôÓ¨æbú¨Ô|gÍñ
ÔÞ7Ù׬ë *¦x&ÓêÏJýïx.l%d®ùVt9º-tzýHfâØ8Åfê1¿¶'Ãßíµ
-[AMQ¶;94gå c H@v|·Å·h÷Ún(QRügjøË¿$eÎ51¹Ý)®,¸WÜÔoàËRèya¤Èõ\ʺ¿²½<|Ó.Ë00ý^1ë7NHá®k³°ÒO
-ñR&ÝO¿QüF28QEmT!Áêæ·ÄNëÒkÿS »á"q·¤ãÔ¼1A7
ìÃOI#gp-c½ÈpèYʪR%þNzôTÏ=TË/ÍwzëuaCå</ý(NÖ¡àvT
l.MOEßn»Ó"e¶í°Ùo°IñC`%2·}Nw4m4ª¨?¬íë,!Ù¸çñC6ñ3V¼Åõ¯àMTÕÛ_fAßÜ|¡K±I_3æ
-Ü`¢{1é¿`ëÌJ>·Ø=nêuË^i#p½°uGR¤,9ö0¥¼Iñàá*K\¨,Ãë3È&_ÂÕ#¬Å2MyTÒS¤oÙNè&ª´©¾USÆH.Wãb,Û«³&cªÎ½÷AvI¨L²:Uç0/U®ö¬YÁFèÒWÿ ïd^ȼë¹ÝàþSáZWx?],%]üÖ¯P¥v¹wNZYk¦+{ÖDõsÿe¥3¢${[bNÏÿ]»ÊËÖ¨]ËÖe,«Á·ÛlÍ|fH¨{4ÓÇú;þkââ[إѳ[-irLj4[
-S
-ÐxÜ«ÝE³qÂmLÚûi¤ºìíAãpëÑWzתâV(_U1U!ÎÒ vÁñà +Àh/çÚ0¼X0åÐɹôiÐ1áôÑÒ>ç|}ÓpÅþbqILl=5Ï
-âÙ÷gò¦HÈê|ukNsbãÁsD5ezÁ*§®t H©©ðL§yk©r\Äi²ñwºÅê:?©5åu_Zu@¯XãlóÆKÍZǬLX@5-ÿ+b?â4Ñzþ±ÆÛAAÂf]<%Q¶¤»ë³ò Z1t·_ÕEffúv?³Ån±á;ClÃVM?¶·Ñ`.@
-Ì]ZX_W½'©¡;ËÎw¶ÝçèL¾_%¦¼qrý=nb;2N|t×R©àTõöB¥ó)©Å!pÆÙÔÖ/èv2.bh¼×¬qòbe»,!÷fag»wgG"Áθï¦õx1MVÐXõÿ
-.µºmçZ¤qúÌõPP¸
DEäïkøzÞp´c(G:íµØ:DÉ2ù!(»®>^-RÎ(iüÜ
-Ùåÿ$·oåÑÃ]xÕzÐ.ÝßÁ6û³Lvpq5¹_[
-nú¥öÂ<2ã]Ì
úÁx,ÀCºIMeÛq¸
-/ÔfÁnf¥zÿ
-MûK~[_
-n
-ýd ÝzZÒå
-<óaÒ÷$&wÆÀËXíÇëyÒØ,]T:¤|ä#d©´â;VcÅ{ºÂòýµmÖT
@LvÁl¥fAd5!ÁÚ¾ë¬.d0$A,uyC0±fM§Frîie¨yÞw¹$+õÜ-5Ü<Z·¹t½¦ðÑ5'Ð>XB/wþßNüÓRrSÞ)áÍÁ®~{
-Ã@=MËQròÎR¡hñv´ÖM#;}{ùÎ; EqßÚÑä»wzUÎqµ÷ï\Å-5dî
-²¨®ÖLÌK&âYîsRYL¤2c õ$Jh16e<ñokè
-§9ÊKUõýc]Ý"o4îõ?çt ãÞU8t̽H
-aMü©b´ÇîNëðT8º 6!µOSïÕãe%wï³íyàTjC¶³aª×ÇI Ëf²e+2ZÜÇz4§"<!êcs´È½ãiLmá'Âì-³Ûx|ýëO'úaÍ©m<»Ärc¨Vã»<-¼Ù4 (zÆO¤]·a8*Ô¤·*<ÄZܨuV/~¯~ç ª¶n¯v)R°¤¦"_Hog#"e½ÃàÊAË»ìÈ%lßZï°mûòÚï*Í2ÄÝå-úËdQì;Ëê1ê7%D¶/Ùæq¦c@ãû^ÿ
¯±DyoW÷tJ"!ÁZàt;ÐîAú3Õóh¡CYý<D¹®2=rsòä3B©[@p@ÿ×°CÔ5V)·%{½@m¢ÊW¹Ò£Ö6µ²O£o½¨èDxþÈ?
-i¶%Ì:u x7ÙùçSE+)µA£H`];/$%ç»]³@¼Ýÿ
-yé°]p£²'ü8æg<
-¦ãðxõ$<,QG|Ózì-È"=ïÆýèeÇ!joTa"¶c£VgøÇ5{¡
-/ëÿéØ|?uÚýag1úØ.{;Î98½
-¦ÂOx§ðõTqDûÆ×J5
-gâyÉCÐyÿrXä£ØØ%Ö.Ï\TÐÿ»hëNlد&
-g´`BêÓ¿#,añ«ü+rÞâÉ®¤ ×¼³w°'¤Våd) àª1â ò:Ôi¹Hé°Õé»ÏFsÓÆÜ´cùÒvÅÔ´
-ݽ²+ÚWàAÝË2Î4¸3g÷~Óõ9Læ²%cPfø&ÏGÓ
-ý,¼£æ2Òûâ!«|ñF7f
-Ö7;«ÏÛoêI;벫\l¬¼¬NAôß.qC,~L31ûD'Oqe½8üþ-Taõm7)ßJ6Z,aÄ4´Bùðj¤ª,{\¢¸BST$£GÝ
-~GgÜöðÜîÞºÊÒ?±K*Ì®ªoù£s&å;ûvNÒ5ß7â ¾iip=«
-¸ìÌåL\ï/.XÊ
-n±G³ªBXo)|·Ì¥i!R5?Tö¯°iä3ÎPGG¥X¡£þE¿â [¤§8äÖàäæ²s¤\qf}B¨ sp'¶ÇÀt¥ÿÃ
-´;d/
ôY
-ãoD
-*Û\xF£Û]
-Wmä8v©4Xé»$ÖÝF©x:íLãÂýêÜj4y¢hîËÙú®âzá\5ðÂ`¦´ý1K#ìv ÖÊ_fíPöË5uLá4uötï$P'
-dAFß½,usÖXdª¤æÏæIS£E&pÊY´C¦-<Ý,¶&
íÙ-¨{ø¬4j=̱¥KÝGR\«3åÃàaT]È=ã)u$»#Ïh]ù\Aâ¢ÿ¼>àÙuÉ\ê>~gc,qØ¥Î) Ë3²ù&8ÕT1«X!ºÖèì¾^B*Ò`/vNÎø§eÁ·%ïàå(
ðß5é@Î×øsÐ6·£ç{³2ÎA/À«ªfªÅñ6báo
-µpÏbK°´ýVè½Ê©g/D¼È£jO{Táf:w#Úö®DNE·Sájç!G?Øär
-
-¦ºÒ¢L¦wá
àh8+|=èòÚ.£®J®(´¹*É7i+¾´ÁKyákÀCD\"0Þº9]ö>±@oÙÙ%ïºøw÷ðØ
OöþÕbÌtUnr¼®¥òÄGp¸vÉ(rr`Ä
-À_ßX u¶(QÑÅx *É˱©Ú¯
-ã2Øp/(
-\´²lª)«>¥ó¢^¼ÜýH ÉÒÓn(t`z¿]÷a¾Ì{¬âêïÇèÇÿ;Ö,
-ÈßÒÜ6!ÇA¡UÇÙ̺Ì+kÏkaYîD~«Þ§\{=ÏÒÈÚ³{׺w£+ã}úÞ`9;ÂÎÊ.¯t4Ìö¥6ç?õçð%Da1IÅoÁL¯½Éj53íÚ:¤(º¹
-Ö¢-©âz,@
-ó÷5»ª Dȼi§÷îVg]½É# JïwG˻Ѵ<Ü
wIjî|
-\äÞCÞ³J$ÐfvçÔ¡
-Ñ\HêÚ?Ñ}ñm·+ey
-§Ýòdk÷ðóH]¦öìgÕOýNô»¨v¥Ò^{÷ü»÷Wsk~éH½aZËzLÑBî»Ø¹^ü1ßõZëféEÎYT°
¼çÄÞ¢P!3è¥Ç-£§[¶(2@¡
-ǯ±Lï)l0)ÄüLåN¹JsZí<Ó5é¾&Ë{ðÍG¹#âqBNdv¬>LXËÔÓãƺ1iViMUçÜæ^»Ïì858LxµüÔ^ÕwóáOEp?±9¥B\OÈH¢1ÀVé4üYJí8$j©{!G«º©`#9ÕµÔÍifèz9*øÜlRlø©uòÔ¾ÈYïìS¹²¹aµV*®¿öãHµ5Ö~©Ák
-2)C7º#sǪidC½±Üq²ð$Sãm{
-ý/!òJæ±ÇúÂ?Ô(¸:ʤÑÏXKôOÐN®¢ÝµùªAxaËLðµàîUøûþ×JÂ}£Tòîäº,ÛvxãþB«rP¸ÈöGØ
-ó³í*¶²ÅsHR±ácPW÷{*ãoy!z ¸£
Äy.
-]Ø©ëÌhv<c7jÞÚ= èa¨¨¥6Ïq§ÞP/Dé é«t)Íá#y¾v{÷\À@³¾¬ì°§ýrXÅÖ^秪Í|àÔ;@lä̺ÊþQasKÖ¡ÙUù4Og Ö0éÃÚ®lͧ
-oGØéjîP" ÷ÈÀìèkD^
ûÿ_)ìãß3©Ù¾Üü 3y1s¸ÔÏýÆ\Êll±IÌWÁÍ)':,YCø/
-¡C¥Ô¦d'6ÍÌËPËØp9ÉDQUÃ÷³)%ò¼b·A®~ÒÁ<`ÏbÛÄõ
-3ÆÙþÊ®g´[)î=JÒï$
-¸IÆëï:oZ׳öð}t3¶ÿóEïÞÀÑåÿ8=¡.$bG ÀõRm× $¸oFÕg}Û'¤=AÞ½-Çý·¨ü¥²¤@M?ßó8÷)!,zCæV<î¶tÎóÁ7þjí¬<°Ù¿Ô1l|"èð^÷Ï°}àjûâ
!JÑâ
-é
-
-ÌèYëÍ%gVr[ÙÝuOÖc_
-OâJøL*sÔÅP Å8ã©&±Päqëk0$.¤¸Ago'Ë4QY7m<ò7LðFM3.Ih<F2¯·?û^ÚÐ"óJ< JlÑ&j
-gÆ|½Î£Áð¨iJÛ3Sà6;:Þé[&0(KI·7é}v±ý;¸Ë,a¶µ¾Tw5e1UÀ<ç¹@à®v1µåwøï½Óä/ª¾\¾ß8üZÀMl,c|¹®
-â p[XaL¹o6ÌåRºÐècñÑ+¥\é%i½DÜÓÌGl£ñ
-6Ô#ooøâ´xÁî¨XµtýûHY)Üo:_l§LC$d
-Kjks?ëXLÚpt}jÆ §àoSr}ìýÅ"Höü&,ÌC¬þd
-ÅëÐ!
-;ÁHu×Q|ëÚþÈF;zhfú7?X(îa×ZSú*0TyxFA¼Ém,Pg²BfF§eJä¦ãê©bî HgbBB2¹|Ó¾¢E^_M1P^s ñ¶ëõ+\ÍyfÓ0ízEnþUü#²[ÂVé:s2¾®·WàxíÚ`úbÓÖw·Æb$QwÝoÚ¹cõ!4Ø/â6^ñ]ý±§T»¨_¶@ªÊجy
ÝÕÈ`©É»°õRÃcmGª¡ºL`Äy3nm:5tÎWS®ûx3¼©h»ÂZÚ@B¿åMÑéW:ËŽåñ3_TZ
LÕæÙ&Wü&Ó
-{¤qj$ËTXêHú^<©½\'RG5Ñ!ï~{y;+ÎU¶þ0É|XVgR9à þfX +§Éeæüw6~£µÒTÓ0NÓâÇñÖvcE®Ð`&^?_Çr´ô¶
-5±(g¢é¸uE·2Sû£F.²À¯×ú«.s!^;'
-ºç>Èßv{®Eßcèjg6CÇVtÍcÃ-&êIN>¬{5N}Ô¸"½~;3§ä&{YRt1yõøIso5
-¥ßK¢Yé!@ÂéÍ'lp½¸ÛLO·ô·Ä$«msww3Þ
-FÕ¥_MÀ"!ÕÑÅs¸Áì¤îD©ÂÓøe^1âÃêVbµ@ûª½:jí^zS%Ä>F6GfÖ&oÎÅþ³ün_ÚÝÛýƪÈÑÐѾÂ-X`¹¥§e!»ÿÁ·
-Ù>!{Ì`m¡úßÍW£¨Ýö¾JçÊ«_¤_¤@ÚLqÎɾ¼Xõ>ѦK?Ûûäc9S}ÉWÖ5?·zü ¼O¸-qk[߶&`öWEÞcVºk
-T6)ðoߤ·,=Ó#uûK~D0^Gú*P
-çý«rÉ[Hv6Þ>¹ñìÿ^ünW¹â¼$ ØO %úÉâoU¿¶ç.5:@
-ý
-¯|U3GÞ¡2Et_Ðx
-w²Ù½(,ò[ݤcx78`ÚGúäع rãÃÀ㦮PÈì¾ z{¤jbTL_ôØ(ÊÍs¿ªòOj2Ôä:@Á3/DÄÌçgð#M6BêÝÝËýåy¨_âBÃH,lt¸3*g5g$oÐ|~ñON±)t
-Ù?Àf<VìcK+ýóØK>k Õ«Ànry/èçæÚSTí/%Û¾²/§ïghG=q5e=CÞ,ïp
-f²Îæ¶í«ªDnÀì3$y;ÕPù>M7
->°iÚ±øp;#¢ðÂÍ?þ,yÉG^tt(JFñN÷êë®$öìôñÈf/tmʸ¿#®ÎÑdÏa×wðt«ÀÕ[¢u}òG¸û
-R ARìÙ«vy/Rø¸WzÅPU=æQ#D ×ÞÏÙBBÚpGK£¢e.¹C£;=³ÎêÚíxÊkËÈø̪ ³Ú_TzL@ÂtG{¼
- m
-¶só\ñdãdèÃ
-ôÞïGjÊÁüñÎQmLëq¬«¿^Ï/îµa:±ðmøɦ³Ö
-o2ÜhQùã5ÑCjTÆ
-4ßm½H9@ÉuDøêâ¡rHUAÃæòVhE ¨Ú»eì°7#¿ÆSRЮsúR¦4<Í"ç
-1Ûâ·wÀÖÌÆXrÁz\(ú uTZÎà(ñKhQö))jÏɵÇP\p-{ªU&>õG]ÎôÑ
-ØéÞRÑëÎë®AåhSz¨$SÅæNøÈû~¢øÇÐ
-<3`²at"µäÛ¦Kuëñ:%XÏ¢×íP ËuÜá(þhàù_*ü¢Æ£
-ÆãÒAÓLAI#*r$ö4ƽeËa6÷k;]J´Ï¬dN:í¦4òÏ¿ñgíC¸(rü7ÎrVì·Õ%ä½ÐëD×Õl¾ê%§ÒõÆå»Ä^#ä1~B,]2¤Ü0¬ÄÄ\4±1µNC$ØÆÖwñBÿÖÞ½4®ìÁÄûk)Y¡
->ÿ»s÷X)`µQON¢ÔqD$z¶äÞù©û/Àtÿ¡Sѹðñ(o¦ã)ßèä_L¸lè4YyÂÓý¤¨ÜOï<µOþ*8Â,ª}Ã3jv²4¾¤5Ïð»Sh.âÛ+æRÈ¢"2Lþh2Þ*¶ðòÒ6©@8ÈWNáB±0aÕ!B%? XèXësøzkÕOüró¨xýàÏGKÕ¾©*@òFÏ1\¾eXm´_È:bÝ'Ì})Êy|¹J^hPÕÔ<ÅvO¶Ù¦¸(ÿåÿ `('1çPs¼¨Ó"Ðé
-I)Å^¯0ëÂa*ó®ßÚEÛ|yÿXdëÛÃs/sn}ÙÁØ¢õð/§ïQFÍuBûtéîØ
-°
-+»ãÞÍì¹ä¨Â-õâÉ;\<«ü9þ~C>èxî6SqRlúS1m
-`H.¶p ÌoxÞwUãXDía"å
䢬ÿáäKöÃeÔJòL3ôö_OvVCÅÏçiÀÉÑá/s)0Z^0<^µäzýg50Yä°É_õ`ø$Æýz·þY uñÕ?þ¹ôÖñBe=¾¾û@kRs9Ë]üÂÛé \:¨ÎLV«±Í¿"¬LÊ8Ï%Í¥¡lB2ß}ºúÑ=FÉ3MkwM¢«-¼ºaÜÓÛõ)*ØhÚ%µIÐMÆü^,D~b«XÛÂIE¾á*d,
-Ý';w³£TVN<¹¨%O;+YðÂZªÕà¨é,=j[Ó¯
-úÚ¯B¸¹öÎL
-¦ ,°äáVül¸&úìÕNfÝ`N¾d¡z豪Ç'Å÷«é#Ú¢gæë¨M`0Î~Èêȶ¬N¶xL·}^Lµ»02´iø¹y¤$=VÝ0*÷(ó%BÚ©KÔîÔÕ¦
îÅâH÷E¦ú° Ð$|¹FF¾ïE³o/||ùùRã÷·«»èæÇ>=ýïÙâÛ¦ÀÀº×Q
-;:B:#ÇJºÏ6ëSY,/éF·¼ì[ya at 7íÄöêèTo¶XHúo£¯ù1Ø~
-f¾gN(«¨æL<Z¿vÇÞÍÓwUylÕúð5Áu±ùcñZ$s0|ËþHÆØ´1óºÖ/[Zß\Á¢¿
-êÉ=w¾åШä4=©¼S¨v°¿´F
Ô5G«æLgtðKXá9V¶!ªKò¿ÜF¬Ì"7-}¶tËP»ÊĨüÕfÊÌú¡áØk#º
-éQyxiÆÛÆaFñá1ð:u¤ótDÖ_¬]Ö*·NwßÇ#Ź"ÍN¼w¯8ãÅÖZÑ÷
-¡@¨Aà½ÁOJ>gÇ7ï
Jf.y»dëûE¤Åþ
-®0ή²íPøÿxí§åÈÈ?háYäN ÊHÉ7l§ÙìMN<3{tÑzð®¢Ü±>BÇBâ÷Ü\uÞ^ªke¼¹7õ¢Ý°Ëò¾Þª¤>ÕmÂÌ'ón*~äèîÎrJ?ó®9{û)íéåbO¯°kZÍløT£cÿ'Û%üüE,Bõª|õÑ]ågE·Tý÷ÁR0¢ õûãËÞ+Øý¬!Á¥1ö÷§j3£êüHõüØ`ô=«Ì3,°>¹W÷EÔ
-deàåãzµ¹Ýô1p=_ezÏ%AËl;?9'÷î0ÿcÖ×Y!s2¨yØ&Áî'o54ÿdGßh(eê3loË%²s¼|á*ÅÂÎ#F?ï8§Y©?ê_/9*¯#pÇíVÄ"\Að9÷vz.øUl@<?qtÁQ7ÛN'=,ï£U
-³Ä£©?çf
-³ØãÙJè¾]ù~¹*óC±Èk>lL\J
-Ð&ºÜ¨X°×w3Ø;-© 3«Ñµ7ïÈj?¹Y4y®]÷¥õ%@.¨ÆtØëzLüÿîè×f(
-8`¯KóMeÈ%Û=6PP;ÿ±³ûA¸ü+0+%ànÊ`uë ØeÜ;§(ÓêwöR>»ÆÍhÁÛ<±=èÚÈ<}óäáÿ°f°:Ûy/àTÞõO
-)Q2¡t¶ Çn#æµîÿE ¹ÖónØäCN9Ýä¾xÇÑáÆ_»¦3þÀoéÛ¸ö1%{°äV»¯r{êmjûþ_éù¬~¶f§ÁxwÒªcÁ tÿGl¾ìeT°óI0Hda(oA>dXÊ{XÍV?æs|*ÅÂNÙ*½º%z¦PÜιçýPT»Qci3z¶çN7(3V}$öïv|.Ñ×-ð
-G·oAOIÅxÊ¡
wïÒªÖÄØÊd8Õ7üíspª¹pÛý
-á5ó¬Jû®øf£ai²ÊÎj×xrd[úI,Þcµþȼû¶>: ѹÒ÷P
zg^§ôs·68Nz MÑGO})]{*¦Y¯Æøg ¦µ"mdf <üÀ+ÓßÛDþV!c¹ß:(G9²kxÀ'Þõb\ðÃzB 'Ëv{äsS¢´kWÜBÑ3nÔ¾[£Ë8ÒVG¶¯Ý«uí÷UÅ+Î$ÃAV´¿k¨·=ä}ÌÏÒS_bÓ·ãµÊг9÷ú2þá·V@ÿ¦ggRùP@È]7<ÉÈãÚ©åRR¦Nr~BÒ){¹À _Âkøm
-MîILÌ<Ð=òÛ
-2LrG1ñ,uµÝLXPw~¡ \²WÖkúh=K9Aâyiþyª¼¸©Ç(5åNq½ýï5Mµê¯:G·|ÁfWùbÁã2NGÈçqÝDû£Ç;Âçv¦ÐEnSåøb|»íê/äõòäkô¡fXHüµèø4æ÷ÏYvæõâ«
-Eb èK3¶ºõ\!5bPý?M«-¬Ó|¡®às4_,FXçªkn3ªvÅnìcD.íçk7 àUðÇ
-?=b{è½/øUª¿[^¿úÐÌWvºÜxcqÔZL¿åt,o.®¼÷[$jmJùêßxêãw, 'É|{|f1=þãÚïýárl¥ê»&×
-!ÇQMpRE^9ñؾ×ÓóÜÎì4uªXq©ÿ¸µ1:ßç2ª¦@âº-ï½½.
-£fø5¯rmPR+Ï[alD(Fná¼îõVnû·¸ ¥ZÑYØÁn¼DNýZúâwð/f<fÑy
-Ô
-µ·ÉµÉÍôw¼Ãî
-ethO3gmÝ´¥înØá×"dǬWôÞé¼Ö4´ëuI+mWÅkêáòÅ7Òb,V¹by¾k ®úVÃØ6ju¥)S>YU,}DÅ|ôè¢WìÂ{²lȸgc\õÙ,]:i#´÷]ÞwÒ&&WtÝÖv1r\C8² »Ó>³*qà
-ÖÒß*yíÍT8äo==§"bDIZ]d¦ëDq#H ËVà¶u¯h¹cùOÌgYÈÀnKî`½}Ñ7Ge«nü§Wù6ÉÎ4ÃÇögCÆï ç±·lMþ«µYw¹Ùè¾õÑgy½WòªÇeAÎaS}õž®¯øû>áEw"$T D&Ç ²ÆHÆ5.8¨Ê?¼`1y2*è"ûä@-&Ñ5åP<"R(O6´_¾>þh3ßqÞÑùפôl{Mr'÷YªC( ¾âðD¦¶rÐë6Â#è2&&Ìî' ¸ËðÒÎ*?øH97 GQÒÕ|#ºüq+PØ¢+b 5ܵeRé¥dßüQ·'R¦
-cÁÜRÈ(§¡^iyQ¤ò
-¦ïçÓÅÀd®`æ¨H?o×ò&2çÔêiya'ç»|Ó['G5$IÿCr²GS³½æxÐÔô)ÎnÝÔ|$ øÓ8Ü>JîÑáðøé'µk#Ù&0ùò&/J^O¢Ew¦ :¼qÁk¦|úñIý^Ý)iÇúÄ_~¿
ôåÇ`º÷>ÚUÕ·ZePehþ°íÿ<¨ðøäÏÊ\m¨ÿ}
-bÃìÍöíÅøáòC~ÃÂÂBº9póQÉX`(yÆ_Ü\^m\±µGZ]£¿\D,u[!
b]ؤ¦S4Gß5ÒK¼ÁuÜ¡uòjl°§C©cU\ñWض"¹R/ÿjÉP,ÒëÇÁx¶yÚ2þÉíHÛ\×YKOsT;-
-bð(lIò¿×ÕÞ)¢PÙ±òµ6Îàîn9Q±æ×:5icjæEò ÃY F[öëࡪþ>2$n¨í6ªì{ñ¸ZU£² g·ü¥ãâõ\C½B5ÈÌÕ²·3R5¤â'{;âOFmë¨;áwׯ÷MÙ/¼õ }rU:¤
+Fã¿<ê@>C³y&yÜârÅÓßo:×ÈdÂí~+t¹·(6I&*7õÁ#>F ·©
->²ul\¤à \~$£®³«æ,ßê[>¬²8
-ò£ÑoQï8ÁWèÍþÆ»QÝDæàN®Iä¨ï¨ö¡Ô¢Âé2æ¬áÒ0¶|ßDbÚFTÎX\¦ªW{<õÖ Ï«VYñVaMÁ.QÏWaOS{õï=Ý$w´ChªWNÏõéQ q}Ðg¦øá^¾ÅÌ-+¡o^êe(YúÚ»[ùÉ;æhz´;£0én[¥LÞnóÎ\ܵ×" 7¼Þ»}ç¦0}Iå^u£3[+®Ü;ýFÜ´RìZOÕ§c\É~§*^!âNËÝ:£â!®EØ10/{ÉüÜËoØMNFT¬ÙÑÛó׬
-ãýQ´w%l'X»]2Mjü3ZIä91\׶Á¯¹QÛG¢#ö¼¤l5:磿Ír?ÌP3[,°@iáNгê
-¥¢Äß6èþa5¾åh'þH9¢`4×ÈX_ ÃÃ_þfÖ%è9*»D¬o°
-]i}å+ý·T¾À¿ìgÔ7¦Ô>ßdÏ4GOf(¹»%ùkÉÌÀé3=#ãU
-ÊòÛ ©"¶¦¬`A,ݽÞ$O O±~N9» ¼Z~CÅÑæõ5ÀÅÏþ+üÃÖ|©g|ÌRYűß/¯)Kr?Ýäm°¥¯Ìóö ÞÜñÇP÷ÁÜEéLsÃÕÅí¾¦$Zv,ß'´J,DD¤¿ß^G\O¬ÿþbv\F at B
ËQ@ÑÛ=ÙÔGéIò!梢,7*>5Z8
:ÅòqÂè/il½IIm6¾nn÷J½3o p/+ð yö-ùsî=;À¶îÅQ[KÄ-æ¯i»©óSíľÁ]}¸ogoÎDÈ÷ãéÓbQ4äÕP8/iýlä½ÒÐrcÐg<¢"ùËhÊã/Í[b ~ú oêæbAòÿ_ýºÀâN©?Õæ,ײúè×ÂæZÖdu³ç¸Õ~N|u©ËþÒKJ¾Ð8-`
-@-j姡&ºoWS
-¡GhÀH,Ö³|øUÞ·¯jg&SP5»ìNs°ëy/DÀÈr NjatE+s9»n,[¢©5°Ö¶í寵!RgÇÞLãý¾Ò![§4éÞ½tw#:[Â×*dæ
-Üz`u>ãøí8ÿí[½
-^Ç/ì!BÍ.5dí<0BCFE<òfwù¬¡£)týlc¦÷:À.Wh-ëî´ôó»CpÏ3`jmÍݤ%Z*8y
-)CÀº'óÍIñ8ü,ØF#ÝÑXh.H9öÛÒ¿aôö¹|
_4þ¼ÙT÷Üs!®Aìc6Ó]»¾j{Öñ¤Ô'+u-ê!ð1g?V\QÙð}.»0F÷[ú¼CãÆ2À'Ñ
¤îÝVqÈæé-g¾J7¦À-¨P/åéDÃiзË^]12µî>ü~òºía«×¢]}ýή6 c -
- ]öÃsæÄt&£ÙÝöRÖò»ßTÇðl¯R.ã/AÒZJÌd_þ,øw4u¹leW2sF,k=ÍZüÌ|$:ß-Ì~¦"§û$=z$ñ-g|þk¦
ªôÏîø®«DÇr»¥\OK
-·ÜYòöº]Ñ^èÞ+³ßÞð·7çTDóÄîüz,£XÓ+iðqÝò /-Ø2Þ©½&íÔ wx@üýâé
j5¼K
?'ëÑþ¬pi\^/òGÕe·c/I'?)¶=õ
H'¨¬Å+>DØÁ¯lK
-¥Cxp:ù
-E:Ð¥ÈSçnà=íPª¤;%ÊîF¹`W}lrºw7*ÚøËcB±Æ·>xdÎB¬Ì?/.×a [|D³]ÑN4 R]ëAPRmØ®ûÒÌK}¾7T6XÔÇRt+J
¾Ô¥ó®ß;e/ýËÚgì\*ÇTw¼Ó
-£xb<ÆxÈûw¨g&£Ù²}sâDª°`1ÝúM*Äe׳êÒ-Ã;£¯
-ôÆ/xÓæ|× ´Pó§BpÚóvöC¶5évóèGßÆjïÞvC|4¥b|Ó;^®Ò»3Li_ûñ#F11Pvº
-¾ÇT
-èæªPJ6ßWOz£ö¢u7YI©Â6xÖÿ`Fü¬üܾc9Á»|·b®~ñÒS¬oØ(&<kK;¾òKúÛçVëP8+¥Ò,¥àPbÿ'FßáPôFI>L0.5ÞÏQÓc\¥}DÂeËÙz("SûIJ÷³ªê
-lÐ?l±ÄªÆÂLãÑ$z¨û!6>Ì|OønlR*åA¶ÂÞÃ+[ºk)éÈQ'íl9p!Ç6l.C@P
9G,Öô5R«]«Îòb#«ªU?LÚõ)¯î1ÿÓÒù6H&u-+9±ÚÑjþ¼^Ò#-
-¢¨F³v$ò^áL~ßˤu÷¸¶ÓdQú@ÙÚà{Mt3îU@eÑ/ÇUkË'b»ÝÚ´§À6ZÚÃvüÕ6¸Án×~ÞOØí}
-Hûz[÷=ò®w
Q}Ï@ýD8ÖÔ>* -Ö¶¶³ Íny5¢@.0¤Ù?@hÞÏ´Õû1"j ô{íY fÑP&,+6ÁÉxÂrãW¼úB8p×M Eùê_ç
+;^Yfi;Ãx¼Lyc
-õÖå~¤wL/¢Wfî´çØ2d$.T¶A¬Ì¡K<V¨êæCàZY±£kÐçó's³ÖìbµLJKm<
-îR[;¿`ãÎ1Ê#uë
BézÌaÚABßÜàÀsøYVÈ5öe¡#Ìβìúå1\V{p¬õìñÔ!å°gì~ÈiÀÙ"¤¾L~¨îZ¢)~~
-dL÷·h_
-aÖúf±|à$ÙöI¨KÐ,Õö2W~UQºá&¤¢åDPHæbàÇVO¢Ìgÿ9æbÒ°ß]
-Y¡
-gé
-w]«9 ±¬\m9Ù÷ð{_»¿Ôc\W¼i£²ü÷¤ÞKüï1Y±Ùä¢o¯+æ0Ösr®ØÝ"f*±¹vÃÕÒþAþ?/[Vp,ÍX
-F±wé×ÿ*ÑüÜ~74Ý`·t
-Ìj××FÆÁàÚÊõÜiHÍf»Q"¢
-ÐcÔXùñGyt
-p¹C)þ2eò,ùúWç^Z?6×>DÉýöðwv%sVTH¶ü²×àqÞ Pê.+:ðé×zûÝõ+jÖß
Nes&°V_ñ`Hm aìP ¦eÏÚ$lÑãwÏó ä¡ÂàËébþàé:M'NÜÓºÞ
-0dåZâÄõµW¯çeÞ|ìqêZ|\º#ÉfÒôöÆ¥8}E#¹l<ñ.o⿯_Ç7:ñGdÇ[FÙQ4þß°3z3ÕPÈ
-ËF#]=<ý
-ö¦÷>&³¿+D@®RÊ°ª m}ñü ¬I)èá8QÆå@NWRÑ0¸ÍÁ @ Oæ%ÇCRÉl² QM4nõ¼´>¨ü
-þ
-ïÂý¼®êáÒm>I±³ßjz¶¡¹íÀ»ÛJä¾âp1ì©Ù/¡W³¶¯DV=EJ÷A¯ÏѪbÕ¾-O
-0Aª@5îÄdåþ²7!aP6\ñdwÍYéXP^ÍQ°LqýGÚä¯k
-]©sihÃ?qÓLÅè½|K{÷Z_·}t «ºÖ3eì¨ôD
-yÙfKtpÜ ¬syà£G¿°LkY@WÓc7ò3<~*
-IXít·öI)ôZÓ¯¥ú¢ ×'ÌG;D½þ\5:A«{2wiÒ&a£s
-3<T
-!Z×»Î1î&Ó±øîþÛGã-èþ¹òú¸Ôþ+WçMhrv}/üÉôðg¾k pøN ¿O("Ô | ½¹ô¯6Åév\ÐáÖPoüòjsÛñ§0°U;ýÙ
VEÓ¶
-ï@©ª?«¼`n8ëDÀ¾ê"pfÔ
-/àK`rb8n¤íJ¤ý¢sùÆÑUU¬õa°)UYqïãõj'ÉiB,ºñBÜ»éʰãÌ:ã6BW«Ó-c~pp¹prÍQåEéí6Ìäy;íÆwÔEÕáà¬ÌFÛ¥a¢!àÖ!6¨ûä*ÂZàIcÑ'%uþJyX
-½ íÈR«5.tTOvÙD¨ÙlÓ©~ãÉ8«O(âzVa"¬²)Å. }R¾ihɧÝ&Gñ{±ê>xLòµ0±*:+ý0\éoþß.~qEZíþ£^ßM''Y"ûMþ·ÿ@>_kv_üßÝ«bÙ3\h±%sl4(ý²ïp2ÓbU¬xéã³éYh7½=éÅÜ3KÒÎÁèÍm!gV±Gj° (*r\שm}ë¯ÊþMPÞêµkãÆìY×\P#gl)¡8¸@;
-HÛÕgØì¾¹"ÙLpSÙü´3ÑïõÉãÑTØ^^Ë\W»')èß3ûÄJÞ¬.Ctq}Ð:ÊÑ£÷0z¿äMp#¨
-7-þyÖ`wÙz|_ü©V¬Á{ýèÕLé0Á£Íi½"²Õ´Ùô`.kgöÿ<yRïÌ}n»de~5oÅ_hK £Î1¸ÙÑÙ}rÁE7ê¨èssÀÊD×Rqñ^7Cs@ºG²¬D7ïò
-\e]þf§!7Mk§êÿÜfm%q¶þR.û:Lg¬?n´Éf´8Â^¥¸u2Îãòÿl§nÅNôW³N9ªÄ¼Z°Ó¯á8®ä4`Ò3hÖ?¶û~F)5Kzª´Á£ß¼µBf)ÍÛâ.RÑ&ü!àQ¥Eã6é m6ÕÏú±]X´NxÛ¬éSÔMX˦TÎ|ÁåÂHML.Oy£0غåî¾åüüsï-~[~Íþy
-Í.åúIçeav©4º GAåUÝ&wü¦=,á¶ÁäE÷eÇ%Õ{A5ÝL$V£Û$á{¿üHé¤.5ä¢énlÅ°ã%plñ|gA[¾oº^#§Ë
õ4-ÿoÅÝæð
-5ÚïäÛE7(>H]@·Ô¥8ñ¸TQÙWËá/·<¬#< `Õ6Æ}K|¶ÇÃ#kµiªl9ß?꥽ÖtÇ\¬<ÿùr§½WA˧ÿ³V¤Jr#¡W ~ÅUQþ[W¼bw^nÃ{!iÖ»>é °#ôç9ÞhVÒ÷ÚÈüû¾Tó_z\e34ת]ÜsÈr?´ý~S¹ºâw
-ðÕépQñ¸É8ýUzû÷i+»dCÕФõ= lÅÒ*Sî¼üm?ðãúÛdG¨u:Y\³Èô#NpL'æç-
-×N^XGÀØébó¾»ü§®#ÉÙIWeúäw¤áÚn,òÍ$
-¨ BØZÁ
-
-AÁ¿:$BjÓÇÝØi
-Z§ã
-ìÌýf5"®¥âoæÚÉÞôTÞö
-¾,&ö¼õQ(X*6Ï#{m*mBO
-n;þ?¸ 6(Q«1*ølãjÇIÌÅR»Ø& 1ܤŧ9öµÍÒ6âçß
¤Çbìær3aª=̦ñò®|9=éîÔÓÚ=$ÇQîG¦0<Ϭ¦ð$UL[ qh¹Wc¤9aÁ»è!׸ùI4"Y3ÓâõM/@ãR<öüQ7æ]$lIÌÁ²'CÉî&qiÌùÆÓ¿O«l8k´c'Ä\f£ª»Úï/ʳ»éA©#ɧïµòß r¢ùjê~§
-è¾!@ð¡~{"p<b³3è2ªUS%äY¬7G"Ú'X×±t%a¯ò§Ñd3CòúÕí$ôEþ¬Z¸ªÕ[ ¾}B
-·yE»ÄÀ)2·Âj0<´YÇ~8Ø{íb¬¥ÝqÊ5y
-Äågüèq{úZó:]ÏPñ®
-x
-øÇ*/ø÷!Kpïþû<têT\ÒÎS"yÆÒðvòPò¤H3ÊDú¢±ËÈ©ëÄB"hÛëc7*Dz$Ùø<Z|Ĥˣ¸)¸9 Ê
-v=;Û[D @þö;ò©$ÍÖQÝÂ.ÌÓoëD¸ØM±íÞlàiá£ExÃÓ¢JÚoôõnkæ¥_[ûM¥Ôto¯
-3(Qñ³
-»z´kWNÞ.0Ýêªñ¼ø0$yøèá$ý^ûWGèÔå:.§1ià Þ:30¡iº©Þ±5æN5ÜÿWGFô÷cf¶ørLÃD«»ÍêÏpiHHëP2þQãb
-¢hxÊ£°JÜ\R3*º÷ÔQZz¸¹äöÃú¼É\ÇeòâOóºûÖ[ÁâÝ1ÁXu«´`·Ú èAªon [íU½¥+íW ¿{
-²ìÔ=ìR5~ÇO[ÑIzd«¸â¢¼Çªs¨P!K°
-N8©QÃ2w諭L¦Ff+¾Ê³OÚ*qÜÈ5a'#ã£,º8sίÂriW¼´RV0þ>rEé%WÓ>³Bb²ù©^b%ÐVôiµRPèToÅC·a
-
-@>ãB
-M±ZȺ<ÖK
þ2ÌÑ`bì»AFÔcLòRåÂá¬Õ$ºV.ÎÙî?ÌÉ÷*BÓÙbÖÎöP%rµåLðGfe}©
-îç»þScÍUo¶*íÀhý¶«ô,¦"Ì{ÿõm©}':tJ/¹=»ç´CI+Ý
Àï¿GÇqr:Ê)ý¤IR|Ö`å£á0åfù^¬Ï?mey<ØVqÀDõó
-ħjÓéÊw4qµüö©ß ]Fлî^Ĥ*ëuدÐùÊÆ7)
-
-Ä1ê>Ó ]í»XQwj¤ÿËÒIÆN 6.Ëæoé|¤:ÏÄÊK(rd»
-ÔÕÙ=_:,;áko Ù
GºBNJfè4·F2[®Yê!ëoàpÂÂ߬º,Á¨õ[ÃFRjô°eÿÉùZU7á`õɵ4µ"n·Øë¶Û¸Ýð §(bª;ÆëP¦áÓÔBókÌ·òrÝùRN¬=ó2@#ÕÅ×À@A×úá2kzâU=¼<B[gsBd¹£HÔU[dG#¸ B}¤çûp~.Þ0Ó6¶ÃèBMøÚîo!b ÃÛAÝ¥
-ûkÈTãií#Qtb¨¶Å:pá¬
-é7Â'¹.Û+øVc2L»MÊ¢FÓj¥#wZ¡ÙzòQ¶Mâ2Ka¶C'6ý[qzÌ^LpüËÁ1,û¬
-ºf BRï¿A,ömà«nÓ%Z¥E¶ÚÞ¡Æ9ÛâÔTÍRõůdåT2â
-iv yxÞr{/ÌiÍèUÌ&k«3¸0ú9[TT.¼BA58ð´&Ç1¯X¢ üýºÎaF¶Æ$#Úá©YZp7T¤2<Æ2ø^á1ö0^Óâê¿1Xêê4ÇoÙ(L¸/f·+/!G~¬¨wÁÞ$Û
-_ª0^SþϨ:e;o{q\åç.§8ç¶íB³Y3D'
-Ør¨vÁ?(ÈÊÕæ:O<ËAsÿï¨Aw<Ôã¤@7*hNÍê÷7ddì5L i³VµÈï²Tß-hÕú¥H¶üyzÍqäq 7N¨çi/^w
CfÂËn KY Ý4WI©ÃäfƨU¾3¹=Ú>¤ÉëÂQ¯6~Guùó
-Úh©b(m#üBo°,ÖDì¢ÜüÑN;§ê1VCsÚ%Þ2Ùæ1ß|Ä'^³Ü¹nÔ÷DL¼ó%]´$VpÜì#dIØì®Zþ@â!Y:|U¾;»§zУÍÍóS5ýáÌ/dpn9DbØÕMNQòÈ}YÍ'ýç-óÿúLéAöíñ{
yë8Ü3±ò¤°ÕÇ,]>´¢9IWC at a²µ%Ü
òïw©?szÙ|µð2:è»ËÂRN»EàOoí$ÅFòØé×Ä*ЫΧ·Æ¦)ðìÝÕ9W0«µÜéOÄÎ] é{ðîÃ^/m¦%RqÌm°p'éú¸V®ÃÂ}Y}Ê¥m°^jÑìU=ÊZ³JK#Ö62¸æ"ß°½Bè]Ã5K<qÜRÅw¯4ô'õ _{`¦RúñF¬rëß®£Sâ
-½ÑCµ¦ÎwHïýz[úÔ@³"Û¨ä¥Ç|
-©Ïï{òRxÙãP¸ -ÈLÀúäûcz´BÖGøÔ]0HBn@¼¿8qdR¡È¥¦f 3K÷]n5X¶ïù¢+v+ÔÚ~»YʪFcÐLõ¶$C0ÍðÖí®Ð¾dêGÉLÉ
-:¸ÒfÌåàµ&ÅCr§ù\Í
¥fr+`[\¨¡Êi-¦Ó Rõ#ÄB_Ùh¥;µÿÒÊÀîFÿlÑí4¨nìc«"ÕÝÊül«%ûÅñÇCÆb~¬Çxj×mA±e,èÁª½&8ì]OùÖQ3²±}ßA¬êÖ_PÃ2|_à+{ù¿v ]A"ËÔèi(MïÍ¡l×ú´öóép¤ËêGÅ:e7+òôR?'E_!"e$¿:å3úñ*qK7ªw%ÌÙ6ç%¼
±g½ññ%S°²hÇ]Ýo¹ký{r~fFÕõB at C·ÃÐi$37xªóå\a#ÔbÑ"ÆÅaÓ?nh¢Ã$©á»ÏSü5"ÍÛð¶Lɱø¹<ǽñÿòâ@CD3¾ ¶Au®Ñmj®»ò¼Q~
-a
-eDÝ£wxÖBæjÅÓ©òû
-º}Ù¢:ÌâÿFDÅVìª5þw8n)ܹOçÔ³0êqÊ.è &WÁ
-Ó@LRøb¹tm
ÄÕª<Æ|°,g|$MaQE®B~47AMt)ÍÌ| I¾>¹Ý¬=ûX#`ç¹])g%÷[É% ¾&óT5%dá+òüàrË6a(È\MùÔ!¾>CÒ1xxjå«G)ayäXó Ø'B£ÎnBú|åzE
-©äeÞù¡Ç v;Ù÷xý£9dËbÂ<¦\åè_ÅTð{AèØ&M½CP±BÖ´êî·õ[oæff7vYéA^eNµ¢XÎëÞà Æö)3²üéK/PHªÏF§îÐöâ*¾þÃ4(Wm)+LðÇgxní½¡F<µµ 7ªõ7tUÈÇË_ÈYÍ,æþ}2¦k
¶\ø3Öµ§Ë.cwS2W§ÎÓ5§ÁùÄÉgÄ¡÷uÛã>;k^gÜÿ·ï:çt½ìUãESÅRÕ6¹d}
-t×â>ö7fzÖÁ¢¦[E¿ÆÉ׺qæÌ]8ÖA?üÓJèý-QKºÈYíz¾®ªRB\0Ë¡à¶ÈdeýíZDï×íc
-¢Á²³í,®íFT·A{Z1Ñ6IÊÖ¤°z0¨
ÆXGÄîÇFL+~ðÜÒ¸'>óÔÛä( yøúC¼¤Ü;/&,¹zñrö©O¯@a] áUêÉ;=zíHó/ΡS5B?}{[·Y°>ÞCO¸ÆÞÈ}ú\,õy'ô7¶ï³à·s¦Ð,3ör.ÄPìÚx#^H }FFþ°ççx
-ù5lÉ̱mSöPk&~+jº]zðFüV§£Dû|Ä(}Ë,F¯HZ]§E4sÊ
->´q>ÆÂó[àÜ0$/Ù¼¦>쯶Ö\TIÜ/½ÖpWBËÊtWhÙÖYw[ºHÓX-±|Bðàð¦µq>'ÿÜ}C>èw
-Ð{Z·¯
-Å8HÕ´
-mòwÖC¹«Õ¥URvv~ â Ðýø¯Ýôãb
-¿Ø¡gUPIüâÅ_ì+<å§È#bä*¾ºzLBKúªÐíí(Õ(ã'RâcÐjK⹧ üwôf{ÉÀ%^q<âAmúìtÌ uKΦGGÅóÐÚ»&
A?öë<í·ÆI´9^Væ»ôÚ°Ë.?8fä
-
I/
-]~jtQ÷hý+ø0Î.T±¤%ò¢µÉ¿+_ÏgºoqËË*Cp$V÷_/ë¥UÙ;ª\<PHeoàÐpâùÊü´"X5òa 2þ¦_AÔiÍVýg{sy-9w¬Z7ï
- õÐñ]<¿)¸±¾¤¾`2á2úÒ3KöFGÏ@ůqOa
-yúIعh:EÚbf6Ô碦.y_¹â쫹Bξbv©&Ä4÷cÙÆm ÁsÍv|\Ä0à$YLhG9Ià
-¹éBÚ¼<ð` ¿1Øü^ÿ¥Óô8S=ÝýZ|T Q?i`t3yÓ{Ìêû¨*6¸çeIA[P!lo¯|¸*
-ïf u"7B"Ô#²d£Å²Å#Øeº¤oñÕlz\mÒIh#ª²âUñ^Ä Þ{Y,*u¯Àþvþq<
-ë/µáF\plN¨¨m_¦ÍÿfG¢½z ¤o¡RL9
-Æà\¯$NÞà©éEv¾Õ\&-ð$!iÑÝQ þì¸P$qø¶ º¡lÁÀý"o2vü·Ï`ع·|ÿ®Úa±é·ÞdÜ ½|®»ø+]WnÆDÔ@Î'þh(%*ÀZùóÏY)Ïò !ÈBb %Íäx\ß?~}µ¾E
-Ò~ÛJ%Éo®å
µÞön°ZßJò7ß;ó~d[ò>äZÕýK/^¯ª·x|.Éü<5¬S
-.Y²õ(æ,³k
p=ô
-I:Ö\CñXØçÍ8ÐV{g)`|á÷å@<¢ÔÆY «\°Û]]®åg@(ü"ÔÍ:ëöãY,³ý¹
-Æ
-ܱÃ$2ô+Ó®ÏécQ¯k7Ôæ)Ý
-è×Ú<©ÔdçZrk`P¥\jÑX§ö ïìrÙIó{g}ÈTBS<lï~·K @HîiÕO^"Ü´¶òdãX;Dg¡¢t7Òò^gª
-añ5l¾·L¬uº.e 5».þÈB½z³¨ñôËêÒALçÞ+åÌ[¿I&NþMÝXO,zúépÉųp£3
-Ï>6÷å\«ôë²{a@
)â³ë²"ôÞÖûz¼Ý=4üÁ[ùykvWîcje/*xÞ¼¿~ª ú»÷ã ZÂý2«Á¢ÖDÒÃ?[tȯi7X Æz"ºCå$òÕÌ;´tÓ»É
-Ãvi¤¯¹zýoáÝnûÚF¾dØcêFÙð-?>é':¿dfJÒ,Ok_>?¼Åã§8:^»T%'S·Æîéè"a´ÕÃ4BêGäi ¨¸ðn2úÓjJS¼´6ÒZ$[«VÜwK¡$7lôáÄÙCø¼å¬yImRL§ÅÓÙ8zUðĤd-ÖaªÎ83 ÞiùÔ2
dÎ&>Ôy]Î]=0«Fc)/ú;ê¸=´
-°
-Í[ +ÌîÄÝü_Þÿeæ±T»9 N«õd7Ê*ò¬Úý
-(l¸Ø"«{ÂÖz®åƪ,qTAà¨âØìAÄv/õñW F/íøuÊѸ³·{ñ'<dè7ëÈzFÛ«ùÀ-&cUï_\÷® J&NÐö»oê~,hòNm
-¥KÜ8:"%/â§xì¼N¾¿Xc)ldà¶ÛÒTùÔèUÀ¹ÿߥ«Ê%åsyGîµSm`{N(1æ_Úºù#8li &.²
-#üMÆÆ>@éB´ä|¸ ß®:£Ø;Ö¹¯
-8Ò®¨ôVP×½'&¯Á
-»ÞöóúWB5ÉQ`V×"C[¶,N"
-ÍiõæÚÒT¨Y:Î*¡R¾a¸êï¥û~ÃÎÚسUµ¸£Yd¯o4p°QܼÁ× Yþ&ãâ'Yfýj6{+a§X5fÂ_ÿeD?!p=@!½y÷- ä/¹
-ã
-_ Øið(ɫ޷·ÜWðtàÒt¾@Ú¶ý!6NâêV¿F3^é©®^¶!K«N`Ð}Óòh#"
ùÓ
-Õ'«;x9å¿ÿêþ·Ê$_i4YZ«p6ðN±Ý
9ÅÓ]fÿd%ªÓ¡ä³FIbiq`äD[J/ï
á,s%$äËeUÚïù¬ü¶'T°W¹Jí?".Gúzh»ÅD¼uYkdJÔ8èjñ
»[a¥GGÎÁÿèµU
ûX&Cß^¾òg'3duxä?Uhè~÷hËA)¶Õ;ÊìàÔKoV5¬¤ÞèZ½¿9ÒTjsàûÎúÐ'×⥹X®Ï3¼Vþ\ª&¯zgfVáúîy]
-p¬eHñ¨6%¾Îÿñ7SáªÔ$(í&Ìvn4'Ç[å¨Á¼Q2Ë/¢®·r¨½_&e`ç>Ì*Ï`n=+Z3ÊÒpE)Sv;úMoö͵
;L0-¸"[Çnþ5¨öu;ôp`¾þáð
-âJWxiÓÍWjÀ =XT¡uÌíþµuVi¢1Õ²}âÏ+±}~Bù~8"ÙÃuŵ-LjÿfIB¨L É´.ï~¢õ jtuê-2i_yc'Yú,
-ÿj²mð¡¢ ·¢Ø±)s`ݲ1Üy]wx
-Y6yEWj<§BËÃ#öÛãô¾æñoûª¢öÀ¾ÀetuaÉâÖ/B
UÊGȺ4¢í¾,ÔÁðÿ*ylÌÇCWÁ>#2ÒWi£4Íò¢/JíeínEÜ/©_~-¿eç
-ÃÓ@3%ú½ó}óêV¥ÐÉóÊòç$úáDØxAøWKIWx/ùNðT:N?ØférçËðÓYЦàgð? Oäë¬Iײô¥+mÀtNFiÜ¢:Ééóî~\*Îü&$T¬ÔèÒ¤O¬xàó/©µúÔY½KÚN§èbm3L+é¤s`WR³¹JYñ:1¢ÒÒObþkí´%
-7<Àñßä3Ø)¢Bù*:ÙÜNf»Ú~5è*3,3±Þ©ZtMHÉ'ùïÀÑï\¤Ðí оM(m&©´SæöËr¯>%³ß¡fÚJlñ
-¯D®B|U© Ñ[Gî:1@°pa£ËÁvìà4[\0pg,¹p<MJÔZ|7Á#uz2d[Å+-p
-Æe¸ÀÛ"®08p§Ø8yÚÌwTWî¯ó&$û̽9c/øp#Dßi²Ïº¯^ãÉ¢î¾ÕãQ&ä"÷{«xDk(Dìo4zÒSªóRÜPä1xõØ
-î·nè!ç|Ê£uq°TB
VßYdD¢Íéx{nÙá°+Ø*íqÙð¾¼GöÈÂäñ¼3;ñX¿ÍÐL®¨Îy¡EÿìÂÞ¥Âr®jê£ìM=¾HÛtäIé¤_}4
-ê8u :Lj7?.à
ûO!e5)gt2
¾ulÎÂ>FÐO·]r¿µõÀ·~Þ.Hh½z~$â' U
ùQ?±aﮣ,б3rþYÇ°Ø~s(Uqý§uI5ä×%¶Û½m¿¨¨õQj65iEÙÔUÍáôC3Æ:+!¸_ÊßôÇ>µ-¹|PI)³·e>sáÞîÒ'ßøØ:oæ æ(l%²Ë<¸È,Ék
-ñÌ
-p^ò!¤Nð¨°S(âÄ/-ÛµßS@É 4
-e¶¹³5ÝtöñÑ
-ú¸ÅÝÁ]g¤Ø.h·kÍ/o|±lBã]>ä¦ËÇÆ
-±U87J .Á¨ª{Çî
-\ק$Né5ã¢B3þ¬{¸î0ßñ1Ð NÖ?w*KKÓlrÕçh%9IÙ>4ã#ïÁ.\gæNÖSÛøWË&LêØ
-©°þÏ»«ôkaƱ®¼(׳Ýo¿Ò-<'@i ÿÊ~"aÀÑá|½º=ü¶hN
-¸øì>êìÓ±d-}EËJÙq;ér½\ôBÈËjU$Îú=u7èi°ô¶°±øð8Y^YèÔQdª%§Èúåð¹ÇßÊ¡aÁï¾*q.«L¬KÎÇÊî: Plé1R5+[{£,;ÉåkÛ®_«
-Ëm6×QÚgçjî¯7ê1ÂAS¨'wøGØ|üúY!¢Òß+qÃì {÷ÌG¹RÝ/§Üw
-UH=Øp(M?ìõy¥- »0EÐîpvxKõa2·nvñAÊDî¤jhQÄ
ÈWM¤ÆKG>`»[%º"li£×#ú×åQ´Ø§y'ÀUÃÍ EºUñ%Påw,}v§¾â÷ËI ¡Fôéln|+ëk
-QoðUY¯ôæ,pMiü;]ÏúÌ!§À9´EØ^¾Êó¥FkTb HåÈ1sªNçì2`ÈDMÌ÷«è
-æÙá>Y$=paØ%ëô*lªõRø˪G·Ã¶¦&s'UÎuD<"¾w
-
-ra8[n0g©$ßÛãIûÑ[OFô:V
-¦HWq¿à8ìÞ£>#OGRÕ¿Lf+ÛÅr«w¸#¢¢º'5é~
-¸,Ò÷éÙOa1ñ¯z·Â}ïßB´N¹µÞxæì}Ѫ/¨¤úH²9!)å>ôt%ÓZß-é»êg4½m¾qÚãq%1¤7ö°2ªoqÕt¼õUÑtÁxsÞÐa´MÏuîÄ+"ûGýÓ*Lo¥fmf
-}@!
-ÀÊæÍ7kÆuE]HÙõøº©Ðé!1772Í
-̾AlóEÎ7{(4Æý5g¹¯ø,cÁ&|*ÚP¦Ùõlm¹hÝÈÏ·ÕmUYEG¡ØÔzSoíO¶[`&
-;Û:¢FÖ$zõÇgW]Õ]0b?¥!µ¤Ã©üŦ»g_r÷}È¡ÑS¤7õãd
-7»ÍO;z
-E:
-VìàQ,{S¦µH^âÀ2<¢dcUn³#n]¯%Ì-yüåR·Ç¨íXú#AY
-©¡j¯§vòP!Ó¤D=üååÐóÛ+ö2"»/`²÷ÍuajoX[S æ¤0À£R4Y0m~O1ºøÕUJľzÃh3l·0)ö%.:n!.áÕ ,R 4y)µÅÝÄxee»T{^VƳ3¬¡ëgè²¥
-¯ý}
-ëÿH ©O/j%ãÄ?¥ÌÞ½
-rkSªºµk`¿Ïò7^r}ï/õ澤=àÏÚ.7ýLWyÛá¾aò¡rîwb
ÙCÊ}#ÜÃðþysdÈ<
«Â`º
-×òFZo
}ºÊ!çiXØÜdn¯D:dg
-Ýr3GÒ
óàgW¸iÆá§}änç¤z>ÑøFd$zÉM74!oêÝ6êT[y»_SGê¤|FtuûÕÃ|3e©åd=oAóÇYô
ß®æÝÜ7r T'¥°ÖàK©í¾ú¾ #wgTêU &NBt¬Æ¸JJîm_Õþü8{õ´[g^o³ä2Þ+¯¦rS:·ÔgzmTÅßî䢡ã|ÅÖhû©DôEÛ¸aôÇÞ§HFHÊ"àûhGCV']ª4ÛñìApÕD0.«tÍÙº·ýÁ Èã¥b]jª.DèJ&û"Mù¥I¶
-©âgÜθ°ëöMNÅèF2À``ÈÈ¢]Ìß}DÊ´q¶¬¦«4í*eiÝ´æMìi½O½î%#êÆÃavÊ@L
t©^ÑÔn
-xÿP
-ÿeGZ®÷m§P½ê°fßN¸º¡ßon~dæÐGÀÆÈ *Ý4gpäÛBÑ;}pÇ´ 9Ë AúSt(`ÏoaGz:JÁ¢îÍÅu¾ÃÙ¦±Cc¶Üôa1ÅÑ2
¦§Âæz
-í!å
-/ì¯ùuþàûfKoÊùç¢Ó±[.6G5A©Aì¯MdWgê\ìeë³ÜXfð¬Pv4¶æÊKõ%·êvn×ËDýùI:q0ßjê ¡åXÎëÞ.Þ>8Ä
-»@`hÖ¤pÑDi@wVsèÀ¥7Î(-}pÇøá0Wy¿ª
ãªKb8,#L!' ð]j§õ2ß_×<úaüYìÊ
-(k>H\4J¬'fT¸ÇLÃ.ï6x/Âûe
;ð7XfÒ1¹?¥îY(Êø¹:ûÈÖ°Ôn
-öúÙâM²®4o<¤ÂüTJcm>{ÒÑpôåi{°µXƹ'qB¦ozÔsÜV`f°[®ðnýÚ|¡JÜq]#ðEÚN.´ÛÁ
-VrÖ¶¸sg/%wÒcÛþòØåt°^§f°Þ×Mæ>ywîÿDZMðæ¨z¢åKP?¼N¦çbKQa`¬á5YÀ±Ðº>ÖZôùyUrTL¦[<ì×ßÖ®®É[|(!¶=òQ7Sn2e"§ ÉAúb0«òÁÝG¶,µÇT×ÄóàÉ4Qø÷÷ÏëP©¿¸i¾úÒIÛÿà%,&Í×L®-ù÷x}Y®W]ï>ït1;«ª£W²ðÁò¨[[X\l
-=ü¦J3À~ÖKs®?, CIA!³èóýZtÞÝa PºÊÎ;¼¹×P¸³í»á ¯qg¾³þ
-eÖÆ*<ÑÌáë N!.³öð)1õ$Ï%XLþ\gÛ¸^äÛ¯?Èvw·Ë»O?0ü)nKw"ÞûNÙù#ºäÎÞÒó'1´_nú¬>;M#Ðe_[¥
-.òlþÙ}vtQ
-$é<Là#§ _ÛõcZö3eA6pѶJ$w#t at få¼YFQ©y6#8Iïÿ×ýÿ.(îu/Î.¨Ì®ÕíÙØ×$yõ«ù§irà:ðÇíÜõôüÓ`
-ÿ=TY´s¨V/T®Àb_ü-
-sϼ¢p±7ñMË>Oפ
w¯ès¡ÿ+6Y°ÎÉòA/·õ-^¢óáÒ¯sý*Hm´Zº O×h©C@u!çôK#V¹ÃóÈ\r´Ç É s÷Ì$4ö
-òp7èX²êq±S¼^øbá!¦}.Ô,ôa+ºÖMùÂFpÄ5A©4
-¥ö íSØðàqtwÌø#3bVɪۨ#|#\ìþ¥saôE-ApÁØéÄQ² HçÑýø3wºûÕä¢Y£ÃóÖ+q$m¾h,ÛþécGä ÃTSØër
]4ðÏI.gr0)(:éäò5~þìNÖø·ýzþ ?L5ÜÌmxÜ;l³Ñ^ö"Þâå[{:zÌ.'bßã~ÄðQ6
®WeØ(|8ÉÊBF ¡xð»ö̺Äküw£¬þýúI,E1ÌÂY
-iJ8p|ñ_ó^Øf/x¤.+XðÞ¼8¼D¹ÊÒë Rï£ÌdIU²]Å[§`¸QM6Ê
-pt&×ʯ¹îÆ?Àv2¹·êÃZh
I©¹)©c0cÛ±ÒÏeà"§ýÛNóÒ-ÚE!YUrAÒð@FfÀíj«?/Wã½tûÚÒÞ
-ÁtQEñã©_!Í
ú7xR¨6#Å«5¬´øôb°çO÷¹¨:¡<´!K1VZ·þ:(9.héq$öåéA¹H~q»"èØÀÚG´ä»¬þ«faìsFúºdsð÷Ú÷;µHI³Äy}\÷ó\ËÝÀè7.°çÑDTréL((Á®t^Þ®·JQgÐÓ5zºqç8Ç®"vãÝÓ42Dåe5w&nî]0XñÙ&kV@ÆÄÖñ%Q/Ei*ÿ²¿0Àà À³AüÁ"m¯å=éʤ¾ëè`^ªqõ
-B;M?Õ
-©ùSGÐù4`ú@Ëb'z>ºKæÊñá[ýq`xq¬\°#ø
- §¡ÿØ0ÍÚryÅ·æ³àA\Å1kÇG~[Ê<,2½¹
-ÿI©ØêÛÝ&±Èú/º¶Z®LÍþìkPpÔ`'
-è`¡µ9ásÏ_Êóì]ó¨`ärU¾&!Ë|TUT)ÜuÈ@PQüÄÏèº_d{4sQ0«$÷'ëBæF0ù·6;þžɨb\ý-p«§t¡[6Íɼ²pqb£6dü#ÀFõ6ËClÔ6¹ZõÆ/m]#i§KF)
-å§%)´>(¹`%Úþ-PS)Dâkѯ&aß(ᥡ+¶³f
-Zn&ª=n{(ûÜáásüþ° âä«b$®b{I%3p<Ê
-CàÉpÇANAç56_Çuî$-Wxr.L:À÷7ùÝå}WÅþ?8]¿ÇÔ)o±W.óU·\L¹¢0~G{=ae⤻þË·ÏNÒÖ¦q%ó¨³'#ú
-+~Õ·sÎ7ʯOºzJâ>1EÌ7ÒÝyxWn<Þ_Èë3Í-Â3¯´mAH9sÇ»7÷ÎUG
Ü¿» reUÌsÕë»lÿxÁ¯_SúÍ2t¹ö¨cR<+y%aqUV8 äöûVÉpÅÉÔ}#
-/˸HyèJ'tÛ ÊÇ/Å·µ±@;ÁÉË!Îïwàm½Úìè"änkië±CîÜ9½r<Øæw ¤Å{<-Øå%
-6¦
¸ÉÇ
-ÍXínaý)¿Éä)):Ö®LÆp¿*¤<¤È[»0i3¹:ÍÑvü µßè¨ñKd;èü÷ÚÔ@#\zcåOO^/`*~s}I4/{e¥½´óßøL¦Ú îz,ÿ¹cʽ1Ö+5#ÁtDûÓ|L¢²Å2)o;L]Øé¤ÿ±ÉgùâSr
-f
-ha¯Ð7µG<ÚûxÚíÝMaÎßQoãnÍ
-ÄÕ?Õî áÞ(] ¼
-es#C.À¯óÜcröcú-<ÎScyÇQP4;ÑÐÓ_¢Å¢S8À^¯jCÛ¿Ào$ý=(qN¯3þ3oDYpËV»óNSêböÈÃÑͺªu#æÖ%¥Ë<!'í>ƪ¸KOê¾d9Ä? ØdYöû>¢\ö§£¢:ÞÐDµhÉSvxêM¿¥k
-º²ôÆ/;Ò6´ëCºêaìt¹ñohú#7<ÄQv7¸¹
- Aø»G¾yÏBãR#ºP|öPF¹°A£¤¦)?6M7GtÑCdlR:ÓÔEéqÃâ)yò)u}i¯û³Ú¾#òû¢*à⪢Ð<9ÇY
-(LägÒÿ
-ù\løö
-|t´:à6dÌÈÔuNîãì]Áß
-ÄkP¹ýËWùÉÑv*²Â4عç}ç>É
Íd-fÍÙZ(Ô½jÕ_;.bÞHý«øºñ=ÃñT÷*
-E5ß%â¥ÈNï-½³;ì~õ`©X²|\m¤¿ÔÕ²¼I58Û¤#}uZÝ«vÿñsgØÍ÷qîÖ¿üà óÑTýö'³Cotf·eÙdÞ<iñ¦å`}úSLÉ2dÛ
-öðÀÚæ×Ó:ܲª:Ê
-ÉPGåì¦
-ý]v<n?ﹿ¯a!µ3[ã
-ýL&"É\e,©:©#a¡-Ù¾HÍ\ÍH{}IyWâ
--{ñ¥AöÈÿ°`JVcWëu¾¢çSû4«]x4uÁÀg÷¢¿{¬ÃÁ$"R<9|Ý!ÿ 5ð
D_!Äêp\:°4Üá6·'z±îHþþ
-ËÕ³ÌÛRÖ"ª£iÚ箫¼(XúbÎ@fº³ÆI æhHöÉ[Ý<Ôégo¡z¼{ í&5OÂ2 Zñ"±F¼ó^äAºÏ¶ÑZÔiX(¥xåë3ÇÙë&¿·ûEÐE$X
Bå¦Tª+Ú7ïѨVáý|G<wN5G«¡®ZÚzÌ}V1êÅvw¬ÅqRëD)¿qæÆVR¼ëöPó÷ÝÅt²Í ãy÷Ê+ÎâïQZ®°nµ.>¢TªuìJÊd _¿ÌÛ4Vp"M°ÆÈ·ª.c$Ì!}rb6ÁsîáCñaR_ä2ñÜG4L´ ïH<OêÎìoi¡MÛðwÉkF®yÌ3#$J[- ºMËo#}Ï×vAñkæÊÜsNLÁ³Ú_ãªfô©é\Ū*Õ1Pæ'¤¹±güá1u
-j9 ¬¯»ÄÕ³÷ëUå¤Þ¹áÁÏkx¡º«ÈÔV*¹,FNàÞhá¥Âà`EX¢À¯<ÒHÇÜ×$@?ÜkÀ,y!AÆîÊγ»+§/á%gÝÉÃ|(Èï1NCËr³ZàÊÕ4Èú35kùáC"7Z$úÇ£i»XÅUÖ©_Åv\t¯ÑO"r
-|°íF.¼QPºB¡+¡1Ö
G+^ô{ü»[ÏA+l[5¬ÍOæc;;N"Pj°K-
-bG¾ig)-~Qa
ÑBSâùËâÙæFûJ+:Ñ*@ð(ÚL,|_¤éÿA»×JÏén¿,dÁ+¨©Å«LÊÚZü=KÀ
->×׬cÀq+ËÒ+ÑÒY!ôyë§Í²l\ßjQD"ëÿ £Ø&BÝÇ:ÛâU´ÈTwý)1Ó;£õ¾(ÊaæNc>)º;<²»Ê-ü+'lø]BÞH8ä-墪ý)^{ÕOM²F7Óͦ=¿¼Â®¤¦È^Oæ_>ñZfqÿrRÍ?+¦x}fЬ®@R
.«o×ÛùB¦4ºsÛoáøÌAõn-jE7Ïwª3[¢Æ°lÙ¾Î×þÈZ8.æÊV#ÍUbïqä\RжhzLEªæB1¿nvZ佡꿽·D\¶õïLdjWJ>h6°¬:±Lµú¬hÒ:öó0tþÉj>Û®OÈ«º\$Vú5ºì
-OÄpt®¯ÐMy@!÷Íld`áã% bVÖÇèþm..k³
-ûUa¡ê8ôJ×r+´ñ¸}Fù·Cߥé&'#ÎðhO)Y¨¢´Ú/#.eÚÍlÁ5ÔàffÏØgì®tMð>4ÂÍoÒFG*6ªþÄ?Õ?(ÆÂ-ÐST ªs,æ !b°ôÄ`(ÚfP:±ÇD]NH±»];ÐHC}èºàºk¤nóH§L|àÆ[\X`{Kÿ,xÐIRµÄæðvÚLI,9ä++È×¹9Y¾è¦¦£ø?®¹ÅË5
-)û¨ÄÖ§Å÷an;N4ú{Iøå®LÔa.é0¦iùz@èÛûÌsÚÞÑwÃ*wb84%Nâµv³Çù
-¾Ã(
-ïõ&«t©´Û£q1¬BÖ9u½_xÀL>ô¸2nE/úÄ®?ù© ¶äÕûn(8óý|j¦ôíÊs`û½êínÐ2kªøD®!´×£ÉÙßL!Ú¶ÕÌýTN+øNb²ÕÒü¥ÖÀàÌôHeÕÕ,nüYúê[N6
-h·£üT÷MÞ* eè|u$xäÔÒ±V yo
-íâû=H±î<¦ ¶èr}¢^[á:ký$¤ey8EQîé§cÏQdC QEdx]OO¼<Áa³`I:6H
-ð3Xæüõ¶K»ZÇá{1
-Ë)o1Ôç|Ry¤VάàñnÏ»Kô]Þñ+°mæa0oýhU¥ Q
îÒvB,~9Êý)Y10Õj]:G";¢;Ä+ùqÑجé`äzÇÈJÒU²wz}°-7ÝßÖp/FõHòEdözkôù'ÑKzj©Pvf±!WQìiÒ>¬ì°ª;&m<D´ Ë_
-9+S"å:E%C÷¶PM$õí³µ3^cæL~æV",awúDþ½µ(´J·07T6;%WSZxÍr¶§óäMrSDj`:ãªÿ´~ò6<Ñ¡H¥Ö]=´üë>»º0®\ÿ¿¯d$40ߺ°`Ó LÕÄ^yÿêÄ#ò,´§Ò äh¤?
-¿ÂJ%É
-¶gØìîàMàYõï'\ÖGY£XMW¾.ÑØ*¬ù+ÜFæ^àªV'uue'9¯xïI+i@Vp/¡1t0y(R¨ù#é¹3-òÛü¡
-étæð7øûóE
-ÑÏ
óJc7ÇØþ~²Ñ8SÇk¸@Égì¡1r`CegËJ¬¯4íÔÒÞý'÷£ÝÚïݯM+XÁúuÕ§¶]?é6×{"ljëíËÛ·!ò³H2
-%ÅÀá®xÎõã[ÆËb¡Ïm|QøLôSøâ®
-7iÃâ² aȧ.®/)w'·,mf®º*ÒÝ9ûvYp(8ÊðǾ÷
-ýé¢fqA9ïø¦|Z6£-µJyLþ¤;R¬
-Ùi8k˽ÙQÝ©¯<&(Þb©w·üÓ¸?Q[ðjüìBç>5áß!§=6h5yåM_k6úpN;ÇÎ)i YmQË/,ç~i&å?t*$ùu`Rv')JJ$ZQîU>Ùjã`l ¤¶_sÑÿãºm+ÂwÑmá?Å$ÝÛª9gí)ýð½né{ìz_µÌÔ«ç!ì(
->?Ö¡ÂÈÐxÓB²¬¶oJ1Ú!ÛîtO?I#Ñåó]UIê²PZ¹QXKyÈzß·´Faá t2 ÷Î,yÕ}Jcg%[(¼91ý¼)s>0¨EÅíäØzzö pÀü¿U¤ø}¹¾×üëV($,9At{%z)mB28ððR'H)GÄðü|,ë+ï_Ú&ó@Ï°S6ÍHx8íÛ§f'è=ɲ@ãV¶iíOÛöküdüº»YHsÉÊ«?§¤#m#ßÍaw'#ðη
-¨K}hÒ©¥tø©BsmÛ¥*U·Û°B°<þ#zC
--K( Âò$f;¯ËÿýÆQ¤ÍêÙ¾6VýYt¯nWKßä+#4PA÷ÑÃ#äöÑ'²^à8À£\ Ô³:î&ß¹õdt&õQmg°EÖ¯ÖoÍäæQN ñúµ%@h5êpÌså(/«ªM¼s¨I!g?ßé[qHÐl}gum4ÅþK
-UveF,©©8A
-¬NH,ú
-ºqj,áWØÅZî3hæÿXè¿.öK¶æ«JGÊÕ°uÌÉ$)ÝíûNã³ÏYÐL£þ÷ÎÞøW]Vysuÿ >ÇðlS±þ¼pîålWZáPØ>)¸;nçFó-Ðöf®©ëÚ¶7÷X3V±´Ósä`S05Ê,}óºe\ÊQÃaýâÎÊ] h8äMDУý[ЧRÝU¯É½¢H1Ý<ßLPNÿFl~]þ=Bû¿dÝ-´M/"}Õöyd-m-êpgQnP
dò{ImjÝ-Zxæó~×ýD«£"Ç%,«ùqÇÌôÉÁŤüÌ)@5lZrl
+xZÉä6½ë+tnÀ9Ü)êTÊçö0àeÛÀô¥"K)eå®ÎÄ`,/VJÌߧÿÎbþAÜä줿>àßo¿Ïÿú4ÿE7ñóíßÓç÷IåffÏÙùý·ù¹ù9ÌïÌ?*ÿù§ùý?Óã}úÒ_*ÔM÷&Æ+Î8âðÈn·pF ~ÜæóêáÞïÚkõðÚm §³ðMÁÿ+~ïÒygÕìSsAÄMûÐëC#ìñ¼gwP¡°+2îH ä÷¾oNG¾Ô²$è+ZynÉd
+Ü@yçn
Û&ÍN!K«¦éi.¼ÂPÑçP
+°J
+ó!ÀJ1ò¸ÖyÜVõ¸BÂÿVyÖGnA¹þé)EqḶA,u¹Ô£Î)xÊu?¥¤UfC½$GR|æGÐÅaB@Oè
+!ÀRвÎd ç»^PøO«<Ø3òq
ÇÿÃÉ÷FñGMÕ1/\2ÝÂ;ºG(RÉp
Ë"ñ#Kæ5Öà`zD)0èþ+Ëü
+Ý ã7ÌÓm!Õ°°°à¿«=V«Ç§AÉÝE¾=
+]¸Ô¨CU¢¸/Þ\p.ô
+TåmVöMBy`T|[âY,;")6ÞT®XFÀêäQ@]¦8|ÌX«Ù
+£
+)äh®
+]pûzY+DOW¶A³AaÅ«núªh$ çáF?½J À&ëKô`8ÆÛåXpðk;WÁ&Ë®ÛtuxøI[S¬0Ïê¸ãñg=ÇÙKîèáÈö1(ö9Pºªú#Úq
Õ ym(m`íRÔ±éRW±}$ÎNèMù4oÙ(W óf´-wIs,I.u5ÂHÎMÐWæ¥ |èÝ:E¬X.<cJ-0ÌÑ5äzb
Ø-v_ îÈgd®Ä*óè1MÎ@dä ;ÜÁ¸8ܾo
ù*¼iNOã×MJLã¼£ý öâòF
+/º2ÃöÎXy¥¼dy2+5Ñï}¤äp9Ʋ¼p²±àcs®SÙ@ÌXÎ}õº¥l o.{H2÷@ü^
¦î%6
+íìMÖÉjÈñp*Óe
+cÎÕP[nì
+{:QÈ°Kî®%~Ц,ÛÁcUìä¤`)ê}÷yÔY»Û3ÖsZÌ°},}´6ªi½T½L ãQ]ú#zÅɶØ_uÙ~u}ǧ½JT_ at 7jZSjd¡}
«q5P§·iÃ㸳ÌFùau¨EwV¿
+×R"VËçBÍ6ú¢{
+×,ÊúëJ}äy8 at Q*®2©è;h
+NVãeØÌ7ø××ãø+`áiÑ×B,ÝëËêg¦WîÅú }-ÓH¡Üª~fí²´ØËíÅ=c½lë*Ök-í¤j$.ËÖvòfËìôýäûÈ=ø<píë
+µOG JàÁ\ÿMóê,9Òy`±ÏG·ÁúÊd**9ËÐYèCÝùî,kg>rô÷º¯GJ>®ncñ8à)ßêjɹE¥~tµÂøñ4#E¿>J÷Ö@}²i ÷CwÀZèáD_%Ðð©x/«0ÂISÎô*àÿOàÿ®
+endstream
+endobj
-oUûÜdd$yK
'ø{ùN¡èXö²H¼Ó94.>îÖb!t8é½Î°xbÃÖ![=b(Û»)PT
-Bû¾y`@/|U+ðÃ;¢{wdd.§ ôª»$ßyî¶
-x(
-Õ̪.£X£)²=¼6]´¢×¾4L%ÌGJSxc´Ïø<
-´¶Ö®DÂel®÷®3â»[þ²ì[Bæìü¬íË,p¸8büæ%:ÞtUÿ+sÜ
àoSÒ41TñT"k¼JBøÂ2¦ûW%"ÒIk=Õµt¢]²~lߤÌô×'ß´Ãàn¸ÞFuùÀòu[ ¡»`¸Ââ6äUµÝQSbÁK°cCäH(ù\Á*9jUr§.»Ò(øbD³É½Kr¥<~Ur{ÐdZ4
-
-e¼âT¬ªFK ©æ«=ò¶C
Vowæ2Å@vÑ.¢
-.l4(t%m2òÕ(æ#`Þ&})¢;pÃÄY+ at wÛoïanøw·QnLl¯35sg3ÜÜû4
-§q¶ÀÒ¾½(ÙöC;oζ}0è\ÕéN»7±øçfD§¡âææ`é;æf¡æf)·-þ¡%Ñ3LQmÞýþ;G¾÷¬y?Úî)ßËà \±ëÜáÓä«F#'7£*÷¡.¯îejõûë0çç
ø8§
-Së«c¨,ºÛQ+Îd9®£15À³{Dl9¯êM¾ 6æ²SwrbÀåZ¯Õ;yÏ:zTª²Ïmd="EO^õÛaxã¯àÍß"YîÓ»æ¯ãU§.sßÇ&À!±É
-r-.ÉåV<_Øú
>ÁÙ.ò·²5¿F@>ÚT>(6ùü¼å6§ÂE(ªbÑË)*«¶îP/*W¯èâ
¼òÃRÂÙTÚá Æ
-çèÛiÎ
ìgÒAár¹oÁ|aç4øÊÌïljáZp»Ù*±+Õ;زûf_-F¶yk;,s(ð=ùÊû:ôÁIÑóCÈØn`ÿútH3æßdñBiÌ:wª6ãA¶¸øZ7ö¥öó¹_§¤ØżYófÄHy°k{ !) àfQè|îÜ»n6Âkdõû]î°,Tîon7N$³Ë#Æ6GbÉrþQ3P\§QW(x;¡ìî½¼¸háUGûíµvÜù7OOe£-øÙÂæ^ô]á'q%,Fðp
-KÛUÐxÑrâô¸Þøa¤ëo*Ò¹â9¹(b
ÄþrÌÓ¤\ FYÃAÛß\õâ(T1ãHÊÑ-!àË ÖK
-KÒyG¾cÍ-g{Ūy,êàÅ*)Ƽmàú·¾¼º³K
-h!è\~¤vZ¿²Õ péOã÷aå×^ñrj írÂU«PÕï!(7[?ó%Ï] Ä?ÓÙ²Ð\[&æ¿ø.á*ð§]ñéÏ@´ºóg
--Áj-&ÐfÃtEAÝ]#?^§=|=ø=I¬ÏÁro¢flæþ8³4b(¥þ`=j#ýãz55z|ªñÝl<®úRØãózJº!Qðª8øÿ¡Ù;<õ}*çÁzqF
->Øñ Yéø"ªö
-¥Nê_Ë"ìòÀØæs|0Aô^=×?uð#
-½*»Æécª£§
-!¡×½ù:BfìUæ"bSª&\j£ró
XJôi½4[*8Ç2"J¡ª<>LñoN_Bo7ÒÀÄCïÍ3ê9¹§\_ WRÊÅËmÅ(y-Î<S£"Ú¢Nÿóî¢dVH^f~©3Z¯
-ÐÃÝpÉQ{2¾øÆïñOµÎRÖ=gBà·QÂÈΤ×($óDº`óüi·¾´×FÙº?¸¬C<tEùĶ±2¶L[{µeoPÊ}«$Þ¦Âv¯ðà~ -ýÕJnÖ»XOe1Ðù³
-67à7®ÿðW¹PékÛ¨¨w=ÏD^ɬ͹ö¸Ð7x²¿ÏÃ)ÅÂÌùÀÂÉU^êdUéÉàÏÕuÉþî?xZn5ü:¹Á0ö¸¢îÛMO¿È¼
-1²âöòfÈ<1£ÀzY="6ËQU 3ü¯rÍ*,ùËv
-Ú\fp«xf{D±»x³E7Ì°1É&"m×Â÷îÇSÇ,Q^¸×í¿4A;Ýj[Å"[½îÒ~ʪB÷ÉãKà ð
-RVµHXêé?àycV5d<Ò=GnÀD¡Ø4~ýú«$dÅcl,}/íìt-Ò¥ßÍ)yiÀmzÞâä]9ÙÍ÷½ß'÷jBe%7ã#öíµÊQDÏÞ òïMfÒÆ0ÆýÂâb 9ί ?iG'
-EF,5"zÎ0Õ|P at Cm>áõ1>å
n+Ñ÷ë,jÙruò33¢Þü÷ß²AZûúÔv¯lÊ>Gï =¬ÎÈo¾lQòm+RNc ¬0^dF½5$Z-Þù£ÃÎÖÊW±?Xç;߯ÓçÀÊÝ G;¸"p¦Ö9Vò7V G÷¼qÎkÛÄY«èþmÑØÙ)_ÁÏêP$lÝ÷
-+éÐêÒ«¯éF9j>i
-PçéI»
-vàv)h¡¬éøõíᨸ§k¡)¸ìËsª
-ÀjIocÌLû¤`ÞPää(ðB£.ðáæwøý¨|1×ËQ5`ÆþdºxIã8î'¯Éfê¸/WùÃj
-H|y<KåL`p0ù>ÆñM÷7Ý¥wâ?
-Ãf~×^ÿs»Å|ÛS_L
-¨¢ÓÂÓ\â·Pß·dIJG«ùúÎÊÇn²L¤´uwèt¨áxôIodún ·!|!Ûí(RP?
-ô7Q¬×ÑT]˦Úñ]T·l·ã8ôÊ©}ålåð'qÄ(·Óo8Û¼§òܩרyàï²÷ð
giÕÉYºiZÆÂ3ÌlbZµbÑî9V¹«Ld]mÒÑÆ7ä@à+¥°èL.Ç.ÞÐç`iüMÑ×ç®%½WßÖ0TMþù
¤çCËül
-¥ËêÑö)ÄÅsÏ1I[ñ¬ÿ¿¢»J}ôír±Å waJÕ}Ù1iÝ2kðgñì»Fe8ènft¢óȬdk<ùÃ6º<(¤ZFå3_«¯Î[VÀÛ±f]xsÓ;ë*{;ÂgÙÕòÇȲµø3ÂAÜJFÕ¿¥ÍwÕ1·óòðõá¯æçS2\Iþ¼Ê2·à[ÃOi©bs%°LfH]¥Èÿelæ!ÁE©¼ç· àÖ³í¼î¯\aâuÌç%ûeú_Ë9êoSÚîÔ"äïCJe´ªÔ[å}jX5Te£"uA\VS@ؤL¼)ç%Ia¡¹
-k§YjoC&kòBË/mHçBÓôôwä3aZê»3àvbÜb¬¼|¶ÑMdD1ò_6&ݬóÇ~Ja$£YMÔ¶}9;t>D¡'|tº®ªHÉËê.íÎgv|ßÕo$RwÅd°êðè~òPlb²*þl¢Ï¤D}¬£'G=oJÞvµ¢üMÝ^ Úf±¢²2ýs«ÏI~IºKÃ@¥Z%'Éý²ì½oN _Õ\{] ·V8`o®!ÜA~2ܶ#Ú\È{Zá-
-wµg!Øòݲy\¦x¼åêÀpÅÕsª+Jí»éб.w°y¿´$ðß0¢cè$þ{7k?l:ùñùÃE3
-ÏqónQyõ&]z;ºÌI=?ÓÆ[a*'ß+ ¸Ówl
-I×ϧκ¢c{Pù
-hN·7x4Æ«í{ å_m§)P&ÕQÐõVÅäõy-=¿3ç:-#7l3mî<sBæ[Êq»Þ¥\þÌTíÐæÿ®ÐéNÅBiÁ]#uº 3ùÎë/þêþá/vé0÷Ðl
-ÄÛµöD9`Èï¹/Ê09cÚ¹@a ø{)áx
-©p3um]Á
2¸ûÇ'Ï
-!Ð`±]h½1¦²¬©É;RÕßE
-Yfdó_ý©tÆáCeîìvÍeØU³.h¾Gj8¦ì lóÚ
- ¿·¦©ànBÜÌË| ¯³%ñçf!äÀ?Mî»Lw⡳jg¢´ÐFÁ°V³§°Û¸ñÈõ'÷NÓ¾:õEÅm|i+Fg -?xÂò¨%JÜÃL+juåï.Ü3Ò/¤âõhSuî½uQr·ÝÄÉõ?©ëÝ5ä8½ÝìPºí^+ÈãþçjÿNµàÇÙ=°0´V àîïíA&ôòÞvs ('QMËÙ¿]©¡®o»¸Ù`Ôvä"EGÑ+hQë÷jÖa¬k?t±F(iÀ\ÚåÒgôpk7·À¯QB(¼ò!ÞÚ}üz~É<x5.ÄM+ÆÆ«ø7Ýh;#,TÒÙþÑÅWé¢\,±ñÀ{Çø7
-Äu}Ë1b_öVrTª¯UR®ØM9K~ý®(bËèw+Á£´d:%iÿænui;~+`y0»gÌ»ãÓA4eW¢Á:À%¬Õò|xn"`6¢)w¹XbÂö8Ð}töé°×?½BÕ¶høiõ0¸÷ÎD8¿dü6Q¥,DÉ;¼ e°f:Ï#¤ý§éìUö7VÃ'çÍ°Ãõ¤år ?S/Vð"[eU³¤qoeúAç{µÜÅãzp¡RÜÃ6½î
ª¿'|$:2ßÁuÀO$Ô BÕ!
-y+t¾¥cµZvÀëõHÒ½äú^ç¨&3C¥m¯v77I1Fú
-&ÏYzS«¦änNZÏ ¹°RÖ«»_KZþ¤
- #¬_cbwö*hÿgìÃß1°>
!nyäûÌ%2ÝÛUgi)42/?´²Þ`NÀF`åHצ¸Ñævz+.Ð(@Â
-ü9ee°Ô¢gjÌÅíU(5Bw;pÆî³"Û<ÄéH5Øþº}/OÊÍÊ)YÁðjÊ#Ä2Ì5s¼Áf ¼l6³¼:¯GBú?Ñÿð²Qnó%CȺW4ÜR2ç¯ÌÒ;ñ\$¹j=t@4 at 36Ãa¢Cágß«¬j9c{ÊaÄ4iæõÄÉ:ø9Q
-8+9«ÞnßåÏlAàvﯮ|ià+é²÷H
-%ËÚt²g»WÇÿm
-S¹ÖèfÙÆ@r{4Áb1oeA>ëÜé'T¼¬÷ÚØ{õ(6Î"ÔçÁÎ ©¼ü¾5:¼YAQã7x»¢¢=f÷äJjñTëdh®Ë¯Y3Q8¦ú§Øµ2ñdl·vÈ?K7saIµ@©_]ÒÆïÙJ¼qp¾¥ë0I-pVæ~7A)õªdÉeoÚAøõfÓ
-pÐØC¥ÈçÿáÑ~hÃpÜ£Jý1¡ÆêØ"`Ó¡¯¶ÍfSõ|¨wÛæöÅ
-$èõFT¬*ñ9bR<UNÞiï¿ÀÃþ#LCj¶äÖNÓ6RíöÓÓcÿ@ÿ6 ØÛ_XàÿÛE«LÄ v6û²óð+PÔ
-g,¢Ä!Ó¢êõØáF#Ñfï)§5$îìÖ@$|¼¢J`e È÷3.½_É6l¹}
-Îð}{¨tkê =¯»/
-ÝqùÚW!Yy`Õ¥yÍIà#9\Xö'ð¹£ZÂ_\kh¡~õçÓH¯jÿQj/QdÂEÁ>1Ó
-Yz,4¼ Xõl"S7MHg@å¸Cжü÷¨ÎÀÈyG¦
-X^x÷æ5=DÌÑ}Ówwzø/«o¤B¿ÿÏù0í
-бoTÒâÒ¦E°EÝÿóßøÔ´ï¥l*¡ÐMô豪?´ô/äèÊêõÓ
-zWG¯yV}Éݹä7pß5ÈÄ)TåËHRÚ¬·.ú¼Ñ1;NXñËÛÕ¥Ðèý0ô~§c׶¹6Å.½på¦òm>øjªjà¶!U¿Wâp÷Xu^¯þo LvºöÎ_
-µZWz(ð¢ÆKTå¦E
-ÀùÃmÛõ²;ÝMõ¥£?é
-C-dÙXÓ&ºEV FO[ÓÐHúÐàçÖòn (µ¯ÛP_Åæ:ù6=EÑüÎÒY½¶A.rÜS
-LJ¶ÈÅ%ý©Ïö¡ç}ñ¥þÌÜ©~W6örH§HghApPh³aøN;Ë>ÑCöç+²DÎ] ºG%¥ÈL2`oýþЧêò¿V¡Hú\¾]ÿº»ßÞä¶êkþ 0][9aóðiäB®8´%Ykwíܤø6äñFlU+#?g`z+Ñ£D
-BV(ÔGùrÎ9cD·x+@þ´%^sh®7wQöªlÁ°Oêú³2V.xâ|nâÊì8ÄìðÜô¤!¸i4n|Y\ÙÖ¯MÐL,ü¾Ç¡§)±à^~ËÛ÷°ÛVô8þ¨·¬¯ø¨ÏáËñóÌ1Dr)K&YLµ ÷øTiX²
-òù9ÐD ÁÑ]×oáÃ`Yw
M{pe²·ûsðBÃ%>
BÉ"¨±n_¤P$f÷îpfâë(1éóDK-Ûc$É7kÖªÖ&¥}Æ ÏÇÊfD±}UÂü@¬¡Y×qdåû9
-±´M»9®zIü°5ZÞtáy<eI»©Cogi?;ßeÀcz÷Ês(<&@
-ø±ÇWvîÉëÀ¼;´*(=¯ý¥4Äýz±j-h=pç7MÝÆrj}w8':ZòLóÅýãº,&bÛô¤W3Pâ"äû?ázè ae.PKP3GQñ%Ååe<J|W=B¨ª£Ð¡+Qû'÷ÜsvÁ_ÜCpTkJ=ãW©¶Åd3¨³+&ñÑ
-ÐÖ³êµ5Â3ÝJª§Ø¢2
-´òª"
-vã~+4æÁµ©]ÅP®h/£â¬1jòÒk0IøQ`dïBçÛåK6S±Uï=Þ=ñªIËýFX0lÆ#Ñúï"_ÏEÔØ'£%½õ5|ÖοÆ:z¢ÊÜ0µ>|úC¡®×iud3®DæP¢æl{[ðx[EÍý>Yìü¹2Öag|ïþÞÆÀRrÝTw&½r«Ð²È.Ûd·6;È'ÌÏð/.ètÎÓ¹|IBà}I>âÁÝ?-¬$uØUZu×ý0¶æ U
-nðIÚª±¯F}=:âųÙ\±±úÁ}0~83²R)óBë¦ÞP³:´þXÄêk}
û}p@Iª#©)ïnߨ=2Ñ8¬z´Ã8Rÿcõþìî³ðC²Ö
-2`ÅÙõäIn@w)Y3Xú;²
-ÎYfz¹öÎ"¸²ì¹\(6ô¬1×DÙ^ÊuX³M[eUàhé\Ç@[s#Xf¡¼;{²
-ãA
-'8÷rÖ:ýdƹR+ÞLÈp
-ëjÒ3öéo%Yq-]I*,tóxØOÊE6
-aviÿ/¤§ßr:Pf#°B4×ù¹W¸âYüzi^!¤ôÆ(µ]W!5&®TiË!Öc#yhÜ
-"Lzüɽå*{®³¸¢?(V}+"×P{=*Í?eÏìäã?¡á\Ñ#~:¤}¢g\Ý\جªÅ,*iìc¤ÔËl¢²éJ:ù~fúCÕôç9NzQ·=éq¨,
-t²úµ%E
-îé<8þAt¼Hm©Tñ¸GÛêCÍZÕ8ø¦ ï¤ô
-öÍ×Óc°çáZA:¿yjcj7º§Äøj>ô8b3óuSb×áº`¨s^ü'·´ìæÑá³ÙthþTô£c rº¶
ï«2%ñ0²¢üzȬìç| £ÒìI/+[ÒHû}á*sÃëfWÄùeG}}DZBækÉAðóµéöÅØðACô|@{¤½dcÛwÊ8È#LpÝÀ«zßMÃñOªy6ÒvòÔVìã]÷©ZSà
-©Éâ%N,þ*ÝO57`^P<GóXe
-ô3
+372 0 obj
+2579
+endobj
- EgtÞ5àÖúÍbGDô¥[Þ¾î£u<ua£×Å_Ñ Q¨öþÛnÞ;ê¨riv(]¼Ðâ
-äRnVy
--cØãzä±lîäÎmSS¦Q3
¯¦WÐìVÁIöe²+?dÝj<¿ø0@*hÎ`4k²7ÿ·Ö¹ÈAùJPÀxQNy½³n«ÙÛ,yO)ü q>/N
-£1|Õª£
-`@¨®l `¢0§ï¨÷±ëö¡jI<k3e/<YÃw×{O[>aÛx¿²d;:IéËü]ÄDyêcÆ^ô
-ø$¿JCÈÂGbÀHR}3ÔK'2p
-à°¨ÞÚôPÁ5'.I]áDª,ªzÊÑMÌÁp)¯êÇã¶
-ß#N4w8Ï,¨yókaºìè=~9Í+Nouf¥«ýrôöPÍ,Ü]S0 mý§gkÓ
-°Î}|pÿQòʹ;Õ~jP°¯GaÏéaÅÉÛÃMVï
®Íá2¾WP8Øri
ÿ©ÝTùZ&ÊáèøE]½âôWßÐcè ¹ØóÆjHê<,·ÔGßJ"âDÌJåeë'ÁÜÙ¦äï9÷ØxJ¨=Ï C# IL½Æ¥}5Âì0ÌöaÃxØyíZ¶ÑóàXjd4Í
-¿Û$qù%Ò×î)lA+øHg×öo<ÛL)¬=çEÚàK¢üݦv Ã
-C¾=Nþ¬VaÕïkBr)U*pâÍéùKjNc¶¿SòÎY¡Có½¾pñ^±Fêac]ª§ó?½wy QÁrÑжÐ=æ®9&¶^ÈA<mÒK<w
¤2ExPQ£½%1ûEÙ:£ç|ºÝ·ØY è¬à( °Ñ]Ð2<AÆÚEt.Ï7`DãXÛ»uÚ;hK}L)èW륩¼SQY+Y§ë;òÜ¥5 d~®0S$,ü
BÈ£ã`½SKþ/ßñPÁo?ºµ ´1a>tñ
-iWìÅnXËüâcL¬Æs
-;g;>à*ª§<Mõè)½[}Ûµ(f]j#§Pÿü
-®àù£Ó¡Tò+fÜÞamÏâþd¤6`ÿìD»µlÇìéÔ
-¶a(ì|jµ_éh@Ê[dnÞªé9·ÈÖEQ§¥Mp«1¤£³æ%GÉWð©pËâkÍÃÒfrù!$ÒïÕ³ßE¥ÿ29!ÍL#×Ïü®iv
Ï.WÔáº$Ê×þ¬W$kÚÂÍ®'³AíLÉr¦ "x¾ òÞ;`¦ÐÊÔy£\DñÙÁº
-ªÚ¸,æÀ¬{+´î
-7aÇä·¾!^pH»ó&S'ÿD{Dz:Ô)íì7N
-6Å[v(
-2ÚÏ®/*}Ô§ÇáyE.Ü6-¾le²Pmè{:UiäÓ± ·FP¡þ#ýß
-©êy.:Ù
-cù%åÏ\ @~<ô¦¥mWØ&bM
0°DZ½¿æÞ¡¢>öÏëUQ¥®üÖ~åÉàõf¡mtbB(@×8úuΪ{Ó<ìÀ GÎo2q%YÏ[E-°O_Ãõ(=E:¯84ùõýB\·.f¹©µVzi¼"òzôËzä.{O9¤Þªhe(âóds-`$!ÏA°ßîmY©ý)i»,4Ú¼sÊF©(³"¸ùq\¦uy¶DÁ±§ä°ªÜ|CnhY¾¾ÐHm¬'Ýü½1´ "Ï$ 'Õ+,|bÊ^ W{QÕN
-¨¬f;`"GßÖ
-¥,£×Vª]ÿ¤¤*«µÎa¨è6¥%¾eØO¯
-pÚ4Ð{]©¹ اÇÚ½Eɨá|^á³NFK,(Zr½ÈÈî2%eù'2ã;»8·§¥dÇé¨Òj ]â,ÊU¡_¤°ÞØÃuÓç¥ù«*>ÚýÊU¶CÏpO±aNÉkS½²àü])ÐçöȱðÉÝ.¯$Ó&
-"e¬öe³ù.T°*®°þr{åeXEÎÑÛLÁ5oµÖÇÄͤãݼÏW?TRåâx&OWnñe'ÊêCáå ]2]¶ù·ÀÛmÍuûëvò²JòEû)}=#
-.@ÀZPòäôÙ%K~k
k.<\ö!ï¶ÅeLvìñUüÈ'¦ns¶Õ1'ú^¥?¬k1 ¯:Ç&22Òí#óǦ²AÂNZMb-üÈ÷ì6Ôn+[É@Bù«oL at E
9ýsïíµx¶[ûÛ"Pt-*ìöÇQÔº:æ(Åf÷aÍÃKQ`íÃ&àõ¿§ÐÈkÄ^,Gªý®R<][óá¸s½{X¦_q
-$ mJ<!¸Â15¿!!)àÃì}sûÆ)^81+ne]´a.w¡ÅÜ~BH_®²Y&´$Êk$ÁÀÉäà´X¾QõçIx
-ßKwmZh]®òå= \òûS¢¨Äãø
öyPy
©QDMïÇfýѱW§ol^#WY@ÃQÆTÓ²ý9ÄKÒÕóÿhÞ|´òÃ+ýòßa|¨ÊqÔmÕÕdxôëK
-\õW¨åßLCÓDZkø
-1y·Õ¹P²Ùå£orUø\YýEÁïé¥ôdX×{<°×2ø.o½NNkV6ùªA áÐ%±9#J]@©M3²J¬,=Ù¾ìN;ç|#WçÐ-Þ/.
-
-t>[sòÞvT"'ùuº¢ìêgà{ÎðZÕ
âVÙä1uÀý1-ëÂ1ÿùûZ®Ð(&ËÜÑÜØ·õ,í/ .·«§óÿª¬ï¥àü´÷eÇ
ãÔOÆø=ðⶤö
·«ñQkgÊ<ù Я
-J¦F$yõ!¼b«IK>`
-°_òîë®·I7fs/í|¯qÀD3¼?³Õf¤nµ¸A¥.+ÔÞo³¤ô1BEÒÑmtýîøî>0ù)ã¬*¤½aN£÷pÆQ.ÆÕçÆqú?*5mÄ@"R°nc:eE&ÇH
-ï¿®M²ÍÏþ;¹ ó¤v½èÆÀ`ÄÉ ¨²ÃÞ%Kë%¤®&p<2ý¬PºD¾ÌüZêk|íÌìÝ®0ol¢NϾE8h
-¸VƵè¼zAAéX±¶åVÅZ¡CÏ]|LªÈ¾ÉîçD¯§ê¹i:_¯ñh÷rFß
Ó¾2£èÊ1½\µ\ØÍäÃÃß²\@ȧ÷@Ó¼Ò+ÏmA3¾×ô*Àm¥ÞNâÖÞgv
¿kÀ5ÏçÞ·ûßÄØ{DHÈ?0UU¿õ0Â×êT¬[ÛÙj
- HÔÚ|ý³_q_c^Vf¯B¹@oÆDHîiÉu3nózÚ^dh(L¶«ÙTýóûÔI§ÌDBÝÜK°uâËò1ÁÂWy¹õn=`N¾èÃmG-Áãßµ-øÒH*k»ç@ÔÁrÔEâZÚSÛLH÷N<%¡kªêÎrÔ2uTp4^4:Y'yÌõúoÃÌÔÕOLÉy¯°W5ë·¬5Jÿö6´øã²b7Þx2À¿
Ð*Ö£nf=K.£=æL á¹¼ü*Jã1)@£×Nº)+t$MUµ¨bfÊB
-¡¡l4ðÃTj]"ë'ÍøøÎF"²÷K¤¯Oî]x.ã ë turÄäåó,R]Ó&å<åaã˶±øÝÆ´2>Ñ
-}²Åwðó¶Õ!å|É樤@Ö½ãZüý¹Ø:1%²^¿eÓÄá)cre
-%ÅÙk;^µÏ|J५H
,ïµB
-Pj3×=d*^cñ-íàð̧<XP
-Á"F~Þ/.`(AϺÁQüG_÷µ-xíMº<É |0]_wÕç{ÉüQí¢OYªsâAãTBDu3?ëé]ì¤_V6
-Ùb`Òñ÷dج*ÄÖ ÄÄhÃf$ò{j@¾E&+75³)¶k\ïE6èÞöSäâNèí
-þµ4ùéPVáGqà·âú·^Ó£y\Ïs¼÷ø÷¥L.kwÔµ*Ïç+Q®àÄW^àYäÌÌsÿø%£n¸*y+~M&--]y±
Î8¥55øÔ Êù@ÝNêpè{¹ò¯æJÄÆçjMS¯CÛW¦]}AâÄ£Û3ëâçV;¬|KÄLÒõv¥þaGÇIwf¢
-#äJwÝ2['è;û ?E&f_àyGÒ{ >Áz60KSG£±ñµÆèºía¬:¾JgvóHuÆÒÅjï,T/ðNÝ¿c¯²ñÞµYW:Qs§£Soútuø±Pßh-èTûyñkçYùíËÉÌk_|
->g³Ï-ÙRêü«É+=¬C 2ùM^³ÝWd©Ò=.äã,`4!>}ëG/pjsæ²ö{öé쫧³°ÿÄÁIàú¿içSsk½&ÙJ 33 ÈeHý1«¯ô½ëUÏ ú3øç×C9t´;WF]êÜÆ.PÎ<¡6ÉLl¿}qùd
-
-cô9[×=ÙåxΰTð:¶ÑRÀjZ.i±¤¦G=<--¨6ÀsÇGI,(³iVÏ'¶~¹£
-a9MR3¿ =qÂ8¢;¼íÌX´Ã×
-I
"üò
-Kqç«É b å·«CKoVeÁ5ÒǺY±·Þ%je»]ò²RVÂë4/ýxT»Ë :I#ê8Õ¨6*,ZNl;pGÆ·M}¥Æ¸kx²Ò+üÓd§Ã
-TÛä5)é;~¼nÍ<Ý»·LþÃ3¼º{äâÏ*T¶M/ªÞ¼èÕÛ¢ >B¤L¸7 TÍLàn¸âÖÉ¢&8ÉïÝïy¼F;ùwålõN¿êÐ
-w¸1îBfæ¡´)õ-iJ*vÉ{ÙªZ¹Íbø-ZbëBcðU+WÀî§~N©-C>¦qî4?>3®¯YÖÙé~`xÎ}ÆØó§d#øÏÉv
%CkѨoRÒçF¼«áøÿ2o7Hr{Öç2#:3FÉ©{Ãq%yúÈ!õæÜv£Çsgòm
º$ȸmx8¹ßÃÀÀö;$çEª~¿ÿ¹{^!7õê\_è÷[Jlí̳PõË+í:
-øñSÓm:õÔè);Ld8@²Ìp¸Ñîaêس,ø<c$s©Eä!ÝÙw$~ùÄÚbfÀ\¾Ü;÷iñä=ý3×(ro
-{ãN!ùúÇOyqòªv¶ì´asx+_1I!s}ÇêA3 çF8G¡; ^¢m*ñ¨8Ë<¹
-°LO´>6æ¹xà<ió#'ú
-ÁÉ®°½\ñ£î aõQÂW¡LGEh³ûGöÏBS"Ù,¨»Ø<à´xÙ¡lÇ÷GÓ².Gd.CT%0zz
-¤¼F:&"C&´á½ï~!é0_/Ðq +OüáêÖÕÓ6aKßY±>5
¢ý gH$NÄ/Éñ«~¢¦¼#µÈ0Ç7ýÝ>(Â*ÝÚó4ÈiÙ¼¢±.3L4>Å×?
-ÕÃÔ¡´ä¬,W#±¼
-ßE±)n"äDµó¥
-Ëå
-GO¢\EØ.ÃIoJæ®øºv)ëé^-Ͻ/A,\ÙåÁòÍjÎZn¹hGþÚéÜv$Tæ$Ù¿iÄÚ»A«ÑZý%`thøõ=õÛ¼;bÎÁdÉ´æ>Ëö;dzHÒðs{ÁWT¾.ë¡WTGÅk¦²Uw_®©zÊÃJæÛyW.·í*x{2aÛ÷0~.>Ëíî©Ì?
l¨08´½µè%Ýr#P\¤ýÑÙsÕlÝCdTß|¤_ Cu~"=YÜÑÎd/¾5(hÕÙ^e®DR.ý
-ÃÈ;æJ³¦ã¨*²à§'R1ò«EHû
-×/NÿmEÜ»@yn&ÞÑ
->»ä8*+dKÀH±Üoÿù"yÄwÐï©x
-KÙA x²n÷ÁäÄ^a]k¬ò:öpÉú³sÃþÖ·¼\| @ÓêÄY¤#ô¬Ók[]Ï üÒ;¹
-$ÆO6ÿ¸Õ?þÀ¨tJL¬SvÉ*ä&®xéÞõ<Àq>ñ~w©½1J> O«¦\ÌÅ÷<íAi_T¼þÓ0¸îðbó0HeмØ*@Á',À·XDé΢59)r{DÝ@ÚKØÀeªqõ2<²Ñ×øøVíÙ!HGùß÷-#Ä^°³»ðÛëºÇ%7V_/'Ä»r+ÀuvIó¬°,ßKXÊhAÎjéZ';:ÂéC;Ör¾)}1MUÉ0¼YôNa#÷îî?¥MC¤¨(øÚT×m*co&T×ÁIËF,HúÚ§2ߦ,þ5$(H¦:º]hs_T'ÓT³Öø ä¡ZêÉÈó¢JÇûmb(ñÂL@út
-0Uk(fªõ@9F4ð`_X¬î'´Zc\Ê?×ò)ÿoä~wîì,þß[sjdÑùXå-§
7ÉYG¢¢Ä'nG¼e¶ªqÞÜ¢pù.£ÐèÏ°CíÌõ?À
-Îòj8%r<åóz'&D at .ÛUdëÂo ó|ØY}\ÎJ_Ì6ÁUèrL£+~²·IÈ¢|gð«cÅÄ°¡:§íÿ<½eKoÄuE¢%
-P¾ÿ3ÐZyêr55ÁÉ;áNç9§zÒþÔûIÝJkÕ3é9ÊvÇ ¸tÛ
-<ÝÈ°ñÿäi<UÂÓ5û-Ì¿:PÈÏä¥ý<(¤®Z8¢2Ç$1ÖÏm
FJN`@Ûõ×s%ÚŦy¾T$Ê =GLnV
-JÇ_â8júôSù¾º³Ë¾¦´pôØ®R
-þÏF 6=Ýü\5ï êëX
-ÐfÔ®ÙiP§c{
-îÂô<öÎ(cíí
-¢ÈX°5-èkIµWlÕ¯câë
-ìÌÔhvÌÍç`åcìÆaï$1¤àf_5ì_Ðé~Cp#ÍTl¤ÅÁòª²ÜÙ-S@õ8ÄÐ\7¥ûÓ±ïEµºâÙ®'ùzÒ¦òÌìÂø9Õ©ñX.©( ÄÃ0êoäÌø
-ÆB¸´Ù<ì¿
yìÎírinëºT\\9£`?ÀkMmz5Zªåí,AV_aî;6ª·Y¸öv]ï&S±X>;;ÏÀKcpÙdWÉck+[âMë"9ä¥æ%:ÒYÎûªzãÕ
êé!EÎ)Z
-êQP7ù¥T&Yù|£QÔ(z)åÀFÝɧbÛqÓGD¿LºâÐZg"çLµ.#ßÔ).ÚtO;LG-
-©"DÝ
0K4¯'bçJ%¾çÇdz*ØãÄ!ãà¹[;(pv/¶3£
-!)þÙ¶×úaG¡q
-È"¨-ÓÕè¢xñ(]Ê£|ø°~5¾SÙ0ϸT^µAjAfËÂô® ¢s~úZMÃèwY¸ÇqÓÃÚÿtgýO:!ÐâR·¼¸2ŲWnês÷½kFêÅcH
-*zVùÛÔ_ü7¯Æ?Ô¦
ÒíQ^c*ꬬ¡}zåßùËkÁßT»Zþ,·eÿ¶OÎÑã£;ñ7{`ªæmO¡nfÖõS²f4ø,¨[ öó¦¥&³às]4CÖÎ×aOLü=ÓUè{ß¡~ô®MM&ÄýìNò Ñ|®¨y¶\ã4ÉWL§j,ù Û^¶·ÖÕ1J"e)bä1Aûè8UܯnÇ&i5@V<-Gøµ$©ë|cݲ×óMT³g>ý¡ÉX¶ß
-AÓw·,ÐtlEvÈ×ÉLèìe®^r+âú6|XøÌÎe&UbʼÏèØÅõDjûÎ'õ¯¨Î*~CN½«3&{ZèÒDgyGv£¸£Ú¹²EëPíá',EFþbS":q³´¾m³¯SÕCêB¯´-È|ÓîÜXx±¶ÜvC/±º:^>öäWÇåÒú
-pÇå1agqK±ò(S_a¹ HD:ºÄ¶¦Üó¶EÞV.gúãÎÅîZjÜðÿ1(Jìi Éx×ʼóàÂH£ÿ³¸É_:AÿvÆHÞõARñætSD¯l´ÁÚu¨jè¿JÇàþ)xõÚV7颯ºâ£iÁ|d#ÉÆ
Ì'¡ÊÅ}w¤Æ.ºÄh¬¼N¢`ï/=D¨`!- ¼Cz9)_£V.ÀdÖ ,×r¥ìåââÇúµ.v®þÞøúù"ÙzôÊà Bw `ýþâ¥UÀ$wÍrÉ$èMúÉÃ;¾ãËXÎpwÆ\µÛvÙÖ&S³Sñè®æ¾.» ÙKÔÖû6ÞËPtßTÔSçÀÔ5VsWbã öÅô§}Ahì|B@ß /I\d5Ò[ ðÈlìÀ:ZHeE/9>zÃv¹©ym4HeÜú·p=óêeøm]}NسEæçÕ¡ã·JD¦þ¥O~Á)kë?.êÓÎ<À»ÚCÔ¢×>>ág®
-H9ôâeïy'tòwë·à<;Ö·AwÊúk¯òÑf5Ì8aö²Àðʤíê+
-1
àïÙf6h ]a"~Ý_4®3¸(Ò}üo¥öXüQ_(#½Hµ51®Cßøh&^;3;ìÔZçû²«>Õ5)ÂçÇ)Úq×
OÌ:Ä»ø~G×Z=4 `.¸9ëÛ¿P!:9.kÄs\áÖk=«YïCc>ìu¸_ç6¢ÎͲNà|¢
-
^תjg[vüãNµøÖiàMÞô¿`ím4]®´åø²ËS×ÙwÃØvJVgßÉÀº=ïz
-9 B®Ì2U¬HKû§©3Né¨tñ8OpJuçÕ½uwïݺ¨
¦Â¨ÈÉ5ÏM¶Þâ裬{ãrå
-ª]cïdÆÎ$æy}òþeÎÔæ9©DÕ¤µ`áu]Ó(c<ZòÖ
-T
-¢~N¿ÿþ?ø¿Ø8ÙYyx¹:[y8xØyz¹zØAí þ²ë
+374 0 obj
+<</Length 375 0 R/Filter/FlateDecode>>
+stream
+xYݪ7¾ß§ëB·þí
ݳ½N{ /дPBrÓׯd[flïJØÌmY?>ÉYþ¹|]Ìò½¹Ú%Z¿i£ßo_¿[þ¾|Zh8ØíºÖqgÌÕµq³Ðߪßþ¸øW¿Äè¯qù²çêó_Ë/XILr&^Ôï_-Fë»w×Äbó³CULÔïMl-ï!Eü-bËsËCEêw+£õÝO"2®ê¼5a»%u¶¾¤¼D9¶ó³òNç,%\´HJ¿Yx{ù¹³ök²¼úØí#Û
` º§ÄyzN-h¢¼¡'oGôÌ&Ö×¥eÌÇ·K°(;õöÛòÃâ@k·ßÑFÇ ä~\Þþ¼¼¾]>8³Ò+ýl¥®×ÎÉk©ohÎøZÝÛ7¸¤<b¬_Ñh_¿&-Ç®ý:{g[¾¨ë¶øHa¦y0ÛDï*ijmÜ
++¬UkxjW¤°uv¼Zö TànUN0×-®Ç¨_â£sGxX÷J¿óD̳àN
+r, "BSð¨%<Ïê±´÷dõxåÿÕ9-oÑa
+ÌKAx¦åi¨ý:bËS
+ÐXÚk|0\7
+Ö®åfÜÌ®&"Å<¶è6'áFÌÆëû&Xèz¤w´Fªà>Hª¸í7vJ]6)\AÐüh<¤ÄßÑ
ÐHÓ6¯-DÍcõÏãêò@¦ÎÁCË¢ AIobC« )
¾E¢'i®U!Ôadë~jñ¬§UÿÀS´d±{¢/:0䦬ß8ES®xBYRPÉà±ó¯Ústkæ!]©l{ªhrÖNm%º²8T%PYíäkN¹gþ;
+÷¬
+ÓalU±§~È @¥¥'=QJíNm ç*Û¶¬4ÞJÚÆaü ^«SUN
+pa¹]*lÄó¬²Î2ØIN%iÚ0¹3`£%¹ïÔ.WÔaõãÄÖ#$¡2[¤:a~²ÄeÅ»Ý$c%Ûz/nÆg.¦½/b}èUtE=ñh«ÚåãL
+b#:ɨð*cÝÑes5¤7ÏÂnvºSn¶Úç`ºÍýýY%TÂRâ=érK2BÈ¡UÉcWºXúàj+Ì&âßi£ Æü
+û:bRLB tÈ©;Vߨsêa2
+]ØX`tÜ÷ÉmÁ±¿wSEen.'³ý¾zîÃiÀWu¨ø'dQÍÒA;´ËÖ¼lýDÐXÈw'hâòÍØà¸n§!7-ÎÀ
+C<øÜv±¥a¾Ý fZ
'üB
+(8½õÊlåêUÙ=ò¤ÍÀI¨GÁá>Zã£{xë{pèõƯsÜÀLÅ¿jݧå_Ãå®I
endstream
endobj
-371 0 obj
-86536
+375 0 obj
+1775
endobj
-372 0 obj
-<</Type/FontDescriptor/FontName/NimbusRomNo9L-MediItal
-/Flags 68
-/FontBBox[-200 -324 1229 964]/ItalicAngle -30
-/Ascent 964
-/Descent -324
-/CapHeight 964
-/StemV 80
-/FontFile 370 0 R>>
+377 0 obj
+<</Length 378 0 R/Filter/FlateDecode>>
+stream
+xÕZÝì¶
+¾§ðuL%J¢$ (°Ïô:í}&'@ÑS ç&¯úµ-ÙÛEnºµ%úøñGô¨å÷ÛoZ¾Ww½ zõ_¿ý²üó»å¿7uNÅ°ìß¿ýzSÆ@CÀúyÎïDÿÒßoîàâßÿyùËËÝý¢ÃòþeùÁ¨½òPFû×åýß·çûí§c<I@§ï.ÉÑ$Ç`Ã2:|¢Åè(¢QÝÐprü÷¿Ýú`yÿFÛ3üC¨ØpH¸¶V²óhZVôy5ãËRoV»`!_H4þ/©eöys´¯<¤zK+¼Ðz¦$¼èþ÷kR¼á¦%ü]à}è[Õt¬YÒD$GW¡iU3!=êIc5]q <²Õe¼·u÷Ä>¶¤ö?Ѽ½f¼lUd; EK¤1$ß;ð2Ævº:^üÞ3¤lw;A*[ioðÏ~á¡q¥?èOç½WùÀ;ÆB2]eÝÏmDx>×!åØ$ì*¦ ÒãQnzÒ:ãÈ>ÓSÐVba Ñ×¾Ì ¡JìÙOQcªeâÞ}ÇZO-@ádå¥C|)1Ä´½ìÜ8<3V`3Û§úgM¿î5qÙ.8c-Ãåzò©¡¯'ÝCtìW{tkÎNt»ká§Nö&Y¼jâë¬öD×Ë×y
&û__)Uøå÷|Cbë÷²ÃW
+þt_>ÿgùÇ1}`9äV¢ãm£µÖe¯A]%ýÑ|`9wU_¬«5Í`<«Îð¾±+lëuw³Ý¯ønõ N0c@~ôÑÒ5"¯d|½mYÈc¬Wæ
+^ðòò9OÙ·Ä.|#Ƽh×ØÛI0
+Þ
¾%t[T'¦ºSýq±
+!z½N(ÁÝ)õy Z
+÷9±6*îÒ)7"¸$mtm´Èõ<K%2yê Àz*.÷}Ü_%UÓypz8JÃ\°}FFßÆ»Þæ»=:'D J >+`"Ónâ[)þªl«)6ìk¨|Hmd
d@ÉÑÉä'SÚ
+>Vy»< r¡ zr?íÜ"ç´Mi^BÙtUÚ_O2VNÚI®«'ÇÂóhú'<äJ^+aç.Ö<i\·Ü©ÌÍçÚØÔãÒqÚèpÚ[»YçpÓËL¯&±4 Rñ¥íÙJä¦%¦¸ý±EC79þx¨(óäv@:a®Nr8÷7{JËuqÃu6ô]¯µÒEq;âAT`Þ ½4½ÃgÉ6ÑØI4ûR·ì¸#ä¼ç
+Ì<:¿$s¼+o[¤ô[J1ßõ´ÜâpCL?ä)nû#°lãܱoQÖØê3ÇÞÌ1Wè¨G½Y¶n§SéÚaêòY9 xñr'L,3¯.AWW9EºÌ+-ÑW̤Oöh½ÔâtwÈrµ¿mW<p¼¦xøË8fRédU»ü4íUù8Aê_§ÊÁ²R
+?mäGi8q0¥qGpJP:i {8m ~Iëîênú*÷
+·o9xðnK¨C"¼k£×örhu{CvìÒ:UÕ5$_6ÿâ7Bô¤¡#é+3ö
ÂL!èÎãó¶¶4áb§¶,ìZawÈ]ûD$%×àkï%÷epÓ3
£Âª!°½ÌÐ=_ ³TéKuVì5¾õóKK3líÔ¯Ö"'¾¯ä)vhü/-Ôd=ÕöTZ¶%8,ë¿õ
ÄOسK¤A÷ÇãUäSÇ3²çåRg9+yAòÁ
+E7ïì9ײ'N¨óòr/ç¤xû¬Üù3ôéq+ï½"F8ç,ÁL>høËÔ(¬bÁ´WßrÇxí;Ƥ(ÇT¦Å`Ü©néÛ¨5=jE¢jWxMMf5ÿhXa= cé%üæs_TÅíʱ{)¯Bíø²Ç¾n2,o6?»¨ma6ÿ¸Òæü/¿6Q)LÞäfwÞ?lµÉÎaPkçm\&p¸87fn6Ä
1µ÷sSôgÙfaÌ)Í#¦öåÄFØSòâº@&ú¾9k«µÆºbF]Ã`ÃUñ&CKS$Dn¡h¤ìäüÑ×4"פÃuÎ;ö5ÎtEÓe¯ÚÏúMIÊÁ£ñø¤E[Ncô¼Ébeo¥ý^m]é·a¶9<ôÆ>*wi%å ô|ÅSkQÍL:kà4Ú3sñH7^qßõ^«¨àæÊo ©@ì"hù~G×|fx5]H¾4~NíݵvÛ#*U%ѽÙsµ^,ô¥@(_§ë¨ª¡´Ep?`Ù¬# ó¢eøhA[S¼J¹ÔDFpÖ ÈÓôÛ}I¦ÎÊ_b^Ò+ô51"§ÜN®èȤëüspYCäï3Iûë?-
+endstream
endobj
-373 0 obj
-<</Length 875/Filter/FlateDecode>>
+378 0 obj
+2353
+endobj
+
+380 0 obj
+<</Length 381 0 R/Filter/FlateDecode>>
stream
-x]ÖÍnÛ8à½BËvQXïOHY²é iÀ±Ô@#³ÈÛWGÎtø®>R4éuw¿¿Ï·õ?ÓåøoÕÓy<Mùõò6sõÏãªi«Óùx[ÊÿãËáºZÏ÷>¼¿ÞòËýøtÙnWë/ó¹×Ûô^}§Ëcþ¸ZNy:ÏÕoÝÃ|üðv½þÈ/y¼Uõj·«Nùi®ó×áú÷á%¯Ë]îOóéóíýÓ|Ëï¾¾_sÕããå_¯cãs^mëzWma·ÊãésM]óǧã÷ôڶ¸¶®c½sSòü1ç¹EÌYYÙ
-ÙçÜÖÍùíwÈæÒ#rbNÈs¼§mܳ½Gçnýþ@?Ðàôøýþ@?ÐàÎìÈôøýþ@?Ðàôøýþ@?Ðàú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_á·sõ~ßè7ø~ßè7ø~ßè7ø~ßè·R~ßè7ø~ßè7ø~ßè7ø~ß9þñwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßátF8#ÎHg3ÂÙ¶
-lÎù+Ú²rÉæÿY,h6¥;ÑÈDt8.Pi|ñFv ¢±+íåK÷ÌèdDTôÀg¥uNmÉ-^F
-̸>-AÍÄNèÄ
²,²éuð¬´aÆ`¥ÅALt&8eÁM³<#artËF{ÇN®tÛáÞ®LvqèípvÆv¼øÎKû2¥=²æn±ö=Ûaîzf»õ1þûåOOgñôË$@;<«)bÏwW<}ynS~y.®X§G¡ô¥)Á°ÔÁõë¨3,uðîÖÙÿdØ@±ÃÿÚ«ãÛ4ÍrùPvcìÃç1ÿûKáz¹â®ò÷p×Ø
+xUËÛ0Ýû+´¨+]ÝC![û@ Â,
+M¿ç*I<v¡E`Ë£ã~w¿Bb&ÂÓ?ß¾¯ágÛôñö£{:tû,%8|+÷J8¼GË#ï¿Ãk7ºç.
tDJ{ {r/3w~NýÉ £îYt¯èd|ñ41^¡¸ftL5ƾÌmtÒä.-[Ä,«äHcwT©j5R£IwJgËÃBª%-;}Âk2aQåÄÄE*;Ãx+wlþEt3läÞþÌ|ÔtOäµõÔ!dÛØQÍÓmçZ¶é=I¯!ë UyS2(²Ù°²ìuÞBÊç:R¢ÆÛ@Þää-ÒÞ,rß
+;c
+Ö2rW"ÞµCoc+
+¶ÈªzY?Áä#hòq;ä(ý:#ðFÑd(½®íRüKíJxz#ùó¼¢$gOzâ6RÖ+r/3Úmfñlríi³ý:ÝéK¬þìÈ¢·èí㢷ôÝÖ´g¹=ºÅ¶^¡|É
endstream
endobj
-374 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusRomNo9L-MediItal
-/ToUnicode 373 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278
-500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500
-832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722
-611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500
-333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500
-500 500 389 389 278 556 444 667 500 444 389 348 220 348 570 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 389 500 500 167 500 500 500 500 278 500 500 333 333 556 556
-0 500 500 500 250 0 500 350 333 500 500 500 1000 1000 0 500
-0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333
-1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 944 0 266 0 0 0 0 611 722 944 300 0 0 0 0
-0 722 0 0 0 278 0 0 278 500 722 500 0 0 0 0
-]
-/FontDescriptor 372 0 R>>
+381 0 obj
+597
endobj
-375 0 obj
-<</Length 376 0 R/Filter/FlateDecode/Length1 1321 /Length2 66915 /Length3 521>>
+383 0 obj
+<</Length 384 0 R/Filter/FlateDecode>>
stream
-xºct¤Ûv*¶mÛN:v*¶m»c'ÛVÇî8«cÛ·ÿï̼sçÎ|º«Öªçyö>gÿÎÙµ«>²¹¤½+#3/@hgâæ¢fl/Ï ê`k&ãjløKpÂQP¨]mÍÿÏ
-8
-Msg =ïÕ9»þÄ]ÿ¶¨[¹DÜ,
-yÎ&pb^Î@K+W^À¿oÔªZ4ttôÿ°ððð
-01·ÚÃý·ú_ØÜâ?]
- þ'Û4ÿqÀß1\¦æcóïpê1s0ÿÍåßËÿÚÿÁÿ;ºÿÿÒúØ?JÿÓÿ5¡¤í¿,¥þK=uÈþqð@ÓÿÝcl´õú?ºþW¥ù|GÿQûß2jÿ/Lÿq½¥9
õ?Q $ÐÓÜLèjjõ üOBÃÞÌÜÙho®ìàüç×äoËÿT·ÚØ»¸
-ÍOÖMZè?Hì
-
-öµó(2ýÛ¬ýÁ0Dvs¦ì+ÃâÏ8n¶ù®Æ3è`aToöðµ\ñU¼~)JDnTàéú6²AÜiëÍrjã°ÏO?òΰ±æ´FD@äÖ¨né-}±ùà\L¦.Pf³ ÅUñ-~úël\RÙ¡Ûi¥XiDEø¼+ÅÓÁƹ÷4¿:£.vÇÓÅHùƳlù3f Ü2f«¨híÁ1BÔ0xÒÆlµã9
-DÁWÆ}J¸ìð3Ðz¯¡ãÁ
-.òÃèãXã×43å¬tñîí+/<ýØ
-xÎÌF×ítæ°/cUI%Áܶ¢¸*açÓtûþd½Ð©úãòDiúð#c.(ÜÝ(ö¦u³õ¦å/rÞ<Õ]hã`g üÇE)ÑÉ£eÃÍáîd(]8*Ȧoa°æ Çuã¦Ñ}t_Ò®}9ºá»½$ì¿L¸ði
7h¢ÎÄwÆ»ºn@¦
Ä7ÊÈ\ÛA©Öê äH+Sª
²ñ5FDO9
-üß+Ãa«GIüo¼»ü°Øa
-áx#Êíé©¥å˱^'RåÍçO%xÖ6;Hý~vÑgg2·QM¸"r¢
-S2ï1añíæ*b£(Rà2ù:+n:c<ÁßÃJÄsðùnÚZð*Y³AíçK§
-|ØléMyYÙÜ7Fí*YïØ:ðôÓ~0:1}åÔßY1˲ç~Bypô|un+¡(·}`u.$¾,Üú)TÎÈ_Hû'÷®÷ÞpéÖ õFð¡ÌÃòW²(Êpz^\e<üÕùÔrÕÝ:n&BNÝ2®¼:¡4ãtë¹ZÞ+Ô¼yó}4©b5P/+ñ᪠8SÇ©yU¦ÞW{%)¦§nÊ×Ëh[}¾ÐøÏúÌ/`Up Ñ>*ßZ!hðÞs·ûáoÇdÓ£¹ÈQü6Âkoü×a_FâWÚª)$DéFñc:Váp¿Fµäpó1CªÑÝZ®ñæ:³FãT®Ë4ùt׺éÛßlß-?ØdÛêWjU#ü{/Uõ|4Î}M+ð'ÃÁFpÛk:ç¥c 6ðÿìQqïOQSã[¿\p53 3.Þ
D°Î
+ÆîOþc
°õCTU²ÅnRí÷ÆUÄ¢AlÎM
-¤ÇÃçy²À17Ñ
-ln
-)ñ¢ gþ
F-ÝÚyý/ÅÌOä#î¹B >ÒÉÕûüy·ÇbòWó»kÍVémJi<øq¯^>Ë~©¢gK3¹Z{Xöë«ß,óõ{C@îPµØ
-¬g qó
-%`ÀÆȶéV>2Òºw ¤î²7ÁêwæÍz§uTä2GV¿oþ¨!µvg¤7°FÀUmË|¨w^,ât£
-&éíeI.=²ªÏ¿¿Q)ÛAû¡.Y^9^ý1¿÷=DÂaØZÖ]૯Í×yVÁß0¼(¸´ÞQJAǬwÕúLƳAFÔ,C3®+uFF
-D+»¯¨Ëý½ 7(û§TtÍÓ¼µX§#V^.ùþ¡yç©}ÖÜ¡2"d9Æâ¹B¡ÄEÙ|(æqxÔiôÊÄ+ï?Ë({
<òüZ¿c.]¹§hK¡¬¶¸öämO©+ÙÓk±qHí£¾»u©ÿ¼=4¯?ÊNÞY%±ÿh,[|RÏ°t þ§ËòÂá=gÔÀòu¶J©7µ"ÿ tíu¿×¥Y-
-tëÁnc»¸CM" qáTws4Óg<ÈîxÓ=2¡b·ÔKCýá¥Ø26ÊA#h-$ªxÑ}@¹¿âD:'§êI}ïÅDηþßƤARunCÙ~üñ÷³¶÷SiÛ§tö@G04WöØT$Î'®8¶¡zÛµþ,u÷5K°ÿÇÐõãÒîÛOÃ>¶¨
-ÓS695c÷òE2¥ú)à¤çOLªNBÑuÀÇçÇè2Tðwí¯î®2¢uÛ[ÏäBèºJ×;@ E9xëc[v&} <îóö½½ä2ÌqGV{V´
®ö»ßB 9a¼*µ¯h2"4vLó§zð©u836)6g߯Wß}³f=»\ä,kãa<
-TÝØ¡R,Q]8åìÚhðߦÈ/lo)ïƤÛ06´êb([XB9<£JM9lÛuNÉóòg¯¡á§D6«Úyæk¾¬n¶áMt©3!ÁUÚî®u0
-£=L¥ë§Ê½¸í¨ôo4j Q#P
ÕnÈÙC7ocT¤S ÙöñUVmçy*ª8À+Nת$ÛI©é_£u¯?èuë7kŸz¨Ö¼¯×,8c!1øùÄì¤nãÇöXEAA;¥J¢î1
-®7ªQ«hl5ªÒ1®WvôøG²¼×jw§&ÏÑ#ëEõ¬S>0;P8¦£aCåÈrc,öÞñN̾%T >Vgï+¡?¿oߢË{ Ûú+&Tðdò£qw@,[tÙ&³ØHe[÷ÀÃÉg;^lpI¸PkM²yK?XóÉnì¸yú½Ù°Ï ¦hUñEWã¶ëàaη?ã@Å}O$Oö;8PÆd&ès28÷MÚmBP¤f
ÂK¥kG)°#åà>ƺºJ8~¢^Òd§P¢§é¼õªÈ8òKÛ6N+°+ÊöÝ,2}\è6ülò=ü.Z-Ç7¸"+ï
-U;}sX7yuï¯õûg>FE*jße¨ÖçM_ûÖ±
-pÈGTªÅ':kap¹ÓÅ8é/áõ0Æy^[ì+ÙÓÒ(±SÉ:Ç$'Ø{²=é&<E¾ô|f§w$Gõ$ºMJZOÐÑîüCå̬Î'ûIµt"_6¯_D¨]Úq«ãx>?º×à{N¦b+fz©¤ÐA- z¦ ½7µåÙÕßmtw;(Óä½¢ØÏv
-ÝC¹ÐE æOÁw¹¤CêÇ·¹â Ê[F&¿ÑÎÄÌa|cyíEJÇã%Ü,á: Yí^cUn¸(HËòd§1DÒ¾[ô(¬áÖ7&*ð¤ÇYÁG{Oà#SÂÛ¢"ãjEç»-ì5¡Ü
-MF/¢Á-κ[$m5
-ÕH*5ú\¾oÿ$'8ü[±,]ÈT
ÛÑLãÿ¡\
-Rgpá6Ñxß8-Ïr{ç§/éæz/üâEm´rÌ´-Ï5i@Íʾ¬·¿Yß@yzµCç¦?
²Vv³P3m¾×8F¯ñGC(×Ĩ ´Ù£Hëæz. Zy±ïÓéò1«êT~Ø{í°·5Läa )$ þP+b~£Z¦Ýá_
-B7IѶöõÃÎìõRÜ4FR5åý¦÷QUÅCöüçço§¾¡5àBý/+Ç}óLA¶Âk<å9m(á+-@Ûñ¤£/³¡Y¢<^ÜÊ;¹¤ihFýÂß^¹$ê9©bV;S]`øWìÒ#ÜÌP¥¾ ôLᨥãb¯W@ 1ZÜé«ÝE|VqóÆÁ=Þ£ãß`lkÕîÝþv`»ÔkÝ©÷i±©¢õ¤ÝÊi@¤Qix°%»ª5l$°|C"aci诲áL[.õÓd®=ïÞÖÒ(¹$äÇ3?Ýÿ¨Ä°b+â¾ÌÕ,?$F®:9ìúfð·
-ý>§,¡«ç
-Üîsò
-hd% ¿K½ÆvA
-²X¾0v|\<óÐîu[ÞDùVسÚÂ
B±å;þ5æMÏ/aË£mwGõòÀTË{]
-l8zMÈFÓ¼ºuÌo,Õ¾ÚÈ
-C>¾P5°'¬Ùë¸Î1Ba½sfû_e Ù§
-ðqtM%}vF¤êñÏM'Øf$Ûª
-A®³Ã*g¬Ü¿Ý~À¬ÙíýD½Ê>nPPéK÷ê)×-\²*IÛg&¡XýÅͶ$7å¨ð+AWÝ$ɸAÐÛq®¶2öG®û:|xùTíI,Fàw~Äàwí4}íiÚÒ#~iͲÝöïÈ%ÁO9¢ïÁ^x.6¯²;¹Sû÷"3Ì:ÆêvàxüêÄQËÍ¢ÅÊL/%FbY.][I¯çd[*/tª8ãº(áa6ëÃä/
-8¥¼`-Púkp>C§õû9u¼)?¿üCù¹;`\¼^ÖT7WG²V¸<AòkCË_
-TêH)&5!õ£$º~A1-A몵ý¤VaG)tP6 zgµÙÍRq$ñøÐ|rcòòí/hRFJ'ý©¹O]|#×Û±ip¯ßB 9·ü 2ß6=ãÃH]Iª³»¯E3oU宽ºÚTÅµÔ OL9ÝðÛú
-M±ÌîÛ|[òQEy%ÀÄ©TàD|
-¿`¨7&®âÌ;gÀók;S(gÇѳ¢{`õ~Æø9ÿ0:â9]«¥dMDPM8ãËÐïe%oÉÌ& *ùêec×[2ôÐOG¢<©»ö]é:wöWòõ*ÿF¦àÕµ_ððíuún<ØëMìóøMñYPMgwmû|±oçò\Gq¸\èËél¥KÇ"';e?¿ZÁZtÄΨ Cí¥Ëràí¼\kî"á!ä¤è¢.ïEÛKª£hqõHõäÒ¨
mó.*Æîù^WÁ¸es3(-]ehÖ å,aÓÊõ®
^ºR×Ê5å#{Ç7Ö®±IÞz ìËWï°smybâ¼.s·ú,6qqd+¾nÚX1/"¡}q¯µD Ök}ï$Kÿ«vÑ>§þ0 GðgpÍþçS¶;Îh@ä£?dM®Yd*ú4['åo
ó×!-çÔ}ZñCfö¯ .üõSÕñP*G>ãûSÌJ
-9V·¼ÙðU½¸2¼Ú^î]ãOCôå=d«¦$8½&cgÒ~$OôéötÇ »: ÞüîXÎH £J÷Sû V*Ó;aúÇSª]Zï§íü¶3èâÏñútf$ºëÝd'ÌL«Ù»ùî«ôÎaÖñ
!¼Êuóþ|¤"×|u½yêÎÃàé±:g¤uêßÌí§]
-Ì.&U¨*_¦}|¿]ÓËg<º#7©6»®Ô½?ãÇ`Ò¸§ù«îRþ&ÑC¬ô*ó^euÓDͼ`ßA1"Ô=ܾ¿+-|l#ÍæHJN;ð£HùU_lwgÊ@ãÙv0ë1ÄCl· yÍabÄ
Nbýâ)ÆøGH^Ckë¿Mr÷ÚÜY8°ÍÎKêêPâÊSîúW%|ËódúµÀÉuS¸§YÎØW]_æö7`UÀG°úµø6Cªyb¤Å?75´zJoÒ¶Ô+)DÿH¨öø§Õ¨è1¡Õèà¶ëDBj»qý4+ÿ7>Ó«¾]ÝqX÷Ý@'ÁÕgºÍÖ{\(ËÌÖN_¯ýÁ}³P(Íð[ÎÏ(¼
8:`_[g.¤en®I,$þlV§fÜmÒR2ÝÛ)_&´i03e|;°+\)|Y6uøäH±«¡Aó³PU02ØþÎbwö]S4£è?_I!$LdÉeHÞ>ËY3|öbð/o.Ø=
-éGÍPè9³KåB3;3³
-_ªdâJõBu6Bí¿}¥Ã§sËë> ãò"Þ]Õþüý**bW$ßÒ44¯D:´=LÉÍtÌk
-3¯öl×¼ðàb×±ÈDµ\a¦Ýµ´åÏJ©(ñ Gx}Ͻ7Ôjg?J¡¢dÅÎ?'ÿfM¿
-O r®¿ºÁ@bÔ*î|å¹ü6«Ã¿ê yÁ3FÛ{ù²DÅôàq?â
ÀíZ
-NEfI
-1ûÂh;0ßdVXÚ,sùZùûóÍ}}-.á1]Sù<bJÊâYÐCY` ø6.¯¶D5.où>¤
-Ë_÷;Á2Ö%º±þi"öRIB"@Õ¸è
-yzgfHB
-¬ØK;;ìwî½ó÷f,:U¯*Ãë¤1cü§ËÞÛ§ÏSA57mêËRêÔ)b*äÛþ>ç,à*æõªNkÀZä¹³îMùí~+ñ8ßb¤v¸|¦E ^¬³A\²Ó±2ÐôÖÍlF³Ð¸`Â7âÈ]7Y1Cá£÷nèôüêõ¢åÀ~,qtRàEm)&¡~Î~s}X9±ï5#doýè#
-°ËîÖÄ% ½³{ЫEªMRm" ¦}ó·\°Ii¾µè´}W)2
ëSmåV§êDóÞ <j¯3/n7iþyeÜháx P Ôÿì&ÒlÇê£ZEÌ9HH°Ñ²>vÇÓ
->{Ƹ
-}©¦ áøÜrâIÎÄ¥ê¸un>7lCÐÛñªu|ñìUjX[:ÊC=ÇàVH"Âw)_÷Áüe@µ~â£àå°Áf6ÅÑ0!»fWÁ8Úb(ÖeÜ¥íz ýÔçþ^^Ë
¯ßÖjçj0;ßî3²¦(éæDÙ+r^ÈHÒ.:ÃÐ\íòË(ÿ§ÄÒCµa¾ù<ÝEOhR-3Çç_ð/¨¥üòȾÆüØPXíâR2Q[ÈÂGhN}Q;«DÈ·Åu2iÕÆ9ò!öÎ]7óQì7çß4Ã0'Xd¾Iº³«*1µ£©D},ÏDºÇ(Îßä!!¼/¯fUùÇ4» TS3:´²@àòÊátà÷ÜgÄÕ.¿F59ñ\5Bá¼[[U.|[¸ç1˽֫µi%êòÍG£@aÛ ¹ðýd¾Öñß"ËÂË-óÙâdJ{diÙ{Ù`AÁq"çÇj}V¸é&´su¥ÜL",ÏÌ°%:Ò>Mw"I4¡ÔÄ¢~vÍj´&NÙÍ#¼N-º[ç]¬Q(â;,òO?Ó?CÆF°Û-`o
mî¦xÎ`®.¶¸NÂX7éÒv"· § ëdM®KxÑ¿/>ºýéT&WâØ2ʤa£kr$Bk'mi¼OÅÒ
-Ïʾ¹ôÀÓ]þIþ_£ýªÍNÓIvq.й ý
Sj)Þ¨2°F²»£7´ÐÌz×/åÇðâÆtèÅÃRqµ¹*â
-ÜôZ`ÃQĵd2øÃóõpØçÚè7ºM9ðkiÉOÞ ¸K/Q×jrO¼¦M¾íìßrû `!xB§óA÷=bu.©HûÆÁ&dø¤$ÀÞýéY§»)ÅÈÀÛbu¾gúbê8]}:7ëÝh6ߨùòÙº¶Eªçð/
-Ô\á\,ì¼1ä¨_8#mÊ?íÑ(gÙM·:ñu ãzÝA<\ï4íî³#ö~&Ï+cF¹DRaA½<òªd4?¿ÿÑÙÙNÃcH'åÜ: ;ö|Úìë' %«a K~à|ª1#ùBÒÙ+¤PfzRQ@¾âAÀÜÛm,©d÷ªW°mðûå LZâ0[k)ª](Yùò ¢N0K6%ÛûépJyYÚÎA1ðk _¼:
-êß:¤8âÓ
¬QîM
-S."=]è9M¹¢ÿÚiÀæéÁMhÂáú`E¿ha!òHܪ|¼Lu4¡ÑlaRwÉL¦MU0[#$+ÛàGî¤ëR9 'Qüyqqë|ÚÀgsW¹Myxø-ÌÀ2»&Ïë"b
-"RóI9úFÏïl#}þ
-ûöJgí73øñhLEúíÖQuAÿYc!L-ÃËAâûz@¾eeºB:LÈ´6dªmöwÏJÃ{xÛ.\¶»<Ô=²Ú»7Ø?/wK1æ}
H±eõ3ÝE«Vλá¾VeôSú$et©ØËÂZùé¾tÛvÆh
-ÿæôÙÆ>®bêh|²¦]z²ò¹æ¹¹Õ-wk#°é&KÆ ÜëûîE
`_G¯¿0Qº+L§ïÛ!Y'2Û&rQoÛmø·O£Û¹ûr&¶1äÛƾ¹ÀõDÇ°XIw}HóßHf?a* @PL'CÓg`¨dnÛ5úfX¯nM°ñÂT{ï
-jZÎ{sTépò&ð¨#ó%2ïÉ·lËT\lÃT°åkjÎèxÎUú5Ì_ÂUª>ÿöxkÝÑêã®É}5f*ùs$w´ÏµGNÖ
ã)q^?ÀÑôZuZ<©aH¹-ÈeÈ0>²
-_
é:hiQf
à&<@C@©YV¢Þýîû§ÁL¶"ÜMÙ¼Ù;zÈdj¤##7ZÔ¢vÀNY4Æ:åT l´w|-§"e[Ð×¥A`ºçRbS;ß q3ÏðÕ3R·®.aæý^
-)û)öÕDzàæ|ïPvµÅ¯Üì:'ßJG_¨ôo¸ÝùÂ[
ÀÆ_2>jÏOáw´S¥G0Ìw>z±ôd{E²p*s?êq+ª±+R½c¶~Üp"VxÏUL±¦Ä[½ÇT¾öÉNY£
-¦46Gp%oø
-1O¤ö{TzW·;·míìyé]X5±?ÍH#$y
-ïP^=)èSt>"sRR¥;1TAÝ¿bU&?Oøŵ*zä\Ûß`æÞ_r®Êm<zÝ7´LwªÉì=i2
-çLT_§&ÛòŵÞ7Wý66®UA°ê.ûüöüu. ~.T*]mH3GóSLçÛ:L'ÙÇò!Q~9ñ
JU&zó4®
-ó¾d¹ì
-ë*ÐL¼F¿Ù®áÓcGõÌki±z-¬¹\½ÿÄhv&Éâ5Jv:+?ÎIð²õ,>-]#bAy`â+µ
-h£5¤µÝÜVixR¦³[â¨æ2©d
-ìÄËHô=ðÚvNõ?JÓ9Ìð{˳®zGªÖPZríôd~{ÚÕxÖ2j¿mÝÓ í¿B"¡ðÓø+>Ø¿Ôy¦¼¤¡ùà7³kß¡[Ò<ûlû¯qävÇ'¹Qã!ùßyª08°ËåöpB%z«4aºná9'ä
p/@ñÛç(VüÔJ Ípïr»¤%-òÅyìåAWÕÛÐÍòµÌÔBÌŶ§¯×>c~öÓ$q\
ÔJ22bUCojjÀ(Ì(¯jÎ\Åè£ü¥æV_æ\©?¹Aµi@ØfµÓÇÎz÷U[]$7#DÇïdýqéK
-Êí-ÈõøQà|Úêj}ÉOí!Yõ¬ïaßQx^«%·z¯aË÷xU¢¾ù$§OõÎ|pvíöoBéò_U[³ñq{f·íèqN#þÁsårí[æa2\EÝ,w~Õbb¡|¼rqÿ"ðÙ¬#
-£©Vÿ~LÐL̵ø;}f©Á@»¿^ö]aGà\
-xÿ%²ºbl!yN]õh¥bʯúkW;ºê4iSÃ@TJªé1dó8ÕO©¾¶n¾×%¢keL©Udgaм.':ü±fB?·`µúµ8P¼©y_©²ÍËxfMJZïO8Y§!?¾XçÐÝq¿¿6éÙê° ñEÂ2"ò»ødÅb.õÄÄ©ô0dapÀUïtdV>/XÞÆ_gý
-tñÇÚÆW6½£h]Sgê³ l¸fýñ°NC:çÏI &PÖzW<Íy 5D1P½éÔy3zW´7Üj·2ØÒqÅÉ-@èÝ4@¤27T7
-Ó ÍTF¹w8ÃéT¸aiÁìÅÍjÆ0&i¼÷.ÔRÖæÜçä³`¥W5QªÂ³C³$cç8·)0æfS×QqEZ
-Ûé-[:,{ÞW^>¨ñÐËøYòívùO&Û[÷Õ¶\qcÊ÷|ÌØ -´
-üÇnæ
-Ä££ø9÷Ö"¯S߬ÉlÓ
0~[QÌ_ Öê$+ Zr)½j=ÆÕ(ÙÙm#tãµI÷úc:µøùGËC ¹±ºEä©'óI8ùýn£
-ïÊPØÞ·9µ
ú4Ò¶ÐÃs>EM
-µ
í*'¯Ë,J^÷ÎO)¾èë¨
-(ÞC=W .>èZ ¿ÐI:ádzs{h·H£fÜÐJ[·ðy7ñbôLýÖf±
I&Éíi*Ìaé=÷4%M#±%'ÌܲÍ&RÍÄ·MÒþ 2þ²<
&ò©Ðêö öÃXbqåYhý$¯ºYÉÙ«x¨I¶âOδSöaVGÅcÆ/âe¥dcef¤-TD¡T7;)"Ï<«þÖ%I¡
-ù×l±ÀZ¯ÑÏ
- ä eÙ[?hjèøÐÇK; ÏßÓþXÚà yÎæÊ=¶èÕUwÝ7À£$ÐÀ*öÃÁD×bZ®Ló¾¬B]"Ôùp=F¹B'©BEݳ֮Ðö¸z¯$zä¼y,
-®p·%âø,íN³)zzìmE8ÇÊdàAÀa®Wë Q¬¼z(á«¡ñúR÷&ß³èà·Û¯eçÁ
-a Ç'Íô@R|²Ï0N×:.`özCAå¢ +ñuNávÖÐ(ý¤ÃtvN,¾$ÉÒÜc«tz02óôuâ*ØÕ
-å¥bürÕ{3ù6bqÂQ×`ðº|¤Þ½Wq+NLÅÄìÙK"¼æ9áh?Á¦4ÝÅ^¯¸yN~[رÜl`)A½°¾ãÇò`¡àÛýJdi:fè'gR%ªô¹yp®&¬:JTL×ÁÁlÕµÄ @{SDlî×ShA¶Àlà«êí T-î;ßâ=©J)4¸W¦¯F`÷ßØ®`Ì®¶ùÑ;ËóAU¶=Ée¬p6ãÉÛ뮦*Ij3&·ît¯ï´p-~D±d[&=Õk#^7îÌüdJ·#
g0YÔBÄóFÚÑ'MI&µj\Âô%Äò]O¢·Ä~èíNx7a3©³éõdÙåíxág6ßì²®ï<8dWN¿i~&Q
-yûSÚÆBýÀ2Qª«HÁîÑt'#ìHP½)ê5ä4jæ?dïÛ49âê½\ûXqów'¥Í#öûqJµ©ã(¨ä
-)pæ9(t
-ÁUÆä]!è¬ÆÆÄæ^nįÑefÕg}E'lßóï¯/}Á`
-Óðï¾Ëuég4î[§1ø§ÿ
-j{ÎpîzÒ¯©T§´Pù}~5ëÇXÙÍoK]Uº°1¼5O?!Òæ8ì\Ë¥Lßþ
-ôϺfǺ
-T[
-`¾.B5dHô5äÞ·¦Ç;$YÛç>Ê}gwñ$öÍ8-ôlÖ¸Róé¸x[59.eÑK
-U¿+/é;{,[¨zNÅPCçhÂR
-ä§G/eÌ«ó´6p²Ð¼ªS¹èkæ¥Äê#zU,$³ùð=êúóàµñG:Í«¾|UtJÀh2|?xð®§CNaÞÛ¤ÐéU(w6ÂÛùgK,ÏÓüém:=%÷uÅÂ}¦pyòî¨Övú(
lfïFéÔ%ò¡êv³
-VºQKCA5¸½h!bjwr
-ç¶ä'ù`äÓ@m8üóÞÎX~+¬¤o9¬?eï\8xÖ¡î)ù2[Z|ÛãdvZÌz;ÒÔ
Æ;Gì5Æ£ç!ñÑ@Ú?ÐZ~{fqÒJÝ'58å=·÷JÝØÂ4B$A¿,(ª|Ûå¥R½Á#/.qjnE·C/ $·"°F}[5OE8-?z6B&iD{ÓsªS¶§tÁs#%R¨Üï°õÞO¿àùjì_4ÁÕßÁNßUÝ|¾[µzÊbÀå¤6îÅqësÆ,ûÉñ6o]ú¿¡n®#jN¸\¯©À#¿·µz0óI%{ãóg&ot¢èÂCtµ#W]q!·eÓêî¼
-o>\2)Ôe_ÑB!®po]_<PRuÓËQÇÔd(=á/ü¶?ùo7¹põ(B=rcÌÈÂPôKÁVÜmQ¾!ð¿Jµ[kä=^*(7øàz"hë
-¶F@zCHîúwVéFþëâÈÔ¡1d¥LN»G|ì°`±¼[ÌI'xµ!çÇ)d0Ƚì8#ÏzO0_,<Âb\N«jÏ.Gûð´ÝiÐqddÇáõrXu uâ~"Û?ÅÁéî¹
6í OzÞg·
--tÈKóBð¹iÜÛn}xúñ*aÂ×2NÅÿ·swÇq3úÚØÝÐPÕ¾XÉ(ËhJµÓ[
- ævaôS÷4Þ6¨à²ò7âãC^ Ò¥¥çmÝ#sZøÖ 7¿^úáõpóa#iá5<9³·ÜÌb _Hºz³ÝrùEÇ ´Ú1·!.À#6[Gë§ëµºËo"v)Õ»ðþ²¡ñÄÐßæÔÍ7²;ßßÑm,u&&oÙ0û¶'EÜcAr`@·ÁªªBSKßáÁä¥ï¦£LoúFvDÄc¿ì¯!»(Wõ1áw¨A.§¸ÒÛKÄ/£¬pê·G
N®/ù<`5?IÈóÉuúkïÁV}0Þ´¶×ÞCMçSòɯd,?QøÀhݬÖèö~±8tù"}!èiµ4ðÍ,É°²wæ÷×Þð¢µË$¥AzØ3ûë«Y«
-°ÅÍ^øÏ_£0hz&LËÒTA°¨ZiËÃü¤Hîlë1;yìô7L×ß]ÊvK,qìÛúxi<Ò3:,oF½>Çðì±âµ=ønèÝE_<½ÉK¡k3ÿ-ªä.þÁ"2®WãøÃíÉ|¨ùçκTøæÜØ
-7çbjÀÒàÍK$}Gßz8ödË{¡],û§ýÏÔTê7«¯à½w/>*Ñs¾Ò¶(êþbI©õ
-i²Ð-ä¬Înò>¸$WÑkÏL_ÑÈH?i;ùÒàÏ
+^O/5¶_ZøS8$ U÷?²(hÐû/XO>üð)LÅ3Vdb¾§Ppµð-ïæ¨ÎZ¥!CÉC¼n PéQÂõ[@Ù'ä>2j̾Pd*vúðòp×2T+ͺ
-ÝdÖ2ü·Ê.ü}hÀø¯^Û,Ìós¹5o²¯ hmEÄybÝZr«rÕR"
-Q´ÌåFss]NÓ>oà *Ò,9½r<mkÞô<+Q'
-´m
-mªXÔ, %Î CÔ0ý;~v.<æ#¥Î¦ðhúÈù½ÆY.÷¤HÊÑåxÉÂÞ{P4Ò4çl¨ ôàÍPøïö8nº`OZ+ZÚr-áD¡b¼{ø½WïËhiÖ×îWÕA|oÒ¼²¡êÓCm&1=.ýYè81´k1ë`gWÜVÍMóƪûDUN·Ì÷ÝñÅD$åQîVÅ®áäg^%'É56°ÜvϨB9IrQZ210³âMUùûÄ©#É)5¡Ï+?DWËÉoß2Ì'ôæ@(»Î¤ qôëj5ÁöÖ¥ªêUÍÝ+yÜ0ó!.ÿØq¬8áPP§6¯çOBÂóïög1só~
-é¹¹VrVú6õ
-~PÅ+MR`f,oy÷óËðã,3uau{ªô¤FÉ ª A+dåö<çB2£al}aküsN;Ñ×Ò!röI7øÖ92Dk^Ôx9
-I¦Ôh¡õÊzõ{îOõëÎ0ãÔÆÅdÚÿ@ë¿z5ÀÖb_`µ: ªæÓÒ#ú²:ÝÖÿ9[A9S3Õ~eÅͽ~m'©½;&pÃ"btÖs¨ÿYji{-ëÑaIu¤¨x¸ß«zu0 ÇÉ!òîBì_Þ%Ý}}Tå§ÞQùÌ£¬êÊ1Ý>
-.°1£WØåPü:ÖÏX84wÐUE°JTÿR;Ùú9~iMSé3óM%IÉcìÀ-;qAçÏ¢Z pª:
ì¨X/¾?ãS#C²jAZç)p¶ñ½¶
-^å÷Bø8]bPÏÍ<`Ù!UNSDÄjÆɪ²«ÀI¿suÖaÕA
-q
-àkALòYj#Kà8løÚ¶^\л#?Í[b+Ö¸üN`
- í®æxäqã4øÍQòªEl1¼Õn`ñ/t
RJ0@ú`/eÿcb\)`ÝÃqØ]"óXRñc)`µÁZN´±ç|UHزÉé˸0¶úûMÊØ
-8%{o)r^å{llÊtà ©|Y³B"À©Ý r}ñnÜßûÐÆ.9Nüm(äF#1ÚJäÃ[Ô¶uYõ:Z)Ìe »ôËîty=¿ßv¤¡`#^ànã»ËÖTi$ÆO8uN7vc½
-àVde|OfÂk1d¾§lEXí-íY½{[ù0vú \Ý0_UxÄeJ¢qîÀº§n©ð¦ªYÕy,Á¶ò6Cä©ÉÞÌç''8EVƽÞdÂ1§FIYU¯¹¨PæÕnò/[øÊ0¾JIí-6ç£ßWÝëOùÏè°ö½i¿/CËÓý»ýÀçÅËQÎ(ôðônMS³;$a_JKÈ
-¿ê
-¬@±§ßÜô¥H¦u¨a´ç.þÃù«ÒsÖFÓg<A+¤h±á(²VÞçgyÌf=´3A$äBÄn¥Ô"˶ö7ß<f<@fJF~&Cí*u
-.QWû_¯Z)@ð+OkQJLeªÚñ>MPæÅÒy¦Å¬°ÇÖRãè¼üoµ(oÉhÙ!¦/ê`õ*øo^+5ÒW!_y»tL¤Ï:ÖøïÂÒ8é®8«»6ôç¢ßñx¬Ü-!mê°·õÓi÷$µKTe}ÛT9,üVöÄëOÝæý¹Tþ_%}
å{XÖj(£Re÷|"(_zÆ(Vë_'¤°,6`l°áqÃXKSzI+ÑE#¡5
-nðǸOM7Ô[¶I}QmÁÙD'ôm6+Ö¢íÔ¯¬tàÓÊcÐ" #fBçnì9ßãmô©TÕùIÓÁ°/pEi7K
-M¶jRÿ©Åù1äYxà Ï@²®ÍõäçdaÖ>Ñ~ïýã.|ÿ:pªs,p«Uùzôa CÂ]°4-§©¡ÓÚF¬½}`LÂÓº~yp|Vs)W¬5à`
-S#Ð{×
-=Î$$ê(d
-¯«»ge(§)
-Q¯LÍ©0/é{=WÆ: ±wï(ÇDJ³E¾õÝ,@±nÔٲÀ,K'xdÅ
×HÙBÒº^_åbêä9¹=Põ ÿb7¬%sTK¼DÊÈbèc,7Ìf0÷¶Ew©LH¾3Å÷lÐäHÏ÷Dôt3£4r¶z£®Þ¹ð¿7Â^È9d¦CX¢[!²5ÜÃï7+*³qGÁoÞ7î{þhKIÕ5ò{¥Ø#ä½9=GÅ?9âùÌa5îu
-$wªï`_"ÓÅS^Ï ,uýÕT$´¤°É\쪽L@mEOvús3
-¼¤Û:(ÕU>QFX<¼ÒAÿ;ØùVà'jëA4§jåeñ*4¸9c
-cÊ¿y»Lô$ÿz¼ÐhÎao´ÎbîHkw}å8
Yv¼y7+è!·PFBÜñì´¥ïß¾ÜGÕzwRìÿÔÝ./;JÐAõä÷Í-¦ ÷iàÝq îµZ¯Ù½MBÂñxz}9XWâîÀ+ðã*e´Ð.BÄügqÂÑõÆ77_3-£õä¦
ý`ڢͰÐKdáBbêt#>þ¥j˧ܼØôÖèB¾ùö,ðÜ
-
NBÊlo©ôI»Êõ"Iýµ)ÊlÁÕ°ærmDÑvG¦x°ê¿«Óüÿ5!°JFº;Ø#Mã¶ô>É·Fâ9GðµNÂ9nI |éÍ®wòhª¢V·,\ÝÍzÕÜA¤pûóºYN¥*À~ÚIßË
-N£;×Ò"=:tEó²ùÓõ¬%Ä*9ÔäÄÉ¿ÔA <Dø˸ëS×jnS[=FøyO%[-*¨SrÖ¡ÉDÙç¡*8¨ÚÖ;$LýîéfTx»éeÊd©å ÛÄxADvJ¥FXF¤Ôd©wñMÃéñ¦ïým9mýØÂekqLê8Ùô,KkÕLeÒu,ä=:&là/f8L?äضIîibÃíQïþqàÜ°>A'Kß~æ9Òå#¾OÈ`ç<õéÖé¯Iò»±î4X¸ê
-ÿ
-8aTù'êD¼<Ep£½¶ah1^¹
-³9jÉ=Ö@±:À´ÏyÁè:I¬WÓKu)cº_ÒSYÃód|KÑÔÛ.¯ÔF"Rëm
-ÚØ3=½Q9/1 %$GtBª%ÔPÍ®Ìÿ}L4
-©ÞÃp¢ÂU¬ÇÉSÚ=ü[EÛ¡y#øMÝÐQéNh£WJ~¿*oÔvæã?K$YÌ@(KÑ47O ôg¤|uÉ×ù~FºÚ¨ç/7w&Ð ¿RðèfQÃ*¶¹
-Ø?1
-x"sÇfç"ÌÃb}ɲïÇ×kºbQgEUõ1Þ1Befav
-aUå =»÷í%@¯µ³B½áezèjkp{Efá¬ÍòøCÉ(FÇêÊåZ¦oàr7Pg]×{lL6x ðg`~w¤XõÔL>ÃMÖn]Ùñû¸}ì0ÉåÎÌÕÄæ~÷M¨¶þiãÛmòÆ©;È<êw'Cã<é!JëÕíîN³ÅÃôÀCöTÖJðr96mDzaÏRÔït7+×IÍ<Å(Ú¸b§Ç7ÕW
-ÆI at PÖ
-¦4(ec¸>駣LÊÛ"UÂízs²Ðl/ë/ÝHC
I¡oe¸üN-6ܨyÆ[%T:²Ò÷fD(X¦i¦½Ýä×ßFSómGAüà¨(ù«kjFç×ê¦88üÞ^¼
-jÝÁ~<ú3u{Ü6>ÁqÏ5È
-P°ÅÙ¡°®¼ 2ðÍÈ6Çþ±_²GÖ¥z£¬=:{ò:y¬¤ÇDuâê9Y,8Ý4ëh«¸Ù}GþúPI¼[Ít£ó=ÄëTU<ÕÅû<ÏÂI6?@
-[Ý
CcûçUhÇÃ#tÅ2l¥ÂÉóÿ±+½wÃàPl»Ø·zBQÒQÐ¥¦PÚ ¢©åeÅ!»ïýüá
-ò¼¨ÖýǬ\äìAÀºÕ%pÙ½Fê} ðö.õ"pLÿý²O&2<ÜI
-Q<¥ûÉò QCÊËàÐæRà4ø^1Ür=·@·¶%$;½_'`²DO\'2û-u~¹)²<M3¨]GàniÃ
-É?~#OìÚC÷C̪
-FÛê
-;nSÿÎÿsWwúð¦ûB6Ä,ÒWJ À,äȲù^=}üF*ý©#ÒÚ¿GyL%Ö1q¸*pxª9¦{QØÀ&üX/í©í¦HâýR!c¤ßÊ)k"ê|EïÀÖYkNØ«ûGè ÒÂVº¼GAç)A^Üüåå¬ç¬¸V}ÿå
- _×mÓé¢ Ø.©÷JRBFèdtRû¦ÂÇÊHªØɶÏÒKaÉR8µNPTRÂy«!Ó5óDú=xÕt>)´«õ$¥0\S±fFÚÍo¸»¦t}Áã#̤´91#'´3ìÎm§1¼9Z"}ê7Sâ5'h´êÓ~]ѯػÑÍ}T
-\cc-´o6;?lÀâ§n¿f·T¶rÝ3xä°Dh2KÄçÉ£-³5çC}ÿ;:U&é:köZü~T$µ0|Ƹ¸yS»3[¬Ò;
-WuÏpÊ-AZÊ
-Ò¥#ãäw7[Ñ1iøù®G¹ÊÂè'¶
-éSþgs¢t¬1wtÜ ¥¶ÚËU-1¼áÑfãÒþÖrGÉæwyjäJßÏå£5*Güæ@=02ØÔø0¼L/øi=J²üOJ>v]*r"%sMKÆàÝg~·î=ÎÔgJqàEq?:þíÎø{G¥6¸nÜèUé(ù äËèF³þ1ó1-&TÎƽcõ?÷ݵÚ{PQ.Õw_aGÌyÔÄ*ieØ uzJ&>x!¶7¿ÑlL´+±D|Íó¤\Õ¿Ãß-§S
-m»Ê®¥ô{7ì ºòMim&TG°É?dTYÌíá¸náÎ̽TGGR{ÌÝìEÎ`H(Zºõzíâ-)ãÈr<JW£¦rîÇVÔ- ó5'ýn¦Ñõy µ0|&Þ´F[.©±ÚÓñJ¾3éU»÷Y
HInÝÔT,§6èwMqs«6PDµîèÖµO2ïùçQ6¸ª>$^V}JH
-_¥è-[& ;Aø[ÎV37l©M·Ë=Eùt¢[LZ¹
{7å÷®Ú_ku?¨§,¦#ð/IÆbrP¥HõZá\SHSýz¨úXÔþ{íøpCSÛã,x(¸5ø (IÉ#(¨¥]gÛ=Biµ£^$uúåßh^ò½Ï̸»â)«*þᬯøfø8r§À5ßr
-Blõ
-á]3|¦) @ßä»Îç®×<üIhî-+Àvöh"XÌ\QèvIÐY6)¤½aêi(?a8æ"fy,Îw" P
-Ãsp'-÷({£ÁÆðl¿sÌ,Ñí=RСH©s c^Ù(§JÏòîrÁÝ[?²øa;N~ôpåA¿ÈQæ8§3Ò
-LZÜn~ ÀýNÇã¢tì/È,oE¸Ú×Ú@µì´m±T|!̺¹¿ÄxÆAçÓE1ð"¥®EU at dº¨Îu¼înñï¸ñ ÀûþäÿnmøXwÇuñvMROÑgºrøëb<zK³Zø³lHµ7bù:å ÌW²B/ ¾aTÿ^«Õ]`´?Æ{j¼Ué#Wûø!Tý>#C®¨¬D¢xófª¨ÿMY2äÀ±cEØã7."EçØQ
lK'O8±2æ
-qä
$_OGxP¬u¥
-mæ Û¢Vµþ]Ðíл˸ñ¤Ûþ^æ_õê:ðÊݾ¬ M
ÌdüOêZ|ìÿDbSå8>ö{ä$âÁÈÍ(w@Àä=èß7)®]¥5> sÃòɬbÜXâÚVdëû^ýj¢«üScµW
-Ãê??ýDúÈ@¡å`¿3¯JlÐùDÔþÈ-j:«ZY|¿áYÚçR©@¢&ä/* ]=ºíGEl²¡pqQlãñMi8
-ÒNpò:é²<ÄD?ùöÍfÿzGLÖZ'ÕÜFãíPt\ê²Ë îJ|2²»x¼$K-&WÖ)±ÕÖ
-Ä´F÷ÒÞÖm°Ä[H`_Ó2Kë`gÈC Qù3ÑèJMZ)ÁCNC×e
-¼½y®£²M³Q3Öò4´z]ÈÌ[æÀq~èïÜËÊ£§*£çuY
-Öaü·Yâq,:ªê
-Çn¹YNÛQw8yb(ì%U%äT̳ Ïbí,ÿÚkÌHÑÚâ6*æÀ!M½qt'Ûu8ébXZJwvÂh_îNûù¼;'ûbl@嫧Nój>íFqÕ}FµäººÓâQ¾ûØÿeÜÚY
,ÚbNwÈûàöøã·ä9ûÂòÀ?»Ï¿Ü
-Ãaù÷år¸è$¢,p{§Fî@¡0ªßÛùþ®Jà¡uýTÌziÐËÆf ñ¾vÙLT ¹î
÷Ìڤ ÖJ¨l^ÔÈÞv* ¡¼©¿ví¦¸¡ÉNü·¸C
-ÖBp°ÎU!öÁ4ê
--ÑÎ^þÃeqÈëKëi±Äd¶½¶ÍÀØÃÌË*@DÓR
- § Ù)eM[¸ævS5ÅËÉ×iMî'®ÂÕjè0~yhb$2üÖòç0©Ë; ¢ã§NPs,´Pxp½»
-¡L«c!:¶
-Úo«^bßÝtg
E±°ðióö¼4¹9¡nö^·ßPaVÙÂK?xPÑHÚsë-:hw¯Âç
-ú©>7kâXÿNÐt¹ÌäS4ÝÑ
-¥-w2ÛdI»±^z£<DöFÅdåEõ%"
-쯳2ýM»q¯dÂ'µ+R|jbg1³ÆººBXFtÏ
-Ôò¯$ªÄ6ÇêÛ)ä_çF© óÜKY¼è´6gà¬ÚGèÙe¬°3|ÝrY#QºwQºHÛÔWÈ5D8e³2-ó4_NÆØÍhɽuCQêI;eg²B,ã,`u¤ð1òâçÐÂ>¶ÄÙ³3FÔ'îwG-B±Ts K¹½ÎاB¿í¶»P6mîâOíù¥ö%y>öðµ=þ(¾gçK¢«
-Ût{XRe«§(ÞH*4
-¦+¦Áq&ËôD$ìÜEttÖU$g¬B±#¼Û>¿`û!<áì'¡!kɬsì.á¼4aüÔB{Y:¦ü¬î8¿gÎãpÈñ?=Ï«¾
-ÍÛtF¿êjr
£TzAË2ZÆNhæDR<È
-ì Ì
-$3VZßA½zu%tiXæ ùtÊVCu
&?õg<¼î%»ª9ÈÿçHNÓÔ¹d'ðH;bU¨_C±ñÐhÿsý7àÅ4±ýÅ»ª²Aù+Tp6_î#IÛZÑÑsµâç=k=&58Í©¹óNxÿðÛtú°(Öb
-¾¾¿
-Ã;Û£L²"-)ÒBAFö±ìf5Öè¤JÛÀïÎif䶨ALì:ð<ÜSJéÔuÛ¼¨x{)Óµ/½#ÓLkU¿4ÁÇt-²1-®ªÌª+8XüÓ³£0ù}L@ÐæFm&¬URóÕ²ÚÜ(±;vqôÈ®ôÉBåXÒîÎhçõVfÁa7<;ÝTÖeSH`f¨£þùÔ¡¥5PÆùûÐ$KðÛj..cøx j´º¸{ã?Ê(_jÎݼwÒ£lÀ1ùÇÜFêH_cü$V ìG¢¤¼:ãÐ{9áië5~®oZGA1WZ¾K´ü׬ÃöQb´¨~Ø|»,U¦ÁFáéTµ½ï*Õ/^¹@6äIíîañr¤î©·x»_Pìa&ÂÒ½8
-{dé Þ.<Dú¾¾°DL>¦úËàDgNÐTâåìþmA¥ÆÅ!¤
-ÕjGéIÇür ܯÍÊ9ÅPNǵf@)mÛ®©rjÇù?æձ֨٫ߺ6b;àï8
-æ+ùB¥ÀzlLE×AÁËü+õ Û*!+u¨ÝãWÐ{ç£-7¸ë R>aÛZ"6f§ÈSeøÃ6ÿi*F<2~$·ê³]O¸ÈËç!á½FKçì»G¼JJÐUs%Zâ£Ë"Æ-øÆBM¡hO<8\¾Ãáp;jÒCní»PAýuåÎ E%Pý!Âd`cÇÂúoJ«Ì9ÂÄ G aDZÏZqzø>¼Ï2Æê×ö<üЧÜ8QÌiÄ>¦ôH¾N0IÞz=ïô¹ñÑA|ªò àvæAÐ#ü?âtøE5ÍÄRÍRä$+U-àÙZÿbèônûïÑëmÃ[nû°/ûMz,ß
-غç¯øä®;S/N$ôsõR©ÙÕ»à 5nÚjÒtøK³óJ9¡¤¯çêHmÙR¨ð³Ү1úÏþÿá+®_YN*k§ÌDþöªì3ÈJ;AdUD×÷¶2ÄlÚµLí{5Êö>+·²¸y=ÔX×i<|N[½b~Ë (qÁ'(³¦åÙÈ!DNmoþöaÅðP¯º.WyN¿g¯ÿig?|é(]ᆵq>§¶óDó üª¸èM$Ò¶ô»E¤
-zÎÝuQ«ÎÞçÞFñ±|^²ëÙºÑw;óC¢¬ïI
-õ·Ç¸ýÄÁB&ð.´ ë8íæéG°Õ ÃhsëdçJ¥,Q¤fWà9!1Å|Â\iLC¿³_ 'BÛ¢x®>D251oMt"i·*½ró2 tÅÙiE6®JÊÙê¤k:¬Ðà]DÄR
-h>
-fµÕvn¦þH)^¨NDú°)µP¥gÚà4Ö¡kAߧH{aÏ ÄCð`þöÑT_ùém²AÕ0ÿê¤Ñë8þ¹áÜÅ@¾¸(£3`Æ+ ÆÇz=D¸³tªÜ`c÷~ú
D÷ºÑ:M#,-׶;¢¢Yïè, "bRÒÚÀèüÎ2¸5Ù¤-÷Ægm¦´J
-mÊØÕï»Ù×Jgö®D6ó!³ Ò¥(°K&8ÁÚx«
ÃX}q^
-|Òÿeé)åù./-þæ>Üýâ;ôÉy¿ikuä©´~-¶Fð¸T%$åáð@a-F÷¼P8KÞ§N¾e"TÊîv ±\Ó2Õþº1hæsÓ<óä+ÀZí5õ«°X"5[Àgûð_4"ºÕ¾ÎrøZ¥q¹É´³h,1Ïc
-Ë|Ã2Ó¶©¬ÏjZØ̹!3eöKø6½1õµÍ+)«Üó×ûMWðîd3Õf®×L6ãgÐMXb²?KôbTãóðkòÞOû¢ýÚ¼(c%_zÌæ±»}.V~#:ø0íÈdzVÏsté[ÎÒPì¡ãÝÄûÊbÛ r/R
-ßHvÓØMÊ:Éösy¹Õ ±Ióè*VÂÛÒAÚÎûCWcá ˧KÖj _<î5úfþÛ¦m<Æ#Õ
-ºm¶%¾R¹H%Ã¥ùPVä)!£mÄè¡'Á©åUS4(&UyX÷<,å
¬Ex¤k@´þ*êögl~#Á;ÍDã9 î#cmøñ¹µSy9
Ñ
-éçOGÒf{¸eê+<8Înq²¤Ä:MÔÍV¶ÛÄ°7oÿܪa*T£WVÇF̯;káeªl´¤ÁV"t¨]¡s8Ob
-|¶eI7¹FP>µååT²kä~,Ƚ~¡Ôýë¤,áû´V\
=½tVóú¸ª+;é¥=*H϶]ÍL¸EûM1KjËIN?+÷αô¡o8´v¡KN`-ÛãæºÞ|B÷|F"eð&z^._N¯þÁ9ªì}Ly;Ú»Æß.èYÎ(7/ZÛ>0ý1FIöâú!DzNÛz2¦r&ö /#:}ò¥
Gg¶ºº:ØvüÈþòíIIè¸'Áb NË°é*gµl
kpÑO7à±½]äÛßõ
-ÁƲØN²-³bâì¬mS77³õÏ)xö3>ο
A£óCë×eûøSt1$â·7¸
-
unÃôBK$1^bá*ukUV[$áS^À¦ýÀK¶fì~6k©eé±é\íëÊ#Ú0TC
=æÞèÆ[R~4´ï<ÿü Fjõä¯0ËD
-,-Î!¤ïÁYÔ¡íAÿCO¹¯þÑ£/áÜKÓfáÍæ¸9R7mÊÈrQ²NMÅËÀ©øß'iPn88FlÖ 9ù"¹*rbAªî²/ÅÍS
'f/*Û,0@h¹RRëEyÙÇêW°¾òÛÛ,ªDì
-Ö¥Yî6&oë½Ñ)º Ab?.äKS§ÆÝ´"=v \--©"Lµ2SÓ«¸ÆbÌ;\jÁÏ/¬|(ÑF×`¶j¥ÓZ8ÇêÌeR fñ-ØÐo7IQûùËbô|û¸§mcÑ
-¦ÇÀð¯{ ÓþÕiñ¹ »KwnCÜ =ïÐ}gò
1z³±çXn'Ôð(2УöÃ`ö+Èñ×qB*ûl K!1ud+ZØÌvñóÕ>(-û°ü>hýaìy%Ø8âqúÙ¨Èú¶BØAçf:Gw:×<ÞÿÖ»ËDHs¹¶äe»RÙÝû@F)Fé"ãu²Û5Èè,¦H·Ñ5ÀDvÉä©/[ÓÛÍ?à]gZ!Ij»8U:²E#ÙV5<¶D:Ûì
-#
ó{¸¸lòùDZÝÞá¡RéI?6¢º~-Ì'i¹Ð»°5ëKdÈ÷ógFºp¬±ª:çñÖ
-0÷G¦¬ºS¡|SÊk¨ÒØë7W¯³k.Gñ
-᪨éÚi¦°l|ÛKþ¹Æ{%zWDa¬¤ß¿¸TÁËñ§".M/ÊTKnxl¨ýGbGR+UMXJ¸YüW.qºêÌ&ð-fàùR)Ú¢9Èg1 #F[G%
-«Q{HÁ×Úç _Èô¢ññNw¸H?¸Õ×Á_|¤ñT¨¯kþ¤ß~d´J>ºEè è
-"m´ÓL~
ØGêýáÛ2J~¬B::
-jþÛNа˳Xz>
-[ZDx¤óg%|P<Ç{>Þ¶
-æN}RÎñÖÞçj͵¨ ÚpõrögÁZ)¥ØïüÛFm4^¥ö@Ý'P¦oé>ÈæìABÔeâÂV»E¹Æ±«HÊøBîÓ\[âdRËÛZHpb=»tÚÑcwë}½B¶ûI^ÅUà
-
-WgJ<1kÈ.!\w.ÄcRR;H¸ÃAv6?Í9îrWOv±Ò@ÝLE©q¹SG·?¸5ämÚ8Im7çg¡Ã»úäIßj)þá!sÄÅÜ?~`ÍÅÑæ#°w¸ÈüSßÙO¥=Ùïðö+H6¹ïc;
&L]>ø\`ådLt>xK/óõLƦK³DS3,G;Õ)ª>É(´C¥çEMF#ïo¯ñ÷,\>>ÔÕoðÐÃÐ×ï/Ð×M 8;¾a[BʧÈÅ$7tµÄ+G¤;H
-¹ÉZ¯éÀ¥:pgçÂs¢cpd¯ð}%î,Í->¥¤!|ìróû»*N dda5¥ZULÖ_dGRöÅqmL{2ã´Wæ×ËÛîѬÊ?Ürh¹ ½øÞ!ÝÙ 2'ÿÀæ}Þ;"aìÊ¢;
-ïU³×Dx¨}eäÄÞët ¤jÑÚv3³¥·dûØÛ
- at bBNà¾Wdg#ar]]Snɾ_n¿^=æËê8ð=UMѬBêI 4Þ¥(³
-DìÚé¬*êt¨¼ý«NÍá
-6ºX¤Uú`{å0îÚI3læt£âuG½'÷ÓjmÕͶ¢ôoÛ:߸Ì0±"»@6l¢ÞÉÚú«ç¬hÛ@O´«ùÊIS<ð&d=Û4÷UXGyä3EÆ5&IÃ1CHaV¥À¾Ç¶o¯ÊãùërãW0PÜ:ÁOÙ/4kãºýÆÄ-(¾Òîùvl;H :ÏË%k"iÌrÜÊÜuQ ´izL~<üºÖRÛ&¾Jq¶>*x¢üJÍ·Öôb7È3J3èÚ¨A©ÝDZ+0ô¯n'C÷Ñàägâlº§Â.ÚbÉwÞ'Gý0»{<1°!Q°öíÂökØTË°G-´i£
-üCðû÷RH
--õÀbÈp+Ûê]üë0ód.n;/Ä!}Ì¡)ÕOmëlî¦ÅaHM_a/¼Y¶#N;ì
-J¹®ðµ Ú@éqãÓ*B.×y1O¡xÙ[Ãv×:áØ¿Sª£ëNSF]¡óåGDNG¦<Ð{ÅÆ{¤ù@9'ܪ"¶qº'ìF]!¬81óÿëpøs-©ïÓ£na6òAë©û¤ôZ'÷qì¦ÉÐç¹*ÓVÎ'2ÙmN¿
-Â#
-\ ¶@©ê?ï3Ùk×CmSawðB§«n(°Cn!>¾÷q¥üµ@2]-ÒÁÂçÇy°Adî&£siÜi@ çMN³1
-NH¡æ¾æiZN%gv~âý4XwÖ\úíÍðBÌ^«XÆdåÿ.lf·y±î>T¦g¯¼m_\¡iÎu« (¹Ú'æ1¯àã@ÑÀÀôrȼ&éWDe%ɼq _Yïbºr÷UFÆÀDeÇYWÚS/*@ØN6òsn©2^¦b¡Ðowô¹ÁúL£±è7¯°Û«_/o'w ±¿ ²-:
Ah|Ó׬Ceß^<Câ ¿ùWM¼Üóàñج£9$ï0ç¹óY#¨B¶[F«Ý¦dÌ
-yzN=Û.îé
-ó d6âZ²iÞy{Yö<²UuÃ4+á.ëj(ññÛGλZyÏÎñ>&Ï´j¤¡l黫*sN®
-M`Kà·w4|<2¦ÃdjèË4éÀpìm_l´±ÏCwPxÅfízÛÝ<ÏÒL¬Câ«M2ëÁn ´6Ö¢FVXÜ9´J°¶M+å=.QÄ.vÐî.U3öö
: DüÆúJrñ:J¢nâ¡,dÎó¡
-ªèß,©ÔÒÁ®Äs}4ÇRÜÏ&iô%òÜ4¢ýy^y¯8u(Z(õ(J
-¼Ög(O<Aï,FFÜ,ò[
-Ö1û-¥@ç}¨6Õ|1´¶¢ÙÊÅë4×¥îLÿ°--n¤³0lR³º¹7ÕØ$S1UFí¶òÒzÀcôGªX÷ñS P;ÊG-ú;· ºâwÓ(@Ìxa6£c°r~Å*/³°`ÎÄsY¥ò6þ×.Ý YE°òbLU9R£Efu£;¾¾d^é8ÆÎç]RÓvÿ¡9°Ø¾LûÔà
-R¤È¢Ø¥lÕ8î¤SÔæ÷¸7[^í[Íá,¬gL!!üÑß
-)Põ×nѾ#(væÀ,RÆ*;OO}q7z5mý©CÕ²_tòBº§Ðß<%ÊÄq$£~ö£o®¹ºCö0-UÖ'j^R°{˪µNòzß<º_Y=òìý
-v½I¦OEiwõ\¸ ån¯¢rÕíEµêɦKÍdç(\&mÝà³Í"SnehãèC7ØÉÕoíø9ø'ÿ§G|1ÉFºµ¼Òûâ÷|AÂ.w&ÞߦOBnaÙG~N£ÄWàû´qìçNJPXÊÕ³µÉ ønX¨0~S×$Lq àønÄ÷Séud@\hY¼Õ TÝ¥þídN±³
$<Gä±*ÜXéÇgÐ
-H _Õ´jÌ@¡Cþ,`?>dXäÒ,ådígµë7jà #¹¡ÿðw?
-në¥á ÇV°Õó~Gj\ª$0 @BpÀTÆØÛÍÇ{8\U[ãJ4|¯º5«$/â#ãéæaBָ׵ìþ%ÞüâÒ:óç4 Ü¥lóàÏ1¿ä÷
-ruËNa%ßGsäâÖ±»ªÊ7aÓÚ~«åK@%c?ز»ªnòj4Ï~¬4÷)ËØú¹í{Äu:ä`©IHÕ×wS0wdÐá¯cÞS±(§ÿ1I×Ô¼:uFÉ)ºxÓź¨®Ihî¾Å
-
-Hwbu±_n/û³:tbª){-WtØTËòNMÔËÚ¢UËpUcY#ç.ûëÆ<öÌPôª¦
}°xv¹%F»I´ù<4±a?)6)ØUÿÞ+pªgJ?7ÍûssË#Ï7áºLÓ`USíéçýïÛe
-eF xímIR`2rn/ÙÅV)'Å
-K2uùÈ)X÷FâåHºÛäø²îI<Î+À
*+éFµ÷°OTF<í!RéiH,P¬é°S@èssRÜR·z¨
-yÅæ÷.1ç´h+R.ÍUG&×Öí®×L6Äç@ôiÂA4Ô¢¦>eoSQäô¢
-K(7Ëe?Þêÿ$diðÁbÎMÑá|`
- 7W
-ð˺(éi8 +JÊr 4çF,Ì&ÚkkE|áß°ÿqpc
-$bÛÉ#Dô¿ý¡:Óß*ÍØ åsNugïlÅf»JºÀãHÀùrºÐËlÝñС»¼~ÖÛs>"¨ûaÞ?G îbvë#®|×/[ïHk2D&µûÆãÍåU(]³A[hET}¸÷5Þ4 rN<;|Ã3;øÓÊÒ˲b1c¤¤áMÔ0ã:ÊõOZ+úĵiÒÊúøL
3µò¿sú¥Ô¦òeu7Kùkfþa|Ý8é»Æ "Oo¿YOø£8m¶hïRù:I./7ÜJøظsÀÅ ÖìûZÂz5M µ®µ[£ñë½Ór.9(GVå豫NG
-Ť¨ùTvT*ë;YþO/ßÆ&õ 0·+[{ì ¶ÐíÂÈ«</(ßHðºõº,R%
òÁ/øSÔSÍÄ;WH¾ãG{îbÅ' XÏß°½Å:±¬«äDÖZ¬--tõ6NÔ,+È#$þ®ë¡[mq<´èÛ×cXGÝÄÛ?^¬isʹïñLs¦nw_¥£z¸@åH¦qÌM%¯äÞmɳFº¯ç5MAÇsÛÁx*»ým¯Rß$§6rÁühóÔû
-ï¼±KúÆÌû f
-(f¹ZÒ«¢Æí5ÉWÍç51Ó~Ú['Ù@ò¯Ü%¦/½+ºNÞ9ÐöêÅhD¼Í°Yþ¡gúÊ0dÖÜÛ³pç¼ôÚJب@BiN{~Zt²$Ýúw®üÃ.Ï2è</ek±³º©øïë
-ùÌ
-nDYô«¸ÅånéÙî%½pío²ìn
-B3
-I¶%Øýb+$V9«Íøç6©©wºtåHyaÀkÌö>ìRݧñÿêgB
-k
ÁåÑ#P!c§%¿ ×Ðz_
-ÄÒïßÕ6ÒV¤Sí±ÓÞva©£Ré
-y`hÁ"ËpÀ½'¦ô.8Or>÷¨KðqQìÒzË1¦CJ¯eâëîäJ>pviPuA½ãö AGÀÇÇÀn§yb at x¨iD½óºJû
-
zî£@ ãåùãBýðÅ{]Ak5¨R¶V¬¦åÉ´ÁÓG)å.DËÚsæ$1ðéj%Tf+ÑaZÅA Ã,j@<æFLÝçÎ?Ò*c!-<N¶b
¦HmÆg`BõÎ0ã¥âßüËÝuo]PIËÁö¸t«cH
-góÀX®nf 7
-®¿ì
-æ©fÜOºòcã°nå6nïoÐ"ò)¢ñ¶¾Q«J»+
-ÖNiÔLÎD¹ßÏcÚÙ#&}NÅWt;6¥ÄG.á»qQ&`O\pSu-U¤ùX'ÍDÁß/\#£Ptf¨Á=±W$±|ÏXÇú<x(Ñë}Ý?¿¹ôUÖ8Ô3Q+çùÇU=«º3»ßìÍOO×t>ãØD8̾ãÆ¥£¢
-î|66±$¤OÃ/wVúÌJ&ZY£²¬ØgÒËdX¢³2L`püd-4}K³Ú£ØeøhÞйQoÓ4
-¨øË <&@íÊC@ù¶×iß±zqì¥qfôBðg'nõª¨uL
(
Á£âËÌ¿¾Yï`ñç;7ýøòÓÕ
-´!Ð&Hó(¹ýýH,/àLÉm¥àDå´=&Xâ±+N÷SÔÔ#uU±Ìkð§¦ji¼Ûu W[ÇLòKHüp29\aù¢çÇ@LÍ5ãç2»ì¦AÛ´0w)ÝßO!¯f5
-r/WÊYúW»öÑÚ`#|p|C@»uC"]vâãÖjocØ|êÇWÞäÍñ¦ë l__¢¹N4
`b_QxS|¤ÎÕZ 8Àäzçqs^ØíìAàÈ350}:gZy <AEZ\-±
-ÅÏ\#ô²ÓìQvû×û\ôKHÊÀ©jBP¾4|HâÕw&©.~ßСXfmϦù]·NBÚ¹M4Íèu÷ª
-|ï~§Ç¥.FM+êpµ?[pI3¹ª7jÒN\7Ìã÷SDØ©Ó=7,:ÚKÐó¿z¯æ¾Håj
-!ÿ3âFO&s©áøô}9sYWQÀ¡DQzÈÃÊ
-øïç.üW½jO#¢
-5ãrN¥PØ-_&˸îèÓö¯(þsyN·¨sÄc0SO¢Î¤c{ðäÆÏß{=Áöòl¾²qÇÄÃ(::¤à±-"jÌÖð±¹ûá÷
-Ä;õî0¦ó¬Qw¤ìÁw¬÷õýã57ý¸©.¬Y4»Ø#ñ^÷ØÊßç½Ë¹Ë £¯6
-á¯êw[Y7Ö;
-qkÔJott°¦iv0î!@ÈÊê÷nãÌ7ùX^GÖn³¯$/,î6 Á«Ýµ"KÊä0#n]V2Yñ!nPúåÐcv>xm<ïâÉLgYkæ³Å
Õ¨ßÿþ¨,ÒÆîrºµPö©G#Æ[Óùb:
-qèе9±<Òâ.ö&P¹cª¸ho)r×WãBpÝ_À{Ù·¢q+Ú>ñ$ç¸tï×¾Jv¬60úKÅO¶BOf+%
-eÆ$6íË2§û¹r$a¨u"ÕigOµá
-Îäe>ýwøzyé]C`m¢fRlU¬x1èþÃG®¾7εÌ1qáüR( ¡
-¡
-B'×eLa§wØ6óõÞ¥ÿã";Úð©á9Áis!í¨fÌß³Âî tcüS§¡T¦C°¶nFå
-êß²¤æ¢H'Z{+w³4OI=g&5¦æÑÀðe ub:hftÚ3öߣ%f;ô^©/t(òïÌ!{!CÒ¯¨¸øñTÉî\;·éÔ
-^=ìdRÝõÐ S±NÏ&Ôh\]º wå%a Rðov`Ô³3Rº=+ÂÒëÅáê:ß¼Ã!o³ðçÖ¿m×Ç
-4Ùf¦Y¦¬_|!²â©jS%~üªÙU7óø¿Ù@Y|Qã»ÎQàè¹û.O^Ô(àDt¬·¿¾=e#Ö_þ(j"µº]ª'ýMíVîL+"f£Ëwöõ§ z -µùT7ä´;Y÷îÞä[üê"A<¾ì¿`Þ幸©1b¿ >x·ò°£>ïôm={ÚÕaËBJÁ9 ÿ¡¬Õ³±ûI4®!ù&ÞJ°ÉkÛÂ3åPÔA?
-ð¥rvõçfñ+·mè5¦
-ÕaÿãÄ\×t¤&¢ù,êÓ
-t÷=`g|k
-æüýþh XÛ`wªxQð --x*$cþ®"S±l¬&+áá@P¾JWO/öÆæfÁf¤õ< úÝ®6µÿ°£p÷Ò¡$?Ø*<µsS!©æe4c.íÚ%¤çøá9ñ9í¢Í|õW¬µZA/¼à£f)våZ«Û¶è,$h`Ð)<+B{${rßG¡b¯°ÒêD<ö
-x+ùÝAX:ìãn¡Î½) (oO¼(²S31$¡¥°È¹P/BJax¸O©)ÊÏ}"+Oî*ÜÜÁB»f"Ðû=947Dtø¿ñ¨ë/#fèÜiåSúü¬6áÊHOªÎfз¶b'"Fg
³æ´Ò¥R¤¶"ä»q^
-ù¾Àà<P_8nzü»þã»Ë>ñÆä#mýÙõì ïÏE0êy/O8I-í*^[4|éå±õý_`¤>mgí]^öXÙò¢vÙ`qbæid2Ä;ù.ßßÂÂDß±
-;.XÌ÷â!±ÞÃÜ˦ôÞBëî¦úªå£Ö¯¤yiHA¡yý$+(
-¡J9ÆaKfCèíþFÿ3Å_¿dö~AydÐÄ
-µ¬Qí*Ha=y¬
µWÍÜåÐôoܦ4cri¦Ùü-+/åùtó· ±¨ÜJXɱì¯Â®àbL¼>uP}L¿5ñ-åG$'3/)H(ôÃagF©· BS~râWÈ{é.Íá|$ë)*w-½[[ºíÒpù3¢]äñúÓuH*¢ Øé\Ã@³_£}ݶ¾®¿iµ9HÓm2¿§ê²45¿!å|Î=Ipµ<íµú³ÿÊ>²æñ¬Ú6ã%'ks.çq½Sí}i´½þ«ìçDåâ%0^¬õÖÜÔs¾FÀñd$ÅK¾.níïÔÑ3jUãâX3Üâ|ÞrÑ
-©ÑNÄV¹orm1Ù\lZJ7ÓJ$Æblܵæö{
-/Ù½||4`2øoy#¶U´`jig(Ê¡«tÂP¸Õ*úr95ã`e0n¥¸7FÆ?à@¢M8KÆäúÔÅÓ@¹`Ðø }W0°¯hþñ¿1iߨ³q¸@CU¡¶²Þîl~JÁ¸P|«0o½ Î4qìmEöáfÕbâ'ÛøOZÃ?/Ú{qH=§
-eó=x3Ytý¨âæ¼:Dï30-^ç`H
¦þÔ¬Y}ÕLÏ!
-}p§Á¡m&§¥¯µyâ¨U9ZuÂâ1¡ý8Ï·óI3õÖ1``>B
-%ö}HÙïílákT^R1¿·)<ÌöøXUKb
- at Mqtº<¸Ô*`õ>~û+Nu
3£;òÝ`Á²Ç[ôê®C»&«7¼·vÃéQdN$Òñç¡z(mÉ©#%,µ ßgÐgÀ¼¢u°Ãs{Ƭ¤ÓTÚ´¬uÆée
-ݯðûl_<{%H]Î(²ñ"r#èÁÀÊ=YÉ?^
-°;.\¼ÀDîßÊu2?bÐGOJµb[ï0Ðÿa¦Í÷*õ·KÑî«ìß9Ý5'EÖê©æ´ÚåÇ
-YAiåÎÍÚ<m³!o3ã_¢¾`Úb9MS6PõéÔ`O¶!`Êñab©«ßqUAÊÇÀǧÍ÷VÐ;6»I8-%Kß
-Ö´Ùëàlò7ã¿7°»*¨M Nõäº%ªÖ§T1¡Àn>éÑ¢÷ýà*Ŭ5˧x
-áºt¸à^ùZâ ¡!ønl9gäX±ú¡xQ_²ö4LKx^<ªDG;¦l¡õ;j©WÛ¾ÏÁÛÄ&
½G=
-
-ÏÑBFÞ |O;SÃþÀ¦â©iJ@
-bÊ÷}OÞ¤ Góuë> 5?PFÚ¾ÀÛö[;M·¼tSBÔckÿ=KAo0ËÓ¡PèUHs¯Ñó[9tAÊ4;s,OnôUKê\G_F)¢ÃÆ¡¾µÕ%B~
->+Ï3ú£¹3 !«wëðEsÍÖZ }éð4~z׺$prù΢:ø¢]GÓl'¢Ð}«üj«PpÈ3¸Iý`µþÃç«}O×uû3?rD:£³±»±]l
-Úý³ÐýàE<vðfu:eÊ©öÓøÓ|lñjôÛ+M66oUqµt·éV|âmÕ%U\sÆêòO¨¢ß#·B¡ÔoûEâ©6¥¶
-¯sr}u OÅïÌI£ã ÓìF1*©_q½G(=ȪfÌl³´9QNOmj
-¤yuPÐ ÊÎ3¤GÅ
-K«rzEã¨ÝRÔ,¨ò5UçÛ0×4¿äO®êöê w÷^+%ð$/Ãù¯7e¹
-èÒ~=çkýûWÏ_%{÷¶¿ó
-²uÛCX+ñ<q)PÃïý,ùL'
<Hßm /è«EÎýmaôXÛ<téQ
-\»ðms` Ùâ¿qÛ$l]ú+k°pãE0ÿMÖUÜC at ewøü
-9²DªðrØ^GRÓz9bÐ=ROµi$^Pµ¼Ð×X9¸µªiôDTª¼©
-;gx/[úÊ8_n·lк÷üÔÒG.E{÷óáqÙqDZ gí±[.wCoYåÙxd/Vµ3Aå z÷Ìþü«Ù¹ñéÊ q
-6ÒX²¦üÀg'N--¤ õÑq&ÿüObS£ ÅRtdÄ»/@ÑÞ>{fd>¯µZã\Çðö@åÍT½`ë
-tÑ˹¶;*¥-½
-e×
-ãk¥Fm¡;gxH0üÊÙõ5¬¦/!{·éùº²bÞÊ
-W8{Ò'¡gXI_\Þ-.Ï[Gê-VéV¤Qo&8<,MÎßÃ: ¡®õ$3¾/§¹ê~µ3òDZKTX_Ò
ßà"tSõ~?§ÿP´æ'åÂÖÃMkèC®üåçD°8Ȳi*
-}U*|+ÛBæ Gï»Þ[Nÿ_{ùÛÓ0jfŪ|_[Õ%}|·HW¯~ÍØ þó¢êÎ)=¥ÍnêǸvÍÒóWÝXKý
-8klÄåF£ü!o[ñ=Åý´Ïg}mÞ²Y¥õn.Û~h-fõÅÍ}ò88Ð íq.B¤ÉµÃtL¢©Q0ÎÙ^a¢,'sNaõÌÆâójÜk#ÆëMØ
-?-ÕKsÁV#vÃÆæs¼}Âj¥ÒfJo©iïºTZ¤~µTþNoß=ª¹mÂgá$é¥ p¾x RG,pø¥,¢ñ¶
-
¾CH3äîÛ³!NaùÔµa×Ôµ«l?#
-L&<pvÖGwYç2Ï(ÞívÊâçêe¿ ø§¡ï
-"y]Ôz¯æï¨Ü»<림: <Ûãßm¿ ¬ÜD÷1²Áç3sn¤ý7ôw5 F¢kH&ªÉÈ2èYÊXFÃv²déä,³#s`¶®¼yÖËVLIÛÚÛ;J¼¸c qõ¯»´î»çµ&ß
-êéÀÓÛÜé
-Ê ´_¦dãØÝøõ¿ä®p«î!;Ö²
-SÓº³wJãÓб
(W"?µi,`àý&ëë
9r4ÑPcs
-Éqm ÊÝò@{ë|<۽ùw)1^ÅBîéÃíÕWþ$¢)Ã5Ä!dcç*Î/¤ÃÚA(côhH áã´÷´H`pt±¾µ
üâ¯
\\«]ÉÈ\ÑrñÕãm°Ë.ÔÜo|Î5éÕ%
-C,p~\[8!yK£4LmÚùé|7
-]
GñîðÂYþLH_ã¨yï6zÑR%e£lqÃ+)"º§ªcEHfo|N×ÊMzãÌA}ÿA¶lZTùÄl²Õñ(úRfû@47i`H}^IïîLï3Þ$z$÷{£7ãÙû&
-Û
ÝÅHÓZGáîÁÏe
-u5HLÀÔ@¨mE<=ÀÑñR£çª]ZAmó±¦ödÈBü#¨¸=:ªçî$Ô9Lõ 5"£ghëQ\>©îºá6s;6Ýa
-³Æö®Öo¥_&µëËeOOð_7 M¿>5Nz*{ØÕZÿ×ÜéÙ
-0ÊÞnäÝ©M,i"2OêÈ)IðÇû¸ (l/öSÙØÀï+"Ý⮤ýµôÅêïJs¦¢ÒNÕÖsñÝLFöD ~üÃ(¢!ï¥4ÜdM²¶=M=¸bµò²«Zÿdze.ØímRóüÄzîmè Ù&6©8]ðÄ^àÈOF'N»
-Y"k1qÈy¤2£)naã¤õÒîió\4a A'J
-
-0ý-:
-N ÃI`ÖsÏ}A!l@á÷ãfslæcÐlÌöÇØ1Í%GªZ_^¦`v]}@׫âïÜóæ¾7ç¨{øMªyÀáè` ¬¼¹íó$sïäÖ9pÙÛÆ4 «LlÒ)βªL.ú@#
-¶dÏÒ8
-éh)/p³Äì]uø³Ç_£æÑÇx!¤¼óDÎBä·#6
E¨e^aÂ@ýÚOý´ùúæ]=tD^Ϫ$WãRZÁÁÑïÓĺ
ÂK"¤Z¯ûTrM¨Ghy;{aÈ]P{ þÌ/ãÁòu!ä ß>
-6Å<ñ6~6aßÆ8ÍSÐE´÷·m/_¨m¡Ø¤n$àÌ©ÃgÄc>T<Ý Åùæ¦áE>
-ËÚà³¹iÖÕÚcÀ$© (Qº·Sñmhæz ÅWLÄÇtà²÷¦/¼xªNvÙáö5õHv(ekHWµ=fƽÕe]úFdaÈÏó?¨ÒÔÌý¬±ú-;#BÕîCÌEcÏöë*Ê_P]HÝhqʺYÇ{°LÊq×ÒV쥢÷ÊN´ËO£º¤×ϯ¯¢Ìñ8&6§tÉù`¬¶îÂråDzáÅA®¤È×òì|Ö`¹BL¡ BÜè×`¤iÕ¥þIòLR{ÏUiYpeÕ è92;:fÒTèºNLruö.%±ø2íƦ/O»ÈÆ~]r&}®ÒJogIîÝ;\lºáOaï#l*OÆ
-ò~öIo?¡þ¬Oð-@±
-ùwÝ+Z:|üÌ@$èîAû«Û%´ÙWFP}Íf0ZÇ úÆGÜQ¶Ô¤ÑjãöNW0Rì
--ìõiz}a!b}ôIc,W«(³ì= t?¾¯v'íøy
-2äþ¹å^;£Í¼>ÐÀT at r~_ÙuO}Å'õåI<Sùdñõw¶Kÿ)5ÓMLá¡mêGúo ¢g/
-céZªUy)FDÇÝv¸b¦Dewüµ®Í8B5
-£!Ö ²êI\á±½«ô¿ÍKn¹ÚWͤ&¶m/ãϹ£E+Hóɮޣß9?âö~Db'%ju³¡ªº÷öÕFHEckÂ}IA*;§Ó¯ZbÌyöu61üpãØzku±±±:á\gÑøñô½ÿ×Ãuã|e¾_ipxlÔÃ_°[da(;¥±í|oÂÁÒ¯WiºäÀsëÇÃ*õWä¹~:¬mØáx=8züìzÖãýÔ}ø°öè¼ÊE5E3ª¡a gÒøZú¨ÌxäN<ÿÞiµ?bø+z±yÙÚT
æ»dÄÛ
-¶2ìD1ßÄz0DÙcµudeåHudnZu7è«ò:Øó:½ T?$k:qrȾ~½# P²C=ì1ó«¦f=~{[iM}Å×zâ¹^ð\ÓYs¾©BYÜÖEHó,Ðg£¼Kü|ÃäJù+.ì+Gj/õ@GË4
C¯í¸<ôéÛÞµ[¼7[õ[
-mòð¯
ÔD"à¾×;Ìe1vtFix"
ùîôç$xÝÄÚ¨¦5Ðè0¶JLOìÙF=ø"ã8¦UAìE#PR}È¥¢rlÿ¹AsE@-V?ýUítö[{[M©^@
~ªûh_àÂúèÏ«Yù8ñÍBÉ '¢üc ×ÄKGìÙë5JrýzË~FÊdZ6Õ)tjK#iQr÷õ7½^zaoã¸ç-h ña YwQâ&T\ÝÇ!ï|ÒÑrÔ5 év&Ö^]å±År¶:Õ¸Ò=a%¡Yo»ïj9x^¦éúªÚþào¢ô3`4´NMAbëvj$Äàºtã¥áÌ!æEÌûð0»Ìî÷~Óø×Ë_ (~ÛñG~ÿ Ex »ùûó$ël´Lú{åÞ$õýâ¦kDpic^Z2¢¿HÔ¬E½EÏüßV2¶K׬M4^åÓjU
t%üñ´±)}ø z'"2óXþ>lþº\ñÒ;°¾SÌ"cÄÿµ;ÄN%̦ÝN%½8Çä¶ôún)ãé©I&[.ò:µí
-º1ףةü*ÍÕí!V¤Ä?`±ph?ºb}Çë¥ÐûÖn$/<¤Ð´Zí`þ'%Ï4ÿ|¢m±+\½.\s°Gcxù#ð8îV×QãÝÏ1oHã69©ò©-FMפæÿÅâi£i ¬;rOüòßtêl²ï,®mrmbúú=lõR¨jTVTõæÚÛf7¬É×ij!ðáci_IÈúo>°å<_>'ÈÅMºÓsÛBy9RáMÎï,¹÷fª,ÝaÆøüÚ»ÄJHrU4bb(KãåÈ{¾«ÇuFq7_i
-ÁOY«Z?ùìÜD¬X 9VtDZ©¶]wÀÛæ~PÄ|@²héÙôÁÄÜ x4{Eñj¶@Y_ËáRZ±Ña¿aÇnpÄI~¨Q¯ö#%ù´ÀhôzÏôÞ+ýüñ
-±Á^Õû4Ë?Ìù¾»4A,bÒMNê
-CtùÕ^ëÖà¶P~KfíÄþ$Y®vXÞm:7(¬DÑi[ÐVßævQ
K¥0
®À±hxø¬ÿdÓ7Ôý¿OIb¦ÿ£XD¶ÙuÒUñY¼õBÎ:9Zê´mXñÉ= F4nÓÊ &Ñz!#¢e¯¥_Ý!¶D&)òçà|Æ[5¼¯Îøç6ÓPT3âÖ=g[£QO
-½xÚ磡'nô×Ó·4=uÜWí.o[_gÝ4d·Mæ~T
-2NÚR;OÐÁf"·Þû>ì\Önoõ$hþÙâ2ÑÌÛ-Æüÿ+h¶,2Àë4T:0DKMmãÒO&vø
-3*»fîm/oÜp=ðGÓKjO¿óàk¨ÔÌ&goDqÌ\2^Zå¨káqìÒô¤\ñû}ßjP¡ÐÎ# áÍ£Øòà´øß$¹IÖ??îºâÜÃzÌ|~a®yrC²ÚOSP&3ç/F{PMuLõ!ª¯
-ÚÑf9ÃϹ×PûС}¼lÀöhÿvÐÐ_õµ}ÖæQEâZêJY?òo]ÒúühP;/ÇK@êÎn«»Kô`
-df+J¾½Y¤l>LϤÂuî·pq¥)yo ?GºøOw
rc:½9W+4z_
-ìv©O9#_UæÍ
-
-ÙXÂòð`7S0vJ£FWÚ¨36DjíÑDëå¦Kl¥[,¯bX@º>¾áÁ¹8Ä@¶Ïñ:r¿Á¡j$ÖÄh>édã²hºLc:ÊÓ,:W§æS`ä9KÕæK2v¡N£h0Aÿzd~©-J©ê0EX¶æ«I)_*ߪ©ìâj¤èk8«ºÂV¦=ý½#pu»
-ð¢s/Ûh]µø YGûqfJz´÷*dåÌìÅe,¥Þ,.\X @È_$¼<BÀÝ
-yB5HÍ6ë
-h.%¬ñ´ëÁ¼r6½Iâ@â¬9y`s| Æ¡mÖçåü¥ÈöÈå92ãôÃèB¦Çðsõ.óñÜ``
Ö¼¿tm¿öGxË~c.ÑjmõX̸ïßÖ©åhòëjZ:q;ð2nêw§Áz¡ê³G³$¡*ë^ýivsÙVá2õµë
-:ðJ
-Çäã.®Öÿ$z3÷»ÐôÞlC5»ÝAeÇQ͸Fª,ßGD#¬÷1=3<gèø}¢Vw«¦Î4=:úeH8\%dý²¸ã+£®kÆÿÁܼèÁ~"[ÿ×ß½Äô|÷,kñÆ~ú²ÈU·©¬ÕÜâ=.¯SªG˲ÐAØÑhõj;q»C'B¦|g
iÇÜ@Îù³ß~rx>e(ý¼öÎÒfFqòIA^ª«,ýF´²áÉ'òydÑJ\©cEíÚªÿç
k©õLs:räaL¢4å~ÎYà¡f±V&äÜXöõ(À²}×eCØvÏNÖ§Ã-[÷&ä
-`é¿_%$_ox&±
-,¬½9RÃNW
-΢{åaN"XR:½þ¸xÐ,Ç&&äwêª#°§ÂG´wb<3N`5ú;3z?v(:Õ
á £÷Îîçâ,«OåðÈ2¡4þÓXE¯AxO?·¨1$TÉ_Ûélú4ÖÛÄ#8Bá¨mã±´Jí¯]{mÒ¬§Û¿NKM×±Ü/"´>y¸¥ÒJÀ\¯/3f=nªwè¹#8NµJ
-¨
-dÔù`ù*´]7>6ü¨ë&Fì
Í!=IYÈÃ$>[¹¤öêk©öÊÖéD$ÆSÎM£oLS®¸êDC(¡°iéñ D
-ÖÊ´± öýÍ¿
-f
-æJ§îbÔ5Iq}pÜî]"m£UùªX/G#òµ²h°¶siTYólƼkx)
-AöÔðç Z|ªQB®1
-/§xB9¢Yû¿
-kÈý*Ò|½^ÊÄ´k0YÕr1u©·ým&B
-ðxæ:9ÍMâ;[ÍÇc·o,)J[RZY8Æ\αUK23»_õPÖó¹úÊ4)÷¶WPÔNº¯Aµ¼´é°?O¯9n°ÉÙ'G-èy бû<*ÝÛsKþÛS?`
-
-òìw(^ð"nt·Q¨¼²ÑJ¯fcà¤YÝì*r3iuçù
-üÀs(è<Õ× ]óá\ݱú
-ð0°9÷$=v½WªÁK@$Óå°Æ:q?á× ¤^´ªF
-=Uâ[½zzëÇF¡/*Ùù2zù̲«ò«~»ìj$õoÔ
-R¨VrÊ@;ÆGÉ#êêa¨^¤Ã+";`íÉ+Ø+¾õ;5uà'HöG_åÖc65·6
-vSLÍ k%FKù^l?@Uþçy§ºÇ>é´ qhøû¥7ÌåPTáËCiä½ØŤ¢[=)lð Ê8Hóõ Ó²AXüc-E(PAÿ»2;¢e§ Öj7]?ÆÂppwõæïÄö
-hÝÒQ
-kÓ÷_Éí&^î%ÿG(²Û
-ÑâOÕ&?è¾Ô½)?©F¼døIt Y~)TK\PQãó54¹q¦VC«Ä¢ Zónãß~8F~Â\L5
-.·Âí9¡K/å(+h_c)
-ïH3r9zù¶íG7·ëüá!\«Æiv³'9ľ̤*TBTa0
üåÊyéE´!)¬uoòs½¸"v
-R6<Ê:Gñ_eGÁ
/bdP®<Öµ÷faµ)}¶L&¡!ôé
-ô¿póõïB÷Ògü4Ò©¾Ñbú OÂÀhmα¥ñÊ-`!ô·2[YînÂÃ|I·5Ì9c5£ÏH¯0X2Tp~+xixNvÕ5§ÈÑ}¾Qø
-^
Ç¢{RÀX°ÃV×lÌ-%¸ZèæÀÓÇÁÚ¤¥ùDègùáÅ~3=G§±ôåDkCmRäzfc<ª{.çX½¬°rÒ¡@mw`Cà1Û6éÖñ´2ö-[ì¸aÕ%áöF8â!5Dc8×hG?.U¼§no8Oõüu¢¶±)
-^6æ(PÍåû±ô=fEßÙ0MÙCz3 5
-¼:µ"²&X@"vù÷£M#Käg,a)iôÈG1
-#¦ßtN¬¦ð¥òìáá0`¾<è»tZ·?¼h£äRYÍ çªu¼ît#â
-*¢èoxÜ|Òµ³ëå}à×ëíf0))@8#W¿x%¦kØ@X²>èmêòòK©9þÇhð볺P jD}ZKÜX¬ËC?®1ÿv>yÆÇG¯3W¡ÐéÙÀXäiülh*×AÖ1Ñ:Y·$lC ¸´tk6 séIµ
\,mmcmIfKh{ò5ã20£/7åæ3
-D³+ùAö>ï<uâe··Äq;«½Hd?ÎlÅV_0¹ºP"Sÿ»@|]À ^,ÛúÀ£ë£zçÙLLìè<zL(vªÓqìeÛû¦/Í'×ÞÏ·*c,Slô{xXf¢7 Ü_}8õI
Ô°û¸Ê
WÔ³>æKCvo½«-ÔäÇ¢Ue
-_B³l´°u[£ïy0©.¾Ðt/Yøñ2!,MñÁb̶æ«Ö5yx_*#cô$puÐ"
-ùbÔuç÷HC¡r-ª]høÈp¤-7%x$Þ(ZÄ~Ä*ޯ橺,9}ÀËäEî
-õÌÅj1²NâaÏ?gÈ9ÆòïÉVôN+îÍź:ý>S¬wæ!ý1PþÚõ5U×ÐS &¦ÙïbK)ðüyðÝ@ qÑÅf¨óó;s¬Aº F½âSk]ÁÖÚþóºDgLçêà¥.ÕÿÄl-UÁ½òI<-V=0é º6¸±`eg(Û|Eñ>Î
ݤºx?·T}{k
-ÒÊê]l7û-üàÌ-Ôø
-f:dÿÎ.*0RxF¢y7ä,£½VÓdS¤añ¸¨4¡À
-ª$~óâe£6ª^ûGoîQ¿3¥rþ¸¸mzÄV¡r~Ó=Í+¤öv¦ñö¨s'yrtÿ©*L¥JɦXå!kû¦I6 xí7UÞË2ÏØW $FË\Ç6ft5+×}Â\~øåZP8ä¡Ôµ~WZ¼c¾ªÇ6øÜ HD
-Ü¢Ñ,®>]G2;T at s©Ø²OÃó¡ûÍÇËÉqdM''¬á²î ãn_ðK
-}¾Á^ôYö¶pÃP±æõ´#MJËByú ¹c:Å
-ÔU0{¥Xô õ¹ëV<ÖôéÚ]6~fÁ «ÔÀü:obz1|yY1C1GýFúäaÚw*Â@JùÚÖÛ/n09Wõ¸OwòMðú5N¹#wg0¾ø*¾Ð¹F1ß`íNÞ{èüªm¨ñ¥TíÙ%4þ¢^ðã[fyúý7Àýp>¯§j\ZYí£ºéX¨êî¸û|9ÌiÂÌòjD¤Q3¤ü`_vW!»UÐHG*d#0Tì`-<àN¢m¨ú?(ªcÀ¦¶¸7·Ód´"·_${Ðêàa¶¸Nzìµ(kT
-³h §ä$Éqp î Ôïµ2M2êig2²;ím\»Ñ²Ö¥èÑH¾ßÃNÁÍÊà¸û¿õ°Íu0Gùi4åÈRúôæºÝæ¤PO´1Å' Åk_Á×½\E öBv}tP`Á¡½§ÅKYÄàZN$Ô$1înCJØ}
-ìfÊýÞZN¡ú
-E:ÔPNÔ¹/ßÃK̶ ¤§ó¶<qî«ÔÒ0nïyä ½Å¾û³³¦[°éE² §`îÿhÚÕ±RJÎp÷gEºfÿ½à~§AæѪnçòÂiXUænFßp9Ã
-£kÄL
-H¤Üäé¹ÍÁd/P)ñÂ\Üý35ô5Mù[éÈÝÀõ±²Åg(Íéëu_ÝÚw`AXEý>¬Á$½bíXKk²*6F~X©µû":dáâ~&pOaKJ
-ôzÀ¸EN¡M *TÒòÎÖæSÉþ
-°S»¬Ê u%Lß__õwdCEÖ±¼ÑhУOQ@¯ø<; ë¹Ïá³ÞBrÃÍÉÕÝ. RØ÷b[˲m
-ÖÎÖZ-,ÙO±Há÷NU¯8-è'þíÞ¡#/¶Â¶Ú äQÆþó1s6%Ã\tÔ´¹Kñsx³«ÛÙî³»Aak3;"!ÊHÝ¢fxogÃe½:düþ¨X7ì©By_Ù$uo»sݲið$^©\©úKÝU×þfÈñú«n@µtU=ìeGfñÆG8m6þÛ}j½Ï:½(þ#r,¾O©¬9hÝmÆ:Üüöë[ßs#G¥'ÿÐ=;©eRmeë@«#ÖxÛ²A(2Aý.J!¦+\JîpSØY× x{ìÞÜJåi9R`Þ·9£o¥Fo¦ h/ä&#÷ÆGy,U`N{.m¾ær© Kão0EîóÀúÙZÓDZ#\Wu@Ìëcyo\9¦\Ü-c¡ÜMúóbì¤äËÖy:´WaäI½Ûr
-Ǩ¥ÑiU9LÞ#¢^u2}æoo3Ón%üØ$Ðô
-Âîêçÿ×âì°XÕß- ¯îIl1
-óS¬ggx]XrIýýx§wÛþ¥^GæÿØì[e
-&»¸ØV[eEQj$¯==EZMgfE0C_òæójÍ}Åê¸'Ý\´¨¢{ûNßsûl¶©·{ÕÚ¶0é.A
-«9$ÁÓ\ä+(Zª)%Pö»¸´~ìæ?³c¹±eÂl@ØÙîÊ@b¾û¬mãâ~¯Àب>Øxv·Uůö£nU=ÚDó5}:ló%NÙ^pa'ZhѸ!`mdW&a'aU5ÈzF²c¤ÍÚ?&6²x'ã2´OJì÷ffô(ðNÛºsÁô0Â÷
-;ásÜsïÃî
-+©µ±FZf,0ÍþÁ©ºÅóa¤oR39¬Éý¹¥rK\J¡Vu°Ð6é9}ÜvléÏrÑcá9ø²èü¸hw ìDî½òVÕ¬§qù±¥.}جqøuòCK¼ ºb\@f/$æ<6ÕpØO~YØÕo!áüRnK]1Íèº[móÊo?¾jGÁ$ëgyCîz¦Ì5ìõ¦[*»ï¥ÚÃ.cÐm¼þUNu!@ Z$¤?è´ÊÌÝL]w¿6b7£Ój¬ÎÛKÁ¡f$ ê8;»Ê:¦:(³®ï~æ
-¥@3Û*¥.ÝÌ£O
)x]Ò¤ mÈF5sÈÞz'çåÖã?µÖD Ï#©Úêj&ÚO¼6¼ã·r\Ï}[-8 æDzÎm¼"¹ûQàåá=N_%<äOáÒSÃÊu¡-úcú"QãË,úY]OÔnÖáÜ&L4H[kömØh±NÍ5]."0èT¦½?§»p¢½ÖbÆpøwØl ü4 at K¡86[Õ·¢Í*:¶*ÐܶyÍMrqJ¸z+S"*ä<(ù=
-Á=~mùþU,±ð8þesÌÄúõªM»çPÃå>á#Z£¿µ`D1 ël'm`1i¬ðíyÚsØO(è°NNo×ÉÕ&Á§>ª$ùJhnCXÛ¡ÛÂy|AÀ<¯LAdú¼ñªÆcÚQ
-à i<Ø f¦¦þ<â7h¯ß®Kt]´Ä($|:3æN+¸Å5´½ýÀÿ¦ý°WªYu÷Sÿ¼à¨¬¤¡²W×ü¥kæ.
-f®¥åziÕcb#§×B¶qÍ°wåïë½Î¿.GÕÔ$cH*ðªÇÝY\÷¸gvµ¦2(5â·84²ïWÌ#õ»jx¢8CïEýñ
-AÃ÷yï7Ò$;ÖoÜ´ÊÛyQøã<Iêƽ|3D^ÿ
-ðµq&6*}ªVÁCõ¢"ÁG<y4¨$kG\ûé[Ùx«"
-+¿L}wìjâ REãTdy5hl?R<yl[¢ÖÈöa×ß÷fG¶Wìn5>wG
-ÎòD¢¥ugH,¦¢Z ¨½"ÑRóå3{¤Ý%P°(³µÖ©ËÉ:RÝðxço¾ÄÚ%NLz+¹i±ª.èyèÝOÑk¸®ó¿Ì©þü1¼n^»©& «^/Ìé´ÀîYµUIà·§ÒF·Ù-ÊY-%=AA'ïõ0£ê¼~»Ó³íg¦
f»Ó}ªq«¦s9X
_ïdïãTqÒXâ5}
-mgj?ÞÍ (ô1#`(ÏÈEP-¹ñ^¹ÕÁj¯¤·È<dÑì G£þ íB¼ïû+>¸g·¢véHòP8êYrÃÕ6f
6ÊÕîÎwÛ?ðâªØÐÁËlÇ{=.sàû`1ÅÛó²"ÚkéÄB9ñrïN¥m¢EySõB`j Í'cù¢w4ªâªGª#Rø_«QH7A[feñüâö@ó(¥â´¿PQnûñ/À.+6«ìRhÁÌÅ{]°x[©þDÔyAïÞ"øTím÷'åâkÌß#µ´ x^uÊ£°L B×C{Ï×Ú=Óæ¸i6gã[êlhk·#t
-Ô¬|æÚÒJÙ©4·xm¬jßy7I[ÿä@£Ò8páÀ8(WA¾½K-éÿÖedϤ°B¡4jùN;Ú¯£Æ«çÓk=
-h«yÁ «q\%mÔ©á±ÅÖ|M,ä·/µ1
-{HZÝç#ØO»»Fj÷ÈÆ&
-áÿ ¿¶,¸0ÝWK¨§ÖeÍìÎx1e.
u±4ÖHWS:BmÿMTüÀë`U)/k2²ìAéérìÏÈ
-Û'aѨ»IîKíÛ-ÅE`ÿé`U×Ö#iXEà ½®Ê×Æ:5§£ÿʧöôýbÿëg_`ý"¹z6ÐAl~]!¤HtÈráMâTû<%%8x:çBç%@Ôa¤RWÃO¬ÁÔÉ÷¥Lçñ±Òx1¼¼é»} áÈr÷OÞ,wh*Ô3]þ|Aá.<SÔß Û|e+>òày×VÉ7ºSò°B G/èõ ÜC¿|£-Á¬Vi´ÊÖTeÓÖιKG«óÇ«ÅÞDYKÊ͵!{$û±ä<Æê<ijt ACöþÚKnæ3»eÃK~ÐfµÉðWáFÍþLÅçHöùþ¹;Ø^1¥/ËóZ#/u=TÍ6j7òåZEÂðÛ/ÕþÚÄ1ÌpÙÁ/â++ù¢vÁÉ(pj0¡4©ËÇcتի÷äV
-CǤ²
ªìâÊ+§Mr%a«ç:
-xE×JÍuö¤àO
-U4n"bÙZVNýÞ
-wè_²§-Wîç<Qxì{ðY%a¤aú±YÝcÐUAD¥ÝiXØ E«äÜueG«R
-JLþ
-椏
-¡èV×°n+Ý.Î
»µ.dÃ6<JgøÜ5C]úFnlèS]ºe¥.CÓAÄØÚdK¡éDÎæä(²ÛdA¸¶U8~h.U¥¶XcÝ=ËÞ4ãüèçßQÃSlçlöCò¸âÂFäÉpöUy¶ê½Tí"nòQÝÿ
¢ÛÐCmiõ×Ó¡oÖ¤´ÂRe4Yµb¬ðöÕë[£|Üzø&ÎAfAïÎ¥¼\ÜíÇ.è1ó©eÌü¢6áKbXGã´²NCéóñÆ÷!àFê(q¯%IÔôN0ô%bÃý
-BC/ÿô }3©äãu9¶"Úýa[>Ê Î-zHKDwäjLÿàã7V%,Ù\èR
àr¡Äæ6i4ï?.ô?X:
-ò \%SkZo&MþBNø%
-z¿N«Ü³RnUÂÓ~×`6³MØPJ»%¥îïξe¯MÚºÐé¯õï7ø÷Ø&ÇuñòFRcuÇ)Ýÿà¤Ê(~nåÕ64o6Är]'*ÈÎüݾÌU«Cê+ÿ¨;65ªÅâ¿qãTA¨C·Y6ÏUéÒDNaw°`ÇZâbê1â¤a(÷<¦Õ<C_ªLæ$xbB¦q¢à3rR04Ï6èWC9ô_ k:8÷Ú2ü%×;Åçóìþa3_'ÂâýâGU3gFÐá
-Ö-&¤È[ZV´ù>$?¯ tllýãf/lÅãÛO@#¸.Ì~s¶Ë4
-5÷cp¯òHöãǪ¢-7Â
-îTµäÜü÷aERF@ß:ѳýQKB[¥9Zåqí"D³N)5f>nÂÏä?Nºc_³§>tèË#Bü£±ÉÏr<h¦ìÇÁ6þóÞ{EæíµDûà¾ùW,2\þÈ÷XQáü¯xeÒ´W «ûIþ±ë®Ï(ÓkDn(=ºý/ò8üìǾa
-èÒPK.Ñ#ü¨ÕzS5lí~ðñ~ZXX³Ò·ÝùÈÓ$Rähû¸|[Aà£RoÄu7WOô/\|Õ >ßLãW_Ôþ¯~å°ï8 Ï£ÄÓ¶1àXìÊX³":ãwO]®½>]Oó¦Ì/ »È}=6j/Ým2aºc®.¡ù°ärHÖeÕí®iI(bE4¹-Sàñ
-v¾Îè)~°¢£¼³[Cx{óÃ^]éLÂ
-«9Îâj
e§-å®4RæºjE¸2Èø(³óÐàhÿ»B"i©÷G((
-zOÛç¬Ä°pMVb
-4ü]AÔ<RýZÛ'kNâ2bÛXÿ ¿rõ¾ÍÀgAòÈì»ð×Ú¿%Õwd31
-§Ü«þ|´
-¨·["ÚI«Ù2öd4þtÖ°)VìMìäê» úâÃô¼ 2B`cÑ©8Ù"d\ Õâá,Üòp¦£m]Û5.ððî;DuîQàÄh)Ü55?¾¡¸%² '`×Ög4î´ÿeOÿ;Æv.Ë(y7NÜ=¾*~:xÕâ_,'ö0¤|!¬ZðE³Ä"
4á}ä;óÞ%¯ÄwL
ÇÎø\"rª\î¬Z*J³Í|Íú£ßx(éH¯b6èãÝ©älK±mµ4äûÃÍÓIV2
C¤BkSfÂsHv`¤@lAzÐæQBû³)ê%4)&v®ý_ôÖÀw(¡¨ÜßÝ^§ä¾
-¾ªÆ£BÀùçOHç ù^b¡Úÿ_²9±¬Í.³}µ¤r.Ê÷K`ä)çʬÇ.ÝAds>µrß°à%gÝÉ=Õó1ó³¤rkÞ-âtwÄ^L>5ód:ÀÂjÉIÅ.à´ßó]0FI£f'B@Í
-PEã£L³xhdæt_efd¢Ü¸;£½¤
-Ò-8@ý¿çÅÞjÉ) 'é)1O)ÅÇPAý0N|ÇSÞ
-
-y¨Ô}§yIkÕ6U]^dskTmXaMá Ü\Ê2B¨bÆ|Ѩ2
-0JÖu ÃÕB´$í®A»¿vt¿Q@ÊÕÄéK[ÒCÉç+5æjy;Ýþ"·-ÐV0^1ö"õ¬ Ï7*f+ÒíÓàôÃÛà_úç\|ÐÓù\æKéo¨Sýmfö5!0UÁ_|^~ÜqÀM
-!Íà»_ª
--ñDá¸ÊðÒ¬ºä
-_*ϲôÕÑÅ0ïéRЫÌU
-tÝu
Ýà$!aQ°BcɤÅr1¸9vc»Ó®6¡«>^⣸¬íÄoºåxY3aúøiß^ë
-p"vAõd÷6ª?/uq»ßhõÁ³C»´©Ví PCT°b²wQ«_5ëñoKÄÜo·süéE.ØxekΪÂ8Ò:|B~ÛE»Âs[Õôù{V¦!Bhì4Òm=
-râw¾ñè»_ù¦à2dO>ÄxMÜ´'\
:A;û×OÀ;BZèXZ`ª*2ÉîÁÖÖyå³ FæÃ4tÊa0xTùEÑä$£}î\qFMFlÆ¢³Ödú{ÿÍãܽ¤Vî>©DþTõ kJÞþiåÚÉ+yåøÛÎZ^µÌ]+üOì6RâúØŶ85¾OÈ®{gpG0}ýSALÑ`æªÿò*éÕp®¿A.~X«°pnvR°D.èDÒù`½D²ü$í¾å÷ý¯eqì¹/ ·-.?¸$Ù:Üi
-_ßæ:vÆä2÷,m×D&;\ª3À!Û_¡ñﶴþ±wÄBè^w5Ðñ¦pW»dÓ®ØXeQe{ërGβUh5^?¢eÎÉ°Ê߯6DgµSÚ{Ý6ê9ͬÁs<¡Äs½üçHÄ`5R÷!¼àdØ`m¸!:@¬RÓÆÖ²;0ð}%íÖNw¡3qó«zÔ<ÃC Í{©8Å: e¹¨y|åsªÀ¦Ëëx/xXt~DyPW?Q\Uïl¡ÖپϪdû¾¨o"%qÅ©nÇm¥>KS§Jó3p£ç¢kÝ
ð2ÉÆie>9úsÆ1Ýøö5b5-cÚ;*¡û@p+²·<^¼Tó}l,¶"#Å5ë ôãn8ù×@v¬íÛÈ,¬Âço0ÙåÙTþlÛ*³
?x ÁÆÆÖ)gê&Gµc@#O©ok{;W¢ÑVi¹ÿ?,ñZèàÀÙV+/dw"(ûEw
-9Pt{,EíO g½#ðÊ1õ¬ÆuÝ &ʬ¦MÀÆ TW
-}j,Ò«JJj'¦#¬¹OÍ
-ôYÕÖÖß¿DÆا$¸¦ò>{¥H³<%Ùÿ/Åîó<cþÓÓ¶dtvÜ,å
ö£@KFÅ1-¯uXîúF6ØE»£ü¥¾6pñ~³E|xgðG\,òíÖÅ_÷Îw«ºæÇ]E;e:D]Æg!³I|ÔÔì²sãrE¢Tß)¢M»£ªT!ª>Óä̺¸$±7U^B&´ØÝxé.|É«ÜíÊÃp¦ÎTZAAì»[Ò¸»Ò:tQòû=bBAauJW)P`%ACác²)@®H0§"-rÅ{ñLïA ôȹ6µjÏeà¡Õ²I¶?/xÜÇ^x}X
-ßîÖ¸¤"ÔÔÃBët9
-7æ@P§´%Ü_-Óí9Üo®ÌÛÇæÞ¡¯é|ÛcêÐêeÍ36ÇXÉ]¼µ}WYéJ&z÷¹ÊRçýÄÛdàD rsû²Ýö`À`s$ajºÉØÎ+½ÉϼVB+¥Âz!·§¥þàÉÞÄÞ4N(¤íY¬MÉ%·øxæÄ*ç÷~jÈMá缾ÇZ©x±+HXUÚÛ²ì1Ô2ML¥²Ø Ì|Sa|cËÖù·cÜܤ±ìGQѶ¬ÓÚðÄj>\|.CP
-ÀRÓ#øc=mXFXù/°Û¤@éÉðÌùâÿ )¥oé>i¬ÊÖª¤kj|Ù$_3FiéT¸ìÂdôâkáGqð&ÚeèA2`3ÄKZßF¢ì
-|Å4ÙlHs (unÏ®ÿ/©éa¸øñæI6¢¶ÜldÀI]"ìߢµ_×ëþF[çdem£JÖbQ÷ÞíJ7OgPùSøyÆ%"¶zöêòªâÍgPÊ4À:¡M(NÜàè)pºåDC¾¿îxÈ(ú®oLòÃÜ@"§Ûû1ñÝ^¸ß©&!C×Olí ¯»-uµ{Óc>ü<ìñ>)Ê?¾hB¯D(tkR§Ýé°wÏ©fàßd`)7kjo-8kª:(
-»¦q-!u:$ªÝÂàïGô|©vn×W¸:Ë:$_øñÄż7;R¨e)Z`ÖæúíXÉs¹ûëçÃ5·]Í?c~Ù0ÑgMk^oV»¸Ïö)öQëä:R^©;4¿éÆí2¦·Æ'Ô£ä~ Õôµ×«CD*Ác ÔÙHrÜak7Úv¯Û¡B-ÒNïp¾ê¬äñxª´Õ?¾6U?z{vd"¢ ç
-Éç-ØÅ<¬E«JWNj;¦ôX)
-ã b¨_?!ÐJ0lÌSÞ¬o%
-=´"åm¸tÌXÅ¢¿PÈ@>z·¶ýÛ¸ê¦
-ÙļÜJ`Cè+×/¡²²Ç3¬ý#ja"uß>Ø(r_1®pÑô«ÏÄÅø£ê(P§-&#¶ÞòÃ{vîÊö¤|å6¼¿É J%:éuSþ»ö£`êÓ¹1*\ºýMFsèÚK¿¡Õçæn%Úd±#ÑTëd§¢1B65v
-{éXâîßÿ«ËmæÒâ4ºjCßlo:üÛ÷P+Éb8Ë82ùë±)NÇ'[gW8Ä¡-^
-ð¨8(MFÚ
-Û8!;O.¼aaØÇÛøkÐ$<ÖÒ\¡'&Xi²WPf¹þ³<vØNîßæߢ®CnKy|:²áâÀ¦¿Aj_OQ$M,r_¼äAÒÍ;ö~ùq×n}
-Òºçò¨ëb]àÒRm¤9×Ï®¯ãÎt-ª³\6ëlÌÐçÍýDL:¨ìÈc¦ùö£>
-úSlÍç¹1Å&3Î
-É
ïªK®Ô¬ü¯ùÚ,èT%W¡çs¾<É´¦GÝöþöZàx:ë1aj¸^ëÈ®;ÃÅÇìxH¿
çÙç¹ÚF Ç\UoÀB
-ùJÒXSYzHÒ½éX¯ß.ºFpå;Á~FÒ¢å*à5I PvÕÚLîÉNãUÜ&}¦úyùð¥ß7H°2ÿ|RÚfÀnçêFêÄvþa+Æõ{)ê>Aa%Ú9¬µ[S\Ö$"//ÇMöþ¾-oBÊö£é¸?vTzÄʵIþÇu,@Tâ>òÓp
-§Àrþ£
-QÒralh¦Íì±à<AX|ÃþwM÷û+TâÆñWXèg
}Xùë̹e|f¹µéI'M~ùÀJä`J-OR`,«kÙü]L+2ùðk¯Ô*W~gI=Îe¿¬«ççìÿbzɹánR0°ÁJgmA4 Vصiæ«?©ô,þ
-Ø+¥"zª:û@}(?Ëþøc_é/de÷[Fâ¬;ðåvPZÛÙô7^Éeçw5}}©>߳ߧt#Í
-5
-yY.\qØÓ/xOOÒ'¹ø7q&emøæaÒ[É`Ö¢%ë§ÖÉ
-¤vm·Ö\8R`öòPÌUâ-|N÷¿ãoâ°$ó÷Ëÿiw
#ºç×|¡vùåZú\H|8 jóUd¤¬ÓßûÓá#óP³ÑÞµöIPÓ»¼rNÇv@±;>¤IY¨¬áܤ
-ù#kUzµÑÜ
-BÝ·Ð+pßÞÜ°¶1ÛabAv5Ψ§ÖqÊY,u! 3<.QÇ@)n®:Mö8~3Ry=òÙ%_{³ü®>àO&fL{.«*ÂiMJÇvUäÚ5mÐf6Í#^·|¶¨<iéOd©é! ýÄrjäÎ?L4Å&xôнýôªê¦Ón wþ)5!¨llGß<«ºÁ
-"âíÌù?
-ø»·zekO8ñ~ÀN¬êU^¥zÃÆ|×ßy¢h%æ¹Í£$g[8Õ¶Ú+¢¸Z=áK©MíåçlÓr³]_ðZrP~Eèmò®¥V5öËûìí@Owð°Å³ÕhˬÂtz
-ÊÌRÓ_̹?¦(Ëg>üiN¦·¾¸ýz0
-ÉÛg-Kq&Á}½ÛÑÊYq²´À0tòÞQÎX{ghk83&â½lÑ ;Î;}2 $n_ùçªÃ>|«Éª7K«7C¥Yè*r&RFá¶`mµ\¨ÍÞÆÆá¹õWCÖ·°Ò*L¶&Ol£ÂÐUrpcl[Ç>uÑ+Ë,õн[ôOJËßyYòº~>PD ©v©Eë.e|ì$Sfñ¡Î2°¦WK¿x´I¹!û!ûþÅPëG<
-{rú¡iUÌ>l¢E(ÿÚ¢26qããÇÔ&8ʪ¥t}(x*}lµ¬{nlçÙÛ×vS~ݤt\bó^P6*$gøuAëY,wýª¯`ä{41áhá:gK~Ä{P×èh!<
-¤.Cÿ«©àè%h¥_8~ûRrFA3z桧éèÖB;Ï¢¤ü¯Ï±»uºê?
-øWkå&3`AIÊv
-® iåç\QêÚû¨\_¸æ!8Sqã§öXl¼AɦªÎH+å«
-ËTâƳܩ~M¯OwÚ¯Ózìì_GÇEÅΧ¢m
-ÌO,¿â>â÷¦´77àOØ#ÖͱÝõº¤Ï0ÏêâÅVInv!î!#y ª?þ|èÕ¬GæÞæ|$ª;k{ß¾ZdÂÛ Fßè}ºÛåãè
-sµ¶Ú-R¿ª/ÂæTýyi÷É@´-K´Öº¢E¦.é¢-,ÆOé¹ÏYü$fzmÇÎÝÜp%¯Y£»ÎÜ1XÊV¡OÍAr,ù8L¢á3"dZD¿[zß2¤û¶µFÉ¡sw®øóéI4²¢\æ¦h£ÑéÒ&YDh¥8ä!u//µÈDJPÛcRL5òøÔ@UóÐr$zÇÚÍ $ëdµ=*ÛiÆ;¹>´W·
rS<8Kë
-ú mqØí#G6*ûÏÄ\BsÊÉp.â¸H]ìáÒÂM3wyLÙpgÑ5ô;ý»øé',]PÔ~¢|pz®\7¯ª;_òÍ^À?GoÄ5°è2Q¦·Ü?[Ü9|Ù»>J¨Ã
-fwUÖOµÈÐk6.?·O¨ÆvC ÃÚýfýòfïëxûs[9nN¶Uí¬+=ÔZ^9wÃÅ9gÏ´åè<TÀ«ô!éT7d)®èöÔ@)>M+Ä-QÏ+6ÉØÇ'[À°¥-1ðÙ-Á
-ö7}âµ0W"£²n öýØþÚB±Z6ÿÄ-o`ÌD@ðñüeÅ6ÈØ#VðÞ´ÆZ½«vÃ.ãÒÑ,ªÄÃäqþ~Q¡q t×eiÒÄÆÀö_úð¿ ¼<P!AO<PþÜOQ^è W7÷¿Ìa
+x\É$·½÷WÔYËÉ=LwUù,c
+4RW3É`¬/¬íö¿ÿÞ¶Û¶»»eçëßå¿ÿçíï?Ýþó±Ý÷´ûíüßßûØnùØëÒäýÍ»ûÏüúnêÏï±þ&ßÊ¿ÿþÛ_é^nn¿}ÿõösyÏ®l%æT¼ßé/·ïÿúx~ÿøå´O¥î»§¶«ûÜö=¶ò3Ç|Ýo¸ËÛÝ×
+êò£·ÿí¯úûþ{½^
+õʸßwäÈ!ç¹v^
+ at oÉùÈõÿúiÙÝö*¾þ®Ò7ËÑoBá¶~J,ux¶®Í¼[*eu·ùJ@:B£~p®Ýþ[ôùUB 1¥}§'LO=5O¶ú`ÿÔõÏvæÒôb!W®.Öb./®«Râ£içª<ý½RþÎô+/tU®¹nã
+lèoܶUB}eòOº§ã½ûÎísù2 at XÕø;´+ЮsDe}TõîUwIù«Ò7Q²&½j"`(éõ
+×ß·»}*Ïíò±úß ëpa5\òcux5Æjhi÷(gø¡÷ô[^ÒÌBÄÍ\YçÙXE]9¡º¾ªxïËk=*9BÀÓ©T.yþ¾Ë¿z}u
+xk«·aýØ^×Ìïê'"-I¨]$´ºÜ\Ùqç}ëÂBªj<»y³¡`A`=mméìðh*¬ë': HÇÞ¥7¹zqD¹¦ÃDÖR* /¢s}ü«Ö[ß»ìîcløÞ©{ê÷D(8ðuí6ÑÞÆh2Hºé7çöÑòÝMusyðY7ýA,ÏIÀ¥.t,è«ÐÔ÷AîÕ½\]> 'P«¦}a·jÊ{VjcuL>icâ¾aïFuy#©/ÜëTY.U,
+aÕ;eô¢£NÌÃU(¢Z,۩Ͻj4
+bæUgPäe×XEûê÷Öç2Wád:7¨'gÑïÓsA»3ÏX
+ÆyÂL%ã-È.Qä®!èvÌ&!Vß|r
+ß³. Ù8˼"Ìà{>9}Úì-u YDàV{oiM}ªèL!l½\%ÈÙ³6$AYÑ»¥àA÷ 3¢·gBâä±}JöRyjo ¸ÌpJÊKÙ¥?cTmòVâI¸ómr¨¶>T¡ÅÓ`Eý À'³py¯xäãS0Íëi/ù£J!<´Ùèµz2Ô0pÍ¡{Ï\0i$8¡|1È4K6akB+/I°f²nC^ïY¶åÏq:SàòÂPÇäAçÖM]íÅs´?3µ²5ÛÈM¦Vdô;¥2ïMm®\W¦÷8ªo«érX·È6sr¬Ö |2 ]vrþÙæª ùC¤¥$É
+r,dPyø«ê\U¤ñlÊ ï#0úa)àIúhPÅr6D®W¨ !kXYK{*·Ki7qÇñH,0
+¹RÁSJýÈeµzNíR=Ó>û_ÅÖ°OÜ_Tx/©ÜÄGÑiC«
[å×Ò| l+%Òb¶ú-IÒ ,RÞba? ¡ õNñÝC~Æ+ÑÀ¤C«" äc«·àH>NùѹäiVI/°'Ør@hiºüæuÖ
lÌ é6µjM}©ZÕÿNâa×®Åñì¼,UU3ðºHYHVNß
+Ú z¢t´'¤Ñ3l¿¼M{GI!Yû sDùÑ^\Ù^J¦â
+¼ÀÕvc¬X"´5!ëôDÝú5¡íd
+!Ì8^HõEÆ1ô¥z¸0ñWäèAÔ#¢g¨HTxÓf¡TJx¨K{ij ¢KcsÀGòþ¨×¦JÿìF¾N²©íÊ㨲ÈØl4TÃUÌÀÂNIÅGÄ¡Èb´7¡÷SC±?]Tæâ¼Tm4éo\DõC¦86À«ÍiÐ/jÔ\5N"k$àHÐ-áOïϹCÐUJè>Ó',eóE.·CGøÕh£¸1½Xt2è±1î ýúÓêL¢5ô¥vôM:ʤä!z¾`®^=b<Ç>K»?7TÑ÷Ë,kª#WvH$f*P¯Û`FC>Ü~iqLÃRßÕòc;vÒè&ûû458åU ¹çPÔsÙdFiqL[)
|ÓgQ;cÄ´Âa¸¥8±&u¡îºÉ©¬D'~¯jt¨}cES½§Nú¸$Ê_8À¹Â]ªiIºMQ°ª
+'Éé7̳vÇCJ-VÍ¢Cw6ÄbO÷°Càû¹æ øµÂ
+,9%vÂ)ÜqÕKôRÂ6qã8HÔK»0èxTx1ó:º@~T²S\e¿ðnQ
+z3HáHw罺úãèÍyëbÚuÜß·qÂÄê|Y7 0-8×Ò*¸q×Ô±ÌÜTb»ë\'Ϩ
+-¬F2[ë¥<_¤pª¯+ÎÌñÉÒ\ÚúÂ¥ÎÏõéJç}ñWªË%©K¦'íÔúdf6Z,×ôT8ÐvÁÆp¡^fïyCçÚñ¦1È´u#MkÀ|ÏÁ,£ÔðZÖàgo{)¾!qâwÃnuOMdaY¢»½é¼ýÈì%¨éTá.Õ[K×ì0î±(-Oéǽr)õôc@)Éifb¢ÁpNdÌТ´d[Ô;AAZçÂâY÷E8zÁÇS¹E*éfnCaé
ï/p^«féàö*AØÒIÒÕËêS
+8go°¢¯µf*ÿKyÐ1@êòÈàtNYèõ8ïÑó<ÛÙ²Î#«´+JÓÎfINe"m;Pg°*Û)®*MVs{´ümUñ¦½7ïWÐ.ÒKE¢ß¹ð¤ômél¹4á>jöI îN¶¿®óqMýH4óEñâÔ::²_ΤÍõ%MC:èrGÂÅP4Ü¥ÖÕTè
+QCÑ]
+
ÌôìR7½½Ôµ&fl¾Ljë~bØuº¥F
½ùÞà¥w·CPórWïoÓ_ê¬gÛ³Q8»ÎNªdX¾qª/¬ßo«öÞ ÿéɬÓûJÎZÔS±]
+{ÛgoPøú¬oñ&ÅÜòªWVSÍ)-Z=íéMfq½R¯Æo6|½g´U¨ëeB!ZR®â«ê½JEí«2Ã\FÔflõG¸µ~è[î̵nMµäJ·Ü¦o(AÉJÌø
+k
+»
+çïôùZ¬,ð=gKúÍ[yònJl +À®/j6¤WfÌjÌ&)¼1§aô_~ó& ³ãR¬ ¯@®ÿ {:²û¡7QWi@W,HX W}h2y½@&õkwÆY²°p5'1SKÍaëKiß·ÃÒ@xùÆ#]ûïÊæ7k2.(¶hô{ÏÃÍ¿¹ClèbOÓa« ý¶~$eý.%ÁôÏUf)½X(Á`Â;6C*ÎV®vl at H·¼½¿Þ)RîéË6U<îÕ'ZùÕ^]8xÇÉ
ßè@cß':Ũn·Ìÿ±vJø]nû/ãï`nÛ&Ù9ö
+ÉAÈ¢j*8ÓL¹öm*Â\×äDÌ}µ@jhqY+®ÌªQ~ñ?(GZÏï^ÛÜôw4tZ§F@¶ãsF®%2ÛËâÀYc"èe¤CAykxÔ*0cµqÔéÚôÖ*4q&Cjúæô¤Áç_Ý°ªhGåK¾Ò§buhßùÛPú÷ <Ò×ߧA³üòK1.=²¼ïïGIû&la_*Ö#WÓýê^A}É?Õ¾fÉ
+QÁÚwõüúSwøNsØÁ®º×~õËíÿlâ_á
endstream
endobj
-376 0 obj
-67866
+384 0 obj
+4012
endobj
-377 0 obj
-<</Type/FontDescriptor/FontName/NimbusSanL-BoldItal
-/Flags 68
-/FontBBox[-177 -309 1198 953]/ItalicAngle -30
-/Ascent 953
-/Descent -309
-/CapHeight 953
-/StemV 80
-/FontFile 375 0 R>>
+386 0 obj
+<</Length 387 0 R/Filter/FlateDecode>>
+stream
+x¥\Ëå¸
+Ý÷WÔ:@*ÖÛºïc?@ù<,d6ùý¤(Re×$i¤¦û¬yHRôÝ>þóíßÛÇ·O÷¯?Ë?ûÛÇ_þðñ/ü%üùíß~üüæÂþ¹£þõãOïðY>ÿøå{úóÇÏ~{ýüöëù¡Ç|}È9|*żçT|N~ËG õ§Ë/ø{~-?pÎâ?c>ûKý<ÔqÑo~¹þüÎÏ:KÄÑ9ËXøæLeÙò#bú<xÍvxø«ÿúQÿöÎÆí¾««ÄâK
+ÖÎV+%§úç¿£wuóàg.ô9ê\#Ö}ÕyVÒJÈÉVs)ãz*©óSu½WÉõTú3U½³ zs§zÕCjé"
+ÀQ±
+¡þ¿«÷j?DXõÂEq¹:( ~üwŪøß%U
FTæ«ü
+k7áÅ°MZê ¯*ï:ò:Möi£Iú®-ÿ@ÆÊEy v¨£ßgý¯ÏµH;.¥k·|GôÝ,¥êÝÒ¹5>m*Ru]!wt5iÖ³¤£ê¿±Ù}$²ÌpÚ¶§:rQ/p)(
Iû@}nRÑ <
+ìç
+}5ÿ¬8ÞHºu^O¨'GEÃm'd#Õ!2ð°L´Ip¨K»7¥w+sïëÉ'<é¼?.x8G(«ös?èLÌt'kÁ¹
+øò;» $ãÀ?4[y°¥¸n|òGwu÷o®lt2ì×˺öÓ
«Ø@D¹YΩîËÓl.þ"´1³pj`çO£>2|¼Àb$¡Xzýiu +²p¥´Ù â-ñÒÝ"Ê´êìä´µ¾ëz}ëNü
+¸÷g©t·&nòkQ²ÊHÖSýlN¸XÅå]^â5÷ü^£!íÅ°kO
¦OÊoÐ:tEbâÃlaõXjI|?ú(²¶*Z
Àè
+ûIeæÅ°æ?`pÛe=ìbN¿§=>ã÷¸8LÝöÏBRx@¹
WÈb¸¤ ]bÖÑ&ÉÌvB"BeOìQGü/ã)pÓ°É}v@&jÜ'v ICñóiR!ÚæÅG¥(NÁE»~³ÖÓãÞRr-=?,O!+D±´3¬Qfâåeñ¨(SrÉAá|âzÞdGD¯÷ÌÏâ{²ÒTô T ¸!OjT,³+
+ZNG
+Åt[Y¤ÍZ.t,)Röl"¯(´»p©|Êxv1¡[FÙÎÓ6ʼ
@bʳ_ ªdÔ\A
+{Í
+Xæ2èàÔ.ì¶íqëPG(È¡*±ròÂã
+å2Ç;<°udL,·Q*ò¸r1Z+ÌnÉCOlB|GǺ"oÝÛÅ
þI%²Qéæõ6¿Z
+»¨Ï¡Mȹ³x8#N±Ï;¼VO3¹ç¨Aõ<.½áÖ"üH¿ÉOö¼¢sRw&A'\º'TËãÅ _W5ÍNM2íiÉʧó#gê89â.T "/+Ëù´¸ÇÁ²ª<è°X} ðïÖt.qn#öçe7"FÊ/¸t\â02õg(w~9Û^«wí3ñÉXtâÖ3ÆGt*ûe1
+ÀÜ
+,ýbg*¥¯nimìÝEÉ2,z{uý;Ve<¬öÈ`ÃÓØõVµ5¼l'õ×%ÃÔ×vz¨é×è4qvÎ
+f¢3êt6í8¸8
G?qæNÆroÞOÉ·Ìx°«0"ça¢a_W¸ÚÕCÄûáU
P·úl±Þ¥XP{ü\ 3tæÂë
+Æ+tFͲE¶ÍZ£¿ÞÊ.¬ñe"å_)XWÖÓeÝÎá}c-qvÝíÁr::Ë»2¾MîPÝWbܨàjЪMnhEø®¨/>ÄÔÉå¨Ðm/*30YXÉLظ´wA2Õö1Voì']<:d§KQjtßàÉov\>ï*ºÉejXT>5±9{Òî)bÂu-ÖdÞí¤FѯÏÊ~?åb£÷
+ýjâ@ãaÙ¤&&<wÖ 2áqª²MÏ Lv+ÕeEj at q7¥÷¨©J¦ÜLÜgW=_oìpjw´V¿~0ËU|Fb¿¡L
+¤d¿è*jEÜé©;Þ¨¥ºc<G 6·ÜÙXQOõcI`5Cþ·:î¿ÉP!
®k6ôv\ui+çp
+]Àp
+ÊâM7ø¼ÃÎÔÖÛDÒÑÕ»¬vëóKUu±õ>!¹æ"úÉ)ÚÄþÂ0IQ¥¢!©7-`3)ÎÐË fqܯhømVÓ
+CWk¼ßyva¹3
6uRnÖÜ(x={S.³{]Öxb*D7.ÚzaÄøb=MÔó`n
iûú« ¼ôkUXYQjRÙ'þ/½ÛV5Ow9ÀÕ'ÓlBÑù=ÐôÖõõ¾xÃØÞGáÒ©%ëßK)ÄO·×j¢,6ä|¶äh»Å¨/ãV`ª7¨â¯¢µq¿MJuÀ6ë]<=½ý7ãU$ZC2×¾Ô;9ýR¡BµÛõzÝ< Ûº²F
+Ó»Lt?襩loßIQt'M`9ãE«òò
ɬU ±Uc=ÞBÐ
+ß'Ä&¯:ÝÞga|èܸô+ÓKøxå
+pá*z:A=]<Æ*ÄøíïÓË6Yª¡Wúzþfö"'¿S/sãéÚ¥¾c`N´}40Gó+ ZØ2º
+IÞWm"{ëºÖ¦ê_Q~èm¬¿CùÁê}%WÒvØÝ+V7)Iômd#Òm{{øÙ¼âwïÝ&áJmðbþEßBre£¸;»çSËðÕý@Ä.ö\ÿ÷ècªØûgÚbYKv`ÍpÑ·ÃgBöïà÷í.ZBEØÂ
29_+¨ÊЯÿ:â~
+endstream
endobj
-378 0 obj
-<</Length 875/Filter/FlateDecode>>
+387 0 obj
+3912
+endobj
+
+389 0 obj
+<</Length 390 0 R/Filter/FlateDecode>>
stream
-x]ÖÍnÛ8à½BËvQXïOHY²é iÀ±Ô@#³ÈÛWGÎtø®>R4éuw¿¿Ï·õ?ÓåøoÕÓy<Mùõò6sõÏãªi«Óùx[ÊÿãËáºZÏ÷>¼¿ÞòËýøtÙnWë/ó¹×Ûô^}§Ëcþ¸ZNy:ÏÕoÝÃ|üðv½þÈ/y¼Uõj·«Nùi®ó×áú÷á%¯Ë]îOóéóíýÓ|Ëï¾¾_sÕããå_¯cãs^mëzWma·ÊãésM]óǧã÷ôڶ¸¶®c½sSòü1ç¹EÌYYÙ
-ÙçÜÖÍùíwÈæÒ#rbNÈs¼§mܳ½Gçnýþ@?Ðàôøýþ@?ÐàÎìÈôøýþ@?Ðàôøýþ@?Ðàú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_á·sõ~ßè7ø~ßè7ø~ßè7ø~ßè·R~ßè7ø~ßè7ø~ßè7ø~ß9þñwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßátF8#ÎHg3ÂÙ¶
-lÎù+Ú²rÉæÿY,h6¥;ÑÈDt8.Pi|ñFv ¢±+íåK÷ÌèdDTôÀg¥uNmÉ-^F
-̸>-AÍÄNèÄ
²,²éuð¬´aÆ`¥ÅALt&8eÁM³<#artËF{ÇN®tÛáÞ®LvqèípvÆv¼øÎKû2¥=²æn±ö=Ûaîzf»õ1þûåOOgñôË$@;<«)bÏwW<}ynS~y.®X§G¡ô¥)Á°ÔÁõë¨3,uðîÖÙÿdØ@±ÃÿÚ«ãÛ4ÍrùPvcìÃç1ÿûKáz¹â®ò÷p×Ø
+x\Ùª$¹}ﯨgkR{&Cw-~sÁ?à6x^üûVD(¥¤Êö4sé®Rj ÅrâDäÝnÿýöÛvûývw·ì|ýYøùÛßnùÝíßø%üùó¾Ñ_~ûÇ·_ßüíë·Ûv¹þW§pðÕÝçrÄ»¹ïéV¶r·¯}ûåíîåæâíëï·?¤÷ºÂöÇÛ×?¿
PÇm·¯¿ÖÏC|GÞøùëëÛ¯²2-è6_'©ÏÞ#ÿå
+ÿtæyÏ tå¾·yú
+lð(4,õ³
+ÒCÇYÍõ!¿Ç||ú}O^
+ÅÙãÅÝOoñòî³`i$VWMí$a0*6ªUÀõÖÊ*
+í~âùøª`[¸^ Jï
ëºüð¯¶î8
+¯ë°ü`S<lP-ppN<¬¾^xj_ù¬ÖùS§=Ç-"Ó%ñ%ê7ªW±8ZXÀ"ùÝdä&î¬ÑÍ·}åôÐ¥jw=8ïdê×
+7QKuCç1¸Ð`(
+®Õ
=Iì7
+º£TqXk`ÐRtê*ÁâJª·jdYUóÁä¥:Éð²lÔ¼?ê:Ä^ï¥R\5{P
+1ºKÜãÁr:njwêØ"VíÆxW?gs8K?i®Ö~Ô=ZY5
+¥]%ê®xÎSÛ:Ï®Îé7Ñ,_#"¸·%X÷¾/OêAóÓ'ø&¸BgÏÅ°|.¾ +ø#Éîªí¤X<q¯õûÂ[ô =ÖêNx¶£ÍøӢͨ V}\Uç,ßTïØDCcÔÖM#óDÌ*Õ³:¼r;êÒ|7P¹>/ wwSø©íÕ
+Üɳ 9sS<)ù¥M\oSß
+D+<G_Ô¨2ìhV¡]Ê»ª(¸L
&OlMýäÒiW¥á®ÐðxrÆ6®Û=8¡,¯dVúì\fÎÇ(çzZÅ«¸ÛæbèDÆ;ÜåQåøª?s,/uWx;gAÒÆE³("çfo\&3<R#W\²ÛhzJBsFóaÍúMFwA.ú±Æ)MÖ©]JºÊmS 1 Ã\29ªà&!-øKG5}.âb'MV&ÞÕûbä±GÆ$bÂú^_bVt C0
qÍ!ÖP-ùËQ£ÐÕðNðæ25ÖrõÍ%,¾`(
+Þõëâ,§¨ôo
+:5z§osÛuV?,:±6RGs±]
+{ÍÍp(¡Æ¤ß@
+zÖ¬¨û\lÊâ&þðêÏ!Fk*Í»¡ÃÁÄ <§§34Oõq9Å
+F7\<¡3ò
+ù³ÐôsÓ¼h¿Ù w&4'ÔÏAù
Ø.E½¥yFÞ¹EA6 ÁÙ[öO =ä[lô7Îà$4;0 QBfÆYÀO?¬D
|ì¨hË¿ÆC{ó»,Û}õü,±hq§"CFħ³[kGtczÍ{R½õ²q¤Eæmk[ÙT¢P¬©8¸¶ÄÓT÷co x;mù¿Ñ8ÞmÇG¼wd¤J±ROlOXÈçJC9fIE0
+CîAëxg>0ö\º1ªíÓ7²VX1iÎÌLî®hOx¬,$t)W¬R¨:Q¡)Úu^ü
+
+ ÛÛ¹~ç²²ÔLi þ](iv*æÝØÑ+'&ï#Ë3)¼q¡-O2åÂ[r=ÎÅ}yI.ÏQÄw
1Ã¥:[9»£M-/ !§"I¬çÙÏd¦ôÙy¥5(¶JõÂX§lÛ³zZxúc!ÃKÉoaV©z`¿#M{ײ_cW&mW»tOÄ
ãÆØ,DØÑ!íá¶uñ\Ýr/ÅDl"ÝT
+
0îì¦éÜÚá6Ú¬ý1ZúרñØòú,JÊxâw5øYñ
+Ïo²
FÆbìéϦBÂÚÏ'ÚØòHA§ïXIªÏÜ7jdB«©]xè3söÒ¤7q9'4ì»Êdé Äbów˹ÁsµâB¥Úñ¤ÍÍHéXqÊoÜøÛÇ»¾²Ô\lGëÆU;O¬16MÈÛÀá=n]ïO¶E¸ÛIO¯!HÐWbëzÜ^ùNi8WÖíµL®Ð@/¢5gNC+¬YûÐF¼Om^ÝÐiiÛËÚêÈÐz+c²4G¡ÈìO¤ÞDë(·mÊ6QKUaFê@
+\F(rÛs^[ÿ'uOÛ1½¡çÏ8þÙÅ^*þ¨ µÖª5ô"yàtY|³È´|·Ù>3Ù17c?´qÿ°ÿÀtkÇO¼Ë£ìµâ;³X~Þ$^³F/i«Å:-cÛãdWöó˼T2-½8É¢©~sËØê[0Ó¹½¯`T»eÌ]MìOô~ 0¶ÄóPv®¦Ol8z¶
+]¼º6·®I³vóÆ_oÂÙsw³¿[·J
Å}½!ê9Ø8·á=×J6UK%K³W«ü¾¨çì2a¸ZÄù%%õ5cÏ#û[¨õÕù`
+NQléH§bSÓdµw.©½%Á¯)²6ùIís`}íâzQ_bY~ò.jëK^ßå¥ÇiÉT-q>7Àõ=Dç:`½Á¤vËL©D|¢mãäîl¸¡·ÉÛû:Ã>gË-öÄÉ>¦¢ÆQ>L´¤à]p¼l=©yyAàêøâIó±(v ZÐü¸\Còm·<âO¡©]ªfÖwñÕVneÕø´½¥ÆYªäZDc¡7,KÌkÇÔÜ'
+»"&Ú$òÔjÁYÓH³ö²0ÉÏÄ*Æ~ô|Pî!éÉÒ£ÓÁÓx_ò öfµRMÕãR©ü¬>;ÊàûÍË ²ÍÜÎÏï´ÔÆ@PðÌf|`Yód®ç
+Hå¬p;çµGr: ¨¸Ô³Ö2»Ö%Tg
iÜßh«eW$Þ~LE_P<VO@ÌS¨q÷f>±ÞÛ:Lxêú[G[7ÂÍ©Ãô%Yã±È¹k8KgØ
+K×¾5©'«¦ïÉoq»ÃÆÿǦ{eF%Ï
+RÓðkô!,22ðßÒb¶wkhèâÍ¡
íêÆ8ooÙ-gl,>É°Mûð¯eHÍ;#:^*ÙT_>)T´£·éÓNÍ=ߣ©úïi˦Q¡r6çfg>{&dÿ.xÿfÄ*¶°|ãó|¾:W0¼Ô¯·ÿC$.
endstream
endobj
-379 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusSanL-BoldItal
-/ToUnicode 378 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278
-556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611
-975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778
-667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556
-278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611
-611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 333 556 556 167 556 556 556 556 238 500 556 333 333 611 611
-0 556 556 556 278 0 556 350 278 500 500 556 1000 1000 0 611
-0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333
-1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 1000 0 370 0 0 0 0 611 778 1000 365 0 0 0 0
-0 889 0 0 0 278 0 0 278 611 944 611 0 0 0 0
-]
-/FontDescriptor 377 0 R>>
+390 0 obj
+4387
endobj
-380 0 obj
-<</Length 381 0 R/Filter/FlateDecode/Length1 1292 /Length2 68873 /Length3 521>>
+392 0 obj
+<</Length 393 0 R/Filter/FlateDecode>>
stream
-x¶st$o×5Ûv:¶mÛ¶Ó±mNlÛN&L4±I&¶mëߣû½ßçýë[½VW]{k×9»vU7²¹£)PÒÑÁ
hmoêîªfâ Ï êhgørÂQP¨[»ÙÿG¡ tqµvtàýï:1 Û_@ÜÄío¹º;@ÄÝ
-G!æèäíbmiåÆøS
-ý¿©÷3
-
`nmæ0ZZ;ÀýKý/´øϵµ@ñ¯
-s µPÙÑÕú
ãÿ&Õ¬Íl®®
-ä8¢-ÈEN+H=k8É'tìlÈÒx³4±R:Á®éµÈÙ¹ô]°(¹ª¬ }!«&Jf*5Ò0cxÓéaD|Ïä1¯K³ïàÀeÊïØw¹QOLÜ »ÜÅ01)zÒcÞpW1EàaãÊQc®¢:áÀÜ9_XÊBK´±;XUßÕ¥
-èÖàbùì9C¯î'XuÄé-`ܲ"¢2çÞ|VúRGL¸¸õÖYÈT¸æóNÚ¦Ø5|ê Æåe¡d²E:ÕqüKóµèPåHUê\.
-]?VËÖ,òPhô#ÝÐ}¦¶$OöÙ±rÚj¤À¡W9Öò>ùÌÀ'·Ìß&IÐ^`KÄFòÙê_(ï4Sêí/8$E7>¥ßîÔIÑ>ºn¨.´'[E¼Áx¸_G¡Qgòà4«Ý¿#óP7¾Ï`2'§²Læ&)iÊox-Ù$-Ë˼Ү÷ö#Ýâ\QªÄÙ¿ xk[LÚW²²[('¼jí¶oaeÓfHuÚ7ëH½üÖ9ö&ÛÕbV
-5àÖÁäKõýZ0´+f-¢²ÃUq ×lÓ¾.hÕ¹iÕ¶ã³\Nväy¥
®Ïr¹(5lÚuÃLWݲÞÀèÝ|lAÑCÚÙÜRq£ÿ¹GHaà/á¾TÂL«"#/LÙ
-ÌaQ¤ÛZ»pb
XKÓ@\Êó¤Ðû·/4U!±M4¦ÿà÷)q:ö\hZæ]Å
-x2Â%$¯µn¦£ù°ÇµðUQûûC´lcR®5ñÖÈÏM:o`Ü0m3Ð%>;Ï00ø ÷ÞαsPTÄt²:e^ù. µ~©`}:Õn»ÿ9æð43õ´ÇòºÛFnª±[Á8X¯3w7Õ4þ50Æ1ÅL
óÈ¿ç¸*m|ÍX*" ñ®Ä~åiÛk®'ÇãìW
-*ÙÝ>ìú¥bCéºñU¼«û¬µLXÌ»Mß'c§WºýfÉÖbÊïݽr«å8Ø@ìWÛÐ@M¾Õh'ôeÈ<aßÞ3¨û7£ßêV ×KãhYS
-ÂÄzÙä|èpÑnh\³Õú²2ÕKé_øØ×»DÞ¹2á8<f
-¬»º=滳Ä3í0»ßÊ2ÕVÁ¾ïâ¤DgúfEJùnûÆå* Tk?¯¢Ô~kÂÈ»_Éù2oXÓÄçi¡J7ÀtÞüoÐZåÞö&åc¬jû5qy.ó±²jñMè¸Ø·ÂÈ>sïeõgpYk YTåÁ|0\hÅa:
lù1ãÕíu?=
-ßÃB²±§´Vïó#÷¾ùblC§sH7u©û3¤lòy¡_;6¸û|¢WÁúv¥ÏHöij(AM˸YHµ~ëê%
ëÚ`OJ;/üv6P½êÂÙG¨Ù×õîaÞ¾{ä¸Ã5(ð:
-tÔ è¬Ëö¶åþ8IÌU?r7ßA¯åu Q&ÍȳY°)Ç HÛÀ7W©~îµg[¬>4¢6§jÑò¬ªRJJ¨kàAÓN:áGØ(·QèõA,ý¸uú~ª*Uh嵪~ÞËd{ñv Ëïb3P1îDã õ>TøIäÉãNtZGÓÚ¡£«$Æö(ɸ³8ù×yB¡a/J D1õÛTsïÕ>L+
@]0WwÔNÓfÛ¢|çgf·^0OÝl¥qîj.âîÙHfÎû±PÔÖfe6^ì-u
VLñ¹<=ËNÙbRå¤×^ê
-~D÷ùó/oZ-¬C}Jg'eá±Ãâ¸å{ëÎ!úND9ÔýI9xã7øó
-cR5öàâÇôk¢¶%ǹjMÄ×'{n;µ°ñûuëºóÊ}Z®;§g 3~úë·ME¥q%tD¬4gj·å@;b5FØÇuDûúRhä±kȪQ®ª)wè«BRK=\Ì'óÝqTK9n:ôk#çåAzç,x~ðqqµÔÀá7Ñ»n_ÂYS$çµe^jíàæ×0E|¨ÕU*á×ôÏ?üx¯<´Ñ¤ ÞïúæÔææd_ý׿^&¾ýô~²Ý¬zORJa,ÿÜl%*9¡`ñ¶¤X=
-y)§ðöýáؾÜ?+¯üX¸)EWë[UÐz33bøBuzÑY^ÊúM<)½HP¨3^1éHÏ
;±, áúrË´¸TSú!Ç7Óq}&'=×Üòéå~Â
-{M©Ï}}bú6ë7Áe°é{¸ùî9Ó#-×û0.°"bqx*-!0wçË
-Áxvd¢ÈÄæÖ¯¥_ÛËê#&ÂïçÓ\<ÌA·²±¹üðõ¦Ñ´DÛN<Sm¤½z *ÆciçQã>2H®&xùPCvø3
-C
-ª2~y6d2U ¹XÛÅzÐßcÄóàüÕîçï&WnaN.XÂDèÎ-ò/q+¯;ÚÍ N2îMã¨ëk§¶ôü=#8Ù?9Êmí®g]iµáB¤J¨5;ÍDÉ]ñ:«ÛìSNÃê
-¬t=éõú#¿!&ce{¾Cà&ÐxÃjsËlÁNnð¶Tr ݸ~ì6kMìII
-,Ø÷ø^çiQÖ3>£EQ(9fg>Pw^ÿj<úxÛ¶[Å¢í
!þIJmvQo~\.b@°R³mü,ÀQssT"ùl]0²Èø½þWó|TÅ×K<xoÔ>Ñç³ø×ËùhDx°ñîeC˽*¸Áä÷w+ÆéÛªÑWûqøä/ýÔFw0´G»8è$wºÝîDS
mCÅC© ®<[µ8¹
-åôìýÒ+ T*ì?¾ØîÓûYàERke`vØ¡° @í5ÔÈÁxyǺ{ÿ¨Ãn¼ AËÑÞ³3]PÖE%© ¡,ÃÙö-Gü`Ó¼¸IÛ&×3pÀ´\CJ´3oFåE8k¾tÍgÀÌùslå**õ~Úõu¨¤r*4
-ÕôÞíl8-ÍiLèÚ?,ýcâsÙ¤Ä)k¦jê9ÌùS꺩`¯øÛéª44·4)fUcvÿ¸×Õ
-^UËײräq
0Weò£ë15Åñ³ÔûTí
-ð§ß7¬Ò¾ÅßÞ)?ûxêÜäi¹]ßF2üýßLì¥ml¯fÊ0àqá~5²ÖdʬN1¯Ö×É¥u@´ÖVèiÔ®(cÐòiç xÏ7ª8Ô*¢5êÒWÈÈ@¾º°a£o%&éË7ï^@iÖºÒó¹ÛÏ\Áæ²lîeÎÄÐZ 9Q¢@\÷Äm(`h|q,°jAí8Å{'Ýðñ³
-1Þ=°lIHBf·Sü-àοQêá\ÏÃaÝÍò@bk/Âí ¶vÏp¨ngupl«îq
ÁQy]=a÷ÄëóêÏ¿,
-um.ßÕ:T©âéé,ceο"íñ
-äÿ"TÑ
-ßh[JάÛÞV[Ééª QÐh(Tv{¹A´êºZk«#Á
-ûFÄÕêî,§6^ó«ù#XÀNk:©z=éMiì°ôE.">äõcr¶àkîï]r`'§Û¨éu.1fe¡wÄnGêm´ñÇ#Éÿ%Vx½B¬mà"1hëé½ø6â»|kÑM½G¶Ùðe4êCRºÃë<tèoA÷¶J¨æ¶d<&ßí±±]5ʲümôÌaÊúÐQE]/>æâÔî7¦XíÙÉãGÈÿGpd§æY$TXÿÍÊATf
-ôéNûýÓÃ.ô¶.PÆm|}q£Yܧ%2μ2×æ7Bø'tp4,&MviÖ)ôªoe¨ú´
-ÜAw>ÏMù6\ºf/Õ"Öàãî¢e!o4*ESÍ(÷ôè1qy0º³J¡ËtO§Lb
ñùÏÕjûæD3#V}÷0^,÷XðØsbÇJÕeIÙüöÓÿø³rѤ~õ.bÙpÔÑÉä±»êàcñ B
(
-k±Uof1"Yþ§¦¥û+6±
-,îWÃT3úºG}ú§<½9Õ±dof%´
7Wê(múR üÇJ½#RnÿmìȶàÔ:þá'eç¾ÁnõÝä´îGboÜ[çÒl±`8E¤Õ%Gÿ¾0d¥Y'çÃ*
-þê¬d÷çSp³1$ýt-L\èÛÒKHf¬|¥OÝáußÞg¯¢P>+¿T$ð§6äOÖ
Êtÿ*y£¬×ã«;ú ßÑ:+ú7å[|ñKé9
-`hܤS«8:BCj-SϾÔÍÂ¯ß î»Ïu¬±bÄöìö@ä¦
-¹X{@$+T:XÏkh¯%Þ°íõå¼.ŪßáÏ<²Ù
Â1.RÀ:QGc^Êûugª§Øè,£qkÛëtäbûíÛ7åófraÉÈo&´8ýÅ3.Üa=³Ä/}âN8Îv¾¥OÑëVÛñ^6y¯à·o£fl?(¬@bÄÓQê×.Hg&¨wº'ßA®6X®;L{ v<;ÏqøľÍQ9&%C&¬iBÉ bS»¶p~á<ù7@¡¬%{+Sä),SM¤ÃU»ÏyÐÄw6ùR§:üÂÁïm_OÛ¯¾yi´p"-Æêí¿ÌÓî7Y®u\M|s-ÄÖ¶)pÞ_h"
-#"´%¹¶Ûâ³5:Ñ(©Xy8ÝÕ¥[éÏØ@uxÈø÷íêzÏ®+<ÇW[4þdMhÝç&³:u;°åIÙ¬Õ äe4K(çuWùÐ/?soǬ/pvx
-í[ßObʱZõ¿õ¦<¼`ðcdÕåd³â/½úÒbÎÑ6hßãMXóÞÁz ¤Ê8ÐoØH|HR6®Ì)`Ôç¿Úº=½Rl]¡m¾rñL&»äþ 1l9ÿðäý`$'ý¹1Åx\ÛæöÅÇ#IÎß©¯Ô{qæã3´ òÍ×ÃÛ®YrüõëD?¸«¨j/-N×FE!§EM·i¯^À¨iÙ¢1u¸ÁÞ¿ùG7E»;®Bc ¤·ãwVïÜ3*âOÀ~¨ÿþOl
þÃ/oÌE¨¥±£¢Û
-°Ö<H(FÐñTT®*Gqv6àKHºWÅ
-°ÆÁlK ìé
ÍbWíq³|''PY*x^Æ9ÍP®¶)ÚõÈf
J§ÖóÑ(°Øu¸ ¤*t©~²~Þl2Cýós\ItÌOY¬å)BÛÀ6óN{Ó
î*Î=ÇÝ áí%ÍIc¤lwuýÜ=º&G×O£áÉbn:,³(Ë|3ò¾²É³û¨æ¢µC^Mî§D.
-R 7X.
-²
-$Ý5¦üÎàÊ9#M!æ·½^âÙÝtÅ4D¾çܯqÞ¶ç7iÎlâÇöÝ K5k]i÷Í¢ðJñm¡Ìåö%ÛR®á)Q?Úy¡9D»íÖC£L½%Ææ9S½öÃ
-ãË÷£L¾¹ààJÙ¹JÂvÙF!vSöðjÀfÙöÛ;µRÌ´ËõF½ºh-I]«p5Å@åZè7=ðDÌV4¿ø|̦ÈBÏñòåÚì~³ÉD6º±·uË7èÜAöÁ`¡<@TÓ:ð[~bÑ£ð¯ÂY´NÀí%K=Ieì̦?äÓ¡,ǬèÚÚmy8¤uvê=dûrðÙge$$£GÙA:a/äËÁn½Àè!Ã5¹ô²úÿ&=˾¿^×yacee ç§×.¹¼WoT±à}Õ^Ò4`d£9¦72öDo0µËù1ý[êÒ²²¶Dw0ÖkåTpz¶Ç%ÈðGñé~Å[îcÃ=VÉqnÐûÖt\YÒyJ(TF³¬¾¬h㮳
-A6 nÁØþ½Í^5dtN§t5wƨï6iàÆGÊ8a}SÜw=?4K~»QçBSx¬´tBHE4f»!z
-?r÷Á=y9d0¬
-[ÑøËËÕç=$Ô?ÖS+å#¾~Õ ½â%
-`Å79å46¼â½ #ó=å_{|}rbZÅÖöÈO«¯Èéj%Ã8ôßyá'ïòÂ1¸ðêýïð®ÊjcÂÇÎæ«Gfjí
- êÁCK<N«iÖÓðͺ¨óDÐÒ7_°v¶Òs²#ÚOTTB*Æ8æä~·SL(Ýê®P$
Gdm4¤[ÆÖ µU= Ãóg»è×;ËO¾JÃÎÇ*_Z§1¼ø1o³&¾Gth1Ýs2ò¸§²ÿe¢pàé÷óÚÓbnOèA¦ËXwçX]Ò©`ÄÓØQÛ¨äRÀkи;t¥ë'ÈïcÓZAÂë¾±äºÀWWf»QºÛÒ%{^P¾Us?Ìm\
-£-OÁBù1&î¼P|¼+§ã0çïþ§©àsYÎ9ÃR.l¿ï =!Ìø1R,.:*n8Aâ@W ?y8cÀÌäàkUUxÌ[»Îáf&#»c ô¨8»½ýgÕ4Çe
S7UÅDM£8:¥ËCÕw&¿hýÉd
-¼¾RÅ,2߸ ã<¡^!%²bRàC\ûFscôdQßÁ&ViëX
-/~,ÞàØw°³ª¡ë¸lpîþpß Ìð0µÂ&PJCuÉL={ÃmÓÓ·6?ïQ*ÎxÖ~ôä2
oà~´«v¸ÇZ}FÊ¿üàÇRX`!Y¾cÕd>'(ð2Xsϱ8U ¯/WþEòÛ0Í
9èclZúü»m ?xkæQÖÐôhP/LÆÂÏKd5ç{Ï Í¶+¹"¾-*Ùþh.æË©Aů?åòU1´ù§m8¹ÂA©nì!åz×õ§cÆí©Ód[0^ÄX½á!ÃØW¾Ñü>ÏÒ¨¶·bìò"ÑI½)׸h¦éÄ»ÃX"¸ïG»¼*ø:4í¹ æ24ä!+Yf3¾è5D]Ø|¦î@ZЬmjÃ×Ü´O¬ðàÞ§H½¢ß¿2îÖû°²¶Þ n+ Î^AíîôXêQZúD êпé>"x) }_!w;±p£<íSPk3äëv`zÖô®¦¾kÖЯK Ý¥BJù»²n~µaìn·ÇÞA±V5LeÈÄ{-MÞ]ðøioåÕù² Ü:íQª!#¬÷ È¡99ïÀùý~}r^yñ
-_UZÆt¯l¿æõR[ðóYs³ÍU¾Ä=$¦Ôaêî3åÅu#¢y6ÓigäÎ)ÖÝàì=¸Z:>PÍ!AGê¢ýîÖçîZ¥íkÞÎP¹aÑraK
;á¼^ÒYnøÕ)õD¬ë2ñ±Ìy6Ìà±öTʲFì¢|Øý
-1vPPÏ I TËgË9áÃCÜ=/ϳ\¸i.SSáJØ/~ D&gyº_±ïù®õ³FBïä`dÌnIÚyð¯¹z¾~û
-ÛwxÄ·EÍöV,Ò.jÝ"¥Ø»$Kâ;VÊ祷«S1aÕ[Vf6('r\¢ü@lÿhcc¿{Y2¸dÛèAû1ÑÛ
¼ I=b°p
=iGаþ´3ë;U0äbñ1õ`ØY^Rö¡s_b?iÌ¥¡Û{NRLÃîuvÙ¤ðu¿ÛhuZ²\´¦H
-Ê¡il{Tc÷äpç¤ñýà¡ýÃ|VüaãYËcþêy¹_çtÅù.S×%q»~
-ä4¯iË==£+ÚÊÉ5
-å ÜlüíÙOÃuþÁrTXG³^CØh˵j5Zd°pÄ4ÞlÎ5ï¥v8Úùü£¥)¬ácÌJ
g#ö¶¼
É®?à¾>·UâPõ|7a(°Ë
-3jFD¶÷ÀMhGñs
- óeêÜPYù?QGOòèzSÐ\xiãíC§9KÁ`¬ÇRQpwMÝ$k)Ϲ«vTIKîâö4N~ßìâ»YjE¤zb&K-nù«SÁêÛï£WÚ@¢à¶Ô¤§¹¼´
-ó]¼@È¥óÚìÄò·âÑ»å÷U¡£Ê½fÇ^"ÂcÕzúBHÒî°
-ºp¹bP¡{Ê
-ö³Ö¾FÒÓøRúNvhw¾×ñøÚ3þ¡èÒ³ +R6&×#ñ¹*@ó©yH$éµWn·$Ò\Ѹs=)¡{ArRE/Rîq¿Bùº/êjªc»¼0ÕA¾Ër±qïè:Ä!ø"Û¢æ»ÞÊÈnºb>¶úíñbÅ»WrÉâ×
-´0
-%òÑÍÉËáRKZ)Ï¢EnFÚLÝ<îįÉ$ Ééïé]«ïø'ÏÕÓU¿ Õ
- ÖÑ3ÊÁ5Åæc }k±ÔÌòMԮ粢Û5§Ù@EÛ ã¯¬õÍlÀLô
-XPM±h"ÛñKJây´´zÀ
-ÐÀÔÕ¼ÕUW Bç
-YÜæ¿àxþ/ãá3Ì7`ç/tøD-ÁRMQ-0µÈhfCŽ׿]Z}V<?A1rOyh¶J
-0D½3ýöîGùöãm5¥+jJp}8¥áX÷-ŹݣÃôñ%ñy/¸T"Ìk9òñÞY1Oi¥eÁ"ÏÍôë{[ä-%ÅfÅH÷y"ظvìÀçk ?¦+¼ÑhfOÙ¢ô#¿îi&ÕPɯ`üFJÞg©w×ϤßY;^¹x\¼oñéê(
-ÃÀ,FnÎú|É÷±ÙB]WmËå(¼)º[ßàôêìÊ@,û26°àwBiÂD±c¬×ÌõyÏVHaÚ<AcðËWØÍ Ø7[Á4tZóï¥
-o¢Ì^[û? Ûû¼M*gÔ¯ÜEËD4Ú¾º)Ͻc¿*¢ÝÒ þ¸%õóÑÎéäÐb³·ÒÖýùPÈÞ<aèªwQRq&âÈ/
ÛXxG¯È²»
¶"µåûAþmå§cÔPL¾é M?5áBû$%ºFkÑNɯä®NHùï³'òëù¸+
-ÒR²ÁO/¿¹¢0y»o¼þôÐà \µn!&a·3;Íé`çò±'°iŶ/Èzã£SB,K\â%¶pR^sæ_'£)£DÙ*éÕ
-9²¥æþz·h*!ʾ3cÀ²ÇÂîxûò
-Ï1úó$ýkzC7L?dÊÊÚXK¡£|¬DÆ*U#WE»Ækòm§°Cð.¦þ+?!èàöÁûZ¢FlU2qF°¬'¹«ÌlnèDî;É~ÏR8ôFõ×1)Ò§ûôOS)A<QúqwÙÊ5ýªÂ:¡ýÊʯô±(Ãùç!V¾."uß-gÊ`¤ÐxÎb¸q±Ä~¡6«¿ML]]lÏ Ó&îÛ¡×ÀPoÄ©çiÉ2E¦àmésÅ|ª"GÄÑ«A]ï¹äÖ-·%[e¨¼×âÈyd·fkïMè]'eNwSÎ7pù[[áY 6ð¹9xºf;ÌlÃXǪǯñÎø*ý¢z
-+0èqnmÛ\´³ñ±ÛÝìCÊJª/g\å\%ÈMª'40
JHúgâ4ºV¹Òò`aCB¼pïhßÇÒ]²õà§þ
-¼Á¦ÿN«*¡ÉY£2åí
-ÏÙ¿ëÍÎM¹ûóÕ±+²d@z
-¾ðD²bE@÷:)@åõ@ä®äu©Þ[NSáô¦OºìÓMpîkj9bE]ÀærÙQ´0 }Ì¿®!(Ù¢WW±¤¤Ý÷~i 9ÂÍM%'»
£±Poa'Ý ýü¹Ó»¡â~=áÙ©ýh jk1øDäHÖ
- \¸
V$ùôËíæ@+DÓFH2b5¯[¨q7SäÀþ¾qÅ<eR¹¢CLö[3º({vs)ѺbÔ)éhU)_ã@6*åZUjÔ]%Â!`Pøs
-Cr×&W
-!i
-Ò·Þ¼|ö¹õÒû*©
-ÿ»®¾q¢ö#£`{FÒ
%vÁ k^Fý»Æ÷VXwi=´ïåM½=¿¾G}s!õ|¥eÿ°_{jÿD,~©³¹ÕûPX
»p±Uf´,®óÀã&~6[®¶Bª
-§¢c
-°-Ãk
-<ò´ÐBâU¸æñuº/RaTØöpÈÏÁ-Yh@0{#8KÇÅzèg ¾6í3±
-Y}+h*«öº~Løóçz¡ÙzßBÛt¾5aeìÇü?&à®Êìȱó|CØ˹hR¹æ¡Ä¥ryFivT)ª¬ÚK+\§DO}C¦KX+¦SpÞ²BL
-bíÀî=h\³Ý>ÝÌçn³ËL[Èuu}86̽µèò8%-ùú3!ÍbD÷Äå½ëËüE7grï#g¡yQn֩dÇÊ2I$á?¾WJëï³ÎdY0E9JL¢¿~Ïæìß$¡ÿj¯ÍÂz]B8»®eAGHø=lãl÷ÃSÿÈîðGª7(¦lýÞEDGW¹0i$fFLÈB:ëÈÛÙ7óéaܯYçÊÊ+H¡G|ðÞ]Gë6%¾°ÓüÏà"Íud4ÏøñAx2Ù»¨§H¯+®²b@ÙLD0¨Fw.iÒ-pèf|s»QaTn+ë»|÷U
-½¯©´¶ 3(æi¹³²$Ó§ü*c(-Åï{SÖEùe^»+:oqÓ;bÐÒ¼EJ¿tþŮƣ-SÜW¥¡®)0³±\bøÂGÄw/ºt£ PùXH3<'ò~ãÛÒE0GbhH´®OÐêþlâ¬gÖÂNGcåÁÍÊ")fõ÷ñåY8øB£Ûo`'Xé«ËåO!¨r
°XxÎm¨#ÓYÚð
\1!G)é];0o³<§0ðâéÆlÍ,pÚSS¦Q¿0ý+0áW¯rë4p*åÔB18WnöJAfbBÏ_µÂõëÄnb73\r/Rîéª:l¥7¬,Óh gÑQmóíÝïù°PÐÞØ>gÇËYÝ$«û¦ÖuoÑ]ÃðRVK ZoHÏô£RµÔ$àõÆæÈïbl¨RôÆyz©%¿O¬Öÿ"pÐN<Az_÷
-É6;tØ$ïè"@¾%°Tý.=ãï»x;ÇMº 1ÀÊD¾·av&æÔ0~¤A¸É*ËWVð")Õ1ÉKúµÎVbI\GÔÆÙø&«7Ѻ6]8a#¢nÖ®tê/¦
-m%æZÓöZ*öhæwmvÊrQ
-wÚÝzüDê%u¼Ýd¶[.]ÑÆÒÃ0XÐpÌ2UëxÐ9|[~R'¯S±y\±"êMìÁµGdâÛ/DóCìEoô±[FuN¤.K²piâ~Ë Ì
úÖb½\®Ýá|Ó`ùhx$M»|µ"ÝÍþ"ÚúìÌðÍ
-2®É!_ÆGgbÐ`&8M¸!m¸ V1hó3"]ê$=¼ò@èS
-å,SL±.@²¢äù½øÛax²rè¸çLäñ]QO³¬£ØZ%ÀVRA
-|xªëCyírÏ
-<PP}>ÇÁsA=14¡~v¿×ÊWc«²ç58¼XÞ2 `Ñ÷ÿÔ ¨ªßþúíD®è?\ÅØØy|²oLO|0§$:$øûËÐwðì2ßå¿>NÒFG"ÎI2³ÍÿUm£ëQþ¹|'þ=ç
3ø¼ÈBãQR³SPAê;°§¡þ¼]¨ªÐ®d=¼k[á? ä²ËºvÃi¹¾UMYFÒÑ]Tzéoè\¬ÌlºNÎÛ6¢¼þqÇNo/åÑßP_sX°üh¼gd8lëF9¨°3òR%°7#¼=
±É:ZNüBÿ¿5©|üÄ}D˨¾ïB>år,z6OSw.L*k«¥óçëÚ;çpüféelùäò|/ýZ9óÎ
-ÿOD4-],
£ùïÛâß^ KL¨òØA41fïXVêô§'
-K]Ϩ%ðåèÓ+tÁÄÎ3f ¾Ö5a~:¤ícȯAÖE&ãê×b\à<a»Ø0ÆÔc¢.i(ÙI÷RkHVD³Á²Ù.¼º
-ß6ûtx2IIo¿þj3Åé
-åL§mìÉZ¹oãz5s¯¸==%¯QõÔ*µÏÌåðçìJjâ_h¬<ìùOh~öÍÄ)&fþ1«^~Ó»y]Òú6ép ,A4Ý ¶ÿs6ñë.¾vÛ½½¯tßQÇSâèÏÞÙÈBcX½:ßÙNÁrå\¹«ÓE\G½ÊzM>gĪE@õôh`ø\ ¬K at n)Ã{Æ=Y¸
-£±þøaß^Æ{Jg5ùW©QÄgé½¼
-Tb×´KükÂw
-e1í$¥¯
-
-\«%OI¶;%w>PijU1o@/zÐ<ÀSH³ÊÄÌVLû¢nþ,EF4«Gâb¡ºøRÉ^jXu@Á (Ó?¢}q
-¤%ó5|7ö}»'vm| Ûûº»Tú¥È
-êlðC ÉÆ%Õ¶D¿Q<Wz£`Ó1ò(«øD¤53oÌ=Wݽ?
-ó¤Ý?¨R]IrúpfdW6@¥¬
«KïEôAÅÙ%K&VþÚõ5!ÐàÖIv¯ù*Þ+lÍÒiwmÏÏJ® `ɹ»#I{õ_//vI[Yg36
-«ç(¿DÁ6&
-Ùpi7µû> _S'ȵ¦)¡¯âJýqJ$i³¶aÜuAUyD.\}oKCfJJAW8Hd SE_÷¥¸j±GÙÍ
Õ(ßDdáÉ¢;¤R_tÜhÂ4Zë
% X¦D*íZ×l&_éNæiy¢ïq¥¸
-[îYa©>
Y<7S´ÇýÞ/¤b×O`-gð¢Ç;'¢K®H)>ÍÊ·«J2"Éó֯קÓê}é;)q±YàeZxËS¶¯K£H÷1Vy«%Ft!£¤ÙåÎ0GE
âàYýáÒ&¼)1º*`
-¾´@ÍR;ó±ìfX2Ý´þ%pº Q?¡;ZØ Yí¬0u¾õ|¿ ñáZüm´B
-¼Ää4Ü8îÙì¶Z>AoÚdp³zøò
-öKæ}¥E
-ÈAYdSF¶¶ÁÚØÚ«1ÐmãwHν)3)F¶}vîkg×W £saGdOÖµaйuøÂ}ûò5v"á©þܽºz3xøÁ謡ÿáÂÚË{SrÕ7øèpa >EºqõÉtSQ©L
-ïÕË'Óaµðàê-Þà
YÖÓo÷½J}>?ôrÔ@cÐ_2}J°¿6óWܸw©©v짫>oCþ¬# É#P`ÏjåïMº~a>0f$6töÖ&ܸ§BP:nÐÿ\¬Cû¬Í,ß÷4çÜô %©UÒ<`ßO>AÎ(C]kÿì½ôGÅ?BøU2ÞèN'ïQ·Á-î4ò¿ß;m{ ¤ºË÷LbïAêáW"ü[ÉÆ¢°TPµÆ`k°ó#'k+Ñ~¨NpÐÙ½?Àv¥pÈYl¦æôn¸}ò¶³¸ÍR¡¹uø~ùlMÃÇ´ª÷«£SmÛî{(:fðÀèi¬(êà#ý%I®=Zµ$O»k i,òXø¦Ð½ó¿Ïàk´Îm>2ä_/RT¸z¨Ö4Çp±ëG(sÒÃÆ~Fß²#²í
-EvlKQÑR¤2[?:lø{ü/L¶8ÊO¹ËÞÕ8áJßHôP*iÇÌcÙzìuxSïý[ýùez^Ñ"Ê«¬Üq§î
-xµòv«õð^CJ3 ^ak};jirñ<H¢_ÂØß]ÂqNϹò{¥¢
-îNrk1îEVÓvÝòòÒ ·¯ØåðÑúl°(
-þ^Î^aùÁw´á뻲öN/êg*=¦^à´pyØ%wõ¥<"GÇAýji=ülPÎ~«[Ö³igáf¸¼¼ÈÓק,ÁýÓ© ,o?P0ØÛ
-ëIlC»#? ÷^褽ûåæ'
-ïþ°Övwk?Òp^eZöîñgê`ß
k £Áxȱô:ï_GÊqq,&à»nOZ{Þñx±eêZ3FMÉ+ñþ®¥ya±=~I$J7È(ïÕ4MËMÇù¿"*³i°iG÷õA3/ÄuæXÅ|n\ÌxÎDÈ2ò.ÛÃÈ
-EwàXD»ZÇ%¯¹wÇq[CxsÎòYS,©Çÿ¢¥µ³o´&£|CºãbìëaÏø0ìiFµÝ^õ0_<IPɸ¨>^¶ßA¼ËjÚæ Ö)rTVxèÀÒ¼&ù
c³y×ä5eñïæq#òÃyíuºÝuVpÖä_άçV#©-G,@(¤ºB¬}ú¦%"²@E}âRǾJm´)ª:®Kì%ÿQÃÊÕ'¨¿²4r:[jjÔdù=,þëâß移MÄÆtë¿#ÊêwöHÕ c¾/H÷2¬è$þÄì©ÞZ`]ׯàÏ9£#}/U%9¨»dï.°×£ ;ã¬ÍòjL~Ïè/{QÜRgÀb.hâ°õæwiËìà¶æ·CëIL3x¶±"Ý¡y°ÑV>~3JYëÉ vèC~U¬b4,ø6õI£«[µ³úee·Ç-,(ì
-Qný#ð»1oôÞ³r9N/dñ[È0Ô1WÒ¤èJ?."N{Õ·sttç®$+øB)éôÒ{M²/Y1*GPrñ¸¹üç±ÄÇ}MR½z,3&Pr½p»ñ$O¢y±ÁáeÄØ·IÀBsîà¼ín}οɷU(æS[ÖUAUÐÔ
-5Ëb¥â«¢ÏG{TãOÄ
-äqÄÆgäÌmà"§y×ØbèßÑ&äQ2KCvþñ'Å [íI[Êxþ¯L´g©@Ú70øI6ù±ìB
-øû`z¯ ]ÎüÍ
-5Ô??I3H at c0dðLld»Pú` ®4ïØ·¼MßR®ª¡í0fë ªYGÒ-xFà´ÙûA5,óõB:
-ÛßUo§h\cõs1Ð'¼~U°rÈ
-ÖÓ;q¯ j.À!'SCbG¶¿âbO²LDT¾$¼~Røu/¿o©,ûSXðÍà»lÃýh7íKÞ\ùøùå¼ &áL^N~ȸ<îû1À¹ç¬ÞPi\$`.c]vÅ.äI $´,ø"кKÝES!9QÙÊ6ºõBHÂd¢@ô]eÛu¦ün9Ïv#²w¾ÛIö´`<Öí×.Ü~Ò,ñÝéÂòã¾aåVìéàÌæPÝQ ríEjþÝrÇ/Nz<· ¶IÖ8
J;ø}ÉÊ\ê_jpûüsï¢yì`¤qQóà'Ã_;cÛ¡ÈU¨Ëý@^åÊGQø
-Rf Ôí¿±ú½Q¬qå«`˼ìeØ,\!ïçyÃa9ù¼>W\ä3¶÷Ûb¦
-/LÉ>«Bå±×A`2E={±Ð [éO¢Ý
->ÐCÞ߯
-Ëyæäá©å,ªAÛ½Þ[dy¦Z¢ÅdgQ¥¨3£´#¯·Ä¡/P#aH?¯Áj]i£BC¹ÇÍCä¡Ç»
-75vÍýÒ[AHäZìöMìÕ 0#"ÅCÎB
-ovÃÔ²úÆU3º³W§ÓZâYáMr²¤N$¬Jö×h¦Ã/ÓPGÜ(ñZcd=DM â°û7úHæhY&=
-Bë# ÿcÿwMk9qOÄOk4¼Gó£"k-Ptl£?±,mã¸o·Ïè±
-èØ^¹í1o
-®_Ò+a`G½g̦aÕæZEhJ´Æx³`í§¾ÜÃkÿT¶-iÖî·g´ëSkú¶d¿z5×8Dcù7U½Zxoª»îPô)óèd7?u¹ ÷µ5=¸ûæ.÷ï×ËíØ¡J®Qzõ
-ªýÑì«ÅË-T]aëó¨íÒFðø3
-fÚ8sÖþw÷«.rü,èר;¥pËjDpÿ4Áã#.Î&eqàìïù_âÿêcÑ?ÊH¹G±5Ý9zÏí<p}Z
-Ô"úÎõÖH^&jzJð^ðì¨Gêæhýü{8ǹb}T>l31:î¡ÂJ )oF8ú¸óHDD#¦^Ä¥ÕêvkÌpÑ0]aÅ.È|!Èão01?0lwc-2kÆæAnvg at N¼ö
I µ¥IÞ¤Ðÿg°KÙD^Pôvý
-÷ÿ\Òﺨ§PÍKg
-(¯Isv÷1Z")¶«,ÕkÝýò0d¾ÔFîÌ«ü±£õRÕá¸GxµvAÐÃBಠçvFC-µà<u>J/Íÿ´ËvùNUo¿ÁtÓÓÁäR¿ >6¦):ö
ÚøClù`ÀðÊORRúërÓ¡LØ먬áDÛíëÀ
-á¢&>ÏÎ^+ÛlCzÐìë*SÚ_e)dk_¨Å{3°!¸y39ì÷^¨¬³r<adáUÎ
-åK´åÖÞÃûEK2ú¡ô>åÊ!»¤i³h4Á3b¯Â¯uôjéË}Bzüj^fÃÎ(O9$Õó5_tBnqs<L:e³Û¾½Ú_âÿ#4þã¦{'!(=kÑLZÊËzZ Et%³Kê5¹1îÎ:V®Àh·á9ô\|\ê |¯Ív\ª <KÙÓtËQD=;%a¤§©QÆc×J[!êÊQ>öWàg´|ЧʥÛ*HÖ¢_ïóÚ·Ô:7®ªî+å=1dWcGÚ*ÈyßKØ!tìùº+âw'æ*2àÉ÷°}
-ä³PÛÕgÛN D at y+NÈТâD^Õ7?å}jæ¬V-²N+Rú<öäúÅ*{Aôþ
-Éɹ§þEY´´µAÌâHÇwÆð"c2d|cXDØe¡à´F-ÏwÜNÖ'ÝÒhZi² l!;»àj"a7åã;ujøÖÓ3IR0î$CÁÒ-Ç$ñM6mÊÉK§¸Ñ(oÄä½
â
-
-¨¢îV³ê<ËM-¹XYÑÌèa-ÊÈÚz=Aý³ÿÈ?e°
-ü3ÃëIåq}a÷¢ª\°¨$[ær,b¦W9¡ê,«)²-uÝeåÎ ¢ÆZ«²Ãüò²ÙkþàåìÈWÄl"ú?»ÐUù")BedÈ
-°[×îû²|gRhmtãBEV¼x.ku;wãfD¢Å±zíLÚD¦P{ÿ^«¼ÅIlÊçÙß6ýx`ót>ëÿI d?rbRbÔ&:ÅÂÜqì
-T/
-ÙO«LlØFØHD³n°u648q÷»èôPj¤fNo»¸ì83çfÊ<Àü¾e[`:Ø)ç>öVú9qP0ö4¬ª#Ôl}ïÂÜ´õ
-^x,}´UT"%=lA!oëXñ5@F./ßV-,¦¬Úo½&Ó-IO?0S¨=GMk
-i¤jH1ÇÌ©ú{D0&æ}ÄþÇÇ
-P´Ñäc©äÄþél·òÜj&UCÚ3ÂW¦Lè}Çßg)¢Ã
-\[°9á³Ü*OµØ=fõÁ,«Q-ì¤(>øÓ¢å"¨1¤kgÄhÐãëÌ1½f]ý¢Ø¶KËÞb(|åîRÒ
-{O!ôjÀ%îì
-Ð÷3¡¯ÿõúG!#YM
-°T̬.H³;A>#PERX56yB²<^ Íð\bü&Ö;ö6»BؾΡqAÞÍwo>«9,µs¤ :µ~«Sí^ØíÓÀàÌ`ÒۢˬãYµ dpBvc¨ôS¤
-J.EükT±ShUárÞ(XärbÅÍ*ßáeêѧ®Â
--òRF&<B·©ôýýöÏytó»È"eAYë!Zü«¨i{½èÏ&&%§¤Vøè"lóØÇ%3ûÔò}ê ;d¨ÔÊJ+LuÄTÃ×.ªµÞáÚЯâ6Ïvc¢Zà²=ûCa¡÷m¯Çº,hÞ[`ôhÑÓA^ Å»ï:gÔk8·ý¹^}±²_ý»_¹GúR}F²¥IF=~³íb§ugK
ZÉqËR´¦ò©Ó7¾Ï´Ý#ôôÒBÖqý£xÛ{
-6ÿ°w
-âaTõoG9øxHÈ%÷ðw¥¿û#
Wa"ywÄ_w
(
Á£å|j)§)ÃÆãVVÌú3`£úTöõ»¬]ã]ýpºlf+§=ÿßa °Vx6èVÆÂÁ)rEÓ]Tf')Á'ù5þ¾Bã%¬Ä`6¢I+çóq§_ÖìI(n(Ò ö=i.Òð·ÁWéßc±7QÆ1`å9˦^'AùÓ'zpZ Û¦ÖµE+ÇȽ231
-{-ÅÆwµæ\{>xâãWW«ØðË
;óÀSJ<ÖNQR;ÿ
-
-÷êÛ1¨#)Ô&ÊÏ-È)ÉÞýI÷²©Êxå̯cÄ)¼éâô|κ ¦~JóåfñÅÀg4A¿}ÇþÜÒàÜ«õxKÃõoN ĨáÇ̶ÎĽL 6tÿÉ[ªæ Ky,ð
-7`gh>¼Yâ3X;êɪÞDô´ã[XáóàƵr7
-] Þí«5ðVø±-ÕÒn»ÍîWwðö6ËæÐåÓÓë²P²]µG@ésÔ°XÇÁÞÞMP¾5´r ¿÷"9)ÙÞ±Bø
-Îeê7sþxû¨ÍRd[Uò
ÙòN4×+»óº®FÌÜëHõÙ±÷Ú2âÜõ6F}ѹ`3¨ÔT@õØ{ã"#× ¡ÖJäûÏØ>·Ô¨/d¢ J.]6øÝeñ~â¢(Ê" ¢¼s:=[$sÃxí»ãbêÅ!ÅNµ¬ú߶ðÒªå9ÎW.ÍÀ¤áÕÍÿ}ÙkÖ!F¸°óµPêu§"à;7Häq:e7¢¬ØÉü¯UWÅ^ry]9àúZa¿ ¦®ÅWP6r
-óÏOT¸Ëë%$~¶¢ÇI$Çó,¼;KZF¾ôzîÉ_Ïö@Ríf{ÎP¡,o cj
-þ;ìgo»UqíÈ^Þx=0Oú>£ì;1§7¶ê´
-UUñ<S?uñQ¹=¹
-çÆѵ0ùy2ÃF<rÃÕ5LTîðd_ºF¢P°àZ-vê$ô.zH
-{©@8ÒAÕ'¹¿ßäp ·+\ö'El£Ï/PhÀ*8\Ô ¦ôb¾ê*ëÏI2^m+Ì=Ñ»t¾²ºiu]M7MhÒù>Ev]^fËÑÊ<|âWÙ{=0¼4é
-ÚÚ¢üahÞ/Þ;7¹ôTZk¡;Û¥j(³ÃUHé~Iª
-¸veÏŹd|$
-ò,Î9 }Ì ¡û¦Þ_|P»!×(DðÊà>mEoYÊóÛ 0ÓMNÎY®"/¯Qxm9Ke {Óv×ÒÎ Dq~Ù ÂËÂKVtÓÉË\ÍùÌ¡,®@üôh
-¹Æ:tÐÛÜ&µ+ ÅÀÇeÄô#äsï*aò!IþÕ"¾àHTÌc½W`
d¿QR¨
DRaÈ=®|Ho)¯ìÚ²·É/#i¦ôSQbSõ§
-¹Êzuäïî¾!·'óTåÆàW¸ÝW)¦+ÎÁkæðÎ!
^Ñ%dN<
à:ÇuMã3 Ø"&áFl1[ANÃÝ
²%~?¿HGúãÉÜJ©BÛz×´¥§q[ §@<ÅÑâ]yIFwêÏYtU[)|j¨'(>1öY/äïNIÜ62¾DÈEÆF8iÌúW¢ß¸p7h-m¨¶$C3w¬¤àSc&#[ð(·çV$ÇLðVW
4u1ý1þISG<.éì,Tòwðè$:xÜqÓ$¿$ÔÈ®Ñ@¤+îüGWOÂëëú°5ÿØ9ZòÇ_RÑxÙ9Sqn0õ´Ya|%CͶӼæy
-Yͽ¦nè
-Çk.V¤4=]¥ã¸ü¾ëÒüq¦"6jê%.«{«gʪ®2éd*/!
-ù7áÅÅR8ÏÑZ &C1{ íá
-#åö«wógÕ³KA-]T÷Æø¿4µoZ#<ì¤ú
-`¬b¥7ém½Ö·æ8ÔõzJL
-À ÄeÊw<úËæêb[vóø¶â:4Jù]@Ër}Î ^õ¨-sÕ:Íp)Ííh9Gùd½æ=F²Û]u·öØDYÏAÉAÚʯ<þÿßDâ]¼ÃªzõH:6ë~P3-ºÌ5z3É>8ôjwM<âÝ|ê¶ÜBKÖaw`¯, ]Ð<Üí_÷LÄcÊ
-Ã{JBtvv%ä¸IÑyÙÔUýK<p(LõÅr2[)ìtØf$7>ZsîCrr×÷¨%÷¨^pæ`{¼^°ûuàí°W
-y3SNI´ZëÃ_,tUsêßÎ'¢¢t¹Á§ª0þ»÷ÂOV{?n_÷*<I»
-8Ñh»¨À(«y¯^_&§ÌéEnÒÍÄÃÑé%÷°ú8»Pz5¶<?ÍVÛ#¢ÜÞ³Jñ-FÈ6ôì.N´~Á,^x <ñää.¾@O¼
-³¬_wôÑ%/¶=@½úÚ¥¬ãs$K7~NÃÒoü§yÓ?Jþç0a¡Äw¯é¯®nÖwE¼-uY|`P?(ÁÒL4×?¾¼
-=º»jLÎÊ¥bñ®ÙÞvNZê-ª¸¶
-<M¼8'Q©beÑ"ÊÆýS_ÈgÄaF¼(Û0§ÄÛ®ê6§R®övakoø?1ï²RzTGNQµU Å`qè$Ä/ØEéÙäùg/îÞ«à-Ç
-Ü$9cË>(¾3Ób^(jýÖNàA1X,jðâë
-|ò¦J#óù¡ëbÒÄ'ÒÌnâÚ],rrñF"ÃVÒ¤qõæì:mLùÚ<<2RÅ4hË¡?t@ ߺ57gå&ü¶ÔùL}|E¼aM¨ÅÈíÊ;tÏ9¤!íQ¯_ÖÝ^'Fö²õz<_9
-:ÁØß9e
-E >Φ_SÉ)÷AxhGÚsݽýÕwoëºqtó\ ?Àpü}-ã§Dú×[Ký³
-ãùϲ³¦ï×_º1d\7jAPض®ßNÁàÒto¼¸5ú/rßôõ;B
-6 ®:§Aw¨ãjÄ¥0cÌáâ05_o¦ÎC
-/ÈÐ~Ø}µË)w\H6=ªZôª@¨ëy¯ÙRÕ!iì_i at Z8ãNá¼&_æ»:o
E²WØ4ÚÂ('aÄÍ¡l]Ó(nõË[/1-gØ<Äl/uÂÞÏp½67XuýWJãF_©D7f -!
-é I(¸@R>I]2z½´>~ÜöõáE:nRø±L´`<?É©#
-}¤ö÷xýÈ»±¼ *Þ¥ðj{ÎV&<9âiü0Nz}À% ¼P2 at t½i¢ÃxêtæïlÈát!òâg8½JE%&¨ñ]c±gOçéùÐuJ{Å
-'¼A{ªÓ¾æviøUôbÛ@j».¯Á+í«\K×*µyÏjëW¾û¹à[âq{¦jFN~kEÝaß
-rª`\ò¯¬´uÉY÷ýÊÉ /¶áSÍs×ï@ÉûÌAÍXÙñ4
-§6å\L#ò+Ò¢5/h¿$Ñ3_Ã$Ü&±å¦Y¿ÇyAÁ¿]fÈí¥í¹u ȶ«I¬*.WZ¼0qö×¼:®Ñ½XÜjóµáÏ"qN£D:^¸ïɯFÝ@ÁhÖÊm%ÚÙ^Ó+_Ï¥ûT¾ÄßK¡R©ÞºÛX*DØsÂx /Ë*γüÌxbøËiËCÆdÌUìOU%÷KÚ§ÍJ
+Û×忾ûº ==DZo97>\ÝÒ,ha)mn {¾ßÛöÀ¥Ls æÞt¨±'"e»û&m9Þ3vLõÀW?vðuL&y½¹2<F²t%ýÌÿtѼÿË^:kXÆðþ\)E=QÚÕ¢±Çï}íKÔÔì7Ööÿ}\¶[:ü$6-É. D &§Õ±¢)¢8?³Ï.§{4ÙßmÕ+A_Ã"tG_~z+ýÞ@ïÅJ/Ðc5ö$$c_òTüë㽤¢õµfI¢òè'p©ö»ôÀ?{û§Þ&Ýþ@Ijå²ï¾Â:ôãcqa.Ù©c?¥÷ëosÁ¾è«>ó½_Ï#Ø=åK¢ö~ä3ØÇ"¦mM¡edÝ+¾³S£Þø£¿¾¦³R(ßþÔTcxähè°îÞå B:&
-#Ë7'{øùÀöwÎPd´W:ÉÈq6#°õb at n&±¸Ó}û°âBÿÂÑÜËñX*Ud`8Ìꣽ.<fßC5\+Q£¦äÄ¥mQ-Å¿ñ /ÄbBå)Ç â³Õ'°û~ ©ª# a¡"d2$Àé¨.Yúóüiåÿ·Ôs:ô¬SÊvûÌ
ht\
-$QºÕo3pé$|EêUÏ»Âéâ
-ïFöþ¼Zâ×^iHjÕ »u/3´VaZ4Îé^2t3ä½äµ¨§ìü+v'´Ï11Yiabs·Zþ¡ h¯¾4ýÅ®#$Dà=1Ó)î1ñÉÉ㾺P¬`þܺIØoØ8\·WtcCihªH(¥ÞRº_ËB.¾=£pý¿¼¼©9ukv[ÆÅ'ÿ!¢u4Í´Ì1s̶ççK(ÎÙßÅíäéôóÕ+,JÉ£Ô¯cIµ8äX9kõ
-<´ëV Ïf6¤c¿ÉȦÃß
-Hôy
-;vPZÜLoÓ
-´Hþ"EP_cÇE®Þ:A×ÌÜWƪAøo¨ã°Ò¤Jÿ÷,¸n¤l§CÖu×¼Z ¢»UG0ìç³ÏUdGd© 9/ ÈüµA>®,·RÃ_D
hêXM,Õ% <>ÆØ÷îQ6®Ý
-`u¸^H)º)@úº©åQ½$(Ï3.«_û=êkS1âj
-úç«ÅùÐhvþ3Yj°Ø«åØW8Øz
-Áâ\í¤d3nçÆ°×°Êôê@ÿPª¤öoúhÅDØgq_ÊÖ¸°h¬Øäðâ& m-è½Kc¶TqP{|íäárå2ÝUÊxÂnÄþ,]ç|æ¬ìjëúÃê
-®@Jí_äÏköö¸*áUïVV
-BA#Ý+,lâáJ£\7ÙÝÉÀÅw±ÕeÐ'#Y¹yqª`ufõVòPNMàWÂi´bQÙرBãxY£6bé`ËX|&;[é:RÌpQ@©ÙØâ2iÕ^¿ h¥xp0ºÜÇsZ
-é\Ë@ëK\ÖôʯwcüH
-uåO°ÏߢcÁLä§@ggã *º©Ü/^ï£þ¢
WÏ^¿n?Ý1¶îìN-5Èâ9>D¹5Â@eÚµyNnBoUÔðÌz5Ð5¹©«g Zì<ã^
-O Ï«´ÿ¢K½ÒåÐ~ÈXY2æ²£XnU¥TÊ<£³ìí6qBAøÑà$Â'qÁ[l<¥0¡Zr0ü¥~¥ÏShHJpY¶ã7c?tÀϦ²åÙ-©ÝÄi
¶¯P µg%¦,Ù1C±¡¢÷<!FÅõR¨ø@õHMOù
'txÈ6H?7¤§I<ýr®+÷â0È¢dfZklBµÄÏ,ëÍ+%ÄÄhäÝüÃÝè{ìjá+Æv3¸GHê©Iq
a-acXt߻Dz¡ iQµ:# _þÑYÌQUU·Çd7ÊfØkƪ¾¯ð>.Cîò¥Sxbl£RJ9}½<¹Æ9ÁÄ¡%¢ßA±nÊ ãÉH-pÙÊÉ Èã¾Ý¿DÜ9·4ÞUcø4`¼`Ï~[¿ãåonzJbú1Ya7@·»ºÑj´á , IþBÃËÎ,¿ú#;køH/Û
-{S¾ªw&)¯Ì?v»qÅUS4é1R¯kqFz$A"ZL`Ýo¾ª~|øCÏàwióZ¼¸V>ïlTÚ ÞÏá
PçÕÊúNÉo0ØT²;_k÷Ãe*RÝR!yÕz ÊÃ:±0IµÇÄ
-«ø)ØÕW%Áßd÷Mó>w¦¢æ\@¯¯`Sø¡Ã0â
-Í©ëw²ã8 }ä?ŶK°´ÍþòÞ/Ì¢Òs]zX9TÀù$ñ3Ûrc1ðD'}ÔÌÁ+Sî¯ÄAËþ@Y±]Àz
-Õ{h+ñ¦)e³i3ÓaçãÙ»13VÓRÔܳÜBãV«MÒTêûO=kîB3h{L,þË©»üÔ,ÔȾM5Ö:]
-"Òþ¬§bjÍËmö
kuÆdÀéÓ¾#¨PHo¸æa½í¤9ñ+ªñÍtÀ¤Hæi©ÞRL¨ÅZ´aÿ§ÈCÌÜÕÇKjÒ
ö;èEf*qH§å½,N{w@êu÷"KùCµò©:Ùu´}"hÊ8ÙÅõÌܹÖ
-r!¸Ð+Û
-·
-óâûçç¤7ht
c?@$Ëùå©?9å©#£üè?ÿu]b%Ô
-@ò¿ªÂçí|ׯ %û÷pÜW'íZHùhD±È¯
-¼¬¢j¹rkç·MC;=0¦Âü*]9qЯ"]|ü¥ïyß²TN
y¸n9Cmµ'²èð
-1ë1ôÅxé]Ö¤¿³#ÏÙýÈ(ºRÓÚzwÛã8ƪæ¨~×:á]!ÄL¾F²¬f)Ð'
-¯:·Jå¤(¤-m
+ÌTÚkæHëº{ü[ï*Òn[FM¡çVPI7G»kx¼°MY§<ëéê·!m§éNíjV5øeT,NßÝã<U»sô±Óü[½^Lp¿ÊGB>ÉÞòÆIñ}a8p°1âÕ5QR[®OÀfö"Nìt&´Bϱ=øÿÿÜ»Íû|¯ö&
-Þèà
-³^
-ñ½x]<«"v_î#¥5ðQ¸è«!å{|¸õGYM:¦SCZ5Â`ÊxtØö½Lxî[É·-%çan¢Üßø"½òÎ.| mv0°KÆïº6ÔU]Ax§²1PÇ¿W+Ã×|ªQ¼Â8"¨ÕV4m|µÒVTÁqÓ'5ýã
-¶
-WùX(Cß
-ç©PLÂX«0iÞÙ\Åq;Ö>ß=DrË`W<ýÉW|§4Þ#eô0Mw£ì?~ps±vò¬^s¨Í0* øZGú$aúÉIqþÚ×
-¹m../¨w·¾ºWYÿù3¬X-wab
-ò[ng$7VÇR
-9òÉcïYÓ¡øüξf¯×³Ψè|$óDµÊ7ÎHô:RC )ùI.pWgUÞ"{39KÚ<fLÔL?úØÈÓWÞäu¥¬NºR/^wî3ë賩Tbi5r»ä]ÆK`V¡Ë»Ñê«ÚYÈe©Wqi
-~?7ònr¼5ëÂßòÞÞåâÛ¥^©«CÈÛ"Ùùúð×M0]$nû©ßÙûB¶éÜŲÀ»þ·'L¤þ7[î/tQ6ØÃ=ðh£aSòÑ>ü»~¨Øµ§R<¶(xã
PKצoÿU¨Ù¤AôÙû;Òd`}4cí¡¹AZ>ýÊiÈ~Úý%w´µBû`fJè¡
h_d['.Ø«
Oº;Øû+«
-ÕA×(S¤½c\W"ë,&fÄ¡¤B¦ÒÉù9Ðn¸0ÒËJ¾Xâqg¼XlWL¾åÿ/ALæË}Í>=i!¯ªV;!y>
-k py¾ì¶ gÇ}5òótÛñ.ùK iæcÉwd{,¯ç¿ôåñvèÝI<þ}>üuèCxí¹:rÏ´ ysbÄoþÍ^4ú%ªËÎý¸§ï='Ýê
-){reàé`àP½ÜGÑÈöå¤éËt1"2¡«kü¯ÁaÖÄ5ÛEóϸF3N6:Ê2Dl¹æð3²SíÈZ>¥û:qtÁ´/¬ðÛÅö.
kÊöÕ9/¾Ôà3lÌ»¨QJ#¢N3ÓUDÙQ¥·¯ÄnÆÝÛc§þ»«(.o1DxpfK¡
-Ù+/÷çàöªnqëòZ
-Í*(e½çö
-ðkâÍÖlDpK© 3ù?"u7âæobûUxµÎr=©À¥ªD-æ]GWÇÒi5Ý9~ÑYx\0x
->ÒÛ%ÖzÄyPÑØË!ú³ùSNæ°å-
-Ýñ~sX¼äÎôÞÌß7ÆÐbÍ"
,ff
¨lõ*° ¶´òvUklâÔð©`+eoY\ÄÍöÅ`Ûi¶}¬B8O¥nK*ýü¹2óθ
-|$ãýEü+O«±©ò\ýq^r
×-ôÀ77äÏ·y¦ífhh®c^8ÞOÊzÿë°8èÕ¼TYÓ².0:êkR0¾?LË¥Â?+`qûôÛ/eà
-LñÚ G¨ê\e\©ÌídÌ/
5Ò;:ºs[îjïÔ6´ÂË)÷ðu"ºfkeM¶ßÏSl족xE&TI"+å"·DÒtKÌkãP«b&SyT§Xà
-2ûÔÝþsØÔ¥$$ÿ;Þ&ÇÃÑȹ(¿\w<]½úvYÍ«¡[h]·Ì]±ȸ¤¸ É;ÓÞ´ü¶ã¦ù±Î©×úe¿ÿîðZqÝ×Ôe:!ùTõ%ÕЩXJ¬ØÅ÷^5ú&ò¿Ä©ÕÅù$qvQ1
-Û:ÚjùZa.jÞF¼Ê%ºbôýÓ¹ óÀæJ9,Cs^
-3½JúkrîcÁ~gÌç¢ð]xµGr'µµ;ÙÔ9QÄ⯶
Ù6ü´7£#ñÕDµS#JØ%^7ÚÌ8 î¹ WÏ
-9
-D³)ÎöÓÈXPI2§Ê÷è(»H8%HlqÀ¦õ3Ó1þYx4YFë$ÒÒ¬Þ¾½GZ|Á¡Jèejç¥^YæFÝ='Qøﮦ-1äJ¨
-&¸ßͽÌN«²odÈüFDûN©{2@ÓºÔîöhOò¼O dÒÉ¢Ë]fÎ>·yãµ
\aÿµ;¤êF¯+(íHìÕDBÏ× 8LдKËhjiW¯Éþ9Áô¢Â÷UJK(&2f4ý®OèCLX½ésem3ÑÊVtâsîm32<Ø+3}ï¹ÊÔ ayþñ^ÎÕ²ã7xq)~
×Dzµ1ÑÜý=4nÞM¥IùZÓìKhá$w}¬¡iÎA¹þS»:ÜxJXâØïTO»¿Ù¬ÔË <
-øVÌ¡ÝñÖÖþ1G,®dîÊ CµT
-`AÎtÎUb÷àußGÌX¤xi-W¥ìòP×'Ú[nýýع`ü&&RÉNÔá[åõu09×¹>Ü´81z´püÌÙípÕõGóî!ÒAMø m*ÕsåÞö©Ú·(ßj_¹LTëemè0£?hzÝDþ+¼0¹.UkoeÑæÿ ü£ðæÑs¦s¨Øûb³
-{¡ ÷ÝT¹À5<{ðøñPhÿÖÑ(ÞÊ£bêFî¯þQĶ¬|úã¯ÕÛåbÂi,ú3r
-H;YQ°¾ÃcJuÿ[CÑÏøcÌàó4¹¸J²áGÇýjNÄ~
-`¾yÈ
-¡¸JIäBgçPw^@y£ØrEýy6hǾÁ¢ÂqÞTàùÞ8j-鬤7
h®èãOÓy°¥R÷ÊãµÅr&½s}çâÌ98C:ÓÚbä5oWy&²]E5B¨Y¢ÒÜ{?*r<&í£>rPõ¸DôH$°B"(atíË$˧a+Yç²èä^¤É?YÎTá-G.5!ÇymÊvªí
-rÕ8¡îx%¸nOåÔ+WjÐßøeJ|½áè»!ÁïiÕA»<ã¹?9H2Ccæ¾)Ú)ùT>Ò¦Tºîò÷ðxñJÃÓI={|2¸û
-§²·KCz`ã7ÙÉ#è¿ãã3µ[ nãŬ>ïvÃxè3$ÄVfè÷Ì]°v¹I¹å°¶ýнÇù¾èÛC×Aü¯¹cJ¥q{JÂAãÿ¿}6JýÛ âPºbà7tUæ{V33¸3åFÈN¡Ô2ôs¡µ4mW¢,³)Û»íhÞ+Üa[v}¶³¨êjÎ6çõº`ENÌö%à¾Ëö¡Ä¾¥½í 4Sñ×8Óª\ÄMN\ϲ§ «{5&âRøñnûGälCÉ|4_:{-<'[C¤Ëï·ñRÊ©"^~Úç.fv®ª©ÚÆ@Å»ÊVG¸XQ¡½E»^~(Pÿ'¨h¬ÇV
-0ÛpßÓæï&Ô/0Yõõô\ývZÉb}7
¥ÕM´4½oA&OºÓwùÍyåU]Éÿô61j_ÀÍ-=rk0Ü¿¨?a
-L_ëLä¼Î ö_
-âJui÷bªÅÏ+ëø3²ØµCaôT®T¦çàðÚ)×£:n*J^5ÅÍoñ;YWÄãº
oKx*÷$õ|ñɦÌVóÁÙopÐÓT^/ß¡°§;*ÆÒUn±8aÃÚüHBôöS_ܤL !GQú#D~ÓqÃm¤Õ°VfãCÿÏZq@ÞǾÏñ¸Õ´TÒK/ÜyÎþ ±·kªYßM=/×
-æ.ÞáGkâipÓîc¸þ¶V_BQBØeßÐÏÌ©?l8Èu¶EÐ
-Ûk²{DgYiXZ³êÐtsÕAwtС¬ç¹
-ü4û¡0ð*_#±Ê8W¶²ûcÐ
Öú¬Ôõ³Ù-eÃD¡wÎÿg\¢S§
- at CÂ'¼ªä¥©;|ý×½]Èÿðf¿}§m¸}ÎY*cÿ»(S¬íLB;?I(8uÑXêdsÙ×
-ò½ ù[IzÜ|ûÝ¡L~?-
-iíÊg0Dþ#þ#x&/3¯ìàHsf[MíÚÎÑZtëæ^!I*ol&ÚKÍR,Ý¢²¼}H)êéèÒ'3ÜÃÕÜ9¹ ã
-©¦^Gh/Ð~lyH7$"åo=àRÿå³D÷H0ÇlÙi(oÝ$ÔÕÒÈo¹óÐÉt'MÅ[Æî7jÐRòa#\vxQµ-¿Õ*D«vb"×ðz;2¯2«çÌðé
-qÑ^Aå÷ú£úÉÃÝS®ÙÀõÜ*H¨I«Óu<sLuÛXIøWkYéÚ
Ähxô¹ÚÜ-d{ <é¸U²~$Í£íÃÚ¸8ðv¹FZ Díû[<z»·Xk áLº6)!+n}Üuî¸É#DÜú/`:n¶òÑoAåÿÇÏßj¶C)§°3é?©çù)¥êAAÁa}°ày½?Ý+ KµA¡..iödv§ ÿ´P%£.
-ºõÿ{úý}èótÔ¯~ZÞE=ÚOÇ?YíüνiÝ[XÕx~÷Îள©ëÿôùo}ì¢ëS4CLõ3xOß2¤Î¦gÖ@}ܦbyîq4Û½T.èØMý§æàûy×hàÂü7×vQâÆxòrØmó»Æ_l¿åÔ~/¾Àt¶od0ÔS*PTÍèÏÊ_XñF¨¯ì8ZúTR»çD?wZºFÓצ]yéòe'bô©Q¿üR,É#ûQJv\긱Ür^:J«1
-ÞÔ±sK¹@ § E2Z£¹{^êoË[Ä0R)!cpaOpý ÉTü¦³øÍ^tCMoo÷ÞxÞQ]=³ß5?ÊĹü ¢{¢ÆèÜhYļyßÞ9<Ø?¯/v1ã!}³·g Ìx«f!çÂ
-mjX^íÛûL¦)òN;ç³!ê÷Ó`ÅØO&l ²ÏäÅRëù¸ù ÑG¦³løÅdX<T~·q7Á¿%¾rð@êxÍè3ǪkA±÷#bâ¤ãÉWñêÒÜ6,¼ó^à®îê:[oÕ&@1í.døo ©)GÑ!xe6,jöZ|@s¿GH·ö&ñDêï<ÃtC¯Oð(Xåݼ¯c¤ÅÑeÊÜäºîÛ/Få(Õni$·RïJt/|Í®sß:ÿTÄSÑa6b7¼/åÛ9¼I;
-ÉfWÎ3sÃÞíj£}ùìÀ§wPGv£ûZCºÆ ùÇcpÑ$ÁĽ_<ÈþÒßÇÑâ3u(Z)~àîöÿ{óO¬Åó¼îá^²MÝI8Kæ/5Éæ9¯ªI®¼#aL¡Sfi.5Û,ø5"ö^ßÞ¢ùÖ¨WÛ´õUvqÑÈ;½o|i;áÒ,aËu,O$C¶¤-3â¦Ø/cà×TVÐ1bÂæý»ÆQ'ÖC2£aQ8;V%-Áfù_èÞÊ
-oâEoW¯ê íH²Äb2(ªÈÀ³d>Ëkõ2ë
-§JÒ8Êû{0¦åïUMÊxIn1uw[~©ïêÄÇÁÿgcø;vw¢í0Âäî³ÇUÖ¾ª]§#@¼{4=æ!dŹjÖV.Ù</Àü±m
-6êT¾N!0ObQ¨¹ôPÎL \þN¸`pÍ¥Pç)-Å×K>!2Lðÿ
-öa6c¶ÌgãgÔ¢!T!whöBZÕßQE·-V Í÷¦¬QBöpN¯Q®°ð&É×ùìá÷ X»îÎ
-çö=(áÇ+üöI*<¡,ˤ>äÒ$ò¬àh'ól¼D)¤°~Bÿµ{âtÃúí%Ók}¬%v^ðùÍ3Á2nÎè?pv1/çy%phÞ!ùggÂaÂîx°<`®þv60ñ}ßë9 s²´ÜÂ%Ø;Î?c©"vjß3ðÉò©¼ä»kÅ\O0ÔY1fQ:;òÒhOô@ϨTUÁ\ùðh1ª8ͼÊuñôZ/~t&#
-láp9òÞ/ÉÞpï$ZÁÑ´V·ã
-ÕÙÆ'ÄFdL½þGÝ` ³hiúºôúëkLå.ßµgÂzSsÙRù|(¬Ìà¤;
-²¦@¼
Çâç1$Ä}B]¼Í Mïn qQ¶
+x[Û-9
+}ï¯ØÏHì©Êµ"º÷
çA-ñ0HH q^æ÷ñ%]dW÷14Ý©$¶íe;,?ÞþwY.^®ë%þþóÇ?/ÿÓå¿ôGü÷½}|¾»æK^qõç?.¿<ñ®ðóï_SH1§Ó-=óîðÓ#¿\>ÿýó5Áðůn¡ßxØìÒ3½ÃrCöîÁ¶«?~âê/;ò/×ÔÁ61ÇìSIå£Ô¾¿n©d8d¿bkwK)ïxÂí½»Ñ®avØ
LsA%1 ¥ã?9sí"Ó]SZéª1;þ"¶Ýúíi½ öAkrx`ö¬ûùÍW6ÈÙ¥PÁýø|ûí
+%
+t»èFÉÜ5%Â×}wIg5Ѭ
¾©E
+F¦
+M J%ýÂì`´Ä²Î+Ú¢o
+ö¤$î·>¢DÚÂÐüÓÂÔÞíô¡ÇwÞd?AïÒ
+âC§}óÙxHçEN
+ ÎØÙ·D<ßH§ðóeD<»:$ä3¤:Õb´Êd"plÈjhEFièmkÄ+ûfÜ=ÕýäïovC*GÕiaßvRønr¸gÞ,âw×!FÄ<
+Ë"µê|eÅtZH¥ïÓ¬µ¿ÿȲ¥ë¸
.
J$*-êKM=°¢¹/üüD¡1®¦LÑ5Ñ=AÚÑDòª
¯\ÈyÕõ«KâÐFã_%Ûj`Di.Q
+`¿½Èñ+V&cm½
+ºÁXg§°r(f¬Hà¸Qèv-t{Ãü¾º}=tWè@.ß~d³ãðÍ_Vjê1ÇDWÅ-ã"Å7d¡÷¦¦m1jªpE¢ .h&·jgûFevLSãd»ç"ËT Î
+v½:¨¬ P¥¬ñ¥³8©c_ÒÔã_7¸ùȼKMQ MS,1>¼o¥eô-]ÇÕöѧÒ0r&÷%¦%¡ýY{ÊLw4¬!å½5|
+ãy¬¯SãÇQÉ
+·E
+I21a' ý.+%ª¼>¢KÂ/ßçÈæ#CÛ½21Â¥VE¯ØnÌìÀ.ØT
+uÿ£³µW´I½e£1ÓÉ&qQDÀ(µÏUÄËcc\CnêXK§PXG]aæiGΪµÖꪯbå±å×±éªÜÍD<>%ÙLõLg^Â9¨ÔèN]JÜù.¥k·ýܳð~{[ä.jíZÄWýeªÁS½/aÀ+GÚ{B¸á÷ÙBÕjÊgf3OÓº ßï:`ûäPpÿG5ÔÚ,j¨¦*ä7Mg`âh0±¦9lW¦1k¼ =0Ƭ1¾ö
+¹\]Ê%\ÖËÑc|ÀvÚçÞ~yb`
+µsÁtÒR6Û7Lmì´aå]Û"·©|¥[¡-WF¹r96nòn?쫼¶ tµK¤Y(6>
+]*7ʽR583ÜrUúÃb¨¹Ã}ÙÒ]s4SÚjyà Ùû%AHºªk:vKÍô°ÖuæX3Wµ\f¿¨9²ðYÓ/ÛÈBÒ æÚ
+NLÛ¬:±ôÓæfÙµVy¶ðÚý,|Lêqh®uÏVê£R}ËM[1n7׶ÔRWZ^|8§÷okVt¢p¤C¥×ѸÙWë&Z¡jLeÎxÌýÍjëÚ9°<³#F?(ÉÈy¸{¬ÜH©°0ú^íC,Hë䮳t[Ô¦Hn¾ñªná¦GRznÍ`°xÍ
+55O$<g~Ëý~jµ{}Fâ¼³}ËD@~°9VÕ©SMzJ
+x7l¡Åb¨s×.-CËÉÎsæÁ·ëyTv[8ØLg3Fä;ï;}x9&ðÏBJX¾5¥
Þâ$¤i0Y°¼0Wú~0Ùq¡¢N&Å<Õô6þi,KºáfFÂaF_],/ÚÆÐW]ìA\¾ÐK2ïTÛ*âï.^ô¾
+Ñ÷¡SàÊ$G´eþO¹Ë{
+ Õ:}§f°+6îµ¾"Ðtçî§sbÔ£îàîóopùèÜÓ¯Þ¹Ú Ðf_ü¼1² ¡î{yC»üoié(
+endstream
+endobj
-N¿bMC..ña´ÅõâÒnç5
D+þBWøÁ8×u6ÁÍz4g?õEönÄqÂXpV7Èn&am·
-³~ c¬@-§>3fQÎØñvïÊÝTè ±P[ÅCièÎj$ê
-³ø«ÉpãWí»cn<L§g
-1cÒÏò£½¯)Ö<2ÑÀ½±
-z^BÜê?bû7-¦®xÆ{ÝûàÙ¾6Sµ\No?a7ò'õP)ý¿TlÐ8*J*H'¸A8¹Ì3Ω¼ÃFHÓã74±æ¨ÂXËü¢ö¥mÁN «?ñj=¥0ôD¯¡9ºÑÖ&Úc$LØ«&>«²m¦1@Ü")²»ÍÞïù·&&ÖMD¼,oÔ{Rß`,C"i+ý¤à²ÏÜÖ%=\<PíýlE¾pU0(f×Ƶ@¦ÞÆÚÐâ[JjoRk8²:Ñèࣹ">èï*2ê9;L®î½ó.øÁ
-)øÚM}0YhåT°µC$½wº¤í<mëvE«¯w
-ª¶Ù]êmÕ¯
-Â+7my/
-G³I)+½[ÆQÈö°#íIåéißÓÈè8kæ×{¢ã fxÐüÃéÍIuPÖ°àI2Ý#u^ò MÏ
--å°YmÁTwÌ7h+~1(6?ÕÙÓï¿O6È·?<ua£Ù?Ãn.«{«gþº£[ü©64HEËØT¯ÂÁþxX±oBC:à?£ÒÍϹbg;q<cÓvl#vCx
-û>--úàoT9;Ù702stz?ÕjX¦ÊÌyÂþ=Íxø<µgÝH¨©Í|[eúè.ÛçeÑÅfê¸Ê6ýÃ!2êè¿ÜEÃ*å
-4f×Ðãïбü¯Í£·QÓ®
-¦¿½þÜa¢íú¢VÅD=¥-°(X<¦°i»|DòZ¹N\*;hW[±W
ÙI ó"¾V4tþ£Dæ?)7Ìë4ó
-4þJ§9²ãÚ^¯wÛ;ÎÉÑ;4ÑÜMûJ/ÊT&Þ:x²åuO
-'÷5ÜKú{ã*üé_¿ÈÝhìÜxþ~˯¾öCÐÕ¶6È$ë|/`e#¤&ì G=ÉPüï»JÂ¥9£Ð>t^Y]öK²Ûvnd¸dGQß1BûO¶Á£IiéíÊ-Z[£kKÝÄ~] ?}Ò¯;»Ú¦08àhõwibE
-µ_Ë×8Î@ò~R¨zLëjÓ÷\~Y}£dÚjzzÿÇ-Í\
-
-RØîûùÖt u¼U¸#Øh£ËhZ¤µW«ëfkÜÚ_ôd³
c]n´ôTm"¾©ÈiüØyz±âgugoíëЪ¥þ³ÏV+Ƴĩ½rÆvå-¬^õ¯RðÐX_¢ZEôxÓUà<зõG f {Ì 2È:æï'.ªö%Qªmù¿xj0v(ìz¸KqîÍÞ[æq`hG¨XbJøA'"xÓAïê±óyÇË¢¦1(ûk£Rt¢èÒÂïdmx/¸ËÍA*ä
-æîÕürÎ}ýr硺Ù}ûKwGqx
-tÞ]*ùsu¨8#|A¨7óÐ`im²Gm½2Ëp_/;Ú³Äitàì_Èto4ÐñÏjmsmÚkbvpy2ºÌM
½^Fx&Ѧúô¤oÝÔTP
-Q.u#*qÞ
-çÃÒ¼{7©ÖÒØÅç:°ô)Åt|×åTÝè#
-N&jßaÄ´KO1ºrôåÏDp±<ûLFé,É@ÅcÖ:ê`ÌøÑÙ úÈé«çÚP.ml6¢Ù!|¯øAMÀ{ïgw:àÛ{ñÃþ4¢g
ípÓº¿P¾5+>hàaxòÙ²áb6¹Ü3Mè»=ÓU¼2·¡4å(V9w=ÙsS¶õZÂó1v±çÀýºâ²W'+Ve* Ì*è}mË[
ãUø/\bñw4âEµµø«<cçU¯Ã9QypqA½`.vc®¹VìVFgK¦y6ÃG×êC`±º\9ª-ÛYÎì@æo?{ÃƤ¬ð<ä«HIÀÒ/
ooåÎËb9»²ÿÛàô3cßû÷2P÷~/`¬nF//µ:TØéÎR3E&"L¿ivªe¯T'Í<Þm¶(Üòâ¿býùbèÐ9Çð]Û_]ï{òþ+ÑÛ%Þ'gÓÞr¿û3¢j<Õj5ç9+Öñ6º@pj½CyëÂQ
-ùß^@?&5õ{ÍX+?mÞg~~Ûôo5XgpA®66Ǫþÿäçq<úaº³I[{
-²0¶õغ >4±yiÉì2jù¯<ÒÊ«õS½âÄý|¥ lÞêJi¢øM6²Ü²%Fr|»¸î:âóåk¼ËʳÄçBã½k·Á¯´+g;ØËàø§kôûÖõ8>Á¤¸°m>UÇBþf¬ì°Y67ö¤¿ßT+ÆÚøoËàÈdåÂò¯uçÆWe(Nxx],þ}
zë6no{
-2îR9cJXfZiùBkaó t׺Oç%áäóùÎþ¢O0ùÓÖ.þýtl®Z!O¦F³}é=ê¨Ü½ò8èÏJ~áho[_ð©±C?3¾Ì²õQõ*©sqÍKëe¤3i·xÌ<ÃQÊ»OIEß-ÓìPJàúñ{±JªGT¡uZ¾3`d[h
-5íSu1«-ëӹܽôâv
-ºÛØ\KÄ>í·dÒ7 gÔ^ÀPüvþ\Xø²çUR_ bÅ:ÅkCy´»LµCfÌ
ù`÷h×ÔÎ0ÙÒVY°_§K¤È6/¼M¶´4ô8ÿå{BùNXwx¸ZKa°aü×#âÛ·U$Þí$P
-Ógrs 4:ø,àÓÃFçb'JÁ@ÿB¬?Úî+ÅF÷©UÈOª-:í
-,»M·Öð4ÀCÄLþOx)¨Üûµj4FÏó¥)¢¤(;æ<7~^ìzv*ͳ`h©æÝ[¦7õå0ÑÓ÷?áiæì*%XzqWÊÍÊ/CÚ'848mÁ£Ýg,ãç¹%ñã ÜibFÌy¼?Ö%h\öV$Ôë:onSÐAºâPKäÏáÁzÒÄÓ9¿@âЬÕ˾Á¯Z&vjsAöÑ[óNÑ,ÌL×üZÊÊáLÑt¢[%ukÜ¥}ÛQÖcxÒöpîبþKï;½l%Ià5J{ëû¨JÁßÌÊ]WÍ%ìB,M©¼£Ï{ANA
-"\ñ+^½{eø2Ðͳ§áÌ#ìì¯WÙºØúH¾GûÌg~%>?ß2&ñ7Ñ®sA^nqÈJp´>£©[®
-BYZÙ0UÞÔFó~׸0 Óû}åϦ¤ùÀ¢aC@ËR²R8Á!
- ì¡¢Itg K%Ul:´Óm¤úºÏúè# ]sg-aÀËEö¬ý-GsñØv
-çÑãùQÒͺpgë½ÁP'¿ü?rüLähÆWxbíÝ_VD/)$ÑfÚúOe¿X·ñÉ/ÄTªM&¢"øóé$5÷cèrRôTMk=
w¬¥ò°ù9ÛaX¿æC(_Ü©(Þ]Àøù+û¾M¥¼Å°Hý uOZò7nøÂöà8\´&(ùP©kÁØÚØWqìÐÆbz;±Î"4ès;ùÿÊâòÊwôø-Òw>"Èz)tRºÆj°÷¦/@I¥l¤$ýL¼òãMLcLRbÆd¡PÖÖKìçG"¬'ûÇê\¸Sfx$çü¶¡É ®IÓDu֨زqQ/ð5²FĪ>%¬Ö@a9}ãÅeé_6T¯Î@ÂX
-¡Øì¢nYÁ}P³u¡ý»÷ËãÎ[ݧ±êé®îpżÔF´ýËȨb×öÁñ´½[9´±Ob=Ôö¹:2À,©B6£Ñhe(;¿$Í0ÓcsçܵòüCq Sº<Ô¨ÙªÎ81°>?sÌ?Üý_k=¿Ð¡8O2Á|9ÛÀ9çhóÚÊ(it¹4ߢÎÍò`}bSÞÚpèG(¤¹jº¬ HÀ À·~`cZNzìq2¯mðÙGÿæõ+AÔT§O¾]úM¬i¶#Bnnç5_Ò-ñ«7S÷³+½-~orCÞÖBJ©¬îÒe++Þ´&Ã]KÅ£×äG at u <¸D¨ösq~]óFú
-WîA´Y{þéH2Tå,åÙ«®;¨^»e}}»
-«MÏÛ´ÉS«ºòV]DEI`Ð_twìÚaÅ6 «¯À@½¥º±&΢»ùQ[£ Ó¬ýåUö=æ¨è¹éKajya6N"Ã#gVhxf´Ã'.P¿¡Jä ¯ñþB]1èXú$ê@@µK'
-Dccøâ|jfºíxYtßôo2?Rº__*Ú|°bS-/FeH}4µ6 SEêRfiD ;ñ¥ËS¾¥t=Öð·mÂõº}ýÖ¬×Ò}KaW®Pß¡úËÐzáZf±0ï}µæø'ã(B]T¸WʱûI ÖN¢6ýn¶"É%üDx¾cDèÄDX÷EIÀp<¹Ü|¸eFp{80wd3z,æ¶ýà nfÐÎêÞOãç¿©QµÛJn.ySî(ðÄÇAy}GlÜÈÌÞ½<1QU[ÇÆ_]¶ð<0Y
§j&ÍU>YÑdM¯e,MtÆ!Üv$Ðh\º¢PS"AìZ®à¡ôã.#)m¥ÖV'Ud«ÝèÞTR®dBþp%w3g~'{Ú$mÔ;/m5Pk~]q"3£¸:PóØnÙ¥h¦BîÞë6¼QgøëY» Z_peQÀ§ûå5=ÖÜXYÙ Å°
-¼÷¢lãÚc;pô¼Û×Ï#Ir7þ
-<¢ØÏÙó©rõ|*
-ýëõÚûV±Â¶3¸¶A1e±õ?L/^yí¢èò]/!ÚÃ? u!BYÎ(üS§Jb`«îØÈ6qcÊÓÇ(ZÁvYÁÌ@£2±c¯ëãôµÚ\¿
ÎöF\²K%û¾µ§ð6{\3<`©;4¿§ 1(¹t|¼î\D.æÓëßd'5x»
¢äÎç ø5¯V|,¥Ã(®áÛÖÛR
y¼çl3]
-þj
-Mú
-àÑ+¿÷L5ä'xͱ;'6®Æ<Í¡Ov&ëªÆãH(ê}´_BoÝ8$írýVsqDÅÖEV·ISMÔ \r k;Î0TÂãìÃØ|Ë&è8<¤t¬nW¼k37$)&;²_)7ío;N¹h¥i.Llúâ觬չÜSEäÅê#¹?ÿ;9$ÁÓ\ð4]IÈÔK»Xâ3Ó§ÿÁ.lÈöN<,ënq
Ôdêè:nÅSõ-¬:pð^é
-¡¡}n·ä°2*Ìßj¢Cºã-xóv$÷ cP£:ÏÂÐü°É¹4PAÀeî²½I¼0ô!&Á¹."nL
- Úû`+*8?nèÆ¿p6îæH¢zS`ÑøQ Ùº`·d"ÃÖLÓ#Ã˶¦Æ},||ì0%q mM,à( dM°x@ð`ÿwäGÞ._+N¼þ®¬Uÿµÿ¬ô3÷Eü¥a4VÆ5/^ÔB
-,ÔO+ Ø
p$_*I ¬à3~ñ3E%V°`×9,Ïô*ÑymúÉc9ê/$:"×Y ¶!@K>ÇyIILü»B飱c&ø1Ïápí{NÒáBºÖ¸ÀD©þÃÖnº*òdâ¹Ø'r¾jZ'ÀßÌs[<ØuX0ÇQù3}ìra*Ý)XU@ 5õ¶Ì¼{wuZj×åU} ví<]úG-ÞмÜJù[Nf_
àÐ"ÊÕ º)5þ·¶ÍÈFúVÅáòÁ>««ÍæVáÕµ÷ÑÞ¼Kâ+S+®±½æÐwì+Ë·
--)dÀ¬8{ÛM¡ÓÞ}º±00KZÚÉ«J&]å®7i %W¶mß=QîZðMíÀ[´kè}ôMîP
°°ÏhÿÔñ#Vbi¼
5Ï
-ÀIBSY°çÚ
-
-láuÉ´F¢Wø
-o3£¹Ô>ÅubÐb
-X5ä4§PøíÕ::Î
-H[ªÉ̹!3bR4öîl
Ò»Ûri_5fÿ4è%(îG}©öß×¾âÖôbeÒ×KY©guX?÷6)½¢´
-â
Íþ,X§O°f¡RQ+[m¡ìÆ°(îñ!¹}jRR_^|zqdÖ²HgVJ#_ "#àï÷s.ÍO;,F1@Ö+¦Ý}çô¦-ã2ïñj8ýzC7«v ¹ûÆBPMï÷B®éHÀà%þð°xâFÕbQ²§³³z]í"yüõ4ÏdãºÐºS
-Mä>3¥K8ÿ×2¢¨ÍSíÚ`d³(¯?!.cò*¿¼ÛñbâßXêÒ½×ÊFn_eéî»qï1 n!Uwo¼ÂêÊèc $ùrl¼|d®$>?¶åA\¦WcÕáÐÊÄÝ5ÉC/7Èó§pÂÍñzìte)+Çiòè©Jç߸ø¨=Ô°k@Ê©Ld"¤¦ÈkIyµêà³~D4
-¯i}±
-ú` âÓK¬±^T_ƽ¥ðKiç5äkÖQãâ W\ü[nÛ>qNÀ»åÚò¨ÙSh¢G¢.^Èuiv¾ç@øá¬Z1R >¨C§¬òãJíP¡]·GýN¨wä¹#¸jÐ*eÜòqbSýµÿÇ$4K2W3·Ù%éÈ¿û-òTã¡p°²eb
-3+;ÀwI$¾»U¨Ì4~N2hj;+4È&m
-Ï-Ð.ÄXÃþ«k-ÏkÞ@¿ ±q^Ëz~w-ëå&ËYö?ÝùÉÖgnÁº2VçJn´wéå¸Yì°ôÑ
-ƶ°*0IÂ%Û
]ØÊ8 ´øýeCf©Öor6CE
-h«ÑX
-ÂQëy;©¤èKy$¶ë#
-íßUò¥O
-Ø+úóFÝmiïNDüú®8}CU+\ÍËr2# G9÷\91ñßÔ2ß\Ðå÷ë¸Hþþ"ö}o 3Ìs®Ó+8s>©Æw°Ì«1
-DÁ¬DBYUB^pÔöfü+K¡2·½Ý¹ÈagZÖ7Õ¹1õZ3àcµEw`§¢)8[EÀ\Ó`Úááó÷#&Ê#7UyC¹nQHì2l*ÀZ½áyÄÐz¹þ¾3a
KTïÝr®!¢JXóÇÓ`,T´É³*oGÜÁðwÕ
é¤ÚkåbPâXÜÚ-ØvÃ2ürÏV¢\åæ¥Ò(5ãXÉ!×ñdüÂ4BÇUa÷³¾ëD¬0?*ó5ýѤr4q1[×
-
-³ÆÇ©êGu±Q¢ }4p¸íºêÐ5
-hG^þA"%0ÏçÀ*5°¼jÐHã
-ÔÎ\eÔ¾
-*óÏ%)eJÉ®sÀèÔw3¸nh»ßMQºEêc A¤[uÛjaBCÍ~½
-¿rq]"ò1
_$Z
ApQÐs aY+Ên©&+4|ÙÒxV.
8n6ýbÏE]ÚdþuvÜEWë<·ÔàÞ5j4Èû¢ðÁBItÉkk#âp|/úØP¾;:ü#<Ð?»?*}¢hmÜrzJgN ÖZF²ûÕ£8Aä"o¡[ï¬ÓUÉw÷Å4ÑæhzB`;¤û'ò¯Ü³`/TGP¡ï¾aCàPM´H}¿WÀ0Pñ3ÿ'Øaê`7§omê'¤ RðÍÇ2¢`W1ãsOØ0n¼?Q]¸äúùØÚä°§¼ef©r\ÎöEMD9`ehL* O_+·?Ï_tiÑâS9úúë}vA
-`c%¾ÌmÐÇ%Ïãò¼,µ/Èå&ïFÂÒ¦`Xè6¾ÌêV^Nü§µ°}Ç,×òEÒÚ£=~
-³s¦g CæE /»ªÅª¤²3;4ÝñQ0/Îõº±G¤ÖfÚKÊFm< O!¨G¢bÔ±£DÈM
-Sé6HdEåFYTÖÄõÅYK¶VCô
²1l»òcÍ@bRz
-ªs¯óZxTº}·º/>Ê.¹>uzÐ%òMƶ½@-¨Âé¢9\Ñ÷EK²åi:óÈKí5ü-ÿ=áþ̲ãD
-V6úÜ`yVëe/£Ü2:·ÒklÞYÿk?"×ÇWî$!¥ñåP$ëuÛ8÷íÍÑ
-¾ØNÇ'ZÁÑ°É¥û.KRì@nD@;Tb@>óË~rx¬ð(ÉVyaçfÁ|"1ÊõJRdÕ6nNJnÍ!ïjê[XJ©È+Ùa¾O§·µa´zù©cØ5ÇóoKH¸6oÜüŵC´ÌBxg륣öWÄNº1ú#û5!]`y@R*È' AÖà}D¸RÃ:2è8¢Ðs+E]õ®æïÈþ÷õÃ
-~sF=uðµ*V§á·h ;lè~8}4lNTùÇD»z9hú'®Lfº¤Æ¡
-*£Lÿ+=;Õ>«×ÃY°FïeÝD5Cn§YÍÍw%ëóéxlâê<nùÌü¸b
-M3<½{ù½eo¿&¸*ÆÓ#çG
-ËÙ2¤RÔ)Y]p[{\P¦ðJè*¶¹CdJIºé¿£¦°ç x]ÄÚݧòåÙj
-xï-
-©Ü4xmËïÓ5ßA@ÉAÁi·¿:ï-$aÄR¢%UdZl¶i8U
n;&'²Jêײ
~³vÙº~^óK[.,-÷H_ :4ùB*dBÖ¯1£zv-\çèqIHÂüµ'q%¾!sU¬®j¢ÎÍGfìuÈXªÍyI;ÏÒTöGiäO±f©åÝf¶¹ð]íݲîÿð|^ó<ÞJBÎÓçE~3ü /Ç=HI-Gévjg: L|úÁzÒ#ã²sóAºS®Pä^Ú«Ûé`Ex%ûÖ³¨H(cäcÇI@väÙ{wtÌ..ȯl=¯\Ó
-ä×8ügÓåð<\µ¢©°ßLfY׫µßTijC2gû_ddU-úcª/¦ëE/ß©9L¬ÃÏo!*:ô0Ã_ïD&UB§wæÍ3-÷öÆóq5ÇØÖðÜ¡ËwEQ/6±X
- ÕùKðãëg¶µ½¡çÚt-õÊiÝNbÖ)>)S§£æâ-öy¸RQåÙ·ë²RûÐ3Í?ø¼¤ËJwôªÉ#»
-øHü
-U+_éY&÷-¬ñtí_ÆNø$¯4#Ð
-&°-çqùI`ð½£ÍÜn× A½ö"ì4Ù%ñ#Éüo÷æÏYå Ðûµòëð2Ý1´°0¬
-óeÌÎó%Ò3g
y¡=£Äa"z CKì9?òÏN
ù$ú@ÃÌ:àû<êËÒvä¯:a_A*Ô©4Q>üòÂ\óQ©vNxÍëÙ(Úó_~Ë?(ÜÅ´èöf.éçÔÛºÖcÄ/ßØOöf çîo3+¢Óg`¬ëåñOü½Z¼ æ¬@½(±®q0ÐÕç?ÒÃxà:£¹ª®Ê£¤ çLGS¼¾B/;hÀÆf"EåMÅv±¼ÅxpNICjëéKÀ=«øYaZÒksØ@LãË+#8æîK«a)Ãô,;
-¹(
-±!:lði(G°È£Ü¦
vákh²Pxa~õ\ßÄñÎïwQs~¦l¡ög47ÔöLòø¬å|)$ýÐÅd
-/´|}ÉÙoPgäÁ)±Õê¢Í9²sÃ$Q¢ë}ï~¸RíÚ÷
-ê%ÄìQÂ[¾(«Å9[¨ªú)r?PÕ¥p`ç
Îèúày-¾Ñoþß4¥æÚÖñsü[ÌÔx@çúóíböæDç¯Ku1¿Ï6§Ní¥dd¼8l©!"üÌ-
- 7ÊWNºåD¨pNÕaÆ>HÓú®eS{?Þ0"ÿÕ7O H~éÈÜÿ m~r´]'Á
-ý$¿¸Däa*&F;8±
->±K/î°ìû
<+ÒvñÕë@õóé@§ÙÖÎJe6C*¿ÓÇÆ(E;÷Ñ^ÍÌ`±ýî3~¢È¡zw«´àëp<#_[ù±múIbYl(éW,B*éÎß<>ØF\q©|AL°5íA=àO,Q>²Áo6Ô {ÚÐY*~ÛÉk¢cA)©¾Hz´{WA#{· û
-zC÷uæç)%o+QZªxF5Ãq1ôÍyE
-_®;ô+N6Ê=<æõÉ6fÝËw,~S¯1R[ åÏs½À|U`ÍËJ@
-Æí[2·¢î¥J<ÉtJ*üÌÐv$GwÁÀm,¯n¾ÄKÈâèÆ7Ïó<!éló##üå°ª8»Ðû'¬ÀØk^\ã}ÅôP5È$X¶Lîâ*¤=>DlñùCt¯`Ü ÂßafÕwÉ;^ýÞ×üÚ¸«L0êù1:¡æk
-;bÇððxq_Ps6=¹£ã¼p»8z3u[8Ð(üÒTµ<Ã/Êø¾£Ä¾¤å×ï/_êï´á$à
õ°^\½W{ëé([jªdLÆ<
-F
-hê;úÁûî×q¬ÉçmìÖ}Ô)
-»Ý¯{¾ÚÌÁDëIëþþä,¤4Ñ¡6Ð($ÂYìÝv?D¦géú).óó,@{Û
Ælã÷Oák¸=³8m×fî"éünËZ¤ }ÇÅ]þó6úu\Àû±±KaZfÓ|U1IaÅò¼s_ÕjO¤GÛû6Äuø-o¤
-Pñu[oðI
-«µÔüTSeùÓÐ.yëëñîð>ý$*\ÿñìa¹Ä"²gçv^¤½'
-~ºõô"¼
-s
-Õê°Bw½1RÆ%0bN j±JQ5A®òÍ#¡!éãï걧4øa5ÿr&ØWHt»ÏíÐxeÇk¸a`£óýåÌ·¥Õ ûjo£Ç*A5+F!ÓKKFNo
-;H$ØÊÚÂa3ðeìRϹN=ôD(/¾ÁîPëýÛõmç":ûRÄ;ázEp*ÝÌwÚ÷NÃW~ªK(¸2ÿàÌe+? A¾&Ò°¯©iÒOiê¢ù±!§ñ±x?-ú¨ægÒr.ýÜÔÎÖ¯òüæÁÔoCeÛîýÄ©YYå¢ñ]mä> Ç
-Û
-×_ÒxæÝ`Í0%P1û~'ú5Ø%å2Nôèi.©ÒL³tÚ@MzZU¤
OLòï¹½"H¬¢V·j»(°8ù%@Þ»^âGd1½*çø3$aÌ=â«£®]¶,Dz¾Ópý72=Ä«îW¯Ay
-vGkV¸S»QQ°XkN0#<é!*Hµw{Î3¤öÊßRYw|ãõ~*¦C'p¤±ôï!ÞÁúüÍb¥^sgîÓO>Ä}ço0ú'{ÒÍ·Rq&-S«RÁM¦¾r¾ªoÖÜl_r½B®"¸uKAS±Wê_ë )²
nº¶y×X§«âÛvE!!³¡ÚI5ùÕ¤²î°dT %|°íʽ³qNV¹²üÏJLÿrÊFt.¤p«\MìH°zGz@[ôvMÁ´í!@qU®i*SòbPALµ<?åqÝÖ
-PÃi¢¤M²G'øOòG¤7ð·èh. !ßèzÁzðÄ0x'\SÛ¹/\
-µv=ÔÄ&ýÀÒæ>ïÄ\óßEù-yÉQÛ´üÀ^±äìöÁ"ñkllfuZ&½°íkkUER£·#°ïiCáâ
-F»õÍ2¤;¼7Ú
-½
·¦ã÷Ë©½(Áê¦un&ê¿5¾ÅÆû½¶Á
-ø²`Ħ §°E9Vc&s«§Jøò,7´º¢Å/±Ú]G*ß2rYò_½d̤E
¨c½0©v¤öë·ÈhnÙFÂ(²!¾4TIÿò3WEøxâ
#º\&òz¦
-!*Ì´j× ÒÇ9.T¿ùGAôÌ|©DÖMÿù=û(@aa\Ø:AÜ=Êß·/²J§~íñýÐshÿ0J4
-È%²`IÜ®uÃu
-
-¬ÿ@)!´Èi]¸èz(®®Ë¬èÛ¹k>g
->·Äà<[~
-`tNâ=kôº[âêú aÊÆDÂl\alÒéwÊTÇÛüB|¨
-ÈnÇ:-Ù>B¯Á@96iÀ5q Ü÷a§®Â©´éèƽ½gÉpªw'à_tiÙÂî%<þßèãWyL*âü¦»ßyð³2Çí¿hÄñ9rúyÈHöaA$<å`õá%ÙéíÛÔAé^Å,ø,Ê>ëøt*ñ½ò=R&Õ L
-kd-yÎöá³Å~îyê@åç5¾V[sºñhµ°½Õ×=EÖ©ïÅÏY0Ap
-·õÎ¥!V è
~U6xçìô'ØÞFUÇ´z÷¯rTD|3p×n_±\è(Pt¹é^ÕÏ_Yá%¦ù]#B«/
-Ñï7Êóhsq+׶f§K¥1úºöpcPáÈe4»ÝÒwÜ(ý àdN#Îc~ù8ä¼x@)ô*
-ÿÿý%!2?~C·ÏQ«@±à%¦¸kÕö'¾ÄEUGÉCâ¡êïÍÓì¸ÌAÙĪ[ª7ñ£ 6ëÁ1Ê}ðwmG|9^ÕbÕ#ø·ÝH&EÆ;Lp°@æ>æÏÑËWø§Ó|mç>è/úàBd%(ÙE±XYÛl¨KF¢ ÝíÎ7^®±høÚ/Ì áQ"p¢~[R³ã¯MÕñÍ|ì3>/-8yþ \pÑÓ3kÒÐ@q¹;XÙð$'Zþ`úÇò%DÖׯ./Ù¦HùòõlÓëH+rø}ÇóS£3WØtý½¥Lp±dìË6
-þKðh_4q°¢ÍüIÏè^ÅÃÏBm&nÒ¬N2q2Þ#»ÁdønïùÁ·âk³â:ߺvÝÈÏÒü ´ £ýÜûl±Q±¹¿Â/¬yÓðo%Èg¸%C9(0å»gßÛ_w"eÐÃ
m]úh·®+¾zØ6ÂÿKCÉXǺTIþB×¾ö2õPº%¸Ñ½ö²
arºÐ§³m'Dí@Wþeò³é(³
[ãÔq·¤ ó¾û172ij¯!åNø;½íG^ä_SÇq5ê4l'ãÝN¬yC;R½à
-yºígxÕîÞЪ!û
òr¯ª¼[K®`¦ÉRì0@}é¡&ìÁØs®N:*Ù¶R¥³r5i"G¶¨kî|a·ör×|tzð#ç@±Tµ
-bp&åþ^N߸ÈoµFï_Úqèfßµéª
òønJ$¤Ô#l¿yp´âú ^1¯Î< ¼í¡7u3·íYùÓî0ýõ¤ÛÉkÓlðºÓ-BÒ:|çp¢#Íð9U1{Ó÷U7.¬#Ó«¢T$Ýð'P[p
-HñD\µA+·ÐYù±*O7ÊA> TÖ¥½È|¹´ØpÏÞ>N·ðÑQÎU|d,²AfÂÒ=øjÇóLuÔeÄHýo¤í=½ÙGˤºSpôñ?erÂ`cáµH¢°^¼um@ÒÊ
-0í±îK#HW \;öäØãJÄ
Ø8)æ9=£5²üïKÚTÝ#ꦾ+±Z:"`g9q
-ílþ×/íc Ðì+¶DyÓÿÏcþæ4&¨û]µ
_¨8 ±§mPÚ¥>⦬e³ä;k_c}Mé¿Eçw±ÓSBlUÑþ³Mü§ê^VðÏ
-£Ç}srÏÑ$)vâÓLP+ÐÐ]¥<R1xóGÂE8ÂTÉãÏÍ{9è®Ðò®%r+ô]ü/LnUòR[Þ&;>-¤nt/èºÕ¶Iö°«gô*Ù«W1[r+`Ípgñ\jM¶iBÙÍPèûØ9¦¥>÷
Áú::ÖÆhúVYÛu0´ü0cÏQÙÑïò||ضî¿4à»á
-wþ 2×RÉ 9x"ÇI¹Ùø~Æ
-Hz¨@{¿ñÐÒQô¬òÖºò®Ä-k6Z
-¯O;§ê÷
-¦â×ÍN{ÿÞ±/Q¤AôhÑ"¨
-òwD 0ÐÄ.Àp·¬-
-uO(t~ÈIÞ>+
-׿Ñ<%¢,
-MȹFÃù>ëéaqXÆSO¹}´U
-ÐæñÆó×My³È¡ëaùÍ·n&e9©+ðÛt§jè
-ùþ½»y$'MkOKRú@Nú¢=Lc£Ä¬-vxmÂúݺ
-íõå8bÆïóï=Ó:)#'X\UílÔ¸®6vnýyQîIc-ë
ô
-L²ûu&_ »[4Ú×)TïìÎzðÄ0x'\S ¬ÝÑ67a¾39
aGDIúÖÊpÚd|¢>/àÁèB;9¡È=DíþZFgaÉìkU5²DRç6ÜÏM{Åûá)HųêÍ+¢½R½.ÄÃú»ß&Ô(]I¾è5ÈmQavÚQÔYIÒS¥r®¹w$×£xG¿À3eÛh¸ü3`º9îËKH8˼&ÀbHÝiî꨸ñIHôQxÐo >ÈtäÉ´J+E
-ëäɸµày_@' jçÌÀÈ?Û+©rga:
-®ÿOÈík ,µØ|ä£Î̽eAXåÑ~J:/UÆî×lÍÆy
«uý¹VÃ$.så3Ùî/%ðpc¸}vÃzêÍ.s1·³µâ¾Ò鶸h=.ÈÉ9·ì@Rr«ÿüã$Ùü×%Ó[ÆG<ÚúÇÇ$sN
-/r C©ÑïlH³ñ+°¸¡Âµì£~ì] W¬¼GR{[Ù÷tïd>HèÉy,o¬oÉÈ@IU_ô|´Z!ÔBG"²G?Û)
|Ý¢÷\\~Êë©XEbtÂÎ#0O¹ãå3X"vfµÈI/dä
-<@Ô62s6v9D·
¨I1ªð¹b0AvºÁé\O0ºýÅ,ûócÇÓexóó hÓÔÞjJ0E³z@':ynÒ°Qó½Y3,
-é ý³5¥ùæ½éb0hWÕië?AÉWÈ;ñßü'B¤ Ðî¿Dùª?µiÆ£å ¢7SÅÏó+Ù×
-Z/iÓ
-}B3øð¬HÄæÛÞù³Þ¼:Õ±ì[Ô¯:t`¤dD:þßó4Ç°'Û6ºÿ "|mÄtiJ©
-æ{äýº"¹
-ß2½Ôò<=I§XäWU¶E¥ñÃx
-iÂûÎÖÎJ6¤¥R@ÕKæ
-4²}Ù;/iÏýp]yêuJÎ:, rFÿV¯b³Hxe?GYß"½à¤àÅcÁ°{¯os´7.a۾̹Þÿ+S\ûÂiºûÁ§£ã!U¬nç}àSl5tæ.#h:oâq9×)ÙU
£Ë7Bï{ú#6jüÐÚ
- ób
-úçK1J2\N¤gºl©üh(kÌQâ´0ýÐ?÷¨aX³ ÃBNª"|¼oïo3<FôѤTMç£O0øËFm¦|òþ<_Å@â±ÒòÁ£VÃË%Ú<õï¬öºÛ=Ç´ZÂÐmxbjgá Ürï@qË3;¸ByèC
O}LÔE»£M è¶+,Ïa$ Ò4ÆÕÓ®º\Ôk{%%ÁIºÛ>¢s'a"îìܽoKl¯½Ù )zÈÃàs>=£±j.þOÏñÔ¥§'>Þ9ß+mõÎFÀ¢)
QRÅÛ
êÜ7¾¤zè·C
-£qn"9Uäòvé4Þq¹&@Íñ'©ßYÙòÇ£Z! ¥µVÜj8ÌÉj´oi¾[:'3©ë`§UnÅßS´eÑ|XÖ!¥»çVbfTÍâyG¯~ÚéÇü\ÌÇî=¤s
-
-8Î¥¦ê~ÝÁAL*6q >8¸FÈÄ=v Ï`
-B} ¸±ÞôV/{V¾aØßuc¹ØÎõPÖaÌõ¶îN¶"Ú`íÞOH»åÓ1äZÛ½Ò½¨SHÙ$ùyèt2À!ÞYdòº½!gå
-ôf=z^z±×ƽ¹þd\ëèn$Jè8Ê2Iw2ËyBSüßGÅHÇ]÷®;£ÿÒÚdXJW±¤(%ÚPÎ<îeí{*}α+P«¯Þà5ùGdYQ¼\¡e6o_a"»ø]êûK£ß¿í¾x°`¯¢
-ùÖlx25.Yµ¬ T=Þ^ZÒ`Tb
-24QÍæ±6 Þñur ²`L
Bn1ny¹j
-dN»å0Äh¾YLªÑøÑC^ñ<>?#9\¤uØLxéJÉRØhèQÞòV©36´u kгöÝÎsùóIrßÓbÀ1´xÒ'v M{¬Êb¥¢´u^ĶåwÔÅ^7¿ÇòÏw¶Å»R»y8]`«9¿ ªis²d6\¶PæhQ8xLÀöü^9¯ËQ#¯^_/Ëc~|îËå%¼ `Õ;ØKöpÊÈ"Saì>m=.±í'w.4Ùý[(fgaTfÕ¼úJµ«öü6ÀhCjͱÍwßÌFReÙ]Ò³n÷ÿÐ66ë(5Ȥ¸·¸(Í»=¿lWÙ
%pí,$PÒ¦_fÊw]Æ+=î½60Ù^9ÞiñqúÀçõù9Y#_Û!§(]Y¤ÂÇ`IQö·JåhËAÖ«;\îoâfÖ/Ôx:tÜlÛkJÝKcôé}åùýe/ö)b1zÃV?¬ÑܧbÜ7 at pU¨þ~!>B×ñî/v+sN~´ENøÍmÈ6¦~¾§Ý²Mr"¨¡\¯ì¡`6\ͤ\y,«wMÚu?ÏçÒÅ$éaöàãè^ÕAðn]CÏhþï9S}DUºWÆrøÿ £$¢â¯³Êqï.¾
-¬fµhrwh78èõGn)áêûá×Bôõ´<¤_nìÝå1ÂVé¸á»Òñ±aÄÚhHÝa4~:¿qù/tÎF=
Ùke3rãz~!Å6M>ÈÕ¢`ܪ(8¿0Ö½]ãêCûuÊXKq«@ w´IÚG2]jsß©hÀçIk
-¥"ãq ¼?%XÛ-<ü ÑAx=J y¡qeïÈAÕ4~nMXSãÌK9æÎq¾@x+ÙÌÚçÉ1Ô
-büJ3T w)ï°wã³]ös´|Úà×½½+]%kðFë#þ¤kãUEI3ÃÜ,¿{t(£©¿
iÞ)~åÞ¤xç~ôÉÌkS¿rìØnM²-ÃXÓ|ªU[nø˶ãêøHB.ÑâÕÊöõW}ºéa³:9¶fÀnÈÞàpê^wä
-|Ö3V§ïoí/|9`ÉÃd ¶â+>oñ¼WKBjðÎnVÄ!U<¾Q3Xò Æ¢ô(¼´>75uìwF¢RwêBøÏ°0¥_Ûtq)>E^xEz©p
-åLð(0hf\Ürvï?Ø×kàú.q®Á 9kfÓòÛOvÔÐÜè¹r
rY´h-cJ}§þ±ªTQËB!/ñ@Æ
-I íiu˪a§ÑI-p$TîÞÉj@¸°üþ»RÈA HØ CíÞS8Ù«ØÏïð@pS:¤»xnè'üGÌôq¬gø¬§WD:Óæ/ådÒ©²¿ºI»
¡Î`_Ãë
¾¨Â4öíW÷ûËM)RVÜ1ìÙuôÏVÂÏ_P¦K\V`XÊñæv"þ5VòEå«Â·RõPîvdÊGÛKø
-E >êth¢"À9fÍD¥´,6ùë%4ÃBtï°*ÄôwÐ4l=®Qáöþ&\BÇwKßPIXa*´Gþ!4{»>Íý'¨ßªXýF¨î¤¡M¡ÝvÙXû¶/
-è¦Í®Ë<T'ùCùr^½§D-âà_¬ñ$úWCÛÍB½âýSÉBmytô³Lµ/&{fÿYq¦Çx¥ìïwûCÑhí)3ë1àº(Åè|jýV ×Ó}Iùq6_óÔøHéÆ}¥Ìºp3¢fíw {·(îwtM|:=1¦Ã
vup\qÒ1÷
®eS,ÅS3ß ²ú¼;§lM¹bÀ#§UÓù)[ÃVH¨m¡`B.Ì]ÂÊçÉØÿÌ¢ÈÕsÇ5P=ÔM®ÿÍÉËö1 ÚYp-¤~:¤_`PÌ®$
·Ðêàôüÿ¢
-Ü:°sCD¹×\ðÉîË%Ne÷¥ÆÑAnw#©´XOeóìT ª.kD¨®ÆsßeªmÎè¼Øoÿ>¢¤~'ììí
$08Æzò¦¿_ÓL± ~Ϥ¢2<Z|mYùòüíÐiyH2ÎN¶àyÌ©\¯óy.Â[úT¤s
-UÔS Dæ¡J^¶÷ÂçuNB
-ÑK¥0tw-*t xláxÅ:±2Õ5ýh{q±×G¡fÚk â
-pµa~?Õp`¡¤Ôú£È¥U?ºæ|ÖmDÅø¬ ¤²)e®*¿¥uKl¼·v ¢³@ÁõV
-IZ
-9añóî
-,?'ôkcõ/øÏî|3ÂiCé36FU\@?Ý>xã;O Û=ZÚÚJÝÐ%º@þvÄß$Ð(7zV¨<ô2¯ éÔuk~_HXO¶Í2v]2ôi75·úùNG¢·ÿä£Ì
-ÎgäÁÔp7³Îòo
Ú:Æk;J#GsïùæqûÈÝ{O>÷4ÜÏy½?f¡=,õhl-|(úÂy1ÌÁ¬½ó½C#'3dLÃß;¾¹ÍóÃ>¿m<!íeª)v¨#QзªùmvÉ@o°ÜËöÛýI|~FøgÌnø3âÛ¸Pô|ëÙʯµIóÞtt$Ü¥!¡p(wðìnÒUüÝÇ´ÊÂ7g¿¶ÝvÉ|ór5ß\ÇlÎ]sS >×KP;hä=Q<â
-'å\ìñlT»ü2ÒhEø"F+ÛgàÕmuëwsÍ
-Ï_hVô*X$]ÊÜ[©ÝæÙ´íÀ"yWÁW¦.EhçáÊÌäçzKvHæïÜtT+ªVJ&} [\GÿQÓ[ä´qÿì¢N÷a¡³
-ÒÇpX¥Â°_'ßXhÇèËÚp!w#áM=±»\(±Ýü¿¢Ug>䨴°L
-ö3û®Å]²Á^'~W@^Àxp_¢Üo§vE©Ä¯âú=¥á*l&± hÂN¢ÿÑR>ð¹rxôÒ;qÝ>çÝk æ±â4¼M^ 9²\Óè® Ïíõoç±¼6{
-)r¹F5 gÝHgT]åÝ:yðö;Ùq0F½ÇKÝÌPÏDÿ<zÅ>аÑþ¹¶5uNæPc0ya_Í ¼ñL@Ð*¯WF7zÊ?ý;ùw1é¢ |ZH\S K%nÈ¢Þ§2
-0r^oàÔ7zfHõà¤ùkç"åxñB&"ÊÒ8-ùjÖ%6Iòà]yú¤åv÷²>%¸vUHÄb^åÆn+Ë
-3þ(S¡USñϯ~\¬ÓÍÛ¸éñlào,cµJ÷ÄánynÛÙ]6G´¿Ïå°bõR´·±Hr~þÅù·VAXI?~Ö(>Ý1®#3Ù4uÃx²Dr5¾÷rr`
»ì¦åf*âKÒ¯JÊà£ebÁU%p÷GùÓKñfÁàíqí¤ìP8pæõ9 4R!8ëZÙµj,g®5ÚÉ çí¹£9±Ô%YJZx¯ÁÑ
ÕWA¡dÅÚòÛüÖF¬!
*
-ãs-è&ecô!+6!.lý%¬j0zù°Fж¨õâ÷øÉü¬á?(ã«:TI@ÑƦ»!Ü%¥FÜ5
ì?FICæªÒé¥ÖJu]¥Nÿd¿q;ù'½av¬$3pÍ 7.p4îųPÈqòe
-é'ñ5ï±R<<Ôð×çxBæß´,ÿf^*qxtE¸ñ'aÌHÄ^Ñ»i´Ä^5)jÙè]+
-
-låHmUÙêú^ê¯B=5Puâ49V½vôêî±mKc»â@òiÚÝÚH^úQKÄÆ%:ý^þÞFØȲº>%hõHÐÆ-®?}°H¦ù³5-óÛf+ÚGF®5ì
-Ý´SÞ¬ãÏ~ÔÃö4ø¹´ºÓ8
--ßÓ ÉÅ¿ØÉ}AG¸¾_³tiØ||ÆéFåüÄàZì;0ÃìøÕæe;ݬ~[£jFØ+PçR²:ã<qFgÇë¼ýð§Ý¸4ìØBÌñ<Âr6ö\ªË¤®É*·ot¶Ò[pN}å\]¢xQAu¬oìÉ!ßwRÜ̵½
-C%úøÌ¡5eðSËUQÞ!R=*2Ï9¶ÿݳËÐÚ3ûrS¼@(ë#ð5ºÌzJÇ
-ø.Xë.-O]¿
Mì<«fu(ë{ý.õsrO49¢r½L ¤/æ¹uxðg.beØîÏ[YH¤sàw`3a½»áɧ±Jw':"ͧJOæù,ßeSwí*¹N[úíhp@|®Od \ò-`y$ª¬4IÓÆ,r£ÊUd÷²kêZ)Ãp`¨ÃèëD
-?¬ÂätmÇøhÂÎÍý
-]WërRÏÛýû-L«µah³Mûà{ÀÂ5)§ãF{Iòì
-á _Ïó,ï¬!¾úçP¬YgÇu³ûy Vq̬¾¿Lä©g:=з
-\AO¢>JüÒ^a)TÍ\ý;5©!/¨+ïµK;ÛltI59þ#îÃnû§÷
-Çÿþ $S¢ÔmÞ×í÷4ÛZ~\³LöKñr¤â.1ë
-£wÔ×½]W5®SDæì§ëÓ²ÑOß*0ÏP<Cwo.sâM|Y-*ä©à:êY¦ËøQyeÔÑXÝÎ`ª""èWlÁêa
-&xã02"%ü&\xz¥£4Ipb`¥YÔýÒ$DØr²±;X,[rødÒ-GQ×oÍ wÏ·9;ÑÄÆn$âw×7ÃÑiõñ>%±Õ¶#é
-í*¨ÌPá(Ñ?ÎÛVU~è3ixöÇèÇùyxtËÛúòâ¿JDyþb9Ø ½¥D¾{{ÔE~Çc=Ä@jekÉ"fwB×lßZ±Õ×RÇêÍÚÖ=ãt÷ëÁcMqD ¢WÄÖðmjÞåª)î°·O÷ØÖÓ_zëhÐp¤ÝÆöu¹ØõlfõD¸Ç¡æé¾ÚÇ«z^3SÕzPûÁò1Ö]5iÞ2xA× â×{íäbÿKþ_ðCààµóñóô°óq#öúúyú@C]ÉÿýÕt
+393 0 obj
+2996
+endobj
+
+395 0 obj
+<</Length 396 0 R/Filter/FlateDecode>>
+stream
+x\[«$¹
+~?¿¢9[¾WÁéK7ä$$}ÉßoeKªê³ä{v¦ÛvYò§»\Ûí¿ÿ¹m·?næÍ¿ÓQ~ÿö÷Û_ÿpûwý²üùË?Ú_~ûÇÇ÷ööã·ÛöécþÉKòÕ§éð7s3!~[2ùûÛ}üô2éfòß½ýìMô)FÉçß)äìö§Û~ìîÓåu~üíös|ÅØ?5éÓöOó/oê§Ï¿àÞÚÌfócâ¾çgçÑ?½Ê?©Om3ûÖƾbÚ¯¼#úú÷.Á·.ï.æÿlÞé½}gp.LÎ3ÿ.˹Fbâ ˤhcÈSB<rÂí1ïÏ/".÷{$çØü0BKFèaÃ]çeÎg*íG¡±òcn^¹®G?ò®°+#\>°.d÷|ðü -~Þqt&jÑL¬ë¤Gl¦|Ä}5)ä笳2ó_6ÞchDùL?¸¾WWL Gîâ=
0÷
+ÉMhç7¶uìåsªÃ9Ç{ÝÁa.Í`9_²l·aò¨Ûw8-yR§e
+Ï¥³ífkaÂç¡>5åõîש°UB
+îé¸
+þ
+´9ÝMo-Qñ3Uïì²v
+ñ¯ '¨ßvfmÛjÝ2Z«¨#ª(qÖªMȲR\9p¬c>Ð8¿*¡Ù
+®E´,ápCÔå±n5dÀ¾z%ô((¯ {_äêµ:@¢9áò3ûÑ![ðÌ'kê*7òÿÁaÚOø½Pf>«Hºs ɹÚn]ÝèÊnüÞàßè;ÐÇí¢×?¤ÁxÎ`ÔR÷j%ЯaäSÓT?:ø!ø÷éÀ ôn¥
¡>¨¢ÒÌéå,ÇçvjÈÑ¥ãzÉf((IC±Ùùþ¨l7æ¸O±¸}ïꦣBB×DãÙYlõÄ«n;¸D²ÉK$Ç"þïYýîÙ¸²ØSm~V$ߧ¥¯ºÛ¨³óTNÖcqÎ1¾P=Y`vP·5©Õ¸ËpÏéÀíÕø]
+~ðñ
+ñ;0'[RØ ¡±é&iúã
+(M0Úb׶$Ú;uÓ)¸ÊÙ#¬ò£gÀðó
>àAóKÇðg7:[éÓhy
+a¯°®ÈAÔ=
+[wD¯y# Í9«¨øj,rÅP2>Ü&¢Q*t:~$\¢'«
+?S ¦GWS4òQ´{¬5ÍÂKØÍÚÁSM"UµXâmý(¬E³©
+³ø%Ë\3`m¤·'\QS±R£3
+ØKàH²vLº¯(#*ð2^JKØê¥l5ãc~£ù )vð^ÍÉÊp±4
+ÆÂ
G±Qo亽ӧT +ÃMmÁ
+ Ü>ÅÖt^Ëx¡¥gÓ¶ªYZBk ÀgédOkÖgÎoèÂoh*PÚñ5(µh Z# #±b¿xÍÖÝR`Ú i¥¤>¤%³rá\
Ñ>ªë|±ád÷%9\û+ÑvOõÇ>ó/g³ê·Ï¦3íqÅ·Aå¯Åòú0¶iJ¯lüCÊÅ[
+-[?ZHû§¯Z·°íѪè`ÝÒHªZ¹ëæ±ÆèQAeædV¢
¹uU¥ qLé
+ûvO¤étê$}8áªÃ¥õU0äó¼DARÓ.hé{À,ê$FÜ=U¯²\¤?F2ßÎnGMmݹeâÅ çëÉ,âò½&ѹî$(
Rö,PÜÒª¼ÃÕdXâd*$=©jξÇüv.A¢ ÃK3MÝ°ïÝ¡ù_Eàg½¹jcÚÖÖ:KSðH$ü@o é $Rõ5òä::NuÄõ{TC[F{T¥æ+)Ö#7
+H÷¿ÖHÅ
+#=TK°¤Õç¤FÁñßW| N-)V: [m=§d~jÒò´·´YGpãFQ ãz,"tQ0¹¤Ö#}§àö§½y=¼£óÔ÷wì·,´«è@àpí!WAóIÅlãé7ÄüÐ÷>À «k®%ïwX{XpàÐØ{G¢sñKßtv×v¬ÈRÜdâÀîËQ£¾f»ðªöÝØ9
+t~¼Uõat ¾]¨ÂI!øJ3h*?ÀD9 î ³~¼¥aÞåOIìòh76V;Ï]и¥vTÆ^¢«¥Öco[ë
+=ç0Û×
+QËB÷¤.Ëî/Ô@]»DZjv+Ù}ªO9 ¦¼6O«áÐÁÄKâRñ[KÄgÀ¶
+Ç»Ë&õç~%)+ZSD±äK
+ÜõKuó9ÓYg"b.qVËg.ÿáºp³Ä2\Y©øÝéoW`ÚaLñ¯ñx[.Baì$¯Åbãu+ðú A÷ïHñ¥Ê
µ×HRDhÚ
+ë9&«
+Á6¹AÚçes¿ÕuÜ[±¥KMzEÅÙ}² Ø|I6Ú¢ÇÙÅ-°Nèá&â9X¢ýøê
F1~ÐoPØk¬å%°v'QóÁôþì1h¼`k5rÊ#jB
q&p¾éH1u
Dsìò
+ÙeÕ_IÞlèiþkFï÷Ö²3)¼«"(¯!¡NamÆ[)C+Ý/êï»KpzB*Op>të9ñ$/bõ`I¢q×P½ã¶¦Q k5²§Có ©¥ig\iz|¢@¯î\Ój &M
|ÜX¡»?$aíÉ
+ýÓþ©ÁWðpo%âþV3´Bzâ5ùHÂÃU= ãýRÔf|Ýð`L
+÷
+Çn5wK¥u¾÷w^ÍÉ9½Ã¬w -óÒõr`ÚÔôc©§êvÞE|/\ÂÞeíÝXòÄV_"¼¹ÌG4®QyIä,æßç¬sçfd÷bs9Ó8AhÏzÅI[}sïqô oëpz±Û|uÉ·.Böè&
+>ÜI<ÍKôvJtû9¿¯LhÉ´üZk°:k6óT¸bsvé5qSv¾øì¼.äóç¥#/*¿m¥é
*&á~u/^>ïKlNêI¾¼AD>òHºÐMðEZyí°
+¹EÞu9½Í¥]7k
+ÝÛàÍí°E¥C3õÞÂLÈÇ.oÏø´ ¥äîîDË8zùb<å_ù3^ØÑAìbïÈ%`D·ÈïÁç?iMhÏý
+-ǦvÄ*¶Ë͹£Ð£ÉY`M
ìB¼µgVAª?¢m¹SC«ÈëS«BFI' *Wq TËý¢åÜÚ0´M¢õD¥
+vÿðw(%ðÛDmVöW^W¢ðdîÓ«]Er0Y*\ µ®×U&WÄÛH}½IA«{ì¿yëC&ÁÚGؼ¾35û)`ú2\ã¢}9ã¬}
endstream
endobj
-381 0 obj
-69805
+396 0 obj
+4376
endobj
-382 0 obj
-<</Type/FontDescriptor/FontName/NimbusSanL-Bold
-/Flags 4
-/FontBBox[-173 -307 1096 979]/ItalicAngle 0
-/Ascent 979
-/Descent -307
-/CapHeight 979
-/StemV 80
-/FontFile 380 0 R>>
+398 0 obj
+<</Length 399 0 R/Filter/FlateDecode>>
+stream
+x¥\Ûª$»
+}¯èç@:U¾VÁ!0Ó<'är@9/ùýزeËTîaöÝírÙòÒ]òvûϷ߶Ûo·û~»I?ãþú×Ûsû|ÿüú÷o?~~Û7s·¸çÑ?ÿrûÝ;ÿº§ÿíöKx=¼{tÁÿþöóßìq·éÙ4ò³Oî¾~vøÀ§ qKS4Ùlôá!Î^L{gzð|Z¯èÊ#¼¦||cô©B4iKiÃ;ýûy5géïåý§áï´SpmÛmZá],ïþô £
»Ylú
+ÔÚû¦Nü|RåÝA?oÝÛí¾|lö¹¾È×Ïo0ã
+ JÄLHxª -Í{wiéì7iÃ!-mùßB>¨ôû´/»;\£ZmÓßG´õÉdîgÛX¢Ì#<ÒÿÓ§?Îl
é¬2/WÇYÇU~CzW¢1ÌUùá´÷þ¬ÿe^úÃ7J
+sûùëm»;þKìºûèbÞPfϱ@oë:|¯¯;³Îûhß%îè`3BcÈ,?[wéç|î¨m+-e¬Ñ¸¹²^&X};9®ö~f¡~dÒÎÇ4©.¼´ï:}=|e²·º^
+Ä$§:ÉY
}ÚeªGc[«Oô¥UõwÚ60ÑD#6Î-úÏ$ØfZ]o`ïöãI ²ÀFYð=êÔª`AµÎp±P^Ös6X$Á¶LÖc§×ªR X|!p¼#³té4ì6 óLüú-ºª_
+HÞu´sµùÌ#»³i¸Ú3ªz²Á êKܽópÆ^}¿'LN`î³#Ãâø¯3ì
+·
+IMר¿&M»H\ÜøÆÄa)æD-Ñ@$AU©Gëù
+¾Ha$mXÈöl±fû¥2¢:8,OÑ´Û§Ø-_Pú<+ò,´ß« ¯© ^Ê7'disèÄ{:AvgeÞ(D/ÙÏÍüIq`Ú³
+¦Òpr¶AY0&
+«J¿ÅjNhë¦VºÒç*
+¾o]J:ïÂÁ#/²nO7<¿Ý-àM{l´ÒÑ0¬¶¹óÊÃïZ &f µLÿRâ¬EtìLé׶ÙgaO±hVãGïiø'ëF8¡"Røì30ìmÂãêÙóy±3·ïÊléåljùP=UoÄí©n&[ÙåÔuÐ(².æ;oORáÅA#Z4Ö:ÚDÜ,Ѳb
+ìç´×W^¥¿1¸ð¸,ämóB÷ ²½ÖD ¦tÙk>çGÈb5Ô
+Ê×_î¾[ã¼kñãAlÑÈ&]Ñ=Ûlö¤Ì¦Äå\?êW_åA#±¦q
+=qw0í@"lÜÁÑQ%íU[´Ë\àÖYÈ$tLø^Kõào)·Ðyäá1"¨æàlOT6
9çɤÍçßM§»í·ôLÀB~ealýftãÖîYØË$¬iùaã#P õ:ªÖk&g>ëÿ|`¦ïÄØiº±ÏIS+g@¦×¸îô¦(8! 1Ù÷D»ÑùN`;G0W|Ëâæe³
¦®óy
+ òøu³ä¡]Ë2c6Ðy1ÆB1óDÚðílëM{ipwA§×ÀfÉóÑ2ªÄ}·h¢DÂÀv3g*ù¿É¡SزäO0õ4«8pLòõ³qà$þñÝîd{ó4¸D2¿ÌÓmY535É0)<ë6õå%\ý(Ú§ÞË° oFuÃ<¨[P¿#Hàa;2SÝ&¦¸B'Z]Â;`Û~ p
+WÈ×¾Jô¬iÝA;«D¤k|õÜa±mªLbx¯Äȼ
ìc6Óù>à©Áe/×DO*ÃgôaÃ8÷ɶÊeáÙz*I
UéϾÇñÈ¡ÛNpÏZßH_î5âù/Qãù3bjGUçDm÷æW
+§=æÜ;,f2f*;
ÊÕ§àbêâìÞÀ!_Åè)P¦MzLè®0òÛ1áHnmYªÜáÕÔn3̳àªC¬- ê
+¾et/ÕôGÄ¡{àúèðvNÊó«æ.ª]A½XÝ&AõXÂî§ü}ÞZT\Ýr}6Á ¶ð,føë÷
©«Úh=I§Ç¼¶g09~Ë$Ü ,ÚP°È}~¬#o«LS/<Ðy Èç2é¾U;y(+ÌÔq×n´dÄK}l¤¸w
+úèÔ?õ±xªð"-ö²ïô÷fD£@!üñxdkÏz®M!'ÖÕ\Àô[õJò}Ç<ZþògfKHË[ä&ü5<9½T仯6dk´ºK/_ÞSý[çµ
+x¢ìÃ×ÈUĨõC!nS<
+, ÑKðt.1ºâR{ò\r+qÚ![ÙÜåYzÑy®õ!UÂM5ì$çxäQy5Á`EV=ÌöÐÆÚM}`@®²R½5Ox®ª~êîD!u¯sS9gk(HºÂ!a»n!6ûÉc±2äÊ&;CÕÀÊ[z®5)Ä!íZÊ0JlCt¬ÆçAݹÖs:o¾È1ÛÛäÊ,A9iB7â5«4¨|ËãV*z¢~,ÖØôKË0Æ#º*ÙÓ
+?ªªÅíê3ÅYpe,6¡Üh¶¯Q`êehb
+.IX¦½
d/bT 7ë¸ +¯º5"Ù¾Pù¥
+I[)£VGI ³uRµë®ä2aÈ*ú¬Ë']KLºC¨Kî¥ÚÐiѹ áCù QrFhúÆïiÂϲ¯CørÃÜ+$عØ+bÍ!¨I»ùÁÅeÂu
+ ÍñtGÓ&d
_"E=1ÓÕWðÝGvd5rd¢ìf¾¡°Vj8£oÚêuñí¨VÙHÊÀHÙý3îYXõJ#ä:9WùlKØù)wø\°!f?aèÅ4l¹:FÌo¥¨µDÔþyv¢²DV|÷Ì
¸bf?ÈeH¢éVK7váþµ7ÆÊ:gUÃjTW~äUå£1$JYquZÖ*J¨ê]Bñ2vÛT/ÚLù6v AAäVðK³1(ªõZø;}à
+jéqÇ
+a
+qönÃÛÜä3¡M¡®äæ
+³%PjÀò`Âa>\>×gØHââ V³øÌ.B¥ìÅ`ÐQ*âm
RsnR~à6"·² X¾³8G7vÇÄÄ&âúé»
+azÁôÞOP#5\$
+Ìiçq´â¤å>Ø¡|h¬S"6ôÒò©±¨«p êdcWÕjX'ÕJ:ìïb!2+¦RH8TðÞ¢,Kfó¿:õdîª!tà-Öy¦
+¾!ùUïùèlº²9e at -AïÉÈdÞÀ49±Z3B:un)åP½!TFùK$ô~åÒd@úõÒÑ_
+o²{¢æ.\/ºÍt¦
tTÇg´é&¡'ÿªóõ£êßõ¶&}TLö··öRnKÂf¬¸ÉVè""]BUtÄP<Xô¢
+u+©
øQÿ_ìñWmbMJ©FeÏK
+}¸CH_éð@¥æ×QÛñªÇE³Ò'bg¸ýÚõ>¼- ÎÞ¹Gë £Þ³«]Ðñ=ün2ÄÐØȯ¾bh㿪Úø
ijüøå¸a¨þnµs_XÁ¨ÄѧWOÍúªñÛ6:¦Dt,1µ©]aèùïÆ?é=C<Ö"=vfN½Ñ¦~äþ4Ï_jy®
+ºâq[üõaï§JüÇÖy#$£øq
³¿VP:Þ
TJv¼-eVÍ×ÜT¸Ðñ~¡±A-¡Qïw¿÷#¨t¼³6ÖsÇ»*gdäÌ~ìr¿Ü:ï
+?|Ôcªt[Ý.w<LCÒ¨RË º>9l3÷³ë¸ÔÀÎvð7À!´^8b«/vÂi,RÈú×Y6`nhW$å`þvÔpzqÈÔî¨=>¼ûe
ºvÚ_ ¡ö'9¬ËÊ Î¹]ÐvOhCCOÊÙhÖzl/3FÖM(°}~[×^ºöªyxzgäMY=½V¨¸oÄÐõðçý¬/åYà°®÷¯_
+.6h1³ÞW`ÆmqÀ /(µÂT K(ÃuÅÌ]Áåkr@ÒNJàø|½eöÕo¨äõAoShztü.جs{ÒDT/È[È˸nfÎ
+¹µ~Ë:Í ír¦;+Y½ß>¸®O©'~ô Â`^á1Ç®ú©A&~Ï9`£R°.ÕS½-Z¯Ð¯V¤Üj!yÒu`úUÒæE4cå#ãauÊÝðçWRMVÀ{ET-±>³Ôû
+.njÔ~ù*þÚ:ýç!SSnÐKeR17ÞmCyðBf¸ãêªH!ãIýhßbW=
+DSå;¡çôäí(e¯Ù*¸D¬Àuòн98l!h¯©æJß®Êûw¿o í>ÍTcR)\èãjõU»ñª³çAUóøúá/4úáÂz\gÍdï÷ÁTØûa,-v_ÌiZ´^ÝÃð*ì
+~rùá:ñTõ jFíèï÷sñÊQFuR2Y^sÍoQX6:;ÈY³/yf,GµjÇAxÌomMô¼ð×IY/Ì6ú.ûº®$Â5ó¨"#¿',mO¿95 ·CÀRá"Ã¥gl0o»[cÞ
+äs»YÝöØrÙ8_Ë»þxû/ó¼¼
+endstream
endobj
-383 0 obj
-<</Length 875/Filter/FlateDecode>>
+399 0 obj
+4966
+endobj
+
+401 0 obj
+<</Length 402 0 R/Filter/FlateDecode>>
stream
-x]ÖÍnÛ8à½BËvQXïOHY²é iÀ±Ô@#³ÈÛWGÎtø®>R4éuw¿¿Ï·õ?ÓåøoÕÓy<Mùõò6sõÏãªi«Óùx[ÊÿãËáºZÏ÷>¼¿ÞòËýøtÙnWë/ó¹×Ûô^}§Ëcþ¸ZNy:ÏÕoÝÃ|üðv½þÈ/y¼Uõj·«Nùi®ó×áú÷á%¯Ë]îOóéóíýÓ|Ëï¾¾_sÕããå_¯cãs^mëzWma·ÊãésM]óǧã÷ôڶ¸¶®c½sSòü1ç¹EÌYYÙ
-ÙçÜÖÍùíwÈæÒ#rbNÈs¼§mܳ½Gçnýþ@?Ðàôøýþ@?ÐàÎìÈôøýþ@?Ðàôøýþ@?Ðàú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_á·sõ~ßè7ø~ßè7ø~ßè7ø~ßè·R~ßè7ø~ßè7ø~ßè7ø~ß9þñwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßátF8#ÎHg3ÂÙ¶
-lÎù+Ú²rÉæÿY,h6¥;ÑÈDt8.Pi|ñFv ¢±+íåK÷ÌèdDTôÀg¥uNmÉ-^F
-̸>-AÍÄNèÄ
²,²éuð¬´aÆ`¥ÅALt&8eÁM³<#artËF{ÇN®tÛáÞ®LvqèípvÆv¼øÎKû2¥=²æn±ö=Ûaîzf»õ1þûåOOgñôË$@;<«)bÏwW<}ynS~y.®X§G¡ô¥)Á°ÔÁõë¨3,uðîÖÙÿdØ@±ÃÿÚ«ãÛ4ÍrùPvcìÃç1ÿûKáz¹â®ò÷p×Ø
+x\É$¹
+½×WäÙË¡=èÎÅç1ðx|0à¹Ìï[¢D©TÍÀÝèìªL
òq§ò¸ýúñßÛqûãñinÑØü®òúË?nûÃí?ðaùûË¿>¾ÿø0ýL·dÊè¿ýéU~5ùçÞ~J>1ØãÏ·ÿþ0ñóÊOå1?Eïñ!>ϬïµÑ.O×ÇøJ&±íýäR6¹É?ÑdþúËÉ®<,Ow`òî®üÓ39ûaÁ÷qø`ûÕ_1âÏwð9IG:à¶'<HÔ÷Çðùä6èO®~|êÃSWÙl{Ûöip÷²&ì ÔÒ§[m¨m3ËfC[õùããç ÁlTP´I§*òf>½R;B9y= ØRâ?'x~m õ«a.¯*wâ½ÒÃÌ
+äl
++êñ,*¨Ú"1|)X|Î,©©;aõ¸5r ødâµÅRÛ£bAS4[T¶fgdÊã
+{ÅóÌj5öTmÑu}T
+.bdΣêkCç÷ÀÕ.TýIÏ !vö
+YíÄçI<Í5ÐC¹r^t
CØ×7}X*¡pFÿlÖ]°®1Ko6Ù|%´$b}à,9ÅA¾Ô'íKë]¾ hÛ¨¡Nëu¸õ[¾
+µèéAkªþÕüµ§ð@ÙbÐõ¡S& 8äY6ÒØó'1¸1Â3éHVÜ9áÀa¿dë!½Ä Èuúr è³HQðzØá^M´Öx
ÎêrRÿ´ß:¯
+"Ùíî5ðÅÙ!Èo
+Nµ
+<TFoáKúKÂ{ ]º
)ÓL.W²=»õ-þ0©aÙñ¹Ä¼f渵w@!éñ¼GéÒ\ÌoQÊb^à;óÛÙ7yg¾ÉùÈk¨ßâ$¢â££ÒÜ Túü|ÕqÞ_¯é!&á$#F»~&¹ÉÕ²éíÀ=EúÞ£e ËôÖ¿ô8dؾÑÝ3åªçÐ9 ò6¬}ÒÑzl;(Zd<Ú;¸8¦<UÁð³ªPT¾}/q«TÆoáþ¨t ºaÞ
wLm?xµ
±ÇÈ©¥8ýÙ¡NV±àñäÅèú\1+¡Ïï
+W ÊnªO_=EiüëÜ|a.Öe¢B>-TU_Î(?Ê.óù1ÿî{{B¨Ìÿ¾à¥¨ÛòûRñoGwÑñ/j&|Ö3ï3ðDh w»è·ÔËÍTzvYrT¾ ¼>·ÏÜòrwhwC5Í2ùlïqXRtÃ(îðL²ËY0ÕÀàOFäÛ1áµ
+|T ìàÍ:a`Ux×S`ú`Vsñó 1Þ7ÂæÅVxCdHh"µçìnÏwP%¬vÞÓ§²v¯òÒAÛ~f¢²
+x! EÖ×5´ûðXXõßÈùÏbr´@¡gãté
+U>oIÅájùe¢6N¨¥
+-KQBU)÷8rÈ[ö4í¨P¦zÚX
+pè@»´ìÚÍÏgä%.¾©
+¸¶§Ö×ôÀNXï½îµà(¦õ¯ùàØÛ_nǧwùÏí×:çÜOW¸o¾x2>ç-,}·k4ìN P;Çö-
+îÿ¼ÙzBçCçEóAR
Gz<ûÉÔ¬pVã-äÐQKlU/¬¥Ë}C¢Nr/hv/²º¢Ù?ªCR9{Çòú±R$ :zzà»}¤TeÂ\.YÞÓôJìðSÏÞÌ)îÿ²"¨ìÝJÂaµld4JwîX¤ÃÄm"Ï{ÇL7á«AÝhÑ°9ÌtÁ8Q}gÒA/~uT¹Á,iõwåÆÂÆrñ9%¤|V*b¼ª0|³GMôwOiú«º¬ü*ÍúPÍÂÍ'I>õ¯´YèÜ!×^V-ëER°¤
jxb©éÐ$î.ìÇsjÝm¤ÆÖY÷Ìð~×WÎdÏ°8´õ4ÈÜüÖÓõ}EÏækicúz&¤Ûåù²7Kðj9¦´ùÛR9¤O
+Ï°.H÷Îàe\N·CUJZyô7 JIÿ´äì
+uÿ1O1Ëj |poSu<)»É®A
¬Xìfì¬kË®L,
+
+}Ò7ˬoROlE-°§ðÙÚw½¸¾a¼þ©k·óîÊ8ÞJD¡ì'|õÐøºí]O9^._nµä¶½}@þÐwÔy*[P©÷+kUºù¢ce:\¬bײN#tóãÄ
+Ò!CöôGu|+I&rñb«o²° BðHX¹\ßÜ5[®qrjaKå;JÝÇG÷ÝÍgÀÞíû«
+uw7ì)ËÅè*¬ÕÙï¸kÕ»ÞÃ_3wÍã=÷MEúxâåìòÓ$çg_æn/ñµ6}¬)õg\´/grhøBUÑ¥õpkópwG/ÏåØÞ¾ýT+X
endstream
endobj
-384 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusSanL-Bold
-/ToUnicode 383 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278
-556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611
-975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778
-667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556
-278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611
-611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 333 556 556 167 556 556 556 556 238 500 556 333 333 611 611
-0 556 556 556 278 0 556 350 278 500 500 556 1000 1000 0 611
-0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333
-1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 1000 0 370 0 0 0 0 611 778 1000 365 0 0 0 0
-0 889 0 0 0 278 0 0 278 611 944 611 0 0 0 0
-]
-/FontDescriptor 382 0 R>>
+402 0 obj
+4051
endobj
-385 0 obj
-<</Length 386 0 R/Filter/FlateDecode/Length1 1311 /Length2 65988 /Length3 521>>
+404 0 obj
+<</Length 405 0 R/Filter/FlateDecode>>
stream
-x·std_·³Ó±U±mvlۮضm'Û¶mtÔ±tl'¯ß}ß»÷¯7j:gϹÖÜkÏ3ëQdD
-Êt&vF at 1;[g:&zFn
²¡ÐÌEÒÙÐð`##S±p¶þpdj at G';[îÿ®v:ÿDÿ¶¨»
-´¶³·Ú:ó
-5Ck @ÌÂÚÂÞÞÎ@)Lõï*e¢ûûÅGÚÿé?ÿ1MÌÎÑøgaä`fP;;Ûs30þ¥Lÿ¡èLémÎ5ÉDmMílþÆ îfG ñßÃ{0ü_®[ÙÚ¹Ùzý©
É?[
-ÿkaü¿Ûm,¬=þÆÿU©üÏ_é þ/þ?7´5³èÿµp³p(X8ÿgîþPµ5:Z[Øì,þyümbcúÿ*æÆV¶@'§¿Oö?8 É¿oÌ jklgbakPvþpCGÿÐÆ.½þÇý·÷¿×¦§ÝÆpv¬!ü
h;`aUé`ÂêqÑ'V
-ÊvÑ×Òåkâg¥45¯$ÝʧCØ+æ½é~|f¼»×¨ûëE.#ªYFXâ¸.ßÈ¥Þ§¸ilé'P.ٽ׬íý'QÂ*TÀæì${íѿˤÚ3¥Êý89´µô"/ÿ²¹Úö¬4yÉ/`¢sý°Í
-ÖgþßhA
'hù =u° Q»Â~äzèe¹ÅÌ
-
ïX¿®ÉÀ (P%>ðæøúíâûqÝânjEUºÉlθÈzOGRܦ^§Þúz¸MÄ6pNÖ;aäºrXàÜg*ÇÁKèÙuÊZ
DQ¸Ó~èØwâ?ä¯X4é²6ojSFºâ_o"zòUíô
-þüiÙlÎDȰѶ§9± Áûj}"azLºc8ïí8©uáQì+hWçðõf2Äk²BÿµÆÁyÜõ¼FÀGÒöTÄ»ì*üBd*¿?þ#E±½cØ=Ʀëïmõ¾öI´¢röÄôyÅ_ßË·QoÍ) |¦oÍBªòÉ{»´DIÿJ%#£ûYoÛR¡æ^p)!µ»Î¯$õY´ÊgÚA}»uRãÞ[¬@¥BH¥\
ÎDø
夼â½ó§O¸¼neÐzB4ÓG×ð-ùä¬m¿:¹K¯ÃZ0>Ðx²n˺*QC¼QoÛ$wôKNjÝ鳫ÕRV=?¬\Å
-ö1.;¢I]:rÔ
þBäB@öøº\#`2` ¥¤/ÒÏçM¯Ü÷
+xZÛÜ6}÷Wø9@·ºR6HÆ3}N»@ M¢)мô÷ËdË5Ê&LFkQsHÞ41óÓ¿³0/vëð5ôúõù·wó?yY¢Yùúï×?'3úàÖèÜììËJ2ßñqô;>¾NÀ=ý}þñ_Òlùõóü>xXÀ&ÄäñÖÃOóë_Óýuút9Ç/øqѾD9Åâ)ä7x$<åÒzði¦3ìªE
+Éá¿7\ß`Å'ÁÝñ½u6`Wøðj× pç¿ÉQ1[ öà4¿Sá83PÁ¼Jqù4_W\#(wR$XP=Ï´ÿ&TP±ûÄz9øÔºßyô¹e¤@\
+¾6
+
-Wì96³{¿¡§ÀµãA±¦ôd´vüª~°¨ ¥)ÙÆgYåP¯ 1dû²®QÌ|ü¹öG«îÝ|Ü|*Áp
ûL[Þç kçæ«JP²O*a7B×
-üÔü$õ|!C ©7ú
-ºÉ°§üеî4ÍS{ÌÅ"·)ûX+_XÖM¦FËcLÇ·FÊÎÿJ«øÍyÔ
<þF<àÿB
-m´=¯IÐhåûé
-2̸Ê}²fWÄt2OCÕ
åYÕØ Úä.óN9ëîxwL][¸vùÙ6 ÆEÐKæËùJtµ`@Î5FjvÓW¶×¢ÃÂÖ´½°òéùÞãfZ¼WIBóÈ·ºµåÉÿ[y|¨{önçOÿk|ÌîÅös¦Q?%Nù/éRÔß¡G<õ]W
-Î&l{1©LÍoþWĵê1è²é|hUíS{ÅÈ ^t
FFbíÞc
-ÅV,&P1à£d`ê"mµ¹³³ØãX,îiòx4O[MË·´Ø*ï
-ú³ÚyBH
°9¢Ú=êNÐÐír$¹ ¡7ì
-é¯×Ä7È4E%8õUmФ{¿(r¿Ýné\fçbÌKâ]Þ£à×ûµÃ©äJu 5WUÓÞÊ.µ©3SKúz´ì7Ñft¦CeßÎU!tY±Sßi³«YÆ|ãÖ]·âCCTÛYÁ\[5u^ÞÖKd²
-Ç ï,Þàk¹Î~Wv´zTzñóFýF?Ìú7çÞ<³,jÓFÙ2oÌÚP2+¸Os¼Ë<úC«Þ´éÉiNFOìþÏ¡7pRT4Çux"OéJCÑhkµèè!øñ¸
-®×ác·ðTÙ§CJÑçVé!wø»)fÚi,ªKÅã>ùIàïuißhX¡já³Ô¬÷|ñêD(07®ÁçåArê-XmàÙ% vpO±¾5-ñO Ò¯´
-ç[7ß·2ÎÖÓÂcçJ)ßgåÒ¬é¨ÃŨ!=w+èeGÆåú1ÍøÊjÁðpúl©`áìþBÓç9Û1Ôa`ãVA¼4¸¯©?tQö®Æzû»F²+K_Âlïæ¼r qÂ=|gsKYGI FÛn?Õ:Wã¿%+³§2ÎÅ®;¨ÞWÃÃg!õ¢ããÔUñîOê=Aç÷bÆ!P÷Õ5tH'é+º$×BU,ñðKm09÷E¶m}'ðZ/qJ94ê³}%«²¢[î3_T¾ùöT;ÆÖRïï;á@'!3ó«ÖÓjÈhtN#Ýs\A)*ب~A
-$+óήý!
-Å?¸¬¯o¶Y;
-ÆhÌC¼Ú®Âï¡zÎ_b¶4øÐùS
-nnàLI>¼h®h]L[ÚudGÏö)HFîÚQÙySbl¸vª&ñËDÜf~ÛDýÀwÑI}¹xBxUÅ{ºÎ m2i,LKQ,Æhje¡¢`êB9ÞÕâ²Llá9h=Øú&¤Ë÷Òæqä¥WÊÕõô·RªRbÜͲxXÚ÷ƶW½ÙHâ.=zO¹9¿åªFêadmW<-ÒE´G·"ðiÛã«ùÍ»¯eÞ{bu¦zP¸Ò_ Â,«Â¦saÜqr6í¡ÙëÍ+«©ðT\8[£Yb5/û9ô»gÊ»8þì_¢áÔ@3cÉbƺâÍ
-lÂý1i{1'¥ÀÍ-zbQýíún@¼¬TÑãÈüæþ q.I㣡¿þÄ}tÿ¾ä(Ã,7÷˧«[áO¿fYõDí{]¸·s|pà¤v^.¢¶qLähK*ªr<#:¡ç w@²_%ÑWÑwAMcÁÕü¢
-þü]£ÇS3Íï³;÷½§ê8%ãKcGÿy÷eúhÒÐR];,wÚ> xNÓH:WbL১0 ½ÏÄÅL+ödZÿqî)\¼*èåSnû·8.däzS&i
-¸ÓÁ÷³Ù'©»4ñËßËéBýö÷W8æg¡]`qpçK`¤BØd³TG¡xN7(Ø-v1×Ò¨Jáâ½ÊoÞAVcY5rÛÍïlÊÓgUM7ô£ýü&BÞ[W¯÷cRJºU\lXmÁ$
-÷<s<õmç{ ªÜNydé`EJcqÜÇõkûiÕÝJ-ú{ìJý2?n¥´®ûÂ|ÒÒÎ}^»f3ïOj!$.(A Ä
-í^
´ý7ºSO»
3Óæp¡NZÑî6êöáZ<!èSHÞoeãNØÎ-Æs³Úå½Z$
-L$åb!F%EWëJô,xà ÄðT«5çO+&m1¤×MØO\L¾H;Ïoõ|é D÷öõ¼M´ävsz×'ëv¤sésÞf7SI¿QÀ±xßhàd.#Kþý&«=r¨,/M»Ó! *ïzùjdñ>¥ÊÑÙêa§<®z at ZÌ´"u`MQd@«^¯Ck©ëÍ8Ð!²4kE «Û8é&Î; RÓ®ö3ËPAïpk1ú5Ù?[ïÚÄG|öTP`ªd/¯f$ЪÎvÙ[®Øan+ÉDóc9";vÅXâ|°5CW>%FTv[Nü®bÒ¯A$¨~·¾Àh(ýwòiʨuC¤¿*FÅ]£¢lKòjN'ûªRn ÈÈsØ2ÐgLi#¾©'>´G¾,Þt.ÈâÖ³ÓÜ*oY£ £©ì¸Óaë0ÉÉSwz
-ÇÎ ^8ɱóyàåº0ÍÛɳDø×ïÕ6·Pngô#º£ÃåD6ýò¨ë'%ìØ°ëd×óùãËóWŶ)pt'#£¾§lÕâ'ÛsÌixØÊvþÁ¼c7Æ*sAü9»b²^õ¸æ@æïÌï*AG-`RêÍ5 ¹(M¯¦ç
-2ä§Í=8K>é¬àTbt«~ >~nʸjàÚ¨ÜÁ§)[.W3A}«'
-ýÑå
-¬+!Ò¡â3yõëyÃ)3
-°"
-ZLDÀH¾X²Ä#íåîBôtPDbèÂäGÚY7ÅÀ5·7Ý\b|+×Wãnì×ìwW¿y5Ö7r/$ì¡YáÈ}Õlõ¼«o9³Ü:JÉPçq«Éÿ¹õvÐp}<>¨!OÀÿ~t+«YÆM¸øeïÐbUù(o§qâomNDy
-£Ü¶¼ðV¼$IÐ^÷A6åsz÷ËÒaDz<y¶P±¯D ù1¥H-ÍQøÄ¡=]Z²¹0wÈßFÄ I¾A/l93û[
-»ßù¬ÚxX¼*
-¯Ù¸[[_³äÎwØ:í^µ©Æ@¸·`J¸ç4N¤Ñ%(ÂýT]b 1Pí«¨Ñ,/PÐìû[Û©óúL|{Ô¿1`PøW¾ö\á>¨,¦÷îiïâ³mZ'B×n håvX¯HÀxêÖ¼Ä{ØÄ(Nî¾Ë²%u[,«HYË@ÄÓ²h¿têªüÒ´uø.ý $ºª~
-¨;ÁíåÛµ÷îß1gÎ}bx¨¤îK0¸|æé+K¾F!ó®ÍF½üð-}ã1È\
c±üó `AË_éö³IæöÇ;¿Æx_AÓÒ·;^Có¸ð¦}40´Ð!£§¦îH4tKrQº1ÜùØ6NÇç4]¼Åclø,ÃÉMªM
-«n3ÒËä¤?eVópÙ&J@÷ü2ðQb¡Ñäè ÌË¥¥AB:¹üÊ÷Qä2Ü°½ÂàABÚ
öñLðt60øṈ̃,ýÄh_¡JÒ[BÄÅ|1yED
-pÉgáü{×EÚùÓsjÜî£SÁÊ#ð"Ú/yÿw´o¯R]÷¿¡LXKÖVúÚ¦Þ¶j~'±Ð¸,«1}øßW¼£Û°ßÿÐ}ìêêêët½EãAäúwR 8}%e{,/ßE
-?Öý/Æ{ú ã¹^°gã,SÛçJläExõbÛµÝ1xÇYñH~
ªßÞn1ßåÖî)YlÄaÚè»J½ÛF¿ûÖö¨Ç>Út¤uTKÍ/ûùøñÑî¤ü.¯$ò×ûB¬¶P»øE"@«oÈìûªUt&0ëSÁÑaeü$+ÑNVÌ}Dçkë5M°ûÓÈ-Ñ$ÕÊÓJ°lù£ð ä½¼éÛ&t
-Õ^¦§eæ
-té½ýðÆ&LÛÁ½6@×Õp
-Ë»ÎÖ\ù¢³CTfî÷Ìf»©
-9
-0eªyr¹úÀ¬qV/åNS0Ie/;%DÙyÎì¡Ñcû®ÏNð®ç¥}Ñå&]C9ÒE0¶FÚÄC9D ª÷³ëtl-Ó¬'æ¡êWÄäÍc2ÒæÝàÓüb¯
-Åøâc;?M\)b¦þ
ñ¶I<Õ[ÿü£¬£¶7EÑC,Ä{(=Ä×rlg¹2NªÌÇÉClW®RÍëÿérË©
C²Ìý[ùÄ
->¬Ò%5ÒªªÅæLYei[àÍzí{ýaÉî÷¨ÝD¶(ܺ±zxdDfH§ï*($_cä)ºÈ¿*K²Q
Ûkå÷;ÝfX/_dqL<ÂÌÞb.Æf²³"ÄùÚ =ræû°ái7¼Þ$lMƲ rý=áÄÅÆàõ=*@Çfµ1*¬ÄÆÓÏq¦ó.N~ri»m#5¬´üg¦^r)÷ó¶yb1:ÄxDÑ6¼-òquÓ*bÔ¸I´JÁµOɳ+ÊC!bC]÷&=ÚÃ#²9F¬(ø4]¾L¬ô(¾çSä¬cÔ\el[ÇÙì~
-s4¥ÈÖwm%¦^RèÏãÈfpSPnz°ï|Â7_xéu!Ì6Û±ùRXF¼fx6 ê®"k`G¬@¬QhÔºCyäÇ^I½
-åÖv"ئGêºLB^Hà
-¤ìñ±c½~
-ä}ý[æ'ÃL²ÿbÂÄÔU?î-¾'_Dýd¹ðÂàE¸(RHëÙ
-Åi_¾¤ÞX1ºÿ¯k/¶qB Ç7ãйüù´¬å3[ÃkâÁø0ÊQ¢£ÈgutÍÝ@ÂÖza¶¬¥ÌØ?¬"¡FÜvÒï<\.Oø®2AØâ¾CÍ>r7]åUXQ'²´iÈÓ»î]Îè3tÄãÆëóÁøASg½,.Ù|öÔ!LxÎnÿÐæAtp®&ë(Ý"lOiÏÀq;`-ï8=]»fì(ÊýGw2zg¶vüa¼´ÂUôb²ä¨4evGOð@¾"}¤·pG{=B18 ÜÜeÚ#D1ç0Þ{æ\XÏCúó
-º¸Õ=óË"/TøåijÞåÆb¼ºgiBGm`)[×
-Á$JàþV;°¹HûþÕ6?rôâJþdû®¾Ý ÍóÆAç®
-5oj\*ÉÆ¥¸=½amæÀ=^o6«lE´yYá±°;þ¬ºÙ×.Ç$õ¼·Jö@ÛIì@æ)Xz]¢í·¹
-ùü©³HÜÔ"èmÅE<ïaÃ|eYÌËaôXZkÝ0aîiàïa"2þ!ïàây-¢L(uizhuU{÷xr¯YVS¿Ú
ÛéÑÓbFbª/l_mÆÍs-5l4Á¦u¸»gÏ]Ýh ¢vÙÁÀ<üÎ(Ñêç¬Qëãb ¾»Pç¿Xt+¢óݦ]Xÿï ˪a5ë¼fÿA$]O¶Zbzð¿&¿6Ñ^É?£Û§øL÷@è@m*Aû±~,¼k6qq<Ñ'Ììµsgü¥çz°{%y¯ê
-9E?â?©õÊûêµ7ÍeïjÀq~.Fû,_ÓÍÝmº¥ëÒK!åÖÜBïµ
w
-Ø/X³8üýýÎMF¸Ök¨À!]á5ç<¥òúú{âµBîø8l%EÄÔn¿Y¶@hz{m3]Ç$ ¶Ã:½ðeBúϲX$ð(=5}UÂâ£Q?$wäÂï"iéºìæôÁ¯CÌg#u®÷ÓL9ìû3*ÐøAåûݪ1{$6A>Ñ"Qälú"íYË
->9f¡Õ¢¨UÁ¶Ük¿_eÏñ{ÞÕ
-¦°±ll°äO}£4ZçpP6Hç(c÷.3æ¯ß^ñåþP,'©Ç綢&ýðõ?ÙI¼±Î´î~lèíá,¡ÊQG¡"d\ÌYÓ´"ÃìHøu7¢Ãíèö³þÖ2oãu¡
-øê´W"Ê1Ô-%ê+|ä³Ü*'CRÏZ9ÐíMur¤a_)>s£¡$¿|.Ø=äã0+Éwìì-4
-æ~³c£ibMDAoKHÄÂ1Ò¶ÎÝ
-¾ÖikkýöE5
µoOÚÃè[=\
-ýS® ºh^õyà SsLè7&6÷¯K¡;$B,âÝ_ܪCBG«ñÒ«ã{E-4KC9ztôàé;ÃÖ:ËéYgrWþÔÛ½´M>:Æeò4s#ÔHè8u]õö@2?À0 Õ6U±´·³Z~s¥´|¨æk \ûI6±ÇþCdNê%vX4ÎvHèýåþ5ûw{z[8'±ýûõï£I¹ßÍÉ9Caµ?×ØX½A
CDåÎ((¯. at Bl*\äO³/¯$=×»¨0V'@gµ?¾Ø¿«Ð¥ìCÓv87,ïëÙ®ÜÖ7
-j¹«Gjm÷mê¯<ùBùMÕÒÓqõ<-v»S;ÄÈ]ÈýFÕqs¹Ñ&´dX²{&_Öê (êÒ"üÁb3ìuB80B ¦fÆÅT®.¨ÏñédÓ] Goç*Î @qÂæÁÍ5ÿ%^doN¬Æ³á®ÑjD.WJ·çÖ®Q+èë_Fû~z(%QM
½ÉfH<&ùßÑèäÌãÇÎ,¤ú|Ñ+¹òèë-õâ|õ5à
-riÄ
-d×I7ϼÔXºÏU
-ü^÷¨üK´®Üijì¸%zúý¤ÁßòT¯L|CÎv{{Êáãô§52Iböé~¨
-&¯aüD=åÞÈìĶxn",êsPðãçliÛªdiL+°Ìm¯VöIdöì°iPuvþçKÛ'*[¤I±?ÀU$sí&z;^ìï=i½è³Î¯³nhÓQHt·t«(ªÁÁxó»Tí/øóǶB\7/¸qÃ&ÉCø[oa r#»>7=®!èRÑoR:§×¦íR¡Gâ'¾ö¬ÎK,¯ "3uòìØÃË)hkÊS¬¯¾6õ
-8/ǧ¾kAºt% -ǻԲë¥|R« þlºLÆÄÖ¨3Ï?KD 4¡Ù¶Ó{Ü1 Kq2
-EG@"¡î,TNC¡ÜOa6´ðéO%»èÔäu6}hm'*ð'ÒÄu>º0#?î
-·òÌÿqÐEcaÏ
- §óæ
CùæaÙ U÷@SdÔ{ÚÚ4OsØë0r5+È¥îfú¥r3¾} +¦S¼ÍÛooM«¢²à%â±åè#
-é
-e¯,`Sò;-®ÇÀ§§æli®åiß©%§æo±FXI<ÓÁÑLàl÷Z/GÝ|ëØ°·ÙQã&aGªs±n'!L>f»F¢~b ß9lÏÚ÷<®ø÷¿/b»{øS@áôæèuiõã}¨hA
-§n;cõý)Ûír:ÈÒ3;M¤H⩸?VE¹<UÉJ¦£õáÎçm«¬ûÏôj. ¦SÊé:ºß£0wyÀ>eðµ¸8§ÙA
-Á[=¢ë;.J;8v}/½=Þ¡-óØ;À`xätUyøA°{¢ÈÚ]'QÍxl~Ôãí½º7LÕª;oz)¹){Îpòµ Ó9çþÃïÆÛ39|<V¹Wû&r:³Hõ
áø)-ïEjÀZ}k±X,*5Îj³/JACÕ'q?r&ªíÔíÝ{K1µx\}>//ï!&µWÕ¥nÚ½w"úAàlÌ +`þr·°ù-úbWhI.ÜÓþ&3ß'®îð
- ¯Ý0½õQw¬ÚÏa*.n¸.åÂõCèXºw*WkþÐÚö6ƽ(è'ºPëæÚ8{£èIû|(c®Ç×Ù¶.ߦ{Æzá
- ]ÄòTBm¢
îÒ\ÙÍTD8±%¨
qi
÷úM|hcÝge£6?}rQgÃ
˳Üé[ð-c&äOP¢c¿úXü1ÏB:P´
-Ü$®?}º=t#²wózPÝßKÃó[2<~%g]´h£å¯Fã»ÇÃèG7-¥/ìÑ.h8{}·}ã!<)'2õRcXh%}nþdvQ°öeQÑMëÎÖ)ÌeÆÎ\IàZªõIÍËùéûçîF¢Ú¾²rLW,$~¤ÝûåJ×IJÀy¡I%µïÓwÀ¦u±Ø0)
-º-
-mÊÎígºZ]ãT"al±tuYRSÒ^Ä¥K[À9"Q¦Yî"SNÆö«=ËópzXìûtXV£áÃr>¡ÂóGú
ô4Ìé3$¡èªZÑZAÐYó¯"Åw8AJEÆ-䧯MÙµpðNÐ îÿ@Q7EäýwÿÊþ²6KW%LòEíãY
-!}1Fõì´~¾B¨´7È© _$Íæ]-å«ô¡.,Ëð(Gb·ÁeòYܬ¾X¶ùå¾tÐ* OJKÂØÄ£)BÉ®#O&?+Ë U]È;?L\GmÍr<b[ 'op.»|-ÙB+ðsÎÌíNxO¡ÑíJ÷oýTåë© 1Lñx"U{å©Ñ§[W>z¨¦òûúVBØoÍ,Aét6¸fEvǧ7Äp&*³9F
-J¹½¾Ü7x3Â)æøRTW!³òz®ße6YÙ«9V}ý.½¢Duõ²YÑ×bÉRôgɤÔøÏ{ï÷ÐØûÜeÔJµæ²3W ~XÀé"#ºEfÊîU¬1¯Ã¤*ÿþ]³S澩1±9w!èë4Gö{UAêµ9S V.gdBíQQöi÷ÇF¢-~Ź&¢:íÐ=éSýø±Y_9ö3MÍÍî¹Í'Ê
-6³¦.·F×·þ¯ëK[ñºæУFá
-Th¸BtZaÊ(dÉ@"}âSÉ6F¬{
-LJ¸CÐ,ïÜHQrâY{\Þ±wò¾â;Hx ç-ٲ뱼õbys
*Úñ´¯QIkàF~LP×ÈêÐ:vRSöçmÄN=u¯seðVdù4*;qÃ^Jý
-÷¹)S¦QqÈí-@ñËzía8«y·7¢ýF/;21©*xA=d ¹éØG§Ô¯*%ó,¦¡§¤-cµ¼VÓqÃ3GÌh0f#xÕEè«Í8L7ærPÍñ/·ø¶=Iÿ¢Á,µ µó.Îù§y<m{ ÷ØJ©±eÇmá¸)ÌÞiXucø̱iÝ=xDxöFqtaøtn´{}¸DÒ\z9©ðCç½M³XãVÒ.¢aWìXbÑ®¸óqºÙ¨»ÝiäueMqéàä(d"ÂsX'!Y;àFYÿ²ßö´
-¡lbDÔ \Ѳ²DÖU³¾eÎÇ(tû<¶CcØËHðQÑ:mÊ´¡ûX
-_9þãþ<ÖØÉ/âÇë¡)£¼ü9õ»#oî§2æ¬îd¶úõ¿]oäLaf×Áû$åÙ,A°!ë·»ôè¼ÜgJè¾!
-Äkúج:³Ä/äµáG´Äã,ãiA¦s¢À8ÓfTÉtf¸ÉÖ`æzR0[%£½®ô6<ãB!¹$`læ(
-×v-ó
-"xt@ßå-7ÞÛ(ñ ±°man!ö·÷è(}WpïI3°uÌ5WàÎ+0"Fyò@ÆM-ÝmËÛìUq\ëåZ`´ø ÁîvfBÛî,EåpÈLÑòsLO}½AÃ
Æ\uòÑý|ºßþÔ^§8¡!éLÞÈåýѱp·Å?¶O¼ßoÌuµëÖËëjIÏpÙéy)þöË[±Â£ÎÁM~ѸÁCË´ÕÔu,¯ÅÿT-g
ʼN¦ÇhØk?*(z¢rÇ¢BÖ§Ðt°£§±§
üÜ\¬ R÷]
-©F£¿;`°PþÌMzBWiKð&/°
-hÈu yq£ëá±H-»¦ÕäûF1Ò_ª0\î²ÏW]"Î#8=)ÒV&ù.D<ÍLqÈn at llTJÑ)s Õ¢uI+Å8ÎX¯YHOÓè#yâI¯uªjh6ãÆ´ å÷"Wm±Õ9àFÛìÙ9¦ÓQáQpg¾ÅåtgxæcMU
-QÁò\ó6DD*çOçSîH«½£CÆý¨É^âøõ*UªnLbn ¢ÈÈ 1¨ø©<ãøI$#çCèµÔ«U©AN©*ëob9¾¢Ôº.>h«UþovzÞ¡Í.ÕçÀSàúIqEß ðí«I$vÂÕ$ØN_öBy¥ùÌ~4¥Ãí,Þé~ÂU`äycéQ8½hdû¶__ãC¬Íu¹2ÁçY/
-çâi7iqpA3ð8zbã¢
-õ ÙÎ5{Kw.còè«NÐh
-ÑC£!©ò-VÙñ."N5ñl65l¢îuf{5iuJsfKã*«n[Ò»lµ8KÒs½ám¦¸#×
-Nß®M$Â4Ò¸oó¹Ágw·Î)T°ûãZ³[PÍÄÕBËðèTÏ@òiX e¦!~@½îwÁ*ï,TJ
#â÷UÊ=B/°íþ\Èà+Õ«KÌk,kò p:xÜ?î<³Æ"?
-é-PÛºÌÃA=G_ìÒS$þ[L^´¢ñiìý3JÑ{|Ú¨þÞå:whà"Ú~MH
-¤9
-´¹M¼FB°vÎÇÍÓ¡Â
hS©l)Ry9jîk³ñ\Æî¸,`³îÖAÜtì¡ÉÅ<$Ì1
-ï"~!Ók.ä´Ë@:Á¨Ö-RÍ0z1bhÜf½ðz§
2*ü6!øþ,O~,ÄFfúŦÒ{çwÆÊlý.×> ¾O²×'V«;K<dÆK3qNFÊɤäó?þ
¯ü¦v«c$Ì{Ïîè
-î7AÝôMYåë¬X¡¸TGÄkÑïþ¶x±fY]±-Ôcä]¾'~ ¾h?aSârê÷VP`,+×ÈmÐTp8Òe羫È
-ÓdÆYõðÂqe¼NI;%%àñ@õV©S!å
-"<
-õbØÇ!4ðɾR¬Â¼*p´=/Pr;~6õ«úöï7H{5.£¶>UJYKFÒQ³Ñ\mG îeB«söaøÁ6äáóÝ¡Dý1þìÅøÞÓ·Y¹µÄªbî_ÔïK{LàaNyи²l?/#·ên{¤#È?.vÄL¤LΫ¹(m²²rJØ0*LiÀUbTùbêP¦uó¯3:èpÇ:q#+®ûé-,¹Üååè näYK~ák!£»7µÌ½#$bXÇ»[¦Ähü1±
-½c Ç
-s¹eèÒG
ûôHÊ*Ï mÕÍ
-uî.«$ÓþÂù º©°J¢ÑU(¡\XZãÛf&[Mñ4"^Euwnß3ûtsö¦çE+ó`}¢~58îÿÒR±Ñ¶N5¹
{¤×Ùÿ¹¼ð
- ìRb
-ðå8áÄù{ãÀºNú=¹c¢QHûÖZ~!d߸°
üTÒ/Ó_Óz#jRÜBú>re3Îè-)¦uþ8®~Õ?u7¸4Ú
:Ý1g4å·õå¼fg¢«µöLen¸³g-[o&IIcüºRÜbàROÞõ êuXæýÔVÓWºCDdàHÊno3YàJ» Ý?}Å@CðäÀ îKm ¶¤l°'¬ºòK\Õ|,ú
-¨ÒøGôâ7MègØnü^Êbsß<
-Õóq|âÌï<&`ÚªDw8Ò/ö¢+Øô×qøÊØhvd)Ñ3U÷VWü³÷KoQÀõH*Kíç=ñ{ØÕ«¦éÕ¡ûZP³óÊeÄæ)
-²¢(§VßTúòY9ÒtBÇ@8ëáU9îõ$ÈÜA¿ÍÚI:ôúùOf#!äp!ß·*,TwÖ¾Þ1ö¤A´Âó+x¼ü+6n«"¦Jë²íO6#7Í ²æÀÐ
-ß·;ÚÆÉ¡}ûÊo4ÊLdWÐ2có'
-¤&È£AÜl
-ÕSìÈIçDª@¶"$ki§1ûζ@üØ1r]=|« .;¬j¯Tã£+{vBk÷2
qé9oIM¿¼Ö:FI<ï¸ybYENnrM
-ij-äñßVaNRFCÖ¦äWjÊNpô/LÀòUó¾¿4.¦îºÚð¤ôLX¬UVgM%¯tÔK¥»WÌ=$¤Ôcþ?
-³k~~!Ç)ªº9åIeY¯Û
søÂó[å¢)MÍJéÉE4IU9üIÅQ6ê{ja®¢2µê±!É÷WfL׺Îÿ´FàÛQÎÂr,°;©Å]8a83½ê
-UM껸ó¼¸Ò%ótMIeÈÐU9:ÎÓã¥öØ"ãÇ®LÏÔ»òKUì=åÄO0¤fmÿ8ç}ÊÍ:ÇØ
-ZâºÑݤ
-+æ=OUO&Í!äúÀN¹¬Ð>ùf6Ú'«j¡lcª¿Â4ÍRý̾úèFyΰÕæwÅÖR<_A¿ßÿS·Å÷Ddtu
sd}e·Â%ZÔYº|
-®îî´ûB®Yå¢aMô-ð
-ó®ÒK«L)íÙØCÐI:x\,õÈÉUuìpqÇ"P OÔdÉ`ÛòÊ&g*ÕÆWÜÃûgòhÓl;B@è8þÏÎ3³p·;~*«V¦ëÅzê#³¨¬ÐôÃ[o¦X ÏwÕcCÐ*}!Íeû6#Vröås{7OñAÄ
-÷}7IµoÈJ»qX\±ßÞ@½¯DíKO÷myó<_
2 ?O²}èAdÃÔÊ]êÈâAÉãÈ
£ÜZwXëÃ7+¶_c1¦'|ù"^ì
-NlQ¬<Ë;mïFàXÔ{Ï@¥·UfxÙM4Ön8Â2=÷vÕKIãâïÈ¥â¼R·Ôé{M¢
-TFpìÍ·Æþà©ø)bÏ k^2p'a8|ô»þÍÁzæäm?ÐV=¢
*Cæ^èLu$%m±Ë~ëÎÒ)t®´wMÔ´ü³`[ÏÔbDi\ºO{ñßë7T#%\bíî 'ó¸£<, wpLÀ`âý~úÿÖïÏÙUÕÙ\gÌ¥sØa8ó»N6¯%ª¨¶}ÌxK2(êYS³§
-Euqõf
-¹ÒTf|·«Î7BiÍê
-vD¥B²ÙÜ9^`^B;BnüªaY¿æá¸&çÿòÓz^Vh´µÄìdj¹à Ý®ù
-Ó;ô sBÕFH¼¤Qæ³¥`ê r¿É8Óðò¥×2Ú8Á0ªö-w/´ASùËß:_篰~yÏMI,Ag
-î¹÷Û£!®¸Óúß¼NZôý´ÊÝ7Óº©¯
- ðÏSÜJïóC}ðáXÙsÏtÃygXÒú{óÕ(üÉ° MÙàµB´E¥xLàÒôUÌqéʤø¹±°;X"·-N¨ÁÁÔY\kÌé·eRd¾tê4Éê¹ßT=
-o0öiÃïòÀçõ4Û·ÿ D
-Àû.ÊUyóήyC³O´TîpŦüÉÐ}0o1À¢8ðFG½
-Ì'Ñ4|ÿÓBøSÎ#×t½ªÔÕ&yc
3ʵÃÆ\Z[ño:EòzTHjÏIª ]×bç8 OpìhòUëu½¶ õοqos¹2 ÛÙÖyÔëùq¨u¥gÒþ×Ú÷@µ«½E%p§ºÆNµ*éB7¹¾SçíAg¸3²£Q}Aö,u¤çx!#ì$J%ÿlä×z
-Qû³;1
-§õÿrÛ|ÎVâàkWFÝKg&Ì0¼¥í/Z~OÁ8ëK<>Ç+[=
-úäM> Ëh§;ÙV·ÓÎâYÉaØD¢ªcÜvÒãt's|RÏ_ü`KXia
-í9Bqg ¥ .1eSi¼çy)Jí<6wÑ)~nw1yÓhàùær éâ}ëðìjñL,§ézåÍ=)ã ¯]ôÏäM_qàôð%?¤@=}Sij
ãGÕÊßv6Ö>ùÜj¨G)">G¾È£Ø¡)ß\ÀÕsN´«ÕêgPëÌ!7ßÿBAqÏwlüv4ÀêzÜíÞ«2¿µ@p¡Öá;°;ö.¨?+×aÀ»õ¯Í¥jÀ¶møÔ¶(4'?Áª¾ÿ·XQ©]Õßmexbb,L9P¼*5M¯7ÅÕjrÿß:@nu*û§ÀtU_#óÃýXe-øõ~UVV$-æ/»æÌ<DµM»_$'µêwÚÃÍ l
-;zHëíýêµ91µâúuÅ£ª)}³K&Ùö[eöÏõVwæÁí^ܧFéJøÔãí0³Ó° Ò»95 yÔm<ùÚ ó9©UJ
ß^F&ê¸>ôK&'í×ùêxûUÀ[
-Ä+v=<EónÌlk¶£aÍ>¶·¾eÍUàçÃàè·!ýä
-ï°Sð¢ÌÛH&õVîXøVtÒxÜÑ[5e|ñ5Û=?QVó`VÀ~h!CÎV[ÎB¯ð½/»4QÏúкí·ØAüYî!ÂÂ/ÜÈ{æVlWGRÑqwcâc0ÔÁ¦jæR°Ä,F!ÍÅý¬cÞ>@/²_HøW³ºùþh´êâøÏ)´·Ìô¾:äuLÒf¬ûq̲>bo½®T¢´Û
-ÈOª*Ôa=A79çs&Yp$yþSqvuD×Ï`Í÷è "¾n¶R§4l#Ôèýo&ÌNüÌøÈ=h9ÉÍ@©®BÚ¥:U)ÂVX6.Ä$¹FÍUãøîË\Þbdt(/¬"*MH£hªªg¢~Ì3ê½¾Iµ\%,}û¯zøÒGsÂcCËå@[
-Ùxò;>l|]¯a=ÉZÒ²ibÅß,
-IáÞ°|,ÅbÝ@$.ÏãJÜù&îÿÜ_¼>Îý;E1i@
-0ËR<tü_¶.Çp#Ge¤xp¸tÁv`a±5|¬¾ÏX`5FqQ¯rè1ÈÉè
-16¹tlMtk^óßMV@ö/ |ùn$§Â¯éE¢îÂt°lâ_:ÊXqO«b,FqÚÜÇ5çr¨ÕòÛáWÚ"àj¤âR@ ìIfv±É.ÆxÔ
-_ª¶,·ÁÈ-2Âh¹e^W%E û§!r1=ÓûÀO2ÕJ¾¼V ¬¦Õ§?D
-q·26ÙXÆ]ß«ÑëµþcEàM«èÛb9÷*°
-ñN&Èz¹Ó
-DñDµZ½[sJÓOÓ%X0éÔxÛ°]0\Çë)Zð&I¡ÊסQ"w¹..ÿhówÖºTôçYÜJ^¸CÖËÇÌuŪ@ÿçÄüòõ¶Eþ´XÞ¿~T7ÛΤ>=ë;HsÂë4º=¾V(C ¦ØZFU at ./¤BBè°[tµn»o0D'£Y´^Ç +]3:Í$þãë7¦ùeÇÚã©ét-
£3}^C¼¢Ï@ÿ*gÇ'ýºkR+rÿ~õYb¦#!e¢ÛJ~Ãê½Y¾§¤È9Ù°*.ÈN©z0Ý Øq%j`÷uÏ´éÁfÌhÛ!¤oÖXWmÑÅÅZÄòìWµz1éä5ðOû0Æ9
-A ,¹¼id
½õ«8±ÞJIâ`ýJ+=HÙ»üç4Ì·s
-j2FaùNj¯ßNÐGº¿,@«Êÿ¿¶@÷m ´¥6îÕÝ#ÃA¢cÍU.û¹YçC ¥ì¤AáGSGËLjSÊhëSRÀý¯F0-ÇM<é"´5¾ëáÈ&w3¼sîÛþ§l¥µJÀËwÈßðä+ jt¯àúlÂîâ[We ú->.vHYÛ¶o@tÐFS_
-¥nt0ÏS®Ó¢æ£4(ÁȺߢÇåÜCÎ}¨Ý[w}¯[ÔT8;¹¾1ä<«U-.fק·Ûþù.
-uÇ5\¥ôWÁ{»ôõ4#UäzMEdTÃq14°öõ§°Ñ`§U¯
-}eýU6ù?NÔBtÐ1Y½zÈÄGA¥|·)ücÏ¥^¾S³|.ók¿Ky(WÉ°
Ílöx_åzÌl0Ò³¾¬ôä\PÓ~
-Lo#a4lz#¡)ï&\mÁReN&ËÐ ÔûºùûÓA²
-1½÷kBÍ ý!írÆ(´]Éâs·÷)Y!§Tª\¿ÀK ðâh8Ý4*ÙÀ#zïÑ©&üïYø¦åu)
;ã¦7Ô²SËAà5yàò5³ªæÀÏçóÁGäñöñ©»C:
-¬bü üò
-)iñb5qkðEí[êZ²¸Ø:Ü´.;Á
o[Þ>Ǥ{)ü\ë×B
-4&ÖíÀ34ÂD{Ä0ñá»Aßaõ?6XjßÝâgqÅ7~ÃÐXot_o ^þµéÈû2é¾Fn1¾(XÜlm*Tb²QDBú§ônníXº|
-ëzJB>2T¶¤z>ô?p6¯6S(LöOrîçúHÜ-ÓÆ>£*í¡«é1½áô0»CcàÂ59öµ£ò~¯]k¿ðÜ¡?ÅçKÇïdpí^¼Äè ÖõgBqµqB9×·6^)ÿ¼är^]æVKeJbN\ÓêraÍ\6;°Å<¦É)a½«}X¯Õ÷²Eâ§i%ÔÔ8lÂ-,M¢!mw÷¦y&ì±ãßÊÃ86`5~hJu*±¼:¯äRÄ!Ú¼8Õ²HFwg\ÏXeb(¦|?A;@õ|£ûáƱ
-~kµ+ at Rë sýð½ó¸äEúì%÷n»:}K:Ó··w}+Ý¥£:Ú
-uÊmrç;P(³µÙÓç§ Ôïó#cé}:¾øææ0a¸D·Q#I#mYH
-z²íºÒvÝý!MA0èGÅC>`Òe.|ïJù>j_#÷Ê9V£àöQÊZ0¥e|@¥fe\1BI×¢±`óJö¡ÐL)*yØØx'ö$!åS©sÆÑDÓ&I\q¦IY³¥%£2<evÓîðÝ#l7
-RóùIÿ£Ä__ݽ6ÑÃêê[¡_Ã×ë°pпÒíaÕ9B¶±_pFB¶ûÑQ
-×ûÚ1
-¶åz¼w_2zdiínúYnbÍÖ2 ©ÇÜãñqìÓB$%¶ªZGzüÙZÁVðè N¨btòÂ× Þîxh¾G¶¾|bH*K¹Ö¬a³ÍwÎ÷Ï]\
-~òÙ%·ÅH#¬Z{µêTÀ?ît ¶ÁaÍ¥Ëwn¶Wå¾{wÍET³D6¯éeL³I3!&LÏZJf(×sÙX[Iî=5þÈ6f³j©5Ýh6èoVûku"ghcö5î~^Y!\q <NÖ úL9Î~;ÆNBòQyø¬;ÎÚX¢Þ6%ȲÐѦ*æP9]ªæ×VQ?ضY?4ù§¢¼Ó·Í^kï
-ã¾ë§ôP§2N%u.ÈÇGËÁ_éX(®8.Ýø +×ç¤qOã(訯¼«ôahU*Ìóï:/Ó-Okk¯Ëe
-Ï4J-"Yåow°µÈä!à®K>Á*
ao|àÒ²-í%î l̽*¾÷Çñ>V;Ð$yËÂ9ì
-á;¯+µõZI-Õµ ã}'þÉ:z¬Ö7Ym&g}°ÍédjââQ"µè½.Ó!£©5³PÕ¯þYÈ`ö1¼½M¶È)ÖÇV.åºÝö×
-±µH4
-ÜÍ/~·TÂ'ýoaÌpº¤ÃTìÐ÷8Uâ}Ì
-«Í÷CóxSt[ð9¯,hKò«ù§i¯0ìÙqÑRnºÔõÄóÈ`Óºd±Q(Ýð/1Ñ¥<k¦qgö¦äìcÅ)àA|R¾Î¬æ<Dô÷¤AiÔ³0ÂÖÞöyàz°ü2WP(ÊQ?ë¹Éï`ZP¥³±òh®ûyÒ)`eo:Ü¿L-»Ð:D|K`àõ4Ò63ûëvUë"°Vټ஠p2¸Ù
`w9SEÏX÷ÚõUeàcM¯àç+?Ò&¯þØ)ÊNç{â&Òÿ¼¦Pº=ß
-¨ãÙºsìÇ z]©ðûVÈVÁ]ìÓª3Ä?ó¥Êtz·ãÁ}W§=4¡bGÛßË)¡/ú£üäÕ·l~<P¾ìV¦áæaBǪÀ¾øÖ¥VÝÁí®ìª
-¦·ÄPFÜm¥BI´rØÃu,<ùöÏ0§Æ7v½û!` T.L5ôÓ`ÈH
-àGãr#,Òö^ÜEC®6ãíç6ðz?Ônt]Ó?èò°X±]ð[nEë·Pú³èh§;b°G°XM(ë3ðüÓ9eûö\ïqê¸Úøx8$-ZÎVWÎ@'Y&øý;2«©Ad MÙÏoã½6o¬Ä;sØFZ%.û²+éùÆí(aÖÞ¥&͵åã%GduGû߬B_V6榨×5eÄÜÆ_tJw+Bñóüê:ÌN÷X_)A-êÐAðWµÓ=Rl¬7wÔÑÓáÁ»³´Ýyj´ÔåÏDz8Ø·0{´fÙ(¦)z¼±9¿jÂßcxO
-嶬$ÿ£Ý`h\to"ÈqoÅŤ>å(ò[S½£@2e;À®/H¯ìèù¡?¹Ð×xep²Fl7Ø16}yóOç̺(B&<¾Ã\KzÉR5â
-T
-6ø£_UÁP',èÀ'̳{ì4½d<z«mTEÎF¯¦UqxI++±èìÁÆ¢xz at n_¦°ÇòVÁÞ\5ë7|_îtÊÞ
-èj¥Ä°`.`+7L÷zøn×A@&Aÿ(BÓ§«ßÀ©ö$Çä¬5pYË5Ãp@Z½9ZkD[
-HÕÎ2Øû@_îYq°/þ׳¦|UHp'±86OpÍÐñßõ:òðHÝçB1 yÅ&Ó<ÁM|P÷2OïBv¡'²øÔ»KûfÂι>kÊñcùý1>L>£ñT Ò%cñ *k3M²Å~N77®pùÏÁPÆÓJ¼tÜ]Íݪ¡pxµ_~ñ·3¹-²Àx¢Y·suN¿0û½Üj|gºZMYNE,´{.±{|BPLØhÇAÎý+óÁBfÅèÌW6°ù v/VÄý°æÔ¯.6PWî\WáOÖ\MºQg1Ð^Õ
-d9ªïiA~ÒÐòzÉ)Ä¢x,\ª/>ý£ö_yÁíð¸lË[!uyîÀìÎSNyíº;ãâ|ªÄÚi¾ÀØHøW³U h{?oèª]Óö5ÙÂTMdÂq×_D;7Ä÷Ú8Vú¢~Ye¼\íÄ@kk»pÏ0ñÆq¼Ôôw4êѽ
-}úÄîáòûÑ9¸Â¶GêíCO7¸MGÔjAàK1¿V+oüì#V¹¡¦772xµé¡(«=åOÀç1ÿÀH¡E§Ó«í0C&CÙm¸+I|:ÑÚc¢²v
-?g¢¿pïêb8Ha.b^ËÛ}iÅj£yÉ
³_¡RÂÅs[ÁTQë{BMøH½QßËËøKëµåÝ°]¦]^lê}X>Dî'¹Ç$«´8ZE(ß·ÊXZ¢ÜÇ9O
-a%ݧ/åçb¾¤î0×ÏqyÔØik1@¶ÿD"õ=ð1ÕGhùõQ\Püý§ÈBjävÉß_=ùÊÏ>Í«L1yaÈ ³¹÷ÂÔB.½ßh{2NE´][¸+ØÖcIV¾Qý6B£n"ðýÐͯÊÎ×, ô1/q/Ú[Ëuuµ"ô/PJîULÆFqD@üãÀÇo Âbí:0Ú
-s±ÖpÙ=¬sPûèU ½xóß]cÆÒÔÍ]
-eèè®!YÝþûv%sH^÷üH¹öW<·ÿ:C^Ìm£`=ká`NLH'ë',cÉɤ5ýUìÜàa;!óphVMµnØE¯ÉïÆ*'-^rDð)dÂå~®ÙájUéÁ MC&ÿ`=ãõÃóð.;cåM´·jP¢Wamï
-ß*w©ÏHkå ¨Ï²tª¾
-ëîCÂÀ·Í¿ ¬³;Ú4f¯ÚÃZN`Jª#E
-)B8ÞýÄ°äÐ×Jð<eÀ²®~kpVxU £CÒK#FV
-wxW#×~GöÓÕÁW¯q]!Ï%*TE:,¤ØÖ-qD4oF²íÆ
- =!ßÈpØ@:nÕiõÞø-{FdÚ½8R½6KÝ2z¬nîA+5C,Éö 4>XùÕêëÆôé"ÅùùÕ?4T
æ"¥umÐSë³
-/¯èð_;Pm_5æk7ß?1#£ôl¿³|QÍB÷hÊÎ0©bM¾;øMNºÐûwjëtqðÍöx£ÀÎÊÂX$¶D-'®õÍN~Ûùg¬¬AùBq·pJ+WÚÎAzY\ø6$D :¯ÅeyXn}A~ÙDñk¹5J¢*HùZ¢{«vv³´!8nþñ¨@lϦO;ÈÍLýÿâ1=íI.kB:X,KruX*
- ÚøÎÂ^,ÜHJ©KìyªO÷à/UZ|ÁÏo )Ö¢¡·»ãüò ÊaÍÌþ>~GùoG
-*º4®s§ IÆeÝ· ;@¡íóÏ30ÞúyÑÌBËË_çBÐ*¿r¹Ú{MÁôõÎBüæekàßmmë&6ð0ìëX±Úéâò(ÝfD}§ñêè]I&ãüÈþ3
-dÂLÞ@r
-ê£(0wû2×þ´ìǾk©ÂɾâÄ
-ßPÒ2_®VDóÿq¾þQ÷'å,cż²Ò¥K.Þ!°&ùd}¡ç³
-Y$áßV7Ê~&M}¯|p;!³@42
-'Fuó`¬øÒÖAÕÏ]
- *Ú>oBDcN#@n,òÍ$ß>DÏYr;¶-¦r<
-#Í(Äç®´µ{
-Qþa!p;f)¹Þ
-Ä©¼Ü_·éf@ß5nE>¼Ùv¶¿É0²YÁaØ(H¶ößÙÂ;S^Râÿ®t²Ì\¸LVU6*}ÿ)A&æI3±Kkë¢_NtÄïäùA*^ù<±B³µ)cQMeJHÂ$1ZJî}E*Ïr
-ÏSæ
-ã_²÷*]?2±
-4½MÈl¸ÓѽÂY¨hL6=ÈàÇK桶{Êf^[
-]³û.0úæþ×Ç
E¿ãW¦eÿçÿjq<PI eycݯEÕ1Ó
-
-ÁÑÿÛpÈ
-Û@^0U ¡æ2¬BY½»~suÍ@Þ¡õ´iǸÁ=éqÞÁ´Êj"¾ëet¶4#¯"ÊZÚM\I8Wb¾MØüJw%-¡HÑô0h±Ì
-! & û)Ô½'ÞáýG®Y®
-oyN]~¡©½éUIOC/Ц}¯i¢NApi´ù±ß!9¿Éé '9À
-˯Gé=tYðÓåOõ¿ø?cJÉ tÂìùÓpÅy,`lFàücD¥Ì_çè9íT-ó²Ôó ãKeÎ`ñ¹5n>=!Uüh· ý,ÿÜRL¿2ÛíPØ{NÇýÉëåÔ8@ÝÌ=.ø/£öÝ<Ò|ÐnÛØî#½vô¨2yhî%½Mþ$»¯rC}Ù²ó«/à¨ìâÞ+AÆÌmñt°¨
-nWܽ0±p`÷ì~b7Õ
-ÁL[Ã3ïQÉú¥b{«Ó§¤,|p¨èÄøã'(Ì%äý¾ }õ*H¿Lî"Ý!B4uCöxÒ]1®AIöúþì
-Ð"§]³_±1̹H%5ÕE:#NPDyXâl+õÏYc³äãÒOã¯ÑÉÿdT+8bëL´H£ø¨èCéÉ«²èÓ(Ôå}¢]~U(ÎÔG墹]ÿñ«®4¶K'sÓ'\U~ß½ÄWR³ejI0és± ¾+¹] kvýESþ¤ª
´É®£4ÁK§Ì÷WÙÄ]3M7 ¨ûr½úPóÝãDïAr@ÿ'áüù)øyjà]Gðó·JðÂ">]Å$î÷IÞÖW0²§6´ul/ÿ;8
-&ÑÃÖgøbyâQ2Än,é)]ó'è^ݳ=T5è£\-gL@ñoèrüïCèñMKz ì~PA¨ìxøÁJææN1;1
ù8~ìaÓé/6ùªA ójsNíLOûwð"t¶²g½ðíWe
YÊi¡S}{4)?7ãð?({ñ¥"A b0D'- #èQ©ªJ§é奮6]I>\6GT3Í:QLßCàÈ[.ÚbSçT=Ö¥hÙ*Gü}'mj«pÇÔJÍ«pezDÈst3jìã&KaT-'âÏêØù¯KK騾ó*ìïÎØò¡Ï?°(°I´õßà~Ü
£BÔ@Ö\þrÈ}^ìû2
-gõõÚ<ãÞAA½çåÔ¿Õ3.xÈNg8 at e5
-;ÚÔ$ù#LÃ3T¬Iù
-ÿwêûz2ÐÇú(ãj+JûA».]MéÑËB
-Z6´K-e~2º)Jàh÷>·8~Í7wËÏ¥fÚ\rEÅL»[6wøfãy})fþXf,aR9-Bºz0©,hFÇþ:
*HιR×è
-§ã]õ¢dYünw)ÊûO©ÐC\ £Iß
-ÛÍsNÇ
-ù8@ÓÀ_®G3Q«Ã®Wõ(rÏWv èÖêßÒ%øåÈ«>@A6-a¾Uú¹rt³yÙ±fô9¯»G
-ÇGY
-¾-XvÛe¦º£ÍKèÌG1ÛÍϦÀWÝðãO)5Ýk¦NM\
[T;âd$¡/
-JF3ÀAå_}ϳômm
-dù?óÎàð°*ó¦üý8zÿã9àä# rbÚËý° ûÍÇËÉs°Ð_QFðö{|,½ßÙÇØä±#ö_.Äðµ@Rtø@=æGtPfüÏOwâéxÚyÏ¥ v$o2û¶
-¹úÿfbF´¼Ö9ä'¦÷tr¬Æk&o\ݧ~4AѶÝr°$]S?·{Ï6ÏQpfcºVÀóû<¯¿#|ÙO, m£4Ó%r\©Ñí¿n°§bè#2VUÞóǽápyÈw³¶u\ç$Ò¥tÉ
-ê°të!Ü]|;¡Æ¯·a[*&:
--àq´ß÷»;Úé*8d?Çq3+MîrË"Î"¯¸5PØ
-÷¬Çn2tÝëÐqöÎXdªà9«
-gæ~çÑéjµ>ë¸ÇÁk³`~?¨å«ß_
ôäÎõðÖ&ý©C%ÂU¦R ÿG7
êݼ; ÚØ)yFfRÇ?Vc~7eyR¤gÛ°7H#,êé!=#
-KØ·.
~MÉ*@x£Ð°Bð¨bÿ)δ|×
-FÌ
-v[ïÍ@¦ÇNÓE7±>Ë¥Õ÷°ÈïÂâ;.]CüÚºÍØ^®iþïÈGì:Å·WnΨsëò¿=½¡ÿµ0ØË<Ô è~Û[iÄNCí³ üÄýÅÑyÉ+8Öµ+G\>Ceúè×'ß÷VH£Ö|ìäG
-p1 þÔ1þm$5+[É
-àjÈÍ^`p<8IÀguÛ!ÓÈW>ÑÊX
-³<=x46û
-¨<ãÝ.ý^8FöíqW24c½ÌþbxsüÔÃ*³T)¢XÞ²óαÖE|WÚ×Ötr,fÿ"ºº]¾/ô¬Õ!ÍLèZ©ÜÚ§?Esý
-Z©Ý~,µ¶DLO-})êß\!n¾çÝÔªúð<¦Ö =Pzp¯ø¿¬¿m¸U Ù7Q»^\øçU»§fÎV«Ó¯ºÉp¤UóiÖÏà4y;8ÞÉNÄ$Ý6Ú®Ñ"éÈ¿Ô2õÊ?þ2pðãçàÓ%°c¦(ll4`
-,=h¡HpâícîYh×ß³ú.%81 èÇ}ãqº«7ÉðâÔ_øeYCç±UF¨Û5ÙqS at 2ÆŦßù(9Ê®¥BôTu¶¯"9׸.ÅfT½¼Èëáäà|lʲµ¾øÔAAWð»óïs$Ëo-^ü½*¤ºçk95%'å ¿côyñîs¶ô̤lw¹xÚêë\¹.l¸ÅË7A
Âe\@$Âatì © ìÍ-sfÂ7ûÙ>{ÁDeïm¸-Ür"F÷ñ®{7 2f¯È
«F [£õt¬7¤'ÿÍ)ÔL¢Ã{©ÊÙÖ;æ[;S{èçÇgÄßÆóHã¶EÁÚ ¥Z¹1Ã
-Y¹6Ĥ9Aàé/Cùà<í ÏíüûMp§WåKÕ/2/\Õ´}P
-³\:ùa;OÝQ¿Ôj?²âÎRZñ2§¨gjȪÞÎ4¦[nD
-óåúþ#ö &ÉË©ÙË%
-`P#
-Æ$®àÖ ]®þº+'ÞäÙ
-ÉÿK3 "D±Æôì5=8Ïÿ5,¼,
-YÏbHMÙ-=µË£Åá0¾8=/·9qJËS}ÀP¬ë¾m'0Ý=ªG0¦lãÀËâbD<®ä´Ðȵ#æúز0µ&
-¡Ö¥Ò×üQAL?E)xÝ"ÐÄßlAòxú5µ[Z&#£ª1 æêÀ¾`6L`r¹üHÕKBϣ̻S[
CNãÕ>HªÁþeN ")²y
-îùË=okuÄWɵ!
-.|:Bø\. ÐÒû|UÙÓæ{|£ýw$½y7ã¿]r·è}þ®ÉÀN¸nÅ=éI{`ùI,Úç¥è6<æIöý^5î f¼6Ê&§å¥µC®ãTø³ÕØ\áÊ"NDл¶W^CnSQE1¯Sr
-¼.CCcæ
-@õ¿
-4c׸ÐÉÄHÕ{1Z¸E
-3À/Z(ãYÎVD4f¶ºs#cí
-ÄÅe
-¸àª" 8_h}Hd Y¶\ônlio7ǧÕÀ±Î6+[¸ü3²ï6Þ¶0QÚÔXÖ¨{
-41RUÛ"bñ"¬¸Ú:Bváí¶HÀñ5%=l F<Ë]/c°F§Q¾-9L¤ÅÝpaó«ù*z8R´È÷ºÔ½<Æ
-
-½d$£,¼Îû&íI¥'pÿ|ËN
?Äè+ÒrùwdþfàZÐa2$ÍEU× E=ÔÌFâ^HîÕÝÖJx'Cut§2Sñ¡a¦Pa©{$Ø-nfA8tOê1§´põÇ»Iö
-HÄÅÒ]ÊvÖ>dÿUP½úÕCüäñÇgÇÂÞIèÝo1þG
-]Õ¶Îa
-¼Páÿ®ªÃ³&è÷
®£Ëá}D+ò
L¾¯mP÷pAjÄÖ
-#ËæFØX2;nß9ÉôÑ6iÆ$2åqW¨ï\ê´Æ¾}EXD"HäUÓÁºIÕÉvMºcvÕåµ`N<tK9áºÜ_èÙSØ»è°ôÎhr[vÒ¸¸êI¡ÊHܾ<Ää'Ï7BmÄ3ñÏWÛ»%¹¶W¾[-¸×2µÄw=c#zUÛÎ0m(.ÑPfMÓ±rËhäÓQuÔÙl¡1í3³]B.2sÓ=,Op¤ïPiGc6
-ØC>ûxµFNuIÞî.·m&·IÍ=dì¢ïVÈ<éÞOxÊS¦{Z?{(}c(#¨\òÈ0^/þÏ|àøÝðNQû ÷C~2i óÛݸÑ1ýÐ4YÛ¥àK#8W]ì|äõC¨zg@ò½@ùy6G*»¤4pq¾å[]²5fÄàx,µVWq
-1÷ÁØ$}µmÙRQJÖ¢Ñk+yX§àyª«8ûª¹og¿×Ã7Ø 4 KÓÔý8¡AP²WȧÍ(ÊMMú±E
-¿hhªHäãö:±Õ" Ä
-~ÿCɾ©åwÃé÷ |æ_¨Ôì?ù_ò`?eAyÏAäË$À]j³)«ÄåÍ9*)°FZVJH²/¾ü¼b5< £®°ñ½ðNÛ¡ÍOý:Ê oaý!r¼Ü+¯ÅcLD? XéìÊ=±I{)!&ú¦Òº/Pëdjz4¹}ªS¨7ÀLüÍF²ß÷ żÿñ˵¬{×Ò5i'If+sn#ÖÍ;;¢ûÔ~s¸q>/ÀE#ãÆüqä-§Ø]+LD
-µ
Ûw]Û;äeê5^¹UJx8Pøj6ÌhU¹Ü4KYÛ¶7)°6õ.)Q!2¡
-];7ûïÙir»~xRfÌÞ£á8N§£Ìæqä´6¶ ¡·Ã)ülwfhLucNCÿìÞþ íÈ# \O°JÀ}3QdìC3.lÒï4tÝQùÁñ½Ûl
-ý Pb·Ñ×¹
l~aó2ìå`&PPsc9Eèt\ úùòõ¥Ò¨ë ÃÂÛ:W
Z7,I8<_
É®cYp±ÁæÊÐ#ÑÎò®,&6A¤nÊP/¤¿ÖÒäF
óõ4Åq¶HÑ3ºïåt!ÿ-U(åäáª8§s¸ÙdO,FY2êéãXeM_À ¬;̹LaÆöG!u¿l<¢Ã{½b°Ç>ö©Ðê^erb¾íVì¼s7×w4HEY¡î³&pÏh¬»ñ¨§ý`ø
rc¡§Ê<>[ØVº5ðãljóñ¢øþrì
-ö²MÄX\Yó\¯VÚh[YÖî`ø»¥AiÐÏØÛâ..ýס%4½Ò9m{W]ÒÒD"g:nCWºjÏvD\Nr¸ fÁXÇÌg§èµc¼¼'Øê§Þtupí¸XùIý1ÆÛµµEÌ ª³.ûÙûX½mV,î$Kl0OM½îÅ(B2 ¤dâJH3¯µq{:¬ã~Þux!L/ºÔãÊPê8(ÞÎþ
-FÙ«1ã[5R8ø(=äXhÈ;
!DSþ0¦5Qܤ.ÊV-ëDzå»1Z$Á¿uÁ&±+Î`Güié54Ë{ÖoQ¼«MÏÏàýc$[iZ
-fþSYý UsÖ%_-"ÍÚg©+/L»snBdºM£a8*üõÚî1Ê|ó®ð§65ZÂY 6çõ¼©¹$ÞóPHßp º£ÑsðPàÎâ½k
>S#LÝ{#Þg*Çr
Ìjaõ¥¡fd
-È̵´ÃP«ÝlÖlÐ_zÁü
-ê\\Í´ìL3Á¦þKÄ]+yýA
-ì´1ÜÔPA>Ôy4 Ê$éwDV/ù~[T,¶{³¶v¢ø9^+L;û4¬ô4b<ÓÈ7Þµ< ÐËYá²:!ZshX#fÍ)®O;¤ÿqM4#vãfÀGXIeÙ[Þ£~9g»
-Y,»IFlØ8å;[Â!¥3MæX at i¼»~£#ú¯%$GôÞ8*éТë4)¾!¥yvÇôwh]¶ó"Úß?âq¦¸Çéf¦ÓÉÊS¡áåRÛ9{cUìó>,]
-Æð¿÷irf?«ìxÁm¢ÜÅTËPé¹RÆé1C[&ÎL?hê9º¯óg sát4¸äÒX4|³Îç²[-^q´SJ0²Ä²\§ëî/Æ/G¦.úVÜsv&n.-DÓ§øhÿsõVn
Eׯl\ΪÄB«ô ËHÇ@ù¤vcÉf´
-³é
-)Å!lím§Ù³¥§_«WnÑ6ù¸-âr5ØTv2Ñ Ç9ÂA¶jõ¼é:ïv2~éÒ5qHõßµ¬+1Þf9F¸¼HÑÑ<g⯼'IÎö[ép¢ÑÜÞ$$49fúÿÛ©kÀÀÆ7q/UeN,lè²ÎKrI S=C½ÝßXû¥üElÌ«)CZÖ¸×9
-ÿ£Q*lÉÀO>c®û±Õ)f^ÀUúÁéHµÔkEBËêúì,¢ÉOl>zWã7PFE¥UhÕisÕº ®Sx; Û²
-ÃaÈ¿M(ÌÜ
-'"$Ðc=ä
-³å4±ùTg>ÛI-@øÒ!Ü0\:³Äs³þ ¤Ä
-üãâÝcX¯g¶RæAðý|Òæã9é ľ1Úc}?cL ¬_ÃcסÓÆ tV.ªÒÇè¿9úÀLW3`¢D+{'l¦W
-÷KOsÏÅp?"£ñ8תä}¶o
-¿Ðó+Ü4õ÷áf¹èÿ5¿ÏJïNnÑb ÆÜÆPÿØß6ßwRç&m 7§'*ÑA4ö9(2~¿"âȺæ"ZÕ¹6©
-h£ÖVÛ$åê¢,DÆá?²»ÀüÖj²ë"÷Q¢cÎeð:>aSÖ®ÅÕ] üjR£éÅýf¹
-Ò8^©ûs
-¤½Ìáa§×öl»jæI<D5ê[
-ÄÂî¡tÕÖÂ(©êMá2pZ7L±Fov¨ùí°Võ&¸ß@ÖËæ¢wöa²¼>[˳R}z®- ò@
-ïÃ!ÓÃãÜøZ¸÷ýéð¸ÔV¯XÔæ÷ü{l.´¸è¯ÞîC´Èog8ùùÌÜýÐΰÃ*çL3 4h¼1lSI4 :¹d¡obouv°þ(ì$åY0|;#ÅÏ
íõT±)¿öúü¥Ði´í,Û2"±°ª¸Þv÷Ç·ÞD£µjï1$ãw%A Ná P®ïÿýÅ_Êom,rn\>·ï1¥drEX,Rg/
ûD §ÒÒDG%F-£çͲX§Ì2=h ÜFLÛBl¶Ù½¯ßrqÙÄYËè¤_9ÂvÛ
-fâ/x:éjG¬ïty]'ßkLxèêôAPO¸ÓQÅÚ¾"+¬,É£A¯D9]g
-Úï`ëÝðafcDÊôrET/ùRÊðÔD>M[A)ÑjqÓË°½Æ³ÒüæZÄbb|äYÖFÿ*©¨MÊnË}Ðy
-"¯t¸Çfÿoo²#Í 1"Íoº,v·æ²0
vÇ;þ9¯XØíCz9jXtòç7*5ä² rÕÊØñÃhnúMd£{ñä4«Nùì³VØ}´hË
-øeVêFVu2øZl#6g"c!±¤³|*ð
->,?öø^¯þ¿µ/x ð² lÖ!§xj¯AÁ
.¶ºe¯A|z5ýîIBåWo=©òn1Û¥)÷ð°^¯ô÷bþ§æDäå¥fuǼ¯Lbä Ýw®
-øX<^KÁÇæ
-Fýªq@X°
J5ÒÓ
-Üx®cB»z¥%ÊdÛÊék/ `µ«÷²»E¬7VÈùB :1XrêÿØ-Ã+ îm0 ÑlÆ µªÓÅv¸¿q¬¢IbÅóô-~dkÊ@_#¥Ø«
-FÄ®î¬Ã@ÆØßYðÝr_üåÈSàÊ×r§1 SdT´OFïôäÙ*¿B|~*tÞ4 ñö6eµâ%nªvbÎw
-UëR
-ÊÒJªâzÔÄ|æú2£/7~Û¡)S·IC· ë¥ÆS@W*§h tD«2ÐñÏj)Õ KQ©Áºà$:C×Õ]5IãVGÃæÔ`ùÙ¾L,CÀ¼éóQfÉJ7ø¯Ô@=Ü«Áoö9*é5f·ÞÎî;®Æ£Xø¬BWÒ@%*ÂMªA áôÐ5W¨Ím£YSßÎÍÞÔÀÜ~
-©h
B®h=àbN6X×t.¬rbR]ÍY&¿V×Hõ
-\RÀ¦Ó§ëÿav¢-ý¤ÎÄGѶÛNT¥gj^§=[VYÓæBkûJ*«dÆ~²ùÜIw^«ÿçAA.«8 îæjâ¯Oúë_JÂkfÞ«xZ~ÝP¬ûÌ÷íåGÄ>5tê³ )=¿¼¨" âÛ ¬«nG<q×wÖ¸R<^WwÑk04}ÞÇH²&ß Ô.^\ B¯1{×xý ºzÜ$©ð»ÊtD©ô>`Ù~éÝûEifQ§ÎR 9Ãâ%gE[ëÁýþà÷tcÏÞEu0èÖM#ªkÜ73õµå³Ñ(Ó3ãæ¯y6¡×â6*EvÊ¥èì®g¡Uê+®QÃð V\¸É7ü\ Äê¢:ªÙíÊ°<9ÍGÜ÷ë ÞóÚs ì2tµzSH¦9O[QBf«
-kZR 'ãèôÍ=ÊÂÈh´æ:®Æú4vÊ ¥ãbJ#Òèô XYõÜk4Z´F1ùàÎß·¹j²Ï¯±7ã-ØÃH|¯FrÎS;¦ZÃãRæÃ9¸ ÷ðÞ¢=î:áË^ÒY~2rêkBK}&tÖ2c7!^Iyc2Éûܧ\XBe.ø×æÅ0ÚhÍÔ©5MJG [sÚ)Ð÷´î*ZDu
-0ÀC`¿]îYêB×Ï6EO°¹ÐÑú¿ôyh³y³@Ç
-è/CDl&Anâå"_µñò Î\4ûyBÕ±ëÈ·ÿý
ú±rQòé·§Ï`ìÀlÏû[ÌÉsûµä} ÷`¼{ÔHèïF¸¼?@v
-(Ë(Û¢¡kø°gÏh x,Ý
½Éµ¿.zÔ»ïÑ89ª\t½È×/mÆr{>jÝÚáÞ¨ÖÈG´;§«8#9»«ÐLª89èÑ=øÊFIÜåþÔýÎ,Z×Ùe¨ü±bE:ÖÅèfÑ>þ\¯^PuDR&Ý??0È*\àÄiU|^F#ëí_í¢¹p`lý#'ÝáL+zÿ¿àÔ(_ÏÇÅuëÔsS£2ámËXyIP¤æçÝ_Ö8Y0ð³!-Ò·á>}ç «ñåì XäëdÚ
-z¨önNF5tq´ìVz:>±¸+e#CÑÇ`ß>
-}Y*PuZI¦u<Idb½
-E*oçY!I0-$Ìà¥ß¥Õ%¯×#×vÆÛ. ØVzÑ×îg>2¤«Hc<1IAyaý[=9è¼
-mXÿΧõe?QìÞätg´þ*æÒDÔ¿[âbWááKï>özÝ©Ì<ºIX=è÷¯µòø)ª_!*aÒ÷Õת+´P\öÁ%ÌIMûC?RÇ:áe§VÙ¯©v®Òu«ÈrnÒq¸ïÔdÒO3Ê$öºRX¤ç^ð²FSVPHqþEÉ'¯®õ_ã¯í44ã
-שôÀ}ÿB]6þIBt° X;ô´/»eR/C©üçÓ
-0
-»q
-/
-5
-Þò»#à5 ÙH\ô4¿ÿf&K¹gÏ{ }&'\.õ¦l_ÙáWNPöWf:uüצÔnu«!Pà:i ¤êcêQ©v@ª`#ï$gô«¸7°Vl<îwóS¹¨°»%²W@ÄVª¼Xw_ê«`ÚZb*_ôò=äï7Ø(ⱿDÃÀ[ÌÚþw° ITPÍeÐPµû¹»MØñYZÁ"²4,ð]1 ý|ºCúöhP`bxh¡cr
-!ëïö
FØïïLK¿é
-ÔrôveÒ¸ûKLñ¦éÊ䤢Ns:¿ØçÑÑÝ ÚÓþ6tSõFó¥¿ÂC
ÍøGï4
-Ù+¡ðÑ°£¥ÑÅ%±>uÑ¢W£ÌÂöãÇÿlÅRYcp¶Ä V#ÔÜZ,`ìî3
-Ç»|pZ:Eå"{µf+Ö×ãBeµ÷»
-Oö!þ=û$gµ6k}d¤Ã½%i;ñzúpÂÔñqàóGÙ·I¹KvP°
-æp7ñ^Øk]N
-»DhR)vHàÛì(·õpºþ¦4@?¹$º½uÞE\Yæt·¢P°ëgXÂi_ï¦÷Cûp:ÿPárÁ²:Ku#RÞùFPÕÅúÔö9*VÝÆ¢µÉÆ\ünà{üÌ1P>P|AØû
-%¬:Q¤|Æ\xÙåß_HåfËÍ¿fhã¿TªÁèJ~r8ó½yø~ù÷)ʨ "¹6éGu*O8<ýÔ
-2Ýk£Ö¬ÓýeíOW
-68U¤ÆYûW¡r>¢ Kg6÷OkóYyýXA÷sãÊ
-¸PYü9 l#øÕ?¥ßõù×&ËiÆÇõm#(5¡UÎOHQLý;ÕîL¸iµÍq¢ó-ZÆú£Á¢C¨0¾'JYI¾àFË®Þ×jGämë ^奣rMsñQÉ
-@¤tY]U£¼la»0Ç)Öó¢5u·®¹t@¥ÝÅ̧hÎb#»Jv4\6ÔA¼¶AóRµ³bÝ`9½²Ç0óÓëOAayFA¡ÝÜBðóÝ÷°W|Ä&X=Ær0&8$
-ghÎaN3h`&#avz¼áOpË(4?ÌeXÌg[uÎTký¡¨öÜêt
-|ÊÛ÷cüêK/Å=aù°~ÆQæ$ÅòMv-µ~¼ËÚ0á'\ÓCpj«Üµ:Ø ÌûNÄÿSN³¡×urÚQ?0ËÜ;ÈYøÒÑ8²¸
-Väñcë¥,abòÙê8¨bHÔO'â[Ê7oD¾[º&rbðÖuÍü!#×BKªR®Ý%" ó»l
£=Qq(Ó"
kEU»ðÌ»qÿg£e¢Q3©hTìáhì9-BhKó
-öCÖÆ?¥6¸ßJ'Gºjæ¹T·©r¹[5Åìj\|æxPSÿ9b¤¬rJj2çNK_7NòË<j¢þ®X µÎoÛØèàhëé²¢\ÓÅnß*!DÂze¢ã\¡´L*q
-cï¯ïa¿Õª°fç¿5[ÖÕyC/\ÿd_§ ¼éW-*ô
-~æÜ£3äÔuë
-OkíWÁÙ¯D|0^qC)kãêSàëÓ²øk¿/§ÁTÚèrß·4ãfÖ¨_Y&uÿq8~A!äɬàëCc³yÍXتäÆYåeÉå˲ӮÖK¨§6^~UúÇÀê¦üJª¡t=áñ!gïØ®ÃCqOj®Û-`T ·ÎßHYÙvÃ/uÜÓEØW]Àì/9#Rßó4G(@
N9ôÎHì*JÄ\Û¥EéªíbËEsFÒK!¡íy·\m#Wo6a@yfÈDÑýn!ÀªøºÏD«¡{AÄ- ½(JñÿRrö«ÔLÕíÁæWK;°Í"Ó-¯ luÄqérÄìVl¤¬
-ñ]äTaTÉÁ@i¤EhOµó%îVÔ0:,ÇxuúfE>Gÿkx£Þ¯
J»{c0Í>sݧÒpÉè¾vÀSĪhèþÏnÍë¾<uËET at x h¨÷7Í`Jðcöç¤7ó %íJUµUC´KÝV²A4ª´æiUß/kÍNÄ=Õ^ö$ô3qp±N:ÑÕSy½²Æ[G¢h:hkc§£+IUR¢»m|èĺ¢GªZDÎNæÐÈ"Wél´ßMÞ¶3Ö¶4øÈwòz
¢®{$ItÿÊÞP1J
-¼©áC¦ adNÜÓA÷Ý+¬VP]5roË̦angê>ýUýST`ÒæºðP½A
-¼p*©ïñ¶¢aá!ö@ËÄ
-Q54
-?ÉÅ| "æË-o<ú
-Àaÿ&'ØÝó-:ÙB»»OO"z^êA)Z©×K¤ÏM9KÉyÜî9åNkdd
-t`êMp\üm·;8,ùáåÝ:ÂGºÎÉ.³
-Ö´ó.f8?X^ÉQ%°±-Ï÷:IþÀ/
-ãSHç§?¨×]ü©Wqä[ÏúÃdY~BÔS~´)·¹á^Ü0"ÓÑ×Ò8L
- ½yGGyK*÷Çп]γ6xwV
-ÁQûvµO¢|=-ÜV±B¹:E7Ø*{¡s¬4ì\E˧M¢ï@lM;ºXl?ûgo9f8I5jÂÿó5Ò, äÇë¦kÉ5=ézÖä?T§?UÐ¥NttÍ/iúÜYÚßb8æ:µÐõi
-HËô
-Y&§¡ê¾op.yYú
Y@¨D·xû<¦"-2<P{LºñÎJôÔ§´qåïæÖ
§HìÒZ8Ì¡ÓxQÐrî¶ÑAbÙ¬qQ
-C×øÊ;»ù<(æúxF :OÎz?TH¼¤y©¬ÆX±]f8ÄÛ9èmz`ÚÞ½¤jGßÿÙVo.k«|BÞ·r*ëÎüóÀ¾A}F\Wÿø¥Õ ¾±mb?FLöÚf·v%±!xÎsêÙÅ0þÈRvºtŽJO
-ë
õÒgBò!.R¯ï´EÒ§Rγüv±tTºD^phöµ~êzÓÇô6äM´@λ-nu×ìíRï¿Í7ïÂöþÉ]rõq79Åc«br"Áç×óSÁÈÑCÑÜȽØÀ1ÆìreØ4øH3[¿m4ÌK!ùH{¥b׶f*=JTbõáMÚP$gÔå
-¢¨ÀþÔF*È~¿È<0²,1(ìÑ/Ç¡`×_¿½=bUsïYÈâxU5Èþ£-
-%kqÐÜèï/fYÆ{Èx!ÿbñFGûv)Èm#ᨮ,nXÌS\¶\R=)/Lhø$-Ñ3Éñ3"Vf
-2]av«Å>Ë, }Ài6ܾîÿ J0î72wmÜ{ùbêÜBUh¿JþHÅÛD¶¬+UH×!¦\5Im¿¬´¹ýêdsÙãõ£yÑ~.ºÏ³Llº½$ÿêý;
-£¹sÈøT*(jáü£À8~3ÊÜF¢_ÝâJA
-®&m$%u¼þ¬ú¥ÚFt³£QÒ0ÄÝS%*üóÝ=&Éññ:;˵é# Íès@\Sé:aÒ¯CÉÏ¢¬ µÁu¬MÏ^µ³½ 9·d>Ï%B|\@uÔpl6vý9ή¡_®µÔû$ÃûüEJ>Åú{t¾åÅ«Y0PôdSe«1ö«¦-À(¤ÆöWÑqÄWÖ¥Á׶xH
ôï
-äôª>
Ǧ6(3¿ÕD°Bëc¤Nr}àë43xevþÄÊ nx-X%KÊ¢«äÞiÝĶr;Æ@ÉhC¹O²n$!µë0ãY6×G¿¯w$±õ°Ã°
ú1è0ÑEbØyF+°£+¢éâÄ_lY!ëùMÊí:!ÔRX©QEM´hè:ÂsFðÍÛO¦Êî·Åµí%
-ñwïÒßíP û¥¾jIÓ *6<ÐÁÕ mÏt)³éáåIÕ
-ÂØÏó%Ô4ªÌÓ ½ìmÛã~m¸p dníbw]yØÛ
-·ï
N1@ÓïHM/«eçË7¢êoäkgZ%ücCkµæ¬Fb0/ôW5©8cÖÝQ*Wkµ0:¹rZ
TÔÁæñ]nmwh¯ëÜb1xKãÇÃM+gUÀã¦66ó·¬{ÕWÑ5¤uyý[ÊöØYÝ1©!Q%²
-pÆj²{8¢§F)ñÀï ýõÒ,cÑCW&¢Êo\£PwºÝÂê_¨ØýÿòñLì«Ýu¨!=1Cëv±måC
-ÂÙke<ºdy5£´\Ç´Âd}Âýc_ö'ªVé¶Vj
-$ûùáæð¦¹
-Õ=÷KëíÅ/ËêñLMØ\-ûéÇÊh³'è
-ÞwøKö>hXí\Ï6.ÖUs£Ñ6Ö*õ\ÛQ)ª}qGt|e}
-&ܧ®:i¯Ó¹î²´Xõ0¥DõZ! ¢!Æü
-
-´ä´'ÉWÕÎQ¿MÏ
âéöÿ(«Pt
-«Ä² þÚ@ãÑìagV3Õm~ë²±¸Ézuñ
-gÝw)ýÉÀa½h,1 J«|²>ç Ý
-È*?ÌGÃKmâ2ó*í«ÀcáôöÚȵ{×
o4(gõyp=vgõçä2¨±I?!P9)D¿~^ÌÃýòÃHÅÖ5ÐÙÏîjJÆ;^dÛN4<¹Gt<qW½À=äuE:üC6öØâGã¸uH+£0Ç?\ÖVÓqlb²º-´ÇµÁ!;;`çÎû-E¶BXö3K]9§³¹
-ðØf¼æ¬qïÀê\²Ý÷Ïc¤7»ì{B9°ösiªmÑôÊ(Æ?öÊ¥
-ª,Í×aL´íW±S¸$@,ÈÒ¢4ßQBýöçHºõ\y u1 í¡O8\N9V©I8s½Õ¦ôôÊôò~DeÂO¦to,´æÚ¤jI×a¤ UVF)¯Pµo-ÝñÆé¹|¬:ñÁ5ë{MX^Þ®þ×pÔ§§ÂAüë¨ÆÓéý2þS@½Ø×öÙÎy>ÇÂm©³ú
-ßjîñ³?êbÄé¤S%Ð6v
-Ê}IDª
-(×5KVÉÆù¥øÝ¢P×áIúÅeDD¹ÞõW¸ÓÏ@47
-½»
-¬ô4ñ¢SXéY«×÷G
-ºìu¯úr/sÒYß@UË×3Wü¤Äº(
-XÈOñtõiZÊOóöjXN#Hy0Ôp6Üþd§%]WUØ´Ú;ûYâ-æ&§;Á\wâGù¯A°D6̨bÊâ\=¨0vÑ.NÐ2W×fÂ|öª¢¾ò~ÕYß?"*gøÀ¸ÖÒFª5#,-} ²Ä|ǯ¹`áA9v`aúÚ16|jaì zøÚ=6òm²ÔSëÅ&ø;춱-¨ô
-ª|ÞűR*ðÛ
¿ÐÓsPÚÚ%
-¦¼ZìO$õÇ]SA'³5Ï7UIþéô1¬-âïDè)j»£öºjnlo#0X_
-G!237rÞøÂ<
-è£äfUÇëþ th4åèýh_®¹Gñ:?9ª0¤åÌ÷«d<vØï,²9QúQ
-V Ù¸JðKJdwÔ
>åXv_s\HtÌQä¿WKNÎJÓÁÎïXTǦ³9ÓÊËÛ²dfÓÚ@Äè Rûf\k<ë0á¿úµõUcxxà7w³¿
-r0RæÀàñ©¸
çÂïC¦PàÇm[U
-+Áø©wüÁǬ¡ïx7Ñb¶ËÌK:2ÙatÖ_åCòP$L^tuÄú5q h»Y (
-T7ÑYh|@úDÙ±°%:·¤º,ôSÒNXkUf²çqyî@^ï- Kã¹ïuÖP¶FMÁy±ôµÞná>ÃÆ
ïËN³ù'3ÏA¾=Ôwµz+¨ÛHξy}/ú.`/,<03PhÁ&â:(l_6´B²Mà²HD~#QÑÓgÙ#¤ÕÐÌ`>¤«~í07¦NJnRëÐs2-é´l+S!¾UúHeóÜðÕOuÿèwî»Êä[â|
-æ|@61éa\dáÙ máÍ(±Ê`7(Ú½ÇKT÷[ûq±nDªû¸É Ðjßtz!Rÿº7/ÞSÅ|y©ÊÙ°jlJÄhÄC-KLz/uh½Ëóî1M£ãÂci"3ÊD¼¦ÝÑMÖ2º6¦F×áîÉhºJ¼G¶Èåã«ÀCaÓýܵÏ<
-®W+«:¥¥£eý~7ϧÙê*<OÀ1Ña<Ø"þWßçà~4öpoSa¹4óï¥+P§«D͹¬ñ õ¹ùgÔ¢Ms'Òz&h5²S Z`üu"=¶¼(ß콪ð.|~%yÆBäÙF}Á¦?dUzá'Þ<j¬1ZAmïñ<]s
-3&ÛÔ±ÛGK"¨ÄaúFçîk¥=""PDò¿0Uc5¢½.
-mKûngMs)YÆ.$ÂhÝ#$Í!õö½ÎcEæ0;!Ro®ÌíËu=t
-¤}ä®ÑÓZ1ÞWÒ;ý©¹Ã\êÊj®\öÒVµÆhWè6I-E3«fÓ ¨±äÞUÚz[P(Ó3AÙh§ø{ÏÆþÎÉ?ü:÷i`²áó!ÝqÉlÄE/ÐÿÂAÉòÃ-¹[©_áÁؤSA¯yî¢Çu!~Îùbx$æÚA¡·Ù.
-%Nwïæ ±¡1rµ?RI
-{[Ó{zjÔMôº+ôÑ{òÎf³3Ë14~F¤7CVÞ ûêfïæ´pÄe8´¯}Ø+ɮϹ1ÏpÑ´Çn2I4礵ª¼ïÊ&j´mìW8CYqƱãdÚ>CfCV6`µW>ðÐö
-Ò!Êf©»ÓÈI$u?}0j}ïdËé-[[ûß«*
-Ý1/+åtÓËEêDuy7Vg$E&ÔÉy´IAÜG1
ÔqÇTxWuÖêv»Nþ̦*nÊÖ¥IC($¼®R(±9Öa±XÞ$áî~LéÛºe¾¤NÅ;JR Á|ÏôðÂcªéCQ
-qã,òµ[Ïf`tÓ½yMN2$8OLûuØz/P_)hq
-TeÖCä
-zÂkËÓá¼$v*d
-õ-Bû
#áyV4¡±y,k
N)°üù)ì~×'gëq(¦ðøWKVb`úY×5
ó0*m'¶T?sÈ\ßëðõ¡'«íhò
-Õ²/TÙU»/CGR&ÏÕiÎUíã/¨ú¦tDo8L´
Rÿ×\ ·&&ì&ì£cþ"rG1ëëû8¦ÔD
XI»ðí-,¡\O½ED2<®º"
-»BïÒ)®¡t«Áø=kµ§ËÉí]<×ÈrH3ë´B¹=g²¨33^îßµ¾Ôµãaø²
-¾tcÁ/GùYä~
-ྮAøvÞ*¼ûŽ41?ÜfäJI
-»
-(^ÖÖ5ÑÁÑÑ/¢Ã±Ý <~-©õVË «j «sÔ
LQ£L_
-ÖN+£Û8×9hJCpÑ
¡h±¥ùÔÕ!páHV¦D+úég:
}$ sÿbøó-aB[%ð\DÁ- FkrÝÒßP/MF¨) Lqczó£¿ËÈÐÎl
DwÕ7:@Pļ¥Õ^2ùv¡gâÏÈV|R°Y@¾Í@
-* ßr¶XÄ!±c:ÄÇóö-¿Ýqoüc&ÁB[J<Ô'¿YÔ gdn~eåc^Ýè3EäVÓáø@ÝÛD>IÔ_ìæ³WZÁÖüÜ9S(Ibð¸9 ³â±ÕGVË=Â2åÿxÄ£ò»ûs½±¼ÒýîâÁ{ùhèncqS[é2i±P7»RÆÇ %áx½KGÍ4(ýv:
-å
-ü1\¦
-ÕÅ·àRZQ¯W©4yÒb§Í+¡S[@ÂçÁIç$7û´äÐÁº~4ðUhn1õÝâغÊ&³pLùãß7Îê)|¡Èb¢
l<i¬oA¶÷](
-¨SÚÁ*´F´FÞõU»ªÚ¦ï¡iUHæ7ËfAâ_Ìkf¯ýW5¸êQqyN°u"åAu´¢Ý;ÒIDiÔ>pU,üFFðsfJï6W¾IÞ·[ÀµÊ¡YÿNv¾¤8G=϶¥9@Ô)£]°hÈbñö¨e¸¤.Æ~õ´½úÇ
-²d%ß3Xd5òRõfY;ôå¨-!BO1!ÿ9¬OJ©MFM{I.¹!O
?´Z¤¶û^¼uJÑQ¯l$P!{>JáôsÿÀí`ÜAé
-ä¿#¹P¤xíKnwÉ!ÂÁìr)Ö±$k(ÆÑÜ]"l¥©ÁAPVhþCÈ ,Ø
-BK¾=v<ÐF mF
-"h¡îb!T^ ¹hk5>Xåc³L^ÅjP¾¬g;<
-lxp,@ªªÊ¶Ïé#-b¿Ô»
-
-Z¿¹5X'ýþüÖjDè
-p8)Eg0ÑÁäè©Ã
4×#ÏxÖ-ß^ÖÖæb³oÇ"©ôû+øêbuáÄûw·ýéd^ü¼C¯:¢¢®~½0ßuDú iUÏFWþ,÷§k NÒ3é©ä9åÁú¹ÐFH«¯K]í ë-¢0Ñu°\9·×>#Gs+5³Xiþ>ý8ôɵäÎBcsº¥}kûu&ç3¶âõѦ"M5L,
-¨À´[RY>¤ô§^2À}È5c®-Ù¥8Y¬Wp:&ò©Iùf
jè PølËÂ`Ì:x/xõðç¦YÀs ë¾¥¥>rj9î#~
-eHÚ[QàLöÛÚÍÄÄ~(±3+°Ë¬D{çÙgàª!]·im<ó6=p´[«á%¦°Ùä¬ ïü£Æ£ÅòpâúöÓjPÿÁÏ5MÛTIýîë9íø_ÝÄÿKhز0AǸ½Ìót0o¼eY§1Eä|~s~èÑ7Iw66úÕ)ý·lÉë»!!¿·½:N@¸²:À:Óu°d¢ñBå&( ¨: 2ÌP¦GÄssÛaÓ~ú¬kVô¬Df)dçgì`VÞÞærð!¨¤½±î©]¸BWÔÝ{<-O»¤¢ú¢´¯¨!¹$Iã÷ ÌáÙÿg(·,5üÖù¬3=(\ !%¥Qz»Ó(?q_¥½
-y·Q5ɦԡ]¯¸·s´ÆÙüt®<¢=I~f
-u¢TæÂîðéÂU8û°ìàêúÎß~\説?dÓH³áîgUUtEíï§?_ø>ÃLF¸Kdç#.ÆZD®R¯á>^'}dT=^ñx¥s×Î9Á<²qDÕ[híÍg.u~Ou:]ÌhàÚä\ÅŹ}6¾Dj 'ªÆÃuäa¶Çý|Ze)gÔ:H¢ö¬±{ '2îçqÛ¡·øÞt:xdc#Ѭlýª£º
-È_é¹Ü¿h½!Å
-°ÊüÈÑkg¥>#!Sþ¨³¡ÒAá_íÒl]ÜÀJ,:èÛ[ÜDåµNɦJeÙ{îÔ7ÔëR¸æ@{DŹ¼Z2¯
%ÓdB¼óÇ[[
-e~9Ê1t¨âDñ(otÝR))¸ó9b"tÿrö[ay?~Îó13$z÷
ªlõ^ÖXÒÌAë)é8ÍO1rêì¹t½(=Ù¶+àÛ;À
-ê10Th\M\%3
-Pc(&*¢¼¹k ¥¬zÂm¢ÞÐè'8ÿFÑ¡9hèæp¸ÜBMêB
!
-2«>¡5¤¸öÇV5û56C
uåqµõ¼¡×Ýê"k-ù¦Q©
-¶Ò¤ÕsL>~ÿ=¦2MEM
-
-ôK~éyÞÛ9yofÄ'¥·g¥y¢ûk=P
-Á"PÚÐ>¨e|±ü¡"½}«®_ô³5èÔyÆÝkÆs ¼ÞTô±3¥¨ô*ñ¬« fË_;g7}?ØõÛV3
-5÷¯
-i
-zqå÷ïÌ÷dóæâ°ó&{ý{±yÂÞ£ÚÆ´aZÉÖ*
²]|äüxõÖÍÖép(§û3Pz¸àfb½ ·¤ÔËDð³^ù~.ãÈo¾(ÔâÈ{\sö1têÜã9Ï]Ä¡È>ÍEÝ8ðSDÎvYT
-0I«j¾?\Ôi7Ú¦çÃ\è|÷ò4$ɪö¼rÊgA
-9ãFÒY>
-bïî&·a#Ñêt#þatÓ-e¬¨Æ]d¡ü»RÒ1"àïT3e|ü*8a`7(ß%F£½ÖÛâóðkc]l">ìÝðWò³´F¬cLäçäù´oaÕ£\nÍá
-ÌYÅîkÁß¹à BX:¼*.6QÅ^
-Ñ\þj&.2µ²^
-%«NAk|ý²<ÅT»iNí»JB4fIë¨&ò£7رÝJ6Égb¹}T¶2îD²¸ÚÔE«ùu_A½Wû:ðHØ\*
-Þ_ÕFÜ`Xº6óÕö8ãÑçÿpü
E«©ö¬±~ÌI¥E£}§«XHNÞÂ@û_Hën=n=)xn¯ßùä?:xÆØYçg®Æ|3EVj\:¤§®,ûºÑ`32}Us4²Ù'V\áÊúûRª©s÷Ò×I&ÌðäZÇÉ
-©jÓ]?cÿK>Wü`iùOæ±Ç̨{9»Âá÷4 at e¨LX0òX3ÎÊV»ÏÎØ=®ÿÝAuìVtí^~Ô &cJåKIÀíB°ßN6ªL2Ô['«59!ë.Gà»Ì
-Ê:|^t`ìx¥¶eIéÂZ"ÿ:Â϶é
-Í{YIÃ]©5yØý^z ")M
-©ùI¾Ñ*]³ÿ,¡wÂ,¡¢pl gç:@êÅihbó)»çs6
-è䬤cbî.³[oæã§EoÙÅ£ÆK5mÁvlJCkÏèÉùQr jg&à ·KSkÇÃU êQFúØXÇIZú=X}í^ÆU{PgÉÀÍ9ec³>oO½èa¤âöeT^Cï:
(tLUÖOYúÕXÍSÜN%äQÒYCñìÅGnÂl9ÙM`í
-ºòÊ`~5¼|däB¹R#4ÑûF}9d%ÿ¥©¦bªá7®ÿ,Щ¿¯4ù¬5-¡Âêaã}0{uzgÿUCkæ4,ü Î
-
ÏäI¿äSZHé¬öL ̹ñ£5ø& ]âPÿÎ{æûÊÇK
-Kj7Jô¬_~ÈøCO
Ùà¾ÃYí
-àUÖ¨
-`$$ºóæÆey`Ð73ó+¦!?8Ò&o±l^ðÂ¥ÙàýÛyÕa²!¡
}§tu7a%^ĸmf3(¾µ<ÕÕب5¤çJBÞ(ÈjÅ *¶·ZJf3ö§È¸>ú®þrJ3;mT,ÇLN0a)?J»{#Õæj¹? 5ÅÛϧ§ã*I?ÁÃæ[èï¶zág» Tèë^³¬yn¢Ð§ñºîÊåÔýÖÏG,»:þ§EÓ\JW®Ôyѵ+©?&®Ý*tg~6yEµ,Ñï{àÛ%½àXë#uzR\ç
-«Gu¾Ó?ò£uþÏ_x²A"ìê!N>J1¢º[7lúÛÁ«q»¡V½ÕÐEY 6¢i*!ÝWX_7twWÒNC³ËrðÐ)µp÷ö3Ô#×öh;õQÌ÷ZhIa"¡kúpܼüâÑd@²zÅón£f'§
-C"U
-¹qNd0g$¶QÏà.
»
-G;>xÆÖn=ìê.§9ý\·ÁÅIÏÇ</6}¶Lh?á>3~I·æýÿ
G8ás$Ôþit@Ȭö$]4?ûWÕÛbóhÔú.@·]DHØxs ²æD§æ(âÙç£ç×v¸y3¡.¹·¨FG
Gä<®Z¯rX\¸Uí/èý¢8_ ZMZU±øDSE|÷nÿ&ÿê8*¸ÂÃê½>̽îRo¶ItÀ÷;`T¿Â9ù³È§Ks1Å1røá$yÐ!VIÂÖ
WóWËëÇiW2®ÊLßrßAº³xr?I½ãrIª¹»uUêôZв:6<«MààÄ¡m[ÄÀkß~G¼v/\A¼É.t£ÆàÆI ýxpdÖùtE?±£QlÝ
H
-ü õèÞT7Íarfz^6¸g©ð²jÁ]"aÛPþ>Wrù·rQ.¶¿ÌV2A4Ëô'ªkábÓF#w³àÕfÑeC
-nOÅ·¦>}Q&áöÃÒu,üð':Zk÷x®.
-ìjæÞ×ÜçXvvÖ§oÅTGé¥6)f`LÚñMæõ2âßÝù^vÞÌuÕ+ÛC¥ÏóÕïÓó;ýRFeS²hÈ=VbâÚ=ô{Ü%Ø|ûÍ}7[0+ÞÇwÆ }ZÕGD¦rÄÍ[r^åbÒ®.iwÙ¡ícákVM@û^ÀÆΧÖûÞEÑu io³w[íuåæʪCëèå=4L×äÿ÷Ô[Ïíèá=&ôsoú
É-éú!(d£eÌUÞZUu^oÓ+¤G·/Ù\Ï[/ØZ.µþ
ݬôz*ñÌͨhÂí£ÁÊÁÛÚ¶¤,N7Ï6"eÅxÐôÝÈF@fõ.ëø Lí×BHã^B<"rÕØ÷¹
kÌf]ìôµ§»4-ëͤð¬áRcùÝHé}j´¤<¥£áCa)¢Q!¦äðµÍÐ
-Å"÷ü¶X2¸[ªûªs ë]1ú¿J;çRJÕ0W¶1ÂË·uÖCÏÜË\þ$íöó¬5¢X¼1oá/îR)äÛw
-ÿ0îç_ºí³^
-;¾ÿÎa<N¬`~m®ûXTþã©Ü#_ŵºCtÉÖz)´øô*ÝZP/Þ¬F¤#ðíËú®ù¢KÁPÞF*MvÄëI»2q8kÖ¡SÊÎ%ÖyJxRº6x(ÚÐ'ª'D¯slðå+*þ{kFiª÷ËT)qßü,c[Òîß_§cØëú"¬½Ô}]ËúþDp¸^4ï6;«¡ÄaÍ^Än¦[¦¥ÝÄZ¼3ÇÆØêeA´6,._18:û<I(7DP!Ô]Àá;ÕÌ}ñkP¢aüvwwlB[ÛQq-ÄnØW}ϱbQâDØÉC)¼ÊÚ_×Êߤ8i*0ñÜ0G¹|ÂüU)]è «)\ý
taôÓ}ÛHéR×d©éϱéðíjÙ| ÂXF²OnèN´ïDÑÞéPû@*°´T.º`ã÷;Ûâ©prsÓoÉL¼ÈWÊêÃF½áÜgv5Íý ©ÑqáåÌ»
-Ák`RöØÇ°<çÌJu{(7åRÏü¸í!ûív:Kz_=È. +¿ä}õ}(®Dbð5Y¢ïº¢Ó½Oqı¶
- ñÈ«ü¼¥âEÆìÉoHºýâKrÉGîIÁ
â½]ªUíñ.Íxä|¥çQ$åPMÁM
-¥®ÇÀ[þ]/ͬL$´l*ä(ÙPáEGe)^¡NQ× Ü[ÅÏËUÄûngu¶JvgÂMmøH1bÞ
-ÄÔ ê:ëÛÈ{{À!ö7û96 at Váõ^ìß
-Þ§(Pm©ToñÈôå:©6((toJHm8fºp;W8öAÈÊëKÜÃý@gcNÐvJ1»Ê"hcM¹Ù|¥Êæ3QݸøTL(Ýç[E-tÐ
-50|NN]ÚÞ¿¤'HNéÚ[Ç8²(f?øöiy\ºÂóÏ+|zÎÉ[
-lýCuçÛDeÏq¤tS-¾û}æk!ÇÅp¬Iç1h
-HÕíLT>Ï*}g
-dÏdáWàÞ¾Ð
-JMUáêÄ°¶²ö+¦çw£EÈ\߯ÁÒùA v·CTå÷Ñ.ö\*C¡ÁIá03µ¶ÛÔ¹v&²û;³'ìA9w
-ò¡bYÕdúßÉ?Ýf¨eTÀèöï»FKf`-ÿÀ´w_·ðAéÍ)4P$oW¯(Ã6ô Êsa1êz@*áßÆ~ÎoëÕ;}¥ÊT©ãNÿÖ&Wõ êvw:çJÔøùî1ÐôÚ,ì}RA
-÷ð6!w¥?3èÐ}¢¥d¯g7+ì´æ«å!Ò AE²ÛÛÀ»SdqXHGèHÛmSÞ¡v8UáKïÙ[úû¦!ÂGÃÊÍ¡S´ótp»7 ¶Skl&ót ù3W[«
-ÌéW~¤¬^"öEJkÜL£#ßb,¸þÚo·
-©5¢{_®»Þ
`¥Ì..åd¬oÊn$§s «$ß÷ß3Ê)<óî{sLÁ$\ãx¼âÂÏ0úQB¹(WS¶úMsBû*hö÷òÒãý(fEü/ÍL©øKþ]úe×vxâÂ¥ôs
-°aGs]×·×gü>YÞîµC¾ä]µå
-y± ¶}`Q²>ã1<#Í|}63,û©Ø
-Nk©_½=ì '§¤%¬/©qç'@àÙ,+FÁï|Ôz[lRXSåÄñï,ü¯Y£Dë¬/)!tÑIDÛWsö`{.4-A³)Åâ|,W±lª)Ø
-ïp?åý~Raih¥lά§ÕÒ¹±y]s&8VUëdÇÃÙ.©ÖmXnuØn× B(Õï$ÆÏÝÓ'`ûZê£Ê0½
-ÞN¹oi\ɼ®6V8ÕÆsx©ñÉ]Ç^Õ»éxí,GO
-ø¥!ùìfí¤^ð¢&.C8
-SAJxQÀüRú³I{üJZ¸
T3ZíÖRaJ<À»=¥rö7ÎÍX®¤î²66wRÌVú((QAû<ó$
-H
MÌäǯ1¹Î|
]ÏHueêvyo;.þê0 9Ý0|[ §T0HÙ¿ªMúÖ.éé(sñÝßuÕÝÐ*:Ë$ߺbçÀê0Nx̯UOÄcÆRS´é[ A×(ÐüàÌÈfñx¶Á]0¾íãs÷?ð»l½0
-ìÚÕêPH¦AÄ°aϵxívØÝ
-®öŦ Ùî- GãoW»8L7ÇYòÐÛº
-ºrÈi©È¶º5è
-}°|0O´"-ÿð»ÎzÖäõë°RÁôO®¹%\PáÜîÿòv
-¦¥û«½ l,ö©¤:8h¦ýÓñWNMÛåñÓ©'´¦ZÆk:KÙ-ýî0È{z-,n[ É\íýîÆ]{ËÏvchõâ6" ýA~¬úb¾=L¡<>/![åF%ÅC$Õ_JW{GóBÃKÚ6!U¹¥+m/QÔÉxÉJüs$å½í°·Ø·OP#B}e6f
ð7±Ø±åt?Êw,
- QR?{Ø,ý®§
-È¢DÇײÔs
-»jvu]M5èÕñ¦_+\|gßöb$¯Á¬?èÑAJ¿D%ÎÃ?
-bEzÀv Ñ3}V´øóU µÙí
-®¸·5Â'rØtnr:8ü·û¦:ÄEºgþÅ/XßÎ-ZGé`ìGX;0ÅêÄ¢}aÙA¸çÝRK@èd¼Aë
«ÁAÌ?ødÔ¦üuF78²ýrãøߨQsß}DµNÒCc4.£<ùî;Søhm8
-© "ÿÝKZî;ùº·Qy?2mA¤Ø³íÎYè÷e²Ç&¬-ã!;s*ÌrÑ®ö.¸h'º [a¶®Vb>dKðåÈíý½ª8;éVeÆZP:ÈäcHO¤¼§úÁÂëyÒöiGslá=yÐÖvIK
-µôgÊ,F]É¥µrEÞûW°Æ*»@ȸÍ<½¬K¯ºª¼ÆJ^'«W»ÆÔnm(Dpå,×ÀÖJ-=áîRþ>rÐqÝ# á-Ä£$f¦ã7$âQ¹Ê×+çüäéí²Ò@1uËWtáµ!
-ð2^bö'VAøé?õ§Wx±~¬¹QÊ~&½Á^51
-Ú C,éaÕïGNfU;²JVXÙIïu ½Í,KiùßÆ ;W¿úíÌy;Û
-KP>TM?;¾ MGÙ.%óÝ÷$é¼~c¨zj@þKIJäj¾ÑS0FÓ
-súã§r½6|± ËÝy¡j&þçdÐó1+ _Yß4V>ëú>ðï]:qÒX!?ÍçX
-æFæï9k\a¾]³äù¿ëkE{D 2«h\J?tDÅ
-X0ì#ýü7Økqè¤<g&Å%§àân'`Àÿ[{ø
+AÀwÙä |%øÁZú=Feà#5Äbng&±B¥sàæ"àFtdW! ÆD6T(Q7Ñ(´!àg6°b²)2:$UEGW~CtTR'²,ÛY~c;²êÓÇyÀØOä92òÙÜYa/{ðÓVäÖ HUìõ&t÷cw¸½º»ï¯Ô
6ô·MH¦hµ*@øÈ1¥5%¤¡D
++* 'I:P):jÍZs0RP½ÐÁ
+Uòmã£}p#apo'Ù!U Kc:¡¤WéCâ+'\´ïVÓS²es3Äsò¥<G'
&9k07SÎÎ}«S´è V7©Ì!uà7QÁPOL
+DÂxX½7W@
+)%cÄ\³j+ûÆ5d«~jM¬ù]2tÎ87íÃÒA
+UÁ¤`"²¥VãdHE×7¸ac"ößqýPi¦íçâÈlê*R{ªÂ* ñ^;ü&ï(@ANí}sWRu¨æ©düà¨à
+ßGj at v>»;2[js3¤¦ôªðÇʤ@
+Xvæâõs×u? £5%ÐßBÆCêDÆð!w
³R(´þñðG¢ªñe*×ÒûÊBí`qE×VäË8ÕHQËwÀüâ×V}.{fd`ÚWåº=*N*eÑgD¬mèÙקaÕÑ
+ÀÁ²ªªiCÛGòP9d£Ötò>¼N¸¹þ?k=UÊPXµ
+WÊX5̪ºßØÚ)Eö
{"ÅïS=úôáS~Òác©Õfüj^\%
+Ȭ)ågÍçAïýY¦Rɺ0úég©NÙ)VHZ«ÉéâEG#sPÚ¹®5Î:¤¡÷vñq%#¹ gq½Ã w<>î[:Ñ¥çC³ïªbÒ[@ë²ùB«D%³Ô$¿ÌöÕ>Û
+ý,PI¦Û`à ³$I%òcá\%w¾Bc'Vr¤êä÷äJiQ2êø½µO.ÏxäÔ¡
+]µë|×$3:¹AkKN[ °¿<Fï'Q]%táíNÍÔÞKIÉ¥åçâÔ¢â©Êl±ºÙ©[ÛÏÍáé ªyí
+Tª)ÍJ¾q<ÙT>ô-ñtH]¢B=ÊS|MÈ3]f<ÓÑg´íI¾æ¹ô¬q [¸©cm[ÊxxتèUäù°gtíÀúÔx[²!äMHÛËËHJw*ôìVóV£)7ìÜ~zKH3¹l¤]VeîÏÍ£f÷®j>ønTØèvn-GÓDüL°¡:©5MÙ:6¨:W·$
Êåû|ß,9á¿óDWôKezTcyß?*¶m¨h{<å©îÃÛî'þfè[<âéÌP
Þ~/ìq[Ûóâ;á}Ú¿_ho§IëÃþF¾=MVRÍ¥úÀ^»BÑÛx¹Î;t¹FÈaè$1.cÊñIßà¬åæ8ß=íÐ6t¬Ón,ʹKܤ>S.©w6fsÝ¿D ¡F½BÑ¿o¸ÜVÁFßÚR¢¤eæ»Xøí®\úF¼üU»°høóà)B?èíTª§nzÓ]÷¨>ÔÛ+´ÃÖЬ\Ýpæÿ9öçw)«[4¡K]é*'ôAËÛ5îáwîÁ²
¡Mï½ñ]¿#><õ<<«û4ÿÕFÁ
endstream
endobj
-386 0 obj
-66940
+405 0 obj
+2201
endobj
-387 0 obj
-<</Type/FontDescriptor/FontName/NimbusSanL-ReguItal
-/Flags 68
-/FontBBox[-178 -284 1138 979]/ItalicAngle -30
-/Ascent 979
-/Descent -284
-/CapHeight 979
-/StemV 80
-/FontFile 385 0 R>>
+407 0 obj
+<</Length 408 0 R/Filter/FlateDecode>>
+stream
+xZ[«ä¸~÷¯ðs 'ÖÝeáL_ò<É@þ@6]Ø}ÉßO]$¹Ü*YÓÃ>-Kå®{}Uö¶þoù}ÝÖ?ofÆÂgÊøùÇ/ë?þ´þ¶|]q{÷¾lG>bÛÞVüûÛ_Ë?þ½X?òÓþÖ_W2RÒê¿ëßïÚò×UÅͲ޲$¥ÕAZ6åÑ4
+æ ¥ÕAZ6åÑÔ%ÿ)¯iÝG©^yAä%þÃ6"^5²º)
+Rk£¼:H˦<zzxÕHë¦<*H]FáÕAZ6åÑ<66JZ4²%Îu÷<εd·º1pgá ¿
+ìR¸XçqÂ:NÒùLó·¦î,/lÙV«³ÐÜ¡V× ÂÏñÿÄçÓsw¡xÔh;ÇbPçpó}°
+Bã8/ÞÎÁÏîÿ¢Ã³î(¢¡÷pZg}M¾bäW±VR¨X+YR¬D(ÖJ®ë.¡µµÄZILbä±îÓ×¼aIü}mÅîË·Åï@@kfýöÏõ/O:0výö¯õ'k~^¿ýgy|[¾¾PÅx¦B6ѤoÉQ*OÔ¶§6vK PÚb°[|Æ÷K.ðjòqßð°Ò¶dyÖ&>èª]àâ3YX8¸É#ú,ã÷[>ä7`Ën×ÂD0
ï¨à÷Àv_Ga@´
+D³$ä³»y¦m*`¡©»8ìÄxF?qG:Ϩãj½5PÿÏàÓÀá!Qü¾@vKn±c¦ÑcLð£ïz¡ ~ÐCàWñH
+wØuOtèMc@P·$c3ð; i ³±6\õÈä欮¸§oÅC}D¥DeljÄ xâ)(T"1zot'{oB9E@,A
BuX§=¶Æ 4v¦"øM B
+é|ËÙb9`þÉø
+ÙÆà#¡_¢Oä
äÝÎÑÉ7bÐÕT¶¦ÂبbÑö~ÙÄ/-lÆÿüª`pµ8}fvo»-ÑÒÒaë-pöCS1 (¹¡ËÍ»¥ã¨[°på:üCÞë¼þJj÷ÓY|°Oÿÿ¯EÃ{()ät)kS2}G¬)èt¢r8Yc®:c7»#"Ô
A+_0à /µp¡35³R
+°Èà´|ÿÅÂí±0l¢³5Æf%²ÑDÐqj 0N"¾rØÙæYúÕ°ôz±
+Ù
+aa©âJ#t»Ù÷íÖ?H°ÖOÐiBs>íH£7ù̹þ¥TJ=>áð^_ê¹¢s§X3dk¦y¿ïJÄ ð%÷ñÀUüðû[©â<c§J:v61@M at AÚ½Æ"!ÖÝkG RE·wƲ
+Êî hWâáÜÊTÌ;û[bãnHÄäÆ©wCqTƦâÄM(5ÑÔ0¯ÊgÄEÿ+âB=0Óîc¤u©
+rËð&®Ðò¥©u¦à®U¶1Gz]ÏÂ3ë4à\üxÉ *©ë!áJ"1hC ß·)MµV®¨íhwÄ~ÔÝJ
+×\ê;=b½qomRcµé½/úðwì{ø®ÎÒTq%0ù2ÅVû`.ܽÌ9s ¯<ÒVZþÑÛ÷SS£Í):cÒ¯éþ<+cÕ÷9èÊý'O-رuÆ<Þó¤Ó+³Nz ô:H¼_a'>4¶¦®b´9ÇyFÌVbd1ZðóU
+cVeN]ÚáPµkã¯FÏiÀÞT¨Íhëì@ sAO·
+0Ã<T^@)3YDõôìòħ±e°{Õu%ÙIeo&Ô®½¿Ï}d°¾}r,êÌ.ÞÀ®Ý~}ßaö¤_ªRyb6Dç\°OG¸PßÃæCHC¯hw§ N>öéôl09cÃC?¹Í
+'ÖÀBµûÁ½ÀÒ_×ÿ_E²
+endstream
endobj
-388 0 obj
-<</Length 875/Filter/FlateDecode>>
+408 0 obj
+2514
+endobj
+
+410 0 obj
+<</Length 411 0 R/Filter/FlateDecode>>
stream
-x]ÖÍnÛ8à½BËvQXïOHY²é iÀ±Ô@#³ÈÛWGÎtø®>R4éuw¿¿Ï·õ?ÓåøoÕÓy<Mùõò6sõÏãªi«Óùx[ÊÿãËáºZÏ÷>¼¿ÞòËýøtÙnWë/ó¹×Ûô^}§Ëcþ¸ZNy:ÏÕoÝÃ|üðv½þÈ/y¼Uõj·«Nùi®ó×áú÷á%¯Ë]îOóéóíýÓ|Ëï¾¾_sÕããå_¯cãs^mëzWma·ÊãésM]óǧã÷ôڶ¸¶®c½sSòü1ç¹EÌYYÙ
-ÙçÜÖÍùíwÈæÒ#rbNÈs¼§mܳ½Gçnýþ@?Ðàôøýþ@?ÐàÎìÈôøýþ@?Ðàôøýþ@?Ðàú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_á·sõ~ßè7ø~ßè7ø~ßè7ø~ßè·R~ßè7ø~ßè7ø~ßè7ø~ß9þñwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßátF8#ÎHg3ÂÙ¶
-lÎù+Ú²rÉæÿY,h6¥;ÑÈDt8.Pi|ñFv ¢±+íåK÷ÌèdDTôÀg¥uNmÉ-^F
-̸>-AÍÄNèÄ
²,²éuð¬´aÆ`¥ÅALt&8eÁM³<#artËF{ÇN®tÛáÞ®LvqèípvÆv¼øÎKû2¥=²æn±ö=Ûaîzf»õ1þûåOOgñôË$@;<«)bÏwW<}ynS~y.®X§G¡ô¥)Á°ÔÁõë¨3,uðîÖÙÿdØ@±ÃÿÚ«ãÛ4ÍrùPvcìÃç1ÿûKáz¹â®ò÷p×Ø
+xZÛÜ6}çWè9@&â(F¸Õ½ÏÞÈdwEÀ~ÙßߪâE%©(ÎÄ·MVOÖ©«<Oÿ3ߦyúq~³X¯i¥×ïÿ~ûaúË|h{ oP¶ÁǷжç~þùòæû³ð¶Ni<ûçÒ§óêéW|[þ9É£´×àÍ«&Z7åÑ]4¢KÍ«&Z7åÑ]4$gªh^5Ѻ)î¢f|¢yÕDë¦<ººÕ
+Ѽj¢uS¢q
+çÕ.Z6åÑ]Ô¹ Òû&7öC» 5^4¡²%ξo?µ3Àµ7µ/Ææ¼XWØëb>a}Ä_ ®ôrÃ
+ç~WNî#õÏü=²ûLÑ#Ï,<rôL´#
+/\:2íD#X%cÐÄÅ YWÆäxàö-a±VÜ_¬kÅÅZñS±V\Q¬oë³KåÐ٬ߦ3?5Î9¿¾¹éëïÓO/7fñý¿§O`Ó×ò<¾øï?Kß%|µ°¹çÏÓ×ÿçWóåôÝaÁ[5¾ùüÕÖãº|·³=)£P("àà{
+IE"lðBÑÍ1ðøYHßãg!"ÔCÁVxνðóß/îÁÍù(n§äiÕ½
+«Jn
+%¹5p"<ñgÅ¿Èøl3z%UÞ/@¼Á ºP ¡ºRC((»(ôÂßíQYÇ7`Yɬ²ÅY`Éz*Ь)<ÀâÙD»ÂLÖPBWo²1-ÍkP=x ÿeåCµIÖ?% ÀâÆ©Åkêr½KQj/AquT,ß*êâ«\ÛAýª¸ö.%ÔºEuT'µð}gGfdÆ,rhæùJ$,n_%
+;ö Ùù®Ã[Ç@¯ò¨f$
+YÆ£Úw9ZïP<£x8@Þdª\ëÈwÕëß-r|DM;;R-°1@U<b·¢a3náÅhcæ%>ØUiëõ"uKíAÖsÐ!IdQ
+^7c_Ó/2Þ´®Øö#vAå'Ár/¾³±ùþ-F!ÙëÛféª5âgnÚ1ÉW«9à¥/Ù¥EX Ü/ødóôÂÞnƺºrCHX´+A Õpåþ7vsà\îVk&(s_n%SöãUúCÕݪ¹|.ï·A0ª%ú¥Æ.ÛQiÄFųjñÕ9)<óM×íîSc?ÌMrã:ªJhøØÙ)«[þ^5 s$dÍW*Ô:kBú³runc*ÝJl?U¹ý²haÅTà»b/®±àäÐA÷àäJï))%Ü}ðKG¡ò)(¾wvú#ýTØ@ÆMH«°×¨
+#Ékp©Â.N>¬Á¦ÖDD(üº8HÜë*
+@iYP9LÝ©ÔZÅO×pÏL®ð¹ÆÕ¨gd÷ÔÜÕ
+êmάaz,®*3°¨c Q×KìÛ¥ã=sx\aDg}
+Ѻ÷pLë<MÑÃHEöã>SWhh?«0®ö+ÑJceÀ!}´q«ËVÖïÅ5U!Yal¬ò3+hò¨}`J¡¥epwÿ~»ªÌ¢N-ÎÏQYÝÙ jscó¦ýÃ>ÖF}vè[Áɲdø%¸R°oqÝë³ü´op[_k2ÜË[l'_,kÉÿg:ôÉϾõ£Aö}Ö{/Ðþ¦û<
endstream
endobj
-389 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusSanL-ReguItal
-/ToUnicode 388 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-278 278 355 556 556 889 667 222 333 333 389 584 278 333 278 278
-556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556
-1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778
-667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556
-222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556
-556 556 333 500 278 556 500 722 500 500 500 334 260 334 584 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 333 556 556 167 556 556 556 556 191 333 556 333 333 500 500
-0 556 556 556 278 0 537 350 222 333 333 556 1000 1000 0 611
-0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333
-1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 1000 0 370 0 0 0 0 556 778 1000 365 0 0 0 0
-0 889 0 0 0 278 0 0 222 611 944 611 0 0 0 0
-]
-/FontDescriptor 387 0 R>>
+411 0 obj
+2280
endobj
-390 0 obj
-<</Length 391 0 R/Filter/FlateDecode/Length1 1303 /Length2 99512 /Length3 521>>
+413 0 obj
+<</Length 414 0 R/Filter/FlateDecode>>
stream
-xöste_ÇvR1nlÛ¶Y±olTl['»bÛ¶mãßÓÝOýu¿ÿ¼ãqÏÙs®µöZsÏsÆ!'VR¥6µ7JØÛ¹Ð330ñ
-ðÿ
-#×
-
-# 5@ÂÒÆÒÁÁþJúVùÛ(3ýß?v8r$Ðèôw¤%þ#½9ð_³0q²°¨,\\xÍþRfÿPÎfv@Æ¿5ÉÅíLEímÿéÆîd1K' Éßá=ÿÍíìÝì¼þ/ÆÌÒÎô
-
-F¶@Àÿ5÷¿#DDìÝ^ôÌ\
-t²±´*Ù;[þóö
-ÍvòMOÅãÅpÜܧ>ï|§Rµèíyôå;8±úê¡S6Õþ'wÍ=°qá㪺ëj«*ãO¦á;YÔ$$|¿^Nû·â}web!±³hfXZKVfälõ0Ìç¨èO/L>E¨ü÷Eñ®rXe_
-fN=ôù¡õ¤)ìÀ1lµ×6ì·5îkWlr{N:ØacÜÁ.îqòÌý¡0Ý]·L5ûniè0åþh¨NÜÐÙï1kÒ7 ýEjÕ·`SfE@è¢Ä»Òõ]¯ù÷&þði¿Þôá®&ÂËB¾ÊÏéa0ùæ¥îµýbâ(õéH¢$=x~hDx2 EcSLÜË7ìÆe`¨(×ÍcSàÐo(ºªAø¢7 l~ç¥
-èNM»zO4ò÷\ã1f´{¬õ_r¾Ð-Uý¯Wþ;9¥ù^ÖõckÞÃjXI½YNÑt4}8SpZ£¿ûi¶Û¤ñ´@àûo( ±ö§G=ËÅ<@ÞZû=ýx"¥*Ï¿ÕªVØ嶡 a$àhÖ[_(3rµ:"Y
-$ãð
-ØÍ5q:å9î$Ò¬þÌ-àk·¥Rä¢ItÅÿª$âáu)Ð¥
-1ÇjpõÁþeOìëbJàMÉNê8Ã"â$|tÊB2Å»È-XhÆËÔyÓsþ8wp_ö6l]PnYï)Ëס¡r[ºÝò|6í$æQÀ
-ãkF¯Lúñk«ö Ê
-H.æIO_|ËMÒ/zh©ËÍ#¤ySøâü°kzu5²¦3A¢Klú¼¡J3¯Ð+r©XêwÖg½pAuÚð<× KÀ¢ÿI*I´ÕÇÕY~zc£,e)¼5-+/xE¨wfÃüÃèOØÅç¨Un.gßÎøÐ51Cä.a/V=.¹Mcï@5¾H£afYx³³tº¤ÄeHã³åGæÙÁ¬8Ú:cÿ%}ñYL.bÓèÛÐïÆßȦTcÔÌ=ùSD;ÎB}PÚ
-ÏÔ}YÐ$ÄágFé1Øôk>}hOayeоÔϹè1'ò<_
´E®ß3RûIÀ *ø *@?ß/¡ì®ì&
á$"½¥3¸v,Ó;ȼÏWdÆZ(Ñ$NU7ÎqâÆrµÑùWö°#|È8. +÷ö5?6´:¼PÎÝ&æ?âüáÙÖ°¯ÖE&ï1à\â¡C\Q¬2r¤Ñp Ïì¾wªP]!û¯±Ý-¥ïfé/+e
-;|WÜß¡ºµP5Ôð¬â¾¦®éw
-xQHE
-ű3&£\çy¸aõCÕøúÚEÖÚ7Q¢wöKwYC°¤fFU?h³>ÛøsóôÁ»ÿ©'ÓÌÒë=,4eÁQÊ\@rìÞ·2øX}w»jó&¤(J¤w7¦M ¹9£º
EAË¿øó~cÉ=4cÒÉ»`ý9^nmèP&®Ó}ì³dõ8Êt/ýûÝÀÃþ~¹À?ºyJÐUl
ZãNê²Îê¥í\YÉcüÓ§×ÃÉ4˸Ñ/OéìIpWG¾éÊ¿ù%bM·8,¹niApOê3¯ä"¨õ$§¸Á¾-PCx}¸â*'Íùð×yX¤~ÊàÙõáTÑCñ4SÍùKþÀ;©\dCOª·W<ÚÈö{EPîÄ|BfCfq媱Rwi[¯«Á4qØýLñç©Dø%±é>;M¯ñ¡
-í·óJíl;zTí8æP:³\wwQ«Çhép¼@mô¹×# ~ËÑhô?þȨ5:úP¿ûÃy³oÅñÇ^¤C}èòj¦µ&Åï óÌeônU»&
-7µÄyJÀ|ÞN
EL{\Êĸ¿z\c
;Nrý®Cg|Z¨÷TÙ¤l°ÜÙ~ãåÝ¿JØc ¡
-ÎÊVëÛÂþH*bÀËêã_µ.IçÞòùV%z^´ÓcxF 84bììñhãßL®m6`yG+á äó½ÌÖîm»a >dôïÁRúĵ9:,Öû
-oáï3WVSQì@°<«mÛUx¿Ý¢IJf¬±*µþØw©<Ùë³Å¹Ñ½yñóÒMÿ~'½)ÝlÖWÏ@n°Â0Q©~Ë*£GüU¬Y§ÇÏ}ÇàÍÙÔÏWpøß?õg}·¹çèåol¤A®?
-.ê{Ýë*yPðû?äò×íLâ»^
-¿ûjïÉþºþ=ËgÇ8-r¦¶ö¨Ù|Ãx¡ÑO.=ð-!зW%h!rcؽsÝ3É@{yÞÄnUqÃkáeã0n)j(DÝBGÔ«²F¶ÑhZj½.ÙÝZÔ¼:9wCY('FÐËAÜE[¸0I§tG`Eýz²ÙÇÀ
ûã¥Îì,)²[ÓW`ý1KA¼»dB¤`¾ºÞx
-
-Uda.M¤à7ÂÅ!#:9Ãïe±x·¼Ô¦Åh*¯¢£Å£ùÒíâþyZr5
o¢ÎY½w2¬ëUÂÆ:©Ã®YÖgæZHBÒ¨í²Úr«¦yC9ïTõbÈi6âTKºëDoîGÍÆi,·¬ þkë=vn%»GhüÎeoÏþ{GÀcA'¹Äs/Ûµfÿ1©lò0û¡Ùqª|1o|
-Ä:G®{Ï88ãûÝÏæOäZk·Ï'DÉÀ{®_οæÀPOlÀlVò"TMð/|óü.³^(ÊÉ);¿=«Äætºçfµ*4¾ÄUÆDp+o¹rFxU
-ÀÏßo>½ÌÏd- °¼´ªjÉ©£ïd¬1
- g°pì§VÈÇeL70óþÐðA2"v¯UgêMó!·ò@«íkÊEæ[à>[3u3Æï ܾ>è©]S§Gªú²±ÖÀîï>sVúZ +÷Âxx*(C1¥CNp¯RØ>AU üWG¯cÐ4#P§G.óZ*?St{iߣ{t\ËNfA²³Ï &¤AAÙ6ä2~âRn^É
©!ê(ÑEcv!F¢Àø³)Qåf>)>K´ôs»Ëð§DC¬ýô*¹ÒÓ¼ýYþ÷õ^
-Ðq¢¯ 2nÎät£¡2
·E.ñ¨ØD"»öÇ©YÆJqæs·E¿ûmxMgÐ7s¸ø~N.Õ{CpÍRn²ýºcOçYÍ,+ÁkZböó[6î»t²ú=>ô(wpÐéÜß3ÚA:}¼¤²Ú#eC}âÕ@U'jw'þøøÓÑ÷¦Í=²Ç<FCÕûÚø³OéIÀ0(®¼Å]V7Óg¿ì(ë2:.
-âuÌ)YX LF-Î÷Ó
-_¸õP(²ÌÆM¦¡íL9/'§µ§Ô}4bøa¶~mÒIÊlÞÎ_îÔBlómÃg¸LqSg=ø&ó0Á÷i¿Í5³H¿º©H"«LÁÐvÃpWÓ#áþRQßÀê+
-ýgYlØ&z,Jº~Ò)lè æ1(úOD=²þÚÃ0ðD©\×0ᦼ'm W{ÚñÉãDX0_<#F*¨Ð
Wº6eÅõxëL&
-ª:²
{I2ª*ä^5~êN[ßòBÔt²¯¾møÇøô¹âF"<$FûE_N,)F&ô¥³K,#âoiµwúnX$a%P¤dÎPÈÌùä;ÕV:{+¢ÁìYªÏþ5EàÛºisKßg%LâÍ9hÈf׵Ǯå4·´'v,çS%¤b¬òź>Xf»3¾]9òv¡ôG"varnÚÙN6.Mdn5ÛN¸ë,I°¡ÜÀ8ó§\4aoKÙ"]gÏ6_&&}=P¬Q8FÀè
-êB7w¹xewlP/ëçdÿ³îo®.ñ·Ì«p,,a°zñµITU¢2);ÇóÅ<Â\ri,?çtkÜZL<G0¿çV`
-´§%heÓ¥mÀäñ:ço´gxGcâ^cÌqåÆÂuN`×âÞh«ãáPËÃ6²Ü.Üt3xý9&U-tפ¢æ÷ðãl¹óhúJþµu
-FÜVyCÛ2t·G_í¸[ìno]̳lo<*ëûù*hÛöªòM
-÷2#BAg÷D;3m!
-î¬tÿ¶BOªm@Òîàõîëoz5;°;q~(Täý©ý_SèæU]X#µüH7ýCnsÿ´'íÅîNÍsYJ¡ÉÇÈÞw²nlkTk¿Ï¨Û¼á7û˱Ð=u®*"*ÂT_¼ü®¿Éµ9d´q?Å´QZV}o;Ú(xd
-
dxhÉ4orÃ:hÒžY^ÔbziÎ>j&çbµ{°âFû
- ýgݪL"Ì[}ó:§%d³¨Mwg«-=¾8ÇBYîIþëûUhúÖEöçr/K:,Ï;p/ÆU«±öÊú©Õ¨·«å(Hg_râ.aù->+å${ÀqQöµ&?gò0ÐRÖ¦ísZ*Ø>ìõ+3æÌòPny-ÞÁt{u@ïL£Ê\ß@v_kþÖ,^¤ud0*±±8Y¶+Ñq=EÆ{gÍÀCÉøëF¶¼ìf,<ÚLhr¥?
-ZÌa^0 at -]ôí@ե»§~lÁDRѧ6Ã<²é!NV8ä±p=°Îëø%:N¨L¡ïê°x-è
-:Ê᮵é§ëê~¼H¾ÂÖ³Iù_Ùª¥Hô\j+
-|ÄÇÞ[rslÞÃ÷Ù¡&JÏ|DçÊËßÅT¡Òõ#%µ.' q]îÜq®}ø0«0«V¸cOÍú¬SÂÍJªÊñiÕ´ò±¾È^X+7gÕp¨¬'÷=LóöÄrBê?9rÙoçsæ07ÆñÐê³ÖÖì} KÉ¿x/Ùb³V².Ì]QAüæýÞ¡*PCWP at +ÈÅê:Æ¡éèÇ !¡áp²Æ¯¡?À¡üQX,»·§NM]q*BpR±î·P¦öEäÜoi¦³Ç¥&ÃÛ·JYÄÀçCº_V
-¾×²x²°¬b·vÿÏÎ(D+ÔÒ:ÛRîæ)Ã&aø.äC|'23ôÀÁM!ßK¡S8Õá«F0UÚ¬LÓ«7é<zmwNÔì×ä6q|]¡nöL
-mdF³/¹~ /ÅѾíãñ«@HÀØ GÚ2y
-¤óVi
;Ï+b gdèE)Ð@óõêHj®¸úÔ^h}Á+7)-qjùß#Ôw^3a ªªåUÇjÀ·îº
-Ë®M9ÔtÕg:ØÝ5|ªÅìGõ}]Âú£Í+w2BX3òtvòý)ÝÒ³ø9n
-ôaÊYBM2ÉØά÷{wTaHÂÞ.Ä]ÏØ.^-OdtJÿÏ¡Ïü;Hâ·LßÁõ¯'dunð·ªmw,é{¼ô1$PõRs¯^÷HaÔyh<
-YÆ3Ó+¸ù¹Èܹ<X¡×ËéÆèµ2ñãÂü5ãLu
-Ñ¥&ù%ò®R´ø¶ÛéûÓ»ÚVÄ`nó]DàIdì
-RÉÄ%À)©MfâS¿E}Ç'ø?¨Çf~ë¥D»(¤sÊz¹l
:(\`iݹÁ0&FZ>fL1Í!õ!*÷gôB èi¶þí2åzåz¯0e¹ðÍã¾.«N\¨¯bí5¸%ø]$kfqÔCa×ÑEÄæ)ÎG«J·qE
-8r3R꧳v6ã©ÞBo1ý¦ûs\B7ºëRä
-9íåë§}ãtu1綡Ø6B¡ t0áçü»sâ'æv¼aQIc~×_Ïwñ²ÊÅu{v¬ÛÒ¹ÌT´¯30)Yy{FdømjÄ
-ØÃg(£zPt`$zcàG2ìKÅZ
<VSu|¨øð/ë¸ÖyíæèíAP¤
-T³|1n<Ño]βªÓÂpõ÷EÐIK<IÈ>8RÐÙ4Vð@&¸[¿¶YâEòTc÷_/¥$GÈ^sßéFn[?óÒïìövà-¾ßk¾
-0DîÃݼDu¬ÜÇD4ÍòK0e"Aq«J§ïúø;>¸rÙÿÕ×5ºJÚ¬HNa:äb_í!½"£)=Ä =ö©½Ëví^±KZ§°ul\%×FÇ·d]ZWäLÃÜãÛEEr_ÀFëߥvÊ\¨ãRQ>ÇøÕvG,þêþkOÚ Tí×Ëô˧ûlíQPXÑ]ÿ.¡6Ùonéìäò~çA'£"m6XçýäÆa eCêI§~K?ÜM4ë«2:½µv%a¯<tÞßÈUá¢öx²öºìCBu\É÷¾84Þ¯·h'ÊèzùÅUel3Ü^']º8ÉA~Ë -Ó^7Ï9N´=T}¾xd·±³´Ú¿·E5Ëx;aj7xÏØj ßQïëq1¼FhïPý~8Ûæ¯Bs°1Oñ9
-'_µM¦5ÜCa¤ÊÙ+oå&8¿F{%U¢Ãë1ßM(÷_ÌÜ_ÕµôJõ¥a%c(l¡îÑÏøÕþºß_;å©
Ãu-ê¥p·¥.&$ë~jú"xOÇ ¿9x¡À{FbôlÐ Z®päK¢B½_þíÏ;wÿD¶'}Ù!WV
-Mõ16kÂÄeZ¢r@Ö2õK¯C̸ãi&å
-#
Å2ÃéÓ÷D0'
-B#Ë7¤LÛùQ]bDW'U$ü(Íä!»¥9ñ_Ø<*÷|AY¹0>U%4îò27Q®ôê¯ðçtäÉ$ÄXpeòï}åû£k»e!
Xô»
-=q`¥ü{Û^áïÍ÷Á¦"æXB¨²3&ª¤'ûükqzoyÙÚDþ3!rT2X/_4/aÄ7#e_n¯1¹ðSË0Îp§ð«â')xîèM£»9ñ0Qò~ªðªsTXa¦+ºofåäîÁ¤6õïC8ë#Ô3Hûx÷»ûúh½lTCbîsfä+j4k¦©×/ßKª¡:8&Më0x[0
-èt6/6¯éß^Ý'A>S ^ÔßöQ°mós~m¿+Nòfh/2~Y÷j³ÔʹSÞá>·*YÖDáø¬¢è¤
-m\Â{tÀö%CBÌÈ·wò)Ù>#)QýÌiJU3$ÞývBYb#ýë=A6#
-EÌ0Y´Et©§®£Wû÷ñùUèó÷º7F!Þ#²Á5»¨ÞG½Ã~zóxgÒ¾óÑÌ$UOÕÏù0è¶ E;Á"É/3êwù¢¢z;gÞµ²!l½= ÂÜ m±§WlWÌ9LÖ}Põ_½²Qî(k~뤯÷^Ñ°;ZS1FK©ZØråÁQð|~2/Ú-Éøúºqê"ßlüW0é¨y?äiCp²aÃd+ÑMJ©
-ù`Ï!Ö°ßñ$\ëî
ï/»|ÿälÓÈ)0V±åb+?*íGg°iðÏ«¦þÐÇ(¯Á&µ
Ç>»=zçé)·d/KsZÃSÎ_.Ü<½¾`½³\!%±¬¡L&Z,²@øÂú[t!{
-%ØÆ»=òa¿ÉÇ%¨»1ù¹ôi_°:Eí³k¶]íR7TGÁXðId$;ës¬ÒÆúr8¾o·ßÞÀYC4üÆ¿WÇ1ÂFEÚi±ºJmGíDh·ÉpJص=-P
-MS*B(MZ MÖ¢òÌÎÕõÓIKÝãG¾§©hðlØkó
/b5Sjµ§Ã¶øGÕeí¤gÁ íÖ@T âã[ÓewÀÿ+`û;\Q»|êá£Äؾ
-grÜ)0ÊÆLL±d_½ó×uÁxÊ{ ·Öo~
-d?DÉÄÀB©ª2ô7LY¬|é»b[¨¢@ÔÓõvh«Ö)2û
¿!äÔSK¨aûiõ.âùd}
-("7ÿþU/®´Wc~ã1Pß÷~ò1»J1{A©
-&?©,ز¡G(Yù5÷µg¼2Ó=¶L{ÌùþÛ};_ÂG
F_qªà(lfgr²ßUTUÁ;å_@ä5Nb]VÏéÀ¨³²ýÜ;z?,©*6ôäù3ÕÀõ½?Jd§¿;u?gáSZ{Ûö¸x9qÆ0©÷íð:xbl}½15
-Z̲Éx»6[EN0ûù²+:Ã+Ëz+2qÀ,ùÔf2p¡z×qµ iG©Pú\VôT\
.ß
-ã[¹*,r§æi'Çå¼Oñ?pj:\È1"qÞØBRy¯nMu½x§ØG~
-X>ì)â>¦wtDbéÛWÚ2^k¸´~èoTNy:+É#íÄÞ¦MÂùïÒCÜâÖ¸<(äݼ÷éC3ÞC3ÖS;]&©éTÆÅ-nÛ åúAJ
ç7no¨ÂæÐü$ÃGa7'{#¨UÏø7
-Çió%ÆZïÃKq ǨB`QënÏk¥Yôd³"rK¤H×cÓ?øFUï]?vmabGÙ\ª·o\'L·¾]ù½Ü¯BÃüC®¡¦yYæ^`1ÍfÑg½Rjý^XÔ¢,|ï²þMXò«¼Ò·a2hêsf?ê]Ð{Üo
- ]¤YðNN
-á Oÿ¸nf!ìºÔÈCöå+ý= µ=qn«
ýµúô½ÜDëO 3Éäowu/²ß4·i½Õ<Û²h$йzdËE¾ÂGß-Ê{~c=}½å9Ú³Iüظ-Vy["¸ö«iº +),óÉï1#ZúE&ièò]µÕÖÝ$p+(ÚOÙ}È`_G¯ÜSÛðæô#LàáµÛÅ£D2¨Ï@0\nàgAìûÌ"árZyàͽÈ6x²Á-ÂMt#'ÁÁeyqS¾Nç{¢Þ YYã8N.)+ÊÒ MãEvR^߬æöCÂ=ÅôI<5¹P~Þ{:O YéÊ:k£#úy\ùû óÈå謺Úiz29Ö§À»~C
-´JÀNÍ竺èÖ÷\Ïêd>òG¦k&åïÄWLë/~iA&À,ÖæÉQ^ÉeÜu±NênÔ=O
-Ê×ñÆ\±Ù± ¤%´-ÛÂH5üv^¿Á¿*_öòÎÝ<áöé BIî,DqûS:&ó9ynFECxC¤Ä¼>ý¥¶t
-¦ýÈo©ÈoWïì Þò¹×! ôüpõNÀn÷fQ׺P¹\FJ&{rEöX_¸uûBwú
åQ± á8A¢©ÕØû|ØGZ.ä!±ç{gz¢ÖÊ>^ún¬îR}½r¨X¶üA9ñ6Æ+ù¤ N>ɱHú¹4~ù¤÷ÂPØT }x¡p÷S«Áóº³Þȴ̦¢ÈFù[©éíxÃ\3½2Þáía}¶tC«O±RûËÊ^JÞÑ&2uÒç"_ÓÂ1?gÆäËYêç§]Çæ©]T eb.
-Hº hDMùþÄ|[ðM¢$n¢"0ÔÄ>Ù<2IêÑ0?-4
- 4v½ ÅðJÊ.yëGÀáÕ6Ñp_¼æ$°rHH×ä#Zþ¦<ûl×_»Þæòo0E©
-wlX±äúâî|Õè0Zí³¥EI&H8èDù|mA!GJÙÀ£ÈPP
-]°TPe}Ü(SÍ1èÑO4>èæ^a¬)M¿¼ÿ´VüÞ+G2»¥§ÅYrjiG°8úäð0¦f
-±h2}Ã#à-cé1Í0¨ÓKÁ¾}rØÉQ af|£¤!-ý¶ H{zgÚè|]cOöº@Ê$ÈQä(`©Bí®H²Èë>¶
-´¾»3äq>*ÀB*Þs¢T ÄÍ'äW&Ú¤l!mÛbLÓ+µàYà̹üB
[D-,Ò±uþ¤_f¬Åeä³Â¹ %Ù8Ä]ô2*ºþÍ»dw>r¾O#"óÔ÷
-Tù.¯*ì{~à4Ý
éq)ÀjîêÔô×I?ÙKä8?«~èÕ<ÿkN
-[¿¾UU¹°¬è]CókàI±³%`3Ã3î(¡çrüØf|
-±ðíÁ^R»èX×R( ñU1¼U}dm¶óV_qÅiR¦¿?Ý}5ãj0ÀLÈÒ|r¾· %Ñæ¬Ñxô;ù: Ë9ßnÆÙ±
-5iܱO< }M'v
-ÀýØ©õ4
-ÂZßɳjl&0ÙA¨ú2ì:F¿ë¼±"øÇÄçhß/U7¿
-Éò9R}C´äÉ)¹2|~
á"å
-4_q´7m´Â²®
-æÕ£áóþtuRb(ß´eOgÞ&×1Å1:]vR
-i»35¼Q5ÅÈuµB¸iñ üqÌä1á¹»%ÔByCIð4$jk2Áúja\fp½ùÇW_ý°øFIG@
soÏåÉ'bu%â<Óä
-¶GDÅë'[½{
²µyZHOx eͤIgpiM7´XÐó.iUJd¦ÑAÜ©5|uX¸A=þ»dʵZÎFÿLdûmë8ǨRJ3QÂM
-BeE°Ú7TMºÛ©-aÎ{ð< @NQ÷e>"(î\\yBåZÃ7Çx^z\Òçoà ½cÁL
-í?ú½»úÍ°
m]¦#þ,)Ì|FK
-,]ÝK½3$^ð.Ò.üð,;æÐÛÁô!«hºh1h!×Is^¿ÊúmKêk²¢Sa.ëP/
-!!£»|Ç¡Áz)ÔÅ2+³ m§câõ1^FºSN>¿*° ¦¨ôÂ&Å_ûàCß k¡ ré$ÛµÃÔ¼ Dæg{ób7M*<äsΧLÞë
+þ3ÌKFI{îºa¡ËVNXìx~.°SÑè'¬
-¤:°.oPìc¡XÓ¨W¦]áÛÁëM$Û03H< ¸ÉC±+©5ò[¸JV[_lh½ôm_mǦ0`'¡Ð©B!D¢ÿ@KêG*«Ó'
-\ºÈµ<ãEؼG 2¼½:èå9:Í¥ÄJê%¼+Åè8³¢bØó\±[¢_üºñ
-@$±÷¢§\iåïµé¥ =cÞT,éD3äwÚÎÖÎ#©¶ EÏ ë⩬ؤù×ÌìøØîÅØEJ⫽RQ¿<7çêªýáX̳¾Ù%c(ú&vßúVÿ~ìëþîz_Ïú bäv«¬kð$¡ÍãGPÐ¥V6*ÁÙOê¿OP̺YiÌkn°ÛËbصàCC-&+}/ìWSÈÊ(C¸²Qîc
+¡þmþ o±§
-ÛAÄÌ+%q#6Põ§×Wü´Iâm%aO?1
¥j}©îiroYÞ*ì]$¥cñǹM¿Û}(òn*Uþåb!K$N))T¢1&¦<ëYÔa³ÀNÕõObtó##È;î8uWóX%æ?¹òzÇÇþ_J|VÇ2»àâ62)ê\[^ä]òþ¨§R 6}^êô¤ ÏÚ×*mÃa*Bâhgh<hóè¼×á6Ñx'öliP¾¬pú·é"bt+æSj¥òóéB®T#. «ûº~7à0ÜÉï31dÁ*Ú?VÿÑËê©Ôé¾QSm÷0Ç
--1 ËöÁæ
-%xÈ®ÕûÝÛS«WÜsý^Ýè_íÉèê)&÷R¬e¢¬9t,íÍJôö!
->ÊßyqÊâZ°ÑyoÝ:<ÈI2pFÈ÷çTäG`8¢ÏÎ66æû}¤7ÉÐäæxRõy0®}âÅNÖMÂ*p/¾Q¦ÊþÐůPn 6=¦³NÜãÏÞð+mó2JÂmÐP-Bçe0iÃÍýOÝc5@}<3
-?¢gÕÄ©3âð/ë"ø¸Wäõçfh´$nyè{ÚQ½¡¢%à·
-s¦Ð¡
-Àbj¼¡;Íë IäjË`|-h¼
v²xéSé×aZöæw}/yÍÀ£iÑG #ݤpö¥¹é·b_ø×
-ª²Ýòf´ÁQ&ôðá»Ò«¸!ôö;³+ÂéÄwZqÝAéèþ û¶«Ä©Ö³|¸ÀÃÔ¾|ÙzRk4$vÕÝ6üòZ*Âï4«)
-ØÞnâ@ʤ?@Õ,ÕÞùÉÕÅâÏBoO\ëÍïÊ{èÖvI>¡æû7×À0ÆÐÞM0UßÎDàðU©ñê6«ºrË e2Ífë&YÐC£¹=ïs]
¨¤Å ÈvÝêÄ|£¾ù!Ç&©83'ê21MçC!ø¼ýÃGÿeB×3ÖÆnÈ/U¾ÑJìÚFÑÕzÕtƽ !ÿLíWA<?ºWå5Q*
-düÿ@ã¿D#ø/tfÁpu¨q´%ïè}PºWÁjÏhØÐ.¥|,1wñm²Jo¡Îy¨´i·oxãG=õa`^|Ã5JÙ:ñç¥.8wÃÞ~üâý¶ÔÚävõ#(«ÄyÜvG÷ÚòY@ÑØ?»°Àþ&ä%^Ë[+à9³çb(ð T.ÄÁyÝkhÜ~çÖ½$7ÝÔß®°µì¦þíî\äªfóÏ¢"®¹Ø¸¶àöô½ô
-®«§Ò¡<^ÑÑL@»ß,AOopvkU ªM×píàÖ¥Ë×£ËÅöl6/ìlD¸ ¥ZEdx>¿±B¨ë8Ê\c?|êÅ ¢âüê)@&Ó¾£7~µ\²Ç_ ׬)É÷"JFPÒípÏå^¼àÍW]ýt/¾Ã´ÒsCÌà×>=
õõé_Õ!}[d=ßÓÒ#EEÁöp1aüöòZÑÇNÁ¿À&ƨ/K0¼ÚÔJ-»¡v5ß?U`ÒïÆ!6Ï×±ÐÃân¹AvWoyÜ(q Úÿúì
-MJÓônH;êHVyåÁ«¶Å½ù)ìhµD6øÍèÙ½ìØÀÿÞÛ#Èó*6bR~ó:{Y¤Ðô>"-¿(}Iô_ô¨à÷Fg)ªð,¸FYîõüÖ7ü üjëgfTÉs¾Z=VA±ÖxùÙXGcóá?ø7[÷»¾-m½U÷ã!de=G½OpYU)ؤwiÁ£Í¨8`yB,¬|ÜX#èúµ
-ÏJM_ðÝN±at¨J1¥¶á¯Oe>QÅPÒ)MÇ(î9§/èÀ
-ýW~MåÖ¶c=µÍú)VTYZ)+C-_ÊçBÈZAnÄÒlmÓþ~5ZÖÿHÇcD¨AôSPèâÝ)) $¡*3á?G`Ù{ù´çÍÈÇA©ß FpùÜ zó Mó0¾½ zIqcÖz×Â-&Ã
-Ú¾f¨Úb÷i`{èÀÆÔxã`ꬺé®V3¾É*µ ÄäY`ÑÛÜV~û%6?~G¤Ù
-xkÀÐe93ÆR×-x|m;nº1à6Î +ý}0
-0·pP¢Lr·Ê80h
-ÌF¥J}S¦u ¾9ûUláðá¤û7^\Ðß+Øno1ÈÌØ"-_w7 »3îÔ((ªÀb¹úÒÀçâÂE/z.d?BؾcSIEâߦþd`õ
-Z"w w Ò´\yâcHZ{²PØÈÙ©Åð)dµO
-m´îç_©L«¶M¶·Ï¿»Ìë
-{;mü¾ÜNÉZö%·ªûR¿C&!\êatªÅ¿ Áê¬FZ[TDýµí,ÏdyCæ±ñ_ó Ü×BüB¾ÞÁÈ¢æví
-?ð¥®$âSÕª+
- !sò5
-bbA)ÝÂîJÙÕl®-Tco³ÔGºrÅâÓù3Ô0*F%>HI2cjÌëÕè±*Ñ'A±ôìu,y5)që¥P³@Ë?4ô0o^\"]ÐGÎêÕ0|Í@óê
-qªC,SD0k ÅCÿB¾%FÝ"Vx#XÂÔ=ôÏÚCÀ¾kN¥ª¯á5®pÛlù,>+Ô&ø4L#½mHäð@¤Ä·Cý K»&}j5Ï2ÁOò³CZëäë>Hzoî2¬µ{IzC~~ÚÝ'´¾
-dj~\©Æª¡zSu¹ÇU¥ú¡b³MÍÅ+LÒµ»Jüñ9ö~ßo.9DnPAaW~éS#6
-¡Ë nÞWàåÖb!t¹¡\´Þ^,Z8DT9»»ïýÞ3-RP°«lÓÓÛUöM >Þ.øY3Lúôþ6Û¾¦ýØßü ªÑ®ãÐHäïÀ¡îT/7PÑðMCôØüGÇvT-ØЬޡïK"aF¢ì\X*Õ(Ù²ô¤áô½·ât ¤:TO(°Oªs¯ þÒÝxm߯/TrO úpB¸6¶KÆ?ØïL
-ñÀÓ-Õ\¼VÂÜs9Ö¡6Û¡+=Òêr¾dO7(Î:qMhã§>ç£Oï¥`ÆCv¾ôʽ¾Y©_ÜËÑ¿üÓw-Xmc9»PLw¦éL(ÖÆC+=³3§éì«ñ«¨Pi7%0ýM¥û ,Fï§áÿu_É|àb ;Ve
-1þ'~Öêö?ºz,/l(´djÙäÉx¦É@ß=G9@
-ͧqgòÔ¬%ë}j¦¥ìE÷å9ÐÃùº¨i¼òtÌ÷8äoAë³ÿ²Uog|(¿
ÈhÛã°{ßÒ¸ÄP¼Ñ¾ÕqÅ ãË11bþtQÑ*i{pÿ/ÕÀrewÎ*z7í8Æ×ÐÏl8¸A[¯ê÷£5ÕWü¨&VòÂáÅ@2Õõât Î(·õ«ÌîÒ¢£Î,¤ÍÞj"Ù¾Æ § u¬ÀÒö¡û¨K3+¼NÅw1YÝÈ(£³Z
-¡ô¿U`ÒS,»ëÙf">ß®Ë Ô¶>ÂßâtM.êõú*¯RSò[v½?íOË 'ågû7è÷ 0ExyUD¯-Þ©G9 Rë6rõóvéØÒ4Ù¸Õ:-ÇõëÒ(ÒÙi[Pagf=;¾
-8´íAGé-"·QÇY
-³WäÈä,¶OQ}2kÛ zº³'1ûAÞ4NØË<MpK_!êx[±TVË/H¥§È|qî(/Ç´)A ¦u·Ù©+üX#Uô2Õlì<R!JY·ÿx[çÅifúGß³tJCGÕp>vÓG<Ô,0=b@®WxÒD¦¢+TgqG,
-§Y-ÄÏ
-x¢?¤i*Ê¿þªÓÇ|qæ2ûKiôÈt×-¶ÏÒ¹fQ
-ïÚr¶¨=tµAJyûñÇÆÝõåû·ÝÚO|
-$Ú¤ÑsÂ
-UPx
-ævQ;¬8ÕÂâhw Í"Þît³ËJ6ÛY%Ïo`ÁÐì7«Àáä.ÑØEÍò©Á5ÒÿÍëà]NQÕ2òÍÊ%<ºÛ
ôÉ8Jÿ©xÛ·ÈY©.zà0Mr4 ëìùj"ìXêdÞTÈGó)¥¥ô)ÛEÉûoý+>£ÀºdÍd#\õ6Ms´1Cª7»Lê¸&Iý^½|Û¹Ö:·îÄÈR©ª`Èð-Åi6
-Ì {K÷ÞJ^ør.yÈêÚgãÈA
-¦H{`.pÝ+³~ÕYÿUíQB̽q&¾ör'éM(:Ï;Ø>ÁK&M¡G;Lsn÷e¡ú¿ï¶ÿ¨±dî:Û÷HBÏ PÆö¸}ÈÉv·3Q½!¬PU®&ÝÇõBu¬ý¤åm»u*^îÌ®:BØÅ|Ï0[ä
-Ó³â
EÍk¤FQ¡öQYn¸Z©2HëPÖ}ElÁn§?ßcìB¬ã}Ìyæ²ÆÛcÊôÃr«w»êTij
[vEï{h8¯EûáÖZ4ðÈÔ¡9êÕ/Ü8ãEfòJÊ
-]3Ra
- ÷É×2Å}£²ÑÎ\
-ñ«þ;¤×_ã¨h1ê`Æ¢+_~k9å;YZ}Hð «©0*Sp=¯¦ ¸MHi
-@î¼>uW
\©Á$¼þV°t°q4¢pËmx©V¼éèÌÛÄóÀ+
-"¯îæ°_/5i×ã"|gù14 ÆÐ/|Ê(äv®=IÜW>vuëýÈôÊ/21k}TW;Õ¨Wv÷5Tå
«n"îããzf@<mÉhu(gÐjGC÷±yC2*`à±
ÉX7$.¤¸×SGÈè»\Ï-¬4B @Ð5ØÓË
6]Ò½ÅZTÜÑObC¥ÒÖ³]Ø®ã6
+xµZÉå4Ýû+²F¢ðìDBH]ïUX7´Ä0H
+¿ÏlǯcJJ]õûæ;n½ü¥>/zùR¿%¿Ó¿ÿüiùáåõqÁm;6ïG^Öº¯üùîÛüáÏ_5ñe["¼Å-¿/>m/>¯~[¾WÞÕåïK{7y¶ð*)¯*iÙl¤~Û*!~®d¼qjH>HàóABÇ¡Ä%ß
+©µ ÷JJ«4o¶GRÓK¬¤¼ª¤e³=ÚV¼:HM«ÇëfùR×&«ËÎÀ4ewº¯½¨·ªí¢ÃF/Áwzh$Û ºañ³%[õÙæ¯{6ë
¶¶{2ÄÖD¯v¶ÃÎΦv±³5u&q6Ьgù4Ö%³â¯A¡Y~߬;箫ÎëJpÔf-øb³ÜY÷ÅárM?/5L¾~RøÞ ¶~úqùj·ÇÀç¯ã[ɧ÷dãkrV'×h·:n°ëâ#
èc
+gvxKvAÎð{^áC8âà°+<6É}³|úU½}R/¼_Èê³A?¾g#
+<2Øð,Æ
+XÀ®`â9¤§
+¸§í´ÁæÛ´Wóq°.UgªHÁÙ§·Aûà À¢ðµ:8â8eEYím
+Y]¤88sR$ijÐ]En°5æÜz/Cª.bF¿Rù) á²ì
+\P¨ fýãß1ø½îT*
+é³èV_0¼#:7T}tF¤ìkò À{¶Þ*Mï(¬NÊÃøq¤dvCEd>ì#ï|·eªBP¿UHðÞ²Ó <J¡Ä0øHÉUqË
+Q¹ø´ÕhHÑ¥¨1ðo"6X£mÊPHPõõQû¬ÁMÈ*-V ´û¡µY
¬$â²áüOµ$Â2íA_LPäÆhí8øNÈLÂÌF&HgOeCwn!Ø
+¾¹óO"hÖË1 fëCævÅZRÅd6@Â7ð÷ÆLJT6¨ ·°·pvOÒ¦V¦ØH)I·&*Ð\§¹äÞó34¨[8eL[É¡MÖÉ~rB
IõëZRö;lCu ² îÙ@ÚÞOþIU'¥{Ï1x!vÄ"|ò»6ÖßÄs¶Ì!¥"èk}(QfsYQÅrÆÞ)O6e(jÁÇRWÐàá3§v23¬íSEM½;'¿ Î%&ó>.¼âÐ
+ÒiÇF6ª3;îZ^CiííÈã¤SLo
+c*3Á±×w¥°
+f+hÞª®
+Å&Q©hEp¦×ÌË?ÆGæ< |"°;nG¢ï#sÎÍ QB½5ec¨Õ{éX'ÌK3e"I³\ÑàÜë'M5&¶FhO5>øäZcÚã@z(aâ.ÖPõ.v1D¢Ðyÿ?=NV°tßþ7ÖT¹At½Ë©\+¢ÂÚùÝ(²to¡ôUõ%³Ö5âHW3eÁICÐÉ&·(_+£`Ä
+Re,ÜsªË:³CØ+3jâ
+§ðy
+»õb)ϸ³ìÀj&ÖÚ;]]~/£z×?»¾¿¾¨4}è£éN1&RX¥ñÃöhº¨êL8ñ/Þ¤ ¦
+ÒÐA0'l1s@³c¤rÃÄ:3e"f «î"iô'67R¡KvÉ5
+)ÈV]iÎUSjÜ÷NCdÁLYpÒ¨åLuE¹ZÛ\rO
+¼ìmÓÐdXSf4¸Â¬
+CHÔ`#«^º·O¼ûäJ3°ÛÔQ/7S{73!Dïp´êìj7£²,¥[ßs¬µ\?ø'
+ at _Q£]Ôºµhªw«F;Êp¦jôblÀöÒMj?)¶64k8ÅÁ;ÏkU{ð£hÊÿ!hb/n1VÔê¦õ$pj$0Sæ¾Y¥QÞ4^À)[f0+9_Æð<ã1ÚKìÓ
Õr3¡ú« ¡Ñ]V3
+Þ¶iqeëÿàPùZjù4|]Ko°Ï1
+h\´»3ÐÂð¥¯AGÐxèk§Ý:zà{ßgsMØø¸ü
+ôÈ6
+endstream
+endobj
-1´W¼wÔü¯e/s¦áN Ì´¥ºÚ£1/ô2{§#§j¹>ð?¥&6ÇWK8õ?P¤²]Á³NÍNóòò*Ô#¨ø
-V·ZB]?]Oîïµ5bn^õ Ì4w¸RVL]5Æ*¤»Ð1Jý6nÎqAþEÀ42nQi<}öáXùí¬]çóÙóPOB¬H_uäqÈíÄ·¦ùrNÌë«õááð>o_ÃÙh!l}9Z
C
-ªzöU§ÝüéÑîç7trfæÐ3¹¥ó¸<þ|?òs*ï}O6t?Ú%^U9)ó¨ñÝ3õE&4QôopÞf8éÛÏP8¦+æÓ:?ìÄôf¥ÇjMÛIP'PíAUêÝ[|qÞhÐù*ÅÆætYÙ*͵"R¢æqÁtÔ1M²ð;{¾Ñ5Ú<e(TGìÿ¯»Þñ´¾âI)(#¤ZIý'(ìF£I+BqO{³äÕ¡k¼öc¼ÁíÈîò®7h"ùaAóý£míj¾4#wwøæÄ ÍNàKÀM9`ëÎ ÍàÜ»ï˳CûÅ:^Nµ_AÔ¬KH6Ã<r/
ÑKfDkÐ@aï J4<÷x+¶M7~ù¤x|B!¨
ëæ³4øÉ
-²9n!KF>àV£b§Ã{ ;ÏÐ 8¶ïÎÉEïÓÕû|Wº!Hv¾hKtÿ`¯Îâu¼$±{X_MCè
#º|Í.%rÐ~]LËÙÁø¾´-fèöÛÑǬZÄ.fdº´I\x®rªOA:«.ÔsR~N&|½:$PÖ8}fû¥ÝEñûLûöðÚÈYê{Ï@ KgI;#RÉ¡9ÞCãüÐNñQ±&ûÐh»Cý<wÕm:ÔL³Z³ÏÜuƧ§¤ìµÖ
óãfò ÙØêY¨ûËÓ®@ÜÝ:ú½ctû¨qÉÔÔrZ«å[*OÒ0»í¬ôXÒR~*Ú¾d{ý¶´f,"?côð¥;]
-RC³¢|+.
[/sôx³Lv×C'0(!"´hNàuúr>líSãgÕ
-ºàMCYÍ_ôá¹CÔé¥L^ÂX[Â[æØאּè?ñ|Ǩ{ñ¸é>ûE¿§ï¨9^³ûðü^dų5FÐFfH.DäI8µ!p°Þ°#o½Õêk
-¦Íhæ`_ûÔ¢2{8^¸ÀN²±ØùJH&Äö
-
-ó5mç`ðÐÌñ
-Qîªxø¥Bs!X¯@ÙCM¶a¾&KqLQ^ðÛxÏ3Ï{üË\ Dà õùÖ½ç0x"!XÎ^ëOQ§¬OëOXhTF÷e4Ch%²-Ä6Ô§rÏî"i£ä¡(s[0*¨ÓU{Òô7;Ú}#øÒTôÇðï§òë×AzTX}çW
ýÕè%oï¸ÆÝ>Ù;=Øz[÷êJý$
-RÿÕµ¥XûÌQÐ
-d )Õ1åÍ`)íÈådam?t)
-÷õaîÁÓ®[ª»¢AÒà&J?£\
-º!È ©L¯÷¿pìG Ñî4¾|ú¦e²<q¥îÝnxz6MIQÌ^,´<i+t-x`%/|¯Ù<¡²\Ä&4EͱATLyå·<u)ÀZá¹·Äð²±èJ2y^F4VON¢Ô@
-º×ÁÞNøÈϸx²¦×ÒÁ®ç- õ¿X¿*q@Êav×Á>[ü£-ÉhV×Ë°Q `9Ù¢zRÂ@ÔWân>ÛØzÓÈK׫àR*À÷ï} hÎ À@HfEúò¥`ܾ ïN·ÉPå1Ý·è×Á^'Ýó/ke0çfj÷|'RKWÏ,¦ÂãÑ×~ßÑc/¿=à@Ö8sÿB)wyr.²wòè¯òM«¯q£]6»é¬@¬NYl:ÕJ@íËÄ%fê¬gKqþ¹MCáAÖù
-P7¼5¹Ô9ä?}2Ìl!>ØÀ¨jáÝLÌðÞô&ê[ÿ£v¯ÁCêàÜwÅ-ÿ¾âõK+ÒNè_¾È(ëæc
-ç5+«`ÏÜøÚ´ºû²äʤÝVÚ»B.è5q±©Lé#ãîÚÔjyRryt>³¹yf±£éüCyòÖµ.¦$!ÎWöÑâ]»Ï;.Vq>Nû9]"òÇèXýM2ÿÚÄH5tª#xû?»6Ô
-rPÉøÙFód(N9UkÊÌ
-m®Åï±Óã
-,jvyÖ»/£u*«@ÃóÍU¢²tÒe>k6õÁÖÒDÎ4^;LO4¬06ibó
->¤åÞ ßkDUä[j%k1ÉwT¢ºñW¡£YrÊüáA§½À¥¿ènnö(Ùj7²
Ù¨HMó,l
-.[ÄÎL)Ê=Þ Á**ÿY× Ø>Õ´öE°pö¸½ìw,ßàÏÃÖ´ÏxO
-Ô,þµÃ3»ÍóCP¥á_>Róö¸dæamý÷I|^0A
-a󻩯 ËuÜàz_Í*å¹ÌmLäíõ-¤Î=Tp6{øéFôG¶Eâf+¦¤ãÞ®
Ü|Á©!Ó¼ÎhHâwõ÷
-£ÄOBå~Ô¡ûz¾}ÞõÏÃa˽&Ñû¦wþ@)
-5^:!¾_ZÞ4OÙs£á¸¸´
-q¹¯?%uâóÁ^JÏ"ª\NùÃ\ö ¢ÄÚ"mÃ^/"óWðÖÐ1ò£ÃáÁÍÓöøréíBF̵è¼~'ËrËãlÞËK=Éq¾SNo¸Në«à5ò?@õãJÛgvü»¾ °}AÿûͺLl¦wd?»±êjKBMµßfdÌyö_FRÞÞùíý#¾Jü/LLÕH¸¿»oÞ
-Ãî?rãõñb,^úp`õP1-ðo;ÃiEª^Â^XøErP¦ÝÖËoìÃèºàK«¶yØ´"ï÷ªSd¼»eÈ®¡¶ÛõTOÖ }ïÒ}=hÒ¢$Ê0SÍê,Y
8-ÙOTÙ:zZáK-u'<Útk¥®¥ô;xa¥º?BíOîÀ®uªT^*ÎþEºE.ºÇ4ÿ@øZ}IdÌýå)±ÓjÝÆf^È©mze¾
-»ØR~,z¹øG««Ä²»mY³Å>DQYà!C£nGaÍYnYýDëD9Ãcë"ÿ¹û8:íÊ0âP¡kÎ[YÇ>Â'õl»jqk<dÕ"!a©O|SÄv÷<;¢ÌÐÕ±q°Îû¾_pãÃÐpû9×µ+°ÌkAAT¨²o³²_ávÉÁY>Qc*QÔQL¡uDÈ/àL¦"Òøî:nî/)(Ý÷pÝÿ ìwý>SUÕ]ÆâX(Vx¢("÷@®ã uÓüaá[E
-8E¥CW>ù¢&t2=üo£6ZAT¾¦½B¦rûÕ<ÜfVîüw<Ô§ÿjhÆÐlƪu˷פR"*0½»ëëcª]ëòñRßþÑU;´«½:ÄWëÝÎÁ³ÁUΤ_$) îyr¢u
¹Rã×
Lk÷T2K at gÙqÃ@ÿ3*ÙóÆ0Äï®9¨mÞ8"4
-pÞp¹x÷É-èÂS$Nï+µ¿ÚîØÙ)ÎÀ°ßçõøèòÌÌ=C
-¶fé±¢Ðs°'½U+{MÞ´Áa$ÿ*×[çp3°§røLÿg¯&:CDoÙé?èã)ÔûÕye"é-¤Üäó×ø>eå!â_¢U ê£jP4ÃâJxñ¹ÌÚÙRrø~.ÏDzÝ×|c1ïhª}_NÅ
-
-ôÞïÚKÇJarðתãÉÊd&Ìru·yñ
-8¶9uMþØb_ô.p¡Èë«QVfÉOkAÙ\ÈÏ°sÕô|Äyt¾§|Åså,ÝèìnШzîì¿^Í¢¾ÛBLË'Ìí÷>öî.FHÏã&mì¬À»u~3o9ÈS?õ,ýði«åÑ)Òß
-ïaÇèiÏ;
-þ½JæCHÃyÉdÕÄì÷(Évd7Ã×À1¦"uÓ³úX¤ ÛsÚ¬L»)+x <Ã=5ëæ3·%Ü©(ëgk5{꿲g÷KÃÈyKß^P <q2;Íéô©ÃǼc²DÙýV1;zçäÐi
->èêÀ±<iëÛJ'x
-+¥D¿ÆîÞàÚf-2lö,zãÅÄÌOlðû×tÃjÚ.5ÍÏ|¡ÐW7¡)äÆò 4QrÂFøaòoþX1ÉOK=Ðùh8Ú^ñù¼ãd1C^zk8¼¶Òù]¯CN8wg×z4v-ø8¶¶¸ZWËR'öP÷¶uOçKN÷,âGX0\L~Üé¡hé>ó7#á}+P©ãsêñ·¹Ó°W
¹õ@]ËìQëilü4Viݪw^´OQÌ:f Aæ`¡«Ë¹`äR
-È
-Êiq®÷Ãq!¢pa5ÎzZP¿w¿QêPZ¬áËÏ´HÊB±9Ñ3jã¿2léJè¿rô«-ßµ1ô*KQ0¥[PÝÏe/d[Åo®õ^p¼õÇßVGq¹B`],ª4aݱìæÝÆ
-«ÖËB.½Tå¶[<M[.]ÊxJÊf¤"¥COgÕçù«f/\^u÷
-KFu^{w°Ëàïz¼Ðò7s
³ñDüÖsQTd6'£Ë¸~Ðâ
-_#X+HDRÖUkÇ¥,$eí#Uq-ñÃÄV?U÷Ô
-¨uÇ2=ÇsObÁP´(gZwÕ÷(0É¥}FXv|PíóÚvH5ô¤VNý"?V,'¡Scª(üÅÔV9{BÖóãÅRGSêÎ[å`Óñ4åjþûÈêy®ññg
-Àú± 1ôìôs u(CpÒÄÓ5®ÖàfÒª
-< Ù!9C¿©ås3þ±úT%Lqz{ZñÙ[Fâpgí¾
-ÈÛ
-ß
ß"ÍC5Zí>Ç;1½ÊæòLÔkòxáW
-d^IÚYvX}^ûNsáyÓ¶GÚUS
-zû´¹&²-äÿáýr<]Gè# 7Þ
-P2ÄÜ_R
-"#°b¥¿MC2CBüõö}õÑ>1,ëÛ@û\ªç2ÔóéP>ÏL%pÒ½CvVî3uQÝöÏÜ¥Ü]ðruØÚ(;Zû°4$[î¡_åu4ÞÚì!¤PÁºQæ_e$¿Òüf\? 0*µ}Ý"
-%MYÀöVP 3{äózOL8Áèê>ÖHì´p¨³'Á*ù´AR)!ñ@¶÷-³äàÉ6ºm©Ùc¸WÒÁ8>Ý<Âb(Ñ+sóã ½XöÚÙÁÞÈ2.G!#§%o&Á¤ÇI´ÙhÅð6üËQäؾU);ÚÆ?'Háîìßr"²þ0ÖPï®+{ñ³¡~EÜ71¬æÛo7ñ8ÅbòÓ
m«@ß©ãÏÁÞ5Ý-ÄHçÃfEÁæâËÔô´BþiºÖudCwu×®öZûÊçâ¶ú,J§pt¬êT¶Ú.g¡á<³ß5?¸f_ÑB%è÷'?R¥=+"µý×òt´0¹y¾/HÓQJ¼õ¸xS£Y[ÍÅÌÑ
-4¡Þ|¥-øl-º¬WdÒFb"=jľf0møqËÔ
-"UpèÇ©ýYkOC+dlTL·i09\6'ÿܵ7nQF!Þ)CIñfx7»zÐ¥Æ4þ©/ßO6m8X´Õ¥Îônl@DFâqWB¥1\SÃDýõÅ$næk&Oõ>ݾòÁ?DøLÀâÆnøE;_äög!
-SMЫ ÅÒ_è\=ià'rÒÀY
-ìYRÃ8ý9(¬b}èÁ¸¥§ç)릾%©#êjªMwqÕåhaÏ}}ùº®NÆo®·b§°×¥,XQ3#Q¬g$ÈdJ>6
-%¦Ò$¹ÙK@ÖôE+MÚZ°{ð¹¦Þ9õ#l¯-CÔÞÛ¦Ûy}ª«~_A£;×5¢và¼:²¶jÍ?ü)dºË?¾Ç¶þµC_:Dìðüñ[×´uæ}ã!}4Ø'»J¡bäùË).8ëCfAÙAmê%8ÓPøD°LíÑÅ÷¹èú¹ÈwSuOÌݵ+Ôë¶oxâǶå©#^Ø»gìÝÝÀÝÿ7Æ0òVBªËâ,`Òr³®õÃêP¸EIkêB®ÍUç8`¯Uéä"©²UûIû9¾LÿmÈcË¿7ÔGAÏV?µÔ§ }ð-6ju ¯z3 G#ÕͺbSxÏ"[3
-ÃLÉ7²ÙLxL¹"´k¾úDýCR·w8no_Y?tË9ág0<õùÞ^ÐÃêY
-ÿ`
ÿ¡`i\=õ%3;d½¨ÄoÑ{Èé
-ÌL©ÓkÜ>I#ÍP='"?Êɸ½¸¶î
-ÁG{lUq¿ûÉm#Qc¢~ÓT×ç³Óa^Ðiñãîfùè8¤l<öø~®é®Cg{G0þJì9î¾R<ëûÏvpþ®þ^+áb
-þ_háîIßeØw*È!ô÷¤vwâ~,Jñè¥sQa^í\¨¨`w$^Ç}®Ð*aÕÑp7¦ÏyÊ
-ÍÝOöÖ©iDmfÄ é[J'U p^Ô*0±¨Þ¾i/äsJ詬>ç/ipðWDiÚ(ÛÕÙ^k×I
-&ÞöREüÈãÕ£¢é§{´O¬¾÷à P»_
-W3lÚÇyÉ°Gì3õ~UVV$-ãSHÞ Äç'¯,µÅF8§<ò¶½ÎôtËiJk
NiöÆ
-3r}®S'ÂHÜïõ{¾*÷ þËGOzñdâ$º)FvÛrËËÑU
-Kío6î«÷|êUµ¼']ëñrÔ
-j AÛÆÔ»VHyÔZoÔÚ
-ÈÝFw?
-{$!+ðïx§N?ÉL.VÎÈX:í´¨PpïôÉ0ôfÏ¡IbíXH>i#oµ¿:¼%ºå¨&º#N÷Z*1?Ãßê>GObÊîþÕ
ÿ?
æòN¤-Öod¤/׬Ï(ºè¢
-³ªçýîÕ:ÝiÓõ,\w[ú|é¹ò:9=kLÁ5
-çv¥ "ê\þż4Éb0ÌÉ{ºRáï!ä|
-³íó½SyÓ¸æܲÉÜ_ YnêªWS/Àwixg.À¶$ÿc
-l8°¨¿î|díQ³iø«`±ÏUÿÁò1Y[#ò;çÊxñ¡·¾Ñøpç<
-
-U\ÜÞ7.N!Ö·rïsäO6m·á*ÍWÅâÓÀpÙÝ{ÒÚÊ;pU;·6µâ3xv%³Ô
VÄ·a
-^Ä1¸ßÝZ\R¿à=åh\qwv"ÿâk£#Qò×.¤èføÿS ©I;:âàHëWØÿV
-áQ(cøx ð£´
-¤jKæ³Ä !pí,ZÁpL¢ûÓ¢ü¨z®w
-ys
^EX.nué
-É.Èúuù_äsÎìk!ôtºkÃB=g
-Ç]á_2#êÅÏuQs©2n1% ËÒÓvÖFYm¯S¡%ê<Å }7ù À$YÜin~Ç<ÐÉ!×*HÕÐ.r*Q·à_~¾å*ØÊ8ùKÿE¢N»I)ùjÊ=ãûqïH
-zýÞ`©MCâðhôË«QoT
-p"þ7¨Xkox®.sÿ?7äÂSÚÌI;âGGXÒè1Öd©TR¼õ>¢k¨îö´aLb^w
LÈ1R·]û£Ôá
-3¹Î02
-Yu,¬½PKXàxëÑl¥yÖöÚ@ÅÔXïAoøå
-Ã&iEÙv
-Þw5º|fÃ/'c2ÿ;êAg ªÝÉ{¦©¡1¬~R0üç;\YýG
-À0?cE?lfÉY£ {T`O÷zSq¶0zn$*ÌXI@½éø«.Þ"|.¿uS*BÌ16«g-Ð
-CC¬½n[Æa:ę́#xÇHA¸kÄgä¿^¦ëPÇÿ²Ò:jEûp¦øÄØY±þ¤qÂKè=cÜ×'K¸¸.Ï<¿o{¬Õ.ÄÔ1r3ü½Ù5ó|ÿ±û?æ´+O¾*0#ØÓej6A¿ð8±-å»Rp©ÐJ)±qX<ºÜiÐÎ}Ó`-[qr>TÜ#¥YêÛ>@¡²ì'ûâë¹\¾þÜ$æO¤¬Èøs ë©´ãc$¢Uo¾Õ·´FiéþCªFnQÒT}Óàg+¦H&Hª¹Á³Il4~:+åk»#ÿ@öñ^¦u?d!@ÏÓâµ#Er¨Q{¸ÖXAk5u;hÔüi7Í=mèÉÔí)bräYê·,ÏuÂ^hJËê¸~¢ßÓ°îÿÕYRü#
-£ÁI,ÃçLJêåpgXõÏ6w¶ü:!lkyßµIL5@=& XqtDë~Kû`ñÈmÞxÁthîZ
-ÀåÚí½¤þ´$¹J
-3̦81p¹ÔÀè)Æ:"ijȷ2É\-P9Ôú¦º0¼"aPueAÕ²úÖ'áÆZ,3'J¬¾Í´Gæ¡ <¦Âi`ÊT¢ò2Ë,2Ì;À
-ã¸ãR/ú¿
-¤ÄIô}Çíâx7<C³ZéS|Ú¦JLáëÿ)ù¾È`æ49ØZ0p03ó
-Dy÷ÊÙª]¸;þJÁקY«Rù=lKj(XCÌ"÷1õ°ÃoÎá·
-|dT÷Äî?ãúcÏ>ýe@[Ôò}@4bòÁ\/
-rÿz¶ç)²Ð#±iMÍqÖ
»/æS+»ÕmàiI(ËÃ2$eÀ.ñ7+^x&7Ííñ,\2Fl-Ü
- êýlÐ+Fíbeªu-Z\=Ê9ä¥ÿÍ
-íEï ¡ûMù°uï5êy
-jÏüª:@]d]3=8mRa?ÒÂ[ýRTt¸¿M»:tK»us}LíY*ðø§èy¥n±uÜõ(Ks%Ubï¨ §
-§õ³]nç/Räò¼bwãºlG4
-ý<ó0¬cöMÙù8æLã²X9l³þ¾Å3Ñ´eíÞöKiLèoù¥(ÏHGZ6¬¸N±
ÐtN[1Së=t0ödÑÖJ¼`÷ÿT1Ü¿z:ÈÜfÎ\XÛ(ö%±ZNÊ£?¨{å´N líhâ!,É3{<jµ¬hWNÂs{½ò{¥ÎëjGN¥·#gUZ¿WkOí`¡e~Q7×æ_ÇTïmd·?)±t¬+£ïUçlånFg"]¶2^÷åù
c³y×ä0bb¡±ÂR¹Wß½p;;Ý(è{û-D]zúæ
-ñ½¶U Ȭ3ödh KlVê$-©`dN¿d®ÖjþÄf.ÚÕnmÃüæ²?èàf·ì·F´O/E,r½FA::üÿÏ=xôjôð£>ÎãõÛ~ÒPù=QÏ¢Ï 6á"µ½9
èn÷¯jãX±ã;+,-ìE7åÀíô¦
-,Ôu70VSý§`áÍp"GýYÔ÷JS¾#×ÓÝbgy@ï¡úá
-QOLçn|ÊÇWÓ©vb¥:Ø^`/DM»¶×é-ã¡»ãl Cö)Lsè+Pp/Þ$äº1Û±1¶PþúFê\a3 ö´^å*9ëEY\"Ùô»}@gÖ2-}Ïxf'£7²²7SHä³²GÄ"böWó[Âaµ´3C,ÒÓ!=ïuÐj¢þ0¢½kNW--nMõV52 Õî ³¶ô¡¨+ÈRÉm¼í©¸À\°@Õa/æìÞ¤DIö ilØ?ð=ÎÊAõ6|ÆHÇcD¨AôWÝ^ÝÎã§X«ÿ¯Hv¤¨@ÃìHz-áNÎ<ð#2lpé&}"õÓÃHpAï áÑL)[!ð£3õ@&®òmnÁÞNa`²=þ:]êÙþ JÅZ4òUHî*ýª
-A2ÖrÃaù¬ÿîpÊ_M]ê°iÒH¤Ð ¥¿Å|û(É1$\ìºøwµH·¬§ KjoÃãñ
Ïký\¾½©%ß-¤1νýÁúDè²N\£xű4Ýnº,jµâÛêûÄ°Ä`¬ }ïò²m^¯=0JªEòvã
-äìñý¯èc¸ùS~W°*\ëËjlò«e,þºQÿÂLõTGùr
-¶BÈZ¨éæj£Ühÿå¹g5®Ó¶XRäõQÑãæeÑÌ¡t/éä
-\T+ÛQu¾ú&³R6ê
-ÓYÍÍéá4,Ï °äº4á¨Tئլ ¨?Î3ó&Àá~rïäî@sß$ õÀW¡»ä¸õñþéi[c GÆ(áô§¨ÔDÇÒSÀbÃn0:ÉOøàgÛºæÀ¨ç·Ûö!ÿX ÓMøãã$ÞNS?N¦ >"À}éÇåÂTmg$_#HÝQdÌ3pÊÿ§En1YÐLº
-åBnã%×obÍûòÛ¥ÍAD«¾ZBó+kÅäJFucD;9Ù
ªÐóäç}ÂôèÏFLÿ¨^ïðCCVÞæM#óÕÛÓQ5£ÆøuL+äM¹*i.S·¸iyÐ^duÏOcþfn~Ë-¸ÃøÞå%oäÏ÷ý¬êDÈJ/ýX
-ô ãDn
-:èîÒFQxå¤Zíáøæéq4cø¸Åûí У)`j²¼F3O2Oû~Òªô¾sÆêïNMCfâÊ%+á(ÿÇ4æ&]ºY£'4²ÂÏJ i95ýõ2åѪ¤à5ÖÿSÊö3'ÄfbÎÉ¡ª]ÆK½ÿg¡¬T¸·ãbSÝ7$ ¨P¶g·âVDÒïcÍhRÈfCmT
-Ðhu3n at GRd}DMN(ðköå$ý]~xYÖø¢º%<ö¢´Õ"r ³vïy/|ËNmý¸=íkHÖã»ÅKFå,ÿðÏh±zx/G<|´æ#£ø×ùÄè,µ:Æúæ C²¹E
w~KÝ_©ªzãË
-WuÚjÙ¢+½ÈÌ}¶>𸰠ñÖ^õõG¥4dß@m¦~~"$0ËépÅ-ÅQ¸Ã»üò]1e)# !²h¼
-1yíàJ©ÚâR!Ó.kEêþ":m&¸JêÇPêÜWÍ*&p]̹0n}Öëp|A·l¦· ,©æéè SÉÇ;äÔÈë7öܤ-àÆr]ðÙ`
-ÌÖ£)t©Q%ñ[f5÷(4gè½G¡Ý}C1
-ñÉf0^@px:
-GÅ?(,Ë5»öpà#C at 3#'4y
wc^%v´
-â[Gp
=ÐÍr}Õ02·¢!½À(¿¿².?Ç(Ì÷$¿P0°a8
-8%Ðl`{qÐÌ®7Ö3?ÅÆWo P±þ®<où<!Ê>kàQUÆú8ïG̦ٲºdÇàó¥a¢zDí¨Bo¯ê ×4ÊÅ!ÜBÓÑL¬?¤¦þtÃkÀ_öçí«ïØ
-Z\0ûtxÌoÕ5tày<7¼Ö1mùy±Jbêè(bõÁ)
-Þ¦Kl{[¿PÇB"[ú~O:U`QVFcô®Ò¼ùôñ9gʾ&
-Sgó!*tÀÛ¿?>Ò\9¡ßºb¼`'øýcïÆ×;ÖïeStKÏ4ϥתíÄÊ ²°qsôuHÄLÝk7
-ÚxÕsÈr°mµ"WhàÔM¶¿b±WA«°{¹'ùr
-©»#ÊÊnºvÏ&ÝG8º_`xk at A;µ3WßbÀÂÉû ËãÅÊpà·ôc1iÔÒûæo
-×ÐK7
-ÈiÝÅ?ðå¯Å}-=¯»{ªj}¤Ì+X©\îÄEøÏ8-'õ«9c¿©W*0D)¸Øn«åâ8C®6à´EÊ©¡i[,4m4BÅ5?©W׶¨çIj
ª¢ýmú}hTOOi8m
-DÈüâßû\êFYWcËÃuÈOIRùd
Èc¼ÿ®&¹f\6ùÒê.fÎrÀö¬-§(OäTrXß+ëÖjð¬xp,$a²b¯âä( D×#×è÷¥h90\ÒãC½z~:îùQ3a;ÝZ}îXÇæO¥âqWB¥1^^W<·«Ô5}Ý[¾ýó½M¾ó/÷kÀ¦>ê[--øÖÆ'LuCÞ¿,EöÉ
- ©%F
-¶a«¨~èEv¨2Ù1[-g)gÜÛL&?¶ô&U/ 㬠~Ãòa|°*nzñ"kóÇ>na"ú%b
-wàqWÅóaaQ¬&dÇ'hq7¶{»u/Û/Áûå%õ#Vùjô| äú'KoeöFɬ2zI¸Dþ-V!p` Ýòú#,¿¼rÜ[,üÌÛ ¤Ã»ÍÇìUNY
-éðxÑIF¼9é9¹Þ ëè¥Ú5O_ß3ô¹X2Ì%>Ö°o2EÌ%ʽæ£à¯°y*¹Ã«i<g
-û|àNÃ'5¤R$BjèÏ<ú{üÔ@¿òÐ}xTdw²èlCv7?ß;MÞâd\xA®ê.U8ØÔâ9¬Ë>£¼IÉoN®·åNãþÇÃ<µKòÖBkZh#L1d·+¢ÒIA%ëáïez3`ãøoÜq`é}áÝd¡o
-ÝqñOÛ>Ä¥÷XÛ¼rj²vK&*¶%$2Üt¹ßúcAñ5 À¨É¾$Â.'K,}ye{Oï^
µ;õêì'µ+H!Jö R»Cm3¿¶âE&~BÊ¢åÃU
-wÒã³hÕo~pÈ ©'ó.aÕ¤Ê×ôFdÀn×2Vp§õÜ
-Á¼3·ª
-Fó£ÿÚÁðaî~"¦0NWX¥¾'±ù6xV ¡OdêZö%·ªûVût\º;sª LÔÔÎ^zWÕSwH[,¹$1B÷Ü-ØS¨2x§Âs/Ïyl,òÑH`©+ïûáö:t>*è^¹ÊiÌ
-¤]y±U\>@öôfrT¾Zð!WàxNåö(¦uèãJrÕ¥Fá¬ÍÝïÖ÷®8~uÂ$¡GþNy~è³iYË%KCw:W_}ÓÉêlKMÏ1
-^¡{ÀXTA$ ãPîx#-è4üNÙ$ÎèüÅi¡ù¨7Æ°`MAf¬åp
-¢ÞÜ°ñ5mW¤¥!±äÈXÌÉ÷®æ
-ëly0B^¨K¾Ý°
êW㧦hä¨ï+nç³èpΰ½µÇawo,fGø,á(²VÞçcUp=XåËÝ)1>÷6F}éCUhpÙ¡ k(Åpß-ÚuÄÓK
b>wü|ÚØ1ÐoÍ~+eûøñ+x}çW×rÏg,fú7Ípry¯VPå¡9û¸ºrãGuNºÜÀÖi§"2½µ¯}~Ñ Bei*Ï]Ï%ET÷9m¼7)"")î£øØ0
-²U~Q¬¦Óì¢Öó±4E}£,É.ظ;ûÝût¡æ'y¾BVjÿPå®ñ¹U¦¬¼(¢n¢<ÚË&ò2ëcûÏxr^ìHC{¢¯0
-2ÝÊÛ¹¤ïTøme·MÒ
-ÁÀÀú¦b·ç$&s7öòµKLÙÿJKh±1B{I{Ôt
-4ÚG+»DÁKF
-Ï:@θ©¿_çÀ"
-Oã'^͵å!]'lüo¢<Bãì1
-ο~ÿ¹i}S§õ_Ã/¡»ÏûÆæàüE;þ¤§áÕf.)Þ18~Á1-iknëJ+2õjUL0d=ù-رGÜçC9ì]ÞoÚnÿUF´Öáb¹OFº63©Î@æòO£Nåé
- §
-[¹ÁÉ%ÅFr*¦Û2vJáºt(3vB¼ÃÅxºÚDȾÖU[ÜdoÕyzôRuGuÈ{.¯äAÿÜQ»ÿ1Åww!©b±q]KÂádÓ ³q&k¾^Ù*î( º\çÿÞsRÊýâ"Q<«>7ËmRZ楸
-®±ZcÕë*\õi2í?.ØkÅ}i(ñTÁñÃ|}èü
-Øçè/t CíÑ=yÖU%¦'HËW",¢:l|íf¯"¤ä¹_á@'ÄërK§-pÛ¬qÃÐæª^ÅT+S^&¤lÁ1ÖÜù$±ìí>í8iж*Þ
óIÄfÊéòûIÿÆ y¯Ïª ê¹v$B\»mQ
?t(`[öXµáp\¯vÑ\ ¾.ÖcáÒOP|Ì}ý:Ú}¥¼½í÷Dr-IÒ!oYh5%óX]T»øR'ôNmÌÿ20ÅUáillGÈÀ°&©U²h½ØRæÎ8Që²sã¤Õ
{ÂRt^ëèè3¸T>fÿápÄIÝmÂr)
ÎYÄ°aÏþ)@}¿FWi#èÔl
-2 åoõÜò¾B îH³í
ÔÌ Ð^,°¿úCl¸«ÜïaÙ¬åÁ!)úþ&È`ðBb×D·RÙæÖöe3l%#od, !$G;ÜUaÓØÁ«y.E¼Ï¿4ÿç?µA.ÿè+¥jÄÀæ¨j) ½Æ$¡Ñüô5bI~J´$8Ë)QA'öÑÛ¥àwït&*n=(ø㳫ÔÿæxÏ
E¤Øæz5ý--µç¬ÑlÁ²E
-Îöt§¨
ÛÝDù-ÈDU+u8+E oîÄÖ7}ÒÉE=˺%~ìFÌM Þ±Ò¥¦@Ühqë{.ò/Þô=\m91Z ¸?ÊC± éæzÒ?)7»C2ÌÊú¨6ÞF.·6}HìJ¢Å¹@?¤¬PëÂëÌ!ÕÛÝ YT°!I6àèö.H±6×¹Qqÿ"óïÄ~Ûær6#hôÐ}qK'q^A[Ýh§óÂ{g¤ÅZ ÊDòãÿlWuй¦Í³ Æ¥ú¸¾s!æk2-NëÅsG¦]2û
-dO(ôó7H/-Öc:rÑxC},°øý;uW¨¶kvß`!YîÁl×r%ßà\MÍó}½9ËÊZ-Ìð
-a71jÿmûrY¢oúP #±´"ºéqF's½TÆÙnîÃÃ¥ZÞë¾ÏMü¼ ç\Ë#O%.¯_^sæËÁc=1%=Ÿÿ~öRïâF_s
ÝðýN¶Scß{ÝÏg(':ŵ:¥dL0XÑ=T'¡f¡+[ß°2 àȧ=}]u5Za
ÅE¡w¬9;¤mÂ/Z~÷*->®¸L£
-[Bó¶Y£jåÂô.$¥m>¡áåiCd<
-°M!·þ£ëUd½î%öÔЪޮtx<A.3©EE¨"¼P{úz'ÀÿË"7Ù/z*f[®üק´Hü¯¥cè¡c"+¾øbüÐòÎCÒ}K8IDGex1Çý-ðÃÓ´YWìZ4 5qlKrKÍq÷ÜϲÜ
-/óB²2,º²¸
-ÆÛé
-ñ÷;¼ü4m¿¸IK)¨è`?ÓHhjÁ/ YzNǦ¿øXûLNÀ ïHçål£hÊĪ²ö+^nbÞàýBÑ°
-DÏAú&
-=Í G%¥é궻©³ÏÍ ðr2!Q/çÖ°ÿ#2Y+ÙtÜ£ù"
-ñ«FY¸4ºþÉ~KMxD¶Î½Àd»'¨5{ò«#È+
-d'OºdlàÑÖrgÍf¸uyN¢ÒâG¶jÒ
±B¾Ð Jã-° XìEÇÿ;ØsÅÐí¾!:Á½bè+² FD9È`hi}*lÏyvaó=³t´Î;'ÁèKÎW·ÁÀ T¢
-ó¨¹
ÌÎJ}ЩðßyÂ\(qÛ:+äÜ|ýL½8²mGHd3KË@Ò/¦\'o
Vâ`¸î.«À°ß¤Z¶ÓTôRÖ~Ê«z#Ë(«IeÏ'_.rCEàjM?+H
þ¨!ØôzWì ·f£¿g°Ò5-<¼¥ãAæãv¦>GºæyD¥ckõ5Ót?º)"ߤ/ù?þ¼sAd)Ç_Åuå'
-þêÌ´4'OuI×.ê?|¿^æ5FsÔ(m./-â'yc08\WÿHY!'ÙIÈÄÓ:1:Ç«õÛà|¹µØÞ^ÌúÐdÑÒŶ¸ä!¬É`fNl{i0ºz
ÁvyâÈ$T<ÓÜÑõx%óç¹±B 1ä«+ì
-l#ùwæøò
-jµöVTJHÖØ*ȽÙÃØ~\k¡ÿ|°Ü¶ì5n°¯¬¦^¶tl6¤9ÿXó.ÊðR²úµ.¢±\K at xdÅc0Ýò]Jag°¢Ü'ªÃߣë·w0°´xÀØS:?Á~c M.¦þ\IÙµg2tÉ$³/xÆD3úíoÄMfDö>::óù¹T98z¯ A ¶|ìÇv@ÆÙ
-%pªí=kw|nõ¿tÊN^êYêu?#÷Õ¦jÒ:Jþ¸^_FP;@e8ùLØ»zËQg°Oþ´ÀùÇQYêIE\ßòr
jÕ¼.µÕ4¬Æ¥,8×b(TN#.Å2¶Rëá½ù
-ÖMñS¾VWû\© ~àjÞ'ß
jo:3Ü¥?µ¤[ýÿ¿1¾ñ̦¤Zð
-«Hð ¨P¹ÆÄç25"aÙ·µÞÂêw8R¿2ä+?w=VØò*µÓ&¬D }î39²QοÀ¡Þ4©§yç¾Gîhd±åØöýÍTJqÄÝãåýúÙO4åxP\$tM)DÝ@t
-1©H«wwñV´Ýÿßâ<þc4o~$ô&CǤTôQ=
-½dNL$>\LG;ªñõÔòNétLÌh´?L?²¦ï9Þ$¤ÑªÏ¯;FÁ
-lÃ. ÕÝV£øíÆWɸ@´ÒÞb*åõI«8ÝSê¥SÕ¥u¨;/=dÏqNç®k[vï9ig§¥¥@ýub
-ºEÄ`l6â¡áÅÏõ^µñBåÐÞè»ÖJâø(lT_ðå{¬èÊI¡N´Ë2Ù êNÇc×4±OбóaÌdÌjP'Î÷~jñmNt¡±åoK UáÓÇÜÿ*Î@Xp#ý¿³ÛT¿jåÒ¼Âó}[§ÊjvªÕTû
¿h¿Qì.;ä©í
O4± G
-+Çyå³dTQs$¡mļëÅÊ©GÁOÏ;¢[à
-P÷KÄqíüþ;aE¶ÁRêªÉÁêjDßíWµ¬]¶O:®a`ðÁÑïÆ>%jmÃXC¨Ôáë¸íÁ^Æ$,A¤j¯jãþ)Ø?÷·"1÷û8Ãc/ÏÎrÆÙ*19]IÊî?áz1H°TÅ"G÷L3ô-û¹9.
-ú¼Ï?KaG<Ñ8°Uø¡.IOUCm¯óEe®òõû
-äø^$oZïÔÆÿ¬à5d°êÀëØ3õ)ü
-ÈÛ
-Ò¡q½Ð'<SæU67`
-÷"äá§
-îl¤§Ïs'ìÝ¥Õ)]Å+ºPÙ~
-åzþo"¬a3ÿ«{^Z0ÉVYÑUÏýæÎýD':¢bF7],eHRm±Á|Ã:IÞò3ÃD]+Õ
-xgh[¨£¡7=c
-xz[LËöBhý3.&Â7#¡¸zäR¿Gb§Ô µu3ûÃ2å*´·$nGpÄ+Öw¿tõDûAÏ8ñɼuÕíÃø_&<Fã@C®A§+b°m½ÉÚþ·CîÓó0¶;mÀs¦ó ͬTÑÁ&e¦ÜtH!.¯9záÿ
-(Q{Ù# :pª5GÝ#ÁK7IærñýV° p3v¸È
×c¼]Ãw
DZÂÿÑ~ÇB]í¹æ8!ç+hS_(쫲éë¼-¿ÕîJøÖ;tööÌ(R6ýØi³ÑÁÑ£êÇ%Pý
-ñ1Gy)̱äbLrä u$oô°!Ëñ×+7¡lá£)k0¼ì=ëV¥ÙZ÷å0¯Ò%³ò⢥î:¹Mì«ÙéV¾8)]½{zï oxýEÆæC.sYøaüüfño+óyãAkþ¡ñY><c÷ÏÆ0¼@Bc*ka[¿7qýAÜ=h±Ú¹uçïüÂa¡_io¢y³OPÌøÖ6[ã@+.µbí/¦³8`¼.ëñe¨WÐw¹OOJ° MýIÏz%, :ÿQÐ2¡ópiToÐQX[
-D'äÜ(TÓPÑY³,HÒ[ÏÝ¢²Á½T´c÷hFÜIÜ*
-s
-V÷°ÿÈJÐOËáâ¿GS)fNCÉÑ0Þd`¼3nWoÁ(+*ê5Þrv²à"¶Wb_'yîe¬ëíïDec]yê6l&ÜÅä¶Ä¶ }oe`²7§Fªþ¹bë±AðªÓ'«¡M;ú«(MI£ÂKDP5e¹©uo3ÏׯÇJßî2
8;9o'ªÅ6µlÐïo&`$ggqÀ,`~\Û¨iñ4ËÏ=35ØÖ¾
-·"2Сx ÒÛÜ@ÏÚÒ¦Påñ,`i§)§>õªÝ&±:a!^¡Æõît?¡¨ªih½ÔYdãötßñkLïÚ'è!Tt㪳zD'uoÏrz'±í23yo$-ïª:èxÌÖt&>
- ö(IÀ·Ç^ÉS5rÞH%½Ö
-Y
-WûªÜ1ßEZhiî(Ý|æ®ÑÚ¤©ïÑS«ü¸>«[YÙý¥g¶ªë<`lÒCûÙoP»_Þ6EL\Ûµå>K»Ô0òàÐå4Ȩ
dÌa®pP?` _¿õé½L*ùê+Î%@3y7\µ,´D¼«QPÐgÄ¡¨âñøßy}4»¯é!¿i²S¢ï÷;cƱ;¡li\ÆâEð0í3ªÕYDVlrÝ!8_*r##
Í>ö¨}ͯþü´óJlÝ,q_³^8¯Êø,yc
-÷]9´ÊxÛq
(0Máí¹åÀǸ´.;lÖaLÃ-«¨MeJQTZ.«âár'ay`~Òx=~3qJÖÈ{×?b+¨Ç\Õö~*®µno}vÞokD0àh9ñîÀ%64iô_æÛÝÌÍWPf
-c0ÕÐU@ÈêÛÐ+Hßб¥½æ1óå¾³Á¾ÀyUþã ä§MØ4D}Óõ=´fë¥<+l6Xÿê×XKº"Û®Päå¯Nà1$ØØì65½qèõ\-llZl#ÝXyÖnÁXUèÖCgu½"Ba|j{ÊÝt33%¾®¦öú±Y.ØqXócüÝùÄíoþÏþ×øý Å=c×([¸.tÝñ
-YêÎÙdí=yÌ×àFÃ×7O00¬&þcÌï®C\NæÌÃ\rPÁ-¯Òåçüòïÿ±ÈúÂààxQ|èA®#U4L2çò%¼É¼~¥íäzoþk`Îä§\wx¼m@ôÛ»[$üÎÐêØ1"5G]ÛîOè:|ÛË»RÆ,«¹2ÀÚ«
B)ãÊö®- Rà§Ã²3°\ôàéÔ±ë¨'z¼÷º¬mÚA7¢PÛpÃhµò~ ó Y8©oøÓÏ0«&¦«yðDç>kñ»Ýø'M+&7M3ZKOßâ&å¸QiuÍÀu<9×OãÇ 7»§<Q]s¬7Fþ]éG÷àHq\h²Àb
-cu~ãË¢NëcÉpö¾ÿ´¤HAWï&øH¦' /láa½zäAã)Þ¸~iYÆ6zæÍecgÌ â¶<Í%¬OÏ
ÅØCv£*÷ýè¹I¨P§4ÞÍàPcL
-Õ[Gì+ÃÞ±F
-îæ(Ï®_¼º
-¾v!Ï7èúÃKÕv{<³óÝwݲì/ͨ§ª¬ÕrÒÇÃÓ§âGîfNÆM]ó%Õo±*öo¿+§ël¯ÁY±+¹ñǬZH¦Ty
-å9«°ßaú]pbÐ
+414 0 obj
+2276
+endobj
-O´Û¸á3sõõ9ü
-Ñ+TQ¤£®oÉBîæ$íDNÛ@vv"صBi>Äek/;Gu«0Ö·ìlÚ
-ýêÍJî×קí¾<^CEAìq,¶*Ê6*ÓÁå¸ðc$z_EÓ(:}´Qê JË[ܤAO¼T´þïïöMûÁ,ÁÅ(#3ÆñãÂ!Íó7GKõµ×ò3¡*c¬XRE
-kÇ:¢©+yö¾ãw°rQ°ø0û3?ë£T-©¥2Ðæ?áæ¡ïä ÄzzÞ·h7Êäsp±%Æ{J£Òu£þX`,;iF£·aìü>Þå¶û]
-¼P6ÃÕFY(}st.#%
-ÍIèwì²inÏÃÊ´
-SZ½èj²~:G·yùU85ãjÇ?HI°'
-Öaqh$v²Ò@à&TË °G],>ú·#Á7ä§(§÷ÄøøE÷Nß'ÿÛP7ñù{
-júàÒî£`±$WÈ2ê6ü¦Zߟàv¥æ'¦Æqi q ¾#Z¢1Â$'Å\¬çt-t¶²¥§ÛhWÌâ4´¢;éWn%?'ÿnCO(ØPǤ ûwå:ð*XᤱÚQ)P©<(®X<ò ìõ#ÕSs1j¦üÎ !2Óº
-å~Ý&¨
8ªUK?¯Oúe®´µðá
-
-°-pÝ×·fJ)ζB¤i`£¿Í¬Ú·²<ziÄg+}q½
-Eî<Tâ£O(¤+5êgÊJÛ¨`x5ºz¦I¶6
-²iq0U9OlÉÅs4ÍÁ û%oK) °<Ë9n¼¹j×1õ`¥ "tÍ2(°£ê©=ü4"
-ÂB¨º¨¥B·È[ºÊ«!oµ£Pê'øÈõ»Ê,«PÖeJwúfDÞg<t®úgo§óáìËÉØ©6ëtAÎ+ÂR$TEÌÕ|×-Ù»T!^s×%¾®v
¬?JyóÀ]Bë k¨v¯à¢e0ii>ê$Öaºý*Ø×n³èâsJ©2qõÏ5VáÿÚû@Ìf43ô0ÄsÍ ª¡Þeê%_É46
-ºf¿ä8¤ ïɽÁÙ¯t[tU
-FuO¸
-*K¥Åò®·ÆÑ6P沬È[ì1É8|èjßàÂÍö¦ -1éá4ëÔÜlFÝ×7Vn'ýª9%¡¢¸»9Øií´/qÎØe[É6Éï4c!LRoé&jö»5#5,m¾Îß"¬,ªz]§~6QJ±;@à¢CÍf«Z¶+gÐEð§nCwnf>¶·GN>Â%
-»ô/ù¶&¾vÁáñ]áJ«§h<A~]xÌÑæ?ßÜG<x6QÇ×yt´ºÃ"[O¼!ã/a»]¦ÔY_oº@lE¬N
-)}j0§{pÑ¢îµ;0ºÀ
-0EºÍ^Â
cMë4^ÖTí?¥õ*þjMÝÿ«ð49ÃK;+'¶£I£b?:{ïj0Á?Mu) ºm6ÂÀ(îpaßPê(VId£S8EäUߧZ8Sä
Loßað± míëèîüÚ°îã% ì'J÷}30Ð7Ç@IKÏ¥ëVqEÞ\áê>ÜÔ ÍCõÆû·',Ù4*Ðý%I³:ÄÒ$öØ?|«Tµ&pÖb¶,A˶ÁB"K>gMÿit´PO?ÿsù¥h.Gxì[×û¤ê2{Àa
-¹u00÷Âè/õ¸ªÔèÞ¨ôbª+d
¨o HéX3¦¹_f)n¿ç=él%D~þòW×ûñ½0aY(ð('ÿÞ[¼6SÇ
-Á²
-Zõ'|×7ÈZå¯è5z~§¹¹A1%®MtUAº½ù !É£f%H;=*Ä&RßÕGìîÄûÊs 0¢t½Ro"Aã<åÕyþ%bñv+õEj³²(Â(£ÝMí_èáÜ.´>c!P>¦@
-ý¦¤Êè!É]õLÜá"Il Åkbnj©â düȵÑ[ã÷JufÂhÀÕ¸®l¢µ=éÜt³©8
-e:Îó* Ðá=ÃyÆäöú;xoðùn+n5DÂëÂs¶2"¥ê ¯2d(
æZãï6]HéðÚÃ**÷ÄJÍܳ´Ïá$¼CÑeU*ξBMëáMók¦|«Ån{ÒZª½Ú´zu&õvT¦ýáHÁð3ý%-úoE#>>¤XþERDó8¤DUpZ# "
-?Æ~ó/þ9øyLIýùC¤±
-®+CN
-Ítùsf<~ËeD»DUIxÂ)Ïeq at J½^×¹wZûºz¿ÏîT·£)hV"ôÝYØX#§1Î~&f<d]wß-u´éê¯9(bÁ&euuƤU @uLþ/aÃï½ß³(èY²ù!¦ëØÁ@Û"q©Ä.Qà_ݺpCØ òÐârK°+ÛˤæÞï¢Ò
-=) q&ácþ1µ\p6NP±JT'E\ÙÁjúÂÏdÏéqw;f:¥ÁîÚ5©$ä`¶ií2Âüù-Áwö Á':ÄvR
-cÈÎ\ù`l:Ñü»õ,[±'ÝI)ÿt´ô¼
-Ð(/¯òg²Ü¼Më[ÿ¼¼n¸hsLÁâµzÃ,¨èZä×À-Ë/=È@¹õ¹ó\CÍ´?Я.Ùú¦µd=~-¾d%sæËľÙqú
-c ¹rÂJd
-&yz
-b¥Âxki¨ªzö3QÒo.Á«©Bx߸*¾/¡0g!>Ý5¬X Jj+@mV53ëf«c÷CæQ9;\1¨dù
ðÁÔk:¢9ùµÈB¬«þÍgsØE¿±×«oú¹%z!ßF{ZJ8 Z´LáÀò¢1bFÎ]W(>ñÁeà {jÓº$½þOñí![Æmõ¤3éÆ9'T«!K9[ü2ç
-¾CaÞ-Ô!FuPÀs)b]ë[e'q%±Ä3ô ô«|¹fbɸ8óöWAy¶±ëLÐÄÓºðñsí3 at Km+M¤0WG|óÜã³mÝ{Gs)sêÂ6Õ{KXøëñ[âè>ôÌ©ýn§l® $h âv©dî¨,ÄÀ×$^ÇEÏ>PÛ,£TQbnh*
-ýbACBÞÞdÓ´Oø(ý<c´s×Êäa¾p8ê²&ÌÜuQ Á§§vk×йغ¹8Ä%©ÀÊ®`®ôX`ÂüÂÁdR|0¦¬ùbMîËò@ô½æ¯Ê©`j®ÇΨe18²ÅIÌÔ´%(û±fëgÿb#T;Ad«/Bm» 3tÖ+ßT©H!ãyy
uPrÈ.Ý È
-´$mr·wà¿¡SدnGýÙD1 a÷¿@R%S×quSÓXM+EHxÀ#ûÉ/_ Ø8D´jVÑÒÚ-;ØÙÍôèA}Ç-
^1-rÃ¥}éÏÅx¬bÞ©6&²ÍOïÀÍþaå_
-êh
âfÙÆ$Ôa%idã9~p¨7¨°ë
-(âÑNgÜËû¢G¹
-«KÍ^'\W*®ÄúûÊù[`àB<
-Kó±Ý{Ь<>^êþÒXTê0ì}Ó6
-;é§1ßgp@æmfå½üZXä'<$£UÕì4ræ5vJ1ÛLGY s]*ªs^Òlj¡Ú>ÙYPqë*^A\/(.¹ ´6»4}¾CZií7ä¥ÙHèr-krïºÏ{;-²õTÝ"u¾
-u÷,Eid!íÚÍ7XO÷Ý¢4£qåõã<)êhùts¥ÜjR.rËÁÖÀIhþÍe7ÙEÕ*¿*ìúÌMr'íFOï[$ilwÛ ûCuæ¤ñ,÷0ÝZÑóTßb+¤bù ÚW»ùm«¼1¤»ÃÐBT£BUÕÐìfùÁ+¿i:îÅdÿÊÏ0·¨Bê"fÈW+SmÐÅ|ÇDÆ«ÿK×~üõ yz Ø;ÏoâÖ
¤éÊFÑÒ»f¶Q~rl%^,¹ØjZ¥ðq>qî·Th×l¿â6É''c<KTÂû[ø`"¦PÆZQV<1,ýUX\fIÃè#Öt.®
-ÜROfY²ùêCìfR»RfÊIüù"ÐW·vOñ3µÕ"¼ÏÅOæy©àJlè:µ±¤µmaÔö³6z:fºò¸_g^,~,±W»NÎ^ÌTSÄ©c#:áÙð-ü5[mWþ|%¦~ÉÁäQ¹ÏsL¢KmTéÄÈ
(ÏÿEð¼øZÖ¿Ä!ºyëâX2õ
-rÁN°4@¯(íü$Ç5AOó¿×7ìZBE=~H
-6§HÂf¬V'ï:>A»ÅCçµ`)Àʪ}ýÜC43r¹³<æ ½öq0¬Mª/û»Gn'ÚI«å<öÙ»L~¶'Í57Dl1Õíü={£Ð-%|ôékºO-/
-AÕèøKó6-ªÞ, ÊÆXG¦Úu!j^¥ï/n_càL#áWUÊîgdâútEïÜk`
më0äw]ÍÝJ@»+ôóoÓçw"íy»÷ÔZ¿°$L¼]Z0ÍÚ£rVy6γ ¢¹ÚHܲE¢¢5ú_íèÕñVç¾2É:±ÿé~º2µ¢ÍêIkt½]âoñ¼
-fYU§-ïm¡ïîÀÞâlEů °Ã
-lõhát°£^ón/úLàXú¢Þ,àn Ýë@¦\Þ7]¥æ@>Ã#dÙ¦£ÜDpvvIµâtKÿMfo½P¸¬Íî+ çQtelP£4ü7<¢¯)ä+õ{Í(MóQ("dþTÃÐwtd,ÇǾ¨z;bò~`Eâ KÄ.¸:mÓÚoR´Ãuu`?NÔÁ¸1sÎÙ&Ô$Z%E¬#«¼×TÛK]ÀÓÌ'"¸¢Ã/Û^pêßWî)<ßgÊ3táÇèQeð#¢{×0bÈ¥ó»A¯ÈÕI;@çbmú
-}fW}Ã*Ò`Ýz°Á_pÂÓç23×Ò4s¦OW¦8}´n"Zàs\z._E+çÙ±)2ROÒC&|Çß'uçVê\
-(§2Íj$v¦Xk%2fªgLÑÖÕ¡á£Zoûc²Y¦Åc`ë6úOsB¨µâ$6*Î%c
-¤S£èR×o¯rª°0§82¨óÓßÐq?¿PȺÐí
-ÏÙñÇ}=õËØK-oE^êP8¤<?ÏjJúÐú ±>y)cnÄúÀD2óT¡Ê;8ßNÅbé*Ò·°z¨¢¶XÈk2qYBÏkïôêw$OJ@&££w
y BR°;`ðhO¶¤aF/`JXF9%6/ä²¥FMÍåãyëO÷Ã|ÇEo`'X¹AeÇUÕ}2\^JÞñLóMëk7í~GVøÈaHbÓëþÜÞa®R1®Ï5z¿q¡ü\øyLË6º/³Tfòò£6¿st!_V;ãI¤Q¶ùïÓd(JvÆé)Òè¼0ú}:!Sï²÷°¯:r2 Ê Æ[§ð¦\î2!=ùC/Êìýÿ÷d»^×}§s÷ñºUÇ»
-$õ|ºfE(©Ò~d5RÇÀ+Ha½Ä«¤ÌéðèàGù;ÜqįCCfn=ò®(hLDl&A
ÕI=½CðññA/f"\42c(zaÙ£°î:rAVj{á:ËEà¨Èèòuú²Æ*Ûð²ìÌ«1Ãv<ÙGØý4±Ö0s«È'=ánd×(úí Âh(5¦ßü&=8ª4.qÔþõná$´<ãq¹¯?¾ç^#Ë7µßHʷϧI[×:N××ÞÛ¾½Í þqñ]A´ÅÞ÷e>©DR..
-Ês"o¤
VéÞuY²ú2y¦)=Ú>Ó<iG
-DúÕhüdÀ×Xzß«@àëa¢RÙò2v¹¸ü:ßqò74=ê²¾ós=Åè!ËymYÿ+t&6»'ù³k%t¾yÀê/aZß'Ål«Ó
-ÅOu MM~-;ÉØÕAúÇ9 ÇÁCÑa#·³
-d ìòp|¢oZ/`lÎö|¤£´ô<²ªöËxòÑÂÞbâ£fâ~v? b0u:+OPÛ]¯C¥²^ð>Qv:
-ÿ.'l«ÇÈ\´'J¤
-öÅg¾0ÚÝçÕTh5ö
-!ÁW+¯ÃÖ¨n!ÜϪqÑR#BIòBU1ø&áß
-ðï-nfåôÔ -ÓXbæp_7n]Öå0$ 3Uci^´Qî#¶Ûj
-EÍÃ?ÀàÜ4ÿYqº(; H\/[¹l·wóéOà« µ:Ø ÒÃ-K?ùÅg
y§2µ¨OV»/C|ÆãɼJÏYOÖ1Ë°ÏâÍãÒ³`æá0Øj9Òdä\¤µ²pSbûÞUW¤k¡Õíüôq,d¯êî/)µ/¶ð`èxþX©ßhgñ׿nX`Íkü>rozM94Öîõ´¬îµIs¹%«Òúì¿ÕxÄ"bp_p*VÞo´Fs&Ìr®Tñà§u¿¤F=2üÕynáGSE]ËrjÚÁê@ÎÜ`{iWûË)B3gÊDNf/Ö;)üæñª_t
-ß0Í{pÊÑ«l$£_dAÄTnó\Eä¶G¾ú:誾Zü+E-
¿Ó[Zõ®çÍi¿é"µc½Ä'àJ\ù£§ÊZ[§¬®áMÄÈsãcÜ
-äyÇNÍÿß±í0&ø³Aþ6è 3_^·zDw,O¬hHÈâ{'s¡E®_e«Êæ¸Cõ³«ðÊù'e´lªÊ÷À*i]Íiý®iáÚ ¾R·Åï[&
-å?TÁã6ÿm²_²K¼,7âènÒgqdd)çâÙPzø2oQG>£ßfíJ}w
-\M
+de}ñG>zË'W!ë3ùfDRaIάt"ãȹxßñÄ
ÓÀÅëa.s
ãm+^EªDXÝâ M>ÙXåT%P±oÙ?pÏúûwv®;{ìÃخൺ!â¾lc^(bïþÀñÊPóy]l}ÙÝï·ó(d7Ä>Iô£³òÎó2æÚù4"â8ã!ÐÍÑßÞPV;TUÇtÙ{nHmøoÄÃÀlCñFÅâS(ßFz¥ígêÌPôïÑÒú5-)hP7ÀRµ¿j÷Á¨±jFC2ªß(Ö13µÉjA++ÚÄ°d[[
-Ï©«¸õvrvq$ÓÊx9Êw»÷çZ×+WÆÿszDw<¸ÀðÐqjlc#±ÖÆæ%=ç}ØC²_H;È©¸}êhÙꥺäX3Ñ¡jÛû~·¼8îqÄëLÉ¥ßA.åaæ ã¡Yl Iä¬ÐhH]¶VDǤS¡ÇNÀu4aíÂôÛ$÷̹B·Ìv¯I¬çny¹v·ø«>Ë8Üq
rS&ÆÁ(©\9¢gM£·Z>¯t>ê ͨùÙ¿:V·
-þ!n&#ûÅg^Ãô$#éâãZÞÊynhÅ8óÏ(:²N1ÌÔ>]Fëq8FåRþ`,mõÁäÕ({/¤aB¹è+mNÃÊ.i{¹6÷¿QúOdMÇFkp)½ò
-ü~Ü ¯ÑôE^ Æè÷vð=JÐ6ÁsÁP7!ü:+í>ê¹Êpý¡DÖ®Âs¹xJc¾tçµWK * ÷.æíø
-ûª°FT© {WÛ¸Îuìì[þ¦jÙèÂ?³ô'ÑuW>xÖràHyÃm¸l¹i$ï2Xnâb8+^éxPzòFWêÆòCL\K
¯GXtþÛ©þ³E_Ìâ6xænõ]A¥ý0S²Í8Ù(å÷GëSü¬÷ÊëNÎ;ðTÅäJCTà>ªQý9>F¨ÁäÙì7aϦÇ^´SlÍËÛÕuÃzÛ]¦*þ(¹|Æ»ÈGñ]àAIÒÄyj·6H+À© [:ã2¿Þ/]a¼ÚN²·ýt®Ö
-སjîËU¤|;ó¸BîLK«Qß\ÛÎ
-°'NJµç3Fò2XÀÖ&±¦¹=ÎôÛvw
-Ó9§â"¶)öÿ>
¬V7÷w72S(JÙõóäm[s!zx9ö÷úzªêåG=lõ/AHq/
pnÎÈÏj%jj¹Aí´ì±.ÕÞíCG}v .ã¹cve=s&¤Ü¨;£¨ó]:0\,ôY¹0k0TÒ
Ü}ÖÑÝH+)ÇßÂ[wÐé%)ÀFôµÇ7Á4H¤à}5*¹ ~MSø-Pßþûé÷e¬¾SUcB
-JýK~¶Õ?7vôÛÄ~îO£³,ü®Ö@v8¬TpÏóH O¬ÏyÐ?í©âiZ.NÊ>ËÞíÈÒª¾
-gF5£ÇuÖ¡Í£Þe4ráÚÂNAB×æ{ì×+>Ã-ª;éÔ-Ý#Û}ðÑ¡`¢è{F{_.þ[4{W°Èxri0qÏêç+ÉG(g>bñ*!ªfL{.
-Vx<ÔMaÁ,Ðk_?}ß
-@ôQ5Þ«%§\íÖ¨NIÞ×ïëFѹø4ýã®ÝX·ï^æÜ
-G¨ë[Zªio²¡êT³sâîþÃÕÖ¸¯G8'²NPú{N¤1ãó¹âm¥åãÕeÑ9ÞÛc
-7?eÞvTt¹=Öc.äG¸ÄADéIn¸#Ù_q[):<7êe.ðÖž¹1a±öa7/5ØäiïÈÎ'R¦UI
-VXÀúo>b"i±ú²ê¯NÓjÆÔD]óáÆ°¿O§%E·[ÇÐQÐ
-p¨¢%%ﳬQUºG¼Ã+ßʶoB[
-ðLÖ;Y]¯ìc¡¶âÔø;Ö=§Ë¥,Y¬2³Uס³®ãéJú9«`÷`ù'ÈÎË ÀË7è*9ßlMµâ7p
-ÒpËñÿIèàÕc6 lYS¾ÇËv±jX3G)ÌØϫ°ÜHÑ70 ³³oªØ>S-MsÉ+Í£ãµÌcý]&6½ ø
--X-
-ú0ÆÈö½(5×ð©âeëò8è>æQ#Eõü$tÔ$Á¬êÒôÕ8ñÀÿd x2!È ç%ÇÃ]%¤Ø"C)¥<̾VÍ+½k¥¾~êF WU¬&qhË~vdGµkóÀ:ÜQÌöå±Ù¹Ä£}
y®VJÂÀ/§ÐuAoÛ,®1÷ÞlפÞ3¦d·ê]()PæËÜÜs!xÝ5÷«o ½H³_/á1lwí¸rÚ%5°J(#
-rµ±ÌϾ ¼´ñ¶Vá`ç´¬ªu
-Ç;x8÷'
-ÆnäI+ë¯Ã¥¾eèÈazx8p°Ä¢B§ê0!èÀnºÁ]ÌfÏa5ÝL\VB-yãc|îCd1_CRlS
-Ë߸÷4Уö¸@î(XÞËVÔ«
-Dpb6?FÇùÒìß«{ã$6À(Ìòt£O)Ç}mK
]ì#.4OBÀoâÕEsbÙ³³>e¥<
-"åù§âR®6K3WD¬J&d°±Õ]@6Os°£ÈÇîC%
- sÀÕÉøQå?8üº
-([ÜÌv÷ôÒ(¿Y!+AZà9ñMf`;kn#mk.Áû½í%©ìâjò
-¨Y÷
|5ɲpQ]yeGßÉÓ3ÃþÚxOí¢"-_t3ôÝv|tgOm,ÈÑ°Ðê(ÈâñÞÆS{!¢üZjÛá9,ïÀúFY-\£9-÷ü >µÝ-½ÀÞG¼ÝMé@]C²0/åÍÇØÂQBM½×S ìÊ9«ïÿc1¸Ã
-±¹ë¨(Yt£I ÁåØÔNqß*ÁPâî®6*W´"-§>øjHvUDRwÈ6A]¾^7mÊ
¯ÒÔZõ'~wóÀ
-S,Y(¯-ÐÌÞì¾*S18ûÞî Þ}4ÕÑ3¼q,çí
-*ìßàKëàú|¶.úkÓãä¶]D2Î5ç
>1¡jȦÞrt×!$ŤFVÍâÈJæãý¥ÛRá`ÀÌùyÒË7ãg´¯\snÈ»²ÐFJwE&ek@òÆÙgÉøå§EP6Æôõ|{t+» ý£Ç£Xü1]r[T;âd"l7ãç]
-ÈNĹԺ|0Ü´Ä,© Èî{¤;c»Ë"s|³vR UÐýþGr¨ :4¼?
-&®eÿb+þK.k¬1þ¯wßÈïüâíbT)Pù7]gKDT¹Èx»¬Tã°dÒcwäºë·$LYRÌúd×ò-µ·N.t\Ø.·¦Ý¥ºÖ~ø-á¨exQÅ(þ=QlÅK¨ç
©¾éÁ¹¬º
8·x´Mx!ªµ&:Vrãk*#ÜÌ$¹]]Úx¥±e5Cç>zYÓH¶¼^áw>|ç¶%½ícТÆhy%T)ËfÉ
ë
±÷öìbsÌîÎg<ÙÙZÙ¶ÓxöÂÁÌ!!ñc¸U|.Q5n×6¬æèÁJ½|Ç:¾âðå÷lâd;9º
h3ÌÒû½f)èÛmßù®å5+t®ª
-ÐÉ®
-µ!þ«Öà´´3ÛEº
-Jmo¬¿CVo°Îj3¥d÷QüÏÑ¢GhP´éÆ}¥Ì7eÏógGX¢èÈÛõØncXe4¬Öá}yþmÜxCArbY\:LÍ)§¼®g?T¯%Ô(ÐRzý%äþWpÝ8mïéKìEQ©gôÿ×1#qrWÒàYä`ª÷µ¾>1Ú)þLýYvØ°,ÍêNâìSÇFhÜ3LÔ¯KËÏD¶óÓpn`%$úJ¹§dìf48ö$9=[Pâiâ5ä(~PA¨^ ÷]¤ÿ°xr¸¨÷ÜÇ2¶jêFw4G§Ähb¤20`ÙI²öȯÑæ!s7ÀÈòuöz/Í·0 FõÔÒC¬±ãü>Dn¿HõÞS<zçູ±
D'~¾q¯¥º¼
8ä
-îm%^ê:Òéøõ\
-vzùrzæ«Äuç¨.nã¬þÇ QÅB0&mU\q_D9ì0ßÍdݲA\©X£O7º.qÄýì¡X-¯ ^s½üÈÎ9i_,²^S¥P³Ì9¥ß?ûÌ}ýbtìR²§ vÓ_ nÑ^ú$!ùI.úîiàºèí°"cg
-F:öRñ~î|5vÓhV
-ÛÁÏUK±Û _Îq»qÐ;xN^T°Ä°WMgÔözóR¸Øág_Ö¥²ËÐãX}d¿WÀÛó¸çdîÈÿ¿pðßÛDÚû¦¿¬âÈV ëG]7SA¸CáX¬eHà<°ÿqÝ¢z^¨tP«ó³»\Uæ ÞØÙ³ÖXöÑ2JãÆe.ð¶}j¿vâ¡ÂÍi!ú£ÏÒAµeGGïj0ÁYêñ¡Ì¯æ ºnañúëö« ÖÝñÑGsÐß
&8qî¹ì÷zf{)OJ0¯Ôÿ9)Fª çxlF¨ó¥ÅDië*ÑÊè0ßX¡
-ïo'îâX9ÇcwwnwâÕq:µÌJã
-ª¤úÇ#ú9b8 § YízRÁzhZ
-s
-o¨_Ñ-}v¹[ÙlÀUMYÁ®,óÀCv˾ÇX¾pNBÀK9ʶñ½°=¢Ã×btN,.'~'MÁë²ùpI¾¯Zj´Â´ç³¤bÓÈÚkÓNj{
-ÀFríÙAd©wëÿômeRøjôPuNå6Ëc(J¹ßZªI +xÈ5{öW6uúöÊE¿ÍØgìP{$°äÀ07A\þé2/Ç¢v±øuþ 8½º]_?Ë-UY£(3rã9;fèPQ~OÆܸÙúDic¶ø©B¸Pð&da
-
-ÌÍ)Òó|ö÷g+ °ûôE¥@!çn®Né¬UDÞÞâ=
-ö/%·òÁ®
-Ï#ÚY¯Á\tYåá4t)$öÅK{ð\\^!¨$=!ºg,Ãbyâ8»Åë× )Ö½lq×
-uà'H r>Ç]Õ ÆvÈëñÖØ;û®q'Um5D°5AdË>.a_Ç
-I+ëÉÀ\ß×±;bk[U9ÛçÆÆ<
-Õ&²ûP°W¼½þDñ.EÅþåjδOB÷~ÎpÅóq^ËLvúðä_à Wa¯lñTðiì
-}y¯!Ç5<ߧ?¢9rXèßå1WÕ7#h.p9ü8Óºã¿/êéuº_9×ÐH%·ËaXÒrÞâ3z\
-}4æÏmNý^×IÁߥ׻¸Ü³T§Çkh©¶Ò[HÞ¶ÞÏ#3#ʽMà¾$]SõT¼?ÿ
-h?¨(Åßþì -ñò³á´%h¨{8öoÆOZ6³ËD%¢D¨ã?>nmX+©:ÎJ´òÇFÕtSq¾sÀ6f/\Á7óiÝãÃ&Û«M¥Õ17ÇÇÿiGýút,YQkdÔ»Æw?
-
-e'°(|mHàz½J BTríÓY§îT#%¯ÙÈ&ú»p¯ÚBsK_Jàq_ÛûU?cÿVÉÜ)·¥6]ëÖY|Ãù4-M1Ñ={¥ÛEA/ϨíÞ«Ññô+roÍ,künfÆ#«=ê£Íÿ.z¯9qtéh£G[öÔ0_i"«{
-ÇúªÚ§ÑâÔ¶Öô~Á*³Ï1Ó½gP{w'?d3ÖLï+K¡N£ú~päøsy´¢ôŶÈ:¬,bYçÚ#ÂâÉ*@Xâ3úfïA%xë¼½z´½Zoí¤þ¡!C<Ç©ÿ¾®Iù%ôË
à&¯q/oG0w{2³ú#ÕÔ¡myÙABÏÅëÁR"MÌeeV«G½:Ñä½¼À37§Ü¹üj8@¤÷W|0BµÇ£Ô%LÒ,|x®|ÁzXѨ%âÒ³ÒTÁúµ`ë
-²ÖóæÌ¥}|
-ÜÛNNpÊË/Þ.øÈ[räJ ì¶ßP½b¸Ýð5«,¡9ÁÌÚÝcÛÞtpF(Vk,
-ÛÂe(ÊT£fºJLì9o`Øp[ÑÇ÷+æKU¯u{ dfmdÞ{C0º|t-¸àdñ<»Õ0ð<q8Î7¢Ýß$¿^Nª]ÑnêK(¹pàÀpM)Ѧejáb
-Ð÷ìkZ¶45bòÐ4 f×¾Á\.ÅýÇò6çt+Øa"_ø5Lw,7dr£Þ ;Ã"NVÑO²ä µ¼Iß« z{N!òÈJñæ¡G&>ïßBóZäoí3¿åD
-ûS"4
dÿ¨ÝÁêOÊ`öq»Xl]¦FuÞ$K{ÛoÔõ¸Oy\!\&15ð¯×²n-®>ÏòÇ_=t²Ò÷ML¹>aM{ôYÝéØìÊÛK68üÖySèðô£§ÕWg±=u'2® 8µÿõ"IÿÞ¢¯9_¨@fòg¸p/ËT=& §om¨ý¨l
-«<+EGêÙàù85í¹±9Üu)?÷¬íQ}æÆêÝ$É£W0/|ìÕ!ÛÝjàÎeqºA3졺"~ôèwQ|ÃzöÆið_¨TnV?RÎÈsP.Ã-á1:ª;<¨H$bEIÿS:Ñ×$áÞU¦¢WÙÌô ÂKóxwÁ·:Ö÷n*óNÐ!Î-Ù-ÊÆ:ëø±·áZô[YRÁ¦Ár@!M±!úJ`¢®Ta´Àd붾5q²õrFe
á·]Фë(ëø¹¥ òuôM*4#䮤¸E|é"
-qëá)"¦
¤sfqzI¿î7NßRTý.[2}ïÞT®/MágXÞ$¦G
-Åíßã7×Â\åT0AÓ½ÉÜ$v?¼mYC|ô½±.&Å\²AhZPç787Qî^%¯ËÏ>£á>%'6Ag_ÂYó
-¶Úk(PpNcOâ¹.¸©Å~Ë
-ms§Aªï
ô¬ÂÓëI&ïëW8^þ¨û80þà¯*÷i«ùópBúTDø¢®¥ ²`aywrL?5~ѳåo?¯yÚ¡ 28»TÉM'¬n
-ÞÝ;O ñêÜSË Èvè+ÃI¯tЪ
-
-ûξpû¡Óq[Ùa¾HÛëá®ëF¦ fºäÍÜoPÆzK¡ÂxSwK¹¿# q9f·¬8O¢¿P×¥ÐÓ{K|Æê`Ôg_èèËz
-K«©o¸´ÿ¾´n[#ÆÌ7óG
ÌbͨpçQìÝd
-ظõ¸Ï0.^|²Ì8Rwö`W7«7À.ýû²×Ú}ïnÈ%¥Ê£´èC¼]EÊPÌÍQ×
-½þIw¡¤s¨Q¥´r"÷¤YëbE·¬R¸2rèìºëµ¸>Té§XGM
-YÇ@(@},Ráöà·½
-SHYBï*W£©úYdá4"ÕH¹Í{ëq>iá«9`Ì-3RØÒi.¯¯-âëÅ1P¶÷ÜLçöþ°ªyQ´¥ômgO=ÈƤÝ~$êÔ6qÞè8,Õg3ÁÝ¢ìfòµNÛ®±~Ðw¦àñþÜ¢
-ïwù>jÐðÖWõ;N¬ö/`IÈ@~|·Ãöç®O¤65è¬mÙù=¶
-ýdAÂ_(ºö,ü¥cY!ˬ#©Q"»Ú¼Õûâ6pJ«KÏC,¼ýE|wÇ88uL'¶»X4æ5éÊÒÉ!sjÈçA æØÑ
-Htà7Wj_;MPk`åÞ}ª5Ç7h)7¯ÀÌÚéQX-9ÇR°*iH0;)CE
-uµÖ1è¹XØ-n ÅX7mä3îÚCpÆâÓÍåd;þ zN_ËuØã9¿¹gÕ¿NðÃÝT¢Fã®ùeâóå&Cî17Iä½%þCØKñÂñýÛ\£
Ï_ºS1óR²©ÄÖJÿT!44 ÊNÔÏ>Ô+ã5[ñ¥@/Èð3À,SÈ\RØæ%çô«=¢N
-Úáªa0ý¼ëøAm¹ÆR4@ûä_×å¿ÝâÞôÄà§pÓ£&V}uƺ ¢J·:¯fÃâr!SüÆ>¹¸¹ØnCMÍzeC7!ê¬$
-e,&H¬ùóVzTN½¨áNIS|ÆY¬±½dæÚ§Üù^Å#àÛV*¨ÉV¢3Àff+4×.ºXÔ©Kª¡>¯/ÞfòBÐÙ"6ZP1èYEÕÏhZ©OxÔÍB><»7ü÷å¦u8®B*õ¨<Ãi^¦æGÚcêcP&u;^gð%j²BãÏBìáI#h9õsY;SŸ?è-ÑyÊÑþ8ëKvÔø8@ZnËü[ñömæGTÒç¾+ßFþÿÆïJëÀâP©FGâ!ËX??8Ãn':ß÷SÇƵÌ#fA]_Ç{±iRAn.¥Þì,Z÷ÐÖ²Ã÷©fnìºå>Ç×åØBÖpæÙï»èæ±FÎAS1É¢ª}ôuÔh2ÀâNäÔ¤ÐPQVE®ÁÁW¥ø3ЮëÈÅZTmÿ8±¸¬Î É/÷âvH
-ÎûÂe %1Î;%êÑÎc+My¤
~Òñ:áÚÌx=ªød¬y¡á«U98>[t)ÎöÊ(¼à«æ~«QÓ2ãúìQJÏu"s`Ú½ÿ°ÂÏð¬N©À9Q.ê³2o°óÚÍÒ= F|ú®RüCh¨¶±7
-z8°}Ù½;Ícgóh!PÔ6ë=%·m 2ròkVÿ°Ê`»2¢/
_ XðÆÏä¸ìQjqèrmr´JÀÅùù'ÞlÜ;
-¿ï_þ-mjê\à@?lõÉ,ê:¦÷/7hwÙ®£Òa<}9¢òЦ¬-åi>*~\¡9Ò%ÃÍ0ZI<#î3úð×î`TzÝW%êb(Yðªï°Û=ëÓìqwwé
-Xÿcazk
-´â¦ðj|Y»ÅܹXÃ9vÀþ;À*7IÜ#ÉG9úDsí¶.o¶j#xççL¦ïððÉXê(Âø-&Pmì§mâöÞÑ&
-G}~ûiкLźr~éîIÌ[¬«)û£`²
-îó®p¢=¤æ
-Îó¨iVAiéåúnèMÔÐh;v1u*A·yÄn BQÍ
-üé¬{
}
-ç;A5Ü÷é&µþ.Í!hv3ÅŨÕ$¾ï¿»dÏ¢îWÚÿ{Å1ÍðR|ßÜÝæT¦7£9XyþÆÏAæÈyjj-&|ç}´9S
-1·)OÁzôñû²Fj½¹r
-ºmaþ_áÚa"[ÒJG`~èSÆ}f$cy-Q*AÈJKÝzv9DZtÙCëX0 at h!<jE?òÝûF¹º\:îs´©R
- R/fN8¡;*çq§ÞbÉÆ*TF80«BººÓù~×8B×k_y,P´NÝÁ?X~»õÙ°õ¢Ø%ºÑíÛ½6Æþ¥@°Èô8ÑÞ
Fÿàúg2¢ªGäËî:¸zæJu'/bÃ!V/i¹ÙDDNà5U5O@꨾7SÈÔüZæÑ_ñq)q»KzYÒn ¶°¤ÍGÖeVÁ×â@¯©ë¬¼*¿ÕíêÀøiPC]æOùjùp!s©|jHÃ@ñÃ5
\bx(X]«±y=×G|$º¼õé©wÖr( Vwáø
÷`8$ïê] _ÆÓ<ØÔytµæ>w³8Â/E
-¾¡ÑPïÝâp?ü Ñ{+ÛÿÀ^Bø¿¤ÉCÚǾzþcéþé<à?ÉnØ|
fØyJ,ÛøPo»}1à7ïüc̱hÄÁÿÒ¢Ïn/ÁZ}<0ÛdDü!²ÁÆ,@4cJâÿÝÓ !»Î0Y¥Ê(Nùµ~J£æH©x=Eͪ µ¼KW|êÈä^.µùCxü>§zêGÿB+ºË¥_¤@aÆÉ͹VÈ4ñúBK\Ò¾úÄ4ð@)wÇ §;Ãa°n;Bzÿx£ìàêNÛ¥´<dѶô.¤B822G"S|
-?\b6;a¬ÚTÉ
-UuSÚÔ+â¡Â¿Ì¥eÏý$dK4©ßÿÙöc%¤!qÇ)Ü´E@àq°ßPËõ'cƬ$
-çhyEO*ý]ü-F;?î¨C73ìçâhWÿ¥ÆÐTN¦%q
-Xµ½M?&ÖÅ(Ð6 GÍS
-²Ç$K0=T
-Pú~ö¦Z´Ï
-:ópVÌ/
-tcÚl¹
-; ³7«×ùu$ ì2=h:ª\ËÇkÕ
spÒÓ,Ð+k°Õ<ù Qñ²2&Aë\`
- Såmõ7×&õ¹{ú¢ûýÖÈ|¯Û¯q8óÍïÝn~ö[½JHu¤;)u?wίsMM®,÷¡Ë{e¦òØörÀÕÓ>½}ctÜ´#)C±°¬hëÙòË{/ìÀg J/Ú4,1ª]çÓÇÙÎYÓûcÉ0þÉ(?÷R.[Ô¾
-³,wñü@~0¨2).o³5Ý©¢wìzØÈíײ6Û03ØÌ&mþ0$»å°Áj1Pw÷¬ûBÜ3£tfns¼|×vQxã§/·»æ?5EóASC8sW¡ÌÚ Ñ
-öoï5"r¶næÄäL±YÓ~ÂyúÑX¡ÏÊë7§_l0ÿ/>è¤ Ø)aØkXzåOy w2ÛêÌ·È7z+ewjIúLïþf»þÙÝejºÝH4§WÖ´ì/ÙqÎ
-ä\³×¥uT4ã¬ÉB72Á²>mv!W³ÀùA 2:¤;õÍÏü
-±§sA7°¨bXOô~ÝHDØ×wÅL¹x!n.!k£3[nõ¿i ñßåv*úôMrnvÛÑ_;ßuRÓ{
¿<L`M¥¢¬DÚ¬Áå_HY_v[¹$
-ÔQ§[ÚuÎÿ<6?ñë>ÇXïÐöÃ6ûZº»8RTDÃwÑq<7©8-Jd¦D?Üí"¾Dãòad2²Ý`ÆR¤z\àõñé¤íIájkãemÛÓímd§sбÔM4¢I~"9ÏZ,å_¸-Ûxó2õV{~þé¤8£óòÎ4xïUêÓ³Ò=AªAe4óWà1jÞ<¿Í{[Áçægéá¶Ý?¿¯¶1©}¿fv<Á&º°aíé´`ñ¥0;ÛÙ?GéJw·8'9+Qm¥
-9±÷ª¢~¢Nï ÒÐU«³FHyÍÞ03$Èõ°/é)ÅC³ÇÚ'A%
]µCy6£
-{ÕÙºÿo:*°ÉjÂ)[è¼L|Ë
~Ƶ_¬Õ¨×vßÐõ?F¶¢ü´UÂgüN?ÈØ<p]o·öq_é
-W=xý®¥§:.ÀíeðãvÁ(Ù nÈnmÒÙÆõ¦
-±pø£½¿'«@ySÔtþ,}Ó3÷ª( ØØ·tÙä$#AÔÒÅ@á
-;c[ªû3®Ë~cc/pÊ>®1=m2Öí»Ë¡zþ!Ö1×8m·{n¼Â-í æG«Jò@^¢#R0BC!é[#êS½Jè~ð¡ùÕ¶Ô]Φût4N?ÔÖô»²íË~ñqx*$_¥ì^¡¿!¯È*§ëuïú¹\x
-]sû~7aQQ§ÛÒUåoËXFÚîÅ
-®ØÜaÂÕ1¤+çÊbiØé
-1ÇR/¾$µê|-.MôÒªbâõ1Bu:¡íÅdÆñ%Ò¶µXâ#lQQsÄ\ ¢vÅ^S,(ê¡Í?1Îv¦öKĦDT»CÒº}þÉ{áw§Ê©ÄW\ÄÆÀ4pïÛcr?ÐöXáåííj1áL-à©ý1æTð£[@@;}SÝV ëÍOáË*UòhÖ,m¿pvP¿Wûá4{¤ >Z"ÊÒ½
µÂÇaøîQ´tySÝËÚ!E\FÚßQ~FÜO¨ ÝSsYG¿¦8Âlòø*°<u°JËnû%Cca5
-Åí!dImð>è¸3»!bï6Æa9ü¤UxQKU¿p«S at y;ÁªBä0m¾)¢º£¡½Ùµ@XE8ùjKzë§sxV6Óz8ð¥éD<æKóìdÌó%0ËwÖ*z+]ñ¼ÜfÕp#&ÿGÚNÕè[Ì\Ìö=HÀë-cE~ZÌkhxZ)*{#å!Ýóï᪩Õ7I²©KÇ>Q,æÜ}±f4¶©
ÿÅÂýÔU´+¹÷ØG at ihVĸÓoííÙ-÷mèµyÂ|zma,±Ç¥TR
-Ë!.
Q¬LT
-é¯îÛrþ´¾6¾£À¤½ßÛÑW;+ßÍq P]ÁYôøÇÎC±<2LºØõmFÔÏ\HõD°awæ[twçS}ghÑ
-ZÔ(8RÄ/R÷fH5C|Ñ |æÙPB±FSÙ«yþç3(zÞ¾wÊÚÆÚZGä[ÜWòøТ]
ïÒ£WOô?AE_ò¼cßàLÆîÆkÂÃbH1óÌ MÔWØÈJÒ]¬æñNÇ0
-§+ú6Q;-µ@<YÁ]$ÿ©ïqj=¿|Ï1øJftú(Ǻ
¾¤I¨7¥
Fbú¡. ²âPI
-Òú\#¼~)
-4OpɦD¾åúQTÅÆÝ£?@üàb
-$^Äx%Ú1µÌaÉø=ÏWîåWùIEwC#3ýQFvÐ~*Á
-ÉHâ~Nn7?ó-&I£
-K^ ']|ËxêOonʵÅm<yMx6ÚÑ?1¾óQÒ0·îÏ jöõ@³á=èoÙ'=c/'ÐÏ wãXéÐÇX îoÈ?/Úo8ê5xÞ½Õf
÷ápÔ4Y¹&y
tMj;(fV%æiÜ3æPekc©##dzX§?æ¡aúJå¹aðKIxrÎd§®¬»²Þ
-ý©;¯i©}¯n+cÇÊûK%æX®Ñή}±I²dÓÍ2}ÔU£wþn%6)£YÝJîxÄi}
-@´¨_Ïܧ©Ò4ãËXpQïZLòXÉ"bð4é¦dSJKv_þø¼ðwlD5j¬®á½)Ó×p©V'rÎe¿;pVj·¢|%È^Ä(ÜéiZ¤pdPãÃC[óØ°ÒTaîýö¡2.Ö"߯Aå6G²¬ã6ë$)b¿©zKw÷]DQ#=nXÁ¸öV)¸
-!W·þQÍî6|¦»pÎÔX«,7]6¹jI³ÂïÖC7ÂÒ;KºsÙ8òy?ÏK¹Y
-Ü¡H&éÉ'
-úAojÌë8ÿ'óÆH¾²mÿYt at gYÕf±úCY9SÝ1o¹¡/-äãØ0¦-¡_ÎBÄÜëÞÉÊ=ÞV$V9fKN¿¶²¤`jí©ü H©¬o
-£ =ækãÿ»Á²Ìr˦
-cuQû
-$»]ÂtàHÎ#ùW©
-»R´Ù%ï¶äA¿
-ü+R³xVTö*mùZàS©Îîè
-
-n¢rHÉù¸Ú5\,N¿Ü=RéÉÿêüoª@îÈ2$®óÚ½?sÍY«¶DYçþ4²@§Ô]5÷¬¬ëK{ªAït$T
-+èÁY¤
ÔÖ)lz«Ðä]ÙÐp«Z$§ÿÿsìjDïF»Å.äº9^ò§`
-Súl°AL(÷`Çýry¦t«aû7ùgÉ^hè¦>¢÷ËøYIã4I tmôzoÖµp³¬pK³NÓ½$SY$5ê´½i¨±æ³yð¢(ÇÂõꩾGù=H®"E
ÁZ^iÈ*VÌøéRÔ¥sÆuCçÞb
ã'¯ñ²#@èCWbà:%/áÀÈ%uñÒC.èpÆ¿ÿ¶îÔMøD"¢ñXiÃû
-amáÄ ¬hìpºmz
»°¼bÚ¯´'÷B{âKÏSÊO¦ÛMû<Wà2îÒ·ÉÄw¦÷g^Þ¦W0VuÍ>À
;Þ Ú°äãJ9¥>¤¬>WĶNyùðXÇ^®ÂCýßhýf;¿S,\mËÞ^W:PñrEõKþÜ#ÔyÑÒÅ:$اOÁÊÀð_pãF¤bFõqõãIÅî2*'ßü¡uã»"
+Äù-û
-b<Vµ· !ÌÔ4Æu2<¬ôÿöÊûÚãJìÎmZøÐ>LÖGîb¨!qÚFeá×ÛÒ£ú½ò÷/1\ôgñ´°%U\Ó}^pöêÚLi´ÐáëtóåtmõÓ´OåíuاÃãéu|ãæÂÜãÛÈdk£*YGí¤GT¾T§Úa&ÿsõd²/àómá1ÔuCaCo.pÞûM4¢_¶ºïÖ5ã»w°B/Slzó³qÁ(?>ôT\)M¬×0Û;±è¨
-ÝxÁáÙËØQ7qFkô2ÆA^{ÆI`7kºÜ¶³&l +::r£ä;ô:ùGñÜÛV#]ìµ[
9ÞWàضk+óaF(ñßP5°÷é4DµE¿ß5ê.3LÚ¸Ð{%çRa¿ýz¸ ¹+¬ë
-z)bîlûa´!²Ø¢egQÕ=T/g|Uë¨[¼o3¿Õ¦$¨5
-cë¼ÆÿwøvÖêéµFq7)Ç%$[¦XÀYíèxùeÒèæ;Ux\÷ؼQÍÌz(/'Æ[ÖÏÚuÕPñ¬`Unó1mÅ´e<lD=Nö¦ ©Mán,ÆQ²
-ßè¯Mo!f.ª`Gh±àº¿ÀÏ;,=óÆHǦRè7Å@¤Ôıڬ̬¨*`Ö[6ö}àº*ΦÈ+ì¾Wmé¡)if
-ÛÚ®9oëtNÆs*ÝC¯¦,ÏÆ;®³ºßèVyÑ5fä)¶uÛê¥:á´Â^þ·a½cßQsǤ?4.G?
-æ²õ#"ô@í941¯¾}æsp2ÙýÒlCßÚTe%Rd,H)óMÛ¢>ÅhÛ°Âÿ"ÉKÄ×É~iè9J-²ß{>xG7§½ØÁ*Eötñݶn¥ÐÄy_bß1?/íYåhZõÓÏ#ÑâôDس®õ¤ß£ :$8ßæVÎkuËû0Æh(¼oÕË#ínåC
q{ª»oeÓx¯àg]8'.ðò39{FYPÀ&PUíÝ¥ôXÃÝÀ<î.àÇ+rñÏL¼B±;ðgdn²Æ]ox|ò¬7Hz©Ðg9îÁ@ªFÄî
-vNm¿ÌϵÖ9õ_ky[Ýå1"Ш3J]$ÉsÎV¬?õïYA±ßJ]ÌNP.þºÁ/Fgì× Y(+Tk)AvA²Ú9,ñv$rÛ $=Ó
N\mÙ%øQªæ+6C9}I&ôfbbç»}¸e]ÃaÕÈçû_Ð"+ÍcoIR67"å¢(?¡Ztm´ûæÝ £(+r³Þ¬áÿ:oÀèº4ºF¿5f¥0àEb9rFtüµæÎm¢AøÞN4t¤ jêÙ!STÔóÐÇiC¼ôð+Q$~Ðù³PÙX¿:O9aD]¿éWFÞ°nÉÎ÷4h@ÜÂåasLxh
-oré`+ÞÄoäÖÇ`°®Czd§ÓLU!*~k
-,Dá¥[öÔ6lì]ÃIèOtQzñ. *på8RX½ÿ%a<KaãvÓm´¦&ð×Y©?S÷;Ü üÃ#H
-`x¬IwJ/ ·º£Zð°@Àµò¾|ÃÙýÚ"*fNÎÅ¢@*öIcøÒö¥bÖ7ÒµfQfè½
%tA1¿<ñvfCÌ
-Éû)bÈïáv§ízS¶Ðï; ú+¨£,7
- at FÍÙéH
Ç9QO·íª«õXO¿
-.JÇècfjÍ:^þÉcÇ
-öáÎ?Þ=zH¼E½ÐR06cð&
Æ»ý×sæúé{$;ñ%»æ¶fÌk¡r·Ú];¨òåKr%zq¸&áR}wOPiÿÊöçn;Á*¶,
-©ñÙ}Üð&·Û&}®'}£ú;ºÀT8¯ ·u$÷X a4Ŧ¼JL_?¦
-î¦F¸4Hñ/ÙópíD¥ÚüF,øèÜ\³µagótÖEDm0³n|Vg¤y:ÿReäß'«Qo¿ RÜSL» yO>aðô/L/¡¼
-øvº/«Ù#Å«4»ê:Ks6Õ¶ÔAa5S®W<
ØøNXv|°wjJTè3cï
-äh$¿~Np®y¶¢
-øÓºK7g¶oïAǧã¸+25òåªf#æuÊ|M;<'VÃ46-)ã(+¹æiß]
-¢c5Sâê)a»èrFãìÃzîATN2IHÀAÈ<#Vü
-¹M,
-"ã~tÖ Ué@uòªÇ6
-Bd¤KßFÉ&Pªö>©«V0pùJ<Uëû0!úG¹âÌù.õ46¥u;<§¹¾ Ëz¢h¼Á°úxfÊÑf
-Èý°üðtdJj"oÆÁîh`Jcf¶f".i§6 ZÚwÒöÞñ÷¦ZÝ)±ëzüe+úAyòq¸4Í4ÀSO±[ ·õÖ\]¦)Ld%MûC¦¼ÎÞib.ãÁܪ}UHÜvÍe=¨8²Ìõ¬CÓüÜ©§I¦-¸§¾Õ$¤KPÎ9þùzô9N}¾ªábá¢[OGöØ iÑ¿KÐkÞ .ìæò×<_®rÃ}*Ôm°ä1&äø}=ïK\Ñß?CUÜð9wlí2Çræ'§ähʹ,ô4\Ííh2sÈ\ZÿIÒ?}ôñUUwSäcÌðr0÷ zNb¥ßÌG3g&ùmÍhA>O6ò¡bäEJåâ®f8ÛëSûÿ-~rñßnG+1¢?²¶cFÁ4¿qî£DG 4\UDv3
-¶èÙpÀP(õ¾èù¡ØD@åGÓWÛ¾ çÁZdïÞ¢5³Ôy.A¢Y!@z
-C55Ø@ÆÃEFiE³ÈÆ´¡t :ÞçEM'ðfKýcf±;Øïªúõ¹
e´ùQê"Ê¡dWáº$ÚN ãäb%aÖÆzÒU\k[h8}.a$½×.л×ú£ëM\C´×Àp}Ý]l6óC÷Y°È±,Éÿøü³FóÉ3^jÿçÆ.¿£Ë²î
-H0AÙtU0²½ÈüâùaÅ¡Þäûµ {ä«1¬AL5]ÌBb2j¶¶¶Yâ=£îYfç©ï´Q¶¶®ÞnCmâ;ÊSáEï ö8Ô3?¬Yqç»H8ó/Ók(*LìñuÜärâÎ
-.Aá½=Ë¢ÏTÜä¾Xmÿ<ù9n/Ä.÷pÚ¿I×Ù(]=Iß±Ì9iâqÄL76'.¹kU2' Çé
-R@=·Ü ´Þ t¨·Àíè×$Ì"×¼u6_Âw®â®+òzj
-ø;*=$"ò;OLgw"¡ôdZÜÖr28ÚÙð4åõ-U°±ÆüDÜiÔVx
ÄÒÅìvÁÈ
Æy=UýòïJ¡Ïn
99òníö"ãÖô³ åÍÀîÙ*3(,É- gv²M<¡tt.þiÀZb£"î³Ïæ¼xúwø`ºió¢ÒuËÊ&ÅR}9(¼{f¥À«ÞÝ}3ü÷ÄVÑÏÔQ/UJes#z¸Ý±Cܳ¯Ë%6w=vNíÐÆ
ù+[ù¶F*ëýx¤ÿÿ£4!yOÕôHA>òÏh]û^Yó¢xï%£]q½
îî\Â4ÅįõpÔr×õûZ>^Ì=FL¦~7É9øi>×Rd
-Ð>È\
-³ýî÷+««vúG¿.
-êõ
Úô«9뿸áánøè¸äò ³? Æúèã
-[ìs®µ
-¬528¢^ùLhñ´¡³|LY&°¿ÝÖýk>îÊé.îÏ¥jÂF0FP«ÂÐÙT2í· B9ÞÛ Äe/ºÙ,$-ÝmíÙLIIQR¤õÙMN0º¡é9nRÃ
ætTÕ>ßmÂà7$©Ö¼ÀÅj¬9/@ÞcÐïmZÏZñèêQ×Ê8ÊV¨ÒÜE-[QÍ 8¤0ÉEíÈbÑú°;ð4ÂëܵácË«³§B¶ä§ËgÍ
-kº*¨º¥þ(õ\l|¦QÊA5õ{d¤9ØÔ]ºÑ7£~û
lÎUþQ±<UïP"1gE39ª0+e»~¸¶|³P¼ÆJ¢ÀÍ42&ïò¥Xjùû
-Õ
¶¼´Á.*fºÜ&r
-VRõì]fIÔZ\सð¤î\ѹdç¡lÏl&åfÚÿû},s;EEÆÇK(k~j!,súÖ
-l#øóÀðÖz¦Üc
-ÒêÞð
-mrª÷ÇN¬E;!I®ë Ç£R¾ÇÀS$Ò÷FÐâæ
Jâ3ôi¡îËÜzg
-
iÓ×I\t(¤-ç.üe«ÍªÔy-â¼Í5ɱþÓGÕ@äìïF`±jimË/VéFÉÒzaQ"¬bDÒ«Oéøs°ûÑO£N«ûø(&Gz;NBdò'¿0S)(×»Å( §lùÙ¡ ÎãHhûHÅëF)cÌYqí{bO=Åÿ?EüW0')Oý³É'Z³Ó<géTH7¥beóìE¿)Iaûg-ÜÊfÿÏæOòM/@Z)iÛÂs8ÊVh,ÏÏ÷±ôiò]2÷fúMQ®®¢N¼¹lælé¾ÈRÎ`²/:S[l`ùø¦GÅr±ytÄü²BÖ®F
-â ©`STv(xͦûnÚË@
-óÌ$÷âi\\Ü3°{7â6¼Ä*&A9íÎ~,(
-øf·ô¼É -CE̱'§ÛµÀ#ÃËÍÚÖFùøúj$®íÑj´?Ýs«¿/#æ Ý8×Ûÿ±¦´=Ãm¡¿¤MN¸Åìò*Øä-_(¤^«>cÁR
-31m°y»1~UÝSó¾hS~½LCsü;ÔÊ©awó!¤mBkó&÷Xb·8û»0lüúAËÊtWÝ`°ÎõVñ±R
-ºNHÚù2ÓûvýæÏ´]«ÚÄt¡190mo/4éà@¬`øÕ7Ò¥º¹ÅÒ _#{
-aË×?2Ûò
-?§,ðr!.0ísÿSL¢Nlg
-QëïôôHûÐìÈÁ6È%ʹbi#ÆL¥+k.ÓjM&øVÙ¿zA1}`ÐúÇ
--Ë|ã³ëJ5ºpé<ô'¶o:çÐO¤
Wg»§þ°`K1ùvcå«>½
-ÇiÉLÇäGæBÿò½x èdï.;9ÅG®AGÜ«¯¬àgíÍÊOô÷Ó§øÉU$ ±h³¥TÁ|)ÓÙº,)¢
§ÕP;Ó¤p¼>§õ>cn0«Ð2èVâ
-:ú(ÏÐ^ì¡g^3ÕlÉCµs
-åÎ,6b1QB8ál ùAD
-(ËÚóêÛ¢V
Ø\%ÍÎÏGµÂð;µ[Àx ® #>oþw{È¢®qfçùä
-ðFUÍZ£0
-Öù³ðuýÑø:ÃñÆü¹¼µOïsÔ
,¸w;üÀìɪwY9@9HǾù¡E»ú%È¿7à˶Ôòe`]#øQ×jM»yc;"Z÷Jùôâ#Ϥ;RQÝ)¯a½
-¶°ûS/·òxh #ªÊõ)çËÂGÍ«iÇuzÃYZô>÷Rçq¢Jå%Û.o^ü¿Í%*@Ô¹1¬*Ðø£²°.ÏØÜîà~ÊÏPÛ®ÏÅ*<v}-`GBi0â5Ädg7îTÈ0®îGÝÎ-õ|ó_à.z+Ô¿s®LiÈÆÃËoVu§±+úAô>wõOÇ¿+OÖ/ºmÓ&là¥YNOúWä+#Brùò»Úö;eXYJrif ÿ0å6pfçêåí#ÔV?/xqí¶Ï÷
-¨æÛ~÷äØ}Îí$`¿º»Æ^f¬\FéI¤ubé
-ö´J¥;í@e<¿tæW¤Y&ñêûSc¥|ÛÍYå}P6cH>½ÐqôÅ
-dbzEÄá°Æês4§(ùx
-¼ëf¾ö"wD¥cìò©A8cÔ¹#ªP'/÷XúEÛGÕÇ/û2°íþâ
-xk4Ò]¸DÀóɸêûØR"ÃPVZç~'ºÍjPò$
-¼*ä
åeu/ÚëÁ[ø~øÍË®.kK¦B·d{J¢5C]¨{èßOçÅØ;
-è*Ûy×,~}fÐ>Ê[T£ÅZà¤óÉÜs%7t©´rPÿ÷h¹@>+ÓeÎiÅ%dhù´B¤áJ]²þ?ÏôKÙ¦ÿ
-ÛS÷ J8ú*Gró/½KªjÄ%åfdmò1ç$~n*+Pv,Cû¥Âü©©e0Xwïwlú¶µºÖFI®d`0O{ÞPÈßþ7gv
-ÆâÕ®ÿ Þ,
-ÍJêÞV[ j&ëxNóTßÞkù®Z1+·¹´pÏ@ìs®>ÑRWÓ§¿òõÐÒâõe÷3>Ï
-þÒ^(\Þ*N÷HØT¸ æ9ÞH£íG6~¾,V ÞãrÚÉy)G´RÍS
-
B
-öö=¤y¨ÃI;f
-¶w"è¨îѽdôb0Ö'5âÁXË@oùÕ¦´'B M°ÔyÞÎ0l`&xÜ=)Oægh¯"lÁâ3h8Ê9Æ5óµ-XÄ.eÿÆæºuÒßÖ@É7·Àü,[L?4Gä@¥éÓ8½Àÿ}Aµ¦õV>µK}T IoYÍØÝ?¥`RÞóçi'¨©öüíwÜ >º¥ø=î1r9X&[¦C,Åøn ~/Ô Z--)kLëf*-ýsDPÑ襤Ùïû\ÀBôè/dèh4_TH^Û®Þf¹ôW>AÖv®ã»¶y(%¿Hâ8ÃÐÉu¨Úç;H7c}¸HBËL; ÁK$M!EO³7õë`²Ûñ|û¬Üâ2Æ[Ù[¶ÓïµÑw¸f°&À46Â`ö@]?$]óðl
u5ðÆÃÑ_§=à$\å{B}z-E$7òèÞ$jOXAýX§iv¶
-
-- ®Üó&;Ì^±
-çó?¥|ÿÕ~!´|VÐ!±24¡I°#Î)ü¤rý0VVªôؾ[1î÷ÅÄ¥#
-{ª2« ÝåñI}braµ¨F¥¯CuÍ£óSöÁÌû²
-Îè\n·
-7iãö¬,sÕ¦ËYÛ½}óÙr«ÿ
-Æ̲d})¥ùêE°9HW{gÅËá2t2Û;«±[T7Ä{*¦Þ
-ì"
¼áïsõlï>
-ú?ü3°JõxH+éªoï<3 íÈ`5áÄK½}\^_nrÁ`ïó?I
-ÊÈ£GÑ7i<«gÍç>fjA×VéøZ£ßÄÉuqò-5µIKK1x×7*WÝos7Wãañb-h±ê3@ÓuxýÎ}4YOÇ´ºZe¨ì¥ÝZ5uL
%ȲSÝ)âíd>»ô§ÁËÌâ @s³)*óÿùd©LvÎÿï?ì¢m`i%ViÓ)Ö}[2}p FÔXÄH)å0ÇöyuÚíW¾(§§(w§Ú8·;çÓnOyÜ«ö
-.{¶´yåoòبö07%ÖïR§(+²ÛÁhâödmüp(3UbjÌYUEªTÌ%aÂ^H%ZãÅzA lÄ/eåb4úÛ~þji;»,*'5Íñþ_2$Î.99áÂH1¡ _²RíÓRþ;D$ñIm¯od »¶ß
->Rº%²¦L¼rjÈ{¡½MO
-AwÐ3ð/F2íãóÛ>QvÎG-³ÌcìöÃù½
-çVø`ªI÷Âqoq¨yÎ
8U(aÑ¿0Ç>ùí/Ù»XÿLä/ç°%
-£ÞOuk¶Ï0
-Íxr"æpa2M5ý8V=æpê@üOzZÎ\+Õo%B*ý.£dJ.Âê>å§Ú¨vS<ÎtA©¼íMÈÊþîÓ
-ßò&,,ñ(<\<óf}éÞk&µ¶¦ÝpÝT³8(osÅG¯)s¼©Àê°?ûìE¦I,ì~ý0[E$2ئBÆ«;:ªÌ:@e~òWæ<=Ëç¦d¨å¯Ã{¤â>EfäeÙH:°'í<?Ù¡t/=ë§)øHxþç:ÃQÑÂBë¤ÎJ¦#,^
-\¥ÙkÅ°TG$JlNÒËül\Éæ <{[CNð´%Ü(ß`fsêZÍSóìÀà~¼ÈJ\Ò9̯f¯RÌøâg°G|µP
6_O¼
-{TU¡Pö³ªòÅ2îæ*Ü+RÌ+<T$u
ª¸Ô4nÄ×8pä!!|òøÔá/¥®aOí*ÕÄï !G&ùc§*ßhhÍ6ÎMÓYëGcOűc:HC¦S5¡2¥%+hW«Is#Ðv¿
-£LDCáб(ïJo³^AbU2¨ä»æE[P`#Uwnnsöçs<eaØOo»D=ÝJÜ
ðÞË%áJ-ÉæÓå'¤[º}úAo×Yÿý¢ÜßÓáh¯5Ì8¼ZÇW@Þ@ÃËpXsâýémCúÍ*ÀEõ3HzSåÐë.ìgâÙÛsúQX9gqö4Õ%º3*Ä`|+Dþ\Z}¥pÒ&,e¤U)>0Rì¨þuËÇÒëÝDE¼}®FÜz*NÐY%
-+µ/t(Iø(-l
%þùÜ|©Â8+ܸKçBòäÜÔ@/ªø
-&)ÞÍú£AthåoC¶üº¤<£Y®píÆwHáÙå?ß8WUþ®þ>Úýë¹´`åH 7Äjáy_æÝáíæØÙ qH4LåQÃâ\^ûíZ¤ÕS¬3Âj*d¤1GxkÄÁNÚÎÖØÐ
-^È#bTÇP]ùTÔv.£°Æ?ÌcéèR ÷´Èè ¶ÐüÁEãibnF1(ÈVímM
-òVê´çÞ¼$é
-ðÔï/õ®Æ¾nËÃãàcãw4Yr«ôpTeI+ûH@ìÖyÿ0&AÐi×
-ѳ÷WXE*E®+*y{`$Mzã¹ðjHsªè°s?YÑ,ú3Öh ¶~S«é2óèãUÛÃ*2Rju@$§ø1o´Ð×ûY¼þUê8¿ ¾
«Æ©DæÇXü_ü>Jÿ°¬0*¤dØg[ù3¯©¯F¡'ìvz#skø'7ò?s=¤xÊ|®§EÛã#pÛd$Ë?ln}oåØi>¹Ã¾
-Å
/¯Ýæço `ÿÔiæ87Þ ?XéícßµÜlk6ôç¤è(µ±¿º¨7álPêPeDºùÑIm¹ºø"Iñ0ómá¸yóxHr$lr4.Óëtå"·föÀ«8ëApªÝ0j4' ÀO²QjÈwîqë¢$²*·iÆP¥Bíb=éÓ
?}0Û&NOo&>ªýÕöh·¸K0õ
-gÕúÍüÐíAx,ή-°åªb aCȹm/twµÇ¾òÀ²m]Af`°}OBÓùûFý£7*
-Õ'óÊMîý<YüTä¿ÖXN̨TÚÒÖµ©B}Ä´V?-J³á¦L¦Ô©ähNòeiåTÎGüi¡U¹ÛÚæìõN¤8-åJölMe$ûS
·È\°PÑfK¿æí+45½s.OéýܾmÅÄe'èy4ëHëIR
-µ;..K?éÁF9ÿÂ^殼ÿb íAl´^=ãÙj7nòÔüÑcÍÂyÿôÞÐH¬´±mÉLMZö !TÞ±w(Zª÷Á]ðGôJÈ>öí(@§¤>Wa¨1·ñ<btº=1Û©Î:Cæz¹²dmÃê)d¡
-òz?|}¶À0zÃeÙÄѪ¨N:Ôr at a+®û!q JQv©Gí¶,±ýWë?ÔT%Pï´@)WöHÀðm éëÙÿ;´?ç¹Ð±n´ìY ¡çì
FìyÓ¸ÔM¾:Sé×ì-7C²b'ßzvöm_ooEÆĦ"
-áÎç"öô-¥pàtÈpd8ö¬ìQ¥0¯j©D.÷¥p~ÞúÖm
-×^Ûû$E@Æ 4Ú\|µLæ%söÄ2ô7}$`T(0D#Ф/@¦W¸Ù[̱˸DêSÇ»¹¿GÝ÷ïQî|Æ'i&ÙÆØÙG»VÆïBì{n9b¶0¢k
-7O¤yü%Îk6uÖËQvÅó¹¢1»ó³ÞÄrgÙ &©ÜJS±µ
-{ÿ%îÍ%Íí¥N
-:~Ü\Ï¥}Ó0^м #Q¢]ÛÆïÒ¨¼¦å^¯À+ÞË>TäeüwÃ8æ¡ÌBA«"b¨5ïãÚHE&O?G,
Q(¤ÿ®Â¥³kwÐX6(³nfbì¬M:v+z®çɪ+\þùcV
-¾7>=ÜÊÓv¬nÎhr_¸èÚ
-©ã* ÙäU\" \:9Ì>
-Kúßéf®µ7³
Öd&
-öÜÇÄ.+Uϲ"£ú[¾nó6'õDù¯9á¦N~LëugDN~G2B-¢ã÷½ØbAô`müe:
-fÜð#p·ÜbТjjÇ[YZ2.fëìjß´¦û|T`TÝ¿î=ä{2æáì
0½!´ÚäÕ àÛˤümÙû\ÛBÈ{ÚÐñ ?!_ÓõxÍó-\Xè8Ì^Ìô°v¤¥ÏÍ«Dpô»Dñj©Gþ
-®Áøá=rçe-±2ÎÖPAnÄ^Ðîô9fuË
-'>¶¶4S,³¥yZ-gK~÷ð©-qFÑ:
-m+Í?´ûB/-ÓÐR¥µ-VWÏÒ<wÝZQ_{0'¾¶t¸;öá» ^\:îl"(tZ½% :xe¢°5YFÒXû"U4-µ
-Ãl©ÌîAbQÊQ"¦üÅVY¾fkIôR[Ê#Ýh Ðà~èH¬R<zGï`SO`öâ=ùÏѧv]ºâq;"i¯ËAëR^ÈÒ<¼DÇeLÌMy/}E±Ð§}¯éÎO}é¶õ÷GD§\AmôDEgUa¨õ|ɾWdÖ^ç÷ò(uõÞð5v
-§Ò¶©+s²¿yÔîÈ{$TÒüÎ8mxÎp[Ù%|ÑN^æv²ß>§£.EPtgòM¤¢M«Ë¶ùéäáEªéK½ò(þÐBl5
IxÚèæÆÿôUá¶c*Q`çÌTí""`["-Uã vqûrg>ÿ[ÆÔ8ܱ¯ÖfqG¾Æ±²º¿h'Å:ù*è_2£WJýy¦=`ÐË3×GRIJò9¸6ô(ÿzáõ[cßÕÐ[Y¡Öi6_7ÓWJ$"¬Msò§ëøâe
-ÙÞêµñ8O¶»Úvbe¤öÐfß4xC_®4/ê{üÅ]J ÆÌ)ðvXmGº3¼]Yêµî3_ïktÅÞ³ëÊÅ ôükßYþÁ
-°ø(6Ƚ¯AàÅL=Bg^G
-Zý!²Té´#¤Á
-º¼r©,Â~>ôjÜAÔ聆ËHEÁû¯g\õ8¯6q¹<ÎX·¾Ú'ÐàH43 z5>ï=§³b;9Ð
-F߯;ëãï¤j³Bx:â&e}`ßíZqúñ5lê7=Gl-Uü¹+óq
uà éõ®2Ñ ²>¸¯äaÔ·¾vG6seú
-¿jؾ%WPíD°«Øk%`ħøLùoé%_òÎïAúq\ƸâS$ÉAâ'OlEãÝ|ôO©~,¶ûTIGé
-¹¤çA-Ø
-%$×ò£îNTÒO4ôé¸C¹[#þê
-¢óÆѾôÝfÈñHeÞ:â95oæ#fO-Ý YÐ_Ó7õo=Ã7f÷«Îø%þm|¬>iï<Wn
-XQÏMÝ4Î&òøeª¬h=)TküÓß
ÅbZK!½[LhóíáÐi8 â¹Ø@пè02â]dbÂ8(x¹ÕW5.&|ÅDë-´C850°|2¡·B<ÛEÚÔLÇß?»g)½Zm¿Ó¯»kÒ"ÿ¦ñ»u*s);±¸3(~½
-¢ØéüE#Û`Rö¿¹ì¿Õû;ÈfPåø*XvPUô?ö
-¸¤DqÐ1ÿ¶}Bùd at 9\Á±8fª¥ 6Ðð>[×Ãgè3)ÁÑy+vÁ¿Ë®1*Ëà;OqƦ;Pá¼OvªQëF Â-EßûÃOÛöëãõ×|gÖxzð±~èÒkb8U·¼{°DLLQ¤#æý¦µx0q<æ$« ÷mWó
-î»_Rº¢ÌJìÉÝÈ
-ñôeõJÜ8¦ÈÒ{ÀðH&ï¹sRlUpÍûàÌFÏ5¼¦S`IrÝ<ù~mÝAí`9@
-ýRNÀï48òûìCH¹ïß5ÙÆb$"7LvÏD9_1Í_[¿¥cC¼,¿â×!n2ðÇ
-=ìå4ÎäÎêÀG/I,L©¤!Q¹<&I¢´øz' ä»5Íò+)Hå5tPC
g ÝMÔ4Q·ÊyÝS,jÝê»ÃGë£f^N¨ßÐØ>t ÐTì7`ãéüé´y@²Ãß^Sß+Á³!@£Ã;¡ìªïqö7ÿd|.¢ ðÓ.IEÔª»!T|I[)½p½Ù
- ÒêIÄåL?én`R¤ÕA}¿'áGwn3'dNÖR£µ&¨¹øºF »·Aæ¾C_3¡ 'É¿ÔÒ¶W3l0HÔFã£óZãÈØþ$ù¤#Oý
-Líé?§å9ü²ìQ÷hG¾C=&óZÓ¯ü
-$)&íiÃm³³+íX¦@=ÐU¯àÈ`ÒWþvcFÄ6©,9æñEüçñY_£º'$=Ú%k]àóf¼nLJÉ~(ÎñE!UQFµ8!* Eïö[ê¶ÜéḰàäß«>g§4Ä¡CôÖÄÄΫ±g°ÆSúq:*¨`ty)
á^1Èæ'
-Ã>~íîÿ¡Ö4X]ü_Ää3EëA¸7ºµ¹>y÷OÇñÓ(/=RÑPü¡oÕBépatÅ]é='×À±¿Ö¡ µIî äa¡ø>¤\ùÉJQý_ |)Òì¶&þqúÖ#í_ÍÏ¢Ðú<øQȺ³v9Z¢qþ4-×¹÷tzÍ$Öý?Á
-eZ}¯hÇìB¡n$Ì°|Oæ·Æ:g9¹Dn$Dнö°ú7íáúËùc^YngôÜeÚ0²hÑl5¢¼0îðæR~µ[W¯\3L¾aÏ;#^ÔPô[t©e2cmF1ïÂäd $À(ÓB§Ý
-]§JûO.7pîOÌ=¿GÐì©C!ÿ6ç¥-6ïTͰ欪öçïG¤Û³W>-ºÌ¨û»1µ|{Ì¢ñ"uM[´OX°·Á)gØ®qîUªoò^X¿%'-J6<Ø<Iú»xèà®J©©µ¶@WT1ØW]^G óÂâô¾µ/S!Ì(ø}§¡*8åïF©ÛöEqbÌmÊRÜ"é~P):¡t\¸Ø'£¹>6ë0ãSÀédá³V~q¸vÉvT XèVxH>ضrØ¡¸ª_ùçûÅñ&¢Kßyöeª¡´pê`¥h/þýI(Ö£é/°.û¼NôÀp=tÑ
-yGGÆÍ$Äÿ¦Ø_EXÝÏPHEÄxÓÓäô1L
-¼ÍêX·Ñ¨WÈ·x¤²Î áÄ¥Ub{á5£çܳ@Ñx
- ¬
:oïo<_-Ðp$*¿¾*Ö ½OÉù±Héè7öÄ´çåßÑå¨q¤ÿ3ãñGOvËLqvÈÿ©LMa2UnM+&rP½P<l
²©°7._©nDÓÌá´Fx8~a{pAeørøÃH ÌZˬ&ôÕ8³¡:¥à|Ïý`sÄe¯QéÑòÔ»ôãrøB.H~ÍÍð5W#âSk6ÚÕõ¢·
-ÝhvÆ« þF^¶¾ëùÕzÅç]vëW&ÍL´C)OI*[ ;`¸¦-% <ƳôÅ$©ë¿¬¯J§
-¯
-ã8Wq3÷Ìà°ù¸ÄMìØß±gõ( PÈÖµ®=íSyBȹcRÅþdBúðè=>Åñ9a«
-4ˤuí)nKÑ_TìCÉû\×zÛÓ hj±£%ºõÆ°q}FWC¸è°bÄ\±ü NÐØËFriwM¢dYüno»¡ÒUí!ÝZ7¤Ð¶c ɺ;rFKͽÔ.1Hü}àDÂéLÂ7õÓyôðñ
-hSktPcH
ùt{ñ3]Ñúyæ_Fs%mû¬¨ÂÐÏYÏáü¯ß~
-s¤¼C,xúnM¡ªAO ÓxpµRâ°Ñ¹X»0þ$é×¼²©l)qü/aå%Ä Lý _¹aGæ;±I4fç'çzxÙÜ
-íîÿm:wtnÑ8Á5Û
-bHwìFûnþ¸éê6|/¦ÜæyL^¤q¨RÏl
ÛßNKиÀygÀã;«Þ°3 1ϤÀ¾vþ©Áº£Úv;~ö¹ñT9ÿ"e¦W0Iúneµ¯òì¹JþBæ<µÒ¦X§²«zjoæcøº°=X½sù¨$XêÄ~»µ }úQÔàÿ=.ãHÔ÷ÞV:%
-_£ò9ðfP2©(=uº©ûôøD¿àÞ(Ç
-hIb+òýÛs×^ù
-BP¡[ÅÕ ù±5§/)rDJ1¼6ÿ
-KÅe÷<ÿr7µ/©uO*Çý!tEc½ô$$ÚÜk×`ºËö#^x x¼KÇMBÅ4{v
-(f(6(sMDÍ;®ùG¥KfÉLóS4îÎ;Ì·Î3OªxBôÆ
ÞÉÇBá`Ô±uTgòÌxp®¡=2ÔarN=A¶¥_|aW^S¯LæZäÿòíùûÖÿ^û
á2÷$SðKÑ"ÚvXù×æu]·a´ô¢ëBÑ÷ÀÇ È¶lÑá;
s^jjÅC:
-!Jãòg4Óä{¸Ã14(dêúKyÛÞ ?üBr5nS?¬O¿}ö¦Ï©Ì^¢%ã+9ÜÕu
-¸u¥á+~¸>`g0æÕÀÚvÉ*Bà
Ãzî¤Ø)ª1ÍwVý]=ò¨p0y«¶q
-óF¬¬j»:twZ-
-ëwÜ¡¾½M{ÐJõ2áQÜ7"^rlÌ
-O§.t$)!wêë¥ñûENYPÑ/Loͺ«ú0.wlRÏÔÅð5mLå5ÿÀßNò7ò
-uDJ)ÒÂg£þëõ7ÀkG¦þâÀ-àü+©çªôå!^,C6b9¤Õ#Ç ë÷ðã¦55òàF:Mi§0þ<óuò^])Ö}ÃþýTí.ôÈ/U#e*Â5¢
-W3>~«b.6Yî¥ééQñµAö¼LéÛ9ö§)x^Û%ÑWþò5 §¼dµwò5ò]'²^¶(©Óì_Ìü¦þ¼¼J*\ÞÆcÒ;wàA_}á°ñ#h'þM/ÜÁ±ì;÷løaËÝ [ÂÆsƾKAÄq_~:(ä/zDî 7AU¥÷
-dâ ð%Â-gxÍG¶} 'I²¿?Ô8ÅÅDCà¸
-¹ÛáÉC´é¨©P(Ó¦
-+×N[ôôý*ZLúnÞÌ$k®|e Q`P¿taÀKÝDÇQ»-gäÛíþ[2^_ºV°nl ·ùRõÓÁùý>ü<hº)=YT®QYÊ Ü¡hÂ)xo}h¼kôñ¹öx3¨
-'Ð'Z= æN¿Î%¶:Ã+oÞë9²$Aõ;f_f'ö´;}üÏ{ñD©~:7e5bÆ×äÏ·öܨ÷þä8õ\ÆÂ@-XMröwO½c ^|#j"=xe'¯o5cÈDB:oÓ2L¨ÌĦѱÏÑvëÁ£÷©þ×#dôY)I¼;£Ñº9äôØK.)3ïbÁØ~Ïpó©±c=-±NÏ©JÞdµÝDë(w1·XD=r²)í饰°cp½IR9²B׺V5ñ¹ûd[ÇØÇa&Ôaµ ö[¯5&pâàåYüG_ñëqºöà¤Íö¯t|N.}Yì°ï
-OCÎÔ12<ÉäJxÅ°5÷ÓØ:Bbí¢qÒ
%^W)¯[½tzTñWÆà½XFo¥5P°=L³E
-¶E5É»0ÎЬËç3 jQ{æyeÓ*å£ô[Gz=«½ú#sÛ!ýN¤×
-JÍM±ÃJá
-xù¨gwäT#)(æÖ-ï°/ÃxMúvk»ÄÖeWQâî5ÆÎz£g¬/Ô÷ÿÒe£3{jx¶3RùdþßYå
-ÕTR}1^²o
-C65XäñàùɵmõýæÇñ-¿Òu8Yqÿ%ôÙôþ ãR²cÿ´Ní^ûyRÛ¨¤@e°Ô§ÄEÐ@4âôÿJìë'v+ÿhÇ$·áÜ!C±á!óÑÒû@í¯¶×2íPUtðÒòZX}ÎÜnÔêNW_v+CÚ±3ÈXÕ»ÊjaLÒá¶?c@î»øÒ jÇÒNìmm£´ÌJ¼¬;0¦°îô1³Jd§R{^².lõ'[o;Tѳz~DîT$JX\¨áZ8$³!N´ó@Ð
-ñÊü"dÓ^ÄQK³hà°ªvaßêÿ2Áp¸Áxyàßð#¤©ä¡ªÍ
fËkwYÊcKìܧem¸]äúlÎmÿÞ;c-ÕÒ=ZEÂ`y%¤Òf7gG·ÂÈd·XÓd³Ïhë&ÄëVUj¸úf¦Ü$éç*¹ª.={
-ó8½1§y¨<v«Á
-ÝÒÅDbìì× ;¤ðÑ@9wì´GE»vSË^!_Õa
--/Ào¹q¢½!RVÏÆsÛ#ZvæÄÑ õü©[¿ #ÏATø·¼u×ÅØï Ó{àÍ=˶%Hy¬ôüã-:» K8<¥e<IgîüÕýf
-¾EL¶=Á~LFÕ;-¤6(U°v¯#LĹÏ}ÝëKæ/%õ©
-¯¹÷ÏaÛÔê5Z#7½±±!Ñ6?ª
«Mü5Éân¶OTñèØdÓÒü;§&±ÊÄ kÑmgü(òlÆçàï?°9YL`m¡eiad;rÊ`&b/+ëcÇ2gÙ)ôYVé!çroþްYo|"/ûüG~Ø{KRp8Ód!oà&¾<¿ðî:Ù¼·<{âôPêá £EªåÖôhÑÓFG/µ²
-ô]øaªGgûÉVæEqøÃȹcïNä½Æ¡²>?>©&cÀ¢®y´
-Ìvmô; ×uUE
-}H̨¯Â
6ò]êǼ+K¬ÎËr ÚchQIÀB
-ýN6bè¯Çøù`Ñõײ9åJ ;ñ¦d¹b¿ò¢CÛvç¶%ð]NÌSJç1Í õ£ý·p¿|·,
N<3Þ÷+ÜYºyc·Çâǧî(øî+âq¶:W,Î&J¿#Á°]hhoÆ^±
-¥<Æw»È*@
âi60#ʪ¯)cèÈcÖzRÖ¿M¸#íBMLð
cêt»ç(¾-ºÊñSnQB/Sò½fÊÇS|uå¤BÁ4±2_©âÆêÅÐü%ÖNæ@)3 ÖçÄOüÞHIöÒó=ß
«/ù³9íßÂðP £"ÄåJcJ
-ΰäé§Ð=m[ýéMáZüÁ'0¨¸¯£ÎA±¯¿¥póm´,¶_ï0eÓá_& Xò
-í´~ÌÝ#µÜo©²ß3S 6
-ô¢ÈïÆ*'*¿(ÝÛ{Ø6mÐYó÷¬8´1«-ÇÉ(¶6¢@IçqåëøWëóy»C×KÑrÉ^AÒôiáQ 9Csi¯2ÊáKz£Z
¤Í¥Ïeùd ;ÆÈÜRw&ð9ü¼põ¾
-û«ub¡´±4V'5arr¸!1¢Höh¹lÓ3bM|ÝÙÍ2:ì
-Á¼ðóÉ£lLéU½JÙ
cħÈìªß¯ú²0´Â§*¹&Χ}Û7ÊMf´ÂÖ\mÃÛjÍ×»
-Žb
×ÏØÐÞeà§NäÛÖwÈ üÂ8gÇ׫ÍöE42ceâ5}PvÞè.½#û5*[jpMÃȳ{¾²ãíÜ3U"¡Î7Ãå(îømjzXé8º¦Ì(UÚ¯
-mç9 ~Lý*pÓù©0qóÜ|ò<¡ÚÃê»ü`ÌQj«ÂKK©ÿØ>SãwÊYC×·1Þ9þ¦.¤nË8¦Õ&«FÄø¯(oÞi¨¹£n·M}P¨ÌZAb¹ò
O°ÕÆJÇ%c$íÖç?Àq©ÕQÄ(9#HhÍS5{$VUì!vip\UhÚãª5âÚ"¤VZ³Å!½³WbçÊ=ÿÃóîù<¿?àûúç¬Ý¨a¼<Næû×0JÞ·ìü̯´Ôêz°f2!þ<P=»qãÓñGKi=ÃçnWFâûr÷^Èþ|£9vM×ô¨Û³]£'MêTZzCûͧyÙ)
m4Î(óÿí æjÁ?v.ó'{KÃÆò#øÌ
2
-îk}E ³(U]mw²:C5X!à¼0áÍ.ªåü¹£MPSùþ ·°U²èMUqIçèó¿`VKìIR
-ËaáFÉnã»ÊaVÐü:×ÜêÑ RâäSÚYf%ÇÅöñkÏÜXÈ:gípdéWþAó
ª»'¿üYµËFV(O
-É+IÖÄ(j}küÛ¡ww2ÁáØVÜ¥/j~mª[¶Â(
Q9º¹ÃO
-¥c^7-¼áÃ&áklù©Ðz¥ÛØvPßñÞ ú¹MÿÞEi(£KN&çê¦f¤n5ªØâxD
¢¼Éè2w´vÔ<Û×½Ó}*XX¡[L²0º$øî`ÑÄÊ{¹óocvB´zEG è*CÕkrj2D
-ùý¶Tä3²l
-ö¶·HBiïR_ܼXß±¤R
-Dv[!&£à¥23ç§À"Ó¥ÁÅÂ
-ÏólA[Õ÷çÑ.KÊðwB_
@Êcyx{î]
-óSç4wÀô ÏaÙè#15
É£(Ð1º³¡©¥Rû
-ðöÀá=ðþ|1xïÐ0Þû©¯ß¿_j£P
+416 0 obj
+<</Length 417 0 R/Filter/FlateDecode>>
+stream
+xuÍ
+Â0ïy9ÆÍî&i¡Jͽðü{ñõMz$ea.3ßÇ>æ
+¬Cp\2ö5;®;ÌkYoys6´tʶG¾áØFtÈzRVïEGOÈ/sÉfú7(YnxÜfê¼ÅHà$NÓʺ`»BÑ $ݯügCÛçDÜ/Î=-
endstream
endobj
-391 0 obj
-100471
+417 0 obj
+145
endobj
-392 0 obj
-<</Type/FontDescriptor/FontName/NimbusRomNo9L-Medi
-/Flags 4
-/FontBBox[-168 -341 1092 960]/ItalicAngle 0
-/Ascent 960
-/Descent -341
-/CapHeight 960
-/StemV 80
-/FontFile 390 0 R>>
+419 0 obj
+<</Length 420 0 R/Filter/FlateDecode>>
+stream
+xVÁjÝ0¼û+tT´«!Ôö=ð ?ЦÐC¡¹ô÷3á5^Yá
+~Þñìì®ù·ü5Î|qÖñ×Têõõ§ù~gþ,ÎæèJ6ﯿÎ6)os"K&x[jàË]ËYxíé²0±èm4æëîm2$æòbî¹È&,1åsù½låùclCñ¹úÐBÅ%=
Qhôý«±ThÕÛpcd)
+ÿmø&ÄTò$§ÔbqÔ ×è@g(Ñ\=×TÄʵo).µ¶)8~dª8Fâ%57eòç$XÅ#ÐABK®ú ³Âè¹ Ê0®SàrÔDjd,Ã#^÷ÉU÷|xF¢b*yŵùpgÜyBEÍ:Wáh¯w2(<Õ^ù5ÓKZ9(4NÕS`.¤X(ý'Xëäký²µRjÿàéT
+=û´m9» %ÐsNDD±SlSDÐÃn-A±ê`¾îT&¼ÕÓáË;`ªíì1éö$³«1
Éï¹@!åë_XuXD¯`-KVãp<ö^mãÉéÆëÀJ|ÇUX*I³K³ëâÓ~çhàÃfkÇæQo{«ßtîg«ElÖÓ35¿ÍÞ,Ü÷vkߪÃóìðùZ°cêëZvê^¥]t/Щ{r4<ÉÕBÏÝzà=ªW¥òhGLצ8a>7ü°FR
+endstream
endobj
-393 0 obj
-<</Length 875/Filter/FlateDecode>>
+420 0 obj
+623
+endobj
+
+683 0 obj
+2702
+endobj
+682 0 obj
+<< /Length 683 0 R /Length1 4980 /Filter /FlateDecode >>
stream
-x]ÖÍnÛ8à½BËvQXïOHY²é iÀ±Ô@#³ÈÛWGÎtø®>R4éuw¿¿Ï·õ?ÓåøoÕÓy<Mùõò6sõÏãªi«Óùx[ÊÿãËáºZÏ÷>¼¿ÞòËýøtÙnWë/ó¹×Ûô^}§Ëcþ¸ZNy:ÏÕoÝÃ|üðv½þÈ/y¼Uõj·«Nùi®ó×áú÷á%¯Ë]îOóéóíýÓ|Ëï¾¾_sÕããå_¯cãs^mëzWma·ÊãésM]óǧã÷ôڶ¸¶®c½sSòü1ç¹EÌYYÙ
-ÙçÜÖÍùíwÈæÒ#rbNÈs¼§mܳ½Gçnýþ@?Ðàôøýþ@?ÐàÎìÈôøýþ@?Ðàôøýþ@?Ðàú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àú~¡_àWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_áWú~¥_á·sõ~ßè7ø~ßè7ø~ßè7ø~ßè·R~ßè7ø~ßè7ø~ßè7ø~ß9þñwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßáwú~§ßátF8#ÎHg3ÂÙ¶
-lÎù+Ú²rÉæÿY,h6¥;ÑÈDt8.Pi|ñFv ¢±+íåK÷ÌèdDTôÀg¥uNmÉ-^F
-̸>-AÍÄNèÄ
²,²éuð¬´aÆ`¥ÅALt&8eÁM³<#artËF{ÇN®tÛáÞ®LvqèípvÆv¼øÎKû2¥=²æn±ö=Ûaîzf»õ1þûåOOgñôË$@;<«)bÏwW<}ynS~y.®X§G¡ô¥)Á°ÔÁõë¨3,uðîÖÙÿdØ@±ÃÿÚ«ãÛ4ÍrùPvcìÃç1ÿûKáz¹â®ò÷p×Ø
+x½W{pTÕÿνwy l6÷n/w Ð@(YÝ
+UpPZk
s³ÉШ4Rµõ:ÚjQê«íÈØt¨hng¬ÄQ&0Ü3ß=ßãïüÎï|ÜC©Dr5´;ÈJóàybkw*»þ¾à ôĶ¦ÛÚSßûý¤j¢ÄäÛÚ66íê»è:inÏM3öiØs¸#ùâ5AØ_ÀÞÜÞy§¥ÜDØÖ¶u
+Aº&æÀ6·ïì°/À [¹=Ør,¶ÖÀÆz×±îN#@!Ø?Õ±>ÔñÛ{n/ý8ð½CãO2!ÈÁ=¦AJ1=M9¦.JfLd¼y÷C«LÏQÊP»ñ/±3¸C¥óivÑêA¦'¡çÐ-ô½ÀZiÕQ?½É2ézð&NUô"3W©ÇøN:E{©ëçP;MAt7s`» ×ÓVãç4é^zæ"ën:g6ú¡Utº1ÿLz¥k§p"+s+"¯UFM¢pX
+ïV:ÉâÛF3Ù¨è¡Gé=C°»Y¿Ñl3ÆYFµhY?;+öH÷ÿ0ÀDåaÕ
+w
+ËÄ:q£øºt5í4=dN:o03Þ ©d§i=mÁîNÑú>g"rMcNVÂÜì´.v@`ØPÍÙá{½Ï>e,Lò
NaÐ-^[ĽâÃâ»âyiI02}hvZþ2T?´}èe£Ä8k\À/ÁJÑÄn;P£?Æ.¢õàÔNÓ³ôB¬½Ï¦Ñ9º
+õB»Ð%¼!tb¸D\#ö =/¾)^/J&éZi´Xª R»´í éI)*½bkZ`ZfZmê2m7íL¯Þ4o1ï6GÍÿiɱTYÖYvât^@Í>ZþêØt E·Só°zÚÓ8ÄAu5²ûÀWåkÅ-âba&ªá$Ý
jÝOi»XG?GèO¨6¤ì¢_In²~Ó¹f¢F+7/7';Ë9]ýC3íÓ2ÒÓlS¯2ùÚI©)¬³IF^µ, hYMÊRË˹á^âh
+\ecÇh
+DhÌHF6}m¤kx¤+>¥(ói~aâUí%ªèlÍ
+ô]Õ¯hçbúÒ~L
+nn¶¡ã#¼Zºêñji*tÄD§7بU¯ðy=>¸j|X£° ENÚܨ6îÐ]TàZ°Î§A¿&x®Ô|mªêѦnúÐö9ªyw^ÔgY0)Ó\ nwª¬UVØæ÷ilÛ±H9Üêå¸ ºÕæHk
+l[JØý@áÂÂ
¼/qض÷ß3ìm÷¶-§ßC_Y'ñÔ
+àÔØ"*ÀóW¨"
+Åà a-À³HP3¢S39+ZWí(fÏ0¸@«'Î÷pû1>IÂøU'¡zî±àÇìL9O<È:^+êá1Øu³Mmæç)lÕæ½ÄSÃ1kµYÕ>¦øáÐ)¿ R§j_/c»ý:3¶éä±P·Þp/µÖQX
+GüÈÐ:}Ì5ãKYPSɪöði]ÍåñãP¾Õ>më÷cTQ)on±`ÌEyß0¥9Âðµ>Õ¡
+F"þ{¶uF_w¸F:ñ!ظWg]ÕNudpêPåçÞ(f_á9qÜù] c¸ø
+1<w<ÏÃ%q¤cÌ%áï]=a¸ôò»â¸r!кb»¯ÃÆðg\{ãHÇ0\Ì^Îðâ«Çpù+.Ïð8n¬Ú%1«®ÃKÇÃð²q1¼<tÃÕÀ¼3¼âê1\3áÚË3¼2 WíÊë¯Ã7a߸öÇax
+0û9Ã7_=ë.a¼nÜÏàî%
JuªÍ×É:ÿü ÖèÛÐÅwt ÝòÇ¢ÕùÇÅ~fÑ
+©Ôl[ÚñWÓÓ/Ò¥¥û0jøÎGö´Ü:qþyJµÂIt:|þp¼E"àÿìÈxÞsrq]d"_ÌN~ÐJçûêLÈ-Ì9b7ÕØ\wZP ´µD¿%&ã.È33ÜÐW0ãæEÕ7y-®Ê/µ
C-
+ÁÂåõm-?Ø[,fñ$Äï´ßð æpÁä¼U at J!³!ùùmÔÅ û!ADja;h#d;äa×Ã`;¢Õum¤t¶Ä$É+'§É¶Ä$ù5ûÊoÙÞ?ÁÒheiÑ °0=Æ¥FÙ/ÉÉ6áÖÃö÷å¶ÉS¤"ÆÞfÎO²rJs²(SbÇä
+åtEåSÙºîLX®ò ý ü;ûmòIH÷pèH.FÛÛä=:Û´ësî6Ø1õÜ»On,Å«öéBwTøjW<§Ø!϶ ÏÈÖv¡½JÎ+zI¦ ©Ó*O³ïç!i÷fÏ`GØÊc¢Î%òq¨Øn_Enñ>ÝÕWSäÔÙ&×ò}¹åÙÎÜ*Ù[
+}õó--³,ù¸xeYËdë$kõk²5ÑjµZtöëh©l>Áº©´t÷YÍVÎS:ÁÆGc¬¬uã½~^?uÖÝÂ5(ÇÌ1ͬ³£¨Mî:ê%®I±@
+ªñRÂfh ¾pwéfÚv]¸ÔV:iAêÜ2Ï·½±Èè;ÿÛ³kûð¥±ûñ9Å°ûGÛFoí;7 rççWÖlìw´6Å>ÏUo(¯tmG×¥®zEémí¹{dêù÷a0¤u¨!ÖªzÞplw_nâá°êé¥&ïJ_o+ä]a/¿¦ôջׯ³ÖöøZëÝß°'[ÏתÍûÚZky¸¯µ¯µ¯UïªÅ7ïm©ußÑêÄ'<>¡sjµk|¸©ú=:{×o ÿþ>\æ
endstream
endobj
-
-394 0 obj
-<</Type/Font/Subtype/Type1/BaseFont/NimbusRomNo9L-Medi
-/ToUnicode 393 0 R
-/FirstChar 0 /LastChar 255
-/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278
-500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500
-930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778
-611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500
-333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500
-556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 333 500 500 167 500 500 500 500 278 500 500 333 333 556 556
-0 500 500 500 250 0 540 350 333 500 500 500 1000 1000 0 500
-0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333
-1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 1000 0 300 0 0 0 0 667 778 1000 330 0 0 0 0
-0 722 0 0 0 278 0 0 278 500 722 556 0 0 0 0
-]
-/FontDescriptor 392 0 R>>
+681 0 obj
+<< /Type /FontDescriptor /Ascent 770 /CapHeight 727 /Descent -230 /Flags 96 /FontBBox [-933 -481 1571 1138] /FontName /KAAAAA+Helvetica-Oblique /ItalicAngle -12 /StemV 0 /MaxWidth 1500 /XHeight 531 /FontFile2 682 0 R >>
endobj
+684 0 obj
+[ 278 ]
+endobj
+680 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /KAAAAA+Helvetica-Oblique /FontDescriptor 681 0 R /Widths 684 0 R /FirstChar 32 /LastChar 32 /Encoding /MacRomanEncoding >>
+endobj
+688 0 obj
+12649
+endobj
+687 0 obj
+<< /Length 688 0 R /Length1 17264 /Filter /FlateDecode >>
+stream
+x{ `EºpUõ=gÏ}%éLrB4pBÜ#"áTT<X9d Ê!\pÔU\EEwÕG@|ü_õ$îîûÿfª«»«¦ª¾¯¾»ªFÐ"Ä uìÔÑÕÌFv¼yÒɱsfù2¾Eo@¹>¾zÂÔSÔ"ÄäððÜñ
¹Eat;ÊnX5zÜ¥¯;_D¨û
+øÞDx¡+@Ëá¹ &Nõßàáù{x¾òð´±£)Å*øçMýXµ87#Ôc<û=µêtÜ|gÁ³R=mæ,¾mõXÏ«gTUgm{Ú+ÌñÂ;_ú1 ½ ¹=o@÷¯qPK@"~S¨Czxc at FdÒJÌHFdE6d×È ¹¹yîcP,C
+ôP
+ÌEë©ÈÀÖoù©E
+@ÜýQË1¨s?¸W ÇRháyÜÀÌbW´m}²µ¦õ#À´î÷
+è¾ûÑßÐDGN2[³C[g¶.lmhý~YÚ8ÖB[ÑA
+'ÐðÏLSÇöa´f´NZ*ü0
0¢áè4ÍFóàèKtÝ@7±q&îãy
+¤!WyŬ`êÌÌ·ð½Á´
+Ç`aêCuh#PÀamÆFuìqt Ƨà8÷!yèKìG/^ð@O´yÄ1"pýD
+øRÁmB7ÉT|?!@ߧH´´(xëïZj/#O3O¶
+×r"Ðß\gc´= KEHíÔ1;+3#=-5¥CrRbB0>àWâbc|^ÛåtØmVl6
+z$
+<Ç2£ô`J(©2Ä&ûõË ÏÁÑðbô]/*C~xÕçÞ:!?ýßh(º§¦
+5Çÿ¦¦©Þ®e*ÈH÷ý¡þüààp¿²8Xî]ÒîË´{6I{0ÂC
+Ð7ý!)Ø+8±fr%`Þ[BCæê½^õ5o¿fØÈ` Tä.ÙkG5Cæîó¨~Ͻ%éÜ»
+(_C´Nùm² áÑí÷¡´´Pj*Ì<ÌRLP{>'äVËþP
wËdtâ7¨h<
+}ö£1¾z¤f¥H%-y«½Ä1,j/¹ý÷Ê Ðä~³9BbÒíYvÚJ&vaçÿR\¥7 Né4hä^ÿ«¼·.i@űÀ²`F=Ñr(ÑO*øá¡s:¼H
+À]nº¿à½`»Ü_ã¯é?®ÆßÇ?ÈMÔr(¨ª)ÏÐ×a#!µÜwû¶ª¼¼´GÛ¿@õrhar[k¯²ÂP©Kú
+#^0ÉÝ6æ|s×T(ïme(´M×ÔÐ6Rú|«¦ÆWCY?ú<óÛjÛD«P^hÀÁ!|ôE0À°Ê¡«îé¶(ØkÀ
+ö6[* |,f¹X4àªL?+Ä2È+q|,Á±§cÜiå«eáòu¡¢9\¦Ù)Ø
+úâûÕtúêf·¦WT>_T»ví§O=OÊíÓ ä:O,7²JºÞ½Ûðp#ûÀÝ×ðîÝ
+-( Ö0ÁVa]Háï¬8\Ì3,p
ü÷<ÌàÁÜÖIÌzÿ«KÍró?èº¡Û £¥SÔ_ñ'ò¯²
+É
+"YÐ>Æ;#n²êÀ4JßÓãûDn¬iè±v á²,|InFE®^sIîLÐF¿#Çô6¯r{dà|[ß©e
+JFýaá#o×@è,If.c
+øþ½Üim@k~>rÉaKþR.3mÜÔ1ÛÄ9¿Î|¹7á´¾Ðöh[(ÛÕ£Çät9Ý $]H³q6é!ô±JJ
â0<üN%Å£Édáqa¢sAæ
+Ä5d»I\£ÛaÚóvÌ'âݧ¿[?¹,Ó]¯Æd´7ÉdÃãÓÓ>Ë>÷ß;VSoÑh0ô¶ºvto4°^¹â¼½x£ödÂxý¶!OHXò(û?Ó¦´¢ìpGÙ%+YDó¥bfIÕÝ{®íÁV[=KEnUl2Zô¶JÃz+[ôªÈDd[ur%FiðÁirý¥-^+Pö#¸ÚÓ:O,v§ãpN'«¥3%ì\ü¹ù»'çQõ?d^øbZuÉ/ò
Þ¥g"½ñ`ÏÅoÜZÈô¯èY9Ûs=[êû÷ãyæúBìà]#zR-Òañañ1>MÒ{àçñódÞA®sD Ï3e{[9NàX̬ÎØ[o0
+nJAÁèM¶Ùb_^%`Á´ÿÐÈ/ågýXò4ú±ægU\²æï¨
+ø\=xª$
-395 0 obj
-<</F1 384 0 R/F2 369 0 R/F3 336 0 R/F4 394 0 R/F5 346 0 R/F6 349 0 R/F7 321 0 R/F8 341 0 R
-/F9 364 0 R/F10 389 0 R/F11 359 0 R/F12 326 0 R/F13 331 0 R/F14 379 0 R/F15 374 0 R/F16 354 0 R
+,À{«çÜóXà<ÈÝÚ
+ÈCì°£/[öóà*¯FVE×iôv ã $ ÔCÁGëÉ4PGARr âýéQ%
+Ê×ëTpÒÄ.¹u-¼uqÕÖF¶RÞ¹;£¿
Kùá\=Öàhþßáp.ühä»°(áo_
ðÀì: û
+ºL
+¥K2L@ðD2Ì.ãOÏJ5ºuh#·NÜ(ýQ·ÞPG¶3á§ÑÜ9t»~Á¿²78¿ 2â%½qDtz='î¸zÂø=Ç%XYp® b%¯Bx at lHí!)"ÂË}!±1íÎNagëØÃ,Ïþ¬×w×OÑ?®¯ÓÖóú?Ä1X$}Ý×kzeÎÕ
+wY¸âR
;?ê0Iè7\A%GUÓ3K4-,ÍOY)©ljâ
+
+µ©i©,ÂdM 4é:=h÷@
+ø¶@ô*]Q§=ÅåÖÛ·qÛìÇuÇíǧu§í§ßéÎÙÏ9n·$Y/ê%òó¦ý¸q·â¹!b|¬.Ñî³ÅÛm:ÖÛùúáÄ~fVlGm_Û.ÛX
+®~²?Ǹ.ÙÑ0z$'e5
+¨Ö|í***¢c:ð¡| [¬
+2Lõö¡ªhzHbHËÑ,#0e:'¥a&2qÞ³°åÐïó&WzjÚ_¾zí £²^yôÅ?ä
+}yâ5sóJ?x±Ìð´Q³û<òðäç'|ª9l/¨ÍJµàdbÈ4Ý0Ý8Ãs= ~ ýÄü$I¢ñ¬Á`Î×1³UÌ'¨p,úl9¼ÇÛcMÔì¢*º
+[Ih8ý(-È9ü:C
+Y8ûÝÀ´Od'§Õa'|0&ÎÛÎ\-®ü2ÿ©+K?xmÀÈmçå½×¾¼ôFÝsiþúÊbu0GïÁø-0~=wpqµÇêtD8n÷@zÊ÷^LÄÕÒRHzKb¥É\òy}C<Üû\TÈF=²«ÍQC
+!á-&¯
+ýÔd#H§7òÌsDõHä/Ày¡£0åÃV]
NÚ¸ÞJªÙ9¹
+5î¢å¦ÚQJÖë/C+Á ïk,»Ù¬ *å9§ÝÐ54 ³ ÐÈFfͦ$.5
72
H#úÅ`vVt¡¶F!Î¥#²
+m~Ýso¿ý¤¬vïÝÛàAð
+êäzÕ' üÚUJg×%É|¢YOaà¬
Ø"ÒMp ,i1!_ µKõ ÎI w?ùÓY"?\2âðÁ1¯E"sI^ø$/Oùëë"åµ£N~f{{?ÛZÿªúø3º&©I×dh²}*}ªûÔÖ,5ëmçìFÉ_77_
+¹>ø¥lKÞ%êÇÇÆ)1~ctÆ(JU§3(1ëdìgUÛd«3ßÂà³*leò$HðØrÞqÉFAÙÕh¸¤9Êÿ BÞò/ewîiáR@jÀ¦A6Ñ8`ê¶VêE
+h³ÅÀV¢@|Òæ+MCÖM~nüÈb²£¶îåÅ[æ8zHkäfäëß¿xsFÑÁ+!NøÒå×.g¿ÚkYå¨
¹Yݳ7ý¸?¡+SÖ»hÂ{9PFáÞ}?/7ªq¹LZ©<b÷¨\¿Þ©üA·kt#YìÔH&WUWê
+£
ÚÉ`V«ÉßÎٯץk&.MÔcÂç[$½.Åh4x]$8 üà¼-P!«ISÈ5}Þf
+ÐMä'
+˸wÉ»Üþ¼xÜ,ó`º`D$° ¢.2è¬Ä
+<O=g° ©{¬xüm¬H£¤UÒé5¼Fcì1PB£aÖ
+ù|=B
+èu)W¦1Olåô@ÌíÏüc|<2þNÁÙÇ'
+ÕöW öÚ\ש°°D¼ÝÎÁgð|xÄ93¿,bVq«øÕd5³
ÛÂï »xX
+ VbS³Î2XÇá9ÇÀHGÆDOUÂ~Dz=ú ÌhÆ«^Ä^X (ðz@êjî-À5nåÚ>ô&:¡(¶étÇG~É!ez
7-oaçÀ6`
+°Ih¬êêGFä1ÂB´BqCàAàa±<ÕhÞêb/Á
+k°¢Æ1¢ÃéÓ;}Ðlµ*V2 Ùg.qõ:ÁfÕÅucôÈæ´Æ[ml]mÅVo¼/£Ç¼'0paT9jQoMÊ$§ZAEècdqAõj¨^7*E¯'¨?)õuDÉb¸¸à¸SÛ,ÅQÿasU«âÇÄãJaÅQýØ¢iKDÃáªL¤â
+¬yà;] ¿\Á$Æ9øã4&ÊÌ~yܯ×Þx=wì?zÌi;|ϹF||kÅýÏõc¸ã^Wµ\<¹ð÷°gâkoäú¹»Àt"heëöw°Vd}Io¨åö¸N».p_¹ ·öIMa)>_¢h@¥Ï¡wÛdäëÆf©wkèò*"g_4³'.³
+um¦ð-¸Î{Q\QoÌëôR,9%@uwÄ.Á<¯ão°I,ör1ÄZbÿ%\òô!xøñÉIÉ`U{0 <}¹À}øiÜoÖÝx½óò¿±±jø®ïq£!(ò!E?°¥K$àÅÒùWvv(nZëña7Ú¬§¥_ë®CÛõÝüA¶^¬ÚöÛßgÞ¿d¾%N³Óà69/éõ¦ $¸_¥ân\jhËëµfdñGyÂ{<î¦-jmE£5aÖDh(ÆlgD6QN´3ÖTdáÆv*ݦv*j#Û±Ôª¡ár+F¶ïá];#·Ã.¼úç·7ß?æ=ælñÕbiW깯¼êôôç#?Yò(=Ì
+wà'7kQ
+{Ðøäuõþ>áF³4v»MÜe AºÎ/õ¬åpØn³I1¸}Á:'>@-Hôî%Õlð*æ²ø"J
+q¹÷æÛk# R)¨\¹åLñÄ2VñÄ$+c,éib$g*9°X'VðQ¬¥a×OTh4Dãy G¬G@³ºÖ8-øúÝçZµìêúwn~¡jÿ½g<S=}{éäõصåØ»9Òù¼Ã¬·*ïø}y{G^½²8]¨Jd,ëe_ï7äÉ}äáò±IxLvÐ.
+jt¡©C0Ò±XqÚô6;±òL·|UnߧnöEù>i«DT ,ÁÜÜÎßµ°¤ ǸåÆq§ö<ù̪Ëá檶óß?YæÛÝk]}¿Úd»Tý;
+UvthÎÇ]ØgÙ7¤z×ûÒ¥q~ðµ@ô¥3%¢¡õ¦ãvz ìJH×'¤K¨"I :Íñ mÙí)IÒÖ=ôÕQ@À%4úp5غËwJN
+جä(¸
+U[BMKK]¨ZÉÈÄ$§²$X3÷° õ+~Ã'9dg.5óº©ü¿ðÙÒ!röä{ÝÿÝÃÃ7deÅÿ;6j¹9¿@]·g⼡y99K«Á̽£{°.YãBkÕì&0ÍÛqº0²uãIG9Èh¬Ö¯Ö½×C\
+Î9êq·KÏvõÆ &Z
+@²M¢¹NIz V#Þñí@6P+À©m8<sÖVÊÙ9g)r8Yæ.Õ±ÿ¦S\àè·
+cP$¥¶qÐOµYñX¡Ç|Ûö-~ntIî£áÕdéKz5®kñA^
+öª6Ë9=XZI,Ãó\tâ9´ýkpßs
+ùyìU'¢aæpóÕðmËî\úU'Åí;AÀ(ÀDNâ+¸KøÊIÉ<ô
+Áæ¶ø*lø
+°ÂFf*`9eºíîøªL»AÙ³iJÅý#Idí3on/<¦Hé2{n<Ê<TÛiþ{¥pì6h@s¿ÿ
+®~ÓÍ2íkóa
+ì¬ZM÷øâ}Át&MOÆãÌãä)Þ)¾)Á) ³Yâ,ó,y¾w¾o~p~ÂÓ°îø´ùiy°F\c^#o¶{¼{G½Gxÿî½è½é½LKðé61Ðww3@bò±±116P
+ý,~+Vxب
+øL}L¿XúÞØOòùc°§ÅàZÐ$BÁ~À(IepyûÖ¦9á9×+¦O/(³wsÂtËæKAa0ð®:f£;¤ µªî"`jP ¾[˨׳ßøGçG7usåÌÎe+ZÑÖùOÌ.ÿÄy[ö[$li¯#7×v®_~<ª7
+ò!ôæjØ¡ÙjCtvà»ÍÇÏBk¢9ÆgSi|6ÆgSi|4 jhmÛ
+è¾NBJÉÚ>eð/È+o°ÿÊeì|sy](´n}(LÕÚFê[[#{k¿ïä÷ß|ï{êOD²¿Ø©ýؤÞk`§È'±l
+·Ø½Çý±û"÷£pÞuKÁ£Z1NÝcK,HÁÂ5©M¨Sá·Yβ¼h!rÇ«4·B³'ÿ9I-ILmJL-Iͦ5ÔF íæ$GÍIt¯9I
~ãV
+mZî5£&&z³@üÂO3$¢ÉÌrfÖXÊ8¹å»I¼¾]`IEùfãokªªöeù&þePvͳJdj«¸m[øQ`VvMwñ¦àê^
²pÉJé.u×åÅå)ãâamÂcæÇäñ33ÖØ6&×%7ZlûS>>Ñ`WtUÇHN2K²+Åñf»tpvp ¨Ä_øæxMÒO2N2M2W)Uþyh®~®a®q®i®k®{¶2Û_ñ÷ CþCãÆÓÓƤR1^1éXk²èxÁõÂ(çlOÐ.Qu,bô®}!ærð`5ìó¦À<¨ê³,Ø2 yR3_*ß«4pÔ¥íÆ´¹èDm1
+Ç@ãÓÒÙÌÙ¼¶lÄ%Ùö>eã83<ú¬lÌ'±ÙHLÐÁ~ÊxI++Ù(N14ï^»´³]^ÍðÊí»HRrtÇgtÝÝôûô`ÿg0~gõÍ+çÇÆÎT×åÓËû^lxyÎnù¾Ú§Ï××Nw§÷ßgøýYÞÁ%Åcjê;ïê5´° !!+³¨´tÚGåo%ÌiOîø¶óU[
+ZÊmDë¸ÝÅUÆ-9ae0ÿNÌ°¬ú¼ªsBtMò}ßQÍF«b¾Wèþ@ÏÀvo.ô^ Û>µ½³4 at rÛ,pØaÝÕÁZ;"ïìØn´¢°éKÓ½Ñè¨gÂö|jNÙÇÆÒ]~øçYÒéº.C
+øX->)¬ô\:óð(<«
+X ¥Ã'<Xby®«°/LUͳY!ÌÂ.ÎEÏk¡W-Ð|éÿf
Û¾hÆ# ñ½ÀK#.¶¢e3ëÖÖè\Áù8¶à±ÁzÍfXÓÎͱfÉêÑy>kbì`Ê7a¥%ë'fÃæ×ÇA,AKð~½ùóîÇ~å~å1ýbM¢¹éÃÖ}¦?cX$³F9õ°·ªfe/HFlÓO¡Ù¤«
¯N0`ÒwÌ"¨ÛåÓW+`¡º%¾äWDÅ,´¬¬Y`>¹`§¶¬K
+Hð«r«-zѧæäÁW'Çøê_9tMYuàO§ã9¥|á²3z½µ|øÂæ0,Á`87ë0=¬7¬¤Ò;p)|*æãa/Ûv&3Ý@v]Ün~·ÐÀæ '¸Ï¹ïô¿×õÞ ËM ã¹gÈÓÜî3ò½(ý§¼¡_WîäùhH^×8ükZ¾ÍlÅÿ¿E⩽'oþ¿ÿ¬@øþ?¸Ù§Ûìgñ£áHx;~BüLöUÀ}ª®~ªíFÁ&Éþ¨=jì³Ü³Ö
+hó<ÿ¼°ÙÃîæCì!î{ûýsH`(iL@È«5XMm|@7çó°ªÀ^ØÍk3Xu¶3[a)6ùá"î~n7[Åq×n-æ°¡,ÊÍù·W#ʨ .åѸ 6åÑmK¹M4&L^Ķ¨HlgêpC²w
â`KÒÈÃûý¥ixï²>®åÎ`³aÿO[ÿyýsó6wú?Ô¯Cÿ,^rk¹à¶«PÓk»nçvÀ`¶í\ÒêÓø"ι¥gñÓnÐRú)`?@k !öü$¤ð|ò·!@êéH4×ÞÑçöDË÷@©Ò{à¿Ú»G ÿRWH!Ñÿ ´R6$ú¶Aï;CÖi%¤mf at zÒ+m÷´ Ñ~çB¢õé»ènB¢0TBZ¶oDÇá»Âwì$øoÔýpfÏIf0NfSÃìg~bwp#¹|*?ßÃ/ä |©
Ë!ÒMÝ&Ýûúú
+qOWëMI¦Ì©æY?±ô±,³\·¦Z?±©¶7íCì»k-ÎÉÎ]®ÿvÏé< jðMÂ"RPg$|gaï¯VÃÚ6G<ìQG¥ýúú`ZÙ´GF¦Ñ
+ACµó¥#ÐH`ÏÑïÐïNij kà_Ë|m5%k]ö§|¸îÊ>«Gv{|ÔãJØ/5¹>#Oy_Ã×a@
+¾ëãA=}x&
+A"JqÁ¢C1êsÏQ$±£Â
+¼9àQÞÔ³êµìÍzñQ|-¾ßÀa½KÁGÚ×w[¬ÁøÀ¨àCõJ.ü¹¡>i1d¯×wë
+
¡þç@½Ò÷áýZÝýõ Pio}ýKhòbETã0!RäZ¡ôÃ=hN&my
+²ø rN *g»5°Xõ)ßK7¡ö¡`ÒÌS¶Ãý¶:eë(¯W^£e/E³-Á/_ÂËJm°DY½]ì®<36
+þ¿_´¼o°¯Ò;Ø Â{Ñ7õJÊX¯tÖN¾L¤ªWâ½
+«+
Õ÷«Uau¡°º£°:[X&¬NVÇ vÑ*ÊÀ@Q'"/²°'v8¦Qv°Ãò$d<K¯¬v/Ó37TÚÁfv_¢z»ßgAÝ@$·.YéSä.²ZòûÿK¥ö²²º»mwû
+XàÍ=ÈBH
+6BÔëA)h
C¡dµV²¬þAX-qÇÖóÐîØòP'zÓ[> ôÂPÿïGÂ;ñâCø<ÄlÃ;KÐ÷Ì68Ú^
+:Û ÕPÍhµ-H¡ÕÂl¡Õ
+jUøÖmF«cZÖ^Ç´ì_êäÿÛ:wpÿïªzíë±`ʺ8÷Z,©TZ>Î÷.ã÷ï²ÐãcÆN¤ùèªÐ`UqhJ°Ø¿·ö¿ß¯£Å=Å{Ѻa#÷®S«ë{¨=J£Ë÷e8á¾½Ý×ÀAÿ¦¯A´±´¯Lí¿ék-Τ}M }M }eªZ_%öúO`Ï5{æ,(9s&Bÿ&ãïÆ
+endstream
+endobj
+686 0 obj
+<< /Type /FontDescriptor /Ascent 1000 /CapHeight 769 /Descent -250 /Flags 33 /FontBBox [-610 -421 804 1223] /FontName /HAAAAA+Monaco /ItalicAngle 0 /StemV 98 /Leading 83 /MaxWidth 606 /StemH 76 /XHeight 553 /FontFile2 687 0 R >>
+endobj
+689 0 obj
+[ 600 600 600 0 0 0 0 0 0 0 0 0 600 600 600 600 600 600 0 0 0 0 0 0 0 600 600 0 600 600 600 0 0 600 600 600 600 600 600 0 0 600 600 0 600 600 600 600 600 0 600 600 600 600 600 0 600 600 600 0 0 0 0 600 0 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 0 600 600 600 600 600 600 600 600 ]
+endobj
+685 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /HAAAAA+Monaco /FontDescriptor 686 0 R /Widths 689 0 R /FirstChar 32 /LastChar 121 /Encoding /MacRomanEncoding >>
+endobj
+693 0 obj
+1749
+endobj
+692 0 obj
+<< /Length 693 0 R /Length1 3244 /Filter /FlateDecode >>
+stream
+x½xUÇ¿ççyßQc:Ö6qÁ1PM.1i Mlì*Æ&È.óGÔZ´Ì¾
+B"#wa2ð^ÒP )\f@»tn}Ïw¯þÑeÿuù>;羿÷9ç>Ï9ÏyÎ`
+.a|8
+óð4bhqöl´ù¦½WàO8qv< Á.àHãf¯9a^·ExÁ4]æhX sAè۰צànì¥).Çè§a8ÇïK¹Ù1[ùü
|údc¡¾%,à(²]²Gs¸
×p×D%'¬£}³_Ç\Ó{9W¹½¦9®)¬3ä71[s&A)A=Î
1;ÙÀ=¨³XsN
+¶
óÑ?l¶ufAï`FXMarf2xÇI/ Èì·YHv-f×s>gÏÚÄÈ4,
+ÏÓÉ4a§êL[d&®H9IâlÖq¬Y¿¶÷atn4ÎLOÙÌÏ/åÞ^~xNFÖÈÿrÓ£é1Æú®Nß×ÓSX¤sbáàËLCNÿ¯àé¬ÓÓ÷èÔüx·SççSYÌüó2ÓMÍÏâtÁ¢¼»1(ãNbPn
+¯rÜ),ÉÈå¸}{©wô÷A_`î¬ÛgϽeÄÌÕªøçÕ¯ûq¿?âçõØZ¢Î¢Ã½´l#Â=b·ø¾Ø%¾'¾+vÿ/Åâ¿ÄwÄoÿ;Ä·Äóâß9j¿É>7±!w·ÎÊþ«xF|C|]|M<-ÿ,ÿ(þAü½ø;ñø*¾Tf{Cçei/Óðìãôʲíâf«çe?'¿ÕØ#ûYñ Ø&þZ< þJ|Zü¥¸¿Àm×þ^¯çEæ÷ãô)$1²Ë«eä)~¥"Ô|ĹԼâðs!÷pº¼ìæW5õvó[àH_¯U~¦±Æð$3ürù¹ïßJz^óÏôD¼qô|?ÅtÚ»Ôf§¸CüúlÁuþXöcÒ¤ìJÙïo;ÏíêÏÑáj·y´ÀqhVëï+ÛÙßü{ïbÙ(å;â·ÕÃfE¿%>¢+úÞeýU§AÑÄMZÓoªÎFq±æ·ù¬õRî×Çßõ¸qÿ9~ïÓשFÖÍ+ë8'9ëYgØ[-Öâj>âH?ÃkñuL¢æ#ô3ì¿[ýª|M\Ãï
¯µ¦×S¯8¬²J¼G\©§^Áõ÷ík°SÙ²¦×SK¯8uÕZý»©FVßk?¶*,ŵlë#ôcóÃWÔ¦B\,Å»ÄñKâ<ñNñ~¯ß)ÏÛsd_gw³ÄZ©"Ù
âmâñâât± ç/éÍê|íñdß(æ¹z)²o'ÄëÅëĸ£ {¼8VÌÇÙË:£e?+f#QÀèÙÃ0oeȷί·GåíLñ\F{OÇÿøÉéé¸vêZJªìÁbJ^ï{pfáJå¾Bµ3ó5ý1äÝçÀ3h:½ÊØ?óíxnùzɼÐï®$)}ÅDñâ'Ä>bÅ8ÖàJÑEÏ÷iµ·üÉðôoÉ|>ý|ªµ<fÙÆcy%
+cn]ß`jF|,?|,Yþ¯IRÿ®M¨p
+endstream
+endobj
+691 0 obj
+<< /Type /FontDescriptor /Ascent 701 /CapHeight 623 /Descent -299 /Flags 4 /FontBBox [-167 -299 1063 827] /FontName /JAAAAA+Symbol /ItalicAngle 0 /StemV 103 /MaxWidth 1042 /StemH 38 /XHeight 467 /FontFile2 692 0 R >>
+endobj
+694 0 obj
+[ 0 ]
+endobj
+696 0 obj
+207
+endobj
+695 0 obj
+<< /Length 696 0 R /Filter /FlateDecode >>
+stream
+x]ÁjÃ0Dïú=¦ §gc():ý
+gux%çmú½UÍÎ&*áa[æÇ@m«ôWF$íÞ\¸á¥hâ 'Ú}ªkwÌàDê:r³ÝÙÄAº¢ûÞå¹OÛ>S/®[åF8<*Ùà°Dc!'¨¶iºötêØý¥4&ÙU$Ôõj~ñõçÄO=?ÿºcÇ
+endstream
+endobj
+690 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /JAAAAA+Symbol /FontDescriptor 691 0 R /Widths 694 0 R /FirstChar 33 /LastChar 33 /ToUnicode 695 0 R >>
+endobj
+700 0 obj
+10895
+endobj
+699 0 obj
+<< /Length 700 0 R /Length1 16784 /Filter /FlateDecode >>
+stream
+xµ{ xUÞïÿ÷¼I.IÓ½é4t
+j'9ÒÄ´K=@ Dê^yô@NïçWæ]l92ü¥ÄçÎÛûz ¿ºÞÿ$JÿÏ×4{övõ~FTGá½·öîìý½Î]Wö-EtkoýÓ+ÔEûéiJôm¾"ó¥(ÝIÏ¡l#íÑÊ6"þíFMesØoØv3órúÂfÄã×@¿bö¾Ü˽´=ß
µtÝß,jñ[Gy#-SB0¦äL^·ô>¥Ñy4æi±.ì]ÇéMüVûÅL¯^
+Zi*µ`¤u4óRõ§gø³ün>=LSy3mg=ô&~áOÓ|>¶jªó(·Pì»6нôFÞBé½gé
+£rïº:[Km£aõáUO at kñ»öõ1}DkT©§6¼eñ§Ù}ÐÆ$¥Ù¬Aw¢é4v}ÏbÉIéëh¬³îêý¸÷k~«
þOO¯W^ÛÁýFzDe¬©¯uÝ9GÓh_ÖËU:øu¨é6J)GEd®eíRØßØ[Oy`g§¨²á7Ãø!þ;þ2lõdø?ëÜG:ÎÇÖ«wêä\òÅ4
îFb*uó©´ÅÓskvõÅDU(ìò¡8Îg±ÀÉ¥ÐP=<CÚo§Öâ¿ç}¤¦rDÿ¢%ÊÐÀïaÓ%¬Pc¾Ö¶ºÜF»¯?e;á5ÏS7fÃqZz¼%TF?0ÚGÃáwrà÷ÿëZÕåfO·^1Àå¼rÌÀÕHÓáWRSAi!ϵòÊ¡ÉÐé%: zúÏvRÿ]/tͼkµ½VÞ6Å/Ö5^1ÑBxÃèï!ü|ì(¹©HÜ,äzø?»îW- *Ì
+HT¹WBGcsõUs
+éþ?Ù¢mçP%ßÍ;v´_ÓÃâ#²0?¥Ó,À®û(ûyQg¤>>!êýF!ÿ^fÄ/Þ=«õ´¬ÆêòæÑbXï!px/=J«èØé`0-¡_v §=EÃ1â»ô./GüîEÝ&ÖYÔÛÈ,vÊ|®÷ß½_^øúªêr~\²ôþ{ µX¡výXËÃÙö4¿ºÞWÕûMW{Ñó¥½ëªAþ/
½ä{÷ÐEu9àOCÁáªgeW;/ürÙ:úÕñßßpñoÐú¨pØùò¤Ø©Iô;@móO±¦|õæ¨ÃÙzGwÍB»(mWôÐ~~«¨D#þ-åÏÊãÙRª¡fZC+;)Ýýç|²HY©||YFøA'ÖðÁÅêÁ|ÿ=½D课çU#ëö~SB+ì>¹òÄqS!ÑZÃK±j¢±|4¿1WÁþ(}³`_`çÑGÈ>0ÒVèeVÒvìÐEØòQ6K|®Eb]~DÕ¥X©.¢ÿÀ5¸OÛÖP&è¬Åh¿
+XcúÎ "ä®Öz¸*f ñR½
'¿¯ñ©ØßS<dÛ¥àwC¶¢i%JfeÛ¦|½î8|è>È°±.åöº>~Ë¿æ¹àªÑÿÏ ÝqÌB©«f")r5²ocÃÅ8¡VX%º/}ùÛ: õgPcO¢NØèNØlôö0=93NÖÖß CÑÙgb]_[ïáÔ¥èI5*¨%§Ç(BßgÕàjVÇG0ÊDjæ8¿ºÝƾnø0WÑÐÂü¼Ü!9Ù
+tèÞÏf·¥¦$'Yâãbc¢£,fSDxX¨Ñ¢×©Bá²xo|IUÙoBI·ÜQê0Û¼å7í%Õî´åeW
+ÖòªN/EUx£+«:É]TíÕ9ÿ³Ê
+^%ÝüÇYme^?ÇØiõÞ¬ Uvùk_y5ºõ&TÙíV/OÇßáoì4[½×\|h9c¼TY%ÑÕûI2©È^pB7åR²Zöå
+&»¡Ñ#}læ¡Ê
+¬ÍÜYPRê¥èN*ÿÄK1²ÒÙ"ì'#¼YN°aFLë²½,ú[/ò²qèêd³E×Ð@YýGYýlè³¾î²FÏôi·µÙÚ&TEæYívå
+ﱫ:C%F0HZuC*3`ÆNV~=Ó"¼¼lX'§p(Ï"Ù-ãu¯©CÄQ
+¡$êrIWïµW*ªi1¦éÕxõ&l³½îi^Zcëx¤mmn«sÕ;ê§ÝZåU¦©NRÒË&z**'#L
+6iìR-¦³5ØÚuë:JÑôêüúuÒIX£eªVû«×ZætzG¡ù¨»OY¶²øÙ6lkkµywÞXue©]ÖÄhk+s`4tV6g¤´XvÙ4_S¯Ç½fÍÛ|ÛèÓÖ^ò~{Ù[þ£Ö}ÐRÎ
+©`úº9R9h)@lmkfh¢®ÕD·ÚÊæJÈð}Ö«ÊeÐgp@(íôÿlk·{²a[[dqZ=¸Á_Sc#À°:ø)ñº'j&j6Àîi¥ÕÁ¬`ØÁë®+®BàÕ§·ª¶6Ù½>Ýí4Û¢ìÈ ªÊJ¥w¢&/©ºîL¼õâ}Ù,uÚ²ÏH%É7¼ AêGuÓZZUõµ^Ç[£m¹£¼®Üa+o«kÖÕÛ|Ãfv´uVT´5ÕÙ´yÏ`Õ[¾¶Úk®k`Ã`déoåÿ<½ÜÖ0
+ ü;ìEV{$z
+cɸvqpÁÙáòrµ¿°aX¬¶r¹®taA°zÍErIUÓ1DY½`jÜÎr(Õée³o
+êÆjǯÈïÆ`.:±ÛåôYÓå¦Ûð6ßXHÛè6«ÜÙNN¹T3I4_*ék^çâ+0¾æÿ;wÆBÞçÊmÍ%Wqp¿1õÞ#!ãÏEÞhL³tTIbå²
+bܪÈѽ`7Ω5:ÁÙfvØN8¼f§W-©:bQm3Gbmd}~ìQz¨ùã÷L®mö²^+ga=
±ÚÇ¡°¯¡¬.èxR<Ø(æ=í(µv¦R¸ïÕ£ÙO}CßäBüa6A|(Èìðýh
+h*ÒâJxSÿé}L¹¯Xu)6¡j¹õîj¨»%vs<þÃ3?=YÝ¡z&©APù£ãø£ì¼ãÙÇäØ#íé*ÿÒ¬Ò9I Ü»lÇ -Ïø¢X¬»g²
M
+eÃ,¬ =údèK¡¯×UvL0a1YVr͹PCM¡+õj´^¯Æ²×tÌÄy©Át§é`!¦xS©È$h~±óQúV=WôµrVÅÅgqÎt[B
+Q
E¨&,¡z<¸Ò7Ü!cgjeh5<jx×ð¹A¯7d^2¼nøÉ õQl
X2Eær'«Z£SkNI7;c>iq%dçåQ|ñ#GäåEæÕÔâø1übr¶.?Ú:8^!9¬F^âÌá`øE: Àظ¼Â¡Ì®è'?wñV]KcS5Ϲxã\øÇ9»zàÜ·Ï´Y9/íD7ô~.ìâ:Þô£ûéÉòn:+J^®ð-1í
+ýg(_jdEÆÑÆ*cñQ×eét£uU:·'0ehÒ¨¤w>O\¤4îôñzn`Çô'*®Ä93ü%)ª£}KÄÞ®c`,"BÝÕhîß®F1ˤX¦D(#ÓØ*JkIm cFËXâÚÀÌäN'ÓÔ
+ÕBï1Q[CÅÅgϲ¸²¥ê â©.ªaHO©ª©i\²þìL#-£ ¿°ÍÌi:}æõ,/7
%³èX¥@'b¢cór
½'1ô
?ï}åàç{§^grû¦ÖoòÙ?ö÷|í¡
+ógµ¼{ãö½m«÷%%bo,=ðæÅq»:î¼÷Ûek<ÙC7©ÝÕC÷нºÆ}Æ÷?Ø)K1yBÌ,$
°Ñ*+Ïõ"N¼.Þ"[Û²VÆo4?ªg¤ß%ÚC£âc²bbw#XéW
a1«È
+çÓ³8ÉpÎVE¸i6OèSàhejÍkæ35?NÊ«]X|
+¬9#&Õ')Tm1{
+ÔR84.9Ò¨ ¤ôÐé
ãüéPÿý³Ö¦w:»ÿß1õLÓ»»CýsVt³ÓÞóæÇíñ±ôçXÑÌf?±îéVMå'(_CIÅîCììg;cJ*Ï&çï6+1álFøâpÞn8mÀMg?¥3}&û)ñXÆôöQ¢¼óÆYÙaÛ¥d¦pïçÊhGJ¾%óÙ/X#íqf«ÉÜiÑëãôKõô¡í"IÝeÄedf at w6ëHÓ*
+iu2õJéõ«¢Ý¨÷îSç ?^8uTS,ô)ÕX|ÆÇt&6T* gnðÈ
2½°f¡ôÌ
øC"=Z*9£ NªüzV
+I6p;µdf&®
+nÒµØÝýÃgó,ûÖÀÒ}&Òç¡9r|qâ88¹4Ê©äCóHÔ´F`X~¦J×ײd íÓLóx¨>.
ÇDËÅ#s¨61
+ò³ÌÁKI^nlÿ[ØâY+f´ï}²æ¯üáÓDÄËÜ;ì-lxÛè/1üü-·f:G.óð+ûöYÌ>*gXrzáÖ¹-Ï´oÂü[)°æÕ}9µ¦?÷Ǹ.ùA{?£Ñâ´ÝVÞ<Ëúò
+yHÞ[¢~ú×/vKL_I «¬¬{¶ãýÔ
+@%P.wöDiô6{Çò÷=¾HÇbÍzoõ8fãùz¹8´û×aë#åGUV9=wÌvû¤ù³§/¨1î&rñj0
32°
H¼×9-~Õåîb-îB®Kzû¯Ýk]¶`ÙeJñ²ñËø²{þôgä/Y`^#Û ;?Ö:~~íüówÌ4wÅÜæ¹Þ¹â¹lîüw$÷Xù`ÉB3`Ng)'¹N9,¬äã©A>),ø¢cºY.Ës"Ö´Á¬9fÎF0£!Úº¢a]Ã[
+ÿh93Xê6£¡eab¢ػKìw¼»÷¤.ÍnråtéìþÈ(W¡g°. ¬LÑ
+£·N¡Hëì@6%&ºBZ£H[×PÇH.]ZÔeÑn]&íCj?èAÐ7
+p î¤~ê3Tª;¨htäV»ý1.«Ç¨â!ÊîW÷Ñ u«?&n£vøº¡*Õ«¶KÔ },H·i»ºVF¾«§nôGFËõ£]¥ÔG¡»»Ô§ÁôÓêf(¬Âªn¦)À\@¡mYï uß G
+U}hp¿ÕçÔõwk@_ëýC]R_ëý¶49ÆÆnÞêIT_@ã)2T·©ÛÕ_CqkÕÔ¡¸PurT÷ªOAa«O¨»ðÚüºÒét©0u%þ
Fµf
+Çã
+`âí
+ýÖùCc\˪s0àbµ2à%ÕþÜBÉ{µÞÝ£Þ®VjTÇXëD~:}8ÕñêLm=êÚH÷ë·§Ëæú-±Öû纺Õê
+èáþh(½tª/9¹cÕq7¾$wËS¤ÎWPÚ¨.$!EOihåR©)N÷ lBj
+èV|>X-0RA&ÄR'09£hÚ>Üê(xôS'©7«·À
+åê(u4¬ S'K¡£Ä$5v*½ðä~ ª ·I}u*:Ðe û4L":M½M{NQoUk0Ýê¸þr£éàÆ¥êuZ×Ñ&@J|ðónuêÀ¼.øSl.hËé·Ù]£«Y0]µfL5=P)×gKG£~HËMM÷»KC¤ûl¦ÓÕ'Õv5§
+C{Ô!ÐÛ¸S6\µgê Ù
+*:õÅ7|ñø
+[âQÍ;çi8áÍâ3¤ª
+pqA\½.~?¬doÑâMâ½'ž~°IJFÂÌ.Ï
+)Ä1Kî}â_ÓèIïï=rÿ&j¥ï?h½ýµ1ÏÅï^Æh²õ!µ³Ý!£/J6º´Kt¹<H3áûñÏM*0PÄ+âUÌu³0ø.áS4ðð>ð%pÐ@8à½GÄã~K¼ËìOàPö5Û
+]úë('sh3°Ø xÙHû
+H
+õ¤G0æ#Pð#4ØìtWåD@Ψ÷ ú"ÚÐÇáKNýþ X+çxÈì
+éFÍQoåÀ@-?à7Z\ä1ÐBV*&S*{}ýR=±uÖka¾XZ+© ØìT¼Ü7úFWX.Ò(
+_.¦ûú§Ö{ÌâT½8ô{ÈØ&q´qb6±Úf«EÖlÄèjòd%h¶c.ÅÐI@
o-Q²öß#jöߤË@S0ôÝAzWÞ)úRRKá|KÁùR¥çK±
+ܬÎ
+6ÛîäÚrßèºÎ%j)_ÔéZhª¡j!J-¨EZ8 ·B¼ô:D
+lXæoó·B+·â6ªQLÆ
+\'ËÕß
¥1ÆNÆSASAm Ù vÐE é @ ýA3@Ã@3AåÌÍ
+P°æÃé³G¤Á
+*)CD0"G
+*Í
+RèHAFÊ¡, r¨(P9T4+&5ô ã
+öã\.Â¥¦[ù/åg¸É3_ùLÊOÀÏx¶A~¢
+Ä-Mù
òò=Å(?£4BQÎh"÷bãZ`°
+Ø`)RºP«tRÀé~oh±ÇãèñSåYXÝ©|¢ü]£Óé_çÐÊ©¼¤oéå-ÿ
`úwÊQ-ÝH÷TóY¢\=Êsèk92Nù
+\rB$-S~S´¢üÝ?x¤¤oøÒ\õ£rÜ&®¼¦¼*¹BW}ÖñQs"'ÍBy?Èé{ Ó¿égµS(9¤<¯à*´ö<1>ÉWa÷ø
+¼óËÉ+ø
+í/I±»=¡|4Vp"° òÑ~C¨ëKO/G¼°Ç¡R¹§õॾx¯ñø{øp¹"ÃíKòÊHl²«¤$ÓÞÅý 6I±$7Åt?¿Õ¯÷ÅÂY´fEÆRÆtñ¡ØmsºøP®÷òÊJJBR-êÊéáý©ÀÙö"]]ì´ÿyÅéöØ'jÛ°VüMð.~ÀopryOáæû}¸»÷äOHqe{"Ù jN½ B/pP2ws÷²º;/¸xòâÙjÎ
ºë/¹ è|ÎùºóëÏó#³ì¡÷²À~@ð þAv§ÇÂ'`ð)ç
£Èo¢&` ðq²*0Îo²¸*<q|ª8ùXý´ê~ p~#/þÇÇÂÔÐf4T/äù6x>´
+»æ¡|ó1R>¾ºÀ¹ìÜA>ZÊã¹¾~N«g0ÏÅHG´0aÐ4^@¥ÁØ)Ðs
+fé Ý(só.÷0¸ûÛ´×·íxó s¿n¶¸vwgó.¶«Cq6?Áx\u>.£;ÙNê0wÔu4vO!¿È±|Á
+@1¡ùyP9ñÎé/ü¬¾È¿Ñ&ñ¥PÖWÊI=õWªÊÐ -Ò|¥"qO¢¤$k-¬ ²(%R¬X at eOæ 5ó#H,ܽüyçùsç<Â$¯Ïrù¼ÀÉõt>¤{ù>?Æ&O8¾ª66 p·ú7
+'yÜ|%x´§ÜD9@ ÀGRh5Ð(åó«h¥@=°ì+vF.9ÊÊ8M²JP)Ùø ½!H¤ÊXMâ1ÁôhEÞ&ó.vÀ·A8»XLu±C¾U¤Ç×"ÉAß
+¤Û·\uzì!|l$'[Ë5ú
+9[ÍlÐ>8ÛånÇ=w;Ù¸Û!Ëølüc;Û¯í±¶J7ܪl×6BiWä Ý©l%ée£4Wÿ68GþÍÏBZlg}vܧñ¯1i¤cîáËønPîÒ] pþDîÒ ²þoøãÒqÑãã><lò¤(¹Ê@mú
+<åJ²tp®èÒÊ@)MwïYDð¶GW´q|d=>ÁââbÀ×ÒmC at eߺ UùBÑknÊWù[0.!÷ßx=¼¢ÔùzàJmLð÷ÈìC#^s½ã7ŸúfïÐDà °?ñt¬èý<I<*Ó,|Dó~¸OÃv÷söab¡û«
½Ïí0§}à7áñýí&²ãøRõ8j¿ÏÞÄFAì"¾BLe_²/àìÍ/³/h=ÀÄìò¤)£rMqåJ¦² -Ê *ï RwéõJaµ2²ûöÀ5¢æÌ=>{?mÎÜãuuã£^ù¼òꮫ2d÷²år¶Üߢ:KºØ"_ä
+FJÆ"þCä#}qqZÇçôw# ÁR²b_qq0'Z,È ì`ó7#5)[ù
+FûÇã¼ïwH2¿Eç<|¯np£ìò
£êIe¼©ód+OP#Ьv^àpÁ°ívcØMo^@ôiVvÉ~Q¾ç]Øð¡Ã1©'[ 1fõçu;Ê=¦²âtf
ßY¡ó³¥q¬¾¤oXýñ¸/B¾¬[H
XÎwQhE;/pÐc¡ÂË(ªfàR-=¬OÏ
Æ#¬
+E°øTOÈðïLcB'fülfÌ°Ú5ï"IÖÇ÷4Ù,b?W~Q±oÑà,û7²¿fß¼áêйM'Ù¢ÿ Éf0éô!aPð-èÇli'Ò¸;2íHÚÉ´³iªÔcFöÄ%Ó©M̤|£p+K×'ÇãÂ-":¼2y-T1q¤7Þ4Òç¬èRl¼¹Î
+oHåªNÆ®F®?Ð
UØ+èâ ÉSªºX,n±vÃcÈ[Q×òP5>Péexøį5màºUÄYácMïP|S(kV;½õò¯æäjo®¬O®&'®EdÐ$ÃË×"§ä:³2ʼð±ØÀ²ºÒËUñrü궴ƺXKæ8M¹M#±XËER&®uÉF
M%UÝN÷ùñð[q?ëþnl)èÉ,ÜuÈ"ÍWøÕûJ$GI5!µ½¿`¨l¦÷gôP¼mÛÖ\SëZ/_áüUËk
+v\Reõd(ý4ø§SÉ
+ÒL%]Ûû24=ïÒ~AjR[¦*iì2Ã1$fe ?{ËÜ
+5
+1%õá¸lb=@8ð¦ËT½L§pBÂóQV6äµ:4*_õ`ÇÉ©u°XÊ(ë
+ÔKI
+ÖÅ{E,a{ØèÃ)1Áë ú7ú,1®>ÆQk»ö¾KFü¶~è1ñ²G«ÇLpì
+Ø-5[\64ÄYÜöi[¨8ÒÑ\ámÜ^v
@µÂÀgq×fݽ_!/_ÿʼþÈñÊÁñ<Á^âjYçòµHjYSµÔ¶ZMµé%Ó¸0mûæ6ý,
Á ®CÞeßW.Jh«9/O@Mmõµk[ÔÔìW:˺gËfO+ÕHâ|!Ï´»¿£Ãz0<ËDeáÀ²vå*tUÇ]ËË[È?FÌiÝ! -)3Qb7úÌ9»Åf±Y8߹˱Á£ì¥Ä¨?´¸Âs!Ù¢+¹*ZueH_HÅʱºÅ9qVõ¦IºÄç!~qB$\Ò^ýh2¢kð-6Dòµf²fCYL8
+t$3«(¬vi@¶J» cICi²6¸ÌаÐÂù¼ñÞì¢È^ì&¨à¾lãì4ÈíµrÂHì±´}Öè@â
Sð
+3õ¼ªCÛ_Õ©c#;õ4²ÓJ#¬(ÿÐBøgë»Ä2ê˼¡N¯ÍB#ñéh¼Ó<-É.×
yuÈÕ;FVãéÿ{ü
+endstream
+endobj
+698 0 obj
+<< /Type /FontDescriptor /Ascent 1069 /CapHeight 722 /Descent -271 /Flags 4 /FontBBox [-1011 -330 2260 1078] /FontName /LAAAAA+ArialUnicodeMS /ItalicAngle 0 /StemV 0 /MaxWidth 2259 /XHeight 524 /FontFile2 699 0 R >>
+endobj
+701 0 obj
+[ 833 556 556 556 500 ]
+endobj
+703 0 obj
+256
+endobj
+702 0 obj
+<< /Length 703 0 R /Filter /FlateDecode >>
+stream
+x]»nÃ0Ew}Çt$;q³<ôºý
+µ$Èòà¿/¥¤)ÐáäåÛçÖÙü=zÝaÑ:qñkÔNÖ±ªcuºQé¹¹ÛsëFR2
+vOÆøcoÑ`´nÝ×¹+n
+ágt S
+ÔýÀußÊÛ´íÉõWñ¹ÚÕu%í
+.¡×{7!B(y¹(ÎüK5WÃ0Þ*ëJÉ,!F1Y×$!«BañHH"<elIBeÖo×<6¿ç~^c¤KÊËyyëðþæàC^¶è *|
+endstream
+endobj
+697 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /LAAAAA+ArialUnicodeMS /FontDescriptor 698 0 R /Widths 701 0 R /FirstChar 33 /LastChar 37 /ToUnicode 702 0 R >>
+endobj
+707 0 obj
+28904
+endobj
+706 0 obj
+<< /Length 707 0 R /Length1 41980 /Filter /FlateDecode >>
+stream
+x} `EÚvUuÏ}õô=÷ÙsgrL !
+á Ê0PP¬'ê
+^
õVTXY5ÜTÐõF×ûXu?ÐñZ]d=ÈÌÿVÏL ¸~ßÿÿI¦ººúêª÷|Þ·:#ôh btÖü¿x½Z^Cóg]rQà1ãl+Ô÷#¤Z1gá9ó[ð
+By)æ3oÑýç|öBÆZúî¹³g}äãÝþ¸GݹР}üöÀ~äÜù]ÖÍK¿ tîyî¼gͼøõÓ;ºs!ß6æeÙóUYîÃ~àóg߶wè?`ÿØ-\páEª4wÀ>=ÿý
½ð©µ+ýÝ
+ǵ¡
+Ã/ýÑCU)×þÇgJZ£Õé
+Fgæ-VÝá\n×çCáHTÅÉT:S¬ª®ÉÕÖÕ7 h ÔØ4¸Y2´eØð#O5zÌ©cO×:þô3&L4ùüêÿÏSÚþß.d¿Ç»¹aëcf!B
}¥Ïgù«àÏ÷
+ä¸ïÒ§ø`ÿvøÀ/[Ü¢³Ñ»h>úºÚjðßÐz$!{10ôSP#º]ÞCßCk=¾Ci©sydFQÿ= "pUzÍF«H#b¿yKâJf¾eà.ÐÈÞ;&ZØßL¼¤®ö23ÔéBeá¼}¥0=Éûì@±pEùk7VîEFtñöþµPUWMDèbt%ô` º½ÛHÙ]X}}X¶£½8Å"¶ñèt8û:tÚAo Ñçcã%øü®õ>¾0ª0«°
+G§¡V´zq!S©Ìã̽ÿß_ðÁ½' KÐeè
+´BÐèïècÌ-@&2#7jBSÑ,Í[¡OëÑ+hVã%¼ÿ
\Â2½Ï_²È#x
+Üíl8w5é:ô$z½Þ{~cÊ`§ðD|&þ#¾ßoÃëð_ðø¢ 2s5û"ûMþý¶pOa=|¯yP
+
îÂ_¯Éó[ßÓ3ТåÛ
+ßó:¾B?Âw(±úz
+Ï{Ü>ä¤&W¿ÓĬb^aö®üiùùù»ò¹ÂX -)rð;¨i"j{_£ù zff3PÏûè[ìÄ>\GáIx
+îÀçâx!îÄWà+aT×ã-x~¿%,QSE®!·-äyò>9À æf
+ÓÉ\ÁÜÊlaÞd¾d96ÍV²cÙv{¹)¥]ýÚ1DZù½³zïéýk¾"?,~þÆü³ù÷ót
Ý
ÏUBÛÐ9ÐÇ?m.E7£5@A?E_ o`α`°» Ç~yÞZ ßc¡çq¿çâó`üà
+x~
+ïÁÏâWð^ü6þG0ô¾~L$sàî!H7ù;üþH~fD&ÍT35Ì`¦fs<ÏÌ'Ìç,aml{»}IÁ(ÎVÜ¡Xx^ñ²âk%§Zü=AD1¯gÙÁÌ<´µù¼MñɯøâÅÏ·yV¦´Aà]@åóUµZTqªz+r7É0YÑ£ßJô0~
+ýJNJ»y¬%3Õì-ì`üZßECÐ<æîÔ 3adÿFï¨P3Çó¡°ýBA·A6.xOÅp+±Ãh
+"7£0ìsølGþ(ØýÌ
+2|móÐøYxÆ]hÙ
yi
+8÷WXÆ@ÎBï6õ71O*ðU@§óѸ¥q/Þ^#Bux6óÌ1¡7Nð±Cx#s
+Úe_a_!,ÜéYÍJPÈ #&g¨¦)Hè¿$à©ÈL~ÄWyh.¾ù
+¯#CÐ84¹Àwäd050b;A´(¨¢Qáes0ã_ Á@ç ¤<ݧ¸Öw#
¶B0?CaÌ.Ñ9¤ÛÀK§ °OÇãÙÃ
+Ðò$ûIÁõ8Þ*
+£y&ȹ #*Q5ª
§TÇZÑ$§ %ç P'HÞûÐ_ÐFÐPc`<¦ÃusÐyÐ~!h¨+ÐUÀÿËÐ
+w Ñ[ä1² Èä2}>b^b$< ½Ë.g£3PÇøæz%?\·¢ð|[¹AúçKòßÞ/<ÚûÜïaèû-Ê¡èe£qø(ëÂ
+iÈ©ypSã êks5ÕUÙL:LÄcb4~×ãv NÝfµðfÎd4èuZZ¥T°Á(=<<¢#Ð-vt³bøS2t?<fÐÐѦýÏéÐëf¡~gJpæÎgJ}gb.Ð3éÀðp ûõaá@:~
+Ôontëcåú*¹nz0;ÏèÆáÝ#.9·kxÇ°LoÔi[Â-³µ4Ú¨ÕAUµnGxáFìå
+q¸ µ±Û6¼[Ã¥p&:|æÙÝã§æÛ2énÜrVxV7
+í6¥äSPü5ÝÊnü5¹Ýð4èÆÀÆô®=ÕÒ>{æSºpáÝæ|ï°nÇåÇwáæ|Ëe'u3]Ãsôä®®eîµã§p;HïÐÖ÷kItDG×øê0ScÎÀ·ëÛ¦tãëá+ôIèSovx8mé8/Ð
+Ûu^L««¾(¸Éåvö#×ð@×)á`w³;Ü6sg£u¾h³ þG2é¹8°¦REo8±2½xL®É§ÓÚÓûFÓ
GuK at Qg 'SÂðL
+´ÝºÎj 6Wu
+32·[ÓÒÑÅ
+¤íð¸[å®P@øÐ?û·Ì,µ(£Ü¤tÒGjÝxf¹ÞJu'DT-0§ÐÇÁò~m&}I^È`ÃZalg¶
+ÌÂðtoìÐ,Øé^2~Jq?f¹7!)jë&ôÈòÛDzdIùHßåa ä-`D dëV}&În~îÀnlÿÏ.sFxÌø©Sû:JT;fB¿½âq: 0np¬T붴LaÜÚh¸ù(åSûN)ún6
+J¨ÏîQ©*åÑÍuR,Û´Á`gþ·z
+éUòæøe¥Çè*u´ØíîAýöûuOßÅ
+Kf
\¸k b×Âá 3ÚSØy£»{Ä6xsñ@ [nãÆoð
+gL²C(pÃ)À´iéÚÖ[ô{îS¡ª¬ß"TÁÒ
+´JT¶1qiT´mFzÜÎÔiÜƱ½§qGÇr½¨¹±·~ª*kÌAs4hâcfÏ1I~EvÁß>#)`÷ûÑ8Éô¾îsQ«´Ã\ðÛ%¹tö'¸ÁX;ØûTXõ¶x)îhû¡¸Psó!î6ó௪PF©Ä#ÖæêjªA;0r©C+4í"qyl8\1;j¤{KïÔË ;u¡°öº)nlJfiµäæYöm¤^wl4*zÈRIµ
+»öÍNòÒg$}À¼Ûüyù;³Â¼Û!ÏlV¥ÕCÚZ©^ &ê§ÈÝà;}[Ïqä×Osä^#×#
+,=Åñ
+|×e@J|\uº
+öí¼KôûE|°¸EJVoØ/ SlC?AnAO¬Tä¯4Çð@/ß¡¿îSzë ¾
ý¢÷_É`0 7 íùc`~ÞP«KèQ8-oW*Ãn±
+¶(Æj4µÆBàyu'V '®§4Ò>¶÷H#woò@'NW;Îñ|}qTà*XyªÏac"I{ãc1½TL~Jàúè£þáBLðéaÓ¬Õ¿ïyh]¾ç½Ö,èBxtèãLþY\êoBC4..öYÃ+vN¡þjµÐmè± ÷¡xl¹ÇGi@å÷ë¯%°Ú\}_#±"9ì¼,þýýþÂ|!ÿxH/@_Á§<´ò*ô¨,¿Mî/ú¨ÿþfpNºÖêáÂçG×OE°Ì²ÄÊøÝþÈ©&é0myÍñ/þûpDN×ZjkO'c&¢L&X£ÑHÐpÄã¶z<n7 at 4®
·Z,¼Fðf+Ï3`Jy(îJ£0ª#×dXía7«øij5REƺüÓÈ=øɤÜcù
+ÎecÔ$ݸø8/=åìÁÒË3ÞÛè¸C.'w¨ý9a@é¦ù@ó
+ÖLC¬5eAV,?vJ9eü>X~
Ïåòáä¼Ö?¦ÜöÃbqàh=?Ö)¯¤òï·p
ÉùzíGHÙÆâgÑÛ&_ETOá»ÍÇޢȢr#K{Ô¸Äà8ó¸E!ÌàÞ«ÃBh'Q±²tKÒ£=Ài
+"°gm Êã
+È2vZÇ~¨ów`|?ÕXàK¸*Ú_°O4´¯§Å÷ãF?ðý¯óA,Íj4v,h@$5#ð(Í4ÍùKðeåêå;ðÝux½fÚ_¯hÞÇñW£ø'C§ÁºüòVF7MÓôàMЩi꧳f>0÷à]
t¤½dxi\:ÛÛ)J \WRCû{Ï4»Í<¨³Í"ò˨`ÒÛ:IBèsxî/A/
+@oæ6¼³ðb
+G6eÔ!¨ÇGP¬ðodðïm£Æ¨6
WøaסW$?HáÂcôCü|µÏã
+SBac°O7)x
ÂàjôÚ¶ªHQ¨üóN
+QP"?©$ü¤®F
+¥\®È[0â$Ùg>³£ÙL»ÏÇ7z
+¿JTbV
+7
`ÂalÓ"fµ c
ó¯kÎh¡°Ó×*éMþ)9 b²:üô*3ÑræÁZ{'w±¯ ÝnÃ6N41Q
PËÉ*Ía·;쪴ÄÄpØlVØwØkªùZæË«gß3úÚ
+ïpjc®©ð
+ãìZB|ÀÈÖ¶¤ñ§¬XK>~3ÿýýWª
+ÞÒ4éÂ71Gë¡['-¾ôõ¦°Îïß³ãÒ¿5
RÓ
+èâ¦ýºzã&^íî)ü$ÌJ¤Ö¸%w+ßêf5¦d=ÒãÕÓëMÜ35¡-
+há±BAð3ê[âÝÖwÉ9ÛB£Öĺ\
+üMÒ¢sÌf|XmÜÓd!
+6*IË)Ûݺ
0M¶U«·6
I{ÚĽø꿤´;;Åt¹qili|iâáøÃ]ú-I×Úkõ
+I6NúRÖ/Ö[uZ_óì¿ð½v6®.å'ÛKC©x
+B%5Ã
+ÿÜ #UÙc8;4=£ö;Þ°{¤%2ÙS§(:=¹ÚHÔbeÑ\XÂ
MÂZQÂV«á6
+í
+¨¡ÛÆ0)ÔÄ¡²£f¦FnpÈ{ò<ù¤¨ËEÿØ3ïË
+㬫¿å
ÛÚ}.A8¥óÖ{®|K3ëÌÎÉîYóÚ,²!·uÖ_YÉñÓtáö
cVAù wM¾ª1gÕ8¸xÓÄÝ×Mh"è¨÷)Oê
Õ[ôzø
+¯ßc=¸Íë}Æn²ñ=¸CâÆgl`ðÂÕÌ à°iÛU}Ô7Að©Þòz(+Ø Úì6¦\+°Âx×ëG&vðí$ &é°bY´ÖÛ0!`q&¤s,¸RàGõ6·Á5!ÕÈ}+ÛT²sÕÛh
+ÐäN
+n¥WÂÚqzS©öNl.=@Tûõ£Þp¨(TÊÂ/}CÓýïÞré§I¢3[îÜtë\{mÀ
+ÒhT¬Ûib»ÿd÷7Y±&Áù©² %¹d YdO×íàÒ·*Ámªvá|uQrÉÕ!½í²óÎö:ϲ%ûU`çy¢é@µp&³71J½Ag Ê4pÀêÁlHÔ]ÄÕÐRd$4ùébJ¨ (u\£lÕQéÖ)«zj>TPªl!SFiÔu% B6+REÑGÏ;mÝì¥o>óÈü§ëZ+×¾wå§ÝlàMÍïÄ,\³vöÌ©Äráûºãç¥7>þöý7Ì]3;dxÖßøEðm÷>¹âÚ¿Q6Ó;
<ó>ð¥
+-Ù¨a¨1¤ñ$J%CÑè
+slÈj³!=zΦGÉ9:ÙÄiYN¯Û ¼É£[ÁZ¢Ï>0V69*|@ö8d~¢ì~®ìï5T´Jú×åç#2hÃ2Â\Ýû0'Bm7òN%;OcÍÒ__vIüø_ÈþCUáeÒ0þЫè[ôu±^[*395(tFÖé6Z]ÎÛð=ê{t·ÆÖ¤îͬÇƶÝÚú©×µ¯¦,𺠩²fÀÂÙä ûz
+ÿØT®ØYø8?m1«ãqàlJÆC;ÿDÑÂ×b¡ 5øT\R ¥·É¢È6)
+áüwK$ìØÄ|êjj¶³{>$éjMܧé&P}$z¢bT¤FL§²ªÌT¹ýf«öñ y¬ *Tà?T*@úÍ Ü6(2ꬪÀÙ8îXPõú[¯µãöNÔ ~Å*|¹<x/7Ã@·R%ø
+'ì)PôiMá´êmN8ÝFÛl´ÍFÛ@ÿiëÓâ ë˨[¥¬,p¶-'ÔËÜó÷¯]»ÿüóÎL|ï;ß0üùâþ¼æK×8þ²dÉ__¼øqrcÍ#·ôÑí3ÉÕ?«ë7ºfµüjÞê{ÏuëyÕºà>
+rÑrÑtE5¸UʨÔlRBEvF"á4F'£¯:§AQm¯IÇÒ6j¦U}ÎÿþWòH
b7ÂUTJÒ«zè¤Ûaþ¿FÕ0N¸JiÝZõ|Õ;Uìtµ!D£>¦kà BÍ B5EMZg6Ml²Ä ³äaIi2¹j]ªÒOGQî¸èâô¹utì¡#=ÈR«¹èY
+4â_$®`©ã©N@£0ö(£²)ÓÍqá
ÚS`1§:qºÌ¤EÞWÙj>Aë¡Ú8`§§º¾Ù=dóôÉvì^û§r-Ä[ϼê©\N³Þ«yW[kï{þÌtaM¼xáEg?{Þ=½7/{üóM´ÞmråÐYpÍÉ÷Þºå¦å%)ó,ã&Ì,ÀMܨJÒ6ÙuêMHÉïZ@,¶oÕéÁsHÔ¾èMÈ(pÙìKK¿=r\¹`fµÖ:~zWö!.T7áAûáDS$óãƹýƯ¸ÃÆ9Ç6W°©»$
+ôÐô/îY;ÛíA3¾m²cûGRú1#TgIwª2òûu ªd ÑqõP?«óÛ
+<w5@¡a0L
,vÊJ÷À¡Cð#ÎCÅ2u ñTâI¡O§YpüX*Kúo³Â®3¡cGMH0ëìd$þ°dÁoÍ·Z 0Øå³q;ò>èÜ×oRE 7?In[Ĥ\^váÏÄgùfáO)xÓÆ2Än
+`4[ã!:[:®t|Kcªu`;²J¬¡m½6xâÐöø¿Úã.Ù£ìùÇ.ÇÑûwilóJylq7îî[*?oX£*ô4dßg¼ßLÆ5ÚÕ&¦¯ ?id3
+}P¸
+03dÈÄí;
+a9Wð⦺=Ø(iëêª0;rð0o£4BUÚøÉàiÚ&Ñ0³éaÃ2t'®otd°k×ÖE@â
+IC
+¤5ÃQ
+ã¬Ïãx¨r¤þÊfFÙÜH&öuÉöÀµ%XW#Ï4s6üÔT÷EÜdÚ$æ"di·eÌA
+ÎìÕùp2bMRIo8Ö
+ÅLù
+¶¬½õKÿ§xYþõ2ÈÂ|MÕίÏ÷ñ2rVï}
+c¯º2`dÂqcu æMö¨öy}UÕÕv5±«ÃQÞ¯Ïêõãô3ô Ò¯(ö#&ó*óóæýæÃf¥ÙÅ(£á÷ÃÔ©½¨HÔøè,ei´Ë
+WbæF°IïÞ»xÏ¢N/oÖ.×ÝÀ/·,·®°ô¯tou%V&õ çbíýæîØÖ iQ;¼TÞê\ äryס&t¿Vã*^µ¹Âä÷Ùí^Còi4ħ&ÑN
)`"&WEÚçÃmHFÉì°ú8þuh O¹ X¿¨T¿r¤Öf4LzÎÄ*Åh,&¢¬+x¢FÚHØÂ8jJUàï¯ :rD4E¨ßØüAC0I0Uá²$¹ú1ðØ;RÏ÷dŸ÷×uM¾¶¬ÆUçíh"C#+Æçß(1Åç{ÑÕ?LJ¹¢ëÙéwÖÔÖü0æ#óQyÉ5ÿ@¹XÉuÆÏ{u!¿6özZ[&_3ÝJiЬDWcu9R׫ NªRµµÞXb$EoÀ¿yR£`Q®ZÀ¤}é\D§&þÎSðÏH¶ÖàVÍZÍýÃ
¦V+PËLhD;¤®ÒÔnÉòßñ©»R7z÷oo{¨¢ûG¨&ãÚ;Áì,I3Ùþ
+ at Bð±ÄDå>)Vʼ¨U>§Q'¥Í¤3Ò)Ë0æBÚÒû0ij=Ú¼_Öcù-tRâ+¿^òz~̺ÍKË`÷`XÃØ`rè{iz4úÇy5A·¯6òºk2¦J%©LårÞ(:ªHxÁ2½F .A©hÔ
E!
+÷éæ
+?¸<#ÀH
+*¨³ª 3u7*HIµ8rÅPÑ»¤AбTYL!#
+J6Û±{Ʋ×o·üÛ{W¨(Âíäͬ|ëv¯ÃèÓS¯\*øgÅòwÕÖµ®Ú´ü.¬èZPe5¹|Ïøwâ¼Ù7·_r÷[Gq\|èÄÁ®ùê|à«ÀW-ø9IÏÿÙþDv³}w-º:Cªä%¸tÞ{SA¯7ôºÒÕräåd5Ùlu7Ý86q¦fHiNµ47mñ6} 2Ur%Î(ù©¨|pÍã©H<xSjiSDÎR¹ÚwP8äð`âb:
+®¨JýÆA´àTÔø"9_¤EòøskZl!+[öµ²Krç}Á ÙWI$²0ãÈȲ
+¨·
+hÎ>2Y¶BÖkÀõd}5úJk¥ÙÓì;MÑ¢¬mgwϦ1Q²Ðéëä$¯FðËû:äñøW(ÚC:ý4eÇ«vòôxÌVgDF³×é^j9Ô5\!°b_YÊ)Ût²é¬$ÿü¦ò¤Igë$
+J² (37ä%¹³0qDvðñÁ*jE:Tn
+BÈnv)ç(P¹ò d1ÄÙÒf·BiV@î*ãÈ`N RØNøLÑ@¤¬¢"u¢@ íøR'cõNYæÉ÷ÏØ>ª9<öÎѧªßN Ì¡CÌîuݽòY¸îå92î»y<9X¦SY&Â*iönç¡äl©ÝqÖ¹DjjkêëF§
+9'8oÈ¥Á+tI]CîVyrÈ®!{k,&TW3¼fr5
Ru#rCj'U=ßüWiϵ;ä®[u[îÉÌúº/C?g~®ÓVE¨ªLÏ©~ôlDì©
+QãMCrRÛ<4T
xä¬Á`«Bl
+õâàæfµ!8aªË·NMu²=0th*VïÄÂ2ÅË%ÔZÕQµ°pKUk³¿ê0XÆCêwº¸EdPÎ,¹ÃùZFïÄ»"²cÞ)ÑG\½NÄ.HDÅ®K¥/¤J»¨eEÃDzB«ôøúËBó!$ù=õPÕP82PXãÍE°mâÅjç ÐN;Åv~ë©\>áÔl{g¿sOÛ*#
+U|UVùéÇÝ
+Y°bÈ!v<OI?óôhtÃX#ÿþÐó÷(:zµQóÆ|bÃHÏdÏ£¾¾wÑ»ø]ï×øK¯aëeecYCÝm?¸Û ÉÄ[¼z¿lÞp(Ô"¡
+EE¯?+8ºê:Hë«ófu°v4ºU«¬Wç¶Ñ}Ë'69ýNâLXNÕë®Óv#JµÂúñD,Ǽ=
%£ÇëõabÅ´ô5 °_½Î
U1>Ç+BÌ+
+õ±nRÕÙ¬N§g-¢^-Ƽ>·¾ÎÙ*o`lFlAìÉØî"k]r1¯5ÅVÆÞí¶ò©dóúñLVâ7`!
+f=àEÝ`X+ëgyòÏò
µ+ù®c)Ëk ̲ſöNXÑJu:¹.pÔý'Ùm:u°`d²iFá[Àm!èL) r\¶>ÝÝ3ObÛ~<Üoç·þ,ûNxEAø÷¸¶QÜÿp
+¹¿#ÿ4·dþUZ¬¥åß`ù¿Q¶Ìóçötî_ÍÓD¹Þ4yîíE¾`
½è8H
+¨ìÍ
+LS©`±$QÊ[B·Y_ÚBp÷°¹-±
+}Ö¨×ÿ§hƤÚ
+*!ê|PähQGWOåhQçóêèê©-êèê©-RV`üþ¬
+èì´Ú9UW1ªÔÀªÑUS]Sª.
+\¾¬ö¦ÚuÉǪÞßó¿Ø'¾ùN4¼R5Ü?"xYúzWúOþüÒ/^ L|»`a¨½>]nå
åV²q#;è¸ð© 2I!|TWòJ3È lÌ[
Ú
+Q«Ød8\pBÃèRA9ZÜÞy ý@;ÅÀö¤«eÓSÎ"
+?úöbü¹îC( Ût½}ÍÆòòêbËÉ·Y}.KIå2ÙcíËÕ§ñËR,skÑãXñàu7>TqjÇ
+C&·üëÇ×Òa
ÙuÿýÛG¯¼ë3Ï|çñnv°ÎÎû°zË=aéÊÕ§×øÍo¬kúª½Ë+é¡/i$úÌ;ï7ôÍoù¹þºg¨Ï¾øºQÖç7KIÕÒà8ëhâeµ4^fìuàËaÜ©aùÒmg%ÈîRód=7<¬ÉÓìçáYÜô¤gGíù*JÝ:¢mpÖo6(¼úüùþÞ=õêKÚçÓZàî#f²ê#úl½2ñQþQ:<Ìãtøú¥ùP{__.om at g
+©orxuØlåEÑÖRô ÔÎôþó
O\Áx£ÞWô\V?sÍËÏ=Üb@®C7õÒeä1N[ïÐ;õþ³ägbª%ÝÂmVU:+Ñ©ÎÑ©ï-ÜÞ?§´¢G½D/»¤F«±ÁJ>Wo³tðAÄ/ 9±C|$ Á'SÞP
+éä6禫÷¨À»M!^ÁA^=Êëqz½Ót:lbøáebV^¬C´zFÔ
à-AzAý
t±ÒÙêìvv²`¢t"fm3l»m
+ö7ÃÌ;ñµ
+*L!Íö'
++x
+¼ó?´uçÛ8¬Õ8-£Åñg¼T¯^ë´Â7·;XcÓëmbyÌÎ|}â>[ð×Øãäû¢&9mNbw(¬»¬J1 '±%ÊZî0$TWUº¥3¸¸xxo°/uìQì±~i×tpæ¾Ã¾A0gç]r°Nâvø¿×O8êH½Ê1°q´áiö):^!/Û?Ç3Í\+еV³X½«-xÖC/,á"=7#Ȫx${q¤WʧhL¿4»5û4ßi
+Àª«RáÕ+ØbõÎiàõº¼8<p 'ÿ³±LÀª`YÍ
+«¨¬¶ês
+
++¾!
+q~Jø %Í~+p
+¯a)]|kl¾×®[àe¼Â°]XÜlÅ÷ïca w.7¡v0öð"Â, at M>(· °íÅF Ù²ÁxZå |
+0q4ÀÄÑ
+-
+²ê
+~&?´X7Ú ¿(Sz¾?X®q4.Ð|5¾Û¾Ø/)¥Ë_Hµ³maMXS-
ê¹á¹ÕÊ©ütûïÔ «º-´.Äþ;øS²5a[PÃû@¨ôÖ\tOÙ/¾Ô`(Uglæ*pEyNÒUWTTU{SÕ¥ ¬Ìéb
+`¡oA³ÓsúÒæz÷X*EÂÞd8Â\ÈAS¶T©JĤ+Èórf<âa±R¦zÈî ×E3$óïLAñãø4°æDRج
+Ù¨(N RɲWsp¤/9.O~ɨõøûgÊd /IÓ-`ÈÜfg)%·èë·ÖþÿNK·öÿÿ£üÊjJ#_ÐâxÛuÍé}tSM¸ü°>ºyTÉ#Ã/ש-òääV at 7J1©ië°/ÔvêÚ=ÌäK£&ð1ù)N²LifÆ1KMpËÉ
+©hè4J*¿Õÿ©¸:3ÆÌ*|FáÁ}Âj¨5I^øI0ËåRX(ÚýàíR.·YÔ `<Þ½Æ,\0«Å¼BðV©Èì*GÖ"´IWO~y±t¿YwÙú4©ðÃFb¤sAsÓ0H}@ßm.m·E.M§¸UÞýзúÚ«¯må,?öy¬÷-n%ïõN"×ѾyZõo:!xÌ¥ÇjpÖ©N"Mù^ævXOnF#$bÆ? T
+o8Tü
+ªµÖ\Od·ª2n´nqíðí5©²iáÅÌIÌÜc¾ÍE®¨èªX]ñqCÅUïU}^¥úõäfÑh(ó^#QDu ÌÔè5iX¶_o#mMÑi]¹²Az}Üz/ôªè
+°~¬ÙÄÙ`sp\pFpMðÉàîྠ:èjp¬¬*éñÊ5ÊÝÊ}JV)Ô'wõºí85¶÷ ¥tX¨S|Àuå
ÍÙv¨57Ê«ßûpXÐe35©ì¡«v#8ù¹ÂaT¡pd3¯®Pm?4¡b.(°Â©»N±öÐ#kÔ¬
Jysi©ÜP_Z6P¦>fÔ@Jöë)Ûß¼ó±ý¼aÜ%³64Ck<ëÞÖ5RNxaÐu£¶sÚ¥¿ë¬E÷ܽàòm&îásh!³Skr%ï;«B»¨=`æÆ
+:ýÔs'Cò3AûÉ@·ÇÔmyBÒqYÙe <vºo²6A°ÛBÁº¨o´µUjA°ÎüoF¥Ñy&y¢t%Ã>`³ÒÅV&ëë>+ÄôO: rv
+·@5ÉAt=
Å~t'C_iÂy\©«O_ZÙwèòm=¯Ø«~ýD}@ñµÚlg«pµ¢I×ÇéFù&ávU»îl<G1Ow1¹B{
o¹o§ÿéÐÖ¨¬Ãt\°Ñ>9ùVÎkw
+æ`B¥ÛÌ*=8aqºm¯òïñ¿+m
+³§i^+b¶
+ÁÔó'Ì4ð3
+Ë¡èú8xüÂËȧìÓÙ.Á /¢)y ÏË@¨¼®²Ò\âºÐ øÖúC`yDH=5Ê'oÛõÜûÍÚ{º
+Þ5ûÁ÷æź½Ï2ågü.{ä¯ï|ðÝSZsjèùyi/¦Ëº®ñÞ
+ãAq`@(hõ!½Î*çB;üÀúß:0v¥£Á%
+'éÉßh÷©þ3ÝSýÜóüW¹W¸ïöÜíÛ®0]lßéyyÅóO©~Áì
+@½A
+uú ®Ak^:·þ*ûøªªkï½Ï¹sî<É2ÜL$7$pCr2¢
HDD-³ö¡|¾V-"P¤Ñ'ß³£ 4ªÖ±ï}U[¡üÐö½bÅjyý¹ùþk{C÷ûr³öÞgùìiíµ×-Ŧyz¯pwDw¤õÁ²}»£US1û"ÑÐé§aø\ ô}Ì^¯(BîHëêçº{(Ûñi
+
%qV´ 4VÀ3¨¬ðëL=
+^§Ó'ûnéØ òoûvæ.Í]¨Å°ÙVÆv¸Wº¥ßÅ~St>v®èRì³BÝÍ¥·V\_u}ízË¥«j(ÝXûhé¶Ú½¥{júŤ/[eÔj
+ƸÄÂɱþ¨ÝEiZÃÛÇÆ¢¦dm£PxIAGM&;Y=FÙf$±üãIHúu±=æxâdâLâBB¤Ê®Q]+Cºè2l>GÝ*±³I0¬ÏÝÄ°z|˱ VåËÿ½7Å[lª)*5c©þï½^
+
+üK@ï²Øç¹ÝqÎl§ÕÆÍÞüÀøYùWR?è©|Åû3Ç8-IX5§CÔ(¸zÃåÙ"ÖÇB`óE´±ÆË='QçÊÍss°Ü*m½sLo>à§Oþécjï¼¹ús±èM¼ ú*p4ÔïKìPæ.¹A¼[{LIÚ¡Ü%y¾+\^þZÛF¶o6Ê;lÖi-Ç{óækó
+!ZìÏGÖæúùOi4ñ<õk.8;uº¬Þí!ôó
F#åpÄlLÇÊI |æÿíõÅâ Xª¡XXG¹8ýbýæx÷¡w³ÕÂz¦túλ3RE&Í7qvæoâoþzÿÏEë¿þæÑøX÷çì8Êv;Ú:V
+zò|Àb°@}}ж£X±t'"x"U¶ZÑgTWw¦ª«kSñT#O\ÈZe²ZóLqi^c6¥ª]ûw ½ëxÈí*CùJK»JKÇÅË`R¾0ZrÜ»W%`E7Á\u
nmÇÓùùtH7&]^®¨(/òÒN3¤¹drÓtÚ¸KqΩ;Ê÷°"äXV¦6¦¤hª:µ(%§¨O*¨A&'Æ ÆFÉn« ÑHg;Æ
.¾?k!Gµh@=!aïBÿåVLhÄɺÐÉõÌyOõ&¥ÅS}@JriC.MqïeÈ'Ì°GO:Öþa¢ÀO¾°"9¢§ÃÆe±áèc1¨ÝK
+bÙ¥Aý*ÍDè·¯,hL#Û
+@ǣ־
+õéÍ\d¹hI©N 4Ú¼¢RMqku.µeî7CK"{ËR03¸ÒÊNd6
+þ
i@úÁwÁ¼Ëøàor<(WmGB³Ïlö½9ÑX´\vóÀU²mcH!¡bPÔíaËhÎn¾¥eq¬aÍùã& »»§ÕVÞØÒImn÷ô±åÛDöYÊPÏYÓÑÙÙ¾êÃÔì¤*³;À\ÒÛÚæÞ nP5W'%¢MÞz>õ¼ß«Ô¿¥{Ë ½ {Á =nèÕõäUúzézý
+BòîÐuÒ>~Hó#Ë#P(&+ê¥ÍBQ§P(;Gs·ê°d%#ÙIåní¬È^$bq-u*[nÐñ£üBºá*iôàv.MÑài(Ð bîÖê=`tÄå%ô¡~ª¼¨0ÔüÑP
]Çñ´#ëãèsñ«8\w(Ö
+:¤å%¢'A?/W·^è@=ð`ÈM6#m~ÖaîQëÏ°
+¤NvjGÕ£Üzf®çsç=صhzÃ|Q9þ@ýtç?ß:kýªá|®Ø'/ÞÐÕ^ÞtåÀǹ.Z»îhûÎÀ'CÛbÞ*^päS¨#yP£¸Bipz5^Xë_á¯ä½%½§ý½þ<ÝÍúÒiæ&ÃM¦å[K\7úl!`×cíÁæH YÄX¿¥X±xêz·÷°lp¿t¯âwB¢Ãt
+Y¡úIÝÝV×ÏÏöùÑ
+å¬`aÊô*|Ø$rQc°ôÿsCíÔ}GÏ98Ûg ;¢QÏNH\UY:ÏKP(È
+×E°Láæ<7 äW
+À÷éÝPÒ:ÙÙìu;|Mn
+\nZ~î~± ,±üÄÔCÿëâ$ÍÍIkD¡Ê5 ýw¾ðwÍùÃ= âNd.pÇñpÁráÿúþéG9seSµ_²\¡45ÙÆê*®Ù8ÊDw³e-¿£lueÞóº¦wôïß-~gìºàZÎMïÐ? ï÷Á+Mª
+`A´ îUGª<çË#¥xUvDѵ*[ÚVµ*g*ñí=¤tcb67kË5¶L:@Ípq<µQ{Þ^
0áËd #à¨
+Qæ9Éco¹æBÙØåTêc°81Tæ¢ÄQiÔvFê$VÏuÖ_hTÃMÙ·îÎÿXxö¨ksB²?ú»NÚõÃSòâ]ó»×\}83øtFG-¾4iÁÝ´íä[·½yd(»'Pv ظì_ìµÇäâ¢Ò`¿ý4´¿HÉo`ß.Áÿoð¶Ê{Øæàw+wy¤ü?³¯ü'%øîҽѽ¥²:P¥ÆYÚ;çy^ÎvÌjG<:âÜ+üi'±óÖX>lO at ZT¹Q&FÆ@t£ÛLgL°[#ãx{"=ÍÉÈÈ
TçDÊBµ<'w'0$®Y(=+}?;²`ªq¬*°ÃEîr2X]âNÂ8õÁÒQ%«Jñ¤E£
¡Ñíûõ+
t9£ïm:ûLfË¿8³éÔΧ¤WvQ ^jM-Qþ§!$zj03eÛÉÛ¶½ù&øƽO¯oGïQÜwZy¹qºi¹ó÷; {Ô¥ó:%/òrvòöcÊ£(ÆìÔÌìW¦L¶CâÉ<«[8=Õê-p¹ê¶ÚM
EiÔí1#£YÈdÓ_§`sGm Uw!¡Kʼ<$©fNU§O(a6ÊEåÚ`Õæ+;£ÚÝ×çY¶ê°Ëmõ:óÕAP$1º&¸¬ÉQìúÐtE~ôxÇ».ÕHêwçk©n¥Ùük^(/>õÐ%Aä-༽(¡Â<ÎÉÁÓrí¬¢ÜçnÎoWÁ¥ôMíû¢ûêÿOï]¯´¾ïzÛûvÓ{vKý©õs×g©¿·:ó\:¯¶ÉØqy¼¦Pë¦øÔ1[Þ\×5
+75,O¯o¸+}Ãýé»{ݦÓ#ÒÕ$c)èû[õóx¿¦rÍ
+Û¸Ðù¤'N9bmX·©;$GIáÿ@É3.ciýñ±éaRû¡ö?vv"]ê)4Nz1"*]+J9ôþÛô²n)wmvdxÂWÉ©ñ$¡HJ+P
+ÁÏÓ
+qænq+Õ-Í:ñ'ø\ùJ»S¦ügÿÈ|03ÔÛä8ë|_ÜÛHµBý6îVñkÀ(kÄä#íFÐ@c®`i7vdÛÝVÛÝ
äÓuðeè §µpS >
%x2¾&ê[±³aÐR]úÃ>ZT!Ûl
Yròê¬VúfÞ»yZº³ú»Ú¯[øÆK/m0x,Üð%vøÑ«gf^ºïªSÛ÷ËÉÔÕá 7ÐXÜ0>Y×Xosùw^qóOÄÝÖ`øITcOe¤ºy}û´ªªhjYã-hîù}ð[ièó³WÂK!nk?éG¦Ã¦çL¿13io³~׺Ãúëyoçé|ò²ºª«A£Ñ }å6zà·ÀátkæÒ~þ¸â§õiÎÎä¹ï)î+îòrHÇÄ^dùöü(°Ç!Áë>è« é*Ñ9tà¢s&§ NÝê3dDG¡®¶C¦¼¼ 1ÂL!3ôdÄjXÂ9UóúºPÅWWSÅÏq°êê×_Ø:È4¬[5çÅz·3¢ÿ³jû~¡¿
+C^LÍ{à߯\\µ?¨ØÔïª(SXa£ï8ß±K^ÌÑMÃ^©ÄËX®l¹Ê`6
+qº°]X-Ñ~¿ä
ÑÂÂX4^̽6w4fÅ&?
+«61
+3/n¨`ù ²ð¸b,µ;¢0)CâöÑâv|HZN´¬ÂÓuÖ¯su
+,Yójç
+çr4ÎgùÔ"SE|®úP !Pì9oRøþZ ÄhµîQbÈÑ»i[ÕR\ "!¨î Äð©çÁÌO¿Aü
+OS¸§x¥°ÂÊi}dl¡¢Å9IPæó æ!e\®ü¸Ä[ìû®ü÷ÇXÜ:â=ä30É.mðnñðþÂ{ÚñöH=ÒII6hH<%R©¦ÄSìkÐ4x®Ð\á«ëçWr#¿Y³Ì³Ô·4°´äÍ·<;½?ðýDÚ«ùgï°tLÓïéñ=xºäïK¾÷¼§|ÿå=çKæyC^
+ñ&}÷î-Ùç=æ}Qû¢ûwÞ?ñ?ùþ.]òþÝçP5
+åÚ@¼²pc¡Dð ¶w lD<د.à%H+#X4?6ò&n4î:ñ,Lb¿â((¨80;Fbp²RÃH at C)ÃHDa$¢YÄqH>||-êÓ|~Dê
+
+¼Äl©8¦£®´E6Ç¢QŬ[¿çXWy@öj`#JÀF¡ j¤E°qÿóßpÄI;>%Ñq')vG
+KU?U,Úè"¨J>ïÖlw§aàDouE}
+ãSb3©nâ6"W1Î1.F±âôúRZÅS·
+°pgYé°6sql¥dÿ>"¼ÄSào@)äÀÉÏ8·ùUÑ#ñ9£Tú+Xþÿ
SjgUĬúéË2³Ôáp!`Ðb"ËÒðÕ1½,çà¹Ép¸D.O¾oÙþeûK©eþwôÝпe9I©?$Æ·KùP{ÖFoÜç%±}¹.A»í´Mú¾²#â8%gc®C
+¤%_Äou®H,j{?oÃùFì×_×<z®Í»l'< 4BÀ!¢*BÀ$¢*LB-ÎÒv¦céh:86].L'Òeé¶t]:N+9(D1°Í]ÚT?¯<m{ºº¨Ó!DÄb^À"Ü
+ÚêaSÐFêÓX~¶5ÇLѦ
+A;jwA,ÎQ¼á©á
>»dà/($bdçÙv,"+'רâ¤eÔÁ1T at _m®]cÀ
+ò~÷dþJÍbSæHæÄ26×~wæBö@cÚ
+<Än Fôí-ä¿ÊlÑ{Á´(ϼ¤Ê<aAÓÓ+bƼÌÇÜ¡
f¯A; ¯ÙvUÃKÁüN<iù RînQ|\ÿ7gϸÉñe|ã[®oÅïsÝ?âxÖu4þbü?ãV¢Î§£~©- [,UC,M(Þ»âaH×Bñ!2öª¬3D_OÖ¸ªj V»KU4°!¤v|Õ
+Ó%8Nã5ØáÃCXë4
+¹ÓÁ Ú´DPaºllÖ,<#, _ ùijâìÚ¨v¥ööV§
+ÔÜð1|nÁ*ÈV
+ ±@YcôäÖ] Dô¿,¿æ{Fu×C»Ñ¨¹ýUp%>r}Vo°7È]Áª±,DcÜWW°Å«lI·dÖÂAÇ+=«ø\>S°ÃÀûØÝçï¡î:#Àì\þÙ G.T+ª×eÉÊO}ýå¿ >ùØ)&+ ¹Áj
C4'MLòËÓW ÓUqWTvWÍ}q¯KN)j±ÏjXÒʽÉ̶(óÁ©]ùMÚfj6 É]À»`9$÷¯ËÊ
+HX75«MàvuFB*±ª
+(Â
+ ZX(
+BKZa[WZ
+õ5I&ø("9k@<lºª£Ë¯Ùÿ{éãkÿ ݨ»ü¡ÌçòxQo)®²8_5þßqù8Ï//ªHÁâÓ)ÅDAA`IOô!2ùûCGü}%DNÐy}Qd6mxªw*êQj0>¨Zr¾B姨¥-ªàPᡯG¡=#=UÊcü5üly©Ñ
+
'ÜVS§â<¡Y»YQbYó¹ò$Ñe¶ÈÄ´
+¢
+B´ñéa7àðWONÕÈ4¹U±|ªÂPñC1/
+ð(°Ûâã² QhkkùNþB[ãß0äJ/Üö·_ ¥¤½ÛpëI¹øC¬ûùÀ.ìÔþæÒÐu?c×h^gKALó:ÿ3Èúæuiâ
+ämE:ø(â×ú
+Þ(¿³"¿âÕÊ«z¢Ú_½³¦µfgÊ\®;?îÕúC
+w{Âútcc|âÅæS^m¹±åóÖÖ÷Û
+Û«u]ÃãX²¾uP¥*ÒÓÎôQG
+ϺÙv-¾,bØaƲÙ'ä½sj~DDÔg-¬Ù;<{µÍ-Uò ¶t
+M#ºf¬4{©lâ^7DIî¿Èó²ñ\ù½5ã-ä9¸ôîg#½EE8]ÄÞ
+"½B¤Wt³H7gÓtnH«aD¤mÊ3åY¨Iùjy²gȨa
+_3~PfÃx¹ïAXjM-
+ø}.kP»KûkDëË"Î/Pcs°ÆÖ²Z.Åg*ed<r)¹¯Û %¡ê³ã Ó úàÅøÅøÅxÁb_,Òã>ÆÖ Hf+n
+?>M1^¹÷º|Ê-AN ®YsJp½|ÆÓ¹8öÏ
+(eCã½ÂJç¦^>ÁÖRï>Òf|ÍÍøn©àë¡ncOsö-´òüJñ+Ư¿8~1ü¢øAÁAÆ|®6¶J[ð{¿Íø=ß&û@òxRZX·¢nCݺÇêÔ¯Ó®Ão´H11¯½¸Óa¶Ø%
+ëÂã"|R«E¨Ð§»-çº-/w[vu[vt[æu[¦u[:»-UÝ~à¤}IË{IËÖ¤åI˸¤¥.i©MZJLÎÅðð¶°Fqð¹½f|NÌcÔx^|(vwäX¿÷Fîõý³º5_ÒùT¤:¶4R®æÀ ]{V+°9|Óó¤R®E¿P¯èÇë+õú}±>Tn í«Ál0PÓÀ¥
+3Æ3Ü£Ü:XÇÂj¤BHÛ1r
@D$==.y4eV+lÓ¸MYí¹8öQLW_Ó£M´òç6ev«¿§>9¥_?8³§!9¥Ç8cþ¼?Ø
é¾~ÎfÏëçõP³
+ZQáæP6îê¢sæÔðÍ»÷¶f³³É1¾³ýKE"sQû0ÑX:IORÐó)³æõ<QÐÕSCÁ®)ør³¢JK
+Ò¸ö#R=E]ó6J
+3)ß´±;Eß{ãXcÑQÇ
¥z:®"õ¸°8.<â¸cícÔc&c&<féÈccfÅóK䮣?ÃbâþxöáÇÕ{}í1E_z̰Ϲ¤uØÆü9º9ض¾cI¢cQ¢c hQϦÛù{6.F°6þ6íöÈc-¾~Å×-éço'´÷´%Ú£'SGîïYO»''Ú²õ³ç\¯,iï¬LîH\×ÞÕ7麲'GÜîþÜí]÷Åõ\G+£{Mçº×´{ÝëIº×t¯IÊ$q/QëQ-
+¬µR÷Iy&TàE¡XW«×¾²IÔætÌWè¨ÁaE^²«Çhí±¨¢W´T´Ð.´2ÚeE¶-»ËW:ì.;²Væ︩ÿkÖdêæÿ®Y³fíµk®E´fø_³vb*3¶YK6[Ìb| 7¦¾yèÑGËkÖtUÄkÖ1ºûZ
+nz9µçk×F·ñ½¤n)[³Òh\ õ<¾R¨$.S×fóÐçü?xs
+endstream
+endobj
+705 0 obj
+<< /Type /FontDescriptor /Ascent 833 /CapHeight 578 /Descent -300 /Flags 33 /FontBBox [-122 -680 622 1021] /FontName /EAAAAA+CourierNewPSMT /ItalicAngle 0 /StemV 0 /MaxWidth 634 /XHeight 431 /FontFile2 706 0 R >>
+endobj
+708 0 obj
+[ 600 600 600 0 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 600 ]
+endobj
+704 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /EAAAAA+CourierNewPSMT /FontDescriptor 705 0 R /Widths 708 0 R /FirstChar 32 /LastChar 211 /Encoding /MacRomanEncoding >>
+endobj
+712 0 obj
+2391
+endobj
+711 0 obj
+<< /Length 712 0 R /Length1 3756 /Filter /FlateDecode >>
+stream
+x½V}l[Õ?÷=ÛI\§~vâ4©øGÚÒÔmÒ¦I©¨c·ÁkIÓtØQ»±4#i |¨Ê^ZRJC¨hhÒ6m\o6mó$þÒ:`
+Ðm@@4 Á¨ºµcHôíwýѨ¦iìúsî9ç{ϹçÜëK4I2û£TN!ù ¶b\møóÍ?DÿC"irÏè=CÕ^í$SD¶Ó÷ì;°çUÿºÈ¾c&3édêã?}üóàÛ28\²üø3Cã÷W<'ýügàË÷ô')H
+DÀm(yÿ¨´§ìðåàÕáäP:j|´ürðÚèÈظ¹ÿ5ðKGïMîØúöàÇáÓ:È~¢9È Z)$ÖCTGTÀy-Y¸ûîBßü«à¯àK±Ð.ý Ôû_©GÀÕ^"±{×ooÑ1zÆÔÍsÞ¤Gè.3`4_*Þe¾HëÌ×Ü s~¾Ð~¦é» bæc4uYþÝÈÑà0àÀ1@¡ ݹs]ú9}¿uí!¿_ãgУìaÚJCøÌøÊøï;Â?K}tØIôct²ì${Îv=NY3ÍHmt at zö#[èe:CûÍij1O?2·ÿ§J¡û¨n¢¥z~¡["tNÓ£Èy©3xóúöumk×´¶¬^XÙܤ¯¸iù²¥7j7øU_CýïâºÚE5ê*·Kq.¬t,°WÙ¬YbÔÄxm(àu¡h]¢òÈÖs[Ü^¿æj7p«Î©*Ê«{bY
+¶Ç¹M¿F¿ËÊy?̶xÕ0·4âÓnK¦øòÞ_SÞö^ÖÇ1%_ùý^.5âë
+ßmI5ÅÈ¡ÈKº9õÄÌï·C¨´ûã^N½1Þ
+|¹7ô0U-§
+Ö0«üÔ¶ØÕZ¿T×67©FXÃj,<Ð)ò(å'_sÝ©|"ÓIOîÀfáK)Õ·ßPxä¢@.JÅÝM%D$°´¨Æt:é|d¨J5<Ð%@¢ÆiÎÎÎX8£
±Å±°¿lë÷ó:]FX¸LÁy±1øêtq*ß«38âÁ¾<¡¾|
+°b0Ù/ ±
+<èÇEPX!ÚAÖ]¢â®$ Â[3pµ_§Kq»@év2úÛó{å³æ¦hÏ+nmT4Õ¸@"³|E®$[£r2¢EÑÔ0³æänMU4#£áVÅ9gÿ|ÚË#Gâ\IdØzäZ]ç]j¨$|5?|r!®¦×W%Ãe(ð;pçxÕQÜâ>Ç«ïáôcîp*p4¶cV¯8$r¼1¼w{1p¯k墸ٶ¥ÄïÇgz6H»ÁðÉm±¯ÒnïO(зÐäJÏ¡,i.'4ä0åÿc9㪾\ÊKs«xçðu§x®!~ÖÎËEö¢*½R±'yeѳë¸í7ðEzÞPl .BY}CãΡXλ!®*.Ü"û۵趱â¢B7´×¸'©Zálg5¢÷&v·ú¢v(/ªa£T~ð¶O>:wÕk¯Ã2ª>]Æ,d-88G«Wµºü®F¿ËV®ÿ¢_ªÿâkâóS16oÎK¡y<îjvâ¶*ùåJËÝø6~²zUcþólÚ
+K×®ik7w¯iݼi~óÚ¶-[ÚÚ6á_¼å$¢§ì+îÛåÜp¡ð,$zuâÂ÷¡)гæ|ÞCñÀ*¼ýòveðNµãKÁ&AvÖrÍ£ß7hiÖÛH`
¼ä´Fô»8\D=Ý·ý¸~ëp*¹/½edx$ï+ÆÙ*Þ¨×iEXÏ¿û^Í¢%so=øP÷Áê¹ñ¹Çæææ>³*Á Ë~â> ¡Q }#@Ã5Þ
+då·ï~wøÓasØJ§ù ìfÃï]|ñÕ%ÿ¸
+J³òtfêëÆjÕù
+/qÂb¿`òWÍ8¦1ÿ\ÿº~÷ØÝãch%C0å¹0[!bëéíD½ù ùb
+ÌoÁ´õÜÉZ'ý6öï
+endstream
+endobj
+710 0 obj
+<< /Type /FontDescriptor /Ascent 907 /CapHeight 696 /Descent -218 /Flags 33 /FontBBox [0 -218 600 907] /FontName /IAAAAA+AndaleMono /ItalicAngle 0 /StemV 0 /MaxWidth 600 /XHeight 515 /FontFile2 711 0 R >>
+endobj
+713 0 obj
+[ 600 ]
+endobj
+709 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /IAAAAA+AndaleMono /FontDescriptor 710 0 R /Widths 713 0 R /FirstChar 46 /LastChar 46 /Encoding /MacRomanEncoding >>
+endobj
+717 0 obj
+26357
+endobj
+716 0 obj
+<< /Length 717 0 R /Length1 37040 /Filter /FlateDecode >>
+stream
+x} |EÞvUõ1÷LÏ}%LfB @¦CÂ! r.Å]Á[ñ 0 »FÕõ`a=×uÑ5ʺ,«B&ßSÕ@÷ý½ß~_é®>¦»ªþ÷Sÿ*%ØÉ"}ÊÉsç®YZ3oB=S-¯ûö"¢v¿|îô9ãøÇy5B?O¿bñåßmd/â8LÈ3¦MúïÞçOÈÍÃðÞügý}/ÃqÑ9®²£ÀãxæÈ+®2Yÿ¶÷ßò#®?;gò5såwìëYö$ãWN3íÛÐkp¼Ï½jþó3sp÷7æÎ6÷â쾯 ¹µk;ÎQ|øEUþ×
+%L"DVT1[¬6»ÃéÒܯÏO$
+GH4/?VO&RéâN%3]ºv+íÞ£'!e¤ô"½ûôè׿òs«ôóÎ0pÐà.rÑÐaÕÃGÿëÿÿ."þû¥²ñ(Ï°&!BÚ¿Â÷(ßgg¶å×ù}ç6ç¾l$éL²¼LöÒcøÕ²4? H"×{È
+¢ 8s¹çï¡áö&RJ/=FöãÞqäF²h¨ýkr¹Uz¿º8H!9Ýs¹k_H&Ïå[H2\IæÒ%íãÛïl¿»ýIòÙ%ý±½ØHLÁgûwÊ_Ú?!]ñuä~ò9½Û²èxËÜù0GêdÚ>½ýgÔ A®FdRMöÓÁÓ§¯h^/
+ÀSholß»òHA »i/zK(Û«Û÷ø]É5xêýdÙO3ù-ùÚcíO¶#aÒ
A{Èhm[B¿)è¥R+Wß×ÈA¤¯°«»ÒSÑkÛß%>ÒÔ ¶ÏàGè¿ÙøÜ$½*n?8Ñ/wñÞ& ¥ZJGб¬]Åæ3ÞØ©d&úû><ý3¡;OªùÙCíNP$M$W¨-Óùôfú>ýÀ&±ÙÒ=ò&ùmÓd´úR2ÜA#ÿ¦Ú¢ÐôzºÞEï§ûéAzÇÆ°Ùì{iÔ ýV>Ñò|ùe¹r»z4;>»/ûçì¿Û{¶/'£ÀKQûuä´l9@>ÄçsòU¨:ñÓ¡×ás#½>N7ÒM´ o9H¿ _Óè¿èIFðQY%X!>I6]Íîa±ødß²¤ T(e¤^R¥T+]
ZÖâ³Cú«ÈíèçÊzåQe£ò²W9¦ÚM7ùSO´unû,K²+³ë³Û²Mí%~Ð0^( ¨ýd|fÞëÁq[È;Ô¾ÐÎô\:=3΢
+ôôä2ú
+d}Ò¼|<>½0ö¤?JíDbÃÁE}¤¿[ÈlöÒ
+9^Iî¥SåéäNRF¯'_§!%ÊjgÕO_g3åUÌK7¡u´J,£uÒê÷ìC²ä3éyÔþ
+}°¢ýz<q#ù¬!éÙëÈ\ä|F)Ùep{W¶}ÈF³õ¿¤/z;ECä|^ ɹÊKdüMªÚW·¿îî
+{?¹\D£ßá
+J-¤,;mm,ÍE{?'£Úi/ V2£ý
+2ì!O2ÙÑÔ9O¯:÷Êþý*úöéU^Ö³G÷Òn]»d:t*N§
xA,?/ ¿Ïëqk.§Ãn³ZÌ&U%FIAÉÁõñÆt}£N^xaW~Ï:QßÇ©Á¿¼§1Î7~q§;/ÿÕºq§~úNªÅ+Ie×.ñAÉxãþÉx30j<ÊwLÖÆ[E¹ZײåD?
+Ío¤õñAÍX5¨~`×.t«Í: 9`µk²ÕjCÑRc09w+
+KEõÛÊÙ&6F5ø)#¥MÚ8rÔøA£Dm×.tÀäe$y~£+#n!ÄkÕ&ñøÌF´ÜßÚ¥eÕêf\V±OMN<q|£4ÏÔèÎà½×9ÄÃ=Ư8ûjTZ5(43Îo^µjE¼qèñgý6àO¨Å3ð[\¿j0^½::·±[kÇ7Ò[ñÊ8o oѾiÉAüLý¬x£%y~rƪYõ MdU#¹xqb[$¢ïj?D"â«ÆO&«¢ÉÚÉó¶úȪoëñð/¯tí²Us»ÕéÊì³ÓÐéÆ5Q·óÒÐO÷,å5JiÔÁQSâ¨Éø$ÚÔo¦õ%«¦ôðWKñ«Æ© ÈÌFËúUZ?~M¤JJKÆWýßþòÌäÜ5¥ýðON³Z#ÜQnÌd;wæ,b
+3aÕ*ë/®ÕZÉíÀñdÌøD|@#©d¦ð¯¹½¥/ÿÖFut®ÓµÑÜá/næ~T?Î]»Î\µjp2>xUýªÉÍíK.KƵäª]l/Û»jî h;qÛwßm¼º=6öx0r>ãcÆçZ.ȹdâF*;¨
+Çk"ç71zX55³ûu/QäñäÃͪrI{`ø-p»PF;QÙV9\;^YÝVIªPÖNaÓ£{Âp§°¡0{§âRË)]!'I\nÁ»È¥Òvv5â
+ûÂ]4~Ü^*WÛÔÓ%å6Õ
+S#S¢(ªí;Ù,IÌVe
Yкßá*·|F%¹QÝá.§a{Ã3¡*á5ÑÚ2u¨*¤áÓV
+u{**ø·GwÉx¥^e~©Ll×öÜßõÓû»KÛiðرì×Æ×Óßþ\«¼C¢¤öÐWtÊïÏ,²%s½è}1ï5ïky?æ«ùE|Ä¢¨n§Í¤Evr¸LZÐéQÝA§Wòæ:ÃÌrD?jÍ|Qk¾ä9bª;ä(PÝQ«5Mb`#J¾`Ðég)$Ír«Ít§Þ×ét8¬VBÁ ±ú}>·v®Ó¤ª;îqïq¤º»bóQ's.LXïZîÁsÑy;ÜqhföØöø¦uÖÃÚáÓû㼿@Rls=hô£Ö®tWb»Bé¹AÛ·¢[ï\¿úC×Õ5½É^eÞD¯·Lâß2RJøRÒ¼ obú¸M¯]ý[?öwï¸Ío¥ì[ãÖ;:n!í74û0}v½nÎæßuÙuë²cé³Ù±¬ÎËJd|ûgJ1hT¨7=GÿãµþyyÁk»][º<ðté§Ä¼>ÿ
+Þeü/Ø-±Uq¶ÊzK{3þj1ÛØe»#¯úØÌÞ»lfpZVJÇMìÍM(`Õó£¬{¤¢¥£EqFºvuífµh ïñønkWÕÚ5]¢ÑòX?É]¼´Þ;×»Á+zu/ó~¿&DCÍl>76/Oóûö-¹t:6ô¸4n¢¦Y}îk=^ת¯;|¼µ;ªÃU+Ý2NPÆä¬\áä;Reê~ýGr'Rª,,N÷*ïÝ'Í·e=á¾)´w j
+MiÚ»w¯òt²PõûAJU¾/ëÙ[Ú_ûöµ]6{ËSÎ?ððú³§¦®áº_<mÉâ9ÙØÂA.29¤ÕÙw_~çÍ£6o2å¾ëï_ùñèyw¿ì÷ÍKÿ|OvëøZ®_~ÉÁÒfT
+téÀ¡ÛzÑûÇRÛ2
+´¦dD´Xè´î'DïÆéZÊè,k
+à.sCðÝfègélC+½{#ßoÌ^þx6û½Xßa
z:n¤¦R%cÔJ+I8 j_S¿S¯BÔµÖcí1.ÇëÖð^h+¾ÕZµ6Á
+|=øºÚéÉê
+¶Ò¶ÒõºS±l!6È;ÌQx at tw¢bøâèlÓlÛïþÙáúèbvµºÈvk
zi½özè#ö¾ú¾ícWätÃç[ôD²¼»
cm{>·ºgãY{ív¡2Ðu
+NJÞtZ×
+ßéMC)æSbEüX_å9q%Ŷ½¤Û5hnÆâpýJßÝÏ·ûIi+¯ißîxÍ¡Ýãaâ
ºÅåFÉxÏ!Ýæñ²ãÏÞGsQ±ÙX
+ßê¢ÿ§·qáïão/Ó{÷Wú«/)/«/^3¿gb¯µqζOu^ë¹Ö{gçËÈÑcû˶½,ªåiùZLS`Ùæ7coµ"1«fVÕ7ò"¾¼¼9/maäIÖÌÜ>ÂMÝÍ4´·îpQf·Î¾Þæ¼N_bKIh´¯nwï¨
+¤üÒúªöª§BÛéÉ¿`½â89;äAîqîEQéâÀÚ,ßÔÀBÇbßrÇ*ßmѧV%.Aèt4Mï
¹yr»¼p®8h¯&»Ý/v³'IÍÐQKÕtxæO_gñçåøÓü´ÐNiJÒZ¡ÆÇ_äWÒk»ißmáwènÚ¦¤E·ÑW]éÝ9*fZ¹Ö:F!Ñ8MPÔ (JòJj½}\k ÏÔçtQS®Ý¸]å[,Lm*X7û¦-ßP6Ìç±Ío^>kæj_Sâ®ycöåSo^=úþ+íôÐý+o¾þ1ß#ì¦Ü¼lY|ÇkÓ·MôP·ØoïlÉþëh˺YgE÷¤õÞñööìì¯ÛaÒ0Ç=²ä»*«M2;þ
+IFx$KÂìÙ$½Ä^£t+eÜBÞ°ÊÍìòŪç[;´!
+Ü8±¾VÊÚLûè^,7-Iô2uÁ£_¾rÂ4gß px'§Ûál¦«E_
+(áq®b*µ#Xéxå N¼+*VtËÈFÔè±8`÷=Ðsï궲
+©°k
$ççWòGÔ¸G÷Ùu[
}ÉÈ
+»®°æaߵߩEݹ_¹%7eëÛ±óê«MÙ^tÒSÒÎS=}½®m6XÛÿò4ôìXCvvö9x'Ð<§5æ÷çy¸ö´¹d9çpRb
+Áf¯@qÛÏåÛ@°QÛ>Èп.±Y¿*½÷ïïíïÛ?-Þ³sD²tWºÛvCIÍkõ{¼Þ7.ÓësºÝË+¢;7À±uºt?ÍUêELßáͦÇyõÜ´«´´5¬ALBBLB´Ce
+1 {öÐ^ÄEשúnsîøÄ¥àârF`ê¸_ )
+Cü[Åpx
¹[FP~Üò÷¥
+ð¸~!8/y¡÷ßg7®ùÿþ+nnÚ¼zÜêNîd¶½8bÙ]-Ô¼àãl£K´U·ï{üm#ªìÏgMÌøókwm;ÑlTv~è½|ÒÈi¾-ÀD£b:"DcT)ùÖ%)
+`øqZ,¨q³z/¡óãö¿»_ûC-Eî«ã´ì:;LtÿÀðÀøÏøliªiªygj|yaÞæåyïß
+¸Mq.ÅT¨5I¡ôø©¸`âãÉx_póZt0Ô3JßÄI Ågé¨3¼Ú¾ºìHÍ×)iÐc/r_Q[ÛÅÊU]Vèªà¤àUÁr®©ZðYÑöáªA[¹ýzÏð×mWZÇ7N3.@\ãÕRâ#î ©&n¦<Ðo qk}p ¾3ÚPNnu2{ìy5±óöLoj»úಿf?|ÛÑͶõqçðyO>~ݵÏÊ£³ºWw?÷»O¦ÔgÿýöªÖ1lv=ÝôÊƽ§>{¶¶ùû¶l])F ìÙ3÷«;÷9¨Ì,[ ϸ$vgT¶ØóñN!LµÄ".ó|ËßÉPª°»Þ'2e$?аºÊêãõÜ+ãè*ÜB¡D,£I5%{{<}&K;Vg[övínþçmòÏW¯Ëz²'?ÞL¿¡¯=ÄñÑàÁ0x0H¤;#6ÙI4ÖëIøc¬¦[7O"¦*bGÌbçfAÀq¨J2.ÓrFDÁp xA\t
`1Wø](äX*òÛ¹¿åOôöçØFÎ
+I 2ìËE&/ W^Ã"Báq.÷~î㵧ôB~#-g/þB¾å-=Ó¾¡Á»¨ÐFMDlÄe¨O¯
+ôzy¹Á6ϾÐqmðv²®ÚÙ;î¾å~Õë)¬lËGø./å»®qØýCz¬$n'±±£ºÑ35ÍÙB-Ílº®eæ»ô8< .ÍÅ\Íô®=CóDãú¶¢ùþ>î×ýÌ¿¶ÇéÐÆÀ¸s<u¥¼qÜpådF躺y
+¤¡¶NûÐW CZ$-<tÖÜ+¼ÜòÍì9+îÈøðÃì».[>{Æ·]>}e¿!kG/ݸùæ¢%÷ÍÚðÑç.¿·¤Ë¾{Ú ¥-k^¡cf,»eÒËNµW¯ñôECF¡Ë»Â±ë¾°
+QM¦VÊR%UeDã°SÅ!isAøw¢]¢i^㻹T»ÿ©g S¸~!÷ÇÈ6rYtûi B,EÌLyMÀIMØÆtu7 wc¤î'ÏÑçâ2åJÊ_¸Ðı\
+I¸4RÝ¿P;xy{ÎBê§Ô?WzóTVbléFúÀväO¼²ÝÐûóècÀað2´ï½XQ©l²DS3¥dYMAE<¡kÆ^VHÄBÃf9lÀu
+ÀEZµJñJ àÁWîwª¯ôGþ.ÝØö O»úe°52¼
+ñ6ÑG6t$Q6«Ï&«TIÄW¨kó:´¸²º7úh3¥½ø?¹ÿ©^=Õ.½Éf'o§U´r{ör£Ý íÀFb^¦®Üe×G®²Ë"Ó¢l¶}²M@èÄz;:Y4l6ÉD+v»£ÄGcP[ôd¢0QY`-¨,,W&1riìJë¥ÁYEÚ¥qH³9êpX½±Èt%j.ìýa7§àì:
+;3ýz½Ô÷É«ç?Úþ÷
+ÔfصÚÿéø§Ó"Ûeì0$¯È2â³j2ÙQ6#'q t n²ûpIP?êÐÐÈqÙîï,1E1ÇTImfsu1Û¿Öel7µAXmºÇ'ÓLÒÅ#zó¹,©ÜL©nio1}nÖÚ©k.ӻɴÄÄL¿q½ÿÀó°\øÇFÂZk+ UUFZ«µr«cøï
«Whûö9÷í[¡{Ðmh£môÐÆ,dd6íFðá&®Ájé<î¯ñ¿$P2M`TBJ«&ýÿô¹¶ûþãþÁ
yeÊîÓ=Ùl]¿ëê;nçü)!È_VnáywT¹£Y²<896yyr¾eEY¨ÌµÌ·Ý¢ÜbS)TÜ9È·X¼XçÎ%%)è¹ÀÄJ«vøªLô2nU7ªÊû^5󧣫>nÔ1©´=ÿÂnå÷Ù9gøù]öHüXr-ç×AÕÂð¿
.
+&p
+Ï pWC´ï¨>⤧c
+4Ýü%dYþZòòôcÔäxÍqÎÿg¾ÛéÉwççKÕNîÎyñc}ãücÃ3Ùù×yn÷< Ýï| o#}mt¿çô"³'¢ù´Ùül[§
+CtíT¡¹£Þ]Ædv]DÒqJi¤ ©>ZcǦ ·ùøe]5·ØrÌÑ¡àÊrÎê<Tådat§¨¬§qø*óû<<JöýýÙÜBìývéÿrÙÞßlúÛÄ9G?ñc=¾?ù
+½òí/þz³ë»Ï~×KÙ¯Wíá<Í¡G àizïK½4^@
+þtk11£ÒZ À`+3©P
áæq%µ)È×þkæû7¸PçÇæýùrȽ0ÿöè>`±Þ[̪Y1ËfY
+"!¦Ú¬«¤ú¾7 ©Q) '6!s^¬îA?f2ñ·Öq
+b\.?¦=sâÄ#ô§ç&ÜX»`þðkïÚkv+¸ë©ªï½bøæì[Ênþ°Ë²ö=ÍnÜssï¾~úÈ¿;ÇÀC7ðÜYY§ûU%f6LD¹ [-11#.jÑó5O¹itQÜw0kÄ![þë>ãûKµ÷¿Ä`!!utüpæt§å$cbHË$üËE§2§Þ)»7g«Ï:6s93 ß6XÈzF´a
+;&<2ÏXÄö_Ô[· M#Øj&ûÕ·rs 0þÎÔcÞ¨z×2g×}£ôé©/YcÛH^ï~Û¸ã@ÉÈÿ.ÈzõHÔõ³úbz©ÙK=RQIx,E@N8ïDecN 1
ÒtqªÞZV\/À$äl0çq÷GBi
+å¿góÓâütÜJbHÃNOÉÑ\Õ -¡úP§a
c®3ñå(*Xz æEòÂyjOk)º mN!M.rä'HÀåMàf7nÂQ¡JÐ<xÛçÆ&fI$H
+8\ð8\#>åÜp¯ÎÖ ÚíÆ Bø¦Ï#CôqKÃØ5Ùþ}´i;ùñ£ÞÞ¸lçU·î½:ÑwewÝxì\Võ<m;4oþ.zé_Þ§ó¦7ßÓ}îêQËF¬|t_öÇ%ûP7èñ$tJ¡
¿p¬«Exýå²³X7XZUaÌfÇM&½ïD£ðP7t¸*
+:ÌÔ/H£#`=[RUØH("ü2wÛ'÷²÷îmSÝmO³ ?fÛÛª_¾æ\~È[;(XÙÞ÷1À²½¬ÜØwínì;û¤HiÙ3C±×;;´ò¸²VÙ¢[á´Áh#K1Z5CEÇâãäZ"ñÑ
+¡À5(¦ÑÐc«{i©#½õ^ÙKÓ & |Ãù¦C¯|3%C=;;ZÒªÕ5þ`][3¨>Â/ëîÝ
+°OºÿÓÜ)CfuÚ[ûÊͯì§B¯0ÿFéSáæ7f}Æu|?åbÎÓ4«Ç¤Â>fK¿bk/µ·õë8i¹ôdZdýPú{dÂ<vRVË«gåoÌU¦½ä÷eÍtH·xåRoà:l·W ýÐvs{ïóåØ·l÷øùÏôsÂxg*uÙáµ ¿ÖªH²W¬>
+ÿBr§«`Ø8Ò1*ÍpßCpߣpß¹oý¾µÆÐ ?8¶ÝîæýuL¢ jNw¹Ysjå^²j
+¡È"0já8ºÛR~ë®ù·0Záølg
+Y÷UðnÞBÑo íÆcjùiüºáç~ øgr¯ßËþBMm÷³ÛIÛcP
+ùŸ¾Ùw
+áÕ G:Æ9eè3ØÔHKvð`D2Hà#I&¡T±ÄV[ElA¥ô$×ZL80Ü&;ùÖ"^ÃeÏøÁz×ùiÇrØ(vP'\33|4ÞpþLQಾÄÆúj¬î #^ö%
+WX3x ĸk®F1¦<öŸR¯,Q`NØÆínn Ã<÷¦®2Ó(ât#§×!jG7pqïø
+gÏ>¢¸£+ÎæÇ2µò!§°\µ°Ð4ìÝ&`¦1ùÊ}f\Ò=Æ8U^Êݯì>ùÃ]|P:õó`ùͽäC'ãBV
+}dÄE}Ï
+F£²¬É>[Ð7w:_uJÁ`(Êâùº{wDPWÆ[Æi5îIÞ ÁI¡±qÑÛ÷3-$OÌfñ§yö%÷6¸²CÁðP8&ü¾Z
ã¨Cág°ô)²®4§¢*hd¨p^GäoþF¬
+tN*ÒCBCòJM5w×ø'äMÈ[0.>®p¦r¹vúºôyw¦?}ÛB£7ïnV@/¼«÷VÈ!_¨³ÒOè$:¥C
+Vwöºöºa©C9#n^gc¼õ4ªÅ¹g{çØÛÍy½OºXþ×y<üÄ^ËîÙÒH½ÎYþʶ#ç<Nÿ0û~2câ%Ӯˬ¨¸î:ñ£éÔݯdúhGöó;Jë¢Û¨õ7Ù²¸9û§âþaðþcÐíÁù
ôðØÔÓ;oBÁåæ9츧`[ØAß qiÜÏá «8Ã`<Íí_l÷Dʱ?¶½°¸ÜÍóË1-ös{\ÿËöü´q÷ëØóëúRÎò.¶MÌ7Ïrs±ëVëJ×½M®f×QçW.
+~NÜíò¹Ý.·Ënñ`~l$`U1çÎaWBK Ç¢Öb¤^b²@¢PHq|à4ÇÒÎàöI(®
+ôBÞ2UåWëâEsIE
¡ÿV²
+÷?Ù¡$~ôäBëðá¸F¸9 ÏÀ·
+ÂWp±+Ü°K|z^
'_+,À÷´¡áB\
+Dк1(¤P("*ñ[µïkßx§ºSÍ°öã{k®×51ô¯ô±[׿÷lwe÷?.~èýüTÑð
Hvî±lu_©m¡TÖgñ3s{"ÆÏÿlª;óëÅS¤)ò|i,§{Iy¤!¦aù
+
+.-Õ&æët×äÃ?ÜàñBª£î(wp3hhÜlp³QÀÍF7Ðó:9ÒE¬H*Nõv'¦NMÖ¤®°ÍrÌv^îZl»ÖqëmaÑüÔrií6Ç*×ÚE·¤îv¬w÷ÇrÉ]iO4±¤KGîÙ# õ8º.ÞeÑTÀÑ5V¢)%
+¬O+fçpOxWÓ´ÎÅ,ÀC£îíÊ_©àÕ¨ñE4)¡%Üp;¬
ãº?©$Òm¢iHè·â
+è>7(äÇ{äÀ¾ºêÃà9Y3>rì2ùæ8 ÀÆh%#ExölÇt¡·O3ìWQ±^ç(\CrßïðÂó︾LO|Ñ1é7\õìèûg¯5sú?ÜóÄOËݮͫèK?¿äÚå'~-ûÏûéÚw;þÀAÓÁÉ>OL»ê©3ßZê¼ýÎ¥(+Ý©ÿEÌ_38¯vG¬ºzÑDnÓ
+¡Ëúb
+/ÒæoA+¥/ªqÊJyj¥;(å}¢Û8Ã3·58þAhG¾0B?rÃ3Yá'a´vþvóÎûÏ8¨ÀzNhmëðèÁ0ùbbÒï1ÀÍWe£cóæÿiÔ÷1ø}gôukÚ5^o~Ý,¸òÀ.û˹VºLvÂÜH¯iR-¾4NÃ7G!ç3áøÇÝ5VÐx`dÕæ¤C
+á¢1È&
+[PøÙpÍÂ5DZ=¢Üu~îQÈ[h«?PL8É
+(ûu,f
2¥ôÓýÚ§ûÝeeèõ*0+Ïd)*UhgÒIJYKíÝíõöÛÌ·YÖÚ[ìÇÙGÚ"`33C¼h¡vÑxdUůKܬø
+<C<ÅÆ$nÅè18ÂdÌXË
+ûWn#.PâÛ,èlCX×±'þjq['½EøôZd÷s˲®6AcMQv^Ûߦ7t+(ìJW¿Ú(ôäKæ^s\H+BL¸A?ÖÓ%$í.ñ¤C¤·»ÂÓ;4\àâ¹ 4s÷i÷ïså:R/Óh$ñ+åöÊ@ûPÿeýÿTeª}¶²À~ߥø9ná´çb §ZPhÐ(ðIèjBçc »Ø¸ìïñ¡ÜÉÊíX$Î÷vïõ ~@
+YEB¥b6Çü!ßòØ-ߢÇ!qÍíÓ°&Ånù[\¡JBº¡ $&԰Ǽs$hçYè('vlýøêH"µ3Çh8ÜLoßj8upuÀ¶H¸-4|дGNû`÷ H¹2_Õ"låD>0ä cùT¸}ØTò(½±] ¶óÇìѤp²óÈÁNÙn×7q¦Wðáõ
+E+à|Àqßa°àèÎ(Àìhhß²-c-zA^
ÃVz= ÆPdÁ|¦wCÀVè©°ÙóçP¨´YyñÝÄ9oçx¡ÔQ'cº8ÿ
+u9h§uePXX¬ý+jì1¿ÓÖÆ2Dzk
+=üÙµìû]våªãèmÕ§~b¶®½FƲëÒÛ³3Y²`"õ,e(Ó5CLÒ¤¾ +)À+ÜU±`~~ò¼ùáܯ@Ä
+ÇE/àÌ'ÜSUkÄplø¥EÍìÝY¬óù6ñt÷ô´Ráq
+´öqý<þÄ`*TXZô²z at ejÊT]ÄÓ"mY
+ñú¨
+Ç×+#-Ú?
+~þÂûmðÛðßò´ãJ©«Ô×]©réÊ0×Hårå£üÉ?kvÍïUeü`¨þ<§-TtÐF5~M62lKmb
+¼Q.0 çS°ÑK9EmV#+ eR±htm¤Ç¨\×ÀÁC!4¡pJÏçF³PPgøÕYn;q«(ÒüÕ
¿côùE8ÖÁ¸=²OÌ!
+
³þ¼=Î+#
+®YæFÔ @Uïb¬\ÁYÁÈz¥]i·õ²-
+zößîÍÊkîZôüS=áαæùÙï³ï?L׿\sûþ7¾º_ø0#ÛJÐY:!w;orQòt
¹Ð²'Ïf
+åÉXÎo2óöDûM@
+PÖ-bËì÷U`
+æäÕ9yXì´ ow at p´wt°Þ[|=(=àxR{2b7;ÂÖYl¦4KYhëXâxھòӺÃn`øíoLrNr]åºÉ%¹0EïY}qwCQjERÅ!äRXËeC8ÜQÇ<T½ÈiæÝí,ÂÈÙ2ðáÅêDº Ï
*A!yþ¢&Z`ªBª«ßd²òLBÅzDË÷å¢_>FndÍË×"&iõmw<Ó:O´£æ¤ÕÆ?"rµH
+(11ù4bÀi'UnÍÿþ
²ÿ÷õm?)ؾiÂÊg\6ëNzkðÅ4Z§léÇ¢³¯øý;ïïvf0hö9dù´FÒÊdGÊQîèPzùzåcc¬ûFçMgSi)¾ú¼w÷¼¿ô~éû>ø÷ðBöØ¡.½È5*rtôc½CÙ Ç`ß¼qÖ±é/Õ¯?ÓãNú%§
+iQðk@ÁÊ0ÉíJiÚA7Õܺ»Þ½Ä
+áä<a¨ÛÃe0+W´nsÖTQÀYõ¼ÇÝNÞã8þNÈ)
+?êçsê¸x^F&òç¦vÌI4ù1ÁrBW0;3¤ 0M&aLáXùȳd®¡ºõ´|q ÃÈ(²
ÂÖ
+ß3ÆÇ%½@/ñã©gOè;mßMï-õî-õëK··Å_¸è©×]óØòGV|âQ*us"¿ÈóÖ¯¼úÑ[û¸
+=ùA³Ñz°äù1 at Y§ÔYjlÓ¤ÙÊUi63B>¾èÃúżǷÅ}'"rO¿p¼ó<ÕóòFy0>µF&ç]£^ã?ÁN4,Úér#
+y®µÚLÔÒähÕDv³gù´Â}Öi@¿cºÎ êpE?P
+ÆÄKÜá¥Z;7"Á+R
+>Ñ{ìý,ûß²{]·|À§
ôK©Cù,Ô.
+wcyðö棣1ÜüG:E
+ÊóÍÉîʳR?Ëø¼²¤ë£>êk÷êr0%cÊÝPL¼{ô-ç{=WP¾Ð°Î%¬; (Ä'ðºN¯+ä¢CºJ0_>Îûø=÷ÔDárÈDág17<
+ï¡»IÀªT+Þ·>ö8 `2xâ<ðVLFI>
+ b&Õ?Ià q«®(Åsç¥Xª2»Ïe|öÌGBý|Æë¶GõFnY4lb´oÏ8 =°ºavùàqë/[}êrÈÄùÙQÒ7æM^¥×Ûl¯-åfäS-ùáü.¶´¯K²ÂÖÛwm°o¬i¼mígë¿üÎnÉ.Åç&Ï-V¼¶Ë.¦ÞÞ%U]Û'I)iRRßeI&¾K~_ìT3ÛÚÔ)Ïk¶DFåd i!¶4³ôJ^Ë:¨0Ïn
+øËReÖT(t0Hµ ¬. Ê]
+ÅÆ';¥¾1¿O~Ì)6Néq.pÑ),(zÙuÀõ¹«Ý%¸ª\#`ê̸ Å03Ý°8§1uWk\áL ®àÚæ 2¿ÒqmOðY²1Qö°±>Ö<µZ¸||'s"2íÎ'vù[ÏnXrÒE»òÏwì¹öéioøÝ7÷?}Ãõ7_{ÍÆñQ©S'ôi¼V~z¥«ï[rjÖ®yNêüçßúý«¿ç1â
+LÎà¹×>:y
+iÙîòT±C|µ&%÷ÂÚ§»²8Õ/.Oø$à ®<ÅäCyÊ¢õ.o·Ð
+ YM
+l4ÚrùÃr9ÕPchвðBdüY¨T^ÐBJ
+×IØÔ
+áñ (x9î¿
+ó@2©QØ
+ÍkfCÁ@áí1g¸ù×½4X1&[k\ÜLÌkÈ°ä+ä¿8pÒ/§O~µÞþ8VZê'Úì!ïéU(ýå2,¬Íb1ÏNñê°1ÀSX¥Çfâ-´©¦<·k-4:Ð)¬v²Z×ÚhÊ6Â&!ÒøYïÃ9Áf¤Þ`Á&"KüD N·KQla¯os7è´TO
g§×8ÔÚ@ªªy\VC÷ÀZV¶B3ó.fÍ6kÖ(µ8MQ¤sàK#a\.ïbtÂ_ÞQØ» O零óî"ýç?ÿtÝýÎ!wËOnØW=Ë+xAúýbcõ(a³Õ±êärüS9¡"=pAcpx½QpòQ]Î×HW[G{Eöì±íârÜu¬ {Æq"!NèËpFeEVûX.
+ȲLbùÃÂ}ÿJêVKü
+ëW`mËçiµïnÝÖIU-ùÑ
+/«,~Äÿx"ó-;1+ØP5
+)I_ãs6 ê%âÔ_ôj£<%[þü2®¼§³ 9´¢q
+)s¦ÖbþÌç IÅ
+Å5#_Ço¹8ÖéöPjmFÅ㢧Ãñwº?.*¬dTÞ85sZcÿ6ãyÂÊ)z@ö6VIä#`¯øoj-Bã?þYë>á$3BÿAÂE©fzÍö_k`NÌÙ:Ü0øá M&
+µã¼ñ*è.TÓÙ ÂgHp|Ú¨nÕl5aJ¾¥.«'Gd>µêc-Ê9,WÖ ñÇ~ZÿØHÍÚÔyö
óÓ÷n4·ºç
+móÙò+çw÷[m¹ù¦³wbZ(b¬´£ú|~*,.xLÖ°ýõBóXµÖ<]i6ký<ý½B´¡¡A¡ÊDËÅZ§.pqh2Ç2Uãºú-ªâ¸D¶õûÒ4eõ
+»5'ÜP¾¢¨~¢LðÍXÇ$
+¢ÀÉBî-JcZ1i¦8`CKðóC8²³Ø<QEÌ´ÆrQÜ ¢Ø
+!'·BñeAiä
++Ñ¥[*Ôa±Ç3ô0k+-Ç|¸á²VF[.S.³ÈÜ:ñ½b¡
+xáì°hà·ýác¸îï·mݵmÅòmÛo]±
+ÿ¡Añ²mÛÿ÷i:Þzó?ÿáÍ7¾cJ ÐÐur.Óï´k]µs´¡\o³x=ßÓß3ÿüü¹ñµqs¿`¿èEÁ¢µæK죳̳í3µ9ÁÙÑø;¾OCFÞö·ÇI9£eü½ä~2i´ Ú¶¿çg5Û Cèj
+Ø;:Å;%Z[{W}ÏsDýÚþMH+a
ö2ê{Ù°Áö l&ûÐþqèo¯ÃG¢§k
+ù"ÀYª¸qeX4J;è¢KwÕ»¸ä
+Yi©Qj¨?ÙÛ<´ 9ÅÇúÀ+Hj-~ð æ~åfT¾¹à
+ÒORr5h{nÜ8~QÝù³Ç74íϳÆY6aì%Íus¯è?*:¬
+t£FXæuÖÁXmÖX4³`AÁJí.mMÑ㾧˷8µ@Nv`DKùá@FúdÂ]ÉõìNµSëÔ;íNçbu±¶X_l_ìXìÜÛ\bÄJ.êÐÛíÅ.*]^¸Ðã{õ9ÖÞ_þ#Ór<ZòXioìÅX´S#Ò!¦p)bd*'\=xój:ÔbnÍÆ2öá¹9´T,§âëÁ9ÁMÁ×6# .
+¾´Fk"ø,N&jzìBêWnx0»a¹N¯?«bt9Þ»$Wä3hAZ
+(H]j&}Ô
+ZÃÃí Z¦/»ª¯r[9Î¥~2\¼1£td0JGå2(%ßA,f÷(Ee8tK¸æ`÷WÙæI!¿%Cå
+`íÓáñø²ÓìЩî³eX#aÆpKÇø¥Ã¡^oWpÌãöº}nÀ
+1T ñ3äù±ï*±ìTAÄQZ¢é¶¸n
+}.
+§,hÄJàû FÕåèût /d£¤³BÍT¬®Ç¸õºW*¾wßõcÊîþ£g;<IG×¢³²*Bkvß?sѾ½ö'~Vø+4U]\9qõäækJ#ñ ×]=sZua8ק¬_ÙÙ±á¼g¨½*ü\e<
+¡bYçåE4Ý·Ån¸ áô;ø ¢6iMsË¡|7Ì+aüô0T÷(añÍ4C¦%ó¹H
æe2å+YÓB¢ËÔÈúp²íÂÔØRÙ!!9º²oÅxÒ¸7´
+ à ù8·þöSÛ/W/aí@öR cu»0¥d|«#Ī'%
+]T-½¾ .
+&CØ!iê½+4Èè³'J!v
+Ùs1-VÊÔ¸«Rƪã\f©«¶ØÏ6=¼çÓ¼ÀëÅÞkl×*ËÕí¶ÆVï¶o´R»§:K\¥F·Â?U{¯RoR×[îw<ÁOÚa[m;\/Cöý'í¨õ¨ñ7ï Û×ZØ.µÄ2tËÐ%CCÞtÅ
+é.ÃêeUpÜ(vÑtÎ¥XÜQ5ÿÃf5µTNÔ¿2bà¡Òï³évOL{Ú¬ÓôNÏÏJÏmÝ£[Qéq¤Ì·EM*C5
+½¹¾Áàß½·L4ê+º×£ÀtÇëc53.<çb§Ë-z¸®Â
Jèøô»ÛתË)o϶,>ÑËã
éþ/ÝN>¦eN³?äp«Îê×Ã
+£ÎÚºi`óΧ½&æ§zöËú×ÿöXøÍ[bå½&û"}Ñ?ÐÖ¸ùÓ}Q¦Áí6XrtÁ:iÈq¹Q#Ô
+í÷ηÝéÞ¡×z¯ÇÈvbxë
+(zÚ¤
+AïÖm° «»÷±}p§SC¿+SŧÃèm½
+@^~¯Ø«û±ÇG±]ÇdXªÃa·ÑÿgawXTwE¸OÔm1P¦¿O´ö:¯és¼»a¤7l5xk
+¡ilKLµp´:,SR?£¡·Lcs(ºM#
+¯l¢ÉÐl÷ää³(IæH0} zEêéT¥ÐèFKÒ
ö&íÍNX#9ÊìG©ùJW«í̳Õ5:,>¬~tK&S
+Ĩ=hk`ÕÇWB#]±NkaQ&*×ûÇ×NxböK'^°y`I}Ñ3«.~Ê]ZºÄȵö?påê+Ä%ß¼¼©¡}:KÑöB½rñM¦Fú_Q
WzdêUX
+Tññ¹bëysa¢T«p®OäçsÔZ«»·6µCâ^Âçù¾\Ç«×i·ó¡Ðw Cº1>Lk5ê/Ô7¹BoË6wf@aÈ!³Ói1VÓVº¹zàdBVÌ# >ÏÉÐ05ÙÇ]:ÔöÍè3l;VáÆä)WÊ ï{\¦k®+á:îÊøª]ÎôUob¼þàõI£,h¸çS³AØ
ôJ6¼ý-«ýªôpûIPëþÅ$Ø6Z·<ÐBxzãÑHl¶2TæJO¥²ÄÖóÛ¨©(eFxÃà¤[N}Ü»=B::º
+º5jVè,õhT:³jÖ¤ENÖ·
+ËÈQXÍWFÌÏ,uÍhµ\ÔÿÜÒkóÿ\gQmë®ê}öSzλ!¿V P| 1ä²Ü#V2e4+MÙ¿h>Ï0ÓÚõó©Ê¿Z
¾ô_|¿u)JÝÂòL"ý(.£N÷lE:&VkßÏ=$nù/Ñ{°äÀìÜ
+?¬ÖbY]Â`69zúã¤!q°ÇêÈN°
+ôÆøAÞIÒØX¶äÜ2¥Ag`:hâ¹ÿ¹hÙùåÕUþ!ÎúÂïqSíaçÎ?ï[µY°fËÇbrÆ+²¬Þ6'˲:®÷®r¿8¢ñÊAØ£ìñ¤ôÊFX§¬ó+?öËË}bºÀ/¦«ÓÓee8ìæÚG¥ãp¢Ð\(.®>PÂ"¬Ã@t%Vâ6
+Ìy¥pB+e±,/,PÕÒb,[£°°ÈL<^OÙTüÝâ:URË¡äRèx±þÔFé3Ä÷\$~~9ôDþ8ÄX¿B:¬9kÎôo9ªÛhÂjçÚ:ǨýB
+©H`ì
_À3w*&´eIÌcbeüÀdv¶}½i`¤{ì©=©ýµÙD~ÆÅl¶µefÌd³à2ÙDÖgØØÿKðõwP^äzT ÊQÚ¹ y éÈ·Ç^NÇ˸udÌìÇùïËx-=~£õö¤]íÇpÌn+cÕç¸ÏöK¶é?ÃþùH{ñ,l?¾ÇHór'"MÃñ·J¬]ïãøI p¾)ϵ`qèfþ»
¿4¸û³p)Ô'à?ßýu8®i7ÏÁ5m
+P>¨TøÙ.\ï_È;Ôïm¼SL+ÄVno¹ÖòeåõõÓ6SiTN¨¯k¿A?Û~ýUÌ'9^p>èZhX'ݺ{¡g¸§Ç[ä]ïÛìû:óî¬
X½*¸9¤.ÿ:÷ÕH[ä¶È®Èá|³`D¡^øaÑÅÅ)é)?ì6Ìc£åÖò¿ñòðTdøôÌUGÎõÑW¿>fßOkÔÆV¥êkC%±°ù°¬'°jVÁfâù:uê9©Aåð¦ë
+v¡Ø3ί¿bѼ%ç¶ÉÈ4XBv¿çÓ4ÎlCÔñ;pWñà¬>æì?íd64½sX#,
+tÃdÅX zîa¬ÅY9;
+ǽ`g²J6a2®fcX
+ËƱñÌd
+¬5Ák{3À&²I¬
ýË&{2
MeÓàŽÍÀ¿;Íbí¬ÿóÀ+bÛ̶0ÖÝfÔXìhda VÐÐZÐ饯íÙi ô¬iö!º]F½TÊÍy©ÍÎäfïyí©øÜ©©¸qb*ÛØT¶3«RÉÃRqIy*öW&pò^ÝY¹§úì H°Ërñ\õpáÃL @ÚS)¦ÅÛ[«Ü°Ûbe~9»E÷XxÓSY¯AqO$"þ.>Kíõº<ê'¿°M Ý ø¾ï÷Ùõâ*
ahh7è5Ð1MÁ÷=|ßï2C¼Ã*@u 9
+ Ý c E¼Ð-þLULÄ×ø3B·xëmxÜ[âÁ=â=Õ5Û%¯H3â4¥oVex½çä°Hø 7<\?BbIê5B7(
+ºdwÜa
+zAVÐ
+ý ßÃÍaf¦Tq°é¯õÄ"õYâUñ*wD/Ëøwb+^ñ+ó°¿Ø×aõvìg8Æظû3Äs½EÞÈ`½GìF!EVê@ 9 µ Ø-
+z.xql?zèaËøq¶Qeæâ;u,JAlìYàlÂL»ïlR»k8
+bkî
+N0®¢/;¶3"~ÚSV{Ð+$vðÄ.ÆybO¬âÕ<Q˳y"ÎaÈã 'vò1(77g³Ã½Ä~øOtñD'y¢'¢¼Úìù=ñb!jQo=½W"¿÷¬ñî1%j×~7Â×@rËD¦hA*s0âÞ²ºÔöð±Kë'½8p/Ã^öÈ´Õh/N²§3ÖæöA6ä.ÀÿX+Ca¨4t=èÈ&oçnE°¥é7É«@Xj¥-±ß|óE>£Ýq÷ËZÌóxkÞ`¨fYYh½Î
+[ÿéüêN¦Õkâ.±]qw:^Ûs2½Ö÷ÄvFê3ùý,È˯a1^xëÛ£XX¥ô*O#®ì ÏÄaFO¬<²»è¨á#c¶
+öhxgäÍh÷DÞ@ÊÓ[#·F^©èS²+ó$=Qu{xLäWûeÖÕØñ`OdE[#?
+7G. ËR;fwaË4"Ób 8_cøÂÙ
snÔ
gGjS¹FÑ1[##pñ[-Ì'QÝ«uåÊ}Ê,h°V*r%_(¹JHñ«^ÕºTª«*m¬°°ÂT?éEÄ©ôÛÜÑ
+õkßÙ´ °inaÓÐÜäí+~L\vÏo§Ñ¤%6÷Âù?¤xÞd{áÆäüÂÆh÷8yÜ¿íî¤Ýã
+»YgSÛ¬îNsAcÏ8s\Sá¼ÆöÞæ)UÕß¹Ö§®U5å{®5
NËfÑîfyÜ¿]«v7ÓµªéZÕtf³Y^É:>eV·ÊÚ1ûq¯°ë¨¯sCùí
+YîËÇËÊ;.?{Uh$O2{¼=é(lH:AT¯Ï¨?£vá¢].$é]Ù«Æåvð'Ó»ÜHö6°øò+»®dÙMS¿.|´üJz©0NißûA¦¤9¯±k92ȱê ÇêV¤ÎmlGÚØ¡4»½ rTâp$¥Ë©VKiÎø?k¼'$KÙHBììåf_κÚ-ɼ6¦ ÅÐÙ1kKÔIt츼}]Cg£ÿAæMèÃð»hùi.]ËÓ±ÌIt
+L¡Jý7¡B =
+endstream
+endobj
+715 0 obj
+<< /Type /FontDescriptor /Ascent 905 /CapHeight 723 /Descent -212 /Flags 32 /FontBBox [-665 -325 2028 1006] /FontName /BAAAAA+ArialMT /ItalicAngle 0 /StemV 0 /Leading 33 /MaxWidth 2000 /XHeight 525 /FontFile2 716 0 R >>
+endobj
+718 0 obj
+[ 278 0 355 556 0 0 667 191 333 333 0 584 278 333 278 278 556 556 556 556 556 556 556 556 556 0 278 0 584 584 584 556 0 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 0 0 278 0 278 0 556 0 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 0 260 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 0 333 333 ]
+endobj
+714 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /BAAAAA+ArialMT /FontDescriptor 715 0 R /Widths 718 0 R /FirstChar 32 /LastChar 211 /Encoding /MacRomanEncoding >>
+endobj
+722 0 obj
+7792
+endobj
+721 0 obj
+<< /Length 722 0 R /Length1 10712 /Filter /FlateDecode >>
+stream
+xµzy\W¾ï9§ªz_ªzoènnÐhmÀ Td%QTTPQPT@Ü5Dq% ³¾ìÄ6&qûÆÄd2Kb2ÉÜIfnÆ1ÜI2íê÷;Õ`̼¹w>ï×pú,uªÎïüïï÷;Õ#t¨1H\¹®±ãËwËm0òs°iåÖÍ
+Ã-s¡} ÊÆÕkÖ}¾àR9BL
+BfMÛÕâÇ/CHÕPrGóªÆ¦Ïom@(ý"<#ÒÆjvB~ôÓ×mÞþ§-|+ô³ ¦}eã±
wýú¡¿l]ãöò-÷!B2è{Ö7®[UÙúðëÐo¢÷w´oÚÌ^å~ý½Ð¿£cãªÓö Ï'oÂ?úÑAS!·þǯÄd¸iì?Ê)*µFÏÓ¼Lfõy6»ÃäJNIu{¼i¾t?
+ddNtÿ>ÙÿÏÏäÎ!'oøþÞØ
+6Ë-èã|Úýh&ââÛâ§ãWÑQ=´kâǯ§:óúgº¶ñ(¯áMp÷F<í!¼Æñ=Ð>Ååü(®A¿ÃÍè6Xï¸Oúøô#äGµ¸U£§Ñ+ø fÑ~4-8·aPw
+ã\Kq)úè9ÿKä,z!± 2yR8?/78!3#àO÷¥y=îÔdWÓa·Y-fÀ
+zV£V)˲pÔQZ{Ò©º¼^o]öX?éûý(ãçÿê"ËëÂ×g¹¾?ëdò?ôSþ¡z½?;,Ñ
+_i}òITñq£ØEtl¾#¥¼©ÕWÞu654Àe>Þø"$Ó2FñI¦ÔWºJ
Nj´ÐÔBævÄÓ°Ü åSN¤ÒggEMÁ(ñÓÒ÷7@ÃWO+æ﮸ñÛL[8ª(*åu=-Q±1ö{Nfô8ã
+A]¯©qimi~D¿¼¹z°2fO
uå/xÊ=ýЧÓàÛWwýÓqVÖöyG\QÔåQ!wθí²é/w´xh·¿¿Ï}pníW½tN]]#;ËÓ_î
ʲ³Ê[§§¡ì,Ê<ΦVJKk#¥³¼ÕÓ¿Lë6yjy3¸¿ñ_Mìï/oò756Ñ`Ò¨X#W¨f1姸WV7646®°ò²:`7¥j^m)\-÷5²R-¼>Ò06åã=ÔQ±!êYé¢yµ>¸¹~*Dý+©ÂÃcpvVUõwwE9?ïóô¢¸Á7úJñw#c#
+?ÿ5¢+|
+ýý>OECãx÷
+÷õ¬ªêï(oU«k£ÆÏíwE+ÔEùf<ØO b^mË+À>Ýêñ.Ý-í
+}´{nm¢ïA+\Ï!1y4Ð+#ãW¬èîñ+×ooðp½ 5ª
+\ÿ7ò6syó(¶ýW%®GÍ¥µPq1´¥ ±GíAhgûA,}Q>åJkG\Åu^
+HPàü^ÁË¢kfäÈ¡«Èà ¸CK~>FrÅÔaýc ÕÌ6uUy©ÃJ%×]ÅÚP},?T+F%%y¹¸¾RaåÍ>
+<Éßz¦ä}&¿ïQîÒ{{T*RÀ§üï¯bø'àçâ¨ÖzÖZ®¼Ç)eã¤<´ZD
+:ÉÄaBB(ËË5åÙ¤:%ÏKà^ÞûøI3JÑ,V²da#Ùª`UÈÂ[e÷WûøÞ/ú/úvø"~Jò
+60*Ó?
+ÔCõEïz 3_Z:xäõ°v.}i >
+gWãOÇ/|.½ý[ÜW`+z«ÔaµÖý`Þ´{öìî%¶?~iã~ðæøâ¾KWêJÝ
+o_zá«î¢ú¾û=ÈDìhè4
+G¹sm?¾:úg)v"%]íw%÷E?}:Á³AX¿Ö×¢ùb!by°¼²ZyD «l;|¥RÅ
+Ôõu
+`ýï/±|bña¶!¶Æ~"ÁÒâHúuìIjCËâ( 3^Ø®ô\Dµ60N1[,ö#2 0cìI²tÍ.ÆÇ´¤NMæµLECEÐ
+Â@VW°>O:K/AjvjÐLf¶{CúÙ»ÒUéô¯½<xíËÿ| Sªríj<yêÁ[úëçÅï[ùn¸ü^¹tFíÙC³ç×¾ué³gMîq
+ÃÜ[
+¯(TjQ)ÕÀX7gàÖM·N¯#°ÍTÂ-½¨Ë öu¾Úã U^.
+â`°þ7½.Lµ{AHÍÇyÒ!é÷ÒIéÒAîܵ;Û¿`]}Øß±1YªÑqÊ"*£äe%QÉ·UU»JB¡T5%L#X©&ÝHUvÙ
ª
&J(uQL$PWL5~ÃLüCiAì7ÒB ç=&ømã¿öÀ¦z°[dçDbÞ>Vpj%yC
÷pG¹cʳ*v!W§lÁ}a
0ËeèDIhÜ<dHWßPo¦8°Uý2RàJSÔã#x^<#ýêéG?Å=t×Þ÷ù-^HÛ¤û¥¸túôýxaüÃó/ýíÏS"r$®tB-[LÒj̱µrÕ]f%¨vR%«>uM,¤&ßy¤{Èþíkéké³o¤"üz{OëÒ®]ܹ?ýúÃocKf7á¶b¬éDé¨C®5ófiÀ[çÍH4¼£ÛqÉÁ:(}
+'«¡óULa%,PüO8S0ÅìeàMàWdWÄÇÉï|¸·yÉUsýÎåüo$ô×ô¼i/»ë²ßþ:w®ò·,ðÙ].ÓV´,JJ=Ã4[Ô³rgÜByÑø'ÜÐ,ô¹3íyHÎâä«ñÝéã^Ó¾î#z¯ÖÇrv£c¼åÀkÀ§XĤÒY8rÊd¦8"j4ÚÆÜÀDsàLüÑ%ùþ
+êegg¶·?½áMo_v®\\ëKNq=ç·ül'öP>@G¾(Qh JÐNΤ$íRr¡0ÄÔsÅÇQOð¸F)_ºIÊwuôjgÅ?VXà#¦5j
+3±¨Ìg]$¬'¦.£Ó8TÔðG7Ð(Æ+Xâ®´,
+M@h÷Y¤_ÝjMÄ6a^S2
+L<êó
Ô
|Ê<G65Õ&dÞl$ó:]Ädõô
+"C3A=çö$&¯¦+p¥¸¨dJ5ÿÔbÁcBÓ°+ÿ4ÊΧ&`
-Ù½98FDi æ\+ ТT`9êc60ü´Ó6vá«O8kR±Ù#í¶ÕsÚ¿taÆ?Ú{Ë´ÙMùxfÍÛ½i¥7mÉ#oNX½%èNpsö£UR°jÁô Á[½YÑ];fÏäøS«=Né£T»×ã;uúr°:_ "ÒE¢ö&Ãá=jõEÄ´Á%ó6D¥oÔV«úTÄÙ£ò¨ZYÀ½&·ie °Bÿht]Àuà¬/&bA_è¸Õo@ÕN|ïÔ{6ÿ¢sm]驯3secù|ú$V¥O¥«ÏJïÉI_y±íÛ¹ãð[w®Í»·¬=h¡XXȵÜ"íFØbɵb«Õ1(ð u:ÈÙJP¡¦ÄÊX{,cn!®W#2!M·BhJÄÕ¡úëuFTNmÚ+s7îñÜõÇOþþá¥
Um;Y,H»LË«WuÞÞP½?µãä/Ý÷Ⱥê.wÞ¹Sá²ò»{öΣ¼¯_aßÞ(Þ³KXñ%ÂSÞË
+½òFYõ¼kPi#V
+àHÃ
+'³Þ!&¡»q3qôhRÇw£z ó²
+ 8±YF½h×@ÔÂö`ÏQ@Òd¬+yÐÂsÔÔ¨9rz[¡=N¬îÑh=(
+µÜF@@¨LÆíjVQ
`;
+3'þOê¾}gpëê[snñÖOq e¢_0T',Ø"ª
+Ë å0V9«ÒDâa{5Jº·SvGD®=ä\9!µÎ
+!C¼ä0&Á»Í¤ã±¥5³Jg-
+dGÄtѳLÑÎ0°F¥(zH${U*%,;)
+J8`²öã!©
ÀÉ?w]ý
+®´ôFÂt
+ßE½ya)pÍ 1³¥ìÇÃR3.úÁá'¦æÙ'E`õ+·_ýöÂ#«}8S3^Èüæ Vý¬¸áÍ÷|Ã<©&!øyD ÃqÙ@Z0È<ɪ-,=e\¬î,JÅVË2FHAZ+§Rh^Uöv+0>T¡'j¬é
?!«âbÎJê©·ÉùØcõ4X5tò¯Bí²ÐPªøbD7mØG` WìUc/£¤ò|çâ¯Á9Ý-Mþ÷cRT¤±Ùø©£¼ÂÁhßuYºDVÒ9'°ed'RNpî£,K81ºòŽ`»~ÔzDxñ=9¢t?\k!ÀÉb6àpÖé!-è§Oò½¼ÊÙËNÂé½I§çø_öîgü?ÝýåÑ¢Ðå%r¤Às0®´ÖD\òêfPäX>A¢Í;ðíóßÚuO¨áþÍ?'L¬Uz1X±Xjf÷6Î[\×\õ³_ÇVúJ_Aó¦ØoÉÌ
+gf^ëبÙìÏn9uÃt+×Ͷ*G)°µ1³3þ3³¥±Å
+f'|ßìv.x¶óÉëfÇi]òÆ;7Z]"FÔ=zÈòEOD»%L¡Ø^ÔØ,=J²ð%¡qD
+c"Z½ü¾q*#p#zÍ×Wv\ò¿z¤I¿£ûÏãáMj7l¬©ÛLø/ñMg?øZz}÷CXqhï{úû@a(tJmè¡q@«¨ÄÔ0¡Àmàf°·ê±b
+¨^8h8ÀC(
+
MÁÛ
;¶,\¼öÊÕY%Ò6ðì
Ò©ÓëãÒq #ÿ=tä ¯Î¢ôøW§ÀC:7¡>¢wh!ö§óñàý|Z?°SäùÒ¿Ó I¹Ëf,ç2òrýÄ0³ôyS`"{WÍÉÛ2Wd"~¯cgäÇfòNÑj§
+&øÒ#ÎCÕ ñÜ~
+.Ê5\OÌÁ=yzøÝÏüGPÎ%ëëåÀRLêo! -Àl»s 5ûSiH)i
+.ìANJ¬Ö=0¾Ç¹¸j^¶/Ç{èÝG7Üö«ç_zaG¦tÑ[V^¹çg¯µ´þ¦ôÇ@å4_RFCpúK6´WM¹9vxò|o7¼dé³kKØ}aü
+³
+QdÊ
^¨>¸a<tú.r¥
+ªMúw©¯Ì$}âýÀsx+ð
+Õ×m
+/b>î\ðÌO¼Í*Yn]üÆÛäئOðÜ?{ÖU !±a&ó¼¯ø3¾Ì0NΦ jN¡¨DµåXA¸Ã>wÈ)Æ}Ha÷G,SXðì8W`âFQ{I7¸U8ÁÃpðôdÐô§XöúãÀýÉÇØKðo¾ï¦JCl ¶<aðMg³~-Z'ZÈfò.aTZpÎ*
RïðÍÔ1
+÷ºÑrô
+µàY!ÁØ'dÆ
+ÀXAí E!¢Î\y?:Ak ÖnKAu²`µ!ʦÃ^ðÔ/³x{¤ `§AÀð0ìVÇÜòÉ..KäÒad¹íT0;Ãëtç:jÒ¬ÉÁJ|Ä6vx`ÈXDÍÐø¬ÃÏþægx at ZRYÕú~íOm[ed7©Î58pròôÇ¿ÂO°:²HÔ?Ò·rðRNøt¬ãê²~: 4"Îá·G¿¹¸ÜXü5r%~{òêÖ¯áåB´¦Q§r/dKôΧ¨UoÆöÐߪH¤Í*Ýõ+ëå( E~#u@©&O¡lEÒå8÷:ä¢aÅShaóô*¢èRsî;Ú!93¡tB¥¸ïuúÉSñãcí}°£;h{ìz'su±Da¨al´ ÔZ¨9Å¿²-ð7-DëѸoÇÿ¿!É!0·ðsóka÷rYÜlî¡Þ©¸¬¥|N¥Qý@õ±Ú §þ¹ú¦Vó æv¶ö.]î1ÝôÓõÃtCaw๪A2óàU/Áy"wr£Æpbà´Zhö¬9¥sçoÞØÒØ=½qåZôx¹Ï?ùäÀòÒ¯Y¡ §fðS+8G
+AòQMFX¹¡rTf JøÍÐ,T
nA·¢ÙhÐ8h
+î(/ôNt¿Ø5Ñ}pʽݽJ_ÝÝ¥JwgwW÷.f×"ÁÝ¥Ê[µ¿«%+÷
+(ùõK÷R(µMîEPJâÆzwü%ðµØã*°:"Vëd«iÕ¶êòê<«"×ʬ(Çm4dN02é~cÏàñSÝø~H§·Úìzø
~i§Óé
+:úË;øa9°G¢3qq¹±ËxÂÈÎAs9
+ÆuÊm¢r3E*7*T¹«Ã8jªBU5Ó£fõüéÑp°
+3/¬ª«ÔÄøPFÉÞ3ÕDÙ½gT¦ÒÅKjÏ`'½Ü+ÿç,¸»÷ k¬®«¦D·Wͯv¤ÔEiãHJ_6m¦Õ÷ÁÏ-è^PÞ²¿,
+ï²äFp´ÆoKÉýëcã× Æ°Lb¶cì®M¢h>ì11ë¤n±iÞtþ>Py
+endstream
+endobj
+720 0 obj
+<< /Type /FontDescriptor /Ascent 1101 /CapHeight 722 /Descent -310 /Flags 32 /FontBBox [-194 -218 1006 913] /FontName /GAAAAA+Arial-Black /ItalicAngle 0 /StemV 0 /MaxWidth 1000 /XHeight 525 /FontFile2 721 0 R >>
+endobj
+723 0 obj
+[ 333 0 0 0 0 0 0 0 389 389 0 0 0 333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 778 778 778 722 667 833 833 389 0 0 667 944 833 833 722 0 778 722 722 833 0 0 0 0 0 0 0 0 0 0 0 667 667 667 667 667 389 667 667 333 333 667 333 1000 667 667 667 0 444 611 444 667 611 0 667 611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 ]
+endobj
+719 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /GAAAAA+Arial-Black /FontDescriptor 720 0 R /Widths 723 0 R /FirstChar 32 /LastChar 208 /Encoding /MacRomanEncoding >>
+endobj
+727 0 obj
+41536
+endobj
+726 0 obj
+<< /Length 727 0 R /Length1 56240 /Filter /FlateDecode >>
+stream
+x|`Uþÿ{oÊöÝÙÝl¯³=ÙdwÝT
+ý[`¿ mÕê5ê×5£a¿ö?hëXÔv¶âΡ»÷CÌpÃBÿ´Ðßù¿þ0ab9^¡T©5ZÞ Mæ<Õfw8]n×çÁP8åÄÉTqI:SZV^QY
¡j4|DT;rÔèºú1cÇo0qRcÓä)S§MñýôOÎÏÕüýÿig6ºlNËå?9;÷'{ÿe»
+(5ùàãfîD.ßÏYø˼È@ÁìòÁ>Þ¯>
Ñô
+¡/p1zFãÑ^TÐhz
+=ôh=~±(F£}(} zdú½æ ô!êC1ÔþMð=u¨
+YQåà'°n at 7«Ôhú5:Wâ©( í±¤Çá·
+F6|uðmØûú¢±ÐúQmB·#Z^¼ý
+¡ùè|
+þ¨me3l÷à
+ Íô&nÖD´{[u»Â6|zð½ÁÑS,Fà®G7C¡Ó$Áâv#? áhg7¢w°3Ò`tpäà=pôôO'Ï3
+èGCsÑèA·ÐYô%ÖàRüü,¯ã¿qoCßÐUhêï
{ 㸱ÁhÙP>綡=ðûÑÜñiü4³Kekó-¢4zø
+¢h)Pàg0ÚwÀóîCÏ¡±Gp<Ñ[pÿWd
+ËCä5òWf3³½ÈÝíË~½0ØÀec`®BÂ(ü[¡ùx9^ÿz¾<Áè 2¥L-3ifnfîd^`þí`cßåÆqó¸Çó²Wf_l¼Æ#úE
(Ê7þµÁÒ®AסntðËh7zûz½þ>
+ ,BÁ¯_\·ßË=ø
+þEYgö²ììÓÙg®þQJ at O» ÷
+ÇÁ2Oe:,3ñlXæáùx),p'¾ßoÄ·â»äe'<Û¼
å>Ëø=üþÿ
+âÇÈûä<ùµàiäcoÇÇÈ*fí
+÷ÖÂÞÀCüUkñiòssÃàoP·¿Çí"¯#?ÛGÌè=ê.VýYF¶¢Yl»Á¸ïçÖÁx 7ãæ
+vú á/ðЯâñl\N*ñc q°õãvÔïB>ÿ{ÆûGð¢jõ.Ó÷*#â75Í n"_éÌü¦cпG0SÀ;þ²èJ;ItZh?àdGw¾?}jlîmn+ðÙL!R¨
¼ª@6>eº À7£Ù®ìÄAïOýIP/^XÚÒ}ÛöÂJ ©ÍúôÿK õðßÐÕØuÅXzæ¶4S+èß°,D-°w?º?Âý5blvpùÑå`sþ~ß øvÐl²
Ðk?hæv¸ãþìX$Árzt-ôyÈy;4ïÁåðËÀFM
+z{,zôQÛѧ°üú?;ºÙ?eðMdñÀÍ+z]þã69ÒÙIäà`=Óê=4yðAV£¥+Aó>ö(8Ð=ÈËíÞEÒÈéӤëUUVfÒ%Å©d¢¨0^F¡`@ôû¼·Ëé°Û¬yfQ0èuZZ¥TðË
+ëõþHk [D÷óàÀ¼híñáú^Óã§÷ÍS?¹R+ÿÛRîJéû+±à¯FÕE
þº ¿çÕÑA/=y´olö÷ôËír{»ÜÖA[á}éhnõ×õÔ¯]Ú]×:º¨Ô¨GG-R¢j
+45Ðê±ÛbÛ,7®ê AJ<b38º®Ç[ákpݼ
=MgÕvbsQaµ 8¿Göâò%hü3=ü¨
ü3þe=ð4h«ÿ`áéî[z4¿5®]\8oάf|G]1¿;ºÇ¶á¬ý]ørÓ¨Y]?>ëbºëìËüôâîî.Ïîɳ~t¯K¤ßÐÜßÑCÂõÝõð÷
+ÖÑ#Ëý=ªàÈàÒîå@gw²^<ätJÇû³Îß=mVPì©qçvÌCÝSÖvH~ÇOϹa=¨75´º7ÁçÎÉ-ùrÚjòý¸bڣภøiz2+ÏTAW*P÷
+~økÆpWÏB DzըÖn¡
+ð¸A÷èìÿü§Gæ
+áä\ò=£õAbºx¼§ 2bPú8BÞ/-*\ÛKzm60|¨ Æv^sU_)y·öJh>ìôtNÛ÷£ù®CHJÆ{H+=súÒËtz¦óÒïoo
+?!Ç$eäû`5×-êÁÖÿåô¢Üù©Áɳgùëº[x¶aÚOörçé¸Á¹¡ÎÝÞÃ{ø𸠰ÞÙÀGaúÏ
ëuËZǨA{Ì£f1._@[ÄÅÈ_ü;gö¥ï£;³´ô»Ø0/óÿÂ^
X>ýõ=BëØܺY-CâõÝÔ;ø½KÞüpÛÐ3÷TÅ*÷=Ã~²ÿîi»i HôÙÝÝ꫽×Ý]ô×w·vÏëìôÁîãÌ,fVw[h¬ù{OluõÔßÒ²W4
+ã¨i³º$.t6
+Ñ,=+ÐÄ$Oo© §!í%O=Á µ6`äPòÜ)8Oó
+¯À#{\øªz zp¾zâ@5ª¶pVÅ)Ñ(ðÂ`5/úÓ%]
+F'5Ð.t©YA²fÔûCøªÿ|¿ÑTìG5ý5ÂGÅ)Ü?Çõ£qfÊÒ%VK¡k> GðÒÈ,~T2YË^¨MÀ/a
+J5&4ØãSµEôpQ-tú¾¼'¡ï:°Û÷ëu¼àøZËh{¿9gämQ*{ÏN£ÞÁ$4vX9+`õµ+´6-Q»7ãéÀËvXÁ8õ°=Ç x¨'t:5«§Ogu:mFõìomW #6nv¹ïo°Çã_µ|{С§¨®¡ÃÇí-ôãqÜèWüñéÌJ*ñJsev~¹ÔI³ âÐz£¦ªªxúìplC¡T5¬8z[öÊ&c_àÀs3àP1ªÅuRF!ûù½ÚýÂþðÞÂý©ãüQíqáxøháñö%CH/ò0Ê÷
+1#Ê\õjS½º7eÔ¡)9«ê
+ð$5ÑßU4%°$ÑKþ*éF**|ßY*ôÓfÛãÀra¯ZÚajjjXúú
jØôý¦~ºñk
gSöQë¥6®6NEÂa)R)W
±YíVáµaO8]\æAµ¡\Ö°|h
+p>vj åVA«4YâÁ5XUyÐð¬ò&öó°²ê\äUÂ
+åä¸ÔǾo^ZpøF¼Ä`e¶
+ùK§¹¶¡fæϧwݵomãM[ëÓVcÈâKJýÌþ1·N|t͸-[ƤE@*J¥DnÅw-ÜC}·ÿú©-;8³bÝéãʽ¦ÌÄ'¸rö%OÎ~dŲ_Ï(-«ÿíá1éòqlH4¾Ï]
+£¢óîÖüÖEÃÛJÖׯÕêâf~DIm¾[«#<ß'Hî¼#Ü[(J%8í.àã#̵*UñNDvõ2¨¨2ª^²IÒc^³ZM1Õ8uÕEøßàÑü;P7ùäùcî_ÍæÔõâ$³ÃÁëZKqéÉaWùÚ|Ä×$×èê¹UMm;N9^s¼çø»CípoûãηLì?ßBÿ;IuF4Q8ßOÿ¿H5£
++pBY¹§ú**¯MÊ#Àå9uÆ+¬6S¢á2ØF¬æ½p7ÏÚseó-cêZóÂ᯲á5¿kßó̯¿H~6ÿÚ«wÜÞ»©»ÇkÍÏ^ÍÆæ3¯Þ¸xøºõÝWÕ\Å,+j²Ït/Ú0ÎuëMÍ˯޳aý?®[ºyøc³ëo]²|÷ÜüýöDÈÅií3öòõUÅëOìÝX·wÞ_ ð!&~qÊ:²äRë;½KÊ4T)j©RìÕ¼ y[sNÃj©><Æ3z *CIÕª®`:uÓ¦Ö¦tû$0ª£Õâdþ±rÛUfË
+ZlctX*|;ÕaMË'×
+OX|;î~áÁ+FÝñÜ[w?r/ô!}!÷¡R
+å³Ê±?nN!(V©¡~>ÅK<ÃwZfÉOýÓNàs)hE@Ò²2¨P;m»?ûÚ×(:®á4,¾#{õÙ²øÊpÝgxÅsoötï½lF·&ÀnxøSéVË´ÍËÊëO9×òó·õu¾Q¯,çé+UÎaÒò²úôeGÕyµy#óFº
+ë»×MrMªë[·Þ¾Ú½zÔú±7ÛoroµeìNû÷]£v}Ô¾×½gÔcã^¼Tî<nT%[2!S_Æ:ãÑÇ&°>µEËJXuõÕ$® T÷âcRÐi¼FÐNÝïÍèβ7kjüR^pf;aóTj2ÕÂÀÀÀùÐþçÏT9²
+ ¼ÍÉR¦Ed»dÿyEYyÙ%Ù¡ÒsIÁF#QØ]ùê²r0!G¡n*o¹ô=Vü7Ö(ù¥|yáè±häÓõ
+E^ï¸ùÃ%r
½V8.ìtRùù®ÖÃÊ6z¼âø+Ù¼ºÑóà öK,iùÂU£Õ¥·zÆÇ+GÇÊ=Dª+]MM±
+ ·£Ü¤ÍÓ9\§ELº
+6QºÑìeìo= 9$Éø~D~ÎÏ'5«Ð*
+ß
+¼]k`&#EjØj-- at Y¡¥b&ÕhP+¹ßÀA¼CX3Ñc¸U'y
+5èN®~8ÙÂù &s´³r2Ó~¾¼À³-(ÙV8Û9§ÏmÉ QØ(Æ´Q´FbËêñ?ðù¬öVü¯)øYÃ,8v]}ïD/
+Äà°ßâ®BËÄê5UÊ\B,n7ðPó\"°ìòW.iW)°)¯¸ª¡lämÙÇ
+ÛÌ:Uª*]\¿zîÔÄh*î$³
+,bä'\§gaÙ&A= ®Ûwã3#9:Yj0À*
+!@ó$$¼"ìvy\^Ã#°&bwØYã|äãóqZV-´BØ?»°2 ùÈ¡uÓd·:lñëÌ5¸6«1JFÊê¤V0å¿eÍìÖû¯¹ïæ?Ìæº+«l/[ãM¤BùU£KÇfÈ®s¸qJíÏeÿ<{ô®þ:{îà]ó:àÊs÷Nçf!tú1³¢»¥<ÉÞjßmï³³È.ÙÉZ
+H`N¥ÔRV_Ãåã$^o¥)Ã&ÃvÃnkpØN>;4¼ñêH/õ]jªAbc%ú²ÿ"þ2Ò¨æpÚgµÚ,béRJÒx¼h®%Vµ"ìd÷à
®
+/ §xùó~¯>c!<ãcð^¼Tº^a×TÚìîá»+]¼Vk¾¢Z1N±_ÁKþËØÙÊËl³í+kkL÷k~¡¿Çx at s@ÿ"÷¢íû;¶wì}þoÙomö°ÎeqX6]¡²iìOÆ1ƱŶͯ°;±9Z¯cãpÐÌ#¸TR©¤<mM§
+«z´¤8ç6¦®q`À÷Å·ÆDëíÅ·BìÉÐhk^eÞdfͽX!%x('òKþN?Óêßí'~ÇIü-ÈKRÞ\H*l"ÛÈ)H½GþNÄá; ï9úlu§[&h T¸úZÚ!´k?ÈÓ(þØ6>¥zMEPK{süìÁC"ä.yâZÇ8߬¯î¸kÕCèÛ;ZÀs6@KÊùà
+GbIYY9óØÜ}
+ö5ÎϯÈ2×2}¯Õ
+ÁµªMÁ
+GCÇC'/&Þ¾þSâÓÀ'aí8e~/¾åp,& ^röðNõ2#'X±µ?pÄ#ÅO/uXÐåÇNâ¥(©ÈJ& Ù.Ó
+_Ê!õþK«ÞøÐÌ'®íl»#ûÙIÑá4®³
ßtúâ;&ù{]ë}KÙñ[îZÞ8ûÎ]ÅG7ö\·otÔS¨äjxÍ®
+XW}ùK6íÍéq?Èëq ¯Ð?J1«PN20h±EJ3*ǬV£C¬VÇòZÈ[2)y
+
RÉ°
+^Ù\ÖÄ÷Ú¤ÁH:ó*%Ï+9V«eOâq 1J¼XÒ¨T?À<Φ-Ùq,`Ü
+«ÏÀxIý¤¨½Z¦Q54?(.USÌáÂ@Gµ±ÒH½
+°Ð¦Á`
+d·Eú%Ê/ »"8' EúÌØg[@ÕàÀ²÷ÙïãU©AóSMÓ¥LÄ90DwrÊFÒuàÒá¿_O®÷ó u¨²]X«¤YÁ®2-ô¶qm®¥.
¨`eßú{ü!¦^5fÖOÊ.mƪû6ϼqòêõV%Îh²aâUwm½âIÌr=Ýusï£Ñò©%î¸ fnÚøfU¨1hqøÓ9«RÁUªµê«õ×«Þ æy_Ël`7X7ÛØjeç #æàÿ\pkAõ
+³ß2KæíæÝf
Ùÿ£rϳC¬.@©ª
+haE]ÀCVØ¢g 4duA=cÆ*Kc\q
+sLj$tºÝºðämü6éÓÁ Bå ÒI:p,ø?ÉcÂ2:NSÊ}yØðP$¹ßst·kZî9ò±¤E¬ÀJl»åØ'ÉGH;ä"ÒÐÆ|ÿóÔÆ
þxÎSíÒ_ûìûªÖpkø¹yvuÁNvÀH7¬q"úäÙjH\g·¶§¦¥=ÜÈwO±Ï¹*ÿäÏ1ÝÀs¨;Iã
+ÒfâÓ¾tAtUzC SÓ©ítvº®wFºÓûí{kp>§~NóGUÔק*jÕÙa]XßoÁ7è6ë÷#ý0T
Ë<.6_^ãedIdytiz#¾&º¶ðô6vשèT^o¼Þ´-ou'»Cy§qé>ëÞȯ¢¿J÷²Gh>Õ~¢ÿ$úII¾B§V¡J\QÂV"3ÊÊ+Á&{å<WD½r³ÎS«í®î§´ÐÈ*JTÚZº»´¯-
+> 'Ð? "êM²m·16GæþÛr¡1Y±ô=óÕ©Á40½$ôVVi \s
g>.Ì+&°L¥:æqkÑ|4ÂêÏ<Ní$U8ðßÒûCxÿ þÇ Í| Õ-¶¼²ÿáV>ÖS9áÝO¯±¯Ö.^ÜYZ\6µéÖ+V^C»q÷Oê°kÅÍ·o{yý¼Õ³¾µòÚÆeW¯mÌ,Mf?®ßÓzÝ}f\zh2ÈÂ>à bÞ}ûcà(»]Ï]«Ü ºZ»N·Þ|µ«ò3d¸·åaJ.j£vñY¤àNàÈ¥'¢M`ß@;IªdxU<h®'HϺå
+éìT9±á2 &¿1õâE ò¥üÎ|FÊoÍßßÏæCí6ÊpLRRµ#ö¿}ªùr¿fHAAÔÆQ¦lsô*p
FmD»#ÁO'ÎG
+ Ðòk¼EaP
¬â@(Ù.Ø(^U±ÓvIÍèSÔ!\»låõ}¯çÿbÓ¶Wo|þ«ïøëó>EÒ¦ë'6ßÔ\;7ñ3w\
C/ú˱C[÷w?váìúëã×O÷þºÝ»þpõ,=Cogz@'ÙÐÈ£%nIÙvÇn%¤ÐZ7H3Û-»-Äò$õø= 2Ä°Å¥ð`YÀá¿OÔÆâPÞ¨0Y;æ\Ĩ0Ë´?·ÑËþÑÉ%6.){Þðlhu.³EPiÚµ´_y½Ì$ÉçìõT>õË\BAô"#¾àrhà/'A PãðEÁ*+ebAêëÇfþ´;:ù¿ÃÌA>L"!}÷Ý`¨A; xÓàÅýëX9Å-v©V
+
+,©tÌ¡d2.÷Ëu
+Ïåñá9êðÀ¾
+á<¹ Ì``¤?4ADEÞMÿò#k¸UÜ&®c918#Û9Üĵr¤kãp
+êéø3<ËoãÉ*~Oø9
+¬:ßnbÿÅú×.#½Éö~§c`Ài
+äÀï±Ëâ÷
+0Ñ nZÌPÿQ6sq>³ëÂ+äüûP§·|6~Ú¥bç0«ÁJ(Ð5y<êQ®ecO1à
+½¯
+vJê ,ëD¤ V»¡Ð©ðç8(ÀGP´'Ä ,`?sT~T3GÜ
+/Ñ%Ì_x~ÕSÎO>RÌð$ÛLiYImG6ÄJæ{2"V©à(9þ¿É(yì¹ïÉHq C=ß*¹fÅK¸º¿
+?ÙUpÍÅ,¾DîAU"jEÛaX¸"
½,ÚÇNçKã#§LW * mÿ?DÅÔ@,ü³Í^a¸8Í[³ø¼ã²l¥éÁaÇ :wD¥4¤ Ç nNEª4LÕ¤SsSר¶ªöh÷8r©"J(Ìf+Ã>ôf5-glá&3ààèu½HÛËL\A)_Q,*¾çÁötE+¬¦zñÇ"¿0UH
+OJY.?,ÞOSP ¼?QÖööKð¯ªkúû[d*qpÜ!%:ätÊÆ×is+µ®°Æ®ó SáÁZÚnX¥.%èmÐ{íò¥¾W¹¸z^ñc
ø|¾¢xbu¨kþÌ
Õ ± î½ÿ1olíe·×Z4$~¶ççíëGlÚ1%^éOßþëu³V»wéÃ[Î×&©ÞIÖÒñW^9MÃïE{k?¯eÀÝr»É1ݽ֪ÀCÖöÍøªÕ´×²×zfëoòOöOkgEäÇ~âod¢Ed§±ë¡FöB-sPY;rdz$jR<² VÃ:kÓåäÓHI%À#¢Qxìi¨Úb
û$0·¹1G&\Wæ·AÞQ*SÔ'2eê)KØââé34õ5Î_ù])äb\Îqãȸ}æ* M6à>ªÛ{qùæ¡<"@Õ@!¡(ràCÈo!ú~XSÓ/|Ù2Ðò¡ls¶¨*¼Ø%èAÌÁ6º¡|83¶~lÝXVU]EøÂ*løÃÆp(pbôðqkPCù8â¬)4k°ÕxÕad÷
+°kó
+k(åþ¨~º´Û *{TT+*
+&.aMà4ùCÙPµÚÊÔeJyÃSÁu^UëûǽzÇì~]óñ˸í
+¬Àû×TÍÎF²¯ÿ-»ôoð©¯á¿~èâ Mw=æÊßÜ¿ú²QÍøLÃÄö¦ac
+«:oñWcʶ÷ùïÀc=÷}Í|óQöæ§1x`Ù¿e¼ñ
+VB)5~,{ìø±ì=¸ìðòMËoÇKÛ§ÖÕ]in\óÜöY5³Íy`áÈI àâëâF>b?H(Ô'°ÏK¼Poàu#C$÷ó²ÁG5ódS·1(ÝVòµAõ3C¥(Q²F¯y5¤FìoãdîO¸¶ëÙgøSÞTê
+ öª|M"o1§Ñér¹í^àîP¸n§feäm<!oåçû#¹ÃNoî°M>|È"o¤»sFgÐÀWÆê
qÞF±Ù0S7˻ܰDXê]+t²]únCÐeÚâ½Ùwá>áã}ÞããÂoǽ/^^ð¼äýámá3Ã9á÷[Ã7·o½
*Cø
+ê{Éx!Õáõyöá®´JÁÀX¬V¥R¥t÷âï$î!{ô±¤7z±·|.éý¾Iÿ
Ñ?â_Ñ-û'HÝIÚRf5dÁ
+YcT¢¤.4>3ÏrÌî F UÓñìPkU[UgÕî*¥3å,iB`M!oÌdyÂxmÞÆôÍ¡{Cï¤þ*©ª©jYÀ´r|«¢5µ_í\íjó® nÝÈßäºÉ»-ÝYõRòÝäg¡ïBf¥ÁçRÁç²ÁtÒBT÷
@~EaIb¥¥*k~Ìf³DrÊvÀ¨¬TÊtÓy¸¦6Cwª·R0×ÕÞ¸§³q_Ea1¡®Ô$zÖg7ÛQô ZgÌ»ëg1@"¯KáBÞl&ӵȵNë
+~ºkØUYõ$~hÔrË%)qÈàôA!ÞÒ>jÖqTÌ}â7ýÍ ÁÛ=ßÒA/Ç;dÈ©9IöÒ CJm4㦥6 Æì^¬pº.Âó¤éHÌI㤢8ÞHÉàâ4uå§qK¤QØH#o S4
+EÍõ¯Þg½°ÊõкÆ;¦±õÇCítui¤ÊÄIȳ'};÷x2<d:j8fÒ(½Ð{7ZÖYoeº¿`v80'ѳÄ3&ùpI¥`¹#Ä
ñ ð7úïåbn÷÷@Q¶
^¦öÈ6Ý:¢ëeR2OE@¶7b±ÆHN PUí·cÝg'v=ìãÂÈb¼¥c"Í*}ÕÑ.E;¨§È^ÿ¨¦ÿóó ÀË EG@^¿ÅÅk!aÑD¬aÞ¥*BZ¬®«mº"»Q.Íw@9(:5ÔP¤Äý´>¢®!¥\9ûºÏ7⣻޽vmÿÎ_Zï[ýâdöñãÝGqÍo~¾ÀäÊsj¸ÙôkG·dßx¯7ûÏííûòìûîÄÅñ´cfW
+Ì$ØÉ ØIµ[É`¤fKã¹I¸KxSàÖ
+kóºæ{,/º^ô¼!(íFSÇË(,¸Ëy³Ä¼Ï>ÂçÒAèðÅôzqĬV¤tW7p>I$gêüëQ*U¦qA*#jJO÷q[böLP´ÉòhåÑ&¸
+<
+ã@[dÓ3BV7Ã>ðtöª?mqdÿãÙ«Ãåâjfå&a¸;ûÔ²>õÆ|7®YW<ª)¿CÐÃ>cÆeRTºÄ}µû¾Ô~ûÔÉT_©r£oSlRnRuòmÊm*UÈçò°ÏJRÔë}*RAS¤G"!>Þ¥p.àxÒhO<#
+ã¾¢$ܺÒyÀ^Í{àsOm*m)EL,A¦ KC2±BòÁL¬Ð®LßqÜ%?P2µ@nhYßÙ XTkÈÖýs°ê *³²yu !6
7þÏðedJÞåÉ!þ©@:INÒ4g«ÊÓ¥"R&gÏ©v£òzfä¬føpX¯7M}KU|´zijDm쪥Rq¿Íb-¨%][ÄsÁÄll;ËÖÎÚüÉ×fm´i¿Îgÿ¸¢ÉYJShJçÔá±d/d®ÊÃËT¬JÝdvÆOÄ¿Ãü!þ ûú{A¿ ¨ÜÉuòÛÊJ
ZU
+FPL¥u8
+õtþÆcP>Fù)
+ÎØ÷Ö)gÌô<~èëéºpGëFSCÈ^<p"5-bש}`LèκEËl5¬Ê6gg,&{8\ìßÀ¬Ìµ³oÍm¦SÍ¡öú}îQ°9Ü"MS³õ â:cD°â/ÊZËÖ)ÛìmuÛíÛ=ö¦(¹VÓ¥aìe gSY[Ù-ì¯Ø¾2VËܤ9]ÆU]ìÿ
+(ÕÙ
+>~`4ªøÞBÝàc
>Pá¸Ï«¥.Wd/OµàöÆ&Óv1MêÏM¦Akb©T@
Jvhõo$ºº)
+_[ô
$PO&"Ðóq¥Á03N"HZü ,@+
+AEó£Q(ßwÄ a¿O0*âê"¤ÂJðCEå°&¬/¢ÆÁhA³Ñ©BÍPÑOí=3RXºT´*å-FÏ7ç²K¹ËröÜiëÊtµïøWgÃ-µ¾Ú)DçäÉ[Ý·%{õ+÷ÌX|è®Ç¯_Ua6»0tÓvO¾êÕ_ýýìé»"a|óâ1ɯÈÎQuñ7_~ø·ËfÚó-Á´,«Ôæýdµ_è°¡pïàWG(MÂÞÁ632÷gd"eÌpd¦Í8 S/ KL
+QzàS$|Hk|jàS
+±¦f8
+
ÃIÂ&¨&)G¯B`ùùçò
+'adã§_ÚÅã©.©½mÌî1gÆôaÍcv¹¥²&hà9ø\n1ñ¹b Îç!Ï¥fË%ÁxÁRk¸Ä(
\#×hÔ$QTäv»&sHü^
+«3á¹æ¹yd¡Í¶Yûát3Ùq*,
S*°t0HV»[°: æ5'å¦<õGL§ò¸{¿ç #BHÏP©RJI¹Mùòq%wJùrÆMd¨O¥<y ¬ôZ¥3üD
+.+9Ù54ªâ0ëzEz¤Þú§ôd%ÂÐUd£~mj}é²Sê:åð¶.LXF¦E¤l¶{¤Ãº'ô'Ò'F½©ûcΤÁ
+:¹¨«d:wë_/Qj
+BÓúT^]äYªU£êô|æôÏA¥qhR¸¤¥RSÝ^üÙ#%GÕ=#_
×gð0ÿ3ôLVÿRý
ö:»5mÍdJRiøt§nGÉ]ÕP"KLÞjoÝh²¤>
(ÌrÙy»2?â:[õ¼¢As»êJT»¤J^§pñÔÖ¤ÏÕµÃ]ÕPèàâ
+ÕfØ*¤h
Bߦ?¥'úUÀüÇ{õ°a±XtxUU~~ä@Ôné"\pÊê³úT*Évr¸
+jº{I
¤tM:Ò©Ã=P
ÕK¾
+Ù¯2ÈöÀ [ C
+þ42;¬5hüJ6´©7ø öQ³ '.ªM,Ŷ4·ÄiͺÌnÕÕ¨ýy%9*TJ¾NÆ;¤¯¹x}°½Óºwú l¨j}æ\BÕhU$ýjÝXVd zï=¡¥ñù¿9°±*m.ÍÊ"xêG}d"Yè³ç]
óG¸
+J|ø
cN°!_d
+ÁéÚí~-Ûð#í¾rIÀNýCðèfçWbá²×ÓZSw\öòÁ¯?rçG=Ð2ìÄ /´¸tûïñï÷÷kq ß&¥õ˦9^úÖrqx@ís bÐï£Y5
+Y" ã/GKeìqÍ
Ò3Â9]¼r¦_ÐÜ°àþ-ÅW+²ÛÃþ5Ì
+Êq´þâ©>K^â*y\@ñÿqIá¥s;Ö#¥MïÐÅù6¥0
+ÇÃÍöUx©ýäzûÝøÞäËöwíçðgvÎàªO1eö²Ô;cMEíÃÛ¹ÍÆÄQ>ìAÒ^ê(MÕ4,
÷_¬µ¯w¬Iu£-öÍ©{ÐÝ©ýhojwIOÉ+¶í§Kþ¥ÊgJúmÚ?uô|
¾³}
+ÅãlõÉÙ¸Ù6#¹Ü¶Îñ¼ý¹Ô[ö·RÚ?Lés¨¤ßçr¬IÀ_RÁN)ÊZ:ì4nw ì°Û©
+Jæ¥ì¶TÒ8ôÊ6¢R*J¥¢1eê2ðÉDÀïw="µÈ}"/îJp z¿(éß`¤c±lªÁNS
+`È-C,O2$p ,,4Éø}Á 7§80úGý*°óí År¡ +)@É5ÎJ»ÝXiLHi¯´õ9b«´¥ò*)ôD¥>PLZDY6Ó?À¨«aÒ\Î[ÖùÑiÌÔw
RÙX
+0<}ÌÞÀ㳸390pSràtjfÐ:ð%{Õŵ×ú
+Âá¿Y;;æ/üw/v¢ûÂVÍ?üb³ Péó´ÔÐm¦m©±tÁ&ÁQRd®0¯3ïïA¢0& Z
+:©µPS¦|(Û45¢ñ¦¹h¶iZnÚ`º^Ës1½¿Ã¦¿Lc°f(vÆí Ç#2¸ï°×TõÓA£C0yî(0䮤ÍCC¼wÔQ *m¾-L&«©ø8*!zû¦¾æLnóͼJ"ÁTÊðw ¦\
Z`ª!yÿÎe2<ãÂmÌpÊ1ømÊK¡×»"ÀX
+æÆM¸¨`ôXåÂvôÅß\Úc¯+4«@/9®_q½¹ÐA©ønÓ>Å~õ~½¯Wtáì(¥.KWÙ«}L¡r$cÆy(
5¥~ä!cµ ò«H®\h{þ¥èïD¡ê ñÃLì¢3bsD¯5Aù°½ç) eå %¨uEØA`eRZ
Õ+e-`]
+K Å¢TÀ3§
+(8
+xýÃ>¨+aå+§²n*yýT^ÊÁ|?]RÎÂäj÷øawdbfà$Øè<@ÎøG¿ýO/wÔNñ,½{ìÓÒMdcöªNØè
+ßf%m5Ú°÷~Zý`笻è{ü@.²«
+ÜÈ/© ¸ÂÑhÕZÂÛámFá á}@ö¨ >XE°+æyà©\Zب½µM°ç~ÀøËêæAáMÎåh7
+Ñ tÎ1¶<¿¶ÜÔ³sÓâþ»»³Ïg?^¼}Ú.ÜÁmÁAú6]uËmWyru×øÊßzöjýܢêjça×Ó¸#{EöÕo³7³^ÿP¶'{ìÐ-¿ÄÕÿÚÛ¹ÒbOKAc(Ct(d§ÑlXæé®
+,¼ÿF|KèÆ轡=øa²7ôxÑ©¢·S/,ÒÁ÷°b gÅUªÔâв¤º
+Ç\âq=DâI
+J¤0
+ÎØ"tø¢ p°ÑNCÒ IѪ`¶+è ä:àÎôâÛ%CIÌãq¨
+pRi¢EfåÊêKø¸HÁ1"â¡K£)cÊ2JY¶ò8 at yÕV,Ûù EmË®ÒyÇå0)gJ[h¡ØS<Nå:kØÈrMe*}HÉ8 §ÿRdMNÐr\çwå^lá.*ö}á¢`2½°J
+Ó(JùKÒP3ÄYÿCÎpNêvGayÄC_Ê«9è;
+¶&4¿8"T¦I#u¹âqQÄ-þoJAAã'¨;¥Hå«ÿJÓ~WpG&ÊêAváñßÞ~uÛCa{k÷ªÃÍnÕ3Ï=pdë7³kª$jö_umo$»ñ¦YZr'Þwý¦@Q`Ô9ø>˨ 3%é®B(4
+låsñFÜHTƪ^\/)«(s2.v®}®c®s®çt®b×hÖèÖè×Ú¼m¾¶d[jò&M®K£¡+¾ÝLº´.£+õ¤=O)M÷±~¯ß_e#H
+r¤¼)LÝÌ/«[0M3C7S?#u;>âJûJ]eÓìÓÓÍ%sÒs2sJçÍ.×3M¾YãÊjüUÃòSU¦óÐNÅÎä=©}ÉÓ±§®ú¢*o²Â
V×ãø5(ñٲŮôÞbáºÊçòzOx ,e÷æò¨Öêó´Z}\[ g#*y5ÖÅ`f±ä
+d |/à $$§ä=#ö7¾gd à¥ëï7.Ðpï>ø{bÌǯÁþD
+Lx×Ãz¹ø
+"ÑçâýKØ>¢(Ú!/-«Ö²PJaE4
ª4Ê7P³f"»ê"mi´
ñ¨
+hëâ7
+lÊPux±îÉÕ¥Ã^
+rXÆ÷[§Ãå7ÎYGV^{{yU4ûðÏ'ôýjåú
+STOïÚ}ù¦É#Ò
+×.¾âÎÉ÷¾§âj ¸àõ;no½qvÉâBïo×Ü2í?:|I0Àû#À?êý£HUðL2Û3Û»¯ +<+¼Ê¤X#6;¹»]û¸½.Á/(JA@´o
+{JÍRì%§%3äwdÓ×àn5Á8aª
+IN¥JÖt*Y©©dM§
+ج¾¸ZM=½yï\ïn/ë=AbÈ:ø9¼x@#«¬ðíý ¨åyûãÈ*VSJ¿àÆ!Ã$ã4 ÓIRø\:ïù
+ü&¢qÆÌ>hh̾%ÓN_x:éÍeÆ+"7!ûÌ´PUù
órV«7¯³(äqÕöqa\øã(áGA2Þöä4ÍêÎÄø*~¿ÞÀáhI°$Z¬î*ò£QÒZ£Ùh¸7z*úM¯Öç`c
+jZòiÄ&¨TJI[©Éÿ~eJI
+¬(u«©k Û
+@íTlñ¿!ÕPZ)9k
+òeJ 3¯ã¾tSÜ2¹ÿ¿~ò×ÑÒÌ´Ã3aÛÒÍ¿À
®GùÚÞ}åýï½¾ùKbºvR8\ê8ØøJÇø5GÞ&aÀ@¾Lsý5/bzBmà}$}{½ã|pLï#V
+ðûZ±r÷)¶¶îµn¹e
¶5ìzu§ÈͶδ5øe
+î2E³ò2õåúf'Mh3Ês~1ÃVXêÑ8=æó1e̳ràE)HÀ¹!Ûô¢_muZ¬U¡£èÒóuWúôß®TùsÏ=÷ÿ{8)ªs}¸NUïkõ¾wWOïÓë,=3=L
+;Ȩ0"2QÜMPq¸ ÈdW³ÀM®qK""Äx$Ähn®ñ|×ÄäOF1\ÿÄÏDh¾ç=Õz¹ß½Uuºººººê=ïyç}
myt;¢z=ªDNâÄÓÛTßhPLF#,"
+°ên
+4v(Æ9 )¥fhÝ §aÃ!f2wc;I[$©&Õ×Ðè1׫KÌcº5æͬ¡h*Yó¶¼'.DÚó¹C#Ü][h6.µ.¬4¬1®1YÖØÖ×ÔVv\nØ`¼ÊzYø²È][t[[[,×[o²Ý¾>rKôzåÚêíºOîÞY½³¶½ã³Æû¬ó|.x_øÞÈçó_¨~¾öéó#ÖGÂE>{°º×¸×ô¤å@x_íǵ¿þf=û²ä²êŵË:¶u}«â+ë.6^lºÌ,-5/K,Ê/êÆ"««gפãé<+JζZ£þj{´è06¬3ÉàÕ©£:«K»³·ÉheVS#H¢ë(¹C-³¥Ñ¨%s4jBÈ©h`M¨°7âÉW¼Ûæ¸sq$}ÆÓ{#VràôFÕ[3ÕÚk$Fãf
ä"QìVc&SÅlkÕ´Ï«ÑZ^vxܹ|ξ Z-
+¿¢:à<ð6ä!Z
+ICdìH¤º·×»nl(ÞX¾¿í¾Ô7Ù7å·=úfùáêS©§2Oe¿Û·ð9ùG)Ï5¦~åþò7ëñ¡¨»*+î6%]ÌWªÕÙrÍ]Sf%{rµâBîú2T:2¤{¶Ì®)ß\½½¸½ªW³%%s*òÏZ3¸½®\| ù@E×{Útá!µàÊVD¬è"º°!l¢[Sc+Ãú#-ǪõÄqhiE©²rR©Ê
+Î+çÑ
+û#
+=CÒ«H(ÛFgöFúÊm²ÜÆÊà¦,Cw¨Rõ*Jµt
+-'E
+ÕI
¿M5!CÃ}OÒ.ó·Æ´ê¶×\-§æFr¹ÉÜTÎ; Þ»·J¦_ñbÎÇ@8È]²Hù8tfLeÚئkº9hÙàHÞÖϾþl?
+M÷BnÏ
+É+@æ|=Dò*ØñxXÆFøóÕe°Æä+àIÃÁ0ø~8 Hfü>AÆÃТ Ï×rÆÐ`¶ê%xBî?y»XÜ^Oªïí.iuÕGº|Ù¨~Ù{G
+Íû2º«c7b^ê³5¯@Uù¨àþTvÐ,éôYIÒ>>lS©û;oúi3©¦zë©À<)ºIiJwILÚ¦7ìfÓb\1¤#®\×/©z÷¬Z@%Î ;s4pyL# QÄíJãÍEì@ó·¬y
+®sióràR\çmjZ5ï2ãf+5³(¼ÑZ\râár Þm
+ ¼ßæï± ~V¢óK%v2ºLDe4*VËøÃ¥âépWËËÃcr)®s®ó·ú+ßm®0l {zú/Í:wó~
+©ÛÕ0òY9ÜÅ )®+jÝ6ÕÚÔXÖ.¼ºïÔ8ÚªAä{ü J:<-¼y#ÌWO²z¡xÙÃ|WqzúåbñüÂa >ÝhÞÕ%ºÏían%Ñ|ȼß"¹î[[ºîî¶Þ]7ÄÜþ~yprPg.Ó/3ÌWæ·-ëW·ÇLQÚ³¥ÅÖÅõ¥½óúÏ^m½Ôz»ù6ËmVçJÿ~11¸~P7u ÝB¹û)¸/6Á!ÝÜ°å
+ü,äûë2|q¤ðÍÎ6
+iä"ðÀheÉÌTF§fgÄÉËÈtPæ)qÛM4Ày©TFÕÑP×4¢72"K7gÞÇ8x2º¹HUÔEÄH`el9/¨t©|lÓà1B]
+ïUµad&aÊáèqñXôÂú¬hJïéíëéÁWf1L²Mi
+uky¹'*¸=Î=ÊÚR³ô¨ÐgêVX½ÛêÊQæhêß0%£×¦ój×J¡73?G#½fÏ [=E«¶üRHä+
+±À?®]X½X,y¶lÍØÏ`HéÀ±L´§WKÜ||*åU¯\¡ZÂg0!Õ#.ütºgöúâ
¾¹úÜÁLV¬f3ÕÝ;o<kVÔm 8eo`â~ö¥ÒáU}Ënû¨+ôÉ+æu_¿*½ý¶¶R¥³»¼jª[¼½ùü³¼Fû@ß?ÇÖ
+JãEkM<ýxuêïAýWýRëûÇ¡ÁN
+"8äIFNdÌdÔ52 /uûýþå×ï~täUN%mw0O¹ë£µ_ýêz=/¾sð?ÿõÄ&ûû¥'¾²(,§&NåOýGg×sÏì~:̹°
+ü§Ù8@·[$ºyaw4~²ß
+Ýë ä¡Àë㩺þq7¯¼º½Ü-¤èéì«õbÔ³Rw.b³+k"k¢ÆKõ[ôÂdrî#Ê+Âõæ^Ìs¶*8]G·7GïrßãrM¿Dùc©½íÇÆ^7þY9Á@º³Ä½Ú}wâne2u<et)ì{2GÁÊb(-] Ö ãÉɤ($eÄ ?Br{õw<iO^ûR¨?ögÌFü¼¦ÚçnàGZ?KØØ
+Ûh«Ê!:|Å°[ V3AFEá«Ã·Å0Ûf`
+¨7ÌkwPüL Õ¤çþÔ¦uG7q±*gß{Óæ£îV³»(vuLúXIÀ{¾Ñ××9ühÊvxÖ_bÇ´ÕËò̺ñÌQèv\ÆTh2A$¡±9å¸qÉâªÚMZyéÖ¯¼Æؾmßé(Í»¬©Ô
+³Ïþ§íÕÛÍÎâÌð»cÇòl5ëÛ/¹ðþù½y@&ðûOENú$ÒÊâÒte«¼ö¢`
+U»¯8ª5,~ÑRíµ,´¬²Ü«{°}WÕ8]=^EPß
¼#y§ÎPV((X®RnTv
+;G϶[³&OÎ6ä{}±(
+'ð1«®äãw-Qb¥RB²&kÒ.¼KU·oÜ?éÌ/%¥ýoF¸Ö½ùJ7m+á¼Ê¼-¤äòc§6ÙýÁ&NXR2ר%êd®(ÃÙ¢ÎËdME(ê°Ê3
+k׸j$OJ(qb¶#È%À`Éh7ãàt#vöô©ºu3R,þxÞä/¾òîoX.Ú«ìLú#ekóxÅ0pQuÍüµ»¯Z{éÙïýèGláò¿ÊUå{/ÿÓ¨+µéyöÒðDcÅeÏýäß¹L·ã¹àQó¢HìLçM~y6¢ hæUé«©#è(ØÓèæúªÐª`d\Fªä])Þ¦OSã Ò«pèôühüäIêº0Òh*:ª±E=. 6äêaÔÍÈsÌGZ».0ìü"´oÔ*Ó$IJQ1î6kæã.TQ|V÷uèÉè«øiÔ³$á^o"ßIMüZ>ýZlÀ.6Ç?<A»k]wN~¸Rx TÖ×
Æ
qï>¤Da¬E~@Z°åü%ݦ
+ôÇÝ|÷¹íî!d^ã¹À¿Ü×kÃF0ìàòÖû¶2l³Ý%ßûøhð Ï⯿OÿWò¸Ç㦠üºíæïs7b´3Úo%3õzÊóq¡yEb¥¸Ò|!f»ÜîÙºÏóÏæ¶0=aÞmù±ø'ñÛ ×tÄÇ÷QÜD[ºw¤Úû-:¯Póûèx½]ïÛêÛéûrw¾È¿{·^WÛ£%ÒÔEH³áa$Æ®i8ýl£«²'¼ÞI*,25ÔIýÎ$É(Â/1íFÑÁôç¶\I%Õ]s$8dâ;®Ä{éײ^à,?
ºùTz) ¨ðÐEÑÛ6ÀN÷F,nrj ½²i3ALêßykö`³7q÷ÒìòßfM5lj¹aÇüô<hCZbOD{ÑÞk½²h¯,Ú{fþJu>À¯B«adzZ
+ÌDÃsã^ÿYuSu¸iOØ
+?^;ªZLéL3^¢Ìâ
+·±rif]Æ×ÆDq
:çnå>ß}YiX¶-
+Ý.ÝnÓ߯cÕòÖäaʸӴÓü5ùk®Ýe³t¸¾}}Qûâ¦Ï¶±}qpùÔD*¾3þh\éLGà×Únò2ü
+ñ¤ê/ôÀ@'ÊN(¢pÏ×åcßfæ{êåB~nhÏ5Olº|Mw<е$ÈVÔèÒ²Sßl+¥ÓùáÅó
+lÿkË}ñzò£OÇ¥/Î]ñf7HÿìòYÂbaLúúI·äKÙûz$B¬·´o9WÚ
+Ã9w+ºÁÞk7ö^X»Ü··nî¨ß5çÖù;Þ±â/ï[q at wP¿/°/ø|÷óK§×YûÊÚãk#aÅ×%×½=µúMKz#_êI.¡yïÏ7jöx¼fBîEÜÐÀÄU¶AÚ"±aÜy,óLFÊ`_{bMqUít¬{'@£Ï$%rè3|$q¬ZÂÐüKÀ;:¸¤D]g /e&Õ³ÑĶ( <uÃ}u®Cµ
Xª!6ÄO¿Û¦YZ¢ìÕb0ÎfgJÎåÿ"Õ0ÞűnË¥
+AÐÁVfy4è´Â¡îy¶"?ÎÉëò:oi~4ÞRÝdæ¯UÖÖÖªkwáë×ÒG£V[÷ZÇ/.`x,gAâgNÿÿPöN¿ºès~~~@=zîC
+L #æ*B|Y@[uó-Îí îãSãIúÒåçý.² Ify|;bJ ÅæSè ,n>*7i´Eúh|@#µíQI¹¼àùÒ^ôa%öý"ù»¤qÈFe
+çÎVùyQînk&mÒBNdeù#úCa%
+vxÈIµTdÈ(÷(âtüqÔcácÈdpå
+æ@Ø¢7,ÜïÍ6¼.ŨôfûÄ9.úìêÎ`03×|Q¢#º@ܶåƯ»ùÆçÍ=ù®5ZzÎÖEÝ~¿>f:¤ÿ®GÜÑc}ôPseqYø@h ¦éuC}øÐxEcY:(æÌÒh aÏ&»ë9`²q4ÉÏ,éeJÑ^4Þáa+4´>ƪ>^æç+3øaC ÜX2XòXrB7bYÎ:eÕ{+VüÔÀUdq®ÈgË#ä±'ùг
+Ã3ÖôntkÃh¯ñ¹nNéÊYøðkáC®
ËV´ïjÅ¿}½,ÉLòÝI~d¿æ8ÿ¢ñ6î~ñIdÑ(÷õ¶Fm>h·Úð"q#Ï2P¬¼ÚÉA-}ã°gv²oªO·»oºïHT4°¾ñ¾ Ú¥ö1Å,Ĥ7måB<·¤ÍRËKRÉB<{@r¨T=Wê×ëø¯YårÉP0m²°Ýæ´LXvZ~aѵó´
+äb2]IGÊãå²n²<UwÑMuåñÞoÂ?lñò²º&ÆeÒø-¨Ôbhtóùàì
+Gõ
+EÀ-+
+Ïh
+Å2\4kYªõ%ÁEÞFIÜ9ÄÞÃíD<-ßøÉ¡³&"¥¦6çøÔN®u\±Ä×XÐìò°¯ê`ný=§.¼qþªóÕGß[XÕ¡Èg±á/^Pí^Ñ^PI¤ÓKß*i¶æ?Rüc
+D+[1·mDǤgÜå~;õFCÁkðE(õÃëä5WâÏ{Áat àÇèìLO°+¼$ùγoéR;¨14¤5ÔPo¯aT¥p×.H_* ÀÐfôÐÏ{GRO?VÊÎûÊ övÞèiýwx =¼?éÔú
+ô9üË©4OO¤§Ò»ÒÇÓz%=UZ¥iàìììæÛ¾~mYki«VBántÏ6{!îF·È
xrزy¦ðS '°=nË
+÷ÌãOÕ9X®Ä!{:¨¸pärzú»§l$ÈÆÁ)L^u<¨îIíùïtÙ4÷~ÓÌT¸cøiZ×S
+#û¸ÄÛ<ISZóõ¸ ȸ£q3:Qw ·ÀK4Å&
>,20GZ¦Ï&|HròÅ"dò¹]k×t`Ö×GÁÿ}ùÙÁßn/4¼qtn*Õi7®Î¬þø©/-bsA÷õJÏ´$¨IÒ¾Ö ÷.ôxxÏ|=$~ZÃ>xK 5Ô"},]%ÁZ&g×I¸ÑPá6@ÅO ûL³ÐÐl4ÞÂèÊßjj\[¹º¬3ÀZÇABóOÁbÈ
+uH»[ ³Èð q6å~Ô|à8L
öÇ-<£â±bË8
¤5ÒV¨äÑ2%ÓÏBsð4û^:èl$¢Û 3üÿù)ëíËÎû]_vßØÙØk±4Bðzy½k}â*y£kcâË¢ùø±8iþãYéYçëâëÎc®¿¸M®Áà`¢Ol,pn¶\ë4UÅvYÉ(ÙjÙèGÙ9òJEW³ÕÎWå¿ÊúÅ®E`ù?}Àì±Db¾8×i°º{ØsÆ Ã¹Ò(²2còJ×J!äÅâsÅbµ£dÉ%ò]áfL&vÔ 5Ç6¾ºeáðÀ`wÿUnÛ qër4þÎuy¥ÒèkérÜ/ö#æ0!nÖPâC:*;è¥Jã¡
+Ì\E4Ç-däR=¹êP=Þ3
+x+4OZIx&* Ø5&Ï("«$<LYZzÝoªË¶HË
+-ÖmÒ&·±#¶Wlâmr;ÀN` ÔóüÒÕªPQÝL¥ÍzÌÊ=Y³ã}ìú½Éo"ÝN
+ùØéÇÁDÒ:#²Pì"¿qv
+Nh4z¸_C6G"<B¹Ü¶:cqqµâõ%6S2Ëî9ç£Co¼qa[-Óä
+U7+R>«Ó¡}í.&ëï99ñ«a·Íæ!!Vfýºùï7%«K:Í|@»´yd¬/ÈÒi5<[»saÄ¢ñ ³1h9¡k|ì3®9(`dp+Ëk3áEk
+ƵfÀ±Mææ~!
Æ\e ñÛ'xó¿þSÂþÈTÕs&CN5//;Éhu²Îá9ÈÎXL9·¼^>Þ Y ÆVü$tiâá5Ó
+R_<I®>6æÚäÑ~8&dþòÜY;ON¦Ç1×àÞÁÝ´Uû³ºY`}CÏH©À8x¼¦»p ÑV´±BÜKͤÌqIFE`i;¾¶j¸>«{ÊÆFllÜ6a²í²·ém{ü0^4#~pàÌ
+mAC;W1Rà fY¼È?^ìÅ#E ^Nñ×/¨¼.°7J'Æk¸Âôé^diMçèuñs¸ø9\°!^ÓΡÔè¼þv¥Î׿QtÊDò×'!£8âU;ç/"£JY¸rT¥cª£lÅèÆÑoaaG0S²¥×0 Ƨìdñ°|
+ÚôôÌFB×Ý>Ðl:äòN©"b×ä+@*[ëg·õÆ£«Á
..ñ.
'R"w
|_±w¿â¯áwý²÷é]>ðu
+4Þæïöö®Á3x÷4´Æ»üÝeËÆÖ´:²¸DZ˸r¾àÇ`Ôá¢\ò1èÔÝö¥+×<pÄkÂ|,U,µÓ¯=¢J1H¹HüEÔh·ñÈØ_üÒ$Ï1ò¹Ykâ :¹¯·ï@Cµ¶-+Ä.isâñ/U,ijïK
+âÐPç¤FsËVÆGM
Þåj£7 ÆÌÂU«éÁdJ6ÕhÐé Ä=`
+ÂìdMaÊnED¶®:{bº¯ÖË&zw÷½´Ï¿|õPzÙ²Äòåâäò©å¢°\^..G¿Þïõw/_3v@<£ÖV̹±Ï¹ñ>ºØÀ)ÌêÉô&%t©h
+«>YZÑS?·êXÚ5Øæ¶nÎɼEñÍ
+Îlûõ×/]:ÚssË*Å7? §\#ì®Z_d-6rßãÒ9ØסÆJ½Mßy=uÎe|©ô¾MlCüìÿ
.ëÏè²:×eG;øÚarúS¤*´/K@ØNÝbäÁäça¶Ve1GH|b®:±ç-5K=Þ/ĸ:ñÅø)be+pã¹0c$£Af/¾ÕÔöü]µÐY
+BTLCnÿ ;¸ÖÑi§i80µ
+ânª9íLwÃ%
+1Vò Ìqc´!QM²BA6®;ùPÎK½ ê§ÁRÕwð6¿íüÎ4ÑMFM\W¸Þ0ù9ÃÏwù-PÃxKã;büÍÿ¡ôyÞ /Bãí'é#
B½»¥0þÇ ìÓþ:¢n¦:iZ}³NÔ§êú²ÑÌõI¼Ú]7쮩»ël;¦ëRÌä/ÄZ
+qÇT¬Oi¸\ûP-Þ1R]ü¦S)Zþ´qÊÄvà¦_t(GxZÅ4±t{¢0yîÀ=Y*ì.HBA×äftùÂx·ãýüsCA I(ÃÑúðLG êuªOFÉÅàxG&häÀ¡§~pg+(Gx6¶ô>»ô*Åï°vÌmÎò¨]ÝÐòë¶XÔ½:}j=ñØ®¸¹yÃêDÇÞ+Øu·lúd3¶ÎC_[¸|`Q""Ô6°ègN!&ÚZVC u(ǵü: Ѷ°wzªvêøaº
+½²0Óût\>!
+ë¼\â¼6ÐÁÃÀ5NK:]ÜfKp°¨`4â_BéØùîI{пßÿ#ö¼ùPì×fûO¶È<ß¿Úw;ûy»ó×cBí¬ë8Hbg=ë{>,ª ¶Ø4s5n|Ý´Z°¢¨cGh=¢×Mè¦t»uÝ4áß jÛ 7ç>PÂñ/.Ý?wéî³Ï{Ü_üxB·øóÖ<M¸hÌg:
+,Ý4
+óÖ|OK HðJ¯Ë¯G>ðãèx~IscÞgÌ@!ërz!ÆÂ
+óÑ
+ÑòØe
E$¬|Ö"ôXàþ5¸`Ȥ8ÕuxáFËÝ×û¯
+^5¡Kc¯0GeW#hã[µ
+
ÎxÊñJÇô©2/
+Fi¬ H×Á
ïaàüÇ9Ð8Éõ.-D®"ånÃ&¦:R0@*GÏõ@¤k®
éE^
+(Ü÷#À
+e{ø}oä Ðyúä$(9®[gµXfõãê¸Üz¸ôàZhà1¬·@¢I~¿£ò¦ê9p1Vºº
+EÄì]ªEÔSD ÜSï'p/ñáÕú®r®fÑ&Sªu£ÝéÎÚ²µLÝØ©°ª«.sÂ:¬
-Ñ
¢$®a`×ÆƤLlC#CPµ~ØB3ºQ¯)L¤+(%H¦ÈÂÙ
;VÜuþ¦;'YÒï46Poe¦âÁë6;>zî9g¯®©UÓRcó7|äªÛ^8öå>g¹ùú]q"Hµvl.«[lLõ¯9ë¿ÜtVÐ
+YKtd9
+ooJn-Þþtñ+Î/¿ÿbòÞö¯ò3ühôÛÅþØþ¦øfñ½b»R¾:su~çK/y§ËÆsÁ!èOÜkùÐ 3Rá£ÊÄF£ÁÄ®*$ØÇA²ù~{#Û!æA|Æ÷ß_|#|óJ3(JâB±åȨ?qüʱÁS$DsÇ#¿ÁtÞH²
+Ëy LI²§¥±Õ§-èOB²Ì$Ǹ¬!cM`Âÿ
+»¾qõ¬ó¥ÇÞ»dMg4
+¿Wxû§¯³¢DÓ§ªì;¯ÿåû§»ëܱø$d+ÏhIV¾kIC"àÊqó4L°;ÿAï ͱGC³IÑxKÃJ$¸sàF,öÂ×"]@tÄÔÒ
+/ðªcEncnkNÊåA BÉË=·öÃa[ÊwµlÑ6E§Ëâ³Í[1ý,N4àJ¹ªtq/Ö
ï&EnEãÏÜ¥G^%í
÷ÍI
+k»ËA]pRO2¯cúÔ¯p½!Ýf¨$ÚY»àB2"¡°IeJE8
+H½^/PH©´ìühs.[Àx[áâ¤&-.pP(
+½ºÓ©Õ>·¯\óØçÎi´
,zLôÈYOzìç?WÊõÌ÷.h.^ùösê¢]³£< Å
+§¿¼tèº[òëâòÒ
úp¤3Ä¡:àYSæ)l\âh. ¦¦Ð8¡v<8;¦µsE=»AÏ®BE_¦Êk7®³0]F ³qÐXa7еÀ«Â
+ªbÍ:iéËïðå´±ôL£3éÌtíþ¸»¢Û;ÚiBî¥zv¥þ&Ì»i7ÇÙø5
+iu:»:Ã&5M9à
+£¹\W' ´í!XQëô]·Qßuò!^
"Ñ)K¡èvWTk£ú¦ wÌv^öËòçÓzÅN
ñ®®É.³ë
+§{: <l£ÊÚ=§=÷aôPæöèÜ`Zà©¥íV¯Ýn¡uCñ5±¹mæ³imÞÔ¢dû*
+¦µ ×êÑ|!¡È.1áBðÄP0EÑ
2æõQbs㪼/â.xÏøüë½<¸P
+OE¦¢÷µ})µ³lÀ¯Y£Z«©júîÒÓ_.é×áÇ©®¼jó!°["bÆÙciÀµVCF»J|Au¤RbB+ÀöòM¨Y
+5s\æ'lÕAqª'=Ï
+@å±JN¿S!Fö`pd§0µé±C8íË35yï`CákbæiãÙ¾Æ#ªx"Z#ê¥#&Àûã0ßå^¶zÐשE|·5ÂôÜ=Ðópz\ eYKÇòñ
+-ÏçñÄ¢ïE^0xêȺuÓ2À%ë(ÉGx¬¨±ãlõl½(ÆîsÝzÆ÷ÿ@èµqgm£äj
}½m½ý¯AÄ"|ÁÜ}ÁPXb´òF0-¸¯ÖºZ ³Q#ÙS§öÿ@|²².öF~&X)ûWû¿RíFJøu:}Ú;âapSÈÝiÏÏ+g<ú(ðs
+¡ùa7ÏADê¡¡ù£hà"wzÆýt3«âb%ÊBÐ É"
+
+?º´qôùS¿ÚÉk£~09wìS쾡ÎËúòäHÏ2ÑxV/(Û·*â÷5Ýo6a·ÏÜìe®`¦
+l%:Ìh6·%ñ9«½û.·Aä{ÐÃÞPè<ïÿçdêË ÇjvkY\ å@_o£qè#¾º7ä
+§Ìm¤Kq§JH ÷~¤Þë¡þðÓbó°e~p~hqørÓWL÷¿¾?²³íaá!Ó毾z¶AÐ~Ëþà¡ïL·ý*øåà{áòN3æ!¼Ùx7ß;´m¼ mQñÇ÷çrÚ6Ò¶.ߪj(Úíl»Y
+Ïg
+ÓÉÂÆ;-ÛÛBR¯{QPô½qQâÛâ£Ü¶pH B5£$§Í&°L¾cQæqÃpáy Pë- ½OÛ¹ßòEo¹ÅâKUY5Tw~In1®
+U"ñûîn3ýN
+ ¤)ûÁ-5IZGÑv¿ÓÓ$Õ¦æ #µ>|(n'ÂÇh»9SèOèß1Ò¯`>á ÿ?C)°ÛÕþ¸èküOX°Ø@y½ö$¶æ4,f¸°S{Eµx&tXø ÄqTTiĹl
+¾_½0YA%\ìö¦¢Í§
+Íþ|ÂÕ)}>URµ¦A´÷Åf§M»âN¾%é{ª²Ù¤ùǧê÷¡¿¤ÃþMÆ]±D¡>`ÎMº|&apHÐ1íÆ~6C}¦õÐãc&½ÒÚÄ×ð @w u0kÖ y~òPç)\j 뵨n°jg/ÊÉd¥LZÚSéåËë8¢VÏo,ªº+xjt°îÏÁÉterJe}åróDåõÌëùw3ïæmtÀO÷\$ѬT
+zb!̯+:K6-eÙÑÀfMÖLoº7·BXƦäçî4NÊ®OgîÌßY¬Ü/Î<%ÌÌ?Sy.ó\þ×_çT^âe]À1æÌyC¡'ÏsèÏ1®
+SØnÝ!ßÜÚº3sgv²Øf¾#°-+ÙÍcì:ù:½Ï3±*Îä+.+©d\
+¥¸à´8âÎD(kÇ^8}ªã&³1]È{
<ä!«Ì^þÀB ùÒ×bÉ`æ¾Z0ä
+C
,oô@ÃSìMt£8{so9]ôJ°O0Ê2xEi'ÃÜoîE7
+>Å®2}SuæU\,j¬ÊIçÅ`\cï..¤ tƧFª#!¶+Äý"ô;è½Ï¦«èà'gü$ò v$ó}ó¡ÛTKu}©ÙI½¹Ï|K®jú.:º a&6?ÉðTÀGó»<¬:R`4[©\P0_éîÂtáHÁX/±oB(|ìÔQ8AZ½»ÂØ.x4sêîÔÙiþxqdfiY¤4_ëß)ÑÃ
+\]hþ¼ðÇæ_3ÍßÄú Qtñh¢tê?Ù··
+ĵ¬´×wêmö^âýòoO=)»|£\ùç?AÇôIo·ìF[ÖìÎêÊNV
¦ÙWöÈbû
rÜ¥©$Я´Ü
+§ÛÜó-l}ck[v[÷Ö¿Éý¦Ëì¬ ÃcMÛ
+À=ÒÙfúJ¶;hÑ ú
+ñJ,Ö¨Tú©«4à=4öHÒiÓ\³QÕ´úõ,z'¢Z¹îîºx. Fc(Û]ïîªgÜ;üU
+¹®Üí[ꬮ×3!£1]ÏxëõÍËÕºlÞ®.ÜÏ ÙèÊeBÖ¾j6hlÝƺµL <j
qFæ
åx<fÁ$ÃóØègþ
+
+î{53
+×°®v^ éhÈ¡§Ä¡0³K÷Ô+9h½·ºë)ñû¨ëïMæeaÒqPðWf~]«÷q© ô@Î1ÉÝD(ªñ!nFÒà[ªÁ71Ýã£üF ¹º{dþR¾ùM´&yÀ¨£<pË¡C´9d:dÄƽ~ ì ÌÀèUB+¾û¤%â5 ýͼÞkª9ê´#1ÅÉèöâsp4]O¹M#£öP«÷sÑ
+E¸°TMºDzPÚÀÆþöqÕãkô|<¦ó*`qü
+M¯¨£ º°ø´àôíXèã3
+Õ
+;å¶Ë.»(ìA1Û6?Ø<pCN{ÀºCÖº91Ö{c×>yà¸è-6Ô¼nê<E
Zlës,ß
+±øp¤ûìb±ÔÞnaÜ^_êlùY
+kí/(ܼ/¶ã#ía³Îb*aµaJµýäHuàjsÕT#æì,DCd
ýÎrÒ¦¿ mzM$ºÞ,o{ëPcÅQÝàTv"_±c}UK%±êê~ d|ÆÄZGAèzê"$\¼[~êhQÕéAÐið4+ÆjÞsøoù]1³ukf £ê?6ȹEÞJi!Yàñ^â%Ç?{ÔW.'wØe4µY{&4w÷<vö¬e½µd#o/L5t&Cr Råæ7;Ùßy·ÙùËuÁ¤cðäÇn¿s¸ÔÞåwÎÛ)îMTR6¨.ÈocëU_{XºMº n§n§}§ãaÝqgÙ×Ú;zF¤#}|%àð8/ÐãüîÓØòxóL
+ø%§èÐÛ<¸IÏFôãÈÔla'»ÆÉÖ;7:EgM´ êEÉW¸qøÏs6pq
wdyȧ
+§J¯Ò~®ÿhwuy/5_Â|=º 0×8=µ¬A5_ÛïCÓÉ`çZZqµ0áÉ¥z>N4èùÖ/Vò
x"º¼ANÝÏκ|i@¶²PóOi©=ê\ÒÌ|!UR.EðF¿×ß$M2WX&fÕ½ÝHÈt`A¶ªÇRÆBI*mñ6¦;kqbC®Í·Wn¡®OTUÑwVD³Ûà7Íñj½ÚsgϤOåSâÆÐƸ>1îH#®ÀútSnkU,UÏÏ_6rÕJåñ|$á9ÐSK }.åæUç~KéýVO÷·êó¾U=^cµZ²^úVyÉ0a ÀâUúÒjÊJO¢Î
+L¼jÖÉU
ÌYÆÓl2½3ýXZJÓä^]mÞ¼eËäÖñøìêÀ©i
+ÁáÆ?Ô
+2'G1ß
\váWä^(@À'Û¤-w@_Â}íï<d@Ö6=ÔÊáÅ,;?£¡âY?Ç#
3ÃÙ
]lqÛÂYؤUÈ×GW±y]B6·(µdá®a1 +5xÑc¥½³t[#3eièÉAî
4<ѪY§ÎíóºT[èKÒ6fÕqëº:Óîz·Ö'yÂU«·ðÁÂ$ò7ª³Ðò46{:©ð!e/[ùÌ÷ß9p ùØ÷a+÷|£ùï<ʺzÕýNó'§^`ü̽^÷¯Ù¸§í@ó7ËåyÍÏÔòf£dÌmùhÿ¦5ÙþÊ'<ÐüÎSO±sd£OÎ~¨ùüÃ5öoá\³Þ^¸uݲ«Íë^d_hþ4O&~ KìPóÖʹõ³?&ÒúÅ«ª-î-Õ7Öõ;Çò£¥±¾Ëó/ï»Ö7Q踽j]aÂtj_ÿÆRG£kÎiêUÚÉ®!¥;sÐJ£ÖÐ5H+H|V8»]Õ®Á.]ßI[»·£Géi»W N
+VV#ºâãÎDOµg°G×ó*ppÓºã:C;á8ÐpsWö}A$9Cº~hðÕtcDü¡ÌÖUòÀk?KüW¡(]C¢t
+Ò5$J×üCñ!aùäðhíÿ$ÌüC).#ù<¦4ÐBsð±ï§¼¹ôW?vÎd!ßÿ
^¹ûÄsÍ¿±ào*³ÏBßú¿éæk×];Ü(Þ³â
ç¿îù)N3§-lr¡0EpEO9
+ôbÛfj¶¹íÂ<aýforÍDÔó ¸{|@@r3j&
+B·;1ºÒ.D&ÿ¯¥§fX[vpá(:¦õqM/~`8né)ôÐ4Õ:O2@E +Î&lIY*ÃÀéíúöÏë.D-x>AÓJ-H½K|Éßf½hi~nó®¡Ô²õ#Î6Ý%ÌÅÌ,Ðqg77Ï*xæÏ2L7Þs»ò}úeÏ/êée8
+â9âðàYÏ:$d·´ YmסÌß>ÄÞ<õ1q{3>\ðãhÏ~¹,ïËÀ;ýûÎ%: yb²EÂú"å?%¿#TADÊ."Rf?Z']*ñÛ/
OªyðéL$o3¹¬yµmÀ¥Z÷)H(;93/QÞ´«ÎHÿ.ôÝ: ǤCÜ«]5ëúCÒ4T©`×ìM2!Ûp.GXµÌâÁåôOPÿ¹ -Ų̈C"êÂg 7HTgþñn¶`Í2Ùn/¹³ôλêvqíÅÈج%aöò¾¹WÜ¡¿²PÙ0+ew8gjó¯Ýðíl¶ÿü9QCUìX´yôòo£«>=s$dV÷
+¿¦L&¶KDÃ×QfÂAébögܯ°°ZM¢>+(2ÁbbNÖ¼ª}¿ Eé6É y&ffíOèû¡Hô{@&%
_²Ùy6ÝáÄ1Í3´yÍø¤BÚ=èÕnÊ
+éúÞö½K2ÕiqG\ù9bcø5³ôWçÔsuÅé4Ê]Ñìæ[>¢Òµ~×ú6¿ÖjÌbLÐËf¯°ß®zùUêûD`ªçXû^ù\åLáÈ´Ò:Ê_Ï 3[ÇÑðÖ¥°Õæ°ºÃtíýó®%]\]ÏÖ1í]bg4»I»D¿æ!é\á9èȪp·:û+¯T®¨>W}½j¸Ñqmà.Çí]0êVçLÚmÁýíjÚ*ìw«6kÇ`´¤Ìå0Rå.ø³?Ôõ;} Ì%%º}¯3Tëø 8yÓol>CýØQü'áû n¢_øáØGý³ÿê-V»Åï÷·,ï{å6vÑêå¢ø.gÏðU·7µ7ÖÍèLÅڢͫ/ÿNº½|ñ¬Ãn2Í)Ö\ñ¤çwÊvøØÏÿm½sà¯p¡IòC[þúðÌX
+0²ìÀk3?ÞÀçÉæ|aµ,¼wMó¹ÿÌ;ô.ý,*¢!>"
Û
+Àè°°³±o%N>£»ùuAø^nKøØ$ìBV8læ¹X,bYe±cwc¹Î1³HÎ7^ |DÿcPЯڰ,A;¥û?B»îj!ö"zïëbB;Úmx¯`áØþ#½ãÐÆq«ð¹«
I¼?¯XÜÆOÃý±àÄâÁþ0Îó¥:áô_ðݱ}Û¸¾alá½hÏÆbǵӡíB{6îmùøÜß°Æñv\×¼ïÅkßeÇ6Ås^a>-ÆO¼pú-ìG>{Ë÷©[?÷3¿z¤ë?©{M?¢ß¥ÿ¹þïnÃÏÈæ¯[.³f_·}ÎçPîó{¿|ëÇä½ß·Æïö¼üeèxøRôµØ5ñ¯'¦³ËÚäÔxú·»²÷ä¾W<Pz³üÙò«Êyµ57v>ÒííÑõ.h|vVûÀ³üú³yï..üä¢Ý[Ö¾|ÕY¨çl^9½JY_óÈØ·ÎûÃy͵\ûŵo?çüçðH>Ç
·½°ñÿ+íê8®øÛ[IgÉ!NÒY`c9¢ ¨ød$&`9HÆòEe*+¦&&Ð)MR3¥ÍMì|21ϧ@d ÅNÚI¦Sèô¿LH¿Ú?BN2méo×
+ùhþéTöï½Û÷ÞîÛÛÛÓén÷Þ
+li+¦¥½í¹8Ò¢ºÜ÷JÝdª³£qËÝ»ûóûØÛÝûT×ã/Á®øiزqÜeÚÉ>Q9æb6m%î6½T/×Ð<º×®ëàçz|'×¢KÓbÜúðm S<K±vq-£F
+á:wj¦åX;
+[õ
+i¡°,ü¿¯C%ñn ¿`ͯ÷¬¶¶òÆM+g7Ë"ìé=úPø{üvLæB8ÚÈ¥
+ã!f"Cñ? (dðwuK"£gùo¡¿
öÙÞ²Ôª
+ü
+©ñüDYs¢XY¡XÝÑèyà"p °Q¥a`lX¹á(
+8µR§ð >z#¿´È#
+¾
+ù½òWø=8T\<BüeðH¿9)iÁGËéÃàBÿlYþÒó~ºÌóÐùHþ³rú~^ùË|çÅ7¶z°$r
@ôXPÆá÷ÉLGPâîYÜkùuyö¯»>2&ݦßÛÛ+ÞâCÛÍÚ4ñ!ØÁf6Ch0ÏÃ_^ ^Àp´{í.ä&èpàô(èA`L¤øhÇÔê
+¸ö¹¸×ås
]+å²çø0á\ãͼwò·qU+ÄsÛõU+ºÇܦ{Æ}Þm73óKXàÒv#ëpìsDÜ%Þ©dÝî}nîÅ«°Ûp§ÜvÅöóíØMõÀAÀ6Î@îãwíNÈ òç±}ÜvØy õ@ê@
&d@h
+Th|@¸\ÀRh+!ŪWB- )))Vç¢^P¸]Äz
+èçºpYwÐ_Oèã
+íÞ¥3
+Ìl`c
+ì`3¢±
+6×7Û4,<®Õkã¶É³ç:l\ÇpÇ»ê3E«11&ð@PðÖõ"-Øje».
+ä
+h2À
+wL}-¦vÆÔÒ®ÃeQU°H¨CPöI7J2æùÕOýê'~õc¿ú_ÝãW¿íùâÜUyºeOJÚ.éé¿ÖÔmÚ¢©1=ÏP<õt±¤µ2Äø{ÈuýWUaV´A+)$»bEcZýÛ®û}ì3+zH;Ã>ÅB\ÒØe«îC-v-ûÛ`éOÊüc¶&¾¾ü:Á_¶¢ûÿY¤_¤
+Ý6bEﱢ˴XÃò5¸ÔX~:t=ÞïCzýlæ¹âÂAµôå`KE-Ï0RÒfér'.+÷ e¥k)(y%óÈÊ«ø,\:-ýaâx-ø¡öèi±ãôwæ±×>8ýÃ#]úÛ`Mh¿ÍeiçB%<©ýN?½YWb[-m&TrBq6TRØ m
+lÂVa'µÉÐ.í¸.µã:´8Ô£Ñ&í°Þ£=DÚÒÕ ÝØãP§Ck´è¶O 6¢pfÌÑVéßÕnxem(NhËëJ¢*a1qR[K0wU¹år#ÆîF¨b°b{ÅÖM«+VT4!Üø¢
óÕN¯³ÒÕlNDÇ<>'9çäFñÛsÃ+_Ûâ¶\P/¾ñ´
+'¾õ$âÜÁ¬Ó¤ìjcfu[ÚÌÆd©âÊfs%^
+Ý4O@Ñl0B÷yCíFèã{DY)Á`¦,¦:YV²X¡?Ìæùrasyda¹$[(¦Aø¤»§Z0
+¶HõÄj]ª§YÁ4YZúaÒÏlõ³6èeÅ ¯4ãÿèoûJ`ÅÞwwô%úõDVOôYó±ûïª1÷m÷ù¦v¼+>/Énï»KðÞ~ó]½?nîÐ㾩^ïkê>¡îÕãSÔØÒ=ÕgôÇ^£7¡÷ÆÓÅ#Ãk_ñuયµÃßàkX¶Vø:"ó}ÍWR¨_Iá+)|1H_ÉÍm,êrRxeFò""Æùõ§Ûæ{ÖÈcµ¿æ¡ÚS6ÂeËÝ6çêm¦
+ó¦)Ö*BU ±§¬ªyhµ¿ö{¥¬òB\¥·á&qwüê>(AB
+´~¼µ¿nSO·5£ ÓÈÆÓr`¡Pþ¬í6¼g£ç¢J.:Á¸ÑèdÔ^(àE~£úlà\@ÉráÀH`40pÅÝ'èhà£
+odb¼æÌcìN
+# mdó"]þËM#)Ïlð¼è?¿
+endstream
+endobj
+725 0 obj
+<< /Type /FontDescriptor /Ascent 891 /CapHeight 670 /Descent -216 /Flags 32 /FontBBox [-568 -307 2029 1006] /FontName /CAAAAA+TimesNewRomanPSMT /ItalicAngle 0 /StemV 0 /Leading 42 /MaxWidth 2000 /XHeight 454 /FontFile2 726 0 R >>
+endobj
+728 0 obj
+[ 250 333 408 0 0 833 778 180 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 0 333 0 500 0 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 760 760 980 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 444 444 333 333 ]
+endobj
+724 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /CAAAAA+TimesNewRomanPSMT /FontDescriptor 725 0 R /Widths 728 0 R /FirstChar 32 /LastChar 213 /Encoding /MacRomanEncoding >>
+endobj
+732 0 obj
+6553
+endobj
+731 0 obj
+<< /Length 732 0 R /Length1 8456 /Filter /FlateDecode >>
+stream
+xy{`TÕµ÷Þû<æ=gÞI&ÌL&ïdÌ#<æI$M1 $"! × U>D©UÔªßS¡@)ÕKëëÚªõ^©B¯moKE2¹kÄ{ýç;3û½×Ùç½Öúµ×Úam@¬ìâJ|Pþ
+Ê%k³AÂ@Ù½4ºlå©Þ·b<Ðn_¶bíÒæð¿DÝP½½=]Ý=ÿ%B)jx>Øc)ßíjh§÷®¾ ï@»ÚÑýKºfm¨½Ú¿öô]ÃQÎÅü! ÚU]+{þ#åÍÐöÓv´pHÙ¸b´¡}.:Ð]Ûó»)RÓ"
+ÃjÄ£cpu ¶ë,ð?XÄA
G2$G
+¤D*xN´H¸~ÿÖîÖÆÿg]½¿®FdBæ[· h%¢$d¨É0 TÞÄ}ɽͰæc_úãÔùØp¬;ÖÎ<ìÐozEgЯo¾iêkÐt½yN+w£GÐs ÓÑåôÝhz ÝlÓÊD©ûÑè§è Èïж @}ý¿[zö£Íh;ÚBïbÛuú)bÂñ|Ôäm<·GT¡AtºÆuÏZ9Ðæu
+£z½åÝ7ªå¨EPZ
^?ȹðl3ê*¥ÅÕhºý=^CýPßã}üÆKn¹ÞMÄÐxò
+ü(9=6ñ&Ð;âÞ¦Re#lÑÔybÝS/&WÈÓd'zô¡Y¢¶¥¹8a74j%ÇQãªquõnuÔô:¶ºª;«ó<ᦶêd§³=Ïã
+Ï[Ðæ¨ÙÚyõëiqA¼BP%T5·ÝznR9Q5j¸20F°N2½ÊÑâ=÷ñ9éTXàÔ;õpÂÐëê}C¯*ôÀèp¬@fT'+°BdÙL6×ë:®QÖ;dý¸_6É0?*3È0V¯c±¼úÁÎn±è®\òy#e
+àve½ÎPì3k±'f!!'0Â
WN~å¼Ceáú²ÇgǺßÄà<ø}ò¦²þøèúØïö¿ûlÃú_ÖÄÇöp¬\Æ6G,çÞhfÌÆLÉd3Í3±ÈÆæ¹Ì\c'Ói\Ö(5®1
+Uß°!ÄbUÙÑC º¯¾;B¹¸8høIV>Î
+ø,r 7{oiE}Cyèáy0\R{7æxSYóËõpÊKûqöúÑãõÊ7cIv{H!£ AöÑ+À5¢F®up `â± oäHÅp2É$J
+S¹OÂé/àdÕ¤ËQ0ÁÐ
à §Kïù|YòÝ?uÝÎ]oëB3Ä .QùÕ¥ÒDj
+®WU«ÃpbuªÚ\¯ ÎzF)8Ѿ!ÃAüît@
+¼¾;uÄé Jr:¸ü W/Ób³ÉêòÙíßľ]ùÇU¬ÀêÄþéJJJwí¸m}zZ%ݹ¶û¶òy¬?v?Á[ñx}lôÚáy=¾û9³çÌiløbÛïÌÓ4GÒ%¶§(ãÞY¢Qpµ<¯f´Lz»pÄ.`APk5j5ߢuÓÏDÑi4|££TÆëvG|Ü%EÞ×X,
+ù¼TP Z½3P,}z'[víC½Ú`÷âÝÌÅ-fSÒìW%WÁï!v'÷%r câ¼¹öN;á^oaÌút})7MÐl¡Ô{«ÓÔhm©õö&ÂF¸
V}GÒmÉ[GjÓÍ÷èûS£dH?jMMÍ`Ƨþë0XJkHÐ yroJ
+¼ ª'AP5 ±7`¹Èíg±8ö¥ iö4¢Ó=NÝWÀ*=¹/J$~ÄîHaGmà7ÝQŹ å+bÍ&^ÆK'»ónù»OlÛsÿÂ÷z3/õ_À¬;7kyøöÏ0ηj?öÑèÐF±ò×ôÖòpeÅpýò_Ð ðù<àmdTGT*ÎkU½9ªLoNY*`*Ló{T5¦ª´*o+nçÚU-Þ>ÕRo_Ù°jw(°¾Ìê^=NÙá<}ÉËËi°+
+ ±kF£oP(]Îbò]oq2ù©ÓY5£¦æ©²úñ
+ÝÅî¢[P¢»äõ(
+3ÜkÌÛ?è}}FmØþ®¿>»È=Ü8»ÏiOT©cC,ã/þ)ð÷ÉÏsP*FÝb5¯±hJ2|
¾âúʪâܪëëìqÞQ¨µ29õ6£1¡ÁÆ$
+ÅÁtÊÙEAd7XÝ9ÏSW.û|ìß?Xu¨¦5Òiã¥ss)«K;
ÌÍÏÜÞ±sV[ûÅ¡ühyËC³ Q{hçsøÓOcç««æcÃÏÏà¢;W*5Ç
äØß.ø®@ù±#ëò¦ì\K}ß«OÎ+ ðE²xðóE
+¬$é¸IYDÃA$ià"ävùzÂ0VKgLÀ¥¡tR_
+h^Ú|]te¼í}rîÚó
+û×o´\ÚËð]úö îod6Nyn¿ÙæÏòûªÍ3Òª³j|sÍ$/°7§u¸Û=
;æâNùbíbÃâ¤NWgÖíÃzÏ}O^È|ÎK2-J/ËØfêH ôå@Fl4"¯RãDLz2®7S£)ròQÝÁÑ}&¡Nzwu|Ê5$D SÛ=÷{H§ xs¼A[]Ý®=¼Õáb2mzÚO:µßÐvzÀ,dfü nɽÃb$WoB0ht%)NÜOÄÞý쯱ó;6bÓ¿ÿ'VÞµîG.=»á®ÏkÊøaåYöyk¼ÑÈǶ?ô2þÑϧÐÕS#¿*åÅÝ?ùäýg{Nóec¤ñöÑá¥uËsÓÛ&õO³d¦þ¤oóØ.Àþê©O¥x$ý9Äæ°eeî@þ¬Yîªü6¶#!ØÅë3½¨ÞSoâm×m> W
+Çϧ¤ûË'6~S«ªæǾٿwÂuèá<»97ÛкÀÕr?Ø%6pX£àM¬03ÌAsi¡¼MÙ¦]¨[ÝÉt¢d5-«ß@rs3ý¼ÒVËÃÔëy=!O¿sÕ½nê (Üùh!Íð®´ôïñtîÿ}W[Ü^W¾½õéØ?w®è]Ü5û/?$¬ÿëÖÕgÖÌn©ª}wûÕÚ¹ Æä
]8ãä8NëîZ:½þÏËn«¾°ëÉ?Ìl¹x1ØA½àïmì0ÊD>tA¯V²®$¥Ùź
+tÞñHç<éÜ®ºÈ³\ÛiëÏ[¯\gÚÖ{D]^ õD¯wÈSpJJbÈÁÎ+!I@aÓQI_F¬È¦BãS*A(Jz+´¯f
FU48D;BÀ|zÇI{æËéãùÉ*í§böVmòë¾r»Ý ¨pµî"´Àß@lîGþ'÷·p-WຼiU¤o(Áè¥^ {j¶×Z²½ë{geÏRº?/7;ZÞp¤KYüVÏÅPåkWÏëºsÉþ;õåûÙ½£Oæå9ä6±91Aq\HÏòæ?´"fÃÅÉÐÕÒÙ5äß7uídG`íÃ6Y¬[SÀjÊR«Ø°&º@3×Ò§éLÖ¬KÕâ2»]H)7³*
+T(*,$(Ôê$«$ÈLIÛÓî9;
+ÒÕ
+.Ó©LVÄ'"«1IH×õP½(TDÜRDêNH
+:'òT&
+A
+ Jqä¾7ÃG}ñ
+k¡N§cf¥1³VÜ9ÊÑpû$¨LI"à¶Èéè"Á@?»H=DÈ
+ÇO04;ßøÞ{ê .ñÔÕX£¶y]
+8UÁêänÑZªõëü¦RKX[«6
-r!¤`Í!F©ú«ôu2ÈøÃ2þBú:P¾ä«bd ;${R(©?'H!ÌOÅÄ$ª^GYáz¦ýùM7¤zS¼4¤cÔbȸ¢quY«cÿõçK±ÏqÂ¥?ãÄ/>¶ç
wïzäÇ.ÇNã2¬_yìTìòï¾ûÁ;üø=ëfw
+ÚÜI¬(ëÿã¯D[cÈCiD¬PSîÀcw
++Hî8¸Ô¡ý¥$,¨\À¥Þyó
+pI©äÜ)¸âQ4$iì@±e¦fhKB¦Ë;æ̬<Øýë'&¯õ½qþäÖíóöçÖ?9FʶÓ0/3;æáþyG¨%öØ_Þ8[[2¹9Ýú^ÜÎ@õÅH£Ó84ZkãlRàrL¢)j"jÄLbLfU¤SU*³Ô%~ǧþ)1¥Øbü©Àdn^ª¨R
+p2iVYé³²ûütÏåRØíe¢Kîøu}:ODóÄo£GXÈDþ¥I]rÅñ\
+§7ÑóÛÉF~S«lÿ°{äÌÌÙw^_2}Ú¿ÞÞ}®ZY÷ë%˶¹soóßíÞ8s&®ÜsºÔõnUãÜÖÊ´´DE¢6ë±U5ë
+¼Å
®_êçÔ¸\u¢2µ¾d_1õ'2ÉíCÉhX©æ¬cT:Y
F¥äB¢Ñ6j#ZôM®Ñ± Ë:«R.5ºbY
+
LºÓÜo%Pɶ¤Ä¡
+õ²^XFÿE#jÎtfL gfÉßNãd2ð/
/À÷ÆFäÙùÝÈÖ
+ão¦}xFìø¾Ó¶Ä¬c©v`{5:zIuE\O¬alç&ÍäÒånrÕ8Ìý
+ÒYyG
+(D
Dä*F¡æ ÏA +^AôShV§
+iûµï_5o/lÔPO¸è¦¾r-ºFW>à#ëA û°Æ>þiì|ìÓ}xúNØSO²oa"×a#×~ÄtÑ"ÙÄ(¾ÑöteGÉ`ãp^ó÷n^+bí°JO÷çà7㤻rU¬ ¶Ý<Sóêaàó»GHä-HoF¡<eùMrt?gÁ¸þÊóPfCy
+ÐÑãPÖAYÍíBì¯Q/{õ±×Ð
+N"ô2ûÔ>Êô¡£¬b²Pÿ
+ö¬éYÅõÐGÙUËWõà*Ü
{ð2Üã~Å°
7ïñEÍz¦È)
+ê8æØpà©cÞ:ðÉå_`ë=´Wc¡ÕÞJ[:ZH3þQóËÍdÞü¶i¾
ßdfêØÚúbvf}[¥>PÂ
ØòP9[r²U![jbg@¡El¯õülÀßÌú©ì[þOü_úaú2êÞ<¤sÁõQsH!YëØ5ï;ÃúòàA©ÇUqê "=xÐTÇÞ¿ÅÈFWDðÄî#⤠ø%9(>
+[¶ïܱiÇæ[ñ
.(ظZ¡
++±ã,vüÎ\>C¿AÐbë±ë©.",Äy&=ë1e°nS k2²9&3k7¥²NGë0±¿²Ö°Öäl²µµèI káLVV%j¢iFUPÐæÚ5§ÂvõÉ°]y"lW@á&Âvöga;s4l'ÇÂv|$lG¯í§NæÚOϵÿLlpÚuÚ_=â´<uZsüÄÏ5?{]}ôØkê#¯«u&xtÃQ" i<2zx¡ÚÕãG~sdê\©¥m
+íOÀËáq<µéÁmc»`çsl}\°QÇð¶ö1yxþõ*¢±{phpPªü¯ÓS3Æ×ôvñ®êAÚÐÒ68µ5c®j73Õô ö^2xã[ññIutÇÿúÔ¤cAÄþ?Ø/
+endstream
+endobj
+730 0 obj
+<< /Type /FontDescriptor /Ascent 1005 /CapHeight 735 /Descent -210 /Flags 32 /FontBBox [-50 -207 1447 1000] /FontName /FAAAAA+Verdana /ItalicAngle 0 /StemV 0 /MaxWidth 1521 /XHeight 553 /FontFile2 731 0 R >>
+endobj
+733 0 obj
+[ 352 0 0 0 0 0 0 0 454 454 0 0 0 454 364 0 636 636 636 636 636 636 636 636 636 636 0 0 0 0 0 0 0 0 0 698 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 601 0 0 0 596 0 623 633 274 0 0 0 0 0 607 623 0 427 521 394 0 0 818 ]
+endobj
+729 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /FAAAAA+Verdana /FontDescriptor 730 0 R /Widths 733 0 R /FirstChar 32 /LastChar 119 /Encoding /MacRomanEncoding >>
+endobj
+737 0 obj
+2135
+endobj
+736 0 obj
+<< /Length 737 0 R /Length1 3256 /Filter /FlateDecode >>
+stream
+x¥V
+pSÇÞ{O%[Ö¯m$¹'&`IÔuSTëºJ¨1¢ m$û9ÈÔÈ¡´3`
D
È&Ó´q6MK'
+ÎäIÑ
+¡!ghSO§¤
î=Ë3f:=iï¾owïvßÝê
+òg/Lõõo«8ÂêøúºÍ[º átgkûÛÒb¶ùYäҽɾî×mû¿ü_ÈÝé-þôÉç
+®Á5Új¨À|OîUR§ù2×\{kvU¹6Yrù¿®Àåiä°d¶?Ù42#,ÙFºTùÙBøi#óÈÙI¾JúÈÝd<Ø´è IââþM^"xÄI+n-?cÞ&à|(¼û?ÏÂ1?Ã?ÔÃ
+Ôm
°6Áç!DVv"àªv²½áÜpcqEHgHö ámáäaáNá#ñUb!á}¸"t
+VòcòwÅõ=ÄàØá9xQ\&>Ãð$ÁþÑÛ?Ýô©Û/[Úè»Õëq7,Y|Ë¢ú
òDç×ÍsÎuØçÔÖTÛ¬³ÉXe¨¬ÐëʵeQ à!Ìån§Ëå{K|îlÎÄzóß\¬³³
+ónâu7ñù3|
+jA¾pÂØ©fÀ£Û©IHéC=ÌP Í_öRQ.TVä@w
×
JÐ7] áÏáPKA
+°r5®ÔÃüIRÁ3*¡3á6(²¼+ÆÄ$njÄúP*#£$RÓ`\µs¢F
+¥¤<rîÀ^â¬Õ£Zír9dz¸Ùj¹úb>dï8ÍçwIìéµ±.îÇí^É(èõz[q§í>¯oÞ%ÑËséMò<C½R~°[ÍuHÍMu
+¥ð`äÏ9¤$W0T ºoÂÆKªZ4ª%ã^óÄ"±
+øÒhõâÛß
+ãæqi¼q<1×roÓx
¹©ýxâxú¸ø5pþ
+åäöFúKÇêè±£Õô%ÄGô!Ý3è Cn:8à¦ùúðöýAÎJw£ìBùf.Bʹ鹩/7ûVN<#?Úi¡O£ìÌFè°Óí·Ò·©éüdÑÜ´DY¡D¸P¶*Z³ÉEkkh¹ÖEöª]Ôfm ¯©Ám\¼Ä´èãÂzÓÙ(¹Ló©Ñ9¯®Êî[US;§Êj«®2-CÑ ¯¨4hËuQSfÀZ0MYà×fµ_Ì VÁ`
+rɨ ®³JÐq*?ÿ
+endstream
+endobj
+735 0 obj
+<< /Type /FontDescriptor /Ascent 1005 /CapHeight 735 /Descent -210 /Flags 96 /FontBBox [-166 -208 1705 1000] /FontName /MAAAAA+Verdana-BoldItalic /ItalicAngle -13 /StemV 0 /MaxWidth 1777 /XHeight 557 /FontFile2 736 0 R >>
+endobj
+738 0 obj
+[ 342 ]
+endobj
+734 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /MAAAAA+Verdana-BoldItalic /FontDescriptor 735 0 R /Widths 738 0 R /FirstChar 32 /LastChar 32 /Encoding /MacRomanEncoding >>
+endobj
+742 0 obj
+2510
+endobj
+741 0 obj
+<< /Length 742 0 R /Length1 3864 /Filter /FlateDecode >>
+stream
+x¥WpÕÿ¾÷vo÷¹ü ¤ÊK¢; DL$w&¹RÊj¹ËL H&C(þÀKè\uF«T0 Ñ=Ú¡H03Ú±ÎhGÕv&VÇglEÎ`úÙÝZÛ?ºß|öó¾?öûÞ÷½··/ÄÈE=$(м1ÞI*-å- ¿¹k«6øÍ¡ÚcD²o]ç]Ï|µÄ r¸¤µwut¯Ëø{;üiÙÞÖo9ïyð¯ÐÏC¿¹
+ìçKDés ÏiÛ¸urù¡WCW;65Ç©
+¡×AwloëTW(?®ÝßØZóÄúG o>»sÓK©úSÐ;7·vÞöÆõk¡!°1y¹Èy§,ùÿ¿M|Ïõ¿3ÛZqï|ot1S3ðø´~EM¸? ´
+Ð#e)5Áßèp9|Í`_3íe}ßO!÷|æ§-ï2ä5#láCò(ìfÏ;é%úBûh¼Çéó)dÞKtÝ
+}@ÿ`¹¬%ØIÄdó¬±Ø½õ fòÅÌ´u°Ml3{9ǸàußÅû¹ÁO¨T.:²¥J²0âØÅY¨ÐÌöcj@ÏMt]Îjf¡ß3ÎêY#kc³~aC¾â~¾³nÊ/ELrIÉäg!£UÊÓª¹e쩤Qݪ裵Ðzº×ûPãvº¤}ÔOûé¥èýÖìÎÑGt³ 1ë*e·°Õ(d3ÛÁÂ|ô~Gv³§Ø;ñ½ÉÞã³Pµ-¨ÞåNþ$?Æßäoñùÿ)H8ÅZÑ$¶â°x[¼-UKýÒ~éCéCÉ5SÙ\Ç^HâT6()?WV^MG3PuÕÒjTÕJ¶Ó.JX«B%ÇèÈ(}n֬ĬæVÅBl$ÊÖ°Ûȶ°mS=ϲvµ¼ycac_Xr;x/ª¯7ðÕ|?Áâ/bGñü}þjãPcºÈÓÅu"(BFq»Ø&vAqZãX7ôC©\Z%ÝÚÏJcÒgXI.¹@^$/´ÉwË;ä^ùìèqyÜáÂþ1%DZÄñ¨ccÈñã2]ÉSfCæ)ÅJÒ¡t)1åSõs¹³Ý¹9ÍGi½vÕ{ü
+v÷ëüNÇ|ÉÎa7Ü#2¥a>G¸Kép¶ó!stJ»+õ'º(ÎÒjq;uÈM"]9Olô
+³5õ´wWéQÍ·Ú+¬¶Th)P¼^<¡óÛª4Å´ êjKcU~K¥§Uêi~¥ÒÒÑLGËé)*gVSÔÔhÔêUA£FÇ£H#
+ñ£®>¬òx½Q¿Ï`ÍzAz
Yd
P¥Õá¨4«Ý@9Ô«¥|§}Ãnj¹ZôøCÄ#hd·êUÆ÷åû}Ãì`cÄpV3j§ÚTMOUUÔì-»2ò¨>á3îóD0¿]3 &jF}ÄLvÙë5c¢Q$õûÂ+#^Zöif+#VHÊòçcà¦Í,Ó.¸UØzÍpêz[b}53aÐÊnïѵã¦Ú hè^cGÆ«®IåRbe÷PM@«¹Òã÷¥ÜYöL§¦eN6\ßm´blÕ²ÂÍF}yª9"½Æ`5kID7xAyk-£DsVWaFÛ1±{1ª3ä·®%.6>~þJK|Òâ(p_ Óin©-g°øå¶QTdÌkî¥K[ú"¿¯ËënÍcʨ.¢çcʽ^s{ÔÅè©ØºFM£_5xÌôºì¾Êôô\öL=Ó±áóG4ÝP§þ2Ýy9Á¶ÅËû/îVÛ×'¨¥$¹ Q)'z=
±D_»:·:éZ(KÄ'ztÍ'Ráp¢3·Ñ.ixâT¯ÇôEÛ&Õ(±gÃÈ©7w&ZÜ#¢8úq|Iôà4!H!=©¼Ë¤wÙs8PN<!³Oæ;î§e_à^¼ $ËUàÍòöºÔÃé[GÿYÖ#Jd'ù%É
\¹¿&ÆK15#Á8þäàÑA^ ºK8¶SÄ~ôæú×Kö¬Í\z<*Dgº.âÉÑgH3Þ¼ÀJñ·8£¦÷M¼öñÇö£*¨G çR
ì¾8s¡ÞÝ4
+w7åâëJÊgòA#¬Pöd¼T[}ÛÊuE«ÛᆱØÜN?QfyÿÃ5é¸(;;K
+TkÃüæ£ÕA;-bGlzѦC6
+ØôMÏٴߦ}6ÕØTmÓ6UØ°©Ü¦¥6ÝbÃ&É&aÜ1}þüxxxx
+7iÆ×
+ú0K«_cÈz3²Ãn¬È7ʾËúB³c?{Øc~cïöLr4JyEÿ~å_a
+×u¤Y¬/ë,V2¤Ì:£Àn5iY¦5iYóÙÑ:Z÷Æ®¥+\°«
+ß«³`»Yn]$¥RE´òxzêy¼Ñ<wg¹UÜoþÏ ð¯O:~=]øèf
+s¦ò_D§ÁÜ
+endstream
+endobj
+740 0 obj
+<< /Type /FontDescriptor /Ascent 899 /CapHeight 763 /Descent -211 /Flags 4 /FontBBox [0 -211 1359 899] /FontName /NAAAAA+Wingdings /ItalicAngle 0 /StemV 0 /MaxWidth 1443 /XHeight 723 /FontFile2 741 0 R >>
+endobj
+743 0 obj
+[ 458 ]
+endobj
+745 0 obj
+224
+endobj
+744 0 obj
+<< /Length 745 0 R /Filter /FlateDecode >>
+stream
+x]1oÃ
w~ÅÉagɪT<´êô`8,¤Ðþ÷â¦Rxï}ð8~îÞ;ïðÝcë¼!ÃBaÀÑyÖÁ8¶SÕô¤"ãî×9áÔy@À¿22'Za÷fÂû¢]É 9?ÂîûÜW¥_b|à>Aä6_÷¡â§xEɾKë!Sûr£L´ÏJ:£ÒHÊÈDÓHq¹HÞü³6`°[òØJQÆ6êTó¿NAË_ôBÛÔ=Ô¢¥óøZU±<Xçp~
+endstream
+endobj
+739 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /NAAAAA+Wingdings /FontDescriptor 740 0 R /Widths 743 0 R /FirstChar 33 /LastChar 33 /ToUnicode 744 0 R >>
+endobj
+749 0 obj
+410
+endobj
+748 0 obj
+<< /Length 749 0 R /Length1 544 /Filter /FlateDecode >>
+stream
+xc`d``àah``fpHÎM,`à`Ø9ÄÉe%
+@:
+L
+`
+¨A¨H/
$10142007²¥}ÊÎÀ`,¨(¨ª(¨ØÈÌð·á[ÚÏY¬i@õ^'ï2ðSRW35136agcÊ\ëãëãÍxÒÏ7?o¿o^ÐÇ`{%g^>p;ßæ+7ÈGʾ®Ó^P
+endstream
+endobj
+747 0 obj
+<< /Type /FontDescriptor /Ascent 917 /CapHeight 815 /Descent -313 /Flags 32 /FontBBox [-179 -313 1083 917] /FontName /DAAAAA+Neo-Symbol /ItalicAngle 0 /StemV 0 /MaxWidth 1168 /XHeight 611 /FontFile2 748 0 R >>
+endobj
+750 0 obj
+[ 356 ]
+endobj
+746 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /DAAAAA+Neo-Symbol /FontDescriptor 747 0 R /Widths 750 0 R /FirstChar 165 /LastChar 165 /Encoding /MacRomanEncoding >>
+endobj
+754 0 obj
+486
+endobj
+753 0 obj
+<< /Length 754 0 R /Length1 636 /Filter /FlateDecode >>
+stream
+xmQMkQ=ïÍGMmâGEÉPµ ¥n\.DJED¤eÌt5¶
+qÀ;?6i7*ú#²Ü7v¡¨]t!!SÏkRW=ÃsÏåÝóî»@O a´ìÛã1f>r+ÏÖä×.Ý
+f|²ÂOõ©Î»Î}nõôϱ+¿ZÅq@,17â1±oÉp¨ß ϯϺ(¨S窵²§¸
+HJìñí¹
+qºH}:xàdB>î2?
,LäÈï%h¯1.C@M:\È[ùVÞ
+5t L÷ïëÐpY±
+=B-
+C§rF¬Âá\ÊÔ?ËQ´,úEßêÊÊjÉãQǯqLÿ&ëÖô7éÑïICÚßÅü"¿uÊéNÌ3Òé}ÝS½`iýnû
îµ_r<ìVyµT§û/ob/·ÙÍ·ÿ)c7}¶ÇÇu©¹,&ÏÒï¶TÉtÍ;Ø0§ÐÔTçy\Á$#u®.ìríÎsQû{&òÀXñúĵ3ãNmøƼ_ªUùÝ[Ô;í6°autn
+endstream
+endobj
+752 0 obj
+<< /Type /FontDescriptor /Ascent 917 /CapHeight 815 /Descent -313 /Flags 4 /FontBBox [-179 -313 1083 917] /FontName /DAAAAA+Neo-Symbol /ItalicAngle 0 /StemV 0 /MaxWidth 1168 /XHeight 611 /FontFile2 753 0 R >>
+endobj
+755 0 obj
+[ 795 796 560 ]
+endobj
+757 0 obj
+242
+endobj
+756 0 obj
+<< /Length 757 0 R /Filter /FlateDecode >>
+stream
+x]MjÃ0
÷:Å,ÓEìPºð"i©ÛÈÒØjIÈò·ïHISèâæç{<
+?v§Î»ü=ÓcÑyp k2Nγ¦ëL¾Wµgf'¸ßsçÇ
+endstream
+endobj
+751 0 obj
+<< /Type /Font /Subtype /TrueType /BaseFont /DAAAAA+Neo-Symbol /FontDescriptor 752 0 R /Widths 755 0 R /FirstChar 33 /LastChar 35 /ToUnicode 756 0 R >>
+endobj
+758 0 obj
+<</F1.7 714 0 R/F10.7 680 0 R/F11.8 697 0 R/F12.7 734 0 R/F13.8 739 0 R/F2.7 724 0 R/F3.7 746 0 R/F3.8 751 0 R
+/F4.7 704 0 R/F5.7 729 0 R/F6.7 719 0 R/F7.7 685 0 R/F8.7 709 0 R/F9.8 690 0 R
>>
endobj
-396 0 obj
-<</Font 395 0 R
-/XObject<</Im164 164 0 R/Im169 169 0 R/Im174 174 0 R/Im178 178 0 R/Im183 183 0 R/Im190 190 0 R/Im198 198 0 R/Im245 245 0 R
-/Im32 32 0 R/Im36 36 0 R/Im61 61 0 R/Im65 65 0 R/Im7 7 0 R/Im84 84 0 R/Im91 91 0 R>>
+759 0 obj
+<</Font 758 0 R
+/XObject<</Im161 161 0 R/Im166 166 0 R/Im171 171 0 R/Im175 175 0 R/Im180 180 0 R/Im187 187 0 R/Im195 195 0 R/Im242 242 0 R
+/Im35 35 0 R/Im39 39 0 R/Im4 4 0 R/Im64 64 0 R/Im68 68 0 R/Im87 87 0 R/Im94 94 0 R>>
/ProcSet[/PDF/Text/ImageC/ImageI/ImageB]
>>
endobj
1 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 2 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 2 0 R>>
endobj
-4 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 5 0 R>>
+5 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 6 0 R>>
endobj
8 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-298 0 R ]
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+655 0 R ]
/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 9 0 R>>
endobj
11 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 12 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 12 0 R>>
endobj
14 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 15 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 15 0 R>>
endobj
17 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-313 0 R 314 0 R 315 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 18 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 18 0 R>>
endobj
20 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-311 0 R 312 0 R ]
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+673 0 R 674 0 R 675 0 R ]
/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 21 0 R>>
endobj
23 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-306 0 R 307 0 R 308 0 R 309 0 R 310 0 R ]
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+669 0 R 670 0 R 671 0 R 672 0 R ]
/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 24 0 R>>
endobj
26 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 27 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+666 0 R 667 0 R 668 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 27 0 R>>
endobj
29 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 30 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 30 0 R>>
endobj
-33 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 34 0 R>>
+32 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 33 0 R>>
endobj
-37 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 38 0 R>>
+36 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 37 0 R>>
endobj
40 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 41 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 41 0 R>>
endobj
43 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 44 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 44 0 R>>
endobj
46 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 47 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 47 0 R>>
endobj
49 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 50 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 50 0 R>>
endobj
52 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-277 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 53 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 53 0 R>>
endobj
55 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-296 0 R 297 0 R ]
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+421 0 R 653 0 R 654 0 R ]
/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 56 0 R>>
endobj
58 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 59 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 59 0 R>>
endobj
-62 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 63 0 R>>
+61 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 62 0 R>>
endobj
-66 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 67 0 R>>
+65 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 66 0 R>>
endobj
69 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 70 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 70 0 R>>
endobj
72 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 73 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 73 0 R>>
endobj
75 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 76 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 76 0 R>>
endobj
78 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 79 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 79 0 R>>
endobj
81 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-295 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 82 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 82 0 R>>
endobj
-85 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-293 0 R 294 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 86 0 R>>
+84 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+644 0 R 645 0 R 646 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 85 0 R>>
endobj
88 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 89 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 89 0 R>>
endobj
-92 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 93 0 R>>
+91 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 92 0 R>>
endobj
95 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 96 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 96 0 R>>
endobj
98 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 99 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 99 0 R>>
endobj
101 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 102 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 102 0 R>>
endobj
104 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 105 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 105 0 R>>
endobj
107 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 108 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 108 0 R>>
endobj
110 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 111 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 111 0 R>>
endobj
113 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 114 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 114 0 R>>
endobj
116 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 117 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 117 0 R>>
endobj
119 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 120 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 120 0 R>>
endobj
122 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-305 0 R ]
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+665 0 R ]
/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 123 0 R>>
endobj
125 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 126 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 126 0 R>>
endobj
128 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 129 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 129 0 R>>
endobj
131 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 132 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+662 0 R 663 0 R 664 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 132 0 R>>
endobj
134 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-302 0 R 303 0 R 304 0 R ]
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+635 0 R 636 0 R 637 0 R ]
/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 135 0 R>>
endobj
137 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-292 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 138 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 138 0 R>>
endobj
140 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 141 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 141 0 R>>
endobj
143 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 144 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 144 0 R>>
endobj
146 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 147 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 147 0 R>>
endobj
149 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 150 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 150 0 R>>
endobj
152 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 153 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 153 0 R>>
endobj
155 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 156 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+629 0 R 630 0 R 631 0 R 632 0 R 633 0 R 634 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 156 0 R>>
endobj
158 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-290 0 R 291 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 159 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 159 0 R>>
endobj
-161 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 162 0 R>>
+163 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 164 0 R>>
endobj
-166 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 167 0 R>>
+168 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 169 0 R>>
endobj
-171 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-288 0 R 289 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 172 0 R>>
+172 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+620 0 R 621 0 R 622 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 173 0 R>>
endobj
-175 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-287 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 176 0 R>>
+177 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 178 0 R>>
endobj
-180 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 181 0 R>>
+181 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 182 0 R>>
endobj
184 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 185 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 185 0 R>>
endobj
-187 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 188 0 R>>
+189 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 190 0 R>>
endobj
192 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 193 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+661 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 193 0 R>>
endobj
-195 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-301 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 196 0 R>>
+197 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 660 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 198 0 R>>
endobj
200 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-283 0 R 284 0 R 285 0 R 286 0 R 300 0 R ]
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+605 0 R 606 0 R 607 0 R ]
/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 201 0 R>>
endobj
203 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 204 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 204 0 R>>
endobj
206 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-282 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 207 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 207 0 R>>
endobj
209 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 210 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 210 0 R>>
endobj
212 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 213 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 213 0 R>>
endobj
215 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 216 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 216 0 R>>
endobj
218 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 219 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 219 0 R>>
endobj
221 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 222 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 222 0 R>>
endobj
224 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 225 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 225 0 R>>
endobj
227 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 228 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 228 0 R>>
endobj
230 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 231 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+602 0 R 603 0 R 604 0 R 659 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 231 0 R>>
endobj
233 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-281 0 R 299 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 234 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 234 0 R>>
endobj
236 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 237 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 237 0 R>>
endobj
239 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 240 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 240 0 R>>
endobj
-242 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 243 0 R>>
+244 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 245 0 R>>
endobj
247 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 248 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 248 0 R>>
endobj
250 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 251 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+599 0 R 600 0 R 601 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 251 0 R>>
endobj
253 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-280 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 254 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 254 0 R>>
endobj
256 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 257 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 257 0 R>>
endobj
259 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-279 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 260 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 260 0 R>>
endobj
262 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Annots[
-278 0 R ]
-/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 263 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 263 0 R>>
endobj
265 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 266 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 266 0 R>>
endobj
268 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 269 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 269 0 R>>
endobj
271 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 272 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 272 0 R>>
endobj
274 0 obj
-<</Type/Page/Parent 316 0 R/Resources 396 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 275 0 R>>
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+590 0 R 591 0 R 592 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 275 0 R>>
endobj
+277 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R
+581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 278 0 R>>
+endobj
+
+280 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R
+563 0 R 564 0 R 565 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 281 0 R>>
+endobj
+
+283 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 284 0 R>>
+endobj
+
+286 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R 522 0 R 523 0 R 524 0 R 525 0 R 526 0 R 527 0 R 528 0 R 529 0 R
+530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 287 0 R>>
+endobj
+
+289 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R
+512 0 R 513 0 R 514 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 290 0 R>>
+endobj
+
+292 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 293 0 R>>
+endobj
+
+295 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 296 0 R>>
+endobj
+
+298 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 299 0 R>>
+endobj
+
+301 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+494 0 R 495 0 R 496 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 302 0 R>>
+endobj
+
+304 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 305 0 R>>
+endobj
+
+307 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 308 0 R>>
+endobj
+
+310 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 311 0 R>>
+endobj
+
+313 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+473 0 R 474 0 R 475 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 314 0 R>>
+endobj
+
+316 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+470 0 R 471 0 R 472 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 317 0 R>>
+endobj
+
+319 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 320 0 R>>
+endobj
+
+322 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+467 0 R 468 0 R 469 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 323 0 R>>
+endobj
+
+325 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 326 0 R>>
+endobj
+
+328 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+464 0 R 465 0 R 466 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 329 0 R>>
+endobj
+
+331 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 332 0 R>>
+endobj
+
+334 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 335 0 R>>
+endobj
+
+337 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 338 0 R>>
+endobj
+
+340 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 341 0 R>>
+endobj
+
+343 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 676 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 344 0 R>>
+endobj
+
+346 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 347 0 R>>
+endobj
+
+349 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 350 0 R>>
+endobj
+
+352 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 353 0 R>>
+endobj
+
+355 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 356 0 R>>
+endobj
+
+358 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 359 0 R>>
+endobj
+
+361 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 362 0 R>>
+endobj
+
+364 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 365 0 R>>
+endobj
+
+367 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 368 0 R>>
+endobj
+
+370 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 371 0 R>>
+endobj
+
+373 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 374 0 R>>
+endobj
+
+376 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 436 0 R
+]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 377 0 R>>
+endobj
+
+379 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 380 0 R>>
+endobj
+
+382 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+677 0 R 678 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 383 0 R>>
+endobj
+
+385 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 386 0 R>>
+endobj
+
+388 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 389 0 R>>
+endobj
+
+391 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 392 0 R>>
+endobj
+
+394 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 395 0 R>>
+endobj
+
397 0 obj
-<</Count 64/First 398 0 R/Last 460 0 R
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 398 0 R>>
+endobj
+
+400 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Annots[
+656 0 R 657 0 R 658 0 R ]
+/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 401 0 R>>
+endobj
+
+403 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 404 0 R>>
+endobj
+
+406 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 407 0 R>>
+endobj
+
+409 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 410 0 R>>
+endobj
+
+412 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 413 0 R>>
+endobj
+
+415 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 416 0 R>>
+endobj
+
+418 0 obj
+<</Type/Page/Parent 679 0 R/Resources 759 0 R/MediaBox[0 0 612 792]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 419 0 R>>
+endobj
+
+760 0 obj
+<</Count 324/First 761 0 R/Last 866 0 R
>>
endobj
-398 0 obj
+761 0 obj
<</Count 0/Title<FEFF00540068006500200063006F007200650020006F00660020004A0042006F0073007300450053004200200069006E002000610020006E00750074007300680065006C006C>
-/Dest[46 0 R/XYZ 178.6 323.4 0]/Parent 397 0 R/Next 399 0 R>>
+/Dest[49 0 R/XYZ 156.5 341 0]/Parent 760 0 R/Prev 761 0 R/Next 762 0 R>>
endobj
-399 0 obj
+762 0 obj
<</Count 0/Title<FEFF00470065007400740069006E006700200061006E0064002000530065007400740069006E0067002000440061007400610020006F006E00200074006800650020004D00650073007300610067006500200042006F00640079>
-/Dest[72 0 R/XYZ 178.6 319.8 0]/Parent 397 0 R/Prev 398 0 R/Next 400 0 R>>
+/Dest[75 0 R/XYZ 156.5 435.1 0]/Parent 760 0 R/Prev 762 0 R/Next 763 0 R>>
endobj
-400 0 obj
+763 0 obj
<</Count 0/Title<FEFF0045007800740065006E00730069006F006E007300200074006F00200042006F00640079>
-/Dest[75 0 R/XYZ 178.6 685.5 0]/Parent 397 0 R/Prev 399 0 R/Next 401 0 R>>
+/Dest[75 0 R/XYZ 156.5 185.8 0]/Parent 760 0 R/Prev 763 0 R/Next 764 0 R>>
endobj
-401 0 obj
-<</Count 3/First 402 0 R/Last 404 0 R
+764 0 obj
+<</Count 6/First 765 0 R/Last 767 0 R
/Title<FEFF0054006800650020004D0065007300730061006700650020004800650061006400650072>
-/Dest[78 0 R/XYZ 178.6 683.1 0]/Parent 397 0 R/Prev 400 0 R/Next 405 0 R>>
+/Dest[78 0 R/XYZ 156.5 216.8 0]/Parent 760 0 R/Prev 764 0 R/Next 768 0 R>>
endobj
-402 0 obj
+765 0 obj
<</Count 0/Title<FEFF004C006F0067006900630061006C004500500052>
-/Dest[85 0 R/XYZ 196.6 721.1 0]/Parent 401 0 R/Next 403 0 R>>
+/Dest[84 0 R/XYZ 174.5 281.4 0]/Parent 764 0 R/Prev 765 0 R/Next 766 0 R>>
endobj
-403 0 obj
+766 0 obj
<</Count 0/Title<FEFF00440065006600610075006C00740020004600610075006C00740054006F>
-/Dest[85 0 R/XYZ 196.6 512.2 0]/Parent 401 0 R/Prev 402 0 R/Next 404 0 R>>
+/Dest[88 0 R/XYZ 174.5 720 0]/Parent 764 0 R/Prev 766 0 R/Next 767 0 R>>
endobj
-404 0 obj
+767 0 obj
<</Count 0/Title<FEFF00440065006600610075006C00740020005200650070006C00790054006F>
-/Dest[85 0 R/XYZ 196.6 352.4 0]/Parent 401 0 R/Prev 403 0 R>>
+/Dest[88 0 R/XYZ 174.5 569.1 0]/Parent 764 0 R/Prev 767 0 R>>
endobj
-405 0 obj
+768 0 obj
<</Count 0/Title<FEFF0054006800650020004D0065007300730061006700650020007000610079006C006F00610064>
-/Dest[88 0 R/XYZ 178.6 721.1 0]/Parent 397 0 R/Prev 401 0 R/Next 406 0 R>>
+/Dest[88 0 R/XYZ 156.5 305.2 0]/Parent 760 0 R/Prev 768 0 R/Next 769 0 R>>
endobj
-406 0 obj
+769 0 obj
<</Count 0/Title<FEFF0054006800650020004D0065007300730061006700650046006100630074006F00720079>
-/Dest[92 0 R/XYZ 178.6 683.1 0]/Parent 397 0 R/Prev 405 0 R/Next 407 0 R>>
+/Dest[91 0 R/XYZ 156.5 187.8 0]/Parent 760 0 R/Prev 769 0 R/Next 770 0 R>>
endobj
-407 0 obj
-<</Count 2/First 408 0 R/Last 409 0 R
+770 0 obj
+<</Count 4/First 771 0 R/Last 772 0 R
/Title<FEFF004D00650073007300610067006500200046006F0072006D006100740073>
-/Dest[95 0 R/XYZ 178.6 581.2 0]/Parent 397 0 R/Prev 406 0 R/Next 410 0 R>>
+/Dest[98 0 R/XYZ 156.5 720 0]/Parent 760 0 R/Prev 770 0 R/Next 773 0 R>>
endobj
-408 0 obj
+771 0 obj
<</Count 0/Title<FEFF004D0065007300730061006700650054007900700065002E004A004100560041005F00530045005200490041004C0049005A00450044>
-/Dest[95 0 R/XYZ 196.6 511.8 0]/Parent 407 0 R/Next 409 0 R>>
+/Dest[98 0 R/XYZ 174.5 654.6 0]/Parent 770 0 R/Prev 771 0 R/Next 772 0 R>>
endobj
-409 0 obj
+772 0 obj
<</Count 0/Title<FEFF004D0065007300730061006700650054007900700065002E004A0042004F00530053005F0058004D004C>
-/Dest[95 0 R/XYZ 196.6 445.7 0]/Parent 407 0 R/Prev 408 0 R>>
+/Dest[98 0 R/XYZ 174.5 592.5 0]/Parent 770 0 R/Prev 772 0 R>>
endobj
-410 0 obj
+773 0 obj
<</Count 0/Title<FEFF004C0069007300740065006E006500720073>
-/Dest[101 0 R/XYZ 178.6 561 0]/Parent 397 0 R/Prev 407 0 R/Next 411 0 R>>
+/Dest[101 0 R/XYZ 156.5 566.9 0]/Parent 760 0 R/Prev 773 0 R/Next 774 0 R>>
endobj
-411 0 obj
-<</Count 3/First 412 0 R/Last 414 0 R
+774 0 obj
+<</Count 6/First 775 0 R/Last 777 0 R
/Title<FEFF004E006F0074006900660069006500720073>
-/Dest[101 0 R/XYZ 178.6 449.9 0]/Parent 397 0 R/Prev 410 0 R/Next 415 0 R>>
+/Dest[101 0 R/XYZ 156.5 461.8 0]/Parent 760 0 R/Prev 774 0 R/Next 778 0 R>>
endobj
-412 0 obj
+775 0 obj
<</Count 0/Title<FEFF0041006300740069006F006E007300200061006E00640020004D0065007300730061006700650073>
-/Dest[113 0 R/XYZ 178.6 409.8 0]/Parent 411 0 R/Next 413 0 R>>
+/Dest[113 0 R/XYZ 156.5 537.3 0]/Parent 774 0 R/Prev 775 0 R/Next 776 0 R>>
endobj
-413 0 obj
+776 0 obj
<</Count 0/Title<FEFF00480061006E0064006C0069006E006700200072006500730070006F006E007300650073>
-/Dest[116 0 R/XYZ 178.6 683.1 0]/Parent 411 0 R/Prev 412 0 R/Next 414 0 R>>
+/Dest[113 0 R/XYZ 156.5 186.5 0]/Parent 774 0 R/Prev 776 0 R/Next 777 0 R>>
endobj
-414 0 obj
+777 0 obj
<</Count 0/Title<FEFF004500720072006F0072002000680061006E0064006C0069006E00670020007700680065006E002000700072006F00630065007300730069006E006700200061006300740069006F006E0073>
-/Dest[116 0 R/XYZ 178.6 339.5 0]/Parent 411 0 R/Prev 413 0 R>>
+/Dest[116 0 R/XYZ 156.5 492.7 0]/Parent 774 0 R/Prev 777 0 R>>
endobj
-415 0 obj
-<</Count 6/First 416 0 R/Last 417 0 R
+778 0 obj
+<</Count 20/First 779 0 R/Last 780 0 R
/Title<FEFF00530065007200760069006300650049006E0076006F006B00650072>
-/Dest[125 0 R/XYZ 178.6 397.9 0]/Parent 397 0 R/Prev 411 0 R/Next 422 0 R>>
+/Dest[125 0 R/XYZ 156.5 588.1 0]/Parent 760 0 R/Prev 778 0 R/Next 785 0 R>>
endobj
-416 0 obj
+779 0 obj
<</Count 0/Title<FEFF0053006500720076006900630065007300200061006E0064002000530065007200760069006300650049006E0076006F006B00650072>
-/Dest[128 0 R/XYZ 178.6 443.9 0]/Parent 415 0 R/Next 417 0 R>>
+/Dest[128 0 R/XYZ 156.5 658.1 0]/Parent 778 0 R/Prev 779 0 R/Next 780 0 R>>
endobj
-417 0 obj
-<</Count 4/First 418 0 R/Last 421 0 R
+780 0 obj
+<</Count 8/First 781 0 R/Last 784 0 R
/Title<FEFF0049006E0056004D0020005400720061006E00730070006F00720074>
-/Dest[128 0 R/XYZ 178.6 255.8 0]/Parent 415 0 R/Prev 416 0 R>>
+/Dest[128 0 R/XYZ 156.5 480.3 0]/Parent 778 0 R/Prev 780 0 R>>
endobj
-418 0 obj
+781 0 obj
<</Count 0/Title<FEFF0049006E0056004D002000530063006F00700065>
-/Dest[131 0 R/XYZ 196.6 653.2 0]/Parent 417 0 R/Next 419 0 R>>
+/Dest[128 0 R/XYZ 174.5 242.7 0]/Parent 780 0 R/Prev 781 0 R/Next 782 0 R>>
endobj
-419 0 obj
+782 0 obj
<</Count 0/Title<FEFF004C006F0063006B002D0073007400650070002000440065006C00690076006500720079>
-/Dest[131 0 R/XYZ 196.6 321.4 0]/Parent 417 0 R/Prev 418 0 R/Next 420 0 R>>
+/Dest[131 0 R/XYZ 174.5 573.9 0]/Parent 780 0 R/Prev 782 0 R/Next 783 0 R>>
endobj
-420 0 obj
+783 0 obj
<</Count 0/Title<FEFF004C006F00610064002000420061006C0061006E00630069006E0067>
-/Dest[134 0 R/XYZ 196.6 694.5 0]/Parent 417 0 R/Prev 419 0 R/Next 421 0 R>>
+/Dest[131 0 R/XYZ 174.5 313.7 0]/Parent 780 0 R/Prev 783 0 R/Next 784 0 R>>
endobj
-421 0 obj
+784 0 obj
<</Count 0/Title<FEFF005400720061006E00730061006300740069006F006E002000530065006D0061006E0074006900630073>
-/Dest[134 0 R/XYZ 196.6 553.9 0]/Parent 417 0 R/Prev 420 0 R>>
+/Dest[131 0 R/XYZ 174.5 181 0]/Parent 780 0 R/Prev 784 0 R>>
endobj
-422 0 obj
+785 0 obj
<</Count 0/Title<FEFF0054006800650020004D006500730073006100670065002000530074006F00720065>
-/Dest[137 0 R/XYZ 178.6 536.9 0]/Parent 397 0 R/Prev 415 0 R/Next 423 0 R>>
+/Dest[134 0 R/XYZ 156.5 543.4 0]/Parent 760 0 R/Prev 785 0 R/Next 786 0 R>>
endobj
-423 0 obj
+786 0 obj
<</Count 0/Title<FEFF00440061007400610020005400720061006E00730066006F0072006D006100740069006F006E>
-/Dest[137 0 R/XYZ 178.6 364.8 0]/Parent 397 0 R/Prev 422 0 R/Next 424 0 R>>
+/Dest[134 0 R/XYZ 156.5 380.2 0]/Parent 760 0 R/Prev 786 0 R/Next 787 0 R>>
endobj
-424 0 obj
+787 0 obj
<</Count 0/Title<FEFF0043006F006E00740065006E0074002D0062006100730065006400200052006F007500740069006E0067>
-/Dest[137 0 R/XYZ 178.6 172.1 0]/Parent 397 0 R/Prev 423 0 R/Next 425 0 R>>
+/Dest[134 0 R/XYZ 156.5 197.2 0]/Parent 760 0 R/Prev 787 0 R/Next 788 0 R>>
endobj
-425 0 obj
+788 0 obj
<</Count 0/Title<FEFF005400680065002000520065006700690073007400720079>
-/Dest[140 0 R/XYZ 178.6 685.6 0]/Parent 397 0 R/Prev 424 0 R/Next 426 0 R>>
+/Dest[137 0 R/XYZ 156.5 720 0]/Parent 760 0 R/Prev 788 0 R/Next 789 0 R>>
endobj
-426 0 obj
+789 0 obj
<</Count 0/Title<FEFF0054006800650020004D0065007300730061006700650020007300740072007500630074007500720065>
-/Dest[143 0 R/XYZ 178.6 209.4 0]/Parent 397 0 R/Prev 425 0 R/Next 427 0 R>>
+/Dest[140 0 R/XYZ 156.5 229.6 0]/Parent 760 0 R/Prev 789 0 R/Next 790 0 R>>
endobj
-427 0 obj
-<</Count 1/First 428 0 R/Last 428 0 R
+790 0 obj
+<</Count 2/First 791 0 R/Last 791 0 R
/Title<FEFF00540068006500200053006500720076006900630065>
-/Dest[146 0 R/XYZ 178.6 179.1 0]/Parent 397 0 R/Prev 426 0 R/Next 429 0 R>>
+/Dest[143 0 R/XYZ 156.5 216.8 0]/Parent 760 0 R/Prev 790 0 R/Next 792 0 R>>
endobj
-428 0 obj
+791 0 obj
<</Count 0/Title<FEFF0055006E007000690063006B0069006E006700200074006800650020007000610079006C006F00610064>
-/Dest[149 0 R/XYZ 178.6 323.2 0]/Parent 427 0 R>>
+/Dest[146 0 R/XYZ 156.5 373.4 0]/Parent 790 0 R/Prev 791 0 R>>
endobj
-429 0 obj
+792 0 obj
<</Count 0/Title<FEFF00540068006500200043006C00690065006E0074>
-/Dest[152 0 R/XYZ 178.6 545.7 0]/Parent 397 0 R/Prev 427 0 R/Next 430 0 R>>
+/Dest[149 0 R/XYZ 156.5 588.8 0]/Parent 760 0 R/Prev 792 0 R/Next 793 0 R>>
endobj
-430 0 obj
+793 0 obj
<</Count 0/Title<FEFF00480069006E0074007300200061006E006400200054006900700073>
-/Dest[155 0 R/XYZ 178.6 721.1 0]/Parent 397 0 R/Prev 429 0 R/Next 431 0 R>>
+/Dest[149 0 R/XYZ 156.5 137.4 0]/Parent 760 0 R/Prev 793 0 R/Next 794 0 R>>
endobj
-431 0 obj
+794 0 obj
<</Count 0/Title<FEFF00530065007200760069006300650073002C00200045005000520073002C0020006C0069007300740065006E00650072007300200061006E006400200061006300740069006F006E0073>
-/Dest[158 0 R/XYZ 178.6 397.5 0]/Parent 397 0 R/Prev 430 0 R/Next 432 0 R>>
+/Dest[155 0 R/XYZ 156.5 412.3 0]/Parent 760 0 R/Prev 794 0 R/Next 795 0 R>>
endobj
-432 0 obj
+795 0 obj
<</Count 0/Title<FEFF005200650070006C006900630061007400650064002000530065007200760069006300650073>
-/Dest[161 0 R/XYZ 178.6 172.6 0]/Parent 397 0 R/Prev 431 0 R/Next 433 0 R>>
+/Dest[158 0 R/XYZ 156.5 184.7 0]/Parent 760 0 R/Prev 795 0 R/Next 796 0 R>>
endobj
-433 0 obj
+796 0 obj
<</Count 0/Title<FEFF00460069006700750072006500200037002D0032003A002000540077006F0020007300650072007600690063006500200069006E007300740061006E00630065002000650061006300680020006F006E0020006100200064006900660066006500720065006E00740020006E006F00640065002E>
-/Dest[166 0 R/XYZ 178.6 377.7 0]/Parent 397 0 R/Prev 432 0 R/Next 434 0 R>>
+/Dest[163 0 R/XYZ 156.5 403.5 0]/Parent 760 0 R/Prev 796 0 R/Next 797 0 R>>
endobj
-434 0 obj
+797 0 obj
<</Count 0/Title<FEFF00500072006F0074006F0063006F006C00200043006C007500730074006500720069006E0067>
-/Dest[171 0 R/XYZ 178.6 226.8 0]/Parent 397 0 R/Prev 433 0 R/Next 435 0 R>>
+/Dest[168 0 R/XYZ 156.5 232 0]/Parent 760 0 R/Prev 797 0 R/Next 798 0 R>>
endobj
-435 0 obj
+798 0 obj
<</Count 0/Title<FEFF0043006C007500730074006500720069006E0067>
-/Dest[184 0 R/XYZ 178.6 721.1 0]/Parent 397 0 R/Prev 434 0 R/Next 436 0 R>>
+/Dest[181 0 R/XYZ 156.5 720 0]/Parent 760 0 R/Prev 798 0 R/Next 799 0 R>>
endobj
-436 0 obj
+799 0 obj
<</Count 0/Title<FEFF004300680061006E006E0065006C0020004600610069006C002D006F00760065007200200061006E00640020004C006F00610064002000420061006C0061006E00630069006E0067>
-/Dest[184 0 R/XYZ 178.6 553.1 0]/Parent 397 0 R/Prev 435 0 R/Next 437 0 R>>
+/Dest[181 0 R/XYZ 156.5 559.5 0]/Parent 760 0 R/Prev 799 0 R/Next 800 0 R>>
endobj
-437 0 obj
+800 0 obj
<</Count 0/Title<FEFF00530069006D0070006C00650020005300630068006500640075006C0065>
-/Dest[200 0 R/XYZ 178.6 590.5 0]/Parent 397 0 R/Prev 436 0 R/Next 438 0 R>>
+/Dest[197 0 R/XYZ 156.5 627.9 0]/Parent 760 0 R/Prev 800 0 R/Next 801 0 R>>
endobj
-438 0 obj
+801 0 obj
<</Count 0/Title<FEFF00430072006F006E0020005300630068006500640075006C0065>
-/Dest[200 0 R/XYZ 178.6 303.5 0]/Parent 397 0 R/Prev 437 0 R/Next 439 0 R>>
+/Dest[197 0 R/XYZ 156.5 357.9 0]/Parent 760 0 R/Prev 801 0 R/Next 802 0 R>>
endobj
-439 0 obj
+802 0 obj
<</Count 0/Title<FEFF005300630068006500640075006C006500640020004C0069007300740065006E00650072>
-/Dest[203 0 R/XYZ 178.6 676.7 0]/Parent 397 0 R/Prev 438 0 R/Next 440 0 R>>
+/Dest[200 0 R/XYZ 156.5 720 0]/Parent 760 0 R/Prev 802 0 R/Next 803 0 R>>
endobj
-440 0 obj
+803 0 obj
<</Count 0/Title<FEFF004500780061006D0070006C006500200043006F006E00660069006700750072006100740069006F006E0073>
-/Dest[203 0 R/XYZ 178.6 306.6 0]/Parent 397 0 R/Prev 439 0 R/Next 441 0 R>>
+/Dest[200 0 R/XYZ 156.5 372.2 0]/Parent 760 0 R/Prev 803 0 R/Next 804 0 R>>
endobj
-441 0 obj
+804 0 obj
<</Count 0/Title<FEFF00510075006100720074007A0020005300630068006500640075006C00650072002000500072006F0070006500720074007900200043006F006E00660069006700750072006100740069006F006E>
-/Dest[206 0 R/XYZ 178.6 688.1 0]/Parent 397 0 R/Prev 440 0 R/Next 442 0 R>>
+/Dest[200 0 R/XYZ 156.5 119.4 0]/Parent 760 0 R/Prev 804 0 R/Next 805 0 R>>
endobj
-442 0 obj
+805 0 obj
<</Count 0/Title<FEFF004A0042006F0073007300450053004200200061006E006400200074006800650020004600610075006C00740020004D006F00640065006C0073>
-/Dest[212 0 R/XYZ 178.6 141.7 0]/Parent 397 0 R/Prev 441 0 R/Next 443 0 R>>
+/Dest[209 0 R/XYZ 156.5 184.9 0]/Parent 760 0 R/Prev 805 0 R/Next 806 0 R>>
endobj
-443 0 obj
+806 0 obj
<</Count 0/Title<FEFF004600610069006C0075007200650020004400650074006500630074006F0072007300200061006E00640020004600610069006C00750072006500200053007500730070006500630074006F00720073>
-/Dest[218 0 R/XYZ 178.6 685.6 0]/Parent 397 0 R/Prev 442 0 R/Next 444 0 R>>
+/Dest[212 0 R/XYZ 156.5 130 0]/Parent 760 0 R/Prev 806 0 R/Next 807 0 R>>
endobj
-444 0 obj
+807 0 obj
<</Count 0/Title<FEFF004D0065007300730061006700650020006C006F00730073>
-/Dest[221 0 R/XYZ 178.6 353.6 0]/Parent 397 0 R/Prev 443 0 R/Next 445 0 R>>
+/Dest[218 0 R/XYZ 156.5 462.8 0]/Parent 760 0 R/Prev 807 0 R/Next 808 0 R>>
endobj
-445 0 obj
+808 0 obj
<</Count 0/Title<FEFF00530075007300700065006300740069006E006700200045006E00640070006F0069006E00740020004600610069006C0075007200650073>
-/Dest[224 0 R/XYZ 178.6 315.7 0]/Parent 397 0 R/Prev 444 0 R/Next 446 0 R>>
+/Dest[221 0 R/XYZ 156.5 478.5 0]/Parent 760 0 R/Prev 808 0 R/Next 809 0 R>>
endobj
-446 0 obj
+809 0 obj
<</Count 0/Title<FEFF0053007500700070006F00720074006500640020004300720061007300680020004600610069006C0075007200650020004D006F006400650073>
-/Dest[224 0 R/XYZ 178.6 218.1 0]/Parent 397 0 R/Prev 445 0 R/Next 447 0 R>>
+/Dest[221 0 R/XYZ 156.5 386 0]/Parent 760 0 R/Prev 809 0 R/Next 810 0 R>>
endobj
-447 0 obj
-<</Count 4/First 448 0 R/Last 451 0 R
+810 0 obj
+<</Count 8/First 811 0 R/Last 814 0 R
/Title<FEFF0043006F006D0070006F006E0065006E00740020005300700065006300690066006900630073>
-/Dest[224 0 R/XYZ 178.6 120.4 0]/Parent 397 0 R/Prev 446 0 R/Next 452 0 R>>
+/Dest[221 0 R/XYZ 156.5 293.6 0]/Parent 760 0 R/Prev 810 0 R/Next 815 0 R>>
endobj
-448 0 obj
+811 0 obj
<</Count 0/Title<FEFF00470061007400650077006100790073>
-/Dest[227 0 R/XYZ 178.6 721.1 0]/Parent 447 0 R/Next 449 0 R>>
+/Dest[221 0 R/XYZ 156.5 251.9 0]/Parent 810 0 R/Prev 811 0 R/Next 812 0 R>>
endobj
-449 0 obj
+812 0 obj
<</Count 0/Title<FEFF00530065007200760069006300650049006E0076006F006B00650072>
-/Dest[227 0 R/XYZ 178.6 635.3 0]/Parent 447 0 R/Prev 448 0 R/Next 450 0 R>>
+/Dest[221 0 R/XYZ 156.5 170.9 0]/Parent 810 0 R/Prev 812 0 R/Next 813 0 R>>
endobj
-450 0 obj
+813 0 obj
<</Count 0/Title<FEFF004A004D0053002000420072006F006B00650072>
-/Dest[227 0 R/XYZ 178.6 536.1 0]/Parent 447 0 R/Prev 449 0 R/Next 451 0 R>>
+/Dest[224 0 R/XYZ 156.5 720 0]/Parent 810 0 R/Prev 813 0 R/Next 814 0 R>>
endobj
-451 0 obj
+814 0 obj
<</Count 0/Title<FEFF0041006300740069006F006E00200050006900700065006C0069006E0069006E0067>
-/Dest[227 0 R/XYZ 178.6 477.3 0]/Parent 447 0 R/Prev 450 0 R>>
+/Dest[224 0 R/XYZ 156.5 664.5 0]/Parent 810 0 R/Prev 814 0 R>>
endobj
-452 0 obj
+815 0 obj
<</Count 0/Title<FEFF00500072006F007600690064006500720073>
-/Dest[236 0 R/XYZ 178.6 716.1 0]/Parent 397 0 R/Prev 447 0 R/Next 453 0 R>>
+/Dest[233 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 815 0 R/Next 816 0 R>>
endobj
-453 0 obj
+816 0 obj
<</Count 0/Title<FEFF00530065007200760069006300650073>
-/Dest[239 0 R/XYZ 178.6 716.1 0]/Parent 397 0 R/Prev 452 0 R/Next 454 0 R>>
+/Dest[236 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 816 0 R/Next 817 0 R>>
endobj
-454 0 obj
+817 0 obj
<</Count 0/Title<FEFF005400720061006E00730070006F007200740020005300700065006300690066006900630020005400790070006500200049006D0070006C0065006D0065006E0074006100740069006F006E0073>
-/Dest[250 0 R/XYZ 178.6 664 0]/Parent 397 0 R/Prev 453 0 R/Next 455 0 R>>
+/Dest[247 0 R/XYZ 156.5 692 0]/Parent 760 0 R/Prev 817 0 R/Next 818 0 R>>
endobj
-455 0 obj
+818 0 obj
<</Count 0/Title<FEFF004A004D00530020004D006500730073006100670065002000660069006C00740065007200200063006F006E00660069006700750072006100740069006F006E>
-/Dest[253 0 R/XYZ 178.6 243.1 0]/Parent 397 0 R/Prev 454 0 R/Next 456 0 R>>
+/Dest[250 0 R/XYZ 156.5 339.9 0]/Parent 760 0 R/Prev 818 0 R/Next 819 0 R>>
endobj
-456 0 obj
+819 0 obj
<</Count 0/Title<FEFF004600540050002000200063006F006E00660069006700750072006100740069006F006E0020>
-/Dest[256 0 R/XYZ 178.6 392.8 0]/Parent 397 0 R/Prev 455 0 R/Next 457 0 R>>
+/Dest[253 0 R/XYZ 156.5 530.6 0]/Parent 760 0 R/Prev 819 0 R/Next 820 0 R>>
endobj
-457 0 obj
+820 0 obj
<</Count 0/Title<FEFF0046005400500020004C0069007300740065006E0065007200200063006F006E00660069006700750072006100740069006F006E0020>
-/Dest[259 0 R/XYZ 178.6 305.7 0]/Parent 397 0 R/Prev 456 0 R/Next 458 0 R>>
+/Dest[256 0 R/XYZ 156.5 480.2 0]/Parent 760 0 R/Prev 820 0 R/Next 821 0 R>>
endobj
-458 0 obj
+821 0 obj
<</Count 0/Title<FEFF0052006500610064002D006F006E006C007900200046005400500020004C0069007300740065006E00650072>
-/Dest[259 0 R/XYZ 178.6 248.4 0]/Parent 397 0 R/Prev 457 0 R/Next 459 0 R>>
+/Dest[256 0 R/XYZ 156.5 425.9 0]/Parent 760 0 R/Prev 821 0 R/Next 822 0 R>>
endobj
-459 0 obj
+822 0 obj
<</Count 0/Title<FEFF0052006500610064002D006F006E006C007900200046005400500020004C0069007300740065006E0065007200200043006F006E00660069006700750072006100740069006F006E0020>
-/Dest[262 0 R/XYZ 178.6 658.7 0]/Parent 397 0 R/Prev 458 0 R/Next 460 0 R>>
+/Dest[256 0 R/XYZ 156.5 204.8 0]/Parent 760 0 R/Prev 822 0 R/Next 823 0 R>>
endobj
-460 0 obj
-<</Count 1/First 461 0 R/Last 461 0 R
+823 0 obj
+<</Count 2/First 824 0 R/Last 824 0 R
/Title<FEFF005400720061006E0073006900740069006F006E0069006E0067002000460072006F006D00200054006800650020004F006C006400200043006F006E00660069006700750072006100740069006F006E0020004D006F00640065006C>
-/Dest[268 0 R/XYZ 178.6 716.1 0]/Parent 397 0 R/Prev 459 0 R>>
+/Dest[262 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 823 0 R/Next 825 0 R>>
endobj
-461 0 obj
+824 0 obj
<</Count 0/Title<FEFF0043006F006E00660069006700750072006100740069006F006E>
-/Dest[268 0 R/XYZ 178.6 170.7 0]/Parent 460 0 R>>
+/Dest[262 0 R/XYZ 156.5 256.3 0]/Parent 823 0 R/Prev 824 0 R>>
endobj
-316 0 obj
+825 0 obj
+<</Count 0/Title<FEFF0042007900740065004100720072006100790054006F0053007400720069006E0067>
+/Dest[271 0 R/XYZ 156.5 495.2 0]/Parent 760 0 R/Prev 825 0 R/Next 826 0 R>>
+endobj
+
+826 0 obj
+<</Count 0/Title<FEFF004C006F006E00670054006F00440061007400650043006F006E007600650072007400650072>
+/Dest[271 0 R/XYZ 156.5 324.2 0]/Parent 760 0 R/Prev 826 0 R/Next 827 0 R>>
+endobj
+
+827 0 obj
+<</Count 0/Title<FEFF004F0062006A0065006300740049006E0076006F006B0065>
+/Dest[271 0 R/XYZ 156.5 143 0]/Parent 760 0 R/Prev 827 0 R/Next 828 0 R>>
+endobj
+
+828 0 obj
+<</Count 0/Title<FEFF004F0062006A0065006300740054006F0043005300560053007400720069006E0067>
+/Dest[274 0 R/XYZ 156.5 523.7 0]/Parent 760 0 R/Prev 828 0 R/Next 829 0 R>>
+endobj
+
+829 0 obj
+<</Count 0/Title<FEFF004F0062006A0065006300740054006F005800530074007200650061006D>
+/Dest[277 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 829 0 R/Next 830 0 R>>
+endobj
+
+830 0 obj
+<</Count 0/Title<FEFF005800530074007200650061006D0054006F004F0062006A006500630074>
+/Dest[280 0 R/XYZ 156.5 720 0]/Parent 760 0 R/Prev 830 0 R/Next 831 0 R>>
+endobj
+
+831 0 obj
+<</Count 0/Title<FEFF0053006D006F006F006B0073005400720061006E00730066006F0072006D00650072>
+/Dest[280 0 R/XYZ 156.5 177.9 0]/Parent 760 0 R/Prev 831 0 R/Next 832 0 R>>
+endobj
+
+832 0 obj
+<</Count 10/First 833 0 R/Last 837 0 R
+/Title<FEFF0053006D006F006F006B00730041006300740069006F006E>
+/Dest[286 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 832 0 R/Next 838 0 R>>
+endobj
+
+833 0 obj
+<</Count 0/Title<FEFF0053006D006F006F006B00730041006300740069006F006E00200043006F006E00660069006700750072006100740069006F006E>
+/Dest[286 0 R/XYZ 156.5 519.2 0]/Parent 832 0 R/Prev 833 0 R/Next 834 0 R>>
+endobj
+
+834 0 obj
+<</Count 0/Title<FEFF004D00650073007300610067006500200049006E0070007500740020005000610079006C006F00610064>
+/Dest[286 0 R/XYZ 156.5 134.3 0]/Parent 832 0 R/Prev 834 0 R/Next 835 0 R>>
+endobj
+
+835 0 obj
+<</Count 0/Title<FEFF0058004D004C002C0020004500440049002C0020004300530056002000650074006300200049006E0070007500740020005000610079006C006F006100640073>
+/Dest[289 0 R/XYZ 156.5 640.6 0]/Parent 832 0 R/Prev 835 0 R/Next 836 0 R>>
+endobj
+
+836 0 obj
+<</Count 0/Title<FEFF004A00610076006100200049006E0070007500740020005000610079006C006F00610064>
+/Dest[289 0 R/XYZ 156.5 447.6 0]/Parent 832 0 R/Prev 836 0 R/Next 837 0 R>>
+endobj
+
+837 0 obj
+<</Count 0/Title<FEFF00530070006500630069006600790069006E0067002000740068006500200052006500730075006C007400200054007900700065>
+/Dest[289 0 R/XYZ 156.5 379.4 0]/Parent 832 0 R/Prev 837 0 R>>
+endobj
+
+838 0 obj
+<</Count 0/Title<FEFF00500065007200730069007300740041006300740069006F006E>
+/Dest[289 0 R/XYZ 156.5 136.4 0]/Parent 760 0 R/Prev 838 0 R/Next 839 0 R>>
+endobj
+
+839 0 obj
+<</Count 0/Title<FEFF0042007500730069006E006500730073002000500072006F00630065007300730020004D0061006E006100670065006D0065006E0074>
+/Dest[295 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 839 0 R/Next 840 0 R>>
+endobj
+
+840 0 obj
+<</Count 0/Title<FEFF006A00420050004D0020002D002000420070006D00500072006F0063006500730073006F0072>
+/Dest[295 0 R/XYZ 156.5 673.3 0]/Parent 760 0 R/Prev 840 0 R/Next 841 0 R>>
+endobj
+
+841 0 obj
+<</Count 0/Title<FEFF00470072006F006F007600790041006300740069006F006E00500072006F0063006500730073006F0072>
+/Dest[301 0 R/XYZ 156.5 667 0]/Parent 760 0 R/Prev 841 0 R/Next 842 0 R>>
+endobj
+
+842 0 obj
+<</Count 0/Title<FEFF0045004A004200500072006F0063006500730073006F0072>
+/Dest[304 0 R/XYZ 156.5 679.7 0]/Parent 760 0 R/Prev 842 0 R/Next 843 0 R>>
+endobj
+
+843 0 obj
+<</Count 0/Title<FEFF00410067006700720065006700610074006F0072>
+/Dest[307 0 R/XYZ 156.5 667 0]/Parent 760 0 R/Prev 843 0 R/Next 844 0 R>>
+endobj
+
+844 0 obj
+<</Count 0/Title<FEFF0043006F006E00740065006E0074004200610073006500640052006F0075007400650072>
+/Dest[310 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 844 0 R/Next 845 0 R>>
+endobj
+
+845 0 obj
+<</Count 0/Title<FEFF0053007400610074006900630052006F0075007400650072>
+/Dest[313 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 845 0 R/Next 846 0 R>>
+endobj
+
+846 0 obj
+<</Count 0/Title<FEFF0053007400610074006900630057006900720065007400610070>
+/Dest[316 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 846 0 R/Next 847 0 R>>
+endobj
+
+847 0 obj
+<</Count 0/Title<FEFF004E006F007400690066006900650072>
+/Dest[316 0 R/XYZ 156.5 385.4 0]/Parent 760 0 R/Prev 847 0 R/Next 848 0 R>>
+endobj
+
+848 0 obj
+<</Count 16/First 849 0 R/Last 855 0 R
+/Title<FEFF0053004F0041005000500072006F0063006500730073006F0072>
+/Dest[328 0 R/XYZ 156.5 371.9 0]/Parent 760 0 R/Prev 848 0 R/Next 856 0 R>>
+endobj
+
+849 0 obj
+<</Count 0/Title<FEFF0044006500700065006E00640065006E0063006900650073>
+/Dest[328 0 R/XYZ 156.5 234.1 0]/Parent 848 0 R/Prev 849 0 R/Next 850 0 R>>
+endobj
+
+850 0 obj
+<</Count 0/Title<FEFF00220045005300420020004D00650073007300610067006500200041007700610072006500220020005700650062007300650072007600690063006500200045006E00640070006F0069006E00740073>
+/Dest[328 0 R/XYZ 156.5 164.9 0]/Parent 848 0 R/Prev 850 0 R/Next 851 0 R>>
+endobj
+
+851 0 obj
+<</Count 0/Title<FEFF005700650062007300650072007600690063006500200045006E00640070006F0069006E00740020004400650070006C006F0079006D0065006E0074>
+/Dest[331 0 R/XYZ 156.5 720 0]/Parent 848 0 R/Prev 851 0 R/Next 852 0 R>>
+endobj
+
+852 0 obj
+<</Count 2/First 853 0 R/Last 853 0 R
+/Title<FEFF0045006E00640070006F0069006E00740020005000750062006C0069007300680069006E0067>
+/Dest[331 0 R/XYZ 156.5 613.7 0]/Parent 848 0 R/Prev 852 0 R/Next 854 0 R>>
+endobj
+
+853 0 obj
+<</Count 0/Title<FEFF004A00410058004200200041006E006E006F0074006100740069006F006E00200049006E00740072006F00640075006300740069006F006E0073>
+/Dest[334 0 R/XYZ 174.5 717.8 0]/Parent 852 0 R/Prev 853 0 R>>
+endobj
+
+854 0 obj
+<</Count 0/Title<FEFF0041006300740069006F006E00200043006F006E00660069006700750072006100740069006F006E>
+/Dest[334 0 R/XYZ 156.5 550.8 0]/Parent 848 0 R/Prev 854 0 R/Next 855 0 R>>
+endobj
+
+855 0 obj
+<</Count 0/Title<FEFF0051007500690063006B007300740061007200740073>
+/Dest[334 0 R/XYZ 156.5 345.4 0]/Parent 848 0 R/Prev 855 0 R>>
+endobj
+
+856 0 obj
+<</Count 6/First 857 0 R/Last 859 0 R
+/Title<FEFF0053004F004100500043006C00690065006E0074>
+/Dest[337 0 R/XYZ 156.5 714.9 0]/Parent 760 0 R/Prev 856 0 R/Next 860 0 R>>
+endobj
+
+857 0 obj
+<</Count 0/Title<FEFF0045006E00640070006F0069006E00740020004F007000650072006100740069006F006E002000530070006500630069006600690063006100740069006F006E>
+/Dest[337 0 R/XYZ 156.5 640.7 0]/Parent 856 0 R/Prev 857 0 R/Next 858 0 R>>
+endobj
+
+858 0 obj
+<</Count 0/Title<FEFF0053004F00410050002000520065007100750065007300740020004D00650073007300610067006500200043006F006E0073007400720075006300740069006F006E>
+/Dest[337 0 R/XYZ 156.5 508.5 0]/Parent 856 0 R/Prev 858 0 R/Next 859 0 R>>
+endobj
+
+859 0 obj
+<</Count 0/Title<FEFF0053004F0041005000200052006500730070006F006E007300650020004D00650073007300610067006500200043006F006E00730075006D007000740069006F006E>
+/Dest[343 0 R/XYZ 156.5 460.5 0]/Parent 856 0 R/Prev 859 0 R>>
+endobj
+
+860 0 obj
+<</Count 0/Title<FEFF00530079007300740065006D005000720069006E0074006C006E>
+/Dest[349 0 R/XYZ 156.5 679.7 0]/Parent 760 0 R/Prev 860 0 R/Next 861 0 R>>
+endobj
+
+861 0 obj
+<</Count 2/First 862 0 R/Last 862 0 R
+/Title<FEFF0047006100740065007700610079002000440061007400610020004D0061007000700069006E00670073>
+/Dest[364 0 R/XYZ 156.5 401.9 0]/Parent 760 0 R/Prev 861 0 R/Next 863 0 R>>
+endobj
+
+862 0 obj
+<</Count 0/Title<FEFF0048006F007700200074006F0020006300680061006E00670065002000740068006500200047006100740065007700610079002000440061007400610020004D0061007000700069006E00670073>
+/Dest[367 0 R/XYZ 156.5 720 0]/Parent 861 0 R/Prev 862 0 R>>
+endobj
+
+863 0 obj
+<</Count 0/Title<FEFF0043006F006E00660069006700750072006100740069006F006E>
+/Dest[370 0 R/XYZ 156.5 390.8 0]/Parent 760 0 R/Prev 863 0 R/Next 864 0 R>>
+endobj
+
+864 0 obj
+<</Count 0/Title<FEFF00570068007900200053004F0041003F>
+/Dest[388 0 R/XYZ 156.5 720 0]/Parent 760 0 R/Prev 864 0 R/Next 865 0 R>>
+endobj
+
+865 0 obj
+<</Count 0/Title<FEFF0042006100730069006300730020006F006600200053004F0041>
+/Dest[391 0 R/XYZ 156.5 352.5 0]/Parent 760 0 R/Prev 865 0 R/Next 866 0 R>>
+endobj
+
+866 0 obj
+<</Count 10/First 867 0 R/Last 871 0 R
+/Title<FEFF0041006400760061006E007400610067006500730020006F006600200053004F0041>
+/Dest[394 0 R/XYZ 156.5 720 0]/Parent 760 0 R/Prev 866 0 R>>
+endobj
+
+867 0 obj
+<</Count 0/Title<FEFF0049006E007400650072006F007000650072006100620069006C006900740079>
+/Dest[394 0 R/XYZ 156.5 650.7 0]/Parent 866 0 R/Prev 867 0 R/Next 868 0 R>>
+endobj
+
+868 0 obj
+<</Count 0/Title<FEFF0045006600660069006300690065006E006300790020>
+/Dest[394 0 R/XYZ 156.5 343.9 0]/Parent 866 0 R/Prev 868 0 R/Next 869 0 R>>
+endobj
+
+869 0 obj
+<</Count 0/Title<FEFF005300740061006E00640061007200640069007A006100740069006F006E>
+/Dest[394 0 R/XYZ 156.5 185.7 0]/Parent 866 0 R/Prev 869 0 R/Next 870 0 R>>
+endobj
+
+870 0 obj
+<</Count 0/Title<FEFF0053007400610074006500660075006C006C00200061006E0064002000530074006100740065006C006500730073002000730065007200760069006300650073>
+/Dest[397 0 R/XYZ 156.5 685.9 0]/Parent 866 0 R/Prev 870 0 R/Next 871 0 R>>
+endobj
+
+871 0 obj
+<</Count 0/Title<FEFF004A0042006F0073007300450053004200200061006E00640020006900740073002000720065006C006100740069006F006E00730068006900700020007700690074006800200053004F0041>
+/Dest[400 0 R/XYZ 156.5 346.8 0]/Parent 866 0 R/Prev 871 0 R>>
+endobj
+
+679 0 obj
<</Type/Pages
-/Resources 396 0 R
+/Resources 759 0 R
/MediaBox[ 0 0 595 842 ]
-/Kids[ 1 0 R 4 0 R 8 0 R 11 0 R 14 0 R 17 0 R 20 0 R 23 0 R 26 0 R 29 0 R 33 0 R 37 0 R 40 0 R 43 0 R 46 0 R 49 0 R
-52 0 R 55 0 R 58 0 R 62 0 R 66 0 R 69 0 R 72 0 R 75 0 R 78 0 R 81 0 R 85 0 R 88 0 R 92 0 R 95 0 R 98 0 R 101 0 R
+/Kids[ 1 0 R 5 0 R 8 0 R 11 0 R 14 0 R 17 0 R 20 0 R 23 0 R 26 0 R 29 0 R 32 0 R 36 0 R 40 0 R 43 0 R 46 0 R 49 0 R
+52 0 R 55 0 R 58 0 R 61 0 R 65 0 R 69 0 R 72 0 R 75 0 R 78 0 R 81 0 R 84 0 R 88 0 R 91 0 R 95 0 R 98 0 R 101 0 R
104 0 R 107 0 R 110 0 R 113 0 R 116 0 R 119 0 R 122 0 R 125 0 R 128 0 R 131 0 R 134 0 R 137 0 R 140 0 R 143 0 R 146 0 R 149 0 R
-152 0 R 155 0 R 158 0 R 161 0 R 166 0 R 171 0 R 175 0 R 180 0 R 184 0 R 187 0 R 192 0 R 195 0 R 200 0 R 203 0 R 206 0 R 209 0 R
-212 0 R 215 0 R 218 0 R 221 0 R 224 0 R 227 0 R 230 0 R 233 0 R 236 0 R 239 0 R 242 0 R 247 0 R 250 0 R 253 0 R 256 0 R 259 0 R
-262 0 R 265 0 R 268 0 R 271 0 R 274 0 R ]
-/Count 85>>
+152 0 R 155 0 R 158 0 R 163 0 R 168 0 R 172 0 R 177 0 R 181 0 R 184 0 R 189 0 R 192 0 R 197 0 R 200 0 R 203 0 R 206 0 R 209 0 R
+212 0 R 215 0 R 218 0 R 221 0 R 224 0 R 227 0 R 230 0 R 233 0 R 236 0 R 239 0 R 244 0 R 247 0 R 250 0 R 253 0 R 256 0 R 259 0 R
+262 0 R 265 0 R 268 0 R 271 0 R 274 0 R 277 0 R 280 0 R 283 0 R 286 0 R 289 0 R 292 0 R 295 0 R 298 0 R 301 0 R 304 0 R 307 0 R
+310 0 R 313 0 R 316 0 R 319 0 R 322 0 R 325 0 R 328 0 R 331 0 R 334 0 R 337 0 R 340 0 R 343 0 R 346 0 R 349 0 R 352 0 R 355 0 R
+358 0 R 361 0 R 364 0 R 367 0 R 370 0 R 373 0 R 376 0 R 379 0 R 382 0 R 385 0 R 388 0 R 391 0 R 394 0 R 397 0 R 400 0 R 403 0 R
+406 0 R 409 0 R 412 0 R 415 0 R 418 0 R ]
+/Count 133>>
endobj
-277 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[170.5 363.2 356.8 371.4]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/)>>
+421 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[148.4 378.7 334.7 386.5]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/)>>
>>
endobj
-278 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[432.1 586.5 518.7 599]/Dest[200 0 R/XYZ 178.6 590.5 0]>>
+422 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[139.9 459.5 211.3 472.2]/A<</Type/Action/S/URI/URI(https://jaxb.dev.java.net/nonav/2.1.3/docs/api/javax/xml/bind/annotation/XmlAttribute.html)>>
+>>
endobj
-279 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[218.3 257 305.6 270.5]/Dest[200 0 R/XYZ 178.6 590.5 0]>>
+423 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[139.9 459.5 211.3 472.2]/A<</Type/Action/S/URI/URI(https://jaxb.dev.java.net/nonav/2.1.3/docs/api/javax/xml/bind/annotation/XmlAttribute.html)>>
+>>
endobj
-280 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[158.7 304.2 248.3 317.7]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd)>>
+424 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[139.9 459.5 211.3 472.2]/A<</Type/Action/S/URI/URI(https://jaxb.dev.java.net/nonav/2.1.3/docs/api/javax/xml/bind/annotation/XmlAttribute.html)>>
>>
endobj
-281 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[359.6 592.1 449.2 605.6]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd)>>
+425 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[139.9 479.4 208.2 492.1]/A<</Type/Action/S/URI/URI(https://jaxb.dev.java.net/nonav/2.1.3/docs/api/javax/xml/bind/annotation/XmlElement.html)>>
>>
endobj
-282 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[408.6 652.9 487.2 666.4]/A<</Type/Action/S/URI/URI(http://www.opensymphony.com/quartz/)>>
+426 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[139.9 479.4 208.2 492.1]/A<</Type/Action/S/URI/URI(https://jaxb.dev.java.net/nonav/2.1.3/docs/api/javax/xml/bind/annotation/XmlElement.html)>>
>>
endobj
-283 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[373.4 127.6 416.8 141.1]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+427 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[139.9 479.4 208.2 492.1]/A<</Type/Action/S/URI/URI(https://jaxb.dev.java.net/nonav/2.1.3/docs/api/javax/xml/bind/annotation/XmlElement.html)>>
>>
endobj
-284 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[373.4 162.8 416.8 176.3]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+428 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[139.9 499.3 193.2 512]/A<</Type/Action/S/URI/URI(https://jaxb.dev.java.net/nonav/2.1.3/docs/api/javax/xml/bind/annotation/XmlType.html)>>
>>
endobj
-285 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[373.4 379.5 416.8 393]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+429 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[139.9 499.3 193.2 512]/A<</Type/Action/S/URI/URI(https://jaxb.dev.java.net/nonav/2.1.3/docs/api/javax/xml/bind/annotation/XmlType.html)>>
>>
endobj
-286 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[373.4 414.6 416.8 428.1]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+430 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[139.9 499.3 193.2 512]/A<</Type/Action/S/URI/URI(https://jaxb.dev.java.net/nonav/2.1.3/docs/api/javax/xml/bind/annotation/XmlType.html)>>
>>
endobj
-287 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[340.4 234 415.7 247.5]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessaging)>>
+431 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[108.8 539.1 270.6 551.8]/A<</Type/Action/S/URI/URI(http://www.jboss.org/xsd/jaxb/intros)>>
>>
endobj
-288 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[335.6 178.1 383 191.6]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESB)>>
+432 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[108.8 539.1 270.6 551.8]/A<</Type/Action/S/URI/URI(http://www.jboss.org/xsd/jaxb/intros)>>
>>
endobj
-289 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[296.6 191.6 371.9 205.1]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessaging)>>
+433 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[108.8 539.1 270.6 551.8]/A<</Type/Action/S/URI/URI(http://www.jboss.org/xsd/jaxb/intros)>>
>>
endobj
-290 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[124.1 322.9 221.9 336.4]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBHelloworld)>>
+434 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[253.3 551.8 325.3 564.5]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/extras/jaxbintros/src/main/resources/jaxb-intros.xsd)>>
>>
endobj
-291 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[434.5 349.8 532.3 363.3]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBHelloworld)>>
+435 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[253.3 551.8 325.3 564.5]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/extras/jaxbintros/src/main/resources/jaxb-intros.xsd)>>
>>
endobj
-292 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[376.7 241.7 443.7 255.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+436 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[253.3 551.8 325.3 564.5]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/extras/jaxbintros/src/main/resources/jaxb-intros.xsd)>>
>>
endobj
-293 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[263.9 84.9 322.4 99.4]/Dest[85 0 R/XYZ 196.6 721.1 0]>>
+437 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[131.1 197.7 171.9 210.4]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
endobj
-294 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[263.9 360.5 322.4 375]/Dest[85 0 R/XYZ 196.6 721.1 0]>>
+438 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[131.1 197.7 171.9 210.4]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
endobj
-295 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[266.6 155.8 325.1 170.3]/Dest[85 0 R/XYZ 196.6 721.1 0]>>
+439 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[131.1 197.7 171.9 210.4]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
endobj
-296 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[212.5 454.1 398.8 462.3]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/)>>
+440 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[405.6 295.5 446.4 308.2]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
>>
endobj
-297 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[210.5 667.3 284.3 680.8]/Dest[128 0 R/XYZ 178.6 255.8 0]>>
+441 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[405.6 295.5 446.4 308.2]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
endobj
-298 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[70.2 263.2 155.3 277.7]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+442 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[405.6 295.5 446.4 308.2]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
endobj
-299 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[124.1 592.1 227.6 605.6]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+443 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[48.1 72 113.5 85.8]/Dest[343 0 R/XYZ 112.7 85.8 0]>>
endobj
-300 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[124.1 639.4 206.7 652.9]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+444 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[420.8 85.8 522.7 99.6]/Dest[343 0 R/XYZ 112.7 85.8 0]>>
endobj
-301 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[124.2 185.7 206.8 199.2]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+445 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[48.1 72 113.5 85.8]/Dest[343 0 R/XYZ 112.7 85.8 0]>>
endobj
-302 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[227.4 520.5 310 534]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+446 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[420.8 85.8 522.7 99.6]/Dest[343 0 R/XYZ 112.7 85.8 0]>>
endobj
-303 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[124.1 600 158 613.5]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+447 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[48.1 72 113.5 85.8]/Dest[343 0 R/XYZ 112.7 85.8 0]>>
endobj
-304 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[490.3 613.5 541.8 627]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+448 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[420.8 85.8 522.7 99.6]/Dest[343 0 R/XYZ 112.7 85.8 0]>>
endobj
-305 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[142.4 167.5 225 181]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+449 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[177.5 290 209.5 302.7]/A<</Type/Action/S/URI/URI(http://www.ognl.org/)>>
+>>
endobj
-306 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[258.8 551 341.4 564.5]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+450 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[177.5 290 209.5 302.7]/A<</Type/Action/S/URI/URI(http://www.ognl.org/)>>
+>>
endobj
-307 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[169.2 604.4 272.7 617.9]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+451 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[177.5 290 209.5 302.7]/A<</Type/Action/S/URI/URI(http://www.ognl.org/)>>
+>>
endobj
-308 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[169.2 643.3 272.7 656.8]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+452 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[180.4 355.2 212.4 367.9]/A<</Type/Action/S/URI/URI(http://www.ognl.org/)>>
+>>
endobj
-309 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[169.2 668.7 272.7 682.2]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+453 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[180.4 355.2 212.4 367.9]/A<</Type/Action/S/URI/URI(http://www.ognl.org/)>>
+>>
endobj
-310 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[169.2 707.6 272.7 721.1]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+454 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[180.4 355.2 212.4 367.9]/A<</Type/Action/S/URI/URI(http://www.ognl.org/)>>
+>>
endobj
-311 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[169.2 120.1 272.7 133.6]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+455 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[142.5 662 175.9 674.7]/A<</Type/Action/S/URI/URI(http://www.soapui.org/)>>
+>>
endobj
-312 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[453.2 156.6 541.3 170.1]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+456 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[142.5 662 175.9 674.7]/A<</Type/Action/S/URI/URI(http://www.soapui.org/)>>
+>>
endobj
-313 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[436.7 510.3 522.2 523.8]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+457 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[142.5 662 175.9 674.7]/A<</Type/Action/S/URI/URI(http://www.soapui.org/)>>
+>>
endobj
-314 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[373.4 547.8 456 561.3]/Dest[1 0 R/XYZ 126.2 470.4 0]>>
+458 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[134.5 559.4 179.5 572.1]/Dest[334 0 R/XYZ 178.7 572.1 0]>>
endobj
-315 0 obj
-<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[121.8 547.8 212.8 561.3]/Dest[1 0 R/XYZ 379.4 423.9 0]>>
+459 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[134.5 559.4 179.5 572.1]/Dest[334 0 R/XYZ 178.7 572.1 0]>>
endobj
+460 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[134.5 559.4 179.5 572.1]/Dest[334 0 R/XYZ 178.7 572.1 0]>>
+endobj
+
+461 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[285.4 624.6 330.4 637.3]/Dest[334 0 R/XYZ 329.7 637.3 0]>>
+endobj
+
462 0 obj
-<</Type/Catalog/Pages 316 0 R
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[285.4 624.6 330.4 637.3]/Dest[334 0 R/XYZ 329.7 637.3 0]>>
+endobj
+
+463 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[285.4 624.6 330.4 637.3]/Dest[334 0 R/XYZ 329.7 637.3 0]>>
+endobj
+
+464 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[205.6 427.1 399.1 436.2]/A<</Type/Action/S/URI/URI(ftp://username:pwd@server.com/remote/dir)>>
+>>
+endobj
+
+465 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[205.6 427.1 399.1 436.2]/A<</Type/Action/S/URI/URI(ftp://username:pwd@server.com/remote/dir)>>
+>>
+endobj
+
+466 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[205.6 427.1 399.1 436.2]/A<</Type/Action/S/URI/URI(ftp://username:pwd@server.com/remote/dir)>>
+>>
+endobj
+
+467 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[205.6 267.2 399.1 276.3]/A<</Type/Action/S/URI/URI(ftp://username:pwd@server.com/remote/dir)>>
+>>
+endobj
+
+468 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[205.6 267.2 399.1 276.3]/A<</Type/Action/S/URI/URI(ftp://username:pwd@server.com/remote/dir)>>
+>>
+endobj
+
+469 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[205.6 267.2 399.1 276.3]/A<</Type/Action/S/URI/URI(ftp://username:pwd@server.com/remote/dir)>>
+>>
+endobj
+
+470 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[189.2 502.4 245.3 515.1]/Dest[307 0 R/XYZ 156.5 667 0]>>
+endobj
+
+471 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[189.2 502.4 245.3 515.1]/Dest[307 0 R/XYZ 156.5 667 0]>>
+endobj
+
+472 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[189.2 502.4 245.3 515.1]/Dest[307 0 R/XYZ 156.5 667 0]>>
+endobj
+
+473 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[189.2 515.1 245.3 527.8]/Dest[307 0 R/XYZ 156.5 667 0]>>
+endobj
+
+474 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[189.2 515.1 245.3 527.8]/Dest[307 0 R/XYZ 156.5 667 0]>>
+endobj
+
+475 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[189.2 515.1 245.3 527.8]/Dest[307 0 R/XYZ 156.5 667 0]>>
+endobj
+
+476 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.6 312.3 237.3 325]/A<</Type/Action/S/URI/URI(file:///Documents%20and%20Settings/Tom%20Fennelly/Local%20Settings/Temp/services/ContentBasedRouting.pdf)>>
+>>
+endobj
+
+477 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.6 312.3 237.3 325]/A<</Type/Action/S/URI/URI(file:///Documents%20and%20Settings/Tom%20Fennelly/Local%20Settings/Temp/services/ContentBasedRouting.pdf)>>
+>>
+endobj
+
+478 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.6 312.3 237.3 325]/A<</Type/Action/S/URI/URI(file:///Documents%20and%20Settings/Tom%20Fennelly/Local%20Settings/Temp/services/ContentBasedRouting.pdf)>>
+>>
+endobj
+
+479 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[189.2 464.3 245.3 477]/Dest[307 0 R/XYZ 156.5 667 0]>>
+endobj
+
+480 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[189.2 464.3 245.3 477]/Dest[307 0 R/XYZ 156.5 667 0]>>
+endobj
+
+481 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[189.2 464.3 245.3 477]/Dest[307 0 R/XYZ 156.5 667 0]>>
+endobj
+
+482 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[215.6 449.2 272.5 461.9]/Dest[313 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+483 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[215.6 449.2 272.5 461.9]/Dest[313 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+484 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[215.6 449.2 272.5 461.9]/Dest[313 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+485 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 449.2 195.5 461.9]/Dest[310 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+486 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 449.2 195.5 461.9]/Dest[310 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+487 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 449.2 195.5 461.9]/Dest[310 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+488 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 621.3 134.8 634]/A<</Type/Action/S/URI/URI(http://www.enterpriseintegrationpatterns.com/Aggregator.html)>>
+>>
+endobj
+
+489 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.9 634 522.7 646.7]/A<</Type/Action/S/URI/URI(http://www.enterpriseintegrationpatterns.com/Aggregator.html)>>
+>>
+endobj
+
+490 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 621.3 134.8 634]/A<</Type/Action/S/URI/URI(http://www.enterpriseintegrationpatterns.com/Aggregator.html)>>
+>>
+endobj
+
+491 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.9 634 522.7 646.7]/A<</Type/Action/S/URI/URI(http://www.enterpriseintegrationpatterns.com/Aggregator.html)>>
+>>
+endobj
+
+492 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 621.3 134.8 634]/A<</Type/Action/S/URI/URI(http://www.enterpriseintegrationpatterns.com/Aggregator.html)>>
+>>
+endobj
+
+493 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.9 634 522.7 646.7]/A<</Type/Action/S/URI/URI(http://www.enterpriseintegrationpatterns.com/Aggregator.html)>>
+>>
+endobj
+
+494 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[152.3 634 187.5 646.7]/A<</Type/Action/S/URI/URI(http://groovy.codehaus.org/)>>
+>>
+endobj
+
+495 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[152.3 634 187.5 646.7]/A<</Type/Action/S/URI/URI(http://groovy.codehaus.org/)>>
+>>
+endobj
+
+496 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[152.3 634 187.5 646.7]/A<</Type/Action/S/URI/URI(http://groovy.codehaus.org/)>>
+>>
+endobj
+
+497 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[323.2 400.8 375.1 413.5]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/payload/JavaSource.html)>>
+>>
+endobj
+
+498 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[323.2 400.8 375.1 413.5]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/payload/JavaSource.html)>>
+>>
+endobj
+
+499 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[323.2 400.8 375.1 413.5]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/payload/JavaSource.html)>>
+>>
+endobj
+
+500 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[118.9 456.2 147.4 468.9]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+User+Guide)>>
+>>
+endobj
+
+501 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[461.4 468.9 522.8 481.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+User+Guide)>>
+>>
+endobj
+
+502 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[118.9 456.2 147.4 468.9]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+User+Guide)>>
+>>
+endobj
+
+503 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[461.4 468.9 522.8 481.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+User+Guide)>>
+>>
+endobj
+
+504 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[118.9 456.2 147.4 468.9]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+User+Guide)>>
+>>
+endobj
+
+505 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[461.4 468.9 522.8 481.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+User+Guide)>>
+>>
+endobj
+
+506 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[154.9 534.1 187.2 546.8]/A<</Type/Action/S/URI/URI(http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html)>>
+>>
+endobj
+
+507 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[154.9 534.1 187.2 546.8]/A<</Type/Action/S/URI/URI(http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html)>>
+>>
+endobj
+
+508 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[154.9 534.1 187.2 546.8]/A<</Type/Action/S/URI/URI(http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html)>>
+>>
+endobj
+
+509 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[154.9 554 211.2 566.7]/A<</Type/Action/S/URI/URI(http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html)>>
+>>
+endobj
+
+510 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[154.9 554 211.2 566.7]/A<</Type/Action/S/URI/URI(http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html)>>
+>>
+endobj
+
+511 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[154.9 554 211.2 566.7]/A<</Type/Action/S/URI/URI(http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html)>>
+>>
+endobj
+
+512 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[226.3 662 306.5 674.7]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/plugin/PayloadProcessor.html)>>
+>>
+endobj
+
+513 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[226.3 662 306.5 674.7]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/plugin/PayloadProcessor.html)>>
+>>
+endobj
+
+514 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[226.3 662 306.5 674.7]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/plugin/PayloadProcessor.html)>>
+>>
+endobj
+
+515 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[271.5 162.8 377.6 173.1]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+User+Guide#SmooksUserGuide-CheckingtheSmooksExecutionProcess)>>
+>>
+endobj
+
+516 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[271.5 162.8 377.6 173.1]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+User+Guide#SmooksUserGuide-CheckingtheSmooksExecutionProcess)>>
+>>
+endobj
+
+517 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[271.5 162.8 377.6 173.1]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+User+Guide#SmooksUserGuide-CheckingtheSmooksExecutionProcess)>>
+>>
+endobj
+
+518 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[290.1 276.9 399 287.2]/Dest[289 0 R/XYZ 156.5 379.4 0]>>
+endobj
+
+519 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[290.1 276.9 399 287.2]/Dest[289 0 R/XYZ 156.5 379.4 0]>>
+endobj
+
+520 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[290.1 276.9 399 287.2]/Dest[289 0 R/XYZ 156.5 379.4 0]>>
+endobj
+
+521 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[271.5 333.9 344 344.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/ExecutionContext.html)>>
+>>
+endobj
+
+522 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[271.5 333.9 344 344.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/ExecutionContext.html)>>
+>>
+endobj
+
+523 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[271.5 333.9 344 344.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/ExecutionContext.html)>>
+>>
+endobj
+
+524 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[190.1 527.8 269.7 540.5]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Tutorials)>>
+>>
+endobj
+
+525 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[190.1 527.8 269.7 540.5]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Tutorials)>>
+>>
+endobj
+
+526 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[190.1 527.8 269.7 540.5]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Tutorials)>>
+>>
+endobj
+
+527 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[443.9 540.5 520 553.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+Documentation)>>
+>>
+endobj
+
+528 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[443.9 540.5 520 553.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+Documentation)>>
+>>
+endobj
+
+529 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[443.9 540.5 520 553.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks+Documentation)>>
+>>
+endobj
+
+530 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 598.5 182.1 611.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/plugin/PayloadProcessor.html)>>
+>>
+endobj
+
+531 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 598.5 182.1 611.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/plugin/PayloadProcessor.html)>>
+>>
+endobj
+
+532 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 598.5 182.1 611.2]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/plugin/PayloadProcessor.html)>>
+>>
+endobj
+
+533 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[339.6 623.9 419.8 636.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/plugin/PayloadProcessor.html)>>
+>>
+endobj
+
+534 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[339.6 623.9 419.8 636.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/plugin/PayloadProcessor.html)>>
+>>
+endobj
+
+535 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[339.6 623.9 419.8 636.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/v1.0/smooks/org/milyn/container/plugin/PayloadProcessor.html)>>
+>>
+endobj
+
+536 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[290.4 656.5 382.6 669.2]/Dest[280 0 R/XYZ 156.5 177.9 0]>>
+endobj
+
+537 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[290.4 656.5 382.6 669.2]/Dest[280 0 R/XYZ 156.5 177.9 0]>>
+endobj
+
+538 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[290.4 656.5 382.6 669.2]/Dest[280 0 R/XYZ 156.5 177.9 0]>>
+endobj
+
+539 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[341.1 296 368.4 308.7]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=MessageTransformation)>>
+>>
+endobj
+
+540 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[341.1 296 368.4 308.7]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=MessageTransformation)>>
+>>
+endobj
+
+541 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[341.1 296 368.4 308.7]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=MessageTransformation)>>
+>>
+endobj
+
+542 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[366.6 308.7 398.2 321.4]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/BeanPopulator.html)>>
+>>
+endobj
+
+543 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[366.6 308.7 398.2 321.4]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/BeanPopulator.html)>>
+>>
+endobj
+
+544 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[366.6 308.7 398.2 321.4]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/javadoc/smooks-cartridges/javabean/org/milyn/javabean/BeanPopulator.html)>>
+>>
+endobj
+
+545 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[485.7 681.9 522.2 694.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+546 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[485.7 681.9 522.2 694.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+547 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[485.7 681.9 522.2 694.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+548 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[336.5 86.9 373.6 99.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+549 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[336.5 86.9 373.6 99.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+550 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[336.5 86.9 373.6 99.6]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+551 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[232.5 99.6 279.9 112.3]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESB)>>
+>>
+endobj
+
+552 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[232.5 99.6 279.9 112.3]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESB)>>
+>>
+endobj
+
+553 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[232.5 99.6 279.9 112.3]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESB)>>
+>>
+endobj
+
+554 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.1 132.2 155.3 144.9]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+555 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.1 132.2 155.3 144.9]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+556 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.1 132.2 155.3 144.9]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+557 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[232.3 144.9 296.4 157.6]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+558 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[232.3 144.9 296.4 157.6]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+559 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[232.3 144.9 296.4 157.6]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+560 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[252 674.3 319.2 687]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+561 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[252 674.3 319.2 687]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+562 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[252 674.3 319.2 687]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+563 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 674.3 142.7 687]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
+endobj
+
+564 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 674.3 142.7 687]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
+endobj
+
+565 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 674.3 142.7 687]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
+endobj
+
+566 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[166 208.2 216.7 220.9]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+567 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[380.9 220.9 520 233.6]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+568 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[166 208.2 216.7 220.9]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+569 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[380.9 220.9 520 233.6]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+570 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[166 208.2 216.7 220.9]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+571 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[380.9 220.9 520 233.6]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+572 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[311.2 320 408.7 329.1]/A<</Type/Action/S/URI/URI(http://www.xyz.com/)>>
+>>
+endobj
+
+573 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[311.2 320 408.7 329.1]/A<</Type/Action/S/URI/URI(http://www.xyz.com/)>>
+>>
+endobj
+
+574 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[311.2 320 408.7 329.1]/A<</Type/Action/S/URI/URI(http://www.xyz.com/)>>
+>>
+endobj
+
+575 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[311.2 329.1 399.1 338.2]/A<</Type/Action/S/URI/URI(http://www.xyz.com/)>>
+>>
+endobj
+
+576 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[311.2 329.1 399.1 338.2]/A<</Type/Action/S/URI/URI(http://www.xyz.com/)>>
+>>
+endobj
+
+577 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[311.2 329.1 399.1 338.2]/A<</Type/Action/S/URI/URI(http://www.xyz.com/)>>
+>>
+endobj
+
+578 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[166 582.7 216.7 595.4]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+579 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[380.9 595.4 520 608.1]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+580 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[166 582.7 216.7 595.4]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+581 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[380.9 595.4 520 608.1]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+582 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[166 582.7 216.7 595.4]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+583 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[380.9 595.4 520 608.1]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html)>>
+>>
+endobj
+
+584 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[209.9 669.2 277.1 681.9]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+585 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[209.9 669.2 277.1 681.9]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+586 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[209.9 669.2 277.1 681.9]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+587 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[475 681.9 515.8 694.6]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
+endobj
+
+588 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[475 681.9 515.8 694.6]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
+endobj
+
+589 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[475 681.9 515.8 694.6]/A<</Type/Action/S/URI/URI(http://xstream.codehaus.org/)>>
+>>
+endobj
+
+590 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[226.8 465.3 294 478]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+591 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[226.8 465.3 294 478]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+592 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[226.8 465.3 294 478]/Dest[286 0 R/XYZ 156.5 714.9 0]>>
+endobj
+
+593 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[412.1 137 498.7 148.4]/Dest[197 0 R/XYZ 156.5 627.9 0]>>
+endobj
+
+594 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[412.1 137 498.7 148.4]/Dest[197 0 R/XYZ 156.5 627.9 0]>>
+endobj
+
+595 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[412.1 137 498.7 148.4]/Dest[197 0 R/XYZ 156.5 627.9 0]>>
+endobj
+
+596 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.6 434.6 207.9 447.3]/Dest[197 0 R/XYZ 156.5 627.9 0]>>
+endobj
+
+597 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.6 434.6 207.9 447.3]/Dest[197 0 R/XYZ 156.5 627.9 0]>>
+endobj
+
+598 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.6 434.6 207.9 447.3]/Dest[197 0 R/XYZ 156.5 627.9 0]>>
+endobj
+
+599 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[136.5 398.1 226.1 410.8]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd)>>
+>>
+endobj
+
+600 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[136.5 398.1 226.1 410.8]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd)>>
+>>
+endobj
+
+601 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[136.5 398.1 226.1 410.8]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd)>>
+>>
+endobj
+
+602 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[319.1 595.8 408.7 608.5]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd)>>
+>>
+endobj
+
+603 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[319.1 595.8 408.7 608.5]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd)>>
+>>
+endobj
+
+604 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[319.1 595.8 408.7 608.5]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd)>>
+>>
+endobj
+
+605 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[386.4 86.4 464.4 99.1]/A<</Type/Action/S/URI/URI(http://www.opensymphony.com/quartz/)>>
+>>
+endobj
+
+606 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[386.4 86.4 464.4 99.1]/A<</Type/Action/S/URI/URI(http://www.opensymphony.com/quartz/)>>
+>>
+endobj
+
+607 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[386.4 86.4 464.4 99.1]/A<</Type/Action/S/URI/URI(http://www.opensymphony.com/quartz/)>>
+>>
+endobj
+
+608 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 194.5 393.6 207.2]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+609 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 194.5 393.6 207.2]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+610 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 194.5 393.6 207.2]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+611 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 227.1 393.6 239.8]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+612 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 227.1 393.6 239.8]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+613 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 227.1 393.6 239.8]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+614 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 431.9 393.6 444.6]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+615 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 431.9 393.6 444.6]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+616 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 431.9 393.6 444.6]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+617 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 464.5 393.6 477.2]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+618 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 464.5 393.6 477.2]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+619 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[350.6 464.5 393.6 477.2]/A<</Type/Action/S/URI/URI(http://books.xmlschemata.org/relaxng/ch19-77049.html)>>
+>>
+endobj
+
+620 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[318.3 234.4 393.6 247.1]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessaging)>>
+>>
+endobj
+
+621 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[318.3 234.4 393.6 247.1]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessaging)>>
+>>
+endobj
+
+622 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[318.3 234.4 393.6 247.1]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessaging)>>
+>>
+endobj
+
+623 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[313.5 186.3 360.9 199]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESB)>>
+>>
+endobj
+
+624 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[313.5 186.3 360.9 199]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESB)>>
+>>
+endobj
+
+625 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[313.5 186.3 360.9 199]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESB)>>
+>>
+endobj
+
+626 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[274.5 199 349.8 211.7]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessaging)>>
+>>
+endobj
+
+627 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[274.5 199 349.8 211.7]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessaging)>>
+>>
+endobj
+
+628 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[274.5 199 349.8 211.7]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessaging)>>
+>>
+endobj
+
+629 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 342.3 199.7 355]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBHelloworld)>>
+>>
+endobj
+
+630 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 342.3 199.7 355]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBHelloworld)>>
+>>
+endobj
+
+631 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 342.3 199.7 355]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBHelloworld)>>
+>>
+endobj
+
+632 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[412.4 367.7 510.2 380.4]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBHelloworld)>>
+>>
+endobj
+
+633 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[412.4 367.7 510.2 380.4]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBHelloworld)>>
+>>
+endobj
+
+634 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[412.4 367.7 510.2 380.4]/A<</Type/Action/S/URI/URI(http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossESBHelloworld)>>
+>>
+endobj
+
+635 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[354.2 263.8 421.2 276.5]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+636 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[354.2 263.8 421.2 276.5]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+637 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[354.2 263.8 421.2 276.5]/A<</Type/Action/S/URI/URI(http://milyn.codehaus.org/Smooks)>>
+>>
+endobj
+
+638 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[241.7 316.3 300.2 329]/Dest[84 0 R/XYZ 174.5 281.4 0]>>
+endobj
+
+639 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[241.7 316.3 300.2 329]/Dest[84 0 R/XYZ 174.5 281.4 0]>>
+endobj
+
+640 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[241.7 316.3 300.2 329]/Dest[84 0 R/XYZ 174.5 281.4 0]>>
+endobj
+
+641 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[241.7 577.2 300.2 589.9]/Dest[84 0 R/XYZ 174.5 281.4 0]>>
+endobj
+
+642 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[241.7 577.2 300.2 589.9]/Dest[84 0 R/XYZ 174.5 281.4 0]>>
+endobj
+
+643 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[241.7 577.2 300.2 589.9]/Dest[84 0 R/XYZ 174.5 281.4 0]>>
+endobj
+
+644 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[244.5 365.2 303 377.9]/Dest[84 0 R/XYZ 174.5 281.4 0]>>
+endobj
+
+645 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[244.5 365.2 303 377.9]/Dest[84 0 R/XYZ 174.5 281.4 0]>>
+endobj
+
+646 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[244.5 365.2 303 377.9]/Dest[84 0 R/XYZ 174.5 281.4 0]>>
+endobj
+
+647 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[190.4 493.6 376.7 501.4]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/)>>
+>>
+endobj
+
+648 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[190.4 493.6 376.7 501.4]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/)>>
+>>
+endobj
+
+649 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[190.4 493.6 376.7 501.4]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/)>>
+>>
+endobj
+
+650 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[137.6 694.6 211 707.3]/Dest[128 0 R/XYZ 156.5 480.3 0]>>
+endobj
+
+651 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[137.6 694.6 211 707.3]/Dest[128 0 R/XYZ 156.5 480.3 0]>>
+endobj
+
+652 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[137.6 694.6 211 707.3]/Dest[128 0 R/XYZ 156.5 480.3 0]>>
+endobj
+
+653 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[148.4 378.7 334.7 386.5]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/)>>
+>>
+endobj
+
+654 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[148.4 378.7 334.7 386.5]/A<</Type/Action/S/URI/URI(http://anonsvn.labs.jboss.com/labs/jbossesb/)>>
+>>
+endobj
+
+655 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[70.2 284.4 155.3 297.1]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+656 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 211.1 119.2 223.8]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+657 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[457.7 223.8 522.7 236.5]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+658 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[284.3 287.3 367.5 300]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+659 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 595.8 187 608.5]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+660 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 674.7 184.5 687.4]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+661 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[102.1 189.4 184.7 202.1]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+662 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[205.2 150.2 287.8 162.9]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+663 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[101.9 224.9 135.8 237.6]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+664 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[468.2 237.6 522.8 250.3]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+665 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[120.2 349.5 202.8 362.2]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+666 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[236.7 619.5 319.3 632.2]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+667 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[147.1 669.9 232.2 682.6]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+668 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[147.1 707.3 232.2 720]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+669 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[147.1 94.4 232.2 107.1]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+670 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[147.1 131.8 232.2 144.5]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+671 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[147.1 169.2 232.2 181.9]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+672 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[433.7 204.2 522.2 216.9]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+673 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[436.7 520.4 522.2 533.1]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+674 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[373.4 555.7 456 568.4]/Dest[1 0 R/XYZ 126.2 487.1 0]>>
+endobj
+
+675 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[121.8 555.7 212.8 568.4]/Dest[1 0 R/XYZ 379.4 444 0]>>
+endobj
+
+676 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[476.7 295.5 481.4 308.2]/Dest[343 0 R/XYZ 52.3 99.6 0]>>
+endobj
+
+677 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[202.7 577.4 207.4 590.1]/Dest[382 0 R/XYZ 52 110.1 0]>>
+endobj
+
+678 0 obj
+<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[204.4 564.7 209.1 577.4]/Dest[382 0 R/XYZ 52 84.7 0]>>
+endobj
+
+872 0 obj
+<</Type/Catalog/Pages 679 0 R
/OpenAction[1 0 R /XYZ null null 0]
/ViewerPreferences<</DisplayDocTitle true
>>
-/Outlines 397 0 R
-/Lang(en-US)
+/Outlines 760 0 R
>>
endobj
-463 0 obj
+873 0 obj
<</Title<FEFF00500072006F006700720061006D006D006500720073002000470075006900640065>
/Author<FEFF004500730074006500620061006E>
/Creator<FEFF005700720069007400650072>
-/Producer<FEFF004F00700065006E004F00660066006900630065002E006F0072006700200032002E0034>
-/CreationDate(D:20080527125143+02'00')>>
+/Producer<FEFF004E0065006F004F0066006600690063006500200032002E0032>
+/CreationDate(D:20080612164753+01'00')>>
endobj
xref
-0 464
+0 874
0000000000 65535 f
-0001352495 00000 n
+0000787121 00000 n
0000000019 00000 n
-0000000412 00000 n
-0001352641 00000 n
-0000000432 00000 n
-0000000595 00000 n
-0000000614 00000 n
-0001352787 00000 n
-0000016217 00000 n
-0000018981 00000 n
-0001352952 00000 n
-0000019003 00000 n
-0000022083 00000 n
-0001353100 00000 n
-0000022105 00000 n
-0000024536 00000 n
-0001353248 00000 n
-0000024558 00000 n
-0000026649 00000 n
-0001353431 00000 n
-0000026671 00000 n
-0000029346 00000 n
-0001353606 00000 n
-0000029368 00000 n
-0000030359 00000 n
-0001353805 00000 n
-0000030380 00000 n
-0000030493 00000 n
-0001353953 00000 n
-0000030513 00000 n
-0000036912 00000 n
-0000036934 00000 n
-0001354101 00000 n
-0000038893 00000 n
-0000046501 00000 n
-0000046523 00000 n
-0001354249 00000 n
-0000053425 00000 n
-0000059011 00000 n
-0001354397 00000 n
-0000059033 00000 n
-0000060800 00000 n
-0001354545 00000 n
-0000060822 00000 n
-0000064106 00000 n
-0001354693 00000 n
-0000064128 00000 n
-0000067157 00000 n
-0001354841 00000 n
-0000067179 00000 n
-0000080631 00000 n
-0001354989 00000 n
-0000080654 00000 n
-0000083596 00000 n
-0001355156 00000 n
-0000083618 00000 n
-0000087007 00000 n
-0001355331 00000 n
-0000087029 00000 n
-0000089381 00000 n
-0000089403 00000 n
-0001355479 00000 n
-0000108518 00000 n
-0000110325 00000 n
-0000110347 00000 n
-0001355627 00000 n
-0000121965 00000 n
-0000124851 00000 n
-0001355775 00000 n
-0000124873 00000 n
-0000127257 00000 n
-0001355923 00000 n
-0000127279 00000 n
-0000130681 00000 n
-0001356071 00000 n
-0000130703 00000 n
-0000134198 00000 n
-0001356219 00000 n
-0000134220 00000 n
-0000136494 00000 n
-0001356367 00000 n
-0000136516 00000 n
-0000139432 00000 n
-0000139454 00000 n
-0001356534 00000 n
-0000149302 00000 n
-0000152949 00000 n
-0001356709 00000 n
-0000152971 00000 n
-0000155503 00000 n
-0000155525 00000 n
-0001356857 00000 n
-0000171476 00000 n
-0000174500 00000 n
-0001357005 00000 n
-0000174522 00000 n
-0000177572 00000 n
-0001357153 00000 n
-0000177594 00000 n
-0000178039 00000 n
-0001357301 00000 n
-0000178061 00000 n
-0000180996 00000 n
-0001357451 00000 n
-0000181019 00000 n
-0000183795 00000 n
-0001357601 00000 n
-0000183818 00000 n
-0000186075 00000 n
-0001357751 00000 n
-0000186098 00000 n
-0000188646 00000 n
-0001357901 00000 n
-0000188669 00000 n
-0000192403 00000 n
-0001358051 00000 n
-0000192426 00000 n
-0000195389 00000 n
-0001358201 00000 n
-0000195412 00000 n
-0000198883 00000 n
-0001358351 00000 n
-0000198906 00000 n
-0000201828 00000 n
-0001358520 00000 n
-0000201851 00000 n
-0000205148 00000 n
-0001358670 00000 n
-0000205171 00000 n
-0000209103 00000 n
-0001358820 00000 n
-0000209126 00000 n
-0000211788 00000 n
-0001358970 00000 n
-0000211811 00000 n
-0000213163 00000 n
-0001359155 00000 n
-0000213186 00000 n
-0000216159 00000 n
-0001359324 00000 n
-0000216182 00000 n
-0000217618 00000 n
-0001359474 00000 n
-0000217641 00000 n
-0000220677 00000 n
-0001359624 00000 n
-0000220700 00000 n
-0000224176 00000 n
-0001359774 00000 n
-0000224199 00000 n
-0000226322 00000 n
-0001359924 00000 n
-0000226345 00000 n
-0000228961 00000 n
-0001360074 00000 n
-0000228984 00000 n
-0000230788 00000 n
-0001360224 00000 n
-0000230811 00000 n
-0000233445 00000 n
-0001360401 00000 n
-0000233468 00000 n
-0000236032 00000 n
-0000236055 00000 n
-0000246108 00000 n
-0001360551 00000 n
-0000246131 00000 n
-0000248071 00000 n
-0000248094 00000 n
-0000262313 00000 n
-0001360701 00000 n
-0000262337 00000 n
-0000263820 00000 n
-0000263843 00000 n
-0001360878 00000 n
-0000287053 00000 n
-0000288395 00000 n
-0000288418 00000 n
-0000306131 00000 n
-0001361047 00000 n
-0000306155 00000 n
-0000307234 00000 n
-0000307257 00000 n
-0001361197 00000 n
-0000333002 00000 n
-0000334393 00000 n
-0001361347 00000 n
-0000334416 00000 n
-0000335506 00000 n
-0000335529 00000 n
-0000354568 00000 n
-0001361497 00000 n
-0000354592 00000 n
-0000357571 00000 n
-0001361647 00000 n
-0000357594 00000 n
-0000359148 00000 n
-0000359171 00000 n
-0000379225 00000 n
-0001361816 00000 n
-0000379249 00000 n
-0000381885 00000 n
-0001362017 00000 n
-0000381908 00000 n
-0000384762 00000 n
-0001362167 00000 n
-0000384785 00000 n
-0000386492 00000 n
-0001362336 00000 n
-0000386515 00000 n
-0000389676 00000 n
-0001362486 00000 n
-0000389699 00000 n
-0000392971 00000 n
-0001362636 00000 n
-0000392994 00000 n
-0000397009 00000 n
-0001362786 00000 n
-0000397032 00000 n
-0000400788 00000 n
-0001362936 00000 n
-0000400811 00000 n
-0000404450 00000 n
-0001363086 00000 n
-0000404473 00000 n
-0000408020 00000 n
-0001363236 00000 n
-0000408043 00000 n
-0000411205 00000 n
-0001363386 00000 n
-0000411228 00000 n
-0000414830 00000 n
-0001363536 00000 n
-0000414853 00000 n
-0000416289 00000 n
-0001363713 00000 n
-0000416312 00000 n
-0000418851 00000 n
-0001363863 00000 n
-0000418874 00000 n
-0000421693 00000 n
-0001364013 00000 n
-0000421716 00000 n
-0000423213 00000 n
-0000423236 00000 n
-0000474045 00000 n
-0001364163 00000 n
-0000474069 00000 n
-0000477582 00000 n
-0001364313 00000 n
-0000477605 00000 n
-0000480308 00000 n
-0001364463 00000 n
-0000480331 00000 n
-0000483472 00000 n
-0001364632 00000 n
-0000483495 00000 n
-0000486508 00000 n
-0001364782 00000 n
-0000486531 00000 n
-0000490217 00000 n
-0001364951 00000 n
-0000490240 00000 n
-0000493466 00000 n
-0001365120 00000 n
-0000493489 00000 n
-0000494737 00000 n
-0001365270 00000 n
-0000494760 00000 n
-0000498087 00000 n
-0001365420 00000 n
-0000498110 00000 n
-0000499537 00000 n
-0001365570 00000 n
-0000499560 00000 n
-0000499972 00000 n
-0001379409 00000 n
-0001379575 00000 n
-0001379696 00000 n
-0001379817 00000 n
-0001380031 00000 n
-0001380245 00000 n
-0001380402 00000 n
-0001380576 00000 n
-0001380750 00000 n
-0001380922 00000 n
-0001381096 00000 n
-0001381271 00000 n
-0001381440 00000 n
-0001381617 00000 n
-0001381798 00000 n
-0001381979 00000 n
-0001382133 00000 n
-0001382253 00000 n
-0001382373 00000 n
-0001382495 00000 n
-0001382661 00000 n
-0001382784 00000 n
-0001382904 00000 n
-0001383025 00000 n
-0001383146 00000 n
-0001383267 00000 n
-0001383384 00000 n
-0001383501 00000 n
-0001383620 00000 n
-0001383737 00000 n
-0001383856 00000 n
-0001383977 00000 n
-0001384098 00000 n
-0001384219 00000 n
-0001384340 00000 n
-0001384461 00000 n
-0001384582 00000 n
-0001384703 00000 n
-0001384822 00000 n
-0001378666 00000 n
-0000499994 00000 n
-0000500749 00000 n
-0000500771 00000 n
-0000500964 00000 n
-0000501271 00000 n
-0000501443 00000 n
-0000515699 00000 n
-0000515723 00000 n
-0000515921 00000 n
-0000516572 00000 n
-0000517065 00000 n
-0000525736 00000 n
-0000525759 00000 n
-0000525962 00000 n
-0000526411 00000 n
-0000526725 00000 n
-0000540145 00000 n
-0000540169 00000 n
-0000540365 00000 n
-0000540912 00000 n
-0000541305 00000 n
-0000549430 00000 n
-0000549453 00000 n
-0000549654 00000 n
-0000550004 00000 n
-0000550218 00000 n
-0000650794 00000 n
-0000650819 00000 n
-0000651012 00000 n
-0000651958 00000 n
-0000652926 00000 n
-0000653014 00000 n
-0000653318 00000 n
-0000653502 00000 n
-0000683718 00000 n
-0000683742 00000 n
-0000683932 00000 n
-0000684998 00000 n
-0000685982 00000 n
-0000773771 00000 n
-0000773795 00000 n
-0000773990 00000 n
-0000774936 00000 n
-0000775902 00000 n
-0000866506 00000 n
-0000866530 00000 n
-0000866730 00000 n
-0000867676 00000 n
-0000868646 00000 n
-0000946992 00000 n
-0000947016 00000 n
-0000947206 00000 n
-0000948152 00000 n
-0000949120 00000 n
-0001035772 00000 n
-0001035796 00000 n
-0001035996 00000 n
-0001036942 00000 n
-0001037914 00000 n
-0001105896 00000 n
-0001105920 00000 n
-0001106117 00000 n
-0001107063 00000 n
-0001108034 00000 n
-0001177955 00000 n
-0001177979 00000 n
-0001178169 00000 n
-0001179115 00000 n
-0001180082 00000 n
-0001247138 00000 n
-0001247162 00000 n
-0001247359 00000 n
-0001248305 00000 n
-0001249277 00000 n
-0001349864 00000 n
-0001349889 00000 n
-0001350082 00000 n
-0001351028 00000 n
-0001352000 00000 n
-0001352209 00000 n
-0001365720 00000 n
-0001365780 00000 n
-0001366019 00000 n
-0001366311 00000 n
-0001366499 00000 n
-0001366715 00000 n
-0001366858 00000 n
-0001367034 00000 n
-0001367197 00000 n
-0001367389 00000 n
-0001367577 00000 n
-0001367781 00000 n
-0001367992 00000 n
-0001368179 00000 n
-0001368330 00000 n
-0001368511 00000 n
-0001368695 00000 n
-0001368884 00000 n
-0001369140 00000 n
-0001369341 00000 n
-0001369553 00000 n
-0001369741 00000 n
-0001369885 00000 n
-0001370074 00000 n
-0001370247 00000 n
-0001370435 00000 n
-0001370620 00000 n
-0001370813 00000 n
-0001371014 00000 n
-0001371179 00000 n
-0001371380 00000 n
-0001371569 00000 n
-0001371744 00000 n
-0001371901 00000 n
-0001372074 00000 n
-0001372339 00000 n
-0001372532 00000 n
-0001372881 00000 n
-0001373074 00000 n
-0001373231 00000 n
-0001373492 00000 n
-0001373669 00000 n
-0001373838 00000 n
-0001374027 00000 n
-0001374232 00000 n
-0001374505 00000 n
-0001374738 00000 n
-0001375015 00000 n
-0001375180 00000 n
-0001375409 00000 n
-0001375642 00000 n
-0001375863 00000 n
-0001375999 00000 n
-0001376172 00000 n
-0001376329 00000 n
-0001376501 00000 n
-0001376654 00000 n
-0001376803 00000 n
-0001377074 00000 n
-0001377319 00000 n
-0001377512 00000 n
-0001377737 00000 n
-0001377942 00000 n
-0001378207 00000 n
-0001378523 00000 n
-0001384943 00000 n
-0001385106 00000 n
+0000000409 00000 n
+0000000429 00000 n
+0000787267 00000 n
+0000016032 00000 n
+0000016142 00000 n
+0000787413 00000 n
+0000016161 00000 n
+0000018686 00000 n
+0000787578 00000 n
+0000018708 00000 n
+0000021577 00000 n
+0000787726 00000 n
+0000021599 00000 n
+0000025741 00000 n
+0000787874 00000 n
+0000025763 00000 n
+0000027122 00000 n
+0000788022 00000 n
+0000027144 00000 n
+0000029097 00000 n
+0000788205 00000 n
+0000029119 00000 n
+0000031737 00000 n
+0000788396 00000 n
+0000031759 00000 n
+0000032510 00000 n
+0000788579 00000 n
+0000032531 00000 n
+0000032747 00000 n
+0000788727 00000 n
+0000032768 00000 n
+0000039114 00000 n
+0000039136 00000 n
+0000788875 00000 n
+0000041095 00000 n
+0000048693 00000 n
+0000048715 00000 n
+0000789023 00000 n
+0000055617 00000 n
+0000061191 00000 n
+0000789171 00000 n
+0000061213 00000 n
+0000062995 00000 n
+0000789319 00000 n
+0000063017 00000 n
+0000066138 00000 n
+0000789467 00000 n
+0000066160 00000 n
+0000069512 00000 n
+0000789615 00000 n
+0000069534 00000 n
+0000082497 00000 n
+0000789763 00000 n
+0000082520 00000 n
+0000085457 00000 n
+0000789946 00000 n
+0000085479 00000 n
+0000088849 00000 n
+0000790153 00000 n
+0000088871 00000 n
+0000091057 00000 n
+0000091079 00000 n
+0000790301 00000 n
+0000110194 00000 n
+0000112030 00000 n
+0000112052 00000 n
+0000790449 00000 n
+0000123670 00000 n
+0000126570 00000 n
+0000790597 00000 n
+0000126592 00000 n
+0000129167 00000 n
+0000790745 00000 n
+0000129189 00000 n
+0000132743 00000 n
+0000790893 00000 n
+0000132765 00000 n
+0000135990 00000 n
+0000791041 00000 n
+0000136012 00000 n
+0000138588 00000 n
+0000791189 00000 n
+0000138610 00000 n
+0000141850 00000 n
+0000141872 00000 n
+0000791372 00000 n
+0000151720 00000 n
+0000154907 00000 n
+0000791579 00000 n
+0000154929 00000 n
+0000157400 00000 n
+0000157422 00000 n
+0000791727 00000 n
+0000173373 00000 n
+0000176125 00000 n
+0000791875 00000 n
+0000176147 00000 n
+0000178724 00000 n
+0000792023 00000 n
+0000178747 00000 n
+0000181770 00000 n
+0000792173 00000 n
+0000181793 00000 n
+0000184265 00000 n
+0000792323 00000 n
+0000184288 00000 n
+0000186462 00000 n
+0000792473 00000 n
+0000186485 00000 n
+0000189455 00000 n
+0000792623 00000 n
+0000189478 00000 n
+0000193191 00000 n
+0000792773 00000 n
+0000193214 00000 n
+0000196302 00000 n
+0000792923 00000 n
+0000196325 00000 n
+0000199637 00000 n
+0000793073 00000 n
+0000199660 00000 n
+0000202970 00000 n
+0000793242 00000 n
+0000202993 00000 n
+0000206544 00000 n
+0000793392 00000 n
+0000206567 00000 n
+0000209864 00000 n
+0000793542 00000 n
+0000209887 00000 n
+0000212615 00000 n
+0000793727 00000 n
+0000212638 00000 n
+0000215758 00000 n
+0000793912 00000 n
+0000215781 00000 n
+0000217085 00000 n
+0000794062 00000 n
+0000217108 00000 n
+0000220267 00000 n
+0000794212 00000 n
+0000220290 00000 n
+0000223537 00000 n
+0000794362 00000 n
+0000223560 00000 n
+0000225574 00000 n
+0000794512 00000 n
+0000225597 00000 n
+0000228244 00000 n
+0000794662 00000 n
+0000228267 00000 n
+0000229918 00000 n
+0000794812 00000 n
+0000229941 00000 n
+0000232508 00000 n
+0000795021 00000 n
+0000232531 00000 n
+0000235143 00000 n
+0000235166 00000 n
+0000245219 00000 n
+0000795171 00000 n
+0000245242 00000 n
+0000246980 00000 n
+0000247003 00000 n
+0000261222 00000 n
+0000795321 00000 n
+0000261246 00000 n
+0000262713 00000 n
+0000262736 00000 n
+0000795530 00000 n
+0000285946 00000 n
+0000287303 00000 n
+0000287326 00000 n
+0000305039 00000 n
+0000795715 00000 n
+0000305063 00000 n
+0000306153 00000 n
+0000306176 00000 n
+0000795865 00000 n
+0000331921 00000 n
+0000333184 00000 n
+0000796015 00000 n
+0000333207 00000 n
+0000334218 00000 n
+0000334240 00000 n
+0000353279 00000 n
+0000796165 00000 n
+0000353303 00000 n
+0000356062 00000 n
+0000796315 00000 n
+0000356085 00000 n
+0000357742 00000 n
+0000357765 00000 n
+0000377819 00000 n
+0000796484 00000 n
+0000377843 00000 n
+0000380251 00000 n
+0000796749 00000 n
+0000380274 00000 n
+0000382976 00000 n
+0000796934 00000 n
+0000382999 00000 n
+0000384208 00000 n
+0000797084 00000 n
+0000384231 00000 n
+0000387572 00000 n
+0000797234 00000 n
+0000387595 00000 n
+0000390904 00000 n
+0000797384 00000 n
+0000390927 00000 n
+0000395382 00000 n
+0000797534 00000 n
+0000395405 00000 n
+0000399512 00000 n
+0000797684 00000 n
+0000399535 00000 n
+0000403599 00000 n
+0000797834 00000 n
+0000403622 00000 n
+0000407359 00000 n
+0000797984 00000 n
+0000407382 00000 n
+0000410643 00000 n
+0000798134 00000 n
+0000410666 00000 n
+0000413466 00000 n
+0000798284 00000 n
+0000413489 00000 n
+0000414896 00000 n
+0000798477 00000 n
+0000414919 00000 n
+0000417417 00000 n
+0000798627 00000 n
+0000417440 00000 n
+0000420053 00000 n
+0000798777 00000 n
+0000420076 00000 n
+0000421575 00000 n
+0000421598 00000 n
+0000472407 00000 n
+0000798927 00000 n
+0000472431 00000 n
+0000475763 00000 n
+0000799077 00000 n
+0000475786 00000 n
+0000478746 00000 n
+0000799227 00000 n
+0000478769 00000 n
+0000482115 00000 n
+0000799412 00000 n
+0000482138 00000 n
+0000484984 00000 n
+0000799562 00000 n
+0000485007 00000 n
+0000488694 00000 n
+0000799771 00000 n
+0000488717 00000 n
+0000491429 00000 n
+0000799921 00000 n
+0000491452 00000 n
+0000495316 00000 n
+0000800071 00000 n
+0000495339 00000 n
+0000496401 00000 n
+0000800221 00000 n
+0000496423 00000 n
+0000498155 00000 n
+0000800371 00000 n
+0000498178 00000 n
+0000500493 00000 n
+0000800521 00000 n
+0000500516 00000 n
+0000502792 00000 n
+0000800706 00000 n
+0000502815 00000 n
+0000505527 00000 n
+0000801059 00000 n
+0000505550 00000 n
+0000508679 00000 n
+0000801364 00000 n
+0000508702 00000 n
+0000511178 00000 n
+0000801597 00000 n
+0000511201 00000 n
+0000515075 00000 n
+0000801950 00000 n
+0000515098 00000 n
+0000518399 00000 n
+0000802255 00000 n
+0000518422 00000 n
+0000519767 00000 n
+0000802405 00000 n
+0000519790 00000 n
+0000522878 00000 n
+0000802555 00000 n
+0000522901 00000 n
+0000525813 00000 n
+0000802705 00000 n
+0000525836 00000 n
+0000527206 00000 n
+0000802890 00000 n
+0000527229 00000 n
+0000529697 00000 n
+0000803040 00000 n
+0000529720 00000 n
+0000531533 00000 n
+0000803297 00000 n
+0000531556 00000 n
+0000533447 00000 n
+0000803506 00000 n
+0000533470 00000 n
+0000534911 00000 n
+0000803691 00000 n
+0000534934 00000 n
+0000538407 00000 n
+0000803876 00000 n
+0000538430 00000 n
+0000540840 00000 n
+0000804026 00000 n
+0000540863 00000 n
+0000543397 00000 n
+0000804211 00000 n
+0000543420 00000 n
+0000545815 00000 n
+0000804361 00000 n
+0000545838 00000 n
+0000548663 00000 n
+0000804546 00000 n
+0000548686 00000 n
+0000549643 00000 n
+0000804696 00000 n
+0000549665 00000 n
+0000552136 00000 n
+0000804905 00000 n
+0000552159 00000 n
+0000554755 00000 n
+0000805138 00000 n
+0000554778 00000 n
+0000556974 00000 n
+0000805288 00000 n
+0000556997 00000 n
+0000560774 00000 n
+0000805553 00000 n
+0000560797 00000 n
+0000562871 00000 n
+0000805703 00000 n
+0000562894 00000 n
+0000564243 00000 n
+0000805853 00000 n
+0000564266 00000 n
+0000565793 00000 n
+0000806003 00000 n
+0000565816 00000 n
+0000568614 00000 n
+0000806153 00000 n
+0000568637 00000 n
+0000569600 00000 n
+0000806303 00000 n
+0000569622 00000 n
+0000573235 00000 n
+0000806453 00000 n
+0000573258 00000 n
+0000577038 00000 n
+0000806603 00000 n
+0000577061 00000 n
+0000580227 00000 n
+0000806753 00000 n
+0000580250 00000 n
+0000582904 00000 n
+0000806903 00000 n
+0000582927 00000 n
+0000584777 00000 n
+0000807053 00000 n
+0000584800 00000 n
+0000587228 00000 n
+0000807334 00000 n
+0000587251 00000 n
+0000587923 00000 n
+0000807484 00000 n
+0000587945 00000 n
+0000592032 00000 n
+0000807661 00000 n
+0000592055 00000 n
+0000596042 00000 n
+0000807811 00000 n
+0000596065 00000 n
+0000600527 00000 n
+0000807961 00000 n
+0000600550 00000 n
+0000603621 00000 n
+0000808111 00000 n
+0000603644 00000 n
+0000608095 00000 n
+0000808261 00000 n
+0000608118 00000 n
+0000613159 00000 n
+0000808411 00000 n
+0000613182 00000 n
+0000617308 00000 n
+0000808596 00000 n
+0000617331 00000 n
+0000619607 00000 n
+0000808746 00000 n
+0000619630 00000 n
+0000622219 00000 n
+0000808896 00000 n
+0000622242 00000 n
+0000624597 00000 n
+0000809046 00000 n
+0000624620 00000 n
+0000626971 00000 n
+0000809196 00000 n
+0000626994 00000 n
+0000627214 00000 n
+0000809346 00000 n
+0000627236 00000 n
+0000627934 00000 n
+0000832917 00000 n
+0000833083 00000 n
+0000833295 00000 n
+0000833507 00000 n
+0000833719 00000 n
+0000833929 00000 n
+0000834139 00000 n
+0000834349 00000 n
+0000834554 00000 n
+0000834759 00000 n
+0000834964 00000 n
+0000835122 00000 n
+0000835280 00000 n
+0000835438 00000 n
+0000835670 00000 n
+0000835902 00000 n
+0000836134 00000 n
+0000836284 00000 n
+0000836434 00000 n
+0000836584 00000 n
+0000836734 00000 n
+0000836884 00000 n
+0000837034 00000 n
+0000837151 00000 n
+0000837271 00000 n
+0000837388 00000 n
+0000837508 00000 n
+0000837625 00000 n
+0000837745 00000 n
+0000837885 00000 n
+0000838025 00000 n
+0000838165 00000 n
+0000838307 00000 n
+0000838449 00000 n
+0000838591 00000 n
+0000838733 00000 n
+0000838875 00000 n
+0000839017 00000 n
+0000839140 00000 n
+0000839263 00000 n
+0000839386 00000 n
+0000839509 00000 n
+0000839632 00000 n
+0000839755 00000 n
+0000839917 00000 n
+0000840079 00000 n
+0000840241 00000 n
+0000840403 00000 n
+0000840565 00000 n
+0000840727 00000 n
+0000840848 00000 n
+0000840969 00000 n
+0000841090 00000 n
+0000841211 00000 n
+0000841332 00000 n
+0000841453 00000 n
+0000841677 00000 n
+0000841901 00000 n
+0000842125 00000 n
+0000842244 00000 n
+0000842363 00000 n
+0000842482 00000 n
+0000842605 00000 n
+0000842728 00000 n
+0000842851 00000 n
+0000842974 00000 n
+0000843097 00000 n
+0000843220 00000 n
+0000843400 00000 n
+0000843580 00000 n
+0000843760 00000 n
+0000843940 00000 n
+0000844120 00000 n
+0000844300 00000 n
+0000844447 00000 n
+0000844594 00000 n
+0000844741 00000 n
+0000844942 00000 n
+0000845143 00000 n
+0000845344 00000 n
+0000845509 00000 n
+0000845674 00000 n
+0000845839 00000 n
+0000846004 00000 n
+0000846169 00000 n
+0000846334 00000 n
+0000846515 00000 n
+0000846696 00000 n
+0000846877 00000 n
+0000847061 00000 n
+0000847245 00000 n
+0000847429 00000 n
+0000847643 00000 n
+0000847857 00000 n
+0000848071 00000 n
+0000848286 00000 n
+0000848501 00000 n
+0000848716 00000 n
+0000848837 00000 n
+0000848958 00000 n
+0000849079 00000 n
+0000849286 00000 n
+0000849493 00000 n
+0000849700 00000 n
+0000849857 00000 n
+0000850014 00000 n
+0000850171 00000 n
+0000850337 00000 n
+0000850503 00000 n
+0000850669 00000 n
+0000850885 00000 n
+0000851101 00000 n
+0000851317 00000 n
+0000851533 00000 n
+0000851749 00000 n
+0000851965 00000 n
+0000852088 00000 n
+0000852211 00000 n
+0000852334 00000 n
+0000852516 00000 n
+0000852698 00000 n
+0000852880 00000 n
+0000853100 00000 n
+0000853320 00000 n
+0000853540 00000 n
+0000853694 00000 n
+0000853848 00000 n
+0000854002 00000 n
+0000854154 00000 n
+0000854306 00000 n
+0000854458 00000 n
+0000854628 00000 n
+0000854798 00000 n
+0000854968 00000 n
+0000855122 00000 n
+0000855276 00000 n
+0000855430 00000 n
+0000855553 00000 n
+0000855676 00000 n
+0000855799 00000 n
+0000855918 00000 n
+0000856037 00000 n
+0000856156 00000 n
+0000856304 00000 n
+0000856452 00000 n
+0000856600 00000 n
+0000856793 00000 n
+0000856986 00000 n
+0000857179 00000 n
+0000857372 00000 n
+0000857565 00000 n
+0000857758 00000 n
+0000857897 00000 n
+0000858036 00000 n
+0000858175 00000 n
+0000858316 00000 n
+0000858457 00000 n
+0000858598 00000 n
+0000858791 00000 n
+0000858984 00000 n
+0000859177 00000 n
+0000859370 00000 n
+0000859563 00000 n
+0000859756 00000 n
+0000859879 00000 n
+0000860002 00000 n
+0000860125 00000 n
+0000860273 00000 n
+0000860421 00000 n
+0000860569 00000 n
+0000860688 00000 n
+0000860807 00000 n
+0000860926 00000 n
+0000861047 00000 n
+0000861168 00000 n
+0000861289 00000 n
+0000861412 00000 n
+0000861535 00000 n
+0000861658 00000 n
+0000861872 00000 n
+0000862086 00000 n
+0000862300 00000 n
+0000862514 00000 n
+0000862728 00000 n
+0000862942 00000 n
+0000863097 00000 n
+0000863252 00000 n
+0000863407 00000 n
+0000863581 00000 n
+0000863755 00000 n
+0000863929 00000 n
+0000864103 00000 n
+0000864277 00000 n
+0000864451 00000 n
+0000864625 00000 n
+0000864799 00000 n
+0000864973 00000 n
+0000865147 00000 n
+0000865321 00000 n
+0000865495 00000 n
+0000865672 00000 n
+0000865849 00000 n
+0000866026 00000 n
+0000866195 00000 n
+0000866364 00000 n
+0000866533 00000 n
+0000866708 00000 n
+0000866883 00000 n
+0000867058 00000 n
+0000867237 00000 n
+0000867416 00000 n
+0000867595 00000 n
+0000867776 00000 n
+0000867957 00000 n
+0000868138 00000 n
+0000868292 00000 n
+0000868446 00000 n
+0000868600 00000 n
+0000868720 00000 n
+0000868840 00000 n
+0000868960 00000 n
+0000869082 00000 n
+0000869204 00000 n
+0000869326 00000 n
+0000869446 00000 n
+0000869566 00000 n
+0000869686 00000 n
+0000869852 00000 n
+0000870018 00000 n
+0000870184 00000 n
+0000870305 00000 n
+0000870426 00000 n
+0000870547 00000 n
+0000870713 00000 n
+0000870879 00000 n
+0000870999 00000 n
+0000871120 00000 n
+0000871241 00000 n
+0000871360 00000 n
+0000871479 00000 n
+0000871600 00000 n
+0000871721 00000 n
+0000871842 00000 n
+0000871963 00000 n
+0000872084 00000 n
+0000872205 00000 n
+0000872326 00000 n
+0000872447 00000 n
+0000872566 00000 n
+0000872686 00000 n
+0000872807 00000 n
+0000872928 00000 n
+0000873049 00000 n
+0000873170 00000 n
+0000873289 00000 n
+0000873408 00000 n
+0000873529 00000 n
+0000873649 00000 n
+0000831789 00000 n
+0000631034 00000 n
+0000630772 00000 n
+0000627978 00000 n
+0000627956 00000 n
+0000631009 00000 n
+0000644549 00000 n
+0000643984 00000 n
+0000631242 00000 n
+0000631219 00000 n
+0000644230 00000 n
+0000647150 00000 n
+0000646587 00000 n
+0000644746 00000 n
+0000644724 00000 n
+0000646821 00000 n
+0000646865 00000 n
+0000646844 00000 n
+0000658955 00000 n
+0000658326 00000 n
+0000647338 00000 n
+0000647315 00000 n
+0000658559 00000 n
+0000658621 00000 n
+0000658600 00000 n
+0000688937 00000 n
+0000688148 00000 n
+0000659151 00000 n
+0000659128 00000 n
+0000688378 00000 n
+0000691872 00000 n
+0000691625 00000 n
+0000689142 00000 n
+0000689120 00000 n
+0000691847 00000 n
+0000719307 00000 n
+0000718523 00000 n
+0000692073 00000 n
+0000692050 00000 n
+0000718760 00000 n
+0000728085 00000 n
+0000727390 00000 n
+0000719505 00000 n
+0000719483 00000 n
+0000727619 00000 n
+0000770737 00000 n
+0000769917 00000 n
+0000728288 00000 n
+0000728265 00000 n
+0000770164 00000 n
+0000778066 00000 n
+0000777590 00000 n
+0000770945 00000 n
+0000770923 00000 n
+0000777815 00000 n
+0000780755 00000 n
+0000780491 00000 n
+0000778264 00000 n
+0000778242 00000 n
+0000780730 00000 n
+0000784135 00000 n
+0000783565 00000 n
+0000780963 00000 n
+0000780941 00000 n
+0000783787 00000 n
+0000783833 00000 n
+0000783812 00000 n
+0000785077 00000 n
+0000784825 00000 n
+0000784324 00000 n
+0000784303 00000 n
+0000785052 00000 n
+0000786455 00000 n
+0000785855 00000 n
+0000785278 00000 n
+0000785257 00000 n
+0000786081 00000 n
+0000786135 00000 n
+0000786114 00000 n
+0000786624 00000 n
+0000786835 00000 n
+0000809496 00000 n
+0000809557 00000 n
+0000809807 00000 n
+0000810099 00000 n
+0000810287 00000 n
+0000810503 00000 n
+0000810659 00000 n
+0000810833 00000 n
+0000810996 00000 n
+0000811188 00000 n
+0000811376 00000 n
+0000811578 00000 n
+0000811802 00000 n
+0000811989 00000 n
+0000812142 00000 n
+0000812323 00000 n
+0000812520 00000 n
+0000812709 00000 n
+0000812965 00000 n
+0000813167 00000 n
+0000813392 00000 n
+0000813580 00000 n
+0000813737 00000 n
+0000813926 00000 n
+0000814099 00000 n
+0000814285 00000 n
+0000814470 00000 n
+0000814663 00000 n
+0000814864 00000 n
+0000815027 00000 n
+0000815228 00000 n
+0000815417 00000 n
+0000815605 00000 n
+0000815762 00000 n
+0000815935 00000 n
+0000816200 00000 n
+0000816393 00000 n
+0000816742 00000 n
+0000816933 00000 n
+0000817088 00000 n
+0000817349 00000 n
+0000817526 00000 n
+0000817695 00000 n
+0000817882 00000 n
+0000818087 00000 n
+0000818360 00000 n
+0000818593 00000 n
+0000818868 00000 n
+0000819033 00000 n
+0000819262 00000 n
+0000819493 00000 n
+0000819714 00000 n
+0000819863 00000 n
+0000820036 00000 n
+0000820191 00000 n
+0000820363 00000 n
+0000820516 00000 n
+0000820665 00000 n
+0000820936 00000 n
+0000821181 00000 n
+0000821374 00000 n
+0000821599 00000 n
+0000821804 00000 n
+0000822069 00000 n
+0000822398 00000 n
+0000822554 00000 n
+0000822739 00000 n
+0000822932 00000 n
+0000823095 00000 n
+0000823280 00000 n
+0000823457 00000 n
+0000823632 00000 n
+0000823817 00000 n
+0000824011 00000 n
+0000824232 00000 n
+0000824433 00000 n
+0000824678 00000 n
+0000824867 00000 n
+0000825075 00000 n
+0000825244 00000 n
+0000825469 00000 n
+0000825662 00000 n
+0000825861 00000 n
+0000826026 00000 n
+0000826181 00000 n
+0000826370 00000 n
+0000826535 00000 n
+0000826704 00000 n
+0000826853 00000 n
+0000827051 00000 n
+0000827216 00000 n
+0000827493 00000 n
+0000827728 00000 n
+0000827949 00000 n
+0000828169 00000 n
+0000828366 00000 n
+0000828514 00000 n
+0000828699 00000 n
+0000828944 00000 n
+0000829193 00000 n
+0000829429 00000 n
+0000829598 00000 n
+0000829827 00000 n
+0000830085 00000 n
+0000830254 00000 n
+0000830401 00000 n
+0000830570 00000 n
+0000830769 00000 n
+0000830950 00000 n
+0000831111 00000 n
+0000831288 00000 n
+0000831533 00000 n
+0000873768 00000 n
+0000873918 00000 n
trailer
-<</Size 464/Root 462 0 R
-/Info 463 0 R
-/ID [ <44C736AC45B7963D645E9257B31F2589>
-<44C736AC45B7963D645E9257B31F2589> ]
-/DocChecksum /764B8817D10C5827875FEC07DA75C869
+<</Size 874/Root 872 0 R
+/Info 873 0 R
+/ID [ <7A097288CD9065014A56E35DDD1E7662>
+<7A097288CD9065014A56E35DDD1E7662> ]
>>
startxref
-1385417
+874209
%%EOF
Modified: labs/jbossesb/workspace/maeste/product/docs/README_FIRST.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/docs/README_FIRST.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/docs/README_FIRST.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,9 +4,9 @@
(i) Start with the Getting Started Guide, as this will give you an overview of what's available within JBossESB and how to get going quickly.
-(ii) Move on to the QuickStart Guide (Samples sub-directory), which will give you an overview of the various QuickStarts (examples) that ship with the product.
+(ii) Move on to the Samples sub-directory, which will give you an overview of the trailblazer. Take a look at the various Quickstarts as well.
-(iii) For an overview of SOA concepts, take a look at the Concepts document (in the Advanced sub-directory).
+(iii) For an overview of SOA concepts, there's an appendix in the Programmers Guide.
(iv) When you are ready, move on to the same sequence of documents as veteran JBossESB developers.
@@ -15,14 +15,10 @@
(i) Check the ReleaseNotes to see what's different between this release and the previous one.
-(ii) Go through the Administration Guide to ensure that your installation is appropriately configured and you are confident about managing it.
+(ii) Go through the Administration Guide to ensure that your installation is appropriately configured and you are confident about managing it. This includes a Management and Monitoring section that describes the types of metrics you can gain access to when running your ESB application.
(iii) Next move on to the Programmers Guide, which will give you an in depth description of JBossESB components and services.
-(iv) Depending upon the type of application you wish to develop, you may want to look at the documents in the advanced and services sub-directories.
+(iv) Read through the MessageAction part of the Programmers Guide to familiarize yourself with the out-of-the-box Actions. You may find them useful when developing new applications.
-(v) Read through the MessageAction Guide to familiarize yourself with the out-of-the-box Actions. You may find them useful when developing new applications.
-
-(vi) Look at the Adapters Guide: not everything you will be integrating with JBossESB will be able to understand the native protocols it uses.
-
-(vii) Finish with the Management and Monitoring Guide in the governance sub-directory.
\ No newline at end of file
+(v) Look at the Adapters section of the Programmers Guide: not everything you will be integrating with JBossESB will be able to understand the native protocols it uses.
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/docs/ServicesGuide.odt (from rev 21158, labs/jbossesb/trunk/product/docs/ServicesGuide.odt)
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/docs/ServicesGuide.pdf (from rev 21158, labs/jbossesb/trunk/product/docs/ServicesGuide.pdf)
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/etc/schemas/xml/jbossesb-1.0.1.xsd
===================================================================
--- labs/jbossesb/workspace/maeste/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1003,8 +1003,7 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
- <xsd:attribute name="password" type="xsd:string"
- use="required">
+ <xsd:attribute name="password" type="xsd:string">
<xsd:annotation>
<xsd:documentation xml:lang="en">
The password used to access the ftp server.
@@ -1118,8 +1117,9 @@
use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
- The url to a certificate, which can be needed
- for secure protocols (sftp and ftps).
+ The url to a public server certificate for ftps, or to a
+ private certificate for sftp client verification. sftp certificate
+ can be located via a resource.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
@@ -1127,11 +1127,19 @@
use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
- The common name of a certificate, which can be needed
- for secure protocols (sftp and ftps).
+ The common name of a certificate, which may be needed
+ for ftps.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute name="certificate-passphrase" type="xsd:string"
+ use="optional">
+ <xsd:annotation>
+ <xsd:documentation xml:lang="en">
+ The passphrase of the private key, if necessary, for sftp client verification.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attribute default="false" name="read-only"
type="xsd:boolean" use="optional">
<xsd:annotation>
Modified: labs/jbossesb/workspace/maeste/product/install/bindings.xslt
===================================================================
--- labs/jbossesb/workspace/maeste/product/install/bindings.xslt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/install/bindings.xslt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -74,7 +74,7 @@
</xsl:stylesheet>
]]>
</xslt-config>
- <binding host="${{jboss.bind.address}}" port="{$jndiPort}" />
+ <binding host="${{jboss.esb.bind.address}}" port="{$jndiPort}" />
</delegate-config>
</service-config><xsl:text>
</xsl:text>
@@ -125,7 +125,7 @@
</xsl:stylesheet>
]]>
</xslt-config>
- <binding host="${{jboss.bind.address}}" port="{$jndiPort}" />
+ <binding host="${{jboss.esb.bind.address}}" port="{$jndiPort}" />
<xslt-param name="webPort"><xsl:value-of select="$webPort"/></xslt-param>
</delegate-config>
</service-config><xsl:text>
@@ -162,7 +162,7 @@
</xsl:stylesheet>
]]>
</xslt-config>
- <binding host="${{jboss.bind.address}}" port="{$jndiPort}" />
+ <binding host="${{jboss.esb.bind.address}}" port="{$jndiPort}" />
</delegate-config>
</service-config><xsl:text>
</xsl:text>
Modified: labs/jbossesb/workspace/maeste/product/install/conf/actionArtifactMap.properties
===================================================================
--- labs/jbossesb/workspace/maeste/product/install/conf/actionArtifactMap.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/install/conf/actionArtifactMap.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -47,6 +47,7 @@
# smooks.esb actions
org.jboss.soa.esb.actions.converters.SmooksTransformer=smooks.esb
org.jboss.soa.esb.actions.smooks.SmooksAction=smooks.esb
+org.jboss.soa.esb.smooks.SmooksAction=smooks.esb
# management.esb actions
org.jboss.soa.esb.monitoring.server.DataFilerAction=management.esb
Modified: labs/jbossesb/workspace/maeste/product/install/conf/esb.juddi.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/install/conf/esb.juddi.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/install/conf/esb.juddi.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -20,7 +20,7 @@
<entry key="juddi.i18n.countryCode">US</entry>
<!-- The UDDI DiscoveryURL Prefix -->
- <entry key="juddi.discoveryURL">http://${jboss.bind.address}:8080/juddi/uddiget.jsp?</entry>
+ <entry key="juddi.discoveryURL">http://${jboss.esb.bind.address}:8080/juddi/uddiget.jsp?</entry>
<!-- The UDDI Operator Contact Email Address -->
<entry key="juddi.operatorEmailAddress">admin at juddi.org</entry>
@@ -75,15 +75,15 @@
<entry key="juddi.validator">org.apache.juddi.validator.DefaultValidator</entry>
<!-- jUDDI Proxy Properties (used by RegistryProxy) -->
- <entry key="juddi.proxy.adminURL">http://${jboss.bind.address}:8080/juddi/admin</entry>
- <entry key="juddi.proxy.inquiryURL">http://${jboss.bind.address}:8080/juddi/inquiry</entry>
- <entry key="juddi.proxy.publishURL">http://${jboss.bind.address}:8080/juddi/publish</entry>
+ <entry key="juddi.proxy.adminURL">http://${jboss.esb.bind.address}:8080/juddi/admin</entry>
+ <entry key="juddi.proxy.inquiryURL">http://${jboss.esb.bind.address}:8080/juddi/inquiry</entry>
+ <entry key="juddi.proxy.publishURL">http://${jboss.esb.bind.address}:8080/juddi/publish</entry>
<entry key="juddi.proxy.transportClass">org.apache.juddi.proxy.AxisTransport</entry>
<entry key="juddi.proxy.securityProvider">com.sun.net.ssl.internal.ssl.Provider</entry>
<entry key="juddi.proxy.protocolHandler">com.sun.net.ssl.internal.www.protocol</entry>
<!-- JNDI settings (used by RMITransport) -->
<entry key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</entry>
- <entry key="java.naming.provider.url">jnp://${jboss.bind.address}:1099</entry>
+ <entry key="java.naming.provider.url">jnp://${jboss.esb.bind.address}:1099</entry>
<entry key="java.naming.factory.url.pkgs">org.jboss.naming</entry>
</properties>
Modified: labs/jbossesb/workspace/maeste/product/install/conf/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/install/conf/jbossesb-properties.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/install/conf/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -32,7 +32,7 @@
xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
<properties name="core">
<property name="org.jboss.soa.esb.jndi.server.context.factory" value="org.jnp.interfaces.NamingContextFactory"/>
- <property name="org.jboss.soa.esb.jndi.server.url" value="${jboss.bind.address}:1099"/>
+ <property name="org.jboss.soa.esb.jndi.server.url" value="${jboss.esb.bind.address}:1099"/>
<property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
<property name="org.jboss.soa.esb.loadbalancer.policy" value="org.jboss.soa.esb.listeners.ha.RoundRobin"/>
<property name="jboss.esb.invm.scope.default" value="NONE"/>
Modified: labs/jbossesb/workspace/maeste/product/install/jbpm-patch/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/install/jbpm-patch/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/install/jbpm-patch/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -17,7 +17,7 @@
srcFile="jbpm-app-policy.text"/>
<replaceregexp file="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}/conf/login-config.xml"
replace="${jbpm.application.policy.text}"
- match="^-->(\s+)?$\n^(\s+)?$\n^<policy>(\s+)?$\n^(\s+)?$" flags="m"/>
+ match="^<policy>\s*$\n" flags="m"/>
</target>
Modified: labs/jbossesb/workspace/maeste/product/install/jbpm-patch/jbpm-app-policy.text
===================================================================
--- labs/jbossesb/workspace/maeste/product/install/jbpm-patch/jbpm-app-policy.text 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/install/jbpm-patch/jbpm-app-policy.text 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,5 +1,4 @@
- -->
- <policy>
+<policy>
<application-policy name = "jbpm">
<authentication>
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule"
Copied: labs/jbossesb/workspace/maeste/product/lib/ext/mvel-1.3.1-java1.4.jar (from rev 21158, labs/jbossesb/trunk/product/lib/ext/mvel-1.3.1-java1.4.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/lib/ext/mvel14-1.2rc4rv908.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/lib/ext/wsdl4j-1.6.2.jar (from rev 21158, labs/jbossesb/trunk/product/lib/ext/wsdl4j-1.6.2.jar)
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/rosetta/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -84,10 +84,14 @@
<fileset dir="${org.jboss.esb.rosetta.src.dir}" includes="**/*.groovy"/>
<fileset dir="${org.jboss.esb.rosetta.src.dir}" includes="**/*.properties"/>
</jar>
- <jar destfile="${org.jboss.esb.rosetta.distrib.dir}/lib/test-util.jar">
- <fileset dir="${org.jboss.esb.internal.dest}/tests/"
- includes="org/jboss/soa/esb/testutils/**/*.class"/>
+
+ <jar destfile="${org.jboss.esb.rosetta.distrib.dir}/lib/test-util.jar" manifest="${org.jboss.esb.rosetta.classes.dir}/MANIFEST.MF">
+ <fileset dir="${org.jboss.esb.rosetta.classes.dir}"
+ includes="VERSION org/jboss/soa/**/Version.class"/>
+ <fileset dir="${org.jboss.esb.internal.dest}/tests/"
+ includes="org/jboss/soa/esb/testutils/**/*.class"/>
<fileset dir="tests/src" includes="org/jboss/soa/esb/testutils/*.properties"/>
+ <fileset dir="tests/src" includes="org/jboss/soa/esb/testutils/*.xml"/>
<fileset dir="${org.jboss.esb.internal.dest}/tests/"
includes="org/jboss/soa/esb/common/tests/*.class"/>
<fileset dir="${org.jboss.esb.internal.dest}/tests/"
@@ -109,6 +113,22 @@
<target name="generate-config-model" depends="org.jboss.esb.rosetta.prepare">
+ <delete file="${org.jboss.esb.rosetta.classes.dir}/VERSION"/>
+ <propertyfile file="${org.jboss.esb.rosetta.classes.dir}/VERSION" comment="JBoss ESB Product Information">
+ <entry key="Version" value="${version}"/>
+ </propertyfile>
+
+ <manifest file="${org.jboss.esb.rosetta.classes.dir}/MANIFEST.MF">
+ <attribute name="Built-By" value="${user.name}"/>
+ <attribute name="Main-Class" value="org.jboss.soa.esb.Version"/>
+ <section name="JBoss ESB">
+ <attribute name="Specification-Title" value="${esb.server.name}"/>
+ <attribute name="Specification-Version" value="${version}"/>
+ <attribute name="Specification-Vendor" value="JBoss"/>
+ <attribute name="Implementation-Version" value="${version} ${TODAY}"/>
+ </section>
+ </manifest>
+
<taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpathref="xbeans-classpath" />
<delete dir="${gendir}" /><mkdir dir="${gendir}" />
@@ -122,9 +142,12 @@
<fileset dir="${org.jboss.esb.root.dir}/etc/schemas/xml/" includes="jbossesb-1.0.1.xsd,jbossesb-1.0.1.xsdconfig"/>
</xmlbean>
<!-- now add the xsd to it -->
- <jar destfile="${org.jboss.esb.rosetta.distrib.dir}/lib/jbossesb-config-model-1.0.1.jar" update="true"
+ <jar destfile="${org.jboss.esb.rosetta.distrib.dir}/lib/jbossesb-config-model-1.0.1.jar" update="true" manifest="${org.jboss.esb.rosetta.classes.dir}/MANIFEST.MF"
basedir="${org.jboss.esb.root.dir}/etc/schemas/xml/"
- includes="jbossesb-1.0.1.xsd"/>
+ includes="jbossesb-1.0.1.xsd">
+ <fileset dir="${org.jboss.esb.rosetta.classes.dir}"
+ includes="VERSION org/jboss/soa/**/Version.class"/>
+ </jar>
</target>
<path id="xbeans-classpath">
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -296,14 +296,6 @@
else
handler.renameFile(work, done);
- /*
- * If this is fault message, then throw an exception with the contents. With the
- * exception of user-defined exceptions, faults will have nothing in the body, properties etc.
- */
-
- if (Type.isFaultMessage(result))
- Factory.createExceptionFromFault(result);
-
return result;
}
try
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/InVMCourier.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -23,10 +23,14 @@
package org.jboss.internal.soa.esb.couriers;
import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.couriers.tx.InVMXAResource;
import org.jboss.soa.esb.addressing.eprs.InVMEpr;
+import org.jboss.soa.esb.common.TransactionStrategy;
+import org.jboss.soa.esb.common.TransactionStrategyException;
import org.jboss.soa.esb.couriers.CourierException;
import org.jboss.soa.esb.message.Message;
+import java.io.IOException;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -55,7 +59,8 @@
private long deliveryTimeout = 0;
private boolean isActive = true;
-
+ private boolean passByReference = true;
+
/**
* Objects of this class should only be instantiated by internal
* implementations
@@ -82,16 +87,23 @@
} else {
deliveryTimeout = 0;
}
+
+ passByReference = epr.getPassByReference();
}
/**
- * package the ESB message into the queue
+ * package the ESB message into the queue. If this is a transactional interaction
+ * then the deliver will return immediately, but the message may not go into
+ * the queue if the transaction subsequently rolls back. The caller must monitor
+ * the transaction outcome to determine the fate of the message. For example, register
+ * a Synchronization.
*
- * @param message Message - the message to deliverAsync
+ * @param Message - the message to deliverAsync
* @return boolean - the result of the delivery
* @throws CourierException -
* if problems were encountered
*/
+
public boolean deliver(Message message) {
if (!isCourierActive()) {
return false;
@@ -101,25 +113,106 @@
return false;
}
- synchronized (messageQueue) {
- messageQueue.add(message);
+ try
+ {
+ /*
+ * Are we operating within the scope of a global transaction?
+ */
+
+ if (isTransactional())
+ {
+ /*
+ * If we are transactional, then hold off on the insertion until the transaction commits.
+ * The XAResource is given the duty of doing the insert in that case.
+ * If it doesn't commit, then the insert won't happen and the client needs to monitor
+ * the transaction outcome.
+ *
+ * We could get away with using a Synchronization rather than an XAResource
+ * since there's no durable component in this case. However, Synchronizations aren't
+ * guaranteed to be called in all circumstances and unless you've read the JTS spec. it'll
+ * make maintaining things that little bit more difficult. Using a Synchronization would
+ * be ok with JBossTS, but not necessarily other implementations. We could end up with
+ * a non-atomic outcome as a result.
+ *
+ * The downside of this is that we could force a 1PC transaction to become 2PC when in
+ * fact there's no real difference to the 1PC participant. But the upside is we get
+ * consistency!
+ */
+
+ TransactionStrategy txStrategy = TransactionStrategy.getTransactionStrategy(true);
+
+ txStrategy.enlistResource(new InVMXAResource(this, message, InVMXAResource.operation.INSERT));
+
+ /*
+ * Can't do lockstep wait here because otherwise the transaction may not terminate if this
+ * is the transaction controller thread!
+ */
+
+ return true; // does not mean message got into the queue.
+ }
+ else
+ {
+ synchronized (messageQueue) {
+ /*
+ * If not pass-by-reference then use a copy of
+ * the input message.
+ */
+
+ if (!passByReference)
+ {
+ try
+ {
+ messageQueue.add(message.copy());
+ }
+ catch (IOException ex)
+ {
+ logger.warn("Could not create a copy of message to pass by value: "+ex);
+
+ return false;
+ }
+ }
+ else
+ messageQueue.add(message);
- // Notify 1 waiting pickup thread of the delivery...
- messageQueue.notify();
+ // Notify 1 waiting pickup thread of the delivery...
+ messageQueue.notify();
- if (deliveryTimeout > 0) {
- try {
- // Wait on notification from the pickup thread...
- messageQueue.wait(deliveryTimeout);
- } catch (InterruptedException e) {
- logger.warn("Timeout expired while waiting on message pickup on InVM queue '" + epr.getAddr().getAddress() + "'.", e);
+ if (deliveryTimeout > 0) {
+ try {
+ // Wait on notification from the pickup thread...
+ messageQueue.wait(deliveryTimeout);
+ } catch (InterruptedException e) {
+ logger.warn("Timeout expired while waiting on message pickup on InVM queue '" + epr.getAddr().getAddress() + "'.", e);
+ }
+ }
}
+
+ return true;
}
}
-
- return true;
+ catch (final Throwable ex)
+ {
+ logger.warn("InVMCourier delivery caught: "+ex);
+
+ return false;
+ }
}
+ /**
+ * Get a mesage from the queue or wait for the specified time in case one
+ * arrives.
+ *
+ * If this is a transactional interaction then the message will be placed back
+ * on the queue if the enclosing transaction rolls back. Note that for performance
+ * reasons it is not guaranteed that the message will go back at the same relative
+ * position.
+ *
+ * @param long the time to wait if the queue is empty.
+ * @return a Message or <code>null</code> if there is nothing on the queue.
+ */
+
+ // see associated test
+
public Message pickup(long millis) {
if (!isCourierActive()) {
return null;
@@ -127,22 +220,49 @@
Message message = null;
- millis = Math.max(millis, 100);
- synchronized (messageQueue) {
- if (messageQueue.isEmpty()) {
- try {
- messageQueue.wait(millis);
- } catch (InterruptedException e) {
- logger.debug("Pickup thread '" + Thread.currentThread().getName() + "' interrupted while waiting on delivery notification or timeout.", e);
+ try
+ {
+ millis = Math.max(millis, 100);
+ synchronized (messageQueue) {
+ if (messageQueue.isEmpty()) {
+ try {
+ messageQueue.wait(millis);
+ } catch (InterruptedException e) {
+ logger.debug("Pickup thread '" + Thread.currentThread().getName() + "' interrupted while waiting on delivery notification or timeout.", e);
+ }
}
+ if (!messageQueue.isEmpty()) {
+ message = messageQueue.remove();
+ }
+
+ // Notify 1 waiting delivery thread of the pickup...
+ messageQueue.notify();
}
- if (!messageQueue.isEmpty()) {
- message = messageQueue.remove();
+
+ if (isTransactional())
+ {
+ /*
+ * Return the message, but don't remove it from the queue until the transaction
+ * commits. If the transaction rolls back then the message may not go back into the
+ * queue at the exact place it was originally: other messages may have been removed
+ * successfully by other threads. Plus, we would have to maintain a before and after
+ * image of the queue. This is more a compensation transaction.
+ */
+
+ TransactionStrategy txStrategy = TransactionStrategy.getTransactionStrategy(true);
+ InVMXAResource theResource = new InVMXAResource(this, message, InVMXAResource.operation.REMOVE);
+
+ txStrategy.enlistResource(theResource);
+
+ // now we can deliver the message.
}
-
- // Notify 1 waiting delivery thread of the pickup...
- messageQueue.notify();
}
+ catch (final Throwable ex)
+ {
+ logger.warn("InVMCourier pickup caught: "+ex);
+
+ return null;
+ }
return message;
}
@@ -166,6 +286,109 @@
}
public void reset() {
- messageQueue.clear();
+ try
+ {
+ if (isTransactional())
+ logger.warn("InVMCourier reset called on transactional courier: ignoring reset for the sake of consistency!");
+ else
+ messageQueue.clear();
+ }
+ catch (final Throwable ex)
+ {
+ logger.debug("InVMCourier reset caught: "+ex);
+ }
}
+
+ /**
+ * Used by transactional resource to deliver the message to the queue
+ * in the event of a transaction commit.
+ * Almost the same as normal delivery, except no lockstep wait. Lockstep
+ * does not make sense in the scope of queued transactional delivery.
+ */
+
+ public boolean doDeliver (Message message)
+ {
+ synchronized (messageQueue)
+ {
+ /*
+ * If not pass-by-reference then use a copy of
+ * the input message.
+ */
+
+ if (!passByReference)
+ {
+ try
+ {
+ messageQueue.add(message.copy());
+ }
+ catch (IOException ex)
+ {
+ logger.warn("Could not create a copy of message to pass by value: "+ex);
+
+ return false;
+ }
+ }
+ else
+ messageQueue.add(message);
+
+ // Notify 1 waiting pickup thread of the delivery...
+ messageQueue.notify();
+ }
+
+ return true;
+ }
+
+ /**
+ * Used by transactional resource to place message back on the queue. We remove from the head
+ * but insert to the tail, for speed. If individual messages need to be delivered in some well
+ * defined order then this could cause problems. However, there are no ordering guarantees with
+ * a range of transports, and particularly not in an asynchronous environment with arbitrary
+ * network latency.
+ *
+ * If this does cause a problem then we should revisit. It will mean creating a fully transactional
+ * queue (done already in Arjuna so we may be able to lift that code). But that will affect
+ * performance. It may be easier to look at solving the ordering problem separately.
+ */
+
+ public boolean doRedeliver (Message message)
+ {
+ synchronized (messageQueue) {
+ messageQueue.add(message);
+ }
+
+ return true;
+ }
+
+ /*
+ * TODO this is used in a number of classes so should be a separate
+ * util routine.
+ */
+
+ private boolean isTransactional() throws CourierException {
+ boolean transactional;
+ try
+ {
+ TransactionStrategy txStrategy = TransactionStrategy.getTransactionStrategy(true);
+ Object txHandle = ((txStrategy == null) ? null : txStrategy.getTransaction());
+ boolean isActive = ((txStrategy == null) ? false : txStrategy.isActive());
+
+ transactional = (txHandle != null);
+
+ /*
+ * Make sure the current transaction is still active! If we
+ * have previously slept, then the timeout may be longer than that
+ * associated with the transaction.
+ */
+
+ if (transactional && !isActive)
+ {
+ throw new CourierException("Associated transaction is no longer active!");
+ }
+ }
+ catch (TransactionStrategyException ex)
+ {
+ throw new CourierException(ex);
+ }
+ return transactional;
+ }
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/JmsCourier.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -28,12 +28,12 @@
import java.util.Properties;
import javax.jms.DeliveryMode;
+import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.ObjectMessage;
import javax.jms.Session;
-import javax.jms.Topic;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.xml.parsers.ParserConfigurationException;
@@ -98,26 +98,28 @@
public void cleanup() {
synchronized(this) {
- if (_messageProducer != null) {
- try {
- _messageProducer.close();
- } catch (Exception e) {
- _logger.debug(e.getMessage(), e);
- } finally {
- _messageProducer = null;
- closeSession();
+ try {
+ if (_messageProducer != null) {
+ try {
+ _messageProducer.close();
+ } catch (Exception e) {
+ _logger.debug(e.getMessage(), e);
+ } finally {
+ _messageProducer = null;
+ }
}
- }
- if (_messageConsumer != null) {
- try {
- _messageConsumer.close();
- } catch (JMSException e) {
- _logger.debug(e.getMessage(), e);
- } finally {
- _messageConsumer = null;
- closeSession();
+ if (_messageConsumer != null) {
+ try {
+ _messageConsumer.close();
+ } catch (JMSException e) {
+ _logger.debug(e.getMessage(), e);
+ } finally {
+ _messageConsumer = null;
+ }
}
+ } finally {
+ closeSession() ;
}
}
} // ________________________________
@@ -311,59 +313,52 @@
} // ________________________________
private void createMessageProducer() throws CourierException, NamingContextException {
- Context oJndiCtx = null;
-
synchronized(this) {
if (_messageProducer == null) {
try {
- oJndiCtx = NamingContextPool.getNamingContext(_epr.getJndiEnvironment());
-
- String sType = _epr.getDestinationType();
- if (JMSEpr.QUEUE_TYPE.equals(sType)) {
- Session qSess = getJmsSession(_epr.getAcknowledgeMode());
- javax.jms.Queue queue = null;
- try {
- queue = (javax.jms.Queue) oJndiCtx.lookup(_epr
- .getDestinationName());
- } catch (NamingException ne) {
+ final Session session = getJmsSession(_epr.getAcknowledgeMode());
+ Destination destination = null ;
+ final String destinationName = _epr.getDestinationName() ;
+ Context oJndiCtx = NamingContextPool.getNamingContext(_epr.getJndiEnvironment());
+ try {
+ String sType = _epr.getDestinationType();
+ if (JMSEpr.QUEUE_TYPE.equals(sType)) {
try {
- oJndiCtx = NamingContextPool.replaceNamingContext(oJndiCtx, _epr.getJndiEnvironment());
- queue = (javax.jms.Queue) oJndiCtx.lookup(_epr
- .getDestinationName());
- } catch (NamingException nex) {
- //ActiveMQ
- queue = qSess.createQueue(_epr.getDestinationName());
+ destination = (Destination) oJndiCtx.lookup(destinationName);
+ } catch (NamingException ne) {
+ try {
+ oJndiCtx = NamingContextPool.replaceNamingContext(oJndiCtx, _epr.getJndiEnvironment());
+ destination = (Destination) oJndiCtx.lookup(destinationName);
+ } catch (NamingException nex) {
+ //ActiveMQ
+ destination = session.createQueue(destinationName);
+ }
}
+ } else if (JMSEpr.TOPIC_TYPE.equals(sType)) {
+ try {
+ destination = (Destination) oJndiCtx.lookup(destinationName);
+ }
+ catch (NamingException ne) {
+ destination = session.createTopic(destinationName);
+ }
+ } else {
+ throw new CourierException("Unknown destination type");
}
- _messageProducer = qSess.createProducer(queue);
- } else if (JMSEpr.TOPIC_TYPE.equals(sType)) {
- Session tSess = getJmsSession(_epr.getAcknowledgeMode());
- Topic topic = null;
- try {
- topic = (Topic) oJndiCtx.lookup(_epr
- .getDestinationName());
+ _messageProducer = session.createProducer(destination);
+ _messageProducer.setDeliveryMode(_epr.getPersistent()?DeliveryMode.PERSISTENT:DeliveryMode.NON_PERSISTENT);
+ if ( _logger.isDebugEnabled() )
+ _logger.debug("JMSCourier deliveryMode: " + _messageProducer.getDeliveryMode() + ", peristent:" + _epr.getPersistent());
+ } finally {
+ if (oJndiCtx != null) {
+ NamingContextPool.releaseNamingContext(oJndiCtx) ;
}
- catch (NamingException ne) {
- topic = tSess.createTopic(_epr.getDestinationName());
- }
- _messageProducer = tSess.createProducer(topic);
- } else {
- throw new CourierException("Unknown destination type");
}
- _messageProducer.setDeliveryMode(_epr.getPersistent()?DeliveryMode.PERSISTENT:DeliveryMode.NON_PERSISTENT);
- if ( _logger.isDebugEnabled() )
- _logger.debug("JMSCourier deliveryMode: " + _messageProducer.getDeliveryMode() + ", peristent:" + _epr.getPersistent());
}
catch (JMSException ex) {
_logger.debug("Error from JMS system.", ex);
throw new CourierException(ex);
}
- finally {
- if (oJndiCtx != null) {
- NamingContextPool.releaseNamingContext(oJndiCtx) ;
- }
- }
}
}
} // ________________________________
@@ -480,42 +475,39 @@
boolean success = false;
try {
Properties environment = _epr.getJndiEnvironment();
+ final Session session = getJmsSession(_epr.getAcknowledgeMode());
+ Destination destination = null ;
+ final String destinationName = _epr.getDestinationName() ;
oJndiCtx = NamingContextPool.getNamingContext(environment);
try
{
String sType = _epr.getDestinationType();
if (JMSEpr.QUEUE_TYPE.equals(sType)) {
- Session qSess = getJmsSession(_epr.getAcknowledgeMode());
- javax.jms.Queue queue = null;
try {
- queue = (javax.jms.Queue) oJndiCtx.lookup(_epr
- .getDestinationName());
+ destination = (Destination) oJndiCtx.lookup(destinationName);
} catch (NamingException ne) {
try {
oJndiCtx = NamingContextPool.replaceNamingContext(oJndiCtx, environment);
- queue = (javax.jms.Queue) oJndiCtx.lookup(_epr
- .getDestinationName());
+ destination = (Destination) oJndiCtx.lookup(destinationName);
} catch (NamingException nex) {
//ActiveMQ
- queue = qSess.createQueue(_epr.getDestinationName());
+ destination = session.createQueue(destinationName);
}
}
- _messageConsumer = qSess.createConsumer(queue, _epr.getMessageSelector());
} else if (JMSEpr.TOPIC_TYPE.equals(sType)) {
- Session tSess = getJmsSession(_epr.getAcknowledgeMode());
- Topic topic = null;
try {
- topic = (Topic) oJndiCtx.lookup(_epr
- .getDestinationName());
+ destination = (Destination) oJndiCtx.lookup(destinationName);
}
catch (NamingException ne) {
- topic = tSess.createTopic(_epr.getDestinationName());
+ destination = session.createTopic(destinationName);
}
- _messageConsumer = tSess.createConsumer(topic, _epr
- .getMessageSelector());
} else {
throw new CourierException("Unknown destination type");
}
+ if (destination == null) {
+ throw new CourierException("Could not locate destination: " + destinationName);
+ }
+ _messageConsumer = session.createConsumer(destination, _epr.getMessageSelector());
success = true;
} finally {
NamingContextPool.releaseNamingContext(oJndiCtx) ;
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/SqlTableCourier.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -24,23 +24,31 @@
import org.apache.log4j.Logger;
import org.jboss.internal.soa.esb.couriers.helpers.JDBCEprDBResourceFactory;
+import org.jboss.internal.soa.esb.util.StreamUtils;
import org.jboss.soa.esb.addressing.Call;
import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
import org.jboss.soa.esb.common.TransactionStrategy;
import org.jboss.soa.esb.common.TransactionStrategyException;
-import org.jboss.soa.esb.couriers.*;
-import org.jboss.soa.esb.listeners.message.errors.Factory;
+import org.jboss.soa.esb.couriers.CourierException;
+import org.jboss.soa.esb.couriers.CourierTimeoutException;
+import org.jboss.soa.esb.couriers.CourierTransportException;
+import org.jboss.soa.esb.couriers.FaultMessageException;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.util.Type;
import org.jboss.soa.esb.util.Util;
+import java.io.ByteArrayInputStream;
import java.io.Serializable;
+import java.io.StringReader;
import java.net.URI;
import java.net.URISyntaxException;
+import java.sql.Blob;
+import java.sql.Clob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
import java.sql.SQLException;
+import java.sql.Types;
import java.util.UUID;
public class SqlTableCourier implements PickUpOnlyCourier, DeliverOnlyCourier
@@ -51,6 +59,8 @@
protected boolean deleteOnSuccess, deleteOnError;
protected boolean _isReceiver;
+
+ private int messageType = Types.OTHER ;
private JDBCEprDBResourceFactory jdbcFactory;
@@ -83,7 +93,7 @@
deleteOnError = Boolean.TRUE.equals(Boolean.valueOf(epr
.getErrorDelete()));
- jdbcFactory = new JDBCEprDBResourceFactory(epr);
+ jdbcFactory = new JDBCEprDBResourceFactory(epr);
}
public void cleanup() {
@@ -126,9 +136,9 @@
boolean transactional = isTransactional();
- Serializable serilaizedMessage;
+ Serializable serializedMessage;
try {
- serilaizedMessage = Util.serialize(message);
+ serializedMessage = Util.serialize(message);
} catch (Exception e) {
throw new CourierTransportException("Unable to serialize ESB Message.", e);
}
@@ -139,7 +149,34 @@
PreparedStatement insertStatement = jdbcFactory.createInsertStatement(connection);
try {
insertStatement.setString(1, msgId);
- insertStatement.setObject(2, serilaizedMessage);
+
+ final int type = getMessageType(connection) ;
+ switch(type)
+ {
+ case Types.BLOB:
+ final byte[] blobData = serializedMessage.toString().getBytes() ;
+ final ByteArrayInputStream bais = new ByteArrayInputStream(blobData) ;
+ insertStatement.setBinaryStream(2, bais, blobData.length) ;
+ break ;
+ case Types.BINARY:
+ case Types.VARBINARY:
+ case Types.LONGVARBINARY:
+ final byte[] data = serializedMessage.toString().getBytes() ;
+ insertStatement.setBytes(2, data) ;
+ break ;
+ case Types.CLOB:
+ final String clobData = serializedMessage.toString() ;
+ final StringReader clobReader = new StringReader(clobData) ;
+ insertStatement.setCharacterStream(2, clobReader, clobData.length()) ;
+ break ;
+ case Types.CHAR:
+ case Types.VARCHAR:
+ case Types.LONGVARCHAR:
+ insertStatement.setString(2, serializedMessage.toString()) ;
+ break ;
+ default:
+ insertStatement.setObject(2, serializedMessage);
+ }
insertStatement.setString(3, State.Pending.getColumnValue());
insertStatement.setLong(4, System.currentTimeMillis());
@@ -207,15 +244,7 @@
}
if (result != null) {
- /*
- * If this is fault message, then throw an exception with the contents. With the
- * exception of user-defined exceptions, faults will have nothing in the body, properties etc.
- */
- if (Type.isFaultMessage(result)) {
- Factory.createExceptionFromFault(result);
- } else {
- return result;
- }
+ return result;
}
}
} finally {
@@ -286,8 +315,35 @@
try
{
- Serializable blob = (Serializable) resultSet.getObject(1);
- result = Util.deserialize(blob);
+ final Serializable value ;
+ final int type = getMessageType(resultSet) ;
+ switch (type)
+ {
+ case Types.BLOB:
+ final Blob blob = resultSet.getBlob(1) ;
+ final byte[] blobData = StreamUtils.readStream(blob.getBinaryStream()) ;
+ value = new String(blobData) ;
+ break ;
+ case Types.BINARY:
+ case Types.VARBINARY:
+ case Types.LONGVARBINARY:
+ final byte[] binaryData = StreamUtils.readStream(resultSet.getBinaryStream(1)) ;
+ value = new String(binaryData) ;
+ break ;
+ case Types.CLOB:
+ final Clob clob = resultSet.getClob(1) ;
+ value = StreamUtils.readReader(clob.getCharacterStream());
+ break ;
+ case Types.CHAR:
+ case Types.VARCHAR:
+ case Types.LONGVARCHAR:
+ value = resultSet.getString(1) ;
+ break ;
+ default:
+ value = (Serializable) resultSet.getObject(1);
+ break ;
+ }
+ result = Util.deserialize(value);
}
catch (Exception e)
{
@@ -397,4 +453,53 @@
}
return transactional;
}
+
+ private synchronized int getMessageType(final Connection connection)
+ throws SQLException
+ {
+ if (messageType != Types.OTHER)
+ {
+ return messageType ;
+ }
+
+ final PreparedStatement ps = jdbcFactory.createSelect4UpdateStatement(connection) ;
+ try
+ {
+ ps.setString(1, "");
+ ps.setString(2, State.Pending.getColumnValue());
+
+ final ResultSet resultSet = ps.executeQuery();
+ try
+ {
+ return getMessageType(resultSet) ;
+ }
+ finally
+ {
+ try
+ {
+ resultSet.close() ;
+ }
+ catch (final Throwable th) {} // ignore
+ }
+ }
+ finally
+ {
+ try
+ {
+ ps.close() ;
+ }
+ catch (final Throwable th) {} // ignore
+ }
+ }
+
+ private synchronized int getMessageType(final ResultSet resultSet)
+ throws SQLException
+ {
+ if (messageType == Types.OTHER)
+ {
+ final ResultSetMetaData metaData = resultSet.getMetaData() ;
+ messageType = metaData.getColumnType(1) ;
+ }
+ return messageType ;
+ }
}
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/TwoWayCourierImpl.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -32,6 +32,8 @@
import org.jboss.soa.esb.couriers.*;
import org.jboss.soa.esb.filter.FilterManager;
import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.util.Type;
+import org.jboss.soa.esb.listeners.message.errors.Factory;
import java.net.URI;
import java.net.URISyntaxException;
@@ -211,9 +213,15 @@
public Message pickup(long waitTime) throws CourierException,
CourierTimeoutException
{
- return pickup(waitTime, _pickupCourier);
- }
+ Message message = pickup(waitTime, _pickupCourier);
+ if (message != null && Type.isFaultMessage(message)) {
+ Factory.createExceptionFromFault(message) ;
+ }
+
+ return message;
+ }
+
/**
* @see org.jboss.soa.esb.couriers.TwoWayCourier#pickup(long waitTime, EPR
* epr).
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/JmsComposer.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/JmsComposer.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/helpers/JmsComposer.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -78,8 +78,9 @@
* exception of user-defined exceptions, faults will have nothing in the body, properties etc.
*/
- if (Type.isFaultMessage(composedMessage))
+ if (Type.isFaultMessage(composedMessage)) {
Factory.createExceptionFromFault(composedMessage) ;
+ }
return composedMessage ;
}
Copied: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx (from rev 21158, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx)
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/InVMXAResource.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/InVMXAResource.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/InVMXAResource.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,197 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.internal.soa.esb.couriers.tx;
-
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import javax.transaction.xa.Xid;
-
-import org.apache.log4j.Logger;
-import org.jboss.internal.soa.esb.couriers.InVMCourier;
-import org.jboss.soa.esb.message.Message;
-
-/**
- * This XAResource instance controls the InVM queue manipulation under the control
- * of the transaction manager. Since InVM is inherently volatile, a crash failure
- * will take the entire queue with it, along with the client and server, we have much
- * less to worry about here in terms of recovery. Therefore we need to ensure that
- * the transaction manager does not save this instance to the log, since it won't
- * make sense upon recovery: the entire queue will have been destroyed.
- *
- * This does mean that we could have non-atomic outcomes in the event of a crash where
- * durable participants (e.g., database) were involved in the same transaction. But
- * there is nothing we can do about that, without affecting the performance benefits of
- * InVM. We will call this out explicitly in the documentation and the user needs to
- * be aware of the possible consequences.
- *
- * Could be a Synchronization if we could guarantee that afterCompletion will be called
- * (where we would do the compensation). But since that's only a 'best effort' we need
- * to make this an XAResource.
- */
-
-public class InVMXAResource implements XAResource
-{
- public enum operation { INSERT, REMOVE };
-
- public InVMXAResource (InVMCourier courier, Message msg, final operation op)
- {
- _theCourier = courier;
- _msg = msg;
- _opcode = op;
- }
-
- /*
- * During commit, we deliver the message on to the queue if we were sending a message.
- * If we were receiving, then this is a no-op since we already changed the queue by
- * removing the message.
- *
- * @see javax.transaction.xa.XAResource#commit(javax.transaction.xa.Xid, boolean)
- */
-
- public void commit (Xid xid, boolean onePhase) throws XAException
- {
- if (_opcode == operation.INSERT)
- {
- boolean problem = false;
-
- try
- {
- problem = _theCourier.doDeliver(_msg);
- }
- catch (final Exception ex)
- {
- ex.printStackTrace();
-
- problem = true; // oops!
- }
-
- if (problem) // not a lot we can do at this stage
- {
- _logger.warn("InVMXAResource failed to commit to the InVM queue!");
-
- throw new XAException(XAException.XA_HEURHAZ);
- }
- }
- }
-
- public void end (Xid xid, int flags) throws XAException
- {
- }
-
- public void forget (Xid xid) throws XAException
- {
- }
-
- public int getTransactionTimeout () throws XAException
- {
- return _timeout;
- }
-
- public int prepare (Xid xid) throws XAException
- {
- return XAResource.XA_OK;
- }
-
- /*
- * There is nothing to recover.
- *
- * @see javax.transaction.xa.XAResource#recover(int)
- */
-
- public Xid[] recover (int flag) throws XAException
- {
- return null;
- }
-
- /*
- * During rollback we put the message back on the queue (tail) if we were receiving
- * a message. If we were delivering then there is nothing to do because we did not
- * update the queue directly, but rely on this instance to do it if the transaction
- * commits.
- */
-
- public void rollback (Xid xid) throws XAException
- {
- if (_opcode == operation.REMOVE) // put the message back on the queue
- {
- /*
- * The message goes back on the queue. This may not be the same
- * location as it had previously, but any attempt to do a truly
- * transactional queue will affect performance adversely, for relatively
- * little benefit. In an asynchronous world, applications should not
- * be written assuming that a queue (or any transport) guarantees ordering.
- * The ordering (or lack thereof) should be dealt with at the application
- * level, where possible.
- *
- * TODO we could add a queue-insertion policy that allows the developer to override
- * how the message gets placed back into the queue.
- */
-
- boolean problem = false;
-
- try
- {
- problem = _theCourier.doRedeliver(_msg);
- }
- catch (final Exception ex)
- {
- problem = true;
- }
-
- if (problem) // shouldn't get here, but ...
- {
- _logger.warn("InVMXAResource could not rollback and put Message on to InVM queue!");
-
- throw new XAException(XAException.XA_HEURHAZ);
- }
- }
- }
-
- public boolean setTransactionTimeout (int seconds) throws XAException
- {
- _timeout = seconds;
-
- return true;
- }
-
- public void start (Xid xid, int flags) throws XAException
- {
- }
-
- public Message getMessage ()
- {
- return _msg;
- }
-
- public boolean isSameRM (XAResource xares) throws XAException
- {
- return (xares == this);
- }
-
- private InVMCourier _theCourier;
- private Message _msg;
- private operation _opcode;
- private int _timeout;
-
- protected static Logger _logger = Logger.getLogger(InVMXAResource.class);
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/InVMXAResource.java (from rev 21158, labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/InVMXAResource.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/InVMXAResource.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/couriers/tx/InVMXAResource.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,197 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.internal.soa.esb.couriers.tx;
+
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.couriers.InVMCourier;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * This XAResource instance controls the InVM queue manipulation under the control
+ * of the transaction manager. Since InVM is inherently volatile, a crash failure
+ * will take the entire queue with it, along with the client and server, we have much
+ * less to worry about here in terms of recovery. Therefore we need to ensure that
+ * the transaction manager does not save this instance to the log, since it won't
+ * make sense upon recovery: the entire queue will have been destroyed.
+ *
+ * This does mean that we could have non-atomic outcomes in the event of a crash where
+ * durable participants (e.g., database) were involved in the same transaction. But
+ * there is nothing we can do about that, without affecting the performance benefits of
+ * InVM. We will call this out explicitly in the documentation and the user needs to
+ * be aware of the possible consequences.
+ *
+ * Could be a Synchronization if we could guarantee that afterCompletion will be called
+ * (where we would do the compensation). But since that's only a 'best effort' we need
+ * to make this an XAResource.
+ */
+
+public class InVMXAResource implements XAResource
+{
+ public enum operation { INSERT, REMOVE };
+
+ public InVMXAResource (InVMCourier courier, Message msg, final operation op)
+ {
+ _theCourier = courier;
+ _msg = msg;
+ _opcode = op;
+ }
+
+ /*
+ * During commit, we deliver the message on to the queue if we were sending a message.
+ * If we were receiving, then this is a no-op since we already changed the queue by
+ * removing the message.
+ *
+ * @see javax.transaction.xa.XAResource#commit(javax.transaction.xa.Xid, boolean)
+ */
+
+ public void commit (Xid xid, boolean onePhase) throws XAException
+ {
+ if (_opcode == operation.INSERT)
+ {
+ boolean problem = false;
+
+ try
+ {
+ problem = _theCourier.doDeliver(_msg);
+ }
+ catch (final Exception ex)
+ {
+ ex.printStackTrace();
+
+ problem = true; // oops!
+ }
+
+ if (problem) // not a lot we can do at this stage
+ {
+ _logger.warn("InVMXAResource failed to commit to the InVM queue!");
+
+ throw new XAException(XAException.XA_HEURHAZ);
+ }
+ }
+ }
+
+ public void end (Xid xid, int flags) throws XAException
+ {
+ }
+
+ public void forget (Xid xid) throws XAException
+ {
+ }
+
+ public int getTransactionTimeout () throws XAException
+ {
+ return _timeout;
+ }
+
+ public int prepare (Xid xid) throws XAException
+ {
+ return XAResource.XA_OK;
+ }
+
+ /*
+ * There is nothing to recover.
+ *
+ * @see javax.transaction.xa.XAResource#recover(int)
+ */
+
+ public Xid[] recover (int flag) throws XAException
+ {
+ return null;
+ }
+
+ /*
+ * During rollback we put the message back on the queue (tail) if we were receiving
+ * a message. If we were delivering then there is nothing to do because we did not
+ * update the queue directly, but rely on this instance to do it if the transaction
+ * commits.
+ */
+
+ public void rollback (Xid xid) throws XAException
+ {
+ if (_opcode == operation.REMOVE) // put the message back on the queue
+ {
+ /*
+ * The message goes back on the queue. This may not be the same
+ * location as it had previously, but any attempt to do a truly
+ * transactional queue will affect performance adversely, for relatively
+ * little benefit. In an asynchronous world, applications should not
+ * be written assuming that a queue (or any transport) guarantees ordering.
+ * The ordering (or lack thereof) should be dealt with at the application
+ * level, where possible.
+ *
+ * TODO we could add a queue-insertion policy that allows the developer to override
+ * how the message gets placed back into the queue.
+ */
+
+ boolean problem = false;
+
+ try
+ {
+ problem = _theCourier.doRedeliver(_msg);
+ }
+ catch (final Exception ex)
+ {
+ problem = true;
+ }
+
+ if (problem) // shouldn't get here, but ...
+ {
+ _logger.warn("InVMXAResource could not rollback and put Message on to InVM queue!");
+
+ throw new XAException(XAException.XA_HEURHAZ);
+ }
+ }
+ }
+
+ public boolean setTransactionTimeout (int seconds) throws XAException
+ {
+ _timeout = seconds;
+
+ return true;
+ }
+
+ public void start (Xid xid, int flags) throws XAException
+ {
+ }
+
+ public Message getMessage ()
+ {
+ return _msg;
+ }
+
+ public boolean isSameRM (XAResource xares) throws XAException
+ {
+ return (xares == this);
+ }
+
+ private InVMCourier _theCourier;
+ private Message _msg;
+ private operation _opcode;
+ private int _timeout;
+
+ protected static Logger _logger = Logger.getLogger(InVMXAResource.class);
+}
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/H2Database.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/H2Database.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/H2Database.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -25,8 +25,10 @@
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
+import java.sql.SQLException;
import java.sql.Statement;
+import org.h2.tools.Server;
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.system.server.ServerConfigLocator;
@@ -40,259 +42,431 @@
* @author <a href="mailto:vesco.claudio at previnet.it">Claudio Vesco</a>
* @author <a href="mailto:dimitris at jboss.org">Dimitris Andreadis</a>
* @author <a href="mailto:kevin.conner at jboss.org">Kevin Conner</a>
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
* @version $Revision$
*/
-public class H2Database extends ServiceMBeanSupport
- implements H2DatabaseMBean
+public class H2Database extends ServiceMBeanSupport implements H2DatabaseMBean
{
- /** Default password: <code>empty string</code>. */
- private static final String DEFAULT_PASSWORD = "";
+ /** Default password: <code>empty string</code>. */
+ private static final String DEFAULT_PASSWORD = "";
+
+ /** Default user: <code>sa</code>. */
+ private static final String DEFAULT_USER = "sa";
+
+ /** JDBC Driver class: <code>org.h2.Driver</code>. */
+ private static final String JDBC_DRIVER_CLASS = "org.h2.Driver";
+
+ /** JDBC URL common prefix: <code>jdbc:h2:</code>. */
+ private static final String JDBC_URL_PREFIX = "jdbc:h2:";
- /** Default user: <code>sa</code>. */
- private static final String DEFAULT_USER = "sa";
+ /** JDBC in memory URL prefix: <code>jdbc:h2:mem:</code>. */
+ private static final String JDBC_MEM_URL_PREFIX = JDBC_URL_PREFIX + "mem:";
+
+ /** JDBC flags */
+ private static final String DEFAULT_FLAGS = ";MVCC=TRUE;DB_CLOSE_ON_EXIT=FALSE";
+
+ /** Default data subdir: <code>h2</code>. */
+ private static final String H2_DATA_DIR = "h2";
+
+ /** Default database name: <code>default</code>. */
+ private static final String DEFAULT_DATABASE_NAME = "default";
+
+ /** Default address for remote h2: <code>0.0.0.0</code>. */
+ private static final String DEFAULT_ADDRESS = "0.0.0.0";
+
+ /** Default port for remote h2: <code>9092</code>. */
+ private static final int DEFAULT_PORT = 9092;
+
+ /** Default delay for remote hypersonic initialisation (ms): <code>5000</code>. */
+ private static final long DEFAULT_DELAY = 5000;
+
+ // Private Data --------------------------------------------------
+
+ /** Full path to db/h2. */
+ private File dbPath;
+
+ /** Database name. */
+ private String name = DEFAULT_DATABASE_NAME;
+
+ /** In memory mode. */
+ private boolean inMemoryMode ;
+
+ /** Database user. */
+ private String user = DEFAULT_USER;
+
+ /** Database password. */
+ private String password = DEFAULT_PASSWORD;
+
+ /** Database flags */
+ private String flags = DEFAULT_FLAGS ;
+
+ /** Hold a connection for in memory h2. */
+ private Connection connection;
+
+ /** Default address. */
+ private String address = DEFAULT_ADDRESS;
+
+ /** Default port. */
+ private int port = DEFAULT_PORT;
+
+ /** Server/remote mode. */
+ private boolean serverMode = false;
- /** JDBC Driver class: <code>org.h2.Driver</code>. */
- private static final String JDBC_DRIVER_CLASS = "org.h2.Driver";
-
- /** JDBC URL common prefix: <code>jdbc:h2:</code>. */
- private static final String JDBC_URL_PREFIX = "jdbc:h2:";
-
- /** JDBC in memory URL prefix: <code>jdbc:h2:mem:</code>. */
- private static final String JDBC_MEM_URL_PREFIX = JDBC_URL_PREFIX + "mem:";
-
- /** JDBC flags */
- private static final String DEFAULT_FLAGS = ";MVCC=TRUE;DB_CLOSE_ON_EXIT=FALSE" ;
-
- /** Default data subdir: <code>h2</code>. */
- private static final String H2_DATA_DIR = "h2";
-
- /** Default database name: <code>default</code>. */
- private static final String DEFAULT_DATABASE_NAME = "default";
+ /** Server thread for remote h2. */
+ private Thread serverThread;
+
+ /** The remote server instance */
+ private Server remoteServer ;
+
+ /** Server thread delay for remote H2. */
+ private long delay = DEFAULT_DELAY ;
- // Private Data --------------------------------------------------
+ // Attributes ----------------------------------------------------
- /** Full path to db/h2. */
- private File dbPath;
+ /**
+ * Set the database name.
+ *
+ * @jmx.managed-attribute
+ */
+ public void setDatabase(String name)
+ {
+ if (name == null)
+ {
+ name = DEFAULT_DATABASE_NAME;
+ }
+ this.name = name;
+ }
- /** Database name. */
- private String name = DEFAULT_DATABASE_NAME;
-
- /** In memory mode. */
- private boolean inMemoryMode ;
-
- /** Database user. */
- private String user = DEFAULT_USER;
-
- /** Database password. */
- private String password = DEFAULT_PASSWORD;
-
- /** Database flags */
- private String flags = DEFAULT_FLAGS ;
-
- /** Hold a connection for in memory h2. */
- private Connection connection;
+ /**
+ * Get the database name.
+ *
+ * @jmx.managed-attribute
+ */
+ public String getDatabase()
+ {
+ return name;
+ }
+
+ /**
+ * Get the full database path.
+ *
+ * @jmx.managed-attribute
+ */
+ public String getDatabasePath()
+ {
+ if (dbPath != null)
+ {
+ return dbPath.toString();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * @return the <code>inMemoryMode</code> flag.
+ *
+ * @jmx.managed-attribute
+ */
+ public boolean isInMemoryMode()
+ {
+ return inMemoryMode;
+ }
+ /**
+ * If <b>true</b> the h2 is in memory mode otherwise embedded mode.
+ *
+ * @param b in memory mode.
+ *
+ * @jmx.managed-attribute
+ */
+ public void setInMemoryMode( boolean b )
+ {
+ inMemoryMode = b;
+ }
+
+ /**
+ * @return the password
+ *
+ * @jmx.managed-attribute
+ */
+ public String getPassword()
+ {
+ return password;
+ }
- // Attributes ----------------------------------------------------
+ /**
+ * @return the user
+ *
+ * @jmx.managed-attribute
+ */
+ public String getUser()
+ {
+ return user;
+ }
+
+ /**
+ * @return the flags
+ *
+ * @jmx.managed-attribute
+ */
+ public String getFlags()
+ {
+ return flags;
+ }
+
+ /**
+ * @param password
+ *
+ * @jmx.managed-attribute
+ */
+ public void setPassword(String password)
+ {
+ if (password == null)
+ {
+ password = DEFAULT_PASSWORD;
+ }
+ this.password = password;
+ }
+
+ /**
+ * @param user
+ *
+ * @jmx.managed-attribute
+ */
+ public void setUser(String user)
+ {
+ if (user == null)
+ {
+ user = DEFAULT_USER;
+ }
+ this.user = user;
+ }
+
+ /**
+ * @param flags
+ *
+ * @jmx.managed-attribute
+ */
+ public void setFlags(String flags)
+ {
+ if (flags == null)
+ {
+ flags = DEFAULT_FLAGS;
+ }
+ this.flags = flags;
+ }
- /**
- * Set the database name.
- *
- * @jmx.managed-attribute
- */
- public void setDatabase(String name)
- {
- if (name == null)
- {
- name = DEFAULT_DATABASE_NAME;
- }
- this.name = name;
- }
+ /**
+ * @return the serverMode
+ *
+ * @jmx.managed-attribute
+ */
+ public boolean isServerMode()
+ {
+ return serverMode;
+ }
- /**
- * Get the database name.
- *
- * @jmx.managed-attribute
- */
- public String getDatabase()
- {
- return name;
- }
+ /**
+ * @param serverMode
+ *
+ * @jmx.managed-attribute
+ */
+ public void setServerMode( boolean serverMode )
+ {
+ this.serverMode = serverMode;
+ }
- /**
- * Get the full database path.
- *
- * @jmx.managed-attribute
- */
- public String getDatabasePath()
- {
- if (dbPath != null)
- {
- return dbPath.toString();
- }
- else
- {
- return null;
- }
- }
+ /**
+ * @return the address
+ *
+ * @jmx.managed-attribute
+ */
+ public String getBindAddress()
+ {
+ return address;
+ }
- /**
- * @return the <code>inMemoryMode</code> flag.
- *
- * @jmx.managed-attribute
- */
- public boolean isInMemoryMode()
- {
- return inMemoryMode;
- }
+ /**
+ * @return the port
+ *
+ * @jmx.managed-attribute
+ */
+ public int getPort()
+ {
+ return port;
+ }
- /**
- * If <b>true</b> the h2 is in memory mode otherwise h2 is in server or remote mode.
- *
- * @param b in memory mode.
- *
- * @jmx.managed-attribute
- */
- public void setInMemoryMode(boolean b)
- {
- inMemoryMode = b;
- }
+ /**
+ * @param address
+ *
+ * @jmx.managed-attribute
+ */
+ public void setBindAddress(String address)
+ {
+ this.address = address;
+ }
- /**
- * @return the password
- *
- * @jmx.managed-attribute
- */
- public String getPassword()
- {
- return password;
- }
+ /**
+ * @param port
+ *
+ * @jmx.managed-attribute
+ */
+ public void setPort(int port)
+ {
+ this.port = port;
+ }
+
+ /**
+ * Set the delay for remote hypersonic initialisation.
+ *
+ * @jmx.managed-attribute
+ */
+ public void setDelay(final long delay)
+ {
+ this.delay = delay;
+ }
+
+ /**
+ * Get the delay for remote hypersonic initialisation.
+ *
+ * @jmx.managed-attribute
+ */
+ public long getDelay()
+ {
+ return delay;
+ }
+
+ // Lifecycle -----------------------------------------------------
+
+ /**
+ * Start the database
+ */
+ protected void startService() throws Exception
+ {
+ if (serverMode)
+ {
+ startRemoteDatabase();
+ }
+ else if (inMemoryMode)
+ {
+ startInMemoryDatabase();
+ }
+ else
+ {
+ startStandaloneDatabase();
+ }
+ }
- /**
- * @return the user
- *
- * @jmx.managed-attribute
- */
- public String getUser()
- {
- return user;
- }
+ /**
+ * We now close the connection clean by calling the
+ * serverSocket throught jdbc. The MBeanServer calls this
+ * method at closing time.
+ */
+ protected void stopService() throws Exception
+ {
+ if (serverMode)
+ {
+ stopRemoteDatabase();
+ }
+ else if (inMemoryMode)
+ {
+ stopInMemoryDatabase();
+ }
+ else
+ {
+ stopStandaloneDatabase();
+ }
+ }
- /**
- * @return the flags
- *
- * @jmx.managed-attribute
- */
- public String getFlags()
- {
- return flags;
- }
+ // Private -------------------------------------------------------
+
+ /**
+ * Start the standalone (in process) database.
+ */
+ private void startStandaloneDatabase() throws Exception
+ {
+ final File h2Dir = checkDataDir() ;
+
+ dbPath = new File(h2Dir, name);
+
+ final String dbURL = JDBC_URL_PREFIX + dbPath.toURI().toString() + flags ;
+ log.info(dbURL);
+
+ // Check we have connectivity
+ connection = getConnection(dbURL);
+ }
- /**
- * @param password
- *
- * @jmx.managed-attribute
+ /**
+ * Start the only in memory database.
*/
- public void setPassword(String password)
- {
- if (password == null)
- {
- password = DEFAULT_PASSWORD;
- }
- this.password = password;
- }
+ private void startInMemoryDatabase() throws Exception
+ {
+ final String dbURL = JDBC_MEM_URL_PREFIX + name + flags ;
- /**
- * @param user
- *
- * @jmx.managed-attribute
- */
- public void setUser(String user)
- {
- if (user == null)
- {
- user = DEFAULT_USER;
- }
- this.user = user;
- }
-
- /**
- * @param flags
- *
- * @jmx.managed-attribute
- */
- public void setFlags(String flags)
- {
- if (flags == null)
- {
- flags = DEFAULT_FLAGS;
- }
- this.flags = flags;
- }
-
- // Lifecycle -----------------------------------------------------
+ // hold a connection so h2 does not close the database
+ connection = getConnection(dbURL);
+ }
- /**
- * Start the database
- */
- protected void startService() throws Exception
- {
- if (inMemoryMode)
- {
- startInMemoryDatabase();
- }
- else
- {
- startStandaloneDatabase();
- }
- }
-
- /**
- * We now close the connection clean by calling the
- * serverSocket throught jdbc. The MBeanServer calls this
- * method at closing time.
- */
- protected void stopService() throws Exception
- {
- if (inMemoryMode)
- {
- stopInMemoryDatabase();
- }
- else
- {
- stopStandaloneDatabase();
- }
- }
-
- // Private -------------------------------------------------------
-
- /**
- * Start the standalone (in process) database.
- */
- private void startStandaloneDatabase() throws Exception
- {
- final File h2Dir = checkDataDir() ;
+ /**
+ * Start a remote/server database
+ * @throws Exception
+ */
+ private void startRemoteDatabase() throws Exception
+ {
+ final File h2Dir = checkDataDir() ;
+ dbPath = new File(h2Dir, name);
- dbPath = new File(h2Dir, name);
+ // Start DB in new thread, or else it will block us
+ serverThread = new Thread("h2-" + name)
+ {
+ public void run()
+ {
+ try
+ {
+ log.debug( "Starting remote h2 db with port : " + port );
+ final String[] args = new String[] {
+ "-baseDir", dbPath.getAbsolutePath(),
+ "-tcpPort", String.valueOf(port),
+ "-tcpAllowOthers","" }; // need the extra empty string or a exception is thrown by H2
+ final Server server = Server.createTcpServer(args) ;
+ server.start() ;
+ setRemoteServer(server);
+ }
+ catch (Exception e)
+ {
+ log.error("Failed to start database", e);
+ }
+ }
+ };
+
+ serverThread.start();
+
+ if (delay > 0)
+ {
+ log.debug("Waiting for Database initialisation: maximum " + delay + " milliseconds") ;
+ try
+ {
+ serverThread.join(delay) ;
+ }
+ catch (final InterruptedException ie)
+ {
+ Thread.currentThread().interrupt() ;
+ }
+
+ if (serverThread.isAlive())
+ {
+ log.warn("Database initialisation is still active") ;
+ }
+ else
+ {
+ log.debug("Database initialisation completed") ;
+ }
+ }
+ }
- final String dbURL = JDBC_URL_PREFIX + dbPath.toURI().toString() + flags ;
-
- // Check we have connectivity
- connection = getConnection(dbURL);
- }
-
/**
- * Start the only in memory database.
- */
- private void startInMemoryDatabase() throws Exception
- {
- final String dbURL = JDBC_MEM_URL_PREFIX + name + flags ;
-
- // hold a connection so h2 does not close the database
- connection = getConnection(dbURL);
- }
-
- /**
* Stop the standalone (in process) database.
*/
private void stopStandaloneDatabase() throws Exception
@@ -326,46 +500,80 @@
}
/**
- * Get the connection.
- *
- * @param dbURL jdbc url.
- * @return the connection, allocate one if needed.
- * @throws Exception
+ * Stop the remote database.
*/
- private synchronized Connection getConnection(String dbURL) throws Exception
+ private void stopRemoteDatabase() throws SQLException
{
- if (connection == null)
- {
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- Class.forName(JDBC_DRIVER_CLASS, true, cl).newInstance();
- connection = DriverManager.getConnection(dbURL, user, password);
- }
- return connection;
+ final Server server = getRemoteServer() ;
+ if (server != null)
+ {
+ server.stop() ;
+ }
}
/**
- * Check the existence of the h2 data directory.
- * @return The h2 data directory.
- * @throws IOException For errors checking/creating the h2 data directory.
+ * Set the remote server instance.
+ * @param remoteServer The remote server instance.
*/
- private File checkDataDir()
- throws IOException
+ private synchronized void setRemoteServer(final Server remoteServer)
{
- // Get the server data directory
- final File dataDir = ServerConfigLocator.locate().getServerDataDir();
+ this.remoteServer = remoteServer ;
+ }
+
+ /**
+ * Get the remote server instance.
+ * @return The remote server instance.
+ */
+ private synchronized Server getRemoteServer()
+ {
+ return remoteServer ;
+ }
+
+ /**
+ * Get the connection.
+ *
+ * @param dbURL jdbc url.
+ * @return the connection, allocate one if needed.
+ * @throws Exception
+ */
+ private synchronized Connection getConnection(String dbURL) throws Exception
+ {
+ if (connection == null)
+ {
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ Class.forName(JDBC_DRIVER_CLASS, true, cl).newInstance();
+ connection = DriverManager.getConnection(dbURL, user, password);
+ }
+ return connection;
+ }
+
+ /**
+ * Check the existence of the h2 data directory.
+ * @return The h2 data directory.
+ * @throws IOException For errors checking/creating the h2 data directory.
+ */
+ private File checkDataDir() throws IOException
+ {
+ // Get the server data directory
+ final File dataDir = getDataDir();
- // Get DB directory
- final File h2Dir = new File(dataDir, H2_DATA_DIR);
+ // Get DB directory
+ final File h2Dir = new File(dataDir, H2_DATA_DIR);
- if (!h2Dir.exists())
- {
- h2Dir.mkdirs();
- }
- else if (!h2Dir.isDirectory())
- {
- throw new IOException("Failed to create directory: " + h2Dir);
- }
- return h2Dir ;
- }
+ if (!h2Dir.exists())
+ {
+ h2Dir.mkdirs();
+ }
+ else if (!h2Dir.isDirectory())
+ {
+ throw new IOException("Failed to create directory: " + h2Dir);
+ }
+ return h2Dir ;
+ }
+
+ File getDataDir()
+ {
+ return ServerConfigLocator.locate().getServerDataDir();
+ }
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/H2DatabaseMBean.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/H2DatabaseMBean.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/dependencies/H2DatabaseMBean.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -33,7 +33,7 @@
* A few notes on h2 running modes:
*
* remote (server) mode
- * Not supported yet
+ * h2 can be connected to vid tcp
*
* in-process (standalone) mode
* h2 can only be contacted from in-vm clients
@@ -69,7 +69,19 @@
boolean isInMemoryMode() ;
void setInMemoryMode(boolean b) ;
+ /** Server/remote mode */
+ boolean isServerMode() ;
+ void setServerMode(boolean mode) ;
+
/** The flags to use when connecting to the DB, default is "" */
String getFlags();
void setFlags(String flags);
+
+ /** The listening port when in remove server mode, default is '9092' */
+ int getPort();
+ void setPort(int port);
+
+ /** The binding address, default is '0.0.0.0' */
+ String getBindAddress();
+ void setBindAddress(String address);
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/remoting/HttpUnmarshaller.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/remoting/HttpUnmarshaller.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/remoting/HttpUnmarshaller.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -101,10 +101,6 @@
int amtRead = inputStream.read(byteBuffer);
while (amtRead > 0) {
byteOutputStream.write(byteBuffer, pointer, amtRead);
- if (amtRead < bufferSize && byteOutputStream.size() >= contentLength) {
- //done reading, so process
- break;
- }
amtRead = inputStream.read(byteBuffer);
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsConnectionPool.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsConnectionPool.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsConnectionPool.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -24,8 +24,17 @@
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
+import java.util.concurrent.Callable;
+import java.util.concurrent.CompletionService;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorCompletionService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.ThreadFactory;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
@@ -64,6 +73,15 @@
private static int CONFIGURED_POOL_SIZE = DEFAULT_POOL_SIZE;
private static int CONFIGURED_SLEEP = DEFAULT_SLEEP;
+ /**
+ * The executor used to create sessions.
+ */
+ private static final Executor SESSION_EXECUTOR = Executors.newSingleThreadExecutor(new DaemonThreadFactory()) ;
+ /**
+ * The completion service.
+ */
+ private static final CompletionService<JmsSession> COMPLETION_SERVICE = new ExecutorCompletionService<JmsSession>(SESSION_EXECUTOR) ;
+
/** Maximum number of Sessions that will be created in this pool */
private int MAX_SESSIONS = DEFAULT_POOL_SIZE; //TODO Make this manageable
@@ -104,6 +122,11 @@
private boolean terminated ;
/**
+ * The pool instance id.
+ */
+ private long id ;
+
+ /**
* Contructor of the pool.
*
*/
@@ -138,16 +161,44 @@
private synchronized void addAnotherSession(Map<String, String> poolKey, final boolean transacted, final int acknowledgeMode)
throws JMSException
{
+ final Future<JmsSession> future = COMPLETION_SERVICE.submit(new Callable<JmsSession>() {
+ public JmsSession call()
+ throws JMSException
+ {
+ final JmsSession session ;
+ if (transacted) {
+ session = new JmsXASession(JmsConnectionPool.this, ((XAConnection)jmsConnection).createXASession(), id);
+ } else {
+ session = new JmsSession(jmsConnection.createSession(transacted, acknowledgeMode), id);
+ }
+ return session ;
+ }
+ }) ;
+
//Create a new Session
ArrayList<JmsSession> freeSessions = freeSessionsMap.get(acknowledgeMode);
// For now we only support JTA transacted sessions
- final JmsSession session ;
- if (transacted) {
- session = new JmsXASession(this, ((XAConnection)jmsConnection).createXASession());
- } else {
- session = new JmsSession(jmsConnection.createSession(transacted, acknowledgeMode));
+ try
+ {
+ freeSessions.add(future.get());
}
- freeSessions.add(session);
+ catch (final InterruptedException ie) {} // ignore
+ catch (final ExecutionException ee)
+ {
+ final Throwable th = ee.getCause() ;
+ if (th instanceof JMSException)
+ {
+ throw (JMSException)th ;
+ }
+ if (th instanceof Error)
+ {
+ throw (Error)th ;
+ }
+ if (th instanceof RuntimeException)
+ {
+ throw (RuntimeException)th ;
+ }
+ }
logger.debug("Number of Sessions in the pool with acknowledgeMode: " + acknowledgeMode + " is now " + getSessionsInPool(acknowledgeMode));
}
@@ -258,19 +309,22 @@
*/
synchronized void handleCloseSession(final JmsSession session)
{
- final int mode ;
- try {
- mode = session.getAcknowledgeMode() ;
- } catch (final JMSException jmse) {
- logger.warn("JMSException while calling getAcknowledgeMode") ;
- logger.debug("JMSException while calling getAcknowledgeMode", jmse) ;
- return ;
+ if (session.getId() == id)
+ {
+ final int mode ;
+ try {
+ mode = session.getAcknowledgeMode() ;
+ } catch (final JMSException jmse) {
+ logger.warn("JMSException while calling getAcknowledgeMode") ;
+ logger.debug("JMSException while calling getAcknowledgeMode", jmse) ;
+ return ;
+ }
+
+ final ArrayList<JmsSession> sessions = (freeSessionsMap == null ? null : freeSessionsMap.get(mode));
+ if (sessions != null) {
+ sessions.add(session) ;
+ }
}
-
- final ArrayList<JmsSession> sessions = (freeSessionsMap == null ? null : freeSessionsMap.get(mode));
- if (sessions != null) {
- sessions.add(session) ;
- }
handleReleaseSession(session) ;
}
@@ -321,6 +375,42 @@
}
/**
+ * This method is called when the pool needs to cleaned. It closes all open sessions
+ * and the connection.
+ */
+ private void cleanSessionPool()
+ {
+ final Connection connection ;
+ synchronized(this)
+ {
+ if (terminated)
+ {
+ return ;
+ }
+ id++ ;
+ for (List<JmsSession> list : freeSessionsMap.values())
+ {
+ list.clear() ;
+ }
+ for (List<JmsSession> list : inUseSessionsMap.values())
+ {
+ list.clear() ;
+ }
+ transactionsToSessions.clear() ;
+ sessionsToTransactions.clear() ;
+
+ logger.debug("Cleared the session pool now closing the connection to the factory.");
+ connection = jmsConnection ;
+ jmsConnection = null ;
+ }
+ if (connection!=null) {
+ try {
+ connection.close();
+ } catch (final Exception ex) {} // ignore
+ }
+ }
+
+ /**
* This method is called when the pool needs to destroyed. It closes all open sessions
* and the connection and removes it from the container's poolMap.
*/
@@ -436,7 +526,7 @@
jmsConnection.setExceptionListener(new ExceptionListener() {
public void onException(JMSException arg0)
{
- removeSessionPool() ;
+ cleanSessionPool() ;
}
}) ;
jmsConnection.start();
@@ -531,4 +621,27 @@
}
}
}
+
+ /**
+ * Thread factory returning daemon threads.
+ * @author kevin
+ */
+ private static final class DaemonThreadFactory implements ThreadFactory
+ {
+ /**
+ * The default executor factory.
+ */
+ private final ThreadFactory defaultFactory = Executors.defaultThreadFactory() ;
+
+ /**
+ * Return a new daemon thread.
+ * @param runnable The runnable associated with the thread.
+ */
+ public Thread newThread(final Runnable runnable)
+ {
+ final Thread thread = defaultFactory.newThread(runnable) ;
+ thread.setDaemon(true) ;
+ return thread ;
+ }
+ }
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsSession.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsSession.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsSession.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -52,6 +52,10 @@
* The session delegate.
*/
private final Session session ;
+ /**
+ * The pool instance id.
+ */
+ private final long id ;
/**
* The set of active queue browsers.
@@ -69,15 +73,22 @@
/**
* Create the session wrapper.
* @param session The session delegate.
+ * @param id The pool instance id.
* @param isJTA True if this tales part in a JTA transaction
* @throws JMSException
*/
- JmsSession(final Session session)
+ JmsSession(final Session session, final long id)
throws JMSException
{
+ this.id = id ;
this.session = session ;
}
+ public long getId()
+ {
+ return id ;
+ }
+
public void close() throws JMSException
{
session.close();
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsXASession.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsXASession.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsXASession.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -72,13 +72,13 @@
* Create the session wrapper.
* @param pool The current connection pool
* @param session The session delegate.
- * @param isJTA True if this tales part in a JTA transaction
+ * @param id The pool instance id.
* @throws JMSException
*/
- JmsXASession(final JmsConnectionPool pool, final XASession session)
+ JmsXASession(final JmsConnectionPool pool, final XASession session, final long id)
throws JMSException
{
- super(session) ;
+ super(session, id) ;
this.pool = pool ;
this.session = session ;
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -400,7 +400,7 @@
*
* @param organizationName used to match with the name of the organization.
* @return the Organization.
- */
+ */
public static Organization findOrganization(String organizationName, JAXRConnectionFactory jaxrConnectionFactory) throws JAXRException {
if (organizationName==null) {
organizationName="";
@@ -707,8 +707,9 @@
try {
RegistryService rs = connection.getRegistryService();
BusinessQueryManager bqm = rs.getBusinessQueryManager();
- Collection<String> findQualifiers = new ArrayList<String>();
- findQualifiers.add(FindQualifier.SORT_BY_NAME_ASC);
+ Collection<String> findQualifiers = null;
+ //Collection<String> findQualifiers = new ArrayList<String>();
+ //findQualifiers.add(FindQualifier.SORT_BY_DATE_ASC);
BulkResponse bulkResponse = bqm.findServiceBindings(service.getKey(),findQualifiers,null,null);
if (bulkResponse.getStatus()==JAXRResponse.STATUS_SUCCESS){
serviceBindings = (Collection<ServiceBinding>)bulkResponse.getCollection();
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpImpl.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -219,7 +219,7 @@
if (null == m_sUser)
throw new ConfigurationException("No username specified for FTP");
- m_sPasswd = (null != sa) ? sa[1] : m_oParms.getAttribute(PARMS_PASSWD);
+ m_sPasswd = ((null != sa) && (sa.length > 1)) ? sa[1] : m_oParms.getAttribute(PARMS_PASSWD);
m_sRemoteDir = (null != uri) ? uri.getPath() : m_oParms
.getAttribute(PARMS_REMOTE_DIR);
@@ -560,6 +560,11 @@
final String sRemoteTmp = p_sRemoteName + TMP_SUFFIX;
final OutputStream os = m_oConn.storeFileStream(sRemoteTmp) ;
+ if (os == null)
+ {
+ throw new RemoteFileSystemException("Failed to obtain output stream: " + m_oConn.getReplyString()) ;
+ }
+
try
{
final FileInputStream fis = new FileInputStream(p_oFile) ;
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpsImpl.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpsImpl.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/FtpsImpl.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -237,24 +237,24 @@
final BufferedInputStream bis = new BufferedInputStream(is) ;
final DataInputStream dis = new DataInputStream(bis) ;
- if (bis.available() > 0)
+ if (dis.available() > 0)
{
// We have to skip any preamble to read the certificate
do
{
- bis.mark(BEGIN_CERTIFICATE.length() * 2) ;
+ dis.mark(BEGIN_CERTIFICATE.length() * 2) ;
final String line = dis.readLine() ;
if (BEGIN_CERTIFICATE.equals(line))
{
- bis.reset() ;
+ dis.reset() ;
break ;
}
}
- while (bis.available() > 0) ;
+ while (dis.available() > 0) ;
- if (bis.available() > 0)
+ if (dis.available() > 0)
{
- final X509Certificate cert = (X509Certificate)cf.generateCertificate(bis);
+ final X509Certificate cert = (X509Certificate)cf.generateCertificate(dis);
certificates.add(cert) ;
}
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -47,6 +47,7 @@
import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.util.ClassUtil;
import org.jboss.soa.esb.util.FileUtil;
import org.jboss.soa.esb.util.RemoteFileSystem;
import org.jboss.soa.esb.util.RemoteFileSystemException;
@@ -95,6 +96,9 @@
private String m_sRemoteDir, m_sLocalDir;
+ private URI m_oCertificate;
+ private String m_sPassphrase;
+
/*
* Constructor
*
@@ -158,6 +162,16 @@
ModulePropertyManager.TRANSPORTS_MODULE).getProperty(
Environment.FTP_LOCALDIR, tmpdir);
+ try
+ {
+ m_oCertificate = p_oP.getCertificateURI() ;
+ }
+ catch (final URISyntaxException urise)
+ {
+ _logger.warn(urise) ;
+ }
+ m_sPassphrase = p_oP.getPassphrase() ;
+
configTreeFromEpr();
initialize(p_bConnect);
@@ -195,12 +209,49 @@
if (m_sPasswd != null)
{
- final UserInfo ui = new SecureFtpUserInfo(m_sPasswd);
+ session.setPassword(m_sPasswd) ;
+ session.setConfig("PreferredAuthentications", "password") ;
+ }
+ else if (m_oCertificate != null)
+ {
+ final String certificate = m_oCertificate.toString() ;
+ final InputStream is ;
+ final String certificateName ;
+ final InputStream resourceIS = ClassUtil.getResourceAsStream(certificate, getClass()) ;
+ if (resourceIS != null)
+ {
+ is = resourceIS ;
+ certificateName = getSimpleName(certificate) ;
+ }
+ else
+ {
+ certificateName = getSimpleName(m_oCertificate.getPath()) ;
+ try
+ {
+ if (m_oCertificate.isAbsolute())
+ {
+ is = m_oCertificate.toURL().openStream() ;
+ }
+ else
+ {
+ final File file = new File(m_oCertificate.getPath()) ;
+ is = file.toURL().openStream() ;
+ }
+ }
+ catch (final IOException ioe)
+ {
+ throw new ConfigurationException("Unexpected IOException accessing: " + certificate, ioe) ;
+ }
+ }
+ final byte[] privateKey = StreamUtils.readStream(is) ;
+ m_oJSch.addIdentity(certificateName, privateKey, null, null) ;
+
+ final UserInfo ui = new SecureFtpUserInfo(m_sPassphrase);
session.setUserInfo(ui);
+ session.setConfig("PreferredAuthentications", "publickey") ;
}
session.setConfig("StrictHostKeyChecking", "no") ;
- session.setConfig("PreferredAuthentications", "password") ;
session.connect();
@@ -226,6 +277,26 @@
}
}
+ private static String getSimpleName(final String name)
+ throws ConfigurationException
+ {
+ if (name == null)
+ {
+ throw new ConfigurationException("Null certificate name") ;
+ }
+ final int lastIndex = name.lastIndexOf('/') ;
+ if (lastIndex >= 0)
+ {
+ final int startIndex = lastIndex+1 ;
+ if (startIndex == name.length())
+ {
+ throw new ConfigurationException("Invalid certificate name: " + name) ;
+ }
+ return name.substring(startIndex) ;
+ }
+ return name ;
+ }
+
private void checkParms() throws ConfigurationException
{
String att = m_oParms.getAttribute(FileEpr.URL_TAG);
@@ -250,7 +321,7 @@
if (null == m_sUser)
throw new ConfigurationException("No username specified for SFTP");
- m_sPasswd = (null != sa) ? sa[1] : m_oParms.getAttribute(PARMS_PASSWD);
+ m_sPasswd = ((null != sa) && (sa.length > 1)) ? sa[1] : m_oParms.getAttribute(PARMS_PASSWD);
m_sRemoteDir = (null != uri) ? uri.getPath() : m_oParms.getAttribute(PARMS_REMOTE_DIR);
if (null == m_sRemoteDir)
@@ -265,11 +336,18 @@
try
{
m_iPort = (null != uri) ? uri.getPort() : (null == sAux) ? 22 : Integer.parseInt(sAux);
+ final String certificate = m_oParms.getAttribute(PARMS_CERTIFICATE) ;
+ if (certificate != null)
+ {
+ m_oCertificate = new URI(certificate) ;
+ }
}
catch (Exception ex)
{
throw new ConfigurationException(ex);
}
+
+ m_sPassphrase = m_oParms.getAttribute(PARMS_PASSPHRASE) ;
}
/*
@@ -556,6 +634,10 @@
m_oParms.setAttribute(RemoteFileSystem.PARMS_LOCAL_DIR, m_sLocalDir);
m_oParms.setAttribute(RemoteFileSystem.PARMS_ASCII, Boolean
.toString(false));
+ if (m_oCertificate != null)
+ m_oParms.setAttribute(RemoteFileSystem.PARMS_CERTIFICATE, m_oCertificate.toString()) ;
+ if (m_sPassphrase != null)
+ m_oParms.setAttribute(RemoteFileSystem.PARMS_PASSPHRASE, m_sPassphrase) ;
}
catch (Exception e)
{
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -33,17 +33,17 @@
*/
public class SecureFtpUserInfo implements UserInfo {
- /** The user-password */
- String password = null;
+ /** The user-passphrase */
+ private final String passphrase ;
/**
* Constructor
*
- * @param password
- * The users password.
+ * @param passphrase
+ * The users passphrase.
*/
- public SecureFtpUserInfo(String password) {
- this.password = password;
+ public SecureFtpUserInfo(final String passphrase) {
+ this.passphrase = passphrase;
}
/*
@@ -52,7 +52,7 @@
* @see com.jcraft.jsch.UserInfo#getPassphrase()
*/
public String getPassphrase() {
- return null;
+ return passphrase;
}
/*
@@ -61,7 +61,7 @@
* @see com.jcraft.jsch.UserInfo#getPassword()
*/
public String getPassword() {
- return password;
+ return null;
}
/*
@@ -70,7 +70,7 @@
* @see com.jcraft.jsch.UserInfo#promptPassphrase(java.lang.String)
*/
public boolean promptPassphrase(String arg0) {
- return false;
+ return true;
}
/*
@@ -79,7 +79,7 @@
* @see com.jcraft.jsch.UserInfo#promptPassword(java.lang.String)
*/
public boolean promptPassword(String arg0) {
- return true;
+ return false;
}
/*
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/StreamUtils.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/StreamUtils.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/internal/soa/esb/util/StreamUtils.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -61,6 +61,31 @@
return outBuffer.toByteArray();
}
+
+ /**
+ * Read the supplied Reader and return as a string.
+ * @param reader The reader to read.
+ * @return The reader contents as a string.
+ */
+ public static String readReader(Reader reader) {
+ if(reader == null) {
+ throw new IllegalArgumentException("null 'reader' arg passed in method call.");
+ }
+
+ StringWriter outBuffer = new StringWriter();
+ char[] buffer = new char[256];
+ int readCount = 0;
+
+ try {
+ while((readCount = reader.read(buffer)) != -1) {
+ outBuffer.write(buffer, 0, readCount);
+ }
+ } catch (IOException e) {
+ throw new IllegalStateException("Error reading reader.", e);
+ }
+
+ return outBuffer.toString();
+ }
public static String readStreamString(InputStream stream, String charset) throws UnsupportedEncodingException {
return new String(StreamUtils.readStream(stream), charset);
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/DisplayMemoryUsageAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/DisplayMemoryUsageAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/DisplayMemoryUsageAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.actions;
-
-import org.jboss.soa.esb.message.Message;
-
-/**
- * Simple action that shows JVM memory usage.
- * </p>
- * Exemple configuration:
- * <pre>
- *<action name="logMemoryUsageAfter" class="org.jboss.soa.esb.actions.DisplayMemoryUsageAction">
- *</action>
- * </pre>
- * This action support all configuration properties that {@link LogAction} supports.
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- * @since 4.3
- *
- */
-public class DisplayMemoryUsageAction extends LogAction implements BeanConfiguredAction
-{
- public Message process( final Message message )
- {
- final Runtime runtime = Runtime.getRuntime();
- final long maxMemory = runtime.maxMemory();
- final long allocatedMemory = runtime.totalMemory();
- final long freeMemory = runtime.freeMemory();
-
- StringBuilder sb = new StringBuilder();
- sb.append( "Max mem [" ).append( maxMemory /1024 );
- sb.append( "], Allocated mem [" ).append( allocatedMemory / 1024 );
- sb.append( "], Free mem [" ).append( freeMemory / 1024 );
- sb.append( "], Total Free mem [" ).append( (freeMemory + (maxMemory - allocatedMemory)) / 1024 );
- sb.append( "]");
- log( sb.toString() );
-
- return message;
- }
-
-}
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/DisplayTimeAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/DisplayTimeAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/DisplayTimeAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,66 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.actions;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.jboss.soa.esb.message.Message;
-
-/**
- * Simple action that displays the current time.
- * </p>
- * Exemple configuration:
- * <pre>
- *<action name="displayTime" class="org.jboss.soa.esb.actions.DisplayTimeAction">
- * <property name="format" value="HH:mm:ss:S"/>
- *</action>
- * </pre>
- * This action support all configuration properties that {@link LogAction} supports.
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- * @since 4.3
- *
- */
-public class DisplayTimeAction extends LogAction
-{
- private String format;
-
- public Message process( final Message message )
- {
- SimpleDateFormat formatter = format == null ? new SimpleDateFormat() : new SimpleDateFormat( format );
- log( formatter.format( new Date() ) );
-
- return message;
- }
-
- public String getFormat()
- {
- return format;
- }
-
- public void setFormat( String format )
- {
- this.format = format;
- }
-
-}
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/converters/FileToStream.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/converters/FileToStream.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/converters/FileToStream.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,128 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.actions.converters;
-
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.actions.BeanConfiguredAction;
-import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.message.Message;
-
-/**
- * FileToStream is a converter that open a Stream to the filename
- * specified by the property filename.
- * Usage:
- * <pre>
- * <action name="fileToStream" class="org.jboss.soa.esb.actions.converters.FileToStream">
- * </action>
- *
- * Optional parameters (default value(s) shown):
- * <proptery name="fileNameLocation" value="org.jboss.soa.esb.gateway.file" />
- * </pre>
- * Note that 'fileNameLocation' defaults to {@link Environment#ORIGINAL_FILE}
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- *
- */
-public class FileToStream implements BeanConfiguredAction
-{
- private Logger log = Logger.getLogger( FileToStream.class );
-
- private String fileNameLocation;
-
- public FileToStream()
- {
- }
-
- /**
- * Populates the ESB Message objects body with a InputStream for
- * the file identified by the {@link #fileNameLocation} field.
- *
- * @param message - ESB message object
- * @return Message - ESB message object which a payload that is an InputStream
- * @throws ActionProcessingException
- */
- public Message process( final Message message ) throws ActionProcessingException
- {
- BufferedInputStream bin = getInputStream( getFileName( message ) );
- message.getBody().add( bin );
-
- return message;
- }
-
- public String getFileNameLocation()
- {
- return fileNameLocation;
- }
-
- public void setFileNameLocation( final String fileNameLocation )
- {
- this.fileNameLocation = fileNameLocation;
- }
-
- private String getFileName (final Message message ) throws ActionProcessingException
- {
- String fileName = fileNameLocation == null ?
- (String) message.getBody().get() :
- (String) message.getBody().get( fileNameLocation );
-
- log.debug( "FileName : [" + fileName + "]" );
-
- if ( fileName == null )
- throw new ActionProcessingException( "Didn't find a file as in property location [" + fileNameLocation + "] or as the default object in the message body." );
-
- return fileName;
- }
-
- private BufferedInputStream getInputStream( final String fileName ) throws ActionProcessingException
- {
- BufferedInputStream bin = null;
- try
- {
- bin = new BufferedInputStream( new FileInputStream ( fileName ));
- }
- catch (FileNotFoundException e)
- {
- log.error( "FileNotFoundException : ", e);
- if ( bin != null )
- {
- try
- {
- bin.close();
- }
- catch (IOException e1)
- {
- log.error( "IOException while trying to clone FileInputStream to file : [" + fileName + "]", e1);
- }
- }
- throw new ActionProcessingException( "IOException while creating InputStream for file : [" + fileName + "]", e );
- }
- return bin;
- }
-
-
-}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -79,11 +79,14 @@
public static final String ATTR_EXCLUDE_PACKAGE = "exclude-package";
public static final String ATTR_NAMESPACE_URI = "namespace-uri";
public static final String ATTR_NAMESPACE_LOCALPART = "local-part";
+ public static final String ATTR_XSTREAM_MODE = "xstream-mode";
+
private String classAlias;
private boolean excludePackage;
private MessagePayloadProxy payloadProxy;
private Map<String,String> namespaces;
-
+ private String mode;
+
/**
* Public constructor.
* @param configTree Action Properties.
@@ -96,6 +99,7 @@
classAlias = configTree.getAttribute(ATTR_CLASS_ALIAS);
excludePackage = configTree.getAttribute(ATTR_EXCLUDE_PACKAGE, "true").equals("true");
namespaces = getNamespaces(configTree);
+ mode = configTree.getAttribute(ATTR_XSTREAM_MODE, "XPATH_RELATIVE_REFERENCES");
}
/* (non-Javadoc)
@@ -149,7 +153,29 @@
final String localPart = (String)me.getValue();
nsm.registerMapping(new QName(namespaceURI, localPart), localPart);
}
- return new XStream(new StaxDriver(nsm));
+ XStream stream = new XStream(new StaxDriver(nsm));
+
+ if ("XPATH_RELATIVE_REFERENCES".equals(mode))
+ {
+ // default
+ }
+ else
+ {
+ if ("XPATH_ABSOLUTE_REFERENCES".equals(mode))
+ stream.setMode(XStream.XPATH_ABSOLUTE_REFERENCES);
+ else
+ {
+ if ("ID_REFERENCES".equals(mode))
+ stream.setMode(XStream.ID_REFERENCES);
+ else
+ {
+ if ("NO_REFERENCES".equals(mode))
+ stream.setMode(XStream.NO_REFERENCES);
+ }
+ }
+ }
+
+ return stream;
}
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/routing/JMSRouter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/routing/JMSRouter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/routing/JMSRouter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -45,7 +45,6 @@
import org.jboss.internal.soa.esb.rosetta.pooling.JmsSession;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.common.Configuration;
import org.jboss.soa.esb.helpers.ConfigTree;
@@ -238,6 +237,7 @@
setStringProperties(jmsMessage);
setJMSProperties( esbMessage, jmsMessage );
+ setJMSReplyTo( jmsMessage, esbMessage );
send( jmsMessage );
} catch(Exception e) {
@@ -376,7 +376,6 @@
MessageProducer jmsProducer;
String destinationName;
JmsConnectionPool pool;
- Properties environment;
private JMSSendQueueSetup(String destinationName) throws NamingException, JMSException, ConnectionException, NamingContextException {
this( destinationName, null, null, null, null, null, null );
@@ -399,7 +398,7 @@
if ( connectionFactoryName == null )
connectionFactoryName = "ConnectionFactory";
- environment = new Properties();
+ Properties environment = new Properties();
environment.setProperty(Context.INITIAL_CONTEXT_FACTORY, jndiContextFactory);
environment.setProperty(Context.PROVIDER_URL, jndiUrl);
environment.setProperty(Context.URL_PKG_PREFIXES, jndiPkgPrefix);
@@ -467,31 +466,13 @@
}
}
- protected void setJMSReplyTo( Message jmsMessage, org.jboss.soa.esb.message.Message esbMessage ) throws URISyntaxException, JMSException, NamingException, ConnectionException
+ protected void setJMSReplyTo( final Message jmsMessage, final org.jboss.soa.esb.message.Message esbMessage ) throws URISyntaxException, JMSException, NamingException, ConnectionException, NamingContextException
{
- EPR replyToEpr = esbMessage.getHeader().getCall().getReplyTo();
- if( !( replyToEpr instanceof JMSEpr) )
- return;
-
- JMSEpr jmsEpr = (JMSEpr) replyToEpr;
- String destinationType = jmsEpr.getDestinationType();
- Destination jmsDestination = null;
-
- if ( destinationType.equals( JMSEpr.QUEUE_TYPE ))
+ Destination destination = (Destination) esbMessage.getProperties().getProperty( JMSPropertiesSetter.JMS_REPLY_TO );
+ if ( destination != null )
{
- jmsDestination = queueSetup.jmsSession.createQueue( jmsEpr.getDestinationName() );
+ jmsMessage.setJMSReplyTo( (Destination) destination );
}
- else
- {
- /* Topics are currently not supported.
- JmsConnectionPool pool = JmsConnectionPoolContainer.getPool(queueSetup.environment, "ConnectionFactory", JMSEpr.TOPIC_TYPE);
- jmsDestination = pool.getTopicSession().createTopic( jmsEpr.getDestinationName() );
- */
- }
-
- if ( jmsDestination != null )
- jmsMessage.setJMSReplyTo( jmsDestination );
-
}
/**
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/scripting/GroovyActionProcessor.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/scripting/GroovyActionProcessor.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/actions/scripting/GroovyActionProcessor.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -156,7 +156,8 @@
}
catch (Exception e) {
logger.error("Error executing Groovy script.", e);
- return message;
+
+ throw new ActionProcessingException("Error executing Groovy script.", e);
}
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/InVMEpr.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/InVMEpr.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/InVMEpr.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -38,7 +38,7 @@
/**
* A helper class for using in-VM communication.
*
- * EPR: invm://servicename[?lockstep[#waittime]]
+ * EPR: invm://servicename[/pass-by-reference][?lockstep[#waittime]]
*
* where lockstep can be either true or false and waittime is the lockstep wait
* time in milliseconds. If lockstep is false then any value specified for
@@ -47,7 +47,8 @@
* e.g.,
*
* invm://myservice?true#20000 invm://myservice invm://myservice?false (same as
- * invm://myservice)
+ * invm://myservice) or invm://myservice/false?false (first false is pass-by-reference
+ * value, which in this case means pass the message by value, i.e., copy it).
*
* You can have a lockstep service, where the sender thread is tied to the one
* that does the execution (equivalent to the sender thread doing the work
@@ -74,10 +75,14 @@
public static final String LOCKSTEP_WAIT_TIME_TAG = "lockstepWait";
+ public static final String PASS_BY_VALUE = "passByValue";
+
private boolean _lockstep = false;
private boolean _lockstepTime = false;
+ private boolean _passByReference = false;
+
public InVMEpr(EPR epr)
{
setAddr(epr.getAddr());
@@ -111,6 +116,11 @@
getAddr().addExtension(LOCKSTEP_WAIT_TIME_TAG, nl.item(i).getTextContent());
_lockstepTime = true;
}
+ if (tag.equals(PASS_BY_VALUE))
+ {
+ getAddr().addExtension(PASS_BY_VALUE, nl.item(i).getTextContent());
+ _lockstepTime = true;
+ }
}
}
}
@@ -128,6 +138,7 @@
String serviceId = uri.getHost();
String lockstep = uri.getQuery();
String lockstepTime = uri.getFragment();
+ String passByReference = uri.getPath();
if (serviceId == null)
throw new URISyntaxException(uri.toString(),
@@ -136,7 +147,7 @@
if ("true".equalsIgnoreCase(lockstep))
{
setLockstep(true);
-
+
if (lockstepTime != null)
{
try
@@ -149,6 +160,9 @@
}
}
}
+
+ if ("/false".equalsIgnoreCase(passByReference))
+ setPassByReference(false);
}
public String getServiceId()
@@ -224,7 +238,30 @@
_lockstepTime = true;
}
+
+ public boolean getPassByReference ()
+ {
+ String passByReference = getAddr().getExtensionValue(PASS_BY_VALUE);
+ if (passByReference == null) // default
+ return true;
+
+ if ("false".equalsIgnoreCase(passByReference))
+ return false;
+ else
+ return true;
+ }
+
+ public void setPassByReference (boolean val)
+ {
+ if (_passByReference)
+ throw new IllegalStateException("Pass by reference already set!");
+
+ getAddr().addExtension(PASS_BY_VALUE, "" + val);
+
+ _passByReference = true;
+ }
+
public String toString()
{
return "InVMEpr [ " + super.getAddr().extendedToString() + " ]";
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/SFTPEpr.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/SFTPEpr.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/addressing/eprs/SFTPEpr.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -41,13 +41,16 @@
public class SFTPEpr extends FTPEpr
{
public static final String CERTIFICATE_TAG = "certificate";
+ public static final String PASSPHRASE_TAG = "passphrase" ;
public SFTPEpr(EPR epr)
{
super(epr);
if (epr instanceof SFTPEpr)
+ {
certificateSet = ((SFTPEpr) epr).certificateSet;
+ }
}
public SFTPEpr (EPR epr, Element header)
@@ -65,10 +68,17 @@
{
if ((prefix != null) && (prefix.equals(XMLUtil.JBOSSESB_PREFIX)))
{
- if ((tag != null) && (tag.equals(CERTIFICATE_TAG)))
+ if (tag != null)
{
- getAddr().addExtension(CERTIFICATE_TAG, nl.item(i).getTextContent());
- certificateSet = true;
+ if(tag.equals(CERTIFICATE_TAG))
+ {
+ getAddr().addExtension(CERTIFICATE_TAG, nl.item(i).getTextContent());
+ certificateSet = true;
+ }
+ else if (tag.equals(PASSPHRASE_TAG))
+ {
+ getAddr().addExtension(PASSPHRASE_TAG, nl.item(i).getTextContent()) ;
+ }
}
}
}
@@ -97,9 +107,24 @@
*/
public SFTPEpr(URI uri, URI cert) throws URISyntaxException
{
+ super(uri) ;
+
+ setCertificateURI(cert);
+ }
+
+ /**
+ * Construct the SFTP EPR with the specified URI, certificate and passphrase.
+ * @param uri
+ * @param cert
+ * @param passphrase
+ * @throws URISyntaxException
+ */
+ public SFTPEpr(URI uri, URI cert, final String passphrase) throws URISyntaxException
+ {
super(uri) ;
setCertificateURI(cert);
+ setPassphrase(passphrase) ;
}
public SFTPEpr(String url, String cert) throws URISyntaxException
@@ -109,6 +134,14 @@
setCertificateURI(new URI(cert));
}
+ public SFTPEpr(String url, String cert, final String passphrase) throws URISyntaxException
+ {
+ super(url);
+
+ setCertificateURI(new URI(cert));
+ setPassphrase(passphrase) ;
+ }
+
/**
* Set the Certificate URI for this endpoint.
*
@@ -152,6 +185,26 @@
}
}
+ /**
+ * Set the Certificate passphrase for this endpoint.
+ *
+ * @param passphrase the passphrase.
+ */
+ public final void setPassphrase(String passphrase)
+ {
+ if (passphrase == null)
+ throw new IllegalArgumentException();
+ getAddr().addExtension(PASSPHRASE_TAG, passphrase);
+ }
+
+ /**
+ * @return the certificate passphrase for this EPR.
+ */
+ public final String getPassphrase()
+ {
+ return getAddr().getExtensionValue(PASSPHRASE_TAG);
+ }
+
public EPR copy ()
{
return new SFTPEpr(this);
@@ -184,4 +237,4 @@
throw new ExceptionInInitializerError(ex.toString());
}
}
-}
\ No newline at end of file
+}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/client/ServiceInvoker.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/client/ServiceInvoker.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/client/ServiceInvoker.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -49,7 +49,9 @@
import org.jboss.soa.esb.listeners.ha.ServiceClusterInfo;
import org.jboss.soa.esb.listeners.ha.ServiceClusterInfoImpl;
import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.listeners.message.errors.Factory;
import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.util.Type;
import org.jboss.soa.esb.services.persistence.MessageStore;
import org.jboss.soa.esb.services.persistence.RedeliverStore;
import org.jboss.soa.esb.services.registry.RegistryException;
@@ -315,7 +317,10 @@
{
replyMessage = eprInvoker.attemptDelivery(message, epr);
if (replyMessage != null) {
- // We've delivered it, we're done!
+ if (Type.isFaultMessage(replyMessage)) {
+ Factory.createExceptionFromFault(replyMessage) ;
+ }
+ // We've delivered it, we're done!
return replyMessage;
} else {
logger.info("Unresponsive EPR: " + epr+" for message: "+message.getHeader());
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/common/Environment.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/common/Environment.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/common/Environment.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -31,6 +31,10 @@
public static final String PROPERTIES_FILE = "org.jboss.soa.esb.propertyFile";
+ /**
+ * Binding properties
+ */
+ public static final String ESB_BIND_ADDRESS = "jboss.esb.bind.address" ;
/*
* Transport specific properties.
*/
@@ -161,6 +165,7 @@
public static final String MESSAGE_SOURCE = "org.jboss.soa.esb.message.source";
public static final String MESSAGE_ENTRY_TIME = "org.jboss.soa.esb.message.time.dob"; // time born
public static final String MESSAGE_EXIT_TIME = "org.jboss.soa.esb.message.time.dod"; // time died
+ public static final String MESSAGE_BYTE_SIZE = "org.jboss.soa.esb.message.byte.size"; // size
/** Message property name for original filename */
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/common/JBossESBPropertyService.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/common/JBossESBPropertyService.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/common/JBossESBPropertyService.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -37,6 +37,7 @@
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.system.server.ServerConfig;
import org.jboss.system.server.ServerConfigLocator;
+import org.jboss.system.server.ServerConfigUtil;
import org.jboss.tm.TransactionManagerLocator;
/**
@@ -80,6 +81,14 @@
protected void createService()
throws Exception
{
+ final String bindHost = System.getProperty(Environment.ESB_BIND_ADDRESS) ;
+ if (bindHost == null)
+ {
+ final String bindAddress = System.getProperty(ServerConfig.SERVER_BIND_ADDRESS) ;
+ final String esbBindAddress = ServerConfigUtil.fixRemoteAddress(bindAddress) ;
+ System.setProperty(Environment.ESB_BIND_ADDRESS, esbBindAddress) ;
+ }
+
if (propertyFile != null)
{
final File baseFile = new File(this.propertyFile) ;
@@ -147,7 +156,7 @@
try
{
tm.begin() ;
- LOGGER.debug("Transaction started on current thread") ;
+ LOGGER.trace("Transaction started on current thread") ;
}
catch (final Throwable th)
{
@@ -171,18 +180,18 @@
switch(status)
{
case Status.STATUS_ACTIVE:
- LOGGER.debug("Committing transaction on current thread") ;
+ LOGGER.trace("Committing transaction on current thread") ;
tm.commit() ;
break ;
case Status.STATUS_MARKED_ROLLBACK:
- LOGGER.debug("Rollback transaction on current thread") ;
+ LOGGER.trace("Rollback transaction on current thread") ;
tm.rollback();
break ;
default:
// Transaction is in some other state, just disassociate
- if (LOGGER.isDebugEnabled())
+ if (LOGGER.isTraceEnabled())
{
- LOGGER.debug("Suspending transaction on current thread, status: " + status) ;
+ LOGGER.trace("Suspending transaction on current thread, status: " + status) ;
}
tm.suspend() ;
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/helpers/Email.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/helpers/Email.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/helpers/Email.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -160,7 +160,7 @@
/**
* The mail Session to use
*/
- private Session oMailSess = null;
+ private final Session oMailSess;
/**
* Public constructor.
@@ -458,7 +458,7 @@
catch (Exception e) { /* OK just leave standard port */ }
logger.info("Initialising mail server sesson. Properties: " + oMailP);
- javax.mail.Session oMailSess = javax.mail.Session.getDefaultInstance(oMailP, oAuth);
+ javax.mail.Session oMailSess = javax.mail.Session.getInstance(oMailP, oAuth);
return oMailSess;
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -26,8 +26,6 @@
import java.sql.DriverManager;
import java.sql.SQLException;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
@@ -177,4 +175,15 @@
{
m_oPW = out;
}
+
+ public boolean isWrapperFor(final Class<?> iface)
+ throws SQLException
+ {
+ return false ;
+ }
+
+ public <T> T unwrap(final Class<T> iface) throws SQLException
+ {
+ throw new SQLException("unwrap method not supported by this implementation") ;
+ }
} // ______________________________________________________
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerUtil.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -221,7 +221,8 @@
}
else
{
- epr = new SFTPEpr(uri,new URI(cert));
+ final String passphrase = tree.getAttribute(SFTPEpr.PASSPHRASE_TAG) ;
+ epr = new SFTPEpr(uri,new URI(cert), passphrase);
}
}
else
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/StandAloneBootStrapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/StandAloneBootStrapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/StandAloneBootStrapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -30,7 +30,6 @@
import org.jboss.internal.soa.esb.util.Exit;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.services.registry.RegistryFactory;
-import org.jboss.soa.esb.services.registry.RegistryException;
import org.jboss.soa.esb.lifecycle.LifecycleResourceManager;
import org.jboss.soa.esb.listeners.config.ConfigurationController;
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -103,7 +103,6 @@
MapperUtil.mapListenerServiceAttributes(listenerNode, service, false);
listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.getName());
- listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, String.valueOf(1));
Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
eprNode.setAttribute(ListenerTagNames.PROTOCOL_TAG, InVMEpr.INVM_PROTOCOL);
@@ -114,6 +113,8 @@
+ "?" + YADOMUtil.getAttribute(properties, "inVMLockStep", "false")
+ "#" + YADOMUtil.getAttribute(properties, "inVMLockStepTimeout", "10000"));
+ listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, YADOMUtil.getAttribute(properties, ListenerTagNames.MAX_THREADS_TAG, "1"));
+
YADOMUtil.removeEmptyAttributes(eprNode);
ActionMapper.map(listenerNode, service, model);
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/GatewayGenerator.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -85,13 +85,22 @@
try {
List<Service> services = model.getServices();
- HashMap<String, String> hm = new HashMap<String, String>();
+ HashMap<String, HashMap> hm = new HashMap<String, HashMap>();
for (Service service : services) {
- if (hm.containsKey(service.getName())) {
- throw new ConfigurationException("Service names must be unique. The service name " + service.getName()
- + " is already defined within the <services> tag.");
+ if (hm.containsKey(service.getCategory())) {
+ HashMap<String, String> hc = hm.get(service.getCategory());
+
+ if (hc.containsKey(service.getName())) {
+ throw new ConfigurationException("Service names must be unique within a category. "
+ + "The service name " + service.getName()
+ + " is already defined within the " + service.getCategory() + " category.");
+ } else {
+ hc.put(service.getName(), service.getName());
+ }
} else {
- hm.put(service.getName(), service.getName());
+ HashMap <String,String> hc = new HashMap<String,String>();
+ hc.put(service.getName(), service.getName());
+ hm.put(service.getCategory(), hc);
}
}
} catch (ConfigurationException ce) {
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FsListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FsListenerMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FsListenerMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -51,11 +51,13 @@
* @throws ConfigurationException Invalid listener configuration.
*/
public static Element map(Element root, FsListener listener, XMLBeansModel model) throws ConfigurationException {
- Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
FsBus bus;
FsProvider provider;
-
- try {
+
+ listenerNode.setAttribute("name", listener.getName());
+
+ try {
bus = (FsBus) model.getBus(listener.getBusidref());
} catch (ClassCastException e) {
throw new ConfigurationException("Invalid busid reference [" + listener.getBusidref() + "] on listener [" + listener.getName() + "]. A <fs-listener> must reference a <fs-bus>.");
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -53,9 +53,11 @@
* @throws ConfigurationException Invalid listener configuration.
*/
public static Element map(Element root, FtpListener listener, XMLBeansModel model) throws ConfigurationException {
- Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
FtpBus bus;
FtpProvider provider;
+
+ listenerNode.setAttribute("name", listener.getName());
try {
bus = (FtpBus) model.getBus(listener.getBusidref());
@@ -116,8 +118,10 @@
if ( ! inputDir.startsWith( FTP_SEPARATOR ) )
inputDir = FTP_SEPARATOR + inputDir;
- toElement.setAttribute(ListenerTagNames.URL_TAG, messageFilter.getProtocol() + "://" + messageFilter.getUsername() + ":"
- + messageFilter.getPassword() + "@" + provider.getHostname() + inputDir );
+ final String filterPassword = messageFilter.getPassword() ;
+ final String urlPassword = (filterPassword == null ? "" : ":" + filterPassword) ;
+ toElement.setAttribute(ListenerTagNames.URL_TAG, messageFilter.getProtocol() + "://" + messageFilter.getUsername()
+ + urlPassword + "@" + provider.getHostname() + inputDir );
toElement.setAttribute(FTPEpr.INPUT_SUFFIX_TAG, messageFilter.getInputSuffix());
toElement.setAttribute(FTPEpr.WORK_SUFFIX_TAG, messageFilter.getWorkSuffix());
toElement.setAttribute(FTPEpr.POST_DEL_TAG, String.valueOf(messageFilter.getPostDelete()));
@@ -133,6 +137,7 @@
toElement.setAttribute(FTPEpr.PASSIVE_TAG, String.valueOf(messageFilter.getPassive()));
if (Protocol.SFTP.equals(messageFilter.getProtocol())) {
toElement.setAttribute(SFTPEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
+ toElement.setAttribute(SFTPEpr.PASSPHRASE_TAG, messageFilter.getCertificatePassphrase()) ;
}
if (Protocol.FTPS.equals(messageFilter.getProtocol())) {
toElement.setAttribute(FTPSEpr.CERTIFICATE_TAG, messageFilter.getCertificateUrl());
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/GroovyListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/GroovyListenerMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/GroovyListenerMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -36,8 +36,10 @@
public class GroovyListenerMapper {
public static Element map(Element root, GroovyListenerDocument.GroovyListener listener, Generator.XMLBeansModel model) throws ConfigurationException {
- Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
+ listenerNode.setAttribute("name", listener.getName());
+
// Map the standard listener attributes - common across all listener types...
MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
// Map the <property> elements targeted at the listener - from the listener itself.
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/HibernateListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/HibernateListenerMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/HibernateListenerMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -52,10 +52,12 @@
* @throws ConfigurationException Invalid listener configuration.
*/
public static Element map(Element root, HibernateListener listener, XMLBeansModel model) throws ConfigurationException {
- Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
HibernateBus bus;
HibernateProvider provider;
-
+
+ listenerNode.setAttribute("name", listener.getName());
+
try {
bus = (HibernateBus) model.getBus(listener.getBusidref());
} catch (ClassCastException e) {
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JbrListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JbrListenerMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JbrListenerMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -44,10 +44,12 @@
* @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
*/
public static Element map(Element root, JbrListener listener, XMLBeansModel model) throws ConfigurationException {
- Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
JbrBus bus;
JbrProvider provider;
+ listenerNode.setAttribute("name", listener.getName());
+
try {
bus = (JbrBus) model.getBus(listener.getBusidref());
} catch (ClassCastException e) {
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JcaGatewayMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JcaGatewayMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JcaGatewayMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -40,9 +40,11 @@
{
public static Element map(Element root, JcaGateway gateway, Generator.XMLBeansModel model) throws ConfigurationException
{
- Element listenerNode = YADOMUtil.addElement(root, gateway.getName());
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
gateway.setIsGateway(true);
+ listenerNode.setAttribute("name", gateway.getName());
+
ServiceDocument.Service service = model.getService(gateway);
listenerNode.setAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG, service.getDescription());
listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, service.getCategory());
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -72,10 +72,12 @@
* @throws ConfigurationException Invalid listener configuration.
*/
public static Element map(Element root, JmsListener listener, XMLBeansModel model) throws ConfigurationException {
- Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
JmsBus bus;
JmsProviderType provider;
-
+
+ listenerNode.setAttribute("name", listener.getName());
+
try {
bus = (JmsBus) model.getBus(listener.getBusidref());
} catch (ClassCastException e) {
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -30,17 +30,19 @@
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
*/
public class ScheduledListenerMapper {
- public static Element map(Element root, ScheduledListenerDocument.ScheduledListener scheduledListener) {
- Element listenerNode = YADOMUtil.addElement(root, scheduledListener.getName());
+ public static Element map(Element root, ScheduledListenerDocument.ScheduledListener listener) {
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
- listenerNode.setAttribute("event-processor", scheduledListener.getEventProcessor());
+ listenerNode.setAttribute("name", listener.getName());
+
+ listenerNode.setAttribute("event-processor", listener.getEventProcessor());
listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, ScheduleListener.class.getName());
- if (scheduledListener.isSetTransacted()) {
- listenerNode.setAttribute(ListenerTagNames.TRANSACTED_TAG, Boolean.toString(scheduledListener.getTransacted()));
+ if (listener.isSetTransacted()) {
+ listenerNode.setAttribute(ListenerTagNames.TRANSACTED_TAG, Boolean.toString(listener.getTransacted()));
}
// Map the <property> elements targeted at the listener - from the listener itself.
- MapperUtil.mapProperties(scheduledListener.getPropertyList(), listenerNode);
+ MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
return listenerNode;
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/SqlListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/SqlListenerMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/SqlListenerMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -49,10 +49,12 @@
* @throws ConfigurationException Invalid listener configuration.
*/
public static Element map(Element root, SqlListener listener, XMLBeansModel model) throws ConfigurationException {
- Element listenerNode = YADOMUtil.addElement(root, listener.getName());
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
SqlBus bus;
SqlProvider provider;
-
+
+ listenerNode.setAttribute("name", listener.getName());
+
try {
bus = (SqlBus) model.getBus(listener.getBusidref());
} catch (ClassCastException e) {
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -56,8 +56,10 @@
* @throws ConfigurationException Invalid listener configuration.
*/
public static Element map(Element root, Listener listener, XMLBeansModel model) throws ConfigurationException {
- Element listenerNode = YADOMUtil.addElement(root, listener.getName());
-
+ Element listenerNode = YADOMUtil.addElement(root, "listener");
+
+ listenerNode.setAttribute("name", listener.getName());
+
assertListenerConfigOK(listener, model);
// Map the standard listener attributes - common across all listener types...
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -25,15 +25,12 @@
import java.net.URISyntaxException;
import java.util.Enumeration;
-import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
-import javax.jms.Queue;
-import javax.jms.Topic;
+
import org.apache.log4j.Logger;
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
-import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.message.Properties;
import org.jboss.soa.esb.notification.jms.JMSPropertiesSetter;
@@ -42,11 +39,11 @@
* </p>
* The following JMS Header fields are set on the ESB Message instance:
* <lu>
- * <li> JMSMessageID -> Call.setMessagID
* <li> JMSCorrelationID -> Call.setRelatesTo URI = jms:correlationID#YYXX-123456780-GG
- * <li> JMSReplyTo -> Call.setReplyTo
+ * <li> JMSReplyTo -> Properties( key = JMSPropertiesSetter.JMS_REPLY_TO )
* <li> JMSExpiration -> Properties( key = JMSPropertiesSetter.JMS_EXPIRATION )
- * <li> JMSRedeliverd -> Properties( key = JMSPropertiesSetter.JMS_REDELIVERED
+ * <li> JMSRedeliverd -> Properties( key = JMSPropertiesSetter.JMS_REDELIVERED )
+ * <li> JMSProperties -> Properties( key = propertyName )
* </lu>
* Note: JMSCorrelationID is set as a fragment on the URI and can be retrieved like this:
* correlationURI.getFragment();
@@ -64,6 +61,7 @@
setCorrelationID( fromJMSMessage, toESBMessage );
setReplyTo( fromJMSMessage, toESBMessage );
setExpiration( fromJMSMessage, toESBMessage );
+ setRedelivered( fromJMSMessage, toESBMessage );
setProperties( fromJMSMessage, toESBMessage );
}
@@ -78,34 +76,18 @@
}
catch (URISyntaxException e)
{
- final String errorMessage = "Could not ESB setRelatesTo to JMSCorrelationID [ " + fromJMSMessage.getJMSCorrelationID() + "]";
- log.error( errorMessage, e );
+ final String errorMessage = "Could not set ESB setRelatesTo to JMSCorrelationID [ " + fromJMSMessage.getJMSCorrelationID() + "]";
throw new JMSException( errorMessage );
}
}
}
- private void setReplyTo( final Message fromJMSMessage, final org.jboss.soa.esb.message.Message toESBMessage ) throws JMSException
+ private void setReplyTo( final Message fromJMSMessage, final org.jboss.soa.esb.message.Message esbMessage ) throws JMSException
{
- if ( fromJMSMessage.getJMSReplyTo()!=null)
+ final Destination destination = fromJMSMessage.getJMSReplyTo();
+ if ( destination != null )
{
- final Destination replyToDestination = fromJMSMessage.getJMSReplyTo();
- final String connectionFactory = ModulePropertyManager.getPropertyManager("javax.jms.ConnectionFactory").getProperty(ConnectionFactory.class.getName(), "ConnectionFactory");
- String destType = null;
- String destName = null;
- if ( replyToDestination instanceof Queue )
- {
- final Queue queue = ( Queue ) replyToDestination;
- destName = queue.getQueueName();
- destType = JMSEpr.QUEUE_TYPE;
- }
- else
- {
- final Topic topic = ( Topic ) replyToDestination;
- destName = topic.getTopicName();
- destType = JMSEpr.TOPIC_TYPE;
- }
- toESBMessage.getHeader().getCall().setReplyTo( new JMSEpr( destType , destName, connectionFactory ) );
+ esbMessage.getProperties().setProperty( JMSPropertiesSetter.JMS_REPLY_TO, destination );
}
}
@@ -120,6 +102,12 @@
toESBMessage.getProperties().setProperty( JMSPropertiesSetter.JMS_EXPIRATION, ttl );
}
}
+
+ private void setRedelivered( final Message fromJMSMessage, final org.jboss.soa.esb.message.Message toESBMessage ) throws JMSException
+ {
+ final boolean redelivered = fromJMSMessage.getJMSRedelivered();
+ toESBMessage.getProperties().setProperty( JMSPropertiesSetter.JMS_REDELIVERED, Boolean.valueOf( redelivered ));
+ }
private void setProperties( final Message fromJMSMessage, final org.jboss.soa.esb.message.Message toESBMessage ) throws JMSException
{
@@ -136,8 +124,6 @@
esbProperties.setProperty(key, value);
}
}
- final boolean redelivered = fromJMSMessage.getJMSRedelivered();
- esbProperties.setProperty( JMSPropertiesSetter.JMS_REDELIVERED, Boolean.valueOf( redelivered ));
}
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListener.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListener.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -22,6 +22,7 @@
import org.apache.log4j.Logger;
import org.jboss.internal.soa.esb.remoting.HttpMarshaller;
import org.jboss.internal.soa.esb.remoting.HttpUnmarshaller;
+import org.jboss.internal.soa.esb.util.StreamUtils;
import org.jboss.remoting.InvocationRequest;
import org.jboss.remoting.InvokerLocator;
import org.jboss.remoting.ServerInvocationHandler;
@@ -48,6 +49,7 @@
import org.jboss.soa.esb.message.body.content.BytesBody;
import org.jboss.soa.esb.services.registry.RegistryException;
import org.jboss.soa.esb.services.registry.RegistryFactory;
+import org.jboss.soa.esb.util.ClassUtil;
import javax.management.MBeanServer;
import java.net.InetAddress;
@@ -141,6 +143,10 @@
* Is the listener synchronous.
*/
private boolean synchronous = true;
+ /**
+ * Asynchronous response.
+ */
+ private String asyncResponse;
/**
* Install our own marshaller/unmarshaller for HTTP.
@@ -163,6 +169,13 @@
serviceCategory = config.getAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG);
serviceName = config.getAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG);
synchronous = !config.getAttribute("synchronous", "true").equalsIgnoreCase("false");
+ asyncResponse = config.getAttribute("asyncResponse");
+
+ if(asyncResponse != null) {
+ if(ClassUtil.getResourceAsStream(asyncResponse, getClass()) == null) {
+ throw new ConfigurationException("Asynchronous response resource file '" + asyncResponse + "' not found on classpath.");
+ }
+ }
}
/**
@@ -250,6 +263,10 @@
logger.info("JBoss Remoting Gateway listener '" + getConfig().getName() + "' started.");
} catch (Throwable throwable) {
+ if (connector != null)
+ {
+ connector.stop() ;
+ }
connector = null;
throw new ManagedLifecycleException("Unable to start Remoting Listener instsance " + getClass().getName(), throwable);
}
@@ -318,12 +335,6 @@
logger.debug("Returning response [" + response + "].");
}
- /*
- if(response instanceof String) {
- response = ((String)response).getBytes("UTF-8");
- }
- */
-
return response;
} else {
messageDeliveryAdapter.deliverAsync(invocationRequest);
@@ -336,7 +347,11 @@
throw t;
}
- return "<ack/>";
+ if(asyncResponse == null) {
+ return "<ack/>";
+ } else {
+ return StreamUtils.readStreamString(getClass().getResourceAsStream(asyncResponse), "UTF-8");
+ }
}
public void setMBeanServer(MBeanServer mBeanServer) {
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -154,43 +154,39 @@
if (null != msgIn) {
try {
Object obj = _processMethod.invoke(_composer, new Object[] {msgIn});
- // commit and acknowledge the reception of the message
- // this is done after extracting the content of the JMS Message.
- if (jmsSession.getTransacted()) {
- jmsSession.commit() ;
- } else {
- msgIn.acknowledge() ;
- }
if (null == obj) {
_logger.warn("Action class method <"
+ _processMethod.getName()
+ "> returned a null object");
- continue;
- }
- // try to deliverAsync the composed message, using the
- // appropriate courier
- // to the target service
+ } else {
+ // try to deliverAsync the composed message, using the
+ // appropriate courier
+ // to the target service
- Map<String, Object> params = new HashMap<String, Object>();
+ Map<String, Object> params = new HashMap<String, Object>();
- params.put(Environment.GATEWAY_CONFIG, _config);
+ params.put(Environment.GATEWAY_CONFIG, _config);
- obj = FilterManager.getInstance().doOutputWork((Message) obj, params);
+ obj = FilterManager.getInstance().doOutputWork((Message) obj, params);
- try {
- Message message = (Message) obj;
- _serviceInvoker.deliverAsync(message);
+ try {
+ Message message = (Message) obj;
+ _serviceInvoker.deliverAsync(message);
+ }
+ catch (ClassCastException e) {
+ _logger.error("Action class method <"
+ + _processMethod.getName()
+ + "> returned a non Message object", e);
+
+ rollbackJMSTransaction();
+ }
}
- catch (ClassCastException e) {
- _logger.error("Action class method <"
- + _processMethod.getName()
- + "> returned a non Message object", e);
-
- rollbackJMSTransaction();
- continue;
+ if (jmsSession.getTransacted()) {
+ jmsSession.commit() ;
+ } else {
+ msgIn.acknowledge() ;
}
- continue;
}
catch (InvocationTargetException e) {
_logger.error("Problems invoking method <"
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -26,10 +26,13 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.sql.Blob;
+import java.sql.Clob;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
+import java.sql.Types;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -45,6 +48,7 @@
import javax.sql.DataSource;
import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.util.StreamUtils;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.eprs.JDBCEpr;
@@ -337,10 +341,13 @@
throw new ConfigurationException(
"A valid inProcessField attribute must be specified");
_timestamp = ListenerUtil.getValue(_config,
- JDBCEpr.TIMESTAMP_COLUMN_TAG, "");
- if (_timestamp.trim().length() < 1)
+ JDBCEpr.TIMESTAMP_COLUMN_TAG);
+ if ((_timestamp == null) || (_timestamp.trim().length() == 0))
+ {
_logger.debug("No value specified for: "
+ ListenerTagNames.SQL_TIMESTAMP_TAG);
+ _timestamp = null ;
+ }
_where = ListenerUtil.getValue(_config,
ListenerTagNames.SQL_WHERE_CONDITION_TAG, "");
if (_where.trim().length() < 1)
@@ -479,8 +486,18 @@
Map<String, Object> row = new HashMap<String, Object>();
for (int iCurr = 1; iCurr <= meta.getColumnCount(); iCurr++) {
String sCol = meta.getColumnName(iCurr);
- if (!_inProcessField.equalsIgnoreCase(sCol))
- row.put(sCol, RS.getObject(iCurr));
+ if (!_inProcessField.equalsIgnoreCase(sCol)) {
+ final int type = meta.getColumnType(iCurr) ;
+ if (type == Types.BLOB) {
+ final Blob blob = RS.getBlob(iCurr) ;
+ row.put(sCol, StreamUtils.readStreamString(blob.getBinaryStream(), "UTF-8"));
+ } else if (type == Types.CLOB) {
+ final Clob clob = RS.getClob(iCurr) ;
+ row.put(sCol, StreamUtils.readReader(clob.getCharacterStream()));
+ } else {
+ row.put(sCol, RS.getObject(iCurr));
+ }
+ }
}
oResults.add(row);
@@ -590,7 +607,7 @@
protected String updateStatement() {
StringBuilder sb = new StringBuilder().append("update ").append(
_tableName).append(" set ").append(_inProcessField).append(" = ? ");
- if (_timestamp.trim().length() >= 1) {
+ if (_timestamp != null) {
sb.append(", " + _timestamp + " = ? ");
}
sb.append("where ").append(_inProcessField).append(" = ?");
@@ -601,37 +618,6 @@
} // ________________________________
/**
- * Assemble the SQL "select for update" statement for the
- * "inProcessField" parameter
- * <p/>
- * in the table row uniquely identified by the list of fields in the
- * "keyFields" parameter
- *
- * @return - The resulting SQL statement
- */
- protected String selectForUpdStatement() {
- StringBuilder sb = new StringBuilder().append("select ").append(
- _inProcessField).append(" from ").append(_tableName).append(
- " where ");
- int iCurr = 0;
- for (String sCurr : _keys) {
- if (iCurr++ > 0)
- sb.append(" and ");
- sb.append(sCurr).append(" = ?");
- }
-
- /*
- * HS QL does not support FOR UPDATE! All tables appear to be inherently
- * updatable!
- */
-
- if (_driver.contains("hsqldb"))
- return sb.toString();
- else
- return sb.append(" for update").toString();
- } // ________________________________
-
- /**
* Assemble the SQL statement to delete the current row in the table row
* uniquely identified by the list of fields in the "keyFields"
* parameter
@@ -659,13 +645,13 @@
try {
int iParm = 1;
for (String sColName : _keys) {
- String val = null;
+ final Object val ;
if (_currentRow.containsKey(sColName)) {
- val = String.valueOf(_currentRow.get(sColName));
+ val = _currentRow.get(sColName);
} else {
- val = String.valueOf(_upperCurrentRow.get(sColName));
+ val = _upperCurrentRow.get(sColName.toUpperCase());
}
- _PSdeleteRow.setString(iParm++, val);
+ _PSdeleteRow.setObject(iParm++, val);
}
try {
@@ -718,7 +704,7 @@
try {
int iParm = 3;
- if (_timestamp.trim().length() >= 1) {
+ if (_timestamp != null) {
iParm++;
}
@@ -740,9 +726,9 @@
for (String sColName : _keys) {
Object oVal = null;
if (_currentRow.containsKey(sColName)) {
- oVal = String.valueOf(_currentRow.get(sColName.toUpperCase()));
+ oVal = _currentRow.get(sColName);
} else {
- oVal = String.valueOf(_upperCurrentRow.get(sColName.toUpperCase()));
+ oVal = _upperCurrentRow.get(sColName.toUpperCase());
}
_PSupdate.setObject(iParm++, oVal);
@@ -751,7 +737,7 @@
try {
int counter = 1;
_PSupdate.setString(counter++, getStatus(toState));
- if (_timestamp.trim().length() >= 1) {
+ if (_timestamp != null) {
Date now = new Date();
_PSupdate.setString(counter++, now.toString());
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -353,7 +353,7 @@
}
long procTime = System.nanoTime() - start;
- serviceMessageCounter.update(new ActionStatusBean(procTime, count,
+ serviceMessageCounter.update(new ActionStatusBean(procTime, count, message,
ActionStatusBean.ACTION_FAILED));
DeliveryObservableLogger.getInstance().logMessage(new MessageStatusBean(procTime, message,
MessageStatusBean.MESSAGE_FAILED));
@@ -364,7 +364,7 @@
}
return false;
}
- serviceMessageCounter.update(new ActionStatusBean((System.nanoTime() - start), count,
+ serviceMessageCounter.update(new ActionStatusBean((System.nanoTime() - start), count, message,
ActionStatusBean.ACTION_SENT));
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionStatusBean.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionStatusBean.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionStatusBean.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -20,8 +20,11 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.soa.esb.listeners.message;
+package org.jboss.soa.esb.listeners.message;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.common.Environment;
+
/**
* ActionStatusBean is a bean which wraps the information necessary to update the
* ServiceMessageCounter MBean.
@@ -33,7 +36,9 @@
private int m_procCount;
private String m_status;
private long m_procTime;
+ private int m_bytesProcessed;
+
public static final String ACTION_SENT = "SENT";
public static final String ACTION_FAILED = "FAILED";
@@ -43,12 +48,23 @@
* @param f_procCount counter that identifies the action processor in the ConfigTree
* @param f_status status string
*/
- public ActionStatusBean(long procTime, int f_procCount, String f_status) {
+ public ActionStatusBean(long procTime, int f_procCount, Message f_message, String f_status) {
m_procTime = procTime;
m_procCount = f_procCount;
m_status = f_status;
+ m_bytesProcessed = 0;
+ try {
+ String bytes = (String) f_message.getProperties().getProperty(Environment.MESSAGE_BYTE_SIZE);
+ m_bytesProcessed = Integer.parseInt(bytes);
+ } catch (NullPointerException npe) {
+ } catch (NumberFormatException nfe) {
+ }
}
+ public int getBytesProcessed() {
+ return m_bytesProcessed;
+ }
+
/**
* Process counter getter.
* @return counter that identifies the action processor in the ConfigTree
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageCounter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageCounter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageCounter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -40,6 +40,8 @@
private int failedMessageCount;
private int successMessageCount;
private long totalProcessTime;
+ private int bytesProcessed;
+ private int bytesFailed;
/**
* Constructor.
@@ -64,7 +66,7 @@
public String getLastSuccessfulMessageDate() {
return lastSuccessfulMessageDate;
}
-
+
/**
* Get the time the last message was processed at.
* @return time the last message was processed at
@@ -89,6 +91,14 @@
return successMessageCount;
}
+ public int getBytesProcessed() {
+ return bytesProcessed;
+ }
+
+ public int getBytesFailed() {
+ return bytesFailed;
+ }
+
/**
* Update the message counter based on the MessageStatusBean that is returned
* from the observable.
@@ -102,10 +112,12 @@
successMessageCount++;
Timestamp ts = new Timestamp(msb.getMessageTime());
lastSuccessfulMessageDate = ts.toString();
+ bytesProcessed += msb.getMessageBytes();
} else if (msb.getMessageStatus().equals(MessageStatusBean.MESSAGE_FAILED)) {
failedMessageCount++;
Timestamp ts = new Timestamp(msb.getMessageTime());
lastFailedMessageDate = ts.toString();
+ bytesFailed += msb.getMessageBytes();
}
totalProcessTime += msb.getProcessTime();
@@ -133,5 +145,7 @@
successMessageCount = 0;
failedMessageCount = 0;
totalProcessTime = 0;
+ bytesProcessed = 0;
+ bytesFailed = 0;
}
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageCounterMBean.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageCounterMBean.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageCounterMBean.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,4 +43,8 @@
public Double getAverageSuccessTime();
public void resetCounts();
+
+ public int getBytesProcessed();
+
+ public int getBytesFailed();
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageStatusBean.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageStatusBean.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/MessageStatusBean.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -20,6 +20,7 @@
package org.jboss.soa.esb.listeners.message;
import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.common.Environment;
/**
* Bean that stores data on the message status. Since the Observer/Observable
@@ -89,6 +90,22 @@
public void setMessageStatus(String f_status) {
this.m_status = f_status;
}
+
+ /**
+ * Message number of bytes getter
+ * @return message bytes
+ */
+ public int getMessageBytes() {
+ int messageBytes = 0;
+ try {
+ String byteSizeString = (String) this.m_msg.getProperties().getProperty(Environment.MESSAGE_BYTE_SIZE);
+ if (byteSizeString != null) {
+ messageBytes = Integer.parseInt(byteSizeString);
+ }
+ } catch (NullPointerException npe) {
+ }
+ return messageBytes;
+ }
/**
* Message time getter.
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/listeners/message/ServiceMessageCounter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -57,15 +57,26 @@
private Hashtable<String, Integer> actionCounterHash;
private Hashtable<String, Integer> actionFailedCounterHash;
private Hashtable<String, Long> actionProcessTimeHash;
+ private Hashtable<String, Integer> actionBytesProcessedHash;
+ private Hashtable<String, Integer> actionBytesFailedHash;
+
private ConfigTree m_config;
private ConfigTree[] actionArray;
+
private Integer serviceCount;
+ private Integer bytesFailed;
+ private Integer bytesProcessed;
public static final String RESET_COUNTER = "resetCounter";
private static final String MESSAGE_COUNTER = "messages successfully processed count";
private static final String FAILED_MESSAGE_COUNTER = "messages failed count";
private static final String PROCESSING_TIME = "processing time";
+ private static final String BYTES_FAILED = "bytes failed";
+ private static final String BYTES_PROCESSED = "bytes processed";
+
private static final String OVERALL_SERVICE_COUNT = "overall service message count";
+ private static final String OVERALL_BYTES_PROCESSED = "overall bytes processed";
+ private static final String OVERALL_BYTES_FAILED = "overall bytes failed";
/**
* Constructor
@@ -75,7 +86,12 @@
actionCounterHash = new Hashtable<String, Integer>();
actionFailedCounterHash = new Hashtable<String, Integer>();
actionProcessTimeHash = new Hashtable<String, Long>();
+ actionBytesProcessedHash = new Hashtable<String, Integer>();
+ actionBytesFailedHash = new Hashtable<String, Integer>();
+
serviceCount = new Integer(0);
+ bytesProcessed = new Integer(0);
+ bytesFailed = new Integer(0);
m_config = f_config;
actionArray = m_config.getChildren(ListenerTagNames.ACTION_ELEMENT_TAG);
@@ -116,8 +132,12 @@
actionCounterHash.put(actionId + " " + MESSAGE_COUNTER, new Integer(0));
actionFailedCounterHash.put(actionId + " " + FAILED_MESSAGE_COUNTER, new Integer(0));
actionProcessTimeHash.put(actionId + " " + PROCESSING_TIME, new Long(0));
+ actionBytesFailedHash.put(actionId + " " + BYTES_FAILED, new Integer(0));
+ actionBytesProcessedHash.put(actionId + " " + BYTES_PROCESSED, new Integer(0));
}
serviceCount = new Integer(0);
+ bytesProcessed = new Integer(0);
+ bytesFailed = new Integer(0);
}
/**
@@ -126,6 +146,8 @@
*/
public void resetCounter() {
serviceCount = new Integer(0);
+ bytesProcessed = new Integer(0);
+ bytesFailed = new Integer(0);
for (String key : actionCounterHash.keySet()) {
actionCounterHash.put(key, new Integer(0));
@@ -138,6 +160,14 @@
for (String key : actionProcessTimeHash.keySet()) {
actionProcessTimeHash.put(key, new Long(0));
}
+
+ for (String key : actionBytesFailedHash.keySet()) {
+ actionBytesFailedHash.put(key, new Integer(0));
+ }
+
+ for (String key : actionBytesProcessedHash.keySet()) {
+ actionBytesProcessedHash.put(key, new Integer(0));
+ }
}
/**
@@ -149,7 +179,9 @@
public MBeanInfo getMBeanInfo() {
int count = actionCounterHash.size() + actionProcessTimeHash.size()
- + actionFailedCounterHash.size() + 1;
+ + actionFailedCounterHash.size() + actionBytesProcessedHash.size()
+ + actionBytesFailedHash.size() + 3; // the extra 3 here are overall service count, failed byte size
+ // and processed byte size
MBeanAttributeInfo[] attrs = new MBeanAttributeInfo[count];
int counter = 0;
@@ -171,11 +203,33 @@
counter++;
}
+ for (String key : actionBytesFailedHash.keySet()) {
+ attrs[counter] = new MBeanAttributeInfo(
+ key, "java.lang.Integer", "Property " + key, true, false, false);
+ counter++;
+ }
+
+ for (String key : actionBytesProcessedHash.keySet()) {
+ attrs[counter] = new MBeanAttributeInfo(
+ key, "java.lang.Integer", "Property " + key, true, false, false);
+ counter++;
+ }
+
MBeanAttributeInfo overallCount = new MBeanAttributeInfo(OVERALL_SERVICE_COUNT, "java.lang.Integer",
"Property " + OVERALL_SERVICE_COUNT, true, false, false);
attrs[counter] = overallCount;
counter++;
-
+
+ MBeanAttributeInfo overallBytesProcessed = new MBeanAttributeInfo(OVERALL_BYTES_PROCESSED, "java.lang.Integer",
+ "Property " + OVERALL_BYTES_PROCESSED, true, false, false);
+ attrs[counter] = overallBytesProcessed;
+ counter++;
+
+ MBeanAttributeInfo overallBytesFailed = new MBeanAttributeInfo(OVERALL_BYTES_FAILED, "java.lang.Integer",
+ "Property " + OVERALL_BYTES_FAILED, true, false, false);
+ attrs[counter] = overallBytesFailed;
+ counter++;
+
MBeanOperationInfo[] opers = {
new MBeanOperationInfo(
RESET_COUNTER, "Reset the counter",
@@ -209,8 +263,18 @@
} else if (actionFailedCounterHash.containsKey(key)) {
Integer value = actionFailedCounterHash.get(key);
return value;
+ } else if (actionBytesFailedHash.containsKey(key)) {
+ Integer value = actionBytesFailedHash.get(key);
+ return value;
+ } else if (actionBytesProcessedHash.containsKey(key)) {
+ Integer value = actionBytesProcessedHash.get(key);
+ return value;
} else if (OVERALL_SERVICE_COUNT.equals(key)) {
return serviceCount;
+ } else if (OVERALL_BYTES_PROCESSED.equals(key)) {
+ return bytesProcessed;
+ } else if (OVERALL_BYTES_FAILED.equals(key)) {
+ return bytesFailed;
}
return null;
}
@@ -245,6 +309,16 @@
attributeList.add(at);
}
+ for (String key : actionBytesFailedHash.keySet()) {
+ Attribute at = new Attribute(key, actionBytesFailedHash.get(key).toString());
+ attributeList.add(at);
+ }
+
+ for (String key : actionBytesProcessedHash.keySet()) {
+ Attribute at = new Attribute(key, actionBytesProcessedHash.get(key).toString());
+ attributeList.add(at);
+ }
+
return attributeList;
}
@@ -323,10 +397,18 @@
Long time = actionProcessTimeHash.get(actionName + " " + PROCESSING_TIME);
time = time.longValue() + asb.getProcTime();
actionProcessTimeHash.put(actionName + " " + PROCESSING_TIME, time);
+ Integer bProcessed = actionBytesProcessedHash.get(actionName + " " + BYTES_PROCESSED);
+ bProcessed = bProcessed.intValue() + asb.getBytesProcessed();
+ actionBytesProcessedHash.put(actionName + " " + BYTES_PROCESSED, bProcessed);
+ bytesProcessed += asb.getBytesProcessed();
} else if (ActionStatusBean.ACTION_FAILED.equals(asb.getStatus())) {
Integer count = actionFailedCounterHash.get(actionName + " " + FAILED_MESSAGE_COUNTER);
count = count.intValue() + 1;
actionFailedCounterHash.put(actionName + " " + FAILED_MESSAGE_COUNTER, count);
+ bytesFailed += asb.getBytesProcessed();
+ Integer bFailed = actionBytesFailedHash.get(actionName + " " + BYTES_FAILED);
+ bFailed = bFailed.intValue() + asb.getBytesProcessed();
+ actionBytesProcessedHash.put(actionName + " " + BYTES_FAILED, bFailed);
}
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/message/Properties.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/message/Properties.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/message/Properties.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -29,6 +29,11 @@
public interface Properties
{
+ /**
+ * Message Profile property key.
+ */
+ public static final String MESSAGE_PROFILE = "messageProfile";
+
/**
* getProperty(name)
*
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -27,6 +27,7 @@
import java.util.Properties;
import javax.jms.DeliveryMode;
+import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
@@ -39,14 +40,14 @@
import org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool;
import org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPoolContainer;
import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.common.Environment;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.message.MessagePayloadProxy;
import org.jboss.soa.esb.message.body.content.BytesBody;
import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.message.MessagePayloadProxy;
import org.jboss.soa.esb.notification.jms.DefaultJMSPropertiesSetter;
import org.jboss.soa.esb.notification.jms.JMSPropertiesSetter;
@@ -187,6 +188,8 @@
*/
protected long[] timeToLives;
+ private Properties environment;
+
/**
* Constructor that will be called by child classes to perform
* initialization tasks that are common to all derived classes
@@ -283,6 +286,7 @@
}
setJMSProperties( esbMessage, jmsMessage );
+ setJMSReplyTo( jmsMessage, esbMessage );
for (Iterator<Object> II = m_oProps.keySet().iterator(); II.hasNext();)
{
@@ -323,6 +327,22 @@
jmsPropertiesStrategy.setJMSProperties( fromESBMessage, toJMSMessage );
}
+ void setJMSReplyTo( final Message jmsMessage, final org.jboss.soa.esb.message.Message esbMessage ) throws NotificationException
+ {
+ Destination destination = (Destination) esbMessage.getProperties().getProperty( JMSPropertiesSetter.JMS_REPLY_TO );
+ if ( destination != null )
+ {
+ try
+ {
+ jmsMessage.setJMSReplyTo( (Destination) destination );
+ }
+ catch (JMSException e)
+ {
+ throw new NotificationException( "Could not set the JMSReplyTo to destination [" + destination + "]", e );
+ }
+ }
+ }
+
/**
* Template method for sending JMS messages to destinations.
* </p>
@@ -378,7 +398,7 @@
{
for (int i = 0; i < nrQueuesOrTopics; i++)
{
- Properties environment = new Properties();
+ environment = new Properties();
String sAtt = configTrees[i].getAttribute(ATT_DEST_NAME);
if (null == sAtt) throw new ConfigurationException("Missing attribute '" + ATT_DEST_NAME);
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -23,8 +23,11 @@
import java.net.URI;
+import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
+import javax.naming.Context;
+import javax.naming.NamingException;
import org.apache.log4j.Logger;
import org.jboss.soa.esb.message.Properties;
@@ -37,7 +40,6 @@
* <lu>
* <li> Call.setMessagID -> JMSMessageID
* <li> Call.setRelatesTo -> JMSCorrelationID
- * <li> Call.setReplyTo -> JMSReplyTo
* <li> Properties( key = JSMPropertiesSetter.JMS_EXPIRATION ) -> JMSExpiration
* </lu>
*
@@ -167,5 +169,5 @@
toJMSMessage.setByteProperty( key, (Byte)value );
}
}
-
+
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/jms/JMSPropertiesSetter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/jms/JMSPropertiesSetter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/notification/jms/JMSPropertiesSetter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -46,6 +46,12 @@
String JMS_REDELIVERED = "javax.jms.message.redelivered";
/**
+ * Key used when setting the JMSReplyTo as a
+ * property on an ESB Message instance.
+ */
+ String JMS_REPLY_TO = "javax.jms.message.replyTo";
+
+ /**
* Sets JMS properties fields on the outgoing JMS Message.
* </p>
*
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/util/RemoteFileSystem.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -56,6 +56,8 @@
public static final String PARMS_CERTIFICATE_NAME = "certificateName";
+ public static final String PARMS_PASSPHRASE = "passphrase";
+
public String getRemoteDir ();
/**
Modified: labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/util/Util.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/util/Util.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/src/org/jboss/soa/esb/util/Util.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -54,6 +54,7 @@
import org.jboss.internal.soa.esb.message.format.xml.XMLUtil;
import org.jboss.internal.soa.esb.util.XMLHelper;
import org.jboss.internal.soa.esb.util.stax.StreamHelper;
+import org.jboss.soa.esb.common.Environment;
import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.helpers.KeyValuePair;
import org.jboss.soa.esb.message.Message;
@@ -181,13 +182,16 @@
try
{
- final StringWriter writer = new StringWriter() ;
- final XMLStreamWriter out = XMLHelper.getXMLStreamWriter(writer) ;
- final String origURI = StreamHelper.writeStartElement(out, XMLUtil.ESB_QNAME_ENVELOPE) ;
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ final XMLStreamWriter out = XMLHelper.getXMLStreamWriter(baos) ;
+ final String origURI = StreamHelper.writeStartElement(out, XMLUtil.ESB_QNAME_ENVELOPE) ;
((MessageImpl) message).writeContent(out) ;
- StreamHelper.writeEndElement(out, XMLUtil.ESB_QNAME_ENVELOPE.getPrefix(), origURI) ;
- out.flush();
- return writer.toString() ;
+ StreamHelper.writeEndElement(out, XMLUtil.ESB_QNAME_ENVELOPE.getPrefix(), origURI) ;
+ out.flush();
+ int size = baos.toByteArray().length;
+ String outputString = baos.toString();
+ message.getProperties().setProperty(Environment.MESSAGE_BYTE_SIZE, "" + size);
+ return baos.toString();
}
catch (final XMLStreamException xmlse)
{
@@ -207,11 +211,14 @@
try
{
- // MessageType.JBOSS_XML
- final StringReader reader = new StringReader((String)serial) ;
+ // MessageType.JBOSS_XML
+ int size = ((String)serial).getBytes().length;
+ final StringReader reader = new StringReader((String)serial);
final XMLStreamReader in = XMLHelper.getXMLStreamReader(reader) ;
StreamHelper.checkNextStartTag(in, XMLUtil.ESB_QNAME_ENVELOPE) ;
- return new MessageImpl(in) ;
+ Message mess = new MessageImpl(in);
+ mess.getProperties().setProperty(Environment.MESSAGE_BYTE_SIZE, "" + size);
+ return mess;
}
catch (XMLStreamException xmlse)
{
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/InVMCourierUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -130,7 +130,24 @@
Assert.assertEquals(consumer.valid(), true);
}
+
+ @Test
+ public void testPassByValueDeliver() throws Exception {
+ InVMEpr epr = new InVMEpr(new URI("invm://serviceid5/false?true#2000"));
+ InVMCourier courier = new InVMCourier(epr);
+ Producer producer = new Producer(courier);
+ Consumer consumer = new Consumer(courier);
+ consumer.start();
+ producer.start();
+
+ consumer.join(TIMEOUT) ;
+ Assert.assertTrue("Consumer valid", consumer.valid()) ;
+
+ Assert.assertEquals(consumer.valid(), true);
+ }
+
+
@Test
public void test_single_Courier_Creation() throws URISyntaxException,
MalformedEPRException, CourierException {
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/DisplayMemoryUsageActionUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/DisplayMemoryUsageActionUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/DisplayMemoryUsageActionUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.actions;
-
-import static org.junit.Assert.assertEquals;
-import junit.framework.JUnit4TestAdapter;
-
-import org.apache.log4j.Level;
-import org.junit.Test;
-
-/**
- * Unit test for DisplayMemoryUsageAction
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- *
- */
-public class DisplayMemoryUsageActionUnitTest
-{
- @Test
- public void setLogLevelToInfo()
- {
- DisplayMemoryUsageAction action = new DisplayMemoryUsageAction();
- action.setLogger( action.getClass().getName() );
- action.setLogLevel( "info" );
- assertEquals( Level.INFO, action.getLevel() );
- }
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter( DisplayMemoryUsageActionUnitTest.class );
- }
-
-}
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/DisplayTimeActionUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/DisplayTimeActionUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/DisplayTimeActionUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.actions;
-
-import static org.junit.Assert.*;
-import junit.framework.JUnit4TestAdapter;
-
-import org.junit.Test;
-
-/**
- * Unit test for {@link DisplyTimeAction}
- * <p/>
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- *
- */
-public class DisplayTimeActionUnitTest
-{
- @Test
- public void process()
- {
- final String format = "HH:mm:ss:S";
- DisplayTimeAction action = new DisplayTimeAction();
- action.setFormat( format );
- assertEquals( format, action.getFormat() );
- }
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter( DisplayTimeActionUnitTest.class );
- }
-
-}
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/converters/FileToStreamUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/converters/FileToStreamUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/converters/FileToStreamUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,92 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.actions.converters;
-
-import static org.junit.Assert.*;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-
-import junit.framework.JUnit4TestAdapter;
-
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Unit test for {@link FileToStream}
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- */
-public class FileToStreamUnitTest
-{
- private FileToStream fileToStream;
-
- @Test
- public void defaultFileNameLocation()
- {
- String fileNameLocation = fileToStream.getFileNameLocation();
- assertNull( fileNameLocation );
- }
-
- @Test
- public void customFileNameLocation()
- {
- final String customLocation = "custom-location";
- fileToStream.setFileNameLocation( customLocation );
- assertEquals( customLocation, fileToStream.getFileNameLocation() );
- }
-
- @Test ( expected = ActionProcessingException.class )
- public void processNegative() throws IOException, ActionProcessingException
- {
- Message message = MessageFactory.getInstance().getMessage();
- fileToStream.process( message );
- }
-
- @Test
- public void process() throws IOException, ActionProcessingException
- {
- Message message = MessageFactory.getInstance().getMessage();
- File file = File.createTempFile( "testing", ".xml" );
- message.getBody().add( file.getAbsolutePath() );
-
- Message processedMsg = fileToStream.process( message );
-
- assertTrue ( processedMsg.getBody().get() instanceof InputStream );
- }
-
- @Before
- public void setup()
- {
- fileToStream = new FileToStream();
- }
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter( FileToStreamUnitTest.class );
- }
-
-}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/routing/JmsRouterIntegrationTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/routing/JmsRouterIntegrationTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/actions/routing/JmsRouterIntegrationTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -35,7 +35,8 @@
import javax.jms.JMSException;
import javax.jms.Queue;
import javax.jms.TextMessage;
-import javax.jms.Topic;
+import javax.naming.Context;
+import javax.naming.InitialContext;
import javax.naming.NamingException;
import junit.framework.JUnit4TestAdapter;
@@ -46,13 +47,17 @@
import org.jboss.soa.esb.actions.ActionProcessingException;
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.NamingContextException;
+import org.jboss.soa.esb.listeners.gateway.DefaultESBPropertiesSetter;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.testutils.SerializableMockQueue;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
+import org.mockejb.jms.MockQueue;
import org.mockejb.jms.ObjectMessageImpl;
import org.mockejb.jms.TextMessageImpl;
+import org.mockejb.jndi.MockContextFactory;
/**
* Integration test for {@link JMSRouter}
@@ -136,43 +141,40 @@
}
@Test
- public void setJMSReplyTo_queue() throws JMSException, URISyntaxException, ConfigurationException, NamingException, ConnectionException
+ public void setJMSReplyToQueue() throws JMSException, URISyntaxException, ConfigurationException, NamingException, ConnectionException, NamingContextException
{
- final String queueName = "testQueue";
+ try
+ {
+ MockContextFactory.setAsInitial();
+ Context context = new InitialContext();
+ MockContextFactory.setDelegateContext( context );
+
+ final String destName = "/queue/A";
+ final MockQueue queue = new SerializableMockQueue( destName );
+
+ context.rebind( destName, queue );
- TextMessageImpl jmsMessage = new TextMessageImpl();
+ // inbound is to simulate a jms message arriving at a gateway endpoint.
+ TextMessageImpl inBoundJmsMessage = new TextMessageImpl();
+ inBoundJmsMessage.setJMSReplyTo( queue );
+ new DefaultESBPropertiesSetter().setPropertiesFromJMSMessage( inBoundJmsMessage, msg );
+
+ JMSRouter router = new JMSRouter( createConfigTree() );
+
+ // outbound is to simulate a new jms message that is about to leave the ESB.
+ TextMessageImpl outBoundJmsMessage = new TextMessageImpl();
+ router.setJMSReplyTo( outBoundJmsMessage, msg );
- JMSEpr jmsEpr = new JMSEpr( JMSEpr.QUEUE_TYPE, queueName , "ConnectionFactory" );
- msg.getHeader().getCall().setReplyTo( jmsEpr );
- JMSRouter router = new JMSRouter( createConfigTree() );
- router.setJMSReplyTo( jmsMessage, msg );
-
- Destination replyTo = jmsMessage.getJMSReplyTo();
- assertTrue( replyTo instanceof Queue );
- Queue replyToQueue = (Queue) replyTo;
- assertEquals( queueName , replyToQueue.getQueueName() );
+ Destination replyTo = outBoundJmsMessage.getJMSReplyTo();
+ assertTrue( replyTo instanceof Queue );
+ }
+ finally
+ {
+ MockContextFactory.revertSetAsInitial();
+ }
}
-
+
@Test
- @Ignore
- public void setJMSReplyTo_topic() throws JMSException, URISyntaxException, ConfigurationException, NamingException, ConnectionException
- {
- final String queueName = "testTopic";
-
- TextMessageImpl jmsMessage = new TextMessageImpl();
-
- JMSEpr jmsEpr = new JMSEpr( JMSEpr.TOPIC_TYPE, queueName , "ConnectionFactory" );
- msg.getHeader().getCall().setReplyTo( jmsEpr );
- JMSRouter router = new JMSRouter( createConfigTree() );
- router.setJMSReplyTo( jmsMessage, msg );
-
- Destination replyTo = jmsMessage.getJMSReplyTo();
- assertTrue( replyTo instanceof Topic );
- Topic replyToTopic = (Topic) replyTo;
- assertEquals( queueName , replyToTopic.getTopicName() );
- }
-
- @Test
public void constructWithDefaultPersitentAttribute() throws ConfigurationException, NamingException, JMSException
{
ConfigTree config = createConfigTree();
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/InVMUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/InVMUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/addressing/helpers/tests/InVMUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -49,6 +49,20 @@
fail(ex.toString());
}
}
+
+ public void testPassByReference ()
+ {
+ try
+ {
+ InVMEpr epr = new InVMEpr(new URI("invm://myservice/false?true#1234"));
+
+ assertEquals(epr.getPassByReference(), false);
+ }
+ catch (Exception ex)
+ {
+ fail(ex.toString());
+ }
+ }
public void testSetGet ()
{
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/common/tests/MockDataSource.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/common/tests/MockDataSource.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/common/tests/MockDataSource.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -91,4 +91,15 @@
this.loginTimeout = loginTimeout;
}
+
+ public boolean isWrapperFor(final Class<?> iface)
+ throws SQLException
+ {
+ return false ;
+ }
+
+ public <T> T unwrap(final Class<T> iface) throws SQLException
+ {
+ throw new SQLException("unwrap method not supported by this implementation") ;
+ }
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -77,6 +77,28 @@
assertTrue("ConfigTree creation from a stream failed, or, ConfigTree toXML failed - failed to produce the same XML.",
StringUtils.equalsIgnoreLinebreaks(new String(expected), output, false));
}
+
+ public void testChildren () throws SAXException, IOException
+ {
+ ConfigTree confTree = ConfigTree.fromInputStream(getStream("testfile5.xml"));
+
+ System.err.println(confTree.toString());
+
+ ConfigTree[] children = confTree.getAllChildren();
+
+ for (ConfigTree child : children)
+ {
+ System.err.println(child.toString()+"\n");
+ }
+
+ // make sure attribute names are unique!
+
+ ConfigTree theChild = confTree.getFirstChild("message-property-name");
+
+ System.err.println("\n"+theChild);
+
+ assertNotNull(theChild);
+ }
public void test_fromXML_args() throws SAXException, IOException
{
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile5.xml (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile5.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile5.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/helpers/testfile5.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,7 @@
+<action name="simplePropertyRouter" class="SimpleDynamicRouter" >
+ <message-property-name name="message.property.name" value="from" />
+ <message-property-value name="message.property.value" value="plus">
+ <service.name>PlusFileService</service.name>
+ <service.name>service99</service.name>
+ </message-property-value>
+</action>
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/InVMListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/InVMListenerUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/InVMListenerUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -21,11 +21,11 @@
import junit.framework.TestCase;
import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.eprs.InVMEpr;
import org.jboss.soa.esb.client.ServiceInvoker;
import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.couriers.CourierFactory;
import org.jboss.soa.esb.couriers.FaultMessageException;
import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
import org.jboss.soa.esb.listeners.message.MessageDeliverException;
@@ -33,10 +33,8 @@
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.mock.MockAction;
import org.jboss.soa.esb.parameters.ParamRepositoryException;
-import org.jboss.soa.esb.services.registry.RegistryException;
-import org.jboss.soa.esb.services.registry.ServiceNotFoundException;
+import org.jboss.soa.esb.testutils.AbstractTestRunner;
import org.jboss.soa.esb.testutils.ESBConfigUtil;
-import org.jboss.internal.soa.esb.couriers.InVMCourier;
import org.xml.sax.SAXException;
import java.io.IOException;
@@ -49,48 +47,34 @@
protected void setUp() throws Exception {
System.setProperty(Environment.DEFAULT_INVM_SCOPE, "GLOBAL");
+ MockAction.exception = null;
}
protected void tearDown() throws Exception {
System.setProperty(Environment.DEFAULT_INVM_SCOPE, "NONE");
+ MockAction.exception = null;
}
- public void test_async() throws IOException, SAXException, ConfigurationException, ManagedLifecycleException, ParamRepositoryException, MessageDeliverException {
- ESBConfigUtil esbConfig = new ESBConfigUtil(getClass().getResourceAsStream("in-listener-config-01.xml"));
-
- esbConfig.setESBProperties(getClass().getResourceAsStream("jbossesb-properties-01.xml"));
- try {
- esbConfig.installRegistry();
- try {
- esbConfig.startController();
-
+ public void test_async() throws Exception {
+ AbstractTestRunner testRunner = new AbstractTestRunner() {
+ public void test() throws Exception {
ServiceInvoker invoker = new ServiceInvoker("ServiceCat", "ServiceName");
Message message = MessageFactory.getInstance().getMessage();
message.getBody().add("Hi there!");
invoker.deliverAsync(message);
- sleep(50);
+ waitForMockSet(message);
assertTrue(message == MockAction.message);
+ }
+ }.setServiceConfig("in-listener-config-01.xml");
- esbConfig.stopController();
- } finally {
- esbConfig.uninstallRegistry();
- }
- } finally {
- esbConfig.resetESBProperties();
- }
+ testRunner.run();
}
- public void test_async_lockstep() throws IOException, SAXException, ConfigurationException, ManagedLifecycleException, ParamRepositoryException, MessageDeliverException, ServiceNotFoundException, RegistryException {
- ESBConfigUtil esbConfig = new ESBConfigUtil(getClass().getResourceAsStream("in-listener-config-04.xml"));
-
- esbConfig.setESBProperties(getClass().getResourceAsStream("jbossesb-properties-01.xml"));
- try {
- esbConfig.installRegistry();
- try {
- esbConfig.startController();
-
+ public void test_async_lockstep() throws Exception {
+ AbstractTestRunner testRunner = new AbstractTestRunner() {
+ public void test() throws Exception {
// Test that we can invoke them....
invokeService("ServiceCat", "Service1");
invokeService("ServiceCat", "Service2");
@@ -105,37 +89,15 @@
assertEquals(1, eprs.size());
assertEquals(true, ((InVMEpr)eprs.get(0)).getLockstep());
assertEquals(4000, ((InVMEpr)eprs.get(0)).getLockstepWaitTime());
-
- esbConfig.stopController();
- } finally {
- esbConfig.uninstallRegistry();
}
- } finally {
- esbConfig.resetESBProperties();
- }
- }
+ }.setServiceConfig("in-listener-config-04.xml");
- private void invokeService(String cat, String name) throws MessageDeliverException {
- ServiceInvoker invoker = new ServiceInvoker(cat, name);
-
- Message message = MessageFactory.getInstance().getMessage();
-
- message.getBody().add("Hi there!");
- invoker.deliverAsync(message);
-
- sleep(50);
- assertTrue(message == MockAction.message);
+ testRunner.run();
}
- public void test_sync() throws IOException, SAXException, ConfigurationException, ManagedLifecycleException, ParamRepositoryException, MessageDeliverException, RegistryException, FaultMessageException {
- ESBConfigUtil esbConfig = new ESBConfigUtil(getClass().getResourceAsStream("in-listener-config-01.xml"));
-
- esbConfig.setESBProperties(getClass().getResourceAsStream("jbossesb-properties-01.xml"));
- try {
- esbConfig.installRegistry();
- try {
- esbConfig.startController();
-
+ public void test_sync_noerror() throws Exception {
+ AbstractTestRunner testRunner = new AbstractTestRunner() {
+ public void test() throws Exception {
ServiceInvoker invoker = new ServiceInvoker("ServiceCat", "ServiceName");
Message message = MessageFactory.getInstance().getMessage();
@@ -144,31 +106,48 @@
assertTrue(message == MockAction.message);
assertTrue(message == response);
+ }
+ }.setServiceConfig("in-listener-config-01.xml");
- esbConfig.stopController();
- } finally {
- esbConfig.uninstallRegistry();
+ testRunner.run();
+ }
+
+ public void test_sync_error() throws Exception {
+ AbstractTestRunner testRunner = new AbstractTestRunner() {
+ public void test() throws Exception {
+ ServiceInvoker invoker = new ServiceInvoker("ServiceCat", "ServiceName");
+ Message message = MessageFactory.getInstance().getMessage();
+
+ message.getBody().add("Hi there!");
+ MockAction.exception = new ActionProcessingException("invm_sync_error");
+ try {
+ invoker.deliverSync(message, 2000);
+ fail("Expected FaultMessageException.");
+ } catch(FaultMessageException e) {
+ assertEquals("org.jboss.soa.esb.actions.ActionProcessingException: invm_sync_error", e.getMessage());
+ }
}
- } finally {
- esbConfig.resetESBProperties();
- }
+ }.setServiceConfig("in-listener-config-01.xml");
+
+ testRunner.run();
}
- public void test_sync_multithreaded() throws IOException, SAXException, ConfigurationException, ManagedLifecycleException, ParamRepositoryException, MessageDeliverException, RegistryException, FaultMessageException {
- ESBConfigUtil esbConfig = new ESBConfigUtil(getClass().getResourceAsStream("in-listener-config-03.xml"));
+ public void test_JBESB_1865() throws Exception {
+ ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream("in-listener-config-JBESB-1865.xml"));
- esbConfig.setESBProperties(getClass().getResourceAsStream("jbossesb-properties-01.xml"));
- try {
- esbConfig.installRegistry();
- try {
- esbConfig.startController();
+ String maxThreads = configUtil.getListenerConfig("InVM-0").getAttribute(ListenerTagNames.MAX_THREADS_TAG);
+ assertEquals("10", maxThreads);
+ }
+ public void test_sync_multithreaded() throws Exception {
+ AbstractTestRunner testRunner = new AbstractTestRunner() {
+ public void test() throws Exception {
ServiceInvoker invoker = new ServiceInvoker("ServiceCat", "ServiceName");
ClientInvokerThread[] clients = new ClientInvokerThread[10];
// Create the clients...
for (int i = 0; i < clients.length; i++) {
- clients[i] = new ClientInvokerThread(invoker);
+ clients[i] = new ClientInvokerThread(invoker);
}
// Start the clients...
@@ -195,20 +174,27 @@
fail("Thread " + i + " was in error: " + clients[i].thrown.getMessage());
}
}
+ }
+ }.setServiceConfig("in-listener-config-03.xml");
- esbConfig.stopController();
- } finally {
- esbConfig.uninstallRegistry();
- }
- } finally {
- esbConfig.resetESBProperties();
+ testRunner.run();
+ }
+
+ public void test_none_scoped() throws ManagedLifecycleException, SAXException, ParamRepositoryException, MessageDeliverException, IOException {
+ try {
+ new ESBConfigUtil(getClass().getResourceAsStream("in-listener-config-02.xml"));
+ fail("Expected ConfigurationException");
+ } catch (ConfigurationException e) {
+ assertEquals("Service configuration for Service 'ServiceCat:ServiceName' doesn't define a Message-Aware Listener (i.e. is-gateway='false').", e.getMessage());
}
}
private class ClientInvokerThread extends Thread {
private ServiceInvoker invoker = null;
+
private boolean done = false;
+
private Throwable thrown;
private ClientInvokerThread(ServiceInvoker invoker) {
@@ -237,14 +223,29 @@
done = true;
}
}
+
}
- public void test_none_scoped() throws ManagedLifecycleException, SAXException, ParamRepositoryException, MessageDeliverException, IOException {
- try {
- new ESBConfigUtil(getClass().getResourceAsStream("in-listener-config-02.xml"));
- fail("Expected ConfigurationException");
- } catch (ConfigurationException e) {
- assertEquals("Service configuration for Service 'ServiceCat:ServiceName' doesn't define a Message-Aware Listener (i.e. is-gateway='false').", e.getMessage());
+ private void invokeService(String cat, String name) throws MessageDeliverException {
+ ServiceInvoker invoker = new ServiceInvoker(cat, name);
+
+ Message message = MessageFactory.getInstance().getMessage();
+
+ message.getBody().add("Hi there!");
+ invoker.deliverAsync(message);
+
+ waitForMockSet(message);
+ assertTrue(message == MockAction.message);
+ }
+
+ private void waitForMockSet(Message message) {
+ long start = System.currentTimeMillis();
+
+ while(System.currentTimeMillis() - start < 5000) {
+ if(message == MockAction.message) {
+ return;
+ }
+ sleep(50);
}
}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/SetPayloadAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/SetPayloadAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/SetPayloadAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,18 +1,22 @@
/*
- Milyn - Copyright (C) 2006
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License (version 2.1) as published by the Free Software
- Foundation.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- See the GNU Lesser General Public License for more details:
- http://www.gnu.org/licenses/lgpl.txt
-*/
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
package org.jboss.soa.esb.listeners;
import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,32 +1,27 @@
/*
* JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a
- * full listing of individual contributors.
+ * full listing of individual contributors.
* This copyrighted material is made available to anyone wishing to use,
* modify, copy, or redistribute it subject to the terms and conditions
* of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License,
* v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
- *
+ *
* (C) 2005-2006,
* @author JBoss Inc.
*/
package org.jboss.soa.esb.listeners.config;
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-
import junit.framework.TestCase;
-
import org.apache.log4j.Logger;
import org.jboss.internal.soa.esb.util.StreamUtils;
import org.jboss.soa.esb.ConfigurationException;
@@ -34,19 +29,23 @@
import org.jboss.soa.esb.listeners.config.xbeanmodel.JmsBusDocument.JmsBus;
import org.jboss.soa.esb.listeners.config.xbeanmodel.JmsListenerDocument.JmsListener;
import org.jboss.soa.esb.listeners.config.xbeanmodel.JmsMessageFilterDocument.JmsMessageFilter;
-import org.jboss.soa.esb.listeners.config.xbeanmodel.ServiceDocument.Service;
import org.jboss.soa.esb.listeners.config.xbeanmodel.JmsProviderType;
import org.jboss.soa.esb.listeners.config.xbeanmodel.Listener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel.ServiceDocument.Service;
import org.jboss.soa.esb.testutils.FileUtil;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
/**
* Generator unit tests.
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
*/
public class GeneratorUnitTest extends TestCase {
-
+
private Logger log = Logger.getLogger( GeneratorUnitTest.class );
-
+
private File outdir = new File("test-outdir");
private File gatewayConfig;
private File awareConfig;
@@ -59,36 +58,36 @@
// OK
}
}
-
+
public void test_generate_badagrs() throws ConfigurationException, IOException {
test_generate_badargs(null, "null 'outdir' arg in method call");
test_generate_badargs(new File("build.xml"), "'outdir' exists, but is not a directory");
}
-
+
public void test_generate_files() throws ConfigurationException, IOException {
test_generate_files("jbossesb_config_01.xml");
test_generate_files("jbossesb_config_02.xml");
}
-
+
public void test_generate_files(String filename) throws ConfigurationException, IOException {
Generator generator = new Generator(getClass().getResourceAsStream(filename));
String expectedGatewayConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream("jbossesb_config_01_gateways.xml"))).trim();
String expectedESBAwareConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream("jbossesb_config_01_esbaware.xml"))).trim();
String actualGatewayConfig;
String actualESBAwareConfig;
-
+
expectedGatewayConfig = removeEOL(expectedGatewayConfig);
expectedESBAwareConfig = removeEOL(expectedESBAwareConfig);
-
+
generator.generate(outdir);
-
+
gatewayConfig = new File(outdir, Generator.ESB_CONFIG_GATEWAY_XML_FILE);
assertTrue(gatewayConfig.exists());
actualGatewayConfig = FileUtil.readTextFile(gatewayConfig);
log.debug("actual [" + removeEOL(actualGatewayConfig) + "]");
log.debug("expected[" + expectedGatewayConfig + "]");
assertEquals(expectedGatewayConfig, removeEOL(actualGatewayConfig));
-
+
awareConfig = new File(outdir, Generator.ESB_CONFIG_XML_FILE);
assertTrue(awareConfig.exists());
actualESBAwareConfig = FileUtil.readTextFile(awareConfig);
@@ -96,12 +95,12 @@
actualESBAwareConfig = removeEOL(actualESBAwareConfig);
boolean isIndentical = expectedESBAwareConfig.equals(actualESBAwareConfig);
log.debug("Strings identical=" + isIndentical);
- assertEquals(expectedESBAwareConfig, actualESBAwareConfig);
+ assertEquals(expectedESBAwareConfig, actualESBAwareConfig);
}
public void test_bad_base_listener_busref() throws ConfigurationException, IOException {
Generator generator = new Generator(getClass().getResourceAsStream("jbossesb_config_03.xml"));
-
+
try {
generator.generate(outdir);
fail("Expected ConfigurationException");
@@ -111,18 +110,18 @@
}
}
}
-
+
public static String removeEOL(String string) {
StringBuffer stringBuf = new StringBuffer(string.length());
for(int i = 0; i < string.length(); i++) {
char character = string.charAt(i);
-
+
if(character != '\r' && character != '\n') {
stringBuf.append(character);
}
}
-
+
return stringBuf.toString();
}
@@ -161,12 +160,12 @@
assertEquals("queue/B", listenerDestination.getDestName());
assertEquals(JmsMessageFilter.DestType.TOPIC, listenerDestination.getDestType());
assertEquals("service='Reconciliation'", listenerDestination.getSelector());
-
+
Listener untypedAwareListener = awareListeners.get(1);
assertEquals("Bank-Listener-Generic", untypedAwareListener.getName());
assertEquals("my-generic-bus", untypedAwareListener.getBusidref());
assertTrue(!untypedAwareListener.getIsGateway());
-
+
Service gatewayService = model.getService(gatewayListener);
Service awareService = model.getService(awareListener);
assertSame(gatewayService, awareService);
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539 (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539)
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/JBESB_539_UnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/JBESB_539_UnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/JBESB_539_UnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.listeners.config.JBESB_539;
-
-import junit.framework.TestCase;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.testutils.ESBConfigUtil;
-import org.xml.sax.SAXException;
-
-import java.io.IOException;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class JBESB_539_UnitTest extends TestCase {
-
- public void test() throws IOException, SAXException, ConfigurationException {
- ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream("config_01.xml"));
- ConfigTree myListenerConfig = configUtil.getGatewayConfig("My Listener");
- ConfigTree yourListenerConfig = configUtil.getGatewayConfig("Your Listener");
-
- assertNotNull(myListenerConfig);
- assertEquals("My Listener", myListenerConfig.getAttribute("name"));
- assertNotNull(yourListenerConfig);
- assertEquals("Your Listener", yourListenerConfig.getAttribute("name"));
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/JBESB_539_UnitTest.java (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/JBESB_539_UnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/JBESB_539_UnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/JBESB_539_UnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.config.JBESB_539;
+
+import junit.framework.TestCase;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.testutils.ESBConfigUtil;
+import org.xml.sax.SAXException;
+
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class JBESB_539_UnitTest extends TestCase {
+
+ public void test() throws IOException, SAXException, ConfigurationException {
+ ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream("config_01.xml"));
+ ConfigTree myListenerConfig = configUtil.getGatewayConfig("My Listener");
+ ConfigTree yourListenerConfig = configUtil.getGatewayConfig("Your Listener");
+
+ assertNotNull(myListenerConfig);
+ assertEquals("My Listener", myListenerConfig.getAttribute("name"));
+ assertNotNull(yourListenerConfig);
+ assertEquals("Your Listener", yourListenerConfig.getAttribute("name"));
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/config_01.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/config_01.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/config_01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,22 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
-
- <providers>
- <jbr-provider name="jbr" protocol="http" host="localhost">
- <jbr-bus busid="http1" port="10909" />
- </jbr-provider>
- </providers>
-
- <services>
- <service category="cat" name="name" description="blah" invmScope="GLOBAL">
- <listeners>
- <jbr-listener name="My Listener" busidref="http1" is-gateway="true" />
- <jbr-listener name="Your Listener" busidref="http1" is-gateway="true" />
- </listeners>
- <actions>
- <action name="xxx" class="org.jboss.soa.esb.mock.MockAction" />
- </actions>
- </service>
- </services>
-
-</jbossesb>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/config_01.xml (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/config_01.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/config_01.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/JBESB_539/config_01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,22 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <providers>
+ <jbr-provider name="jbr" protocol="http" host="localhost">
+ <jbr-bus busid="http1" port="10909" />
+ </jbr-provider>
+ </providers>
+
+ <services>
+ <service category="cat" name="name" description="blah" invmScope="GLOBAL">
+ <listeners>
+ <jbr-listener name="My Listener" busidref="http1" is-gateway="true" />
+ <jbr-listener name="Your Listener" busidref="http1" is-gateway="true" />
+ </listeners>
+ <actions>
+ <action name="xxx" class="org.jboss.soa.esb.mock.MockAction" />
+ </actions>
+ </service>
+ </services>
+
+</jbossesb>
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,41 +1 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- NOTE: DO NOT MODIFY
- This file was auto-generated.
--->
-<jbossesb-listeners parameterReloadSecs="180">
-<Bank-Listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation">
-<EPR acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" persistent="true" protocol="jms" transacted="false"/>
-<action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">
- This is some complex..
- <!-- property -->
- value.
- <xxxx>
- boooo
- <yyyy/>
- </xxxx>
- Some CDATA data...
- </action>
-</Bank-Listener>
-<Bank-Listener-Generic listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" my-generic-listener="my-generic-listener#someattribvalue" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation">
-<EPR my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/>
-<action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">
- This is some complex..
- <!-- property -->
- value.
- <xxxx>
- boooo
- <yyyy/>
- </xxxx>
- Some CDATA data...
- </action>
-</Bank-Listener-Generic>
-<test-ftp-listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="OneWay" schedule-frequency="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest">
-<EPR URL="ftp://joe:secret@localhost:21/Temp" errorDelete="true" inputSuffix=".txt" passive="false" postDelete="true" workSuffix=".esbInProcess"/>
-<action action="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
-</test-ftp-listener>
-<test-sql-listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="RequestResponse" pollLatencySeconds="10" service-category="Test3" service-description="SQL server Test" service-name="SQLTest">
-<EPR URL="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" errorDelete="true" insert_timestamp_column="insert_timestamp" message_column="message" message_id_column="message_id" password="secret" postDelete="true" status_column="status" tablename="testtable" username="joe"/>
-<action action="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
-</test-sql-listener>
-</jbossesb-listeners>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!-- NOTE: DO NOT MODIFY This file was auto-generated.--><jbossesb-listeners parameterReloadSecs="180"><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" name="Bank-Listener" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" persistent="true" protocol="jms" transacted="false"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue"> This is some complex.. <!-- property --> value. <xxxx> boooo <yyyy/> </xxxx> Some CDATA data... </action></listener><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" ma!
xThreads="2" my-generic-listener="my-generic-listener#someattribvalue" name="Bank-Listener-Generic" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue"> This is some complex.. <!-- property --> value. <xxxx> boooo <yyyy/> </xxxx> Some CDATA data... </action></listener><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="OneWay" name="test-ftp-listener" schedule-frequency="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest"><EPR URL="ftp://joe:secret@localhost:21/Temp" errorDelete="true" inputSuffix=".txt" passive="false" postDelete="true" workSuffix=".esbInProcess"/><a!
ction action="TestFtpRouteAction" class="org.jboss.soa.esb.actions.Con
tentBasedRouter"/></listener><listener listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="RequestResponse" name="test-sql-listener" pollLatencySeconds="10" service-category="Test3" service-description="SQL server Test" service-name="SQLTest"><EPR URL="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" errorDelete="true" insert_timestamp_column="insert_timestamp" message_column="message" message_id_column="message_id" password="secret" postDelete="true" status_column="status" tablename="testtable" username="joe"/><action action="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></listener></jbossesb-listeners>
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!-- NOTE: DO NOT MODIFY This file was auto-generated.--><jbossesb-gateways parameterReloadSecs="180"><Bank-JMS-Gateway acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" is-gateway="true" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" maxThreads="1" message-selector="service='Reconciliation'" persistent="true" protocol="jms" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation" transacted="false"/><Bank-HTTP-Gateway gatewayClass="org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener" is-gateway="true" jbr-serverBindAddress="192.168.1.111" jbr-serverBindPort="8765" jbr-serverProtocol="http" maxThreads="1" service-description="Bank !
Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation"/></jbossesb-gateways>
+<?xml version="1.0" encoding="UTF-8"?><!-- NOTE: DO NOT MODIFY This file was auto-generated.--><jbossesb-gateways parameterReloadSecs="180"><listener acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" is-gateway="true" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" maxThreads="1" message-selector="service='Reconciliation'" name="Bank-JMS-Gateway" persistent="true" protocol="jms" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation" transacted="false"/><listener gatewayClass="org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener" is-gateway="true" jbr-serverBindAddress="192.168.1.111" jbr-serverBindPort="8765" jbr-serverProtocol="http" maxThreads="1" name="Bank-HTTP-Gat!
eway" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation"/></jbossesb-gateways>
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapperUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapperUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers/FtpListenerMapperUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -78,7 +78,6 @@
Node ftpMapperListener = root.getFirstChild();
assertNotNull ("ftpMapperListener should not be null", ftpMapperListener );
- assertEquals( ftpListener.getName(), ftpMapperListener.getNodeName() );
NamedNodeMap attributes = ftpMapperListener.getAttributes();
Node gatewayClass = attributes.getNamedItem( GATEWAY_CLASS_ATTRIBUTE );
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/DefaultESBPropertiesSetterUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -22,20 +22,21 @@
package org.jboss.soa.esb.listeners.gateway;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import java.net.URI;
import javax.jms.JMSException;
+import javax.jms.Queue;
import junit.framework.JUnit4TestAdapter;
import org.apache.log4j.Logger;
-import org.jboss.soa.esb.addressing.EPR;
-import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.notification.jms.JMSPropertiesSetter;
+import org.jboss.soa.esb.testutils.SerializableMockQueue;
import org.junit.Before;
import org.junit.Test;
import org.mockejb.jms.MockQueue;
@@ -53,7 +54,6 @@
@SuppressWarnings ("unused")
private Logger log = Logger .getLogger( DefaultESBPropertiesSetterUnitTest.class );
- private final static String jmsMessageID = "123456780";
private final static String jmsCorrelationID = "YYXX-123456780-GG";
private ESBPropertiesSetter strategy;
private javax.jms.Message fromJMSTextMessage;
@@ -69,19 +69,27 @@
}
@Test
- public void setPropertiesFromJMSMessage_ReplyTo() throws JMSException
+ public void setPropertiesFromJMSMessageReplyTo() throws JMSException
{
- final String destinationName = "testDest";
- final MockQueue queue = new MockQueue( destinationName );
+ final String destinationName = "/queue/testDest";
+ final MockQueue queue = new SerializableMockQueue( destinationName );
fromJMSTextMessage.setJMSReplyTo( queue );
strategy.setPropertiesFromJMSMessage( fromJMSTextMessage , toESBMessage );
- final EPR replyToEPR = toESBMessage.getHeader().getCall().getReplyTo();
+ final Object object = toESBMessage.getProperties().getProperty( JMSPropertiesSetter.JMS_REPLY_TO );
+ assertNotNull( object );
+ assertTrue( object instanceof Queue );
+ }
+
+ @Test
+ public void setPropertiesFromJMSMessageReplyToNull() throws JMSException
+ {
+ final MockQueue queue = null;
+ fromJMSTextMessage.setJMSReplyTo( queue );
+ strategy.setPropertiesFromJMSMessage( fromJMSTextMessage , toESBMessage );
- assertEquals( "jms://localhost/testDest", replyToEPR.getAddr().getAddress() );
-
- final String connectionFactory = replyToEPR.getAddr().getExtensionValue( JMSEpr.CONNECTION_FACTORY_TAG );
- assertEquals ( "ConnectionFactory", connectionFactory );
+ final String replyTo = (String) toESBMessage.getProperties().getProperty( JMSPropertiesSetter.JMS_REPLY_TO );
+ assertNull( replyTo );
}
@Test
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/JBRIntegratedUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/JBRIntegratedUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/JBRIntegratedUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/JBRIntegratedUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,81 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.listeners.gateway;
+
+import junit.framework.TestCase;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.testutils.AbstractTestRunner;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.Client;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class JBRIntegratedUnitTest extends TestCase {
+
+ protected void setUp() throws Exception {
+ System.setProperty(Environment.DEFAULT_INVM_SCOPE, "GLOBAL");
+ }
+
+ protected void tearDown() throws Exception {
+ System.setProperty(Environment.DEFAULT_INVM_SCOPE, "NONE");
+ }
+
+ public void test_JBESB_1428_01() throws Exception {
+ new AbstractTestRunner() {
+ public void test() throws Exception {
+ String response = (String) sendMessageToServer("http://localhost:8769", "Hi there!!");
+ assertEquals("<ack/>", response);
+ }
+ }.setServiceConfig("jbr-async-config-01.xml").run();
+ }
+
+ public void test_JBESB_1428_02() throws Exception {
+ new AbstractTestRunner() {
+ public void test() throws Exception {
+ String response = (String) sendMessageToServer("http://localhost:8769", "Hi there!!");
+ assertEquals("<async_ack_from-file/>", response);
+ }
+ }.setServiceConfig("jbr-async-config-02.xml").run();
+ }
+
+ private Object sendMessageToServer(String url, Object messagePayload) throws Exception {
+ InvokerLocator locator = new InvokerLocator(url);
+
+ Client remotingClient = null;
+ try {
+ remotingClient = new Client(locator);
+ remotingClient.connect();
+
+ try {
+ return remotingClient.invoke(messagePayload);
+ } catch (Throwable throwable) {
+ throwable.printStackTrace();
+ fail("Error making JBR Client invocation.");
+ throw new Exception(); // keep the compiler happy!!
+ }
+ } finally {
+ if(remotingClient != null) {
+ remotingClient.disconnect();
+ }
+ }
+ }
+
+}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListenerUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListenerUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -35,7 +35,6 @@
import org.jboss.remoting.Client;
import org.jboss.remoting.InvokerLocator;
import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.actions.ActionUtils;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.listeners.ListenerTagNames;
@@ -90,7 +89,7 @@
}
@Test
public void test_lifecycle() throws SAXException, ConfigurationException, ManagedLifecycleException {
- ConfigTree config = getConfig("cat", "servicex", "http", "8888");
+ ConfigTree config = getConfig("cat", "servicex", "http", "8887");
listener = new JBossRemotingGatewayListener(config);
@@ -141,7 +140,7 @@
}
@Test
public void test_http_async() throws Throwable {
- test_delivery("http", false);
+ test_delivery("http", false, "8888");
}
// public void x_test_http_sync() throws Throwable {
@@ -150,19 +149,19 @@
// }
@Test
public void test_socket_() throws Throwable {
- test_delivery("socket", false);
+ test_delivery("socket", false, "8886");
}
- public void test_delivery(String protocol, boolean synchronous) throws Throwable {
- startServer(protocol, synchronous);
- sendMessageToServer(protocol, protocol + "_payload");
+ public void test_delivery(String protocol, boolean synchronous, final String port) throws Throwable {
+ startServer(protocol, synchronous, port);
+ sendMessageToServer(protocol, protocol + "_payload", port);
stopServer();
}
public void x_test_profile() throws Throwable {
- startServer("http", false);
+ startServer("http", false, "8889");
for(int i = 0; i < 10000; i++) {
- sendMessageToServer("http", "xxx_payload");
+ sendMessageToServer("http", "xxx_payload", "8889");
MockCourierFactory.resetCouriers();
Thread.sleep(50);
}
@@ -170,8 +169,8 @@
}
@SuppressWarnings("serial")
- private void startServer(String protocol, boolean synchronous) throws SAXException, ConfigurationException, ManagedLifecycleException {
- ConfigTree config = getConfig("cat", "servicex", protocol, "8888");
+ private void startServer(String protocol, boolean synchronous, final String port) throws SAXException, ConfigurationException, ManagedLifecycleException {
+ ConfigTree config = getConfig("cat", "servicex", protocol, port);
if(synchronous) {
listener = new JBossRemotingGatewayListener(config) {
@@ -199,9 +198,9 @@
listener.doStart();
}
- private void sendMessageToServer(String protocol, Object messagePayload) throws Throwable {
+ private void sendMessageToServer(String protocol, Object messagePayload, final String port) throws Throwable {
- String locatorURI = protocol + "://" + InetAddress.getLocalHost().getHostName() + ":8888";
+ String locatorURI = protocol + "://" + InetAddress.getLocalHost().getHostName() + ":" + port;
InvokerLocator locator = new InvokerLocator(locatorURI);
System.out.println("Calling remoting server with locator uri of: " + locatorURI);
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/PackageJmsMessageContentsUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/PackageJmsMessageContentsUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/PackageJmsMessageContentsUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -34,6 +34,7 @@
import javax.jms.BytesMessage;
import javax.jms.Destination;
import javax.jms.JMSException;
+import javax.jms.Queue;
import junit.framework.JUnit4TestAdapter;
@@ -43,6 +44,8 @@
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.MessagePayloadProxy;
import org.jboss.soa.esb.message.body.content.BytesBody;
+import org.jboss.soa.esb.notification.jms.JMSPropertiesSetter;
+import org.jboss.soa.esb.testutils.SerializableMockQueue;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.listeners.message.MessageDeliverException;
import org.junit.Before;
@@ -63,7 +66,6 @@
private Logger log = Logger.getLogger( PackageJmsMessageContentsUnitTest.class );
private final static String messageContent = "Test Message Content";
- private final static String jmsMessageID = "123456780";
private final static String jmsCorrelationID = "YYXX-123456780-GG";
private PackageJmsMessageContents packer;
@@ -161,15 +163,14 @@
@Test
public void process_with_JMSReplyTo() throws JMSException, IOException, URISyntaxException, MessageDeliverException {
objectMsg.setObject( messageContent );
- MockQueue jmsReplyToQueue = new MockQueue( "mockReplyToQueueName");
+ MockQueue jmsReplyToQueue = new SerializableMockQueue( "/queue/mockReplyToQueueName");
objectMsg.setJMSReplyTo( jmsReplyToQueue );
Message message = packer.process( objectMsg );
- EPR replyTo = message.getHeader().getCall().getReplyTo();
- assertTrue( replyTo instanceof JMSEpr );
- JMSEpr jmsEpr = (JMSEpr) replyTo;
- assertEquals ( jmsReplyToQueue.getQueueName() , jmsEpr.getDestinationName() );
+ Destination replyTo = (Destination) message.getProperties().getProperty( JMSPropertiesSetter.JMS_REPLY_TO );
+ assertNotNull ( replyTo );
+ assertTrue ( replyTo instanceof Queue );
}
/**
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/async_response.txt (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/async_response.txt)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/async_response.txt (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/async_response.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1 @@
+<async_ack_from-file/>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-01.xml (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-01.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-01.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,23 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <providers>
+ <jbr-provider name="http" protocol="http" host="localhost">
+ <jbr-bus busid="http1" port="8769" />
+ </jbr-provider>
+ </providers>
+
+ <services>
+ <service category="ServiceCat" name="ServiceName" description="Test Service">
+ <listeners>
+ <jbr-listener name="http" busidref="http1" is-gateway="true">
+ <property name="synchronous" value="false" />
+ </jbr-listener>
+ </listeners>
+ <actions mep="RequestResponse">
+ <action name="action" class="org.jboss.soa.esb.mock.MockAction" />
+ </actions>
+ </service>
+ </services>
+
+</jbossesb>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-02.xml (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-02.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-02.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/gateway/jbr-async-config-02.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,24 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <providers>
+ <jbr-provider name="http" protocol="http" host="localhost">
+ <jbr-bus busid="http1" port="8769" />
+ </jbr-provider>
+ </providers>
+
+ <services>
+ <service category="ServiceCat" name="ServiceName" description="Test Service">
+ <listeners>
+ <jbr-listener name="http" busidref="http1" is-gateway="true">
+ <property name="synchronous" value="false" />
+ <property name="asyncResponse" value="/org/jboss/soa/esb/listeners/gateway/async_response.txt" />
+ </jbr-listener>
+ </listeners>
+ <actions mep="RequestResponse">
+ <action name="action" class="org.jboss.soa.esb.mock.MockAction" />
+ </actions>
+ </service>
+ </services>
+
+</jbossesb>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/in-listener-config-JBESB-1865.xml (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/in-listener-config-JBESB-1865.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/in-listener-config-JBESB-1865.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/in-listener-config-JBESB-1865.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,14 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <services>
+ <service category="ServiceCat" name="ServiceName" description="Test Service">
+ <property name="maxThreads" value="10" />
+
+ <actions mep="RequestResponse">
+ <action name="action" class="org.jboss.soa.esb.mock.MockAction" />
+ </actions>
+ </service>
+ </services>
+
+</jbossesb>
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,3 +1,3 @@
-<simple-schedule-listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" my-prop="1" scheduleidref="1-sec-trigger">
+<listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" my-prop="1" name="simple-schedule-listener" scheduleidref="1-sec-trigger">
<action action="action" class="org.jboss.soa.esb.mock.MockAction"/>
-</simple-schedule-listener>
\ No newline at end of file
+</listener>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyJMSIntegrationTest.java (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyJMSIntegrationTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyJMSIntegrationTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyJMSIntegrationTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,104 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2008, Red Hat Middleware
+ * LLC, and individual contributors by the @authors tag. See the copyright.txt
+ * in the distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.notification;
+
+import static org.junit.Assert.assertTrue;
+
+import java.net.URISyntaxException;
+
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Queue;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.helpers.NamingContextException;
+import org.jboss.soa.esb.listeners.gateway.DefaultESBPropertiesSetter;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.testutils.SerializableMockQueue;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockejb.jms.MockQueue;
+import org.mockejb.jms.TextMessageImpl;
+import org.mockejb.jndi.MockContextFactory;
+
+/**
+ * Integration test for {@link NotifyJMS}
+ * <p/>
+ * @author <a href="daniel.bevenius at redpill.se">Daniel Bevenius</a>
+ *
+ */
+public class NotifyJMSIntegrationTest
+{
+ private InitialContext context;
+ private String destName = "/queue/A";
+ private MockQueue queue;
+
+ @Test
+ public void setJMSReplyToQueue() throws JMSException, URISyntaxException, ConfigurationException, NamingException, ConnectionException, NamingContextException, NotificationException
+ {
+ TextMessageImpl inBoundJmsMessage = new TextMessageImpl();
+ inBoundJmsMessage.setJMSReplyTo( queue );
+
+ Message esbMessage = MessageFactory.getInstance().getMessage();
+ new DefaultESBPropertiesSetter().setPropertiesFromJMSMessage( inBoundJmsMessage, esbMessage );
+
+ NotifyJMS notifyJMS = new NotifyQueues( new ConfigTree("test" ) );
+
+ TextMessageImpl outBoundJmsMessage = new TextMessageImpl();
+ notifyJMS.setJMSReplyTo( outBoundJmsMessage, esbMessage );
+
+ Destination replyTo = outBoundJmsMessage.getJMSReplyTo();
+ assertTrue( replyTo instanceof Queue );
+ }
+
+ @Before
+ public void before() throws NamingException
+ {
+ MockContextFactory.setAsInitial();
+ context = new InitialContext();
+ MockContextFactory.setDelegateContext( context );
+ queue = new SerializableMockQueue( destName );
+ context.rebind( destName, queue );
+ }
+
+ @After
+ public void after()
+ {
+ MockContextFactory.revertSetAsInitial();
+ }
+
+ /*
+ * Just here to help Ant to find annotated test.
+ */
+ public static junit.framework.Test suite()
+ {
+ return new JUnit4TestAdapter( NotifyJMSIntegrationTest.class );
+ }
+
+}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetterUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetterUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/notification/jms/DefaultJMSPropertiesSetterUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -29,6 +29,9 @@
import java.net.URISyntaxException;
import javax.jms.JMSException;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
import junit.framework.JUnit4TestAdapter;
@@ -36,9 +39,12 @@
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.mockejb.jms.MockQueue;
import org.mockejb.jms.TextMessageImpl;
+import org.mockejb.jndi.MockContextFactory;
/**
* Unit test for DefaultJMSPropertiesSetter.
@@ -58,6 +64,8 @@
private DefaultJMSPropertiesSetter strategy;
private Message fromESBMessage;
+ private Context context;
+
@Test
public void setJMSProperties_negative() throws JMSException, URISyntaxException
{
@@ -98,6 +106,8 @@
assertEquals ( expire, toJMSMessage.getJMSExpiration() );
}
+
+
@Test
public void setJMSProperties_with_set_properties_negative() throws JMSException, URISyntaxException
{
@@ -203,14 +213,24 @@
}
@Before
- public void before() throws JMSException
+ public void before() throws JMSException, NamingException
{
toJMSMessage = new TextMessageImpl();
toJMSMessage.setText( bodyContent );
fromESBMessage = MessageFactory.getInstance().getMessage();
strategy = new DefaultJMSPropertiesSetter();
+
+ MockContextFactory.setAsInitial();
+ context = new InitialContext();
+ MockContextFactory.setDelegateContext( context );
}
+ @After
+ public void after()
+ {
+ MockContextFactory.revertSetAsInitial();
+ }
+
/*
* Just here to help Ant to find annotated test.
*/
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,3 +1,3 @@
-<simple-schedule-listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" scheduleidref="1-sec-trigger">
+<listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" name="simple-schedule-listener" scheduleidref="1-sec-trigger">
<action action="action" class="org.jboss.soa.esb.mock.MockAction"/>
-</simple-schedule-listener>
\ No newline at end of file
+</listener>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/AbstractTestRunner.java (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/AbstractTestRunner.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/AbstractTestRunner.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/AbstractTestRunner.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.testutils;
+
+import junit.framework.TestCase;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+
+import java.io.InputStream;
+
+/**
+ * Abstract Test Runner class.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class AbstractTestRunner {
+
+ private InputStream serviceConfig;
+ private InputStream esbProperties;
+
+ public AbstractTestRunner setServiceConfig(InputStream serviceConfig) {
+ AssertArgument.isNotNull(serviceConfig, "serviceConfig");
+ this.serviceConfig = serviceConfig;
+ return this;
+ }
+
+ public AbstractTestRunner setServiceConfig(String serviceConfig) {
+ AssertArgument.isNotNull(serviceConfig, "serviceConfig");
+ setServiceConfig(getClass().getResourceAsStream(serviceConfig));
+ return this;
+ }
+
+ public AbstractTestRunner setEsbProperties(InputStream esbProperties) {
+ AssertArgument.isNotNull(esbProperties, "esbProperties");
+ this.esbProperties = esbProperties;
+ return this;
+ }
+
+ public AbstractTestRunner setEsbProperties(String esbProperties) {
+ AssertArgument.isNotNull(esbProperties, "esbProperties");
+ setEsbProperties(getClass().getResourceAsStream(esbProperties));
+ return this;
+ }
+
+ public abstract void test() throws Exception;
+
+ public void run() throws Exception {
+ if(serviceConfig == null) {
+ TestCase.fail("'serviceConfig' not configured. Must call setServiceConfig().");
+ }
+
+ ESBConfigUtil esbConfig = new ESBConfigUtil(serviceConfig);
+
+ if(esbProperties != null) {
+ esbConfig.setESBProperties(esbProperties);
+ } else {
+ esbConfig.setESBProperties(AbstractTestRunner.class.getResourceAsStream("jbossesb-properties.xml"));
+ }
+
+ String installedJaxrConnectionFactoryImpl = System.getProperty( "javax.xml.registry.ConnectionFactoryClass");
+ String jaxrConnectionFactoryImpl = ModulePropertyManager.getPropertyManager("registry").getProperty("org.jboss.soa.esb.registry.factoryClass", "org.apache.ws.scout.registry.ConnectionFactoryImpl");
+ System.setProperty( "javax.xml.registry.ConnectionFactoryClass", jaxrConnectionFactoryImpl);
+ try {
+ esbConfig.installRegistry();
+ try {
+ esbConfig.startController();
+ try {
+ test();
+ } finally {
+ esbConfig.stopController();
+ }
+ } finally {
+ esbConfig.uninstallRegistry();
+ }
+ } finally {
+ if(installedJaxrConnectionFactoryImpl != null) {
+ System.setProperty("javax.xml.registry.ConnectionFactoryClass", installedJaxrConnectionFactoryImpl);
+ } else {
+ System.getProperties().remove("javax.xml.registry.ConnectionFactoryClass");
+ }
+ esbConfig.resetESBProperties();
+ }
+ }
+}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/ESBConfigUtil.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/ESBConfigUtil.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/ESBConfigUtil.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -22,8 +22,8 @@
import com.arjuna.common.util.propertyservice.PropertyManager;
import org.jboss.internal.soa.esb.assertion.AssertArgument;
import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
+import org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl;
import org.jboss.internal.soa.esb.services.registry.MockRegistry;
-import org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.dom.YADOMUtil;
@@ -33,9 +33,9 @@
import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController;
import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
import org.jboss.soa.esb.parameters.ParamRepositoryException;
+import org.jboss.soa.esb.services.registry.Registry;
+import org.jboss.soa.esb.services.registry.RegistryException;
import org.jboss.soa.esb.services.registry.RegistryFactory;
-import org.jboss.soa.esb.services.registry.RegistryException;
-import org.jboss.soa.esb.services.registry.Registry;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
@@ -45,8 +45,8 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.sql.SQLException;
import java.util.Hashtable;
-import java.sql.SQLException;
/**
* Utility class for working with the ESB configuration.
@@ -157,6 +157,18 @@
NodeList listenerConfigElements = config.getDocumentElement().getElementsByTagName(name);
if(listenerConfigElements == null || listenerConfigElements.getLength() == 0) {
+ listenerConfigElements = config.getDocumentElement().getElementsByTagName("listener");
+ if(listenerConfigElements == null || listenerConfigElements.getLength() == 0) {
+ return null;
+ }
+
+ for(int i = 0; i < listenerConfigElements.getLength(); i++) {
+ Element element = (Element) listenerConfigElements.item(i);
+ if(name.equals(element.getAttribute("name"))) {
+ return element;
+ }
+ }
+
return null;
}
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/SerializableMockQueue.java (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/SerializableMockQueue.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/SerializableMockQueue.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/SerializableMockQueue.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2008, Red Hat Middleware
+ * LLC, and individual contributors by the @authors tag. See the copyright.txt
+ * in the distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.testutils;
+
+import java.io.Serializable;
+
+import org.mockejb.jms.MockQueue;
+
+/**
+ * Simple class that extends MockQueue and implements serializable
+ * <p/>
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class SerializableMockQueue extends MockQueue implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ public SerializableMockQueue(String name)
+ {
+ super( name );
+ }
+}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/TestEnvironmentUtil.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,8 +5,8 @@
import java.io.*;
import java.sql.DriverManager;
+import java.sql.SQLException;
import java.sql.Statement;
-import java.sql.SQLException;
import java.util.Properties;
public class TestEnvironmentUtil
@@ -15,7 +15,7 @@
public static String getUserDir()
{
- return getUserDir("product");
+ return getUserDir("product");
}
public static String getBaseDir()
@@ -128,7 +128,7 @@
database = "hsqldb";
//Bring up hsql on default port 9001
try {
- HsqldbUtil.startHsqldb(TestEnvironmentUtil.getUserDir() + "build/hsqltestdb", "juddi");
+ HsqldbUtil.startHsqldb(TestEnvironmentUtil.getProductDir() + "build/hsqltestdb", "juddi");
} catch (Exception e) {
TestCase.fail("Failed to start HSQLDB: " + e.getMessage());
}
@@ -137,7 +137,7 @@
} //add and test your own database..
//Get the registry-schema create scripts
- String sqlDir = TestEnvironmentUtil.getUserDir() + "install/jUDDI-registry/sql/" + database + "/";
+ String sqlDir = TestEnvironmentUtil.getProductDir() + "install/jUDDI-registry/sql/" + database + "/";
//Drop what is there now, if exists. We want to start fresh.
String sqlDropCmd = null;
try {
@@ -150,8 +150,8 @@
String sqlCreateCmd = null;
try {
sqlCreateCmd = FileUtil.readStream(is).trim().replaceAll("\\$\\{prefix}", "");
- } catch (IOException e) {
- TestCase.fail("Failed to read create_database.sql: " + e.getMessage());
+ } catch (Exception e) {
+ TestCase.fail("Failed to read '" + resource + "' from classpath: " + e.getMessage());
}
String sqlInsertPubCmd = null;
try {
@@ -176,7 +176,35 @@
stmnt.execute(sqlInsertPubCmd);
}
-
+
+ public static String getProductDir() {
+ File workingDir = new File(new File("./").getAbsolutePath());
+
+ // are we in the project root dir...
+ if(isProjectRootDir(workingDir)) {
+ return "product/";
+ } else {
+ // OK... drop back dir-by-dir until we reach the 'product' dir or the filesys root....
+ StringBuilder stringBuilder = new StringBuilder("product/");
+ File parentDir = workingDir.getParentFile();
+
+ while(parentDir != null && !isProjectRootDir(parentDir)) {
+ stringBuilder.insert(0, "../");
+ parentDir = parentDir.getParentFile();
+ }
+
+ if(parentDir == null) {
+ throw new RuntimeException("Unable to establish the relative location of the project's 'product' directory from current working directory '" + workingDir.getAbsolutePath() + "'.");
+ }
+
+ return stringBuilder.toString();
+ }
+ }
+
+ private static boolean isProjectRootDir(File dir) {
+ return new File(dir, "product/services/jbossesb").exists();
+ }
+
public static void stopJAXRDatabase() throws Exception {
Properties props = getJuddiProperties();
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbossesb-properties.xml (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbossesb-properties.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbossesb-properties.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ JBoss, Home of Professional Open Source
+ Copyright 2006, JBoss Inc., and others contributors as indicated
+ by the @authors tag. All rights reserved.
+ See the copyright.txt in the distribution for a
+ full listing of individual contributors.
+ This copyrighted material is made available to anyone wishing to use,
+ modify, copy, or redistribute it subject to the terms and conditions
+ of the GNU Lesser General Public License, v. 2.1.
+ This program is distributed in the hope that it will be useful, but WITHOUT A
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public License,
+ v.2.1 along with this distribution; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02110-1301, USA.
+
+ (C) 2005-2006,
+ @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+ These options are described in the JBossESB manual.
+ Defaults are provided here for convenience only.
+
+ Please read through this file prior to using the system, and consider
+ updating the specified entries.
+-->
+<esb
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+ <properties name="core">
+ <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+ <property name="org.jboss.soa.esb.jndi.server.context.factory" value="org.jnp.interfaces.NamingContextFactory"/>
+ <property name="org.jboss.soa.esb.jndi.server.pkg.prefix" value=""/>
+ <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+ <property name="jboss.esb.invm.scope.default" value="NONE"/>
+ </properties>
+ <properties name="registry">
+ <property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+ <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#publish"/>
+ <property name="org.jboss.soa.esb.registry.implementationClass" value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
+ <property name="org.jboss.soa.esb.registry.factoryClass" value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
+ <property name="org.jboss.soa.esb.registry.user" value="jbossesb"/>
+ <property name="org.jboss.soa.esb.registry.password" value="password"/>
+ <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
+ <property name="org.jboss.soa.esb.scout.proxy.transportClass" value="org.apache.ws.scout.transport.LocalTransport"/>
+ </properties>
+ <properties name="transports" depends="core">
+ <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
+ <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
+ <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
+ <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
+ </properties>
+ <properties name="connection">
+ <property name="min-pool-size" value="5"/>
+ <property name="max-pool=size" value="10"/>
+ <property name="blocking-timeout-millis" value="5000"/>
+ <property name="abandoned-connection-timeout" value="10000"/>
+ <property name="abandoned-connection-time-interval" value="30000"/>
+ </properties>
+ <properties name="dbstore">
+ <!-- connection manager type -->
+ <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
+ <!-- property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.J2eeConnectionManager"/ -->
+
+ <!-- this property is only used if using the j2ee connection manager -->
+ <property name="org.jboss.soa.esb.persistence.db.datasource.name" value="java:/JBossesbDS"/>
+
+ <!-- standalone connection pooling settings -->
+ <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/juddi"/>
+ <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
+ <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
+ <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
+ <!--table managed by pool to test for valid connections - created by pool automatically -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
+ </properties>
+ <properties name="messagerouting">
+ <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+ </properties>
+</esb>
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr)
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/JBRServer.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/JBRServer.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/JBRServer.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,68 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.testutils.jbr;
-
-import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.ServerInvocationHandler;
-import org.jboss.remoting.transport.Connector;
-
-import java.util.Map;
-import java.util.HashMap;
-
-/**
- * JBoss Remoting Server utility for testing.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class JBRServer {
-
- private String serverURI;
- private Connector connector;
- private boolean isStarted = false;
-
- public JBRServer(String serverURI, ServerInvocationHandler handler) throws Exception {
- this(serverURI, handler, new HashMap<String, String>());
- }
-
- public JBRServer(String serverURI, ServerInvocationHandler handler, Map<String, String> connectorConfig) throws Exception {
- InvokerLocator locator = new InvokerLocator(serverURI);
-
- this.serverURI = serverURI;
- connector = new Connector(locator, connectorConfig);
- connector.create();
- connector.addInvocationHandler(handler.getClass().getName(), handler);
- }
-
- public void start() throws Exception {
- if(isStarted) {
- throw new RuntimeException("Server '" + serverURI + "' already started.");
- }
- connector.start();
- isStarted = true;
- }
-
- public void stop() {
- if(!isStarted) {
- throw new RuntimeException("Server '" + serverURI + "' not started.");
- }
- connector.stop();
- isStarted = false;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/JBRServer.java (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/JBRServer.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/JBRServer.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/JBRServer.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.testutils.jbr;
+
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.ServerInvocationHandler;
+import org.jboss.remoting.transport.Connector;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * JBoss Remoting Server utility for testing.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class JBRServer {
+
+ private String serverURI;
+ private Connector connector;
+ private boolean isStarted = false;
+
+ public JBRServer(String serverURI, ServerInvocationHandler handler) throws Exception {
+ this(serverURI, handler, new HashMap<String, String>());
+ }
+
+ public JBRServer(String serverURI, ServerInvocationHandler handler, Map<String, String> connectorConfig) throws Exception {
+ InvokerLocator locator = new InvokerLocator(serverURI);
+
+ this.serverURI = serverURI;
+ connector = new Connector(locator, connectorConfig);
+ connector.create();
+ connector.addInvocationHandler(handler.getClass().getName(), handler);
+ }
+
+ public void start() throws Exception {
+ if(isStarted) {
+ throw new RuntimeException("Server '" + serverURI + "' already started.");
+ }
+ connector.start();
+ isStarted = true;
+ }
+
+ public void stop() {
+ if(!isStarted) {
+ throw new RuntimeException("Server '" + serverURI + "' not started.");
+ }
+ connector.stop();
+ isStarted = false;
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/StaticRequestResponseHandler.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/StaticRequestResponseHandler.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/StaticRequestResponseHandler.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,92 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.testutils.jbr;
-
-import junit.framework.TestCase;
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.remoting.InvocationRequest;
-import org.jboss.remoting.ServerInvocationHandler;
-import org.jboss.remoting.ServerInvoker;
-import org.jboss.remoting.callback.InvokerCallbackHandler;
-import org.jboss.soa.esb.testutils.StringUtils;
-
-import javax.management.MBeanServer;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class StaticRequestResponseHandler implements ServerInvocationHandler {
-
- private String response;
- private String expectedRequest;
-
- public StaticRequestResponseHandler(String response) {
- this.response = response;
- }
-
- public StaticRequestResponseHandler(InputStream response) {
- this.response = readStream(response);
- }
-
- public void setExpectedRequest(String expectedRequest) {
- this.expectedRequest = expectedRequest;
- }
-
- public void setExpectedRequest(InputStream expectedRequest) {
- this.expectedRequest = readStream(expectedRequest);
- }
-
- public Object invoke(InvocationRequest invocationRequest) throws Throwable {
- if(expectedRequest != null) {
- String payload = (String) invocationRequest.getParameter();
- TestCase.assertTrue(StringUtils.equalsIgnoreLinebreaks(expectedRequest, payload, false));
- }
- return response;
- }
-
- private String readStream(InputStream response) {
- try {
- return StreamUtils.readStreamString(response, "UTF-8");
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException("Error reading stream.");
- } finally {
- try {
- response.close();
- } catch (IOException e) {
- throw new RuntimeException("Error closing stream.");
- }
- }
- }
-
- public void setMBeanServer(MBeanServer mBeanServer) {
- }
-
- public void setInvoker(ServerInvoker serverInvoker) {
- }
-
- public void addListener(InvokerCallbackHandler invokerCallbackHandler) {
- }
-
- public void removeListener(InvokerCallbackHandler invokerCallbackHandler) {
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/StaticRequestResponseHandler.java (from rev 21158, labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/StaticRequestResponseHandler.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/StaticRequestResponseHandler.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/jbr/StaticRequestResponseHandler.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,92 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.testutils.jbr;
+
+import junit.framework.TestCase;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.remoting.InvocationRequest;
+import org.jboss.remoting.ServerInvocationHandler;
+import org.jboss.remoting.ServerInvoker;
+import org.jboss.remoting.callback.InvokerCallbackHandler;
+import org.jboss.soa.esb.testutils.StringUtils;
+
+import javax.management.MBeanServer;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class StaticRequestResponseHandler implements ServerInvocationHandler {
+
+ private String response;
+ private String expectedRequest;
+
+ public StaticRequestResponseHandler(String response) {
+ this.response = response;
+ }
+
+ public StaticRequestResponseHandler(InputStream response) {
+ this.response = readStream(response);
+ }
+
+ public void setExpectedRequest(String expectedRequest) {
+ this.expectedRequest = expectedRequest;
+ }
+
+ public void setExpectedRequest(InputStream expectedRequest) {
+ this.expectedRequest = readStream(expectedRequest);
+ }
+
+ public Object invoke(InvocationRequest invocationRequest) throws Throwable {
+ if(expectedRequest != null) {
+ String payload = (String) invocationRequest.getParameter();
+ TestCase.assertTrue(StringUtils.equalsIgnoreLinebreaks(expectedRequest, payload, false));
+ }
+ return response;
+ }
+
+ private String readStream(InputStream response) {
+ try {
+ return StreamUtils.readStreamString(response, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException("Error reading stream.");
+ } finally {
+ try {
+ response.close();
+ } catch (IOException e) {
+ throw new RuntimeException("Error closing stream.");
+ }
+ }
+ }
+
+ public void setMBeanServer(MBeanServer mBeanServer) {
+ }
+
+ public void setInvoker(ServerInvoker serverInvoker) {
+ }
+
+ public void addListener(InvokerCallbackHandler invokerCallbackHandler) {
+ }
+
+ public void removeListener(InvokerCallbackHandler invokerCallbackHandler) {
+ }
+}
Modified: labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -16,8 +16,8 @@
public void test() throws ConfigurationException, IOException, SAXException {
ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream("jboss-esb.xml"));
- assertTrue(configUtil.getListenerConfig("JMS-ESBListener").toString().startsWith("<JMS-ESBListener listenerClass=\"org.jboss.soa.esb.listeners.message.MessageAwareListener\" maxThreads=\"1\" service-category=\"ABI_OrderManager\" service-description=\"ABI OrderManager Service\" service-name=\"ABI_OrderManager\">"));
- assertTrue(configUtil.getGatewayConfig("FileGateway").toString().startsWith("<FileGateway"));
+ assertTrue(configUtil.getListenerConfig("JMS-ESBListener").toString().startsWith("<listener listenerClass=\"org.jboss.soa.esb.listeners.message.MessageAwareListener\" maxThreads=\"1\" name=\"JMS-ESBListener\" service-category=\"ABI_OrderManager\" service-description=\"ABI OrderManager Service\" service-name=\"ABI_OrderManager\">"));
+ assertTrue(configUtil.getGatewayConfig("FileGateway").toString().startsWith("<listener"));
assertTrue(configUtil.getActionConfig("OrderNotificationService", "print-after-transform").toString().startsWith("<action action=\"print-after-transform\""));
}
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,9 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" >
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="AggregatorListenQueue">
<jms-message-filter dest-type="QUEUE" dest-name="queue/A"/>
</jms-bus>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/blue_service/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/blue_service/jbossesb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/blue_service/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,9 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="Aggregator_ToBlue">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Aggregator_ToBlue"/>
</jms-bus>
@@ -23,8 +21,10 @@
</listeners>
<actions mep="OneWay">
<action name="transform"
- class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml"/>
+ class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml"/>
+ <property name="resultType" value="JAVA"/>
+ <property name="javaResultBeanId" value="orderHeader"/>
</action>
<action name="ripOrderHeader"
class="org.jboss.soa.esb.dvdstore.RetrieveOrderAction"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,7 +5,7 @@
${line.separator}
</description>
- <property name="additional.deploys" value="smooks-cdr.lst,smooks-res.xml" />
+ <property name="additional.deploys" value="smooks-res.xml" />
<!-- Import the base Ant build script... -->
<import file="../conf/base-build.xml"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/green_service/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/green_service/jbossesb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/green_service/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,9 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="Aggregator_ToGreen">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Aggregator_ToGreen"/>
</jms-bus>
@@ -23,8 +21,10 @@
</listeners>
<actions mep="OneWay">
<action name="transform"
- class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml"/>
+ class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml"/>
+ <property name="resultType" value="JAVA"/>
+ <property name="javaResultBeanId" value="orderItemList"/>
</action>
<action name="ripLineItems"
class="org.jboss.soa.esb.dvdstore.RetrieveLineItemsAction"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/inbound_splitter/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/inbound_splitter/jbossesb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/inbound_splitter/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,9 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" >
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Aggregator_Request_GW"/>
</jms-bus>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/red_service/jbossesb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/red_service/jbossesb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/red_service/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,9 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" >
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="Aggregator_ToRed">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Aggregator_ToRed"/>
</jms-bus>
@@ -23,8 +21,10 @@
</listeners>
<actions mep="OneWay">
<action name="transform"
- class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml" />
+ class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml"/>
+ <property name="resultType" value="JAVA"/>
+ <property name="javaResultBeanId" value="customer"/>
</action>
<action name="ripCustomer"
class="org.jboss.soa.esb.dvdstore.RetrieveCustomerAction" />
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveCustomerAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -42,7 +42,7 @@
public Message process(Message message) throws ActionProcessingException {
StringBuffer results = new StringBuffer();
- Customer customer = (Customer) message.getBody().get("customer");
+ Customer customer = (Customer) message.getBody().get();
results.append("Customer: " + customer);
message.getBody().add(results.toString());
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveLineItemsAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,7 +43,7 @@
public Message process(Message message) throws ActionProcessingException {
StringBuffer results = new StringBuffer();
- List orderItems = (List) message.getBody().get("orderItemList");
+ List orderItems = (List) message.getBody().get();
if(orderItems != null) {
results.append("Order Items (" + orderItems.size() + "):");
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/dvdstore/RetrieveOrderAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -40,7 +40,7 @@
public Message process(Message message) throws ActionProcessingException {
StringBuffer results = new StringBuffer();
- OrderHeader header = (OrderHeader) message.getBody().get("orderHeader");
+ OrderHeader header = (OrderHeader) message.getBody().get();
results.append(header);
message.getBody().add(results.toString());
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration1/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration1/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration1/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -41,11 +41,11 @@
<target name="deployProcess" description="deploys the process definition" depends="dependencies">
<echo>Deploy the process definition</echo>
- <taskdef name="deployToServer" classname="org.jbpm.ant.DeployProcessToServerTask">
- <classpath refid="exec-classpath"/>
- </taskdef>
- <deployToServer>
- <fileset dir="${basedir}/processDefinition" includes="*"/>
+ <taskdef name="deployToServer" classname="org.jbpm.ant.DeployProcessToServerTask">
+ <classpath refid="exec-classpath"/>
+ </taskdef>
+ <deployToServer username="${jbpm.console.username}" password="${jbpm.console.password}" serverDeployer="${org.jboss.esb.jbpm.console.upload.url}">
+ <fileset dir="${basedir}/processDefinition" includes="*"/>
</deployToServer>
</target>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,4 +1,4 @@
-<project name="Quickstart_bpm_orchestration2" default="run" basedir=".">
+<project name="Quickstart_bpm_orchestration2" default="deploy" basedir=".">
<description>
${ant.project.name}
@@ -27,6 +27,10 @@
<antcall target="deployProcess"/>
</target>
+ <target name="run">
+ <echo message="This target is not implemented for this quickstart. Please run 'ant deploy', 'ant deployProcess' and 'ant startProcess'"/>
+ </target>
+
<target name="runtest">
<echo>Use "ant deployProcess" followed by "ant startProcess"</echo>
</target>
@@ -36,7 +40,7 @@
<taskdef name="deployToServer" classname="org.jbpm.ant.DeployProcessToServerTask">
<classpath refid="exec-classpath"/>
</taskdef>
- <deployToServer>
+ <deployToServer username="${jbpm.console.username}" password="${jbpm.console.password}" serverDeployer="${org.jboss.esb.jbpm.console.upload.url}">
<fileset dir="${basedir}/processDefinition" includes="*"/>
</deployToServer>
</target>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,10 +3,7 @@
parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-URL="jnp://127.0.0.1:1099" jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces">
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="deployGwChannel">
<jms-message-filter dest-type="QUEUE"
dest-name="queue/quickstart_bpm_orchestration2_deploy_Request_gw" />
@@ -62,8 +59,6 @@
</providers>
<services>
-
-
<service category="BPM_Orchestration2_Starter_Service" name="Starter_Service"
description="BPM Orchestration Sample 2: Use this service to start a process instance">
<listeners>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/readme.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration2/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -7,17 +7,7 @@
To Run standalone mode:
=======================
- 1. In a command terminal window in the quickstart folder type
- 'ant deploy-jms-dests'.
- 2. In a command terminal window in this folder ("Window1"), type 'ant run'.
- 3. Open another command terminal window in this folder ("Window2"), type
- 'ant deployProcess' to deploy the process.
- 4. Switch back to ESB console and wait for the message
- 'Process Definition Deployed:' to appear on the console.
- 5. Switch back to "Window2", type 'ant startProcess' to start the process.
- 6. Switch back to "Window1" to see the output from the ESB
- 7. When finished, interrupt the ESB using Ctrl-C and, in this folder
- ("Window1"), type 'ant undeploy-jms-dests'.
+ This quickstart does not run in standalone mode.
To Run '.esb' archive mode:
===========================
@@ -112,4 +102,4 @@
13:18:39,106 INFO [STDOUT] Out: Getting Started 'Receive Order' 'Credit Check' 'Validate Order' 'Inventory Check' 'Dallas' 'Shipped'
13:18:39,106 INFO [STDOUT] ***** End Ship It *****
13:18:39,113 INFO [STDOUT] SUCCESS!:
-13:18:39,113 INFO [STDOUT] [Getting Started 'Receive Order' 'Credit Check' 'Validate Order' 'Inventory Check' 'Dallas' 'Shipped' ].
\ No newline at end of file
+13:18:39,113 INFO [STDOUT] [Getting Started 'Receive Order' 'Credit Check' 'Validate Order' 'Inventory Check' 'Dallas' 'Shipped' ].
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration3/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration3/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration3/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -57,7 +57,7 @@
<taskdef name="deployToServer" classname="org.jbpm.ant.DeployProcessToServerTask">
<classpath refid="exec-classpath"/>
</taskdef>
- <deployToServer>
+ <deployToServer username="${jbpm.console.username}" password="${jbpm.console.password}" serverDeployer="${org.jboss.esb.jbpm.console.upload.url}">
<fileset dir="${basedir}/processDefinition" includes="*"/>
</deployToServer>
</target>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/altered_jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/altered_jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/altered_jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,209 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd"
- parameterReloadSecs="5">
-
- <providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-URL="jnp://127.0.0.1:1099" jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces">
-
- <jms-bus busid="startGwChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_bpm_orchestration4_start_gw" />
- </jms-bus>
- <jms-bus busid="startEsbChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_bpm_orchestration4_start_esb" />
- </jms-bus>
- <jms-bus busid="intakeServiceEsbChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_bpm_orchestration4_intake_service_esb" />
- </jms-bus>
- <jms-bus busid="discountServiceEsbChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_bpm_orchestration4_discount_service_esb" />
- </jms-bus>
- <jms-bus busid="shippingServiceEsbChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_bpm_orchestration4_shipping_service_esb" />
- </jms-bus>
- <jms-bus busid="conciergeServiceEsbChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_bpm_orchestration4_ConciergeManager" />
- </jms-bus>
- <jms-bus busid="distributionServiceEsbChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_bpm_orchestration4_DistributionManager" />
- </jms-bus>
- <jms-bus busid="basicShippingServiceEsbChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_bpm_orchestration4_BasicShipping" />
- </jms-bus>
-
- </jms-provider>
- </providers>
-
- <services>
- <!-- removed the deploy service, this process definition needs to be deployed by a .par and/or from
- the graphical process designer -->
- <service category="BPM_orchestration4_Starter_Service" name="Starter_Service"
- description="BPM Orchestration Sample 4: Use this service to start a process instance">
- <listeners>
- <jms-listener name="JMS-Gateway" busidref="startGwChannel"
- maxThreads="1"
- is-gateway="true" />
- <jms-listener name="ESB-Listener" busidref="startEsbChannel"
- maxThreads="1"/>
- </listeners>
- <actions>
-
- <action name="transformXML2POJO"
- class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config"
- value="/smooks-res.xml" />
- </action>
- <!--
- <action name="dump2" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="message" value="After" />
- <property name="printfull" value="true"/>
- </action>
- -->
- <action name="SetupMessage"
- class="org.jboss.soa.esb.samples.quickstarts.bpm_orchestration4.esb_actions.SetupMessage">
- <property name="status" value="60" /><!-- status was not in order XML -->
- </action>
-
- <action name="start_a_new_order_process"
- class="org.jboss.soa.esb.services.jbpm.actions.BpmProcessor">
- <property name="command" value="StartProcessInstanceCommand" />
- <property name="process-definition-name" value="bpm4_ESBOrderProcess"/>
- <property name="key" value="businessKey"/>
- <property name="object-paths">
- <object-path esb="body.entireOrder" bpm="entireOrder" />
- <object-path esb="body.order.orderId" bpm="order_orderid" />
-
-
- <object-path esb="body.customer.firstName" bpm="customer_firstName" />
- <object-path esb="body.customer.lastName" bpm="customer_lastName" />
- <object-path esb="body.customer.status" bpm="customer_status" />
- </property>
-
- </action>
- <!--
- <action name="dump3" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="message" value="After" />
- <property name="printfull" value="true"/>
- </action>
- -->
- </actions>
- </service>
- <!-- no external signal is necessary
- <service category="BPM_orchestration4_Signal_Service" name="Signal_Service"
- description="BPM Orchestration Sample 3: Use this service to signal a process instance">
- <listeners>
- <jms-listener name="JMS-Gateway" busidref="signalGwChannel"
- maxThreads="1"
- is-gateway="true" />
- <jms-listener name="ESB-Listener" busidref="signalEsbChannel"
- maxThreads="1"/>
- </listeners>
- <actions>
-
- <action name="dump1" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="message" value="SIGNAL" />
- <property name="printfull" value="true"/>
- </action>
-
- <action name="SetupSignal" class="org.jboss.soa.esb.samples.quickstarts.bpm_orchestration4.esb_actions.SetupSignal"/>
-
- <action name="signal_a_process_instance"
- class="org.jboss.soa.esb.services.jbpm.actions.BpmProcessor">
- <property name="command" value="SignalCommand" />
- <property name="object-paths">
- <object-path esb="BODY_CONTENT" bpm="theBody" />
- <object-path esb="body" bpm="theData" />
- </property>
- </action>
-
-
- <action name="dump2" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="message" value="After" />
- <property name="printfull" value="true"/>
- </action>
-
- </actions>
- </service>
- -->
-
- <service category="BPM_Orchestration4" name="IntakeService"
- description="IntakeService">
- <listeners>
- <jms-listener name="ESB-Listener" busidref="intakeServiceEsbChannel"
- maxThreads="1"/>
- </listeners>
- <actions>
- <!--
- <action name="dump" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="printfull" value="true"/>
- </action>
- -->
-
- <action name="groovy" class="org.jboss.soa.esb.actions.scripting.GroovyActionProcessor">
- <property name="script" value="/scripts/intake_service.groovy" />
- </action>
-
- <!--
- <action name="alert" class="org.jboss.soa.esb.samples.quickstarts.bpm_orchestration4.esb_actions.SimpleJMSNotifier">
- <property name="ALERT_QUEUE_NAME" value="quickstart_bpm_orchestration4_service1_Alert" />
- </action>
- -->
- </actions>
- </service>
- <service category="BPM_Orchestration4" name="DiscountService"
- description="DiscountService">
- <listeners>
- <jms-listener name="ESB-Listener" busidref="discountServiceEsbChannel"
- maxThreads="1"/>
- </listeners>
- <actions>
- <!--
- <action name="dump" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="printfull" value="true"/>
- </action>
- -->
- <action name="groovy" class="org.jboss.soa.esb.actions.scripting.GroovyActionProcessor">
- <property name="script" value="/scripts/discount_service.groovy" />
- </action>
- <!--
- <action name="alert" class="org.jboss.soa.esb.samples.quickstarts.bpm_orchestration2.esb_actions.SimpleJMSNotifier">
- <property name="ALERT_QUEUE_NAME" value="quickstart_bpm_orchestration2_service2_Alert" />
- </action>
- -->
- </actions>
- </service>
- <service category="BPM_Orchestration4" name="ShippingService"
- description="ShippingService">
- <listeners>
- <jms-listener name="ESB-Listener" busidref="shippingServiceEsbChannel"
- maxThreads="1"/>
- </listeners>
- <actions>
- <!--
- <action name="dump" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="printfull" value="true"/>
- </action>
- -->
- <action name="groovy" class="org.jboss.soa.esb.actions.scripting.GroovyActionProcessor">
- <property name="script" value="/scripts/shipping_service.groovy" />
- </action>
- <!--
- <action name="alert" class="org.jboss.soa.esb.samples.quickstarts.bpm_orchestration2.esb_actions.SimpleJMSNotifier">
- <property name="ALERT_QUEUE_NAME" value="quickstart_bpm_orchestration2_service3_Alert" />
- </action>
- -->
- </actions>
- </service>
-
- </services>
-
-</jbossesb>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -107,14 +107,20 @@
<action name="dump" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="printfull" value="true"/>
</action>
-
- <!-- transform -->
+
+ <action name="capture-original-message" class="org.jboss.soa.esb.actions.scripting.GroovyActionProcessor">
+ <property name="script" value="/scripts/capture_original.groovy" />
+ </action>
+
+ <!-- Initialise message profile... -->
<action name="discover-message-origin" class="org.jboss.soa.esb.actions.scripting.GroovyActionProcessor">
<property name="script" value="/scripts/check-origin.groovy" />
</action>
- <action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-config.xml" />
+ <!-- Transform XML to POJOs... -->
+ <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-config.xml" />
+ <property name="resultType" value="JAVA" />
</action>
<action name="SetupMessage"
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/scripts/capture_original.groovy (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/bpm_orchestration4/scripts/capture_original.groovy)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/scripts/capture_original.groovy (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/scripts/capture_original.groovy 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,3 @@
+// Capture the original XML message and store it on the message
+// under "entireOrderAsXML"...
+message.getBody().add("entireOrderAsXML", message.getBody().get());
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/scripts/check-origin.groovy
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/scripts/check-origin.groovy 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/scripts/check-origin.groovy 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,3 +1,4 @@
+import org.jboss.soa.esb.message.*
def messageText = message.getBody().get();
def order = new XmlParser().parseText(messageText);
@@ -3,7 +4,7 @@
if(order.OrderLines.size() == 1) {
- message.getProperties().setProperty("from", "dvdstore");
+ message.getProperties().setProperty(Properties.MESSAGE_PROFILE, "from:dvdstore");
} else if(order.LineItems.size() == 1) {
- message.getProperties().setProperty("from", "petstore");
+ message.getProperties().setProperty(Properties.MESSAGE_PROFILE, "from:petstore");
}
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/smooks-config.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/smooks-config.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/smooks-config.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,6 +1,11 @@
<?xml version="1.0"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+ <profiles>
+ <profile base-profile="from:dvdstore" />
+ <profile base-profile="from:petstore" />
+ </profiles>
+
<import file="classpath:/transforms/from-dvdstore.xml" />
<import file="classpath:/transforms/from-petstore.xml" />
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/src/org/jboss/soa/esb/samples/quickstarts/bpm_orchestration4/esb_actions/SetupMessage.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/src/org/jboss/soa/esb/samples/quickstarts/bpm_orchestration4/esb_actions/SetupMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/src/org/jboss/soa/esb/samples/quickstarts/bpm_orchestration4/esb_actions/SetupMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -20,23 +20,26 @@
*/
package org.jboss.soa.esb.samples.quickstarts.bpm_orchestration4.esb_actions;
+import org.apache.log4j.Logger;
import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
import org.jboss.soa.esb.actions.ActionProcessingException;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.store.Customer;
import org.jboss.soa.esb.store.OrderHeader;
-import org.apache.log4j.Logger;
+import java.util.Map;
+
public class SetupMessage extends AbstractActionPipelineProcessor {
private Logger logger = Logger.getLogger(SetupMessage.class);
private int status = 0;
public Message process(Message message) throws ActionProcessingException {
- OrderHeader order = (OrderHeader) message.getBody().get("orderHeader");
- Customer customer = (Customer) message.getBody().get("customer");
- //List orderItems = (List) message.getBody().get("orderItemList");
+ Map javaResultMap = (Map) message.getBody().get();
+ OrderHeader order = (OrderHeader) javaResultMap.get("orderHeader");
+ Customer customer = (Customer) javaResultMap.get("customer");
+ //List orderItems = (List) javaResultMap.get("orderItemList");
customer.setStatus(status);
@@ -46,7 +49,9 @@
logger.info("businessKey: " + order.getOrderId());
logger.info("--------------------------------");
- message.getBody().add("entireOrderAsXML", message.getBody().get());
+ message.getBody().add("orderHeader", order);
+ message.getBody().add("customer", customer);
+
message.getBody().add("order_orderId", order.getOrderId());
message.getBody().add("order_orderPriority", order.getOrderPriority());
message.getBody().add("order_totalAmount", order.getTotalAmount());
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/src/org/jboss/soa/esb/store/StoreAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/src/org/jboss/soa/esb/store/StoreAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/bpm_orchestration4/src/org/jboss/soa/esb/store/StoreAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -42,7 +42,7 @@
StringBuffer results = new StringBuffer();
// "order", "customer", "orderItem" is set in the smooks config file: from-dvdstore.xml
- OrderHeader header = (OrderHeader) message.getBody().get("orderHeader");
+ OrderHeader header = (OrderHeader) message.getBody().get("orderHeader");
Customer customer = (Customer) message.getBody().get("customer");
List orderItems = (List) message.getBody().get("orderItemList");
// System.out.println("************************\n\n");
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyBusinessRules.drl
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyBusinessRules.drl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyBusinessRules.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,8 +4,8 @@
#list any import classes here.
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.dvdstore.OrderHeader;
-import org.jboss.soa.esb.dvdstore.Customer;
+import org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.OrderHeader;
+import org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.Customer;
global java.util.List destinations;
@@ -40,4 +40,4 @@
-
\ No newline at end of file
+
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyBusinessRulesDiscount.drl
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyBusinessRulesDiscount.drl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyBusinessRulesDiscount.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,9 +3,8 @@
#list any import classes here.
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.dvdstore.OrderHeader;
-import org.jboss.soa.esb.dvdstore.Customer;
+import org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.OrderHeader;
+import org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.Customer;
global java.util.List destinations;
@@ -43,4 +42,4 @@
-
\ No newline at end of file
+
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyRoutingRules.drl
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyRoutingRules.drl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/MyRoutingRules.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,7 +4,7 @@
#list any import classes here.
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.dvdstore.OrderHeader;
+import org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.OrderHeader;
#declare any global variables here
global java.util.List destinations;
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,7 +5,7 @@
${line.separator}
</description>
- <property name="additional.deploys" value="MyBusinessRulesDiscount.drl MyBusinessRules.drl MyRoutingRules.drl smooks-res.xml"/>
+ <property name="additional.deploys" value="MyBusinessRulesDiscount.drl MyBusinessRules.drl MyRoutingRules.drl smooks-res.xml *.groovy"/>
<!-- Import the base Ant build script... -->
<import file="../conf/base-build.xml"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,9 +4,7 @@
<providers>
<jms-provider name="JBossMQ"
- connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
+ connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter dest-type="QUEUE"
dest-name="queue/quickstart_Business_Rules_Request_GW" />
@@ -43,19 +41,25 @@
</jms-listener>
</listeners>
<actions mep="OneWay">
- <!--
- <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="message" value="Message before transformation" />
- </action>
- -->
+
<action name="transform"
- class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config"
- value="/smooks-res.xml" />
+ class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <property name="resultType" value="JAVA" />
</action>
- <!-- Use the BRP to calculate the order priority -->
+ <action name="map_order_components" class="org.jboss.soa.esb.actions.scripting.GroovyActionProcessor">
+ <property name="script" value="/map_order_components.groovy" />
+ </action>
+
+ <!-- Update Customer Status -->
+ <action name="updateCustomerStatus"
+ class="org.jboss.soa.esb.samples.quickstart.businessrules.UpdateCustomerStatus">
+ <property name="status" value="60"/>
+ </action>
+
+ <!-- Use the BRP to calculate the order priority -->
<action
class="org.jboss.soa.esb.actions.BusinessRulesProcessor"
name="BRP">
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/map_order_components.groovy (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_rules_service/map_order_components.groovy)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/map_order_components.groovy (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/map_order_components.groovy 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,4 @@
+// Need to map down the orderHeader and customer beans onto the message
+// to make them available to the ObjectMapper...
+message.getBody().add("orderHeader", message.getBody().get().get("orderHeader"));
+message.getBody().add("customer", message.getBody().get().get("customer"));
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/readme.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -40,8 +40,11 @@
Review the 3 different .drl files to see the distinction between business
rules used for calculation/validation and rules used for routing.
- The customer status is actually set in the jboss-esb.xml via the SetupMessage
+ The customer status is actually set in the jboss-esb.xml via the UpdateCusutomerStatus
action since it is not provided with the inbound XML. You don't want a
customer to determine their status. In a real world situation, another
system would be integrated via an action/service, that first calculates the
- customer's status (frequent flier, volume of previous purchases, etc.)
\ No newline at end of file
+ customer's status (frequent flier, volume of previous purchases, etc.)
+ Try setting the "status" to different values and see how the customer
+ status is used in MyBusinessRules.drl.
+
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/smooks-res.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/smooks-res.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,14 +5,14 @@
<resource-config selector="order">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">orderHeader</param>
- <param name="beanClass">org.jboss.soa.esb.dvdstore.OrderHeader</param>
+ <param name="beanClass">org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.OrderHeader</param>
<param name="bindings">
- <binding property="orderId" selector="Order @orderId" />
- <binding property="orderDate" selector="Order @orderDate" type="LongDate"/>
- <binding property="statusCode" selector="Order @statusCode" type="Integer" />
- <binding property="netAmount" selector="Order @netAmount" type="Double" />
- <binding property="totalAmount" selector="Order @totalAmount" type="Double" />
- <binding property="tax" selector="Order @tax" type="Double" />
+ <binding property="orderId" selector="Order/@orderId" />
+ <binding property="orderDate" selector="Order/@orderDate" type="LongDate"/>
+ <binding property="statusCode" selector="Order/@statusCode" type="Integer" />
+ <binding property="netAmount" selector="Order/@netAmount" type="Double" />
+ <binding property="totalAmount" selector="Order/@totalAmount" type="Double" />
+ <binding property="tax" selector="Order/@tax" type="Double" />
</param>
</resource-config>
@@ -20,12 +20,12 @@
<resource-config selector="order customer">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">customer</param>
- <param name="beanClass">org.jboss.soa.esb.dvdstore.Customer</param>
+ <param name="beanClass">org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.Customer</param>
<param name="bindings">
- <binding property="userName" selector="order customer @userName" />
- <binding property="firstName" selector="order customer @firstName" />
- <binding property="lastName" selector="order customer @lastName" />
- <binding property="state" selector="order customer @state" />
+ <binding property="userName" selector="order/customer/@userName" />
+ <binding property="firstName" selector="order/customer/@firstName" />
+ <binding property="lastName" selector="order/customer/@lastName" />
+ <binding property="state" selector="order/customer/@state" />
</param>
</resource-config>
@@ -33,14 +33,14 @@
<resource-config selector="order orderlines orderline">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">orderItem</param>
- <param name="beanClass">org.jboss.soa.esb.dvdstore.OrderItem</param>
+ <param name="beanClass">org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.OrderItem</param>
<param name="addToList">true</param>
<param name="bindings">
- <binding property="position" selector="order orderlines orderline @position" type="Integer" />
- <binding property="quantity" selector="order orderlines orderline @quantity" type="Integer" />
- <binding property="productId" selector="order orderlines orderline product @productId" />
- <binding property="title" selector="order orderlines orderline product @title" />
- <binding property="price" selector="order orderlines orderline product @price" type="Double" />
+ <binding property="position" selector="order/orderlines/orderline/@position" type="Integer" />
+ <binding property="quantity" selector="order/orderlines/orderline/@quantity" type="Integer" />
+ <binding property="productId" selector="order/orderlines/orderline/product/@productId" />
+ <binding property="title" selector="order/orderlines/orderline/product/@title" />
+ <binding property="price" selector="order/orderlines/orderline/product/@price" type="Double" />
</param>
</resource-config>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -25,8 +25,8 @@
import org.jboss.soa.esb.actions.ActionProcessingException;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.dvdstore.Customer;
-import org.jboss.soa.esb.dvdstore.OrderHeader;
+import org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.Customer;
+import org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.OrderHeader;
public class ReviewMessage extends AbstractActionPipelineProcessor {
private String input = "Reviewer";
@@ -50,4 +50,4 @@
input = configTree.getAttribute("stuff");
}
-}
\ No newline at end of file
+}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/UpdateCustomerStatus.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/UpdateCustomerStatus.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/UpdateCustomerStatus.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/UpdateCustomerStatus.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.businessrules;
+
+import java.util.HashMap;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.Customer;
+import org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore.OrderHeader;
+
+public class UpdateCustomerStatus extends AbstractActionPipelineProcessor {
+
+ private int status;
+
+ public Message process(Message message) throws ActionProcessingException {
+
+ OrderHeader order = (OrderHeader) message.getBody().get("orderHeader");
+ Customer customer = (Customer) message.getBody().get("customer");
+ customer.setStatus( status );
+ System.out.println("{ Updated customer status to " + status + "}" );
+ return message;
+ }
+
+ public UpdateCustomerStatus(ConfigTree configTree) {
+ status = Integer.parseInt(configTree.getAttribute("status"));
+ }
+
+}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/Customer.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/Customer.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/Customer.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,103 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore;
-
-import java.io.Serializable;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Customer implements Serializable {
-
- // <Customer userName="user1" firstName="Harry" lastName="Potter" state="SD"/>
- private String userName;
- private String firstName;
- private String lastName;
- private String state;
- private int status;
-
- /**
- * @return Returns the firstName.
- */
- public String getFirstName() {
- return firstName;
- }
- /**
- * @param firstName The firstName to set.
- */
- public void setFirstName(String firstName) {
- //System.out.println("**** firstName: " + firstName);
- this.firstName = firstName;
- }
- /**
- * @return Returns the lastName.
- */
- public String getLastName() {
- return lastName;
- }
- /**
- * @param lastName The lastName to set.
- */
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- /**
- * @return Returns the state.
- */
- public String getState() {
- return state;
- }
- /**
- * @param state The state to set.
- */
- public void setState(String state) {
- this.state = state;
- }
- /**
- * @return Returns the userName.
- */
- public String getUserName() {
- return userName;
- }
- /**
- * @param userName The userName to set.
- */
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return userName + "," + firstName + "," + lastName + "," + state + "," + status;
- }
-
- public int getStatus() {
- return status;
- }
- public void setStatus(int status) {
- this.status = status;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/Customer.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/Customer.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/Customer.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/Customer.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,103 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore;
+
+import java.io.Serializable;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Customer implements Serializable {
+
+ // <Customer userName="user1" firstName="Harry" lastName="Potter" state="SD"/>
+ private String userName;
+ private String firstName;
+ private String lastName;
+ private String state;
+ private int status;
+
+ /**
+ * @return Returns the firstName.
+ */
+ public String getFirstName() {
+ return firstName;
+ }
+ /**
+ * @param firstName The firstName to set.
+ */
+ public void setFirstName(String firstName) {
+ //System.out.println("**** firstName: " + firstName);
+ this.firstName = firstName;
+ }
+ /**
+ * @return Returns the lastName.
+ */
+ public String getLastName() {
+ return lastName;
+ }
+ /**
+ * @param lastName The lastName to set.
+ */
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+ /**
+ * @return Returns the state.
+ */
+ public String getState() {
+ return state;
+ }
+ /**
+ * @param state The state to set.
+ */
+ public void setState(String state) {
+ this.state = state;
+ }
+ /**
+ * @return Returns the userName.
+ */
+ public String getUserName() {
+ return userName;
+ }
+ /**
+ * @param userName The userName to set.
+ */
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return userName + "," + firstName + "," + lastName + "," + state + "," + status;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderHeader.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderHeader.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderHeader.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,140 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-import java.io.Serializable;
-import java.util.Calendar;
-
-public class OrderHeader implements Serializable {
-
- // <Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
- private String orderId;
- private Calendar orderDate;
- private int statusCode;
- private double netAmount;
- private double totalAmount;
- private double tax;
- private int orderPriority = 1;
- private double orderDiscount;
-
- /**
- * @return Returns the netAmount.
- */
- public double getNetAmount() {
- return netAmount;
- }
- /**
- * @param netAmount The netAmount to set.
- */
- public void setNetAmount(double netAmount) {
- // System.out.println("**** netAmount: " + netAmount);
- this.netAmount = netAmount;
- }
- /**
- * @return Returns the orderDate.
- */
- public Calendar getOrderDate() {
- return orderDate;
- }
- /**
- * @param orderDate The orderDate to set.
- */
- public void setOrderDate(Calendar orderDate) {
- this.orderDate = orderDate;
- }
- /**
- * @return Returns the orderId.
- */
- public String getOrderId() {
- return orderId;
- }
- /**
- * @param orderId The orderId to set.
- */
- public void setOrderId(String orderId) {
- this.orderId = orderId;
- }
- /**
- * @return Returns the statusCode.
- */
- public int getStatusCode() {
- return statusCode;
- }
- /**
- * @param statusCode The statusCode to set.
- */
- public void setStatusCode(int statusCode) {
- this.statusCode = statusCode;
- }
- /**
- * @return Returns the tax.
- */
- public double getTax() {
- return tax;
- }
- /**
- * @param tax The tax to set.
- */
- public void setTax(double tax) {
- this.tax = tax;
- }
- /**
- * @return Returns the totalAmount.
- */
- public double getTotalAmount() {
- return totalAmount;
- }
- /**
- * @param totalAmount The totalAmount to set.
- */
- public void setTotalAmount(double totalAmount) {
- this.totalAmount = totalAmount;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return orderId + ", " + orderDate + ", " + statusCode + ", " + netAmount + ", " + totalAmount + ", " + tax + ", ";
- }
-
- public int getOrderPriority() {
- return this.orderPriority;
- }
-
- public void setOrderPriority(int orderPriority) {
- this.orderPriority = orderPriority;
- }
-
- public double getOrderDiscount() {
- return this.orderDiscount;
- }
-
- public void setOrderDiscount(double orderDiscount) {
- this.orderDiscount = orderDiscount;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderHeader.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderHeader.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderHeader.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderHeader.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,140 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+import java.io.Serializable;
+import java.util.Calendar;
+
+public class OrderHeader implements Serializable {
+
+ // <Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+ private String orderId;
+ private Calendar orderDate;
+ private int statusCode;
+ private double netAmount;
+ private double totalAmount;
+ private double tax;
+ private int orderPriority = 1;
+ private double orderDiscount;
+
+ /**
+ * @return Returns the netAmount.
+ */
+ public double getNetAmount() {
+ return netAmount;
+ }
+ /**
+ * @param netAmount The netAmount to set.
+ */
+ public void setNetAmount(double netAmount) {
+ // System.out.println("**** netAmount: " + netAmount);
+ this.netAmount = netAmount;
+ }
+ /**
+ * @return Returns the orderDate.
+ */
+ public Calendar getOrderDate() {
+ return orderDate;
+ }
+ /**
+ * @param orderDate The orderDate to set.
+ */
+ public void setOrderDate(Calendar orderDate) {
+ this.orderDate = orderDate;
+ }
+ /**
+ * @return Returns the orderId.
+ */
+ public String getOrderId() {
+ return orderId;
+ }
+ /**
+ * @param orderId The orderId to set.
+ */
+ public void setOrderId(String orderId) {
+ this.orderId = orderId;
+ }
+ /**
+ * @return Returns the statusCode.
+ */
+ public int getStatusCode() {
+ return statusCode;
+ }
+ /**
+ * @param statusCode The statusCode to set.
+ */
+ public void setStatusCode(int statusCode) {
+ this.statusCode = statusCode;
+ }
+ /**
+ * @return Returns the tax.
+ */
+ public double getTax() {
+ return tax;
+ }
+ /**
+ * @param tax The tax to set.
+ */
+ public void setTax(double tax) {
+ this.tax = tax;
+ }
+ /**
+ * @return Returns the totalAmount.
+ */
+ public double getTotalAmount() {
+ return totalAmount;
+ }
+ /**
+ * @param totalAmount The totalAmount to set.
+ */
+ public void setTotalAmount(double totalAmount) {
+ this.totalAmount = totalAmount;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return orderId + ", " + orderDate + ", " + statusCode + ", " + netAmount + ", " + totalAmount + ", " + tax + ", ";
+ }
+
+ public int getOrderPriority() {
+ return this.orderPriority;
+ }
+
+ public void setOrderPriority(int orderPriority) {
+ this.orderPriority = orderPriority;
+ }
+
+ public double getOrderDiscount() {
+ return this.orderDiscount;
+ }
+
+ public void setOrderDiscount(double orderDiscount) {
+ this.orderDiscount = orderDiscount;
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderItem.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderItem.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderItem.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,111 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore;
-
-import java.io.Serializable;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class OrderItem implements Serializable {
-
- // <OrderLine position="1" quantity="1">
- // <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
- // </OrderLine>
- private int position;
- private int quantity;
- private String productId;
- private String title;
- private double price;
-
- /**
- * @return Returns the position.
- */
- public int getPosition() {
- return position;
- }
- /**
- * @param position The position to set.
- */
- public void setPosition(int position) {
- //System.out.println("**** position: " + position);
- this.position = position;
- }
- /**
- * @return Returns the price.
- */
- public double getPrice() {
- return price;
- }
- /**
- * @param price The price to set.
- */
- public void setPrice(double price) {
- //System.out.println("**** price: " + price);
- this.price = price;
- }
- /**
- * @return Returns the productId.
- */
- public String getProductId() {
- return productId;
- }
- /**
- * @param productId The productId to set.
- */
- public void setProductId(String productId) {
- this.productId = productId;
- }
- /**
- * @return Returns the quantity.
- */
- public int getQuantity() {
- return quantity;
- }
- /**
- * @param quantity The quantity to set.
- */
- public void setQuantity(int quantity) {
- this.quantity = quantity;
- }
- /**
- * @return Returns the title.
- */
- public String getTitle() {
- return title;
- }
- /**
- * @param title The title to set.
- */
- public void setTitle(String title) {
- this.title = title;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return position + "," + quantity + "," + productId + "," + title + "," + price;
-
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderItem.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderItem.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderItem.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_rules_service/src/org/jboss/soa/esb/samples/quickstart/businessrules/dvdstore/OrderItem.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,111 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.samples.quickstart.businessrules.dvdstore;
+
+import java.io.Serializable;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class OrderItem implements Serializable {
+
+ // <OrderLine position="1" quantity="1">
+ // <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ // </OrderLine>
+ private int position;
+ private int quantity;
+ private String productId;
+ private String title;
+ private double price;
+
+ /**
+ * @return Returns the position.
+ */
+ public int getPosition() {
+ return position;
+ }
+ /**
+ * @param position The position to set.
+ */
+ public void setPosition(int position) {
+ //System.out.println("**** position: " + position);
+ this.position = position;
+ }
+ /**
+ * @return Returns the price.
+ */
+ public double getPrice() {
+ return price;
+ }
+ /**
+ * @param price The price to set.
+ */
+ public void setPrice(double price) {
+ //System.out.println("**** price: " + price);
+ this.price = price;
+ }
+ /**
+ * @return Returns the productId.
+ */
+ public String getProductId() {
+ return productId;
+ }
+ /**
+ * @param productId The productId to set.
+ */
+ public void setProductId(String productId) {
+ this.productId = productId;
+ }
+ /**
+ * @return Returns the quantity.
+ */
+ public int getQuantity() {
+ return quantity;
+ }
+ /**
+ * @param quantity The quantity to set.
+ */
+ public void setQuantity(int quantity) {
+ this.quantity = quantity;
+ }
+ /**
+ * @return Returns the title.
+ */
+ public String getTitle() {
+ return title;
+ }
+ /**
+ * @param title The title to set.
+ */
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return position + "," + quantity + "," + productId + "," + title + "," + price;
+
+ }
+}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/SampleDriver.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/SampleDriver.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/SampleDriver.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,3 +0,0 @@
-<Policy type="COMPREHENSIVE" >
- <Driver name="Bill Smith" age="30" priorClaims="0" locationRiskProfile="LOW" />
-</Policy>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/SampleDriver.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/SampleDriver.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/SampleDriver.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/SampleDriver.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,3 @@
+<Policy type="COMPREHENSIVE" >
+ <Driver name="Bill Smith" age="30" priorClaims="0" locationRiskProfile="LOW" />
+</Policy>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,35 +0,0 @@
-<project name="Quickstart_business_ruleservice_ruleAgent" default="run" basedir=".">
-
- <description>
- ${ant.project.name}
- ${line.separator}
- </description>
-
- <property name="additional.deploys" value="ruleAgent/brmsdeployedrules.properties ruleAgent/package/org.jboss.soa.esb.services.rules.pkg smooks-res.xml"/>
-
- <target name="quickstart-specific-assemblies">
- <pathconvert targetos="unix" property="basedir_unix">
- <path><pathelement location="${basedir}"/></path>
- </pathconvert>
-
- <copy file="${basedir}/ruleAgent/brmsdeployedrules-unfiltered.properties" tofile="${basedir}/ruleAgent/brmsdeployedrules.properties" overwrite="true" filtering="true">
- <filterset>
- <filter token="quickstart.dir" value="${basedir_unix}"/>
- </filterset>
- </copy>
- </target>
-
-
- <!-- Import the base Ant build script... -->
- <import file="../conf/base-build.xml"/>
-
-
- <target name="runtest" depends="compile"
- description="will receive JMS message to trigger the actions in the ESB">
- <echo>Runs Test JMS Sender</echo>
- <java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules.test.SendJMSMessage" failonerror="true">
- <classpath refid="exec-classpath" />
- </java>
- </target>
-
-</project>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,35 @@
+<project name="Quickstart_business_ruleservice_ruleAgent" default="run" basedir=".">
+
+ <description>
+ ${ant.project.name}
+ ${line.separator}
+ </description>
+
+ <property name="additional.deploys" value="ruleAgent/brmsdeployedrules.properties ruleAgent/package/org.jboss.soa.esb.services.rules.pkg smooks-res.xml"/>
+
+ <target name="quickstart-specific-assemblies">
+ <pathconvert targetos="unix" property="basedir_unix">
+ <path><pathelement location="${basedir}"/></path>
+ </pathconvert>
+
+ <copy file="${basedir}/ruleAgent/brmsdeployedrules-unfiltered.properties" tofile="${basedir}/ruleAgent/brmsdeployedrules.properties" overwrite="true" filtering="true">
+ <filterset>
+ <filter token="quickstart.dir" value="${basedir_unix}"/>
+ </filterset>
+ </copy>
+ </target>
+
+
+ <!-- Import the base Ant build script... -->
+ <import file="../conf/base-build.xml"/>
+
+
+ <target name="runtest" depends="compile"
+ description="will receive JMS message to trigger the actions in the ESB">
+ <echo>Runs Test JMS Sender</echo>
+ <java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules.test.SendJMSMessage" failonerror="true">
+ <classpath refid="exec-classpath" />
+ </java>
+ </target>
+
+</project>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/deployment.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/deployment.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/deployment.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jbossesb-deployment>
- <depends>jboss.esb:deployment=jbrules.esb</depends>
- <depends>jboss.esb:deployment=smooks.esb</depends>
- <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_GW</depends>
- <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_ESB</depends>
-<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Notify</depends>
-</jbossesb-deployment>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/deployment.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/deployment.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/deployment.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/deployment.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jbossesb-deployment>
+ <depends>jboss.esb:deployment=jbrules.esb</depends>
+ <depends>jboss.esb:deployment=smooks.esb</depends>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_GW</depends>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_ESB</depends>
+<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Notify</depends>
+</jbossesb-deployment>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbm-queue-service.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jbm-queue-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbm-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<server>
- <mbean code="org.jboss.jms.server.destination.QueueService"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_GW"
- xmbean-dd="xmdesc/Queue-xmbean.xml">
- <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
- <depends>jboss.messaging:service=PostOffice</depends>
- </mbean>
- <mbean code="org.jboss.jms.server.destination.QueueService"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_ESB"
- xmbean-dd="xmdesc/Queue-xmbean.xml">
- <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
- <depends>jboss.messaging:service=PostOffice</depends>
- </mbean>
- <mbean code="org.jboss.jms.server.destination.QueueService"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Notify"
- xmbean-dd="xmdesc/Queue-xmbean.xml">
- <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
- <depends>jboss.messaging:service=PostOffice</depends>
- </mbean>
- </server>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbm-queue-service.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jbm-queue-service.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbm-queue-service.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbm-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_GW"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_ESB"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Notify"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+ </server>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbmq-queue-service.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jbmq-queue-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbmq-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<server>
- <mbean code="org.jboss.mq.server.jmx.Queue"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_GW">
- <depends optional-attribute-name="DestinationManager">
- jboss.mq:service=DestinationManager
- </depends>
- </mbean>
- <mbean code="org.jboss.mq.server.jmx.Queue"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_ESB">
- <depends optional-attribute-name="DestinationManager">
- jboss.mq:service=DestinationManager
- </depends>
- </mbean>
- <mbean code="org.jboss.mq.server.jmx.Queue"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Notify">
- <depends optional-attribute-name="DestinationManager">
- jboss.mq:service=DestinationManager
- </depends>
- </mbean>
-</server>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbmq-queue-service.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jbmq-queue-service.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbmq-queue-service.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbmq-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_GW">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Request_ESB">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_RuleAgent_Notify">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+</server>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,63 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb
- xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
-
- <providers>
- <jms-provider name="JBossMQ"
- connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
- <jms-bus busid="quickstartGwChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_Business_Rules_RuleAgent_Request_GW" />
- </jms-bus>
- <jms-bus busid="quickstartEsbChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_Business_Rules_RuleAgent_Request_ESB" />
- </jms-bus>
- </jms-provider>
- </providers>
-
- <services>
-
- <service category="PolicyPricingServices"
- name="PolicyPricingService" description="Prices the policy application">
- <listeners>
- <!-- Gateway -->
- <jms-listener name="TheGateway"
- busidref="quickstartGwChannel" maxThreads="1" is-gateway="true" />
- <jms-listener name="TheESBChannel"
- busidref="quickstartEsbChannel" maxThreads="1">
- </jms-listener>
- </listeners>
-
- <actions mep="OneWay">
- <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="message" value="Message before transformation" />
- </action>
-
- <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
- <property name="smooksConfig" value="/smooks-res.xml" />
- <property name="resultType" value="JAVA" />
- </action>
-
- <action name="fixUpMessage" class="org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules.SetupMessage" />
-
- <!-- Use the BRP to calculate the policy price -->
- <action
- class="org.jboss.soa.esb.actions.BusinessRulesProcessor" name="PolicyPricing">
- <property name="ruleAgentProperties" value="ruleAgent/brmsdeployedrules.properties" />
- <property name="object-paths">
- <object-path esb="body.Driver" />
- <object-path esb="body.Policy" />
- </property>
- </action>
-
- <action name="reviewMessage"
- class="org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules.ReviewMessage">
- <property name="stuff" value="Sent notification: "/>
- </action>
- </actions>
- </service>
- </services>
-</jbossesb>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jboss-esb.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jboss-esb.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jboss-esb.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,63 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+ xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <providers>
+ <jms-provider name="JBossMQ"
+ connection-factory="ConnectionFactory"
+ jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+ jndi-URL="localhost">
+ <jms-bus busid="quickstartGwChannel">
+ <jms-message-filter dest-type="QUEUE"
+ dest-name="queue/quickstart_Business_Rules_RuleAgent_Request_GW" />
+ </jms-bus>
+ <jms-bus busid="quickstartEsbChannel">
+ <jms-message-filter dest-type="QUEUE"
+ dest-name="queue/quickstart_Business_Rules_RuleAgent_Request_ESB" />
+ </jms-bus>
+ </jms-provider>
+ </providers>
+
+ <services>
+
+ <service category="PolicyPricingServices"
+ name="PolicyPricingService" description="Prices the policy application">
+ <listeners>
+ <!-- Gateway -->
+ <jms-listener name="TheGateway"
+ busidref="quickstartGwChannel" maxThreads="1" is-gateway="true" />
+ <jms-listener name="TheESBChannel"
+ busidref="quickstartEsbChannel" maxThreads="1">
+ </jms-listener>
+ </listeners>
+
+ <actions mep="OneWay">
+ <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+ <property name="message" value="Message before transformation" />
+ </action>
+
+ <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <property name="resultType" value="JAVA" />
+ </action>
+
+ <action name="fixUpMessage" class="org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules.SetupMessage" />
+
+ <!-- Use the BRP to calculate the policy price -->
+ <action
+ class="org.jboss.soa.esb.actions.BusinessRulesProcessor" name="PolicyPricing">
+ <property name="ruleAgentProperties" value="ruleAgent/brmsdeployedrules.properties" />
+ <property name="object-paths">
+ <object-path esb="body.Driver" />
+ <object-path esb="body.Policy" />
+ </property>
+ </action>
+
+ <action name="reviewMessage"
+ class="org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules.ReviewMessage">
+ <property name="stuff" value="Sent notification: "/>
+ </action>
+ </actions>
+ </service>
+ </services>
+</jbossesb>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jbossesb-properties.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- JBoss, Home of Professional Open Source
- Copyright 2006, JBoss Inc., and others contributors as indicated
- by the @authors tag. All rights reserved.
- See the copyright.txt in the distribution for a
- full listing of individual contributors.
- This copyrighted material is made available to anyone wishing to use,
- modify, copy, or redistribute it subject to the terms and conditions
- of the GNU Lesser General Public License, v. 2.1.
- This program is distributed in the hope that it will be useful, but WITHOUT A
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License,
- v.2.1 along with this distribution; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301, USA.
-
- (C) 2005-2006,
- @author JBoss Inc.
--->
-<!-- $Id: jbossesb-unittest-properties.xml $ -->
-<!--
- These options are described in the JBossESB manual.
- Defaults are provided here for convenience only.
-
- Please read through this file prior to using the system, and consider
- updating the specified entries.
--->
-<esb
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
- <properties name="core">
- <property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
- <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
- <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
- </properties>
- <properties name="registry">
- <property name="org.jboss.soa.esb.registry.queryManagerURI"
- value="jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire"/>
- <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI"
- value="jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish" />
- <property name="org.jboss.soa.esb.registry.implementationClass"
- value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
- <property name="org.jboss.soa.esb.registry.factoryClass"
- value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
- <property name="org.jboss.soa.esb.registry.user"
- value="jbossesb"/>
- <property name="org.jboss.soa.esb.registry.password"
- value="password"/>
- <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
- <property name="org.jboss.soa.esb.scout.proxy.transportClass"
- value="org.apache.ws.scout.transport.RMITransport"/>
- </properties>
- <properties name="transports" depends="core">
- <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
- <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
- <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
- <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
- </properties>
- <properties name="connection">
- <property name="min-pool-size" value="5"/>
- <property name="max-pool=size" value="10"/>
- <property name="blocking-timeout-millis" value="5000"/>
- <property name="abandoned-connection-timeout" value="10000"/>
- <property name="abandoned-connection-time-interval" value="30000"/>
- </properties>
- <properties name="dbstore">
- <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/"/>
- <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
- <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
- <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
- <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
- <!--table managed by pool to test for valid connections - created by pool automatically -->
- <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
- <!-- # of milliseconds to timeout waiting for a connection from pool -->
- <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
- <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
- </properties>
- <properties name="messagerouting">
- <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
- </properties>
-</esb>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbossesb-properties.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jbossesb-properties.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbossesb-properties.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ JBoss, Home of Professional Open Source
+ Copyright 2006, JBoss Inc., and others contributors as indicated
+ by the @authors tag. All rights reserved.
+ See the copyright.txt in the distribution for a
+ full listing of individual contributors.
+ This copyrighted material is made available to anyone wishing to use,
+ modify, copy, or redistribute it subject to the terms and conditions
+ of the GNU Lesser General Public License, v. 2.1.
+ This program is distributed in the hope that it will be useful, but WITHOUT A
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public License,
+ v.2.1 along with this distribution; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02110-1301, USA.
+
+ (C) 2005-2006,
+ @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+ These options are described in the JBossESB manual.
+ Defaults are provided here for convenience only.
+
+ Please read through this file prior to using the system, and consider
+ updating the specified entries.
+-->
+<esb
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+ <properties name="core">
+ <property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
+ <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+ <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+ </properties>
+ <properties name="registry">
+ <property name="org.jboss.soa.esb.registry.queryManagerURI"
+ value="jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire"/>
+ <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI"
+ value="jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish" />
+ <property name="org.jboss.soa.esb.registry.implementationClass"
+ value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
+ <property name="org.jboss.soa.esb.registry.factoryClass"
+ value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
+ <property name="org.jboss.soa.esb.registry.user"
+ value="jbossesb"/>
+ <property name="org.jboss.soa.esb.registry.password"
+ value="password"/>
+ <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
+ <property name="org.jboss.soa.esb.scout.proxy.transportClass"
+ value="org.apache.ws.scout.transport.RMITransport"/>
+ </properties>
+ <properties name="transports" depends="core">
+ <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
+ <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
+ <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
+ <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
+ </properties>
+ <properties name="connection">
+ <property name="min-pool-size" value="5"/>
+ <property name="max-pool=size" value="10"/>
+ <property name="blocking-timeout-millis" value="5000"/>
+ <property name="abandoned-connection-timeout" value="10000"/>
+ <property name="abandoned-connection-time-interval" value="30000"/>
+ </properties>
+ <properties name="dbstore">
+ <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/"/>
+ <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
+ <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
+ <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
+ <!--table managed by pool to test for valid connections - created by pool automatically -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
+ <!-- # of milliseconds to timeout waiting for a connection from pool -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
+ <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
+ </properties>
+ <properties name="messagerouting">
+ <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+ </properties>
+</esb>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jndi.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jndi.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jndi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,5 +0,0 @@
-java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
-java.naming.provider.url=jnp://localhost:1099
-java.naming.factory.url.pkgs=org.jboss.naming
-java.naming.factory.url.pkgs=org.jnp.interfaces
-
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jndi.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/jndi.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jndi.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/jndi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/juddi.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/juddi.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/juddi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,69 +0,0 @@
-# jUDDI Registry Properties (used by RegistryServer)
-# see http://www.juddi.org for more information
-
-# The UDDI Operator Name
-juddi.operatorName = jUDDI.org
-
-# The i18n locale default codes
-juddi.i18n.languageCode = en
-juddi.i18n.countryCode = US
-
-# The UDDI DiscoveryURL Prefix
-juddi.discoveryURL = http://localhost:8080/juddi/uddiget.jsp?
-
-# The UDDI Operator Contact Email Address
-juddi.operatorEmailAddress = admin at juddi.org
-
-# The maximum name size and maximum number
-# of name elements allows in several of the
-# FindXxxx and SaveXxxx UDDI functions.
-juddi.maxNameLength=255
-juddi.maxNameElementsAllowed=5
-
-# The maximum number of UDDI artifacts allowed
-# per publisher. A value of '-1' indicates any
-# number of artifacts is valid (These values can be
-# overridden at the individual publisher level).
-juddi.maxBusinessesPerPublisher=25
-juddi.maxServicesPerBusiness=20
-juddi.maxBindingsPerService=10
-juddi.maxTModelsPerPublisher=100
-
-# jUDDI Authentication module to use
-juddi.auth = org.apache.juddi.auth.DefaultAuthenticator
-
-# jUDDI DataStore module currently to use
-juddi.dataStore = org.apache.juddi.datastore.jdbc.JDBCDataStore
-
-# use a dataSource (if set to false a direct
-# jdbc connection will be used.
-juddi.isUseDataSource=false
-juddi.jdbcDriver=com.mysql.jdbc.Driver
-juddi.jdbcUrl=jdbc:mysql://localhost:3306/juddi
-juddi.jdbcUsername=root
-juddi.jdbcPassword=admin
-# jUDDI DataSource to use
-# juddi.dataSource=java:comp/env/jdbc/MySqlDS
-
-# jUDDI UUIDGen implementation to use
-juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
-
-# jUDDI Cryptor implementation to use
-juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
-
-# jUDDI Validator to use
-juddi.validator=org.apache.juddi.validator.DefaultValidator
-
-# jUDDI Proxy Properties (used by RegistryProxy)
-juddi.proxy.adminURL = http://localhost:8080/juddi/admin
-juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
-juddi.proxy.publishURL = http://localhost:8080/juddi/publish
-juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
-juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
-juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
-
-# JNDI settings (used by RMITransport)
-java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
-java.naming.provider.url=jnp://localhost:1099
-java.naming.factory.url.pkgs=org.jboss.naming
-
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/juddi.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/juddi.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/juddi.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/juddi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,69 @@
+# jUDDI Registry Properties (used by RegistryServer)
+# see http://www.juddi.org for more information
+
+# The UDDI Operator Name
+juddi.operatorName = jUDDI.org
+
+# The i18n locale default codes
+juddi.i18n.languageCode = en
+juddi.i18n.countryCode = US
+
+# The UDDI DiscoveryURL Prefix
+juddi.discoveryURL = http://localhost:8080/juddi/uddiget.jsp?
+
+# The UDDI Operator Contact Email Address
+juddi.operatorEmailAddress = admin at juddi.org
+
+# The maximum name size and maximum number
+# of name elements allows in several of the
+# FindXxxx and SaveXxxx UDDI functions.
+juddi.maxNameLength=255
+juddi.maxNameElementsAllowed=5
+
+# The maximum number of UDDI artifacts allowed
+# per publisher. A value of '-1' indicates any
+# number of artifacts is valid (These values can be
+# overridden at the individual publisher level).
+juddi.maxBusinessesPerPublisher=25
+juddi.maxServicesPerBusiness=20
+juddi.maxBindingsPerService=10
+juddi.maxTModelsPerPublisher=100
+
+# jUDDI Authentication module to use
+juddi.auth = org.apache.juddi.auth.DefaultAuthenticator
+
+# jUDDI DataStore module currently to use
+juddi.dataStore = org.apache.juddi.datastore.jdbc.JDBCDataStore
+
+# use a dataSource (if set to false a direct
+# jdbc connection will be used.
+juddi.isUseDataSource=false
+juddi.jdbcDriver=com.mysql.jdbc.Driver
+juddi.jdbcUrl=jdbc:mysql://localhost:3306/juddi
+juddi.jdbcUsername=root
+juddi.jdbcPassword=admin
+# jUDDI DataSource to use
+# juddi.dataSource=java:comp/env/jdbc/MySqlDS
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/lib (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/lib)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/log4j.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- ===================================================================== -->
-<!-- -->
-<!-- Log4j Configuration -->
-<!-- -->
-<!-- ===================================================================== -->
-
-<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
-
-<!--
- | For more configuration infromation and examples see the Jakarta Log4j
- | owebsite: http://jakarta.apache.org/log4j
- -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
- <!-- ============================== -->
- <!-- Append messages to the console -->
- <!-- ============================== -->
-
- <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="Target" value="System.out"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
- </layout>
- </appender>
-
-
- <!-- ================================= -->
- <!-- Preserve messages in a local file -->
- <!-- ================================= -->
-
- <!-- A size based file rolling appender -->
- <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="File" value="./listener.log"/>
- <param name="Append" value="false"/>
- <param name="MaxFileSize" value="500KB"/>
- <param name="MaxBackupIndex" value="1"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
- </layout>
- </appender>
-
- <!-- ================ -->
- <!-- Limit categories -->
- <!-- ================ -->
-
- <category name="org.jboss">
- <priority value="WARN"/>
- </category>
- <category name="org.jboss.soa.esb">
- <priority value="WARN"/>
- </category>
- <category name="org.jboss.internal.soa.esb">
- <priority value="WARN"/>
- </category>
- <category name="org.apache">
- <priority value="ERROR"/>
- </category>
- <category name="org.milyn">
- <priority value="ERROR"/>
- </category>
-
- <category name="quickstarts">
- <priority value="WARN"/>
- </category>
-
- <!-- ======================= -->
- <!-- Setup the Root category -->
- <!-- ======================= -->
-
- <root>
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="FILE"/>
- </root>
-
-</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/log4j.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/log4j.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/log4j.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+ | For more configuration infromation and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Target" value="System.out"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <!-- A size based file rolling appender -->
+ <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="./listener.log"/>
+ <param name="Append" value="false"/>
+ <param name="MaxFileSize" value="500KB"/>
+ <param name="MaxBackupIndex" value="1"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <category name="org.jboss">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.jboss.soa.esb">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.jboss.internal.soa.esb">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.apache">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.milyn">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="quickstarts">
+ <priority value="WARN"/>
+ </category>
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/processDefinition (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/processDefinition)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/readme.txt
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,55 +0,0 @@
-Overview:
-=========
- Demonstrates the use of the BusinessRulesProcessor which uses facts that are
- POJOs attached to an ESB Message. The example uses Rules to calculate the price
- of an automobile insurance policy. In particular, this example gets the rules from
- a rule package that is contained in the file system through the Drools RuleAgent.
- This rule package can also be retrieved from a URL created by the Drools BRMS.
-
- Make sure you have run simple_cbr, transformation_XML2POJO and fun_cbr
- quickstarts as their principles are used in this more complex example.
-
-Running this quickstart:
-========================
- Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
- and a more detailed descripton of the different ways to run the quickstarts.
-
- A comprehensive description of message transformation can be found in
- MessageTransformation.pdf, located in the docs/services folder.
-
- Notice the brmsdeployedrules.properties in the ruleAgent folder. This points
- the location of the rule package. It can specify a fully qualified file name,
- or just the directory (if there is only one package file in it). Modify one
- of these to match the path of your ESB installation.
-
-To Run standalone mode:
-=======================
- 1. In a command terminal window in the quickstart folder type
- 'ant deploy-jms-dests'.
- 2. In a command terminal window in this folder ("Window1"), type 'ant run'.
- 3. Open another command terminal window in this folder ("Window2"), type
- 'ant runtest'.
- 4. Switch back to "Window1" to see the output from the ESB
- 5. When finished, interrupt the ESB using Ctrl-C and, in this folder
- ("Window1"), type 'ant undeploy-jms-dests'.
-
-To Run '.esb' archive mode:
-===========================
- 1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
- 2. Open another command terminal window in this folder ("Window2"), type
- 'ant runtest'.
- 3. Switch back to Application Server console to see the output from the ESB
- 4. In this folder ("Window1"), type 'ant undeploy'.
-
-What to look at in this Quickstart:
-===================================
-
- The SendJMSMessage will send a message with the SampleDriver.xml included as a string.
- A Transformation service will convert the XML to POJOs (Driver and Policy), and put
- these objects in the message. The message is then sent to the PolicyPricing service
- which uses the brmsdeployedrules.property to access the rule package, creates a new
- stateless session, inserts the Driver and Policy from the message, and executes the
- rules. The console will show the resulting price of the policy that is calculated
- from the rules.
-
-
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/readme.txt (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/readme.txt)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/readme.txt (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,55 @@
+Overview:
+=========
+ Demonstrates the use of the BusinessRulesProcessor which uses facts that are
+ POJOs attached to an ESB Message. The example uses Rules to calculate the price
+ of an automobile insurance policy. In particular, this example gets the rules from
+ a rule package that is contained in the file system through the Drools RuleAgent.
+ This rule package can also be retrieved from a URL created by the Drools BRMS.
+
+ Make sure you have run simple_cbr, transformation_XML2POJO and fun_cbr
+ quickstarts as their principles are used in this more complex example.
+
+Running this quickstart:
+========================
+ Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
+ and a more detailed descripton of the different ways to run the quickstarts.
+
+ A comprehensive description of message transformation can be found in
+ MessageTransformation.pdf, located in the docs/services folder.
+
+ Notice the brmsdeployedrules.properties in the ruleAgent folder. This points
+ the location of the rule package. It can specify a fully qualified file name,
+ or just the directory (if there is only one package file in it). Modify one
+ of these to match the path of your ESB installation.
+
+To Run standalone mode:
+=======================
+ 1. In a command terminal window in the quickstart folder type
+ 'ant deploy-jms-dests'.
+ 2. In a command terminal window in this folder ("Window1"), type 'ant run'.
+ 3. Open another command terminal window in this folder ("Window2"), type
+ 'ant runtest'.
+ 4. Switch back to "Window1" to see the output from the ESB
+ 5. When finished, interrupt the ESB using Ctrl-C and, in this folder
+ ("Window1"), type 'ant undeploy-jms-dests'.
+
+To Run '.esb' archive mode:
+===========================
+ 1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
+ 2. Open another command terminal window in this folder ("Window2"), type
+ 'ant runtest'.
+ 3. Switch back to Application Server console to see the output from the ESB
+ 4. In this folder ("Window1"), type 'ant undeploy'.
+
+What to look at in this Quickstart:
+===================================
+
+ The SendJMSMessage will send a message with the SampleDriver.xml included as a string.
+ A Transformation service will convert the XML to POJOs (Driver and Policy), and put
+ these objects in the message. The message is then sent to the PolicyPricing service
+ which uses the brmsdeployedrules.property to access the rule package, creates a new
+ stateless session, inserts the Driver and Policy from the message, and executes the
+ rules. The console will show the resulting price of the policy that is calculated
+ from the rules.
+
+
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules-unfiltered.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules-unfiltered.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules-unfiltered.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,11 +0,0 @@
-newInstance=true
-
-file=@quickstart.dir@/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg
-#dir=/ruleAgent/package
-
-
-#url=http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.jboss.soa.esb.services.rules/LATEST
-#localCacheDir=/ruleAgent/cache
-poll=30
-
-name=insuranceconfig
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules-unfiltered.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules-unfiltered.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules-unfiltered.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules-unfiltered.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,11 @@
+newInstance=true
+
+file=@quickstart.dir@/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg
+#dir=/ruleAgent/package
+
+
+#url=http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.jboss.soa.esb.services.rules/LATEST
+#localCacheDir=/ruleAgent/cache
+poll=30
+
+name=insuranceconfig
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,11 +0,0 @@
-newInstance=true
-
-file=H:/Jboss/ESB/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg
-#dir=/ruleAgent/package
-
-
-#url=http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.jboss.soa.esb.services.rules/LATEST
-#localCacheDir=/ruleAgent/cache
-poll=30
-
-name=insuranceconfig
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/brmsdeployedrules.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,11 @@
+newInstance=true
+
+file=H:/Jboss/ESB/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg
+#dir=/ruleAgent/package
+
+
+#url=http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.jboss.soa.esb.services.rules/LATEST
+#localCacheDir=/ruleAgent/cache
+poll=30
+
+name=insuranceconfig
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/cache (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/cache)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/cache/http%3A%2F%2Flocalhost%3A8080%2Fdrools-jbrms%2Forg.drools.brms.JBRMS%2Fpackage%2Forg.jboss.soa.esb.services.rules%2FLATEST
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/cache/http%3A%2F%2Flocalhost%3A8080%2Fdrools-jbrms%2Forg.drools.brms.JBRMS%2Fpackage%2Forg.jboss.soa.esb.services.rules%2FLATEST (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/cache/http%3A%2F%2Flocalhost%3A8080%2Fdrools-jbrms%2Forg.drools.brms.JBRMS%2Fpackage%2Forg.jboss.soa.esb.services.rules%2FLATEST)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/insurancepolicy.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/insurancepolicy.jar (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/insurancepolicy.jar)
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/ruleAgent/package/org.jboss.soa.esb.services.rules.pkg)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/smooks-res.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/smooks-res.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/smooks-res.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,28 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!-- Populate the Policy -->
- <resource-config selector="policy">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">Policy</param>
- <param name="beanClass">org.jboss.soa.esb.services.rules.Policy</param>
- <param name="bindings">
- <binding property="type" selector="policy/@type" />
- </param>
- </resource-config>
-
- <!-- Populate the Driver -->
- <resource-config selector="policy/driver">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">Driver</param>
- <param name="beanClass">org.jboss.soa.esb.services.rules.Driver</param>
- <param name="setOn">Policy</param>
- <param name="bindings">
- <binding property="name" selector="policy/driver/@name" />
- <binding property="age" selector="policy/driver/@age" type="Integer" />
- <binding property="priorClaims" selector="policy/driver/@priorClaims" type="Integer" />
- <binding property="locationRiskProfile" selector="policy/driver/@locationRiskProfile" />
- </param>
- </resource-config>
-
-</smooks-resource-list>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/smooks-res.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/smooks-res.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/smooks-res.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/smooks-res.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,28 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!-- Populate the Policy -->
+ <resource-config selector="policy">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">Policy</param>
+ <param name="beanClass">org.jboss.soa.esb.services.rules.Policy</param>
+ <param name="bindings">
+ <binding property="type" selector="policy/@type" />
+ </param>
+ </resource-config>
+
+ <!-- Populate the Driver -->
+ <resource-config selector="policy/driver">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">Driver</param>
+ <param name="beanClass">org.jboss.soa.esb.services.rules.Driver</param>
+ <param name="setOn">Policy</param>
+ <param name="bindings">
+ <binding property="name" selector="policy/driver/@name" />
+ <binding property="age" selector="policy/driver/@age" type="Integer" />
+ <binding property="priorClaims" selector="policy/driver/@priorClaims" type="Integer" />
+ <binding property="locationRiskProfile" selector="policy/driver/@locationRiskProfile" />
+ </param>
+ </resource-config>
+
+</smooks-resource-list>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,51 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.businessrules;
-
-import java.util.HashMap;
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.rules.Driver;
-import org.jboss.soa.esb.services.rules.Policy;
-
-public class ReviewMessage extends AbstractActionPipelineProcessor {
- private String input = "Sent Notification to:";
-
- public Message process(Message message) throws ActionProcessingException {
-
- Driver driver = (Driver) message.getBody().get("Driver");
- Policy policy = (Policy) message.getBody().get("Policy");
- System.out.println("{ ================ " + input);
- System.out.println("Name: " + driver.getName());
- System.out.println("Policy Price: " + policy.getBasePrice());
- System.out.println("} ================ " + input);
-
-
- return message;
- }
-
- public ReviewMessage(ConfigTree configTree) {
- input = configTree.getAttribute("stuff");
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/ReviewMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.businessrules;
+
+import java.util.HashMap;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.rules.Driver;
+import org.jboss.soa.esb.services.rules.Policy;
+
+public class ReviewMessage extends AbstractActionPipelineProcessor {
+ private String input = "Sent Notification to:";
+
+ public Message process(Message message) throws ActionProcessingException {
+
+ Driver driver = (Driver) message.getBody().get("Driver");
+ Policy policy = (Policy) message.getBody().get("Policy");
+ System.out.println("{ ================ " + input);
+ System.out.println("Name: " + driver.getName());
+ System.out.println("Policy Price: " + policy.getBasePrice());
+ System.out.println("} ================ " + input);
+
+
+ return message;
+ }
+
+ public ReviewMessage(ConfigTree configTree) {
+ input = configTree.getAttribute("stuff");
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/SetupMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/SetupMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/SetupMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,51 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.businessrules;
-
-import java.util.HashMap;
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.rules.Driver;
-import org.jboss.soa.esb.services.rules.Policy;
-import org.apache.log4j.Logger;
-
-public class SetupMessage extends AbstractActionPipelineProcessor {
- private Logger logger = Logger.getLogger(SetupMessage.class);
-
- public Message process(Message message) throws ActionProcessingException {
- HashMap transformedBeans = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
- if(transformedBeans != null) {
- Driver driver = (Driver) transformedBeans.get("Driver");
- Policy policy = (Policy) transformedBeans.get("Policy");
- message.getBody().add("Driver", driver);
- message.getBody().add("Policy", policy);
- logger.info("Moved the transformed driver and policy");
- }
- return message;
- }
-
- public SetupMessage(ConfigTree configTree) {
-
- }
-
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/SetupMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/SetupMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/SetupMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/SetupMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.businessrules;
+
+import java.util.HashMap;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.rules.Driver;
+import org.jboss.soa.esb.services.rules.Policy;
+import org.apache.log4j.Logger;
+
+public class SetupMessage extends AbstractActionPipelineProcessor {
+ private Logger logger = Logger.getLogger(SetupMessage.class);
+
+ public Message process(Message message) throws ActionProcessingException {
+ HashMap transformedBeans = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
+ if(transformedBeans != null) {
+ Driver driver = (Driver) transformedBeans.get("Driver");
+ Policy policy = (Policy) transformedBeans.get("Policy");
+ message.getBody().add("Driver", driver);
+ message.getBody().add("Policy", policy);
+ logger.info("Moved the transformed driver and policy");
+ }
+ return message;
+ }
+
+ public SetupMessage(ConfigTree configTree) {
+
+ }
+
+}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/SendJMSMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/SendJMSMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,110 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.businessrules.test;
-
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.jms.JMSException;
-import javax.jms.QueueConnectionFactory;
-import javax.jms.Queue;
-import javax.jms.QueueConnection;
-import javax.jms.QueueSession;
-import javax.jms.QueueSender;
-import javax.jms.ObjectMessage;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-
-public class SendJMSMessage {
- QueueConnection conn;
- QueueSession session;
- Queue que;
-
-
- public void setupConnection() throws JMSException, NamingException
- {
- InitialContext iniCtx = new InitialContext();
- Object tmp = iniCtx.lookup("ConnectionFactory");
- QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
- conn = qcf.createQueueConnection();
- que = (Queue) iniCtx.lookup("queue/quickstart_Business_Rules_Request_GW");
- session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
- conn.start();
- System.out.println("Connection Started");
- }
-
- public void stop() throws JMSException
- {
- conn.stop();
- session.close();
- conn.close();
- }
-
- public void sendAMessage(String msg) throws JMSException {
-
- QueueSender send = session.createSender(que);
- ObjectMessage tm = session.createObjectMessage(msg);
- send.send(tm);
- send.close();
- }
- public String readAsciiFile(String fileName) throws IOException {
- FileReader fr = null;
- char[] thechars = null;
-
- try {
- File thefile = new File( fileName );
- fr = new FileReader( thefile );
- int size = (int) thefile.length();
- thechars = new char[size];
-
- int count, index = 0;
-
- // read in the bytes from the input stream
- while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
- size -= count;
- index += count;
- }
- } catch(Exception e) {
- System.out.println(e);
- }
- finally {
- if( fr != null )
- fr.close();
- }
- return new String(thechars);
-
- } // readAsciiFile
-
- public static void main(String args[]) throws Exception
- {
- SendJMSMessage sm = new SendJMSMessage();
- sm.setupConnection();
- String fileContent = sm.readAsciiFile("SampleDriver.xml");
- System.out.println("---------------------------------------------");
- System.out.println(fileContent);
- System.out.println("---------------------------------------------");
- sm.sendAMessage(fileContent);
- sm.stop();
-
- }
-
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/SendJMSMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/SendJMSMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/SendJMSMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/businessrules/test/SendJMSMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,110 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.businessrules.test;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class SendJMSMessage {
+ QueueConnection conn;
+ QueueSession session;
+ Queue que;
+
+
+ public void setupConnection() throws JMSException, NamingException
+ {
+ InitialContext iniCtx = new InitialContext();
+ Object tmp = iniCtx.lookup("ConnectionFactory");
+ QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+ conn = qcf.createQueueConnection();
+ que = (Queue) iniCtx.lookup("queue/quickstart_Business_Rules_Request_GW");
+ session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+ conn.start();
+ System.out.println("Connection Started");
+ }
+
+ public void stop() throws JMSException
+ {
+ conn.stop();
+ session.close();
+ conn.close();
+ }
+
+ public void sendAMessage(String msg) throws JMSException {
+
+ QueueSender send = session.createSender(que);
+ ObjectMessage tm = session.createObjectMessage(msg);
+ send.send(tm);
+ send.close();
+ }
+ public String readAsciiFile(String fileName) throws IOException {
+ FileReader fr = null;
+ char[] thechars = null;
+
+ try {
+ File thefile = new File( fileName );
+ fr = new FileReader( thefile );
+ int size = (int) thefile.length();
+ thechars = new char[size];
+
+ int count, index = 0;
+
+ // read in the bytes from the input stream
+ while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
+ size -= count;
+ index += count;
+ }
+ } catch(Exception e) {
+ System.out.println(e);
+ }
+ finally {
+ if( fr != null )
+ fr.close();
+ }
+ return new String(thechars);
+
+ } // readAsciiFile
+
+ public static void main(String args[]) throws Exception
+ {
+ SendJMSMessage sm = new SendJMSMessage();
+ sm.setupConnection();
+ String fileContent = sm.readAsciiFile("SampleDriver.xml");
+ System.out.println("---------------------------------------------");
+ System.out.println(fileContent);
+ System.out.println("---------------------------------------------");
+ sm.sendAMessage(fileContent);
+ sm.stop();
+
+ }
+
+}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/ReviewMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/ReviewMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/ReviewMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,51 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules;
-
-import java.util.HashMap;
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.rules.Driver;
-import org.jboss.soa.esb.services.rules.Policy;
-
-public class ReviewMessage extends AbstractActionPipelineProcessor {
- private String input = "Sent Notification to:";
-
- public Message process(Message message) throws ActionProcessingException {
-
- Driver driver = (Driver) message.getBody().get("Driver");
- Policy policy = (Policy) message.getBody().get("Policy");
- System.out.println("{ ================ " + input);
- System.out.println("Name: " + driver.getName());
- System.out.println("Policy Price: " + policy.getBasePrice());
- System.out.println("} ================ " + input);
-
-
- return message;
- }
-
- public ReviewMessage(ConfigTree configTree) {
- input = configTree.getAttribute("stuff");
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/ReviewMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/ReviewMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/ReviewMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/ReviewMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules;
+
+import java.util.HashMap;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.rules.Driver;
+import org.jboss.soa.esb.services.rules.Policy;
+
+public class ReviewMessage extends AbstractActionPipelineProcessor {
+ private String input = "Sent Notification to:";
+
+ public Message process(Message message) throws ActionProcessingException {
+
+ Driver driver = (Driver) message.getBody().get("Driver");
+ Policy policy = (Policy) message.getBody().get("Policy");
+ System.out.println("{ ================ " + input);
+ System.out.println("Name: " + driver.getName());
+ System.out.println("Policy Price: " + policy.getBasePrice());
+ System.out.println("} ================ " + input);
+
+
+ return message;
+ }
+
+ public ReviewMessage(ConfigTree configTree) {
+ input = configTree.getAttribute("stuff");
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/SetupMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/SetupMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/SetupMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.rules.Driver;
-import org.jboss.soa.esb.services.rules.Policy;
-
-import java.util.Map;
-
-public class SetupMessage extends AbstractActionPipelineProcessor {
- private Logger logger = Logger.getLogger(SetupMessage.class);
-
- public Message process(Message message) throws ActionProcessingException {
- Map transformedBeans = (Map) message.getBody().get();
-
- if(transformedBeans != null) {
- Driver driver = (Driver) transformedBeans.get("Driver");
- Policy policy = (Policy) transformedBeans.get("Policy");
- message.getBody().add("Driver", driver);
- message.getBody().add("Policy", policy);
- logger.info("Moved the transformed driver and policy");
- }
- return message;
- }
-
- public SetupMessage(ConfigTree configTree) {
-
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/SetupMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/SetupMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/SetupMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/SetupMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.rules.Driver;
+import org.jboss.soa.esb.services.rules.Policy;
+
+import java.util.Map;
+
+public class SetupMessage extends AbstractActionPipelineProcessor {
+ private Logger logger = Logger.getLogger(SetupMessage.class);
+
+ public Message process(Message message) throws ActionProcessingException {
+ Map transformedBeans = (Map) message.getBody().get();
+
+ if(transformedBeans != null) {
+ Driver driver = (Driver) transformedBeans.get("Driver");
+ Policy policy = (Policy) transformedBeans.get("Policy");
+ message.getBody().add("Driver", driver);
+ message.getBody().add("Policy", policy);
+ logger.info("Moved the transformed driver and policy");
+ }
+ return message;
+ }
+
+ public SetupMessage(ConfigTree configTree) {
+
+ }
+
+}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/SendJMSMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/SendJMSMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,110 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules.test;
-
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.jms.JMSException;
-import javax.jms.QueueConnectionFactory;
-import javax.jms.Queue;
-import javax.jms.QueueConnection;
-import javax.jms.QueueSession;
-import javax.jms.QueueSender;
-import javax.jms.ObjectMessage;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-
-public class SendJMSMessage {
- QueueConnection conn;
- QueueSession session;
- Queue que;
-
-
- public void setupConnection() throws JMSException, NamingException
- {
- InitialContext iniCtx = new InitialContext();
- Object tmp = iniCtx.lookup("ConnectionFactory");
- QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
- conn = qcf.createQueueConnection();
- que = (Queue) iniCtx.lookup("queue/quickstart_Business_Rules_RuleAgent_Request_GW");
- session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
- conn.start();
- System.out.println("Connection Started");
- }
-
- public void stop() throws JMSException
- {
- conn.stop();
- session.close();
- conn.close();
- }
-
- public void sendAMessage(String msg) throws JMSException {
-
- QueueSender send = session.createSender(que);
- ObjectMessage tm = session.createObjectMessage(msg);
- send.send(tm);
- send.close();
- }
- public String readAsciiFile(String fileName) throws IOException {
- FileReader fr = null;
- char[] thechars = null;
-
- try {
- File thefile = new File( fileName );
- fr = new FileReader( thefile );
- int size = (int) thefile.length();
- thechars = new char[size];
-
- int count, index = 0;
-
- // read in the bytes from the input stream
- while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
- size -= count;
- index += count;
- }
- } catch(Exception e) {
- System.out.println(e);
- }
- finally {
- if( fr != null )
- fr.close();
- }
- return new String(thechars);
-
- } // readAsciiFile
-
- public static void main(String args[]) throws Exception
- {
- SendJMSMessage sm = new SendJMSMessage();
- sm.setupConnection();
- String fileContent = sm.readAsciiFile("SampleDriver.xml");
- System.out.println("---------------------------------------------");
- System.out.println(fileContent);
- System.out.println("---------------------------------------------");
- sm.sendAMessage(fileContent);
- sm.stop();
-
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/SendJMSMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/SendJMSMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/SendJMSMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/samples/quickstart/ruleagent/businessrules/test/SendJMSMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,110 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.ruleagent.businessrules.test;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class SendJMSMessage {
+ QueueConnection conn;
+ QueueSession session;
+ Queue que;
+
+
+ public void setupConnection() throws JMSException, NamingException
+ {
+ InitialContext iniCtx = new InitialContext();
+ Object tmp = iniCtx.lookup("ConnectionFactory");
+ QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+ conn = qcf.createQueueConnection();
+ que = (Queue) iniCtx.lookup("queue/quickstart_Business_Rules_RuleAgent_Request_GW");
+ session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+ conn.start();
+ System.out.println("Connection Started");
+ }
+
+ public void stop() throws JMSException
+ {
+ conn.stop();
+ session.close();
+ conn.close();
+ }
+
+ public void sendAMessage(String msg) throws JMSException {
+
+ QueueSender send = session.createSender(que);
+ ObjectMessage tm = session.createObjectMessage(msg);
+ send.send(tm);
+ send.close();
+ }
+ public String readAsciiFile(String fileName) throws IOException {
+ FileReader fr = null;
+ char[] thechars = null;
+
+ try {
+ File thefile = new File( fileName );
+ fr = new FileReader( thefile );
+ int size = (int) thefile.length();
+ thechars = new char[size];
+
+ int count, index = 0;
+
+ // read in the bytes from the input stream
+ while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
+ size -= count;
+ index += count;
+ }
+ } catch(Exception e) {
+ System.out.println(e);
+ }
+ finally {
+ if( fr != null )
+ fr.close();
+ }
+ return new String(thechars);
+
+ } // readAsciiFile
+
+ public static void main(String args[]) throws Exception
+ {
+ SendJMSMessage sm = new SendJMSMessage();
+ sm.setupConnection();
+ String fileContent = sm.readAsciiFile("SampleDriver.xml");
+ System.out.println("---------------------------------------------");
+ System.out.println(fileContent);
+ System.out.println("---------------------------------------------");
+ sm.sendAMessage(fileContent);
+ sm.stop();
+
+ }
+
+}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Driver.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Driver.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Driver.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,44 +0,0 @@
-package org.jboss.soa.esb.services.rules;
-
-import java.io.Serializable;
-
-/**
- * This represents obviously a driver who is applying for an insurance Policy.
- * @author Michael Neale
- *
- */
-public class Driver implements Serializable
-{
- private static final long serialVersionUID = 1L;
- private String name = "Mr Joe Blogs";
- private Integer age = new Integer(30);
- private Integer priorClaims = new Integer(0);
- private String locationRiskProfile = "LOW";
-
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- public String getLocationRiskProfile() {
- return locationRiskProfile;
- }
- public void setLocationRiskProfile(String locationRiskProfile) {
- this.locationRiskProfile = locationRiskProfile;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getPriorClaims() {
- return priorClaims;
- }
- public void setPriorClaims(Integer priorClaims) {
- this.priorClaims = priorClaims;
- }
-
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Driver.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Driver.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Driver.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Driver.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,44 @@
+package org.jboss.soa.esb.services.rules;
+
+import java.io.Serializable;
+
+/**
+ * This represents obviously a driver who is applying for an insurance Policy.
+ * @author Michael Neale
+ *
+ */
+public class Driver implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+ private String name = "Mr Joe Blogs";
+ private Integer age = new Integer(30);
+ private Integer priorClaims = new Integer(0);
+ private String locationRiskProfile = "LOW";
+
+ public Integer getAge() {
+ return age;
+ }
+ public void setAge(Integer age) {
+ this.age = age;
+ }
+ public String getLocationRiskProfile() {
+ return locationRiskProfile;
+ }
+ public void setLocationRiskProfile(String locationRiskProfile) {
+ this.locationRiskProfile = locationRiskProfile;
+ }
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public Integer getPriorClaims() {
+ return priorClaims;
+ }
+ public void setPriorClaims(Integer priorClaims) {
+ this.priorClaims = priorClaims;
+ }
+
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Policy.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Policy.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Policy.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,59 +0,0 @@
-package org.jboss.soa.esb.services.rules;
-
-import java.io.Serializable;
-
-/**
- * This represents a policy that a driver is applying for.
- *
- * Obviously in the real world, there are actuaries to mess things up, but lets just pretend there is
- * some simple base price and discount that we can calculate with relatively simple rules !
- *
- * @author Michael Neale
- */
-public class Policy implements Serializable
-{
- private static final long serialVersionUID = 1L;
- private String type = "COMPREHENSIVE";
- private boolean approved = false;
- private int discountPercent = 0;
- private int basePrice;
- private Driver driver;
-
- public boolean isApproved() {
- return approved;
- }
- public void setApproved(boolean approved) {
- this.approved = approved;
- }
- public int getDiscountPercent() {
- return discountPercent;
- }
- public void setDiscountPercent(int discountPercent) {
- this.discountPercent = discountPercent;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public void applyDiscount(int discount) {
- discountPercent += discount;
- }
- public int getBasePrice() {
- return basePrice;
- }
- public void setBasePrice(int basePrice) {
- this.basePrice = basePrice;
- }
- public Driver getDriver() {
- return driver;
- }
- public void setDriver(Driver driver) {
- this.driver = driver;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Policy.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Policy.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Policy.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_ruleAgent/src/org/jboss/soa/esb/services/rules/Policy.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,59 @@
+package org.jboss.soa.esb.services.rules;
+
+import java.io.Serializable;
+
+/**
+ * This represents a policy that a driver is applying for.
+ *
+ * Obviously in the real world, there are actuaries to mess things up, but lets just pretend there is
+ * some simple base price and discount that we can calculate with relatively simple rules !
+ *
+ * @author Michael Neale
+ */
+public class Policy implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+ private String type = "COMPREHENSIVE";
+ private boolean approved = false;
+ private int discountPercent = 0;
+ private int basePrice;
+ private Driver driver;
+
+ public boolean isApproved() {
+ return approved;
+ }
+ public void setApproved(boolean approved) {
+ this.approved = approved;
+ }
+ public int getDiscountPercent() {
+ return discountPercent;
+ }
+ public void setDiscountPercent(int discountPercent) {
+ this.discountPercent = discountPercent;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public void applyDiscount(int discount) {
+ discountPercent += discount;
+ }
+ public int getBasePrice() {
+ return basePrice;
+ }
+ public void setBasePrice(int basePrice) {
+ this.basePrice = basePrice;
+ }
+ public Driver getDriver() {
+ return driver;
+ }
+ public void setDriver(Driver driver) {
+ this.driver = driver;
+ }
+
+}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/OrderDiscountOnMultipleOrders.drl
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/OrderDiscountOnMultipleOrders.drl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/OrderDiscountOnMultipleOrders.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,36 +0,0 @@
-#created on: Oct 22, 2007
-package org.jboss.soa.esb.services.rules
-
-#list any import classes here.
-import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.Customer;
-import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderHeader;
-
-import org.jboss.soa.esb.message.Message;
-
-import java.util.Arrays;
-
-#declare any global variables here
-global org.jboss.soa.esb.message.Message message;
-
-
-rule "Apply 10% discount to customer if totalPrice of all their orders is over 100"
- dialect "mvel"
- when
- $c : Customer()
- $i : Number(intValue >= 100) from accumulate ( OrderHeader( customer.userName == $c.userName, $totalAmount : totalAmount),
- sum( $totalAmount ) );
- then
- $c.setOrderDiscount( 10 );
- System.out.println( "Customer " + $c.getUserName() + " now has a shopping total of " + $i );
-end
-
-rule "apply customer discount to latest order"
- when
- $c : Customer()
- $o : OrderHeader(customer.userName == $c.userName)
- then
- $o.setOrderDiscount($c.getOrderDiscount());
- System.out.println("set discount of " + $o.getOrderDiscount() +
- " on order " + $o.getOrderId() +
- " for customer " + $c.getUserName());
-end
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/OrderDiscountOnMultipleOrders.drl (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/OrderDiscountOnMultipleOrders.drl)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/OrderDiscountOnMultipleOrders.drl (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/OrderDiscountOnMultipleOrders.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,36 @@
+#created on: Oct 22, 2007
+package org.jboss.soa.esb.services.rules
+
+#list any import classes here.
+import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.Customer;
+import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderHeader;
+
+import org.jboss.soa.esb.message.Message;
+
+import java.util.Arrays;
+
+#declare any global variables here
+global org.jboss.soa.esb.message.Message message;
+
+
+rule "Apply 10% discount to customer if totalPrice of all their orders is over 100"
+ dialect "mvel"
+ when
+ $c : Customer()
+ $i : Number(intValue >= 100) from accumulate ( OrderHeader( customer.userName == $c.userName, $totalAmount : totalAmount),
+ sum( $totalAmount ) );
+ then
+ $c.setOrderDiscount( 10 );
+ System.out.println( "Customer " + $c.getUserName() + " now has a shopping total of " + $i );
+end
+
+rule "apply customer discount to latest order"
+ when
+ $c : Customer()
+ $o : OrderHeader(customer.userName == $c.userName)
+ then
+ $o.setOrderDiscount($c.getOrderDiscount());
+ System.out.println("set discount of " + $o.getOrderDiscount() +
+ " on order " + $o.getOrderId() +
+ " for customer " + $c.getUserName());
+end
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder1.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder1.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder1.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,12 +0,0 @@
-<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0"
-netAmount="59.97" totalAmount="64.92" tax="4.95">
- <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
- <OrderLines>
- <OrderLine position="1" quantity="1">
- <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
- </OrderLine>
- <OrderLine position="2" quantity="1">
- <Product productId="299" title="Pulp Fiction" price="29.99"/>
- </OrderLine>
- </OrderLines>
-</Order>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder1.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder1.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder1.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder1.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,12 @@
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0"
+netAmount="59.97" totalAmount="64.92" tax="4.95">
+ <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+ <OrderLines>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ </OrderLines>
+</Order>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder2.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder2.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder2.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,12 +0,0 @@
-<Order orderId="2" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="1"
-netAmount="59.97" totalAmount="64.92" tax="4.95">
- <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
- <OrderLines>
- <OrderLine position="1" quantity="1">
- <Product productId="473" title="Star Wars" price="29.98"/>
- </OrderLine>
- <OrderLine position="2" quantity="1">
- <Product productId="337" title="Fellowship of the Ring" price="29.99"/>
- </OrderLine>
- </OrderLines>
-</Order>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder2.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder2.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder2.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder2.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,12 @@
+<Order orderId="2" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="1"
+netAmount="59.97" totalAmount="64.92" tax="4.95">
+ <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+ <OrderLines>
+ <OrderLine position="1" quantity="1">
+ <Product productId="473" title="Star Wars" price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="337" title="Fellowship of the Ring" price="29.99"/>
+ </OrderLine>
+ </OrderLines>
+</Order>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder3.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder3.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder3.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,12 +0,0 @@
-<Order orderId="3" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="2"
-netAmount="59.97" totalAmount="64.92" tax="4.95">
- <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
- <OrderLines>
- <OrderLine position="1" quantity="1">
- <Product productId="567" title="X-MEn" price="29.98"/>
- </OrderLine>
- <OrderLine position="2" quantity="1">
- <Product productId="499" title="X-Man 2" price="29.99"/>
- </OrderLine>
- </OrderLines>
-</Order>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder3.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder3.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder3.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/SampleOrder3.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,12 @@
+<Order orderId="3" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="2"
+netAmount="59.97" totalAmount="64.92" tax="4.95">
+ <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+ <OrderLines>
+ <OrderLine position="1" quantity="1">
+ <Product productId="567" title="X-MEn" price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="499" title="X-Man 2" price="29.99"/>
+ </OrderLine>
+ </OrderLines>
+</Order>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/build.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,22 +0,0 @@
-<project name="Quickstart_business_ruleservice_stateful" default="run" basedir=".">
-
- <description>
- ${ant.project.name}
- ${line.separator}
- </description>
-
- <property name="additional.deploys" value="OrderDiscountOnMultipleOrders.drl smooks-res.xml"/>
-
- <!-- Import the base Ant build script... -->
- <import file="../conf/base-build.xml"/>
-
-
- <target name="runtest" depends="compile"
- description="willl receive JMS message to tigger the actions in the ESB">
- <echo>Runs Test JMS Sender</echo>
- <java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.businessrulesstateful.test.SendJMSMessage" failonerror="true">
- <classpath refid="exec-classpath" />
- </java>
- </target>
-
-</project>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/build.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/build.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/build.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,22 @@
+<project name="Quickstart_business_ruleservice_stateful" default="run" basedir=".">
+
+ <description>
+ ${ant.project.name}
+ ${line.separator}
+ </description>
+
+ <property name="additional.deploys" value="OrderDiscountOnMultipleOrders.drl smooks-res.xml"/>
+
+ <!-- Import the base Ant build script... -->
+ <import file="../conf/base-build.xml"/>
+
+
+ <target name="runtest" depends="compile"
+ description="willl receive JMS message to tigger the actions in the ESB">
+ <echo>Runs Test JMS Sender</echo>
+ <java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.businessrulesstateful.test.SendJMSMessage" failonerror="true">
+ <classpath refid="exec-classpath" />
+ </java>
+ </target>
+
+</project>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/deployment.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/deployment.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/deployment.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jbossesb-deployment>
- <depends>jboss.esb:deployment=jbrules.esb</depends>
- <depends>jboss.esb:deployment=smooks.esb</depends>
- <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_GW</depends>
- <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_ESB</depends>
-</jbossesb-deployment>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/deployment.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/deployment.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/deployment.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/deployment.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jbossesb-deployment>
+ <depends>jboss.esb:deployment=jbrules.esb</depends>
+ <depends>jboss.esb:deployment=smooks.esb</depends>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_GW</depends>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_ESB</depends>
+</jbossesb-deployment>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbm-queue-service.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jbm-queue-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbm-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<server>
- <mbean code="org.jboss.jms.server.destination.QueueService"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_GW"
- xmbean-dd="xmdesc/Queue-xmbean.xml">
- <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
- <depends>jboss.messaging:service=PostOffice</depends>
- </mbean>
- <mbean code="org.jboss.jms.server.destination.QueueService"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_ESB"
- xmbean-dd="xmdesc/Queue-xmbean.xml">
- <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
- <depends>jboss.messaging:service=PostOffice</depends>
- </mbean>
-</server>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbm-queue-service.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jbm-queue-service.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbm-queue-service.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbm-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_GW"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_ESB"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbmq-queue-service.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jbmq-queue-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbmq-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<server>
- <mbean code="org.jboss.mq.server.jmx.Queue"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_GW">
- <depends optional-attribute-name="DestinationManager">
- jboss.mq:service=DestinationManager
- </depends>
- </mbean>
- <mbean code="org.jboss.mq.server.jmx.Queue"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_ESB">
- <depends optional-attribute-name="DestinationManager">
- jboss.mq:service=DestinationManager
- </depends>
- </mbean>
-</server>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbmq-queue-service.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jbmq-queue-service.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbmq-queue-service.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbmq-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_GW">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_Business_Rules_Stateful_Request_ESB">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+</server>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,74 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb
- xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
-
- <providers>
- <jms-provider name="JBossMQ"
- connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
- <jms-bus busid="quickstartGwChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_Business_Rules_Stateful_Request_GW" />
- </jms-bus>
- <jms-bus busid="quickstartEsbChannel">
- <jms-message-filter dest-type="QUEUE"
- dest-name="queue/quickstart_Business_Rules_Stateful_Request_ESB" />
- </jms-bus>
-
- </jms-provider>
- </providers>
-
- <services>
-
- <service category="OrderServices"
- name="OrderDiscountService" description="Calculates a discount based on past orders">
- <listeners>
- <!-- Gateway -->
- <jms-listener name="TheGateway"
- busidref="quickstartGwChannel" maxThreads="1" is-gateway="true" />
- <jms-listener name="TheESBChannel"
- busidref="quickstartEsbChannel" maxThreads="1">
- </jms-listener>
- </listeners>
- <actions mep="OneWay">
- <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="message" value="Message before transformation" />
- </action>
-
- <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
- <property name="smooksConfig" value="/smooks-res.xml" />
- <property name="resultType" value="JAVA" />
- </action>
-
- <action name="fixUpMessage"
- class="org.jboss.soa.esb.samples.quickstart.businessrulesstateful.SetupMessage">
- </action>
-
- <!-- Use the BRP to calculate the order discount -->
- <action
- class="org.jboss.soa.esb.actions.BusinessRulesProcessor"
- name="OrderDiscountBasedOnCustomerHistory">
- <property name="ruleSet"
- value="OrderDiscountOnMultipleOrders.drl" />
- <property name="ruleReload" value="false" />
- <property name="stateful" value="true" />
- <property name="object-paths">
- <object-path esb="body.TheOrderHeader" />
- <object-path esb="body.TheCustomer" />
- </property>
- </action>
-
- <action name="reviewMessage"
- class="org.jboss.soa.esb.samples.quickstart.businessrulesstateful.ReviewMessage">
- <property name="stuff" value="After Order Discount"/>
- </action>
- </actions>
-
- </service>
-
-
-
-
- </services>
-</jbossesb>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jboss-esb.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jboss-esb.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jboss-esb.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,74 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+ xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <providers>
+ <jms-provider name="JBossMQ"
+ connection-factory="ConnectionFactory"
+ jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+ jndi-URL="localhost">
+ <jms-bus busid="quickstartGwChannel">
+ <jms-message-filter dest-type="QUEUE"
+ dest-name="queue/quickstart_Business_Rules_Stateful_Request_GW" />
+ </jms-bus>
+ <jms-bus busid="quickstartEsbChannel">
+ <jms-message-filter dest-type="QUEUE"
+ dest-name="queue/quickstart_Business_Rules_Stateful_Request_ESB" />
+ </jms-bus>
+
+ </jms-provider>
+ </providers>
+
+ <services>
+
+ <service category="OrderServices"
+ name="OrderDiscountService" description="Calculates a discount based on past orders">
+ <listeners>
+ <!-- Gateway -->
+ <jms-listener name="TheGateway"
+ busidref="quickstartGwChannel" maxThreads="1" is-gateway="true" />
+ <jms-listener name="TheESBChannel"
+ busidref="quickstartEsbChannel" maxThreads="1">
+ </jms-listener>
+ </listeners>
+ <actions mep="OneWay">
+ <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+ <property name="message" value="Message before transformation" />
+ </action>
+
+ <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <property name="resultType" value="JAVA" />
+ </action>
+
+ <action name="fixUpMessage"
+ class="org.jboss.soa.esb.samples.quickstart.businessrulesstateful.SetupMessage">
+ </action>
+
+ <!-- Use the BRP to calculate the order discount -->
+ <action
+ class="org.jboss.soa.esb.actions.BusinessRulesProcessor"
+ name="OrderDiscountBasedOnCustomerHistory">
+ <property name="ruleSet"
+ value="OrderDiscountOnMultipleOrders.drl" />
+ <property name="ruleReload" value="false" />
+ <property name="stateful" value="true" />
+ <property name="object-paths">
+ <object-path esb="body.TheOrderHeader" />
+ <object-path esb="body.TheCustomer" />
+ </property>
+ </action>
+
+ <action name="reviewMessage"
+ class="org.jboss.soa.esb.samples.quickstart.businessrulesstateful.ReviewMessage">
+ <property name="stuff" value="After Order Discount"/>
+ </action>
+ </actions>
+
+ </service>
+
+
+
+
+ </services>
+</jbossesb>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jbossesb-properties.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- JBoss, Home of Professional Open Source
- Copyright 2006, JBoss Inc., and others contributors as indicated
- by the @authors tag. All rights reserved.
- See the copyright.txt in the distribution for a
- full listing of individual contributors.
- This copyrighted material is made available to anyone wishing to use,
- modify, copy, or redistribute it subject to the terms and conditions
- of the GNU Lesser General Public License, v. 2.1.
- This program is distributed in the hope that it will be useful, but WITHOUT A
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License,
- v.2.1 along with this distribution; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301, USA.
-
- (C) 2005-2006,
- @author JBoss Inc.
--->
-<!-- $Id: jbossesb-unittest-properties.xml $ -->
-<!--
- These options are described in the JBossESB manual.
- Defaults are provided here for convenience only.
-
- Please read through this file prior to using the system, and consider
- updating the specified entries.
--->
-<esb
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
- <properties name="core">
- <property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
- <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
- <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
- </properties>
- <properties name="registry">
- <property name="org.jboss.soa.esb.registry.queryManagerURI"
- value="jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire"/>
- <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI"
- value="jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish" />
- <property name="org.jboss.soa.esb.registry.implementationClass"
- value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
- <property name="org.jboss.soa.esb.registry.factoryClass"
- value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
- <property name="org.jboss.soa.esb.registry.user"
- value="jbossesb"/>
- <property name="org.jboss.soa.esb.registry.password"
- value="password"/>
- <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
- <property name="org.jboss.soa.esb.scout.proxy.transportClass"
- value="org.apache.ws.scout.transport.RMITransport"/>
- </properties>
- <properties name="transports" depends="core">
- <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
- <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
- <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
- <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
- </properties>
- <properties name="connection">
- <property name="min-pool-size" value="5"/>
- <property name="max-pool=size" value="10"/>
- <property name="blocking-timeout-millis" value="5000"/>
- <property name="abandoned-connection-timeout" value="10000"/>
- <property name="abandoned-connection-time-interval" value="30000"/>
- </properties>
- <properties name="dbstore">
- <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/"/>
- <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
- <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
- <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
- <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
- <!--table managed by pool to test for valid connections - created by pool automatically -->
- <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
- <!-- # of milliseconds to timeout waiting for a connection from pool -->
- <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
- <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
- </properties>
- <properties name="messagerouting">
- <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
- </properties>
-</esb>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbossesb-properties.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jbossesb-properties.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbossesb-properties.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ JBoss, Home of Professional Open Source
+ Copyright 2006, JBoss Inc., and others contributors as indicated
+ by the @authors tag. All rights reserved.
+ See the copyright.txt in the distribution for a
+ full listing of individual contributors.
+ This copyrighted material is made available to anyone wishing to use,
+ modify, copy, or redistribute it subject to the terms and conditions
+ of the GNU Lesser General Public License, v. 2.1.
+ This program is distributed in the hope that it will be useful, but WITHOUT A
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public License,
+ v.2.1 along with this distribution; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02110-1301, USA.
+
+ (C) 2005-2006,
+ @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+ These options are described in the JBossESB manual.
+ Defaults are provided here for convenience only.
+
+ Please read through this file prior to using the system, and consider
+ updating the specified entries.
+-->
+<esb
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+ <properties name="core">
+ <property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
+ <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+ <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+ </properties>
+ <properties name="registry">
+ <property name="org.jboss.soa.esb.registry.queryManagerURI"
+ value="jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire"/>
+ <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI"
+ value="jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish" />
+ <property name="org.jboss.soa.esb.registry.implementationClass"
+ value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
+ <property name="org.jboss.soa.esb.registry.factoryClass"
+ value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
+ <property name="org.jboss.soa.esb.registry.user"
+ value="jbossesb"/>
+ <property name="org.jboss.soa.esb.registry.password"
+ value="password"/>
+ <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
+ <property name="org.jboss.soa.esb.scout.proxy.transportClass"
+ value="org.apache.ws.scout.transport.RMITransport"/>
+ </properties>
+ <properties name="transports" depends="core">
+ <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
+ <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
+ <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
+ <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
+ </properties>
+ <properties name="connection">
+ <property name="min-pool-size" value="5"/>
+ <property name="max-pool=size" value="10"/>
+ <property name="blocking-timeout-millis" value="5000"/>
+ <property name="abandoned-connection-timeout" value="10000"/>
+ <property name="abandoned-connection-time-interval" value="30000"/>
+ </properties>
+ <properties name="dbstore">
+ <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/"/>
+ <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
+ <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
+ <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
+ <!--table managed by pool to test for valid connections - created by pool automatically -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
+ <!-- # of milliseconds to timeout waiting for a connection from pool -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
+ <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
+ </properties>
+ <properties name="messagerouting">
+ <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+ </properties>
+</esb>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jndi.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jndi.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jndi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,5 +0,0 @@
-java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
-java.naming.provider.url=jnp://localhost:1099
-java.naming.factory.url.pkgs=org.jboss.naming
-java.naming.factory.url.pkgs=org.jnp.interfaces
-
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jndi.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/jndi.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jndi.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/jndi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/juddi.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/juddi.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/juddi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,69 +0,0 @@
-# jUDDI Registry Properties (used by RegistryServer)
-# see http://www.juddi.org for more information
-
-# The UDDI Operator Name
-juddi.operatorName = jUDDI.org
-
-# The i18n locale default codes
-juddi.i18n.languageCode = en
-juddi.i18n.countryCode = US
-
-# The UDDI DiscoveryURL Prefix
-juddi.discoveryURL = http://localhost:8080/juddi/uddiget.jsp?
-
-# The UDDI Operator Contact Email Address
-juddi.operatorEmailAddress = admin at juddi.org
-
-# The maximum name size and maximum number
-# of name elements allows in several of the
-# FindXxxx and SaveXxxx UDDI functions.
-juddi.maxNameLength=255
-juddi.maxNameElementsAllowed=5
-
-# The maximum number of UDDI artifacts allowed
-# per publisher. A value of '-1' indicates any
-# number of artifacts is valid (These values can be
-# overridden at the individual publisher level).
-juddi.maxBusinessesPerPublisher=25
-juddi.maxServicesPerBusiness=20
-juddi.maxBindingsPerService=10
-juddi.maxTModelsPerPublisher=100
-
-# jUDDI Authentication module to use
-juddi.auth = org.apache.juddi.auth.DefaultAuthenticator
-
-# jUDDI DataStore module currently to use
-juddi.dataStore = org.apache.juddi.datastore.jdbc.JDBCDataStore
-
-# use a dataSource (if set to false a direct
-# jdbc connection will be used.
-juddi.isUseDataSource=false
-juddi.jdbcDriver=com.mysql.jdbc.Driver
-juddi.jdbcUrl=jdbc:mysql://localhost:3306/juddi
-juddi.jdbcUsername=root
-juddi.jdbcPassword=admin
-# jUDDI DataSource to use
-# juddi.dataSource=java:comp/env/jdbc/MySqlDS
-
-# jUDDI UUIDGen implementation to use
-juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
-
-# jUDDI Cryptor implementation to use
-juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
-
-# jUDDI Validator to use
-juddi.validator=org.apache.juddi.validator.DefaultValidator
-
-# jUDDI Proxy Properties (used by RegistryProxy)
-juddi.proxy.adminURL = http://localhost:8080/juddi/admin
-juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
-juddi.proxy.publishURL = http://localhost:8080/juddi/publish
-juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
-juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
-juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
-
-# JNDI settings (used by RMITransport)
-java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
-java.naming.provider.url=jnp://localhost:1099
-java.naming.factory.url.pkgs=org.jboss.naming
-
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/juddi.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/juddi.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/juddi.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/juddi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,69 @@
+# jUDDI Registry Properties (used by RegistryServer)
+# see http://www.juddi.org for more information
+
+# The UDDI Operator Name
+juddi.operatorName = jUDDI.org
+
+# The i18n locale default codes
+juddi.i18n.languageCode = en
+juddi.i18n.countryCode = US
+
+# The UDDI DiscoveryURL Prefix
+juddi.discoveryURL = http://localhost:8080/juddi/uddiget.jsp?
+
+# The UDDI Operator Contact Email Address
+juddi.operatorEmailAddress = admin at juddi.org
+
+# The maximum name size and maximum number
+# of name elements allows in several of the
+# FindXxxx and SaveXxxx UDDI functions.
+juddi.maxNameLength=255
+juddi.maxNameElementsAllowed=5
+
+# The maximum number of UDDI artifacts allowed
+# per publisher. A value of '-1' indicates any
+# number of artifacts is valid (These values can be
+# overridden at the individual publisher level).
+juddi.maxBusinessesPerPublisher=25
+juddi.maxServicesPerBusiness=20
+juddi.maxBindingsPerService=10
+juddi.maxTModelsPerPublisher=100
+
+# jUDDI Authentication module to use
+juddi.auth = org.apache.juddi.auth.DefaultAuthenticator
+
+# jUDDI DataStore module currently to use
+juddi.dataStore = org.apache.juddi.datastore.jdbc.JDBCDataStore
+
+# use a dataSource (if set to false a direct
+# jdbc connection will be used.
+juddi.isUseDataSource=false
+juddi.jdbcDriver=com.mysql.jdbc.Driver
+juddi.jdbcUrl=jdbc:mysql://localhost:3306/juddi
+juddi.jdbcUsername=root
+juddi.jdbcPassword=admin
+# jUDDI DataSource to use
+# juddi.dataSource=java:comp/env/jdbc/MySqlDS
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/lib (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/lib)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/log4j.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- ===================================================================== -->
-<!-- -->
-<!-- Log4j Configuration -->
-<!-- -->
-<!-- ===================================================================== -->
-
-<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
-
-<!--
- | For more configuration infromation and examples see the Jakarta Log4j
- | owebsite: http://jakarta.apache.org/log4j
- -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
- <!-- ============================== -->
- <!-- Append messages to the console -->
- <!-- ============================== -->
-
- <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="Target" value="System.out"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
- </layout>
- </appender>
-
-
- <!-- ================================= -->
- <!-- Preserve messages in a local file -->
- <!-- ================================= -->
-
- <!-- A size based file rolling appender -->
- <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="File" value="./listener.log"/>
- <param name="Append" value="false"/>
- <param name="MaxFileSize" value="500KB"/>
- <param name="MaxBackupIndex" value="1"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
- </layout>
- </appender>
-
- <!-- ================ -->
- <!-- Limit categories -->
- <!-- ================ -->
-
- <category name="org.jboss">
- <priority value="WARN"/>
- </category>
- <category name="org.jboss.soa.esb">
- <priority value="WARN"/>
- </category>
- <category name="org.jboss.internal.soa.esb">
- <priority value="WARN"/>
- </category>
- <category name="org.apache">
- <priority value="ERROR"/>
- </category>
- <category name="org.milyn">
- <priority value="ERROR"/>
- </category>
-
- <category name="quickstarts">
- <priority value="WARN"/>
- </category>
-
- <!-- ======================= -->
- <!-- Setup the Root category -->
- <!-- ======================= -->
-
- <root>
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="FILE"/>
- </root>
-
-</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/log4j.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/log4j.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/log4j.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+ | For more configuration infromation and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Target" value="System.out"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <!-- A size based file rolling appender -->
+ <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="./listener.log"/>
+ <param name="Append" value="false"/>
+ <param name="MaxFileSize" value="500KB"/>
+ <param name="MaxBackupIndex" value="1"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <category name="org.jboss">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.jboss.soa.esb">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.jboss.internal.soa.esb">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.apache">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.milyn">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="quickstarts">
+ <priority value="WARN"/>
+ </category>
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/readme.txt
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,54 +0,0 @@
-Overview:
-=========
- Demonstrates the use of the BusinessRulesProcessor which allows for
- modification of the POJOs attached to an ESB Message. The example uses Rules
- to calculate the discount of an inbound order based on the customer's past
- history of orders. As such it is an example of a stateful rule service.
-
- Make sure you have run simple_cbr, transformation_XML2POJO, fun_cbr, and
- business_rules_service quickstarts as their principles are used in this
- more complex example.
-
-Running this quickstart:
-========================
- Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
- and a more detailed descripton of the different ways to run the quickstarts.
-
- A comprehensive description of message transformation can be found in
- MessageTransformation.pdf, located in the docs/services folder.
-
-To Run standalone mode:
-=======================
- 1. In a command terminal window in the quickstart folder type
- 'ant deploy-jms-dests'.
- 2. In a command terminal window in this folder ("Window1"), type 'ant run'.
- 3. Open another command terminal window in this folder ("Window2"), type
- 'ant runtest'.
- 4. Switch back to "Window1" to see the output from the ESB
- 5. When finished, interrupt the ESB using Ctrl-C and, in this folder
- ("Window1"), type 'ant undeploy-jms-dests'.
-
-To Run '.esb' archive mode:
-===========================
- 1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
- 2. Open another command terminal window in this folder ("Window2"), type
- 'ant runtest'.
- 3. Switch back to Application Server console to see the output from the ESB
- 4. In this folder ("Window1"), type 'ant undeploy'.
-
-What to look at in this Quickstart:
-===================================
- Look at the jboss-esb.xml and notice how the stateful="true" is set on the
- BusinessRulesProcessor action of the OrderDiscountService. Review the
- OrderDiscountOnMultipleOrders.drl file to see how accumulation works.
-
- Stateful rule services must be told via message properties when to continue with
- the current stateful session and when to dispose of it. This is accomplished via
- the SetupMessage action based on the orderStatus provided with the inbound XML.
-
- Because there is no persistence in this example, the customer object created from
- each XML message is actually a different Java object (even though the values are
- all the same). These are separately inserted into the stateful session, and the
- rules treat them as different objects. A real life implementation would detect
- that the customer already existed, and only insert one customer object into the
- engine stateful session.
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/readme.txt (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/readme.txt)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/readme.txt (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,54 @@
+Overview:
+=========
+ Demonstrates the use of the BusinessRulesProcessor which allows for
+ modification of the POJOs attached to an ESB Message. The example uses Rules
+ to calculate the discount of an inbound order based on the customer's past
+ history of orders. As such it is an example of a stateful rule service.
+
+ Make sure you have run simple_cbr, transformation_XML2POJO, fun_cbr, and
+ business_rules_service quickstarts as their principles are used in this
+ more complex example.
+
+Running this quickstart:
+========================
+ Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
+ and a more detailed descripton of the different ways to run the quickstarts.
+
+ A comprehensive description of message transformation can be found in
+ MessageTransformation.pdf, located in the docs/services folder.
+
+To Run standalone mode:
+=======================
+ 1. In a command terminal window in the quickstart folder type
+ 'ant deploy-jms-dests'.
+ 2. In a command terminal window in this folder ("Window1"), type 'ant run'.
+ 3. Open another command terminal window in this folder ("Window2"), type
+ 'ant runtest'.
+ 4. Switch back to "Window1" to see the output from the ESB
+ 5. When finished, interrupt the ESB using Ctrl-C and, in this folder
+ ("Window1"), type 'ant undeploy-jms-dests'.
+
+To Run '.esb' archive mode:
+===========================
+ 1. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
+ 2. Open another command terminal window in this folder ("Window2"), type
+ 'ant runtest'.
+ 3. Switch back to Application Server console to see the output from the ESB
+ 4. In this folder ("Window1"), type 'ant undeploy'.
+
+What to look at in this Quickstart:
+===================================
+ Look at the jboss-esb.xml and notice how the stateful="true" is set on the
+ BusinessRulesProcessor action of the OrderDiscountService. Review the
+ OrderDiscountOnMultipleOrders.drl file to see how accumulation works.
+
+ Stateful rule services must be told via message properties when to continue with
+ the current stateful session and when to dispose of it. This is accomplished via
+ the SetupMessage action based on the orderStatus provided with the inbound XML.
+
+ Because there is no persistence in this example, the customer object created from
+ each XML message is actually a different Java object (even though the values are
+ all the same). These are separately inserted into the stateful session, and the
+ rules treat them as different objects. A real life implementation would detect
+ that the customer already existed, and only insert one customer object into the
+ engine stateful session.
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/smooks-res.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/smooks-res.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/smooks-res.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,58 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!-- Populate the OrderHeader -->
- <resource-config selector="order">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">orderHeader</param>
- <param name="beanClass">org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderHeader</param>
- <param name="bindings">
- <binding property="orderId" selector="Order @orderId" />
- <binding property="orderDate" selector="Order @orderDate" type="LongDate"/>
- <binding property="statusCode" selector="Order @statusCode" type="Integer" />
- <binding property="netAmount" selector="Order @netAmount" type="Double" />
- <binding property="totalAmount" selector="Order @totalAmount" type="Double" />
- <binding property="tax" selector="Order @tax" type="Double" />
- </param>
- </resource-config>
-
- <!-- Populate the Customer -->
- <resource-config selector="order customer">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">customer</param>
- <param name="beanClass">org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.Customer</param>
- <param name="setOn">orderHeader</param>
-
- <param name="bindings">
- <binding property="userName" selector="order customer @userName" />
- <binding property="firstName" selector="order customer @firstName" />
- <binding property="lastName" selector="order customer @lastName" />
- <binding property="state" selector="order customer @state" />
- </param>
- </resource-config>
-
- <!-- Populate the OrderItem list -->
- <resource-config selector="order orderlines orderline">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">orderItem</param>
- <param name="beanClass">org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderItem</param>
- <param name="addToList">true</param>
- <param name="bindings">
- <binding property="position" selector="order orderlines orderline @position" type="Integer" />
- <binding property="quantity" selector="order orderlines orderline @quantity" type="Integer" />
- <binding property="productId" selector="order orderlines orderline product @productId" />
- <binding property="title" selector="order orderlines orderline product @title" />
- <binding property="price" selector="order orderlines orderline product @price" type="Double" />
- </param>
- </resource-config>
-
- <!--resource-config selector="order orderlines orderline">
- <resource>/org/jboss/soa/esb/dvdstore/orderitem.st</resource>
- </resource-config-->
-
- <resource-config selector="decoder:LongDate">
- <resource>org.milyn.javabean.decoders.CalendarDecoder</resource>
- <param name="format">EEE MMM dd HH:mm:ss z yyyy</param>
- </resource-config>
-
-</smooks-resource-list>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/smooks-res.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/smooks-res.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/smooks-res.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/smooks-res.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,58 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!-- Populate the OrderHeader -->
+ <resource-config selector="order">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">orderHeader</param>
+ <param name="beanClass">org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderHeader</param>
+ <param name="bindings">
+ <binding property="orderId" selector="Order @orderId" />
+ <binding property="orderDate" selector="Order @orderDate" type="LongDate"/>
+ <binding property="statusCode" selector="Order @statusCode" type="Integer" />
+ <binding property="netAmount" selector="Order @netAmount" type="Double" />
+ <binding property="totalAmount" selector="Order @totalAmount" type="Double" />
+ <binding property="tax" selector="Order @tax" type="Double" />
+ </param>
+ </resource-config>
+
+ <!-- Populate the Customer -->
+ <resource-config selector="order customer">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">customer</param>
+ <param name="beanClass">org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.Customer</param>
+ <param name="setOn">orderHeader</param>
+
+ <param name="bindings">
+ <binding property="userName" selector="order customer @userName" />
+ <binding property="firstName" selector="order customer @firstName" />
+ <binding property="lastName" selector="order customer @lastName" />
+ <binding property="state" selector="order customer @state" />
+ </param>
+ </resource-config>
+
+ <!-- Populate the OrderItem list -->
+ <resource-config selector="order orderlines orderline">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">orderItem</param>
+ <param name="beanClass">org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderItem</param>
+ <param name="addToList">true</param>
+ <param name="bindings">
+ <binding property="position" selector="order orderlines orderline @position" type="Integer" />
+ <binding property="quantity" selector="order orderlines orderline @quantity" type="Integer" />
+ <binding property="productId" selector="order orderlines orderline product @productId" />
+ <binding property="title" selector="order orderlines orderline product @title" />
+ <binding property="price" selector="order orderlines orderline product @price" type="Double" />
+ </param>
+ </resource-config>
+
+ <!--resource-config selector="order orderlines orderline">
+ <resource>/org/jboss/soa/esb/dvdstore/orderitem.st</resource>
+ </resource-config-->
+
+ <resource-config selector="decoder:LongDate">
+ <resource>org.milyn.javabean.decoders.CalendarDecoder</resource>
+ <param name="format">EEE MMM dd HH:mm:ss z yyyy</param>
+ </resource-config>
+
+</smooks-resource-list>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/ReviewMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/ReviewMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/ReviewMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.businessrulesstateful;
-
-import java.util.HashMap;
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderHeader;
-import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.Customer;
-
-public class ReviewMessage extends AbstractActionPipelineProcessor {
- private String input = "Reviewer";
-
- public Message process(Message message) throws ActionProcessingException {
-
- OrderHeader order = (OrderHeader) message.getBody().get("TheOrderHeader");
- Customer customer = (Customer) message.getBody().get("TheCustomer");
- System.out.println("{ ================ " + input);
- System.out.println("Customer: " + customer);
- System.out.println("Order Priority: " + order.getOrderPriority());
- System.out.println("Order Discount: " + order.getOrderDiscount());
- System.out.println("Order Total: " + order.getTotalAmount());
- System.out.println("} ================ " + input);
- // System.out.println("Order: " + order);
-
- return message;
- }
-
- public ReviewMessage(ConfigTree configTree) {
- input = configTree.getAttribute("stuff");
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/ReviewMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/ReviewMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/ReviewMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/ReviewMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.businessrulesstateful;
+
+import java.util.HashMap;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderHeader;
+import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.Customer;
+
+public class ReviewMessage extends AbstractActionPipelineProcessor {
+ private String input = "Reviewer";
+
+ public Message process(Message message) throws ActionProcessingException {
+
+ OrderHeader order = (OrderHeader) message.getBody().get("TheOrderHeader");
+ Customer customer = (Customer) message.getBody().get("TheCustomer");
+ System.out.println("{ ================ " + input);
+ System.out.println("Customer: " + customer);
+ System.out.println("Order Priority: " + order.getOrderPriority());
+ System.out.println("Order Discount: " + order.getOrderDiscount());
+ System.out.println("Order Total: " + order.getTotalAmount());
+ System.out.println("} ================ " + input);
+ // System.out.println("Order: " + order);
+
+ return message;
+ }
+
+ public ReviewMessage(ConfigTree configTree) {
+ input = configTree.getAttribute("stuff");
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/SetupMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/SetupMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/SetupMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,74 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.businessrulesstateful;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.Customer;
-import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderHeader;
-
-import java.util.Map;
-
-public class SetupMessage extends AbstractActionPipelineProcessor {
- private Logger logger = Logger.getLogger(SetupMessage.class);
- private int status = 0;
-
- public Message process(Message message) throws ActionProcessingException {
- Map transformedBeans = (Map) message.getBody().get();
-
- if(transformedBeans != null) {
- OrderHeader header = (OrderHeader) transformedBeans.get("orderHeader");
- Customer customer = (Customer) transformedBeans.get("customer");
- message.getBody().add("TheOrderHeader", header);
- message.getBody().add("TheCustomer", customer);
-
- status = header.getStatusCode();
-
- if (status == 0 ) {
- message.getProperties().setProperty("dispose", false);
- message.getProperties().setProperty("continue", false);
-
- }
-
- if (status == 1 ) {
- message.getProperties().setProperty("dispose", false);
- message.getProperties().setProperty("continue", true);
- }
-
- if (status == 2 ) {
- message.getProperties().setProperty("dispose", true);
- message.getProperties().setProperty("continue", true);
- }
-
- logger.info("Moved the transformed Order Header and Customer");
- }
-
- return message;
- }
-
- public SetupMessage(ConfigTree configTree) {
- // status = Integer.parseInt(configTree.getAttribute("status"));
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/SetupMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/SetupMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/SetupMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/SetupMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.businessrulesstateful;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.Customer;
+import org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore.OrderHeader;
+
+import java.util.Map;
+
+public class SetupMessage extends AbstractActionPipelineProcessor {
+ private Logger logger = Logger.getLogger(SetupMessage.class);
+ private int status = 0;
+
+ public Message process(Message message) throws ActionProcessingException {
+ Map transformedBeans = (Map) message.getBody().get();
+
+ if(transformedBeans != null) {
+ OrderHeader header = (OrderHeader) transformedBeans.get("orderHeader");
+ Customer customer = (Customer) transformedBeans.get("customer");
+ message.getBody().add("TheOrderHeader", header);
+ message.getBody().add("TheCustomer", customer);
+
+ status = header.getStatusCode();
+
+ if (status == 0 ) {
+ message.getProperties().setProperty("dispose", false);
+ message.getProperties().setProperty("continue", false);
+
+ }
+
+ if (status == 1 ) {
+ message.getProperties().setProperty("dispose", false);
+ message.getProperties().setProperty("continue", true);
+ }
+
+ if (status == 2 ) {
+ message.getProperties().setProperty("dispose", true);
+ message.getProperties().setProperty("continue", true);
+ }
+
+ logger.info("Moved the transformed Order Header and Customer");
+ }
+
+ return message;
+ }
+
+ public SetupMessage(ConfigTree configTree) {
+ // status = Integer.parseInt(configTree.getAttribute("status"));
+ }
+
+}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/Customer.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/Customer.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/Customer.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,113 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore;
-
-import java.io.Serializable;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Customer implements Serializable {
-
- // <Customer userName="user1" firstName="Harry" lastName="Potter" state="SD"/>
- private String userName;
- private String firstName;
- private String lastName;
- private String state;
- private int status;
- private double orderDiscount;
-
- /**
- * @return Returns the firstName.
- */
- public String getFirstName() {
- return firstName;
- }
- /**
- * @param firstName The firstName to set.
- */
- public void setFirstName(String firstName) {
- //System.out.println("**** firstName: " + firstName);
- this.firstName = firstName;
- }
- /**
- * @return Returns the lastName.
- */
- public String getLastName() {
- return lastName;
- }
- /**
- * @param lastName The lastName to set.
- */
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- /**
- * @return Returns the state.
- */
- public String getState() {
- return state;
- }
- /**
- * @param state The state to set.
- */
- public void setState(String state) {
- this.state = state;
- }
- /**
- * @return Returns the userName.
- */
- public String getUserName() {
- return userName;
- }
- /**
- * @param userName The userName to set.
- */
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return userName + "," + firstName + "," + lastName + "," + state + "," + status;
- }
-
- public int getStatus() {
- return status;
- }
- public void setStatus(int status) {
- this.status = status;
- }
-
- public double getOrderDiscount() {
- return this.orderDiscount;
- }
-
- public void setOrderDiscount(double orderDiscount) {
- this.orderDiscount = orderDiscount;
- }
-
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/Customer.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/Customer.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/Customer.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/Customer.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,113 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore;
+
+import java.io.Serializable;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Customer implements Serializable {
+
+ // <Customer userName="user1" firstName="Harry" lastName="Potter" state="SD"/>
+ private String userName;
+ private String firstName;
+ private String lastName;
+ private String state;
+ private int status;
+ private double orderDiscount;
+
+ /**
+ * @return Returns the firstName.
+ */
+ public String getFirstName() {
+ return firstName;
+ }
+ /**
+ * @param firstName The firstName to set.
+ */
+ public void setFirstName(String firstName) {
+ //System.out.println("**** firstName: " + firstName);
+ this.firstName = firstName;
+ }
+ /**
+ * @return Returns the lastName.
+ */
+ public String getLastName() {
+ return lastName;
+ }
+ /**
+ * @param lastName The lastName to set.
+ */
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+ /**
+ * @return Returns the state.
+ */
+ public String getState() {
+ return state;
+ }
+ /**
+ * @param state The state to set.
+ */
+ public void setState(String state) {
+ this.state = state;
+ }
+ /**
+ * @return Returns the userName.
+ */
+ public String getUserName() {
+ return userName;
+ }
+ /**
+ * @param userName The userName to set.
+ */
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return userName + "," + firstName + "," + lastName + "," + state + "," + status;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public double getOrderDiscount() {
+ return this.orderDiscount;
+ }
+
+ public void setOrderDiscount(double orderDiscount) {
+ this.orderDiscount = orderDiscount;
+ }
+
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/DVDStoreAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/DVDStoreAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/DVDStoreAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,71 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore;
-
-import java.util.HashMap;
-import java.util.List;
-
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-
-/**
- * DVD Store action.
- * <p/>
- * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class DVDStoreAction extends AbstractActionPipelineProcessor {
-
- public DVDStoreAction(ConfigTree configTree) {
-
- }
-
- public Message process(Message message) throws ActionProcessingException {
- HashMap beanHash = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
-
- StringBuffer results = new StringBuffer();
- if(beanHash != null) {
- OrderHeader header = (OrderHeader) beanHash.get("orderHeader");
- Customer customer = (Customer) beanHash.get("customer");
- List orderItems = (List) beanHash.get("orderItemList");
- results.append("Demonstrates Smooks ability to rip the XML into Objects\n");
- results.append("********* DVDStoreAction - Order Value Objects Populated *********\n");
- results.append("Header: " + header + "\n");
- results.append("Customer: " + customer + "\n");
- if(orderItems != null) {
- results.append("Order Items (" + orderItems.size() + "):\n");
- for(int i = 0; i < orderItems.size(); i++) {
- results.append("\t" + i + ": " + orderItems.get(i) + "\n");
- }
- }
- results.append("\n****************************************************************** ");
- } else {
- results.append("\n*** No beanhash found!");
- }
-
- // Take this "parsed" output and make it a new message
- message.getBody().setByteArray(results.toString().getBytes());
- return message;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/DVDStoreAction.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/DVDStoreAction.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/DVDStoreAction.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/DVDStoreAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore;
+
+import java.util.HashMap;
+import java.util.List;
+
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * DVD Store action.
+ * <p/>
+ * This action uses bean value objects that were prepopulated by Smooks in an earlier action on the pipline.
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class DVDStoreAction extends AbstractActionPipelineProcessor {
+
+ public DVDStoreAction(ConfigTree configTree) {
+
+ }
+
+ public Message process(Message message) throws ActionProcessingException {
+ HashMap beanHash = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
+
+ StringBuffer results = new StringBuffer();
+ if(beanHash != null) {
+ OrderHeader header = (OrderHeader) beanHash.get("orderHeader");
+ Customer customer = (Customer) beanHash.get("customer");
+ List orderItems = (List) beanHash.get("orderItemList");
+ results.append("Demonstrates Smooks ability to rip the XML into Objects\n");
+ results.append("********* DVDStoreAction - Order Value Objects Populated *********\n");
+ results.append("Header: " + header + "\n");
+ results.append("Customer: " + customer + "\n");
+ if(orderItems != null) {
+ results.append("Order Items (" + orderItems.size() + "):\n");
+ for(int i = 0; i < orderItems.size(); i++) {
+ results.append("\t" + i + ": " + orderItems.get(i) + "\n");
+ }
+ }
+ results.append("\n****************************************************************** ");
+ } else {
+ results.append("\n*** No beanhash found!");
+ }
+
+ // Take this "parsed" output and make it a new message
+ message.getBody().setByteArray(results.toString().getBytes());
+ return message;
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderHeader.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderHeader.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderHeader.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,150 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-import java.io.Serializable;
-import java.util.Calendar;
-
-public class OrderHeader implements Serializable {
-
- // <Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
- private String orderId;
- private Calendar orderDate;
- private int statusCode;
- private double netAmount;
- private double totalAmount;
- private double tax;
- private int orderPriority = 1;
- private double orderDiscount;
-
- private Customer customer;
-
- /**
- * @return Returns the netAmount.
- */
- public double getNetAmount() {
- return netAmount;
- }
- /**
- * @param netAmount The netAmount to set.
- */
- public void setNetAmount(double netAmount) {
- // System.out.println("**** netAmount: " + netAmount);
- this.netAmount = netAmount;
- }
- /**
- * @return Returns the orderDate.
- */
- public Calendar getOrderDate() {
- return orderDate;
- }
- /**
- * @param orderDate The orderDate to set.
- */
- public void setOrderDate(Calendar orderDate) {
- this.orderDate = orderDate;
- }
- /**
- * @return Returns the orderId.
- */
- public String getOrderId() {
- return orderId;
- }
- /**
- * @param orderId The orderId to set.
- */
- public void setOrderId(String orderId) {
- this.orderId = orderId;
- }
- /**
- * @return Returns the statusCode.
- */
- public int getStatusCode() {
- return statusCode;
- }
- /**
- * @param statusCode The statusCode to set.
- */
- public void setStatusCode(int statusCode) {
- this.statusCode = statusCode;
- }
- /**
- * @return Returns the tax.
- */
- public double getTax() {
- return tax;
- }
- /**
- * @param tax The tax to set.
- */
- public void setTax(double tax) {
- this.tax = tax;
- }
- /**
- * @return Returns the totalAmount.
- */
- public double getTotalAmount() {
- return totalAmount;
- }
- /**
- * @param totalAmount The totalAmount to set.
- */
- public void setTotalAmount(double totalAmount) {
- this.totalAmount = totalAmount;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return orderId + ", " + orderDate + ", " + statusCode + ", " + netAmount + ", " + totalAmount + ", " + tax + ", ";
- }
-
- public int getOrderPriority() {
- return this.orderPriority;
- }
-
- public void setOrderPriority(int orderPriority) {
- this.orderPriority = orderPriority;
- }
-
- public double getOrderDiscount() {
- return this.orderDiscount;
- }
-
- public void setOrderDiscount(double orderDiscount) {
- this.orderDiscount = orderDiscount;
- }
-
- public Customer getCustomer() {
- return this.customer;
- }
-
- public void setCustomer(Customer customer) {
- this.customer = customer;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderHeader.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderHeader.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderHeader.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderHeader.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,150 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+import java.io.Serializable;
+import java.util.Calendar;
+
+public class OrderHeader implements Serializable {
+
+ // <Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+ private String orderId;
+ private Calendar orderDate;
+ private int statusCode;
+ private double netAmount;
+ private double totalAmount;
+ private double tax;
+ private int orderPriority = 1;
+ private double orderDiscount;
+
+ private Customer customer;
+
+ /**
+ * @return Returns the netAmount.
+ */
+ public double getNetAmount() {
+ return netAmount;
+ }
+ /**
+ * @param netAmount The netAmount to set.
+ */
+ public void setNetAmount(double netAmount) {
+ // System.out.println("**** netAmount: " + netAmount);
+ this.netAmount = netAmount;
+ }
+ /**
+ * @return Returns the orderDate.
+ */
+ public Calendar getOrderDate() {
+ return orderDate;
+ }
+ /**
+ * @param orderDate The orderDate to set.
+ */
+ public void setOrderDate(Calendar orderDate) {
+ this.orderDate = orderDate;
+ }
+ /**
+ * @return Returns the orderId.
+ */
+ public String getOrderId() {
+ return orderId;
+ }
+ /**
+ * @param orderId The orderId to set.
+ */
+ public void setOrderId(String orderId) {
+ this.orderId = orderId;
+ }
+ /**
+ * @return Returns the statusCode.
+ */
+ public int getStatusCode() {
+ return statusCode;
+ }
+ /**
+ * @param statusCode The statusCode to set.
+ */
+ public void setStatusCode(int statusCode) {
+ this.statusCode = statusCode;
+ }
+ /**
+ * @return Returns the tax.
+ */
+ public double getTax() {
+ return tax;
+ }
+ /**
+ * @param tax The tax to set.
+ */
+ public void setTax(double tax) {
+ this.tax = tax;
+ }
+ /**
+ * @return Returns the totalAmount.
+ */
+ public double getTotalAmount() {
+ return totalAmount;
+ }
+ /**
+ * @param totalAmount The totalAmount to set.
+ */
+ public void setTotalAmount(double totalAmount) {
+ this.totalAmount = totalAmount;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return orderId + ", " + orderDate + ", " + statusCode + ", " + netAmount + ", " + totalAmount + ", " + tax + ", ";
+ }
+
+ public int getOrderPriority() {
+ return this.orderPriority;
+ }
+
+ public void setOrderPriority(int orderPriority) {
+ this.orderPriority = orderPriority;
+ }
+
+ public double getOrderDiscount() {
+ return this.orderDiscount;
+ }
+
+ public void setOrderDiscount(double orderDiscount) {
+ this.orderDiscount = orderDiscount;
+ }
+
+ public Customer getCustomer() {
+ return this.customer;
+ }
+
+ public void setCustomer(Customer customer) {
+ this.customer = customer;
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderItem.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderItem.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderItem.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,111 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-
-package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore;
-
-import java.io.Serializable;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class OrderItem implements Serializable {
-
- // <OrderLine position="1" quantity="1">
- // <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
- // </OrderLine>
- private int position;
- private int quantity;
- private String productId;
- private String title;
- private double price;
-
- /**
- * @return Returns the position.
- */
- public int getPosition() {
- return position;
- }
- /**
- * @param position The position to set.
- */
- public void setPosition(int position) {
- //System.out.println("**** position: " + position);
- this.position = position;
- }
- /**
- * @return Returns the price.
- */
- public double getPrice() {
- return price;
- }
- /**
- * @param price The price to set.
- */
- public void setPrice(double price) {
- //System.out.println("**** price: " + price);
- this.price = price;
- }
- /**
- * @return Returns the productId.
- */
- public String getProductId() {
- return productId;
- }
- /**
- * @param productId The productId to set.
- */
- public void setProductId(String productId) {
- this.productId = productId;
- }
- /**
- * @return Returns the quantity.
- */
- public int getQuantity() {
- return quantity;
- }
- /**
- * @param quantity The quantity to set.
- */
- public void setQuantity(int quantity) {
- this.quantity = quantity;
- }
- /**
- * @return Returns the title.
- */
- public String getTitle() {
- return title;
- }
- /**
- * @param title The title to set.
- */
- public void setTitle(String title) {
- this.title = title;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return position + "," + quantity + "," + productId + "," + title + "," + price;
-
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderItem.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderItem.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderItem.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/dvdstore/OrderItem.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,111 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.dvdstore;
+
+import java.io.Serializable;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class OrderItem implements Serializable {
+
+ // <OrderLine position="1" quantity="1">
+ // <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ // </OrderLine>
+ private int position;
+ private int quantity;
+ private String productId;
+ private String title;
+ private double price;
+
+ /**
+ * @return Returns the position.
+ */
+ public int getPosition() {
+ return position;
+ }
+ /**
+ * @param position The position to set.
+ */
+ public void setPosition(int position) {
+ //System.out.println("**** position: " + position);
+ this.position = position;
+ }
+ /**
+ * @return Returns the price.
+ */
+ public double getPrice() {
+ return price;
+ }
+ /**
+ * @param price The price to set.
+ */
+ public void setPrice(double price) {
+ //System.out.println("**** price: " + price);
+ this.price = price;
+ }
+ /**
+ * @return Returns the productId.
+ */
+ public String getProductId() {
+ return productId;
+ }
+ /**
+ * @param productId The productId to set.
+ */
+ public void setProductId(String productId) {
+ this.productId = productId;
+ }
+ /**
+ * @return Returns the quantity.
+ */
+ public int getQuantity() {
+ return quantity;
+ }
+ /**
+ * @param quantity The quantity to set.
+ */
+ public void setQuantity(int quantity) {
+ this.quantity = quantity;
+ }
+ /**
+ * @return Returns the title.
+ */
+ public String getTitle() {
+ return title;
+ }
+ /**
+ * @param title The title to set.
+ */
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return position + "," + quantity + "," + productId + "," + title + "," + price;
+
+ }
+}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/SendJMSMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/SendJMSMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,123 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author JBoss Inc.
- */
-package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.test;
-
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.jms.JMSException;
-import javax.jms.QueueConnectionFactory;
-import javax.jms.Queue;
-import javax.jms.QueueConnection;
-import javax.jms.QueueSession;
-import javax.jms.QueueSender;
-import javax.jms.ObjectMessage;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-
-public class SendJMSMessage {
- QueueConnection conn;
- QueueSession session;
- Queue que;
-
-
- public void setupConnection() throws JMSException, NamingException
- {
- InitialContext iniCtx = new InitialContext();
- Object tmp = iniCtx.lookup("ConnectionFactory");
- QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
- conn = qcf.createQueueConnection();
- que = (Queue) iniCtx.lookup("queue/quickstart_Business_Rules_Stateful_Request_GW");
- session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
- conn.start();
- System.out.println("Connection Started");
- }
-
- public void stop() throws JMSException
- {
- conn.stop();
- session.close();
- conn.close();
- }
-
- public void sendAMessage(String msg) throws JMSException {
-
- QueueSender send = session.createSender(que);
- ObjectMessage tm = session.createObjectMessage(msg);
- send.send(tm);
- send.close();
- }
- public String readAsciiFile(String fileName) throws IOException {
- FileReader fr = null;
- char[] thechars = null;
-
- try {
- File thefile = new File( fileName );
- fr = new FileReader( thefile );
- int size = (int) thefile.length();
- thechars = new char[size];
-
- int count, index = 0;
-
- // read in the bytes from the input stream
- while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
- size -= count;
- index += count;
- }
- } catch(Exception e) {
- System.out.println(e);
- }
- finally {
- if( fr != null )
- fr.close();
- }
- return new String(thechars);
-
- } // readAsciiFile
-
- public static void main(String args[]) throws Exception
- {
- SendJMSMessage sm = new SendJMSMessage();
- sm.setupConnection();
- String fileContent = sm.readAsciiFile("SampleOrder1.xml");
- System.out.println("---------------------------------------------");
- System.out.println(fileContent);
- System.out.println("---------------------------------------------");
- sm.sendAMessage(fileContent);
-
- fileContent = sm.readAsciiFile("SampleOrder2.xml");
- System.out.println("---------------------------------------------");
- System.out.println(fileContent);
- System.out.println("---------------------------------------------");
- sm.sendAMessage(fileContent);
-
- fileContent = sm.readAsciiFile("SampleOrder3.xml");
- System.out.println("---------------------------------------------");
- System.out.println(fileContent);
- System.out.println("---------------------------------------------");
- sm.sendAMessage(fileContent);
-
- sm.stop();
-
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/SendJMSMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/SendJMSMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/SendJMSMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_ruleservice_stateful/src/org/jboss/soa/esb/samples/quickstart/businessrulesstateful/test/SendJMSMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,123 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.businessrulesstateful.test;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+public class SendJMSMessage {
+ QueueConnection conn;
+ QueueSession session;
+ Queue que;
+
+
+ public void setupConnection() throws JMSException, NamingException
+ {
+ InitialContext iniCtx = new InitialContext();
+ Object tmp = iniCtx.lookup("ConnectionFactory");
+ QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+ conn = qcf.createQueueConnection();
+ que = (Queue) iniCtx.lookup("queue/quickstart_Business_Rules_Stateful_Request_GW");
+ session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+ conn.start();
+ System.out.println("Connection Started");
+ }
+
+ public void stop() throws JMSException
+ {
+ conn.stop();
+ session.close();
+ conn.close();
+ }
+
+ public void sendAMessage(String msg) throws JMSException {
+
+ QueueSender send = session.createSender(que);
+ ObjectMessage tm = session.createObjectMessage(msg);
+ send.send(tm);
+ send.close();
+ }
+ public String readAsciiFile(String fileName) throws IOException {
+ FileReader fr = null;
+ char[] thechars = null;
+
+ try {
+ File thefile = new File( fileName );
+ fr = new FileReader( thefile );
+ int size = (int) thefile.length();
+ thechars = new char[size];
+
+ int count, index = 0;
+
+ // read in the bytes from the input stream
+ while( ( count = fr.read( thechars, index, size ) ) > 0 ) {
+ size -= count;
+ index += count;
+ }
+ } catch(Exception e) {
+ System.out.println(e);
+ }
+ finally {
+ if( fr != null )
+ fr.close();
+ }
+ return new String(thechars);
+
+ } // readAsciiFile
+
+ public static void main(String args[]) throws Exception
+ {
+ SendJMSMessage sm = new SendJMSMessage();
+ sm.setupConnection();
+ String fileContent = sm.readAsciiFile("SampleOrder1.xml");
+ System.out.println("---------------------------------------------");
+ System.out.println(fileContent);
+ System.out.println("---------------------------------------------");
+ sm.sendAMessage(fileContent);
+
+ fileContent = sm.readAsciiFile("SampleOrder2.xml");
+ System.out.println("---------------------------------------------");
+ System.out.println(fileContent);
+ System.out.println("---------------------------------------------");
+ sm.sendAMessage(fileContent);
+
+ fileContent = sm.readAsciiFile("SampleOrder3.xml");
+ System.out.println("---------------------------------------------");
+ System.out.println(fileContent);
+ System.out.println("---------------------------------------------");
+ sm.sendAMessage(fileContent);
+
+ sm.stop();
+
+ }
+
+}
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_service/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_service/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/business_service/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,10 +3,7 @@
parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/conf/base-build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/conf/base-build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/conf/base-build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -251,8 +251,40 @@
<!-- compile-classpath, exec-classpath -->
<!-- ==================================================================== -->
- <target name="dependencies" depends="classpath-dependencies, quickstart-specific-checks"/>
+ <target name="dependencies" depends="classpath-dependencies, quickstart-specific-checks">
+
+ <!-- jBPM Console properties -->
+ <condition property="jbpm.production.properties.set" value="true" else="false">
+ <and>
+ <equals arg1="${org.jboss.esb.server.config}" arg2="production"/>
+ <isset property="quickstart.jbpm.console.username"/>
+ <isset property="quickstart.jbpm.console.password"/>
+ </and>
+ </condition>
+ <fail message="Quickstart configuration error: ${line.separator}${line.separator} jBPM username and password must be set in ${pwd}/quickstarts.properties. ${line.separator} The jBPM web console is secured when running in production mode i.e when org.jboss.esb.server.config=production.">
+ <condition>
+ <and>
+ <equals arg1="${org.jboss.esb.server.config}" arg2="production"/>
+ <equals arg1="${jbpm.production.properties.set}" arg2="false"/>
+ </and>
+ </condition>
+ </fail>
+ <condition property="org.jboss.esb.jbpm.console.upload.url" value="/jbpm-console/app/upload/" else="/jbpm-console/upload/">
+ <equals arg1="${org.jboss.esb.server.config}" arg2="production"/>
+ </condition>
+
+ <condition property="jbpm.console.username" value="${quickstart.jbpm.console.username}" else="">
+ <equals arg1="${org.jboss.esb.server.config}" arg2="production"/>
+ </condition>
+
+ <condition property="jbpm.console.password" value="${quickstart.jbpm.console.password}" else="">
+ <equals arg1="${org.jboss.esb.server.config}" arg2="production"/>
+ </condition>
+
+ <!-- End jBPM Console properties -->
+ </target>
+
<target name="classpath-dependencies" depends="messaging-dependencies, jbossmq-dependencies, quickstart-specific-dependencies">
<path id="compile-classpath">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/conf/quickstarts.properties-example
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/conf/quickstarts.properties-example 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/conf/quickstarts.properties-example 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,13 +5,17 @@
##############################################################################################
# Location of your JBoss Application Server installation.
# Will override the same property name from install/deployment.properties
-#org.jboss.esb.server.home=${product.dir}/build/jbossesb-server-4.2GA
+#org.jboss.esb.server.home=${product.dir}/build/jbossesb-server-4.2.1CP3
# JBossAS server name. If not set defaults to 'default'
# Will override the same property name from install/deployment.properties
#org.jboss.esb.server.config=default
+# jBPM console security credentials (if org.jboss.esb.server.config=production)
+#jbpm.console.username=admin
+#jbpm.console.password=admin
+
# If you are running the ftp tests then you must complete the following
jbossesb.ftp.hostname=
jbossesb.ftp.username=
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/custom_action/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/custom_action/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/custom_action/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,14 +2,11 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
- dest-name="queue/quickstart_custom_action_GW"
+ dest-name="queue/quickstart_custom_action_GW"
/>
</jms-bus>
<jms-bus busid="quickstartEsbChannel">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/deadletter/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/deadletter/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/deadletter/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,10 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-URL="jnp://127.0.0.1:1099" jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces">
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/exceptions_faults/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/exceptions_faults/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/exceptions_faults/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,10 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="LostMessageServiceGW">
<jms-message-filter
dest-type="QUEUE"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/FunCBRRules-XPath.drl
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/FunCBRRules-XPath.drl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/FunCBRRules-XPath.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -11,7 +11,7 @@
rule "Blue Routing Rule using XPATH"
when
- xpathEquals "/Order/@statusCode", "0"
+ xpathEquals expr "/order:Order/@statusCode", "0" use namespaces "order=http://org.jboss.soa.esb/Order"
then
Log : "Blue Team";
Destination : "blue";
@@ -19,7 +19,7 @@
rule "Red Routing Rule using XPATH"
when
- xpathEquals "/Order/@statusCode", "1"
+ xpathEquals expr "/order:Order/@statusCode", "1" use namespaces "order=http://org.jboss.soa.esb/Order"
then
Log : "Red Team";
Destination : "red";
@@ -27,8 +27,8 @@
rule "Green Routing Rule using XPATH"
when
- xpathEquals "/Order/@statusCode", "2"
+ xpathEquals expr "/order:Order/@statusCode", "2" use namespaces "order=http://org.jboss.soa.esb/Order"
then
Log : "Green Team";
Destination : "green";
-end
\ No newline at end of file
+end
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/SampleOrder.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/SampleOrder.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/SampleOrder.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,4 +1,4 @@
-<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0"
+<Order xmlns="http://org.jboss.soa.esb/Order" orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0"
netAmount="59.97" totalAmount="64.92" tax="4.95">
<Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
<OrderLines>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,9 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" >
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_Fun_CBR_Request_GW"/>
</jms-bus>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/readme.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/fun_cbr/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,6 +5,8 @@
determine which team receives the order for actually processing. In the case
of the green team, the order is first transformed to a different format prior
to routing.
+ This quickstart also show how namepaces can be used with xpath expressions.
+
Running this quickstart:
========================
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/groovy_gateway/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/groovy_gateway/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/groovy_gateway/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,10 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartEsbChannel">
<jms-message-filter
dest-type="QUEUE"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_hibernate_action/quickstart-ds.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_hibernate_action/quickstart-ds.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_hibernate_action/quickstart-ds.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,7 +2,7 @@
<datasources>
<local-tx-datasource>
<jndi-name>HelloworldHibernateDB</jndi-name>
- <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1703</connection-url>
+ <connection-url>jdbc:hsqldb:hsql://localhost:1703</connection-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<user-name>sa</user-name>
<password></password>
@@ -16,7 +16,7 @@
<mbean code="org.jboss.internal.soa.esb.dependencies.HypersonicDatabase"
name="jboss:service=HelloworldHibernateDB">
<attribute name="Port">1703</attribute>
- <attribute name="BindAddress">${jboss.bind.address}</attribute>
+ <attribute name="BindAddress">localhost</attribute>
<attribute name="Database">HelloworldHibernateDB</attribute>
<attribute name="Silent">true</attribute>
<attribute name="Trace">false</attribute>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_sql_action/quickstart-ds.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_sql_action/quickstart-ds.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_sql_action/quickstart-ds.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,7 +2,7 @@
<datasources>
<local-tx-datasource>
<jndi-name>HelloworldSqlDB</jndi-name>
- <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1704</connection-url>
+ <connection-url>jdbc:hsqldb:hsql://localhost:1704</connection-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<user-name>sa</user-name>
<password></password>
@@ -16,7 +16,7 @@
<mbean code="org.jboss.internal.soa.esb.dependencies.HypersonicDatabase"
name="jboss:service=HelloworldSqlDB">
<attribute name="Port">1704</attribute>
- <attribute name="BindAddress">${jboss.bind.address}</attribute>
+ <attribute name="BindAddress">localhost</attribute>
<attribute name="Database">HelloworldSqlDB</attribute>
<attribute name="Silent">true</attribute>
<attribute name="Trace">false</attribute>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -13,119 +13,114 @@
<target name="quickstart-specific-assemblies" description="Quickstart specific assemblies">
</target>
+ <target name="quickstart-specific-checks">
+ <property name="driver" value="org.h2.Driver"/>
+ <property name="driver.jar" value="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}/lib/h2.jar"/>
+ <property name="url" value="jdbc:h2:tcp://localhost:9095/"/>
+ </target>
+
<target name="runtest" depends="dependencies" description="Insert row data into sql table polled by gateway">
- <property name="hsqldb.jar"
- value="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}/lib/hsqldb.jar"/>
- <echo>Insert row data into sql table polled by gateway</echo>
- <sql
- driver="org.hsqldb.jdbcDriver"
- url="jdbc:hsqldb:hsql://localhost:1705"
- userid="sa"
- autocommit="true"
- password="">
- <classpath>
- <pathelement path="${hsqldb.jar}"/>
- </classpath>
+ <echo>Insert row data into sql table polled by gateway</echo>
+ <sql
+ driver="${driver}"
+ url="${url}"
+ userid="sa"
+ autocommit="true"
+ password="">
+ <classpath>
+ <pathelement path="${driver.jar}"/>
+ </classpath>
<transaction src="populate.sql"/>
- </sql>
+ </sql>
</target>
<target name="create" depends="dependencies" description="create table tx_esb_messages">
- <property name="hsqldb.jar"
- value="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}/lib/hsqldb.jar"/>
<echo>create table tx_esb_messages</echo>
<sql
print="true"
- driver="org.hsqldb.jdbcDriver"
- url="jdbc:hsqldb:hsql://localhost:1705"
+ driver="${driver}"
+ url="${url}"
userid="sa"
autocommit="true"
password="">
<classpath>
- <pathelement path="${hsqldb.jar}"/>
+ <pathelement path="${driver.jar}"/>
</classpath>
<transaction>
- create table tx_esb_messages(MESSAGE_ID varchar, STATUS_COL varchar NOT NULL, TIMESTAMP_COL bigint, DATA_COL varchar NOT NULL);
+ create table tx_esb_messages(MESSAGE_ID varchar, STATUS_COL varchar NOT NULL, TIMESTAMP_COL bigint, DATA_COL varchar NOT NULL);
</transaction>
- </sql>
-
+ </sql>
</target>
<target name="drop" depends="dependencies" description="drop table tx_esb_messages">
- <property name="hsqldb.jar"
- value="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}/lib/hsqldb.jar"/>
<echo>drop table tx_esb_messages</echo>
<sql
print="true"
- driver="org.hsqldb.jdbcDriver"
- url="jdbc:hsqldb:hsql://localhost:1705"
+ driver="${driver}"
+ url="${url}"
userid="sa"
autocommit="true"
password="">
<classpath>
- <pathelement path="${hsqldb.jar}"/>
+ <pathelement path="${driver.jar}"/>
</classpath>
<transaction>
- drop table tx_esb_messages
+ drop table tx_esb_messages
</transaction>
- </sql>
-
+ </sql>
</target>
<target name="drop2" depends="dependencies" description="drop table gateway_table">
- <property name="hsqldb.jar"
- value="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}/lib/hsqldb.jar"/>
+ <echo>drop table tx_esb_messages</echo>
<echo>drop table gateway_table</echo>
<sql
print="true"
- driver="org.hsqldb.jdbcDriver"
- url="jdbc:hsqldb:hsql://localhost:1705"
+ driver="${driver}"
+ url="${url}"
userid="sa"
autocommit="true"
password="">
<classpath>
- <pathelement path="${hsqldb.jar}"/>
+ <pathelement path="${driver.jar}"/>
</classpath>
<transaction>
- drop table gateway_table
+ drop table gateway_table
</transaction>
- </sql>
-
+ </sql>
</target>
<target name="select" depends="dependencies" description="select * from gateway_table">
- <property name="hsqldb.jar"
- value="${org.jboss.esb.server.home}/server/${org.jboss.esb.server.config}/lib/hsqldb.jar"/>
- <echo>Select * from gateway_table</echo>
+ <echo>Select * from tx_esb_messages</echo>
<sql
print="true"
- driver="org.hsqldb.jdbcDriver"
- url="jdbc:hsqldb:hsql://localhost:1705"
+ driver="${driver}"
+ url="${url}"
userid="sa"
autocommit="true"
password="">
<classpath>
- <pathelement path="${hsqldb.jar}"/>
+ <pathelement path="${driver.jar}"/>
</classpath>
<transaction>
- select * from tx_esb_messages
+ select * from tx_esb_messages
</transaction>
- </sql>
+ </sql>
+
+ <echo>Select * from gateway_table</echo>
<sql
print="true"
- driver="org.hsqldb.jdbcDriver"
- url="jdbc:hsqldb:hsql://localhost:1705"
+ driver="${driver}"
+ url="${url}"
userid="sa"
autocommit="true"
password="">
<classpath>
- <pathelement path="${hsqldb.jar}"/>
+ <pathelement path="${driver.jar}"/>
</classpath>
<transaction>
- select * from gateway_table
+ select * from gateway_table where DATA_COLUMN like 'data%' and upper(STATUS_COL) like 'P%' order by DATA_COLUMN
</transaction>
- </sql>
-
+ </sql>
</target>
<target name="deploy-jms-dests">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,16 +3,14 @@
<providers>
<sql-provider name="GatewaySQLprovider"
- url="jdbc:hsqldb:hsql://localhost:1705"
- driver="org.hsqldb.jdbcDriver"
- username="sa"
- password="">
+ url="jdbc:h2:tcp://localhost:9095/"
+ datasource="java:/HelloworldTxSqlDB">
<sql-bus busid="helloSQLChannel" >
<sql-message-filter
- tablename="GATEWAY_TABLE"
+ tablename="gateway_table"
status-column="STATUS_COL"
- order-by="DATA_COLUMN"
- where-condition="DATA_COLUMN like 'data%'"
+ order-by="DATA_COLUMN"
+ where-condition="DATA_COLUMN like 'data%'"
message-column="DATA_COLUMN"
message-id-column="UNIQUE_ID"
insert-timestamp-column="TIMESTAMP_COL"
@@ -21,15 +19,15 @@
</sql-provider>
<sql-provider name="SQLprovider"
- url="jdbc:hsqldb:hsql://localhost:1705"
+ url="jdbc:h2:tcp://localhost:9095/"
datasource="java:/HelloworldTxSqlDB">
<sql-bus busid="TxHelloSQLChannel" >
<sql-message-filter
tablename="TX_ESB_MESSAGES"
- message-id-column="MESSAGE_ID"
+ message-id-column="MESSAGE_ID"
status-column="STATUS_COL"
- insert-timestamp-column="TIMESTAMP_COL"
- message-column="DATA_COLUMN"
+ insert-timestamp-column="TIMESTAMP_COL"
+ message-column="DATA_COLUMN"
/>
</sql-bus>
</sql-provider>
@@ -37,27 +35,16 @@
</providers>
<services>
- <service
- category="myCategory"
- name="myTxListener"
- description="Hello World TX SQL Action (esb jdbc listener)">
+ <service category="myCategory" name="myTxListener" description="Hello World TX SQL Action (esb jdbc listener)">
<listeners>
- <sql-listener name="SqlGateway"
- busidref="helloSQLChannel"
- maxThreads="1"
- is-gateway="true"/>
- <sql-listener name="TxSqlListener"
- busidref="TxHelloSQLChannel"
- maxThreads="1">
- <property name="transacted" value="true"/>
+ <sql-listener name="SqlGateway" busidref="helloSQLChannel" maxThreads="1" is-gateway="true"/>
+ <sql-listener name="TxSqlListener" busidref="TxHelloSQLChannel" maxThreads="1">
+ <property name="transacted" value="true"/>
</sql-listener>
</listeners>
<actions mep="OneWay">
- <action name="action1"
- class="org.jboss.soa.esb.samples.quickstart.helloworldtxsqlaction.MyAction"
- process="displayMessage"
- />
- <action name="action2" class="org.jboss.soa.esb.actions.SystemPrintln" />
+ <action name="action1" class="org.jboss.soa.esb.samples.quickstart.helloworldtxsqlaction.MyAction" process="displayMessage" />
+ <action name="action2" class="org.jboss.soa.esb.actions.SystemPrintln" />
</actions>
</service>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/jbossesb-service.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/jbossesb-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/jbossesb-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,9 +5,7 @@
name="jboss.esb:service=HelloworldTxSqlDatabaseInitializer">
<attribute name="Datasource">java:/HelloworldTxSqlDB</attribute>
<attribute name="ExistsSql">select * from gateway_table</attribute>
- <attribute name="SqlFiles">
- hsqldb/create.sql
- </attribute>
+ <attribute name="SqlFiles">h2/create.sql</attribute>
<depends>jboss.jca:name=HelloworldTxSqlDB,service=DataSourceBinding</depends>
</mbean>
</server>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/quickstart-ds.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/quickstart-ds.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/quickstart-ds.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,25 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
- <jndi-name>HelloworldTxSqlDB</jndi-name>
- <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1705</connection-url>
- <driver-class>org.hsqldb.jdbcDriver</driver-class>
- <user-name>sa</user-name>
- <password></password>
- <min-pool-size>5</min-pool-size>
- <max-pool-size>20</max-pool-size>
- <idle-timeout-minutes>0</idle-timeout-minutes>
- <depends>jboss:service=HelloworldTxSqlDB</depends>
- <prepared-statement-cache-size>32</prepared-statement-cache-size>
+ <jndi-name>HelloworldTxSqlDB</jndi-name>
+ <connection-url>jdbc:h2:tcp://localhost:9095/;DB_CLOSE_ON_EXIT=FALSE</connection-url>
+ <driver-class>org.h2.Driver</driver-class>
+ <user-name>sa</user-name>
+ <password/>
+ <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
+ <min-pool-size>5</min-pool-size>
+ <max-pool-size>20</max-pool-size>
+ <idle-timeout-minutes>0</idle-timeout-minutes>
+ <prepared-statement-cache-size>32</prepared-statement-cache-size>
+ <depends>jboss:service=HelloworldTxSqlDB</depends>
</local-tx-datasource>
- <mbean code="org.jboss.internal.soa.esb.dependencies.HypersonicDatabase"
- name="jboss:service=HelloworldTxSqlDB">
- <attribute name="Port">1705</attribute>
- <attribute name="BindAddress">${jboss.bind.address}</attribute>
- <attribute name="Database">HelloworldTxSqlDB</attribute>
- <attribute name="Silent">true</attribute>
- <attribute name="Trace">false</attribute>
- <attribute name="No_system_exit">true</attribute>
+ <mbean code="org.jboss.internal.soa.esb.dependencies.H2Database" name="jboss:service=HelloworldTxSqlDB">
+ <attribute name="Database">HelloworldTxSqlDB</attribute>
+ <attribute name="ServerMode">true</attribute>
+ <attribute name="Port">9095</attribute>
+ <attribute name="InMemoryMode">false</attribute>
</mbean>
</datasources>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/readme.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -31,3 +31,14 @@
'ant runtest'.
3. Switch back to Application Server console to see the output from the ESB
4. In this folder ("Window1"), type 'ant undeploy'.
+
+Note, when running you will see something like:
+
+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+12:24:28,139 INFO [STDOUT] DATA READ: data 22
+12:24:28,140 INFO [STDOUT] column DATA_COLUMN = <data 22>column TIMESTAMP_COL = <null>column UNIQUE_ID = <2>
+12:24:28,140 INFO [STDOUT] &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+12:24:28,140 INFO [STDOUT] Will rollback transaction. Expect to see record again!
+12:24:28,140 INFO [STDOUT] BAD READ ON DATA!
+
+You can safely ignore the 'BAD READ ON DATA!' as this is expected behaviour.
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/h2 (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/helloworld_tx_sql_action/src/h2)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/create.sql
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/create.sql 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/create.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,15 +0,0 @@
-CREATE TABLE gateway_table
-(
-unique_id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
-data_column VARCHAR(255) NOT NULL,
-status_col VARCHAR(255) NOT NULL,
-timestamp_col VARCHAR(255)
-);
-
-CREATE TABLE TX_ESB_MESSAGES
-(
-message_id VARCHAR(255) NOT NULL,
-data_column CLOB NOT NULL,
-status_col VARCHAR(255) NOT NULL,
-timestamp_col VARCHAR(255)
-);
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/create.sql (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/create.sql)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/create.sql (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/helloworld_tx_sql_action/src/h2/create.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,15 @@
+CREATE TABLE gateway_table
+(
+unique_id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
+data_column VARCHAR(255) NOT NULL,
+status_col VARCHAR(255) NOT NULL,
+timestamp_col VARCHAR(255)
+);
+
+CREATE TABLE TX_ESB_MESSAGES
+(
+message_id VARCHAR(255) NOT NULL,
+data_column CLOB NOT NULL,
+status_col VARCHAR(255) NOT NULL,
+timestamp_col VARCHAR(255)
+);
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/HttpRouter-localhost-https-9433.properties
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/HttpRouter-localhost-https-9433.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/HttpRouter-localhost-https-9433.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -9,7 +9,7 @@
protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory
#protocol-socket-factory=org.jboss.soa.esb.http.protocol.SelfSignedSSLProtocolSocketFactoryBuilder
#protocol-socket-factory=org.jboss.soa.esb.http.protocol.AuthSSLProtocolSocketFactoryBuilder
-keystore=file:/@keystore@
+keystore=@keystore@
keystore-passw=https_2way_ssl_pass
-truststore=file:/@keystore@
-truststore-passw=https_2way_ssl_pass
\ No newline at end of file
+truststore=@keystore@
+truststore-passw=https_2way_ssl_pass
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -11,12 +11,8 @@
<import file="../conf/base-build.xml"/>
<target name="quickstart-specific-assemblies">
- <pathconvert targetos="unix" property="keystoredir">
- <path><pathelement location="${org.jboss.esb.server.home}"/></path>
- </pathconvert>
+ <property name="keystore" location="${build.dir}/https_2way_ssl.keystore" />
- <property name="keystore" value="${keystoredir}/https_2way_ssl.keystore" />
-
<delete file="${keystore}" failonerror="false"/>
<genkey keystore="${keystore}" storepass="https_2way_ssl_pass" keypass="https_2way_ssl_pass" keyalg="DSA" alias="https_2way_ssl">
<dname>
@@ -26,15 +22,19 @@
<param name="C" value="IE"/>
</dname>
</genkey>
+
+ <pathconvert targetos="unix" property="keystoredir">
+ <path><pathelement location="${keystore}"/></path>
+ </pathconvert>
- <copy file="jboss-esb-template.xml" tofile="build/META-INF/jboss-esb.xml">
+ <copy file="jboss-esb-template.xml" tofile="${build.dir}/META-INF/jboss-esb.xml">
<filterset>
- <filter token="keystore" value="${keystore}" />
+ <filter token="keystore" value="${keystoredir}" />
</filterset>
</copy>
- <copy file="HttpRouter-localhost-https-9433.properties" todir="build/META-INF">
+ <copy file="HttpRouter-localhost-https-9433.properties" todir="${build.dir}/META-INF">
<filterset>
- <filter token="keystore" value="${keystore}" />
+ <filter token="keystore" value="${keystoredir}" />
</filterset>
</copy>
</target>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/deployment.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/deployment.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/deployment.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,4 +1,4 @@
<jbossesb-deployment>
- <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_https_2way_ssl_esb</depends>
+ <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_https_2way_ssl_esb_runtest_gw</depends>
<!-- depends>jboss.remoting:service=ServerSocketFactory,type=SSL</depends -->
</jbossesb-deployment>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/src/org/jboss/soa/esb/samples/https/server/HttpRequestPrinter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/src/org/jboss/soa/esb/samples/https/server/HttpRequestPrinter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/https_2way_ssl/src/org/jboss/soa/esb/samples/https/server/HttpRequestPrinter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,18 +1,22 @@
/*
- Milyn - Copyright (C) 2006
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License (version 2.1) as published by the Free Software
- Foundation.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- See the GNU Lesser General Public License for more details:
- http://www.gnu.org/licenses/lgpl.txt
-*/
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
package org.jboss.soa.esb.samples.https.server;
import org.jboss.soa.esb.actions.AbstractActionLifecycle;
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/jbossesb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/jbossesb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,45 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
-
- <providers>
- <fs-provider name="FSprovider1">
- <fs-bus busid="ediFileMessageBus">
- <fs-message-filter
- directory="build"
- input-suffix=".edi"
- work-suffix=".esbWorking"
- post-delete="false" post-directory="build" post-suffix=".sentToEsb"
- error-delete="false" error-directory="build" error-suffix=".IN_ERROR" />
- </fs-bus>
- </fs-provider>
- </providers>
-
- <services>
-
- <service category="HugeQS" name="SplitterService" description="Splits out the order items and routes them.">
- <listeners>
- <fs-listener name="FileGateway" busidref="ediFileMessageBus" is-gateway="true" poll-frequency-seconds="2">
- <property name="composer-class" value="org.jboss.soa.esb.smooks.splitting.FileStreamSplitter"/>
- <property name="splitterConfig" value="/smooks_configs/main.xml"/>
- <!-- property name="reportPath" value="/zap/report.html"/ -->
- </fs-listener>
- </listeners>
- <actions mep="OneWay">
- <action name="print" class="org.jboss.soa.esb.example.PrintMessage">
- <property name="delay" value="500" />
- </action>
- </actions>
- </service>
-
- <service category="HugeQS" name="04_Reptiles_notify_webservice_proxy" description="Routes the SOAP requests to the 'Reptiles Notification' Webservice">
- <actions mep="OneWay">
- <action name="httprouter" class="org.jboss.soa.esb.actions.routing.http.HttpRouter">
- <property name="endpointUrl" value="http://127.0.0.1:8080/Quickstart_Huge_Enrich_Split_Transform_Route/ReptilesNotifyWS" />
- <property name="method" value="POST" />
- <property name="responseType" value="STRING" />
- </action>
- </actions>
- </service>
-
- </services>
-</jbossesb>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/jbossesb.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/jbossesb.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/jbossesb.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,45 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <providers>
+ <fs-provider name="FSprovider1">
+ <fs-bus busid="ediFileMessageBus">
+ <fs-message-filter
+ directory="build"
+ input-suffix=".edi"
+ work-suffix=".esbWorking"
+ post-delete="false" post-directory="build" post-suffix=".sentToEsb"
+ error-delete="false" error-directory="build" error-suffix=".IN_ERROR" />
+ </fs-bus>
+ </fs-provider>
+ </providers>
+
+ <services>
+
+ <service category="HugeQS" name="SplitterService" description="Splits out the order items and routes them.">
+ <listeners>
+ <fs-listener name="FileGateway" busidref="ediFileMessageBus" is-gateway="true" poll-frequency-seconds="2">
+ <property name="composer-class" value="org.jboss.soa.esb.smooks.splitting.FileStreamSplitter"/>
+ <property name="splitterConfig" value="/smooks_configs/main.xml"/>
+ <!-- property name="reportPath" value="/zap/report.html"/ -->
+ </fs-listener>
+ </listeners>
+ <actions mep="OneWay">
+ <action name="print" class="org.jboss.soa.esb.example.PrintMessage">
+ <property name="delay" value="500" />
+ </action>
+ </actions>
+ </service>
+
+ <service category="HugeQS" name="04_Reptiles_notify_webservice_proxy" description="Routes the SOAP requests to the 'Reptiles Notification' Webservice">
+ <actions mep="OneWay">
+ <action name="httprouter" class="org.jboss.soa.esb.actions.routing.http.HttpRouter">
+ <property name="endpointUrl" value="http://127.0.0.1:8080/Quickstart_Huge_Enrich_Split_Transform_Route/ReptilesNotifyWS" />
+ <property name="method" value="POST" />
+ <property name="responseType" value="STRING" />
+ </action>
+ </actions>
+ </service>
+
+ </services>
+</jbossesb>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/log4j.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- ===================================================================== -->
-<!-- -->
-<!-- Log4j Configuration -->
-<!-- -->
-<!-- ===================================================================== -->
-
-<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
-
-<!--
- | For more configuration infromation and examples see the Jakarta Log4j
- | owebsite: http://jakarta.apache.org/log4j
- -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
- <!-- ============================== -->
- <!-- Append messages to the console -->
- <!-- ============================== -->
-
- <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="Target" value="System.out"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
- </layout>
- </appender>
-
-
- <!-- ================================= -->
- <!-- Preserve messages in a local file -->
- <!-- ================================= -->
-
- <!-- A size based file rolling appender -->
- <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="File" value="./listener.log"/>
- <param name="Append" value="false"/>
- <param name="MaxFileSize" value="500KB"/>
- <param name="MaxBackupIndex" value="1"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
- </layout>
- </appender>
-
- <!-- ================ -->
- <!-- Limit categories -->
- <!-- ================ -->
-
- <category name="smooks">
- <priority value="INFO"/>
- </category>
- <category name="org">
- <priority value="INFO"/>
- </category>
- <category name="org.jboss">
- <priority value="WARN"/>
- </category>
- <category name="org.jboss.soa.esb">
- <priority value="INFO"/>
- </category>
- <category name="org.jboss.internal.soa.esb">
- <priority value="ERROR"/>
- </category>
- <category name="org.apache">
- <priority value="ERROR"/>
- </category>
- <category name="httpclient.wire">
- <priority value="ERROR"/>
- </category>
- <category name="org.milyn">
- <priority value="ERROR"/>
- </category>
-
- <category name="org.milyn.javabean.expression.BeanMapExpressionEvaluator">
- <priority value="ERROR"/>
- </category>
-
- <category name="org.milyn.edisax.BufferedSegmentReader">
- <priority value="DEBUG"/>
- </category>
-
- <category name="quickstarts">
- <priority value="ERROR"/>
- </category>
-
- <!-- ======================= -->
- <!-- Setup the Root category -->
- <!-- ======================= -->
-
- <root>
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="FILE"/>
- </root>
-
-</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/log4j.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/log4j.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/log4j.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+ | For more configuration infromation and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Target" value="System.out"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <!-- A size based file rolling appender -->
+ <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="./listener.log"/>
+ <param name="Append" value="false"/>
+ <param name="MaxFileSize" value="500KB"/>
+ <param name="MaxBackupIndex" value="1"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <category name="smooks">
+ <priority value="INFO"/>
+ </category>
+ <category name="org">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.jboss.soa.esb">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss.internal.soa.esb">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.apache">
+ <priority value="ERROR"/>
+ </category>
+ <category name="httpclient.wire">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.milyn">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="org.milyn.javabean.expression.BeanMapExpressionEvaluator">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="org.milyn.edisax.BufferedSegmentReader">
+ <priority value="DEBUG"/>
+ </category>
+
+ <category name="quickstarts">
+ <priority value="ERROR"/>
+ </category>
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/bindings.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/bindings.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/bindings.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- Virtual Model Binding Configurations for the order message elements...
-
- Just capturing the order and order-item element details into 2
- Maps, overwriting each order-item as we iterate through the message i.e. not
- accumulating them in memory => low memory footprint because we only
- have details of the current order + current order-item in memory
- at any given time (i.e. we never have a full order in memory)...
- -->
-
- <!--
- Bind the main order details....
- -->
- <resource-config selector="order">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">orderDetail</param>
- <param name="beanClass">java.util.HashMap</param>
- <param name="bindings">
- <binding property="orderNum" selector="header/order-id" type="Long" />
- <binding property="uname" selector="customer-details/username" />
- <binding property="date" selector="header/date" type="OrderDateDecoder" /> <!-- Type defined below -->
- </param>
- </resource-config>
-
- <!--
- Bind each order-item. Not building a list of order items because we only want to have
- one order-item in memory at any one time. This way, we can handle a huge orders with many
- many order items..
- -->
- <resource-config selector="order-item">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">orderItem</param>
- <param name="beanClass">java.util.HashMap</param>
- <param name="bindings">
- <binding property="position" selector="order-item/position" type="Integer" />
- <binding property="quantity" selector="order-item/quantity" type="Integer" />
- <binding property="productId" selector="order-item/product-id" />
- </param>
- </resource-config>
-
- <resource-config selector="decoder:OrderDateDecoder">
- <resource>org.milyn.javabean.decoders.DateDecoder</resource>
- <param name="format">EEE MMM dd HH:mm:ss z yyyy</param>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/bindings.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/bindings.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/bindings.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/bindings.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ Virtual Model Binding Configurations for the order message elements...
+
+ Just capturing the order and order-item element details into 2
+ Maps, overwriting each order-item as we iterate through the message i.e. not
+ accumulating them in memory => low memory footprint because we only
+ have details of the current order + current order-item in memory
+ at any given time (i.e. we never have a full order in memory)...
+ -->
+
+ <!--
+ Bind the main order details....
+ -->
+ <resource-config selector="order">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">orderDetail</param>
+ <param name="beanClass">java.util.HashMap</param>
+ <param name="bindings">
+ <binding property="orderNum" selector="header/order-id" type="Long" />
+ <binding property="uname" selector="customer-details/username" />
+ <binding property="date" selector="header/date" type="OrderDateDecoder" /> <!-- Type defined below -->
+ </param>
+ </resource-config>
+
+ <!--
+ Bind each order-item. Not building a list of order items because we only want to have
+ one order-item in memory at any one time. This way, we can handle a huge orders with many
+ many order items..
+ -->
+ <resource-config selector="order-item">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">orderItem</param>
+ <param name="beanClass">java.util.HashMap</param>
+ <param name="bindings">
+ <binding property="position" selector="order-item/position" type="Integer" />
+ <binding property="quantity" selector="order-item/quantity" type="Integer" />
+ <binding property="productId" selector="order-item/product-id" />
+ </param>
+ </resource-config>
+
+ <resource-config selector="decoder:OrderDateDecoder">
+ <resource>org.milyn.javabean.decoders.DateDecoder</resource>
+ <param name="format">EEE MMM dd HH:mm:ss z yyyy</param>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/datasources.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/datasources.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/datasources.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <resource-config selector="$document">
- <resource>org.milyn.db.DirectDataSource</resource>
- <param name="datasource">OrderManagement</param>
- <param name="driver">org.hsqldb.jdbcDriver</param>
- <param name="url">jdbc:hsqldb:hsql://localhost:9002</param>
- <param name="username">sa</param>
- <param name="password"></param>
- <param name="autoCommit">false</param>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/datasources.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/datasources.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/datasources.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/datasources.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <resource-config selector="$document">
+ <resource>org.milyn.db.DirectDataSource</resource>
+ <param name="datasource">OrderManagement</param>
+ <param name="driver">org.hsqldb.jdbcDriver</param>
+ <param name="url">jdbc:hsqldb:hsql://localhost:9002</param>
+ <param name="username">sa</param>
+ <param name="password"></param>
+ <param name="autoCommit">false</param>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/ref-data.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/ref-data.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/ref-data.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,45 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- At the start of the message, select the list of products and bind it into the bean context
- under the beanId of "products". We only want to do this lookup once Smooks instance i.e. not for
- every message, otherwise we'd kill memory performance. To control this, we set the "resultSetScope"
- param to "APPLICATION". The actual order item product row will be selected from the resultset by
- the ResultsetRowSelector config (below)...
- -->
- <resource-config selector="$document">
- <resource>org.milyn.routing.db.SQLExecutor</resource>
- <param name="datasource">OrderManagement</param>
- <param name="executeBefore">true</param>
- <param name="statement">select productid, name, attr1, listprice, category from product p, item i where p.productid = i.productid</param>
- <param name="resultSetName">products</param>
- <param name="resultSetScope">APPLICATION</param>
- </resource-config>
-
- <!--
- For every order-item, select the appropriate product row from the in-mem "products" reference data
- resultset, using the ResultsetRowSelector. Bind the selected product row back into the
- bean context under a beanId of "product"...
- -->
- <resource-config selector="order-item/product-id">
- <resource>org.milyn.routing.db.ResultsetRowSelector</resource>
- <param name="executeBefore">false</param>
- <param name="resultSetName">products</param>
- <param name="beanId">product</param>
- <param name="where">row.PRODUCTID == orderItem.productId</param>
- <param name="failedSelectError">Unknown Order Item product ID '${orderItem.productId}' on order '${orderDetail.orderNum?c}'.</param>
- </resource-config>
-
- <!--
- At the end of the customer-details/username, select the user account and bind it into the bean context
- under the beanId of "accounts". The users account should be the only entry in this list....
- -->
- <resource-config selector="customer-details">
- <resource>org.milyn.routing.db.SQLExecutor</resource>
- <param name="datasource">OrderManagement</param>
- <param name="statement">select * from ACCOUNT where userid = ${orderDetail.uname}</param>
- <param name="resultSetName">accounts</param>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/ref-data.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/ref-data.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/ref-data.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/database/ref-data.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ At the start of the message, select the list of products and bind it into the bean context
+ under the beanId of "products". We only want to do this lookup once Smooks instance i.e. not for
+ every message, otherwise we'd kill memory performance. To control this, we set the "resultSetScope"
+ param to "APPLICATION". The actual order item product row will be selected from the resultset by
+ the ResultsetRowSelector config (below)...
+ -->
+ <resource-config selector="$document">
+ <resource>org.milyn.routing.db.SQLExecutor</resource>
+ <param name="datasource">OrderManagement</param>
+ <param name="executeBefore">true</param>
+ <param name="statement">select productid, name, attr1, listprice, category from product p, item i where p.productid = i.productid</param>
+ <param name="resultSetName">products</param>
+ <param name="resultSetScope">APPLICATION</param>
+ </resource-config>
+
+ <!--
+ For every order-item, select the appropriate product row from the in-mem "products" reference data
+ resultset, using the ResultsetRowSelector. Bind the selected product row back into the
+ bean context under a beanId of "product"...
+ -->
+ <resource-config selector="order-item/product-id">
+ <resource>org.milyn.routing.db.ResultsetRowSelector</resource>
+ <param name="executeBefore">false</param>
+ <param name="resultSetName">products</param>
+ <param name="beanId">product</param>
+ <param name="where">row.PRODUCTID == orderItem.productId</param>
+ <param name="failedSelectError">Unknown Order Item product ID '${orderItem.productId}' on order '${orderDetail.orderNum?c}'.</param>
+ </resource-config>
+
+ <!--
+ At the end of the customer-details/username, select the user account and bind it into the bean context
+ under the beanId of "accounts". The users account should be the only entry in this list....
+ -->
+ <resource-config selector="customer-details">
+ <resource>org.milyn.routing.db.SQLExecutor</resource>
+ <param name="datasource">OrderManagement</param>
+ <param name="statement">select * from ACCOUNT where userid = ${orderDetail.uname}</param>
+ <param name="resultSetName">accounts</param>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/main.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/main.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/main.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,36 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- Filter the message using the SAX Filter (i.e. not DOM, so no
- intermediate DOM, so we can process huge messages...
- -->
- <resource-config selector="global-parameters">
- <param name="stream.filter.type">SAX</param>
- </resource-config>
-
- <!-- Import config for parsing this EDI message... -->
- <import file="parse/edi-orders-parser.xml" />
-
- <!-- Import datasource configs... -->
- <import file="database/datasources.xml" />
-
- <!-- Import reference/enrichment data configs - products, accounts etc... -->
- <import file="database/ref-data.xml" />
-
- <!-- Import config for binding order and order-item data into memory... -->
- <import file="bindings.xml" />
-
- <!-- Import config for routing order item XML to the "02_Low_Price" Service... -->
- <import file="routing/route-to-02_Low_Price_Service.xml" />
-
- <!-- Import config for routing order item Java Objects to the "03_High_Price" Service... -->
- <import file="routing/route-to-03_High_Price_Service.xml" />
-
- <!-- Import config for routing order item Java Objects to the "04_Reptiles_notify_webservice_proxy" Service... -->
- <import file="routing/route-to-04_Reptiles_notify_webservice_proxy.xml" />
-
- <!-- Import config for routing order items to the database... -->
- <import file="routing/route-to-05_Database.xml" />
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/main.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/main.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/main.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/main.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ Filter the message using the SAX Filter (i.e. not DOM, so no
+ intermediate DOM, so we can process huge messages...
+ -->
+ <resource-config selector="global-parameters">
+ <param name="stream.filter.type">SAX</param>
+ </resource-config>
+
+ <!-- Import config for parsing this EDI message... -->
+ <import file="parse/edi-orders-parser.xml" />
+
+ <!-- Import datasource configs... -->
+ <import file="database/datasources.xml" />
+
+ <!-- Import reference/enrichment data configs - products, accounts etc... -->
+ <import file="database/ref-data.xml" />
+
+ <!-- Import config for binding order and order-item data into memory... -->
+ <import file="bindings.xml" />
+
+ <!-- Import config for routing order item XML to the "02_Low_Price" Service... -->
+ <import file="routing/route-to-02_Low_Price_Service.xml" />
+
+ <!-- Import config for routing order item Java Objects to the "03_High_Price" Service... -->
+ <import file="routing/route-to-03_High_Price_Service.xml" />
+
+ <!-- Import config for routing order item Java Objects to the "04_Reptiles_notify_webservice_proxy" Service... -->
+ <import file="routing/route-to-04_Reptiles_notify_webservice_proxy.xml" />
+
+ <!-- Import config for routing order items to the database... -->
+ <import file="routing/route-to-05_Database.xml" />
+
+</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-orders-parser.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-orders-parser.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-orders-parser.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- Configure the EDI Parser to parse the message stream into a stream of SAX events.
- -->
- <resource-config selector="org.xml.sax.driver">
- <resource>org.milyn.smooks.edi.SmooksEDIParser</resource>
- <param name="mapping-model">/smooks_configs/parse/edi-to-xml-order-mapping.xml</param>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-orders-parser.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-orders-parser.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-orders-parser.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-orders-parser.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ Configure the EDI Parser to parse the message stream into a stream of SAX events.
+ -->
+ <resource-config selector="org.xml.sax.driver">
+ <resource>org.milyn.smooks.edi.SmooksEDIParser</resource>
+ <param name="mapping-model">/smooks_configs/parse/edi-to-xml-order-mapping.xml</param>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<medi:edimap xmlns:medi="http://www.milyn.org/schema/edi-message-mapping-1.0.xsd">
-
- <medi:description name="DVD Order" version="1.0" />
-
- <medi:delimiters segment=" " field="*" component="^" sub-component="~" />
-
- <medi:segments xmltag="Order">
-
- <medi:segment segcode="HDR" xmltag="header">
- <medi:field xmltag="order-id" />
- <medi:field xmltag="status-code" />
- <medi:field xmltag="date" />
- </medi:segment>
-
- <medi:segment segcode="CUS" xmltag="customer-details">
- <medi:field xmltag="username" />
- </medi:segment>
-
- <medi:segment segcode="ORD" xmltag="order-item" maxOccurs="-1">
- <medi:field xmltag="position" />
- <medi:field xmltag="quantity" />
- <medi:field xmltag="product-id" />
- </medi:segment>
-
- </medi:segments>
-
-</medi:edimap>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<medi:edimap xmlns:medi="http://www.milyn.org/schema/edi-message-mapping-1.0.xsd">
+
+ <medi:description name="DVD Order" version="1.0" />
+
+ <medi:delimiters segment=" " field="*" component="^" sub-component="~" />
+
+ <medi:segments xmltag="Order">
+
+ <medi:segment segcode="HDR" xmltag="header">
+ <medi:field xmltag="order-id" />
+ <medi:field xmltag="status-code" />
+ <medi:field xmltag="date" />
+ </medi:segment>
+
+ <medi:segment segcode="CUS" xmltag="customer-details">
+ <medi:field xmltag="username" />
+ </medi:segment>
+
+ <medi:segment segcode="ORD" xmltag="order-item" maxOccurs="-1">
+ <medi:field xmltag="position" />
+ <medi:field xmltag="quantity" />
+ <medi:field xmltag="product-id" />
+ </medi:segment>
+
+ </medi:segments>
+
+</medi:edimap>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-02_Low_Price_Service.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-02_Low_Price_Service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-02_Low_Price_Service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,43 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- At the end of every order-item, route the order item XML ("02_XML_OrderItem") to the
- "02_Low_Price" Service, if the total is 20 or less...
- -->
- <resource-config selector="order-item">
- <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
- <condition>
- <!--
- product.LISTPRICE * orderItem.quantity <= 17.00
- -->
- </condition>
- <param name="beanId">02_XML_OrderItem</param> <!-- Populated and bound below... -->
- <param name="serviceCategory">HugeQS</param>
- <param name="serviceName">02_Low_Price</param>
- </resource-config>
-
- <!--
- At the end of every order-item, generate an <ord> split message for the "02_XML" Service
- and bind it back into the bean context under a bean ID of "02_XML_OrderItem"...
- -->
- <resource-config selector="order-item">
- <resource type="ftl"><!--<ord id="${orderDetail.orderNum?c}" date="${orderDetail.date?string("yyyy-MM-dd")}">
- <customer>
- <name>${accounts[0].LASTNAME}, ${accounts[0].FIRSTNAME}</name>
- <addr1>${accounts[0].ADDR1}</addr1>
- <addr2>${accounts[0].ADDR2}</addr2>
- <city>${accounts[0].CITY}</city>
- <state>${accounts[0].STATE}</state>
- <zip>${accounts[0].ZIP}</zip>
- </customer>
- <productid>${orderItem.productId}</productid>
- <quantity>${orderItem.quantity?c}</quantity>
- <price>${product.LISTPRICE?c}</price>
- <title>${product.NAME} (${product.ATTR1})</title>
-</ord>--></resource>
- <param name="action">bindto</param>
- <param name="bindId">02_XML_OrderItem</param>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-02_Low_Price_Service.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-02_Low_Price_Service.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-02_Low_Price_Service.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-02_Low_Price_Service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ At the end of every order-item, route the order item XML ("02_XML_OrderItem") to the
+ "02_Low_Price" Service, if the total is 20 or less...
+ -->
+ <resource-config selector="order-item">
+ <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
+ <condition>
+ <!--
+ product.LISTPRICE * orderItem.quantity <= 17.00
+ -->
+ </condition>
+ <param name="beanId">02_XML_OrderItem</param> <!-- Populated and bound below... -->
+ <param name="serviceCategory">HugeQS</param>
+ <param name="serviceName">02_Low_Price</param>
+ </resource-config>
+
+ <!--
+ At the end of every order-item, generate an <ord> split message for the "02_XML" Service
+ and bind it back into the bean context under a bean ID of "02_XML_OrderItem"...
+ -->
+ <resource-config selector="order-item">
+ <resource type="ftl"><!--<ord id="${orderDetail.orderNum?c}" date="${orderDetail.date?string("yyyy-MM-dd")}">
+ <customer>
+ <name>${accounts[0].LASTNAME}, ${accounts[0].FIRSTNAME}</name>
+ <addr1>${accounts[0].ADDR1}</addr1>
+ <addr2>${accounts[0].ADDR2}</addr2>
+ <city>${accounts[0].CITY}</city>
+ <state>${accounts[0].STATE}</state>
+ <zip>${accounts[0].ZIP}</zip>
+ </customer>
+ <productid>${orderItem.productId}</productid>
+ <quantity>${orderItem.quantity?c}</quantity>
+ <price>${product.LISTPRICE?c}</price>
+ <title>${product.NAME} (${product.ATTR1})</title>
+</ord>--></resource>
+ <param name="action">bindto</param>
+ <param name="bindId">02_XML_OrderItem</param>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-03_High_Price_Service.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-03_High_Price_Service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-03_High_Price_Service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,64 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- At the end of every order-item, route the order item Java Objects ("03_order") to the
- "03_High_Price" Service, if the price per item is 190 or more...
- -->
- <resource-config selector="order-item">
- <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
- <condition>
- <!--
- product.LISTPRICE > 190.00
- -->
- </condition>
- <param name="beanId">03_order</param>
- <param name="serviceCategory">HugeQS</param>
- <param name="serviceName">03_High_Price</param>
- </resource-config>
-
- <!--
- At the end of every order-item, bind together the orderDetail with the current
- order item in a new HashMap and asign it under the beanId "03_order" in the bean
- context. 03_order gets routed by the above config..
- -->
- <resource-config selector="order-item">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">03_order</param>
- <param name="beanClass">org.jboss.soa.esb.example.highprice.Order</param>
- <param name="bindings">
- <binding property="firstName">accounts[0].FIRSTNAME</binding>
- <binding property="lastName">accounts[0].LASTNAME</binding>
- <binding property="address" selector="${03_address}" />
- <binding property="date">orderDetail.date</binding>
- <binding property="product" selector="${03_product}" />
- <binding property="quantity">orderItem.quantity</binding>
- </param>
- </resource-config>
-
- <resource-config selector="order-item">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">03_address</param>
- <param name="beanClass">org.jboss.soa.esb.example.highprice.Address</param>
- <param name="bindings">
- <binding property="email">accounts[0].EMAIL</binding>
- <binding property="address1">accounts[0].ADDR1</binding>
- <binding property="address2">accounts[0].ADDR2</binding>
- <binding property="city">accounts[0].CITY</binding>
- <binding property="state">accounts[0].STATE</binding>
- </param>
- </resource-config>
-
- <resource-config selector="order-item">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">03_product</param>
- <param name="beanClass">org.jboss.soa.esb.example.highprice.Product</param>
- <param name="bindings">
- <binding property="id">product.PRODUCTID</binding>
- <binding property="title">product.NAME</binding>
- <binding property="category">product.CATEGORY</binding>
- <binding property="price">product.LISTPRICE</binding>
- </param>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-03_High_Price_Service.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-03_High_Price_Service.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-03_High_Price_Service.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-03_High_Price_Service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ At the end of every order-item, route the order item Java Objects ("03_order") to the
+ "03_High_Price" Service, if the price per item is 190 or more...
+ -->
+ <resource-config selector="order-item">
+ <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
+ <condition>
+ <!--
+ product.LISTPRICE > 190.00
+ -->
+ </condition>
+ <param name="beanId">03_order</param>
+ <param name="serviceCategory">HugeQS</param>
+ <param name="serviceName">03_High_Price</param>
+ </resource-config>
+
+ <!--
+ At the end of every order-item, bind together the orderDetail with the current
+ order item in a new HashMap and asign it under the beanId "03_order" in the bean
+ context. 03_order gets routed by the above config..
+ -->
+ <resource-config selector="order-item">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">03_order</param>
+ <param name="beanClass">org.jboss.soa.esb.example.highprice.Order</param>
+ <param name="bindings">
+ <binding property="firstName">accounts[0].FIRSTNAME</binding>
+ <binding property="lastName">accounts[0].LASTNAME</binding>
+ <binding property="address" selector="${03_address}" />
+ <binding property="date">orderDetail.date</binding>
+ <binding property="product" selector="${03_product}" />
+ <binding property="quantity">orderItem.quantity</binding>
+ </param>
+ </resource-config>
+
+ <resource-config selector="order-item">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">03_address</param>
+ <param name="beanClass">org.jboss.soa.esb.example.highprice.Address</param>
+ <param name="bindings">
+ <binding property="email">accounts[0].EMAIL</binding>
+ <binding property="address1">accounts[0].ADDR1</binding>
+ <binding property="address2">accounts[0].ADDR2</binding>
+ <binding property="city">accounts[0].CITY</binding>
+ <binding property="state">accounts[0].STATE</binding>
+ </param>
+ </resource-config>
+
+ <resource-config selector="order-item">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">03_product</param>
+ <param name="beanClass">org.jboss.soa.esb.example.highprice.Product</param>
+ <param name="bindings">
+ <binding property="id">product.PRODUCTID</binding>
+ <binding property="title">product.NAME</binding>
+ <binding property="category">product.CATEGORY</binding>
+ <binding property="price">product.LISTPRICE</binding>
+ </param>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-04_Reptiles_notify_webservice_proxy.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-04_Reptiles_notify_webservice_proxy.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-04_Reptiles_notify_webservice_proxy.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,45 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- At the end of every order-item, route the "Reptiles Notification" SOAP message ("04_SOAP_OrderItem") to the
- "04_Reptiles_notify_webservice_proxy" Service, if the order item product.CATEGORY is "REPTILES"...
- -->
- <resource-config selector="order-item">
- <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
- <condition>
- <!--
- product.CATEGORY == "REPTILES"
- -->
- </condition>
- <param name="beanId">04_SOAP_OrderItem</param>
- <param name="serviceCategory">HugeQS</param>
- <param name="serviceName">04_Reptiles_notify_webservice_proxy</param>
- </resource-config>
-
- <!--
- At the end of every order-item, generate an <ord> split message for the "02_XML" Service
- and bind it back into the bean context under a bean ID of "02_XML_OrderItem"...
- -->
- <resource-config selector="order-item">
- <resource type="ftl"><!--<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://ordermanagement/ReptilesNotifyWS">
- <soapenv:Header/>
- <soapenv:Body>
- <ord:notify>
- <notification>
- <date>${orderDetail.date?string("yyyy-MM-dd'T'HH:mm:ss")}</date>
- <email>${accounts[0].EMAIL}</email>
- <firstName>${accounts[0].FIRSTNAME}</firstName>
- <lastName>${accounts[0].LASTNAME}</lastName>
- <product>${product.NAME} (${product.ATTR1})</product>
- <quantity>${orderItem.quantity}</quantity>
- <totalPrice>${product.LISTPRICE?c}</totalPrice>
- </notification>
- </ord:notify>
- </soapenv:Body>
-</soapenv:Envelope>--></resource>
- <param name="action">bindto</param>
- <param name="bindId">04_SOAP_OrderItem</param>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-04_Reptiles_notify_webservice_proxy.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-04_Reptiles_notify_webservice_proxy.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-04_Reptiles_notify_webservice_proxy.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-04_Reptiles_notify_webservice_proxy.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ At the end of every order-item, route the "Reptiles Notification" SOAP message ("04_SOAP_OrderItem") to the
+ "04_Reptiles_notify_webservice_proxy" Service, if the order item product.CATEGORY is "REPTILES"...
+ -->
+ <resource-config selector="order-item">
+ <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
+ <condition>
+ <!--
+ product.CATEGORY == "REPTILES"
+ -->
+ </condition>
+ <param name="beanId">04_SOAP_OrderItem</param>
+ <param name="serviceCategory">HugeQS</param>
+ <param name="serviceName">04_Reptiles_notify_webservice_proxy</param>
+ </resource-config>
+
+ <!--
+ At the end of every order-item, generate an <ord> split message for the "02_XML" Service
+ and bind it back into the bean context under a bean ID of "02_XML_OrderItem"...
+ -->
+ <resource-config selector="order-item">
+ <resource type="ftl"><!--<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://ordermanagement/ReptilesNotifyWS">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <ord:notify>
+ <notification>
+ <date>${orderDetail.date?string("yyyy-MM-dd'T'HH:mm:ss")}</date>
+ <email>${accounts[0].EMAIL}</email>
+ <firstName>${accounts[0].FIRSTNAME}</firstName>
+ <lastName>${accounts[0].LASTNAME}</lastName>
+ <product>${product.NAME} (${product.ATTR1})</product>
+ <quantity>${orderItem.quantity}</quantity>
+ <totalPrice>${product.LISTPRICE?c}</totalPrice>
+ </notification>
+ </ord:notify>
+ </soapenv:Body>
+</soapenv:Envelope>--></resource>
+ <param name="action">bindto</param>
+ <param name="bindId">04_SOAP_OrderItem</param>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-05_Database.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-05_Database.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-05_Database.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- This resource is needed because we only want to limit the number or orders inserted into the database,
- so we need to count them...
- -->
- <resource-config selector="order-item">
- <resource>org.milyn.routing.db.SQLExecutor</resource>
- <param name="executeBefore">true</param>
- <param name="datasource">OrderManagement</param>
- <param name="statement">select count(*) as "numOrders" from orders</param>
- <param name="resultSetName">orderCountRS</param>
- </resource-config>
-
- <!--
- At the end of every order-item, insert the order details for that order item...
- -->
- <resource-config selector="order-item">
- <resource>org.milyn.routing.db.SQLExecutor</resource>
- <condition>
- <!--
- orderCountRS[0].numOrders < 10
- -->
- </condition>
- <param name="executeBefore">false</param>
- <param name="datasource">OrderManagement</param>
- <param name="statement">INSERT INTO ORDERS VALUES(${orderDetail.orderNum + "-" + product.PRODUCTID}, ${accounts[0].USERID}, ${orderDetail.date}, ${accounts[0].ADDR1}, ${accounts[0].ADDR2}, ${accounts[0].CITY}, ${accounts[0].STATE},'30253','USA', ${accounts[0].ADDR1}, ${accounts[0].ADDR2}, ${accounts[0].CITY}, ${accounts[0].STATE},'30253','USA','UPS',22.23, ${accounts[0].FIRSTNAME}, ${accounts[0].LASTNAME}, ${accounts[0].FIRSTNAME}, ${accounts[0].LASTNAME},'999 9999 9999 9999','12/03','Visa','CA')</param>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-05_Database.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-05_Database.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-05_Database.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/01_split_enrich_transform_route/smooks_configs/routing/route-to-05_Database.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ This resource is needed because we only want to limit the number or orders inserted into the database,
+ so we need to count them...
+ -->
+ <resource-config selector="order-item">
+ <resource>org.milyn.routing.db.SQLExecutor</resource>
+ <param name="executeBefore">true</param>
+ <param name="datasource">OrderManagement</param>
+ <param name="statement">select count(*) as "numOrders" from orders</param>
+ <param name="resultSetName">orderCountRS</param>
+ </resource-config>
+
+ <!--
+ At the end of every order-item, insert the order details for that order item...
+ -->
+ <resource-config selector="order-item">
+ <resource>org.milyn.routing.db.SQLExecutor</resource>
+ <condition>
+ <!--
+ orderCountRS[0].numOrders < 10
+ -->
+ </condition>
+ <param name="executeBefore">false</param>
+ <param name="datasource">OrderManagement</param>
+ <param name="statement">INSERT INTO ORDERS VALUES(${orderDetail.orderNum + "-" + product.PRODUCTID}, ${accounts[0].USERID}, ${orderDetail.date}, ${accounts[0].ADDR1}, ${accounts[0].ADDR2}, ${accounts[0].CITY}, ${accounts[0].STATE},'30253','USA', ${accounts[0].ADDR1}, ${accounts[0].ADDR2}, ${accounts[0].CITY}, ${accounts[0].STATE},'30253','USA','UPS',22.23, ${accounts[0].FIRSTNAME}, ${accounts[0].LASTNAME}, ${accounts[0].FIRSTNAME}, ${accounts[0].LASTNAME},'999 9999 9999 9999','12/03','Visa','CA')</param>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/jbossesb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/jbossesb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,23 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
-
- <providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
- <jms-bus busid="02XMLBus">
- <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_HugeSplitTransRoute_02_XML"/>
- </jms-bus>
- </jms-provider>
- </providers>
- <services>
- <service category="HugeQS" name="02_Low_Price" description="02_Low_Price Service">
- <listeners>
- <jms-listener name="XMLjms" busidref="02XMLBus" />
- </listeners>
- <actions mep="OneWay">
- <action name="print" class="org.jboss.soa.esb.example.PrintMessage" />
- </actions>
- </service>
- </services>
-</jbossesb>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/jbossesb.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/jbossesb.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/jbossesb.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,23 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <providers>
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+ jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+ jndi-URL="localhost">
+ <jms-bus busid="02XMLBus">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_HugeSplitTransRoute_02_XML"/>
+ </jms-bus>
+ </jms-provider>
+ </providers>
+ <services>
+ <service category="HugeQS" name="02_Low_Price" description="02_Low_Price Service">
+ <listeners>
+ <jms-listener name="XMLjms" busidref="02XMLBus" />
+ </listeners>
+ <actions mep="OneWay">
+ <action name="print" class="org.jboss.soa.esb.example.PrintMessage" />
+ </actions>
+ </service>
+ </services>
+</jbossesb>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/log4j.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- ===================================================================== -->
-<!-- -->
-<!-- Log4j Configuration -->
-<!-- -->
-<!-- ===================================================================== -->
-
-<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
-
-<!--
- | For more configuration infromation and examples see the Jakarta Log4j
- | owebsite: http://jakarta.apache.org/log4j
- -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
- <!-- ============================== -->
- <!-- Append messages to the console -->
- <!-- ============================== -->
-
- <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="Target" value="System.out"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
- </layout>
- </appender>
-
-
- <!-- ================================= -->
- <!-- Preserve messages in a local file -->
- <!-- ================================= -->
-
- <!-- A size based file rolling appender -->
- <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="File" value="./listener.log"/>
- <param name="Append" value="false"/>
- <param name="MaxFileSize" value="500KB"/>
- <param name="MaxBackupIndex" value="1"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
- </layout>
- </appender>
-
- <!-- ================ -->
- <!-- Limit categories -->
- <!-- ================ -->
-
- <category name="org.jboss">
- <priority value="WARN"/>
- </category>
- <category name="org.jboss.soa.esb">
- <priority value="ERROR"/>
- </category>
- <category name="org.jboss.internal.soa.esb">
- <priority value="ERROR"/>
- </category>
- <category name="org.apache">
- <priority value="ERROR"/>
- </category>
- <category name="org.milyn">
- <priority value="ERROR"/>
- </category>
-
- <category name="quickstarts">
- <priority value="ERROR"/>
- </category>
-
- <!-- ======================= -->
- <!-- Setup the Root category -->
- <!-- ======================= -->
-
- <root>
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="FILE"/>
- </root>
-
-</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/log4j.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/log4j.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/log4j.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/02_Low_Price/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+ | For more configuration infromation and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Target" value="System.out"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <!-- A size based file rolling appender -->
+ <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="./listener.log"/>
+ <param name="Append" value="false"/>
+ <param name="MaxFileSize" value="500KB"/>
+ <param name="MaxBackupIndex" value="1"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <category name="org.jboss">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.jboss.soa.esb">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.jboss.internal.soa.esb">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.apache">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.milyn">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="quickstarts">
+ <priority value="ERROR"/>
+ </category>
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/jbossesb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/jbossesb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,23 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
-
- <providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
- <jms-bus busid="03JavaObjectsBus">
- <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_HugeSplitTransRoute_JavaObjects"/>
- </jms-bus>
- </jms-provider>
- </providers>
- <services>
- <service category="HugeQS" name="03_High_Price" description="03_High_Price Service">
- <listeners>
- <jms-listener name="JavaObjectsJms" busidref="03JavaObjectsBus" />
- </listeners>
- <actions mep="OneWay">
- <action name="print" class="org.jboss.soa.esb.example.PrintMessage" />
- </actions>
- </service>
- </services>
-</jbossesb>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/jbossesb.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/jbossesb.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/jbossesb.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/jbossesb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,23 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <providers>
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+ jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+ jndi-URL="localhost">
+ <jms-bus busid="03JavaObjectsBus">
+ <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_HugeSplitTransRoute_JavaObjects"/>
+ </jms-bus>
+ </jms-provider>
+ </providers>
+ <services>
+ <service category="HugeQS" name="03_High_Price" description="03_High_Price Service">
+ <listeners>
+ <jms-listener name="JavaObjectsJms" busidref="03JavaObjectsBus" />
+ </listeners>
+ <actions mep="OneWay">
+ <action name="print" class="org.jboss.soa.esb.example.PrintMessage" />
+ </actions>
+ </service>
+ </services>
+</jbossesb>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/log4j.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- ===================================================================== -->
-<!-- -->
-<!-- Log4j Configuration -->
-<!-- -->
-<!-- ===================================================================== -->
-
-<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
-
-<!--
- | For more configuration infromation and examples see the Jakarta Log4j
- | owebsite: http://jakarta.apache.org/log4j
- -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
- <!-- ============================== -->
- <!-- Append messages to the console -->
- <!-- ============================== -->
-
- <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="Target" value="System.out"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
- </layout>
- </appender>
-
-
- <!-- ================================= -->
- <!-- Preserve messages in a local file -->
- <!-- ================================= -->
-
- <!-- A size based file rolling appender -->
- <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="File" value="./listener.log"/>
- <param name="Append" value="false"/>
- <param name="MaxFileSize" value="500KB"/>
- <param name="MaxBackupIndex" value="1"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
- </layout>
- </appender>
-
- <!-- ================ -->
- <!-- Limit categories -->
- <!-- ================ -->
-
- <category name="org.jboss">
- <priority value="WARN"/>
- </category>
- <category name="org.jboss.soa.esb">
- <priority value="ERROR"/>
- </category>
- <category name="org.jboss.internal.soa.esb">
- <priority value="ERROR"/>
- </category>
- <category name="org.apache">
- <priority value="ERROR"/>
- </category>
- <category name="org.milyn">
- <priority value="ERROR"/>
- </category>
-
- <category name="quickstarts">
- <priority value="ERROR"/>
- </category>
-
- <!-- ======================= -->
- <!-- Setup the Root category -->
- <!-- ======================= -->
-
- <root>
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="FILE"/>
- </root>
-
-</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/log4j.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/log4j.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/log4j.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+ | For more configuration infromation and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Target" value="System.out"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <!-- A size based file rolling appender -->
+ <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="./listener.log"/>
+ <param name="Append" value="false"/>
+ <param name="MaxFileSize" value="500KB"/>
+ <param name="MaxBackupIndex" value="1"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <category name="org.jboss">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.jboss.soa.esb">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.jboss.internal.soa.esb">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.apache">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.milyn">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="quickstarts">
+ <priority value="ERROR"/>
+ </category>
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Address.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Address.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Address.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.example.highprice;
-
-import java.io.Serializable;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Address implements Serializable {
- private String email;
- private String address1;
- private String address2;
- private String address3;
- private String city;
- private String state;
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public String getAddress1() {
- return address1;
- }
-
- public void setAddress1(String address1) {
- this.address1 = address1;
- }
-
- public String getAddress2() {
- return address2;
- }
-
- public void setAddress2(String address2) {
- this.address2 = address2;
- }
-
- public String getAddress3() {
- return address3;
- }
-
- public void setAddress3(String address3) {
- this.address3 = address3;
- }
-
- public String getCity() {
- return city;
- }
-
- public void setCity(String city) {
- this.city = city;
- }
-
- public String getState() {
- return state;
- }
-
- public void setState(String state) {
- this.state = state;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Address.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Address.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Address.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Address.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.example.highprice;
+
+import java.io.Serializable;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Address implements Serializable {
+ private String email;
+ private String address1;
+ private String address2;
+ private String address3;
+ private String city;
+ private String state;
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getAddress1() {
+ return address1;
+ }
+
+ public void setAddress1(String address1) {
+ this.address1 = address1;
+ }
+
+ public String getAddress2() {
+ return address2;
+ }
+
+ public void setAddress2(String address2) {
+ this.address2 = address2;
+ }
+
+ public String getAddress3() {
+ return address3;
+ }
+
+ public void setAddress3(String address3) {
+ this.address3 = address3;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,96 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.example.highprice;
-
-import java.beans.XMLEncoder;
-import java.io.Serializable;
-import java.io.ByteArrayOutputStream;
-import java.util.Date;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Order implements Serializable {
-
- private String firstName;
- private String lastName;
- private Address address;
- private Date date;
- private Product product;
- private int quantity;
-
- public String getFirstName() {
- return firstName;
- }
-
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
-
- public String getLastName() {
- return lastName;
- }
-
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
-
- public Address getAddress() {
- return address;
- }
-
- public void setAddress(Address address) {
- this.address = address;
- }
-
- public Date getDate() {
- return date;
- }
-
- public void setDate(Date date) {
- this.date = date;
- }
-
- public Product getProduct() {
- return product;
- }
-
- public void setProduct(Product product) {
- this.product = product;
- }
-
- public int getQuantity() {
- return quantity;
- }
-
- public void setQuantity(int quantity) {
- this.quantity = quantity;
- }
-
- public String toString() {
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- XMLEncoder encoder = new XMLEncoder(stream);
-
- encoder.writeObject(this);
- encoder.close();
-
- return stream.toString();
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,96 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.example.highprice;
+
+import java.beans.XMLEncoder;
+import java.io.Serializable;
+import java.io.ByteArrayOutputStream;
+import java.util.Date;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Order implements Serializable {
+
+ private String firstName;
+ private String lastName;
+ private Address address;
+ private Date date;
+ private Product product;
+ private int quantity;
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public Address getAddress() {
+ return address;
+ }
+
+ public void setAddress(Address address) {
+ this.address = address;
+ }
+
+ public Date getDate() {
+ return date;
+ }
+
+ public void setDate(Date date) {
+ this.date = date;
+ }
+
+ public Product getProduct() {
+ return product;
+ }
+
+ public void setProduct(Product product) {
+ this.product = product;
+ }
+
+ public int getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(int quantity) {
+ this.quantity = quantity;
+ }
+
+ public String toString() {
+ ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ XMLEncoder encoder = new XMLEncoder(stream);
+
+ encoder.writeObject(this);
+ encoder.close();
+
+ return stream.toString();
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Product.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Product.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Product.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,65 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.example.highprice;
-
-import java.io.Serializable;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Product implements Serializable {
-
- private String id;
- private String title;
- private String category;
- private float price;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public String getCategory() {
- return category;
- }
-
- public void setCategory(String category) {
- this.category = category;
- }
-
- public float getPrice() {
- return price;
- }
-
- public void setPrice(float price) {
- this.price = price;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Product.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Product.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Product.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/03_High_Price/src/org/jboss/soa/esb/example/highprice/Product.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.example.highprice;
+
+import java.io.Serializable;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Product implements Serializable {
+
+ private String id;
+ private String title;
+ private String category;
+ private float price;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public float getPrice() {
+ return price;
+ }
+
+ public void setPrice(float price) {
+ this.price = price;
+ }
+}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/Notification.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/Notification.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/Notification.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,108 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.esb.ordwebservice;
-
-import java.util.Date;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Notification {
-
- private String firstName;
- private String lastName;
- private String email;
- private Date date;
- private String product;
- private int quantity;
- private double totalPrice;
-
- public String toString() {
- StringBuilder sb = new StringBuilder();
-
- sb.append("public class Notification {\n");
- sb.append("\tjava.lang.String firstName = " + firstName + "\n");
- sb.append("\tjava.lang.String lastName = " + lastName + "\n");
- sb.append("\tjava.lang.String email = " + email + "\n");
- sb.append("\tjava.util.Date date = " + date + "\n");
- sb.append("\tjava.lang.String product = " + product + "\n");
- sb.append("\tint quantity = " + quantity + "\n");
- sb.append("\tdouble totalPrice = " + totalPrice + "\n");
- sb.append("}");
-
- return sb.toString();
- }
-
- public String getFirstName() {
- return firstName;
- }
-
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
-
- public String getLastName() {
- return lastName;
- }
-
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public Date getDate() {
- return date;
- }
-
- public void setDate(Date date) {
- this.date = date;
- }
-
- public String getProduct() {
- return product;
- }
-
- public void setProduct(String product) {
- this.product = product;
- }
-
- public int getQuantity() {
- return quantity;
- }
-
- public void setQuantity(int quantity) {
- this.quantity = quantity;
- }
-
- public double getTotalPrice() {
- return totalPrice;
- }
-
- public void setTotalPrice(double totalPrice) {
- this.totalPrice = totalPrice;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/Notification.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/Notification.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/Notification.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/Notification.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,108 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.esb.ordwebservice;
+
+import java.util.Date;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Notification {
+
+ private String firstName;
+ private String lastName;
+ private String email;
+ private Date date;
+ private String product;
+ private int quantity;
+ private double totalPrice;
+
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+
+ sb.append("public class Notification {\n");
+ sb.append("\tjava.lang.String firstName = " + firstName + "\n");
+ sb.append("\tjava.lang.String lastName = " + lastName + "\n");
+ sb.append("\tjava.lang.String email = " + email + "\n");
+ sb.append("\tjava.util.Date date = " + date + "\n");
+ sb.append("\tjava.lang.String product = " + product + "\n");
+ sb.append("\tint quantity = " + quantity + "\n");
+ sb.append("\tdouble totalPrice = " + totalPrice + "\n");
+ sb.append("}");
+
+ return sb.toString();
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public Date getDate() {
+ return date;
+ }
+
+ public void setDate(Date date) {
+ this.date = date;
+ }
+
+ public String getProduct() {
+ return product;
+ }
+
+ public void setProduct(String product) {
+ this.product = product;
+ }
+
+ public int getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(int quantity) {
+ this.quantity = quantity;
+ }
+
+ public double getTotalPrice() {
+ return totalPrice;
+ }
+
+ public void setTotalPrice(double totalPrice) {
+ this.totalPrice = totalPrice;
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/ReptilesNotifyWS.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/ReptilesNotifyWS.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/ReptilesNotifyWS.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,36 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.esb.ordwebservice;
-
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
- at WebService(name = "ReptilesNotifyWS", targetNamespace="http://ordermanagement/ReptilesNotifyWS")
-public class ReptilesNotifyWS {
-
- @WebMethod
- public void notify(@WebParam(name="notification") Notification notification) {
- System.out.println("Reptile SOAP Notification Received. Unmarshaled SOAP Notification object:\n" + notification);
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/ReptilesNotifyWS.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/ReptilesNotifyWS.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/ReptilesNotifyWS.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/src/org/jboss/esb/ordwebservice/ReptilesNotifyWS.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.esb.ordwebservice;
+
+import javax.jws.WebService;
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at WebService(name = "ReptilesNotifyWS", targetNamespace="http://ordermanagement/ReptilesNotifyWS")
+public class ReptilesNotifyWS {
+
+ @WebMethod
+ public void notify(@WebParam(name="notification") Notification notification) {
+ System.out.println("Reptile SOAP Notification Received. Unmarshaled SOAP Notification object:\n" + notification);
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/web.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/web.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/web.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-
-<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
- version="2.4">
-
- <servlet>
- <servlet-name>ReptilesNotifyWS</servlet-name>
- <servlet-class>org.jboss.esb.ordwebservice.ReptilesNotifyWS</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>ReptilesNotifyWS</servlet-name>
- <url-pattern>/ReptilesNotifyWS</url-pattern>
- </servlet-mapping>
-
-</web-app>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/web.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/web.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/web.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/WEB-INF/web.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+ version="2.4">
+
+ <servlet>
+ <servlet-name>ReptilesNotifyWS</servlet-name>
+ <servlet-class>org.jboss.esb.ordwebservice.ReptilesNotifyWS</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>ReptilesNotifyWS</servlet-name>
+ <url-pattern>/ReptilesNotifyWS</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/index.jsp
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/index.jsp 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/index.jsp 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,9 +0,0 @@
-<html>
- <body>
- This is just a place holder.<br>
- Verify the that the WS has been deployed by hitting
- <a href="http://localhost:8080/jbossws">
- http://localhost:8080/jbossws
- </a>
- </body>
-</html>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/index.jsp (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/index.jsp)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/index.jsp (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/04_Reptiles_notify_webservice/index.jsp 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,9 @@
+<html>
+ <body>
+ This is just a place holder.<br>
+ Verify the that the WS has been deployed by hitting
+ <a href="http://localhost:8080/jbossws">
+ http://localhost:8080/jbossws
+ </a>
+ </body>
+</html>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-dataload.sql
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-dataload.sql 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-dataload.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,101 +0,0 @@
-INSERT INTO sequence VALUES ('ordernum', 1000);
-INSERT INTO sequence VALUES ('linenum', 1000);
-
-INSERT INTO signon VALUES ('j2ee','j2ee');
-INSERT INTO signon VALUES ('ACID','ACID');
-
-INSERT INTO account VALUES ('j2ee','yourname at yourdomain.com', 'Greg', 'Pierson', 'OK', '901 San Antonio Road', 'MS UCUP02-206', 'Palo Alto', 'CA', '94303', 'USA', '555-555-5555');
-INSERT INTO account VALUES ('ACID','acid at yourdomain.com', 'Barbet', 'Schroeder', 'OK', '901 San Antonio Road', 'MS UCUP02-206', 'Palo Alto', 'CA', '94303', 'USA', '555-555-5555');
-
-INSERT INTO profile VALUES ('j2ee','english','DOGS',1,1);
-INSERT INTO profile VALUES ('ACID','english','CATS',1,1);
-
-INSERT INTO bannerdata VALUES ('FISH','<image src="../images/banner_fish.gif">');
-INSERT INTO bannerdata VALUES ('CATS','<image src="../images/banner_cats.gif">');
-INSERT INTO bannerdata VALUES ('DOGS','<image src="../images/banner_dogs.gif">');
-INSERT INTO bannerdata VALUES ('REPTILES','<image src="../images/banner_reptiles.gif">');
-INSERT INTO bannerdata VALUES ('BIRDS','<image src="../images/banner_birds.gif">');
-
-INSERT INTO category VALUES ('FISH','Fish','<image src="../images/fish_icon.gif"><font size="5" color="blue"> Fish</font>');
-INSERT INTO category VALUES ('DOGS','Dogs','<image src="../images/dogs_icon.gif"><font size="5" color="blue"> Dogs</font>');
-INSERT INTO category VALUES ('REPTILES','Reptiles','<image src="../images/reptiles_icon.gif"><font size="5" color="blue"> Reptiles</font>');
-INSERT INTO category VALUES ('CATS','Cats','<image src="../images/cats_icon.gif"><font size="5" color="blue"> Cats</font>');
-INSERT INTO category VALUES ('BIRDS','Birds','<image src="../images/birds_icon.gif"><font size="5" color="blue"> Birds</font>');
-
-INSERT INTO product VALUES ('FI-SW-01','FISH','Angelfish','<image src="../images/fish1.jpg">Salt Water fish from Australia');
-INSERT INTO product VALUES ('FI-SW-02','FISH','Tiger Shark','<image src="../images/fish4.gif">Salt Water fish from Australia');
-INSERT INTO product VALUES ('FI-FW-01','FISH', 'Koi','<image src="../images/fish3.gif">Fresh Water fish from Japan');
-INSERT INTO product VALUES ('FI-FW-02','FISH', 'Goldfish','<image src="../images/fish2.gif">Fresh Water fish from China');
-INSERT INTO product VALUES ('K9-BD-01','DOGS','Bulldog','<image src="../images/dog2.gif">Friendly dog from England');
-INSERT INTO product VALUES ('K9-PO-02','DOGS','Poodle','<image src="../images/dog6.gif">Cute dog from France');
-INSERT INTO product VALUES ('K9-DL-01','DOGS', 'Dalmation','<image src="../images/dog5.gif">Great dog for a Fire Station');
-INSERT INTO product VALUES ('K9-RT-01','DOGS', 'Golden Retriever','<image src="../images/dog1.gif">Great family dog');
-INSERT INTO product VALUES ('K9-RT-02','DOGS', 'Labrador Retriever','<image src="../images/dog5.gif">Great hunting dog');
-INSERT INTO product VALUES ('K9-CW-01','DOGS', 'Chihuahua','<image src="../images/dog4.gif">Great companion dog');
-INSERT INTO product VALUES ('RP-SN-01','REPTILES','Rattlesnake','<image src="../images/lizard3.gif">Doubles as a watch dog');
-INSERT INTO product VALUES ('RP-LI-02','REPTILES','Iguana','<image src="../images/lizard2.gif">Friendly green friend');
-INSERT INTO product VALUES ('FL-DSH-01','CATS','Manx','<image src="../images/cat3.gif">Great for reducing mouse populations');
-INSERT INTO product VALUES ('FL-DLH-02','CATS','Persian','<image src="../images/cat1.gif">Friendly house cat, doubles as a princess');
-INSERT INTO product VALUES ('AV-CB-01','BIRDS','Amazon Parrot','<image src="../images/bird4.gif">Great companion for up to 75 years');
-INSERT INTO product VALUES ('AV-SB-02','BIRDS','Finch','<image src="../images/bird1.gif">Great stress reliever');
-
-INSERT INTO supplier VALUES (1,'XYZ Pets','AC','600 Avon Way','','Los Angeles','CA','94024','212-947-0797');
-INSERT INTO supplier VALUES (2,'ABC Pets','AC','700 Abalone Way','','San Francisco ','CA','94024','415-947-0797');
-
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-1','FI-SW-01',16.50,10.00,1,'P','Large');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-2','FI-SW-01',16.50,10.00,1,'P','Small');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-3','FI-SW-02',18.50,12.00,1,'P','Toothless');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-4','FI-FW-01',18.50,12.00,1,'P','Spotted');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-5','FI-FW-01',18.50,12.00,1,'P','Spotless');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-6','K9-BD-01',18.50,12.00,1,'P','Male Adult');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-7','K9-BD-01',18.50,12.00,1,'P','Female Puppy');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-8','K9-PO-02',18.50,12.00,1,'P','Male Puppy');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-9','K9-DL-01',18.50,12.00,1,'P','Spotless Male Puppy');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-10','K9-DL-01',18.50,12.00,1,'P','Spotted Adult Female');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-11','RP-SN-01',18.50,12.00,1,'P','Venomless');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-12','RP-SN-01',18.50,12.00,1,'P','Rattleless');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-13','RP-LI-02',18.50,12.00,1,'P','Green Adult');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-14','FL-DSH-01',58.50,12.00,1,'P','Tailless');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-15','FL-DSH-01',23.50,12.00,1,'P','With tail');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-16','FL-DLH-02',93.50,12.00,1,'P','Adult Female');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-17','FL-DLH-02',93.50,12.00,1,'P','Adult Male');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-18','AV-CB-01',193.50,92.00,1,'P','Adult Male');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-19','AV-SB-02',15.50, 2.00,1,'P','Adult Male');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-20','FI-FW-02',5.50, 2.00,1,'P','Adult Male');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-21','FI-FW-02',5.29, 1.00,1,'P','Adult Female');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-22','K9-RT-02',135.50, 100.00,1,'P','Adult Male');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-23','K9-RT-02',145.49, 100.00,1,'P','Adult Female');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-24','K9-RT-02',255.50, 92.00,1,'P','Adult Male');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-25','K9-RT-02',325.29, 90.00,1,'P','Adult Female');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-26','K9-CW-01',125.50, 92.00,1,'P','Adult Male');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-27','K9-CW-01',155.29, 90.00,1,'P','Adult Female');
-INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-28','K9-RT-01',155.29, 90.00,1,'P','Adult Female');
-
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-1',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-2',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-3',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-4',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-5',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-6',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-7',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-8',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-9',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-10',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-11',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-12',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-13',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-14',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-15',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-16',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-17',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-18',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-19',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-20',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-21',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-22',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-23',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-24',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-25',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-26',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-27',10000);
-INSERT INTO inventory (itemid, qty ) VALUES ('EST-28',10000);
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-dataload.sql (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-dataload.sql)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-dataload.sql (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-dataload.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,101 @@
+INSERT INTO sequence VALUES ('ordernum', 1000);
+INSERT INTO sequence VALUES ('linenum', 1000);
+
+INSERT INTO signon VALUES ('j2ee','j2ee');
+INSERT INTO signon VALUES ('ACID','ACID');
+
+INSERT INTO account VALUES ('j2ee','yourname at yourdomain.com', 'Greg', 'Pierson', 'OK', '901 San Antonio Road', 'MS UCUP02-206', 'Palo Alto', 'CA', '94303', 'USA', '555-555-5555');
+INSERT INTO account VALUES ('ACID','acid at yourdomain.com', 'Barbet', 'Schroeder', 'OK', '901 San Antonio Road', 'MS UCUP02-206', 'Palo Alto', 'CA', '94303', 'USA', '555-555-5555');
+
+INSERT INTO profile VALUES ('j2ee','english','DOGS',1,1);
+INSERT INTO profile VALUES ('ACID','english','CATS',1,1);
+
+INSERT INTO bannerdata VALUES ('FISH','<image src="../images/banner_fish.gif">');
+INSERT INTO bannerdata VALUES ('CATS','<image src="../images/banner_cats.gif">');
+INSERT INTO bannerdata VALUES ('DOGS','<image src="../images/banner_dogs.gif">');
+INSERT INTO bannerdata VALUES ('REPTILES','<image src="../images/banner_reptiles.gif">');
+INSERT INTO bannerdata VALUES ('BIRDS','<image src="../images/banner_birds.gif">');
+
+INSERT INTO category VALUES ('FISH','Fish','<image src="../images/fish_icon.gif"><font size="5" color="blue"> Fish</font>');
+INSERT INTO category VALUES ('DOGS','Dogs','<image src="../images/dogs_icon.gif"><font size="5" color="blue"> Dogs</font>');
+INSERT INTO category VALUES ('REPTILES','Reptiles','<image src="../images/reptiles_icon.gif"><font size="5" color="blue"> Reptiles</font>');
+INSERT INTO category VALUES ('CATS','Cats','<image src="../images/cats_icon.gif"><font size="5" color="blue"> Cats</font>');
+INSERT INTO category VALUES ('BIRDS','Birds','<image src="../images/birds_icon.gif"><font size="5" color="blue"> Birds</font>');
+
+INSERT INTO product VALUES ('FI-SW-01','FISH','Angelfish','<image src="../images/fish1.jpg">Salt Water fish from Australia');
+INSERT INTO product VALUES ('FI-SW-02','FISH','Tiger Shark','<image src="../images/fish4.gif">Salt Water fish from Australia');
+INSERT INTO product VALUES ('FI-FW-01','FISH', 'Koi','<image src="../images/fish3.gif">Fresh Water fish from Japan');
+INSERT INTO product VALUES ('FI-FW-02','FISH', 'Goldfish','<image src="../images/fish2.gif">Fresh Water fish from China');
+INSERT INTO product VALUES ('K9-BD-01','DOGS','Bulldog','<image src="../images/dog2.gif">Friendly dog from England');
+INSERT INTO product VALUES ('K9-PO-02','DOGS','Poodle','<image src="../images/dog6.gif">Cute dog from France');
+INSERT INTO product VALUES ('K9-DL-01','DOGS', 'Dalmation','<image src="../images/dog5.gif">Great dog for a Fire Station');
+INSERT INTO product VALUES ('K9-RT-01','DOGS', 'Golden Retriever','<image src="../images/dog1.gif">Great family dog');
+INSERT INTO product VALUES ('K9-RT-02','DOGS', 'Labrador Retriever','<image src="../images/dog5.gif">Great hunting dog');
+INSERT INTO product VALUES ('K9-CW-01','DOGS', 'Chihuahua','<image src="../images/dog4.gif">Great companion dog');
+INSERT INTO product VALUES ('RP-SN-01','REPTILES','Rattlesnake','<image src="../images/lizard3.gif">Doubles as a watch dog');
+INSERT INTO product VALUES ('RP-LI-02','REPTILES','Iguana','<image src="../images/lizard2.gif">Friendly green friend');
+INSERT INTO product VALUES ('FL-DSH-01','CATS','Manx','<image src="../images/cat3.gif">Great for reducing mouse populations');
+INSERT INTO product VALUES ('FL-DLH-02','CATS','Persian','<image src="../images/cat1.gif">Friendly house cat, doubles as a princess');
+INSERT INTO product VALUES ('AV-CB-01','BIRDS','Amazon Parrot','<image src="../images/bird4.gif">Great companion for up to 75 years');
+INSERT INTO product VALUES ('AV-SB-02','BIRDS','Finch','<image src="../images/bird1.gif">Great stress reliever');
+
+INSERT INTO supplier VALUES (1,'XYZ Pets','AC','600 Avon Way','','Los Angeles','CA','94024','212-947-0797');
+INSERT INTO supplier VALUES (2,'ABC Pets','AC','700 Abalone Way','','San Francisco ','CA','94024','415-947-0797');
+
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-1','FI-SW-01',16.50,10.00,1,'P','Large');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-2','FI-SW-01',16.50,10.00,1,'P','Small');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-3','FI-SW-02',18.50,12.00,1,'P','Toothless');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-4','FI-FW-01',18.50,12.00,1,'P','Spotted');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-5','FI-FW-01',18.50,12.00,1,'P','Spotless');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-6','K9-BD-01',18.50,12.00,1,'P','Male Adult');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-7','K9-BD-01',18.50,12.00,1,'P','Female Puppy');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-8','K9-PO-02',18.50,12.00,1,'P','Male Puppy');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-9','K9-DL-01',18.50,12.00,1,'P','Spotless Male Puppy');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-10','K9-DL-01',18.50,12.00,1,'P','Spotted Adult Female');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-11','RP-SN-01',18.50,12.00,1,'P','Venomless');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-12','RP-SN-01',18.50,12.00,1,'P','Rattleless');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-13','RP-LI-02',18.50,12.00,1,'P','Green Adult');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-14','FL-DSH-01',58.50,12.00,1,'P','Tailless');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-15','FL-DSH-01',23.50,12.00,1,'P','With tail');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-16','FL-DLH-02',93.50,12.00,1,'P','Adult Female');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-17','FL-DLH-02',93.50,12.00,1,'P','Adult Male');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-18','AV-CB-01',193.50,92.00,1,'P','Adult Male');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-19','AV-SB-02',15.50, 2.00,1,'P','Adult Male');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-20','FI-FW-02',5.50, 2.00,1,'P','Adult Male');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-21','FI-FW-02',5.29, 1.00,1,'P','Adult Female');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-22','K9-RT-02',135.50, 100.00,1,'P','Adult Male');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-23','K9-RT-02',145.49, 100.00,1,'P','Adult Female');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-24','K9-RT-02',255.50, 92.00,1,'P','Adult Male');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-25','K9-RT-02',325.29, 90.00,1,'P','Adult Female');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-26','K9-CW-01',125.50, 92.00,1,'P','Adult Male');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-27','K9-CW-01',155.29, 90.00,1,'P','Adult Female');
+INSERT INTO item (itemid, productid, listprice, unitcost, supplier, status, attr1) VALUES ('EST-28','K9-RT-01',155.29, 90.00,1,'P','Adult Female');
+
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-1',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-2',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-3',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-4',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-5',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-6',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-7',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-8',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-9',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-10',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-11',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-12',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-13',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-14',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-15',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-16',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-17',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-18',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-19',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-20',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-21',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-22',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-23',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-24',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-25',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-26',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-27',10000);
+INSERT INTO inventory (itemid, qty ) VALUES ('EST-28',10000);
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-schema.sql
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-schema.sql 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-schema.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,166 +0,0 @@
-drop index productCat;
-drop index productName;
-drop index itemProd;
-
-drop table lineitem;
-drop table orderstatus;
-drop table orders;
-drop table bannerdata;
-drop table profile;
-drop table signon;
-drop table inventory;
-drop table item;
-drop table product;
-drop table account;
-drop table category;
-drop table supplier;
-drop table sequence;
-
-create table supplier (
- suppid int not null,
- name varchar(80) null,
- status varchar(2) not null,
- addr1 varchar(80) null,
- addr2 varchar(80) null,
- city varchar(80) null,
- state varchar(80) null,
- zip varchar(5) null,
- phone varchar(80) null,
- constraint pk_supplier primary key (suppid)
-);
-
-create table signon (
- username varchar(25) not null,
- password varchar(25) not null,
- constraint pk_signon primary key (username)
-);
-
-create table account (
- userid varchar(80) not null,
- email varchar(80) not null,
- firstname varchar(80) not null,
- lastname varchar(80) not null,
- status varchar(2) null,
- addr1 varchar(80) not null,
- addr2 varchar(40) null,
- city varchar(80) not null,
- state varchar(80) not null,
- zip varchar(20) not null,
- country varchar(20) not null,
- phone varchar(80) not null,
- constraint pk_account primary key (userid)
-);
-
-create table profile (
- userid varchar(80) not null,
- langpref varchar(80) not null,
- favcategory varchar(30),
- mylistopt int,
- banneropt int,
- constraint pk_profile primary key (userid)
-);
-
-create table bannerdata (
- favcategory varchar(80) not null,
- bannername varchar(255) null,
- constraint pk_bannerdata primary key (favcategory)
-);
-
-create table orders (
- orderid varchar(80) not null,
- userid varchar(80) not null,
- orderdate date not null,
- shipaddr1 varchar(80) not null,
- shipaddr2 varchar(80) null,
- shipcity varchar(80) not null,
- shipstate varchar(80) not null,
- shipzip varchar(20) not null,
- shipcountry varchar(20) not null,
- billaddr1 varchar(80) not null,
- billaddr2 varchar(80) null,
- billcity varchar(80) not null,
- billstate varchar(80) not null,
- billzip varchar(20) not null,
- billcountry varchar(20) not null,
- courier varchar(80) not null,
- totalprice decimal(10,2) not null,
- billtofirstname varchar(80) not null,
- billtolastname varchar(80) not null,
- shiptofirstname varchar(80) not null,
- shiptolastname varchar(80) not null,
- creditcard varchar(80) not null,
- exprdate varchar(7) not null,
- cardtype varchar(80) not null,
- locale varchar(80) not null,
- constraint pk_orders primary key (orderid)
-);
-
-create table orderstatus (
- orderid int not null,
- linenum int not null,
- timestamp date not null,
- status varchar(2) not null,
- constraint pk_orderstatus primary key (orderid, linenum)
-);
-
-create table lineitem (
- orderid int not null,
- linenum int not null,
- itemid varchar(10) not null,
- quantity int not null,
- unitprice decimal(10,2) not null,
- constraint pk_lineitem primary key (orderid, linenum)
-);
-
-create table category (
- catid varchar(10) not null,
- name varchar(80) null,
- descn varchar(255) null,
- constraint pk_category primary key (catid)
-);
-
-create table product (
- productid varchar(10) not null,
- category varchar(10) not null,
- name varchar(80) null,
- descn varchar(255) null,
- constraint pk_product primary key (productid),
- constraint fk_product_1 foreign key (category)
- references category (catid)
-);
-
-create index productCat on product (category);
-create index productName on product (name);
-
-create table item (
- itemid varchar(10) not null,
- productid varchar(10) not null,
- listprice decimal(10,2) null,
- unitcost decimal(10,2) null,
- supplier int null,
- status varchar(2) null,
- attr1 varchar(80) null,
- attr2 varchar(80) null,
- attr3 varchar(80) null,
- attr4 varchar(80) null,
- attr5 varchar(80) null,
- constraint pk_item primary key (itemid),
- constraint fk_item_1 foreign key (productid)
- references product (productid),
- constraint fk_item_2 foreign key (supplier)
- references supplier (suppid)
-);
-
-create index itemProd on item (productid);
-
-create table inventory (
- itemid varchar(10) not null,
- qty int not null,
- constraint pk_inventory primary key (itemid)
-);
-
-create table sequence (
- name varchar(30) not null,
- nextid int not null,
- constraint pk_sequence primary key (name)
-);
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-schema.sql (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-schema.sql)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-schema.sql (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db-hsqldb-schema.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,166 @@
+drop index productCat;
+drop index productName;
+drop index itemProd;
+
+drop table lineitem;
+drop table orderstatus;
+drop table orders;
+drop table bannerdata;
+drop table profile;
+drop table signon;
+drop table inventory;
+drop table item;
+drop table product;
+drop table account;
+drop table category;
+drop table supplier;
+drop table sequence;
+
+create table supplier (
+ suppid int not null,
+ name varchar(80) null,
+ status varchar(2) not null,
+ addr1 varchar(80) null,
+ addr2 varchar(80) null,
+ city varchar(80) null,
+ state varchar(80) null,
+ zip varchar(5) null,
+ phone varchar(80) null,
+ constraint pk_supplier primary key (suppid)
+);
+
+create table signon (
+ username varchar(25) not null,
+ password varchar(25) not null,
+ constraint pk_signon primary key (username)
+);
+
+create table account (
+ userid varchar(80) not null,
+ email varchar(80) not null,
+ firstname varchar(80) not null,
+ lastname varchar(80) not null,
+ status varchar(2) null,
+ addr1 varchar(80) not null,
+ addr2 varchar(40) null,
+ city varchar(80) not null,
+ state varchar(80) not null,
+ zip varchar(20) not null,
+ country varchar(20) not null,
+ phone varchar(80) not null,
+ constraint pk_account primary key (userid)
+);
+
+create table profile (
+ userid varchar(80) not null,
+ langpref varchar(80) not null,
+ favcategory varchar(30),
+ mylistopt int,
+ banneropt int,
+ constraint pk_profile primary key (userid)
+);
+
+create table bannerdata (
+ favcategory varchar(80) not null,
+ bannername varchar(255) null,
+ constraint pk_bannerdata primary key (favcategory)
+);
+
+create table orders (
+ orderid varchar(80) not null,
+ userid varchar(80) not null,
+ orderdate date not null,
+ shipaddr1 varchar(80) not null,
+ shipaddr2 varchar(80) null,
+ shipcity varchar(80) not null,
+ shipstate varchar(80) not null,
+ shipzip varchar(20) not null,
+ shipcountry varchar(20) not null,
+ billaddr1 varchar(80) not null,
+ billaddr2 varchar(80) null,
+ billcity varchar(80) not null,
+ billstate varchar(80) not null,
+ billzip varchar(20) not null,
+ billcountry varchar(20) not null,
+ courier varchar(80) not null,
+ totalprice decimal(10,2) not null,
+ billtofirstname varchar(80) not null,
+ billtolastname varchar(80) not null,
+ shiptofirstname varchar(80) not null,
+ shiptolastname varchar(80) not null,
+ creditcard varchar(80) not null,
+ exprdate varchar(7) not null,
+ cardtype varchar(80) not null,
+ locale varchar(80) not null,
+ constraint pk_orders primary key (orderid)
+);
+
+create table orderstatus (
+ orderid int not null,
+ linenum int not null,
+ timestamp date not null,
+ status varchar(2) not null,
+ constraint pk_orderstatus primary key (orderid, linenum)
+);
+
+create table lineitem (
+ orderid int not null,
+ linenum int not null,
+ itemid varchar(10) not null,
+ quantity int not null,
+ unitprice decimal(10,2) not null,
+ constraint pk_lineitem primary key (orderid, linenum)
+);
+
+create table category (
+ catid varchar(10) not null,
+ name varchar(80) null,
+ descn varchar(255) null,
+ constraint pk_category primary key (catid)
+);
+
+create table product (
+ productid varchar(10) not null,
+ category varchar(10) not null,
+ name varchar(80) null,
+ descn varchar(255) null,
+ constraint pk_product primary key (productid),
+ constraint fk_product_1 foreign key (category)
+ references category (catid)
+);
+
+create index productCat on product (category);
+create index productName on product (name);
+
+create table item (
+ itemid varchar(10) not null,
+ productid varchar(10) not null,
+ listprice decimal(10,2) null,
+ unitcost decimal(10,2) null,
+ supplier int null,
+ status varchar(2) null,
+ attr1 varchar(80) null,
+ attr2 varchar(80) null,
+ attr3 varchar(80) null,
+ attr4 varchar(80) null,
+ attr5 varchar(80) null,
+ constraint pk_item primary key (itemid),
+ constraint fk_item_1 foreign key (productid)
+ references product (productid),
+ constraint fk_item_2 foreign key (supplier)
+ references supplier (suppid)
+);
+
+create index itemProd on item (productid);
+
+create table inventory (
+ itemid varchar(10) not null,
+ qty int not null,
+ constraint pk_inventory primary key (itemid)
+);
+
+create table sequence (
+ name varchar(30) not null,
+ nextid int not null,
+ constraint pk_sequence primary key (name)
+);
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1 +0,0 @@
-HSQLLOCK
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.lck 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1 @@
+HSQLLOCK
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,52 +0,0 @@
-/*C23*/SET SCHEMA PUBLIC
-CONNECT USER SA
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-FL-DLH-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-FI-FW-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-DL-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-CW-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-RP-SN-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-FI-SW-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-RT-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-RT-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-PO-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213712709484-RP-SN-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-/*C24*/SET SCHEMA PUBLIC
-CONNECT USER SA
-SET AUTOCOMMIT FALSE
-INSERT INTO ORDERS VALUES('1213739454593-AV-CB-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739454593-K9-BD-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739454593-FI-FW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739454593-RP-LI-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739454593-K9-CW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739454593-AV-CB-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739454593-AV-CB-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739454593-FI-SW-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739454593-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739454593-RP-LI-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-COMMIT
-DISCONNECT
-/*C23*/DELETE FROM ORDERS WHERE ORDERID='1213739454593-AV-CB-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213739454593-K9-BD-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213739454593-FI-FW-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213739454593-RP-LI-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213739454593-K9-CW-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213739454593-AV-CB-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213739454593-AV-CB-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213739454593-FI-SW-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213739454593-RP-SN-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-DELETE FROM ORDERS WHERE ORDERID='1213739454593-RP-LI-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
-/*C25*/SET SCHEMA PUBLIC
-CONNECT USER SA
-SET AUTOCOMMIT FALSE
-INSERT INTO ORDERS VALUES('1213739684328-FL-DLH-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739684328-FL-DSH-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739684328-FI-SW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739684328-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739684328-K9-RT-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739684328-AV-SB-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739684328-K9-RT-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739684328-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739684328-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213739684328-K9-DL-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-COMMIT
-DISCONNECT
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.log 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,52 @@
+/*C23*/SET SCHEMA PUBLIC
+CONNECT USER SA
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-FL-DLH-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-FI-FW-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-DL-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-CW-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-RP-SN-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-FI-SW-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-RT-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-RT-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-K9-PO-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213712709484-RP-SN-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+/*C24*/SET SCHEMA PUBLIC
+CONNECT USER SA
+SET AUTOCOMMIT FALSE
+INSERT INTO ORDERS VALUES('1213739454593-AV-CB-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739454593-K9-BD-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739454593-FI-FW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739454593-RP-LI-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739454593-K9-CW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739454593-AV-CB-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739454593-AV-CB-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739454593-FI-SW-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739454593-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739454593-RP-LI-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+COMMIT
+DISCONNECT
+/*C23*/DELETE FROM ORDERS WHERE ORDERID='1213739454593-AV-CB-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213739454593-K9-BD-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213739454593-FI-FW-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213739454593-RP-LI-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213739454593-K9-CW-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213739454593-AV-CB-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213739454593-AV-CB-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213739454593-FI-SW-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213739454593-RP-SN-01' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+DELETE FROM ORDERS WHERE ORDERID='1213739454593-RP-LI-02' AND USERID='ACID' AND ORDERDATE='2006-11-15' AND SHIPADDR1='901 San Antonio Road' AND SHIPADDR2='MS UCUP02-206' AND SHIPCITY='Palo Alto' AND SHIPSTATE='CA' AND SHIPZIP='30253' AND SHIPCOUNTRY='USA' AND BILLADDR1='901 San Antonio Road' AND BILLADDR2='MS UCUP02-206' AND BILLCITY='Palo Alto' AND BILLSTATE='CA' AND BILLZIP='30253' AND BILLCOUNTRY='USA' AND COURIER='UPS' AND TOTALPRICE=22.23 AND BILLTOFIRSTNAME='ACID' AND BILLTOLASTNAME='Pets' AND SHIPTOFIRSTNAME='ACID' AND SHIPTOLASTNAME='Pets' AND CREDITCARD='999 9999 9999 9999' AND EXPRDATE='12/03' AND CARDTYPE='Visa' AND LOCALE='CA'
+/*C25*/SET SCHEMA PUBLIC
+CONNECT USER SA
+SET AUTOCOMMIT FALSE
+INSERT INTO ORDERS VALUES('1213739684328-FL-DLH-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739684328-FL-DSH-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739684328-FI-SW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739684328-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739684328-K9-RT-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739684328-AV-SB-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739684328-K9-RT-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739684328-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739684328-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213739684328-K9-DL-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+COMMIT
+DISCONNECT
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,17 +0,0 @@
-#HSQL Database Engine 1.8.0.8
-#Tue Jun 17 22:47:17 BST 2008
-hsqldb.script_format=0
-runtime.gc_interval=0
-sql.enforce_strict_size=false
-hsqldb.cache_size_scale=8
-readonly=false
-hsqldb.nio_data_file=true
-hsqldb.cache_scale=14
-version=1.8.0
-hsqldb.default_table_type=memory
-hsqldb.cache_file_scale=1
-hsqldb.log_size=200
-modified=yes
-hsqldb.cache_version=1.7.0
-hsqldb.original_version=1.8.0
-hsqldb.compatible_version=1.8.0
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,17 @@
+#HSQL Database Engine 1.8.0.8
+#Tue Jun 17 22:47:17 BST 2008
+hsqldb.script_format=0
+runtime.gc_interval=0
+sql.enforce_strict_size=false
+hsqldb.cache_size_scale=8
+readonly=false
+hsqldb.nio_data_file=true
+hsqldb.cache_scale=14
+version=1.8.0
+hsqldb.default_table_type=memory
+hsqldb.cache_file_scale=1
+hsqldb.log_size=200
+modified=yes
+hsqldb.cache_version=1.7.0
+hsqldb.original_version=1.8.0
+hsqldb.compatible_version=1.8.0
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.script
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.script 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.script 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,132 +0,0 @@
-CREATE SCHEMA PUBLIC AUTHORIZATION DBA
-CREATE MEMORY TABLE SUPPLIER(SUPPID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(80),STATUS VARCHAR(2) NOT NULL,ADDR1 VARCHAR(80),ADDR2 VARCHAR(80),CITY VARCHAR(80),STATE VARCHAR(80),ZIP VARCHAR(5),PHONE VARCHAR(80))
-CREATE MEMORY TABLE SIGNON(USERNAME VARCHAR(25) NOT NULL PRIMARY KEY,PASSWORD VARCHAR(25) NOT NULL)
-CREATE MEMORY TABLE ACCOUNT(USERID VARCHAR(80) NOT NULL PRIMARY KEY,EMAIL VARCHAR(80) NOT NULL,FIRSTNAME VARCHAR(80) NOT NULL,LASTNAME VARCHAR(80) NOT NULL,STATUS VARCHAR(2),ADDR1 VARCHAR(80) NOT NULL,ADDR2 VARCHAR(40),CITY VARCHAR(80) NOT NULL,STATE VARCHAR(80) NOT NULL,ZIP VARCHAR(20) NOT NULL,COUNTRY VARCHAR(20) NOT NULL,PHONE VARCHAR(80) NOT NULL)
-CREATE MEMORY TABLE PROFILE(USERID VARCHAR(80) NOT NULL PRIMARY KEY,LANGPREF VARCHAR(80) NOT NULL,FAVCATEGORY VARCHAR(30),MYLISTOPT INTEGER,BANNEROPT INTEGER)
-CREATE MEMORY TABLE BANNERDATA(FAVCATEGORY VARCHAR(80) NOT NULL PRIMARY KEY,BANNERNAME VARCHAR(255))
-CREATE MEMORY TABLE ORDERS(ORDERID VARCHAR(80) NOT NULL,USERID VARCHAR(80) NOT NULL,ORDERDATE DATE NOT NULL,SHIPADDR1 VARCHAR(80) NOT NULL,SHIPADDR2 VARCHAR(80),SHIPCITY VARCHAR(80) NOT NULL,SHIPSTATE VARCHAR(80) NOT NULL,SHIPZIP VARCHAR(20) NOT NULL,SHIPCOUNTRY VARCHAR(20) NOT NULL,BILLADDR1 VARCHAR(80) NOT NULL,BILLADDR2 VARCHAR(80),BILLCITY VARCHAR(80) NOT NULL,BILLSTATE VARCHAR(80) NOT NULL,BILLZIP VARCHAR(20) NOT NULL,BILLCOUNTRY VARCHAR(20) NOT NULL,COURIER VARCHAR(80) NOT NULL,TOTALPRICE DECIMAL(10,2) NOT NULL,BILLTOFIRSTNAME VARCHAR(80) NOT NULL,BILLTOLASTNAME VARCHAR(80) NOT NULL,SHIPTOFIRSTNAME VARCHAR(80) NOT NULL,SHIPTOLASTNAME VARCHAR(80) NOT NULL,CREDITCARD VARCHAR(80) NOT NULL,EXPRDATE VARCHAR(7) NOT NULL,CARDTYPE VARCHAR(80) NOT NULL,LOCALE VARCHAR(80) NOT NULL)
-CREATE MEMORY TABLE ORDERSTATUS(ORDERID INTEGER NOT NULL,LINENUM INTEGER NOT NULL,TIMESTAMP DATE NOT NULL,STATUS VARCHAR(2) NOT NULL,CONSTRAINT PK_ORDERSTATUS PRIMARY KEY(ORDERID,LINENUM))
-CREATE MEMORY TABLE LINEITEM(ORDERID INTEGER NOT NULL,LINENUM INTEGER NOT NULL,ITEMID VARCHAR(10) NOT NULL,QUANTITY INTEGER NOT NULL,UNITPRICE DECIMAL(10,2) NOT NULL,CONSTRAINT PK_LINEITEM PRIMARY KEY(ORDERID,LINENUM))
-CREATE MEMORY TABLE CATEGORY(CATID VARCHAR(10) NOT NULL PRIMARY KEY,NAME VARCHAR(80),DESCN VARCHAR(255))
-CREATE MEMORY TABLE PRODUCT(PRODUCTID VARCHAR(10) NOT NULL PRIMARY KEY,CATEGORY VARCHAR(10) NOT NULL,NAME VARCHAR(80),DESCN VARCHAR(255),CONSTRAINT FK_PRODUCT_1 FOREIGN KEY(CATEGORY) REFERENCES CATEGORY(CATID))
-CREATE INDEX PRODUCTCAT ON PRODUCT(CATEGORY)
-CREATE INDEX PRODUCTNAME ON PRODUCT(NAME)
-CREATE MEMORY TABLE ITEM(ITEMID VARCHAR(10) NOT NULL PRIMARY KEY,PRODUCTID VARCHAR(10) NOT NULL,LISTPRICE DECIMAL(10,2),UNITCOST DECIMAL(10,2),SUPPLIER INTEGER,STATUS VARCHAR(2),ATTR1 VARCHAR(80),ATTR2 VARCHAR(80),ATTR3 VARCHAR(80),ATTR4 VARCHAR(80),ATTR5 VARCHAR(80),CONSTRAINT FK_ITEM_1 FOREIGN KEY(PRODUCTID) REFERENCES PRODUCT(PRODUCTID),CONSTRAINT FK_ITEM_2 FOREIGN KEY(SUPPLIER) REFERENCES SUPPLIER(SUPPID))
-CREATE INDEX ITEMPROD ON ITEM(PRODUCTID)
-CREATE MEMORY TABLE INVENTORY(ITEMID VARCHAR(10) NOT NULL PRIMARY KEY,QTY INTEGER NOT NULL)
-CREATE MEMORY TABLE SEQUENCE(NAME VARCHAR(30) NOT NULL PRIMARY KEY,NEXTID INTEGER NOT NULL)
-CREATE USER SA PASSWORD ""
-GRANT DBA TO SA
-SET WRITE_DELAY 60
-SET SCHEMA PUBLIC
-INSERT INTO SUPPLIER VALUES(1,'XYZ Pets','AC','600 Avon Way','','Los Angeles','CA','94024','212-947-0797')
-INSERT INTO SUPPLIER VALUES(2,'ABC Pets','AC','700 Abalone Way','','San Francisco ','CA','94024','415-947-0797')
-INSERT INTO SIGNON VALUES('ACID','ACID')
-INSERT INTO SIGNON VALUES('j2ee','j2ee')
-INSERT INTO ACCOUNT VALUES('ACID','acid at yourdomain.com','ACID','Pets','OK','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','94303','USA','555-555-5555')
-INSERT INTO ACCOUNT VALUES('j2ee','yourname at yourdomain.com','JEE','Pets','OK','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','94303','USA','555-555-5555')
-INSERT INTO PROFILE VALUES('ACID','english','CATS',1,1)
-INSERT INTO PROFILE VALUES('j2ee','english','DOGS',1,1)
-INSERT INTO BANNERDATA VALUES('BIRDS','<image src="../images/banner_birds.gif">')
-INSERT INTO BANNERDATA VALUES('CATS','<image src="../images/banner_cats.gif">')
-INSERT INTO BANNERDATA VALUES('DOGS','<image src="../images/banner_dogs.gif">')
-INSERT INTO BANNERDATA VALUES('FISH','<image src="../images/banner_fish.gif">')
-INSERT INTO BANNERDATA VALUES('REPTILES','<image src="../images/banner_reptiles.gif">')
-INSERT INTO ORDERS VALUES('1213712709484-FL-DLH-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213712709484-FI-FW-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213712709484-K9-DL-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213712709484-K9-CW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213712709484-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213712709484-FI-SW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213712709484-K9-RT-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213712709484-K9-RT-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213712709484-K9-PO-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERS VALUES('1213712709484-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
-INSERT INTO ORDERSTATUS VALUES(1000,1000,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1001,1001,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1002,1002,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1003,1003,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1004,1004,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1005,1005,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1006,1006,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1007,1007,'2007-05-25','P')
-INSERT INTO ORDERSTATUS VALUES(1008,1008,'2007-05-25','P')
-INSERT INTO CATEGORY VALUES('BIRDS','Birds','<image src="../images/birds_icon.gif"><font size="5" color="blue"> Birds</font>')
-INSERT INTO CATEGORY VALUES('CATS','Cats','<image src="../images/cats_icon.gif"><font size="5" color="blue"> Cats</font>')
-INSERT INTO CATEGORY VALUES('DOGS','Dogs','<image src="../images/dogs_icon.gif"><font size="5" color="blue"> Dogs</font>')
-INSERT INTO CATEGORY VALUES('FISH','Fish','<image src="../images/fish_icon.gif"><font size="5" color="blue"> Fish</font>')
-INSERT INTO CATEGORY VALUES('REPTILES','Reptiles','<image src="../images/reptiles_icon.gif"><font size="5" color="blue"> Reptiles</font>')
-INSERT INTO PRODUCT VALUES('AV-CB-01','BIRDS','Amazon Parrot','<image src="../images/bird4.gif">Great companion for up to 75 years')
-INSERT INTO PRODUCT VALUES('AV-SB-02','BIRDS','Finch','<image src="../images/bird1.gif">Great stress reliever')
-INSERT INTO PRODUCT VALUES('FI-FW-01','FISH','Koi','<image src="../images/fish3.gif">Fresh Water fish from Japan')
-INSERT INTO PRODUCT VALUES('FI-FW-02','FISH','Goldfish','<image src="../images/fish2.gif">Fresh Water fish from China')
-INSERT INTO PRODUCT VALUES('FI-SW-01','FISH','Angelfish','<image src="../images/fish1.jpg">Salt Water fish from Australia')
-INSERT INTO PRODUCT VALUES('FI-SW-02','FISH','Tiger Shark','<image src="../images/fish4.gif">Salt Water fish from Australia')
-INSERT INTO PRODUCT VALUES('FL-DLH-02','CATS','Persian','<image src="../images/cat1.gif">Friendly house cat, doubles as a princess')
-INSERT INTO PRODUCT VALUES('FL-DSH-01','CATS','Manx','<image src="../images/cat3.gif">Great for reducing mouse populations')
-INSERT INTO PRODUCT VALUES('K9-BD-01','DOGS','Bulldog','<image src="../images/dog2.gif">Friendly dog from England')
-INSERT INTO PRODUCT VALUES('K9-CW-01','DOGS','Chihuahua','<image src="../images/dog4.gif">Great companion dog')
-INSERT INTO PRODUCT VALUES('K9-DL-01','DOGS','Dalmation','<image src="../images/dog5.gif">Great dog for a Fire Station')
-INSERT INTO PRODUCT VALUES('K9-PO-02','DOGS','Poodle','<image src="../images/dog6.gif">Cute dog from France')
-INSERT INTO PRODUCT VALUES('K9-RT-01','DOGS','Golden Retriever','<image src="../images/dog1.gif">Great family dog')
-INSERT INTO PRODUCT VALUES('K9-RT-02','DOGS','Labrador Retriever','<image src="../images/dog5.gif">Great hunting dog')
-INSERT INTO PRODUCT VALUES('RP-LI-02','REPTILES','Iguana','<image src="../images/lizard2.gif">Friendly green friend')
-INSERT INTO PRODUCT VALUES('RP-SN-01','REPTILES','Rattlesnake','<image src="../images/lizard3.gif">Doubles as a watch dog')
-INSERT INTO ITEM VALUES('EST-1','FI-SW-01',16.50,10.00,1,'P','Large',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-10','K9-DL-01',18.50,12.00,1,'P','Spotted Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-11','RP-SN-01',18.50,12.00,1,'P','Venomless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-12','RP-SN-01',18.50,12.00,1,'P','Rattleless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-13','RP-LI-02',18.50,12.00,1,'P','Green Adult',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-14','FL-DSH-01',58.50,12.00,1,'P','Tailless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-15','FL-DSH-01',23.50,12.00,1,'P','With tail',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-16','FL-DLH-02',93.50,12.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-17','FL-DLH-02',93.50,12.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-18','AV-CB-01',193.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-19','AV-SB-02',15.50,2.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-2','FI-SW-01',16.50,10.00,1,'P','Small',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-20','FI-FW-02',5.50,2.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-21','FI-FW-02',5.29,1.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-22','K9-RT-02',135.50,100.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-23','K9-RT-02',145.49,100.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-24','K9-RT-02',255.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-25','K9-RT-02',325.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-26','K9-CW-01',125.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-27','K9-CW-01',155.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-28','K9-RT-01',155.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-3','FI-SW-02',18.50,12.00,1,'P','Toothless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-4','FI-FW-01',18.50,12.00,1,'P','Spotted',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-5','FI-FW-01',18.50,12.00,1,'P','Spotless',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-6','K9-BD-01',18.50,12.00,1,'P','Male Adult',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-7','K9-BD-01',18.50,12.00,1,'P','Female Puppy',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-8','K9-PO-02',18.50,12.00,1,'P','Male Puppy',NULL,NULL,NULL,NULL)
-INSERT INTO ITEM VALUES('EST-9','K9-DL-01',18.50,12.00,1,'P','Spotless Male Puppy',NULL,NULL,NULL,NULL)
-INSERT INTO INVENTORY VALUES('EST-1',10000)
-INSERT INTO INVENTORY VALUES('EST-10',10000)
-INSERT INTO INVENTORY VALUES('EST-11',10000)
-INSERT INTO INVENTORY VALUES('EST-12',10000)
-INSERT INTO INVENTORY VALUES('EST-13',10000)
-INSERT INTO INVENTORY VALUES('EST-14',10000)
-INSERT INTO INVENTORY VALUES('EST-15',10000)
-INSERT INTO INVENTORY VALUES('EST-16',10000)
-INSERT INTO INVENTORY VALUES('EST-17',10000)
-INSERT INTO INVENTORY VALUES('EST-18',10000)
-INSERT INTO INVENTORY VALUES('EST-19',10000)
-INSERT INTO INVENTORY VALUES('EST-2',10000)
-INSERT INTO INVENTORY VALUES('EST-20',10000)
-INSERT INTO INVENTORY VALUES('EST-21',10000)
-INSERT INTO INVENTORY VALUES('EST-22',10000)
-INSERT INTO INVENTORY VALUES('EST-23',10000)
-INSERT INTO INVENTORY VALUES('EST-24',10000)
-INSERT INTO INVENTORY VALUES('EST-25',10000)
-INSERT INTO INVENTORY VALUES('EST-26',10000)
-INSERT INTO INVENTORY VALUES('EST-27',10000)
-INSERT INTO INVENTORY VALUES('EST-28',10000)
-INSERT INTO INVENTORY VALUES('EST-3',10000)
-INSERT INTO INVENTORY VALUES('EST-4',10000)
-INSERT INTO INVENTORY VALUES('EST-5',10000)
-INSERT INTO INVENTORY VALUES('EST-6',10000)
-INSERT INTO INVENTORY VALUES('EST-7',10000)
-INSERT INTO INVENTORY VALUES('EST-8',10000)
-INSERT INTO INVENTORY VALUES('EST-9',10000)
-INSERT INTO SEQUENCE VALUES('linenum',1000)
-INSERT INTO SEQUENCE VALUES('ordernum',1009)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.script (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.script)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.script (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/db.script 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,132 @@
+CREATE SCHEMA PUBLIC AUTHORIZATION DBA
+CREATE MEMORY TABLE SUPPLIER(SUPPID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(80),STATUS VARCHAR(2) NOT NULL,ADDR1 VARCHAR(80),ADDR2 VARCHAR(80),CITY VARCHAR(80),STATE VARCHAR(80),ZIP VARCHAR(5),PHONE VARCHAR(80))
+CREATE MEMORY TABLE SIGNON(USERNAME VARCHAR(25) NOT NULL PRIMARY KEY,PASSWORD VARCHAR(25) NOT NULL)
+CREATE MEMORY TABLE ACCOUNT(USERID VARCHAR(80) NOT NULL PRIMARY KEY,EMAIL VARCHAR(80) NOT NULL,FIRSTNAME VARCHAR(80) NOT NULL,LASTNAME VARCHAR(80) NOT NULL,STATUS VARCHAR(2),ADDR1 VARCHAR(80) NOT NULL,ADDR2 VARCHAR(40),CITY VARCHAR(80) NOT NULL,STATE VARCHAR(80) NOT NULL,ZIP VARCHAR(20) NOT NULL,COUNTRY VARCHAR(20) NOT NULL,PHONE VARCHAR(80) NOT NULL)
+CREATE MEMORY TABLE PROFILE(USERID VARCHAR(80) NOT NULL PRIMARY KEY,LANGPREF VARCHAR(80) NOT NULL,FAVCATEGORY VARCHAR(30),MYLISTOPT INTEGER,BANNEROPT INTEGER)
+CREATE MEMORY TABLE BANNERDATA(FAVCATEGORY VARCHAR(80) NOT NULL PRIMARY KEY,BANNERNAME VARCHAR(255))
+CREATE MEMORY TABLE ORDERS(ORDERID VARCHAR(80) NOT NULL,USERID VARCHAR(80) NOT NULL,ORDERDATE DATE NOT NULL,SHIPADDR1 VARCHAR(80) NOT NULL,SHIPADDR2 VARCHAR(80),SHIPCITY VARCHAR(80) NOT NULL,SHIPSTATE VARCHAR(80) NOT NULL,SHIPZIP VARCHAR(20) NOT NULL,SHIPCOUNTRY VARCHAR(20) NOT NULL,BILLADDR1 VARCHAR(80) NOT NULL,BILLADDR2 VARCHAR(80),BILLCITY VARCHAR(80) NOT NULL,BILLSTATE VARCHAR(80) NOT NULL,BILLZIP VARCHAR(20) NOT NULL,BILLCOUNTRY VARCHAR(20) NOT NULL,COURIER VARCHAR(80) NOT NULL,TOTALPRICE DECIMAL(10,2) NOT NULL,BILLTOFIRSTNAME VARCHAR(80) NOT NULL,BILLTOLASTNAME VARCHAR(80) NOT NULL,SHIPTOFIRSTNAME VARCHAR(80) NOT NULL,SHIPTOLASTNAME VARCHAR(80) NOT NULL,CREDITCARD VARCHAR(80) NOT NULL,EXPRDATE VARCHAR(7) NOT NULL,CARDTYPE VARCHAR(80) NOT NULL,LOCALE VARCHAR(80) NOT NULL)
+CREATE MEMORY TABLE ORDERSTATUS(ORDERID INTEGER NOT NULL,LINENUM INTEGER NOT NULL,TIMESTAMP DATE NOT NULL,STATUS VARCHAR(2) NOT NULL,CONSTRAINT PK_ORDERSTATUS PRIMARY KEY(ORDERID,LINENUM))
+CREATE MEMORY TABLE LINEITEM(ORDERID INTEGER NOT NULL,LINENUM INTEGER NOT NULL,ITEMID VARCHAR(10) NOT NULL,QUANTITY INTEGER NOT NULL,UNITPRICE DECIMAL(10,2) NOT NULL,CONSTRAINT PK_LINEITEM PRIMARY KEY(ORDERID,LINENUM))
+CREATE MEMORY TABLE CATEGORY(CATID VARCHAR(10) NOT NULL PRIMARY KEY,NAME VARCHAR(80),DESCN VARCHAR(255))
+CREATE MEMORY TABLE PRODUCT(PRODUCTID VARCHAR(10) NOT NULL PRIMARY KEY,CATEGORY VARCHAR(10) NOT NULL,NAME VARCHAR(80),DESCN VARCHAR(255),CONSTRAINT FK_PRODUCT_1 FOREIGN KEY(CATEGORY) REFERENCES CATEGORY(CATID))
+CREATE INDEX PRODUCTCAT ON PRODUCT(CATEGORY)
+CREATE INDEX PRODUCTNAME ON PRODUCT(NAME)
+CREATE MEMORY TABLE ITEM(ITEMID VARCHAR(10) NOT NULL PRIMARY KEY,PRODUCTID VARCHAR(10) NOT NULL,LISTPRICE DECIMAL(10,2),UNITCOST DECIMAL(10,2),SUPPLIER INTEGER,STATUS VARCHAR(2),ATTR1 VARCHAR(80),ATTR2 VARCHAR(80),ATTR3 VARCHAR(80),ATTR4 VARCHAR(80),ATTR5 VARCHAR(80),CONSTRAINT FK_ITEM_1 FOREIGN KEY(PRODUCTID) REFERENCES PRODUCT(PRODUCTID),CONSTRAINT FK_ITEM_2 FOREIGN KEY(SUPPLIER) REFERENCES SUPPLIER(SUPPID))
+CREATE INDEX ITEMPROD ON ITEM(PRODUCTID)
+CREATE MEMORY TABLE INVENTORY(ITEMID VARCHAR(10) NOT NULL PRIMARY KEY,QTY INTEGER NOT NULL)
+CREATE MEMORY TABLE SEQUENCE(NAME VARCHAR(30) NOT NULL PRIMARY KEY,NEXTID INTEGER NOT NULL)
+CREATE USER SA PASSWORD ""
+GRANT DBA TO SA
+SET WRITE_DELAY 60
+SET SCHEMA PUBLIC
+INSERT INTO SUPPLIER VALUES(1,'XYZ Pets','AC','600 Avon Way','','Los Angeles','CA','94024','212-947-0797')
+INSERT INTO SUPPLIER VALUES(2,'ABC Pets','AC','700 Abalone Way','','San Francisco ','CA','94024','415-947-0797')
+INSERT INTO SIGNON VALUES('ACID','ACID')
+INSERT INTO SIGNON VALUES('j2ee','j2ee')
+INSERT INTO ACCOUNT VALUES('ACID','acid at yourdomain.com','ACID','Pets','OK','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','94303','USA','555-555-5555')
+INSERT INTO ACCOUNT VALUES('j2ee','yourname at yourdomain.com','JEE','Pets','OK','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','94303','USA','555-555-5555')
+INSERT INTO PROFILE VALUES('ACID','english','CATS',1,1)
+INSERT INTO PROFILE VALUES('j2ee','english','DOGS',1,1)
+INSERT INTO BANNERDATA VALUES('BIRDS','<image src="../images/banner_birds.gif">')
+INSERT INTO BANNERDATA VALUES('CATS','<image src="../images/banner_cats.gif">')
+INSERT INTO BANNERDATA VALUES('DOGS','<image src="../images/banner_dogs.gif">')
+INSERT INTO BANNERDATA VALUES('FISH','<image src="../images/banner_fish.gif">')
+INSERT INTO BANNERDATA VALUES('REPTILES','<image src="../images/banner_reptiles.gif">')
+INSERT INTO ORDERS VALUES('1213712709484-FL-DLH-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213712709484-FI-FW-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213712709484-K9-DL-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213712709484-K9-CW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213712709484-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213712709484-FI-SW-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213712709484-K9-RT-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213712709484-K9-RT-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213712709484-K9-PO-02','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERS VALUES('1213712709484-RP-SN-01','ACID','2006-11-15','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','901 San Antonio Road','MS UCUP02-206','Palo Alto','CA','30253','USA','UPS',22.23,'ACID','Pets','ACID','Pets','999 9999 9999 9999','12/03','Visa','CA')
+INSERT INTO ORDERSTATUS VALUES(1000,1000,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1001,1001,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1002,1002,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1003,1003,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1004,1004,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1005,1005,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1006,1006,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1007,1007,'2007-05-25','P')
+INSERT INTO ORDERSTATUS VALUES(1008,1008,'2007-05-25','P')
+INSERT INTO CATEGORY VALUES('BIRDS','Birds','<image src="../images/birds_icon.gif"><font size="5" color="blue"> Birds</font>')
+INSERT INTO CATEGORY VALUES('CATS','Cats','<image src="../images/cats_icon.gif"><font size="5" color="blue"> Cats</font>')
+INSERT INTO CATEGORY VALUES('DOGS','Dogs','<image src="../images/dogs_icon.gif"><font size="5" color="blue"> Dogs</font>')
+INSERT INTO CATEGORY VALUES('FISH','Fish','<image src="../images/fish_icon.gif"><font size="5" color="blue"> Fish</font>')
+INSERT INTO CATEGORY VALUES('REPTILES','Reptiles','<image src="../images/reptiles_icon.gif"><font size="5" color="blue"> Reptiles</font>')
+INSERT INTO PRODUCT VALUES('AV-CB-01','BIRDS','Amazon Parrot','<image src="../images/bird4.gif">Great companion for up to 75 years')
+INSERT INTO PRODUCT VALUES('AV-SB-02','BIRDS','Finch','<image src="../images/bird1.gif">Great stress reliever')
+INSERT INTO PRODUCT VALUES('FI-FW-01','FISH','Koi','<image src="../images/fish3.gif">Fresh Water fish from Japan')
+INSERT INTO PRODUCT VALUES('FI-FW-02','FISH','Goldfish','<image src="../images/fish2.gif">Fresh Water fish from China')
+INSERT INTO PRODUCT VALUES('FI-SW-01','FISH','Angelfish','<image src="../images/fish1.jpg">Salt Water fish from Australia')
+INSERT INTO PRODUCT VALUES('FI-SW-02','FISH','Tiger Shark','<image src="../images/fish4.gif">Salt Water fish from Australia')
+INSERT INTO PRODUCT VALUES('FL-DLH-02','CATS','Persian','<image src="../images/cat1.gif">Friendly house cat, doubles as a princess')
+INSERT INTO PRODUCT VALUES('FL-DSH-01','CATS','Manx','<image src="../images/cat3.gif">Great for reducing mouse populations')
+INSERT INTO PRODUCT VALUES('K9-BD-01','DOGS','Bulldog','<image src="../images/dog2.gif">Friendly dog from England')
+INSERT INTO PRODUCT VALUES('K9-CW-01','DOGS','Chihuahua','<image src="../images/dog4.gif">Great companion dog')
+INSERT INTO PRODUCT VALUES('K9-DL-01','DOGS','Dalmation','<image src="../images/dog5.gif">Great dog for a Fire Station')
+INSERT INTO PRODUCT VALUES('K9-PO-02','DOGS','Poodle','<image src="../images/dog6.gif">Cute dog from France')
+INSERT INTO PRODUCT VALUES('K9-RT-01','DOGS','Golden Retriever','<image src="../images/dog1.gif">Great family dog')
+INSERT INTO PRODUCT VALUES('K9-RT-02','DOGS','Labrador Retriever','<image src="../images/dog5.gif">Great hunting dog')
+INSERT INTO PRODUCT VALUES('RP-LI-02','REPTILES','Iguana','<image src="../images/lizard2.gif">Friendly green friend')
+INSERT INTO PRODUCT VALUES('RP-SN-01','REPTILES','Rattlesnake','<image src="../images/lizard3.gif">Doubles as a watch dog')
+INSERT INTO ITEM VALUES('EST-1','FI-SW-01',16.50,10.00,1,'P','Large',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-10','K9-DL-01',18.50,12.00,1,'P','Spotted Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-11','RP-SN-01',18.50,12.00,1,'P','Venomless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-12','RP-SN-01',18.50,12.00,1,'P','Rattleless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-13','RP-LI-02',18.50,12.00,1,'P','Green Adult',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-14','FL-DSH-01',58.50,12.00,1,'P','Tailless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-15','FL-DSH-01',23.50,12.00,1,'P','With tail',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-16','FL-DLH-02',93.50,12.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-17','FL-DLH-02',93.50,12.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-18','AV-CB-01',193.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-19','AV-SB-02',15.50,2.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-2','FI-SW-01',16.50,10.00,1,'P','Small',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-20','FI-FW-02',5.50,2.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-21','FI-FW-02',5.29,1.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-22','K9-RT-02',135.50,100.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-23','K9-RT-02',145.49,100.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-24','K9-RT-02',255.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-25','K9-RT-02',325.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-26','K9-CW-01',125.50,92.00,1,'P','Adult Male',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-27','K9-CW-01',155.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-28','K9-RT-01',155.29,90.00,1,'P','Adult Female',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-3','FI-SW-02',18.50,12.00,1,'P','Toothless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-4','FI-FW-01',18.50,12.00,1,'P','Spotted',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-5','FI-FW-01',18.50,12.00,1,'P','Spotless',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-6','K9-BD-01',18.50,12.00,1,'P','Male Adult',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-7','K9-BD-01',18.50,12.00,1,'P','Female Puppy',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-8','K9-PO-02',18.50,12.00,1,'P','Male Puppy',NULL,NULL,NULL,NULL)
+INSERT INTO ITEM VALUES('EST-9','K9-DL-01',18.50,12.00,1,'P','Spotless Male Puppy',NULL,NULL,NULL,NULL)
+INSERT INTO INVENTORY VALUES('EST-1',10000)
+INSERT INTO INVENTORY VALUES('EST-10',10000)
+INSERT INTO INVENTORY VALUES('EST-11',10000)
+INSERT INTO INVENTORY VALUES('EST-12',10000)
+INSERT INTO INVENTORY VALUES('EST-13',10000)
+INSERT INTO INVENTORY VALUES('EST-14',10000)
+INSERT INTO INVENTORY VALUES('EST-15',10000)
+INSERT INTO INVENTORY VALUES('EST-16',10000)
+INSERT INTO INVENTORY VALUES('EST-17',10000)
+INSERT INTO INVENTORY VALUES('EST-18',10000)
+INSERT INTO INVENTORY VALUES('EST-19',10000)
+INSERT INTO INVENTORY VALUES('EST-2',10000)
+INSERT INTO INVENTORY VALUES('EST-20',10000)
+INSERT INTO INVENTORY VALUES('EST-21',10000)
+INSERT INTO INVENTORY VALUES('EST-22',10000)
+INSERT INTO INVENTORY VALUES('EST-23',10000)
+INSERT INTO INVENTORY VALUES('EST-24',10000)
+INSERT INTO INVENTORY VALUES('EST-25',10000)
+INSERT INTO INVENTORY VALUES('EST-26',10000)
+INSERT INTO INVENTORY VALUES('EST-27',10000)
+INSERT INTO INVENTORY VALUES('EST-28',10000)
+INSERT INTO INVENTORY VALUES('EST-3',10000)
+INSERT INTO INVENTORY VALUES('EST-4',10000)
+INSERT INTO INVENTORY VALUES('EST-5',10000)
+INSERT INTO INVENTORY VALUES('EST-6',10000)
+INSERT INTO INVENTORY VALUES('EST-7',10000)
+INSERT INTO INVENTORY VALUES('EST-8',10000)
+INSERT INTO INVENTORY VALUES('EST-9',10000)
+INSERT INTO SEQUENCE VALUES('linenum',1000)
+INSERT INTO SEQUENCE VALUES('ordernum',1009)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/hsqldb.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/hsqldb.jar (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/hsqldb.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.bat
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.bat 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.bat 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,2 +0,0 @@
-"%JAVA_HOME%/bin/java" -classpath hsqldb.jar org.hsqldb.util.DatabaseManager
-
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.bat (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.bat)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.bat (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.bat 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,2 @@
+"%JAVA_HOME%/bin/java" -classpath hsqldb.jar org.hsqldb.util.DatabaseManager
+
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.sh
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.sh 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.sh 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1 +0,0 @@
-java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.sh (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.sh)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.sh (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/manager.sh 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1 @@
+java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.bat
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.bat 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.bat 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1 +0,0 @@
-"%JAVA_HOME%/bin/java" -classpath hsqldb.jar org.hsqldb.Server -database db
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.bat (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.bat)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.bat (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.bat 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1 @@
+"%JAVA_HOME%/bin/java" -classpath hsqldb.jar org.hsqldb.Server -database db
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,2 +0,0 @@
-server.port=9002
-server.trace=true
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,2 @@
+server.port=9002
+server.trace=true
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.sh
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.sh 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.sh 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1 +0,0 @@
-java -classpath hsqldb.jar org.hsqldb.Server -database db
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.sh (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.sh)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.sh (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/05_Database/server.sh 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1 @@
+java -classpath hsqldb.jar org.hsqldb.Server -database db
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/README.html
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/README.html 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/README.html 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,702 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
- <title>JBossESB Quickstart - "Huge Split, Enrich, Transform and Route"</title>
- <style type="text/css">
- body {
- font-family: helvetica
- }
- pre {
- margin-left: 20px;
- background-color: lavender;
- }
- .rhighlight {
- color: red;
- }
- div.indent {
- margin-left: 20px;
- }
- h4 {
- font-style: italic;
- }
- .commentedcode {
- font-size: smaller; color: slategray;
- }
- </style>
-</head>
-<body>
-
-<img src="http://jboss.com/themes/jbosstheme/img/logo.gif"/><br/>
-<h2>JBossESB Quickstart - "Huge Split, Enrich, Transform and Route"</h2>
-<div class="indent">
-
- This Quickstart demonstrates how JBossESB can be used to:
-
- <ol>
- <li>split,</li>
- <li>enrich,</li>
- <li>transform, and</li>
- <li>route</li>
- </ol>
-
- messages of any size, including huge messages i.e. GB size messages.
- <p/>
- <b>Table of Contents:</b>
- <div class="indent">
- <a href="#overview">Overview</a><br/>
- <a href="#main-points">Main Points of Note</a><br/>
- <a href="#illustration">Illustration</a><br/>
- <a href="#running">Running the Quickstart</a><br/>
- <a href="#flash-demo">Flash Demonstration</a><br/>
- <a href="#how-it-works">How it Works</a><br/>
- <div class="indent">
- <a href="#high-level">High Level</a><br/>
- <a href="#splitting-routing">Splitting & Routing Details</a>
- </div>
- </div>
-
- <h3 id="overview">Overview</h3>
-
- Messages can often be received containing data of interest to multiple parties. Extracting and distributing this data
- is a non trivial process. Firstly you have the challenge of physically extracting the message data from the source message.
- Then you need to reassemble the extracted data in a format consumable by each of these parties. Each party may have different
- requirements (different formats etc) and it's the natural responsibility of the ESB to take care of these differing integration
- requirements. Things can get even more complex if the source message does not contain all the information required by the
- interested parties.
- <p/>
- JBossESB features tools that support solving these issues in a declaritive manner i.e. typically, there's no need to write reams of code.
- The ability to parse, split transform and route message fragments is very powerful. These capabilities are also key to solving another
- message processing related usecase encountered in the Enterprise i.e. that of <b>processing huge messages (GBs)</b>. JBossESB's abilty to perform
- complex splitting operations on messages of different formats provides one solution to processing huge messages.
- <p/>
- This quickstart demonstrates these capabilities and walks you through the components involved. The Quickstart is based on
- a usecase where JBossESB is used to process Order messages (EDI format) from the local file system.
- Each Order message contains order header information (orderId, date, customer userId etc), as well as a list of order items
- (productId, quantity etc). JBossESB is used to:
- <ol>
- <li>Split out and route order items whose "price" is less than "17.00" to the "02_Low_Price" Service. The "02_Low_Price"
- Service expects the order item data to:
- <ol type="a">
- <li>be in <b>XML format</b>,</li>
- <li>contain order header data, as well as the order item data, and</li>
- <li>contain additional customer and product data not provided in the source EDI message.</li>
- </ol>
- </li>
- <li>Split out and route order items whose "price" is greater than "190.00" to the "03_High_Price" Service. The "03_High_Price"
- Service expects the order item data to:
- <ol type="a">
- <li>be in a populated <b>Java Object model</b>,</li>
- <li>contain order header data, as well as the order item data, and</li>
- <li>contain additional customer and product data not provided in the source EDI message.</li>
- </ol>
- </li>
- <li>Split out and route order items whose "category" is "REPTILES" to the "04_Reptiles_notify_webservice_proxy" Service. The "04_Reptiles_notify_webservice_proxy"
- Service expects the order item data to:
- <ol type="a">
- <li>be in <b>SOAP format</b> complying with the ReptilesNotifyWS interface (to which the 04_Reptiles_notify_webservice_proxy
- routes the SOAP message using the HttpRouter),</li>
- <li>contain order header data, as well as the order item data, and</li>
- <li>contain additional customer and product data not provided in the source EDI message.</li>
- </ol>
- </li>
- <li>Split out and route all order items to the <b>"Orders" table in the database</b> ("05_Database").</li>
- </ol>
- <p/>
- See the <a href="http://milyn.codehaus.org/jbossesb/huge-split-route-qs/flash/huge-splitting-routing.html">Flash Demonstration of this Quickstart</a>.
-
- <h3 id="main-points">Main Points of Note</h3>
- The main points of note are:
- <ul>
- <li>The split messages don't just contain data from the order item in question, they also contain data
- from the message header (orderId, date etc). This means the split is <b>not just a dumb fragment extraction</b>.
- Data from different fragments (header and order item) needs to be merged together into the new messages.</li>
- <li>The routed messages need to be "<b>Enriched</b>" with additional customer and product data from the database.</li>
- <li>The routed messages are in <b>different formats</b> - XML, Java, SOAP, JDBC.</li>
- <li>Each order item may be sent to <b>multiple parties concurrently</b>.</li>
- <li>Each order item is routed based on content (<b>Content Based Routing</b>).</li>
- </ul>
-
- <h3 id="illustration">Illustration</h3>
- The Quickstart can be illustrated as follows:
- <p/>
- <a href="docs/Overview.png"><img src="docs/Overview.png" width="40%" height="40%" alt="Click to Enlarge..."/></a>
- <p/>
- See the <a href="http://milyn.codehaus.org/jbossesb/huge-split-route-qs/flash/huge-splitting-routing.html">Flash Demonstration of this Quickstart</a>.
-
- <h3 id="running">Running the Quickstart</h3>
- <ol>
- <li>Open 6 command shell windows in the root folder of this quickstart.</li>
- <li>In one of the command shell windows, start your JBoss ESB/Application Server instance.</li>
- <li>In one of the command shell windows, type "ant deploy-jms-dests" to deploy the JMS Queues.</li>
- <li>In one of the command shell windows, change directory into the "05_Database" folder and
- type "server.bat" or "server.sh", depending on your OS.</li>
- <li>In the remaining command shell windows, type the following commands in seperate windows:
- <ul>
- <li>"ant 01_split_enrich_transform_route"</li>
- <li>"ant 02_Low_Price"</li>
- <li>"ant 03_High_Price"</li>
- <li>"ant 04_Reptiles_notify_webservice" (this just builds and deploys the Webservice)</li>
- </ul>
- </li>
- <li>In the 6th command shell window, type "ant createMessage" to execute the message creation
- script. This script will generate an EDI message in the Service input folder.</li>
- </ol>
- <p/>
- See the <a href="http://milyn.codehaus.org/jbossesb/huge-split-route-qs/flash/huge-splitting-routing.html">Flash Demonstration of this Quickstart</a>.
-
- <h3 id="flash-demo">Flash Demonstration</h3>
- See the <a href="http://milyn.codehaus.org/jbossesb/huge-split-route-qs/flash/huge-splitting-routing.html">Flash Demonstration of this Quickstart</a>.
-
- <h3 id="how-it-works">How it Works</h3>
- The main ESB components used in this quickstart (and how they depend on each other) are as follows:
- <ul>
- <li>FileGateway
- <ul>
- <li>FileStreamSplitter
- <ul>
- <li>Smooks
- <ul>
- <li>EdiParser</li>
- <li>FreeMarker</li>
- <li>FragmentRouter
- <ul>ServiceInvoker</ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- <li>HttpRouter</li>
- </ul>
-
- <div class="indent">
- <h4 id="high-level">High Level</h4>
- As can be seen from the <a href="#illustration">illustration above</a>, this quickstart revolves around the
- "01_split_enrich_transform_route" Service deployment. This .esb deployment defines the "SplitterService"
- and "04_Reptiles_notify_webservice_proxy" Services as follows:
-
- <p/>
- <pre>
-<service category="HugeQS" name="SplitterService" description="Splits out the order items and routes them.">
- <listeners>
- <span class="rhighlight"><fs-listener name="FileGateway" busidref="ediFileMessageBus" is-gateway="true" poll-frequency-seconds="2">
- <property name="composer-class" value="org.jboss.soa.esb.smooks.splitting.FileStreamSplitter"/>
- <property name="splitterConfig" value="/smooks_configs/main.xml"/>
- <!-- property name="reportPath" value="/zap/report.html"/ -->
- </fs-listener></span>
- </listeners>
- <actions mep="OneWay">
- <action name="print" class="org.jboss.soa.esb.example.PrintMessage">
- <property name="delay" value="500" />
- </action>
- </actions>
-</service>
-
-<service category="HugeQS" name="04_Reptiles_notify_webservice_proxy" description="Routes the SOAP requests to the 'Reptiles Notification' Webservice">
- <actions mep="OneWay">
- <action name="httprouter" class="org.jboss.soa.esb.actions.routing.http.HttpRouter">
- <property name="endpointUrl" value="http://127.0.0.1:8080/Quickstart_Huge_Enrich_Split_Transform_Route/ReptilesNotifyWS" />
- <property name="method" value="POST" />
- <property name="responseType" value="STRING" />
- </action>
- </actions>
-</service></pre>
- <p/>
-
- The "SplitterService" is of most interest since this is the Service that performs the Splitting & Routing of the Order Items contained in the
- source EDI Order message. The FileGateway is configured with the <code>FileStreamSplitter</code>, which is a specialised MessageComposer implementation.
- The <code>FileStreamSplitter</code> uses <a href="http://milyn.codehaus.org">Smooks</a> to perform the Splitting & Routing of the Order Items.
- <a href="#splitting-routing">We will look at this in more detail later</a>.
- <p/>
- The "04_Reptiles_notify_webservice_proxy" Service is also interesting. It acts as a Webservice proxy service to the "ReptilesNotifyWS" Webservice (<a href="#illustration">see illustration</a>),
- using the <code>HttpRouter</code> to route SOAP payloads received from "SplitterService".
- <p/>
- The "SplitterService" Service also routes split Order Item messages to a number of other Services based on content (Content Based Routing). The "02_Low_Price" and "03_High_Price"
- Services are very simple and effectively the same. The only difference is that the "02_Low_Price" Service receives low priced Order Items as XML, while the
- "03_High_Price" Service receives high priced Order Items as Java Objects. The configuration of the "02_Low_Price" Service is as follows:
-
- <p/>
- <pre>
-<service category="HugeQS" name="02_Low_Price" description="02_Low_Price Service">
- <listeners>
- <jms-listener name="XMLjms" busidref="02XMLBus" />
- </listeners>
- <actions mep="OneWay">
- <action name="print" class="org.jboss.soa.esb.example.PrintMessage" />
- </actions>
-</service></pre>
- <p/>
-
- As can be seen, this Service (and the "03_High_Price" Service) is very simple. It just prints the ESB Message payload to the console.
- <p/>
- The "SplitterService" Service also routes split Order Item messages to the Database. <a href="#splitting-routing">We will look at this in more detail later</a>.
- <p/>
- In all cases where the "SplitterService" Service routes split Order Item messages, the messages are enriched with additional Customer and Product data, which
- it gets from the Database.
-
- <h4 id="splitting-routing">Splitting & Routing Details</h4>
- The incomming EDI messages are in the following format:
-<pre>
-HDR*1213529618453*0*Wed Nov 15 13:45:28 EST 2006
-CUS*ACID
-ORD*0*4*AV-CB-01
-ORD*1*5*FL-DLH-02
-ORD*2*5*AV-CB-01
-... <i>(more ORD segments, 1 per Order Item)</i>...</pre>
- The top level <a href="http://milyn.codehaus.org/Smooks">Smooks</a> configuration for Splitting & Routing this message is:
-<pre>
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- Filter the message using the SAX Filter (i.e. not DOM, so no
- intermediate DOM, so we can process huge messages...
- -->
- <resource-config selector="global-parameters">
- <param name="stream.filter.type">SAX</param>
- </resource-config>
-
- <!-- Import config for parsing this EDI message... -->
- <import file="<a href="#edi-parsing">parse/edi-orders-parser.xml</a>" />
-
- <!-- Import datasource configs... -->
- <import file="<a href="#datasources">database/datasources.xml</a>" />
-
- <!-- Import reference/enrichment data configs - products, accounts etc... -->
- <import file="<a href="#refdata">database/ref-data.xml</a>" />
-
- <!-- Import config for binding order and order-item data into memory... -->
- <import file="<a href="#bindings">bindings.xml</a>" />
-
- <!-- Import config for routing order item XML to the "02_Low_Price" Service... -->
- <import file="<a href="#routing-02_Low_Price">routing/route-to-02_Low_Price_Service.xml</a>" />
-
- <!-- Import config for routing order item Java Objects to the "03_High_Price" Service... -->
- <import file="<a href="#routing-03_High_Price">routing/route-to-03_High_Price_Service.xml</a>" />
-
- <!-- Import config for routing order item Java Objects to the "04_Reptiles_notify_webservice_proxy" Service... -->
- <import file="<a href="#routing-04_Reptiles_notify_webservice_proxy">routing/route-to-04_Reptiles_notify_webservice_proxy.xml</a>" />
-
- <!-- Import config for routing order items to the database... -->
- <import file="<a href="#routing-05_Database">routing/route-to-05_Database.xml</a>" />
-
-</smooks-resource-list></pre>
-
- Detailed explanations for each of the imported resource configuration files are hyperlinked.
-
- <h5 id="edi-parsing">parse/edi-orders-parser.xml</h5>
- This Smooks resource configuration file defines just a single resource; the EDI Parser.
-
-<pre>
-<resource-config selector="org.xml.sax.driver">
- <resource>org.milyn.smooks.edi.SmooksEDIParser</resource>
- <param name="mapping-model"><a href="01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml">/smooks_configs/parse/edi-to-xml-order-mapping.xml</a></param>
-</resource-config></pre>
-
- The "mapping-model" parameter defines the EDI to SAX Event mapping model configuration for the parser. After
- configuring this resource and turning on the Smooks Execution Report we can see the message event stream as produced
- by the EDI Parser:
- <p/>
- <a href="docs/source-model.gif"><img src="docs/source-model.gif" width="40%" height="40%" alt="Click to Enlarge..."/></a>
- <p/>
-
- <h5 id="datasources">database/datasources.xml</h5>
- This Quickstart interfaces to the database for a number of reasons:
- <ol>
- <li>Reading Customer and Product information not presented in the source EDI message. This information is used to enrich
- the split order item messages before routing.</li>
- <li>Persisting Order Item details (Routing to the Database).</li>
- </ol>
- The "database/datasources.xml" Smooks resource configuration file defines the Datasource details for accessing the Database:
-<pre>
-<resource-config selector="$document">
- <resource>org.milyn.db.DirectDataSource</resource>
- <param name="datasource">OrderManagement</param>
- <param name="driver">org.hsqldb.jdbcDriver</param>
- <param name="url">jdbc:hsqldb:hsql://localhost:9002</param>
- <param name="username">sa</param>
- <param name="password"></param>
- <param name="autoCommit">false</param>
-</resource-config></pre>
-
- This Datasource is bound to the Smooks ExecutionContext at the start of message processing (selector="$document" - selects the message root/document event as the lifecycle event).
- Any JDBC Connection created for the ExecutionContext is committed/rolledback and cleaned up at the end of the message processin (selector="$document"). The <b>HtmlReportGenerator</b>
- (Smooks Execution Report Generator) is very useful for visualising this e.g. The "visitBefore" event shows the binding of the Datasource to the ExecutionContext:
- <p/>
- <a href="docs/datasource-vbefore.gif"><img src="docs/datasource-vbefore.gif" width="40%" height="40%" alt="Click to Enlarge..."/></a>
- <p/>
- And the "visitAfter" event shows the cleanup:
- <p/>
- <a href="docs/datasource-vafter.gif"><img src="docs/datasource-vafter.gif" width="40%" height="40%" alt="Click to Enlarge..."/></a>
- <p/>
-
- <h5 id="refdata">database/ref-data.xml</h5>
- The "database/ref-data.xml" resource file configures resource for reading reference/enhancement data from the
- Database. Each resource is commented inline:
-<pre>
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <!--
- At the start of the message, select the list of products and bind it into the bean context
- under the beanId of "products". We only want to do this lookup once Smooks instance i.e. not for
- every message, otherwise we'd kill memory performance. To control this, we set the "resultSetScope"
- param to "APPLICATION". The actual order item product row will be selected from the resultset by
- the ResultsetRowSelector config (below)...
- -->
- <resource-config selector="$document">
- <resource>org.milyn.routing.db.SQLExecutor</resource>
- <param name="datasource">OrderManagement</param>
- <param name="executeBefore">true</param>
- <param name="statement">select productid, name, attr1, listprice, category from product p, item i where p.productid = i.productid</param>
- <param name="resultSetName">products</param>
- <param name="resultSetScope">APPLICATION</param>
- </resource-config>
-
- <!--
- For every order-item, select the appropriate product row from the in-mem "products" reference data
- resultset (see previous resource), using the ResultsetRowSelector. Bind the selected product row back into the
- bean context under a beanId of "product"...
- -->
- <resource-config selector="order-item/product-id">
- <resource>org.milyn.routing.db.ResultsetRowSelector</resource>
- <param name="executeBefore">false</param>
- <param name="resultSetName">products</param>
- <param name="beanId">product</param>
- <param name="where">row.PRODUCTID == orderItem.productId</param>
- <param name="failedSelectError">Unknown Order Item product ID '${orderItem.productId}' on order '${orderDetail.orderNum?c}'.</param>
- </resource-config>
-
- <!--
- At the end of the customer-details/username, select the user account and bind it into the bean context
- under the beanId of "accounts". The users account should be the only entry in this list....
- -->
- <resource-config selector="customer-details">
- <resource>org.milyn.routing.db.SQLExecutor</resource>
- <param name="datasource">OrderManagement</param>
- <param name="statement">select * from ACCOUNT where userid = ${orderDetail.uname}</param>
- <param name="resultSetName">accounts</param>
- </resource-config>
-
-</smooks-resource-list></pre>
- The data read from the Database by the above resources is bound into the bean context and so is available
- to other resources executing under the same ExecutionContext e.g. templating resources, BeanPopulator
- resources etc. The full Products list Resultset is available under the beanId "<b>products</b>", with the
- product for the current Order Item being processed being available under the beanId "<b>product</b>" (see the
- ResultsetRowSelector resource above). The customer account info for the message being processed under the
- ExecutionContext is captured and made available under the beanId of "<b>accounts</b>". We don't select the
- customer account row from the Resultset (using the ResultsetRowSelector - as done with the products Resultset).
- It woult be a good idea to add this ResultsetRowSelector because we could then configure a "failedSelectError".
- It would also mean that the expressions used in other resources to reference the account info (e.g. in templates) wouldn't
- contain the Resultset row indexing characters i.e. "accounts[0]". Instead, we would reference the account
- info using "account" based expressions, which is possibly a little clearer.
-
- <h5 id="bindings">bindings.xml</h5>
- At the heart of nearly all Smooks based message processing is the concept of "binding" data from the Source
- message event stream into memory (into the bean context). Once the data is bound into memory in a Physical or
- Virtual Object Model, it can be used by other Smooks resources such as:
- <ul>
- <li>Templating resources (FreeMarker, XSLT, StringTemplate),</li>
- <li>BeanPopulator resources (Expression Based Bindings),</li>
- <li>Routing resources (Database, File, JMS),</li>
- <li>Resource <condition> expressions,</li>
- <li>Custom Smooks Visitor implementations</li>
- <li>etc, etc, etc...</li>
- </ul>
-
- The populated Object Model may itself be the Result output by the Smooks.filter operation. Basically, the
- data binding functionality provided by the Javabean Cartridge is a very fundamental part of practically
- all Smooks based filtering operations. Without it, you are quite limited in what you can do.
- <p/>
- The "bindings.xml" resource defines the core bindings used in this quickstart. It extracts the Order header
- and Order Item data from the message event stream and binds it into a Virtual Object Model (i.e. a HashMap):
-<pre>
-<!--
- Bind the main order details....
--->
-<resource-config selector="order">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">orderDetail</param>
- <param name="beanClass">java.util.HashMap</param>
- <param name="bindings">
- <binding property="orderNum" selector="header/order-id" type="Long" />
- <binding property="uname" selector="customer-details/username" />
- <binding property="date" selector="header/date" type="OrderDateDecoder" /> <!-- Type defined below -->
- </param>
-</resource-config>
-
-<!--
- Bind each order-item. Not building a list of order items because we only want to have
- one order-item in memory at any one time. This way, we can handle a huge orders with many
- many order items..
--->
-<resource-config selector="order-item">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">orderItem</param>
- <param name="beanClass">java.util.HashMap</param>
- <param name="bindings">
- <binding property="position" selector="order-item/position" type="Integer" />
- <binding property="quantity" selector="order-item/quantity" type="Integer" />
- <binding property="productId" selector="order-item/product-id" />
- </param>
-</resource-config>
-
-<resource-config selector="decoder:OrderDateDecoder">
- <resource>org.milyn.javabean.decoders.DateDecoder</resource>
- <param name="format">EEE MMM dd HH:mm:ss z yyyy</param>
-</resource-config></pre>
-
- Once this data is bound into the bean context (under the beanIds of "orderDetail" and "orderItem"),
- it is available to all other resources executing under the same Smooks ExecutionContext. The key to
- processing huge messages is the fact that we can keep the memory footprint associated with the
- ExecutionContext to a minimum. We do this by only maintaining the current Order Item in memory at
- at any one time i.e. we don't accumulate a list of the Order Items. This also means that
- we need to be able to use the Order Item data (for splitting, routing etc) while we have it in
- memory and before we throw it away in place of the next Order Item in the message event stream.
- In other words, we can't wait for the whole message to be processed before processing the Order Item data;
- everything is done while we are processing the message event stream i.e. binding, templating/transforming,
- routing etc. We do this by targeting these other resources at the same events in the message event stream
- i.e. the <order-item> events.
- <p/>
- This is the most difficult part of Smooks to get your head around i.e. the idea that multiple things are
- conceptually happening in parallel. On the other side, this is where the power of Smooks lies. For this
- reason, Smooks provides a HtmlReportGenerator class to help you visualise Smooks processes. It generates
- a Smooks Execution Report and is the nearest thing to a debugging tool that Smooks currently has. See
- the Smooks User Guide for details.
-
- <h5 id="routing-02_Low_Price">routing/route-to-02_Low_Price_Service.xml</h5>
- This resource configuration file defines the routing resources for the "02_Low_Price"
- Service:
-<pre>
-<!--
- At the end of every order-item, route the order item XML ("02_XML_OrderItem") to the
- "02_Low_Price" Service, if the total is 20 or less...
--->
-<resource-config selector="order-item">
- <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
- <condition>
- <!--<i class="commentedcode">
- product.LISTPRICE * orderItem.quantity <= 17.00
- </i>-->
- </condition>
- <param name="beanId"><span style="color: crimson;">02_XML_OrderItem</span></param> <!-- Populated and bound below... -->
- <param name="serviceCategory">HugeQS</param>
- <param name="serviceName">02_Low_Price</param>
-</resource-config>
-
-<!--
- At the end of every order-item, generate an <ord> split message for the "02_XML" Service
- and bind it back into the bean context under a bean ID of "02_XML_OrderItem"...
- -->
-<resource-config selector="order-item">
- <resource type="ftl"><!--<i class="commentedcode"><ord id="${orderDetail.orderNum?c}" date="${orderDetail.date?string("yyyy-MM-dd")}">
- <customer>
- <name>${accounts[0].LASTNAME}, ${accounts[0].FIRSTNAME}</name>
- <addr1>${accounts[0].ADDR1}</addr1>
- <addr2>${accounts[0].ADDR2}</addr2>
- <city>${accounts[0].CITY}</city>
- <state>${accounts[0].STATE}</state>
- <zip>${accounts[0].ZIP}</zip>
- </customer>
- <productid>${orderItem.productId}</productid>
- <quantity>${orderItem.quantity?c}</quantity>
- <price>${product.LISTPRICE?c}</price>
- <title>${product.NAME} (${product.ATTR1})</title>
-</ord></i>--></resource>
- <param name="action">bindto</param>
- <param name="bindId"><span style="color: crimson;">02_XML_OrderItem</span></param>
-</resource-config>
-</pre>
- So the first resource listed in this configuration simply routes the XML data (generated by the second resource)
- to the "02_Low_Price" Service. The resource is only applied if the specified condition is met. The second resource
- generates the XML message to be routed by applying a FreeMarker template to the data in the bean context. As can be
- seen above, the template sucks in Customer and Product data bound to the bean context <a href="#refdata">from the
- database ("accounts[0]" and "product")</a>, as well as data bound into the bean context <a href="#bindings">from the
- source message itself ("orderDetail" and "orderItem")</a>.
- <p/>
- Both of these resource fire on the visitAfter event of the <order-item>
- element. The order in which they fire depends on the order in which they appear in the resource configs, with the
- visitBefore events firing "first-to-last" and the visitAfter events firing "last-to-first". This is why the templating
- resource is positioned after the routing resource i.e. because we want it's visitAfter to be applied before the
- FragmentRouter visitAfter (uses the ServiceInvoker to route the messages). This all seems a bit complex, but is
- actually intuitive enough if you use the Smooks Execution Report during development because you can see the resources
- and the order in which they are being applied.
- <p/>
- The following illustration shows the resources applied on the visitAfter event for the <order-item> element.
- It shows the FreeMarker template resource being applied before the <code>FragmentRouter</code> resource.
- <p/>
- <a href="docs/02_Low_Price.gif"><img src="docs/02_Low_Price.gif" width="40%" height="40%" alt="Click to Enlarge..." /></a>
- <p/>
-
- <h5 id="routing-03_High_Price">routing/route-to-03_High_Price_Service.xml</h5>
- This resource configuration file defines the routing resources for the "03_High_Price"
- Service:
-<pre>
-<!--
- At the end of every order-item, route the order item Java Objects ("03_order") to the
- "03_High_Price" Service, if the price per item is 190 or more...
--->
-<resource-config selector="order-item">
- <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
- <condition>
- <!--<i class="commentedcode">
- product.LISTPRICE > 190.00
- </i>-->
- </condition>
- <param name="beanId"><span style="color: crimson;">03_order</span></param>
- <param name="serviceCategory">HugeQS</param>
- <param name="serviceName">03_High_Price</param>
-</resource-config>
-
-<!--
- At the end of every order-item, bind together the orderDetail with the current
- order item in a new HashMap and asign it under the beanId "03_order" in the bean
- context. 03_order gets routed by the above config..
--->
-<resource-config selector="order-item">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId"><span style="color: crimson;">03_order</span></param>
- <param name="beanClass">org.jboss.soa.esb.example.highprice.Order</param>
- <param name="bindings">
- <binding property="firstName">accounts[0].FIRSTNAME</binding>
- <binding property="lastName">accounts[0].LASTNAME</binding>
- <binding property="address" selector="${03_address}" />
- <binding property="date">orderDetail.date</binding>
- <binding property="product" selector="${03_product}" />
- <binding property="quantity">orderItem.quantity</binding>
- </param>
-</resource-config>
-
-<resource-config selector="order-item">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">03_address</param>
- <param name="beanClass">org.jboss.soa.esb.example.highprice.Address</param>
- <param name="bindings">
- <binding property="email">accounts[0].EMAIL</binding>
- <binding property="address1">accounts[0].ADDR1</binding>
- <binding property="address2">accounts[0].ADDR2</binding>
- <binding property="city">accounts[0].CITY</binding>
- <binding property="state">accounts[0].STATE</binding>
- </param>
-</resource-config>
-
-<resource-config selector="order-item">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">03_product</param>
- <param name="beanClass">org.jboss.soa.esb.example.highprice.Product</param>
- <param name="bindings">
- <binding property="id">product.PRODUCTID</binding>
- <binding property="title">product.NAME</binding>
- <binding property="category">product.CATEGORY</binding>
- <binding property="price">product.LISTPRICE</binding>
- </param>
-</resource-config></pre>
-
- The first resource specifies the <code>FragmentRouter</code> resource for routing the contents of the "03_order" bean to
- the "03_High_Price" Service, where the product price is greater than 190.00. The other resources specify the <code>BeanPopulator</code>
- resources required for creating and populating the the "03_order" bean Object Model.
- <p/>
- This configuration differs from the <a href="#routing-02_Low_Price">routing/route-to-02_Low_Price_Service.xml</a> configuration
- in that this configuration is routing a Java Object Model as opposed to an XML blob. Also, the binding configurations defined
- in this configuration are different to those defined in the <a href="#bindings">bindings.xml</a> configuration because:
- <ol>
- <li>The data is being bound to a "Physical Object Model" Vs a "Virtual Object Model" i.e.
- <a href="03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java">the Order class</a> Vs a simple HashMap.</li>
- <li>They are "Expression Based Bindings" i.e. the values being bound into the Object Model are coming from expression evaluations defined
- as the child text of the <binding> elements. The bindings defined in <a href="#bindings">bindings.xml</a> are pulling
- their values from the source message. In the case of the expressions defined in this configuration, they are selecting values from
- the bean context. The values being selected were bound to the context by the <a href="#refdata">database/ref-data.xml</a>
- resources.</li>
- </ol>
-
- <h5 id="routing-04_Reptiles_notify_webservice_proxy">routing/route-to-04_Reptiles_notify_webservice_proxy.xml</h5>
- This resource configuration file defines the routing resources for the "04_Reptiles_notify_webservice_proxy"
- Service where the product category is "REPTILES":
-<pre>
-<!--
- At the end of every order-item, route the "Reptiles Notification" SOAP message ("04_SOAP_OrderItem") to the
- "04_Reptiles_notify_webservice_proxy" Service, if the order item product.CATEGORY is "REPTILES"...
--->
-<resource-config selector="order-item">
- <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
- <condition>
- <!--<i class="commentedcode">
- product.CATEGORY == "REPTILES"
- </i>-->
- </condition>
- <param name="beanId"><span style="color: crimson;">04_SOAP_OrderItem</span></param>
- <param name="serviceCategory">HugeQS</param>
- <param name="serviceName">04_Reptiles_notify_webservice_proxy</param>
-</resource-config>
-
-<!--
- At the end of every order-item, generate an <ord> split message for the "02_XML" Service
- and bind it back into the bean context under a bean ID of "02_XML_OrderItem"...
- -->
-<resource-config selector="order-item">
- <resource type="ftl"><!--<i class="commentedcode"><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://ordermanagement/ReptilesNotifyWS">
- <soapenv:Header/>
- <soapenv:Body>
- <ord:notify>
- <notification>
- <date>${orderDetail.date?string("yyyy-MM-dd'T'HH:mm:ss")}</date>
- <email>${accounts[0].EMAIL}</email>
- <firstName>${accounts[0].FIRSTNAME}</firstName>
- <lastName>${accounts[0].LASTNAME}</lastName>
- <product>${product.NAME} (${product.ATTR1})</product>
- <quantity>${orderItem.quantity}</quantity>
- <totalPrice>${product.LISTPRICE?c}</totalPrice>
- </notification>
- </ord:notify>
- </soapenv:Body>
-</soapenv:Envelope></i>--></resource>
- <param name="action">bindto</param>
- <param name="bindId"><span style="color: crimson;">04_SOAP_OrderItem</span></param>
-</resource-config></pre>
-
- This routing configuration is nearly identical to that defined in <a href="#routing-02_Low_Price">routing/route-to-02_Low_Price_Service.xml</a>.
- The only difference is the format of the XML, the destination Service and the condition under which the message is to be routed.
- <p/>
- As can be seen in the <a href="#high-level">04_Reptiles_notify_webservice_proxy Service configuration</a>, these SOAP messages are routed to the
- ReptilesNotifyWS Webservice using the <code>HttpRouter</code>.
-
- <h5 id="routing-05_Database">routing/route-to-05_Database.xml</h5>
- This resource configuration file defines the routing resources for routing Order Item data to the Database:
-<pre>
-<!--
- This resource is needed because we only want to limit the number or orders inserted into the database,
- so we need to count them...
--->
-<resource-config selector="order-item">
- <resource>org.milyn.routing.db.SQLExecutor</resource>
- <param name="executeBefore">true</param>
- <param name="datasource">OrderManagement</param>
- <param name="statement"><i class="commentedcode">select count(*) as "numOrders" from orders</i></param>
- <param name="resultSetName"><span style="color: crimson;">orderCountRS</span></param>
-</resource-config>
-
-<!--
- At the end of every order-item, insert the order details for that order item...
- -->
-<resource-config selector="order-item">
- <resource>org.milyn.routing.db.SQLExecutor</resource>
- <condition>
- <!--
- <span style="color: crimson;">orderCountRS</span>[0].numOrders < 10
- -->
- </condition>
- <param name="executeBefore">false</param>
- <param name="datasource">OrderManagement</param>
- <param name="statement"><i class="commentedcode">INSERT INTO ORDERS VALUES(${orderDetail.orderNum + "-" + product.PRODUCTID}, ${accounts[0].USERID}, ${orderDetail.date}, ${accounts[0].ADDR1}, ${accounts[0].ADDR2}, ${accounts[0].CITY}, ${accounts[0].STATE},'30253','USA', ${accounts[0].ADDR1}, ${accounts[0].ADDR2}, ${accounts[0].CITY}, ${accounts[0].STATE},'30253','USA','UPS',22.23, ${accounts[0].FIRSTNAME}, ${accounts[0].LASTNAME}, ${accounts[0].FIRSTNAME}, ${accounts[0].LASTNAME},'999 9999 9999 9999','12/03','Visa','CA')</i></param>
-</resource-config></pre>
-
- The first resource simply queries the Orders table in the database to get a row count. It binds the result to the bean context
- under the resultSetName (beanId) of "orderCountRS". This row count is then used as the condition on the second <code>SQLExecutor</code> resource,
- which performs the inserts on the orders table.
-
- </div>
-</div>
-
-</body>
-</html>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/README.html (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/README.html)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/README.html (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/README.html 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,702 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <title>JBossESB Quickstart - "Huge Split, Enrich, Transform and Route"</title>
+ <style type="text/css">
+ body {
+ font-family: helvetica
+ }
+ pre {
+ margin-left: 20px;
+ background-color: lavender;
+ }
+ .rhighlight {
+ color: red;
+ }
+ div.indent {
+ margin-left: 20px;
+ }
+ h4 {
+ font-style: italic;
+ }
+ .commentedcode {
+ font-size: smaller; color: slategray;
+ }
+ </style>
+</head>
+<body>
+
+<img src="http://jboss.com/themes/jbosstheme/img/logo.gif"/><br/>
+<h2>JBossESB Quickstart - "Huge Split, Enrich, Transform and Route"</h2>
+<div class="indent">
+
+ This Quickstart demonstrates how JBossESB can be used to:
+
+ <ol>
+ <li>split,</li>
+ <li>enrich,</li>
+ <li>transform, and</li>
+ <li>route</li>
+ </ol>
+
+ messages of any size, including huge messages i.e. GB size messages.
+ <p/>
+ <b>Table of Contents:</b>
+ <div class="indent">
+ <a href="#overview">Overview</a><br/>
+ <a href="#main-points">Main Points of Note</a><br/>
+ <a href="#illustration">Illustration</a><br/>
+ <a href="#running">Running the Quickstart</a><br/>
+ <a href="#flash-demo">Flash Demonstration</a><br/>
+ <a href="#how-it-works">How it Works</a><br/>
+ <div class="indent">
+ <a href="#high-level">High Level</a><br/>
+ <a href="#splitting-routing">Splitting & Routing Details</a>
+ </div>
+ </div>
+
+ <h3 id="overview">Overview</h3>
+
+ Messages can often be received containing data of interest to multiple parties. Extracting and distributing this data
+ is a non trivial process. Firstly you have the challenge of physically extracting the message data from the source message.
+ Then you need to reassemble the extracted data in a format consumable by each of these parties. Each party may have different
+ requirements (different formats etc) and it's the natural responsibility of the ESB to take care of these differing integration
+ requirements. Things can get even more complex if the source message does not contain all the information required by the
+ interested parties.
+ <p/>
+ JBossESB features tools that support solving these issues in a declaritive manner i.e. typically, there's no need to write reams of code.
+ The ability to parse, split transform and route message fragments is very powerful. These capabilities are also key to solving another
+ message processing related usecase encountered in the Enterprise i.e. that of <b>processing huge messages (GBs)</b>. JBossESB's abilty to perform
+ complex splitting operations on messages of different formats provides one solution to processing huge messages.
+ <p/>
+ This quickstart demonstrates these capabilities and walks you through the components involved. The Quickstart is based on
+ a usecase where JBossESB is used to process Order messages (EDI format) from the local file system.
+ Each Order message contains order header information (orderId, date, customer userId etc), as well as a list of order items
+ (productId, quantity etc). JBossESB is used to:
+ <ol>
+ <li>Split out and route order items whose "price" is less than "17.00" to the "02_Low_Price" Service. The "02_Low_Price"
+ Service expects the order item data to:
+ <ol type="a">
+ <li>be in <b>XML format</b>,</li>
+ <li>contain order header data, as well as the order item data, and</li>
+ <li>contain additional customer and product data not provided in the source EDI message.</li>
+ </ol>
+ </li>
+ <li>Split out and route order items whose "price" is greater than "190.00" to the "03_High_Price" Service. The "03_High_Price"
+ Service expects the order item data to:
+ <ol type="a">
+ <li>be in a populated <b>Java Object model</b>,</li>
+ <li>contain order header data, as well as the order item data, and</li>
+ <li>contain additional customer and product data not provided in the source EDI message.</li>
+ </ol>
+ </li>
+ <li>Split out and route order items whose "category" is "REPTILES" to the "04_Reptiles_notify_webservice_proxy" Service. The "04_Reptiles_notify_webservice_proxy"
+ Service expects the order item data to:
+ <ol type="a">
+ <li>be in <b>SOAP format</b> complying with the ReptilesNotifyWS interface (to which the 04_Reptiles_notify_webservice_proxy
+ routes the SOAP message using the HttpRouter),</li>
+ <li>contain order header data, as well as the order item data, and</li>
+ <li>contain additional customer and product data not provided in the source EDI message.</li>
+ </ol>
+ </li>
+ <li>Split out and route all order items to the <b>"Orders" table in the database</b> ("05_Database").</li>
+ </ol>
+ <p/>
+ See the <a href="http://milyn.codehaus.org/jbossesb/huge-split-route-qs/flash/huge-splitting-routing.html">Flash Demonstration of this Quickstart</a>.
+
+ <h3 id="main-points">Main Points of Note</h3>
+ The main points of note are:
+ <ul>
+ <li>The split messages don't just contain data from the order item in question, they also contain data
+ from the message header (orderId, date etc). This means the split is <b>not just a dumb fragment extraction</b>.
+ Data from different fragments (header and order item) needs to be merged together into the new messages.</li>
+ <li>The routed messages need to be "<b>Enriched</b>" with additional customer and product data from the database.</li>
+ <li>The routed messages are in <b>different formats</b> - XML, Java, SOAP, JDBC.</li>
+ <li>Each order item may be sent to <b>multiple parties concurrently</b>.</li>
+ <li>Each order item is routed based on content (<b>Content Based Routing</b>).</li>
+ </ul>
+
+ <h3 id="illustration">Illustration</h3>
+ The Quickstart can be illustrated as follows:
+ <p/>
+ <a href="docs/Overview.png"><img src="docs/Overview.png" width="40%" height="40%" alt="Click to Enlarge..."/></a>
+ <p/>
+ See the <a href="http://milyn.codehaus.org/jbossesb/huge-split-route-qs/flash/huge-splitting-routing.html">Flash Demonstration of this Quickstart</a>.
+
+ <h3 id="running">Running the Quickstart</h3>
+ <ol>
+ <li>Open 6 command shell windows in the root folder of this quickstart.</li>
+ <li>In one of the command shell windows, start your JBoss ESB/Application Server instance.</li>
+ <li>In one of the command shell windows, type "ant deploy-jms-dests" to deploy the JMS Queues.</li>
+ <li>In one of the command shell windows, change directory into the "05_Database" folder and
+ type "server.bat" or "server.sh", depending on your OS.</li>
+ <li>In the remaining command shell windows, type the following commands in seperate windows:
+ <ul>
+ <li>"ant 01_split_enrich_transform_route"</li>
+ <li>"ant 02_Low_Price"</li>
+ <li>"ant 03_High_Price"</li>
+ <li>"ant 04_Reptiles_notify_webservice" (this just builds and deploys the Webservice)</li>
+ </ul>
+ </li>
+ <li>In the 6th command shell window, type "ant createMessage" to execute the message creation
+ script. This script will generate an EDI message in the Service input folder.</li>
+ </ol>
+ <p/>
+ See the <a href="http://milyn.codehaus.org/jbossesb/huge-split-route-qs/flash/huge-splitting-routing.html">Flash Demonstration of this Quickstart</a>.
+
+ <h3 id="flash-demo">Flash Demonstration</h3>
+ See the <a href="http://milyn.codehaus.org/jbossesb/huge-split-route-qs/flash/huge-splitting-routing.html">Flash Demonstration of this Quickstart</a>.
+
+ <h3 id="how-it-works">How it Works</h3>
+ The main ESB components used in this quickstart (and how they depend on each other) are as follows:
+ <ul>
+ <li>FileGateway
+ <ul>
+ <li>FileStreamSplitter
+ <ul>
+ <li>Smooks
+ <ul>
+ <li>EdiParser</li>
+ <li>FreeMarker</li>
+ <li>FragmentRouter
+ <ul>ServiceInvoker</ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li>HttpRouter</li>
+ </ul>
+
+ <div class="indent">
+ <h4 id="high-level">High Level</h4>
+ As can be seen from the <a href="#illustration">illustration above</a>, this quickstart revolves around the
+ "01_split_enrich_transform_route" Service deployment. This .esb deployment defines the "SplitterService"
+ and "04_Reptiles_notify_webservice_proxy" Services as follows:
+
+ <p/>
+ <pre>
+<service category="HugeQS" name="SplitterService" description="Splits out the order items and routes them.">
+ <listeners>
+ <span class="rhighlight"><fs-listener name="FileGateway" busidref="ediFileMessageBus" is-gateway="true" poll-frequency-seconds="2">
+ <property name="composer-class" value="org.jboss.soa.esb.smooks.splitting.FileStreamSplitter"/>
+ <property name="splitterConfig" value="/smooks_configs/main.xml"/>
+ <!-- property name="reportPath" value="/zap/report.html"/ -->
+ </fs-listener></span>
+ </listeners>
+ <actions mep="OneWay">
+ <action name="print" class="org.jboss.soa.esb.example.PrintMessage">
+ <property name="delay" value="500" />
+ </action>
+ </actions>
+</service>
+
+<service category="HugeQS" name="04_Reptiles_notify_webservice_proxy" description="Routes the SOAP requests to the 'Reptiles Notification' Webservice">
+ <actions mep="OneWay">
+ <action name="httprouter" class="org.jboss.soa.esb.actions.routing.http.HttpRouter">
+ <property name="endpointUrl" value="http://127.0.0.1:8080/Quickstart_Huge_Enrich_Split_Transform_Route/ReptilesNotifyWS" />
+ <property name="method" value="POST" />
+ <property name="responseType" value="STRING" />
+ </action>
+ </actions>
+</service></pre>
+ <p/>
+
+ The "SplitterService" is of most interest since this is the Service that performs the Splitting & Routing of the Order Items contained in the
+ source EDI Order message. The FileGateway is configured with the <code>FileStreamSplitter</code>, which is a specialised MessageComposer implementation.
+ The <code>FileStreamSplitter</code> uses <a href="http://milyn.codehaus.org">Smooks</a> to perform the Splitting & Routing of the Order Items.
+ <a href="#splitting-routing">We will look at this in more detail later</a>.
+ <p/>
+ The "04_Reptiles_notify_webservice_proxy" Service is also interesting. It acts as a Webservice proxy service to the "ReptilesNotifyWS" Webservice (<a href="#illustration">see illustration</a>),
+ using the <code>HttpRouter</code> to route SOAP payloads received from "SplitterService".
+ <p/>
+ The "SplitterService" Service also routes split Order Item messages to a number of other Services based on content (Content Based Routing). The "02_Low_Price" and "03_High_Price"
+ Services are very simple and effectively the same. The only difference is that the "02_Low_Price" Service receives low priced Order Items as XML, while the
+ "03_High_Price" Service receives high priced Order Items as Java Objects. The configuration of the "02_Low_Price" Service is as follows:
+
+ <p/>
+ <pre>
+<service category="HugeQS" name="02_Low_Price" description="02_Low_Price Service">
+ <listeners>
+ <jms-listener name="XMLjms" busidref="02XMLBus" />
+ </listeners>
+ <actions mep="OneWay">
+ <action name="print" class="org.jboss.soa.esb.example.PrintMessage" />
+ </actions>
+</service></pre>
+ <p/>
+
+ As can be seen, this Service (and the "03_High_Price" Service) is very simple. It just prints the ESB Message payload to the console.
+ <p/>
+ The "SplitterService" Service also routes split Order Item messages to the Database. <a href="#splitting-routing">We will look at this in more detail later</a>.
+ <p/>
+ In all cases where the "SplitterService" Service routes split Order Item messages, the messages are enriched with additional Customer and Product data, which
+ it gets from the Database.
+
+ <h4 id="splitting-routing">Splitting & Routing Details</h4>
+ The incomming EDI messages are in the following format:
+<pre>
+HDR*1213529618453*0*Wed Nov 15 13:45:28 EST 2006
+CUS*ACID
+ORD*0*4*AV-CB-01
+ORD*1*5*FL-DLH-02
+ORD*2*5*AV-CB-01
+... <i>(more ORD segments, 1 per Order Item)</i>...</pre>
+ The top level <a href="http://milyn.codehaus.org/Smooks">Smooks</a> configuration for Splitting & Routing this message is:
+<pre>
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ Filter the message using the SAX Filter (i.e. not DOM, so no
+ intermediate DOM, so we can process huge messages...
+ -->
+ <resource-config selector="global-parameters">
+ <param name="stream.filter.type">SAX</param>
+ </resource-config>
+
+ <!-- Import config for parsing this EDI message... -->
+ <import file="<a href="#edi-parsing">parse/edi-orders-parser.xml</a>" />
+
+ <!-- Import datasource configs... -->
+ <import file="<a href="#datasources">database/datasources.xml</a>" />
+
+ <!-- Import reference/enrichment data configs - products, accounts etc... -->
+ <import file="<a href="#refdata">database/ref-data.xml</a>" />
+
+ <!-- Import config for binding order and order-item data into memory... -->
+ <import file="<a href="#bindings">bindings.xml</a>" />
+
+ <!-- Import config for routing order item XML to the "02_Low_Price" Service... -->
+ <import file="<a href="#routing-02_Low_Price">routing/route-to-02_Low_Price_Service.xml</a>" />
+
+ <!-- Import config for routing order item Java Objects to the "03_High_Price" Service... -->
+ <import file="<a href="#routing-03_High_Price">routing/route-to-03_High_Price_Service.xml</a>" />
+
+ <!-- Import config for routing order item Java Objects to the "04_Reptiles_notify_webservice_proxy" Service... -->
+ <import file="<a href="#routing-04_Reptiles_notify_webservice_proxy">routing/route-to-04_Reptiles_notify_webservice_proxy.xml</a>" />
+
+ <!-- Import config for routing order items to the database... -->
+ <import file="<a href="#routing-05_Database">routing/route-to-05_Database.xml</a>" />
+
+</smooks-resource-list></pre>
+
+ Detailed explanations for each of the imported resource configuration files are hyperlinked.
+
+ <h5 id="edi-parsing">parse/edi-orders-parser.xml</h5>
+ This Smooks resource configuration file defines just a single resource; the EDI Parser.
+
+<pre>
+<resource-config selector="org.xml.sax.driver">
+ <resource>org.milyn.smooks.edi.SmooksEDIParser</resource>
+ <param name="mapping-model"><a href="01_split_enrich_transform_route/smooks_configs/parse/edi-to-xml-order-mapping.xml">/smooks_configs/parse/edi-to-xml-order-mapping.xml</a></param>
+</resource-config></pre>
+
+ The "mapping-model" parameter defines the EDI to SAX Event mapping model configuration for the parser. After
+ configuring this resource and turning on the Smooks Execution Report we can see the message event stream as produced
+ by the EDI Parser:
+ <p/>
+ <a href="docs/source-model.gif"><img src="docs/source-model.gif" width="40%" height="40%" alt="Click to Enlarge..."/></a>
+ <p/>
+
+ <h5 id="datasources">database/datasources.xml</h5>
+ This Quickstart interfaces to the database for a number of reasons:
+ <ol>
+ <li>Reading Customer and Product information not presented in the source EDI message. This information is used to enrich
+ the split order item messages before routing.</li>
+ <li>Persisting Order Item details (Routing to the Database).</li>
+ </ol>
+ The "database/datasources.xml" Smooks resource configuration file defines the Datasource details for accessing the Database:
+<pre>
+<resource-config selector="$document">
+ <resource>org.milyn.db.DirectDataSource</resource>
+ <param name="datasource">OrderManagement</param>
+ <param name="driver">org.hsqldb.jdbcDriver</param>
+ <param name="url">jdbc:hsqldb:hsql://localhost:9002</param>
+ <param name="username">sa</param>
+ <param name="password"></param>
+ <param name="autoCommit">false</param>
+</resource-config></pre>
+
+ This Datasource is bound to the Smooks ExecutionContext at the start of message processing (selector="$document" - selects the message root/document event as the lifecycle event).
+ Any JDBC Connection created for the ExecutionContext is committed/rolledback and cleaned up at the end of the message processin (selector="$document"). The <b>HtmlReportGenerator</b>
+ (Smooks Execution Report Generator) is very useful for visualising this e.g. The "visitBefore" event shows the binding of the Datasource to the ExecutionContext:
+ <p/>
+ <a href="docs/datasource-vbefore.gif"><img src="docs/datasource-vbefore.gif" width="40%" height="40%" alt="Click to Enlarge..."/></a>
+ <p/>
+ And the "visitAfter" event shows the cleanup:
+ <p/>
+ <a href="docs/datasource-vafter.gif"><img src="docs/datasource-vafter.gif" width="40%" height="40%" alt="Click to Enlarge..."/></a>
+ <p/>
+
+ <h5 id="refdata">database/ref-data.xml</h5>
+ The "database/ref-data.xml" resource file configures resource for reading reference/enhancement data from the
+ Database. Each resource is commented inline:
+<pre>
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <!--
+ At the start of the message, select the list of products and bind it into the bean context
+ under the beanId of "products". We only want to do this lookup once Smooks instance i.e. not for
+ every message, otherwise we'd kill memory performance. To control this, we set the "resultSetScope"
+ param to "APPLICATION". The actual order item product row will be selected from the resultset by
+ the ResultsetRowSelector config (below)...
+ -->
+ <resource-config selector="$document">
+ <resource>org.milyn.routing.db.SQLExecutor</resource>
+ <param name="datasource">OrderManagement</param>
+ <param name="executeBefore">true</param>
+ <param name="statement">select productid, name, attr1, listprice, category from product p, item i where p.productid = i.productid</param>
+ <param name="resultSetName">products</param>
+ <param name="resultSetScope">APPLICATION</param>
+ </resource-config>
+
+ <!--
+ For every order-item, select the appropriate product row from the in-mem "products" reference data
+ resultset (see previous resource), using the ResultsetRowSelector. Bind the selected product row back into the
+ bean context under a beanId of "product"...
+ -->
+ <resource-config selector="order-item/product-id">
+ <resource>org.milyn.routing.db.ResultsetRowSelector</resource>
+ <param name="executeBefore">false</param>
+ <param name="resultSetName">products</param>
+ <param name="beanId">product</param>
+ <param name="where">row.PRODUCTID == orderItem.productId</param>
+ <param name="failedSelectError">Unknown Order Item product ID '${orderItem.productId}' on order '${orderDetail.orderNum?c}'.</param>
+ </resource-config>
+
+ <!--
+ At the end of the customer-details/username, select the user account and bind it into the bean context
+ under the beanId of "accounts". The users account should be the only entry in this list....
+ -->
+ <resource-config selector="customer-details">
+ <resource>org.milyn.routing.db.SQLExecutor</resource>
+ <param name="datasource">OrderManagement</param>
+ <param name="statement">select * from ACCOUNT where userid = ${orderDetail.uname}</param>
+ <param name="resultSetName">accounts</param>
+ </resource-config>
+
+</smooks-resource-list></pre>
+ The data read from the Database by the above resources is bound into the bean context and so is available
+ to other resources executing under the same ExecutionContext e.g. templating resources, BeanPopulator
+ resources etc. The full Products list Resultset is available under the beanId "<b>products</b>", with the
+ product for the current Order Item being processed being available under the beanId "<b>product</b>" (see the
+ ResultsetRowSelector resource above). The customer account info for the message being processed under the
+ ExecutionContext is captured and made available under the beanId of "<b>accounts</b>". We don't select the
+ customer account row from the Resultset (using the ResultsetRowSelector - as done with the products Resultset).
+ It woult be a good idea to add this ResultsetRowSelector because we could then configure a "failedSelectError".
+ It would also mean that the expressions used in other resources to reference the account info (e.g. in templates) wouldn't
+ contain the Resultset row indexing characters i.e. "accounts[0]". Instead, we would reference the account
+ info using "account" based expressions, which is possibly a little clearer.
+
+ <h5 id="bindings">bindings.xml</h5>
+ At the heart of nearly all Smooks based message processing is the concept of "binding" data from the Source
+ message event stream into memory (into the bean context). Once the data is bound into memory in a Physical or
+ Virtual Object Model, it can be used by other Smooks resources such as:
+ <ul>
+ <li>Templating resources (FreeMarker, XSLT, StringTemplate),</li>
+ <li>BeanPopulator resources (Expression Based Bindings),</li>
+ <li>Routing resources (Database, File, JMS),</li>
+ <li>Resource <condition> expressions,</li>
+ <li>Custom Smooks Visitor implementations</li>
+ <li>etc, etc, etc...</li>
+ </ul>
+
+ The populated Object Model may itself be the Result output by the Smooks.filter operation. Basically, the
+ data binding functionality provided by the Javabean Cartridge is a very fundamental part of practically
+ all Smooks based filtering operations. Without it, you are quite limited in what you can do.
+ <p/>
+ The "bindings.xml" resource defines the core bindings used in this quickstart. It extracts the Order header
+ and Order Item data from the message event stream and binds it into a Virtual Object Model (i.e. a HashMap):
+<pre>
+<!--
+ Bind the main order details....
+-->
+<resource-config selector="order">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">orderDetail</param>
+ <param name="beanClass">java.util.HashMap</param>
+ <param name="bindings">
+ <binding property="orderNum" selector="header/order-id" type="Long" />
+ <binding property="uname" selector="customer-details/username" />
+ <binding property="date" selector="header/date" type="OrderDateDecoder" /> <!-- Type defined below -->
+ </param>
+</resource-config>
+
+<!--
+ Bind each order-item. Not building a list of order items because we only want to have
+ one order-item in memory at any one time. This way, we can handle a huge orders with many
+ many order items..
+-->
+<resource-config selector="order-item">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">orderItem</param>
+ <param name="beanClass">java.util.HashMap</param>
+ <param name="bindings">
+ <binding property="position" selector="order-item/position" type="Integer" />
+ <binding property="quantity" selector="order-item/quantity" type="Integer" />
+ <binding property="productId" selector="order-item/product-id" />
+ </param>
+</resource-config>
+
+<resource-config selector="decoder:OrderDateDecoder">
+ <resource>org.milyn.javabean.decoders.DateDecoder</resource>
+ <param name="format">EEE MMM dd HH:mm:ss z yyyy</param>
+</resource-config></pre>
+
+ Once this data is bound into the bean context (under the beanIds of "orderDetail" and "orderItem"),
+ it is available to all other resources executing under the same Smooks ExecutionContext. The key to
+ processing huge messages is the fact that we can keep the memory footprint associated with the
+ ExecutionContext to a minimum. We do this by only maintaining the current Order Item in memory at
+ at any one time i.e. we don't accumulate a list of the Order Items. This also means that
+ we need to be able to use the Order Item data (for splitting, routing etc) while we have it in
+ memory and before we throw it away in place of the next Order Item in the message event stream.
+ In other words, we can't wait for the whole message to be processed before processing the Order Item data;
+ everything is done while we are processing the message event stream i.e. binding, templating/transforming,
+ routing etc. We do this by targeting these other resources at the same events in the message event stream
+ i.e. the <order-item> events.
+ <p/>
+ This is the most difficult part of Smooks to get your head around i.e. the idea that multiple things are
+ conceptually happening in parallel. On the other side, this is where the power of Smooks lies. For this
+ reason, Smooks provides a HtmlReportGenerator class to help you visualise Smooks processes. It generates
+ a Smooks Execution Report and is the nearest thing to a debugging tool that Smooks currently has. See
+ the Smooks User Guide for details.
+
+ <h5 id="routing-02_Low_Price">routing/route-to-02_Low_Price_Service.xml</h5>
+ This resource configuration file defines the routing resources for the "02_Low_Price"
+ Service:
+<pre>
+<!--
+ At the end of every order-item, route the order item XML ("02_XML_OrderItem") to the
+ "02_Low_Price" Service, if the total is 20 or less...
+-->
+<resource-config selector="order-item">
+ <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
+ <condition>
+ <!--<i class="commentedcode">
+ product.LISTPRICE * orderItem.quantity <= 17.00
+ </i>-->
+ </condition>
+ <param name="beanId"><span style="color: crimson;">02_XML_OrderItem</span></param> <!-- Populated and bound below... -->
+ <param name="serviceCategory">HugeQS</param>
+ <param name="serviceName">02_Low_Price</param>
+</resource-config>
+
+<!--
+ At the end of every order-item, generate an <ord> split message for the "02_XML" Service
+ and bind it back into the bean context under a bean ID of "02_XML_OrderItem"...
+ -->
+<resource-config selector="order-item">
+ <resource type="ftl"><!--<i class="commentedcode"><ord id="${orderDetail.orderNum?c}" date="${orderDetail.date?string("yyyy-MM-dd")}">
+ <customer>
+ <name>${accounts[0].LASTNAME}, ${accounts[0].FIRSTNAME}</name>
+ <addr1>${accounts[0].ADDR1}</addr1>
+ <addr2>${accounts[0].ADDR2}</addr2>
+ <city>${accounts[0].CITY}</city>
+ <state>${accounts[0].STATE}</state>
+ <zip>${accounts[0].ZIP}</zip>
+ </customer>
+ <productid>${orderItem.productId}</productid>
+ <quantity>${orderItem.quantity?c}</quantity>
+ <price>${product.LISTPRICE?c}</price>
+ <title>${product.NAME} (${product.ATTR1})</title>
+</ord></i>--></resource>
+ <param name="action">bindto</param>
+ <param name="bindId"><span style="color: crimson;">02_XML_OrderItem</span></param>
+</resource-config>
+</pre>
+ So the first resource listed in this configuration simply routes the XML data (generated by the second resource)
+ to the "02_Low_Price" Service. The resource is only applied if the specified condition is met. The second resource
+ generates the XML message to be routed by applying a FreeMarker template to the data in the bean context. As can be
+ seen above, the template sucks in Customer and Product data bound to the bean context <a href="#refdata">from the
+ database ("accounts[0]" and "product")</a>, as well as data bound into the bean context <a href="#bindings">from the
+ source message itself ("orderDetail" and "orderItem")</a>.
+ <p/>
+ Both of these resource fire on the visitAfter event of the <order-item>
+ element. The order in which they fire depends on the order in which they appear in the resource configs, with the
+ visitBefore events firing "first-to-last" and the visitAfter events firing "last-to-first". This is why the templating
+ resource is positioned after the routing resource i.e. because we want it's visitAfter to be applied before the
+ FragmentRouter visitAfter (uses the ServiceInvoker to route the messages). This all seems a bit complex, but is
+ actually intuitive enough if you use the Smooks Execution Report during development because you can see the resources
+ and the order in which they are being applied.
+ <p/>
+ The following illustration shows the resources applied on the visitAfter event for the <order-item> element.
+ It shows the FreeMarker template resource being applied before the <code>FragmentRouter</code> resource.
+ <p/>
+ <a href="docs/02_Low_Price.gif"><img src="docs/02_Low_Price.gif" width="40%" height="40%" alt="Click to Enlarge..." /></a>
+ <p/>
+
+ <h5 id="routing-03_High_Price">routing/route-to-03_High_Price_Service.xml</h5>
+ This resource configuration file defines the routing resources for the "03_High_Price"
+ Service:
+<pre>
+<!--
+ At the end of every order-item, route the order item Java Objects ("03_order") to the
+ "03_High_Price" Service, if the price per item is 190 or more...
+-->
+<resource-config selector="order-item">
+ <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
+ <condition>
+ <!--<i class="commentedcode">
+ product.LISTPRICE > 190.00
+ </i>-->
+ </condition>
+ <param name="beanId"><span style="color: crimson;">03_order</span></param>
+ <param name="serviceCategory">HugeQS</param>
+ <param name="serviceName">03_High_Price</param>
+</resource-config>
+
+<!--
+ At the end of every order-item, bind together the orderDetail with the current
+ order item in a new HashMap and asign it under the beanId "03_order" in the bean
+ context. 03_order gets routed by the above config..
+-->
+<resource-config selector="order-item">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId"><span style="color: crimson;">03_order</span></param>
+ <param name="beanClass">org.jboss.soa.esb.example.highprice.Order</param>
+ <param name="bindings">
+ <binding property="firstName">accounts[0].FIRSTNAME</binding>
+ <binding property="lastName">accounts[0].LASTNAME</binding>
+ <binding property="address" selector="${03_address}" />
+ <binding property="date">orderDetail.date</binding>
+ <binding property="product" selector="${03_product}" />
+ <binding property="quantity">orderItem.quantity</binding>
+ </param>
+</resource-config>
+
+<resource-config selector="order-item">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">03_address</param>
+ <param name="beanClass">org.jboss.soa.esb.example.highprice.Address</param>
+ <param name="bindings">
+ <binding property="email">accounts[0].EMAIL</binding>
+ <binding property="address1">accounts[0].ADDR1</binding>
+ <binding property="address2">accounts[0].ADDR2</binding>
+ <binding property="city">accounts[0].CITY</binding>
+ <binding property="state">accounts[0].STATE</binding>
+ </param>
+</resource-config>
+
+<resource-config selector="order-item">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">03_product</param>
+ <param name="beanClass">org.jboss.soa.esb.example.highprice.Product</param>
+ <param name="bindings">
+ <binding property="id">product.PRODUCTID</binding>
+ <binding property="title">product.NAME</binding>
+ <binding property="category">product.CATEGORY</binding>
+ <binding property="price">product.LISTPRICE</binding>
+ </param>
+</resource-config></pre>
+
+ The first resource specifies the <code>FragmentRouter</code> resource for routing the contents of the "03_order" bean to
+ the "03_High_Price" Service, where the product price is greater than 190.00. The other resources specify the <code>BeanPopulator</code>
+ resources required for creating and populating the the "03_order" bean Object Model.
+ <p/>
+ This configuration differs from the <a href="#routing-02_Low_Price">routing/route-to-02_Low_Price_Service.xml</a> configuration
+ in that this configuration is routing a Java Object Model as opposed to an XML blob. Also, the binding configurations defined
+ in this configuration are different to those defined in the <a href="#bindings">bindings.xml</a> configuration because:
+ <ol>
+ <li>The data is being bound to a "Physical Object Model" Vs a "Virtual Object Model" i.e.
+ <a href="03_High_Price/src/org/jboss/soa/esb/example/highprice/Order.java">the Order class</a> Vs a simple HashMap.</li>
+ <li>They are "Expression Based Bindings" i.e. the values being bound into the Object Model are coming from expression evaluations defined
+ as the child text of the <binding> elements. The bindings defined in <a href="#bindings">bindings.xml</a> are pulling
+ their values from the source message. In the case of the expressions defined in this configuration, they are selecting values from
+ the bean context. The values being selected were bound to the context by the <a href="#refdata">database/ref-data.xml</a>
+ resources.</li>
+ </ol>
+
+ <h5 id="routing-04_Reptiles_notify_webservice_proxy">routing/route-to-04_Reptiles_notify_webservice_proxy.xml</h5>
+ This resource configuration file defines the routing resources for the "04_Reptiles_notify_webservice_proxy"
+ Service where the product category is "REPTILES":
+<pre>
+<!--
+ At the end of every order-item, route the "Reptiles Notification" SOAP message ("04_SOAP_OrderItem") to the
+ "04_Reptiles_notify_webservice_proxy" Service, if the order item product.CATEGORY is "REPTILES"...
+-->
+<resource-config selector="order-item">
+ <resource>org.jboss.soa.esb.smooks.FragmentRouter</resource>
+ <condition>
+ <!--<i class="commentedcode">
+ product.CATEGORY == "REPTILES"
+ </i>-->
+ </condition>
+ <param name="beanId"><span style="color: crimson;">04_SOAP_OrderItem</span></param>
+ <param name="serviceCategory">HugeQS</param>
+ <param name="serviceName">04_Reptiles_notify_webservice_proxy</param>
+</resource-config>
+
+<!--
+ At the end of every order-item, generate an <ord> split message for the "02_XML" Service
+ and bind it back into the bean context under a bean ID of "02_XML_OrderItem"...
+ -->
+<resource-config selector="order-item">
+ <resource type="ftl"><!--<i class="commentedcode"><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://ordermanagement/ReptilesNotifyWS">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <ord:notify>
+ <notification>
+ <date>${orderDetail.date?string("yyyy-MM-dd'T'HH:mm:ss")}</date>
+ <email>${accounts[0].EMAIL}</email>
+ <firstName>${accounts[0].FIRSTNAME}</firstName>
+ <lastName>${accounts[0].LASTNAME}</lastName>
+ <product>${product.NAME} (${product.ATTR1})</product>
+ <quantity>${orderItem.quantity}</quantity>
+ <totalPrice>${product.LISTPRICE?c}</totalPrice>
+ </notification>
+ </ord:notify>
+ </soapenv:Body>
+</soapenv:Envelope></i>--></resource>
+ <param name="action">bindto</param>
+ <param name="bindId"><span style="color: crimson;">04_SOAP_OrderItem</span></param>
+</resource-config></pre>
+
+ This routing configuration is nearly identical to that defined in <a href="#routing-02_Low_Price">routing/route-to-02_Low_Price_Service.xml</a>.
+ The only difference is the format of the XML, the destination Service and the condition under which the message is to be routed.
+ <p/>
+ As can be seen in the <a href="#high-level">04_Reptiles_notify_webservice_proxy Service configuration</a>, these SOAP messages are routed to the
+ ReptilesNotifyWS Webservice using the <code>HttpRouter</code>.
+
+ <h5 id="routing-05_Database">routing/route-to-05_Database.xml</h5>
+ This resource configuration file defines the routing resources for routing Order Item data to the Database:
+<pre>
+<!--
+ This resource is needed because we only want to limit the number or orders inserted into the database,
+ so we need to count them...
+-->
+<resource-config selector="order-item">
+ <resource>org.milyn.routing.db.SQLExecutor</resource>
+ <param name="executeBefore">true</param>
+ <param name="datasource">OrderManagement</param>
+ <param name="statement"><i class="commentedcode">select count(*) as "numOrders" from orders</i></param>
+ <param name="resultSetName"><span style="color: crimson;">orderCountRS</span></param>
+</resource-config>
+
+<!--
+ At the end of every order-item, insert the order details for that order item...
+ -->
+<resource-config selector="order-item">
+ <resource>org.milyn.routing.db.SQLExecutor</resource>
+ <condition>
+ <!--
+ <span style="color: crimson;">orderCountRS</span>[0].numOrders < 10
+ -->
+ </condition>
+ <param name="executeBefore">false</param>
+ <param name="datasource">OrderManagement</param>
+ <param name="statement"><i class="commentedcode">INSERT INTO ORDERS VALUES(${orderDetail.orderNum + "-" + product.PRODUCTID}, ${accounts[0].USERID}, ${orderDetail.date}, ${accounts[0].ADDR1}, ${accounts[0].ADDR2}, ${accounts[0].CITY}, ${accounts[0].STATE},'30253','USA', ${accounts[0].ADDR1}, ${accounts[0].ADDR2}, ${accounts[0].CITY}, ${accounts[0].STATE},'30253','USA','UPS',22.23, ${accounts[0].FIRSTNAME}, ${accounts[0].LASTNAME}, ${accounts[0].FIRSTNAME}, ${accounts[0].LASTNAME},'999 9999 9999 9999','12/03','Visa','CA')</i></param>
+</resource-config></pre>
+
+ The first resource simply queries the Orders table in the database to get a row count. It binds the result to the bean context
+ under the resultSetName (beanId) of "orderCountRS". This row count is then used as the condition on the second <code>SQLExecutor</code> resource,
+ which performs the inserts on the orders table.
+
+ </div>
+</div>
+
+</body>
+</html>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/build.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,134 +0,0 @@
-<project name="Quickstart_Huge_Enrich_Split_Transform_Route" default="run" basedir=".">
-
- <description>
- ${ant.project.name}
- ${line.separator}
- </description>
-
- <!-- Import the base Ant build script... -->
- <import file="../conf/base-build.xml"/>
-
- <target name="01_split_enrich_transform_route" depends="compile,compile_high_price_model" description="run split_transform_route Service">
- <echo>Split Enrich Transform Route Service:</echo>
- <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
- <!-- jvmarg value="-Xdebug"/>
- <jvmarg value="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"/ -->
- <arg value="${basedir}/01_split_enrich_transform_route/jbossesb.xml"/>
- <classpath>
- <fileset dir="05_Database" includes="hsqldb.jar"/>
- <pathelement location="01_split_enrich_transform_route" />
- <pathelement location="03_High_Price/classes" />
- <path refid="exec-classpath" />
- </classpath>
- </java>
- </target>
-
- <target name="02_Low_Price" depends="compile" description="run 02_XML Service">
- <echo>02_Low_Price Service:</echo>
- <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
- <arg value="${basedir}/02_Low_Price/jbossesb.xml"/>
- <classpath>
- <path refid="exec-classpath" />
- </classpath>
- </java>
- </target>
-
- <target name="03_High_Price" depends="compile_high_price_model" description="run 03_JavaObjects Service">
- <echo>03_High_Price Service:</echo>
- <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
- <arg value="${basedir}/03_High_Price/jbossesb.xml"/>
- <classpath>
- <path refid="exec-classpath" />
- <pathelement location="03_High_Price/classes" />
- </classpath>
- </java>
- </target>
-
- <target name="04_Reptiles_notify_webservice" depends="compile">
- <antcall target="quickstart-specific-assemblies" />
- <copy todir="${org.jboss.esb.server.deploy.dir}" file="build/${ant.project.name}.war"/>
-
- <echo message="*" />
- <echo message="****************************************************************************************************" />
- <echo message="The Reptile Notification Webservice has been deployed to '${org.jboss.esb.server.deploy.dir}'." />
- <echo message="****************************************************************************************************" />
- <echo message="*" />
- </target>
-
- <target name="createMessage" depends="compile" description="Create the input message.">
- <echo>Creating input message...</echo>
- <input message="How many Order Items should the message contain? (Simply press return for 20 Order Items)" defaultvalue="20" addproperty="numOrderItems" />
- <java fork="yes" classname="org.jboss.soa.esb.example.MessageGenerator" failonerror="true">
- <arg value="${numOrderItems}"/>
- <classpath refid="exec-classpath"/>
- </java>
- </target>
-
- <target name="compile_high_price_model" depends="compile" >
- <!-- Compile the 03_High_Price object model... -->
- <delete dir="03_High_Price/classes" />
- <mkdir dir="03_High_Price/classes" />
- <javac srcdir="03_High_Price/src" destdir="03_High_Price/classes" debug="true" deprecation="true">
- <classpath refid="compile-classpath" />
- </javac>
- </target>
-
- <target name="generate_order_binding_template" depends="compile_high_price_model" description="Generate 03_High_Price Order Binding Template">
- <java fork="yes" classname="org.milyn.javabean.gen.ConfigGenerator" failonerror="true">
- <arg value="-c"/>
- <arg value="org.jboss.soa.esb.example.highprice.Order"/>
- <arg value="-o"/>
- <arg value="01_split_enrich_transform_route/smooks_configs/routing/order-binding-template.xml"/>
- <classpath>
- <path refid="exec-classpath" />
- <pathelement location="03_High_Price/classes" />
- </classpath>
- </java>
- </target>
-
- <target name="select" description="Select the orders from the database">
- <sql print="true" driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost:9002" userid="sa" autocommit="true" password="" classpath="05_Database/hsqldb.jar">
- <transaction>select * from orders</transaction>
- </sql>
- </target>
-
- <target name="delete" description="Delete the orders in the database">
- <sql print="true" driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost:9002" userid="sa" autocommit="true" password="" classpath="05_Database/hsqldb.jar">
- <transaction>delete from orders</transaction>
- </sql>
- </target>
-
- <target name="quickstart-specific-checks" depends="assert-ws-available"/>
-
- <target name="quickstart-specific-dependencies">
- <path id="quickstart-dependencies-classpath">
- <fileset dir="${org.jboss.esb.server.home}/client" includes="jbossws-client.jar,jboss-remoting.jar" />
- </path>
- </target>
-
- <target name="quickstart-specific-assemblies">
-
- <!-- Compile the 03_High_Price object model... -->
- <delete dir="03_High_Price/classes" />
- <mkdir dir="03_High_Price/classes" />
- <javac srcdir="03_High_Price/src" destdir="03_High_Price/classes" debug="true" deprecation="true">
- <classpath refid="compile-classpath" />
- </javac>
-
- <!-- Compile the webservice... -->
- <delete dir="04_Reptiles_notify_webservice/WEB-INF/classes" />
- <mkdir dir="04_Reptiles_notify_webservice/WEB-INF/classes" />
- <javac srcdir="04_Reptiles_notify_webservice/WEB-INF/src" destdir="04_Reptiles_notify_webservice/WEB-INF/classes" debug="true" deprecation="true">
- <classpath refid="compile-classpath" />
- </javac>
-
- <!-- Assemble the webservice... -->
- <war warfile="build/${ant.project.name}.war" webxml="04_Reptiles_notify_webservice/WEB-INF/web.xml" basedir="04_Reptiles_notify_webservice" />
- </target>
-
- <target name="quickstart-specific-clean">
- <delete dir="03_High_Price/classes" />
- <delete dir="04_Reptiles_notify_webservice/WEB-INF/classes" />
- </target>
-
-</project>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/build.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/build.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/build.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,134 @@
+<project name="Quickstart_Huge_Enrich_Split_Transform_Route" default="run" basedir=".">
+
+ <description>
+ ${ant.project.name}
+ ${line.separator}
+ </description>
+
+ <!-- Import the base Ant build script... -->
+ <import file="../conf/base-build.xml"/>
+
+ <target name="01_split_enrich_transform_route" depends="compile,compile_high_price_model" description="run split_transform_route Service">
+ <echo>Split Enrich Transform Route Service:</echo>
+ <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+ <!-- jvmarg value="-Xdebug"/>
+ <jvmarg value="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"/ -->
+ <arg value="${basedir}/01_split_enrich_transform_route/jbossesb.xml"/>
+ <classpath>
+ <fileset dir="05_Database" includes="hsqldb.jar"/>
+ <pathelement location="01_split_enrich_transform_route" />
+ <pathelement location="03_High_Price/classes" />
+ <path refid="exec-classpath" />
+ </classpath>
+ </java>
+ </target>
+
+ <target name="02_Low_Price" depends="compile" description="run 02_XML Service">
+ <echo>02_Low_Price Service:</echo>
+ <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+ <arg value="${basedir}/02_Low_Price/jbossesb.xml"/>
+ <classpath>
+ <path refid="exec-classpath" />
+ </classpath>
+ </java>
+ </target>
+
+ <target name="03_High_Price" depends="compile_high_price_model" description="run 03_JavaObjects Service">
+ <echo>03_High_Price Service:</echo>
+ <java fork="yes" classname="org.jboss.soa.esb.listeners.StandAloneBootStrapper" failonerror="true">
+ <arg value="${basedir}/03_High_Price/jbossesb.xml"/>
+ <classpath>
+ <path refid="exec-classpath" />
+ <pathelement location="03_High_Price/classes" />
+ </classpath>
+ </java>
+ </target>
+
+ <target name="04_Reptiles_notify_webservice" depends="compile">
+ <antcall target="quickstart-specific-assemblies" />
+ <copy todir="${org.jboss.esb.server.deploy.dir}" file="build/${ant.project.name}.war"/>
+
+ <echo message="*" />
+ <echo message="****************************************************************************************************" />
+ <echo message="The Reptile Notification Webservice has been deployed to '${org.jboss.esb.server.deploy.dir}'." />
+ <echo message="****************************************************************************************************" />
+ <echo message="*" />
+ </target>
+
+ <target name="createMessage" depends="compile" description="Create the input message.">
+ <echo>Creating input message...</echo>
+ <input message="How many Order Items should the message contain? (Simply press return for 20 Order Items)" defaultvalue="20" addproperty="numOrderItems" />
+ <java fork="yes" classname="org.jboss.soa.esb.example.MessageGenerator" failonerror="true">
+ <arg value="${numOrderItems}"/>
+ <classpath refid="exec-classpath"/>
+ </java>
+ </target>
+
+ <target name="compile_high_price_model" depends="compile" >
+ <!-- Compile the 03_High_Price object model... -->
+ <delete dir="03_High_Price/classes" />
+ <mkdir dir="03_High_Price/classes" />
+ <javac srcdir="03_High_Price/src" destdir="03_High_Price/classes" debug="true" deprecation="true">
+ <classpath refid="compile-classpath" />
+ </javac>
+ </target>
+
+ <target name="generate_order_binding_template" depends="compile_high_price_model" description="Generate 03_High_Price Order Binding Template">
+ <java fork="yes" classname="org.milyn.javabean.gen.ConfigGenerator" failonerror="true">
+ <arg value="-c"/>
+ <arg value="org.jboss.soa.esb.example.highprice.Order"/>
+ <arg value="-o"/>
+ <arg value="01_split_enrich_transform_route/smooks_configs/routing/order-binding-template.xml"/>
+ <classpath>
+ <path refid="exec-classpath" />
+ <pathelement location="03_High_Price/classes" />
+ </classpath>
+ </java>
+ </target>
+
+ <target name="select" description="Select the orders from the database">
+ <sql print="true" driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost:9002" userid="sa" autocommit="true" password="" classpath="05_Database/hsqldb.jar">
+ <transaction>select * from orders</transaction>
+ </sql>
+ </target>
+
+ <target name="delete" description="Delete the orders in the database">
+ <sql print="true" driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost:9002" userid="sa" autocommit="true" password="" classpath="05_Database/hsqldb.jar">
+ <transaction>delete from orders</transaction>
+ </sql>
+ </target>
+
+ <target name="quickstart-specific-checks" depends="assert-ws-available"/>
+
+ <target name="quickstart-specific-dependencies">
+ <path id="quickstart-dependencies-classpath">
+ <fileset dir="${org.jboss.esb.server.home}/client" includes="jbossws-client.jar,jboss-remoting.jar" />
+ </path>
+ </target>
+
+ <target name="quickstart-specific-assemblies">
+
+ <!-- Compile the 03_High_Price object model... -->
+ <delete dir="03_High_Price/classes" />
+ <mkdir dir="03_High_Price/classes" />
+ <javac srcdir="03_High_Price/src" destdir="03_High_Price/classes" debug="true" deprecation="true">
+ <classpath refid="compile-classpath" />
+ </javac>
+
+ <!-- Compile the webservice... -->
+ <delete dir="04_Reptiles_notify_webservice/WEB-INF/classes" />
+ <mkdir dir="04_Reptiles_notify_webservice/WEB-INF/classes" />
+ <javac srcdir="04_Reptiles_notify_webservice/WEB-INF/src" destdir="04_Reptiles_notify_webservice/WEB-INF/classes" debug="true" deprecation="true">
+ <classpath refid="compile-classpath" />
+ </javac>
+
+ <!-- Assemble the webservice... -->
+ <war warfile="build/${ant.project.name}.war" webxml="04_Reptiles_notify_webservice/WEB-INF/web.xml" basedir="04_Reptiles_notify_webservice" />
+ </target>
+
+ <target name="quickstart-specific-clean">
+ <delete dir="03_High_Price/classes" />
+ <delete dir="04_Reptiles_notify_webservice/WEB-INF/classes" />
+ </target>
+
+</project>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/docs)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/02_Low_Price.gif
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/02_Low_Price.gif (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/docs/02_Low_Price.gif)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.odp
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.odp (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.odp)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.png
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.png (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/docs/Overview.png)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vafter.gif
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vafter.gif (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vafter.gif)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vbefore.gif
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vbefore.gif (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/docs/datasource-vbefore.gif)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/source-model.gif
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/docs/source-model.gif (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/docs/source-model.gif)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbm-queue-service.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/jbm-queue-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbm-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<server>
- <mbean code="org.jboss.jms.server.destination.QueueService"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_HugeSplitTransRoute_02_XML"
- xmbean-dd="xmdesc/Queue-xmbean.xml">
- <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
- <depends>jboss.messaging:service=PostOffice</depends>
- </mbean>
- <mbean code="org.jboss.jms.server.destination.QueueService"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_HugeSplitTransRoute_JavaObjects"
- xmbean-dd="xmdesc/Queue-xmbean.xml">
- <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
- <depends>jboss.messaging:service=PostOffice</depends>
- </mbean>
-</server>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbm-queue-service.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/jbm-queue-service.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbm-queue-service.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbm-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_HugeSplitTransRoute_02_XML"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_HugeSplitTransRoute_JavaObjects"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbmq-queue-service.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/jbmq-queue-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbmq-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<server>
- <mbean code="org.jboss.mq.server.jmx.Queue"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_HugeSplitTransRoute_02_XML">
- <depends optional-attribute-name="DestinationManager">
- jboss.mq:service=DestinationManager
- </depends>
- </mbean>
- <mbean code="org.jboss.mq.server.jmx.Queue"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_HugeSplitTransRoute_JavaObjects">
- <depends optional-attribute-name="DestinationManager">
- jboss.mq:service=DestinationManager
- </depends>
- </mbean>
-</server>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbmq-queue-service.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/jbmq-queue-service.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbmq-queue-service.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbmq-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_HugeSplitTransRoute_02_XML">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_HugeSplitTransRoute_JavaObjects">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+</server>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/jbossesb-properties.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- JBoss, Home of Professional Open Source
- Copyright 2006, JBoss Inc., and others contributors as indicated
- by the @authors tag. All rights reserved.
- See the copyright.txt in the distribution for a
- full listing of individual contributors.
- This copyrighted material is made available to anyone wishing to use,
- modify, copy, or redistribute it subject to the terms and conditions
- of the GNU Lesser General Public License, v. 2.1.
- This program is distributed in the hope that it will be useful, but WITHOUT A
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License,
- v.2.1 along with this distribution; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301, USA.
-
- (C) 2005-2006,
- @author JBoss Inc.
--->
-<!-- $Id: jbossesb-unittest-properties.xml $ -->
-<!--
- These options are described in the JBossESB manual.
- Defaults are provided here for convenience only.
-
- Please read through this file prior to using the system, and consider
- updating the specified entries.
--->
-<esb
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
- <properties name="core">
- <property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
- <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
- <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
- </properties>
- <properties name="registry">
- <property name="org.jboss.soa.esb.registry.queryManagerURI"
- value="jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire"/>
- <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI"
- value="jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish" />
- <property name="org.jboss.soa.esb.registry.implementationClass"
- value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
- <property name="org.jboss.soa.esb.registry.factoryClass"
- value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
- <property name="org.jboss.soa.esb.registry.user"
- value="jbossesb"/>
- <property name="org.jboss.soa.esb.registry.password"
- value="password"/>
- <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
- <property name="org.jboss.soa.esb.scout.proxy.transportClass"
- value="org.apache.ws.scout.transport.RMITransport"/>
- </properties>
- <properties name="transports" depends="core">
- <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
- <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
- <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
- <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
- </properties>
- <properties name="connection">
- <property name="min-pool-size" value="5"/>
- <property name="max-pool=size" value="10"/>
- <property name="blocking-timeout-millis" value="5000"/>
- <property name="abandoned-connection-timeout" value="10000"/>
- <property name="abandoned-connection-time-interval" value="30000"/>
- </properties>
- <properties name="dbstore">
- <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/"/>
- <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
- <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
- <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
- <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
- <!--table managed by pool to test for valid connections - created by pool automatically -->
- <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
- <!-- # of milliseconds to timeout waiting for a connection from pool -->
- <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
- <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
- </properties>
- <properties name="messagerouting">
- <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
- </properties>
-</esb>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbossesb-properties.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/jbossesb-properties.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbossesb-properties.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ JBoss, Home of Professional Open Source
+ Copyright 2006, JBoss Inc., and others contributors as indicated
+ by the @authors tag. All rights reserved.
+ See the copyright.txt in the distribution for a
+ full listing of individual contributors.
+ This copyrighted material is made available to anyone wishing to use,
+ modify, copy, or redistribute it subject to the terms and conditions
+ of the GNU Lesser General Public License, v. 2.1.
+ This program is distributed in the hope that it will be useful, but WITHOUT A
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public License,
+ v.2.1 along with this distribution; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02110-1301, USA.
+
+ (C) 2005-2006,
+ @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+ These options are described in the JBossESB manual.
+ Defaults are provided here for convenience only.
+
+ Please read through this file prior to using the system, and consider
+ updating the specified entries.
+-->
+<esb
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+ <properties name="core">
+ <property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
+ <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+ <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+ </properties>
+ <properties name="registry">
+ <property name="org.jboss.soa.esb.registry.queryManagerURI"
+ value="jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire"/>
+ <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI"
+ value="jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish" />
+ <property name="org.jboss.soa.esb.registry.implementationClass"
+ value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
+ <property name="org.jboss.soa.esb.registry.factoryClass"
+ value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
+ <property name="org.jboss.soa.esb.registry.user"
+ value="jbossesb"/>
+ <property name="org.jboss.soa.esb.registry.password"
+ value="password"/>
+ <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
+ <property name="org.jboss.soa.esb.scout.proxy.transportClass"
+ value="org.apache.ws.scout.transport.RMITransport"/>
+ </properties>
+ <properties name="transports" depends="core">
+ <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
+ <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
+ <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
+ <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
+ </properties>
+ <properties name="connection">
+ <property name="min-pool-size" value="5"/>
+ <property name="max-pool=size" value="10"/>
+ <property name="blocking-timeout-millis" value="5000"/>
+ <property name="abandoned-connection-timeout" value="10000"/>
+ <property name="abandoned-connection-time-interval" value="30000"/>
+ </properties>
+ <properties name="dbstore">
+ <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/"/>
+ <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
+ <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
+ <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
+ <!--table managed by pool to test for valid connections - created by pool automatically -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
+ <!-- # of milliseconds to timeout waiting for a connection from pool -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
+ <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
+ </properties>
+ <properties name="messagerouting">
+ <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+ </properties>
+</esb>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jndi.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/jndi.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jndi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,5 +0,0 @@
-java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
-java.naming.provider.url=jnp://localhost:1099
-java.naming.factory.url.pkgs=org.jboss.naming
-java.naming.factory.url.pkgs=org.jnp.interfaces
-
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jndi.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/jndi.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jndi.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/jndi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/juddi.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/juddi.properties 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/juddi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,69 +0,0 @@
-# jUDDI Registry Properties (used by RegistryServer)
-# see http://www.juddi.org for more information
-
-# The UDDI Operator Name
-juddi.operatorName = jUDDI.org
-
-# The i18n locale default codes
-juddi.i18n.languageCode = en
-juddi.i18n.countryCode = US
-
-# The UDDI DiscoveryURL Prefix
-juddi.discoveryURL = http://localhost:8080/juddi/uddiget.jsp?
-
-# The UDDI Operator Contact Email Address
-juddi.operatorEmailAddress = admin at juddi.org
-
-# The maximum name size and maximum number
-# of name elements allows in several of the
-# FindXxxx and SaveXxxx UDDI functions.
-juddi.maxNameLength=255
-juddi.maxNameElementsAllowed=5
-
-# The maximum number of UDDI artifacts allowed
-# per publisher. A value of '-1' indicates any
-# number of artifacts is valid (These values can be
-# overridden at the individual publisher level).
-juddi.maxBusinessesPerPublisher=25
-juddi.maxServicesPerBusiness=20
-juddi.maxBindingsPerService=10
-juddi.maxTModelsPerPublisher=100
-
-# jUDDI Authentication module to use
-juddi.auth = org.apache.juddi.auth.DefaultAuthenticator
-
-# jUDDI DataStore module currently to use
-juddi.dataStore = org.apache.juddi.datastore.jdbc.JDBCDataStore
-
-# use a dataSource (if set to false a direct
-# jdbc connection will be used.
-juddi.isUseDataSource=false
-juddi.jdbcDriver=com.mysql.jdbc.Driver
-juddi.jdbcUrl=jdbc:mysql://localhost:3306/juddi
-juddi.jdbcUsername=root
-juddi.jdbcPassword=admin
-# jUDDI DataSource to use
-# juddi.dataSource=java:comp/env/jdbc/MySqlDS
-
-# jUDDI UUIDGen implementation to use
-juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
-
-# jUDDI Cryptor implementation to use
-juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
-
-# jUDDI Validator to use
-juddi.validator=org.apache.juddi.validator.DefaultValidator
-
-# jUDDI Proxy Properties (used by RegistryProxy)
-juddi.proxy.adminURL = http://localhost:8080/juddi/admin
-juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
-juddi.proxy.publishURL = http://localhost:8080/juddi/publish
-juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
-juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
-juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
-
-# JNDI settings (used by RMITransport)
-java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
-java.naming.provider.url=jnp://localhost:1099
-java.naming.factory.url.pkgs=org.jboss.naming
-
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/juddi.properties (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/juddi.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/juddi.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/juddi.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,69 @@
+# jUDDI Registry Properties (used by RegistryServer)
+# see http://www.juddi.org for more information
+
+# The UDDI Operator Name
+juddi.operatorName = jUDDI.org
+
+# The i18n locale default codes
+juddi.i18n.languageCode = en
+juddi.i18n.countryCode = US
+
+# The UDDI DiscoveryURL Prefix
+juddi.discoveryURL = http://localhost:8080/juddi/uddiget.jsp?
+
+# The UDDI Operator Contact Email Address
+juddi.operatorEmailAddress = admin at juddi.org
+
+# The maximum name size and maximum number
+# of name elements allows in several of the
+# FindXxxx and SaveXxxx UDDI functions.
+juddi.maxNameLength=255
+juddi.maxNameElementsAllowed=5
+
+# The maximum number of UDDI artifacts allowed
+# per publisher. A value of '-1' indicates any
+# number of artifacts is valid (These values can be
+# overridden at the individual publisher level).
+juddi.maxBusinessesPerPublisher=25
+juddi.maxServicesPerBusiness=20
+juddi.maxBindingsPerService=10
+juddi.maxTModelsPerPublisher=100
+
+# jUDDI Authentication module to use
+juddi.auth = org.apache.juddi.auth.DefaultAuthenticator
+
+# jUDDI DataStore module currently to use
+juddi.dataStore = org.apache.juddi.datastore.jdbc.JDBCDataStore
+
+# use a dataSource (if set to false a direct
+# jdbc connection will be used.
+juddi.isUseDataSource=false
+juddi.jdbcDriver=com.mysql.jdbc.Driver
+juddi.jdbcUrl=jdbc:mysql://localhost:3306/juddi
+juddi.jdbcUsername=root
+juddi.jdbcPassword=admin
+# jUDDI DataSource to use
+# juddi.dataSource=java:comp/env/jdbc/MySqlDS
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/log4j.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- ===================================================================== -->
-<!-- -->
-<!-- Log4j Configuration -->
-<!-- -->
-<!-- ===================================================================== -->
-
-<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
-
-<!--
- | For more configuration infromation and examples see the Jakarta Log4j
- | owebsite: http://jakarta.apache.org/log4j
- -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
- <!-- ============================== -->
- <!-- Append messages to the console -->
- <!-- ============================== -->
-
- <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="Target" value="System.out"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
- </layout>
- </appender>
-
- <!-- ================================= -->
- <!-- Preserve messages in a local file -->
- <!-- ================================= -->
-
- <!-- A size based file rolling appender -->
- <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
- <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
- <param name="File" value="./listener.log"/>
- <param name="Append" value="false"/>
- <param name="MaxFileSize" value="500KB"/>
- <param name="MaxBackupIndex" value="1"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
- </layout>
- </appender>
-
- <!-- ================ -->
- <!-- Limit categories -->
- <!-- ================ -->
-
- <category name="org">
- <priority value="INFO"/>
- </category>
- <category name="org.jboss">
- <priority value="WARN"/>
- </category>
- <category name="org.jboss.soa.esb">
- <priority value="INFO"/>
- </category>
- <category name="org.jboss.internal.soa.esb">
- <priority value="ERROR"/>
- </category>
- <category name="org.apache">
- <priority value="ERROR"/>
- </category>
- <category name="quickstart">
- <priority value="INFO"/>
- </category>
- <!-- ======================= -->
- <!-- Setup the Root category -->
- <!-- ======================= -->
-
- <root>
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="FILE"/>
- </root>
-
-</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/log4j.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/log4j.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/log4j.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+ | For more configuration infromation and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="Target" value="System.out"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <!-- A size based file rolling appender -->
+ <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+ <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+ <param name="File" value="./listener.log"/>
+ <param name="Append" value="false"/>
+ <param name="MaxFileSize" value="500KB"/>
+ <param name="MaxBackupIndex" value="1"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <category name="org">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss">
+ <priority value="WARN"/>
+ </category>
+ <category name="org.jboss.soa.esb">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.jboss.internal.soa.esb">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.apache">
+ <priority value="ERROR"/>
+ </category>
+ <category name="quickstart">
+ <priority value="INFO"/>
+ </category>
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb)
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/MessageGenerator.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/MessageGenerator.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/MessageGenerator.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.example;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Random;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class MessageGenerator {
-
- public static void main(String[] args) throws IOException {
- long start = System.currentTimeMillis();
-
- if(args.length != 1) {
- throw new RuntimeException("Must be a single 'numOrderItems' arg.");
- }
-
- int numOrderItems = Integer.parseInt(args[0].trim());
-
- File outFileFile = new File("build/xxx." + start + ".xxx");
- FileWriter messageFile = new FileWriter(outFileFile);
- try {
- messageFile.write("HDR*" + start + "*0*Wed Nov 15 13:45:28 EST 2006\n");
- messageFile.write("CUS*ACID\n");
-
- Random random = new Random();
- for (int i = 0; i < numOrderItems; i++) {
- String productId = products.get(random.nextInt(products.size()));
-
- messageFile.write("ORD*" + i + "*" + (random.nextInt(5) + 1) + "*" + productId + "\n");
- messageFile.flush();
- }
- } finally {
- messageFile.flush();
- messageFile.close();
-
- outFileFile.renameTo(new File("build/" + start + ".edi"));
- System.out.println("Finished. Took " + ((System.currentTimeMillis() - start) / 1000) + " seconds");
- }
- }
-
- private static List<String> products;
-
- static {
- products = Arrays.asList(
- new String[] {"FI-SW-01", "FI-SW-02", "FI-FW-01", "FI-FW-02", "K9-BD-01", "K9-PO-02", "K9-DL-01", "K9-RT-01", "K9-RT-02", "K9-CW-01", "RP-SN-01", "RP-LI-02", "FL-DSH-01", "FL-DLH-02", "AV-CB-01", "AV-SB-02"}
- );
- }
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/MessageGenerator.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/MessageGenerator.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/MessageGenerator.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/MessageGenerator.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.example;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MessageGenerator {
+
+ public static void main(String[] args) throws IOException {
+ long start = System.currentTimeMillis();
+
+ if(args.length != 1) {
+ throw new RuntimeException("Must be a single 'numOrderItems' arg.");
+ }
+
+ int numOrderItems = Integer.parseInt(args[0].trim());
+
+ File outFileFile = new File("build/xxx." + start + ".xxx");
+ FileWriter messageFile = new FileWriter(outFileFile);
+ try {
+ messageFile.write("HDR*" + start + "*0*Wed Nov 15 13:45:28 EST 2006\n");
+ messageFile.write("CUS*ACID\n");
+
+ Random random = new Random();
+ for (int i = 0; i < numOrderItems; i++) {
+ String productId = products.get(random.nextInt(products.size()));
+
+ messageFile.write("ORD*" + i + "*" + (random.nextInt(5) + 1) + "*" + productId + "\n");
+ messageFile.flush();
+ }
+ } finally {
+ messageFile.flush();
+ messageFile.close();
+
+ outFileFile.renameTo(new File("build/" + start + ".edi"));
+ System.out.println("Finished. Took " + ((System.currentTimeMillis() - start) / 1000) + " seconds");
+ }
+ }
+
+ private static List<String> products;
+
+ static {
+ products = Arrays.asList(
+ new String[] {"FI-SW-01", "FI-SW-02", "FI-FW-01", "FI-FW-02", "K9-BD-01", "K9-PO-02", "K9-DL-01", "K9-RT-01", "K9-RT-02", "K9-CW-01", "RP-SN-01", "RP-LI-02", "FL-DSH-01", "FL-DLH-02", "AV-CB-01", "AV-SB-02"}
+ );
+ }
+}
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.example;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class PrintMessage extends AbstractActionPipelineProcessor {
- private int delay;
-
- public PrintMessage(ConfigTree config) {
- delay = Integer.parseInt(config.getAttribute("delay", "100"));
- }
-
- public Message process(Message message) throws ActionProcessingException {
-
- System.out.println("--------Message Received-----------");
- Object payload = message.getBody().get();
- System.out.println(payload.getClass().getName() + ":");
- System.out.println(payload);
- System.out.println("-----------------------------------");
-
- try {
- Thread.sleep(delay);
- } catch (InterruptedException e) {
- // ignore it
- }
-
- return message;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintMessage.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintMessage.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintMessage.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.example;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class PrintMessage extends AbstractActionPipelineProcessor {
+ private int delay;
+
+ public PrintMessage(ConfigTree config) {
+ delay = Integer.parseInt(config.getAttribute("delay", "100"));
+ }
+
+ public Message process(Message message) throws ActionProcessingException {
+
+ System.out.println("--------Message Received-----------");
+ Object payload = message.getBody().get();
+ System.out.println(payload.getClass().getName() + ":");
+ System.out.println(payload);
+ System.out.println("-----------------------------------");
+
+ try {
+ Thread.sleep(delay);
+ } catch (InterruptedException e) {
+ // ignore it
+ }
+
+ return message;
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintVisitor.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintVisitor.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintVisitor.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.example;
-
-import org.milyn.SmooksException;
-import org.milyn.cdr.annotation.ConfigParam;
-import org.milyn.container.ExecutionContext;
-import org.milyn.delivery.sax.SAXElement;
-import org.milyn.delivery.sax.SAXVisitBefore;
-
-import java.io.IOException;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class PrintVisitor implements SAXVisitBefore {
-
- @ConfigParam
- private String message;
-
- public void visitBefore(SAXElement element, ExecutionContext executionContext) throws SmooksException, IOException {
- System.out.println(element + ": " + message);
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintVisitor.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintVisitor.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintVisitor.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/huge-split-enrich-transform-route/src/org/jboss/soa/esb/example/PrintVisitor.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.example;
+
+import org.milyn.SmooksException;
+import org.milyn.cdr.annotation.ConfigParam;
+import org.milyn.container.ExecutionContext;
+import org.milyn.delivery.sax.SAXElement;
+import org.milyn.delivery.sax.SAXVisitBefore;
+
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class PrintVisitor implements SAXVisitBefore {
+
+ @ConfigParam
+ private String message;
+
+ public void visitBefore(SAXElement element, ExecutionContext executionContext) throws SmooksException, IOException {
+ System.out.println(element + ": " + message);
+ }
+}
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jbm-queue-service.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jbm-queue-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jbm-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -28,4 +28,11 @@
</mbean>
+ <mbean code="org.jboss.jms.server.destination.QueueService"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_jms_router_replyToQueue"
+ xmbean-dd="xmdesc/Queue-xmbean.xml">
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+
</server>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jbmq-queue-service.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jbmq-queue-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jbmq-queue-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -17,4 +17,11 @@
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
<depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>
</mbean>
+
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_jms_router_replyToQueue">
+ <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
+ <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>
+ </mbean>
+
</server>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -41,7 +41,7 @@
<action name="printMessage" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value="JMS Secured Quickstart message"/>
- <property name="printfull" value="true"/>
+ <property name="printfull" value="false"/>
</action>
<action name="routeToReplyQueue" class="org.jboss.soa.esb.actions.routing.JMSRouter">
<property name="jndi-context-factory" value="org.jnp.interfaces.NamingContextFactory"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/src/org/jboss/soa/esb/samples/quickstart/jmsrouter/test/SendJMSMessage.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/src/org/jboss/soa/esb/samples/quickstart/jmsrouter/test/SendJMSMessage.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_router/src/org/jboss/soa/esb/samples/quickstart/jmsrouter/test/SendJMSMessage.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -47,6 +47,7 @@
private Session session;
private Destination gatewayDestination;
private Destination responseDestination;
+ private Destination replyToDestination;
private String correlationId;
public void setupConnection(String destination) throws JMSException, NamingException
@@ -59,6 +60,7 @@
gatewayDestination = (Destination) iniCtx.lookup("queue/quickstart_jms_router_Request_gw");
responseDestination = (Destination)iniCtx.lookup(destination);
+ replyToDestination = (Destination) iniCtx.lookup("queue/quickstart_jms_router_replyToQueue");
session = connection.createSession(false, QueueSession.AUTO_ACKNOWLEDGE);
connection.start();
System.out.println("Connection Started");
@@ -76,6 +78,7 @@
MessageProducer producer = session.createProducer(gatewayDestination);
ObjectMessage objectMsg = session.createObjectMessage(msg);
objectMsg.setJMSCorrelationID( correlationId );
+ objectMsg.setJMSReplyTo( replyToDestination );
producer.send(objectMsg);
System.out.println("Sent message with CorrelationID : " + correlationId );
@@ -90,6 +93,7 @@
System.out.println("Received from " + responseDestination + ":");
System.out.println("\t[JMSMessageID : " + jmsMsg.getJMSMessageID() + "]" );
System.out.println("\t[JMSCorrelelationID : " + jmsMsg.getJMSCorrelationID() + "]" );
+ System.out.println("\t[JMSReplyto : " + jmsMsg.getJMSReplyTo() + "]" );
if ( jmsMsg instanceof ObjectMessage )
{
System.out.println("\t[MessageType : ObjectMessage]");
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,6 +4,8 @@
${ant.project.name}
${line.separator}
</description>
+
+ <property name="additional.deploys" value="messaging-db-users-service.xml" />
<!-- Import the base Ant build script... -->
<import file="../conf/base-build.xml"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/deployment.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/deployment.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/deployment.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,4 +1,5 @@
<jbossesb-deployment>
<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_jms_secured_Request_esb</depends>
<depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_jms_secured_Request_gw</depends>
+ <depends>jboss.messaging:service=JMSSecuredQuickstartUserManager</depends>
</jbossesb-deployment>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,10 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMessaging" connection-factory="ConnectionFactory"
- jndi-URL="jnp://127.0.0.1:1099" jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces">
-
+ <jms-provider name="JBossMessaging" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/messaging-db-users-service.xml (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/jms_secured/messaging-db-users-service.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/messaging-db-users-service.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/messaging-db-users-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+
+ <mbean code="org.jboss.jms.server.plugin.JDBCJMSUserManagerService"
+ name="jboss.messaging:service=JMSSecuredQuickstartUserManager"
+ xmbean-dd="xmdesc/JMSUserManager-xmbean.xml">
+
+ <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
+
+ <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
+
+ <attribute name="DataSource">java:/DefaultDS</attribute>
+
+ <attribute name="CreateTablesOnStartup">true</attribute>
+
+ <attribute name="SqlProperties"><![CDATA[
+POPULATE.TABLES.1 = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('esbuser', 'esbpassword')
+POPULATE.TABLES.2 = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('gatewayuser', 'gwpassword')
+POPULATE.TABLES.3 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('esbrole','esbuser')
+POPULATE.TABLES.4 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('gatewayrole','gatewayuser')
+ ]]></attribute>
+ </mbean>
+
+</server>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/readme.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_secured/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -49,5 +49,10 @@
3. jboss-esb.xml
The message-filter for the jms-bus now specifies 'jms-security-principal' and
'jms-security-credential'
-
-
+ 4. messaging-users.properties and messaging-roles.properties
+ Simple properties files which are used when JBoss Messaging is configured for property file
+ based authentication. These files are copied to the conf/props directory of the jbossesb server
+ in use.
+ 5. messaging-db-users.properties
+ Is a jboss service that insert users and roles into the JBoss Messaging database. This is only used when JBoss
+ Messaging is configured to use a database for managing users and roles.
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_topic/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_topic/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_topic/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -13,10 +13,7 @@
<providers>
- <jms-provider name="JMS" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
-
+ <jms-provider name="JMS" connection-factory="ConnectionFactory">
<jms-bus busid="quickstart-topic">
<jms-message-filter dest-type="TOPIC" dest-name="topic/quickstart_jmstopic_topic"/>
</jms-bus>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_transacted/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_transacted/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_transacted/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,9 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-jca-provider name="JBossMessaging" connection-factory="XAConnectionFactory"
- jndi-URL="jnp://127.0.0.1:1099" jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces">
+ <jms-jca-provider name="JBossMessaging" connection-factory="XAConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_transacted/quickstart-ds.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_transacted/quickstart-ds.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/jms_transacted/quickstart-ds.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,7 +2,7 @@
<datasources>
<local-tx-datasource>
<jndi-name>JmsTransactedDB</jndi-name>
- <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1706</connection-url>
+ <connection-url>jdbc:hsqldb:hsql://localhost:1706</connection-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<user-name>sa</user-name>
<password></password>
@@ -16,7 +16,7 @@
<mbean code="org.jboss.internal.soa.esb.dependencies.HypersonicDatabase"
name="jboss:service=JmsTransactedDB">
<attribute name="Port">1706</attribute>
- <attribute name="BindAddress">${jboss.bind.address}</attribute>
+ <attribute name="BindAddress">localhost</attribute>
<attribute name="Database">JmsTransactedDB</attribute>
<attribute name="Silent">true</attribute>
<attribute name="Trace">false</attribute>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/load_generator/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/load_generator/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/load_generator/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,11 +5,7 @@
<providers>
<jms-provider name="JBossMQ"
- connection-factory="ConnectionFactory"
- jndi-URL="jnp://127.0.0.1:1099"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces">
-
+ connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter dest-type="QUEUE"
dest-name="queue/quickstart_load_generator_Request_gw" />
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/messagefilter/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/messagefilter/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/messagefilter/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,7 +3,6 @@
<providers>
<jms-provider name="JBossMessaging" connection-factory="ConnectionFactory">
-
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/messagestore/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/messagestore/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/messagestore/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,10 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-URL="jnp://127.0.0.1:1099" jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces">
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/native_client/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/native_client/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/native_client/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,9 +3,7 @@
xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartEsbChannel">
<jms-message-filter
dest-type="QUEUE"
@@ -20,7 +18,7 @@
<service category="MyServiceCategory"
name="MyNativeClientService"
- description="A WS Frontend speaks natively to the ESB" >
+ description="A WS Frontend speaks natively to the ESB" invmScope="GLOBAL">
<listeners>
<jms-listener name="JMS-ESBListener"
busidref="quickstartEsbChannel"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/native_client/src/org/jboss/soa/esb/samples/quickstart/nativeclient/MyAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/native_client/src/org/jboss/soa/esb/samples/quickstart/nativeclient/MyAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/native_client/src/org/jboss/soa/esb/samples/quickstart/nativeclient/MyAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -24,6 +24,7 @@
import org.jboss.soa.esb.message.Body;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.actions.AbstractActionLifecycle;
+import org.jboss.soa.esb.actions.ActionProcessingException;
public class MyAction extends AbstractActionLifecycle {
@@ -51,7 +52,9 @@
// Reset the message body contents with the response...
msgBody.add(("Hello From ESB MyAction: " + contents));
- return message;
+ throw new ActionProcessingException("Break!!!!");
+
+ //return message;
}
public void exceptionHandler(Message message, Throwable exception) {
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/scripting_groovy/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/scripting_groovy/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/scripting_groovy/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,10 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/jboss-esb-unfiltered.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/jboss-esb-unfiltered.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/jboss-esb-unfiltered.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -53,22 +53,22 @@
<property name="logBody" value="true"/>
</action>
- <action name="fileToStream" class="org.jboss.soa.esb.actions.converters.FileToStream"/>
+ <action name="fileToStream" class="org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions.FileToStream"/>
<action name="createSourceResult" class="org.jboss.soa.esb.actions.converters.StreamToSourceResult"/>
- <action name="startTime" class="org.jboss.soa.esb.actions.DisplayTimeAction">
+ <action name="startTime" class="org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions.DisplayTimeAction">
<property name="logger" value="SmooksQuickstart"/>
<property name="logLevel" value="info"/>
<property name="format" value="HH:mm:ss"/>
</action>
- <action name="memUsageBefore" class="org.jboss.soa.esb.actions.DisplayMemoryUsageAction">
+ <action name="memUsageBefore" class="org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions.DisplayMemoryUsageAction">
<property name="logger" value="SmooksQuickstart"/>
<property name="logLevel" value="info"/>
</action>
- <action name="transform" class="org.jboss.soa.esb.actions.smooks.SmooksAction">
+ <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
<property name="smooksConfig" value="smooks-config.xml" />
</action>
@@ -81,13 +81,13 @@
<property name="logBody" value="true"/>
</action>
- <action name="endTime" class="org.jboss.soa.esb.actions.DisplayTimeAction">
+ <action name="endTime" class="org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions.DisplayTimeAction">
<property name="logger" value="SmooksQuickstart"/>
<property name="logLevel" value="info"/>
<property name="format" value="HH:mm:ss"/>
</action>
- <action name="memUsageAfter" class="org.jboss.soa.esb.actions.DisplayMemoryUsageAction">
+ <action name="memUsageAfter" class="org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions.DisplayMemoryUsageAction">
<property name="logger" value="SmooksQuickstart"/>
<property name="logLevel" value="info"/>
</action>
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,115 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5" >
-
- <providers>
- <fs-provider name="FSprovider1">
- <fs-bus busid="smooksFileChannel">
- <fs-message-filter
- directory="/opt/jboss/esb/source/trunk2/product/samples/quickstarts/smooks_file_splitter_router/build/dirs/input"
- input-suffix=".xml"
- work-suffix=".esbWorking"
- post-delete="false"
- post-rename="false"
- post-directory="/opt/jboss/esb/source/trunk2/product/samples/quickstarts/smooks_file_splitter_router/build/dirs/output"
- post-suffix=".sentToEsb"
- error-delete="false"
- error-directory="/opt/jboss/esb/source/trunk2/product/samples/quickstarts/smooks_file_splitter_router/build/dirs/error"
- error-suffix=".IN_ERROR"
- />
- </fs-bus>
- </fs-provider>
-
- <jms-provider name="JBossMessaging" connection-factory="ConnectionFactory">
- <jms-bus busid="quickstartEsbChannel">
- <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_smooks_file_splitter_router_esb"/>
- </jms-bus>
-
- </jms-provider>
-
- </providers>
-
- <services>
-
- <service
- category="smooksFileSplitterRouter"
- name="service"
- description="Smooks Quickstart File Router Splitter" >
- <listeners>
- <fs-listener name="FileGateway"
- busidref="smooksFileChannel"
- maxThreads="1"
- is-gateway="true"
- schedule-frequency="10">
- <property name="composer-class" value="org.jboss.soa.esb.listeners.gateway.LocalFileNameMessageComposer"/>
- </fs-listener>
- <jms-listener name="helloWorldFileAction" busidref="quickstartEsbChannel" maxThreads="1" />
- </listeners>
- <actions mep="OneWay">
-
- <action name="logBodyOnEntry" class="org.jboss.soa.esb.actions.LogAction">
- <property name="logger" value="SmooksQuickstart"/>
- <property name="logLevel" value="info"/>
- <property name="message" value="Body upon entering :"/>
- <property name="logBody" value="true"/>
- </action>
-
- <action name="fileToStream" class="org.jboss.soa.esb.actions.converters.FileToStream"/>
-
- <action name="createSourceResult" class="org.jboss.soa.esb.actions.converters.StreamToSourceResult"/>
-
- <action name="startTime" class="org.jboss.soa.esb.actions.DisplayTimeAction">
- <property name="logger" value="SmooksQuickstart"/>
- <property name="logLevel" value="info"/>
- <property name="format" value="HH:mm:ss"/>
- </action>
-
- <action name="memUsageBefore" class="org.jboss.soa.esb.actions.DisplayMemoryUsageAction">
- <property name="logger" value="SmooksQuickstart"/>
- <property name="logLevel" value="info"/>
- </action>
-
- <action name="transform" class="org.jboss.soa.esb.actions.smooks.SmooksAction">
- <property name="smooksConfig" value="smooks-config.xml" />
- </action>
-
- <action name="getFileList" class="org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.GetFileListFromExecutionContext"/>
-
- <action name="logBodyAfterTransform" class="org.jboss.soa.esb.actions.LogAction">
- <property name="logger" value="SmooksQuickstart"/>
- <property name="logLevel" value="info"/>
- <property name="message" value="Body after transform :"/>
- <property name="logBody" value="true"/>
- </action>
-
- <action name="endTime" class="org.jboss.soa.esb.actions.DisplayTimeAction">
- <property name="logger" value="SmooksQuickstart"/>
- <property name="logLevel" value="info"/>
- <property name="format" value="HH:mm:ss"/>
- </action>
-
- <action name="memUsageAfter" class="org.jboss.soa.esb.actions.DisplayMemoryUsageAction">
- <property name="logger" value="SmooksQuickstart"/>
- <property name="logLevel" value="info"/>
- </action>
-
- <action name="notificationAction" class="org.jboss.soa.esb.actions.Notifier">
- <property name="okMethod" value="notifyOK" />
- <property name="notification-details">
- <NotificationList type="ok">
- <target class="NotifyFTPList">
- <ftp URL="ftp://sifo:sifo@localhost//home/sifo/input"
- filename="{org.jboss.soa.esb.gateway.file}"
- listFiles="true"
- deleteListFile="true"/>
- </target>
- </NotificationList>
- </property>
- </action>
-
- <!-- The next action is for Continuous Integration testing -->
- <action name="testStore" class="org.jboss.soa.esb.actions.TestMessageStore" />
- </actions>
- </service>
- </services>
-
-</jbossesb>
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions)
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayMemoryUsageAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayMemoryUsageAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayMemoryUsageAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,62 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions;
-
-import org.jboss.soa.esb.actions.BeanConfiguredAction;
-import org.jboss.soa.esb.actions.LogAction;
-import org.jboss.soa.esb.message.Message;
-
-/**
- * Simple action that shows JVM memory usage.
- * </p>
- * Exemple configuration:
- * <pre>
- *<action name="logMemoryUsageAfter" class="org.jboss.soa.esb.actions.DisplayMemoryUsageAction">
- *</action>
- * </pre>
- * This action support all configuration properties that {@link LogAction} supports.
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- * @since 4.3
- *
- */
-public class DisplayMemoryUsageAction extends LogAction implements BeanConfiguredAction
-{
- public Message process( final Message message )
- {
- final Runtime runtime = Runtime.getRuntime();
- final long maxMemory = runtime.maxMemory();
- final long allocatedMemory = runtime.totalMemory();
- final long freeMemory = runtime.freeMemory();
-
- StringBuilder sb = new StringBuilder();
- sb.append( "Max mem [" ).append( maxMemory /1024 );
- sb.append( "], Allocated mem [" ).append( allocatedMemory / 1024 );
- sb.append( "], Free mem [" ).append( freeMemory / 1024 );
- sb.append( "], Total Free mem [" ).append( (freeMemory + (maxMemory - allocatedMemory)) / 1024 );
- sb.append( "]");
- log( sb.toString() );
-
- return message;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayMemoryUsageAction.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayMemoryUsageAction.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayMemoryUsageAction.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayMemoryUsageAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions;
+
+import org.jboss.soa.esb.actions.BeanConfiguredAction;
+import org.jboss.soa.esb.actions.LogAction;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Simple action that shows JVM memory usage.
+ * </p>
+ * Exemple configuration:
+ * <pre>
+ *<action name="logMemoryUsageAfter" class="org.jboss.soa.esb.actions.DisplayMemoryUsageAction">
+ *</action>
+ * </pre>
+ * This action support all configuration properties that {@link LogAction} supports.
+ *
+ * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
+ * @since 4.3
+ *
+ */
+public class DisplayMemoryUsageAction extends LogAction implements BeanConfiguredAction
+{
+ public Message process( final Message message )
+ {
+ final Runtime runtime = Runtime.getRuntime();
+ final long maxMemory = runtime.maxMemory();
+ final long allocatedMemory = runtime.totalMemory();
+ final long freeMemory = runtime.freeMemory();
+
+ StringBuilder sb = new StringBuilder();
+ sb.append( "Max mem [" ).append( maxMemory /1024 );
+ sb.append( "], Allocated mem [" ).append( allocatedMemory / 1024 );
+ sb.append( "], Free mem [" ).append( freeMemory / 1024 );
+ sb.append( "], Total Free mem [" ).append( (freeMemory + (maxMemory - allocatedMemory)) / 1024 );
+ sb.append( "]");
+ log( sb.toString() );
+
+ return message;
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayTimeAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayTimeAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayTimeAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,67 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.jboss.soa.esb.actions.LogAction;
-import org.jboss.soa.esb.message.Message;
-
-/**
- * Simple action that displays the current time.
- * </p>
- * Exemple configuration:
- * <pre>
- *<action name="displayTime" class="org.jboss.soa.esb.actions.DisplayTimeAction">
- * <property name="format" value="HH:mm:ss:S"/>
- *</action>
- * </pre>
- * This action support all configuration properties that {@link LogAction} supports.
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- * @since 4.3
- *
- */
-public class DisplayTimeAction extends LogAction
-{
- private String format;
-
- public Message process( final Message message )
- {
- SimpleDateFormat formatter = format == null ? new SimpleDateFormat() : new SimpleDateFormat( format );
- log( formatter.format( new Date() ) );
-
- return message;
- }
-
- public String getFormat()
- {
- return format;
- }
-
- public void setFormat( String format )
- {
- this.format = format;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayTimeAction.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayTimeAction.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayTimeAction.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/DisplayTimeAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.jboss.soa.esb.actions.LogAction;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * Simple action that displays the current time.
+ * </p>
+ * Exemple configuration:
+ * <pre>
+ *<action name="displayTime" class="org.jboss.soa.esb.actions.DisplayTimeAction">
+ * <property name="format" value="HH:mm:ss:S"/>
+ *</action>
+ * </pre>
+ * This action support all configuration properties that {@link LogAction} supports.
+ *
+ * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
+ * @since 4.3
+ *
+ */
+public class DisplayTimeAction extends LogAction
+{
+ private String format;
+
+ public Message process( final Message message )
+ {
+ SimpleDateFormat formatter = format == null ? new SimpleDateFormat() : new SimpleDateFormat( format );
+ log( formatter.format( new Date() ) );
+
+ return message;
+ }
+
+ public String getFormat()
+ {
+ return format;
+ }
+
+ public void setFormat( String format )
+ {
+ this.format = format;
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/FileToStream.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/FileToStream.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/FileToStream.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,128 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions;
-
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.actions.BeanConfiguredAction;
-import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.message.Message;
-
-/**
- * FileToStream is a converter that open a Stream to the filename
- * specified by the property filename.
- * Usage:
- * <pre>
- * <action name="fileToStream" class="org.jboss.soa.esb.actions.converters.FileToStream">
- * </action>
- *
- * Optional parameters (default value(s) shown):
- * <proptery name="fileNameLocation" value="org.jboss.soa.esb.gateway.file" />
- * </pre>
- * Note that 'fileNameLocation' defaults to {@link Environment#ORIGINAL_FILE}
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- *
- */
-public class FileToStream implements BeanConfiguredAction
-{
- private Logger log = Logger.getLogger( FileToStream.class );
-
- private String fileNameLocation;
-
- public FileToStream()
- {
- }
-
- /**
- * Populates the ESB Message objects body with a InputStream for
- * the file identified by the {@link #fileNameLocation} field.
- *
- * @param message - ESB message object
- * @return Message - ESB message object which a payload that is an InputStream
- * @throws ActionProcessingException
- */
- public Message process( final Message message ) throws ActionProcessingException
- {
- BufferedInputStream bin = getInputStream( getFileName( message ) );
- message.getBody().add( bin );
-
- return message;
- }
-
- public String getFileNameLocation()
- {
- return fileNameLocation;
- }
-
- public void setFileNameLocation( final String fileNameLocation )
- {
- this.fileNameLocation = fileNameLocation;
- }
-
- private String getFileName (final Message message ) throws ActionProcessingException
- {
- String fileName = fileNameLocation == null ?
- (String) message.getBody().get() :
- (String) message.getBody().get( fileNameLocation );
-
- log.debug( "FileName : [" + fileName + "]" );
-
- if ( fileName == null )
- throw new ActionProcessingException( "Didn't find a file as in property location [" + fileNameLocation + "] or as the default object in the message body." );
-
- return fileName;
- }
-
- private BufferedInputStream getInputStream( final String fileName ) throws ActionProcessingException
- {
- BufferedInputStream bin = null;
- try
- {
- bin = new BufferedInputStream( new FileInputStream ( fileName ));
- }
- catch (FileNotFoundException e)
- {
- log.error( "FileNotFoundException : ", e);
- if ( bin != null )
- {
- try
- {
- bin.close();
- }
- catch (IOException e1)
- {
- log.error( "IOException while trying to clone FileInputStream to file : [" + fileName + "]", e1);
- }
- }
- throw new ActionProcessingException( "IOException while creating InputStream for file : [" + fileName + "]", e );
- }
- return bin;
- }
-
-
-}
Copied: labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/FileToStream.java (from rev 21158, labs/jbossesb/trunk/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/FileToStream.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/FileToStream.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/smooks_file_splitter_router/src/org/jboss/soa/esb/sample/quickstart/smooksfilesplitterrouter/actions/FileToStream.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,128 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.sample.quickstart.smooksfilesplitterrouter.actions;
+
+import java.io.BufferedInputStream;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.BeanConfiguredAction;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * FileToStream is a converter that open a Stream to the filename
+ * specified by the property filename.
+ * Usage:
+ * <pre>
+ * <action name="fileToStream" class="org.jboss.soa.esb.actions.converters.FileToStream">
+ * </action>
+ *
+ * Optional parameters (default value(s) shown):
+ * <proptery name="fileNameLocation" value="org.jboss.soa.esb.gateway.file" />
+ * </pre>
+ * Note that 'fileNameLocation' defaults to {@link Environment#ORIGINAL_FILE}
+ *
+ * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
+ *
+ */
+public class FileToStream implements BeanConfiguredAction
+{
+ private Logger log = Logger.getLogger( FileToStream.class );
+
+ private String fileNameLocation;
+
+ public FileToStream()
+ {
+ }
+
+ /**
+ * Populates the ESB Message objects body with a InputStream for
+ * the file identified by the {@link #fileNameLocation} field.
+ *
+ * @param message - ESB message object
+ * @return Message - ESB message object which a payload that is an InputStream
+ * @throws ActionProcessingException
+ */
+ public Message process( final Message message ) throws ActionProcessingException
+ {
+ BufferedInputStream bin = getInputStream( getFileName( message ) );
+ message.getBody().add( bin );
+
+ return message;
+ }
+
+ public String getFileNameLocation()
+ {
+ return fileNameLocation;
+ }
+
+ public void setFileNameLocation( final String fileNameLocation )
+ {
+ this.fileNameLocation = fileNameLocation;
+ }
+
+ private String getFileName (final Message message ) throws ActionProcessingException
+ {
+ String fileName = fileNameLocation == null ?
+ (String) message.getBody().get() :
+ (String) message.getBody().get( fileNameLocation );
+
+ log.debug( "FileName : [" + fileName + "]" );
+
+ if ( fileName == null )
+ throw new ActionProcessingException( "Didn't find a file as in property location [" + fileNameLocation + "] or as the default object in the message body." );
+
+ return fileName;
+ }
+
+ private BufferedInputStream getInputStream( final String fileName ) throws ActionProcessingException
+ {
+ BufferedInputStream bin = null;
+ try
+ {
+ bin = new BufferedInputStream( new FileInputStream ( fileName ));
+ }
+ catch (FileNotFoundException e)
+ {
+ log.error( "FileNotFoundException : ", e);
+ if ( bin != null )
+ {
+ try
+ {
+ bin.close();
+ }
+ catch (IOException e1)
+ {
+ log.error( "IOException while trying to clone FileInputStream to file : [" + fileName + "]", e1);
+ }
+ }
+ throw new ActionProcessingException( "IOException while creating InputStream for file : [" + fileName + "]", e );
+ }
+ return bin;
+ }
+
+
+}
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -36,12 +36,11 @@
</action>
<!--
- Transform 1: CSV to XML...
+ Transform 1: Source CSV to Canonical XML...
-->
- <action name="transform-from-csv" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml" />
- <property name="from-type" value="text/csv:order-list" />
- <property name="to-type" value="text/xml:smooks-order-xml" />
+ <action name="transform-from-csv" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <property name="messageProfile" value="source-csv" />
</action>
<action name="print-after-csv-tranform" class="org.jboss.soa.esb.actions.SystemPrintln">
@@ -49,14 +48,13 @@
</action>
<!--
- Transform 2: XML to XML...
+ Transform 2: Canonical XML to target XML...
-->
- <action name="transform-smooksXml-to-canonicalXml" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml" />
- <property name="from-type" value="text/xml:smooks-order-xml" />
- <property name="to-type" value="text/xml:canonical-order-xml" />
- </action>
-
+ <action name="transform-to-xml" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <property name="messageProfile" value="canonical-xml" />
+ </action>
+
<action name="print-after-xml-transform" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value=">>>> Message after Smooks intermediate xml -> target xml : " />
</action>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/log4j.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,7 +43,7 @@
<category name="org.milyn">
<priority value="ERROR"/>
</category>
- <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ <category name="org.jboss.soa.esb.smooks.SmooksAction">
<priority value="ERROR"/>
</category>
<category name="org.jboss.internal.soa.esb">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/smooks-res.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_CSV2XML/smooks-res.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,7 +1,12 @@
<?xml version='1.0' encoding='UTF-8'?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
- <resource-config target-profile="from-type:text/csv:order-list AND to-type:text/xml:smooks-order-xml" selector="org.xml.sax.driver">
+ <profiles>
+ <profile base-profile="source-csv" />
+ <profile base-profile="canonical-xml" />
+ </profiles>
+
+ <resource-config target-profile="source-csv" selector="org.xml.sax.driver">
<resource>org.milyn.csv.CSVParser</resource>
<param name="fields" type="string-list">
orderId,
@@ -27,7 +32,7 @@
</param>
</resource-config>
- <resource-config target-profile="from-type:text/xml:smooks-order-xml AND to-type:text/xml:canonical-order-xml" selector="csv-set">
+ <resource-config target-profile="canonical-xml" selector="csv-set">
<resource type="xsl">
<![CDATA[
<orders>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,7 +5,7 @@
${line.separator}
</description>
- <property name="additional.deploys" value="smooks-cdr.lst,smooks-res.xml" />
+ <property name="additional.deploys" value="smooks-res.xml" />
<!-- Import the base Ant build script... -->
<import file="../conf/base-build.xml"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -27,8 +27,9 @@
<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value="[transform_EDI2XML_Groovy_XSLT] Message before transformation" />
</action>
- <action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml" />
+ <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <!-- property name="reportPath" value="/zap/smooks-report.html" / -->
</action>
<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value="[transform_EDI2XML_Groovy_XSLT] Message after transformation" />
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/log4j.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,7 +43,7 @@
<category name="org.milyn">
<priority value="INFO"/>
</category>
- <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ <category name="org.jboss.soa.esb.smooks.SmooksAction">
<priority value="INFO"/>
</category>
<category name="org.jboss.internal.soa.esb">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/readme.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_EDI2XML_Groovy_XSLT/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -52,19 +52,3 @@
The Flash demo at:
http://labs.jboss.com/portal/jbossesb/resources/tutorials/xformation-demos/console-demo-03.html
-
-Playing with this Transformation through the Administration Console:
-====================================================================
- To load the Transformation Configurations defined in smooks-res.xml into the
- Admin Console, and have them managed from the Admin Console, do the following:
-
- 1. Deploy the console as outlined in MessageTransformation.pdf.
- 2. Edit the smooks-cdr.lst file in this folder, commenting out both the
- classpath based listings and uncommenting out the listing for the console
- HTTP URI. The same set of steps were executed at the start of the Flash
- demo.
- 3. In the console, import "smooks-res.xml" through the "Import Configurations"
- form.
- 4. You are now ready to start managing the message transformations through the
- console. You can add more transformations and modify the existing
- transformations.
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,10 +2,7 @@
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost" >
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
@@ -44,9 +41,10 @@
process="displayMessage"
/>
- <action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml" />
- <property name="java-output-location" value="$default" />
+ <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <property name="resultType" value="JAVA" />
+ <!-- property name="reportPath" value="/zap/smooks-report.html" / -->
</action>
<action name="convertPOJO2Message" class="org.jboss.soa.esb.dvdstore.DVDStoreAction" />
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/log4j.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,7 +43,7 @@
<category name="org.milyn">
<priority value="INFO"/>
</category>
- <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ <category name="org.jboss.soa.esb.smooks.SmooksAction">
<priority value="INFO"/>
</category>
<category name="org.jboss.internal.soa.esb">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/smooks-res.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/smooks-res.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -7,40 +7,40 @@
<param name="beanId">orderHeader</param>
<param name="beanClass">org.jboss.soa.esb.dvdstore.OrderHeader</param>
<param name="bindings">
- <binding property="orderId" selector="Order @orderId" />
- <binding property="orderDate" selector="Order @orderDate" type="LongDate"/>
- <binding property="statusCode" selector="Order @statusCode" type="Integer" />
- <binding property="netAmount" selector="Order @netAmount" type="Double" />
- <binding property="totalAmount" selector="Order @totalAmount" type="Double" />
- <binding property="tax" selector="Order @tax" type="Double" />
+ <binding property="orderId" selector="Order/@orderId" />
+ <binding property="orderDate" selector="Order/@orderDate" type="LongDate"/>
+ <binding property="statusCode" selector="Order/@statusCode" type="Integer" />
+ <binding property="netAmount" selector="Order/@netAmount" type="Double" />
+ <binding property="totalAmount" selector="Order/@totalAmount" type="Double" />
+ <binding property="tax" selector="Order/@tax" type="Double" />
</param>
</resource-config>
<!-- Populate the Customer -->
- <resource-config selector="order customer">
+ <resource-config selector="order/customer">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">customer</param>
<param name="beanClass">org.jboss.soa.esb.dvdstore.Customer</param>
<param name="bindings">
- <binding property="userName" selector="order customer @userName" />
- <binding property="firstName" selector="order customer @firstName" />
- <binding property="lastName" selector="order customer @lastName" />
- <binding property="state" selector="order customer @state" />
+ <binding property="userName" selector="order/customer/@userName" />
+ <binding property="firstName" selector="order/customer/@firstName" />
+ <binding property="lastName" selector="order/customer/@lastName" />
+ <binding property="state" selector="order/customer/@state" />
</param>
</resource-config>
<!-- Populate the OrderItem list -->
- <resource-config selector="order orderlines orderline">
+ <resource-config selector="order/orderlines/orderline">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">orderItem</param>
<param name="beanClass">org.jboss.soa.esb.dvdstore.OrderItem</param>
<param name="addToList">true</param>
<param name="bindings">
- <binding property="position" selector="order orderlines orderline @position" type="Integer" />
- <binding property="quantity" selector="order orderlines orderline @quantity" type="Integer" />
- <binding property="productId" selector="order orderlines orderline product @productId" />
- <binding property="title" selector="order orderlines orderline product @title" />
- <binding property="price" selector="order orderlines orderline product @price" type="Double" />
+ <binding property="position" selector="order/orderlines/orderline/@position" type="Integer" />
+ <binding property="quantity" selector="order/orderlines/orderline/@quantity" type="Integer" />
+ <binding property="productId" selector="order/orderlines/orderline/product/@productId" />
+ <binding property="title" selector="order/orderlines/orderline/product/@title" />
+ <binding property="price" selector="order/orderlines/orderline/product/@price" type="Double" />
</param>
</resource-config>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO/src/org/jboss/soa/esb/dvdstore/DVDStoreAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -21,14 +21,14 @@
package org.jboss.soa.esb.dvdstore;
-import java.util.HashMap;
-import java.util.List;
-
import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
import org.jboss.soa.esb.actions.ActionProcessingException;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
+import java.util.List;
+import java.util.Map;
+
/**
* DVD Store action.
* <p/>
@@ -43,10 +43,12 @@
public Message process(Message message) throws ActionProcessingException {
StringBuffer results = new StringBuffer();
- OrderHeader header = (OrderHeader) message.getBody().get("orderHeader");
- Customer customer = (Customer) message.getBody().get("customer");
- List orderItems = (List) message.getBody().get("orderItemList");
+ Map javaResultMap = (Map) message.getBody().get();
+ OrderHeader header = (OrderHeader) javaResultMap.get("orderHeader");
+ Customer customer = (Customer) javaResultMap.get("customer");
+ List orderItems = (List) javaResultMap.get("orderItemList");
+
results.append("Demonstrates Smooks ability to rip the XML into Objects\n");
results.append("********* DVDStoreAction - Order Value Objects Populated *********\n");
results.append("Header: " + header + "\n");
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -45,8 +45,9 @@
<property name="script" value="/scripts/check-origin.groovy" />
</action>
- <action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-config.xml" />
+ <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-config.xml" />
+ <property name="resultType" value="JAVA" />
</action>
<action name="convertPOJO2Message" class="org.jboss.soa.esb.store.StoreAction" />
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/log4j.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,7 +43,7 @@
<category name="org.milyn">
<priority value="INFO"/>
</category>
- <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ <category name="org.jboss.soa.esb.smooks.SmooksAction">
<priority value="INFO"/>
</category>
<category name="org.jboss.internal.soa.esb">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/scripts/check-origin.groovy
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/scripts/check-origin.groovy 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/scripts/check-origin.groovy 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,3 +1,4 @@
+import org.jboss.soa.esb.message.*
def messageText = message.getBody().get();
def order = new XmlParser().parseText(messageText);
@@ -3,7 +4,7 @@
if(order.OrderLines.size() == 1) {
- message.getProperties().setProperty("from", "dvdstore");
+ message.getProperties().setProperty(Properties.MESSAGE_PROFILE, "from:dvdstore");
} else if(order.LineItems.size() == 1) {
- message.getProperties().setProperty("from", "petstore");
+ message.getProperties().setProperty(Properties.MESSAGE_PROFILE, "from:petstore");
}
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/smooks-config.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/smooks-config.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/smooks-config.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,6 +1,11 @@
<?xml version="1.0"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+ <profiles>
+ <profile base-profile="from:dvdstore" />
+ <profile base-profile="from:petstore" />
+ </profiles>
+
<import file="classpath:/transforms/from-dvdstore.xml" />
<import file="classpath:/transforms/from-petstore.xml" />
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/src/org/jboss/soa/esb/store/StoreAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/src/org/jboss/soa/esb/store/StoreAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2POJO2/src/org/jboss/soa/esb/store/StoreAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -21,14 +21,14 @@
package org.jboss.soa.esb.store;
-import java.util.HashMap;
-import java.util.List;
-
import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
import org.jboss.soa.esb.actions.ActionProcessingException;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
+import java.util.List;
+import java.util.Map;
+
/**
* Store action.
* <p/>
@@ -42,13 +42,13 @@
}
public Message process(Message message) throws ActionProcessingException {
- HashMap beanHash = (HashMap) message.getBody().get("EXTRACTED_BEANS_HASH");
+ Map resultBeanMap = (Map) message.getBody().get();
StringBuffer results = new StringBuffer();
- if(beanHash != null) {
- OrderHeader header = (OrderHeader) beanHash.get("orderHeader");
- Customer customer = (Customer) beanHash.get("customer");
- List orderItems = (List) beanHash.get("orderItemList");
+ if(resultBeanMap != null) {
+ OrderHeader header = (OrderHeader) resultBeanMap.get("orderHeader");
+ Customer customer = (Customer) resultBeanMap.get("customer");
+ List orderItems = (List) resultBeanMap.get("orderItemList");
results.append("Demonstrates Smooks ability to rip the XML into Objects\n");
results.append("********* StoreAction - Order Value Objects Populated *********\n");
results.append("Header: " + header + "\n");
@@ -64,7 +64,7 @@
message.getBody().add("Customer",customer);
message.getBody().add("OrderItems",orderItems);
} else {
- results.append("\n*** No beanhash found!");
+ results.append("\n*** No resultBeanMap found!");
}
// Take this "parsed" output
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,7 +5,7 @@
${line.separator}
</description>
- <property name="additional.deploys" value="smooks-cdr.lst,smooks-res.xml" />
+ <property name="additional.deploys" value="smooks-res.xml" />
<!-- Import the base Ant build script... -->
<import file="../conf/base-build.xml"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -29,8 +29,9 @@
<property name="message"
value="[transform_XML2XML_date_manipulation] Message before transformation"/>
</action>
- <action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml"/>
+ <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <!-- property name="reportPath" value="/zap/smooks-report.html" / -->
</action>
<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/log4j.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,7 +43,7 @@
<category name="org.milyn">
<priority value="INFO"/>
</category>
- <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ <category name="org.jboss.soa.esb.smooks.SmooksAction">
<priority value="INFO"/>
</category>
<category name="org.jboss.internal.soa.esb">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/readme.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_date_manipulation/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -70,24 +70,3 @@
orderDate value and extracting the components of the date from it (day,
month, zone etc). This means you avoid having to do this in your XSLT code,
which would be very ugly and difficult to maintain.
-
-Playing with this Transformation through the Administration Console:
-====================================================================
- To load the Transformation Configurations defined in smooks-res.xml into the
- Admin Console, and have them managed from the Admin Console, do the following:
-
- 1. Deploy the console as outlined in MessageTransformation.pdf.
- 2. Edit the smooks-cdr.lst file in this folder, commenting out both the
- classpath based listings and uncommenting out the listing for the console
- HTTP URI.
- 3. In the console:
- a) Add "Message Exchange Participants" for "A" and "B" through the "Manage
- Message Exchange Participants" form.
- b) Add new "Message Contract" against "A" and "B" for "text/xml:messageAtA"
- and "text/xml:messageAtB" respectively.
- Note: "messageAtA" and "messageAtB" are the Message Namespace values and
- "text/xml" is the Message Mime in both cases.
- c) Import "smooks-res.xml" through the "Import Configurations" form.
- 4. You are now ready to start managing the message transformations through the
- console. You can add more transformations and modify the existing
- transformations. Be sure to read MessageTransformation.pdf!!!
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,7 +4,7 @@
${line.separator}
</description>
- <property name="additional.deploys" value="smooks-cdr.lst,smooks-res.xml" />
+ <property name="additional.deploys" value="smooks-res.xml" />
<!-- Import the base Ant build script... -->
<import file="../conf/base-build.xml"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -27,9 +27,10 @@
<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value="[transform_XML2XML_simple] Message before transformation" />
</action>
- <action name="simple-transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml" />
- </action>
+ <action name="simple-transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <!-- property name="reportPath" value="/zap/smooks-report.html" / -->
+ </action>
<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value="[transform_XML2XML_simple] Message after transformation" />
</action>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/log4j.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,7 +43,7 @@
<category name="org.milyn">
<priority value="INFO"/>
</category>
- <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ <category name="org.jboss.soa.esb.smooks.SmooksAction">
<priority value="INFO"/>
</category>
<category name="org.jboss.internal.soa.esb">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/readme.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_simple/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -64,24 +64,3 @@
running "ant notifyUpdate".
6. Rerun the sample again ("ant runtest") and notice the
transformation update.
-
-Playing with this Transformation through the Administration Console:
-====================================================================
- To load the Transformation Configurations defined in smooks-res.xml into the
- Admin Console, and have them managed from the Admin Console, do the following:
-
- 1. Deploy the console as outlined in MessageTransformation.pdf.
- 2. Edit the smooks-cdr.lst file in this folder, commenting out both the
- classpath based listings and uncommenting out the listing for the console
- HTTP URI.
- 3. In the console:
- a) Add "Message Exchange Participants" for "A" and "B" through the "Manage
- Message Exchange Participants" form.
- b) Add new "Message Contract" against "A" and "B" for "text/xml:messageAtA"
- and "text/xml:messageAtB" respectively.
- Note: "messageAtA" and "messageAtB" are the Message Namespace values and
- "text/xml" is the Message Mime in both cases.
- c) Import "smooks-res.xml" through the "Import Configurations" form.
- 4. You are now ready to start managing the message transformations through the
- console. You can add more transformations and modify the existing
- transformations.
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,7 +4,7 @@
${line.separator}
</description>
- <property name="additional.deploys" value="smooks-cdr.lst,smooks-res.xml" />
+ <property name="additional.deploys" value="smooks-res.xml" />
<!-- Import the base Ant build script... -->
<import file="../conf/base-build.xml"/>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -34,8 +34,8 @@
<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value="[transform_XML2XML_simple] Message before transformation" />
</action>
- <action name="simple-transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml" />
+ <action name="simple-transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
</action>
<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value="[transform_XML2XML_simple] Message after transformation" />
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/log4j.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/transform_XML2XML_stream/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,7 +43,7 @@
<category name="org.milyn">
<priority value="INFO"/>
</category>
- <category name="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+ <category name="org.jboss.soa.esb.smooks.SmooksAction">
<priority value="INFO"/>
</category>
<category name="org.jboss.internal.soa.esb">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,10 +4,7 @@
parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="OrderManagerGateway">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_webservice_bpel_gw"/>
</jms-bus>
@@ -97,8 +94,8 @@
<action name="print-before-transform" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value="[Quickstart_webservice_bpel] Message before transforming to fix orderNumber namespace"/>
</action>
- <action name="fixup--order-namespace" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/org/jboss/esb/quickstarts/bpel/transforms/order-num-ns-fixup.xml"/>
+ <action name="fixup--order-namespace" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/org/jboss/esb/quickstarts/bpel/transforms/order-num-ns-fixup.xml"/>
</action>
<action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="message" value="[Quickstart_webservice_bpel] Message before invoking 'ABI_Shipping' endpoint"/>
@@ -122,9 +119,9 @@
<actions>
<!-- Transform the incoming CSV order approval record into a populated
com.activebpel.ordermanagement.SalesOrderNotification instance. -->
- <action name="message-populator" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
- <property name="resource-config" value="/smooks-res.xml" />
- <property name="java-output-location" value="$default" />
+ <action name="message-populator" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/smooks-res.xml" />
+ <property name="resultType" value="JAVA" />
</action>
<action name="print-after-transform" class="org.jboss.soa.esb.actions.SystemPrintln">
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/readme.txt
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/readme.txt 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/readme.txt 2008-07-22 12:21:06 UTC (rev 21159)
@@ -23,22 +23,20 @@
and a more detailed descripton of the different ways to run the quickstarts.
Note, this quickstart requires an ESB and JBossWS installation into
- JBoss AS 4.2.1.GA. Installation instructions for both can be found in the
+ JBoss AS 4.2.2.GA. Installation instructions for both can be found in the
install/readme.txt.
NOTE: This Quickstart DOES NOT run Standalone, or on the ESB Server. It only runs on the
JBoss Application Server (v4.2.xGA).
- The ActiveBPEL Engine (v3.1) must now be installed on an instance of Tomcat on your
- system. The processes in this Quickstart are pre-built to run on version 3.1 of
- the ActiveBPEl Engine. If you are running on a newer version of the ActiveBPEL
- Engine, you may need to redeploy these processes.
+ The ActiveBPEL Engine (tested with versions v3.1 and v5.0.2) must now be installed on an
+ instance of Tomcat on your system.
- Version 3.1 of the ActiveBpel Engine can be downloaded from:
- http://www.active-endpoints.com/active-bpel-engine-download.htm#final31
+ Tthe ActiveBPEL Engine can be downloaded from:
+ http://www.activevos.com/community-open-source.php
ActiveBPEL Installation Guide:
- http://www.active-endpoints.com/installation-guide.htm
+ After downloading the distribution, unzip and locate all documentation in the docs folder.
Setting up ActiveBPEL:
1. Ensure that the value of the 'directory' attribute on the
@@ -52,25 +50,32 @@
listen for HTTP traffic on port 18080. See
'${env.CATALINA_HOME}/conf/server.xml'.
4. Start your Tomcat deployment at '${env.CATALINA_HOME}'.
- 5. Goto 'Deployed Processes' on the BPEL Console
- (http://localhost:18080/BpelAdmin) and confirm that the 'Customer' and
- 'OrderProcess' BPEL processes are deployed.
+ 5. Goto the ActiveBPEL Console (http://localhost:18080/BpelAdmin) and confirm
+ it displays.
+ 6. In the run.bat/run.sh start script for your JBoss Appllication Server,
+ set the Permanent Generation space size by adding the following to the
+ "JAVA_OPTS" setting:
+ -XX:MaxPermSize=128m
+ 7. Restart your JBoss Application Server.
To Run:
=======
- 1. In a command terminal window in this folder, type 'ant deploy'.
- 2. Start your favorite SOAP client (e.g. SOAPUI) and load the
- 'RetailerService' WSDL (http://localhost:18080/active-bpel/services/RetailerService?wsdl).
- 3. Load the SOAP client (RetailerServiceBinding/SubmitOrder) with the sample order in
- 'bpel/resources/sampleData/submit-order-01.xml'.
- 4. Submit the new order using the SOAP UI client.
- 5. View the state of the new process in 'Active Processes' on the BPEL
- Console. Will appear as 'Running'.
- 6. Drill into the 'Running' OrderProcess process (select it).
- 7. Drill down, you will see that the process is waiting on an
- acknowledgement/notification from the OrderManager service
- (WaitForNotificationFromOrderManager).
- 8 Goto http://localhost:8080/order-manager/ (note, not port '18080').
- From here, you can approve the order.
- 9. When finished, undeploy the application by typing 'ant undeploy'.
+ 1. In a command terminal window in this folder, type 'ant deploy'.
+ 2. Goto 'Deployed Processes' on the BPEL Console
+ (http://localhost:18080/BpelAdmin) and confirm that the 'Customer' and
+ 'OrderProcess' BPEL processes are deployed.
+ 3. Start your favorite SOAP client (e.g. SOAPUI) and load the
+ 'RetailerService' WSDL (http://localhost:18080/active-bpel/services/RetailerService?wsdl).
+ 4. Load the SOAP client (RetailerServiceBinding/SubmitOrder) with the sample order in
+ 'bpel/resources/sampleData/submit-order-01.xml'.
+ 5. Submit the new order using the SOAP UI client.
+ 6. View the state of the new process in 'Active Processes' on the BPEL
+ Console. Will appear as 'Running'.
+ 7. Drill into the 'Running' OrderProcess process (select it).
+ 8. Drill down, you will see that the process is waiting on an
+ acknowledgement/notification from the OrderManager service
+ (WaitForNotificationFromOrderManager).
+ 9. Goto http://localhost:8080/order-manager/ (note, not port '18080').
+ From here, you can approve the order.
+ 10. When finished, undeploy the application by typing 'ant undeploy'.
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/smooks-res.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/smooks-res.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/smooks-res.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -17,12 +17,12 @@
<!--
Suck the order number out of the CSV record and into the SalesOrderNotification bean.
-->
- <resource-config selector="csv-record orderNum">
+ <resource-config selector="csv-record/orderNum">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">salesOrderNotification</param>
<param name="beanClass">com.activebpel.ordermanagement.SalesOrderNotification</param>
<param name="bindings">
- <binding property="orderNumber" selector="csv-record orderNum" />
+ <binding property="orderNumber" selector="csv-record/orderNum" />
</param>
</resource-config>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/src/org/jboss/esb/quickstarts/bpel/transforms/OrderNumNSModifier.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/src/org/jboss/esb/quickstarts/bpel/transforms/OrderNumNSModifier.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_bpel/src/org/jboss/esb/quickstarts/bpel/transforms/OrderNumNSModifier.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -20,6 +20,7 @@
package org.jboss.esb.quickstarts.bpel.transforms;
import org.milyn.delivery.dom.DOMElementVisitor;
+import org.milyn.delivery.dom.DOMVisitAfter;
import org.milyn.container.ExecutionContext;
import org.milyn.SmooksException;
import org.milyn.xml.DomUtils;
@@ -31,20 +32,15 @@
/**
* <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
*/
-public class OrderNumNSModifier implements DOMElementVisitor {
-
- public void setConfiguration(SmooksResourceConfiguration smooksResourceConfiguration) throws SmooksConfigurationException {
- }
+public class OrderNumNSModifier implements DOMVisitAfter {
- public void visitBefore(Element element, ExecutionContext executionContext) throws SmooksException {
- }
-
public void visitAfter(Element element, ExecutionContext executionContext) throws SmooksException {
Element newOrderNumElement = element.getOwnerDocument().createElementNS(OrderManagerService.Namespace, "ord_manager:orderNumber");
newOrderNumElement.setTextContent(element.getTextContent());
newOrderNumElement.setAttribute("xmlns:ord_manager", OrderManagerService.Namespace);
+ System.out.println("**** Fixing up the Order Manager namespace on the orderNumber element.");
DomUtils.replaceNode(newOrderNumElement, element);
}
}
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_consumer1/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_consumer1/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_consumer1/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,9 +5,7 @@
<providers>
<jms-provider name="JBossMQ"
- connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
+ connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_consumer2/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_consumer2/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_consumer2/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,9 +5,7 @@
<providers>
<jms-provider name="JBossMQ"
- connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
+ connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_mtom/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_mtom/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_mtom/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,9 +4,7 @@
parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartEsbChannel">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_webservice_mtom_esb"/>
</jms-bus>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_producer/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_producer/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_producer/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,10 +4,7 @@
parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
-
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_webservice_producer_gw"/>
</jms-bus>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_wsaddressing/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_wsaddressing/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_wsaddressing/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,9 +4,7 @@
parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartEsbChannel">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_webservice_wsa_esb"/>
</jms-bus>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_wssecurity/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_wssecurity/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/webservice_wssecurity/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,9 +4,7 @@
parameterReloadSecs="5">
<providers>
- <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
- jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
- jndi-URL="localhost">
+ <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartEsbChannel">
<jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_webservice_wss_esb"/>
</jms-bus>
Modified: labs/jbossesb/workspace/maeste/product/samples/quickstarts/wiretap/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/samples/quickstarts/wiretap/jboss-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/samples/quickstarts/wiretap/jboss-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,7 +3,6 @@
<providers>
<jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
-
<jms-bus busid="wiretapCBRChannel">
<jms-message-filter dest-type="QUEUE" dest-name="queue/qswiretap_cbr_Request" />
</jms-bus>
Modified: labs/jbossesb/workspace/maeste/product/services/base-project-build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/base-project-build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/base-project-build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -19,8 +19,11 @@
<target name="prepare">
<mkdir dir="build/${ant.project.name}.esb/META-INF" />
<mkdir dir="build/classes" />
+ <antcall target="service-prepare"/>
</target>
+ <target name="service-prepare"/>
+
<path id="emma.libs">
<fileset dir="${esb.product.lib.ext}" includes="emma*.jar"/>
</path>
Modified: labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/java/org/jboss/soa/esb/actions/MessagePersister.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/java/org/jboss/soa/esb/actions/MessagePersister.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/java/org/jboss/soa/esb/actions/MessagePersister.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -42,11 +42,13 @@
{
public final static String MESSAGE_STORE_CLASS = "message-store-class";
public final static String CLASSIFICATION_ATTR = "classification";
+ public static final String TERMINAL = "terminal";
-
protected ConfigTree config;
protected MessageStore messageStore;
protected String classification;
+ protected boolean terminal = true;
+
private Logger log = Logger.getLogger(this.getClass());
public MessagePersister(ConfigTree config) throws ConfigurationException
@@ -54,7 +56,9 @@
this.config = config;
}
/**
- * Persists the message to the MessageStore
+ * Persists the message to the MessageStore.
+ *@return if this is a terminal action then <code>null</code> otherwise the original
+ * input message.
*/
public Message process(Message message) throws ActionProcessingException
{
@@ -70,7 +74,11 @@
} catch (MessageStoreException mse) {
log.error("Could not store message.", mse);
}
+
+ if (terminal)
return null;
+ else
+ return message;
}
/* (non-Javadoc)
* @see org.jboss.soa.esb.actions.ActionLifecycle#initialise()
@@ -82,11 +90,16 @@
if (classificationValue!=null) {
classification = classificationValue;
}
+
+ messageStore = MessageStoreFactory.getInstance().getMessageStore(messageStoreClass, config);
+
+ if ("false".equalsIgnoreCase(config.getAttribute(TERMINAL)))
+ terminal = false;
+
if (log.isDebugEnabled()) {
log.debug("MessagePersister started with classification=" + classification
+ " and message-store-class=" + messageStore);
}
- messageStore = MessageStoreFactory.getInstance().getMessageStore(messageStoreClass, config);
}
/* (non-Javadoc)
* @see org.jboss.soa.esb.actions.ActionLifecycle#destroy()
Modified: labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/META-INF/deployment.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/META-INF/deployment.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/META-INF/deployment.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,4 +3,7 @@
<depends>jboss.jca:service=DataSourceBinding,name=JBossESBDS</depends>
<depends>jboss.esb.destination:service=Queue,name=DeadMessageQueue</depends>
<depends>jboss.esb:service=MessageStoreDatabaseInitializer</depends>
+ <depends>jboss.esb.destination:service=Queue,name=DataCollectorQueue</depends>
+ <depends>jboss.esb.destination:service=Queue,name=OperationsCollectorQueue</depends>
+ <depends>jboss.esb.destination:service=Queue,name=OperationsResultCollectorQueue</depends>
</jbossesb-deployment>
Modified: labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-ds.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-ds.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-ds.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -6,7 +6,7 @@
<!-- use for in-process db -->
<connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}jbossesb</connection-url>
<!-- use for server mode (over tcp)
- <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:9001/</connection-url>
+ <connection-url>jdbc:hsqldb:hsql://${jboss.esb.bind.address}:9001/</connection-url>
-->
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<user-name>sa</user-name>
@@ -27,7 +27,7 @@
<mbean code="org.jboss.internal.soa.esb.dependencies.HypersonicDatabase"
name="jboss:service=Hypersonic,database=jbossesb">
<attribute name="Port">9001</attribute>
- <attribute name="BindAddress">${jboss.bind.address}</attribute>
+ <attribute name="BindAddress">${jboss.esb.bind.address}</attribute>
<attribute name="Silent">true</attribute>
<attribute name="Database">jbossesb</attribute>
<attribute name="Trace">false</attribute>
Copied: labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql (from rev 21158, labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/message-store-sql/mssql)
Deleted: labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/create_database.sql
===================================================================
--- labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/message-store-sql/mssql/create_database.sql 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/create_database.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,10 +0,0 @@
-
-CREATE TABLE message
-(
- uuid varchar(128) NOT NULL,
- type varchar(128) NOT NULL,
- message text NOT NULL,
- delivered varchar(10) NOT NULL,
- classification varchar(10),
- PRIMARY KEY (uuid)
-);
Copied: labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/create_database.sql (from rev 21158, labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/message-store-sql/mssql/create_database.sql)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/create_database.sql (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/create_database.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,10 @@
+
+CREATE TABLE message
+(
+ uuid varchar(128) NOT NULL,
+ type varchar(128) NOT NULL,
+ message text NOT NULL,
+ delivered varchar(10) NOT NULL,
+ classification varchar(10),
+ PRIMARY KEY (uuid)
+);
Deleted: labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/drop_database.sql
===================================================================
--- labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/message-store-sql/mssql/drop_database.sql 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/drop_database.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1 +0,0 @@
-DROP TABLE message;
Copied: labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/drop_database.sql (from rev 21158, labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/message-store-sql/mssql/drop_database.sql)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/drop_database.sql (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbossesb/src/main/resources/message-store-sql/mssql/drop_database.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1 @@
+DROP TABLE message;
Modified: labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,20 +1,20 @@
<project name="jbpm-ant-task" default="build-task" basedir=".">
-
- <path id="classpath">
- <pathelement location="src/test/resources"/>
- <pathelement location="build/classes" />
- <pathelement location="build/test/classes" />
- </path>
-
-
- <target name="build-task">
+ <property name="jbpm.jar.file" location="build/jbpm-ant.jar"/>
+
+ <path id="classpath">
+ <pathelement location="src/test/resources"/>
+ <pathelement location="${basedir}/../../../lib/ext/commons-codec-1.3.jar" />
+ <pathelement location="${basedir}/../../../lib/ext/junit-4.1.jar" />
+ <pathelement location="${basedir}/../../../lib/ext/commons-httpclient.jar" />
+ <pathelement location="${ant.library.dir}/ant.jar" />
+ </path>
+
+ <target name="build-task">
<mkdir dir="build/classes"/>
- <javac srcdir="src" destdir="build/classes"
- debug="on" >
- <classpath refid="classpath" />
- </javac>
- <jar basedir="build/classes" destfile="build/jbpm-ant.jar"
- includes="**/*.class"/>
+ <javac srcdir="src" destdir="build/classes" debug="on" >
+ <classpath refid="classpath" />
+ </javac>
+ <jar basedir="build/classes" destfile="${jbpm.jar.file}" includes="**/*.class"/>
</target>
</project>
Modified: labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/src/org/jbpm/ant/DeployProcessToServerTask.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/src/org/jbpm/ant/DeployProcessToServerTask.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/src/org/jbpm/ant/DeployProcessToServerTask.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -29,6 +29,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.ConnectException;
+import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
@@ -37,6 +38,14 @@
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.httpclient.Cookie;
+import org.apache.commons.httpclient.Header;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.HttpState;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.taskdefs.MatchingTask;
@@ -44,26 +53,51 @@
/**
* ant task for deploying process archives to the deployment servlet.
+ * </p>
+ * Usage:
+ * <pre>
+ * <taskdef name="deployToServer" classname="org.jbpm.ant.DeployProcessToServerTask">
+ * <classpath refid="exec-classpath"/>
+ * </taskdef>
*
+ * <deployToServer serverDeployer="jbpm-console/upload">
+ * <fileset dir="${basedir}/processDefinition" includes="*"/>
+ * </deployToServer>
+ * </pre>
+ * Optional attributes:
+ * <pre>
+ * serverName="localhost"
+ * serverPort="8080"
+ * serverDeployer="/jbpm-console/upload"
+ * process="processDefinitions/processdefinition.xml"
+ * username="username"
+ * password="password"
+ * </pre>
+ *
* @author kurt stam
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
*/
public class DeployProcessToServerTask extends MatchingTask {
private static final String boundary = "AaB03x";
- String serverName = "localhost";
+ String servername = "localhost";
String serverPort = "8080";
String serverDeployer = "/jbpm-console/upload";
String debug = null;
File process = null;
List fileSets = new ArrayList();
+ private String username;
+
+ private String password;
+
public void setServerDeployer(String serverDeployer) {
this.serverDeployer = serverDeployer;
}
public void setServerName(String serverName) {
- this.serverName = serverName;
+ this.servername = serverName;
}
public void setServerPort(String serverPort) {
@@ -77,7 +111,17 @@
public void setDebug(String debug) {
this.debug = debug;
}
+
+ public void setUsername( final String userName )
+ {
+ this.username = userName;
+ }
+ public void setPassword( final String password )
+ {
+ this.password = password;
+ }
+
public void execute() throws BuildException {
try {
if (pingServerOK()) {
@@ -95,7 +139,7 @@
if (debug!=null) {
saveParFile("debug.par", out.toByteArray());
}
- deployProcessWithServlet(serverName, serverPort, serverDeployer, out.toByteArray());
+ deployProcessWithServlet(servername, serverPort, serverDeployer, out.toByteArray());
in.close();
log("deployment complete.");
}
@@ -127,13 +171,12 @@
if (debug!=null) {
saveParFile("debug.par", byteArrayOutputStream.toByteArray());
}
- deployProcessWithServlet(serverName, serverPort, serverDeployer, byteArrayOutputStream.toByteArray());
+ deployProcessWithServlet(servername, serverPort, serverDeployer, byteArrayOutputStream.toByteArray());
log("deployment complete.");
}
}
} catch (Exception e) {
- e.printStackTrace();
- throw new BuildException( "couldn't deploy process archives : " + e.getMessage() );
+ throw new BuildException( "couldn't deploy process archives : " + e.getMessage(), e);
}
}
@@ -141,16 +184,33 @@
this.fileSets.add(fileSet);
}
- public void deployProcessWithServlet(String serverName, String serverPort, String serverDeployer, byte[] parBytes) throws Exception {
+ public void deployProcessWithServlet(final String serverName, final String serverPort, final String serverDeployer, final byte[] parBytes) throws Exception {
+ log(deployProcess(serverName, serverPort, serverDeployer, parBytes));
+ }
+
+ String deployProcess(final String serverName, final String serverPort, final String serverDeployer, final byte[] parBytes) throws Exception {
+ String sessionID = null;
+ // pass security credentials if specified.
+ boolean security = verifySecurityProperties();
+ if ( security )
+ sessionID = tryFormBasedAuthentication();
+
URL url = new URL("http://" + serverName + ":" + serverPort + serverDeployer);
- URLConnection urlConnection = url.openConnection();
+ HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
+ urlConnection.setRequestMethod( "POST" );
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
+ urlConnection.setAllowUserInteraction(false);
urlConnection.setUseCaches(false);
- urlConnection.setRequestProperty("Content-Type",
- "multipart/form-data; boundary=AaB03x");
- DataOutputStream dataOutputStream = new DataOutputStream(urlConnection
- .getOutputStream());
+
+ if ( sessionID != null ) // FORM based authentication
+ urlConnection.setRequestProperty( "Cookie", sessionID );
+ else // fall back to BASIC authentication
+ urlConnection.setRequestProperty( "Authorization", "Basic " + encode(username + ":" + password ) );
+
+ urlConnection.setRequestProperty("Content-Type", "multipart/form-data; boundary=AaB03x");
+
+ DataOutputStream dataOutputStream = new DataOutputStream(urlConnection.getOutputStream());
dataOutputStream.writeBytes("--" + boundary + "\r\n");
dataOutputStream.writeBytes("Content-Disposition: form-data; name=\"definition\"; filename=\"dummy.par\"\r\n");
dataOutputStream.writeBytes("Content-Type: application/x-zip-compressed\r\n\r\n");
@@ -160,14 +220,66 @@
dataOutputStream.writeBytes("\r\n--" + boundary + "--\r\n");
dataOutputStream.flush();
dataOutputStream.close();
+
InputStream inputStream = urlConnection.getInputStream();
StringBuffer result = new StringBuffer();
int read;
while ((read = inputStream.read()) != -1) {
result.append((char)read);
}
+ return result.toString() ;
}
+
+ /**
+ * Adds BASIC Authentication properties to the passed-in urlConnection.
+ *
+ * @param urlConnection
+ */
+ void addBasicSecurityCredentials( final URLConnection urlConnection )
+ {
+ urlConnection.setRequestProperty("Authorization", "Basic " + encode(username + ":" + password));
+ }
+
+ /**
+ * Try to authenticate using FORM based Authentication.
+ * If succuessful the returned String will contain the JSESSIONID.
+ *
+ * @return String The session id from the serlvet.
+ */
+ private String tryFormBasedAuthentication() throws HttpException, IOException
+ {
+ final String path ="http://" + servername + ":" + serverPort + serverDeployer;
+ String sessionId = null;
+
+ final HttpClient httpClient = new HttpClient();
+ GetMethod indexGet = new GetMethod( path );
+
+ if ( httpClient.executeMethod(indexGet) == 200 )
+ {
+
+ HttpState state = httpClient.getState();
+ Cookie[] cookies = state.getCookies();
+ for (Cookie cookie : cookies)
+ {
+ if( cookie.getName().equalsIgnoreCase("JSESSIONID") )
+ {
+ sessionId = "JSESSIONID=" + cookie.getValue();
+ }
+ }
+
+ PostMethod loginFormPost = new PostMethod( path + "/j_security_check");
+ loginFormPost.addParameter("j_username", username);
+ loginFormPost.addParameter("j_password", password);
+ httpClient.executeMethod(loginFormPost.getHostConfiguration(), loginFormPost, state);
+ Header location = loginFormPost.getResponseHeader("Location");
+ String indexURI = location.getValue();
+ GetMethod war1Index = new GetMethod(indexURI);
+ httpClient.executeMethod(war1Index.getHostConfiguration(), war1Index, state);
+ }
+ return sessionId;
+ }
+
public void addFile(ZipOutputStream zos, File file)
throws IOException
{
@@ -194,9 +306,12 @@
public boolean pingServerOK() {
URL url = null;
try {
- url = new URL("http://" + serverName + ":" + serverPort + serverDeployer);
+ url = new URL("http://" + servername + ":" + serverPort + serverDeployer);
URLConnection urlConnection = url.openConnection();
urlConnection.setDoOutput(true);
+ // pass security credentials is specified.
+ if ( verifySecurityProperties() )
+ addBasicSecurityCredentials( urlConnection );
InputStream inputStream = urlConnection.getInputStream();
StringBuffer result = new StringBuffer();
int read;
@@ -210,8 +325,26 @@
return false;
}
catch (Exception e) {
+ e.printStackTrace();
log("An unexpected exception happened while testing the server (" + url + ") connection.");
return false;
}
}
+
+ boolean verifySecurityProperties() throws BuildException
+ {
+ if ( username == null && password == null || "".equals( username ) && "".equals( password ) )
+ return false;
+
+ if ( username != null && password == null )
+ throw new BuildException( "'userName' must be accompanied with 'password'");
+ else if ( password != null && username == null )
+ throw new BuildException( "'password' must be accompanied with 'userName'");
+
+ return true;
+ }
+
+ public static String encode (String source) {
+ return new String( new Base64().encode( source.getBytes() ));
+ }
}
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/src/org/jbpm/ant/ProcessDeployer.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/src/org/jbpm/ant/ProcessDeployer.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/src/org/jbpm/ant/ProcessDeployer.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -48,6 +48,6 @@
zipOutputStream.close();
- dptt.deployProcessWithServlet(serverName, serverPort, serverDeployer, byteArrayOutputStream.toByteArray());
+ dptt.deployProcess(serverName, serverPort, serverDeployer, byteArrayOutputStream.toByteArray());
}
}
Copied: labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test (from rev 21158, labs/jbossesb/trunk/product/services/jbpm/ant-task/test)
Copied: labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org (from rev 21158, labs/jbossesb/trunk/product/services/jbpm/ant-task/test/org)
Copied: labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm (from rev 21158, labs/jbossesb/trunk/product/services/jbpm/ant-task/test/org/jbpm)
Copied: labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant (from rev 21158, labs/jbossesb/trunk/product/services/jbpm/ant-task/test/org/jbpm/ant)
Deleted: labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant/DeployProcessToServerTaskUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/ant-task/test/org/jbpm/ant/DeployProcessToServerTaskUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant/DeployProcessToServerTaskUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jbpm.ant;
-
-import static org.junit.Assert.*;
-
-import org.apache.tools.ant.BuildException;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Unit test for {@link DeployProcessToServerTask}
- * <p/>
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public class DeployProcessToServerTaskUnitTest
-{
- private DeployProcessToServerTask task;
-
- private final String userName = "testuser";
- private final String password = "testpasswd";
-
- @Test ( expected = BuildException.class )
- public void showThrowIfPasswordIsNotSet()
- {
- task.setUsername( userName );
- task.verifySecurityProperties();
-
- }
-
- @Test ( expected = BuildException.class )
- public void showThrowIfUserNameIsNotSet()
- {
- task.setPassword( password );
- task.verifySecurityProperties();
- }
-
- @Test
- public void noSecurityPropeties()
- {
- boolean useSecurity = task.verifySecurityProperties();
- assertFalse ( useSecurity );
- }
-
- @Test
- public void emptyStringsSecurityPropeties()
- {
- task.setUsername( "" );
- task.setPassword( "" );
- boolean useSecurity = task.verifySecurityProperties();
- assertFalse ( useSecurity );
- }
-
- // lifecycle
-
- @Before
- public void setup()
- {
- task = new DeployProcessToServerTask();
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant/DeployProcessToServerTaskUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/jbpm/ant-task/test/org/jbpm/ant/DeployProcessToServerTaskUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant/DeployProcessToServerTaskUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbpm/ant-task/test/org/jbpm/ant/DeployProcessToServerTaskUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jbpm.ant;
+
+import static org.junit.Assert.*;
+
+import org.apache.tools.ant.BuildException;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Unit test for {@link DeployProcessToServerTask}
+ * <p/>
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class DeployProcessToServerTaskUnitTest
+{
+ private DeployProcessToServerTask task;
+
+ private final String userName = "testuser";
+ private final String password = "testpasswd";
+
+ @Test ( expected = BuildException.class )
+ public void showThrowIfPasswordIsNotSet()
+ {
+ task.setUsername( userName );
+ task.verifySecurityProperties();
+
+ }
+
+ @Test ( expected = BuildException.class )
+ public void showThrowIfUserNameIsNotSet()
+ {
+ task.setPassword( password );
+ task.verifySecurityProperties();
+ }
+
+ @Test
+ public void noSecurityPropeties()
+ {
+ boolean useSecurity = task.verifySecurityProperties();
+ assertFalse ( useSecurity );
+ }
+
+ @Test
+ public void emptyStringsSecurityPropeties()
+ {
+ task.setUsername( "" );
+ task.setPassword( "" );
+ boolean useSecurity = task.verifySecurityProperties();
+ assertFalse ( useSecurity );
+ }
+
+ // lifecycle
+
+ @Before
+ public void setup()
+ {
+ task = new DeployProcessToServerTask();
+ }
+
+}
Modified: labs/jbossesb/workspace/maeste/product/services/jbpm/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbpm/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbpm/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,6 +4,12 @@
<!-- Import the base Ant build script... -->
<import file="${services.base.build}"/>
+ <target name="service-prepare">
+ <ant dir="ant-task">
+ <property name="jbpm.jar.file" location="build/jbpm-ant.jar"/>
+ </ant>
+ </target>
+
<target name="test" depends="base.test"/>
-</project>
\ No newline at end of file
+</project>
Deleted: labs/jbossesb/workspace/maeste/product/services/jbpm/lib/ext/jbpm-ant.jar
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/services/jbpm/src/main/resources/jbpm-service.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbpm/src/main/resources/jbpm-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbpm/src/main/resources/jbpm-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -8,8 +8,7 @@
<attribute name="Datasource">java:/JbpmDS</attribute>
<attribute name="ExistsSql">select * from JBPM_ID_USER</attribute>
<attribute name="SqlFiles">
- jbpm-sql/jbpm.jpdl.hsqldb.sql,
- jbpm-sql/import.sql
+ jbpm-sql/jbpm.jpdl.hsqldb.sql
</attribute>
<depends>jboss.jca:service=DataSourceBinding,name=JbpmDS</depends>
<attribute name="UseEOL">true</attribute>
Deleted: labs/jbossesb/workspace/maeste/product/services/jbpm/src/main/resources/jbpm-sql/import.sql
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbpm/src/main/resources/jbpm-sql/import.sql 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbpm/src/main/resources/jbpm-sql/import.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,23 +0,0 @@
-insert into JBPM_ID_USER (ID_,CLASS_,NAME_,EMAIL_,PASSWORD_) values (1,'U','user','user at sample.domain','user');
-insert into JBPM_ID_USER (ID_,CLASS_,NAME_,EMAIL_,PASSWORD_) values (2,'U','manager','manager at sample.domain','manager');
-insert into JBPM_ID_USER (ID_,CLASS_,NAME_,EMAIL_,PASSWORD_) values (3,'U','admin','admin at sample.domain','admin');
-insert into JBPM_ID_USER (ID_,CLASS_,NAME_,EMAIL_,PASSWORD_) values( 4,'U','shipper','shipper at sample.domain','shipper');
-
-insert into JBPM_ID_GROUP (ID_,CLASS_,NAME_,TYPE_) values (1,'G','sales','organisation');
-insert into JBPM_ID_GROUP (ID_,CLASS_,NAME_,TYPE_) values (2,'G','admin','security-role');
-insert into JBPM_ID_GROUP (ID_,CLASS_,NAME_,TYPE_) values (3,'G','user','security-role');
-insert into JBPM_ID_GROUP (ID_,CLASS_,NAME_,TYPE_) values (4,'G','hr','organisation');
-insert into JBPM_ID_GROUP (ID_,CLASS_,NAME_,TYPE_) values (5,'G','manager','security-role');
-
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (1,'M',2,4);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (2,'M',3,4);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (3,'M',4,4);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (4,'M',4,3);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (5,'M',1,3);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (6,'M',2,3);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (7,'M',3,3);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (8,'M',3,2);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (9,'M',2,2);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (10,'M',2,5);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (11,'M',2,1);
-insert into JBPM_ID_MEMBERSHIP (ID_,CLASS_,USER_,GROUP_) values (12,'M',1,1);
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,5 +4,15 @@
<!-- Import the base Ant build script... -->
<import file="${services.base.build}"/>
- <target name="test" depends="base.test"/>
+ <target name="test">
+ <copy todir="${basedir}/build/tests/classes" overwrite="true">
+ <fileset dir="${basedir}/src/test/resources">
+ <include name="*.xls"/>
+ <include name="*.drl"/>
+ <include name="*.properties"/>
+ <include name="*.pgk"/>
+ </fileset>
+ </copy>
+ <antcall target="base.test"/>
+ </target>
</project>
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-compiler-4.0.2.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-compiler-4.0.7.jar (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-compiler-4.0.7.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-core-4.0.2.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-core-4.0.7.jar (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-core-4.0.7.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-decisiontables-4.0.2.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-decisiontables-4.0.7.jar (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-decisiontables-4.0.7.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-jsr94-4.0.2.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/drools-jsr94-4.0.7.jar (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/lib/ext/drools-jsr94-4.0.7.jar)
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/mvel-1.3.1-java1.4.jar (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/lib/ext/mvel-1.3.1-java1.4.jar)
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/stax-api-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/lib/ext/stax-api-1.0.1.jar)
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/lib/ext/xstream-1.2.2.jar (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/lib/ext/xstream-1.2.2.jar)
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/DslHelper.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/DslHelper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/DslHelper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -23,6 +23,11 @@
import java.io.ByteArrayInputStream;
import java.io.StringReader;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.WeakHashMap;
+import java.util.Map.Entry;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
@@ -30,178 +35,638 @@
import javax.xml.xpath.XPathFactory;
import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.MessagePayloadProxy;
import org.jboss.soa.esb.message.body.content.BytesBody;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.util.XPathNamespaceContext;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
/**
* Domain Specific Language helper. Right now this supports the use of XPath, but this class can
* be beefed up upo to use other technologies as well.
+ * <p/>
*
* @author kstam at redhat.com
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
*
*/
public class DslHelper
{
private static Logger log = Logger.getLogger(DslHelper.class);
+
/** XPath instance */
private static XPathFactory xpf = XPathFactory.newInstance();
private static MessagePayloadProxy payloadProxy;
+
+ /*
+ * Maps that contain cached XPath results.
+ * K = XPath expression String
+ * V = {@link XPathCacheObject}
+ */
+ private static Map<String,XPathCacheObject<Boolean>> xpathBooleanResults = Collections.synchronizedMap( new WeakHashMap<String,XPathCacheObject<Boolean>>() );
+ private static Map<String,XPathCacheObject<Number>> xpathNumberResults = Collections.synchronizedMap( new WeakHashMap<String,XPathCacheObject<Number>>() );
+ private static Map<String,XPathCacheObject<String>> xpathStringResults = Collections.synchronizedMap( new WeakHashMap<String,XPathCacheObject<String>>() );
+ private static Map<String,XPathCacheObject<Node>> xpathNodeResults = Collections.synchronizedMap( new WeakHashMap<String,XPathCacheObject<Node>>() );
+ private static Map<String,XPathCacheObject<NodeList>> xpathNodeListResults = Collections.synchronizedMap( new WeakHashMap<String,XPathCacheObject<NodeList>>() );
static {
- payloadProxy = new MessagePayloadProxy(new ConfigTree("config"),
- new String[] {BytesBody.BYTES_LOCATION},
- new String[] {BytesBody.BYTES_LOCATION});
+ payloadProxy = new MessagePayloadProxy(new ConfigTree("config"), new String[] {BytesBody.BYTES_LOCATION}, new String[] {BytesBody.BYTES_LOCATION});
}
-
+
/**
+ * Uses XPath to evalutate if the XPath expression is true or false.
+ * This is the equivalent of calling selectAsBoolean( message, xpathExp, null).
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @return Boolean
+ * true if the XPath expression evalutes to true
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static Boolean selectAsBoolean(final Message message, final String xpathExp ) throws XPathExpressionException
+ {
+ return selectAsBoolean( message, xpathExp, null );
+ }
+
+ /**
+ * Uses XPath to evalutate if the XPath expression is true or false.
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @return Boolean
+ * true if the XPath expression evalutes to true
+ * @param namespaces -
+ * Map of namespaces to be used in the xpath expression. Key=prefix,value = uri
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static Boolean selectAsBoolean(final Message message, final String xpathExp, final Map<String,String> namespaces ) throws XPathExpressionException
+ {
+ XPathCacheObject<Boolean> cachedObject = xpathBooleanResults.get( xpathExp );
+ if ( cacheHit( cachedObject, message ) )
+ return cachedObject.getResult();
+
+ XPath xpath = getXPath( namespaces );
+ Boolean value = (Boolean) xpath.evaluate( xpathExp, getInputSource(message), XPathConstants.BOOLEAN);
+ xpathBooleanResults.put( xpathExp, new XPathCacheObject<Boolean>( message.hashCode(), value ) );
+ return value;
+ }
+
+ /**
+ * Uses XPath to select the Number matched by the XPath expression.
+ * <p/>
+ * This is the equivalent of calling selectAsNumber( message, xpathExp, null).
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @return Number -
+ * the Number if XPath found a match, or null if no match was found.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static Number selectAsNumber(final Message message, final String xpathExp ) throws XPathExpressionException
+ {
+ return selectAsNumber( message, xpathExp, null );
+ }
+
+ /**
+ * Uses XPath to select the Number matched by the XPath expression.
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @param namespaces -
+ * Map of namespaces to be used in the xpath expression. Key=prefix,value = uri
+ * @return Number -
+ * the Number if XPath found a match, or null if no match was found.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static Number selectAsNumber(final Message message, final String xpathExp, final Map<String,String> namespaces ) throws XPathExpressionException
+ {
+ final XPathCacheObject<Number> cachedObject = xpathNumberResults.get( xpathExp );
+ if ( cacheHit( cachedObject, message ) )
+ return cachedObject.getResult();
+
+ final XPath xpath = getXPath( namespaces );
+ final Number number = (Number) xpath.evaluate( xpathExp, getInputSource(message), XPathConstants.NUMBER);
+ xpathNumberResults.put( xpathExp, new XPathCacheObject<Number>( message.hashCode(), number ) );
+ return number;
+ }
+
+ /**
+ * Uses XPath to select the String matched by the XPath expression.
+ * <p/>
+ * This is the equivalen of calling selectAsString( message, xpathExp, null).
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @return String -
+ * the String if XPath found a match, or null if no match was found.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static String selectAsString(final Message message, final String xpathExp ) throws XPathExpressionException
+ {
+ return selectAsString( message, xpathExp, null );
+ }
+
+ /**
+ * Uses XPath to select the String matched by the XPath expression.
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @param namespaces -
+ * Map of namespaces to be used in the xpath expression. Key=prefix,value = uri
+ * @return String -
+ * the String if XPath found a match, or null if no match was found.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static String selectAsString(final Message message, final String xpathExp, final Map<String,String> namespaces ) throws XPathExpressionException
+ {
+ final XPathCacheObject<String> cachedObject = xpathStringResults.get( xpathExp );
+ if ( cacheHit( cachedObject, message ) )
+ return cachedObject.getResult();
+
+ final XPath xpath = getXPath( namespaces );
+ final String string = (String) xpath.evaluate( xpathExp, getInputSource(message), XPathConstants.STRING);
+ xpathStringResults.put( xpathExp, new XPathCacheObject<String>( message.hashCode(), string ) );
+ return string;
+ }
+
+
+ /**
+ * Uses XPath to select the Node matched by the XPath expression.
+ * <p/>
+ * This is the equivalent of calling selectAsNode( message, xpathExp null).
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @return Node -
+ * the Node if XPath found a match, or null if no match was found.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static Node selectAsNode(final Message message, final String xpathExp ) throws XPathExpressionException
+ {
+ return selectAsNode( message, xpathExp, null );
+ }
+
+ /**
+ * Uses XPath to select the Node matched by the XPath expression.
+ * <p/>
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @param namespaces -
+ * Map of namespaces to be used in the xpath expression. Key=prefix,value = uri
+ * @return Node -
+ * the Node if XPath found a match, or null if no match was found.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static Node selectAsNode(final Message message, final String xpathExp, final Map<String,String> namespaces ) throws XPathExpressionException
+ {
+ final XPathCacheObject<Node> cachedObject = xpathNodeResults.get( xpathExp );
+ if ( cacheHit( cachedObject, message ) )
+ return cachedObject.getResult();
+
+ final XPath xpath = getXPath( namespaces );
+ final Node node = (Node) xpath.evaluate( xpathExp, getInputSource(message), XPathConstants.NODE);
+ xpathNodeResults.put( xpathExp, new XPathCacheObject<Node>( message.hashCode(), node ) );
+ return node;
+ }
+
+ /**
+ * Uses XPath to select the NodeList matched by the XPath expression.
+ * <p/>
+ * This is the equivalent of calling selectAsNodeList( message, xpathExp null).
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @return NodeList -
+ * the NodeList if XPath found a match, or null if no match was found.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static NodeList selectAsNodeList( final Message message, final String xpathExp ) throws XPathExpressionException
+ {
+ return selectAsNodeList( message, xpathExp, null );
+ }
+
+ /**
+ * Uses XPath to select the NodeList matched by the XPath expression.
+ * <p/>
+ *
+ * @param message -
+ * the ESB Message which body content will be used
+ * @param xpathExp -
+ * XPath expression
+ * @param namespaces -
+ * Map of namespaces to be used in the xpath expression. Key=prefix,value = uri
+ * @return NodeList -
+ * the NodeList if XPath found a match, or null if no match was found.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static NodeList selectAsNodeList( final Message message, final String xpathExp, Map<String,String> namespaces ) throws XPathExpressionException
+ {
+ final XPathCacheObject<NodeList> cachedObject = xpathNodeListResults.get( xpathExp );
+ if ( cacheHit( cachedObject, message ) )
+ return cachedObject.getResult();
+
+ final XPath xpath = getXPath( namespaces );
+ final NodeList nodeList = (NodeList) xpath.evaluate(xpathExp, getInputSource(message), XPathConstants.NODESET);
+ log.info("XPath [" + xpathExp + "], nr of matches : " + nodeList.getLength());
+ xpathNodeListResults.put( xpathExp, new XPathCacheObject<NodeList>( message.hashCode(), nodeList ) );
+ return nodeList;
+ }
+
+ /**
+ * Uses XPath to look for the occurence of a certain node, specified in the XPath expression.
+ * This can be used to find out if the Message object contains the node specified by the XPath
+ * expression.
+ * <p/>
+ * This is the equivalent of calling xmlContentMatches( message, xpathExp, null).
+ *
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @return true
+ * if the node is found and false in all other cases.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static boolean xmlContentMatches(final Message message, final String xpathExp) throws XPathExpressionException
+ {
+ return xmlContentMatches( message, xpathExp, null );
+ }
+
+ /**
+ * Uses XPath to look for the occurence of a certain node, specified in the XPath expression.
+ * This can be used to find out if the Message object contains the node specified by the XPath
+ * expression.
+ *
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @param namespaces -
+ * Map of namespaces to be used in the xpath expression. Key=prefix,value = uri
+ * @return true
+ * if the node is found and false in all other cases.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static boolean xmlContentMatches(final Message message, final String xpathExp, final Map<String,String> namespaces ) throws XPathExpressionException
+ {
+ return selectAsNode( message, xpathExp, namespaces ) != null ;
+ }
+
+ /**
+ * Uses XPath to look for any occurence of a certain tag, specific in the xpath expression.
+ * This can be used to find out if the Message object contains the node specified by the XPath
+ * Note, that this method cannot be used with a boolean expression, use {@link #selectAsBoolean(Message, String)}
+ * for that.
+ * <p/>
+ * This is the equivalent of calling xmlContentExists( message, xpathExp, null).
+ *
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @return true
+ * if one or more nodes are found and false in all other cases.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static boolean xmlContentExists(final Message message, final String xpathExp) throws XPathExpressionException
+ {
+ return xmlContentExists( message, xpathExp, null );
+ }
+
+ /**
+ * Uses XPath to look for any occurence of a certain tag, specific in the xpath expression.
+ * This can be used to find out if the Message object contains the node specified by the XPath
+ * Note, that this method cannot be used with a boolean expression, use {@link #selectAsBoolean(Message, String)}
+ * for that.
+ *
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @param namespaces -
+ * Map of namespaces to be used in the xpath expression. Key=prefix,value = uri
+ * @return true
+ * if one or more nodes are found and false in all other cases.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static boolean xmlContentExists(final Message message, final String xpathExp, final Map<String,String> namespaces ) throws XPathExpressionException
+ {
+ final NodeList nodeList = selectAsNodeList( message, xpathExp, namespaces );
+ return nodeList == null ? false : nodeList.getLength() > 0 ;
+ }
+
+ /**
* Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
+ * </p>
+ * Note that {@link #selectAsBoolean(Message, String)} can be used instead of this method
+ * and the XPath equality operator can be used in the XPath expression:
+ * <br>
+ * <pre>{@code
+ * String xpathExp = "/Order/OrderLines/OrderLine/Product/@productId = 364";
+ * }</pre>
+ * <br>
+ * <p/>
+ * This is the equivalent of calling xmlContentEquals( message, xpathExp, null).
*
- * @param message - the ESB Message which body content will be used.
- * @param xpathExp - XPath expression to find a node.
- * @return true if the node is found and false in all other cases.
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @return true -
+ * if the node is found and false in all other cases.
* @throws XPathExpressionException
+ * represents an error in an XPath expression
*/
- public static boolean xmlContentMatches(Message message, String xpathExp) throws XPathExpressionException
+ public static boolean xmlContentEquals(final Message message, final String xpathExp, final String value ) throws XPathExpressionException
{
- if (log.isDebugEnabled()) {
- log.debug("Trying to match xpath: '" + xpathExp + "' in message=" + message);
- }
- XPath xpath = xpf.newXPath();
- InputSource inputSource = getInputSource(message);
- Object node = xpath.evaluate(xpathExp, inputSource, XPathConstants.NODE);
- if (log.isDebugEnabled()) {
- log.debug("Found node=" + node);
- }
- return node != null;
+ return xmlContentEquals( message, xpathExp, value, null );
}
-
+
+ /**
+ * Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
+ * </p>
+ * Note that {@link #selectAsBoolean(Message, String)} can be used instead of this method
+ * and the XPath equality operator can be used in the XPath expression:
+ * <br>
+ * <pre>{@code
+ * String xpathExp = "/Order/OrderLines/OrderLine/Product/@productId = 364";
+ * }</pre>
+ * <br>
+ *
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @param namespaces -
+ * Map of namespaces to be used in the xpath expression. Key=prefix,value = uri
+ * @return true -
+ * if the node is found and false in all other cases.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static boolean xmlContentEquals(final Message message, final String xpathExp, final String value, final Map<String,String> namespaces ) throws XPathExpressionException
+ {
+ final String xpathResult = selectAsString( message, xpathExp, namespaces );
+ return xpathResult == null ? false : xpathResult.equals( value );
+ }
+
/**
* Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
+ * <p/>
+ * This is the equivalent of calling xmlContentGreaterThan( message, xpathExp, value, null).
*
- * @param message - the ESB Message which body content will be used.
- * @param xpathExp - XPath expression to find a node.
- * @param value - used to compare against the result found using the XPath expression.
- * @return true if equal, false in all other cases.
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @return true
+ * if the node is found and false in all other cases.
* @throws XPathExpressionException
+ * represents an error in an XPath expression
*/
- public static boolean xmlContentEquals(Message message, String xpathExp, String value) throws XPathExpressionException
+ public static boolean xmlContentGreaterThan( final Message message, final String xpathExp, final String value) throws XPathExpressionException
{
- if (log.isDebugEnabled()) {
- log.debug("Trying to match xpath: '" + xpathExp + "' in message=" + message.getBody().get());
- }
- XPath xpath = xpf.newXPath();
- InputSource inputSource = getInputSource(message);
- String nodeValue = (String) xpath.evaluate(xpathExp, inputSource, XPathConstants.STRING);
- if (log.isDebugEnabled()) {
- log.debug("Found nodeValue=" + nodeValue + " which is matched to given value=" + value);
- }
- return value.equals(nodeValue);
+ return xmlContentGreaterThan( message, xpathExp, value, null );
}
-
- /**
+
+ /**
* Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
*
- * @param message - the ESB Message which body content will be used.
- * @param xpathExp - XPath expression to find a node.
- * @param value - used to compare against the result found using the XPath expression.
- * @return true if node (returned by the xpath expression) is greater than the current value, false in all other cases.
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @param namespaces -
+ * Map of namespaces to be used in the xpath expression. Key=prefix,value = uri
+ * @return true
+ * if the node is found and false in all other cases.
* @throws XPathExpressionException
+ * represents an error in an XPath expression
*/
- public static boolean xmlContentGreaterThan(Message message, String xpathExp, String value) throws XPathExpressionException
+ public static boolean xmlContentGreaterThan( final Message message, final String xpathExp, final String value, final Map<String,String> namespaces) throws XPathExpressionException
{
- String nodeValue=null;
- double doubleValue=0;
- double doubleNodeValue=0;
+ final String xpathResult = (String) selectAsString( message, xpathExp, namespaces );
- if (log.isDebugEnabled()) {
- log.debug("Trying to match xpath: '" + xpathExp + "' in message=" + message.getBody().get());
- }
- XPath xpath = xpf.newXPath();
- InputSource inputSource = getInputSource(message);
- nodeValue = (String) xpath.evaluate(xpathExp, inputSource, XPathConstants.STRING);if (log.isDebugEnabled()) {
- log.debug("Found nodeValue=" + nodeValue + " which is matched to given value=" + value);
- }
- if (nodeValue!=null && !"".equals(nodeValue)) {
-
- try {
- doubleValue = Double.parseDouble(value);
- } catch (NumberFormatException ne) {
- log.equals("Could not parse value=" + doubleValue + " to double");
- }
- try {
- doubleNodeValue = Double.parseDouble(nodeValue);
- } catch (NumberFormatException ne) {
- log.equals("Could not parse nodeValue=" + doubleNodeValue + " to double");
- }
- if (doubleNodeValue > doubleValue) {
- return true;
- }
- }
- return false;
+ if ( xpathResult != null && !"".equals( xpathResult ) )
+ return parseDouble( xpathResult ) > parseDouble( value );
+ else
+ return false;
}
-
- /**
+
+ /**
* Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
+ * <p/>
+ * This is the equivalent of calling xmlContentLessThan( message, xpathExp, value, null).
*
- * @param message - the ESB Message which body content will be used.
- * @param xpathExp - XPath expression to find a node.
- * @param value - used to compare against the result found using the XPath expression.
- * @return true if node (returned by the xpath expression) is less than the current value, false in all other cases.
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @return true
+ * if the node is found and false in all other cases.
* @throws XPathExpressionException
+ * represents an error in an XPath expression
*/
- public static boolean xmlContentLessThan(Message message, String xpathExp, String value) throws XPathExpressionException
+ public static boolean xmlContentLessThan( final Message message, final String xpathExp, final String value) throws XPathExpressionException
+ {
+ return xmlContentLessThan( message, xpathExp, value, null );
+ }
+
+ /**
+ * Uses XPath to look for the occurence of a certain tag, specific in the xpath expression.
+ *
+ * @param message -
+ * the ESB Message which body content will be used.
+ * @param xpathExp -
+ * XPath expression to find a node.
+ * @return true
+ * if the node is found and false in all other cases.
+ * @throws XPathExpressionException
+ * represents an error in an XPath expression
+ */
+ public static boolean xmlContentLessThan( final Message message, final String xpathExp, final String value, final Map<String,String> namespaces) throws XPathExpressionException
+ {
+ final String xpathResult = (String) selectAsString( message, xpathExp, namespaces );
+
+ if ( xpathResult != null && !"".equals( xpathResult ) )
+ return parseDouble( xpathResult ) < parseDouble( value );
+ else
+ return false;
+ }
+
+ /**
+ * Will take the passed in string of namespaces in the form "prefix=uri,prefix=uri".
+ *
+ * @param namespaces string of namespaces in the form "prefix=uri,prefix=uri"
+ * @return Map<String,String> where the key will be the namespace prefix and the value the uri
+ */
+ public static Map<String, String> parseNamespaces( final String namespaces )
{
- String nodeValue=null;
- double doubleValue=0;
- double doubleNodeValue=0;
-
- if (log.isDebugEnabled()) {
- log.debug("Trying to match xpath: '" + xpathExp + "' in message=" + message.getBody().get());
+ AssertArgument.isNotNullAndNotEmpty( namespaces, "namespaces" );
+
+ final String[] namespacesElements = namespaces.split( "," );
+ final Map<String,String> namespacesMap = new HashMap<String,String>();
+ for ( String ns : namespacesElements )
+ {
+ final String[] pairs = ns.split( "=" );
+ namespacesMap.put( pairs[0].trim(), pairs[1].trim() );
}
- XPath xpath = xpf.newXPath();
- InputSource inputSource = getInputSource(message);
- nodeValue = (String) xpath.evaluate(xpathExp, inputSource, XPathConstants.STRING);if (log.isDebugEnabled()) {
- log.debug("Found nodeValue=" + nodeValue + " which is matched to given value=" + value);
+ return namespacesMap;
+ }
+
+ /*
+ * Checks if the cachedObject was non-null, and if so, checks the message hashCode against
+ * the cachedObjects messageHashCode.
+ */
+ private static <T> boolean cacheHit ( final XPathCacheObject<T> cachedObject, final Message message )
+ {
+ return cachedObject != null && cachedObject.getMessageHashCode() == message.hashCode();
+ }
+
+ private static double parseDouble( final String string ) throws XPathExpressionException
+ {
+ try
+ {
+ return Double.parseDouble( string );
+ }
+ catch (NumberFormatException e)
+ {
+ throw new XPathExpressionException("Could not parse value [" + string + "] to double" );
}
- if (nodeValue!=null && !"".equals(nodeValue)) {
-
- try {
- doubleValue = Double.parseDouble(value);
- } catch (NumberFormatException ne) {
- log.equals("Could not parse value=" + doubleValue + " to double");
- }
- try {
- doubleNodeValue = Double.parseDouble(nodeValue);
- } catch (NumberFormatException ne) {
- log.equals("Could not parse nodeValue=" + doubleNodeValue + " to double");
- }
- if (doubleNodeValue < doubleValue) {
- return true;
- }
- }
- return false;
}
+
+ private static void setNamespaces( final XPath xpath, final Map<String,String> namespaces )
+ {
+ if ( namespaces == null )
+ return;
- private static InputSource getInputSource(Message message) throws XPathExpressionException {
+ final XPathNamespaceContext namespaceContext = new XPathNamespaceContext();
+ for ( Entry<String, String> entry : namespaces.entrySet() )
+ namespaceContext.setMapping( entry.getKey(), entry.getValue() );
+
+ xpath.setNamespaceContext( namespaceContext );
+ }
+
+
+ private static InputSource getInputSource(Message message) throws XPathExpressionException
+ {
Object payload;
- try {
+ try
+ {
payload = payloadProxy.getPayload(message);
- } catch (MessageDeliverException e) {
+ }
+ catch (MessageDeliverException e)
+ {
throw new XPathExpressionException(e);
}
- if(payload instanceof byte[]) {
+ if(payload instanceof byte[])
+ {
return new InputSource(new ByteArrayInputStream((byte[]) payload));
- } else if(payload instanceof String) {
+ }
+ else if(payload instanceof String)
+ {
return new InputSource(new StringReader((String) payload));
- } else {
+ }
+ else
+ {
throw new XPathExpressionException("Unsupport expression input object type: " + payload.getClass().getName());
}
}
+
+ private static XPath getXPath( final Map<String,String> namespaces )
+ {
+ final XPath xpath = xpf.newXPath();
+ setNamespaces( xpath, namespaces );
+ return xpath;
+ }
+
+ /**
+ * XPathCacheObject holds results from XPath evaluations and message object instance hashcodes.
+ * </p>
+ * The intent of this class is for it to be used as the value in a Map:
+ * <pre>
+ * {@code
+ * Map<String,XPathCacheObject> xpathResults = new WeakHashMap<String,XPathCacheObject>() );
+ * }</pre><br><br>
+ * The key would be a String representing the XPath expression which was used to evaluate the result from
+ * the Message Object instance represented by the messageHashCode.
+ *
+ */
+ private static class XPathCacheObject<T>
+ {
+ /*
+ * The hashCode of the Message object used in the XPath evaluation
+ */
+ private final int messageHashCode;
+ /*
+ * The result from the XPath evalutaion
+ */
+ private final T result;
+
+ /**
+ * Sole constructor.
+ *
+ * @param messageHashCode -
+ * The hashCode of the Message object used in the XPath evaluation
+ * @param result -
+ * The result from the XPath evalutaion
+ */
+ public XPathCacheObject( final int messageHashCode, final T result )
+ {
+ this.messageHashCode = messageHashCode;
+ this.result = result;
+ }
+
+ public int getMessageHashCode()
+ {
+ return messageHashCode;
+ }
+
+ public T getResult()
+ {
+ return result;
+ }
+ }
+
}
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBRulesCounter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBRulesCounter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBRulesCounter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -256,7 +256,7 @@
/**
* Register this MBean with JBoss.
*/
- protected void registerMBean() {
+ public void registerMBean() {
MBeanServer mbeanServer = null;
try {
mbeanServer = MBeanServerLocator.locateJBoss();
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -21,69 +21,32 @@
*/
package org.jboss.internal.soa.esb.services.routing.cbr;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
import org.apache.log4j.Logger;
-import org.apache.log4j.Level;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.StatefulSession;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.rule.Package;
-import org.jboss.internal.soa.esb.services.routing.cbr.JBRulesCounter;
+import org.jboss.internal.soa.esb.services.rules.RuleServiceCallHelper;
+import org.jboss.internal.soa.esb.services.rules.RuleServiceException;
import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.lifecycle.LifecyclePriorities;
-import org.jboss.soa.esb.lifecycle.LifecycleResource;
-import org.jboss.soa.esb.lifecycle.LifecycleResourceException;
-import org.jboss.soa.esb.lifecycle.LifecycleResourceFactory;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.services.routing.MessageRouterException;
-import org.jboss.soa.esb.services.routing.cbr.CBRException;
import org.jboss.soa.esb.services.routing.cbr.ContentBasedRouter;
-import org.jboss.soa.esb.util.ClassUtil;
/**
- * The Implementation of a rule based Content Router. Here we use JBossRules. We
- * keep a HashMap of so called working memories for performance reasons.
- *
+ * The Implementation of a rule based Content Router. Here we use JBossRules.
+ * <p/>
+ * We keep a HashMap of so called working memories for performance reasons.
+ * <br><br>
* @author kstam at redhat.com
*
*/
public class JBossRulesRouter implements ContentBasedRouter
{
- /**
- * The lifecycle resource factory.
- */
- private static final LifecycleResourceFactory<Map<String, RuleBase>> lifecycleRuleBaseFactory = new LifecycleRuleBaseFactory() ;
- /**
- * Lifecycle couriers.
- */
- private static final LifecycleResource<Map<String, RuleBase>> lifecycleRuleBases =
- new LifecycleResource<Map<String,RuleBase>>(lifecycleRuleBaseFactory,
- LifecyclePriorities.RULE_BASE_PRIORITY) ;
- /**
- * The lifecycle resource factory.
- */
- private static final LifecycleResourceFactory<Map<String, String>> lifecycleRuleSetFactory = new LifecycleRuleSetFactory() ;
- /**
- * Lifecycle couriers.
- */
- private static final LifecycleResource<Map<String, String>> lifecycleRuleSets =
- new LifecycleResource<Map<String,String>>(lifecycleRuleSetFactory,
- LifecyclePriorities.RULE_BASE_PRIORITY) ;
-
private static Logger logger = Logger.getLogger(JBossRulesRouter.class);
- private JBRulesCounter rulesCounter = null;
+ private ConfigTree configTree;
/**
* Route the message with a reference to the ruleSets supplied in the message.
@@ -91,8 +54,7 @@
*
* @param message - Message that needs routing.
*/
- public List<String> route (Message message)
- throws MessageRouterException
+ public List<String> route (Message message) throws MessageRouterException
{
logger.error("Not implemented");
return null;
@@ -102,12 +64,25 @@
* Route the message, using the given ruleSet (drl).
*
* @param ruleSet -
- * Filename of the drl that will be used.
+ * String reference to a file which contains a ruleSet.
+ * @param ruleLanguage -
+ * String reference to a file which contains a custom rule language
+ * definition.
* @param message -
* Message that needs routing.
+ * @param objectList -
+ * List of objects that should be extracted from the message
+ * object and which will be inserted into the Drools working
+ * memory.
+ * @return List<String> -
+ * List of destinations
+ *
*/
- public List<String> route (String ruleSet, boolean ruleReload,
- Message message, List<Object> objectList) throws MessageRouterException
+ public List<String> route (
+ final String ruleSet,
+ final boolean ruleReload,
+ final Message message,
+ final List<Object> objectList) throws MessageRouterException
{
return route(ruleSet, null, ruleReload, message, objectList);
}
@@ -118,301 +93,45 @@
* now. However when the need arises, this is where it goes.
*
* @param ruleSet -
- * Filename of the drl that will be used.
+ * String reference to a file which contains a ruleSet.
* @param ruleLanguage -
- * Filename of the dsl that will be used.
+ * String reference to a file which contains a custom rule language
+ * definition.
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading the
+ * ruleSet.
* @param message -
* Message that needs routing.
+ * @param objectList -
+ * a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory.
+ * @return List<String> -
+ * List of Service destinations.
*/
- @SuppressWarnings("unchecked")
- public List<String> route (String ruleSet, String ruleLanguage,
- boolean ruleReload, Message message, List<Object> objectList) throws MessageRouterException
+ public List<String> route (
+ final String ruleSet,
+ final String ruleLanguage,
+ final boolean ruleReload,
+ Message message,
+ final List<Object> objectList ) throws MessageRouterException
{
- List<String> destinations = new ArrayList();
- long startTime = System.nanoTime();
-
- try {
- String newRuleSet = null;
- boolean isRulesChanged = false;
-
- final Map<String, String> ruleSets = lifecycleRuleSets.getLifecycleResource() ;
- if (ruleReload)
- {
- String currentRuleSet = ruleSets.get(ruleSet);
- newRuleSet = getRules(ruleSet, ruleLanguage);
- if (currentRuleSet == null || !currentRuleSet
- .equals(newRuleSet))
- {
- isRulesChanged = true;
- }
- }
- final Map<String, RuleBase> ruleBases = lifecycleRuleBases.getLifecycleResource() ;
- RuleBase ruleBase = ruleBases.get(ruleSet);
- if (ruleBase == null || isRulesChanged)
- {
- logger.log(Level.DEBUG,
- "Reading ruleSet from file=" + ruleSet);
- ruleBase = readRuleBase(ruleSet, ruleLanguage);
- if (ruleBase != null) ruleBases.put(ruleSet, ruleBase);
- if (newRuleSet == null)
- {
- newRuleSet = getRules(ruleSet, ruleLanguage);
- }
- if (ruleSet != null) ruleSets.put(ruleSet, newRuleSet);
- }
- StatefulSession workingMemory = ruleBase.newStatefulSession();
- logger.log(Level.DEBUG,
- "Obtained message=" + message + " with ruleSet=" + ruleSet);
- workingMemory.setGlobal("destinations", destinations);
- if (objectList!=null) {
- for (Object object : objectList) {
- workingMemory.insert(object);
- }
- }
- workingMemory.insert(message);
- logger.log(Level.DEBUG, "Fire the JBossRules Engine");
- workingMemory.fireAllRules();
- long procTime = System.nanoTime() - startTime;
- if (rulesCounter != null) {
- rulesCounter.update(procTime, ruleSet, JBRulesCounter.RULES_SUCCEED);
- }
-
- logger.log(Level.DEBUG,
- "Outgoing Destinations: " + destinations);
- workingMemory.dispose();
- return destinations;
- } catch (final LifecycleResourceException lre) {
- if (rulesCounter != null) {
- long procTime = System.nanoTime() - startTime;
- rulesCounter.update(procTime, ruleSet, JBRulesCounter.RULES_FAILED);
- }
- throw new MessageRouterException("Could not load lifecycle data. " + lre.getMessage(), lre);
- } catch (IOException ioe) {
- if (rulesCounter != null) {
- long procTime = System.nanoTime() - startTime;
- rulesCounter.update(procTime, ruleSet, JBRulesCounter.RULES_FAILED);
- }
- throw new MessageRouterException("Could not read the rules. " + ioe.getMessage(), ioe);
- } catch (DroolsParserException dpe) {
- if (rulesCounter != null) {
- long procTime = System.nanoTime() - startTime;
- rulesCounter.update(procTime, ruleSet, JBRulesCounter.RULES_FAILED);
- }
- throw new MessageRouterException("Could not parse the rules. " + dpe.getMessage(), dpe);
- } catch (CBRException cbre) {
- if (rulesCounter != null) {
- long procTime = System.nanoTime() - startTime;
- rulesCounter.update(procTime, ruleSet, JBRulesCounter.RULES_FAILED);
- }
- throw new MessageRouterException("Could not parse the rules. " + cbre.getMessage(), cbre);
- }
- }
-
- /**
- * Reading the rules and dsl from files. Note that we may want to allow
- * other ways to set the rule, but for now it's just files.
- */
- private static RuleBase readRuleBase (String rulesFile, String ruleLanguage)
- throws DroolsParserException, IOException, CBRException
- {
- // read in the rules
- logger.debug("Going to read the rule: " + rulesFile);
- InputStream inputStreamDrl = ClassUtil.getResourceAsStream(rulesFile.charAt(0) == '/' ? rulesFile : "/" + rulesFile, JBossRulesRouter.class);
- if (inputStreamDrl == null)
+ try
{
- logger.error("Could not find rulesFile: " + rulesFile);
- return null;
- }
- else
+ Map<String,Object> globals = new HashMap<String,Object>();
+ List<String> destinations = new ArrayList<String>();
+ globals.put( "destinations", destinations );
+ message = RuleServiceCallHelper.executeRulesService( ruleSet, ruleLanguage, ruleReload, message, objectList, globals, configTree );
+ return destinations;
+ }
+ catch (final RuleServiceException e)
{
- PackageBuilderConfiguration pkgBuilderCfg = new PackageBuilderConfiguration();
- //pkgBuilderCfg.setCompiler(PackageBuilderConfiguration.JANINO);
- PackageBuilder builder = new PackageBuilder(pkgBuilderCfg);
- try
- {
- Reader rules = new InputStreamReader(inputStreamDrl);
- // this wil parse and compile in one step
- if (ruleLanguage == null)
- {
- builder.addPackageFromDrl(rules);
- }
- else
- {
- logger.debug("Going to read the language: " + ruleLanguage);
- InputStream inputStreamDsl = ClassUtil.getResourceAsStream(ruleLanguage.charAt(0) == '/' ? ruleLanguage : "/" + ruleLanguage, JBossRulesRouter.class);
- if (inputStreamDsl == null)
- {
- logger.error("Could not find ruleLanguage: " + rulesFile);
- }
- else
- {
- try
- {
- Reader dsl = new InputStreamReader(inputStreamDsl);
- builder.addPackageFromDrl(rules, dsl);
- }
- finally
- {
- safeClose(inputStreamDsl);
- }
- }
- }
- }
- finally
- {
- safeClose(inputStreamDrl);
- }
- // get the compiled package (which is serializable)
- Package pkg = builder.getPackage();
- // add the package to a rulebase (deploy the rule package).
- try
- {
- RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- ruleBase.addPackage(pkg);
- return ruleBase;
- } catch (Exception ex) {
- throw new CBRException(ex.getMessage(), ex);
- }
+ throw new MessageRouterException(e.getMessage(), e);
}
}
- /**
- * Reading the rules and dsl from files. Note that we may want to allow
- * other ways to set the rule, but for now it's just files.
- */
- private static String getRules (String rulesFile, String ruleLanguage)
- throws IOException
+ public void setConfigTree(final ConfigTree configTree)
{
- logger.debug("Going to hash the rule: " + rulesFile);
- InputStream inputStreamDrl = ClassUtil.getResourceAsStream(rulesFile.charAt(0) == '/' ? rulesFile : "/" + rulesFile, JBossRulesRouter.class);
- if (inputStreamDrl == null)
- {
- logger.error("Could not find rulesFile: " + rulesFile);
- return null;
- }
- else
- {
- final String rules ;
- try
- {
- rules = getString(inputStreamDrl);
- }
- finally
- {
- safeClose(inputStreamDrl);
- }
- String language = "";
- if (ruleLanguage != null)
- {
- logger.debug("Going to hash the language: " + ruleLanguage);
- InputStream inputStreamDsl = ClassUtil.getResourceAsStream(ruleLanguage.charAt(0) == '/' ? ruleLanguage : "/" + ruleLanguage, JBossRulesRouter.class);
- if (inputStreamDsl == null)
- {
- logger.error("Could not find language: " + ruleLanguage);
- }
- else
- {
- try
- {
- language = getString(inputStreamDsl);
- }
- finally
- {
- safeClose(inputStreamDsl);
- }
- }
- }
- return rules + language;
- }
-
+ this.configTree = configTree;
}
-
- private static void safeClose(final InputStream is)
- {
- try
- {
- is.close() ;
- }
- catch (final Throwable th) {} // ignore
- }
-
- private static String getString (InputStream in) throws IOException
- {
- StringBuffer stringBuffer = new StringBuffer();
- byte[] b = new byte[4096];
- for (int i; (i = in.read(b)) != -1;)
- {
- stringBuffer.append(new String(b, 0, i));
- }
- return stringBuffer.toString();
- }
-
- public void setConfigTree(ConfigTree configTree) {
- rulesCounter = new JBRulesCounter(configTree);
- rulesCounter.registerMBean();
- }
- /**
- * The lifecycle resource factory for rule sets.
- * @author kevin
- */
- public static class LifecycleRuleBaseFactory implements LifecycleResourceFactory<Map<String, RuleBase>>
- {
- /**
- * Create a resource object which will be associated with the specified lifecycle identity.
- * @param lifecycleIdentity The associated lifecycle identity.
- * @return The lifecycle resource
- * @throws LifecycleResourceException for errors during construction.
- */
- public Map<String, RuleBase> createLifecycleResource(final String lifecycleIdentity)
- throws LifecycleResourceException
- {
- return new ConcurrentHashMap<String, RuleBase>() ;
- }
-
- /**
- * Destroy a resource object which is associated with the specified lifecycle identity.
- * @param resource The lifecycle resource.
- * @param lifecycleIdentity The associated lifecycle identity.
- * @return The lifecycle resource.
- * @throws LifecycleResourceException for errors during destroy.
- */
- public void destroyLifecycleResource(final Map<String, RuleBase> resource,
- final String lifecycleIdentity)
- throws LifecycleResourceException
- {
- }
- }
-
- /**
- * The lifecycle resource factory for rule sets.
- * @author kevin
- */
- public static class LifecycleRuleSetFactory implements LifecycleResourceFactory<Map<String, String>>
- {
- /**
- * Create a resource object which will be associated with the specified lifecycle identity.
- * @param lifecycleIdentity The associated lifecycle identity.
- * @return The lifecycle resource
- * @throws LifecycleResourceException for errors during construction.
- */
- public Map<String, String> createLifecycleResource(final String lifecycleIdentity)
- throws LifecycleResourceException
- {
- return new ConcurrentHashMap<String, String>() ;
- }
-
- /**
- * Destroy a resource object which is associated with the specified lifecycle identity.
- * @param resource The lifecycle resource.
- * @param lifecycleIdentity The associated lifecycle identity.
- * @return The lifecycle resource.
- * @throws LifecycleResourceException for errors during destroy.
- */
- public void destroyLifecycleResource(final Map<String, String> resource,
- final String lifecycleIdentity)
- throws LifecycleResourceException
- {
- }
- }
}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules)
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelper.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,303 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.internal.soa.esb.services.rules;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-import java.util.Properties;
-
-import org.apache.log4j.Logger;
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.agent.RuleAgent;
-import org.drools.compiler.DroolsParserException;
-import org.drools.compiler.PackageBuilder;
-import org.drools.compiler.PackageBuilderConfiguration;
-import org.drools.decisiontable.InputType;
-import org.drools.decisiontable.SpreadsheetCompiler;
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.soa.esb.util.ClassUtil;
-
-/**
- * A helper class, it returns rulebases based on various methods of creating them.
- * <p/>
- *
- * @author jdelong at redhat.com
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public class DroolsRuleBaseHelper {
-
- private static Logger logger = Logger.getLogger(DroolsRuleBaseHelper.class);
-
- private DroolsRuleBaseHelper() {}
-
- /**
- * Factory method that returns an instance of this class.
- * </p>
- * The current implementation returns a new instance of this
- * class for every call.
- *
- * @return {@link DroolsRuleBaseHelper}
- */
- public static DroolsRuleBaseHelper getInstance()
- {
- return new DroolsRuleBaseHelper();
- }
-
- /**
- * Creates a rulebase using rules and dsl from files
- * <p/>
- *
- * @param ruleFile -
- * file name which contains the Drools rules. Can be a file on the local
- * filesystem, a file on the classpath or an URL. Must not be null.
- * @param dsl -
- * file containing the Drools Domain Specific Language (dsl)
- * @throws DroolsParserException -
- * if an exception occurs during Drools package building
- * @throws IOException -
- * if an IOException occurs during Drools package building
- * @throws RuleServiceException -
- * if the ruleFile cannot be located or if it was not possible to
- * add the package to the RuleBase.
- */
- public RuleBase createRuleBaseFromRuleFiles(
- final String ruleFile,
- final String dsl)
- throws DroolsParserException, IOException, RuleServiceException, RuleServiceBuilderException
- {
- assertNotNull( ruleFile, "ruleFile" );
-
- // read in the rules
- InputStream rulesInputStream = getRulesInputStream( ruleFile );
-
- Reader ruleReader = getRulesReader( rulesInputStream );
-
- PackageBuilder builder = new PackageBuilder( new PackageBuilderConfiguration() );
- try
- {
- if ( dsl == null )
- {
- builder.addPackageFromDrl(ruleReader);
- }
- else
- {
- InputStream dslInputStream = getRulesInputStream( dsl );
- Reader dslReader = getRulesReader( dslInputStream );
- if ( dslReader == null )
- {
- logger.error("Could not find dsl file [" + dsl + "]");
- }
- else
- {
- try
- {
- builder.addPackageFromDrl(ruleReader, dslReader);
- }
- finally
- {
- safeClose(dslInputStream);
- }
- }
- }
- }
- finally
- {
- safeClose(rulesInputStream);
- }
-
- return getNewRuleBaseWithPackage( builder );
- }
-
-
-
- /**
- * Reads the rules and dsl from files and returning as a string
- *
- * @param ruleFile -
- * file name which contains the Drools rules. Can be a file on the local
- * filesystem, a file on the classpath or an URL. Must not be null.
- * @param dsl -
- * file containing the Drools Domain Specific Language (dsl)
- * @return String -
- * String representation of the rules
- * @throws IOException -
- * if an IOException occurs during Drools package building
- * @throws RuleServiceException -
- * if the ruleFile cannot be located or if it was not possible to
- * add the package to the RuleBase.
- * @throws RuleServiceException
- */
- public String getRulesAsString(
- final String ruleFile,
- final String dsl) throws IOException, RuleServiceException
- {
- assertNotNull( ruleFile, "rulefile" );
-
- final String rules = getFileContents( ruleFile );
- return dsl == null ? rules : rules + getFileContents( dsl );
- }
-
- /**
- * Reading the rules from a decision table.
- * <p/>
- * @param decisionTable -
- * file name which contains the Drools decision table. Can be a file on the local
- * filesystem, a file on the classpath or an URL. Must not be null.
- * @throws DroolsParserException -
- *
- * @throws IOException -
- *
- * @throws RuleServiceException -
- */
- public RuleBase createRuleBaseFromDecisionTable(
- final String decisionTable)
- throws DroolsParserException, IOException, RuleServiceException, RuleServiceBuilderException
- {
- assertNotNull( decisionTable, "decisionTable" );
-
- final String drl = getSpreadsheetRules(decisionTable);
- PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new StringReader(drl) );
- return getNewRuleBaseWithPackage( builder );
- }
-
- /**
- * Reading the decision table and creating a drl
- * </p>
- * @throws RuleServiceException
- */
- public String getSpreadsheetRules(final String decisionTable) throws RuleServiceException
- {
- InputStream inputStreamDT = getRulesInputStream(decisionTable);
- try
- {
- return new SpreadsheetCompiler().compile(inputStreamDT, InputType.XLS);
- }
- finally
- {
- safeClose(inputStreamDT);
- }
- }
-
- /**
- * This shows how rules are loaded up from a deployed package.
- */
- public RuleBase loadRuleBaseFromRuleAgent(final String ruleAgentProperties) throws IOException, Exception
- {
- return RuleAgent.newRuleAgent( "/" + ruleAgentProperties ).getRuleBase();
- }
-
- public RuleBase loadRuleBaseFromRuleAgent(final Properties ruleAgentProperties) throws IOException, Exception
- {
- return RuleAgent.newRuleAgent( ruleAgentProperties ).getRuleBase();
- }
-
- /**
- * This shows how rules are loaded up from a deployed package.
- */
- public RuleAgent createRuleAgent(final String ruleAgentProperties) throws IOException, Exception
- {
- return RuleAgent.newRuleAgent( "/" + ruleAgentProperties );
- }
-
- private String getFileContents( final String fileName ) throws RuleServiceException
- {
- InputStream inputStream = getRulesInputStream( fileName );
- try
- {
- return StreamUtils.readStreamString( inputStream, "UTF-8" );
- }
- catch ( final UnsupportedEncodingException e)
- {
- throw new RuleServiceException("Could not read from file [" + fileName + "].", e);
- }
- finally
- {
- safeClose( inputStream );
- }
- }
-
- // private instance methods
-
- private Reader getRulesReader(final InputStream inputStream)
- {
- return new InputStreamReader( inputStream );
- }
-
- private InputStream getRulesInputStream(final String rulesFile) throws RuleServiceException
- {
- InputStream resourceAsStream = ClassUtil.getResourceAsStream( "/" + rulesFile, getClass() );
- if ( resourceAsStream == null )
- throw new RuleServiceException("Could not locate file [" + rulesFile + "], neither as a file on the local filesystem, on the classpath nor as a URL.");
- else
- return resourceAsStream;
- }
-
- private RuleBase getNewRuleBaseWithPackage( final PackageBuilder builder ) throws RuleServiceException, RuleServiceBuilderException
- {
- RuleBase ruleBase = RuleBaseFactory.newRuleBase();
- try
- {
- ruleBase.addPackage( builder.getPackage() );
- }
- catch (final Exception ex)
- // need to catch Exception as RuleBase.addPackage throws it
- {
- throw new RuleServiceException(ex.getMessage(), ex);
- }
-
- if ( builder.hasErrors() )
- {
- throw new RuleServiceBuilderException( "PackageBuilder generated errors: ", builder.getErrors() );
- }
-
- return ruleBase;
- }
-
- // private static methods
-
- private static void safeClose( final InputStream is )
- {
- try
- {
- is.close();
- }
- catch (final IOException e)
- {
- logger.warn("Caught an IOException while trying to close as inputstream.", e );
- }
- }
-
- private static void assertNotNull( final String argumentValue, final String argumentName )
- {
- if( argumentValue == null )
- throw new NullPointerException("[" + argumentName + "] argument must not be null");
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelper.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelper.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelper.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,303 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.internal.soa.esb.services.rules;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+import java.util.Properties;
+
+import org.apache.log4j.Logger;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.agent.RuleAgent;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.drools.decisiontable.InputType;
+import org.drools.decisiontable.SpreadsheetCompiler;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.util.ClassUtil;
+
+/**
+ * A helper class, it returns rulebases based on various methods of creating them.
+ * <p/>
+ *
+ * @author jdelong at redhat.com
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class DroolsRuleBaseHelper {
+
+ private static Logger logger = Logger.getLogger(DroolsRuleBaseHelper.class);
+
+ private DroolsRuleBaseHelper() {}
+
+ /**
+ * Factory method that returns an instance of this class.
+ * </p>
+ * The current implementation returns a new instance of this
+ * class for every call.
+ *
+ * @return {@link DroolsRuleBaseHelper}
+ */
+ public static DroolsRuleBaseHelper getInstance()
+ {
+ return new DroolsRuleBaseHelper();
+ }
+
+ /**
+ * Creates a rulebase using rules and dsl from files
+ * <p/>
+ *
+ * @param ruleFile -
+ * file name which contains the Drools rules. Can be a file on the local
+ * filesystem, a file on the classpath or an URL. Must not be null.
+ * @param dsl -
+ * file containing the Drools Domain Specific Language (dsl)
+ * @throws DroolsParserException -
+ * if an exception occurs during Drools package building
+ * @throws IOException -
+ * if an IOException occurs during Drools package building
+ * @throws RuleServiceException -
+ * if the ruleFile cannot be located or if it was not possible to
+ * add the package to the RuleBase.
+ */
+ public RuleBase createRuleBaseFromRuleFiles(
+ final String ruleFile,
+ final String dsl)
+ throws DroolsParserException, IOException, RuleServiceException, RuleServiceBuilderException
+ {
+ assertNotNull( ruleFile, "ruleFile" );
+
+ // read in the rules
+ InputStream rulesInputStream = getRulesInputStream( ruleFile );
+
+ Reader ruleReader = getRulesReader( rulesInputStream );
+
+ PackageBuilder builder = new PackageBuilder( new PackageBuilderConfiguration() );
+ try
+ {
+ if ( dsl == null )
+ {
+ builder.addPackageFromDrl(ruleReader);
+ }
+ else
+ {
+ InputStream dslInputStream = getRulesInputStream( dsl );
+ Reader dslReader = getRulesReader( dslInputStream );
+ if ( dslReader == null )
+ {
+ logger.error("Could not find dsl file [" + dsl + "]");
+ }
+ else
+ {
+ try
+ {
+ builder.addPackageFromDrl(ruleReader, dslReader);
+ }
+ finally
+ {
+ safeClose(dslInputStream);
+ }
+ }
+ }
+ }
+ finally
+ {
+ safeClose(rulesInputStream);
+ }
+
+ return getNewRuleBaseWithPackage( builder );
+ }
+
+
+
+ /**
+ * Reads the rules and dsl from files and returning as a string
+ *
+ * @param ruleFile -
+ * file name which contains the Drools rules. Can be a file on the local
+ * filesystem, a file on the classpath or an URL. Must not be null.
+ * @param dsl -
+ * file containing the Drools Domain Specific Language (dsl)
+ * @return String -
+ * String representation of the rules
+ * @throws IOException -
+ * if an IOException occurs during Drools package building
+ * @throws RuleServiceException -
+ * if the ruleFile cannot be located or if it was not possible to
+ * add the package to the RuleBase.
+ * @throws RuleServiceException
+ */
+ public String getRulesAsString(
+ final String ruleFile,
+ final String dsl) throws IOException, RuleServiceException
+ {
+ assertNotNull( ruleFile, "rulefile" );
+
+ final String rules = getFileContents( ruleFile );
+ return dsl == null ? rules : rules + getFileContents( dsl );
+ }
+
+ /**
+ * Reading the rules from a decision table.
+ * <p/>
+ * @param decisionTable -
+ * file name which contains the Drools decision table. Can be a file on the local
+ * filesystem, a file on the classpath or an URL. Must not be null.
+ * @throws DroolsParserException -
+ *
+ * @throws IOException -
+ *
+ * @throws RuleServiceException -
+ */
+ public RuleBase createRuleBaseFromDecisionTable(
+ final String decisionTable)
+ throws DroolsParserException, IOException, RuleServiceException, RuleServiceBuilderException
+ {
+ assertNotNull( decisionTable, "decisionTable" );
+
+ final String drl = getSpreadsheetRules(decisionTable);
+ PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new StringReader(drl) );
+ return getNewRuleBaseWithPackage( builder );
+ }
+
+ /**
+ * Reading the decision table and creating a drl
+ * </p>
+ * @throws RuleServiceException
+ */
+ public String getSpreadsheetRules(final String decisionTable) throws RuleServiceException
+ {
+ InputStream inputStreamDT = getRulesInputStream(decisionTable);
+ try
+ {
+ return new SpreadsheetCompiler().compile(inputStreamDT, InputType.XLS);
+ }
+ finally
+ {
+ safeClose(inputStreamDT);
+ }
+ }
+
+ /**
+ * This shows how rules are loaded up from a deployed package.
+ */
+ public RuleBase loadRuleBaseFromRuleAgent(final String ruleAgentProperties) throws IOException, Exception
+ {
+ return RuleAgent.newRuleAgent( "/" + ruleAgentProperties ).getRuleBase();
+ }
+
+ public RuleBase loadRuleBaseFromRuleAgent(final Properties ruleAgentProperties) throws IOException, Exception
+ {
+ return RuleAgent.newRuleAgent( ruleAgentProperties ).getRuleBase();
+ }
+
+ /**
+ * This shows how rules are loaded up from a deployed package.
+ */
+ public RuleAgent createRuleAgent(final String ruleAgentProperties) throws IOException, Exception
+ {
+ return RuleAgent.newRuleAgent( "/" + ruleAgentProperties );
+ }
+
+ private String getFileContents( final String fileName ) throws RuleServiceException
+ {
+ InputStream inputStream = getRulesInputStream( fileName );
+ try
+ {
+ return StreamUtils.readStreamString( inputStream, "UTF-8" );
+ }
+ catch ( final UnsupportedEncodingException e)
+ {
+ throw new RuleServiceException("Could not read from file [" + fileName + "].", e);
+ }
+ finally
+ {
+ safeClose( inputStream );
+ }
+ }
+
+ // private instance methods
+
+ private Reader getRulesReader(final InputStream inputStream)
+ {
+ return new InputStreamReader( inputStream );
+ }
+
+ private InputStream getRulesInputStream(final String rulesFile) throws RuleServiceException
+ {
+ InputStream resourceAsStream = ClassUtil.getResourceAsStream( "/" + rulesFile, getClass() );
+ if ( resourceAsStream == null )
+ throw new RuleServiceException("Could not locate file [" + rulesFile + "], neither as a file on the local filesystem, on the classpath nor as a URL.");
+ else
+ return resourceAsStream;
+ }
+
+ private RuleBase getNewRuleBaseWithPackage( final PackageBuilder builder ) throws RuleServiceException, RuleServiceBuilderException
+ {
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ try
+ {
+ ruleBase.addPackage( builder.getPackage() );
+ }
+ catch (final Exception ex)
+ // need to catch Exception as RuleBase.addPackage throws it
+ {
+ throw new RuleServiceException(ex.getMessage(), ex);
+ }
+
+ if ( builder.hasErrors() )
+ {
+ throw new RuleServiceBuilderException( "PackageBuilder generated errors: ", builder.getErrors() );
+ }
+
+ return ruleBase;
+ }
+
+ // private static methods
+
+ private static void safeClose( final InputStream is )
+ {
+ try
+ {
+ is.close();
+ }
+ catch (final IOException e)
+ {
+ logger.warn("Caught an IOException while trying to close as inputstream.", e );
+ }
+ }
+
+ private static void assertNotNull( final String argumentValue, final String argumentName )
+ {
+ if( argumentValue == null )
+ throw new NullPointerException("[" + argumentName + "] argument must not be null");
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,847 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.services.rules;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.drools.RuleBase;
-import org.drools.StatefulSession;
-import org.drools.StatelessSession;
-import org.drools.WorkingMemory;
-import org.drools.agent.RuleAgent;
-import org.drools.compiler.DroolsParserException;
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-import org.jboss.internal.soa.esb.services.routing.cbr.JBRulesCounter;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.lifecycle.LifecyclePriorities;
-import org.jboss.soa.esb.lifecycle.LifecycleResource;
-import org.jboss.soa.esb.lifecycle.LifecycleResourceException;
-import org.jboss.soa.esb.lifecycle.LifecycleResourceFactory;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.rules.RuleService;
-
-/**
- * JBossRules (aka Drools) Implementation of a rule engine interface for rules services. Here we use
- * <p/>
- *
- * @author jdelong at redhat.com
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public class DroolsRuleService implements RuleService
-{
- /**
- * The lifecycle resource factory for RuleBases.
- */
- private static final LifecycleResourceFactory<Map<String, RuleBase>> lifecycleRuleBaseFactory = new LifecycleRuleBaseFactory();
-
- private static final LifecycleResourceFactory<Map<String, RuleAgent>> lifecycleRuleAgentFactory = new LifecycleRuleAgentFactory();
- /**
- * The lifecycle resource rule bases.
- */
- private static final LifecycleResource<Map<String, RuleBase>> lifecycleRuleBases = new LifecycleResource<Map<String, RuleBase>>(
- lifecycleRuleBaseFactory, LifecyclePriorities.RULE_BASE_PRIORITY);
- /**
- * RuleAgents cache
- */
- private static final LifecycleResource<Map<String, RuleAgent>> lifecycleRuleAgents = new LifecycleResource<Map<String, RuleAgent>>(
- lifecycleRuleAgentFactory, LifecyclePriorities.RULE_BASE_PRIORITY);
- /**
- * The lifecycle resource rule sets.
- */
- private static final LifecycleResourceFactory<Map<String, String>> lifecycleRuleSetFactory = new LifecycleRuleSetFactory();
- /**
- * Lifecycle couriers.
- */
- private static final LifecycleResource<Map<String, String>> lifecycleRuleSets = new LifecycleResource<Map<String, String>>(
- lifecycleRuleSetFactory, LifecyclePriorities.RULE_BASE_PRIORITY);
-
- /**
- * See {@link JBRulesCounter}
- */
- private JBRulesCounter rulesCounter = null;
-
- /**
- * Execute rules using a certain ruleSet and domain specific language using
- * the Stateless rule engine API
- *
- * @param ruleSet -
- * String reference to a file which contains a ruleSet.
- * @param dsl -
- * String reference to a file which contains a custom rule
- * language definition
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading
- * the ruleSet.
- * @param message -
- * Message that is updated with the results.
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param objectList -
- * a list with additional objects (typically pulled from the
- * message) to be inserted into working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatelessRules(
- final String ruleSet,
- final String dsl,
- final boolean ruleReload,
- Message message,
- final Map<String,Object> globals,
- final List<Object> objectList) throws RuleServiceException
- {
- AssertArgument.isNotNullAndNotEmpty( ruleSet, "ruleSet" );
-
- final long startTime = System.nanoTime();
-
- try
- {
- RuleBase ruleBase = getRuleBaseForFileBasedRules(ruleSet, dsl, ruleReload);
- message = executeStatelessRules(ruleBase, message, globals, objectList);
-
- updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_SUCCEED );
- }
- catch (RuleServiceException e)
- {
- updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
- throw e;
- }
- return message;
- }
-
- /**
- * Execute rules from a decision table using the Stateless rule engine API
- *
- * @param decisionTable -
- * String reference to a file which contains a spreadsheet of rules
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading
- * the ruleSet.
- * @param message -
- * Message that is updated with the results.
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatelessRulesFromDecisionTable(
- final String decisionTable,
- final boolean ruleReload,
- Message message,
- final Map<String,Object> globals,
- final List<Object> objectList) throws RuleServiceException
- {
- AssertArgument.isNotNullAndNotEmpty( decisionTable, "decisionTable" );
-
- final long startTime = System.nanoTime();
-
- try
- {
- RuleBase ruleBase = getRuleBaseForDecisionTable( decisionTable, ruleReload );
- message = executeStatelessRules( ruleBase, message, globals, objectList );
-
- updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_SUCCEED );
- }
- catch (RuleServiceException e)
- {
- updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
- throw e;
- }
- return message;
- }
-
- /**
- * Execute rules using a rule package retrieved via the Rule Agent from a URL of local file system
- * using the Stateless rule engine API
- *
- * @param ruleAgentProperties -
- * String reference to a file which contains properties used by the RuleAgent to locate a rule package.
- * @param message -
- * Message that is updated with the results.
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatelessRulesFromRuleAgent(
- final String ruleAgentProperties,
- Message message,
- final Map<String,Object> globals,
- final List<Object> objectList) throws RuleServiceException
- {
- AssertArgument.isNotNullAndNotEmpty( ruleAgentProperties, "ruleAgentProperties" );
-
- final long startTime = System.nanoTime();
- try
- {
- final RuleBase ruleBase = getRuleBaseForRuleAgent( ruleAgentProperties ) ;
- message = executeStatelessRules(ruleBase, message, globals, objectList);
- updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_SUCCEED );
- }
- catch ( final IOException e)
- {
- updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException( "Could not read the ruleAgentProperties file [" + ruleAgentProperties + "]", e);
- }
- catch ( final RuleServiceException e)
- {
- updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
- throw e;
- }
- catch ( final Exception e)
- {
- updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException( "RuleAgent could not get the RuleBase. " + e.getMessage(), e);
- }
- return message;
- }
-
- /**
- * Execute rules using a certain ruleSet and domain specific language using the Stateful rule engine API
- *
- * @param ruleSet -
- * String reference to a file which contains a ruleSet.
- * @param dsl -
- * String reference to a file which contains a custom rule
- * language definition(Domain Specific Language)
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading
- * the ruleSet.
- * @param message -
- * Message that is updated with the results.
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatefulRules(
- final String ruleSet,
- final String dsl,
- final boolean ruleReload,
- Message message,
- final Map<String,Object> globals,
- final List<Object> objectList) throws RuleServiceException
- {
- AssertArgument.isNotNullAndNotEmpty( ruleSet, "ruleSet" );
-
- final long startTime = System.nanoTime();
-
- try
- {
- RuleBase ruleBase = getRuleBaseForFileBasedRules( ruleSet, dsl, ruleReload );
- message = executeStatefulRules( ruleBase, false, message, globals, objectList );
-
- updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_SUCCEED);
- }
- catch (final RuleServiceException e)
- {
- updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
- throw e;
- }
- return message;
- }
-
- /**
- * Execute rules from a decision table using the Stateful rule engine API
- *
- * @param decisionTable -
- * String reference to a file which contains a spreadsheet of rules
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading
- * the ruleSet.
- * @param message -
- * Message that is updated with the results.
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatefulRulesFromDecisionTable(
- final String decisionTable,
- final boolean ruleReload,
- Message message,
- final Map<String,Object> globals,
- final List<Object> objectList) throws RuleServiceException
- {
- AssertArgument.isNotNullAndNotEmpty( decisionTable, "decisionTable" );
-
- final long startTime = System.nanoTime();
-
- try
- {
- final RuleBase ruleBase = getRuleBaseForDecisionTable(decisionTable, ruleReload);
-
- message = executeStatefulRules(ruleBase, false, message, globals, objectList);
-
- updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_SUCCEED );
- }
- catch (RuleServiceException e)
- {
- updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
- throw e;
- }
- return message;
- }
-
- /**
- * Execute rules using a rule package retrieved via the Rule Agent from a URL of local file system
- * using the Stateful rule engine API
- *
- * @param ruleAgentProperties -
- * String reference to a file which contains properties used by the RuleAgent to locate a rule package.
- * @param message -
- * Message that is updated with the results.
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatefulRulesFromRuleAgent(
- final String ruleAgentProperties,
- Message message,
- final Map<String,Object> globals,
- final List<Object> objectList) throws RuleServiceException
- {
- AssertArgument.isNotNullAndNotEmpty( ruleAgentProperties, "ruleAgentProperties" );
-
- final long startTime = System.nanoTime();
- try
- {
- final RuleBase ruleBase = getRuleBaseForRuleAgent( ruleAgentProperties ) ;
-
- message = executeStatefulRules(ruleBase, false, message, globals, objectList);
-
- updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_SUCCEED );
- }
- catch (IOException e)
- {
- updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException( "Could not read the ruleAgentProperties. " + e.getMessage(), e);
- }
- catch (RuleServiceException e)
- {
- updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
- throw e;
- }
- catch (Exception e)
- {
- updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException( "RuleAgent could not get the RuleBase. " + e.getMessage(), e);
- }
- return message;
- }
-
- /**
- * Continue executing rules where the working memory already exists.
- *
- * @param rules -
- * String reference to a file, either the drl file, the decision table,
- * or the ruleAgentProperties. This is used to find the ruleBase.
- * @param dispose -
- * if set to true, working memory will be disposed after the rules are fired
- * @param message -
- * Message that is updated with the results.
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message continueStatefulRulesExecution(
- final String rules,
- final boolean dispose,
- Message message,
- final Map<String,Object> globals,
- final List<Object> objectList) throws RuleServiceException
- {
- AssertArgument.isNotNullAndNotEmpty( rules, "rules" );
-
- final long startTime = System.nanoTime();
-
- try
- {
- final Map<String, RuleBase> ruleBases = lifecycleRuleBases.getLifecycleResource();
- final RuleBase ruleBase = ruleBases.get( rules );
-
- message = executeStatefulRules( ruleBase, dispose, message, globals, objectList );
-
- updateJBRulesCounter( startTime, rules, JBRulesCounter.RULES_SUCCEED );
- }
- catch (Exception e)
- {
- updateJBRulesCounter( startTime, rules, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException( "Could not continue rule execution. " + e.getMessage(), e);
- }
- return message;
- }
-
- public void setConfigTree( final ConfigTree configTree )
- {
- rulesCounter = new JBRulesCounter( configTree );
- rulesCounter.registerMBean();
- }
-
- // private methods
-
- private void updateJBRulesCounter( final long startTime , final String rules, final String result )
- {
- if (rulesCounter != null)
- {
- long procTime = System.nanoTime() - startTime;
- rulesCounter.update(procTime, rules, result );
- }
- }
-
- // package protected methods
-
- /**
- * Determine if file based rules need reloading and return the rulebase
- *
- * @param ruleSet -
- * String reference to a file which contains a ruleSet.
- * @param dsl -
- * String reference to a file which contains a custom rule language
- * definition
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading the
- * ruleSet.
- *
- * @return Message with updated objects.
- */
- RuleBase getRuleBaseForFileBasedRules(
- final String ruleSet,
- final String dsl,
- final boolean ruleReload) throws RuleServiceException
- {
- final long startTime = System.nanoTime();
-
- try
- {
- final DroolsRuleBaseHelper rbHelper = DroolsRuleBaseHelper.getInstance();
-
- String newRuleSet = null;
- boolean isRulesChanged = false;
-
- final Map<String, String> ruleSets = lifecycleRuleSets.getLifecycleResource();
- if ( ruleReload )
- {
- String currentRuleSet = ruleSets.get( ruleSet );
- newRuleSet = rbHelper.getRulesAsString( ruleSet, dsl );
- if ( currentRuleSet == null || !currentRuleSet.equals(newRuleSet) )
- {
- isRulesChanged = true;
- }
- }
- final Map<String, RuleBase> ruleBases = lifecycleRuleBases.getLifecycleResource();
- RuleBase ruleBase = ruleBases.get( ruleSet );
- if ( ruleBase == null || isRulesChanged )
- {
- ruleBase = rbHelper.createRuleBaseFromRuleFiles(ruleSet, dsl);
- if (ruleBase != null)
- ruleBases.put(ruleSet, ruleBase);
- if (newRuleSet == null)
- newRuleSet = rbHelper.getRulesAsString(ruleSet, dsl);
- if (ruleSet != null)
- ruleSets.put(ruleSet, newRuleSet);
- }
-
- return ruleBase;
-
- }
- catch (final LifecycleResourceException e)
- {
- updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException("Could not load lifecycle data. " + e.getMessage(), e);
- }
- catch (final IOException e)
- {
- updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException("Could not read the rules. " + e.getMessage(), e);
- }
- catch (final DroolsParserException e)
- {
- updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException("Could not parse the rules. " + e.getMessage(), e);
- }
- catch (final RuleServiceException e)
- {
- updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
- throw e;
- }
- }
-
- /**
- * Determine if decision table need reloading and return the rulebase
- *
- * @param decisionTable -
- * String reference to a file which contains a decision table.
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading the
- * ruleSet.
- *
- * @return Message with updated objects.
- */
- RuleBase getRuleBaseForDecisionTable(
- final String decisionTable,
- final boolean ruleReload ) throws RuleServiceException {
-
- final long startTime = System.nanoTime();
- try
- {
- RuleBase ruleBase = getCachedRuleBases().get( decisionTable );
- if ( ruleReload || ruleBase == null )
- {
- ruleBase = DroolsRuleBaseHelper.getInstance().createRuleBaseFromDecisionTable(decisionTable);
- getCachedRuleBases().put( decisionTable, ruleBase );
- }
- return ruleBase;
- }
- catch (final IOException e)
- {
- updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException("Could not read the rules from [" + decisionTable + "]", e);
- }
- catch (final DroolsParserException e)
- {
- updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException("Could not parse the rules in [" + decisionTable + "]", e);
- }
- catch (final RuleServiceException e)
- {
- updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
- throw e;
- }
- catch (final LifecycleResourceException e)
- {
- updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
- throw new RuleServiceException("Caught a LifecycleResourceException :", e);
- }
- }
-
- /**
- * Execute rules using using the Stateless API
- *
- * @param rulebase -
- * the rulebase to use
- * @param message -
- * Message that is updated with the results.
- * @param objectList -
- * a list with additional objects (typically pulled from the message)
- * to be inserted into working memory
- * @param globals -
- * Map of globals variables that should be set in the working memory
- *
- * @return Message -
- * with updated objects.
- */
- Message executeStatelessRules(
- final RuleBase ruleBase,
- final Message message,
- final Map<String,Object> globals,
- final List<Object> objectList)
- {
-
- final StatelessSession statelessSession = ruleBase.newStatelessSession();
- final List<Object> facts = getFacts( message, objectList );
- addGlobalsVariables( statelessSession, globals );
- statelessSession.execute(facts);
- return message;
- }
-
- /**
- * Execute rules using using the Stateful API
- *
- * @param rulebase -
- * the rulebase to use
- * @param dispose -
- * if true the working memory will be dereferenced.
- * @param message -
- * Message that is updated with the results.
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param objectList -
- * a list with additional objects to be inserted into working memory
- *
- * @return Message -
- * a possibly updated Message object. The message object is available
- * to Rules and my be updated by them.
- */
- Message executeStatefulRules(
- final RuleBase ruleBase,
- final boolean dispose,
- final Message message,
- final Map<String,Object> globals,
- final List<Object> objectList)
- {
- final StatefulSession statefulSession = getStatefulSession( ruleBase );
- try
- {
- addGlobalsVariables( statefulSession, globals );
- final List<Object> facts = getFacts( message, objectList );
- insertObjectsIntoWorkingMemory( facts, statefulSession );
- statefulSession.fireAllRules();
- }
- finally
- {
- if ( dispose )
- {
- for ( StatefulSession session : ruleBase.getStatefulSessions())
- {
- session.dispose();
- }
- }
- }
-
- return message;
- }
-
- private List<Object> getFacts(final Message message, final List<Object> objectList )
- {
- final List<Object> facts = new ArrayList<Object>();
- facts.add( message );
- if ( objectList != null )
- facts.addAll( objectList );
- return facts;
- }
-
- /*
- * Checks whether the ruleBase has an existing session, and returns
- * that session, otherwise a new session is created.
- */
- private StatefulSession getStatefulSession( final RuleBase ruleBase )
- {
- final StatefulSession[] statefulSessions = ruleBase.getStatefulSessions();
- boolean existingSession = statefulSessions != null && statefulSessions.length > 0;
- return existingSession ? statefulSessions[0] : ruleBase.newStatefulSession();
- }
-
- /*
- * Will set the passed-in elements in the globals Map as global
- * variables.
- */
- private void addGlobalsVariables( final StatelessSession statelessSession, final Map<String,Object> globals )
- {
- if ( globals != null )
- {
- Set<Entry<String, Object>> entrySet = globals.entrySet();
- for ( Entry<String, Object> entry : entrySet )
- statelessSession.setGlobal( entry.getKey(), entry.getValue() );
- }
- }
-
- /*
- * Will set the passed-in elements in the globals Map as global
- * variables.
- */
- private void addGlobalsVariables( final StatefulSession statefulSession, final Map<String,Object> globals )
- {
- if ( globals != null )
- {
- Set<Entry<String, Object>> entrySet = globals.entrySet();
- for ( Entry<String, Object> entry : entrySet )
- {
- statefulSession.setGlobal( entry.getKey(), entry.getValue() );
- }
- }
- }
-
- private void insertObjectsIntoWorkingMemory(final List<Object> objectList, final WorkingMemory workingMemory)
- {
- if (objectList != null)
- {
- for (Object object : objectList)
- {
- workingMemory.insert(object);
- }
- }
- }
-
- RuleBase getRuleBaseForRuleAgent( final String ruleAgentProperties ) throws IOException, Exception
- {
- Map<String, RuleAgent> ruleAgents = getCachedRuleAgents();
- RuleAgent ruleAgent = ruleAgents.get( ruleAgentProperties );
- if ( ruleAgent == null )
- {
- ruleAgent = DroolsRuleBaseHelper.getInstance().createRuleAgent( ruleAgentProperties );
- ruleAgents.put( ruleAgentProperties, ruleAgent );
- }
-
- RuleBase currentRuleBase = ruleAgent.getRuleBase();
- // always update the cache as the rulebase might have been updated.
- getCachedRuleBases().put( ruleAgentProperties, currentRuleBase );
- return currentRuleBase;
- }
-
- Map<String, RuleAgent> getCachedRuleAgents() throws LifecycleResourceException
- {
- return lifecycleRuleAgents.getLifecycleResource();
- }
-
- Map<String, RuleBase> getCachedRuleBases() throws LifecycleResourceException
- {
- return lifecycleRuleBases.getLifecycleResource();
- }
-
- /**
- * The lifecycle resource factory for rule sets.
- *
- * @author kevin
- */
- public static class LifecycleRuleBaseFactory implements
- LifecycleResourceFactory<Map<String, RuleBase>> {
- /**
- * Create a resource object which will be associated with the
- * specified lifecycle identity.
- *
- * @param lifecycleIdentity
- * The associated lifecycle identity.
- * @return The lifecycle resource
- * @throws LifecycleResourceException
- * for errors during construction.
- */
- public Map<String, RuleBase> createLifecycleResource(
- final String lifecycleIdentity)
- throws LifecycleResourceException
- {
- return new ConcurrentHashMap<String, RuleBase>();
- }
-
- /**
- * Destroy a resource object which is associated with the specified
- * lifecycle identity.
- *
- * @param resource
- * The lifecycle resource.
- * @param lifecycleIdentity
- * The associated lifecycle identity.
- * @return The lifecycle resource.
- * @throws LifecycleResourceException
- * for errors during destroy.
- */
- public void destroyLifecycleResource(
- final Map<String, RuleBase> resource,
- final String lifecycleIdentity)
- throws LifecycleResourceException
- {
- // NoOp
- }
- }
-
- public static class LifecycleRuleAgentFactory implements LifecycleResourceFactory<Map<String, RuleAgent>> {
- /**
- * Create a resource object which will be associated with the
- * specified lifecycle identity.
- *
- * @param lifecycleIdentity
- * The associated lifecycle identity.
- * @return The lifecycle resource
- * @throws LifecycleResourceException
- * for errors during construction.
- */
- public Map<String, RuleAgent> createLifecycleResource( final String lifecycleIdentity) throws LifecycleResourceException
- {
- return new ConcurrentHashMap<String, RuleAgent>();
- }
-
- /**
- * Destroy a resource object which is associated with the specified
- * lifecycle identity.
- *
- * @param resource
- * The lifecycle resource.
- * @param lifecycleIdentity
- * The associated lifecycle identity.
- * @return The lifecycle resource.
- * @throws LifecycleResourceException
- * for errors during destroy.
- */
- public void destroyLifecycleResource( final Map<String, RuleAgent> resource, final String lifecycleIdentity) throws LifecycleResourceException
- {
- // NoOp
- }
- }
-
- /**
- * The lifecycle resource factory for rule sets.
- *
- * @author kevin
- */
- public static class LifecycleRuleSetFactory implements
- LifecycleResourceFactory<Map<String, String>>
- {
- /**
- * Create a resource object which will be associated with the
- * specified lifecycle identity.
- *
- * @param lifecycleIdentity
- * The associated lifecycle identity.
- * @return The lifecycle resource
- * @throws LifecycleResourceException
- * for errors during construction.
- */
- public Map<String, String> createLifecycleResource(
- final String lifecycleIdentity)
- throws LifecycleResourceException
- {
- return new ConcurrentHashMap<String, String>();
- }
-
- /**
- * Destroy a resource object which is associated with the specified
- * lifecycle identity.
- *
- * @param resource
- * The lifecycle resource.
- * @param lifecycleIdentity
- * The associated lifecycle identity.
- * @return The lifecycle resource.
- * @throws LifecycleResourceException
- * for errors during destroy.
- */
- public void destroyLifecycleResource(
- final Map<String, String> resource,
- final String lifecycleIdentity)
- throws LifecycleResourceException
- {
- // NoOp
- }
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleService.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,847 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.services.rules;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.drools.RuleBase;
+import org.drools.StatefulSession;
+import org.drools.StatelessSession;
+import org.drools.WorkingMemory;
+import org.drools.agent.RuleAgent;
+import org.drools.compiler.DroolsParserException;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.internal.soa.esb.services.routing.cbr.JBRulesCounter;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.lifecycle.LifecyclePriorities;
+import org.jboss.soa.esb.lifecycle.LifecycleResource;
+import org.jboss.soa.esb.lifecycle.LifecycleResourceException;
+import org.jboss.soa.esb.lifecycle.LifecycleResourceFactory;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.rules.RuleService;
+
+/**
+ * JBossRules (aka Drools) Implementation of a rule engine interface for rules services. Here we use
+ * <p/>
+ *
+ * @author jdelong at redhat.com
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class DroolsRuleService implements RuleService
+{
+ /**
+ * The lifecycle resource factory for RuleBases.
+ */
+ private static final LifecycleResourceFactory<Map<String, RuleBase>> lifecycleRuleBaseFactory = new LifecycleRuleBaseFactory();
+
+ private static final LifecycleResourceFactory<Map<String, RuleAgent>> lifecycleRuleAgentFactory = new LifecycleRuleAgentFactory();
+ /**
+ * The lifecycle resource rule bases.
+ */
+ private static final LifecycleResource<Map<String, RuleBase>> lifecycleRuleBases = new LifecycleResource<Map<String, RuleBase>>(
+ lifecycleRuleBaseFactory, LifecyclePriorities.RULE_BASE_PRIORITY);
+ /**
+ * RuleAgents cache
+ */
+ private static final LifecycleResource<Map<String, RuleAgent>> lifecycleRuleAgents = new LifecycleResource<Map<String, RuleAgent>>(
+ lifecycleRuleAgentFactory, LifecyclePriorities.RULE_BASE_PRIORITY);
+ /**
+ * The lifecycle resource rule sets.
+ */
+ private static final LifecycleResourceFactory<Map<String, String>> lifecycleRuleSetFactory = new LifecycleRuleSetFactory();
+ /**
+ * Lifecycle couriers.
+ */
+ private static final LifecycleResource<Map<String, String>> lifecycleRuleSets = new LifecycleResource<Map<String, String>>(
+ lifecycleRuleSetFactory, LifecyclePriorities.RULE_BASE_PRIORITY);
+
+ /**
+ * See {@link JBRulesCounter}
+ */
+ private JBRulesCounter rulesCounter = null;
+
+ /**
+ * Execute rules using a certain ruleSet and domain specific language using
+ * the Stateless rule engine API
+ *
+ * @param ruleSet -
+ * String reference to a file which contains a ruleSet.
+ * @param dsl -
+ * String reference to a file which contains a custom rule
+ * language definition
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading
+ * the ruleSet.
+ * @param message -
+ * Message that is updated with the results.
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param objectList -
+ * a list with additional objects (typically pulled from the
+ * message) to be inserted into working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatelessRules(
+ final String ruleSet,
+ final String dsl,
+ final boolean ruleReload,
+ Message message,
+ final Map<String,Object> globals,
+ final List<Object> objectList) throws RuleServiceException
+ {
+ AssertArgument.isNotNullAndNotEmpty( ruleSet, "ruleSet" );
+
+ final long startTime = System.nanoTime();
+
+ try
+ {
+ RuleBase ruleBase = getRuleBaseForFileBasedRules(ruleSet, dsl, ruleReload);
+ message = executeStatelessRules(ruleBase, message, globals, objectList);
+
+ updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_SUCCEED );
+ }
+ catch (RuleServiceException e)
+ {
+ updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
+ throw e;
+ }
+ return message;
+ }
+
+ /**
+ * Execute rules from a decision table using the Stateless rule engine API
+ *
+ * @param decisionTable -
+ * String reference to a file which contains a spreadsheet of rules
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading
+ * the ruleSet.
+ * @param message -
+ * Message that is updated with the results.
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatelessRulesFromDecisionTable(
+ final String decisionTable,
+ final boolean ruleReload,
+ Message message,
+ final Map<String,Object> globals,
+ final List<Object> objectList) throws RuleServiceException
+ {
+ AssertArgument.isNotNullAndNotEmpty( decisionTable, "decisionTable" );
+
+ final long startTime = System.nanoTime();
+
+ try
+ {
+ RuleBase ruleBase = getRuleBaseForDecisionTable( decisionTable, ruleReload );
+ message = executeStatelessRules( ruleBase, message, globals, objectList );
+
+ updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_SUCCEED );
+ }
+ catch (RuleServiceException e)
+ {
+ updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
+ throw e;
+ }
+ return message;
+ }
+
+ /**
+ * Execute rules using a rule package retrieved via the Rule Agent from a URL of local file system
+ * using the Stateless rule engine API
+ *
+ * @param ruleAgentProperties -
+ * String reference to a file which contains properties used by the RuleAgent to locate a rule package.
+ * @param message -
+ * Message that is updated with the results.
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatelessRulesFromRuleAgent(
+ final String ruleAgentProperties,
+ Message message,
+ final Map<String,Object> globals,
+ final List<Object> objectList) throws RuleServiceException
+ {
+ AssertArgument.isNotNullAndNotEmpty( ruleAgentProperties, "ruleAgentProperties" );
+
+ final long startTime = System.nanoTime();
+ try
+ {
+ final RuleBase ruleBase = getRuleBaseForRuleAgent( ruleAgentProperties ) ;
+ message = executeStatelessRules(ruleBase, message, globals, objectList);
+ updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_SUCCEED );
+ }
+ catch ( final IOException e)
+ {
+ updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException( "Could not read the ruleAgentProperties file [" + ruleAgentProperties + "]", e);
+ }
+ catch ( final RuleServiceException e)
+ {
+ updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
+ throw e;
+ }
+ catch ( final Exception e)
+ {
+ updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException( "RuleAgent could not get the RuleBase. " + e.getMessage(), e);
+ }
+ return message;
+ }
+
+ /**
+ * Execute rules using a certain ruleSet and domain specific language using the Stateful rule engine API
+ *
+ * @param ruleSet -
+ * String reference to a file which contains a ruleSet.
+ * @param dsl -
+ * String reference to a file which contains a custom rule
+ * language definition(Domain Specific Language)
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading
+ * the ruleSet.
+ * @param message -
+ * Message that is updated with the results.
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatefulRules(
+ final String ruleSet,
+ final String dsl,
+ final boolean ruleReload,
+ Message message,
+ final Map<String,Object> globals,
+ final List<Object> objectList) throws RuleServiceException
+ {
+ AssertArgument.isNotNullAndNotEmpty( ruleSet, "ruleSet" );
+
+ final long startTime = System.nanoTime();
+
+ try
+ {
+ RuleBase ruleBase = getRuleBaseForFileBasedRules( ruleSet, dsl, ruleReload );
+ message = executeStatefulRules( ruleBase, false, message, globals, objectList );
+
+ updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_SUCCEED);
+ }
+ catch (final RuleServiceException e)
+ {
+ updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
+ throw e;
+ }
+ return message;
+ }
+
+ /**
+ * Execute rules from a decision table using the Stateful rule engine API
+ *
+ * @param decisionTable -
+ * String reference to a file which contains a spreadsheet of rules
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading
+ * the ruleSet.
+ * @param message -
+ * Message that is updated with the results.
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatefulRulesFromDecisionTable(
+ final String decisionTable,
+ final boolean ruleReload,
+ Message message,
+ final Map<String,Object> globals,
+ final List<Object> objectList) throws RuleServiceException
+ {
+ AssertArgument.isNotNullAndNotEmpty( decisionTable, "decisionTable" );
+
+ final long startTime = System.nanoTime();
+
+ try
+ {
+ final RuleBase ruleBase = getRuleBaseForDecisionTable(decisionTable, ruleReload);
+
+ message = executeStatefulRules(ruleBase, false, message, globals, objectList);
+
+ updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_SUCCEED );
+ }
+ catch (RuleServiceException e)
+ {
+ updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
+ throw e;
+ }
+ return message;
+ }
+
+ /**
+ * Execute rules using a rule package retrieved via the Rule Agent from a URL of local file system
+ * using the Stateful rule engine API
+ *
+ * @param ruleAgentProperties -
+ * String reference to a file which contains properties used by the RuleAgent to locate a rule package.
+ * @param message -
+ * Message that is updated with the results.
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatefulRulesFromRuleAgent(
+ final String ruleAgentProperties,
+ Message message,
+ final Map<String,Object> globals,
+ final List<Object> objectList) throws RuleServiceException
+ {
+ AssertArgument.isNotNullAndNotEmpty( ruleAgentProperties, "ruleAgentProperties" );
+
+ final long startTime = System.nanoTime();
+ try
+ {
+ final RuleBase ruleBase = getRuleBaseForRuleAgent( ruleAgentProperties ) ;
+
+ message = executeStatefulRules(ruleBase, false, message, globals, objectList);
+
+ updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_SUCCEED );
+ }
+ catch (IOException e)
+ {
+ updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException( "Could not read the ruleAgentProperties. " + e.getMessage(), e);
+ }
+ catch (RuleServiceException e)
+ {
+ updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
+ throw e;
+ }
+ catch (Exception e)
+ {
+ updateJBRulesCounter( startTime, ruleAgentProperties, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException( "RuleAgent could not get the RuleBase. " + e.getMessage(), e);
+ }
+ return message;
+ }
+
+ /**
+ * Continue executing rules where the working memory already exists.
+ *
+ * @param rules -
+ * String reference to a file, either the drl file, the decision table,
+ * or the ruleAgentProperties. This is used to find the ruleBase.
+ * @param dispose -
+ * if set to true, working memory will be disposed after the rules are fired
+ * @param message -
+ * Message that is updated with the results.
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message continueStatefulRulesExecution(
+ final String rules,
+ final boolean dispose,
+ Message message,
+ final Map<String,Object> globals,
+ final List<Object> objectList) throws RuleServiceException
+ {
+ AssertArgument.isNotNullAndNotEmpty( rules, "rules" );
+
+ final long startTime = System.nanoTime();
+
+ try
+ {
+ final Map<String, RuleBase> ruleBases = lifecycleRuleBases.getLifecycleResource();
+ final RuleBase ruleBase = ruleBases.get( rules );
+
+ message = executeStatefulRules( ruleBase, dispose, message, globals, objectList );
+
+ updateJBRulesCounter( startTime, rules, JBRulesCounter.RULES_SUCCEED );
+ }
+ catch (Exception e)
+ {
+ updateJBRulesCounter( startTime, rules, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException( "Could not continue rule execution. " + e.getMessage(), e);
+ }
+ return message;
+ }
+
+ public void setConfigTree( final ConfigTree configTree )
+ {
+ rulesCounter = new JBRulesCounter( configTree );
+ rulesCounter.registerMBean();
+ }
+
+ // private methods
+
+ private void updateJBRulesCounter( final long startTime , final String rules, final String result )
+ {
+ if (rulesCounter != null)
+ {
+ long procTime = System.nanoTime() - startTime;
+ rulesCounter.update(procTime, rules, result );
+ }
+ }
+
+ // package protected methods
+
+ /**
+ * Determine if file based rules need reloading and return the rulebase
+ *
+ * @param ruleSet -
+ * String reference to a file which contains a ruleSet.
+ * @param dsl -
+ * String reference to a file which contains a custom rule language
+ * definition
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading the
+ * ruleSet.
+ *
+ * @return Message with updated objects.
+ */
+ RuleBase getRuleBaseForFileBasedRules(
+ final String ruleSet,
+ final String dsl,
+ final boolean ruleReload) throws RuleServiceException
+ {
+ final long startTime = System.nanoTime();
+
+ try
+ {
+ final DroolsRuleBaseHelper rbHelper = DroolsRuleBaseHelper.getInstance();
+
+ String newRuleSet = null;
+ boolean isRulesChanged = false;
+
+ final Map<String, String> ruleSets = lifecycleRuleSets.getLifecycleResource();
+ if ( ruleReload )
+ {
+ String currentRuleSet = ruleSets.get( ruleSet );
+ newRuleSet = rbHelper.getRulesAsString( ruleSet, dsl );
+ if ( currentRuleSet == null || !currentRuleSet.equals(newRuleSet) )
+ {
+ isRulesChanged = true;
+ }
+ }
+ final Map<String, RuleBase> ruleBases = lifecycleRuleBases.getLifecycleResource();
+ RuleBase ruleBase = ruleBases.get( ruleSet );
+ if ( ruleBase == null || isRulesChanged )
+ {
+ ruleBase = rbHelper.createRuleBaseFromRuleFiles(ruleSet, dsl);
+ if (ruleBase != null)
+ ruleBases.put(ruleSet, ruleBase);
+ if (newRuleSet == null)
+ newRuleSet = rbHelper.getRulesAsString(ruleSet, dsl);
+ if (ruleSet != null)
+ ruleSets.put(ruleSet, newRuleSet);
+ }
+
+ return ruleBase;
+
+ }
+ catch (final LifecycleResourceException e)
+ {
+ updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException("Could not load lifecycle data. " + e.getMessage(), e);
+ }
+ catch (final IOException e)
+ {
+ updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException("Could not read the rules. " + e.getMessage(), e);
+ }
+ catch (final DroolsParserException e)
+ {
+ updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException("Could not parse the rules. " + e.getMessage(), e);
+ }
+ catch (final RuleServiceException e)
+ {
+ updateJBRulesCounter( startTime, ruleSet, JBRulesCounter.RULES_FAILED );
+ throw e;
+ }
+ }
+
+ /**
+ * Determine if decision table need reloading and return the rulebase
+ *
+ * @param decisionTable -
+ * String reference to a file which contains a decision table.
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading the
+ * ruleSet.
+ *
+ * @return Message with updated objects.
+ */
+ RuleBase getRuleBaseForDecisionTable(
+ final String decisionTable,
+ final boolean ruleReload ) throws RuleServiceException {
+
+ final long startTime = System.nanoTime();
+ try
+ {
+ RuleBase ruleBase = getCachedRuleBases().get( decisionTable );
+ if ( ruleReload || ruleBase == null )
+ {
+ ruleBase = DroolsRuleBaseHelper.getInstance().createRuleBaseFromDecisionTable(decisionTable);
+ getCachedRuleBases().put( decisionTable, ruleBase );
+ }
+ return ruleBase;
+ }
+ catch (final IOException e)
+ {
+ updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException("Could not read the rules from [" + decisionTable + "]", e);
+ }
+ catch (final DroolsParserException e)
+ {
+ updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException("Could not parse the rules in [" + decisionTable + "]", e);
+ }
+ catch (final RuleServiceException e)
+ {
+ updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
+ throw e;
+ }
+ catch (final LifecycleResourceException e)
+ {
+ updateJBRulesCounter( startTime, decisionTable, JBRulesCounter.RULES_FAILED );
+ throw new RuleServiceException("Caught a LifecycleResourceException :", e);
+ }
+ }
+
+ /**
+ * Execute rules using using the Stateless API
+ *
+ * @param rulebase -
+ * the rulebase to use
+ * @param message -
+ * Message that is updated with the results.
+ * @param objectList -
+ * a list with additional objects (typically pulled from the message)
+ * to be inserted into working memory
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ *
+ * @return Message -
+ * with updated objects.
+ */
+ Message executeStatelessRules(
+ final RuleBase ruleBase,
+ final Message message,
+ final Map<String,Object> globals,
+ final List<Object> objectList)
+ {
+
+ final StatelessSession statelessSession = ruleBase.newStatelessSession();
+ final List<Object> facts = getFacts( message, objectList );
+ addGlobalsVariables( statelessSession, globals );
+ statelessSession.execute(facts);
+ return message;
+ }
+
+ /**
+ * Execute rules using using the Stateful API
+ *
+ * @param rulebase -
+ * the rulebase to use
+ * @param dispose -
+ * if true the working memory will be dereferenced.
+ * @param message -
+ * Message that is updated with the results.
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param objectList -
+ * a list with additional objects to be inserted into working memory
+ *
+ * @return Message -
+ * a possibly updated Message object. The message object is available
+ * to Rules and my be updated by them.
+ */
+ Message executeStatefulRules(
+ final RuleBase ruleBase,
+ final boolean dispose,
+ final Message message,
+ final Map<String,Object> globals,
+ final List<Object> objectList)
+ {
+ final StatefulSession statefulSession = getStatefulSession( ruleBase );
+ try
+ {
+ addGlobalsVariables( statefulSession, globals );
+ final List<Object> facts = getFacts( message, objectList );
+ insertObjectsIntoWorkingMemory( facts, statefulSession );
+ statefulSession.fireAllRules();
+ }
+ finally
+ {
+ if ( dispose )
+ {
+ for ( StatefulSession session : ruleBase.getStatefulSessions())
+ {
+ session.dispose();
+ }
+ }
+ }
+
+ return message;
+ }
+
+ private List<Object> getFacts(final Message message, final List<Object> objectList )
+ {
+ final List<Object> facts = new ArrayList<Object>();
+ facts.add( message );
+ if ( objectList != null )
+ facts.addAll( objectList );
+ return facts;
+ }
+
+ /*
+ * Checks whether the ruleBase has an existing session, and returns
+ * that session, otherwise a new session is created.
+ */
+ private StatefulSession getStatefulSession( final RuleBase ruleBase )
+ {
+ final StatefulSession[] statefulSessions = ruleBase.getStatefulSessions();
+ boolean existingSession = statefulSessions != null && statefulSessions.length > 0;
+ return existingSession ? statefulSessions[0] : ruleBase.newStatefulSession();
+ }
+
+ /*
+ * Will set the passed-in elements in the globals Map as global
+ * variables.
+ */
+ private void addGlobalsVariables( final StatelessSession statelessSession, final Map<String,Object> globals )
+ {
+ if ( globals != null )
+ {
+ Set<Entry<String, Object>> entrySet = globals.entrySet();
+ for ( Entry<String, Object> entry : entrySet )
+ statelessSession.setGlobal( entry.getKey(), entry.getValue() );
+ }
+ }
+
+ /*
+ * Will set the passed-in elements in the globals Map as global
+ * variables.
+ */
+ private void addGlobalsVariables( final StatefulSession statefulSession, final Map<String,Object> globals )
+ {
+ if ( globals != null )
+ {
+ Set<Entry<String, Object>> entrySet = globals.entrySet();
+ for ( Entry<String, Object> entry : entrySet )
+ {
+ statefulSession.setGlobal( entry.getKey(), entry.getValue() );
+ }
+ }
+ }
+
+ private void insertObjectsIntoWorkingMemory(final List<Object> objectList, final WorkingMemory workingMemory)
+ {
+ if (objectList != null)
+ {
+ for (Object object : objectList)
+ {
+ workingMemory.insert(object);
+ }
+ }
+ }
+
+ RuleBase getRuleBaseForRuleAgent( final String ruleAgentProperties ) throws IOException, Exception
+ {
+ Map<String, RuleAgent> ruleAgents = getCachedRuleAgents();
+ RuleAgent ruleAgent = ruleAgents.get( ruleAgentProperties );
+ if ( ruleAgent == null )
+ {
+ ruleAgent = DroolsRuleBaseHelper.getInstance().createRuleAgent( ruleAgentProperties );
+ ruleAgents.put( ruleAgentProperties, ruleAgent );
+ }
+
+ RuleBase currentRuleBase = ruleAgent.getRuleBase();
+ // always update the cache as the rulebase might have been updated.
+ getCachedRuleBases().put( ruleAgentProperties, currentRuleBase );
+ return currentRuleBase;
+ }
+
+ Map<String, RuleAgent> getCachedRuleAgents() throws LifecycleResourceException
+ {
+ return lifecycleRuleAgents.getLifecycleResource();
+ }
+
+ Map<String, RuleBase> getCachedRuleBases() throws LifecycleResourceException
+ {
+ return lifecycleRuleBases.getLifecycleResource();
+ }
+
+ /**
+ * The lifecycle resource factory for rule sets.
+ *
+ * @author kevin
+ */
+ public static class LifecycleRuleBaseFactory implements
+ LifecycleResourceFactory<Map<String, RuleBase>> {
+ /**
+ * Create a resource object which will be associated with the
+ * specified lifecycle identity.
+ *
+ * @param lifecycleIdentity
+ * The associated lifecycle identity.
+ * @return The lifecycle resource
+ * @throws LifecycleResourceException
+ * for errors during construction.
+ */
+ public Map<String, RuleBase> createLifecycleResource(
+ final String lifecycleIdentity)
+ throws LifecycleResourceException
+ {
+ return new ConcurrentHashMap<String, RuleBase>();
+ }
+
+ /**
+ * Destroy a resource object which is associated with the specified
+ * lifecycle identity.
+ *
+ * @param resource
+ * The lifecycle resource.
+ * @param lifecycleIdentity
+ * The associated lifecycle identity.
+ * @return The lifecycle resource.
+ * @throws LifecycleResourceException
+ * for errors during destroy.
+ */
+ public void destroyLifecycleResource(
+ final Map<String, RuleBase> resource,
+ final String lifecycleIdentity)
+ throws LifecycleResourceException
+ {
+ // NoOp
+ }
+ }
+
+ public static class LifecycleRuleAgentFactory implements LifecycleResourceFactory<Map<String, RuleAgent>> {
+ /**
+ * Create a resource object which will be associated with the
+ * specified lifecycle identity.
+ *
+ * @param lifecycleIdentity
+ * The associated lifecycle identity.
+ * @return The lifecycle resource
+ * @throws LifecycleResourceException
+ * for errors during construction.
+ */
+ public Map<String, RuleAgent> createLifecycleResource( final String lifecycleIdentity) throws LifecycleResourceException
+ {
+ return new ConcurrentHashMap<String, RuleAgent>();
+ }
+
+ /**
+ * Destroy a resource object which is associated with the specified
+ * lifecycle identity.
+ *
+ * @param resource
+ * The lifecycle resource.
+ * @param lifecycleIdentity
+ * The associated lifecycle identity.
+ * @return The lifecycle resource.
+ * @throws LifecycleResourceException
+ * for errors during destroy.
+ */
+ public void destroyLifecycleResource( final Map<String, RuleAgent> resource, final String lifecycleIdentity) throws LifecycleResourceException
+ {
+ // NoOp
+ }
+ }
+
+ /**
+ * The lifecycle resource factory for rule sets.
+ *
+ * @author kevin
+ */
+ public static class LifecycleRuleSetFactory implements
+ LifecycleResourceFactory<Map<String, String>>
+ {
+ /**
+ * Create a resource object which will be associated with the
+ * specified lifecycle identity.
+ *
+ * @param lifecycleIdentity
+ * The associated lifecycle identity.
+ * @return The lifecycle resource
+ * @throws LifecycleResourceException
+ * for errors during construction.
+ */
+ public Map<String, String> createLifecycleResource(
+ final String lifecycleIdentity)
+ throws LifecycleResourceException
+ {
+ return new ConcurrentHashMap<String, String>();
+ }
+
+ /**
+ * Destroy a resource object which is associated with the specified
+ * lifecycle identity.
+ *
+ * @param resource
+ * The lifecycle resource.
+ * @param lifecycleIdentity
+ * The associated lifecycle identity.
+ * @return The lifecycle resource.
+ * @throws LifecycleResourceException
+ * for errors during destroy.
+ */
+ public void destroyLifecycleResource(
+ final Map<String, String> resource,
+ final String lifecycleIdentity)
+ throws LifecycleResourceException
+ {
+ // NoOp
+ }
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceBuilderException.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceBuilderException.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceBuilderException.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,76 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.internal.soa.esb.services.rules;
-
-import org.drools.compiler.PackageBuilderErrors;
-
-/**
- * RuleServiceBuilderException adds {@link PackageBuilderErrors}.
- * <p/>
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public class RuleServiceBuilderException extends RuleServiceException
-{
- private static final long serialVersionUID = 1L;
-
- private PackageBuilderErrors builderErrors;
-
- public RuleServiceBuilderException()
- {
- super();
- }
-
- public RuleServiceBuilderException(String msg, Throwable cause)
- {
- super( msg, cause );
- }
-
- public RuleServiceBuilderException(String msg)
- {
- super( msg );
- }
-
- public RuleServiceBuilderException(Throwable cause)
- {
- super( cause );
- }
-
- public RuleServiceBuilderException(String msg, PackageBuilderErrors builderErrors)
- {
- super( msg );
- this.builderErrors = builderErrors;
- }
-
- public RuleServiceBuilderException(String msg, Throwable cause, PackageBuilderErrors builderErrors)
- {
- super( msg, cause );
- this.builderErrors = builderErrors;
- }
-
- public PackageBuilderErrors getBuilderErrors()
- {
- return builderErrors;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceBuilderException.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceBuilderException.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceBuilderException.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceBuilderException.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.internal.soa.esb.services.rules;
+
+import org.drools.compiler.PackageBuilderErrors;
+
+/**
+ * RuleServiceBuilderException adds {@link PackageBuilderErrors}.
+ * <p/>
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class RuleServiceBuilderException extends RuleServiceException
+{
+ private static final long serialVersionUID = 1L;
+
+ private PackageBuilderErrors builderErrors;
+
+ public RuleServiceBuilderException()
+ {
+ super();
+ }
+
+ public RuleServiceBuilderException(String msg, Throwable cause)
+ {
+ super( msg, cause );
+ }
+
+ public RuleServiceBuilderException(String msg)
+ {
+ super( msg );
+ }
+
+ public RuleServiceBuilderException(Throwable cause)
+ {
+ super( cause );
+ }
+
+ public RuleServiceBuilderException(String msg, PackageBuilderErrors builderErrors)
+ {
+ super( msg );
+ this.builderErrors = builderErrors;
+ }
+
+ public RuleServiceBuilderException(String msg, Throwable cause, PackageBuilderErrors builderErrors)
+ {
+ super( msg, cause );
+ this.builderErrors = builderErrors;
+ }
+
+ public PackageBuilderErrors getBuilderErrors()
+ {
+ return builderErrors;
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceCallHelper.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceCallHelper.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceCallHelper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,157 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.services.rules;
-
-import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.CONTINUE;
-import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.DECISION_TABLE;
-import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.RULE_AGENT_PROPERTIES;
-import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.DISPOSE;
-import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.IMPL_CLASS;
-import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.STATEFUL;
-import java.util.List;
-import java.util.Map;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.rules.RuleService;
-
-/**
- * RuleServiceCallHelper is a util class for calling
- * methods on a {@link RuleService} implementation.
- * </p>
- *
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public class RuleServiceCallHelper
-{
- private RuleServiceCallHelper()
- {
- throw new AssertionError();
- }
-
- /**
- * This helper method delegates to the configured RuleService implementation.
- * <p/>
- * If the message object instance has a property 'continue' set to true, this method
- * will invoke {@link RuleService#continueStatefulRulesExecution(String, boolean, Message, Map, List)}.
- * This will continue an existing stateful session.
- * <br>
- * <br>
- * Otherwise this method will delete one of the stateless or stateful methods in RuleService
- * depending on the configuration property 'stateful' is true or false. Default is stateless.
- *
- * @param ruleSet -
- * String reference to a file which contains a ruleSet.
- * @param ruleLanguage -
- * String reference to a file which contains a custom rule
- * language definition
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading the ruleSet.
- * @param message -
- * Message that is updated with the results.
- * @param objectList -
- * a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param configTree -
- * configuration instance to access properties from jboss-esb.xml
- * @return Message -
- * the ESB Message object which might have been updated.
- * @throws RuleServiceException
- */
- public static Message executeRulesService(
- String ruleSet,
- final String ruleLanguage,
- final boolean ruleReload,
- Message message,
- final List<Object> objectList,
- final Map<String, Object> globals,
- final ConfigTree configTree ) throws RuleServiceException
- {
- final String ruleServiceImpl = configTree.getAttribute( IMPL_CLASS.getTagName(), "org.jboss.internal.soa.esb.services.rules.DroolsRuleService" );
- final RuleService ruleService = RuleServiceFactory.getRuleService( ruleServiceImpl );
- ruleService.setConfigTree( configTree );
-
- final String decisionTable = configTree.getAttribute( DECISION_TABLE.getTagName() );
- final String ruleAgent = configTree.getAttribute( RULE_AGENT_PROPERTIES.getTagName() );
-
- final Boolean continueStateful = (Boolean) message.getProperties().getProperty( CONTINUE.getTagName(), Boolean.FALSE );
- if ( continueStateful )
- {
- // ruleSet can be a rule file, decisiontable or a ruleAgent properties file for continueStatefulRules
- if ( ruleSet == null )
- ruleSet = decisionTable != null ? decisionTable : ruleAgent;
-
- message = ruleService.continueStatefulRulesExecution( ruleSet, getDisposeProperty( message ), message, globals, objectList );
- }
- else
- {
- final boolean stateful = Boolean.valueOf( configTree.getAttribute( STATEFUL.getTagName()) );
-
- if ( stateful )
- {
- if ( ruleSet != null )
- message = ruleService.executeStatefulRules( ruleSet, ruleLanguage, ruleReload, message, globals, objectList );
- else if ( decisionTable != null )
- message = ruleService.executeStatefulRulesFromDecisionTable( decisionTable, ruleReload, message, globals, objectList );
- else if ( ruleAgent != null )
- message = ruleService.executeStatefulRulesFromRuleAgent( ruleAgent, message, globals, objectList );
- else
- throwRuleServiceException();
- }
- else
- {
- if ( ruleSet != null )
- message = ruleService.executeStatelessRules( ruleSet, ruleLanguage, ruleReload, message, globals, objectList );
- else if ( decisionTable != null )
- message = ruleService.executeStatelessRulesFromDecisionTable( decisionTable, ruleReload, message, globals, objectList );
- else if ( ruleAgent != null )
- message = ruleService.executeStatelessRulesFromRuleAgent( ruleAgent, message, globals, objectList );
- else
- throwRuleServiceException();
- }
- }
- return message;
- }
-
- // private static methods
-
- private static void throwRuleServiceException() throws RuleServiceException
- {
- throw new RuleServiceException( "One of '" + ListenerTagNames.RULE_SET_TAG + "', '" + DECISION_TABLE.getTagName() + "', or ' " + RULE_AGENT_PROPERTIES.getTagName() + "'must be specified as properties in jboss-esb.xml");
- }
-
- private static boolean getDisposeProperty( final Message message ) throws RuleServiceException
- {
- Object dispose = message.getProperties().getProperty( DISPOSE.getTagName() );
- if ( dispose == null )
- {
- throw new RuleServiceException("The property [" + DISPOSE.getTagName() + "] must be specified when [" +
- CONTINUE.getTagName() + "] is true. This is required as it is important that the rules working memory "+
- " be disposed or memory leaks can occur.");
- }
- return (Boolean)dispose;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceCallHelper.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceCallHelper.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceCallHelper.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceCallHelper.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,157 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.services.rules;
+
+import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.CONTINUE;
+import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.DECISION_TABLE;
+import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.RULE_AGENT_PROPERTIES;
+import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.DISPOSE;
+import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.IMPL_CLASS;
+import static org.jboss.soa.esb.services.rules.RuleServicePropertiesNames.STATEFUL;
+import java.util.List;
+import java.util.Map;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.rules.RuleService;
+
+/**
+ * RuleServiceCallHelper is a util class for calling
+ * methods on a {@link RuleService} implementation.
+ * </p>
+ *
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class RuleServiceCallHelper
+{
+ private RuleServiceCallHelper()
+ {
+ throw new AssertionError();
+ }
+
+ /**
+ * This helper method delegates to the configured RuleService implementation.
+ * <p/>
+ * If the message object instance has a property 'continue' set to true, this method
+ * will invoke {@link RuleService#continueStatefulRulesExecution(String, boolean, Message, Map, List)}.
+ * This will continue an existing stateful session.
+ * <br>
+ * <br>
+ * Otherwise this method will delete one of the stateless or stateful methods in RuleService
+ * depending on the configuration property 'stateful' is true or false. Default is stateless.
+ *
+ * @param ruleSet -
+ * String reference to a file which contains a ruleSet.
+ * @param ruleLanguage -
+ * String reference to a file which contains a custom rule
+ * language definition
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading the ruleSet.
+ * @param message -
+ * Message that is updated with the results.
+ * @param objectList -
+ * a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param configTree -
+ * configuration instance to access properties from jboss-esb.xml
+ * @return Message -
+ * the ESB Message object which might have been updated.
+ * @throws RuleServiceException
+ */
+ public static Message executeRulesService(
+ String ruleSet,
+ final String ruleLanguage,
+ final boolean ruleReload,
+ Message message,
+ final List<Object> objectList,
+ final Map<String, Object> globals,
+ final ConfigTree configTree ) throws RuleServiceException
+ {
+ final String ruleServiceImpl = configTree.getAttribute( IMPL_CLASS.getTagName(), "org.jboss.internal.soa.esb.services.rules.DroolsRuleService" );
+ final RuleService ruleService = RuleServiceFactory.getRuleService( ruleServiceImpl );
+ ruleService.setConfigTree( configTree );
+
+ final String decisionTable = configTree.getAttribute( DECISION_TABLE.getTagName() );
+ final String ruleAgent = configTree.getAttribute( RULE_AGENT_PROPERTIES.getTagName() );
+
+ final Boolean continueStateful = (Boolean) message.getProperties().getProperty( CONTINUE.getTagName(), Boolean.FALSE );
+ if ( continueStateful )
+ {
+ // ruleSet can be a rule file, decisiontable or a ruleAgent properties file for continueStatefulRules
+ if ( ruleSet == null )
+ ruleSet = decisionTable != null ? decisionTable : ruleAgent;
+
+ message = ruleService.continueStatefulRulesExecution( ruleSet, getDisposeProperty( message ), message, globals, objectList );
+ }
+ else
+ {
+ final boolean stateful = Boolean.valueOf( configTree.getAttribute( STATEFUL.getTagName()) );
+
+ if ( stateful )
+ {
+ if ( ruleSet != null )
+ message = ruleService.executeStatefulRules( ruleSet, ruleLanguage, ruleReload, message, globals, objectList );
+ else if ( decisionTable != null )
+ message = ruleService.executeStatefulRulesFromDecisionTable( decisionTable, ruleReload, message, globals, objectList );
+ else if ( ruleAgent != null )
+ message = ruleService.executeStatefulRulesFromRuleAgent( ruleAgent, message, globals, objectList );
+ else
+ throwRuleServiceException();
+ }
+ else
+ {
+ if ( ruleSet != null )
+ message = ruleService.executeStatelessRules( ruleSet, ruleLanguage, ruleReload, message, globals, objectList );
+ else if ( decisionTable != null )
+ message = ruleService.executeStatelessRulesFromDecisionTable( decisionTable, ruleReload, message, globals, objectList );
+ else if ( ruleAgent != null )
+ message = ruleService.executeStatelessRulesFromRuleAgent( ruleAgent, message, globals, objectList );
+ else
+ throwRuleServiceException();
+ }
+ }
+ return message;
+ }
+
+ // private static methods
+
+ private static void throwRuleServiceException() throws RuleServiceException
+ {
+ throw new RuleServiceException( "One of '" + ListenerTagNames.RULE_SET_TAG + "', '" + DECISION_TABLE.getTagName() + "', or ' " + RULE_AGENT_PROPERTIES.getTagName() + "'must be specified as properties in jboss-esb.xml");
+ }
+
+ private static boolean getDisposeProperty( final Message message ) throws RuleServiceException
+ {
+ Object dispose = message.getProperties().getProperty( DISPOSE.getTagName() );
+ if ( dispose == null )
+ {
+ throw new RuleServiceException("The property [" + DISPOSE.getTagName() + "] must be specified when [" +
+ CONTINUE.getTagName() + "] is true. This is required as it is important that the rules working memory "+
+ " be disposed or memory leaks can occur.");
+ }
+ return (Boolean)dispose;
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceException.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceException.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceException.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.internal.soa.esb.services.rules;
-
-/**
- * @author jdelong at redhat.com
- *
- */
-public class RuleServiceException extends Exception {
- private static final long serialVersionUID = 1L;
-
- public RuleServiceException() {
- super();
- }
-
- public RuleServiceException(String msg) {
- super(msg);
- }
-
- public RuleServiceException(Throwable cause) {
- super(cause);
- }
-
- public RuleServiceException(String msg, Throwable cause) {
- super(msg, cause);
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceException.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceException.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceException.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceException.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.internal.soa.esb.services.rules;
+
+/**
+ * @author jdelong at redhat.com
+ *
+ */
+public class RuleServiceException extends Exception {
+ private static final long serialVersionUID = 1L;
+
+ public RuleServiceException() {
+ super();
+ }
+
+ public RuleServiceException(String msg) {
+ super(msg);
+ }
+
+ public RuleServiceException(Throwable cause) {
+ super(cause);
+ }
+
+ public RuleServiceException(String msg, Throwable cause) {
+ super(msg, cause);
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceFactory.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceFactory.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceFactory.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.internal.soa.esb.services.rules;
-
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.services.rules.RuleService;
-import org.jboss.soa.esb.util.ClassUtil;
-/**
- * Returns an instance of the RuleService.
- *
- * @author jdelong at redhat.com
- *
- */
-public class RuleServiceFactory {
- private static Logger logger = Logger.getLogger(RuleServiceFactory.class);
-
- /**
- * This factory returns a ruleService
- *
- * @author jdelong at redhat.com
- *
- */
- public static RuleService getRuleService(String className)
- throws RuleServiceException {
- RuleService rs = null;
- logger.log(Level.DEBUG, "Going to load " + className);
- try {
- // instruct class loader to load the RuleService Implementation
- Class rsClass = ClassUtil.forName(className,
- RuleServiceFactory.class);
- // Try to get an instance of the RS
- rs = (RuleService) rsClass.newInstance();
- } catch (ClassNotFoundException cnfex) {
- throw new RuleServiceException("RuleService Implementation="
- + className + " not found", cnfex);
- } catch (Exception e) {
- throw new RuleServiceException(className + " invocation problem. "
- + e.getLocalizedMessage(), e);
- }
- return rs;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceFactory.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceFactory.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceFactory.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/internal/soa/esb/services/rules/RuleServiceFactory.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.internal.soa.esb.services.rules;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.services.rules.RuleService;
+import org.jboss.soa.esb.util.ClassUtil;
+/**
+ * Returns an instance of the RuleService.
+ *
+ * @author jdelong at redhat.com
+ *
+ */
+public class RuleServiceFactory {
+ private static Logger logger = Logger.getLogger(RuleServiceFactory.class);
+
+ /**
+ * This factory returns a ruleService
+ *
+ * @author jdelong at redhat.com
+ *
+ */
+ public static RuleService getRuleService(String className)
+ throws RuleServiceException {
+ RuleService rs = null;
+ logger.log(Level.DEBUG, "Going to load " + className);
+ try {
+ // instruct class loader to load the RuleService Implementation
+ Class rsClass = ClassUtil.forName(className,
+ RuleServiceFactory.class);
+ // Try to get an instance of the RS
+ rs = (RuleService) rsClass.newInstance();
+ } catch (ClassNotFoundException cnfex) {
+ throw new RuleServiceException("RuleService Implementation="
+ + className + " not found", cnfex);
+ } catch (Exception e) {
+ throw new RuleServiceException(className + " invocation problem. "
+ + e.getLocalizedMessage(), e);
+ }
+ return rs;
+ }
+}
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/BusinessRulesProcessor.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/BusinessRulesProcessor.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/BusinessRulesProcessor.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -27,8 +27,12 @@
*/
package org.jboss.soa.esb.actions;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import org.jboss.internal.soa.esb.services.rules.RuleServiceCallHelper;
+import org.jboss.internal.soa.esb.services.rules.RuleServiceException;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
@@ -36,16 +40,50 @@
import org.jboss.soa.esb.services.registry.RegistryException;
import org.jboss.soa.esb.services.routing.MessageRouterException;
+/**
+ * BusinessRulesProcessor extends {@link ContentBasedRouter} but does not perform any routing, it only
+ * executes the business rules.
+ * <p/>
+ *
+ * Configuration Example:
+ *<pre>{@code
+ *
+ *<action class="org.jboss.soa.esb.actions.BusinessRulesProcessor" name="YourCBRName">
+ * <property name="ruleSet" value="OrderDiscountOnMultipleOrders.drl" />
+ * <property name="ruleReload" value="false" />
+ * <property name="stateful" value="true" />
+ * <property name="object-paths">
+ * <object-path esb="body.TheOrderHeader" />
+ * <object-path esb="body.TheCustomer" />
+ * </property>
+ *</action>
+ *
+ * As this class extends {@link ContentBasedRouter} please see its javadoc for
+ * configuration descriptions that are common to both classes.
+ *
+ * Property description:
+ * <lu>
+ * <li> <i> class </i> action class, org.jboss.soa.esb.actions.BusinessRulesProcessor
+ * <li> <i> stateful </i> Optional property which tells the RuleService to use a stateful session where facts will be remembered between invokations.
+ * </lu>
+ * </br>
+ *
+ *
+ * @author John Doe
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
public class BusinessRulesProcessor extends ContentBasedRouter
{
+ private ConfigTree configTree;
+
public BusinessRulesProcessor(ConfigTree config) throws ConfigurationException, RegistryException, MessageRouterException
{
super(config);
+ this.configTree = config;
}
/**
* Inspect the content of the message using a rule set
- * Router the message to one or more destinations, using the ContentBasedRouter to figure out
- * to which destinations it is going to be routed too.
*
* @param message
* @return Message
@@ -53,16 +91,34 @@
*/
public Message process(Message message) throws ActionProcessingException
{
- try {
+ try
+ {
List<Object> objectList = _mapper.createObjectList(message, _messagePathList);
- _cbr.route(_ruleSet, _ruleLanguage, _ruleReload, message, objectList);
- } catch (ObjectMappingException ome) {
- throw new ActionProcessingException(ome.getMessage(), ome);
- } catch (MessageRouterException mre) {
- throw new ActionProcessingException(mre.getMessage(), mre);
+ message = executeRulesService( message, objectList );
+ }
+ catch (final ObjectMappingException e)
+ {
+ throw new ActionProcessingException( e.getMessage(), e);
+ }
+ catch (final RuleServiceException e)
+ {
+ throw new ActionProcessingException( e.getMessage(), e);
}
return message;
}
+
+ /**
+ *
+ * @param message
+ * @param objectList
+ * @throws RuleServiceException
+ * @throws MessageRouterException
+ */
+ Message executeRulesService( final Message message, final List<Object> objectList) throws RuleServiceException
+ {
+ Map<String,Object> globals = new HashMap<String,Object>();
+ globals.put( "message", message );
+ return RuleServiceCallHelper.executeRulesService( _ruleSet, _ruleLanguage, _ruleReload, message, objectList, globals, configTree ) ;
+ }
-
}
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/ContentBasedRouter.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/ContentBasedRouter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/ContentBasedRouter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -28,10 +28,16 @@
import org.jboss.soa.esb.services.registry.RegistryException;
import org.jboss.soa.esb.services.routing.MessageRouterException;
/**
- * The CBR action that drives the CBR implementation dynamically.
+ * ContentBasedRouter implements the Content Based Routing pattern.
+ * It routes a message to one or more destination services based on the message content
+ * and the rule set it is evaluating it against.
+ * <p/>
+ * For configuration details see
*
* @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
* @author kstam at jboss.com
+ *
+ * @see ContentBasedWiretap
*
*/
public class ContentBasedRouter extends ContentBasedWiretap
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/ContentBasedWiretap.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/ContentBasedWiretap.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/actions/ContentBasedWiretap.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -44,10 +44,56 @@
import org.jboss.soa.esb.services.routing.cbr.ContentBasedRouterFactory;
/**
- * @author <a
- * href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
+ * ContentBasedWirtap implements the WireTap pattern.
+ * The WireTap is an Enterprise Integration Pattern (EIP) where a copy of the message is
+ * sent to a control channel.
+ * <br>
+ * The CBRÂWT is identical in functionality to the ContentBasedRouter,
+ * however it does not terminate the pipeline which makes it suitable to be used as a WireTap.
+ * <p/>
+ *
+ * Configuration Example:
+ *<pre>{@code
+ *
+ *<action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="OrderDiscountBasedOnCustomerHistory">
+ * <property name="ruleSet" value="OrderDiscountOnMultipleOrders.drl" />
+ * <property name="ruleReload" value="false" />
+ * <property name="stateful" value="true" />
+ * <property name="object-paths">
+ * <object-path esb="body.TheOrderHeader" />
+ * <object-path esb="body.TheCustomer" />
+ * </property>
+ * <property name="destinations">
+ * <route-to destination-name="blue" service-category="BlueTeam" service-name="GoBlue" />
+ * <route-to destination-name="red" service-category="RedTeam" service-name="GoRed" />
+ * <route-to destination-name="green" service-category="GreenTeam" service-name="GoGreen" />
+ * </property>
+ *</action>
+ *
+ * }</pre>
+ * Property description:
+ * <lu>
+ * <li> <i>class</i> action class, one of : org.jboss.soa.esb.actions.ContentBasedRouter, org.jboss.soa.esb.actions.ContentBasedWireTap,<br>
+ * or org.jboss.soa.esb.actions.MessageFilter
+ * <li> <i>ruleSet</i> Name of the filename containing the Drools ruleSet.
+ * <li> <i>ruleLanguage</i> Optional reference to a file containing the definition of a Domain Specific Language to be used for evaluating
+ * the rule set.
+ * <li> <i>ruleReload</i> Optional property which can be to true to enable 'hot' redeployment of rule sets.
+ * <li> <i>stateful</i> Optional property which tells the RuleService to use a stateful session where facts will be
+ * remembered between invokations.
+ * <li> <i>object-paths</i> Optional property to pass Message objects into Rule Services WorkingMemory.
+ * <li> <i>destinations</i> A set of route-Âto properties each containing the logical name
+ * of the destination along with the Service category and name
+ * as referenced in the registry.<br> The logical name is the name
+ * which should be used in the rule set.
+ * </lu>
+ * </br>
+ *
+ *
+ * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
* @author kstam at jboss.com
* @author kevin.conner at jboss.com
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
*/
public class ContentBasedWiretap extends AbstractActionPipelineProcessor {
@@ -73,15 +119,11 @@
try {
dlQueueInvoker = new ServiceInvoker(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, ServiceInvoker.DEAD_LETTER_SERVICE_NAME);
} catch (MessageDeliverException e) {
- new MessageRouterException(e);
+ throw new MessageRouterException(e);
}
}
- public void initialise() {
- if (messageMulticaster.getRecipientCount() == 0) {
- _logger.info("Missing or empty destination list - This action class won't have any effect");
- }
- }
+ public void initialise() { }
/**
* Router the message to one or more destinations, using the
@@ -157,25 +199,13 @@
* @throws ConfigurationException
*/
protected void checkMyParms() throws ConfigurationException {
- if (_config.getAttribute(ListenerTagNames.RULE_SET_TAG) == null) {
- _logger.error("Required attribute " + ListenerTagNames.RULE_SET_TAG
- + " not found in " + _config.getName() + ".");
- throw new ConfigurationException("Required attribute "
- + ListenerTagNames.RULE_SET_TAG + " not found.");
- } else {
- _ruleSet = _config.getAttribute(ListenerTagNames.RULE_SET_TAG);
- if (_ruleSet == null) {
- throw new ConfigurationException("Required attribute "
- + ListenerTagNames.RULE_SET_TAG + " not found.");
- }
- _ruleLanguage = _config
- .getAttribute(ListenerTagNames.RULE_LANGUAGE_TAG);
- String ruleReload = _config
- .getAttribute(ListenerTagNames.RULE_RELOAD_TAG);
- if (ruleReload != null && "true".equals(ruleReload)) {
- _ruleReload = true;
- }
+ _ruleSet = _config.getAttribute(ListenerTagNames.RULE_SET_TAG);
+ _ruleLanguage = _config.getAttribute(ListenerTagNames.RULE_LANGUAGE_TAG);
+ String ruleReload = _config.getAttribute(ListenerTagNames.RULE_RELOAD_TAG);
+ if (ruleReload != null && "true".equals(ruleReload)) {
+ _ruleReload = true;
}
+
if (_config.getAttribute(ListenerTagNames.CBR_CLASS) != null) {
_cbrClass = _config.getAttribute(ListenerTagNames.CBR_CLASS);
} else {
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/soa/esb/services)
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules)
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,208 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.soa.esb.services.rules;
-
-import java.util.List;
-import java.util.Map;
-
-import org.jboss.internal.soa.esb.services.rules.RuleServiceException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-
-import org.jboss.soa.esb.message.Message;
-
-/**
- * RulesEngine Interface. Separates implementation from the runtime, allowing
- * the ESB to support different implementations of rule engines.
- *
- * @author jdelong at redhat.com
- *
- */
-public interface RuleService {
-
- public void setConfigTree(ConfigTree configTree);
-
- /**
- * Execute rules using a certain ruleSet and domain specific language using the Stateless rule engine API
- *
- * @param ruleSet -
- * String reference to a file which contains a ruleSet.
- * @param dsl -
- * String reference to a file which contains a custom rule
- * language definition
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading
- * the ruleSet.
- * @param message -
- * Message that is updated with the results.
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatelessRules(
- String ruleSet,
- String dsl,
- boolean ruleReload,
- Message message,
- Map<String,Object> globals,
- List<Object> objectList) throws RuleServiceException;
-
- /**
- * Execute rules from a decision table using the Stateless rule engine API
- *
- * @param decisionTable -
- * String reference to a file which contains a spreadsheet of rules
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading
- * the ruleSet.
- * @param message -
- * Message that is updated with the results.
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatelessRulesFromDecisionTable(
- String decisionTable,
- boolean ruleReload,
- Message message,
- Map<String,Object> globals,
- List<Object> objectList) throws RuleServiceException;
-
- /**
- * Execute rules using a rule package retrieved via the Rule Agent from a URL of local file system
- * using the Stateless rule engine API
- *
- * @param ruleAgentProperties -
- * String reference to a file which contains properties used by the RuleAgent to locate a rule package.
- * @param message -
- * Message that is updated with the results.
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatelessRulesFromRuleAgent(
- String ruleAgentProperties,
- Message message,
- Map<String,Object> globals,
- List<Object> objectList) throws RuleServiceException;
-
- /**
- * Execute rules using a certain ruleSet and domain specific language using the Stateful rule engine API
- *
- * @param ruleSet -
- * String reference to a file which contains a ruleSet.
- * @param dsl -
- * String reference to a file which contains a custom rule
- * language definition
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading
- * the ruleSet.
- * @param dispose -
- * if set to true, working memory will be disposed after the rules are fired
- * @param message -
- * Message that is updated with the results.
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatefulRules(
- String ruleSet,
- String dsl,
- boolean ruleReload,
- Message message,
- Map<String,Object> globals,
- List<Object> objectList) throws RuleServiceException;
-
- /**
- * Execute rules from a decision table using the Stateful rule engine API
- *
- * @param decisionTable -
- * String reference to a file which contains a spreadsheet of rules
- * @param ruleReload -
- * if set to true, a ruleSet update should result in reloading
- * the ruleSet.
- * @param dispose -
- * if set to true, working memory will be disposed after the rules are fired
- * @param message -
- * Message that is updated with the results.
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatefulRulesFromDecisionTable(
- String decisionTable,
- boolean ruleReload,
- Message message,
- Map<String,Object> globals,
- List<Object> objectList) throws RuleServiceException;
-
- /**
- * Execute rules using a rule package retrieved via the Rule Agent from a URL of local file system
- * using the Stateful rule engine API
- *
- * @param ruleAgentProperties -
- * String reference to a file which contains properties used by the RuleAgent to locate a rule package.
- * @param dispose -
- * if set to true, working memory will be disposed after the rules are fired
- * @param message -
- * Message that is updated with the results.
- * @param objectList - a list with additional objects (typically pulled from the message)t o be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message executeStatefulRulesFromRuleAgent(
- String ruleAgentProperties,
- Message message,
- Map<String,Object> globals,
- List<Object> objectList) throws RuleServiceException;
-
- /**
- * Continue executing rules where the working memory already exists.
- *
- * @param rules -
- * String reference to a file, either the drl file, the decision table,
- * or the ruleAgentProperties. This is used to find the ruleBase.
- * @param dispose -
- * if set to true, working memory will be disposed after the rules are fired
- * @param message -
- * Message that is updated with the results.
- * @param globals -
- * Map of globals variables that should be set in the working memory
- * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
- * working memory
- *
- * @return Message with updated objects.
- */
- public Message continueStatefulRulesExecution(
- String rules,
- boolean dispose,
- Message message,
- Map<String,Object> globals,
- List<Object> objectList) throws RuleServiceException;
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleService.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,208 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.soa.esb.services.rules;
+
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.internal.soa.esb.services.rules.RuleServiceException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * RulesEngine Interface. Separates implementation from the runtime, allowing
+ * the ESB to support different implementations of rule engines.
+ *
+ * @author jdelong at redhat.com
+ *
+ */
+public interface RuleService {
+
+ public void setConfigTree(ConfigTree configTree);
+
+ /**
+ * Execute rules using a certain ruleSet and domain specific language using the Stateless rule engine API
+ *
+ * @param ruleSet -
+ * String reference to a file which contains a ruleSet.
+ * @param dsl -
+ * String reference to a file which contains a custom rule
+ * language definition
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading
+ * the ruleSet.
+ * @param message -
+ * Message that is updated with the results.
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatelessRules(
+ String ruleSet,
+ String dsl,
+ boolean ruleReload,
+ Message message,
+ Map<String,Object> globals,
+ List<Object> objectList) throws RuleServiceException;
+
+ /**
+ * Execute rules from a decision table using the Stateless rule engine API
+ *
+ * @param decisionTable -
+ * String reference to a file which contains a spreadsheet of rules
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading
+ * the ruleSet.
+ * @param message -
+ * Message that is updated with the results.
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatelessRulesFromDecisionTable(
+ String decisionTable,
+ boolean ruleReload,
+ Message message,
+ Map<String,Object> globals,
+ List<Object> objectList) throws RuleServiceException;
+
+ /**
+ * Execute rules using a rule package retrieved via the Rule Agent from a URL of local file system
+ * using the Stateless rule engine API
+ *
+ * @param ruleAgentProperties -
+ * String reference to a file which contains properties used by the RuleAgent to locate a rule package.
+ * @param message -
+ * Message that is updated with the results.
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatelessRulesFromRuleAgent(
+ String ruleAgentProperties,
+ Message message,
+ Map<String,Object> globals,
+ List<Object> objectList) throws RuleServiceException;
+
+ /**
+ * Execute rules using a certain ruleSet and domain specific language using the Stateful rule engine API
+ *
+ * @param ruleSet -
+ * String reference to a file which contains a ruleSet.
+ * @param dsl -
+ * String reference to a file which contains a custom rule
+ * language definition
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading
+ * the ruleSet.
+ * @param dispose -
+ * if set to true, working memory will be disposed after the rules are fired
+ * @param message -
+ * Message that is updated with the results.
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatefulRules(
+ String ruleSet,
+ String dsl,
+ boolean ruleReload,
+ Message message,
+ Map<String,Object> globals,
+ List<Object> objectList) throws RuleServiceException;
+
+ /**
+ * Execute rules from a decision table using the Stateful rule engine API
+ *
+ * @param decisionTable -
+ * String reference to a file which contains a spreadsheet of rules
+ * @param ruleReload -
+ * if set to true, a ruleSet update should result in reloading
+ * the ruleSet.
+ * @param dispose -
+ * if set to true, working memory will be disposed after the rules are fired
+ * @param message -
+ * Message that is updated with the results.
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatefulRulesFromDecisionTable(
+ String decisionTable,
+ boolean ruleReload,
+ Message message,
+ Map<String,Object> globals,
+ List<Object> objectList) throws RuleServiceException;
+
+ /**
+ * Execute rules using a rule package retrieved via the Rule Agent from a URL of local file system
+ * using the Stateful rule engine API
+ *
+ * @param ruleAgentProperties -
+ * String reference to a file which contains properties used by the RuleAgent to locate a rule package.
+ * @param dispose -
+ * if set to true, working memory will be disposed after the rules are fired
+ * @param message -
+ * Message that is updated with the results.
+ * @param objectList - a list with additional objects (typically pulled from the message)t o be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message executeStatefulRulesFromRuleAgent(
+ String ruleAgentProperties,
+ Message message,
+ Map<String,Object> globals,
+ List<Object> objectList) throws RuleServiceException;
+
+ /**
+ * Continue executing rules where the working memory already exists.
+ *
+ * @param rules -
+ * String reference to a file, either the drl file, the decision table,
+ * or the ruleAgentProperties. This is used to find the ruleBase.
+ * @param dispose -
+ * if set to true, working memory will be disposed after the rules are fired
+ * @param message -
+ * Message that is updated with the results.
+ * @param globals -
+ * Map of globals variables that should be set in the working memory
+ * @param objectList - a list with additional objects (typically pulled from the message) to be inserted into
+ * working memory
+ *
+ * @return Message with updated objects.
+ */
+ public Message continueStatefulRulesExecution(
+ String rules,
+ boolean dispose,
+ Message message,
+ Map<String,Object> globals,
+ List<Object> objectList) throws RuleServiceException;
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleServicePropertiesNames.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleServicePropertiesNames.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleServicePropertiesNames.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.soa.esb.services.rules;
-/**
- * This enum contains properties specific for a RuleService.
- * <p/>
- *
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public enum RuleServicePropertiesNames {
-
- IMPL_CLASS ( "ruleServiceImplClass" ),
- DECISION_TABLE ( "decisionTable" ),
- RULE_AGENT_PROPERTIES ( "ruleAgentProperties" ),
- DISPOSE ( "dispose" ),
- CONTINUE ( "continue" ),
- STATEFUL ( "stateful") ;
-
- private final String tagName;
-
- private RuleServicePropertiesNames( final String tagName )
- {
- this.tagName = tagName;
- }
-
- public String getTagName()
- {
- return tagName;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleServicePropertiesNames.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleServicePropertiesNames.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleServicePropertiesNames.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/java/org/jboss/soa/esb/services/rules/RuleServicePropertiesNames.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.soa.esb.services.rules;
+/**
+ * This enum contains properties specific for a RuleService.
+ * <p/>
+ *
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public enum RuleServicePropertiesNames {
+
+ IMPL_CLASS ( "ruleServiceImplClass" ),
+ DECISION_TABLE ( "decisionTable" ),
+ RULE_AGENT_PROPERTIES ( "ruleAgentProperties" ),
+ DISPOSE ( "dispose" ),
+ CONTINUE ( "continue" ),
+ STATEFUL ( "stateful") ;
+
+ private final String tagName;
+
+ private RuleServicePropertiesNames( final String tagName )
+ {
+ this.tagName = tagName;
+ }
+
+ public String getTagName()
+ {
+ return tagName;
+ }
+
+}
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/resources/XPathLanguage.dsl
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/resources/XPathLanguage.dsl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/main/resources/XPathLanguage.dsl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -5,3 +5,9 @@
[when]xpathLessThan "{xpath}", "{value}"=msg : org.jboss.soa.esb.message.Message( type == org.jboss.soa.esb.message.format.MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentLessThan(msg, "{xpath}", "{value}") )
[then]Log : "{message}"=System.out.println("{message}");
[then]Destination : "{message}"=destinations.add("{message}");
+
+# Namespace(NS) aware methods
+[when]xpathMatch expr "{xpath}" use namespaces "{namespaces}"=msg : org.jboss.soa.esb.message.Message( type == org.jboss.soa.esb.message.format.MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentMatches(msg, "{xpath}",org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.parseNamespaces("{namespaces}")) )
+[when]xpathEquals expr "{xpath}", "{value}" use namespaces "{namespaces}"=msg : org.jboss.soa.esb.message.Message( type == org.jboss.soa.esb.message.format.MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentEquals(msg, "{xpath}", "{value}",org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.parseNamespaces("{namespaces}")))
+[when]xpathGreaterThan expr "{xpath}", "{value}" use namespaces "{namespaces}"=msg : org.jboss.soa.esb.message.Message( type == org.jboss.soa.esb.message.format.MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentGreaterThan(msg, "{xpath}", "{value}",org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.parseNamespaces("{namespaces}") ) )
+[when]xpathLessThan expr "{xpath}", "{value}" use namespaces "{namespaces}"=msg : org.jboss.soa.esb.message.Message( type == org.jboss.soa.esb.message.format.MessageType.JBOSS_XML ) and eval( org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.xmlContentLessThan(msg, "{xpath}", "{value}", org.jboss.internal.soa.esb.services.routing.cbr.DslHelper.parseNamespaces("{namespaces}") ))
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/BusinessProcessorRoutingUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/BusinessProcessorRoutingUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/BusinessProcessorRoutingUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,114 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.services.routing.cbr;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.JUnit4TestAdapter;
-
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.message.mapping.ObjectMapper;
-import org.jboss.soa.esb.message.mapping.ObjectMappingException;
-import org.jboss.soa.esb.services.routing.MessageRouterException;
-import org.junit.Test;
-
-/**
- *
- * @author kurt.stam at redhat.com
- *
- */
-public class BusinessProcessorRoutingUnitTest
-{
- @Test
- public void discount() throws ObjectMappingException
- {
- //new messages
- Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
- Order order = new Order();
- order.setQuantity(20);
- order.setUnitPrice(new BigDecimal("20.0"));
- message.getBody().add("Order", order);
- //extract the order from the message, so the drl can process it
- List<String> messagePathList = new ArrayList<String>();
- messagePathList.add("body.Order");
- ObjectMapper mapper = new ObjectMapper();
- List<Object> objectList = mapper.createObjectList(message, messagePathList);
- //Now send to the rules engine
- JBossRulesRouter jbossRulesRouter = new JBossRulesRouter();
- try {
- List<String> destinations = jbossRulesRouter.route("JBossESBPricingRoutingRules.drl", false, message, objectList);
- assertEquals(order.getDiscount(),10.0);
- assertEquals("10%",message.getBody().get("DiscountObject"));
- String shippingDestination = destinations.iterator().next();
- System.out.println(shippingDestination);
- assertEquals("express-shipping-destination", shippingDestination);
-
- } catch (MessageRouterException mre) {
- System.out.println("Exception was thrown.");
- mre.printStackTrace();
- assertTrue(false);
- }
- }
-
- @Test
- public void nodiscount() throws ObjectMappingException
- {
- //new messages
- Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
- Order order = new Order();
- order.setQuantity(2);
- order.setUnitPrice(new BigDecimal("20.0"));
- message.getBody().add("Order", order);
-// extract the order from the message, so the drl can process it
- List<String> messagePathList = new ArrayList<String>();
- messagePathList.add("body.Order");
- ObjectMapper mapper = new ObjectMapper();
- List<Object> objectList = mapper.createObjectList(message, messagePathList);
- //Now send to the rules engine
- JBossRulesRouter jbossRulesRouter = new JBossRulesRouter();
- try {
- List<String> destinations = jbossRulesRouter.route("JBossESBPricingRoutingRules.drl", false, message, objectList);
- assertEquals(order.getDiscount(),0.0);
- assertEquals("0%",message.getBody().get("DiscountObject"));
- String shippingDestination = destinations.iterator().next();
- System.out.println(shippingDestination);
- assertEquals("normal-shipping-destination", shippingDestination);
-
- } catch (MessageRouterException mre) {
- System.out.println("Exception was thrown.");
- mre.printStackTrace();
- assertTrue(false);
- }
- }
-
- public static junit.framework.Test suite() {
- return new JUnit4TestAdapter(BusinessProcessorRoutingUnitTest.class);
- }
-
-}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/BusinessProcessorUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/BusinessProcessorUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/BusinessProcessorUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,80 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.services.routing.cbr;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.JUnit4TestAdapter;
-
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.message.mapping.ObjectMapper;
-import org.jboss.soa.esb.message.mapping.ObjectMappingException;
-import org.jboss.soa.esb.services.routing.MessageRouterException;
-import org.junit.Test;
-
-/**
- *
- * @author kurt.stam at redhat.com
- *
- */
-public class BusinessProcessorUnitTest
-{
- @Test
- public void discount() throws ObjectMappingException
- {
- //new messages
- Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
- Order order = new Order();
- order.setQuantity(20);
- order.setUnitPrice(new BigDecimal("20.0"));
- message.getBody().add("Order", order);
-// extract the order from the message, so the drl can process it
- List<String> messagePathList = new ArrayList<String>();
- messagePathList.add("body.Order");
- ObjectMapper mapper = new ObjectMapper();
- List<Object> objectList = mapper.createObjectList(message, messagePathList);
- //Now send to the rules engine
- JBossRulesRouter jbossRulesRouter = new JBossRulesRouter();
- try {
- jbossRulesRouter.route("JBossESBPricingRules.drl", false, message, objectList);
- assertEquals(order.getDiscount(),10.0);
- assertEquals("10%",message.getBody().get("DiscountObject"));
-
- } catch (MessageRouterException mre) {
- System.out.println("Exception was thrown.");
- mre.printStackTrace();
- assertTrue(false);
- }
- }
-
- public static junit.framework.Test suite() {
- return new JUnit4TestAdapter(BusinessProcessorUnitTest.class);
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/DslHelperUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/DslHelperUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/DslHelperUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/DslHelperUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,265 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, Red Hat Middleware LLC, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.internal.soa.esb.services.routing.cbr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import javax.xml.xpath.XPathExpressionException;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.util.ClassUtil;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Unit test for {@link DslHelper}
+ * <p/>
+ *
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class DslHelperUnitTest
+{
+ private Logger log = Logger.getLogger( DslHelperUnitTest.class );
+
+ // message with xml content in body
+ private static Message msg;
+
+ // message with namespace context in body
+ private static Message nsmsg;
+ private static HashMap<String, String> namespaces;
+
+ @Test
+ public void xmlContentExists() throws XPathExpressionException, UnsupportedEncodingException
+ {
+ assertTrue( DslHelper.xmlContentExists( msg, "//*[@productId = 299]" ) );
+ assertTrue( DslHelper.xmlContentExists( msg, "//*[@productId < 1000]" ) );
+ assertFalse( DslHelper.xmlContentExists( msg, "//*[@productId = 2299]" ) );
+ }
+
+ @Test
+ public void xmlContentExistsWithNamespaces() throws XPathExpressionException, UnsupportedEncodingException
+ {
+ assertTrue( DslHelper.xmlContentExists( nsmsg, "/ord:Order/ord:OrderLines/ord:OrderLine/p:Product", namespaces ) );
+ assertTrue( DslHelper.xmlContentExists( nsmsg, "//p:Product", namespaces ) );
+
+ HashMap<String, String> oneNamspace = new HashMap<String,String>();
+ oneNamspace.put( "ord", "http://org.jboss.soa.esb/order" );
+ assertTrue( DslHelper.xmlContentExists( nsmsg, "/ord:Order", oneNamspace ) );
+ }
+
+ @Test
+ public void xmlContentMatches() throws XPathExpressionException, UnsupportedEncodingException
+ {
+ assertTrue( DslHelper.xmlContentMatches( msg, "//*[@productId = 299]" ) );
+ assertTrue( DslHelper.xmlContentMatches( msg, "/Order/OrderLines/OrderLine/Product" ) );
+ assertFalse( DslHelper.xmlContentMatches( msg, "//*[@productId > 1299]" ) );
+ }
+
+ @Test
+ public void xmlContentMatchesWithNamespaces() throws XPathExpressionException, UnsupportedEncodingException
+ {
+ assertTrue( DslHelper.xmlContentMatches( nsmsg, "/ord:Order/ord:OrderLines/ord:OrderLine/p:Product", namespaces ) );
+ }
+
+ @Test
+ public void selectAsBoolean() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertTrue( DslHelper.selectAsBoolean( msg, "/Order/OrderLines/OrderLine/Product/@productId = 364" ) );
+ assertTrue( DslHelper.selectAsBoolean( msg, "//*[@productId = 299]" ) );
+ assertTrue( DslHelper.selectAsBoolean( msg, "//*[@productId < 1299]" ) );
+ assertFalse( DslHelper.selectAsBoolean( msg, "/Order/OrderLines/OrderLine/Product/@productId = 33" ) );
+ }
+
+ @Test
+ public void selectAsBooleanWithNamespaces() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertTrue( DslHelper.selectAsBoolean( nsmsg, "/ord:Order/ord:OrderLines/ord:OrderLine/p:Product/@productId = 364", namespaces ) );
+ }
+
+ @Test
+ public void selectAsNumber() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertEquals ( 364, DslHelper.selectAsNumber( msg, "//Product/@productId" ).intValue() );
+ }
+
+ @Test
+ public void selectAsNumberWithNamespaces() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertEquals ( 364, DslHelper.selectAsNumber( msg, "//Product/@productId", namespaces ).intValue() );
+ }
+
+ @Test
+ public void selectAsString() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertEquals ( "364", DslHelper.selectAsString( msg, "//Product/@productId" ) );
+ }
+
+ @Test
+ public void selectAsStringWithNamespaces() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertEquals ( "364", DslHelper.selectAsString( nsmsg, "//p:Product/@productId", namespaces ) );
+ }
+
+ @Test
+ public void selectAsNode() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertEquals ( "productId", DslHelper.selectAsNode( msg, "/Order/OrderLines/OrderLine/Product/@productId").getNodeName() );
+ }
+
+ @Test
+ public void selectAsNodeWithNamespaces() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertEquals ( "productId", DslHelper.selectAsNode( nsmsg, "/ord:Order/ord:OrderLines/ord:OrderLine/p:Product/@productId", namespaces ).getNodeName() );
+ }
+
+ @Test
+ public void selectAsNodeList() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertEquals ( 42, DslHelper.selectAsNodeList( msg, "//Product/@productId" ).getLength() );
+ }
+
+ @Test
+ public void selectAsNodeListWithNamespaces() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertEquals ( 2, DslHelper.selectAsNodeList( nsmsg, "//p:Product/@productId", namespaces ).getLength() );
+ }
+
+ @Test
+ public void xmlContentEquals() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertTrue( DslHelper.xmlContentEquals( msg, "/Order/OrderLines/OrderLine/Product/@productId", "364" ) );
+ assertFalse( DslHelper.xmlContentEquals( msg, "/Order/OrderLines/OrderLine/Product/@productId", "1" ) );
+ }
+
+ @Test
+ public void xmlContentEqualsWithNamespaces() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertTrue( DslHelper.xmlContentEquals( nsmsg, "/ord:Order/ord:OrderLines/ord:OrderLine/p:Product/@productId", "364", namespaces ) );
+ }
+
+ @Test
+ public void xmlContentGreaterThan() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertTrue( DslHelper.xmlContentGreaterThan( msg, "/Order/OrderLines/OrderLine/Product/@productId", "363" ) );
+ assertFalse( DslHelper.xmlContentGreaterThan( msg, "/Order/OrderLines/OrderLine/Product/@productId", "365" ) );
+ assertFalse( DslHelper.xmlContentGreaterThan( msg, "/Order/OrderLines/OrderLine/Product/@productId", "364" ) );
+ }
+
+ @Test
+ public void xmlContentGreaterThanWithNamespaces() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertTrue( DslHelper.xmlContentGreaterThan( nsmsg, "/ord:Order/ord:OrderLines/ord:OrderLine/p:Product/@productId", "363", namespaces ) );
+ }
+
+ @Test ( expected = XPathExpressionException.class )
+ public void shouldThrowIfArgumentIsNotAParsableDouble() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertTrue( DslHelper.xmlContentGreaterThan( msg, "/Order/OrderLines/OrderLine/Product/@productId", "aaa" ) );
+ assertTrue( DslHelper.xmlContentLessThan( msg, "/Order/OrderLines/OrderLine/Product/@productId", "aaa" ) );
+ }
+
+ @Test
+ public void xmlContentLessThan() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertTrue( DslHelper.xmlContentLessThan( msg, "/Order/OrderLines/OrderLine/Product/@productId", "366" ) );
+ assertTrue( DslHelper.xmlContentLessThan( msg, "/Order/OrderLines/OrderLine/Product/@productId", "365" ) );
+ assertFalse( DslHelper.xmlContentLessThan( msg, "/Order/OrderLines/OrderLine/Product/@productId", "363" ) );
+ }
+
+ @Test
+ public void xmlContentLessThanWithNamespaces() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ assertTrue( DslHelper.xmlContentLessThan( nsmsg, "/ord:Order/ord:OrderLines/ord:OrderLine/p:Product/@productId", "366", namespaces));
+ }
+
+ @Test
+ public void xmlContentEqualsPerformanceTest() throws UnsupportedEncodingException, XPathExpressionException
+ {
+ int nrOfCalls = 4000;
+
+ long startTime = System.nanoTime();
+ for ( int i = 0 ; i < nrOfCalls ; i++ )
+ {
+ DslHelper.xmlContentEquals( msg, "/Order/OrderLines/OrderLine/Product/@productId", "364" );
+ }
+ long endTime = TimeUnit.NANOSECONDS.toMillis( System.nanoTime() - startTime );
+ log.info( "Timed " + nrOfCalls + " runs : " + endTime + "ms" );
+ assertTrue( nrOfCalls + " of calls should have taken less then 150ms", endTime < 150 );
+ }
+
+ @Test
+ public void parseNamespaces()
+ {
+ Map<String,String> namespaces = DslHelper.parseNamespaces( "pro=http://org.jboss.soa.esb/product, ord=http://org.jboss.soa.esb/order" );
+ assertNotNull( namespaces );
+ assertEquals( 2, namespaces.size() );
+ assertTrue( namespaces.containsKey( "pro" ) );
+ assertTrue( namespaces.containsKey( "ord" ) );
+ }
+
+ @Test ( expected = IllegalArgumentException.class )
+ public void parseNamespacesNegative()
+ {
+ DslHelper.parseNamespaces( null );
+ }
+
+ @BeforeClass
+ public static void createMessage() throws UnsupportedEncodingException
+ {
+ msg = MessageFactory.getInstance().getMessage();
+ InputStream resourceAsStream = ClassUtil.getResourceAsStream( "/" + "5KB_message.xml", DslHelperUnitTest.class );
+ String contents = StreamUtils.readStreamString( resourceAsStream, "UTF-8" );
+ msg.getBody().add( contents );
+ }
+
+ @BeforeClass
+ public static void createNamespaceMessage() throws UnsupportedEncodingException
+ {
+ nsmsg = MessageFactory.getInstance().getMessage();
+ InputStream resourceAsStream = ClassUtil.getResourceAsStream( "/" + "5KBNS_message.xml", DslHelperUnitTest.class );
+ String contents = StreamUtils.readStreamString( resourceAsStream, "UTF-8" );
+ nsmsg.getBody().add( contents );
+
+ namespaces = new HashMap<String,String>();
+ namespaces.put( "ord", "http://org.jboss.soa.esb/order" );
+ namespaces.put( "p", "http://org.jboss.soa.esb/product" );
+ }
+
+ public static junit.framework.Test suite() {
+ return new JUnit4TestAdapter(DslHelperUnitTest.class);
+ }
+}
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/routing/cbr/JBossRulesRouterUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
@@ -22,56 +22,266 @@
package org.jboss.internal.soa.esb.services.routing.cbr;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.ArrayList;
import java.util.List;
import junit.framework.JUnit4TestAdapter;
+import org.jboss.soa.esb.actions.CBRConfigTreeBuilder;
+import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.message.mapping.ObjectMapper;
+import org.jboss.soa.esb.message.mapping.ObjectMappingException;
import org.jboss.soa.esb.services.routing.MessageRouterException;
+import org.jboss.soa.esb.services.routing.cbr.ContentBasedRouterFactory;
+import org.jboss.soa.esb.testutils.TestEnvironmentUtil;
+import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
/**
+ * Tests for {@link JBossRulesRouter}.
*
* @author kurt.stam at redhat.com
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
*
*/
public class JBossRulesRouterUnitTest
{
+ // instance under test
+ private JBossRulesRouter jbrRouter;
+
@Test
- public void routeSerializedMessage()
+ public void routeSerializedMessage() throws MessageRouterException
{
+ Message message = createMessage( MessageType.JAVA_SERIALIZED );
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBRules.drl").build();
+ jbrRouter.setConfigTree( configTree );
+
+ List<String> destinationServices = jbrRouter.route("JBossESBRules.drl",false,message,null);
+ assertNotNull(destinationServices);
+ assertTrue(destinationServices.size()>0);
+ assertEquals(destinationServices.iterator().next(),"serialized-destination");
+ }
+
+ @Test
+ public void routeSerializedMessageDecisionTableStateless() throws MessageRouterException
+ {
+ Message message = createMessage( MessageType.JAVA_SERIALIZED );
+
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).decisionTable( "RuleBaseHelper.xls").build();
+ jbrRouter.setConfigTree( configTree );
+
+ List<String> destinationServices = jbrRouter.route( null, false, message, null);
+
+ assertNotNull( destinationServices );
+ assertTrue( "One destination should have been added by Drools", destinationServices.size() == 1 );
+ assertEquals( "serialized-destination", destinationServices.get(0).toString() );
+ }
+
+ @Test
+ public void routeSerializedMessageDecisionTableStateful() throws MessageRouterException
+ {
+ Message message = createMessage( MessageType.JAVA_SERIALIZED );
+
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).decisionTable( "RuleBaseHelper.xls").stateful( true ).build();
+ jbrRouter.setConfigTree( configTree );
+
+ List<String> destinationServices = jbrRouter.route( null, false, message, null);
+
+ assertNotNull( destinationServices );
+ assertTrue( "One destination should have been added by Drools", destinationServices.size() == 1 );
+ assertEquals( "serialized-destination", destinationServices.get(0).toString() );
+ }
+
+ @Test
+ public void routeXMLMessage() throws MessageRouterException
+ {
+ Message message = createMessage( MessageType.JBOSS_XML);
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBRules.drl").build();
+ jbrRouter.setConfigTree( configTree );
+ List<String> destinationServices = jbrRouter.route("JBossESBRules.drl",false,message,null);
+ assertEquals(destinationServices.iterator().next(),"xml-destination");
+ }
+
+ @Test
+ public void routeXMLMessageUsingXPathMatch() throws MessageRouterException
+ {
+ Message message = createMessage( MessageType.JBOSS_XML);
+ message.getBody().add(("<jbossesb>TEST BODY</jbossesb>").getBytes());
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBRules.drl").build();
+ jbrRouter.setConfigTree( configTree );
+
+ List<String> destinationServices = jbrRouter.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message,null);
+ assertEquals(destinationServices.iterator().next(),"XML_XPath_Destination");
+ }
+
+ @Test
+ public void routeXMLMessageUsingXPathEquals() throws MessageRouterException
+ {
+ Message message = createMessage( MessageType.JBOSS_XML );
+ message.getBody().add(("<Dave>rocks</Dave>").getBytes());
+
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBRules.drl").build();
+ jbrRouter.setConfigTree( configTree );
+
+ List<String> destinationServices = jbrRouter.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message,null);
+ assertEquals(destinationServices.iterator().next(),"XML_XPath_Dave_Destination");
+ }
+
+ @Test
+ public void routeXMLMessageUsingXPathGreaterThen() throws MessageRouterException
+ {
+ Message message = createMessage( MessageType.JBOSS_XML );
+ message.getBody().add(("<price>1.55</price>").getBytes());
+
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBRules.drl").build();
+ jbrRouter.setConfigTree( configTree );
+
+ List<String> destinationServices = jbrRouter.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message,null);
+ assertEquals(destinationServices.iterator().next(),"XML_XPath_GreaterThan_Destination");
+ }
+
+ @Test
+ public void routeXMLMessageUsingXPathLessThen()
+ {
+ try {
+ //add new messages
+ Message message = MessageFactory.getInstance().getMessage( MessageType.JBOSS_XML );
+ //set the body inside the Message
+ message.getBody().add(("<price>0.55</price>").getBytes());
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBRules.drl").build();
+ jbrRouter.setConfigTree( configTree );
+
+ List<String> destinationServices = jbrRouter.route("JBossESBRules-XPath.drl","XPathLanguage.dsl",false,message,null);
+ assertEquals(destinationServices.iterator().next(),"XML_XPath_LessThan_Destination");
+ } catch (MessageRouterException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Test ( expected = MessageRouterException.class )
+ public void shouldThrowIfNoRuleSetIsSupplied() throws MessageRouterException
+ {
+ //add new messages
+ Message message = MessageFactory.getInstance().getMessage( MessageType.JBOSS_XML );
+ ConfigTree configTree = new ConfigTree("bad-config");
+ jbrRouter.setConfigTree( configTree );
+
+ jbrRouter.route( null ,"XPathLanguage.dsl",false,message,null);
+ }
+
+ @Test ( expected = MessageRouterException.class )
+ public void shouldThrowIfRuleServiceImplIsInvalid() throws MessageRouterException
+ {
+ //add new messages
+ Message message = MessageFactory.getInstance().getMessage( MessageType.JBOSS_XML );
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleServiceImpl( "bad.Class" ).ruleFile( "JBossESBRules.drl").build();
+ jbrRouter.setConfigTree( configTree );
+
+ jbrRouter.route( null, "XPathLanguage.dsl", false, message, null);
+ }
+
+ // Moved into this class from BusinessProcessRoutingUnitTest
+ // as that class also used JBossRulesRouter as you can see below
+ @Test
+ public void discount() throws ObjectMappingException
+ {
//new messages
- Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
- //set some properties inside the Message
- message.getProperties().setProperty("prop1", "val1");
- message.getProperties().setProperty("prop2", "val2");
- //set the body inside the Message
- message.getBody().add(("TEST BODY").getBytes());
- //set some object attachments inside the Message
- message.getAttachment().addItem(new String("TEST ATTACHMENT1"));
- message.getAttachment().addItem(new String("TEST ATTACHMENT2"));
-
+ Message message = createMessage( MessageType.JAVA_SERIALIZED );
+ Order order = new Order();
+ order.setQuantity(20);
+ order.setUnitPrice(new BigDecimal("20.0"));
+ message.getBody().add("Order", order);
+ //extract the order from the message, so the drl can process it
+ List<String> messagePathList = new ArrayList<String>();
+ messagePathList.add("body.Order");
+ ObjectMapper mapper = new ObjectMapper();
+ List<Object> objectList = mapper.createObjectList(message, messagePathList);
+ //Now send to the rules engine
JBossRulesRouter jbossRulesRouter = new JBossRulesRouter();
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBPricingRoutingRules.drl").build();
+ jbossRulesRouter.setConfigTree( configTree );
try {
- List<String> destinationServices = jbossRulesRouter.route("JBossESBRules.drl", false, message, null);
- assertEquals(destinationServices.iterator().next(),"serialized-destination");
- System.out.println(message.getBody().get());
+ List<String> destinations = jbossRulesRouter.route("JBossESBPricingRoutingRules.drl", false, message, objectList);
+ assertEquals(order.getDiscount(),10.0);
+ assertEquals("10%",message.getBody().get("DiscountObject"));
+ String shippingDestination = destinations.iterator().next();
+ System.out.println(shippingDestination);
+ assertEquals("express-shipping-destination", shippingDestination);
+
} catch (MessageRouterException mre) {
System.out.println("Exception was thrown.");
mre.printStackTrace();
assertTrue(false);
}
}
+
+ // Moved into this class from BusinessProcessRoutingUnitTest
+ // as that class also used JBossRulesRouter as you can see befinal low
+ @Test
+ public void nodiscount() throws ObjectMappingException
+ {
+ //new messages
+ Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+ Order order = new Order();
+ order.setQuantity(2);
+ order.setUnitPrice(new BigDecimal("20.0"));
+ message.getBody().add("Order", order);
+// extract the order from the message, so the drl can process it
+ List<String> messagePathList = new ArrayList<String>();
+ messagePathList.add("body.Order");
+ ObjectMapper mapper = new ObjectMapper();
+ List<Object> objectList = mapper.createObjectList(message, messagePathList);
+ //Now send to the rules engine
+ JBossRulesRouter jbossRulesRouter = new JBossRulesRouter();
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBPricingRoutingRules.drl").build();
+ jbossRulesRouter.setConfigTree( configTree );
+ try {
+ List<String> destinations = jbossRulesRouter.route("JBossESBPricingRoutingRules.drl", false, message, objectList);
+ assertEquals(order.getDiscount(),0.0);
+ assertEquals("0%",message.getBody().get("DiscountObject"));
+ String shippingDestination = destinations.iterator().next();
+ System.out.println(shippingDestination);
+ assertEquals("normal-shipping-destination", shippingDestination);
+
+ } catch (MessageRouterException mre) {
+ System.out.println("Exception was thrown.");
+ mre.printStackTrace();
+ assertTrue(false);
+ }
+ }
- @Test
- public void routeXMLMessage()
+ @Before
+ public void setup() throws MessageRouterException
{
- //add new messages
- Message message = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
+ jbrRouter = (JBossRulesRouter) ContentBasedRouterFactory.getRouter(org.jboss.soa.esb.actions.ContentBasedRouter.DEFAULT_CBR_CLASS);
+ jbrRouter.setConfigTree( new ConfigTree("dummy" ));
+ }
+
+ @BeforeClass
+ public static void runBeforeAllTests() throws Exception
+ {
+ try {
+ TestEnvironmentUtil.setESBPropertiesFileToUse();
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.out.println("We should stop testing, since we don't any config properties");
+ assertTrue(false);
+ }
+ }
+
+ private Message createMessage( final URI type )
+ {
+ //new messages
+ Message message = MessageFactory.getInstance().getMessage( type );
//set some properties inside the Message
message.getProperties().setProperty("prop1", "val1");
message.getProperties().setProperty("prop2", "val2");
@@ -80,16 +290,7 @@
//set some object attachments inside the Message
message.getAttachment().addItem(new String("TEST ATTACHMENT1"));
message.getAttachment().addItem(new String("TEST ATTACHMENT2"));
-
- JBossRulesRouter jbossRulesRouter = new JBossRulesRouter();
- try {
- List<String> destinationServices = jbossRulesRouter.route("JBossESBRules.drl", false, message, null);
- assertEquals(destinationServices.iterator().next(),"xml-destination");
- } catch (MessageRouterException mre) {
- System.out.println("Exception was thrown.");
- mre.printStackTrace();
- assertTrue(false);
- }
+ return message;
}
public static junit.framework.Test suite() {
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules)
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,121 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.internal.soa.esb.services.rules;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import java.io.IOException;
-
-import junit.framework.JUnit4TestAdapter;
-import org.drools.RuleBase;
-import org.drools.compiler.DroolsParserException;
-import org.junit.Test;
-
-/**
- * Unit test for {@link DroolsRuleBaseHelper}
- * <p/>
- *
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public class DroolsRuleBaseHelperUnitTest
-{
- // instance under test
- private DroolsRuleBaseHelper helper = DroolsRuleBaseHelper.getInstance();
-
- private final static String NULL_DSL_FILE = null;
- private final static String NULL_RULE_FILE = null;
- private final static String NULL_DECISION_TABLE_FILE = null;
-
- @Test ( expected = NullPointerException.class )
- public void shouldThrowIfRuleFileIsNull() throws DroolsParserException, IOException, RuleServiceException
- {
- helper.createRuleBaseFromRuleFiles( NULL_RULE_FILE, NULL_DSL_FILE );
- }
-
- @Test
- public void createRuleBaseFromRuleFiles() throws DroolsParserException, IOException, RuleServiceException
- {
- RuleBase ruleBase = helper.createRuleBaseFromRuleFiles( "RuleBaseHelper.drl", NULL_DSL_FILE );
-
- assertNotNull( ruleBase );
- assertTrue( ruleBase.getPackages().length > 0 );
- assertEquals( "org.jboss.internal.soa.esb.rules" , ruleBase.getPackages()[0].getName());
- }
-
- @Test ( expected = NullPointerException.class )
- public void shouldThrowIfDecisionTableIsNull() throws DroolsParserException, IOException, RuleServiceException
- {
- helper.createRuleBaseFromDecisionTable( NULL_DECISION_TABLE_FILE );
- }
-
- @Test
- public void createRuleBaseFromDecisionTable() throws DroolsParserException, IOException, RuleServiceException
- {
- RuleBase ruleBase = helper.createRuleBaseFromDecisionTable( "RuleBaseHelper.xls" );
- assertNotNull( ruleBase );
- assertEquals( "org.jboss.internal.soa.esb.rules", ruleBase.getPackages()[0].getName());
- }
-
- @Test ( expected = NullPointerException.class )
- public void getRuleAsStringShouldThrowIfRuleFileIsNull() throws IOException, RuleServiceException
- {
- String rulesAsString = helper.getRulesAsString( NULL_RULE_FILE, NULL_DSL_FILE );
- assertNotNull( rulesAsString );
- }
-
- @Test
- public void getRuleFileAsString() throws IOException, RuleServiceException
- {
- String rulesAsString = helper.getRulesAsString( "RuleBaseHelper.drl", NULL_DSL_FILE );
- assertNotNull( rulesAsString );
- }
-
- @Test
- public void getSpreadSheetRules() throws IOException, RuleServiceException
- {
- String spreadSheetAsString = helper.getSpreadsheetRules( "RuleBaseHelper.xls" );
- assertNotNull( spreadSheetAsString );
- }
-
- /*
- This test is currently disabled as the file property that exists in RuleBaseHelper.properties
- accesses a file on the local file system. This causes problems with the integration build as
- the working dir is not the same and when run from eclipse or ant in this modules directory.
- The issue here could be fixed by using the dir property in base-build.xml, but that caused
- the other modules to fail. Leaving this for now as v5.0 will clean this up./Daniel
- @Test
- */
- public void loadRuleBaseFromRuleAgent() throws Exception
- {
- RuleBase ruleBase = helper.loadRuleBaseFromRuleAgent( "RuleBaseHelper.properties" );
- assertNotNull( ruleBase );
- assertEquals( "org.jboss.internal.soa.esb.rules", ruleBase.getPackages()[0].getName());
- }
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter( DroolsRuleBaseHelperUnitTest.class );
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleBaseHelperUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,121 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.services.rules;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import java.io.IOException;
+
+import junit.framework.JUnit4TestAdapter;
+import org.drools.RuleBase;
+import org.drools.compiler.DroolsParserException;
+import org.junit.Test;
+
+/**
+ * Unit test for {@link DroolsRuleBaseHelper}
+ * <p/>
+ *
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class DroolsRuleBaseHelperUnitTest
+{
+ // instance under test
+ private DroolsRuleBaseHelper helper = DroolsRuleBaseHelper.getInstance();
+
+ private final static String NULL_DSL_FILE = null;
+ private final static String NULL_RULE_FILE = null;
+ private final static String NULL_DECISION_TABLE_FILE = null;
+
+ @Test ( expected = NullPointerException.class )
+ public void shouldThrowIfRuleFileIsNull() throws DroolsParserException, IOException, RuleServiceException
+ {
+ helper.createRuleBaseFromRuleFiles( NULL_RULE_FILE, NULL_DSL_FILE );
+ }
+
+ @Test
+ public void createRuleBaseFromRuleFiles() throws DroolsParserException, IOException, RuleServiceException
+ {
+ RuleBase ruleBase = helper.createRuleBaseFromRuleFiles( "RuleBaseHelper.drl", NULL_DSL_FILE );
+
+ assertNotNull( ruleBase );
+ assertTrue( ruleBase.getPackages().length > 0 );
+ assertEquals( "org.jboss.internal.soa.esb.rules" , ruleBase.getPackages()[0].getName());
+ }
+
+ @Test ( expected = NullPointerException.class )
+ public void shouldThrowIfDecisionTableIsNull() throws DroolsParserException, IOException, RuleServiceException
+ {
+ helper.createRuleBaseFromDecisionTable( NULL_DECISION_TABLE_FILE );
+ }
+
+ @Test
+ public void createRuleBaseFromDecisionTable() throws DroolsParserException, IOException, RuleServiceException
+ {
+ RuleBase ruleBase = helper.createRuleBaseFromDecisionTable( "RuleBaseHelper.xls" );
+ assertNotNull( ruleBase );
+ assertEquals( "org.jboss.internal.soa.esb.rules", ruleBase.getPackages()[0].getName());
+ }
+
+ @Test ( expected = NullPointerException.class )
+ public void getRuleAsStringShouldThrowIfRuleFileIsNull() throws IOException, RuleServiceException
+ {
+ String rulesAsString = helper.getRulesAsString( NULL_RULE_FILE, NULL_DSL_FILE );
+ assertNotNull( rulesAsString );
+ }
+
+ @Test
+ public void getRuleFileAsString() throws IOException, RuleServiceException
+ {
+ String rulesAsString = helper.getRulesAsString( "RuleBaseHelper.drl", NULL_DSL_FILE );
+ assertNotNull( rulesAsString );
+ }
+
+ @Test
+ public void getSpreadSheetRules() throws IOException, RuleServiceException
+ {
+ String spreadSheetAsString = helper.getSpreadsheetRules( "RuleBaseHelper.xls" );
+ assertNotNull( spreadSheetAsString );
+ }
+
+ /*
+ This test is currently disabled as the file property that exists in RuleBaseHelper.properties
+ accesses a file on the local file system. This causes problems with the integration build as
+ the working dir is not the same and when run from eclipse or ant in this modules directory.
+ The issue here could be fixed by using the dir property in base-build.xml, but that caused
+ the other modules to fail. Leaving this for now as v5.0 will clean this up./Daniel
+ @Test
+ */
+ public void loadRuleBaseFromRuleAgent() throws Exception
+ {
+ RuleBase ruleBase = helper.loadRuleBaseFromRuleAgent( "RuleBaseHelper.properties" );
+ assertNotNull( ruleBase );
+ assertEquals( "org.jboss.internal.soa.esb.rules", ruleBase.getPackages()[0].getName());
+ }
+
+ public static junit.framework.Test suite()
+ {
+ return new JUnit4TestAdapter( DroolsRuleBaseHelperUnitTest.class );
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,318 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.internal.soa.esb.services.rules;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import junit.framework.JUnit4TestAdapter;
-
-import org.drools.RuleBase;
-import org.drools.agent.RuleAgent;
-import org.jboss.internal.soa.esb.services.routing.cbr.Order;
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.actions.Counter;
-import org.jboss.soa.esb.lifecycle.LifecycleResourceException;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.message.mapping.ObjectMapper;
-import org.jboss.soa.esb.message.mapping.ObjectMappingException;
-import org.jboss.soa.esb.util.ClassUtil;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Unit test for {@link DroolsRuleService}
- * <p/>
- *
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public class DroolsRuleServiceUnitTest
-{
- private DroolsRuleService ruleService = new DroolsRuleService();
-
- private RuleBase ruleBase;
- private Message message;
-
- private Order order;
-
- private ArrayList<String> messagePathList;
-
- @Test
- public void executeStatelessRules()
- {
- Map<String,Object> globals = getGlobalsWithDestAndMessage();
- message = ruleService.executeStatelessRules( ruleBase, message , globals, null );
- ArrayList<String> destinations = getDistinations( globals );
- assertTrue( destinations.size() == 1 );
- }
-
- @Test
- public void executeStatelessRulesFromDecisionTableReload() throws RuleServiceException
- {
- Map<String,Object> globals = getGlobalsWithDest();
- final String decisionTable = "RuleBaseHelper.xls";
- message = ruleService.executeStatelessRulesFromDecisionTable( decisionTable, true, message, globals, null );
- ArrayList<String> destinations = getDistinations( globals );
- assertTrue( destinations.size() == 1 );
- }
-
- @Test
- public void executeStatelessRulesFromDecisionTable() throws RuleServiceException
- {
- Map<String,Object> globals = getGlobalsWithDest();
- final String decisionTable = "RuleBaseHelper.xls";
- message = ruleService.executeStatelessRulesFromDecisionTable( decisionTable, false, message, globals, null );
- ArrayList<String> destinations = getDistinations( globals );
- assertTrue( destinations.size() == 1 );
- }
-
- @Test
- public void executeStatfulRulesFromDecisionTableReload() throws RuleServiceException
- {
- Map<String,Object> globals = getGlobalsWithDest();
- final String decisionTable = "RuleBaseHelper.xls";
- message = ruleService.executeStatefulRulesFromDecisionTable( decisionTable, true, message, globals, null );
- ArrayList<String> destinations = getDistinations( globals );
- assertTrue( destinations.size() == 1 );
- }
-
- @Test
- public void executeStatfulRulesFromDecisionTable() throws RuleServiceException
- {
- Map<String,Object> globals = getGlobalsWithDest();
- final String decisionTable = "RuleBaseHelper.xls";
- message = ruleService.executeStatefulRulesFromDecisionTable( decisionTable, false, message, globals, null );
- ArrayList<String> destinations = getDistinations( globals );
- assertTrue( destinations.size() == 1 );
- }
-
- @Test
- public void executeStatefulRules() throws RuleServiceException
- {
- Map<String,Object> globals = getGlobalsWithDestAndMessage();
- message = ruleService.executeStatefulRules( ruleBase, true, message , globals, null );
- ArrayList<String> destinations = getDistinations( globals );
- assertTrue( destinations.size() == 1 );
- }
-
- @Test
- public void executeStatefulRulesDrl() throws RuleServiceException
- {
- Map<String,Object> globals = getGlobalsWithDestAndMessage();
- message = ruleService.executeStatefulRules( "JBossESBRules.drl", null, true, message, globals, null );
- ArrayList<String> destinations = getDistinations( globals );
- assertTrue( destinations.size() == 1 );
- }
-
- @Test
- public void executeStatelessRulesDrlWithDsl() throws RuleServiceException, ConfigurationException, UnsupportedEncodingException
- {
- Message msg = MessageFactory.getInstance().getMessage();
- InputStream resourceAsStream = ClassUtil.getResourceAsStream( "/" + "5KB_message.xml", getClass() );
- String contents = StreamUtils.readStreamString( resourceAsStream, "UTF-8" );
- msg.getBody().add( contents );
- Map<String,Object> globals = getGlobalsWithDest();
- boolean ruleReload = true;
-
- // first run
- long startTime = System.nanoTime();
-
- message = ruleService.executeStatelessRules( "RulesWithDsl.drl", "XPathLanguage.dsl", ruleReload, msg, globals, null );
- ArrayList<String> destinations = getDistinations( globals );
- assertTrue( destinations.size() == 1 );
-
- long procTime = System.nanoTime() - startTime;
- long firstRun = TimeUnit.NANOSECONDS.toMillis( procTime ) ;
- System.out.println( "Timed First run : " + firstRun + "ms" );
-
- // second run
- startTime = System.nanoTime();
-
- message = ruleService.executeStatelessRules( "RulesWithDsl.drl", "XPathLanguage.dsl", ruleReload, msg, globals, null );
- procTime = System.nanoTime() - startTime;
- long secondRun = TimeUnit.NANOSECONDS.toMillis( procTime ) ;
- System.out.println( "Timed Second run : " + secondRun + "ms" );
-
- destinations = getDistinations( globals );
- assertTrue( destinations.size() == 2 );
- }
-
- @Test
- public void executeStatelessRulesDrlWithDslAndNamespaces() throws RuleServiceException, ConfigurationException, UnsupportedEncodingException
- {
- Message msg = MessageFactory.getInstance().getMessage();
- InputStream resourceAsStream = ClassUtil.getResourceAsStream( "/" + "5KBNS_message.xml", getClass() );
- String contents = StreamUtils.readStreamString( resourceAsStream, "UTF-8" );
- msg.getBody().add( contents );
- Map<String,Object> globals = getGlobalsWithDest();
- boolean ruleReload = true;
-
- message = ruleService.executeStatelessRules( "RulesWithDslNS.drl", "XPathLanguage.dsl", ruleReload, msg, globals, null );
- ArrayList<String> destinations = getDistinations( globals );
- assertEquals( 3 , destinations.size() );
- }
-
- @Test
- public void executeStatefulRulesContinueSession() throws RuleServiceException, ObjectMappingException
- {
- Message message = createMessageWithOrder( order );
- Map<String,Object> globals = getGlobalsWithMessage( message );
- ArrayList<String> messagePathList = new ArrayList<String>();
- messagePathList.add("body.Order");
- messagePathList.add("body.Counter");
-
- List<Object> objectList = new ObjectMapper().createObjectList(message, messagePathList);
-
- // process message
- message = ruleService.executeStatefulRules( "JBossESBPricingRulesStateful.drl", null, true, message, globals, objectList );
- assertEquals( 20.0, order.getDiscount() );
- assertEquals( "20%" ,message.getBody().get("DiscountObject"));
-
- // process message again with a counter instance
- objectList = new ObjectMapper().createObjectList(message, messagePathList);
- message = ruleService.continueStatefulRulesExecution( "JBossESBPricingRulesStateful.drl", true, message, globals, objectList );
-
- Counter counter = (Counter) message.getBody().get("Counter");
-
- assertEquals( 2 , counter.getCounter() );
- }
-
- /*
- This test is currently disabled as the file property that exists in RuleBaseHelper.properties
- accesses a file on the local file system. This causes problems with the integration build as
- the working dir is not the same and when run from eclipse or ant in this modules directory.
- The issue here could be fixed by using the dir property in base-build.xml, but that caused
- the other modules to fail. Leaving this for now as v5.0 will clean this up./Daniel
- @Test
- */
- public void executeStatefulRulesFromRuleAgent() throws RuleServiceException
- {
- Map<String,Object> globals = getGlobalsWithDest();
-
- message = ruleService.executeStatefulRulesFromRuleAgent( "RuleBaseHelper.properties", message , globals, null );
-
- ArrayList<String> destinations = getDistinations( globals );
- assertTrue( destinations.size() == 1 );
-
- message = ruleService.executeStatefulRules( ruleBase, true, message , globals, null );
- assertTrue( destinations.size() == 2 );
- }
-
- /*
- Commented out for the same reason as the previous test.
- @Test
- */
- public void executeStatefulRulesCheckCached() throws RuleServiceException, LifecycleResourceException
- {
- ruleService.getCachedRuleBases().clear();
- final String ruleAgentProperites = "RuleBaseHelper.properties";
- Map<String,Object> globals = getGlobalsWithDest();
- ruleService.executeStatefulRulesFromRuleAgent( ruleAgentProperites, message , globals, null );
-
- Map<String, RuleAgent> ruleAgents = ruleService.getCachedRuleAgents();
- assertEquals( 1, ruleAgents.size() );
- RuleAgent ruleAgent = ruleAgents.get( ruleAgentProperites );
- assertNotNull( ruleAgent );
-
- RuleBase rBase = ruleAgent.getRuleBase();
- assertEquals ( rBase, ruleService.getCachedRuleBases().get( ruleAgentProperites ) );
-
- for ( int i = 0 ; i < 10 ; i++ )
- ruleService.executeStatefulRulesFromRuleAgent( ruleAgentProperites, message , globals, null );
-
- assertEquals( 1, ruleAgents.size() );
- assertEquals( 1, ruleService.getCachedRuleBases().size() );
- assertEquals ( rBase, ruleService.getCachedRuleBases().get( ruleAgentProperites ) );
- }
-
- // Test setup methods
-
- @Before
- public void setup() throws RuleServiceException
- {
- ruleBase = ruleService.getRuleBaseForFileBasedRules( "JBossESBRules.drl", null, true );
- message = MessageFactory.getInstance().getMessage();
-
- order = new Order();
- order.setQuantity(20);
- order.setUnitPrice( new BigDecimal("20.0") );
-
- messagePathList = new ArrayList<String>();
- messagePathList.add("body.Order");
- messagePathList.add("body.Counter");
- }
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter( DroolsRuleServiceUnitTest.class );
- }
-
- @SuppressWarnings("unchecked")
- private ArrayList<String> getDistinations( final Map<String,Object> globals )
- {
- return (ArrayList<String>) globals.get( "destinations" );
- }
-
- private Map<String,Object> getGlobalsWithDestAndMessage()
- {
- Map<String,Object> globals = getGlobalsWithDest();
- globals.putAll( getGlobalsWithMessage( message ));
- return globals;
- }
-
- private Map<String,Object> getGlobalsWithDest()
- {
- Map<String,Object> globals = new HashMap<String,Object>();
- ArrayList<String> destinations = new ArrayList<String>();
- globals.put("destinations", destinations );
- return globals;
- }
-
- private Map<String,Object> getGlobalsWithMessage( final Message message )
- {
- Map<String,Object> globals = new HashMap<String,Object>();
- globals.put("message", message );
- return globals;
- }
-
- private Message createMessageWithOrder( final Order order )
- {
- Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
- message.getBody().add("Order", order);
- return message;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/internal/soa/esb/services/rules/DroolsRuleServiceUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,318 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.internal.soa.esb.services.rules;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.drools.RuleBase;
+import org.drools.agent.RuleAgent;
+import org.jboss.internal.soa.esb.services.routing.cbr.Order;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.Counter;
+import org.jboss.soa.esb.lifecycle.LifecycleResourceException;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.message.mapping.ObjectMapper;
+import org.jboss.soa.esb.message.mapping.ObjectMappingException;
+import org.jboss.soa.esb.util.ClassUtil;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Unit test for {@link DroolsRuleService}
+ * <p/>
+ *
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class DroolsRuleServiceUnitTest
+{
+ private DroolsRuleService ruleService = new DroolsRuleService();
+
+ private RuleBase ruleBase;
+ private Message message;
+
+ private Order order;
+
+ private ArrayList<String> messagePathList;
+
+ @Test
+ public void executeStatelessRules()
+ {
+ Map<String,Object> globals = getGlobalsWithDestAndMessage();
+ message = ruleService.executeStatelessRules( ruleBase, message , globals, null );
+ ArrayList<String> destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 1 );
+ }
+
+ @Test
+ public void executeStatelessRulesFromDecisionTableReload() throws RuleServiceException
+ {
+ Map<String,Object> globals = getGlobalsWithDest();
+ final String decisionTable = "RuleBaseHelper.xls";
+ message = ruleService.executeStatelessRulesFromDecisionTable( decisionTable, true, message, globals, null );
+ ArrayList<String> destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 1 );
+ }
+
+ @Test
+ public void executeStatelessRulesFromDecisionTable() throws RuleServiceException
+ {
+ Map<String,Object> globals = getGlobalsWithDest();
+ final String decisionTable = "RuleBaseHelper.xls";
+ message = ruleService.executeStatelessRulesFromDecisionTable( decisionTable, false, message, globals, null );
+ ArrayList<String> destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 1 );
+ }
+
+ @Test
+ public void executeStatfulRulesFromDecisionTableReload() throws RuleServiceException
+ {
+ Map<String,Object> globals = getGlobalsWithDest();
+ final String decisionTable = "RuleBaseHelper.xls";
+ message = ruleService.executeStatefulRulesFromDecisionTable( decisionTable, true, message, globals, null );
+ ArrayList<String> destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 1 );
+ }
+
+ @Test
+ public void executeStatfulRulesFromDecisionTable() throws RuleServiceException
+ {
+ Map<String,Object> globals = getGlobalsWithDest();
+ final String decisionTable = "RuleBaseHelper.xls";
+ message = ruleService.executeStatefulRulesFromDecisionTable( decisionTable, false, message, globals, null );
+ ArrayList<String> destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 1 );
+ }
+
+ @Test
+ public void executeStatefulRules() throws RuleServiceException
+ {
+ Map<String,Object> globals = getGlobalsWithDestAndMessage();
+ message = ruleService.executeStatefulRules( ruleBase, true, message , globals, null );
+ ArrayList<String> destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 1 );
+ }
+
+ @Test
+ public void executeStatefulRulesDrl() throws RuleServiceException
+ {
+ Map<String,Object> globals = getGlobalsWithDestAndMessage();
+ message = ruleService.executeStatefulRules( "JBossESBRules.drl", null, true, message, globals, null );
+ ArrayList<String> destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 1 );
+ }
+
+ @Test
+ public void executeStatelessRulesDrlWithDsl() throws RuleServiceException, ConfigurationException, UnsupportedEncodingException
+ {
+ Message msg = MessageFactory.getInstance().getMessage();
+ InputStream resourceAsStream = ClassUtil.getResourceAsStream( "/" + "5KB_message.xml", getClass() );
+ String contents = StreamUtils.readStreamString( resourceAsStream, "UTF-8" );
+ msg.getBody().add( contents );
+ Map<String,Object> globals = getGlobalsWithDest();
+ boolean ruleReload = true;
+
+ // first run
+ long startTime = System.nanoTime();
+
+ message = ruleService.executeStatelessRules( "RulesWithDsl.drl", "XPathLanguage.dsl", ruleReload, msg, globals, null );
+ ArrayList<String> destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 1 );
+
+ long procTime = System.nanoTime() - startTime;
+ long firstRun = TimeUnit.NANOSECONDS.toMillis( procTime ) ;
+ System.out.println( "Timed First run : " + firstRun + "ms" );
+
+ // second run
+ startTime = System.nanoTime();
+
+ message = ruleService.executeStatelessRules( "RulesWithDsl.drl", "XPathLanguage.dsl", ruleReload, msg, globals, null );
+ procTime = System.nanoTime() - startTime;
+ long secondRun = TimeUnit.NANOSECONDS.toMillis( procTime ) ;
+ System.out.println( "Timed Second run : " + secondRun + "ms" );
+
+ destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 2 );
+ }
+
+ @Test
+ public void executeStatelessRulesDrlWithDslAndNamespaces() throws RuleServiceException, ConfigurationException, UnsupportedEncodingException
+ {
+ Message msg = MessageFactory.getInstance().getMessage();
+ InputStream resourceAsStream = ClassUtil.getResourceAsStream( "/" + "5KBNS_message.xml", getClass() );
+ String contents = StreamUtils.readStreamString( resourceAsStream, "UTF-8" );
+ msg.getBody().add( contents );
+ Map<String,Object> globals = getGlobalsWithDest();
+ boolean ruleReload = true;
+
+ message = ruleService.executeStatelessRules( "RulesWithDslNS.drl", "XPathLanguage.dsl", ruleReload, msg, globals, null );
+ ArrayList<String> destinations = getDistinations( globals );
+ assertEquals( 3 , destinations.size() );
+ }
+
+ @Test
+ public void executeStatefulRulesContinueSession() throws RuleServiceException, ObjectMappingException
+ {
+ Message message = createMessageWithOrder( order );
+ Map<String,Object> globals = getGlobalsWithMessage( message );
+ ArrayList<String> messagePathList = new ArrayList<String>();
+ messagePathList.add("body.Order");
+ messagePathList.add("body.Counter");
+
+ List<Object> objectList = new ObjectMapper().createObjectList(message, messagePathList);
+
+ // process message
+ message = ruleService.executeStatefulRules( "JBossESBPricingRulesStateful.drl", null, true, message, globals, objectList );
+ assertEquals( 20.0, order.getDiscount() );
+ assertEquals( "20%" ,message.getBody().get("DiscountObject"));
+
+ // process message again with a counter instance
+ objectList = new ObjectMapper().createObjectList(message, messagePathList);
+ message = ruleService.continueStatefulRulesExecution( "JBossESBPricingRulesStateful.drl", true, message, globals, objectList );
+
+ Counter counter = (Counter) message.getBody().get("Counter");
+
+ assertEquals( 2 , counter.getCounter() );
+ }
+
+ /*
+ This test is currently disabled as the file property that exists in RuleBaseHelper.properties
+ accesses a file on the local file system. This causes problems with the integration build as
+ the working dir is not the same and when run from eclipse or ant in this modules directory.
+ The issue here could be fixed by using the dir property in base-build.xml, but that caused
+ the other modules to fail. Leaving this for now as v5.0 will clean this up./Daniel
+ @Test
+ */
+ public void executeStatefulRulesFromRuleAgent() throws RuleServiceException
+ {
+ Map<String,Object> globals = getGlobalsWithDest();
+
+ message = ruleService.executeStatefulRulesFromRuleAgent( "RuleBaseHelper.properties", message , globals, null );
+
+ ArrayList<String> destinations = getDistinations( globals );
+ assertTrue( destinations.size() == 1 );
+
+ message = ruleService.executeStatefulRules( ruleBase, true, message , globals, null );
+ assertTrue( destinations.size() == 2 );
+ }
+
+ /*
+ Commented out for the same reason as the previous test.
+ @Test
+ */
+ public void executeStatefulRulesCheckCached() throws RuleServiceException, LifecycleResourceException
+ {
+ ruleService.getCachedRuleBases().clear();
+ final String ruleAgentProperites = "RuleBaseHelper.properties";
+ Map<String,Object> globals = getGlobalsWithDest();
+ ruleService.executeStatefulRulesFromRuleAgent( ruleAgentProperites, message , globals, null );
+
+ Map<String, RuleAgent> ruleAgents = ruleService.getCachedRuleAgents();
+ assertEquals( 1, ruleAgents.size() );
+ RuleAgent ruleAgent = ruleAgents.get( ruleAgentProperites );
+ assertNotNull( ruleAgent );
+
+ RuleBase rBase = ruleAgent.getRuleBase();
+ assertEquals ( rBase, ruleService.getCachedRuleBases().get( ruleAgentProperites ) );
+
+ for ( int i = 0 ; i < 10 ; i++ )
+ ruleService.executeStatefulRulesFromRuleAgent( ruleAgentProperites, message , globals, null );
+
+ assertEquals( 1, ruleAgents.size() );
+ assertEquals( 1, ruleService.getCachedRuleBases().size() );
+ assertEquals ( rBase, ruleService.getCachedRuleBases().get( ruleAgentProperites ) );
+ }
+
+ // Test setup methods
+
+ @Before
+ public void setup() throws RuleServiceException
+ {
+ ruleBase = ruleService.getRuleBaseForFileBasedRules( "JBossESBRules.drl", null, true );
+ message = MessageFactory.getInstance().getMessage();
+
+ order = new Order();
+ order.setQuantity(20);
+ order.setUnitPrice( new BigDecimal("20.0") );
+
+ messagePathList = new ArrayList<String>();
+ messagePathList.add("body.Order");
+ messagePathList.add("body.Counter");
+ }
+
+ public static junit.framework.Test suite()
+ {
+ return new JUnit4TestAdapter( DroolsRuleServiceUnitTest.class );
+ }
+
+ @SuppressWarnings("unchecked")
+ private ArrayList<String> getDistinations( final Map<String,Object> globals )
+ {
+ return (ArrayList<String>) globals.get( "destinations" );
+ }
+
+ private Map<String,Object> getGlobalsWithDestAndMessage()
+ {
+ Map<String,Object> globals = getGlobalsWithDest();
+ globals.putAll( getGlobalsWithMessage( message ));
+ return globals;
+ }
+
+ private Map<String,Object> getGlobalsWithDest()
+ {
+ Map<String,Object> globals = new HashMap<String,Object>();
+ ArrayList<String> destinations = new ArrayList<String>();
+ globals.put("destinations", destinations );
+ return globals;
+ }
+
+ private Map<String,Object> getGlobalsWithMessage( final Message message )
+ {
+ Map<String,Object> globals = new HashMap<String,Object>();
+ globals.put("message", message );
+ return globals;
+ }
+
+ private Message createMessageWithOrder( final Order order )
+ {
+ Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+ message.getBody().add("Order", order);
+ return message;
+ }
+}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions)
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/BusinessRulesProcessorUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/BusinessRulesProcessorUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/BusinessRulesProcessorUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,141 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.actions;
-
-import static org.junit.Assert.assertEquals;
-
-import java.math.BigDecimal;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-
-import junit.framework.JUnit4TestAdapter;
-
-import org.jboss.internal.soa.esb.services.registry.MockRegistry;
-import org.jboss.internal.soa.esb.services.routing.cbr.Order;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.message.mapping.ObjectMappingException;
-import org.jboss.soa.esb.services.registry.RegistryException;
-import org.jboss.soa.esb.services.routing.MessageRouterException;
-import org.jboss.soa.esb.services.rules.RuleServicePropertiesNames;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Unit test for {@link BusinessRulesProcessor}
- *
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public class BusinessRulesProcessorUnitTest
-{
- private Order order;
- private ArrayList<String> messagePathList;
-
- @Test
- public void processDiscount() throws ObjectMappingException, ConfigurationException, RegistryException, MessageRouterException, ActionProcessingException
- {
- Message message = createMessageWithOrder( order );
- ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBPricingRulesStateful.drl" ).messagePaths(messagePathList).build();
- BusinessRulesProcessor processor = new BusinessRulesProcessor( configTree );
-
- processor.process( message );
-
- assertEquals( 20.0, order.getDiscount() );
- assertEquals( "20%" ,message.getBody().get("DiscountObject"));
- }
-
- @Test
- public void processDiscountStateful() throws ObjectMappingException, ConfigurationException, RegistryException, MessageRouterException, ActionProcessingException
- {
- Message message = createMessageWithOrder( order );
- ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBPricingRulesStateful.drl" ).stateful( true ).messagePaths(messagePathList).build();
- BusinessRulesProcessor processor = new BusinessRulesProcessor( configTree );
-
- // process message
- processor.process( message );
- assertEquals( 20.0, order.getDiscount() );
- assertEquals( "20%" ,message.getBody().get("DiscountObject"));
-
- // now dispose after this call
- message.getProperties().setProperty( RuleServicePropertiesNames.DISPOSE.getTagName(), Boolean.TRUE );
- message.getProperties().setProperty( RuleServicePropertiesNames.CONTINUE.getTagName(), Boolean.TRUE );
- processor.process( message );
-
- // counter is inserted into the working memory by the first rules execution
- // from the above process call.
- Counter counter = (Counter) message.getBody().get("Counter");
- assertEquals( 2 , counter.getCounter() );
- }
-
- @Test ( expected = ActionProcessingException.class )
- public void shouldThrowIfDisposePropertyIsNotSet() throws ObjectMappingException, ConfigurationException, RegistryException, MessageRouterException, ActionProcessingException
- {
- Message message = createMessageWithOrder( order );
- ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBPricingRulesStateful.drl" ).messagePaths(messagePathList).stateful( true ).build();
- BusinessRulesProcessor processor = new BusinessRulesProcessor( configTree );
-
- // process message
- processor.process( message );
- assertEquals( 20.0, order.getDiscount() );
- assertEquals( "20%" ,message.getBody().get("DiscountObject"));
-
- // We don't set 'dispose' which should cause an exception to be thrown...
- message.getProperties().setProperty( RuleServicePropertiesNames.CONTINUE.getTagName(), Boolean.TRUE );
- processor.process( message );
- }
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter(BusinessRulesProcessorUnitTest.class);
- }
-
- @Before
- public void setup()
- {
- order = new Order();
- order.setQuantity(20);
- order.setUnitPrice( new BigDecimal("20.0") );
-
- messagePathList = new ArrayList<String>();
- messagePathList.add("body.Order");
- messagePathList.add("body.Counter");
- }
-
- @BeforeClass
- public static void setupMockRegistry() throws URISyntaxException
- {
- MockRegistry.install();
- }
-
- private Message createMessageWithOrder( final Order order )
- {
- Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
- message.getBody().add("Order", order);
- return message;
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/BusinessRulesProcessorUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/BusinessRulesProcessorUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/BusinessRulesProcessorUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/BusinessRulesProcessorUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,141 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.actions;
+
+import static org.junit.Assert.assertEquals;
+
+import java.math.BigDecimal;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.jboss.internal.soa.esb.services.registry.MockRegistry;
+import org.jboss.internal.soa.esb.services.routing.cbr.Order;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.message.mapping.ObjectMappingException;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.services.routing.MessageRouterException;
+import org.jboss.soa.esb.services.rules.RuleServicePropertiesNames;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Unit test for {@link BusinessRulesProcessor}
+ *
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class BusinessRulesProcessorUnitTest
+{
+ private Order order;
+ private ArrayList<String> messagePathList;
+
+ @Test
+ public void processDiscount() throws ObjectMappingException, ConfigurationException, RegistryException, MessageRouterException, ActionProcessingException
+ {
+ Message message = createMessageWithOrder( order );
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBPricingRulesStateful.drl" ).messagePaths(messagePathList).build();
+ BusinessRulesProcessor processor = new BusinessRulesProcessor( configTree );
+
+ processor.process( message );
+
+ assertEquals( 20.0, order.getDiscount() );
+ assertEquals( "20%" ,message.getBody().get("DiscountObject"));
+ }
+
+ @Test
+ public void processDiscountStateful() throws ObjectMappingException, ConfigurationException, RegistryException, MessageRouterException, ActionProcessingException
+ {
+ Message message = createMessageWithOrder( order );
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBPricingRulesStateful.drl" ).stateful( true ).messagePaths(messagePathList).build();
+ BusinessRulesProcessor processor = new BusinessRulesProcessor( configTree );
+
+ // process message
+ processor.process( message );
+ assertEquals( 20.0, order.getDiscount() );
+ assertEquals( "20%" ,message.getBody().get("DiscountObject"));
+
+ // now dispose after this call
+ message.getProperties().setProperty( RuleServicePropertiesNames.DISPOSE.getTagName(), Boolean.TRUE );
+ message.getProperties().setProperty( RuleServicePropertiesNames.CONTINUE.getTagName(), Boolean.TRUE );
+ processor.process( message );
+
+ // counter is inserted into the working memory by the first rules execution
+ // from the above process call.
+ Counter counter = (Counter) message.getBody().get("Counter");
+ assertEquals( 2 , counter.getCounter() );
+ }
+
+ @Test ( expected = ActionProcessingException.class )
+ public void shouldThrowIfDisposePropertyIsNotSet() throws ObjectMappingException, ConfigurationException, RegistryException, MessageRouterException, ActionProcessingException
+ {
+ Message message = createMessageWithOrder( order );
+ ConfigTree configTree = new CBRConfigTreeBuilder( true ).ruleFile( "JBossESBPricingRulesStateful.drl" ).messagePaths(messagePathList).stateful( true ).build();
+ BusinessRulesProcessor processor = new BusinessRulesProcessor( configTree );
+
+ // process message
+ processor.process( message );
+ assertEquals( 20.0, order.getDiscount() );
+ assertEquals( "20%" ,message.getBody().get("DiscountObject"));
+
+ // We don't set 'dispose' which should cause an exception to be thrown...
+ message.getProperties().setProperty( RuleServicePropertiesNames.CONTINUE.getTagName(), Boolean.TRUE );
+ processor.process( message );
+ }
+
+ public static junit.framework.Test suite()
+ {
+ return new JUnit4TestAdapter(BusinessRulesProcessorUnitTest.class);
+ }
+
+ @Before
+ public void setup()
+ {
+ order = new Order();
+ order.setQuantity(20);
+ order.setUnitPrice( new BigDecimal("20.0") );
+
+ messagePathList = new ArrayList<String>();
+ messagePathList.add("body.Order");
+ messagePathList.add("body.Counter");
+ }
+
+ @BeforeClass
+ public static void setupMockRegistry() throws URISyntaxException
+ {
+ MockRegistry.install();
+ }
+
+ private Message createMessageWithOrder( final Order order )
+ {
+ Message message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+ message.getBody().add("Order", order);
+ return message;
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/CBRConfigTreeBuilder.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/CBRConfigTreeBuilder.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/CBRConfigTreeBuilder.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,126 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.actions;
-
-import java.util.List;
-
-import org.jboss.soa.esb.actions.ContentBasedWiretap;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.listeners.ListenerTagNames;
-import org.jboss.soa.esb.services.rules.RuleServicePropertiesNames;
-
-/**
- * Builder for CBR ConfigTree instances.
- * </p>
- *
- * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
- *
- */
-public class CBRConfigTreeBuilder
-{
- // mandatory
- private boolean reload;
-
- // optional
- private String ruleFile;
- private List<String> messagePathList;
- private boolean stateful;
- private String decisionTable;
- private String ruleAgent;
- private String ruleServiceImpl;
-
-
- public CBRConfigTreeBuilder( final boolean reload )
- {
- this.reload = reload;
- }
-
- public CBRConfigTreeBuilder ruleFile( final String ruleFile )
- {
- this.ruleFile = ruleFile;
- return this;
- }
-
- public CBRConfigTreeBuilder decisionTable( final String decisionTable )
- {
- this.decisionTable = decisionTable;
- return this;
- }
-
- public CBRConfigTreeBuilder ruleAgent( final String ruleAgent )
- {
- this.ruleAgent = ruleAgent;
- return this;
- }
-
- public CBRConfigTreeBuilder messagePaths( List<String> messagePathList )
- {
- this.messagePathList = messagePathList;
- return this;
- }
-
- public CBRConfigTreeBuilder ruleServiceImpl( String ruleServiceImpl )
- {
- this.ruleServiceImpl = ruleServiceImpl;
- return this;
- }
-
- public CBRConfigTreeBuilder stateful( final boolean stateful )
- {
- this.stateful = stateful;
- return this;
- }
-
- public ConfigTree build()
- {
- ConfigTree configTree = new ConfigTree("cbr-config");
-
- configTree.setAttribute( ListenerTagNames.RULE_RELOAD_TAG, Boolean.toString( reload ) );
-
- if ( ruleFile != null )
- configTree.setAttribute( ListenerTagNames.RULE_SET_TAG, ruleFile );
- else if ( decisionTable != null )
- configTree.setAttribute( RuleServicePropertiesNames.DECISION_TABLE.getTagName(), decisionTable );
- else if ( ruleAgent != null )
- configTree.setAttribute( RuleServicePropertiesNames.RULE_AGENT_PROPERTIES.getTagName(), ruleAgent );
- else
- throw new IllegalStateException("One of ruleFile, decisionTable or ruleAgent must be set");
-
-
- if ( messagePathList != null )
- {
- for (String messagePath : messagePathList)
- {
- ConfigTree objectPath = new ConfigTree( ContentBasedWiretap.OBJECT_PATH_TAG, configTree );
- objectPath.setAttribute( ContentBasedWiretap.OBJECT_PATH, messagePath );
- }
- }
-
- if ( stateful )
- configTree.setAttribute( RuleServicePropertiesNames.STATEFUL.getTagName(), Boolean.toString( stateful ) );
-
- if ( ruleServiceImpl != null )
- configTree.setAttribute( RuleServicePropertiesNames.IMPL_CLASS.getTagName(), ruleServiceImpl );
-
- return configTree;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/CBRConfigTreeBuilder.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/CBRConfigTreeBuilder.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/CBRConfigTreeBuilder.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/CBRConfigTreeBuilder.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,126 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.actions;
+
+import java.util.List;
+
+import org.jboss.soa.esb.actions.ContentBasedWiretap;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.services.rules.RuleServicePropertiesNames;
+
+/**
+ * Builder for CBR ConfigTree instances.
+ * </p>
+ *
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
+ *
+ */
+public class CBRConfigTreeBuilder
+{
+ // mandatory
+ private boolean reload;
+
+ // optional
+ private String ruleFile;
+ private List<String> messagePathList;
+ private boolean stateful;
+ private String decisionTable;
+ private String ruleAgent;
+ private String ruleServiceImpl;
+
+
+ public CBRConfigTreeBuilder( final boolean reload )
+ {
+ this.reload = reload;
+ }
+
+ public CBRConfigTreeBuilder ruleFile( final String ruleFile )
+ {
+ this.ruleFile = ruleFile;
+ return this;
+ }
+
+ public CBRConfigTreeBuilder decisionTable( final String decisionTable )
+ {
+ this.decisionTable = decisionTable;
+ return this;
+ }
+
+ public CBRConfigTreeBuilder ruleAgent( final String ruleAgent )
+ {
+ this.ruleAgent = ruleAgent;
+ return this;
+ }
+
+ public CBRConfigTreeBuilder messagePaths( List<String> messagePathList )
+ {
+ this.messagePathList = messagePathList;
+ return this;
+ }
+
+ public CBRConfigTreeBuilder ruleServiceImpl( String ruleServiceImpl )
+ {
+ this.ruleServiceImpl = ruleServiceImpl;
+ return this;
+ }
+
+ public CBRConfigTreeBuilder stateful( final boolean stateful )
+ {
+ this.stateful = stateful;
+ return this;
+ }
+
+ public ConfigTree build()
+ {
+ ConfigTree configTree = new ConfigTree("cbr-config");
+
+ configTree.setAttribute( ListenerTagNames.RULE_RELOAD_TAG, Boolean.toString( reload ) );
+
+ if ( ruleFile != null )
+ configTree.setAttribute( ListenerTagNames.RULE_SET_TAG, ruleFile );
+ else if ( decisionTable != null )
+ configTree.setAttribute( RuleServicePropertiesNames.DECISION_TABLE.getTagName(), decisionTable );
+ else if ( ruleAgent != null )
+ configTree.setAttribute( RuleServicePropertiesNames.RULE_AGENT_PROPERTIES.getTagName(), ruleAgent );
+ else
+ throw new IllegalStateException("One of ruleFile, decisionTable or ruleAgent must be set");
+
+
+ if ( messagePathList != null )
+ {
+ for (String messagePath : messagePathList)
+ {
+ ConfigTree objectPath = new ConfigTree( ContentBasedWiretap.OBJECT_PATH_TAG, configTree );
+ objectPath.setAttribute( ContentBasedWiretap.OBJECT_PATH, messagePath );
+ }
+ }
+
+ if ( stateful )
+ configTree.setAttribute( RuleServicePropertiesNames.STATEFUL.getTagName(), Boolean.toString( stateful ) );
+
+ if ( ruleServiceImpl != null )
+ configTree.setAttribute( RuleServicePropertiesNames.IMPL_CLASS.getTagName(), ruleServiceImpl );
+
+ return configTree;
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,142 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.soa.esb.actions;
-
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import junit.framework.JUnit4TestAdapter;
-
-import org.apache.log4j.Logger;
-import org.jboss.internal.soa.esb.couriers.MockCourier;
-import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
-import org.jboss.internal.soa.esb.services.registry.MockRegistry;
-import org.jboss.soa.esb.actions.ContentBasedRouter;
-import org.jboss.soa.esb.addressing.EPR;
-import org.jboss.soa.esb.client.ServiceInvoker;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.testutils.FileUtil;
-import org.jboss.soa.esb.util.ClassUtil;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test the jBPM command interpreter class
- *
- * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
- */
-
-
-public class ContentBasedRouterUnitTest
-{
- static Logger _logger = Logger.getLogger(ContentBasedRouterUnitTest.class);
- static Message message = null;
-
- private static EPR epr1;
- private static EPR epr2;
- private static EPR epr3;
- private static MockCourier courier1;
- private static MockCourier courier2;
- private static MockCourier courier3;
-
- private static ConfigTree[] actions;
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter(ContentBasedRouterUnitTest.class);
- }
-
-
- @BeforeClass
- public static void before() throws Exception {
- MockCourierFactory.install();
- MockRegistry.install();
-
- epr1 = new EPR(new URI("test1"));
- epr2 = new EPR(new URI("test2"));
- epr3 = new EPR(new URI("DLS"));
- courier1 = new MockCourier(true);
- courier2 = new MockCourier(true);
- courier3 = new MockCourier(true);
-
- MockRegistry.register("test", "java", epr1, courier1);
- MockRegistry.register("test", "xml", epr2, courier2);
- MockRegistry.register(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, ServiceInvoker.DEAD_LETTER_SERVICE_NAME, epr3, courier3);
-
- message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
- message.getBody().add(("Hello CBR"));
-
- InputStream in = ClassUtil.getResourceAsStream("ContentBasedRouterUnitTest.xml", ContentBasedRouterUnitTest.class);
- String xml = FileUtil.readStream(in);
- actions = ConfigTree.fromXml(xml).getChildren("action");
- }
-
- @Test
- public void wrongDestinationName()
- {
- try {
- ContentBasedRouter cbr = new ContentBasedRouter(actions[0]);
- cbr.process(message);
- //the config is wrong so we should error here, and try to send the message to the DLS
- assertTrue(false);
- } catch (Exception e) {
- /* As it can't send the message to the DLS the log should say:
- ERROR [main][ContentBasedWiretap] Destination serialized-destination does not exist your configuration
- ERROR [main][ContentBasedWiretap] No rule destination(s) were matched, [serialized, xml]. Please fix your configuration and/or routing rules.
- */
- assertTrue(true);
- }
- }
-
- @Test
- public void correctDestinationName()
- {
- try {
- ContentBasedRouter cbr = new ContentBasedRouter(actions[1]);
- Message returnMessage = cbr.process(message);
- //the cbr should return a null message
- assertNull(returnMessage);
- } catch (Exception e) {
- assertTrue(false);
- }
- }
-
- @Test
- public void noDestinationMatches()
- {
- try {
- ContentBasedRouter cbr = new ContentBasedRouter(actions[2]);
- cbr.process(message);
- //no destination matches, expecting error, and try to send the message to the DLS
- assertTrue(false);
- } catch (Exception e) {
- assertTrue(true);
- }
- }
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,142 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.soa.esb.actions;
+
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
+import java.net.URI;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.couriers.MockCourier;
+import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
+import org.jboss.internal.soa.esb.services.registry.MockRegistry;
+import org.jboss.soa.esb.actions.ContentBasedRouter;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.util.ClassUtil;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test the jBPM command interpreter class
+ *
+ * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
+ */
+
+
+public class ContentBasedRouterUnitTest
+{
+ static Logger _logger = Logger.getLogger(ContentBasedRouterUnitTest.class);
+ static Message message = null;
+
+ private static EPR epr1;
+ private static EPR epr2;
+ private static EPR epr3;
+ private static MockCourier courier1;
+ private static MockCourier courier2;
+ private static MockCourier courier3;
+
+ private static ConfigTree[] actions;
+
+ public static junit.framework.Test suite()
+ {
+ return new JUnit4TestAdapter(ContentBasedRouterUnitTest.class);
+ }
+
+
+ @BeforeClass
+ public static void before() throws Exception {
+ MockCourierFactory.install();
+ MockRegistry.install();
+
+ epr1 = new EPR(new URI("test1"));
+ epr2 = new EPR(new URI("test2"));
+ epr3 = new EPR(new URI("DLS"));
+ courier1 = new MockCourier(true);
+ courier2 = new MockCourier(true);
+ courier3 = new MockCourier(true);
+
+ MockRegistry.register("test", "java", epr1, courier1);
+ MockRegistry.register("test", "xml", epr2, courier2);
+ MockRegistry.register(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, ServiceInvoker.DEAD_LETTER_SERVICE_NAME, epr3, courier3);
+
+ message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+ message.getBody().add(("Hello CBR"));
+
+ InputStream in = ClassUtil.getResourceAsStream("ContentBasedRouterUnitTest.xml", ContentBasedRouterUnitTest.class);
+ String xml = FileUtil.readStream(in);
+ actions = ConfigTree.fromXml(xml).getChildren("action");
+ }
+
+ @Test
+ public void wrongDestinationName()
+ {
+ try {
+ ContentBasedRouter cbr = new ContentBasedRouter(actions[0]);
+ cbr.process(message);
+ //the config is wrong so we should error here, and try to send the message to the DLS
+ assertTrue(false);
+ } catch (Exception e) {
+ /* As it can't send the message to the DLS the log should say:
+ ERROR [main][ContentBasedWiretap] Destination serialized-destination does not exist your configuration
+ ERROR [main][ContentBasedWiretap] No rule destination(s) were matched, [serialized, xml]. Please fix your configuration and/or routing rules.
+ */
+ assertTrue(true);
+ }
+ }
+
+ @Test
+ public void correctDestinationName()
+ {
+ try {
+ ContentBasedRouter cbr = new ContentBasedRouter(actions[1]);
+ Message returnMessage = cbr.process(message);
+ //the cbr should return a null message
+ assertNull(returnMessage);
+ } catch (Exception e) {
+ assertTrue(false);
+ }
+ }
+
+ @Test
+ public void noDestinationMatches()
+ {
+ try {
+ ContentBasedRouter cbr = new ContentBasedRouter(actions[2]);
+ cbr.process(message);
+ //no destination matches, expecting error, and try to send the message to the DLS
+ assertTrue(false);
+ } catch (Exception e) {
+ assertTrue(true);
+ }
+ }
+}
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,23 +0,0 @@
-<testActions>
- <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="WrongDestinion"
- ruleSet="JBossESBRules.drl"
- >
- <route-to destination-name="serialized" service-category="test" service-name="java" />
- <route-to destination-name="xml" service-category="test" service-name="xml" />
- </action>
-
- <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="Correct"
- ruleSet="JBossESBRules.drl"
- >
- <route-to destination-name="serialized-destination" service-category="test" service-name="java" />
- <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
- </action>
-
- <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="MyType"
- ruleSet="JBossESBRulesNoMatch.drl"
- >
- <route-to destination-name="mytype-destination" service-category="test" service-name="mytype" />
- <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
- </action>
-
-</testActions>
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.xml (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedRouterUnitTest.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,23 @@
+<testActions>
+ <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="WrongDestinion"
+ ruleSet="JBossESBRules.drl"
+ >
+ <route-to destination-name="serialized" service-category="test" service-name="java" />
+ <route-to destination-name="xml" service-category="test" service-name="xml" />
+ </action>
+
+ <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="Correct"
+ ruleSet="JBossESBRules.drl"
+ >
+ <route-to destination-name="serialized-destination" service-category="test" service-name="java" />
+ <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
+ </action>
+
+ <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="MyType"
+ ruleSet="JBossESBRulesNoMatch.drl"
+ >
+ <route-to destination-name="mytype-destination" service-category="test" service-name="mytype" />
+ <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
+ </action>
+
+</testActions>
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,142 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.soa.esb.actions;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import junit.framework.JUnit4TestAdapter;
-
-import org.apache.log4j.Logger;
-import org.jboss.internal.soa.esb.couriers.MockCourier;
-import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
-import org.jboss.internal.soa.esb.services.registry.MockRegistry;
-import org.jboss.soa.esb.actions.ContentBasedWiretap;
-import org.jboss.soa.esb.addressing.EPR;
-import org.jboss.soa.esb.client.ServiceInvoker;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.testutils.FileUtil;
-import org.jboss.soa.esb.util.ClassUtil;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test the jBPM command interpreter class
- *
- * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
- */
-
-
-public class ContentBasedWiretapUnitTest
-{
- static Logger _logger = Logger.getLogger(ContentBasedWiretapUnitTest.class);
- static Message message = null;
-
- private static EPR epr1;
- private static EPR epr2;
- private static EPR epr3;
- private static MockCourier courier1;
- private static MockCourier courier2;
- private static MockCourier courier3;
-
- private static ConfigTree[] actions;
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter(ContentBasedWiretapUnitTest.class);
- }
-
-
- @BeforeClass
- public static void before() throws Exception {
- MockCourierFactory.install();
- MockRegistry.install();
-
- epr1 = new EPR(new URI("test1"));
- epr2 = new EPR(new URI("test2"));
- epr3 = new EPR(new URI("DLS"));
- courier1 = new MockCourier(true);
- courier2 = new MockCourier(true);
- courier3 = new MockCourier(true);
-
- MockRegistry.register("test", "java", epr1, courier1);
- MockRegistry.register("test", "xml", epr2, courier2);
- MockRegistry.register(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, ServiceInvoker.DEAD_LETTER_SERVICE_NAME, epr3, courier3);
-
- message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
- message.getBody().add(("Hello CBR"));
-
- InputStream in = ClassUtil.getResourceAsStream("ContentBasedWiretapUnitTest.xml", ContentBasedWiretapUnitTest.class);
- String xml = FileUtil.readStream(in);
- actions = ConfigTree.fromXml(xml).getChildren("action");
- }
-
- @Test
- public void wrongDestinationName()
- {
- try {
- ContentBasedWiretap cbr = new ContentBasedWiretap(actions[0]);
- cbr.process(message);
- //the config is wrong so we should error here, no message to the DLS
- assertTrue(false);
- } catch (Exception e) {
- /* As it can't send the message to the DLS the log should say:
- ERROR [main][ContentBasedWiretap] Destination serialized-destination does not exist your configuration
- ERROR [main][ContentBasedWiretap] No rule destination(s) were matched, [serialized, xml]. Please fix your configuration and/or routing rules.
- */
- assertTrue(true);
- }
- }
-
- @Test
- public void correctDestinationName()
- {
- try {
- ContentBasedWiretap cbr = new ContentBasedWiretap(actions[1]);
- Message returnMessage = cbr.process(message);
- //the cbr should return a null message
- assertNotNull(returnMessage);
- } catch (Exception e) {
- assertTrue(false);
- }
- }
-
- @Test
- public void noDestinationMatches()
- {
- try {
- ContentBasedWiretap cbr = new ContentBasedWiretap(actions[2]);
- cbr.process(message);
- //no destination matches, expecting error, and try to send the message to the DLS
- assertTrue(false);
- } catch (Exception e) {
- assertTrue(true);
- }
- }
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,142 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.soa.esb.actions;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
+import java.net.URI;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.couriers.MockCourier;
+import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
+import org.jboss.internal.soa.esb.services.registry.MockRegistry;
+import org.jboss.soa.esb.actions.ContentBasedWiretap;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.util.ClassUtil;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test the jBPM command interpreter class
+ *
+ * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
+ */
+
+
+public class ContentBasedWiretapUnitTest
+{
+ static Logger _logger = Logger.getLogger(ContentBasedWiretapUnitTest.class);
+ static Message message = null;
+
+ private static EPR epr1;
+ private static EPR epr2;
+ private static EPR epr3;
+ private static MockCourier courier1;
+ private static MockCourier courier2;
+ private static MockCourier courier3;
+
+ private static ConfigTree[] actions;
+
+ public static junit.framework.Test suite()
+ {
+ return new JUnit4TestAdapter(ContentBasedWiretapUnitTest.class);
+ }
+
+
+ @BeforeClass
+ public static void before() throws Exception {
+ MockCourierFactory.install();
+ MockRegistry.install();
+
+ epr1 = new EPR(new URI("test1"));
+ epr2 = new EPR(new URI("test2"));
+ epr3 = new EPR(new URI("DLS"));
+ courier1 = new MockCourier(true);
+ courier2 = new MockCourier(true);
+ courier3 = new MockCourier(true);
+
+ MockRegistry.register("test", "java", epr1, courier1);
+ MockRegistry.register("test", "xml", epr2, courier2);
+ MockRegistry.register(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, ServiceInvoker.DEAD_LETTER_SERVICE_NAME, epr3, courier3);
+
+ message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+ message.getBody().add(("Hello CBR"));
+
+ InputStream in = ClassUtil.getResourceAsStream("ContentBasedWiretapUnitTest.xml", ContentBasedWiretapUnitTest.class);
+ String xml = FileUtil.readStream(in);
+ actions = ConfigTree.fromXml(xml).getChildren("action");
+ }
+
+ @Test
+ public void wrongDestinationName()
+ {
+ try {
+ ContentBasedWiretap cbr = new ContentBasedWiretap(actions[0]);
+ cbr.process(message);
+ //the config is wrong so we should error here, no message to the DLS
+ assertTrue(false);
+ } catch (Exception e) {
+ /* As it can't send the message to the DLS the log should say:
+ ERROR [main][ContentBasedWiretap] Destination serialized-destination does not exist your configuration
+ ERROR [main][ContentBasedWiretap] No rule destination(s) were matched, [serialized, xml]. Please fix your configuration and/or routing rules.
+ */
+ assertTrue(true);
+ }
+ }
+
+ @Test
+ public void correctDestinationName()
+ {
+ try {
+ ContentBasedWiretap cbr = new ContentBasedWiretap(actions[1]);
+ Message returnMessage = cbr.process(message);
+ //the cbr should return a null message
+ assertNotNull(returnMessage);
+ } catch (Exception e) {
+ assertTrue(false);
+ }
+ }
+
+ @Test
+ public void noDestinationMatches()
+ {
+ try {
+ ContentBasedWiretap cbr = new ContentBasedWiretap(actions[2]);
+ cbr.process(message);
+ //no destination matches, expecting error, and try to send the message to the DLS
+ assertTrue(false);
+ } catch (Exception e) {
+ assertTrue(true);
+ }
+ }
+}
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,23 +0,0 @@
-<testActions>
- <action class="org.jboss.soa.esb.actions.ContentBasedWiretap" name="WrongDestinion"
- ruleSet="JBossESBRules.drl"
- >
- <route-to destination-name="serialized" service-category="test" service-name="java" />
- <route-to destination-name="xml" service-category="test" service-name="xml" />
- </action>
-
- <action class="org.jboss.soa.esb.actions.ContentBasedWiretap" name="Correct"
- ruleSet="JBossESBRules.drl"
- >
- <route-to destination-name="serialized-destination" service-category="test" service-name="java" />
- <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
- </action>
-
- <action class="org.jboss.soa.esb.actions.ContentBasedWiretap" name="MyType"
- ruleSet="JBossESBRulesNoMatch.drl"
- >
- <route-to destination-name="mytype-destination" service-category="test" service-name="mytype" />
- <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
- </action>
-
-</testActions>
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.xml (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/ContentBasedWiretapUnitTest.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,23 @@
+<testActions>
+ <action class="org.jboss.soa.esb.actions.ContentBasedWiretap" name="WrongDestinion"
+ ruleSet="JBossESBRules.drl"
+ >
+ <route-to destination-name="serialized" service-category="test" service-name="java" />
+ <route-to destination-name="xml" service-category="test" service-name="xml" />
+ </action>
+
+ <action class="org.jboss.soa.esb.actions.ContentBasedWiretap" name="Correct"
+ ruleSet="JBossESBRules.drl"
+ >
+ <route-to destination-name="serialized-destination" service-category="test" service-name="java" />
+ <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
+ </action>
+
+ <action class="org.jboss.soa.esb.actions.ContentBasedWiretap" name="MyType"
+ ruleSet="JBossESBRulesNoMatch.drl"
+ >
+ <route-to destination-name="mytype-destination" service-category="test" service-name="mytype" />
+ <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
+ </action>
+
+</testActions>
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/Counter.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/Counter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/Counter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,25 +0,0 @@
-package org.jboss.soa.esb.actions;
-
-import java.io.Serializable;
-
-public class Counter implements Serializable
-{
- private static final long serialVersionUID = 1L;
-
- int counter;
-
- public Counter() {}
- public Counter(int counter) { this.counter = counter; }
-
- public int getCounter()
- {
- return counter;
- }
- public void setCounter( int counter )
- {
- this.counter = counter;
- }
-
-
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/Counter.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/Counter.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/Counter.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/Counter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,25 @@
+package org.jboss.soa.esb.actions;
+
+import java.io.Serializable;
+
+public class Counter implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ int counter;
+
+ public Counter() {}
+ public Counter(int counter) { this.counter = counter; }
+
+ public int getCounter()
+ {
+ return counter;
+ }
+ public void setCounter( int counter )
+ {
+ this.counter = counter;
+ }
+
+
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,142 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-package org.jboss.soa.esb.actions;
-
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import junit.framework.JUnit4TestAdapter;
-
-import org.apache.log4j.Logger;
-import org.jboss.internal.soa.esb.couriers.MockCourier;
-import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
-import org.jboss.internal.soa.esb.services.registry.MockRegistry;
-import org.jboss.soa.esb.actions.MessageFilter;
-import org.jboss.soa.esb.addressing.EPR;
-import org.jboss.soa.esb.client.ServiceInvoker;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.message.format.MessageType;
-import org.jboss.soa.esb.testutils.FileUtil;
-import org.jboss.soa.esb.util.ClassUtil;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Test the jBPM command interpreter class
- *
- * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
- */
-
-
-public class MessageFilterUnitTest
-{
- static Logger _logger = Logger.getLogger(MessageFilterUnitTest.class);
- static Message message = null;
-
- private static EPR epr1;
- private static EPR epr2;
- private static EPR epr3;
- private static MockCourier courier1;
- private static MockCourier courier2;
- private static MockCourier courier3;
-
- private static ConfigTree[] actions;
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter(MessageFilterUnitTest.class);
- }
-
-
- @BeforeClass
- public static void before() throws Exception {
- MockCourierFactory.install();
- MockRegistry.install();
-
- epr1 = new EPR(new URI("test1"));
- epr2 = new EPR(new URI("test2"));
- epr3 = new EPR(new URI("DLS"));
- courier1 = new MockCourier(true);
- courier2 = new MockCourier(true);
- courier3 = new MockCourier(true);
-
- MockRegistry.register("test", "java", epr1, courier1);
- MockRegistry.register("test", "xml", epr2, courier2);
- MockRegistry.register(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, ServiceInvoker.DEAD_LETTER_SERVICE_NAME, epr3, courier3);
-
- message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
- message.getBody().add(("Hello CBR"));
-
- InputStream in = ClassUtil.getResourceAsStream("ContentBasedRouterUnitTest.xml", MessageFilterUnitTest.class);
- String xml = FileUtil.readStream(in);
- actions = ConfigTree.fromXml(xml).getChildren("action");
- }
-
- @Test
- public void wrongDestinationName()
- {
- try {
- MessageFilter cbr = new MessageFilter(actions[0]);
- cbr.process(message);
- //the config is wrong so we should error here, and try to send the message to the DLS
- assertTrue(false);
- } catch (Exception e) {
- /* As it can't send the message to the DLS the log should say:
- ERROR [main][ContentBasedWiretap] Destination serialized-destination does not exist your configuration
- ERROR [main][ContentBasedWiretap] No rule destination(s) were matched, [serialized, xml]. Please fix your configuration and/or routing rules.
- */
- assertTrue(true);
- }
- }
-
- @Test
- public void correctDestinationName()
- {
- try {
- MessageFilter cbr = new MessageFilter(actions[1]);
- Message returnMessage = cbr.process(message);
- //the cbr should return a null message
- assertNull(returnMessage);
- } catch (Exception e) {
- assertTrue(false);
- }
- }
-
- @Test
- public void noDestinationMatches()
- {
- try {
- MessageFilter cbr = new MessageFilter(actions[2]);
- Message returnMessage = cbr.process(message);
- //the cbr should return a null message, message should be filtered with no errors.
- assertNull(returnMessage);
- } catch (Exception e) {
- assertTrue(false);
- }
- }
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,142 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.soa.esb.actions;
+
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
+import java.net.URI;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.couriers.MockCourier;
+import org.jboss.internal.soa.esb.couriers.MockCourierFactory;
+import org.jboss.internal.soa.esb.services.registry.MockRegistry;
+import org.jboss.soa.esb.actions.MessageFilter;
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.esb.testutils.FileUtil;
+import org.jboss.soa.esb.util.ClassUtil;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test the jBPM command interpreter class
+ *
+ * @author <a href="mailto:kurt.stam at jboss.com">Kurt Stam</a>
+ */
+
+
+public class MessageFilterUnitTest
+{
+ static Logger _logger = Logger.getLogger(MessageFilterUnitTest.class);
+ static Message message = null;
+
+ private static EPR epr1;
+ private static EPR epr2;
+ private static EPR epr3;
+ private static MockCourier courier1;
+ private static MockCourier courier2;
+ private static MockCourier courier3;
+
+ private static ConfigTree[] actions;
+
+ public static junit.framework.Test suite()
+ {
+ return new JUnit4TestAdapter(MessageFilterUnitTest.class);
+ }
+
+
+ @BeforeClass
+ public static void before() throws Exception {
+ MockCourierFactory.install();
+ MockRegistry.install();
+
+ epr1 = new EPR(new URI("test1"));
+ epr2 = new EPR(new URI("test2"));
+ epr3 = new EPR(new URI("DLS"));
+ courier1 = new MockCourier(true);
+ courier2 = new MockCourier(true);
+ courier3 = new MockCourier(true);
+
+ MockRegistry.register("test", "java", epr1, courier1);
+ MockRegistry.register("test", "xml", epr2, courier2);
+ MockRegistry.register(ServiceInvoker.INTERNAL_SERVICE_CATEGORY, ServiceInvoker.DEAD_LETTER_SERVICE_NAME, epr3, courier3);
+
+ message = MessageFactory.getInstance().getMessage(MessageType.JAVA_SERIALIZED);
+ message.getBody().add(("Hello CBR"));
+
+ InputStream in = ClassUtil.getResourceAsStream("ContentBasedRouterUnitTest.xml", MessageFilterUnitTest.class);
+ String xml = FileUtil.readStream(in);
+ actions = ConfigTree.fromXml(xml).getChildren("action");
+ }
+
+ @Test
+ public void wrongDestinationName()
+ {
+ try {
+ MessageFilter cbr = new MessageFilter(actions[0]);
+ cbr.process(message);
+ //the config is wrong so we should error here, and try to send the message to the DLS
+ assertTrue(false);
+ } catch (Exception e) {
+ /* As it can't send the message to the DLS the log should say:
+ ERROR [main][ContentBasedWiretap] Destination serialized-destination does not exist your configuration
+ ERROR [main][ContentBasedWiretap] No rule destination(s) were matched, [serialized, xml]. Please fix your configuration and/or routing rules.
+ */
+ assertTrue(true);
+ }
+ }
+
+ @Test
+ public void correctDestinationName()
+ {
+ try {
+ MessageFilter cbr = new MessageFilter(actions[1]);
+ Message returnMessage = cbr.process(message);
+ //the cbr should return a null message
+ assertNull(returnMessage);
+ } catch (Exception e) {
+ assertTrue(false);
+ }
+ }
+
+ @Test
+ public void noDestinationMatches()
+ {
+ try {
+ MessageFilter cbr = new MessageFilter(actions[2]);
+ Message returnMessage = cbr.process(message);
+ //the cbr should return a null message, message should be filtered with no errors.
+ assertNull(returnMessage);
+ } catch (Exception e) {
+ assertTrue(false);
+ }
+ }
+}
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,23 +0,0 @@
-<testActions>
- <action class="org.jboss.soa.esb.actions.MessageFilter" name="WrongDestinion"
- ruleSet="JBossESBRules.drl"
- >
- <route-to destination-name="serialized" service-category="test" service-name="java" />
- <route-to destination-name="xml" service-category="test" service-name="xml" />
- </action>
-
- <action class="org.jboss.soa.esb.actions.MessageFilter" name="Correct"
- ruleSet="JBossESBRules.drl"
- >
- <route-to destination-name="serialized-destination" service-category="test" service-name="java" />
- <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
- </action>
-
- <action class="org.jboss.soa.esb.actions.MessageFilter" name="MyType"
- ruleSet="JBossESBRulesNoMatch.drl"
- >
- <route-to destination-name="mytype-destination" service-category="test" service-name="mytype" />
- <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
- </action>
-
-</testActions>
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.xml (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/java/org/jboss/soa/esb/actions/MessageFilterUnitTest.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,23 @@
+<testActions>
+ <action class="org.jboss.soa.esb.actions.MessageFilter" name="WrongDestinion"
+ ruleSet="JBossESBRules.drl"
+ >
+ <route-to destination-name="serialized" service-category="test" service-name="java" />
+ <route-to destination-name="xml" service-category="test" service-name="xml" />
+ </action>
+
+ <action class="org.jboss.soa.esb.actions.MessageFilter" name="Correct"
+ ruleSet="JBossESBRules.drl"
+ >
+ <route-to destination-name="serialized-destination" service-category="test" service-name="java" />
+ <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
+ </action>
+
+ <action class="org.jboss.soa.esb.actions.MessageFilter" name="MyType"
+ ruleSet="JBossESBRulesNoMatch.drl"
+ >
+ <route-to destination-name="mytype-destination" service-category="test" service-name="mytype" />
+ <route-to destination-name="xml-destination" service-category="test" service-name="xml" />
+ </action>
+
+</testActions>
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/5KBNS_message.xml (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/resources/5KBNS_message.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/5KBNS_message.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/5KBNS_message.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Order xmlns="http://org.jboss.soa.esb/order"
+ orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+ <Customer xmlns="http://org.jboss.soa.esb/customer" userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+ <OrderLines>
+ <OrderLine position="1" quantity="1">
+ <prod:Product xmlns:prod="http://org.jboss.soa.esb/product" productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="2">
+ <prod2:Product xmlns:prod2="http://org.jboss.soa.esb/product" productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ </OrderLines>
+</Order>
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/5KB_message.xml (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/resources/5KB_message.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/5KB_message.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/5KB_message.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006" statusCode="0" netAmount="59.97" totalAmount="64.92" tax="4.95">
+ <Customer userName="user1" firstName="Harry" lastName="Fletcher" state="SD"/>
+ <OrderLines>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin " price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction" price="29.99"/>
+ </OrderLine>
+ </OrderLines>
+</Order>
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/JBossESBPricingRulesStateful.drl (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/resources/JBossESBPricingRulesStateful.drl)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/JBossESBPricingRulesStateful.drl (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/JBossESBPricingRulesStateful.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,46 @@
+package com.jboss.soa.esb.routing.cbr
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.internal.soa.esb.services.routing.cbr.Order;
+import org.jboss.soa.esb.actions.Counter;
+
+global Message message;
+
+rule "Pricing Rule - low quantity"
+
+ when
+ m : Message ()
+ order : Order( quantity < 10)
+ then
+ #System.out.println("low volume");
+ order.setDiscount(0);
+ m.getBody().add("DiscountObject","0%");
+end
+
+rule "Prioriting Rule - high quantity"
+ when
+ m : Message ()
+ order : Order( quantity >= 10)
+ Order( discount == 0 )
+ not Counter()
+ then
+ System.out.println("high volume");
+ order.setDiscount( 20 );
+ insert( new Counter(1) );
+ m.getBody().add("DiscountObject","20%");
+end
+
+rule "Continue Rule - high quantity"
+ no-loop
+ when
+ $counter : Counter()
+ m : Message ()
+ then
+ System.out.println("Continue high quantity. Int value == " + $counter.getCounter());
+ Integer inc = $counter.getCounter();
+ inc++;
+ $counter.setCounter( inc );
+ m.getBody().add( "Counter", $counter );
+ System.out.println("Continue high quantity. Inc value == " + $counter.getCounter());
+end
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/JBossESBRules.drl
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/JBossESBRules.drl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/JBossESBRules.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -7,6 +7,7 @@
#declare any global variables here
global java.util.List destinations;
+global Message message;
rule "Routing Rule - Serialized based message"
@@ -14,7 +15,7 @@
when
Message( type == MessageType.JAVA_SERIALIZED)
then
- System.out.println("Serialized");
+ System.out.println("Message Type : Serialized");
destinations.add("serialized-destination");
end
@@ -24,6 +25,6 @@
when
Message( type == MessageType.JBOSS_XML)
then
- System.out.println("JBoss_XML");
+ System.out.println("MessageType : JBoss_XML");
destinations.add("xml-destination");
end
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.drl (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/resources/RuleBaseHelper.drl)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.drl (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,29 @@
+#created on: Oct 30, 2006
+package org.jboss.internal.soa.esb.rules
+
+#list any import classes here.
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageType;
+
+#declare any global variables here
+global java.util.List destinations;
+
+
+rule "Routing Rule - Serialized based message"
+
+ when
+ Message( type == MessageType.JAVA_SERIALIZED)
+ then
+ System.out.println("Serialized");
+ destinations.add("serialized-destination");
+
+end
+
+rule "Routing Rule - XML based message"
+
+ when
+ Message( type == MessageType.JBOSS_XML)
+ then
+ System.out.println("JBoss_XML");
+ destinations.add("xml-destination");
+end
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.properties (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/resources/RuleBaseHelper.properties)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.properties (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.properties 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,8 @@
+##
+## RuleAgent configuration file example
+##
+
+newInstance=true
+file=src/test/resources/testrules.pkg
+poll=30
+name=MyConfig
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RuleBaseHelper.xls (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/resources/RuleBaseHelper.xls)
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RulesWithDsl.drl (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/resources/RulesWithDsl.drl)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RulesWithDsl.drl (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RulesWithDsl.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,816 @@
+package com.jboss.soa.esb.routing.cbr
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageType;
+import javax.xml.xpath.XPathExpression;
+
+expander XPathLanguage.dsl
+
+global java.util.List destinations;
+
+rule "ProductId1"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "1"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId2"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "2"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId3"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "3"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId4"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "4"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId5"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "5"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId6"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "6"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId7"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "7"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId8"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "8"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId9"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "9"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId10"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "10"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId11"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "11"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId12"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "12"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId13"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "13"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId14"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "14"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId15"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "15"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId16"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "16"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId17"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "17"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId18"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "18"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId19"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "19"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId20"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "20"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId21"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "21"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId22"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "22"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId23"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "23"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId24"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "24"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId25"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "25"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId26"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "26"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId27"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "27"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId28"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "28"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId29"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "29"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId30"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "30"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId31"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "31"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId32"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "32"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId33"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "33"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId34"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "34"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId35"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "35"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId36"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "36"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId37"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "37"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId38"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "38"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId39"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "39"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId40"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "40"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId41"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "41"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId42"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "42"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId43"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "43"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId44"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "44"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId45"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "45"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId46"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "46"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId47"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "47"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId48"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "48"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId49"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "49"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId50"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "50"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId51"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "51"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId52"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "52"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId53"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "53"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId54"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "54"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId55"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "55"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId56"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "56"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId57"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "57"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId58"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "58"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId59"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "59"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId60"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "60"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId61"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "61"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId62"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "62"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId63"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "63"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId64"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "64"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId65"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "65"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId66"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "66"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId67"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "67"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId68"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "68"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId69"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "69"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId70"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "70"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId71"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "71"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId72"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "72"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId73"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "73"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId74"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "74"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId75"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "75"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId76"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "76"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId77"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "77"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId78"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "78"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId79"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "79"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId80"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "80"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId81"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "81"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId82"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "82"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId83"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "83"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId84"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "84"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId85"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "85"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId86"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "86"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId87"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "87"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId88"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "88"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId89"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "89"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId90"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "90"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId91"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "91"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId92"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "92"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId93"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "93"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId94"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "94"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId95"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "95"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId96"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "96"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId97"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "97"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId98"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "98"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId99"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "99"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId299"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "299"
+ then
+ Destination : "regular0";
+end
+
+rule "Default rule"
+ salience 1
+ when
+ then
+ Destination : "regular0";
+end
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RulesWithDslNS.drl (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/resources/RulesWithDslNS.drl)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RulesWithDslNS.drl (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/RulesWithDslNS.drl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,809 @@
+package com.jboss.soa.esb.routing.cbr
+
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageType;
+import javax.xml.xpath.XPathExpression;
+
+expander XPathLanguage.dsl
+
+global java.util.List destinations;
+
+rule "ProductId1"
+ salience 99
+ when
+ xpathMatch expr "/order:Order/order:OrderLines/order:OrderLine/prod:Product/@productId" use namespaces "order=http://org.jboss.soa.esb/order,prod=http://org.jboss.soa.esb/product"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId2"
+ salience 99
+ when
+ xpathEquals expr "/order:Order/order:OrderLines/order:OrderLine/prod:Product/@productId", "364" use namespaces "order=http://org.jboss.soa.esb/order,prod=http://org.jboss.soa.esb/product"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId3"
+ salience 99
+ when
+ xpathGreaterThan expr "/o:Order/o:OrderLines/o:OrderLine/p:Product/@productId", "200" use namespaces "o=http://org.jboss.soa.esb/order,p=http://org.jboss.soa.esb/product"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId4"
+ salience 99
+ when
+ xpathLessThan expr "/o:Order/o:OrderLines/o:OrderLine/p:Product/@productId", "200" use namespaces "o=http://org.jboss.soa.esb/order,p=http://org.jboss.soa.esb/product"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId5"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "5"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId6"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "6"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId7"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "7"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId8"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "8"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId9"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "9"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId10"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "10"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId11"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "11"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId12"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "12"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId13"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "13"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId14"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "14"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId15"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "15"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId16"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "16"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId17"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "17"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId18"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "18"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId19"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "19"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId20"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "20"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId21"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "21"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId22"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "22"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId23"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "23"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId24"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "24"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId25"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "25"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId26"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "26"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId27"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "27"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId28"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "28"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId29"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "29"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId30"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "30"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId31"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "31"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId32"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "32"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId33"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "33"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId34"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "34"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId35"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "35"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId36"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "36"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId37"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "37"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId38"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "38"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId39"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "39"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId40"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "40"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId41"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "41"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId42"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "42"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId43"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "43"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId44"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "44"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId45"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "45"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId46"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "46"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId47"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "47"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId48"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "48"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId49"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "49"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId50"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "50"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId51"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "51"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId52"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "52"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId53"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "53"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId54"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "54"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId55"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "55"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId56"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "56"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId57"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "57"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId58"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "58"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId59"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "59"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId60"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "60"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId61"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "61"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId62"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "62"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId63"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "63"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId64"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "64"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId65"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "65"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId66"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "66"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId67"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "67"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId68"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "68"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId69"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "69"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId70"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "70"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId71"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "71"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId72"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "72"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId73"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "73"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId74"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "74"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId75"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "75"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId76"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "76"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId77"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "77"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId78"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "78"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId79"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "79"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId80"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "80"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId81"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "81"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId82"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "82"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId83"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "83"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId84"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "84"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId85"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "85"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId86"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "86"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId87"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "87"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId88"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "88"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId89"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "89"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId90"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "90"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId91"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "91"
+ then
+ Destination : "regular1";
+end
+
+rule "ProductId92"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "92"
+ then
+ Destination : "regular2";
+end
+
+rule "ProductId93"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "93"
+ then
+ Destination : "regular3";
+end
+
+rule "ProductId94"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "94"
+ then
+ Destination : "regular4";
+end
+
+rule "ProductId95"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "95"
+ then
+ Destination : "regular5";
+end
+
+rule "ProductId96"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "96"
+ then
+ Destination : "regular6";
+end
+
+rule "ProductId97"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "97"
+ then
+ Destination : "regular7";
+end
+
+rule "ProductId98"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "98"
+ then
+ Destination : "regular8";
+end
+
+rule "ProductId99"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "99"
+ then
+ Destination : "regular9";
+end
+
+rule "ProductId299"
+ salience 100
+ when
+ xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "299"
+ then
+ Destination : "regular0";
+end
Modified: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/log4j.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,18 +43,32 @@
<category name="org.jboss">
<priority value="WARN"/>
</category>
- <category name="org.jboss.soa.esb">
+ <category name="org.jboss.soa.esb.actions">
<priority value="ERROR"/>
</category>
+
+ <category name="org.jboss.internal.soa.esb.services.routing.cbr">
+ <priority value="info"/>
+ </category>
+
<category name="org.jboss.internal.soa.esb">
<priority value="ERROR"/>
</category>
+ <category name="org.jboss.internal.soa.esb.services.rules">
+ <priority value="ERROR"/>
+ </category>
<category name="org.apache">
<priority value="ERROR"/>
</category>
<category name="org.jboss.soa.esb.services.jbpm">
<priority value="DEBUG"/>
</category>
+
+ <category name="com.jboss.soa.esb.routing.cbr">
+ <priority value="DEBUG"/>
+ </category>
+
+
<!-- ======================= -->
<!-- Setup the Root category -->
<!-- ======================= -->
Copied: labs/jbossesb/workspace/maeste/product/services/jbrules/src/test/resources/testrules.pkg (from rev 21158, labs/jbossesb/trunk/product/services/jbrules/src/test/resources/testrules.pkg)
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/services/slsb/src/main/java/org/jboss/soa/esb/actions/EJBProcessor.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/slsb/src/main/java/org/jboss/soa/esb/actions/EJBProcessor.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/slsb/src/main/java/org/jboss/soa/esb/actions/EJBProcessor.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,6 +43,7 @@
import org.apache.log4j.Logger;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.actions.AbstractActionLifecycle;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
import org.jboss.soa.esb.actions.ActionProcessingException;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
@@ -77,7 +78,10 @@
private Map<Integer, Argument> ejbParams;
private List<String> ejbParamTypeNames;
-
+
+ private EJBHome ejbHome;
+ private EJBObject ejbObject;
+
public EJBProcessor(ConfigTree config)
{
configTree = config;
@@ -86,6 +90,45 @@
public Message process (Message msg) throws ActionProcessingException,
ConfigurationException
{
+ try
+ {
+ // Assemble parameter array
+ Object[] param = new Object[ejbParams.size()];
+ for (int i = 0; i < ejbParams.size(); i++)
+ {
+ // get the parameter from the esb message and
+ // cast it to the in the jboss-esb.xml specified type
+ param[i] = Class.forName(ejbParams.get(i).getType()).cast(
+ msg.getBody().get(ejbParams.get(i).getLoc()));
+ }
+
+ msg.getBody().add(
+ ejbRef.get(OUT_VAR),
+ this.invoke(ejbHome.getEJBMetaData().getRemoteInterfaceClass(), ejbObject, ejbRef.get(EJB_METHOD),
+ param));
+ log.debug("###########################################");
+ log.debug(msg);
+ log.debug("###########################################");
+
+ }
+ catch (Exception e)
+ {
+ throw new ActionProcessingException(
+ "Got an error while processing EJB " + ejbRef.get(EJB_NAME),
+ new Throwable(e.getCause()));
+ }
+
+ return msg;
+ }
+
+ public void initialise () throws ActionLifecycleException
+ {
+ /*
+ * Only do the lookup once. We can do this because
+ * all of this data is statically defined and not
+ * modified by the incoming Message during process execution.
+ */
+
ejbRef = new HashMap<String, String>();
ejbParams = new HashMap<Integer, Argument>();
ejbParamTypeNames = new ArrayList<String>();
@@ -96,6 +139,7 @@
ejbRef.put(EJB_METHOD, configTree.getAttribute(EJB_METHOD));
ejbRef.put(INICTXFACTORY, configTree.getAttribute(INICTXFACTORY));
ejbRef.put(PROVIDERURL, configTree.getAttribute(PROVIDERURL));
+
if (configTree.getAttribute(OUT_VAR) != null)
{
ejbRef.put(OUT_VAR, configTree.getAttribute(OUT_VAR));
@@ -127,7 +171,7 @@
{
if (conf == null)
{
- throw new ConfigurationException(
+ throw new ActionLifecycleException(
"Error configuring EJBProcessor");
}
}
@@ -144,55 +188,33 @@
InitialContext iniCtx = new InitialContext(props);
// Lookup and narrow
- EJBHome home = (EJBHome) PortableRemoteObject.narrow(
+ ejbHome = (EJBHome) PortableRemoteObject.narrow(
(EJBHome) iniCtx.lookup(ejbRef.get(JNDI_NAME)),
EJBHome.class);
// Get the EJB metadata
- EJBMetaData metaData = home.getEJBMetaData();
+ EJBMetaData metaData = ejbHome.getEJBMetaData();
Class homeClass = metaData.getHomeInterfaceClass();
- Class remoteClass = metaData.getRemoteInterfaceClass();
// convert handle to real home type
- home = (EJBHome) javax.rmi.PortableRemoteObject.narrow(home,
+ ejbHome = (EJBHome) javax.rmi.PortableRemoteObject.narrow(ejbHome,
homeClass);
if (!(metaData.isSession() && metaData.isStatelessSession()))
{
- throw new ActionProcessingException("Only SLSBs are supported!");
+ throw new ActionLifecycleException("Only SLSBs are supported!");
}
- EJBObject theRemote = (EJBObject) this.create(homeClass, home);
-
- // Assemble parameter array
- Object[] param = new Object[ejbParams.size()];
- for (int i = 0; i < ejbParams.size(); i++)
- {
- // get the parameter from the esb message and
- // cast it to the in the jboss-esb.xml specified type
- param[i] = Class.forName(ejbParams.get(i).getType()).cast(
- msg.getBody().get(ejbParams.get(i).getLoc()));
- }
-
- msg.getBody().add(
- ejbRef.get(OUT_VAR),
- this.invoke(remoteClass, theRemote, ejbRef.get(EJB_METHOD),
- param));
- log.debug("###########################################");
- log.debug(msg);
- log.debug("###########################################");
-
+ ejbObject = (EJBObject) this.create(homeClass, ejbHome);
}
catch (Exception e)
{
- throw new ActionProcessingException(
+ throw new ActionLifecycleException(
"Got an error while processing EJB " + ejbRef.get(EJB_NAME),
new Throwable(e.getCause()));
}
-
- return msg;
}
-
+
private static Object create (Class c, Object obj) throws Exception
{
Object ret = null;
@@ -225,7 +247,7 @@
return r;
}
-
+
// Helper inner class for method arguments and where to find it in the esb
// message
class Argument
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-commons-1.0.jar
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-edisax-0.3.jar
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-edisax-model-0.3.jar
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-magger-0.1.3.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-core-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-core-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-core-1.0.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-css-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-css-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-css-1.0.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-csv-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-csv-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-csv-1.0.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-edi-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-edi-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-edi-1.0.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-javabean-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-javabean-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-javabean-1.0.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-misc-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-misc-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-misc-1.0.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-routing-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-routing-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-routing-1.0.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-scripting-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-scripting-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-scripting-1.0.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-servlet-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-servlet-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-servlet-1.0.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-templating-1.0.1.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/milyn-smooks-templating-1.0.1.jar)
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-smooks-templating-1.0.jar
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/milyn-tinak-0.8.1.jar
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/mvel-1.2.24-java1.5.jar
===================================================================
(Binary files differ)
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/lib/ext/mvel-1.3.3-java1.5.jar (from rev 21158, labs/jbossesb/trunk/product/services/smooks/lib/ext/mvel-1.3.3-java1.5.jar)
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/converters/SmooksInstanceManager.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/converters/SmooksInstanceManager.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/converters/SmooksInstanceManager.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -84,6 +84,12 @@
try {
Smooks instance = new Smooks(configurationSourceURI);
addBaseConfigs(instance);
+
+ // We need to disable the resource config store's shutdown hook
+ // because the ESB container lifecycle handles this through
+ // calling the destroy method...
+ instance.getApplicationContext().getStore().removeShutdownHook();
+
return instance;
} catch (SAXException e) {
throw new SmooksException("Invalid Smooks resource config '" + configurationSourceURI + "'.", e);
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/converters/SmooksTransformer.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/converters/SmooksTransformer.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/converters/SmooksTransformer.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -19,14 +19,6 @@
*/
package org.jboss.soa.esb.actions.converters;
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
import org.apache.log4j.Logger;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.actions.ActionLifecycleException;
@@ -50,6 +42,9 @@
import org.milyn.profile.ProfileStore;
import org.milyn.profile.UnknownProfileMemberException;
+import java.io.ByteArrayInputStream;
+import java.util.*;
+
/**
* Smooks Transformer.
* <p/>
@@ -122,6 +117,7 @@
*
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
* @since Version 4.0
+ * @deprecated Use {@link org.jboss.soa.esb.smooks.SmooksAction}.
*/
public class SmooksTransformer implements TransformationService, ActionPipelineProcessor {
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/smooks/SmooksAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/smooks/SmooksAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/actions/smooks/SmooksAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -43,211 +43,15 @@
/**
* Smooks pipeline processor action.
* <p/>
- * Usage:
- * <pre>
- * <action name="transform" class="org.jboss.soa.esb.actions.smooks.SmooksAction">
- * <property name="smooksConfig" value="smooks-config.xml" />
- * </action>
+ * <b>MOVED to {@link org.jboss.soa.esb.smooks}</b>
*
- * Optional properties:
- * <property name="get-payload-location" value="input" />
- * <property name="set-payload-location" value="ouput" />
- * <property name="excludeNonSerializables" value="false" />
- * <property name="resultType" value="STRING" />
- * <property name="reportPath" value="/tmp/smooks-report.html" />
- * </pre>
- *
- * Description of configuration properties:
- * <ul>
- * <li><i>smooksConfig</i> - the Smooks configuration file. Can be a path on the file system or on the classpath.
- * <li><i>get-payload-location</i> - the body location which contains the object to be transformed.
- * <li><i>set-payload-location</i> - the body location where the transformed object will be placed.
- * <li><i>excludeNonSerializables</i> - if true, non serializable attributes from the Smooks ExecutionContext will no be included. Default is true.
- * <li><i>resultType</i> - type of result expected from Smooks ("STRING", "BYTES", "JAVA", "NORESULT"). Default is "STRING".
- * <li><i>javaResultBeanId</i> - specifies the Smooks bean context beanId to be mapped as the result when the resultType is "JAVA". If not specified,
- * the whole bean context bean Map is mapped as the result.
- * <li><i>reportPath</i> - specifies the path and file name for generating a Smooks Execution Report. This is a development tool.
- * </ul>
- * After Smooks has performed the filtering the process method will make the attributes that have been set in the
- * the ExecutionContext available for other actions in the ESB.
- * <p/>
- * The attributes (Map) can be accessed by using the {@link #EXECUTION_CONTEXT_ATTR_MAP_KEY} key like this:
- * <pre>
- * message.getBody().get( EXECUTION_CONTEXT_ATTR_MAP_KEY );
- * </pre>
- *
- * <h3>Specifying the Source and Result Types</h3>
- * From the ESB Message data type, this action is able to automatically determine the type of
- * {@link javax.xml.transform.Source} to use (via the Smooks {@link PayloadProcessor}). The
- * {@link javax.xml.transform.Result} type to be used can be specified via the "resultType"
- * property, as outlined above.
- * <p/>
- * It is expected that the above mechanism will be satisfactory for most usecase, but not all.
- * For the other usecases, this action supports {@link org.milyn.container.plugin.SourceResult}
- * payloads on the ESB Message. This allows you to manually specify other Source and Result
- * types, which is of particular interest with respect to the Result type e.g. for streaming
- * the Result to a file etc.
- *
* @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
* @author <a href="mailto:daniel.bevenius at gmail.com">daniel.bevenius at gmail.com</a>
+ * @deprecated This class has been moved to {@link org.jboss.soa.esb.smooks}.
*/
-public class SmooksAction extends AbstractActionPipelineProcessor
+public class SmooksAction extends org.jboss.soa.esb.smooks.SmooksAction
{
- public static final String EXECUTION_CONTEXT_ATTR_MAP_KEY = "SmooksExecutionContext";
-
- private Smooks smooks;
-
- private PayloadProcessor payloadProcessor;
-
- private MessagePayloadProxy payloadProxy;
-
- private boolean excludeNonSerializables;
-
- private String reportPath;
-
- // public
-
- public SmooksAction( final ConfigTree configTree ) throws ConfigurationException
- {
- final String smooksConfig = configTree.getRequiredAttribute("smooksConfig");
- try
- {
- smooks = new Smooks(smooksConfig);
- }
- catch (Exception e)
- {
- throw new ConfigurationException("Failed to create Smooks instance for config '" + smooksConfig + "'.", e);
- }
-
- // Create the Smooks PayloadProcessor...
- String resultTypeConfig = configTree.getAttribute("resultType", "STRING");
- ResultType resultType;
- try {
- resultType = ResultType.valueOf(resultTypeConfig);
- } catch(IllegalArgumentException e) {
- throw new ConfigurationException("Invalid 'resultType' config value '" + resultTypeConfig + "'. Valid values are: " + Arrays.asList(ResultType.values()));
- }
- payloadProcessor = new PayloadProcessor( smooks, resultType );
- if(resultType == ResultType.JAVA) {
- String javaResultBeanId = configTree.getAttribute("javaResultBeanId");
- if(javaResultBeanId != null) {
- payloadProcessor.setJavaResultBeanId(javaResultBeanId);
- }
- }
-
- payloadProxy = new MessagePayloadProxy( configTree );
- excludeNonSerializables = Boolean.valueOf( configTree.getAttribute( "excludeNonSerializables", "true" ) );
-
- reportPath = configTree.getAttribute("reportPath");
+ public SmooksAction( final ConfigTree configTree ) throws ConfigurationException {
+ super(configTree);
}
-
- /**
- * Executes the actual Smooks tranformation.
- *
- * @param message The ESB Message object
- *
- * @return The ESB Message object with the output of the transformation.
- *
- */
- public Message process( final Message message) throws ActionProcessingException
- {
- // Create Smooks ExecutionContext.
- final ExecutionContext executionContext = createExecutionContext( smooks );
-
- if(reportPath != null) {
- try {
- executionContext.setEventListener(new HtmlReportGenerator(reportPath));
- } catch (IOException e) {
- throw new ActionProcessingException("Failed to create HtmlReportGenerator instance.", e);
- }
- }
-
- // Use the Smooks PayloadProcessor to execute the transformation....
- final Object newPayload = payloadProcessor.process( extractPayload( message), executionContext );
-
- // Set the ExecutionContext's attributes on the message instance so other actions can access them.
- message.getBody().add( EXECUTION_CONTEXT_ATTR_MAP_KEY, getSerializableObjectsMap( executionContext.getAttributes() ) );
-
- return packagePayload( newPayload, message );
- }
-
- @Override
- public void destroy() throws ActionLifecycleException
- {
- smooks.close();
- super.destroy();
- }
-
- // protected
-
- /*
- * Hook for subclasses to control how the execution context is created.
- * Might be useful for Actions that use profiles for example.
- */
- protected ExecutionContext createExecutionContext( final Smooks smooks )
- {
- return smooks.createExecutionContext();
- }
-
- /*
- * Hook for subclasses to extract the message payload in
- * any way they see fit.
- */
- protected Object extractPayload(final Message message ) throws ActionProcessingException
- {
- try
- {
- return payloadProxy.getPayload( message );
- }
- catch (MessageDeliverException e)
- {
- throw new ActionProcessingException("MessgeDeliveryException while trying to retrieve the message payload:", e);
- }
- }
-
- /*
- * Hook for subclasses so they can control what and where the payload
- * is added to the ESB Message object.
- */
- protected Message packagePayload( final Object payload, Message message ) throws ActionProcessingException
- {
- try
- {
- payloadProxy.setPayload( message, payload );
- return message;
- }
- catch (MessageDeliverException e)
- {
- throw new ActionProcessingException("MessgeDeliveryException while trying to retrieve the message payload:", e);
-
- }
- }
-
- /**
- * Will return a Map containing only the Serializable objects
- * that exist in the passed-in Map if {@link #excludeNonSerializables} is true.
- *
- * @param smooksAttribuesMap - Map containing attributes from the Smooks ExecutionContext
- * @return Map - Map containing only the Serializable objects from the passed-in map.
- */
- @SuppressWarnings( "unchecked" )
- protected Map getSerializableObjectsMap( final Map smooksAttribuesMap )
- {
- if ( !excludeNonSerializables )
- return smooksAttribuesMap;
-
- Map smooksExecutionContextMap = new HashMap();
-
- Set<Map.Entry> s = smooksAttribuesMap.entrySet();
- for (Map.Entry me : s)
- {
- Object value = me.getValue();
- if( value instanceof Serializable )
- {
- smooksExecutionContextMap.put( me.getKey(), value );
- }
- }
- return smooksExecutionContextMap;
- }
-
}
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/FragmentRouter.java
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/FragmentRouter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/FragmentRouter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,124 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.smooks;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.client.ServiceInvoker;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
-import org.jboss.soa.esb.message.Body;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.MessagePayloadProxy;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.milyn.SmooksException;
-import org.milyn.event.report.annotation.VisitBeforeReport;
-import org.milyn.event.report.annotation.VisitAfterReport;
-import org.milyn.cdr.annotation.ConfigParam;
-import org.milyn.container.ExecutionContext;
-import org.milyn.delivery.annotation.Initialize;
-import org.milyn.delivery.annotation.VisitAfterIf;
-import org.milyn.delivery.annotation.VisitBeforeIf;
-import org.milyn.delivery.dom.DOMElementVisitor;
-import org.milyn.delivery.sax.SAXElement;
-import org.milyn.delivery.sax.SAXVisitAfter;
-import org.milyn.delivery.sax.SAXVisitBefore;
-import org.milyn.javabean.BeanAccessor;
-import org.w3c.dom.Element;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-/**
- * ESB Message Fragment Router.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
- at VisitBeforeIf( condition = "parameters.containsKey('routeBefore') && parameters.routeBefore.value == 'true'")
- at VisitAfterIf( condition = "!parameters.containsKey('routeBefore') || parameters.routeBefore.value != 'true'")
- at VisitBeforeReport(summary = "Routing contents of beanId '${resource.parameters.beanId}' to Service '${resource.parameters.serviceCategory}:${resource.parameters.serviceName}'")
- at VisitAfterReport(summary = "Routing contents of beanId '${resource.parameters.beanId}' to Service '${resource.parameters.serviceCategory}:${resource.parameters.serviceName}'")
-public class FragmentRouter implements DOMElementVisitor, SAXVisitBefore, SAXVisitAfter {
-
- private static Logger logger = Logger.getLogger(FragmentRouter.class);
-
- @ConfigParam
- private String beanId;
-
- @ConfigParam
- private String serviceCategory;
-
- @ConfigParam
- private String serviceName;
-
- private ServiceInvoker serviceInvoker;
-
- @ConfigParam(name = MessagePayloadProxy.SET_PAYLOAD_LOCATION, defaultVal = Body.DEFAULT_LOCATION)
- private String setPayloadLocation;
-
- @Initialize
- public void intitialize() throws MessageDeliverException {
- serviceInvoker = new ServiceInvoker(serviceCategory, serviceName);
- }
-
- public void visitBefore(SAXElement element, ExecutionContext executionContext) throws SmooksException, IOException {
- route(executionContext);
- }
-
- public void visitAfter(SAXElement element, ExecutionContext executionContext) throws SmooksException, IOException {
- route(executionContext);
- }
-
- public void visitBefore(Element element, ExecutionContext executionContext) throws SmooksException {
- route(executionContext);
- }
-
- public void visitAfter(Element element, ExecutionContext executionContext) throws SmooksException {
- route(executionContext);
- }
-
- private void route(ExecutionContext executionContext) {
- Object object = BeanAccessor.getBean(executionContext, beanId);
-
- if(object == null) {
- // Try the exec context...
- object = executionContext.getAttribute(beanId);
- }
-
- if(object != null) {
- Message message = MessageFactory.getInstance().getMessage();
-
- if(!(object instanceof Serializable)) {
- logger.warn("Request to route non Serializable Object. beanId: '" + beanId + "'. Type: " + object.getClass().getName());
- }
-
- message.getBody().add(setPayloadLocation, object);
-
- // TODO: Add aggregation stuff...
- // Might be better to add something generic ala setting properties based on templates
-
- try {
- serviceInvoker.deliverAsync(message);
- } catch (MessageDeliverException e) {
- logger.error("Failed to route Object. beanId: '" + beanId + "'. Type: " + object.getClass().getName(), e);
- }
- } else {
- logger.info("Request to route unknown Object. beanId: '" + beanId + "'.");
- }
- }
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/FragmentRouter.java (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/FragmentRouter.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/FragmentRouter.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/FragmentRouter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,124 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.smooks;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.MessagePayloadProxy;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.milyn.SmooksException;
+import org.milyn.event.report.annotation.VisitBeforeReport;
+import org.milyn.event.report.annotation.VisitAfterReport;
+import org.milyn.cdr.annotation.ConfigParam;
+import org.milyn.container.ExecutionContext;
+import org.milyn.delivery.annotation.Initialize;
+import org.milyn.delivery.annotation.VisitAfterIf;
+import org.milyn.delivery.annotation.VisitBeforeIf;
+import org.milyn.delivery.dom.DOMElementVisitor;
+import org.milyn.delivery.sax.SAXElement;
+import org.milyn.delivery.sax.SAXVisitAfter;
+import org.milyn.delivery.sax.SAXVisitBefore;
+import org.milyn.javabean.BeanAccessor;
+import org.w3c.dom.Element;
+
+import java.io.IOException;
+import java.io.Serializable;
+
+/**
+ * ESB Message Fragment Router.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+ at VisitBeforeIf( condition = "parameters.containsKey('routeBefore') && parameters.routeBefore.value == 'true'")
+ at VisitAfterIf( condition = "!parameters.containsKey('routeBefore') || parameters.routeBefore.value != 'true'")
+ at VisitBeforeReport(summary = "Routing contents of beanId '${resource.parameters.beanId}' to Service '${resource.parameters.serviceCategory}:${resource.parameters.serviceName}'")
+ at VisitAfterReport(summary = "Routing contents of beanId '${resource.parameters.beanId}' to Service '${resource.parameters.serviceCategory}:${resource.parameters.serviceName}'")
+public class FragmentRouter implements DOMElementVisitor, SAXVisitBefore, SAXVisitAfter {
+
+ private static Logger logger = Logger.getLogger(FragmentRouter.class);
+
+ @ConfigParam
+ private String beanId;
+
+ @ConfigParam
+ private String serviceCategory;
+
+ @ConfigParam
+ private String serviceName;
+
+ private ServiceInvoker serviceInvoker;
+
+ @ConfigParam(name = MessagePayloadProxy.SET_PAYLOAD_LOCATION, defaultVal = Body.DEFAULT_LOCATION)
+ private String setPayloadLocation;
+
+ @Initialize
+ public void intitialize() throws MessageDeliverException {
+ serviceInvoker = new ServiceInvoker(serviceCategory, serviceName);
+ }
+
+ public void visitBefore(SAXElement element, ExecutionContext executionContext) throws SmooksException, IOException {
+ route(executionContext);
+ }
+
+ public void visitAfter(SAXElement element, ExecutionContext executionContext) throws SmooksException, IOException {
+ route(executionContext);
+ }
+
+ public void visitBefore(Element element, ExecutionContext executionContext) throws SmooksException {
+ route(executionContext);
+ }
+
+ public void visitAfter(Element element, ExecutionContext executionContext) throws SmooksException {
+ route(executionContext);
+ }
+
+ private void route(ExecutionContext executionContext) {
+ Object object = BeanAccessor.getBean(executionContext, beanId);
+
+ if(object == null) {
+ // Try the exec context...
+ object = executionContext.getAttribute(beanId);
+ }
+
+ if(object != null) {
+ Message message = MessageFactory.getInstance().getMessage();
+
+ if(!(object instanceof Serializable)) {
+ logger.warn("Request to route non Serializable Object. beanId: '" + beanId + "'. Type: " + object.getClass().getName());
+ }
+
+ message.getBody().add(setPayloadLocation, object);
+
+ // TODO: Add aggregation stuff...
+ // Might be better to add something generic ala setting properties based on templates
+
+ try {
+ serviceInvoker.deliverAsync(message);
+ } catch (MessageDeliverException e) {
+ logger.error("Failed to route Object. beanId: '" + beanId + "'. Type: " + object.getClass().getName(), e);
+ }
+ } else {
+ logger.info("Request to route unknown Object. beanId: '" + beanId + "'.");
+ }
+ }
+}
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/SmooksAction.java
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/SmooksAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/SmooksAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,252 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.smooks;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
-import org.jboss.soa.esb.actions.ActionLifecycleException;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.MessagePayloadProxy;
-import org.jboss.soa.esb.message.Properties;
-import org.milyn.Smooks;
-import org.milyn.profile.Profile;
-import org.milyn.container.ExecutionContext;
-import org.milyn.container.plugin.PayloadProcessor;
-import org.milyn.container.plugin.ResultType;
-import org.milyn.event.report.HtmlReportGenerator;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * <a href="http://milyn.codehaus.org/Smooks">Smooks</a> action pipeline processor.
- * <p/>
- * Usage:
- * <pre>
- * <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
- * <property name="smooksConfig" value="smooks-config.xml" />
- * </action>
- * </pre>
- *
- * <u>Optional properties:</u>
- * <pre>
- * <property name="get-payload-location" value="input" />
- * <property name="set-payload-location" value="ouput" />
- * <property name="excludeNonSerializables" value="false" />
- * <property name="resultType" value="STRING" />
- * <property name="reportPath" value="/tmp/smooks-report.html" />
- * <property name="messageProfile" value="fromServiceA" />
- * </pre>
- *
- * Description of configuration properties:
- * <ul>
- * <li><i>smooksConfig</i> - the Smooks configuration file. Can be a path on the file system or on the classpath.
- * <li><i>get-payload-location</i> - the body location which contains the object to be transformed. See {@link MessagePayloadProxy}.
- * <li><i>set-payload-location</i> - the body location where the transformed object will be placed. See {@link MessagePayloadProxy}.
- * <li><i>excludeNonSerializables</i> - if true, non serializable attributes from the Smooks ExecutionContext will no be included. Default is true.
- * <li><i>resultType</i> - type of result expected from Smooks ("STRING", "BYTES", "JAVA", "NORESULT"). Default is "STRING". For more
- * on specifying and controlling the Smooks filtering result, see <a href="#specify-result">Specifying the Source and Result Types</a>.
- * <li><i>javaResultBeanId</i> - specifies the Smooks bean context beanId to be mapped as the result when the resultType is "JAVA". If not specified,
- * the whole bean context bean Map is mapped as the result.
- * <li><i>reportPath</i> - specifies the path and file name for generating a Smooks Execution Report. This is a development tool.
- * <li><i>messageProfile</i> - specifies the default message "profile" name to be used in {@link Smooks#createExecutionContext(String) creation of the Smooks ExecutionContext}.
- * See <a href="#profiling">Message Profiling</a>.
- * </ul>
- *
- * <h3>Exposing the Smooks {@link ExecutionContext} to other ESB Actions</h3>
- * After Smooks has performed the filtering operation on the message payload, it maps the contents of the
- * {@link ExecutionContext} onto a Map on the the ESB message, making it available to other actions in the ESB.
- * This Map can be accessed by using the {@link #EXECUTION_CONTEXT_ATTR_MAP_KEY} key as follows:
- * <pre>
- * message.getBody().get( SmooksAction.EXECUTION_CONTEXT_ATTR_MAP_KEY );
- * </pre>
- *
- * <h3 id="specify-result">Specifying the Source and Result Types</h3>
- * From the ESB Message data type, this action is able to automatically determine the type of
- * {@link javax.xml.transform.Source} to use (via the Smooks {@link org.milyn.container.plugin.PayloadProcessor}). The
- * {@link javax.xml.transform.Result} type to be used can be specified via the "resultType"
- * property, as outlined above.
- * <p/>
- * It is expected that the above mechanism will be satisfactory for most usecase, but not all.
- * For the other usecases, this action supports {@link org.milyn.container.plugin.SourceResult}
- * payloads on the ESB Message. This allows you to manually specify other Source and Result
- * types, which is of particular interest with respect to the Result type e.g. for streaming
- * the Result to a file etc.
- *
- * <h3 id="profiling">Message Profiling</h3>
- * Smooks Profiling allows you to use a single Smooks instance to transform multiple
- * source messages. As an example, imagine a situation where messages of different formats
- * are delivered to a Service. Before consuming the messages, the Service needs to transform
- * these message payloads to a common format. To accomplish this, you can use profiling.
- * <p/>
- * The action can have the default profile name configured through the "messageProfile"
- * property. Each incoming ESB message can specify it's profile name through the
- * message property of the same name ("messageProfile"). For more on profiling, see
- * the <a href="http://milyn.codehaus.org/Smooks+Example+-+profiling">profiling example</a>.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- * @author <a href="mailto:daniel.bevenius at gmail.com">daniel.bevenius at gmail.com</a>
- */
-public class SmooksAction extends AbstractActionPipelineProcessor
-{
- public static final String EXECUTION_CONTEXT_ATTR_MAP_KEY = "SmooksExecutionContext";
-
- private Smooks smooks;
-
- private String defaultMessageProfile;
-
- private PayloadProcessor payloadProcessor;
-
- private MessagePayloadProxy payloadProxy;
-
- private boolean excludeNonSerializables;
-
- private String reportPath;
-
- // public
-
- public SmooksAction( final ConfigTree configTree ) throws ConfigurationException
- {
- final String smooksConfig = configTree.getRequiredAttribute("smooksConfig");
- try
- {
- smooks = new Smooks(smooksConfig);
- // We need to disable the resource config store's shutdown hook
- // because the ESB container lifecycle handles this through
- // calling the destroy method...
- smooks.getApplicationContext().getStore().removeShutdownHook();
- }
- catch (Exception e)
- {
- throw new ConfigurationException("Failed to create Smooks instance for config '" + smooksConfig + "'.", e);
- }
-
- // Get the default profile from the config...
- defaultMessageProfile = configTree.getAttribute(Properties.MESSAGE_PROFILE, Profile.DEFAULT_PROFILE);
-
- // Create the Smooks PayloadProcessor...
- String resultTypeConfig = configTree.getAttribute("resultType", "STRING");
- ResultType resultType;
- try {
- resultType = ResultType.valueOf(resultTypeConfig);
- } catch(IllegalArgumentException e) {
- throw new ConfigurationException("Invalid 'resultType' config value '" + resultTypeConfig + "'. Valid values are: " + Arrays.asList(ResultType.values()));
- }
- payloadProcessor = new PayloadProcessor( smooks, resultType );
- if(resultType == ResultType.JAVA) {
- String javaResultBeanId = configTree.getAttribute("javaResultBeanId");
- if(javaResultBeanId != null) {
- payloadProcessor.setJavaResultBeanId(javaResultBeanId);
- }
- }
-
- payloadProxy = new MessagePayloadProxy( configTree );
- excludeNonSerializables = Boolean.valueOf( configTree.getAttribute( "excludeNonSerializables", "true" ) );
-
- reportPath = configTree.getAttribute("reportPath");
- }
-
- /**
- * Executes the actual Smooks tranformation.
- *
- * @param message The ESB Message object
- *
- * @return The ESB Message object with the output of the transformation.
- *
- */
- public Message process( final Message message) throws ActionProcessingException
- {
- // Create Smooks ExecutionContext.
- final String messageProfofile = (String) message.getProperties().getProperty(Properties.MESSAGE_PROFILE, defaultMessageProfile);
- final ExecutionContext executionContext = smooks.createExecutionContext(messageProfofile);
-
- if(reportPath != null) {
- try {
- executionContext.setEventListener(new HtmlReportGenerator(reportPath));
- } catch (IOException e) {
- throw new ActionProcessingException("Failed to create HtmlReportGenerator instance.", e);
- }
- }
-
- // Use the Smooks PayloadProcessor to execute the transformation....
- final Object payload;
- try {
- payload = payloadProxy.getPayload(message);
- } catch (MessageDeliverException e) {
- throw new ActionProcessingException("MessgeDeliveryException while trying to retrieve the message payload:", e);
- }
- final Object newPayload = payloadProcessor.process( payload, executionContext );
-
- // Set the ExecutionContext's attributes on the message instance so other actions can access them.
- message.getBody().add( EXECUTION_CONTEXT_ATTR_MAP_KEY, getSerializableObjectsMap( executionContext.getAttributes() ) );
-
- try {
- payloadProxy.setPayload( message, newPayload );
- } catch (MessageDeliverException e) {
- throw new ActionProcessingException("MessgeDeliveryException while trying to retrieve the message payload:", e);
- }
-
- return message;
- }
-
- @Override
- public void destroy() throws ActionLifecycleException
- {
- smooks.close();
- super.destroy();
- }
-
- // protected
-
- /**
- * Will return a Map containing only the Serializable objects
- * that exist in the passed-in Map if {@link #excludeNonSerializables} is true.
- *
- * @param smooksAttribuesMap - Map containing attributes from the Smooks ExecutionContext
- * @return Map - Map containing only the Serializable objects from the passed-in map.
- */
- @SuppressWarnings( "unchecked" )
- protected Map getSerializableObjectsMap( final Map smooksAttribuesMap )
- {
- if ( !excludeNonSerializables )
- return smooksAttribuesMap;
-
- Map smooksExecutionContextMap = new HashMap();
-
- Set<Map.Entry> s = smooksAttribuesMap.entrySet();
- for (Map.Entry me : s)
- {
- Object value = me.getValue();
- if( value instanceof Serializable )
- {
- smooksExecutionContextMap.put( me.getKey(), value );
- }
- }
- return smooksExecutionContextMap;
- }
-
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/SmooksAction.java (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/SmooksAction.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/SmooksAction.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/SmooksAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,252 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.smooks;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.MessagePayloadProxy;
+import org.jboss.soa.esb.message.Properties;
+import org.milyn.Smooks;
+import org.milyn.profile.Profile;
+import org.milyn.container.ExecutionContext;
+import org.milyn.container.plugin.PayloadProcessor;
+import org.milyn.container.plugin.ResultType;
+import org.milyn.event.report.HtmlReportGenerator;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * <a href="http://milyn.codehaus.org/Smooks">Smooks</a> action pipeline processor.
+ * <p/>
+ * Usage:
+ * <pre>
+ * <action name="transform" class="org.jboss.soa.esb.smooks.SmooksAction">
+ * <property name="smooksConfig" value="smooks-config.xml" />
+ * </action>
+ * </pre>
+ *
+ * <u>Optional properties:</u>
+ * <pre>
+ * <property name="get-payload-location" value="input" />
+ * <property name="set-payload-location" value="ouput" />
+ * <property name="excludeNonSerializables" value="false" />
+ * <property name="resultType" value="STRING" />
+ * <property name="reportPath" value="/tmp/smooks-report.html" />
+ * <property name="messageProfile" value="fromServiceA" />
+ * </pre>
+ *
+ * Description of configuration properties:
+ * <ul>
+ * <li><i>smooksConfig</i> - the Smooks configuration file. Can be a path on the file system or on the classpath.
+ * <li><i>get-payload-location</i> - the body location which contains the object to be transformed. See {@link MessagePayloadProxy}.
+ * <li><i>set-payload-location</i> - the body location where the transformed object will be placed. See {@link MessagePayloadProxy}.
+ * <li><i>excludeNonSerializables</i> - if true, non serializable attributes from the Smooks ExecutionContext will no be included. Default is true.
+ * <li><i>resultType</i> - type of result expected from Smooks ("STRING", "BYTES", "JAVA", "NORESULT"). Default is "STRING". For more
+ * on specifying and controlling the Smooks filtering result, see <a href="#specify-result">Specifying the Source and Result Types</a>.
+ * <li><i>javaResultBeanId</i> - specifies the Smooks bean context beanId to be mapped as the result when the resultType is "JAVA". If not specified,
+ * the whole bean context bean Map is mapped as the result.
+ * <li><i>reportPath</i> - specifies the path and file name for generating a Smooks Execution Report. This is a development tool.
+ * <li><i>messageProfile</i> - specifies the default message "profile" name to be used in {@link Smooks#createExecutionContext(String) creation of the Smooks ExecutionContext}.
+ * See <a href="#profiling">Message Profiling</a>.
+ * </ul>
+ *
+ * <h3>Exposing the Smooks {@link ExecutionContext} to other ESB Actions</h3>
+ * After Smooks has performed the filtering operation on the message payload, it maps the contents of the
+ * {@link ExecutionContext} onto a Map on the the ESB message, making it available to other actions in the ESB.
+ * This Map can be accessed by using the {@link #EXECUTION_CONTEXT_ATTR_MAP_KEY} key as follows:
+ * <pre>
+ * message.getBody().get( SmooksAction.EXECUTION_CONTEXT_ATTR_MAP_KEY );
+ * </pre>
+ *
+ * <h3 id="specify-result">Specifying the Source and Result Types</h3>
+ * From the ESB Message data type, this action is able to automatically determine the type of
+ * {@link javax.xml.transform.Source} to use (via the Smooks {@link org.milyn.container.plugin.PayloadProcessor}). The
+ * {@link javax.xml.transform.Result} type to be used can be specified via the "resultType"
+ * property, as outlined above.
+ * <p/>
+ * It is expected that the above mechanism will be satisfactory for most usecase, but not all.
+ * For the other usecases, this action supports {@link org.milyn.container.plugin.SourceResult}
+ * payloads on the ESB Message. This allows you to manually specify other Source and Result
+ * types, which is of particular interest with respect to the Result type e.g. for streaming
+ * the Result to a file etc.
+ *
+ * <h3 id="profiling">Message Profiling</h3>
+ * Smooks Profiling allows you to use a single Smooks instance to transform multiple
+ * source messages. As an example, imagine a situation where messages of different formats
+ * are delivered to a Service. Before consuming the messages, the Service needs to transform
+ * these message payloads to a common format. To accomplish this, you can use profiling.
+ * <p/>
+ * The action can have the default profile name configured through the "messageProfile"
+ * property. Each incoming ESB message can specify it's profile name through the
+ * message property of the same name ("messageProfile"). For more on profiling, see
+ * the <a href="http://milyn.codehaus.org/Smooks+Example+-+profiling">profiling example</a>.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ * @author <a href="mailto:daniel.bevenius at gmail.com">daniel.bevenius at gmail.com</a>
+ */
+public class SmooksAction extends AbstractActionPipelineProcessor
+{
+ public static final String EXECUTION_CONTEXT_ATTR_MAP_KEY = "SmooksExecutionContext";
+
+ private Smooks smooks;
+
+ private String defaultMessageProfile;
+
+ private PayloadProcessor payloadProcessor;
+
+ private MessagePayloadProxy payloadProxy;
+
+ private boolean excludeNonSerializables;
+
+ private String reportPath;
+
+ // public
+
+ public SmooksAction( final ConfigTree configTree ) throws ConfigurationException
+ {
+ final String smooksConfig = configTree.getRequiredAttribute("smooksConfig");
+ try
+ {
+ smooks = new Smooks(smooksConfig);
+ // We need to disable the resource config store's shutdown hook
+ // because the ESB container lifecycle handles this through
+ // calling the destroy method...
+ smooks.getApplicationContext().getStore().removeShutdownHook();
+ }
+ catch (Exception e)
+ {
+ throw new ConfigurationException("Failed to create Smooks instance for config '" + smooksConfig + "'.", e);
+ }
+
+ // Get the default profile from the config...
+ defaultMessageProfile = configTree.getAttribute(Properties.MESSAGE_PROFILE, Profile.DEFAULT_PROFILE);
+
+ // Create the Smooks PayloadProcessor...
+ String resultTypeConfig = configTree.getAttribute("resultType", "STRING");
+ ResultType resultType;
+ try {
+ resultType = ResultType.valueOf(resultTypeConfig);
+ } catch(IllegalArgumentException e) {
+ throw new ConfigurationException("Invalid 'resultType' config value '" + resultTypeConfig + "'. Valid values are: " + Arrays.asList(ResultType.values()));
+ }
+ payloadProcessor = new PayloadProcessor( smooks, resultType );
+ if(resultType == ResultType.JAVA) {
+ String javaResultBeanId = configTree.getAttribute("javaResultBeanId");
+ if(javaResultBeanId != null) {
+ payloadProcessor.setJavaResultBeanId(javaResultBeanId);
+ }
+ }
+
+ payloadProxy = new MessagePayloadProxy( configTree );
+ excludeNonSerializables = Boolean.valueOf( configTree.getAttribute( "excludeNonSerializables", "true" ) );
+
+ reportPath = configTree.getAttribute("reportPath");
+ }
+
+ /**
+ * Executes the actual Smooks tranformation.
+ *
+ * @param message The ESB Message object
+ *
+ * @return The ESB Message object with the output of the transformation.
+ *
+ */
+ public Message process( final Message message) throws ActionProcessingException
+ {
+ // Create Smooks ExecutionContext.
+ final String messageProfofile = (String) message.getProperties().getProperty(Properties.MESSAGE_PROFILE, defaultMessageProfile);
+ final ExecutionContext executionContext = smooks.createExecutionContext(messageProfofile);
+
+ if(reportPath != null) {
+ try {
+ executionContext.setEventListener(new HtmlReportGenerator(reportPath));
+ } catch (IOException e) {
+ throw new ActionProcessingException("Failed to create HtmlReportGenerator instance.", e);
+ }
+ }
+
+ // Use the Smooks PayloadProcessor to execute the transformation....
+ final Object payload;
+ try {
+ payload = payloadProxy.getPayload(message);
+ } catch (MessageDeliverException e) {
+ throw new ActionProcessingException("MessgeDeliveryException while trying to retrieve the message payload:", e);
+ }
+ final Object newPayload = payloadProcessor.process( payload, executionContext );
+
+ // Set the ExecutionContext's attributes on the message instance so other actions can access them.
+ message.getBody().add( EXECUTION_CONTEXT_ATTR_MAP_KEY, getSerializableObjectsMap( executionContext.getAttributes() ) );
+
+ try {
+ payloadProxy.setPayload( message, newPayload );
+ } catch (MessageDeliverException e) {
+ throw new ActionProcessingException("MessgeDeliveryException while trying to retrieve the message payload:", e);
+ }
+
+ return message;
+ }
+
+ @Override
+ public void destroy() throws ActionLifecycleException
+ {
+ smooks.close();
+ super.destroy();
+ }
+
+ // protected
+
+ /**
+ * Will return a Map containing only the Serializable objects
+ * that exist in the passed-in Map if {@link #excludeNonSerializables} is true.
+ *
+ * @param smooksAttribuesMap - Map containing attributes from the Smooks ExecutionContext
+ * @return Map - Map containing only the Serializable objects from the passed-in map.
+ */
+ @SuppressWarnings( "unchecked" )
+ protected Map getSerializableObjectsMap( final Map smooksAttribuesMap )
+ {
+ if ( !excludeNonSerializables )
+ return smooksAttribuesMap;
+
+ Map smooksExecutionContextMap = new HashMap();
+
+ Set<Map.Entry> s = smooksAttribuesMap.entrySet();
+ for (Map.Entry me : s)
+ {
+ Object value = me.getValue();
+ if( value instanceof Serializable )
+ {
+ smooksExecutionContextMap.put( me.getKey(), value );
+ }
+ }
+ return smooksExecutionContextMap;
+ }
+
+}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/AbstractStreamSplitter.java
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/AbstractStreamSplitter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/AbstractStreamSplitter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.smooks.splitting;
-
-import org.jboss.soa.esb.Configurable;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.milyn.Smooks;
-import org.milyn.event.report.HtmlReportGenerator;
-import org.milyn.container.ExecutionContext;
-
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-/**
- * Abstract stream splitter.
- * <p/>
- * Uses Smooks to perform the message splitting.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public abstract class AbstractStreamSplitter implements Configurable {
-
- private Smooks smooks;
- private String encoding;
- private String reportPath;
-
- public void setConfiguration(ConfigTree config) throws ConfigurationException {
- String splitterConfig = config.getRequiredAttribute("splitterConfig");
-
- encoding = config.getAttribute("encoding", "UTF-8");
- reportPath = config.getAttribute("reportPath");
- try {
- smooks = new Smooks(splitterConfig);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public void split(InputStream dataStream) throws IOException {
- Source streamSource = new StreamSource(new InputStreamReader(dataStream, encoding));
-
- if(reportPath != null) {
- ExecutionContext execContext = smooks.createExecutionContext();
-
- execContext.setEventListener(new HtmlReportGenerator(reportPath));
- smooks.filter(streamSource, null, execContext);
- } else {
- smooks.filter(streamSource, null);
- }
- }
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/AbstractStreamSplitter.java (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/AbstractStreamSplitter.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/AbstractStreamSplitter.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/AbstractStreamSplitter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.smooks.splitting;
+
+import org.jboss.soa.esb.Configurable;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.milyn.Smooks;
+import org.milyn.event.report.HtmlReportGenerator;
+import org.milyn.container.ExecutionContext;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+/**
+ * Abstract stream splitter.
+ * <p/>
+ * Uses Smooks to perform the message splitting.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class AbstractStreamSplitter implements Configurable {
+
+ private Smooks smooks;
+ private String encoding;
+ private String reportPath;
+
+ public void setConfiguration(ConfigTree config) throws ConfigurationException {
+ String splitterConfig = config.getRequiredAttribute("splitterConfig");
+
+ encoding = config.getAttribute("encoding", "UTF-8");
+ reportPath = config.getAttribute("reportPath");
+ try {
+ smooks = new Smooks(splitterConfig);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void split(InputStream dataStream) throws IOException {
+ Source streamSource = new StreamSource(new InputStreamReader(dataStream, encoding));
+
+ if(reportPath != null) {
+ ExecutionContext execContext = smooks.createExecutionContext();
+
+ execContext.setEventListener(new HtmlReportGenerator(reportPath));
+ smooks.filter(streamSource, null, execContext);
+ } else {
+ smooks.filter(streamSource, null);
+ }
+ }
+}
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/FileStreamSplitter.java
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/FileStreamSplitter.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/FileStreamSplitter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,66 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.smooks.splitting;
-
-import org.jboss.soa.esb.listeners.message.MessageComposer;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.FileInputStream;
-
-/**
- * File stream splitting message composer.
- * <p/>
- * This composer only sets the file name as the message payload. It splits the message out,
- * so the source message is transformed into n+ messages that are consumed by other service
- * pipelines (i.e. not this service)...
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class FileStreamSplitter<T extends File> extends AbstractStreamSplitter implements MessageComposer<T> {
-
- public Message compose(T inputFile) throws MessageDeliverException {
- AssertArgument.isNotNull(inputFile, "inputFile");
-
- if(!inputFile.exists()) {
- throw new MessageDeliverException("Invalid File payload. File '" + inputFile.getAbsolutePath() + "' doesn't exist.");
- }
-
- // Split the file input stream...
- try {
- split(new FileInputStream(inputFile));
- } catch (IOException e) {
- throw new MessageDeliverException("Exception while splitting file input stream for file '" + inputFile.getAbsolutePath() + "'.", e);
- }
-
- Message message = MessageFactory.getInstance().getMessage();
- message.getBody().add(inputFile.getAbsolutePath());
-
- return message;
- }
-
- public Object decompose(Message message, T inputFile) throws MessageDeliverException {
- return null;
- }
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/FileStreamSplitter.java (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/FileStreamSplitter.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/FileStreamSplitter.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/smooks/splitting/FileStreamSplitter.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.smooks.splitting;
+
+import org.jboss.soa.esb.listeners.message.MessageComposer;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.FileInputStream;
+
+/**
+ * File stream splitting message composer.
+ * <p/>
+ * This composer only sets the file name as the message payload. It splits the message out,
+ * so the source message is transformed into n+ messages that are consumed by other service
+ * pipelines (i.e. not this service)...
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class FileStreamSplitter<T extends File> extends AbstractStreamSplitter implements MessageComposer<T> {
+
+ public Message compose(T inputFile) throws MessageDeliverException {
+ AssertArgument.isNotNull(inputFile, "inputFile");
+
+ if(!inputFile.exists()) {
+ throw new MessageDeliverException("Invalid File payload. File '" + inputFile.getAbsolutePath() + "' doesn't exist.");
+ }
+
+ // Split the file input stream...
+ try {
+ split(new FileInputStream(inputFile));
+ } catch (IOException e) {
+ throw new MessageDeliverException("Exception while splitting file input stream for file '" + inputFile.getAbsolutePath() + "'.", e);
+ }
+
+ Message message = MessageFactory.getInstance().getMessage();
+ message.getBody().add(inputFile.getAbsolutePath());
+
+ return message;
+ }
+
+ public Object decompose(Message message, T inputFile) throws MessageDeliverException {
+ return null;
+ }
+}
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/visitors/DOMServiceDelegateVisitor.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/visitors/DOMServiceDelegateVisitor.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/visitors/DOMServiceDelegateVisitor.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -46,7 +46,7 @@
* </pre>
*
* @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- *
+ * @deprecated Use {@link org.jboss.soa.esb.smooks.FragmentRouter}
*/
public class DOMServiceDelegateVisitor implements DOMElementVisitor
{
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/visitors/ServiceDelegator.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/visitors/ServiceDelegator.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/java/org/jboss/soa/esb/visitors/ServiceDelegator.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -44,7 +44,7 @@
* like a DOMVisitor or a SAXVisitor.
*
* @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- *
+ * @deprecated Use {@link org.jboss.soa.esb.smooks.FragmentRouter}
*/
public class ServiceDelegator
{
Modified: labs/jbossesb/workspace/maeste/product/services/smooks/src/main/resources/smooks.esb.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/main/resources/smooks.esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/main/resources/smooks.esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -9,7 +9,7 @@
from the Transformation Admin Console.
-->
<!--
- <entry key="console.url">http://${jboss.bind.address}:8080/jboss-esb-console/transform/smooks-config.jsp</entry>
+ <entry key="console.url">http://${jboss.esb.bind.address}:8080/jboss-esb-console/transform/smooks-config.jsp</entry>
-->
<!--
@@ -22,9 +22,9 @@
<!--
Context properties.
- Defaults to JBoss AS on ${jboss.bind.address}.
+ Defaults to JBoss AS on ${jboss.esb.bind.address}.
-->
- <entry key="java.naming.provider.url">${jboss.bind.address}:1099</entry>
+ <entry key="java.naming.provider.url">${jboss.esb.bind.address}:1099</entry>
<entry key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</entry>
<!--
<entry key="java.naming.factory.url.pkgs"></entry>
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/ProfilingUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/ProfilingUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/ProfilingUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,71 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.smooks;
-
-import junit.framework.TestCase;
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.soa.esb.client.ServiceInvoker;
-import org.jboss.soa.esb.couriers.FaultMessageException;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.Properties;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.services.registry.RegistryException;
-import org.jboss.soa.esb.testutils.ESBConfigUtil;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class ProfilingUnitTest extends TestCase {
-
- private ESBConfigUtil esbConfig;
- private byte[] personXmlBytes = StreamUtils.readStream(SourceResultUnitTest.class.getResourceAsStream("message/person.xml"));
-
- protected void setUp() throws Exception {
- esbConfig = new ESBConfigUtil(getClass().getResourceAsStream("profiling-esb.xml"));
- esbConfig.setESBProperties(getClass().getResourceAsStream("jbossesb-properties.xml"));
- esbConfig.installRegistry();
- esbConfig.startController();
- }
-
- protected void tearDown() throws Exception {
- esbConfig.stopController();
- esbConfig.uninstallRegistry();
- esbConfig.resetESBProperties();
- }
-
- public void test() throws RegistryException, FaultMessageException, MessageDeliverException {
- test("profile1", "<someone called=\"Tom Fennelly\" is=\"21\">");
- test("profile2", "<person name=\"Tom Fennelly\" age=\"21\">");
- }
-
- private void test(String profile, String expected) throws MessageDeliverException, RegistryException, FaultMessageException {
- ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
- Message message = MessageFactory.getInstance().getMessage();
-
- // Create the message and set the profile on it...
- message.getBody().add(new String(personXmlBytes));
- message.getProperties().setProperty(Properties.MESSAGE_PROFILE, profile);
-
- message = invoker.deliverSync(message, 30000);
-
- assertEquals(expected, message.getBody().get());
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/ProfilingUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/ProfilingUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/ProfilingUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/ProfilingUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.smooks;
+
+import junit.framework.TestCase;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.soa.esb.couriers.FaultMessageException;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Properties;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.testutils.ESBConfigUtil;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class ProfilingUnitTest extends TestCase {
+
+ private ESBConfigUtil esbConfig;
+ private byte[] personXmlBytes = StreamUtils.readStream(SourceResultUnitTest.class.getResourceAsStream("message/person.xml"));
+
+ protected void setUp() throws Exception {
+ esbConfig = new ESBConfigUtil(getClass().getResourceAsStream("profiling-esb.xml"));
+ esbConfig.setESBProperties(getClass().getResourceAsStream("jbossesb-properties.xml"));
+ esbConfig.installRegistry();
+ esbConfig.startController();
+ }
+
+ protected void tearDown() throws Exception {
+ esbConfig.stopController();
+ esbConfig.uninstallRegistry();
+ esbConfig.resetESBProperties();
+ }
+
+ public void test() throws RegistryException, FaultMessageException, MessageDeliverException {
+ test("profile1", "<someone called=\"Tom Fennelly\" is=\"21\">");
+ test("profile2", "<person name=\"Tom Fennelly\" age=\"21\">");
+ }
+
+ private void test(String profile, String expected) throws MessageDeliverException, RegistryException, FaultMessageException {
+ ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
+ Message message = MessageFactory.getInstance().getMessage();
+
+ // Create the message and set the profile on it...
+ message.getBody().add(new String(personXmlBytes));
+ message.getProperties().setProperty(Properties.MESSAGE_PROFILE, profile);
+
+ message = invoker.deliverSync(message, 30000);
+
+ assertEquals(expected, message.getBody().get());
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SmooksActionUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SmooksActionUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SmooksActionUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,181 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
- * individual contributors as indicated by the @authors tag. See the
- * copyright.txt in the distribution for a full listing of individual
- * contributors.
- *
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This software is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this software; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
- * site: http://www.fsf.org.
- */
-package org.jboss.soa.esb.smooks;
-
-import static org.junit.Assert.*;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.MessagePayloadProxy;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-import junit.framework.JUnit4TestAdapter;
-
-/**
- * Unit test for {@link org.jboss.soa.esb.smooks.SmooksAction}
- *
- * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
- *
- */
-public class SmooksActionUnitTest
-{
- private String expectedString = "<test></test>";
- private ConfigTree config;
-
- @Test
- public void process() throws ConfigurationException, ActionProcessingException
- {
- SmooksAction action = new SmooksAction( config );
- Message message = MessageFactory.getInstance().getMessage();
- message.getBody().add( expectedString );
-
- Message process = action.process( message );
-
- String actualString = (String)process.getBody().get();
- assertEquals( expectedString, actualString );
- }
-
- @Test
- public void processWithPayloadLocation() throws ConfigurationException, ActionProcessingException
- {
- config.setAttribute( MessagePayloadProxy.GET_PAYLOAD_LOCATION, "input" );
- SmooksAction action = new SmooksAction( config );
- Message message = MessageFactory.getInstance().getMessage();
- message.getBody().add( "input", expectedString );
-
- Message process = action.process( message );
-
- String actualString = (String)process.getBody().get();
- assertEquals( expectedString, actualString );
- }
-
- @Test
- public void processWithOutLocation() throws ConfigurationException, ActionProcessingException
- {
- config.setAttribute( MessagePayloadProxy.SET_PAYLOAD_LOCATION, "output" );
- SmooksAction action = new SmooksAction( config );
- Message message = MessageFactory.getInstance().getMessage();
- message.getBody().add( expectedString );
-
- Message process = action.process( message );
-
- String actualString = (String)process.getBody().get( "output" );
- assertEquals( expectedString, actualString );
- }
-
- @Test
- public void getExecutionContextAttributes() throws ConfigurationException, ActionProcessingException
- {
- SmooksAction action = new SmooksAction( config );
- Message message = MessageFactory.getInstance().getMessage();
- message.getBody().add( expectedString );
-
- Message process = action.process( message );
-
- Object object = process.getBody().get( SmooksAction.EXECUTION_CONTEXT_ATTR_MAP_KEY );
- assertTrue( object instanceof Map );
- }
-
- @Test
- @SuppressWarnings("unchecked")
- public void getExecutionContextAttributesNonSerializable() throws ConfigurationException, ActionProcessingException
- {
- Map map = new Hashtable();
- map.put( "test1", "testing" );
- map.put( "test2", new NonSerializableClass() );
- SmooksAction action = new SmooksAction( config );
-
- Map serializableObjects = action.getSerializableObjectsMap( map );
-
- assertTrue( serializableObjects.containsKey( "test1" ));
- assertTrue( !serializableObjects.containsKey( "test2" ));
- }
-
- @Test
- @SuppressWarnings("unchecked")
- public void getExecutionContextAttributesWithSerializable() throws ConfigurationException, ActionProcessingException
- {
- Map map = new Hashtable();
- map.put( "test1", "testing" );
- map.put( "test2", new NonSerializableClass() );
- config.setAttribute( "excludeNonSerializables", "false" );
- SmooksAction action = new SmooksAction( config );
-
- Map serializableObjects = action.getSerializableObjectsMap( map );
-
- assertTrue( serializableObjects.containsKey( "test1" ));
- assertTrue( serializableObjects.containsKey( "test2" ));
- }
-
- @Test
- public void ConstructorResultType() throws ConfigurationException, ActionProcessingException
- {
- config.setAttribute( "resultType", "STRING" );
- new SmooksAction( config );
- config.setAttribute( "resultType", "BYTES" );
- new SmooksAction( config );
- config.setAttribute( "resultType", "JAVA" );
- new SmooksAction( config );
- config.setAttribute( "resultType", "NORESULT" );
- new SmooksAction( config );
-
- config.setAttribute( "resultType", "BLAHHH" );
- try {
- new SmooksAction( config );
- fail("Expected ConfigurationException");
- } catch (ConfigurationException e) {
- assertEquals("Invalid 'resultType' config value 'BLAHHH'. Valid values are: [STRING, BYTES, JAVA, NORESULT]", e.getMessage());
- }
- }
-
- @Before
- public void setup()
- {
- config = createConfigTree();
-
- }
-
- public static junit.framework.Test suite()
- {
- return new JUnit4TestAdapter( SmooksActionUnitTest.class );
- }
-
- private ConfigTree createConfigTree()
- {
- ConfigTree config = new ConfigTree( "SmooksActionTest" );
- config.setAttribute( "smooksConfig", "/org/jboss/soa/esb/smooks/smooks-config.xml");
- return config;
- }
-
- private static class NonSerializableClass
- {
-
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SmooksActionUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SmooksActionUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SmooksActionUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SmooksActionUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,181 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.smooks;
+
+import static org.junit.Assert.*;
+
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.MessagePayloadProxy;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.junit.Before;
+import org.junit.Test;
+
+import junit.framework.JUnit4TestAdapter;
+
+/**
+ * Unit test for {@link org.jboss.soa.esb.smooks.SmooksAction}
+ *
+ * @author <a href="mailto:daniel.bevenius at gmail.com">Daniel Bevenius</a>
+ *
+ */
+public class SmooksActionUnitTest
+{
+ private String expectedString = "<test></test>";
+ private ConfigTree config;
+
+ @Test
+ public void process() throws ConfigurationException, ActionProcessingException
+ {
+ SmooksAction action = new SmooksAction( config );
+ Message message = MessageFactory.getInstance().getMessage();
+ message.getBody().add( expectedString );
+
+ Message process = action.process( message );
+
+ String actualString = (String)process.getBody().get();
+ assertEquals( expectedString, actualString );
+ }
+
+ @Test
+ public void processWithPayloadLocation() throws ConfigurationException, ActionProcessingException
+ {
+ config.setAttribute( MessagePayloadProxy.GET_PAYLOAD_LOCATION, "input" );
+ SmooksAction action = new SmooksAction( config );
+ Message message = MessageFactory.getInstance().getMessage();
+ message.getBody().add( "input", expectedString );
+
+ Message process = action.process( message );
+
+ String actualString = (String)process.getBody().get();
+ assertEquals( expectedString, actualString );
+ }
+
+ @Test
+ public void processWithOutLocation() throws ConfigurationException, ActionProcessingException
+ {
+ config.setAttribute( MessagePayloadProxy.SET_PAYLOAD_LOCATION, "output" );
+ SmooksAction action = new SmooksAction( config );
+ Message message = MessageFactory.getInstance().getMessage();
+ message.getBody().add( expectedString );
+
+ Message process = action.process( message );
+
+ String actualString = (String)process.getBody().get( "output" );
+ assertEquals( expectedString, actualString );
+ }
+
+ @Test
+ public void getExecutionContextAttributes() throws ConfigurationException, ActionProcessingException
+ {
+ SmooksAction action = new SmooksAction( config );
+ Message message = MessageFactory.getInstance().getMessage();
+ message.getBody().add( expectedString );
+
+ Message process = action.process( message );
+
+ Object object = process.getBody().get( SmooksAction.EXECUTION_CONTEXT_ATTR_MAP_KEY );
+ assertTrue( object instanceof Map );
+ }
+
+ @Test
+ @SuppressWarnings("unchecked")
+ public void getExecutionContextAttributesNonSerializable() throws ConfigurationException, ActionProcessingException
+ {
+ Map map = new Hashtable();
+ map.put( "test1", "testing" );
+ map.put( "test2", new NonSerializableClass() );
+ SmooksAction action = new SmooksAction( config );
+
+ Map serializableObjects = action.getSerializableObjectsMap( map );
+
+ assertTrue( serializableObjects.containsKey( "test1" ));
+ assertTrue( !serializableObjects.containsKey( "test2" ));
+ }
+
+ @Test
+ @SuppressWarnings("unchecked")
+ public void getExecutionContextAttributesWithSerializable() throws ConfigurationException, ActionProcessingException
+ {
+ Map map = new Hashtable();
+ map.put( "test1", "testing" );
+ map.put( "test2", new NonSerializableClass() );
+ config.setAttribute( "excludeNonSerializables", "false" );
+ SmooksAction action = new SmooksAction( config );
+
+ Map serializableObjects = action.getSerializableObjectsMap( map );
+
+ assertTrue( serializableObjects.containsKey( "test1" ));
+ assertTrue( serializableObjects.containsKey( "test2" ));
+ }
+
+ @Test
+ public void ConstructorResultType() throws ConfigurationException, ActionProcessingException
+ {
+ config.setAttribute( "resultType", "STRING" );
+ new SmooksAction( config );
+ config.setAttribute( "resultType", "BYTES" );
+ new SmooksAction( config );
+ config.setAttribute( "resultType", "JAVA" );
+ new SmooksAction( config );
+ config.setAttribute( "resultType", "NORESULT" );
+ new SmooksAction( config );
+
+ config.setAttribute( "resultType", "BLAHHH" );
+ try {
+ new SmooksAction( config );
+ fail("Expected ConfigurationException");
+ } catch (ConfigurationException e) {
+ assertEquals("Invalid 'resultType' config value 'BLAHHH'. Valid values are: [STRING, BYTES, JAVA, NORESULT]", e.getMessage());
+ }
+ }
+
+ @Before
+ public void setup()
+ {
+ config = createConfigTree();
+
+ }
+
+ public static junit.framework.Test suite()
+ {
+ return new JUnit4TestAdapter( SmooksActionUnitTest.class );
+ }
+
+ private ConfigTree createConfigTree()
+ {
+ ConfigTree config = new ConfigTree( "SmooksActionTest" );
+ config.setAttribute( "smooksConfig", "/org/jboss/soa/esb/smooks/smooks-config.xml");
+ return config;
+ }
+
+ private static class NonSerializableClass
+ {
+
+ }
+
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SourceResultUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SourceResultUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SourceResultUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,149 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.smooks;
-
-import junit.framework.TestCase;
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.soa.esb.smooks.message.Person1;
-import org.jboss.soa.esb.smooks.message.Person2;
-import org.jboss.soa.esb.client.ServiceInvoker;
-import org.jboss.soa.esb.couriers.FaultMessageException;
-import org.jboss.soa.esb.listeners.message.MessageDeliverException;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.services.registry.RegistryException;
-import org.jboss.soa.esb.testutils.ESBConfigUtil;
-import org.milyn.container.plugin.SourceResult;
-import org.milyn.payload.ByteSource;
-import org.milyn.payload.StringResult;
-
-import java.io.ByteArrayInputStream;
-import java.io.StringReader;
-
-/**
- * More SmooksAction unit tests.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class SourceResultUnitTest extends TestCase {
-
- private ESBConfigUtil esbConfig;
- private byte[] personXmlBytes = StreamUtils.readStream(SourceResultUnitTest.class.getResourceAsStream("message/person.xml"));
-
- protected void setUp() throws Exception {
- esbConfig = new ESBConfigUtil(getClass().getResourceAsStream("source-result-esb.xml"));
- esbConfig.setESBProperties(getClass().getResourceAsStream("jbossesb-properties.xml"));
- esbConfig.installRegistry();
- esbConfig.startController();
- }
-
- protected void tearDown() throws Exception {
- esbConfig.stopController();
- esbConfig.uninstallRegistry();
- esbConfig.resetESBProperties();
- }
-
- public void test_String2String() throws MessageDeliverException, RegistryException, FaultMessageException {
- ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
- Message message = MessageFactory.getInstance().getMessage();
-
- message.getBody().add(new String(personXmlBytes));
- message = invoker.deliverSync(message, 30000);
-
- assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", message.getBody().get());
- }
-
- public void test_bytes2String() throws MessageDeliverException, RegistryException, FaultMessageException {
- ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
- Message message = MessageFactory.getInstance().getMessage();
-
- message.getBody().add(personXmlBytes);
- message = invoker.deliverSync(message, 30000);
-
- assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", message.getBody().get());
- }
-
- public void test_InputStream2String() throws MessageDeliverException, RegistryException, FaultMessageException {
- ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
- Message message = MessageFactory.getInstance().getMessage();
-
- message.getBody().add(new ByteArrayInputStream(personXmlBytes));
- message = invoker.deliverSync(message, 30000);
-
- assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", message.getBody().get());
- }
-
- public void test_Reader2String() throws MessageDeliverException, RegistryException, FaultMessageException {
- ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
- Message message = MessageFactory.getInstance().getMessage();
-
- message.getBody().add(new StringReader(new String(personXmlBytes)));
- message = invoker.deliverSync(message, 30000);
-
- assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", message.getBody().get());
- }
-
- public void test_String2Bytes() throws MessageDeliverException, RegistryException, FaultMessageException {
- ServiceInvoker invoker = new ServiceInvoker("Transform", "Bytes");
- Message message = MessageFactory.getInstance().getMessage();
-
- message.getBody().add(new String(personXmlBytes));
- message = invoker.deliverSync(message, 30000);
-
- assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", new String((byte[]) message.getBody().get()));
- }
-
- public void test_Object2String() throws MessageDeliverException, RegistryException, FaultMessageException {
- ServiceInvoker invoker = new ServiceInvoker("Transform", "Person");
- Message message = MessageFactory.getInstance().getMessage();
-
- message.getBody().add(new Person1("Tom", 300));
- message = invoker.deliverSync(message, 30000);
-
- assertEquals("<someone called=\"Tom\" is=\"300\">", message.getBody().get());
- }
-
- public void test_Object2Object() throws MessageDeliverException, RegistryException, FaultMessageException {
- ServiceInvoker invoker = new ServiceInvoker("Transform", "Person2Person");
- Message message = MessageFactory.getInstance().getMessage();
-
- message.getBody().add(new Person1("Tom", 300));
- message = invoker.deliverSync(message, 30000);
-
- Person2 person2 = (Person2) message.getBody().get();
- assertEquals("Tom", person2.getName());
- assertEquals(300, person2.getAge());
- }
-
- public void test_SourceResult() throws MessageDeliverException, RegistryException, FaultMessageException {
- ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
- Message message = MessageFactory.getInstance().getMessage();
- SourceResult sourceResult = new SourceResult();
- StringResult result = new StringResult();
-
- sourceResult.setSource(new ByteSource(personXmlBytes));
- sourceResult.setResult(result);
-
- message.getBody().add(sourceResult);
- message = invoker.deliverSync(message, 30000);
-
- assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", result.getResult());
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SourceResultUnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SourceResultUnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SourceResultUnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/SourceResultUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,149 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.smooks;
+
+import junit.framework.TestCase;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.smooks.message.Person1;
+import org.jboss.soa.esb.smooks.message.Person2;
+import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.soa.esb.couriers.FaultMessageException;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.services.registry.RegistryException;
+import org.jboss.soa.esb.testutils.ESBConfigUtil;
+import org.milyn.container.plugin.SourceResult;
+import org.milyn.payload.ByteSource;
+import org.milyn.payload.StringResult;
+
+import java.io.ByteArrayInputStream;
+import java.io.StringReader;
+
+/**
+ * More SmooksAction unit tests.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SourceResultUnitTest extends TestCase {
+
+ private ESBConfigUtil esbConfig;
+ private byte[] personXmlBytes = StreamUtils.readStream(SourceResultUnitTest.class.getResourceAsStream("message/person.xml"));
+
+ protected void setUp() throws Exception {
+ esbConfig = new ESBConfigUtil(getClass().getResourceAsStream("source-result-esb.xml"));
+ esbConfig.setESBProperties(getClass().getResourceAsStream("jbossesb-properties.xml"));
+ esbConfig.installRegistry();
+ esbConfig.startController();
+ }
+
+ protected void tearDown() throws Exception {
+ esbConfig.stopController();
+ esbConfig.uninstallRegistry();
+ esbConfig.resetESBProperties();
+ }
+
+ public void test_String2String() throws MessageDeliverException, RegistryException, FaultMessageException {
+ ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
+ Message message = MessageFactory.getInstance().getMessage();
+
+ message.getBody().add(new String(personXmlBytes));
+ message = invoker.deliverSync(message, 30000);
+
+ assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", message.getBody().get());
+ }
+
+ public void test_bytes2String() throws MessageDeliverException, RegistryException, FaultMessageException {
+ ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
+ Message message = MessageFactory.getInstance().getMessage();
+
+ message.getBody().add(personXmlBytes);
+ message = invoker.deliverSync(message, 30000);
+
+ assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", message.getBody().get());
+ }
+
+ public void test_InputStream2String() throws MessageDeliverException, RegistryException, FaultMessageException {
+ ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
+ Message message = MessageFactory.getInstance().getMessage();
+
+ message.getBody().add(new ByteArrayInputStream(personXmlBytes));
+ message = invoker.deliverSync(message, 30000);
+
+ assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", message.getBody().get());
+ }
+
+ public void test_Reader2String() throws MessageDeliverException, RegistryException, FaultMessageException {
+ ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
+ Message message = MessageFactory.getInstance().getMessage();
+
+ message.getBody().add(new StringReader(new String(personXmlBytes)));
+ message = invoker.deliverSync(message, 30000);
+
+ assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", message.getBody().get());
+ }
+
+ public void test_String2Bytes() throws MessageDeliverException, RegistryException, FaultMessageException {
+ ServiceInvoker invoker = new ServiceInvoker("Transform", "Bytes");
+ Message message = MessageFactory.getInstance().getMessage();
+
+ message.getBody().add(new String(personXmlBytes));
+ message = invoker.deliverSync(message, 30000);
+
+ assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", new String((byte[]) message.getBody().get()));
+ }
+
+ public void test_Object2String() throws MessageDeliverException, RegistryException, FaultMessageException {
+ ServiceInvoker invoker = new ServiceInvoker("Transform", "Person");
+ Message message = MessageFactory.getInstance().getMessage();
+
+ message.getBody().add(new Person1("Tom", 300));
+ message = invoker.deliverSync(message, 30000);
+
+ assertEquals("<someone called=\"Tom\" is=\"300\">", message.getBody().get());
+ }
+
+ public void test_Object2Object() throws MessageDeliverException, RegistryException, FaultMessageException {
+ ServiceInvoker invoker = new ServiceInvoker("Transform", "Person2Person");
+ Message message = MessageFactory.getInstance().getMessage();
+
+ message.getBody().add(new Person1("Tom", 300));
+ message = invoker.deliverSync(message, 30000);
+
+ Person2 person2 = (Person2) message.getBody().get();
+ assertEquals("Tom", person2.getName());
+ assertEquals(300, person2.getAge());
+ }
+
+ public void test_SourceResult() throws MessageDeliverException, RegistryException, FaultMessageException {
+ ServiceInvoker invoker = new ServiceInvoker("Transform", "String");
+ Message message = MessageFactory.getInstance().getMessage();
+ SourceResult sourceResult = new SourceResult();
+ StringResult result = new StringResult();
+
+ sourceResult.setSource(new ByteSource(personXmlBytes));
+ sourceResult.setResult(result);
+
+ message.getBody().add(sourceResult);
+ message = invoker.deliverSync(message, 30000);
+
+ assertEquals("<someone called=\"Tom Fennelly\" is=\"21\">", result.getResult());
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/jbossesb-properties.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- JBoss, Home of Professional Open Source
- Copyright 2006, JBoss Inc., and others contributors as indicated
- by the @authors tag. All rights reserved.
- See the copyright.txt in the distribution for a
- full listing of individual contributors.
- This copyrighted material is made available to anyone wishing to use,
- modify, copy, or redistribute it subject to the terms and conditions
- of the GNU Lesser General Public License, v. 2.1.
- This program is distributed in the hope that it will be useful, but WITHOUT A
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License,
- v.2.1 along with this distribution; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301, USA.
-
- (C) 2005-2006,
- @author JBoss Inc.
--->
-<!-- $Id: jbossesb-unittest-properties.xml $ -->
-<!--
- These options are described in the JBossESB manual.
- Defaults are provided here for convenience only.
-
- Please read through this file prior to using the system, and consider
- updating the specified entries.
--->
-<esb
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
- <properties name="core">
- <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
- <property name="org.jboss.soa.esb.jndi.server.context.factory" value="org.jnp.interfaces.NamingContextFactory"/>
- <property name="org.jboss.soa.esb.jndi.server.pkg.prefix" value=""/>
- <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
- <property name="jboss.esb.invm.scope.default" value="NONE"/>
- </properties>
- <properties name="registry">
- <property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
- <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#publish"/>
- <property name="org.jboss.soa.esb.registry.implementationClass" value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
- <property name="org.jboss.soa.esb.registry.factoryClass" value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
- <property name="org.jboss.soa.esb.registry.user" value="jbossesb"/>
- <property name="org.jboss.soa.esb.registry.password" value="password"/>
- <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
- <property name="org.jboss.soa.esb.scout.proxy.transportClass" value="org.apache.ws.scout.transport.LocalTransport"/>
- </properties>
- <properties name="transports" depends="core">
- <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
- <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
- <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
- <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
- </properties>
- <properties name="connection">
- <property name="min-pool-size" value="5"/>
- <property name="max-pool=size" value="10"/>
- <property name="blocking-timeout-millis" value="5000"/>
- <property name="abandoned-connection-timeout" value="10000"/>
- <property name="abandoned-connection-time-interval" value="30000"/>
- </properties>
- <properties name="dbstore">
- <!-- connection manager type -->
- <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
- <!-- property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.J2eeConnectionManager"/ -->
-
- <!-- this property is only used if using the j2ee connection manager -->
- <property name="org.jboss.soa.esb.persistence.db.datasource.name" value="java:/JBossesbDS"/>
-
- <!-- standalone connection pooling settings -->
- <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/juddi"/>
- <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
- <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
- <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
- <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
- <!--table managed by pool to test for valid connections - created by pool automatically -->
- <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
- <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
- </properties>
- <properties name="messagerouting">
- <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
- </properties>
-</esb>
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/jbossesb-properties.xml (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/jbossesb-properties.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/jbossesb-properties.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/jbossesb-properties.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ JBoss, Home of Professional Open Source
+ Copyright 2006, JBoss Inc., and others contributors as indicated
+ by the @authors tag. All rights reserved.
+ See the copyright.txt in the distribution for a
+ full listing of individual contributors.
+ This copyrighted material is made available to anyone wishing to use,
+ modify, copy, or redistribute it subject to the terms and conditions
+ of the GNU Lesser General Public License, v. 2.1.
+ This program is distributed in the hope that it will be useful, but WITHOUT A
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public License,
+ v.2.1 along with this distribution; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02110-1301, USA.
+
+ (C) 2005-2006,
+ @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+ These options are described in the JBossESB manual.
+ Defaults are provided here for convenience only.
+
+ Please read through this file prior to using the system, and consider
+ updating the specified entries.
+-->
+<esb
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+ <properties name="core">
+ <property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+ <property name="org.jboss.soa.esb.jndi.server.context.factory" value="org.jnp.interfaces.NamingContextFactory"/>
+ <property name="org.jboss.soa.esb.jndi.server.pkg.prefix" value=""/>
+ <property name="org.jboss.soa.esb.persistence.connection.factory" value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+ <property name="jboss.esb.invm.scope.default" value="NONE"/>
+ </properties>
+ <properties name="registry">
+ <property name="org.jboss.soa.esb.registry.queryManagerURI" value="org.apache.juddi.registry.local.InquiryService#inquire"/>
+ <property name="org.jboss.soa.esb.registry.lifeCycleManagerURI" value="org.apache.juddi.registry.local.PublishService#publish"/>
+ <property name="org.jboss.soa.esb.registry.implementationClass" value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
+ <property name="org.jboss.soa.esb.registry.factoryClass" value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
+ <property name="org.jboss.soa.esb.registry.user" value="jbossesb"/>
+ <property name="org.jboss.soa.esb.registry.password" value="password"/>
+ <!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
+ <property name="org.jboss.soa.esb.scout.proxy.transportClass" value="org.apache.ws.scout.transport.LocalTransport"/>
+ </properties>
+ <properties name="transports" depends="core">
+ <property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
+ <property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
+ <property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
+ <property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
+ </properties>
+ <properties name="connection">
+ <property name="min-pool-size" value="5"/>
+ <property name="max-pool=size" value="10"/>
+ <property name="blocking-timeout-millis" value="5000"/>
+ <property name="abandoned-connection-timeout" value="10000"/>
+ <property name="abandoned-connection-time-interval" value="30000"/>
+ </properties>
+ <properties name="dbstore">
+ <!-- connection manager type -->
+ <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
+ <!-- property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.J2eeConnectionManager"/ -->
+
+ <!-- this property is only used if using the j2ee connection manager -->
+ <property name="org.jboss.soa.esb.persistence.db.datasource.name" value="java:/JBossesbDS"/>
+
+ <!-- standalone connection pooling settings -->
+ <property name="org.jboss.soa.esb.persistence.db.connection.url" value="jdbc:hsqldb:hsql://localhost:9001/juddi"/>
+ <property name="org.jboss.soa.esb.persistence.db.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
+ <property name="org.jboss.soa.esb.persistence.db.user" value="sa"/>
+ <property name="org.jboss.soa.esb.persistence.db.pwd" value=""/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.initial.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.min.size" value="2"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.max.size" value="5"/>
+ <!--table managed by pool to test for valid connections - created by pool automatically -->
+ <property name="org.jboss.soa.esb.persistence.db.pool.test.table" value="pooltest"/>
+ <property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis" value="5000"/>
+ </properties>
+ <properties name="messagerouting">
+ <property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+ </properties>
+</esb>
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message)
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person1.java
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person1.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person1.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.smooks.message;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Person1 {
-
- private String name;
- private int age;
-
- public Person1() {
- }
-
- public Person1(String name, int age) {
- this.name = name;
- this.age = age;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getAge() {
- return age;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person1.java (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person1.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person1.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person1.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.smooks.message;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Person1 {
+
+ private String name;
+ private int age;
+
+ public Person1() {
+ }
+
+ public Person1(String name, int age) {
+ this.name = name;
+ this.age = age;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person2.java
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person2.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person2.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.smooks.message;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class Person2 {
-
- private String name;
- private int age;
-
- public Person2() {
- }
-
- public Person2(String name, int age) {
- this.name = name;
- this.age = age;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getAge() {
- return age;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person2.java (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person2.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person2.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/Person2.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.smooks.message;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Person2 {
+
+ private String name;
+ private int age;
+
+ public Person2() {
+ }
+
+ public Person2(String name, int age) {
+ this.name = name;
+ this.age = age;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+}
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/person.xml
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/person.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/person.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,4 +0,0 @@
-<person>
- <name>Tom Fennelly</name>
- <age>21</age>
-</person>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/person.xml (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/person.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/person.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/message/person.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,4 @@
+<person>
+ <name>Tom Fennelly</name>
+ <age>21</age>
+</person>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,14 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
-
- <services>
- <service category="Transform" name="String" description="StringTest" invmScope="GLOBAL">
- <actions mep="RequestResponse">
- <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
- <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/profiling-smooks-01.xml" />
- </action>
- </actions>
- </service>
- </services>
-
-</jbossesb>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-esb.xml (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-esb.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-esb.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,14 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <services>
+ <service category="Transform" name="String" description="StringTest" invmScope="GLOBAL">
+ <actions mep="RequestResponse">
+ <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/profiling-smooks-01.xml" />
+ </action>
+ </actions>
+ </service>
+ </services>
+
+</jbossesb>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-smooks-01.xml
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-smooks-01.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-smooks-01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <profiles>
- <profile base-profile="profile1" sub-profiles="common" />
- <profile base-profile="profile2" sub-profiles="common" />
- </profiles>
-
- <resource-config selector="person" target-profile="common">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">person</param>
- <param name="beanClass">org.jboss.soa.esb.smooks.message.Person1</param>
- <param name="bindings">
- <binding property="name" selector="person/name" />
- <binding property="age" type="Integer" selector="person/age" />
- </param>
- </resource-config>
-
- <resource-config selector="person" target-profile="profile1">
- <resource type="ftl"><!--<someone called="${person.name}" is="${person.age}">--></resource>
- </resource-config>
-
- <resource-config selector="person" target-profile="profile2">
- <resource type="ftl"><!--<person name="${person.name}" age="${person.age}">--></resource>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-smooks-01.xml (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-smooks-01.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-smooks-01.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/profiling-smooks-01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <profiles>
+ <profile base-profile="profile1" sub-profiles="common" />
+ <profile base-profile="profile2" sub-profiles="common" />
+ </profiles>
+
+ <resource-config selector="person" target-profile="common">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">person</param>
+ <param name="beanClass">org.jboss.soa.esb.smooks.message.Person1</param>
+ <param name="bindings">
+ <binding property="name" selector="person/name" />
+ <binding property="age" type="Integer" selector="person/age" />
+ </param>
+ </resource-config>
+
+ <resource-config selector="person" target-profile="profile1">
+ <resource type="ftl"><!--<someone called="${person.name}" is="${person.age}">--></resource>
+ </resource-config>
+
+ <resource-config selector="person" target-profile="profile2">
+ <resource type="ftl"><!--<person name="${person.name}" age="${person.age}">--></resource>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/smooks-config.xml
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/smooks-config.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/smooks-config.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,8 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <resource-config selector="global-parameters">
- <param name="stream.filter.type">DOM</param>
- </resource-config>
-
-</smooks-resource-list>
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/smooks-config.xml (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/smooks-config.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/smooks-config.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/smooks-config.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <resource-config selector="global-parameters">
+ <param name="stream.filter.type">DOM</param>
+ </resource-config>
+
+</smooks-resource-list>
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-esb.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,42 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
-
- <services>
- <service category="Transform" name="String" description="StringTest" invmScope="GLOBAL">
- <actions mep="RequestResponse">
- <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
- <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/source-result-smooks-01.xml" />
- </action>
- </actions>
- </service>
-
- <service category="Transform" name="Bytes" description="ObjectTest" invmScope="GLOBAL">
- <actions mep="RequestResponse">
- <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
- <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/source-result-smooks-01.xml" />
- <property name="resultType" value="BYTES" />
- </action>
- </actions>
- </service>
-
- <service category="Transform" name="Person" description="ObjectTest" invmScope="GLOBAL">
- <actions mep="RequestResponse">
- <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
- <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/source-result-smooks-02.xml" />
- </action>
- </actions>
- </service>
-
- <service category="Transform" name="Person2Person" description="ObjectTest" invmScope="GLOBAL">
- <actions mep="RequestResponse">
- <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
- <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/source-result-smooks-02.xml" />
- <property name="resultType" value="JAVA" />
- <property name="javaResultBeanId" value="person" />
- </action>
- </actions>
- </service>
-
- </services>
-
-</jbossesb>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-esb.xml (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-esb.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-esb.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-esb.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,42 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+ <services>
+ <service category="Transform" name="String" description="StringTest" invmScope="GLOBAL">
+ <actions mep="RequestResponse">
+ <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/source-result-smooks-01.xml" />
+ </action>
+ </actions>
+ </service>
+
+ <service category="Transform" name="Bytes" description="ObjectTest" invmScope="GLOBAL">
+ <actions mep="RequestResponse">
+ <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/source-result-smooks-01.xml" />
+ <property name="resultType" value="BYTES" />
+ </action>
+ </actions>
+ </service>
+
+ <service category="Transform" name="Person" description="ObjectTest" invmScope="GLOBAL">
+ <actions mep="RequestResponse">
+ <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/source-result-smooks-02.xml" />
+ </action>
+ </actions>
+ </service>
+
+ <service category="Transform" name="Person2Person" description="ObjectTest" invmScope="GLOBAL">
+ <actions mep="RequestResponse">
+ <action name="action" class="org.jboss.soa.esb.smooks.SmooksAction">
+ <property name="smooksConfig" value="/org/jboss/soa/esb/smooks/source-result-smooks-02.xml" />
+ <property name="resultType" value="JAVA" />
+ <property name="javaResultBeanId" value="person" />
+ </action>
+ </actions>
+ </service>
+
+ </services>
+
+</jbossesb>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-01.xml
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-01.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <resource-config selector="person">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">person</param>
- <param name="beanClass">org.jboss.soa.esb.smooks.message.Person1</param>
- <param name="bindings">
- <binding property="name" selector="person/name" />
- <binding property="age" type="Integer" selector="person/age" />
- </param>
- </resource-config>
-
- <resource-config selector="person">
- <resource type="ftl"><!--<someone called="${person.name}" is="${person.age}">--></resource>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-01.xml (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-01.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-01.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <resource-config selector="person">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">person</param>
+ <param name="beanClass">org.jboss.soa.esb.smooks.message.Person1</param>
+ <param name="bindings">
+ <binding property="name" selector="person/name" />
+ <binding property="age" type="Integer" selector="person/age" />
+ </param>
+ </resource-config>
+
+ <resource-config selector="person">
+ <resource type="ftl"><!--<someone called="${person.name}" is="${person.age}">--></resource>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-02.xml
===================================================================
--- labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-02.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-02.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <resource-config selector="org.jboss.soa.esb.smooks.message.Person1">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">person</param>
- <param name="beanClass">org.jboss.soa.esb.smooks.message.Person2</param>
- <param name="bindings">
- <binding property="name" selector="org.jboss.soa.esb.smooks.message.Person1/name" />
- <binding property="age" type="Integer" selector="org.jboss.soa.esb.smooks.message.Person1/age" />
- </param>
- </resource-config>
-
- <resource-config selector="org.jboss.soa.esb.smooks.message.Person1">
- <resource type="ftl"><!--<someone called="${person.name}" is="${person.age}">--></resource>
- </resource-config>
-
-</smooks-resource-list>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-02.xml (from rev 21158, labs/jbossesb/trunk/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-02.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-02.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/smooks/src/test/java/org/jboss/soa/esb/smooks/source-result-smooks-02.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <resource-config selector="org.jboss.soa.esb.smooks.message.Person1">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">person</param>
+ <param name="beanClass">org.jboss.soa.esb.smooks.message.Person2</param>
+ <param name="bindings">
+ <binding property="name" selector="org.jboss.soa.esb.smooks.message.Person1/name" />
+ <binding property="age" type="Integer" selector="org.jboss.soa.esb.smooks.message.Person1/age" />
+ </param>
+ </resource-config>
+
+ <resource-config selector="org.jboss.soa.esb.smooks.message.Person1">
+ <resource type="ftl"><!--<someone called="${person.name}" is="${person.age}">--></resource>
+ </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file
Modified: labs/jbossesb/workspace/maeste/product/services/soap/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -16,6 +16,11 @@
<!-- Adding the Smooks jars... -->
<fileset dir="../smooks/lib/ext" includes="*.jar"/>
+
+ <!-- Stuff required for testing... -->
+ <fileset dir="../../lib/ext" includes="*.jar"/>
+ <fileset dir="../soapui-client/src/lib" includes="*.jar"/>
+ <pathelement location="../soapui-client/target/classes" />
</path>
</project>
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/MBeanSoapUIInvoker.java (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/MBeanSoapUIInvoker.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/MBeanSoapUIInvoker.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/MBeanSoapUIInvoker.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,124 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.actions.soap;
+
+import org.jboss.mx.util.MBeanServerLocator;
+import org.xml.sax.SAXException;
+
+import javax.management.*;
+import java.util.Map;
+import java.util.Properties;
+import java.io.IOException;
+
+/**
+ * Invoker the soapui-client Service.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MBeanSoapUIInvoker implements SoapUIInvoker {
+
+ private static final String[] buildRequestSig = new String[] {String.class.getName(), String.class.getName(), Map.class.getName(), Properties.class.getName(), String.class.getName(), String.class.getName()};
+ private static final String[] getEndpointSig = new String[] {String.class.getName(), Properties.class.getName()};
+ private MBeanServer mbeanServer;
+ private ObjectName serviceName;
+
+ public MBeanSoapUIInvoker() {
+ // Lookup the MBean ObjectName for the soapUI service (in soapui-client.sar)...
+ try {
+ mbeanServer = MBeanServerLocator.locateJBoss();
+ serviceName = new ObjectName("jboss.esb:service=SoapUIClientService");
+ } catch (MalformedObjectNameException e) {
+ throw new IllegalStateException("Unexpected exception.", e);
+ }
+ }
+
+ /**
+ * Build a SOAP request for the specified operation on the specified WSDL.
+ *
+ * @param wsdl WSDL URL.
+ * @param operation Operation name.
+ * @param params Message parameter map.
+ * @param httpClientProps {@link org.apache.commons.httpclient.HttpClient} creation properties.
+ * @param smooksResource {@link org.milyn.Smooks} transformation configuration resource file.
+ * Null if no transformations are to be performed on the SOAP message before serializing it
+ * for return.
+ * @param soapNs the SOAP namespace. If null one of the defaults will be used:
+ * http://schemas.xmlsoap.org/soap/envelope/
+ * http://www.w3.org/2003/05/soap-envelope
+ * @return The SOAP Message.
+ * @throws java.io.IOException Failed to load WSDL.
+ * @throws UnsupportedOperationException Operation not supported on specified WSDL.
+ * @throws org.xml.sax.SAXException Failed to parse the SOAP UI generated request message.
+ */
+ public String buildRequest(String wsdl, String operation, Map params, Properties httpClientProps, String smooksResource, String soapNs) throws IOException, UnsupportedOperationException, SAXException {
+ try {
+ return (String) mbeanServer.invoke(serviceName, "buildRequest", new Object[] {wsdl, operation, params, httpClientProps, smooksResource, soapNs}, buildRequestSig);
+ } catch (InstanceNotFoundException e) {
+ throw new UnsupportedOperationException("SOAP UI Client Service not found under name '" + serviceName.getCanonicalName() + "'. This service must be deployed before this action can be used.", e);
+ } catch (MBeanException e) {
+ rethrowException(e);
+ } catch (ReflectionException e) {
+ rethrowException(e);
+ }
+
+ throw new RuntimeException("Unexpected code exit point reached!");
+ }
+
+ /**
+ * Get the 1st endpoint from the specified WSDL.
+ *
+ * @param wsdl WSDL URL.
+ * @param httpClientProps {@link org.apache.commons.httpclient.HttpClient} creation properties.
+ * @return The operation endpoint URL.
+ * @throws IOException Failed to load WSDL.
+ */
+ public String getEndpoint(String wsdl, Properties httpClientProps) throws IOException {
+ try {
+ return (String) mbeanServer.invoke(serviceName, "getEndpoint", new Object[] {wsdl, httpClientProps}, getEndpointSig);
+ } catch (InstanceNotFoundException e) {
+ throw new UnsupportedOperationException("SOAP UI Client Service not found under name '" + serviceName.getCanonicalName() + "'. This service must be deployed before this action can be used.", e);
+ } catch (MBeanException e) {
+ if(e.getCause() instanceof IOException) {
+ throw (IOException)e.getCause();
+ }
+ throw new RuntimeException(e);
+ } catch (ReflectionException e) {
+ if(e.getCause() instanceof IOException) {
+ throw (IOException)e.getCause();
+ }
+ throw new RuntimeException(e);
+ }
+ }
+
+ private void rethrowException(Throwable e) throws IOException, UnsupportedOperationException, SAXException {
+ Throwable cause = e.getCause();
+
+ if(cause instanceof IOException) {
+ throw (IOException)cause;
+ } else if(cause instanceof UnsupportedOperationException) {
+ throw (UnsupportedOperationException)cause;
+ } else if(cause instanceof SAXException) {
+ throw (SAXException)cause;
+ } else {
+ throw new RuntimeException(e);
+ }
+ }
+
+}
Modified: labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPClient.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPClient.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPClient.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -28,6 +28,7 @@
import java.util.Properties;
import java.net.URI;
import java.net.URISyntaxException;
+import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilder;
@@ -281,6 +282,7 @@
private QNameMap responseXStreamQNameMap = new QNameMap();
private Properties httpClientProps = new Properties();
private HttpClient httpclient;
+ private String endpointUrl;
private MessagePayloadProxy payloadProxy;
public SOAPClient(ConfigTree config) throws ConfigurationException {
@@ -310,6 +312,8 @@
// to the HttpClientFacatory...
extractHttpClientProps(config);
httpclient = HttpClientFactory.createHttpClient(httpClientProps);
+
+ endpointUrl = config.getAttribute("endpointUrl");
}
private void createPayloadProxy(ConfigTree config) {
@@ -336,9 +340,17 @@
public void initialise() throws ActionLifecycleException {
super.initialise();
// Create the SoapUIInvoker instance for this SOAPClient...
- soapUIInvoker = new SoapUIInvoker();
+ soapUIInvoker = new MBeanSoapUIInvoker();
}
-
+
+ public SoapUIInvoker getSoapUIInvoker() {
+ return soapUIInvoker;
+ }
+
+ public void setSoapUIInvoker(SoapUIInvoker soapUIInvoker) {
+ this.soapUIInvoker = soapUIInvoker;
+ }
+
@Override
public void destroy() throws ActionLifecycleException {
if (httpclient != null) {
@@ -371,15 +383,24 @@
}
public Message process(final Message message) throws ActionProcessingException {
- Map params;
+ Object payload;
try {
- params = (Map) payloadProxy.getPayload(message);
+ payload = payloadProxy.getPayload(message);
} catch (MessageDeliverException e) {
- throw new ActionProcessingException("Could not locate SOAP message parameters from payload", e) ;
+ throw new ActionProcessingException("Error getting SOAP message parameters from payload.", e);
}
+ catch (final ClassCastException ex)
+ {
+ throw new ActionProcessingException("Required a Map in the payload, but got something else!");
+ }
- if(params.isEmpty()) {
+ if (!(payload instanceof Map)) {
+ throw new ActionProcessingException("Invalid payload type in message body location '" + payloadProxy.getGetPayloadLocation() + "'. Expected 'java.util.Map', was '" + payload.getClass().getName() + "'.");
+ }
+
+ Map params = (Map) payload;
+ if (params.isEmpty()) {
logger.warn("Params Map found in message, but the map is empty.");
}
@@ -420,7 +441,11 @@
String endpoint;
try {
- endpoint = soapUIInvoker.getEndpoint(wsdl, httpClientProps);
+ if(endpointUrl != null) {
+ endpoint = endpointUrl;
+ } else {
+ endpoint = soapUIInvoker.getEndpoint(wsdl, httpClientProps);
+ }
} catch (IOException e) {
throw new ActionProcessingException("soapUI Client Service invocation failed.", e);
Deleted: labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SoapUIInvoker.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SoapUIInvoker.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SoapUIInvoker.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,124 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.actions.soap;
-
-import org.jboss.mx.util.MBeanServerLocator;
-import org.xml.sax.SAXException;
-
-import javax.management.*;
-import java.util.Map;
-import java.util.Properties;
-import java.io.IOException;
-
-/**
- * Invoker the soapui-client Service.
- *
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class SoapUIInvoker {
-
- private static final String[] buildRequestSig = new String[] {String.class.getName(), String.class.getName(), Map.class.getName(), Properties.class.getName(), String.class.getName(), String.class.getName()};
- private static final String[] getEndpointSig = new String[] {String.class.getName(), Properties.class.getName()};
- private MBeanServer mbeanServer;
- private ObjectName serviceName;
-
- public SoapUIInvoker() {
- // Lookup the MBean ObjectName for the soapUI service (in soapui-client.sar)...
- try {
- mbeanServer = MBeanServerLocator.locateJBoss();
- serviceName = new ObjectName("jboss.esb:service=SoapUIClientService");
- } catch (MalformedObjectNameException e) {
- throw new IllegalStateException("Unexpected exception.", e);
- }
- }
-
- /**
- * Build a SOAP request for the specified operation on the specified WSDL.
- *
- * @param wsdl WSDL URL.
- * @param operation Operation name.
- * @param params Message parameter map.
- * @param httpClientProps {@link org.apache.commons.httpclient.HttpClient} creation properties.
- * @param smooksResource {@link org.milyn.Smooks} transformation configuration resource file.
- * Null if no transformations are to be performed on the SOAP message before serializing it
- * for return.
- * @param soapNs the SOAP namespace. If null one of the defaults will be used:
- * http://schemas.xmlsoap.org/soap/envelope/
- * http://www.w3.org/2003/05/soap-envelope
- * @return The SOAP Message.
- * @throws java.io.IOException Failed to load WSDL.
- * @throws UnsupportedOperationException Operation not supported on specified WSDL.
- * @throws org.xml.sax.SAXException Failed to parse the SOAP UI generated request message.
- */
- public String buildRequest(String wsdl, String operation, Map params, Properties httpClientProps, String smooksResource, String soapNs) throws IOException, UnsupportedOperationException, SAXException {
- try {
- return (String) mbeanServer.invoke(serviceName, "buildRequest", new Object[] {wsdl, operation, params, httpClientProps, smooksResource, soapNs}, buildRequestSig);
- } catch (InstanceNotFoundException e) {
- throw new UnsupportedOperationException("SOAP UI Client Service not found under name '" + serviceName.getCanonicalName() + "'. This service must be deployed before this action can be used.", e);
- } catch (MBeanException e) {
- rethrowException(e);
- } catch (ReflectionException e) {
- rethrowException(e);
- }
-
- throw new RuntimeException("Unexpected code exit point reached!");
- }
-
- /**
- * Get the 1st endpoint from the specified WSDL.
- *
- * @param wsdl WSDL URL.
- * @param httpClientProps {@link org.apache.commons.httpclient.HttpClient} creation properties.
- * @return The operation endpoint URL.
- * @throws IOException Failed to load WSDL.
- */
- public String getEndpoint(String wsdl, Properties httpClientProps) throws IOException {
- try {
- return (String) mbeanServer.invoke(serviceName, "getEndpoint", new Object[] {wsdl, httpClientProps}, getEndpointSig);
- } catch (InstanceNotFoundException e) {
- throw new UnsupportedOperationException("SOAP UI Client Service not found under name '" + serviceName.getCanonicalName() + "'. This service must be deployed before this action can be used.", e);
- } catch (MBeanException e) {
- if(e.getCause() instanceof IOException) {
- throw (IOException)e.getCause();
- }
- throw new RuntimeException(e);
- } catch (ReflectionException e) {
- if(e.getCause() instanceof IOException) {
- throw (IOException)e.getCause();
- }
- throw new RuntimeException(e);
- }
- }
-
- private void rethrowException(Throwable e) throws IOException, UnsupportedOperationException, SAXException {
- Throwable cause = e.getCause();
-
- if(cause instanceof IOException) {
- throw (IOException)cause;
- } else if(cause instanceof UnsupportedOperationException) {
- throw (UnsupportedOperationException)cause;
- } else if(cause instanceof SAXException) {
- throw (SAXException)cause;
- } else {
- throw new RuntimeException(e);
- }
- }
-
-}
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SoapUIInvoker.java (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SoapUIInvoker.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SoapUIInvoker.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SoapUIInvoker.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,16 @@
+package org.jboss.soa.esb.actions.soap;
+
+import org.xml.sax.SAXException;
+
+import java.util.Map;
+import java.util.Properties;
+import java.io.IOException;
+
+/**
+ * @author
+ */
+public interface SoapUIInvoker {
+ String buildRequest(String wsdl, String operation, Map params, Properties httpClientProps, String smooksResource, String soapNs) throws IOException, UnsupportedOperationException, SAXException;
+
+ String getEndpoint(String wsdl, Properties httpClientProps) throws IOException;
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClientUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClientUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClientUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,126 +0,0 @@
-package org.jboss.soa.esb.actions.soap;
-
-import java.util.Map;
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.testutils.ESBConfigUtil;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.actions.soap.beans.Order;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.xml.sax.SAXException;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class SOAPClientUnitTest extends TestCase {
-
- private ESBConfigUtil configUtil;
-
- public SOAPClientUnitTest() throws IOException, SAXException, ConfigurationException {
- configUtil = new ESBConfigUtil(getClass().getResourceAsStream("soapclient-config-01.xml"));
- }
-
- public void test_XStream_ResponseProcessing() throws ConfigurationException, ActionProcessingException {
- ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-01");
- SOAPClient soapClient = new SOAPClient(actionConfig);
- Message message = MessageFactory.getInstance().getMessage();
-
- soapClient.processResponse(message, response_01);
- assertEquals(true, message.getBody().get());
-
- soapClient.processResponse(message, response_02);
- assertEquals(false, message.getBody().get());
- }
-
- @SuppressWarnings("unchecked")
- public void test_OgnlMap_ResponseProcessing_1() throws ConfigurationException, ActionProcessingException {
- ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-02");
- SOAPClient soapClient = new SOAPClient(actionConfig);
- Message message = MessageFactory.getInstance().getMessage();
-
- soapClient.processResponse(message, response_01);
- Map<String, String> response = (Map<String, String>) message.getBody().get();
- assertEquals("true", response.get("customerOrderAck"));
-
- soapClient.processResponse(message, response_02);
- response = (Map<String, String>) message.getBody().get();
- assertEquals("false", response.get("customerOrderAck"));
- }
-
- public void test_OgnlMap_ResponseProcessing_2() throws ConfigurationException, ActionProcessingException {
- ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-05");
- SOAPClient soapClient = new SOAPClient(actionConfig);
- String responseString = new String(StreamUtils.readStream(getClass().getResourceAsStream("soap-message-01.xml")));
- Message message = MessageFactory.getInstance().getMessage();
-
- soapClient.processResponse(message, responseString);
- Order order = (Order) message.getBody().get();
- //assertEquals();
- }
-
- @SuppressWarnings("unchecked")
- public void test_OgnlMap_ResponseProcessing_3() throws ConfigurationException, ActionProcessingException {
- ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-02");
- SOAPClient soapClient = new SOAPClient(actionConfig);
- String responseString = new String(StreamUtils.readStream(getClass().getResourceAsStream("soap-message-01.xml")));
- Message message = MessageFactory.getInstance().getMessage();
-
- soapClient.processResponse(message, responseString);
- Map<String, String> responseMap = (Map<String, String>) message.getBody().get();
-
- assertEquals("{customerOrder.orderheader.customerName=Tom Fennelly, customerOrder.items[0].partNumber=1, customerOrder.items[0].description=desc-1, customerOrder.items[0].quantity=1, customerOrder.items[0].price=1.1, customerOrder.items[0].extensionAmount=1, customerOrder.items[1].partNumber=2, customerOrder.items[1].description=desc-2, customerOrder.items[1].quantity=2, customerOrder.items[1].price=2.2, customerOrder.items[1].extensionAmount=2}", responseMap.toString());
- }
-
- public void test_No_ResponseProcessing() throws ConfigurationException, ActionProcessingException {
- ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-03");
- SOAPClient soapClient = new SOAPClient(actionConfig);
- Message message = MessageFactory.getInstance().getMessage();
-
- soapClient.processResponse(message, response_01);
- assertEquals(response_01, message.getBody().get());
- }
-
- public void test_ResponseLocation() throws ConfigurationException, ActionProcessingException {
- ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-04");
- SOAPClient soapClient = new SOAPClient(actionConfig);
- Message message = MessageFactory.getInstance().getMessage();
-
- soapClient.processResponse(message, response_01);
- assertEquals(response_01, message.getBody().get("myTestLocation"));
- }
-
- public void test_getEndpointOperation() throws ConfigurationException, ActionProcessingException {
- ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-07");
- SOAPClient soapClient = new SOAPClient(actionConfig);
- assertEquals("SendSalesOrderNotification", soapClient.getEndpointOperation());
- }
-
- public void test_soapSetSOAPNameSpace() throws ConfigurationException, ActionProcessingException {
- String expectedSOAPNS = "http://www.w3.org/2003/05/soap-envelope";
- ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-07");
- actionConfig.setAttribute( "SOAPNS", expectedSOAPNS );
- SOAPClient soapClient = new SOAPClient(actionConfig);
- assertEquals( expectedSOAPNS, soapClient.getSoapNS());
- }
-
-
- private static String response_01 =
- "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
- "\t<soapenv:Header/>\n" +
- "\t<soapenv:Body>\n" +
- "\t\t<aetgt:customerOrderAck xmlns:aetgt=\"http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd\">true</aetgt:customerOrderAck>\n" +
- "\t</soapenv:Body>\n" +
- "</soapenv:Envelope>";
- private static String response_02 =
- "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
- "\t<soapenv:Body>\n" +
- "\t\t<aetgt:customerOrderAck xmlns:aetgt=\"http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd\">false</aetgt:customerOrderAck>\n" +
- "\t</soapenv:Body>\n" +
- "</soapenv:Envelope>";
-}
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClient_Response_UnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClient_Response_UnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClient_Response_UnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClient_Response_UnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,126 @@
+package org.jboss.soa.esb.actions.soap;
+
+import java.util.Map;
+import java.io.IOException;
+
+import junit.framework.TestCase;
+
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.testutils.ESBConfigUtil;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.actions.soap.beans.Order;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.xml.sax.SAXException;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SOAPClient_Response_UnitTest extends TestCase {
+
+ private ESBConfigUtil configUtil;
+
+ public SOAPClient_Response_UnitTest() throws IOException, SAXException, ConfigurationException {
+ configUtil = new ESBConfigUtil(getClass().getResourceAsStream("soapclient-config-01.xml"));
+ }
+
+ public void test_XStream_ResponseProcessing() throws ConfigurationException, ActionProcessingException {
+ ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-01");
+ SOAPClient soapClient = new SOAPClient(actionConfig);
+ Message message = MessageFactory.getInstance().getMessage();
+
+ soapClient.processResponse(message, response_01);
+ assertEquals(true, message.getBody().get());
+
+ soapClient.processResponse(message, response_02);
+ assertEquals(false, message.getBody().get());
+ }
+
+ @SuppressWarnings("unchecked")
+ public void test_OgnlMap_ResponseProcessing_1() throws ConfigurationException, ActionProcessingException {
+ ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-02");
+ SOAPClient soapClient = new SOAPClient(actionConfig);
+ Message message = MessageFactory.getInstance().getMessage();
+
+ soapClient.processResponse(message, response_01);
+ Map<String, String> response = (Map<String, String>) message.getBody().get();
+ assertEquals("true", response.get("customerOrderAck"));
+
+ soapClient.processResponse(message, response_02);
+ response = (Map<String, String>) message.getBody().get();
+ assertEquals("false", response.get("customerOrderAck"));
+ }
+
+ public void test_OgnlMap_ResponseProcessing_2() throws ConfigurationException, ActionProcessingException {
+ ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-05");
+ SOAPClient soapClient = new SOAPClient(actionConfig);
+ String responseString = new String(StreamUtils.readStream(getClass().getResourceAsStream("soap-message-01.xml")));
+ Message message = MessageFactory.getInstance().getMessage();
+
+ soapClient.processResponse(message, responseString);
+ Order order = (Order) message.getBody().get();
+ //assertEquals();
+ }
+
+ @SuppressWarnings("unchecked")
+ public void test_OgnlMap_ResponseProcessing_3() throws ConfigurationException, ActionProcessingException {
+ ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-02");
+ SOAPClient soapClient = new SOAPClient(actionConfig);
+ String responseString = new String(StreamUtils.readStream(getClass().getResourceAsStream("soap-message-01.xml")));
+ Message message = MessageFactory.getInstance().getMessage();
+
+ soapClient.processResponse(message, responseString);
+ Map<String, String> responseMap = (Map<String, String>) message.getBody().get();
+
+ assertEquals("{customerOrder.orderheader.customerName=Tom Fennelly, customerOrder.items[0].partNumber=1, customerOrder.items[0].description=desc-1, customerOrder.items[0].quantity=1, customerOrder.items[0].price=1.1, customerOrder.items[0].extensionAmount=1, customerOrder.items[1].partNumber=2, customerOrder.items[1].description=desc-2, customerOrder.items[1].quantity=2, customerOrder.items[1].price=2.2, customerOrder.items[1].extensionAmount=2}", responseMap.toString());
+ }
+
+ public void test_No_ResponseProcessing() throws ConfigurationException, ActionProcessingException {
+ ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-03");
+ SOAPClient soapClient = new SOAPClient(actionConfig);
+ Message message = MessageFactory.getInstance().getMessage();
+
+ soapClient.processResponse(message, response_01);
+ assertEquals(response_01, message.getBody().get());
+ }
+
+ public void test_ResponseLocation() throws ConfigurationException, ActionProcessingException {
+ ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-04");
+ SOAPClient soapClient = new SOAPClient(actionConfig);
+ Message message = MessageFactory.getInstance().getMessage();
+
+ soapClient.processResponse(message, response_01);
+ assertEquals(response_01, message.getBody().get("myTestLocation"));
+ }
+
+ public void test_getEndpointOperation() throws ConfigurationException, ActionProcessingException {
+ ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-07");
+ SOAPClient soapClient = new SOAPClient(actionConfig);
+ assertEquals("SendSalesOrderNotification", soapClient.getEndpointOperation());
+ }
+
+ public void test_soapSetSOAPNameSpace() throws ConfigurationException, ActionProcessingException {
+ String expectedSOAPNS = "http://www.w3.org/2003/05/soap-envelope";
+ ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-07");
+ actionConfig.setAttribute( "SOAPNS", expectedSOAPNS );
+ SOAPClient soapClient = new SOAPClient(actionConfig);
+ assertEquals( expectedSOAPNS, soapClient.getSoapNS());
+ }
+
+
+ private static String response_01 =
+ "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
+ "\t<soapenv:Header/>\n" +
+ "\t<soapenv:Body>\n" +
+ "\t\t<aetgt:customerOrderAck xmlns:aetgt=\"http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd\">true</aetgt:customerOrderAck>\n" +
+ "\t</soapenv:Body>\n" +
+ "</soapenv:Envelope>";
+ private static String response_02 =
+ "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
+ "\t<soapenv:Body>\n" +
+ "\t\t<aetgt:customerOrderAck xmlns:aetgt=\"http://schemas.active-endpoints.com/sample/customerorder/2006/04/CustomerOrder.xsd\">false</aetgt:customerOrderAck>\n" +
+ "\t</soapenv:Body>\n" +
+ "</soapenv:Envelope>";
+}
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request)
Deleted: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/MockSOAPClient.java
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/MockSOAPClient.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/MockSOAPClient.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.actions.soap.request;
-
-import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.actions.ActionLifecycleException;
-import org.jboss.soa.esb.actions.soap.SOAPClient;
-import org.jboss.soa.esb.actions.soap.SoapUIInvoker;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.services.soapui.SoapUIClientService;
-import org.xml.sax.SAXException;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class MockSOAPClient extends SOAPClient {
-
- public MockSOAPClient(ConfigTree config) throws ConfigurationException {
- super(config);
- }
-
- public void initialise() throws ActionLifecycleException {
- // intentionally not calling super
-
- try {
- SoapUIInvoker soapUIInvoker = new SoapUIInvoker() {
- private SoapUIClientService service = new SoapUIClientService();
-
- public String buildRequest(String wsdl, String operation, Map params, Properties httpClientProps, String smooksResource, String soapNs) throws IOException, UnsupportedOperationException, SAXException {
- return service.buildRequest(wsdl, operation, params, httpClientProps, smooksResource, soapNs);
- }
- public String getEndpoint(String wsdl, Properties httpClientProps) throws IOException {
- return service.getEndpoint(wsdl, httpClientProps);
- }
- };
-
- setSoapUIInvoker(soapUIInvoker);
- } catch (ConfigurationException e) {
- throw new ActionLifecycleException("Failed to initialize SoapUIInvoker.", e);
- }
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/MockSOAPClient.java (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/MockSOAPClient.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/MockSOAPClient.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/MockSOAPClient.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.actions.soap.request;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.actions.soap.SOAPClient;
+import org.jboss.soa.esb.actions.soap.SoapUIInvoker;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.services.soapui.SoapUIClientService;
+import org.xml.sax.SAXException;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MockSOAPClient extends SOAPClient {
+
+ public MockSOAPClient(ConfigTree config) throws ConfigurationException {
+ super(config);
+ }
+
+ public void initialise() throws ActionLifecycleException {
+ // intentionally not calling super
+
+ try {
+ SoapUIInvoker soapUIInvoker = new SoapUIInvoker() {
+ private SoapUIClientService service = new SoapUIClientService();
+
+ public String buildRequest(String wsdl, String operation, Map params, Properties httpClientProps, String smooksResource, String soapNs) throws IOException, UnsupportedOperationException, SAXException {
+ return service.buildRequest(wsdl, operation, params, httpClientProps, smooksResource, soapNs);
+ }
+ public String getEndpoint(String wsdl, Properties httpClientProps) throws IOException {
+ return service.getEndpoint(wsdl, httpClientProps);
+ }
+ };
+
+ setSoapUIInvoker(soapUIInvoker);
+ } catch (ConfigurationException e) {
+ throw new ActionLifecycleException("Failed to initialize SoapUIInvoker.", e);
+ }
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/SOAPClient_Request_UnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/SOAPClient_Request_UnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/SOAPClient_Request_UnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,84 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006, JBoss Inc.
- */
-package org.jboss.soa.esb.actions.soap.request;
-
-import junit.framework.TestCase;
-import org.jboss.soa.esb.client.ServiceInvoker;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-import org.jboss.soa.esb.testutils.AbstractTestRunner;
-import org.jboss.soa.esb.testutils.jbr.JBRServer;
-import org.jboss.soa.esb.testutils.jbr.StaticRequestResponseHandler;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class SOAPClient_Request_UnitTest extends TestCase {
-
- public void test_request_no_wsdl_endpoint_override() throws Exception {
- // soapclient-request-config-01.xml doesn't define an "endpointURL" which would override the wsdl wsEndpoint
- // being invoked by the SOAPClient...
- test_request("soapclient-request-config-01.xml", "http://localhost:14999/", "http://localhost:15000");
- }
-
- public void test_request_wsdl_endpoint_override() throws Exception {
- // soapclient-request-config-02.xml defines an "endpointURL" which overrides the wsdl wsEndpoint
- // being invoked by the SOAPClient ("http://localhost:15111/")...
- test_request("soapclient-request-config-02.xml", "http://localhost:15111/", "http://localhost:15112");
- }
-
- private void test_request(String esbConfig, String wsEndpoint, final String wsdlEndpoint) throws Exception {
- JBRServer wsdlServer = new JBRServer(wsdlEndpoint, new StaticRequestResponseHandler(getClass().getResourceAsStream("request-test-01.wsdl")));
- StaticRequestResponseHandler wsEndpointHandler = new StaticRequestResponseHandler("<response/>");
- JBRServer wsEndpointServer = new JBRServer(wsEndpoint, wsEndpointHandler);
-
- // Check the SOAP request coming into the Server...
- wsEndpointHandler.setExpectedRequest(getClass().getResourceAsStream("expected-soap-request.xml"));
-
- wsdlServer.start();
- try {
- wsEndpointServer.start();
- try {
- new AbstractTestRunner() {
- public void test() throws Exception {
- ServiceInvoker invoker = new ServiceInvoker("OrderManagement", "GoodbyeService");
- Message message = MessageFactory.getInstance().getMessage();
- Map params = new HashMap();
-
- params.put("sayGoodbye.message", "Goodbye Henry!!");
- message.getBody().add(params);
-
- message = invoker.deliverSync(message, 10000);
-
- String soapResponse = (String) message.getBody().get();
- assertEquals("<response/>", soapResponse);
- }
- }.setServiceConfig(esbConfig).run();
- } finally {
- wsEndpointServer.stop();
- }
- } finally {
- wsdlServer.stop();
- }
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/SOAPClient_Request_UnitTest.java (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/SOAPClient_Request_UnitTest.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/SOAPClient_Request_UnitTest.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/SOAPClient_Request_UnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,84 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.actions.soap.request;
+
+import junit.framework.TestCase;
+import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.testutils.AbstractTestRunner;
+import org.jboss.soa.esb.testutils.jbr.JBRServer;
+import org.jboss.soa.esb.testutils.jbr.StaticRequestResponseHandler;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class SOAPClient_Request_UnitTest extends TestCase {
+
+ public void test_request_no_wsdl_endpoint_override() throws Exception {
+ // soapclient-request-config-01.xml doesn't define an "endpointURL" which would override the wsdl wsEndpoint
+ // being invoked by the SOAPClient...
+ test_request("soapclient-request-config-01.xml", "http://localhost:14999/", "http://localhost:15000");
+ }
+
+ public void test_request_wsdl_endpoint_override() throws Exception {
+ // soapclient-request-config-02.xml defines an "endpointURL" which overrides the wsdl wsEndpoint
+ // being invoked by the SOAPClient ("http://localhost:15111/")...
+ test_request("soapclient-request-config-02.xml", "http://localhost:15111/", "http://localhost:15112");
+ }
+
+ private void test_request(String esbConfig, String wsEndpoint, final String wsdlEndpoint) throws Exception {
+ JBRServer wsdlServer = new JBRServer(wsdlEndpoint, new StaticRequestResponseHandler(getClass().getResourceAsStream("request-test-01.wsdl")));
+ StaticRequestResponseHandler wsEndpointHandler = new StaticRequestResponseHandler("<response/>");
+ JBRServer wsEndpointServer = new JBRServer(wsEndpoint, wsEndpointHandler);
+
+ // Check the SOAP request coming into the Server...
+ wsEndpointHandler.setExpectedRequest(getClass().getResourceAsStream("expected-soap-request.xml"));
+
+ wsdlServer.start();
+ try {
+ wsEndpointServer.start();
+ try {
+ new AbstractTestRunner() {
+ public void test() throws Exception {
+ ServiceInvoker invoker = new ServiceInvoker("OrderManagement", "GoodbyeService");
+ Message message = MessageFactory.getInstance().getMessage();
+ Map params = new HashMap();
+
+ params.put("sayGoodbye.message", "Goodbye Henry!!");
+ message.getBody().add(params);
+
+ message = invoker.deliverSync(message, 10000);
+
+ String soapResponse = (String) message.getBody().get();
+ assertEquals("<response/>", soapResponse);
+ }
+ }.setServiceConfig(esbConfig).run();
+ } finally {
+ wsEndpointServer.stop();
+ }
+ } finally {
+ wsdlServer.stop();
+ }
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/expected-soap-request.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/expected-soap-request.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/expected-soap-request.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,9 +0,0 @@
-<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:good="http://webservice_producer/goodbyeworld">
- <soapenv:Header/>
- <soapenv:Body>
- <good:sayGoodbye>
- <!--Optional:-->
- <message>Goodbye Henry!!</message>
- </good:sayGoodbye>
- </soapenv:Body>
-</soapenv:Envelope>
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/expected-soap-request.xml (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/expected-soap-request.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/expected-soap-request.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/expected-soap-request.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,9 @@
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:good="http://webservice_producer/goodbyeworld">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <good:sayGoodbye>
+ <!--Optional:-->
+ <message>Goodbye Henry!!</message>
+ </good:sayGoodbye>
+ </soapenv:Body>
+</soapenv:Envelope>
Deleted: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/request-test-01.wsdl
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/request-test-01.wsdl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/request-test-01.wsdl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,109 +0,0 @@
-<definitions name='GoodbyeWorldWSService' targetNamespace='http://webservice_producer/goodbyeworld'
- xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
- xmlns:tns='http://webservice_producer/goodbyeworld' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
- <types>
- <xs:schema targetNamespace='http://webservice_producer/goodbyeworld' version='1.0'
- xmlns:tns='http://webservice_producer/goodbyeworld' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
- <xs:element name='sayAdios' type='tns:sayAdios'/>
- <xs:element name='sayAdiosResponse' type='tns:sayAdiosResponse'/>
- <xs:element name='sayGoodbye' type='tns:sayGoodbye'/>
- <xs:element name='sayGoodbyeResponse' type='tns:sayGoodbyeResponse'/>
- <xs:element name='sayGoodbyeWithoutResponse' type='tns:sayGoodbyeWithoutResponse'/>
- <xs:complexType name='sayGoodbye'>
-
- <xs:sequence>
- <xs:element minOccurs='0' name='message' type='xs:string'/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name='sayGoodbyeResponse'>
- <xs:sequence>
- <xs:element minOccurs='0' name='return' type='xs:string'/>
- </xs:sequence>
- </xs:complexType>
-
- <xs:complexType name='sayAdios'>
- <xs:sequence>
- <xs:element minOccurs='0' name='arg0' type='xs:string'/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name='sayAdiosResponse'>
- <xs:sequence>
- <xs:element minOccurs='0' name='return' type='xs:string'/>
- </xs:sequence>
-
- </xs:complexType>
- <xs:complexType name='sayGoodbyeWithoutResponse'>
- <xs:sequence>
- <xs:element minOccurs='0' name='message' type='xs:string'/>
- </xs:sequence>
- </xs:complexType>
- </xs:schema>
- </types>
- <message name='GoodbyeWorldWS_sayAdiosResponse'>
-
- <part element='tns:sayAdiosResponse' name='sayAdiosResponse'></part>
- </message>
- <message name='GoodbyeWorldWS_sayGoodbye'>
- <part element='tns:sayGoodbye' name='sayGoodbye'></part>
- </message>
- <message name='GoodbyeWorldWS_sayGoodbyeResponse'>
- <part element='tns:sayGoodbyeResponse' name='sayGoodbyeResponse'></part>
- </message>
- <message name='GoodbyeWorldWS_sayAdios'>
-
- <part element='tns:sayAdios' name='sayAdios'></part>
- </message>
- <message name='GoodbyeWorldWS_sayGoodbyeWithoutResponse'>
- <part element='tns:sayGoodbyeWithoutResponse' name='sayGoodbyeWithoutResponse'></part>
- </message>
- <portType name='GoodbyeWorldWS'>
- <operation name='sayAdios' parameterOrder='sayAdios'>
- <input message='tns:GoodbyeWorldWS_sayAdios'></input>
- <output message='tns:GoodbyeWorldWS_sayAdiosResponse'></output>
-
- </operation>
- <operation name='sayGoodbye' parameterOrder='sayGoodbye'>
- <input message='tns:GoodbyeWorldWS_sayGoodbye'></input>
- <output message='tns:GoodbyeWorldWS_sayGoodbyeResponse'></output>
- </operation>
- <operation name='sayGoodbyeWithoutResponse'>
- <input message='tns:GoodbyeWorldWS_sayGoodbyeWithoutResponse'></input>
- </operation>
- </portType>
-
- <binding name='GoodbyeWorldWSBinding' type='tns:GoodbyeWorldWS'>
- <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/>
- <operation name='sayAdios'>
- <soap:operation soapAction=''/>
- <input>
- <soap:body use='literal'/>
- </input>
- <output>
- <soap:body use='literal'/>
-
- </output>
- </operation>
- <operation name='sayGoodbye'>
- <soap:operation soapAction=''/>
- <input>
- <soap:body use='literal'/>
- </input>
- <output>
- <soap:body use='literal'/>
-
- </output>
- </operation>
- <operation name='sayGoodbyeWithoutResponse'>
- <soap:operation soapAction=''/>
- <input>
- <soap:body use='literal'/>
- </input>
- </operation>
- </binding>
-
- <service name='GoodbyeWorldWSService'>
- <port binding='tns:GoodbyeWorldWSBinding' name='GoodbyeWorldWSPort'>
- <soap:address location='http://127.0.0.1:14999/'/>
- </port>
- </service>
-</definitions>
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/request-test-01.wsdl (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/request-test-01.wsdl)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/request-test-01.wsdl (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/request-test-01.wsdl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,109 @@
+<definitions name='GoodbyeWorldWSService' targetNamespace='http://webservice_producer/goodbyeworld'
+ xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
+ xmlns:tns='http://webservice_producer/goodbyeworld' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
+ <types>
+ <xs:schema targetNamespace='http://webservice_producer/goodbyeworld' version='1.0'
+ xmlns:tns='http://webservice_producer/goodbyeworld' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
+ <xs:element name='sayAdios' type='tns:sayAdios'/>
+ <xs:element name='sayAdiosResponse' type='tns:sayAdiosResponse'/>
+ <xs:element name='sayGoodbye' type='tns:sayGoodbye'/>
+ <xs:element name='sayGoodbyeResponse' type='tns:sayGoodbyeResponse'/>
+ <xs:element name='sayGoodbyeWithoutResponse' type='tns:sayGoodbyeWithoutResponse'/>
+ <xs:complexType name='sayGoodbye'>
+
+ <xs:sequence>
+ <xs:element minOccurs='0' name='message' type='xs:string'/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name='sayGoodbyeResponse'>
+ <xs:sequence>
+ <xs:element minOccurs='0' name='return' type='xs:string'/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name='sayAdios'>
+ <xs:sequence>
+ <xs:element minOccurs='0' name='arg0' type='xs:string'/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name='sayAdiosResponse'>
+ <xs:sequence>
+ <xs:element minOccurs='0' name='return' type='xs:string'/>
+ </xs:sequence>
+
+ </xs:complexType>
+ <xs:complexType name='sayGoodbyeWithoutResponse'>
+ <xs:sequence>
+ <xs:element minOccurs='0' name='message' type='xs:string'/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:schema>
+ </types>
+ <message name='GoodbyeWorldWS_sayAdiosResponse'>
+
+ <part element='tns:sayAdiosResponse' name='sayAdiosResponse'></part>
+ </message>
+ <message name='GoodbyeWorldWS_sayGoodbye'>
+ <part element='tns:sayGoodbye' name='sayGoodbye'></part>
+ </message>
+ <message name='GoodbyeWorldWS_sayGoodbyeResponse'>
+ <part element='tns:sayGoodbyeResponse' name='sayGoodbyeResponse'></part>
+ </message>
+ <message name='GoodbyeWorldWS_sayAdios'>
+
+ <part element='tns:sayAdios' name='sayAdios'></part>
+ </message>
+ <message name='GoodbyeWorldWS_sayGoodbyeWithoutResponse'>
+ <part element='tns:sayGoodbyeWithoutResponse' name='sayGoodbyeWithoutResponse'></part>
+ </message>
+ <portType name='GoodbyeWorldWS'>
+ <operation name='sayAdios' parameterOrder='sayAdios'>
+ <input message='tns:GoodbyeWorldWS_sayAdios'></input>
+ <output message='tns:GoodbyeWorldWS_sayAdiosResponse'></output>
+
+ </operation>
+ <operation name='sayGoodbye' parameterOrder='sayGoodbye'>
+ <input message='tns:GoodbyeWorldWS_sayGoodbye'></input>
+ <output message='tns:GoodbyeWorldWS_sayGoodbyeResponse'></output>
+ </operation>
+ <operation name='sayGoodbyeWithoutResponse'>
+ <input message='tns:GoodbyeWorldWS_sayGoodbyeWithoutResponse'></input>
+ </operation>
+ </portType>
+
+ <binding name='GoodbyeWorldWSBinding' type='tns:GoodbyeWorldWS'>
+ <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/>
+ <operation name='sayAdios'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+
+ </output>
+ </operation>
+ <operation name='sayGoodbye'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+
+ </output>
+ </operation>
+ <operation name='sayGoodbyeWithoutResponse'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal'/>
+ </input>
+ </operation>
+ </binding>
+
+ <service name='GoodbyeWorldWSService'>
+ <port binding='tns:GoodbyeWorldWSBinding' name='GoodbyeWorldWSPort'>
+ <soap:address location='http://127.0.0.1:14999/'/>
+ </port>
+ </service>
+</definitions>
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-01.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-01.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,17 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
-
- <services>
- <service category="OrderManagement" name="GoodbyeService" description="Goodbye Service" invmScope="GLOBAL">
- <actions>
- <action name="invoke-ws" class="org.jboss.soa.esb.actions.soap.request.MockSOAPClient">
- <property name="wsdl" value="http://localhost:15000/"/>
- <!-- Not overridding the the WS endpoint URL with the "endpointUrl" property. SOAPClient will
- use that defined in the WSDL -->
- <property name="SOAPAction" value="sayGoodbye"/>
- </action>
- </actions>
- </service>
- </services>
-
-</jbossesb>
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-01.xml (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-01.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-01.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,17 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
+
+ <services>
+ <service category="OrderManagement" name="GoodbyeService" description="Goodbye Service" invmScope="GLOBAL">
+ <actions>
+ <action name="invoke-ws" class="org.jboss.soa.esb.actions.soap.request.MockSOAPClient">
+ <property name="wsdl" value="http://localhost:15000/"/>
+ <!-- Not overridding the the WS endpoint URL with the "endpointUrl" property. SOAPClient will
+ use that defined in the WSDL -->
+ <property name="SOAPAction" value="sayGoodbye"/>
+ </action>
+ </actions>
+ </service>
+ </services>
+
+</jbossesb>
Deleted: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-02.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-02.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-02.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,16 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
-
- <services>
- <service category="OrderManagement" name="GoodbyeService" description="Goodbye Service" invmScope="GLOBAL">
- <actions>
- <action name="invoke-ws" class="org.jboss.soa.esb.actions.soap.request.MockSOAPClient">
- <property name="wsdl" value="http://localhost:15112/"/>
- <property name="endpointUrl" value="http://localhost:15111/"/> <!-- Overriding the WS endpoint URL, so not using that defined in the -->
- <property name="SOAPAction" value="sayGoodbye"/>
- </action>
- </actions>
- </service>
- </services>
-
-</jbossesb>
Copied: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-02.xml (from rev 21158, labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-02.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-02.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/request/soapclient-request-config-02.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,16 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
+
+ <services>
+ <service category="OrderManagement" name="GoodbyeService" description="Goodbye Service" invmScope="GLOBAL">
+ <actions>
+ <action name="invoke-ws" class="org.jboss.soa.esb.actions.soap.request.MockSOAPClient">
+ <property name="wsdl" value="http://localhost:15112/"/>
+ <property name="endpointUrl" value="http://localhost:15111/"/> <!-- Overriding the WS endpoint URL, so not using that defined in the -->
+ <property name="SOAPAction" value="sayGoodbye"/>
+ </action>
+ </actions>
+ </service>
+ </services>
+
+</jbossesb>
Modified: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-in.wsdl
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-in.wsdl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-in.wsdl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -13,7 +13,7 @@
<message name="GoodbyeWorldWS_sayGoodbyeResponse">
<part name="result" type="xsd:string"/>
</message>
- <portType name="GoodbyeWorldWS">
+ <portType name="ReptilesNotifyWS">
<operation name="sayGoodbye" parameterOrder="String_1">
<input message="tns:GoodbyeWorldWS_sayGoodbye"/>
@@ -25,7 +25,7 @@
</operation>
</portType>
- <binding name="GoodbyeWorldWSBinding" type="tns:GoodbyeWorldWS">
+ <binding name="GoodbyeWorldWSBinding" type="tns:ReptilesNotifyWS">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="sayGoodbye">
<soap:operation soapAction=""/>
Modified: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-out-expected-http-rewrite.wsdl
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-out-expected-http-rewrite.wsdl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-out-expected-http-rewrite.wsdl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -12,7 +12,7 @@
<message name="GoodbyeWorldWS_sayGoodbyeResponse">
<part name="result" type="xsd:string"/>
</message>
- <portType name="GoodbyeWorldWS">
+ <portType name="ReptilesNotifyWS">
<operation name="sayGoodbye" parameterOrder="String_1">
<input message="tns:GoodbyeWorldWS_sayGoodbye"/>
@@ -24,7 +24,7 @@
</operation>
</portType>
- <binding name="GoodbyeWorldWSBinding" type="tns:GoodbyeWorldWS">
+ <binding name="GoodbyeWorldWSBinding" type="tns:ReptilesNotifyWS">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="sayGoodbye">
<soap:operation soapAction=""/>
Modified: labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-out-expected.wsdl
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-out-expected.wsdl 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/test-out-expected.wsdl 2008-07-22 12:21:06 UTC (rev 21159)
@@ -12,7 +12,7 @@
<message name="GoodbyeWorldWS_sayGoodbyeResponse">
<part name="result" type="xsd:string"/>
</message>
- <portType name="GoodbyeWorldWS">
+ <portType name="ReptilesNotifyWS">
<operation name="sayGoodbye" parameterOrder="String_1">
<input message="tns:GoodbyeWorldWS_sayGoodbye"/>
@@ -24,7 +24,7 @@
</operation>
</portType>
- <binding name="GoodbyeWorldWSBinding" type="tns:GoodbyeWorldWS">
+ <binding name="GoodbyeWorldWSBinding" type="tns:ReptilesNotifyWS">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/socket"/>
<operation name="sayGoodbye">
<soap:operation soapAction=""/>
Modified: labs/jbossesb/workspace/maeste/product/services/soapui-client/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -53,8 +53,7 @@
<delete dir="${sar.dir}" />
<mkdir dir="${sar.dir}" />
<copy todir="${sar.dir}">
- <fileset dir="src" includes="lib/*.jar" excludes="lib/jboss-*.jar" />
- <fileset dir="src" includes="lib/jboss-common.jar" />
+ <fileset dir="src" includes="lib/*.jar"/>
<fileset dir="src/main/resources" />
<fileset dir="../../build/jbossesb/lib" includes="jbossesb-rosetta.jar" />
<fileset dir="../smooks/lib/ext" includes="milyn-*.jar" />
Modified: labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.iml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.iml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.iml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,209 +1,208 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module version="4" relativePaths="false" type="JAVA_MODULE">
- <component name="ModuleRootManager" />
- <component name="NewModuleRootManager" inherit-compiler-output="false">
- <output url="file://$MODULE_DIR$/target/classes" />
- <exclude-output />
- <output-test url="file://$MODULE_DIR$/target/test-classes" />
- <content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/resources" isTestSource="true" />
- <excludeFolder url="file://$MODULE_DIR$/target" />
- </content>
- <orderEntry type="inheritedJdk" />
- <orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/eviware/soapui-xmlbeans/1.7/soapui-xmlbeans-1.7.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/xmlbeans/xbean/2.2.0/xbean-2.2.0.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/log4j/log4j/1.2.8/log4j-1.2.8.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/ognl/ognl/2.6.9/ognl-2.6.9.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/milyn/milyn-commons/0.9-SNAPSHOT/milyn-commons-0.9-SNAPSHOT.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/com/jgoodies/looks/2.1.2/looks-2.1.2.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/junit/junit/4.1/junit-4.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/commons-codec/commons-codec/1.2/commons-codec-1.2.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/eviware/soapui/1.7/soapui-1.7.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://H:/Jboss/ESB/trunk/product/build/jbossesb/lib/jbossesb-rosetta.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/xalan/xalan/2.7.0/xalan-2.7.0.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/src/lib/wsdl4j-1.6.2.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/src/lib/jboss-system.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://H:/Jboss/ESB/trunk/product/lib/ext/jbossall-client.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/src/lib/jsr173_1.0_api-xmlbeans-2.2.0.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/src/lib/jboss-system-client.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntryProperties />
- </component>
-</module>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<module relativePaths="false" type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/target/classes" />
+ <exclude-output />
+ <output-test url="file://$MODULE_DIR$/target/test-classes" />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test/resources" isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/target" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/eviware/soapui-xmlbeans/1.7/soapui-xmlbeans-1.7.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/xmlbeans/xbean/2.2.0/xbean-2.2.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/log4j/log4j/1.2.8/log4j-1.2.8.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/ognl/ognl/2.6.9/ognl-2.6.9.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/milyn/milyn-commons/0.9-SNAPSHOT/milyn-commons-0.9-SNAPSHOT.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/com/jgoodies/looks/2.1.2/looks-2.1.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/junit/junit/4.1/junit-4.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/commons-codec/commons-codec/1.2/commons-codec-1.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/eviware/soapui/1.7/soapui-1.7.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://H:/Jboss/ESB/trunk/product/build/jbossesb/lib/jbossesb-rosetta.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/xalan/xalan/2.7.0/xalan-2.7.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/src/lib/wsdl4j-1.6.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/src/lib/jboss-system.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://H:/Jboss/ESB/trunk/product/lib/ext/jbossall-client.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/src/lib/jsr173_1.0_api-xmlbeans-2.2.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://C:/Documents and Settings/Tom Fennelly/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/src/lib/jboss-system-client.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntryProperties />
+ </component>
+</module>
+
Modified: labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.ipr
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.ipr 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.ipr 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,292 +1,338 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4" relativePaths="false">
- <component name="AntConfiguration">
- <defaultAnt bundledAnt="true" />
- </component>
- <component name="BuildJarProjectSettings">
- <option name="BUILD_JARS_ON_MAKE" value="false" />
- </component>
- <component name="CodeStyleManager">
- <option name="USE_DEFAULT_CODE_STYLE_SCHEME" value="true" />
- <option name="CODE_STYLE_SCHEME" value="" />
- </component>
- <component name="CodeStyleProjectProfileManger">
- <option name="PROJECT_PROFILE" />
- <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
- </component>
- <component name="CodeStyleSettingsManager">
- <option name="PER_PROJECT_SETTINGS" />
- <option name="USE_PER_PROJECT_SETTINGS" value="false" />
- </component>
- <component name="CompilerConfiguration">
- <option name="DEFAULT_COMPILER" value="Javac" />
- <option name="DEPLOY_AFTER_MAKE" value="0" />
- <excludeFromCompile>
- <file url="file://H:/Jboss/ESB/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java" />
- <file url="file://H:/Jboss/ESB/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java" />
- </excludeFromCompile>
- <resourceExtensions />
- <wildcardResourcePatterns>
- <entry name="!?*.java" />
- </wildcardResourcePatterns>
- </component>
- <component name="DataSourceManager" />
- <component name="DataSourceManagerImpl" />
- <component name="DependenciesAnalyzeManager">
- <option name="myForwardDirection" value="false" />
- </component>
- <component name="DependencyValidationManager" />
- <component name="EclipseCompilerSettings">
- <option name="DEBUGGING_INFO" value="true" />
- <option name="GENERATE_NO_WARNINGS" value="true" />
- <option name="DEPRECATION" value="false" />
- <option name="ADDITIONAL_OPTIONS_STRING" value="" />
- <option name="MAXIMUM_HEAP_SIZE" value="128" />
- </component>
- <component name="EclipseEmbeddedCompilerSettings">
- <option name="DEBUGGING_INFO" value="true" />
- <option name="GENERATE_NO_WARNINGS" value="true" />
- <option name="DEPRECATION" value="false" />
- <option name="ADDITIONAL_OPTIONS_STRING" value="" />
- <option name="MAXIMUM_HEAP_SIZE" value="128" />
- </component>
- <component name="EntryPointsManager">
- <entry_points />
- </component>
- <component name="ExportToHTMLSettings">
- <option name="PRINT_LINE_NUMBERS" value="false" />
- <option name="OPEN_IN_BROWSER" value="false" />
- <option name="OUTPUT_DIRECTORY" />
- </component>
- <component name="GUI Designer component loader factory" />
- <component name="IdProvider" IDEtalkID="CC00DEA8EC72CCAE06854CBE4C29A6E5" />
- <component name="ImportConfiguration">
- <option name="VENDOR" />
- <option name="RELEASE_TAG" />
- <option name="LOG_MESSAGE" />
- <option name="CHECKOUT_AFTER_IMPORT" value="true" />
- </component>
- <component name="InspectionProjectProfileManager">
- <option name="PROJECT_PROFILE" value="Project Default" />
- <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
- <scopes />
- <profiles>
- <profile version="1.0" is_locked="false">
- <option name="myName" value="Project Default" />
- <option name="myLocal" value="false" />
- <used_levels>
- <error>
- <option name="myName" value="ERROR" />
- <option name="myVal" value="400" />
- </error>
- <warning>
- <option name="myName" value="WARNING" />
- <option name="myVal" value="300" />
- </warning>
- <information>
- <option name="myName" value="INFO" />
- <option name="myVal" value="200" />
- </information>
- <server>
- <option name="myName" value="SERVER PROBLEM" />
- <option name="myVal" value="100" />
- </server>
- </used_levels>
- </profile>
- </profiles>
- </component>
- <component name="JUnitProjectSettings">
- <option name="TEST_RUNNER" value="UI" />
- </component>
- <component name="JavacSettings">
- <option name="DEBUGGING_INFO" value="true" />
- <option name="GENERATE_NO_WARNINGS" value="false" />
- <option name="DEPRECATION" value="true" />
- <option name="ADDITIONAL_OPTIONS_STRING" value="" />
- <option name="MAXIMUM_HEAP_SIZE" value="128" />
- </component>
- <component name="JavadocGenerationManager">
- <option name="OUTPUT_DIRECTORY" />
- <option name="OPTION_SCOPE" value="protected" />
- <option name="OPTION_HIERARCHY" value="false" />
- <option name="OPTION_NAVIGATOR" value="false" />
- <option name="OPTION_INDEX" value="false" />
- <option name="OPTION_SEPARATE_INDEX" value="false" />
- <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
- <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
- <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
- <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="false" />
- <option name="OPTION_DEPRECATED_LIST" value="false" />
- <option name="OTHER_OPTIONS" />
- <option name="HEAP_SIZE" />
- <option name="LOCALE" />
- <option name="OPEN_IN_BROWSER" value="false" />
- </component>
- <component name="JikesSettings">
- <option name="JIKES_PATH" value="" />
- <option name="DEBUGGING_INFO" value="true" />
- <option name="DEPRECATION" value="true" />
- <option name="GENERATE_NO_WARNINGS" value="false" />
- <option name="IS_EMACS_ERRORS_MODE" value="true" />
- <option name="ADDITIONAL_OPTIONS_STRING" value="" />
- </component>
- <component name="LogConsolePreferences">
- <option name="FILTER_ERRORS" value="false" />
- <option name="FILTER_WARNINGS" value="false" />
- <option name="FILTER_INFO" value="true" />
- <option name="CUSTOM_FILTER" />
- </component>
- <component name="Palette2">
- <group name="Swing">
- <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
- </item>
- <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
- </item>
- <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
- </item>
- <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
- <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
- </item>
- <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
- <initial-values>
- <property name="text" value="Button" />
- </initial-values>
- </item>
- <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
- <initial-values>
- <property name="text" value="RadioButton" />
- </initial-values>
- </item>
- <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
- <initial-values>
- <property name="text" value="CheckBox" />
- </initial-values>
- </item>
- <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
- <initial-values>
- <property name="text" value="Label" />
- </initial-values>
- </item>
- <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
- <preferred-size width="150" height="-1" />
- </default-constraints>
- </item>
- <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
- <preferred-size width="150" height="-1" />
- </default-constraints>
- </item>
- <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
- <preferred-size width="150" height="-1" />
- </default-constraints>
- </item>
- <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
- </item>
- <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
- <preferred-size width="150" height="50" />
- </default-constraints>
- </item>
- <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
- <preferred-size width="200" height="200" />
- </default-constraints>
- </item>
- <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
- <preferred-size width="200" height="200" />
- </default-constraints>
- </item>
- <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
- </item>
- <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
- </item>
- <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
- </item>
- <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
- </item>
- <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
- <preferred-size width="-1" height="20" />
- </default-constraints>
- </item>
- <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
- <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
- </item>
- <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
- <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
- </item>
- </group>
- </component>
- <component name="ProjectModuleManager">
- <modules>
- <module fileurl="file://H:/Jboss/ESB/trunk/product/product.iml" filepath="H:/Jboss/ESB/trunk/product/product.iml" />
- <module fileurl="file://$PROJECT_DIR$/soapui-client.iml" filepath="$PROJECT_DIR$/soapui-client.iml" />
- </modules>
- </component>
- <component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="true" project-jdk-name="1.5" />
- <component name="ProjectRunConfigurationManager" />
- <component name="RmicSettings">
- <option name="IS_EANABLED" value="false" />
- <option name="DEBUGGING_INFO" value="true" />
- <option name="GENERATE_NO_WARNINGS" value="false" />
- <option name="GENERATE_IIOP_STUBS" value="false" />
- <option name="ADDITIONAL_OPTIONS_STRING" value="" />
- </component>
- <component name="StarteamVcsAdapter" />
- <component name="VssVcs" />
- <component name="com.intellij.jsf.UserDefinedFacesConfigs">
- <option name="USER_DEFINED_CONFIGS">
- <value>
- <list size="0" />
- </value>
- </option>
- </component>
- <component name="libraryTable" />
- <component name="uidesigner-configuration">
- <option name="INSTRUMENT_CLASSES" value="true" />
- <option name="COPY_FORMS_RUNTIME_TO_OUTPUT" value="true" />
- <option name="DEFAULT_LAYOUT_MANAGER" value="GridLayoutManager" />
- </component>
- <UsedPathMacros />
-</project>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<project relativePaths="false" version="4">
+ <component name="AntConfiguration">
+ <defaultAnt bundledAnt="true" />
+ </component>
+ <component name="BuildJarProjectSettings">
+ <option name="BUILD_JARS_ON_MAKE" value="false" />
+ </component>
+ <component name="CodeStyleManager">
+ <option name="USE_DEFAULT_CODE_STYLE_SCHEME" value="true" />
+ <option name="CODE_STYLE_SCHEME" value="" />
+ </component>
+ <component name="CodeStyleProjectProfileManger">
+ <option name="PROJECT_PROFILE" />
+ <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+ </component>
+ <component name="CodeStyleSettingsManager">
+ <option name="PER_PROJECT_SETTINGS" />
+ <option name="USE_PER_PROJECT_SETTINGS" value="false" />
+ </component>
+ <component name="CompilerConfiguration">
+ <option name="DEFAULT_COMPILER" value="Javac" />
+ <option name="DEPLOY_AFTER_MAKE" value="0" />
+ <excludeFromCompile>
+ <file url="file://H:/Jboss/ESB/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java" />
+ <file url="file://H:/Jboss/ESB/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java" />
+ </excludeFromCompile>
+ <resourceExtensions />
+ <wildcardResourcePatterns>
+ <entry name="!?*.java" />
+ </wildcardResourcePatterns>
+ </component>
+ <component name="DependenciesAnalyzeManager">
+ <option name="myForwardDirection" value="false" />
+ </component>
+ <component name="DependencyValidationManager">
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+ </component>
+ <component name="EclipseCompilerSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="true" />
+ <option name="DEPRECATION" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="EclipseEmbeddedCompilerSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="true" />
+ <option name="DEPRECATION" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="EntryPointsManager">
+ <entry_points version="2.0" />
+ </component>
+ <component name="ExportToHTMLSettings">
+ <option name="PRINT_LINE_NUMBERS" value="false" />
+ <option name="OPEN_IN_BROWSER" value="false" />
+ <option name="OUTPUT_DIRECTORY" />
+ </component>
+ <component name="IdProvider" IDEtalkID="CC00DEA8EC72CCAE06854CBE4C29A6E5" />
+ <component name="ImportConfiguration">
+ <option name="VENDOR" />
+ <option name="RELEASE_TAG" />
+ <option name="LOG_MESSAGE" />
+ <option name="CHECKOUT_AFTER_IMPORT" value="true" />
+ </component>
+ <component name="InspectionProjectProfileManager">
+ <option name="PROJECT_PROFILE" value="Project Default" />
+ <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+ <scopes />
+ <profiles>
+ <profile version="1.0" is_locked="false">
+ <option name="myName" value="Project Default" />
+ <option name="myLocal" value="false" />
+ </profile>
+ </profiles>
+ <list size="0" />
+ </component>
+ <component name="IntelliJadProjectConfigComponent">
+ <config>
+ <a type="boolean">false</a>
+ <af type="boolean">false</af>
+ <always-exclude-recursively type="boolean" />
+ <b type="boolean">false</b>
+ <clear type="boolean">false</clear>
+ <clear-and-close-console-on-success type="boolean" />
+ <create-output-directory type="boolean" />
+ <d type="string" />
+ <dead type="boolean">false</dead>
+ <decompile-on-navigation type="string">Always</decompile-on-navigation>
+ <decompile-to-memory type="boolean">true</decompile-to-memory>
+ <dis type="boolean">false</dis>
+ <exclusion-table-model type="table-model" model-class="net.stevechaloner.intellijad.config.ExclusionTableModel" content-types="string,boolean,boolean" />
+ <f type="boolean">false</f>
+ <ff type="boolean">false</ff>
+ <i type="boolean">false</i>
+ <indentation type="integer">4</indentation>
+ <jad-path type="string" />
+ <l type="integer">64</l>
+ <lnc type="boolean">false</lnc>
+ <lradix type="integer">10</lradix>
+ <nl type="boolean">false</nl>
+ <nocast type="boolean">false</nocast>
+ <noclass type="boolean">false</noclass>
+ <nocode type="boolean">false</nocode>
+ <noconv type="boolean">false</noconv>
+ <noctor type="boolean">false</noctor>
+ <nodos type="boolean">false</nodos>
+ <nofd type="boolean">false</nofd>
+ <noinner type="boolean">false</noinner>
+ <nolvt type="boolean">false</nolvt>
+ <nonlb type="boolean">false</nonlb>
+ <o type="boolean">false</o>
+ <pa type="string" />
+ <pc type="string">_cls</pc>
+ <pe type="string">_ex</pe>
+ <pf type="string">_fld</pf>
+ <pl type="string">_lcl</pl>
+ <pm type="string">_mth</pm>
+ <pp type="string">_prm</pp>
+ <pv type="integer">3</pv>
+ <r type="boolean">false</r>
+ <radix type="integer">10</radix>
+ <read-only type="boolean" />
+ <reformat-style type="string">Preferred-Style</reformat-style>
+ <s type="string">java</s>
+ <safe type="boolean">false</safe>
+ <sort type="boolean" />
+ <space type="boolean">false</space>
+ <stat type="boolean">false</stat>
+ <t type="boolean">false</t>
+ <use-project-specific-settings type="boolean" />
+ <v type="boolean">false</v>
+ </config>
+ </component>
+ <component name="JUnitProjectSettings">
+ <option name="TEST_RUNNER" value="UI" />
+ </component>
+ <component name="JavacSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="false" />
+ <option name="DEPRECATION" value="true" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="JavadocGenerationManager">
+ <option name="OUTPUT_DIRECTORY" />
+ <option name="OPTION_SCOPE" value="protected" />
+ <option name="OPTION_HIERARCHY" value="false" />
+ <option name="OPTION_NAVIGATOR" value="false" />
+ <option name="OPTION_INDEX" value="false" />
+ <option name="OPTION_SEPARATE_INDEX" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="false" />
+ <option name="OPTION_DEPRECATED_LIST" value="false" />
+ <option name="OTHER_OPTIONS" />
+ <option name="HEAP_SIZE" />
+ <option name="LOCALE" />
+ <option name="OPEN_IN_BROWSER" value="false" />
+ </component>
+ <component name="JikesSettings">
+ <option name="JIKES_PATH" value="" />
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="DEPRECATION" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="false" />
+ <option name="IS_EMACS_ERRORS_MODE" value="true" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ </component>
+ <component name="LogConsolePreferences">
+ <option name="FILTER_ERRORS" value="false" />
+ <option name="FILTER_WARNINGS" value="false" />
+ <option name="FILTER_INFO" value="true" />
+ <option name="CUSTOM_FILTER" />
+ </component>
+ <component name="Palette2">
+ <group name="Swing">
+ <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+ </item>
+ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+ <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+ <initial-values>
+ <property name="text" value="Button" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="RadioButton" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="CheckBox" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="Label" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+ </item>
+ </group>
+ </component>
+ <component name="ProjectFileVersion" converted="true" />
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://H:/Jboss/ESB/trunk/product/product.iml" filepath="H:/Jboss/ESB/trunk/product/product.iml" />
+ <module fileurl="file://$PROJECT_DIR$/soapui-client.iml" filepath="$PROJECT_DIR$/soapui-client.iml" />
+ </modules>
+ </component>
+ <component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="true" project-jdk-name="1.5" />
+ <component name="ResourceManagerContainer">
+ <option name="myResourceBundles">
+ <value>
+ <list size="0" />
+ </value>
+ </option>
+ </component>
+ <component name="RmicSettings">
+ <option name="IS_EANABLED" value="false" />
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="false" />
+ <option name="GENERATE_IIOP_STUBS" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ </component>
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="svn" />
+ </component>
+ <component name="WebServicesPlugin" addRequiredLibraries="true" />
+ <component name="com.intellij.jsf.UserDefinedFacesConfigs">
+ <option name="USER_DEFINED_CONFIGS">
+ <value>
+ <list size="0" />
+ </value>
+ </option>
+ </component>
+ <component name="uidesigner-configuration">
+ <option name="INSTRUMENT_CLASSES" value="true" />
+ <option name="COPY_FORMS_RUNTIME_TO_OUTPUT" value="true" />
+ <option name="DEFAULT_LAYOUT_MANAGER" value="GridLayoutManager" />
+ </component>
+</project>
+
Modified: labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.iws
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.iws 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/soapui-client.iws 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,1139 +1,883 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4" relativePaths="false">
- <component name="AppServerRunManager" />
- <component name="AspectsView" />
- <component name="BookmarkManager" />
- <component name="ChangeBrowserSettings">
- <option name="MAIN_SPLITTER_PROPORTION" value="0.3" />
- <option name="MESSAGES_SPLITTER_PROPORTION" value="0.8" />
- <option name="USE_DATE_BEFORE_FILTER" value="false" />
- <option name="USE_DATE_AFTER_FILTER" value="false" />
- <option name="USE_CHANGE_BEFORE_FILTER" value="false" />
- <option name="USE_CHANGE_AFTER_FILTER" value="false" />
- <option name="DATE_BEFORE" value="" />
- <option name="DATE_AFTER" value="" />
- <option name="CHANGE_BEFORE" value="" />
- <option name="CHANGE_AFTER" value="" />
- <option name="USE_USER_FILTER" value="false" />
- <option name="USER" value="" />
- </component>
- <component name="ChangeListManager">
- <list default="true" name="Default" comment="" />
- </component>
- <component name="ChangeListSynchronizer" />
- <component name="ChangesViewManager" flattened_view="true" />
- <component name="CheckinPanelState" />
- <component name="Commander">
- <leftPanel />
- <rightPanel />
- <splitter proportion="0.5" />
- </component>
- <component name="CompilerWorkspaceConfiguration">
- <option name="COMPILE_IN_BACKGROUND" value="false" />
- <option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true" />
- <option name="CLOSE_MESSAGE_VIEW_IF_SUCCESS" value="true" />
- <option name="COMPILE_DEPENDENT_FILES" value="false" />
- <option name="CLEAR_OUTPUT_DIRECTORY" value="false" />
- <option name="ASSERT_NOT_NULL" value="true" />
- </component>
- <component name="CoverageDataManager" />
- <component name="Cvs2Configuration">
- <option name="PRUNE_EMPTY_DIRECTORIES" value="true" />
- <option name="MERGING_MODE" value="0" />
- <option name="MERGE_WITH_BRANCH1_NAME" value="HEAD" />
- <option name="MERGE_WITH_BRANCH2_NAME" value="HEAD" />
- <option name="RESET_STICKY" value="false" />
- <option name="CREATE_NEW_DIRECTORIES" value="true" />
- <option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv" />
- <option name="PROCESS_UNKNOWN_FILES" value="false" />
- <option name="PROCESS_DELETED_FILES" value="false" />
- <option name="PROCESS_IGNORED_FILES" value="false" />
- <option name="RESERVED_EDIT" value="false" />
- <option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
- <value>
- <option name="BRANCH" value="" />
- <option name="DATE" value="" />
- <option name="USE_BRANCH" value="false" />
- <option name="USE_DATE" value="false" />
- </value>
- </option>
- <option name="UPDATE_DATE_OR_REVISION_SETTINGS">
- <value>
- <option name="BRANCH" value="" />
- <option name="DATE" value="" />
- <option name="USE_BRANCH" value="false" />
- <option name="USE_DATE" value="false" />
- </value>
- </option>
- <option name="SHOW_CHANGES_REVISION_SETTINGS">
- <value>
- <option name="BRANCH" value="" />
- <option name="DATE" value="" />
- <option name="USE_BRANCH" value="false" />
- <option name="USE_DATE" value="false" />
- </value>
- </option>
- <option name="SHOW_OUTPUT" value="false" />
- <option name="ADD_WATCH_INDEX" value="0" />
- <option name="REMOVE_WATCH_INDEX" value="0" />
- <option name="UPDATE_KEYWORD_SUBSTITUTION" />
- <option name="MAKE_NEW_FILES_READONLY" value="false" />
- <option name="SHOW_CORRUPTED_PROJECT_FILES" value="0" />
- <option name="TAG_AFTER_PROJECT_COMMIT" value="false" />
- <option name="OVERRIDE_EXISTING_TAG_FOR_PROJECT" value="true" />
- <option name="TAG_AFTER_PROJECT_COMMIT_NAME" value="" />
- <option name="CLEAN_COPY" value="false" />
- </component>
- <component name="CvsTabbedWindow" />
- <component name="DaemonCodeAnalyzer">
- <disable_hints />
- </component>
- <component name="DebuggerManager">
- <breakpoint_any>
- <breakpoint>
- <option name="NOTIFY_CAUGHT" value="true" />
- <option name="NOTIFY_UNCAUGHT" value="true" />
- <option name="ENABLED" value="false" />
- <option name="SUSPEND_POLICY" value="SuspendAll" />
- <option name="LOG_ENABLED" value="false" />
- <option name="LOG_EXPRESSION_ENABLED" value="false" />
- <option name="COUNT_FILTER_ENABLED" value="false" />
- <option name="COUNT_FILTER" value="0" />
- <option name="CONDITION_ENABLED" value="false" />
- <option name="CLASS_FILTERS_ENABLED" value="false" />
- <option name="INSTANCE_FILTERS_ENABLED" value="false" />
- <option name="CONDITION" value="" />
- <option name="LOG_MESSAGE" value="" />
- </breakpoint>
- <breakpoint>
- <option name="NOTIFY_CAUGHT" value="true" />
- <option name="NOTIFY_UNCAUGHT" value="true" />
- <option name="ENABLED" value="false" />
- <option name="SUSPEND_POLICY" value="SuspendAll" />
- <option name="LOG_ENABLED" value="false" />
- <option name="LOG_EXPRESSION_ENABLED" value="false" />
- <option name="COUNT_FILTER_ENABLED" value="false" />
- <option name="COUNT_FILTER" value="0" />
- <option name="CONDITION_ENABLED" value="false" />
- <option name="CLASS_FILTERS_ENABLED" value="false" />
- <option name="INSTANCE_FILTERS_ENABLED" value="false" />
- <option name="CONDITION" value="" />
- <option name="LOG_MESSAGE" value="" />
- </breakpoint>
- </breakpoint_any>
- <breakpoint_rules />
- <ui_properties />
- </component>
- <component name="DebuggerSettings">
- <option name="TRACING_FILTERS_ENABLED" value="true" />
- <option name="TOSTRING_CLASSES_ENABLED" value="false" />
- <option name="VALUE_LOOKUP_DELAY" value="700" />
- <option name="DEBUGGER_TRANSPORT" value="0" />
- <option name="FORCE_CLASSIC_VM" value="true" />
- <option name="HIDE_DEBUGGER_ON_PROCESS_TERMINATION" value="false" />
- <option name="SKIP_SYNTHETIC_METHODS" value="true" />
- <option name="SKIP_CONSTRUCTORS" value="false" />
- <option name="STEP_THREAD_SUSPEND_POLICY" value="SuspendThread" />
- <default_breakpoint_settings>
- <option name="NOTIFY_CAUGHT" value="true" />
- <option name="NOTIFY_UNCAUGHT" value="true" />
- <option name="WATCH_MODIFICATION" value="true" />
- <option name="WATCH_ACCESS" value="true" />
- <option name="WATCH_ENTRY" value="true" />
- <option name="WATCH_EXIT" value="true" />
- <option name="ENABLED" value="true" />
- <option name="SUSPEND_VM" value="true" />
- <option name="COUNT_FILTER_ENABLED" value="false" />
- <option name="COUNT_FILTER" value="0" />
- <option name="CONDITION_ENABLED" value="false" />
- <option name="CONDITION" />
- <option name="LOG_ENABLED" value="false" />
- <option name="LOG_EXPRESSION_ENABLED" value="false" />
- <option name="LOG_MESSAGE" />
- <option name="CLASS_FILTERS_ENABLED" value="false" />
- <option name="INVERSE_CLASS_FILLTERS" value="false" />
- <option name="SUSPEND_POLICY" value="SuspendAll" />
- </default_breakpoint_settings>
- <filter>
- <option name="PATTERN" value="com.sun.*" />
- <option name="ENABLED" value="true" />
- </filter>
- <filter>
- <option name="PATTERN" value="java.*" />
- <option name="ENABLED" value="true" />
- </filter>
- <filter>
- <option name="PATTERN" value="javax.*" />
- <option name="ENABLED" value="true" />
- </filter>
- <filter>
- <option name="PATTERN" value="org.omg.*" />
- <option name="ENABLED" value="true" />
- </filter>
- <filter>
- <option name="PATTERN" value="sun.*" />
- <option name="ENABLED" value="true" />
- </filter>
- <filter>
- <option name="PATTERN" value="junit.*" />
- <option name="ENABLED" value="true" />
- </filter>
- </component>
- <component name="EjbViewSettings">
- <EjbView showMembers="false" autoscrollToSource="false" />
- </component>
- <component name="ErrorTreeViewConfiguration">
- <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
- <option name="HIDE_WARNINGS" value="false" />
- </component>
- <component name="FavoritesManager">
- <favorites_list name="soapui-client" />
- </component>
- <component name="FavoritesProjectViewPane">
- <subPane subId="soapui-client">
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" />
- <option name="myItemType" value="com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor" />
- </PATH_ELEMENT>
- </PATH>
- </subPane>
- </component>
- <component name="FileEditorManager">
- <leaf />
- </component>
- <component name="FindManager">
- <FindUsagesManager>
- <setting name="OPEN_NEW_TAB" value="false" />
- </FindUsagesManager>
- </component>
- <component name="HierarchyBrowserManager">
- <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
- <option name="SORT_ALPHABETICALLY" value="false" />
- <option name="HIDE_CLASSES_WHERE_METHOD_NOT_IMPLEMENTED" value="false" />
- </component>
- <component name="InspectionManager">
- <option name="AUTOSCROLL_TO_SOURCE" value="false" />
- <option name="SPLITTER_PROPORTION" value="0.5" />
- <option name="GROUP_BY_SEVERITY" value="false" />
- <option name="FILTER_RESOLVED_ITEMS" value="true" />
- <option name="ANALYZE_TEST_SOURCES" value="true" />
- <option name="SHOW_DIFF_WITH_PREVIOUS_RUN" value="false" />
- <option name="SCOPE_TYPE" value="1" />
- <option name="CUSTOM_SCOPE_NAME" value="" />
- <option name="SHOW_ONLY_DIFF" value="false" />
- <option name="myCurrentProfileName" value="Default" />
- </component>
- <component name="J2EEProjectPane" />
- <component name="JspContextManager" />
- <component name="LvcsProjectConfiguration">
- <option name="ADD_LABEL_ON_PROJECT_OPEN" value="true" />
- <option name="ADD_LABEL_ON_PROJECT_COMPILATION" value="true" />
- <option name="ADD_LABEL_ON_FILE_PACKAGE_COMPILATION" value="true" />
- <option name="ADD_LABEL_ON_PROJECT_MAKE" value="true" />
- <option name="ADD_LABEL_ON_RUNNING" value="true" />
- <option name="ADD_LABEL_ON_DEBUGGING" value="true" />
- <option name="ADD_LABEL_ON_UNIT_TEST_PASSED" value="true" />
- <option name="ADD_LABEL_ON_UNIT_TEST_FAILED" value="true" />
- </component>
- <component name="ModuleEditorState">
- <option name="LAST_EDITED_MODULE_NAME" />
- <option name="LAST_EDITED_TAB_NAME" />
- </component>
- <component name="NamedScopeManager" />
- <component name="PackagesPane">
- <subPane>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
- </PATH_ELEMENT>
- </PATH>
- </subPane>
- </component>
- <component name="PerforceChangeBrowserSettings">
- <option name="USE_CLIENT_FILTER" value="true" />
- <option name="CLIENT" value="" />
- </component>
- <component name="PerforceConfiguration">
- <option name="PORT" value="magic:1666" />
- <option name="USER" value="" />
- <option name="PASSWORD" value="" />
- <option name="CLIENT" value="" />
- <option name="TRACE" value="false" />
- <option name="PERFORCE_STATUS" value="true" />
- <option name="CHANGELIST_OPTION" value="false" />
- <option name="SYSTEMROOT" value="" />
- <option name="P4_EXECUTABLE" value="p4" />
- <option name="SHOW_BRANCH_HISTORY" value="false" />
- <option name="GENERATE_COMMENT" value="false" />
- <option name="SYNC_OPTION" value="Sync" />
- <option name="PUT_FOCUS_INTO_COMMENT" value="false" />
- <option name="SHOW_CHECKIN_OPTIONS" value="true" />
- <option name="FORCE_NON_EMPTY_COMMENT" value="true" />
- <option name="LAST_COMMIT_MESSAGE" value="" />
- <option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
- <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
- <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
- <option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false" />
- <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
- <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
- <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
- <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
- </component>
- <component name="PerforceDirect.Settings">
- <option name="useP4CONFIG" value="true" />
- <option name="port" value="<perforce_server>:1666" />
- <option name="client" value="" />
- <option name="user" value="" />
- <option name="passwd" value="" />
- <option name="showCmds" value="false" />
- <option name="useNativeApi" value="true" />
- <option name="pathToExec" value="p4" />
- <option name="useCustomPathToExec" value="false" />
- <option name="SYNC_FORCE" value="false" />
- <option name="SYNC_RUN_RESOLVE" value="true" />
- <option name="REVERT_UNCHANGED_FILES" value="true" />
- <option name="CHARSET" value="none" />
- <option name="SHOW_BRANCHES_HISTORY" value="true" />
- <option name="ENABLED" value="true" />
- <option name="USE_LOGIN" value="false" />
- <option name="LOGIN_SILENTLY" value="false" />
- <option name="INTEGRATE_RUN_RESOLVE" value="true" />
- <option name="INTEGRATE_REVERT_UNCHANGED" value="true" />
- <option name="SERVER_TIMEOUT" value="20000" />
- </component>
- <component name="ProjectLevelVcsManager">
- <OptionsSetting value="true" id="Add" />
- <OptionsSetting value="true" id="Remove" />
- <OptionsSetting value="true" id="Checkin" />
- <OptionsSetting value="true" id="Checkout" />
- <OptionsSetting value="true" id="Update" />
- <OptionsSetting value="true" id="Status" />
- <OptionsSetting value="true" id="Edit" />
- <OptionsSetting value="true" id="Undo Check Out" />
- <OptionsSetting value="true" id="Compare with SourceSafe Version" />
- <OptionsSetting value="true" id="Get Latest Version" />
- <ConfirmationsSetting value="0" id="Add" />
- <ConfirmationsSetting value="0" id="Remove" />
- </component>
- <component name="ProjectPane">
- <subPane>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="Libraries" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="< 1.5 >" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.NamedLibraryElementNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="Libraries" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src\test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src\test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src\test\java" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src\test\java\org\jboss\soa\esb\services\soapui" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src\main" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src\main" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src\main\java" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src\main\java\org\jboss\soa\esb\services\soapui" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\services\soapui-client\src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta\src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta\src\org\jboss" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta\src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta\src\org\jboss" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta\src\org\jboss\internal\soa\esb" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="soapui-client.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta\src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta\src\org\jboss" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta\src\org\jboss\internal\soa\esb" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\trunk\product\core\rosetta\src\org\jboss\internal\soa\esb\soap" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- </subPane>
- </component>
- <component name="ProjectReloadState">
- <option name="STATE" value="0" />
- </component>
- <component name="ProjectView">
- <navigator currentView="ProjectPane" proportions="0.16666667" version="1" splitterProportion="0.5">
- <flattenPackages />
- <showMembers />
- <showModules />
- <showLibraryContents />
- <hideEmptyPackages />
- <abbreviatePackageNames />
- <showStructure ProjectPane="false" PackagesPane="false" Favorites="false" />
- <autoscrollToSource />
- <autoscrollFromSource />
- <sortByType />
- </navigator>
- </component>
- <component name="ProjectViewSettings">
- <navigator currentView="ProjectPane" flattenPackages="false" showMembers="false" showStructure="false" autoscrollToSource="false" splitterProportion="0.5" />
- <view id="ProjectPane">
- <expanded_node type="directory" url="file://$PROJECT_DIR$" />
- </view>
- <view id="SourcepathPane" />
- <view id="ClasspathPane" />
- </component>
- <component name="PropertiesComponent">
- <property name="MemberChooser.copyJavadoc" value="false" />
- <property name="GoToClass.includeLibraries" value="false" />
- <property name="MemberChooser.showClasses" value="true" />
- <property name="MemberChooser.sorted" value="false" />
- <property name="RunManagerConfig.compileBeforeRunning" value="true" />
- <property name="GoToFile.includeJavaFiles" value="false" />
- <property name="GoToClass.toSaveIncludeLibraries" value="false" />
- <property name="RunManagerConfig.showSettingsBeforeRunnig" value="true" />
- </component>
- <component name="ReadonlyStatusHandler">
- <option name="SHOW_DIALOG" value="true" />
- </component>
- <component name="RecentsManager">
- <key name="CopyClassDialog.RECENTS_KEY">
- <recent name="org.jboss.soa.esb.services.soapui" />
- </key>
- </component>
- <component name="RestoreUpdateTree" />
- <component name="RunManager" selected="JUnit.SoapUIClientServiceMBeanUnitTest.test_has_collections">
- <tempConfiguration default="false" name="SoapUIClientServiceMBeanUnitTest.test_has_collections" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
- <pattern value="org.jboss.soa.esb.services.soapui.*" />
- <module name="soapui-client" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" value="" />
- <option name="PACKAGE_NAME" value="org.jboss.soa.esb.services.soapui" />
- <option name="MAIN_CLASS_NAME" value="org.jboss.soa.esb.services.soapui.SoapUIClientServiceMBeanUnitTest" />
- <option name="METHOD_NAME" value="test_has_collections" />
- <option name="TEST_OBJECT" value="method" />
- <option name="VM_PARAMETERS" value="" />
- <option name="PARAMETERS" value="" />
- <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
- <option name="ADDITIONAL_CLASS_PATH" />
- <option name="TEST_SEARCH_SCOPE">
- <value defaultName="wholeProject" />
- </option>
- <RunnerSettings RunnerId="Debug">
- <option name="DEBUG_PORT" value="4078" />
- <option name="TRANSPORT" value="0" />
- <option name="LOCAL" value="true" />
- </RunnerSettings>
- <RunnerSettings RunnerId="Profile ">
- <option name="myExternalizedOptions" value=" snapshots-dir= " />
- </RunnerSettings>
- <RunnerSettings RunnerId="Run" />
- <ConfigurationWrapper RunnerId="Debug" />
- <ConfigurationWrapper RunnerId="Run" />
- <method>
- <option name="Make" value="true" />
- </method>
- </tempConfiguration>
- <configuration default="true" type="Remote" factoryName="Remote">
- <option name="USE_SOCKET_TRANSPORT" value="true" />
- <option name="SERVER_MODE" value="false" />
- <option name="SHMEM_ADDRESS" value="javadebug" />
- <option name="HOST" value="localhost" />
- <option name="PORT" value="5005" />
- </configuration>
- <configuration default="true" type="Applet" factoryName="Applet">
- <module name="" />
- <option name="MAIN_CLASS_NAME" />
- <option name="HTML_FILE_NAME" />
- <option name="HTML_USED" value="false" />
- <option name="WIDTH" value="400" />
- <option name="HEIGHT" value="300" />
- <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
- <option name="VM_PARAMETERS" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- </configuration>
- <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
- <option name="MAIN_CLASS_NAME" />
- <option name="VM_PARAMETERS" />
- <option name="PROGRAM_PARAMETERS" />
- <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="ENABLE_SWING_INSPECTOR" value="false" />
- <module name="" />
- </configuration>
- <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
- <module name="" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="PACKAGE_NAME" />
- <option name="MAIN_CLASS_NAME" />
- <option name="METHOD_NAME" />
- <option name="TEST_OBJECT" value="class" />
- <option name="VM_PARAMETERS" />
- <option name="PARAMETERS" />
- <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
- <option name="ADDITIONAL_CLASS_PATH" />
- <option name="TEST_SEARCH_SCOPE">
- <value defaultName="wholeProject" />
- </option>
- <method>
- <option name="Make" value="true" />
- </method>
- </configuration>
- </component>
- <component name="ScopeViewComponent" />
- <component name="SelectInManager" />
- <component name="StarteamConfiguration">
- <option name="SERVER" value="" />
- <option name="PORT" value="49201" />
- <option name="USER" value="" />
- <option name="PASSWORD" value="" />
- <option name="PROJECT" value="" />
- <option name="VIEW" value="" />
- <option name="ALTERNATIVE_WORKING_PATH" value="" />
- <option name="LOCK_ON_CHECKOUT" value="false" />
- <option name="UNLOCK_ON_CHECKIN" value="false" />
- </component>
- <component name="StructuralSearchPlugin" />
- <component name="StructureViewFactory">
- <option name="AUTOSCROLL_MODE" value="true" />
- <option name="AUTOSCROLL_FROM_SOURCE" value="false" />
- <option name="ACTIVE_ACTIONS" value="" />
- </component>
- <component name="Struts Assistant">
- <option name="showInputs" value="true" />
- <option name="resources">
- <value>
- <option name="strutsPath" />
- <option name="strutsHelp" />
- </value>
- </option>
- <option name="selectedTaglibs" />
- <option name="selectedTaglibs" />
- <option name="myStrutsValidationEnabled" value="true" />
- <option name="myTilesValidationEnabled" value="true" />
- <option name="myValidatorValidationEnabled" value="true" />
- <option name="myReportErrorsAsWarnings" value="true" />
- </component>
- <component name="SvnChangesBrowserSettings">
- <option name="USE_AUTHOR_FIELD" value="true" />
- <option name="AUTHOR" value="" />
- <option name="LOCATION" value="" />
- <option name="USE_PROJECT_SETTINGS" value="true" />
- <option name="USE_ALTERNATE_LOCATION" value="false" />
- </component>
- <component name="SvnConfiguration">
- <option name="USER" value="" />
- <option name="PASSWORD" value="" />
- <option name="PROCESS_UNRESOLVED" value="false" />
- <option name="LAST_MERGED_REVISION" />
- <option name="UPDATE_RUN_STATUS" value="false" />
- <option name="UPDATE_RECURSIVELY" value="true" />
- <option name="MERGE_DRY_RUN" value="false" />
- </component>
- <component name="TodoView" selected-index="0">
- <todo-panel id="selected-file">
- <are-packages-shown value="false" />
- <are-modules-shown value="false" />
- <flatten-packages value="false" />
- <is-autoscroll-to-source value="true" />
- </todo-panel>
- <todo-panel id="all">
- <are-packages-shown value="true" />
- <are-modules-shown value="false" />
- <flatten-packages value="false" />
- <is-autoscroll-to-source value="true" />
- </todo-panel>
- </component>
- <component name="ToolWindowManager">
- <frame x="-4" y="-4" width="1288" height="998" extended-state="6" />
- <editor active="true" />
- <layout>
- <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
- <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
- <window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
- <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="7" />
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.31925264" order="0" />
- <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="1" />
- <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="1" />
- <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32983682" order="8" />
- <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="6" />
- <window_info id="Profile" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
- <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
- <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
- <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
- <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="1" />
- <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.46853146" order="2" />
- <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
- <window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997669" order="4" />
- <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="0" />
- <window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
- <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
- <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="0" />
- <window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
- <window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
- <window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="3" />
- <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="5" />
- </layout>
- </component>
- <component name="VCS.FileViewConfiguration">
- <option name="SELECTED_STATUSES" value="DEFAULT" />
- <option name="SELECTED_COLUMNS" value="DEFAULT" />
- <option name="SHOW_FILTERS" value="true" />
- <option name="CUSTOMIZE_VIEW" value="true" />
- <option name="SHOW_FILE_HISTORY_AS_TREE" value="true" />
- </component>
- <component name="VcsManagerConfiguration">
- <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
- <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
- <option name="PERFORM_UPDATE_IN_BACKGROUND" value="false" />
- <option name="PERFORM_COMMIT_IN_BACKGROUND" value="false" />
- <option name="PUT_FOCUS_INTO_COMMENT" value="false" />
- <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
- <option name="LAST_COMMIT_MESSAGE" />
- <option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
- <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
- <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
- <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
- <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
- <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
- <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
- <option name="ERROR_OCCURED" value="false" />
- <option name="ACTIVE_VCS_NAME" value="" />
- <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
- <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
- <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
- </component>
- <component name="VssConfiguration">
- <option name="CLIENT_PATH" value="" />
- <option name="SRCSAFEINI_PATH" value="" />
- <option name="USER_NAME" value="" />
- <option name="PWD" value="" />
- <option name="VSS_IS_INITIALIZED" value="true" />
- <CheckoutOptions>
- <option name="COMMENT" value="" />
- <option name="DO_NOT_GET_LATEST_VERSION" value="false" />
- <option name="REPLACE_WRITABLE" value="false" />
- <option name="RECURSIVE" value="false" />
- </CheckoutOptions>
- <CheckinOptions>
- <option name="COMMENT" value="" />
- <option name="KEEP_CHECKED_OUT" value="false" />
- <option name="RECURSIVE" value="false" />
- </CheckinOptions>
- <AddOptions>
- <option name="COMMENT" value="" />
- <option name="STORE_ONLY_LATEST_VERSION" value="false" />
- <option name="CHECK_OUT_IMMEDIATELY" value="false" />
- <option name="FILE_TYPE" value="0" />
- </AddOptions>
- <UndocheckoutOptions>
- <option name="MAKE_WRITABLE" value="false" />
- <option name="REPLACE_LOCAL_COPY" value="0" />
- <option name="RECURSIVE" value="false" />
- </UndocheckoutOptions>
- <GetOptions>
- <option name="REPLACE_WRITABLE" value="0" />
- <option name="MAKE_WRITABLE" value="false" />
- <option name="ANSWER_NEGATIVELY" value="false" />
- <option name="ANSWER_POSITIVELY" value="false" />
- <option name="RECURSIVE" value="false" />
- <option name="VERSION" />
- </GetOptions>
- <VssConfigurableExcludedFilesTag />
- </component>
- <component name="WebViewSettings">
- <webview flattenPackages="false" showMembers="false" autoscrollToSource="false" />
- </component>
- <component name="antWorkspaceConfiguration">
- <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
- <option name="FILTER_TARGETS" value="false" />
- </component>
- <component name="com.intellij.ide.util.scopeChooser.ScopeChooserConfigurable" proportions="" version="1">
- <option name="myLastEditedConfigurable" />
- </component>
- <component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.16666667,0.5" version="1">
- <option name="myPlainMode" value="false" />
- <option name="myLastEditedConfigurable" value="soapui-client" />
- </component>
- <component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="" version="1">
- <option name="myLastEditedConfigurable" />
- </component>
- <component name="editorHistoryManager">
- <entry file="jar://H:/Jboss/ESB/trunk/product/build/jbossesb/lib/jbossesb-rosetta.jar!/org/jboss/internal/soa/esb/soap/OGNLUtils.class">
- <provider selected="true" editor-type-id="text-editor">
- <state line="18" column="0" selection-start="861" selection-end="861" vertical-scroll-proportion="0.5952381">
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://H:/Jboss/ESB/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="46" column="49" selection-start="1817" selection-end="1817" vertical-scroll-proportion="0.1302682">
- <folding>
- <marker date="1175621365359" expanded="false" signature="0:1013" placeholder="/.../" />
- <marker date="1175621365359" expanded="true" signature="1819:2805" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="2830:2856" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="2921:3024" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="3070:3140" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="3190:3265" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="3313:3419" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="3471:3575" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="3629:3758" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="3817:3899" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="3937:3990" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="4030:4088" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="4128:4216" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="4257:4321" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="4372:4455" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="4497:4580" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="4624:4666" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="4707:5216" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="5277:5614" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="5655:5824" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="5878:5923" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="5927:6067" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="6131:6277" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="6284:6335" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="6373:6413" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="6419:6480" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="6534:6581" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="6587:6633" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="6664:6699" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="6705:6756" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="6798:6835" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="6841:6885" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="6914:6947" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="6953:7000" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="7038:7071" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="7077:7123" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="7154:7189" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="7195:7246" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="7288:7325" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="7331:7378" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="7410:7446" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="7452:7505" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="7549:7588" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="7594:7641" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="7673:7709" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="7715:7768" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="7812:7851" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="7858:8178" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="8281:8544" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="8547:8785" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="8887:9414" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="9417:9611" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="9692:9770" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="9773:10026" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="10107:10758" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="10761:10895" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="10937:11922" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="11932:12226" placeholder="/**...*/" />
- <marker date="1175621365359" expanded="true" signature="12317:12773" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="12819:13105" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="12899:12941" placeholder="{...}" />
- <marker date="1175621365359" expanded="true" signature="13006:13066" placeholder="{...}" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://H:/Jboss/ESB/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/util/embedded/ftp/NoConfigFileFtpServer.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="54" column="22" selection-start="2561" selection-end="2561" vertical-scroll-proportion="0.9280397">
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/pom.xml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="96" column="21" selection-start="3557" selection-end="3557" vertical-scroll-proportion="0.040669855">
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/build.xml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="11" column="70" selection-start="513" selection-end="531" vertical-scroll-proportion="0.042183623">
- <folding />
- </state>
- </provider>
- </entry>
- <entry file="file://H:/Jboss/ESB/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/soap/OGNLUtils.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="91" column="0" selection-start="3132" selection-end="3132" vertical-scroll-proportion="0.37965262">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="147" column="41" selection-start="5776" selection-end="5776" vertical-scroll-proportion="0.84367245">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- </component>
- <component name="editorManager" />
- <component name="ideajad">
- <property name="annotate" value="false" />
- <property name="annotateFully" value="false" />
- <property name="braces" value="false" />
- <property name="clear" value="false" />
- <property name="confirmNavigationTriggeredDecompile" value="true" />
- <property name="dead" value="true" />
- <property name="defaultInitializers" value="false" />
- <property name="dissassemblerOnly" value="false" />
- <property name="fieldsFirst" value="true" />
- <property name="fileExtension" value="java" />
- <property name="fullyQualifiedNames" value="false" />
- <property name="indentation" value="4" />
- <property name="intRadix" value="10" />
- <property name="lineNumbersAsComments" value="true" />
- <property name="longRadix" value="10" />
- <property name="maxStringLength" value="64" />
- <property name="nocast" value="false" />
- <property name="noclass" value="false" />
- <property name="nocode" value="false" />
- <property name="noconv" value="false" />
- <property name="noctor" value="false" />
- <property name="nodos" value="false" />
- <property name="nofd" value="false" />
- <property name="noinner" value="false" />
- <property name="nolvt" value="false" />
- <property name="nonlb" value="false" />
- <property name="outputDirectory" value="" />
- <property name="packFields" value="3" />
- <property name="packImports" value="7" />
- <property name="prefixNumericalClasses" value="_cls" />
- <property name="prefixNumericalFields" value="_fld" />
- <property name="prefixNumericalLocals" value="_lcl" />
- <property name="prefixNumericalMethods" value="_mth" />
- <property name="prefixNumericalParameters" value="_prm" />
- <property name="prefixUnusedExceptions" value="_ex" />
- <property name="readonly" value="false" />
- <property name="safe" value="false" />
- <property name="sort" value="false" />
- <property name="spaceAfterKeyword" value="false" />
- <property name="splitStringsAtNewline" value="false" />
- <property name="useTabs" value="false" />
- </component>
-</project>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<project relativePaths="false" version="4">
+ <component name="CCaseConfig">
+ <option name="checkoutReserved" value="false" />
+ <option name="markExternalChangeAsUpToDate" value="true" />
+ <option name="checkInUseHijack" value="true" />
+ <option name="useUcmModel" value="true" />
+ <option name="isOffline" value="false" />
+ <option name="synchOutside" value="false" />
+ <option name="isHistoryResticted" value="true" />
+ <option name="useIdenticalSwitch" value="true" />
+ <option name="lastScr" value="" />
+ <option name="scrTextFileName" value="" />
+ <option name="lastViewType" />
+ <option name="historyRevisionsNumber" value="4" />
+ </component>
+ <component name="ChangeBrowserSettings">
+ <option name="MAIN_SPLITTER_PROPORTION" value="0.3" />
+ <option name="MESSAGES_SPLITTER_PROPORTION" value="0.8" />
+ <option name="USE_DATE_BEFORE_FILTER" value="false" />
+ <option name="USE_DATE_AFTER_FILTER" value="false" />
+ <option name="USE_CHANGE_BEFORE_FILTER" value="false" />
+ <option name="USE_CHANGE_AFTER_FILTER" value="false" />
+ <option name="DATE_BEFORE" value="" />
+ <option name="DATE_AFTER" value="" />
+ <option name="CHANGE_BEFORE" value="" />
+ <option name="CHANGE_AFTER" value="" />
+ <option name="USE_USER_FILTER" value="false" />
+ <option name="USER" value="" />
+ </component>
+ <component name="ChangeListManager">
+ <list default="true" name="Default" comment="">
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/soapui-client.iml" afterPath="$PROJECT_DIR$/soapui-client.iml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/soapui-client.iws" afterPath="$PROJECT_DIR$/soapui-client.iws" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/soapui-client.ipr" afterPath="$PROJECT_DIR$/soapui-client.ipr" />
+ <change type="MODIFICATION" beforePath="H:/Jboss/ESB/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" afterPath="H:/Jboss/ESB/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" />
+ </list>
+ </component>
+ <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
+ <component name="Commander">
+ <leftPanel />
+ <rightPanel />
+ <splitter proportion="0.5" />
+ </component>
+ <component name="CompilerWorkspaceConfiguration">
+ <option name="COMPILE_IN_BACKGROUND" value="false" />
+ <option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true" />
+ <option name="CLOSE_MESSAGE_VIEW_IF_SUCCESS" value="true" />
+ <option name="COMPILE_DEPENDENT_FILES" value="false" />
+ <option name="CLEAR_OUTPUT_DIRECTORY" value="false" />
+ <option name="ASSERT_NOT_NULL" value="true" />
+ </component>
+ <component name="CreatePatchCommitExecutor">
+ <option name="PATCH_PATH" value="" />
+ <option name="REVERSE_PATCH" value="false" />
+ </component>
+ <component name="Cvs2Configuration">
+ <option name="PRUNE_EMPTY_DIRECTORIES" value="true" />
+ <option name="MERGING_MODE" value="0" />
+ <option name="MERGE_WITH_BRANCH1_NAME" value="HEAD" />
+ <option name="MERGE_WITH_BRANCH2_NAME" value="HEAD" />
+ <option name="RESET_STICKY" value="false" />
+ <option name="CREATE_NEW_DIRECTORIES" value="true" />
+ <option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv" />
+ <option name="PROCESS_UNKNOWN_FILES" value="false" />
+ <option name="PROCESS_DELETED_FILES" value="false" />
+ <option name="PROCESS_IGNORED_FILES" value="false" />
+ <option name="RESERVED_EDIT" value="false" />
+ <option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
+ <value>
+ <option name="BRANCH" value="" />
+ <option name="DATE" value="" />
+ <option name="USE_BRANCH" value="false" />
+ <option name="USE_DATE" value="false" />
+ </value>
+ </option>
+ <option name="UPDATE_DATE_OR_REVISION_SETTINGS">
+ <value>
+ <option name="BRANCH" value="" />
+ <option name="DATE" value="" />
+ <option name="USE_BRANCH" value="false" />
+ <option name="USE_DATE" value="false" />
+ </value>
+ </option>
+ <option name="SHOW_CHANGES_REVISION_SETTINGS">
+ <value>
+ <option name="BRANCH" value="" />
+ <option name="DATE" value="" />
+ <option name="USE_BRANCH" value="false" />
+ <option name="USE_DATE" value="false" />
+ </value>
+ </option>
+ <option name="SHOW_OUTPUT" value="false" />
+ <option name="ADD_WATCH_INDEX" value="0" />
+ <option name="REMOVE_WATCH_INDEX" value="0" />
+ <option name="UPDATE_KEYWORD_SUBSTITUTION" />
+ <option name="MAKE_NEW_FILES_READONLY" value="false" />
+ <option name="SHOW_CORRUPTED_PROJECT_FILES" value="0" />
+ <option name="TAG_AFTER_PROJECT_COMMIT" value="false" />
+ <option name="OVERRIDE_EXISTING_TAG_FOR_PROJECT" value="true" />
+ <option name="TAG_AFTER_PROJECT_COMMIT_NAME" value="" />
+ <option name="CLEAN_COPY" value="false" />
+ </component>
+ <component name="DaemonCodeAnalyzer">
+ <disable_hints />
+ </component>
+ <component name="DebuggerManager">
+ <breakpoint_any>
+ <breakpoint>
+ <option name="NOTIFY_CAUGHT" value="true" />
+ <option name="NOTIFY_UNCAUGHT" value="true" />
+ <option name="ENABLED" value="false" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint>
+ <option name="NOTIFY_CAUGHT" value="true" />
+ <option name="NOTIFY_UNCAUGHT" value="true" />
+ <option name="ENABLED" value="false" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ </breakpoint_any>
+ <breakpoint_rules />
+ <ui_properties />
+ </component>
+ <component name="DebuggerSettings">
+ <option name="TRACING_FILTERS_ENABLED" value="true" />
+ <option name="TOSTRING_CLASSES_ENABLED" value="false" />
+ <option name="VALUE_LOOKUP_DELAY" value="700" />
+ <option name="DEBUGGER_TRANSPORT" value="0" />
+ <option name="FORCE_CLASSIC_VM" value="true" />
+ <option name="HIDE_DEBUGGER_ON_PROCESS_TERMINATION" value="false" />
+ <option name="SKIP_SYNTHETIC_METHODS" value="true" />
+ <option name="SKIP_CONSTRUCTORS" value="false" />
+ <option name="STEP_THREAD_SUSPEND_POLICY" value="SuspendThread" />
+ <default_breakpoint_settings>
+ <option name="NOTIFY_CAUGHT" value="true" />
+ <option name="NOTIFY_UNCAUGHT" value="true" />
+ <option name="WATCH_MODIFICATION" value="true" />
+ <option name="WATCH_ACCESS" value="true" />
+ <option name="WATCH_ENTRY" value="true" />
+ <option name="WATCH_EXIT" value="true" />
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_VM" value="true" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CONDITION" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="LOG_MESSAGE" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INVERSE_CLASS_FILLTERS" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ </default_breakpoint_settings>
+ <filter>
+ <option name="PATTERN" value="com.sun.*" />
+ <option name="ENABLED" value="true" />
+ </filter>
+ <filter>
+ <option name="PATTERN" value="java.*" />
+ <option name="ENABLED" value="true" />
+ </filter>
+ <filter>
+ <option name="PATTERN" value="javax.*" />
+ <option name="ENABLED" value="true" />
+ </filter>
+ <filter>
+ <option name="PATTERN" value="org.omg.*" />
+ <option name="ENABLED" value="true" />
+ </filter>
+ <filter>
+ <option name="PATTERN" value="sun.*" />
+ <option name="ENABLED" value="true" />
+ </filter>
+ <filter>
+ <option name="PATTERN" value="junit.*" />
+ <option name="ENABLED" value="true" />
+ </filter>
+ </component>
+ <component name="EjbViewSettings">
+ <EjbView showMembers="false" autoscrollToSource="false" />
+ </component>
+ <component name="ErrorTreeViewConfiguration">
+ <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+ <option name="HIDE_WARNINGS" value="false" />
+ </component>
+ <component name="FavoritesManager">
+ <favorites_list name="soapui-client" />
+ </component>
+ <component name="FavoritesProjectViewPane">
+ <subPane subId="soapui-client">
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" />
+ <option name="myItemType" value="com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </component>
+ <component name="FileEditorManager">
+ <leaf>
+ <file leaf-file-name="SoapUIClientServiceMBean.java" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="36" column="17" selection-start="1489" selection-end="1489" vertical-scroll-proportion="0.27116564">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="jboss-service.xml" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/main/resources/META-INF/jboss-service.xml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="SoapUIClientService.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="56" column="79" selection-start="2325" selection-end="2325" vertical-scroll-proportion="0.20858896">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ </leaf>
+ </component>
+ <component name="FindManager">
+ <FindUsagesManager>
+ <setting name="OPEN_NEW_TAB" value="false" />
+ </FindUsagesManager>
+ </component>
+ <component name="HierarchyBrowserManager">
+ <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+ <option name="SORT_ALPHABETICALLY" value="false" />
+ <option name="HIDE_CLASSES_WHERE_METHOD_NOT_IMPLEMENTED" value="false" />
+ </component>
+ <component name="LvcsProjectConfiguration">
+ <option name="ADD_LABEL_ON_PROJECT_OPEN" value="true" />
+ <option name="ADD_LABEL_ON_PROJECT_COMPILATION" value="true" />
+ <option name="ADD_LABEL_ON_FILE_PACKAGE_COMPILATION" value="true" />
+ <option name="ADD_LABEL_ON_PROJECT_MAKE" value="true" />
+ <option name="ADD_LABEL_ON_RUNNING" value="true" />
+ <option name="ADD_LABEL_ON_DEBUGGING" value="true" />
+ <option name="ADD_LABEL_ON_UNIT_TEST_PASSED" value="true" />
+ <option name="ADD_LABEL_ON_UNIT_TEST_FAILED" value="true" />
+ </component>
+ <component name="ModuleEditorState">
+ <option name="LAST_EDITED_MODULE_NAME" />
+ <option name="LAST_EDITED_TAB_NAME" />
+ </component>
+ <component name="PackagesPane">
+ <subPane>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </component>
+ <component name="PerforceChangeBrowserSettings">
+ <option name="USE_CLIENT_FILTER" value="true" />
+ <option name="CLIENT" value="" />
+ </component>
+ <component name="PerforceConfiguration">
+ <option name="PORT" value="magic:1666" />
+ <option name="USER" value="" />
+ <option name="PASSWORD" value="" />
+ <option name="CLIENT" value="" />
+ <option name="TRACE" value="false" />
+ <option name="PERFORCE_STATUS" value="true" />
+ <option name="CHANGELIST_OPTION" value="false" />
+ <option name="SYSTEMROOT" value="" />
+ <option name="P4_EXECUTABLE" value="p4" />
+ <option name="SHOW_BRANCH_HISTORY" value="false" />
+ <option name="GENERATE_COMMENT" value="false" />
+ <option name="SYNC_OPTION" value="Sync" />
+ <option name="PUT_FOCUS_INTO_COMMENT" value="false" />
+ <option name="SHOW_CHECKIN_OPTIONS" value="true" />
+ <option name="FORCE_NON_EMPTY_COMMENT" value="true" />
+ <option name="LAST_COMMIT_MESSAGE" value="" />
+ <option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
+ <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
+ <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
+ <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
+ <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
+ </component>
+ <component name="PerforceDirect.Settings">
+ <option name="useNativeApi" value="true" />
+ </component>
+ <component name="ProjectLevelVcsManager">
+ <OptionsSetting value="true" id="Add" />
+ <OptionsSetting value="true" id="Remove" />
+ <OptionsSetting value="true" id="Checkin" />
+ <OptionsSetting value="true" id="Checkout" />
+ <OptionsSetting value="true" id="Update" />
+ <OptionsSetting value="true" id="Status" />
+ <OptionsSetting value="true" id="Edit" />
+ <OptionsSetting value="true" id="Undo Check Out" />
+ <OptionsSetting value="true" id="Compare with SourceSafe Version" />
+ <OptionsSetting value="true" id="Get Latest Version" />
+ <ConfirmationsSetting value="0" id="Add" />
+ <ConfirmationsSetting value="0" id="Remove" />
+ </component>
+ <component name="ProjectPane">
+ <subPane>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src\main" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src\main\resources" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src\main" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src\main\resources" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src\main\resources\META-INF" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src\main" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src\main\java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:H:\Jboss\ESB\JBESB_4_2_1_GA_CP_1\product\services\soapui-client\src\main\java\org\jboss\soa\esb\services\soapui" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="soapui-client" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </component>
+ <component name="ProjectReloadState">
+ <option name="STATE" value="0" />
+ </component>
+ <component name="ProjectView">
+ <navigator currentView="ProjectPane" proportions="0.16666667" version="1" splitterProportion="0.5">
+ <flattenPackages />
+ <showMembers />
+ <showModules />
+ <showLibraryContents />
+ <hideEmptyPackages />
+ <abbreviatePackageNames />
+ <showStructure Favorites="false" PackagesPane="false" ProjectPane="false" />
+ <autoscrollToSource />
+ <autoscrollFromSource />
+ <sortByType />
+ </navigator>
+ </component>
+ <component name="ProjectViewSettings">
+ <navigator currentView="ProjectPane" flattenPackages="false" showMembers="false" showStructure="false" autoscrollToSource="false" splitterProportion="0.5" />
+ <view id="ProjectPane">
+ <expanded_node type="directory" url="file://$PROJECT_DIR$" />
+ </view>
+ <view id="SourcepathPane" />
+ <view id="ClasspathPane" />
+ </component>
+ <component name="PropertiesComponent">
+ <property name="GoToFile.includeJavaFiles" value="false" />
+ <property name="GoToClass.toSaveIncludeLibraries" value="false" />
+ <property name="RunManagerConfig.showSettingsBeforeRunnig" value="true" />
+ <property name="RunManagerConfig.compileBeforeRunning" value="true" />
+ <property name="TEMP_MODULE_EXPLODED_DIR_FOR_product/web/Web2" value="C:\Documents and Settings\Tom Fennelly\Local Settings\Temp\webExplodedDir25239tmp" />
+ <property name="TEMP_MODULE_EXPLODED_DIR_FOR_product/web/Web" value="C:\Documents and Settings\Tom Fennelly\Local Settings\Temp\webExplodedDir25238tmp" />
+ <property name="MemberChooser.sorted" value="false" />
+ <property name="MemberChooser.showClasses" value="true" />
+ <property name="GoToClass.includeLibraries" value="false" />
+ <property name="TEMP_MODULE_EXPLODED_DIR_FOR_product/web/Web9" value="C:\Documents and Settings\Tom Fennelly\Local Settings\Temp\webExplodedDir25240tmp" />
+ <property name="MemberChooser.copyJavadoc" value="false" />
+ </component>
+ <component name="ReadonlyStatusHandler">
+ <option name="SHOW_DIALOG" value="true" />
+ </component>
+ <component name="RecentsManager">
+ <key name="CopyClassDialog.RECENTS_KEY">
+ <recent name="org.jboss.soa.esb.services.soapui" />
+ </key>
+ </component>
+ <component name="RunManager" selected="JUnit.SoapUIClientServiceMBeanUnitTest.test_has_collections">
+ <tempConfiguration default="false" name="SoapUIClientServiceMBeanUnitTest.test_has_collections" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+ <pattern value="org.jboss.soa.esb.services.soapui.*" />
+ <module name="soapui-client" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" value="" />
+ <option name="PACKAGE_NAME" value="org.jboss.soa.esb.services.soapui" />
+ <option name="MAIN_CLASS_NAME" value="org.jboss.soa.esb.services.soapui.SoapUIClientServiceMBeanUnitTest" />
+ <option name="METHOD_NAME" value="test_has_collections" />
+ <option name="TEST_OBJECT" value="method" />
+ <option name="VM_PARAMETERS" value="" />
+ <option name="PARAMETERS" value="" />
+ <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <option name="ADDITIONAL_CLASS_PATH" />
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="wholeProject" />
+ </option>
+ <RunnerSettings RunnerId="Debug">
+ <option name="DEBUG_PORT" value="4078" />
+ <option name="TRANSPORT" value="0" />
+ <option name="LOCAL" value="true" />
+ </RunnerSettings>
+ <RunnerSettings RunnerId="Profile ">
+ <option name="myExternalizedOptions" value=" snapshots-dir= " />
+ </RunnerSettings>
+ <RunnerSettings RunnerId="Run" />
+ <ConfigurationWrapper RunnerId="Debug" />
+ <ConfigurationWrapper RunnerId="Run" />
+ <method>
+ <option name="Make" value="true" />
+ </method>
+ </tempConfiguration>
+ <configuration default="true" type="Remote" factoryName="Remote">
+ <option name="USE_SOCKET_TRANSPORT" value="true" />
+ <option name="SERVER_MODE" value="false" />
+ <option name="SHMEM_ADDRESS" value="javadebug" />
+ <option name="HOST" value="localhost" />
+ <option name="PORT" value="5005" />
+ </configuration>
+ <configuration default="true" type="Applet" factoryName="Applet">
+ <module name="" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="HTML_FILE_NAME" />
+ <option name="HTML_USED" value="false" />
+ <option name="WIDTH" value="400" />
+ <option name="HEIGHT" value="300" />
+ <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+ <option name="VM_PARAMETERS" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ </configuration>
+ <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+ <module name="" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="PACKAGE_NAME" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="METHOD_NAME" />
+ <option name="TEST_OBJECT" value="class" />
+ <option name="VM_PARAMETERS" />
+ <option name="PARAMETERS" />
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <option name="ADDITIONAL_CLASS_PATH" />
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="wholeProject" />
+ </option>
+ <method>
+ <option name="Make" value="true" />
+ </method>
+ </configuration>
+ <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
+ <option name="MAIN_CLASS_NAME" />
+ <option name="VM_PARAMETERS" />
+ <option name="PROGRAM_PARAMETERS" />
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="ENABLE_SWING_INSPECTOR" value="false" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <module name="" />
+ </configuration>
+ <list size="1">
+ <item index="0" class="java.lang.String" itemvalue="JUnit.SoapUIClientServiceMBeanUnitTest.test_has_collections" />
+ </list>
+ </component>
+ <component name="StarteamConfiguration">
+ <option name="SERVER" value="" />
+ <option name="PORT" value="49201" />
+ <option name="USER" value="" />
+ <option name="PASSWORD" value="" />
+ <option name="PROJECT" value="" />
+ <option name="VIEW" value="" />
+ <option name="ALTERNATIVE_WORKING_PATH" value="" />
+ <option name="LOCK_ON_CHECKOUT" value="false" />
+ <option name="UNLOCK_ON_CHECKIN" value="false" />
+ </component>
+ <component name="StructureViewFactory">
+ <option name="AUTOSCROLL_MODE" value="true" />
+ <option name="AUTOSCROLL_FROM_SOURCE" value="false" />
+ <option name="ACTIVE_ACTIONS" value="" />
+ </component>
+ <component name="Struts Assistant">
+ <option name="showInputs" value="true" />
+ <option name="resources">
+ <value>
+ <option name="strutsPath" />
+ <option name="strutsHelp" />
+ </value>
+ </option>
+ <option name="selectedTaglibs" />
+ <option name="selectedTaglibs" />
+ <option name="myStrutsValidationEnabled" value="true" />
+ <option name="myTilesValidationEnabled" value="true" />
+ <option name="myValidatorValidationEnabled" value="true" />
+ <option name="myReportErrorsAsWarnings" value="true" />
+ </component>
+ <component name="SvnChangesBrowserSettings">
+ <option name="USE_AUTHOR_FIELD" value="true" />
+ <option name="AUTHOR" value="" />
+ <option name="LOCATION" value="" />
+ <option name="USE_PROJECT_SETTINGS" value="true" />
+ <option name="USE_ALTERNATE_LOCATION" value="false" />
+ </component>
+ <component name="SvnConfiguration">
+ <option name="USER" value="" />
+ <option name="PASSWORD" value="" />
+ <option name="LAST_MERGED_REVISION" />
+ <option name="UPDATE_RUN_STATUS" value="false" />
+ <option name="UPDATE_RECURSIVELY" value="true" />
+ <option name="MERGE_DRY_RUN" value="false" />
+ <configuration useDefault="true">C:\Documents and Settings\Tom Fennelly\Application Data\Subversion</configuration>
+ </component>
+ <component name="TodoView" selected-index="0">
+ <todo-panel id="selected-file">
+ <are-packages-shown value="false" />
+ <are-modules-shown value="false" />
+ <flatten-packages value="false" />
+ <is-autoscroll-to-source value="true" />
+ </todo-panel>
+ <todo-panel id="all">
+ <are-packages-shown value="true" />
+ <are-modules-shown value="false" />
+ <flatten-packages value="false" />
+ <is-autoscroll-to-source value="true" />
+ </todo-panel>
+ <todo-panel id="default-changelist">
+ <are-packages-shown value="false" />
+ <are-modules-shown value="false" />
+ <flatten-packages value="false" />
+ <is-autoscroll-to-source value="false" />
+ </todo-panel>
+ </component>
+ <component name="ToolWindowManager">
+ <frame x="0" y="0" width="1280" height="998" extended-state="0" />
+ <editor active="true" />
+ <layout>
+ <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+ <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+ <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="1" />
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="1" />
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3997669" order="4" />
+ <window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+ <window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+ <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32983682" order="8" />
+ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="7" />
+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="1" />
+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="0" />
+ <window_info id="Maven projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="-1" />
+ <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32134098" order="0" />
+ <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
+ <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" order="6" />
+ <window_info id="Duplicates" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="-1" />
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.46853146" order="2" />
+ <window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+ <window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
+ <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="5" />
+ <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="0" />
+ <window_info id="Profile" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+ <window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="2" />
+ <window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="3" />
+ <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
+ </layout>
+ </component>
+ <component name="VCS.FileViewConfiguration">
+ <option name="SELECTED_STATUSES" value="DEFAULT" />
+ <option name="SELECTED_COLUMNS" value="DEFAULT" />
+ <option name="SHOW_FILTERS" value="true" />
+ <option name="CUSTOMIZE_VIEW" value="true" />
+ <option name="SHOW_FILE_HISTORY_AS_TREE" value="true" />
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
+ <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
+ <option name="PERFORM_UPDATE_IN_BACKGROUND" value="false" />
+ <option name="PERFORM_COMMIT_IN_BACKGROUND" value="false" />
+ <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
+ <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
+ <option name="LAST_COMMIT_MESSAGE" />
+ <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
+ <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
+ <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
+ <option name="ACTIVE_VCS_NAME" value="" />
+ <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
+ <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
+ <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
+ <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
+ </component>
+ <component name="VssConfiguration">
+ <option name="CLIENT_PATH" value="" />
+ <option name="SRCSAFEINI_PATH" value="" />
+ <option name="USER_NAME" value="" />
+ <option name="PWD" value="" />
+ <CheckoutOptions>
+ <option name="COMMENT" value="" />
+ <option name="DO_NOT_GET_LATEST_VERSION" value="false" />
+ <option name="REPLACE_WRITABLE" value="false" />
+ <option name="RECURSIVE" value="false" />
+ </CheckoutOptions>
+ <CheckinOptions>
+ <option name="COMMENT" value="" />
+ <option name="KEEP_CHECKED_OUT" value="false" />
+ <option name="RECURSIVE" value="false" />
+ </CheckinOptions>
+ <AddOptions>
+ <option name="STORE_ONLY_LATEST_VERSION" value="false" />
+ <option name="CHECK_OUT_IMMEDIATELY" value="false" />
+ </AddOptions>
+ <UndocheckoutOptions>
+ <option name="MAKE_WRITABLE" value="false" />
+ <option name="REPLACE_LOCAL_COPY" value="0" />
+ <option name="RECURSIVE" value="false" />
+ </UndocheckoutOptions>
+ <GetOptions>
+ <option name="REPLACE_WRITABLE" value="0" />
+ <option name="MAKE_WRITABLE" value="false" />
+ <option name="ANSWER_NEGATIVELY" value="false" />
+ <option name="ANSWER_POSITIVELY" value="false" />
+ <option name="RECURSIVE" value="false" />
+ <option name="VERSION" />
+ </GetOptions>
+ </component>
+ <component name="WebViewSettings">
+ <webview flattenPackages="false" showMembers="false" autoscrollToSource="false" />
+ </component>
+ <component name="antWorkspaceConfiguration">
+ <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+ <option name="FILTER_TARGETS" value="false" />
+ </component>
+ <component name="com.intellij.ide.util.scopeChooser.ScopeChooserConfigurable" proportions="" version="1">
+ <option name="myLastEditedConfigurable" />
+ </component>
+ <component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.16666667,0.5" version="1">
+ <option name="myPlainMode" value="false" />
+ <option name="myLastEditedConfigurable" value="soapui-client" />
+ </component>
+ <component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="" version="1">
+ <option name="myLastEditedConfigurable" />
+ </component>
+ <component name="editorHistoryManager">
+ <entry file="jar://H:/Jboss/ESB/trunk/product/build/jbossesb/lib/jbossesb-rosetta.jar!/org/jboss/internal/soa/esb/soap/OGNLUtils.class">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="18" column="0" selection-start="861" selection-end="861" vertical-scroll-proportion="0.5952381">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBeanUnitTest.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="54" column="22" selection-start="2561" selection-end="2561" vertical-scroll-proportion="0.9280397">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/build.xml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="11" column="70" selection-start="513" selection-end="531" vertical-scroll-proportion="0.042183623">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/pom.xml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="46" column="18" selection-start="1628" selection-end="1628" vertical-scroll-proportion="0.26576018">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="56" column="79" selection-start="2325" selection-end="2325" vertical-scroll-proportion="0.20858896">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/main/resources/META-INF/jboss-service.xml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="36" column="17" selection-start="1489" selection-end="1489" vertical-scroll-proportion="0.27116564">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </component>
+ <component name="ideajad">
+ <property name="annotate" value="false" />
+ <property name="annotateFully" value="false" />
+ <property name="braces" value="false" />
+ <property name="clear" value="false" />
+ <property name="confirmNavigationTriggeredDecompile" value="true" />
+ <property name="dead" value="true" />
+ <property name="defaultInitializers" value="false" />
+ <property name="dissassemblerOnly" value="false" />
+ <property name="fieldsFirst" value="true" />
+ <property name="fileExtension" value="java" />
+ <property name="fullyQualifiedNames" value="false" />
+ <property name="indentation" value="4" />
+ <property name="intRadix" value="10" />
+ <property name="lineNumbersAsComments" value="true" />
+ <property name="longRadix" value="10" />
+ <property name="maxStringLength" value="64" />
+ <property name="nocast" value="false" />
+ <property name="noclass" value="false" />
+ <property name="nocode" value="false" />
+ <property name="noconv" value="false" />
+ <property name="noctor" value="false" />
+ <property name="nodos" value="false" />
+ <property name="nofd" value="false" />
+ <property name="noinner" value="false" />
+ <property name="nolvt" value="false" />
+ <property name="nonlb" value="false" />
+ <property name="outputDirectory" value="" />
+ <property name="packFields" value="3" />
+ <property name="packImports" value="7" />
+ <property name="prefixNumericalClasses" value="_cls" />
+ <property name="prefixNumericalFields" value="_fld" />
+ <property name="prefixNumericalLocals" value="_lcl" />
+ <property name="prefixNumericalMethods" value="_mth" />
+ <property name="prefixNumericalParameters" value="_prm" />
+ <property name="prefixUnusedExceptions" value="_ex" />
+ <property name="readonly" value="false" />
+ <property name="safe" value="false" />
+ <property name="sort" value="false" />
+ <property name="spaceAfterKeyword" value="false" />
+ <property name="splitStringsAtNewline" value="false" />
+ <property name="useTabs" value="false" />
+ </component>
+</project>
+
Deleted: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/jboss-common.jar
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/jboss-system-client.jar
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/jboss-system.jar
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/jsr173_1.0_api-xmlbeans-2.2.0.jar
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/ognl-2.6.9.jar
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/wsdl4j-1.6.2.jar
===================================================================
(Binary files differ)
Deleted: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/lib/xbean-2.2.0.jar
===================================================================
(Binary files differ)
Modified: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -20,8 +20,13 @@
package org.jboss.soa.esb.services.soapui;
import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.io.StringReader;
+import java.net.URL;
import java.util.*;
import javax.xml.parsers.DocumentBuilder;
@@ -36,10 +41,13 @@
import org.jboss.internal.soa.esb.soap.OGNLUtils;
import org.jboss.internal.soa.esb.util.LRUCache;
import org.jboss.internal.soa.esb.util.ESBProperties;
+import org.jboss.internal.soa.esb.util.XMLHelper;
import org.jboss.soa.esb.dom.YADOMUtil;
import org.jboss.soa.esb.http.HttpClientFactory;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.system.ServiceMBeanSupport;
+import org.jboss.system.server.ServerConfig;
+import org.jboss.system.server.ServerConfigLocator;
import org.milyn.xml.XmlUtil;
import org.milyn.Smooks;
import org.milyn.resource.URIResourceLocator;
@@ -47,6 +55,7 @@
import org.xml.sax.SAXException;
import org.xml.sax.InputSource;
+import com.eviware.soapui.SoapUI;
import com.eviware.soapui.impl.wsdl.WsdlInterface;
import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.impl.wsdl.support.wsdl.WsdlLoader;
@@ -68,6 +77,26 @@
private Map<String, Smooks> smooksCache;
private ESBProperties properties;
private static final String CLONED_POSTFIX = " - cloned";
+ /**
+ * The SoapUI property file.
+ */
+ private String propertyFile ;
+ /**
+ * The name of the generated property file.
+ */
+ private static final String SOAP_UI_PROPERTY_FILE = "soapui-settings.xml" ;
+ /**
+ * The additional schema resources.
+ */
+ private String schemas ;
+ /**
+ * The name of the SoapUI schema directory.
+ */
+ private static final String SOAP_UI_SCHEMA_DIRECTORY = "soapui-schemas" ;
+ /**
+ * The name of the property specifying the created SoapUI schema directory.
+ */
+ private static final String PROPERTY_ESB_SCHEMA_DIRECTORY = "jboss.esb.soapui.schema" ;
/**
* Public default constructor.
@@ -81,7 +110,166 @@
smooksCache = new LRUCache<String, Smooks>(smooksLRUCacheSize);
}
+ protected void startService() throws Exception {
+ super.startService();
+
+ if (propertyFile != null) {
+ final ServerConfig serverConfig = ServerConfigLocator.locate() ;
+ final File dataDir = serverConfig.getServerDataDir() ;
+
+ if (schemas != null)
+ {
+ initialiseSchemas(dataDir) ;
+ }
+
+ final File soapUIPropertyFile = new File(dataDir, SOAP_UI_PROPERTY_FILE) ;
+
+ final File baseFile = new File(propertyFile) ;
+ final InputStream xmlPropertyIS = getInputStream(baseFile);
+
+
+ try {
+ final FileOutputStream fos = new FileOutputStream(soapUIPropertyFile) ;
+ XMLHelper.replaceSystemProperties(XMLHelper.getXMLStreamReader(xmlPropertyIS),
+ XMLHelper.getXMLStreamWriter(fos)) ;
+ } finally {
+ xmlPropertyIS.close() ;
+ }
+
+ SoapUI.initSettings(soapUIPropertyFile.getAbsolutePath()) ;
+ }
+ }
+
+ @Override
+ protected void stopService() throws Exception
+ {
+ if (propertyFile != null)
+ {
+ final ServerConfig serverConfig = ServerConfigLocator.locate() ;
+ final File dataDir = serverConfig.getServerDataDir() ;
+ final File schemaDir = new File(dataDir, SOAP_UI_SCHEMA_DIRECTORY) ;
+ if (schemaDir.exists())
+ {
+ deleteFiles(schemaDir) ;
+ }
+ }
+
+ // TODO Auto-generated method stub
+ super.stopService();
+ }
+
+ private void initialiseSchemas(final File dataDir)
+ throws IOException
+ {
+ final String[] schemaResources = schemas.split("[, ]") ;
+ if (schemaResources != null)
+ {
+ final File schemaDir = new File(dataDir, SOAP_UI_SCHEMA_DIRECTORY) ;
+ schemaDir.mkdir();
+
+ for(String schema: schemaResources)
+ {
+ final File schemaFile = new File(schema) ;
+ final InputStream is = getInputStream(schemaFile) ;
+ try
+ {
+ writeToFile(is, schemaDir, schemaFile.getName()) ;
+ }
+ finally
+ {
+ is.close() ;
+ }
+ }
+ System.setProperty(PROPERTY_ESB_SCHEMA_DIRECTORY, schemaDir.getAbsolutePath()) ;
+ }
+ }
+
+ private void deleteFiles(final File file)
+ {
+ if (file.isDirectory())
+ {
+ final File[] files = file.listFiles() ;
+ for(File child: files)
+ {
+ deleteFiles(child) ;
+ }
+ }
+ file.delete() ;
+ }
+
+ private void writeToFile(final InputStream is, final File dir, final String name)
+ throws IOException
+ {
+ final File output = new File(dir, name) ;
+ final byte[] buffer = new byte[256] ;
+ final FileOutputStream fos = new FileOutputStream(output) ;
+ try
+ {
+ for(;;)
+ {
+ final int count = is.read(buffer) ;
+ if (count <= 0)
+ {
+ break ;
+ }
+ fos.write(buffer, 0, count) ;
+ }
+ }
+ finally
+ {
+ fos.close() ;
+ }
+ }
+
+ private InputStream getInputStream(final File file)
+ throws IOException
+ {
+ if (!file.isAbsolute()) {
+ final URL resourceURL = Thread.currentThread().getContextClassLoader().getResource(file.getPath()) ;
+ return resourceURL.openStream() ;
+ } else {
+ return new FileInputStream(file) ;
+ }
+ }
+
/**
+ * Get the property file.
+ * @return The name of the property file being used.
+ */
+ public String getPropertyFile()
+ {
+ return propertyFile ;
+ }
+ /**
+ * Set the property file.
+ * @param propertyFile The name of the property file being used.
+ */
+ public void setPropertyFile(final String propertyFile)
+ {
+ this.propertyFile = propertyFile ;
+ }
+
+ /**
+ * Get the additional schema resources.
+ * @return The additional schema resources.
+ */
+ public String getSchemas()
+ {
+ return schemas ;
+ }
+
+ /**
+ * Set the additional schemes.
+ * @param schemas The additional schema resources to setup for SoapUI.
+ * This needs support through the soapui-settings.xml file
+ * @see setPropertyFile
+ */
+ public void setSchemas(final String schemas)
+ {
+ this.schemas = schemas ;
+ }
+
+ /**
* Build a SOAP request for the specified operation on the specified WSDL.
*
* @param wsdl WSDL URL.
Modified: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientServiceMBean.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -63,4 +63,29 @@
* @throws IOException Failed to load WSDL.
*/
public abstract String getEndpoint(String wsdl, Properties httpClientProps) throws IOException;
+
+ /**
+ * Get the property file.
+ * @return The name of the property file being used.
+ */
+ public String getPropertyFile() ;
+ /**
+ * Set the property file.
+ * @param propertyFile The name of the property file being used.
+ */
+ public void setPropertyFile(final String propertyFile) ;
+
+ /**
+ * Get the additional schema resources.
+ * @return The additional schema resources.
+ */
+ public String getSchemas() ;
+
+ /**
+ * Set the additional schemes.
+ * @param schemas The additional schema resources to setup for SoapUI.
+ * This needs support through the soapui-settings.xml file
+ * @see setPropertyFile
+ */
+ public void setSchemas(final String schemas) ;
}
Modified: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/META-INF/jboss-service.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/META-INF/jboss-service.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/META-INF/jboss-service.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -2,8 +2,11 @@
<service>
<mbean code="org.jboss.soa.esb.services.soapui.SoapUIClientService"
name="jboss.esb:service=SoapUIClientService">
+ <attribute name="PropertyFile">soapui-settings.xml</attribute>
+ <attribute name="Schemas">schemas/XMLSchema1999.xsd</attribute>
+ <depends>jboss.esb:service=ESBDeployer</depends>
</mbean>
<loader-repository>
jboss.esb:loader=soapui-client.sar
</loader-repository>
-</service>
\ No newline at end of file
+</service>
Copied: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/schemas (from rev 21158, labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/schemas)
Deleted: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/schemas/XMLSchema1999.xsd
===================================================================
--- labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/schemas/XMLSchema1999.xsd 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/schemas/XMLSchema1999.xsd 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- XML Schema schema for XML Schemas: Part 1: Structures -->
-<!-- This schema attempts to redefine some XMLSchema1999 definitions as
- XMLSchema2001. This allows SoapUI to parse webservices using the older schema.
-
- This definition is not comprehensive, at present only simple string types are supported.
- -->
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
-
-<!-- provide ID type information even for parsers which only read the
- internal subset -->
-<!ATTLIST xs:schema id ID #IMPLIED>
-<!ATTLIST xs:complexType id ID #IMPLIED>
-<!ATTLIST xs:complexContent id ID #IMPLIED>
-<!ATTLIST xs:simpleContent id ID #IMPLIED>
-<!ATTLIST xs:extension id ID #IMPLIED>
-<!ATTLIST xs:element id ID #IMPLIED>
-<!ATTLIST xs:group id ID #IMPLIED>
-<!ATTLIST xs:all id ID #IMPLIED>
-<!ATTLIST xs:choice id ID #IMPLIED>
-<!ATTLIST xs:sequence id ID #IMPLIED>
-<!ATTLIST xs:any id ID #IMPLIED>
-<!ATTLIST xs:anyAttribute id ID #IMPLIED>
-<!ATTLIST xs:attribute id ID #IMPLIED>
-<!ATTLIST xs:attributeGroup id ID #IMPLIED>
-<!ATTLIST xs:unique id ID #IMPLIED>
-<!ATTLIST xs:key id ID #IMPLIED>
-<!ATTLIST xs:keyref id ID #IMPLIED>
-<!ATTLIST xs:selector id ID #IMPLIED>
-<!ATTLIST xs:field id ID #IMPLIED>
-<!ATTLIST xs:include id ID #IMPLIED>
-<!ATTLIST xs:import id ID #IMPLIED>
-<!ATTLIST xs:redefine id ID #IMPLIED>
-<!ATTLIST xs:notation id ID #IMPLIED>
-<!--
- keep this schema XML1.0 DTD valid
- -->
- <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
-
- <!ELEMENT hfp:hasFacet EMPTY>
- <!ATTLIST hfp:hasFacet
- name NMTOKEN #REQUIRED>
-
- <!ELEMENT hfp:hasProperty EMPTY>
- <!ATTLIST hfp:hasProperty
- name NMTOKEN #REQUIRED
- value CDATA #REQUIRED>
-<!--
- Make sure that processors that do not read the external
- subset will know about the various IDs we declare
- -->
- <!ATTLIST xs:simpleType id ID #IMPLIED>
- <!ATTLIST xs:maxExclusive id ID #IMPLIED>
- <!ATTLIST xs:minExclusive id ID #IMPLIED>
- <!ATTLIST xs:maxInclusive id ID #IMPLIED>
- <!ATTLIST xs:minInclusive id ID #IMPLIED>
- <!ATTLIST xs:totalDigits id ID #IMPLIED>
- <!ATTLIST xs:fractionDigits id ID #IMPLIED>
- <!ATTLIST xs:length id ID #IMPLIED>
- <!ATTLIST xs:minLength id ID #IMPLIED>
- <!ATTLIST xs:maxLength id ID #IMPLIED>
- <!ATTLIST xs:enumeration id ID #IMPLIED>
- <!ATTLIST xs:pattern id ID #IMPLIED>
- <!ATTLIST xs:appinfo id ID #IMPLIED>
- <!ATTLIST xs:documentation id ID #IMPLIED>
- <!ATTLIST xs:list id ID #IMPLIED>
- <!ATTLIST xs:union id ID #IMPLIED>
- ]>
-<xs:schema xmlns="http://www.w3.org/1999/XMLSchema" xmlns:tns="http://www.w3.org/1999/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="$Id: XMLSchema.xsd,v 1.5 2000/04/28 13:53:45 ht Exp $" xml:lang="EN">
-<xs:simpleType name="string" id="string">
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
-</xs:schema>
Copied: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/schemas/XMLSchema1999.xsd (from rev 21158, labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/schemas/XMLSchema1999.xsd)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/schemas/XMLSchema1999.xsd (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/schemas/XMLSchema1999.xsd 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- XML Schema schema for XML Schemas: Part 1: Structures -->
+<!-- This schema attempts to redefine some XMLSchema1999 definitions as
+ XMLSchema2001. This allows SoapUI to parse webservices using the older schema.
+
+ This definition is not comprehensive, at present only simple string types are supported.
+ -->
+<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [
+
+<!-- provide ID type information even for parsers which only read the
+ internal subset -->
+<!ATTLIST xs:schema id ID #IMPLIED>
+<!ATTLIST xs:complexType id ID #IMPLIED>
+<!ATTLIST xs:complexContent id ID #IMPLIED>
+<!ATTLIST xs:simpleContent id ID #IMPLIED>
+<!ATTLIST xs:extension id ID #IMPLIED>
+<!ATTLIST xs:element id ID #IMPLIED>
+<!ATTLIST xs:group id ID #IMPLIED>
+<!ATTLIST xs:all id ID #IMPLIED>
+<!ATTLIST xs:choice id ID #IMPLIED>
+<!ATTLIST xs:sequence id ID #IMPLIED>
+<!ATTLIST xs:any id ID #IMPLIED>
+<!ATTLIST xs:anyAttribute id ID #IMPLIED>
+<!ATTLIST xs:attribute id ID #IMPLIED>
+<!ATTLIST xs:attributeGroup id ID #IMPLIED>
+<!ATTLIST xs:unique id ID #IMPLIED>
+<!ATTLIST xs:key id ID #IMPLIED>
+<!ATTLIST xs:keyref id ID #IMPLIED>
+<!ATTLIST xs:selector id ID #IMPLIED>
+<!ATTLIST xs:field id ID #IMPLIED>
+<!ATTLIST xs:include id ID #IMPLIED>
+<!ATTLIST xs:import id ID #IMPLIED>
+<!ATTLIST xs:redefine id ID #IMPLIED>
+<!ATTLIST xs:notation id ID #IMPLIED>
+<!--
+ keep this schema XML1.0 DTD valid
+ -->
+ <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>
+
+ <!ELEMENT hfp:hasFacet EMPTY>
+ <!ATTLIST hfp:hasFacet
+ name NMTOKEN #REQUIRED>
+
+ <!ELEMENT hfp:hasProperty EMPTY>
+ <!ATTLIST hfp:hasProperty
+ name NMTOKEN #REQUIRED
+ value CDATA #REQUIRED>
+<!--
+ Make sure that processors that do not read the external
+ subset will know about the various IDs we declare
+ -->
+ <!ATTLIST xs:simpleType id ID #IMPLIED>
+ <!ATTLIST xs:maxExclusive id ID #IMPLIED>
+ <!ATTLIST xs:minExclusive id ID #IMPLIED>
+ <!ATTLIST xs:maxInclusive id ID #IMPLIED>
+ <!ATTLIST xs:minInclusive id ID #IMPLIED>
+ <!ATTLIST xs:totalDigits id ID #IMPLIED>
+ <!ATTLIST xs:fractionDigits id ID #IMPLIED>
+ <!ATTLIST xs:length id ID #IMPLIED>
+ <!ATTLIST xs:minLength id ID #IMPLIED>
+ <!ATTLIST xs:maxLength id ID #IMPLIED>
+ <!ATTLIST xs:enumeration id ID #IMPLIED>
+ <!ATTLIST xs:pattern id ID #IMPLIED>
+ <!ATTLIST xs:appinfo id ID #IMPLIED>
+ <!ATTLIST xs:documentation id ID #IMPLIED>
+ <!ATTLIST xs:list id ID #IMPLIED>
+ <!ATTLIST xs:union id ID #IMPLIED>
+ ]>
+<xs:schema xmlns="http://www.w3.org/1999/XMLSchema" xmlns:tns="http://www.w3.org/1999/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="$Id: XMLSchema.xsd,v 1.5 2000/04/28 13:53:45 ht Exp $" xml:lang="EN">
+<xs:simpleType name="string" id="string">
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+</xs:schema>
Copied: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/soapui-settings.xml (from rev 21158, labs/jbossesb/trunk/product/services/soapui-client/src/main/resources/soapui-settings.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/soapui-settings.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/src/main/resources/soapui-settings.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<con:soapui-settings xmlns:con="http://eviware.com/soapui/config">
+ <con:setting id="WsdlSettings at schema-directory">${jboss.esb.soapui.schema}</con:setting>
+
+ <con:setting id="WsdlSettings at cache-wsdls">true</con:setting>
+ <con:setting id="WsdlSettings at pretty-print-response-xml">true</con:setting>
+ <con:setting id="HttpSettings at include_request_in_time_taken">true</con:setting>
+ <con:setting id="HttpSettings at include_response_in_time_taken">true</con:setting>
+ <con:setting id="WsdlSettings at excluded-types"><![CDATA[
+ <con:entry xmlns:con="http://eviware.com/soapui/config">schema at http://www.w3.org/2001/XMLSchema</con:entry>
+ ]]>
+ </con:setting>
+ <con:setting id="WsdlSettings at name-with-binding">true</con:setting>
+</con:soapui-settings>
Modified: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/JBESB_1713_SoapUIClientServiceMBeanUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/JBESB_1713_SoapUIClientServiceMBeanUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/JBESB_1713_SoapUIClientServiceMBeanUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -160,4 +160,4 @@
return stringBuf;
}
-}
\ No newline at end of file
+}
Modified: labs/jbossesb/workspace/maeste/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/soapui-client/src/test/java/org/jboss/soa/esb/services/soapui/orderprocessing/expected_01.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -34,4 +34,4 @@
</order>
</end:processOrder>
</soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+</soapenv:Envelope>
Modified: labs/jbossesb/workspace/maeste/product/services/spring/src/main/java/org/jboss/soa/esb/actions/AbstractSpringAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/spring/src/main/java/org/jboss/soa/esb/actions/AbstractSpringAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/spring/src/main/java/org/jboss/soa/esb/actions/AbstractSpringAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -24,171 +24,200 @@
import org.apache.log4j.Logger;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
+import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- * Abstract class for Actions that make calls to Spring beans.
+ * Abstract class for Actions that makes calls to Spring beans.
+ * <p/>
+ * <p>
+ * <pre>{@code
+ * Usage :
+ * <action name="sayHello" class="xyx.com.SimpleSpringAction" process="process">
+ * <property name="springContextXml" value="spring-context1.xml, spring-context2.xml"/>
+ * </action>
+ * }</pre><br>
*
- * <p>This class creates a Spring IoC from a jboss-esb.xml element named "springContextXml".
- * A comma separated list of spring context files may be used.
+ * Description of configuration properties:
+ * <ul>
+ * <li><i>springContextXml</i>: A single Spring bean definition xml file or a comma separated list of xml files.
+ * </ul>
*
* @author <a href="mailto:james.williams at redhat.com">James Williams</a>.
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
*
*/
-public abstract class AbstractSpringAction extends AbstractActionLifecycle
- implements ActionLifecycle
+public abstract class AbstractSpringAction extends AbstractActionLifecycle implements ActionLifecycle
{
- private static Logger logger = Logger.getLogger(AbstractSpringAction.class);
+ private Logger logger = Logger.getLogger( AbstractSpringAction.class );
+
+ /** property name used in config file */
+ private static final String SPRING_CONTEXT_XML_ATTR = "springContextXml";
- private static final String SPRING_CONTEXT_XML_ATTR = "springContextXml";
+ /** Spring bean definition xml fil */
+ private String springContextXml;
- private String springContextXml;
+ /** configuration object */
+ protected ConfigTree configTree;
- protected ConfigTree configTree;
+ /** Spring bean factory */
+ private BeanFactory factory;
- private BeanFactory factory;
+ /**
+ * Constructs and instance with storing the passed in ConfigTree instance.
+ * <p/>
+ *
+ * @param configTree the ConfigTree instance that will be stored
+ */
+ public AbstractSpringAction(final ConfigTree configTree)
+ {
+ this.configTree = configTree;
+ }
- /*
- * (non-Javadoc)
- *
- * @see org.jboss.soa.esb.actions.AbstractActionLifecycle#initialise()
- */
- public void initialise() throws ActionLifecycleException
- {
- springContextXml = configTree.getAttribute(SPRING_CONTEXT_XML_ATTR);
+ /**
+ * Please do not call this no-args constructor and use
+ * {@link #AbstractSpringAction(ConfigTree)} instead. This is because
+ * the field configTree will be using in the {@link #initialise()} method
+ * and will be null this config tree is not saved.
+ *
+ * @deprecated Use {@link #AbstractSpringAction(ConfigTree)} instead
+ */
+ public AbstractSpringAction()
+ {
+ }
- if (springContextXml == null)
- {
- logger.error("No Spring context specified on action config "
- + configTree.getAttribute("name")
- + ". Expecting Spring context name.");
- throw new ActionLifecycleException(
- "No Spring context specified on action config: "
- + SPRING_CONTEXT_XML_ATTR + ".");
- } else
- {
- initializeSpring();
- }
- }
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.jboss.soa.esb.actions.AbstractActionLifecycle#initialise()
+ */
+ public void initialise() throws ActionLifecycleException
+ {
+ if (configTree == null)
+ {
+ throw new ActionLifecycleException( "Please make sure that the AbstractSpringAction(ConfigTree configTree) constructor was called and not the no-args constructor." );
+ }
- /**
- * Initialize Spring IoC
- *
- * @throws ActionLifecycleException
- */
- protected void initializeSpring() throws ActionLifecycleException
- {
- if (isBeanFactoryNull())
- {
- loadSpringIoc();
- }
- }
+ springContextXml = configTree.getAttribute( SPRING_CONTEXT_XML_ATTR );
+ if (springContextXml == null)
+ {
+ throw new ActionLifecycleException( "No Spring context specified on action config: " + SPRING_CONTEXT_XML_ATTR + "." );
+ }
+
+ initializeSpring();
+ }
- /**
- * Request a BeanFactory instance from the action. If no Spring IoC container
- * exists, create one.
- *
- * @return Spring Bean Factory
- * @throws ActionLifecycleException
- */
- protected BeanFactory getBeanFactory() throws ActionLifecycleException
- {
- return this.factory;
- }
+ /**
+ * Check to see if Spring Bean factory is null. Mostly used for unit tests,
+ * but could provide use in other situations.
+ *
+ * @return true if the bean factory is null
+ */
+ public boolean isBeanFactoryNull()
+ {
+ return factory == null;
+ }
+
+ /**
+ * Generic Exception handler for Spring Actions. Displays the root cause
+ * message and full stack trace.
+ *
+ * @param message
+ * @param exception
+ */
+ public void exceptionHandler( Message message, Throwable exception )
+ {
+ Throwable rootCause = exception.getCause();
+ StackTraceElement[] traceElms = rootCause.getStackTrace();
- /**
- * Check to see if Spring Bean factory is null. Mostly used for unit tests,
- * but could provide use in other situations.
- *
- * @return
- */
- public boolean isBeanFactoryNull()
- {
- if (factory == null)
- {
- return true;
- } else
- {
- return false;
- }
- }
+ StringBuffer stackTrace = new StringBuffer( "Exception Root Cause is: \n" );
+ stackTrace.append( rootCause.getMessage() );
+ stackTrace.append( "\n Full Stack Trace is: \n" );
+ for (StackTraceElement elm : traceElms)
+ {
+ stackTrace.append( elm );
+ stackTrace.append( "\n" );
+ }
- /**
- * Create a spring IoC container.
- *
- * @throws ActionLifecycleException
- */
- private void loadSpringIoc() throws ActionLifecycleException
- {
- String springContextXml = configTree
- .getAttribute(SPRING_CONTEXT_XML_ATTR);
- try
- {
- ApplicationContext springContext;
+ logger.error( stackTrace.toString() );
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.jboss.soa.esb.actions.AbstractActionLifecycle#destroy()
+ */
+ public void destroy() throws ActionLifecycleException
+ {
+ }
- if (springContextXml.contains(","))
- {
- String[] springContextXmls = springContextXml.split(",");
- springContext = new ClassPathXmlApplicationContext(
- springContextXmls);
- } else
- {
- springContext = new ClassPathXmlApplicationContext(springContextXml);
- }
+ /**
+ * Initialize Spring IoC
+ *
+ * @throws ActionLifecycleException
+ */
+ protected void initializeSpring() throws ActionLifecycleException
+ {
+ if (isBeanFactoryNull())
+ {
+ loadSpringIoc();
+ }
+ }
- factory = (BeanFactory) springContext;
- } catch (Exception e)
- {
- throw new ActionLifecycleException(e);
- }
- }
+ /**
+ * Request a BeanFactory instance from the action. If no Spring IoC
+ * container exists, create one.
+ *
+ * @return Spring Bean Factory
+ * @throws ActionLifecycleException
+ */
+ protected BeanFactory getBeanFactory() throws ActionLifecycleException
+ {
+ return factory;
+ }
+
+ /**
+ * Conviencence method for printing a console log header
+ * @deprecated
+ */
+ protected void logHeader() { }
- /**
- * Generic Exception handler for Spring Actions. Displays the root cause
- * message and full stack trace.
- *
- * @param message
- * @param exception
- */
- public void exceptionHandler(Message message, Throwable exception)
- {
- Throwable rootCause = exception.getCause();
- StackTraceElement[] traceElms = rootCause.getStackTrace();
+ /**
+ * Conviencence method for printing a console log footer
+ * @deprecated
+ */
+ protected void logFooter() { }
- StringBuffer stackTrace = new StringBuffer("Exception Root Cause is: \n");
- stackTrace.append(rootCause.getMessage());
- stackTrace.append("\n Full Stack Trace is: \n");
- for (StackTraceElement elm : traceElms)
- {
- stackTrace.append(elm);
- stackTrace.append("\n");
- }
- logger.error(stackTrace.toString());
- }
+ /**
+ * Create a spring IoC container.
+ *
+ * @throws ActionLifecycleException
+ */
+ private void loadSpringIoc() throws ActionLifecycleException
+ {
+ try
+ {
+ ApplicationContext springContext;
- /**
- * Conviencence method for printing a console log header
- */
- protected void logHeader()
- {
- System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
- }
+ if (springContextXml.contains( "," ))
+ {
+ String[] springContextXmls = springContextXml.split( "," );
+ springContext = new ClassPathXmlApplicationContext( springContextXmls );
+ }
+ else
+ {
+ springContext = new ClassPathXmlApplicationContext( springContextXml );
+ }
- /**
- * Conviencence method for printing a console log footer
- */
- protected void logFooter()
- {
- System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
- }
-
- /* (non-Javadoc)
- * @see org.jboss.soa.esb.actions.AbstractActionLifecycle#destroy()
- */
- public void destroy() throws ActionLifecycleException
- {
- }
+ factory = (BeanFactory) springContext;
+ }
+ catch (final BeansException e)
+ {
+ throw new ActionLifecycleException( "BeansException caught in loadSpringToc : " , e );
+ }
+ }
+
}
Modified: labs/jbossesb/workspace/maeste/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/AbstractSpringActionUnitTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/AbstractSpringActionUnitTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/AbstractSpringActionUnitTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -19,55 +19,75 @@
*/
package org.jboss.soa.esb.actions.spring;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import junit.framework.JUnit4TestAdapter;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
import org.jboss.soa.esb.helpers.ConfigTree;
+import org.junit.Test;
/**
* Unit tests for org.jboss.soa.esb.actions.AbstractSpringAction
- *
+ * <p/>
* @author <a href="mailto:james.williams at redhat.com">james.williams at redhat.com</a>
+ * @author <a href="mailto:dbevenius at redhat.com">Daniel Bevenius</a>
*/
-public class AbstractSpringActionUnitTest extends TestCase
+public class AbstractSpringActionUnitTest
{
+ private final String springContext1 = "/spring-context-1.xml";
+ private final String springContext2 = "/spring-context-2.xml";
+
+ @Test ( expected = ActionLifecycleException.class )
+ public void nullConfigTree() throws Exception
+ {
+ new MockSpringAction( createConfig() );
+ }
- public void test_bean_factory_load_single() throws Exception
- {
- ConfigTree config = new ConfigTree("<config/>");
+ @Test
+ public void test_bean_factory_load_single() throws Exception
+ {
+ MockSpringAction mockAction = createMockAction( new String[] { springContext1 } );
+ assertEquals("hello from Spring", mockAction.sayHelloSpring());
+ assertEquals(false, mockAction.isBeanFactoryNull());
+ }
- config.setAttribute("springContextXml", "/spring-context-1.xml");
+ @Test
+ public void test_bean_factory_load_multiple() throws Exception
+ {
+ MockSpringAction mockAction = createMockAction( new String[] { springContext1, springContext2 } );
+ assertEquals("hello from Spring", mockAction.sayHelloSpring());
+ assertEquals("goodbye from Spring", mockAction.sayGoodbyeSpring());
+ assertEquals(false, mockAction.isBeanFactoryNull());
+ }
- MockSpringAction mockAction = new MockSpringAction(config);
- assertEquals("hello from Spring", mockAction.sayHelloSpring());
- assertEquals(false, mockAction.isBeanFactoryNull());
- }
-
- public void test_bean_factory_load_multiple() throws Exception
- {
- ConfigTree config = new ConfigTree("<config/>");
-
+ @Test
+ public void test_spring_aop() throws Exception
+ {
+ MockSpringAction mockAction = createMockAction( new String[] { springContext1 } );
+ assertEquals("Greeting Changed", mockAction.sayHelloAopStyle());
+ assertEquals(false, mockAction.isBeanFactoryNull());
+ }
+
+ public static junit.framework.Test suite()
+ {
+ return new JUnit4TestAdapter( AbstractSpringActionUnitTest.class );
+ }
- String configPath1 = "/spring-context-1.xml";
- String configPath2 = "/spring-context-2.xml";
-
- config.setAttribute("springContextXml", configPath1 + "," + configPath2);
-
- MockSpringAction mockAction = new MockSpringAction(config);
- assertEquals("hello from Spring", mockAction.sayHelloSpring());
- assertEquals("goodbye from Spring", mockAction.sayGoodbyeSpring());
- assertEquals(false, mockAction.isBeanFactoryNull());
- }
-
- public void test_spring_aop() throws Exception
- {
- ConfigTree config = new ConfigTree("<config/>");
-
- String pathToConfigFile = "/spring-context-1.xml";
-
- config.setAttribute("springContextXml", pathToConfigFile);
-
- MockSpringAction mockAction = new MockSpringAction(config);
- assertEquals("Greeting Changed", mockAction.sayHelloAopStyle());
- assertEquals(false, mockAction.isBeanFactoryNull());
- }
+ private ConfigTree createConfig()
+ {
+ return new ConfigTree("<config/>");
+ }
+
+ private MockSpringAction createMockAction( String[] files) throws Exception
+ {
+ final ConfigTree config = createConfig();
+ final StringBuilder sb = new StringBuilder();
+ for (String configFile : files)
+ {
+ sb.append( configFile ).append( ',' );
+ }
+ config.setAttribute( "springContextXml" , sb.toString() );
+
+ return new MockSpringAction( config );
+ }
}
Modified: labs/jbossesb/workspace/maeste/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/MockSpringAction.java
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/MockSpringAction.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/MockSpringAction.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -31,10 +31,10 @@
*/
public class MockSpringAction extends AbstractSpringAction
{
-
+
public MockSpringAction(ConfigTree config) throws Exception
{
- configTree = config;
+ super(config);
initialise();
}
Copied: labs/jbossesb/workspace/maeste/product/services/spring/src/test/resources/log4j.xml (from rev 21158, labs/jbossesb/trunk/product/services/spring/src/test/resources/log4j.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/services/spring/src/test/resources/log4j.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/services/spring/src/test/resources/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <param name="Target" value="System.out"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <category name="org.jbpm">
+ <priority value="INFO"/>
+ </category>
+ <category name="org.hibernate">
+ <priority value="ERROR"/>
+ </category>
+ <category name="org.jboss">
+ <priority value="WARN"/>
+ </category>
+
+ <category name="org.springframework">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="org.jboss.soa.esb.actions.AbstractSpringAction">
+ <priority value="warn"/>
+ </category>
+
+ <category name="org.jboss.internal.soa.esb">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="org.jboss..soa.esb">
+ <priority value="ERROR"/>
+ </category>
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ </root>
+
+</log4j:configuration>
Modified: labs/jbossesb/workspace/maeste/product/tools/console/management/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/console/management/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/console/management/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -21,6 +21,10 @@
value="${esb.root.dir}/server/default/deploy/jbossesb.sar/lib">
<available type="dir" file="${esb.root.dir}/server/default/deploy/jbossesb.sar/lib"/>
</condition>
+ <condition property="esb.lib.dir"
+ value="${esb.root.dir}/server/all/deploy/jbossesb.sar/lib">
+ <available type="dir" file="${esb.root.dir}/server/all/deploy/jbossesb.sar/lib"/>
+ </condition>
<condition property="esb.lib.dir"
value="${esb.root.dir}/server/all/deploy/jbossesb.sar/lib">
<available type="dir" file="${esb.root.dir}/server/all/deploy/jbossesb.sar/lib"/>
Modified: labs/jbossesb/workspace/maeste/product/tools/console/management/src/main/resources/postgresql/monitoring-mappings.hbm.xml
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/console/management/src/main/resources/postgresql/monitoring-mappings.hbm.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/console/management/src/main/resources/postgresql/monitoring-mappings.hbm.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -4,14 +4,18 @@
<hibernate-mapping>
<class name="org.jboss.soa.esb.monitoring.pojo.JMXPattern" table="JMXPATTERN">
<id name="id" column="id" type="java.lang.Long" unsaved-value="0">
- <generator class="native"/>
+ <generator class="sequence">
+ <param name="sequence">mgmt_hibernate_sequence</param>
+ </generator>
</id>
<property name="classpattern" type="java.lang.String" column="classpattern"/>
<property name="keyvalue" type="java.lang.String" column="keyvalue"/>
</class>
<class name="org.jboss.soa.esb.monitoring.pojo.JMXData" table="JMXDATA">
<id name="id" column="id" type="java.lang.Long" unsaved-value="0">
- <generator class="native"/>
+ <generator class="sequence">
+ <param name="sequence">mgmt_hibernate_sequence</param>
+ </generator>
</id>
<many-to-one name="attribute" column="STATID"/>
<property name="server" type="java.lang.String" column="SERVER"/>
@@ -22,7 +26,9 @@
</class>
<class name="org.jboss.soa.esb.monitoring.pojo.JMXOperationResult" table="JMXOPERATIONRESULT">
<id name="id" column="id" type="java.lang.Long" unsaved-value="0">
- <generator class="native"/>
+ <generator class="sequence">
+ <param name="sequence">mgmt_hibernate_sequence</param>
+ </generator>
</id>
<many-to-one name="operation" column="OPID"/>
<property name="servername" type="java.lang.String" column="SERVER"/>
@@ -31,14 +37,18 @@
</class>
<class name="org.jboss.soa.esb.monitoring.pojo.JMXAttribute" table="JMXATTRIBUTE">
<id name="id" column="statid" type="java.lang.Long" unsaved-value="0">
- <generator class="native"/>
+ <generator class="sequence">
+ <param name="sequence">mgmt_hibernate_sequence</param>
+ </generator>
</id>
<property name="objectname" type="java.lang.String" column="objectname"/>
<property name="attribute" type="java.lang.String" column="attribute"/>
</class>
<class name="org.jboss.soa.esb.monitoring.pojo.JMXOperation" table="JMXOPERATION">
<id name="id" column="opid" type="java.lang.Long" unsaved-value="0">
- <generator class="native"/>
+ <generator class="sequence">
+ <param name="sequence">mgmt_hibernate_sequence</param>
+ </generator>
</id>
<property name="objectname" type="java.lang.String" column="objectname"/>
<property name="operation" type="java.lang.String" column="operation"/>
Modified: labs/jbossesb/workspace/maeste/product/tools/console/management-esb/src/main/resources/oracle/create_database.sql
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/console/management-esb/src/main/resources/oracle/create_database.sql 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/console/management-esb/src/main/resources/oracle/create_database.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -8,8 +8,8 @@
create table JMXATTRIBUTE (
statid number(19,0),
- objectname varchar2(255 char),
- attribute varchar2(255 char),
+ objectname varchar2(2000 char),
+ attribute varchar2(2000 char),
primary key (statid)
);
@@ -24,28 +24,28 @@
primary key (id)
);
- CREATE TABLE JMXOPERATION (
- OPID number(19,0),
- OBJECTNAME VARCHAR2(255 char) NOT NULL,
- OPERATION VARCHAR2(255 char) NOT NULL,
- DESCRIPTION VARCHAR2(255) NOT NULL,
- RETURNTYPE VARCHAR2(255 char) NOT NULL,
- SERVERNAME VARCHAR2(255 char) NOT NULL,
- ACTIVEFLAG NUMBER(1) NOT NULL,
- primary key (opid)
- );
+ CREATE TABLE JMXOPERATION (
+ OPID number(19,0),
+ OBJECTNAME VARCHAR2(2000 char) NOT NULL,
+ OPERATION VARCHAR2(255 char) NOT NULL,
+ DESCRIPTION VARCHAR2(2000) NOT NULL,
+ RETURNTYPE VARCHAR2(255 char) NOT NULL,
+ SERVERNAME VARCHAR2(255 char) NOT NULL,
+ ACTIVEFLAG NUMBER(1) NOT NULL,
+ primary key (opid)
+ );
- CREATE TABLE JMXOPERATIONRESULT (
- ID number(19,0),
- OPID number(19,0),
- SERVER VARCHAR(255),
- STATDATE TIMESTAMP,
- RESULT VARCHAR(255),
- primary key(id)
- );
+ CREATE TABLE JMXOPERATIONRESULT (
+ ID number(19,0),
+ OPID number(19,0),
+ SERVER VARCHAR(255),
+ STATDATE TIMESTAMP,
+ RESULT VARCHAR(255),
+ primary key(id)
+ );
CREATE SEQUENCE SEQ_JMX_ATTRIBUTE START WITH 1 MINVALUE 1 INCREMENT BY 1 NOCYCLE;
CREATE SEQUENCE SEQ_JMX_DATA START WITH 1 MINVALUE 1 INCREMENT BY 1 NOCYCLE;
CREATE SEQUENCE SEQ_JMX_PATTERN START WITH 1 MINVALUE 1 INCREMENT BY 1 NOCYCLE;
- CREATE SEQUENCE SEQ_JMX_OPERATION START WITH 1 MINVALUE 1 INCREMENT BY 1 NOCYCLE;
- CREATE SEQUENCE SEQ_JMX_OPERATION_RESULT START WITH 1 MINVALUE 1 INCREMENT BY 1 NOCYCLE;
+ CREATE SEQUENCE SEQ_JMX_OPERATION START WITH 1 MINVALUE 1 INCREMENT BY 1 NOCYCLE;
+ CREATE SEQUENCE SEQ_JMX_OPERATION_RESULT START WITH 1 MINVALUE 1 INCREMENT BY 1 NOCYCLE;
Modified: labs/jbossesb/workspace/maeste/product/tools/console/management-esb/src/main/resources/postgresql/create_database.sql
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/console/management-esb/src/main/resources/postgresql/create_database.sql 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/console/management-esb/src/main/resources/postgresql/create_database.sql 2008-07-22 12:21:06 UTC (rev 21159)
@@ -58,7 +58,7 @@
foreign key (OPID)
references JMXOPERATION(opid);
- CREATE SEQUENCE hibernate_sequence
+ CREATE SEQUENCE mgmt_hibernate_sequence
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin)
Deleted: labs/jbossesb/workspace/maeste/product/tools/jonplugin/install.sh
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/install.sh 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/install.sh 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,3 +0,0 @@
-#!/bin/sh
-mvn -Dmaven.test.skip=true clean install
-cp target/rhq-jbossesb-plugin-2.0.1-SNAPSHOT.jar ~/src/jon/dev-container/jbossas/server/default/deploy/rhq.ear/rhq-downloads/rhq-plugins
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/install.sh (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/install.sh)
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/jonplugin/install.sh (rev 0)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/install.sh 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,3 @@
+#!/bin/sh
+mvn -Dmaven.test.skip=true clean install
+cp target/rhq-jbossesb-plugin-2.0.1-SNAPSHOT.jar ~/src/jon/dev-container/jbossas/server/default/deploy/rhq.ear/rhq-downloads/rhq-plugins
Deleted: labs/jbossesb/workspace/maeste/product/tools/jonplugin/pom.xml
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/pom.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/pom.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,215 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.jboss.on</groupId>
- <!-- Bypass the jon-plugins-parent which can not have children. It must build after the plugins in order to execute integration tests on them. -->
- <artifactId>jon-parent</artifactId>
- <version>2.0.1-SNAPSHOT</version>
- </parent>
-
- <groupId>org.jboss.on</groupId>
- <artifactId>rhq-jbossesb-plugin</artifactId>
- <packaging>jar</packaging>
-
- <name>JON JBossESB Plugin</name>
- <description>A plugin for managing JBossESB services</description>
-
- <scm>
- <connection>scm:svn:http://svn.corp.jboss.com/repos/jon/trunk/jon/plugins/jbossesb/</connection>
- <developerConnection>scm:svn:http://svn.corp.jboss.com/repos/jon/trunk/jon/plugins/jbossesb/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>jon/plugins/jbossesb/</scm.module.path>
- </properties>
-
- <build>
- <plugins>
-
- <!-- Used to add dependencies to the plugin lib
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.0</version>
- <executions>
- <execution>
- <id>copy-postgres-jar</id>
- <phase>process-resources</phase>
- <goals>
- <goal>copy</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>postgresql</groupId>
- <artifactId>postgresql</artifactId>
- <version>8.1-407.jdbc3</version>
- </artifactItem>
- </artifactItems>
- <outputDirectory>${project.build.outputDirectory}/lib</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>-->
- </plugins>
- </build>
- <profiles>
- <profile>
- <id>integration-tests</id>
- <activation>
- <property>
- <name>maven.test.skip</name>
- <value>!true</value>
- </property>
- </activation>
-
- <build>
- <plugins>
-
- <!-- Integration testing voodoo to load and test this plugin with its plugin dependencies -->
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <phase>pre-integration-test</phase>
- <configuration>
- <tasks>
- <echo>Setting up plugin dependencies for ${project.artifactId}-${project.version}.jar...</echo>
- <property name="settings.localRepository" location="${user.home}/.m2/repository" />
- <mkdir dir="target/itest" />
- <mkdir dir="target/itest/plugins" />
- <mkdir dir="target/itest/lib" />
- <copy toDir="target/itest/plugins" flatten="true">
- <fileset dir="${settings.localRepository}/">
- <include name="org/rhq/rhq-platform-plugin/${rhq.version}/rhq-platform-plugin-${rhq.version}.jar" />
- <include name="org/rhq/rhq-jmx-plugin/${rhq.version}/rhq-jmx-plugin-${rhq.version}.jar" />
- <include name="org/jboss/on/rhq-tomcat-plugin/${project.version}/rhq-tomcat-plugin-${project.version}.jar" />
- <include name="org/jboss/on/rhq-jbossas-plugin/${project.version}/rhq-jbossas-plugin-${project.version}.jar" />
- </fileset>
- <fileset dir="${project.build.directory}">
- <include name="${project.artifactId}-${project.version}.jar" />
- </fileset>
- </copy>
- <unzip dest="target/itest/lib">
- <fileset dir="${settings.localRepository}/org/hyperic/sigar-dist/${sigar.version}" includes="*.zip" />
- <patternset>
- <include name="**/lib/sigar.jar" />
- <include name="**/lib/bcel*.jar" />
- <include name="**/lib/*.so" />
- <include name="**/lib/*.sl" />
- <include name="**/lib/*.dll" />
- <include name="**/lib/*.dylib" />
- </patternset>
- </unzip>
- <move todir="target/itest/lib" flatten="true">
- <fileset dir="target/itest/lib">
- <include name="**/lib/*" />
- </fileset>
- </move>
- <delete dir="target/itest/lib/hyperic-sigar-${sigar.version}" />
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- <executions>
- <execution>
- <id>surefire-it</id>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <skip>${maven.test.skip}</skip>
- <excludedGroups>${rhq.testng.excludedGroups}</excludedGroups>
- <useSystemClassLoader>false</useSystemClassLoader>
- <argLine>-Dorg.hyperic.sigar.path=${basedir}/target/itest/lib</argLine>
- <!--<argLine>-Dorg.hyperic.sigar.path=${basedir}/target/itest/lib -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y</argLine>-->
- <systemProperties>
- <property>
- <name>project.artifactId</name>
- <value>${project.artifactId}</value>
- </property>
- <property>
- <name>project.version</name>
- <value>${project.version}</value>
- </property>
- </systemProperties>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
-
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>dev</id>
-
- <properties>
- <rhq.rootDir>../../..</rhq.rootDir>
- <rhq.containerDir>${rhq.rootDir}/${rhq.defaultDevContainerPath}</rhq.containerDir>
- <rhq.deploymentDir>${rhq.containerDir}/jbossas/server/default/deploy/${rhq.earName}/rhq-downloads/rhq-plugins</rhq.deploymentDir>
- </properties>
-
- <build>
- <plugins>
-
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <version>1.1</version>
- <executions>
-
- <execution>
- <id>deploy</id>
- <phase>compile</phase>
- <configuration>
- <tasks>
- <mkdir dir="${rhq.deploymentDir}" />
- <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
- <echo>*** Updating ${deployment.file}...</echo>
- <jar destfile="${deployment.file}" basedir="${project.build.outputDirectory}" />
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
-
- <execution>
- <id>undeploy</id>
- <phase>clean</phase>
- <configuration>
- <tasks>
- <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
- <echo>*** Deleting ${deployment.file}...</echo>
- <delete file="${deployment.file}" />
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
-
- </executions>
- </plugin>
-
- </plugins>
- </build>
- </profile>
-
- </profiles>
-
-</project>
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/pom.xml (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/pom.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/jonplugin/pom.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/pom.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,215 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.jboss.on</groupId>
+ <!-- Bypass the jon-plugins-parent which can not have children. It must build after the plugins in order to execute integration tests on them. -->
+ <artifactId>jon-parent</artifactId>
+ <version>2.0.1-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.jboss.on</groupId>
+ <artifactId>rhq-jbossesb-plugin</artifactId>
+ <packaging>jar</packaging>
+
+ <name>JON JBossESB Plugin</name>
+ <description>A plugin for managing JBossESB services</description>
+
+ <scm>
+ <connection>scm:svn:http://svn.corp.jboss.com/repos/jon/trunk/jon/plugins/jbossesb/</connection>
+ <developerConnection>scm:svn:http://svn.corp.jboss.com/repos/jon/trunk/jon/plugins/jbossesb/</developerConnection>
+ </scm>
+
+ <properties>
+ <scm.module.path>jon/plugins/jbossesb/</scm.module.path>
+ </properties>
+
+ <build>
+ <plugins>
+
+ <!-- Used to add dependencies to the plugin lib
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.0</version>
+ <executions>
+ <execution>
+ <id>copy-postgres-jar</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>8.1-407.jdbc3</version>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${project.build.outputDirectory}/lib</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>-->
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>integration-tests</id>
+ <activation>
+ <property>
+ <name>maven.test.skip</name>
+ <value>!true</value>
+ </property>
+ </activation>
+
+ <build>
+ <plugins>
+
+ <!-- Integration testing voodoo to load and test this plugin with its plugin dependencies -->
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>pre-integration-test</phase>
+ <configuration>
+ <tasks>
+ <echo>Setting up plugin dependencies for ${project.artifactId}-${project.version}.jar...</echo>
+ <property name="settings.localRepository" location="${user.home}/.m2/repository" />
+ <mkdir dir="target/itest" />
+ <mkdir dir="target/itest/plugins" />
+ <mkdir dir="target/itest/lib" />
+ <copy toDir="target/itest/plugins" flatten="true">
+ <fileset dir="${settings.localRepository}/">
+ <include name="org/rhq/rhq-platform-plugin/${rhq.version}/rhq-platform-plugin-${rhq.version}.jar" />
+ <include name="org/rhq/rhq-jmx-plugin/${rhq.version}/rhq-jmx-plugin-${rhq.version}.jar" />
+ <include name="org/jboss/on/rhq-tomcat-plugin/${project.version}/rhq-tomcat-plugin-${project.version}.jar" />
+ <include name="org/jboss/on/rhq-jbossas-plugin/${project.version}/rhq-jbossas-plugin-${project.version}.jar" />
+ </fileset>
+ <fileset dir="${project.build.directory}">
+ <include name="${project.artifactId}-${project.version}.jar" />
+ </fileset>
+ </copy>
+ <unzip dest="target/itest/lib">
+ <fileset dir="${settings.localRepository}/org/hyperic/sigar-dist/${sigar.version}" includes="*.zip" />
+ <patternset>
+ <include name="**/lib/sigar.jar" />
+ <include name="**/lib/bcel*.jar" />
+ <include name="**/lib/*.so" />
+ <include name="**/lib/*.sl" />
+ <include name="**/lib/*.dll" />
+ <include name="**/lib/*.dylib" />
+ </patternset>
+ </unzip>
+ <move todir="target/itest/lib" flatten="true">
+ <fileset dir="target/itest/lib">
+ <include name="**/lib/*" />
+ </fileset>
+ </move>
+ <delete dir="target/itest/lib/hyperic-sigar-${sigar.version}" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ <executions>
+ <execution>
+ <id>surefire-it</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>${maven.test.skip}</skip>
+ <excludedGroups>${rhq.testng.excludedGroups}</excludedGroups>
+ <useSystemClassLoader>false</useSystemClassLoader>
+ <argLine>-Dorg.hyperic.sigar.path=${basedir}/target/itest/lib</argLine>
+ <!--<argLine>-Dorg.hyperic.sigar.path=${basedir}/target/itest/lib -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y</argLine>-->
+ <systemProperties>
+ <property>
+ <name>project.artifactId</name>
+ <value>${project.artifactId}</value>
+ </property>
+ <property>
+ <name>project.version</name>
+ <value>${project.version}</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>dev</id>
+
+ <properties>
+ <rhq.rootDir>../../..</rhq.rootDir>
+ <rhq.containerDir>${rhq.rootDir}/${rhq.defaultDevContainerPath}</rhq.containerDir>
+ <rhq.deploymentDir>${rhq.containerDir}/jbossas/server/default/deploy/${rhq.earName}/rhq-downloads/rhq-plugins</rhq.deploymentDir>
+ </properties>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.1</version>
+ <executions>
+
+ <execution>
+ <id>deploy</id>
+ <phase>compile</phase>
+ <configuration>
+ <tasks>
+ <mkdir dir="${rhq.deploymentDir}" />
+ <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
+ <echo>*** Updating ${deployment.file}...</echo>
+ <jar destfile="${deployment.file}" basedir="${project.build.outputDirectory}" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ <execution>
+ <id>undeploy</id>
+ <phase>clean</phase>
+ <configuration>
+ <tasks>
+ <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
+ <echo>*** Deleting ${deployment.file}...</echo>
+ <delete file="${deployment.file}" />
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+ </profile>
+
+ </profiles>
+
+</project>
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src)
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main)
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java)
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org)
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson)
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins)
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb)
Deleted: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,99 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2008 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.jbosson.plugins.jbossesb;
-
-import java.util.Set;
-
-import org.mc4j.ems.connection.bean.attribute.EmsAttribute;
-import org.mc4j.ems.connection.bean.operation.EmsOperation;
-import org.rhq.core.domain.measurement.MeasurementDataNumeric;
-import org.rhq.core.domain.measurement.MeasurementReport;
-import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
-import org.rhq.core.pluginapi.inventory.ResourceContext;
-import org.rhq.plugins.jmx.MBeanResourceComponent;
-
-import org.rhq.core.domain.configuration.Configuration;
-import org.rhq.core.domain.configuration.PropertySimple;
-import org.mc4j.ems.connection.bean.EmsBean;
-
-/**
- * @author Greg Hinkle
- */
-public class ActionComponent extends MBeanResourceComponent<MBeanResourceComponent> {
- private ResourceContext<MBeanResourceComponent> context;
-
- private static final String SUCCESS_PROCESSED = "messages successfully processed count";
- private static final String FAILED_PROCESSED = "messages failed count";
- private static final String PROCESSING_TIME = "processing time";
- private static final String OVERALL_BYTES_PROCESSED = "bytes processed";
- private static final String OVERALL_BYTES_FAILED = "bytes failed";
-
- private static final String SUCCESS_METRIC_NAME = "successProcessedCount";
- private static final String FAILED_METRIC_NAME = "failedProcessedCount";
- private static final String PROCESSINGTIME_METRIC_NAME = "processingTime";
- private static final String BYTESPROCESSED_METRIC_NAME = "overallBytesProcessed";
- private static final String BYTESFAILED_METRIC_NAME = "overallBytesFailed";
-
- @Override
- public void start(ResourceContext<MBeanResourceComponent> context) {
- super.start(context);
- this.context = context;
- this.bean = context.getParentResourceComponent().getEmsBean();
- }
-
- @Override
- public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> requests) {
- Configuration pluginConfig = this.context.getPluginConfiguration();
- pluginConfig.put(new PropertySimple("type", "action"));
- //String actionName = pluginConfig.getActionName();
-
- String actionName = this.context.getResourceKey();
- actionName = actionName.trim();
- //Object entityStatistics = operation.invoke(context.getResourceKey());
-
- for (MeasurementScheduleRequest request : requests) {
- String metricName = request.getName();
- if (metricName.equals (SUCCESS_METRIC_NAME)) {
- EmsAttribute attribute = this.bean.getAttribute(actionName + " " + SUCCESS_PROCESSED);
- Integer processed = (Integer) attribute.refresh();
- report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
- } else if (metricName.equals(FAILED_METRIC_NAME)) {
- EmsAttribute attribute = this.bean.getAttribute(actionName + " " + FAILED_PROCESSED);
- Integer processed = (Integer) attribute.refresh();
- report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
- } else if (metricName.equals(PROCESSINGTIME_METRIC_NAME)) {
- EmsAttribute attribute = this.bean.getAttribute(actionName + " " + PROCESSING_TIME);
- Double processed = (Double) attribute.refresh();
- if (processed != null) {
- report.addData(new MeasurementDataNumeric(request, processed));
- } else {
- report.addData(new MeasurementDataNumeric(request, new Double(0)));
- }
- } else if (metricName.equals(BYTESPROCESSED_METRIC_NAME)) {
- EmsAttribute attribute = this.bean.getAttribute(actionName + " " + OVERALL_BYTES_PROCESSED);
- Integer bytesProcessed = (Integer) attribute.refresh();
- report.addData(new MeasurementDataNumeric(request, new Double(bytesProcessed.doubleValue())));
- } else if (metricName.equals(BYTESFAILED_METRIC_NAME)) {
- EmsAttribute attribute = this.bean.getAttribute(actionName + " " + OVERALL_BYTES_FAILED);
- Integer bytesProcessed = (Integer) attribute.refresh();
- report.addData(new MeasurementDataNumeric(request, new Double(bytesProcessed.doubleValue())));
- }
- }
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionComponent.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,99 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2008 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.jbosson.plugins.jbossesb;
+
+import java.util.Set;
+
+import org.mc4j.ems.connection.bean.attribute.EmsAttribute;
+import org.mc4j.ems.connection.bean.operation.EmsOperation;
+import org.rhq.core.domain.measurement.MeasurementDataNumeric;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.pluginapi.inventory.ResourceContext;
+import org.rhq.plugins.jmx.MBeanResourceComponent;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.PropertySimple;
+import org.mc4j.ems.connection.bean.EmsBean;
+
+/**
+ * @author Greg Hinkle
+ */
+public class ActionComponent extends MBeanResourceComponent<MBeanResourceComponent> {
+ private ResourceContext<MBeanResourceComponent> context;
+
+ private static final String SUCCESS_PROCESSED = "messages successfully processed count";
+ private static final String FAILED_PROCESSED = "messages failed count";
+ private static final String PROCESSING_TIME = "processing time";
+ private static final String OVERALL_BYTES_PROCESSED = "bytes processed";
+ private static final String OVERALL_BYTES_FAILED = "bytes failed";
+
+ private static final String SUCCESS_METRIC_NAME = "successProcessedCount";
+ private static final String FAILED_METRIC_NAME = "failedProcessedCount";
+ private static final String PROCESSINGTIME_METRIC_NAME = "processingTime";
+ private static final String BYTESPROCESSED_METRIC_NAME = "overallBytesProcessed";
+ private static final String BYTESFAILED_METRIC_NAME = "overallBytesFailed";
+
+ @Override
+ public void start(ResourceContext<MBeanResourceComponent> context) {
+ super.start(context);
+ this.context = context;
+ this.bean = context.getParentResourceComponent().getEmsBean();
+ }
+
+ @Override
+ public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> requests) {
+ Configuration pluginConfig = this.context.getPluginConfiguration();
+ pluginConfig.put(new PropertySimple("type", "action"));
+ //String actionName = pluginConfig.getActionName();
+
+ String actionName = this.context.getResourceKey();
+ actionName = actionName.trim();
+ //Object entityStatistics = operation.invoke(context.getResourceKey());
+
+ for (MeasurementScheduleRequest request : requests) {
+ String metricName = request.getName();
+ if (metricName.equals (SUCCESS_METRIC_NAME)) {
+ EmsAttribute attribute = this.bean.getAttribute(actionName + " " + SUCCESS_PROCESSED);
+ Integer processed = (Integer) attribute.refresh();
+ report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
+ } else if (metricName.equals(FAILED_METRIC_NAME)) {
+ EmsAttribute attribute = this.bean.getAttribute(actionName + " " + FAILED_PROCESSED);
+ Integer processed = (Integer) attribute.refresh();
+ report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
+ } else if (metricName.equals(PROCESSINGTIME_METRIC_NAME)) {
+ EmsAttribute attribute = this.bean.getAttribute(actionName + " " + PROCESSING_TIME);
+ Double processed = (Double) attribute.refresh();
+ if (processed != null) {
+ report.addData(new MeasurementDataNumeric(request, processed));
+ } else {
+ report.addData(new MeasurementDataNumeric(request, new Double(0)));
+ }
+ } else if (metricName.equals(BYTESPROCESSED_METRIC_NAME)) {
+ EmsAttribute attribute = this.bean.getAttribute(actionName + " " + OVERALL_BYTES_PROCESSED);
+ Integer bytesProcessed = (Integer) attribute.refresh();
+ report.addData(new MeasurementDataNumeric(request, new Double(bytesProcessed.doubleValue())));
+ } else if (metricName.equals(BYTESFAILED_METRIC_NAME)) {
+ EmsAttribute attribute = this.bean.getAttribute(actionName + " " + OVERALL_BYTES_FAILED);
+ Integer bytesProcessed = (Integer) attribute.refresh();
+ report.addData(new MeasurementDataNumeric(request, new Double(bytesProcessed.doubleValue())));
+ }
+ }
+ }
+}
Deleted: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,103 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2008 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.jbosson.plugins.jbossesb;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.mc4j.ems.connection.bean.EmsBean;
-import org.mc4j.ems.connection.bean.attribute.EmsAttribute;
-import org.rhq.core.domain.configuration.Configuration;
-import org.rhq.core.domain.configuration.Property;
-import org.rhq.core.domain.configuration.PropertySimple;
-import org.rhq.core.domain.measurement.AvailabilityType;
-import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
-import org.rhq.core.pluginapi.inventory.ResourceContext;
-import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
-import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
-import org.rhq.plugins.jmx.JMXComponent;
-import org.rhq.plugins.jmx.MBeanResourceComponent;
-
-/**
- * Discovers hibernate entities from a hibernate stats mbean
- *
- * @author Greg Hinkle
- * @param <T>
- */
-public class ActionDiscoveryComponent<T extends JMXComponent> implements ResourceDiscoveryComponent<MBeanResourceComponent> {
-
- private static final String SERVICE_NAME = "service-name";
- private static final String MESSAGES_SUCCESSFULLY_PROCESSED = "messages successfully processed count";
- private static final String MESSAGES_FAILED_COUNT = "messages failed count";
- private static final String MESSAGES_PROCESSED_TIME = "processing time";
- private static final String OVERALL_BYTES_PROCESSED = "overall bytes processed";
- private static Log log = LogFactory.getLog(ActionDiscoveryComponent.class);
-
- protected ResourceContext<T> resourceContext;
-
- public void start(ResourceContext<T> context) {
- this.resourceContext = context;
- }
-
- public AvailabilityType getAvailability() {
- JMXComponent parent = resourceContext.getParentResourceComponent();
-
- try {
- return AvailabilityType.UP;
- } catch (NullPointerException npe) {
- log.warn("Could not determine availability of unknown ems bean");
- }
- return AvailabilityType.DOWN;
- }
-
- public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext<MBeanResourceComponent> context) {
- Set<DiscoveredResourceDetails> entities = new HashSet<DiscoveredResourceDetails>();
-
- EmsBean actionBean = context.getParentResourceComponent().getEmsBean();
- String serviceName = actionBean.getBeanName().getKeyProperty(SERVICE_NAME);
-
- // Do two passes - one to grab the entity names (ex. "data fileraction"
- // and then a second to build up the metrics for the entity
- Set<EmsAttribute> attributeSet = actionBean.getAttributes();
- for (Iterator i = attributeSet.iterator(); i.hasNext();) {
- EmsAttribute attr = (EmsAttribute) i.next();
- if (attr.getName().endsWith(MESSAGES_SUCCESSFULLY_PROCESSED)) {
- String actionName = attr.getName().replaceAll(MESSAGES_SUCCESSFULLY_PROCESSED, "");
- DiscoveredResourceDetails detail = new DiscoveredResourceDetails(context.getResourceType(), actionName,
- actionName, null, "Action Entity", null, null);
-
- Configuration pc = detail.getPluginConfiguration();
- ArrayList<Property> props = new ArrayList<Property>();
- //PropertySimple ps = new PropertySimple("", "");
- //props.add(ps);
- //pc.setProperties(props);
- //List<EmsAttribute> refreshedAttribute = actionBean.refreshAttributes();
-
- entities.add(detail);
- }
- }
-
- return entities;
- }
-}
\ No newline at end of file
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ActionDiscoveryComponent.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,103 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2008 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.jbosson.plugins.jbossesb;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.mc4j.ems.connection.bean.EmsBean;
+import org.mc4j.ems.connection.bean.attribute.EmsAttribute;
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.Property;
+import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.ResourceContext;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+import org.rhq.plugins.jmx.JMXComponent;
+import org.rhq.plugins.jmx.MBeanResourceComponent;
+
+/**
+ * Discovers hibernate entities from a hibernate stats mbean
+ *
+ * @author Greg Hinkle
+ * @param <T>
+ */
+public class ActionDiscoveryComponent<T extends JMXComponent> implements ResourceDiscoveryComponent<MBeanResourceComponent> {
+
+ private static final String SERVICE_NAME = "service-name";
+ private static final String MESSAGES_SUCCESSFULLY_PROCESSED = "messages successfully processed count";
+ private static final String MESSAGES_FAILED_COUNT = "messages failed count";
+ private static final String MESSAGES_PROCESSED_TIME = "processing time";
+ private static final String OVERALL_BYTES_PROCESSED = "overall bytes processed";
+ private static Log log = LogFactory.getLog(ActionDiscoveryComponent.class);
+
+ protected ResourceContext<T> resourceContext;
+
+ public void start(ResourceContext<T> context) {
+ this.resourceContext = context;
+ }
+
+ public AvailabilityType getAvailability() {
+ JMXComponent parent = resourceContext.getParentResourceComponent();
+
+ try {
+ return AvailabilityType.UP;
+ } catch (NullPointerException npe) {
+ log.warn("Could not determine availability of unknown ems bean");
+ }
+ return AvailabilityType.DOWN;
+ }
+
+ public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext<MBeanResourceComponent> context) {
+ Set<DiscoveredResourceDetails> entities = new HashSet<DiscoveredResourceDetails>();
+
+ EmsBean actionBean = context.getParentResourceComponent().getEmsBean();
+ String serviceName = actionBean.getBeanName().getKeyProperty(SERVICE_NAME);
+
+ // Do two passes - one to grab the entity names (ex. "data fileraction"
+ // and then a second to build up the metrics for the entity
+ Set<EmsAttribute> attributeSet = actionBean.getAttributes();
+ for (Iterator i = attributeSet.iterator(); i.hasNext();) {
+ EmsAttribute attr = (EmsAttribute) i.next();
+ if (attr.getName().endsWith(MESSAGES_SUCCESSFULLY_PROCESSED)) {
+ String actionName = attr.getName().replaceAll(MESSAGES_SUCCESSFULLY_PROCESSED, "");
+ DiscoveredResourceDetails detail = new DiscoveredResourceDetails(context.getResourceType(), actionName,
+ actionName, null, "Action Entity", null, null);
+
+ Configuration pc = detail.getPluginConfiguration();
+ ArrayList<Property> props = new ArrayList<Property>();
+ //PropertySimple ps = new PropertySimple("", "");
+ //props.add(ps);
+ //pc.setProperties(props);
+ //List<EmsAttribute> refreshedAttribute = actionBean.refreshAttributes();
+
+ entities.add(detail);
+ }
+ }
+
+ return entities;
+ }
+}
\ No newline at end of file
Deleted: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,79 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2008 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.jbosson.plugins.jbossesb;
-
-import java.util.Set;
-
-import org.mc4j.ems.connection.bean.attribute.EmsAttribute;
-import org.mc4j.ems.connection.bean.operation.EmsOperation;
-import org.rhq.core.domain.measurement.MeasurementDataNumeric;
-import org.rhq.core.domain.measurement.MeasurementReport;
-import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
-import org.rhq.core.pluginapi.inventory.ResourceContext;
-import org.rhq.plugins.jmx.MBeanResourceComponent;
-
-import org.rhq.core.domain.configuration.Configuration;
-import org.rhq.core.domain.configuration.PropertySimple;
-import org.mc4j.ems.connection.bean.EmsBean;
-
-
-/**
- * @author Greg Hinkle
- */
-public class ServiceComponent extends MBeanResourceComponent<MBeanResourceComponent> {
- private ResourceContext<MBeanResourceComponent> context;
-
- private static final String OVERALL_MESSAGE_COUNT = "overall service message count";
- private static final String OVERALL_MESSAGE_METRIC = "overallMessageCount";
-
- private static final String OVERALL_BYTES_PROCESSED_METRIC = "overallBytesProcessed";
- private static final String OVERALL_BYTES_FAILED_METRIC = "overallBytesFailed";
-
- private static final String OVERALL_BYTES_PROCESSED = "overall bytes processed";
- private static final String OVERALL_BYTES_FAILED = "overall bytes failed";
-
- @Override
- public void start(ResourceContext<MBeanResourceComponent> context) {
- super.start(context);
- this.context = context;
- }
-
-
- @Override
- public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> requests) {
- Configuration pluginConfig = this.context.getPluginConfiguration();
- pluginConfig.put(new PropertySimple("type", "service"));
- for (MeasurementScheduleRequest request : requests) {
- String metricName = request.getName();
- if (metricName.equals(OVERALL_MESSAGE_METRIC)) {
- EmsAttribute attribute = getEmsBean().getAttribute(OVERALL_MESSAGE_COUNT);
- Integer processed = (Integer) attribute.refresh();
- report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
- } else if (metricName.equals(OVERALL_BYTES_PROCESSED_METRIC)) {
- EmsAttribute attribute = getEmsBean().getAttribute(OVERALL_BYTES_PROCESSED);
- Integer processed = (Integer) attribute.refresh();
- report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
- } else if (metricName.equals(OVERALL_BYTES_FAILED_METRIC)) {
- EmsAttribute attribute = getEmsBean().getAttribute(OVERALL_BYTES_FAILED);
- Integer processed = (Integer) attribute.refresh();
- report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
- }
- }
- }
-}
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java)
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java (rev 0)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/java/org/jbosson/plugins/jbossesb/ServiceComponent.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,79 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2008 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.jbosson.plugins.jbossesb;
+
+import java.util.Set;
+
+import org.mc4j.ems.connection.bean.attribute.EmsAttribute;
+import org.mc4j.ems.connection.bean.operation.EmsOperation;
+import org.rhq.core.domain.measurement.MeasurementDataNumeric;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.pluginapi.inventory.ResourceContext;
+import org.rhq.plugins.jmx.MBeanResourceComponent;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.PropertySimple;
+import org.mc4j.ems.connection.bean.EmsBean;
+
+
+/**
+ * @author Greg Hinkle
+ */
+public class ServiceComponent extends MBeanResourceComponent<MBeanResourceComponent> {
+ private ResourceContext<MBeanResourceComponent> context;
+
+ private static final String OVERALL_MESSAGE_COUNT = "overall service message count";
+ private static final String OVERALL_MESSAGE_METRIC = "overallMessageCount";
+
+ private static final String OVERALL_BYTES_PROCESSED_METRIC = "overallBytesProcessed";
+ private static final String OVERALL_BYTES_FAILED_METRIC = "overallBytesFailed";
+
+ private static final String OVERALL_BYTES_PROCESSED = "overall bytes processed";
+ private static final String OVERALL_BYTES_FAILED = "overall bytes failed";
+
+ @Override
+ public void start(ResourceContext<MBeanResourceComponent> context) {
+ super.start(context);
+ this.context = context;
+ }
+
+
+ @Override
+ public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> requests) {
+ Configuration pluginConfig = this.context.getPluginConfiguration();
+ pluginConfig.put(new PropertySimple("type", "service"));
+ for (MeasurementScheduleRequest request : requests) {
+ String metricName = request.getName();
+ if (metricName.equals(OVERALL_MESSAGE_METRIC)) {
+ EmsAttribute attribute = getEmsBean().getAttribute(OVERALL_MESSAGE_COUNT);
+ Integer processed = (Integer) attribute.refresh();
+ report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
+ } else if (metricName.equals(OVERALL_BYTES_PROCESSED_METRIC)) {
+ EmsAttribute attribute = getEmsBean().getAttribute(OVERALL_BYTES_PROCESSED);
+ Integer processed = (Integer) attribute.refresh();
+ report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
+ } else if (metricName.equals(OVERALL_BYTES_FAILED_METRIC)) {
+ EmsAttribute attribute = getEmsBean().getAttribute(OVERALL_BYTES_FAILED);
+ Integer processed = (Integer) attribute.refresh();
+ report.addData(new MeasurementDataNumeric(request, new Double(processed.doubleValue())));
+ }
+ }
+ }
+}
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/resources)
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/resources/META-INF)
Deleted: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<plugin name="JBossESB"
- displayName="JBoss ESB Services"
- package="org.jbosson.plugins.jbossesb"
- description="Provides monitoring of JBoss ESB"
- version="2.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="urn:xmlns:rhq-plugin"
- xmlns:c="urn:xmlns:rhq-configuration">
-
- <depends plugin="JMX" />
- <depends plugin="Tomcat" />
- <depends plugin="JBossAS" useClasses="true"/>
-
- <service name="JBossESB .esb Package"
- discovery="org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent"
- class="org.rhq.plugins.jmx.MBeanResourceComponent"
- description="Statistics for JBoss ESB">
-
- <runs-inside>
- <parent-resource-type name="JBossAS Server" plugin="JBossAS"/>
- </runs-inside>
-
- <plugin-configuration>
- <c:simple-property name="objectName" readOnly="true" default="jboss.esb:deployment=%deployment%"/>
- <c:simple-property name="nameTemplate" default="{deployment} JBoss ESB statistics"/>
- <c:simple-property name="descriptionTemplate" default="JBoss ESB statistics for the {deployment} deployment."/>
- <c:simple-property name="deployment" type="string" description="the JBoss ESB deployment name"/>
- </plugin-configuration>
-
-
- <operation name="start" displayName="Start deployment" description="Start the JBoss ESB deployment"/>
- <operation name="stop" displayName="Stop deployment" description="Stop the JBoss ESB deployment"/>
- <operation name="create" displayName="Move .esb deployment into the create state" description="Move the .esb deployment into the create state"/>
- <operation name="destroy" displayName="Move .esb deployment into the destroy state" description="Move the .esb deployment into the destroy state"/>
-
- <metric property="Name" displayName="Deployment Type" dataType="trait" displayType="summary" defaultOn="true" description="Type of deployment"/>
- <!-- EsbXmlAsHtml is too large to fit in a measurement.
- <metric property="JbossEsbXmlAsHtml" displayName="ESB XML" dataType="trait" displayType="summary" defaultOn="true" description="The jboss-esb.xml of {deployment}"/-->
- <metric property="StateString" displayName=".esb State String" dataType="trait" displayType="summary" defaultOn="true" description="Current state of the ESB"/>
-
- <help>
- <![CDATA[
- JBoss ESB esb
- ]]>
- </help>
- <service name="JBoss ESB Services"
- discovery="org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent"
- class="ServiceComponent"
- description="JBoss ESB Services">
- <runs-inside>
- <parent-resource-type name="JBossAS Server" plugin="JBossAS"/>
- </runs-inside>
- <plugin-configuration>
- <c:simple-property name="objectName" readOnly="true" default="jboss.esb:category=MessageCounter,deployment={deployment},service-name=%serviceName%"/>
- <c:simple-property name="nameTemplate" default="{serviceName} JBoss ESB statistics"/>
- <c:simple-property name="DescriptionTemplate" default="JBoss ESB statistics for the {serviceName} service."/>
- <c:simple-property name="serviceName" type="string" description="the JBoss ESB service name"/>
- </plugin-configuration>
- <operation name="reset" displayName="Reset the message counter" description="Reset the message counter"/>
- <metric displayName="Overall Service Message Count" property="overallMessageCount" category="throughput" displayType="summary" measurementType="trendsup" description="Overall Service Message Count"/>
- <metric displayName="Overall Service Bytes Processed" property="overallBytesProcessed" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup" description="Overall Service Bytes Processed"/>
- <metric displayName="Overall Service Bytes Failed" property="overallBytesFailed" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup" description="Overall Service Bytes Failed"/>
- <help>
- <![CDATA[
- JBoss ESB Service
- ]]>
- </help>
- <service name="JBoss ESB Actions"
- discovery="ActionDiscoveryComponent"
- class="ActionComponent"
- description="JBoss ESB Actions">
- <plugin-configuration>
- <c:simple-property name="objectName" readOnly="true" default="jboss.esb:category=MessageCounter,deployment={deployment},service-name=%service-name%"/>
- <c:simple-property name="nameTemplate" default="{actionName} JBoss ESB Action statistics"/>
- <c:simple-property name="descriptionTemplate" default="JBoss ESB statistics for the {actionName} action."/>
- <c:simple-property name="actionName" type="string" description="the JBoss ESB action name"/>
- </plugin-configuration>
- <metric displayName="Bytes Processed" property="overallBytesProcessed" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup"/>
- <metric displayName="Bytes Failed" property="overallBytesFailed" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup"/>
- <metric displayName="Messages Successfully Processed" property="successProcessedCount" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup"/>
- <metric displayName="Messages Failed" property="failedProcessedCount" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup"/>
- <metric displayName="Processing Time" property="processingTime" displayType="summary" defaultOn="true" category="performance"/>
- </service>
- </service>
- </service>
-</plugin>
-
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/main/resources/META-INF/rhq-plugin.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<plugin name="JBossESB"
+ displayName="JBoss ESB Services"
+ package="org.jbosson.plugins.jbossesb"
+ description="Provides monitoring of JBoss ESB"
+ version="2.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="urn:xmlns:rhq-plugin"
+ xmlns:c="urn:xmlns:rhq-configuration">
+
+ <depends plugin="JMX" />
+ <depends plugin="Tomcat" />
+ <depends plugin="JBossAS" useClasses="true"/>
+
+ <service name="JBossESB .esb Package"
+ discovery="org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent"
+ class="org.rhq.plugins.jmx.MBeanResourceComponent"
+ description="Statistics for JBoss ESB">
+
+ <runs-inside>
+ <parent-resource-type name="JBossAS Server" plugin="JBossAS"/>
+ </runs-inside>
+
+ <plugin-configuration>
+ <c:simple-property name="objectName" readOnly="true" default="jboss.esb:deployment=%deployment%"/>
+ <c:simple-property name="nameTemplate" default="{deployment} JBoss ESB statistics"/>
+ <c:simple-property name="descriptionTemplate" default="JBoss ESB statistics for the {deployment} deployment."/>
+ <c:simple-property name="deployment" type="string" description="the JBoss ESB deployment name"/>
+ </plugin-configuration>
+
+
+ <operation name="start" displayName="Start deployment" description="Start the JBoss ESB deployment"/>
+ <operation name="stop" displayName="Stop deployment" description="Stop the JBoss ESB deployment"/>
+ <operation name="create" displayName="Move .esb deployment into the create state" description="Move the .esb deployment into the create state"/>
+ <operation name="destroy" displayName="Move .esb deployment into the destroy state" description="Move the .esb deployment into the destroy state"/>
+
+ <metric property="Name" displayName="Deployment Type" dataType="trait" displayType="summary" defaultOn="true" description="Type of deployment"/>
+ <!-- EsbXmlAsHtml is too large to fit in a measurement.
+ <metric property="JbossEsbXmlAsHtml" displayName="ESB XML" dataType="trait" displayType="summary" defaultOn="true" description="The jboss-esb.xml of {deployment}"/-->
+ <metric property="StateString" displayName=".esb State String" dataType="trait" displayType="summary" defaultOn="true" description="Current state of the ESB"/>
+
+ <help>
+ <![CDATA[
+ JBoss ESB esb
+ ]]>
+ </help>
+ <service name="JBoss ESB Services"
+ discovery="org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent"
+ class="ServiceComponent"
+ description="JBoss ESB Services">
+ <runs-inside>
+ <parent-resource-type name="JBossAS Server" plugin="JBossAS"/>
+ </runs-inside>
+ <plugin-configuration>
+ <c:simple-property name="objectName" readOnly="true" default="jboss.esb:category=MessageCounter,deployment={deployment},service-name=%serviceName%"/>
+ <c:simple-property name="nameTemplate" default="{serviceName} JBoss ESB statistics"/>
+ <c:simple-property name="DescriptionTemplate" default="JBoss ESB statistics for the {serviceName} service."/>
+ <c:simple-property name="serviceName" type="string" description="the JBoss ESB service name"/>
+ </plugin-configuration>
+ <operation name="reset" displayName="Reset the message counter" description="Reset the message counter"/>
+ <metric displayName="Overall Service Message Count" property="overallMessageCount" category="throughput" displayType="summary" measurementType="trendsup" description="Overall Service Message Count"/>
+ <metric displayName="Overall Service Bytes Processed" property="overallBytesProcessed" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup" description="Overall Service Bytes Processed"/>
+ <metric displayName="Overall Service Bytes Failed" property="overallBytesFailed" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup" description="Overall Service Bytes Failed"/>
+ <help>
+ <![CDATA[
+ JBoss ESB Service
+ ]]>
+ </help>
+ <service name="JBoss ESB Actions"
+ discovery="ActionDiscoveryComponent"
+ class="ActionComponent"
+ description="JBoss ESB Actions">
+ <plugin-configuration>
+ <c:simple-property name="objectName" readOnly="true" default="jboss.esb:category=MessageCounter,deployment={deployment},service-name=%service-name%"/>
+ <c:simple-property name="nameTemplate" default="{actionName} JBoss ESB Action statistics"/>
+ <c:simple-property name="descriptionTemplate" default="JBoss ESB statistics for the {actionName} action."/>
+ <c:simple-property name="actionName" type="string" description="the JBoss ESB action name"/>
+ </plugin-configuration>
+ <metric displayName="Bytes Processed" property="overallBytesProcessed" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup"/>
+ <metric displayName="Bytes Failed" property="overallBytesFailed" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup"/>
+ <metric displayName="Messages Successfully Processed" property="successProcessedCount" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup"/>
+ <metric displayName="Messages Failed" property="failedProcessedCount" category="throughput" displayType="summary" defaultOn="true" measurementType="trendsup"/>
+ <metric displayName="Processing Time" property="processingTime" displayType="summary" defaultOn="true" category="performance"/>
+ </service>
+ </service>
+ </service>
+</plugin>
+
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/test)
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/java (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/test/java)
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/test/resources)
Deleted: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources/log4j.xml
===================================================================
--- labs/jbossesb/trunk/product/tools/jonplugin/src/test/resources/log4j.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- ===================================================================== -->
-<!-- -->
-<!-- Log4j Configuration -->
-<!-- -->
-<!-- ===================================================================== -->
-
-<!-- $Id: log4j.xml 9973 2008-05-08 00:57:31Z ispringer $ -->
-
-<!--
- | For more configuration infromation and examples see the Jakarta Log4j
- | owebsite: http://jakarta.apache.org/log4j
- -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
-
- <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
- <param name="Target" value="System.out"/>
- <param name="Threshold" value="INFO"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Messagen -->
-
- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
-
- <!--<param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L) -%m%n"/>-->
- </layout>
- </appender>
-
- <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
- <param name="File" value="target/test.log"/>
- <param name="Threshold" value="DEBUG"/>
- <param name="Append" value="false"/>
-
- <layout class="org.apache.log4j.PatternLayout">
- <!-- The default pattern: Date Priority [Category] Messagen -->
- <!--
- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
- -->
- <param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L) -%m%n"/>
- </layout>
- </appender>
-
- <root>
- <appender-ref ref="CONSOLE"/>
- <appender-ref ref="FILE"/>
- </root>
-
-</log4j:configuration>
Copied: labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources/log4j.xml (from rev 21158, labs/jbossesb/trunk/product/tools/jonplugin/src/test/resources/log4j.xml)
===================================================================
--- labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources/log4j.xml (rev 0)
+++ labs/jbossesb/workspace/maeste/product/tools/jonplugin/src/test/resources/log4j.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml 9973 2008-05-08 00:57:31Z ispringer $ -->
+
+<!--
+ | For more configuration infromation and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <param name="Target" value="System.out"/>
+ <param name="Threshold" value="INFO"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Messagen -->
+
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+
+ <!--<param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L) -%m%n"/>-->
+ </layout>
+ </appender>
+
+ <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
+ <param name="File" value="target/test.log"/>
+ <param name="Threshold" value="DEBUG"/>
+ <param name="Append" value="false"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Messagen -->
+ <!--
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+ -->
+ <param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L) -%m%n"/>
+ </layout>
+ </appender>
+
+ <root>
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
Modified: labs/jbossesb/workspace/maeste/qa/build.xml
===================================================================
--- labs/jbossesb/workspace/maeste/qa/build.xml 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/qa/build.xml 2008-07-22 12:21:06 UTC (rev 21159)
@@ -3,10 +3,13 @@
<property name="build.sysclasspath" value="ignore"/>
<condition property="JDK_VERSION_OK">
+ <or>
<equals arg1="${java.specification.version}" arg2="1.5"/>
+ <equals arg1="${java.specification.version}" arg2="1.6"/>
+ </or>
</condition>
<fail unless="JDK_VERSION_OK"
- message="JBoss ESB requires jdk1.5 to build."/>
+ message="JBoss ESB requires jdk1.5 or jdk1.6 to build."/>
<property name="product.dir" location="../product"/>
<property name="build.location" location="build"/>
Modified: labs/jbossesb/workspace/maeste/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/BusinessRulesServiceTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/BusinessRulesServiceTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/BusinessRulesServiceTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -21,27 +21,16 @@
package org.jboss.soa.esb.quickstart.test;
import junit.framework.Test;
-
import org.jboss.soa.esb.samples.quickstart.businessrules.test.SendJMSMessage;
+import java.util.Arrays;
+
/**
* CI test for the businessrulesservice quickstart.
*
* @author <a href="mailto:tcunning at redhat.com">Tom Cunningham</a>
*/
public class BusinessRulesServiceTest extends AbstractQuickstartTestCase {
- private static final String JMS_MESSAGE =
- "<Order netAmount=\"59.97\" orderDate=\"Wed Nov 15 13:45:28 EST 2006\" orderId=\"1\" statusCode=\"0\" tax=\"4.95\" totalAmount=\"64.92\">" +
- " <Customer firstName=\"Harry\" lastName=\"Fletcher\" state=\"SD\" userName=\"user1\"/>" +
- " <OrderLines>" +
- " <OrderLine position=\"1\" quantity=\"1\">" +
- " <Product price=\"29.98\" productId=\"364\" title=\"The 40-Year-Old Virgin \"/>" +
- " </OrderLine>" +
- " <OrderLine position=\"2\" quantity=\"1\">" +
- " <Product price=\"29.99\" productId=\"299\" title=\"Pulp Fiction\"/>" +
- " </OrderLine>" +
- " </OrderLines>" +
- "</Order>" ;
public BusinessRulesServiceTest(String name) {
super(name);
@@ -50,8 +39,12 @@
public void testMessage() throws Exception {
clearMessages();
sendMessage();
- final String[] messages = waitForMessages(1, 30000) ;
- assertTrue("XML response message", Helpers.compareXMLContent(JMS_MESSAGE, messages[0])) ;
+
+ final String[] messages = waitForMessages(1, 30000) ;
+ String expected = "orderItemList=[1,1,364,The 40-Year-Old Virgin ,29.98, 2,1,299,Pulp Fiction,29.99]";
+ String actual = messages[0].toString();
+
+ assertTrue("Expected message to contain '" + expected + "'. Actual '" + actual + "'.", (actual.indexOf(expected) != -1));
}
public void sendMessage() throws Exception {
Modified: labs/jbossesb/workspace/maeste/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/FunCBRTest.java
===================================================================
--- labs/jbossesb/workspace/maeste/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/FunCBRTest.java 2008-07-22 09:44:04 UTC (rev 21158)
+++ labs/jbossesb/workspace/maeste/qa/quickstarts/src/org/jboss/soa/esb/quickstart/test/FunCBRTest.java 2008-07-22 12:21:06 UTC (rev 21159)
@@ -35,7 +35,7 @@
public class FunCBRTest
extends AbstractQuickstartTestCase {
- private static String theXML = "<Order orderId=\"1\" "
+ private static String theXML = "<Order xmlns=\"http://org.jboss.soa.esb/Order\" orderId=\"1\" "
+ "orderDate=\"Wed Nov 15 13:45:28 EST 2006\" "
+ "statusCode=\"0\" " + "netAmount=\"59.97\" "
+ "totalAmount=\"64.92\" " + "tax=\"4.95\" "
More information about the jboss-svn-commits
mailing list