FUEL ]FUEL FLGlobalClassCluster ByteString IdentitySet ByteSymbolFullBlockClosureIdentityDictionaryUndefinedObjectContextFLHeaderFLGlobalCompiledBlockClusterFLDebuggerStackSerializer&serializeStackFromContext:toFileNamed:FLGlobalCompiledMethodClusterFLDebuggerStackSerializer&serializeStackFromContext:toFileNamed:$FLHookPrimitiveClusterFLPositive8SmallIntegerClusterQFLHookPrimitiveClusterVM: unix - x86_64 - linux-gnu - CoInterpreter VMMaker-tonel.1 uuid: dbf77ef2-7fd2-0d00-af14-ace70bccb44d Apr 15 2024 StackToRegisterMappingCogit VMMaker-tonel.1 uuid: dbf77ef2-7fd2-0d00-af14-ace70bccb44d Apr 15 2024 v10.2.0 - Commit: f4c5e2a - Date: 2024-04-09 09:21:20 +0200 wImage: Pharo13.0.0PR [Build information: Pharo-13.0.0+PR.build.2.sha.8bcd30d29958e778f49fcf52a71c3d87a211f8a5 (64 Bit)]27 April 2024 6:53:16.133097 pmFLHookPrimitiveClusterImageVM TimestampFLContextClustersenderpcstackpmethod closureOrNilreceiverFLFixedObjectClusterpreMaterializationActionsadditionalObjectspostMaterializationActionsFLVariableObjectCluster outerContext compiledBlocknumArgsreceiverFLDictionaryCollectionClusterFLSimpleCollectionClusterFLSubstitutionCluster   FLGlobalAssociationCluster7 IdentitySet Rectangle KeyboardKeyRandom RBScannerCollectionIsEmptyDuration CharacterMessageNotUnderstoodDateObjectContextArrayNumberSetSTONCStyleCommentsSkipStreamOrderedDictionaryRPackageLimitedWriteStream RubTextEditorSequenceableCollection AsciiCharsetInteger ByteArrayArithmeticErrorOrderedCollectionClass OSPlatformSymbolBagRunArraySubscriptOutOfBounds ReadStream AssociationGZipWriteStream WriteStream DictionaryGZipReadStream ZeroDivide GeneratorPointMonthErrorSortedCollectionPropertySortFunctionColor ProtoObject DateAndTimeSTON SmallIntegerStringNSPerlinNoise2 FileSystemSmallDictionaryFloatFLGlobalMetaclassClusterArrayedCollectionRunArrayOrderedDictionaryContext Dictionary CollectionSet Generator AsciiCharsetSTONColor KeyboardKey RBScannerSmallDictionarySequenceableCollectionClyLocalClassScopeFLGlobalCompiledBlockCluster$ HDTestReportrunAllSetcollect:BasicCommandLineHandleractivateRSXMarkerDecorationmaxTestExecutionEnvironmentrunTestCaseUnderWatchdog:TestCaserunCaseBasicCommandLineHandleractivate RBMethodNode initializeTestExecutionEnvironmentrunTestCaseUnderWatchdog:TestExecutionEnvironmentrunTestCaseUnderWatchdog: BlockClosure newProcess HDTestReportreportTestCase:runBlock: HDTestReportrunCase: HDTestReportrunClasses:named: HDTestReportrunCase:TestExecutionEnvironment runTestCase:CurrentExecutionEnvironment activate:for: HDTestReportrunAllBasicCommandLineHandleractivateSubCommand: HDTestReportrunCase:TestExecutionEnvironment runTestCase:CurrentExecutionEnvironment activate:for: HDTestReportrun TFTestCasetestParametersTestCaserunCaseTestCaserunCaseTestExecutionEnvironmentrunTestCaseUnderWatchdog:BasicCommandLineHandleractivateBasicCommandLineHandleractivateSubCommand:TestCaserunCaseHDReport runPackages: HDTestReport newLogDuring: HDTestReportrun TFTestCasetestParametersRSYMarkerDecorationmax HDTestReportrunFLGlobalClassClusterDiffBuilderTestOCASTTimesRepeatTranslatorTestTKTPharoProcessProviderTestFluidClassDefinitionPrinterTest WideSymbolZnPercentEncoderTest RSBarPlotTestMCMethodDefinitionTestRSCenteredAttachPointBagMicRawBlockTestReadStreamTestCoInitializeTypeInferenceTest TFUFFIDerivedTypeMarshallingTestSettingBrowserTest BehaviorTestCmCommandsGroupTestExampleSlotWithFluidAPITestSpMorphicBoxLayoutTestProtocolConventionsTest OCBytecodeDecompilerExamplesTestRSCollectionTest RGObjectTestObjectFinalizerTest HaloMorphTest SmallIntegerFileReferenceTest#GlobalIdentifierStonPersistenceTestPackageAnnouncementsTestStNavigationSystemTestTrueMetacelloReferenceTestCaseCommandLineArguments$ClyDeprecatedMethodGroupProviderTestOrderedDictionary RBMethodNodeRSCanvasControllerTestUnicodeTestRNGOCASTSemanticAnalyzerSequenceableCollectionStClassProcessorTestMicFootnoteBlockTest NSNumberTest!ShClassInstallerAnnouncementsTestMCRepositoryAuthorizationTestStResetWindowPresenterTestMD5TestDoItVariableTestUndeclaredVariable Character DiffPatchTestOCASTToDoTranslatorTestRSShapeBuilderTest"ClyAbstractMethodGroupProviderTestTKTServiceManagerTestRGAnnouncementsTest LegacyClassDefinitionPrinterTest RBBlockNode IntegerArray EFContextTestGArcTestZnPositionableReadStreamTest RSBoxPlotTestColorSessionCategoryMCOrganizationTestMicRootBlockTestStreamBugsTestCoSuperMessageHeuristicTestMCSnapshotResourceTFUFFIDerivedTypeSizeTestSettingsStonReaderTest BooleanTestExampleSlotWithStateTestInstanceVariableSlotSpMorphicGridLayoutTestTestExecutionEnvironment ObsoleteTestOCBytecodeGeneratorTestCDClassWithTraitAliasParserTestRSEasingInterpolatorTest RGPackageTestObjectLayoutTestLayoutFrameTest NSPowPowScalePackageObsoleteTestRSParallelAnimationStFileSystemResourceClyDeprecatedMethodsQueryTest RBReturnNodeRSDraggableCanvasTestReferencedClassesTestClassRSBoxStHistoryProcessorTestMicInputfileBlockTest SplitJoinTestZnCharacterWriteStreamNSOrdinalScaleTest MCSortingTestSHA1TestWeakOrderedCollectionTestGlobalVariableTestClass SmallFloat64!OCASTSpecialLiteralTranslatorTestCurrentExecutionEnvironment$ClyOverriddenMethodGroupProviderTestTKTServiceTestOldClassDefinitionPrinterTest RBMessageNodeEFInternalTest GLineTestRSChartTickTest MCPackageTestMicSlideBlockTestNullStreamTestIdentityDictionary#ConfigurationCommandLineHandlerTest!CoCompletionEngineCodeSnippetTest0TFUFFIDifferentCallingConventionFunctionCallTestSettingsStonWriterTest CharacterTestPropertySlotTest$SpMorphicNumberInputFieldAdapterTest ReleaseTest ByteArrayOCBytecodeToASTCacheTest-CDClassWithTraitCompositionSequenceParserTestRSPAnimationTestRGPoolVariableTestOutOfMemoryTestMCPTest,GlobalIdentifierWithDefaultConfigurationTestOCVectorTempVariablePackageOnModelTestRSSequentialAnimationOrderedIdentityDictionaryRSDraggableTest%SuperClassUsedInInstructionStreamTestStImplementorsProcessorTestMicArgumentsSplitterTestNSPolylinearScaleTestShiftClassBuilderTestArrayCoAvoidRepeatedFetcherTestMailAddressParserTest SHA256Test WeakSetTestLiteralVariableTest ProtoObjectDoubleLinkedListTestOCASTVariableTranslatorTestRSAdjacencyMatrixBuilderTest$ClyOverridingMethodGroupProviderTestTKTSubclassServiceTestRGEnvironmentBackendTestCompiledBlockTest GPointTestRSChartTitleDecorationTestSessionManager MCPatchTestMicUnorderedListBlockTestReadWriteStreamTestZnNewLineWriterStreamCoverageCollectorTestCoCompletionEngineTestTFUFFIFunctionCallTestStoredSettingsMergerTestClassDescriptionTest SlotBasicTestSpMorphicPanedLayoutTestChangesBrowserTest ByteStringOCClosureCompilerTest#CDClassWithTraitExclusionParserTest RGSlotTest PragmaTest MorphTestNSBilinearScaleInteractiveResolverTestGlobalIdentifierWithFuelTestPackageOrganizerTestRSTransitionAnimation ByteSymbolClyBrowserToolValidityTest RBPragmaNodeRSHighlightableTest ClassUsedInInstructionStreamTestStPackageProcessorTestMicColumnsBlockTestNSPowScaleTestShiftClassSideClassBuilderTestCoClassVariableFetcherTestMailAddressTokenizerTestConfigurableHistoryIteratorTestWeakIdentitySetTestRelationSetTestOCSpecialSelectorTestRSAttachPointTest"ClyRequiredMethodGroupProviderTestTKTTaskTimeoutTestDADependencyCheckerTestRGReadOnlyBackendTestCompiledCodeTestRBDoItMethodNodeEFArrayExpressionTestGRayTestRSCompositeChartTestClyFlagMethodGroupProviderTest MCReleaseTestMicFileResourceReferenceTestWriteStreamTest-RBTestAsDataForExtractSetupTransformationTestStMetaInspectionTestSystemSettingsPersistenceTest FalseTestCmUICommandTestSlotEnvironmentTest ExceptionSpMorphicWindowAdapterTestFFICompilerPluginPoint OCClosureTestCDClassWithTraitParserTestRSParallelAnimationTestRGStampParserTestProcessSpecificTestStHaltAndBreakpointControlTestCircleMorphTest NSLinearScaleExitPlatformResolverTestGlobalIdentifierWithStonTestOCMethodSemanticScopePackageRenameTestChronologyConstantsStFontChooserPresenterTestClyNotebookPageRecyclerTestRSLineSpineDecoration RSPopupTest RectangleWriteBarrierAnotherStubStUnifiedProcessorTestNSSLnScaleTestShiftClassSideTraitBuilderTest#CoHierarchyClassVariableFetcherTestMailMessageTestFLDebuggerStackSerializerTestHistoryIteratorTestWeakKeyDictionaryTestRelationSlotTestUndeclaredVariableRead RSCameraTestClyAbstractMethodsQueryTestTKTWorkerPoolTestDAMessageSendAnalyzerTestRGReadOnlyImageBackendTest ContextTestEFAssignmentExpressionTest GSegmentTest RSMarkerTestClyFlaggingMethodsQueryTestBehaviorWithCompilerTestMicHTTPResourceReferenceTestLimitedWriteStreamTest)TFUFFIBasicTypeMarshallingInCallbacksTest FloatTestRTSequenceableCollectionSlotErrorsTestSpPresenterBuildTestObservableSlotTestOCCodeReparatorTestCDVariableByteClassParserTestRSSequentialAnimationTestRGTraitAliasTestProcessTerminateBugTest!StHaltAndBreakpointControllerTestPolygonMorphTest NSLnScaleAthensAffineTransformSystemResolverTestPackageTagTestClyTextEditorToolMorphTestRSSearchInCanvasInteractionTestWriteBarrierStubStWindowsProcessorTest NSScaleTestShiftTraitBuilderTestCoFilterFetcherTestBCBeautifulCommentsSettingsTestHistoryNodeTestWeakIdentityKeyDictionaryTestSelfVariableTestMetacelloCommandLineHandlerTest RSChannelTestClyOverriddenMethodsQueryTest TKTWorkerTestDAPackageCycleDetectorTestRGBehaviorTest(DelayBasicSchedulerMicrosecondTickerTestRBVariableNodeBMPReadWriterTestEFBlockExpressionOnlyTestRSTickLocatorTestRuntimeSyntaxErrorTestMCDictionaryRepositoryTestMicInlineParserTestStObjectContextPresenterTestChainedSortFunctionTest*TFUFFIDerivedTypeMarshallingInCallbackTestClassQueryTest FractionTestRTreeCollectionSlotIntegrationTestSpPresenterFocusOrderTestOCCompileWithFailureTestCDVariableClassParserTestRSTransitionAnimationTestRGTraitCompositionTestRecursionStopperTestStHaltCacheTest CollectionMorphTreeMorphTest NSLogScaleUnixResolverTest OCMethodScope PackageTest*SpTextPresenterDecoratorMorphicAdapterTestNavigationInteractionTest RBCommentProcessMonitorTestService"RSSelectionInCanvasInteractionTestStWorldMenuProcessorTestMicAnchorBlockTest ByteArrayTestNSSymLogScaleTestSmallDictionaryCoGlobalSelectorFetcherTestWeakValueDictionaryTestSlotExampleMovieAndPersonTestSystemDictionaryUndeclaredVariableWriteRSCircleVennDiagramTestRBBrowserEnvironmentTestClyOverridingMethodsQueryTestDAPackageCycleTestPharoCommandLineHandlerRGClassDescripitonStrategyTest(DelayBasicSchedulerMillisecondTickerTestBitBltClipBugsTestEFBlockExpressionTest GEllipseTestRSUMLClassBuilderTestSelfEvaluatingObjectTestMCDirectoryRepositoryTestMicMicrodownTextualBuilderTestStFileBrowserPreviewTestStInspectorTestSortFunctionTestTFUFFIStructuresTestMethodQueryTestLargeNegativeIntegerTestSlotLayoutEqualityTestSpUIThemeDecoratorTestComputedSlotTestVTermOutputDriverOCCompiledMethodIntegrityTestCDVariableWordClassParserTestRGTraitExclusionTestSharedPoolTest"StHaltBreakpointInspectionItemTestMorphicEventHandlerTest%RPackageMonticelloSynchronisationTest DateAndTimeSpTextPresenterDecoratorTestRSTransformableTestDebugPointObserverTestStCamelCaseSplitTestFinalizationRegistryTestMicCodeBlockTestIntegerArrayTestCoGlobalVariableFetcherTestEDDebuggingAPITestWeakIdentityValueDictionaryTestSlotTest IRBuilderTestRSColoredTreePaletteTest ClyUnimplementedMethodsQueryTestDAPackageDependencyTest(DelayMutexSchedulerMicrosecondTickerTestGIFReadWriterTestEFPatternBlockExpressionTest GPolygonTestTemporaryVariable MCScannerTestRSBorderBinaryFileStream MicParserTestStObjectContextModelTestThreeWayComparisonTestSmalltalkImageTestLargePositiveIntegerTestSlotLayoutExtensionTestSpDrawStyleTestHistorySlotTestOCCompilerNotifyingTestCDWeakClassParserTestRGTraitStrategyTest StObjectBreakpointInspectionTestMouseClickStateTestCommandLineArgumentsTestUndefinedPackageTagTestHashTableSizesTestSymbolActiveClassAnnotationsTestRSBoxPlotShapeTestDebugPointTestStGeneratorBlockIteratorTestMicCommentTestNativeArrayTestFile!CoImplementedSelectorsFetcherTest ZnHTTPSTest RubTextEditorEDEmergencyDebuggerTest!SycHierarchicalSendersCommandTestSuperVariableTestIntervalOCCompilerTestASTClassBuilderTestRSConnectionTestDAPackageDependencyWrapperTestRGClassStrategyTest(DelayMutexSchedulerMillisecondTickerTestImageReadWriterTestEFCascadeExpressionTest GMatrixTestMCSerializationTest"MicPharoImageResourceReferenceTestPackageStObjectPrinterTestFractionSystemNavigationTest NumberTestSlotMethodRecompilationTestSetSpFontStyleTestInitializedClassVariableTest"OCCompilerSyntaxErrorNotifyingTestCDExistingClassDefinitionTest RGTraitTestNullWorldRendererTest NSPowScaleCopyVisitorTestCommandLineHandlerTestUndefinedPackageTest KeyedTreeTest TestSuiteClassAnnotationTestRSClusterChartTestStGeneratorIteratorTestMicEnvironmentBlockTestFloat32ArrayTest*CoHierarchyImplementedSelectorsFetcherTestTemporaryVariableTest DictionaryOCSourceCode2BytecodeTest RSDSMTestDAPackageRelationGraphDiffTest RGClassTest,DelaySemaphoreSchedulerMicrosecondTickerTest MarginTestEFLiteralArrayExpressionTestGRectangleTestRSInspectorShapeTest MicRelativeResourceReferenceTestStDirectoryFilterTestSystemVersionTest ObjectTestSlotMigrationTestSpMergeStyleTestInitializedSlotTestOCContextTempMappingTest!CDExistingClassSideDefinitionTestRGUnresolvedValueTestManifestKernelExtendedTestsPaginatedMorphTreeMorphTest NSSymLogScaleCommandLinePasswordManagerTestMethodDictionaryTestMCMczInstallerTestOCASTTranslatorTestClassAnnouncementsTestRBSequenceNodeQueryAnnotationsFromClassTestRSDensityPlotTest MagnitudeStIteratorsTestMicFigureBlockTestFloat64ArrayTest2CoRepeatedHierarchyImplementedSelectorsFetcherTestClyTraitFirstSortFunctionTestThisContextVariableTestRSDependencyTestScopesManagerTestDAPackageRelationGraphTestRGClassVariableTest,DelaySemaphoreSchedulerMillisecondTickerTestRBLiteralArrayNodePNGReadWriterTestEFLiteralValueExpressionTest GTriangleTest&RSSelectionPresentationInteractionTestMCSnapshotTestMicResourceReferenceTestRubEditingAreaTestSystemDictionaryTestProtoObjectTestSlotTraitsTest WriteStreamSpMorphStyleTestLazyClassVariableTestSindarinDebugSessionTest OCDoitTestAdditionalMethodStateTestRuntimeSyntaxError SliderTestBreakpointObserverTestShClassSlotChangeDetectorTestSTCommandLineHandlerTestBenchmarkResultTestNestedDictionaryTestRePushDownMethodDriverTestCompiledMethodTermcapOCASTBasicTranslatorTestRSFlowCanvasTestMethodAnnouncementsTestOSEnvironmentTestRegisteredClassAnnotationsTestRSHistogramPlotTestMicFormatBlockTestLinkedListTestCoInstanceVariableFetcherTestClassDescriptionClyInheritedTraitsHierarchyTest CodeError IRPrinterTest#CDClassWithPoolDictionaryParserTestRSExamplesTest ScopesTest DAPackageTest RGCommentTest DelayTest KeyboardKey RectangleTestEFMessageExpressionTest GVectorTestMCStReaderTestRSMarkerMicResourceSettingsTestRubEditingStateTestStBitmapFilterTest EFContext'StRewriterExpressionFinderPresenterTestScaledDecimalTest"SycConvertTempToinstVarCommandTest!UnlimitedInstanceVariableSlotTestSpPropertyStyleTest LazySlotTestSindarinDebuggerTestOCDynamicASTCompilerPluginTestCDMetaclassWithTraitParserTestAsciiCharsetTest ScrollbarTestBreakpointTestShLayoutChangeDetectorTestCollectVisitorTestReRemoveClassDriverTestDurationOCASTBlockTranslatorTestProtocolAnnouncementsTest EpFilterTestZnBase64EncoderTestVisibleClassAnnotationsTestRSKernelDensityTestMicHeaderBlockTestOrderedDictionaryTest&CoHierarchyInstanceVariableFetcherTest2ClyMergedSubclassesAndInheritedTraitsHierarchyTestStringIRTransformTestCDCompiledBlockClassParserTestRSForceBasedLayoutTestDefaultExecutionEnvironmentDATarjanAlgorithmTestRGEnsureTraitTestDependentsArrayTestRBLiteralValueNode BitBltTestEFMethodExpressionTestWorkingSessionMCStWriterTestMicScriptBlockExtensionTestRubFindReplaceServiceTestStGIFFilterTest EFFormatter StRewriterMatchToolPresenterTest SemaphoreTestSycInlineTempCommandTestWriteOnceSlotTest SpStyleEnvironmentColorProxyTestProcessLocalSlotTestOCEnvironmentScopeTestCDNormalMetaclassParserTestCodeSimulationTestSupplyAnswerTestExecutionCounterTestNSUninterpolateNumberShMetaclassChangeDetectorTestSelectVisitorTestNonInteractiveTranscriptTestOCOptimizedBlockScopeBagTest#ReRemoveInstanceVariablesDriverTestThisContextVariableOCASTLiteralTranslatorTestTKTBasicTaskTestClassDescriptionProtocolsTestEpHasImpactFilterTestZnBufferedReadStreamTestCompositeAnnotationContextTest RSChartStyler RSKiviatTestMicHorizontalLineBlockTestOrderedIdentityDictionaryTestCoMethodVariablesFetcherTestTFUFFIBasicTypeSizeTest4ClyMergedSuperclassesAndInheritedTraitsHierarchyTest IRVisitorTestCDCompiledMethodClassParserTest RSHeatmapTestPragmaRGEnvironmentQueryInterfaceTestDeprecationTest ColorTestEFParseErrorExpressionTestNSInterpolatorCopiedLocalVariable MCVersionTestBlockCannotReturnMicStringExtensionTestRubScrolledTextMorphTestStJPEGFilterTestDTCoverageMockTest!StRewriterRuleEditorPresenterTestClassSessionHandlerSmallIntegerTestRBWarningNoticeSycRenameArgOrTempCommandTest SpStyleTest!ParametrizedTestExpandedParameterWeakClassVariableTestOCIfNotNilTestCDFluidClassParserTestInstructionClientTestTableLayoutTestMethodConstantTestShSharedPoolChangeDetectorTestDeleteVisitorTestIdentityBagTest"ReRenameInstanceVariableDriverTestDateProcessOCASTSingleBlockTranslatorTestTKTCommonQueueWorkerPoolTestZnImageExampleDelegateTestAllocationTestEpFileOutModificationsTestChunkImportTestCaseZnBufferedReadWriteStreamTestSimpleAnnotationContextTestRSQuantileTestStSpotterModelTestMicLinkBlockTestSharedQueueTestCoNarrowHistoryFetcherTestClyTraitUsersHierarchyTestClassVariableTestEncoderForSistaV1 MethodMapTestCDDoubleByteClassParserTestRSMondrianTestRGEnvironmentTest ExceptionTest FormSetTestEFPragmaExpressionTestCommentTestCaseMCWorkingCopyForExtensionsTestMicUnknownResourceUriTestRubSelectionTest ZnUTF8EncoderStPNGFilterTest StdioStream!StRewriterRuleLoaderPresenterTestTrueTestSpStyleVariableTest WeakSlotTest&OCNewCompilerWithChangesFunctionalTestCDTraitParserTestInstructionStreamTestWindowAnnouncementTestRuntimeTyperTest#ShSharedVariablesChangeDetectorTestPharoDocCommentTestDictionaryTestReRenameMethodDriverTestOCASTAndOrTranslatorTest TKTFutureTestZnKeyValueStoreTestBasicBehaviorClassMetaclassTestZnBufferedStreamByteTestRSStatisticalMeasuresTestStFinderClassTestCompilationContext StSpotterTestMicMathBlockTest ArrayTestSortedCollectionCoSequenceFetcherTestClyTraitUserScopeTestMethodPragmaTestCDDoubleWordClassParserTestRSMonitorEventsTestRGGlobalVariableTestIntegerDigitLogicTestFormTestEFReturnExpressionTestPharoDocCommentExpressionArgumentVariableMCWorkingCopyManagementTestMicZincPathResolverTestRubSmalltalkEditorTestStFileFilterTestDTCoverageCollectorTest StRewriterRulesHelpPresenterTestUndefinedObjectTest"SpTextInputFieldPresenterStyleTest OCPerformTest MutexTest TextMorphTestVariableBreakpointTestNSPerlinNoise2ShSlotChangeDetectorTestLargePositiveIntegerBreadthFirstGuideTest LRUCacheTestIdentityDictionaryTest ReRenameSharedVariableDriverTestTKTLocalProcessTaskRunnerTestZnPrefixMappingDelegateTest BecomeTestEpApplyPreviewerTestZnBufferedWriteStreamTestRSViolinPlotShapeTestStFinderExampleTest ScaledDecimalMCAncestryTestMicMetaDataBlockTestHeapTestCoSharedPoolVariableFetcherTestMicrodownSpecComponentTestSlotAnnouncementsTestOrderedCollection BoxedFloat64OCASTCheckerTestCDEphemeronClassParserTestRSObjectWithPropertyTestRGLayoutDefinitionTest IntegerTest PointTestEFSequenceExpressionTestPharoDocCommentNodeMCWorkingCopyTestMicrodownInlineParserTestRubTextEditorTestStNilFilterTestDTTestCoverageTest)StRewriterOccurrencesBrowserPresenterTestWeakMessageSendTest OCScannerTest ProcessTest WatchTestShSuperclassChangeDetectorTestPostorderGuideTest TTLCacheTestClyQueryBrowserStateTestPluggableDictionaryTest*OCASTDoubleBranchConditionalTranslatorTestZnReadEvalPrintDelegateTestBlockClosureTestPath EpApplyTestZnCRLFReadStreamTestRSViolinPlotTestStFinderPackageTestDoubleWordArrayTestCommandLineHandlerMicOrderedListBlockTest IntervalTestCoFetcherWithNoResultsTest"TFTestLibraryUsingSameThreadRunnerMicTextPresenterTestSlotClassVariableTestObjectContextOCASTClosureAnalyzerTestCDImmediateClassParserTest RSRTreeTestRGMCTraitCompositionVisitorTestLocalRecursionStopperTestStMethodNameEditorPresenterTestTextAnchorTestEFTemporariesExpressionTestMicrodownParserTestRubTextFieldAreaTestStBreadcrumbPresenterTestStRewriterReplaceWithPanelTest OCScopeTestSizeInMemoryTestNSDomainAndRangeTest BlockClosurePreorderGuideTestSmallDictionaryTestOCASTWhileFalseTranslatorTestTKTServiceMemoryLeakTest!ZnStaticFileDecoratorDelegateTestBlockClosuresTestCase RBArrayNode EpCommentTestZnCharacterEncoderTest"RSMarkerDecorationParametrizedTestStFinderSelectorTest SelfVariableMCChangeNotificationTestMicParagraphBlockTestOrderedCollectionTestCoResultSetResettingTestTFTestLibraryUsingWorkerMicrodownPresenterTestRBParserCmCommandDecoratorTest WeakArrayNoUnusedVariablesLeftTestFullBlockClosureOCASTSemanticAnalyzerTestCDNormalClassCategoryParserTest RSRoassalTestRGMetaclassStrategyTest MagnitudeTestSycMethodNameEditorTestAdditionalMethodState TextLineTestEFVariableExpressionTestNSNumberInterpolatorErrorHandlerSessionHandlerBitmapPackageAndClassesTestBoolean MicrodownTestRubTextSegmentMorphTest$StRewriterScopeSelectorPresenterTestAndreasSystemProfilerTestOCStaticASTCompilerPluginTestRSXMarkerDecorationRSElasticBoxTest UnicodeTest NSClampTestShCreateClassTestPathTestStCritiqueBrowserPresenterTestSmallIdentityDictionaryTestOCASTWhileTrueTranslatorTestTKTWorkerMemoryLeakTestZnStaticFileServerDelegateTestClassHierarchyTest RBCascadeNode EpRevertTest GAngleTestZnCharacterStreamTestClyFFIMethodGroupProviderTest HDTestReportMCClassDefinitionTestMicPharoEvaluatortBlockTestSortedCollectionTestCoResultSetTest AccessorInstanceVariableSlotTestProperMethodCategorizationTest.OCASTTranslatorMappingForFullBlockClosuresTestCDNormalClassParserTest RSShapeTestRGMetaclassTraitStrategyTestMessageNotUnderstoodTestSycRefactoringPreviewTestGlobalIdentifierMergerTestPackageAndMethodsTestMicrodownVisitorTestStOpenDirectoryPresenterTest Metaclass RBCodeSnippetCollectionValueHolderTestStRewriterSearchForPanelTestMessageTallyTestOCTargetCompilerTestUndefinedClassTestRSYMarkerDecorationRSGhostDraggableTestWarningWriteBarrierTestRSLineMicAnchorLinkerTestNSLinearScaleTestShModifyClassTestWindowsResolverTest&StCritiquePackageSelectorPresenterTestSetTestOCASTRepeatTranslatorTestTKTNewProcessTaskRunnerTestZnUrlShortnerDelegateTestRBSelectorNodeEpLostChangesDetectorTest WideString GCircleTestZnFastLineReaderTestRSLinePlotTestClyFFIMethodsTest MCFileInTestMicPharoScriptBlockTestCoStatisticsTestRandomTFUFFIBasicTypeMarshallingTest CmCommandTestBooleanSlotTestProperPackagesTestOCAnnotationTestCDNilSubclassParserTestRSSunburstBuilderTestRGMetaclassTraitTest MetaClassTestSycRefactoringStoreOnTestMorphicNativeWindowTestDirectoryEntryTest OCBlockScopePackageAndTraitOnModelTestFloatStOpenFilePresenterTestUndefinedObjectNewValueHolderTestSpaceTallyTestOpalCompilerTest RSLabeledTest ClassTestNSLogScaleTestShAnonymousClassInstallerTestMCDataStreamTest#StCritiqueRuleSelectorPresenterTestIdentitySetTest*OCASTSingleBranchConditionalTranslatorTestTKTParameterizedServiceTest'ClassDefinitionPrinterConfigurationTestRBAssignmentNodeIntegerGCoordinatesTestZnNewLineWriterStreamTestRSScatterPlotTest MCMergingTestMicQuoteBlockTest GeneratorTestCoFilterNarrowingComparisonTestTFUFFICallbackTestAbstractStoredSettingTestExampleClassVariableTestSpApplicationWithLocaleTest#ProperlyImplementedSUnitClassesTestOCArrayLiteralTestCDPointClassParserTestRSWrapLabelTest RGMethodTest MonitorTestMorphicWindowManagerTestFileLocatorTest#GlobalIdentifierFuelPersistenceTestPackageAndTraitsTestNumberStSaveFilePresenterTestFalse SuperVariableIVsAndClassVarNamesConflictTestRSShadowInteractionTestCompiledMethodTestMicCitationBlockTestNSNiceLinearTicksGeneratorTestShClassInstallerTestCoASTResultSetBuilderTestOCReceiverDoItSemanticScopeMCDependencySorterTestStCritiqueToolbarPresenterTestBitRegisterTestPluggableSetTestArgumentVariableTestFLGlobalCompiledMethodCluster}SequenceableCollection indexOfAnyOf:S ByteArray booleanAt:"SequenceableCollectionsecond2Numbersecond.SequenceableCollection indexOfSubCollection:startingAt:6String>߈BooleanifTrue:LRunArraynewFrom:ҕOrderedCollectiondo:SequenceableCollectionpermutationsDo:pDate weekdayIndex.SequenceableCollection findBinary:nStringtrim.SequenceableCollectioncollect:thenSelect:W Collection isNotEmptywSequenceableCollectionpolynomialEval:SequenceableCollectionnew:streamContents:SequenceableCollectionfindBinary:do:ifNone: CharacterhexwSequenceableCollection isSortedBy: Collection,_DNumber%9BasicCommandLineHandleractivateSubCommand:SequenceableCollection swap:with:fString endsWithDigitNSPerlinNoise2 noise:y:z:4SequenceableCollectionmergeSortFrom:to:by:SequenceableCollection at:ifAbsent:_ CollectionprintOn:delimiter:last:ŁString numericSuffixwSequenceableCollectionlastIndexOf:ifAbsent:FSequenceableCollectionindexOf:&| CharacterisEnclosingMarkpObjectjoin:/SBagoccurrencesOf:/Colorh:s:v: Collectionfold:}{BooleanifFalse:ifTrue:L Collection groupedBy:*SequenceableCollection allButFirst:TrueifFalse:ifTrue:s HDTestReport newLogDuring:}dIntegernumberOfCombinationsTaken:>SequenceableCollection groupByRuns: CharacterisClosePunctuationp BlockClosureensure:yClassDescription instanceSide.SequenceableCollection from:to:put:_) Collection asNewArray.TrueasBit5 SmallIntegerevenSequenceableCollectionsplitOn:.ColorfromHexString:=TestCaserun:LSet intersection:$SequenceableCollection%lastIndexOfAnyOf:startingAt:ifAbsent:4 CollectionoccurrencesOf:LISequenceableCollectionisSortedSStringwithoutQuotingS CollectiongroupedBy:having:~String substringsz Collection includes:y# Collection allSatisfy:Color r:g:b:range:N)Number raisedTo:#Boolean==>3SequenceableCollectionindexOf:ifAbsent:K Collection ifNotEmpty:3CommandLineHandler activateWith:G8 Collectionsortedw BlockClosuresplit:indicesDo:F Collection*String findString:- Collection newFromArray:^)SequenceableCollectionfifth2PointminwmIntegerhumanReadableSISizeString!STON fromString:OhTrueifFalse:APath printPathOn:Symbol descendingw CollectionatRandom:weighting:o/ CollectionasStringOn:delimiter:last:ŁSymbolisUnaryFBSetcollect:] Collectionremove: KeyboardKey named:ifNone:Point translateBy:~ExecutionEnvironmentbeActiveDuring: SequenceableCollectionatPin:7Stringformat:N Collection sumNumbers:FalseifFalse:}"PointisInsideRectangle:. CollectionaddAll:StringnormalizeCamelCasebString beginsWith:=Color colorFrom:SequenceableCollectionsorted:sTColorh:s:l:SequenceableCollectionsplitOn:indicesDo:r?OrderedDictionaryat:at:ifAbsent:String asFourCodegSequenceableCollectionthird2StringstartsWithDigitғOrderedCollectionremoveDuplicates CollectionminrSequenceableCollectionfindBinaryIndex:ifNone:=; CharacterisConnectorPunctuationp CharacterisDashPunctuationp RectanglecontainsPoint: Collection flatCollect:aStringmatch:KInteger factorial<1SequenceableCollection,rStringfindString:startingAt:Z ProtoObjectifNil:ifNotNil:ҹBag includes:mSequenceableCollection allButLastDo:8SequenceableCollectionseventh2OrderedCollectionadd:}{ ByteString isByteString UndefinedObjectifNil:ifNotNil:}"StringbeginsWith:caseSensitive:W% CollectionremoveAllSuchThat:.StringsurroundedBySingleQuotes'TestCommandLineHandleractivateESTONassociationClass SequenceableCollectionreduce:}{ CollectionselectEverySecond Collectionreduce:sTStringendsWithAColonjSequenceableCollection reverseDo:Gg CollectionnegatedStringcopyReplaceTokens:with:ZStringinitialIntegerOrNil,VSequenceableCollection allButLast:N ByteArrayzipped! CharacterisDecimalDigitpIntegerprint:on:prefix:length:padded:=SequenceableCollectionbind:. CharacterisLetterpString endsWith:=qFalseand:Objectsplit:indicesDo:]Floatround:f+ RubTextEditorsurroundString:withCharacter:SequenceableCollection detectIndex:SequenceableCollectionpairsDo:ZSequenceableCollection lastIndexOf:^SequenceableCollectionreplaceFrom:to:with:Pointmaxwm GeneratoronDo:y#SequenceableCollectionoverlappingPairsDo:‰BooleannotLSequenceableCollectionwriteStreamDo:5 Collectionsize+PointsideOf:+OrderedDictionarynewFromKeys:andValues: Collection removeAllNPackage isTestPackagez HDTestReportrunClasses:named: Pointmax:SequenceableCollectioncloseTo:r"StringindexOf:OSequenceableCollectioncombinations:atATimeDo:(VFloatarcTan:'wColorfromRgbTriplet:SequenceableCollectioneighth2SequenceableCollectionoverlappingPairsWithIndexDo:SSequenceableCollectiongroupsOf:atATimeDo:String>=SequenceableCollection do:without: Collection reciprocalString asCamelCaseb Collectiondetect:Number reciprocalB Dictionaryat:at:TNumberprintStringBase:p Collection!findFirstInByteString:startingAt: | SmallIntegerlowBitӮSequenceableCollectionsortedSequenceableCollectionreplaceAll:with:UndefinedObject ifNotNil:ClassDescriptionisInstanceSidewNumbersecondsFalsenot SequenceableCollectionfourth2 CollectioncopyWithoutDuplicatesw BlockClosuremillisecondsToRunDOrderedCollectionasArray S MagnitudebeBetween:and: Collectioncount:uRSYMarkerDecorationmaxClass instanceSide 1SequenceableCollectionfirstbPathbasenameWithoutExtension: Collectionmedian6SequenceableCollectionlast:Q Collectionabs Collection noneSatisfy:STON classNameKeyHDReport runPackages:}Point-)SequenceableCollectioncollect:from:to: CollectionfillFrom:with:BkSequenceableCollection allButLastx+ArrayedCollection with:withAll:`Number truncateTo: Characterjoin:sTDefaultExecutionEnvironment runTestsBy:LIntegerprintStringHexzSTONfromStringWithComments:Oh CollectionasBagDateonPreviousMonthzFalseifTrue:ANumberprintShowingDecimalPlaces:)IntervalasOpenInterval+SequenceableCollection findFirst: Collectiondo:L SmallIntegerdecimalDigitLength/ Collectionmaxr Collectionadd:withOccurrences:SymbolasSortFunctionSequenceableCollectionatLast:ifAbsent:_Date subtractDate:SequenceableCollectionrunningAverage:StringasValidSelector Collectionunzip CollectionisEmpty>!SequenceableCollectionmiddleSequenceableCollectionfirst:xIntegerstoreStringBase:length:padded:kF Collection includesAny: Collectionsum:m|SequenceableCollectionatWrap:6SequenceableCollectionindexOfAnyOf:startingAt:6PointguardedStringlastSpacePositionAj Character isFinalQuotepNumber// Collection includesAll:DateaddDays:p Collection asCommaString!IntervallastdSequenceableCollectioncloseTo:precision:SequenceableCollection beginsWith: <SequenceableCollectionidentityIndexOf:ifAbsent:' ByteArrayunzipped'SequenceableCollection from:to:do:4 Metaclass classSide 1SequenceableCollectionreject:^SequenceableCollection findLast:ѝSequenceableCollectionidentityIndexOf:m|Color asHexStringj Collection&}{ ByteString isOctetString Pointcorner:.Symbol asMutatorN Collection\\>>}{SequenceableCollectionallButFirstDo: KeyboardKeynamed: SequenceableCollectionatLast:fPointscaleBy:vInteger digitAt:base:Truexor:SequenceableCollectionbefore:ifAbsent:ŇBooleanifTrue:ifFalse:LSTON put:onStream:AyTrue asInteger5Trueand:}"SequenceableCollectionselect:thenCollect:[SequenceableCollection allPairsDo:{SequenceableCollection atAll:putAll: CharacterisDigitp CollectionsignSequenceableCollectionindexOf:startingAt:ifAbsent:H Collectioncollect:1TestCaserunCaseManagedDSequenceableCollectiondetectIndex:ifNone: Collectionaverage0Object->.SequenceableCollection)indexOfSubCollection:startingAt:ifAbsent:Integer slowFactorialBooleanxor:LSequenceableCollection combinations!TestExecutionEnvironment runTestCase: HDTestReportreportTestCase:runBlock:/0STONfromStreamWithComments:/SequenceableCollection splitOn:do:r?SmallDictionaryat:at:TNumberminutes CollectionasOrderedDictionaryzPoint+-ColorgreenSymbolkeywordsStrictõStringcopyReplaceAll:with:asTokens:hBagsumTrueifTrue:ifFalse:}"Number nanoSeconds Collectionrange` BlockClosure newProcessSequenceableCollectionatAll:SequenceableCollection readStreamDo:5SequenceableCollectionpiecesCutWhere:do:N RBScanneron:[}SequenceableCollection shuffleBy:>5 Collectionsum RBMethodNodepharoDocCommentNodesbDate addMonths:KTruenot StringendsWith:caseSensitive: ScaledDecimalround:jTestExecutionEnvironmentrunTestCaseUnderWatchdog: HDTestReport runPackage:C TFTestCasetestParametersTestCase performTest-String asLowercase Collectionselect:1Boolean&LNumber roundDownTo:String howManyMatch:JnSequenceableCollectionanyOne. CollectionaverageIfEmpty:[True&1 CollectionprintElementsOn:+IntegerhexzSequenceableCollection atAll:put:FStringcopyReplaceAll:with:yIntervalstop! WideString asByteArrayaODateyyyymmddPointfloorxContexttallyInstructions:String isAllDigits5Pointabs.StringescapeCharacter:vSequenceableCollectionreplace: BlockClosurecull:SequenceableCollectiondo:separatedBy:PointxMColor asColorrefOSequenceableCollectionindexOf:startingAt:6 Collection difference:SequenceableCollectionafter:ifAbsent:LIntegerstoreStringHexz DateAndTimesecondFSequenceableCollectionindexOfAnyOf:ifAbsent:KPoint<ҪSequenceableCollectionsplit:indicesDo:5OrderedCollectionreversedCurrentExecutionEnvironment activate:for:Stringrepeat:u CollectionassociationsDo:/SequenceableCollectioncollect:thenReject:WSequenceableCollection shuffledBy:sT Collection\}{ Collection copyEmpty7UndeclaredVariableruntimeUndeclaredReadInContext:"StringexpandMacrosWithArguments:YCompiledMethod isExtensionz Collection detectMax:& ProtoObject ifNotNil:.Colorr:g:b:Numberminute. Collectionselect:thenDo:SequenceableCollectionpaddedWith:do:d Collection asByteArray String=j FalseifTrue:ifFalse:sStringincludesSubstring:+ Collection/ Character isSeparator5SequenceableCollectionasDigitsToPower:do:Objectat:DVSequenceableCollectionfindBinaryIndex:n Collection asDictionaryz Collection anySatisfy:Booleaneqv:1SequenceableCollectionreject:thenDo:ЖColor fromString:EIStringcompare:with:collated:u CollectionanyOneY False&SequenceableCollectionafter:Date subtractDays:StringincludesSubstring:at:#DatemmddyyyyzStringindexOf:startingAt: AsciiCharset toUppercase:؜ Collection copyWithout:y#SequenceableCollection allButFirstx+Pointmin:Booleanand:LStringcompare:  Collection do:without:UOrderedCollectionat:5Fractionround:snString includesSubstring:caseSensitive:l KeyboardKeyfromCharacter:ifNone:STON fromStream:nSequenceableCollection flatCollect:zSOrderedCollectionmakeRoomAtFirstOrderedCollectioncollect:SymbolasTestSelector>SequenceableCollection with:collect:֟ ExceptionsignalȭNumber roundUpTo: CollectionincludesSubstringAnywhere: Collection asIdentitySet_Date monthIndexf CollectioncopyWithoutAll:y#CurrentExecutionEnvironment runTestsBy:Number**}{OrderedCollection add:after:pKSequenceableCollectionreverseWith:do: CollectionflatCollectAsSet:b|STON listClass Metaclass instanceSide.Symbol ascending.SequenceableCollectionat:incrementBy:w Collection sumNumbers)d Collectionselect:thenCollect:Numberrounded}WBasicCommandLineHandlerhandleArgument:+q Collection intersection:MSequenceableCollectionstreamContents:limitedTo:Z| SmallIntegerodd`SequenceableCollectionoverlappingPairsCollect:/String findSelector PPoint asFloatPointxStringwithSeparatorsCompactedTrueor:Pointy!IntegerprintOn:base:length:padded:1Dateequals:;SequenceableCollectionfindBinaryIndex:do:ifNone:E`Number milliSecondsSequenceableCollection lastIndexOf:startingAt:ifAbsent:d Collection-{'d:#s\oEXkATFLHookPrimitiveClusterFLHookPrimitiveClusterOFLHookPrimitiveCluster##"testAddNonEmptyGrowsWhenNewElement noise:y:z:testIfNotEmptyifEmptytestGifWriteReadUsingFiles.testFutureFlatCollectFailsOnFailingMapFunction'testSmartNeedExtraRemoveInForOppositeAt)Calypso-SystemPlugins-DebugPoints-Browser/testChangingOtherPriorityPreemptsCurrentProcesstestNewGlobalVariabletestSwitchSlotsAndMigratebefore:ifAbsent:Clap-Commands-PharoAtestDetectIfFoundIfNoneWhenSomethingIsFoundIgnoringTheFoundObjectFreeType-TestsNewTools-ProfilerUI testAtAtPut testIsZerotestResetStack testReceiver,testTransformTextPresenterDecoratorToSegment*testBlockParameterWhenTheLineWillBeTooLongtestRemoveInteractionIfPresent$testStoreIntoLiteralVariableBytecodeSpec2-Backend-TeststestFindThisPackageWithCategory testFileOutSingleProtocolRemoval testSelectortestClearAllDependenciestestRenameProtocolAsWithNil3 from:to:do: Calypso-RingtestExclusionsCollectionarcTan:testOpenPresenterIsBuilttestToDoWithTempInBlock testCreateAs newSubstringtodaytestClassDefinitionAtestNormalizedtestSetErrorMargintestUnwindFromForeignProcessei/testChangeInInstanceVariableRaisesEventOnlyOncetestExternalLinkWithStriketestEmptyBlockArgtestStructureOfBoldNestedTexttestPutAllNegativeztestBmpWriteReadUsingFilesFridaytestDeleteANonOpenWindowFailstestRemoveElementFromEmptyBaselineOfFreeTypeCommander-Activators-MousetestStoreTwoObjects!testDoubleArraysHaveCorrectLayouttestProperRemovalProtocolIsUsedtestReadInContextAnnouncements-Core-TeststestRepresentsClassOfScopetestCopytestSuppressInform/testTraitMethodClassBindingShouldBeClassBinding testEqualitytestStringAsNumbertestStSerializationtestAsReferencenotat:System-Object Events-Tests!testThirtyTwoBitRegisterInversion/testUpdateMethodAnnounceModificationOnlyInTraittestRemovePackagetestSimpleMergetestDynamicDescriptiontestTwoLevelListtestAtAllPutAll)testDictionaryPublicProtocolCompatibilitytestCaseOfOtherwisetestNodeCoverageBaselineOfWelcomeBrowsertestShouldBePrintedAsLiteral testSumFloattestCachedMethodNodetestOrganizationDefinition2testClassifyUnderWithProtocoltestformatComment"testNestedBlocksRemoteInBlockCase2testUnsignedSumLongLongHiedra-ExamplestestFillShiftClassBuilder isCharactertestDrawingWayOutside2testCopyNonEmptyWithouttestArrayEvaluateWithBindingstestIsExternaltestExampleTempNamedPutCopying2 testComparisonWithDifferentScope,testMouseMoveWithoutDraggingDoesNotStartDragseentestUsingXAndYasNumbertestChainBehaviorHitWithContexttestCopyEmptyWithouttestHasNoArgumentstestMustInclude0 testUpTo3testCreationByNamedtestKeyUpFromMorphtestReceiverWithGC appreciateRoassal-Layouts-Tests<<testWriteSlotValuetestNegatedSearch testIndexOftestUnregisterPackage"testUsingMethodsFindsVariableUserstestSumUnsignedInt8!testTraitAdditionWithTraitRemoved*testTrueIfFalseIfTrueReturnsTrueBlockValuetestWindowsAbsolutePathNameanItem h:s:l:alpha:5testConfigureContextWithErrorShouldMarkContextAsErrortestStructureOfAnchorReferencehasInterned:ifTrue:testNegativeZeroAbs0testAccessingArgOfOuterBlockFromAnotherDeepBlocktestMonospacesWithBackQuote!testProperUtilitiesProtocolIsUsedtestCopyWithoutFirstOccuranceOfnewSizetestNameAccess$testUpdateMethodAnnounceModification#SystemCommands-MethodCommands-Testsargs,testIteratorOnACollectedCollectionIsFiltered testWithRB5"testUnmatchedExpressionParenthesistestWithoutPreTabstestJumpOnEndOfSourceSystem-AnnouncementsMessageNotUnderstoodtestHomeMethodtestHasTemporaryVariablesMethodtestNextObjecttestOrtestWrappedElementOnNestedtestInstantiation testReadsSelftestNotWrittenInMethodtestWriteThenReadtestByteArrayLongtestSmartBackspaceNewTools-Sindarin-Commands testCreateVariableWordClassNamedtestContinuedFractionsDebugging-UtilstestCannotBeRecompiledtestPlotWithOneCollectionCommander-Activators-TextView raisedTo:testSuperiorOrEquals testUsagetestTallyTreePrint test32BitBlackColorTranformation testDeepCopyeachtestSplitArrayOnElementtestNoZoomToFitOnExtendChangedtestAssociationAtErrortestExternalLinkWithMonospacetestConfidenceInterval testBasic testChangeInSuperclassIsDetectedcollect:thenReject:"testReplaceTokenWithAditionalSpace4testMethodEditorToolIsValidWhenReferencingSameMethodanArray3testHeuristicBuilderForSingleHeuristicBuildsWrapper testBufferingSpec2-Code-CommandstestCopyWithSequenceable$testAtPutBiggerNumberThrowsExceptionAthens-ExamplestestRedoorangeftestReplaceKeywordTokenFollowedByAssignmentWithCaretInTheEndOfWordWithFollowingWordsReplacesEntireWordtestDigitsAccesstestKeepBlockInMessage isFloatPointSettings-GraphicstestSmartBackspaceWithSelectionreject:thenCollect:>testEditClassOrPackageScopeAddingClassAndCompletingFullPackagetestChangeOfLayoutIsDetectedtestMethodRemovaltestOneRemoveFirsttestAssignClassVariable!testDuplicateClassPreservePackage-testAndAnOrEnvironmentAndAnotherOrEnvironment'testTruncatedToSizeLargerThanCollectiontestRemoveSharedPool.testFixedLocatorDataIsOkWithUnsortedCollection*testSelectorEnvironmentRemovesEmptyClasses testOnFork#testNewBreakpointForVariableInClasstestNumberOfDigitstestPrimitivePragmaNumberPragmaCollector testNoChangeInSuperclassDetectedisDigit:testLiteralArray1testGlobalCounterReferenceAfterRemovingFromMethod,testIsEmptyForExplicitlyDefinedAbstractClass testPreordertestIsBalancedtestExternalLinkWithBoldtestCreateWeakClassWithAlltestNewPointerClassWithSlots"testDetectIfFoundWhenNobodyIsFoundtestRedefiningInstanceTwiceGlobalIdentifier%testNoOutgoingDependenciesAfterTarjan-testComparisonOfSimilarQueriesWithEqualScopesDtestBestNodeForSecondInstanceVariableSelectionShouldBeSecondSlotNode isClassSidetestFloatTruncatedtestPrimitiveStringModuletestIsWrittenInMethod'testArrayedCollectionWithPoolDictionarytestCommentBetweenStatements-testBestNodeWithValidPostionOnMethodPeriodEndtestAllExistingProtocolsFor+testDoesNotIncludeNilAfterGarbageCollectiontestItalicWrappedElementsCommander2-UI-Tests!testNoEquivalentSuperclassMethodstestShuffleModifyTheReceiver(testClassIsDisplayedWithCorrectAlignmentSystem-SourcestestTransitionAnimationCreationTools-CodeNavigationtestExactMatchtestRemoveElementThatExists testReverse2testItalicsAndNestedBoldsWithClosureAfterOpenBolds Athens-Cairo testSlashtestTraitIfClassAlreadyExiststestUnaryNoExtraSpacesAfter2testShouldAccepttestFourBackQuotestestDynamicVariable!testTallyShouldNotContainsAReturnsplitter testInferiortestRelativeTotestToDoArgumentNotInlinedtestMouseEnterDraggingFromMorph testNoTargettestDefiningNodetestTraitRemovalWithTraitAdded9testBroadenFilterAfterFetchCompletionShouldBroadenResultsindexOf:ifAbsent:asSettestAllFileTypedFilesKeymapping-CoretestIncreasedValueFrom isTestPackagetestRejectAllThenCollect"testRemoveBreakpointWithRemoveFrom combination testAtLeastclasstestRemoveSelectorByAndAndNot testNextPutAllStartingAtToStreamtestFloatPrintPolicyMorphic-Widgets-Tabs testAsNumberWithoutDecimalPoint2testAddNodesAndEdges'testMultiplicationDoesNotLoosePrecisiontestLinkWithParameterstestHasVersion oldElementtestRemoveAllExtensionMethodsRemoveTheClassFromExtendedClassesmessagetestSelectsAbstractMethodtestAtLastErrortestTrueIfTrueEvaluateBlocktestGroupedBySortedCollectiontestIsHiddenWithRealFilesystemtestDuplicatedInstanceVariable#testTerminationDuringNestedUnwindR2testIncludedPackagesSystem-Object EventstestWidenOnCommentstestSmalltalkPrintStringtestUnorderedList9testHandlingWithSeveralExclusionsAndExceptionSetsHandlingtestLiteralBooleantestUndefinedVariableFrontend testTAddTwicetestWindowCreation+testInitializedClassVariableReflectiveBlock+testTextPreviewerCanBeUsedOnParameterStringisEnclosingMarktestByteCannotExtendWord Commander2-UItestIsAListPlus)testLeftWithoutResultsDoesNotCloseContexttestCmdCtrlRight asCamelCasejoin:literalExample testLoadImagetestSubclassesInEnvironment testByteAt$testKeepBlockInMessageMutlilineSpace)testAtGarbageCollectedValueRaisesNotFound6testPopularStringDoesReturnOnlyTwentyResultsForPackage testSameRangetestOneArgumenttestPrimNotEqualfade:NautilusRefactoring-TeststestTerminateActive"testSearchTextChangeSelectedShapestestItalicAPIToAccessTexttestImportAClass privateBlue Roassal-EventtestMinMaxValuesAreCorrect6testRemoveExtensionMethodDoesNotRemoveExtendingPackagetestAsOrderedCollection testPowScale8testIsAffectedByChangeOfAbstractMethodWhichIsImplementedtestCalculationOfHighestUpdatetestPurePathInterpretedAsFiletestFork9testExistingTraitWithSlotsArePreservedIfChangingClassSideReflectivity-ExamplesCommander-Core testNumeratortestTraditionalBinaryPrecedenceProfStef-Tests/testAccessingMethodArgFromOptimizedBlockContext falseStringtestPngDecodingColors32 testsEndsWithtest0FixturePutTestskipTo:testAsFormWithExtent4testImplicitEnvironmentContentForMetaclassDefinition6testChangeInSharedVariablesShouldAnnounceClassModifiedtestNewLinesAfterComment2 classSidetestDraggingOnDraggable0Calypso-SystemPlugins-Reflectivity-Queries-Teststest10removeFirsttestModelWithRawValues$testInitializedClassVariableCompiledtestFindCyclesOnetestAddNewElementIncrementsSizetestSmartCharacterAfterEspacetestNewFromSampleBytes'testComparisonOfTwoDifferentAnnotations)testWithTopDoesNotProduceInvalidRectangletestAddAfterLink testMetaData testWithWeirdValuesLineWithTicks thisWritetestUnwindFromActiveProcesstestStrikeInHeadertestMultipleTraitstestSharedPoolstestLiteralSymboltestWindowCreationAndDeletion0testThirtyTwoBitRegisterLoadFromCorrectByteOrder#testTimesRepeatWithTempOutsideBlocktestDoesntContainLocatorto:Debugger-Oups-TestspitestBackwardCompatibility3testThreeWayCompareTotestCopyCreatesNewObject~~ testAtPintestCartesianProductDo3ElementstestCompileCharactertestEndGoesToEndOfLine rejectBlock testRegister'testANegativeIntegerCannotBeAPowerOfTwotestMethodsEnumeration2testUnoptimisedPlusSpecialSendsMessageCapturesSendtestEqualAbsoluteRelativePath1testCreationByCommaWithMultipleCompatipleContextstestExampleSimpleBlockArgument4testSelectsOverrideMethod%testGlobalVariableImplicitEnvironment testColumns testNoSearchtestIncludesMethod testMaxSizeFileSystem-PathtestInfiniteLoop+testInstanceVariableNamesMetaclassInterfaceTool-ProcessBrowsertestSeenPackagesNamespeciesunziptestResolveAbsolutetestUnclosedMathtestDoItRequestorOptimizedtestStoreStringAlloptionInlineNone)Calypso-SystemPlugins-SUnit-Queries-Tests&testBuildClassWithSuperclassWithTraits prevIndextestNonCharacterPositive testNewMovie testAsString asciiValuexcRing-ChunkImporter0testAssociationAtExistantKeyReturnsOkAssociation test01addtestTwoArgumentstestRequestResponse%testIncludesIdentityBasicComportementtestGettingEnvironmenttestMathBlockWithBadClosure!testGettingAllRedefiningInstances testBooleanstestCopyUpToLastWithDuplicateTool-ImageCleaner-TeststestWaitMaxMillisecondstestRemoveTraitMethodtestCreateEphemeronClassNamedtestAddReferenceDependencies colorFrom: testSiblingstestSimpleResignalAs testClassNewTools-FileBrowser-Tests testPrimAtPut$testSearchingVeIncludesSaveAndSaveAsprintOn:optionInlineAndOrtestBasicReadOnly ifNotNilBlockpeek testNewLineBeforeAndAfterCascade0Calypso-SystemPlugins-Reflectivity-Browser-Tests-testOptimizedBlockWrittenAfterClosedOverCase1 ffiLibrary CompressionNewTools-Compression-Utils isNotEmptytestUnarySymbol5testEditClassScopeRemovingClassAndBreakingFullPackagetest32bitRoundingModetestCommaAddsExtensionAgaintestAsSetWithEqualsElements9testReshapeByteVariableToPointerPropagatesToDeepHierarchyRefactoring-Changes-Tests!testServiceExecutesTearDownOnStoptestGrowWhenNecessarytestSuspendForSnapshot%testLastClickedMorphSetUponUpdateListpiecetestDistanceTo#testAddAndAddInstVarNamedWithTrait2testBlockWithNonSharedDefault"testFloatArrayPluginPrimitiveAtPutOSWindowDriver!testLineStartIsCorrectAfterIndent arrowDowntestExampleBlockExternalBaselineOfPharotestTempFilePrefixSuffix"testHasNonDefaultValue_AndSomeArgstestScaleLinearRoundtestAddClassTagWithEmptyName;testNotSimilarToAnnotationOfSameClassButForDifferentContexttest2BitReversedtestFractionPrinting&testInstrumentedMethodIsCompiledMethod Zodiac-CoretestChainBehaviorPutChildtestUnrestrictedSlot:testMethodCategorizedInSameClassicProtocolDoesNotRepackage++3testMethodEditorToolIsNotValidWhenNotAMethodContextScriptingExtensionstestFutureExecutesConcurrently testCollecttest32BitReversedidentityIndexOf:ifAbsent: contractTo:printOn:showingDecimalPlaces:testHorizontalLineBlock testClassDescriptionMakeResolvedseconds1testRemoveSelectorDoesNotAnnounceRecategorizationtestChangeAddManytestMemoizedDictionary%testSixtyFourBitRegisterLeftRotateBy2,testKeysAndValuesDoWithGarbageCollectedValuetestScaleExtensiontestWordCannotExtendByte*testHighlightAllShapesThenHighlightNothingtestAssignmentVariableNamemin:max:.testNoSuperInitializeOnClassSideInitializationdelta@testBestNodeWithInvalidPlaygroundIncompleteMidSourceThenBracketsindexOfAnyOf:ifAbsent:testCombineDependencies testMajorAxis2testPushDownMethodDriverWhenHappyPathExpectChanges testAtPutNiltestExampleToDoValue#testKeyCombinationOpensSearchWindowtestWriteStreamDoifPresenttestInitialCacheBuildtestNonResumableOutertestRemovePropertySlot key:value:testProtocolEnvironment$testCreateClassWithWeakClassVariableBaselineOfBeacontestComposingMondrian substring%testCreateAndUseDynamicCompilerPlugintestNoNewLinesAfterSignaturetestFileOutSingleTraitAdditiontestSixtyFourBitRegisterXortestReadStreamDoNotFound8testUndeclaredReparationWithSharedWasCrashingOnOldVM1001below1testSingleArgBlock arguments"ReflectionMirrors-Primitives-Tests allButFirsttestJumpAheadTo)testImplicitConversionFromClassPropertiestestClassSideDoesNotShowPackage4testModifyProtocolToRemoveExtensionUpdatesThePackagetestIntoWorldTransferToNewGuyMorphic-Widgets-MenubartestMethodsContainNoHalt$testClassNameNodeHaveParentReferencetestNewLineAfterCascade+testCallingFunctionWithW64CallingConventionaSortBlockOrNiltestMakePackagesDiffOnSameGraph pathString,testNoLeadingOrTrailingSpacesInCategoryNamestestSingleLevelMixedListoptionOptimizeIR includesKey:testIconProviderninth testLiteralstestVariableCanExtendVariabledetect:ifFound:#testFalseIfTrueDoesNotEvaluateBlocktestBigReceiverInexactSqrt*testIndexOfSubCollectionStartingAtIfAbsentSTON-Text support testPackages)testLogLocatorRaisesErrorWithNegativeDatatestDoWhileTrue testPrimMod DiskStoreCtestRefersToLiteralsReturnsFalseWhenLiteralNotInMethodPropertiesKey testCaption"testAnnouncerSuspendingWithStoring testGroupstestSizeUnsignedLongUnix testTargetedToolsWhenManyContext,testSubscribeToUnexistentPropertyRaisesErrortestNewTextStream TSortable%testAddBoxPlotAndLinePlotReturnsChart6testAcceptTwoEntriesAtDifferentIndexLogsSeparateCountsorigin:corner:testSumUpToLimit0 testBorderstestJoinStringUsingStringtestNewSliderIsNotDragging testAcceptEntryIncrementsAverage testToCount3testDigitSumOnNegativetestGcdtestInexactNthRoot testBitAttestSourceNodeOptimizedBlocktestStepIntoQuickMethods$testClassDefFromLegacyStringHasSlots7testLinesOfCodeSingleLineMethodCommentWithoutWhitespacetestNoEmptyProtocols&testNNegatedEqualsNComplementedPlusOne testPragmastestsourceCodeTemplateFortestUTF16EncoderWide1testErrorNonExistingImageInteger testAtEnd&testClassAdditionWithSuperclassChanged*testTwoDifferentWordsStartingWithLowerCase pieceBlockSequenceableCollectionexpandMacrosWithArguments:testSortingChainedWithUndefinedtestCallbackAsFunctiontestServiceShouldHaveAName testTabIndenttestSortUsingBooleans$testMathBlockWithParametersWithBlanktestOneMWordAllocationtestIsDashPunctuationtestLoadNotCorrectImageSystem-CachingtestClustersMargin&testStoreIntoTemporaryVariableBytecode#testKeyStrokeBackSpaceWithMaxLengthtestRemoveFromMethodtestNextShouldReturnNilAfterEndlastByte testIsRunning testToCount2testNestedTimesRepeatAtestConfigureContextWithDoesNotUnderstandShouldMarkContextAsErrortestRestoreWindowEpicea at:ifAbsent:testHeaderWithItalic1testComparisonOfSimilarQueriesWithDifferentScopes.testsingleRemoteTempVarWhileWithTempNotInlined testReadUpTotestOnceBreakOnVariable3testBrowseClassViaImplementorActuallyBrowseTheClass6testUnhandledErrorWhenTwoHandlersPassOriginalExceptiontestBmpWriteReadInMemory'testNotSimilarToDifferentKindAnnotationtestNotLitteralNewTools-CodeCritiques9testWorkerProcessDiesAfterWorkerAndAllFuturesAreCollectedtestAllReferencesTo testMinorAxis testPointer timesRepeat:Metacello-TestsReferencetestSelectedTabsWithoutOwnertestWikipediaExample1 testAssignmentOfClassNameBindingtestAddWithPaddingHorizontaltestBoldsWithoutClosure newCollection shuffledBy:testBuildingGroupstestMethodContext Files-PrompttestTagsForClasses Tool-Diff lastBlanktestAddInstVarNamedWithTrait2testClassWithTraitat:ifAbsentPut:isCurrencySymbolRoassal-BaselineMap-TeststestFindStClassProcessorTest testDoubleprintStringBase:nDigits: isUppercasetestReturnHasNoExtraSpaceCollections-Sequenceableorigin0testPreferenceFilesNotCollideWithRealPreferencestestPackageNamedIfPresent#testTryingToModifyReadOnlyInstancestestRenameTargetExists Beacon-CoretestEmptyIndexesArraypositionRegex-Core-TestsdecimalDigitAt:"testUrlWithoutMicrodownParameters2testMergeIntoUnmodifiedImage testDelaytestReverseDoEmptyhueCtestWeakClassWhenTraitCompositionChangedShouldAnnounceClassModifiedtestLiteralFloatBeautifulCommentstestEmptyBlockOneArgumenttestIsSortedBy valToPowerRing-OldChunkImportertestSuperiorToMinimum testNotEmptytestGetMeanOfDataset Zodiac-TeststestDoubleResumestartingAt:match:startingAt:testBasicGetLargetestBehaviorLocalMethodstestExistingClassWithClassSlot#testNotNilIfNotNilReturnsBlockValuetestParentUpTo!testConstPlaceInTransformedMethodtestIsExecutedFromEmptyScope!testConvertFromNonDecimalFractiontestFillingWithTwoSameClasses"testCopyNonEmptyWithoutNotIncludedtestEvaluateAndDo'testAsNumberWithSuperfluousDecimalPointregisteredColorNames&testJumpOnIfTrueIfFalseAfterCompletiontestPrintOnStreamtestBehaviorCommentChangetestCompactClassTemplate+testCreateTraitUsingAnotherTraitComposition instanceSide2testMarshallingSmalltalkStringReturnValueWithAlias testVariableEnvironmentAddRemove/testSmartQuoteSurroundsDoesNotEscapeDoubleQuotetestEvaluateOnErrorResume perform:with:testThoroughWhichMethodsReferTotestEightNeighborsTraits#testSingleParagraphWithIndentedTextroundedtestPackagesOfClasstestHandlingWithExclusiontestNegativeZerotestUniqueIdentifierstestRemoveFromProtocolsp"test0FixtureDictionaryRemovingTesttestSelectDirectorytestImportFromReadStreamatLast:ifAbsent:badExpressions?testWorkerPoolWorkersProcessesAreTerminatedAfterPoolsCollectiontestSetAndRemoveMovieDirectortestSpaceBeforePeriodtestMultipleDocCommentstestRetrievesActiveScopedaysoneIndextestAddPackagestestBuildLayout joinUsing:7testNarrowFilterAfterFetchCompletionShouldNarrowResultsgroups testVmBinaryAthens-Cairo-Tests@testWordsAwareIteratorFiltersByASequenceOfCamelCaseWithUppercasetestRawsDoesNotHandleWellEscape"testPassingLongStructByCopyInPharotestAccessorsColorstestExtractEmptytestDoItContextReadIvar'testSchedulingHigherPriorityServedFirsttestSignalFromHandlerActionTesttestSharedClosureEnvironmenttestIndexOfIfAbsentDuplicate lastIndex WriteStreamtestReadStreamDo testThetaBaselineOfCommander2testBoxPlotCreatedWithData9testHeuristicBuilderForSingleHeuristicLastIsNullHeuristic%Calypso-SystemPlugins-FileOut-Browser testAddOnetestInstVarNamedPuttestCanUnderstandInSubclass&testModifyProtocolOfMethodyDoesNothingtestSnapshotAndLoad6testCaretInTheMiddleOfSecondWordHasSecondWordUpToCaretselfNewTools-Morphic-Spotter testAttachToBaselineOfUnifiedFFItestEnvironmentWithFormat/testNewLineBeforeFirstKeywordDoesntAffectBinarytestClassWithCommentAndStamp badMethods testNoChangeInClassSlotsDetected!testAddShadowSeveralTimesOnAShapetestWithRecursiontestPragmaAddingPropertytestNaN1"Collections-DoubleLinkedList-TeststestBadInstantiationtestStoreIdentifiertestUTF8Overlong#testJoinArrayUsingOrderedCollectiontestReverseUnevenDotestDifferentBases$NewTools-RewriterTools-Backend-TestsGeneral-Rules-TeststestTwoElementsRectangle,testSetUpToolIsValidWhenReferencingSameClassSpec2-InteractionstestLargePrimesUpTotestASTtestMaxtestDefaultLowerWhisker+testAsIdentitySetWithIdentityEqualsElements testPlainPeektestPrimGreaterThantestOnceBreakBehaviortestDoesNotUnderstandtestAsIntervalnamed: Athens-Text)testCreationByCommaWithCompatibleArgumenttestAfterCriticalWaittestReturnHasNoPeriodtestEmptyBlockZeroArgumentstestWorkingDirPrintStringscale'testCannotChangePepperWhenPasswordIsSettestBlockTemps shallowCopySystem-Finalization-TeststestIfCutDoWithCutAndUncutstestCompileForIntestAddExtensionProtocol!testBestNodeWithValidSimpleMethod testUndefinedClassClassIsDefined+testCanCreateLocatorFromStringWhenDeepChildtestIsFixedLayout!testValidNameAndUndefinedVariabletestBoxGraphHasScalestestAllConnectedShapestestBreakOnAccessTo testNumArgstestTab testCoercionBtestPackageCommentToolIsNotValidWhenNotAPackageOrClassGroupContexttestInsideTriangleWithWithtestNewFromArray#testAddSharedVariableKeepSubclasses testPrinting asInteger FFI-KerneltestChangeAddOnetestNewForClasstestEmptyTemplate testHeighttestNestedInsanitytestMoveToNodeWhenNodeIsNonInlinedAndEmbeddedInNonInlinedBlocktestRemoveClassUsingEnvironment#testSingleLevelListWithItemSpawningZinc-HTTP-Examples9testMethodsOfTheClassShouldNotBeRepeatedInItsSuperclassestestBasicClassBuildingtestsBeginsWithtestHasNonDefaultValue6testKeepChangeWhenMethodModificationWithAbsentBehavior4testRedundantBehaviorCommentChangeWithAbsentBehavior testIfNilSourceFileArray!testClassAdditionWithClassRemoved testPackageOf&testRegisterPackageConflictWithPackage!testDuplicateClassPreserveMethodstestAssociationsSelectaBlock NewTools-Core includes:newColtestValidNameAndUsedVariable indexArraytestWithTilteAndLabels#testMutateByteStringyUsingByteAtPuttestOne*testWhenDeclaringMethodNotReturnAnnotationtestPushConstantTwoBytecode:=testReplaceWithPatternCodetestDenormalizedPrintStringcopyReplaceAll:with:asTokens:testFaultyInstalledMethod nextToLasttestMultiLogScaleInverttestIntersectionsWithPointtestFlagSindarinSettings-System'testNotVisibleMorphIsNotGettingAnExtenttestExampleiVarleftSize flattenOn:testMultiPackageMerge3testBrowseRuleBaselineOfShifttestLazySlotCompiled1testLinesOfCodeSingleLineCommentWithoutWhitespacetestWithoutExtensiontestRelativeToPath3testCannotChangeNumberOfIterationsWhenPasswordIsSet)testNestedLayoutModifiesHeightOfTopLayouttestToLongNewLine2.testSchedulingSamePriorityFirstComeFirstServed!testCopyReplaceAllWith1OccurrenceLtestRemoveClassUnregisterTheClassExtensionMethodsFromTheCorrespondingPackagetestMethodArgument!NewTools-Scopes-Resources-B-Tests factorPoint%testChangeInSharedVariablesIsDetectedtestResetShouldRestartGenerator2testReentrantBlockOldEnvironmentWithBlockArguementtestPackagesDiffToDisplayBistestLeftTopAlignedexampleLiteralByteArrayNewTools-Sindarin-ToolstestPresenterTakesRightHeighttestClassVariablesStringtestWhileFalseReturnsNilnext:putAll:startingAt:testShortStacktestSumUnsignedIntextensionDelimiteraStringtestAxisLabelsAndTitletestInclusionForFloat?testHeuristicBuilderForTwoHeuristicSecondWrapperWrapsNonWrappertestResolvedNameOrNil testNextWordBaselineOfFuzzyMatcher)testSelectAllWithDoubleClickAfterLastLine5testMergingTwoStylesWithASameClassHasClassInBothSidestestContainsPointInRTreetestCodePointEncodingDecodingtestAnnotationConstexprASTtestDiffWithLinestestNameAndArgumentstestWithIndexCollect testRotatedBy#testLiteralReturnsAlwaysSameLiteralisEmptytestPrintString_Empty testNegated6testChangingSlotCallsInitializeSlotOnInstanceMigration Text-TeststestPrimNextPut testReturnToptestBeforeIfAbsent Text-EditiontestSigntestGetPharoVersiontestComparisonWithCopytestUsingConstJustInSameMethod at:at:put:tokentestInstanceCreationtestSmalltalkAsStringTool-DependencyAnalyser-TeststestSemaphoreTimeout+testTruncatedToSizeResultHasCorrectElementsseparatorBlockfindBinary:ifNone:testallSuperclassesIncludingtestBecomeForwardIdentityHash.testClassDefFromLegacyStringHasPackageNameNode"testExtraIndentationWhenMultiline2testUsesUndeclaredstestKeywordOnMultipleLine4;testMoveToNodeKeepsSameStateAndPushesCorrectElementsOnStack(testTerminationShouldProceedEnsureBlocks testSimpletestServiceRunsAfterStarttestTimesRepeatExecutesBlocktestLabelsTopPosition;testClassCommentToolIsNotValidWhenReferencingDifferentClass(testCollectionWithSingleElementReturnsIt-testButtonDownClickShouldModifiedPreviewFinal$testRemoveAllTextPresenterDecoratorstest0TSizeTest saturationtestCopyAfterEmptytestIsInternal detectMin: foundIndextestMicInputfilePathErrortestEnvironmentOfOrganizationtestVerticalAttachPointtestNodeForContexttestCyclesWithch testHasOptiontestWatchVariableReadsInClassSystem-UtilitiestestCharacterizationtestRejectNoRejecttestLongSingleArgumenttestAlphaCompositing2testUnknownProcesses copyEmptytestHttpRecognizedtestEnableDisabledHalt testLinksDotestBasicProxyWritableDrTests-RottenGreenTestsFinder)testTempNamedPutShouldReturnAssignedValue&testExtensionClassesWithCompiledMethodtestPrintShowingDecimalPlaces3 Shout-Testsright testToLongNewLineWithSpaceBefore*testConfidencePercentageIsCorrectlyChanged padWithZeroes(testAccessingBlockArgumentOptimizedBlocktestAllSelectorsAbove(testCompletionWithNoResultsShouldBeAtEndstartsWithDigittestAllButFirstDotestGpsExample1(testSixtyFourBitRegisterAdditionOverflowtestMutateIVObjecttestReadAllLargerBuffer+testClassRepackagedNotFiredAtAClassAddition testProtocolsNewTools-DebuggerNtestReplaceTokenWithCaretBeforeEndOfTextWithSpecialCharacterReplacesEntireWord*testDynamicLiteralArrayIsNotInLiteralFrametestWithoutClassSlotsMetacello-TestsMCCoretestComputeBandwidth to:by:do:testBackwardCompatibility4 wordBefore:HermestestCycleAlreadyFoundtestOpeningBrowserCursortestFoldersOnlyasOrderedDictionary4testArrayBindingsWithUppercaseNameDoOverwriteGlobalsselectEveryFirsttestBinsCollection3testWordsAwareIteratorFiltersByASequenceOfCamelCase testPrimValue"test0FixtureRequirementsOfTAddTest,testSystemPackageIsAnsweredWithLoadedPackagetestCmdCtrlLeft localSeconds!testDTTestCoverageResultHas2Nodes test22addAlltest0FixtureConverAsSortedTesttestInBlockTempShadowing#testTerminationDuringNestedUnwindR12testInferUndefinedInstanceVariableUsedInInitialize testPassingByReferenceAStructInC testParenttestPackageEnvironmentfromCharacter:testAddIconToTheme$testStepThroughInAMethodWithoutError$testUndeclareSlotFixWhenSlotIsLoaded)testRelativeFromStringNormalizationParenttestChainBehaviorRemoveBehaviortestSumUnsignedChar(testConvertingWithoutExistingBasisObject/testFutureIsFinishedIfFailureWasAlreadyDeployedtestModifiedReturnFromClasstestSqrttestSteppingReturnSelfMethodRing-RuntimeSupporttestFullAlphabet"testMatchingTableContainsMatchings(testThirtyTwoBitRegisterAdditionOverflowtestRootParent runningMax:#testClassWithSuperclassNameAsStringtestCompileWithNilClasstestCreationByCommanilBlocktestSumUnsignedInt32 testScopeTo swap:with:testAreEmptyForUnusedAnnotationtestForMillisecondstestIsEmptyOrNiltestWithEdgeAndhighlightable testDegreeSintestKeywordFormatReceiver3testPrintOnDelimiterBtestBuildPresentationWithDoesNotUndertandShouldReturnCodePresentertestComposeStackText2testMakeDependentPackagesDifferentOnDifferentGraphtestObjectAllSubclasses;testRenameClassUpdateOrganizerClassExtendingPackagesMappingtestIfNilIfNotNil0ArgyyyymmddSpec2-CommonWidgets!testPackageNamedWithDifferentCasetestNewWindowShouldBeSavetestSwitchClassSlotAndMigrate testFirstPageinstructionStream#testBlockArgumentIsArgumentVariable testIfAbsenttestRemoveMethodAnnounceRemoval bytesCounttestForgettingAnnotation!testAnchorReferenceWithoutClosuretestChildOfReferenceKernel-CodeModel-TeststestTraceForDisabledHalttestEndClosesCompletionContext+testSubscribeBlockWithoutParametersIsCalled#testLookingHistoryQueryShowsResultstestDoesntContainReferencePathtestWidenOnBracketskeys nanoSecondsat:incrementBy:testTwoSingleParagraphs KeyNameTable0testPrintOnBlockDefinedInMethodWithoutSourceCode Roassal-CharttestUTF8ReadFaultyInput testConsumedFetcherShouldBeAtEndDtestInsettingLargerThanRectangleExtentShouldNotProduceNegativeExtentSystem-Hashing-TeststestOddCollectionSizetestFilterMatchingtestSuperSendWith1testFalseIfFalseEvaluatesBlockWithTempInsideBlock!testFourBackQuotesOnMultipleLines rgbTriplet testStacktestWidenOnEndOfBlock testBmp16BittestEnsureNoSpace testContinuetestSimpleColumnWithWidth badSemantictestAssignment%testCopyForBehaviorDefinitionForClasstestTwoSpaceIndentsnumberOfCombinationsTaken:testAsLargerPowerOfTwoLimitedWriteStream testSingleLevelList2WithNoIndenttestChildDirectories ClipboardtestClassSideExamples ByteArray0testCopyForBehaviorDefinitionForClassDescriptiontestRaisedTo02/Calypso-SystemPlugins-Deprecation-Queries-TeststestPackagesChanged5testFromThreeMethodsWhenImplementorsCacheShouldBeUsedtestSuperiorOrEqualsWithFloat testEscape#testTraitUsersAfterMetaclassReshapetestPackageOrganizer slowFactorialtestSimultaneousModification%testEnvironmentWithBrokenNestedScripttestExpandedProtoObjecttestUsingMethodsFFItestEven+testButtonUpClickShouldModifiedPreviewFinalBaselineOfTaskItworld6testClassAdditionWithMetaclassInstanceVariablesChangedtestExternalLinkWithItalictestNoUtilsMethodstestProtocolsForAllMethodstestValuesInBlocktestTokensInAscii testMetaclasstestDrawingWayOutsidetestInitialActivationsort asDateAndTimeNewTools-RewriterTools-Backend$testLiteralsDoesNotContainMethodName>testMoveToNodeRaisesErrorWhenNodeIsNotIdenticalToANodeInMethod testTransfers-testBlockParameterWhenTheLineWillNotBeTooLong,&testRehashDoesNotTransformAssociationstestStreamContentsSized&testSubstringFilterReturnsValidResults testCopyUpToFormCanvas-Tests!testAddInstVarNamedClassInterface"testProtocolRemovalOfTraitProtocoltestNewTraitExlusiontestComplexDefinition$testCopyReplaceAllWithManyOccurrence-testDynamicVariableAccessFromDifferentProcess>testPushDownMethodDriverWhenAbstractClassExpectBreakingChangesRoassal-InteractionRefactoring-Critics%testFamilyListCorrectAtInitializationtestEnvironmentWithNamespacetestNestedStructSizetestSelectNonexistingDirectory Math-Operations-Extensions-TeststestNoChangeOfMetaclassDetectedtestAddClassSlotAndMigratetestBuildArrayHeuristicSystem-CommandLine-TextSupport'testCanCreateBitBucketRepositoryFromUrlLocaleNewTools-Playground(testClassAdditionWithClassAlreadyRemovedtestResponsibilityEvaltestClassSlotstestNBitAndNNegatedEqualsNtestTentestExampleWhileWithTemptestOpeningDelimiter testRemoveAttestSyntaxError,testPopularStringDoesReturnOnlyTwentyResults removeAlltestExpandRectangledictAthens-SVG-PathConvertertestSumSignedInt32testJpegWriteReadInMemorytestSumUpToLimit1)testBeHomogeneousWorksWhenExpandingWindowclose r:g:b:range:crtestLoadMissingNode6testChangeInInputSelectorShouldChangePreviewLabelFinal testFalseAndAnythingReturnsFalsetestReverseLinksDotestMoveClassToTagName"Tool-DependencyAnalyser-Tests-DataUnix64.testDontKeepBlockInMessage3 testEqualtestGroupedUndo2testExportAMethodWithLangTagtestRegisterClearRedocloseTo:precision: testComparisonWhenPrimitiveFails!Refactoring-Transformations-Tests UIManagertestAllInstVarNameson:limit:limitBlock:6testDoesNotApplyForMethodNodeInContextWithNoSuperclassreplaceFrom:to:with:testCreationFromAnotherVariabletestLiteralIsInLiteralFrameCtestIsAffectedByChangeOfNotAbstractMethodWhichImplementsAbstractOne testExtension atAll:putAll:exampleLiteralFloattestClassRemoval aSubstringtestResponsibilityupTo:testUTF32EncoderExampleFromD100 CPUWatchertestWhiskerLinesFormatSUnit-UItestSpawingNewParagraphTool-DependencyAnalyser-UItestSimplePasstestIdentityIncludestestSplitStringOnBlocktestRemovedPackagesIncludes:testMultiplicationWithNonScaledDecimalDoesNotGainPrecisionnext:)testExampleTempNamedTempVectorNestedBlock5testTraitCompositionMethodsArePackagedWithTheirTraitstestModelsSize otherPoint)testRemoveProtocolIfEmptyWithRealProtocolBaselineOfRoassalLayoutstestMaxLengthTruncatesTexttestIncludesKeyLocalyDefinedtestChainBehaviorResetChaintest0FixtureCloneTest*testClassDefFromLegacyStringHasSharedSlotsisClosePunctuation:,testResetFilterShouldRetrievePreviousResults testWithRB6 testCopyEmpty Random-Core-testUnhandledExceptionShouldAllowToCatchError@testWhenAddingBookmarkOnDefaultBookmarksShouldBeAddToAllInstancetestMedianForEvenSizeCollectiontestCompletionOnBinary!testParagraphEnvironmentParagraph.testNotSelectsAbstractMethodWhichIsImplementedtestPngDecodingColors16testPrintString_onlyParamstestSlotsImplicitEnvironment testAftertestRepositoryFallbacktestRedundantProtocolRemovalreverseWithIndexDo:newDay:month:year: isInteger-testSingleLevelListWithStrangelyNumberedItemstestDontKeepBlockInMessage2testReadInContextCleantestComposeResultTitle testAsPackage%testNotIncludeInstancesWithoutContexttestPrepareResultForExecutiontestIfNotNilDo startSearchtestComparisonOfFunctions3testCaretInTheEndOfSecondWordHasSecondWordUpToCaret0testAssociationAtNonexistantKeyExecutesFailBlocktestAddBeforeIndextestBasedOnEmptyBasistestSelfEvaluatingComplexCase#testTerminationDuringNestedUnwindB2 booleanAt:testYScaleIsCorrecttestHeaderLevel4WithBold testDotParentRenrakutestPriorityAfterStart)testSearchForRegexpStartWithCaseSensitivetestEnsureDirectory testNextPuttestRelativePrintString testFindFirsttestMorphicPopuptestIfNilIfNotNil0ArgAsVartestCreateFromString+testAnalogousCodeToTakesSelectorIntoAccount)testDefaultCompletionIsNilIfNoGlobalClasstestIsNotDirectoryBaselineOfDependencyAnalyzertestRejectEmptytestPrimeFactorstestPackageRenametestSetMovieDirectorInvalidtestOneSpaceIndenttestPrintStringAllformatterClasstest0FixtureIncludeTesttestExpandedOnClassWithoutTagtestProtocolAdditiontestHasDirectoriestestReplaceWithSpacestestDecodingErrors testFileReferenceExtensionMethodtestEqualBlockEqualitytestImportStringtestCommentStamptestAssignmentFormatVariable!testNotSelectsNotOverriddenMethodtestJoinUsingLastOnArraytestMigrateSlotWithInitializetestUnclosedStriketestExtensionMethodsForClassfromRgbTriplet:testMultiLineMessagesClassSide testVariableDefintionScopeUpdate)Calypso-SystemPlugins-Deprecation-Queries[testShadowPseudoVariable%Announcements-Core testIsHealthy%testEscapeAsLastCharacterDoesNotBreaktestPushReceiverBytecodetestSimpleTable testFullName FileLocator testCanBeQueriedForConcreteClassMicrodown-RichTextPresenter-testConvertingToReducedScopeByExtraClassScope8testComparisonOfSameQueriesWithDifferentRequestedContenttestBuildSequenceHeuristicnexnextsplitOn:indicesDo:testSequenceIfNotEmpty pairsCollect: testTraditionalBinaryPrecedence3!testNotSelectsNotDeprecatedMethod#NewTools-Debugger-Breakpoints-ToolstestUnequalSize testEmptyexpandMacrosWith:with:with:testAdoptQuery ColorPickertestAnchorMarkupInsideLinetestOneNewLinesAfterSignature;testNormalProcessWithArgsCompletionWithLeftEffectiveProcesstestLinesOfCodeSimpleCase!testMoveUpInStackFromFirstElementtestContinuationExample2BtestAcceptEntryLogsAverageTypedCharactersDoesNotAffectOtherIndexesrangetestNewLineAfterTemporariestestBackwardCompatibility(testMakeDependentPackagesDiffOnSameGraphtestAsSortFunctiontestSaveOneValuetestSintestSizeLongLong!testMaintainingSelectionsOnUpdatetest5#testOpenSpotterRefreshesPreviewOnce/testFutureFlatCollectFailsOnMappedFutureFailuretestInheritsFromUnresolved/testUnhandledExceptionShouldAllowToCatchWarning!Calypso-SystemPlugins-FFI-BrowsertestVersionIsCompatible(testAtIfPresentWithGarbageCollectedValuetestEqualityRelativeVsAbsoluteCollections-Arithmetic testAscendingtestFocusRotationForward2testMoveClassInPackageWithExtensionsOnClassAndBack!testPushTemporaryVariableBytecodeaccum testFractionAsFloatWithUnderflow&testTimesRepeatWithCalculatedArgumentstestBreakpointOnTempReadstestProtoObjecttestShiftOneLeftThenRighttestLocalModifyRemoteRemovetestRemoveStaleValuesSUnit-MockObjects-TeststestFluidConfiguration#testAdd3BoxPlotsReturnsClusterCharttestAllowInclusionOfNils&testRetainBlankLinesBetweenStatements3Spec2-Code-TeststestAllButLast allButLast:removeAllFoundIn:,testMetaSuperclassShouldUseTheSuperclassNametestPrintPaddedWithSpec2-Code-MorphictestCacheDectivation`testMoveToNodeWhenNodeIsInBlockThatCreatesContextAndBlockCreationIsFirstBytecodeInFirstStatementtestExampleToDoOutsideTemp testUTF16Back testPragmatestNoPeriodInMethodSignaturetestShouldShowCellLabelsIsTruenex testNextLinetestSystemPackage rectanglesseltest4BitColors3testNonDefaultSettingValueIsIncludedInTheStoredFile+testWorkerProcessDiesAfterWorkerIsCollectedBaselineOfShoutunion:testSearchInTheWholeHierarchy allButFirst:targetShift-ClassBuilder-TeststestPremultiply CharacterGraphics-PrimitivestestGrowWithNil5testBasicNewMethodNeedsToBeInInstanceCreationProtocoltestForbiddenProcessestestIndexOfKey testSwapBasicoptionInlineWhiletestFloatCenterExtenttestBlockSourceNodetestUndefinedVariabletestDoWithoutNoDuplicatestestAddingHaltToMethodtestAdoptInstance)testFigureWithBracketInsteadOfParenthesestestAdapterExists testString asMutatortestSelectorEnvironmenttestExtractSetupExample2!testAndWithLeftTrueEvaluatesRight testQuotetestSplitJoinBoundaryCasestest16BitReversedtestExampleWhileNoModificationtestIsRootInEnvironment test13removetestBuildMethodtestLabeledOuterShapes03testallMethodsReadingSlottestNotSelectsNotFFIMethodformat:(testPerformCanExecutelongMethodWithTempstestSimpleEnsuretestBordersColortestNthRootExactnesstestReplaceInstr testCreateTheRightFootnoteObjecttestFormatArgumenttestReplacePresenter,testFutureOnDoFailsOnFailingExceptionHandlertestSignedLongLong:testWindowShouldBeSaveBeforeShutDownSaveRootButHaveNotRoottestPackageNamedIfAbsenttestUnsignedShort6testCanCreateFiletreeRepositoryFromUrlWithRelativePathtestSearchPath1testSplitJoinStringOnCharsubclassResponsibilityjoinTo: testZero1(testDefinedClassesInstanceAndMetaSideAPI.testNonOpenPresenterDoesNotRaiseDisplayedEventz0x testAtUpdate)testInstanceCreationMajorMinorSuffixBuild testRecompiletestThreeHitSameOne milliSecondstestIsLowercasetestIsPowerOfTwotestCopyEquals+"testDontFormatCommentWithStatementtestMicInputfilePathasStringOn:delimiter:last:testKnownEncodingIdentifierstestCompileAll&testSerializationWithFuelMaintainProxycontentsGeometry-TeststestBasicWritabletestIncludesAssociationNoValuetestSenderOfASelectorInBlocktestSinglePragmatestLazyClassVarCompiledtestHasMagicNumbernonEmptyString isLowercase$testRefreshCacheWithoutScanAllSystemtestScaleLinearColorsasPath$testCompileWithProductionEnvironment,testClassifyUnderExtensionFromTheSamePackage newElementtestExamplePushArrayCollections-Native-TeststestNoUncategorizedMethodsNtestReplaceTokenWithCaretInTheMiddleOfWordWithFollowingWordsReplacesEntireWord1testMoveToNodeKeepsStackWhenAimedNodeIsMethodNodetestBreakpointEnabled testAsStringOnDelimiterLastEmptykeytestDefaultFontMonticelloMocksPtestWhenWeHaveTheRubTextFieldAreaInsideOtherMorphHasToHonorTheExtentAssignedToIt testisUsed!testMissingExpressionAfterAReturn testNewMethodtestLeftRotatedtestMicrodownSpelledCorrectdo:testEmbeddedUnorderedotherCollectiontestInlineBlockCollectionSD1testParseShitInMiddleURLtestLayoutEquals hsvSaturationtestReplaceWithSpaces2,testExampleWhileModificationBeforeNotInlinedtestFileOutSingleClassAdditiontestRawSpec2-Code-Diff testExampleSimpleBlockLocalWhile+testThoroughWhichMethodsReferToSpecialIndextestAsAbsolutecurrentRoassal-FlameGraph arrayTypeidentityIndexOf: testFourBackQuotesWithTextAroundcdtestSixtyFourBitRegisterByteAtisDecimalDigit(testSelf_conditionBlockProducerMethodASTtestOn4testPerformInSuperclassCanExecutelongMethodWithTempsMetacello-CypresstestIfNotNilIfNil0Arg Spec2-CodetestStreamContentspiecesCutWhere:do: testFromError testHasChangedForPackageItemDifftestDoublePragma testFloorLog2 testClearFlag4testMethodCategorizedInSameExtensionDoesNotRepackage dayOfMonthtestAddProtocolAnnouncement2testAllDependentPackages"testMakeRelativeFrom2RelativePathstestNestedComments8testNotAffectedByChangeOfAbstractMethodOfNotRelatedClass testBinSizetestHasParameterstestRemoveAllFoundIntestUndeclaredtest07addAftertestCollectThenSelectLocal testRounding hexStringtestDuplicateClassPreserveSlotstestKeywordOnMultipleLine12testPrintDoesNotUnderstandtestWidenOnAssignmenttestLastIndexOfDuplicatetestIndexesArray!testOnceBreakpointDisableAfterHitRoassal-Spec-MorphictestWikipedia1'testTraitDefinitionNodeIsTraitAliasNodedetect:ifFound:ifNone:$testMinimumNegativeIntegerArithmeticcharactersExactlyMatching:testPngWriteReadInMemoryallButFirstDo:remove:ifAbsent:testIndexOfKeyIfAbsenttestWeakClassIsWeak withIndexDo:testToDoWithTempOutsideBlocktestAsLowercaseBasicAsciiRangeseventh!testFutureCollectSuccessOnSuccesstestAnchorReferencetestModelWithCollectedDatatestRemoveManytestCompileSymbolPtestWhenClickAnAfterHistoryButtonIfThereAreHistoryShouldComeBackTheGoodDirectory=testCompletionCompositionNextManyShouldStopAfterEndOfElements-testFirstBcOffsetForNodeWhenMappedPcsAreEmptyMtestTraitExplicitRequirementMethodsMustBeImplementedInTheClassOrInASuperclass/testthisContext_conditionBlockProducerMethodASTtestPeriodAtEndOfMethodtestSmartCharactersShouldClosetestAsAbsoluteIdentitytestDetectIfNone testSlotNamed OSEnvironmentCommander2-TestsmaxVal testNormalizetestWithWithWithWith*testDefaultCompletionEngineUsesGlobalClasstestSuperclass testMainPagetestOldPharoConfiguration$testSequenceOfClassAndMethodAddition-testCaseSensitiveFilterIsNotNarrowThanNegatedtestZeroValues testChildrenThreadedFFI-UFFI-Overrides'testSelectorsInProtocolWithRealProtocoltestCopyEmptyMethodtestSizeInMemoryLargeInstancestestOneGWordAllocationkwdtestEncompassingRectangletestMethod2forMocktestEqualsSensitivitytestAddExtensionDependenciestestOneElementm newLastIndextallytestPassingLongStructByCopyInCtestDoubleWordClasstestOrdinalScale'testArrayEvaluateWithBindingsReadGlobalinitialIntegerOrNiltestIfNotNil1ArgWithStatement*testKeyAtNonexistantValueExecutesFailBlocktestRegisteredPackages testFileNamedtestContainsReferencetestConstructiontestDoubleClickTimeoutFromMorphtestAddIntructionsh:s:v:testCustomFocusOrderzippedtestBearingToPoint+testEqualMethodNeedsToBeInComparingProtocol3testDuplicatedInstanceVariableInSuperclassMetaclass)testSindarinSessionAsSindarinDebugSession toLowercase:testKeywordOnTheSameLine+testSearchingInvalidTextDoesNotReturnResultSpec2-Commander2.testSelectsAbstractMethodWhichIsNotImplementedtestAnnotationBasic#testAsIdentitySetWithEqualsElements!testNextVersionAlphabeticFilenamekk compare:with:+testFindStClassProcessorTestWithPartialText,testEnvironmentWithNoEmptyBeforeTheEndMarker%testEnsurePackageManagesDifferentCase#test0FixtureCopyWithReplacementTest!testCreateTraitWithoutOtherTraitstestRemoveOneElementtestRevertingRedefinedInstance$testDifferenceWithSeparateCollection isAllDigits testWithToponPreviousMonthtestSingleLevelList25testFillingWithTraitsOfClassWhichIsMissingInGivenListtestExpressionReferencingSelfpharoDocCommentNodes'testMethodAdditionWithSourceCodeChangedtestBreadthFirsttestNoExtraSpaceBetweenValue,testAnnotatedBlockOnMultipleLinesParserLogic)testSettingCompletionFromEditorToTextAreatestKeyAtIdentityValue,testButtonUpClickShouldModifiedArgumentsList>>>!testNoChangeInSharedPoolsDetected$testSimpleEnsureTestWithNotification=testWantsInitializationSkipInitializeSlotIfAlreadyInHierarchytestClassAdded!testPrintSeparatedByEverySignedOn testDoWithoutfoundNewTools-Finder*testBlockWithArgAndEnclosedBlockSourceNodetestPrioritySetAfterStart&Calypso-SystemTools-QueryBrowser-TeststestPrimDivide&testHasReadonlyRequiredResultByDefaulttestExampleBlockExternalArgtestDisplayEmptySlots$testLineBetweenTemporariesAndCommenttestANDtestUpToAllTwicetestCollectAsWithParenthesispositiveNumberString"testOpenAllOnNonExistantFontFamily testBreakLink$testBuildVariableUndeclaredHeuristictestDependencyOrderZinc-Character-Encoding-Tests6testRestoredBrowserInstanceWithExpectedFlatQueryResult dayOfWeektestNoExtraSpaceAroundBlock testBitLogic=testExplicitRequirementMethodsShouldBeImplementedInTheirUsers#testConvertingWithNewCompositeScopetestPrimDoWithtestIndexOfStartingAtIfAbsenttestMathInlinettestBasicWithCallbackstestIsAListStartestCurrentLineLength/testBlockWithThreeArgumentReturnsLastExpressiontestDontGrowWhenUnecessary&testChevronIsWorkingOnClassSideOnEmptytestUpperPoint!testFigureWithParametersWithBlank testBreakpointOnClassVarAccessestestNilIfNilReturnsBlockValue#testExampleToDoInsideTempNotInlinedtestNoRemoteBlockArgumenttestVariableByteClassIsBytesreduce:)testFourBackQuotesOnMultipleLinesWithText!testFillingWithClassWithoutTraits testTagOftestRedundantClassRemoval"testNextManyShouldReturnCollection testComponent*testExtensionClassWithSpaceAndArgIsCreatedBaselineOfManifestCalypso-SystemTools-FullBrowsertestCananonicalizee'testInitialCompletionEngineHasNoContexttestTagsForMethodsRemovalspeciesForTransformtestIsFirstElementNiltestInlineBlockCollectionLR2!testDoNotStoreIfHomeDoesNotExistsSystemCommands-VariableCommandstest1 testResolvedecimalDigitLength#testExamplePrimitiveErrorCodeModuletestInstallFromFile Athens-CoretestProperTestProtocolIsUsed.testTrueIfTrueEvaluateBlockWithTempInsideBlock test02addLasttestBasicStreamtestCopySignTotestSimpleSlots&testDemoteToRPackageNamedWithExtensionpermutationsStartingAt:do: testWithWidth testEquals2testGetMedianOfOddDatasetSizetestTagsForClassesCollection@testThatThereAreNoSelectorsRemainingThatAreSentButNotImplemented testIsAcuteOtestAddMethodInExtensionCategoryNotRespectingCaseAddMethodToTheExtendingPackagetestHasNOCaptionFonts-Infrastructure asLowercase testTrait'testSmartCharacterWithEventAndSelectionmergeSortFrom:to:src:dst:by:;testNewLineWhenSelectorAndBeginingOfParametersWillBeTooLongargmax)testGetRightLocatorWhenCreatingFromStringtestRemoveMethodWithBreakpointtestIsImmediateObject testReentrantBlockOldEnvironmenttestSingleBlockWithArguments currentIndextestSkipUpToIgnoresJumps*testGoodPathClassIsUnusedEmptyNoSubclasses testDeleteAlltestFullRegistration2testButtonUpClickShouldSelectionIndexBeDecrementedtestTakeKeyboardFocustestIsExecutedFromMultipleScopetestTranscriptDebugPoint'testBeginsWithFilterReturnsValidResultsRoassal-Spec-Tests testclassThatDefinesInstVarNamedtestAllCommandstestRejectThenDo,testCompileMethodAnnounceAdditionOnlyInTrait!testMutateObjectInstVarUsingAtPuttestObjectCentricObjectAPItestGrowPreservesElements9testInsettingByRectangleShouldNotProduceNegativeRectangle-testNextNextShouldReturnSecondExpectedElementtestModifyClassTraitCompositionSystem-Localization!testRealActiveProcessFromProcesor(testAllDependentPackagesFromSeenPackagestestCartesianProductDo testIllegaltestRawWitoutClosure UUIDGeneratorRoassal-Sunburst!testStoreAndLoadAllSystemSettingsSpec2-Code-Diff-Tests7testCreateNewPackageWithConflictRaisesConflictException#test0FixtureDictionaryElementAccess testReadTemporaryVariablesMethodtestAddMovieDirectorInvalid testOpenOncetestExampleBlockNestedtestIsEmptyLayouttest2BitColors testBlue16testThreadSafevalueWithArguments:$testOptimizedBlockWriteInNestedBlocktestIdentityIndexOfDuplicate(Calypso-SystemPlugins-Monticello-BrowsertestNegativeZeroSigntestHeaderLongElementstestLowerLimitsWithCalypso-BrowsercopytestSiblingBlocksTempShadowing$testIsNotSuspendedWhenItIsTerminated4testFutureFirstCompleteOfSuccessIfFirstSuccessFaster&testCreateTraitUsingAnotherSingleTraittestBigReceiverInexactNthRoottestDrawingWayOutside3testInstanceVariablesString"testMouseEnterEventIsNotDuplicated testPackage Network-MIMEtestHasDefaultClassLocalScopetestIsAboutToInstantiateClasstestReplacementWithMaxLengthtestBehaviorWithOneMethodtestFillingWithTraitAndItsUserstest11removeLast2testPackageOfNonExtensionMethodIsPackageOfTheTraitsameAs:testAddTestSlot%testIsNotTerminatedWhenItIsNotStartedtestClassWithClassSlots RectangletestCompletiontestExampleTwoIvarSlotstestPairsCollecttestNoPackagesOverride Epicea-TeststestHasRequiredResultByDefault testTooLongBlockBodyWithArgumenttestAstestPrintOnBaseShowRadixtestPushThisContextisConnectorPunctuation:testExpandedPointtestIfNotNil1ArgCollections-Support-TestssplitOn:testRootCanConsumeLinetestTrueIfFalseReturnsNil addNoSort:testCriticalIfErrortestCopyUpToWithDuplicatetestAllButLastNElements testDocumentIsRenderedFromString"testConstructedSelectorEnvironmenttestStepIntoReturnSelfMethod testHasIconpolynomialEval:testReadsField5testWritingStoredSettingNodesShouldNotCloseFileStreamCalypso-NavigationModel-TestsBaselineOfDisplaytestAddNewProtocolDoesNothing+testFindStClassProcessorTestAfterAddingTesttestVariableSubclass$testShouldAcceptIntegerWithoutMinMaxtestIdenticalModificationMetacello-GitHub flattenedBaselineOfClassAnnotation allButLastDo:testIsExecutedFromSingleScopetestRechainPreserveList0Calypso-SystemQueries-Tests-P3WithSubclassFromP2^SUnit-MockObjects'MonticelloFileTree-FileSystem-UtilitiestestByteStringtestInstallSourceFilesFail?testIteratorOnACollectionWithTwoCollectReturnsCorrectFirstValuesY-testNewLineBeforeStatementsWhenMultilineBlock testBasicNew;testRefersToLiteralsReturnsTrueWhenLiteralIsArrayOfLiteralstestHasBindingThatBeginsWithtestAssignmentValuetestUnknownSlot Roassal-SVGtestParseBogus storeOn:base:testTantest3testRemoveOutgoingDependenciestestMonospaceWrappedElements%testSliderMouseDownDoesNotModifyValuemmddyyyytestUnaryFormatReceiver2testCompletionOnNoWord sumNumbers:SmallDictionary split:do:testBackOnPosition1match:testModifyTraitCompositiontestSchedulerTermination+testValueWithArgumentsWithOrderedCollectionBtestNotAffectedByChangeOfSubclassMethodWhichNotOverridesSuperclassCtestCollectionWithSingleManyElementsReturnsTheRequestedInCollection testTypes brightnesstestDraggingOnNotDraggableseptestPrimitiveNamedErrorCode2testCompileBinarytestHasFilesTypedtestComparison+testNewScopeFromAPackageWithExtendedClasses testSwapWithtestCheckIfEmptytestAtAtIfAbsent grad:x:y:z:.testClassDefinitionToolIsValidWhenClassContext testLabeled03testSymbolicLinktestKeywordNoExtraSpacesBefore roundDownTo:testReadFromWithError%testDifferenceWithNonNullIntersection*testTwoDebugPointsOnSameTargetBothActivatesort:testSelectMethodstestCombinationsTakentestActiveHometestIfTrueIfFalse testIsNotNiltestDetectSequencedtestParseEmpty*testFutureCollectFailsOnFailingMapFunctiontestDefaultImagetestResumableOuter Tool-BasetestExampleTwoSlotWithStatetestUnknownSlotstestAllAvailablePostOrder testRename'testNotEnvironmentWithClassEnvironmentsreadtestFormatCommentWithStatementifFalse: testSlots4testTwoRectanglesWithAnAdjascentCornerDoNotIntersectKernel-CodeModelresulttestOpenPresenterIsDisplayedtestExpressionZeroMonticelloTonel-Tests)testEqualSignOfIdenticalCollectionObjects testSpaceFill testAngle3testMoveToNodeWhenFromNonInlinedBlockToOuterContextSpec2-CommandsBaselineOfCommandertestVersionsForMethod includesAny:testSelectNone passArrayRefactoring-UI testWithEdgedayNameindexOf: testDividetestJumpAheadToIftestExactNthRootraisedToInteger:#testMakeReslolvedResolvesEverythingtestCountingAfterResettestIsClassSideRing-Monticello-TeststestThreeRemoveLast testSpace testBasic23testBehaviorClassClassDescriptionMetaclassHierarchytestMergeIntoImageWithNoChanges testAverageX0testImplicitEnvironmentContentForClassDefinition Monticello-BackwardCompatibility testRemoveAll testAccessingTempsVectorInBlock2Collections-Weak&testRemoveUndefinedClassShouldRemoveIttestGlob(testContextSelectorForNonBuilderSelectorsignalasBittestIntegerAsFloat/testShallowCopyMethodNeedsToBeInCopyingProtocoltest09addAftertestSimpleResume"testFalseOrAnythingReturnsAnythingtestClassifyUnderRoassal-Shapes-Tests#testMissingArgumentAfterAMessageKeytestEmptyCommentDoesNotAnnouncetestDeclareInstVarnegatedpageUp"testNestedBlocksRemoteInBlockCase1testVariableClassIsVariableremoveAllSuchThat:"testIsTerminatingForcedTermination&testWindowLabelSetAfterPackageCreation testCodeBlocktestIncomingAndOutgoingShapesjoinUsing:last:testFips180Example3testMatchesChanged privateGreentestOriginBasenameSystem-BasicCommandLineHandlertestGrowDoublesCapacityisAllAlphaNumerics SUnit-TeststestResolvingConsistencyUnknowntestNoneSatisfyEmptytestIncludesNiltestChangeTargetInstancetestCreatedClassWithAllElementstestIfNotNil0ArgtestNonCharacterNegativetestAddIntructionsBefore(testInitializeShouldOnlySeeNotHiddenFile3testAcceptEntryLogsAverageTypedCharactersAtPositiontestAreSortedByPriority%testAddLinePlotAndBoxPlotReturnsChart Zodiac-Extra Spec2-Morphic*testRestoredBrowserInstanceWithQueryScopestestPointerCanExtendPointerletestStoreSettingNodeTwice Renraku-Tests removeAt:testValueWithPossibleArgumenttestOverrideStoredCredentialstest1BitReversedtestLiteralVariableClass0testHasEqualElementsOfIdenticalCollectionObjectstestIntersectionsWithSegmenttestLeakingSelectionsOnUpdatetestCompatibilityargtestSignatureNotOnMultipleLines+testMissingPeriodSeparatorBetweenStatementsNewTools-FontChoosertestDefinitiontestGetShapesFromRectangle testAddBefore$testInstanceDefinitionIsInstanceSidetestUpdateMethod8testLocalMethodsOfTheClassShouldNotBeRepeatedInItsTraitstestBulkReadingtestDigitValue#testPoolVariableImplicitEnvironment testUpToEndtestNetworkPathWithParents)testRemovedSelectorsWithMultipleSelectors!testGetQuartilesOfEvenDatasetSizetestDocumentIsRenderedtestComplexSlotsClassuptestCanBeEnumeratedtestCaseSensitive testAdditionFileSystem-Memory testCaseOfor:testIsConnectorPunctuationtestPackageTagRenameWithClasstestResolveabilitytestSubclassInstVartestOpen(testRemovedDependentPackagesIncludesFromtestPcsForNodenumArgstestSelectionStarttestRemoveFirstNElementstestAsCommaStringOnetestChangingHierarchy1testFutureFirstCompleteOfFailsIfSecondFailsFastertestPushConsArray2testAddSameWatchSameNode testPrintOn testPlainNexttestDefaultOrganizer"test32BitOpaqueBlackIsTotallyBlack testOneItemexampleLiteralWideStringtestFourSpaceIndenttestBasicGetWidetestToDoArgument.testConfidenceIntervalMinIsLesserThanQuartile1testSmalltalkSelfEvaluatingtestMissingExpressionminutetestComparisonWithSimilarResult SharedRandomtestKeysasSymbol testIsPrime2copyWithFirst:$testExtensionMethodNotExactlyTheName&testInvalidExternalFunctionDeclarationatWrap: testReadSlot"testDynamicVariableRemovedAfterUse testRawsHandleWellCurlyIfNotLast DebugPointstestLiteralIntegertestLntestSequenceDetectsAtEndtestTwotestAssignTemporaryVariablebadAnnotations'testBreakDebugPointOnClassVariableWrite testSpanRowtestAccessingPackage Clap-ExamplestestBuildMessageHeuristictestContainsPointInCompositewithAll:testMetaDataEatsOtherBlocks NewTools-Fuel(testSmartBackspaceOutsideSmartCharactersanIndexcorner:aFloathighBittestRawsDoesNotHandleWellCurly"testTrueAndAnythingReturnsAnything copyFrom:to:!testRegisteredNumberOfPackageIsOk Roassal-Pieguarded testSetUptestNextOrNilSuchThattestMaxYValueIsUpperLimittestHasNullContextByDefaulttestRaisedToIntegerWithFloats%testRemoveElementReallyRemovesElementtestForSecondstestComparisonWithSimilarScopetestPrimSubtractremove:6testRefersToLiteralsReturnsTrueWhenLiteralIsByteSymboltestCreationOfDefinitions testCreateVariableByteClassNamedtestBordersColorsNtestAddMethodInExtensionCategoryBestMatchingNameAddMethodToTheExtendingPackage,testDynamicLiteralArrayReturnsAlwaysNewArraytrue'testWhileFalseExecutesLeftBlockWithTemptestExampleSimpleBlockReturnfromStringWithComments:NECompletion-TeststestNotTheSametestOccurrencesOfNotIn testRemoveTagBaselineOfPharoBootstrapEndianDetectortestFlatCollect2\testReplaceKeywordTokenWithCaretInTheEndOfWordAfterCaretWithFollowingWordsReplacesEntireWord testYieldtestSumSignedLong testParseLineWithThreeCharacters#testShouldGetUnresolvedDependencies$testObjectCentricBreakpointsForModelisInitialQuote:ifNil:ifNotNil:BaselineOfThreadedFFItestGoodSimulationlowtestIsFormatOthertestPushConstantOneBytecodetestNewLineBeforeFirstKeyword)testSuppressInformUsingStringMatchOptions$System-BasicCommandLineHandler-TeststestPngEncodingColors16 testPrimAddRunArraytestWriteTwicetestIsEvaluating testSetColor-testFutureIsFinishedIfValueWasAlreadyDeployedBtestVariableWordClassWithTraitCreatedShouldntAnnounceClassModifiedtestGrandchildOfReference/testPackageScopeIncludesClassCreatedAPosterioriCollections-Arithmetic-TeststestDoItRequestorShadowasSortedCollection testClassSideBaselineOfMicrodownbasenameWithoutExtension:metaLevelForHierarchyOf:testSpaceAfterCommenttestAddVisitedNodestestTimeoutWithZeroDurationtestByteStringClasstestIsPrivateOther"testSkipUpToNodeStopsOnReturnNodesBaselineOfBaseLibrariestestDoEvaluateAndGo oldSubstring testObjectCentricBreakDebugPointtestFractionAsFloattestNthRootErrorConditions.testBlockWithFourArgumentReturnsLastExpressionminValuetestRelativeFileRecognized;testIteratorOnACollectionReturnsTheFirstValueAndSecondValuetestPlaygroundWidenOnSelfShoutEnlumineurFormatter-TestsColor testStackAtRoassal-Layouts#testLazyClassVarReadReflectiveBlockSystem-Identification-TeststestIntoWorldDeleteOutOfWorldtestClassTraitstestIsEphemeronLayout ZnLogEventexpectedLiteralValue smallSizetestCreateNormalClassSuperClassencoderOpalCompiler-CoreCompression-Tests+testWithRightDoesNotProduceInvalidRectanglefloor2testGettingAllRedefinedInstancesShouldCleanGarbagetestSharedVariablesAsArrayendIndextestAddWithKeyAlreadyInfindString:startingAt:testExpandedPointClasstestDegreeNumbertestAlltestAllNamedFromToSortedUsingMetacello-GitlabtestDefaultWithNoValue!testAllSharedVariablesOwningClass writeStreamtestModifySelectiontestHasPrevioustestLoadNonExistingMicrodown*testRenamePackageWithExtensionsInClassSidetestAnnotationsWithoutClosuretestCompiledMethodClasstestPlus testLastIndexOfIfAbsentDuplicatev234znak:x43:v2testSmallIntegerLayouttestDefinedBehaviorsCollectionZinc-Zodiac-Tests$testAnyOneWhenAllContentsWasGarbagedcull:testReadWeakSlotCompiledtestProtocolNames testAddAlltestAcceptEntryLogsAllSourcestestObjectCentricBreakpointtestRetrievesMethodQuery#testRelativeFromStringNormalization lerp:a:b:after:(testMarshallingByteArrayWillPinTheObjecttestSpaceAroundPeriodtestAllParameters$testRemovedSelectorsWithLiteralArrayRoassal-Shapes(testManifestNamesAccordingToPackageNamestestShortCallouttestDependenciesTo testFlattenedNewTools-Scopes-EditortestMethod3forMocktestUpdateAllSettings,testLocalProcessTaskRunnerRunsInLocalProcesstestNewScopeFromASetOfPackages.testFixedLocatorDataIsOkWithCollectionTooLarge.testMutateObjectInstVarShouldCatchRightFailure isLetter:testBuilderClassName testVerticestestFileOutSingleClassRemoval Generator testCopyAftertestIsParagraphSeparatortestOccurrencesatEndtestAccessesSlottestBreakpointOnClassVarWrites badPositionscharCodetestEnumerateShouldFetchtestKeywordOnMultipleLine2testIncomingConnectionsOf$testCanCreateGitHubRepositoryFromUrl!testEnsureDeleteNonEmptyDirectorytestExampleSupertestNewProcessWith"testRemoveFirstNElementsNotPresenttestAsClassVariableCollectiontestUsingMethodsFindsPoolUsers4testBrowseMethodViaImplementorActuallyBrowseTheClasstestCreateVariableClassNamedtestComputeVerticesSingleLinetestReservedIdentifierstestBreadthFirstSelecttestPushConstantFalseBytecodetestWhenClassHasNoAnnotationstestCopyUpToLastEmptyfindBinaryIndex:do:ifNone:1testSplitBlockLinkWithBracketInsteadOfParentheses4testRenameProtocolAsWithExistingProtocolWithProtocol-testResignalExceptionThatHasBeenSignaledTwicerunnerisPrime&testIsTerminatedAfterManualTerminationtestNext testWithRB10footestUnclosedAnnotation testClosetestLocalRemoveRemoteModifytestExampleSlotWithFluidAPI-testStopRecording testIsNotRoot7testUncorrectJSONMetaDataProducesDictionaryWithContentstestNumberOfSpaces}testExampleBlockExternalNestedprimesUpTo:do:testNotUsedArgumenttestDNU testReadNodes Monticello:testBestNodeForClassVariableSelectionShouldBeClassSlotNode testIsEnabledoptestExtractOneArgNoMinus testAddManysubset)testBlockWithLiteralReturnsLastExpressionobjecttestLocalVariable oldPosition(testSmalltalkVersionEqualsCurrentVersiontestHasCaptiontestParseResetVariablelastCutselectEverySecondtestPropertyWithOddCollatortestShouldQuittestComplexSlotsCascadetestSimpleResolutionNECompletion-MorphictestRechainNilValueBaselineOfMisctestExampleTempNamedPutCopying3keywordsStricttestHasTemporariestestSizeUnsignedIntEnumtestSumSignedInt2testBlockWithASuperSendHasCorrectNumberOfArgumentsBtestWorkerPoolInstancesAreCollectedAfterStartingAndStoppingServicetestWithDoError testPrimAttestOrderedListAPIToAccessTexttestCoordinates)testParentResolutionWithAbsoluteReferencetestDeepLookup asHexString testStdouttestCreateNormalClassWithIVKernel-Tests-WithCompilertestContentsInsideSubFolderisInsideRectangle:/testInjectingExceptionHandlerIntoRunningProcess groupByRuns:testLazySlotReadReflectiveBlock/testProtocolsForAllMethodsForClassWithoutTraitstestAllTempAccessInstructions1testLogLocatorNumberOfTicksIsOkWithReversedDomainTool-DependencyAnalyser-UI-Tab EpMonitortestKeywordOnMultipleLine9ClassAnnotation-Tests FooBarBaztestSignedInt64 testSlotNodesHaveParentReference isKindOf:errorEmptyCollection$Calypso-SystemPlugins-Critic-Queries2testSupplyAnswerOfFillInTheBlankUsingDefaultAnswerftestSeenPackagestestBigArrayWithExtraSpacestestRaisedToErrorConditionstestAddDuplicateItem1 testCreateClassWithClassVariabletestNodeDistancesFromtestGrow1testLogLocatorNumberOfTicksIsOkStartingAtNegativetestGetLowerLimit%testClassModificationWithClassRemoved+testClassOrTraitNamedReturnsClassForClasses#testDefaultConfidencePercentageIs95#testDeleteAllWindowToRightOfAWindow testBehaviornewnewShouldNotCrashstoreStringBase:Collections-Sequenceable-Tests totalLengthtestNewPackageCollections-AbstracttestAsStringOnDelimiterEmptytestAddAndLoadtestDeleteHistorytestShiftDownShortStacktestExtractDatasetFromValueDtestMethodDefinitionWithEmptyProtocolIsClassifiedAsAsYetUnclassifiedcollect:thenSelect: testGettingAllRedefinedInstances testOptionAttestUnaryNoExtraSpacesAftertestGoogleEncrypted"testMathBlockWithParametersCaption testEqualSigntestWidgetExiststestLabeledOuterShapes01 beforeFirst-testSearchForExactCaseInsensitiveStringSucesstestCopyWithFirstreject:thenDo:testGetMicrodownParsedTexttestAfterIfAbsent newFromArray:isEnclosingMark:)Calypso-SystemTools-OldToolCompatibillity testEvents?testTerminatingBlockedCriticalWhichWasSignalledButNotResumedYetMetacello-BaseSystem-HashingSecondsInMinutetestKeywordOnMultipleLine11testWeakSlotIsWeaktestByteArrayEmptyCommander-Spec2-CompatibilitytestVariableByteSubclass testMathBlock testAsArraytestSeveralArguments testBadBasetestAllSatisfytestIntersectionsWithPolygonHtestReturnExtraSpacesInIndentWhenMultilneWithThreeSpacesAfterCaretSymboltestLocalSelectorstestNewSubclasstestIfExistsIfAbsenttestBoundaryContainsWhichOftestFirstTagWithDelimitertestMessageSelectorassociationClasstestReplaceAllWithtrueAlternativeBlocktestHasLiteraltestNewCommenttestExtendingPackagesOfClasstestBoldItalicAPIToAccessTexttestExampleReturn1plus2!testWorkerRunsAlwaysInSameProcesstestJumpOnAssignmentboolean8AtOffset:!testCreateWithCommentDoesAnnounce rcvrElement#Calypso-SystemPlugins-SUnit-QueriestestWhileModificationAftertestDefinedVariablespairsDo:)Calypso-SystemQueries-Tests-PExtendedByP5testCleanBlockClosuretestEndsWithAnyOftestPossibleVariablesFortestBlockArgument%testHasNonDefaultArguments_nonDefaultextractBlockInTempexponent#testTruncatedToSizeSameAsCollection"testBindingsTableContainsMatchingstestBuilderSuperclass testNewSlottestWidenOnKeywordSelectortestSelectThenCollect Deprecated12 testOrdinalScaleRangeRoundPointstestNoExtraSpaceBetweenValue2Morphic-Widgets-Tree%testDeleteAWindowAndTaskBarActualizedtestForceToPaddingStartWith3testMethodsAccessingPoolVariablesDoNotFindPoolUsers testIsHidden testFiguretestSumUnsignedShort#testCreateClassWithTwoPropertySlotsSystem-ChangestestOneLineMessageClassSide'testBuildVariableClassVariableHeuristic Tool-Finder)testClassCreationShouldAnnounceClassAddedRoassal-Class-ExamplestestAddAllLasttestMutateWideStringUsingAtPuttestTwoSpacesInsideArray!testNoTraditionalBinaryPrecedence testMethodRemovalWithMethodAdded crossProduct:testVmDirectorytestWithCollectErrortestSubstractiontestHasLabelFalsetestInsetRectangle(testChangingPriorityYieldsCurrentProcesssurroundString:withCharacter:,testWindowShouldBeSaveBeforeShutDownSaveRoot+testSetUpToolIsNotValidWhenNotAClassContexttestVisibleAreatestQuotestBasicEnvironmenttestHighlightShapestestReturnCoverageResultSystem-History testSave2testThreeRemoveFirsttestJumpOnSelf"testNestedBlocksRemoteInBlockCase3endsWith:caseSensitive: SUnit-CoretestLasttestExampleTempNamedTempVectortestFloatRounded%testRectanglesWithSameOriginIntersect,testNewBreakpointForVariableInClassForMethodtestWidenOnStringtestBreakOnWrite Spec2-Layout$testIsOfflineTrueAndResourceNotFound testLiteral denominatortestAccessesField"testAssociationAtIfPresentifAbsent testBeLenient testNoPopup testOnErrorDojoinertestNoDeadSubscriptionstestNotEnvironmenttestNotifyDebugPointChangedtestModifyMethodByChangingCodetestLinkItalicAPIToAccessText testSorting testHasPragma testReferenceCodeImport-TraitstestwhenDocumentChangedDotestVisitHttpInputtestOtherDictionaryEquality#testEnvironmentWithAnyNestedElementtestNoRemoteReadNestedBlockstestSelectAllShapesWithCommandAtestBehaviorParentRenamed%testMetaclassTraitImplicitEnvironment$InitializePackagesCommandLineHandler(testLastFilesForExtensionNegativeTesting'testReturnsAsManyWaitsAsSignalsReceived aSubsetSizetestRawsWithBoldSettings-PolymorphtestFirstAndLastLinkBaselineOfNewValueHoldertestComposeTitleText testTAddAll)testFalseIfFalseIfTrueEvaluatesFalseBlocknextPut:PharoDocComment-testOptimizedBlockWrittenAfterClosedOverCase2testCanConsumeLinetestMethodWithMessageArgument&testProperAddingRemovingProtocolIsUsed testWithRB9 testHasNextfoo:bar:&testAccessingMultipleVariablesInVector"testBoxGraphHasStatisticalMeasures(testWhenCanvasScaleChangedUpdatesShadowstestHierarchyRootsRottenTestsFinder-FakeTests&testBlockWithTempReturnsLastExpression testIfEmptytestDoItCompilationtestPlaygroundWidenOnCascadekeyFromCharacterTable7testChangeInSuperclassShouldNotAnnounceSubclassModifiedtestClassVariable printPathOn:testAnnotationWithParameters)testOptimizedBlockWriteInNestedBlockCase2testChangingPcAssociatedToMethodOrSequenceNodeKeepsStackAsItIs sortBlock:testNextPutAllStartingAttestOptimizedBlockLocalNilling2 isKeywordtestDrawingWayOutside6 testAnchorIsAttachedToItsTarget2testKeysAndValuesDo monthIndexZnServer;testIsAffectedByChangeOfAbstractMethodWhichIsNotImplemented"testCaptureIfSignalledWhenSteppingoptionInlineIftestZeroSignificandAsIntegertestAddressesAndNamePairsInJtestAddMethodInExtensionCategoryMatchingNameAddMethodToTheExtendingPackage newFirstIndextestSignedShorttestAnEmptyRectangleHasNoAreatestDefaultWithValuetestUnifyMetaclasstestCreateImmediateClassWithAlltestMutualExclusionFileSystem-Disk testRevertTotestExamplePrimitiveErrorCode testFromToDo7testFixedLocatorNumberOfTicksIsOkWithUnsortedCollectionAtestIsAffectedByChangeOfSuperclassMethodWhichIsAlreadyImplemented digitValue:ThreadedFFI-UFFI8testFilterTwiceWithSameCompletionShouldReturnSameResults testIsArraytestAddingClass testPrintHalttestNestedLoopsExample1testShortcutKeytestValueWithPossibleArgs/testCompletionWithElementsToFetchShouldHaveMore+testClassifyUnderWithProtocolFromOtherClass?testServiceInstancesAreCollectedAfterStartingAndStoppingService testFibonacci testEnqueuetestAreasOutside2testNewCompiledMethodClassSystem-OSEnvironments-TeststestProtocolOfRemovedMethodGraphics-FilestestJumpOnSimpleKeywordSystem-Installers-TeststestSqrtErrorConditions expressiontestIfNotEmptytestIsParallelToGtestPeriodAtEndOfMethodWithMultipleElementArrayShouldNotHavePeriodAtEnd testPrimitive testBenchFibtest6kIcebergtestUnrestrictedSlotsSimple ClassParsertestEditClassScopeAddingClass testPackageAttestReturnInstVar)testCorrectJSONMetaDataProducesDictionary testMergingOverlappingRectangles delimitertestDeclareGlobaltestEquivalentToFinalizationProcesstestNewPointerClasstestAsArrayKeepsIdentityOtestWhenFilesListSelectionChangedAndIsAJPGShouldpreviewContentPresenterIsNotNil testTimestamptestNextNameForExtension.testBlockWithFiveArgumentReturnsLastExpression7testCollectionWithSingleManyElementsReturnsTheRequestedtestAsColorrefPrimaryColorstestHasZeroPriorityByDefaultTool-ExternalBrowser-TeststestSignedInt8testOneSpaceAroundBracketsTools testFloats&testIncludesComportementForDictionnary testAppendtestTemporaryVariablesBlock+testCreateSubclassOfNilCreatesSubclassOfNilKtestVariableByteClassWhenTraitCompositionChangedShouldAnnounceClassModified5testChangingShapeDoesNotPutNilInMethodsLastLiteralKeytestAtPutOutOfBounds aSortFunction'NewTools-DocumentBrowser-GitHubResource(testClassDefFromLegacyStringHasClassNametestBasicDebugtestDefinitionWithSlotsNECompletion-Preferences(testDefinedBehaviorsOfUnresolvedPackagessumindexOf:startingAt:ifAbsent: Tool-Registry listClass uncapitalizedwithLineEndings:adaptToCollection:andSend:)indexOfSubCollection:startingAt:ifAbsent:&testLinesOfCodeSingleLineMethodComment testThree Clap-TeststestEnvironmentWrappertestNameWithDelimiterMorphic-Widgets-ScrollingtestRemoveAllHaltsFromMethod&testFallbackReplaceFromToWithForString$testInitialArgumentListAutoSelectiontestAddIdenticalElements0Calypso-SystemPlugins-DependencyAnalyser-Browser-testNegatedFilterIsNotNarrowThanCaseSensitivetestThisContextSourceNodetestComposeMethodTextDtestWorkerProcessInstancesAreCollectedAfterStartingAndStoppingWorkertestEnabledHaltIsEnabledtestNewLineBeforeCascade2with:with:with:testLastBCOffsetTesttestIsChildOfPathtestSingleRemoteTempVar2testPackageCommentToolIsValidWhenClassGroupContexttestMaxLengthIsNegativetestExamplePrimitiveModuleError3testMergingTwoStylesWithASameClassHasRightOnlyClass testRemoveClassRemovesExtensions)testFigureWithParenthesesInsteadOfBracket*testWithLeftDoesNotProduceInvalidRectangletestSymbolicLinkTargetPath"testSelectionInFontStyleListIsKept!test0FixtureDictionaryCopyingTesttestIfNotNilIfNil1ArgtestDecoratedCommand%testContextSelectorForBuilderSelectortestUTF8Encoder3testNegatedFilterIsNarrowWhenTheInternalAreNarrowed?testPackageCommentToolIsValidWhenReferencingDifferentClassGroup testOpeningCollections-Streams OmDeferrermaxendtestDependenciesSizeTotestAssignmentHasNoExtraSpace testNoTimeouttestConvertFromDecimalFraction3testIncludesKeyAnswerFalseForGarbageCollectedValuestestRejectAllThenDoPharoDocComment-TeststestReflectiveReadWrite#testRegisterCommandWithContextBlocktestSettingCompletionFromEditorfoo::testOpenAndClosePresentertestThreeRemoveLink&testDontRetainBlankLinesBeforeCommentstestInvalidLiteralCharacter1test0FixtureCopyWithOrWithoutSpecificElementsTest/testTypeCharacterWithoutResultsNarrowsSelection testGetNewTabtestCrossSumBase test16BittestCommentBasicFormatNewTools-Finder-Testsr"testClassSideDefinitionIsClassSidetestReadingTooLargeExponents+testDoesNotRecycleToolWhenNotValidInContexttestIsAbsolutetestNewSliderValueIsZerotestSharedPooltestReadCompilation#testContainsOnlyExtensionDependencytestClassEnvironmenttestSourceNodeOptimizedtestExclamationMarktestEnvironmentWithArguments)testOnceParsedCurrentShouldBeTheRootblock testMarkertestUTF8Boundaries'testWhileTrueExecutesRightBlockWithTemp"testDoesContainReferenceFileSystem5testMissingSeparatorBetweenBlockArgumentAndStatements6Calypso-SystemPlugins-Traits-Queries-Tests-PWithTraitstestAllButFirstNElementstestAllNamedIn$testSettingNodeIdentifierForRootNode>testMoveMethodFromExtensionToClassicProtocolAnnounceRepackagedstderr#testLinesOfCodeEmptyLineInTheMiddle#test0FixtureSubcollectionAccessTest testDiagonalstestWritingToContexttestTooLongArgument testMethods.testFillingWithTwoClassWhichInheriteSameTraitstestUndeclaredVariabletestRemovePath Text-CoretestExampleSimpleBlockArgument2testStringUrlEncodedtestClassTraittestKeywordOnTheSameLine22testSettingEnvValueDuringChangesValueInDuringBlocktestAddTextPresenterDecoratortestToIntersectsTotestSimpleOrderingtestAddTraitSettingPackageTagtestExampleSimpleBlockArgument1testMintestXorMonticelloGUI-TestsOSWindow-Tests&testBuildVariableTempVariableHeuristictestMethodWithStyletestUpdatePrompttestMultipleCountersisZerotestSteppingAQuickMethod#testIteratorOnACollectionIsFilteredMorphic-Widgets-TaskbartestUnaryTooLongArgumenttestAssignSelfVariabletestMethodModificationtestAnchorReferenceUnevaluated$testObjectCentricBreakOnceOnVariable testCreateNormalClassWithPackagetestLabeled03bisHasModel6testRefersToLiteralsReturnsTrueWhenLiteralIsByteStringtestVariableEnvironmentInstVars testMaxValtestTooManyArgumentsRefactoring-Environment-TestsXtestNotAffectedByChangeOfOverriddenMethodFromAnotherHierarchyWhenSameMethodExistsHereToomediantestRechainPreserveCutList@testCancelCompletionInClassWithDynamicExtentDoesNotLogOtherClass testCopyWith'testStoreAndPopReceiverVariableBytecodetestPackageAddition testExample3&test0FixtureIndexAccessFotMultiplinesstestNodesForEachtestReadComputedSlotReflective-testFileOutSingleMethodModificationOfProtocoltestStepToImplicitReturntestParseColorVariabletestSixtyFourBitRegisterOr GreenShift%testSubstituteVariableAtIntervalBlockgroupsOf:atATimeCollect: testFileNameperform:foo:,testLastBcOffsetForNodeWhenMappedPcsAreEmptyKernel-Extended-TestsnewFrom: testSubtyping!testUndefinedMetaclassIsUndefinedtestGettingRedefinedInstancenewArray testLabeled01BaselineOfSpecCoretestRedundantSeparatorstestModifyingClassSideInstances!testExtractDatasetFromSingleArray$testDiffIRecordsLastLineWhenMatchingtestDraggingModeLeft collectiontestRawsBeacon-Core-Tests testRadius Random-TeststestHandlePrefixTabstestFindBinaryIfNonetestFillingWayOutside3#testLineStartIsCorrectAfterNewLinestestRemoveLastNotPresent testIsDigitctestMinMaxValue2testHasChildrentestPragmaAfterBeforTemp anIntegertestRelativeFromStringParenttestHighBitOfMagnitudetestBeIncluded&testRetainBlankLinesBetweenStatements2testSelectWord=testInitializeFilterDropListSelectedItemShouldBeDefaultFiltertestSeriousBalanceNumericInterpolator-TeststestNormalClassHasFixedLayout\testUTF32EncoderSimpletestUrlObjectInUrlBlocks2testBackwardCompatibility2/testLastBcOffsetForNodeWhenMappedPcsAreNotEmpty!testChangeInSharedPoolsIsDetectedtestSignatureWithoutArgument NECompletiontestEmptyClassWithMethodstestSortingWithUndefined/testBindingsWithUppercaseNameDoOverwriteGlobalstestObjectFormatInstSize testExactSqrttestEmptyBlockTwoArgumentss1/testDoesApplyForMethodNodeInContextWithNilclasstestMethodContextPrintDetails testMerge6testJustTheArguments7testTransformReturnEmptyRectangleWhenNotPossibleToPlacetestSumWithFloatScalartestCreateVariableClassWithAll5testTraitWithClassTraitCompositionHasTraitCompositiontestAccessingVariablesInBlock test5kClassestestAtAtOnIdentityDictinarytestOnForkErrorReturnsNil"testNoUnusedTemporaryVariablesLeft testSubclasstestSizeSignedShortCollections-StacktestKeywordFormatParametertestName!testFixedLocatorNumberOfTicksIsOk<factortestAnonymousSubclasstestDoubleRemoteAnidatedBlockstestAddWithOccurrencestestEmptyCaseStatement)testAcceptEntryLogsAverageTypedCharacterstestTraitUsersAfterClassReshapeunzippedtestMigrateTestSlot1testSplitBlockLinkWithParenthesesInsteadOfBracket5testRemoveExtensionMethodRemovesExtensionsFromPackageisDigit asFraction testMetaclassSuperclassHierarchy@testWindowShouldBeOpenAfterStartupWithGoodMorphWhenNoMorphIsSave growAtLasttestExampleSimpleBlockArgument3testCheckChildrenActions&testCreateNormalClassWithClassVariabletestNonActiveBlockContextHome+testEnvironmentIsCreatedWhenTagDoesNotMatch testIndicatorMorphic-Widgets-ExtratestLiteralNil-testAcceptEntryLogsItsSourceInSeparateEntriestestGetInterQuartileRange-testFutureSelectFailsOnNonSatisfyingConditiontestTerminateSession collectBlockBaselineOfKeymapping testAddNiltestValidTraitComposition4%testFileOutMultipleMethodModificationtestClassCommenttestReferencedPackagestestSortResultArraytestBinaryOneArgumentPerLine2testJumpOnCommentsOpalCompiler-Tests testAtPathPuttestBoldAPIToSetText addAllLast:$testSimpleDefinitionPackageIsCorrecttestUnmatchedBraceArraytestDependantPackagestestSideNearestTotestBrowserEnvironmenttestMonospaceUnevaluatedtestImplicitConversionFromClass/testRenamingExtensionProtocolToAnotherExtension+testMultipleAssignmentHasNoExtraSpaceInsidetestNewLineAfterCascade2 testEquals5testNewBehavior4testTwoRectanglesWithAnAdjascentBorderDoNotIntersect#testConvertingWithNewRequiredResult'testCompareWithIfLesserIfEqualIfGreater testSlotUserstestMouseMoveAfterDoubleClick testOfSizeerror:testDottedMajorMinorPatchfirstRoassal-Builders2testPackageOfNonExtensionMethodIsPackageOfTheClass#testAssignmentHasNoExtraSpaceInsidetestLabeledOuterShapes04!testIntersectionsWithVerticalLinetestGifWriteReadInMemoryhour/testMathBlockWithParametersCaptionAndFormatting testAuthortestStylerRedTickInCharttestHandlerContextSUnit-Visitor-Tests/testNilIfNotNilWithArgumentDoesNotEvaluateBlockprefix0testHeuristicBuilderForTwoHeuristicBuildsWrappertestIsAllWhite#testCreatingFullTraitHasAllElementsexampleLiteralCharactertestCollapsingtestPushLiteralConstantBytecoderemoveDuplicates3testRectangleWithNegativeExtentShouldHaveZeroExtent testFileOutMultipleMethodRemoval testWithEdgesgtestWhenCustomizeFilterWithoutDefaultFilterShouldFilterDropListPresenterIncludeDefaultFilterAndSelectIttestWorkerProcessDiesAfterStop substrings: testHasNonDefaultValue_NoDefault testNodeAt$testStoreShouldNotCloseBackingStream"testHasBindingThatBeginsWithGlobal{testIsAListDashSpec2-MicrodowntestSelectedMethodEmptyClasstestSizeSignedLongLongtestExampleReturn1 StrikeFont'testKeepBlockInMessageNotMultilineSpacesupertestConcatenationWithDuplicateBaselineOfIcebergtestCyclesWithAtLeasttestReadWriteCompileditestNoPeriodAtEndOfMethodewrite,testPropertyAtIfPresentDoNotClashWithPragmas testAccessingTempsVectorInBlock3*testRestoredBrowserInstanceWithActiveScopetestNonObsoleteClasstestRejectThenDoOnEmptytestOnceBehaviorstoreStringBase:length:padded: testRemoveInstVarNamedWithTrait2)testReadIntoStartingAtCountFromStreamWidetestToolsToKeepWhenOneContextNewTools-Debugger-Extensions*testUnsignedInt64 testAsserttestExtensionSelectorsForClass-testBlockWithTwoArgumentReturnsLastExpression(testBackWindowsAreFindWhenUsingSubstringmonthgcd: testEquals3.Calypso-SystemPlugins-Undeclared-Queries-TestsSymbol minElementtestChangingSuperclassToOthertestLineIndentationStarttestSetNameText testFirst between:and:testComparisonOfSameQueriestestBetweenAnd)testAddProtocolWithProtocolFromOtherClassBaselineOfSlot sumNumberstestUTF32EncoderExampleFromD101testDenominatortestDoNotBreakSmalltalkVersiontop testFirstTagtestCollectThenDoOnEmpty8testBestNodeForInstanceVariableSelectionShouldBeSlotNodetestTransformReturnASubArea testCodePoint?testSecondScriptShouldNotBeChildOfFirstWhenClosingOnTheSameLinetestEmptyOnMultipleLinestestBackWindowsAreShown testIsInCycleCtestShouldFileLocatorBeBeforeSystemSettingsPersistenceInStartupListtest0FixtureTConvertTesttestRevertOldMethodtestKeywordOnMultipleLineBaselineOfSindarin testWithAll;testRecategorizeClassRegisterTheClassMethodsInTheNewPackagequotetestNewPresenterIsNotBuilttestComposePromptWith7testSubscribeToExistentNonObservablePropertyRaisesErrortestIsConfigurationName#testBestNodeWithValidKeywordMessageseed:.testColumnNotHomogeneousDiferentRowsAndColumnsbbtestValueWithExittestMonospaceCreatesInnerTexttestAssignInstanceVariableHtestAndMakeSureSuperSetupIsCalledAsFirstMessageInSetupMethodsOfTestCasestestThirtyTwoBitRegisterOr+testWindowLabelIsUpdatedAfterPackageRemovaltestPointerCannotExtendByte#testIdentityIndexOfIAbsentDuplicate9testExtraIndentationWhenMultilineResetTheIndentWhenFinish.testShouldFindDependencyWhenUnimplementedCalls1testExtraIndentationWhenKeywordMessageIsMultilinetestSpaceInsidetestNoChangeInSlotsDetected testIsNotFiletestFaultyScripteqv: findSelector firstIndexelemtestUpdateDisplaytestByteCanExtendByteThreadedFFI-TeststestNoNewLineAfterCascade Reflectivity!testClassNameWithInvalidCharactercontainsPoint: testNoNilstestVersionNumberForExtension collect:as: testPrimSizetestCallbackInLooptestArgumentNamedIfNone testKeysDo-testsingleRemoteTempVarWrittenAfterClosedOver intersection:testSlowFactorialtestLefttestCachingBehaviors testDatabasetestSimpleOuter numericSuffixtestOuterBlockTemporaryVariablecopyReplaceAll:with: testInfinity2 testPassingByParameterAStructInCtestClassWithPluginEnabledtestToDoReturnsReceivertestWidenOnSelf testReverseDotestNewEnvironmenttestDefaultKeyboardFocusRoassal-Interaction-TestsasSortFunctiontestDefaultResolvetestIsCatchAllDebugPoints-TeststestJumpBackTo testShuffled"testExampleWhileModificationBeforetestBasicNewKernelDensity5testEqualSignIsTrueForNonIdenticalButEqualCollectionstestSelectorsForClasstestClassMethodDefinitionround:testReadStreamIfAbsent&testNotWrittenInMethodWhenItIsOnlyRead8testTearDownMethodInSUnitTestsNeedsToBeInRunningProtocoltestSystemIntegritytestAddWatchSameNode onNextMonthRtestReplaceTokenAfterMovingCaretToMiddleOfWordWithFollowingWordsReplacesEntireWordNewTools-RewriterTools-Tests1Calypso-SystemPlugins-InheritanceAnalysis-Queries"testRedundantBehaviorCommentChange$testInstanceCreationMajorMinorSuffixtestSourceCode7Calypso-SystemPlugins-InheritanceAnalysis-Queries-TeststestOpenAllOnUnloadedFontFamilytestAddingAnimations(testSearchForRegexpEndsWithCaseSensitivetestDangerousClassesConditions Spec2-TeststestIfNilIfNotNil1Arg(testLoadNotExistingClassNameForRealValuetestTranscriptPrinting%testMutateWideSymbolUsingPrivateAtPuttestCompiledMethodLayouttestTagsCollectiontestLastFilesForExtensiontestMultiScheduletestIsModifierSymboltestCannotLoadtestCallbackInSingleFunction(testDetectOneChangeDetectedAndOneIgnored&testSmartDoubleQuoteSurroundsSelectionSystem-Time-TeststestBeginsWithAnyOf"testHeatmapContainsAGradientLegendtestConvertingToNewMetaLevel'testLinesOfCodeEmptyLineWithTabInTheEnd!testExampleToDoArgumentNotInlined testThirtyTwoBitRegisterAddition#testHasSelectorSpecialSelectorIndex testIsLiteraltestRemoveKeystestSubtractionrcvrtestFirstTagValue test0FixtureCopySameContentsTestRefactoring-UI-TeststestLineStrokeadaptToPoint:andSend:"testInheritingExecutionEnvironmenttestPrimPointY(testGTSpotterNewIsRemovedAfterAddingText#testVersionNumberForComplexFileName,testItemsChangedNotificationShouldResetItemstestDoubleEndingtestSizeUnsignedInt8testRedundantPackageTagRemoval MonticelloGUISystem-DependenciesTests testIfNotNiltestAssociations&testParseWindowsPathWithUnixDelimiters monthCounttestNotifyBreakpointRemoved testHasSlot noneSatisfy:testAliasesCollectionNewTools-Debugger-FueltestWorkerRunsInSeparateProcesstestIncludesElementIsThere selectedItemstestHasContextSessionAccessModeResolver reflection:8testUncorrectJSONMetaDataProducesDictionaryWithContents2Debugger-Model KeyboardKeyNewTools-Inspector-TeststestIsInRectangleIsInsideManifest-Resources-Tests+testImportAClassCommentWithExclamationMarkslast:4testRecompilingAClassKeepExtensionMethodsAsExtensiontestBasicFourDirections#testOpenDefaultOnUnloadedFontFamilytestSimultaneousRemove thisContexttestIntersectionsWithArctestStepprintOn:format:testUnsignedInt8withIndexSelect:Morphic-Widgets-PolyTabstestPositionsCustomtestFormatMultilineMessage2=testWorkerInstancesAreCollectedAfterStartingAndStoppingWorkertestExampleSimpleBlockArgument5testEmptyClass Jobs-TeststestAnnotationsasDigitsAt:in:do:readFrom:ifFail:testForceLazyRebuild+testMergingOneRectangleReturnsThisRectangle5testFalseIfFalseReturnsBlockValueWithTempOutsideBlocktestPackageRenameWithExtensiontestHasSlotNamedtestReadEvalPrinttestWhileModificationBeforetestCollectArguments"testDeleteAllWindowToLeftOfAWindowtestMathBackslash!testCanCreateFtpRepositoryFromUrltestAllButFirstmiddle Dictionary NumberParser testAddWatchtestScaleLinearInvertfillFrom:with:SmalltalkImage testAddActorstake#testNotNilIfNilDoesNotEvaluateBlock testPopToptestStylerRedLabel testMiddletestArgumentAttestNotLoadedClassMethodtestSignatureWithArgumenttestIsLetterModifierrgb testBasicHeadtestProtocolOfSelectorBaselineOfTraitsaddLast:initializeRed:green:blue:range:testTranslateBytestAnchorBlock testExpandByVtestSkipAssignmentWithStoreIntoBytecodePushesReplacementValueButNotWithPopIntoBytecodetestBlocksShareOuterVariablesUtestReplaceKeywordTokenWithCaretInTheMiddleOfWordWithFollowingWordsReplacesEntireWordtestUnpackagedClassestestPushConstantNilBytecode+testInitializeCurrentPathTextInputShouldSetSystem-SourcesCondenserodd(testHasNonDefaultValue_DefaultOverriddentestNoCoverage.testRenamePackageToOwnTagNameWithClassesInRoot isFinalQuote:testStoreOnRoundTriptestFirstTagWithValue"testMethodPackageFromObsoleteClass>testLocalProcessTaskRunnerExceptionIsHandledByExceptionHandlertestClassSideOfATraitSUnit-Rules-TestsRoassal-UML-TeststestFindFirstNotIntestTranslateMiddleRightTo testBlockTemptestIsNonspacingMark testBottom.testInitializationAllCheckBoxDictionarySetTruetestClassWithSlotsNonInteractiveTranscripttestMinimumSizeOfSearchStringText-Diff-Tests CodeImporttestEscapeReEscapetestFutureSelectFailsOnFailure Tools-TeststestOptimizedBlockLocalNilling1testRenameArgument testResetFonttestEndPeriodInsidetestCommaAddsExtensiontestTickLocatorCorrectlyChangedtestBasicQuoteBlocktestPrioritySetBeforeStart!testWhichSelectorsAccessFindSlots testPushReceiverVariableBytecode generatortestClassWithoutImpact_:testScaleLineartestIsStraight testCreate0testBestNodeWithValidPostionOnStatementPeriodEnd*testChangingOtherPriorityAffectsSchedulingtestEmtpyClassVariableStringassociationsDo:.testFinalizeMethodNeedsToBeInComparingProtocol2testTypeCharacterWithoutResultsDoesNotCloseContext"testTwoComplementBitLogicWithCarryaBoolean#testCannotRemoveUndefinedPackageTagtestNotInstantiable:testNoneSatisfy testIsNil testAddItem1 caseSensitivetestCelltestPositiveIntegerPrinting testWithRB3addDays:Flashback-Decompiler-TeststestCompileArray testSixtyFourBitRegisterAddition:testDeleteAllWindowToLeftOfAWindowWhenDontHaveWindowOnLefttestAnnotatedBlockOnTwoLines.testInstanceSideMethodsWithNilKeyInLastLiteraltestArgumentIsReadtestFindAnyStringIntestIsUnsentMessagetestSimpleReturn)testClassOrTraitNamedReturnsNilForGlobalscollect:testClosedTallyrunningAverage:FtestWhenCurrentDirectoryChangeshouldNewFileDialogOpenOnTheNewDirectory testRunTarjantestFullClassTemplate#testAsSortedCollectionWithSortBlock!testUndefinedExtensionIsCodeblocktestNoEmptyPackages'testTruncatedToSizeResultHasCorrectSizetestFinalizationWithOnForktestRepeatWithTempInBlocktestCollectFromTotestHaloIsDisable testAtWrap$testMethodModificationWithWideStringtestCommentSourcePointer!testFindThisMethodAfterAddingTexttestDefaultEnvironmentContenttestCanonicalizationtestAnnotationPrintStringtestRightRotatedFileSystem-Memory-TeststestIncludesAnyNoneTheretestJoinArrayUsingChar testTransformmergeSortFrom:to:by:Graphics-TransformationstestUpdateShapetestNoStepIntoQuickMethod testUnloadWithAdditionalTracking/testSupplyAnswerUsingTraditionalMatchOfQuestion)testConvertingAsRestrictedByAnotherScope2xytestArithmeticCoercionfalseAlternativeBlocktestAllByteEncoderDomainstestForceToPaddingWithtestNonDuplicatesRemoveDuplicatesResetReturnsWithoutDuplicatestestIntersectionItselftestAtAt BaselineOfIDE testAddTagMorphic-ExamplestestExpressionNoAssociation2testFirstBCOffsetTesttestExtensionSelectorstestSelectThenCollectPrint&testBestNodeWithValidSelectorMidSource testAllEasingtestLargeSqrtFlooraColortest0FixturePrintTest,testClampReturnsSameNumberIfBetweenMinAndMaxtestWriteStreamifPresenttestOldDefinitionFreeType-GraphicsblockFuzzyMatcher-TeststestBacktestAssociationAtIfAbsent!testDoItRequestorReadRequestorVar SmallIntegertestExampleEmptyMethodanyOnetestListConfigurations"testBreakDebugPointOnVariableWritetestRemoveIfAbsenttestPrimitiveIndexed2OrderedDictionarytestDensityArea test0CopyTesttestBuildReturnHeuristictestExtensionClassestestUnclosedRaw>testEditClassOrPackageScopeRemovingClassAndBreakingFullPackage+testCurrentLineLengthWithStringContainingCR reverseDo:testCanPerformInSubclass*Calypso-SystemPlugins-Traits-Queries-Tests)testPopularStringDoesReturnOnlyTenResults testInformtestInheritableVariablestream&test0FixtureDictionaryIncludesIdentityGtestRemoveProtocolIfEmptyWithNonExistingProtocolDoesNotAnnounceAnythingtestAddWithKeyNotIn testCritiquestestClassVariablesCollection#testConvertingWithExtraBasisObjectstestNotifyBreakpointHit FFIBackend3testDefaultSettingValueIsNotIncludedInTheStoredFile testStepEventtestTraitRemovaltestIsInstanceSidetestIntersectionsWithLine(testPackageSelectionAfterPackageCreation%testFourBackQuotesClosedByThreeQuotes&testAllInstanceVariablesStartLowercase testUndo2testFileSystemtestMethodSourceNodeAtPCtestMustInclude04testWhitespaceAtEndtestBindToEnvironment testDoAfter testSumUpTo>testClassDefinitionToolIsNotValidWhenReferencingDifferentClasstestDataMatrixShouldNotBeEmpty&*testFourthByteArraysReturnTheCorrectValues endsWithDigitfromStreamWithComments:testErrorCodeNotFoundIndexedtestBaselineOrConfigurationNametestBreadcrumbs testAsPointFonts-Infrastructure-TeststestAllNamedInSortedByArgument testCannotRemoveUndefinedPackagetestProtoObjectClassSpecific-Rules-TeststestLiteralStringtestColorsOutInextensionPackagetestSortingChained9testAddMethodByUsingATraitDoesNotAddTheMethodToThePackage running:of:testIfModifiedSinceNotModifiedtestNumberOfHashIterations testAsBagtestKindOfSubclassbadSimpleExpressions/testEmbeddedAnchorInTextAreDrawnAtRightPositiontestBuilderWithPackage*Calypso-SystemPlugins-Reflectivity-QueriestestInlineBlockCollectionLR3testCommitHashShorttestStructureOfBoldSimpleText bytesymboleStrtestNextPutAlltestCopySelectionNewTools-SpotternscannerisCasedLetter:centerifNotNil:ifNil:(testMutateObjectInstVarUsingInstVarAtPuttestSort+testExampleWhileModificationAfterNotInlinedMenuRegistrationtestCreateWeakClassNamedtestBorderWidthHomogeneoustestGetTempFromTMPDIRtestStepSingleBytecodeifEmpty: roundUpTo:testHeapForwardstestItalicsAndNestedBolds%testSubstringSearchNonExistingPackagecompare:with:collated:testRhs LibGit-CoretestIdentityIndexOfKeyIfAbsenttestDifferencePreservesOrdertestNoChangeOfLayoutDetectedtestFillInTheBlanktestIfEmptyifNotEmpty-testIteratorOnACollectionReturnsTheCollection test0FixtureDictionaryAddingTesttestCopiedVarFromDeadContext milliSecondDtestChangeInSharedVariablesAndSharedPoolsShouldAnnounceClassModifiedTranscript-TooltestSizeSignedInt64testInstVarNamedRefactoring-ChangesddmmyyyytestCustomLineBreaking-testInstallClassNameWithUnknownSuperclassName testCoverageBaselineOfDrTeststestAddtestRemoveSharedVariabletestInitializedSlotUpdateClass testBinsStratBaselineOfRefactoringtestBuildVariableHeuristictestIsOfflineFalse!testAnchorBlockFollowingEachOther%lastIndexOfAnyOf:startingAt:ifAbsent:-testParsingAStyleIsNotAffectedByExistingClassCollections-Stack-Tests8testCreateTwoUndefinedClassesOfSameNameShouldBeSameClasson:testCreateNilSubclasstestDisableCheckChildrenActions'testCreationByCommaWithMultipleContexts,testEvaluateWithBindingsSelfSuperThisContext$testCaretAtBeginningHasNoWordAtCaret+testExtraneousStatementAfterAReturnInABlocktestBuildCreateCompositeShapes reciprocaltestBasicSpaceIndenttestRemoveClassSlottestDetectThreeChanges7testFutureFailureCallbackExecutesInSameNewProcessRunner testPointtestSchedulesFIFO testPercenttestBasicVennDiagramOpentestCommentSimpletestCullCullCulltestWithSharedVariablePropertySortFunction;testChangingPcKeepsSameStateAndPushesCorrectElementsOnStack(testPrimitiveMethodSourceNodeAtInitialPCtestDelayWaitTimeoutCompletedtestConvertingToInheritingScopetestInstanceVarerrorNotFound:.testCreateAndChangeWithCommentDoesAnnounceBothtestLocalMethods testRemoveAfterSuperclassRemovedtestDefinedMethodstestInvertRange#testTrueIfFalseDoesNotEvaluateBlockSUnit-Support-UITesting!testContainsShapeWithInteractionstestSegmentFromPointsBaselineOfKernelTeststestCreateBuilderSystemCommands-MessageCommands anElementtestMultiPackageMerge.testClassNameNodeIsPolymorphicToRBVariableNodetestNotifyDebugPointHittestAnimatedColorsOutIn>testWorkerInstancesAreCollectedAfterStartingAndStoppingServicetestSelectsMethodWithFlagtestWaitAndWaitTimeoutTogethersampletestLargeCharacterStreamtestWatchVariableWritesInObjecttestNotifyDebugPointRemoved!testCompileMethodAnnounceAdditiontestImportAClassCategorytestWhileWithArgtestRemovePropertySlot2testExampleNewArraytestAsStringOnDelimiterMoretestModifyIvarToHistorytestUnequalContent5testGetShapesFromRectangleInCompositeWithChildOutsidetestLastwindowIsNil'testFailedAssertionContextInSenderChaintestParseFullUrl'testDontRetainBlankLinesBeforeComments2testAPIFromMessageSendReceivertestNewPresenterIsNotDisplayedItestPeriodAtEndOfMethodWithMultipleElementArrayShouldNotHavePointAtTheEndselect:thenDo:Formatter-SettingsBaselineOfRoassaltestHeaderLevel6%testConvertingToInterestingClassScope'testProtocolAdditionWithProtocolRemoved#testTempNamedTempCopyingNestedBlockBaselineOfOSWindowtestConvexHullOn$testIsTerminatedAfterSelfTerminationstripSeparators!testReadWriteWeakClassVarCompiled&test0FixtureSequencedConcatenationTesttestOverlappingFormat2testCacheActivation milliSeconds:testReplaceWithSpaces3testNodeCoverage2testSumSignedInt64)testKeepBlockInMessageNotMutlilineNewLine isCasedLettertestBuilderSharedPoolstestTooLongBlockBody(testAddExtensionMethodHasTheRightPackagetestThreeElementstestFixedAccessHeuristicCompletion-TeststestTagsForMethodsCollectiontestContentsOfDirectorySystem-Finalizationtest4BitDisplayadd:testTokensInUnicodetest0FixtureDictionaryIncludestestExtensionMethodstestDefaultGraphCentertestClassNameMustBeCapitalizedextractBlock2InTemptestUnmatchedBlockBrackettestNaN2testRemoveClassRemoveTagIfEmptytestUsedTraits#testAddProtocolAnnouncedOnlyInTraitOmStoreFactorySystem-Support-Tests uppercasetestFindBinarytestLabeledOuterShapes02xbtestHasEntryNamedsqueezeNumberOutOfString:BaselineOfMorphic testAllNamedstoptestRenameClass*testFallbackReplaceFromToWithForWideStringtestOneSpaceInsideArraytestIncludeClass UnifiedFFItestPngDecodingColors80testSixtyFourBitRegisterLoadFromCorrectByteOrdertestFindLastNotIntestSmartCharactersOppositeOftestEmptyLayouttestEnsureProtocolisDashPunctuation RubTextEditortestExampleToDoInsideTemp lightnesstestUpperLimitsWithtestKeyDownFromMorph%testMicInputfileIsNotRelativeFilePathtest32bitConversiontestCopyNonEmptyWithsurroundedBySingleQuotestestTraitObsoletetestParenthesis!testBecomeForwardCopyIdentityHash blockWithArgtestStepToReturnWithExceptiontestUnCategorizedMethodstestSameCommentDoesNotAnnouncetestSizeUnsignedInt64 testAtPutNexttestInvalidPrimitivetestOrganizationPerInstance*testDemoteToRPackageNamedMultilevelPackage,testUnhandledExceptionShouldAllowToCatchHalt"testFileOutSingleClassModificationtestSourceNodeat:at:testClassWithInheritedSlots!testCompletionBeforeKeywordColumntestParseFontVariable testComma)testMarshallingStringReturnValueWithAlias(testAllClassPoolBindingAreClassVariablestestExtractAllKinds#testBestNodeWithValidValueMidSourceEmbeddedFreeType-Tests&testSmartDoubleQuoteDoesNotEscapeQuotetestWriteStreamtestScriptBloc!testExtraIndentationWhenMultiline"testEqualsOtherOrderedDictionariesprintOn:delimiter:1testLookingForStoreDiskLowercaseReturnsThisMethodnew:testInitializePresenterstestSingleSlashtestReadUpToEndtestCreateEphemeronClassWithAlltestSubscriberClass"testUndeclaredReparationWithSharedstoreOn:testFilterExtensionstestUpperLimit testPushSupertestUnmatchedCommentQuotetestResetUnwindtestGetMedianOfDatasetSizeOneon:do:testFindCyclesThreeNodestestShouldAcceptFloattestAt!testBlockWithParametersASTMappingtestMessageToInstanceOftestUnaryNoExtraSpacesBetween2&testSingleBlockWithArgumentsWithFormattestCreateScatterPlot soleInstance+testIncludeOnlyInstancesCreatedForGivenUsertestIntervalStoreOntestIntersectionsWithEllipseLtestAddMethodInExtensionCategoryWithExactMatchAddMethodToTheExtendingPackage"testARectangleIntersectsWithItselftestStoredSettingsIsNil0Calypso-SystemPlugins-ClassScripts-Queries-Tests&testUnresolvedClassGroupRoleProperties'testNextNameForExtensionNegativeTesting aCharactertestBinstestBreakpointOnArgument/testBroaderFilterCompletionShouldBroadenResults"testSupplySameAnswerToAllQuestionstestProtocolRemovaltestIncludesClasstestSharedVariablestestBreakInContextNodetestConversionToTraittestAnonymousClassAndSelector Regex-CoretestCommentBeforeMessage digitAt:base:testNotTooLongBlockBody"testCreateVariableWordClassWithAlltestWatchDebugPointtestModifyMethodWithBreakpoint testIsLetter testGoodPathRemovingNonEmptyLeaftestWithWithWithtestMultipleExtensionstestUsingClassestestIsOpenPunctuation(testFinalizationRemovesEntryFromRegistryitestReplaceKeywordTokenFollowedByAssignmentWithCaretInTheMiddleOfWordWithFollowingWordsReplacesEntireWordtestAddSlotAnonymousRefactoring-Transformations,testAndPackageEnvironmentAndClassEnvironmenttestLegacyPharoConfiguration#testDynamicLiteralArrayReturnsArraytestHeap className*testSupplySeveralAnswersToSeveralQuestions testUnhandledErrorWhenNoHandlerstestDisableEnableBreakpointtestFindThisMethodWithFullClass&testStoredValueForSettingNoStoredValuecompare:caseSensitive: printFormat:maxValuetestFigureWithBold testRight"testShouldAcceptFloatWithoutMinMaxtestIsNotAbsolute)testThisContextSourceNodeInInlinedMessagetestNotifyDebugPointAddedtestClassRemovalWithClassAddedtestClassSideEmpty testIsObtuse-NewTools-DocumentBrowser-GitHubResource-TeststestAtPathIfAbsentPuttestHasBody_notisBinary(test0FixtureIterateSequencedReadableTest(testDetectIfFoundIfNoneWhenNobodyIsFound**testZeroRaisedToNegativePowertestSelectsDeprecatedMethodtestImportAClassCommentMtestIsAffectedByChangeOfSuperclassMethodWhichOverridesAnotherSuperclassMethodtestInitializeWidgetstestSelfEvaluating testArray testFormsasOpenIntervaltestAdditionInIfAbsentPuttestAreasOutside1 translateBy:Tool-Profilers-TeststestConvencienceMethods testHighBittestBehaviorWithMethodTags testBlue32/testTrueIfTrueEvaluateBlockWithTempOutsideBlock'findSubstring:in:startingAt:matchTable:makeRoomAtFirsttestisPoolVariable&testStringArgumentsAreReleasedIfNeededBasicCommandLineHandler#testDontFormatCommentWithStatement2/testNarrowerFilterCompletionShouldNarrowResultstestDoubleBarPlotRawData testLength testMergeWithtestStoreOnWithNegativeIntegertestClassDefinitionB!testFileOutMultipleMethodAdditiontestHomeGoesToStartOfLine testInstalltestIsCasedLetter testClearingtestBinaryMessageCommentstestIsMatchingPasswordtestCommonSuperclassWithtestSkipBlockNodetestMakeRelativetestTrueOrAnythingReturnsTruetestCommentAfterMessagestestConstantBlockClosure testIsEmpty,testDictionaryConcatenationWithoutCommonKeyschar testLoad3 NewTools-Sindarin-Commands-TeststestPointersTotestMultiPartMixedtestAssociation$testObjectCentricWatchOnceDebugPointwith:do:animationClassisInitialQuote testStWritertestRenamePackagetestMethodReturnSpecialtestBasedOnSingleBasisgroupedBy:having: Morphic-TeststestGrandchildOfPath optimizationMetacello-TestsCoretestTrivialMethodstestNoLiteralIsPinnedInMemorytestRaisedToInteger'testBoxShouldBeInsideContainerRectangletestReadStreamDoifAbsenttestAddClassSlottest8BitColorsimexp1testNewProcessTaskRunnerRunsInNewProcessEveryTimeBaselineOfFlashbacktestExecutionEnvironmentyintestDeleteAllWindow factorialtestExampleBooleanSlot5testClassReshapeShouldKeepClassBindingForTraitMethods add:after: DrTests-TestsBaselineOfFueltestAddClassSettingPackagetestRehashPreservesCapacitytestSimpleFormattedCodetestBuilderWithTraits testOrigin.testInputFileOnOneLineWithSpaceBeforeJunkAftertestDelayWaitTimeoutTimedOuttestPackageOfUnpackagedClass combinations testFromToPut Network-MailtestMultiProcessWaitOnSameDelay3testClassCommentToolIsValidWhenReferencingSameClasstestAddWithPaddingVerticaltestIfEqualIsTransitivetestWatchVariablesReadsInClasselmtestInitializetestWith'testPassingByReferenceAStructInArrayInCtestSkipThroughNodeCalypso-SystemQueriestestBetatestSavetestAlphaCompositing2Simulated6testInstanceCreationMajorMinorSuffixBuildWithoutSuffix dayOfWeek:testCreationByParent testMinValtestImmediateClassIsImmediatetestHasProtocol4testInitializedClassVariableReflectiveBlockParameter testCountingtestRemoveSelectedRuleyield: testWithUsestestSkipUpToNodetestAtLastIfAbsentexampleLiteralByteString FileSystem%testSixtyFourBitRegisterLeftRotateBy3$testExampleToDoOutsideTempNotInlined#testExampleInlineBlockCollectionLR3printShowingDecimalPlaces:testHumanReadableSISizeStringSubscriptOutOfBoundstestRepositoryUrltestDefaultUpperWhiskertestTransformationstestPushGlobalVariabletestUndeclareSlot streamSpeciestestGettingRedefiningInstance>=> actionBlocktestAllEntriesColorPicker-TeststestWithAxisLabel test32BittestReadSlotNamed accessModetestInstallExceptiontestAsCommaStringEmpty@testMarkerShapeFreeType testCommenttestUTF8*-BaselineOfSystemBenchmark#testDataMatrixArrayShouldNotBeEmptytestDraggingModifiesValueIceberg-Plugin-Migration6testCanStillExecuteWhenAimedNodePcIsBeforeInAnyContext r:g:b:alpha:testSpaceBetweenTemporaries2repeat:testBuildClassTraitsAPItestPngWriteReadUsingFiles testResettestAsSlotCollectiontestBindingsWriteGlobalstestToDoWithCalculatedArgumentstestEmptyListstestSystemPackageContainingtestMissingBlockArgumentName(testAllClassPoolBindingHaveDefiningClass testSetToEnd testColorFromtestEnsureClassNamed"testJoinArrayUsingSortedCollectionRoassal-Chart-TeststestDeleteAWindow"testNoTraditionalBinaryPrecedence38testAcceptEntryIncrementsAverageEvenIfAtDifferentIndexestestByteArrayBasetestPrintingTallyUninitialized$SystemCommands-PackageCommands-TestsSystem-PlatformsaNumbertestUniqueNames testTruncatedRoassal-InspectortestAtIfAbsentPut(testStoreAndPopTemporaryVariableBytecodetestMustInclude02testAcceptEntryLogsItsSizetestDontKeepBlockInMessageNewTools-ScopesCtestWhenOpenADirectoryShouldDisplayHisChildrenFilterByCurrentFilter&testTaskTimeoutIfTaskExecutionIsLongertestMathBlockWithParameterstestKeywordOnMultipleLine15 testIsWaiting testCycle04testNilHashCollision+testRemoveNonexistentSelectorsFromProtocolstestClassObsoleteequals:insert:before:System-History-TestsObjecttestWrappedElementOnBoldceilingtestExampleBlockExternal2testCenterEmptytestStepIntoQuickMethodBooleantestHandlerFromActionprint:on:prefix:length:padded:testModifiedReturn+testSkipCannotSkipReturnIfItIsTheLastReturntestPragmaNoExtraSpace.testMethodOverridingTraitMethodIsKnowByPackagetestIsMathSymbol*testInlinedBlockArgumentIsArgumentVariable sizeLimittestDoubleOuterPasstestAnnotatedBlockTextElementstestSimpleUnresolvedtestNextPutAllEmpty testTerminateSystem-Settings-Tests testContainstestIncludeSelectorOfMetaClass9testReshapePointerToByteVariablePropagatesToDeepHierarchy testBmp32BittestNoRemoteReadInBlock testAddItem2testPrintShowingDecimalPlaces+testSearchForRegexpStartWithCaseInsensitivetestHorizontalBlockprintStringBase: testSampling1%testSelectSeveralShapesWithShiftClickMetacello-FileTree testBorder)testEvaluateWithBindingsWithUppercaseNametestDefaultAction$testHigherThanLastBCOffsetAccessTestAthens-BalloontestSubclassestrimBothtestIvalidReadFrom with:collect:testskipUpToNodeSkipTargetNode#testLayoutHeightTakesAllSpaceNeeded6testBuildPresentationWithHaltShouldReturnCodePresentertestUndefinedLastUnarytestUninstallCountertestSelectSometestSortedUsingBlock(testLogLocatorDataIsOkWithReversedDomain twoArgBlocktestAssociationAt*testRedundantPAckageTagRenameWithAbsentTagwithSeparatorsCompacted*Calypso-SystemPlugins-ClassScripts-Queries testDecoratetestMaxMinValues(testTooLargeAnIntegerInALiteralByteArraytestReturnTopFromMethod testFutureAndThenExecutesInOrderInternetConfiguration@testWorkerPoolDoesNotExceedPoolSizeWhenSchedulingTasksInParalleltoWritetestMaxExactInteger4testGlobalCounterReferenceAfterUninstallInstallationtestPreviousWordtestCreateNormalClassNamed testNextShouldReturnFirstElement testOpenLogKerneltestCompiledMethodCanBeExtendedtestNotifyArgumentBreakpointHittestFixedLocatorDataIsOktest4BittestWithHeight@testRenameClassUpdateMetaclassDefinedSelectorsInTheParentPackage testMerge3!testSequenceOfMethodModifications'testNextIntegerOfSizeSignedBigEndianPut%Calypso-SystemPlugins-FileOut-QueriestestRNGtestMultiRequirementOrderingtestHeaderAPIToSetTexttestFileOutSingleMethodRemoval'test0FixtureRequirementsOfTGrowableTesttestNoShadowingBaselineOfReflectivitytestSetIsReadOnlyImmediateSettestDoItContextReadIvarSubclasstestSystemWide4testTraitAliasTargetSelectorShouldBeExistingSelectorcount:NumbertestColoredNodesForEachtestMedianForOddSizeCollectiontestSingleUppercaseLetter\\0testWhenAnnotationFailsCheckForForbiddenPropertytestAnySatisfyaatestLoadAndUnloadtestParameterAttestAddTwoElementsHistoryRead)test0FixtureAsStringCommaAndDelimiterTest$testHasBindingThatBeginsWithClassVaratAll:testOpeningOnPackageescapeCharacter:testAddOneElementAndModifyClasstestValueWithArgumentsce@testWhenAddingBookmarkOnIsolateBookmarksShouldBeAddToAllInstance3testConvertingWithoutBasisObjectsWhenSomeIsNotExist,testUndeclaredReparationWithInstanceVariableSystem-Sources-TeststestExampleBlockInternal!testAddIntructionsBeforeFromLListarcTantestInstallRequestortestPushNewArraytestRemoveAfterClassRemovedtestKeywordOnMultipleLine13 test2DPointtestAPIFromBlock stopIndex testModeltestShouldAcceptNegativeIntegertestAcceptEntryLogsIttestDoItContextReadThisContext elementBlocktestNodeForBCOffsetTesttestCopyUpToLast stringStreamtestPrintingRecursive collect:into:testAsByteArraytestFigureWithParameterstestThirtyTwoBitRegisterXortestRemoveLeaf1testCompletionAfterKeywordSUnit-Support-UITesting-TeststestLoadTwoObjectstestNewFutureIsNotFinishedtestAutoLocatorIsDefault,testModifyingClassKeepsOrganizationOfMethodsbetween:testIncludeInstancesFromAllAnnotatingMethodsOfAnyClassInSystemMtestAndMakeSureSuperTearDownIsCalledAsLastMessageInTearDownMethodsOfTestCasestestSizeInMemoryOfCharacters,testColumnNotHomogeneousPairedRowsAndColumns`testChangeInInputSelectorWithFewAccessorThanArgumentsShouldChangePreviewLabelFinalWithFailedTexttestHasAbstractMethods+testPackageTagAdditionWithPackageTagRemovaltestTwoElementsContains"testProperConvertingProtocolIsUsedtestMorphInline*testNotAffectedByChangeOfNotAbstractMethodtestConvertFromFraction2testMergingTwoStylesWithASameClassHasLeftOnlyClasstestAddSelectedSingleRuleisLetter testHasBodytestfindCyclestestRemoveKeyIfAbsenttestInstallSimplePoint2 addMonths:testSpaceBetweenTemporariesisSequenceable0testRenamePackageAlsoRenameAllExtensionProtocols5testClassDefinitionToolIsNotValidWhenNotAClassContext testIsRoottestRevertOverrideMethodtestExtractSetupExample1testExampleNestedBlockScopingtestStubPackage nextPutAll:testOpenPackagesChooser testMethodAtexpandMacrosWith: testClassPool$testCreateAndUseStaticCompilerPlugin testExamples FuzzyMatchertestLeadingZeroJtestSubstringFilterDoesNotFetchTwiceIfTheFilterIsARefinementOfPreviousTextMonticelloTonel-CoretestWritesFieldtestExpressionRuntimeErrortestWithNullElement!testProperFileInOutProtocolIsUsedtestInt8testExtractSetupExample7lastRuntestVisitHttpImage@testChangingPcInTheMiddleOfStatementSkipsTheBeginningOfStatementtestAddTwoElements testNumbersManifest-TeststestExtraProvisionstestEscapeMonospace allButLastNtestOneCanProceedWhenIntroducingClasseVariablesBeginingWithLowerCaseCharacterstestTraitEmpty"testIndirectCircularHierarchyErrorIceberg-Libgit-Filetree*testLogLocatorDefaultSmallestPowerIsMinus3 testReject/testAllCallsOntestAllSendersOfASelectortestCopyAfterLastEmpty testHeadCelltestWhileTrueExecutesLeftBlock hslSaturation testSkipToPC2testOtherInstancesOfSystemDictionarySelfEvaluating dictionarytestUTF16EncoderByteOrderMarktestSelectIsNotShallowCopytestSizeUnsignedInttestIsWeakLayouttestAddInstVarNamedWithTraittestCopyAfterLast%testCopyNonEmptyWithoutAllNotIncluded)testSearchingSettingsFindsTheCorrectEntrytestSplitAnnotation!NewTools-ObjectCentricBreakpointsexceptionBlock testIconName testWriting$testFileReferenceExtensionMethod_dirtestTruesize4testTerminatedCriticalSectionShouldUnblockWaitingOnetestStylerDefaulttestCopyWithoutFirsttestFormatElementtestSelectShapesHaveShadowtestMethodVersionSizeAt$testOpenMenuCreatesCompletionContexttestAssignmentOfSelftestCompileString/testStepContextNonTakenConditionalJumpBytecodestestHasPasswordSetpermutationsDo:Math-Operations-ExtensionstestBeHomogeneous testCycle01testCloseEmergencySessiontestDigitAtPut testSameModel lastIndexOf:testShiftUpShortStacktestFormatReceivertestMouseEnterFromMorphtestNoEndPeriodInsideNewTools-Inspector$testDeprecatedAliasesOnExistingNamesReferenceFinder-CoretestInfinityCloseToprint:testFromTwoMethodstestConcatenationSearchtestWithFromTo<=Spec2-TransmissiontestNoRecursion+testDetectIfFoundIfNoneWhenSomethingIsFound0testBuildWidgetPresenterWillSetPresenterPropertytestInitialButtonDownIsDisable0testComparisonOfTwoAnnotationsWithDifferentClass-testStatementNodeContainingWhenNodeIsNotInASTacceptUnknownClasses:'testVennDiagramConvertsBigSetInputToSet*testMethodClassBindingShouldBeClassBindingtestOnlyWeakSubscriptionstestSimpleTableWithMoreLongRowtestAdditiveConflictlessMerge!testSizeWithGarbageCollectedValuetestChangeRemoveManytestShallowCopyEmpty#Calypso-SystemPlugins-SUnit-BrowsertestWithIndexDotestSemiperimeter*testDuplicatedInstanceVariableInSuperclasstestUTF8EncoderWidetestErrorCodeNotFoundMetacello-Core;testSkipUpToNodeDoesNotLoopWhenAimedNodeIsBeforeCurrentNodetestFlatCollect3testLatin1Encoder1testIdentityKeyAtNonExistantValueReturnsFailBlocktestIfNilIfNotNil3testNormalProcessCompletionWithLeftEffectiveProcess0testBestNodeWithValidPostionOnReturningMethodEnd8testMoveMethodFromExtensionToExtensionAnnounceRepackaged testPerimeter'testParentResolutionWithRemoteReferencetestSwapAdjacentEndtestCommentAPI testAccessorInstanceVariableSlottestInitializeInRoassal%testPoolVariableAccessibleInClassUsertestLoadSourceFilestestPackageNamedmr testLoad2fromCharacter:ifNone:&testSmartCharacterWithEventSelfClosingtestIsChildOfReferencetestParseLineWithOneCharacterthisX/testIteratorWithInfiniteBlockOnlyCallFirstTimesTranscript-NonInteractivetestShuffleChangeOrderdetect:testBehaviorWithMethodsname:testRemoveBehavior,testAccessingBlockArgumentNoneOptimizedBlocktestImageDirectorytestEphemeronClassIsEphemerontestCopyAfterLastWithDuplicatetestCopyWithAlltestBasicCollectThenDo'testAccessingVariablesInOptimizedBlock2Iceberg-LibgittestBehaviortNamedIndirect)testExtractOneArgWithMinusThenArgsWithoutFileSystem-Tests-AttributestestWithBordertestFloatCentertestDeadContextSourceNodetestSimpleSlidetestTimesRepeatWithTempInBlocktestAccessibleRealValues testExiststestWithExtensionAddsExtensiontestDefaultColortestGetMeanOfDatasetSizeOne includesAll: testNonEmptytestWatchVariableWritesInClass5testFutureSuccessCallbackIsCalledAfterValueIsDeployed testDebugAPI nextInteger:isDashPunctuation:testHistoryGreaterThanThreetestAddEmptyGrowstestFillingWayOutside2testContainsLocatortestSlotNodeBinding5testIsMessageSentInSystemWithTheSelectorInsideAnArraytestIsRegExpValidtestStepToReturnWithHaltError6testIsNotTerminatedWhenItIsInsideLastTerminationMethodtestAllInstructionstestNewLineBeforeEndBracketstestCreationByMethodCollections-Weak-TeststestLinkAPIToAccessText testCullCull testBlack8testAtAllIndexesPut'SystemCommands-RefactoringSupport-TestsprintElementsOn:.testEnvironmentWithCorrespondingClassIsCreatedtestPrimitiveNamed1,testRedefiningInstanceUsingBlockWithArgumentkeysAndValuesDo:StartupPreferences!testJoinUsingLastOnArrayOfStrings SUnit-RulestestIsBuiltWhenItemsExistasMonthtestGpsExample2testServeStaticFiletestEvaluation testAtLastPut;testIteratorOnACollectionWithTwoCollectReturnsCorrectValues,testUniqueClassInDefinedClassesUsingAddClass3testUnknowSuperclassShouldInheritFromUndefinedClasswe#testNewLineAfterBracesWhenMultiline%testNilIfNotNilWithArgumentReturnsNiltestUnsubscribetestStyleIsDisplayedtestWidenInsideBlocktestStoreBooleanToSton testFlippedtestPointMinimalInformation testSubstituteVariableAtIntervaltestAsUppercaseBasicAsciiRange testMerge2 h:s:v:alpha:)Calypso-SystemQueries-Tests-PExtendedByP1.testQuoteBlockDoesNotInterpretOtherBlockMarkup sum:ifEmpty:testExecutesConcreteQueryClasstestMultiplicationtestBasedOnBasisObjecttestNodeDistancesTo LogicalFont MetacelloCommandLineHandler-Core5testClassWithClassTraitCompositionHasTraitCompositiontest1Bit$testMultiplyByArrayIdentityTransformtestValueWithReceiver testCachedKernel-ExtraUtilsnumberOfWishedDecimal NumericNoisetestPreparationtestMemoizedLRUCache includesSubstring:caseSensitive:testIsAssignmentHiedraNtestStatementNodeContainingReturnsStatementNodeThatContainsTheIdenticalSubtree testLineStartVariablesLibrary-TestsbeginsWith:caseSensitive:testSystemAnnouncerClass*initializeHue:saturation:brightness:alpha:testAssignGlobalVariabletestDuplicateClassErrortestConvertFromFloattestRedundantClassAdditiontestConvertingToInheritedScope9testFutureSuccessCallbackExecutesInSameLocalProcessRunnertestSetIsReadOnlyFailure,testBadPathRemovingNonEmptySubWithSubclassestestNotSelectsNotAbstractMethod&testTryingToModifyReadOnlySubInstances(testConvertingAsRestrictedByAnotherScopetestScaleLinearClamp testAnnounceQueryEndedIsSentOnce0testFailedCriticalSectionShouldUnblockWaitingOne testAtAllPuttestBinaryFormatParametertestNewLineBetweenStatementNewTools-DocumentBrowser-Tests(Calypso-SystemPlugins-Undeclared-BrowsertestLoadChildren3testResetFilterWithNoFilterSetShouldNotAlterResultstestMutateByteStringyUsingAtPuttestSimpleTableWithFormatting"testIsTerminatingNormalTerminationtestDirectAnnouncementtestOrdinalScaleRangeRoundBands testFloorLogtestPrintVariableBreakpointItemtestThreeSpacesBeforePeriodallRangesOfSubstring:testAllSelectorstestIsEnclosingMarkIceberg-Plugin-GitHubtestFromTempVariabletestSumWithOrderedCollectiontestJoinArrayUsingStringnewPage6testClassWithSlotCallsInitializeSlotOnInstanceCreationtestMethodsForClass beginsWith:testDefaultMetaclass testProperManifestCategorization*testAtIfAbsentPutWithGarbageCollectedValue*testSequenceReturnsTheSequenceOfAllResults testParseTexttestClassVariableEntanglement$testFutureExecutesInNewProcessRunnertestNegativeIntegerPrintingtestCanvasInspecttestIsNotRelativetestUTF8ByteOrderMarktestAddMovieDirector"testParagraphEnvironmentParagraph3,testNotNilIfNotNilWithArgumentEvaluatesBlocktestMakeReslolvedtestMinimizeWindowtestMultiPartAlternative-testAreDifferentForDifferentAnnotationClasses#testInvalidNameFollowedByAValideOnetwotestBoldWrappedElements Traits-TeststestDoubleClickFromMorph#testRetainBlankLinesBeforeComments20testTranscriptPrintingWithOpenedTranscriptExists IdentitySet dividend:testAllBreakpointsForModeltestFutureCollectFailsOnFailure testStartStop#testSelectionInFontStyleListIsKept2testRevertToInContexttestStoreBase16numberOfDigitstestIncludeClassWithExtensions*testBuildVariableInstanceVariableHeuristictestSimpleTwoDelaysBaselineOfRing#testCreateClassWithTwoClassVariable*testDependenciesWithoutExtensionDependencyhumanReadableByteSizeStringNewValueHolder-CoretestNoTraceForEnabledHalttestFindThisPackagescaleTo:testReplaceFromToWithStartingAttestByteArrayRangeCtestIsAbsoluteWindowsPathReturnsTrueWhenWindowsAbsolutePathProvidedMultilingual-EncodingstestHashingPepperExternalProjectLoadertestSelectedMethodVersion test2ClassestestNotifyTempBreakpointHitlastElm$testwhenSelectionChangedDoFromEditortestSizePointertestSizeSignedLongWindowstestBaseAndExtension,testDeepCopyMethodNeedsToBeInCopyingProtocoltestImplementorsMatchingtestTargetedToolsWhenOneContexttestRecompiledReturntestInitializeWithPackagestestAllNamedFromTo+testGlobalCounterReferenceAfterInstallationaa:bb:cctestProtocolNamedtestCompiledBlockSourceNodetestReversedIsOrderederrorSizeMismatch aSortBlocktestRemoveEmptyPackagesAndTagsto:do:+testCanGetFormOutOfBase64EncodedStringImageTaskItleftSpec2-Code-Backend-TeststestAnnotationNoArgs$testReadInGivenContextShouldIgnoreIttestLoadNotCorrectMicrodown testAsSetdetect:ifNone:testEnvironmenttestHomeClosesCompletionContextaSymbol.testModifyProtocolToExtensionUpdatesThePackagescaleBy:testPrintNameOn testCeilingtestUnaryMessageComments testAtWrapPutasBag*testIdentityKeyAtExistantValueReturnsOkKey/testEnvironmentClosingNotEatingClosingCharacterspacetestExtraIndentInParentheses findFirst:%testMethodAdditionWithProtocolChangedhighBitOfPositiveReceiverCollectionIsEmptytestRestartContextAttestChangeSuperclass testStackSize==>testIcontestPositionOfSubCollection$testSpecialLiteralsNotInLiteralFrametestAddAfterLastdarkertestWatchVariableInObjecttestObsoleteClasses*testTrueIfTrueIfFalseReturnsTrueBlockValuetestDisabledHaltIsDisabledBaselineOfQualityAssistant.testSearchForExactCaseInsensitiveStringMissing#testExampleTwoBooleanSlotsRemoveOneKtestBroadenFilterAfterFetchCompletionShouldBroadenResultsWhenCaseInsensitve testAtPutDicttestWikipediaExample2testIsFinalQuotetestDoitContextCheckClassFtestRealActiveProcessFromProcesorShouldIgnoreInstalledEffectiveProcesstestCanExecuteOnArgumentNode0testFutureFirstCompleteOfFailsIfFirstFailsFasternew Microdown SUnit-VisitortestSimpleDefinitionWithSlots3testSpecialGestureOnInnerMorphTwiceGoesToOuterMorph"testSimpleDefinitionWithEmptySlotsCollections-Abstract-Tests howManyMatch:testClassWithInstanceSideImpacttestAtPathIfAbsenttestMethodPackageResolution testExpiring testStoreBaselineOfEqualstestIncludesKey testReadAll"testSimpleDefinitionWithTypedSlotstestUnresolvedValue testBigArraytestCannotDeployTwiceIntoFuturetestInitializeQueueWithBaselineOfSortFunctions Ombu-TeststestPushTempArgumenttestTraitModificationtestMicrodownImporttestRemovePasswordProtection testBitOrtestGoodPathTwoUnusedVariablestestCommandOrGroupNamedtestActiveHomeCleantestWatchVariableReadsInObjecttestSplitBlockLinkInlineImage!testExampleSimpleBlockLocalNestedtestBold!testEscapeCharacterTwoConsecutive testMappingtestWriteAndReadCompiledtestSkipStepsMethodNodes4testBoldsAndNestedItalicsWithClosureAfterOpenItalics?testPackageCommentToolIsNotValidWhenReferencingDifferentPackagetestIfNotNil1ArgAsVaracc testEvictiontestWritingOverflowtestWriteAndReadBoolean)testInferInstanceVariableUsedInInitialize,testOtherInstancesOfSystemDictionaryAsStringtestBoundaryContainsAnytestFutureOnDoSucceedsOnSuccessDebugging-CoreSpec2-Dialogs-TeststestMarshallingOOPIsSameObjecttestLastIndexOf)testUnresolvedClassGroupCreatorPropertiesdiff: associationstestFirstItemIsSelected$testIsExecutedFromScopeOfBasisObjecttestAndEnvironmentMorphic-Widgets-FastTable>testCanCreateBitBucketRepositoryFromUrlWithExplicitHostAndPortDrTestsScriptingExtensions-TeststestCompileFromText-testMergingNestedRectanglesReturnTheContainer Equals-TestsKeymapping-Tools-SpectestIfNotNilIfNiltest0FixtureTRemoveTest#testRemoveShadowWhenShadowIsRemovedtestBoundsBug10351testClassDefFromLegacyStringHasSuperclassNameNode,testBinaryMessageFormatCommentsWithStatementtestBoldAPIToAccessText!testMonospacesWithDoubleBackSlash testReplytexttestIsOfflineTrueNotFoundtestNumberOfMethodstestPrintPathOntestMixedMethodRoassal-LegendtestAccessingCreatedShapestestKeywordOnMultipleLine6testAddEqualElements"testClassTraitIfTraitAlreadyExiststestWeakSubclasstestIsOtherPunctuationGtestRefersToLiteralsReturnsTrueWhenLiteralIsContainedInArrayOfLitteralstestSingleRemoteMethodArgument*testSearchForRegexpEndsWithCaseInsensitiveNetwork-ProtocolsFileSystem-Disk-Tests>testIsAffectedByChangeOfSubclassMethodWhichOverridesSuperclass difference:testNodesForEachAndLAyouttestLiteralCharacter8testNegatedFilterIsNotNarrowThanANegatedWithANonNarrowedUndefinedClasses-TestsTool-MorphicProfiler%testNoNilAssignmentInInitializeMethodtestRechainWithChainsAndNiltestWithParentsOnRootReturnRoot-testPointerWithVariableExtensionIsNowVariable&testRecompilingDoesNotRemoveExtensionstestFormatMessagetestPc testAngleWithtestUTF32EncoderExampleFromD99 oldObjecttestSelectedTabsAreNotBuildtestSendsSelectortestBagCommander-Core-TeststestRegisterSubRegistertestFindJPGPreviewerItestMoveToNodeWhenFromNonInlinedEmbeddedBlockToNodeThatIsNotInHomeContexttestWithWeirdValuesLinetestHighlightAllShapestestComposeDisplayText(testPackageTagRenameWithPreviousRollback.testSimulatingAMethodWithHaltHasCorrectContexttestReflectiveReadWriteBlocktestBackWindowsAreFindtestInvalidPragma1testFutureFlatCollectSuccessOnMappedFutureSuccess!testDegreeSinForExceptionalValues$testAddRemoveBreakpointKeepTimestamp!testRefreshCacheWithScanAllSystemasDate secondArgstringtestColumnSpacing'testComparisonOfFunctionsDefinedByBlocktestParentResolution+testForbidCreationOnScopeWithoutEnvironmentnormalizeCamelCasetestStylerSpineRedGraphics-Tests testTickstestJumpOnBlockPipe'testIsNotSuspendedWhenItIsActiveProcess&testItemsAvailableInTestCoveragePlugin testWidthtestWidenOnErroneousMethod testDumpStack indexOfAnyOf:!testNonDuplicatesRemoveDuplicatesbitXor:testKeywordFormatReceiver2testHextestRomanPrinting OSWindow-SDL2RottenTestsFinder!testSingleLevelListAllBulletTypesMonticello-GUI-Diffmax:testSize3testWorkerPoolWorkersAreStoppedAfterPoolsCollectiontestReferencedClasses shuffleBy:aRandom testNthRootCursortestConvertingWithNewScopetestUndoIfEmptytest0FixtureIterateTesttestArgumentNamedtestPrintString_oneParamtestOneOverTwotestFiveSpaceAroundBrackets testBuildsDefaultResultByDefault testBitStringbeBetween:and:WebBrowser-CoretestOneLineMessage&testFillingWithOnlyClassWhichHasTraitstestDoItContextReadTemp(testMutateObjectFirstInstVarWithManyVars testGreen8testZeroElementMCMethodDefinition"testKeyAtExistantValueReturnsOkKey testAtLast4testCoverageResultIsAnInstanceOfDTTestCoverageResult%testCopyForBehaviorDefinitionPostCopytestByteDecodingtestCrossProducttestEmptyCredentialstestBehaviorLocalyDefined-testSplitOrderedCollectionOnOrderedCollection groupedBy:!testBreakDebugPointOnVariableReadtestAssociationAtIfPresenttestRegisterCommandWithContexttestKeywordFormatReceivertestSearchBinarySystem-CommandLineHandlertestRemoveFirstNotPresent/testSpotterModelShouldWaitToPerformActualSearchtestErrorsArePersonnalized testStoreTemp0testSourceNodeExecutedWhenContextIsJustAtStartpc,testStepContextTakenConditionalJumpBytecodes!testPopupOnElementNotAddedToAViewfromHexString:|testRemoveClassSlotAndMigratetestWriteAndReadtestCompileValuetestXdgParseUserDirLineNotRootisInstanceSideDelaytestLocalDirectorytestHeaderLevel4)testDictionaryConcatenationWithCommonKeystestOtherNewFromtestCustomSearchBlock truncatedtestNaN4 testSetTitle"testConvertingToSomeHierarchyScope+testFutureOnDoFailsOnTrappingWrongException&testButtonDownClickWithoutSelectOption Manifest-CoreasCommaStringAndcompareWith:collated:'testLiteralsEvenTheOnesInTheInnerBlocksRoassal-Layouts-UtiltestRedundantMethodAdditiontestDoublePassOutertestRedundantMethodModification!testConvertingWithNewBasisObjectstestVerticalBar testLinesDotestStepToMethodEntryMetacello-Bitbucket%testDetectIfFoundWhenSomethingIsFoundSystemCommands-PackageCommandsoptionOptimiseSpecialSendstestMustInclude03testalltestWatchVariablesInObjectoptionInlineTimesRepeattestBinaryFormatReceiver testRed16 testSindarinSessionInstantiationtestAcceptEntryLogsItsSource Morphic-BasetestDeclareInstVarBlock testAddTrait%testBroadenFilterShouldResetTheFiltertestUTF32EncoderWidetestByteArrayLiteralQtestAddMethodInExtensionCategoryNotExistingCreateANewPackageAndInstallsMethodInIttestBreakpointOnAllTempAccessestestPragmaEnvironmenttestPossiblyUsingClassestestNewLinesBetweenTopCommentstestIdentityAddtestMixedSignDigitLogictestNewFromPairs asCharacter testAddClass aByteStringtestImportAMethodWithLangTag BaselineOfQAtestPrivateReplaceFromTotestMultiPackageMerge2 lastValue testCPathtestBadKernelArgumenttest6test05addBeforetestAllNamedInSortedUsing%testNoNewLineBetweenVariableAndIfTrue testSubtractiveConflictlessMergeRing-TraitsSupport1testDoesApplyForMethodNodeInContextWithSuperclasstestDigitLengthtestInferiorOrEqualstestUseUndefinedClassyear:month:day:&testToolsToRemoveWhenManyToolsToRemove3testShouldWorldMorphBeAfterFontClassesInStartupList!testRemoveFromSystemRemoveAllTagstestStylerTitleLabelatPin: OSWindow-CoretestUTF8EncoderRandom testRawFormat7testRedundantBehaviorRepackagedChangeWithAbsentBehavior'testCanBeEnumeratedForGivenClassAndUsertestVariableCannotExtendBytey01testClassCreationToolIsValidWhenClassGroupContext testMidPointtestComputeDependenciestestIsOtherLettertestAsFloatPointtestMarshallingTrueReturnValuetestListTakesAssignedSpaceRing-Definitions-Core-TeststestLinkBoldAPIToAccessTextidentityIncludes: testTestingtestRemoveLeaf2testPrintStringBasetestBinaryNoExtraSpacesBeforetestCreateImmediateClassNamedGraphics-Shapes testAllSlotssplit:indicesDo:-testFutureFailureCallbackExecutesInSameWorkeraPointaverageIfEmpty:(testRenameProtocolAsWithExistingProtocol sortedCounts+testLayoutChangeShouldAnnounceClassModified testMonospacesWithTwoBackslashestestRedundantMethodRemovaleighth testFontSizetestStringUrlDecodedMorphic-Widgets-PluggabletestPushConstantZeroBytecodetestDescriptionTexttestNoNewLineAfterCascade22testAccessorInstanceVariableSlotGeneratesAccessorstestSelectSomeOther2testSpecialGestureOnOuterMorphPutsHaloInOuterMorphtestUnaryFormatReceivertestClassSideWithTraits)testReshapeClassPropagatesToDeepHierarchy%testStoredCredentialsUsesMostSpecifictestCopyNotSame#testCanCreateHttpsRepositoryFromUrl ifNotNil:testTallyTreePrintWithTab!testRecycleToolWhenValidInContexttestKeywordOnMultipleLine7testRemoveSelectedComposite'testMethodRemovalWithMethodAlreadyAdded testDigitSumtestSizeUnsignedInt16testForTiltedStickyness backspacetestModelOfEachViolintestPrintPathOnDelimitertestShouldAcceptNegativeFloat testBmp24BittestEnvironmentStubs7testSimulatedTerminationOfProcessDoNotCorruptTheContext)testConvertingWithoutExistingBasisObjects firstParmeuroselectortestNotRenderingOfMyOwnCommenttestProtocolNamedIfAbsenttestSliderMouseUpReleaseDrag testPairsDoBaselineOfSystemCommandstestPrintStringHextestDotProducttestPlotExtenttestExtractSetupExample4DtestRemoveProtocolIfEmptyWithNonEmptyProtocolDoesNotAnnounceAnythingtestInstallCountertestHorizontalAttachPointtestWithCollecttestAllClassesImplementingAtestExistingTraitWithClassSlotsArePreservedIfChangingInstanceSidetestExampleIfIfNotNilReturnNil"testCanCreateHttpRepositoryFromUrltestIsSpaceSeparatoroverlappingPairsCollect:ndtestMarshallingStringArgumenttabtestUnmatchedByteArrayBracket-testIteratorWithSingleElementIsAtEndAfterNexttestNeedsRebuildByDefaulttestFullSpectrum"testRemoveProtocolWithRealProtocoltestPharoVersionFileExists Roassal-SpectestInlineBlockCollectionLR1testAtIfPresentIfAbsenttestInsertionWithMaxLength,testSetPackageOfClassAnnounceClassRepackagedtestwhenTextChangedDostring1)testReturnExtraSpacesInIndentWhenMultilne)testCloneMethodNeedsToBeInCopyingProtocoltestGet075QuantileInvertedCDF CSSeparators isSortedBy:testAnchorRefernce/testFinalizationWithMultipleFinalizersPerObjecttestCompileTemps Iceberg-TipUItestIndexOfDuplicatetestPutNegativetestRemoveTaggedClasses$testTempNamedTempCopyingNestedBlock2 testTwoGroups testTraitUsetestPredecessors reduceRight:testBuildLiteralArrayHeuristic5testSettingNewEnvValueDuringRemovesItAfterDuringBlock$testNonResumableFallOffTheEndHandlerisPoint shorterLengthtestStoreAndLoad"testRemovePropertySlotWithInstance$testDuplicateClassPreserveClassSlotstestAllSlotNamesFor;testWindowShouldBeSaveBeforeShutDownSaveAttributesButNoRoot testBasic02testMergingDisjointRectanglestestNextVersionNumericFilenametestMethodWithoutImpact2testInjectingExceptionHandlerIntoNotRunningProcesstestForeignMethodModified testAddAll2testAddRemoveBreakpointtestSplitArrayOnSequenceelementAndIndexBlocktestRemoveOneOfThreetestMessageText System-ModeltestBuildPragmaHeuristictestThatAllMethodsArePackaged collatedBy:testJumpOnSecondKeywordtestRemoteTempInVectortestAsFormAtScaletestContainsPath$Calypso-SystemPlugins-Traits-BrowsertestIndexOfStartingAt testUnOrderedListAPIToAccessTexttestWithOutgoingLinestestExampleSimpleBlockEmpty)Calypso-SystemPlugins-Flags-Queries-Tests testContents3testInstanceCreationMajorMinorSuffixBuildCommitHash$testBestNodeWithValidBinaryOperationtestShiftMinusOne1LeftThenRightstoreOn:base:length:padded:(testSkipSkipsSuperSendBytecodesCorrectlytestMergingOverlappingRects testWithWithtestOneRaisedToInteger2testBlockWithInstanceVariableReturnsLastExpression(testOrdersMetaClassAfterItsClassInstance testInvert&testBreakDebugPointOnClassVariableReadtestWriteSlotNamedValue(testMethodsEnumerationWhenBothMetaLevels;testFixedClassWithTraitCreatedShouldntAnnounceClassModifiedtestToolsToInstalltestSimpleBlockASTMappingJtestTerminatingBlockedCriticalSectionShouldNotUnblockAnotherWaitingSectiontestWithTitleAndLabelstestSearchStringUpdateShadow Calypso-SystemTools-QueryBrowser,testInputFileOnOneLineWithJunkSpaceBeforeEndtestIndexesArrayWithCompositessignReflectionMirrors-Primitives testClassesbitAnd:3testComparisonOfTwoAnnotationsWithDifferentSelectorRoassal-Animation-TeststestCompileWithEnvironment*test32BitFormBlackShouldStayBlackAfterSave testDoPoptestDeprecatedAliasesKeymapping-SettingsreplaceFrom:to:with:startingAt: testClone;testDetectIfFoundWhenSomethingIsFoundIgnoringTheFoundObjectvaluestestHome isSeparator#testStringWithoutInitialCommentFromBaselineOfZodiactestWriteComputedSlotCompiled7testOptimisedValueSpecialSendsMessageDoesNotCaptureSend testPrimBitOrtestIsUppercasetestErrorCatchGtestMoveToNodeWhenNodeIsInBlockThatCreatesContextAndBlockHasBeenCreatedtestCreationUnifiedInstanceonetestSimpleRetryUsingtestIsEmptyFromEmptyMethodScope testCenter testColorSpec2-Adapters-MorphictestRemoveAllError4testSetUpToolIsNotValidWhenReferencingDifferentClass*Calypso-SystemPlugins-ClassScripts-Browser0testLookingForDiskStoreWithSpaceReturnsDiskStoretestSizeInMemorySmallIntegerstestOnForkErrorExecutesBlock testInBounds aColorHex)testMergeWithPredefinedFontCanBeDecoratedtestMultDicAddSubtestSumUnsignedInt64testNewVariableBreakpointItemtestCommentWithStyle1testRebuildPresenterDoNotLetReferencesInAnnouncerRoassal-SVG-TeststestHasSelector'testSecondScriptShouldNotBeChildOfFirstbyteAt: testLowBit*testOrdersACollectionOfClassesBySuperclasstestNoUnusedClassVariablesLeft*testApplyHeightChangesTheHeightOfTheWidgettestRemoveSlottestInitialInstanceIsEmptydltestNewHaltItemtestErrorOrdersquo:3testGettingAllRedefiningInstancesShouldCleanGarbagetestFirstBCOffsetWithBlockOpalCompiler-UItestUTF8EncoderIncompletetestExtensionClassNamestestSumUnsignedLongtestReplaceFromToWithtestMethodsAccessingSlot testMaxIfNiltestOptionAtifAbsent%testCompileClassifiedWithUnclassified#testFutureFallbackToFailsIfBothFailBaselineOfHeuristicCompletiontestCompileClassifiedWithNil&testFigureWithParameters_withoutQuotestestBreakOnAccesstestReadOnlyImmediateFileSystem-Zip testStringsCtestBestNodeWithInvalidMethodIncompleteMidSourceNearPreviousMessagetestIncompatibleBehaviortestEscapeEncode testMerge4 atAll:put:alike:testDotestPerpendicularBisectorClap-CommandLine2testCancelCompletionInClassWithDynamicExtentLogsItwriter&testAccessingVariablesInOptimizedBlocktestNumberOfBoxesv7testPopularStringDoesReturnOnlyTwentyResultsWithCapitaltestKeyAtIdentityValueIfAbsenttestHash/testConvertingToAnotherScopeClassShouldKeepNametest4BitReversed=testWhenCustomizeFilterShouldFilterDropListPresenterIncludeIt=testFindThisMethodWithFullClassDoesNotIncludeOtherClassMethodtestDemoteToRPackageNamedtestIsEnabled2testNewMethodWithHalttestBodyPharoCommonToolstestBehaviorRepackagedChange3testIncludeCopiesForEachSubclassOfOriginDeclarationFileSystem-Core-TestsCaseInsensitiveOrder2testJPGPPreviewerCanBeUsedOnParameterFileReference!testOrWithLeftFalseEvaluatesRightFreeTypeSettingstestVisibleAreaTopLefttestIntersectionsWithRaytestMutateVariableObject+testJPGPPreviewerCanBeUsedOnParameterStringTool-ExternalBrowserstrmTool-FileList-TeststestUnclosedOpenerstest0FixtureConcatenationTestBaselineOfMenuRegistrationkwds8testInjectingMultipleExceptionHandlersIntoRunningProcesstestOneMBAllocation)testCompileClassifiedWithProtocolInstancetestAbsoluteWithParentstestSizeSignedIntGraphics-Canvas-testMixingOrderedInsideUnorderedWithParagraphtestSelectedMethodstestFalseIfTrueReturnsNilBaselineOfSUnittestBasicCoverageanObject3testCompilerUsingCleanBlockClosureHasBlockAsLiteralRtestReplaceKeywordTokenWithCaretInTheEndOfWordWithFollowingWordsReplacesEntireWord4testFromPathReturnsBlockValueIfPathNotPartOfAnOrigin primitive:0testVeryDeepCopyMethodNeedsToBeInCopyingProtocoltestCategoriestestRemoveTestSlot testLeavestestStepIntoQuickMethod*Calypso-SystemPlugins-Critic-Queries-Tests anotherIndex%test0FixtureCopyPartOfForMultipliness'testFillingWithObjectAndTwoProtoObjects asNewArray"testParagraphEnvironmentParagraph2testIsReferenced System-TimeobjBtestFillingWithTwoClassWhichInheriteSameTraitsAndTheirSuperclasses0testThirtyTwoBitRegisterLoadFromReverseByteOrderlastDelimStringtestLabelShapeHeighttestFutureZipFailsIfSecondFailstestAtPutExactSizeNumbertestJustClassNametestEventsDraggableCanvastestTwoNewLinesAfterSignatureBaselineOfAthens:testRefersToLiteralsReturnsTrueWhenLiteralIsGlobalVariabletestBlockCannotReturntestResignalAs Zinc-HTTPtestPushTempTemptestExampleSimpleBlockLocaltestStylerRedTick"testMoveDownInStackFromLastElement%testAnnotatedBlockWithListParserLogictestArrayBindingsWriteGlobals+testPackageTagRemovalWithPackageTagAdditiontestCommentOnMultipleLinesRefactoring-CoretestRemoveProperty#testTwoCriticalsShouldWaitEachOtherBtestRemoveMethodComingFromTraitDoesNotRemoveMethodFromTraitPackageAtestPackageOfClassForClassesNotDefinedInPackageButJustExtendingIt testSorted6testReplaceTokenWithCaretOnEndOfWordReplacesEntireWordtestAddMovieDirectorTwice.testBestNodeWithInvalidPlaygroundParsableError%testRedundantBehaviorRepackagedChange testReturn1testEqualBlocktestAllButFirstElements/testConfidenceIntervalMaxIsGreaterThanQuartile3"testLastIndexOfStartingAtDuplicatetestMaximizeWindowtestBasicCollectEmptyAST-Core-TeststestInitializerDefinition.testFixedLocatorRaisesErrorWithEmptyCollectiontrimresetTo:testFastPointersTotestBreakOnceInContexttestDecodePlusAsSpace'testComputeDensityCurveDataOnlyOneValuetestNthRootTruncated$testAddingSlotDoesNotRemoveExtensionHtestWorkerProcessInstancesAreCollectedAfterStartingAndStoppingWorkerPool!testTwoConsecutiveEscapeCharactertestTraitPlainSimpletestDetectNoChangetestAllStoredSettingstestSixtyFourBitRegisterAndtestAsScaledDecimaltestToLongNewLinetestCompletionOpenOnUnderscoretestClassifyUnderWithNil'testTrueIfTrueIfFalseEvaluatesTrueBlockIceberg-Metacello-Integration$testIsExecutedFromConcreteScopeClass2testConvertingWithNewBasisShouldKeepMetaLevelScopetestScheduleExecutestestByteArrayWithinArrayalpha testWithPopuptestResolvingConsistency1testChangingOtherPriorityLowerDuringSemaphoreWait%testWriteInGivenContextShouldIgnoreIt"testRetainBlankLinesBeforeCommentstestNestedExcursiontestIsImmediateLayout testCompositetestReadIntoLarger)testBestNodeWithValidCascadeLastStatement#testObservableSlotWorksAsNormalSlottestEscapeCharacterInLinkName testAddLastRoassal*testCanCreateLocatorFromStringWhenSamePath atAllPut:testMarkBlockPointBlocktestInstanceVariableShadowingtestAllReferencesToDoContexttestJumpfirstArg toString:testClassCreationToolIsNotValidWhenReferencingDifferentPackagetestAndSingleBitWithMinusOnetestLinearLocatorDataIsOktestMetaclassNametestFutureExecutesSystem-SupporttestKindtestSelectThenCollectOnEmptytestMoveUpInStacktestInexactSqrttestNewMetaclassTrait5testHeuristicBuilderForSingleHeuristicWrapsNonWrapperStdiotestExpandedProtoObjectClasstestWeakClassVariableReflective>testLogLocatorSmallestIndexIsCorrectAfterChangingSmallestPowertestRedefineSuperclasstestDrawingWayOutside5testFutureFallbackToHasSecondValueIfFirstFailsAndSecondSuccesstestRemoveArgumentstestVariableClassWithTraitCreatedShouldntAnnounceClassModifiedtestDeepMultipleLookuptestCreateSubclassOfArbitraryExpressionReturningNilThrowsError'testErrorProducedByAllocatingInTheImage testAtPathtestLargeShift*testSteppingAnExecutionSignalingExceptionstestModifyLabel#testTestCasesEndsWithTestOrTestCase*testDetectNoChangeBecauseLogFileWasDeletedtestAbsolutePrintStringtestLogLocatorNumberOfTicksIsOktestCompileClassified/testWrapStrategyShouldNotProduceDuplicateLabels testChange testIsFile testUpToAllselect:testCreationByUnresolvedNamedtestShapeHasShadow3testSkipToPcDoesNotLoopWhenAimedPcIsBeforeCurrentPc findTokens:Collections-Strings0testUnnarrowingAndThenNarrowingReturnsSameResultnumberOfDigitsInBase:</F rNze(m?G^: fd}+ lWnJva $i;CZ6 Ib4y' :jF Yr] 'e7|?kV2^0 u#O{B Ya3_x; 9R .Z ,q> QjU-]/ t7c|N*VmG#:Q}Y+p3 xJ &vR$iC6M/*yU'ltF"rN  e(A ?2 I! uQ dh+pBJHa=;.ZERqMd'l>FD]9 e 7|* =m0I \`#h:  B nY5a3x&RiE\d6 {>U1 D]/ t7"  5NA mX`2w:Q- @Y+Wp  _  1J &$= T\. o  s60"{M)U'l-F "9eP|X*o2wI%u 8h  W  )BWa5aL$xT| Rk.sE!6d@1]H tP |g* zoAI`<h:-YDpLc&Rk=iE \ 8 d6{>)  <Ul /Ht_"g9~A X 4`2w:%Q#ZODp[c5 z=T0\. s!M@lW_1 v e~P,X*oI%<hSB[- r5 zL(TkE!8dO{W)nvH$ 7P"g  (4`K#wS  j-rD Lc?=0\G sO{fn@ H_; g9~,XCKwb%j< D [ 7 c 5z=(kG  Zs ^!f8  }@W3_ v$PCZb4`y<:S /[ - Yr   aL?kV ^0   \u 8 d}6O+W )Un1H $;gR~FLPositive32SmallIntegerClustero/8($"1)#+9[$mpV8!s4L'12̾*1Y6QՐ|!ҹ:f]-n#? ʵ&g%o`*d&-YEJ9bv(CJ\1234ܰ[ f;)[+0\1q/]R81111!!< "'6E,@ m"_=n>T /9-t 2, 0N뫵,7/&n1HiƝ.fgЙ &g!A+21\ FLHookPrimitiveClusterQ?333333@??\(\7tJM7KƧ@N?陙@f |3!@ Q@lp@lVϪ .1@aaao?@Ul@ (\)?@L@@Yfffff?o[o\(\@$fff]`@l"h ԕ?XbM?گ%?گ%?ٙ@2t@$=p =?@@$?4֡a?mR$/@lp@$@ 333333?@?zG{@?ܒ5?ə@n@i@&P@$ffffff@ ?@$vN@7iBĿ?PbM?ڹY@ !n?.B9@@7tJM@7KƧ?tzG{?zQ@? 333333@^?yc@Y@&P{`@v@ Q?Q_@ .1?ffffffFLHookPrimitiveClusterFLHookPrimitiveCluster'Pfoo10foo119a191000000000000013 (Color h: 0 s: 1 l: 0.5) >>> (Color r: 1 g: 0 b:0)isNotEmpty "Answer whether the receiver contains any elements." "#() isNotEmpty >>> false" "#(()) isNotEmpty >>> true" "'' isNotEmpty >>> false" "' ' isNotEmpty >>> true" ^ self isEmpty not salkjsdlkgfee 000000000000yAnswer my value constrained to the interval [minValue ; maxValue] I take care of the situation where minValue > maxValuea30 $-Tests-unix-64-UndefinedClasses-Tests-Test.xml #[ 1 a 2 ]collect: collectBlock thenSelect: selectBlock "Optimized version of Collection>>#collect:thenSelect:" "(#(1 2 3) collect: [:each | each + 10 ] thenSelect: [:each | each even]) >>> #(12)" | each | ^ self class new: self size streamContents: [ :stream | 1 to: self size do: [:index | each := collectBlock value: (self at: index). (selectBlock value: each) ifTrue: [ stream nextPut: each ]]]10!'' expandMacros >>> String tab025Oascending "Return a SortFunction around the receiver, where the receiver will be used as a unary message to send to both a and b during sorting, and then the result of said send will be collated in ascending order using the <=> method." "(#('abc' 'de' 'fghi') sorted: #size ascending) >>> #('de' 'abc' 'fghi')" ^self asSortFunctiony14(STON fromStream: 'Point[1,2]' readStream) >>> (1@2),foo "a" "b" "c" "d" "e" "f" "g" 50s:1 e:3 s:6 e:8 s:11 e:11 foo < bar e *foo*zort!'' expandMacros >>> String taba5h(String streamContents: [:s| 'abcd' asStringOn: s delimiter: ', ' last: ' and ']) >>> 'a, b, c and d'd1.010aP(#(1 2 3) flatCollect: [:each | { each. each+1 } ] as: Set) >>> #(1 2 3 4) asSetTools310Tests-unix-64-NautilusRefactoring-Tests-Test.xml02sort "Sort this collection into ascending order using the '<=' operator." "{8. 5. 3. 9} sort >>> #(3 5 8 9)" "{#a. #b. #z. #d} sort >>> #(a b d z)" self sort: [:a :b | a <= b] 2r00101000 168Answer a copy of the receiver in which all occurrences of oldSubstring have been replaced by newSubstring. ifTokens (valid for Strings only) specifies that the characters surrounding the replacement must not be alphanumeric (space). When ifTokens is set, it means that the replacement will not occur inside word.30.9800011PReturn true whether the receiver is a class (in a couple class/metaclass sense).aAnswer the index of the last occurrence of anElement within the receiver. If the receiver does not contain anElement, answer 0.Find the index of first character starting at start in aByteString that is included in the receiver. Default is to use a naive algorithm. Subclasses might want to implement a more efficient scheme. Return 0 if not found.11a1929716-31111##() asDictionary >>> Dictionary new7'abc' capitalized >>> 'Abc'9c0.5/({'hello'. 'world'} includes: 'hello') >>> true*<(1024 * 1024 * 1024) humanReadableSISizeString >>> '1.07 GB'125516rCl(#(1 2 3 4 5) groupedBy: [ :v | v odd ]) asString >>> 'an OrderedDictionary(true->#(1 3 5) false->#(2 4))'4-Tests-unix-64-Collections-Weak-Tests-Test.xml'for the style (aa max:bb) with no space012Ab cd ef Ab cd16PThe receiver is assumed to represent radians. Answer the conversion to degrees.11indexOfAnyOf: aCollection startingAt: start ifAbsent: exceptionBlock "Answer the index of the first occurrence of any element included in aCollection after start within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock. Note: it is user responsibility to provide aCollection that behaves relatevily fast when asked for includes: (like a Set)" "(#(a b c d e) indexOfAnyOf: #(x y c) startingAt: 2 ifAbsent: 7) >>> 3" "(#(a b c d e) indexOfAnyOf: #(x y c) startingAt: 4 ifAbsent: 7) >>> 7" start to: self size do: [:index | (aCollection includes: (self at: index)) ifTrue: [^ index]]. ^ exceptionBlock value110@311(#(3 9 1) sorted: [:a :b | a >= b ]) >>> #(9 3 1)#( #( 0 1r2 3 ) )<('pharo' beginsWith: 'phuro' caseSensitive: false) >>> false foo < bar: 0.9899M(#( (2 -3) #((4 -5)) #(-6)) flatCollect: [ :e | e abs ]) >>> #(2 3 #(4 5) 6)2018Character expected 'abcd' asFourCode >>> -513645724nnnuu)Tests-unix-64-Zinc-HTTP-Examples-Test.xml7ifTrue: trueAlternativeBlock ifFalse: falseAlternativeBlock "Answer with the value of trueAlternativeBlock. Execution does not actually reach here because the expression is compiled in-line." "(true ifTrue: [ 'That is true!' ] ifFalse: [ 'That is false!' ]) >>> 'That is true!'" ^trueAlternativeBlock value4 . 'hello'21920188Ymodulo. Remainder defined in terms of //. Answer a Number with the same sign as aNumber.EisAllSeparators "Returns whether the receiver is composed entirely of separators i.e., a space, tab, lf, cr, and newPage" "(Character space asString, Character space asString) isAllSeparators >>> true" "(Character space asString, 'a') isAllSeparators >>> false" self do: [ :c | c isSeparator ifFalse: [ ^false ] ]. ^true163aeiou10TAdd new empty slots to the front of array, while keeping the empty slots at the end.0S#[31 139 8 0 0 0 0 0 0 0 99 100 98 6 0 29 128 188 85 3 0 0 0] unzipped >>> #[1 2 3]onee:!(2 ifNotNil: [ :o | o + 3]) >>> 5/#( #':=' aa: #= #':=' #= bb: #'==' #cc: #'==' )20201820Number2%{1@50. 10@ -10. 5@5} range >>> (9@60)BEvaluate the given block, answering its value if the receiver is empty, otherwise answer the receiver. Note that the fact that this method returns its receiver in case the receiver is not empty allows one to write expressions like the following ones: self classifyMethodAs: (myProtocol ifEmpty: [ Protocol unclassified ])8232%('hello' includesAny: 'hop') >>> true1036112111(Tests-unix-64-BeautifulComments-Test.xmle-192920vector0yAnswer the value of alternativeBlock. Execution does not actually reach here because the expression is compiled in-line.3010 slowFactorial >>> 10$] isClosePunctuation >>> trued20301X 0 + 2true asInteger >>> 1 [ darker'98abc' numericSuffix >>> 0 10000000000003.147911#( 360.0\Answer the second element of the receiver. Raise an error if there are not enough elements.1is242a^ . ^ 13.14202 | a | ^ a32-Attempt to read undeclared variable TSortablearob121b12#name: asMutator >>> #name:40 #( #( 0 1 2 )0vector0030439.(#(40 41 42) asOrderedCollection at: 3) >>> 42actionxb1203IMPLEMENTATION NOTE: following algorithm is optimized in primitive only in case self and prefix are bytes like. Otherwise, if self is wide, then super outperforms, Otherwise, if prefix is wide, primitive is not correct330asArray "Answer an Array whose elements are the elements of the receiver. Implementation note: Cannot use ''Array withAll: self'' as that only works for SequenceableCollections which support the replacement primitive." "'ab' asArray >>> {$a. $b}" "(1 to: 5 by: 3) asArray >>> {1. 4}" "#(1 2) asArray == #(1 2) >>> true" "'' asArray >>> #()" "(10 to: 5) asArray >>> #()" | newArray index | newArray := Array new: self size. index := 0. self do: [ :each | newArray at: (index := index + 1) put: each ]. ^ newArray004460Pay attention when you write an executable comment for keyword-based method: surround with parentheses your expression because, otherwise the executable comment won't work as the message is binary.0-104bMockPackage-Tests-Package6Answer true if the receiver is equivalent to aBoolean. [ :a | 1 ]2e1.01122associationClass "Return the class of STON associations, Association, a system wide constant" "(STON fromString: '#foo : 100') class >>> STON associationClass" ^ Association31groupsOf: n atATimeCollect: aBlock "Evaluate aBlock with my elements taken n at a time. Ignore any leftovers at the end. Allows use of a flattened array for things that naturally group into groups of n. If aBlock has a single argument, pass it an array of n items, otherwise, pass the items as separate arguments. See also pairsDo:" "(#(16 17 17 16 18 17 18 19 19 19 18 19 19 20 19 20 19 20 20 20 19 20) groupsOf: 7 atATimeCollect: [ :x | x ]) >>> #(#(16 17 17 16 18 17 18) #(19 19 19 18 19 19 20) #(19 20 19 20 20 20 19))" "(#(1 1 1 10 10 10 100 100 100) groupsOf: 3 atATimeCollect: [ :x :y :z | x + y + z]) >>> #(3 30 300)" "(#(1 1 1 10 10 10 100 100 100) groupsOf: 3 atATimeCollect: [ :x | x ]) >>> #(#(1 1 1) #(10 10 10) #(100 100 100))" | passArray | passArray := aBlock numArgs <= 1. ^ (n to: self size by: n) collect: [ :index | | args | args := (self copyFrom: index - n + 1 to: index) asArray. passArray ifTrue: [ aBlock value: args ] ifFalse: [ aBlock valueWithArguments: args ] ](#(x y z) atLast: 1) >>> #z239@Tests-unix-64-Calypso-SystemPlugins-Flags-Queries-Tests-Test.xml10 #( # ## )X Xa || 'Number': 5;Convert to a ByteArray with the ascii values of the string.1(#(a b c d) after: #b) >>> #c-111(#(3 9 1) sorted: [:a :b | a <= b ]) >>> #(1 3 9)301hel321113004542192028-2-3BoccurrencesOf: anObject "Answer how many of the receiver's elements are equal to anObject." "(#(10 20 10 30) occurrencesOf: 10) >>> 2" "('hello world' occurrencesOf: $l) >>> 3" "('hello world' occurrencesOf: 10) >>> 0" | tally | tally := 0. self do: [:each | anObject = each ifTrue: [tally := tally + 1]]. ^tally+ 11001 Point[1,2]3111120044667685999A4400DBBBBC1a(3.1479 roundUpTo: 0.1) >>> 3.23e31 nanoSecond printString >>> '0:00:00:00.000000001'qAnswer a Point that is the receiver's x and y floor. Answer the receiver if its coordinates are already integral.20'hello''*Note that key and value can be ANY object.replaceFrom: start to: stop with: replacement "This destructively replaces elements from start to stop in the receiver. Answer the receiver itself. Use copyReplaceFrom:to:with: for insertion/deletion which may alter the size of the result." "({#a. #b. #c. #d. #e} replaceFrom: 3 to: 4 with: #(x y)) >>> #(a b x y e)" replacement size = (stop - start + 1) ifFalse: [self error: 'Size of replacement doesnt match']. ^self replaceFrom: start to: stop with: replacement startingAt: 1Remove each element of aCollection from the receiver. If successful for each, answer aCollection. Otherwise create an error notification. ArrayedCollections cannot respond to this message.a'b0;'test test ' withSeparatorsCompacted >>> 'test test '102322324454'A' asByteArray >>> #[65],(#(11 22 33) before: 22 ifAbsent: 55) >>> 11reject: rejectBlock thenCollect: collectBlock "Optimized version of Collection>>#reject:thenCollect:" "(#(1 2 3 4) reject: [:each | each = 3 ] thenCollect: [:each | each + 10 ]) >>> #(11 12 14)" | each | ^ self class new: self size streamContents: [ :stream| 1 to: self size do: [ :index | (rejectBlock value: (each := self at: index)) ifFalse: [ stream nextPut: (collectBlock value: each) ]]]fghi66reciprocal "Answer a Point with coordinates that are the reciprocals of mine." "(100@200) reciprocal >>> ((1/100)@(1/200))" ^ x reciprocal @ y reciprocal@(#(10 20 30) inject: 0 into: [ :sum :each | sum + each ]) >>> 60&('hello' includesAny: 'pwn') >>> false foobazort183-456(true ifFalse: [ 'This statement is false!' ]) >>> nil$' isAlphaNumeric >>> false1.1.113ed1;hop1022010That is false!b021302014023342210' ' isEmpty >>> false1Evaluate aBlock with my elements taken two at a time. If there's an odd number of items, ignore the last one. Allows use of a flattened array for things that naturally group into pairs. See also pairsCollect:31102casDigitsToPower: anInteger do: aBlock "Repeatedly value aBlock with a single Array. Adjust the collection so that aBlock is presented all (self size raisedTo: anInteger) possible combinations of the receiver's elements taken as digits of an anInteger long number." "(Array streamContents: [:stream | (0 to: 1) asDigitsToPower: 4 do: [:each | stream nextPut: each copy]]) >>> #(#(0 0 0 0) #(0 0 0 1) #(0 0 1 0) #(0 0 1 1) #(0 1 0 0) #(0 1 0 1) #(0 1 1 0) #(0 1 1 1) #(1 0 0 0) #(1 0 0 1) #(1 0 1 0) #(1 0 1 1) #(1 1 0 0) #(1 1 0 1) #(1 1 1 0) #(1 1 1 1))" | aCollection | aCollection := Array new: anInteger. self asDigitsAt: 1 in: aCollection do: aBlock:ifNotNil: ifNotNilBlock "Evaluate the block, unless I'm == nil (q.v.). If the receiver is not nil, pass it as argument to the block." "Might be compiled inline for speed, see RBMessageNode>>#isInlineIfNil" "(2 ifNotNil: [ :o | o + 3]) >>> 5" "(nil ifNotNil: [:o | o +3 ]) >>> nil" ^ ifNotNilBlock cull: selfd(#(1 1 1 10 10 10 100 100 100) groupsOf: 3 atATimeCollect: [ :x :y :z | x + y + z]) >>> #(3 30 300)5102| | . :a2+(#(a b c d e) indexOfAnyOf: #(x y c)) >>> 3_In the following example, the group `3->#(34)` is filtered out because there is not 2 elements.60000224455655597777855BBBCBBBEBBAAAAAAAAGGFFFH44333333fAAnswer whether the receiver's final character represents a digit..onDo: aBlock "Helper to tranform any `do:`-like method into a generator." "|generator| generator := Generator onDo: [ :doBody | Integer primesUpTo: 10000000 do: doBody ]. (generator next: 5) asArray >>> #(2 3 5 7 11)" ^ self on: [ :generator | aBlock value: [ :arg | generator yield: arg ] ]023103pppp A pp A pp A 0 :B :B :B | | T t T | t s t s t 01xa1&2 seconds printString >>> '0:00:00:02'(1 digitAt: 2 base: 10) >>> 01%(false and: [Error signal]) >>> false3^Append the elements of the argument, aSequenceableCollection, separating them by the receiver.;(#(1 2) detect: #even ifFound: #negated ifNone: [0]) >>> -22 X234'pppp A ^ 0 | T | t nn. t 0 sssss s a ppp < < X 1024PharoEvaluate aBlock for each of the receiver's elements and answer the list of all resulting values flatten one level. Assumes that aBlock returns some kind of collection for each element. Equivalent to the lisp's mapcan1GifNotEmpty: aBlock "Evaluate the given block with the receiver as argument, answering its value unless the receiver is empty, in which case answer the receiver." "(#(10 20) ifNotEmpty: [:x| x average]) >>> 15" "(#() ifNotEmpty: [:x| x average]) >>> #()" ^ self isEmpty ifTrue: [ self ] ifFalse: [ aBlock cull: self ]71/Tests-unix-64-Metacello-TestsReference-Test.xmllistClass "Return the class of STON lists, Array, a system wide constant" "(STON fromString: '[1 , 2 , 3]') class >>> STON listClass" ^ Array(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 0.5 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 'between: #(0 1)'Point instanceSide >>> Point00 00 n n n 0 01281 + 2 )0+Character arrowDown isControlOther >>> true1cMockPackage-tests "nothing" 73 #( 0 1 r2 4 )(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 25 - arg ] ifNone: [ :a :b | 'between: ',{a. b} printString ]) >>> 'between: #(7 8)' 5(#(1 2 3 4) reject: [:each | each = 3 ]) >>> #(1 2 4)010$- isDashPunctuation >>> true hello world!| 1540Evaluate aBlock with each of the receiver's elements as the argument. Collect into a new collection like the receiver only those elements for which aBlock evaluates to false. Answer the new collection.&Character newPage isSeparator >>> true!(13 beBetween: 12 and: 20) >>> 137(#(a b c d e) indexOfAnyOf: #(x y z) ifAbsent: 7) >>> 75whatever32abcdexpandMacrosWith: anObject "('Pharo is <1s>' expandMacrosWith: 'cool') >>> 'Pharo is cool'" "('Pharo is <1p>' expandMacrosWith: 'cool') >>> 'Pharo is ''cool'''" ^self expandMacrosWithArguments: (Array with: anObject)27WJust like do: except that the iteration index supplies the second argument to the block1.0L(String streamContents: [ :s | 'Foo''Bar' storeOn: s ]) >>> '''Foo''''Bar'''Answer an Array whose elements are the elements of the receiver. Implementation note: Cannot use ''Array withAll: self'' as that only works for SequenceableCollections which support the replacement primitive.110Consider using any of printStringHex printStringBase: 16 printStringBase: 16 length: 8 padded: true storeStringHex storeStringBase: 16 storeStringBase: 16 length: 11 padded: true1Color red hslSaturation >>> 1.0#Tests-unix-64-ReleaseTests-Test.xml('In {1} you can escape \{ by prefixing it with \\' format: {'strings'}) >>> 'In strings you can escape { by prefixing it with \' reciprocal "Returns the reciprocal of self. In case self is 0 the / signals ZeroDivide" "1/2 reciprocal >>> 2" "2 reciprocal >>> (1/2)" "1.25 reciprocal >>> 0.8" "-2 reciprocal >>> (-1/2)" ^1 / self9'abc' | 'cbe' >>> 'bcea'Use a proper symbol literal512003Accumulate a running value associated with evaluating the argument, binaryBlock, with the current value of the argument, thisValue, and the receiver as block arguments.c [:a||||a]lAnswer the character position of the final space or other separator character in the receiver, and 0 if none5'ab' asArray >>> {$a. $b}GReturn a ByteArray containing a GZIP compressed version of the receiver MockPackage| aBoolean "Evaluating disjunction (OR). Evaluate the argument. Then answer true if either the receiver or the argument is true." "true | true >>> true" "true | false >>> true" "false | true >>> true" "false | false >>> false" self subclassResponsibility,Refer to the comment in Collection|collect:.21-53>Nonevaluating disjunction -- answer value of alternativeBlock.0323LOLABCsort: aSortBlock "Sort this array using aSortBlock. The block should take two arguments and return true if the first element should preceed the second one." "({3. 9. 1} sort: [:a :b | a <= b ]) >>> #(1 3 9)" "({3. 9. 1} sort: [:a :b | a >= b ]) >>> #(9 3 1)" "({#xa. #xc. #xz. #xb. #xy} sort: #last ascending) >>> #(xa xb xc xy xz)" self mergeSortFrom: 1 to: self size by: aSortBlockdG('/foo/gloops.taz' asPath basenameWithoutExtension: 'taz') >>> 'gloops'MasOrderedCollection "Answer an OrderedCollection whose elements are the elements of the receiver. The order in which elements are added depends on the order in which the receiver enumerates its elements. In the case of unordered collections, the ordering is not necessarily the same for multiple requests for the conversion." "(10 to: 25 by: 5) asOrderedCollection >>> #(10 15 20 25) asOrderedCollection" "'foo' asOrderedCollection = #($f $o $o) asOrderedCollection >>> true" "'foo' asOrderedCollection = #($o $o $f) asOrderedCollection >>> false" ^ self as: OrderedCollection ?Answer whether the receiver is above and to the left of aPoint. ||X ude42true & true >>> trueReturn the receiver as a string with SI binary (International System of Units) file size, e.g. '50 KB'. It means that it takes 1000 and not 1024 as unit as humanReadableByteSizeString does.findLast: aBlock "Return the index of my last element for which aBlock evaluates as true. If no matching element is found, return 0" "(#(10 20 30 40 50) findLast: [ :each | each > 10 ]) >>> 5" "(#(10 20 30 40 50) findLast: [ :each | each > 60 ]) >>> 0" | index | index := self size + 1. [(index := index - 1) >= 1] whileTrue: [(aBlock value: (self at: index)) ifTrue: [^index]]. ^ 022( 1. 2 )zmax "Answer a number that is the maximum of the x and y of the receiver." "(100@200) max >>> 200" ^ self x max: self yfrdthbr'Return whether the receiver is a digit.(true xor: [false]) >>> true20.01[ :a | b0xc20.0add: newObject "Include newObject as one of the receiver's elements. Answer newObject. ArrayedCollections cannot respond to this message." "({10. 20} asOrderedCollection add: 30) >>> 30" "({10. 20} asOrderedCollection add: 30; yourself) >>> {10. 20. 30} asOrderedCollection" "({10. 20} asOrderedCollection add: 20; yourself) >>> {10. 20. 20} asOrderedCollection" "({10. 20} asSet add: 30; yourself) >>> {10. 20. 30} asSet" "({10. 20} asSet add: 20; yourself) >>> {10. 20} asSet" self subclassResponsibilitykkkkk XX kkkkk2...Return the number of combinations of (self) elements taken k at a time. It is calculated as C(n,k) = n! / (k! (n-k)!) For 6 numberOfCombinationsTaken: 3, this is 6*5*4 / (1*2*3) 2r001010002001.0E({10. 20} collect: [:x|x+1] into: {'a'. 'b'. 'c'}) >>> {11. 21. 'c'.}400$(nil ifNotNil: [:o | o +3 ]) >>> nilpppp AAAAAA ^ aaaaaa s n1000245Evaluate aBlock with each of the receiver's elements as the argument. Answer the element for which aBlock evaluates to the lowest number. If collection empty, return nil.'' isNotEmpty >>> false146bceaindexOf: aCharacter startingAt: start "Return the index of the argument in the receiver, only elements after the start of the element are considered zero if not present." "('abcdf abcedf' indexOf: $a startingAt: 4) >>> 7" "('abddf bcdef' indexOf: $a startingAt: 100 ) >>> 0" (aCharacter isCharacter) ifFalse: [^ 0]. ^ self class indexOfAscii: aCharacter asciiValue inString: self startingAt: start foobazzort1dpermutationsDo: aBlock "Repeatly value aBlock with a single copy of the receiver. Reorder the copy so that aBlock is presented all (self size factorial) possible permutations." "(Array streamContents: [:stream | (1 to: 3) permutationsDo: [:each | stream nextPut: each copy]]) >>> #(#(1 2 3) #(1 3 2) #(2 1 3) #(2 3 1) #(3 2 1) #(3 1 2))" self shallowCopy permutationsStartingAt: 1 do: aBlocka012-1''foo' asCommaStringAnd >>> 'f, o and o'-Tests-unix-64-ThreadedFFI-UFFI-Tests-Test.xmld2A3}>>> anObject "Return a pair. It is handy to support the tweaking of pharo doc expression. A pharo doc expression is a comment as the following one:" "4 + 3 >>> 7" "Pay attention when you write an executable comment for keyword-based method: surround with parentheses your expression because, otherwise the executable comment won't work as the message is binary." "(1 max: 1000) >>> 1000" "An executable comment must be in its own comment block (enclosed in double quotes) and can be multi-line for better readability. Code editor hint: you can double click on the inner side of a double quote to select the whole comment block, then Cmd+I to evaluate and inspect the whole executable comment." "Note: to be syntactically valid as an executable comment, there should be exactly one single triple > message send, and it should be the last statement." "| rectangles | rectangles := OrderedCollection new add: (Rectangle left: 5 right: 10 top: 0 bottom: 15); add: (Rectangle left: 0 right: 15 top: 5 bottom: 10); yourself. (Rectangle merging: rectangles) >>> (Rectangle left: 0 right: 15 top: 0 bottom: 15)" ^ self -> anObject1a := @Answer whether the receiver can be represented as a byte string. This is different from asking whether the receiver *is* a ByteString (i.e., #isByteString)0.5c0i(#(10 20 10 30 10) asOrderedCollection removeAll: #(10 10 20); yourself) >>> #(30 10) asOrderedCollection4201041(1 to: 10 by: 2) last >>> 9423340$('pharo' beginsWith: 'pha') >>> true0010002552=Return true if the receiver is sorted by the given criterion.310b2allPairsDo: aBinaryBlock "Iterate over all the pairs of the receiver and apply the binaryBlock to each pair. " "(Array streamContents: [ :stream | #(0 1 2 3) allPairsDo: [ :first :second | stream nextPut: { first . second } ] ]) >>> #(#(0 0) #(0 1) #(0 2) #(0 3) #(1 0) #(1 1) #(1 2) #(1 3) #(2 0) #(2 1) #(2 2) #(2 3) #(3 0) #(3 1) #(3 2) #(3 3))" self do: [ :first | self do: [ :second | aBinaryBlock value: first value: second ] ]capitalized "Return a copy with the first letter capitalized" "'abc' capitalized >>> 'Abc'" | cap | self isEmpty ifTrue: [ ^self copy ]. cap := self copy. cap at: 1 put: (cap at: 1) asUppercase. ^ cap14>asDictionary "Answers a Dictionary based on collection of Associations." "{'one' -> 1. 'two' ->2} asDictionary >>> (Dictionary with: 'one' -> 1 with: 'two' ->2)" "{'two' ->2. 'one' -> 1} asDictionary >>> (Dictionary with: 'one' -> 1 with: 'two' ->2)" "#() asDictionary >>> Dictionary new" ^ self as: DictionaryO( #(1 2 3 4 5) asSet reduce: [ :a :b :c | a + b + c ] ) >>> (1 + 2 + 3 + 4 + 5)23$$X$4(Character space isAlphaNumeric >>> falseMPairwise integer quotient of two sequenceable collections of the same length.asSortedCollection "Answer a SortedCollection whose elements are the elements of the receiver. The sort order is the default less than or equal. Note that you should use #sorted if you don't really need a SortedCollection, but a sorted collection." "'bar' asSortedCollection asArray >>> {$a. $b. $r}." "('bar' asSortedCollection add: $c; yourself) asArray >>> {$a. $b. $c. $r}." ^ self as: SortedCollectionfalse. := falsetranslateBy: delta "Answer a Point translated by delta (an instance of Point)." "((100@200) translateBy: 5@10) >>> (105@210)" ^ (delta x + x) @ (delta y + y)1021201 a103-44hello2QmonthIndex "(Date year: 2018 month: 9 day: 28) monthIndex >>> 9" ^ super month!((100@200) < (330@100)) >>> false5before: target ifAbsent: exceptionBlock "Answer the receiver's element immediately before target. Answer the result of evaluating the exceptionBlock if target is not an element of the receiver, or if there are no elements before it." "(#(11 22 33) before: 22 ifAbsent: 55) >>> 11" "(#(11 22 33) before: 44 ifAbsent: 55) >>> 55" | index | index := self indexOf: target. ^ (index = 0 or: [index = 1]) ifTrue: [exceptionBlock value] ifFalse: [self at: index - 1]This statement is false!11-(#(1 2 3) beginsWith: #(1 2 3 4 5)) >>> falsecompare: aString "Answer a comparison code telling how the receiver sorts relative to aString: 1 - before 2 - equal 3 - after. The collation sequence is ascii with case differences ignored. To get the effect of a <= b, but ignoring case, use (a compare: b) <= 2." "('aa' compare: 'ab') >>> 1" "('aa' compare: 'aa') >>> 2" "('ab' compare: 'aa') >>> 3" ^self compare: aString caseSensitive: false:book-result/W01-Welcome0000001.05Optimized version of Collection>>#collect:thenSelect:p(#(10 20) asOrderedCollection fillFrom: 'ABC' with: [:x|x asciiValue]) >>> #(10 20 65 66 67) asOrderedCollectionwhatever23-4.*2 between: ( 1 and: 4) Five is 5.91fooXX X # X # X X310 { 1 ). 2 }removeAll "Remove each element from the receiver and leave it empty. ArrayedCollections cannot respond to this message. There are two good reasons why a subclass should override this message: 1) the subclass does not support being modified while being iterated 2) the subclass provides a much faster way than iterating through each element" "#(10 20 10) asOrderedCollection removeAll >>> OrderedCollection new" self do: [:each | self remove: each]0G(#(1 2 3 4 5) reduce: [ :a :b :c | a + b + c ]) >>> (1 + 2 + 3 + 4 + 5)cadd: newObject withOccurrences: anInteger "Add newObject anInteger times to the receiver. Answer newObject." "({10. 20} asOrderedCollection add: 30 withOccurrences: 2) >>> 30" "({10. 20} asOrderedCollection add: 30 withOccurrences: 2; yourself) >>> {10. 20. 30. 30} asOrderedCollection" anInteger timesRepeat: [ self add: newObject ]. ^ newObject12223113923195 28/9/20180true & true >>> true30 :B | XXXXXXX. b 0 ==> aBlock "The material conditional, also known as the material implication or truth functional conditional. Correspond to not ... or ... and does not correspond to the English if...then... construction. known as: b if a a implies b if a then b b is a consequence of a a therefore b (but note: 'it is raining therefore it is cloudy' is implication; 'it is autumn therefore the leaves are falling' is equivalence). Here is the truth table for material implication: p | q | p ==> q -------|-------|------------- T | T | T T | F | F F | T | T F | F | T " "true ==> [true] >>> true" "true ==> [false] >>> false" "false ==> [true] >>> true" "false ==> [false] >>> true" ^ self not or: [ aBlock value ]42(Evaluate the block with the first two (or more) elements of the receiver, then with the result of the first evaluation and the next element, and so on. Answer the result of the final evaluation. If the receiver is empty, raise an error. If the receiver has a single element, answer that element.42370b"('abcd' contractTo: 10) >>> 'abcd'world1withIndexCollect: elementAndIndexBlock "Just like with:collect: except that the iteration index supplies the second argument to the block." "(#(10 20 30) withIndexCollect: [:each :index | each + (index * 2)]) >>> #(12 24 36)" | result | result := self species new: self size. 1 to: self size do: [:index | result at: index put: (elementAndIndexBlock value: (self at: index) value: index)]. ^ result1s:1 e:5 s:7 e:8 s:10 e:13 710#('pharo' endsWith: 'aRo') >>> false75n uuuuuuu Xuu 27!000001033555655585544444444AA999Bm({64->$@} asDictionary fillFrom: 'AB' with: [:x|x asciiValue -> x]) >>> {64->$@. 65->$A. 66->$B} asDictionaryeabeginsWith: aSequenceableCollection "Answer true if the receiver starts with the argument collection" "(#(1 2 3 4 5) beginsWith: #()) >>> true" "(#(1 2 3) beginsWith: #(1 2 3 4 5)) >>> false" "(#(1 2 3 4 5) beginsWith: #(0 1 2)) >>> false" "(#(1 2 3 4 5) beginsWith: #(1 2 3)) >>> true" aSequenceableCollection ifEmpty: [ ^true ]. self size < aSequenceableCollection size ifTrue: [^false]. aSequenceableCollection withIndexDo: [:each :index | (self at: index) ~= each ifTrue: [^false]]. ^true0((#(10 20 10 30) occurrencesOf: 10) >>> 240.5dJ (OrderedDictionary new at: #top at: #below1 ifAbsent: [ 1 ]) >>> 1 0book-result|W01-Welcome1000000000000a^ <10mobaz102 #( #[ 0 1 2 ]?Answer whether the receiver begins with the given prefix stringEAnswer an instance of me containing the same elements as aCollection.Cascade message expectedRReturns a string representation of the receiver as hexadecimal, prefixed with 16r.LOL>([:x :y | x + y] valueWithPossibleArgs: #( 13 12 15)) >>> 25 10241671010}Collect and return the result of evaluating twoArgBlock with corresponding elements from this collection and otherCollection.a?Optimized version of SequenceableCollection>>#withIndexSelect: 1#() asCommaString >>> ''110 2r-001010001>Tests-unix-64-Calypso-SystemPlugins-FFI-Queries-Tests-Test.xmlpharo9Tests-unix-64-NewTools-SpTextPresenterDecorators-Test.xml220[ :a | | a b ]1MockPackage-Tests01isSortedBy: aBlock "Return true if the receiver is sorted by the given criterion." "(#(1 2 3) isSortedBy: [:a :b | a <= b ]) >>> true" "(#(1 2 3) isSortedBy: [:a :b | a >= b ]) >>> false" "(#(xa xc xz xb xy) isSortedBy: #last ascending) >>> false" "(#(xa xb xc xy xz) isSortedBy: #last ascending) >>> true" | lastElm elm | self isEmpty ifTrue: [^ true]. lastElm := self first. 2 to: self size do: [:index | elm := self at: index. (aBlock value: lastElm value: elm) ifFalse: [^ false]. lastElm := elm]. ^ true0000114107def14'('ab ab ac de' howManyMatch: 'a') >>> 1640421abcX X[ :super | super + 1 ]1.#mySelector asTestSelector >>> #testMySelectorfalse asBit >>> 0-113hello3#(a b c) allButFirst >>> #(b c)45 factorial >>> 1200An executable comment must be in its own comment block (enclosed in double quotes) and can be multi-line for better readability. Code editor hint: you can double click on the inner side of a double quote to select the whole comment block, then Cmd+I to evaluate and inspect the whole executable comment.This statement is true!676666666865555173stringsdef1| rectangles | rectangles := OrderedCollection new add: (Rectangle left: 5 right: 10 top: 0 bottom: 15); add: (Rectangle left: 0 right: 15 top: 5 bottom: 10); yourself. (Rectangle merging: rectangles) >>> (Rectangle left: 0 right: 15 top: 0 bottom: 15)2027((0@0 corner: 100@100) containsPoint: 100@50) >>> false2 Not found554463337228111900AA001)Fold the result of the receiver into aBlock. The argument aBlock must take two or more arguments. It applies the argument, binaryBlock cumulatively to the elements of the receiver. For sequenceable collections the elements will be used in order, for unordered collections the order is unspecified.11102+(#(a b c d e f g h ) first: 3) >>> #(a b c)4/0000CCC08888888888888889888888888888A8888880III13-4[ | ]5[ :aaa :bbb | | ccc ddd | aaa ]/ "a" 1 "b" max: "c" 2 "d" ; "e" min: "f" 3 "g" the1toverlappingPairsWithIndexDo: aBlock "Emit overlapping pairs of my elements into aBlock, along with an index." "(Array streamContents: [:stream | #(10 20 30 40) overlappingPairsWithIndexDo: [:first :second :index| stream nextPut: (first + second + index)]]) >>> #(31 52 73)" 1 to: self size - 1 do: [:i | aBlock value: (self at: i) value: (self at: i + 1) value: i ]FileLocator temp / ('{1}.ston' format: { Time millisecondClockValue }) in: [ :file | file writeStreamDo: [ :out | STON put: 1@2 onStream: out ]. file readStreamDo: [ :in | STON fromStream: in ] ]iAnswer a SortedCollection whose elements are the elements of the receiver. The sort order is the default less than or equal. Note that you should use #sorted if you don't really need a SortedCollection, but a sorted collection.de0001111100044444333500'2N' initialIntegerOrNil >>> 2 003555446660ppp Xu 111421}Answer the value of trueAlternativeBlock. Execution does not actually reach here because the expression is compiled in-line.20031> aString "Answer whether the receiver sorts after aString. The collation order is simple ascii (with case differences)." " 'def' > 'abc' >>> true" " 'def' > 'def' >>> false" " 'abc' > 'def' >>> false" ^ (self compare: self with: aString) > 0400bad stop index7:a food(#(1 2 3 4 1 2 3 4 5 6 ) groupByRuns: [ :each | each = 4]) >>> #(#(1 2 3) #(4) #(1 2 3) #(4) #(5 6))0vector0(('hello' allSatisfy: #isLetter) >>> true02 This should be fast: 1. Integer>>to:do: is inlined in the bytecode (no block). 2. The Array>>at: callsite should be monomorph to a primitive method. 20000165Print inside string quotes, doubling inbedded quotes.abc31Point classSide >>> Point class 0:00:00:02Split a collection of objects based on a splitter. splitter - can be a subsequence, a Block or a Regex (String receiver only). Any other object used as a splitter is treated as an Array containing that object.51abc98181WReturn true if all my elements are close to the elements of same index of the parameterrremove: oldObject "Remove oldObject from the receiver's elements. Answer oldObject unless no element is equal to oldObject, in which case, raise an error. ArrayedCollections cannot respond to this message." "(#(10 20 10) asOrderedCollection remove: 10; yourself) >>> #(20 10) asOrderedCollection" ^ self remove: oldObject ifAbsent: [self errorNotFound: oldObject]36r1halt1.01J('bar' asSortedCollection add: $c; yourself) asArray >>> {$a. $b. $c. $r}. zipped "Return a ByteArray containing a GZIP compressed version of the receiver" "#[ 1 2 3 ] zipped >>> #[31 139 8 0 0 0 0 0 0 0 99 100 98 6 0 29 128 188 85 3 0 0 0]" ^ ByteArray streamContents: [ :out | (GZipWriteStream on: out) nextPutAll: self; close ]!Character cr isSeparator >>> true1300.0includesAny: aCollection "Answer whether any element of aCollection is one of the receiver's elements." "(#(10 20 30) includesAny: #(30 40)) >>> true" "(#(10 20 30) includesAny: #(50 40)) >>> false" "(#(10 20 30) includesAny: #()) >>> false" "('hello' includesAny: 'hop') >>> true" "('hello' includesAny: 'pwn') >>> false" aCollection do: [:elem | (self includes: elem) ifTrue: [^ true]]. ^ false1200:(#(a b c d e f) difference: #(a b z k))>>> #(#c #d #e #f)YmakeRoomAtFirst "Make some empty slots at the front of the array. If we have more than 50% free space, then just move the elements, so that the first 50% of the slots are free, otherwise add new free slots to the front by growing. Precondition: firstIndex = 1" "#(1 2 3) asOrderedCollection capacity >>> 3" "#(1 2 3) asOrderedCollection makeRoomAtFirst capacity >>> 6" | tally newFirstIndex newLastIndex | tally := self size. tally * 2 >= array size ifTrue: [ ^self growAtFirst ]. tally = 0 ifTrue: [ ^self resetTo: array size + 1 ]. newFirstIndex := array size // 2 + 1. newLastIndex := newFirstIndex - firstIndex + lastIndex. 0 to: tally - 1 do: [ :offset | array at: newLastIndex - offset put: (array at: lastIndex - offset) ]. array from: firstIndex to: newFirstIndex - 1 put: nil. firstIndex := newFirstIndex. lastIndex := newLastIndex2'('Hello' detectMax: #asciiValue) >>> $o[ | a b('abcdf' indexOf: $a) >>> 1E(OrderedCollection new add: 42; yourself) class >>> OrderedCollection0vector01a1a1$'3,123' isAllAlphaNumerics >>> false3EAnswer an instance of me containing the same elements as aCollection.'|' or variable expected22J(true ifTrue: [ 'This statement is true!' ]) >>> 'This statement is true!'2004-02-29T13:33:00+02:00XXXXXX01b105 X nabc201803.12110&Convert the receiver in a date object.122222000011111nanoSecond "1 nanoSecond printString >>> '0:00:00:00.000000001'" "(1 milliSecond + 1 nanoSecond) printString >>> '0:00:00:00.001000001'" ^ self nanoSecondsjoin: aSequenceableCollection "Append the elements of the argument, aSequenceableCollection, separating them by the receiver." "(Character space join: #('Pharo' 'is' 'cool')) >>> 'Pharo is cool'" ^ self asString join: aSequenceableCollection1000000000000000000720n(#(first (second third) ((allSentMessages ('Elvis' includes:)))) includesSubstringAnywhere: 'lvi') >>> true22/(nil ifNotNil: [:o | o +3 ] ifNil: [42]) >>> 4220301'('pharo' beginsWith: 'phuro') >>> falseb'Answer the last element of the receiver"(16rFF digitAt: 1 base: 16) >>> 150-1we!#(1 2 2 3 1 1 1) asBag sum >>> 11[booleanAt: byteIndex "Returns the boolean the byte at index byteOffset of this ByteArray represents in the C convention ( A byte representing the 0 integer corresponds to false, while all other integers corresponds to true)." "(#[1 2 0 4] booleanAt: 2) >>> true." "(#[1 2 0 4] booleanAt: 3) >>> false." ^ self boolean8AtOffset: byteIndex - 111wimpy32229711hello'('hello world' occurrencesOf: $l) >>> 3u(#(10 20 30) inject: OrderedCollection new into: [ :a :e | a add: (e + 1). a ]) >>> #(11 21 31) asOrderedCollectione | TTTTTT | tttttt n. ^ tttttt5Optimized version of Collection>>#select:thenCollect:44p 1((2@2) + 200) >>> (202@202)41111111110000000002222222222222three15200vector016W EW3a0209Print the receiver in standard French format dd/mm/yyyy.'A' asByteArray >>> #[65]3!#(a b c d e f g h i) ninth >>> #icharlie* "a" | "b" x "c" | "d" x "e" := "f" 5 "g" 112 0DDD00000EEE04377733888399A0CCC0true asBit >>> 13 foo < + 1> 65(true and: [ false ]) >>> false242!CCC 00DDD040777000888090BBB00 EEEd48(Color r: 0.5 g: 0.5 b: 1) green >>> 0.50048875855327471(0.98 printShowingDecimalPlaces: 5) >>> '0.98000'Uor: alternativeBlock "Nonevaluating disjunction. If the receiver is false, answer the value of the argument, alternativeBlock; otherwise answer true without evaluating the argument." "(true or: [Error signal]) >>> true" "(true or: [false]) >>> true" "(false or: [true]) >>> true" "(false or: [3]) >>> 3" self subclassResponsibility#+ keywordsStrict >>> #()10'1' asInteger >>> 1runningMax: aSubsetSize "Running max. See the comment of self >> #running:of: for more information." "(#(1 1 2 2 3 3) runningMax: 3) >>> {2 . 2 . 3 . 3}" ^ self running: [ :subset | subset max ] of: aSubsetSize3or: alternativeBlock "Nonevaluating disjunction -- answer true since the receiver is true." "(true or: [Error signal]) >>> true" "(true or: [false]) >>> true" ^ self100022222133344444Convert me to a float point transforming both of my coordinates to floats using #asFloat. If x and y are already represented by floats return myself, otherwise create a new Point instance.asCamelCase "Convert to CamelCase, i.e, remove spaces, and convert starting lowercase to uppercase." "'A man, a plan, a canal, panama' asCamelCase >>> 'AMan,APlan,ACanal,Panama'" "'Here 123should % be 6 the name6 of the method' asCamelCase >>> 'Here123should%Be6TheName6OfTheMethod'" ^ self species streamContents: [:stream | self substrings do: [:sub | stream nextPutAll: sub capitalized]]2XX#X#X3316100000000000003Unescape an escaped string. Assume the string has all occurrences of aCharacter are escaped. That is, they are in pairs. This method returns a copy of the string replacing all pairs of aCharacter by a single appearance of it.(#(1 3 5 7 11 15 23) findBinary: [ :arg | 12 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 'between: #(11 15)'eC('aeiou' findFirstInByteString: 'hello world' startingAt: 9) >>> 0.D(RunArray newFrom: {1. $a. $a. 3}) >>> ({1. $a. $a. 3} as: RunArray)#$} isConnectorPunctuation >>> false0 ###'hello Pharo is cool1 #[ 1 -1 2 ]_(#(11 22 33) asOrderedCollection atWrap: 4 put: 0; yourself) >>> #(0 22 33) asOrderedCollectionT#(2 3 4 'fred') asOrderedCollection reversed >>> #('fred' 4 3 2) asOrderedCollection122~Answer the value of falseAlternativeBlock. Execution does not actually reach here because the expression is compiled in-line.g98111Tests-unix-64-Collections-Abstract-Tests-Test.xml[descending "Return a SortFunction around the receiver, where the receiver will be used as a unary message to send to both a and b during sorting, and then the result of said send will be collated in descending order using the <=> method." "(#('abc' 'de' 'fghi') sorted: #size descending) >>> #('fghi' 'abc' 'de')" ^self asSortFunction reversed17NConvert the receiver into a colorref, i.e, a number embedding r,g,b on 24 bits1XaX7hello0$A printStringHex >>> '41'1002"fear is the little death that the.2111b | | . a: de'2' initialIntegerOrNil >>> 2Special case of exponent=0This statement is false!0311312 UndeclaredVariableRead Attempt to read undeclared variable TSortable UndeclaredVariable>>runtimeUndeclaredReadInContext: AdditionalMethodStateTest>>testAnalogousCodeTo AdditionalMethodStateTest(TestCase)>>performTest 1false & false >>> falseAReturn the class of STON maps, Dictionary, a system wide constant30120151250a2?('hello world!' anySatisfy: [ :each | each isDigit ]) >>> false#( 1 #']' 2 #'}' 3 )2Tests-unix-64-System-Identification-Tests-Test.xml8diff: theOther "Returns a number between 0.0 and 1.0" "(Color red diff: Color red) >>> 0.0" "(Color white diff: Color black ) >>> 1.0" ^ ((self privateRed - theOther privateRed) abs + (self privateGreen - theOther privateGreen) abs + (self privateBlue - theOther privateBlue) abs) / 3.0 / ComponentMax10010(nil)0 ^ n n ^ n 0highBit "Answer the index of the high order bit of the receiver, or zero if the receiver is zero. Raise an error if the receiver is negative, since negative integers are defined to have an infinite number of leading 1's in 2's-complement arithmetic. Use >>highBitOfMagnitude if you want to get the highest bit of the magnitude." "2r00101000 highBit >>> 6" "0 highBit >>> 0" self < 0 ifTrue: [^ self error: 'highBit is not defined for negative integers']. ^ self highBitOfPositiveReceiver0>Tests-unix-64-SystemCommands-RefactoringSupport-Tests-Test.xml=If the receiver is not nil, pass it as argument to the block.301010ciAnswer the lower right corner of the rectangle uniquely defined by the receiver and the argument, aPoint.21 ; foo*baz*zort16(Array streamContents: [:stream | (0 to: 1) asDigitsToPower: 4 do: [:each | stream nextPut: each copy]]) >>> #(#(0 0 0 0) #(0 0 0 1) #(0 0 1 0) #(0 0 1 1) #(0 1 0 0) #(0 1 0 1) #(0 1 1 0) #(0 1 1 1) #(1 0 0 0) #(1 0 0 1) #(1 0 1 0) #(1 0 1 1) #(1 1 0 0) #(1 1 0 1) #(1 1 1 0) #(1 1 1 1))&('Hello!' detect: #isLowercase) >>> $e0oopsstring21 e)([:x | x + 1] cull: 13 cull: 12) >>> 14 atLast: indexFromEnd "Return element at indexFromEnd from the last position. atLast: 1, returns the last element" "(#(x y z) atLast: 1) >>> #z" "(#(x y z) atLast: 2) >>> #y" ^ self atLast: indexFromEnd ifAbsent: [self error: 'index out of range']5101 2r310#pharo1// aNumber "Integer quotient defined by division with truncation toward negative infinity. \\ answers the remainder from this division." "9//4 >>> 2" "-9//4 >>> -3" "-0.9//0.4 >>> -3" ^(self / aNumber) floor113341100500667 0 :B :B | b 0alasColorref "Convert the receiver into a colorref, i.e, a number embedding r,g,b on 24 bits" "(Color red asColorref) >>> 255" "(Color white asColorref) >>> 16777215" ^(self red * 255) asInteger + ((self green * 255) asInteger << 8) + ((self blue * 255) asInteger << 16)28 September 2018420 1 foo: ; barthird23 XXXX""XXX""X41.3+Tests-unix-64-System-Support-Tests-Test.xml1!(10 printStringBase: 10) >>> '10'*(#(a b c d) after: #b ifAbsent: #z) >>> #c#(Color red diff: Color red) >>> 0.05206world+ arg "Answer a Point that is the sum of the receiver and arg." "((2@2) + (100@200)) >>> (102@202)" "((2@2) + 200) >>> (202@202)" arg isPoint ifTrue: [^ (x + arg x) @ (y + arg y)]. ^ arg adaptToPoint: self andSend: #+ 'def' < 'abc' >>> false18((OrderedCollection new add: 34; yourself) at: 1) >>> 34D(OrderedCollection new addAll: (1 to: 15); yourself) capacity >>> 2020fifth "Answer the fifth element of the receiver. Raise an error if there are not enough elements." "#(a b c d e f g h ) fifth >>> #e" ^ self at: 5@foo5Return the middle element, or as close as we can get.d10, 'hello' & $x711B([#() emptyCheck] on: CollectionIsEmpty do: [ 'oops' ]) >>> 'oops'131001 abcdf abcedf ppp < <<<<<d120 3 even >>> falseisTestPackage "1. Test package ends with suffix -Tests. Suffix is case sensitive. 2. Or test package contains '-Tests-' in middle. Some examples: " "(RPackage named: 'MockPackage-Tests') isTestPackage >>> true" "(RPackage named: 'MockPackage-tests') isTestPackage >>> true" "(RPackage named: 'MockPackage') isTestPackage >>> false" "(RPackage named: 'MockPackage-Tests-Package') isTestPackage >>> true" ^ (self name endsWith: '-Tests' caseSensitive: false) or: [ self name includesSubstring: '-Tests-' caseSensitive: false ]((#(1 2) detect: #even ifNone: [0]) >>> 251c$A hex >>> '16r41'1'optimized version for single delimitersho9pharo!110022223ad3'See `escapeCharacter:` for the oppositethe2foo < bar ; baz. > 15301322Elvis0vector0wat: firstKey at: secondKey ifAbsent: aZeroArgBlock "Return the object stored in the second dictionary at secondKey. The second dictionary is accessed via the key firstKey. Execute aZeroArgBlock in case one of the key is wrong." " (OrderedDictionary new at: #top at: #below1 ifAbsent: [ 1 ]) >>> 1 " ^ dictionary at: firstKey at: secondKey ifAbsent: aZeroArgBlock That is false!4202304printOn: stream base: base length: minimumLength padded: padWithZeroes "Return a String representation of this number in base b with a minimum length and padded by 0 if zeroFlag is set" "(String streamContents: [ :s | 10 printOn: s base: 10 length: 4 padded: true] ) >>> '0010'" "(String streamContents: [ :s | -10 printOn: s base: 10 length: 4 padded: true] ) >>> '-010'" | n numberOfDigits totalLength divisor | self < 0 ifTrue: [ n := self negated. totalLength := 1 ] ifFalse: [ n := self. totalLength := 0 ]. numberOfDigits := n numberOfDigitsInBase: base. totalLength := totalLength + numberOfDigits. padWithZeroes ifFalse: [ [ totalLength < minimumLength ] whileTrue: [ stream space. totalLength := totalLength + 1 ] ]. n = self ifFalse: [ stream nextPut: $- ]. padWithZeroes ifTrue: [ [ totalLength < minimumLength ] whileTrue: [ stream nextPut: $0. totalLength := totalLength + 1 ] ]. divisor := (base raisedToInteger: numberOfDigits - 1). [ divisor > 0 ] whileTrue: [ | digit | digit := n // divisor. stream nextPut: ('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' at: digit + 1). n := n - (digit * divisor). divisor := divisor // base ]Unused variable(1 to: 10 by: 2) last >>> 9End of statement expected222. pppp AAA ^ 0 1 2 3 aaa 3 2 s 2 3 n 3 2 1 0 . 2345(1111111111111111110000000002222222222222;Answer a Point that is the product of the receiver and arg.(#() ifEmpty: [0]) >>> 0400 (10 printStringBase: 16) >>> 'A'20!'ABA' asByteArray >>> #[65 66 65]((#(x y z) atLast: 1 ifAbsent: #a) >>> #z|generator| generator := Generator onDo: [ :doBody | Integer primesUpTo: 10000000 do: doBody ]. (generator next: 5) asArray >>> #(2 3 5 7 11)5(String streamContents: [ :str| ((FileSystem workingDirectory / 'book-result' / 'W01-Welcome') relativeToReference: FileSystem workingDirectory) printPathOn: str delimiter: $|]) >>> 'book-result|W01-Welcome'4)(1.2 arcTan: -1.5) >>> 2.4668517113662407oops233 slowFactorial >>> 6a := a. [ :a a ]. a := a12407)((4 to: 9) anySatisfy: #isPrime) >>> trueasNewArray "Like asArray: but return a copy if self is already an Array. This ensures that the result is always a new Array" "'foo' asNewArray >>> 'foo' asArray" "|a| a := #(1 2 3). a asNewArray == a >>> false" ^ self asArrayEReturn the HSL saturation of this color, a value between 0.0 and 1.0.105<3 ('*baz' match: 'mobaz') >>> true$(#() noneSatisfy: ['oops']) >>> true0vector0110IIf the receiver is true (i.e., the condition is true), then the value is the true alternative, which is nil. Otherwise answer the result of evaluating the argument, alternativeBlock. Create an error notification if the receiver is nonBoolean. Execution does not actually reach here because the expression is compiled in-line.1c [ : | a: b ]7229hnX2pha1202isEnclosingMark "Return whether the receiver is ... one of these https://www.compart.com/en/unicode/category/Me" "$' isEnclosingMark >>> false" ^ self characterSet isEnclosingMark: self1 + 2 ]1abc51s:FAnswer 1 if the receiver is greater than 0, -1 if less than 0, else 0.10.57Answer a Point that is the sum of the receiver and arg.10#(a b c d e) last >>> #e1 f, o and o0-3a#'abc' = 'abc' asWideString >>> true105'A' asHex >>> '16r41'3xabcdefgh5zortbar42>(Color r: 31 g: 0 b: 0 range: 31) >>> (Color r: 1.0 g: 0 b: 0)9CAnswer whether all the elements of aCollection are in the receiver.=Return the class of STON lists, Array, a system wide constant1a 1, 2, 3 and 4#() size >>> 001 a1a1 Answer 1 since receiver is true.'abc98' numericSuffix >>> 984world201859ab3501132 9/28/2018dFor backwards compatibility mainly. Return the key that should correspond to some character. Handle normal ascii characters and special control keys only (enter, tab space...)431401 between: 11x"(true or: [Error signal]) >>> true5minute "Answer a number that represents the number of complete minutes in the receiver' time part, after the number of complete hours has been removed." "(DateAndTime fromString: '2004-02-29T13:33:00+02:00') minute >>> 33" ^ self localSeconds // SecondsInMinute \\ 60bozo5(false ifTrue: [ 'This statement is true!' ]) >>> nil'' lastSpacePosition >>> 01jasStringOn: aStream delimiter: delimString "Print elements on a stream separated with a delimiter String like: 'a, b, c' Uses #asString instead of #print:." "(String streamContents: [:s| 'abcd' asStringOn: s delimiter: '->']) >>> 'a->b->c->d'" self do: [ :elem | aStream nextPutAll: elem asString ] separatedBy: [ aStream nextPutAll: delimString ]Since the condition is true, the value is the true alternative, which is nil. Execution does not actually reach here because the expression is compiled in-line.12ABCcd4(#(1 2) allSatisfy: [ :each | each even ]) >>> false100%#(10 20 30) \ (0 to: 15) >>> #(20 30)11-1 - 1abs-1 - 1max:-123.1479CodeError signal: 'false error'Wargmax "#(1 -3 5 1) argmax >>> 3" "#(1 1 1 1) argmax >>> 1" ^ self indexOf: self max52TIterate over all the pairs of the receiver and apply the binaryBlock to each pair. 01.0$Tests-unix-64-Morphic-Tests-Test.xmlpdetectMax: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. Answer the element for which aBlock evaluates to the highest magnitude. If collection empty, return nil. This method might also be called elect:." "({ 2@6 . -4@3 . 10@ -3 } detectMax: [ :p | p x ]) >>> (10@ -3)" "({ 2@6 . -4@3 . 10@ -3 } detectMax: [ :p | p y ]) >>> (2@6)" "((10 to: 20) detectMax: [ :p | p gcd: 6 ]) >>> 12" "('Hello' detectMax: #asciiValue) >>> $o" | maxElement maxValue | self do: [:each | | val | maxValue == nil ifFalse: [ (val := aBlock value: each) > maxValue ifTrue: [ maxElement := each. maxValue := val]] ifTrue: ["first element" maxElement := each. maxValue := aBlock value: each]. "Note that there is no way to get the first element that works for all kinds of Collections. Must test every one."]. ^ maxElement6Tests-unix-64-Transcript-NonInteractive-Tests-Test.xml11.lastIndexOf: anElement "Answer the index of the last occurrence of anElement within the receiver. If the receiver does not contain anElement, answer 0." "(#(a b a d a) lastIndexOf: #a) >>> 5" "(#(a b a d e) lastIndexOf: #a) >>> 3" ^ self lastIndexOf: anElement startingAt: self size ifAbsent: [0]'('hello' union: 'world') >>> 'whlorde' E(#(a b c d e) indexOfAnyOf: #(x y c) startingAt: 4 ifAbsent: 7) >>> 7!(#(a b c d e) last: 2) >>> #(d e)41foo "z" "a" 1. "b" "c" ^ 2 "d" [ | b | ]/ppp """ < """ <<<< """ n """ << """ n """ < """011 HELLOWORLD3hel311#(1 2 3) isSorted >>> true10000r1652Hello%Point class classSide >>> Point class21y3f0-> anObject "Answer an Association between self and anObject" "The following example creates an association whose key is number 1 and value string 'one'." "(1 -> 'one') key >>> 1" "(1 -> 'one') value >>> 'one'" "Note that key and value can be ANY object." ^ Association key: self value: anObject1 foo 21indexOfAnyOf: aCollection startingAt: start "Answer the index of the first occurrence of any element included in aCollection after start within the receiver. If the receiver does not contain anElement, answer zero, which is an invalid index." "(#(a b c d e) indexOfAnyOf: #(x y c) startingAt: 2) >>> 3" "(#(a b c d e) indexOfAnyOf: #(x y c) startingAt: 4) >>> 0" ^self indexOfAnyOf: aCollection startingAt: start ifAbsent: [0]&Answer the receiver raised to aNumber.10*true ifTrue: [ ^ 1 ] ifFalse: [ ^ 2 ]. ^ 3bhowManyMatch: string "Count the number of characters in a substring that matches up in self and aString." "('ab ab ac de' howManyMatch: 'ab') >>> 2" "('abab ac de' howManyMatch: 'abab') >>> 4" "('ab ab ac de' howManyMatch: 'a') >>> 1" "('ab ab ac de' howManyMatch: 'z') >>> 0" | count shorterLength | count := 0. shorterLength := self size min: string size. 1 to: shorterLength do: [:index | (self at: index) = (string at: index ) ifTrue: [ count := count + 1 ]]. ^ count5Evaluate aBlock with each of my elements as the argument. Collect the resulting values into a collection that is like me. Answer the new collection. Override superclass in order to use addLast:, not at:put:.1range "returns the difference between the max and min element, their positions notwithstanding" "#( 1 51 10 ) range >>> 50" "{1@50. 10@ -10. 5@5} range >>> (9@60)" ^ self max - self min3110000% pppp AAA ^ aaa ssss aaa s n ; sss . 10E([:x :y :z | x + y + z] valueWithPossibleArgs: #( 13 12 15)) >>> 40 #(10 storeStringBase: 16) >>> '16rA'193013393 book-resultLAnswer whether any element of aCollection is one of the receiver's elements.110>> '1E'" "30 hex >>> '16r1E'" ^ self printStringBase: 16c pharo-project2326Collection size and block argument count do not match.Message expected-3z010a20Return whether the receiver is one of these characters: backspace, delete, escape, arrowUp, arrowLeft, arrowDown, arrowRight, pageUp, pageDown, end, home, nbsp, insert"#(a b c d) allButLast >>> #(a b c)60000033y33Class structural inspection - Class/Metaclass shift131540.0051 book-result5foonuun s nssn s ns nn111$sideOf: otherPoint "Returns #left, #right or #center if the otherPoint lies to the left, right or on the line given by the vector from 0@0 to self" "((0@0) sideOf: (100@100)) >>> #center" | side | side := (self crossProduct: otherPoint) sign. ^ { #right . #center . #left } at: side + 2| super | super := 1. ^ super103.14159whatever9%(AsciiCharset toLowercase: $!) >>> $!0and: alternativeBlock "Nonevaluating conjunction -- answer with false since the receiver is false." "(false and: [true]) >>> false" "(false and: [Error signal]) >>> false" ^selfa101g 0:00:02:00&ProtoObject class superclass >>> Class9(50@50 isInsideRectangle: (0@0 corner: 100@100)) >>> true222Tests-unix-64-System-OSEnvironments-Tests-Test.xml/('hello' surroundedBy: 'abd') >>> 'abdhelloabd''h: hue s: saturation v: brightness "Create a color with the given hue, saturation, and brightness. Hue is given as the angle in degrees of the color on the color circle where red is zero degrees. Saturation and brightness are numbers in [0.0..1.0] where larger values are more saturated or brighter colors. For example, (Color h: 0 s: 1 v: 1) is pure red." "Note: By convention, brightness is abbreviated 'v' to to avoid confusion with blue." "(Color h: 0 s: 1 v: 1) >>> (Color r: 1 g: 0 b:0)" ^ self h: hue s: saturation v: brightness alpha: 1.01224 fromString: aString "Return a color for HTML color spec: #FFCCAA or white/black passed as string." "(Color fromString: '#FFCCAA')>>> (Color r: 1.0 g: 0.8 b: 0.667 alpha: 1.0) " "(Color fromString: 'orange') >>> Color orange" | aColorHex | aString isEmptyOrNil ifTrue: [ ^ self white ]. aColorHex := aString first = $# ifTrue: [ aString allButFirst ] ifFalse: [ aString ]. "Try to match aColorHex with known named colors, case insensitive." ^ self registeredColorNames detect: [ :each | each sameAs: aColorHex ] ifFound: [ :namedColor | self named: namedColor ] ifNone: [ (aColorHex size = 6 and: [ aColorHex allSatisfy: [ :character | '0123456789ABCDEFabcdef' includes: character ] ]) ifTrue: [ self fromHexString: aColorHex ] ifFalse: [ self white ] ]3.0140ppp ^ 0 :B | 1 :B | b 1 ssssss nn s b 0 ssssss n211 00000112221115553333411166777110phuro3410((FileSystem workingDirectory / 'book-result' / 'W01-Welcome') relativeToReference: FileSystem workingDirectory) pathString >>> 'book-result/W01-Welcome'A({1@2. 6@3. 2@ -1.} select: [:e| e x > e y]) >>> {(6@3). (2@ -1)}20$} isClosePunctuation >>> trueaK(Color fromString: '#FFCCAA')>>> (Color r: 1.0 g: 0.8 b: 0.667 alpha: 1.0) |a:|#( #( 0 1r2 3 )17raisedTo: aNumber "Answer the receiver raised to aNumber." "(2 raisedTo: 8) >>> 256" "(8 raisedTo: 2) >>> 64" "(2 raisedTo: (1/12)) >>> 1.0594630943592953" "(2 raisedTo: -1) >>> (1/2)" aNumber isInteger ifTrue: [ "Do the special case of integer power" ^ self raisedToInteger: aNumber]. aNumber isFraction ifTrue: [ "Special case for fraction power" ^ self raisedToFraction: aNumber]. self < 0 ifTrue: [ ^ ArithmeticError signal: 'Negative numbers can''t be raised to float powers.' ]. 0 = aNumber ifTrue: [^ self class one]. "Special case of exponent=0" 1 = aNumber ifTrue: [^ self]. "Special case of exponent=1" 0 = self ifTrue: [ "Special case of self = 0" ^ aNumber < 0 ifTrue: [ (ZeroDivide dividend: 1) signal] ifFalse: [ self]]. ^ (aNumber * self ln) exp "Otherwise use logarithms"c(false eqv: true) >>> falseisFloatPoint "Return true if both of my x and y coordinates are represented by float values, otherwise false" "(1@2) isFloatPoint >>> false" "(1@2.2) isFloatPoint >>> false" "(1.3@2.2) isFloatPoint >>> true" "((1/3)@(2/2)) isFloatPoint >>> false" ^ x isFloat and: [ y isFloat ]''fred the bear' lastSpacePosition >>> 9601002*#( aa:bb: cc #'aa:bb:cc' #cc #'++' #'++' )2.224/ """ n """ ssss """ n """ ; """ ssss """ n """ 3912 }1 + 10{ 1 + 2Jequals: aDate "Perform a time zone independent comparison of the dates, i.e. only compare day, month and year. To compare with time zones, use #=" "(Date today equals: Date yesterday) >>> false" ^self year = aDate year and: [ self monthIndex = aDate monthIndex and: [ self dayOfMonth = aDate dayOfMonth ] ]1 foo: bar: w((STON reader acceptUnknownClasses: true; on: 'FooBarBaz { #foo : 100 }' readStream; next) at: STON classNameKey) >>> #FooBarBazincludes: anObject "Answer whether anObject is one of the receiver's elements." "(#(10 20 30) includes: 20) >>> true" "(#(10 20 30) includes: 21) >>> false" "((1 to:9 by:2) includes: 3) >>> true" "((1 to:9 by:2) includes: 4) >>> false" "('Hello' includes: $l) >>> true" "('Hello' includes: $h) >>> false" "({'hello'. 'world'} includes: 'hello') >>> true" "({'hel','lo'. 'world'} includes: 'hello') >>> true" ^ self anySatisfy: [:each | each = anObject]100-104021BSort this collection into ascending order using the '<=' operator.9(#(a b c d e) indexOfAnyOf: #(x y c) startingAt: 4) >>> 00055CCC6667DDD889EEEAAABBFFF0a2dabcdefgh994180.3333s4 || a02Tests-unix-64-Collections-Unordered-Tests-Test.xml106upxEvaluate aBlock with each of the receiver's elements as the argument. Answer the number of elements that answered true.b(String streamContents: [:s | 10 timesRepeat: [s nextPutAll: 'foo']] limitedTo: 9) >>> 'foofoofoo'2word before index(#(11 22 33) before: 22) >>> 11[((Date year: 2018 month: 9 day: 28) previous: 'Sunday') printString >>> '23 September 2018'bad start index200a104canySatisfy: aBlock "Evaluate aBlock with the elements of the receiver. If aBlock returns true for any element return true. Otherwise return false." "(#(1 3) anySatisfy: [ :each | each even ]) >>> false" "(#(1 2) anySatisfy: [ :each | each even ]) >>> true" "('hello world!' anySatisfy: [ :each | each isLetter ]) >>> true" "('hello world!' anySatisfy: [ :each | each isDigit ]) >>> false" "((4 to: 9) anySatisfy: #isPrime) >>> true" "((4 to: 50 by: 2) anySatisfy: #isPrime) >>> false" "(#() anySatisfy: [ true ]) >>> false" self do: [ :each | (aBlock value: each) ifTrue: [ ^ true ] ]. ^ false*kkkk sssssss 0 ^ n 0 ssssssss 0 ^ n 0. ^ n8overlappingPairsCollect: aBlock "Answer the result of evaluating aBlock with all of the overlapping pairs of my elements." "(#(1 2 3 4) overlappingPairsCollect: [:first :second| first + second]) >>> #(3 5 7)" | retval | retval := self species ofSize: self size - 1. 1 to: self size - 1 do: [:i | retval at: i put: (aBlock value: (self at: i) value: (self at: i + 1)) ]. ^retval2$(#(a b c d) allButFirst: 3) >>> #(d)233/'between:and:' findSelector >>> #'between:and:'1:=20 factorial >>> 12 That is true!11:at: firstKey at: secondKey "Return the object stored in the second dictionary at secondKey. The second dictionary is accessed via the key firstKey." " (OrderedDictionary new at: #top at: #below1 put: 1; at: #top at: #below1 put: 2; at: #top at: #below1) >>> 2" ^ dictionary at: firstKey at: secondKey and DAnswer with a collection of elements with counts, sorted by element.32PConverts a method selector into a test selector in form of #testOriginalSelector1z2truncateTo: aNumber "Answer the next multiple of aNumber toward zero that is nearest the receiver." "(3.1479 truncateTo: 0.01) >>> 3.14" "(3.1479 truncateTo: 0.1) >>> 3.1" "(1923 truncateTo: 10) >>> 1920" "(1929 truncateTo: 10) >>> 1920" "(-1929 truncateTo: 10) >>> -1920" "(3.1479 truncateTo: 0.005) >>> 3.145" "(-3.1479 truncateTo: 0.01) >>> -3.14" ^(self quo: aNumber) * aNumber-1.5 rounded >>> -2#('a') asCommaStringAnd >>> 'a'>[ #( #( #( #[ ] #[ ] #'[' #']' ) ) ) "a" "b" "c" "d" "e" "f" ]3Returns whether the receiver contains the argument. foofoofoo20b12milliSeconds "2 milliSeconds printString >>> '0:00:00:00.002'" "(1 second + 2 milliSeconds) printString >>> '0:00:00:01.002'" ^ Duration milliSeconds: self210 ^ n. n. ^ n 011000This should not happen1%(3.1479 roundDownTo: 0.005) >>> 3.14572110xb! pppp AAA pppp AAA ^ aaa s aaa . 120120222333213302520.820vector0C('aeiou' findFirstInByteString: 'hello world' startingAt: 3) >>> 5.28$#( #':=' aa: #= #':=' #= cc: #'==' )#'wimpy' initialIntegerOrNil >>> nil$((1 to:9 by:2) includes: 3) >>> true67620bhello-(10 to: 1 by: -2) sorted >>> (2 to: 10 by: 2)digitAt: anExponent base: base "Return number that represents digit at given position." "(42 digitAt: 2 base: 10) >>> 4" "(42 digitAt: 1 base: 10) >>> 2" "It is always a number or zero:" "(16rFF digitAt: 1 base: 16) >>> 15" "(1 digitAt: 2 base: 10) >>> 0" "Results are not defined for base smaller than 2 and non-integer arguments." ^ self // (base raisedToInteger: anExponent - 1) \\ base8asOpenInterval "Return a new interval representing the open version of the receiver. In other words, the new inteval does not contain the upper and lower boundaries of the receiver " "(1 to: 10) asOpenInterval >>> (2 to: 9)" "(10 to: 1 by: -1) asOpenInterval >>> (9 to: 2)" ^ start + step to: stop - step030 hex >>> '16r1E'1.05946309435929532hVariable or expression expected12f400'Tests-unix-64-Commander2-Tests-Test.xml XXXXXXXXXmust be exactly four characters13(1 to:10) size >>> 10 1.00 GB02G(OrderedCollection new add: 42; add: 43; yourself) asArray >>> #(42 43)x54-1$_ isDashPunctuation >>> falsetoS ([#() anyOne] on: SubscriptOutOfBounds do: [ :ex | 'whatever' ]) >>> 'whatever' x isSymbolasHexString "Return a string representing the receiver in HEX (i.e., 6 elements in 16 basis)" "(Color red asHexString) >>> 'FF0000'" | s | s := '000000' copy. s at: 1 put: (Character digitValue: ((rgb bitShift: -6 - RedShift) bitAnd: 15)). s at: 2 put: (Character digitValue: ((rgb bitShift: -2 - RedShift) bitAnd: 15)). s at: 3 put: (Character digitValue: ((rgb bitShift: -6 - GreenShift) bitAnd: 15)). s at: 4 put: (Character digitValue: ((rgb bitShift: -2 - GreenShift) bitAnd: 15)). s at: 5 put: (Character digitValue: ((rgb bitShift: -6 - BlueShift) bitAnd: 15)). s at: 6 put: (Character digitValue: ((rgb bitShift: -2 - BlueShift) bitAnd: 15)). ^ s1630seperate10vector01'hello' surroundedBySingleQuotes >>> '''hello'''-198219'2345' isAllDigits >>> true3fromStream: readStream "Parse and materialize the STON representation in the character readStream" "(STON fromStream: 'Point[1,2]' readStream) >>> (1@2)" "FileLocator temp / ('{1}.ston' format: { Time millisecondClockValue }) in: [ :file | file writeStreamDo: [ :out | STON put: 1@2 onStream: out ]. file readStreamDo: [ :in | STON fromStream: in ] ]" ^ (self reader on: readStream) next$$0n0Xn022c3Class structural inspection - Class/Metaclass shift** exponent " A shortcut method for raisedTo: " "2 ** 8 >>> 256" "8 ** 2 >>> 64" "2 ** (1/12) >>> 1.0594630943592953" "2 ** -1 >>> (1/2)" ^ self raisedTo: exponenta00030us10!000000111000000222044666555777330'' asArray >>> #()XsXc('234Whoopie' initialIntegerOrNil >>> 2343040181#(1 2 3 4) selectEverySecond asArray >>> #(2 4) &2 minutes printString >>> '0:00:02:00'helloprintPathOn: aStream delimiter: aCharacter "Print the receiver's path on aStream (without 'Path' prepended)" "(String streamContents: [ :str| ((FileSystem workingDirectory / 'book-result' / 'W01-Welcome') relativeToReference: FileSystem workingDirectory) printPathOn: str delimiter: $|]) >>> 'book-result|W01-Welcome'" (1 to: self size) do: [:index | aStream nextPutAll: (self at: index)] separatedBy: [aStream nextPut: aCharacter]2 rounded >>> 22a30150vector01331substrings "Answer an array of non-empty substrings from the receiver separated by one or more whitespace characters." "'let us make seperate strings' substrings >>> #('let' 'us' 'make' 'seperate' 'strings')" ^ self substrings: CSSeparators21011:ebar:/Tests-unix-64-NewTools-Inspector-Tests-Test.xml2(#(1 1 2 2 3 3) runningMax: 3) >>> {2 . 2 . 3 . 3}3+((100@200) translateBy: 5@10) >>> (105@210)"" groupsOf: n atATimeDo: aBlock "Evaluate aBlock with my elements taken n at a time. Ignore any leftovers at the end. Allows use of a flattened array for things that naturally group into groups of n. If aBlock has a single argument, pass it an array of n items, otherwise, pass the items as separate arguments. See also pairsDo:" "(Array streamContents: [:stream | #(10 20 30 40 50) groupsOf: 2 atATimeDo: [:first :second | stream nextPut: (first + second)]]) >>> #(30 70)" | passArray | passArray := (aBlock numArgs = 1). n to: self size by: n do: [:index | | args | args := (self copyFrom: index - n + 1 to: index) asArray. passArray ifTrue: [ aBlock value: args ] ifFalse: [ aBlock valueWithArguments: args ]]0000011110335555444620690 [ 1 ]. [ 2 ]&(#(a b c d) at: 5 ifAbsent: #z) >>> #z5?(#(a b c d e) indexOfSubCollection: #(c d) startingAt: 4) >>> 0&#(1 2 3) , #(4 5 6) >>> #(1 2 3 4 5 6)00011121344151100230vector210262abc#(1]2}3){ ^ 1 }asIdentitySet "Return a new IdentitySet based on self." "{ 2. 1+1 } asIdentitySet size >>> 1" "{ 'foo'. ('fo','o') } asIdentitySet size >>> 2" ^(IdentitySet new: self size) addAll: self; yourselfRepeatly value aBlock with a single copy of the receiver. Reorder the copy so that aBlock is presented all (self size factorial) possible permutations.97100 true | false >>> true&('hello' includesAll: 'hop') >>> false\ aCollection "Return all the elements in self that are not in aCollection. Alias of difference:" "#(10 20 30) \ (0 to: 15) >>> #(20 30)" "'abc' \ 'cbe' >>> 'a'." ^ self difference: aCollection897z1do: elementBlock separatedBy: separatorBlock "Evaluate the elementBlock for all elements in the receiver, and evaluate the separatorBlock between." "(Array streamContents: ([:stream | #(1 2 3) do: [:each | stream nextPut: (each + 10)] separatedBy: [ stream nextPut: 0 ]])) >>> #(11 0 12 0 13)" 1 to: self size do: [:index | index = 1 ifFalse: [separatorBlock value]. elementBlock value: (self at: index)](Array streamContents: [:stream | #(10 20 30 40 50) groupsOf: 2 atATimeDo: [:first :second | stream nextPut: (first + second)]]) >>> #(30 70)1000findSelector "Extract a selector with keyword parts from the receiver. While this doesn't give a true parse, in most cases it does what we want, in where it doesn't, we're none the worse for it." "'isSymbol' findSelector >>> #isSymbol" "'x isSymbol' findSelector >>> nil" "'x isSymbol: 33' findSelector >>> #isSymbol:" "'between:and:' findSelector >>> #'between:and:'" "'2 between: 0 and: 4' findSelector >>> #'between:and:'" "'2 between: ( 1 and: 4)' findSelector >>> #between:" "'( 1 and: 4)' findSelector >>> nil" | sel possibleParens | sel := self trimBoth. sel := sel copyReplaceAll: '#' with: ''. sel := sel copyReplaceAll: '[' with: ' [ '. (sel includes: $:) ifTrue: [sel := sel copyReplaceAll: ':' with: ': '. "for the style (aa max:bb) with no space" possibleParens := sel findTokens: Character separators. sel := self species streamContents: [:s | | level | level := 0. possibleParens do: [:token | | n | (level = 0 and: [token endsWith: ':']) ifTrue: [s nextPutAll: token] ifFalse: [(n := token occurrencesOf: $( ) > 0 ifTrue: [level := level + n]. (n := token occurrencesOf: $[ ) > 0 ifTrue: [level := level + n]. (n := token occurrencesOf: $] ) > 0 ifTrue: [level := level - n]. (n := token occurrencesOf: $) ) > 0 ifTrue: [level := level - n]]]]]. sel isEmpty ifTrue: [^ nil]. sel isOctetString ifTrue: [sel := sel asOctetString]. Symbol hasInterned: sel ifTrue: [:aSymbol | ^ aSymbol]. ^ nilThis statement is false!10 Pharo is cool30111004136 222213334444(true or: [false]) >>> true"'3123' isAllAlphaNumerics >>> true Point[1,2]b1002r114I({#a. #b. #c. #d. #e} replaceFrom: 3 to: 4 with: #(x y)) >>> #(a b x y e)10000002162r1012122140400 hex: aFloat "Return an hexadecimal two-digits string between 00 and FF for a float between 0.0 and 1.0" "(Color hex: 0.2) >>> '33'" | str | str := (aFloat * 255) asInteger printStringHex asLowercase. ^ str size = 1 ifTrue: [ '0' , str ] ifFalse: [ str ]0a := a. [ :a [ :a ]. a := aReturns a copy of the receiver with each sequence of whitespace (separator) characters replaced by a single space character1001coolStore value into the index'th element of the receiver. If index is out of bounds, let it wrap around from the end to the beginning until it is in bounds. Answer value.3abctwoThat is false!100n(Array streamContents: [:stream | #(1 2 3) allButFirstDo: [:each | stream nextPut: (each + 10)]]) >>> #(12 13)3(false and: [true]) >>> false1.03d18822222222222000011111111111223201 W01-Welcome10$A isAlphaNumeric >>> truede42c(#(1.9283901234902349 2.302949083493849) closeTo: #(1.9283901234902348 2.302949083493899)) >>> true0vector0A(#(xa xc xz xb xy) sorted: #last ascending) >>> #(xa xb xc xy xz) 000011111110Invalid input/output !&(#(a b c d) at: 3 ifAbsent: #z) >>> #c XXXXXXXXXXXXX2,(#(1 2 3 4 5) beginsWith: #(1 2 3)) >>> truea"'78 92' initialIntegerOrNil >>> 78 nil. := nil+elmer0hscaleTo: anExtent "Return a Point scalefactor for shrinking a thumbnail of the receiver's extent to fit within anExtent. self and anExtent are expected to have positive nonZero x and y." "(200@200 scaleTo: 400@400) >>> (2.0@2.0)" "(40@40 scaleTo: 400@400) >>> (10.0@10.0)" | factor sX sY | factor := 3.0 reciprocal. "EccentricityThreshhold reciprical" sX := anExtent x / self x asFloat. sY := anExtent y / self y asFloat. sX = sY ifTrue: [ ^ sX @ sY ]. "Same aspect ratio" ^ sX < sY ifTrue: [ sX @ (sX max: sY * factor) ] ifFalse: [ (sY max: sX * factor ) @ sY ], project-pharob415oopsS((Date year: 2018 month: 9 day: 28) addMonths: 3) printString>>> '28 December 2018'101111false & true >>> false|- 1yb022222 1C(#(3 4 5) readStreamDo: [ :stream | stream contents ]) >>> #(3 4 5)12(Array streamContents: [:stream | #(10 20 30) paddedWith: #(40 50 60) do: [:first :second | stream nextPut: (first + second)]]) >>> #(50 70 90) e2abcde0001021302018_findFirstInByteString: aByteString startingAt: start "Find the index of first character starting at start in aByteString that is included in the receiver. Default is to use a naive algorithm. Subclasses might want to implement a more efficient scheme. Return 0 if not found." "('aeiou' findFirstInByteString: 'hello world' startingAt: 1) >>> 2." "('aeiou' findFirstInByteString: 'hello world' startingAt: 3) >>> 5." "('aeiou' findFirstInByteString: 'hello world' startingAt: 9) >>> 0." start to: aByteString size do: [:index | (self includes: (aByteString at: index)) ifTrue: [^ index]]. ^ 033(('hello' intersection: 'world') >>> 'ol'310002g401aNumber cannot be negative5 0:B| ||b0f('test te string' copyReplaceAll: 'te' with: 'longone' asTokens: false) >>> 'longonest longone string'50210DE13foo*B({#x .#y .#z} atAll: #(1 3) putAll: #(a e); yourself) >>> #(a y e)I return true if a method is an extension method. Which means that the methods is not packaged in the package of the class containing the method, but in another package.3N(false ifFalse: [ 'This statement is false!' ]) >>> 'This statement is false!'24new: newSize streamContents: blockWithArg "A variant of #streamContents: where the initial or even final size is given to optimize memory consumption" "(Array new: 3 streamContents: [ :out | 3 timesRepeat: [ out nextPut: 42 ] ]) >>> #(42 42 42)" | stream | stream := WriteStream on: (self streamSpecies new: newSize). blockWithArg value: stream. "If the write position of stream is at the end of the internal buffer of stream (originalContents), we can return it directly instead of making a copy as contents would do" ^ stream position = stream originalContents size ifTrue: [ stream originalContents ] ifFalse: [ stream contents ]16Returns the instance of myself having aString as name.PnewFromKeys: keys andValues: values "Create a dictionary from the keys and values arguments which should have the same length." "(Dictionary newFromKeys: #(#x #y) andValues: #(3 6)) >>> (Dictionary new at: #x put: 3; at: #y put: 6 ;yourself)" | dict | dict := self new. keys with: values do: [ :k :v | dict at: k put: v ]. ^ dictworld21(#(3 1 4 2) sorted: [:a :b| a>=b]) >>> #(4 3 2 1)a:2.0<( #(1 2 3) asSet reduce: [ :a :b | a + b ] ) >>> (1 + 2 + 3)0In {1} you can escape \{ by prefixing it with \\1.013charliezk_(#(11 22 33) asOrderedCollection atWrap: 2 put: 0; yourself) >>> #(11 0 33) asOrderedCollectionc60000234545212Whitespace characters:1an integer greater than 1 as valid radix expected#(1 -3 5 1) argmax >>> 3(1. 2)hWe are sorry but this method is unclear and will probably be removed. This method only returning false. hellotheworld* 0 0 :BBB : BBB | | TTT TTT | bbb . 0 0 . n sss;X61vweekdayIndex "Sunday=1, ... , Saturday=7" "(Date year: 2018 month: 9 day: 28) weekdayIndex >>> 6" ^ self dayOfWeek1103g2iList elements betwen () and separated by spaces. Is used by printOn: and other related printing methods.160me.Tests-unix-64-Roassal-Animation-Tests-Test.xml2asByteArray "Convert to a ByteArray with the ascii values of the string." "'a' asByteArray >>> #[97]" "'A' asByteArray >>> #[65]" "'ABA' asByteArray >>> #[65 66 65]" self subclassResponsibilityc1!(3.1479 truncateTo: 0.1) >>> 3.1085.7abcxh50421.01010e Xuuuuu n`Answer a copy of the receiver that does not contain any elements equal to those in aCollection.$A isCasedLetter >>> false81712'hello' copyEmpty >>> ''e7QfindBinary: aBlock ifNone: exceptionBlock "Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If no matching element is found, evaluate exceptionBlock, with the 'bounding' elements as optional arguments." "(#(1 3 5 7 11 15 23) findBinary: [ :arg | 24 - arg ] ifNone: ['Not found']) >>> 'Not found'" "(#(1 3 5 7 11 15 23) findBinary: [ :arg | 24 - arg ] ifNone: [:a :b | 'over ', a printString]) >>> 'over 23'" "(#(1 3 5 7 11 15 23) findBinary: [ :arg | 25 - arg ] ifNone: [ :a :b | 'between: ',{a. b} printString ]) >>> 'between: #(23 nil)'" ^ self findBinary: aBlock do: [ :found | found ] ifNone: exceptionBlock100024P(String streamContents: [ :out | STON put: 1@2 onStream: out ]) >>> 'Point[1,2]'1min: maxValue max: minValue "Take the minimum between self and maxValue, then the maximum with minValue" "(10 min: 20 max: 5) >>> 10" "(10 min: 20 max: 11) >>> 11" "(24 min: 20 max: 5) >>> 20" ^ (self min: maxValue) max: minValueReturn a color with the given r, g, and b components specified as integers in the range [0..r]. This avoids the floating point arithmetic in the red:green:blue: message and is thus a bit faster for certain applications (such as computing a sequence of colors for a palette).3!'foo' asCommaString >>> 'f, o, o'foo-(3 ifNil: [42] ifNotNil: [:o | o +3 ]) >>> 630two0t({10. 20} asOrderedCollection addAll: {20. 30. 30. 40.}; yourself) >>> {10. 20. 20. 30. 30. 40.} asOrderedCollection131pharo goodby: 2 my: 33 003CWrite the STON serialization of object to the character writeStreamninth "Answer the ninth element of the receiver. Raise an error if there are not enough elements." "#(a b c d e f g h i) ninth >>> #i" ^ self at: 9S(Date year: 2018 month: 9 day: 28) onPreviousMonth printString >>> '28 August 2018'032X X12c33#() asBag = Bag new >>> trueaT(true ifTrue: [ 'That is true!' ] ifFalse: [ 'That is false!' ]) >>> 'That is true!'313!#(a b c d e f g h i) third >>> #c37 test test42 Not found7d20#(#(1 2 3) polynomialEval: 2) >>> 17a2321153428J('Ab cd ef Ab cd' allRangesOfSubstring: 'cd') >>> {(4 to: 5). (13 to: 14)}2000({3. 9. 1} sort: [:a :b | a <= b ]) >>> #(1 3 9)(1/3.0s round: 4) >>> 0.3333s4 3Returns whether the receiver contains the argument. <1p>: <2p>21147Return a color from its RGB components (0 - 1.0 floats)XReturn the middle element, or as close as we can get. The collection must not be empty.-"a" [ "b" : "c" x "d" : "e" y "f" | "g" ] "h"6001123456789AA01$Optimized version based on primitive129factorial "Answer the factorial of the receiver." "The factorial on n is defined as: n * (n-1)*(n-2)*... while n>0. Factorial of 0 is 1. We also know Factorial of 1 and 2 are themselves. This implementation uses a 2-partition algorithm. For a recursive (but slower) implementation see 'slowFactorial' Without verbose detail: If'm an even number,some optimization can be applied: Instead of doing all multiplication we can halving the number of multiplication regrouping terms, so: n*(n-1)*(n-2)*....*3*2*1 can be rearranged as: (n*1)*((n-1)*2)*((n-2)*3)*... And the use the fact n is even to rewrite in a more efficient way. If I'm an odd number then compute for n-1 and multily by n. " "Example of usages:" "0 factorial >>> 1" "1 factorial >>> 1" "2 factorial >>> 2" "3 factorial >>> 6" "4 factorial >>> 24" "5 factorial >>> 120" "6 factorial >>> 720" | nex nexnext acc | "Guard for know cases (0,1,2,error)" self < 3 ifTrue: [ ^ self < 0 ifTrue: [ self error: 'Not valid for negative integers' ] ifFalse: [ self > 0 ifTrue: [ self ] ifFalse: [ 1 ] ] ]. acc := 2. nex := 2. nexnext := 10. self // 2 - 1 timesRepeat: [ nex := nex + nexnext. nexnext := nexnext + 8. acc := acc * nex ]. self odd ifTrue: [ acc := acc * self ]. ^ acc2 slowFactorial >>> 2atRandom: aRandom weighting: aBlock "Retrieve an element with a probability related to the weighting block. The block takes an element as argument and provides a positive number as result (the retative weight). An implicit normalization is performed on all weights. Multiple occurences of equal elements multiply the probability to be choosen. Warning: empty collections and negative weights will signal errors." "({'1'. '2'. '3'. '4'} atRandom: (Random seed: -42) weighting: [ :each | each asInteger ]) >>> '4'" "({'1'. '1'. '2'. '1'. '1'} atRandom: (Random seed: -42) weighting: [ :each | each asInteger ]) >>> '1'" | sum | self emptyCheck. sum := self sum: aBlock. sum := sum * aRandom next. self do: [ :each | | weight | weight := aBlock value: each. weight < 0 ifTrue: [ self error: 'Unexpected negative weight' ]. sum := sum - weight. sum <= 0 ifTrue: [ ^ each ] ]. self error: 'This should not happen'!u u. X X X X X. X X301200(100@200) floor >>> (100@200)232454 c65536H(('asa' , String cr , 'asa') withUnixLineEndings at: 4) >>> Character lf#(1 2 3 4) combinations >>> #(#(1) #(2) #(3) #(4) #(1 2) #(1 3) #(1 4) #(2 3) #(2 4) #(3 4) #(1 2 3) #(1 2 4) #(1 3 4) #(2 3 4) #(1 2 3 4))10011Negative numbers can't be raised to float powers.16rA10nnn.n)({1 .2 .3 .4} at: 3 incrementBy: 2) >>> 53DnextToLast "(#(1 2 3 4) nextToLast) >>> 3" ^self at: self size - 11-61Perform a time zone independent comparison of the dates, i.e. only compare day, month and year. To compare with time zones, use #=!(10 printStringBase: 10) >>> '10'3017<0000224455655597777855CCDDEDDDHFFFFGGDDICCBBBBBBAAAJ44333333:(#(1 3) detect: #even ifFound: #negated ifNone: [0]) >>> 01(printOn: aStream base: base length: minimum padded: zeroFlag "Return a String representation of this number in base b with a minimum length and padded by 0 if zeroFlag is set" "(String streamContents: [ :s | 10 printOn: s base: 10 length: 4 padded: true] ) >>> '0010'" "(String streamContents: [ :s | -10 printOn: s base: 10 length: 4 padded: true] ) >>> '-010'" | prefix | prefix := self negative ifTrue: ['-'] ifFalse: [ '' ]. self print: (self abs printStringBase: base) on: aStream prefix: prefix length: minimum padded: zeroFlag3013;(1 second + 1 milliSecond) printString >>> '0:00:00:01.001'30 A(#(#do #la #si #do #la) copyWithoutDuplicates) >>> #(#la #do #si)30d236atAll: aCollection put: anObject "Put anObject at every index specified by the elements of aCollection." "({#x .#y .#z} atAll: #(1 3) put: #e; yourself) >>> #(e y e)" aCollection do: [:index | self at: index put: anObject]. ^ anObject| a a | a := 10. ^ a2[:a ::b]20N(false ifFalse: [ 'This statement is false!' ]) >>> 'This statement is false!'1-80({10@20. 30@0} collect: [:e | e x]) >>> #(10 30)REvaluates the argument with the read stream of the collection. Answers the result.2oopshello100 foo < + > 125asSortedCollection: aSortBlock "Answer a SortedCollection whose elements are the elements of the receiver. The sort order is defined by the argument, aSortBlock. Note that it is better to use #sorted if you don't really need a SortedCollection, but a sorted collection!!" "('bar' asSortedCollection: [:x :y| x>y ]) asArray >>> {$r. $b. $a}." | aSortedCollection | aSortedCollection := SortedCollection new: self size. aSortedCollection sortBlock: aSortBlock. aSortedCollection addAll: self. ^ aSortedCollection/Tests-unix-64-Reflectivity-Tools-Tests-Test.xml 'def' >= 'abc' >>> trueeAnswer the next multiple of aNumber toward negative infinity that is nearest the receiver. Examples:42"0000011111111111033555555555554446name19' That is true!*baz1000vector010R(#(1 + 3 - 5) reduceLeft: [ :a :op :b | a perform: op with: b ]) >>> ((1 + 3) - 5)string1Answer the set theoretic difference of two collections. Pay attention that the difference is not commutative, hence the order is important.30between: #(23 nil)1 (10 'hello')>> false" "(#(2 4) allSatisfy: [ :each | each even ]) >>> true" "('hello' allSatisfy: #isLetter) >>> true" "('hello!' allSatisfy: #isLetter) >>> false" "((3 to: 8 by: 2) allSatisfy: #isPrime) >>> true" "((3 to: 9 by: 2) allSatisfy: #isPrime) >>> false" "(#() allSatisfy: [false]) >>> true" self do: [ :each | (aBlock value: each) ifFalse: [ ^ false ] ]. ^ true(Array streamContents: [:stream | #(10 20 30) paddedWith: #(40 50) do: [:a :b | stream nextPut: {a. b} ]]) >>> #(#(10 40) #(20 50) #(30 nil)) ](Color colorFrom: #(blue darker)) >>> (Color r: 0.0 g: 0.0 b: 0.9198435972629521 alpha: 1.0) 1021'hello' test 4c 1 sign ; bar2&Tests-unix-64-PharoDocComment-Test.xml2303322(('ab ab ac de' howManyMatch: 'ab') >>> 22.46685171136624071four66.('heLlo wOrLd' select: #isUppercase) >>> 'LOL'102)Fold the result of the receiver into aBlock. The argument aBlock must take two or more arguments. It applies the argument, binaryBlock cumulatively to the elements of the receiver. For sequenceable collections the elements will be used in order, for unordered collections the order is unspecified.4242655dfirst "Answer the first element of the receiver" "#(a b c d e f g h ) first >>> #a" ^ self at: 10(Array with: 1 withAll: #(2 3 4)) >>> #(1 2 3 4)hello,ppp | T | t n. ^ 0 :B | b 0 ssssss nn s t2233DNonevaluating disjunction -- answer true since the receiver is true.Esum works with objects that understands + and - messages, like Points20104({#hello. #world} identityIncludes: #hello) >>> true 0n ssss0Xsss:return myself or a copy shortened by ellipsis to smallSize5"#(a b c d e f g h ) eighth >>> #h1100foo: a bar: a ^ a$((1/3)@(2/2)) isFloatPoint >>> false301 goodby: my: 101abc1'' isEmpty >>> true """ ^ """ n """ a2111 max: 2; "e"min: 3(('salkjsdlkgfee' findString: 'al') >>> 222Abcabc100vector02a := a. { [ :a | }. a := a1e1 e11 X Xsss X c422two201 ; foo3 000000002000003 [1 , 2 , 3]1#$( isConnectorPunctuation >>> false|Integer quotient defined by division with truncation toward negative infinity. \\ answers the remainder from this division. Size of replacement doesnt match70231XXXXu65X([:c| c isSeparator] split: 'aa bb cc dd')>>> #('aa' 'bb' 'cc' 'dd') asOrderedCollection{1 . 2 . 4 . 5} median >>> 39121+(self >> #traitSource) isExtension >>> true-3.147910pharo84('*foo*zort' match: 'afoodezortorfoo3zort') >>> truemReturn true if the receiver is sorted by the given criterion. Optimization for isSortedBy: [:a :b | a <= b]. 00111000444222230005566600 D('||' split: 'foo||bar||2')>>>#('foo' 'bar' '2') asOrderedCollection44202K(#('one' 'two' 'three' 'four') atAll: #(3 2 4)) >>> #('three' 'two' 'four')'|' or parameter expectedReturn a String with the JSON serialization of object. Note that the object graph can only contain lists (Array) and maps (Dictionary)Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If found, evaluate actionBlock with the index as argument If no matching element is found, evaluate exceptionBlock, with the indexes of the 'bounding' elements as arguments. Warning: Might give invalid indexes, see examples below4h110.01DEW(false ifFalse: [ 'That is false!' ] ifTrue: [ 'That is true!' ]) >>> 'That is false!'/ """ pppp """ A """ pppp """ A """ ^ """ a """ 200!a := a. { [ :a | a := a }. a := apharo>Returns an array composed of the three color float components.reject: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. Collect into a new collection like the receiver only those elements for which aBlock evaluates to false. Answer the new collection." "(#(1 2 3 4 5) reject: #even) >>> #(1 3 5)" "('Hello, World!' reject: #isLetter) >>> ', !'" "((1 to: 8) reject: #isPrime) >>> #(1 4 6 8)" ^ self select: [ :element | (aBlock value: element) == false ]1420-811000vector0two3Hello20Extract items from the receiver and use them as arguments of aBlock. Signal an error (ArgumentsCountMismatch) when the arguments count of aBlock does not match the receiver size.2.04&(Color r: 1 g: 1 b: 1) >>> Color white20184JisConnectorPunctuation "Return whether the receiver is one of these characters: _" "$_ isConnectorPunctuation >>> true" "$( isConnectorPunctuation >>> false" "$) isConnectorPunctuation >>> false" "$> isConnectorPunctuation >>> false" "$} isConnectorPunctuation >>> false" ^ self characterSet isConnectorPunctuation: self1231xa102;(Date year: 2018 month: 9 day: 28) mmddyyyy >>> '9/28/2018'>printOn: aStream delimiter: delimString "Print elements on a stream separated with a delimiter String like: 'a, b, c'" "(String streamContents: [:s| { 10. 'hello'. $x } printOn: s delimiter: ', ']) >>> '10, ''hello'', $x'" self do: [:elem | aStream print: elem] separatedBy: [aStream nextPutAll: delimString]!(#() collect: [:x | x+1]) >>> #()@foo: [ | a b | 13/Answer an Association between self and anObject2a;([:x | x + 1] valueWithPossibleArgs: #( 13 12 15)) >>> 14 | | u6split: aSequenceableCollection "Split the argument using the receiver as a separator." "optimized version for single delimiters" "($/ split: '/foo/bar')>>>#('' 'foo' 'bar') asOrderedCollection" "([:c| c isSeparator] split: 'aa bb cc dd')>>> #('aa' 'bb' 'cc' 'dd') asOrderedCollection" | result | result := OrderedCollection new: aSequenceableCollection size //2. self split: aSequenceableCollection do: [ :item | result add: item ]. ^ result5*0222FFF9999AAAAAAABBBBBBBBCCCCCCDAAAEA9220 |||| afooone3732420vector0R(OrderedCollection new add: 41; add: 42 after: 41; yourself) asArray >>> #(41 42)30true | true >>> true1115('*foo#zort' match: 'afoo3zortthenfoo3zort') >>> true3.1(42 digitAt: 1 base: 10) >>> 2fromRgbTriplet: list "Return a color from its RGB components (0 - 1.0 floats)" "(Color colorFrom: #(1.0 1.0 1.0)) >>> (Color white)" ^ self r: list first g: list second b: list last7 00001111101. := 21!Tests-unix-64-Slot-Tests-Test.xml 16r4116r41[newFromKeys: keys andValues: values "Create a dictionary from the keys and values arguments which should have the same length." "(SmallDictionary newFromKeys: #(#x #y) andValues: #(3 6)) >>> (SmallDictionary new at: #x put: 3; at: #y put: 6 ;yourself)" | dict | dict := self new. keys with: values do: [ :k :v | dict at: k put: v ]. ^ dict=Answer a copy of the receiver without any duplicated elements255-415555 106660077708 AAA1 factorial >>> 1042SHIFT_L2@ foo: 53Class structural inspection - Class/Metaclass shift223012'Now is the time for all good people to come to the aid of the cause of world peace. It is just fine, even desirable, to love your country, if that means wanting it to play a beneficial role in the course of world events and be the best possible example of a good society. But if it means wanting dominion over the rest of the world, it is not love but defensiveness or self-glorification, and will lead only to oblivion.' piecesCutWhere: [:a :b| a = $. and: [b isSeparator]]({1. 2} asSet = {1. 2. 3} asSet >>> falsee0(#(a b a d e) lastIndexOf: #c ifAbsent: 7) >>> 7132/Answer how many elements the receiver contains.10indexOfSubCollection: aSubCollection startingAt: anIndex "Answer the index of the receiver's first element, such that that element equals the first element of aSubCollection, and the next elements equal the rest of the elements of aSubCollection. Begin the search at element anIndex of the receiver. If no such match is found, answer 0." "(#(a b c d e) indexOfSubCollection: #(c d) startingAt: 2) >>> 3" "(#(a b c d e) indexOfSubCollection: #(c d) startingAt: 4) >>> 0" ^self indexOfSubCollection: aSubCollection startingAt: anIndex ifAbsent: [0] . #( foo bar )(#(w x y z) atPin: 2) >>> #x16rFFXXXXaXXbXXXXcXXXXXXdXXXXz W01-WelcomecAnswer the index of the first occurrence of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock.1004201942Answer the y coordinate.Do nothing on purposezRound the decimal part of the receiver to be limited to the number of wished decimal. Only leave a fixed amount of decimalfoo < 40vector23.15hReturn element at indexFromEnd from the last position. atLast: 1 ifAbsent: [] returns the last element1120*Answer the middle element of the receiver.515204=atAllPut: anObject "Put anObject at every one of the receiver's indices." "({#x .#y. #z} atAllPut: #a) >>> #(a a a)" | size | (size := self size) > 26 "first method faster from 27 accesses and on" ifTrue: [self from: 1 to: size put: anObject] ifFalse: [1 to: size do: [:index | self at: index put: anObject]]:Answer a Point translated by delta (an instance of Point).2e [ 1 }. 2 ]aprintOn: aStream delimiter: delimString last: lastDelimString "Print elements on a stream separated with a delimiter between all the elements and with a special one before the last like: 'a, b and c'" "(String streamContents: [:s| { 10. 'hello'. $x } printOn: s delimiter: ', ' last: ' & ']) >>> '10, ''hello'' & $x'" "Note: Feel free to improve the code to detect the last element." | n sz | n := 1. sz := self size. self do: [:elem | n := n + 1. aStream print: elem] separatedBy: [ n = sz ifTrue: [aStream nextPutAll: lastDelimString] ifFalse: [aStream nextPutAll: delimString]]02!(100.1@200.9) floor >>> (100@200)0H#(2 4 6 8) , #(who do we appreciate) >>> #(2 4 6 8 who do we appreciate)hello1classSide "Return the metaclass of the couple class/metaclass. Useful to avoid explicit test." "Point classSide >>> Point class" "Point class classSide >>> Point class" ^ self subclassResponsibility frd th bar1s6EPut anObject at every index specified by the elements of aCollection.20020:#[ 1 2102,(#(a b c d e) indexOf: #x ifAbsent: 7) >>> 7de5H(#('abc' 'de' 'fghi') sorted: #size descending) >>> #('fghi' 'abc' 'de')2004-02-29T13:33:12+02:000.5a::de310031(-2.567 printShowingDecimalPlaces: 2) >>> '-2.57'114loveaBc1612b!foo: a ^ [ :a | a ] value: 10 + a623,"a" 1 "b" max: "c" 2 "d" + "e" 3 "f" abs "g"%((1 to:9 by:2) includes: 4) >>> false2"('action' alike: 'actions') >>> 7.0/((3 to: 8 by: 2) allSatisfy: #isPrime) >>> true|Answer whether aPoint is within the receiver. Pay attention the self origin is considered less than but the corner is strict1 That is true!1(Tests-unix-64-Zinc-Zodiac-Tests-Test.xml1613"atLast: indexFromEnd ifAbsent: block "Return element at indexFromEnd from the last position. atLast: 1 ifAbsent: [] returns the last element" "(#(x y z) atLast: 1 ifAbsent: #a) >>> #z" "(#(x y z) atLast: 4 ifAbsent: #a) >>> #a" ^ self at: self size + 1 - indexFromEnd ifAbsent: blocki15 between: 33associationsDo: aBlock "Evaluate aBlock for each of the receiver's elements (key/value associations). If any non-association is within, the error is not caught now, but later, when a key or value message is sent to it. The point of this method it to do the *right thing* on Dictionaries and related classes. " "(String streamContents: [:s| {'one'->1. 'two'->2} associationsDo: [:a| s << a key << ':' << a value asString << ';']]) >>> 'one:1;two:2;'" "(String streamContents: [:s| {'one'->1. 'two'->2} asOrderedDictionary associationsDo: [:a| s << a key << ':' << a value asString << ';']]) >>> 'one:1;two:2;'" self do: aBlock19(#(1 2 3) reduceLeft: [ :a :b | a - b ])>>> ((1 - 2) - 3)a1*(100@200) reciprocal >>> ((1/100)@(1/200))pppp A XXXXXXX. ^ awReturn the object stored in the second dictionary at secondKey. The second dictionary is accessed via the key firstKey.2291?(#(a b c d e) indexOfSubCollection: #(c d) startingAt: 2) >>> 3221Tests-unix-64-Refactoring-DataForTesting-Test.xml40000111111222332210!"a" ( "b" ( "c" 1 "d" ) "e" ) "f"G(#('abc' 'de' 'fghi') sorted: #size ascending) >>> #('de' 'abc' 'fghi')-2 odd >>> false10vector03<(1000 * 1000 * 1000) humanReadableSISizeString >>> '1.00 GB'*Evaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into a collection like the receiver. Answer the new collection. Note: the returned collection is of the same species. If this species does not accomdate the values of aBlock, look at collect:as:That is false!15*(#(a b c d) after: #x ifAbsent: #z) >>> #z(^1)2#[ ]\\ arg "Pairwise integer modulo of two sequenceable collections of the same length." "#(10 20 30) \\ #(1 3 4.0) >>> #(0 2 2.0)" "{10@20. 30@0} \\ {1@3. 4.0@1} >>> {(0@2). (2.0@0)}" ^ arg adaptToCollection: self andSend: #\\1foo: super ^ super + 121:411.01(#(1 3 5 7 11 15 23) findBinary: [ :arg | 25 - arg ] ifNone: [ :a :b | 'between: ',{a. b} printString ]) >>> 'between: #(23 nil)'34-Here 123should % be 6 the name6 of the methodd:. :. :a3(OrderedCollection new growAtLast; capacity) >>> 20isEmpty "Answer whether the receiver contains any elements." "{} isEmpty >>> true" "{{}} isEmpty >>> false" "'' isEmpty >>> true" "' ' isEmpty >>> false" "(1 to: 10) isEmpty >>> false" "(10 to: 1) isEmpty >>> true" ^self size = 01,Tests-unix-64-System-Settings-Tests-Test.xml22652.0bar:3323Point[1,/*comment*/2]abc00110004422223006655572findBinaryIndex: aBlock do: actionBlock ifNone: exceptionBlock "Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If found, evaluate actionBlock with the index as argument If no matching element is found, evaluate exceptionBlock, with the indexes of the 'bounding' elements as arguments. Warning: Might give invalid indexes, see examples below" "(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 11 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 5" "(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 12 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 'between: #(5 6)'" "(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 0.5 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 'between: #(0 1)'" "(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 25 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ',{a. b} printString ]) >>> 'between: #(7 8)' " | index low high test | low := 1. high := self size. [ index := high + low // 2. low > high ] whileFalse: [ test := aBlock value: (self at: index). test = 0 ifTrue: [ ^ actionBlock value: index ] ifFalse: [ test > 0 ifTrue: [ low := index + 1 ] ifFalse: [ high := index - 1 ] ] ]. ^ exceptionBlock cull: high cull: low!'ABA' asByteArray >>> #[65 66 65]2x0vector010L writes the N-th argument using #printString, but without trancating it. 4 + 3 >>> 7[Answer the ninth element of the receiver. Raise an error if there are not enough elements.01120{1@2} copyEmpty >>> #()foo: a a := 10. ^ af13100e-12-10.{ 'foo'. ('fo','o') } asIdentitySet size >>> 214 writes the N-th argument, which should be a String, or a collection of printable objects. Note also important distinction for single-quotes inside the argument; with

they will be doubled.11>($/ split: '/foo/bar')>>>#('' 'foo' 'bar') asOrderedCollection&[ :x "a""b""c""d" :y "e""f" | "g""h" ]210SHIFT_L1110bdisplayStringOn:foo30X X 2([ 12 ] cull: 13)>>> 12 11efalse not >>> true-3 true := trueJRunning max. See the comment of self >> #running:of: for more information. beginsWith: prefix "Answer whether the receiver begins with the given prefix string. The comparison is case-sensitive." "IMPLEMENTATION NOTE: following algorithm is optimized in primitive only in case self and prefix are bytes like. Otherwise, if self is wide, then super outperforms, Otherwise, if prefix is wide, primitive is not correct" "('pharo' beginsWith: '') >>> true" "('pharo' beginsWith: 'pharo-project') >>> false" "('pharo' beginsWith: 'phuro') >>> false" "('pharo' beginsWith: 'pha') >>> true" prefix ifEmpty: [ ^true ]. (self class isBytes and: [ prefix class isBytes ]) ifFalse: [^super beginsWith: prefix]. self size < prefix size ifTrue: [^ false]. ^ (self findSubstring: prefix in: self startingAt: 1 matchTable: CaseSensitiveOrder) = 1xz41!(10 storeStringBase: 10) >>> '10'-101\at: firstKey at: secondKey "Return the object stored in the second dictionary at secondKey. The second dictionary is accessed via the key firstKey." " (Dictionary new at: #top at: #below1 put: 1; at: #top at: #below1 put: 2; at: #top at: #below1) >>> 2" ^ self at: firstKey at: secondKey ifAbsent: [ self errorKeyNotFound: secondKey ]befirst: n "Answer the first n elements of the receiver. Raise an error if there are not enough elements." "(#(a b c d e f g h ) first: 3) >>> #(a b c)" ^ self copyFrom: 1 to: n1110xEvaluate aBlock with each of the receiver's elements as the argument, starting with the last element and taking each in sequence up to the first. For SequenceableCollections, this is the reverse of the enumeration for do:.cc31abc1nXXn=(#(1 3 5 7 11 15 23) findBinary: [ :arg | 11 - arg ]) >>> 11 10#(1 2 3 4) selectEveryFirst asArray >>> #(1 3) 1(10 min: 20 max: 5) >>> 102two2.30291023(true xor: [false]) >>> trueisDecimalDigit "Return whether the receiver is a digit." "$1 isDecimalDigit >>> true" "$0 isDecimalDigit >>> true" ^ self characterSet isDecimalDigit: self200vector0lo+ foo: 1 sign; ; bar3637H' this string will be trimmed ' trim >>> 'this string will be trimmed'-2K(#(a b c d e) indexOfSubCollection: #(c d) startingAt: 4 ifAbsent: 7) >>> 739({10. 20} asSet add: 30; yourself) >>> {10. 20. 30} asSetwith: otherCollection collect: twoArgBlock "Collect and return the result of evaluating twoArgBlock with corresponding elements from this collection and otherCollection." "(#(1 2 3) with: #(4 5 6) collect: [:a :b | a + b]) >>> #(5 7 9)" | result | otherCollection size = self size ifFalse: [self errorSizeMismatch]. result := self species new: self size. 1 to: self size do: [:index | result at: index put: (twoArgBlock value: (self at: index) value: (otherCollection at: index))]. ^ resultRReturn the metaclass of the couple class/metaclass. Useful to avoid explicit test.2.57G(#( (2 -3) (4 -5) #(-6)) flatCollect: [ :e | e abs ]) >>> #(2 3 4 5 6)foo1U(true ifFalse: [ 'That is false!' ] ifTrue: [ 'That is true!' ]) >>> 'That is true!'1133a1110A20402sAnswer a Point that is the receiver's x and y ceiling. Answer the receiver if its coordinates are already integral.1ppp X X3120"a" 1 "b". "c" 2 "d"11001133inde0Add the argument, newObject, as an element of the receiver. Put it in the sequence just preceding oldObject. Answer newObject.-24e1081 [ :a :a | a ]0vector012r1110EMight be compiled inline for speed, see RBMessageNode>>#isInlineIfNil111341"(100 beBetween: 12 and: 20) >>> 2032cAnswer the index of the first substring within the receiver, starting at start. If the receiver does not contain substring, answer 0. startsWithDigit "Answer whether the receiver's first character represents a digit" "'abc' startsWithDigit >>> false" "'0abc' startsWithDigit >>> true" "'1abc' startsWithDigit >>> true" "'11abc' startsWithDigit >>> true" ^ self size > 0 and: [self first isDigit]1+(2 raisedTo: (1/12)) >>> 1.059463094359295333333335Split the argument using the receiver as a separator.119241isCurrencySymbol "Return whether the receiver is one of these characters: $ and euro" "$$ isCurrencySymbol >>> true" "Character euro isCurrencySymbol >>> true" "$} isControlOther >>> false" ^ self characterSet isCurrencySymbol: self 2r. 3K('Five is {five}.' format: (Dictionary with: #five -> 5)) >>> 'Five is 5.'54}Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If no matching element is found, evaluate exceptionBlock, with the 'bounding' elements as optional arguments.$1 isAlphaNumeric >>> trueU(ByteArray with: 97 with: 0 with: 0 with: 0) asString ~= 'a000' asWideString >>> truebetween: #(7 8)42120043 001022350 00010220300K(#(a b c d e) indexOfSubCollection: #(c d) startingAt: 2 ifAbsent: 7) >>> 3100.0100"00011111111111000444444444443335003Class structural inspection - Class/Metaclass shift1- <= aString "Answer whether the receiver sorts before or equal to aString. The collation order is simple ascii (with case differences)." " 'abc' <= 'def' >>> true" " 'abc' <= 'abc' >>> true" " 'def' <= 'abc' >>> false" ^ (self compare: self with: aString) <= 0 X X X504Tests-unix-64-Zinc-Character-Encoding-Tests-Test.xml1fghi0vector0def004 111110000(#(11 22 33) before: 33) >>> 2210180.0160vector002 XX n XX# n X35::a, c34(10 to: 25 by: 5) asCommaString >>> '10, 15, 20, 25'1112&' 89Ten ' initialIntegerOrNil >>> nilE((Date year: 2018 month: 9 day: 28) subtractDate: '2018-09-27') >>> 18('fred the bear' copyWithoutAll: 'aeiou ') >>> 'frdthbr' 00111111112222222223334455506770fooe:#(# ## #ab #10 #. 10)0\Answer the eighth element of the receiver. Raise an error if there are not enough elements.10AaBbCc100320tAnswer a new collection like the receiver which contains all elements of the receiver at the indices of indexArray.1a-1 between: 312000#n010010401;Tests-unix-64-System-BasicCommandLineHandler-Tests-Test.xml000002400:Returns the basename without specified extension (if any) Do a character-by-character comparison between the receiver and aString. Return the index of the final character that matched exactly.0 0 odd >>> false-212926"{3@5. 7@ -4} average >>> (5@(1/2))1/(#(1 2 3) reduceRight: [ :a :b | a - b ]) >>> 2]('a000' asWideString sameAs: (ByteArray with: 97 with: 0 with: 0 with: 0) asString) >>> false1510#(10 20) size >>> 23,Tests-unix-64-Spec2-Code-Diff-Tests-Test.xmlZ(String streamContents: [ :s | 10 printOn: s base: 10 length: 4 padded: true] ) >>> '0010'1001111000444422223005566663r123450YCreate a dictionary from the keys and values arguments which should have the same length.Vsize "#(a b c d e) size >>> 5" "#(x y z) size >>> 3" ^ self subclassResponsibility7i(String streamContents: [:s| { 10. 'hello'. $x } printOn: s delimiter: ', ']) >>> '10, ''hello'', $x'10000000054543.1479-1hello(nil)-4a120512[ 355100%(-3.1479 truncateTo: 0.01) >>> -3.142411Print elements on a stream separated with a delimiter between all the elements and with a special one before the last like: 'a, b and c'. Uses #asString instead of #print: Note: Feel free to improve the code to detect the last element.$: tokenish >>> true#Tests-unix-64-TaskIt-Tests-Test.xmlaXXb pharo-project100a3200140.0000001110334444555555555554446666666664444220sum: aBlock "This is implemented using a variant of the normal inject:into: pattern. The reason for this is that it is not known whether we're in the normal number line, i.e. whether 0 is a good initial value for the sum. Consider a collection of measurement objects, 0 would be the unitless value and would not be appropriate to add with the unit-ed objects." "(#(1 -4 -10 1) sum: #abs) >>> 16" "({1@ -4. -10@1} sum: #abs) >>> (11@5)" "(#() sum: #abs) >>> 0" ^ self sum: aBlock ifEmpty: [ 0 ]6 Hello, World!22332 10.19999999922W(false ifTrue: [ 'That is true!' ] ifFalse: [ 'That is false!' ]) >>> 'That is false!'0(10.12345 round: 2) >>> 10.12 $Returns a number between 0.0 and 1.0*0011"""2"""3333"""1111"""111"""1#"""#321000.520ehllo3Name already definedhAEvaluating conjunction -- answer aBoolean since receiver is true.300000100002000030555655755855599A9B9C999FEEEGDDDH55 [ :a || a b ]1 abs .'displayStringOn:foo' endsWithAColon >>> false0Absolute value of all elements in the collection2or: alternativeBlock "Nonevaluating disjunction -- answer value of alternativeBlock." "(false or: [true]) >>> true" "(false or: [3]) >>> 3" ^alternativeBlock value%('pharo' endsWith: 'phuro') >>> false2011420091,(#(11 22 33) before: 44 ifAbsent: 55) >>> 55100200hello!(1 to: 10) copyEmpty >>> #()0.67474094222355263DReturn whether the receiver is one of these characters: $ and eurohellosplit: aSequenceableCollection indicesDo: aBlock "Perform an action specified as aBlock (with a start and end argument) to each of the indices of aSequenceableCollection that have been identified by taking the receiver as a splitter." "('||' split: 'foo||bar||2')>>>#('foo' 'bar' '2') asOrderedCollection" "(String streamContents: [:s | '||' split: 'foo||bar||2' indicesDo: [ :start :end | s << 's:' << start asString << ' ' << 'e:' << end asString << ' ' ]]) >>> 's:1 e:3 s:6 e:8 s:11 e:11 '" | position oldPosition | position := 1. oldPosition := position. position := aSequenceableCollection indexOfSubCollection: self startingAt: position. [ position > 0 ] whileTrue: [ aBlock value: oldPosition value: position - 1. position := position + self size. oldPosition := position. position := aSequenceableCollection indexOfSubCollection: self startingAt: position. ]. aBlock value: oldPosition value: aSequenceableCollection sizeABAX#####Unitialized variable.#(10 20 30) / #(1 3 4.0) >>> {10. (20/3). 7.5}Answer the index'th element of the receiver. If index is out of bounds, let it wrap around from the end to the beginning until it is in bounds.10.124n.)#message asTestSelector >>> #testMessage52jA variant of #streamContents: where the initial or even final size is given to optimize memory consumption28WindexOf: anElement startingAt: start "Answer the index of the first occurrence of anElement after start within the receiver. If the receiver does not contain anElement, answer 0." "(#(a b c d e) indexOf: #c startingAt: 2) >>> 3" "(#(a b c d e) indexOf: #c startingAt: 4) >>> 0" ^self indexOf: anElement startingAt: start ifAbsent: 030foo:"'foo' asNewArray >>> 'foo' asArray42after: target "Answer the element after target. Raise an error if target is not in the receiver, or if there are no elements after it." "(#(a b c d) after: #b) >>> #c" ^ self after: target ifAbsent: [self errorNotFound: target]{1@5. 10@ -4} max >>> (10@5)Returns the boolean the byte at index byteOffset of this ByteArray represents in the C convention ( A byte representing the 0 integer corresponds to false, while all other integers corresponds to true).211.5 rounded >>> 2 10r89abcdsplitOn: splitter do: aBlock "Perform an action specified as aBlock to each of the elements of the receiver that have been split using the splitter argument. splitter - can be a subsequence, a Block or a Regex (String receiver only). Any other object used as a splitter is treated as an Array containing that object." "(String streamContents: [:s | 'Pharo is cool' splitOn: Character space do: [:each | s << each ]])>>>'Pharoiscool'" ^ splitter split: self do: aBlockIasBit "Answer 0 since the receiver is false." "false asBit >>> 0" ^ 0X X X Xbat: index ifAbsent: exceptionBlock "Answer the element at my position index. If I do not contain an element at index, answer the result of evaluating the argument, exceptionBlock." "(#(a b c d) at: 3 ifAbsent: #z) >>> #c" "(#(a b c d) at: 5 ifAbsent: #z) >>> #z" (index between: 1 and: self size) ifTrue: [^ self at: index]. ^ exceptionBlock value$1 isDecimalDigit >>> true+Tests-unix-64-Roassal-Global-Tests-Test.xml XX XX n n n Xz0vector0%Point class classSide >>> Point class20299b goodby: 2 my: d(String streamContents: [:s | 10 print: '10' on: s prefix: 'zz' length: 4 padded: true] ) >>> 'zz10'!(12 beBetween: 12 and: 20) >>> 12000022222226676655510, 15, 20, 25A('abcDefgh' includesSubstring: 'De' caseSensitive: true) >>> truexb42B#(1 2 3) asOrderedCollection removeDuplicates asArray >>> #(1 2 3)110 02foo-17abc220({1. 2} asBag = {1. 2. 2} asBag >>> falseB('abcdefgh' includesSubstring: 'de' caseSensitive: false) >>> true12222220000111111112(1 minute + 1 second) printString >>> '0:00:01:01's:(String streamContents: [:s | [:c | c isSeparator ] split: 'Pharo is cool' indicesDo: [ :start :end | s << 's:' << start asString << ' ' << 'e:' << end asString << ' ' ]]) >>> 's:1 e:5 s:7 e:8 s:10 e:13 '1(KeyboardKey fromCharacter: $a) >>> KeyboardKey AinstanceSide "Return the class of the couple class/metaclass. Useful to avoid explicit test." "Point instanceSide >>> Point" "Point class instanceSide >>> Point" ^ self soleInstanceone10test test -4128KExecutes aBlock on each of the receiver's elements except for the first one10607-255(Color red asColorref) >>> 255-('foo*baz*zort' match: 'foobazzort') >>> true$h. $w'hello'(42 digitAt: 2 base: 10) >>> 4,000011211153333411668889888B8877777777DDCCCEa := a. { [ :a }. a := a [ :a : | ]Nonevaluating conjunction. If the receiver is true, answer the opposite of the the argument, alternativeBlock; otherwise answer the value of the alternativeBlock.('action' alike: 'name') >>> 0.radiansToDegrees "The receiver is assumed to represent radians. Answer the conversion to degrees." "Float pi radiansToDegrees >>> 180.0" ^self asFloat radiansToDegrees$' isEnclosingMark >>> false(#(w x y z) atPin: 8) >>> #z ) ] }abc1420 nnnnnnnuu162g3.1479600(nil ifNil: [42] ifNotNil: [:o | o +3 ] ) >>> 42#(().:;[]{}^#a)651232045000rxoasStringOn: aStream delimiter: delimString last: lastDelimString "Print elements on a stream separated with a delimiter between all the elements and with a special one before the last like: 'a, b and c'. Uses #asString instead of #print: Note: Feel free to improve the code to detect the last element." "(String streamContents: [:s| 'abcd' asStringOn: s delimiter: ', ' last: ' and ']) >>> 'a, b, c and d'" | n sz | n := 1. sz := self size. self do: [:elem | n := n + 1. aStream nextPutAll: elem asString] separatedBy: [ aStream nextPutAll: (n = sz ifTrue: [lastDelimString] ifFalse: [delimString])]5010 Answer the index of the low order one bit. First we skip bits in groups of 8, then do a lookup in a table. While not optimal, this is a good tradeoff; long integer #lowBit always invokes us with bytes.+Character backspace isControlOther >>> true7b21210 0: B : B02In \{1\} you can escape \{ by prefixing it with \\2 00111111000444444222230055666666MReturns the hex digit part of the integer when printed in hexadecimal format.1+Tests-unix-64-System-History-Tests-Test.xmlG(#(1 + 3 - 5) reduceLeft: [ :a :op :b | a perform: op with: b ]) >>> -1uflattened "Flattens a collection of collections (no matter how many levels of collections exist). Strings are considered atoms and, as such, won't be flattened" "( #(1 #(2 3) #(4 #(5))) flattened ) >>> #(1 2 3 4 5)" "( #('string1' #('string2' 'string3')) flattened ) >>> #('string1' 'string2' 'string3')" ^ Array streamContents: [ :stream | self flattenOn: stream ]>> #(7 42 9)" "#(1 2 3) asOrderedCollection removeDuplicates asArray >>> #(1 2 3)" | iterator seen | self ifEmpty: [ ^ self ]. iterator := 1. seen := Set new. [ iterator <= self size ] whileTrue: [ | each | each := self at: iterator. (seen includes: each) ifTrue: [ self removeAt: iterator ] ifFalse: [ seen add: each. iterator := iterator + 1. ]. ]1 max: 2 + 3 absz2315/ "a" foo: "b" x "c" bar: "d" y "e" ^ "f" x "g" foo < bar: baz > _(#(11 22 33) asOrderedCollection atWrap: 6 put: 0; yourself) >>> #(11 22 0) asOrderedCollection2110010\\ aNumber "modulo. Remainder defined in terms of //. Answer a Number with the same sign as aNumber." "9 \\ 4 >>> 1" "-9 \\ 4 >>> 3" "9 \\ -4 >>> -3" ^self - (self // aNumber * aNumber) 000000025 true. := true106' test test' withSeparatorsCompacted >>> ' test test'42oops2{10@20. 30@0} - {0@1. 2@3} >>> {(10@19). (28@ -3)}U000022333443355336633773388339933AA33BB33CC33DDD33EEE33FFF33GGG33HHH33III33JJJ333LL3320abc1233e255w(#(1 3 5 7 11 15 23) findBinary: [ :arg | 11 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 111012('abddf bcdef' indexOf: $a startingAt: 100 ) >>> 0 Pharo is coolc28Return the key that will be used to add a property with the class name when an unknown class is read and the option STONReader>>#acceptUnknownClasses: is true, by default #className. Such unknown classes are returned as generic maps.p(String streamContents: [:s | #(1 2 3) do: [:each | s << each asString] separatedBy: [s << ', ']]) >>> '1, 2, 3'CAnswer the name of the day of the week on which the receiver falls.-1-4abc21ppp < <<<< n>> ((1 - 2) - 3)" "(#(1 2 3) reduceLeft: [ :a :b | a - b ]) >>> -4" "(#(1 + 3 - 5) reduceLeft: [ :a :op :b | a perform: op with: b ]) >>> ((1 + 3) - 5)" "(#(1 + 3 - 5) reduceLeft: [ :a :op :b | a perform: op with: b ]) >>> -1" | arguments | self emptyCheck. arguments := Array new: aBlock argumentCount. (arguments size = 0 or: [ (self size + 1) \\ (arguments size - 1) > 0 ]) ifTrue: [ self error: 'Collection size and block argument count do not match.' ]. arguments at: 1 put: self first. 2 to: self size by: arguments size - 1 do: [ :index | arguments replaceFrom: 2 to: arguments size with: self startingAt: index; at: 1 put: (aBlock valueWithArguments: arguments) ]. ^ arguments first#Tests-unix-64-Kernel-Tests-Test.xmlone '11abc' startsWithDigit >>> true30c(String streamContents: [:s | #(10 20 30) do: [:each | s << each asString] without: 20]) >>> '1030'withUnixLineEndings "Answer a new instance where all occurrences of CRLF and LF are substituted with LF." "(('asa' , String cr , 'asa') withUnixLineEndings at: 4) >>> Character lf" ^ self withLineEndings: String lf| | 35bK(STON fromStreamWithComments: 'Point[1,/*comment*/2]' readStream) >>> (1@2)'Return a new IdentitySet based on self. | | . :. :accannot resolve fourcode42zRound the decimal part of the receiver to be limited to the number of wished decimal. Only leave a fixed amount of decimal2foo:asaallButLast "Answer a copy of the receiver containing all but the last element. Raise an error if there are not enough elements." "#(a b c d) allButLast >>> #(a b c)" ^ self allButLast: 1300{1}{2}abc((Color white diff: Color black ) >>> 1.03321-10Sort this array using aSortBlock. The block should take two arguments and return true if the first element should preceed the second one.cOReturn all the elements that appear in self or in aCollection. Alias of union:112({'hel','lo'. 'world'} includes: 'hello') >>> true1214y14000000f-1369BBB888877777777666666555555544444444DDD00000000000EEEoEnumerate all elements in the receiver. Execute aBlock for those elements that are not equal to the given item13{} isEmpty >>> true3 factorial >>> 63F(#(1 2 3 4) collect: [:each | each + 10] from: 2 to: 3) >>> #(12 13) 251616rA1(Array streamContents: [:s | #(1 'fred' 2 'charlie' 3 'elmer') pairsDo: [:a :b | s nextPut: b; nextPut: a]]) >>> #('fred' 1 'charlie' 2 'elmer' 3) 322222256 ^ 1. 2. ^ 3c foo||bar||2nEvaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into self.1025('hello' surroundedBy: ' abd ') >>> ' abd hello abd '0cSet the element at indexFromEnd from the last position. atLast: 1 put: obj, sets the last element121155(1 -> 'one') value >>> 'one'1030&A clear but rather long-winded summary507true | true >>> true@Add newObject anInteger times to the receiver. Answer newObject.20 (#(1 -4 -10 1) sum: #abs) >>> 16121b{1)2}!31111200445555555A888897766DBBBBC2330(#(10 20) asSet copyWith: 20) >>> #(10 20) asSet03Signal CollectionIsEmpty if the collection is empty2210.122002231141155600X(String streamContents: [:s| {10. 'hello'} printElementsOn: s]) >>> '(10 ''hello'')'d10013002850100000 | a5#(:=aa:=:==bb:==#cc:==)20044[1)2]Return a SortFunction around the receiver, where the receiver will be used as a unary message to send to both a and b during sorting, and then the result of said send will be collated in descending order using the <=> method.0341120#(^1)23 September 2018EReturn the HSV saturation of this color, a value between 0.0 and 1.0.pharoX X X -42f10'#(10 20 30) // #(1 3 4.0) >>> #(10 6 7)4WReturn a string containing the path elements of the receiver, without the 'Path *' part%((0@0) sideOf: (100@100)) >>> #center'Refer to the comment in Collection|do:. "unfinished<1?success:is error>[ 1 + 212;#(1 2 3) asOrderedCollection makeRoomAtFirst capacity >>> 6add: newObject after: oldObject "Add the argument, newObject, as an element of the receiver. Put it in the sequence just succeeding oldObject. Answer newObject. Raises an error if oldObject is not found" "(OrderedCollection new add: 41; add: 42 after: 41; yourself) asArray >>> #(41 42)" "(OrderedCollection new add: 41; add: 42 after: 41; add: 43 after: 41; yourself) asArray >>> #(41 43 42)" ^self insert: newObject before: (self find: oldObject) + 10.5004887585532747-1.5100S(#(10 20 30) withIndexCollect: [:each :index | each + (index * 2)]) >>> #(12 24 36)FF0000 true >>> true020vector26J#(1 2 2 3 1 1 1) asBag cumulativeCounts >>> {57.1->1 . 85.7->2 . 100.0->3}th is is2 9 a stRI41010((1 == 1) eqv: true) >>> trued1010c111 00100223032018a12a Pharoiscool3022#. 1111001121311164444551170057.13321 0$('hello' includesAll: 'ho') >>> true101#h: hue s: saturation v: brightness alpha: alpha "Create a color with the given hue, saturation, brightness, and alpha. Hue is given as the angle in degrees of the color on the color circle where red is zero degrees. Saturation and brightness are numbers in [0.0..1.0] where larger values are more saturated or brighter colors. For example, (Color h: 0 s: 1 v: 1 alpha: 1) is pure red." "(Color h: 0 s: 1 v: 1 alpha: 1) >>> Color red " ^ self basicNew initializeHue: hue saturation: saturation brightness: brightness alpha: alpha ; yourselfqendsWith: suffix caseSensitive: aBoolean "Answer whether the tail end of the receiver is the same as suffix" "IMPLEMENTATION NOTE: following algorithm is optimized in primitive only in case self and suffix are bytes like. Otherwise, if self or suffix are wide strings, then slow version with asLowercase convertation, (primitive is not correct for wide strings)" "('pharo' endsWith: '' caseSensitive: false) >>> true" "('pharo' endsWith: 'project-pharo' caseSensitive: false) >>> false" "('pharo' endsWith: 'phuro' caseSensitive: false) >>> false" "('pharo' endsWith: 'aRo' caseSensitive: false) >>> true" suffix ifEmpty: [ ^ true ]. aBoolean ifTrue: [ ^self endsWith: suffix ]. self size < suffix size ifTrue: [^ false]. (self class isBytes and: [suffix class isBytes]) ifTrue: [ "Optimized version based on primitive" ^ (self findSubstring: suffix in: self startingAt: self size - suffix size + 1 matchTable: CaseInsensitiveOrder) = (self size - suffix size + 1) ]. suffix withIndexDo: [ :each :index | (self at: self size - suffix size + index) asLowercase = each asLowercase ifFalse: [ ^false ] ]. ^true13Evaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into an instance of aClass. Answer the resulting collection.4220183RReturn the metaclass of the couple class/metaclass. Useful to avoid explicit test.1100041pharo13133abc140072sumNumbers "This is implemented using a variant of the normal inject:into: pattern that is specific to handling numbers. The receiver should include only numbers. Different from the sum implementation, the default value is zero. While sum is more general, sumNumbers is meant to support the most often encountered use case of dealing with numbers." "#(1 2 4) sumNumbers >>> 7" "#() sumNumbers >>> 0" ^ self inject: 0 into: [ :sum :each | sum + each ]0"(#(1 -2 4) sumNumbers: #abs) >>> 7 | TTT | ttt n . ^ ttt . XX 00 n n n 00419 2000 r12WReturns a symbol that is a valid selector by removing any space or forbidden characters6 kkkk XX kkkk(#(1 3 5 7 11 15 23) findBinary: [ :arg | 0.5 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 'between: #(nil 1)'321'('hello' difference: 'aeiou') >>> 'hll'1[ | | 28(false xor: [true]) >>> true271\withIndexDo: elementAndIndexBlock "Just like do: except that the iteration index supplies the second argument to the block" "(Array streamContents: [:stream| #(11 22 13) withIndexDo: [ :each :i | stream nextPut: (each * each + i)]]) >>> #(122 486 172)" 1 to: self size do: [ :index | elementAndIndexBlock value: (self at: index) value: index ]pharo!(2 ifNotNil: [ :o | o + 3]) >>> 5 2 ] thenDo: [:each | stream nextPut: each + 10]]) >>> #(13 14)1 and d1111foo:100 ; ; 12nsn""" s nssssn""" s nssssnn"""1n s n X1;foo103.1451sign "Answer 1 if the receiver is greater than 0, -1 if less than 0, else 0." "#(5 -3.7 0) sign >>> #(1 -1 0)" "{5@0. -3@8. 0@ -1.} sign >>> {(1@0). (-1@1). (0@ -1)}" ^ self collect: [ :each | each sign ]0(#(a b a d a) lastIndexOf: #a ifAbsent: 7) >>> 5\(Array new: 3 streamContents: [ :out | 3 timesRepeat: [ out nextPut: 42 ] ]) >>> #(42 42 42)((40@40 scaleTo: 400@400) >>> (10.0@10.0)100012.302949083493899* """ | """ T """ | """ t """ """ n """ 2"('action' alike: 'caption') >>> 5.417725-0.98d(((100@201) closeTo: (100@200)) >>> false+Tests-unix-64-NewValueHolder-Tests-Test.xmlm(#(10 20 10 10) asOrderedCollection removeAllFoundIn: #(10 20 30); yourself) >>> #(10 10) asOrderedCollection.1 milliSecond printString >>> '0:00:00:00.001'10000010000200003055555555555556676869666CBBBDAAAEEPairwise quotient of two sequenceable collections of the same length.6 ')' expected2r3'2345.88' isAllDigits >>> false230120$Character space isSeparator >>> trueqselectEveryFirst "#(1 2 3 4) selectEveryFirst asArray >>> #(1 3) " ^ self selectEvery: [ :i | (i+1 \\ 2) = 0 ]20e 1 foo: . ^ 2 0001112131415?Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If no matching element is found, raise an error.15hex "Returns a string representation of the receiver as hex, prefixed with 16r. DO NOT CHANGE THIS! The Cog VMMaker depends on this." "Consider using any of printStringHex printStringBase: 16 printStringBase: 16 length: 8 padded: true storeStringHex storeStringBase: 16 storeStringBase: 16 length: 11 padded: true" "12 hex >>> '16rC'" "10 hex >>> '16rA'" "-10 hex >>> '-16rA'" ^ self storeStringBase: 1610.01LIf the receiver is false (i.e., the condition is false), then the value is the false alternative, which is nil. Otherwise answer the result of evaluating the argument, alternativeBlock. Create an error notification if the receiver is nonBoolean. Execution does not actually reach here because the expression is compiled in-line.'%' expandMacros >>> ''Answer a SortedCollection whose elements are the elements of the receiver. The sort order is defined by the argument, aSortBlock. Note that it is better to use #sorted if you don't really need a SortedCollection, but a sorted collection!!10, 'hello', $x13love-810foo < [ :a :b | ]#[ 1 ]. #[ 2 ]abc4('abcdefgh' includesSubstring: 'de' at: 1) >>> false#(a b c d e) size >>> 521025202 That is true!+Answer whether the receiver is a ByteString21br: r g: g b: b "Return a color with the given r, g, and b components in the range [0.0..1.0]." "(Color r: 1 g: 1 b: 1) >>> Color white" ^ self r: r g: g b: b alpha: 1.010.110(100@200) max >>> 2001-('Hello, World!' reject: #isLetter) >>> ', !'MReturn a collection of pharo comment nodes: expressions following the pattern13.151010 "com"1"ment"3011.9284mozo9decimalDigitAt: anExponent "Return number that represents digit at given decimal position." "(42 decimalDigitAt: 2) >>> 4" "(42 decimalDigitAt: 1) >>> 2" "It is always a number or zero:" "(1 decimalDigitAt: 2) >>> 0" "Results are not defined non-integer arguments." ^ self digitAt: anExponent base: 10/| TTTTTTTTTTT | ttttttttttt n. ^ ttttttttttt12010a1IParse and materialize the STON representation in the character readStream""" 00 """ n """ n """ 0 """1406Return number that represents digit at given position.LReturn a color for HTML color spec: #FFCCAA or white/black passed as string.2 953.67 MBpharoDocCommentNodes "Return a collection of pharo comment nodes: expressions following the pattern" "true >>> true" ^ self comments flatCollect: [:each | each pharoDocCommentNodes]0 test test 9(#(1 2 3) collect: [:each | each + 10]) >>> #(11 12 13) 3 0xb4 31111220044512601pppp A pp A pp A X | t t t | t s t s t0vector0(#() sum: #abs) >>> 051(Array streamContents: ([:stream | #(1 2 3) do: [:each | stream nextPut: (each + 10)] separatedBy: [ stream nextPut: 0 ]])) >>> #(11 0 12 0 13) 'abc' > 'def' >>> falseZEvaluate twoArgBlock with corresponding elements from this collection and otherCollection. -513645724%tokenish "Answer whether the receiver is a valid token-character -- letter, digit, underscore, or colon." "$' tokenish >>> false" "$: tokenish >>> true" "${ tokenish >>> false" "Character space tokenish >>> false" ^ self isLetter or: [ self isDigit or: [ self = $_ or: [ self = $: ] ] ]n sss1e00010200f, o, o&(AsciiCharset toLowercase: $A) >>> $a.2005234znak ::x43 ') _ : 2 [ 1 ). 2 ]301 #(10 20) emptyCheck >>> #(10 20)GEmit overlapping pairs of my elements into aBlock, along with an index.28a15qPrint elements on a stream separated with a delimiter String like: 'a, b, c' Uses #asString instead of #print:.6ppp ^ 0 :B | 1 | T | t nn. t 1 sssss s b 0 ssssss n65536 == (1 bitShift: 16)/foo "a" < "b" bar: "c" 1 "d" z: "e" 2 "f" > "g"421 decimalDigitLength >>> 1b32runningAverage: aSubsetSize "Running average (a.k.a. moving average, rolling average). See the comment of self >> #running:of: for more information." "(#(1 1 2 2 3 3) runningAverage: 2) >>> {1 . (3/2) . 2 . (5/2) . 3}" ^ self running: [ :subset | subset average ] of: aSubsetSizeAnswer some indication of how alike the receiver is to the argument, 0 is no match, twice aString size is best score (but see example with 7). Case is ignored. This method is used to help find mistyped variable names in methods.sorted: aSortBlockOrNil "Return a new sequenceable collection which contains the same elements as self but its elements are sorted by aSortBlockOrNil. The block should take two arguments and return true if the first element should preceed the second one. If aSortBlock is nil then <= is used for comparison." "(#(3 1 4 2) sorted: [:a :b| a>=b]) >>> #(4 3 2 1)" "('hello' sorted: [:a :b| a>=b]) >>> 'ollhe'" "((1 to: 10 by: 2) sorted: [:a :b| a>=b]) >>> #(9 7 5 3 1)" ^self asArray sort: aSortBlockOrNil425132newFrom: aDictionaryOrCollectionOfAssociations "Answer an instance of me containing the same associations as the argument. If the same key appears twice, the last one enumerated will win" "(Dictionary newFrom: {1->#a. 2->#b. 3->#c}) >>> ({1->#a. 2->#b. 3->#c} asDictionary)" | newDictionary | newDictionary := self new: aDictionaryOrCollectionOfAssociations size. aDictionaryOrCollectionOfAssociations associationsDo: [:x |newDictionary add: x]. ^ newDictionary-4du uu 12includesSubstring: aString caseSensitive: caseSensitive "Returns whether the receiver contains the argument." "('abcdefgh' includesSubstring: 'de' caseSensitive: false) >>> true" "('abcdefgh' includesSubstring: 'DE' caseSensitive: false) >>> true" "('abcDefgh' includesSubstring: 'De' caseSensitive: true) >>> true" "('abcDefgh' includesSubstring: 'DE' caseSensitive: true) >>> false" ^ (self findString: aString startingAt: 1 caseSensitive: caseSensitive) > 012102!(3.1479 roundUpTo: 0.01) >>> 3.15-1100'a' asByteArray >>> #[97]XifNil: nilBlock ifNotNil: ifNotNilBlock "If the receiver is not nil, pass it as argument to the ifNotNilBlock block. else execute the nilBlock block" "Might be compiled inline for speed, see RBMessageNode>>#isInlineIfNil" "(nil ifNil: [42] ifNotNil: [:o | o +3 ] ) >>> 42" "(3 ifNil: [42] ifNotNil: [:o | o +3 ]) >>> 6" ^ nilBlock value0vector0 9 % 4 >>> 1Evaluate aBlock with each of the receiver's elements as the argument. Answer the first element for which aBlock evaluates to true."also unfinished""31672 ]1test te string3foo do25iAnswer a copy of the receiver in which all occurrences of oldSubstring have been replaced by newSubstring| a | [ a := 10 ]. ^ a[ : | third "Answer the third element of the receiver. Raise an error if there are not enough elements." "#(a b c d e f g h i) third >>> #c" ^ self at: 30.0122({3@5. 7@ -4} averageIfEmpty: [0@0]) >>> (5@(1/2))3221M= aString "Answer whether the receiver sorts equally as aString. The collation order is simple ascii (with case differences)." " 'abc' = 'def' >>> false" " 'abc' = 'abc' >>> true" " 'def' = 'abc' >>> false" (aString isString and: [ self size = aString size ]) ifFalse: [ ^ false ]. ^ (self compare: self with: aString) = 01I(#(1 5 10) detectIndex: [ :each | each > 3 ] ifNone: ['Not found']) >>> 2ihAnswer the upper left corner of the rectangle uniquely defined by the receiver and the argument, aPoint.2200%1 second printString >>> '0:00:00:01'4Evaluate aBlock for each element and remove all that elements from the receiver for that aBlock evaluates to true. Use a copy to enumerate collections whose order changes when an element is removed (i.e. Sets).2<#(1 2 2 3 1 1 1) asBag sortedElements >>> {1->4. 2->2. 3->1}21yGiven a collection returns in one pass two collections containing each odd and even elements in respective subcollections153.1450'Concatenate two Strings or Collections.35, Tests-unix-6432124322104.013ifFalse: falseAlternativeBlock ifTrue: trueAlternativeBlock "Answer the value of trueAlternativeBlock. Execution does not actually reach here because the expression is compiled in-line." "(true ifFalse: [ 'That is false!' ] ifTrue: [ 'That is true!' ]) >>> 'That is true!'" ^trueAlternativeBlock value1302.2"(1 to: 5 by: 3) asArray >>> {1. 4}1!('abc' repeat: 3) >>> 'abcabcabc'30C('bar' asSortedCollection: [:x :y| x>y ]) asArray >>> {$r. $b. $a}.squeezeOutNumber "Try to find a number somewhere in this string, as explained in Number>readFrom: this method returns the first number found" "'th is is29 a stRI4' squeezeOutNumber >>> 29" "'th is is2 9 a stRI4' squeezeOutNumber >>> 2" ^ Number squeezeNumberOutOfString: selfbfindBinary: aBlock do: actionBlock ifNone: exceptionBlock "Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If found, evaluate actionBlock with the found element as argument If no matching element is found, evaluate exceptionBlock, with the 'bounding' elements or nil as arguments." "(#(1 3 5 7 11 15 23) findBinary: [ :arg | 11 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 11" "(#(1 3 5 7 11 15 23) findBinary: [ :arg | 12 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 'between: #(11 15)'" "(#(1 3 5 7 11 15 23) findBinary: [ :arg | 0.5 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 'between: #(nil 1)'" "(#(1 3 5 7 11 15 23) findBinary: [ :arg | 25 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ',{a. b} printString ]) >>> 'between: #(23 nil)'" ^ self findBinaryIndex: aBlock do: [ :foundIndex | actionBlock value: (self at: foundIndex) ] ifNone: [ :prevIndex :nextIndex | exceptionBlock cull: (prevIndex > 0 ifTrue: [ self at: prevIndex ]) cull: (nextIndex <= self size ifTrue: [ self at: nextIndex ]) ]#'1310(false or: [3]) >>> 38cumulativeCounts "Answer with a collection of cumulative percents covered by elements so far." "#(1 2 2 3 1 1 1) asBag cumulativeCounts >>> {57.1->1 . 85.7->2 . 100.0->3}" | s n | s := self size / 100.0. n := 0. ^ self sortedCounts asArray collect: [:a | n := n + a key. (n / s roundTo: 0.1) -> a value]1004#(a b c d) middle >>> #ci11foo*baz3xy110test te string25JReturn the green component of this color, a float in the range [0.0..1.0]./('word before index' wordBefore: 16) >>> 'inde'a?Evaluating conjunction -- answer false since receiver is false.{{}} isEmpty >>> false10aRo[Answer the third element of the receiver. Raise an error if there are not enough elements.100##28displayStringOn:KNonevaluating conjunction -- answer with false since the receiver is false.422nsTake the items in the receiver, kk at a time, and evaluate the block for each combination. Hand in an array of elements of self as the block argument. Each combination only occurs once, and order of the elements does not matter. There are (self size take: kk) combinations.0-' test ' withSeparatorsCompacted >>> ' test 'V('Hello, world!' collect: [:e | e isLetter ifTrue: e ifFalse: $-]) >>> 'Hello--world-'710000000000000000000aAnswer the receiver's element immediately before target. Raise an error if target is not an element of the receiver, or if there are no elements before it (i.e. it is the first element).bb16440barFEvaluating disjunction (OR) -- answer true since the receiver is true.a:foo(#(11 22 33) atWrap: 3) >>> 33100vector03Replace all occurrences of oldObject with newObjectz127:. :1cy1161pppp A pppp A ^ aLiteral expected112?('<1?success:is error>' expandMacrosWith: false) >>> 'is error'40043(Array streamContents: [:stream | #(10 20 30) reverseWithIndexDo: [:each :index | stream nextPut: each + index]]) >>> #(33 22 11)Pha10543333260vector0asHex "'A' asHex >>> '16r41'" "'AA' asHex >>> '16r4116r41'" ^ self species new: self size * 4 streamContents: [ :stream | self do: [ :ch | stream nextPutAll: ch hex ]]%(#(a b c d) allButLast: 2) >>> #(a b)& aBoolean "Evaluating conjunction -- answer aBoolean since receiver is true." "true & true >>> true" "true & false >>> false" ^aBoolean(Array streamContents: [:stream | #(10 20 30) keysAndValuesDo: [:key :value | stream nextPut: (key * 2 + value)]]) >>> #(12 24 36)uAnswer a copy of the receiver containing all but the first element. Raise an error if there are not enough elements.-41_Return the integer present in the receiver, or nil. In case of float, returns the integer part.30(nil ifNil: [42] ifNotNil: [:o | o +3 ] ) >>> 42 book-result1(Array streamContents: [:stream | #(1 2 3 4) overlappingPairsDo: [:first :second| stream nextPut: (first + second)]]) >>> #(3 5 7)2.0402030 0000222222y1*2222111111111335563311111111117799A7700BBC@(#(1 2 3 4) asSet intersection: #(3 4 5) asSet) >>> #(3 4) asSetMReturn a color with the given r, g, and b components in the range [0.0..1.0].Answer a new collection of the same species as the receiver with elements being collections (of the receiver species) containing those elements of the receiver for which the given block consecutively evaluates to the same object.12c"(true or: [Error signal]) >>> true0.0%[ "a""b""g" | x "c" "d" y "e" | "f" ]Pharo is 'cool'20100120#(1)#(2)9(Character space asString, 'a') isAllSeparators >>> false[:a|||a]122b0vector4 ' hello '0 1100qjoin: aCollection "Append the elements of the argument, aSequenceableCollection, separating them by the receiver." "('*' join: #('WWWWW' 'W EW' 'zzzz')) >>> 'WWWWW*W EW*zzzz'" ^ self species new: (aCollection size * self size) streamContents: [:stream | aCollection do: [:each | stream nextPutAll: each asString] separatedBy: [stream nextPutAll: self]]1RUtility method to improve readability. Do not create the intermediate collection.1030 ifEmpty: aBlock "Evaluate the given block, answering its value if the receiver is empty, otherwise answer the receiver. Note that the fact that this method returns its receiver in case the receiver is not empty allows one to write expressions like the following ones: self classifyMethodAs: (myProtocol ifEmpty: [ Protocol unclassified ])" "(#(1 2) ifEmpty: [0]) >>> #(1 2)" "(#() ifEmpty: [0]) >>> 0" "('' ifEmpty: ['(nil)']) >>> '(nil)'" ^ self isEmpty ifTrue: [ aBlock value ] ifFalse: [ self ]41102rx!""" 0 """ 1 """ n """ 1 """ 0 """1502Xs('aa' compare: 'aa') >>> 225 average "Calculate the average of a collection, return a CollectionIsEmpty exception if the collection is empty. Look averageIfEmpty: aBlock" "#(2 6 7) average >>> 5 " "#(3 5 7 7) average >>> (11/2) " "{3@5. 7@ -4} average >>> (5@(1/2))" ^ self sum / self size2addAll: aCollection "Include all the elements of aCollection as the receiver's elements. Answer aCollection. Actually, any object responding to #do: can be used as argument." "({10. 20} asOrderedCollection addAll: {20. 30. 30. 40.}) >>> {20. 30. 30. 40.}" "({10. 20} asOrderedCollection addAll: {20. 30. 30. 40.}; yourself) >>> {10. 20. 20. 30. 30. 40.} asOrderedCollection" "({10. 20} asSet addAll: {20. 30. 30. 40.}; yourself) >>> {10. 20. 30. 40.} asSet" aCollection do: [ :each | self add: each ]. ^ aCollection120194313X''''''bU(#(1 2 3) collect: [:each | each + 10 ] thenReject: [:each | each even]) >>> #(11 13)b5Return a String with the STON serialization of objectdef(100@200) y >>> 20030s:1 e:5 s:7 e:8 s:10 e:13 300.9198435972629521b0vector22 X 2lselect: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. Collect into a new collection like the receiver, only those elements for which aBlock evaluates to true. Answer the new collection." "(#(1 2 3 4 5) select: #even) >>> #(2 4)" "({1@2. 6@3. 2@ -1.} select: [:e| e x > e y]) >>> {(6@3). (2@ -1)}" "('heLlo wOrLd' select: #isUppercase) >>> 'LOL'" "((1 to: 10) select: #isPrime) >>> #(2 3 5 7)" "(#() select: [true]) >>> #()" | newCollection | newCollection := self copyEmpty. self do: [ :each | (aBlock value: each) ifTrue: [ newCollection add: each ] ]. ^ newCollection,remove the initial and final quote marks (single quote for string, or double quotes for comments), if present (and if matches nesting quotes). Have a look at testWithoutQuoting. If you want to remove single/double quotes not in first and last positions of the strings, have a look at copyWithout: $' G(#(a b a d a) lastIndexOfAnyOf: #(a b) startingAt: 1 ifAbsent: 7) >>> 1110salkjsdlkgfeesdabc9true & false >>> falseIt is always a number or zero:7162('abddf' indexOf: $k) >>> 01. 2nXsss"('pharo' endsWith: 'aro') >>> true255kEvaluate the block, unless I'm == nil (q.v.). If the receiver is not nil, pass it as argument to the block.3P(#(true true false true) inject: 0 into: [ :sum :each | sum + each asBit]) >>> 3000n0X0n02({1. $a. $a. 3} as: RunArray) values >>> #(1 $a 3)| T | 0 ^ t 0. t nn222<<<<0abcDefgh196010.123458!777 00888000999000AAA000BBB00 CCC115last: n "Answer the last n elements of the receiver. Raise an error if there are not enough elements." "(#(a b c d e) last: 2) >>> #(d e)" "(#(a b c d e) last: 3) >>> #(c d e)" | size | size := self size. ^ self copyFrom: size - n + 1 to: size6green "Return the green component of this color, a float in the range [0.0..1.0]." "Color red green >>> 0.0" "(Color r: 0.5 g: 0.5 b: 1) green >>> 0.5004887585532747" ^ self privateGreen asFloat / ComponentMax2163.2pharo0(Color r: 0.5 g: 0.5 b: 1) hslSaturation >>> 1.02064abc118110vector0isAlphaNumeric "Answer whether the receiver is a letter or a digit." "$a isAlphaNumeric >>> true" "$A isAlphaNumeric >>> true" "$' isAlphaNumeric >>> false" "$1 isAlphaNumeric >>> true" "Character space isAlphaNumeric >>> false" ^ self isLetter or: [ self isDigit ]}Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If no matching element is found, evaluate exceptionBlock, with the 'bounding' elements as optional arguments.second "Answer the second element of the receiver. Raise an error if there are not enough elements." "#(a b c d e f g h i) second >>> #b" ^ self at: 2@(STON fromStringWithComments: 'Point[1,/*comment*/2]') >>> (1@2)41(2)20'a'42XX X n Xa"(10 printStringBase: 2) >>> '1010'#new isUnary >>> true971310#(1 2 3) anyOne >>> 1{1]2}2231.928390123490234801132001tcollect: aBlock from: firstIndex to: lastIndex "Refer to the comment in Collection|collect:." "(#(1 2 3 4) collect: [:each | each + 10] from: 2 to: 3) >>> #(12 13) " | size result j | size := lastIndex - firstIndex + 1. result := self species new: size. j := firstIndex. 1 to: size do: [:i | result at: i put: (aBlock value: (self at: j)). j := j + 1]. ^ result1;#+-<> asTestSelector >>> #testPlusMinusLessThanGreaterThan '' expandMacros >>> String cr Point[1,2]51isInsideRectangle: aRectangle "Answer true whether the receiver is inside the argument (following Rectangle>>#containsPoint: semantics" "(50@50 isInsideRectangle: (0@0 corner: 100@100)) >>> true" "(0@0 isInsideRectangle: (0@0 corner: 100@100)) >>> true" "(0@10 isInsideRectangle: (0@0 corner: 100@100)) >>> true" "(100@100 isInsideRectangle: (0@0 corner: 100@100))>>> false" "(100@90 isInsideRectangle: (0@0 corner: 100@100))>>> false" ^ aRectangle containsPoint: self10'1.234' asInteger >>> 1mobazo922Sbefore: target "Answer the receiver's element immediately before target. Raise an error if target is not an element of the receiver, or if there are no elements before it (i.e. it is the first element)." "(#(11 22 33) before: 22) >>> 11" "(#(11 22 33) before: 33) >>> 22" ^ self before: target ifAbsent: [self errorNotFound: target]#. 1 r01 0002-0.5ifTrue: alternativeBlock "Since the condition is false, answer the value of the false alternative, which is nil. Execution does not actually reach here because the expression is compiled in-line." "(false ifTrue: [ 'This statement is true!' ]) >>> nil" ^nil9Returns a string representation of the receiver as hex, prefixed with 16r. DO NOT CHANGE THIS! The Cog VMMaker depends on this.S#[ 1 2 3 ] zipped >>> #[31 139 8 0 0 0 0 0 0 0 99 100 98 6 0 29 128 188 85 3 0 0 0]o (Dictionary new at: #top at: #below1 put: 1; at: #top at: #below1 put: 2; at: #top at: #below1) >>> 2->galike: aString "Answer some indication of how alike the receiver is to the argument, 0 is no match, twice aString size is best score (but see example with 7). Case is ignored. This method is used to help find mistyped variable names in methods." "('abc' alike: 'abc') >>> 7." "('action' alike: 'actions') >>> 7." "('action' alike: 'caption') >>> 5." "('action' alike: 'name') >>> 0." | i j k minSize bonus | minSize := (j := self size) min: (k := aString size). bonus := (j - k) abs < 2 ifTrue: [ 1 ] ifFalse: [ 0 ]. i := 1. [(i <= minSize) and: [((self at: i) asInteger bitAnd: 16rDF) = ((aString at: i) asciiValue bitAnd: 16rDF)]] whileTrue: [ i := i + 1 ]. [(j > 0) and: [(k > 0) and: [((self at: j) asInteger bitAnd: 16rDF) = ((aString at: k) asciiValue bitAnd: 16rDF)]]] whileTrue: [ j := j - 1. k := k - 1. ]. ^ i - 1 + self size - j + bonus1 W01-Welcomep( #(1 2 3 1 6 1 2 3 4) piecesCutWhere: [ :a :b | a = 1 and: [ b = 2]]) asArray >>> #(#(1) #(2 3 1 6 1) #(2 3 4))1011d0vector0rasCommaStringAnd "Return collection printed as 'a, b and c' " "#( 'a' 'b' 'c') asCommaStringAnd >>> 'a, b and c'" "#('a') asCommaStringAnd >>> 'a'" "#() asCommaStringAnd >>> ''" "'foo' asCommaStringAnd >>> 'f, o and o'" "(10 to: 25 by: 5) asCommaStringAnd >>> '10, 15, 20 and 25'" ^String streamContents: [:s | self asStringOn: s delimiter: ', ' last: ' and ']nXn0 00000000000bdo4XXaXX2{ aXb1a := a. [ | a a := a ]. a := ae test testAnswer a comparison code telling how the receiver sorts relative to aString: 1 - before 2 - equal 3 - after. The collation sequence is ascii with case differences ignored. To get the effect of a <= b, but ignoring case, use (a compare: b) <= 2.instanceSide "Return the class of the couple class/metaclass. Useful to avoid explicit test." "Point instanceSide >>> Point" "Point class instanceSide >>> Point" ^ self(0@5) guarded >>> (1@5),Tests-unix-64-PharoDocComment-Tests-Test.xml2000!"a" [ "b" 1 "c" . "d" 2 "e" ] "f"Abcd>|s| s:=0. #(10 20 30) do: [:each | s := s + each]. s >>> 602-2.56721 abd hello abd 1224445+#(("A")"B"."C":"D";"E"["F"]"G"{"H"}"I"^"J")X3*streamContents: blockWithArg "Build an instance of the receiver by writing elements to a stream. More specifically: blockWithArg will be given a WriteStream on an instance of the receiver. Inside blockWithArg you write elements to the stream to build up the collection. At the end, the contents of the stream up to that point will be returned. Note that the underlying collection grows as needed." "(Array streamContents: [ :out | out nextPut: 1; nextPutAll: #(2 3 4); nextPut: 5 ]) >>> #(1 2 3 4 5)" ^ self new: 100 streamContents: blockWithArg142lostoreStringBase: base length: minimum padded: zeroFlag "(10 storeStringBase: 16 length: 6 padded: true) >>> '16r00A'" ^ String streamContents: [:s| self storeOn: s base: base length: minimum padded: zeroFlag ]&(#() intersection: #(1 2 3 4)) >>> #()[{"foo":1},{"bar":2}]30030.13?asFloatPoint "Convert me to a float point transforming both of my coordinates to floats using #asFloat. If x and y are already represented by floats return myself, otherwise create a new Point instance." "((30/3)@(2/2)) asFloatPoint >>> (10.0@1.0)" self isFloatPoint ifTrue: [ ^ self ]. ^ x asFloat @ y asFloat-overlappingPairsDo: aBlock "Emit overlapping pairs of my elements into aBlock" "(Array streamContents: [:stream | #(1 2 3 4) overlappingPairsDo: [:first :second| stream nextPut: (first + second)]]) >>> #(3 5 7)" 1 to: self size - 1 do: [:i | aBlock value: (self at: i) value: (self at: i + 1)]| self | self := 1. ^ self:('<1?success:error>' expandMacrosWith: true) >>> 'success'3[ 36Remove the copies of elements, but keep the same order+1. -a. - 1. -"A"1/Tests-unix-64-Shift-ClassBuilder-Tests-Test.xmlZReplace all occurrences of oldSubstring that are surrounded by non-alphanumeric characters501360.06a n ssss;XsssUReturn whether the receiver is composed entirely of digits and has at least one digit2xdetectIndex: aBlock ifNone: exceptionBlock "Return index of first element that satisfies aBlock. If no matching element is found, evaluate exceptionBlock." "(#(1 5 10) detectIndex: [ :each | each > 3 ] ifNone: ['Not found']) >>> 2" "(#(1 5 10) detectIndex: [ :each | each > 15 ] ifNone: ['Not found']) >>> 'Not found'" self doWithIndex: [:each :index | (aBlock value: each) ifTrue: [^ index]]. ^ exceptionBlock value30-310%({1@ -4. -10@1} sum: #abs) >>> (11@5)0(Color h: 0 s: 1 v: 1) >>> (Color r: 1 g: 0 b:0)'"a" [ "b" | "c" x "d" y "e" | "f" ] "g"1M(RubTextEditor new surroundString: 'a''b' withCharacter: $') >>> '''a''''b'''Evaluate aBlock with each of the receiver's elements as the argument. If some element evaluates aBlock to true, then cull this element into foundBlock. If no element matches the criteria then do nothing. Always returns self to avoid misuse and a potential isNil check on the sender.3301#'hello''worldMissing opener for closer: ]0000111)('abab ac de' howManyMatch: 'abab') >>> 46000022444544499AABAAAECCCCDDAAF99888888777G4433333333Hfred4'he''llo' surroundedBySingleQuotes >>> '''he''llo'''fReturn index of first element that satisfies aBlock. If no matching element is found, raise an error.1+('hello' sorted: [:a :b| a>=b]) >>> 'ollhe'isSymbol406RCount the number of characters in a substring that matches up in self and aString.2102110823-1012 abab ac de${#a. #b. #z. #d} sort >>> #(a b d z)asDate "Convert the receiver in a date object." "(DateAndTime fromString: '2019-08-17T13:33:00+02:00') asDate printString >>> (Date newDay: 17 month: 8 year: 2019) printString" ^ Date starting: self320Answer the index of the receiver's first element, such that that element equals the first element of aSubCollection, and the next elements equal the rest of the elements of aSubCollection. Begin the search at element anIndex of the receiver. If no such match is found, answer 0.3.123one210$> isControlOther >>> false015410%#(0 1 2) * #(10 20 30) >>> #(0 20 60)523-#foo:bar: keywordsStrict >>> #('foo:' 'bar:')-3.1479-10 hex >>> '-16rA'polynomialEval: thisX "Treat myself as the coeficients of a polynomial in X. Evaluate it with thisX. First element is the constant and last is the coeficient for the highest power. #(1 2 3) polynomialEval: 2 is 3*X^2 + 2*X + 1 with X = 2" "(#(1 2 3) polynomialEval: 2) >>> 17" | sum valToPower | sum := self first. valToPower := thisX. 2 to: self size do: [ :ind | sum := sum + ((self at: ind) * valToPower). valToPower := valToPower * thisX ]. ^ sum2(#(11 22 33) asOrderedCollection atWrap: 5) >>> 22includesSubstring: substring at: index "Answer true if the receiver contains the substring str exactly at index, false otherwise." "('abcdefgh' includesSubstring: 'de' at: 1) >>> false" "('abcdefgh' includesSubstring: 'de' at: 4) >>> true" | pos | pos := index - 1. ^ index > 0 & (self size - pos >= substring size) and: [ substring allSatisfy: [ :char | pos := pos + 1. (self at: pos) = char ] ]41100(String streamContents: [:s| {'one'->1. 'two'->2} associationsDo: [:a| s << a key << ':' << a value asString << ';']]) >>> 'one:1;two:2;'*baz*1100isDigit "Return whether the receiver is a digit." "$1 isDigit >>> true" "$0 isDigit >>> true" ^ self characterSet isDigit: selfa := a. [ :a | [ :a | a := a5 12r89ab cd 2222000011111lastIndexOf: anElement startingAt: lastIndex ifAbsent: exceptionBlock "Answer the index of the last occurrence of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock." "(#(a b a d a) lastIndexOf: #a startingAt: 1 ifAbsent: 7) >>> 1" "(#(e b a d e) lastIndexOf: #a startingAt: 4 ifAbsent: 7) >>> 3" lastIndex to: 1 by: -1 do: [:index | (self at: index) = anElement ifTrue: [^ index]]. ^ exceptionBlock valueReturn all the combinations of elements of the receiver. Note that combinations does not include the empty element contrary to the mathematical definition of combinations.HasCommaString "Return collection printed as 'a, b, c' " "#('a' 'b' 'c') asCommaString >>> 'a, b, c'" "#('a') asCommaString >>> 'a'" "#() asCommaString >>> ''" "'foo' asCommaString >>> 'f, o, o'" "(10 to: 25 by: 5) asCommaString >>> '10, 15, 20, 25'" ^ String streamContents: [ :s | self asStringOn: s delimiter: ', ' ]15d11511013113(#(1 5 10) detectIndex: [ :each | each > 3 ]) >>> 2This statement is true!Answer with the value of trueAlternativeBlock. Execution does not actually reach here because the expression is compiled in-line.?Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If no matching element is found, raise an error.0de 9//4 >>> 2664 10r89 abcd1n((1 to: 12) groupByRuns: [ :each | (each \\ 3) = 0]) >>> #(#(1 2) #(3) #(4 5) #(6) #(7 8) #(9) #(10 11) #(12))10=Tests-unix-64-Calypso-SystemTools-QueryBrowser-Tests-Test.xml103104Evaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into aCollection. Answer aCollection.D(STON fromString: '{ #foo : 1 , #bar : 2 }') class >>> STON mapClass28xa12 hexString >>> '16rC'0$h$w0P((Date year: 2018 month: 9 day: 28) addDays: 3) printString >>> '1 October 2018'1.92839aekAnswer my element at index anInteger. at: is used by a knowledgeable client to access an existing element.30I(Date year: 2018 month: 9 day: 28) month printString >>> 'September 2018'.Tests-unix-64-System-Installers-Tests-Test.xml1(Color fromHexString: 'FFFFFF')>>> (Color white) 21011024babcawordBefore: anIndex "('word before index' wordBefore: 4) >>> 'word'" "('word before index' wordBefore: 16) >>> 'inde'" | sep tok | tok := false. sep := anIndex. [ sep > 0 and: [ (self at: sep) tokenish ] ] whileTrue: [ tok := true. sep := sep - 1 ]. ^ tok ifTrue: [ self copyFrom: sep + 1 to: anIndex ] ifFalse: [ String new ]AAnswer whether the tail end of the receiver is the same as suffixz16rC3-1920113 Hello, world!02010vector01'(#(1 2 3 4 5) beginsWith: #()) >>> true-23.147931234631011s1 s1211+^200a :foo3beBetween: minValue and: maxValue "Answer my value constrained to the interval [minValue ; maxValue] I take care of the situation where minValue > maxValue" "(10 beBetween: 12 and: 20) >>> 12" "(10 beBetween: 20 and: 12) >>> 12" "(13 beBetween: 12 and: 20) >>> 13" "(12 beBetween: 12 and: 20) >>> 12" "(100 beBetween: 12 and: 20) >>> 20" ^ minValue <= maxValue ifTrue: [ (self min: maxValue) max: minValue ] ifFalse: [ (self min: minValue) max: maxValue ]10fromCharacter: aCharacter ifNone: aBlock "For backwards compatibility mainly. Return the key that should correspond to some character. Handle normal ascii characters and special control keys only (enter, tab space...)" "(KeyboardKey fromCharacter: $a) >>> KeyboardKey A" ^ self keyFromCharacterTable at: aCharacter ifAbsent: [ self named: aCharacter asString asUppercase ifNone: aBlock ]130f?({#a. #b. #a. #d. #a} replaceAll: #a with: #e) >>> #(e b e d e)1print: positiveNumberString on: aStream prefix: prefix length: minimum padded: zeroFlag "Return a String based on concatenation of positiveNumberString with prefix then padded by 0 is zeroFlag is set for a minimum length." "(String streamContents: [:s | 10 print: '10' on: s prefix: 'zz' length: 4 padded: true] ) >>> 'zz10'" | padLength | padLength := minimum - positiveNumberString size - prefix size. padLength > 0 ifTrue: [zeroFlag ifTrue: [aStream nextPutAll: prefix; nextPutAll: (String new: padLength withAll: $0)] ifFalse: [aStream nextPutAll: (String new: padLength withAll: Character space); nextPutAll: prefix]] ifFalse: [aStream nextPutAll: prefix]. aStream nextPutAll: positiveNumberString:. :annnnXnn0('abc' alike: 'abc') >>> 7.2+(0 printShowingDecimalPlaces: 2) >>> '0.00'1first4zcAnswer the angle in radians. Implementation note: use sign in order to catch cases of negativeZeror('File asFile Files File''s File' copyReplaceTokens: 'File' with: 'Snick') >>> 'Snick asFile Files Snick''s Snick'421s6Answer the receiver with leading and trailing aString.cc=(KeyboardKey named: 'SHIFT_L') >>> (KeyboardKey value: 65505)=Answer a Bag whose elements are the elements of the receiver.;({'hel','lo'. 'world'} identityIncludes: 'hello') >>> false3-Tests-unix-64-VariablesLibrary-Tests-Test.xml, 16r41Unexpected block parametersi 100000000I#(7 42 7 42 9) asOrderedCollection removeDuplicates asArray >>> #(7 42 9)((#(1 3) detect: #even ifNone: [0]) >>> 020050Answer the x coordinate.5-888 00999000AAA030BBB000FFF0C0GGG000III00 JJJdef 0001000203O|s| (#(1 3) detect: [ :each | each even ] ifFound: [ :e | s:=e*10 ]). s >>> nil0+Tests-unix-64-System-Caching-Tests-Test.xml#Tests-unix-64-Rubric-Tests-Test.xmllowBit " Answer the index of the low order one bit. First we skip bits in groups of 8, then do a lookup in a table. While not optimal, this is a good tradeoff; long integer #lowBit always invokes us with bytes." "2r00101000 lowBit >>> 4" "2r-00101000 lowBit >>> 4" | n result lastByte | n := self. n = 0 ifTrue: [ ^ 0 ]. result := 0. [(lastByte := n bitAnd: 16rFF) = 0] whileTrue: [ result := result + 8. n := n bitShift: -8 ]. "The low bits table can be obtained with: ((1 to: 8) inject: #[1] into: [:lowBits :rank | (lowBits copy at: 1 put: lowBits first + 1; yourself) , lowBits]) allButFirst." ^result + ( #[1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 6 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 7 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 6 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 8 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 6 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 7 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 6 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1] at: lastByte)0te22551303([:x | x + 12] cull: 3)>>> 15B('abcDefgh' includesSubstring: 'DE' caseSensitive: true) >>> falseestringscollect: aBlock as: aClass "Evaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into an instance of aClass. Answer the resulting collection." "(#(10 15 22 789) collect: [:x | x//10] as: Set) >>> #(1 2 78) asSet" "('hello' collect: #asciiValue as: Array) >>> #(104 101 108 108 111)" ^(aClass new: self size) fillFrom: self with: aBlock0.5 11111110012c320lastIndexOf: anElement ifAbsent: exceptionBlock "Answer the index of the last occurrence of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock." "(#(a b a d a) lastIndexOf: #a ifAbsent: 7) >>> 5" "(#(a b a d e) lastIndexOf: #c ifAbsent: 7) >>> 7" ^self lastIndexOf: anElement startingAt: self size ifAbsent: exceptionBlock0.01162zRound the decimal part of the receiver to be limited to the number of wished decimal. Only leave a fixed amount of decimal"'foo10foo' endsWithDigit >>> false11011Evaluate aBlock with the elements of the receiver. If aBlock returns false for any element return false. Otherwise return true.4-9211 20foo ^ [ :a | [ :a | a ] value: 10 + a ] value: 12%OrderedCollection new capacity >>> 101102(42 decimalDigitAt: 2) >>> 42Answer the number of indexable fields in the receiver. This value is the same as the largest legal subscript. Included so that a SmallInteger can behave like a LargePositiveInteger or LargeNegativeInteger.11.03readStreamDo: aBlock "Evaluates the argument with the read stream of the collection. Answers the result." "(#(3 4 5) readStreamDo: [ :stream | stream contents ]) >>> #(3 4 5)" ^ aBlock value: self readStreamabc21<(Date year: 2018 month: 9 day: 28) yyyymmdd >>> '2018-09-28'(Character space isControlOther >>> falserounded "Answer the integer nearest the receiver." "1.4 rounded >>> 1" "1.5 rounded >>> 2" "2 rounded >>> 2" "-1.5 rounded >>> -2" ^(self + (self sign / 2)) truncated2 211001We1round: numberOfWishedDecimal "Round the decimal part of the receiver to be limited to the number of wished decimal. Only leave a fixed amount of decimal" "(10.12345 round: 2) >>> 10.12 " ^(self asFraction round: numberOfWishedDecimal) asFloat213(#(1 2) anySatisfy: [ :each | each even ]) >>> true3g10260 0001003343500' ' size >>> 2"[ :thisContext | thisContext + 1 ]defFile asFile Files File's File1Alias for intersection:01a2string35204.0WeitMAnswer a String made up from the receiver whose characters are all lowercase.3002220O('<1p>: <2p>' expandMacrosWith: 'Number' with: 5 with: nil) >>> '''Number'': 5'6OAnswer a Point whose x and y are the absolute values of the receiver's x and y.10'Tests-unix-64-Roassal-Mondrian-Test.xml1512020abcdefgh00*('salkjsdlkgfeesd' findString: 'sd') >>> 6B(#(1 1 2 2 3 3) runningAverage: 2) >>> {1 . (3/2) . 2 . (5/2) . 3}&Tests-unix-64-Ring-Core-Tests-Test.xml0,""" n """ ssss """ n """ s """ n """ sss """2-234.567025"'3.1415' initialIntegerOrNil >>> 30false | true >>> true-1-3def(1923 roundUpTo: 10) >>> 1930411-1[:a :b]a0002Tests-unix-64-Spec2-Morphic-Backend-Tests-Test.xml110022361asSet "Answer a set with the elements of the receiver." "#(1 2 2 3 1 1 1) asBag asSet >>> #(1 2 2 3 1 1 1) asSet" ^ contents keys asSet#u u. 0 :B | X b b XX b 0. X X1100.0isSeparator "Returns whether the receiver is a separator i.e., a space, tab, lf, cr, and newPage" "Character space isSeparator >>> true" "Character lf isSeparator >>> true" "Character cr isSeparator >>> true" "Character newPage isSeparator >>> true" "Character tab isSeparator >>> true" "$' isSeparator >>> false" | in | ^ (in := self asInteger) == 32 or: [ in == 13 or: [ in == 9 or: [ in == 10 or: [ in == 12 ] ] ] ]:(100000000 printShowingDecimalPlaces: 1) >>> '100000000.0' ^ n. n. ^ n1120 progress.loga-15,'th is is2 9 a stRI4' squeezeOutNumber >>> 20.5100n s n110.00vector01(-23.4567 printShowingDecimalPlaces: 0) >>> '-23'2044{1 . 2 . 3 . 4 . 5} asSortedCollection median >>> 3220,'x isSymbol: 33' findSelector >>> #isSymbol: 001002223051 'def' <= 'abc' >>> falseX ~Returns #left, #right or #center if the otherPoint lies to the left, right or on the line given by the vector from 0@0 to self52015Nonevaluating conjunction. If the receiver is true, answer the value of the argument, alternativeBlock; otherwise answer false without evaluating the argument.#[1]#[2]6size "Answer how many elements the receiver contains." "#(10 20) size >>> 2" "#() size >>> 0" "#((())) size >>> 1" "'' size >>> 0" "' ' size >>> 2" "(1 to:10) size >>> 10 " "(1 to:10 by:2) size >>> 5" "(10 to:1) size >>> 0" | tally | tally := 0. self do: [:each | tally := tally + 1]. ^ tallyXanyOne "Answer a representative sample of the receiver. It raises an error when the collection is empty. This method can be helpful when needing to preinfer the nature of the contents of semi-homogeneous collections." "#(1 2 3) anyOne >>> 1" " ([#() anyOne] on: SubscriptOutOfBounds do: [ :ex | 'whatever' ]) >>> 'whatever' " ^ self first#(10 20 30) anyOne >>> 10lfromCharacter: aCharacter "For backwards compatibility mainly. Return the key that should correspond to some character. Handle normal ascii characters and special control keys only (enter, tab space...)" "(KeyboardKey fromCharacter: $a) >>> KeyboardKey A" ^ self keyFromCharacterTable at: aCharacter ifAbsent: [ self named: aCharacter asString asUppercase ]00 0 """"""""" 0.0includesAll: aCollection "Answer whether all the elements of aCollection are in the receiver." "(#(10 20 30) includesAll: #(30 20)) >>> true" "(#(10 20 30) includesAll: #(30 40)) >>> false" "(#(10 20 30) includesAll: #()) >>> true" "('hello' includesAll: 'ho') >>> true" "('hello' includesAll: 'hop') >>> false" aCollection do: [:elem | (self includes: elem) ifFalse: [^ false]]. ^ trueselect: selectBlock thenCollect: collectBlock "Optimized implementation" "(#(1 2 3 4 5) select: #even thenCollect: #negated) >>> #(-2 -4)" "('Hello, World!' select: #isLetter thenCollect: #uppercase) >>> 'HELLOWORLD'" | selectedItems | selectedItems := self copyEmpty. self do: [ :e | (selectBlock value: e) ifTrue: [ selectedItems add: (collectBlock value: e) ] ]. ^ selectedItems-Tests-true not >>> false7 between: 10Returns the keywords of the provided selector. Assumes the reciever is a valid keyword based selector (@reciever isKeyword > true). Prefer using Symbol>>#keywordsStrict if you're not sure if the reciever is keyword-based.-4eqv: aBoolean "Answer true if the receiver is equivalent to aBoolean." "(false eqv: true) >>> false" "((1 == 1) eqv: true) >>> true" "(( 1 > 2) eqv: false) >>> true" ^ self == aBoolean!#(1 2 2 3 1 1 1) asBag size >>> 73169({10. 20} asOrderedCollection addIfNotPresent: 30) >>> 30BReturns a copy of the string doubling all occurence of aCharacter.0 Point class isClassSide >>> true4234d5 That is true!41:Answer whether anObject is one of the receiver's elements.50vector04'he'llo'<(RPackage named: 'MockPackage-tests') isTestPackage >>> true62 Xuuuuu 1isCasedLetter "We are sorry but this method is unclear and will probably be removed. This method only returning false." "$a isCasedLetter >>> false" "$A isCasedLetter >>> false" ^ self characterSet isCasedLetter: self~(DateAndTime fromString: '2019-08-17T13:33:00+02:00') asDate printString >>> (Date newDay: 17 month: 8 year: 2019) printString17 (10 printStringBase: 16) >>> 'A'2b100000000020000013;({#x .#y .#z} atAll: #(1 3) put: #e; yourself) >>> #(e y e)101510311112004455555766A888893foo: a x: a y: b [ :a :a :b | | a a b | a + a + b ]1112b0Tests-unix-64-NumericInterpolator-Tests-Test.xml1110 That is true! ( . ^ 1 )3Not valid for negative integers1003>> true0Tests-unix-64-EnlumineurFormatter-Tests-Test.xml114M(Character space asString, Character space asString) isAllSeparators >>> true Snick asFile Files Snick's SnickwithIndexSelect: elementAndIndexBlock "select elements from the receiver that the block evaluates true with the element and its index." "(#('We' 'love' 'pharo!') withIndexSelect: [:value :index | value size - 1 <= index]) >>> #('We')" ^ self class new: self size streamContents: [ :stream | 1 to: self size do: [ :index | | each | (elementAndIndexBlock value: (each := self at: index) value: index) ifTrue: [ stream nextPut: each ] ] ]00vector01 0:00:00:01202b1disByteString "Answer whether the receiver is a ByteString" "'abc' isByteString >>> true" ^ truex21.2100 { 1 ]. 2 }foo: self ^ self + 1216:Tests-unix-64-NewTools-Debugger-Breakpoints-Tools-Test.xml100 Pharo is cool01 max: 22N15{5@0. -3@8. 0@ -1.} sign >>> {(1@0). (-1@1). (0@ -1)}5224106('salkjsdlkgfee' findString: 'ee'startingAt: 3) >>> 12210424.00.4995112414467253helloNReturn the class of the couple class/metaclass. Useful to avoid explicit test.7Answer the previous date whose weekday name is dayName.!('*baz*' match: 'mozo') >>> false--stage-name=Tests-unix-641000000##"""####"""###"""#####"""02233333319 abd uuaeiou 1211224511 That is true!1121emptyCheck "Signal CollectionIsEmpty if the collection is empty" "#(10 20) emptyCheck >>> #(10 20)" "([#() emptyCheck] on: CollectionIsEmpty do: [ 'oops' ]) >>> 'oops'" self isEmpty ifTrue: [self errorEmptyCollection]2$Optimized version based on primitive0022324Evaluate the given block with the receiver as argument, answering its value unless the receiver is empty, in which case answer the receiver.201ifFalse: alternativeBlock "Answer the value of alternativeBlock. Execution does not actually reach here because the expression is compiled in-line." "(false ifFalse: [ 'This statement is false!' ]) >>> 'This statement is false!'" ^alternativeBlock value10130 foo | tmp | tmp := 1 . ^ tmp . 65y4(#(a b c d e) identityIndexOf: #x ifAbsent: 7) >>> 710010w11p X>{ 1. 2. 3 } asSet >>> (Set new add: 1; add:2; add:3; yourself)foo <> shuffleBy: aRandom "Durstenfeld's version of the Fisher-Yates shuffle" "({1. 2. 3. 4. 5} shuffleBy: (Random seed: 42)) >>> #(1 2 5 4 3)" self size to: 2 by: -1 do: [ :i | self swap: i with: (aRandom nextInteger: i) ]Answer a dictionary whose keys are the result of evaluating aBlock for all my elements, and the value for each key is the selection of my elements that evaluated to that key. Uses species.match: text "Answer whether text matches the pattern in this string. Matching ignores upper/lower case differences. Where this string contains #, text may contain any character. Where this string contains *, text may contain any sequence of characters." "('*' match: 'zort') >>> true" "('*baz' match: 'mobaz') >>> true" "('*baz' match: 'mobazo') >>>false" "('*baz*' match: 'mobazo') >>> true" "('*baz*' match: 'mozo') >>> false" "('foo*' match: 'foozo') >>> true" "('foo*' match: 'bozo') >>> false" "('foo*baz' match: 'foo23baz') >>> true" "('foo*baz' match: 'foobaz') >>> true" "('foo*baz' match: 'foo23bazo') >>> false" "('foo' match: 'Foo') >>> true" "('foo*baz*zort' match: 'foobazort') >>> false" "('foo*baz*zort' match: 'foobazzort') >>> true" "('*foo#zort' match: 'afoo3zortthenfoo3zort') >>> true" "('*foo*zort' match: 'afoodezortorfoo3zort') >>> true" ^ self startingAt: 1 match: text startingAt: 1104(OrderedCollection new add: 42; yourself) size >>> 1hello!3031.100 Assignment to read-only variable43[ ^ 1 ]. 2. ^ 30*Return the minimum value of the collectionxc)Evaluate aBlock with my elements taken n at a time. Ignore any leftovers at the end. Allows use of a flattened array for things that naturally group into groups of n. If aBlock has a single argument, pass it an array of n items, otherwise, pass the items as separate arguments. See also pairsDo:afromHexString: aColorHex "Returns a color instance from HEX (6 element elements)." "(Color fromHexString: 'FFFFFF')>>> (Color white) " | green red blue alpha hexString | hexString := aColorHex withoutPrefix: '#'. red := (Integer readFrom: (hexString first: 2) base: 16) / 255. green := (Integer readFrom: (hexString copyFrom: 3 to: 4) base: 16) / 255. blue := (Integer readFrom: (hexString copyFrom: 5 to: 6) base: 16) / 255. alpha := hexString size = 8 ifFalse: [ 1.0 ] ifTrue: [ (Integer readFrom: (hexString copyFrom: 7 to: 8) base: 16) / 255 ]. ^ self r: red g: green b: blue alpha: alpha204b510E'foo' asOrderedCollection = #($o $o $f) asOrderedCollection >>> falseif between: 1421 sign; 1042000022222223265553(#(1 2 3 4) select: [:each | each > 2 ]) >>> #(3 4)2bI('hello' collect: #asciiValue into: Set new) >>> #(104 101 108 111) asSet-351| | . 134a130FcopyWithoutDuplicates "Answer a copy of the receiver without any duplicated elements" "(#(2 3 4 4 5 6) copyWithoutDuplicates asSet) >>> #(2 3 4 5 6) asSet" "(#('do' 'la' 'si' 'do' 'la') copyWithoutDuplicates) >>> #('la' 'do' 'si')" "(#(#do #la #si #do #la) copyWithoutDuplicates) >>> #(#la #do #si)" ^ self asSet asArray2C('hello' collect: #asciiValue as: Array) >>> #(104 101 108 108 111)1WWWWW*W EW*zzzzAnswer a Rectangle whose origin is the receiver and whose corner is aPoint. This is one of the infix ways of expressing the creation of a rectangle.abcd0Unknown charactercollect: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into a collection like the receiver. Answer the new collection." "(#(1 2 3) collect: [:each | each + 10]) >>> #(11 12 13) " | newCollection | newCollection := self species new: self size. 1 to: self size do: [:index | newCollection at: index put: (aBlock value: (self at: index))]. ^ newCollection21000000000000000 'Foo''Bar'#{ 2. 1+1 } asIdentitySet size >>> 1100100002EMight be compiled inline for speed, see RBMessageNode>>#isInlineIfNil/foo/bar!('pharo' beginsWith: '') >>> truepharo11015318:metaLevelForHierarchyOf: aClass "Subclasses should decide what meta level of given class should be used to retrieve/build hierarchy. For example superclass hierarchy of ProtoObject class can stop at it according to instance side hierarchy" "ProtoObject superclass >>> nil" "Or it can follow full superclass chain which will ends at Object and ProtoObject" "ProtoObject class superclass >>> Class" "This method adds such decision to concrete kind of local scope which allows to use scopes to restrict visibility of class hierarchy" self subclassResponsibility0.5'655555444444333322222111111000000000000Answer the receiver's element immediately before target. Answer the result of evaluating the exceptionBlock if target is not an element of the receiver, or if there are no elements before it.Print elements on a stream separated with a delimiter between all the elements and with a special one before the last like: 'a, b and c'blast "Answer the last element of the receiver" "#(a b c d e) last >>> #e" ^ self at: self size1!'elvis ' lastSpacePosition >>> 7S(#(2r101 2r11 2r1000) inject: 0 into: [ :acc :each | acc bitXor: each ]) >>> 2r1110a | tmp | tmp := 1 . ^ tmp . "a := a. [ | a a | . := a ]. a := a37fghi31@{'one' -> 1. 'two' ->2} asOrderedDictionary keys first >>> 'one'||21 10000000000#( #( 0 1 r2 3 ) )First N/2 ... last N/213)See `unescapeCharacter:` for the opposite$0 isDecimalDigit >>> truedb078 92c*Tests-unix-64-Roassal-Chart-Tests-Test.xml234JResults are not defined for base smaller than 2 and non-integer arguments.59 #(3 1 4 2) sorted >>> #(1 2 3 4)10vector0123Tests-unix-64-NewTools-RewriterTools-Tests-Test.xml30.12.3028 -9 % 4 >>> 33]((ByteArray with: 97 with: 0 with: 0 with: 0) asString sameAs: 'Abcd' asWideString) >>> falsed@. 516rA19e5(false ifTrue: [ 'This statement is true!' ]) >>> nil'(6 numberOfCombinationsTaken: 3) >>> 204fred20 Pharo is coolxc('In \{1\} you can escape \{ by prefixing it with \\' format: {'strings'}) >>> 'In {1} you can escape { by prefixing it with \' abc1721*((30/3)@(2/2)) asFloatPoint >>> (10.0@1.0)10 storeStringHex >>> '16rA'3402?Create a color with the given hue, saturation, and brightness. Hue is given as the angle in degrees of the color on the color circle where red is zero degrees. Saturation and brightness are numbers in [0.0..1.0] where larger values are more saturated or brighter colors. For example, (Color h: 0 s: 1 v: 1) is pure red.)Optimized version of Collection>>#select:is0100.00$a isClosePunctuation >>> false u nn. ^ u1100002 00000003do*Return the maximum value of the collection100|| a| aCollection "Return all the elements that appear in self or in aCollection. Alias of union:" "#(10 20 30) | (0 to: 15 by: 5) >>> #(0 15 5 30 20 10)" "'abc' | 'cbe' >>> 'bcea'" ^ self union: aCollectionX({ 1->2. 3->4 } as: Dictionary) >>> (Dictionary new at: 1 put: 2; at: 3 put:4; yourself) 000011112101#( #( ) #'.' #':' #';' #'[' #']' #'{' #'}' #'^' )"'( 1 and: 4)' findSelector >>> nil65536 bytesCount >>> 31-((10 to: 13) copyWithout: 11) >>> #(10 12 13)addIfNotPresent: anObject "Include anObject as one of the receiver's elements, but only if there is no such element already. Anwser anObject." "({10. 20} asOrderedCollection addIfNotPresent: 30) >>> 30" "({10. 20} asOrderedCollection addIfNotPresent: 30; yourself) >>> ({10. 20. 30} asOrderedCollection)" "({10. 20} asOrderedCollection addIfNotPresent: 20; yourself) >>> ({10. 20.} asOrderedCollection)" (self includes: anObject) ifFalse: [ self add: anObject ]. ^ anObjecta423$(Color red asHexString) >>> 'FF0000'30Ncollect: aBlock "Evaluate aBlock with each of my elements as the argument. Collect the resulting values into a collection that is like me. Answer the new collection. Override superclass in order to use addLast:, not at:put:." "(#(1 2 3) asOrderedCollection collect: [ :v | v * 10 ]) asArray >>> #(10 20 30)" "(#(1 2 3) asOrderedCollection collect: [ :v | 10 ]) asArray >>> #(10 10 10)" | newCollection | newCollection := self speciesForTransform new: self size. firstIndex to: lastIndex do: [ :index | newCollection addLast: (aBlock value: (array at: index)) ]. ^ newCollectionclassSide "Return the metaclass of the couple class/metaclass. Useful to avoid explicit test." "Point classSide >>> Point class" "Point class classSide >>> Point class" ^ self class | | . :a | 200281201.0isLetter "Return whether the receiver is a letter." "$a isLetter >>> true" "$ isLetter >>> true" "$A isLetter >>> true" ^ self characterSet isLetter: selfx isSymbol: 33#but use sum or inject:into: instead4#(#(10 20 30) includes: 20) >>> true0,(#(10 20 30) includesAny: #(30 40)) >>> truePOr it can follow full superclass chain which will ends at Object and ProtoObjectasSet "Answer a Set whose elements are the unique elements of the receiver." "{1. 2} asSet = {2. 1} asSet >>> true" "{1. 2} asSet = {1. 2. 2} asSet >>> true" "{1. 2} asSet = {1. 2. 3} asSet >>> false" "{} asSet = Set new >>> true" ^ Set withAll: self7#( 1 51 10 ) range >>> 5050B(String streamContents: [:s| #() printElementsOn: s]) >>> '()'a309previous: dayName "Answer the previous date whose weekday name is dayName." "((Date year: 2018 month: 9 day: 28) previous: 'Sunday') printString >>> '23 September 2018'" | days | days := 7 + self weekdayIndex - (self class dayOfWeek: dayName) \\ 7. days = 0 ifTrue: [ days := 7 ]. ^ self subtractDays: days1'Return whether the receiver is a digit.00102000533334400667!EccentricityThreshhold reciprical23'abc' \ 'cbe' >>> 'a'.2120320.5Return an instantiated color from parm. If parm is already a color, return it, else return the result of my performing it if it's a symbol or, if it is a list, it can either be an array of three numbers, which will be interpreted as RGB values, or a list of symbols, the first of which is sent to me and then the others of which are in turn sent to the prior result, thus allowing entries of the form #(blue darker). Else just return the thing43'1441 0:B|||Xb09Answers a Dictionary based on collection of Associations.2|isSorted "Return true if the receiver is sorted by the given criterion. Optimization for isSortedBy: [:a :b | a <= b]." "#(1 2 3) isSorted >>> true" "#(1 2 3 0) isSorted >>> false" | lastElm elm | self isEmpty ifTrue: [^ true]. lastElm := self first. 2 to: self size do: [:index | elm := self at: index. lastElm <= elm ifFalse: [^ false]. lastElm := elm]. ^ true3016batWrap: index "Answer the index'th element of the receiver. If index is out of bounds, let it wrap around from the end to the beginning until it is in bounds." "(#(11 22 33) asOrderedCollection atWrap: 2) >>> 22" "(#(11 22 33) asOrderedCollection atWrap: 4) >>> 11" "(#(11 22 33) asOrderedCollection atWrap: 5) >>> 22" ^ self at: index - 1 \\ self size + 110SystemmilliSecond "1 milliSecond printString >>> '0:00:00:00.001'" "(1 second + 1 milliSecond) printString >>> '0:00:00:01.001'" ^ self milliSeconds91.0594630943592953125516&(Color white asColorref) >>> 16777215writeStreamDo: aBlock "Evaluates the argument with the write stream of the collection. Answers the result." "(#() writeStreamDo: [ :stream | stream nextPut: '4'; space; nextPutAll: '34'. stream contents ]) >>> {'4'. Character space. $3. $4}" ^ aBlock value: self writeStream3040||10040112abc?(#(1 2 3 4 5) select: #even thenCollect: #negated) >>> #(-2 -4)30atWrap: index "Answer the index'th element of the receiver. If index is out of bounds, let it wrap around from the end to the beginning until it is in bounds." "Optimized to go through the primitive if possible" "(#(11 22 33) atWrap: 3) >>> 33" "(#(11 22 33) atWrap: 2) >>> 22" "(#(11 22 33) atWrap: 4) >>> 11" ^ self at: index - 1 \\ self size + 1#'hello220172008defTheRollingStones0031851 - 1 - 1 abs - 1 - 1 max: -1{endsWith: suffix "Answer whether the receiver ends with the given prefix string. The comparison is case-sensitive." "IMPLEMENTATION NOTE: following algorithm is optimized in primitive only in case self and prefix are bytes like. Otherwise, if self is wide, then super outperforms, Otherwise, if prefix is wide, primitive is not correct" "('pharo' endsWith: '') >>> true" "('pharo' endsWith: 'project-pharo') >>> false" "('pharo' endsWith: 'phuro') >>> false" "('pharo' endsWith: 'aro') >>> true" "('pharo' endsWith: 'aRo') >>> false" | requiredStart | suffix ifEmpty: [ ^ true ]. (self class isBytes and: [ suffix class isBytes ]) ifFalse: [^super endsWith: suffix]. requiredStart := self size - suffix size + 1. requiredStart <= 0 ifTrue: [ ^false ]. ^ (self findSubstring: suffix in: self startingAt: requiredStart matchTable: CaseSensitiveOrder) = requiredStart0:00:00:01.001negated "Negated value of all elements in the collection" "#(1 2 3) negated >>> #(-1 -2 -3)" "{1@2. 3@ -1} negated >>> {-1@ -2. -3@1}" ^ self collect: [ :a | a negated ]320d -9 \\ 4 >>> 3combinations "Return all the combinations of elements of the receiver. Note that combinations does not include the empty element contrary to the mathematical definition of combinations." "#(1 2 3 4) combinations >>> #(#(1) #(2) #(3) #(4) #(1 2) #(1 3) #(1 4) #(2 3) #(2 4) #(3 4) #(1 2 3) #(1 2 4) #(1 3 4) #(2 3 4) #(1 2 3 4))" ^ Array streamContents: [ :stream | 1 to: self size do: [ :take | self combinations: take atATimeDo: [ :combination | stream nextPut: combination copy ] ] ]64042Z(String streamContents: [ :s | 10 printOn: s base: 10 length: 4 padded: true] ) >>> '0010'x3osplit: aSequenceableCollection indicesDo: aBlock "Perform an action specified as aBlock (with a start and end argument) to each of the indices of aSequenceableCollection that have been identified by taking the receiver as a splitter." "(String streamContents: [:s | [:c | c isSeparator ] split: 'Pharo is cool' indicesDo: [ :start :end | s << 's:' << start asString << ' ' << 'e:' << end asString << ' ' ]]) >>> 's:1 e:5 s:7 e:8 s:10 e:13 '" | position | position := 1. aSequenceableCollection withIndexDo: [:element :idx | (self value: element) ifTrue: [ aBlock value: position value: idx - 1. position := idx + 1 ]]. aBlock value: position value: aSequenceableCollection size"0 :B :B :B | | T t T | t s t s t 0 [ :a | a ] a := 10. ^ aifTrue: alternativeBlock "If the receiver is false (i.e., the condition is false), then the value is the false alternative, which is nil. Otherwise answer the result of evaluating the argument, alternativeBlock. Create an error notification if the receiver is nonBoolean. Execution does not actually reach here because the expression is compiled in-line." "(true ifTrue: [ 'This statement is true!' ]) >>> 'This statement is true!'" "(false ifTrue: [ 'This statement is true!' ]) >>> nil" self subclassResponsibility191P(Date year: 2018 month: 9 day: 28) onNextMonth printString >>> '28 October 2018'16$' isFinalQuote >>> false3*#('a' 'b' 'c') asCommaString >>> 'a, b, c'2a"00010020030004454647444A999B888C00Evaluate pieceBlock with substrings of the receiver derived from cutting the receiver at points where binaryBlock answers true for adjacent elements.10v( #('if' 'it' 'is' 'to' 'be' 'it' 'is' 'up' 'to' 'me') fold: [:a :b | a, ' ', b] ) >>> 'if it is to be it is up to me'1Sunday=1, ... , Saturday=760201eabc910034DEvaluate aBlock for all elements between start and stop (inclusive).0('abcdf abcedf' indexOf: $a startingAt: 4) >>> 7<<<<<$(nil ifNotNil: [:o | o +3 ]) >>> nil4epEvaluating conjunction. Evaluate the argument. Then answer true if both the receiver and the argument are true.20d5world hello world!40oops120122gloops XXXXXXXXXXXX2%Tests-unix-64-Sindarin-Tests-Test.xml!(-1929 truncateTo: 10) >>> -192010 Xuuuuuu n uuu 18'{1@2. 3@ -1} negated >>> {-1@ -2. -3@1}*#(1 2 3 4) unzip second asArray >>> #(2 4)aa85 appreciate1Optimized to go through the primitive if possible2 '}' expected8 surroundedBySingleQuotes "Answer the receiver with leading and trailing quotes." "'hello' surroundedBySingleQuotes >>> '''hello'''" "'he''llo' surroundedBySingleQuotes >>> '''he''llo'''" "' hello ' surroundedBySingleQuotes >>> ''' hello '''" ^ self surroundedBy: ($' asString)[ :a | a19200L(10 to: 25 by: 5) asOrderedCollection >>> #(10 15 20 25) asOrderedCollection`({10. 20} asOrderedCollection addIfNotPresent: 20; yourself) >>> ({10. 20.} asOrderedCollection) #( 0 1r2 4 ) [:a|| |a]R((OrderedCollection new add: 42; yourself) add: 43; yourself) asArray >>> #(42 43)floor "Answer a Point that is the receiver's x and y floor. Answer the receiver if its coordinates are already integral." "(100@200) floor >>> (100@200)" "(100.1@200.9) floor >>> (100@200)" self isIntegerPoint ifTrue: [ ^ self ]. ^ x floor @ y floor10>> #(9 7 5) '' size >>> 0(false xor: [false]) >>> falses:iReturn a new sequenceable collection which contains the same elements as self but its elements are sortedUndeclared variable0100E(#(a b c d e) indexOfAnyOf: #(x y c) startingAt: 2 ifAbsent: 7) >>> 3b kkk XX kkk10.01beelvis 1min "Return the minimum value of the collection" "#(1 5 10 -4) min >>> -4" "{1@5. 10@ -4} min >>> (1@ -4)" ^ self inject: self anyOne into: [:min :each | min min: each]2 ((100@200) < (330@400)) >>> true7200u s 101(#(10 20 30) collect: [:e | e+1]) >>> #(11 21 31)100!DDD 00EEE0548884449994A0CCC00 FFF)(1.2 arcTan: 1.5) >>> 0.674740942223552616@ foo-4N({10. 20} asOrderedCollection addAll: {20. 30. 30. 40.}) >>> {20. 30. 30. 40.}^ TInterpret the receiver pattern (<1p>, <1s>, ...) with argument passed in anArray.1. Test package ends with suffix -Tests. Suffix is case sensitive. 2. Or test package contains '-Tests-' in middle. Some examples: @ foo:  test PharoindexOfAnyOf: aCollection ifAbsent: exceptionBlock "Answer the index of the first occurrence of any element included in aCollection within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock." "(#(a b c d e) indexOfAnyOf: #(x y c) ifAbsent: 7) >>> 3" "(#(a b c d e) indexOfAnyOf: #(x y z) ifAbsent: 7) >>> 7" ^self indexOfAnyOf: aCollection startingAt: 1 ifAbsent: exceptionBlock10332.In {1} you can escape { by prefixing it with \1 between: 2%OrderedCollection new capacity >>> 101de30223| aBoolean "Evaluating disjunction (OR) -- answer with the argument, aBoolean, since the receiver is false." "false | true >>> true" "false | false >>> false" ^aBoolean-""" 0 """ : """ B """ : """ B """ | """ 0 """1'hello' sorted >>> 'ehllo'2.0NTests-unix-64-Calypso-SystemPlugins-InheritanceAnalysis-Queries-Tests-Test.xmlg'Here 123should % be 6 the name6 of the method' asCamelCase >>> 'Here123should%Be6TheName6OfTheMethod'1930vector01003400$Print the receiver showing precisely the given number of places desired. If placesDesired is positive, a decimal point and that many digits after the decimal point will always be shown. If placesDesired is zero, a whole number will be shown, without a decimal point. Here are some examples::a110@(1000 * 1000 * 1000) humanReadableByteSizeString >>> '953.67 MB'1421"Point class instanceSide >>> Point3MAnswer the next multiple of aNumber toward zero that is nearest the receiver.14030vector0701218$(#[1 2 0 4] booleanAt: 3) >>> false.4: Point[1,2]2esum "This is implemented using a variant of the normal inject:into: pattern. The reason for this is that it is not known whether we're in the normal number line, i.e. whether 0 is a good initial value for the sum. Consider a collection of measurement objects, 0 would be the unitless value and would not be appropriate to add with the unit-ed objects." "#(1 2 4) sum >>> 7" "([#() sum] on: CollectionIsEmpty do: ['oops']) >>> 'oops'" "sum works with objects that understands + and - messages, like Points" "{1@5. 2@3. 4@7} sum >>> (7@15)" "or even Collections" "#((1 5 1) (2 3 3) (4 7 2)) sum >>> #(7 15 6)" | sum sample | self emptyCheck. sample := self anyOne. sum := self inject: sample into: [ :accum :each | accum + each ]. ^ sum - samplepReturn a String representation of this number in base b with a minimum length and padded by 0 if zeroFlag is set019,Tests-unix-64-Kernel-Extended-Tests-Test.xml63.1479e11la5+Tests-unix-64-EpiceaBrowsers-Tests-Test.xml"(10 printStringBase: 2) >>> '1010'123h(OrderedCollection new add: 41; add: 42 after: 41; add: 43 after: 41; yourself) asArray >>> #(41 43 42)De100 0202200d(String streamContents: [ :str| ((FileSystem workingDirectory / 'book-result' / 'W01-Welcome') relativeToReference: FileSystem workingDirectory) printPathOn: str]) >>> 'book-result/W01-Welcome'~(Array streamContents: [:stream| #(11 22 13) withIndexDo: [ :each :i | stream nextPut: (each * each + i)]]) >>> #(122 486 172)#() isNotEmpty >>> falsed36 between:and: + foo: - P({10. 20} asSet addAll: {20. 30. 30. 40.}; yourself) >>> {10. 20. 30. 40.} asSet200&noise: xin y: yin z: zin "(NSPerlinNoise2 new noise: 3.14 y: 42 z: 7) >>> 0.13691995878400012" | x0 y0 z0 x y z u v w a aa ab b ba bb | x0 := xin floor & 255. y0 := yin floor & 255. z0 := zin floor & 255. x := xin - xin floor. y := yin - yin floor. z := zin - zin floor. u := self fade: x. v := self fade: y. w := self fade: z. a := (p at: x0)+y0. aa := (p at: a)+z0. ab := (p at: a+1)+z0. b := (p at: x0+1)+y0. ba := (p at: b) + z0. bb := (p at: b+1) + z0. "result will cover the range [-1,1]" ^ self lerp: w a: (self lerp: v a: (self lerp: u a: (self grad: (p at: aa) x: x y: y z: z) b: (self grad: (p at: ba) x: x-1 y: y z: z) ) b: (self lerp: u a: (self grad: (p at: ab) x: x y: y-1 z: z) b: (self grad: (p at: bb) x: x-1 y: y-1 z: z) ) ) b: (self lerp: v a: (self lerp: u a: (self grad: (p at: aa+1) x: x y: y z: z-1) b: (self grad: (p at: ba+1) x: x-1 y: y z: z-1) ) b: (self lerp: u a: (self grad: (p at: ab+1) x: x y: y-1 z: z-1) b: (self grad: (p at: bb+1) x: x-1 y: y-1 z: z-1) ) )abddf5&Tests-unix-64-Microdown-Tests-Test.xml1!(3.1479 roundDownTo: 0.1) >>> 3.1(#() select: [true]) >>> #()3Class structural inspection - Class/Metaclass shift12&#(1 2 3 4) & #(1 2 4 6 7) >>> #(1 2 4)1110000Tests-unix-64-System-Finalization-Tests-Test.xml232201^({ 1. 2. 3 } as: OrderedCollection) >>> (OrderedCollection new add: 1; add:2; add:3; yourself)QAnswer the next multiple of aNumber toward infinity that is nearest the receiver.pharo!00100022644445522007782Negation--answer false since the receiver is true.103between: #(5 6)10251Look at Collection>>reduce: for a related method.330oReturns a string representation of the receiver in base 16 in a way that executing it will return the receiver. {8. 5. 3. 9} sort >>> #(3 5 8 9)#(1 5 10 -4) min >>> -4n uuuuuuu n uuu 102split: aSequenceableCollection indicesDo: aBlock "Perform an action specified as aBlock (with a start and end argument) to each of the indices of the receiver element that have been identified by splitting the receiver using the splitter argument. optimized version for single delimiters." "(String streamContents: [:s | Character space split: 'Pharo is cool' indicesDo: [ :start :end | s << 's:' << start asString << ' ' << 'e:' << end asString << ' ' ]]) >>> 's:1 e:5 s:7 e:8 s:10 e:13 '" | position oldPosition | position := 1. oldPosition := position. position := aSequenceableCollection indexOf: self startingAt: position. [ position > 0 ] whileTrue: [ aBlock value: oldPosition value: position - 1. position := position + 1. oldPosition := position. position := aSequenceableCollection indexOf: self startingAt: position. ]. aBlock value: oldPosition value: aSequenceableCollection size710a'00000103366778777B9999AA77C66555555444D2(#(11 22 33) asOrderedCollection atWrap: 4) >>> 11003222415%Character end isControlOther >>> true-34add: newObject before: oldObject "Add the argument, newObject, as an element of the receiver. Put it in the sequence just preceding oldObject. Answer newObject." "(OrderedCollection new add: 42; add: 41 before: 42; yourself) asArray >>> #(41 42)" ^ self insert: newObject before: (self find: oldObject)'helloLRemove each element from the receiver and leave it empty. ArrayedCollections cannot respond to this message. There are two good reasons why a subclass should override this message: 1) the subclass does not support being modified while being iterated 2) the subclass provides a much faster way than iterating through each elementrgbTriplet "Returns an array composed of the three color float components." "Color black rgbTriplet >>> #(0.0 0.0 0.0)" "Color red rgbTriplet >>> #(1.0 0.0 0.0)" ^ Array with: (self red roundTo: 0.01) with: (self green roundTo: 0.01) with: (self blue roundTo: 0.01)11234k3712bJust like with:collect: except that the iteration index supplies the second argument to the block.1010a9(STON fromString: '[1 , 2 , 3]') class >>> STON listClass2010-201a'b9foo: arg bar: arr ^ arg + arr1%OrderedCollection new capacity >>> 102({'hel','lo'. 'world'} includes: 'hello') >>> trueR(#(1 2 3) collect: [:each | each + 10 ] thenSelect: [:each | each even]) >>> #(12)AcopyReplaceAll: oldSubstring with: newSubstring asTokens: ifTokens "Answer a copy of the receiver in which all occurrences of oldSubstring have been replaced by newSubstring. ifTokens (valid for Strings only) specifies that the characters surrounding the replacement must not be alphanumeric (space). When ifTokens is set, it means that the replacement will not occur inside word." "('test te string' copyReplaceAll: 'te' with: 'longone' asTokens: true) >>> 'test longone string'" "('test te string' copyReplaceAll: 'te' with: 'longone' asTokens: false) >>> 'longonest longone string'" | aString startSearch currentIndex endIndex | aString := self. startSearch := 1. [(currentIndex := aString indexOfSubCollection: oldSubstring startingAt: startSearch) > 0] whileTrue: [endIndex := currentIndex + oldSubstring size - 1. (ifTokens not or: [(currentIndex = 1 or: [(aString at: currentIndex-1) isAlphaNumeric not]) and: [endIndex = aString size or: [(aString at: endIndex+1) isAlphaNumeric not]]]) ifTrue: [aString := aString copyReplaceFrom: currentIndex to: endIndex with: newSubstring. startSearch := currentIndex + newSubstring size] ifFalse: [ ifTokens ifTrue: [startSearch := currentIndex + 1] ifFalse: [startSearch := currentIndex + newSubstring size]]]. ^ aStringabclaReturn whether the receiver is close to the argument aPoint. The precision for point holding floats is defined by Float >> #closeTo:precision:. For points holding integer, closeTo: corresponds to equalsTo:charlie1_Evaluating disjunction (OR) -- answer with the argument, aBoolean, since the receiver is false.#('a') asCommaString >>> 'a'1100Y({#a. #b. #z. #d. #i. #l} mergeSortFrom: 3 to: 5 by: [ :a :b | a<=b ]) >>> #(a b d i z l):storeOn: aStream "Print inside string quotes, doubling inbedded quotes." "(String streamContents: [ :s | 'Foo''Bar' storeOn: s ]) >>> '''Foo''''Bar'''" | x | aStream nextPut: $'. 1 to: self size do: [ :i | aStream nextPut: (x := self at: i). x = $' ifTrue: [ aStream nextPut: x ] ]. aStream nextPut: $'(('foo*baz' match: 'foo23bazo') >>> false1010not "Negation. Answer true if the receiver is false, answer false if the receiver is true." "true not >>> false" "false not >>> true" self subclassResponsibility4220XX n0replaceAll: oldObject with: newObject "Replace all occurrences of oldObject with newObject" "({#a. #b. #a. #d. #a} replaceAll: #a with: #e) >>> #(e b e d e)" | index | index := self indexOf: oldObject startingAt: 1 ifAbsent: [0]. [index = 0] whileFalse: [self at: index put: newObject. index := self indexOf: oldObject startingAt: index + 1 ifAbsent: [0]]if it is to be it is up to me3iNote: The original code used #skip:, but some streams do not support that, and we don't really need it.Return a new sequenceable collection which contains the same elements as self but its elements are sorted in ascending order using the #'<=' operator.#( # ## #ab # 10 # #'.' 10 )23W('a000' asWideString ~= (ByteArray with: 97 with: 0 with: 0 with: 0) asString) >>> true[ 0vector00vector0!('*baz' match: 'mobazo') >>>falseabcabc1y3.030:(100@90 isInsideRectangle: (0@0 corner: 100@100))>>> false2592('fred the bear' copyWithout: $e) >>> 'frd th bar'3fred;Return whether the receiver is one of these characters: _411/2 reciprocal >>> 221344160:00:00:00.001000002n ssss nx(false xor: [false]) >>> false2030vector0423261X((Date year: 2018 month: 9 day: 28) subtractDays: 1) printString >>> '27 September 2018'2410cdAssuming the receiver contains GZIP compressed data, return a ByteArray with the decompressed data.7 [ :a | b ];(100@100 isInsideRectangle: (0@0 corner: 100@100))>>> false ( 1 }. 2 )$Do the special case of integer power121decimalDigitLength "Answer the number of digits printed out in base 10. Note that this only works for positive SmallIntegers up to 64-bits." "1 decimalDigitLength >>> 1" "100000000 decimalDigitLength >>> 9" "SmallInteger maxVal decimalDigitLength >>> 19" ^self < 10000 ifTrue: [self < 100 ifTrue: [self < 10 ifTrue: [1] ifFalse: [2]] ifFalse: [self < 1000 ifTrue: [3] ifFalse: [4]]] ifFalse: [self < 100000000 ifTrue: [self < 1000000 ifTrue: [self < 100000 ifTrue: [5] ifFalse: [6]] ifFalse: [self < 10000000 ifTrue: [7] ifFalse: [8]]] ifFalse: [self < 1000000000000 ifTrue: [self < 10000000000 ifTrue: [self < 1000000000 ifTrue: [9] ifFalse: [10]] ifFalse: [self < 100000000000 ifTrue: [11] ifFalse: [12]]] ifFalse: [self < 10000000000000000 ifTrue: [self < 100000000000000 ifTrue: [self < 10000000000000 ifTrue: [13] ifFalse: [14]] ifFalse: [self < 1000000000000000 ifTrue: [15] ifFalse: [16]]] ifFalse: [self < 1000000000000000000 ifTrue: [self < 100000000000000000 ifTrue: [17] ifFalse: [18]] ifFalse: [self < 10000000000000000000 ifTrue: [19] ifFalse: [20]]]]]]3XXXuu u. 0 X X X XX X 0. X X2.(10 to: 1 by: -1) asOpenInterval >>> (9 to: 2)0100Answer the element after target. Answer the result of evaluation the exceptionBlock if target is not in the receiver, or if there are no elements after it.0.001/(2.567 printShowingDecimalPlaces: 2) >>> '2.57'3#(1 2 4) sumNumbers >>> 700011110004444333500The Rolling Stones3aAnswer whether the receiver ends with the given prefix string. The comparison is case-sensitive.02(1.3@2.2) isFloatPoint >>> true10.02550vector00000010533334422667/(#(1 2 3 4) count: [ :each | each even ]) >>> 2{1. 2} asByteArray >>> #[1 2][ :a | | a b | ](Character delete isControlOther >>> true1XXsX0Answer the number of days between self and aDate815AMan,APlan,ACanal,Panama6(#(1 2 3 4 5) reduce: [ :a :b :c | a + b + c ]) >>> 15'foo: a ^ [ | a | a := 10. a ] value + a120 :BBBB | bbbb s n 00001020343d101[ | 1103 234Whoopie between: 10-221cbe6asBit "convert myself to an Integer representing 1 for true and 0 for false" "($b > $c) asBit>>> 0" "true asBit >>> 1" "(#(true true false true) inject: 0 into: [ :sum :each | sum + each asBit]) >>> 3" self subclassResponsibility42(23.5698 printShowingDecimalPlaces: 2) >>> '23.57'42 nanoSeconds printString >>> '0:00:00:00.000000002'0*Primitive does not fail properly right nowoflatCollectAsSet: aBlock "Evaluate aBlock for each of the receiver's elements and answer the list of all resulting values flatten one level. Assumes that aBlock returns some kind of collection for each element. Equivalent to the lisp's mapcan" "( #(1 2 3) flatCollectAsSet: [:each | { each. each+1 } ] ) >>> #(1 2 3 4) asSet" ^ self flatCollect: aBlock as: Set20.2Answer a number that represents the number of complete minutes in the receiver' time part, after the number of complete hours has been removed.IExecute the receiver with one or zero arguments depending on the receiver1%000000111033BBB5555558887779AAAAAA220test longone stringTReturn the index starting at 1 of the argument in the receiver, zero if not present. 'abc' = 'abc' >>> true20181300460077900AEEEC3Answer whether the receiver is a letter or a digit.5rindexOfAnyOf: aCollection "Answer the index of the first occurrence of any element included in aCollection within the receiver. If the receiver does not contain anElement, answer zero, which is an invalid index." "(#(a b c d e) indexOfAnyOf: #(x y c)) >>> 3" "(#(a b c d e) indexOfAnyOf: #(x y z)) >>> 0" ^self indexOfAnyOf: aCollection startingAt: 1 ifAbsent: [0]33abcctoJsonString: object "Return a String with the JSON serialization of object. Note that the object graph can only contain lists (Array) and maps (Dictionary)" "(STON toJsonString: { { #foo->1 } asDictionary. { #bar->2 } asDictionary }) >>> '[{""foo"":1},{""bar"":2}]'" ^ String streamContents: [ :stream | self put: object asJsonOnStream: stream ]80Tests-unix-64-Roassal-Interaction-Tests-Test.xml16Pharo[ :Object | Object + 1 ]31(100@200) guarded >>> (100@200)Faster than the superclass implementation when you hold many instances of the same value (which you probably do, otherwise you wouldn't be using a Bag).2%Tests-unix-64-Graphics-Tests-Test.xml823341 foo;2 | a | | a1222z1, 2, 31Answer the index of the first occurrence of any element included in aCollection within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock.Point classSide >>> Point class1520nnnnnnnnu -121005-(#(1 2 2 3 1 1 1) asBag includes: 1) >>> trueclassSide "Return the metaclass of the couple class/metaclass. Useful to avoid explicit test." "Point classSide >>> Point class" "Point class classSide >>> Point class" ^ self1052005(Date year: 2018 month: 9 day: 28) weekdayIndex >>> 6n ssss;#(1 5 10 -4) max >>> 10ynewFromArray: anArray "Fast initialization with the items of a given array. This initializes elements faster that the generic withAll: or newFrom: methods. The main selling point is that dynamic arrays, like {1. 2. 3}, are really fast in Pharo. So other collections can be easily and efficiently initialized with `{1. 2. 3} asFoo` syntax. Important: Subclasses of Collection that redefine withAll: or newFrom: should also redefine this method either by having a proper implementation (specific to Arrays) or by calling the redefined versions of withAll:/newFrom:." "{ 1. 2. 3 } asSet >>> (Set new add: 1; add:2; add:3; yourself)" "{ 1. 2. 3 } asOrderedCollection >>> (OrderedCollection new add: 1; add:2; add:3; yourself)" "{ 1->2. 3->4 } asDictionary >>> (Dictionary new at: 1 put: 2; at: 3 put:4; yourself)" "({ 1. 2. 3 } as: Set) >>> (Set new add: 1; add:2; add:3; yourself)" "({ 1. 2. 3 } as: OrderedCollection) >>> (OrderedCollection new add: 1; add:2; add:3; yourself)" "({ 1->2. 3->4 } as: Dictionary) >>> (Dictionary new at: 1 put: 2; at: 3 put:4; yourself)" | newCollection size | size := anArray size. newCollection := self new: size. " This should be fast: 1. Integer>>to:do: is inlined in the bytecode (no block). 2. The Array>>at: callsite should be monomorph to a primitive method. " 1 to: size do: [ :i | newCollection add: (anArray at: i) ]. ^ newCollection11,(3 ifNotNil: [:o | o +3 ] ifNil: [42]) >>> 63b4 #(a b c d e f g h ) first >>> #a1.019, !a>> {0->#(1 5). 2->#(21 28)} asOrderedDictionary$a isLetter >>> truegroupedBy: aBlock "Answer a dictionary whose keys are the result of evaluating aBlock for all my elements, and the value for each key is the selection of my elements that evaluated to that key. Uses species." "(#(1 2 3 4 5) groupedBy: [ :v | v odd ]) asString >>> 'an OrderedDictionary(true->#(1 3 5) false->#(2 4))'" | groups | groups := OrderedDictionary new. self do: [ :each | (groups at: (aBlock value: each) ifAbsentPut: [ OrderedCollection new ]) add: each ]. self species ~~ OrderedCollection ifTrue: [ groups associationsDo: [ :association | association value: (self species withAll: association value) ]]. ^ groups!'234' initialIntegerOrNil >>> 234d&'a3123abc' isAllAlphaNumerics >>> true3*baz*c10d5 #[ 1 256 2 ]1(1 to: 10) isEmpty >>> false6{} asSet = Set new >>> true2 reciprocal >>> (1/2)71 sign;7e(#('abc' 'de' 'fghi') sorted: (#size collatedBy: [:e|e bitAnd: 1]) , #size) >>> #( 'de' 'fghi' 'abc'))([:x :y | x + y] cull: 3 cull: 2) >>> 5 Return a Point scalefactor for shrinking a thumbnail of the receiver's extent to fit within anExtent. self and anExtent are expected to have positive nonZero x and y.0 ^ n 0-(#(10 20) ifNotEmpty: [:x| x average]) >>> 152foo#(100.1@200.9) ceiling >>> (101@201)Z(#(1 2 3 3 4 1 2 3 5 4 6) splitOn: 4) >>> #(#(1 2 3 3) #(1 2 3 5) #(6))asOrderedCollection21A256/| thisContext | thisContext := 1. ^ thisContext 2 even >>> true^Nonevaluating conjunction -- answer the value of alternativeBlock since the receiver is true.019733h307Zjoin: aCollection "Append the elements of the argument, aSequenceableCollection, separating them by the receiver." "({Character space. Character space} join: #('Pharo' 'is' 'cool')) >>> {$P. $h. $a. $r. $o. Character space. Character space. $i. $s. Character space. Character space. $c. $o. $o. $l}" "NB: this implementation only works for Array, since WriteStreams only work for Arrays and Strings. (!) Overridden in OrderedCollection and SortedCollection." ^ self class streamContents: [:stream | aCollection do: [:each | each joinTo: stream] separatedBy: [stream nextPutAll: self]]101'abc' isByteString >>> trueEMight be compiled inline for speed, see RBMessageNode>>#isInlineIfNil1.0$' isInitialQuote >>> false631Durstenfeld's version of the Fisher-Yates shuffleaa10001122234456667788889901s1s1a. :foothis string will be trimmed1200.9"#foo: keywordsStrict >>> #('foo:')1Add returns the object itself0vector013Refer to the comment in Collection>>#select:thenDo:(10 min: 20 max: 11) >>> 11Graphical User Interface117.5d1#((2@2) - (100@200)) >>> (-98@ -198)&(OrderedCollection new add: 42) >>> 42((200@200 scaleTo: 400@400) >>> (2.0@2.0)303 3r12. 345(2 raisedTo: -1) >>> (1/2) Pharo is <1s>12b34Returns a new string with contents equals to aString surrounded by aCharacter. Escapes all occurrences of aCharacter within aString by doubling them.a3r: r g: g b: b range: range "Return a color with the given r, g, and b components specified as integers in the range [0..r]. This avoids the floating point arithmetic in the red:green:blue: message and is thus a bit faster for certain applications (such as computing a sequence of colors for a palette)." "(Color r: 31 g: 0 b: 0 range: 31) >>> (Color r: 1.0 g: 0 b: 0)" ^ self basicNew initializeRed: r green: g blue: b range: range; yourself04Tests-unix-64-Tool-DependencyAnalyser-Tests-Test.xmlX n s n5 a: :foo#[ +#(1 2 3) asOrderedCollection capacity >>> 3-2#_ asMutator >>> #_:D('LOL' detect: #isLowercase ifFound: #uppercase ifNone: [$X]) >>> $XallButLast: n "Answer a copy of the receiver containing all but the last n elements. Raise an error if there are not enough elements." "(#(a b c d) allButLast: 2) >>> #(a b)" "(#(a b c d) allButLast: 3) >>> #(a)" ^ self copyFrom: 1 to: self size - nbafoo3zortthenfoo3zorta5- arg "Answer a Point that is the difference of the receiver and arg." "((2@2) - (100@200)) >>> (-98@ -198)" "((2@2) - 200) >>> (-198@ -198)" arg isPoint ifTrue: [^ (x - arg x) @ (y - arg y)]. ^ arg adaptToPoint: self andSend: #-b180139 between: -2 even >>> true2r-00101000 lowBit >>> 4join: aSequenceableCollection "Append the elements of the argument, aSequenceableCollection, separating them by the receiver." "(Character space join: #('Pharo' 'is' 'cool')) >>> 'Pharo is cool'" ^ (Array with: self) join: aSequenceableCollection1:Answer whether anObject is one of the receiver's elements. | | . - 1%Answer the factorial of the receiver.| TTTT | tttt n. ^ tttt1i (String streamContents: [:s | #('hello' 'the' 'world') do: [:each | s << each]]) >>> 'hellotheworld'4132222142'a' asInteger >>> nil19231 short enoughlastSpacePosition "Answer the character position of the final space or other separator character in the receiver, and 0 if none" "'fred the bear' lastSpacePosition >>> 9" "'ziggie' lastSpacePosition >>> 0" "'elvis ' lastSpacePosition >>> 6" "'elvis ' lastSpacePosition >>> 7" "'' lastSpacePosition >>> 0" self size to: 1 by: -1 do: [:i | ((self at: i) isSeparator) ifTrue: [^ i]]. ^ 011(100@200) x >>> 10040ifTrue: alternativeBlock "Answer the value of alternativeBlock. Execution does not actually reach here because the expression is compiled in-line." "(true ifTrue: [ 'This statement is true!' ]) >>> 'This statement is true!'" ^alternativeBlock value9(#(10 20 30 40 50) findLast: [ :each | each > 10 ]) >>> 5261OrderedCollection new class >>> OrderedCollection1Tests-unix-64-DrTests-TestCoverage-Tests-Test.xml-0.98S( #(3 4 1 2) flatCollect: [:each | { each. each*10 } ] ) >>> #(3 30 4 40 1 10 2 20)1a21000000000000016 00000000000001'abc' isOctetString >>> true"(#() allSatisfy: [false]) >>> true00002229((1 to: 10 by: 2) sorted: [:a :b| a>=b]) >>> #(9 7 5 3 1)hFormat the date in ISO 8601 standard like '2002-10-22' The result is of fixed size 10 characters long..0vector0initialIntegerOrNil "Answer the integer represented by the leading digits of the receiver, or nil if the receiver does not begin with a digit" "'234Whoopie' initialIntegerOrNil >>> 234" "'wimpy' initialIntegerOrNil >>> nil" "'234' initialIntegerOrNil >>> 234" "'2N' initialIntegerOrNil >>> 2" "'2' initialIntegerOrNil >>> 2" "' 89Ten ' initialIntegerOrNil >>> nil" "'78 92' initialIntegerOrNil >>> 78" "'3.1415' initialIntegerOrNil >>> 3" | firstNonDigit | (self size = 0 or: [ self first isDigit not ]) ifTrue: [ ^ nil ]. firstNonDigit := (self findFirst: [ :m | m isDigit not ]). firstNonDigit = 0 ifTrue: [ firstNonDigit := self size + 1 ]. ^ (self copyFrom: 1 to: (firstNonDigit - 1)) asNumber2(String streamContents: [:s | '||' split: 'foo||bar||2' indicesDo: [ :start :end | s << 's:' << start asString << ' ' << 'e:' << end asString << ' ' ]]) >>> 's:1 e:3 s:6 e:8 s:11 e:11 '$) isControlOther >>> false117#(-10 printStringBase: 10) >>> '-10'Warning signal: 'false error''{1. 2} asSet = {1. 2. 2} asSet >>> truexz20e>(#(1 2 3 4) joinUsing: ', ' last: ' and ') >>> '1, 2, 3 and 4'8S(#(1 + 3 - 5) reduceRight: [ :a :op :b | a perform: op with: b ]) >>> (1 + (3 - 5))5a13210.156s[:h/Tests-unix-64-Collections-Native-Tests-Test.xml201000Tests-unix-64-Collections-Streams-Tests-Test.xml*[(#("a"("b"###("c"###["d"]#["e"]["f"]))))]002110Evaluate aBlock with each of the receiver's elements as the argument. This is the general foreach method, but for most standard needs there is often a more specific and simpler method.'#foo:bar: keywords >>> #('foo:' 'bar:')ceEvaluate the elementBlock for all elements in the receiver, and evaluate the separatorBlock between. 22222233333323(( 1 > 2) eqv: false) >>> trueH('<1s> vs <1p>' expandMacrosWith: 'it''em') >>> 'it''em vs ''it''''em'''$$ isCurrencySymbol >>> true8('salkjsdlkgfeeal' findString: 'al' startingAt: 1) >>> 2bD(RPackage named: 'MockPackage-Tests-Package') isTestPackage >>> truehello30e0172fourth "Answer the fourth element of the receiver. Raise an error if there are not enough elements." "#(a b c d e f g h ) fourth >>> #d" ^ self at: 411Repeatedly value aBlock with a single Array. Adjust the collection so that aBlock is presented all (self size raisedTo: anInteger) possible combinations of the receiver's elements taken as digits of an anInteger long number.1scaleBy: factorPoint "Answer a Point scaled by factor (an instance of Point)." "(200@200 scaleBy: 2@3) >>> (400@600)" ^(factorPoint x * x) @ (factorPoint y * y)X u11{ifTrue: trueAlternativeBlock ifFalse: falseAlternativeBlock "If the receiver is true (i.e., the condition is true), then answer the value of the argument trueAlternativeBlock. If the receiver is false, answer the result of evaluating the argument falseAlternativeBlock. If the receiver is a nonBoolean then create an error notification. Execution does not actually reach here because the expression is compiled in-line." "(true ifTrue: [ 'That is true!' ] ifFalse: [ 'That is false!' ]) >>> 'That is true!'" "(false ifTrue: [ 'That is true!' ] ifFalse: [ 'That is false!' ]) >>> 'That is false!'" self subclassResponsibility2019-08-17T13:33:00+02:00| a ||a1400:00:00:00.000000002Optimized implementation2true | false >>> truea32fillFrom: aCollection with: aBlock "Evaluate aBlock with each of aCollections's elements as the argument. Collect the resulting values into self. Answer self." "(#(10 20) asOrderedCollection fillFrom: 'ABC' with: [:x|x asciiValue]) >>> #(10 20 65 66 67) asOrderedCollection" "(#(10 20) asSet fillFrom: 'ABC' with: [:x|x asciiValue]) >>> #(10 20 65 66 67) asSet" "({64->$@} asDictionary fillFrom: 'AB' with: [:x|x asciiValue -> x]) >>> {64->$@. 65->$A. 66->$B} asDictionary" aCollection do: [ :each | self add: (aBlock value: each) ]349pharo9'hello' anyOne >>> $h4(#(1 2 3) reduce: [ :a :b | a + b ]) >>> (1 + 2 + 3)10:00:00:00.00100000121.00 GB10303108$'3.123' isAllAlphaNumerics >>> falseiReturn the stop element of an interval. Pay attention this is not necessary the same as the last element.9do1416rDF101foo 12r89abcd1 Not foundz2 (10.156s round: 2) >>> 10.160s3 endsWithAColon "Answer whether the final character of the receiver is a colon" "'displayStringOn:' endsWithAColon >>> true" "'displayStringOn:foo' endsWithAColon >>> false" ^ self notEmpty and: [ self last == $: ]w& aCollection "Alias for intersection:" "#(1 2 3 4) & #(1 2 4 6 7) >>> #(1 2 4)" ^ self intersection: aCollection^Append the elements of the argument, aSequenceableCollection, separating them by the receiver.1140containsPoint: aPoint "Answer whether aPoint is within the receiver. Pay attention the self origin is considered less than but the corner is strict" "((0@0 corner: 100@100) containsPoint: 50@50) >>> true" "((0@0 corner: 100@100) containsPoint: 0@0) >>> true" "((0@0 corner: 100@100) containsPoint: 100@50) >>> false" "((0@0 corner: 100@100) containsPoint: 100@100) >>> false" ^origin <= aPoint and: [aPoint < corner]findBinaryIndex: aBlock "Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If no matching element is found, raise an error." "(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 11 - arg ]) >>> 5" ^ self findBinaryIndex: aBlock do: [ :found | found ] ifNone: [ self errorNotFound: aBlock ].foo "a" "b" "c" "d" "e" "f" "g" 0 | T t | t nn. t 019302#(x y z) size >>> 3nn1000(| x "a" "b" "c" | "d" x := 5 "e" "f" "g"30+#(1 11 0.5) reciprocal >>> {1 . 1/11 . 2.0}9Tests-unix-64-Collections-DoubleLinkedList-Tests-Test.xml4c4230 hello: 3 565555554444B('pharo' endsWith: 'project-pharo' caseSensitive: false) >>> falsesecond "Answer a number that represents the number of complete seconds in the receiver's time part, after the number of complete minutes has been removed." "(DateAndTime fromString: '2004-02-29T13:33:12+02:00') second >>> 12" ^ self localSeconds \\ 60$mergeSortFrom: startIndex to: stopIndex by: aBlock "Sort the given range of indices using the mergesort algorithm. Mergesort is a worst-case O(N log N) sorting algorithm that usually does only half as many comparisons as heapsort or quicksort." "Details: recursively split the range to be sorted into two halves, mergesort each half, then merge the two halves together. An extra copy of the data is used as temporary storage and successive merge phases copy data back and forth between the receiver and this copy. The recursion is set up so that the final merge is performed into the receiver, resulting in the receiver being completely sorted." "({#a. #b. #z. #d. #i. #l} mergeSortFrom: 3 to: 5 by: [ :a :b | a<=b ]) >>> #(a b d i z l)" self size <= 1 ifTrue: [^ self]. "nothing to do" startIndex = stopIndex ifTrue: [^ self]. [startIndex >= 1 and: [startIndex < stopIndex]] assert. "bad start index" [stopIndex <= self size] assert. "bad stop index" self mergeSortFrom: startIndex to: stopIndex src: self copy dst: self by: aBlock3Evaluate aBlock with the elements of the receiver. If aBlock returns false for all elements return true. Otherwise return false00010003343500 'hellox0.0051!((2@2) * (100@200)) >>> (200@400)y%1 minute printString >>> '0:00:01:00'104(10 to: 5) asArray >>> #()DPairwise product of two sequenceable collections of the same length.0.9198435972629521(#('We' 'love' 'pharo!') asOrderedCollection withIndexSelect: [:value :index | value size - 1 <= index]) >>> (OrderedCollection with: 'We')OCreate a color with the given hue, saturation, brightness, and alpha. Hue is given as the angle in degrees of the color on the color circle where red is zero degrees. Saturation and brightness are numbers in [0.0..1.0] where larger values are more saturated or brighter colors. For example, (Color h: 0 s: 1 v: 1 alpha: 1) is pure red.655052#('' ifEmpty: ['(nil)']) >>> '(nil)'%Answer 0 since the receiver is false.b31. "a" "b" "c" 2 "d"3let3c nnnnnuuuu200022JReturn the class of STON associations, Association, a system wide constantFor backwards compatibility mainly. Return the key that should correspond to some character. Handle normal ascii characters and special control keys only (enter, tab space...)13it1Tests-unix-64-NewTools-FileBrowser-Tests-Test.xml#'abc' asWideString = 'abc' >>> true50.0!(10 beBetween: 12 and: 20) >>> 126bind: aBlock "Extract items from the receiver and use them as arguments of aBlock. Signal an error (ArgumentsCountMismatch) when the arguments count of aBlock does not match the receiver size." "(#(1 2 3) bind: [ :first :second :third | first + second + third ]) >>> 6" ^ aBlock valueWithArguments: self00123456789ABCDEFabcdef91index out of range110Like in SQL operation - Split the recievers contents into collections of elements for which keyBlock returns the same results, and return those collections allowed by selectBlock.1toLowercase: aCharacter "(AsciiCharset toLowercase: $A) >>> $a." "(AsciiCharset toLowercase: $a) >>> $a." "(AsciiCharset toLowercase: $!) >>> $!" (aCharacter between: $A and: $Z) ifFalse: [ ^ aCharacter ]. ^ Character value: aCharacter asciiValue + $a asInteger - $A asInteger130fghip(Array streamContents: ([:stream | #(1 2 3) do: [:each | stream nextPut: (each + 10)] without: 2])) >>> #(11 13) [:a| | |b]0436.(#(a b c d e) indexOf: #c startingAt: 4) >>> 061"A"true"B"false"C"nil"D"self"E"super"F"thisContext"G"2#FFCCAA[:a:b]11abcTThis is implemented using a variant of the normal inject:into: pattern that is specific to handling numbers. The receiver should include only numbers. Different from the sum implementation, the default value is zero. While sum is more general, sumNumbers is meant to support the most often encountered use case of dealing with numbers.5xstoreStringBase: base "Returns a string representation of the receiver in base 16 in a way that executing it will return the receiver." "(10 storeStringBase: 16) >>> '16rA'" "(10 storeStringBase: 10) >>> '10'" ^ String streamContents: [:strm | self storeOn: strm base: base]`(Color colorFrom: Color blue darker)>>> ((Color r: 0.0 g: 0.0 b: 0.9198435972629521 alpha: 1.0))-312ecollatedBy: aSortFunction "Return a SortFunction around the receiver, where the receiver will be used as a unary message to send to both a and b during sorting, and then the result of said send will be collated iusing aSortFunction." "(#('abc' 'de' 'fghi') sorted: (#size collatedBy: [:e|e bitAnd: 1]) , #size) >>> #( 'de' 'fghi' 'abc')" ^PropertySortFunction property: self collatedWith: aSortFunction asSortFunction7[ 21XXXs1122311004005561-3anyOne "Answer a representative sample of the receiver. It raises an error when the collection is empty. This method can be helpful when needing to preinfer the nature of the contents of semi-homogeneous collections." "#(10 20 30) anyOne >>> 10" "'hello' anyOne >>> $h" "(50 to: 10 by: -5) anyOne >>> 50" " ([#() anyOne] on: SubscriptOutOfBounds do: [ :ex | 'whatever' ]) >>> 'whatever' " self emptyCheck. self do: [ :each | ^ each ]1391#() asByteArray >>> #[]'Tests-unix-64-Monticello-Tests-Test.xml3 [ | | . 1-2122 That is true!0.032100(Array streamContents: [:stream | #(10 20 30 40) overlappingPairsWithIndexDo: [:first :second :index| stream nextPut: (first + second + index)]]) >>> #(31 52 73)111(#(11 22 33) atWrap: 2) >>> 22XnXnX13Tests-unix-64-NewTools-Debugger-Fuel-Tests-Test.xml 89Ten 4-4s:1 e:5 s:7 e:8 s:10 e:13 111023,Answer the current capacity of the receiver., aCollection "Concatenate the receiver with the argument." "#(1 2 3) , #(4 5 6) >>> #(1 2 3 4 5 6)" ^self copy addAll: aCollection; yourself0vector020#(5 -3.7 0) sign >>> #(1 -1 0)20Five is {five}.10do: elementBlock separatedBy: separatorBlock "Evaluate the elementBlock for all elements in the receiver, and evaluate the separatorBlock between." "(String streamContents: [:s | #(1 2 3) do: [:each | s << each asString] separatedBy: [s << ', ']]) >>> '1, 2, 3'" | beforeFirst | beforeFirst := true. self do: [:each | beforeFirst ifTrue: [beforeFirst := false] ifFalse: [separatorBlock value]. elementBlock value: each]87(#() sumNumbers: #abs) >>> 01230 1100000441 + 23Same as ifTrue:ifFalse:.1*(-0.5 arcTan: -0.5) >>> -2.356194490192345 51111144444SAnswer a new instance where all occurrences of CRLF and LF are substituted with LF.cd1YCreate a dictionary from the keys and values arguments which should have the same length.3e0.542'('XaX' escapeCharacter: $X) >>> 'XXaXX' n ssssXsss110202 16r40000000001234500:B :XHello10!#(a b c d e f g h i) sixth >>> #fstreamContents: blockWithArg limitedTo: sizeLimit "A variant of #streamContents: with a strict size limit" "(String streamContents: [:s | 10 timesRepeat: [s nextPutAll: 'foo']] limitedTo: 9) >>> 'foofoofoo'" | stream | stream := LimitedWriteStream on: (self streamSpecies new: (100 min: sizeLimit)) limit: sizeLimit limitBlock: [ ^ stream contents ]. blockWithArg value: stream. ^ stream contents153"Point class instanceSide >>> Point 'def' > 'abc' >>> true-981A22eXXXXXXXXXXXXXXXXXX200200e#hello'FFF 00GGG044999464AAA4B0DDD000EEE00 HHH2200222223331~Answer the value of falseAlternativeBlock. Execution does not actually reach here because the expression is compiled in-line.1011$16SprintStringHex "$A printStringHex >>> '41'" ^ self asInteger printStringBase: 162def#between:and: isUnary >>> falseXnot "Negation--answer false since the receiver is true." "true not >>> false" ^false11dofindBinaryIndex: aBlock ifNone: exceptionBlock "Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If no matching element is found, evaluate exceptionBlock, with the 'bounding' elements as optional arguments." "(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 25 - arg ] ifNone: [ :a :b | 'between: ',{a. b} printString ]) >>> 'between: #(7 8)' " "(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 25 - arg ] ifNone: [ :a :b | 'over index: ', a printString ]) >>> 'over index: 7' " ^ self findBinaryIndex: aBlock do: [ :found | found ] ifNone: exceptionBlock3.14151Subclasses should decide what meta level of given class should be used to retrieve/build hierarchy. For example superclass hierarchy of ProtoObject class can stop at it according to instance side hierarchyIt is always a number or zero:""" n """. """ n """4910indexOfSubCollection: sub startingAt: start ifAbsent: exceptionBlock "Answer the index of the receiver's first element, such that that element equals the first element of sub, and the next elements equal the rest of the elements of sub. Begin the search at element start of the receiver. If no such match is found, answer the result of evaluating argument, exceptionBlock." "(#(a b c d e) indexOfSubCollection: #(c d) startingAt: 2 ifAbsent: 7) >>> 3" "(#(a b c d e) indexOfSubCollection: #(c d) startingAt: 4 ifAbsent: 7) >>> 7" | first index | sub isEmpty ifTrue: [^ exceptionBlock value]. first := sub first. start to: self size - sub size + 1 do: [:startIndex | (self at: startIndex) = first ifTrue: [index := 1. [(self at: startIndex+index-1) = (sub at: index)] whileTrue: [index = sub size ifTrue: [^startIndex]. index := index+1]]]. ^ exceptionBlock value(10 to:1) size >>> 0isToo many argumentsl(#(1 3 5 7 11 15 23) findBinary: [ :arg | 24 - arg ] ifNone: [:a :b | 'over ', a printString]) >>> 'over 23'JExecutes aBlock on each of the receiver's elements except for the last oneasByteArray "Convert to a ByteArray with the ascii values of the string." "'a' asByteArray >>> #[97]" "'A' asByteArray >>> #[65]" "'ABA' asByteArray >>> #[65 66 65]" | b | b := ByteArray new: self byteSize. 1 to: self size * 4 do: [:i | b at: i put: (self byteAt: i)]. ^ b0vector0C(#(10 15 22 789) collect: [:x | x//10] as: Set) >>> #(1 2 78) asSet0round: numberOfWishedDecimal "Round the decimal part of the receiver to be limited to the number of wished decimal. Only leave a fixed amount of decimal" "(1/3 round: 2) >>> (33/100) " "(111/100 round: 2) >>> (111/100) " ^self roundTo: (10 raisedTo: numberOfWishedDecimal negated)#>> isUnary >>> false51210.01asTestSelector "Converts a method selector into a test selector in form of #testOriginalSelector" "#+ asTestSelector >>> #testPlus" "#+-<> asTestSelector >>> #testPlusMinusLessThanGreaterThan" "#message asTestSelector >>> #testMessage" "#mySelector asTestSelector >>> #testMySelector" "#at:putNext: asTestSelector >>> #testAtPutNext" self isBinary ifTrue: [ ^ (#test, (self flatCollect: [ :each | (((Character specialCharacterNames at: each) copyReplaceAll: '-' with: ' ') substrings collect: #capitalized) joinUsing: ''])) asSymbol ]. ^ (#test, (((self copyReplaceAll: ':' with: ' ') substrings collect: #capitalized) joinUsing: '')) asSymbol20vector0-10315NB: this implementation only works for Array, since WriteStreams only work for Arrays and Strings. (!) Overridden in OrderedCollection and SortedCollection.100A#('''' unescapeCharacter: $') >>> ''1Edetect: aBlock ifFound: foundBlock "Evaluate aBlock with each of the receiver's elements as the argument. If some element evaluates aBlock to true, then cull this element into foundBlock. If no element matches the criteria then do nothing. Always returns self to avoid misuse and a potential isNil check on the sender." "|s| (#(1 2) detect: [ :each | each even ] ifFound: [ :e | s:=e*10 ]). s >>> 20" "|s| (#(1 3) detect: [ :each | each even ] ifFound: [ :e | s:=e*10 ]). s >>> nil" self detect: aBlock ifFound: foundBlock ifNone: [ "Do nothing on purpose" ]200 #(#"A"##"B") 953.67 MB#() asCommaStringAnd >>> ''(true or: [false]) >>> true/(#(1 2 2 3 1 1 1) asBag occurrencesOf: 1) >>> 4m(Array streamContents: [:stream | #(1 2 3) allButLastDo: [:each | stream nextPut: (each + 10)]]) >>> #(11 12)18let us make seperate strings00011213141100Pharo is really super cool1,(#(a b c d e) indexOf: #c ifAbsent: 7) >>> 3asValidSelector "Returns a symbol that is a valid selector by removing any space or forbidden characters" "'234znak ::x43 '') _ : 2' asValidSelector >>> #'v234znak:x43:v2'" "'234znak ::x43 ) :2' asValidSelector >>> #v234znak:x43:v2" ^((( $: join: ( ( $: split: ( self select: [ :char | (char charCode < 128) and: [ char isAlphaNumeric or: [ char = $: ] ] ] ) ) select: [ :split | split isNotEmpty ] thenCollect: [ :nonEmptyString | nonEmptyString first isLetter ifTrue: [ nonEmptyString uncapitalized ] ifFalse: [ 'v' , nonEmptyString ] ] ) ) ifEmpty: [ 'v' ]), ((self isNotEmpty and: [ self last = $: ]) ifTrue: [ ':' ] ifFalse: [ #() ]) )asSymbol . #hello "z" foo "a" 1 "b". "c" ^ 2 "d" (1@2.2) isFloatPoint >>> falsed31unzipped "Assuming the receiver contains GZIP compressed data, return a ByteArray with the decompressed data." "#[31 139 8 0 0 0 0 0 0 0 99 100 98 6 0 29 128 188 85 3 0 0 0] unzipped >>> #[1 2 3]" ^ (GZipReadStream on: self) upToEnd Xuuuuuu Xuu n51110.0300vector012(false or: [true]) >>> true'+001"""1"""#"""#"""#"""#"""#"""#"""#"""#"""0toUppercase: aCharacter "(AsciiCharset toUppercase: $a) >>> $A." "(AsciiCharset toUppercase: $A) >>> $A." "(AsciiCharset toUppercase: $!) >>> $!" (aCharacter between: $a and: $z) ifFalse: [ ^ aCharacter ]. ^ Character value: aCharacter asciiValue - $a asInteger + $A asIntegera3Class structural inspection - Class/Metaclass shift11'{1. 2} asBag = {2. 1} asBag >>> trueRemove each element of aCollection which is present in the receiver from the receiver. Answer aCollection. No error is raised if an element isn't found. ArrayedCollections cannot respond to this message.0.4{1@5. 10@ -4} min >>> (1@ -4)23%(3.1479 truncateTo: 0.005) >>> 3.14500100220success9sd0.51130'indexOf: aCharacter "Return the index starting at 1 of the argument in the receiver, zero if not present." "('abcdf' indexOf: $a) >>> 1" "('abddf' indexOf: $k) >>> 0" aCharacter isCharacter ifFalse: [^ 0]. ^ self class indexOfAscii: aCharacter asciiValue inString: self startingAt: 14$1 isDigit >>> true00102230ppp < <<<< n>>10.23000121removeAllSuchThat: aBlock "Evaluate aBlock for each element and remove all that elements from the receiver for that aBlock evaluates to true. Use a copy to enumerate collections whose order changes when an element is removed (i.e. Sets)." "(#(5 6 7 8) asOrderedCollection removeAllSuchThat: #even) >>> #(5 7) asOrderedCollection" self copy do: [:each | (aBlock value: each) ifTrue: [self remove: each]]3y3.0sPoint classSide >>> Point classx421533yAnswer the value of alternativeBlock. Execution does not actually reach here because the expression is compiled in-line.-10;Tests-unix-64-SystemCommands-MessageCommands-Tests-Test.xml abddf bcdefABxa0vector0JTake the minimum between self and maxValue, then the maximum with minValueX(#(1 2 3 4) select: [:each | each > 2 ] thenCollect: [:each | each + 10 ]) >>> #(13 14)+Tests-unix-64-NewTools-FontChooser-Test.xml6foo ^ [ | a | a := 1. [ :a | a ] value: 10 + a ] value2(#(1 2 3) isSortedBy: [:a :b | a >= b ]) >>> false60.01.03((Color r: 0.5 g: 0.5 b: 1) hue >>> 240.027( #() asSet intersection: #(1 2 3 4) asSet) >>> Set new1011cxc1AAnswer how many of the receiver's elements are equal to anObject.546333877729111A0000BB(1 sign: 2);barM('fear is the little death that the.' charactersExactlyMatching: 'the') >>> 0+Concatenate the receiver with the argument.I(#(1 2 3) bind: [ :first :second :third | first + second + third ]) >>> 6203#[ 1 2 ]f1 a: . : [ :a :a :b | | a a b | a + a + b2asInteger "Return the integer present in the receiver, or nil. In case of float, returns the integer part." "'1' asInteger >>> 1" "'-1' asInteger >>> -1" "'10' asInteger >>> 10" "'a' asInteger >>> nil" "'1.234' asInteger >>> 1" ^self asSignedInteger110000 highBit >>> 023Zat: firstKey at: secondKey "Return the object stored in the second dictionary at secondKey. The second dictionary is accessed via the key firstKey." " (Dictionary new at: #top at: #below1 put: 1; at: #top at: #below1 put: 2; at: #top at: #below1) >>> 2" ^ self at: firstKey at: secondKey ifAbsent: [self errorKeyNotFound: secondKey]100 000000000&((100@200) min: (30@400)) >>> (30@200)13Class structural inspection - Class/Metaclass shiftqcollect: aBlock into: aCollection "Evaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into aCollection. Answer aCollection." "({10. 20} collect: [:x|x+1] into: {'a'. 'b'. 'c'}) >>> {11. 21. 'c'.}" "('hello' collect: #asciiValue into: Set new) >>> #(104 101 108 111) asSet" ^aCollection fillFrom: self with: aBlock3(10@10 corner: 100@100) >>> (10@10 corner: 100@100)10KPairwise integer modulo of two sequenceable collections of the same length.0:Xsu0wReturn the object stored in the second dictionary at secondKey. The second dictionary is accessed via the key firstKey.78113.140230+first method faster from 27 accesses and onSince the condition is false, answer the value of the false alternative, which is nil. Execution does not actually reach here because the expression is compiled in-line.110417-(Date today equals: Date yesterday) >>> false0(median "Return the middle element, or as close as we can get." "{1 . 2 . 3 . 4 . 5} asSortedCollection median >>> 3" | size middle | size := self size. middle := (size + 1) // 2. ^ size even ifTrue: [ ((self at: middle) + (self at: middle + 1)) / 2 ] ifFalse: [ self at: middle ]3JtallyInstructions: aBlock "Count the occurrences of each bytecode during the execution of aBlock. Return a Array of associations using the byte as key and the occurrences as values sorted by the instruction opcode numeric values. This method uses the in-image bytecode interpreter to evaluate and count the instructions." "(Context tallyInstructions: [3.14159 printString]) size >>> 120" | tallies | tallies := Bag new. thisContext sender runSimulated: aBlock contextAtEachStep: [:current | tallies add: current instructionStream peekByte ]. ^tallies sortedElements153| T |Xt5?(Color r: 0.5 g: 0.5 b: 1) hsvSaturation >>> 0.4995112414467253hop2100####################0[ | | ]b| aBoolean "Evaluating disjunction (OR) -- answer true since the receiver is true." "true | true >>> true" "true | false >>> true" ^self31XXaXbXXcXXXdXX0vector010.01-1101#(1 1 1 1) argmax >>> 13.1479Example of usages: """ ppp """ n """. """ ^ n """ NReturn the class of the couple class/metaclass. Useful to avoid explicit test.1002222def24}onPreviousMonth "(Date year: 2018 month: 9 day: 28) onPreviousMonth printString >>> '28 August 2018'" ^ self addMonths: -1a#(1 -2 -4 0) abs >>> #(1 2 4 0)('Hello' includes: $l) >>> trueYCreate a dictionary from the keys and values arguments which should have the same length.Alias of Collection>>reduceb120<(1 second + 2 milliSeconds) printString >>> '0:00:00:01.002'10, 15, 20 and 25-Tests-unix-64-Kernel-CodeModel-Tests-Test.xml10vector0101ddmmyyyy "Print the receiver in standard French format dd/mm/yyyy." "(Date year: 2018 month: 9 day: 28) ddmmyyyy >>> '28/9/2018'" ^ self printFormat: #(1 2 3 $/ 1 1)1e3415(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 25 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ',{a. b} printString ]) >>> 'between: #(7 8)' 0 X X X1.07 GB'1111' asFourCode >>> 825307441eParse and materialize the STON representation in the character readStream, skipping C-style comments salkjsdlkgfee 'h' -198128who23Unexpected negative weight#(#(a b c d) allButLast: 3) >>> #(a)54#( #( ) #'.' #':' #';' #'[' #']' #'{' #'}' #'^' #a )allRangesOfSubstring: aSubstring "('Ab cd ef Ab cd' allRangesOfSubstring: 'cd') >>> {(4 to: 5). (13 to: 14)}" "('Ab cd ef Ab cd' allRangesOfSubstring: 'zz') >>> #()" ^ Array streamContents: [:s | | start subSize | start := 1. subSize := aSubstring size. [start isZero] whileFalse: [ start := self findString: aSubstring startingAt: start. start > 0 ifTrue: [s nextPut: (start to: start + subSize - 1). start := start + subSize]]]1 (#(1 2) ifEmpty: [0]) >>> #(1 2)!pppp A ^ 0 :B | b 0 ssssss nn s ab1 ceiling "Answer a Point that is the receiver's x and y ceiling. Answer the receiver if its coordinates are already integral." "(100@200) ceiling >>> (100@200)" "(100.1@200.9) ceiling >>> (101@201)" self isIntegerPoint ifTrue: [ ^ self ]. ^ x ceiling @ y ceiling?reject: rejectBlock thenCollect: collectBlock "Optimized implementation" "(#(1 2 3 4 5) reject: #even thenCollect: [:x|x*10]) >>> #(10 30 50)" | newCollection | newCollection := self copyEmpty. self do: [ :e | (rejectBlock value: e) ifFalse: [ newCollection add: (collectBlock value: e) ] ]. ^ newCollection1(100 @ -200) abs >>> (100@200)5 n ssss Xn1220.0(true and: [true]) >>> trueat: index incrementBy: value "({1 .2 .3 .4} at: 3 incrementBy: 2) >>> 5" "({1 .2 .3 .4} at: 2 incrementBy: 2) >>> 4" ^self at: index put: (self at: index) + value16('pharo' beginsWith: '' caseSensitive: false) >>> true1allButFirst "Answer a copy of the receiver containing all but the first element. Raise an error if there are not enough elements." "#(a b c) allButFirst >>> #(b c)" ^ self allButFirst: 1826&(#(1 2 3 4) intersection: #()) >>> #()0 ^ n 0. n. ^ n105'(#(1 2 3 4 5) select: #even) >>> #(2 4)1000022222223266855520Answer the index of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock.1101pharo20Answer the index of the last occurrence of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock.oops 0 :B |X b X XwRunning average (a.k.a. moving average, rolling average). See the comment of self >> #running:of: for more information.oReturn index of first element that satisfies aBlock. If no matching element is found, evaluate exceptionBlock.7hllhello3-1216r41 n uuuuuu 11d/(23.4567 printShowingDecimalPlaces: 0) >>> '23'-10occurrencesOf: anObject "Answer how many of the receiver's elements are equal to anObject." "(#(1 2 2 3 1 1 1) asBag occurrencesOf: 1) >>> 4" ^ (self includes: anObject) ifTrue: [ contents at: anObject] ifFalse: [ 0 ]13111120044444666666A888893foo:bar:254004######1v (OrderedDictionary new at: #top at: #below1 put: 1; at: #top at: #below1 put: 2; at: #top at: #below1) >>> 2 one:1;two:2; '>' expectedpharo#foo keywordsStrict >>> #()1(#(1 2 3 4) nextToLast) >>> 3501110Uppp ^ 0 :BB :BB :BB :BB :BB :BB :BB :BB :BB :BBB :BBB :BBB :BBB :BBB :BBB :BBB | bb 0 0:01:01:00(String streamContents: [:s| {'one'->1. 'two'->2} asOrderedDictionary associationsDo: [:a| s << a key << ':' << a value asString << ';']]) >>> 'one:1;two:2;'22Z(#(1 2 3 4) reject: [:each | each = 3 ] thenCollect: [:each | each + 10 ]) >>> #(11 12 14)1110#a := a. [ :a | | a a := a ]. a := afrom: start to: stop do: aBlock "Evaluate aBlock for all elements between start and stop (inclusive)." "(Array streamContents: [:stream | #(10 20 30 40) from: 2 to: 3 do: [:each | stream nextPut: each]]) >>> #(20 30)" start to: stop do: [:index | aBlock value: (self at: index)]1is10expandMacros "'' expandMacros >>> String tab" "'' expandMacros >>> String cr" "'' expandMacros >>> OSPlatform current lineEnding" ^self expandMacrosWithArguments: #()3365231311112004445484400B9999A2 1 + 2 + 33`(#('We' 'love' 'pharo!') withIndexSelect: [:value :index | value size - 1 <= index]) >>> #('We')0hello1522d salkjsdlkgfee200(1 decimalDigitAt: 2) >>> 0>Answer a Point that is the difference of the receiver and arg.false | false >>> false412105R('A clear but rather long-winded summary' contractTo: 18) >>> 'A clear ...summary'5kIf the receiver is not nil, pass it as argument to the ifNotNilBlock block. else execute the nilBlock block100011##########011!(#() averageIfEmpty: [ 0 ]) >>> 09Maybe look at the related method Collection>>inject:into:#( 1 + 2ppp X "('*baz*' match: 'mobazo') >>> truefalse & true >>> false28 December 2018If I am involved in arithmetic with another Collection, return a Collection of the results of each element combined with the scalar in that expression. Is used to implement Collection>>+, Collection>>-, etc.' ' isNotEmpty >>> true200d4(#(a b c d e) identityIndexOf: #c ifAbsent: 7) >>> 3'foo1' endsWithDigit >>> true;(#(1 2 3) reduceRight: [ :a :b | a - b ]) >>> (1 - (2 - 3))140-63kReturn the index'th element of me if possible. Return the first or last element if index is out of bounds.d 0:00:01:00makeProtoObject superclass >>> nil000111111000444444333500 That is true!2That is false!0:00:00:00.0020.1* ( [ :aaa : bbb | | ccc ddd | aaa . ] ) . '' expandMacros >>> String crd62221##(a b c d e f g h i) seventh >>> #gXXXXXXXX>('Pharo is really super cool' contractTo: 10) >>> 'Phar...ool'10addDays: dayCount "((Date year: 2018 month: 9 day: 28) addDays: 3) printString >>> '1 October 2018'" ^ (self asDateAndTime + (dayCount days)) asDate'atWrap: index put: value "Store value into the index'th element of the receiver. If index is out of bounds, let it wrap around from the end to the beginning until it is in bounds. Answer value." "(#(11 22 33) asOrderedCollection atWrap: 2 put: 0; yourself) >>> #(11 0 33) asOrderedCollection" "(#(11 22 33) asOrderedCollection atWrap: 4 put: 0; yourself) >>> #(0 22 33) asOrderedCollection" "(#(11 22 33) asOrderedCollection atWrap: 6 put: 0; yourself) >>> #(11 22 0) asOrderedCollection" ^ self at: index - 1 \\ self size + 1 put: valueEMight be compiled inline for speed, see RBMessageNode>>#isInlineIfNila5('Ab cd ef Ab cd' allRangesOfSubstring: 'zz') >>> #()3foo: ZReturn an hexadecimal two-digits string between 00 and FF for a float between 0.0 and 1.0ggggggg sssssss '''''''''''''20022abd2 factorial >>> 2Flattens a collection of collections (no matter how many levels of collections exist). Strings are considered atoms and, as such, won't be flattened3-43paddedWith: otherCollection do: twoArgBlock "Evaluate twoArgBlock with corresponding elements from this collection and otherCollection. Missing elements from either will be passed as nil." "(Array streamContents: [:stream | #(10 20 30) paddedWith: #(40 50 60) do: [:first :second | stream nextPut: (first + second)]]) >>> #(50 70 90) " "(Array streamContents: [:stream | #(10 20 30) paddedWith: #(40 50) do: [:a :b | stream nextPut: {a. b} ]]) >>> #(#(10 40) #(20 50) #(30 nil)) " "(Array streamContents: [:stream | #(10 20) paddedWith: #(40 50 60) do: [:a :b | stream nextPut: {a. b} ]]) >>> #(#(10 40) #(20 50) #(nil 60))" 1 to: (self size max: otherCollection size) do: [:index | twoArgBlock value: (self at: index ifAbsent: []) value: (otherCollection at: index ifAbsent: [])]5d1aeiouG({#a. #b. #c. #d. #e} from: 3 to: 4 put: #x; yourself) >>> #(a b x x e)n X3((0@0 corner: 100@100) containsPoint: 0@0) >>> true0115&cull: anArg "Execute the receiver with one or zero arguments depending on the receiver" "([ 12 ] cull: 13)>>> 12 " "([:x | x + 12] cull: 3)>>> 15" ^numArgs = 0 ifTrue: [self value] ifFalse: [self value: anArg]Return a SortFunction around the receiver, where the receiver will be used as a unary message to send to both a and b during sorting, and then the result of said send will be collated in ascending order using the <=> method.1281010104pReturn a String representation of this number in base b with a minimum length and padded by 0 if zeroFlag is setreplace: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into self." "({1. 2. 3. 4} replace: [:each | each + 1 ]) >>> #(2 3 4 5)" 1 to: self size do: [ :index | self at: index put: (aBlock value: (self at: index)) ]9(#(a b c d e) indexOfAnyOf: #(x y c) startingAt: 2) >>> 3a%#[1 2] asByteArray == #[1 2] >>> true2 ** -1 >>> (1/2)A clear ...summary$(#(a b a d a) lastIndexOf: #a) >>> 5Answer a ByteArray whose elements are the elements of the receiver. Implementation note: Cannot use ''ByteArray withAll: self'' as that only works for SequenceableCollections which support the replacement primitive.1n s ZEvaluate aBlock with my elements taken two at a time, and return an Array with the results0.0`('test te string' copyReplaceAll: 'te' with: 'longone' asTokens: true) >>> 'test longone string'z200333331over a3 00######################### ###0coolJRunning min. See the comment of self >> #running:of: for more information.620051111 ; d5bo (Dictionary new at: #top at: #below1 put: 1; at: #top at: #below1 put: 2; at: #top at: #below1) >>> 2Network255thisContext := thisContexte1165hello001230220def4(#(a b z k) difference: #(a b c d e f)) >>> #(#z #k)2:(#(a b c d e) indexOf: #c startingAt: 4 ifAbsent: 7) >>> 7320foou u. X X X. X X1*-1 + 1--1 + 1- -10string3pppp 3$fromStreamWithComments: readStream "Parse and materialize the STON representation in the character readStream, skipping C-style comments" "(STON fromStreamWithComments: 'Point[1,/*comment*/2]' readStream) >>> (1@2)" ^ (self reader on: (STONCStyleCommentsSkipStream on: readStream)) nextT(#(1 5 10) detectIndex: [ :each | each > 15 ] ifNone: ['Not found']) >>> 'Not found' over index: 715 1 + . ^ 2|:a(Array streamContents: [:stream | #(1 2 3 1 6 1 2 3 4) piecesCutWhere: [ :a :b | a = 1 and: [ b = 2]] do: [:each | stream nextPut: each size]]) >>> #(1 5 3)#:(#(2 3 4 5 5 6 2) copyWithoutAll: (4 to: 10)) >>> #(2 3 2)withIndexDo: elementAndIndexBlock "Just like do: except that the iteration index supplies the second argument to the block" "Support collection enumeration with a counter, even though not ordered" "|s|s:=0. #(4 2 1) withIndexDo: [:e :i| s:=s + (e * (10 ** (i-1)))]. s >>> 124" "|a|a:= Array new: 3. #(10 20 30) withIndexDo: [:e :i| a at: 4-i put: e+1]. a >>> #(31 21 11)" | index | index := 0. self do: [:item | elementAndIndexBlock value: item value: (index := index+1)]28101.00 GBPhaRo1i20max "Return the maximum value of the collection" "#(1 5 10 -4) max >>> 10" "{1@5. 10@ -4} max >>> (10@5)" ^ self inject: self anyOne into: [ :max :each | max max: each ]22world0vector0ABA2400 02 and xa3511<(RPackage named: 'MockPackage-Tests') isTestPackage >>> true12reverseWith: aSequenceableCollection do: aBlock "Evaluate aBlock with each of the receiver's elements, in reverse order, along with the corresponding element, also in reverse order, from aSequencableCollection. " "(Array streamContents: [:stream | #(1 2 3) reverseWith: #(4 5 6) do: [:a :b | stream nextPut: (a + b)]]) >>> #(9 7 5)" self size ~= aSequenceableCollection size ifTrue: [^ self errorSizeMismatch]. self size to: 1 by: -1 do: [:index | aBlock value: (self at: index) value: (aSequenceableCollection at: index)]4'' expandMacros >>> OSPlatform current lineEnding0atLast: indexFromEnd put: obj "Set the element at indexFromEnd from the last position. atLast: 1 put: obj, sets the last element" "({#x .#y .#z} atLast: 2 put: #e; yourself) >>> #(x e z)" ^ self at: self size + 1 - indexFromEnd put: obj2Answer whether the receiver contains any elements, or is nil. Useful in numerous situations where one wishes the same reaction to an empty collection or to nilfoo: arg ^ arg + 1trim "Trim separators from both sides of the receiving string." "' this string will be trimmed ' trim >>> 'this string will be trimmed'" ^ self trimBothy includes:xAnswer a copy of the receiver containing all but the first n elements. Raise an error if there are not enough elements.1 1 foo; . 210{ [ ( 10&#(10 20 30) - #(0 1 2) >>> #(10 19 28)5256-2zwithSeparatorsCompacted "Returns a copy of the receiver with each sequence of whitespace (separator) characters replaced by a single space character" "' test ' withSeparatorsCompacted >>> ' test '" "' test test' withSeparatorsCompacted >>> ' test test'" "'test test ' withSeparatorsCompacted >>> 'test test '" self isEmpty ifTrue: [ ^ self ]. ^ self species new: self size streamContents: [:stream | | lastBlank | lastBlank := false. self do: [ :eachChar | lastBlank ifTrue: [ (lastBlank := eachChar isSeparator) ifFalse: [ stream nextPut: eachChar ] ] ifFalse: [ (lastBlank := eachChar isSeparator) ifTrue: [ stream nextPut: $ ] ifFalse: [ stream nextPut: eachChar ] ] ] ]BAnswer the index of the high order bit of the receiver, or zero if the receiver is zero. Raise an error if the receiver is negative, since negative integers are defined to have an infinite number of leading 1's in 2's-complement arithmetic. Use >>highBitOfMagnitude if you want to get the highest bit of the magnitude.541Consider using any of printStringHex printStringBase: 16 printStringBase: 16 length: 8 padded: true storeStringHex storeStringBase: 16 storeStringBase: 16 length: 11 padded: true1T(true ifTrue: [ 'That is true!' ] ifFalse: [ 'That is false!' ]) >>> 'That is true!'(String streamContents: [:s | Character space split: 'Pharo is cool' indicesDo: [ :start :end | s << 's:' << start asString << ' ' << 'e:' << end asString << ' ' ]]) >>> 's:1 e:5 s:7 e:8 s:10 e:13 '301120 {1 . 2 . 5 . 5} median >>> (7/2)UwithoutQuoting "remove the initial and final quote marks (single quote for string, or double quotes for comments), if present (and if matches nesting quotes). Have a look at testWithoutQuoting. If you want to remove single/double quotes not in first and last positions of the strings, have a look at copyWithout: $' " "'''h''' withoutQuoting >>> 'h'" "' ''h'' ' withoutQuoting >>> ' ''h'' '" | quote | self size < 2 ifTrue: [ ^ self ]. quote := self first. ^ (quote = self last and: [ quote = $' or: [ quote = $" ] ]) ifTrue: [ self copyFrom: 2 to: self size - 1 ] ifFalse: [ self ](Tests-unix-64-ClassParser-Tests-Test.xmlbaraverageIfEmpty: aBlock "This method return the average of the collection if it is not empty. In the other case, it return the value of the block. It means the user the user of this method decide of the return value." "(#(10) averageIfEmpty: [ 0 ]) >>> 10" "(#() averageIfEmpty: [ 0 ]) >>> 0" "({3@5. 7@ -4} averageIfEmpty: [0@0]) >>> (5@(1/2))" "({} averageIfEmpty: [0@0]) >>> (0@0)" self ifEmpty: [ ^ aBlock value ]. ^ self average1100020<1?success:error>(#(1 3 5 7 11 15 23) findBinary: [ :arg | 25 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ',{a. b} printString ]) >>> 'between: #(23 nil)'J(true ifTrue: [ 'This statement is true!' ]) >>> 'This statement is true!'11reverseWithIndexDo: elementAndIndexBlock "Just like reverseWith:do: except that the iteration index supplies the second argument to the block." "(Array streamContents: [:stream | #(10 20 30) reverseWithIndexDo: [:each :index | stream nextPut: each + index]]) >>> #(33 22 11)" self size to: 1 by: -1 do: [:index | elementAndIndexBlock value: (self at: index) value: index]3Special case for fraction power21{10@20. 30@0} // {1@3. 4.0@1} >>> {(10@6). (7@0)}(1)(2) abcabcabcB 'TheRollingStones' normalizeCamelCase >>> 'The Rolling Stones' C(DateAndTime fromString: '2004-02-29T13:33:00+02:00') minute >>> 337abs "Answer a Point whose x and y are the absolute values of the receiver's x and y." "(100 @ -200) abs >>> (100@200)" ^ x abs @ y abs5withIndexSelect: elementAndIndexBlock "Optimized version of SequenceableCollection>>#withIndexSelect: " "(#('We' 'love' 'pharo!') asOrderedCollection withIndexSelect: [:value :index | value size - 1 <= index]) >>> (OrderedCollection with: 'We')" | newCollection element | newCollection := self copyEmpty. firstIndex to: lastIndex do: [ :index | (elementAndIndexBlock value: (element := array at: index) value: index) ifTrue: [ newCollection addNoSort: element ] ]. ^ newCollection!(10 beBetween: 20 and: 12) >>> 12321U({10. 20} asOrderedCollection add: 20; yourself) >>> {10. 20. 20} asOrderedCollection10yfindFirst: aBlock "Return the index of my first element for which aBlock evaluates as true. If no matching element is found, return 0" "(#(1 5 10) findFirst: [ :each | each > 3 ]) >>> 2" "(#(1 5 10) findFirst: [ :each | each > 15 ]) >>> 0" | index | index := 0. [(index := index + 1) <= self size] whileTrue: [(aBlock value: (self at: index)) ifTrue: [^index]]. ^ 0#Tests-unix-64-Deprecated12-Test.xml(false xor: [true]) >>> true20 ||Xu u307variable expected in assigment03240fXX XX n XX# n X2133333fromString: string "Parse and materialize the STON representation in string" "(STON fromString: 'Point[1,2]') >>> (1@2)" ^ self fromStream: string readStream52('Five is {1}.' format: { 1 + 4}) >>> 'Five is 5.'3'-1' asInteger >>> -10?({1. 2. 3. 4. 5} shuffleBy: (Random seed: 42)) >>> #(1 2 5 4 3)=Answer whether the final character of the receiver is a colon50319Answers a Dictionary based on collection of Associations.AnewFrom: aCollection "Answer an instance of me containing the same elements as aCollection." "(RunArray newFrom: {1. $a. $a. 3}) >>> ({1. $a. $a. 3} as: RunArray)" "({1. $a. $a. 3} as: RunArray) values >>> #(1 $a 3)" "({1. $a. $a. 3} as: RunArray) runs >>> #(1 2 1)" | runs values lastRun lastValue | runs := (Array new: aCollection size // 2) writeStream. values := (Array new: aCollection size // 2) writeStream. lastRun := 0. lastValue := Object new. aCollection do: [ :x | lastValue = x ifTrue: [ lastRun := lastRun + 1 ] ifFalse: [ lastRun > 0 ifTrue: [ runs nextPut: lastRun. values nextPut: lastValue ]. lastRun := 1. lastValue := x ] ]. lastRun > 0 ifTrue: [ runs nextPut: lastRun. values nextPut: lastValue ]. ^ self basicNew setRuns: runs contents setValues: values contents8105Answer the receiver with leading and trailing quotes.$' tokenish >>> false 'ziggie' lastSpacePosition >>> 010.12345100X(#(5 6 7 8) asOrderedCollection removeAllSuchThat: #even) >>> #(5 7) asOrderedCollection1720 ('foo*' match: 'foozo') >>> truea~normalizeCamelCase " 'TheRollingStones' normalizeCamelCase >>> 'The Rolling Stones' " ^ self class streamContents: [ : stream | self do: [ : char | (char isUppercase and: [ (stream position > 0 and: [ stream peekLast isUppercase not ]) and: [ stream peekLast isSpaceSeparator not ] ]) ifTrue: [ stream nextPut: Character space ]. stream nextPut: char ] ]0{0@1. 2@3} + {10@20. 30@0} >>> {(10@21). (32@3)}coolXXXXXXX42332Umedian "Return the middle element, or as close as we can get. The collection must not be empty." "{1 . 2 . 3 . 4 . 5} median >>> 3" "{1 . 2 . 4 . 5} median >>> 3" "{1 . 2 . 5 . 5} median >>> (7/2)" "{3} median >>> 3" "([{} median] on: CollectionIsEmpty do: [ 'oops' ]) >>> 'oops'" self emptyCheck. ^ self asSortedCollection median?({1. 2. 3. 4. 5} shuffleBy: (Random seed: 42)) >>> #(1 2 5 4 3)ecaption: 10string210001#() sumNumbers >>> 02cisOctetString "Answer whether the receiver can be represented as a byte string. This is different from asking whether the receiver *is* a ByteString (i.e., #isByteString)" "'abc' isOctetString >>> true" ^ true2union: aCollection "Answer the set theoretic union of two collections." "(#(1 2 3) union: #(4 5 6 2)) asSet >>> #(1 2 3 4 5 6) asSet" "('hello' union: 'world') >>> 'whlorde' " | set | set := self asSet addAll: aCollection; yourself. ^ self species withAll: set asArrayppp < <<<<>> (400@600)3nanoSeconds "2 nanoSeconds printString >>> '0:00:00:00.000000002'" "(1 milliSecond + 2 nanoSeconds) printString >>> '0:00:00:00.001000002'" ^ Duration nanoSeconds: self2101#( 'a' 'b' 'c') asCommaStringAnd >>> 'a, b and c'hello*Tests-unix-64-Commander2-UI-Tests-Test.xml40105Perform an action specified as aBlock (with a start and end argument) to each of the indices of the receiver element that have been identified by splitting the receiver using the splitter argument. optimized version for single delimiters.12Dconvert myself to an Integer representing 1 for true and 0 for falsedasSortFunction "Return a SortFunction around the receiver, where the receiver will be used as a unary message to send to both a and b during sorting, and then the result of said send will be collated in ascending order using the <=> method." "(#('abc' 'de' 'fghi') sorted: #size ascending) >>> #('de' 'abc' 'fghi')" ^PropertySortFunction property: selfFirst N characters310 boy!12*'displayStringOn:' endsWithAColon >>> true11339' hello ' surroundedBySingleQuotes >>> ''' hello '''l"(3.1479 roundUpTo: 0.005) >>> 3.15,(Set newFrom: {1. 2. 3}) >>> #( 1 2 3) asSet1715CasBit "Answer 1 since receiver is true." "true asBit >>> 1" ^ 1Point instanceSide >>> Point260allButFirst: n "Answer a copy of the receiver containing all but the first n elements. Raise an error if there are not enough elements." "(#(a b c d) allButFirst: 2) >>> #(c d)" "(#(a b c d) allButFirst: 3) >>> #(d)" ^ self copyFrom: n + 1 to: self size| a b (1 sign);bar3,Tests-unix-64-Calypso-Browser-Tests-Test.xml()101That is false!9820100100256-(Color fromString: 'orange') >>> Color orangepppp X1detectMin: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. Answer the element for which aBlock evaluates to the lowest number. If collection empty, return nil." "({ 2@6 . -4@3 . 10@ -3 } detectMin: [ :p | p x ]) >>> (-4@3)" "({ 2@6 . -4@3 . 10@ -3 } detectMin: [ :p | p y ]) >>> (10@ -3)" "('Hello!' detectMin: #asciiValue) >>> $!" | minElement minValue | self do: [:each | | val | minValue == nil ifFalse: [ (val := aBlock value: each) < minValue ifTrue: [ minElement := each. minValue := val]] ifTrue: ["first element" minElement := each. minValue := aBlock value: each]. "Note that there is no way to get the first element that works for all kinds of Collections. Must test every one."]. ^ minElementsReturn the index of my first element for which aBlock evaluates as true. If no matching element is found, return 0G('ab cd ab ef ab' copyReplaceAll: 'ab' with: 'zk') >>> 'zk cd zk ef zk'1indexOf: anElement ifAbsent: exceptionBlock "Answer the index of the first occurrence of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock." "(#(a b c d e) indexOf: #c ifAbsent: 7) >>> 3" "(#(a b c d e) indexOf: #x ifAbsent: 7) >>> 7" ^ self indexOf: anElement startingAt: 1 ifAbsent: exceptionBlockU(true ifFalse: [ 'That is false!' ] ifTrue: [ 'That is true!' ]) >>> 'That is true!'crAnswer the index of the first substring within the receiver. If the receiver does not contain substring, answer 0.n(Array streamContents: [:stream | #(1 2 3) with: #(4 5 6) do: [:a :b | stream nextPut: (a + b)]]) >>> #(5 7 9)s:foo < bar ; baz > -0.9deb000001000000204454201+((1 to: 8) reject: #isPrime) >>> #(1 4 6 8)dc 00000000200000c1.40'a''b'(true and: [ true ]) >>> true12110uminute "1 minute printString >>> '0:00:01:00'" "(1 hour + 1 minute) printString >>> '0:01:01:00'" ^ self minutes XX n XXX n Xc | T | X t2240-3.1479'('''''' unescapeCharacter: $') >>> ''''222e{Evaluate aBlock with each of aCollections's elements as the argument. Collect the resulting values into self. Answer self. 8253734922017ifFalse: falseAlternativeBlock ifTrue: trueAlternativeBlock "Answer the value of falseAlternativeBlock. Execution does not actually reach here because the expression is compiled in-line." "(false ifFalse: [ 'That is false!' ] ifTrue: [ 'That is true!' ]) >>> 'That is false!'" ^falseAlternativeBlock valuec^ u10 hexString >>> '16rA'315nAnswer whether the receiver sorts after aString. The collation order is simple ascii (with case differences).8Return the sum (+) of the elements held in the receiver.1b#name asMutator >>> #name: 2018-09-28NReturn the class of the couple class/metaclass. Useful to avoid explicit test.a1002612foo < bar: { 1 } > a, b and c74pharoR(OrderedCollection new add: 42; add: 41 before: 42; yourself) asArray >>> #(41 42) a->b->c->d0vector020 #[ 1 ) 2 ]abc2Return the receiver as a string with the adequate file size identified, e.g. '50 KB'. The difference with humanReadableByteSISizeString is that the current one counts by 1024 and not 1000.0.0100Return a String based on concatenation of positiveNumberString with prefix then padded by 0 is zeroFlag is set for a minimum length.Answer the index of the first occurrence of anElement within the receiver. If the receiver does not contain anElement, answer 0.600subtractDate: aDate "Answer the number of days between self and aDate" "((Date year: 2018 month: 9 day: 28) subtractDate: '2018-09-27') >>> 1" ^ (self start - aDate asDateAndTime) days###1aa1e47('pharo' endsWith: 'aRo' caseSensitive: false) >>> trueAnswer a representative sample of the receiver. It raises an error when the collection is empty. This method can be helpful when needing to preinfer the nature of the contents of semi-homogeneous collections.5211111013111-isClosePunctuation "Return whether the receiver is one of these characters: )]}" "$a isClosePunctuation >>> false" "$( isClosePunctuation >>> false" "$) isClosePunctuation >>> true" "$] isClosePunctuation >>> true" "$} isClosePunctuation >>> true" ^ self characterSet isClosePunctuation: self[Answer the fifth element of the receiver. Raise an error if there are not enough elements.0!(111/100 round: 2) >>> (111/100) / arg "Pairwise quotient of two sequenceable collections of the same length." "#(10 20 30) / #(1 3 4.0) >>> {10. (20/3). 7.5}" "{10@20. 30@0} / {1@3. 4.0@1} >>> {(10@(20/3)). (7.5@0)}" ^ arg adaptToCollection: self andSend: #/Point isInstanceSide >>> true311 slowFactorial >>> 111pairsDo: aBlock "Evaluate aBlock with my elements taken two at a time. If there's an odd number of items, ignore the last one. Allows use of a flattened array for things that naturally group into pairs. See also pairsCollect:" "(Array streamContents: [:s | #(1 'fred' 2 'charlie' 3 'elmer') pairsDo: [:a :b | s nextPut: b; nextPut: a]]) >>> #('fred' 1 'charlie' 2 'elmer' 3)" 1 to: self size // 2 do: [ :index | aBlock value: (self at: 2 * index - 1) value: (self at: 2 * index) ]0vector0a11p Xsss 28reject: rejectBlock "Optimized version of Collection>>#reject:" "(#(1 2 3 4) reject: [:each | each = 3 ]) >>> #(1 2 4)" | each | ^ self class new: self size streamContents: [ :stream| 1 to: self size do: [ :index | (rejectBlock value: (each := self at: index)) ifFalse: [ stream nextPut: each ]]]%printStringBase: b "Return a String representation of this number in base b. For SmallIntegers, it is more efficient to print directly in a String, rather than using a Stream like super." "(10 printStringBase: 10) >>> '10'" "(-10 printStringBase: 10) >>> '-10'" "(10 printStringBase: 2) >>> '1010'" "(10 printStringBase: 16) >>> 'A'" self < 0 ifTrue: [^ '-' , (self negated printStringBase: b)]. self < b ifTrue: [^ String with: (Character digitValue: self)]. ^ self printStringBase: b nDigits: (self numberOfDigitsInBase: b)1(#(1 2 3) isSortedBy: [:a :b | a <= b ]) >>> true1/ HHH E1III111111AAA17CBBBCCCOOOCCCCCCMMMCJ NNN c Hello, World!2'' asLowercase >>> ''phuro304ggggggggg sssssss '''''''''''''-2 reciprocal >>> (-1/2)5+ arg "Pairwise sum of two sequenceable collections of the same length." "#(0 1 2) + #(10 20 30) >>> #(10 21 32)" "{0@1. 2@3} + {10@20. 30@0} >>> {(10@21). (32@3)}" ^ arg adaptToCollection: self andSend: #+16'2 between: 0 and: 4' findSelector >>> #'between:and:' 0001002000400127201he'llo2221EidentityIncludes: anObject "Answer whether anObject is one of the receiver's elements." "({#hello. #world} identityIncludes: #hello) >>> true" "({'hel','lo'. 'world'} identityIncludes: 'hello') >>> false" "({'hel','lo'. 'world'} includes: 'hello') >>> true" self do: [:each | anObject == each ifTrue: [^true]]. ^falsehello!101 one:1;two:2;Grepeat: aNumber "Returns a new string concatenated by itself repeated n times" "('abc' repeat: 3) >>> 'abcabcabc'" aNumber < 0 ifTrue: [ self error: 'aNumber cannot be negative' ]. ^ self species new: self size * aNumber streamContents: [ :stringStream | 1 to: aNumber do: [ :idx | stringStream nextPutAll: self ] ]8longoneswap: oneIndex with: anotherIndex "Move the element at oneIndex to anotherIndex, and vice-versa." "({#a. #b. #c. #d. #e} swap: 5 with: 1) >>> #(e b c d a)" | element | element := self at: oneIndex. self at: oneIndex put: (self at: anotherIndex). self at: anotherIndex put: element< aPoint "Answer whether the receiver is above and to the left of aPoint." "((100@200) < (330@400)) >>> true" "((100@200) < (330@100)) >>> false" ^ x < aPoint x and: [y < aPoint y]3printElementsOn: aStream "List elements betwen () and separated by spaces. Is used by printOn: and other related printing methods." "(String streamContents: [:s| {10. 'hello'} printElementsOn: s]) >>> '(10 ''hello'')'" "(String streamContents: [:s| #() printElementsOn: s]) >>> '()'" "Note: The original code used #skip:, but some streams do not support that, and we don't really need it." aStream nextPut: $(. self do: [:element | aStream print: element] separatedBy: [aStream space]. aStream nextPut: $)#() isEmptyOrNil >>> trueaddAll: aCollection "Add each element of aCollection at my end. Answer aCollection." "(OrderedCollection new addAll: #(41 42); yourself) asArray >>> #(41 42)" ^ self addAllLast: aCollection65505'Return collection printed as 'a, b, c' 231540vector033 1 foo: ^20yAnswer the element after target. Raise an error if target is not in the receiver, or if there are no elements after it.1000(true xor: [true]) >>> false *foo#zortd23300002222222666555EMight be compiled inline for speed, see RBMessageNode>>#isInlineIfNil.#at:putNext: asTestSelector >>> #testAtPutNext first element12%31134>(1024 * 1024 * 1024) humanReadableByteSizeString >>> '1.00 GB'8(0@10 isInsideRectangle: (0@0 corner: 100@100)) >>> truehellogAnswer true whether the receiver is inside the argument (following Rectangle>>#containsPoint: semantics-42charlie is number 2<{10@20. (1/2)@0.5} reciprocal >>> {((1/10)@(1/20)). (2@2.0)}.(#(40 41 42) asOrderedCollection at: 1) >>> 40104( #(1 #(2 3) #(4 #(5))) flattened ) >>> #(1 2 3 4 5)1If the write position of stream is at the end of the internal buffer of stream (originalContents), we can return it directly instead of making a copy as contents would doEvaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into a collection like the receiver. Answer the new collection.bb2a1000C(DateAndTime fromString: '2004-02-29T13:33:12+02:00') second >>> 128reduce: aBlock "Fold the result of the receiver into aBlock. The argument aBlock must take two or more arguments. It applies the argument, binaryBlock cumulatively to the elements of the receiver. For sequenceable collections the elements will be used in order, for unordered collections the order is unspecified." "( #(1 2 3) asSet reduce: [ :a :b | a + b ] ) >>> (1 + 2 + 3)" "( #(1 2 3 4 5) asSet reduce: [ :a :b :c | a + b + c ] ) >>> (1 + 2 + 3 + 4 + 5)" "Maybe look at the related method Collection>>inject:into:" ^self asOrderedCollection reduce: aBlock 0:00:01:01b1024085 255(Tests-unix-64-Roassal-UML-Tests-Test.xmlReturn a String representation of this number in base b. For SmallIntegers, it is more efficient to print directly in a String, rather than using a Stream like super.cand: alternativeBlock "Nonevaluating conjunction. If the receiver is true, answer the value of the argument, alternativeBlock; otherwise answer false without evaluating the argument." "(true and: [true]) >>> true" "(true and: [false]) >>> false" "(false and: [true]) >>> false" "(false and: [Error signal]) >>> false" self subclassResponsibilitya | intersection: aCollection "Answer the set theoretic intersection of two collections. Optimized version for Sets where no intermediate Set is necessary" "(#(1 2 3 4) asSet intersection: #(3 4 5) asSet) >>> #(3 4) asSet" "(#(1 2 3 4) asSet intersection: #() asSet) >>> Set new" "( #() asSet intersection: #(1 2 3 4) asSet) >>> Set new" | outputSet | outputSet := self class new. aCollection do: [ :each | (self includes: each) ifTrue: [ outputSet add: each ] ]. ^ outputSet"result will cover the range [-1,1]4298abc$ isLetter >>> truefoo2(Answer the first element of the receiver131103c01042e-23.45670pharoword2h,('s' charactersExactlyMatching: 'abc') >>> 030de55311-52Perform an action specified as aBlock to each of the elements of the receiver that have been split using the splitter argument. splitter - can be a subsequence, a Block or a Regex (String receiver only). Any other object used as a splitter is treated as an Array containing that object."Guard for know cases (0,1,2,error)2 Pharo is <1p>3Refer to the comment in Collection>>#reject:thenDo:fghi.(#(1 2 2 3 1 1 1) asBag includes: 5) >>> false #( #[ 0 1 2 )CAnswer a number that is the maximum of the x and y of the receiver.5222Answer whether the receiver contains any elements.xznprintPathOn: aStream "Print the receiver's path on aStream (without 'Path' prepended) using the default delimiter" "(String streamContents: [ :str| ((FileSystem workingDirectory / 'book-result' / 'W01-Welcome') relativeToReference: FileSystem workingDirectory) printPathOn: str]) >>> 'book-result/W01-Welcome'" self printPathOn: aStream delimiter: self delimiter226User230pcloseTo: aPoint "Return whether the receiver is close to the argument aPoint. The precision for point holding floats is defined by Float >> #closeTo:precision:. For points holding integer, closeTo: corresponds to equalsTo:" "((100@200) closeTo: (100@200)) >>> true" "((100@201) closeTo: (100@200)) >>> false" ^ (x closeTo: aPoint x) and: [ y closeTo: aPoint y ]52>(#(a b a d a) lastIndexOf: #a startingAt: 1 ifAbsent: 7) >>> 1b240.0100010020cbeidentityIndexOf: anElement "Answer the index of anElement within the receiver. If the receiver does not contain anElement, answer 0." "(#(a b c d e) identityIndexOf: #c) >>> 3" "(#(a b c d e) identityIndexOf: #x) >>> 0" ^self identityIndexOf: anElement ifAbsent: [0]>({ 2@6 . -4@3 . 10@ -3 } detectMax: [ :p | p x ]) >>> (10@ -3)1C('aeiou' findFirstInByteString: 'hello world' startingAt: 1) >>> 2. goodby: my: 320abab121 #[ 1 1.0 2 ]/foo/gloops.tazWreturns the difference between the max and min element, their positions notwithstanding + D('pharo' beginsWith: 'pharo-project' caseSensitive: false) >>> false604 'def' >= 'def' >>> true3513.147940'(#(10 20 30) includesAll: #()) >>> true$beginsWith: prefix caseSensitive: aBoolean "Answer whether the receiver begins with the given prefix string" "IMPLEMENTATION NOTE: following algorithm is optimized in primitive only in case self and prefix are bytes like. Otherwise, if self or prefix are wide strings, then slow version with asLowercase convertation, (primitive is not correct for wide strings)" "('pharo' beginsWith: '' caseSensitive: false) >>> true" "('pharo' beginsWith: 'pharo-project' caseSensitive: false) >>> false" "('pharo' beginsWith: 'phuro' caseSensitive: false) >>> false" "('pharo' beginsWith: 'Pha' caseSensitive: false) >>> true" prefix ifEmpty: [ ^true ]. aBoolean ifTrue: [ ^self beginsWith: prefix ]. self size < prefix size ifTrue: [^ false]. (self class isBytes and: [prefix class isBytes]) ifTrue: [ "Optimized version based on primitive" ^ (self findSubstring: prefix in: self startingAt: 1 matchTable: CaseInsensitiveOrder) = 1 ]. prefix withIndexDo: [ :each :index | (self at: index) asLowercase = each asLowercase ifFalse: [ ^false ] ]. ^true4Return a pair. It is handy to support the tweaking of pharo doc expression. A pharo doc expression is a comment as the following one:2$(#(10 20 30) includes: 21) >>> false4[ [1][2]1x--junit-xml-output#;(#(1 2 3) union: #(4 5 6 2)) asSet >>> #(1 2 3 4 5 6) asSet14230`asDate "(Date year: 2018 month: 9 day: 28) asDate printString >>> '28 September 2018'" ^ self3 ']' expected15'1 true false nil self super thisContext109Answer the set theoretic intersection of two collections.Details: recursively split the range to be sorted into two halves, mergesort each half, then merge the two halves together. An extra copy of the data is used as temporary storage and successive merge phases copy data back and forth between the receiver and this copy. The recursion is set up so that the final merge is performed into the receiver, resulting in the receiver being completely sorted.HelloRwith: anObject withAll: aCollection "Creates an array with anObject followed by elements contained in aCollection." "(Array with: 1 withAll: #(2 3 4)) >>> #(1 2 3 4)" | newArray | newArray := self new: aCollection size + 1. newArray at: 1 put: anObject. newArray replaceFrom: 2 to: newArray size with: aCollection. ^newArray232G(OrderedCollection new addAll: #(41 42); yourself) asArray >>> #(41 42)XXXXXXX### XXn XX nnX0vector0-1010detect: aBlock ifFound: foundBlock ifNone: exceptionBlock "Evaluate aBlock with each of the receiver's elements as the argument. If some element evaluates aBlock to true, then cull this element into foundBlock and answer the result of this evaluation. If none evaluate to true, then evaluate exceptionBlock." "(#(1 2) detect: #even ifFound: #negated ifNone: [0]) >>> -2" "(#(1 3) detect: #even ifFound: #negated ifNone: [0]) >>> 0" "('Hello' detect: #isLowercase ifFound: #uppercase ifNone: [$X]) >>> $E" "('LOL' detect: #isLowercase ifFound: #uppercase ifNone: [$X]) >>> $X" self do: [ :each | (aBlock value: each) ifTrue: [ ^ foundBlock cull: each ] ]. ^ exceptionBlock valuedSame aspect ratio10420 ||| aNcopyReplaceTokens: oldSubstring with: newSubstring "Replace all occurrences of oldSubstring that are surrounded by non-alphanumeric characters" "('File asFile Files File''s File' copyReplaceTokens: 'File' with: 'Snick') >>> 'Snick asFile Files Snick''s Snick'" ^ self copyReplaceAll: oldSubstring with: newSubstring asTokens: trueoEnumerate all elements in the receiver. Execute aBlock for those elements that are not equal to the given item1fred:({1. 2. 3. 4} replace: [:each | each + 1 ]) >>> #(2 3 4 5)1 pppp Xppp 4({1. 2} asBag = {1. 2. 3} asBag >>> false 1 foo:;bar42abc11minutes "2 minutes printString >>> '0:00:02:00'" "(1 hour + 2 minutes) printString >>> '0:01:02:00'" ^ Duration minutes: self #'hello''named: aString ifNone: aBlock "Returns the instance of myself having aString as name." "(KeyboardKey named: 'SHIFT_L') >>> (KeyboardKey value: 65505)" ^ KeyNameTable at: aString ifAbsent: aBlock{ }15% aNumber "modulo. Remainder defined in terms of //. Answer a Number with the same sign as aNumber." "9 % 4 >>> 1" "-9 % 4 >>> 3" "9 % -4 >>> -3" ^ self \\ aNumberfalse | true >>> true20)Count the occurrences of each bytecode during the execution of aBlock. Return a Array of associations using the byte as key and the occurrences as values sorted by the instruction opcode numeric values. This method uses the in-image bytecode interpreter to evaluate and count the instructions.Calculate the average of a collection, return a CollectionIsEmpty exception if the collection is empty. Look averageIfEmpty: aBlockfindString: substring "Answer the index of the first substring within the receiver. If the receiver does not contain substring, answer 0." "('salkjsdlkgfee' findString: 'al') >>> 2" "('salkjsdlkgfeesd' findString: 'sd') >>> 6" ^self findString: substring startingAt: 11090:: ab ab ac de10hello102*Tests-unix-64-SortFunctions-Tests-Test.xml(1}2)2(1]2)10&(#(a b c d) allButFirst: 2) >>> #(c d)b-('hello!' noneSatisfy: #isUppercase) >>> true2 [ :a ::b | ]11 [ :a :b | 255(1@2) isFloatPoint >>> false0Tests-unix-64-Kernel-Tests-WithCompiler-Test.xml43448610and: alternativeBlock "Nonevaluating conjunction -- answer the value of alternativeBlock since the receiver is true." "(true and: [ false ]) >>> false" "(true and: [ true ]) >>> true" ^ alternativeBlock value1 October 20187-(#(1 2 3 4 5) beginsWith: #(0 1 2)) >>> false0vector031Hello!13320Answer a representative sample of the receiver. It raises an error when the collection is empty. This method can be helpful when needing to preinfer the nature of the contents of semi-homogeneous collections.32(Color colorFrom: #(0.0 0.0 1.0)) >>> (Color blue)XAnswer the result of evaluating aBlock with all of the overlapping pairs of my elements. 000022222221002dd0x12420{3} median >>> 31((4 to: 50 by: 2) anySatisfy: #isPrime) >>> false1b1((10 to: 20) detectMax: [ :p | p gcd: 6 ]) >>> 12last "Answer the last element of the receiver. Pay attention, last is not equivalent to stop in certain situations. See below." "(1 to: 10 by: 2) last >>> 9" "(0 to: 10 by: 2) last >>> 10" ^stop - (stop - start \\ step)2522:(10 to: 25 by: 5) asCommaStringAnd >>> '10, 15, 20 and 25'1roundDownTo: aNumber "Answer the next multiple of aNumber toward negative infinity that is nearest the receiver. Examples:" "(3.1479 roundDownTo: 0.01) >>> 3.14" "(3.1479 roundDownTo: 0.1) >>> 3.1" "(1923 roundDownTo: 10) >>> 1920" "(3.1479 roundDownTo: 0.005) >>> 3.145" "(-3.1479 roundDownTo: 0.01) >>> -3.15" ^(self / aNumber) floor * aNumberAAnswer a Point with coordinates that are the reciprocals of mine.select: selectBlock thenDo: doBlock "Utility method to improve readability. Do not create the intermediate collection." "|s| s:=0. #(11 22 33) select: #odd thenDo: [:x|s:=s+x]. s >>> 44" self do: [: each | ( selectBlock value: each ) ifTrue: [ doBlock value: each ] ]400a0vector02053fghi(Array streamContents: [ :stream | #(0 1 2 3) allPairsDo: [ :first :second | stream nextPut: { first . second } ] ]) >>> #(#(0 0) #(0 1) #(0 2) #(0 3) #(1 0) #(1 1) #(1 2) #(1 3) #(2 0) #(2 1) #(2 2) #(2 3) #(3 0) #(3 1) #(3 2) #(3 3))30110111September 2018AAnswer how many of the receiver's elements are equal to anObject.1018(#(xa xb xc xy xz) isSortedBy: #last ascending) >>> true10'AA' asHex >>> '16r4116r41'u u. 0 :B X 0. u u]Returns whether the receiver is composed entirely of alphanumerics (i.e., letters or digits).X 11 expandMacrosWithArguments: anArray "Interpret the receiver pattern (<1p>, <1s>, ...) with argument passed in anArray." " writes the N-th argument using #printString, but without trancating it." "('<1p>: <2p>' expandMacrosWith: 'Number' with: 5 with: nil) >>> '''Number'': 5'" " writes the N-th argument, which should be a String, or a collection of printable objects. Note also important distinction for single-quotes inside the argument; with

they will be doubled." "('<1s> vs <1p>' expandMacrosWith: 'it''em') >>> 'it''em vs ''it''''em'''" "Whitespace characters:" "'' expandMacros >>> String tab" "'' expandMacros >>> String cr" "'' expandMacros >>> OSPlatform current lineEnding" "'' expandMacros >>> String lf" "Writing '<' character: To write '<', prepend it with a percent sign." "'%' expandMacros >>> ''" "Ternary operator: An if-else string can be written with . The N-th argument must be a Boolean. Yes-string cannot contain colon ':', as it terminates the yes-string. No-string cannot contain closing angle bracket '>', as it terminates the no-string." "('<1?success:error>' expandMacrosWith: true) >>> 'success'" "('<1?success:is error>' expandMacrosWith: false) >>> 'is error'" | readStream char index | ^ self species new: self size streamContents: [ :newStream | readStream := self readStream. [ readStream atEnd ] whileFalse: [ char := readStream next. char == $< ifTrue: [ | nextChar | nextChar := readStream next asUppercase. nextChar == $R ifTrue: [ newStream cr ]. nextChar == $L ifTrue: [ newStream lf ]. nextChar == $T ifTrue: [ newStream tab ]. nextChar == $N ifTrue: [ newStream nextPutAll: OSPlatform current lineEnding ]. nextChar isDigit ifTrue: [ index := nextChar digitValue. [ readStream atEnd or: [ (nextChar := readStream next asUppercase) isDigit not ] ] whileFalse: [ index := index * 10 + nextChar digitValue ] ]. nextChar == $? ifTrue: [ | trueString falseString | trueString := readStream upTo: $:. falseString := readStream upTo: $>. readStream position: readStream position - 1. newStream nextPutAll: ((anArray at: index) ifTrue: [ trueString ] ifFalse: [ falseString ]) ]. nextChar == $P ifTrue: [ (anArray at: index) printOn: newStream ]. nextChar == $S ifTrue: [ newStream nextPutAll: (anArray at: index) ]. readStream skipTo: $> ] ifFalse: [ newStream nextPut: (char == $% ifTrue: [ readStream next ] ifFalse: [ char ]) ] ] ]<('*' join: #('WWWWW' 'W EW' 'zzzz')) >>> 'WWWWW*W EW*zzzz'100(RuntimeSyntaxError signal: 'false error'28unzip "Given a collection returns in one pass two collections containing each odd and even elements in respective subcollections" "#(1 2 3 4) unzip first asArray >>> #(1 3)" "#(1 2 3 4) unzip second asArray >>> #(2 4)" | odd even s | s := self size // 2. odd := OrderedCollection new: s. even := OrderedCollection new: s. 1 to: self size do: [ :i | (i \\ 2) = 0 ifTrue: [ even add: (self at: i) ] ifFalse: [ odd add: (self at: i) ] ]. ^ { odd . even }23over 23z(SmallDictionary newFromKeys: #(#x #y) andValues: #(3 6)) >>> (SmallDictionary new at: #x put: 3; at: #y put: 6 ;yourself)9710.2add: newObject "Add a new object at the end of the collection, and returns the object itself" "((OrderedCollection new add: 42; yourself) add: 43; yourself) asArray >>> #(42 43)" "Add returns the object itself" "(OrderedCollection new add: 42) >>> 42" "You may want to use yourself to return the collection itself" "(OrderedCollection new add: 42; yourself) class >>> OrderedCollection" "(OrderedCollection new add: 42; yourself) size >>> 1" ^self addLast: newObjectselect: selectBlock thenCollect: collectBlock "Optimized version of Collection>>#select:thenCollect:" "(#(1 2 3 4) select: [:each | each > 2 ] thenCollect: [:each | each + 10 ]) >>> #(13 14)" | each | ^ self class new: self size streamContents: [ :stream| 1 to: self size do: [ :index | (selectBlock value: (each := self at: index)) ifTrue: [ stream nextPut: (collectBlock value: each) ]]]()ee33 8 ** 2 >>> 64133 That is true!basenameWithoutExtension: anExtension "Returns the basename without specified extension (if any) " "('/foo/gloops.taz' asPath basenameWithoutExtension: 'taz') >>> 'gloops'" | extensionWithDelimiter | extensionWithDelimiter := anExtension copyWithFirst: self extensionDelimiter. ^ (self basename endsWith: extensionWithDelimiter) ifTrue: [ self basename allButLast: extensionWithDelimiter size ] ifFalse: [ self basename ]44foo < bar: 1 1 > 5a := a. [ :a | [ :a | ]. a := akIf the receiver is not nil, pass it as argument to the ifNotNilBlock block. else execute the nilBlock block29^ 5650.01&(AsciiCharset toUppercase: $A) >>> $A.1272(#(1 5 10) findFirst: [ :each | each > 15 ]) >>> 0[ ]13Class structural inspection - Class/Metaclass shift28*splitOn: splitter "Split a collection of objects based on a splitter. splitter - can be a subsequence, a Block or a Regex (String receiver only). Any other object used as a splitter is treated as an Array containing that object." "(#(1 2 3 3 4 1 2 3 5 4 6) splitOn: 4) >>> #(#(1 2 3 3) #(1 2 3 5) #(6))asOrderedCollection" "(#(1 2 3 3 4 1 2 3 3 5 6) splitOn: #(3 3)) >>> #(#(1 2) #(4 1 2) #(5 6)) asOrderedCollection" "(#(2 2 3 3 4 1 2 3 3 5) splitOn: [:each | each > 3])>>> #(#(2 2 3 3) #(1 2 3 3) #()) asOrderedCollection" ^ splitter split: selfInvalid input/output !1112?Answer true if the receiver starts with the argument collectionfalse & false >>> false4*ifFalse: falseAlternativeBlock ifTrue: trueAlternativeBlock "Same as ifTrue:ifFalse:." "(true ifFalse: [ 'That is false!' ] ifTrue: [ 'That is true!' ]) >>> 'That is true!'" "(false ifFalse: [ 'That is false!' ] ifTrue: [ 'That is true!' ]) >>> 'That is false!'" self subclassResponsibility28]select: selectBock thenDo: aBlock "Refer to the comment in Collection>>#select:thenDo:" "(Array streamContents: [:stream | #(1 2 3 4) select: [:each | each > 2 ] thenDo: [:each | stream nextPut: each + 10]]) >>> #(13 14)" | each | 1 to: self size do: [ :index | (selectBock value: (each := self at: index)) ifTrue: [ aBlock value: each ]]10M(Date year: 2018 month: 9 day: 28) asDate printString >>> '28 September 2018'000022222226686655500100022445220086666774n sss XJ((RBScanner on: 'Pharo (, { exist ]' readStream) next; next) value >>> $(10233311-113.Tests-unix-64-Roassal-Inspector-Tests-Test.xmlFooBarBaz { #foo : 100 }2allButLastDo: block "Executes aBlock on each of the receiver's elements except for the last one" "(Array streamContents: [:stream | #(1 2 3) allButLastDo: [:each | stream nextPut: (each + 10)]]) >>> #(11 12)" 1 to: self size - 1 do: [:index | block value: (self at: index)]-4seventh "Answer the seventh element of the receiver. Raise an error if there are not enough elements." "#(a b c d e f g h i) seventh >>> #g" ^ self at: 74Tests-unix-64-Refactoring-Environment-Tests-Test.xmlxb_select elements from the receiver that the block evaluates true with the element and its index.152true ==> [false] >>> false65one,Tests-unix-64-NewTools-Finder-Tests-Test.xml10'((100@200) max: (30@400)) >>> (100@400)0B(Character space join: #('Pharo' 'is' 'cool')) >>> 'Pharo is cool'-104('pharo' endsWith: '' caseSensitive: false) >>> true30a[ :a a43201Answer the index of the first occurrence of any element included in aCollection after start within the receiver. If the receiver does not contain anElement, answer zero, which is an invalid index.humanReadableByteSizeString "Return the receiver as a string with the adequate file size identified, e.g. '50 KB'. The difference with humanReadableByteSISizeString is that the current one counts by 1024 and not 1000." "(1000 * 1000 * 1000) humanReadableByteSizeString >>> '953.67 MB'" "(1000 * 1000 * 1000) humanReadableSISizeString >>> '1.00 GB'" "(1024 * 1024 * 1024) humanReadableByteSizeString >>> '1.00 GB'" ^ self humanReadableByteSizeStringPrecision: 22.(#(a b c d e) indexOf: #c startingAt: 2) >>> 32with: otherCollection do: twoArgBlock "Evaluate twoArgBlock with corresponding elements from this collection and otherCollection." "(Array streamContents: [:stream | #(1 2 3) with: #(4 5 6) do: [:a :b | stream nextPut: (a + b)]]) >>> #(5 7 9)" otherCollection size = self size ifFalse: [self errorSizeMismatch]. 1 to: self size do: [:index | twoArgBlock value: (self at: index) value: (otherCollection at: index)]'('hello world' occurrencesOf: 10) >>> 0-311cool Pharo is cool''20 05zzzz #(aa:bb:cc#aa:bb:cc#cc==#== =#=)430 #(1 2 3) negated >>> #(-1 -2 -3)cmonth "(Date year: 2018 month: 9 day: 28) month printString >>> 'September 2018'" ^ self asMonth320Ufoo ^ [ :a1 :a2 :a3 :a4 :a5 :a6 :a7 :a8 :a9 :a10 :a11 :a12 :a13 :a14 :a15 :a16 | a1 ]/(nil ifNotNil: [:o | o +3 ] ifNil: [42]) >>> 422345.889)(#() ifNotEmpty: [:x| x average]) >>> #()aRo1capacity "Answer the current capacity of the receiver." "OrderedCollection new capacity >>> 10" "(OrderedCollection new addAll: (1 to: 15); yourself) capacity >>> 20" ^ array sizeMake some empty slots at the front of the array. If we have more than 50% free space, then just move the elements, so that the first 50% of the slots are free, otherwise add new free slots to the front by growing. Precondition: firstIndex = 17890.00vector06610foo < bar: 1 + 1 > 0nXn0e9joinUsing: joiner last: last "Append the elements of the receiver separating them with the joiner argument and handle the last elment separation using the last argument." "(#(1 2 3 4) joinUsing: ', ' last: ' and ') >>> '1, 2, 3 and 4'" (self size = 0) ifTrue: [ ^ '' ]. (self size = 1) ifTrue: [ ^ self first asString ]. ^ last join: (Array with: (joiner join: self allButLast) with: self last)B(Character space join: #('Pharo' 'is' 'cool')) >>> 'Pharo is cool'Evaluate aBlock with each of the receiver's elements as the argument. Collect into a new collection like the receiver, only those elements for which aBlock evaluates to true. Answer the new collection.MReturn whether the receiver is https://www.compart.com/en/unicode/category/PfPreduce: aBlock "Fold the result of the receiver into aBlock. The argument aBlock must take two or more arguments. It applies the argument, binaryBlock cumulatively to the elements of the receiver. For sequenceable collections the elements will be used in order, for unordered collections the order is unspecified." "(#(1 2 3) reduce: [ :a :b | a + b ]) >>> 6" "1 + 2 + 3" "(#(1 2 3) reduce: [ :a :b | a + b ]) >>> (1 + 2 + 3)" "(#(1 2 3 4 5) reduce: [ :a :b :c | a + b + c ]) >>> 15" "(#(1 2 3 4 5) reduce: [ :a :b :c | a + b + c ]) >>> (1 + 2 + 3 + 4 + 5)" ^ self reduceLeft: aBlock8Return a String representation of this number in base b.247asa30.0+00BBBBBLLLCMMMDNNNEOOOFPPPGQQQHRRRISSSJTTT0000002244454448889888B8877777777DDCCCE4433333333F02(#(11 22 33) asOrderedCollection atWrap: 2) >>> 22c2010 hex >>> '16rA'TReturn true whether the receiver is a metaclass (in a couple class/metaclass sense).,highBit is not defined for negative integersdetect: aBlock ifNone: exceptionBlock "Evaluate aBlock with each of the receiver's elements as the argument. Answer the first element for which aBlock evaluates to true. If none evaluate to true, then evaluate the argument, exceptionBlock." "(#(1 2) detect: #even ifNone: [0]) >>> 2" "(#(1 3) detect: #even ifNone: [0]) >>> 0" "('Hello' detect: #isLowercase ifNone: [$X]) >>> $e" "('LOL' detect: #isLowercase ifNone: [$X]) >>> $X" ^ self detect: aBlock ifFound: [ :element | element ] ifNone: exceptionBlockzz2 #( 1 #+ 210;Message sending and code execution - Runtime and Evaluation15Uintersection: aCollection "Answer the set theoretic intersection of two collections." "(#(1 2 3 4) intersection: #(3 4 5)) >>> #(3 4)" "(#(1 2 3 4) intersection: #()) >>> #()" "(#() intersection: #(1 2 3 4)) >>> #()" "('hello' intersection: 'world') >>> 'ol'" ^ self species withAll: (self asSet intersection: aCollection) asArrayPoint instanceSide >>> Point13(1 minute + 2 seconds) printString >>> '0:00:01:02' "a" ^ "b" 5 "c" 2926shuffledBy: aRandom "Durstenfeld's version of the Fisher-Yates shuffle" "({1. 2. 3. 4. 5} shuffleBy: (Random seed: 42)) >>> #(1 2 5 4 3)" ^ self copy shuffleBy: aRandom1OReturn a string representing the receiver in HEX (i.e., 6 elements in 16 basis)(({#x .#y. #z} atAllPut: #a) >>> #(a a a)11four$( isClosePunctuation >>> falseIMPLEMENTATION NOTE: following algorithm is optimized in primitive only in case self and prefix are bytes like. Otherwise, if self is wide, then super outperforms, Otherwise, if prefix is wide, primitive is not correct1000a({'1'. '2'. '3'. '4'} atRandom: (Random seed: -42) weighting: [ :each | each asInteger ]) >>> '4'1XX n n10016r00A"0 :BBBBBBBBBBB | bbbbbbbbbbb s n 07.5 100000000Sunday(String streamContents: [:s | 'Pharo is cool' splitOn: Character space indicesDo: [ :start :end | s << 's:' << start asString << ' ' << 'e:' << end asString << ' ' ]]) >>> 's:1 e:5 s:7 e:8 s:10 e:13 'Print the receiver in standard U.S.A format mm/dd/yyyy. Note that the name here is slightly misleading -- the month and day numbers don't show leading zeros, so that for example February 1 1996 is 2/1/96& aBoolean "Evaluating conjunction. Evaluate the argument. Then answer true if both the receiver and the argument are true." "true & true >>> true" "true & false >>> false" "false & true >>> false" "false & false >>> false" self subclassResponsibility10isDashPunctuation "Return whether the receiver is one of these characters: $-" "$- isDashPunctuation >>> true" "$_ isDashPunctuation >>> false" ^ self characterSet isDashPunctuation: self=Move the element at oneIndex to anotherIndex, and vice-versa.c({10. 20} asOrderedCollection addIfNotPresent: 30; yourself) >>> ({10. 20. 30} asOrderedCollection)0X706010*9202&(AsciiCharset toUppercase: $a) >>> $A."""wReturn the object stored in the second dictionary at secondKey. The second dictionary is accessed via the key firstKey.3 0020(Tests-unix-64-DebugPoints-Tests-Test.xmlnnumericSuffix "'abc98' numericSuffix >>> 98" "'98abc' numericSuffix >>> 0" ^ self stemAndNumericSuffix last| T | 0 t nn 0. ^ tcharactersExactlyMatching: aString "Do a character-by-character comparison between the receiver and aString. Return the index of the final character that matched exactly." "('s' charactersExactlyMatching: 'abc') >>> 0" "('fear is the little death that the.' charactersExactlyMatching: 'the') >>> 0" "('fear is the little death that the.' charactersExactlyMatching: 'fear is') >>> 7" | count | count := self size min: aString size. 1 to: count do: [:i | (self at: i) = (aString at: i) ifFalse: [ ^ i - 1]]. ^ count3-2X'let us make seperate strings' substrings >>> #('let' 'us' 'make' 'seperate' 'strings')22Special case of self = 02(Return whether the receiver is a letter.2pLike asArray: but return a copy if self is already an Array. This ensures that the result is always a new Array X | t t t | t s t s tSgrowAtFirst "Add new empty slots to the front of array, while keeping the empty slots at the end." "OrderedCollection new capacity >>> 10" "(OrderedCollection new growAtFirst; capacity) >>> 20" | newArray newFirstIndex newLastIndex | newArray := self class arrayType new: (array size * 2 max: 1). newFirstIndex := newArray size - array size + firstIndex. newLastIndex := newFirstIndex + lastIndex - firstIndex. newArray replaceFrom: newFirstIndex to: newLastIndex with: array startingAt: firstIndex. array := newArray. firstIndex := newFirstIndex. lastIndex := newLastIndex-20030:B X014Put anObject at every one of the receiver's indices.Unexpected tokenHello.Results are not defined non-integer arguments.2.0*printStringBase: base "Return a String representation of this number in base b." "(10 printStringBase: 10) >>> '10'" "(-10 printStringBase: 10) >>> '-10'" "(10 printStringBase: 2) >>> '1010'" "(10 printStringBase: 16) >>> 'A'" ^ String streamContents: [:strm | self printOn: strm base: base]The low bits table can be obtained with: ((1 to: 8) inject: #[1] into: [:lowBits :rank | (lowBits copy at: 1 put: lowBits first + 1; yourself) , lowBits]) allButFirst.yThis is implemented using a variant of the normal inject:into: pattern that is specific to handling numbers. aBlock is expected to return a number for every element in the collection. Different from the sum: implementation, the default value is zero. While sum: is more general, sumNumbers: is meant to support the most often encountered use case of dealing with numbers.221202888 000999060AAA070BBB00 CCCcolorFrom: parm "Return an instantiated color from parm. If parm is already a color, return it, else return the result of my performing it if it's a symbol or, if it is a list, it can either be an array of three numbers, which will be interpreted as RGB values, or a list of symbols, the first of which is sent to me and then the others of which are in turn sent to the prior result, thus allowing entries of the form #(blue darker). Else just return the thing" "(Color colorFrom: #(blue darker)) >>> (Color r: 0.0 g: 0.0 b: 0.9198435972629521 alpha: 1.0) " "(Color colorFrom: Color blue darker)>>> ((Color r: 0.0 g: 0.0 b: 0.9198435972629521 alpha: 1.0))" "(Color colorFrom: #blue)>>> (Color blue)" "(Color colorFrom: #(0.0 0.0 1.0)) >>> (Color blue)" | aColor firstParm | (parm isKindOf: self) ifTrue: [ ^ parm ]. parm isSymbol ifTrue: [ ^ self perform: parm ]. parm isString ifTrue: [ ^ self fromString: parm ]. ((parm isKindOf: SequenceableCollection) and: [ parm isNotEmpty ]) ifTrue: [ firstParm := parm first. (firstParm isKindOf: Number) ifTrue: [ ^ self fromRgbTriplet: parm ]. aColor := self colorFrom: firstParm. parm doWithIndex: [ :sym :ind | ind > 1 ifTrue: [ aColor := aColor perform: sym ] ]. ^ aColor ]. ^ parm201$' isSeparator >>> false?Print the receiver's path on aStream (without 'Path' prepended)(#(w x y z) atPin: 4) >>> #z$) isClosePunctuation >>> true1Evaluate twoArgBlock with corresponding elements from this collection and otherCollection. Missing elements from either will be passed as nil.2 between: 6foo ^ [ :a | [ | a | a := 10. a ] value + a ] value: 1]Answer the seventh element of the receiver. Raise an error if there are not enough elements.310storeStringHex "Returns a string representation of the receiver in base 16 in a way that executing it will return the receiver." "10 storeStringHex >>> '16rA'" ^ self storeStringBase: 16 ('foo*' match: 'bozo') >>> false%('abc' escapeCharacter: $X) >>> 'abc'10 :B | X b X XacopyWith: newElement "Answer a new collection with newElement added (as last element if sequenceable)." "(#(10 20) asSet copyWith: 30) >>> #(10 20 30) asSet" "(#(10 20) asSet copyWith: 20) >>> #(10 20) asSet" ^ self copy add: newElement; yourselfdd23Tests-unix-64-Spec2-Adapters-Morphic-Tests-Test.xml13031]xor: alternativeBlock "Nonevaluating conjunction. If the receiver is true, answer the opposite of the the argument, alternativeBlock; otherwise answer the value of the alternativeBlock." "(true xor: [true]) >>> false" "(true xor: [false]) >>> true" "(false xor: [true]) >>> true" "(false xor: [false]) >>> false" self subclassResponsibility0vector0319FileLocator temp / ('{1}.ston' format: { Time millisecondClockValue }) in: [ :file | file writeStreamDo: [ :out | STON put: 1@2 onStream: out ]. file readStreamDo: [ :in | STON fromStream: in ] ]431107Answer a Point scaled by factor (an instance of Point).XXs1Create a color with the given hue, saturation, and lightness. Hue is given as the angle in degrees of the color on the color circle where red is zero degrees. Saturation and lightness are numbers in [0.0..1.0] where larger values are more saturated or lighter colors. The difference with brightness in the HSV coordinates is that colors go from black at lightness 0, through vivid hues at lightness 0.5, to white at lightness 1. For example, (Color h: 0 s: 1 l: 0.5) is pure red.((2@2) * 200) >>> (400@400)0vector013Evaluate aBlock with the elements of the receiver. If aBlock returns true for any element return true. Otherwise return false.Not valid for negative integers11aeiou12210Example of usages:1 0:B| | |u05Answer substrings of the receiver derived from cutting the receiver at points where binaryBlock answers true for adjacent elements.10[ | b ]ab3< aString "Answer whether the receiver sorts before aString. The collation order is simple ascii (with case differences)." " 'abc' < 'def' >>> true" " 'abc' < 'abc' >>> false" " 'def' < 'abc' >>> false" ^ (self compare: self with: aString) < 0f$a isAlphaNumeric >>> truee150oneppp <<<<< XX XX X< 1.0)Optimized version of Collection>>#reject:1reciprocal "Return the reciever full of reciprocated elements" "#(1 11 0.5) reciprocal >>> {1 . 1/11 . 2.0}" "{10@20. (1/2)@0.5} reciprocal >>> {((1/10)@(1/20)). (2@2.0)}" ^ self collect: [ :a | a reciprocal ]elmer2toNonevaluating disjunction. If the receiver is false, answer the value of the argument, alternativeBlock; otherwise answer true without evaluating the argument.10 1 hello: 001022033304550670880v223.570011331 foo. 20"a" #( "b" 1 "c" two "d" ( "e" 3 "f" ) "g" ) "h"2.3029490834938491.4 rounded >>> 11243333203W(false ifFalse: [ 'That is false!' ] ifTrue: [ 'That is true!' ]) >>> 'That is false!'jnewFromKeys: keys andValues: values "Create a dictionary from the keys and values arguments which should have the same length." "(OrderedDictionary newFromKeys: #(#x #y) andValues: #(3 6)) >>> (OrderedDictionary new at: #x put: 3; at: #y put: 6 ;yourself)" | dict | dict := self new: keys size. keys with: values do: [ :k :v | dict at: k put: v ]. ^ dict102(gggggggggggggggggg sssssss '''''''''''''102elvis e0y00('LOL' detect: #isLowercase ifNone: [$X]) >>> $X\Return element at indexFromEnd from the last position. atLast: 1, returns the last elementy52xy>Return number that represents digit at given decimal position.30abc10yh: hue s: saturation l: lightness "Create a color with the given hue, saturation, and lightness. Hue is given as the angle in degrees of the color on the color circle where red is zero degrees. Saturation and lightness are numbers in [0.0..1.0] where larger values are more saturated or lighter colors. The difference with brightness in the HSV coordinates is that colors go from black at lightness 0, through vivid hues at lightness 0.5, to white at lightness 1. For example, (Color h: 0 s: 1 l: 0.5) is pure red." " (Color h: 0 s: 1 l: 0.5) >>> (Color r: 1 g: 0 b:0)" ^ self h: hue s: saturation l: lightness alpha: 1.05216rAPerform an action specified as aBlock (with a start and end argument) to each of the indices of aSequenceableCollection that have been identified by taking the receiver as a splitter.2005 2018-09-27-37dJust like reverseWith:do: except that the iteration index supplies the second argument to the block.sortedElements "Answer with a collection of elements with counts, sorted by element." "#(1 2 2 3 1 1 1) asBag sortedElements >>> {1->4. 2->2. 3->1}" ^contents associations sort; yourselfb1E0dC(NSPerlinNoise2 new noise: 3.14 y: 42 z: 7) >>> 0.1369199587840001206523XXXXXXXXXXXXXXXXXXXXXXXXXXF(#(1.9283 2.3029) closeTo: #(1.9284 2.3028) precision: 0.001) >>> true 000000000000330000011111103355555544460.510000Evaluate aBlock with each of the receiver's elements as the argument. Answer the element for which aBlock evaluates to the highest magnitude. If collection empty, return nil. This method might also be called elect:.=do: aBlock without: anItem "Enumerate all elements in the receiver. Execute aBlock for those elements that are not equal to the given item" "(String streamContents: [:s | #(10 20 30) do: [:each | s << each asString] without: 20]) >>> '1030'" ^ self do: [ :each | anItem = each ifFalse: [ aBlock value: each ] ] ab ab ac de^Answer whether the receiver is a valid token-character -- letter, digit, underscore, or colon.14010afoo-Tests-unix-64-System-Benchmark-Tests-Test.xml22r. 3(Color hex: 0.2) >>> '33'Pharo (, { exist ]1"fear is the little death that the.107Parse and materialize the STON representation in string451#1103#(()) isNotEmpty >>> true31001223 + 1. - a. - 1. - 1 "A"+Tests-unix-64-Tool-Profilers-Tests-Test.xml7({#a. #b. #c. #d. #e} swap: 5 with: 1) >>> #(e b c d a)^^1611p(Array streamContents: [:stream | #(10 20 30 40) from: 2 to: 3 do: [:each | stream nextPut: each]]) >>> #(20 30)10241i3u <317(0@0 isInsideRectangle: (0@0 corner: 100@100)) >>> true1ifFalse: alternativeBlock "Since the condition is true, the value is the true alternative, which is nil. Execution does not actually reach here because the expression is compiled in-line." "(true ifFalse: [ true ]) >>> nil" ^nilreverseDo: aBlock "Evaluate aBlock with each of the receiver's elements as the argument, starting with the last element and taking each in sequence up to the first. For SequenceableCollections, this is the reverse of the enumeration for do:." "(Array streamContents: [:stream | #(1 2 3) reverseDo: [:each | stream nextPut: each + 10]]) >>> #(13 12 11)" self size to: 1 by: -1 do: [:index | aBlock value: (self at: index)]a[Answer the sixth element of the receiver. Raise an error if there are not enough elements.tFold the result of the receiver from left to right into aBlock. The argument aBlock must take two or more arguments. """""n""""""4022222210022583This statement is true!-(3 ifNil: [42] ifNotNil: [:o | o +3 ]) >>> 611'on: aStream "Create a scanner stream of program tokens on the argument. Users can then use stream API to consume tokens." "((RBScanner on: 'Pharo (, { exist ]' readStream) next; next) value >>> $(" | scanner | scanner := self new on: aStream. scanner step; stripSeparators. ^scanner1613zg(STON toJsonString: { { #foo->1 } asDictionary. { #bar->2 } asDictionary }) >>> '[{"foo":1},{"bar":2}]'100116rDF51c heLlo wOrLd1117[1}2]5)(STON fromString: 'Point[1,2]') >>> (1@2)1sasMutator "Return a setter message from a getter message. Return self if it is already a setter. Pay attention the implementation should be improved to return valid selector." "#name asMutator >>> #name:" "#name: asMutator >>> #name:" "#_ asMutator >>> #_:" "#foo:: asMutator >>> #'foo::'" self endsWithAColon ifTrue:[ ^ self ]. ^ (self copyWith: $:) asSymbol11salkjsdlkgfeeal>Add each element of aCollection at my end. Answer aCollection.10720it'em vs 'it''em'$} isControlOther >>> false104171Return a setter message from a getter message. Return self if it is already a setter. Pay attention the implementation should be improved to return valid selector.1000010024123('*' match: 'zort') >>> trueBAD boy!foo: + 301166 ppp < < n< 130)(self >> #selector) isExtension >>> false0000011111033555554446[a >= aString "Answer whether the receiver sorts after or equal to aString. The collation order is simple ascii (with case differences)." " 'def' >= 'abc' >>> true" " 'def' >= 'def' >>> true" " 'abc' >= 'def' >>> false" ^ (self compare: self with: aString) >= 0XXXXXXXXXXXXXXtoString: object "Return a String with the STON serialization of object" "(STON toString: 1@2) >>> 'Point[1,2]'" ^ String streamContents: [ :stream | self put: object onStream: stream ]302.Tests-unix-64-EmergencyDebugger-Tests-Test.xml3"Character tab isSeparator >>> true1c2/Negated value of all elements in the collection31between: #(11 15)45 slowFactorial >>> 1201.23432Answer a number that represents the number of complete seconds in the receiver's time part, after the number of complete minutes has been removed.a := a. [ :a | a ]. a := a!Character lf isSeparator >>> true2071#Float pi radiansToDegrees >>> 180.030xor: alternativeBlock "Answer the value of the alternativeBlock since the receiver is false." "(false xor: [true]) >>> true" "(false xor: [false]) >>> false" ^ alternativeBlock value11Return the reciever full of reciprocated elements"""""  'abc' = 'def' >>> false1(Array streamContents: [:stream | 'abcde' combinations: 3 atATimeDo: [:each | stream nextPut: each copy]]) >>> #(#($a $b $c) #($a $b $d) #($a $b $e) #($a $c $d) #($a $c $e) #($a $d $e) #($b $c $d) #($b $c $e) #($b $d $e) #($c $d $e))de3'2 between: ( 1 and: 4)' findSelector >>> #between:1(#(11 22 33) atWrap: 4) >>> 111216r1E103bar0D'foo' asOrderedCollection = #($f $o $o) asOrderedCollection >>> trueabcXn. Xu. X n. X"""n91030isAllDigits "Return whether the receiver is composed entirely of digits and has at least one digit" "'2345' isAllDigits >>> true" "'0002345' isAllDigits >>> true" "'2345.88' isAllDigits >>> false" self do: [:c | c isDigit ifFalse: [^ false]]. self ifEmpty: [^false]. ^ true1174.042$({} averageIfEmpty: [0@0]) >>> (0@0)(100@200) ceiling >>> (100@200)f({'1'. '1'. '2'. '1'. '1'} atRandom: (Random seed: -42) weighting: [ :each | each asInteger ]) >>> '1'Literal constant expectedfo5$(#(a b a d e) lastIndexOf: #a) >>> 32231collect: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. Collect the resulting values into a collection like the receiver. Answer the new collection. Note: the returned collection is of the same species. If this species does not accomdate the values of aBlock, look at collect:as:" "(#(10 20 30) collect: [:e | e+1]) >>> #(11 21 31)" "({10@20. 30@0} collect: [:e | e x]) >>> #(10 30)" "('Hello, world!' collect: [:e | e isLetter ifTrue: e ifFalse: $-]) >>> 'Hello--world-'" "((1 to: 10) collect: [:i| i gcd: 6]) >>> #(1 2 3 2 1 6 1 2 3 2)" "(#() collect: [:x | x+1]) >>> #()" | newCollection | newCollection := self copyEmpty. self do: [:each | newCollection add: (aBlock value: each)]. ^ newCollectionereject: rejectBlock thenDo: aBlock "Refer to the comment in Collection>>#reject:thenDo:" "(Array streamContents: [:stream | #(1 2 3 4) reject: [:each | each = 3 ] thenDo: [:each | stream nextPut: each + 10]]) >>> #(11 12 14)" | each | 1 to: self size do: [ :index | (rejectBlock value: (each := self at: index)) ifFalse: [ aBlock value: each ]]42^This is implemented using a variant of the normal inject:into: pattern. The reason for this is that it is not known whether we're in the normal number line, i.e. whether 0 is a good initial value for the sum. Consider a collection of measurement objects, 0 would be the unitless value and would not be appropriate to add with the unit-ed objects.311112004444466676655B9999A100000000BBB08888888888888880EEE09999999999999990HHH01024| T t | t nn. ^ t14531.9283901234902349xzz10( 1 + 23WWWWW9N|s| (#(1 2) detect: [ :each | each even ] ifFound: [ :e | s:=e*10 ]). s >>> 20ab30121 & 2!#(1 2) asArray == #(1 2) >>> truee201b1 222222222 'h'Return a new sequenceable collection which contains the same elements as self but its elements are sorted by aSortBlockOrNil. The block should take two arguments and return true if the first element should preceed the second one. If aSortBlock is nil then <= is used for comparison.Remove oldObject from the receiver's elements. Answer oldObject unless no element is equal to oldObject, in which case, raise an error. ArrayedCollections cannot respond to this message.###'hello''worldabcd 1 sign;;barxzasOrderedDictionary "Answers a Dictionary based on collection of Associations." "{'one' -> 1. 'two' ->2} asOrderedDictionary keys first >>> 'one'" ^ self as: OrderedDictionary31e:10 :BBBBBB | bbbbbb s n 0nil isEmptyOrNil >>> true00.02100false | false >>> false13GcontractTo: smallSize "return myself or a copy shortened by ellipsis to smallSize" "('abcd' contractTo: 10) >>> 'abcd'" "('Pharo is really super cool' contractTo: 10) >>> 'Phar...ool'" "('A clear but rather long-winded summary' contractTo: 18) >>> 'A clear ...summary'" | leftSize | self size <= smallSize ifTrue: [^ self]. "short enough" smallSize < 5 ifTrue: [^ self copyFrom: 1 to: smallSize]. "First N characters" leftSize := smallSize-2//2. ^ self copyReplaceFrom: leftSize+1 "First N/2 ... last N/2" to: self size - (smallSize - leftSize - 3) with: '...'detectIndex: aBlock "Return index of first element that satisfies aBlock. If no matching element is found, raise an error." "(#(1 5 10) detectIndex: [ :each | each > 3 ]) >>> 2" ^ self detectIndex: aBlock ifNone: [ self errorNotFound: aBlock ]6(#(1 2 3 4) asSet intersection: #() asSet) >>> Set newd220 (true ifFalse: [ true ]) >>> nil2a3.1479 )x135(100@200) min >>> 10070ea[Store the elements of valueArray into the slots of this collection selected by indexArray.,(#(10 20 30) includesAll: #(30 20)) >>> true3Q('fear is the little death that the.' charactersExactlyMatching: 'fear is') >>> 74fromStringWithComments: string "Parse and materialize the STON representation in string, skipping C-style comments" "(STON fromStringWithComments: 'Point[1,/*comment*/2]') >>> (1@2)" ^ self fromStreamWithComments: string readStreamCroundUpTo: aNumber "Answer the next multiple of aNumber toward infinity that is nearest the receiver." "(3.1479 roundUpTo: 0.01) >>> 3.15" "(3.1479 roundUpTo: 0.1) >>> 3.2" "(1923 roundUpTo: 10) >>> 1930" "(3.1479 roundUpTo: 0.005) >>> 3.15" "(-3.1479 roundUpTo: 0.01) >>> -3.14" ^(self / aNumber) ceiling * aNumber3('abcdefgh' includesSubstring: 'de' at: 4) >>> truedd2-5u XXXXX323b1232768 bytesCount >>> 29(#(xa xc xz xb xy) isSortedBy: #last ascending) >>> false361000000000000000213@({10. 20} asOrderedCollection add: 30 withOccurrences: 2) >>> 30212zaabcdefgh0112243(#(10 20) asSet copyWith: 30) >>> #(10 20 30) asSet11314.0foo*baz10&atAll: indexArray putAll: valueArray "Store the elements of valueArray into the slots of this collection selected by indexArray." "({#x .#y .#z} atAll: #(1 3) putAll: #(a e); yourself) >>> #(a y e)" indexArray with: valueArray do: [:index :value | self at: index put: value]. ^ valueArrayColor red green >>> 0.012xz13200uNote that there is no way to get the first element that works for all kinds of Collections. Must test every one.01037kIf the receiver is not nil, pass it as argument to the ifNotNilBlock block. else execute the nilBlock block301-211437Tests-unix-64-DrTests-TestCoverage-Tests-Mocks-Test.xml413 self := selfwAnswer a copy of the receiver containing all but the last n elements. Raise an error if there are not enough elements.bifNil: nilBlock ifNotNil: ifNotNilBlock "If the receiver is not nil, pass it as argument to the ifNotNilBlock block. else execute the nilBlock block" "Might be compiled inline for speed, see RBMessageNode>>#isInlineIfNil" "(nil ifNil: [42] ifNotNil: [:o | o +3 ] ) >>> 42" "(3 ifNil: [42] ifNotNil: [:o | o +3 ]) >>> 6" ^ ifNotNilBlock cull: self@Pairwise sum of two sequenceable collections of the same length.213e:.(Color h: 0 s: 1 v: 1 alpha: 1) >>> Color red 1asLowercase "Answer a String made up from the receiver whose characters are all lowercase." "'PhaRo' asLowercase >>> 'pharo'" "'' asLowercase >>> ''" "' ' asLowercase >>> ' '" ^ self copy asString translateToLowercase foo*baz*zort44(#(1 3) anySatisfy: [ :each | each even ]) >>> false0({3. 9. 1} sort: [:a :b | a >= b ]) >>> #(9 3 1)100book-result/W01-Welcome4"100000000 decimalDigitLength >>> 94 Five is {1}.157b3(#(2 4) allSatisfy: [ :each | each even ]) >>> truebl({10. 20} asOrderedCollection add: 30 withOccurrences: 2; yourself) >>> {10. 20. 30. 30} asOrderedCollectionwisControlOther "Return whether the receiver is one of these characters: backspace, delete, escape, arrowUp, arrowLeft, arrowDown, arrowRight, pageUp, pageDown, end, home, nbsp, insert" "Character delete isControlOther >>> true" "Character backspace isControlOther >>> true" "Character space isControlOther >>> false" "Character home isControlOther >>> true" "Character pageUp isControlOther >>> true" "Character arrowDown isControlOther >>> true" "Character end isControlOther >>> true" "$) isControlOther >>> false" "$> isControlOther >>> false" "$} isControlOther >>> false" ^ self characterSet isControlOther: self10;;fold: binaryBlock "Alias of Collection>>reduce" "Evaluate the block with the first two (or more) elements of the receiver, then with the result of the first evaluation and the next element, and so on. Answer the result of the final evaluation. If the receiver is empty, raise an error. If the receiver has a single element, answer that element." "( #('if' 'it' 'is' 'to' 'be' 'it' 'is' 'up' 'to' 'me') fold: [:a :b | a, ' ', b] ) >>> 'if it is to be it is up to me'" ^self reduce: binaryBlock[:a b]runningMin: aSubsetSize "Running min. See the comment of self >> #running:of: for more information." "(#(1 1 2 2 3 3) runningMin: 3) >>> {1 . 1 . 2 . 2}" ^ self running: [ :subset | subset min ] of: aSubsetSizeGPairwise difference of two sequenceable collections of the same length.1RReturn all the elements in self that are not in aCollection. Alias of difference:40000000000000000001XX XX n XXXX n X X144541 + 2 }0011,foo | a | a := 1. ^ [ :a | a ] value: 10 + a3101005uEvaluating disjunction (OR). Evaluate the argument. Then answer true if either the receiver or the argument is true.XX 001000223 XXX20aa30:B :XX02(#(1 1 2 2 3 3) runningMin: 3) >>> {1 . 1 . 2 . 2}zAnswer whether the receiver sorts after or equal to aString. The collation order is simple ascii (with case differences).1021phuro.(#(2 3 4 5 5 6) copyWithout: 5) >>> #(2 3 4 6)040200342100VAnswer a copy of the receiver that does not contain any elements equal to oldElement.303{The material conditional, also known as the material implication or truth functional conditional. Correspond to not ... or ... and does not correspond to the English if...then... construction. known as: b if a a implies b if a then b b is a consequence of a a therefore b (but note: 'it is raining therefore it is cloudy' is implication; 'it is autumn therefore the leaves are falling' is equivalence). Here is the truth table for material implication: p | q | p ==> q -------|-------|------------- T | T | T T | F | F F | T | T F | F | T , 3210.01221923(1 to:10 by:2) size >>> 55161 sorted "Return a new sequenceable collection which contains the same elements as self but its elements are sorted in ascending order using the #'<=' operator." "#(8 5 3 9) sorted >>> #(3 5 8 9)" "#(a b z d) sorted >>> #(a b d z)" ^self sorted: [ :a :b| a <= b ]100hello015Point[1,/*comment*/2]1d1d140\(#(1 2 3 3 4 1 2 3 3 5 6) splitOn: #(3 3)) >>> #(#(1 2) #(4 1 2) #(5 6)) asOrderedCollection^ @d1{guarded "Return a positive nonzero extent." "(100@200) guarded >>> (100@200)" "(0@5) guarded >>> (1@5)" ^self max: 1@141011ollhe10This statement is true!('aa' compare: 'ab') >>> 10Unmatched " in comment.#( #[ 0 1000 2 ] )4hslSaturation "Return the HSL saturation of this color, a value between 0.0 and 1.0." "Color red hslSaturation >>> 1.0" "(Color r: 0.5 g: 0.5 b: 1) hslSaturation >>> 1.0" | chroma | chroma := self chroma. "Chroma is zero for black and white, which are the two cases of division by zero below." chroma isZero ifTrue: [ ^ chroma ]. ^ chroma / (1.0 - (self lightness * 2.0 - 1.0) abs) this string will be trimmed 113414 #(8 5 3 9) sorted >>> #(3 5 8 9)Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If found, evaluate actionBlock with the found element as argument If no matching element is found, evaluate exceptionBlock, with the 'bounding' elements or nil as arguments.-0.5b41520313039(#(10 20 30 40 50) findLast: [ :each | each > 60 ]) >>> 0b2W(#(10 20 10) asOrderedCollection remove: 10; yourself) >>> #(20 10) asOrderedCollection41WJust like do: except that the iteration index supplies the second argument to the block[ | a a | a := 10. a ]F(1 milliSecond + 2 nanoSeconds) printString >>> '0:00:00:00.001000002'85200.9117groupedBy: aBlock having: aSelectionBlock "Like in SQL operation - Split the recievers contents into collections of elements for which keyBlock returns the same results, and return those collections allowed by selectBlock." "In the following example, the group `3->#(34)` is filtered out because there is not 2 elements." "(#(1 5 21 28 34) groupedBy: [:x| x // 10] having: [:v| v size = 2]) >>> {0->#(1 5). 2->#(21 28)} asOrderedDictionary" ^ (self groupedBy: aBlock) select: aSelectionBlock 'def' >>> false24$Here123should%Be6TheName6OfTheMethod)Color black rgbTriplet >>> #(0.0 0.0 0.0)XX XX n XX# n X X1F('Hello' detect: #isLowercase ifFound: #uppercase ifNone: [$X]) >>> $E14001true not >>> falsezmin "Answer a number that is the minimum of the x and y of the receiver." "(100@200) min >>> 100" ^ self x min: self y00mobazoDAnswer a Set whose elements are the unique elements of the receiver..00777777DDD88EEE999999999FFFAAAGGGBBHHHCCCIII040bindexOf: anElement startingAt: start ifAbsent: exceptionBlock "Answer the index of the first occurrence of anElement after start within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock." "(#(a b c d e) indexOf: #c startingAt: 2 ifAbsent: 7) >>> 3" "(#(a b c d e) indexOf: #c startingAt: 4 ifAbsent: 7) >>> 7" start to: self size do: [:index | (self at: index) = anElement ifTrue: [^ index]]. ^ exceptionBlock value661030h(#(2 2 3 3 4 1 2 3 3 5) splitOn: [:each | each > 3])>>> #(#(2 2 3 3) #(1 2 3 3) #()) asOrderedCollection0vector0504.(#(1 2 3 4) intersection: #(3 4 5)) >>> #(3 4)9Perform an action specified as aBlock (with a start and end argument) to each of the indices of aSequenceableCollection that have been identified by taking the receiver as a splitter.1That is false!28|Try to find a number somewhere in this string, as explained in Number>readFrom: this method returns the first number founda0.0 nothing to do,Tests-unix-64-ClassAnnotation-Tests-Test.xml31111middle "Answer the middle element of the receiver." "#(a b c d e) middle >>> #c" "#(a b c d) middle >>> #c" ^ self at: self size // 2 + 19 \\ -4 >>> -38Tests-unix-64-Microdown-RichTextPresenter-Tests-Test.xml100.02includes: anObject "Answer whether anObject is one of the receiver's elements." "(#(1 2 2 3 1 1 1) asBag includes: 5) >>> false" "(#(1 2 2 3 1 1 1) asBag includes: 1) >>> true" ^ contents includesKey: anObject1Answer the element at my position index. If I do not contain an element at index, answer the result of evaluating the argument, exceptionBlock.E([:x :y :z | x + y + z] valueWithPossibleArgs: #( 13 12 15)) >>> 40 foo23bazo30Return the index of the argument in the receiver, only elements after the start of the element are considered zero if not present.Extract a selector with keyword parts from the receiver. While this doesn't give a true parse, in most cases it does what we want, in where it doesn't, we're none the worse for it.30afoodezortorfoo3zort7noneSatisfy: aBlock "Evaluate aBlock with the elements of the receiver. If aBlock returns false for all elements return true. Otherwise return false" "(#(2 4 6) noneSatisfy: [:x|x odd]) >>> true" "(#(1 2 3) noneSatisfy: [:x|x odd]) >>> false" "('hello!' noneSatisfy: #isUppercase) >>> true" "('hello!' noneSatisfy: #isLetter) >>> false" "(#() noneSatisfy: ['oops']) >>> true" self do: [:item | (aBlock value: item) ifTrue: [^ false]]. ^ true180:B :B01 ######X#####'(1 to: 10) asOpenInterval >>> (2 to: 9)That is false!cyyyymmdd "Format the date in ISO 8601 standard like '2002-10-22' The result is of fixed size 10 characters long.." "(Date year: 2018 month: 9 day: 28) yyyymmdd >>> '2018-09-28'" ^ String new: 10 streamContents: [ :aStream | self printOn: aStream format: #(3 2 1 $- 1 1 2) ]301###'6013 0000000000 XX n X n XO(#(1 2 3) asOrderedCollection collect: [ :v | v * 10 ]) asArray >>> #(10 20 30)0vector450do: aBlock without: anItem "Enumerate all elements in the receiver. Execute aBlock for those elements that are not equal to the given item" "Refer to the comment in Collection|do:." "(Array streamContents: ([:stream | #(1 2 3) do: [:each | stream nextPut: (each + 10)] without: 2])) >>> #(11 13)" 1 to: self size do: [:index | anItem = (self at: index) ifFalse:[aBlock value: (self at: index)]]cAnswer whether the receiver begins with the given prefix string. The comparison is case-sensitive.2?(STON fromString: '#foo : 100') class >>> STON associationClass#( )10isInitialQuote "Return whether the receiver is https://www.compart.com/en/unicode/category/Pi" "$' isInitialQuote >>> false" ^ self characterSet isInitialQuote: self10sAnswer whether the receiver sorts equally as aString. The collation order is simple ascii (with case differences).3G((2989 storeStringBase: 16) copyFrom: 4 to: 6) , ' boy!' >>> 'BAD boy!'430d-1@foo:510n sssss n0XsssThis statement is false!2Answer the index of the receiver's first element, such that that element equals the first element of sub, and the next elements equal the rest of the elements of sub. Begin the search at element start of the receiver. If no such match is found, answer the result of evaluating argument, exceptionBlock.10ab cd ab ef ab,Tests-unix-64-FileSystem-Core-Tests-Test.xmlgReturns whether the receiver is composed entirely of separators i.e., a space, tab, lf, cr, and newPagepwnLOL32Answer whether the receiver contains any elements.200Tests-unix-64-HeuristicCompletion-Tests-Test.xml12alolTAdd new empty slots to the end of array, while keeping the empty slots at the front.world"$_ isConnectorPunctuation >>> true3 001022230|Answer the set theoretic intersection of two collections. Optimized version for Sets where no intermediate Set is necessary15,#((1 5 1) (2 3 3) (4 7 2)) sum >>> #(7 15 6)0foozo7printShowingDecimalPlaces: placesDesired "Print the receiver showing precisely the given number of places desired. If placesDesired is positive, a decimal point and that many digits after the decimal point will always be shown. If placesDesired is zero, a whole number will be shown, without a decimal point. Here are some examples:" "(23 printShowingDecimalPlaces: 2) >>> '23.00'" "(23.5698 printShowingDecimalPlaces: 2) >>> '23.57'" "(-234.567 printShowingDecimalPlaces: 5) >>> '-234.56700'" "(23.4567 printShowingDecimalPlaces: 0) >>> '23'" "(-23.4567 printShowingDecimalPlaces: 0) >>> '-23'" "(100000000 printShowingDecimalPlaces: 1) >>> '100000000.0'" "(0.98 printShowingDecimalPlaces: 5) >>> '0.98000'" "(-0.98 printShowingDecimalPlaces: 2) >>> '-0.98'" "(2.567 printShowingDecimalPlaces: 2) >>> '2.57'" "(-2.567 printShowingDecimalPlaces: 2) >>> '-2.57'" "(0 printShowingDecimalPlaces: 2) >>> '0.00'" ^String new: placesDesired + 10 streamContents: [:aStream | self printOn: aStream showingDecimalPlaces: placesDesired]1dPerform an action specified as aBlock (with a start and end argument) to each of the indices of the receiver element that have been identified by splitting the receiver using the splitter argument. splitter - can be a subsequence, a Block or a Regex (String receiver only). Any other object used as a splitter is treated as an Array containing that object.d7(#(a b c d e) indexOfAnyOf: #(x y c) ifAbsent: 7) >>> 30-('abcdefgh' includesSubstring: 'de') >>> truePut anObject in all indexes between startIndex and endIndex. Very fast. Faster than to:do: for more than 26 positions. Answer anObject30^ a0-1010-10 hexString >>> '-16rA'a0303b226n"""uuuu uuuuu uuu uuuu"""uuuuu"""uuuuuuuuuuu""" 100000000546888333A9992BDDD111E0000FFHHHfear is1215V( #('string1' #('string2' 'string3')) flattened ) >>> #('string1' 'string2' 'string3')4.011025e'Tests-unix-64-CodeImport-Tests-Test.xmlallButFirstDo: aBlock "Executes aBlock on each of the receiver's elements except for the first one" "(Array streamContents: [:stream | #(1 2 3) allButFirstDo: [:each | stream nextPut: (each + 10)]]) >>> #(12 13)" 2 to: self size do: [:index | aBlock value: (self at: index)]10#foo keywords >>> #('foo')-2.356194490192345-3.15two630Missing opener for closer: )12sorted "Return a new sequenceable collection which contains the same elements as self but its elements are sorted" "#(3 1 4 2) sorted >>> #(1 2 3 4)" "'hello' sorted >>> 'ehllo'" "(10 to: 1 by: -2) sorted >>> (2 to: 10 by: 2)" ^self asArray sorted510VConvert to CamelCase, i.e, remove spaces, and convert starting lowercase to uppercase.put: object onStream: writeStream "Write the STON serialization of object to the character writeStream" "(String streamContents: [ :out | STON put: 1@2 onStream: out ]) >>> 'Point[1,2]'" "FileLocator temp / ('{1}.ston' format: { Time millisecondClockValue }) in: [ :file | file writeStreamDo: [ :out | STON put: 1@2 onStream: out ]. file readStreamDo: [ :in | STON fromStream: in ] ]" (self writer on: writeStream) nextPut: object115 Not found8Return a new sequenceable collection which contains the same elements as self but its elements are sorted by aSortBlockOrNil. The block should take two arguments and return true if the first element should preceed the second one. If aSortBlock is nil then <= is used for comparison.4'a := a. [ :a | | a a | . := a ]. a := a!foo: x bar: y "d" "e" ^ x "f" "g"VifNotNil: ifNotNilBlock ifNil: nilBlock "If the receiver is not nil, pass it as argument to the ifNotNilBlock block. else execute the nilBlock block" "Might be compiled inline for speed, see RBMessageNode>>#isInlineIfNil" "(nil ifNotNil: [:o | o +3 ] ifNil: [42]) >>> 42" "(3 ifNotNil: [:o | o +3 ] ifNil: [42]) >>> 6" ^ nilBlock valueu u. X 0 :B 0. X X120vector03100indexOf: anElement "Answer the index of the first occurrence of anElement within the receiver. If the receiver does not contain anElement, answer 0." "(#(a b c d e) indexOf: #c) >>> 3" "(#(a b c d e) indexOf: #x) >>> 0" ^ self indexOf: anElement ifAbsent: 01212012 fred the bear:W(String streamContents: [:s| 'abcd' asStringOn: s delimiter: '->']) >>> 'a->b->c->d'20+(#(a b c d e) indexOfAnyOf: #(x y z)) >>> 01('pharo' endsWith: '') >>> true30000000>({ 2@6 . -4@3 . 10@ -3 } detectMin: [ :p | p y ]) >>> (10@ -3)7 ppp <<<<< X 000022222666520((3 to: 9 by: 2) allSatisfy: #isPrime) >>> false5001021(1 to: 10 by: 2) stop >>> 10_Return true if both of my x and y coordinates are represented by float values, otherwise false120000100nsXnalG(#('abc' 'de' 'fghi') sorted: #size ascending) >>> #('de' 'abc' 'fghi')31 aa bb cc dd6 slowFactorial >>> 720evalueWithPossibleArgs: anArray "Execute the receiver with the correct number of arguments taken from the argument." "([:x | x + 1] valueWithPossibleArgs: #( 13 12 15)) >>> 14 " "([:x :y | x + y] valueWithPossibleArgs: #( 13 12 15)) >>> 25 " "([:x :y :z | x + y + z] valueWithPossibleArgs: #( 13 12 15)) >>> 40 " "([:x :y :z | x + y + z] valueWithPossibleArgs: #( 13 12 15)) >>> 40 " ^numArgs = 0 ifTrue: [self value] ifFalse: [self valueWithArguments: (numArgs = anArray size ifTrue: [anArray] ifFalse: [numArgs > anArray size ifTrue: [anArray, (Array new: numArgs - anArray size)] ifFalse: [anArray copyFrom: 1 to: numArgs]])]12113123114-93& aBoolean "Evaluating conjunction -- answer false since receiver is false." "false & true >>> false" "false & false >>> false" ^self'foo10' endsWithDigit >>> true3true asBit >>> 1 100000000-1Answer the index'th element of the receiver. If index is out of bounds, let it wrap around from the end to the beginning until it is in bounds.%Answer the factorial of the receiver.(Array streamContents: [:stream | #(10 20) paddedWith: #(40 50 60) do: [:a :b | stream nextPut: {a. b} ]]) >>> #(#(10 40) #(20 50) #(nil 60))((#(10 20 30) includesAny: #()) >>> false>> 1" "1 slowFactorial >>> 1" "2 slowFactorial >>> 2" "3 slowFactorial >>> 6" "4 slowFactorial >>> 24" "5 slowFactorial >>> 120" "6 slowFactorial >>> 720" self > 0 ifTrue: [ ^ self * (self - 1) slowFactorial ]. self = 0 ifTrue: [ ^ 1 ]. self error: 'Not valid for negative integers'1 01002b0022300100.1\flatCollect: aBlock as: aCollectionClass "Evaluate aBlock for each of the receiver's elements and answer the list of all resulting values flatten one level. Assumes that aBlock returns some kind of collection for each element. Equivalent to the lisp's mapcan" "(#(1 2 3) flatCollect: [:each | { each. each+1 } ] as: Set) >>> #(1 2 3 4) asSet" "(#(65 66 67) flatCollect: [:each | { each asCharacter. each asCharacter asLowercase } ] as: String) >>> 'AaBbCc'" | col | col := OrderedCollection new: self size. self do: [ :each | col addAll: (aBlock value: each) ]. ^ aCollectionClass withAll: col24 foo 10711a := 035Optimized version of Collection>>#reject:thenCollect: | | . a: | 13a(Answer the integer nearest the receiver. hello world('foo' match: 'Foo') >>> true<(10 storeStringBase: 16 length: 6 padded: true) >>> '16r00A'1$(#() anySatisfy: [ true ]) >>> false27 September 2018IMPLEMENTATION NOTE: following algorithm is optimized in primitive only in case self and suffix are bytes like. Otherwise, if self or suffix are wide strings, then slow version with asLowercase convertation, (primitive is not correct for wide strings)020Eformat: collection "Format the receiver by interpolating elements from collection, as in the following examples:" "('Five is {1}.' format: { 1 + 4}) >>> 'Five is 5.'" "('Five is {five}.' format: (Dictionary with: #five -> 5)) >>> 'Five is 5.'" "('In {1} you can escape \{ by prefixing it with \\' format: {'strings'}) >>> 'In strings you can escape { by prefixing it with \' " "('In \{1\} you can escape \{ by prefixing it with \\' format: {'strings'}) >>> 'In {1} you can escape { by prefixing it with \' " ^ self species new: self size streamContents: [ :result | | stream | stream := self readStream. [ stream atEnd ] whileFalse: [ | currentChar | (currentChar := stream next) == ${ ifTrue: [ | expression index | expression := stream upTo: $}. index := Integer readFrom: expression ifFail: [ expression ]. result nextPutAll: (collection at: index) asString ] ifFalse: [ currentChar == $\ ifTrue: [ stream atEnd ifFalse: [ result nextPut: stream next ] ] ifFalse: [ result nextPut: currentChar ] ] ] ]allSentMessagesis errorhello1'""" 0 """ | """ T """ T """ | """ 0 """1024ifNotNil: aBlock "If the receiver is not nil, pass it as argument to the block." "Might be compiled inline for speed, see RBMessageNode>>#isInlineIfNil" "(2 ifNotNil: [ :o | o + 3]) >>> 5" "(nil ifNotNil: [:o | o +3 ]) >>> nil" ^ self2043,select: aBlock "Optimized version of Collection>>#select:" "(#(1 2 3 4) select: [:each | each > 2 ]) >>> #(3 4)" | each | ^ self species new: self size streamContents: [ :stream| 1 to: self size do: [ :index | (aBlock value: (each := self at: index)) ifTrue: [ stream nextPut: each ]]]6ppp ^ 0 | T | t n. 1 :B | b 1 ssssss nn s t 0 sssss0-4wsecond "1 second printString >>> '0:00:00:01'" "(1 minute + 1 second) printString >>> '0:00:01:01'" ^ self secondsfoobaz312 4foo: 1[ ^ 1 ]0:Tests-unix-64-SystemCommands-MethodCommands-Tests-Test.xmlX ufrom: startIndex to: endIndex put: anObject "Put anObject in all indexes between startIndex and endIndex. Very fast. Faster than to:do: for more than 26 positions. Answer anObject" "({#a. #b. #c. #d. #e} from: 3 to: 4 put: #x; yourself) >>> #(a b x x e)" | written toWrite thisWrite | startIndex > endIndex ifTrue: [^self]. self at: startIndex put: anObject. written := 1. toWrite := endIndex - startIndex + 1. [written < toWrite] whileTrue: [ thisWrite := written min: toWrite - written. self replaceFrom: startIndex + written to: startIndex + written + thisWrite - 1 with: self startingAt: startIndex. written := written + thisWrite ]. ^anObjectc0vector0strings10028 August 2018d810.8 3 odd >>> true:Answer whether anObject is one of the receiver's elements.02x200 1 n n n 1 08(-234.567 printShowingDecimalPlaces: 5) >>> '-234.56700'14201820041Answer an instance of me containing the same associations as the argument. If the same key appears twice, the last one enumerated will win3 100000000.0-43'''h''' withoutQuoting >>> 'h'042-1(false and: [true]) >>> false-('pharo' endsWith: 'project-pharo') >>> false31pppp X 347{10@20. 30@0} / {1@3. 4.0@1} >>> {(10@(20/3)). (7.5@0)}foo < bar: 1 > @591 *- 1 + 1 -- 1 + 1 - -1 XXXXXXXXXXXATests-unix-64-Calypso-SystemPlugins-Traits-Queries-Tests-Test.xmleEvaluate the elementBlock for all elements in the receiver, and evaluate the separatorBlock between.?(Context tallyInstructions: [3.14159 printString]) size >>> 120;'234znak ::x43 ) :2' asValidSelector >>> #v234znak:x43:v2135:Helper to tranform any `do:`-like method into a generator.30#(:="A"aa:="B":=="C"cc:=="D")1#(a b c) asOrderedCollection asArray >>> #(a b c)6onefalse ==> [false] >>> truede22/('pharo' beginsWith: 'pharo-project') >>> falsea00vector02 goodby: my: 4two2Unknown annotation1foo: a x: a y: b [ :a :a :b | | a a b | a + a + b2In strings you can escape { by prefixing it with \422true & false >>> false1 -9//4 >>> -32810243((Color colorFrom: #blue)>>> (Color blue)3109a!#(a b c d e f g h ) fourth >>> #d1addMonths: monthCount "((Date year: 2018 month: 9 day: 28) addMonths: 3) printString>>> '28 December 2018'" |year month maxDaysInMonth day | year := self year + (monthCount + self monthIndex - 1 // 12). month := self monthIndex + monthCount - 1 \\ 12 + 1. maxDaysInMonth := Month daysInMonth: month forYear: year. day := self dayOfMonth min: maxDaysInMonth. ^ Date year: year month: month day: day3200'PhaRo' asLowercase >>> 'pharo'4018${1@ -2. -4@0} abs >>> {(1@2). (4@0)}V{'two' ->2. 'one' -> 1} asDictionary >>> (Dictionary with: 'one' -> 1 with: 'two' ->2)5^Append the elements of the argument, aSequenceableCollection, separating them by the receiver.mcloseTo: aSequenceableCollection precision: aPrecision "Return true if all my elements are close to the elements of same index of the parameter with a certain precision" "(#(1.9283 2.3029) closeTo: #(1.9284 2.3028) precision: 0.001) >>> true" self with: aSequenceableCollection do: [ :a :b | (a closeTo: b precision: aPrecision) ifFalse: [ ^ false ] ]. ^ true nil := nil4 slowFactorial >>> 24 Xuuuuuu Xuu 23.456720e0one1 Not found20 -1 3344435553MPrint elements on a stream separated with a delimiter String like: 'a, b, c'1002/{0@1. 2@3} * {10@20. 30@0} >>> {(0@20). (60@0)}1050seconds "2 seconds printString >>> '0:00:00:02'" "(1 minute + 2 seconds) printString >>> '0:00:01:02'" ^ Duration seconds: self('ab' compare: 'aa') >>> 312! foo: arg bar: arr ^ arg + arr . 9420015KasInteger "Answer 1 since receiver is true." "true asInteger >>> 1" ^ 10<<<< true). Prefer using Symbol>>#keywordsStrict if you're not sure if the reciever is keyword-based." "#foo: keywords >>> #('foo:')" "#foo:bar: keywords >>> #('foo:' 'bar:')" "#foo keywords >>> #('foo')" "Invalid input/output !" "#+ keywords >>> #('+')" "Invalid input/output !" | keywords | keywords := Array streamContents: [ :kwds | | kwd | kwd := (String new: 16) writeStream. self do: [ :char | kwd nextPut: char. char = $: ifTrue: [ kwds nextPut: kwd contents. kwd reset ] ]. kwd position = 0 ifFalse: [ kwds nextPut: kwd contents ] ]. ^ keywords -Tests0vector0BEnumerate the receiver with all the keys (aka indices) and values.4aBc+('abc' sameAs: 'aBc' asWideString) >>> truerBuild an instance of the receiver by writing elements to a stream. More specifically: blockWithArg will be given a WriteStream on an instance of the receiver. Inside blockWithArg you write elements to the stream to build up the collection. At the end, the contents of the stream up to that point will be returned. Note that the underlying collection grows as needed.(#(1 'fred' 2 'charlie' 3 'elmer') pairsCollect: [:a :b | b, ' is number ', a printString]) >>> #('fred is number 1' 'charlie is number 2' 'elmer is number 3')+('hello!' noneSatisfy: #isLetter) >>> falseT(#(10 20) asSet fillFrom: 'ABC' with: [:x|x asciiValue]) >>> #(10 20 65 66 67) asSet1-1"A" - 1abs-1"B" - 1max:-1"C"#(10 20 30) sum >>> 6025inject: thisValue into: binaryBlock "Accumulate a running value associated with evaluating the argument, binaryBlock, with the current value of the argument, thisValue, and the receiver as block arguments." "Look at Collection>>reduce: for a related method." "(#(2r101 2r11 2r1000) inject: 0 into: [ :acc :each | acc bitXor: each ]) >>> 2r1110" "(#(10 20 30) inject: 0 into: [ :sum :each | sum + each ]) >>> 60" "But use sum or sum: instead!" "#(10 20 30) sum >>> 60" "(#(10 20 30) inject: OrderedCollection new into: [ :a :e | a add: (e + 1). a ]) >>> #(11 21 31) asOrderedCollection" "But use collect: or collect:as: instead!" "(#(10 20 30) collect: [:e| e+1]) >>> #(11 21 31)" | nextValue | nextValue := thisValue. self do: [:each | nextValue := binaryBlock value: nextValue value: each]. ^nextValue.00######"""##"""#########"""###"""##"""###"""01@(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 11 - arg ]) >>> 54002#'a''b' isAllAlphaNumerics >>> false*(#(1 2 3) reduce: [ :a :b | a + b ]) >>> 6200[Print the receiver's path on aStream (without 'Path' prepended) using the default delimiter50vector022 0($b > $c) asBit>>> 042120+ 23310abc&('foo*baz' match: 'foo23baz') >>> true20r(#(1 1 1 10 10 10 100 100 100) groupsOf: 3 atATimeCollect: [ :x | x ]) >>> #(#(1 1 1) #(10 10 10) #(100 100 100)) 2-3.14334328{ 1. 2 }010.02threeit'em9301T(Dictionary newFrom: {1->#a. 2->#b. 3->#c}) >>> ({1->#a. 2->#b. 3->#c} asDictionary)15#+ asTestSelector >>> #testPlus'''''cc30Xsuuu Pharo is cool, 13(#(x y z) atLast: 2) >>> #yfoo: Object ^ Object + 1g20G({#xa. #xc. #xz. #xb. #xy} sort: #last ascending) >>> #(xa xb xc xy xz)1 a: foo/2 milliSeconds printString >>> '0:00:00:00.002'622.567XXXpppp AAAA ^ aaaa s n102111subtractDays: dayCount "((Date year: 2018 month: 9 day: 28) subtractDays: 1) printString >>> '27 September 2018'" ^ (self asDateAndTime - (dayCount days)) asDate1(2 raisedTo: 8) >>> 256 555 0066601 777 T{ 1->2. 3->4 } asDictionary >>> (Dictionary new at: 1 put: 2; at: 3 put:4; yourself)1205[(String streamContents: [ :s | -10 printOn: s base: 10 length: 4 padded: true] ) >>> '-010'30 printStringHex >>> '1E'2019210arcTan: denominator "Answer the angle in radians. Implementation note: use sign in order to catch cases of negativeZero" "(-0.5 arcTan: -0.5) >>> -2.356194490192345" "(1.2 arcTan: 1.5) >>> 0.6747409422235526" "(1.2 arcTan: -1.5) >>> 2.4668517113662407" ^ self = 0.0 ifTrue: [denominator signBit = 0 ifTrue: [ 0 ] ifFalse: [ self signBit = 0 ifTrue: [ Pi ] ifFalse: [ Pi negated ]]] ifFalse: [denominator = 0.0 ifTrue: [self > 0.0 ifTrue: [ Halfpi ] ifFalse: [ Halfpi negated ]] ifFalse: [denominator > 0 ifTrue: [ (self / denominator) arcTan ] ifFalse: [self > 0 ifTrue: [ ((self / denominator) arcTan) + Pi ] ifFalse: [ ((self / denominator) arcTan) - Pi ]]]]11101-SmallInteger maxVal decimalDigitLength >>> 19(Character euro isCurrencySymbol >>> true47;2#[ ^ 1 ]fghitwo5Evaluate aBlock with each of the receiver's elements as the argument. If some element evaluates aBlock to true, then cull this element into foundBlock and answer the result of this evaluation. If none evaluate to true, then evaluate exceptionBlock. 0001022203001x a, b, c and d(24 min: 20 max: 5) >>> 20000000020copyWithoutAll: aCollection "Answer a copy of the receiver that does not contain any elements equal to those in aCollection." "('fred the bear' copyWithoutAll: 'aeiou ') >>> 'frdthbr'" "(#(2 3 4 5 5 6 2) copyWithoutAll: (4 to: 10)) >>> #(2 3 2)" ^ self reject: [:each | aCollection includes: each]16 between: 0false ==> [true] >>> true1.25 reciprocal >>> 0.819HExecute the receiver with one or two arguments depending on the receiver#1r0u u. X X X. X X12zk cd zk ef zkactionsVAnswer the index of the first occurrence of any element included in aCollection after start within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock. Note: it is user responsibility to provide aCollection that behaves relatevily fast when asked for includes: (like a Set)2lviPoint isClassSide >>> false1-198 ppp <<<<>> true1052. foo: arg ^ ( ( ( ( arg ) ) + ( ( 1 ) ) ) ) . 02-611.0| a | [ ^ a ]. a := 10234330L('Hello, World!' select: #isLetter thenCollect: #uppercase) >>> 'HELLOWORLD'13oops (50 to: 10 by: -5) anyOne >>> 501(#(1 5 10) findFirst: [ :each | each > 3 ]) >>> 2 -234.56700 hello worldc1143a510"pppp AAAAAAAAAAA ^ aaaaaaaaaaa s n10Z{ 1. 2. 3 } asOrderedCollection >>> (OrderedCollection new add: 1; add:2; add:3; yourself)#hello. #world' ' asLowercase >>> ' '012(((100@200) max: (330@400)) >>> (330@400)SNote: By convention, brightness is abbreviated 'v' to to avoid confusion with blue.=([{} median] on: CollectionIsEmpty do: [ 'oops' ]) >>> 'oops'0v(String streamContents: [:s| { 10. 'hello'. $x } printOn: s delimiter: ', ' last: ' & ']) >>> '10, ''hello'' & $x'41abc:('pharo' endsWith: 'phuro' caseSensitive: false) >>> false2>> 'That is false!'" ^falseAlternativeBlock value2'bar' asSortedCollection asArray >>> {$a. $b. $r}.eHello!%'isSymbol' findSelector >>> #isSymbolendsWithDigit "Answer whether the receiver's final character represents a digit." "'foo10' endsWithDigit >>> true" "'foo10foo' endsWithDigit >>> false" "'foo1' endsWithDigit >>> true" ^ self notEmpty and: [self last isDigit]2018twohexString "Returns a string representation of the receiver as hexadecimal, prefixed with 16r." "Consider using any of printStringHex printStringBase: 16 printStringBase: 16 length: 8 padded: true storeStringHex storeStringBase: 16 storeStringBase: 16 length: 11 padded: true" "12 hexString >>> '16rC'" "10 hexString >>> '16rA'" "-10 hexString >>> '-16rA'" ^ self storeStringBase: 16hn u n2410This statement is true!11.#(aa:bb:"A"cc"B"#aa:bb:cc"C"#cc"D"++"E"#++"F")10150/0777000000888030999000000III0A0JJJ0CCGGGCD0HHH0022 between: 0 and: 41y0vector012551X X X6(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 25 - arg ] ifNone: [ :a :b | 'over index: ', a printString ]) >>> 'over index: 7' KReturns the reciprocal of self. In case self is 0 the / signals ZeroDividesAnswer whether the receiver includes, anywhere in its nested structure, a string that has testString as a substring1100111-3(#(e b a d e) lastIndexOf: #a startingAt: 4 ifAbsent: 7) >>> 30foo "a" < "b" bar "c" > "d" < "e" baz "f" > "g" 1pharo3101080:00:00:01.00211a000! A shortcut method for raisedTo: 420.01204 'abc' < 'def' >>> true6#311112004445444778796AAAB4400ECCCCD3c'{1. 2} asSet = {2. 1} asSet >>> true32768((#(a b c d e) identityIndexOf: #c) >>> 310 project-pharo+Tests-unix-64-Refactoring-UI-Tests-Test.xmlW(false ifTrue: [ 'That is true!' ] ifFalse: [ 'That is false!' ]) >>> 'That is false!'-3 odd >>> truezy((2@2) - 200) >>> (-198@ -198)~(OrderedDictionary newFromKeys: #(#x #y) andValues: #(3 6)) >>> (OrderedDictionary new at: #x put: 3; at: #y put: 6 ;yourself);({ 2@6 . -4@3 . 10@ -3 } detectMax: [ :p | p y ]) >>> (2@6)336Returns the instance of myself having aString as name.This implementation is recursive and very canonical. This implementation is intended for demo purposes, but for better performance another version 'factorial' is provided.:::aa1: a1 a2: a2 a3: a3 a4: a4 a5: a5 a6: a6 a7: a7 a8: a8 a9: a9 a10: a10 a11: a11 a12: a12 a13: a13 a14: a14 a15: a15 a16: a16 ^ a1foo a digit between 0 and 1 expected0VNegation. Answer true if the receiver is false, answer false if the receiver is true.identityIndexOf: anElement ifAbsent: exceptionBlock "Answer the index of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock." "(#(a b c d e) identityIndexOf: #c ifAbsent: 7) >>> 3" "(#(a b c d e) identityIndexOf: #x ifAbsent: 7) >>> 7" 1 to: self size do: [:i | (self at: i) == anElement ifTrue: [^ i]]. ^ exceptionBlock valueabcDefgh141$} isControlOther >>> false2do: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. This is the general foreach method, but for most standard needs there is often a more specific and simpler method." "|s| s:=0. #(10 20 30) do: [:each | s := s + each]. s >>> 60" "but use sum or inject:into: instead" "(#(10 20 30) inject: 0 into: [:s :each| s + each ]) >>> 60" "#(10 20 30) sum >>> 60" " (String streamContents: [:s | #('hello' 'the' 'world') do: [:each | s << each]]) >>> 'hellotheworld'" self subclassResponsibilityppp < <<<<>> 'oops'61"Point class instanceSide >>> Point1a0001112131411001Answer whether text matches the pattern in this string. Matching ignores upper/lower case differences. Where this string contains #, text may contain any character. Where this string contains *, text may contain any sequence of characters.f14c2200 100000000000p(#(65 66 67) flatCollect: [:each | { each asCharacter. each asCharacter asLowercase } ] as: String) >>> 'AaBbCc'!""" 0 """ n """ . """ n """ 0 """ | Object | Object := 1. ^ ObjectasBag "Answer a Bag whose elements are the elements of the receiver." "{1. 2} asBag = {2. 1} asBag >>> true" "{1. 2} asBag = {1. 2. 2} asBag >>> false" "{1. 2} asBag = {1. 2. 3} asBag >>> false" "#() asBag = Bag new >>> true" ^ Bag withAll: selfabc>('Pharo is <1s>' expandMacrosWith: 'cool') >>> 'Pharo is cool'30ppp < <<<>> 0#+ keywords >>> #('+')1A man, a plan, a canal, panama(((104 to: 120) detect: #isPrime) >>> 107FFFFFFFile 16r800000002Answer the set theoretic union of two collections.23, 000111213333141100elmer is number 339closeTo: aSequenceableCollection "Return true if all my elements are close to the elements of same index of the parameter" "(#(1.9283901234902349 2.302949083493849) closeTo: #(1.9283901234902348 2.302949083493899)) >>> true" ^ self closeTo: aSequenceableCollection precision: Float defaultComparisonPrecisionD(#(2 3 4 4 5 6) copyWithoutDuplicates asSet) >>> #(2 3 4 5 6) asSet#(-3.1479 roundUpTo: 0.01) >>> -3.143a := a. [ :a [ :a. a := a100[ :a bc7({#x .#y .#z} atLast: 2 put: #e; yourself) >>> #(x e z)3160021113ppp AA ppp AA ppp AA ppp AA ppp AA ppp AA ppp AA ppp AA ppp AA pppp AAA pppp AAA pppp AAA pppp AAA pppp AAA pppp AAA pppp AAA ^ aa2Message pattern expected0vector0a16777215Optimized implementationK(#(1 2 3) asOrderedCollection collect: [ :v | 10 ]) asArray >>> #(10 10 10)<(1000 * 1000 * 1000) humanReadableSISizeString >>> '1.00 GB'[ ^ 1. 2. ^ 3 ](42 decimalDigitAt: 1) >>> 2 3333304444442asize "Answer how many elements the receiver contains." "#(1 2 2 3 1 1 1) asBag size >>> 7" | tally | tally := 0. contents do: [:each | tally := tally + each]. ^ tallyFTests-unix-64-Calypso-SystemPlugins-Deprecation-Queries-Tests-Test.xmlbetween: #(0 1)20vector0 [:a| ||a]10C([0 isEmptyOrNil] on: MessageNotUnderstood do: ['oops']) >>> 'oops'XXnX :. a: foo4'' expandMacros >>> OSPlatform current lineEndingLadaptToCollection: rcvr andSend: selector "If I am involved in arithmetic with another Collection, return a Collection of the results of each element combined with the scalar in that expression. Is used to implement Collection>>+, Collection>>-, etc." "(#(10 20 30) adaptToCollection: #(0 1 2) andSend: #@) >>> {(0@10). (1@20). (2@30)}" (rcvr isSequenceable and: [ self isSequenceable ]) ifFalse: [self error: 'Only sequenceable collections may be combined arithmetically']. ^ rcvr with: self collect: [:rcvrElement :myElement | rcvrElement perform: selector with: myElement]0!Return a positive nonzero extent.1oAnswer whether the receiver sorts before aString. The collation order is simple ascii (with case differences).40foo | tmp | tmp := 1. ^ tmp1asFourCode "'abcd' asFourCode >>> -513645724" "'1111' asFourCode >>> 825307441" "'1234' asFourCode >>> 825373492" | result | self size = 4 ifFalse: [^self error: 'must be exactly four characters']. result := self inject: 0 into: [:val :each | 256 * val + each asciiValue ]. (result bitAnd: 16r80000000) = 0 ifFalse: [ Error signal: 'cannot resolve fourcode' ]. (result bitAnd: 16r40000000) = 0 ifFalse: [ ^ result - 16r80000000 ]. ^ result0foo03100.00 :BBBBB | bbbbb s n 01"2 ** (1/12) >>> 1.0594630943592953xy201812Add the argument, newObject, as an element of the receiver. Put it in the sequence just succeeding oldObject. Answer newObject. Raises an error if oldObject is not foundsixth "Answer the sixth element of the receiver. Raise an error if there are not enough elements." "#(a b c d e f g h i) sixth >>> #f" ^ self at: 6100:(#(a b c d e) indexOf: #c startingAt: 2 ifAbsent: 7) >>> 3202!'x isSymbol' findSelector >>> nil"Character space tokenish >>> falseH(#(1 + 3 - 5) reduceRight: [ :a :op :b | a perform: op with: b ]) >>> -1isUnary "Answer whether the receiver is an unary message selector." "#new isUnary >>> true" "#>> isUnary >>> false" "#between:and: isUnary >>> false" ^ self precedence = 11202018`pathString "Return a string containing the path elements of the receiver, without the 'Path *' part" "((FileSystem workingDirectory / 'book-result' / 'W01-Welcome') relativeToReference: FileSystem workingDirectory) pathString >>> 'book-result/W01-Welcome'" ^String streamContents: [ :stream | self printPathOn: stream delimiter: self delimiter ]QAnswer a new collection with newElement added (as last element if sequenceable).foo < bar: [ 1 ] > Tests-unix-64-Coverage-Test.xmlThis statement is false!3xyOtherwise use logarithms52abcdfAppend the elements of the receiver separating them with the joiner argument and handle the last elment separation using the last argument.2730101.0zz2E(RubTextEditor new surroundString: 'a' withCharacter: $') >>> '''a'''431$a isCasedLetter >>> falsereversed "Answer a copy of the receiver with element order reversed. " "#(2 3 4 'fred') asOrderedCollection reversed >>> #('fred' 4 3 2) asOrderedCollection" | newCol | newCol := self speciesForTransform new: self size. self reverseDo: [ :elem | newCol addLast: elem ]. ^ newCol2r00101000 lowBit >>> 4Variable name expected11601test* 666 00777020888000III0F9HHH9999DDD9A EEE 121Snick@Answer whether the receiver's first character represents a digit[(#(1 3 5 7 11 15 23) findBinary: [ :arg | 24 - arg ] ifNone: ['Not found']) >>> 'Not found'00111110004444422223005566666[ | 5120.0epppp AAAAA ^ aaaaa s n3XXXXXXXXXXXXXXXX| TT | tt n. tt s n13-31.2 001000224Note: to be syntactically valid as an executable comment, there should be exactly one single triple > message send, and it should be the last statement.c146A variant of #streamContents: with a strict size limit2-Tests-unix-64-NewTools-Spotter-Tests-Test.xml#(10 20 30) sum >>> 60%Point class classSide >>> Point class06(0 to: 10 by: 2) last >>> 10120Sort the given range of indices using the mergesort algorithm. Mergesort is a worst-case O(N log N) sorting algorithm that usually does only half as many comparisons as heapsort or quicksort.>> 'zk cd zk ef zk'" | idx | self = oldSubstring ifTrue: [ ^ newSubstring copy ]. oldSubstring isEmpty ifTrue: [ ^ self copy ]. idx := 1. ^ self species new: self size streamContents: [ :stream | | foundIdx | [ (foundIdx := self findString: oldSubstring startingAt: idx) isZero ] whileFalse: [ stream next: (foundIdx - idx) putAll: self startingAt: idx; nextPutAll: newSubstring. idx := foundIdx + oldSubstring size ]. idx <= self size ifTrue: [ stream next: (self size - idx + 1) putAll: self startingAt: idx ] ]tAnswer a copy of the receiver containing all but the last element. Raise an error if there are not enough elements. ( 1 and: 4);(Date year: 2018 month: 9 day: 28) ddmmyyyy >>> '28/9/2018'(1923 roundDownTo: 10) >>> 19204134iAnswer the index of anElement within the receiver. If the receiver does not contain anElement, answer 0.#(#[1 2 0 4] booleanAt: 2) >>> true.K'A man, a plan, a canal, panama' asCamelCase >>> 'AMan,APlan,ACanal,Panama'000is#(3.1479 truncateTo: 0.01) >>> 3.142r1000xAnswer the integer represented by the leading digits of the receiver, or nil if the receiver does not begin with a digit2r51>mmddyyyy "Print the receiver in standard U.S.A format mm/dd/yyyy. Note that the name here is slightly misleading -- the month and day numbers don't show leading zeros, so that for example February 1 1996 is 2/1/96" "(Date year: 2018 month: 9 day: 28) mmddyyyy >>> '9/28/2018'" ^ self printFormat: #(2 1 3 $/ 1 1)2|Retrieve an element with a probability related to the weighting block. The block takes an element as argument and provides a positive number as result (the retative weight). An implicit normalization is performed on all weights. Multiple occurences of equal elements multiply the probability to be choosen. Warning: empty collections and negative weights will signal errors.(8 raisedTo: 2) >>> 64151collect: collectBlock thenReject: rejectBlock "Optimized version of Collection>>#thenReject:" "(#(1 2 3) collect: [:each | each + 10 ] thenReject: [:each | each even]) >>> #(11 13)" | each | ^ self class new: self size streamContents: [ :stream | 1 to: self size do: [:index | each := collectBlock value: (self at: index). (rejectBlock value: each) ifFalse: [ stream nextPut: each ]]]11106Collection size and block argument count do not match.[ :a :b10?Note: Feel free to improve the code to detect the last element.c1(1 hour + 2 minutes) printString >>> '0:01:02:00'.|a| a := #(1 2 3). a asNewArray == a >>> false1000000n uuuuuuu Xuu n1(10.12345 round: 2) >>> 10.12^Xn-16rAwho5Special case of exponent=1104even " 0 even >>> true" " 2 even >>> true" "-2 even >>> true" " 3 even >>> false" "-3 even >>> false" ^(self bitAnd: 1) = 010.160s311 Five is 5.43(Date year: 2018 month: 9 day: 28) monthIndex >>> 900107100(true and: [false]) >>> false452pReturns the keywords of the provided selector. If the receiver is not keyword-based, an empty array is returned.211/Answer how many elements the receiver contains.8copyWithout: oldElement "Answer a copy of the receiver that does not contain any elements equal to oldElement." "('fred the bear' copyWithout: $e) >>> 'frd th bar'" "(#(2 3 4 5 5 6) copyWithout: 5) >>> #(2 3 4 6)" "((10 to: 13) copyWithout: 11) >>> #(10 12 13)" ^ self reject: [:each | each = oldElement]#(3 5 7 7) average >>> (11/2) %(AsciiCharset toUppercase: $!) >>> $!d35[ :self | self + 1 ])Tests-unix-64-Network-Mail-Tests-Test.xml09numberOfCombinationsTaken: k "Return the number of combinations of (self) elements taken k at a time. It is calculated as C(n,k) = n! / (k! (n-k)!) For 6 numberOfCombinationsTaken: 3, this is 6*5*4 / (1*2*3)" "(6 numberOfCombinationsTaken: 3) >>> 20" | numerator denominator | k < 0 ifTrue: [^ 0]. k > self ifTrue: [^ 0]. numerator := 1. self to: (k max: self-k) + 1 by: -1 do: [ :factor | numerator := numerator * factor ]. denominator := 1. 1 to: (k min: self-k) do: [ :factor | denominator := denominator * factor ]. ^ numerator // denominatorfoo23baz(#() writeStreamDo: [ :stream | stream nextPut: '4'; space; nextPutAll: '34'. stream contents ]) >>> {'4'. Character space. $3. $4}1012 hex >>> '16rC'2hello-23 appreciate61 goodby: my: 3 'abc' < 'abc' >>> false'1abc' startsWithDigit >>> true310AReturn the hue of this color, an angle in the range [0.0..360.0].1 13003asByteArray "Answer a ByteArray whose elements are the elements of the receiver. Implementation note: Cannot use ''ByteArray withAll: self'' as that only works for SequenceableCollections which support the replacement primitive." "{1. 2} asByteArray >>> #[1 2]" "#[1 2] asByteArray == #[1 2] >>> true" "'foo' asByteArray >>> #[102 111 111]" "#() asByteArray >>> #[]" | array index | array := ByteArray new: self size. index := 0. self do: [:each | array at: (index := index + 1) put: each]. ^ array,(#(1 2 3) noneSatisfy: [:x|x odd]) >>> false10.01(true xor: [true]) >>> false011b'((100@200) closeTo: (100@200)) >>> trueFoo'Bar330Answer the index of the last occurrence of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock.|piecesCutWhere: binaryBlock "Answer substrings of the receiver derived from cutting the receiver at points where binaryBlock answers true for adjacent elements." "( #(1 2 3 1 6 1 2 3 4) piecesCutWhere: [ :a :b | a = 1 and: [ b = 2]]) asArray >>> #(#(1) #(2 3 1 6 1) #(2 3 4))" | pieces | pieces := OrderedCollection new. self piecesCutWhere: binaryBlock do: [ :piece | pieces add: piece ]. ^pieces "'Now is the time for all good people to come to the aid of the cause of world peace. It is just fine, even desirable, to love your country, if that means wanting it to play a beneficial role in the course of world events and be the best possible example of a good society. But if it means wanting dominion over the rest of the world, it is not love but defensiveness or self-glorification, and will lead only to oblivion.' piecesCutWhere: [:a :b| a = $. and: [b isSeparator]]"31116rDF1150includesSubstring: substring "Returns whether the receiver contains the argument." "('abcdefgh' includesSubstring: 'de') >>> true" ^ substring isEmpty or: [ (self findString: substring startingAt: 1) > 0 ]0.('word before index' wordBefore: 4) >>> 'word'0(1 hour + 1 minute) printString >>> '0:01:01:00'2-01016EWriting '<' character: To write '<', prepend it with a percent sign.:= 23Tests-unix-64-NewTools-CodeCritiques-Tests-Test.xml516Unmatched ' in string literal.001120030044500-16rA3(#(16 17 17 16 18 17 18 19 19 19 18 19 19 20 19 20 19 20 20 20 19 20) groupsOf: 7 atATimeCollect: [ :x | x ]) >>> #(#(16 17 17 16 18 17 18) #(19 19 19 18 19 19 20) #(19 20 19 20 20 20 19))100false := false164 hello worldbetween: #(nil 1)MReturn whether the receiver is https://www.compart.com/en/unicode/category/Pi7#(1 2 2 3 1 1 1) asBag asSet >>> #(1 2 2 3 1 1 1) asSet100.(#(40 41 42) asOrderedCollection at: 2) >>> 413v3whateverEvaluate aBlock with each of the receiver's elements, in reverse order, along with the corresponding element, also in reverse order, from aSequencableCollection. %(-3.1479 roundDownTo: 0.01) >>> -3.150100-0.9//0.4 >>> -32|odd " 0 odd >>> false" " 2 odd >>> false" "-2 odd >>> false" " 3 odd >>> true" "-3 odd >>> true" ^(self bitAnd: 1) = 15"Evaluate aBlock for each of the receiver's elements (key/value associations). If any non-association is within, the error is not caught now, but later, when a key or value message is sent to it. The point of this method it to do the *right thing* on Dictionaries and related classes. | T | ^ tnhue "Return the hue of this color, an angle in the range [0.0..360.0]." "Color red hue >>> 0.0" "(Color r: 0.5 g: 0.5 b: 1) hue >>> 240.0" | r g b max min span h | r := self privateRed. g := self privateGreen. b := self privateBlue. max := (r max: g) max: b. min := (r min: g) min: b. span := (max - min) asFloat. span = 0.0 ifTrue: [ ^ 0.0 ]. h := r = max ifTrue: [ (g - b) asFloat / span * 60.0 ] ifFalse: [ g = max ifTrue: [ 120.0 + ((b - r) asFloat / span * 60.0) ] ifFalse: [ 240.0 + ((r - g) asFloat / span * 60.0) ] ]. h < 0.0 ifTrue: [ h := 360.0 + h ]. ^ hoops"[ :a :a :b | | a a b | a + a + b ]1000000000000000001dc32<({ 2@6 . -4@3 . 10@ -3 } detectMin: [ :p | p x ]) >>> (-4@3)630hello31k1Durstenfeld's version of the Fisher-Yates shufflec20b*(#(1 2 3 4 5) reject: #even) >>> #(1 3 5)3 foo (1 sign: 2) ; bar0001112134415111013 ('Hello' includes: $h) >>> falsefred is number 150b2!"a" { "b" 1 "c" . "d" 2 "e" } "f"20or even Collections#(#(a b c d e) last: 3) >>> #(c d e) 'abc' <= 'abc' >>> truehelThis method adds such decision to concrete kind of local scope which allows to use scopes to restrict visibility of class hierarchyfoo*1102520Returns a string representation of the receiver as hex, prefixed with 16r. DO NOT CHANGE THIS! The Cog VMMaker depends on this.1FSupport collection enumeration with a counter, even though not ordered #foo : 100 . 511.01(Character pageUp isControlOther >>> true-3 even >>> false2a8instanceSide "Return the class of the couple class/metaclass. Useful to avoid explicit test." "Point instanceSide >>> Point" "Point class instanceSide >>> Point" ^ self subclassResponsibilityE(1 milliSecond + 1 nanoSecond) printString >>> '0:00:00:00.001000001' 0:01:02:0012splitOn: splitter indicesDo: aBlock "Perform an action specified as aBlock (with a start and end argument) to each of the indices of the receiver element that have been identified by splitting the receiver using the splitter argument. splitter - can be a subsequence, a Block or a Regex (String receiver only). Any other object used as a splitter is treated as an Array containing that object." "(String streamContents: [:s | 'Pharo is cool' splitOn: Character space indicesDo: [ :start :end | s << 's:' << start asString << ' ' << 'e:' << end asString << ' ' ]]) >>> 's:1 e:5 s:7 e:8 s:10 e:13 '" ^ splitter split: self indicesDo: aBlockAnswer the index of the first occurrence of anElement after start within the receiver. If the receiver does not contain anElement, answer 0.3a1 <1s> vs <1p>1e6110 foo: arg ^ arg min: arg + 2; abs0c 0001020300$('foo*baz' match: 'foobaz') >>> trueb0xAnswer the last element of the receiver. Pay attention, last is not equivalent to stop in certain situations. See below.Return a SortFunction around the receiver, where the receiver will be used as a unary message to send to both a and b during sorting, and then the result of said send will be collated in ascending order using the <=> method.010240.0 000111213141120971 hello: 216rFF9{ ^ 1. 2. ^ 3 }c20/Return a copy with the first letter capitalizeddifference: aCollection "Answer the set theoretic difference of two collections. Pay attention that the difference is not commutative, hence the order is important." "(#(a b c d e f) difference: #(a b z k))>>> #(#c #d #e #f)" "(#(a b z k) difference: #(a b c d e f)) >>> #(#z #k)" "('hello' difference: 'aeiou') >>> 'hll'" | set | set := self asSet removeAllFoundIn: aCollection; yourself. ^ self species withAll: set asArray&(AsciiCharset toLowercase: $a) >>> $a.2uonNextMonth "(Date year: 2018 month: 9 day: 28) onNextMonth printString >>> '28 October 2018'" ^ self addMonths: 1;Convert to a ByteArray with the ascii values of the string.cXXsuuueighth "Answer the eighth element of the receiver. Raise an error if there are not enough elements." "#(a b c d e f g h ) eighth >>> #h" ^ self at: 8#(3.1479 roundDownTo: 0.01) >>> 3.1414 factorial >>> 24 'abc' <= 'def' >>> true1.1. 1E('XXaXbXXcXXXdXX' escapeCharacter: $X) >>> 'XXXXaXXbXXXXcXXXXXXdXXXX'03jAnswer an array of non-empty substrings from the receiver separated by one or more whitespace characters.3172221-(#(10 20 30) includesAny: #(50 40)) >>> false110vector01.0d3Include all the elements of aCollection as the receiver's elements. Answer aCollection. Actually, any object responding to #do: can be used as argument.( 213a100S(#(1 2 3 4) overlappingPairsCollect: [:first :second| first + second]) >>> #(3 5 7)super := super4!""" 0 """ n """ """ n """ 0 """ab* arg "Answer a Point that is the product of the receiver and arg." "((2@2) * (100@200)) >>> (200@400)" "((2@2) * 200) >>> (400@400)" arg isPoint ifTrue: [^ (x * arg x) @ (y * arg y)]. ^ arg adaptToPoint: self andSend: #*242((#(x y z) atLast: 4 ifAbsent: #a) >>> #az (#(a b c d e) indexOf: #c) >>> 320a4111205({10. 20} asSet add: 20; yourself) >>> {10. 20} asSet-4lo423 'elvis ' lastSpacePosition >>> 6CAnswer a number that is the minimum of the x and y of the receiver.10orangehellohello&#(0 1 2) + #(10 20 30) >>> #(10 21 32)[(String streamContents: [ :s | -10 printOn: s base: 10 length: 4 padded: true] ) >>> '-010'298931111200445555555766A88889 Xuuuuuu n uuu n0-2y71Return the object stored in the second dictionary at secondKey. The second dictionary is accessed via the key firstKey. Execute aZeroArgBlock in case one of the key is wrong.3]Answer the last n elements of the receiver. Raise an error if there are not enough elements.30121000?('hello world!' anySatisfy: [ :each | each isLetter ]) >>> true+('Hello, World!' count: #isLowercase) >>> 810sInclude anObject as one of the receiver's elements, but only if there is no such element already. Anwser anObject.between: #(23 nil)This destructively replaces elements from start to stop in the receiver. Answer the receiver itself. Use copyReplaceFrom:to:with: for insertion/deletion which may alter the size of the result.110000 rx2compare: string1 with: string2 collated: order "'abc' = 'abc' asWideString >>> true" "'abc' asWideString = 'abc' >>> true" "(ByteArray with: 97 with: 0 with: 0 with: 0) asString ~= 'a000' asWideString >>> true" "('abc' sameAs: 'aBc' asWideString) >>> true" "('aBc' asWideString sameAs: 'abc') >>> true" "('a000' asWideString ~= (ByteArray with: 97 with: 0 with: 0 with: 0) asString) >>> true" "((ByteArray with: 97 with: 0 with: 0 with: 0) asString sameAs: 'Abcd' asWideString) >>> false" "('a000' asWideString sameAs: (ByteArray with: 97 with: 0 with: 0 with: 0) asString) >>> false" (string1 isByteString and: [ string2 isByteString ]) ifTrue: [ ^ string1 compareWith: string2 collated: order ]. "Primitive does not fail properly right now" ^ String compare: string1 with: string2 collated: order\Answer the fourth element of the receiver. Raise an error if there are not enough elements.10XnX nX100062[ :a | 12d#foo: keywords >>> #('foo:')ATry to match aColorHex with known named colors, case insensitive.; Hello, World!e| 33This statement is true!piecesCutWhere: binaryBlock do: pieceBlock "Evaluate pieceBlock with substrings of the receiver derived from cutting the receiver at points where binaryBlock answers true for adjacent elements." "(Array streamContents: [:stream | #(1 2 3 1 6 1 2 3 4) piecesCutWhere: [ :a :b | a = 1 and: [ b = 2]] do: [:each | stream nextPut: each size]]) >>> #(1 5 3)" | size lastCut this next | (size := self size) <= 1 ifTrue: [size = 1 ifTrue: [pieceBlock value: self]. ^self]. lastCut := 1. this := self at: 1. 2 to: size do: [:i| next := self at: i. (binaryBlock value: this value: next) ifTrue: [pieceBlock value: (self copyFrom: lastCut to: i - 1). lastCut := i]. this := next]. pieceBlock value: (self copyFrom: lastCut to: size):x "Answer the x coordinate." "(100@200) x >>> 100" ^ xwhlorde110vector012018223.0001pharo 8253074412255,((1 to: 10) select: #isPrime) >>> #(2 3 5 7)elmer21x(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 11 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 5308>( #((3 4) (1 2)) flatCollect: [:each | each ] ) >>> #(3 4 1 2)1022?(#(1 2 3) with: #(4 5 6) collect: [:a :b | a + b]) >>> #(5 7 9)-12320AA9#(2 6 7) average >>> 5 -OrderedCollection new asArray class >>> Array foo||bar||2?((1 to: 10) collect: [:i| i gcd: 6]) >>> #(1 2 3 2 1 6 1 2 3 2)1z13301.5|a:true ==> [true] >>> trued1016113111920d(Array streamContents: [ :out | out nextPut: 1; nextPutAll: #(2 3 4); nextPut: 5 ]) >>> #(1 2 3 4 5)1Evaluate aBlock for each of the receiver's elements and answer the list of all resulting values flatten one level. Assumes that aBlock returns some kind of collection for each element. Equivalent to the lisp's mapcanaa-(23 printShowingDecimalPlaces: 2) >>> '23.00'910-Optimized version of Collection>>#thenReject:10 Phar...ool100hello*('hello!' allSatisfy: #isLetter) >>> false#((())) size >>> 11012def(10 to: 1) isEmpty >>> true1(((100@200) min: (330@400)) >>> (100@200)0000000000000000%Tests-unix-64-Geometry-Tests-Test.xmlCround: numberOfWishedDecimal "Round the decimal part of the receiver to be limited to the number of wished decimal. Only leave a fixed amount of decimal." "(10.156s round: 2) >>> 10.160s3 " "(1/3.0s round: 4) >>> 0.3333s4 " ^(super round: numberOfWishedDecimal) asScaledDecimal: (scale max: numberOfWishedDecimal)'abc' startsWithDigit >>> false2XX n # n00001100000220000033000004400000550000066000007700000880000099000000AAA000000BBB000000CCC000000DDD000000EEE000000FFF000000GGG0IIJJfred hello world0abc1ZThe following example creates an association whose key is number 1 and value string 'one'.10a0vector0301613-3.7^(#(1 2 3 4 4 1 2 3 5 6 ) groupByRuns: [ :each | each = 4]) >>> #(#(1 2 3) #(4 4) #(1 2 3 5 6))1eflatCollect: aBlock "Evaluate aBlock for each of the receiver's elements and answer the list of all resulting values flatten one level. Assumes that aBlock returns some kind of collection for each element. optimized version for Sequencable Collection and subclasses implementing #writeStream" "(#( (2 -3) (4 -5) #(-6)) flatCollect: [ :e | e abs ]) >>> #(2 3 4 5 6)" "(#( (2 -3) #((4 -5)) #(-6)) flatCollect: [ :e | e abs ]) >>> #(2 3 #(4 5) 6)" self isEmpty ifTrue: [ ^ self copy ]. ^self species new: 0 streamContents: [ :stream | self do: [ :each | stream nextPutAll: (aBlock value: each) ] ]6017jIf the receiver is true (i.e., the condition is true), then answer the value of the argument trueAlternativeBlock. If the receiver is false, answer the result of evaluating the argument falseAlternativeBlock. If the receiver is a nonBoolean then create an error notification. Execution does not actually reach here because the expression is compiled in-line.2defAnswer the index of the first occurrence of anElement after start within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock.cb5@({1@3. 2@1. 3@6. 4@8} detect: [ :each | each x even ]) >>> (2@1)111word before indexXXXX09abcd12/00111111111110004444444444422223005566666666666,'th is is29 a stRI4' squeezeOutNumber >>> 291000000000000000033100.1'Color red rgbTriplet >>> #(1.0 0.0 0.0)O( #(1 2 3) flatCollectAsSet: [:each | { each. each+1 } ] ) >>> #(1 2 3 4) asSetC(#(1 2 3 4 5) reject: #even thenCollect: [:x|x*10]) >>> #(10 30 50)76(Date year: 2018 month: 9 day: 28) weekday >>> #Friday3stop "Return the stop element of an interval. Pay attention this is not necessary the same as the last element." "(1 to: 10 by: 2) last >>> 9" "(1 to: 10 by: 2) stop >>> 10" ^ stop2311|escapeCharacter: aCharacter "Returns a copy of the string doubling all occurence of aCharacter." "See `unescapeCharacter:` for the opposite" "('abc' escapeCharacter: $X) >>> 'abc'" "('aXb' escapeCharacter: $X) >>> 'aXXb'" "('XaX' escapeCharacter: $X) >>> 'XXaXX'" "('XXaXbXXcXXXdXX' escapeCharacter: $X) >>> 'XXXXaXXbXXXXcXXXXXXdXXXX'" | result stream | result := WriteStream with: ''. stream := ReadStream on: self. [ stream atEnd ] whileFalse: [ result nextPutAll: (stream upTo: aCharacter). stream peekBack = aCharacter ifTrue: [ result nextPut: aCharacter. result nextPut: aCharacter ] ]. ^ result contents2100a::foo!((2@2) + (100@200)) >>> (102@202)(#(10 20 30) \\ #(1 3 4.0) >>> #(0 2 2.0)3,123101yAnswer the number of digits printed out in base 10. Note that this only works for positive SmallIntegers up to 64-bits.(Array streamContents: [:stream | (1 to: 3) permutationsDo: [:each | stream nextPut: each copy]]) >>> #(#(1 2 3) #(1 3 2) #(2 1 3) #(2 3 1) #(3 2 1) #(3 1 2))24c2[ :a | a := 10. a ]731That is false!0Ternary operator: An if-else string can be written with . The N-th argument must be a Boolean. Yes-string cannot contain colon ':', as it terminates the yes-string. No-string cannot contain closing angle bracket '>', as it terminates the no-string.a41 Hello--world-But use sum or sum: instead!10vector0 0:B|| |b041 ###'hello''#$) isConnectorPunctuation >>> false {1 . 2 . 3 . 4 . 5} median >>> 3Evaluate aBlock for each of the receiver's elements and answer the list of all resulting values flatten one level. Assumes that aBlock returns some kind of collection for each element. Equivalent to the lisp's mapcan5a#(1 2 4) sum >>> 70DDD 000EEE090FFF0AAA0GGG0BBBBBBCBBBBBB0JJJ00 KKK0'0002345' isAllDigits >>> truepdetect: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. Answer the first element for which aBlock evaluates to true." "({1@3. 2@1. 3@6. 4@8} detect: [ :each | each x even ]) >>> (2@1)" "((104 to: 120) detect: #isPrime) >>> 107" "('Hello!' detect: #isLowercase) >>> $e" ^ self detect: aBlock ifNone: [ self errorNotFound: aBlock ]:= 1233234 2 odd >>> false1 #(foo bar)501 hello 8Tests-unix-64-NewTools-Spotter-Processors-Tests-Test.xml620330| TTTTT | ttttt n. ^ ttttt0.13691995878400012la523dy3{Round the decimal part of the receiver to be limited to the number of wished decimal. Only leave a fixed amount of decimal.301.25hex "Returns a string representation of the receiver as hex, prefixed with 16r. DO NOT CHANGE THIS! The Cog VMMaker depends on this." "$A hex >>> '16r41'" ^ self asInteger hex2 (#(a b c d e) indexOf: #x) >>> 0tea24 'def' = 'abc' >>> false#( #( 0 1 r2 3 )bsurroundString: aString withCharacter: aCharacter "Returns a new string with contents equals to aString surrounded by aCharacter. Escapes all occurrences of aCharacter within aString by doubling them." "(RubTextEditor new surroundString: 'a' withCharacter: $') >>> '''a'''" "(RubTextEditor new surroundString: 'a''b' withCharacter: $') >>> '''a''''b'''" | result stream | result := WriteStream with: ''. stream := ReadStream on: aString string. result nextPut: aCharacter. [ stream atEnd ] whileFalse: [ result nextPutAll: (stream upTo: aCharacter). stream peekBack = aCharacter ifTrue: [result nextPut: aCharacter]. result nextPut: aCharacter.]. stream peekBack = aCharacter ifTrue: [result nextPut: aCharacter]. ^result contents16u u. X X . X X 000102330400%(false and: [Error signal]) >>> false28 October 201833,Evaluate aBlock with my elements taken n at a time. Ignore any leftovers at the end. Allows use of a flattened array for things that naturally group into groups of n. If aBlock has a single argument, pass it an array of n items, otherwise, pass the items as separate arguments. See also pairsDo:100000000000000305removeAllFoundIn: aCollection "Remove each element of aCollection which is present in the receiver from the receiver. Answer aCollection. No error is raised if an element isn't found. ArrayedCollections cannot respond to this message." "(#(10 20 10 10) asOrderedCollection removeAllFoundIn: #(10 20 30); yourself) >>> #(10 10) asOrderedCollection" aCollection do: [:each | self remove: each ifAbsent: []]. ^ aCollection ( 1 ]. 2 )0.01$0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ21923round: numberOfWishedDecimal "Round the decimal part of the receiver to be limited to the number of wished decimal. Only leave a fixed amount of decimal" "(10.12345 round: 2) >>> 10.12" "(10.199999999 round: 2) >>>10.2" ^ self subclassResponsibility0[:a :]1000foo*baz2({Character space. Character space} join: #('Pharo' 'is' 'cool')) >>> {$P. $h. $a. $r. $o. Character space. Character space. $i. $s. Character space. Character space. $c. $o. $o. $l}2e-1021isFinalQuote "Return whether the receiver is https://www.compart.com/en/unicode/category/Pf" "$' isFinalQuote >>> false" ^ self characterSet isFinalQuote: selfYAnswer true if the receiver contains the substring str exactly at index, false otherwise.1101abc1(Array streamContents: [:stream | #(1 2 3 4) reject: [:each | each = 3 ] thenDo: [:each | stream nextPut: each + 10]]) >>> #(11 12 14)1013q(String streamContents: [:s | 'Pharo is cool' splitOn: Character space do: [:each | s << each ]])>>>'Pharoiscool'2001100021removeAll: aCollection "Remove each element of aCollection from the receiver. If successful for each, answer aCollection. Otherwise create an error notification. ArrayedCollections cannot respond to this message." "(#(10 20 10 30 10) asOrderedCollection removeAll: #(10 10 20); yourself) >>> #(30 10) asOrderedCollection" aCollection == self ifTrue: [^self removeAll]. aCollection do: [:each | self remove: each]. ^ aCollection-3.14XsXXXX5action-2That is false!tunescapeCharacter: aCharacter "Unescape an escaped string. Assume the string has all occurrences of aCharacter are escaped. That is, they are in pairs. This method returns a copy of the string replacing all pairs of aCharacter by a single appearance of it." "See `escapeCharacter:` for the opposite" "('''''' unescapeCharacter: $') >>> ''''" "('''' unescapeCharacter: $') >>> ''" | result stream | result := WriteStream with: ''. stream := ReadStream on: self. [ stream atEnd ] whileFalse: [ result nextPutAll: (stream upTo: aCharacter). stream peek ifNotNil: [result nextPut: stream next]]. ^result contentsa/(#(1 2 3) reduceLeft: [ :a :b | a - b ]) >>> -411 511111444403c510 16r80000000400#( #( 0 1 2 ) )2064da41abclastIndexOfAnyOf: aCollection startingAt: lastIndex ifAbsent: exceptionBlock "Answer the index of the last occurrence of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock." "(#(a b a d a) lastIndexOfAnyOf: #(a b) startingAt: 1 ifAbsent: 7) >>> 1" lastIndex to: 1 by: -1 do: [:index | (aCollection includes: (self at: index)) ifTrue: [^ index]]. ^ exceptionBlock value66Missing opener for closer: }rReturn the index of my last element for which aBlock evaluates as true. If no matching element is found, return 0xa2133333(1)220named: aString "Returns the instance of myself having aString as name." "(KeyboardKey named: 'SHIFT_L') >>> (KeyboardKey value: 65505)" ^ KeyNameTable at: aString7(RPackage named: 'MockPackage') isTestPackage >>> false10:00:00:00.00000000110"foo: thisContext ^ thisContext + 1$(#(10) averageIfEmpty: [ 0 ]) >>> 10316rDF-30abc1421201Return a new interval representing the open version of the receiver. In other words, the new inteval does not contain the upper and lower boundaries of the receiver 5B'234znak ::x43 '') _ : 2' asValidSelector >>> #'v234znak:x43:v2'b1(KeyboardKey fromCharacter: $a) >>> KeyboardKey Aat: anInteger "Answer my element at index anInteger. at: is used by a knowledgeable client to access an existing element." "((OrderedCollection new add: 34; yourself) at: 1) >>> 34" "(#(40 41 42) asOrderedCollection at: 1) >>> 40" "(#(40 41 42) asOrderedCollection at: 2) >>> 41" "(#(40 41 42) asOrderedCollection at: 3) >>> 42" | index | anInteger < 1 ifTrue: [ self errorSubscriptBounds: anInteger ]. (index := anInteger + firstIndex - 1) > lastIndex ifTrue: [ self errorSubscriptBounds: anInteger ]. ^ array at: index4Answer the index of the last occurrence of anElement within the receiver. If the receiver does not contain anElement, answer the result of evaluating the argument, exceptionBlock.e abdhelloabd2yEvaluate aBlock for each of the receiver's elements and answer the list of all resulting values flatten one level. Assumes that aBlock returns some kind of collection for each element. optimized version for Sequencable Collection and subclasses implementing #writeStream20 'h' 1067*Return collection printed as 'a, b and c'  . :a12011120""" 00 """ n """ ### """ 1 """ n """ 1 """ 0 """1This method return the average of the collection if it is not empty. In the other case, it return the value of the block. It means the user the user of this method decide of the return value.xy2030.01126e42oselectEverySecond "#(1 2 3 4) selectEverySecond asArray >>> #(2 4) " ^ self selectEvery: [ :i | i \\ 2 = 0 ]1pharo55-420102410${ tokenish >>> false#(-10 printStringBase: 10) >>> '-10'140402000 X Xcombinations: kk atATimeDo: aBlock "Take the items in the receiver, kk at a time, and evaluate the block for each combination. Hand in an array of elements of self as the block argument. Each combination only occurs once, and order of the elements does not matter. There are (self size take: kk) combinations." "(Array streamContents: [:stream | 'abcde' combinations: 3 atATimeDo: [:each | stream nextPut: each copy]]) >>> #(#($a $b $c) #($a $b $d) #($a $b $e) #($a $c $d) #($a $c $e) #($a $d $e) #($b $c $d) #($b $c $e) #($b $d $e) #($c $d $e))" | aCollection | aCollection := Array new: kk. self combinationsAt: 1 in: aCollection after: 0 do: aBlock400oReturns a string representation of the receiver in base 16 in a way that executing it will return the receiver.@|s| s:=0. #(11 22 33) select: #odd thenDo: [:x|s:=s+x]. s >>> 44MCreates an array with anObject followed by elements contained in aCollection.553R(#(10 20 30) adaptToCollection: #(0 1 2) andSend: #@) >>> {(0@10). (1@20). (2@30)}3bbytesCount "Answer the number of indexable fields in the receiver. This value is the same as the largest legal subscript. Included so that a SmallInteger can behave like a LargePositiveInteger or LargeNegativeInteger." "32768 == (1 bitShift: 15)" "32768 bytesCount >>> 2" "65536 == (1 bitShift: 16)" "65536 bytesCount >>> 3" | value length | length := 1. value := self. value >= 0 ifTrue: [[value > 255] whileTrue: [value := value bitShift: -8. length := length + 1]] ifFalse: [[value < -255] whileTrue: [value := value bitShift: -8. length := length + 1]]. ^lengthafter: target ifAbsent: exceptionBlock "Answer the element after target. Answer the result of evaluation the exceptionBlock if target is not in the receiver, or if there are no elements after it." "(#(a b c d) after: #b ifAbsent: #z) >>> #c" "(#(a b c d) after: #x ifAbsent: #z) >>> #z" | index | index := self indexOf: target. ^ (index = 0 or: [index = self size]) ifTrue: [exceptionBlock value] ifFalse: [self at: index + 1]1601mapClass "Return the class of STON maps, Dictionary, a system wide constant" "(STON fromString: '{ #foo : 1 , #bar : 2 }') class >>> STON mapClass" ^ Dictionary\|a|a:= Array new: 3. #(10 20 30) withIndexDo: [:e :i| a at: 4-i put: e+1]. a >>> #(31 21 11)dmin: aPoint "Answer the upper left corner of the rectangle uniquely defined by the receiver and the argument, aPoint." "((100@200) min: (330@400)) >>> (100@200)" "((100@200) min: (30@400)) >>> (30@200)" ^ (x min: aPoint x) @ (y min: aPoint y)XXd| | a02humanReadableSISizeString "Return the receiver as a string with SI binary (International System of Units) file size, e.g. '50 KB'. It means that it takes 1000 and not 1024 as unit as humanReadableByteSizeString does." "(1000 * 1000 * 1000) humanReadableSISizeString >>> '1.00 GB'" "(1000 * 1000 * 1000) humanReadableByteSizeString >>> '953.67 MB'" "(1024 * 1024 * 1024) humanReadableSISizeString >>> '1.07 GB'" ^ String streamContents: [ :s| self humanReadableSISizeOn: s ]@(1000 * 1000 * 1000) humanReadableByteSizeString >>> '953.67 MB':(#(10 20 30) inject: 0 into: [:s :each| s + each ]) >>> 6002015SReturns whether the receiver is a separator i.e., a space, tab, lf, cr, and newPage+(#(2 4 6) noneSatisfy: [:x|x odd]) >>> true-6Object := Objectd1 ppp | TTT | ttt n . ^ ttt . 100ag2'0abc' startsWithDigit >>> truefabcCisEmptyOrNil "Answer whether the receiver contains any elements, or is nil. Useful in numerous situations where one wishes the same reaction to an empty collection or to nil" "#() isEmptyOrNil >>> true" "nil isEmptyOrNil >>> true" "([0 isEmptyOrNil] on: MessageNotUnderstood do: ['oops']) >>> 'oops'" ^ self isEmpty[ a: ]We153tFold the result of the receiver from right to left into aBlock. The argument aBlock must take two or more arguments.4h'10' asInteger >>> 10a Ynot "Negation -- answer true since the receiver is false." "false not >>> true" ^true12040vector011111110000000002222222222222130#$> isConnectorPunctuation >>> false28Trim separators from both sides of the receiving string.00112000isInstanceSide "Return true whether the receiver is a class (in a couple class/metaclass sense)." "Point isInstanceSide >>> true" "Point class isInstanceSide >>> false" ^ self isClassSide not13-010XX sss4RReturn the metaclass of the couple class/metaclass. Useful to avoid explicit test.aB('abcdefgh' includesSubstring: 'DE' caseSensitive: false) >>> trueIMPLEMENTATION NOTE: following algorithm is optimized in primitive only in case self and prefix are bytes like. Otherwise, if self or prefix are wide strings, then slow version with asLowercase convertation, (primitive is not correct for wide strings)foo:V{'one' -> 1. 'two' ->2} asDictionary >>> (Dictionary with: 'one' -> 1 with: 'two' ->2)101+Convert an OrderedCollection into an Array.2a&Character home isControlOther >>> trueEAnswer the value of the alternativeBlock since the receiver is false.abc1123(Color colorFrom: #(1.0 1.0 1.0)) >>> (Color white)xor: alternativeBlock "Nonevaluating conjunction. Answer the opposite of the the argument, alternativeBlock; since the receiver is true." "(true xor: [true]) >>> false" "(true xor: [false]) >>> true" ^ alternativeBlock value not(false or: [3]) >>> 3 a: * arg "Pairwise product of two sequenceable collections of the same length." "#(0 1 2) * #(10 20 30) >>> #(0 20 60)" "{0@1. 2@3} * {10@20. 30@0} >>> {(0@20). (60@0)}" ^ arg adaptToCollection: self andSend: #*140 Answer 1 since receiver is true.0:00:00:00.0012020321095#(10 20 30) | (0 to: 15 by: 5) >>> #(0 15 5 30 20 10)121one360(1923 truncateTo: 10) >>> 19203+Tests-unix-64-System-Hashing-Tests-Test.xml6420000112111533334116699AABAAAECCCCDDAAF99888888777G23.5698 fred the bear220th is is29 a stRI434(1/3 round: 2) >>> (33/100) $'foo' asByteArray >>> #[102 111 111][ "a""b""f" 1. "c" "d" 2 "e" ]1131atAll: indexArray "Answer a new collection like the receiver which contains all elements of the receiver at the indices of indexArray." "(#('one' 'two' 'three' 'four') atAll: #(3 2 4)) >>> #('three' 'two' 'four')" | newCollection | newCollection := self species ofSize: indexArray size. 1 to: indexArray size do: [:index | newCollection at: index put: (self at: (indexArray at: index))]. ^ newCollection-22// arg "Pairwise integer quotient of two sequenceable collections of the same length." "#(10 20 30) // #(1 3 4.0) >>> #(10 6 7)" "{10@20. 30@0} // {1@3. 4.0@1} >>> {(10@6). (7@0)}" ^ arg adaptToCollection: self andSend: #//reduceRight: aBlock "Fold the result of the receiver from right to left into aBlock. The argument aBlock must take two or more arguments." "(#(1 2 3) reduceRight: [ :a :b | a - b ]) >>> (1 - (2 - 3))" "(#(1 2 3) reduceRight: [ :a :b | a - b ]) >>> 2" "(#(1 + 3 - 5) reduceRight: [ :a :op :b | a perform: op with: b ]) >>> (1 + (3 - 5))" "(#(1 + 3 - 5) reduceRight: [ :a :op :b | a perform: op with: b ]) >>> -1" | arguments | self emptyCheck. arguments := Array new: aBlock argumentCount. (arguments size = 0 or: [ (self size + 1) \\ (arguments size - 1) > 0 ]) ifTrue: [ self error: 'Collection size and block argument count do not match.' ]. arguments at: arguments size put: self last. self size - arguments size + 1 to: 1 by: 1 - arguments size do: [ :index | arguments replaceFrom: 1 to: aBlock argumentCount - 1 with: self startingAt: index; at: arguments size put: (aBlock valueWithArguments: arguments) ]. ^ arguments last:y "Answer the y coordinate." "(100@200) y >>> 200" ^ y|::a fred the bearfoo10PhsvSaturation "Return the HSV saturation of this color, a value between 0.0 and 1.0." "Color red hsvSaturation >>> 1.0" "(Color r: 0.5 g: 0.5 b: 1) hsvSaturation >>> 0.4995112414467253" | max | max := self privateMaxComponent. ^ max isZero ifTrue: [ 0.0 ] ifFalse: [ (max - self privateMinComponent) asFloat / max asFloat ]4Negation -- answer true since the receiver is false.141\Format the receiver by interpolating elements from collection, as in the following examples:0(-0.98 printShowingDecimalPlaces: 2) >>> '-0.98'50'a' asByteArray >>> #[97]0000222222888884AA7Returns a color instance from HEX (6 element elements).2002017sorted: aSortBlockOrNil "Return a new sequenceable collection which contains the same elements as self but its elements are sorted by aSortBlockOrNil. The block should take two arguments and return true if the first element should preceed the second one. If aSortBlock is nil then <= is used for comparison." "(#(3 9 1) sorted: [:a :b | a <= b ]) >>> #(1 3 9)" "(#(3 9 1) sorted: [:a :b | a >= b ]) >>> #(9 3 1)" "(#(xa xc xz xb xy) sorted: #last ascending) >>> #(xa xb xc xy xz)" ^self copy sort: aSortBlockOrNilM|s|s:=0. #(4 2 1) withIndexDo: [:e :i| s:=s + (e * (10 ** (i-1)))]. s >>> 1242222/newFrom: aCollection "Answer an instance of me containing the same elements as aCollection." "(Set newFrom: {1. 2. 3}) >>> #( 1 2 3) asSet" "({1. 2. 3} as: Set) >>> #( 1 2 3) asSet" | newCollection | newCollection := self new: aCollection size. newCollection addAll: aCollection. ^ newCollection{1@5. 2@3. 4@7} sum >>> (7@15)111^Return whether the receiver is ... one of these https://www.compart.com/en/unicode/category/Me2an OrderedDictionary(true->#(1 3 5) false->#(2 4))4abs "Absolute value of all elements in the collection" "#(1 -2 -4 0) abs >>> #(1 2 4 0)" "{1@ -2. -4@0} abs >>> {(1@2). (4@0)}" ^ self collect: [:a | a abs]10classNameKey "Return the key that will be used to add a property with the class name when an unknown class is read and the option STONReader>>#acceptUnknownClasses: is true, by default #className. Such unknown classes are returned as generic maps." "((STON reader acceptUnknownClasses: true; on: 'FooBarBaz { #foo : 100 }' readStream; next) at: STON classNameKey) >>> #FooBarBaz" ^ #classNamec2,Tests-unix-64-NewTools-Scopes-Tests-Test.xml3abc #hello#worldzInclude newObject as one of the receiver's elements. Answer newObject. ArrayedCollections cannot respond to this message.abca100 ppp < <<<<1 '' expandMacros >>> String lf2019132563a, b, cb3Answer an OrderedCollection whose elements are the elements of the receiver. The order in which elements are added depends on the order in which the receiver enumerates its elements. In the case of unordered collections, the ordering is not necessarily the same for multiple requests for the conversion.30021312u XXXXlongonest longone stringb$A isLetter >>> true-2.57151bisClassSide "Return true whether the receiver is a metaclass (in a couple class/metaclass sense)." "Point isClassSide >>> false" "Point class isClassSide >>> true" ^self == self classSide0000{Answer whether the receiver sorts before or equal to aString. The collation order is simple ascii (with case differences).EMight be compiled inline for speed, see RBMessageNode>>#isInlineIfNilmax: aPoint "Answer the lower right corner of the rectangle uniquely defined by the receiver and the argument, aPoint." "((100@200) max: (330@400)) >>> (330@400)" "((100@200) max: (30@400)) >>> (100@400)" ^ (x max: aPoint x) @ (y max: aPoint y)11#foo:: asMutator >>> #'foo::'a : foo [ :a | | a ]0424(OrderedCollection new growAtFirst; capacity) >>> 201#Fast initialization with the items of a given array. This initializes elements faster that the generic withAll: or newFrom: methods. The main selling point is that dynamic arrays, like {1. 2. 3}, are really fast in Pharo. So other collections can be easily and efficiently initialized with `{1. 2. 3} asFoo` syntax. Important: Subclasses of Collection that redefine withAll: or newFrom: should also redefine this method either by having a proper implementation (specific to Arrays) or by calling the redefined versions of withAll:/newFrom:.3133112ppp | T | t n. ^ 0 | T | t nn. t 0 sssss s t first element1/Answer a set with the elements of the receiver.findString: substring startingAt: start "Answer the index of the first substring within the receiver, starting at start. If the receiver does not contain substring, answer 0." "('salkjsdlkgfee' findString: 'ee'startingAt: 3) >>> 12" "('salkjsdlkgfee' findString: 'al'startingAt: 3) >>> 0" "('salkjsdlkgfeeal' findString: 'al' startingAt: 1) >>> 2" ^self findString: substring startingAt: start caseSensitive: trueaction3#( 1 two #( 3 ) )b1982cool^Append the elements of the argument, aSequenceableCollection, separating them by the receiver.4def8((0@0 corner: 100@100) containsPoint: 100@100) >>> falsed{ #foo : 1 , #bar : 2 }27'n uuuu uuuuu uuu uuuu uuuuu uuuuuuuuuuusecond0vector05,444 10555000000AAA076BBB666HHH6ECIIICCCC JJJ5-611B('Pharo is <1p>' expandMacrosWith: 'cool') >>> 'Pharo is ''cool'''*#(1 2 3 4) unzip first asArray >>> #(1 3)0vector0172sum "Return the sum (+) of the elements held in the receiver." "Faster than the superclass implementation when you hold many instances of the same value (which you probably do, otherwise you wouldn't be using a Bag)." "#(1 2 2 3 1 1 1) asBag sum >>> 11" | sum first | first := true. contents keysAndValuesDo: [ :value :count | first ifTrue: [ sum := value * count. first := false ] ifFalse: [ sum := sum + (value * count) ] ]. first ifTrue: [ self errorEmptyCollection ]. ^ sum;atPin: index "Return the index'th element of me if possible. Return the first or last element if index is out of bounds." "(#(w x y z) atPin: 2) >>> #x" "(#(w x y z) atPin: 4) >>> #z" "(#(w x y z) atPin: 8) >>> #z" index < 1 ifTrue: [^ self first]. index > self size ifTrue: [^ self last]. ^ self at: index10LAdd a new object at the end of the collection, and returns the object itself-4flatCollect: aBlock "Evaluate aBlock for each of the receiver's elements and answer the list of all resulting values flatten one level. Assumes that aBlock returns some kind of collection for each element. Equivalent to the lisp's mapcan" "( #((3 4) (1 2)) flatCollect: [:each | each ] ) >>> #(3 4 1 2)" "( #(3 4 1 2) flatCollect: [:each | { each. each*10 } ] ) >>> #(3 30 4 40 1 10 2 20)" ^ self flatCollect: aBlock as: self species10rp(Dictionary newFromKeys: #(#x #y) andValues: #(3 6)) >>> (Dictionary new at: #x put: 3; at: #y put: 6 ;yourself)2XX XX # X # X X5((0@0 corner: 100@100) containsPoint: 50@50) >>> true;'' ''h'' ' withoutQuoting >>> ' ''h'' 'C#(10 20 10) asOrderedCollection removeAll >>> OrderedCollection newlongoned14U({10. 20} asOrderedCollection add: 30; yourself) >>> {10. 20. 30} asOrderedCollection bytestringrNonevaluating conjunction. Answer the opposite of the the argument, alternativeBlock; since the receiver is true.13 XXXXXXb22 11200300445242575131c 002^This is implemented using a variant of the normal inject:into: pattern. The reason for this is that it is not known whether we're in the normal number line, i.e. whether 0 is a good initial value for the sum. Consider a collection of measurement objects, 0 would be the unitless value and would not be appropriate to add with the unit-ed objects.'('ab ab ac de' howManyMatch: 'z') >>> 00vector001e1e1-1.5corner: aPoint "Answer a Rectangle whose origin is the receiver and whose corner is aPoint. This is one of the infix ways of expressing the creation of a rectangle." "(10@10 corner: 100@100) >>> (10@10 corner: 100@100)" ^ Rectangle origin: self corner: aPoint100uNote that there is no way to get the first element that works for all kinds of Collections. Must test every one.| tmp | tmp := 1. ^ tmp5|:a|10101032020wasArray "Convert an OrderedCollection into an Array." "#(a b c) asOrderedCollection asArray >>> #(a b c)" "OrderedCollection new class >>> OrderedCollection" "OrderedCollection new asArray class >>> Array" "(OrderedCollection new add: 42; add: 43; yourself) asArray >>> #(42 43)" ^ (Array new: self size) replaceFrom: 1 to: self size with: array startingAt: firstIndex0.005Ymodulo. Remainder defined in terms of //. Answer a Number with the same sign as aNumber.50331040ppp """ < """ <<< """ < """ < """ <<< """ < """ 9Answer whether the receiver is an unary message selector.2keysAndValuesDo: aBlock "Enumerate the receiver with all the keys (aka indices) and values." "(Array streamContents: [:stream | #(10 20 30) keysAndValuesDo: [:key :value | stream nextPut: (key * 2 + value)]]) >>> #(12 24 36)" 1 to: self size do: [:index | aBlock value: index value: (self at: index)] 9 % -4 >>> -3 >isExtension "I return true if a method is an extension method. Which means that the methods is not packaged in the package of the class containing the method, but in another package." "(self >> #selector) isExtension >>> false" "(self >> #traitSource) isExtension >>> true" ^ self hasProperty: #extensionPackage-('foo*baz*zort' match: 'foobazort') >>> falseEvaluate aBlock with each of the receiver's elements as the argument. Answer the first element for which aBlock evaluates to true. If none evaluate to true, then evaluate the argument, exceptionBlock.onephurokIf the receiver is not nil, pass it as argument to the ifNotNilBlock block. else execute the nilBlock blockTreat myself as the coeficients of a polynomial in X. Evaluate it with thisX. First element is the constant and last is the coeficient for the highest power. #(1 2 3) polynomialEval: 2 is 3*X^2 + 2*X + 1 with X = 20a3123abc"#(a b c d e f g h i) second >>> #b #(a b c d e f g h ) fifth >>> #e3031 goodby: 2 my: 1That is false!2-412 =(KeyboardKey named: 'SHIFT_L') >>> (KeyboardKey value: 65505)-110 2221333444 That is true!abcdefgh 10000000001332SParse and materialize the STON representation in string, skipping C-style commentswe60.0-110 X0### ###0kCreate a scanner stream of program tokens on the argument. Users can then use stream API to consume tokens.1KAnswer with a collection of cumulative percents covered by elements so far.5('salkjsdlkgfee' findString: 'al'startingAt: 3) >>> 0e3`ifNotNil: ifNotNilBlock ifNil: nilBlock "If the receiver is not nil, pass it as argument to the ifNotNilBlock block. else execute the nilBlock block" "Might be compiled inline for speed, see RBMessageNode>>#isInlineIfNil" "(nil ifNotNil: [:o | o +3 ] ifNil: [42]) >>> 42" "(3 ifNotNil: [:o | o +3 ] ifNil: [42]) >>> 6" ^ ifNotNilBlock cull: self', otherCollection "Concatenate two Strings or Collections." "#(2 4 6 8) , #(who do we appreciate) >>> #(2 4 6 8 who do we appreciate)" "((2989 storeStringBase: 16) copyFrom: 4 to: 6) , ' boy!' >>> 'BAD boy!'" ^ self copyReplaceFrom: self size + 1 to: self size with: otherCollection33&('aXb' escapeCharacter: $X) >>> 'aXXb'9('pharo' beginsWith: 'Pha' caseSensitive: false) >>> true52cakeywordsStrict "Returns the keywords of the provided selector. If the receiver is not keyword-based, an empty array is returned." "#foo: keywordsStrict >>> #('foo:')" "#foo:bar: keywordsStrict >>> #('foo:' 'bar:')" "#foo keywordsStrict >>> #()" "#+ keywordsStrict >>> #()" ^ self isKeyword ifTrue: [ self keywords ] ifFalse: [ #( ) ]0.667 X '({1. 2. 3} as: Set) >>> #( 1 2 3) asSet2008-bit integer expected030000033 0:00:01:025fghiblue4045Tests-unix-64-Collections-Sequenceable-Tests-Test.xml2('Hello' detect: #isLowercase ifNone: [$X]) >>> $e2RExecute the receiver with the correct number of arguments taken from the argument.11"(('Hello!' detectMin: #asciiValue) >>> $!rcull: firstArg cull: secondArg "Execute the receiver with one or two arguments depending on the receiver" "([:x | x + 1] cull: 13 cull: 12) >>> 14 " "([:x :y | x + y] cull: 3 cull: 2) >>> 5 " ^numArgs < 2 ifTrue: [self cull: firstArg] ifFalse: [self value: firstArg value: secondArg]a#(a b c d e) middle >>> #c3(false or: [true]) >>> true0vector0taz0001000533334422600ag 0000000000000112131411176668555972630-3!sumNumbers: aBlock "This is implemented using a variant of the normal inject:into: pattern that is specific to handling numbers. aBlock is expected to return a number for every element in the collection. Different from the sum: implementation, the default value is zero. While sum: is more general, sumNumbers: is meant to support the most often encountered use case of dealing with numbers." "(#(1 -2 4) sumNumbers: #abs) >>> 7" "(#() sumNumbers: #abs) >>> 0" ^ self inject: 0 into: [ :sum :each | sum + (aBlock value: each) ]102z102018a2310242e003234znak ::x43 ) :21barVChroma is zero for black and white, which are the two cases of division by zero below.{ ^ 1 }. 2. ^ 31 'abc' >= 'def' >>> falsea400 11 n n n 1 0Answer the index of the first occurrence of any element included in aCollection within the receiver. If the receiver does not contain anElement, answer zero, which is an invalid index.'1234' asFourCode >>> 82537349202si1Emit overlapping pairs of my elements into aBlockgroupByRuns: aBlock "Answer a new collection of the same species as the receiver with elements being collections (of the receiver species) containing those elements of the receiver for which the given block consecutively evaluates to the same object." "(#(1 2 3 4 4 1 2 3 5 6 ) groupByRuns: [ :each | each = 4]) >>> #(#(1 2 3) #(4 4) #(1 2 3 5 6))" "(#(1 2 3 4 1 2 3 4 5 6 ) groupByRuns: [ :each | each = 4]) >>> #(#(1 2 3) #(4) #(1 2 3) #(4) #(5 6))" "((1 to: 12) groupByRuns: [ :each | (each \\ 3) = 0]) >>> #(#(1 2) #(3) #(4 5) #(6) #(7 8) #(9) #(10 11) #(12))" | str eStr r | str := Array new writeStream. r := nil. eStr := Array new writeStream. self do: [ :e | | t | (t := aBlock value: e) = r ifFalse: [ r := t. eStr isEmpty ifFalse: [ str nextPut: (eStr contents as: self species). eStr reset ] ]. eStr nextPut: e ]. eStr isEmpty ifFalse: [ str nextPut: (eStr contents as: self species) ]. ^ str contents as: self species31S ([#() anyOne] on: SubscriptOutOfBounds do: [ :ex | 'whatever' ]) >>> 'whatever' 2.0910abcd #(a b z d) sorted >>> #(a b d z)-96 factorial >>> 72020(1 max: 1000) >>> 100019/#( aa:bb:cc #'aa:bb:cc' #cc #'==' #'==' #= #= )a133#( ( 0 1 2 ) )"a" #[ "b" 1 "c" 2 "d" ] "e"hColor red hsvSaturation >>> 1.0Pcount: aBlock "Evaluate aBlock with each of the receiver's elements as the argument. Answer the number of elements that answered true." "(#(1 2 3 4) count: [ :each | each even ]) >>> 2" "('Hello, World!' count: #isLowercase) >>> 8" | sum | sum := 0. self do: [ :each | (aBlock value: each) ifTrue: [ sum := sum + 1 ] ]. ^ sum33c is number 1115*({1 .2 .3 .4} at: 2 incrementBy: 2) >>> 42% foo: arg ^ arg min: arg + 2 ; abs . 416-({10. 20} asOrderedCollection add: 30) >>> 3032{10@20. 30@0} \\ {1@3. 4.0@1} >>> {(0@2). (2.0@0)},(3 ifNotNil: [:o | o +3 ] ifNil: [42]) >>> 62r x23.1423:2 ** 8 >>> 2563The factorial on n is defined as: n * (n-1)*(n-2)*... while n>0. Factorial of 0 is 1. We also know Factorial of 1 and 2 are themselves. This implementation uses a 2-partition algorithm. For a recursive (but slower) implementation see 'slowFactorial' Without verbose detail: If'm an even number,some optimization can be applied: Instead of doing all multiplication we can halving the number of multiplication regrouping terms, so: n*(n-1)*(n-2)*....*3*2*1 can be rearranged as: (n*1)*((n-1)*2)*((n-2)*3)*... And the use the fact n is even to rewrite in a more efficient way. If I'm an odd number then compute for n-1 and multily by n. string1(1 -> 'one') key >>> 1$0 isDigit >>> true11pairsCollect: aBlock "Evaluate aBlock with my elements taken two at a time, and return an Array with the results" "(#(1 'fred' 2 'charlie' 3 'elmer') pairsCollect: [:a :b | b, ' is number ', a printString]) >>> #('fred is number 1' 'charlie is number 2' 'elmer is number 3')" ^ (1 to: self size // 2) collect: [ :index | aBlock value: (self at: 2 * index - 1) value: (self at: 2 * index) ]cxc3:a:foo1028growAtLast "Add new empty slots to the end of array, while keeping the empty slots at the front." "OrderedCollection new capacity >>> 10" "(OrderedCollection new growAtLast; capacity) >>> 20" | newArray | newArray := self class arrayType new: (array size * 2 max: 1). newArray replaceFrom: firstIndex to: lastIndex with: array startingAt: firstIndex. array := newArray108Tests-unix-64-MetacelloCommandLineHandler-Tests-Test.xml2781304y2foo | a | a := 1. ^ [ | a | a := 10. a ] value + afindBinary: aBlock "Search for an element in the receiver using binary search. The argument aBlock is a one-element block returning 0 - if the element is the one searched for <0 - if the search should continue in the first half >0 - if the search should continue in the second half If no matching element is found, raise an error." "(#(1 3 5 7 11 15 23) findBinary: [ :arg | 11 - arg ]) >>> 11 " ^ self findBinary: aBlock do: [ :found | found ] ifNone: [ self errorNotFound: aBlock ]022Morphic UI Process216430ppppXppp1321bweekday "Answer the name of the day of the week on which the receiver falls." "(Date year: 2018 month: 9 day: 28) weekday >>> #Friday" ^ self dayOfWeekName XX n XX n Xek(Array streamContents: [:stream | #(1 2 3) reverseDo: [:each | stream nextPut: each + 10]]) >>> #(13 12 11)We#(1 2 3 0) isSorted >>> false321332768 == (1 bitShift: 15)10:B|||b03 ab ab ac ded(But use collect: or collect:as: instead!0n0X400(1929 truncateTo: 10) >>> 19207d00000000Unreachable statementbetween: #(7 8)622010%(STON toString: 1@2) >>> 'Point[1,2]'1/({1. $a. $a. 3} as: RunArray) runs >>> #(1 2 1)1674c2400502Ab cd ef Ab cdaeiou-30I(#('do' 'la' 'si' 'do' 'la') copyWithoutDuplicates) >>> #('la' 'do' 'si')155- arg "Pairwise difference of two sequenceable collections of the same length." "#(10 20 30) - #(0 1 2) >>> #(10 19 28)" "{10@20. 30@0} - {0@1. 2@3} >>> {(10@19). (28@ -3)}" ^ arg adaptToCollection: self andSend: #-1 9 \\ 4 >>> 11#( #[ 0 1 2 ] )21047 #[ 1 } 2 ]43)Tests-unix-64-OpalCompiler-Tests-Test.xml+surroundedBy: aString "Answer the receiver with leading and trailing aString." "('hello' surroundedBy: 'abd') >>> 'abdhelloabd'" "('hello' surroundedBy: ' abd ') >>> ' abd hello abd '" ^ self species streamContents: [ :s| s nextPutAll: aString. s nextPutAll: self. s nextPutAll: aString ]100 That is true![:a 1]40 2^Answer the first n elements of the receiver. Raise an error if there are not enough elements.1002r00101000 highBit >>> 6Color red hue >>> 0.0333033nuuuu#( 1 ). #( 2 )| a b | 42 'hello''world1.5includesSubstringAnywhere: testString "Answer whether the receiver includes, anywhere in its nested structure, a string that has testString as a substring" "(#(first (second third) ((allSentMessages ('Elvis' includes:)))) includesSubstringAnywhere: 'lvi') >>> true" self do: [:element | (element isString) ifTrue: [(element includesSubstring: testString) ifTrue: [^ true]]. (element isCollection) ifTrue: [(element includesSubstringAnywhere: testString) ifTrue: [^ true]]]. ^ false30;Message sending and code execution - Runtime and EvaluationaSEvaluates the argument with the write stream of the collection. Answers the result.091510 { 1 }. { 2 }-(#(10 20 30) includesAll: #(30 40)) >>> falseReturn a SortFunction around the receiver, where the receiver will be used as a unary message to send to both a and b during sorting, and then the result of said send will be collated iusing aSortFunction.347ifFalse: alternativeBlock "If the receiver is true (i.e., the condition is true), then the value is the true alternative, which is nil. Otherwise answer the result of evaluating the argument, alternativeBlock. Create an error notification if the receiver is nonBoolean. Execution does not actually reach here because the expression is compiled in-line." "(false ifFalse: [ 'This statement is false!' ]) >>> 'This statement is false!'" "(true ifFalse: [ 'This statement is false!' ]) >>> nil" self subclassResponsibility52Return a new empty collection based on the speciesyisAllAlphaNumerics "Returns whether the receiver is composed entirely of alphanumerics (i.e., letters or digits)." "'3.123' isAllAlphaNumerics >>> false" "'a3123abc' isAllAlphaNumerics >>> true" "'3123' isAllAlphaNumerics >>> true" "'3,123' isAllAlphaNumerics >>> false" "'a''b' isAllAlphaNumerics >>> false" self do: [:c | c isAlphaNumeric ifFalse: [^ false]]. ^ true20nsn s nssssn s nssssnn200-30(#(10 20 30) collect: [:e| e+1]) >>> #(11 21 31)false not >>> true1c0 Xs XpReturn true if all my elements are close to the elements of same index of the parameter with a certain precision1(#(1 3 5 7 11 15 23) findBinaryIndex: [ :arg | 12 - arg ] do: [ :found | found ] ifNone: [ :a :b | 'between: ', {a. b} printString ]) >>> 'between: #(5 6)'Foo930$Point class isInstanceSide >>> falseziggieThat is false!1 hello world1B({ 1. 2. 3 } as: Set) >>> (Set new add: 1; add:2; add:3; yourself)121|| ucopyEmpty "Return a new empty collection based on the species" "{1@2} copyEmpty >>> #()" "'hello' copyEmpty >>> ''" "(1 to: 10) copyEmpty >>> #()" ^ self species newFLNegative16SmallIntegerClusterFLPositive8SmallIntegerClusterm!ΎBcĄ8Y z.ۛOp$ёEfLJ;\}1ޞRs'ԔHiʊ>_4U v*חKl ͍AbÃ7X y-ښNo#АDeƆ:[|0ݝQr&ӓGhɉ=^3Tu)֖Jǩ@a‚6W x,ٙMn"ϏCdŅ9Z{/ܜPq%ҒFgȈ<]~2ߟSt(ՕIjˋ?`5V w+ؘLFLFixedObjectCluster testSelector expectedFails resetWindowFLFixedObjectCluster K testSelector expectedFails preferences persistencecheckerFLFixedObjectCluster testSelector expectedFailsparametersToUseFLFixedObjectCluster+ testSelector expectedFailsdpnodecontextdp2cls testClass testSubclassFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectClusterM testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterFLFixedObjectCluster& testSelector expectedFailsparserFLFixedObjectCluster  testSelector expectedFailstestingEnvironmentFLFixedObjectCluster  testSelector expectedFailsmFLFixedObjectCluster Z testSelector expectedFailsFLFixedObjectClusterS testSelector expectedFailsresolverFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster | testSelector expectedFails firstCommand subCommand1group subGroup1 subGroup2FLFixedObjectClusterV testSelector expectedFailsnewClass superClasssubClass newClass2 superClass2FLFixedObjectCluster announcer propertiespaintpathborderparentisFixedencompassingRectanglemodelisDirty entryIndex baseRectanglematrixconnectedLinesshouldUpdateLines cornerRadiusFLFixedObjectCluster[ testSelector expectedFailsreg1reg2resultFLFixedObjectCluster} testSelector expectedFailscanvasFLFixedObjectCluster testSelector expectedFails filesystemguidevisitedFLFixedObjectCluster testSelector expectedFailsmonitor classFactory logBuilder chunkExporter chunkImporterFLFixedObjectCluster= testSelector expectedFailsFLFixedObjectCluster, testSelector expectedFails environmentqueryresult resultItemsfoundSelectorsFLFixedObjectCluster testSelector expectedFailstext candidatescontext processorstream firstValue secondValueFLFixedObjectCluster testSelector expectedFailsoccurrencesBrowserPresenterFLFixedObjectCluster testSelector expectedFailsthemeDecoratorFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsbackendForTestFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsmergerFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClustero testSelector expectedFails slotDisplayFLFixedObjectCluster  testSelector expectedFailstestingEnvironmentFLFixedObjectCluster 8 testSelector expectedFails coordinatesFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFails prototypesFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsvectorFLFixedObjectCluster: testSelector expectedFailsplotxyFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsmorphhandeventFLFixedObjectClustert testSelector expectedFailstestingEnvironmentFLFixedObjectCluster d testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsatPragmaanotherAtPragmayetAnotherAtPragma atPutPragmaFLFixedObjectCluster z testSelector expectedFailspointFLFixedObjectCluster  testSelector expectedFailstestingEnvironmenttestEnvironmentnumberOfAnnouncementsFLFixedObjectCluster$ testSelector expectedFailsparametersToUse ffiLibraryFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterY testSelector expectedFailsmutexforkedProcessesFLFixedObjectCluster testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationextractBlockInTempFLFixedObjectClusterb testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster. testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsmethodNameEditorFLFixedObjectCluster < testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster#q testSelector expectedFails environmentqueryresult resultItemsfoundSelectorsFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster- testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster^ testSelector expectedFailsparsersubject splitterClassFLFixedObjectCluster} testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster2 testSelector expectedFailstestingEnvironmentfullempty collectResultemptyButAllocatedWith20 elementNotIncollectionOfFloatcollectionIncludednonEmpty1elementwithoutEqualElementscollection5ElementscollectionWith3ElementscollectionOfNonIdenticalfloatCollectionFLPointClusterFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster Yparent propertiesleftBarrightBar statementsperiods temporariesFLFixedObjectCluster! testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster( testSelector expectedFailseditorFLFixedObjectCluster testSelector expectedFailscritiqueBrowserrulesFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster1: testSelector expectedFailsparametersToUseFLFixedObjectCluster testSelector expectedFails presenterpresenterModelFLFixedObjectClusterS testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster[ parent properties parenthesesleftrightcolons argumentsbarbodyscope bcToASTCacheFLFixedObjectCluster testSelector expectedFailsfinalizationRegistryfinalizationCountfinalizerThatCounts waitSemaphorefinalizedObjectfinalizerThatRaisesError finalizerfailedFLFixedObjectCluster testSelector expectedFailstextmorphexpectedErrorsexpectedErrorPositionsfailureFLFixedObjectCluster testSelector expectedFails environment groupProvider builtGroupsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUseFLFixedObjectCluster testSelector expectedFails commandLineFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectClusterc testSelector expectedFailsFLVariableObjectClusterp testSelector expectedFails filesystemFLFixedObjectCluster$ testSelector expectedFailsFLFixedObjectCluster+ testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscommandToBeDecorated decoratorFLFixedObjectCluster announcer propertiespaintpathborderparentisFixedencompassingRectanglemodelisDirty entryIndex attachPointfromtomarkers startPointendPointFLFixedObjectCluster- testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFails filesystemFLFixedObjectCluster4 testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster3 testSelector expectedFails environment groupProvider builtGroupsFLFixedObjectCluster testSelector expectedFailsmatchToolPresenterFLFixedObjectCluster testSelector expectedFailsinstanceFLFixedObjectCluster testSelector expectedFails previewerFLFixedObjectCluster  testSelector expectedFailscachehaltController testObjecttrace oldTracer breakpointFLFixedObjectClusternameFLFixedObjectCluster] testSelector expectedFailsFLFixedObjectCluster@ testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster[ testSelector expectedFailscanvasshapesFLFixedObjectClusterW testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsrootfileSystemModelfileSystemPresenterdialogwindowFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster_ testSelector expectedFailstestingEnvironmentnonEmpty5ElementsNoDuplicateempty elementNotInelementTwiceIncollectionWithEqualElementsnonEmpty1Element"collectionWithSameAtEndAndBegining collectionWith1TimeSubcollection collectionWith2TimeSubcollectioncollectionNotIncludednonEmptySubcollectionelementInNonEmptyreplacementCollectionSameSizesortedCollectionFLFixedObjectCluster; testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFailstoolFLFixedObjectCluster testSelector expectedFailsticker schedulersuspendedDelaysHeapFLFixedObjectCluster testSelector expectedFailstestingEnvironment repositorydictFLFixedObjectCluster testSelector expectedFailspolygonFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster P testSelector expectedFailsmorphFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterx testSelector expectedFailsFLFixedObjectClusterH testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectClusterksource isScripting isParseFaultyisFaultyisFaultyMinusUndeclarednoticesvaluehasValue formattedCode skippedTestsraisemessageNotUnderstoodnumberOfCritiquesgroupdefault nodePositions styledPatternFLFixedObjectCluster! testSelector expectedFailsFLFixedObjectClusterkeysvaluessizeFLFixedObjectCluster; testSelector expectedFailsclientserverFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster3 testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectClusterW testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUse ffiLibraryFLFixedObjectCluster~ testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusters collectionposition readLimit writeLimitFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterY testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster( testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationextractBlockInTempFLFixedObjectCluster&F testSelector expectedFails environmentscoperesultFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringFLFixedObjectClusterE testSelector expectedFailsclassDefinitionFLFixedObjectClusterparent propertiescontentsstartstopFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterj5tests resourcesname announcerrandomGeneratorFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectClustero testSelector expectedFailsareapositioneventFLFixedObjectCluster( testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassclassFLFixedObjectCluster testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringFLFixedObjectCluster  testSelector expectedFailsclassDefinitionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectClusterBparent properties parenthesesmessages semicolonsFLFixedObjectCluster @ testSelector expectedFailsoldRelationGraphnewRelationGraphpackageRelationGraphDiffpackageApackageBFLFixedObjectClusterJ testSelector expectedFails collectionFLFixedObjectClusterG testSelector expectedFailsFLFixedObjectClustername environmentFLFixedObjectCluster testSelector expectedFailsparametersToUseserviceFLFixedObjectCluster T testSelector expectedFails identifier preferencesFLFixedObjectCluster testSelector expectedFails vennDiagramFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFails newBuilder originClass usedTrait superClassFLContextClustersenderpcstackpmethod closureOrNilreceiverFLFixedObjectClusterq testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster1 testSelector expectedFailssourcedestFLFixedObjectCluster{ testSelector expectedFails breakpointclspreviousBreakpointsobserveroldSystemAnnouncerFLFixedObjectClustername environmentFLFixedObjectCluster` testSelector expectedFailsbuilderFLFixedObjectClusterd testSelector expectedFails historyListFLFixedObjectCluster)FLFixedObjectClusterB testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsmonitor classFactory logBuilder inputEntry inputEntriesFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstext candidatescontext processorstreamFLFixedObjectClustertermcap outStreamcurrentBackground currentColorlightblinkFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterS testSelector expectedFailsrootfileSystemModelfileSystemPresenterfilterFLFixedObjectClusterC testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailscollectionWith5ElementsFLFixedObjectClustero testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster"m testSelector expectedFailsaCompiledMethod aReceiveraMethodContextaSenderinstVarForTestLookupSymbolnonActiveBlockContext anArgumentFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectCluster : testSelector expectedFailsrayFLFixedObjectCluster testSelector expectedFailsFLRectangleClusterFLFixedObjectCluster testSelector expectedFails decoratoradapterwidgetFLFixedObjectCluster testSelector expectedFails outerMorph innerMorphFLFixedObjectCluster) testSelector expectedFailstestingEnvironmentnonEmptyelementExistsTwiceempty collectResultnonEmpty1ElementcollectionOfFloataccessCollection elementNoteInoldSubcollectionwithoutEqualElementscollectionOfFloatWithDuplicatecollectionIncludedcollectionNotIncludedcollectionWithoutNilduplicateFloatnonEmpty5ElementscollectionWith4ElementscollectionOfString"stringCollectionSameEndAndBeginingFLFixedObjectCluster* testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigation completion mockFilterFLFixedObjectCluster testSelector expectedFailsforkvalueFLFixedObjectCluster& testSelector expectedFailstestingEnvironmentFLFixedObjectCluster; testSelector expectedFailschartFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterf testSelector expectedFailsFLFixedObjectClusterM testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster  testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectCluster testSelector expectedFailsmockObjFLFixedObjectCluster testSelector expectedFailsparametersToUse ffiLibraryFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectClustergDarray firstIndex lastIndex sortBlockFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFails environment groupProvider builtGroupsFLFixedObjectCluster.- testSelector expectedFailstestingEnvironment classNametestEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationextractBlockInTempextractBlock2InTempFLFixedObjectCluster testSelector expectedFails environment queryResultquerycursoritemsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentemptynonEmpty collectResultemptyButAllocatedWith20collectionWithElement collectionIncollectionNotIncollectionOfString elementNotIncollectionWithCharacters#otherCollectionWithoutEqualElementscollectionWithoutNilMoreThan5FLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster:> testSelector expectedFailstestingEnvironmentinstVarFLFixedObjectClusterB testSelector expectedFailsparsersubjectFLFixedObjectCluster x testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster3/ testSelector expectedFailsweakSetWith3ElementsemptyFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster9 testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster testSelector expectedFailspackageApackageBpackageCpackageDpackageEaPackageCycleDetectioncycleAcycleBcycleCFLFixedObjectCluster3 testSelector expectedFailsFLFixedObjectCluster? testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsparametersToUseFLFixedObjectCluster  testSelector expectedFails preferences persistencecheckerFLFixedObjectCluster  testSelector expectedFailsemptybFLFixedObjectClustery testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectClusterparent properties parenthesesnamevariablestartFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectClusterI testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsresolveroriginalUserLocalDirFLFixedObjectCluster testSelector expectedFailsnewClass superClasssubClass newClass2 superClass2numberOfAnnouncementsnewTraitFLFixedObjectCluster  testSelector expectedFailstestingEnvironmenthashFLFixedObjectCluster testSelector expectedFailscanvasFLFixedObjectCluster testSelector expectedFails filesystemguidevisitedFLFixedObjectClusterg testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstext candidatescontext processorstreamFLFixedObjectCluster testSelector expectedFails replacePanelFLFixedObjectClusterX testSelector expectedFailsclassnumberOfAnnouncementsFLFixedObjectCluster testSelector expectedFailscanvasFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsrootfileSystemModelfileSystemPresenterfilterFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterA testSelector expectedFailsbackendForTestspotterFLFixedObjectClusterB testSelector expectedFailssystemSettingsmemorypreferencesFileFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFails slotDisplayFLFixedObjectCluster testSelector expectedFailstestingEnvironmentstreamexpecteddiffFLFixedObjectCluster7 testSelector expectedFailsFLFixedObjectCluster testSelector expectedFails prototypesFLFixedObjectClusterMC* testSelector expectedFailstestingEnvironmentexample1 literalArrayselfEvaluatingArray nonSEArray1 nonSEarray2example2empty collectResultwithoutEqualElementswithEqualElementswithCharactersunsortedCollection sortedInAscendingOrderCollectioncollectionNotIncludedremovedCollectionelementInForCopyelementNotInForCopy firstIndex secondIndexreplacementCollection indexArray valueArraynonEmptyMoreThan1ElementsubCollectionNotInreplacementCollectionSameSizeoldSubCollectionnonEmpty1ElementcollectionOfCollection"collectionOfFloatWithEqualElementscollectionWithoutNilduplicateElementcollection5ElementscollectionWith4Elements collectionOfCollectionsOfStringscollectionOfCollectionsOfIntssimpleCollection%stringCollectionWithSameBeginingAnEndcollectionOfFloatrecursiveArrayFLFixedObjectCluster commandLinesessionstdoutstderrFLFixedObjectCluster  testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFailstestingEnvironment classFactoryFLFixedObjectCluster testSelector expectedFailsempty withItemsfiredFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterm testSelector expectedFailstestingEnvironmentsnapshotFLFixedObjectClusterr testSelector expectedFailsxyplotFLFixedObjectCluster#C dictionary orderedKeysFLFixedObjectCluster/ testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterN testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectCluster domainrange interpolate uninterpolateiuFLFixedObjectCluster|OnameescapingindexscopeusageFLFixedObjectCluster? testSelector expectedFailsparametersToUse ffiLibraryoldExceptionHandlerFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster. testSelector expectedFailsFLFixedObjectCluster@9 testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationextractBlockInTempFLFixedObjectClusterf outerScopetempVars copiedVars tempVectorid tempVectorVarnodeFLFixedObjectClusterP testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailssycRefactoringPreviewFLFixedObjectClusterb testSelector expectedFailsFLFixedObjectCluster 4 testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectClusterb testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster+filehandleforWrite semaphoresemaphoreIndex peekBufferFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster\ testSelector expectedFailstestingEnvironmentfullempty collectResultemptyButAllocatedWith20 elementNotIncollectionOfFloatcollectionIncludednonEmpty1elementwithoutEqualElementscollection5ElementscollectionWith3ElementscollectionOfNonIdenticalFLFixedObjectClusterK testSelector expectedFailsclassDefinitionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster=R testSelector expectedFailssource selectioncurrentCompletionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterc testSelector expectedFailsparametersToUseFLFixedObjectCluster  testSelector expectedFails presenterpresenterModelFLFixedObjectCluster testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster parent properties parenthesesreceiverselectorkeywordsPositions argumentssuperOfFLFixedObjectCluster, testSelector expectedFailstextmorphexpectedErrorsexpectedErrorPositionsfailureFLFixedObjectCluster# testSelector expectedFails environmentqueryresult resultItemsfoundSelectorsFLFixedObjectCluster' testSelector expectedFailsFLFixedObjectCluster2 testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsresultbuilderFLFixedObjectClusterV testSelector expectedFailstestingEnvironmentFLFixedObjectCluster  testSelector expectedFailsparametersToUsecanvasanimationClassFLFixedObjectCluster  testSelector expectedFails filesystemFLFixedObjectCluster.[ testSelector expectedFailsobj1obj2wpobj3obj4observer testClass testSubclassFLFixedObjectClustername priorityListsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster#i testSelector expectedFails environmentqueryresult resultItemsfoundSelectorsFLFixedObjectCluster testSelector expectedFailsrewriteBasicEditorFLFixedObjectClusterG testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailscacheFLFixedObjectClusterz testSelector expectedFailssettingBrowserFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterk testSelector expectedFailstestingEnvironmentFLFixedObjectCluster  testSelector expectedFailsshapesconsearchcanvasFLFixedObjectCluster ' testSelector expectedFailsrootfileSystemModelfileSystemPresenterdialogwindowFLFixedObjectCluster # testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsnextLinknlistlink1link2link3link4nonEmpty otherListlinkcollectionWithoutNilnonEmpty1ElementcollectionWithoutEqualElements elementNotIn elementIncollection5Elements collectResultunsortedCollectionsortedCollectionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster` testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterB testSelector expectedFailsticker schedulersuspendedDelaysHeapFLFixedObjectCluster testSelector expectedFailstestingEnvironment repository directoryFLFixedObjectCluster  testSelector expectedFailsmatrixFLFixedObjectCluster  testSelector expectedFailsparametersToUse decorationFLFixedObjectCluster testSelector expectedFailsmorphFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentstreamFLFixedObjectCluster startstopstepFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectClusterJ testSelector expectedFailsFLFixedObjectClusterd testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster/ testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectClusterV testSelector expectedFailstestingEnvironmentexpecteddiffFLFixedObjectCluster testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster,nameescapingindexscopeusage vectorNameFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterK testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassinstanceFLFixedObjectCluster testSelector expectedFailsedsessiondebugAPImockDisplayAPIcurrentDebuggingAPIFLFixedObjectCluster  testSelector expectedFailsclassDefinitionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectClustere testSelector expectedFailspackageCollectionAbstractpackageCollectionsSequenceable packageKernelpackageRegexCorepackageStringsaPackageRelationGraphpackagePackageDependenciespackageApackageBpackageCpackageDpackageMorphicBasepackageTextCoreFLFixedObjectCluster  parent properties parenthesesvaluekeywordPositionsFLFixedObjectCluster{ testSelector expectedFailsFLFixedObjectClustern testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUseserviceFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsbackendForTest application presenterFLFixedObjectClusterhparent properties parenthesesstartstop isByteArraycontents openerSizeFLFixedObjectCluster testSelector expectedFailsivarForTestingFLFixedObjectCluster5 testSelector expectedFails newBuilder originClass usedTrait superClassFLFixedObjectClusterg messageTexttagsignaler signalContexthandlerContext outerContextvariableFLVariableObjectCluster outerContext compiledBlocknumArgsreceiverFLFixedObjectCluster% testSelector expectedFailstestingEnvironmentFLVariableObjectClustermethodselectorFLFixedObjectCluster collectionposition readLimit writeLimitstreamcrlfprevious lineEndingFLFixedObjectClusterv testSelector expectedFails debugSessionsindarinSessionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailspreviousBreakpointsclsoldSystemAnnouncerFLFixedObjectCluster testSelector expectedFails environment groupProvider builtGroupsFLFixedObjectCluster  testSelector expectedFailsbuilderFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster ~ testSelector expectedFailsinstancebackendFLFixedObjectCluster testSelector expectedFailsmonitor classFactory logBuilderdetectorFLFixedObjectCluster9 testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster < testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscanvascameraFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster~ testSelector expectedFailsrootfileSystemModelfileSystemPresenterfilterFLFixedObjectCluster~ testSelector expectedFailsFLFixedObjectCluster*i testSelector expectedFailsfileNameFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster nextLinksuspendedContextprioritymyListnameenveffectiveProcess terminatinglevel errorHandlerFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFails presenterwindowFLFixedObjectCluster & testSelector expectedFails classFactoryFLFixedObjectCluster testSelector expectedFailsticker schedulersuspendedDelaysHeapFLFixedObjectCluster  testSelector expectedFailstestingEnvironmentpatchFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClustero testSelector expectedFailssegmentFLFixedObjectCluster testSelector expectedFails decoratorFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailscompletionClasssystemNavigation completionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterP testSelector expectedFailstestingEnvironmentpackage2package1 mcPackage1 mcPackage2 classToRemoveFLFixedObjectClusterp testSelector expectedFailsFLFixedObjectClusternameescapingindexscopeusageFLFixedObjectCluster4 testSelector expectedFailsparametersToUserunnerFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusteru testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster% testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectCluster$ outerScopetempVars copiedVars tempVectorid tempVectorVarnodeFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster# testSelector expectedFails environmentqueryresult resultItemsfoundSelectorsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterHS testSelector expectedFailstestingEnvironmentxyclassFLFixedObjectCluster. testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationextractBlockInTempFLFixedObjectCluster testSelector expectedFails environment queryResultquerycursoritemsFLFixedObjectCluster) testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailstestingEnvironmentemptynonEmpty collectResultemptyButAllocatedWith20collectionWithElement collectionIncollectionNotIncollectionOfString elementNotIncollectionWithCharacters#otherCollectionWithoutEqualElementscollectionWithoutNilMoreThan5equalNotIdenticalElement elementToCopy'identityBagNonEmptyNoDuplicate5ElementsFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster %parent propertiesselectorkeywordsPositions argumentsleftrightpragmaFLWordObjectClusterjPtSele'TecteIompl&6hasssK`igatNhervxElemQpMixedn usteҧ| tee9or e邊ails<erwFixe&>lust& ttor YqFailf&iactosSedObter^_\test> exp9\slst)hedu-6endeeapl-bjectSelpectwtestuYonme?AFLFctCl!lectl4utedFIVixedruste%K teJor efh,ailsFLF .ctClZBlectgtedF[B`oratP@edObǹter䳌testw; exp 'lsF40ject/ oCSele-ectenompl9P`sss(rTigat㺀"letiedObHz݌terSHtest expD[lsFVject-SeleTecteMestid[nmen8e2p)mcPa&scPac>-assTjVFLFiVtClu6ap'UectoedFaPsxedO%o([ster,&namHngi[peut ixedxuustenr teor e1ails0 ersT]cner!bjecN^e2tSelTʕpectIFLFioktCluC91nQectoiDedFa ; xedOuO2sters tesFLFixedObjectClusterexecutionEnvironment isEnabled testFailuresshouldSuspendBackgroundFailuresshouldFailTestLeavingProcessesshouldTerminateProcessesFLFixedObjectCluster l testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectClustere testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringkeysdictFLFixedObjectCluster - testSelector expectedFailsclassDefinitionFLFixedObjectCluster n testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster testSelector expectedFailsaPDPackageCyclepackageApackageBpackageCFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster* testSelector expectedFailsfactorybuilderFLFixedObjectCluster4 testSelector expectedFailsparametersToUseserviceFLFixedObjectCluster2 testSelector expectedFailsFLFixedObjectCluster% testSelector expectedFailsdocCommentNodeFLFixedObjectCluster  testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster| testSelector expectedFails newBuilder originClass usedTrait superClassFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusternamevalueFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectClusteru testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsresolverFLFixedObjectCluster  testSelector expectedFailstestingEnvironmenthashFLVariableObjectClusterL testSelector expectedFailsFLFixedObjectCluster(f testSelector expectedFailsmonitor classFactory logBuilder inputEntry inputEntriesFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster( testSelector expectedFailstext candidatescontext processorstreamFLFixedObjectCluster testSelector expectedFailsscopeSelectorPresenterFLFixedObjectCluster  testSelector expectedFailsclassnumberOfAnnouncementsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster* testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsrootfileSystemModelfileSystemPresenterfilterFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFails slotDisplayFLFixedObjectCluster ; testSelector expectedFailstestingEnvironment conflictsFLFixedObjectCluster [ testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsarcFLFixedObjectCluster, testSelector expectedFailstestingEnvironmentFLFixedObjectClusterm testSelector expectedFailstestingEnvironmentcollectionWithElementotherCollectionnonEmptyempty elementNotIn collectResultexpectedElementByDetect speciesClasselementTwiceIndoWithoutNumberelementexpectedSizeAfterRejectcollectionNotIncluded!nonEmpty5ElementsWithoutDuplicatesameAtEndAndBeginingnonEmpty1Element indexArray subCollectionduplicateElementcollectionWithDuplicateElementcollectionWith4ElementsstringCollectionFLFixedObjectCluster E testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster) testSelector expectedFailsFLFixedObjectCluster/" testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsplotyFLFixedObjectClusterR testSelector expectedFailsFLWordObjectCluster#Y!Y"!Y" #( #(  ! Y ) )!`#'Y''!Y'Y#(!Y) #(  ! Y )#. !$!#!#( (  ! Y ) )| Y | Y := 1. Y + 1#'!Y'FLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectClusterQdomainrange interpolate uninterpolateclampinputoutputFLFixedObjectCluster testSelector expectedFailstestingEnvironmenttestEnvironmenta1b1a2b2xPackageyPackagezPackageFLFixedObjectCluster y testSelector expectedFailsparametersToUse ffiLibraryFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterT testSelector expectedFailsparserFLFixedObjectCluster! testSelector expectedFailsFLFixedObjectCluster$U testSelector expectedFails nonEmptyDictFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectClusterl testSelector expectedFailsFLFixedObjectCluster| testSelector expectedFailsclassDefinitionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscompilerFLFixedObjectCluster  testSelector expectedFailsparsersubjectFLFixedObjectCluster} testSelector expectedFailseditorstringFLFixedObjectCluster1 testSelector expectedFailsrulesSelectorPresenterrules rulesByGroupFLFixedObjectCluster testSelector expectedFailsexistingstoredmergerFLFixedObjectCluster testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster N testSelector expectedFailsFLFixedObjectClusterQ testSelector expectedFailsFLFixedObjectClusterT testSelector expectedFailspasswordManagerFLFixedObjectClusterC testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailscanvasboxesFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscommandFLFixedObjectCluster testSelector expectedFailsresultbuilderFLFixedObjectCluster  testSelector expectedFailstestingEnvironmentFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster( testSelector expectedFails environmentqueryresult resultItemsfoundSelectorsFLFixedObjectCluster, testSelector expectedFails ruleLoaderFLFixedObjectClustery testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsreaderFLFixedObjectCluster testSelector expectedFailsangleFLFixedObjectCluster  testSelector expectedFailscanvasshapesFLFixedObjectCluster N testSelector expectedFailsrootfileSystemModelfileSystemPresenterdialogwindowFLFixedObjectClusterL testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterC testSelector expectedFailsnonIdentityOrderedAssociationsidentityOrderedAssociationsFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectClusterg testSelector expectedFailsticker schedulersuspendedDelaysHeapFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectClusterE testSelector expectedFails rectangleFLFixedObjectCluster6 testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectClustera testSelector expectedFailsparametersToUsesnippetFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterfilehandleforWrite semaphoresemaphoreIndexFLFixedObjectClusterF testSelector expectedFailsFLFixedObjectClusterZ xScaleyScalechartstyler masterShapeboxaxisXaxisY formatStringFLFixedObjectCluster% testSelector expectedFailstestingEnvironmenttestEnvironmenta1t1t2xPackageyPackagezPackageFLFixedObjectClusterv testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster abFLFixedObjectCluster testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsivarForTestingFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster* testSelector expectedFailsFLFixedObjectCluster selector arguments lookupClassmethodFLFixedObjectCluster testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster*G testSelector expectedFailsFLFixedObjectCluster < testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUseFLFixedObjectClusterr testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster$ testSelector expectedFailsedsessiondebugAPImockDisplayAPIcurrentDebuggingAPIFLFixedObjectCluster? testSelector expectedFails presenterpresenterModelFLFixedObjectCluster, testSelector expectedFailsFLFixedObjectCluster D testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster testSelector expectedFailsaPackageaSecondPackagepackageApackageBpackageCFLFixedObjectClusterq6parent properties parenthesesvariable assignmentvalueFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailssubjectofflineSettingisCachingRessourcesSettingFLFixedObjectCluster4 testSelector expectedFailsparametersToUseFLFixedObjectCluster){ testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster # testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFails inspectorFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster] testSelector expectedFails newBuilder originClass usedTrait superClassFLFixedObjectCluster` testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectClusterT testSelector expectedFailstestObjectPointFLFixedObjectClusterF testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailscountercounter2nodenode2FLFixedObjectCluster testSelector expectedFails environment groupProvider builtGroupsFLFixedObjectCluster  testSelector expectedFailslabel1morph1label2morph2panelFLFixedObjectClusterq testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailssubjectFLFixedObjectClustere testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsaClassFLFixedObjectCluster testSelector expectedFailsrootfileSystemModelfileSystemPresenter windowPathUIFLFixedObjectCluster4 testSelector expectedFailsemptyRectangle rectangle1FLFixedObjectClustershapeoffset offsetRatioFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterI testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFails presenterwindowFLFixedObjectCluster testSelector expectedFailsticker schedulersuspendedDelaysHeapFLFixedObjectCluster= testSelector expectedFailstestingEnvironmentFLFixedObjectCluster > testSelector expectedFailsFLFixedObjectCluster$ testSelector expectedFailsbrowsertoolcontextFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster = testSelector expectedFailsFLFixedObjectClusterrgb cachedDepthcachedBitPatternalphaFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigation statisticsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster { testSelector expectedFailstestingEnvironment workingCopyrepositoryGroupversions versions2FLFixedObjectCluster startstopFLFixedObjectCluster testSelector expectedFailsticksFLFixedObjectCluster testSelector expectedFails environment definitionFLFixedObjectCluster3 testSelector expectedFailswindowFLWeakVariableObjectClusterSFLFixedObjectCluster textColortextFonttextSize tickColor spineColorFLFixedObjectCluster testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectCluster0domainrange interpolate uninterpolatelinearexponentpowppowbFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectClusterT testSelector expectedFailsFLFixedObjectCluster$u testSelector expectedFailsparametersToUse ffiLibraryFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster0 testSelector expectedFailsFLFixedObjectClusterU testSelector expectedFailslgFLFixedObjectCluster messageTextnodeFLFixedObjectCluster3 testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationextractBlockInTempFLFixedObjectCluster testSelector expectedFails environment queryResultquerycursoritemsFLFixedObjectClusterp testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClass announcementcollectedAnnouncementsFLFixedObjectCluster7 testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster testSelector expectedFailsFLGlobalClassVariableCluster  ~&W'c&V*'%&m"1FLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringkeysdictFLFixedObjectClusterO testSelector expectedFailsclassDefinitionFLFixedObjectCluster testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster  testSelector expectedFailsaPackageDependencyanInternalPackageDependencypackageApackageBFLFixedObjectCluster testSelector expectedFailscachecompiledMethodFLFixedObjectCluster  testSelector expectedFailsparserFLFixedObjectClustercacheFLFixedObjectClustern testSelector expectedFailsparametersToUseFLFixedObjectCluster  testSelector expectedFails identifier preferencesoldPreferencesFLFixedObjectClusterh testSelector expectedFailsFLFixedObjectClusterNsourcenodecachedExpressionNodeFLFixedObjectCluster testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster0 testSelector expectedFailsFLFixedObjectCluster testSelector expectedFails newBuilder originClass usedTrait superClassFLFixedObjectCluster 6 testSelector expectedFailsFLFixedObjectCluster' testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailstreeFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster5registeredClassNameFLFixedObjectClusterj numerator denominatorscaleFLFixedObjectCluster testSelector expectedFailsbuilderFLFixedObjectCluster  testSelector expectedFailstestingEnvironmenthashFLFixedObjectClusterQ testSelector expectedFailstestingEnvironment classFactoryFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsmonitor classFactory logBuilder inputEntry inputEntriesFLFixedObjectCluster* testSelector expectedFailsFLFixedObjectCluster^ testSelector expectedFailstext candidatescontext processorstreamFLFixedObjectCluster testSelector expectedFails searchPanelFLWordObjectClusterfLG'  !&#CHQap, * m<K-V e}z` bH20@LE6G :3]l/ &&>b <ie l&,w J H0 '|  .3Sb: Q(eE59yC,%&Y (4=IC]-'.>5`?&;DP>{D  {-#.7AF):    e&-W  wp (c+2 O  p; 'g"+"% *it*#.>X&&'' T3Cx  w&F<+| O+S Q%/r,-;R')3[sMY0clS#*VfdC *"'-!)X/ ?%E (Q1 !;:",2#e  > uf6N/$_(#!$oO '# DB6M<$^dk I+p  G[# $GF TP% 2@ Ro**D.srm %\& n jb:@ #.7AI( !1. >0=`:  !0.al"jL}.;.A%3/$(,$ )' 5"2"6 `$& "3( C(^~  ;v1%/ B $!'!=%(cDM &o H*1/  UM[55[;x(K 25;3q;=KEa>0iN 16WkQu }'W) $ " qL )"} ! 48>>,Y%4OjA]0  E4. 4?O#A !4V=b'|7 )c/E A #)0-6 v_m<;m|+"  | 04-7 QaAV  ^kj%/O$Xz Y@l$&^C  *4?y09>T_<z-Fq$5 1*% -;2%; ; \ .   $0/* aMY  Ttzk 2\5R4K P%(5* Pcq,3$   l-?rK# @ %'4W +% Zz Z*# "nhO3i)"lE$b2 E6& 8! 4<4@ssY!yAd}x) f  n  %0U77%77N: ~SFW]b( #6_ /"F'5(FIx!% + $8Uu4,Zb 0; !@-X[ +i4' ,)P# '$8GB,7 ; : !(nq]? , m<   t @ -  Y D;O T-O+gUb( VbER`cpgsR NlOX&)=j y %W $|t;"TP7K%1 ",Obp/  %!j)07@6S2 w9R  KWsxe' 6M 3SVM7fm{{^@:6Jss-4 S\.< =. $\kwB6*_!  :JXD,D\o,cu!/ ['5 B$ '/G@*0g eG*E," ,1z/t+!1-V  o#  4' - . -( (&RX26GV %.  ut#0Xz 6;D,WH1oX JKmON%Nwg# !)   - ,%1?6`$i642  %/".h +N'   "b= >  ! uUe,B:  4" % $ &).{ #[J 3)P%,b B  5  #2#/2!xd  -OL3 !z7v").(C &<*Ui"'vZP$I\bg F.(N KYl9F%fi&+0/D1b5Q!. D  H G$    59g- XO&%QHr e4 N5bWf;R& -A\.#8>_ )(8(Yj1 F "   usD &$,( /GV$)2:B >1 $^,7,]?e0.0   ?= mw`)4  R}-s" "3B;2:@q+)^9> Y #(- %r*/0o68]o5N9h@#$ p~    ~&o R '"@-Y" %+ /**`< / ^  % yP :Y&D 4w_3/=`3L. /\1l!" .o3 . 1C{G/&  *8='($1<SM%7q &v%!:= 2F`" 8 b5M'0&1#;()"5- Qy,6 dF"EKR4! V$j$ku z4=I "+#7O17e17.=15A7)b)>2=%*t",) )TZ!)[<tr W/ O LyZ'HP}}"! 8 f=N0/#$ !.% (&,R_4! L+=$( + 0T_h]73`1B<d + H!&94; !J&tl -09j3O"(>T+3GUe:A  #4%5! + S\D2(+$3%; /&\Z 5 &` ,:0on$(I<$N,$U)4/-A[$+DRc Svm>ENV"EQx %"%LP)24 H553~  9HVb`[+L&S1!/= -<.D s+7.  7A%k -V0?$E"  Z}]s=+].K9J "<W!-D=# .5<RL %& zx#<.J$*  "*( !!gjy.+: {< uS13& =04<,0): C=t&J  .|GZ  (;MC)8HT@!%=l4  H$ P A3-,< 6:K_   JZ1d'V ?z += ZJc -&*`e>/18?Ua8.0at 6IO `!Rmm$~;5 )d9A N  &,8. 3abN ! / dou.99 / ?;RL-@a (8X&"C` D  UpS b&a-v-k%jjG%1r F%"," C^hA"3l6 'B7:7@l)O .vkf|M>%} /8 +(*&#,6B,.~ 3w '0  Pn :>"?E "(  9=n$q(.!NU'" " c \)  -ZeA[on 7|%w74AEK%4 -8+D9$gm *J$)!)e:/   J#W1f> Cm3-)=3 S: y<  "$*1uKQq0 ,/H  ut'Ed& `/[#*v"y YtI y 53l &:M,  "~R 1&4'1T[  C_ Pp(4\7!HQ!B2i004>Xf* 1)$H  T# !4 SCI58(W z  F1JLYk&) v0g[1  X_T   X.;R %sm:   4  \~6 ! +1Y`G F x " FL(w&3 50,$ #G42) :$d?G )k:d 8**1  U 38J$- 9 7 }sF(r4*$O ?ro' #  n02x:2#:r<EJ 5HH4 ?=[$`O$ l .P7C:4=#)$-5=!.Gi#"$l.5>,:'^-(  H1 J,&'   V7N&2 - ? i K) Jr%7U H{8 *EZ8$k  'oN4p,C IM[8#V6q0E{R dG 7+7^ +^M(   ~}j  +& n|,D!)0*lM1 I/.JQ%j% YAOX%IB .j]g` :. %-V*3x & N(K;Z . C 80 &7&  J v 5D"'*u V2 6A_m;Zc -4 %?&1w 1AI 6j#i$M1q;R g'5E1=l 2WV$9KI 4*"V9h{r(  j!"".   > EGZx",^#_j$(B|9   Ma $ .!c"$#3L/-?)     dDZ, v  E x( 5%)B&  ,6(D6G><2 *cM#8 -PyfEkz,NB#%!z#=%V.%Q# #5%l # + %<  , $ Y 9&4>l|T S +3 - b%?1Q>=$@ K2Bz k <-  m,&.5: Rb'C?XI7&! nS.=j_ 9Zl-  w< g/  /%JQIyvY #".G9 H 0 ). (6n~G\ d  $ RM^!B,.3I$\$?hEv @,: #!8%C#Y3 |]`H8fDC8BA8&&/H?L    6? ; >p# $PF6")!-) /.?SkZcr"z6K /-!ee\w%,mqTY,7 *@#6M8S<z7vF** (   )kz> d,&%2ns-():{ @ -N63}3L:@ MfBj}t @ T$ Zq) ,  IPV` 50>%G U=G@ 3D.cPd /gn8s+"Pv;md4-(K/ = *@ 9.y$Z.&!B :&>'#",K11%5 a$ ^A EKn6;o T*;3hRU GOY`B1y5Fek Z#A~H[}*2 N*tZ     J ,r 6 3*GR4?T3?Kd9P].#% 1=(I#,-Pb$=&i>*'D,8U /,3D+/GD .!z Z +J"(1 ,$ #&3$/8B!  A5v06? *)aC  $/8B=0!9& (^ cw=3$ ,f*_  %  <3A.b! Pfo $/ $ :HN _   [4 &  >   3 ,@X\5^[< Bn  EQ 4[& #$$=" 1CM ".-e`$1 :!  #9<O $* W%.M o)+5J6<Y+$)   j . ~   ?= 7,;Z pM*0>B$*"5M#3" #.<  $F s1@3  ?&A: ,R) ? ~B<-&*32P*(%##L,C+0H @.-?CR|&0 ,AM!-W,2    (npbL  ) 8hZ n ,'E;S1./&&-$xG-@ Wy".4AK$!%C - 2p Yoxc=UT%&=C!]cj{Y5&D -<{V0- %G/H ; 3+;k(r ' o(/8\@?12%2,8k ;o$zk+ 5nFLFixedObjectCluster testSelector expectedFailsclassnumberOfAnnouncementsFLFixedObjectCluster, testSelector expectedFailsFLFixedObjectClustersxshxxshysyyFLFixedObjectClusterL testSelector expectedFailsresultleftrightFLFixedObjectCluster testSelector expectedFailsrootfileSystemModelfileSystemPresenterfilterFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterwidthstylepaintFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster, testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusters testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailslineFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster X testSelector expectedFails presenterFLFixedObjectCluster" testSelector expectedFailsmanagerwindowFLFixedObjectCluster  testSelector expectedFailstestingEnvironmentemptynonEmptyone elementIn elementNotInsubCollectionNotIncollectionOfFloatanotherCollectionnonEmpty1Element subCollectioncollectionWithSubCollectionsubCollectionInNonEmptycollectionWithoutNil collectResultcollectionOfLargeIntegerscollectionWith5ElementsFLFixedObjectClusterj suitestream suitePosition suiteTime suiteFailures suiteErrorsnodeName stageNameprogressFileNameprogressStreamshouldSerializeErrorFLFixedObjectCluster testSelector expectedFailstallyFLFixedObjectCluster testSelector expectedFailsbrowserFLFixedObjectClustern testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster xScaleyScalechartstyler masterShape markerColorgetRelevantValueBlocklines formatStringFLFixedObjectCluster  testSelector expectedFailstestingEnvironmentstreamwriterFLFixedObjectClusterK testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster dictionary orderedKeysFLFixedObjectCluster z testSelector expectedFailsaSliderwindowFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsforkvalueFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectClusterdomainrange interpolate uninterpolatelinearFLFixedObjectCluster! testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectCluster testSelector expectedFailsparametersToUse ffiLibraryFLFixedObjectCluster G testSelector expectedFailsFLFixedObjectCluster] testSelector expectedFailsFLFixedObjectCluster# testSelector expectedFailsunicodeGeneratorFLFixedObjectCluster  testSelector expectedFailsparametersToUsescaleFLFixedObjectCluster testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationextractBlockInTempextractBlock2InTempFLFixedObjectCluster testSelector expectedFailsparserFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterH testSelector expectedFailsclassDefinitionFLFixedObjectClusterQ parent propertiesscopeselectorkeywordsPositionsbodysource argumentspragmas replacementsnodeReplacementscompilationContext bcToASTCacheFLFixedObjectCluster" testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster5 testSelector expectedFailscheckerFLFixedObjectCluster  testSelector expectedFails environmentbrowsernavigationStateFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster> testSelector expectedFails filesystememptyFilesystemFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectClusterZ testSelector expectedFailscritiqueToolbarFLFixedObjectCluster testSelector expectedFailsparametersToUseFLFixedObjectCluster testSelector expectedFailsbFLFixedObjectCluster testSelector expectedFailsdpnodeobserverFLFixedObjectCluster$ testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster8 parent propertiesscopeselectorkeywordsPositionsbodysource argumentspragmas replacementsnodeReplacementscompilationContext bcToASTCacheFLFixedObjectCluster w testSelector expectedFailsivarForTestingFLFixedObjectCluster/| testSelector expectedFailsFLFixedObjectCluster } testSelector expectedFailstestingEnvironmentFLFixedObjectClusterLv testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsbuilderFLFixedObjectCluster6 testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsresolverFLFixedObjectCluster/ testSelector expectedFailsFLByteObjectCluster@p* FLFixedObjectClusterL testSelector expectedFailscanvasFLFixedObjectCluster_ testSelector expectedFails filesystemguidevisitedFLFixedObjectCluster argumentsFLFixedObjectCluster currentSession categories guiCategory toolsCategorynetworkCategorysystemCategory userCategoryFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster' testSelector expectedFails environmentqueryresult resultItemsfoundSelectorsFLFixedObjectCluster testSelector expectedFailstext candidatescontext processorstreamFLFixedObjectCluster  testSelector expectedFails classFactory impactFilterFLFixedObjectClusterU testSelector expectedFails rulesHelperFLFixedObjectCluster testSelector expectedFailsmockuiWaitingSemaphoreFLFixedObjectClusterH testSelector expectedFailsrootfileSystemModelfileSystemPresenterfilterFLFixedObjectCluster testSelector expectedFails breakpoint1 breakpoint2instance inspection breakpoint3 breakpoint4FLFixedObjectClusterW testSelector expectedFailscompletionClasssystemNavigationFLFixedObjectCluster testSelector expectedFailswriter fileStream fileReferenceFLFixedObjectCluster5 testSelector expectedFails slotDisplayFLFixedObjectCluster testSelector expectedFailstestingEnvironment workingCopyFLFixedObjectCluster  testSelector expectedFailscircleFLFixedObjectCluster testSelector expectedFailscanvasshapesFLFixedObjectClusternanossecondsFLFixedObjectCluster  testSelector expectedFailsrootfileSystemModelfileSystemPresenterdialogFLFixedObjectCluster$x testSelector expectedFailstestingEnvironmentFLFixedObjectClusterC testSelector expectedFailsnonIdentityOrderedAssociationsidentityOrderedAssociationsFLFixedObjectClusterC testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster! testSelector expectedFailstestingEnvironmentFLFixedObjectClusterk testSelector expectedFailstriangleFLFixedObjectCluster testSelector expectedFailsplotxyFLFixedObjectCluster testSelector expectedFailsmorphFLFixedObjectClusterl testSelector expectedFailsFLFixedObjectCluster? testSelector expectedFailstestingEnvironmentFLFixedObjectCluster7 testSelector expectedFails controllereditorFLFixedObjectCluster testSelector expectedFailsoldValueFLFixedObjectClusterL testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectClusterexponentFLFixedObjectClusterl testSelector expectedFailsFLByteObjectCluster^#NJFLFixedObjectClustergnameescapingindexscopeusage originalVarFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectClustername owningClass definingClassindexFLFixedObjectCluster testSelector expectedFailsFLWordObjectClusterFLFixedObjectCluster2 testSelector expectedFails operationsFLFixedObjectCluster! testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationliteralExampleexpectedLiteralValueFLFixedObjectCluster8 testSelector expectedFailsFLFixedObjectClusterQU outerScope targetClassFLFixedObjectCluster testSelector expectedFailsmethodNameEditorFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster< testSelector expectedFails environment groupProvider builtGroupsFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster_ testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster1 testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationoptimisationsActivereplacedMethodsFLFixedObjectCluster9 testSelector expectedFailsparsersubjectFLFixedObjectClusterA testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster  testSelector expectedFailstestingEnvironmentfullempty collectResultemptyButAllocatedWith20 elementNotIncollectionOfFloatcollectionIncludednonEmpty1elementwithoutEqualElementscollection5ElementscollectionWith3ElementscollectionOfNonIdenticalFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectClusters testSelector expectedFailsFLFixedObjectClusterv testSelector expectedFailsparsersubjectFLFixedObjectCluster testSelector expectedFailsmorphFLFixedObjectCluster testSelector expectedFailsparametersToUseFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectClusterstreamencoderFLFixedObjectClusteri testSelector expectedFails presenterpresenterModelpreviousLogSettingFLFixedObjectCluster1 testSelector expectedFailsFLFixedObjectClusterj testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster testSelector expectedFails tarjanPackagepackageApackageBpackageCpackageDpackageEpackageFpackageGpackageHanArrayFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterjstateseedFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster j testSelector expectedFailsparametersToUseFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectCluster ? testSelector expectedFailsFLFixedObjectCluster&J testSelector expectedFailslocatorFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterVparent properties parenthesesstartstopvalue sourceTextFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFails newBuilder originClass usedTrait superClassFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsparametersToUseshapeCollectionshapeCollectionClasscanvasFLFixedObjectCluster testSelector expectedFails filesystemFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFails environment groupProvider builtGroupsFLFixedObjectCluster testSelector expectedFailsexpressionFinderFLFixedObjectCluster  testSelector expectedFails presenteradapterFLFixedObjectClusterO testSelector expectedFailscacheFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster8 testSelector expectedFailsFLFixedObjectClustertinvertedFLFixedObjectCluster2 testSelector expectedFailsaBlockcontextOfaBlockFLFixedObjectCluster& testSelector expectedFailsFLFixedObjectCluster. testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailstestingEnvironmentFLFixedObjectCluster: testSelector expectedFailstestingEnvironmentnonEmpty5ElementsNoDuplicateempty elementNotInelementTwiceIncollectionWithEqualElementsnonEmpty1Element"collectionWithSameAtEndAndBegining collectionWith1TimeSubcollection collectionWith2TimeSubcollectioncollectionNotIncludednonEmptySubcollectionelementInNonEmptyreplacementCollectionSameSizesortedCollectionFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectClusterp testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringFLFixedObjectClusterY testSelector expectedFailsbrowserFLFixedObjectCluster testSelector expectedFailsticker schedulersuspendedDelaysHeapFLFixedObjectClusterh testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsellipseFLFixedObjectClusterFLFixedObjectCluster  testSelector expectedFailsmorphFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster w testSelector expectedFailsFLFixedObjectCluster > testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterZ testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterx testSelector expectedFailsamStateFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectClusterSdomainrange interpolate uninterpolateconstantlinearFLFixedObjectCluster  testSelector expectedFailspluginpackagepluginConfigurationFLVariableObjectCluster                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                I                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  FLFixedObjectCluster testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectCluster testSelector expectedFailsmodel environmentFLFixedObjectCluster  testSelector expectedFailsparametersToUse ffiLibraryFLFixedObjectClusterM testSelector expectedFailsFLFixedObjectClusterf testSelector expectedFailsFLFixedObjectCluster0 testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster8m testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationextractBlockInTempFLFixedObjectCluster testSelector expectedFails environment queryResultquerycursoritemsFLFixedObjectClusterV outerScopetempVars copiedVars tempVectorid tempVectorVarnode isInlinedLoopFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassFLFixedObjectClustera testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparsersubjectFLFixedObjectClusterPname environmentFLFixedObjectCluster testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster testSelector expectedFailstestingEnvironment emptyDict nonEmptyDictnonEmpty5ElementsNoDuplicates indexArray valueArraynonEmpty1ElementcollectionNotIncludedcollectionIncludedassociationNotIn valueNotInkeyNotIndictionaryNotIncludeddictionaryWithDuplicateValuesduplicateValuenonEmptyWithStringFLFixedObjectClusterr testSelector expectedFailsc1c2FLFixedObjectCluster testSelector expectedFailsparametersToUseconfigurationSelectorformatterClass contextClassFLFixedObjectCluster testSelector expectedFailspackageAaPDPackageDependencyWrapperFLFixedObjectClusterparent properties parenthesesleftright statementsperiodsFLFixedObjectCluster testSelector expectedFailscurrentCompilerFLFixedObjectCluster" testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsparametersToUseFLFixedObjectClusterc testSelector expectedFailsFLFixedObjectCluster   testSelector expectedFails identifier preferencesFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterz sourceNode expressionFLFixedObjectClusterA testSelector expectedFailsinspectionClass presenterFLFixedObjectClusterX testSelector expectedFailsFLFixedObjectCluster testSelector expectedFails newBuilder originClass usedTrait superClassFLFixedObjectClusterJ testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectClusterD testSelector expectedFailscommandFLFixedObjectCluster+ testSelector expectedFailsbuilderFLFixedObjectCluster. testSelector expectedFails historyListsavedFLFixedObjectCluster testSelector expectedFailsmonitor classFactory logBuilder inputEntry inputEntriesFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstext candidatescontext processorstream backWindow1 backWindow2 topMostWindowFLFixedObjectCluster) testSelector expectedFailsclassFLFixedObjectClusterR testSelector expectedFailscanvasshape interactionFLFixedObjectClustert testSelector expectedFailsFLFixedObjectCluster* testSelector expectedFailsrootfileSystemModelfileSystemPresenterfilterFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectClustera testSelector expectedFailscompletionClasssystemNavigationfetcherexpectedElementsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster7 testSelector expectedFailsvarFLFixedObjectCluster testSelector expectedFailstestingEnvironmentFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailspointFLFixedObjectCluster@ testSelector expectedFailsaStringFLFixedObjectClusterf@options environmentproductionEnvironment parserClasssemanticAnalyzerClassastTranslatorClassbytecodeGeneratorClass encoderClassastTransformPluginsastParseTransformPluginsrequestorScopeClassbindingscompiledMethodClass semanticScopeFLFixedObjectCluster I testSelector expectedFailsmanagerFLFixedObjectClusterh testSelector expectedFailstestingEnvironmentemptynonEmpty collectResultemptyButAllocatedWith20otherCollectionindexCollectioncollectionWithElementcollectionOfFloat elementNotIn indexArraywithoutEqualElementsduplicateElementcollectionWithDuplicateElementcollection5ElementscollectionWith4ElementscollectionOfCollectionsOfInts collectionOfCollectionsOfStringswithCharacterssimpleCollectioncollectionOfStringcollectionWithSameBeginingEndFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailscompletionClasssystemNavigationfetcherFLFixedObjectClusterSw testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailstestingEnvironmentversionvisitedFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster xScaleyScalechartstyler masterShape markerColorgetRelevantValueBlocklines formatStringFLFixedObjectCluster  testSelector expectedFailsaSliderwindowFLFixedObjectClusterA testSelector expectedFailsFLWordObjectClusterpY!YFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster+ testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectClusterdomainrange interpolate uninterpolatelinearbasepositiveFLFixedObjectClusterV testSelector expectedFailstestingEnvironmenttestEnvironmentFLFixedObjectCluster testSelector expectedFailstestingEnvironmentuniversalEnvironmentFLFixedObjectCluster testSelector expectedFailsparametersToUse ffiLibraryFLFixedObjectClustertestCasemaxTimeForTest testCompletedservicesFLFixedObjectCluster  testSelector expectedFailsFLFixedObjectCluster  testSelector expectedFailsinstVarForTestFLFixedObjectClustermanagerdeferredStartupActions propertiesFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster testSelector expectedFailsFLFixedObjectCluster commandLinesessionstdoutstderrFLFixedObjectCluster testSelector expectedFailsparametersToUseinstancemethodglobalsencoder optimizationextractBlockInTempextractBlock2InTempFLFixedObjectClustera testSelector expectedFailsfunctionFLFixedObjectClusterDselectorvaluableFLFixedObjectCluster testSelector expectedFailsparserFLFixedObjectClustert testSelector expectedFailsclassDefinitionFLFixedObjectCluster|parent propertiesvaluestartFLFixedObjectCluster testSelector expectedFailstestingEnvironment errorMessage errorLocation errorSourcetext interactiveFLFixedObjectClusterX outerScopetargetReceiverFLFixedObjectCluster testSelector expectedFailsparsersubject splitterClasslinkFLFixedObjectClusterE testSelector expectedFailstestingEnvironmentaClass anotherClassyetAnotherClassyetYetAnotherClassFLFixedObjectCluster2 testSelector expectedFailsweakSetWith3ElementsemptyFLFixedObjectCluster testSelector expectedFailscshapesfFLFixedObjectCluster testSelector expectedFailsclassDefinitionFLFixedObjectClusterk testSelector expectedFailsanalyzerFLFixedObjectClusterD testSelector expectedFailsFLFixedObjectCluster s testSelector expectedFailsbaseUrlofflineSettingFLFixedObjectCluster testSelector expectedFailseditortextAreaFLDictionaryCollectionCluster#M=    FLSimpleCollectionCluster[qY  7 dr n "!$  4 el  U H+ ?J 6 $  W _ .bF-  m $3/v %0      I . B 3   e$ At1  FLDictionaryCollectionClustergFLSimpleCollectionClusterj) j    FLSubstitutionCluster# 2'\m$: VXE{w?/#$q;'&6ZG) rs *ʍ1%&&c <] ~?ɬ%(3)?-("١@< GġG&.# |"m(06{/X*9  C*)5$0)-OM "q]ܙD8_1<- F"M,!+N/gdV&$Q2 W3O*\!7  _|  1 Ѽ +-%  = &  ( B %^1* Xw' %˪$.*'"[^o^)." K72<h l*)3.#*a#x 9+ >-$2l' +$ zF _:A j 93<;{> &"m[*t 'ħ!fC W%Ɨ($Uܟ,+8 1!  CZ"Gb dl$ (,,"$ M*55~E$̌p4w 3=E#D%*83?U#- f ' ! 7p`3n + CQ6B'/7!]+ :%X\k %&f]{%=`%  fu? Ad&#[s  ˍ*vC0S d $7 $ )$|8% u$2(+"`"D :%H;1Nph1NH;1Npi1NH;1Npg1N-'+% 7Z % '(&d y(j^qj:d )v?1)%"M wQO _Va&U4- m5 ̔)e8RG)NH$!x(<  " E# XpA'*Ls%,J! u'%׋'i 9+'%Z˜$bA$%\ &e q PfHy'-.s)ڗ ̥%e"  #2<o80)0#o:5 & *:) "$  8" .$%!%$ @%\)"*v:*):#N[: ^ "2C6 o  c3 )@$G!  % $H&քAa_ʏ$MFx%BQI/ l$ZzH M(s$yD _NE*/'>#7=0?a֎ {$ dވ(bx-6 B  B$c.)Q/->%7?ij k֗';-!LV: U(" a)TE '{A@\}4'V#n*#vMA)( O#m) |U9)h" R /F!%*.9T%};$c:-h%,&&DӪ'(h & '}%&6O/)S0#&@ +22(*&3nb % !97''$+ U 6="0V 5 (" )yBU;3ʝN Bn4~ 0) z$a=! (t)#UF UΌyYT3S$ </T "1(K*" ܕ%&/_H'Vh[ '8#< O! 'c ) >" & G #'!C6|5 5-'!{4`y(i4'8yycyZ1y Hy'84BG4Z;%4 Qy4*B(4*By4y Q4`4"IX4(i60yw4Š4/ y 4 ky'!/yy0Iywy"I"yG4Xy~4484'G)  j=a'@ w"A($: H9'B^,)l }\#( $'& *P P+ 7,  J)JZ .*`$"H&"*h }*B)t!$I*!j˝"6)$9 4 X2f+p?:6 *z@t**)/A &9Cü#C+( -T An!Tu #i="Gs^')rW(%D! Io7Q #O@'9#'%a<:p"E%Z,)B;s -$bˋ u55H\ bq 9f o%>%) 'mFF]$ cN? iٵҳ,}= &A%ha *"%@(Zc+ , >' (H9 k4"yb!Jt/t"@o a (ϊ Ȕ!"= H^Aw  r An r!!Q*34s(#})"B  >R$;N4"\,&-yCI&0]%!e` / T'd 94  QCA# <%˗5@Ĭ.';+ x'HZ< q!: i| C "T<&C5s#N .{ _*_!Ke*FD  '':@ S6/d%e(xI k!(( S $!~)E/  N͊$7!!Ɯ/h ):&q&O 2E- \z5 >.7x`B"0 Z)p3Z%"PqNR>(ܤE'o?f8k2*R1V#j a = G k֓v|#9Ȃ>2q**&$/$U#]!_!  GH/ g/#6i!e2G!(+eq)$ j 7ލ)O#'Agm :/3L"!³Z,1*j %\U"$)YaYaXXYaYaXXXXYaYa:  *'*%h,%`"% N B(8A@= i yOqzSnl}5$w~7&w:(w;)l@/wQCjVFva:vb<xoCjqDx!m&m'x?xAlRFtrLjvv x+tXX-ww0j7j1My4QjMZz3u6m_<tW//m@{1Lm<R{>TtY?V{BZxY1x[9jg(Vt,,Wj_.֑9j`/֒:w<֙DlzH֩RlYN֮VwPֲ]l Qִ^mQJvVyYyfk&B*l6+J0k-L2yj<[@t=^Cu>_Dx:YWYPaFn6?aGtuCcJykGhQylHiRymNpYto zsj"uj#vlL˘lQˡ{_U˦uX˨tY˪up/vz7k16)mcDH;y VYMuQJvd[zYg^xKwpzdzek^ll jz+{z 1z!<m't8m$?w>*Bwzvwlw|yݹ.u5m7z<l?yDlKyYm))u+m/mV;x^wcx_.qx`1rxa4vteEu(rmuky wvs-p/WkG|ykHtHmDy^zq4yu8u}JuV//J{GK{U+[{a8kvg=py y ({C{LuXXϋ{z` |{-l98˜iJ¤ mM¥xU°l;Y±xu xu XY <kDj5Jl zRpm;Y|!zg.krp\l}$dv ~%gn&hzO1njYIwKЁjT!FjU#Kwo>juAkyGow'vmmulVjM.,Bw) xf0tYXV3lFxgJmoOy!n>$y.k0la1kIv@vBt"Fv/S{83Wv8`vAjm@zCt}+0k_,RkYt~ZkN[x&R^x'dlzitmmzzq|wtdjuel?zg{|ht}iw܂jwܓ{nEܙwܝ{ܢybXud,3+\uSphuTrkyvrtyxue}yFmHm[j^kא;&j\י@1kצI<{ZѣG{\ѥH{aѨMj[cѩNyjѱU{uѽ`mwbu=ejhjl{ouOxPvQmESl@_ukxl{H|k~xξNx TkdXw'gx,js1sw6xy_u<cvfzzưz{Ʋtƺkƻm ƾm"t{z|ktXYw/xi4j7xjGu./ƥylojbnpwWqswXuwyy}yčwYĒmēvʌt5jʍu6sʕx:vʡEuʬLkʻVy2(3k*4y3+5t/'/.Mt?Oy4CTm5HXmyIZk"Nau/<.Wuޚtޞmޤiި {`޲%u޾2{v! j؀xL؂xM؃y؋y،y؍lاtկQjպ[wctjfxgzjuu}lFqm~GtjIvw Lxz#%dӌyqxutyjWxxykyw͹l1/+k,jm+.`Al`uwu.i/O۸ٰv8lܩw?tܱwUvalZdt!hlѮOxѳWn/asjykkn{#9xA l~B xE xPmQuRu-,j.0nx[(z^`u`buaczkixmqnmȧmȬyȴmȶ n ȹn ȺmȾw^kgw~l/m0IkܨtYjY/G؆k$ܲ؊kܴؐtؙt}u,=,myU:vJuNsTyWYWXTIsYXWLyĘ?{ĞEuĪLyĮStİ W{Ŀbm{NxkLz}t:Ut<_t=bu!ujY.YT$ԥn5 1ԧx<4ԭk*Vk.XlgzQillzRs{O m {P{Qz πz ύzϢjϩzϪwϰt)϶m fylt3..#~w+%ǀw,(DŽk,Džv{<jO xqdkMku:.`-a/tmxl{M/mO0kdGjQdjRejSjvtxÔz̋mLbÖm— s¡s£ w¦'w¹!3v»#4v¼%6jEUyGWyHXy\kt,,3khuym{ll̛k/'0(Ps̢lụlv̧lPx̩y~̲uֈjD{{n2{mlOxkjblknz{mRއ{Yސk6-xZ5x\:j;x]B wIjJjLj'U uAUuBVyWz}XzruCXYl~uDlȢkȥz=ȫz@ȱ{,{.zCwZӎ۹w\ Ӕjw&ӝu2-q,Ou5Ӯxt;Ӵy]8k_;mBeAyqKusMj!~Uv s$k.ytYIXHpzȞzȟmȤzȪn Ȯlȷ mȻ{-k3FnvIxvZk5\mngלn&phןn'slףtyvשxłÃ׳n(ņÆ׶xŇÇ׷zvAltHw^ucwYWX߫szyml$(t%)w07w6< w:? tDDFmti//<{\=l*Bl+DlF{]HiKvP vYWXGl[kO^w[jaj}mwpt,+{Ѕt.ІuHOlTk[u>\mx]ywx${0&kZ%-k\*1{1,6k-9u6@xJMxwxzjzm&l{,#zl5,n4>2w S'kh V)wY/w\5w%c9ki&e<j+i@w.lBkq4uDwB7#wC8%wD9&xV:'jC,n,I4tY_X=u%V?wG]Dn._Gl ϻk$k&yY,ug00(y[&.j2<jdט?jeךAjjעFy$|׫OvÂײVsÄ״Y{R{Sjy&y' y(j{T {Pz~ Zl2]u_m&`{d{hzi{mup{"sm'){ {*|x?zuw{vtG|x ux@jn&xA1w4sYY{0y<3mF9yJ;mL=k[TˣuQ,-bˤuRYwXi˧zdZ˫ko_˱zvb˶k|k˻u+XYB 7wp9t1r;t2Y/XBvvvy/l1s2v3 {4kn"m* l3v-,ru"k"+j0<x=Bk_BKlH 3u3YX'5l-`ll'w xXTm,_z/dz1g{UdLklhSlljUldscmYuhwvizznu]~owxj"m$k0?yyytJ y- yDf"m[p%m/u)u{/u}0k2yF7k:tCm1K{wakjwm{xq{yx uY0 /W.w΂{zΆt&nem:ojyqkj@}#y{@'{A,jA1k jk{ak:$ $wk! x,# j %x.'j )w.t53)yqô zD"y.zE/k-{6#k){7*k:k=nVzj>fj?n t8zx"v #jP]v[iv^mljdovkyy.yEk mu!x&!lll%u-,Rt'l*m3z;v}v$v,v/v:1v=3y1'1t/:utXY_=ԷJmqBRy5DUjL_w׻-k1uI?uBjKu7@y=By?FuGMt?ISyQZt@XX͡\wT]wWbl[gy]kw`nybom݄/yqݘJyrݭXysݱ\uwqutn"{{d  t7X0 àF {f kcmwp6t6/-[p9n r@n!wEjqxFwzHwKupYYdmQxUT{e Wwgl'Xx+\uN/_u?0`y5fl6gx8ktz\{?hsLm[znexgzolzpol&6Bz+>LuWAOu9KZz-P\yTbyXhj+t3#k75(wI;,j@5wJF7wLOCmt=xcCmuKw PmwRk>]l_k%(Fk5>[z>D^zYWXxcnFMiy%HQkx€nx‘|mƸ~m!m#u<[zBaiڦ)!tMڧ*#wڰ/+iڲ60iڴ82wڻ<5xڼ>8xھB<xڿC>jPPuSSl"l4tXYYwLkbٱHkٽWtT+.e2Yuw,".eyp{jrysk umvumXkr`yvyzuIjm"QtuX'Wzy(Y}{,\{/ay0dm{Cj{Et"x x t#tZ/v,/Wxx (u;{mC͊fCz͗oJt!4`z\#6ez]3Dqz_MW{mgrk|%k5u<w0j j w1 vvv!s$w2%l[*te.lg0y؈kؒyؖm؛m?آuة{Bm&w-{D >w@{FEtPFy^t{ _vtbzmd{{ f}lbqуyyщjј{љk Sk WuXj#`k,m{m.oj0qu;zt={{n?|l0j=u/]/(uJkKyuJzzMs{NySzԀUzԊ\lԘeyCl'N{K-Ty/Zt8gt^_v#|j(mi5ueZ{nbn8pdk|su|~tyˀv{ːj6cxej7wwytl,H.Flkx x߀Iwkp߂Kyx߄N{xߊTjߒXt;ߕZjߙ]xߟgtIߨpx߰xk,/e_zufkXwhz{jkY~kzltY X}lp zys#j ,z-l4l[&Atb0Fy=c1Gy>g3Lln8OjzE]mdžNjj͂as͕ns͘pj͠uj ͢xsͨɂyuUwlZ~wi ܌y:"by;%eu,,Ymy6tY(Yˆl:uXYUm}{{t{u{vmmtYQY{h{imm҉{2ҊwҌwҕjoҡwҧmҬyxSyxTjCōj;FŔjHŕx Xšx!gŮx"hůtjŰ{Mlűx߁JxߍVxߓYkIߚ`tߛcz.ߞfz/߬tz0߮vtV4ew-nF0w7 uD(uI-w!L4nHN6w"YWXjP7wT>xnxovlvmp/Ԧz3ԫk7԰uYXuGuIkZxŎIvŜXxŤbmťcn$ )|t2Ԅz9Ԍz;ԎlS <ԐzOjQt-Yzazfz}wɲmɴmrwwmwwu6cݴwgݼjslvu7{w|w}k~u8llv/0}nlfst{{z~lh}Ćm|Đt>XXotAoyf{j~z8*Еn<0НvA3Т{SEе{VHжitaYXui ix7xrAtXY]@WxGtJsOy<ٶl nw&om pntnww(~ul nz8*zM>zOCu[w3]jcw5pt+;-z̄w7̆v%̏n)'̓v*v,v2v:u!an,ryE1yk2|yG9yH?z8հtfYXxikHxSl9w;w#>tX.H{9Q{AYuذkk{-}j2uE8ȊuF=Ȍl;iwQ{k^ӄt`Ӆyc}{m@..e|kN}yyu^.n,untRlalglk{ls0S.sCyȍuGȑnȖxĝw-ĥmGxe).xv27u:=lGKxhUUu,z4jFzK$ͮzL%Ͱw'Ͳm*͸m-ͽm/mf4w5 wJwckweuw/w 0u:tEm`vwqڊkrڌwtڎkU/#'kV3(-t:,3uG9@kWI<BySGPtTIRyVJTmWKUnC#j& {+m.{57{?*l A.zɵtEYaYɶjɺw{zzlk}j~z τzϏubϥjϧt(ϬmukSGy llKu5!y"x)x0yjt t u"t . y3j{s+.ޟt&v(v)j+m5{kx|x}{{j]qدj^zxxvKvYlYm`knyM:z`"ztr3mWC$zG'lwtlk-wS>y+LwTStVwUXl4]ygon tmzyhwy, y.#wYWXc%t )mjj u*uf,{^4kTK.{&ޘ u.0/Y{' ީ!m޳'u޴({(޷)xG6k!@lF&tM0uuP5kS8xgAjQyRx S yT!yZ',tCf29jfi7=yj8>ys?ClyCExIKtϹl.z t w:zw;w<kc(yv;kx=ty?vz z vzu)mvl]mN)w C'jE){J.{M5wQ8x8k9kC>kL?kELyVMsOjQkFXxayXbl">m\?xAl#EuFzUxWxXu Ym][z]t_*3z;Cz=DxHPxOWtRYxU\ucX^tÍ-zÐ/y/Ó4lØ<y0 æJjçKzðQ{u.U0OG{um{uwZg%jy]k'jaq.jzfu0t֔</kP֝F6j֧PEj֯YLmZ8L{cJ[yNVhyOZjyPa#qj0x{x{{xj1mͻ_tyͿdjij-mj.n{LouMqtQYYE$m<ltRFrm Qwx4)t*k.u <x5=x6Gzn=zMz5 zN@#z 9lIjRwYkɈfuɋhjFɗnw#ɛq w$ɟzw%ɧʁtɭʇ!kAz-Qm`4Xz5[z9bmd<dz@iuBlu~%x ݉5lMݒAy ݕH#l>ݢR+jݤV,y ݰ[2s j y6s s mkv t+{y-wԤ-tԮ5m4Ա8tLXY_q>w!z#uh0w6ui :{g~~uvt1lsMk2 TuZ'l^-y_/n@y|u,0~--h_t!nB)$k|,&lЙDwEСHtЩMlЯTwFаX{lO,mV4m!^7x)g=x*j?m-nCu7wJx:yLzP/Pu\6Xzi>]thǾbzwUizxWmz7ہ~!zْۖ7z8ٕۗ9u۞ٚ;uۡٛ<l۩٣@z9ۮ٧Eu۱٫Gz۵ٮKtbYXƏ5xl9ko<m |ExGjJj'Qt.~,נCSj3Ww6[y8<`tEelÉ+RlÜ@tsâGykèL~kΒblnδtOζwη{*3Sz$@clRwn2Sj 4VmC]lOezZnx|Jk;Oyntw΁mΈl|jwMxyj^cj`ltgwym}xޏyޑzjnInmmk#m{.W{l-9gwCvmUNtOwStt>1NyiC5Txxnxyot}zzzx{mkmSzRqjWtjYvt[d}le~tjڄzfmډy<~ژmڜw^wbtX/]x{!cj|+i{8s{=vktDytRЈw?bk@dkAfz*:um=z,DunOlUl)WyRlSkZ{pavdlql7tv.,s!by zy!|{sjŋFmœLxŢ_kŦdl ũkxŲu{ChlQYyuZ[{y^ցl5E,x8K1kR7x9\AtgNs,0k)vXXυjLv.K-ϳm7z :zFz Tz&Yz)[wBwPkZt]w_v:jDlKjP3]j4_mEW҆zFX҇uM]ҎmnO`ҏzhnҢk+krҩxQl5ouD}y?Kn:Pn;Sn?Uk-.[tdthy@jk?sjA{_lB}azHclIdsXY#!tejx[rvgŁk_wfwm tUpu,X. mMuzxz18pmG{uqVuy,,FÝAm[jdusfuel<sjr |k} ~wsmhkjjlut0j7yA"vyB$wyC%xu[&yl.ԁu\GԛzIԝ{ovu*XXXg~{q{rt"{9#{:%{;1x7 xWEmmAJyk4L|zfuhx*ɏikyɐjuəpyp݋z; ݡz<ݫlD~yFvZl_yhwEk1 Rx Wm$kuHlru,+ O{wƍxƓw#Ɨj*Ơx+Ƥz\ۓُmiۣٝj/s۰٪ma+Iz,Lk.Mj-d-8.5z8W{FazJetSlm/).AMje-Z,FRkBTwWmHjjzmytyml klyx?œt@xE¢jR©n+^½t`¾zՄz Չu%Փn&Ֆu&*՜t ,՟jKw*k8k9{bk"u@&)ywu-J/ux~yyssl("u'k'.xN1zhTziUjXmZjlx%xt,+Z ʎm`lajkt qmvz%ylzw@dѪl/mѴl0{koO"jd;nf>v,/>e#skAs,;.U(wyHy"جm}حz>صz?ظmؿzAzBy#ml{lkxjmxjJ|mu/,}xx mm{t.6.6tx'zu_+0p؇s,-^v  t  z mm9!u`$z%l(jm`̈́ui͍wj͎wak͐tr͙wz͜x͝wb ͣx ͤt߶kw߿n1ju/.0]x tlYXlSlYyck)ltFmjOֻsVs\l^cydygyljn{˕ lJ˗ m˛u˜uP˞{˟mˠu4//g^lL˭"nAˮ#u˳%m˴& y}YWYh {˼-u˾.y~5uU8n` mg{}#z'j߷Ʌj߽Ɇx)ɉkxɍkɓkzɔk{ɘx ɝxɣkɨxɮkJR lvVm.WyI[u/ d u0+d0.i#uh'xll+m$xAzzTֺl־mֿjNjOzUzVmv YYŴt*YHYwŵfu{<zG$Fj&Gwt'Hjt,KzH2PzI;Swu<Tm8=Vk-.ksĠ{ģmĩ{ĭw.Ķw/ĸ{ĺ{ĽlXſxj lxtxlqZRKy]TOkaWPuk`Wkqj[uYYA΄wz{whҳ@{<ҵB{>SwiVwjZwl^k*ak,jmFν{GοxIk~RtYYDkSm]td!{g%xn.{p/ts1znz|n}t{uXYtx+ jɳuɸw4ɼjɿw6jw8"w&uYQY4.lOry]րu`ւycփyfֆzݳ)0jݽ/8yݿ29kLTjS[zW]juvx-&t4+to0x/1j&9m<{m={u {{yQyRu ySu'yTkˏkmbjew vj$!xlف&lن+mي.meٍ1lِ2lٔ8 z٤Bl٭H{ k0"n(u<nlxtxkмw^lpv zl wqwrm- lo{lml!O uYKY{@"mi)uk+{m-i$r0l%%t2s~*jV /j(!=msqk(./{ỳxP̑&k̒'xUlw#\k)_j,d x7rx8sz<x l=y!zA|#xE~%j,/fm h\tim_z(kx2ntþty!yZ -y\,6kfNj3P"w b3n9h7w qAkgsCn*kڱ0t`sڷ:vwڽ?j{rxz#u:m@uCt GjZJzPMj4&{7)j;/lc>1jF7{MBleQC{UFxZNkPm[x]mo zxxytY$YQHl,Ͻt z%jE'k3z:jk wvpjӉ+wӊ-sӋ.k6,mz;/j <0n ?2x=A3tI8w&[Kt`{ 5v{ 8xy;|y=~y>yDkJyNk RkSy]b[y^c^jllwA|yjH~zy_ʈ#n0ʉ$u{VfSkkgTthU{WiV{XkYzvdzނnmjމumTޒktsixpt,. 3t"x7%kVgycpyds#yey,lNDVzWTKZ{YN^{=[QczXcZgzZlemz[tozmix lt,-#mtXY+oz{l}z&t-jXt]YY{u|nvuK/!,.a{vtZsmiрyjсuktх x{ыxяl}ќ'tѝ(ku9kx<k|Cz"ѐUxї\ulћ&eu}t)t.tXY*8t9{ >m2.Qm32Ux>ezHnzIpuOJr{zu",+Z׌wƔ wƩj<(t>0wHB7wKSHl4@y5Ay7Cl;HuEW-lM[2yVe;n#,-Nb#t/y!?lT#C{,x;! -n& 0{,@tw/Fn70Ht2J{4"Ln<-Wx>>0[lgĀhuąm{|ĉuliĕx x!x1t-,4tc"gn*mm-oxCl 3t&8z^=Gz>Im EOzLVm^NXzF8l:xoJxqKw_vNu{Qw`VmbSuai]z&zfz'jz)pkxj8BNj9KYl)R_j:2Vfy78\iy9AbrwBdtkim xl$|m'Fk[/Mk]5Q{7Tm=WzՃ+n!Պ0kK"Վ3z'՘;ja+՝=t+XYEQ@z/գEm3էIt ;խOlJxLyMt\UyWy[l`ybjml( <j-(Dw.)Ek5/KmEBVwFDWk`OO\jQQ]wVT_kaWV`y|UemYkyZmxB\olavuexmhmkmwxC|lxʜlyʟl8$ʩy0ʰl3ʲy:ʼu>ʽiXiZu,+K`{ mv+zv$5n%gakmf{to{{zt9ÀlU2xV3l _Dzb aHzclNj<}yj=|urlu xt!yz"ztdY.Y ܃k(m**m+0m,E%tF&j(߉zq0ߗuoYYY _ߝm>ߡt+P- ߭loܫwpܬl{ܸw|ܹw}ܺwܼwܾwlowN}x x k wOwPkkhRy`lSyaw [l={bl3}eyblu qk$wtB\mbwVmy)kl{Zqyt{[}u~MۂzQۇuY>Y:ۊ{ `ۙ{!aۛuvlۧmoۭm(u۲l8kBkEmIxDJt|OxFVxEXx(yn0l4tKF!yo]3v*s,mO4j46mP>zYk\jk]m$xym%yxxtgl_ kEWj%HZm/,ŒK]u.i-^kVfj&lwvn|vrzgt{[`{ddkeeiffiims$ru{.ׁk%ox(ql,~l$-v9x=z5kk+xBtCw8m{Bn DtKmLt$Ow"Xw(]z)^l[tmFvxxl\|jkk<mV{"fuhuvwxw[ӏk=ӓkQ!ӕt%әji1ӧw]7ӯwx=ӶmICxmKD{tzE~kHtnP!yd3lmxHJSmbNV{}V`{~\ixI`nxJfpytRtSXld {Gukxyvz{I}l5ij-+Hqxb>slAvt--wt%EzvZxdix#R{x1bϘvXY/ ϟllϣx$rϫlsϯzk%kR2zm6nЋn'Дl-Лt5ЦjBpjCqx{n<…wz: v wlwnt'+t/lŹotkˁjˊkˍlˎ{%ޕt%ޗj'ޙj1ޢz< ެzAޱjL޻{)Rtk^ujX/1zujlxuΥtyά{wέ~jίw1wP@ l:TDw[MkvaSyyn3mv m>-k ǖlCǗyzǡlDǤyxǨy{ǪlE{W]ڢ{Y^ڤnDprڶ{{{tkٲJmXu`lax(tke ,x&Oj{{lN̗zṟzs̷x̽ux;röj?uùz2DxûwJ}ýlSk/_z3`uLaz4cuzll'։wQՀ)֋mՋ1֓wՕ9֘w՞>֞wRբD֡s/t?wIy*{+nJjcjd v"x̖u̡wd̴k̸l̼wflBmj%u..{$2v ozwtztxYYzzzlZҲl[Ҵx _һk%jtrx sk&xxQ|u~xRww"w2yulxnȂsȄkȅyȇyȒsțjȜtmtuumJylU#u(u+/T|H lW1{܏w7zuܒz8{ܔ|:n-ܚBuܣH{ܤItvX+p{6(xΖnGΙxΚtΛtNΡxεt ιl λjhӗ!jjӨ+xsӭ/uӹ8tӼ:zJӽ;xuӾ<zzzmXlmzwt/W4׽kZ9za[>kkMkqQxrSkuXt0YNX=j)yj*zwy{/j+ j, jXw{j'w}(w~,w9"jG4t+^.ê6t,/ *49wm:wn;wpCw= EjI!Fm-UʔyJf"ʨym,ʮm0p/ʯyKq1ʱyLr5ʴls6ʵu1v9ʺ{D"sK(uP3{Q4{ V9yZ;j^@{JGkJvdu#~t/;.yƈyƕ yƝyƣ {ƫm Rt-Zt=rk@tkDytHzkK{u./Xx0qlsjtl{l ڈ(k ڋ+uڔ4tpښ<tq/]."3>mƴzƵzƶkuz{^t0 .qѷbjrcjwfuXYBxyiy~ltŒvyŽwj2 {/u/c-l >w6׾k7wEmJxPwWw[u,+3wx\w_m6`xaxxm'x(x/x0k;xC{3bҐzoңjppҨzvҪzxҭmyҮm7`"Ajsh(Izo1Oku|I^źOdjuJ-wg?tCwk]{_lANJlInjtǮ sDZtdzlF lG%j#< y?V'yD\+u$Kg5t*Eu-[,m,Ij 5W{kNbnPfmSjs%Tk<nx3YWX1xu4!lF0uZCjjmt/,Ikkt  t1k3z6;M :2%z,Jټ_U'  :%)=d",C!s "Dzg H T1T *ch>I?c@9!"4'^  Y (h"9!JO` '|a'1)BSES%-] 0 $*R(Z2~x*"ހ"AZi'> )|h.M$*g( ߯$4(Y-m!@ %5&[A)3'* X$=N(W%ƍ*'"."Et w%Qz$f Au%3&)w/"= u)I?6l W7%A]+e]I] ]e]*!]] 2#]T] ]] -\]  ]<]%ˎ]%.]]%]'@]]%i]](ht]  ]*K]j]&V] >]\]%t ]&v1]!6] X/\] ]"x ]M7]&m]"]$]] G] ]"BE]x S] %]W](0]*)]&5~]J]]!] ]*I]A^](#a] ]]9s](8] ly]y*]]P&]$&]2])>]%]+]a]b].]&F]]*] ] ]!:&]3D]] ])D]W]:/+_b I;0#.4_I|.,R`_IAY8YbI XXbI'+v,`J)/.Q`J*,,!`J/-gH,/m.Aq-g3Z/[+kf`gH,/QQgH/+@%\-]3[+-:-^3\+c.E3fkIYYeI.N-a$J_,/a%J`XXco4.0//<b4-.`I,,,{]{IYsYׂ]3. + -g 3`YXY_3Y0p9/YTcJYXY!i4,/2 e4(-/^`]H+/T-4`_H/..weHr.W,_7ItX-~EYX`rI.,hReJJYbY<uXg:4/+hIt-+h30Y-YGYfZ4:XYD hX^\4>00e@-g^]4e,_+*b33g+-g_/dIHjv/,N=dHnXYY]w34r0>0IdLH,-_^I/0wX._ IY(YYYcI4#Yw,;}YXa4nXY6,_u4.<+qG]Hr+-͉]HYYYe3`,,..(.g37./`/ /vg3YbXBYzh3YDXf3r-=.xhI,+ʒhIxYY~hIYoYh4+M-wPcZJ/.c[J-.EP-Ed4nYXcOH(YYG cVH+V-rܰhIBY_,i< YXf3YY[Yngw5YY ^I{,0[+4akI|-E,ݏ?amI}Z+,9#fH],o0m,f36b-,fH-\-=aI)-h.Òg-J/-gٻg.JYaYRA`m4=XYeFX`n4YhXYX`QI`XXxX`T3y-,{-zg4?{/,/<gI~XYeIüX_E4@AYbX>Xf>3=YYnXcs3DXY3'0hIE/j-ff\IJYSY3hI t--Ue J! /,64+Ad4YbYSXd;4.{.?Jb.,^4,.elIhYXemID/+G dKHos/,_)Ht-j03_*Hv.`._+HA-.>t^J.9.u3^JQYY2HOXe4R+.2՗-^4SXYrY h4VYY7w^JzWYJY=hxXf)4I./Ɍ^WIXXaRY!^R3^0?-YbIXY[$bI,{/K]JaYFYŸ]JbYY[Yf4Y-.Vо-g^Iv-0>ch@I_+-.hAI,/#0}d4,-.EbIYDYװJX]4.,HhH,0Ig3IZ,/e]hH./2 g{Iq,.h40 .e"HXXߣj_3yBXXMEY{a4GYX-Y-h4 /<+Kٹ`H,.0ddvI+.iJ5 XYXew4//8eH`+.S ]I]k+.W#_lJhWY7Y~7ddI\/=.}cCIr.u.0)cEI0%+/f#4o/0TdJ,0c_4pYYab4q<+[0Gۻ^H?0y/gHY[Ysne ID"-p-M\fHJT<.0R/a_4V?Y3Y{8Ybe4W+-NcHHXYXg38+3/u8,=^I+ Y^YCwXc3-XYX_Z3.Y3YXMcD3XX 'Yk_4,-z,3dJ:%,B/^/d4YA/U,_4--ocJY3Yb'Q`3+/u/`IcXXLjiIXYlYSb4B,f+j`VI.+<ڐaIC-}+hgHF/-1gHGYbYԳX_3#MY-YƛY[_3$,-+=bI +-p+ciI XXaC3+._,^P4x+-Ph+J,+d-dr4YXjY-g30S-aI,0 _0_f3 g-.9R`Hr,/PfAJ YDX@Y&^4\.<-Gd/G^4]'YYIXd4^,/ fCJ 0,.d4-09YaJ{YbY]}XbE3YN,oeTJ+/#=seUJ/a0o3Wh#J+,aRe.4YPYk_JS//;)`4HNXYc4G//g3beJd3/c/1d{I:YYOˑXhj3./mMdI.+wrcIYYOdX`4/+_YI}YhXɱXd_H//}׮dH YYdXd|428X,wX_4/T,9™]H-d+tl-gHYwXno]3z./m^/`3{./EcIx-+?cIyYYsh3+<,83[bJ+-8WbJ/.ʤdH~,7,Ě^=IYY[!Xh4%,/1gc9J6j.-r4eHk,-W,b3bl++CMb'HrXXvZbg3c+-F-LnaPJk-/.d3 ,,,_3!-+R-hI,.kZzaHI0/ǸaKIyY-YG̦Y^4s{YbY<9*XcY4t|.j0&ަfJ3._.9paIG7YbX*Xax39Y^XXaz3y,/G baIH<Y,F9Y#ab3=Y~+~aII,.+.c3 XX/ҁg3XYz,YbHXY.!YD_U39YYVsY_X3:-.mcHr+@/|ġf+I,sYX"Xg3t.-\cf-I-y---u5qf/I.//EdJ=Y-XΞXcJ>/0&1dJ?XY6 a4YX0pήdJ@0XYԪAYe4200r_J50(,_J6YbYy;4Xeu3YhY3Y3f If0,Ͷe7I/u.e>I+/#d*H,m/{$aHY YYa3'"XX'hK3(/-0+,Ub3XYf\reI+L.|j-f3XYUڀYza3//ZU bI-&-/i&J%-.<ճi'J&XY_J'aY;,Fi^6Jd-:/=dfJ/+[cqINXXjYD_3XXkY_3Y3XYJf?30Y[X'Y=`[3 YJY=X^)3 XXfT3 YY3fV3 XYO_YaE3tXYy2Yvh3u/n,+CaFH+o.iDz+Bh3v.,Ǵ-\aI3wYQYt+KbJ -P+ׄhJaY/YBY]fi3e+,:A+ocdI5qYYS`Xd64"/,%8aJZ/0OкaJXYXhf3_YYA8YTfo4I,}.ͱgOI-Z.r-+aS4J+/gVIwXY~gh4+d- `IYYI Xgi3YXYsd3XX,_IJYXaI`++n+TbIiXY^fYe^4kYY\Y-c4Q0,K! ,^3K=YgXXhX44?YYXh[45/.u,=:ӲdI,30?fJQ,,8[e54_.U/`eHYYveYdR3|-P/CeH-+sd`fIzXX/ X_x3,.E+ch/4V/-ęeH/G,DdIhXYG˹*cI,w/_J7-+AdJ8--޶_J9+:,G0=_R3dYbYȯX`3e,.-G$dI^-b-{dI_/',`Y3z0-c?c4YXY-g4-0^]ҸgHYGXcY)`3"-.a?.d^4 J,0endJ0/w9dJ . /dH/,Fc3Q+30I04^HYYcH.n/T cH++_!]IK0-R%]IL YY?y.Xa3/-8Շe_JYY[X0Y=f4XY5O^Yc3XXƄX_"3-g-uAbNIYDY,_3XYrYcG4[DYX+3,g3<+Y-gHO,.AN-b3=Y Yb3>Y8Xab}I/-E/;%b~I0/'0qbI1=.n+~9"aJB>--:A&aJC+-2_Ii.{/ktfIj5Y YY_3,,/\fIkYYD?]Ilt+L.}}` ImYY].Y=g3yY Xb5Yg 3YPY`HS/2-I|`H@XY@=^j3A-z-G)+h!I],.mfJ(6YXfJ)), /Lm_IP.._IQ-0Ƴ_MI//+faIY0Y܀~X`,4/,-߆.eHv.++6ς`3xYXYd4d05+gQauJ XYn>JX_4e>--6+P^ 4//nMe}JIYsYrXd4PYYrYi3XYYh 4$H/-sA+ce,3a.%,^ϊ,ieWHi+.+dH/Z+7"eYH-E._*,eZH+5.0c4OYJY=Xdw4P/,GbeJg-Z.Wx,.e4-A,|i+I  XYerXg3-,tMi.I!Y^Y ^}Y!e 4Y Y%Y"`A4mYX[]H,-"yA,fF3L/-;]HYzX 6YD_<3MYbYX`G46./SQ-h4YX?Y^_4w.D+-cJR., cJSpYYY-g3./i*I~-.-7hI-E,s,gI,/d04f3+-k$hIYPX_ 3 ++~gJ-+d.Pg4/un+/8(d-J+B-bBHb.,R}bCHYYMbJ37!,/߇Qa I$+;+0>dzI),.Da!I`YSYM;Ykg4b/,a^g4DY+X*agIaN,8+UleIbT-,Z`UJpYYX`y4-6-?z`WJq..-arHXY`fHG+,Q-gI6YJY= Xg4 LXYfY.b4 .;.`J"/.u+h4vXY6$Xh4wYXX^3S+,+h3X0p"Yf44YJXYD^u4YbYy!Xh4Y Yd4Y Yh`X^{4+-A`Hp/O.3_HqXYYzg30 -bƢ /h3+-A+Ph3&YzY&ƮwYDeH*-/ŷ-4a~3A,X-1Xb9H2XYSgzH.0p{cI2YH+IXg54XYeYk]4YYMuBYh4,/l^JXYXg3..Uʥb4IoiY%X^Y_q4Er+-zS,^4F+Z0IN/dE3+YhXe]3,$.-Ik_IU-V.HmbrJ*.n+x ,_?J+/..mhFJ,YbY,Xg4Y YJi!4ZY[XiY=c3pYbXiXg[3uYXh܋Xa3,,=b40XXYe41DYYY[eX3j+N07^aJ/-`I6,Q.Wa.i]3wXY=ɎX`h3+L/8Tc0SdZ30r/r `I7YbYYD`j3YzY&ɦYD`k3+,.М^'J.+fWJv.,͵~eIx//L>`I~/./`ݓ` I+,y ` I-u-f4YLY]ղWfJi-[/' fJj)XX$dY^3*,,ra0I#YMX-)Xf4,0?*ʭ`CI-.R*^4y+X-9Ce|JXY'_(JYl+u{Yb{3N-W+)eH+:.Ad!IYYM$Y-gN47;/,_dJUlY'-WYgK4o.%.O`6JV:, .L^QHk+?,ăk.g$3ovYl/;^SHqYY3fHYYcxI/</edI+/>ycJ--D bHYX Y=g4E0. cJ;YXMi^4J<./^H/u.WbHNYY3]a3Q+-#0 e3S+.!r/1^ 3_.j/[]IdYYYhaIe-z.--"eJu6YYnמ6Xf3% XYYsaZ3&YkY^hJ#,0J hJ$09+W+d.4yB,0bHNYYhb HY XOXb3WXY`UYbV3/0^!3,Q0%bcIM(,/ԯ+dJ[+c.MgHsjYp,/]eHt--ՁfIY+]Y'a3 YGY!ʠBYa.4_Q,..Eg4`RYDXXKf 4aXXj`}H/-.`~H0e/(`H--q7`H0,:jgH+Y-XBXh4I32-/2ժMh36XYGc]I4!- ."eJE0~, -[c!4YVY5_Yc$4Yp/\-g45X,?eJF -+6j`JXYzqUY`%JYYyiY d4N,+TأdJ^+0o8_Iqa.:-b_Ir/-bÎf;IYY^dc4HYgXXb3/,0," dH,-AZdH-/+^3-02;_3Yw+Y gSI-+rb4+M+d4ISz,0]ITYX5*Yd%3UX0 CKYpg43E-0>z2]HxMXYsvDXh 3P.J-^Hy,0MduHXXAYYDgR4f+G+8z cJ0@-$^>JXY, X^c40V-iI8X0>,hI3.,h3++hI9,Y-*hI:/]+ciI;XY'iI<o/102M˙`!4&rYYA`ViI-+.e@J..bJYY:XeG4YXYc5XY%h&IYbX kYD_K4S.+de8.u_BI/,qڵd1IXY3]I_-", aI'_,./!-qf3,-thnIYeY}9!^4 +,hqI_YzYVXe3O,i/i,]3P._/2i.9^49=+,<ěgJW@--ĤgJXI,.|,c4-~,(ٞ>e:I/Y/QV/g3YXn۬^36Y0X%Y^(30M,@ΜjaAIXX.Xf.4,+~5w`.JXYDXf14-O-bH,/F_f3;+2+k.bH-u,fH+I,&`uJAIYY_NHJYYgYe`-3gOYXhH.-GI/c3hX0ceIg0 -"wkeIhXYzYeJv0~02d4-q-d4+c4-,_HYXheYDd}3).B.ż-e`4Y /kYQf4,,j&v+gI9XYeՙ֚Xg4YbXˈxYz]4z0-y/_4zjYmYacHuYYQfH2+.la^IO?.,΃c31/ -a/g46YgXcXdJ4;/-º"]J\/-2d HuY Yd$3YYY&h3YzYXd3Y>/~YaI//ځ]I,%0ڏ-+]3/n+-/a3XY%YZg4bXX(Y[`$4cYXYza\3DeXY(ƟY_3xY3Y[*Y^4z-,>pbUJG~-,bWJHYzXdXh4+,=gq/cg4XYre!JYXYzg*4KY-:Xe2IYX;Yv`4L6XYeeXe34M.-bIdY X/Xf4N>--aHzYXaH>YYMY`31+q/YpggI/!.:ThI .-U2fJ/,.,\eJ0++!fJ1YXY`c4|YYe4}/.۳0 _a4~MY[X<Y=hc4C0>/ZaJX.~Y _3-/sT`IW-.>O}gGIY3Yͩ`3b-.ͬ^/`3,0X׊`H",Y/20%_3}%-/`3~---J\bHY[YsGcJ-j/ Ë,_JYYSKXc74i/-,h.4jXX_cJYPYbfaOJYYV)Yb;4./gگ.0gJmYSY2g(I>YY qYe4'Y[Y1Y=b4(YbYgg,Xgq4)YoY΅`#4*,YR.EXg?5--,8D_ 5.+<0ܯ_ J0XYXgA56YYj^J.n/z d`I,/<dbI//}&_>Jls// /zeJmt.,_@Jnw-,2Y_AJo[/a/ dI/'+dIMXY5Ya4]02,cJ6XYb܆Xg4PXXY[g4Y Y?"c4"YYlY&i$3R,-]qI /.>n]u4:"YYLX_4;YMXIY0cn4<.R/ݷ,bI,.-{V"bI.,&Ɯ/ap3,+]I/,݁,]I|YY %fsJ -/'hUJ~,/BhVJQ/O0Y.d3?RY.0c(Yh3@YJYSg04,-C&g]H_--b;jgHfXY)UXc3j,H/VbHInYJXտY-^3,x+Ra,Jw@Y[X0Y=d4"XX0եdTJx%0-?/d4,-BgHw+,GgHx,0/Ũ-8aq3*|X.aH+XXfIYYg4//fQ,^4-0vfI/Y-?fIYsYӰX`4-/dI.2+-;,tb3/-Z̙eJ]X,eJ^XXvGYshG4 +,G.+cejHwy+00 #h_cIw,.r_I$.a,aӇeIj/.+FfHXYsY Xc3GXY3 f3-0Rz-Qe4.C.վ,ZblJIYX'Xe4-Q+.`ge4Y XJXg4./{/f&3TYvXӠYVa4QZ//^I+x./!ek32H,,0&BdMI"6XY^:Yef48.-zGca4+Y/6bJYY<Xf4 XX Y&f3XX_0IYzY&KYD^I-.+gH|YlYpby3[YDY6Yd 3k0J/YΏi(Hl- -g1d3h//d;/z_JiYJXXbY-fz4m4/,s0/T`J6x..xbJE+,{a.2g=IA/, /z]}4+0 ,".~]~4,YX-i/_J4-8VYYIY[_'5/,%БhI+,d`I-.-y^vI-,2`IYX:Y^w4U+.B`ISs00Bg|JrU/r+G]pgJsW./.iז0p_4/-[-UE_Jt`Y(XhY8gf4XY6,Y[]3YbX[Xg63YbY%ȃXg73YXCYg83YbXnYDh4 Y3Y[6Yea4XX%X`>4XX֪HXh4[YkY@BYM`E4+/fH+3.07fHY&XSYc3TY&Y#M^3U,.sU/h3V,.KU,iI-+˂e{IYYGؤY-e4>.E+P`OJZXYeOśX^ 4+0eIY2YeIYYzXh3,._QC-a33<,x0CL,ObM4x+/a$NdJr0,dc_rHMYXfY^a3BYbXžX]3C,z0^bI-\-gIYY-b_4./08dJDYXjωY2g3lY0Yv,Xhm3mYX Xg3n.-q`_/HYkYϲYdk3o1XXнcIp5YYΔYgv36YY@Xgx3t-.Jo]JyCYzYOЮRY[_P3-5,j.0dH:YXμfh3.!YXQXc4/-Aܗ]J-YSY)Y6b4{YY#B*hH+Y,rxD,i`/3]/-icJIRYYZX`=3++dR/c"3.E/=c*3)Y X&BXf3YX,Yz]4-g.0-cz3H-,Gd3+d..4gIPY(XѿY?]3UYYbXc}3-Q-,eJ Y0YbnJ$-/r04a3H'./0>R,rdyH50 ,ߴzacH./!-fg3-+y~-Rd3YYވd4,.PIaJYvY,+YVdP4XXYD^#40^0jaIu+4,>D`Iv:XYe`Yka4R -/7EfH]0#+ `I$--`I%-+1u,h3,/j$`I&-+_J4YYY)^4--.yfGJ-,Ug4+Y- ,ib406/HdI[YbYC`Y-^3+-+eI\/e/= e3XY,KSX]48-\. ]`I,Q,.d:`IF.6+u]H}M.2--c 3NYbY-#]3Z--RF^H~,0qd+:hI(XY[egI/.V,leJXXзBY[d4XXcYvc3-/xDcIC|-h+OcJY[Y6Y=eQ5 ,/ c/c5  0+Ƈ^NH/,/eg3fA+K-?iIC/,sؔd=JF./"!,HcJJ+/Y=iJ0~0%--d4YY _Y_$3 XY6bI*+//Oh6JY#0 afJ,>-t@bHYJY=SXc3XZ0~- aIqYMX$h4Aw.W,BbaI;YXYDg4)YbXfjXe 3*.-.A^1I .+V+gjI X0 2QYweJYbXY[c_4// ֟;,eJ+30aa H/L-laa?I.'/2fI,,LY,d3pYbYvX_3q..2n+fIsYX1X]3XY pXf4YhYQzY3e H-.^30XYzdϙYeH0X.u˵.eHY1YϦ`zHXXXg4-,s.^4,F/3eJ.XY _IUXXYYhJIV,0r/^3,,-B^Jcy-+dHz..4ʳdH{/,_~cI-,lcIZXYrEX`54g[-/س^J],-Εc^Jd-0/m^JiYJY=X_4hg0>.r<^J,-z͈]Hv./fI=@YJX.¶Yz^O3i--Mc?JK ,3+2fJXXUX`5YYn Xb5 +/UZhIwXYSɡ^ZIYhXra3YY Xi3YDYǻ_Y&a4l-P+.,a6JtYXXb4]YJX'Y-e3--Pg H+0̝+bk3Y[X!Y=cW30(+; ,bm3.\.ȰgHYmYQڹ;gHYYiHX`3./٥CgHYYgNY-]3Y\/cXd+IYY*Ya24r)../ƉgXJ-T.Ύ_f5IEd+.k8Ъf7IF-v-AѡDbHY,4YUb3i-6+^eA4X+Q.0eEJYY)Y}`4Y0e0G"eJJ0I/O`(4kY;.Y^30-D,3e4T/. `dnJX/.H{dqJ[,/=H/;`4/.ZaH+,Xa3Y+z.dhIXY,X_4C/=0?W^:IYY+(aIYY`,.Xa4DlYzYM^Y[_4./'Ǧ c3YPYbdI@,,^I,,%-a4/e.٦-{e3E!../cH"YPYep3FMY{YBl_|IS-E. bI/],!/`4 +,[hdH0p/0d3r,j,ʷT-pb\3sXX YDb23d/',_bJ|.V/dbJ}-b.Ϸb!J~0YX{Y^eP40%.gIYbYX_~4Y+Xb4YY BY-^4 YY=$Y^4!/v0&eJ2W..U9ЬbSJ3&YYbgIXk.,{gIYXY]Yf3,_+o,b IZ/-{ufJeYMYQY0fI4+d/њfJfjXXaXf3.-9`lIYYpϐYe4x-,fJ{YbYNXc4k|X.~VYXdJXXjYzi4l/1-EteHYYiYI^3J>..a1Y`I?-:.`I@-+xÔ`+`3/-_ fJLY*0qaY#a4/. 9^/dg#JM,,Qԇ_JNXY_JO-/mκ_JPXY3b,4-.A~f J/-uM+Cd5XX@_IYsYXhu4T0p/J)_IS.V,s^H[XYB Yyf^35Y>+2se-I(YDYeY[_H36YbXfRXh4Y XqY_4Y0ctv_JYYGx]J- 0(T@f4YMXQ$Y0af3YzYgYDf3K.-ѦLdWIx-_/^*dXITYY Yg4=/0*ciH/p+DոY^%IYY)gY}dY4u./)cJYYX݌;eH4,0}zycJ4/`0VbIJ,,"hHn,+Ĵ^C3k.s+aJYbYjXh{4Z,,xΧvaJY[X|aY=c4/-*/;h?4&B)!M' 8) f,&XBٸeҶ qQ %!() >#"Bd!_ u@Z E9NA( PT 6j& C 3:y .# CnI%'< &= BR! *&}!cū%$\R HΉ8 K#g Iݹ yGr 2Y+M$d/  L   AU3*p#V)A*0$1@7+9.QwE!Dn4N$-9+* $# }# -*#@*u !< CX!5)C "J'\ V&&DV#}=\ |(<I*=D q JP(D6_ & n ! nH/ # AEO$$7i>A+Vՙ$?)Ǣ"*#2X  !MVXS])/lr eBA 3 4- ^5H<K"8 D'"%`ۆ"yJ8s{(q$&»'~ s&z )Ypt;1N,4]\]Zps;1N-7n][]Xpu;1N+]Y]]ݮ 8(.tC(4D!  x*}6)*g-H  s [ŵ[ &7#(/r"O 3Y% Pz ~% #Lh'# "]#1J &h @L)&O!*c  1%'ji 12A'd,#_!%>!$G/VKHAAFLAAAy1{AJ.@GFBAAPF7AU^AAAAA2MFEAAAA:AB/5CPAAA=AAAAMEAFAAA;ARdXW8XA29[G ;AA5;1AAAAAAPGAKB3OE]3A7 BAA6NRN1AVAAOLq9:AAAAA6LK56N4D@3<S,DOAAA;AMA@7ADGA@ARV:AABAAA5nAAAAWLwA:M@A2>ADgETAAIAAJPAB11^<ASAAKP4DpAAAA5AAAAHZ7s;ACAAAAOAAASAA!7 ?_ g֌*y',Hym H ))b }E [% *&T-l! p S*$jFF  -) )^+>u'+Bl(A %f:piJK%3&qsSe,$}!%#j&/t)"߳!:R)B 4 ' ;vZE'4p$k%$-qN:%%U&VjW n#Q"]+ ;٧ZC:$  /ҥ#< <' ˏQ58jĤ. P'A'9  f(&t   2u#?C) !H L<O!; 5ql"E.$NtmV#'4 W  ]$HmD* '  =P2%3V6(h#6/] T(o#*>* (!"g/$ lJ! w JE$&   Ԉ#:> t́37ƒ/+) y"0vz HrI  ^E*2E' T&-">p&''7 X>9 00 Q P))eS "$?i&K !pPI xܜ#F`$ h?\Y$8bO1>'*JU'4#b#c &` 4zMF֊ @ 9 rt8p Nz1 w* #&$0W"- 4D)GE) Q'@b_' 9$^x 2"!?@@s+\g ;#b$bb.}/ 0#!!ބG A_> #:'!ɰ3E}U«','$'L%S ]  _ #>#])*)#;P"\~U| '9 /i!)@?(%S(9" ׆#l$at.n$ڒ!̠ 8+# Y&rj#K%]gY )Gρȇ&(5*Al# &<2*G-$'h a3cڔm̢M% 0*F8ؼ ;cgk *FA&}'z(  )6P<i(tcH)u)? '1Ւ%NپҼ '*A/*x  gBE!h'7sP ))Ş###MN r"N7r  )h)T " ՃK p"9E {'a +"<%0B,;;;;Y 1NB,r67QE1N1N1N1NGBrJE}5\1N1N1N1N5\s.P@!2C1N1N1N1Nt2CgsS6{>TV1N1N1N1NTVsSAAIx1N;;;P sA4,6C1N;1N;9MgsSAX91N1N1N1N;7 sS?IU1N1N1N1N*_1N<sS3gGK>1N1N1N1N>s.RWRq;;1N1N0Rqr6TR@61N1N1N1N1MsAEKN_G;;;;YP1NGr62PW1N1N1N1NCs.CYV&P;1N1N1NPrSPgQI1N1N1N1N 2sSMQ7#1N1N1N1N: r2;B;;;;;BsX<2G41N;;;X1NG4r8QA31N1N1N1NEsSFM::1N1N1N1NmB rN|RS1N;;;SUs.8QR%JQ1N1N1N1NJQsSALG;;;;Y 1N6Uri4HH1N;;8>1N1N1N1N>s.P@!O1N;;;(1NOsSVDVP;1N1N1N*_1NPrS6J[D1N1N1N1NKDrADK1N1N1N1N#DsSKGT]1N;1N1NȎT]YWr64N0SI1N1N1N1N:SIs.AV&51N1N1N1NK5s.H7t11N1N1N1NBsS7O1N;I1N1N1N1N?sS7P7N#;1N1N1N4N#rSWPQ1N;;;sY1NQr6Lg?Jg;1N1N1N <5rSVRL31N;;;L3yr65M6B1N;;;1NC|sAGXS1N1N1N1NSrGDB1N;;;YW1NW;r@9=S1N;;;1NQri4T_W61N;;;9s.719+1N1N1N1N 1NKsSGO:XU1N1N1N1NXUsST#OT1N1N1N1NTsSPcL,81N1N1N1N.LJgsXNwPN21N1N1N1N45Lr5t5>1N;;;Y 1N>s.:S <1N1N1N1N<sSAT;T01N1N1N1NT0r<8;1N G1N1N1N1N+Sr4O@1N1N1N1N<sS9u3xR1N;;;ՕYW1NRr6<4R;1N1N1N؂RrSLfJ&M1N1N1N1N2r3>Sb>1N1N1N1NA>riO#G[E1N1N1N1N9EsSQJ}VK;1N1N1NVKrSPVKW1N1N1N1NWariP@!U1N1N1N1N?sS3X,R+1N;;;#1N6sAOQcO1N1N1N1NOs.VUW1N;;;YW1NWrGHQu;1N1N1N˦1NQurSA4Q1N1N1N1N>Qr>i?UZ;1N1N1NA:+rSQAWp21N1N1N1NABsSV 851N1N1N1N5sS2P=:z;;;;+ YP1N:zr63H{4:1N1N1N1NH9sSG]VL1N;;;1NWsA;IZ1N;">1N;1N;>gs.ABN1];1N1N1N,1]rSR124~1N1N1N1N9sSB_1N1N1N1N1>s.AV&@1N1N1N1NEsSIVW\1N1N1N1NW\rADQ1N1N1N1N:?s.5E;1N1N1N1N@sSMQN 1N1N1N1N:LsSIL?1N1N1N1NB+sS2LK1N1N1N1N>r="H=Y1N1N1N1Ng>osSILK1N1N1N1N=SsSW13B31N;;;Y 1NB3r7D;1N1N1N1N5NEs.Gd@F;1N1N1N84FrSMW(T31N;;;$cYW1NT3rS5@JN1N1N1N1N9YrF9|U:1N;1N1N*U:r6W3V1N1N1N1NR sSFPOLH;1N1N1N^LHrSBGUJ1N1N1N1N_UJs.@PC1N1N1N1N`2sSU{;>1N1N1N1N:Ms.VmQSX1N1N1N1NKsSPcL,;1N1N1N1N<r67=:=;1N1N1N1N:=rS4;FC1N1N1N1N,=CsSQ4<;;;;YW1NPL׺riR09O.;;;;YP1NO.r6<9tN1N;1N1NlNYWr6@C2 1N;;;2 r6O5SV1N1N1N1N<sSUVUJ;1N1N1N؂JrS;1N1N1NĸUrSK@!8;1N1N1N1NFsSNDOs1N1N1N1NǟOssSRO%>1N;;;>s.8?NO@O1N1N1N1N"@Os.BN0E$;;;;+YP1NE$r6D2S1N1N1N1N43}r64314n1N;;;1N4ns.X1EoV(1N;1N; MgsSP9W1N;;; >1NUsSGPEX1N;;;Y 1NEXr6INF1N;;;@ps.A*<;1N1N1N1N`DsAM|K31N1N1N1NaVsS;{CQ81N;;;:riAD;J1N;;;Y 1NFnri:Gy@1N1N1N1NIrVPr>:1N;;;YW1NSriRMS1N;;; Y 1NSr6EE'E1N1N1N1NEsSIO4T1N1N1N1NA<sS7A71N;;;7riQn7:;;1N1N*:r6E:>;1N1N1N1N>rS@QHR1N1N1N1Ng@gsXHUz<1N;;;F1NHwsA8H>1N;;;1N>s.A7K1N;;;(1NKsSMGO1N1N1N1NԞDgsS;MO1N1N1N1N=rAV&1N1NI~1N1N1N1NI~s.P@!:1N;;;|1N:sSVDV41N;;;Y"1NF)riS=1N1N51N1N1N1N NDgsXHL*E.1N1N1N1N G sSVR9O+1N1N1N1NO+sS2P=<;1N1N1NA1rS;j?{E1N;;;@s.71B1N;;;> sSA<1;1N1N1N9\1N1rSK561N1N1N1N"UvsSSI21N1N1N1N2sS2P=N1N1N1N1N&NsSL21_1N1N1N1N1_sST#OO1N;;;׎Y1NOr6=F?h1N1N1N1N:Ws.AQV51N;1N1NøV5YWr6XC ?S1N1N1N1N5NXjsS2r?L1N;;;Y"1NLMԞriQ94=1N;;;YW1N9ЊriJ64V1N1N1N1N 4VsSCV]91N1N1N1N"9r1T361N1N1N1N26rDoIOK81N1N1N1NK8gsSDoC:;;;;CY 1N:r6N,SF1N;;;3s.CY?F1N;1N;,DgsSAMa<1N1N1N1NXzsS9781N1N1N1N8r9T~Q;;;;Y 1NIr@;5>1N;;;]1N>s.MJ11N;1N1N 1rP5Co1N1N1N1NECos.PcJ>1N1N1N1N>s.BZV&xCM1N1N1N1N2CMs.P@!@01N;;;wYW1N@0r6;F =m1N1N1N1N=mri@P8l1N1N1N1NVqsSA?nK|1N1N1N1NK|rMG61N1N1N1N?PsSNE>1N1N1N1N'>sS31R1N;;;$cRr=I7>Ih1N;1N1N IhYWr68MU1N;;; >1NUsSRWAc1N;;;Y 1NAcr6;L41N;;;VY 1N4r64ERF1N;;;KsA=P(31N1N1N1N3sST,==>1N1N1N1Ng3sS2LP1N1N1N1NPrPpEpL1N1N1N1N'CsS;2B41N;;;6"s.6{XiF21N;;;F2r6VQI(>1N1N1N1N>s.P@!LV1N;;;LVsSM1N;;;>r6DyMG_;1N1N1NAGrSBK<2Q;;;;Y 1NQr6M3;81N1N1N1N3#sS;zTP1N1N1N1N<BrDB5Z;1N1N1N ;qrSAO6Me1N1N1N1N6VsSPHhW;;;;YW1NT r@EF6|>1N;;;]1N>s.3H@1N;;;YW1NVriCRF@1N1N1N1N$a>sSAA1N1N 6r1N;;;YW1N6rr?F7>1N1N1N1N>s.Im4QK;;;;X1NDr@77JR1N;;;YW1NCsS=8W?U1N;;;YW1NCsSGX&F1N1N1N1NF5sS2'HN1N1N1N1NG;(rG9@?I&;1N1N1N*_1NI&rS3I{Q;1N1N1NuQsX>>\Fh1N1N1N1N$EcsSNH3>1N1N1N1N0]>sSL2I1N;;;GpYW1N4<r@B8G1N1N1N1Nm2AsA4G5k@I1N;;;?NrriG`P=o1N1N1N1N=osSDE9;;;;+ YW1N9r6Jk?"T1N1N1N1N5"sSMMOKb1N1N1N1NKbsS> sSKvO91N1N1N1NDr6{CU;;;;ݵY 1NUr69>REb1N1N1N1NݸIr?/8@ 1N1N1N1N˨@ sS7A4;;;;4rSCN(S1N;;;Ss.SS96;1N1N1N1N96rS: 2D>1N1N1N1N D>s.P@!@31N1N1N1N$a@3sSAA@ 1N1N1N1N BgsX2]E61N1N1N1N 6sSRE>z;;;;Fzri476W1N1N >1N;;;>1N>s.3QA?1N1N1N1N?sSOI8;';1N1N1N;'rSIUJS1N1N1N1N3XSr4S_1N1N*<1N;;;YW1N<r6{>f91N1N1N1N>9gsXT}QQ1N;;; J1N7\sA6BH<1N1N1N1NEsSAaHI1N1N1N1N}IsSM=cN1N1N1N1NʦNs.TSK1N1N1N1NKr8?Q41N1N1N1N;88*r6WfCBt;1N1N1N;9BtrSF'4HK1N1N1N1NKKs.H7tW1N1N1N1N1RsS@T=M1N1N1N1N=s.BZV&>;1N1N1Nn1N>rS:Mp?1N1N1N1NO?sSLl@@ 1N;;;B֠1NCsALGL;1N1N1NLrSH<:i1N1N1N1NHsSM7Q_1N;;;1NC|sAP*=U01N1N1N1N@rEsSHKUFF1N;;;ݷM1N75sS9<Of1N;1N1N(;OfrO,3H1N1N1N1NHsXWME;;;;YP1NEr69=>1N1N1N1N9>s.AV&Rp1N1N1N1N::sSUVUR1N1N1N1N;3+sS;FcN1N1N1N1NNsSRE<;1N1N1Nی<grSKR}VA1N1N1N1NJVAsSAtXP1N;;;PrPE:1N;;;YW1NSrri??iE1N;;;EYW1NEr6U>@=1N1N1N1NE9rM?=_1N;;;*.1NRIr?R;5~1N;1N1NCrDo?X ;;;;rYP1NX r6VVD1N1N1N1N8Ds.34H;1N1N1N[1N6rSX1XC1N;;;YW1NCsSP UGM1N;;;/1NVriUQU21N1N1N1N2sST,=A1N1N1N1N5N>!sS2r?J1N;;;5T?s.CY?>1N1N1N1N >s.G3XP1N;;;<1NXPsSR2P1N;1N;Pgr6O,JL;1N1N1NATrSK@!H1N1N1N1NLsSE(Tu34-Z5G < J!f"Dۅ$"$8rSm $!º،YW&ؑYWؚYWخY eYWkYWqY רrY sYWY |BYWBYW,B1YWB=Y ͢?YWNGYWbMY SYW[\YWD YWF YW Y Q*YW1 *Y *YW*Y >*YW*Y эYWёY qѭYW<ѮYW&YWAYW =YWYWG:YW?':YW;Y 32;YWoY YWY  YWަYWQY >YWYW2>YW԰#YWN#YW #Y Z#YW#YWH#YWcYWlYWYWYWYW;YW<YW Y +YWFKY  YWkY A3Y 4-YW41YW'y42Y }ZY D8wYWyYW4 YWTYW6Y YWYW9YW!?YWuYWC{YWYW ÑYWÞYWMâYW,YW3{-Y VY  kYWlYWsY 1xY YWaYWYW YW+YW1$YW%Y ;)YWYWYWYW Y 7YW&Y &+YW&0Y &8YW\GYWrGY YWY vYWhYWY ڢYWċY ĐYW"YW͟YWbY iY rY fYWYW*gYW=YWB~Y V YW.UYWYWNY XY (cYW(lYW <@YWy@Y e@Y  M@YW0@YWYW YW/7YW'eY YW/{1YWk2YWC$HYWVYW6wWY 8YWYWBY -YWYWnYW,Y Y >YW ;?YW'KY NYW3ZYWE9lYW9zYW9{YW9YWh9YWWYWSYWYW)Y YW5Y =GYW"YW+Y  n.YW o/YW.3YW$4YWZ=YW xAYWڼFYWNYWIYWJY NYW9(Y gYWqYW,YWSYW5VYWWYWaYW2dY 2fYW2uY 2~Y 4YWHYWYW#YW&YW0Y ?yBYWBY BY =3BY BYWKYW&YW! RYW nYW rY :+aYWo+oYW-+}YWI4Y &5YW&9YWZEYWt/YW8KKYW|SYW8UUYW8XYYW4f;YW;Y W;YWտ)Y (yYW$YWGC$YW$YW$YWYW#Y *YW,YWn+YW/24Y BYWV4YW34Y `4YW84Y m4YW 4YW0YW!dYW!p YW!LYW)TYW`Y B4dYW"fY iYWqY /Y DmYWDpYW9Y YW+YW2gYWLrY -YW4-YWL-YW4-YWY #9Y YW!YW"YWxaYWkYWrY  Y SYW YWYW؝JYWC/dY #mYWvrYWtxY ZyYW&YW&YWy&Y  Y  Y W+YW5Y g6YWS9YW@'YW$.YWc=YWBSY מYW.עY  ׶Y 5׼Y ׾YW7Y ÄYW YW8 Y QA!YWA&YWA7YWADYWANY  YW9aYWY YWaY ǽЩY IЫY ?ЬY mйY )YWYYWYW.YW'[9YW~9Y @9Y  C:Y : Y .:YW@:Y YWYWYW%YWYWY YWY  LYWWaY fYWiYW"{YW0ɅY 2ɆY jY ?YW? YWE YWY YWYWE3YWE3YWe3 Y E3"YW3:YWYW/Y CCkY 6 CuYW6CYWwYW>yYW~YW‚YWˆYWGWYWܻ YWt YW7L YW YW7\ Y 1 YW f,Y $,Y ,YW ,YWY YW8YWYWYW.YW7Y ?YW6YW.YWY<9Y PY RYWcYWGDY ,hD1YW6D4Y 5a$YW,Y ߒ-YW5"<Y X YW# Y  YW,YW,YWӇY eӌYWӏYWoYW%&pYW<YWۛ<Y >^YWU_YW7tYWYWrY YWYW %YW%YW,%Y ]%YW %YWP%YW5SUY ]YW h}YW:̄YW8̅YW'kY 6 YW6Y W6YWk4YW\YW-YWIYW,CYW'Y )OYWYWD#~YWŏYWYW*YW=Y sYW!.YW.YW.YWGE.Y ~/YWDYW\YW_YWDYW"Y DYWYWYWYWvYW YWYWYW:߂YW߄YW߅Y ߇YW ߖYWߚYW; ߞYWߟYWC['Y 'Y !'Y !'YW&(YW1(YW=/]YW=HYW YWǀY  YWYW4Y YW8YWYW+qY JYWsYW2YW~Y !YW!4YWBaY щBjY BqYWuBtY vBuYWBvYWBxYWFBYWBYW'BYWfYWY YW27YWѲYW Q YW YW& YWF Y Y sYWyYW5?Y  JYWNYWQYW XY \Y (;PYW);[YW>;jYW"UY ?-Y 9YWDYWY Y Y (bY eY ʳYWʵYWYW<Y a/Y o0YW݀@YW݃CYWDzJYWa4kYW-S4pYW2s4rYWYWYWY 6Y V YW[YW Y lYWDYW#DYWDY )ÿYWOYWSYWTYWYW CYW OYWF \YW ]Y G-JYW;-XY 7-ZYW8-[YWƾYWY $YW%YWYWtY $YWJ=qYWY=xYW=zY f=YW=YWo=YW>YWBY YWdY <Y ;NYW 9QYW/(ZYW =^YW KkYWUuYW [vYW ^yYW&xYW&YW.YW.YW YW.%YW!)Y l YW!YW'YW9YW&;YWI@YWWBY 6YW6YW#YWYWаY YW#YW8YW(A=Y ?YWGYWIYW'Y XYW\YWУ&YW16YW?BYW4YW8Y 43NYW,/Y J/YWW/YW/YW3/Y SYWEYW Y  Y nSY UYW YW-YWF9Y BY EYWKYWRY ?12YW39QYW(YWEg{Y GF~Y YWYWYW YWY  YW~YW$$)YW/Y BYWnـYWفY ҂يYWٓYW#!YWG.!YW!Y 8CYWCY KY OY , Y 4 YWE Y = YW* Y ; Y 7 YW/YW0,xYW?ҀYW }YW YW YWu;YWSjYWTkYWnY 4YWY eYWvYWYW 6Y 8YWeWYWMkYWmYW?nYWSrY YW&YW c5YW(5 YW;Z5YW5*Y ۘYW=ۯYWYWAY ]Y Y 9YW:jYW1EKY  ETY EeYWEiYWĂYWDěY ?ĜYWF Y b Y p-YWG?-Y  -Y  ԮYWXԼYWY YW&#YWAY PYWQYW}>MYW4YW(Y 5$YW YW!' YWp'Y '0YWБͦYW-ͭYWͷYWͿY Y YWYWp79YW7KY 7^Y 7gYW&7iYWvY VYW!3YW>Y $YW@YWLYWG 1YW: =Y 6l OY q QYW \YWƮYWYWYW,`Y YWYWA>YWY 0YW 0YW0YW\0<YWY ;Y YW?YWYWY 1gYW1uYW1vYWjY 1YW*Y ΤDY 0RYW[YW'4aY teYWgYWzYWY YWJ)+YW).YW,)AYW;)WYWx)^YW*YWEYW*&YW*,YWY YWY *AYW8YWYWcY ^YW̆eYWAiYWYWZY ٖYWԣYW4Y YW$Y 2YWA"SY =r"TYW="fYW"tY "uYWCYWCYWCYWYCY xYWz FYW [YW jYWY -YW3YWMYWY YWFYW*YW6j1YWm7Y  BY  YWYW7<YW<Y G<YW<YW<YW Y &!YWz"YWY7Y $F8YW:Y 8dYW4~YW]YWYWuY YW2-Y dY YW Y YW:a$YWaY FuY  Y ?EY 5YW'5Y 5YW/Y :1YWN8YWdMYWNYW`/Y ;Y LY *EYWEYW'YW YW :YW((YW;7YW zY  YW2 YWp.Y .Y ;LYWWYWР]YWbYWiY mYW\tYWݑzY \]YWB>Y >YWS%YW+P&YWY YWYWY  Y P'YW^'YWf'Y ( 'YWa@Y DYWRYW\YWVdYW6fYWA.oY DtYWD}YWeYW>7YW>8YW8 YW>8YW'Y (YWֽ4YW'9YWAHHYWcqY gtYW8|Y YWYWYWYWYWY  YW YW' Y  YW'ZY xYW7aYW7cYW@8fYW7{YWYW7YW!0YWt0Y  0YW'{YWY "Y tY UYWwY _YW6 YWtYWÁwYWzYW\YWHyYWY )Y  YW)YWU)YW)YWBYWMYW PYW7aYWYWY /YWYW YW YWCYWCY 8nYWQYWY YWY YWĿڜYW_ڴY ҘYWI"YW"YW D[YWD^Y YWY KYWYWYW  YW&{ Y   Y  YW! YW ! YW0{YW,ӸYW.Y +;Y >YWEYW+SY 8{= YW=&YWf=9Y ب=;YWqY YWkYWYW{YWY  YWY sY @"lYW5nYW@/zYW6YWk̳Y 7̹YW<̻YW=YWYW &YWI6DYW6KYW 6UYW6VY  6^YW6aYW6cYWq6oYW(6qYWܺYW XYWYWYW rYWY 8YWFYWFY FYW ŻY :IżYW Y ?YW@Y /8Y /@YWو/BYW܆/GYW/LY /OY OY YW%Y %Y <YWYW?zY ?Y ݁?Y .?Y E?Y -?YWY "YW>YWYW XY YYW(IY 2 Y 2"Y 0922YW_25YW2<YWGyzYW}YWY  YW2YW3Y 4YW5YY =\YW([`Y ߣfYWYW8YW6YW-Y Y YW;YW+#YW%++YW YW YWۮY ۵YW0oYWɔ0Y _6Y YW7YW:YWY 4YW]YW'YWYWvY )$AYWEYW#BEY EYWӎEYWDYWY D6YW YW5 (Y ; :YW ;Y  YW"Y YWRY SY _ Y YWT%YWsYWV|Y YW`Y YW{>vYW~>wYW>Y >YW YW)VYW ]YW^YWYW>4Y >?Y -YW-YWYW-!YW#YWYW=YWYW<YWVYWhYWRnY <pYWyYW33YW7Y 17YWY С0Y JYWxGYWGYW$7GYWGYWYW%%YWQY gYWEuYW60aYW0Y 0Y ^YWbYW1,iYW>6YW7Y 39Y 8I<YWWHYW@YW @YWs@YW9@YW:@YWڠY YWڨY  %YW2YWܷxYW<Y YWw)YW޲)YW)YW)Y 1)YW7)YWNYWIYWKYWNYWLWYW9Y 99YWk9YWC9YWC|>YWCYWB}YW7~YW@Y EdYW2"YW\NYWлWYW5.YWJ3YW6=YWߕMYWXYW2YW=/Y 4fYW+qY e{Y YW!Y !Y YW" Y A4YWYW+">Y ҐRYW<gY 9lYW{sYW|tYWYW++YW>+YW?+YW %+YW_+YWf+Y u*YW,YWY Y Y !YWYWYW XY \Y yYW}Y ~YW"ܔYW$YW$YW$YWźF.YWjF7YWF<YW SFGYW WFLYWFTYW$+YWYW2Y  Y  YW Y  YWU YW@`Y oYWpYWIէYWǯժY Y Y ,]Y AY -%YW (Y E?*Y 3?+YWE?/Y E??Y A?QY 38?RYWYWY YWY *YWY 0YWYWYW!YWG!OY *{ZY ]YWέYWGήY 8Y YWYWg8=YW$|8@Y O8AY DžYWLJYW@'YWqYWYWYW]YWjYW~YWY }ǧYW?5ǸYWY  YW:JYWU YWOY 3YWhY j YWD1YW 1YW1(Y 41)YWQY aY Y Y AYWAY %YWYWYWYWAY YW| 0YW ;YWCt*2YWE *3YWYWYW'YW/Q YW Y PY :eY YWYW.YWYW7YWޟYW P'Y 1YW0.4Y GNYWaSY J#7YW#EYWE#WYW YWY xYWYWYWYW83aYW:3lYW3sY 4aYW4sYW4tYW2YW;Y YW5YW YW YWjYWYW!~YW Y @YW:,LYWG,PYWG,jY _Y YWYW'Y Y RY MY YWYWYWYW&YWx+Y ;Y7YW-]YWDsmY pYW-|YWMYWYW9YW}Y d$Y -d%YW@vYW(YW@!YW5'8YW6t<Y (%YW;%YW%YW7%YWK%Y EFYWFY oFYW0.YW05YW8Y 0<YW0EYW0IYWFeYW0fYWdYWY ^Y *Y Y YWYWXYW_YWJYWReY lYWxY _}YWYWXYWYWC-Y )?YW)?YWyMYW׻Y YWY mYWY SVYWYW8Y m8YWG8Y KYW\YW.{Y |YWC~Y |Y  YWYWYW YW,YWYW%qYW&Y  TY VY YWYWJ1Y 1Y 1YW1YW81YW*1YW1YW$&L'  ((%  %x2 K("`  G   [& (%K(Қ )p?v7 Vzu 2UJP4I$B *˩k)fNGa-$S-rUd#H-&#i UC- f-i3- ~- _--7u- -Te'ܩBdX.-R*d(#{w+(*5,.nX,.a'LB ~w  +>6^/i#&W0 oP&; F3Q L/#)/j s3R ~W)~RT$@ : {WC  WH` Wٹ ҷ  W `'{"-6`_*_* }g _ WWe{_=` Fr__1R{A`{%GW=W@__/&j$3 % 4&-oy$C8'57< 95r! V$dZiD'Wu~Q:"chd:8a('%$cA\& ©$!}+ ;(& "2!J^ 9ks A m>Ph3\ , &r8>|( ߽% i!)B o =* ;M!:4!!+ -xB%+&\)'_'LVc43eC@( <$ ˖#v5?!ī(. 2a'G a / p%.~+Z'U{%C !S<(#B5r)M."z$^#"^ r ' 5d#(#D c &-#96 /c  (wRH$ ^! e&R# m}IE.Z FԎ > 9͉7 &q#bƛ / )-#$@ ) FN ?E [4e>v-K7_A"\0 Y)UYx"p"Q' XZ xܣ)FgEN?eHd Q8jp#*Q0#iW!<PG #6֒ @ {'9%)ȁ%1(#}*v N$ $^!yG.!f! .h# 2VF&+&pEK$i8" l6"! ތNI0Af    T:.)3K 8²,0&' %[!*j"%x &,4 i-}%h05DA(GNc *ԓ 8o=$· v8#--~v8'YA/cNWEXYyFK:,,Htw?&/h,?YXv<YYvO-,H${@SYUXtz2n0 -u_<XYtzSXXm$8+W-tA%+m/tNoYcY1ttPw0/uDVY3Yrt;DYYuzEZYkX&OLX0Kv=XXuvJ,,3u<YY usv9Y%Y^z<4-0Tz=IY]YD%Y-EJ8-Q-uAu4X,uBuBXYtMuPXXy=YIYu^y4sY$Xtt1YXuu4Y Xu?GY XHYMY>YhYuAYY\$@^XY"x 5.,_%x ?=Y9XUX/]yoKX+:)x8OYN0cyq=YY|tGyR XX1Y-Y?y1r- -"uxOXY't6YY@tgumPmY(XxCXY>7t/WP+M, tt0>.T/tAHXY@PYY?t23XX3?YYlzB4Y8,;ux3NXYutWW+/dsM8YuYQutYQY>+YmsEYT+t|sVdY Yut\VYyYt:YYtuz<XYkzN.E,GSZ+~.0VXY/w4XYxH%Y Y.zbWYUY\tvTYXtvE|YXtyM YYpOXY@u\w2D.A/uAyFXXtMy;XXPy20}/P/VYbY|tvM,XYi?HYXwXR0/O)FlYY.PXXuxU'Y!Y|ux1YY{ BDYYtv`UKYY.rJYJXuXvU9XYF8gXYOt>u4YXyPYXvuP7/0XM?XYFXY?>wXY8xQZX,uAxEXYctMxUXXYt{=~XYYM.A+w @0z.tx@JXX 8YzY7OY6XtDxRY/OXY!u\6YYuDYPXxBStYY tt1o+,LKXY?vTn,z-GtVX/zt6OYXvWYY7uxt 6XY8tAY$Y!H&YzXU X.:t?Y~+2uxGFY[YMv;5/,jt:6YY@@YsY b{@G-.vMYhY5t>v}VYVYyEuIYYN(Q[YD-\vKXYOuAYX7zP-/wty 2/-pWAgYY=W=XXORnYXv 6/XY7vqBXXuwCXXMxXY8y>YYFtyD),.WXYuNuS5{YYsuV/-guxx1YYuzx>YgXBYUYeMY,tz/RX,z1QEYjYBGwY[YwttVTYEY_4AY/tvGXY]ZOXY|uf5/YPYVwF.-ZtczDX,#DY3Y77sQz0?/vtS]XYsEXYvtD.YY`t_@@YhYax$FXXG9X-N0K.sx&II-.y@Y(-uz4F--uyLX/y= Y'-sz8XYR3YYBuDXY8tOYsXTVFXYuF8Y XhwFY)XuwFxX-oO.+G8XX=YYI wDIXYTYY,1;YYuw6EYYtt:XX;RYXtyJ/, yT..u4t9Y0cgx8_YY.tx4XYxKY-+iv90/+kxA-z/mx9rYY+/y6YY by6YyXutQ\X-EuwBX+uy-<9Y.Yw vD\XX$v3[Yl+uy/J,Y^Y<&vQ/8/juzG:XXuuEX,MQX,uuTYuYBsu:YXux7]YYst^FXXvt`QXXtxC/T0 x4Y0c-P$u4 YXu9YPYuIX.~tu<Y4Y7uL'Y#/=t7D+:,~uSaYXtu4cXYLtDuIYYpuTzY Y<uwTtY'Y*MwRYXY`wS/'. t:v@kYrY?t<vWY+~t=vNYVXuwMYYswW YdXmVY&Ytt>XYkk@LYs.nsM+-NXY?wWDPY8Xe?XY(w`MX,;t>4-._swbHYX&tQ,f.x8XXQkXXyKXY?uvQXXxWXY*9jY/tJ6Y:YVvKaY9Xs4XYtWKYYV3YXvL[/d/Ws8XYtutAYeYQ9XXtWYYu3&YYev8CYK/':?IXXtDvULXXivC,-v_P+e-MVXXsLYYt8}/P/~z@YYutM3YY,zR -u+_azC2XYUtqJXYsFV,.?YS,tvN]/,Sw@YLXJYsXruX{Y(YtcySAYX=yT?XY$tw6 -P,j>Y-Xu&X.YXau'TNYmXt6YY@XY4lYYjuy`7iXY(t'AXY)9}YbYP Y-YUtS,.tWXY4uyIYYmEGYzYF1.,NutA>$YYDn5JYhYRttEElXYLt?}XYQK.+<uM4YPXu=)YdYitwVXX-sK{/-:7x+T$+.Jtx,?-+y?+2-t`yFXXu<x-DYCY|uc1YXzF/m.WzIX+vz3YNYpu`<YY!tkw@~XXvw</.V~MYJX:YbYsKcXY@vy=YY/uw:X,zlTBXXu3zmHjXY!zn.,3ixO?,0?-xP7Z.u+ A;XYuou5YXRu LQYYCuwKKYdXjI/z.'xwL@H/,t9x/0vAYPY~zBj02-t1+/^tV~YXtm2XXwaI++3gNXXt#WY8Y2.XY)v yHXYZvEYY1pyJYRXx4NXYsu}HEYsY0sQ,-ly2(Y,AYbX;]YUYzIY<Y+zPRXY4>YY}GzX..zDv,0i:Y3,tzP YYjzTL_XXutfK/;.vCY Y77v:/B0 tgWcYYUu(wL)XY0zUNPXY w8AYZY$tzYQ5.N.t2LYhY2uz[DXXTXX`BYs/Tu9YDYyN<Y]Xt|yP1.%,WTXY?AYYIu<YY 8DwYJYytu?XXvNXY*v6R//40Y/>XYVPIX-PuyQXYGMyEYxYutH5YYtSYc.%tt>rYvYyutGYnYZu^t2XY#yKRXY5YgYLwlE-{.tMSXXuAxQh-E+uBx?TX+2tIY,tQQi//7tR9X0tS@XYUMtUWXY<uCy?YXitVT,.-y4,/:TUXYqtPI.XXuDy<YX0yT;YhY@vxTYH-x?YUXuI>YYHWsO Y-usTA0_+bs=:+3-<YbYtx2Xc-+usx4EXY4y2XYs8YA+RRXXuSHXY]ztR/.j!HYY?uwA?XYst~SpXXtM/,QstCXXuwE1XYlz9XYz 5qYYv =1XXtoz 5XY\A6YDYz 4YFYuvIXY1UD/-+tzIYCY]zP/z,vyC6YY5uvsJY YK>cYXTXYmuPYY6u vvJIYIYVY-vy:;XXI'YhX t;/.+CtW/,9JXXuQe0+tHGYX34YDY'FXY57uIGYA-yKyJeXYRyS~YZX@X02CYXuz:Y]Xu3YY v~:b/- vCYl0 v2GXYBu4zYXvDY,3xQ-o/^xK//.]wS-0e+dxD+3/=XYu1NNYhYGtOOY:YVu7.Y3X,OYJYuBOY3X:tU+.UYG+YMcYXFLXY{uls?XXA2YXwk4YcXMug>YRXu\wn<X0 twoFUYYRdx7YdX~t+:XY{t,JYY|mxBy/d+rxPYdXBXY:w4W.u.AuLY3/]rsTgYYiv-BYXtNCXY s@{XYRv.Vp.//BwLjYY.v;iYY8u#z@WY/YLyYY|v!{LYX~{GXY7vLXYtv#5+P-uv%BYYxqJ/-?xrOX/GzaT--xusY&YZzX<Y702t7,-4stGXYLtI YYj7xF-+,8x!RX.UFv4\-/vy">++cu;,3,Gu<YYesWtYH+c7s5.+tU@/. "s9YKYtX$YNYpLYbY!sFXXs9-/-x=6YFYtx?1,.~Wz]DmYY9tlNYKYN:XYA3YPXNX-Pi:IYJYnw50 -z~D/,sTyZR-.MrXYG+? YXwJ6SYCXS5YYAu$?Y-Eu(O,,+v;Y*0 .vO//MvSYmY;SYX\t7YYluyI-/+bt JZXYt yAYXvz4YN,uwrEYYvyEN+:,u#tJAYY KY -\t`AYoXvE /-luUYYuvQ.+tsvk;-Y^YFOYXux6`YXvlWMY/XvmNY/Xx5YA/yJ_YYy3YyY xY<YN0 8xZGTY5Xx\V3YY<XXt_uUSYY u<+B,X#w"=,;.GfXXC.,;0k_V/P,t'uY:YauxWYYyY|s>5XYt5XXntRYjY`vMYY u<v;YE/8yr>bYQX^t4<--t74/w0ut9AYXE?, +z?XXzL9XXzTY XzIs-+zMYCYlzIY4YX4G6XYOEYJY)FsOAYYT@sT/,zvILY YKEx^KXXzGY7,Fet%NR+/MYY=lYYQtz>YhY0tUt(@Y:Xu>*YXu3'YYYtTGXYRuAL+YJXu3-/vu(ze6Y:Y:zf8+20 vy%W,.uL,j.:uzA..GzHg.H-sB/-t|uQ0Y+Xt:(YYu[yQYYbRYDYByA---QBXYR@yHY7+2u<3YY7u=J -0$x;YYfo2XYtu@QpY!XtyGYIY y;}0 ,s8!-"-qu sRYY`1yB+2-guq::YoXuqE+~.iuy'5$/+~tby*A Y YxC+,>y+Q^.~/^sKfXYGszEAXXszFCYXMRYYv5JYxYX9YhX>Yz,t v8XXY/AYJYnd9vXXtEkY/]mO+Y,9XXt)sRXXu$sV XYuw8YY;NxCEY@YZxDP0,tGArYhXuz2sYXu 2++P|XY=vS:Y-E~:<YDYuv4,+u?XY|&vT,'/#tw<XY IEYXmw;Y@Yt:Y:Ya|uRX,tottS1XY4QY)-Q7YY$=u!DiXXu"3YY/)u#HXYv=ZXXwBs-,Atu/EXXtR,+m6%Y-Xwy?o-y.w}C0Y9YRtw9YX7t<N!/],tt=V/-tt?KY%Y]w GBY,;w QYmXvwEXXtPXYMwxEYH/'ts<X-u_wzFY 0 ^O}Y}-w{9YFYu\sT +Z-u`w7Y<XuvQYyX vP./m|S*XYCBJ3Y6,tv:X+z6XYL7zBE0q,QtzSYmYtt6YdY+7LXY*b>LXXtz2XY8vr>XYRtGv2JYLYtsVVYYGv4E#,z+tv6V,X,tOyEY'XS0>/k4X,sT{/,=:@XYt6zRY, zP`.-p,w'T\XX7uGH/^/<XtYbXxGXXeuIAFYIYQHXXQtDYY%ut7eYY1y2y-:. 3{YYutLYIYuy1BYA.~uy2^.0Ry.W XXMXYw:o./CzR`XXtz6XYIz7YY;VwZ1/e+ytw[AuX,w\C..vO//BWqYYjmWYY2v9XY/Dw]Rk-P+3z;Y.~^v=+W,s8XYs@K//VkYbY2u4YY6)KY-YuyAXY+uzIY@X6IYzXu UYYyX-A+t'u{8XX yOX+25Y-/"xLUYY*tLxVYYc)xU%YVX1Y3,_SXX\IYXuzM5YYSPYJYnHTYY??XYubECXYtxV//t'xKXYxPY#/1YYv!u2YPYuC5XYuPd/].nSX,Au3Y%XM3XYlR=YYmr6 YzXt1u*TXXuFYYt9XYu.KYQXwD.9,\z< YYF>Y[.VVbYr,HBYXDXX13Y&Y\u<YuYswdWXXYFweP^+2.wf?4YIXtu5XXw38XXtOwF3YY`swh6fYdYBtGOe.E.`zOYY'tHA/.Cz5YnY7zH,XYctOtJ:#YxYu^tLN6//ctwIXXNHY:Y)un5Y:Xuz7+YYtkSxYYLu[s5Y^XtR<XXx0UX,vKXYIs:YEX`v2--v=X/CYXt1VgYYMFOIXYry6/^/u[uT YYuU5YJY]tzDYY%uzS/T+8YY5u\uN/.stwH ,,IPXY%zqRXXzg:X/ct$tzSYXtS{YYt'uGXXTYYwzL/.zLY'/yaTeY4XycJXYuydW-,O$2kYY67Y-Y4u=Y3Yt>#Y|XetRYLYuvLeXYOuv:YaY( tPi-z/u-YbYauv{F/,tkwEYXwIY/wQ],r0X@w9g0/,s3f/-RzMY./QXYnw0LYxY\ow1R._+6pYXz&AXYu1xKXX|xD</,uZt6X,yFXXv*FY-yBYYyF/v/tv,B-G-y}QI/T/tvV=YYUtvOSXXyB/1,~ySIR..rJYgYryV=X0 t6v7"+/Qv>XYtv8$YY7uxn9XXxoSXXtDYXvuFM-+tTXXuG<XYxpLYN,uI7X.%uxtABXYFusxw2Y/YAu1DX+UXY$y4GYXu:CXXtLu3DYyX2iX-Nu4CYjY/u5Q +-#xSY0cyxW,j,uTXY|t|CRXY@x8n/,uVvY:Y=uv>XYZtqE[XXtw?XY2!xAYUYlt<w?YYwuw2YVXzWU6X,_>FYXQvCIX.nSvDHY{-oHkYsYuvFHXY^Xuz74YRY`wQ|-u/v@2tX/vB5Y(Ydw4Y,XvEG/+RvGNXXu.wBXY?tzxR,.mzy4.n.0uM_-.Stz{TYaYt)z}XIXXJdYbY~u9HY#,tu 9XXUXX SYYxMX/tuUR/0tEu1Y^X OXYMYJYVuy@,+uOY/cwp;,-2Y-utGXYWkXY<y?O XY)y@@(YQYu{tIYJYtv4(/1,t=TuXY@RtxLXX7xD,.'tx@1/X.3FXY NYXx8C.0RTYY2FYYy8bYUXtyK+XYft5sE /+tDs9XYx=8YYZyA$YYtkxVHYY xW=.9.uHI\XYkK/,Z w 7XYBmEXY)t{XdYXtzoG~XY2Y3YluHDzXYez*5zY5YQu3YX ypF&/O/@z+60c+Pusz,=XXt:,-GtwJ>XXu[wFYkYGAu?@./-s2dY:XwIYA-Edv?LXYLkvJ,0(z7Y.9zRXYe?Ys+vV-//2zTYYHt=YXrt$7++uv+=,/0ux6XX]RY3XtyQ%XYuoCYPXx>YXy @YYty!U#XY,2#X.>YXEXYuFY:XuuLYRYt6x}NT0}.ovV#/04u;;XYENXXu2X,sEYXw3HY.uOXYw5<Y5Y$x?*X-Eu@YYieMYYtA8`YhYQWQYYwt2YXt_RYOXt2Y-uBXXStaCkYVXtbv/<_XXr>XXv1RY\+w$I+.U?y3:X.UtyAXY4YbY2v:YYozOX.uzWYgXs;3YXt RuXY4z;7YYquxy64//,vMB./I3YXx{:%+-x|3X0.tBQY-EutCAPYX1tDX,.t@uDj,Q/!xy8JbY4.|y97Y Yt~zKYY*y;5.YYLuMy<S9XXrzNXYu^=7YOXtucNXXu\ue2.-t_y7YyXFOYkYvFSYYBx#>RYiXx%8Y5YNt>s5XXuT(YXyFK+Y,yGQYYOtAs9Y1-Eu6YJXut}VIYY;otVX/EYbYts2cXXsWXY^tCYXmx_CYIYuvO73YY|DxaL ,j, xc=hXXtw1/+{ 59+P.'K$.u,"J^YY|TwF:/,_u {EX+{2Y|YYu {7YYvtPnYY tzQY]Yx2Yf+z8k- .'z3YY?$wt9bXY?S?XXfwu:-0>uZ=jXY(xIeYU/1MB`YJXwvHRY-EM YJ,!z 6QYFYw 2J./EDYhYuws4YSY0ww3u-F/OuySYXt6vRY{Xuz9Y4/z~L^Y&Xa6YzY,%4_XY;XYAyL0XXFy5X.9uhx7YXuu>YVYytuJYXu<u8YxY.7xD/,nUX/;<<YSXzuLY-:=9<XX??bY&YtIYXuB3Y-Eu1uEFYXtOuFR^Y!Yx?YYGtLYLYcu\xF./.awJwY YiAtLY Ytt8-P/zuqyu?XXtLXXw:YdXusyvTYKXyxLYLYcAYbXuHTD,,3UXXuJDYY8s1+Z+tL1YhXuz%OYvXNsXNYCYRVY3Xt_t*>Y+Y{uv7YuYitRoYXt.Ni/,HYY7z<-@.twAXYt>y+-Ps2XX w<,s.22zKr/.9wE-E/tz7xY8Y y(5O02/sy)OXXtoT'YXsy,<+YjYsIMYhY~Dt4}.:,uG.a-uvXYYQuv4XY^uv9Yl/z>/.u_ujS Y7Xs>aYU-H,/+ul7XY(9XY|>Y3Y?utUXYuKYXtRjX,ttYYmEWX0p"BvYXuvM-XX&L$XXuxEPXXQXXt{JYXv[LBYvY9v2YPY=+XXu@XYuzTX.uuE=YhY^w+PYeX@LY3Yl,zQ +/;Y&Xz@YOY/z!T,i/zvz"E~YMY t1,=+"uvQYFYtP\Y`XutBYgY<uy;,,jtMY:YawFX,uw@XY<YYMtW2Y/syD]YYuNB+0?WY-Y>?yO1Y'X;YX!uO63X+"uP1Y+mu^yQ> YXvAXXt$tFXYkttN?/.uLYPYTd5Y:YG&xL}0T+.tt5GNYyY/t 8YY$Ct8< X/!RXYt6wC//M/XYDMYX|w5P--yuy0PtY_. EXY<C5 XXtSXXy3J Y/TtET6YhXNtOYFXPz8YYZZvHuYYuhvS\XXuiv;XYB+e+:ZYXS@XXYyHXXawPXYuy6YY#tz@GYuYqas2z,,zCU2YgXtsS.YdYBuX;XXtw?HXYRtw@9 YGYw9Q/!.Bt>Y:Y3Y6-g y?--PYr,UX,tXxNJY,YFFXYxJo/.'uvP+m+ 91XYt=,+~vv<:fX/uys8)--zK[YD+t3 Y-Ysv=MYXu\yVj//tELYXy GYNXv;b-P-tgFYYr!xKYVY/KYUYBYaXuRSY\.t]8+-@XXFuTDYYxP;uX+BuD.-vu BCYY2ux"DYYV7yH6./^:".-)=yJS0+tDtL XYwIYYiy4,/ZuIYF/zH/!/vw2YIYu$wJXXtsSYXWUYbYwt5vJ +.gv7YXuG:XYx5HXY~8sOXYuDXXu?Y+vNYY sFXY2HuHXYvG.%,t{TYXkxG,/{EY1-nxL./YaR.,oTY5YQzjC8X/;tzk5Yw+uMYPXtvZDY Y|Sf//7z9{XXz6@Y,Xv\U|+-u<\Yp/vwMYYXyw4%,.busu>YY uuK>XYaI"Y9Ytu{"CaYY+t1u~FYZY8vu:1YLY+uHz,3.TYX OY).tyNYYZuCXXyIqY~,s>Y:YLtyMjXXxNV00@YXUMYzYyW4YZXyX:-,wCXXutFYQXz1V-R0bNvYh+ZM3 XY2tX1XYaRTYhYlt>kXXtNYY$xLAXXxz@Y +mEYQY>xQLYYtKAY:XyD-F,%{!VY;YyX0(3jYJYO!YYauvLGSYY`PYXGXXtJYY8Y-yu`{ 2Y9Y%vhFXYKub{ IY XCJY3-uc{XYYBrtcUpYYk;:;.0StPuP.Y+ KXXtpyLEXYtqyM4Y/Q8YzYdu 8. .Gy_2/C- .K_YsXVx:W|,, t5,F.2HXY#Zx;=X+~s<-01X+-08tC/0lxT8YYCuW-E/ttEY*/1EYUYat1X+t 9YXu9xCYhXu3WXYY~s3YXusO|XXdsU1Y^Yzr5YT,C3.~/twK+/X|Y-Y1MYJY@uWYM-z UuXY>MXYuPXXvGYXu^z#M*+:.9tS,-%v 2YVY)v MYzXtvOYnXwWYYQtS7XYLy~:RYY|wEXYy2X/ty8XYtzIYXt8XY iz7YY5tMtRfXYtgy3`YY8YDYtmxSIY Yi:uDY;+YGXXt.C>YYuG.,%.x.9P.0uNx/DY}Xtx1PXXfz7,.hzMRXY|ttEY<YFtCY,;tHYnYyCXY;fXXt5XYtt7YN-xt=kXX.FY.u<w3YY`FYSYw?YU/1t?:YN0 t9-p,Qu8XYW%YbYuRY[XyF(..u_GY%0 tua4YrYt5FX/udOY-"v?--yvF1YY svQYBXu=aXYt)z;9#X.tF=XXvoSFYyYvp|YuXusL-/ux4Y.u3wWY9YEXYwHYFYHuxE/1-PwU$YX+~G0-tV_YXxB,%,tthV0c,r~1X.uw:+-twAbYFYmtiF +;/=tjNk/,wG--3XYz\Fy04,G=Y&X1YXz^AXYOYYBtw*N++1DYt+Y|w-S@Yf-tz<YXsy9XX>KY[XxCYs+yH,-yHYY?XY98JYYj F`Y0cv9X/HSY&XGXX)vOYgY/um4YYkt4YXtvVEYXvWH.+t=EYhXsLYhXtRe0,euy7YIYr7YXAPYXQWXYtyRzYxXzwQYY7RYh/o6vY3Yrx<4YYLHvfO;Y,X@YJ,_IvgDYXLXXuupVYY"x6V Y,iw<'+.uRYYStb@5XY@x75pY9Xss:PXXuDYYtS.~+utLYYMHY8,uuL=r.,jvJYY2u$MYPYvwH)?p%7G%֞"_ #Q<E #+ T*q= ׈6&+7G*f)!q$;M*CPi&xDk r?nЉ(L!XM f1҄/'b M5` nMYҰ"c |ߵ}R!(m%*J$wK ɯتhv u\HQcAޔ 0`_y*Y}t;q O @G$@ E P OPU H˔ yZKn%&v3E`PI*#J :? yTdq)u $@\P*)nė |GXW y^ (6  TX̕+ 4m%p+>pQ"oa* 63  3(^D",ێ!J" i"BzUa'#z|L"!q* 'L$Z-P$G%$W  @ Ye9h!2R7*j+Pa*7$$' v'(&B ^#AWK :  3?¦N,  Q 8%N#v ' T ! )yevA^&:)B0o J#6,%yx% #d'o߬%4 B / F;p 2=V4)I-l4 5 &$N"RX /!:ٞeC3} ҝ%ˈ 52 ğ.$ ';p  _#Kn%!)o:#bC r |)<# a5Xd?+ .l 9P>'a R!   V!y !f- D#  =MI,("%.(k" N!+V+D>&r E!! )Ԅ='U|'7)Ƌ# ) "+Uq#fEm M)[*&'>j  7Q#K(#)wOZc)Cg@&qJFZ o $ ??W"8]F1:H!*E # #\("\?,eEE#(F cց i?dm !!r x1p i`= *'K  ,7 9  ݤ+= 060)%D "b #w& $ CE|#W$DE(,(,D(U o;6!*({$9* A]E;޺;L?Ք*yf/8"_·B$Mt2i8ץD WȸuggFq0b&a'FGacʄD3vϮvGAE`&] ъ`pb FQxƎMnKiyލf OhXg$ԅ)ƙ[_<Ɓ;,dlaIQE?syH9gwbaA^uY0y`y96G+@d}}|FG.oP/hW ky"C  'E)4T|$  .c _|& )q4-@45I <"QL%>AgGۇ#ԗ{)Fp 8t!@ T$o s¼D  @*p-:V "" # b6 v[-$lh Et#X)c*i~"S2 Kˠ)< XXyXXu'YXp--XXyXXu:XXu;XXyXXyXXuXXuXX{gXX{hXX{iXXwXXtGXXwXXtHXXwXXtIXXwXXwXXt`XXxXXxXXxXXyXXu"XXu#XXyXXyXXyXXyXXyXXyXXzXXzXXzXXuXXzXXzXX{,XX{-XX{.XXwXXt$XXwXXwXXwXXt>XXwXXt?XXt@XXtAXXwXXyXXyXXtXXy?XXtXXtXXtXXy@XXzXXuXXzXXuXXzXXzXXzEXYW9<XXtXXw?XXtXXwyXXwzXXw{XXw|XXw}XXw~XXxXXtXXtXXxXXyYSXXXztXXzuXXzXXzXXu/XTXXsXXsXXxXXxXXxXXxXXxXXxXXtXXxXXtXXxXXtXXtXXtYYo.L+}+}XXz*XXumXXz+XXz,XXunXXz-XXzhXXziXXzjXXuXXvXXv!XYWP,=]DYeX1\XXvXXsXXvXXvXXsXXxYXXxZXXtXXx[XXx\XXx]XXxXXxXXxXXtyYY ,=F+*XXyXXyXXuKXXyXXyXXugXXzXXzXX{XXvXXvXX{XX{XX{XX{XXvXXtjXXx%XXxSXXxTXXtXXtXXu+XXyXXyXXyXXuXX{GXX{HXX{IXX{wXX{xXX{yXX{zXXr:YCYo00YWXXtMXXwXXwXXwXXwXXwXXxXXxXXy]XXy^XXuXXuXXuXXy_XXu(XXyXXu)XX{XXuXX{XXuXX{XX{XX{6XXuXX{7XX{8XY qqXXt-XXwXXwXXtJXXwXXyXXy XXy!XXyIXXuXXuXXyJXXuXXyKXXyLXXzXXuXXuXXuXXzXXzYXR/,XXwSXXtXXwTXXwUXXXXwXXwXXt%XXwXXwXXwXXtXXujXXtXXxXXxXXxXXyXXtXXtXXyXXyXXzXXzXXzXXzXXuXXzXXuXXzXXw XXw XXw@XXwAXXtXXtXXxXXxXXxXXxXXxXXtXXz=XXz>XXz?XXz@XXzAXXzBXXzCXXuXXzvXXuXXzwXXzxXXuXXzyXXvXXsXXsXXvXXvXXvXXvXXvXXvXXvXXvXXvXXxiXXxjXXtXXtXXxXXxXXtXXtXXuVXXyXXuWXXuXXXyXXyXXuoXXz.XXz/XXz0XXv XXv XX{XX{XX{XX{XX{XX{XX{XXvXYW--XXx1XXx2XXtXXtXXtwXYo-s.Y/uYWXXu/XXu0XXyXXyXXu1XXyXXyXXyXXyXXyXXyXX{VXX{WXX{XXXzXX{YXYW XX{XX{XX{XX{XX{XX{XXwXXtVXXwXXtkXXx&XXx'XXx(XXyXXyXXyXX{XX{XXuXX{JXX{KXXuXXtNXXwXXtOXXwXXy,XXy-XXy.XXy`XXyaXXybXXycXXydXXuXXyeXXuXXuXXzXXuXX{XX{ XXwaXXtXXwbXXwXXwXXt.XXxXXtXXxXXx!YXp.-XXy"XXy#hY-YWZ-]{XXuXXuXXuXXuXXzXXzXXuXXzXXsXXsXXsXXwVXXxXXxXXxXXxXXxXXxXXxXXxXXuXXzOXXuXXuXXzPXXzXXuXXuXXsXXvXXvXXsXXw XXwXXwXXtXXxsXXxtXXxuXXxXXxXXtXXxXXzXXuwXXuxXXwXXuyXXzDXXzEXXuzXXvXX{XX{XXvXXvXXvXXsXXvXXsXXvXXsXXxBXXtyXXxCXXxkXXtXXu6XXyXXu7XXu8XXyXXyXXuY4YYo-..XXuXX{aXX{bXXuYMY {0"XX{XYW ]DXXx3XXtrXXuXXy|XXuXXuXXy}XXuXXuXXy~XXyXXyXXu2XX{%XX{&XX{'XX{(XX{)XX{ZXXuXXuXX{[YYWqXXwXXwXXwXXwXXwXXy:XXy;XXtXXtXXuXXynXXyoXXzXXzXXuXXuXX{XXupXYWT.-qXXwvXXtXXwXXt6XXwXXwXXxUXXt7XXt8XXwXXxXXyXXyXXtXXtXXy/XXy0YX(XXzXXzXXuXXzXXzXXuXXzXXzXXzXXsXXw&XXw'XXw(XXw)XXwcXXwdXXweXXwfXXxXXtXXzaXXzbXXzcXXuXXzXXvXXsXXvXXsXXwXXsXXwoXXq/{xYwY \XXtXXxXXxXXufXXzXXzYY /4F)XXzQXXuXXzRXXuXXzSXX{XX{XX{XX{XXsXXsXXvXXsXXtXXxNXXxvXXu=XXyaXXqXXzXXzXXu]XXzXXzXXuXX{lXX{mXXuXXuXX{nXX{XX{XX{XX{XXx XXtaXXtbXXxXXxXXxXXtzXXt{XXxDXXxEXXu%XXyXXu9XXyXXyXXy8Y[Y X).]DXX{2XXuXX{3XX{cXXtBXXwXXtCXXwXXwXXtDXXwXXt^XXwXXwXXwXXxXXxXXuXXyDXXuXXyEXXyFXXyGXXyHXXuXXu XXu!XXzXXurY&X`-XX{*XXwXXwXXwXXt!XXwXXwXXwYYo)+D+DXXtXXy XXy XXtXXtXXy< YYo/0404XXzXXuXXzXXzXXw9XXtXXtXXtXXw:XXw;XXw<XXw=XXwwXXtXXxXXtXXxXXxXXyXXyXXyXXyXXzqYzXk--qXXuXXzXXuXXuXXvXXvXXw*XXuXXw+XXw,XXtXXxXXxXXtXXx/YXXXz$XXz%XXuXXzdXXzeXX{XX{=XXv$XYW.-XXtXXtXXtXXtXXxXXuHXXuIXXyXXyXXzXXzXX{XXvXX{XX{XX{XXxXXx XXthXXx!XXx"XXxOXXtXXxPXXyXXyXXyXXu>XXu?XXyXXuXX{@XX{AXYW[/4qXX{oXXvXX{pXX{qXX{rXXvXX{sXXwXXwXXwXXwXXwXXtcXXtdXXxXXxXXteXXyUXXu XXu XXyVXXyWXXyXXXu&XXzXXuXXzXXzXXuXXuXXuXX{4XX{5XXt*XXwXXwXXwXXt+XXwY YW]{SXXwXXtEXXwXX{XXwXXwXXwXXtFXXyXXyXXtXXyXXuXXH.qXXzXXzXXzXXzXXuXXt XXt XXwMXXwNXXwOXXwPXXt XXt"XXwXXt#XXwXXwXXwY-YWY)qXXtXXxXXxXXxXXtXXuXXuXXzXXzXXzXXzXXuXXwXXwXXwXXsXXw>XXtXXtXXtXXtXXxXXxXXxXXxXXz7XXz8XXuvXXz9XXuXXzrXXuXXzsXXuXXvXX{XXv XX{XXvXXvXXvXXxeXXxfXXxgXXxhXXxXXxXXtXXxXXtXXuNXXyXXuOXXz&XXz'XXz(XXz)XX{XX{XX{YsYW.XX{XX{XX{XXvXXx,XXx-XXx.XXtoXXx/XXxWXXtXXtXXxXXXu,XXu-XXu.XXuJXXyXXyXX{NXX{OXX{PXX{QXXuXX{XX{XX{XX{XXvXXwXXtSXXwXXwXXwXXwXXx#XXtiXXx$XXyiXXyjXXykXXylXXymX,XXyXXyXXu*XXyXX{XX{XXuXX{BXXuXX{CXX{DXX{EXX{FYYW.XXwXXwXXwXXwXXwXXwXXtLXXy&XXy'XXy(XXy)XXyYXXyZXXy[XXy\XXuXXzXXzXX{XXuXX{XXuXX{XX{XXw^XXtXXwXXwXXt,XXxXXyXXzXXyXXtXXy+YYW]DXXuXXzXXzXXzXXzXXzXXzXXzXXzYYofY)-YWYWXXwXXwQXXt XXwRXXt XXxXXxXXxXXxXXxXXxXXxXXu~XXzKXXzLXXuXXuXXzXXzXXsXXvXXsXXsXXsXXvXXsXXsXXw XXw XXxqXXtXXtXXxXXxXXxXXxXXyXXyXXz:XXz;XXz<XX{XXv XX{XX{XX{XX{XXv!XXv"XXx;XXx<XXtvXXtwXXtxXXx>gYCYo00YWXXtXXyXXyXXyXXuPXXuQXXuRXXuSXXuTXXyXXuUXXt\XX{_XXuXXuXXuXX{XX{XX{XX{XX{XXt[XXwXXwXXx0XXtpXXtqYYo,,,XXywXXyxXXyyXXyXXyXXyXXyXXyXXyXXyXXuXXuXX{ XX{!XXuXX{"XXuXXuXX{RXX{SXXuXX{TXXuXXt9XXtTXXwXXwXXtUXXuXXzXXzXXuXXzXXzXXzXXuXXuXXwqXXwrXXwsXXwXXt4XXwXXt5XXtXXxXXxXXtXXxXXtXXtY ]{XXy*XXy+XXtXXtXXzXXuXXzXYW9<XXzXXzXXwXXwXXwXXw XXw!XXw"XXw_XXtXXw`XXxXXxXXxXXtXXxXXtXXxXXtXXxXXxXXxXXz\XXuXXuXXz]XXz^XXuXXz_XXzXXvXXvXXvXXwXXsXXxXXxXXx=XXtXXtXXtXXz XXz XXuaXXz XXzXXzXXubXXzXXucXXzMXXzNXX{XX{XX{XX{XX{XXvXXvXXvXXvXXxHXXtXXxIXXxJXXtXXxKXXtXXxrXXyXXu<XXu[XXzXXzXXzXXu\XXzXXuXX{jXXv XXxXXx XXx?XXx@XXxAXXyXXyYY -R-DXXyXXyXXyXXyXX{/XX{`.Yoq.-օXXwXXt\XXt]XXyAXXyBXXyCXXtXXtXXyzXXy{XXuXXuYzYWL,]DXXzXXzXXzXXzXXzXX{#XXuXXuXX{$XXtXXwXXtXXwXXyXXyXXy XXtXXtXXy7XXy8XXy9.XT'XX{UXXzXXuXXzXXzXXuXXzXXzXXzXXuXXz'YYW|XXw0XXw1XXw2XXtXXwtXXwuXXxXXxXXxXXxXXtXXzkXXzlXXzmXXuXXzXXuXXzXXvXXsXXvXXvXXsXXw#XXw$XXw%XXxXXxXXxXXxXXtXXxXXxXXtXXxXXxXXxXXxXXtXXzXXzXXuhXXz XXuiXXz!XXz`XXvXXvXX{XXvXXvXXvXXvXXvXXvXXvXXtXXtXXxXXxXXtXXuAXXuBXXyXXyXXyXXuCXXuDXXudXXzXXzXXueXXzXXvXX{{XXvXX{|XXXX{XXvXX{XX{XX{XX{YYo/--XXxXXxXXxXXxXXxXXxLXXxMXXtXXtXXyXXyXXyXXyXXyXXyXXyXXyXXyXXyXX{9XX{:XX{;|XX[XX{kXXwXXtKXXwXXwXXx XXx XXx XXyMXXuXXyNXXu XXyOXXyPXXyXXyXXyXXu$YsXJ+]{XXzXXzXXzXXuXX{0XX{1XXt&XXwXXwXXwXXwXXwXXt'YsYWVXXwXXwXXyXXyXXyXXyXXyXXt?YXM/XXuXXuXXuXXzXXuXXzXXwBXXwCXXwDXXwEXXtXXtXXwFXXwGXXwXXwXXt XXwXXtXXxXXxXXxXXtXXy XXy XXzzXXz{XXz|XXzXXzXXzXXsXXvXXvXXwXXsXXsXXsXXsXYWb]{XXw3XXw4XXw5XXw6XXw7XXw8XXxXXxXXxXXxXXtXXxXXxXXtXXtXXxXXz1XXz2XXupXXuqXXurXXz3XXz4XXusXXznXXzoXXzpXX{XX{XXvXXvXX{XXvXXvXXvXXsXXvXXx^XXtXXx_XXx`XXxaXXtXXtXXxXXyXXyXXuLXXyXYWqXXukXXz"XXz#XXulXX{XX{XX{XXx)XXx*XXtlXXxVXXtXXyXXyXXyXYoI-s{0"XXyXXyXXuEXXuFXXyXXuGXXyXX{LXX{}XX{~XX{XXwXXwXXtPRYYW ]D.XXxXXxXXxXXxXXtgXXuXXyfXXyXXyXXyXXyXXyXXyXXyXX{ XX{ XX{ XX{ XX{XX{<XX{>XXuXX{?XXwXXt/XXwXXwXXwXXwXXwXXt0XXwXXwXXy$XXu XXyQXXyRXXu XXySXXyT\Y^YWt]{XXuXXuXXvXXzXXzXXzXXzYY +R+XXwWXXwXXXwYXXwXXt(XXwXXt)Y-YW\-X]DXXtXXtXXtXXyXXtXXuXXzXXzXXuXXzXXzXXzXXzXXzXXwXXtXXwHXXwIXXwJXXwKXXwLXXtXXtXXxXXxXXtXXxXXxXXtXXtXXzFXXu{XXzGXXzHXXu|XXzIXXz}XXz~XXuXXuXXzXXuXXzXXsXXsXXvXXwXXwXXwXXwXXwXXxlXXxmXXxXXtXXxXXxXXtXXyXXyXXyXXyXXz5XXutXXuuXXz6XX{XXvXX{XX{XX{XX{XX{XXtsXXx4XXx5XXx6XXx7XXxbXXxcXXxdXXyXXyXXyXXuMXX{\XX{]XXuXX{XXwXXwXXtWXXtXXXtYXXtmXXtnXXx+XXypXXyqXXyrXXysXXyXXyXXyXX{XX{XX{XX{XXuXX{XX{XXuXX{MXXwXXwXXwXXtQXXtRXXwXXy1XXy2XXy3XXtXXy4XXy5XXuXXygXXyhXXzXXzXXzXX{XX{XX{XX{XX{XXwgXXwhXXtXXwiXXwjXXtXXwkXXwlXXwXXt1XXt2XXt3XXxXXxXXtXXy%XXtXXuXXuXXuXXsXXsXXwXXwZXXw[XXw\XXtXXw]XXtXXxXXyXXxXXzTXXzUXXzVXXzXXuXXuXXzXXzvYYo-X**XXsXXwXXwXXwWYMXqXXxwXXxxXXxyXXxzXXx{XXtXXz XXu^XXu}XXzJXX{XX{XX{XX{XXsXXvXXvXXvXXt|XXt}XXxFXXt~XXxnXXxoXXxpXXyXXyXXyXXuZXXyXXyXYW}{XXuXX{dXX{eXX{fXXv XXt_XXxXXxXXxXXx8XXttXXx9XXx:XXtuXXyXXyXXyXXu3XXu4XXu5XXyXX{+XXuXXuXX{^XXuXX2]D.XXt:XXt;XXt<XXt=XXtZXXwXXtXXy=XXy>XXytXXyuXXuXXyvwYeXc,]{XXzXXzYXh.LqXXuXX{XXtXXtXXtXXwxXXwXXwXXtXXtXXy6XXzXXzXXzXXzXXzXXzXXuY-YWf0"XXsXXw-XXw.XXw/XXtXXtXXtXXwmXXwnXXwoXXwpXXxXXxXXxXXxXXtXXxXXxXXuXXzfXXzgYsYWXXzXXzXXzXXzXXzXXvXXvXXvXXvXXvXXwXXwXXwXXsXXwYzY S/q.-օXXxXXxXXtXXzXXzXXzXXuXXzWXXzXXXzYXXzZXXz[XX{XXvXX{XXvXXsXXtXXtXXxQXXxRXXtXXx|XXx}XXx~XXyXXu@XXu_XXz XXu`XX{tXX{uXX{vXXvXXvXXwXXtfXXxXXxGXXtXXtR#y#!! ׅ%df=Ak`s1.m̟' Z8*"7*;1e 9\(t &&& sl ( s g8GOBB>֖ :&2: IE ?jǚ r"&x `"1#kچ(Y"=#h'z"i'`*"|1 1'ݟ*95;& ®# 9D * !?[ 'L0XX;;L0XX;;L0XX;;L0XX;;'sY '"2(}p_ ')^E$N;&)x@-U$åt0 ABl%dl@_l%<-GLX@̓K IA%U:56<&qt 8` )b$$¨| /39|')U"!~   Q@!A2Q(P"A* @( %" '4E`' _5 '*M! g)7'6)4# @'w),%V = Fna*o-3%%; a/w'h0U<"$Yd%s tk,2C110011001100O{%$% &lYj]-K ( "*r 9O #h"=  '|e8&ݧ ݨGc(\h@cq9I#* &2I'L'+?+@p Q$T!! . N :;(!H x#:~$A&4s9!"\d42e+% #yez#0  ] ;3 2s.  A J Ip:v$]03"g+ ,{#N 12'%3t fP' (p#6g#;4(%UBH# ѾI;&O(#ʑI4=é-(-)z(&X )Zx! %  m)&o&pedB r $R!;}! 5U4zjY- q&  ^N   Tl%x'yi*+ #QC`Cm -  l>P&/l)m /X ('b'!#z`!PYE~  " )>X"!!7wV0J  )jR.$Z"% !H&%eY iF! ՅY?K)-8#Q nǎ(0**4* *   #'Uo  DExFN'*?t$U8%`ra51 $Q |$&_!N ݯ# yL6%qh#.)-"ge>S( L;4**)H+h'6G%$ fj;#&r"<g&) LF  /b"vrC|*r*)7r!)'T#!0(~X'Y 0&H S$_ޓ YWX)DYWX)EYWX)F!YWX)G$YWX)H'YWX)IzYWX,YWX,YWX,YWX,YWX,YWX,YWX,BYWX0beYWX0cfYWX0dYWX+YWX+YWX/YWX/9YWX++9'YWX+,9)YWX+-92YWX+.96YWX+/;YWX/<YWX/<YWX/<YWX/<YWX/%YWX*%YWX*(EYWX/(QYWX/ YWX*_YWX*`YWX.YWX.YWX.QYWX)RYWX)XYWX)YYWX)aYWX)$YWX.:YWX.JYWX.RYWX.YWX+#YWX)hYWX)iYWX-QYWX([YWX(aYWX()YWX-<1YWX-=ËYWX0ÒYWX0ØYWX0ßYWX0hYWX,kYWX,ƂYWX,ƅYWX,YWX/YWX/YWX/YWX,_YWX,`YWX,aYWX,b>"YWX/5>)YWX/6>-YWX/7>:YWX/8>AYWX/9>HYWX/:A#YWX+A)YWX+A5YWX+ACYWX+AFYWX+ALYWX+*jYWX.*kYWX.*nYWX.*oYWX.*}YWX.*YWX.*YWX.-FYWX+-hYWX+YWX.3YWX+bYWX-rYWX-tYWX-uYWX-~YWX-9YWX*XYWX*[YWX*bYWX*YWX-^YWX-_YWX*6YWX*7YWX*8YWX*9YWX*:YWX*;YWX*<YWX*=YWX*>4YWX,>YWX,EYWX,YWX)ȚYWX,ȨYWX,ȼYWX,ȾYWX,UYWX)MVYWX)NbYWX)OfYWX)PsYWX)QYWX,YWX,YWX,YWX,YWX,YWX0fYWX0gYWX0hChYWX+CpYWX+CrYWX+CYWX+F@YWX/FCYWX/FJYWX/FQYWX//vYWX+1/}YWX+2/YWX+3/YWX+4/YWX+5/YWX+6/YWX+72\YWX/2jYWX/2xYWX/BYWX*GYWX*YWX/YWX/YWX/YWX/|YWX*b~YWX*cYWX*dYWX*e DYWX. YYWX. ]YWX. dYWX. wYWX.YWX)YWX.!YWX."YWX.#-YWX)n1YWX)oFYWX)pOYWX)qYWX-#YWX-͜YWX(YWX(ТYWX-EЭYWX-FвYWX-GYWX0YWX01YWX02YWX0@YWX0YWX,YWX, YWX,iYWX/YWX/HYWX,fIYWX,gSYWX,h4YWX/>4YWX/?7YWX+YWX-7YWX+7YWX+7YWX+!YWX.!YWX.!YWX.!#YWX.#YWX+#YWX+#YWX+#YWX+#YWX+#YWX+ sYWX.6 YWX.7 YWX.8 YWX.9 YWX.: YWX.; YWX.< YWX.=CYWX+PYWX+UYWX+YWX-YWX-YWX-YWX*YWX*YWX*YWX*2YWX-cEYWX-dJYWX-eYWX*BYWX*CYWX*D%YWX*E'YWX*FYWX-YWX-YWX-ռYWX)վYWX)"YWX,@YWX,DYWX,HYWX,YWX)VYWX)WYWX)X|YWX,$>YWX(YYWX(bYWX(fYWX(hYWX(9YWX+9YWX+9YWX+9YWX+9YWX+<YWX0<YWX0<YWX0&YWX+9&%YWX+:&&YWX+;&-YWX+<&;YWX+=&=YWX+>(YWX/(YWX/(YWX/)YWX/YWX*YWX*YWX*YWX*YWX*aYWX/"iYWX/#wYWX/$}YWX/%YWX/&YWX*hYWX*iYWX*jYWX*kYWX.YWX.YWX.YWX..YWX)0YWX)>YWX)+YWX.'5YWX.(?YWX.)YWX)v YWX)wYWX)xYWX)yڡYWX-ںYWX-YWX-YWX-)YWX(*YWX)0YWX);YWX)=YWX)>YWX)NYWX) YWX-KYWX-L$YWX-M&YWX-N/YWX-O~YWX0#YWX0$YWX0%YWX0&YWX0'YWX0(YWX0)YWX0*AYWX,lAYWX,mAYWX,nAYWX,o+%YWX/D.YWX,. YWX,. YWX,YWX.YWX.YWX.YWX.YWX.YWX+YWX+YWX+YWX+YWX+YWX+YWX+YWX.?)YWX.@/YWX.A4YWX.B<YWX.CYWX+$eYWX-kYWX-nYWX-tYWX-YWX-YWX-YWX-CYWX*IYWX*YWX-kYWX-lYWX-mYWX-nYWX-ozYWX*O߆YWX*PߏYWX*QߑYWX*RߓYWX*SߗYWX*T9YWX-CYWX-FYWX-YWX)YWX) YWX)YWX)YWX)YWX)YWX).YWX)YWX,YWX,YWX,YWX,YWX,YWX,uYWX)_vYWX)`wYWX)aYWX)bYWX)cD YWX,(DYWX,)DYWX,*FYWX(FYWX(FYWX(FYWX(FYWX(0YWX+0YWX+3YWX03$YWX03.YWX0YWX+EYWX+FYWX+GYWX+HYWX+IYWX+JYWX/YWX/YWX/YWX/YWX/ YWX* .YWX* 1YWX* 2YWX* YWX/' YWX/( YWX/) YWX/* YWX/+ YWX/,[YWX*pgYWX*qoYWX*r%YWX.+YWX.5YWX.DYWX.GYWX.YWX)YWX.,OYWX)~VYWX)mYWX)AYWX-BYWX-HYWX-YWX)YWX) YWX-UYWX-VYWX-WYWX0- YWX0. YWX0/(YWX00YWX,YWX,YWX,YWX,YWX,5[YWX/5hYWX/5rYWX/5}YWX/88YWX,s89YWX,t8SYWX,u!YWX/K!YWX/L$lYWX, $oYWX, $qYWX, $zYWX,$YWX,.YWX.>YWX.CYWX.YWX+hYWX.HrYWX.IYWX.JYWX.K4YWX+']YWX+(`YWX+)YWX-YWX-YWX-YWX-YWX-jYWX-YWX*YWX*YWX*YWX*ӍYWX-tӓYWX-uAYWX*ZPYWX*[cYWX*\tYWX*]yYWX*^YWX- YWX- YWX-YWX-YWX)˜YWX) YWX, YWX,YWX,YWX,YWX,YWX,&YWX,YWX)fYWX)g:[YWX,.:\YWX,/:dYWX,0=!YWX(=,YWX(=BYWX(&YWX+&YWX+&YWX+&YWX+)YWX0 )YWX0 )YWX0)YWX0;YWX+PYWX/xYWX*YWX*YWX*wYWX/1}YWX/2YWX/3YWX*yYWX*zYWX*{YWX*|YWX*}YWX*~YWX*YWX*YWX.YWX.YWX.YWX.YWX.YWX.YWX.؊YWX)طYWX)GYWX./HYWX.0JYWX.1MYWX.2YWX*YWX)YWX)YWX)YWX)YWX)ǤYWX-YWX-,YWX) 8YWX)YWX-\YWX-]?~YWX05?YWX06?YWX07?YWX08?YWX09?YWX0:B}YWX,BYWX,+YWX/+YWX/.|YWX,z.~YWX,{.YWX,|.YWX,}.YWX,~IYWX/R5YWX,WX,YWX.YWX.YWX.YWX.YWX+YWX+YWX+YWX+YWX+YWX+YWX.RYWX.SYWX.TYWX.UYWX.V"YWX.WYWX+0ݔYWX-BYWX*YWX-xYWX-yYWX-zYWX-{YWX*a7YWX-8YWX-AYWX-FYWX-LYWX-MYWX-'YWX)+YWX)JYWX)DYWX,DYWX,GwYWX)jGxYWX)kGYWX)lGYWX)m0YWX,30YWX,40YWX,50YWX,60YWX,73YWX(3YWX(3YWX(3YWX(qYWX+yYWX+YWX+ DYWX0 HYWX0 KYWX0 RYWX0 YWX+T YWX+U YWX+V YWX+W YWX+X YWX+Y YWX+Z YWX+[ YWX/YWX*YWX*YWX* YWX*YWX/;YWX/<YWX/=gYWX*~YWX*YWX*YWX*2YWX.3YWX.LYWX.QYWX.XYWX.bYWX.nYWX.YWX)YWX)YWX)YWX)YWX.4YWX.5kYWX)pYWX)xYWX)HYWX-YWX)YWX)YWX)YWX)YWX)YWX)YWX-`YWX-aYWX-b6YWX0?6!YWX0@8YWX,8YWX,8YWX,"WYWX/"ZYWX/"]YWX/"jYWX/"kYWX/"nYWX/"oYWX/%!YWX,%4YWX,%AYWX,YWX/VYWX/WYWX/XYWX/YYWX/ZYWX,YWX,YWX, YWX,!YWX,"YWX,#YWX. YWX.YWX+YWX+YWX+YWX+YWX.ZYWX.[YWX.\YWY)-YWX+8YWX-YWX-0YWX-2YWX-YWX*YWX*YWX*YWX*YWX-YWX-YWX-!YWX*f(YWX*gYWX-YWX-YWX)YWX)YWX):YWX,:YWX,:YWX,:YWX,:YWX,;YWX,=YWX)r=YWX)s=YWX)t=YWX)u* YWX(YWX+YWX+YWX+YWX0YWX0YWX0YWX0 YWX0!YWX+`$YWX+a&YWX+b2YWX+cNYWX+dYWX/"YWX/(YWX//YWX/~YWX*YWX*_YWX/@{YWX/AYWX/BYWX/C3YWX*OYWX*PYWX*UYWX*VYWX*WYWX*YWX.YWX.YWX.YWX.YWX.YWX.YWX.bYWX*oYWX*}YWX*YWX* ŒYWX* ŔYWX* XYWX.>YWX)YWX)YWX-YWX-YWX-YWX-@1YWX)@7YWX)@?YWX)@DYWX)@FYWX)@HYWX)@XYWX)@ZYWX) CYWX-fC YWX-gC%YWX-hC,YWX-iC.YWX-j,oYWX0D/SYWX-YWX/YWX/YWX/YWX,YWX,YWX,lYWX/coYWX/dwYWX/e|YWX/f}YWX/g:YWX,%JYWX,&QYWX,'YWX.YWX.YWX.YWX.YWX.GYWX*YWX.YWX.YWX.YWX.yYWX+&YWX._YWX+?YWX+@YWX+AYWX+BYWX+CbYWX-rYWX-zYWX-YWX)J^YWX*sYWX*YWX-YWX-YWX-YWX-YWX-YWX*lYWX*mYWX*nYWX*oELYWX-EMYWX- ENYWX-!EbYWX-"EcYWX-#YWX)YWX)YWX)"YWX)0YWX)8YWX)1hYWX,1pYWX,1}YWX,1~YWX,1YWX,1YWX,4PYWX)z4YYWX){4\YWX)|4mYWX)} YWX,A YWX,BYWX,C YWX) YWX) PYWX+ YWX+ YWX+ YWX0+ 8YWX0,YWX+kYWX+lYWX+m^YWX/nYWX/}YWX/YWX/YWX/YWX*YWX*YWX*DYWX,e)YWX*3YWX+?YWX+YWX/EYWX/FYWX/GYWX/HYWX/IYWX/JϏYWX*ϕYWX*ϣYWX*ϨYWX*ϬYWX*ϹYWX*ϺYWX*YWX*qYWX.|YWX.}YWX.҅YWX.ҌYWX.ҔYWX.YWX*YWX*YWX*YWX*YWX.DYWX.EYWX.FYWX.G\YWX)_YWX)cYWX)YWX-YWX-+YWX-1YWX-6YWX)$6YWX)%6YWX)&9gYWX-p9YWX-q9YWX-r"YWX0F"YWX0G#YWX0H# YWX0I#YWX0J#YWX0K%YWX-%YWX- YWX+%YWX- %YWX- FYWX/HYWX/PYWX/[YWX/^YWX/cYWX/hYWX,YWX/mYWX/nYWX/oYWX,+YWX,,YWX,- YWX.YWX.YWX.,YWX.YWX+YWX+ԺYWX.hԾYWX.iYWX.jYWX.kYWX.lגYWX+KדYWX+LסYWX+M׭YWX+NײYWX+O:YWX.dYWX-YWX.SYWX-jYWX-sYWX-YWX*s&YWX*t-YWX*u.YWX*v>YWX*w?YWX*x;YWX-$;YWX-%;YWX-&;YWX-'>YWX)>YWX)>YWX)'YWX,'YWX,'YWX,'YWX,(YWX,( YWX,(YWX,*YWX)*YWX)*YWX)*YWX)nYWX,GrYWX,HsYWX,IYWX,JOYWX) ^YWX) pYWX) YWX+YWX+YWX+YWX+YWX+YWX01YWX02YWX033YWX+pWYWX+qjYWX+rYWX/YWX+YWX+YWX+܇YWX/M܍YWX/NܐYWX/OܑYWX/PܒYWX/Q YWX*YWX*YWX*'YWX*9YWX*FYWX* YWX.YWX.ʺYWX0YYWX*YWX*1YWX.M3YWX.NKYWX.OOYWX.P[YWX.Q@YWX)@YWX)CYWX-CYWX-CYWX-,YWX)--YWX)./YWX-v/YWX-wYWX0OYWX0PYWX-YWX-YWX/YWX/YWX/ YWX/YWX/YWX,YWX,YWX,YWX,GYWX/rKYWX/sMYWX/tVYWX/u"YWX,1,YWX,2ޡYWX.ޤYWX/ޥYWX/ުYWX/" YWX* ޸YWX/YWX/wYWX+YWX+YWX.qYWX.r'YWX.sYWX+Q YWX+RYWX+SYWX.YWX.YWX.YWX. YWX*YWX*YWX*EYWX-EYWX-FYWX-YWX*YWX*24YWX-,5YWX)5YWX)5YWX)5YWX)YWX,!fYWX)!oYWX)!xYWX) YWX,M YWX,N YWX,O YWX,P YWX,Q YWX,R YWX,S YWX) YWX) YWX)5YWX+?YWX+@YWX+GYWX+JYWX+\YWX+YWX0; YWX0< YWX0=YWX0>YWX+uYWX+vYWX/YWX/YWX/YWX/CYWX+ /YWX/S2YWX/T8YWX/UYWX*YWX*YWX*YWX*YWX*YWX*YWX*YWX*YWX*YWX*uYWX.zYWX.YWX.YWX.YWX.YWX.YWX*"YWX*#YWX*$YWX*%YWX.XYWX.Y76YWX)7>YWX)7UYWX)7ZYWX)7dYWX)9YWX-9YWX-:YWX-#YWX)5#YWX)6#YWX)7#YWX)8#YWX)9#YWX):#YWX);&YWX-|&YWX-}&YWX-~YWX0TYWX0UYWX0V'YWX0WYWX-YWX-IYWX/KYWX/eYWX/oYWX/+YWX,-YWX,1YWX,AYWX,EYWX,MYWX,YWX/}YWX/~}YWX,8YWX,9YWX,:YWX,;YWX,<wYWX/ BYWX+KYWX+MYWX+UYWX+YWX.vYWX.wYWX.xlYWX+\oYWX+]xYWX+^ăYWX+_YWX.YWX.YWX.YWX*0YWX,?<YWX,@˵YWX/ YWX/YWX/ΞYWX+ΦYWX+ΫYWX+ιYWX+YWX+&YWX.DYWX.KYWX.TYWX. YWX+eYWX+fYWX+gYWX+h"YWX+i*YWX+jFYWX.FYWX.FYWX.FYWX.FYWX.VYWX*gYWX*wYWX*2YWX-2YWX-2YWX-2YWX-2YWX-5YWX*5YWX*5YWX*5YWX*5YWX*UYWX-7gYWX-8jYWX-9mYWX-:qYWX-;"YWX* " YWX* YWX, YWX, YWX, YWX,cYWX)eYWX)jYWX)xYWX)YWX)YWX,^YWX)!YWX)"YWX)#RYWX+kYWX+pYWX+.YWX0EYWX+~YWX+YWX+YWX+YWX/CYWX+FYWX+HYWX+KYWX+MYWX+YYWX+YWX/hYWX/iYWX/j5YWX/kHYWX/lYWX*YWX*KYWX.nYWX.yYWX.7YWX*/7YWX*07YWX*18YWX*28YWX*38YWX*48YWX*5:YWX.`:YWX.a:YWX.b:YWX.c:YWX.e:YWX.f:YWX.g$%YWX)$*YWX)$3YWX)$5YWX)$GYWX)'YWX-'YWX-'YWX-'+YWX-YWX)KYWX)LYWX-YWX-YWX-YWX-YWX-YWX-YWX0eRYWX/^YWX/hYWX/qYWX/=YWX,IYWX,OYWX,TYWX,VYWX,YWX/YWX/ YWX/YWX,DYWX,E YWX,F,YWX/8YWX/:YWX/AYWX/FYWX/GYWX/LYWX/YWX+YWX+YWX+#YWX+)YWX+5YWX+;YWX+YWX.YWX.YWX+nYWX+o<YWX.<YWX.<YWX. ?YWX+?YWX+)VYWX-+YWX*YWX->YWX-?YWX-@YWX-AYWX-BYWX-CYWX*YWX*YWX*YWX*YWX*YWX*YWX*!YWX,8YWX,YWX)YWX)YWX)'YWX){YWX,cYWX,d@YWX)'RYWX)([YWX))_YWX)*pYWX)+rYWX),YWX+YWX+ݼYWX0LYWX0MYWX0NUYWX+fYWX+mYWX+qYWX+sYWX+yYWX+YWX/ YWX/#YWX/%YWX/;YWX/YWX+{YWX/pYWX/qB-YWX*B<YWX*DYWX.EYWX.EYWX..7YWX*?.;YWX*@.YYWX*A1YWX.m11YWX.n12YWX.o13YWX.pYWX)YWX) YWX)YWX)YWX.YWX.YWX.YWX.7YWX)R;YWX)SNYWX)TOYWX)U YWX- YWX-YWX0iYWX0jYWX0kYWX0lYWX0mYWX0nDYWX-(EYWX-)QYWX-*WYWX-+YWX/YWX/YWX/YWX/YWX,YWX,YWX,YWX,YWX,YWX,YWX,̇YWX/̈YWX/5YWX,KdYWX,LYWX/YWX/YWX/YWX/ YWX/!YWX+YWX+YWX+YWX+G YWX.G"YWX.G$YWX.G:YWX.G>YWX.GBYWX.GOYWX.G\YWX.YWX+sYWX+t3nYWX.$3oYWX.%3pYWX.&6IYWX+6WYWX+6\YWX+ ?xYWX)YWX-YWX-YWX- YWX-"YWX*"YWX*"YWX* NYWX-H TYWX-I YYWX-JYWX*YWX*YWX*YWX*  YWX*!zYWX,YWX,YWX,YWX,YWX,YWX,YWX,]YWX)YWX,iYWX,jYWX,kYWX)/YWX)0YWX)1YWX)2YWX)3YWX)4VYWX0QdYWX0RhYWX0SYWX+YWX+YWX+YWX+YWX/YWX/YWX/1YWX+4YWX+ FYWX+!MYWX+"YWX/vYWX/wYWX/x YWX/y YWX/zYWX/{YWX/|8YWX*8YWX*8YWX*8YWX*;FYWX/;KYWX/;UYWX/;_YWX/$YWX*G$YWX*H$YWX*I$YWX*J$YWX*K$YWX*L$YWX*M$YWX*N'YWX.t'YWX.u9YWX):YWX)DYWX)NYWX)OYWX)gYWX)YWX. YWX. "YWX. %YWX. +YWX.YWX)YYWX)ZYWX)[YWX)\YWX)]YWX)^yYWX-YWX-YWX-YWX(YWX(YWX-.YWX-/YWX-0YWX-1֨YWX0֬YWX0YWX0}YWX,YWX/YWX/YWX/YWX/ŽYWX,TYWX,UYWX,VYWX,WYWX+!YWX+5YWX+={YWX.=YWX.@YWX+w@YWX+x@YWX+y)YWX.*)YWX.+,YWX+ ,YWX+ ,YWX+ QYWX-dYWX-fYWX-zYWX-YWX-8YWX*OYWX*bYWX*jYWX*YWX-PYWX-QYWX-RYWX-SYWX-TYWX*&YWX*'YWX*(YWX,YWX,YWX,,YWX,/YWX,6YWX,8YWX,;YWX,YWX)YWX)YWX) YWX)YWX)ۓYWX,p۔YWX,q۩YWX,r_YWX)<`YWX)=qYWX)>uYWX)?YWX,YWX,YWX,YWX,YWX,YWX,YWX, *YWX, ʯYWX0XYWX0ZYWX0[^YWX+&YWX/EYWX/FYWX/JYWX/BYWX+%BYWX+&EYWX/DYWX,EYWX/EYWX/EYWX/.YWX*1YWX/ 1YWX/ 1YWX/ YWX*UYWX*VYWX*WYWX*XYWX*YIYWX.yLYWX.zbYWX.|hYWX.}wYWX.~YWX.YWX)YWX)YWX)YWX)YWX)YWX) YWX.0YWX)dCYWX)eYWX-YWX-YWX-YWX- YWX-{YWX-5YWX-6YWX0 'YWX0 +YWX0 YWX,YWX, YWX,YWX,pYWX/qYWX/uYWX/YWX/YWX/IYWX,YKYWX,ZTYWX,[ZYWX,\sYWX,]GYWX/-GYWX/.GYWX//GYWX/0YWX+YWX+YWX+YWX+4YWX.4 YWX.4YWX.4YWX.4$YWX.4*YWX.4.YWX.6YWX+{6YWX+| YWX..#:YWX+#HYWX+#XYWX+ YWX- YWX- YWX-YWX*YWX*YWX*YWX-YYWX-Z"YWX-[YWX*,YWX*-YWX*.YWX,nYWX)qYWX)vYWX).YWX,v1YWX,w6YWX,x8YWX,y'46 (L^1)r+ P'- % K,(p"O w'*o!  : (C$ (!nv$-&(*A V !~$# (S(k  "=S A2$"3G9%ɳP}Fq g$:$$D, & FqGn!/+J2T,PgJ$_4h*,#5Fq!/<|&JJg'!/[Pq# $g #5Jh ijg!/G!/#PJ+JAg#$C$ <hJFqMh#)J!/g#s$'J@$!/-h J.P 4H,P-5JJ&,)P| !/$-$ԘFq!/1Q && 7)ƣ!/A#zg.tg',#U&# &$QJd$*&=P&#ܫ!/Fq!/<!/!&$8uh FqP!/D @Fq [zlJ!/5,$!/k g fPF#7PG#<@$n#:,& xP& $hJW&#P,${P½h #,8#PYFq$ P*Jh(c6.$I ~! Q#&*G#_$p**2<% * _, MtP(1nDĻ+D'`Z=͚Nƪl)(GH ܵ30KR9o!G v%/"H,Ao%l(L#'o>ļ D^&#ƫ(ܶ!<Lj)rp6Gw'~$,B>w)  :"3z}'_-,  &&uH;0@% 9#ZBN @v;! P#4  -| .E/K&! b!6ٱkCD ү#65CĮ i s  $J3C)<&F5)P>.~"!a'* bp!I'#(y D 8=[!!" Z" T(z$K(#!:UU Q%eہE1 rԒe>m͌&7#ƞ"/E))";&'97> z7D#]\#\'o]"%tP ](ܦFk?h 8n4 1I$x3'!:?#XG "\֕@!22  2 / x$*%"ah(R?qGe5$@ i9+k#s H$;VޏQ&qɻ*j)¶,3*4%^* N  / <( *%hvN *=6( =S"% iEA0, pW" 11"d <*.%&g'O    [z C .);A6 v/l]  *IUFxE e#I4 *i04 [ /**Z#rQ!σ.ȉ +R7&2 O'  #? , "53T(()! & OC"ĺ(_ ͙^ )' F 1 !J.*%k*f9"þ(? Cy!VAw# #?#6 Tr* /"0$%!:Z bp\hɫ(%%u y Q 3( a')ٟ <P!ĠvE(6B.'&m6z /W:" 0/B4x0#N!LN"qܘa8^1;+F8,=%hB iA. !>>7"%?jNG *֘( ,'8LwLM}LL$-&LdmLL 'L%L#FL*= L2L jL L(L$SL4LmL,"c߸ j(-. %4!> #u?`G@%3)BX|  2#2eY<+.&"41'P %!N {" /B&6/m"L  ZV9E)R5!j0d\&0 *[#s#' >+hA8(P!@c%A3U" < o ,#$MYkB N*L_*JErҿ"  . !%B 3#)Z(Y%@$!!cfE@> 0'!>K7`Q'nj%Ck *?v?5'"G֥"@ S2 )!Y$!.'zMUJ fޛ'H#*@!5(swݣ$m/ $'\C/X n6$\ 4p "e;( R&&gj!2B#*V)%&5Q2G-2G2G$2G&٥2GYң2G2Gk2G62G2G$x2G+*O2G' 2G@2Gp2G 2G %"YRlX YszYJu!hoYh`.N} o/v(`/E-#YqupYkk}6,Fv N2b+l Y?ښXD,~ 4Y&F/;<2v,Fc#1YK>C+#-Zo1Y  r+3"K2j0Xt#RYbk` X r.kaY!/4 r.mYe r/a'}j- S-8 26-b rXEڎ,:X rY7<"&Y\FB2~/w+Z ״-z r0b 0 h1,!3,uf׷Y#AS. rYm,׆YoE U/!d rXjX <XtZ*X:.]J".b r/Fh)Yzk,-oubڝY: r.a. ٿY{r g,G#-F2|YuzڞYy+m]/q r+YaQ 1,1+l=ZX 20>t36Y: rYJX"2:-j-ctY:% r-4v Y %؃Yu!3+2X h1/m$Yb_?Y^ qc- b1/I,e rY Y^u&*!Y"!3Y -#X+2-/J r. /l%JXWf/'ؼ/C~Y&,/,E:/'l +2_;!)1/T XX,H?CYj<Yz10}bٶX r+E60D$ r,_m4)rYkl X*- r/ rY?m2+@ )2s+oڬY}+4.1-Y9 rY m2/ rYMB2~.jc 10j?,Z^XuSIYuT.YU"~-  Y !h,XE*2XWY!3YP(421/ r0211, %ו,rF 2-ڈYu=Y-`PY  r-a [2z/5w rX{ r+Z{Yu} r.Y t*YhFY/=/;n4,YoF/ r/<mY[lMYE+)2EYFl&1,J,Fa#91Xo.` rYs-o/< r- r.jؠYvu3^Y8 Y u*_Y3|32%.')/y=,Qj.( r/LfX r,e+F2hYw"0c rY8C r-!)1.s<Y6o++Cu,X <,m)bXu*YXYy*~,.iX =,Q nn+"{20&k,\X?8YD)2XXb5b1, +t1,` r,1#0I r-2?+jEZX rYg2y.s r,F4(-4th*ؿX r/ Y Y H?RX_ rYUE#)nYm">-F;2.!t!Yb\X*-2k.mY'lػ-(YzE שX rYpYT r,_(Y r._{(p0*F0rE qc. r. <X_2YXb)2T/t1-٤X*X r/sIY310!3Xuv*Yh r0k10T8 rYT .Y N-eq(31YLer!?XF <1-ke ڱ.jX r/k#YeE<Y9o1Xj׏XU rX)Yb-a 2uYUm;'-u ؕX& r0cy0Pu2*yYblXY .a1)~/^.!n?ښYٹ.t4qXb1,P r/0 r+/* rY2l/3 bYW r-n <Yz3ڃ+m.9 r0J1,0E2+cu*Y3&2.׉+<+ -g(.N`1.t!hY^1+7g 2I,]/F^ -+P_.ي.m(Yp r.lOXb /v3X`,Yt'XF)"22,F1-dj/F r-bs.P+s gY[s#hYlBX r.u_ ׭-V r/T rX`!1Y]m]׸/d^<Y E2Y"^<1YHkv=Y r.) rYiYF52'-Q +c&KYp<Q1+.a -)),jp<YzAYT r+t^%mSY:t10|  0>_2f,; "7YHE)%~, l UXJ rYc2,'}ׇ.?'j,:+2.  r/<u*GYPY?cY-jBb/3YE"X,ts#1Yt(Ybz r/!2Q,| r/j  nY' N1/T!م+c!3Yom?. ?2(.C׃.t< r+Zk/*ؽ,X r,z|YlbT~-#G r+Y (31/1=$1-?w-wL rYKO"ڙ,Q `~YR rYS7.YU'S%Y}gK+Xtzz(Xl. _Y}+)2E+mU,+Y<Ym b/ r-(!,E1.*,ڮY{ h2"-v {/d(+; rYg%XvءYkl׹Y^ r-leX -!3YH rYl0YE_'}GY wX`/]!3Y X`)23Xu.يYhx r,mnXE2/w 26.~ rXm 5,3*HN.Ea2J.i r-FڹXt3Yu YXtIYh:~I0(*Z.k\ړY$#1.;2y,f r.Jf(n/$gDX r0;jXf ?Y@jCXbV0 F h10 r/F(2w-[)Y=t9Y/Y4^1YJ؈/ 0/&`.)2U-c(i. r/ bY 1+d!hf+ rXYW< rY? rYf r,A r,{P <$-os^XB rXlhYb r+^/<F$2YHkY-F /;s*Ys XU=Y6E)20,rF8 .j >YX[ r/^ rX`"Y+#%-"a5Y<d#1+g3/zd.| YAJ'dY_6 Y k%YO r+ r.~PJPY`QXtlYXB rY$X rYH r.9 rY1 r-4F 2H0*<~XmP|Yeڒ.0FX.a9,#؂/`&~+_ r/r k/) %/"{2,' Y  -Y& $YDt*׿Xkv1ׯYzt1-Wْ. rYw/deP XnI.Ys %/|C׃.k ,w~ r.t4SYtY: rY. r+msYI <1.3,^Xa. ؤX`5Yu|%ڦYb r+CL!)1.< rXc /]*}-F8 r0  r+y~Wf.Y-3 r+  r.u ؓ/"!3Y kD 2-\[-gU,.9t(<Yt=Yna)2s,jjY)&~/v r.<i_+B\).l.b12./ 0X r.E&2>-me /u&\#Y %+/* r,+*h/v'}/F">+pKWf,3$Iک.N"0QY E*-2k/myX $ظ.AhQ NX r,(,e2V.~ rYf Yat*הYt %וYd'~/ 2..1.k 0rnJَ+c rY r0&  2H+i)29-*1-eufٛXE'1,QE,!3Y  .3 rX4 v+ r+Pt nnYzF$2+ .9+ r,g r,#< rX r-btoYht Y:i2c.^ rXF9 U/I-y r0= r-o1Y F2 ,p_1/]s r-!3Y F!<1X rY8F12XF_ +l<Y-l YT#d-F#-F+2YS/6--i!30X^1,9D/.:2-+^2YLj// r/m rX@ 2,%2q/ /Ft0 S+t  YjXh~t-E! .aQ rX Y u r/E2V,Fj٦Y$*0r|*."}nX?,l+X-y r-10*_-@ /FG(n+| r,v r. N1Ypz1-[kIXl#XvLX?~XX30  -uj*Y.-Q' r-c[*h-uk"Yn(<. rX r-FM)2s,jtH*Y r.0kXE:, YStI3X r-Z- <.z4 $-o rYtڴX,A*,{u{ڵYK7.Xr"220m9<YzE1/sll׺X N1,m~<X( %EX)!-1/*)Yt')Y-G!h+2//*ٖ,X r+RDY  r+ r,ibY r+P%-(!/i,J r.O`22YjYb^36Xd r0Ju!h3Y$1ׯYeTb1-) r-FO .x r-R$g-k "Xu 24+v @/o1Y r.UL /;uK"Y{!h+,\YF~-X b,;!h~..&,!./=!2Q/b N1X Y=o1Y FH1- r-+BP2t0/ YS rYF<Y< Y ` 1-9Y7.YH7.Y T/FY E/1-jY$#J/<)1._%sY'3Yc2nYNm\ ,n ژY*]/d r+c  rYi# r/ r/,b rY4d9J2,!2\+d:,2Y8F)2^0"02]#2Y u'}YmQYJu%YW"Yw %l.02=,  r0tYPd<+ r,_<XFX 2\+ % .:9 ِY 1."lbIX` r-FD1,_?<Yvv lXZb0 d1/j{WD,YC XI؛+K XdYWbM ,"<*/XLY%)#AS/>*K-+oj؄+dbQ)1+jb%0(l/;!3Y BX$n/X 2+ r/u#LX( rY+) , r/Lax,n- Ym,=Y&^,H\2-+8f 2091+E2v/C r- +_ rY *.<gX S//&\#.Nt3X r,i,F(41,H3+2!3Y n" G.k ^+u ٿY&k Xk Y-MY%h12!-uKYPm +u:*;YhH Xm٫Y9b~.0K'~0."ׅXAy2 +Z/ r.N?1.t[ r,!3Y OY6b rXQmږX% r02( rXd1Y\(~,- rXt3.Xڨ/;$6+Ym'ׁ- F@)2XYnYZjYDYYF1+{ / r, rX)aX6 Y  rXcs ^Y@F#!-1-FVK+M`Y *+t*X`m rX+Zs$ إY2v.#1XYFT10~`n r.YF h1- r,s r0/i"2Y ٚ+:y r.t} - r0Yu%*ٍX /^%+f:XxX`C׃.-^ r/1^)1Y1h2>,Y` r-F#91Yj /nm'}Y.Yb r.C#2/u nXFy/b r.-8W.$*~/,S-\tbYFR1Y( +WJ+d k0k71X`1./ bXE /k / FSy2 X&,٭X))Yb+m XמY- ٸ0zYSv Xjؼ-cSIYI Y _<Y l@ YVk%X!20!3.o*. r,NB)20^Xm , r./ bXu*XY& rYuY"n~Xl\Y3r.VFV%1.4v rYkE2h.<mk//e. rY$ rY rYH!0}a r.k YY|) rXO bXJ,2D.7.Y m +a /R YkSz+: r/V)YXY3Fb10] -> r/l ?XE h1+x)YWz r,jg)Y[uOڨXh h,b 1YY(n, U.<" r.U# r.~2/X7.Y 7; ,it'AY- rX6-&,2,'+tB*(X  0D%.u. +_# k+! r,% r-]׸+t *YPu,+XFflYz٦YiC~h,pF+1- +d r0  r,b Y{3+Fa,  S-lYY bY <1.t.*~-F /Fl Y r,_u*ٟXnUY! +KliX r. ^2'. r/Qp!3Y $ r.H:~r+tv*qYj\)ZX rYd ; /uIsY:gYsy2 /txtY[<fYSYG X5 rXk<ڻ.k|(z,l 2u,FU- ,.<ڣY0a~/FN"2:,0F+c ځ/*-2k,=:+m2.a 2YqY7)20/)1+w, Y )؊X,׎.u2YPm o/=` r/u(Y3EP2t,mSY) qO0 -&DY u]YPu^X 2/7.Y T04<Y)u_Y[0 r.A3 rX5 rY*t$gY S,sr*ڀY Y r/ > r.~ Y!<Ye r+ؚ+CתXC r.U0~<ٲXu*QX*b,E N1Xj MY&n<<ٽY-%Y  Y  YتXbQYi,k+#b1,Q)2T,s Ym 2I/s.X rY_u>2YF 26-You?'}Y"F1-b!?װ,8F-p ^+F2.t"YFX2y+,Xc2 YH*A/ rY{tYbFd1-zm\YmYm .,u ںY" r- VXE,׍-#-E-"1K--" r-#+: r+u*ڼXu)YW -W,/F2-bt*0X@ k,&TE-Qj$'SYgצ//$YUtI*1Yt"2Y" &9./ r,Fj$ן, r- rYA2'0}g 2Y !h-3,l ,mYo"1/;eF6,M5 ؏Yu#YbzX- r+meK2YX rX#(,Z r-  $.2YNE 02e/ r+hm,}YtizפX*~. h2". rX rY%-P5 X8^.~uI؛Yh r,3F .T` r, rYH YbuK*؜Yhj',*XoYU2;.F1-M  9Yr]2oYimK~Ys rXW(nD0 Fp#C2*,Y*2Xt*ڄY<YDٜ,/X"Yl.jv#Y7.Y ^<1+<ڡY=jM/F -E(31Y/2\0F*1+Bu4YPD Y F&2/ 1/2F h2".a rX"Y( rX+^1/F, N`,A r-@g [2z+Y0)2U0g 2L0|-P')/a( rX!3Y Aڍ,tbsYF*1-F 1YYI0e r.9 r.su'uYkF 0$<س0 ai iٔ.Un ٓXE*1+u#)nX7.Ymj10FF .2- 2h+t9[YP  bY&l7,٭Yk!?X<YjY3~i2c, ^(n+-1/lj-.bٶ+m/(i06 r0e)Yz&1- r., Xi r/g!?װ/7kY<4WD+R2-+ztY5 / r/nbY7 5Y~+K| r.z a. /; r/VלY)^Ga. r/ r0'}Y*Ywz%Y*1/(گ0p rYtKY"׉- .E". X`  r./a/Z YU-13,s,0. r+27,u*BYg1YF"{2.~! 2/eu\CYh(n0fs1Xs:2Y .u:3X :Y;Y}~YV)1/Z_ N~,.@.XFY]b2<, r- ,_ r,i'}j.N1XY !3Yڒ/uu$n/Y:bYA,٭X)YW2XY ">+ rXjaYDE1,w +c_ 2-k r08l1-t}*Y r/u> ._t~ YhQ r/2V/u اYmn_XzXm / r+<؆,v$nةY: rXF2qX r/]F2\.t r/lMX #ٳ-pdp 26/;`270c7.Y # bY3 r/-A0  r,F r0mkY-C,G^o1Y !$Y E2+p rY 2,  r,/](A,/mN0>d& /d+z!3YbF/2;-ڴ/2*ٴ, 26.!'S؝Yk 1/ap(2d. r/l Y,~-F [2z/ rY r+/, rY\ r-)H0 t `Ys r/׬Ya (0kt"kYzu^X2, rX*y/Pv"XD r-YnuE %XuF,؀XK rYq; rY_`1X(/ +\-,Y rY\YkF h/!Q 2.F12,n% ,f1+I!3Y Fb102d<1,Y*Y+yn+>-#Ft1- Y0oE N10c Y^/YsF<Y" YjZYbt3X8YW!?/= - !h5,;lYsk kXF:6.2 rY rY r+*B+m2-iq!עYT*-a1+P` r,3F^(31XcMXx Ysy Ysu+(گXdp2y0p r/zl +3.jDdX اY> ~S/#1/tn(nDYt8EXbXT!3Y ڈYxn2,X r/  r-E  rYwc ؓ.`~Y*+j<׾YzuO(.X r/k(4.E)2^+^t*0Y-E,uC1Xj r-UX ,k>X r+m)YJ)YWE 1X&aٷ.n83Xs <טY2HX3^.!3YsיX&\Yl^Y bY  r/1+$Y r+; ~K-Ou}.١Y]2;. r+c} -- r+~aY9YRt1-LE#!20~MLXE u1,X_C+qi ׭+_6Y$X bY <YStV vwY3\#AS.]zڞ+2K. r,j.> rXyن.7.Y MaY&J)YzL r,8u4Yt2X0=P r+ym7/u Y u Y" +y#1YmXM_Yr r.t YPF N2C+ rYpFa2Yl?8, r02t"X`f""10L2;,b&, r-F1/n?^Y rYNh'j+F)~.tbY: ->.W;J0?_yX٘X rYTH.1/U r._jY,2D,Y rYE#<1YZ%Y&-cFw!w10$/ $-"0 r,+ .sE&20m2 H, u3oY:A Y g#C2*Yj"k.k X'}ؒXI-Z&\xX bYDK r/, Y l r-a"ׅXE1-jmJ/m<ڣYz0xu"Y-b1. r-: ),b r/ bYW%Y[ rYY2Y)YWs!X rY!(n/F1/<F2Yu'~,oKu,bzY rXO r-d T-Q r,FV .gYm#AS-<~YOZ!h~,Xu"X DYDuW>6Y*ڲ.lXAX!3Y  r- ,YX:-?^]-j$:~cYTt8YJ 0e r,#j  XK/ڋ-:x-f| h2"/eA*!,j r+Kz"ڙ+v ->X?8+WY4'q~-ub&Y-LزYbY-cM ڱ+F!2YMN Y r- rX02f.V/b'1+; r/*~/L VY<!-1+A r+tJצX .e b-jڟ/j.A rX </(+Yb rXjVY}X21-`-YX rYc*+c,׫Yq6!h~- rX r/]"Xa rX:0 z<X)FYRa . rY r,'F/tڈYF.1YmC Y0 Y E$2r,B rYwXdo1Y 1/a-,E 2Y. r/E22YvYH rYa3. !/?mׄ-gHXK , rYFm ڔXt*aXt+Yz'S1,&84.0kqלYG rX r-e)2^+ Y /*].?u*yYmYzl Xn r..١,D+qk$w+kxYV7Xt3rYmv'.E7.Y s \XkWْ.'j ױY*XF ~t/?!h]X'S1-C!3YA)1.p r/u,#PY h2"/#-8z( -{ r,{ r+}"1K0k< r-u-*QY)J,% r/!i2c.'cK.W!Y rX'SJ-gaY rYuCY8/YW+; r. r,s2O-J r/7.Ysl,;tr'}Xdc YXkLY r,r] r. rXF 20pE"K2jYh*~0%2\.S2;-? rYe/)1,m` b0Z r,7.Y Fq. r0k r.Wa Xs*8Yh(bXt:9XCt/E1.sL:Xs;YDu34Y'ז+_HYMT)Y,c"Xu5Xa#)2$Xjك+s,pY-g,;. r/v{&2B-f2.mI|Xs#Ybp)2-j?jXn <-Yt[*$Yh2.C:-F'S1- R.kmXo,mYP%mS,V8 X >+: r+ r+2"/!)1-{t(خX- rY 2F/ v00pm Y^t iٔYz"YA)YJ-t*ٖY r-t3ٗY r+Bצ+Lm+/ej<0Yzt3Yhv2V/^ua#Ys~YN`#1.'lY-Ykب,W.Y8 r0Rz<~Xb/k /z!,/ rYYnGX1,2D0KE-7!hX rX g+2 r-Q <1-{ %Ykl,ًYG S-hYD YJo1Y[ r+2=- r,G0k rY E rY]`#AS.H%YJE NY+3(n/\XkPu.u&؆YJK rY5!')0RjY*!u. /Gkq ؗY^٤X r0l<fY-/O:3X r/97.XYWEXl TX rY a%Yma2X)YW ,Yh<-\)2-F"2V+Bn X <NX@/ڋ-h#,P rYQ(~Yqt*Y"t*YG'SئXk+'S%YeF Y*XeYa r-F'1-hYyuX4 r/ 5/g,2DX 6,,ؐ/+ r/Qlڏ. r/uo.1/`u*ڲYm*ڿXnY6A rY bY  r,u %ڳX!h~-z r.l],/]jYAڍ.b1Xu>"MYF s2+K 2-Q r/e_*׿, 4q, /pF 2I,k r/ r-a!2-F rY~m*;Y-!h.%X>?/;?3.X"-j r0 <1/ Y  r,Qm2,  X7.X)YW).7j Y S.`1X /z 0 r.WuP٤Yv r/cuQ'٥YuR n٧XF1-b'}XuS#٨Yj YuT*٩X,l׉,g2=Y E%J1-צ, rX'.<y2 +l-.6 N`/q%YEPYo~XuU3٪Yt/b|Yo r/]%Yoi r-2>/)ZX OY&t0'}}XfjXMD1/!u"Yc r/( 2-YZYeL rYFk$2r,R r+rS rYXT r-[!$Y l"ؘY r+q+Wfٛ.U^ 0Y  -mjؙ.o?Xd ,q r/!3Yb r, Y j /t.X ~+m OYj iY3r-c,Y`t %YhtVY"b)X-7.Y 3+~@X rX r,YW>.2\/ r+F 2L.+)/Y rXg 2Yjs"Y"j+F\)2TYf r-bg .vkYFL!~s.a r.0b Xh r-Zu0% r/8& r.) r/]* rXt?tX r/t@!uYhf ,X2 rX'q~,Nbڝ-N׺YV r,i r.9E 2,mRٕXB.mתX"/YWF)1/T%-oY2,$6+/z r0e6+Qj - s2. 1,t*Yl VY r-tY`z1YUYzu(XFB1YX rYL*/s'YbقX, rYw Y M%D+%JYMFQ#92i.i!3Ytv rX r0q;*0,< rYl),+k/<׵./o,+YeqتXsa9X r0p~YSe31-$z(,w~X6.&#1-v' Xt YY?+:/^`2O.e&1,wB چX rYwD ,_m/ڇYZ r/F r. %/l؇+m1ډXf/aF1- D n/ z1-GvYa"Y[tX&\Yqf2l,[0y1+t,)Xa r,Qq-vP rY#kYb )Xw S+ YST$2r+K .u!3Y E*-2k02|ڰYt ׫XsYp r/;Fs2--a  r, r, r/jn.٠Y r/'!h1+~i'W0b$1.8"M+YY k-ki)$2r, ,3 rX2.!3Y F^1-E,2Y1'ׁ, g.7Xl= BXu r0c rYxF1-FaC rXu4 Y10%Y3]  0 u- r/dE 2,bٶX#7.Y-?X!3Y i2c/LtbYmg(70e~/M]sXm+X(+0}ح+qt LYJ r,+1+.F2,k?X&!h~,t'}Yl -.Ut#yY=)p.n$ rX? r.',X@XC r+xD r08 r,sj/z.G<Yv.aXc<קXXj4 /Y j T-vٕXo  X VYzYb+6^ 2Yf?/m -1*ה/u$nVY:uWY r+cJw'.+2/<O r.`tQ3YM] X r/T,0p bYWtR %YP,2D+- r+ rYj rY8sIY#P. r,LآX iٔX#AS.D.2jJX r+OC~h-XjopX50/ 12-v *?X;^.c r0eYE r+n+!?װ+q)-<E:3/ r.` *-j# /Tv,2D+R1&. r- rYi r, r,j..9mڠYs^.` s2/ eYFA h1, Fj1/67.Y -0xb  0r r+ r-:q 24.3:/:,YEzڂ/u!hرY3M66X'YwC~.7| r,%jA#SOX)%,a)(41-qt"Xd&2/O ~S+J"O-1SYE -{ڵYLpXs3Yh='}~T/kS/Fu6" Y"F!?0s, Y c+mK :Y)ّY6&/.2y-j)You7( X %-cv r+e+jvXu8X` N~-*~+;/3=Y41YW2YW3$6+YhYJ#h.C r-Q ؓ,m"Yzj@Yv-gj.<Y)lTع-b`ai.E2\/ua3YT 2L. r-4V*Ye H-k;Ym :Xh,Yk&<Yz`#AS,mM׬Xu3X*X/oYt ؋XJ r,k)؊Y9L"Yf|1-f}#1YM!i2W04mv'S/zl{]+m>,2Xlq/uf،Y 3Y3Fg2\. rYQt*bYhd 2)/-%l0Xs#dY&vٯY_Y .YYmEڎ+F. r- 2/ r/ r.<Y0m ڬYs rYx^2-`g$1+] r.ta Y^ r-_ r/2_#-& s2/b r+o` r-Na2.J2=+c%Yo**/#+ڎ,/m٬Xu -X rY2o- rY|?0/}nY r,R+:g+)2EYak ,ؐ. k"m0 r01-ڎ/aڐYQط0mXtfڶXE2F. r- rY#t*ڷX5Y< :,tn 'l YwuڸX // #AS.o<Y Y)1., r,0%X(?/l"t,R*~,5 r,8 r,t%&RYJk<DYzh)~,F(2.ij,BY=k7Yb r.)jsY2k2YU'+ea2Xa330 ؗXA6-+m.10(> r+j?RY6*-pAeY r.~t"7Y%Y  rYYE -O r.V<1,R r/t &9Y r-Ft""1,+ r0z*Q+Ym Ybb :Y@'j/8F +3 r.YDu"סY-v!עY:f10e~PY r.N rYYE -l,YY O1- r,PYF#1.V rX%1/#+?'Xt  Y3b*2,e\#y+t *ڀYJc2hYE vb.y#1Y[t 3ڃY r, rYk#Xf r-v r+di K0" ״/Ti bY Y0`t"K2j.El r. (.0 nX^XM..UG r-:"22/ X YS% 1/Fm2>,A(#+yW-s&\X)YK rYFn1+ rXRڕY2XS*s.~X,Yh| r+V},/11 </ r-ut3rYF 10p6 r/18X9. r.<Y E'~-F(2w."(@0%(n0.b2-+d/ .8`2/Y`!,<Y-&*ڢ/ r/] ؉X0$dY'hXtIWYt"XYhUaXV"O,$nV,Fu YYhj?cYX rXt Yk <,i2c,O2F.*j S/'v IYT29,^2 .- YS. YsU1cYX<1,/ r,F +2-  r/a^ r+s r-~PYv*Y-u](XAڍ.!w1/_2 -2 I/;F)23.n%0rlXF2-Q_<Y t9&AY[ r.bכYL rXFY'!?+-'1-Gm +X YYl'S؝Y2.,2D-KYt".X'K0u(410 S.E10 IW,3M _Y<I$nVYXO#)2$+<׵+~ r.)YWzl/G 0}.Q*, rYj "YlzXL!h50'+ %ו,F(1+P!3.#a9.b" r-. r-E 2I.xkMxY0E#+b r-?E2YYt*ڑYB22-lڎ+<l,QYSE  +d@)2/c <,0l؅Ys r/  ,au N2C,/n rYb'1YI r/=J|Y s;'.'lYk %"Y r.W [,) rY]bY*]-eYj YI&\. %Xu*Ybm}ح-/;'S- , X t1/a N2b-P/v Y 4 /uׂY 6YKu"ׅY r,wWD/ Y t*}Yء+EW+F %"-o r.*ٟYX r,g<-#Yx!3.v*eXg>#92i-"YF2<,Q  Y0%ڦ0p /u}6+Bt"ZX rX7.Y:!3Y  r.b)2- rY3g.Vv,3`i12,` ).> r-`j 1.b-)1.Am`X r0} bY k`ڕXt,Yo2  /Oh rYlka,YoE)2^-_YD2@.~  rXup XubYR r,H %-8ur(Yzmd,Y,aXt,3 r+C~bXR&R,l$+h&/,rE. r-b-k  ؏YX#ص-*ض/ -#+ 26,{Y[5X r-:- j&*ٝ/*i/t?Xl@آY@F 24,n وYlXn .j?8Yz2F0vF'1._.1YF$ إ,_l دY vګ0X %-"b2/0)2s,Xm6"(@,^2. r- ڪ,^ r.#)2$+Ya!+Yko?ךXv r-x1/{^YXn'S-y~ r.57.XP*-[ r. rYp rYF#!2, r.4 n٧.`ړYim Yk l, rYlM eX'j/ rXY`!עYu"ׅYqNN/ aS3,'&~W+ r/y r/1u,(Xl8Yd 1,}2-d h1. r+2*HN0e'~-F1/ F- r/"~,jK .8`")2TYuQ!Yhm <FYz2o0(uR^Yt\# YJuS. XuT Y./t]: XF?2=XE. N~.t!3Y h1,F 2/W0<!3/jZY[(,  r+ r-#'lػ+ rYٕY&k?Y>lA0 r,_k,Yot؍Xb% .ue r,_1 r+ X N2 .g'S1Y<i*2Y'a+ rYx1.  r.E)2U0>F331-mY6Ey,w ~S,O~'}+x*/!3Ybbٮ+ud3gYm6Y@ Y0u*hY3m;'Xg+2YYs 2u,1/kaY rY\ue*iYF2F,I'1-bIYwt; -Xu(X rX22f+7.Y kt YM3<.r'!3Y , rY{jYD6׀-mYWu*YPB2~+a9/iشXIqYXYE2O,E0m/)YWFt1+Um&,m'+taھY r/) r,_$ Y/ r+3 r-Z r,w#i2c-rfW/W U.)I.%ML wX u1.& r0' r+t[YP.B/m Yc)Yb r, ؋+.)2U-` G.ixTXyUX! r.]~.dp}2/` N2 Y#`VK,j3`Xn+2u@3=X \Y  r.u <1--*ذX r0R S-F 2)--(nl-FSX/ r+ N+ rY )1+3 1YAF72F+R1/ٞ, k/e X rXlڥY<~|.@ r-mh /cc rY X32,!h1.?׹Y >ר,s*څYe/2 r/Cm2.,n؍,MAڍ. 0YDٜ.Ju%YD 1/F2Ypu7YW rX<1. r,v*~.W rYme1Yw r/F2>/2 r, Y tj% Y,YA 2n/!b Xl r,;K*q/J0t^Y2/z &-E1. r+c7.Y3^'},3J rY r0  z10} ׮-(*-2k/Fa2JX rYql,Yo rX),,- r-aY/ bY  2,F 2/%KY 0Y 27.YWk,WYt3*ـXF qO-1X^ <1,_.YFK120m4Y2=, rYk"?'Y(./z!h~-2,.(i,mאYG rXh N1Y ]Y2YakcYb rYC rY_G rYdF.1+BH rY;,{2 .VF<Yo r0qhB2~+dף0e rYu4*Xi r.`נXj rXu5Xgm2Yrm 6/~-/*/.s r/Fj Xt rXh,i(n+{lfY(.jأYE S-+E29, rXPu/ r,&\+d v/a;"{2+Ln',F(0 bYkuOY;!2Q-At"1Xj3YYw1- r,n Y0gYv>ײYn r0$E 0 r,;7.YWF <Xs L׳X Y  r/Ybڝ+xg"2:-g#!2+k  jXtzY!u&ثY33y.k H-F2-djנX4 h2"-u5W-kMYJF 2.  r0I,H:"m/= r+mu*جX>3Y.2YW'٥0p+d/4 g-_?2,_)1.82y+X r-m(X< rYJ rXl(LYN r, F2 /}u v Y38*.f2>.:!3.:3r.V2l-ba rX /s1.:E<Xbi r,(n.F])2YU.>& r-@s rY> r/F2.bl%J1-K` ^/ Y tY rXi!2Q/kKHYs6#. rXm-W r-kP)XYN rYT)YWE2\, ؋-{ Y lw׎Y$ b+ug׉Y")#!2-g1,tB#؂Y- Y m L/%lY.tC%؃Xi*B0h.E1/l_ڛ+-J r/ r-uW!-u'hXO r,z r,j+)2E-":*+:.i  r.n4m٣Y rY9 ^1.">,k">0!m[EYxlu*Y-}2 .F|2f0"GXt]Yq!?+E +t SYbt r, r0? 2L/O_X rYE r.,Xw!i2W-  r-E u1, K.?m&/cuI Yzm2.oE0?-g2YAE r,tk.;2.< اYKtT"PYkTXkUY /K.ټY A&H2K+tRYt#ASYt'}TYPFE/Fb r.kc10}2;,uFX ^-f)1/aur)HYu"IXu*KYnb[X ,2/mkX cY\ 1/1.U r.!עYk!h,Y7.Y u.BYE- /u*CYj<سYcp Y jXSIY^AYBY}E ,n r+2 rY1 r+Ys33Xn <,EY*(.> r+KWYgo@YaD 2-s&/+F] h1+ %./^-u$ظYJMD)20,.1Xa2<,b0o& r,**;YE2n. rYf r/Ok//F#)2$XڭY e|t1+1/L XbYs Y rX/F!1,mWڰX<ىY6aoY{#!3Yb$_0Ig1.b u1.F2.W k,;kX# 2), rYE%J1/,ڟ-z% .r -|!3/j r,1/'h, rY Y  rY' r+Yt7&Y3bIY .Vt81Y$ r-bu~4Y,k+ #!2.a#a-bu IY=؎+#P0z) Y  ׌Y&Z)1- bYFx,2DXu,X%Y? r,i rXm2 /Xe?YkL wYj Y-w%10a{ Y avN!~s-^2=/j<Y-x rYF (0|)YW{(4,jE&2B/u)pYm *YVuIqY3?+aY Xj@MYEm2.% oN,.F&Q1-u*rY: rX@ rYHڥY[Fb1087 Y F!)1-g3'1,s7.Y gL+3+mjلYj<؁Yz rY2V+F 2o.l7X8Y=d%1+>F+ h2".j r.<-(ai.~$ إ-~Yh 2H,rb $,c*-2kYBz1,j, Yg,QX&*ڢ,tk+ r.V +Tu .7.Yp,m1&+<S3W-Eu.N ,R/ r+xy*~Y /M_ Y5 r/Fl( <VX 09 rYtn9<X r0If ./ 2I/__2>.m#,E)10 =Xb h1+6B!1.C r/c Y}D/">+ r+8NYtd?Y[Oٚ,$ k-.Q /F20V(2+7.Y u]!h@Y1.AZ;-qte'}AYP^|2YY /l v. %.%o 2H0Xu>רY%#!/)YWu שYh>~0  rY`+-B r/'tbٶX*#1Y!2/N#91,iF +1٬Xv*ڊXe rXc r+zFZ.nv/ڋY:lynXn Xk$6+Yhb2qX b.rs r-g%330RF)2,mJ,}YG  2L/du)Y +C%X`  1Yl.ټX r,_`<1Y` N`,:Y r._F>(41+<FYkLYz7YFP h2"/PtK v Y3 X Y-t* XJ/<x r-,fu% Yg""10E9)2/:bڝ,eu Y rYg>60] r,- N2C-{@ /u `YD5*.~ rYF"22,7.YWSY mX r-P rY 0tbzX r,Y/ r.9kbYsnJ v,2//E0=P qc,H2u/+4-G rXa(421/a9 N1+c7IX. ^/t &\فX -ubقY:a"22Y+j.<aYNRYWF6<Yi  r-u rX*/mc<Y r.7.Ys,YJuL3`XEJ2/ r.tXbYy+tZY3 rY<!h+Kfm/k6Wf,r'[/ -m\XF z1/ rYX*ڑ,X r/dkrK/lزYs*/a-#- rX~+kT.ut rX r+u*GYkYv*ה,s'}ׇYo1Y vm2,mY|* +kPXja"Y(lY;C-F ?2(X1.T #L.rl׀0- r0R? Yd/ڋ.P!3Y7.Y`Y= r,d/^v "׶Y r, Y^2>. r-X r.2#)2$+l@Xr0 r-#-F`+62/.E N2 +k}aYbE r+jKף+[F<)2+ rX r+2y.&-  %-^/l ط-v| 1/a$2Y~ 2),c2Y r0+tX.Ut%X,F2-.<E(421-F$1-k_Yb UX r- r/,X').k,aX+Z r- r-T .YU؅YEYYk 5Xl#)FYڇYdk,skYoH#C2*+b.Z؇/=ډY0h,HY:t*ڊ.0; .t ؉YE1-w r,F'1+m^ r-ٺXlaX rY`,+Y r+qu'}jXt\ kY"k Y-mXFaXaYD7 (.a r+go.B rY7zXm.{Y +,*.`jW,׏Y&\Y_u|(`Xb2Yra1Y2%D.9ץY r,F 0,">.&1. /L YE 24-o*++ UYRT*ڷ. r0em(Yv<~Yle?YDF1+2F r,'k'qٙ. rXE2+A~u0e ~.VW ژ,XڌYM rX `+v#)XtYPjץYu'fX+ r,M5kXc1-mhYEl0TF4 1- U!h-+YYW`1+b&+^#2Xu <NYb r,t"OY:uJPYoCYsM|.f'~Y1 rYQ rYutHY r+MNؠYg Y F 2f.a3,؀Xd N2b. rX(n,v!h5Y~,`2,=l.Yv 6X r-@ rYNl1 K.jWY ut*ؽXuu(ؾY3,2D. oX/b,_fع0 rXF!?- r. rXDXmشYt`2>+2l3 Xm*y,R%"q+MY*.]&J/' r-2\,!h5/;"1+`X rY*u#X !$Y  r0eg!-1Yٰ,)YWtb XC.>ײ-t#!X3r/z+"{2-A",z XmבYb*u0 r. Y ; r/[])2U,1-tYh*_,> r,Fu2 .k+2/A r,tbXlX*,l 4Xk9XF^1-. r/,,SF.uVY( /  o.uW*YkIbכY MTYcqXjY~) bY e{mK0$, 0Y  YTv Yhay2 Ya2.n2 r0لX2O/Tb# rXk׻X XmE,J +-j ; Xu~fvYuwYE2o+2^2v, BYsK rX ~S0_L2,u&\xXN rY<2O-,^(2w. r.F N~/^ h+ rYX2,h r.%*., Y u'}pYo< rYD0Y~F3ٗ._&KY rYm e0=n)Yl XsY:s&\X^1+s3Xk<<ىYz,3ٗY rXk 2+ ~}.q r0la]YF1,r,Xb rYF2l.Nz'}/o rY 2\.tyX*~0?ZW- r+#)2$._ +Z`K -FE/*ٝ- </n$YAC,V|YG, k/Q$2.9lh ځ,i. rYEv!hfYh/ bY 2 rX2/.Vؙ+K^ r,HPY`tDY3I <,N.٠XO r+P r.m'Yza32%,Q2Y8 - t"GXW /*|.'Y#92i+Bء. r0^ r-t?TEXt@'FYF<Y"q?0q r/]Y+!3Y  2u+: r,3w<XE1+taٷXkY9m[ Y4X -^Xed N2C.W r+E<Xt'}ٻX[)YWm^,HYouAڍXa0%jC c,b S,F1+d?jXk*Y-kY}2, -b<1/LmY=uڐX*~.nj;.n0.XP!?/.jXY[ r.E h2"-( r/~t.>2'.4Y  rYg 2/vQDYQt1,l ,3Y r/ / +^ rX#1, t!"YuY; 26.AE0Aa2J+3%ؔ+ r0ؼ-d1Y#./*څYQmأXu ~XtY[l =0 <YC rY,*Y- rYA. rY<קYf g+ r.0YJ*.F/J2,t ?2(, ؼ.! r+2z 1, rX2=-pXm|ڂ-( r-o r+Fz h2",hQ1-h1/7F-+ 2I-*Q3پ/.42K/  r.:n  Y-61/u r.~,2D/t `YG]2Y < r+E 2uYa N0' rX/ r,4َ0pv {KYEX.7.Y #AS,Ok<Yzuw,SY)2^/n3xXo1Y uybVY r-p!YWtS %;XkYsj4ذXj .UE 10B  Y u%3<YPF2 U+_u)׼Yu4׽X#AS., 0_ r."2:,n,2Y#*-Z Y ׉,j/u&*ڢYb b,u"ڤY:mu/|c<(41+P2-/"} r0Q r-$R -pM r+m ٸ./!م0=R <VYnn43Yd/_yYK .V|Y l'UY3Le. /T)~/,2Yb/.lZ<q+ rY>!hf- r/lqY3u,X)20=)p-"X.u 08u*YPl.,Y[k Y v , r/;  Y=uX r+2#\,F$,{l +C] - r+cu*גYhE1/2=+`x rY r.u!(דX6<,J2+ 0k! .Jn rXצ.r%/`%+)">.FJ - bY|*?X- r-1.u(nlX:-zu(mY31.d&~+i)2/t'dYz <ט,&_m60l Yb r,'S.&H2K/')/ rY\r r.t,fX*,j\vY r/F'&/,%_ r. rXb)1,t3YE 1+a rY3 r.08KY)B'1,ejXFh / X r-Y rY\~r-[(-c!~s+b"/: Xt oXYoB r-Fi&101+`"K2j,FtF*YX^)20X'}Xm-zYzYXlٞ,` N1,slxm.]~04^ oه/a2-uWYou'4XXaf r/t1+kXt#JY[ls,׍.E}2.ag rYt KY&<׾Y<Y{ <,(L, r/*YX~Xa2Yv:Y` r-<Ytx <X>,R,)Y/ rY} rX b0=F'j, rXt!hX/= X Y`uJ*Xy r+t&bٮYoM |YZ + rY]w rYq'QY-W0& .vvٯYYWA r+k<קX.1+ r0]td #Xu*&Y^10)׼+: Y 7.Y l rXln;+Q r+O(A,,R'}/c^ N1YY *~+u:$XsXd <1-'10(*/m. چX rX#YGf!i2WY;a 2XF} -b. b- L/'.+`./vj+qt*Y3E1Y5YF2n/^.Y'P,tm0Xd9^1/.#2YmI 9Xkx /]n ِX6*], q *,m4Y3 +g(2Y r,bK ^+x#J2/>d2F,au({Xd U/] r/"%Ym?X_#R,/ rY>Q-WM XmrڧX3.&\#/zttY" X %YK .? 2u0chXt*uX rYtlQYe#1XsY Y1sX r.k|"q06'ڛ.CE1, rXFU(2d-m(aY?*~,S rYB{YzD r.k .`F k+l8;oXM r,_F1.ij؎0p.ي0jLkX3oX rYtW*Xk ׌Y2y.f2|X"~,%J1.tY'}Y3kڹXu(iX!3Y F#2X +2ׄ04٫YC,Y8ڛ.+N*~,l؈+s r0XbYX(z,Td)2.X*], ڱ-+~YX r-z^ .! rYlYmK/ r- r,j r0Yf rYE Y{l g+Xv ׮YhX r-"i1-8F2O+f׷.UK0Rb-s3پYf Y-% 1-s,׍+<!$Y E10Jc Y a2J.EN,s bX rX rXM  Y k -Y0^Xl<Yz6 -o8 دY9 2).YFuڒX#AS0{h)2s.b(..@Y["X',`)%~,2\/kw,k<ٲY-6YG`X$nة.%,WX~,;j), .`t*Xs.X?,ًY@7 r+F2YhEyXmkؚ.F2-', km!?./( r+; r,3*Y%-+7.Y'Yt!hX ~K+; r.d,HFW1+2*/ t'}ׇYPmצ+2/L. rYKkٹ--kuٺY2L rXYWt"׈Yz ~},, ױ0 Fr 1-Fy)1Y**ُ0  -GVK/=<1YAE<Y5 rX r.:7o1YE&//w 260?!3- _`"K2jY$e I, r.V&,lP+b0IbV,`'1Xl:,<Y3. rYi=Y1.E2F- rYf+.׊+E2+:צ,nuyYoFOz1/E<1Yj,  Xa/2/z!3Y ڠYE*]/t&YhuJX bY 9YTt3Y r-4t*Y"-Z r."1/<FC2@YY`10 `%J1.?f rYfv*HNYQ1/dj.v"OY^: r,t  rYH  r0 *G+mbB)23, Ys Xm!h-/lE ^-_*ج/)Y0b1,1 rXF20%a N1/t- @XlB+e r,7% Y r-: bXa<Y <YXek .,Xk,Yz2=,cE%J1,q Y3F2XaE jYvt#صXE2- t*ضYF=#1Ydz r+{%J1.a.l Y:jٱY YJF^1/*ׂXl׋X(,*J.'Y h1-*K, F.s r/1 ڔXF1/2.2D r/?ךYMkPYF.j Y|*.u/&\Xu0*Y r---Pd7.Y KYEtt %Y::~r,g 1. k.lXut &X r+b+<YVF1+/E 102o1Y  -p2 0a %/<b rYLu*Y r.zڞXYh+E.1-10"tזYll ٌYP ", r+F.2 / r/. 2+oDٜ0~u ؑYPs'}ؒX3#2/5YEZX8 Xv rY{C~h,2|.Uz bYW; h1, r.xYZmםXj +dn ٢XE {YSF-<q/'+L+  c/`2,Yu+%lX r,=e2Y.  rY12!-!3, r.!3Yb2\-UmW!X] S-"8Xo1X2-Y$;"+<*D,=(2- 106ڜX&U/^ r,)YB rY*O1.L1.ktzXYl( ٢X  ؕ,=FI / ٌXe0 وY/Y rX!hf+PC,2D0 r/e[?Y b,'}AYj؟XםYs \XG rYu Y s ]YP^X#).`F#10sLYS?8-YW0Yd9i2c. rY r0 r/31- <-Y}k)ّYz#.S4X:-t oNYomYkmM?<X )YJt,PXn0b[XiD/"u*>Xl,5XHXF1. ,F r+3r"-G1t1.F1-kٚYA% r//< YE^ڒ/m"gXu)*Y_Xm VX)YW r,_D(w#Y r- ؉Y2-/ r,=h2@Xt#ٳYt*ٴXtٵY:YdT Y  rY.lL cY#٨/ X  rY$'~+_ r-!?/F2\.-&`-1-q1YE rYE r,jٰ/t#(YSڏ+8 r-Peq2XYt,!Yu0Qh r.R ,kI.ؖY)&\ف.%2'-#1+lz,pXh;C-j rX^ 2,st.Fl 1,u *Y rYnu & XE2-4&\xXIY<-Fo(2d.j؄/,*v+d r-*-(%+t1,$3,k r.mC׃+zlXb8!2Y 10Uu7-SY(tN"ؘYM r+[cYD rYR .t.1,sT(-U+~U{Ysz*1+`A,H,k,b!w1-z  rX .E Y /&`Xk`XkamږY(4/F 02e,7g,5X r+c rY>= Y X,X~.t*Y"02XYBY F #2X4"O. 5-u"Y:g&H2KYy ^/F7.Y mXuY&YhYs7i2c0M9)2T04!h5Yr)23+d5 rX ں,sX~t+<m2-FN+-C1+'}/Og 0&`+zkQ X  r/zF h2".IKYH=o1YS` N2 +u %lXn1YC rYc9*2/]Oy2 ,& r.dj/ rXs"׶X(7.`(n0O r.E2/Yq7.Y  r+ rX rX r-" r+V. rY#U MXV h2"+@e/2-!h5/Y~s %NYo<ٽYe1*2X4-)2T/G!h5Ym'SJ._ rX` z102"P+yj/Y[*٩YpF h1,F%&H2KY` r/b'}/ h.kF2XY*uwXtzXt{%X#1Yk{ /7.Y h r/,X/t*,ڗYF{i2c0Tg -b r.e3Y1f1+q rYus!3Y  /!k r+l,.%m v+u"ڙY:%KYbP2tYG rY p7.Y[m0|YU`؈-d9b1/aH$ן,*(!/"6Y ~t,9 .A?!3Y  %l-Fg1X  `,,BaK/0 rXt*/Y +i r.G Y ksXu1Y< vb,uY/<j Y&mYQ 1YX2YY$vٯY<ڻ+lڜX*"ڤ-Ff2XYE r0u,.׊XzפYcl Ysd*1,Fe27/d1,HvٯY Y *ٝ. rY rX$6+Ym<iYzJb|/O 2I,6F u1/lXhx 24YXP)rYv*ُX XlXk ڪ-k[0=t,' rY+#AS/UT*'K.%Xk\YDYm6>."/YWlY TY ],F~1. Xp#1Xt""X r.9jeڽ/m?20 [/]Y.t#*Xu!!hX2F,~-<">-BE <1,% -+<2=-s:X*1,s Y"fm qO,`2\,: rYx X20&j?ڮXtX %NXEYt'Y^3 N`.RD<YI(/klmdYvg4Y r- .`lc#SX %EX r0}6 r- -,'1-_ ?2(XXl ؓ.jtX!~s-p\ r/u*!h]Y" K/y2 YpF<Y&,YPQbq+c r+@F <1.t/DY:mO{Y- r,Y[t %EYoVVK-.[7.YW X] rYt*FXt'}GY r-8u/u} X< rY!F +DY  r/ r/c r-bt#غYS r- /YFk29-{{KY]+Z  r.%P r+cl0Qj"q?,jS r.tIکYh<ڧXT ~-F$#+ot vګY3'}+XjXv"ڭX!Y!/DX%X*&+u%Xl)YW9[Y_k<Yzp,-y r+ rY}lY#R/ rXtT *X -k?;J0Rjd,_ rXu"Xby(421+ r,=l ؤY^F32%-cbz r/,} v/E-.% r.n4/t חYz.a+;ؼ/Qk <$Y Y rYV'}p- r/m,1cX<Y6?Y[F00> -"F[!2Q-d,YzUXYjF ^XV r-O +cF!i2WY\ rY7.Y k`Xt%ؔYP-q*!/;YWF^1+S. r/h rYl ״-k )/hC.B*-j ,N  2),q_Yb,= 2,b<Y ^+;E h/m<Yn Y j%Dٜ-b rYm_X k.n.Y77o1Y  bYW r0 Y > rXmMY'*0KE0- r,r=,׆Y:* Y E2\.!#2XM6 *Ye r+Tl:,Qg"{2X7.YWF12!,u(Xq rY#~ rYG!3Y kٱXk٘XQ<ק.W(n0H) rY]\2h.n r0X` YJm@<"/10t&`YQ2./ \.dZ20%k% Y}Y ~ rY~=1+- bY  b+ rXQ<X rY%Xmo'SئXmeYe 02e,l [- r/t#RX r, Y AXjtڌXe/13 +37.YW,BY7YD rYl U-`2 /_ -X 2H+B#1,X. zڞYN+</c , +u YPy r,T r0vn4Xj<Yz~HY<m/2nY.ؖYI;o,;H r0*YKك/Sq/m ?~Y3-Z r,<~XJ!?-lc<&2B.L Y0 rXl7XO*y-iQ r+h!3.aF r,F N1Y\.im-k Y}aa2JX N2b+E rY/1 rXtf*+X7 r- *-2k. !h/  r09בYDm ?CY[&'~,&lמYJu $YD'-F:0$]/D<=Yl {Y/zm٣X rX rY+X r- 5)1-5X7.Y|/=*؞-P r.:t*Y> rX rYu rY} .'),t(*؞Xhp (.Ek.تY rX:Y8lvI/vmDXY s!مYhe 2,32q+vyنYot oهYob "22/e(0-N r.Aڍ.b L.0&//7: Y#)2$,m<ڡX']/l:Xb~Y*.f'1, rYmdX r0(~, r+^`~,.#!h~,t/ ,Y:f:<Y'cK/UאYn` 24+Z . r,*'KX%X 1. r,& ,_7 r,:&\Xt$nY:*\/!"ڤ-qF0 &UIf[ o%i$7@k! &99 =8*t:~ñ % 5!Jg$#2mm(C&M'aBC y#e*x9C$y(a:q.hB_ %m$  ]8(i >9! ~YAxR  &W)l0 WO5#0%LT"~FU;0'>?)x% .~&C ST46,)*l 5* 6* ;x$"e&Y ' Cw%M &Ɣ"dR))61 #YG"i$X ,) @b"Y9G i9/ !:u %\,z d   Ӟ=%=0 _9 %/C$y%0/#aۄ +!Vr'V}CQ. *x*T#>Us##$n&qC( =>( ݭGh Gi-@i J* 9O' d2N)2O +E 9 }i$YI$Z"\(# n$%"@kA)VEׄ/A DAx$?y>9 j2"(jk!+ #'%L  06$m9 t4'% &#]A& Ot!:|Vc3#b14',$T'7%#*z"##l\- @$l*2m9:#:BN 3*j;,K  hʗ#Q4BP4CO&ï-.-/) &^  ]-}~ x:zs #u'vj&B    !X ;9;(4 _&-Z- w&&"Ud #d#rp" p~0 1C 3H ^("&7| r7} )0P#(<)p34! "  #6!">N$%_F ; Ջ [? ΅8) pǔ0xr"g0*$N##N`# tu l P iJ FyS&T0$? 2zp#e$ T8f%:;Q1|]Yvt,9 /.U !)>+$?q|G*r! 7 U C#Ɛ2 ,%*b$h pa1N#ؽ&&PC4)-h(̏)(l'&@& F%B0)jM؉jN؋jO؎jP؏jQؒjRؓjSؔjTؕjUؖjVؗjW؜jX؞jYؠjZآj[ؤj\اj]تj^ثj_حj`ذjaرjbضwM\wN]wObwPcwQfwRlwSpwTuwUxwV{wW|wX~wYwZw[pBqBrBsBtBuBvBwBxByBzB{B#|B$}B%~B*B+B/B3B9B:B?u5:u6=u7>u8Au9Du:Ju;Ku<Lu=Nu>Qu?Vu@YuA[uB^uC`uDauEcuFhuGiuHnr s t u v w x y z { | } ~  sQ*sR*sS*sT*sU*sV*sW*sX*sY*sZ*s[*s\*s]*s^*s_*1ш2ъ3ь4ю5я6ѐ7ђ8ѓ9є:і;ї<ј=љ>њ?ќ@ѡAѥBѨCѪDѬEѰFѱGѵHѶq4q5q6q7q8q9q:q;q<q=q>q?q@qAqBqCqDqE-:.:/:0:1;2;3; 4; 5; 6;7;8;9;o)eo*fo+go,ko-lo.qo/to0uo1vo2yo3{o4|o5o6o7 !"#l#l#l#l#l#l#l#m#m#m#m#m#m#m#m#amnoqx{|}~ʀʃʇjjjjjjjjjjjjjjjkkkkk~3~4~4~4~4~4~4 ~4 ~4~4~4444 4!4"4#4%4'4( 4) 40hRhShThVhYh\h_h`hahchdhehfhjhohshthuhvhxh{h~h||||||||||||||||||z`"#$'(+/18:<=>FGzqzrzszvzzz|z~zÅzÉz×zÛzáx,x,x,x,x,x,x-x- x- x-x-x-x-x-x-x-x-x- LOSWXZ[]`bgiqruvw|vvvvvvvvvvvvv!p"&*,-ttttttttttݾr&r&r&r&r&"r&$r&'r&(r&*r&,r&.r&3r&4r&5r&6r&9r&>r&@r&Ar&Br&Er&Hr&Ir&Kr&LGuGzGGGGGGGGGGGGGpppppppppppppp}}}}}}}}}} }}}}}}}!nnnnnnnnnnnnnnnnn{m{n{o{p{q{r{s{t{u{v{w{x {y {{{|{}lOlRlSlTl]l`lelkloyn@xyo@zyp@{yq@|yr@}ys@~yt@yu@yv@yw@yx@yy@yz@y{@y|@jsjtjujvjwjxjyjzj{j|j}j~jjjjjjjjwu-wv.ww0wx5wy6wz8w{Cw|Ew}Fw~KwOwRu[u\u]u^u_u`uaubucudueufuguh ui ujukulum;<=BDEFGHMTUY-[]cfsm9_sn9bso9fsp9isq9ksr9mss9nst9osu9qsv9rsw9tsx9ysy9|sz9}s{9~[\]^_`abcdefghijkq\#q]0q^1q_2q`5qa6qb7qc8qdBqeCqfEqgGqhLqiMqjPqkTqlVLMNOPQRSTUVWXYZ[\]^_`abcdoMoNoOoPoQoRoSoToUoVoWoXoYoZo[o\o]o^ o_9;:>;?<@=B>C?E@IAKBLCUDZE[F\G_HbIdJem"2^m#2_m$2`m%2am&2bm'2cm(2em)2gm*2hm+2km,2mm-2tm.2vm/2ym02zm12|m22}m32m42m52.:/=0>1?2@3D4E5G6N7Q8R9S:X;Y<Zkkkkkk kkkkkkk"k'k (k!)k"*k#+k$/k%3k&5B B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2Bhhhhhhhhiiiiiii| O| S| T| U| V| W| Y| Z| \| ]| ^| a| b| e| f| g| i| j| k} m} p} q} v} x} y} z} |} }}  +O+S+U+V+Y+\+]+^+e+f+i+m +p!+u"+v#+w$+x%+z&+{z$z(z)z+z,z-z/z0z3z:z<z=z?z@zBzDzFzGzH.256;DH L M N R TVWZ\x;x;x;x;x;x;x;x;x;x;x;}N;x;  !&+,-/24vgvlvnvsvzv{v}vwwwwww$g$n$p$r$s$v$x$y$}$~$$$$$$$$$$t ttttttt$t+t.13578CKNRSUr4r4r4r4r4r4r4r4r4s4s4s4s4s4s4s4 !"#p?pCpGpJpQpRpSp[p\p^pkpm}}}}}}}}}}}}}}}}}}}}n n!n#n%n'n(n/n4n:n<nAnDnEnFnHnInKnO{;{@{A{B{C{E{G{H{J{S{U{V{W{[{]{^{`{c{i{m{ql-l-l-l-l-l-l-l-l-l-l-l-l-l-yyyyyyyyy y yyyyyyyjSjVjZj]j^jbjdjejijjjmjnjpjsjtjuwwwwwwwwwwwwwwwwwwwhu?hv@hxAhyBhzGh{Ih|Lh}Nh~PhQhRhUhZh^hahbuOuQuTuUuVuWuXuYubucudueuguhuluoutuwuz&&&&&&&&&&&&ssssssssss%s's(s)s,s.s/s1s2s3s4s>rtvwxy|q{q|q}q~qqqqqqqqqqqqqqqqqqqqz&{)|*}+~,235BDGIJPoqהorזosטotנouץovקow׫ox׬oy׵oz׷o{׸o|׺o}׽_`abcdefghij k l m n o p q mOAmPAmQA$mRA%mSA'mTA+mUA/mVA3mWA9mXA;mYA=mZAAm[ABm\AGm]AMm^AOTrUsVvWwXxY{Z|[~\]^_`ak8k9k:k;k<k=k>k?k@kAkBkCkDkEkFkGkHB5C9D:E;F<GCHFIHJJKLLMMNNSOTPWQZR]S`TbiІiЇiЋiЌiЍiАiВiГiЖi Йi!Лi"Мi#Нi$Хi%Чi&Ъi'Юi(Яi)бi*гi+дi,еi-зi.иi/нi0п}}}} }!}"}#}$}%}&}'}(})}*}+},}-}.}/}0}1}2}3}4 }5 }6}7}8;9<9=9>9?:@:A:B:C: D: E:F:{{{}{{{{{{{{{{{{{{{{{ {!$%&'()*+,-./01234567yFyIyKyOyPyRySyZy]y^y `y!ey"jy#k"z#$ɀ%Ɂ&ɂ'Ƀ(ɇ)ɋ*ɒ+ɓ,ɖ-ə.ɚ/ɛ0ɝɞ2ɣ3ɥ4ɧwwwwwwwww w!w"w#w$ w%w&w'w(w) 3  3  3 33333333!3%3&3'3*3/303135363;tuuuuuuuuuu u u u u uuuuusCWsCXsC\sC]sC^sCbsCcs Cds!Cms"Cns#Cqs$Cws%Cys&C}s'C~s(Cs)Cs*Cs+Cs,Cs-Cxz€ƒ„…‡‰Š‘’”•–—™š¡¢p q q q q q q q q q q  q  q  q  q  q "}+}+}+}+}+}+}+}, }, }, }, },},},},},nnnnnnnnnnnnnnoooo{{{{{{{{{{{{{{{l<6l<7l<8l<:l<;l<<l<=l<>l<@li?i@iAiBiCiDiEiFiGiHiIiJiKiL}T'V}U'W}V'Y}W']}X'd}Y'h}Z'l}['n}\'o}]'p}^'q}_'t}`'w}a'x}b'z\]^_`abcd{3 {4{5{6{7{8{9{:{;{<"{=#{>${?-{@.{A1{B4{C7{D9{E:{F?{G@MFNKOOPSQTR`SdTeUfVoWpXqYrZs[ty3y4y5y6y7y8y9y:y;y<y=y>y?y@yAyBD2E:F<G=H>I?JAKDLGMHNLOPPSQTR[w< w= w> w? w@ wA wB wC wD wE wF wG wH wI wJ wK wL 3A4A5A6A7A8A9A:A;A<A=A>Au& u'u(u)u*u+u,u-u.u/'u0*u1-u2.u30u43 f k l r t z {       s?s@sAsBsCsDsEsFsGsHsIsJsKsLsM{zsNsOsP-.0 5 6 8 ; =>?@FGIJKLOPRSV[q#q$q%q&q'q(q)q*q+q,q-q.q/q0q1q2q3}:}:}:}:}:}:}:}:}:}:}:}:}:}:}:}:}:~:o&o(o)o+o.o/o3o5o6o7o8o >o!?o"Ao#Go$Ho%Jo&Ko'No(P{u{x{y{z{|{{{{{{{{{{{{{{{llllllllllllll llyy$y'y)y/y2y3y4y6y7jjjjjjjjjjjjjjjjjjjw3w3w3w3w3w3w3w3w3w3w3w3w3w3w3w3w3w3w3h]h_hchehhhihjhohqhuhvhxhyhڀuCuDuFuHuKuLuNu[u\u^ueuhuiujukDDD D D DDDDDDD'D(D+D-D.D0D7D:sssss s#s%s&s)s1s4s5s7s8s@sAsF               q,q,q,q,q,q,q,q,q,q,q,q,q,q,efginoprstvxzӂӃӄӈӑӖӘogohojomonotouovo~oooooooo<<<<<<<<<<y(<<<<<<<<mBmChwDmEmGmNmOmQmRmUmVmWmXm`mamdmimlmnmompmqk{%k|%k}%k~%k%k%k%k%k%k%k%k%k%k%k%k%k%WXYZ\^defghjlopqrtw|̀̉ibicidieifigihiiijikiliminioipiqiris}v5}w5}x5}y5}z6}{6}|6}}6}~6}6}6}6}6}6}6}6}6}6"}6$}6&}6(}6)u-v0w2x5y6z7{:|;}<~=?ACFHJPSVX^{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{knopqrstuvwxyz{ |}~#$%yTdyUfyVhyWjyXkyYlyZpy[qy\sy]ty^vy_xy`yya{yb|ycŀydŃyeńyfŅygʼnyhŋyiōyjœykŕylŖymŗ_}`abcdefghijklmnopqrw\.w].w^.w_.w`.wa.wb.wc.wd.we.wf.wg.wh.wi.wj.wk.wl.wm.wn.wo.wp.wq.wr/ws/wt/ R<S=T?UBVCWGXJYMZO[P\Q]S^X_cuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZ$%&'()*+,-./01 234567s`tsa|sb~scsdsesfsgshsisjsksl+y,}-~.߀/߁0߈1ߊ2ߌ3ߍ4ߐ5ߘ6ߙ7ߛ8ߠ9ߡ:ߤ;ߥ<ߨqF'qG'qH'qI'qJ'qK'qL'qM'qN'qO'qP(qQ( qR( qS(qT(qU(qV(qW(qX(qY(qZ(q[(~G~K~L~P~R~T~U~W~X~Z~a~e~h~p~ v~!z~"~~#~$~%o8o9o:o;o<o=o>o?o@oAoBoCoDoEoFoGoHoIoJoKoL|||||||| | | | | | | mtm um vm ym zm {m|m}mmmmmmmmmmmmmmmmm m!yyyyyyyyyyyyyy y yyk!k!k!k!k !k ! k !%k !.k !5k!7k!8k!9k!:xBbxBcxBfxBgxBhxBixBkx Box Brx Bsx Byx BzxBxBxBxBxBxBxBxBhhhhhhhhhhhhhu u u u u u u u u u u u u u u &u )u *u +u ,uy}     sssssssssssssss;=@BCDFHLSTWYgq;Gq;Jq;Mq;Nq;Oq;Qq;Tq;Wq;Xq;]q;`q;aq;dq;ioooo o&o)o*o+o-o0o6o8mʬmʭmʮmʰmʱmʲmʸmʻmʽmʿmmmmmmmmmmmmm29<=BDEGNPQTk4Tk4Uk4Xk4[k4_k4`k4ck4ek4jk4nk4uk4vk4wk4yk4zk4}k4k4k4k4  iiiiiiiiiiiiiii i iiiii}D}D}D}D}D}D}D}D}D}D}D}D}D}D{~ 6{ 8{ :{ ?{ @{ B{ D{ E{ F{ H{ I{ J{ M{ X{ f{ g{ h-<-?-@-C-N-Q-R-T-U-V-]-_-b-cy}y~y yyyyyyyy y"y#y'y(y/y1   !#&()+w=kw=nw=ow=pw=sw=uw=vw=yw=|w=}w=w=w=w=w=w=w=w=w=w=w=w=rstuvwxyz{| }~uoMupOuqUurVusYuu_uveuwfuxguyhuzmu{pu|qu}ru~tu~L&nM&pN&qO&tP&uQ&vR&wS&yT&}U&V&W&X&Y&Z&s|s} s~ ssssssssO#P&Q)R,S.T0U1V7W:X=YCZE[Gqm6qn6qo6qp6qq6qr6qs6qt6qu6qv6qw6qx6qy6qz6~9~:~;~<~=~>~?~@~A~B~C~D~E~Fo`5oa9ob<ocAodBoeFofJogKohLoiMojNokPolTomVonZoo^opb|||||| |!|"|#|$|%|&|'|(|)|*|+|,|-m6 m7 m8m9m:m;m<m=m>m?m@mAmB mC#mD$mE%mF)mG,mH.mI/mJ2mK3mL5mMAmNGz z #z %z &z (z*z+z6z7z=z?zCzFzGzHzIzKzLk'/wk(/xk)/k*/k+/k,/k-/k./k//k0/k1/D/k2/k3/k4/k5/k6/k7/x"x#x$x%x&x'x(x)x*x+x,px-x.x/x0x1x2x3 x4 i4i7i :i ;i <i =i >iBiCiFiHiNiQiWiYi[vv v v v v vvvvvvvvvvv'(!)#*$+%,&-*.+/00112233445566C7F8J9L:Nt$t(t*t,-t/t0t3t5t:t>t?tGtHtIt Kt!Lt"Mt#Nt$Rt%U(((((((((((((( (!("(#(rrrr r r r  r  rrrrrrrr r!r#[\ ] ` b c fghilpqruxyz !oooooookooooooooppp'+,-12389>EGJPQRSVW Y \mym{m|m~mmقmمmنmهmًmُmّmْmٔmٕmٗmٚmٜ!!!!!!!!!!!!!!!!!!!!kCkCkC kC kC kCkCkCkCkCkC"kC'kC(kC*JUVXZ_degjlmnrsti i i i i i i i i i i i i i i }"}#}%})}0}3}4}6}<}=}A}B}C}D}H}K}Ljklotu~҃҈ҋҎҏҒҕҗҙ{{{{{{{{{{ { {{{{;;;;;;;;;;;;;;;;;<<<<< < < <<<<yeyfymypyqysytyxyyyyyyyyyyyyw.w/w5w7w;w>wAwCwEwIwJwKwLwNPQRX^cgpquvyz|~˂˃uuuuuuuuuuuuuuuuuus4t5u5v5w5 x5 y5z5{5|5}5!~5#5&5+5,5-sېsۑsۖsۚsۜs۝s۞sۡsۤsۥsۧs۫sۭs۱s۳s۸uvwxyz{|}~qECqEDqEEqEIqEOqEPqESqEUqEWqEXqE[qE^qE`qEaqEfqEkqEmqEnqEoqEpqEqqEv~Ym~Zt~[u~\w~]y~^z~_{~`|~a~~bą~cĆ~dĉ~eČ~fč~gď~hđ~iē~jĔ~kĖ~lĘo~ o o o o o o o o o o o o o o o o o |:-|;-|<-|=-|>-|?-|@-|A-|B-|C-|D-|E-|F-|G-|H-|I-|J.|K.|L.m_ԧm`ԨmaԩmbԫmcԭmdԯmeԱmfԲmgԳmhԵmiԶmjԷmkԹmlԻmmԽmnmompmqmrmsmtz,z-z.z/z0z1z2z3z4z5z6z7z8z9z:z;z<z=z>z?z@zAkI>%kJ>&kK>+kL>,kM>.kN>1kO>2kP>3kQ>6kR>9kS>@kT>BkU>CkV>DkW>FkX>KkY>LkZ>Nk[>Ok\>Pk]>RxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXi1i2i3i4i5i6i7i8i9i: i;v''v('v)' v*' v+' v,'v-'v.'v/'v0'v1'v2'v3'v4'v5'!v6'"v7'&v8'(v9')v:'*v;'.v<'/v='1v>'2v?'5v@'6G͡HͣIͥJͩKͪLͬMͱNͲOʹP͵QͶR͸S͹TͺUͽVWXYZ[t:t;t<t=t>t?t@tAtBtCtDtE877978:7;;7=<7?=7A>7F?7G@7HA7JB7MC7ND7QE7RF7WG7XH7[I7_J7`K7bL7jr)zr*~r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:56789:;<=>?@ABCp /p 2p 5p 7p 8p 9p  >p! ?p" Ap# Bp$ Fp% Lp& Np' Pp( Sp) Up* Wp+ Ywư Ʊ!ƶ"Ʒ#ƽ$%&'()*+,-./012n nnnnnnnnnnnnnnn00000 0!0#0$0)0/000:0;0=0?0A0B0C0Dkkkkkkkkkkkkkkkkkki4i?i@iCiFiHiQiSiWiXv"Yi]i^if}}}}}}}}}}}}}}}{)*{),{)-{)/{)0{)2{)4{)8{);{)<{)={)C{)D{)F{)H{)J{)K{)Q{)R{)T{)X{)[{)_{)a  yyyyyy y y yyyyyyy y#y$>?AEFJKNRSTUV]_`bwwwwwwwwwwwwwwwwww!"#%&'(*.u"Lu"Mu"Ou"Qu"Xu"[u"^u"_u"`u"cu"gu"hu"mu"qCCCCCCCCCCCCCCCCCCsssssssss s s s E J K L N S T _ ` e k m n t u v yqqqqqqqqqqqqq~}~~~~!~'~*~.~3~4~5~;~=~>~Aoooooooooooooooooooo|_<|`<|a<|b<|c<|d<|e<|f<|g<|h<|i<|j<|k<mm m mmmmmmm$m%m'm(m*m+m-m.m0m;m>zMZzN[zO]zP_zQ`zRezSgzThzUizVlzWozXpzYqzZsz[{z\}z]z^z_zazbzckmknkokpkqkrksktkukvkwkxkykzhxgxhxixj xk xl xmxnxoxpxqxrxsxtxu xv#xw%xx)xy*xz/x{0x|2x}3iMdiNhiOiiPkiQmiRoiSpiTviUxiV~iWiXiYiZi[i\i]i^i_i`iavQ5vR5vS5vT5vU5vV5vW5vX5vY5vZ5v[5v\5v]5v^5v_5v`5va5vb5vc5vd5ve5vf5e)f+g2h6i7j;k<l?mBnFoGpHqOrPsQtRtU0tV2tW3tX6tY8tZ9t[>t\?t]@t^Ct_Jt`KtaMtbNtcTtdUte[tf\\E]E^E_E`EaEbEcEdEeEfEgFhFiFjFkFlF mF rNrO rP rQrRrSrTrUrVrWrX"rY+rZ,r[-r\.r]6r^:S wT {U |V ~W X Y Z [ \ ] ^ p@.pA.pB.pC.pD.pE.pF.pG.pH.pI.pJ.pK.pL.pM.pN.pO.pP.pQ.pR.pS.pT.pU.pV.pW.pX.?M@NAOBPCREYFZG[H`IaJdKeLnMpNrOsPvQ|n,5n-8n.:n/<n0>n1@n2An3Bn4Gn5In6Kn7Rn8Tn9Vn:Xn;Yn<\n=_n>gn?hn@i > >>>>>>>>>>>>>>>>>>> >!>">#>l$l'l/l4l6l9l>l@lAlFlIlLlM !"#$%&'()*i'i'i'i'i'i'i'i'i'i'i'i'i'~A~E~J~K~N~Q~Y~[~ ^~ `~ c~ f~ p~r~s~u~w`abehiklmqswxy !"#${7{7{7{7{7{7{7{7{7{7{8{8{8{8{8{8 {8 {8|8|8!%)+./12 3!8";#=$D%Mysyuywy~yyyyyyy            wSw\w^w_wawewhwnwowrwtwuwzxǂxǃXZ]dghlouyu0u0u0u0u0u0u0u0u0u0u0u0 "$*+36<CGHIJMQssstsusvs~ssssssssssssssss   qkqqqrqsq|q}qqqqqqq~p~q~s~t~}~~~~~~~~~~~o)o)o)o)o)o)o)o)o)o)o)o)o)o)o)o)o)o)o*|5|8|:|;|<|?|@|A|L|T|U|^|`mmmmmmmmmmmmmmmmmzvzwzxzyzzz{z|z}z~zzkrktkvkwkxkykzk{k~kkkkkkkkkkkkxڝxڞxڥxڪxڮxڳxڷxڸxڹxڿxxxxit"iu"iv"iw"ix"iy"iz"i{"i|"i}"i~"i"i#i#i#i# i#i#i#vyDXvzD]v{D_v|D`v}Dcv~DdvDevDgvDhvDkvDlvDwvDyvD|vD~vDvDt{ t| t} t~ t t t t t t t t t t deijmnpqrstv~rpӴrqӷrrӹrsӺrtӻruӽrvӾrwӿrxryrzr{r|r}r~rrrrrrrrrrsHtIuJvLwMxOyPzT{W|Z}\~]_abfgpm="pn=%po=)pp=0pq=7pr==ps=?pt=Apu=F`abcdefghijklmnopqnUnVnWnXnYnZn[n\ n] n^ n_n`nanbncndne nf"ng$nh&ni(8o9p:s;u<w=x>{?~@ABCDEFGHIJKl/̬l0̮l1̰l2̲l3̴l4̵l5̷l6̸l7̺l8̽l9̾l:l;l<l=l>l?l@lAlBlClD=>?@ABCDE#F%G'H)I+J,K/L6M7j6Ej6Fj6Hj6Lj6Oj6Qj6Rj6Sj6Yj6Zj6[j6]j6_j6dj6fj6hj6kj6pj 6rj!6sj"6uj#6v~&ܸ~'ܽ~(ܾ~)~*~+~,~-~.~/~0~1~2~3~4~5~6~7~89:;<=>?@ABCDEFGHI|F}|F|F|F|F|F|F|F|F|F|F<Ÿ=Ź>ž?ſ@ABCDEFGHIJKLMNOyyyyy!y#y%y&y'z)z,z0z1z4z5z:zAzB/"/%/'/)/+/-/0 /1 /3 /4 /; />/?/F/I/K/Pxxxxxxxxx xx x! u?u?u?u?u?u?u?u?u?u?u?u?v?v?v?v?v?v?v?v?s8t<t=t@tBtDtHtLtMtPt Rt Vt ]t ^t _t`tcteti(@(F(G(J(N(O(P(R(S(Y(\(^(_(a(c(fqqqqqqqqqqqqqrrr r rr~~ ~ ~~~~~~~~~~%~'~(~)~,~4~5o8|o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8o8||||||||||||mmm"m#m)m,m.m0m1m4m6m7m=m@mAmCmDmFmGmHmImJmQz!Yz![z!\z!]z!_z!`z!cz!ez!gz!jz!kz!rz!sz!vz!kkkkkkkk kkkkkkkkk k%k&k)k+k,xxxxxx xxxx!x"x#x&i1\i1]i1^i1_i1`i1ai1di1fi1ii1ji1li1oi1wi1yi1zi1i1i1i1i1vvvvvvvvvvvvvvvv #(*+,.089=>ttttttttttttttttttt !r rrrrrrrr#r'r,r2r4r5r6r7r9r:r;r=r?*f*p*q*t*u*v*w*y*z*|*~**********pppppppppppppppppp @CDHIWX[\]^enwynx{ny|nz~n{n|n}n~nnnnnnnn[\]^_`abc"d#e$f&g)h,i/j3k4l5m6n7o8p<q>r?l`@laElbFlcKldLle[lf]lgflhhlil\#|]#}^#~_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#q#r#s#t#j9Dj:Dj;Dj<Dj=Dj>Dj?Dj@DjADjBDjCEjDEjEEjFE jGEjHEjIEjJEjKEjLE~G(~H+~I,~J/~K1~L3~M4i7~N9~O<~P?~QC~RN~SP~TU~UW~V[~W_~X`d e f g h i j k l m n o |.|/|0|1|2|3|4"|5$|6'|7(|81|92_U`Za\b]c^d`ecfggkhlinjpkqlrmsnuoxpzq{zzzzzz z!z"z#z$z%z&z'z(z)z*z+== =!="=#=$=%=S=&='=(=)=*=+=,=.=/=0=x5Nx6Ox7PNTx8Xx9Zx:[x;\x<]x=_x>ax?bx@dxAfxBixCjxDlxEmxFoxGqxHs !"#$%&'()*+,v v vvvvv v!v#"v$$v%+v&.GIJLMNPRSTUVW`ei k l m n qut&t't(t)t*t+t,t-t.t/t0t1t2t3t4t5t6t7t8t9666666 6 7 7 7 7 7 7 77rjrmrnrqrsrtrzr}r r!݆r"݈r#݌r$ݐr%ݕr&ݖr'ݗr(ݛ~~~~~~~~~~~~~pG&pG*pG+pG,pG/pG0p G1p G2p G5p G6p G7pG8pG;pG@pGDpGJpGLpGPpGRpGSpGUpGVpGY|b|c|d|e|g|i|x|~|ƃ|Ƅnnnnnnnnnn n n n z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/z/k֪k֭k֮k֯kְkֳkִkֵkַkֺkֻkֿkkxxxxxxxxxxxxxxxxxi@#i@%i@(i@+i@-i@2i@4i@6i@=i@>i@Qi@Ri@Vi@Yi@\vnvovrvsvvvwv{v~vvvvvvvvvvvvv   t(t(t(t(t(t(t(t(t(t(t(t(t(t(t(t(t)ύϓϖϗϙϚϛϝϞϟϡϤϧϩϪϫϯϱϻϼrrrrrrrrrrrrrr999#9&9,9.909597999<9>9?pqpxpyp{p~pppppppppppppn!n!n!n"n"n"n"n" n"n"n"n"n"n"#n"$n"%șȜȟȠȡȤȭȯȱȵȸȿlxlylzl{l|l}l~lllllll22222222222$2%2(2+2.2/232:2;2?jcqjdsjeujfvjgwjhyjijjjkjljmjnjojpjqjr~m~n~o~p~q~r~s~t~u~v~w~x~y~z~{~|249;<?BCDEFHJKLMOQXZ_acgk|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|]|^zB+zC+zD+zE+zF+&zG+'zH+,zI+-zJ+.zK+1zL+3IoJtKuLxMzN{O|P}QRSTUVWXYZxYxZx[x\x]x^x_x`xaxbxcxd xe xf :;<=>?@ A$B'C*D,E.F1G7H9I:J<K=vAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvP$%&'()*+,-./012345678tF$#tG$'tH$(tI$)tJ$,tK$0tL$1tM$<tN$?tO$CtP$EtQ$HtR$JtS$KtT$LE E!E"E#E$E%E&E'E(E)E*E+E,E-Er;r<r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrM        ! $ & ' * - 5 6 < > @ A B E F Jp,p-p.p/p0p1p2p3p4p5p6p7p8p9p:p;p<p=p>p?|||||||||| | |||| |&nunxnzn ~n!n"n#n$n%n&n'n(n)n*n+z>pz>qz>rz>tz>xz>yz>zz>{z>|z>~z>z>z>z>z>z>z>z>z>z>z>z>z>kkkkkkllllllllll l  l  l l lllx7x;x=xCxExFxNxUxZx_x`xaxcxdiiiiiiiiiiiiiiiiiiivvvvvvvvv vvvvvvvSTXYZ[\_abjmoqr s u w x t7t7t7t7t7t7t7t7t7t7t7t7t7t7t7t7t7t7   "$()/rrrr"D$r%r&r,r.r3r5r8r=rBrDrKrNGGGGGGGGGGGGGGGGGGGGGGpppppppppp p ppppppp p#p(p-p.p0EKLRTUVWYZ]_ehjlmpqrswn0bn0fn0hn0kn0mn0pn0tn0un0vn0wn0xn0yn0}n0n0n0n0n0BCEHMRTUWXY]cjknprstl l$l&l'l*l,l.l/l1l4l8l=lBlClE@@@@@@@@@@@@@@@@@jjj"j(j.j/j3j7j:j;j<j>jAjEjI~z~{~~~~~~~~~~~~t~~)))))))))))))))))))|l?|m@|nA|oB|pG|qH|rI|sK|tL|uM|vO|wP|xR|yT|zW|{Y||\|}]|~^|_|b|j|kACDELMOPT`cefjloqszd9ze9zf9zg9zh9zi9zj9zk9zl9zm9zn9zo9zp9zq9zr9zs9zt9zu9lm n!o"p#q%r&s)t,u-v.w0x1y2z4{8|9};~<?ABEGx~xxxxxxxxxe"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"vg2vh7vi8vj;vk<vl>vm?vnBvoDvpEvqHvrJvsOvtQvuRvvTvwVvxXK/L7M8N:O;P<Q?R@SATCUDVEWGXKYLZO[T\V]Y^Ztg2th2ti2tj2tk2tl2tm2tn2to2tp2tq2tr2ts2tt2tu2tv2tw2tx2ty2tz2= > ?@ABC E"F#G%H&I(J)K.L1M4N6O9P:Q<R?S@r_\r`^raarbcrcgrdkreprfsrgwrhzri}rjrkrlrmrnro3456789:;<= > ? @ApY+pZ-p[.p\0p]6p^7p_9p`;pa<pb=pc?pdCpeEpfHpgPphQpiSpjT1UpkWpl]} _} b} f} j}m}nuto}p}q}y}z}}}}}}}}}nA+nB+nC+nD+nE+nF+nG+nH+nI+nJ+nK+nL+nM+nN+nO+nP+nQ+nR+nS+nT+zzzzzz{ {"{#{${&{({){.{0{ 2{ 7{ 9{ C{ Elll l!l"l#l$l%l&l'l(l)l*l+l,l-l.yyyyyyyyyy y y y y yyyyyyyyiWi[icihjljnjojqjtjujwjzj{j j j j j wmwnwqw rw sw tw uw ywzw{w|w~w܁w܂w܃w܉w܏wܓ%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$tF,tF-tF/tF0tF4tF5tF:tF?tFItFMtFOtFP&'()*+,-./0123456789:;s s s  s  s  s  s  s s s s s s s s s s s LNOVXbcfhlmnqp՛p՝pբpդpծpոppppppppp   &n?n?n?n?!n?"n?#n?%n?(n?2n?3n?7n?8n?9n?:n?<n?=n?>n?Bn?Gn?Jn?Ln?On?Pn?Tlllllllllllllllllllll l l LMNUW\^`bdfghkprwjΘjΙjΚjΟjΠjΡj΢jΣjΧjΨjάjΰjαjμjjjj~~~~~~~~~~ ~~~~~~~~~~~~"~#h8;h8>h8Fh8Gh8Jh8Lh8Oh8Ph8Qh8Rh8T|ޝ|ޞ|ި|ޮ|ް|ޱ|޵|޹|޺|޼|޾|||zczezkzmzozszzz}zzzzzzzzzzzǦǩǫǬǴǶǷǹǻǼǿxxxxxxxxxx x xxx1111111 11111111 1%1+1-1.1/14151617vvvvvvvvvvvvvvvvvvvvvrstuvwxyz{|}~tAytA{tA}tAtAtAtAtAtAtAtAtAtAtAbcdefghijklmnopqrr r r r !r "r #r &r +r 3r 4r 6r 7r =r >r ?r Ar BU*#V*$W*'X*(Y*)Z*+[*-\*.]*/^*1_*5`*9a*;b*=c*>d*Bpvpwpxpypzp{p|p}p~ppppp }9}:};}<}=}>}?}@}A}B}C}D}E}F}G}H}I }J}K}L}M}O}P}Q}R}Snj:Fnk:Lnl:Onm:Pnn:Sno:Tnp:Unq:Ynr:Zns:cnt:fnu:gnv:n{"{#{${%{&{'{({){*{+{,{-{.{/{0{1{2lElFlGlHlIlJlK lL"lM%lN)lO+lP,lQ/lR2lS3lT6lU7lV<lW=lX>lY@lZBl[Cl\Dl]Fl^Gl_Hy$#5y%#6y&#=y'#>y)#?y*#@y+#Ay,#Dy-#Fy.#Jy/#Qy0#Ry1#Ty2#Yj$j%j&j'j(j)j*j+j,j-j.j/j0j1j2j3j4j5j6j7j8w*w+w,w-w.w/w0w1w2w3w4w5w6w7w8w9w:w;J3]K3^L3_M3`N3bO3cP3eQ3hR3mT3qU3tV3uW3vX3wY3yZ3z[3|\3}]3^3_3`3a3b3c3uuuuuuuuuuuuuu u!u"u#u$u%PQRSTUVWX YZ[\]^s.s/s0s1s2s3s4s5s6s7s8s9s:s;s<s=s>qqqqq q q qqqqqqqqqq q $q!%q"',F,H,I,J ,M ,N ,O ,Q ,R,S,W,a,b,c,f,i,m,qoooooo o o o o ooooooo !"#%)*-./1359:=>?@AHlYlZl[lbldlelfljlqlrlslxl~ll    "&(j j jjjjjjjjj j(j+j,j5j7j=j>jAjB~%n~%o~%r~%v~%y~%z~%~%~%~%~%~%~%~%~%~%~%~%~%~%hFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhF|&|(|*|+|4|6|7|9|;|B|C|J|K|O|P|R|U|^|`|a|b|i|lbgimn|}~zzzzzzzzzzzz z z zzHIKNQRWZ[\]`bfkopruzxxxxxxxxxxxxxxxxxx?????????????????v0v3v5v6v7v=v?v@vDvGvKvLvNvOvPvQvRvSvUvVvXvYttttttttt t ttttttt8=>@EFNP]`cgrrrrrrrrrrrrrrrrrz8{8|8}8~888888888888p*p,p1p2p5p7p9p<p>pApCpDpGpHpJpLpSpTpWpYpZp`}cu}dx}ez}f}g}h}i}j}k}l}m}n}o}p}q}r}s}t}unnnn nnnnnnnn!n'{HE{IK{JN{KQ{LS{MY{N_{O`{Pb{Qe{Ri{Sj{TlljlklllmlnlolplqlrlsltlulvlwyC1yD1yE1yF1yG1yH1yI1yJ1yK1yL1yM1yN1yO1yP1yQ1yR1yS1( NB$u)& $:k˞'.#')% c )%V*X#p&Y9 *9+ 5"2 w?q+:7 ɨ0% 2<Yeu)q?1)1AHC@CHC&nHCC@HCǍ8eHC1A)HCݦHCn&HC8eǍHCݦHC ;4Q# ;5#;4<#(4##;#;3# <;3# ;H#;I#;#3;%#;4# Y;+#I;&# ;H#;3f#4;(4k# ;3O# v(>#?;3M#;3#'S;3`3;#";#3;)#?;4#;4#;4x#&\;#*;#;3j#;4# <;4#%;]# ;3# ;I##;#;3#(# ;4# (# <;4#;4#*;J#(5#;3#';ߖ#,;3#;3#;4# ;Hw# ;32#;4s#*(#*; #";;3# ;4#,;4b#>;=#;4c#(#a;T# ;5#*(#,;3#;4$#;5#"q;I+#;3#&(ܬ#*;0#\(1#W;4o#;3<;4#*;܇# ;3#b;3#;;4 #{;`#(3# ;4#*H;K#"(L#";#;4C#;##A;#'}(# ;4# ;4#;3# o;#*;ݠ#(3#b;35#,;4#(R#;S#(U#&;M#;4# ;3#?;4#;4#;3R#W;3d# ;B##;C# ;3;3#;#;,#;I#;4#;;43#,;4#;4`#3;#b;%#(3##'(߂# ;4#;3K#;3#*;#b;J#;3#;3#';# ;#(ݳ#;3#';3#;/#C;JI#;3#";1#,;4#'};#";;ܚ#.;9#(4)# ;46#,;4#;4#;If#;4g#;4h#*(#((#*;F# %;G#;L# ;: <;#;?;4d#b;3#;4e#;4Q#;5#$;3#;3#"(K#!;v#;4#z;#;4##;9#<;4#>;# ;#;4#;#;3o# ;3[# ;#1;4$#!?;5# ;I#>;ܶ# L; ;Jm#<;4#";#f;#];4#;4/#;3g#(3#);3#4;<;4#*;#;4# ;4#a;4#;># ;[#<(4# ;3B#(3#(3#3;^#,; ;3#*;#*;*(# ;4g*;P#<(3#";Q# (#?;3# ;B#.;C# ;4#2(5# ;JM# ;3#'};6#(3C# -;# ;42#*;3)#(;]#;H#(߈#;39#<;3:#;3#;IV#*;#;#((߂#(4E#b;3J#;T#&\;U#3;W# ;#;4#;ݽ#;3#;ݾ#;3#;3#(4Z#*(#;ܣ#(4#;# ;4T#;4i#;4#;ܬ# n;I#;4# ;I#";U#*;X#!h(#I;޵#.;޶# ;4##;#;:#;;4#";,;T#(;#;L#;# ;3# ;I# ;3#;3#,;3#(4;3#<;4'#;4(#(;9#(z;4O#;44#'S;3#4;";=#S;4?;4#b;##;#;3q#;4#:(U#;#1;3E#;4##;h#;#;4#*;W#);4j# <;4#3;##*;s#;H#;#:(#:;܇#;H# ;H#3;|#(;3H#*(d#:(ݳ#L(f#(g#(;#;#";4#*;'#"(;3V#'(Y# ;4f#(4t#(n;;#;#( # ;3#);'#"; ;4#*(#(;3#";5# <;#";F#J;#(5#&;#;4r# ;4c#;J# <;4#;`#4;O ;3 #);3^#;# ;# ;# ;3#;3#;3#,;3#;4?# ;I#;4@#;I#!h;ܨ#;4U#;3#(;+#;3}#(3# %;#;3##);#!h(#(\#<;49#3;߭#;J#(4#P;4# ;J# ;3#;3##;#;4 #;4#;4#*;ݒ#?;4# %; #,; #<(3##;Y#%;Z#;4#;4#;#;4#;4# ;ܹ#);3# ;M#f;;#;I# ;3u#,;3v# (#'};# ;J[#%;# ;a#.;3# ;4e#";D#;3#;3#I;#*(##'S;31#*;ݮ#(4#;3#;h#;4#;3# ;4_#$ ;#'S;4# ;5#(3+#$n;^#;3#&(#*;#};IA#((Y# ;4L#;5#!h(ߘ#;4#<;4#;I##;g#*;h#;4y#$;#;3##(#'l;3]#;3b#*;D#((F#*(#!h;#*(ܭ#*( #3; #);3# ;4#*(#<;3#";t#;x# ;#);4[#!;T#;3#(;#;3O#;4[#';߱#3;O#I;#;ާ# ;4#;3#;4#C;#'};#3;# %;#;3 #';3r#;3#;4]#;3#;Y#y;# S;M#;4#'S;3r#:(f# (g#(y#;3T#>;3V#;Ic#;4#;4# ;J #(;R;3#;3# ;# ;2#<;3#*(ݷ#;5#!h;#;4K#.;# ;I#;4M# %;#;ܘ#;4N#);3#'}(# ;3#%;#;I# ;J#(#;5#"q;4O# ;I #%;;#;3#;41# v;#*(h#?;4# ;J#";# ;3# ;3#;4#;4#*;ߢ#*;#.;#;I#;4V# ;4W#;4"#1;\#;#%;#;#(#W;3i#<(4#&\;#;3X# ;ܳ# ;D#?;4#*;Y#;4# ;#,;4#;3# ;4#(;# ;5#;3@#(3e# ;H#!h(߂#;3# ;4#;48#;3#;3# ;3l# ;3n#;4#?;3o#3;"# -;ޮ# ;3%#;3&#;3O#,;38#;;3P#;j#;3#);4#";n#,;3#;4#'S;3# ;3# ;3#;3#;4#;a#;3#,;3##;#,;#;3#;3#b;#,;3#;4#;~#;4f# ;3#;5 #!h;#3;Y#*;Z#;I#;4P#*(g# ;4##;# ;5#;4#$;#;4#;4# ;3t#;3u#;H#";3w#;3#3;#);A#I;B#*(D#;42#;@#!;B#f;R;S#&\;#*;4#;4n#((#;3l#,;3m#;3n#;4#*(߫#&\;#b;ߢ#;I#;4##!;߱#y;# o;# ;3#<;4#.;A#,;4/# ;3g#*(#;4#*;ܶ# ;4#);4#W;3L#(4# i;݃#;3-#*;݅#3;݈#;H#'q(3A#;H#f;#D;3#*;3#;3#*;j#.;3J#.;[# ;4#m;4#;ޱ#';޳#;3'# n;޴##;޵#*;޶#3(޺#;4#;3#,;3#b;v#v;v#;4V#;4W#<;4##;#*;#(#b;h#a;+# ;I#;3#;3#'}(.#.;3#<;4=#3;C# ;܇#K;܈#;#;#%;#;#;3E#(3#*;#;4#S;c#;#<;47#I;#;4# ;H# ;3# ;3# (%# ;H#b;ܦ#(;'# ;ބ#;# ;4##);#;#;4#f;O;Jv# ;41#;H#3(#*;P];4#z;@#;4#;4#,;4# ;H#3;#';#;34# ;3G#";0#&(`# ;44#';3#;J>#a(#; #;3/#.;35#b;ݐ#;3!# L;ݒ#b(#;3#;4#;3# `;#;4#"k;s#!?;Hv ;3#,;3#;4L#,;4N#,;#*; #("#!;޳#;4Y#^;޴##;-#.;޵#;޶#:;.#'l;4#*(#;3a#&;#1;#";#;p#b;q#;3#,;4# ;4s#I;#*(#;4#;I#<(3#<;4>#(4#";## ;4#,;+#;4#;A# (#'S;3|#b;z#;;4#z;#,;# ;48#;3#!h;3N#;3#";G$n;#<(4^#";-#,;3#;4#3(#(#};I#;4 #?;4#;4 #;4# %(U#3;#;3# ;4#;L# ;#;3?#.;W#*(X#/;݃# %;,#*;݅#'};݈#;߶#S;4##;# ;#;#;I`# o;I##S;3,; *;##;g#%m;ܿ#;4F#;3# ;4#I;#";# ;ݚ#;4\#9;# ;z#;3# ;3# ;3/#3;#.;h#;3#1;3#m;4/#*(#<;4# ;J#';5#<(4#'};# ;-#(n;x#((y# n;#;#;4#*;*#);3T#;ބ(-#;3p#;3^# v(ܘ#(4#*(#;4c# ;4#b;#'}(#;4# ;#*;# ;H#;4#3;#*(w#*;K# ;4#;4#;#;4#*;6#/;8#;4#A;ޑ#;3#;3*#;ޓ#*;#;\#;3# ;3#;3#m;3#,(# ;J#";#?;4l#;3#;4|#b;3#z;5#;3{#;3#<;3#&*;W#<;3#";X#;I3#%;#;4R#;#I;# ;3# v;#;3#;#;4#(;#;4{# ;I#*;#%(#;g#{;#f;,*;.#(#;4I# ;#<;4J#*(#(4#(#(3#(3#"; ;I #;#;3#(4#((t#*(K#'};N#;4#;4~#*(#;#_;3Z#;ݽ#;3\#%J;3j# ;I#$n;߅;4# ;4# `;#<;4 # ;4!#^;#*(# ;#&;~#J;#3;ހ#*;ށ# (#(F#';I#;3W#^;I#";7*;#,;3# ;4#<(45#;3"#3;#3;#(#((\#;3=# ;4#<(3#;4# ;IZ#";{#b;~#4;R# I;S#;4s#,;T";#;4#;<#*;=# ;Ht# ;#<(4;#&\;#;3$#*;#1;3#;3#^;#;3#;;3h#*;#&;#,;3$#%;݉#(3<#;݊# ;J#;4m#];4z# `(\#*(h#;+#<(3# ;4C#;4D# ;I5#!h(Y#*( #;+# ;4-#;4S#;I#*(#;;4#;#*;#;4#(#*(#;I#;4+#;4,#;4-# ;J+# ;,;#;46#!h;3#;4#k;5 #*;#C(#;3_#3;ݩ#;3s#!h;u# ;v#";܍#?;4%# &;ܑ#;#*;4# (-# ;Ju#*(S#(#!h(t#'};#(3#?;3#<(3S#T;@#';B#*(ߏ#;4#;4#(3#(4##;#;3D# %;ފ# ;3q##;9#*(;#?;4# ;J:# ;4# ;4#$n;ܥ#;ܦ#*;'#;3#";;4v#;4w#;#;4u#;4#(;#;4#;3 #;3 #';@#;3#,;C3;#*;#*;#?;4B#(4#%;#,;3W# ;J# ;J#'};ݔ#4;,# ;I#;3#;#*;j# ":)ݥ+G "+ )#D+*/ p+6++#@*/G^+' $:(O'2$Γ "%N 6_***'r!bm$7 *%(# [*' V UC#d ] F$"3! S 3) n&&"F7*"FW9[υ W# "F5F&'eυt  <. 4ER'e [4 (F&oυ }4 xυRM  1DW64WF&R3;HF&R 4"Fh "FF& "F4'eE -υ ڙ 6A / 'eF&"F=υ'e'e4| W/R,υR0Z  /F&W'e W "  υ"Fg RʣF&W'e0 4 FR0dXyĆXufĈX{gfĉXw-.hXu GXu dĊX{gCĐXyfVfՄXzLghՇXydBkՎX{gFmՐXygr՗Xyys՘Xue&x՝XyocgiXzoqXuMgtwX{c/8XwwɜșXuEx*\XuFd5>X{8@XseӃdXxenӆfXzcӌjXzfӐnXxeӓpXyȅ.Xx -̙3Xud̜5XxĹˀ̈Xtrc7$?X{&c@*DX{A,FXudcD.HXvg E/IX{`fH2LX{hdx8~X2yWcdEXz g2FXxdGXyeHXx]N AXtc(˰Xyc+˲XzglXwgmXw%XtfX{Hl0kyXu3ec1lzXx0gf4n|Xw&ǭXt\'ɊXt]d7sXzfd18tXxd"9uXx^-KbXtb‚¯Xwg5~Xw[Xug҃Xz+g2dXz>XtFXsdHXx`XtdjX{elX{dXx^eZXx=Xt?cXzu HVXt@g@XxƢXudƤX{bgƧXw)΃`Xte5Xze9Xy ,XuKXsQ>LҿXtf;ŸPĻXw f QļXxf£VXzjd¤WXx%e¥XXyeՃXu~»j=X1uJ)XuȮZXt"g΅TXvc)ΆUXxC&Xt#f΋^XyfKP%Xy:fbORXzO4Xu;\ZXu=ֲXtd>ֳXx9<Xv bJo&XtkfKq)XzeOu+XxUgBÙkXyfßpXwef44OXwe5QXw2\Xtr%Xt)SXueXyg+Xvg-Xvg,XzRd-X{=e$%:XzcXzDXt|9ˤXtfXzdJX{jc_XydX{cXz53Xu=EXsgalXx=fdoXvdUȖXwicɲіXtldȝX{?csȞXzJgmdXz2etlXwetzqXye|rXxc]ԙvӚXyczԝxӞX{JÒeXukP֜XufԯъӭXw=g԰ыӮXxf,Ľ''XwEeĿ)(Xz*08Xtd0.Xw/10Xuc43Xz|+~Xtg<6rXy}d=:vXzd`B=xXx!eC>yXx(dСXwsdvD,XyUsNj XtVeHR4Xx*ƌXugf:bɞXxRd]Kĺ$X{dRľ(XxgT+XwyU,Xtf.Y3XwGeZ5XzdzrbXx?ȑXtffhXyq~vXuþ3XudXmXwl&tXvf[ռXw_bX{f2 !Xw ƔXt9TXuJgІXxdЈX{ ЍXt'ВXudДXyPҡXttg mXzgnX{VֱAXvf}I#XwchK(Xy8?ǶFXtʹҩXu`fZ8XzgN<XygַCXwXu(<åXt^g'XvdX{fX{Gf8~X{һʭҟXueXuc:ʷҧXzNfoʸҨXzpf[Xwɩѐ6Xt:XthXthXt mXX1t_|XugiyeXw:ĔYXudtl̈́Xwdn͆XweS p͈Xwyd>ǁXy*"NJXt$nj"Xuhǒ+ Xz!-4XuggXzc9i XzMgl XwgmXw_XufqXzIf*XwCjQXs}#sXsXsg!Xw0̷úXtgT"Xy1-Xt%Xuf]XufXzdk#XxͭěXt%e)Z}XwufA,_Xxf/aXyLgӰXvfӲXyYX1tc5ӶX{/7XtcNpXw4iOqXtfWuX{c[![yXxOe&a~Xwf'bXzc)cπXw8fwQXw?fɅXs ƝXsfVX{cg[Xw:LXtmdPXw#gVXzfx'ʈX{-\XuaeP4ʖXwdXyMcXv,&Y{Xt eXzw#XteXxbU@X{gYGXzdXwXtZHXscbNXy jXXtd'ǖXy fǙXz>gǡXyh=X2gw"cǥXyga™MXxV8քXv gfNX{Zg¡SXuC_Xt^ϐXtcqCXwcP^Xw@e _Xxc"bXycQfXwA T Xu@gr"k X{fɂ XwfɃ Xw5XveXzaf!Xyg%#X{fՈ̋XxɁ Xue/Պ̌X{_+Ռ̐Xud Ս̑XwreՑ̖X{xdDՓ̗X{dՕ̚Xz:eՙ̝X{z=XtgXzYeuXye.]EXz~e1cLXzc6gNX{!e7hOXyv=lSXug;?mTXwcvǓXzeǔXygǞXygǠXyg9ǢXxf1.qXwdX2s(Xsc2wXv6|Xt7}Xu;d #X1ve:ՀXx;ՁXscxBXyӋiXtWeЄRXxeЅSXx~ϷPXtYg?Xx<YxXuj5XukH%Xt@Xufΰ?MXzGgζKVXzXt>c3Xzf-XwFhԮX1tXseXXw~dXythȶ)cXuˌ&XvcȜX{DeÁýXzcg$ÃX{g ÄX{gÉX{W Ǐ'X1vccɀX{tg[kɋXvgUqɑXyggжXy)c4Xw>e(<ĎXwd.?ĒXv0AēXu^e8˖8XzcR˚AXxd7˛BXze:˝CXzg˟FXzc>!XvbB%XwLjXt G'XtbddK*XvcM+X{>XtgkOXwe]X{nXueMXx\cXydgXxjc! XwgIQ֝Xz9cR֞XyrgѝXyXtcjѥXzʳҥXte>ѩXwYeѪXzRXt^TτXu_XucCOXxgDPXzdFRXyfGTXw (HUXu9UXtfjYX{2XtgƈXyЌHXug}ƍXxh ƐXw!g ƗXyf#ͣXvd[ͯX{8IkXueͱXyc!ͲXxTcɹ1Xxbɺ3X{ScA:Xz`&{XtFgTXw0c]X{vgKiXzf7ń)X{{Œ9Xvgyœ:Xv*Ŭ1XseŰ2XvA<wXsgų7Xxd*XwmXtgXx>G Xt(gXwYXuzgBX{dCX{/X2[tc2KXzgLX{dQX{ FXue͘ϟXx'g͝ϡXzdH͠ϥXydI͢ϦXyc7JXyK̵~ùXsL hzXsfVXyedD^kX{lfNfsXweOgtXxgRiuX{AdJҼʮXxgKҽʯXzQ?NʰXuXe_^9Xyd\rXw^>Xth j|Xwcwk}XzcOl~Xx{epXz:֦sXueF"Xyr17%Xvg 3yXxc@4zXzcXwgXvcXy6eXww^dXtd^.Xxe4Xx31XseƥXx+gƦXxd@̭Xx8e<B̮XwWe=C̰XwXcQ̾XykʞDXuAǿNXtfrdXzfXudNjXzctX{EguXz[d+ӝǷXy]D[Xu+d"Xs?Xt[dInX{dfSPuXycTQvXxc^ϝ}-Xy#Ϡ1Xt2cZOiXwgEQoXyd SpXwqXvXumɌXudVuX{d]XwgeԄXveJlXwdQYw)Xzf\{.Xyc^|0Xw7etXyAevXyCc{Xyc |XwHfā XxtĂ"XvFiXt;gNX{gPX{gaSXw.QɥXudXwe|X{F&XueXye XxHRx.Xuf&%XvIıx̂XuUqXtz̤Xt{g] ǾMXze(blX{d/hoXzg2iqXzcGXzMXtҌȽ0Xt!ň-ѰXu2d:-XxohXud9DXwgXzJXtfX{QfXw dSսXwgdoXwfn"XzogX{2fsXzgdX{ B"vXudXy%coXwcLqXxxe{XwNxXWXtfXxXueOլƵXwoAXu7XudiձƺXw+÷-XufhКXx, XuwsФXuby<SX{{=TXtM7<XtJflcXw9cfqhXxgssX{_˜LXud(ƅSXy dƊ YXze*ƋZX{ gƒ_XyeƓ`XwOfƕaX{fa'PXz(QXu{d,RX{d2"VXzf@5$XXxf<.`XyKd>1eX{g@2gXzdlҀȰ Xw<˷MXte҄ȴ&Xyg҅ȵ'Xz,fҏ1XyTeRX{6%Xu oҲXuc ZXw!p#Xuf:ČXwgZ;čXvc=ďX{fXt,d>đXvcaXxg,XvdX{ղƻXtflX{dI9XwbVXugWXveXXx1ΉX1sdcX{LWXsrX2 sisXtf2ÛXwdeo X{g0 XxdXydXz/dXz0fPXyI̥Xtv@Xtg^Xzd_Xx$Xu fh+Xz c֮:Xye֯<XyXuƒ°XufֺHXzCfMx՞Xx#g{դXw'"խXt1ЪtXtfWuXy XteXtcvqCXyex{yJX{]s>XuId}{KXvg=~OXy-cp̀PXyd̆́QX{\ Xt5fXsg_Xzf'XvdȇX{gȈXzNȉXseXzzXufD Xwn{pɐXucWԈŧXyc-ԊũXz)'0QXtgn.5UXwf2:YXzf3=\X{IcWXx*e YXyfZX{G]Xu_XtUfeXw<d-iXy_g);LXvgb=TXw/.ҐXucҒXze0җXz"g/<Xx<MXtc@ Xvd B!XzgG&XvcPX{ eXyc<%XvP-XvgXz*gXX{AɼXuPfxXyBÑcЗXuQCǪXuRDdžXuSEЙXuTcI}Xx1XubӀXt'FI6XuUeˆ΄XzvcΊXwf •ΐXzPe]rXwdy#wXyXgO~]Xyc1ԐXzcEԔXw”ΏXveWԗXw}cBjXw3eJoXwd4ʙƽBXz mǸHXu4cSʢHXxn01Xu5fʧLXyʪMXucc<]XwcDdXwα@X2tde֩uX{qЖOXtedi;Xz ck>Xxcl?XycpBXwgJ!uIXzXtgg Xweh Xzej Xy> /Xuf\lXyYcUq$Xxg##X{f$Xy3QʊԠXt RdXt SXt c`HXxt^jXugQXu/RXt=0Xu!gXyd Xwf/X{c$zXxgXvXudXwXt%XuԒůXug ԨсXxf^ԪуXy[e ԬцXygϛ{Xwf ϢXzϧ?XugN^Xxg>įv̀Xy.cIJỹXyepЏJ;X{fYXzeX{oϳNXueX{rиXsgOX{@fPXwAscXtd̹ÆXxf~̻ÈXwh̼ËXzfaXychXwciXxc/kXze[oXxcpX{cHqXwckiSsX{+f{jTtXwcmVvXyiԓűXtgv^Xx>cBXX{ud<H]XxXtcxK`Xze@[X{WeA]X{XkFbXtctL iX{MЕMXudTվXwheX{g7 Xw]cy Xwxh[9Xuc^<XvgiXzhXuKc "yXzd$zX{e2X{dWXwkgz XxLR΀Xs'ȄXtv9нXtgоXy') Xtxc !XwKu+,gXumXtgvP^\Xue pX{yfXsXy euX{̕2Xsd̛4Xz;UXvf+Xx(Xu,dKX{5¶X2}u-dkX{<cqXycrXyfsXxcgwXz-e5yX{f}XxddGҮ XyԹcXutc¿ĭtXx*)XuusĴzXvcBĶ|Xwcķ~XwLdpҴX{f1LXucqҵXy0cΝWCXxLcΞXEXxMcΣZGXyfΤ[HXxbcΨ]JXye3Ω^KX{fm{sXye{ƃXygq =XwczCXyjc{EXze|FXwT.TXtBЭwXtCd;Z6&Xxc e>-XxdmXzghoXwdpXz'ѦX2&uYcvXydjwXw,e @ XzbfD!Xy4eG$XzSXu_K̎-XteUXvfXxsEXtg* XvcXvfXx XtcYXyfXycґԲXzze(ғԴX{ g|ҔԶXx$ҖԻXufҘԽX{q-Xt&a͒Xtf_͜Xy\c͟XzER$&bXu(63kXtwVχXtcYωXw5dZϊXw2ҕԺXugcϓXy$Pȹ,fXuX2mu"Xu[e\$Xw.Ǝ\Xteh,Xyf/XzpX1u"b[Xwc\XypgeXx[hXve"aXzeDcX{8X2?u_зXtEdwпXyVc XwJb X{Tf)h2XwBer=Xy.w-XtgxAX{[zκO[XufѫXxco X{%gp XxW rXtsXufX{iŘuXtřvXt:c+ŞzXx;ֈ"XufŠ}Xydh̟Xw*c̡Xx)d) ̣XwfF&̪XwpdM{ӠX{ }ӥXuqfфө X{$QXt3gщӬXy] X2tg%Χ\Xzc=(Ϋ_XveF8CXxɚȗXsc4Xv`5XtGfP6Xxk8Xts"IγBXtc@Xwc3Xwf7Xxc<Xx?Xt&A!XueG$Xvd9XxgCXygFXy~fXxcXwcXwcXvc*‹ΈXxeXvXuc(Xz%cAUX{dIZX{1gSaXzg\ɖX{3b]ɗXwg^ɘXzXd`əX{>gaɝXy@dfXuLddɡXxhgWX{gXx gjX{^f9 XxQdXzm% XtPc Xxgg˄":Xw.ÓXtydˎ(>X{mJ;KXueXxdXyuKQXueXxg"XzBTXu64ӸXvcFUXwcGVXw6îfXtfDZXydDzXy[~Xtf5ϻXxoԣ~ӦXu/DïXu0d8Xz.d|=XxAgGӂcXz7fӄeXwcXXsfӉhXzdCӍkX{eӔqXzUeӕrXx3gӖsX{d83˜Xzd 8ˣXw|;˦Xu<˧Xtpf72˙Xy094˞Xt1;5ˠXtd=:˥XzffXw`cCbXxc ƚXxd9ƟXzcƠXyd:ƣXzgƨX{X9âZXt_e;ä[XyaXtHcIXztb XtIeyXx|d|Xy{c}Xwg|>Xw1gFXxgGXw2gJXxdMXv(Xte.2Xyc3X{)0~%Xt6d*Xwe+Xxg0XxfXzie)X{ fJXwyPX2tluX1t*_Xt+er͏HX{cbȂXzeȅXxre6ϩX{Vf7ϪXzf8ϬXz4ԼX2ptd??ϵXy+d!ɦю5Xxgxɴј>Xvdɷћ?Xzg+yXtdK?̫xXz5JXtdJ̸ÅXx9eR̿ÌXyheSÍXwUgնBHXy#Xuf6mMXye{\X{ed]Xxve~c!X{gpd"X{gqg&X{el *X{f#%Xy2fz%'Xwe(*XyBi?Xud//Xvj32Xtc95XzcQXvd0RXy;XtNc\Xw^Xt5e1_Xz#caXyXt<LXtgXyeX{pgMXzfXzAfXxeAX{.ceXxUCXueiXx;W5Xs<ӏmXscXz=(KXsd(ŕXy]Xu%akXucD"2ŤXwfcRXzfUXzHdWXyf5ZX{kϣXud]Xyg%Xx; fxXt4 2XueQ ;Xxh<Xz4ʿXt5~HXXtgëa~X{cVídXwfNògXx$nX2tqdA&X{f )Xy`3Xuu4Xud#6Xxfyς:Xwdφ;XzfϋCX{dώEXxeRϗ!MXxUXtd/ҷXxEe_Jͼ9XyEd}P?XyԚwӛXtgV˴JX{b˾RXwwnXtcTX{Fg`}XxdbX{03jɉXt`e[XtdFoɎX{cp"ΥXylu$ΦXufc8?P X{dFT X{LδIXvdKZXyOelO_Xz_dniXweq†X{e#s‡XzeJɾXxYcXyf3XwdҚXuOde(Xxfd,VXy^nWXt}jXt~,qyxXu+@;Xu.g`ZyXw-cX\~XyaԁXtAD#XvddԂX{ 49Xv!f5:Xy5XuXtc!Xt ԵX1tag6X{VXuwf˸XxHf˽XwXǝXuyf˿XxIe9ѱXzeѺX{dcXwgʛƾXuchʜƿXy мXucJqʥXx2ЃQXue;wʩXzd>֋XwfB֎Xy-C֐Xt geoZdXwgp[eXzd5q\fXz d6u_kXz C}XtKexdoXydzgrXz)e~jtXxd3kxXxe,n+Xycp,Xxqe}9XwejcXxeldX{wfpneXvÂÿXufqw oXve| rXzVg4z§XwZfe{¨Xy~ªXu ˏ)XtdP…·Xw f0)3Xwcm*4Xyc.=Xv8avXt0BXs1FXse|X2#wd5JXw8YnXvgZpXwc^sXwv$_gXt-f6XvǮXu:gA7(ȨXyf":*ȪXzs?/ȬXuf@0ȭXwfe^9XyDM=Xse?Xx?mXue&IXxd'JXwg(SXw#ȢXtic{*XX{Kc ,\XxSez0bXzc1fXxtg nXwf pXyJNXuEcXucreX{|gPiXyejXwP3KXu&fАKXxpgГLXzdqUXyfPXyɔȍXtQTXt<fVXyc,YXxş{XtR`XugLj|XzrljXv dwǐ(XxϿ Xt=g XxcXx7!73XswHX2+sg|5XzdtŴXxg|ſXwRe tXweU}Xw{cGc?X2_wGԅXt.dĕZXxegĝ_Xx 1kŋXt72'ȧXt8dX{cXxn9XtgXxXEQXt$XsezESX{#\`uXudЁM^Xxg'E_Xw(ÀüXsg+IaXyd/MeXz(da6TjXx"e&'Xwe.0Xwd34Xx:f|57Xwd68XxeB0a_X{}e!1b`Xz ÖX1upg2dbXw*~Xurd7hfXxgdr;kiXyg1OXxc`Xwd*XxFDJtXtf /Xxcc0Xzd~;Xyg?Xzg'ѬμXygw/ѳXvf0ѴXyf5ѼXyzXvfL,Xy;,Xvdu3XwRxXtf>ȀXx=PmXuV>`hOXuWfBȊXxg5SX{XtfYX{P[Xu ՜̞XteOXwXXscZXxgʇԜXz1dZʋԡX{7eyʐ ԧXzʓ ԩXuGΕˍXvHbX2vgtʗԱX{ Xt21Xtg{ XwVc Xyg<Xy,e֚YXzf֟`XwgƬBXw&eưEXy=ϽXtfcZ~Xy c[Xy!g ]Xz71˗Xu}dҢXxe5րX{*em<։#Xyd=֊$Xxlea@֌%XyGo˕.XuYXtg([XvgS]X{;daXvcDXyqc GXys/LXvcK_֡Xxwcq`֣X{{cXzdXzdXx_dXx`eX{goXwdX{BGsSXteQ}[Xy8ӾXu]eɣьX{eɧяXwTɯѓXucCɸќX{MfL XxŅ*XudxeXw|jXu cFlXwXue X{f #Xzd%XzXt/qXu#d Xv8JYX28t0gX{eXxUccXufE̩Xwof$S{Xvf%\Xvg^Xx bXtf`OsXzc'UxXz$f?WzXxHo/Xtek]Xz^d ^XxmdȡӇX{c|ȤӎXwg?;ZXxd<[XyvgԷaXweԸbXwMt͌EXu)g~ԿhXxfjXzf@FrXzhC`XueJP{XyDXuMS΂XuGXug\IXz-XtTftO#XzeP&XwQ'XtЇDXtSXteIIX{cSσXxGg WψXze\ύXwc ]ϏXwIcifϕXy9eGgϘ"XxeʼXydʽXy"eXwSg\YXy?eCfdX{~fljXxKdsnkXy gƖXyƘXtOeƙXyg3Xy&e7XygE:Xtog: >XxfBXve6XzxL:Xuf=Xwf6wX{d}XxgЂXt>Xuc;©Xv@­Xtc±Xxsf³X{OdpµXw_}Xtc)XXxdΔˊXyz9+XuveΘːX{d&ΙˑXwgQAX{9gRDX{:dJXxaeOXy65XtcPXx ?Xte?lt\X{,!ʻҫXtgXwe@X{-NtXvedmTX{e ½Xw9tXtcXwcgXy7cl8XyeE9Xx e;Xwg?XzecBX{'c%ЫuXxcoаzXycеXxfXzFfXxd Xxd Xz~XtN̺ÇXueNǯXx]f28&XxePXtL'UXu6eMsXx&MѢXu7dQvX{eNb<+Xu8d%XzcN&Xxze/ X{Yf2Xwf&Xxnc*Xvy$3XuGe)Xxe`, XyFe6- Xzd.XyNf?XzBgAX{d\gXwd.mXxDcrXygsXz3g&wXxFr XtbЦoX{RbЮx Xwв{XtDe-г~XyֻXuHc(X{(d+Xv қXv"fgՅXwgujՉXxBfoՒXybdEpՔX{gv՛Xzei-uXz\g.xXxd/yXyej0zXz]d1{Xweq<ʃX{ryDXusSXuŊ1ѵXutXueŐ7ѿX{$dŔ;X{nXt E̲Xte3Xyf<XwgfņXy|flŌXznōXuCD(VXv ,r͋CXuhg3u͍FXxcz͐IXxd|͑JXw%ȥXuZc0.ȫ Xy<dftFXxicnuGXy/}Xu>uXu?g}MXy(ee!sXyf /ĀX{e}'X{; Xtnc% Xz{f&$Xze-*Xzcu.+X{f</-Xwe21Xyf,ӱXyc..ӴXzfk7ӽX{f;XyhɇXt|LXtfdXz$˺XugΓXywfΚXzdb#7Xvf/@Xzc>֥pXzf֧tXzgXue6XzTeAXx}gBXyXsW^Xuxd_Xx jnXuk8"ǴX1ue'Ǖ#X{ fǛ'Xz?dǣ,Xy#Ǥ.XuleǦ/X{sΗXuqő8X1sewXxf!×iЛXzrcÚlНX{"d àqТXz<gvárУXxCc-ŚXwd.śXwac0šXx5ewr#wX{\cv(}XuN[Xtρ2ĄXtf3 ˨Xy1dL<)˱Xz6e1X{Uc5Xze?XzSyXu7UXumf\XyS6kXt}-ÐXv~ȦӑXvfxXw:{Xusf'>XxgD,CXye-DXz}@ֶXt8UXuDd$:XXxg6mXw\e4x'X{eYXxfIXwXtuekXwt|nXt~X~Xt>Xuf  ͕Xz̔1XuS ͡Xu$e~X{f X{NgXzgXz@pgXtdϲMXzϸQXte ɒȌXzcɕȏX{C>ɛȘXtɢȟXuc?ˋ%Xwe˓,XxdաƫAX{4cգƮCXy/fRէƱFXyeըƲGXzdիƴJX{afxծƶKX{fCկƸMXwm?H XthI̠XuJʏԤXu[/Xt\0Xu1)gyXubR`_XwgTbaXxbVdfXwcѣXx/c@.Xx,cA0Xx-cB1Xx.g8I9Xx ͛Xu%oFXsg\Xxc~_XwfRXzgSXzcUXzfmVXznpXuddcnʣXz&qP̽XuecXxXt`X1tҊȺ-Xtdg!jXw%fԉŨXw!VXuXu dY+_X{6 "6gXu<{4Xv c6%=Xye(?Xy*AXuA+BXuBe%.EXyng/KXyxf2MXycf9VXye#Xyc#$ XyfG>Xxd=BXzqeVIXw|fT˪Xxg!˭XwˮXuf˳!XycWXyd2drXxeLǫXx[ѡXu*g ǰXzd dzXxfOUAήXyʟEXuØjXuf`OθXyRevbQλXyIDRXtZeTӹ^Xwzc4ӻ`Xyf ӼbXzOe ӿdXwfiQŠX{dUXvWŽXuof]“Xyc^–Xyfe_—XzyfQT]XyfceXw;'Xsf:XzfcCXzegiFXyjHXtLf[ոFXzfչHXz=dջKXzeseKXyYpXXvRXtdR Xzc\ XxPf XxdVͰĞXwjg^!ʹĠXzf#ͶĢXwf$ͷģXxJfu%͸ĤXzfv&͹ĥXzg.XxcXx4d{Xx@Xu|cXx6fXxceXz!f+j4XwDXt gͤĖXzW+7>,Xte8%XwdeG0XvfUX@֓XzKZ[όXvnAXtd%XwgY Xz`XtcMg>XxyfHjCXweqGXyhrJXw e+xOX{cX{B}XtgcX{dXzlcXzdPXzkZǍ$Xt[rMX2tgSXwgEͻXwQdNXxcOXzf(ֽXzef ־XyeK#ֿ XxZLwWXv c&'Xxc)Xx.Xu\ʬҞXtdw!qXw-ʀ&wXuiŏ6ѽXtdm҂ȳXwdO҇ȷXw f!ҋȼXyQf$ҍȾXxNc%ҎȿXxu} Xsdց;X{fօ@Xxև!DXue7֏*MXzeb֑+NXyHd@pXzEXtjcuXylg!vXwc#yXym8MεJXungPιNXzS$8Xu7=Xu~XtE}X2xu)ʉXuOXtf].ʑ XyZd/ʒ Xw$P6ˡXtg2ʔXzZg3ʕXz4eŵQXvdŽXXzgZXzW}6Xu'fKXyagHOXz8QXtXfgRX{LfSXyd+XtSdϯGXzfϰJXxgϱK Xyf=϶OXwfXz@gXy4vXug"q Xw! & b( (ll) %Y($ewt$&z,%)!ԏ w+,,= BA%h. *"%!(>Z?k GN iK>s*Ta>T$[s%!&G*؇ &"4 H- >85Q*"Tp!J8ԡ!; F{$8z"U(P$ #/^%jo|1Np1|1N75 1*bxA  *jl : *OyI[ , #6q$7{'߼EB <;~)L N*' SA(& ^+mNb2& ٭(# ҫ!<#˕Ī3.*F / o(}&FC" q! L#]. ]' i# K) ru %) % k=W"!8z*6 @Z &q(vG!$/6Q a#E-& $> ͈ x7>ƚ/%e)q<"70:#%M&E Z 3> , 97#@0 X X")(&"\RYܢ" ?d*1E Q*P T/k!:#he)!!;T G֑@9!14~*>$ 2Z]!e;VG1- @e9Hg';'2PE$+2oUDh!75 ދpMv:-eɷ-,/ U%Z'oh$ * ="%'N N=_ i> "?,1M(p\A9%hɿWjV &+O,! 7"Q Iy"n!JL ^ (@"ػ45 &N gh44l- (fNC)5| R)s ~ә&=(>̍ 6* D'/)WPۻ3 ;-%u #' :XF!6!'F8O@"$W'#X/l$'& Ah C3!%I%%y*a"x7%G$.lx~%{)I Wo cf: : :!D:+:2:'nj:r:":)hç:B:: : ,:E!A:;:W:E|:&$ :?:*:#:w(:!r:( V (t]إ0n Wz(-[0 a JdkbNyaدb m(eric!!b+[%1kc2M*$e(^w!A^8:^]zd08%n8Bd1X.c4Y0_8O nB&d3_B.@m bQ>a.W?`o @&L%}n(` ml* nSI fOL fPb'YeRs W6mp(`? [qW^(]R(D'$V&G&#`(e\ `!e] a&a5! e*i)Dn.SX a6! W eTe +ߠVj1`CV4aun9SN!9X1#b]#\pa!_*a"!\*b#i**ac# Tz*aSa `a[*af*!h*(`{(l"f{(F#>`уpkS#Dn8g`3#Sыq" j(gb$#FgѠgc%#GeTѢ|"%Z(=#HeOѧ@#JVUNge_5[aP'x6dRѯgft#oXX",X/(cVgM3o(SSTn3EYU(U6c g_Yo> 6h(cbW`UewCc.% m[Ye{mF`8i( Zc9T([UKfd:U:(nl~aQca`^c ddhZ >\i: j \D5djTS7h\ ?f:hh_Bh3Bm:VCZ*:ed7"aJh%fhj:h5FU):zH_;hMTQWMd c(0p!;hi JT;a\fl\$EVhajB\qLd4omc3gO^R*[r*rnS]d[$_d:V00sn$1(^(FVU=v(]kwć>_h^+`\ Faf#w'[f$ \a#aL\|Z#g"L`a#$ d (Naf'͟Gn>)MfY#f)Y(f*o#M:o(@`j(b' gW(RLTplo(Fx!tow2d0V'sX(e~2Pc,3b(u](M7QRʅ`#'wd(f%!  j]k(c<:`$a2n&g$].-'T+g$`gD;VBjm=g$Vg"wUUB~M J^b3asdu4a KbL4bZVZLx% Le(PR<(mSaA4a41\W(tn4F`_8C_gy(m(a`]( Ne_mia S4+M(j(]|mKWa^]} f5]~ ^jd:s_Gd1x`7hj d(iajgk d(kRo a(Focmh o]mIn]jpcg(vhpko .Xq 0Vc!ktpc"$dSrc#{]brds]&KmvbZwc$jzc%Bb} 3j2 4cqC(Na:h]](? cJ)Ol# _tr'%jkc&lxf3 8^/c' 9Y"c(ic* :o c+$\d^# n!^l)b!Qa^gGU$DT(bWT'^X_6o3dM m7Yiu&X$LT(^cBZ*`^I~FK^st=8Twd\jydb}d9SZÂb(nUaÏVl=Ðpkj(dl~Ôq^a(tYX(\V+"](M 6d ,W&-"lY(s"oN(d:k d1`w-\b6d4Ǚ&;gF6'}` 83af(blFl_FG#X?Cb7 ;d "`(`xpdg "d(6E =YNP `U,EaX$f, ]A,N4V({5e(6n(f-f_,hY1,]}:l5(L `?:E<n(f0 T-M>l_p-f1!g-f2$kX-&=Z(E oAf3 S-bx myF#UNb[SR nT4 m(b Rbpb !W?tbmMj;cDܖ#]h(!V(b W#[mb  e2o{\ npgh<kB@hx(f+$`Vw$bgg$c]$eWWC{mjDm(Yz(gL(WStEmAhgnCggYZc(g$jcg cj{n(G_fc!p"^Hmc^Ib!\Vcu `F!Wc!X c!e:# Zcx h+%Lgz]n(hK(gkfU]#%\s]#)gM%d(`!SB_(deݽM$Z!d@$od j+D(n5(d$m/HH2[9c`kV:KoTEMdcK(]_(a0*n&= nrGSMk mNϕ&=Db[X^^hXh(! `V_^.^X&1BaiVy(Kjl(C&/pChGm]((Poi(WGv`VkZ (MXmX(_& PV+fSRGfNYGmGbHmGfOdJG4Y<A$@:\Gd&%ZM` nPnG@S``(`yB\VϚDl`ziYkmH`|Gghmh9 cm\e(](>j(hfw(gV@`\(hmEO̊&vSN-J^(`]mkiI1Pl(dVpB^]4SV(bsStbc,HTE :k(]$YJ%h8ǒ$g ]!d"$Zh]$o)]T]V@d(]$lBcK(4Cb(ǶDkl&D`2(]g$k 9ni]$be| Ic]F% f(# ]x($ pO(L ;hW]n \(cGlbXZOra->`ЄaF`SW(#L^DbehIz\mLIom^@_Elpm@bqa@P&#k]uV[eXesh\#RSac_Fj,@_Geu@Dm`@(_H^[@*?kZ9n_I[4@7S`IzdSd}Fte<~dc kd d:(x Z8'UQ m(` l6[>A`d[{dm l9ÑJV+F"nat-d` _7T& T8}bC>&:X(F# aD`$jIc-P _@S`[dR` ]T} mf>ft>%oK(VOls"Tm5p& \If$Tem #f [6( 8ht Udf9St$^9u](^ B.i&L? $T:dZo/RbU _UTpY YVa m NSv(bVl)aX5(yu*i\bXXza(Fj(^(uJ#cb(g"Qb>h%OgHDJ#b(<%RjYSn>%ScK~M\`^sP#W(h o.dt%[leU_(&Hj}abwmb( Z9u _9v a 9w_"Vm`ic*!iV+qaS w a9'g[l{To"XN&Uk]'oF!\$mX !U">l3(]UWqF]&b!_ce?$i e@FGU7(Im$(eD!mk'eEV6YKX(b/#)fLeeG!og4geH!pViam!qYmeJ).bt!sjE>eL!ugKeN!whiQh'vXv \(:_#S_J^nh_XqM*Z(+ Y3(_K#`s_Lf# \I iY(|bin? g~('XL2#U`|-d(Ok(F,o;V'h2[ )Z(TZe8,]f>ff?fdF n"({fU(f)ChM f'dE/#-_ElT(o!mR(E#4hVq#WT(`WmRr&kT(t'af(+WR(`C$wYud#K\fMwil^',l(w-d(` Y`c'.g(hrc2n3e^2pC4emhsi2qht^2r^thuu*aY(Tv+^(hvy-c(hwY2iKi)PjC*U0`bZ"IfvMK4K!ah_&ufmF'e-]nb\ `oI'f/b?qgRcr`tW8(G XY(F_-^Y~b1#3S+h j(ydY_hMgMb0W^!J]^""ui$^# [(1lMCj&-jE eN#ov(T'jZ!c_DBr]Tx7l&h1ETCE% j(& o(-' [(Xu#bIjVa*,[(JZ!MdMk(cn{M[(a'j(cg B c4(_C$~^_o_`4mE$_`c`_a7T ^-(efW_$b_Z$j] l.(`"{jTrXV(eQ (U `F SO(akTĈ9](alUc(c ,V oeR(o {j(eS[R ^Y;h+ĔJ$R\([L$SZ(a,`8t lX+W\$Uo(j?a-b{A  k+ga@$[M`'wjyQ` T]F"f]&9e$(f@fg] G^7!DikaZ@f (fFjW-IL"TH(a"Z(aW AWFbUb+ `PbTQ{') [b _]Jk(dKe3(_nhtHLY(FKIMo (NO^m(FVIPQi(RRa;a_S[(/ fhym!^;'@a;F%jb1[[:U=ev_!lg(d"ica<*YdV!_(@!`(E/_a=0n0ngT6d;"]Mt!i(e!Y(!l(b< o^$3(We(c('+?f^&4*Xm^'5+p0o^(g8EaW(lOFf(',^@w^)IU(>3\1eF Sz$mk% XmFe O_oeJV$w: e$e o$;?a$Tj (rWӁa|_ Sӂi  gqӃM ^$u[(t ScӍFWcn_][ F4ij(ap9_#at' eH| m%,^ _l!]S"bM=o(MHj &_<^-_(gP!T[/_[bj_\cmDgQ`2ang`_(O6n0(gRf'9gSn`;gT!Ym7Ga!!ZTQY9(gV!^bWLMJ!aXQa/"b4;'e,(<)_Z(a0Cejܷ+h(a1"V4.v"jܿs2W3(a23b(E']('b=ӷZ"cUa3=ih\]hhh_hWS$fU~e MkF'qh (h`L%WWbT>5BUM5`$(bYHb alOa gWj(b lbuTNgYfC(V( \bYrF{/dM^@e^gofPrm iY~h(^b CY֢_=je0( d7(F}#aaZo f#taa`u^SVFw? T yd[fd cZa(#[$d!2lgd(Y% "[d"6%n2jg6w -Vmh?(,ncW(d$'%oZ(d%S@.t^FrDTCd'eJd(^ Ld)_P`Cf9`%WZ:`&\{>b]fdDnoPigYb^j`\mj_&geW(`Z j:j` U`1 ipiX(e&~_W؄C'\؅ezn-`XAS؎e`Y-j. T( k(k-SؗenY^-`<aؚv& R(e`-ea--eq n-}57h؟ek-l'L#jؠy2 mV(eW=-e3 T(et TS-;\;}iFVajjbw$eaq$@Yb!l$dbpaKf Li0(M>$ij(Fk^ͭ^D]`r rVoQg ,X(Ei .dv(DT*`g 0Wv(7&`<agY? ef`MT<4A `h`c&O 4S(gZWdvE ]~wpFHn @bemYAPGKdc j7LINW#ciVc UZzO\M(c Vcc Wc(c _x[c ] KU]cYm4Rl(}K n_cjHMOep m(+M@Xhj _OTsg1AX e8h \`#o~Nl(Ei(Ew`dy$WW>(Yr(dzjed{lx(d|OY[d}|^)&gkUU(L_kKW(dh.(^#eg&^#[1&lԠ#l(R#hR(]lԴ *XԶa`  {YԽaaZWabO<Xs&^dz& Zm Y^ #[-((#U-(_E #_( (#f(YOg[ CcSE[dX%ff(7(Pm(i!"?e#fd>*f&~W!(R\(fn;` [OnF/ ]cC"Oe(`-"V`V _f`deZqud"Xm.(=z(c`=+\T`dZ`$lF\g?pKEU_glHMu{S^agYM(Q_Lh a`SeX b] cfL d`sdvE \x!'eW((-fiy(g a1hbD(>iZ(2jiz(Aaa Z(a? [%a](FG f(g  mVe X&-<"jn0 n(a$T<aF lM> h(a$l 3($(\ i(b' jM(]qo!:Tg]rO!;oח]sR!=kי]tS!>kך f(<g3(" d!B[w^xb^iyCU#z]v[!Dg׳E[*|}c]wz!E]Fe(D`(ce4$ dcv$fb-G],(cM"n;"k R/Iac(b~;bc]"[\;1KZ(c7ho b\+Ol(ca"f ;^(a~$Qp-aw!=o{(^Zy">n(tfVc kF*l@Z#(FQ_A?##ti'$uY5AJ0kAQdjHtdUPudf;y:]zbG{i(dnH^''1fdih U$Ê`i[Ì[zi fc(( V^(`mh{lÕdm^×,a|o`nnE_Ûc~UGaß0f]áhYãa g h%xfTì`p{`g`"f +j|= <vX!X*^o(b}pJ?D}zef pg![FeW_If"TUFim^FR 'o(babvo"nQb[]ИaW{b lؾklЦlZ`FS -jp(bz"k#j(]L%W9̚Fl bE4&d̠k-TD(&h ̨l%̫b [ ]B̵-U^(]^_K*Sg]Fw ]M߾A$rl?(ct SZ:cue: g$O]5:cv WTK:$zn(htpc(]x kv]y US(f\8l jr޵ i "'WW<E g]ze m]]{dl'm2$i"T(dM5ldFV$\68i&["^(dU:S^"\(bV_"bk(P"ii(("YF(R"m(d("V(M"j(dm;d{d\<h_"e(K~f_ (LgV(^PgHQaJ[%qfil(\~X_me(_#lk^WaTEVU Wtc`oMj>^a`ET$&  _!0cg( ]nɊ O!5U(8_` ɐMQfnUɢ% Tɤka!cf?[(Dhr(`r X9ȩ(saV("'b`s!'h`tofA]T (MmTB(`vuj4h y_3 CFk'۾E dۿh xT 3h"qpbskb}nqhM^Fb53#beXhQa3+qi& ZEaeAa}\m@eEff :IWj(+HcM9;S_k(fgbS\VT ?c`U Ai@oo|(| EbZ FYkU(Kk(MX LiO]@_]JHU*CZcy kKCjczec{ TvCzFC]dCc| dPCaU^Lc}V a\CaV$ZXc~ bC!_(_7k"U_8k|_9!!W }Qri~n(`N(U`_:WcŽV\(!)`“_<!!,hJd(YW(_='lcŸa"Sd"l `n' S}d"[ *b]F Mo(?\(iYhc SPCS (0EX(M-Vb7 dkVS m+`)c(d'#vi`ה` CXכ`' \nם`>Z,]\jק`oרd+#c(`_f,_`\n,M$f(bB'oׯM&j(`m,` #X׸a|d(~Y(kp"aofm[fnFj(HZ&(;c(fi\W,fj]mbL\{^=(2Ql B7c*/\,~eC(`QbO k9U&yi(bPekeFg TO(˝e!h nhZ)|$4a3%/e4$:X%8akay(Algi((mm\(L$_e%Bz's aT%Ge5Pepb(|j ft_> i(h#ie_Aw jgo_Bt\Fq h_Ck a:*m coM X(y S (=k2(>^(ReD``i mfYDos(f{!a9R^p(FX(f \(b%(f$k![M!Z|`x" _(5_`kz`l5fg%`9"h5n`$ja(y$!oU(SQ(W(`3(dvh(hbCkghc[@\aAWW(jW(!_{(hf#cS(hg {aOIHi7$m(%Z%(.^CXB:(n?(hhx[+Y(5M Ykhj'#d`rEN_1-͑(A9Z/TM[\ 8WnϺt^vϾz_O(^{ed(^"PZWME~g(bPT(*kua +XdBf!-cf6 ;fg <Z@^Efv#[i(^7[wW\jPU'm6=cf|Bj b\hDeZ [! n(E/scBNE X(c_sc#B_ M-bec `&(+j `F U.KS_e(eXg: /X0_h_& 1]I_n 2h &f6(h\ e73Vn'gaW(!bW(E c.Ge; X.Je<bmX.Q.d^d.R!<hiB.ZiWA.[e=jVv.\e>gZ(aRb' r!mla Pe(f :"fu! o$#(dGUfP(?!`#a!e*&XeG(M9!!jZn(j&]V(fmHk,a_4fx"gNfz"i+|"nBDf}"l0' X(b?nI0 kY(bJZV'"{^˩b d-˯'7j<˰bEdH`8 [(ln˸Fb`iNnJjbG[nbR]|r m"^Egv(Gu 8\$rT(:}a+IT/IVJ(SKZ(aNe65 Oa(djz[C [0F %^GSnd(Ulv(d \7dndb6Pxb@cZGdI\ =W5(mD];hWa"dJSNKbidLnL`Ncd ?f.(4Ok4 @Sl(lhz`g 8 Am(>fg'\^ei'_p& `Er%d^V^WCڅ[F)SaFa 3>k "M!Sa?'s_!^'M"UR'u^ c`'v9&_Fevaa2_?`[3` b8$t$hn(e=3oeB ]ep c"L$l(`$X(`q ksN^ lOfS0:V Eh/?F:jo ".(e'Jpn(^`T+Y(h!=^PXg?7#Aa$g@"]ZH&Q"^ZgA"`eWgB$UXgCaY+$[+ZgDze[/$n\q$m^gE$X_gF$WXh$"ZvRh(a#"jXr(a& d'SNFcT`(a' cM*VS(7VOa(  U|e/"kSa+& g.`TYd([s('( g5^"c`QM}gs("VFdbha[!HZ8(h3k89h4Y;eT o*h$Cb_wRSEl6[NXb!Lf,(a^ VjVPM[!NY(hn<Sh=g|]l(o_1M#jSb8NjbTw b V(Fx\w_ b (n(hu(89k-w] (Ge(dW( _@bl> Z(m^}_TA^~ lA1ML\(i#aA+&WV Dmf(4-'bA6ky(&XTc(aYn\(^)aAc*pAa`; _d(oAf`S(d "kBo^(Spd(d_vh(bn |\#5S+wU(' X2;yZ(bo6`H&{b (N|p(` j]Nh` TtP\'"zna Sa"(fK(`O\ p` oS(-a(TS` hb v` a  a\ ace+]gf(eed)(eXCl(ibx>'~T"( gUA(b8Te9^e_bt]?(5Y (M k(a X9`H"Tf a h<aie (;~cVDFpoc{a) R ^3"%FW!M!_(L dTM"l(bX+m(Vl( m,Tj(gGe`Wk2 Zшv cgH2 a_;LR_P#gIrYgJ4 \(\(gKo (\,gL]gMFUgN(Ja1^lJ]+ #l:zab pF:i:i(^*d\bM Tk:bN U:= iU(c2SL:c!n:c"\:eqjV cT(\^\ GZ^(HkJ(`IZc(d3i:,Lg(hd2!n<(L"veIQT(Y^(Z YC`k(dm_jvbb(Fpob~)[c`wTAms(f"[\ObwmSdrio5S^2%e^ |iQEdUTeiY^fS^hV^5%ap (myM^~fogc(^!*i^?%"a^e*lV[([_(A,Tr ~T` Xfs#^Ec(f(a.(c`u a!F i;f9Z6-fh5Y.i6m0d<rY[6 dhg(U(aej% `^k(1"Wk`  ZJ ea(ln$`o~T(2ڬ( _ 3m(5Z"g%olP3i(D[/gc3E?#IV4?%%l 8g*#K`3En^{ha 5l8)K[=*ߩYo.}El`4i*7 W8i+|e<]L(v#[SsTX#VdVh< [[i/ #p bf]R#]^EWd_%]/R$0k(lPe5r&2b;b4(Ui<%bTDU[$5b(a]$6i($7i5(az |eD"o^$8SZ()$<e(cnD9$=k!(c%Z\Lcc$>S(^m]#\DN<oJ(aS&i9I(_i"`~?i(^hP,bBVKoY_MHg%;4[j^o5D"yU(N4_+`p2.] yV59dlb`>ba1E_/ ,% pe+Qdv&k\Sdw"|`(dx"^ 0^!_bY`b ^,v  c,a&*X{g(`cm Z~,LhMi,`drf,`e##W,a\;7fh݈bfLfi\NfS[qlu7 Y(e/U~U9 n)(f[~gO S (> `"(f b2Ӌa$-['f^+ ](a9_[Jn m(a][ f>LC]$1WOu x[QPa.h(ajjsaTxX^a\af2W `La>nbM=]ai1`(gI`.<<Z$<gIiFpS(b0qn:({^PgcW~t_(F5ZYnRVR<b1Y`gTl<h\m<kgbMAno<(hfokN<gUZ[< zY(մSFchc \Hciu"dJcje Y*LQiaWauSdcko X{f& cjcl~_Cua _pZsj6(bc m\ter(]o"WOӞQ"_XOKb$YP'YnR{<|^VF@kG d ^Jd(_unO(]p S\ V(׏ X(_ ndykdWZS%a(fo) _4%Z hJ(ԍh,0a `:(h]%I^ 4-aa(iTs:^~Hn@^J[BBdom(MlF]#u&ih^(M3\"dőG_baZ,EftlGb(mQfug[fvK ng~\2fwdQ QU( tmR vbfx#=WM/l% Un(MeLfyW {W`c(bk^e`g S5`hW5`i)#NWd6d64U(s[ ZBoh6(5orl^6L S6^e6`kT6e{n(Y[$Z(R\$f(*$g;(bE%Z}w_$cG(bFYEoVR/a;T1$U(_b$T>(z$a(hV [.L=MHXl(h.`NhgOQM<`4Rg`Yma1Y`Y[ s`5Xftab$_HakWhza7W/Eba8c. 5_M(0'`EXXatZ=a!bf^5Za]gQtcp.]nM~Mh# d(# W(G;`6HQT7h#S(bu#](x`AL%}fCo&5UTK] gmRcmQ!<kecn_w k)(M e(c fFcogV("T\Ňcp [;Ōglo>(hj>($m0(C=O#_KbI#mLG]dT_/&!gU3(dsaWb]`*/`/cXL#^S#VbdR+!jb(SU#afW#_oe%p,(d&o(v((iW(d ^V^tr [WJ%Y{Z$ah\jZ e.v]%`ddT#ZT.da _Q/M%W:/]0X (`eiW$e|mlhK`b|e{%cwgt(`fm]|`T`snZ` j5]`Ij2e`{Y%j'}\Yk1үkT\XMbfzknf{B5na?Wf~lWa@8b(M/LmkfcUf^](oo%g_MyibD6fh<bE%]Z?)lhM+Dj(`* F_;-X'CE[(22`A7h}wVsa}xaw]Xo(!"bS2(F](Fk'y]Fen3h|fh ]d6(hSS.h [uh lm-txlq>.[( xya@ ;TI(cEdߎ'f(c meߔUk((k+P`XSRk&VMYn[ߝ7[3(F7@mf_]<l(f#Anjaqf'3mgEsXQ']` ASJ']n(]}]m(dFa(e"SYe$ [Ye%o[ n`^Lh(aQWILdaS<d  m8b)3/!la ncIOf0(e' ^dP[<(e( n_fe)5ame*#*SnFX1fnH(Y_3Za"Y`T(OFo޼HjL_4. o:_5^_6[PjQIbfF{ ]aR aP#wb(zW}(&T(i('p_/^(~ne(f ^h(f WV&U(f hO %[(f U`j`(ho\(_/e`"a'~qhW(H"Fk[I"G_J"I]1F~"JV#F cV(Fui(o)^'`fMA"Kk`T wcd`FiahUL IWhW$huPn(j[v$gz"1h hX; O] PY/hZM rj*h[m23a%_ate6 ^K(h\%^h^kaC leU8F)A So:u}nHbH:%j!(; ]wF;%`!;s o@(+?%W@%gI!$bI9-X!'Bqc!*=</kђsoѕM<b!0afBe^ [BmglR#&z!Z[^ !lB{xgKB6Up(zf^h}ǷmXnFp^ !ZB Mpbv(c}eq n( ^(bp"\lbu> R l(c[ b(cfo̰So_ `'("'dc l(^,e-a0cc"(Rc}g( m(c"+]^pTb8SGQ(k((!g(WW(^_^B `s`b _aY8 _#` ce(^0Ul pe(MiNV% _^! $bn(g(_!Zl_j]' (F`jevi%I\o÷hk_"e,#Mne-nWV(h<$NZ(e.#O]sWptm/e0@ Z#Tjx.d,\yHf{#_F^imaPc:b;RUw*!`}#kab\(Gߦ"iM#WK9ihE(fV9fSF]\ "W(& %]d<`%_Si`%dctp"c1(;"e(KM2jybMkO{b)](V(?l;Ab`v;EHY;H'Za(&' jkFmnb/e;L`| fDrf|( SshV*(F)2b{+$/"kV|`h#fbi#kI ǵ!Z:;^M!1c;bbq8W](M"3]>;eb =Tv3!h(h_Mo=B+T]?! k(!`^1WF}bH! S(JUc#.Vkh`/Wk4MZXha1[oL\ib+ey(,h(2m%!zfh[0p(e|1p]!GTbncb1^,(FCXnb7kp4Z(FEYqsF'W%8[m&w7j(diK,dnd&W$Km&:n(o<b;V(<g6(O&@xa^  V<Xl( Yc(^ RG]^ ]j8Zd(x[o(`dB^ aibmuK`(YclLKdg>MYe\^`[2(MXf]^hmxa <T_Qieoʫeeʹe#_Yʼy'8kJ|uV(FEb*[emGMd([bbQa^(b5"Zk_ZgD+,[dNcEW+(_`>tcUw_dTuFUzLecHa4\U|V`(MjXM_,#cOE#U8Vg3#n4Qg5 \W܄g6&Zz܅`&\܇g7& VK܊Ĺ$gWܛg8w,nE4{g9KSܞ([UܟE i1(L c`(i Oj[,ʐbja QY.>&'$VZRqFYza UZ0&d Vgayz{U(j(a[^;!g(E b* jhjl1q# UbcZ 'fc`jl,uamEn j=-/ b:< >]h o[(- V rY(h*moI(z5".lDb Yi_(bpo(dMrex7;"2_f}"Ugrm~(j"4SD~sX(_"t`"6j)D1c(b iV<$](PѢQ dM4S$X($f(cR^o]`#fX$[(Y|"x_uJ^(VUŌfLYN(W] <Md(aF!WYŘaG|~cřdX`Ś(, kŝd \i P(Yn~(d "W _d pZV(_*Qg-;_Zbm-=h#$^(_]k-GM]#&_(i#'^( b`eP/Y[md~"[oq_fa-^_g[Z-a#+Uh(eWa(QZ(Rb(iD(e4egj ff& e*!U gT(LTW(2hne;iZb +Z(Mk.(e?oa.b&](e[3!{ga(ha^ 2!|g(ala^O5iXaUjd#VR|!ar(!`(.]= c&'!!Y\(>b(YBl(o=tg:% gAg;_b=MNEk(Qi =]Fi(bWliFʦMB`nSZ=IIX=(b#[2pi%bQ[ bM'f#g>P#pNB#WiET hlb#Wa3S!MUU#ZV(hwKY Wh%>`Y}Pkbh%?[Ic oV(hlWYlkg(c$^r(taZM8SV(b%G_d_z`&m`C`rda7f&rdbKaZ/s4Sn}\(XcmԂben&dV(FbVԒyl#|VԓAZ&DM#gg(aTVdyԙ'\R&^r/mm^s$Y2d$ji(%](Xh1U^uZ(^v$BUF!S=^w]lYV/(M>9m9 ^xWe^ Nd9/l(^y1e,YD]@(^z>a.^{p@ZM/g(WVa(fFfx-b2WNVX^p_$9Uf<jo<AY((@`&Z-(f%Dc$IVq6d9lZݵE$lXݸe| d?ݻ`!YV6` =V6 >W6%?c6`AU6`^cl[c}(ni6 'qh}egO[~~bge(g>g=g_\chc6(bhT2gV\\^c$nflW0(g'bMRSgY]gZSAa@>b>h}#fB@XH&&UW(WASagaIBSWLMCd\? X-`T_he(e|J_Џ ^w o^c$Ah0Жi$ \=s U NXiЧ]O(b#^ЭM@v k> "Bcpг( db_лb# ,ebc )Zbd *Wb, -[ f.ir(/m!(0\(h.. -iP /g`. 2gb0 4f[#4ao(a*oab+ :g*b7 ;Z+b9 <Z1L: =obg7`l8Y(V 3]T- ?S:bq 5f=C95Z 0Z((b#Ze- h)B1b(2fV((5`t(v%_^0_,^3f^8Y(9`x(b%eW1b#]a^ f5H=X(^4YL:KB `Dթ #bb1N*_ٳDYt/|Es"Tٸ %MdLٺ( o(dg:"X/}"ea/7 fy(dh;"\ /A%K#odk b dl?"d/r8 ZE(&)&"b e  V`V  p `Wg U`Xi ]*b(7`( o?`Yf T` c }\((YT(p= q o(M@9d`f:g8@<hSO(=o1A/ ofif2 VDasndf ?mIF kL, %f(f CixOf oPf SbTfUVfDn]pW(` NR^bl:S``Tyd(a9dfg`W!Xy(VnucOPYxan=u$j(aZkam Ýf jtL6W{\zLej'e(`Ek`̐XUpZ̔a$^Zg(a Vg$_c](gTOYg5P[,g$XjaL]$F\LDPWGgZZhF1+aS-cQ(!fm''_(_(VU.6c_&j$ZXD`o(M+d$FM=W(5%Y(5jSK#TձfA$$`յFNL"o( '"i(Q"Y(+z(FhAFO8]D(MM-hC(M?9b(T"j(oU"Z(=l(l#Yd6#^ Z(aBr#YdZQFn(Mn#kM&d%(%&VdS2b! b(!#a(!$U("UU| V]^Kjb!O%X!&\(^:%ev^;%jw$<%d|( !+\(^MuWy ^T%kMR7p%W^W% UM>%!cfi$gqv&k\a];y,uT~z(k -%mhȀ3{)le&khcȆVh&eȋaTg(fk~,pT)f)kȐfl*Y>MiAWX(a.fdȘfn-YV`Z0]K(`[F[h4`\4`5`]@%Z_6`^Iot7Mh(`_XZ"b?FY C``LS HZm!c $l %` g\xnh('W(Z(d(b=g &wyXge(>Yك(2 7[g(? 9T|gdىgn(n(W(gXpٌc!Ck5a`aiGِw[DVYs(gMbnT&%YngaٛFTi(Ze!a\Z!U](R&nS`(bV`F(  [ oZZjz2\j!ab]!R/X[@lc\laB!m!q\d(M?_#[!&o Xb(M<a$m!Fh%T!qb T(h]YaiW!^| UH $bXC F[p#C ]$nja>$o_% pB(a gR(U5 Zi(Hb h(a e]{"sVd j(ae U(xM1 X_C+Mf U(L [!(Z d(a h] a2C1Hn6b(cbeW'u!`l4(cdt^ T [j(`(cf'VWiGrQkcg1!TMkh%Jaq:n( ? g(_&  \ _'&zSīm , Y0 v p(3 >l F&7^ĵs $JXķwy S:($k $Y(wh0d$_}2d Y*d$]5Z$oDIb(W `z?  c#Jd$U(Id$eYPS(dl(sk|(j$V($^q(Fv yeIr9`&T]^`U`] {oxwTzA$_i(T\b` EZ}`` ~n+҄`$W(h WF i`c _<ҍfoF%mTͯE!UhͷLrS'(xnh(e8O\:D"mf( %e"^W"on(fp"_`"cfq"&n "l.f%sU6(fr!`_n[` !dmR#@np(#Bp6(b;n Ub<(a;b=o;,^;6"]f% Xb% c|F2[V< b?d< b@%e <{g(|et(lY_(}(7b8rΘL"mMi)__Nk b|hY!X}8"nhZj`bM(l-(yw&pL'Y_Uu!](F!Wa(cn^d!W[(cK!2db]lcYIeZl'!c)(BMfI)QrUfE(CX^|(]Mdw9\T(]!9bK<T]e=( {_X:(W'`Y(X8&sV"H;hFIYMCbi(]J=bOe x]nOe a `R(e 'Zveg]AdEe j?(e}^Va.C[de~Wee@ab+ i( aB(e`lk Z(LnVhwLjbxep}PZ0m ]ɷfpɹ_*Nchɻ Tɽ_+z h`k_(_,mcdgpu\Wld(faK_-g/Mixm_. Uyi(f iX5fX5enT\g(gV5f[5#lgb5*#mS(5[&b(nVMVP(IO$hkۗ_R(Ml_d[۬ _%^m(( &V(Mj=%^n۲`<V۴umQqZ(Uq(X&Z (hI]hJg)`Hv X* EM\ Xpd1a Y(Z(hMxf keo;g>llFJGaEH`JS{fK.H\PrjE\*%cbB.[JbCOX Sd  tXz(v`(E_ E]( flQa7 jAa8' 5^^XUFā m#j kfĊ^qSĎL&~a(Ca*l: m_/k( b X ]"  k@ _z&lW-_{1%o-_|3%[-R&noqز_}~nVg-_~Vbع-d( re-_1W(X(IY_@%$S.jG%'nbL; cԥeugJԦe|zU1PEY(-ؕ[gFA jeC p4eL^Z(Mdx\(eL Ze D WM3 mLT(a uWa wXakDG zb }Y. a ~ngL!ad!g( GkO [(BXB X>#D!]EEs ]fOYRF Wr( o>< W( S>IQ] V(fY i2>Q^|!UN** \en(bg({ab\(0T bi BWQdD V(`TY amb a>(&b(b= >jbYZYXXe( /T(Z(BbL 2T(hNi[G 6S(b *_[hO"`w!g^ (!U hR!ZhS!U hTgb)j.' Fy )ac}ek'_lmb+N;Td(kbj'%b,^TeP=Y(b- ` ',fazk n{Al(i'B](`q$|m($$}^Q(`r3W^Z[ͨ^W^ Uiͫ^g`sSV$g($j(`ur *f-f|_a/eNge-Ub[[}OVb\Ve2_ e3nu'`X(eG bof`*(^Pe7].e% `_"_U(_X7B`"c(bx s`"]=(e<"W1("f)(O"b|(_U?7VB"`O(U"ju(,!l0V"c3(Vk7kg)^xbJ^cyF;bo|g*=dcg+c!aFeoAw[l*g,^mFWMWY(#YO<EY&bMWj #p!?a(,l[5d&e<_6o_;'o=BL+\P}!Fg(F'nWRimgn(hD X 4v|W^h}b@0iTSj EYub(bfRCï&#WW %'^`~ V &wVG(\l i]%bn [b}]Ưe(bE\":$[#M l(b]ƼbjBƿ%iMc(m3| bMF$b!bZbmb Be@^`LUOk(i(`GHXRLX(^cq TVRT$d#4_UW (^eUaIJ%Bg^fZ]^gh(a~ acS]!0c`0gJe/b8@^#j0&'j0'@nZ0*cj `P0+MtJ"jh+i01FY2ZMe3cYlC03dH!Y07d\j08d/[<d1"Z4(&D#Y(_4 `h[_5 U{% 1o(`>`@_(k$aE_ hEnm) 6d(_; T3 7U(_Z_d YVpm"qZ_ i_D Y Ec`rXe~i'4e saa_(e tn%F7VK3a(en@e&LhGau y`H do(etfLEBWN4 ]wPq^(e X8^m #cg^eQWTe \ei(,"Zt  g(OT`?"h[4 bG(alfoe;E^U_T_VbV>`Z?bXVEan!cfL k{"XT_ZjFUaqFa_ar"}UB! Z<(as"T}ha' dl2g.#k6FC#W7J,\([g4XDL(-To( .eF(FD}#l}!/f(0o}(0 Sm&?N\+Pg0h(6](-7p5(F.$jD(bnlbSS|bje~y$c(M_$c (b6dv __Zw `\,O|%a(bI cfQ\#S]vW(;%\(+]h($p\)1n(V(&` kU%f(hfG)Bh h)N+AA _TV!bVV"e(h!Xt)Yh f`)\h|^H)`>lj~/i#Xj(dS6S7n )A?" @jV+h& BTmr l$9dT#^bh(&R"aX\I^h+!gM!kK^i^'i (^k%Z>^ljMX!\ ;oUx(^n6!`%F!d(`_BeG!f(6( Zg[GH!m(a'M]tL@<idOJ!b(alYes c;M!c(4!]8(ebEofeN!T=(_awsTi(3eXuW(*v^{(_T_aU]fMfwZ(_fl_##Eid_7#]e%_`_rTLjhMnj_iv_n d/|mA(bxub<}> -i(g [g]e{,2rU 2X'(g8 o`C 6\(r 7i(Mzc/ggWq4atGi"NavAT"Raw^["Vax'$U-az2EY"Ybd( l (b b5eS(a{U_"d;pOX;M%gM(_R i"la},U"p-bl(b"Y`((i#iZDXCiLvj YdY m(fO(FuZ`Ca (I_C3gCFv^]i_boCiK\?C5Nh Ce$`|s.](eXd6, +n8bkw`gyNV'=`huc?_v/l(a)0U Hb_`y3i}(_``WSz4i~(P{5a(b odG^`WmZ|6\(f&8Z;(}9o(`kgl`^X7 OvTG(^mN RbUT M_#6pP X5#7U ^y[(#9d a^ Zg o^#^ dV $Yqe(dWk}ѧ_zEXdXSP $]dY](JlR4(znv6({_buj[(w\(d]$f<UYf(&]N{Mv$p)M/$k6|a,d^`jrm3UDX$(`FF!-V U(@ V{`Bxg'2s gk`G l#"`H d#Z8i $`I ]%kp:h&`Js<f/0`LQ%yYA9t=V4:`MW<6lI(`=ZdE"7^ e^m@ iH&;X^} Jds`;l(Mc o(aF2k%a#tc<5^YB'bo(a#wa<FZ(`*]{*QRd<U(#~i$<^(MSUi<)W^:a%$,kA=gUanb.)bH7m4,Z:`T(~qkH.gib2E8gEaKNk4g#T:W a #T=E1b#`Č=UZEg#l<m3v TcP[=dccQ /d3fcR]>oujEc@orcS`Acte(Zo\v(`}z e}8cT~m([ph(cU ;VunWl>Fqc a(ڠrS}= ek m<Jylxa)L]F\!^C n(i!Mg ^.(LdUF{j^aT#Xx pI(wU(~W(`rU2ImVd Fd}(z Gj-'n(hZb^T Yga Da(^V f]q^jiti  [ o+{^\ f\}^)[%#^ pav_\+·; _ / HYw(< jf4 d6u $Y|5 &WK5'Yn(` '`0Oa%ZZSUn )hUhd[B_\S(^$]c(c_$p@(.$]-(F<F*"ob.`P!Z .*a$d(F=c$Z(`Q!]5?\:f$k(!$W(`Rq;]D$a(aGjF`SHo%Kai$d(mk$_([(=c7g[):g{Om<+M'f(a,U\ZEVkiP(U^(|EfRa-Iefi!lkAa_E"S(glDwڪ'v)VI"f*(a{hYE_ bTFe mU3"Vu(."_S(h"Z(a:b&F+x he8#ko(^Ra`]bSg b FpG($Y(]}=g&`(8dU]3amZhuVd&fip(^#a6j3l](P/W(Zc_s W(a!Sh%(8#Cm(cW\ ycY'IN`3%!XT(aH n6b<"`, +h9 c\l #![U(!\V($!]c(M!_](MQn  _!hg.}h_"$V`)k(i5av4a$6f>/[vH6YCF<`S7]bg(Z'U}J9opVDth|(dT_NxW(dd]c@u[W(^mfdu~h:h-xY:jaLS(dx\u Èihof(se(a#b^(TcWMEmiek'#Utohir`FaJ|Eg u:/#Zw`{#m+O`X~xa(M1# Ya1c(s3^((4m(f`d m>fa@ `H>fcf jm>fdg g&>)dcdxE' Vffes$g<>ygh6 lmlffx$n>fg &`>~( d85;bt(c$[ >Z Pc(MT:WoWgVXc^$TX6]ź%[^b2!l*0b3FqZ 3b ^jL SX(b4 Td(b#Ul9spQnb5&X(?b 'a ub6$]_6KqgCb!lD/OlGgv 9XXNd(4hf(a$XV`M/#^Adgf7(gU (](gvnkcEdlA'(o _(7dq'w8n!'c Y'R/9YBͥ'[Ic$ Y(c4 k>'y& ]<TM]0'YD![Y])_\`3@^?(`5}X|c]!n^re݂zbH]b/MQ(Wmb6YbHng!aJs`$lBwX`}`mnwݨ!vj("*a`Jd]h)^gj *hkdjh~jdh g#pe%^neVr!Q%V( g~eDi|e/lS%f(`Z$ie0eetWe2Sr%#d|(r!aN7`o&pL6Uu#К' ]x$^S(T9Z2|h(\(_%\8S(m(Z "iރfVk{fWoi#FF 3`f$f#ra(##uf(| 4aU*&#y_(f_e76fK 8j})y h~  9Xf :f@fA%%bf NjNe+"Ml0x` Trk(`E _z #o~` Y{`Bc+oyj`}V bJ(`H^ b;me"Z]11[P'S9(M  [a \` X"M pD&HdZC4!m(5 l h=k n h>b# (^YOh?4%YPh@$!T(hxl VQe^V;!c(89!n(Tap `vUbd#]ȵq eJ hA \G`!e(!^(g'5 gjVejl !m"(b7]CTdX[&[Ht!}ff]w!d"c(!d_d2^h}sKhtb9Ydbz~h(Fz!ag \Z!`!_b:!\wPo'/Yǁj$Ze[]%\\]&Ue_5qMof_)]aiHK_lki Rj(O+mOpZ Tjq(,^sy<0^s]UGiw.ikxl WT-(]/YG} *hGy Zc (VNc-"i0i_(qU(s\r(c]YxuǠCnS0vے(c!1g"(S(c@aڃyǯFeڇc]dc0cf0G|%CWuڍn]SS0F&a*(2]i(cl0(cڝ^5f%&f(_8V#:f4Yf(_v%<T9cT%:Z( YTMZhv(&] (LW([;Tfqd^2J!FZw(]i me[XyK'A$gʖ R`#JY(e nt?kmlM`iRJPU(OMSSe($)TU;('RXh(S5,X(x&-_ (a"g@ha !bua  Va b{Ybh{Ia Y1i(M3!m-h gvkH[yj%[Ef S_lt(bm({(\"Z [ifTAX%&aIF >k(hۈmhNF "czC #_Qby"^R3}fZ6Ba(acg(bz%AYb{n_a;C](b|Tad"nja(ae%HcshC Z)erZgF$l|)hDd=qb3`(FfTwM~Li(F!l(F$`%)#a%($`(hE$nf)ga e )hG'Y@(b4gև(ZW(|)n/(hH$U*ce.67fk/(c!\ =(_("Ms`!(cDke]i(c*!\Ac"nb(cG`bDyW"(FzX(]~i#|g\(Sbk"W\FL"Ycn6Z(Lo`B(]"\Xwa^ l)ei(ef8ei Wxe]fd<f>Ydj?mp_8Bq[_fDGq Rl'EaW(FHf U e`ZeX%;iFm i.FUXn _`E$xi_xm\ `](gj(]^YU(g_hP(Fl= jKڣFm!zU@کg Z{ڬ? \گbBeNFn&ZWFo'WXg"[Mm X\^(a~i"k Zc([(l)V>Ҕf| po3Җ[&7]җF ^n(( h"N a`(aJ dfQ(< SnTҜ7]"F fS(N(aҦaY#N hb(bgz# bkxjҫ#YnnPbHp\(Fhq`V(F;aW lH]`@oghd D\3DnUAXn֥<U&DuhBXDvv^5(hwW(hiD{h?lD}hw &hvӺT.{A $g(b} fb~mU`bb k‡$h$V(K]M  [ Z.bhbjbm]XS:f hs(F Zjb@[Uk^Rilzm  4d(c<_$ }juL2p% eQ(`gyXc !fTl:#f(w#[(` dcF!hVix"Pl}`] c#ll(kmD#![k(%#"U(`\chVF ]eӶٷ#]yybZx~_i8_hMX(Ftf_W_B YhUDX`F$a0(ea|:eSk?F(* eh!oAiejKLh][^g]{t\΀&!xm(e_#cB-`(<MOfHu]2=* p=.CRjE#Xaa k=5.^Hn'ab*m`FZ5E#]K\JL`(GYb(f XkJ#U=>L[r(h[eac\jRg#kC^(;kDXF(g%`XaEjg&_LmfLdO(z)ole| }Zo{;X(el{ j0p"MspZxa}^x|)?p'(b9%lubeW& VWb .U %EG[(SrLm(hTvPpM(+ WfheUTV.(h  cEh!UhX_([W*(F!YldH"`Ḵ\"Yp"F bo(`vYZu<"fw$2 gl(dI^dJU'5 hh@(`"`9J@[g$B jf(OMFWc; n`8(;Q"YdK< o_(`G p`([(^T$lg9^U#.X^V$mf@^X$pow %$qfo2'$sfu3($thw^Y$up*(L#8e*kk}^\F$yh0^]7#=V3ʆ^^${W9 ^(emv݃'0W[݅e,n6Pa$Yh݇ f( n(e[Y6XE fs(djf|UCݖc`ePݚLj6`EZ6b f(e9aX6ne_mYݮF\hVU(_A`_B[_Z7cp1Y[WJ(aFm nA_/T_ijg%<j(aW!P`ge%=o(aX}oV ]%@c>(Fy[%Be(<%Dc( U!%Ej(gOfg _nN g V g"`Uo @[(hk\FfXDaeXFafhFHMO`<(/RycuM m1Ga/(np:Fai"mCFb.laj&nGF[M^zŷiF#m}(F*`#cP(pjj6 SYV   SF,l#W(a cLM)k i!o fhFpm| 8Y}^zo$s$i(%_(^ 5mƆbua+Ew`/|NXƖbymP3F+g(brcc;ba}YKƧ7 \dم!W(^T/,F@dهrR*XKىaufً'"!\(Mf!h(^ b,َX( kCّy< cO/=FA kٖa ba٘{ c/Ea[ٜ^^+/M'NVL٨dNOTV iS@dP$i-KC W[^>3c9 qk5X}(O slbSxgx(6i u_dQV^j '-h(dRU xbr<p< yYP`7 pYHeg d^0(f8qoFh ee-(-\Tb^& gh(`8qV`9 tb9l& kn(>& nTZ(? VMx oS(`;vhFi) qW6(d* rS(pE]biEE& vU(=s wa(h{k f4k%he V( g( U('d?5G!IS?c(!Jda?b<o\T(M[([\ibCm)F!OnP?a^MmL7g{Fj$k ^n$dEadX$[(tP<f8jw$n&NoG('j(aXCX`=x[c(b@]W(apAcYbAfg\9%k9žg eRAg&sU MhH{TGuc(&^vk(alr¯glZL|Zµi"SMbC h(D_#Af(cGT`Y՛D`y()m(MGl(I_UUզ=cj(UcHd[(WcI{ UիM_(`i0juHmd(%T/(`Kb`nZ(ig2 LX,(iZ gZ ~ hi !k[y d V1 - e"d&+bd gl(w#j&+aXZch(M7 gd2`(Y(d_((h(^Ira8~]k8 S[^JtW8Ӛ$XWӟ$^8C_|" m1^{d8^$k8Hy]^%8_N$ \>8K(H^ (l"obG"hmfNu"`fOXe"mZA=7gw(fPv"T)fQw"SfR5l7R"pV&efS\%mL"c7fU[A,6 Xe8^fW\$^`< d!`= `e(a:1 i!j(`>oV_ S-J(eT(`Ad(`B$YY4;`C\@(Ec(M dta;uc X|cE$[SBOk(`ExnLQ(gk^(:^"(g] Ѡgj"Ѥ`p(hl/Ѭg#2Y!b&#j]ѯll (XH(![Y(#V)ѼgWmT[('k(L?b!zgn!|MS^(D[!}%j(an\ d0(* j(aI=VW>Za{ i(?g od(apZ aT! caRFnk"# f(`81X3b1'm:]U V]S ) U/(9Yc qTo_;/SD`0UO]XuX\C(\bSe|]ls vm;(9edt xb)(cK% \1x Iud |_(!jb1d4W|M+-nk1cLXk1cMee1a!j &{ `#(cN;kj1F6ro1Ec ^h9e@mWAL`qqk; _`G_$cll(Fj-a`luV~(lihp!Tg"_hZ_#pi>wi(x\(_ymi(FWkd'$\<(udUؑWVV$V(2Hg]^T$^ (MU`S17#m` a` lF l}2%(\ [͋`THa7͏4T(``Y͖$Nk͛6aV͞`# mz`dT/X(8$ eKͧ`h[aOXf`% XA95 lV`( S`) gkfXkfY PpHK0#/d(g0kZfZf Qm Fzg Rb#5\(_ ]lf[ Vc'f\4#:S,(^[]!df] [Yf^ \\B [|$[ b&eaV92m!$_,b(VX/iF'%=gT(Dt>[_(U%'?U(b*^+bH(Hm?f' KdMUb>!_(kT*lgQ!6^*٠hoۥM^ngR!7n*&{!l(!8n *!f:(&}![x(Fm(ac2(& V: 1 n Ucs_?dGl(d!ra a9 eb  Ucl(L`(lcU(c\b @T#EemF b+(]Cc)bbhik%P]-jd/SnkofF l( f (bQb%] Ibb] JW4c] Lig| MY*^,v4 `ɇ>_(VɊdTb-#P\ɚ"Vbɢb(dS#ma( Un^#n]:ɩ$\(ubi6nW@ a2 lo_$_$dVpY(Hso%bItZ(_ ) EjT-M+uk,-Gs>[.f"LnK<f| d?f} SC\8 _B(f$WSx!o]Py| gXbXYfigWT ekMl j!(f1mk~ \9(B n(`" kn`Ic(Z[^t#`^o#1`MJ-`bcC#`@lU#L#l"#`![#h4"oDh5 "bDf1"S5h V(Fn2h6jbkh7"^(Dh8+nEh9SE v k(H"[py df(_ n(xn4n#oV(qX(b-7Rk:b.e ;Ec QTP=b/leBw$ES~EEr`c(b0$GXRL{$IVS'khMXseV(QY oQ%\] (.$Yų]'c %bS(]yh [%gcv(].Xo ]1l6 %hS(K'%kVD('%lf4(cAkO XgRc&gC `%*d]`',cM`q*\=(c%^e_`umJ׀k`oK0[+_js kR_kv deW]aXx\aD7#b(B#U(D'K#hw(_o$WwbT8b4SdiJ\$Bk(Y2Fc0(GX(a2lVdml,dqPkd ]M$Sm dXUc[`E#oU@hVAfh0"e(` V=`h W=`|"l(   f_3>"bs(`OX =`PX=`QX=-"\(_nM { dav$:W gZ$2Z Լ $3a f!ASYcn$bqfj] e [t(aQmshO6%pTMf a (4r X" Si(#s ^E Tp`^&bs XN Ya\F3`W]=?/V(F4kEF5@3W(aps\aUh<\_'2\ if% i3HY-([gPc~' V  ' h$cP7^^YEXg(6k}]U(V(P_(pe_p(C jX;wSG(@ Wtc: Xdw:](ap.]!i|g!o7a!_9plD_w]$ZpjtmEcB]9(Ma!Vs]"f%("`] zdE&/j(Ek0CV6et< \66eu([ev7S6A8n}626%`m5ew8%a`Z6ex%cR6aGwcDE U*Jl\6eysk6ez:d7Meo(_p kEl_qda`  ks&~Km_ T1(fX_sM_{_QT݂MR(&TbRuU]Nj(g T_iHg pR(gj/g!p gt^g`]f mb!Z1S1(gXM,_k  OpU(q#Vm F%$eeg")ieIV7Ro6+."iW77 T_G4a#c aX(MYZjN0"n\a]ZGQeX@(aP"pSGZf\(FghU(LSu(MT(F9Na(Oon(hkAK`a6akhimhHXrh(.T_(ho I4cNh- T*w'X_(h(Yi(L* h)]](hlƆ(/^bY(h^Ƈw6 ] jXP(1& cchE Vno=] k !`J#:?j buTASw^(bvUBS2LZlb*NkQYDjf_(i M\k(F_4|]/^Fb~/a:ja~k(a!VjGF`j(Y'oL(^ImFaS/^JM!4U5/^Gi^LYd(c m(2$#ac,jּ*WE $f(Un '`(cQgcc _T5_kMn \'t!U_c`.6d_TNl!MPoQ_a^lc+k(_%i^_DS$%j&_NUd'fmjvn,_VTjZ0o(1W(e}#V&e~Z@.epo!@0EhX0WM@:l3e6h@B`~h@GEd@Jeg@LeUa@MekL@Pe[@Se|z 0W3g(aTmLyaU9Z|aWVaXp(Aw zh2be#x_>aYo@gr(_'#}Y"\Fh^MF[|aZBY(CiL(E[C(.j,i/e`3iQ]T$Z(glj$$\t(gkg5dI `:lq$ih(Q7bIR Tevg%l 67 X;g9hyMv@[gLY}FGab `h(b+b>( ^(g(&W(iKHlf!esbo(Qd^H_7 h^ϔ&\f#:/#QV-(fåUm/2#Viv(h\.ϵh3#hϷM1#TϾ`oz;4T4hSEh6^4"gZ=_y !_+> LVn|(@ j!d=e+d>= g[[m(d?? f\V(]b(gtTA8d@NlX+YaW(dAvidBE `m "X9fZf9 ^M: `9"^NZ3lo=Y!e9(m[!U(a.{RK^OS]9;^P "T7R^a ceUY](MZ e%^S""l(`#n)&% V.ek6*Qh2`k=6`#`S9 Lkm(e:admkp(an ^_U jJ_= m_V lz_W cY$? ]z_ #X (,B [!_x!V6X[ ;_m@.& M_Gao XLz +n(_] n*_ p/Pv(8Z(wM:h(gvO;iR(gxZ"{`" S>d(@e(JZEY/(WM{F[L(M|HS(gyf"h"!g{iV"&a[_IȖa( p (a\9\Ȣa]S ȥa^a8Ȭa-mB1#UWȶa_\(2n ](q W(a @\ekc7yj c(99Ib@3 m (a >ZE o (( X!%U4#a (S*,6 Xc(| U((D W(b_) [2I8cx29 n,2p([Ą U7FLl(bjS2'>bCX4A_ g(?Uz(FM[XEbZo26b>g28aR?WLbu lW2=FNlau|. fi`9 j(^ e^(_Yxk^YooVm^ bhZphz S_(/= e#(MM e(td7{\vZ^wn3k e19o0VdC]`t#ZXP\Y]S(k]a\(dDc9m(-&L[kdEXn Ea5rdGdx `a|Mvy!S h*(Fq"^:`+S U1f4,"eV;-"gl7ВbYy`,?UY>F%f~(`-fAaJmi%Sq(`.ZNN`/ ZaF`0K"kWR_%l(`1D"dTFL"lXjUJZVfM%Y#(`28gkL"mc5^`3N"oSd%ok(eS#X>bNY(bO2gNE$h-zT$b]Rlj(e$oE$d (w!bc=he(U(>ej,!]Gf_(X$ be[cm]/(e$ kG$'YsM Vza1dF8Kh#X(a6i*g(4hD af1aOT a2e5+#j(a3cyL?P _Ya\a7ia9b"F!QZH+eCig}0Z+g) WHg~1gB+dt:+X b7Z](g9fM+dpz;/XMbMS4gxaR+ '^m(gi+!ۦiW+*g_('3c_(F:eY('4gd(a"-X(Jq_2qc;Urc=rTs{f w1 kgyc?$l_O>"3T(T?`X"5p(c@yb$e*$v]jA"7Z(cAD"8\ (i Mn7bST\g)gbbWf_m_hbZ\*n^VvNYm(i Ug i V`6bl_`_[rU ^f(6 f(do% Uwt U(\W!#f#' [n(nd&eK ^(L&n2d`X4Vpa[d(i8#[DZ'(^fS^'^T`w 1ixFmB(Go(^ #W~2&_:^TU^*i^-XS^#h3En^g`z S\Pp<(FqM"n: S)b_hl(fB^gp#%p7pcH(Of(gnz v^;(fC=2g#fD ddfEb(B +b`5 T$- Ve(`aHi\}KE [BO`e$4n YW$6`.!i$9qs% (YZ(Lb(E> i=$BLc(`6]n(`G ie]bd({[(gD [VEsoE8#jEg:bqEsv'<xp??ep(W$/kVZu:hkx(kjw(5!drf(V=(<f(o_(`$;`tPSjvz`^f8]q fV9 Ra(]\T "># io #a(]S(dU(FW 9ug;` e 9DMen(]W.(M-Y Cc.(a cd<$YDd8kXga U!n&X|Y(cB"o)MiaS(.ne(ma(>j_ +ao_(_ gq^3(hS._"VZ'vg(_GkazW(b|WD(_0h"dkvC]^(u]'S+|\-p( [`(~"]%VCd2j(( V!(M&iv(]Ab`ah4as(dk(a^A^W>D`q qn>ooh(EZ>sE f.[z(_g2$.n-(Eu wl>w z[5>`l>+!(\-B`x }W>a>W(E! o9>oh>W(U\fF~b^dl^fHkM_a_|bfI=]fJTg} G\N(fLjb"Ni8b>^U(e#hm($"S^i>b+0X?aS65^o:/ `>b!Hj(ggT i(FI#lDg#Z#ov";S("<[?g#\b\C#oa#] V(cU")mckyYzYgc}Zg5T,RWql<( b(] ]]lb]p#]1\`ohldn.-a1]I% b(]^<7]6U ]'!yhT9F-f7d.UG7d/d27d @a>F{W~7d|]@S!f7 ' jD~")_(o79Fg7#:._(bAOd6[P( ZLTL1V(bPXd>Pb67!Y7B#fb(#ga(_ed:CZXdbe-dQ_^#ih(bJb-azF= :itFiMIi#h_e`oe)o_K]Q _ag!Lha#_2GaT% !YwfmyhqSrWU(a[QC]ZIUvb (an{m=bcldJgcfs}^7Yxo(^ d@f{k(^8!dofzoH4'!d;(` ZmG !p(`)#hY !T0(!oj(,!o(ԺTGF!VA(hLG&!UI(1!Ta(fhnhzY!jC(`!Z{L![F(V(ga$[ Jڮ&K%nTNFT$mkS%qmy%rh([m(a=(h'I%sm%t^K%u^L%vWh(M%wo!)%zk )h) js*L%{e+L%|V,U=(b"%ZbIdy#B%a(2yl kOGs _Bb#\ eoaH% WNfu g!Fb$J[ibK%SJgRlLLM HhI(b+ Im|(N| Sv]]o#0c^^0d Xoo(]I!.b0iZ^(~L!3\0{ۘ#pl]Mn_b(MxdfZ0E g9c!VL` lV¨ b}Rc _UZ!]eMW%(@Mqec(che(bXj`# c(d+fn_]kS(6 W(_^loS) ib(8 o(x Z]( k(uz VY(__q[/?o"Yr( U(_a`d mgydn`@EV@$Y!(MATedKv`@dw]c)n(`wm*^UHa[cS;`ohFqo2jU l' $h(sV!`a)? &lf(`$ U- (c(`w\0`(Y$1Lze6`,]@ciCWp;cF(r@m(fYb^t`(Emn(0TpuUT(\0(fa]^ULq'bS~L3Y+W(EbTn^J%h(2K%_(bf! ]f+)_O"frA5BXBaM%b(=pZU/%S(h,j]Fh-]J+'] h(h.uZ> i(a% ojz#i@Vh/3^ h0L]ch2pU da(iioGc\(q"9XGE":_^Qw"=d5Vfg_#b((jmr]d"?eaW"@h`bc,kfgM["AbiQY#oH(aZsY(a[wmߋ|&NZAߏ#l9]%^ߔa\Vߖ&~pS(I^ߜd(g(&M$#e߯,az('W("De(`"Ei(eh0TF/"HTJ(`Mwmjl6xb0c a{pA Vk`a_c\[F- mSPT`(_dAXI_ep"f-T&or( lUn_EX`[(_fpe+Ym(S]h&(&^_(t,ZK()_X(*ed(_g1wo_h2xc_iwcZ+x[fm b "fn f "E U(`e ck(f%b"fy T "`o[j [8(gzk7"E WLvMM;{cy`_(8 aa(CLlZ3_dX(h2e=!3b`cG#lk'cg^D(*f_JM&3hU[(_$_~#ja](`n:ScZh[%~\0%W1h[a2f0W (h]X9uj5j( e?xz!i6ye)[{8a(hI!d*Uhc%j{\%o?`(bh mt2E6#?oۄbi0#o2bjU2HY (Je(bk?l`ۉ^q!@^uیbl+oeێbmoېbnCb2bo^2 m{ە̭o#n2]r2Fj X2Pk_۠ k"ۢ^w9 `۫cۯ"n (bp \2 V(S^6r"WPF%Jh^7%KU%%Li(%PjU^8%Ql' `1,at\(3$%TW^9%UT7(a+(M %Vk8^;%Zp>> ](F2ezc,#XJ`!Ra mibCdk(c Sn koV|(bD$iW(Z Sc"~gc"n_kF24m(5j(L-&1 gS:_+Ee\_# m?a`h5@_W`d\"T{u;(X (ʹ bzei`T4ej ]&! fpcZIenoOeoelXeIjaǎ@R[f'dKbFTwFPhRkgaHA_VkݔZo4lS\2"gnSUkpaIHTsaJUXe(aKETTuaHeygjzaMi(aN[nb[$(gk_g^jhg#k+ek(jnng+U+-ޫ6 ifXvJX+g-dyg*W+Bq sS7|0W)(gR1[+g W3j+g X4b+Fs GdbHIiu'kg(g<Ek+VSd=bqi@W&YVzbe$^  \nR(hohAgS%Qh_NCahgXi4) `_(ho3; ^PFTU4Y^(d59mPZc(d6 A^hF Bo^=^Zn(d7 DUyȳfPhQ#e_W' dhN(Mb HXvbS Y_^<hjNY m(^>I^*^?cTo]^AY`E[aSCb m(a* Slj^BoWs^CZ bZ(^Dvm^EdVTl"^Ne]#XR4AfbSe+Y;T0("!nUe ocW(ZZe""`}c8(em^'"#c_"$d4܄e$V܊.&gl܌hp, t]qhqgw' ocӛ_P NghӢ1&`ӣIB4mJӦ%1p;(#d Ӫ_NWmӫMlOOb$:#f$S%6c(_ P^1$#j#ӳq%9YC(F%:e(_ TY$ d~$FGTrY YsghJhgiNT?gjOeBgkN^yF=tmqFAQWwFFI_k(gmT\XFSgn}[FUkrFVaOi#c(T aP U+Mfm#h(| SaSmUas#X^(a"`L#d&(gd U(H V}MJn#bw(a<#](ze(^(en9(WX h M[ gT(E8Uf ^(h!d hygoT(i&l i WSh iXcWG aQbMb]T%!U(!\Q(bSj\b$hnjBcbbk( o6!Yj( n ^V>lm^"^Nՠ^g?\5ա`%+YըE](^$cլ^w" nYխ^h@h7կF^Y(S_h(#fNհkC`gg("]ջ"gսL$G]`nc_d;(|CUϒSbϓe2`(UϖNG\ϝe WFϨ bX(#o[jϵҶ<%(e galV8I%*Zje4ҿ?%,gfM`ucz(l&%.hbY- pEEl`$T?0`%%0k?6G%3[{R%5lS`&U%7nx?DM'nD?Fe !le_(^MT&v3l2f(F;a(eF9 h|'U%dGL %c:o,(a eEk `+(GP k(bT#duZ0|a%`a TmUa(Ufa)c^  g("U `-(5#;f}ˆgo)kP^G"ggpr nVc[7gq& g-RF\U<'9](]= V?`Kdeu>]}(gsy cxv?Vw(* 7Um(.]oΝc- X]Ωc.<X<Ϊ1T2[ε3eζc/4TθG| <d^(wtF_uc06]6οc2Ztb9 lk]\lijTmiYtiғ'J#`kw'B$[#xi9] b:ma˄q`(iYd{"e˓i<Z%dd87] c(doޛgk!`ޜd#pޠ: W(g caޣ V@( Ws(gnާ;mް a(h c(L7X8Vd"U8Y b(|U$p3^)d(X t$De^"Sީ^[޳K*e(Nda#^"$*^޻f4^f64khX `M$ c($ i(f7V]a \~ $&njY$jQ(Z[$^(f8:jf9p )VEFe(g%$pFe\`%l2x0l`'2kfvPib`(`(`)E a`*:[b;T;esc .}vfǪgv"] Ǯg c2" T3ǺAH%4[g"_&MA7"SpF"bT(bz_*gO{]M2|SI}_yljam\Ǎ ]7Ǐa3dkǓa#p8ao(xd'y#TqǘFXEǞgaH8TǧaI#Zj  ^6(9v#[_g#bcݠhǹFn1FY?ǼFm#`5af"a ](#a \(a g%A L#a o(F/ dkڭ ep(E_"^1]N,aM1cV_/S1*;'$oRc53 bc6%Nac7V\` X`b0(m$0]^c8_~&X(M1\uc:%Ymj'HmS(c<_?n]Jkbj_n_1Tbg \Db_]$So?ha$MTPzb(`{n(dbA~&qbd}b(~l (jcAYnI(`e( rfB`Sc(aySiS(Ud(XN(` TY(`cX(`na&cs(a" [Nóg$!e]øb(](iT ^_f=CaQ (f>&<]%a< eA.h(/W(1k*(f?2l(Mj3g(d(\cf@T l{ @5T9(Ii7'fe.@SU֊bV*0j@j(b% i*6V*7b%]*<L97Im֭gbF! VDY(Fd@(]!/dgf1je/nD lJk jaI& ogW ng"faJg(Y(L`i(c Kci.VaT(c\T cdp(-c^YEHm(&g]&T:H!f(a ](] Y:MaU,(] a:^G X#](yf:_SX(]M V]|bO:h}k(]fdZ(]/\:ldea<`mF;v,idtnLdtl=iGBc tX(_gV_Z]#( vb(8 |i(a\hRTT]M, ~b(MbWE_Kh * p(C^ұexn!ZPҾ;P8"0lEZ" e]Wo\H#Mv(1$P[E&#<c/fnl;#S` ,Xm`h"= ^(at[>uW`L`^ k(`#dC`"f _ e(F \(IM ^(L  oB(`$_`&kqNծ#eXOm^#,e>Y(&kT[(h!>e&ld.(. UE](F Uo &Xeh"YWBFW-YSbnW3f_/G"Rb{X[3xL%XUg(M[e3Fi3]N U^j(C__3(aVT#G`g(w !_'$bjO(Ieh(]!`T]!hh]$fUF.iY,( h;>L k>MVA#qd *#m(cs sUbfH iS #sgF u^ec xe]-#j1(#oW(fk!#{VMF"#j|m$?d΋_MY(ab_N"cΐ_O8SW( YpΟ'Z+(c΢Y-aΦZQ!KkkXf( i,([n> Zr(FF1m_Q^](]j(ҷ=%)]\Z(=Ig,#bS$AT%/d(KKmH|YJ~edO%2iF]bhB4dwS`j#MX֗6g_#kb"Vr(g(+a{܍WY)-[`cA%n((i(fV"S׼F [X׿f !c@,G^e'>!%jIU&:p (Wl='r ^^f#em,T?^ }^(b)"c+@#zn@{ b(F!Ufk,dfk],eDc6!\'Mr l( h(MUh,re|mn.b]jk_Ab^ C`p$(SLWMH]*MViQ([G(a(Q<yj ^(ۋ(@ fk&m'7`(v'[fa)h#,^},i3( _K(Yk8 d( c%( V$5`&]<h$eDh%WeG$\UZ ](capV\-$nʑbY [ʙcgj`F7fWʝ8$ag_=$oOʪF;]`lb{ f(dG ^(c aCʶ; `ʸ]N[( !pd!'Pl(MGQdi(t{( X%]s bF TG Sf] G\%XSi('TW2('H \7+V_(YWVx(_7fS<,z$H^>~[S( g)` Ob(eUbXeV"^jeW#Xh5 ]PeX'$oPeYfoM? oeZV bI f T~": UY(e[,V#Fll$A$^\ e\Y)apMwcT1e^o(@hy\_R{ 1b\_S!Uu%}E"S%~_T l%_U" hg%_Vc%m l_X%_Wy p_!%_X S_Z{ uZC%i he(f^ai X(2 V(fmxX]Uz~[z`k]fGZF];ajf`Y `l* 8c% Sr(as!Z ` Cg@<h('>d(h;Wp"$TQ% AZ(& B\('Cc(`k-YED]g(*ǿJi2jū^G6=Jl(ggƷL kƽhz]aph{&oƿh|`rh}b;gU0,lVP$%o(E$(_r(aM$)VQ(c&$+UX(h>[X`'i_AXb`b([Qback'Yd_f|mm'`R!\)L]8v^%(bc kmF xg(bdf^* S@^+ iD ]EW nXL&#0S^- mY^. \_z"rn(^/h>i TXM >as^0 j{a U#d<(4JFac',Zcy" gz[(9ooc,T(`r^c Ss(LL"^(cw\/_m?x!bU?>(!aE_c?'P%hd| fq(,Q%^?a"R%] } o(-U7T%a `Y B%\e7!o _!V?e`Y=ear !d:#[i;FZs "SebH kb>'#\i]*_9#S4ef+ $ZUH #_lN68l(Y9KfYTa S@Bhj(-aeia(|H6"/fa5Ya6$d][a7 S UR Cbha8fa9Va:Yv?j+(f\jBܭn]>fVC@nDf3"[8&of_^ MK"UMfaNETm(VadTfbS"f"kZ,f(MY(f-U(bn$h#a#C`weKVLAVMUV# 9#^bCZYboDZYMZg (bk?i['|ujckDG\(|&#1i{@\';rm*T \[~wdVqh4LW(y_h}Ush|Wo7}gLd~ g\ho-h ycUha(d*gd+n5o+M'i[U1(F?_q8d,U\8D^\( a+gPd/_)8F ]W-G` p]T3m^1dA6U _f9^2%`ke;ubel F)cg"7c(m>(bR^*bg([fz(]vO&%-W)o$aT' ]`]R$j\b rc=T](b  aL f_(f(gu(YT_g,O'b4(_ kfmU l[FQ(S(+\EV_j3Wbm^X_S,["(_^ kV-b:(%S&^Z1f(&[2j%(\4ny(~(l+h(phu_ qU"d[(kWLUaX(Wl(c^(g[&, <\Kb>SZgPdg(g\UW;Ue `(g]!c?["g Xcg^[_h[ļM>\c$j&d( H'Z(m)`(Fn*_9( d+(a< Laa= Mf>Y6a??ga@v!~c Uv(aAD[`3c? _(aB Qcr SX [(M V(aD  YZF`"CRhh1hl@fh"#^$1brW\h #o1bsp(An({dhiw1hTR1hn 1hfaH1MFG_1h_f"h#h 1%BU  x.!q u( EQ(! Z E7X0e>(7I!?mG֛#Z&$qޔ+'' %,"<p"%P%Z )Aq %- 1"$b& uPH\٠ҟ 9 %<. %F' O>S$) @1_&( ".ݡ) m"+6[ݱ!p'@28;1("! C#%ot(72D( {&YG&6+E'hՏ't?'=ǘ o* #'jC## .I  *H#`*)O=-#+F#Q]w2O#DN! t%d1!K mL;b>V;& m(&! " `e%X(tI(`)1A`jN+*'LuR##Qk!@ +&;"ݪGf@fPv9L  /2L( Tu+C('!$W#* Q)1 "#;(>)NpׁA vY9  2g2h`+- )% *2}3!6>1$#A t L#q:y'`3#. g,~Q"!4%#we VmiK**)j7 l iBK# %e;)hʔ)4@"ì-,%&[  # { %p 'sg B U"\;(#)e84%U}V\O- t#& a3 o$' |.`iCs 0 ](0 (1!E!"Dw"g} nb+ Dp t#@=$7#6$o%Sp/p[(&e!'Uc>$\Q E L>[!H7z!! 0M ; "O)m 1& " N" xKr*\xFb !Ո ? !:&΂8&Z*4Ǒ20Z*O*4)=# %#6 rPH4FRQ- ? w !8c8&q19!ux*C~)'fT3ѽ-'n$*^(G!= ksk 0&N )B U0!>97 /֟| =K0#*E$3$!; /(b90 F*3(%]CG(#K5& D& # `)G"w&r#%&b!w-b ]'._B%*B ]Jww%,' ]+6B%Św']w^B%g VCHU 5)K+! axI9U: Mi ,r! 'ӫ/v/7YWYWXYWYWYSYWYWY[YWYWYYWYXYW-+-YW/,YWYWY[YW/0pYWYWXYWYXYWY}XYWYWYYWYWYDYW,.YWYWY[YWYWYYWYWXYWYWYYW+;+YWY YgYWYWYYW-+YWYWYYWYWXYWX0=YWYWY-YWXYYW+B+YW0x,YWYWYGYWYXYWYWYYWYWYDYWYWXYW/,GYWYWXYWYWYYWYWY9YWYYYWYWXYWYYYWYWXYW,-YWYWYbYWX/]YWXYYWX0 YWYWYYWYYYWYWXYWYWYYWY YYWY-YYWYXYWXYkYWYWYYW//YWYWYSYWYWXYW,f-@YWYWY6YWYWXYWYWY[YWY@Y9YWYWYYWYdXYWYWYYWYWYsYWYWYYWYWXYWYWY6YWYWY[YWYWXYW0,YWYsYYWYXYW/0~YW-E/cYWYWXYWY:YYW/,YWYWYYWYWXYWXYYW./vYWYWXYWYWXYWY&YYWYWYSYWYWXYW/o+YW+,8YWYbXYWYWY-YW+y0KYWYWYvYWYWXYW,r,YWYWXYWYY}YWYXYWY.%YW-/YWXYlYW/0 YWYYAYW./!YWYWYbYW-j-YWYWY0YW/.@YW,R,YW//YW/..YW.r+YWXYZYWYWXYWYWYeYW+M/YWYWYzYWYWXYW/f+YWYWYYWYQY\YWYWXYWYWYYWYWXYWYTY~YWYWXYW.B+TYWYWXYWYJXYWYWY0YWYWY,YWXXYWYWYDYWYH/YWYWYYW.0SYWYWXYWYWYYWY*+YWYWYYWYWYYW..YWYWXYWXYYWYWYYW.s,YWYWYYWYWYYW/+YWY'YYWY YYWYWYzYWYzYYWYqYiYWYWYYWYWXYWYWXYWYWY@YWYWY5YWYWXYWYWXYWY XYWYWXYWYWY[YW,-yYWXY_YW/.YWYWYYWYWYYWYWY^YWYWYYWXY`YWYWXYWY YYW+.nYW,.)YW+e/"YW,k.YW-/YWYWXYW-,FYWXYYW..VYWYWXYW+Q,YWYWXYWYWYkYW.B.YWXYCYWX-?YWYWXYW.>.wYWYWYJYWYWXYW+-08YWYhXYWYWYeYWY XYWYWYYW-,YW0~.YWYYYWYWY[YWYWYYWYWY-YW-.0YWXYYW,o+?YWYWXYWYJXYWYWYsYWYWYbYW+Y-YWYYYWYWXYWYWYYWYWYYW+;,YWYWYYWYWXYWYWXYWYWYYWYSXYW0q+YWYWXYWYxYYW-,9YW.-YWYWYYWYWXYWYWY&YW-.YWXXYWYWXYW0/YWY-XYWXYYW+.YW/0 YW.-NYWYWYYWYWY[YWYWYeYWYXYWYWXYWYYSYWYWYzYWYY=YW/,oYWYWYzYWYWYvYWY'YNYWYWY}YW,-:YW-.9YWYWYeYWYWYSYW+Z0>YWYWYYWYWYYWYWYYWYWXYWYWY3YWYWY3YWYWYYWYhXYWYWYYW.V+dYWYWYYWY$YwYWYWYzYW/+3YWYWXYWYWYDYW/0rYWYWYYWYXYWYWXYWY?YYWYWY3YWYA-YWYWXYW.~/YWYWXYWYWXYWYsXYWYCYYW++~YWY YYWY]./YWYkXYWYYYW+7/YW04.YWYXYW+,/YWYWXYW+.YW,+YWYbXYWYYeYW-?.YW-,YW0 0qYWXYyYWYWXYWXYYWY YhYW/0~YW,/|YWYWXYW0~/YWYWYzYWY$YYWYWXYWXYYWYWXYW/;,YWY XYWYWXYW-/YWYWYGYWYYYW0}0YWYWXYWYWYIYWXXYWYWY)YWYWXYW/],YWY-YYWY YYWYWY=YW,0lYWYWYYWYWXYWYWXYWYWXYWYWYYWYWYYW-,YWYWXYWYWYYWYWXYWYWYJYWYWYeYWYWXYWXYbYWYWXYWYWYYW.u.:YWYWY}YWYWYYW-Q/YWXYPYW0(.uYWYWXYWYTYAYWYWYDYW0$/#YWYWY)YW,- YWYWXYW/,YWY YYWYWYYWYWYbYW0{+YWYY,YWYWXYWXYYWYWYYWYWXYWYWY}YWYbXYWYWXYW+c-YWYWYYWYWY"YWXYmYWYWXYWYWYeYW,-YW.,YW-.~YWYWY^YWYWXYWYWYJYWY^YYW+Y,YWYWYSYWYWYGYWYWXYW0J/vYWYWXYWYWY3YW-0TYW/,%YWYWYzYW0 0YW+,xYWYWYYWYWY[YWY=Y2YWYWYYW-/YWYWYkYWYWXYW,,=YWYWXYWYWXYWYWYzYWYWY0YW0+YWYWXYWYWYGYWY~XYW,i-YWYYYWYWXYWYWXYWY0 YW.-YW,r,YW+2+YWYY2YWYWYDYW/u,YWYWYYW0q+YWYWYYW-/~YW.t+YWYWXYWYWXYWYWXYWYWYMYWYWY[YW,-gYWYWY-YWXY=YW.a-[YWYWYbYWYWXYWYWYkYWYWXYWXYYWYWYbYW,/YWYWYYWYWYDYW/.`YWYWXYWYWY-YWYWYYWYWXYW+,YWXYYWYWY&YW,V,aYWYWXYWXYYWYWY6YWYWXYWYWYzYWXYYWY YPYWYWYYWYWXYWYWY&YWYWXYWYWYYWYWY}YW-,YW//TYW.U/YWYWY)YWYWYYW,3+3YWYWYrYW+,YWYWYYW+-YW/ -YW.+YW/^/YWYWYsYW-F-YWYWYYW/2+oYWYWXYW,-yYWY)YYWYWYYWYWXYWYWYzYWYWYSYWYWYbYWXYRYWYkXYWXY0YWXXYWYWYYW./PYWYWYYWY XYWYWYYWYWYsYWYWYYWYWXYW+.YWY"YYWYWXYWYWXYWYWYYWYWY}YWYWYYW/0YWYWXYWYWXYW0S+YW/,YWYWYYWYWY9YWYYzYWYWYYWYWYnYWYWYYWYWY=YWY-YWYWYJYWYYYWYWYsYWYWXYWYWYYWYWXYWYWY[YWYWYYWYWYYW/0~YWXY}YWYWYkYW-/GYW,Z.YWYWYYWXXYWYXYWYWYeYWY[Y2YWYWY3YW/,YW+-YWYWYYWYWYDYWXXYWYWYYWYWYYWY XYWXY-YWYXYWYWY,YWXY6YWYWYYWYWY=YWYWXYWYbY-YWYDXYW++YWYWY[YWYWYYWYWY}YWYWYzYW/,YWYWYkYWXYYWXYYWYWXYW./mYW0X.YW--YWY YYWXYfYWYWYYWYWYYW--yYWYWYsYWXYYW/e+CYWYWXYWYWY&YWYWYbYW0x-(YWYWXYWXY1YWYWXYWYWYDYWYWYDYWYWYYW0// YWY*/YW,.vYWYWYzYWYWYSYWXY%YWXYYWYWYJYWYWY6YWYWY&YWYWYYWYWY}YWYWYYWYWYYW,j.VYWYWY&YWXYYWYWXYW,E-mYWYWXYW.+CYW.+-\YWYRY YWYWYYWYWY[YWYWXYWYWY-YWY YPYWYWXYWYYYWYWXYWY,;YW-/YWYWXYWYWXYWYWXYWYWYkYWYWXYWYWXYWYWYbYWYWXYWYWYYW-.YWY YYWXXYW,/YWYWY[YWXYDYWY*/7YW,0+VYWYWYYW/n0SYWYWXYW0o+YWYWYYWYWXYWYYYWYWYDYWYWYYWYDYYWXY&YWYWXYWYWXYW/.YW/10 YW/.6YWY)XYWYWXYWXY9YWYWY2YWYWXYWYWYYW-+xYWY YYWYDY6YWYWY&YWYWYYW..YW+:-:YWXYYWYWXYWYY]YW/,YW+/YWYWXYWYWYYWYWXYWY0XYWYWXYW-h0YWYWYYWXY<YWY YhYWYWYzYWYDY&YWYWY"YW--qYW-.YWYWXYW,,YWYXYWYWXYWY YYWYWXYW//YW/.YWY XYWYYYWYWYYWYWXYWYWYYWYWYYWYWY^YWYWXYWYWYYWYWYzYWYWYDYWYWY&YWXXYWYWYYW.r0?YW+/YWYWXYWYWY}YWYWXYWYWYYWYWYYWXXYW.s,YWYWYYWYWYYW-F+CYWYWYYWYWXYWYWYbYWYWYYWYWYgYWYWYeYW,.hYWYWXYWYWYMYW.,YW0R.YWY9Y2YW-:-"YWYWXYWYWYbYWYWYYWYWYbYWYWYSYWYWYYWYWYbYWYWXYWY&YYW,.-YW.,YW-0qYWYYYW+,YWYWXYW+f-IYWYWXYWY YYWYWYYWYWYYWYWYDYWYY3YWYWXYWYWY3YWYWY2YW+0XYW./YWY YYWYY7YWYWYzYWYWXYWXY=YWYWXYW-0aYWYbXYW/0 YWYWXYWYWYYWYWXYWYWYYWXY9YWYWXYWYWY[YW,/YWYWXYWYWXYWYWYYWXXYWYWY0YWYWXYWYWYCYWYY!YWY)YVYWY YYWYWYYWXXYWY XYW/1/YWYWYYW,.YWXYYWYWY@YWYWYSYW,0rYWY Y-YWYWXYW0/+7YWYWYYWYWXYWYWY6YW,H,YWY YYWXXYW-09YWYWYYWYWXYWY XYWYWXYWYWXYWYWYYWX/YWYWXYWYWY[YWYWYIYWY XYW//'YWYWXYW.0YWYWXYWYWYYWYYbYW+,YWYWY[YWXYsYW,-ZYWYWYjYW+.YWYWYMYWYWYhYW,-.YWXXYWYWXYW,-YWYWYYWYWXYWXXYWYWXYWYWYYWYWY^YW,/YWYWYGYW.i0RYW+x+YWY YPYWYWYYWYWXYWYWXYWYWY[YWYWYYW.j.!YW/;,YWYWYbYW+,XYWYY3YWYWXYWYWXYWYWXYWYWY@YW+m+YWYY)YW.,YWY XYWYWYkYWYWYkYWYWYrYWYWYzYWYWY-YW.+jYWYWXYW+P.uYW-.YWXYzYWYWY-YW/,YWYXYWYWYJYWYWY-YWYWY=YW,.YWYWXYWYWYYWXXYWYWXYW,0JYWYWYYWYWXYWY+2YWYWXYWYWXYWYWXYW+--YWYWY}YWYWXYWYuY`YWYWXYWYWY-YWYWYSYW/+PYWYWYYW0T//YWYYGYWYWYYWXY;YW,,nYWY XYWYWY]YWYDXYWYWY@YW/!0YWYWXYWYWYYWYWYYWYWY=YW.~.YWYWXYWYWYYWYWYYW/+EYWXYYWYWYYWXY?YWYWY3YWXYYWYWXYWYWY<YWY YYWYWY}YWYWYvYWYWXYWYWYYWYWXYWYWY&YWYWY,YWYWY3YWY}YGYWYWYvYWYH+YYWYWY3YWYWXYWYWXYWXYSYWYWXYWYWXYWYWYYW-:-YWYWYbYW0 /YWYWYYW.n-YWYYXYWYWYYWYDXYW0J-YWYWY&YWYWXYWX+YWY@Y9YWYWYYWYWXYWYWXYWYWXYWYWXYWYWXYW+S0YWYWXYW/0>YWXYGYW./YW./cYW-,=YWYXYW/-4YW,j-YWXYDYW//YW.n/'YW.,YW,-YWYWY=YWYWXYW./YWYWYGYWYWYYWY XYWYWYDYWYWY[YW0,YWY?YYYW+T-YWYWYYW/.iYWYWYYW0=.YW0(+YWYWYYWY .YW+;.`YWYWXYW/'/2YWYWYYWYWYYWYWYYWYWXYWYWXYWYWYYW,+dYWYWYYWYWXYWXXYWYWXYWY XYWYWYYW0(,YWY XYWYWYYW//YWYWY6YWYWYYWXXYW,Z/YWYWYxYWYWXYWYWXYW.0YW+0 YWYWYYWYWYYWYWYYWYKXYWXYYWYWXYWXY6YWYWYDYWYWXYWYWYYWYWY=YWYWYYWYWXYWYWXYW-.YW+.YWYY3YW./YWY"YYWY YYW,X.rYWYY}YWYWYYWYWXYWYWYvYWYWXYWYWYYWY=XYWYWYYWYWYJYW./^YWY YYWYWXYWYYbYWYWYYWYWYYWYWYSYW/,YWYWXYW.0,GYWYWYIYWXXYWYWYbYWYWXYWXXYWX,;YWY YhYWYWY=YWYWXYWYWYDYWXY+YWYSYYWYWYeYWYWYYWYWYYWYYYWYWXYWYWYsYWYWXYWYWXYW,-YWYWXYW/0(YWYWY}YW.-YWYWXYWYWXYWYWY-YW//YWXXYWYZYYWYWYzYWYWYYWYWY[YWY YYWYWY3YWYXYWYWXYW+-YWYWY YWYWYJYWYWXYWYWYSYWYWYJYWYWYYWYWYzYW,+TYWYWY3YWY XYWYWYeYW,+mYW,=/<YW.-YWYWXYW..pYWYWYkYWYWYeYWYWXYWYWXYWYYYWYWYYWYWY[YWYeY0YW0S/YWXYYW0-YWYWYYWY6YYWYcYlYWYWYzYWYWYzYWYYYWYWYbYWYWXYW//YWYXYWXXYWYWXYWYWYeYWYWYYWYWYYWYWY6YWYWYYWXXYW..YWYWYzYWYWXYWYWXYW0 ,GYW./YWX,YWYWXYWYWYYWYWYzYWYWYzYW+x-YWY=YYWY XYWYWYYWYWXYWYXYWYWYYWYWY3YWYWY[YWYYlYWYWYkYWYXYWXYYWYWXYW,_-YWYWXYWYWY}YWYWXYWYWXYW-,YWYWYYWYWXYWYXYWXYYWYWYMYWYWYYWYhXYWYWXYWY_-oYWYWYJYWYWXYWYWXYWYWYsYW/0uYW--4YWY YzYWYWYSYWYWXYWYWYzYWYWXYW,-YWYWYYWYWXYWYWY-YWYiXYW/`-YWYWXYW+,RYWYWXYW.9.YW./<YWYWXYWYWXYWXXYWYWYYWYWXYW/-:YW-,YWY/YW/]/YW.O-YWYWXYWYYMYWYWY0YWYWYsYW,+YW/W/YWYWXYWYYYWYWYYWXYYWYXYWYWXYWY-XYW/^+dYWYWXYWYWYYWYWYdYW/.YWY XYWYzYkYW/0>YWXXYWYXYWYvXYWYWXYWYWYJYWY&XYWYWYSYWXXYWYWYhYW/.YW,s-QYWYWXYWY XYWYWY[YWYWXYW0;.YWY YYW+,YW0,=YWYWYYWYWYsYWYzXYWYWYqYW+-YWYWXYWYWXYWYWYYWYWYsYWY02YWYWYYWYWXYWY Y%YW,=,sYWYWXYWYWYYWYWYYWYWXYW.U.YWYXYWXYGYWYWYYWYWYYWYWYYWXYbYWYWYnYWXXYWYWXYWYWYkYWYWYYWYWYYWYWYkYW+d.YWY/YWYWXYWYWYjYW/+.YWYWXYW/0{YW+-cYWYWYbYWY[Y@YWXYsYW0+<YW0k/YWYWXYWYWY=YWYWXYWYWYdYWYWXYWYWYkYWYYbYWXXYWYWXYWY.XYWYsYgYWYWY^YWY-XYWYWYbYWYWXYWYWYkYWYWXYWXYYWYWYYWYWXYWYWY=YW0 /YW/0YWY;Y4YWYWYkYWYWXYW. +yYW.-YW/ +YWYWY&YWYWXYWXXYWXYzYWYWXYWYWYYWYWYYWYWYDYWYsY=YWY XYWYWY&YW,-bYWXY9YW,/YWYWYYW.~0=YWYWYYWYWXYW0D/CYWYWYYWYWYYW,;+YWYWYYWYBY;YW0m-VYWYDYYWYWYYWYWXYWYTXYWYzXYWX+YW/-YWY YYWXYYWYWYYWYXYWY3XYW+-4YWYWYYWYw,9YW-,YWYWXYWY YYWYWXYWYXYW+,YWYWXYWYWYYWYWYYWYWXYWYWXYW-q/YWYWY,YWYWY[YW/q+YWYWYJYWY YYW.R.kYWYWXYWXXYWY YYWYWYbYWYWXYW0R,YWYJXYWYWY=YWYWXYW/.YWYWY6YWYWYYWYWXYW0}+xYWYWXYWYWYYWYWYYWYWXYWYWYYWYXYWYYYWYWXYWYWYYW/G.BYWYWYSYWYf,YWYWYzYWYWYYWX/]YW-4/YWYYYWXY0YWYWYYWYXYW/d.:YWXYYW,-YWYWXYWY}YGYWYWXYWYWYYWYWY5YW/.,YWYWXYWYWY&YWYWYYW0,jYWYYYWYXYWXYYWYWYzYWYWXYWYWXYWYWYYW.t,YWYWXYWYWY=YWY[Y2YW,-(YWYWXYW,+LYWYWYYWYWYhYWYWYYWYWYYWYYYW..>YW,/OYWYWYzYW,-yYWYWYDYWY}YYWYWY&YW/-YWYWYYWYWXYWYWYDYW/O-4YW0^+YWYXYW+,YWYYlYWXY[YW0(+YWYWXYWYWXYWYWYYWY YYWYWXYWXXYWYWYYWYWYkYW,j-YWYWYMYWYWXYWYWXYW,.YW/-YWYWY-YWYWXYW0,YWYWY[YW+,AYWYWYIYWYWXYWYWXYW//YW/-yYWXYYWY YYW,/YWYWYMYWYWXYWYWXYWYWXYWYWY)YWYWYYWYWY[YWYWXYW0+xYWYWYYWYYYWXYfYWYWYMYWYWXYWYWYbYWYWYYWYXYW+.VYWYWYYW-.iYWYWXYWY YYWXYyYW&8Z!k *>[oѻ Mʌ w!.bF *%*! *{*l$* &# 8($+92 a[)9{& :sD{ & '3#DŴ*%D#  $}"c!KB(5AK=!O"z!ȌAqoAq'.Aqm~%<y*:@ dG;?0 D<G9&/߭Aߏ@ ><U#߭@ydJYQ 14(n߈Kݳ :51D7Y% OW߈ >]JL OߏAgQV U4:>< H]!? ;'5SG$LD1;7  ҩ<"# ˔5="ĩR.$4'E)  y(#D o Q<@5-p%K .(x\'\ Nb! 5sa}D!y $ =U7!6+ #/av(! 4 #(O { ) "\Ԍ#v> ͇ ^7"!/"$W)I)"5N#6 L#b&E YX2F>t%+7#]!>%0V )VW-" Tn)O%W ܡ%.Fe%?b) 9>8hd!I1C ' *OZ#g"'Z iRPG)֏x@ (yK9!:#%|*#$ # 9/,@@d,&'9 $2Dee+*jB$>gK5! 4L*&q&Ad /  :,pɵ3I°H m%Y 'LU 2V&k H]Y6(;7* |~! (( U  ^cE:$0 >7$M8eE:(2  $&uޗ((4- 5P^S!J8y"$ )6&o# 1ME  R (xF-:'% =){a p)F* BB#Ѹ#  2.` %M  <**% # 9B$+7x238_#5+!y#:p%-3< i,D ۂ "= *p& B0^#M z  +q c   %-  & |W I    8 ;z &Z C &ƖXU ܞ+7 1 = Y %G1a&Kk &,+&8=*SؐeSؙy<؛؟!أB  CةF$AGص(ظ9#0_%*'%,%-d h=#i$:0?#mo' 9@Gtgv 7?wBC D*U(HIJTG!BB,!bU! a!$#+ .$k)a/#1"3!5%)B(&B)B0.$B6(B8*I/'B><&)"C$(#F,2+ T,]98-bdg#ZkBE` = b > ?5 F I6L M# N O t .*{G*% *H*K v*&<*l )*L&o) *ф&хsц0'K78 B9Crћ*Eѝ: ў; Gџ< I=5ѣ5ѤѦѩ]ѫlOѳѴ~5^+ ajHeRcM\P fi#g5#:y .=B:D?$$CH;%;M<T&dl n~TvW .`qz.!Gq  ..(/s69($6u# <<!\H> I?####m##"^#'#5OgJʁK5ʄY&|ʆz"#~- \053#67 :!b@E-^3uH/s4K4 y nR4W34P 4Q 45B44S46Q4`94& 4,<s4/nS .|X|]^ .lrq B|J#K)_M#RN }O$% 'h^&k* >$^*S- 2#3lR7lv#&+KAp <K5L#Xq%xiÃk ÊÓ%*)-* v 79 DE!F w .MP8H,A)  ,B,D,E,>|,6 n(A , ,B5-7J92- F - O @Q-RbD[$xf%i?5Q7ln\d!yW .zdjH zF q hzP \~6"w#u!b|(\8" \#%   ! .s V$3%w8!b|#~T=?S$E"#ND F5HJ#'$%"^@L ݿ . (  n%Ej%5)6*"(>,R?#N#2F H2Z&\&& CP&){&/}] 9^!c&7_&<`i~&D*&G #G{/&|GA#G"^G#G5GGE5G8G>!qprz\)*S!bc .f)gi|h(\KL%[(\R:\"^5^#^#+ea` R(! #( n*n*SQ(_`#YZ#\ }jRka(rf h %isz nN&]Ѐ!bЂs@wR@yU WV"LY@@@#@Y@C@T#@%@@\@]@5  5  >H .(zk/3$,%/9$=1|>F =?H v@#AJ$B5GxMM*SNN }PO\SU . . 9(r?"j <#<!bCP  O@#PZ GW#X X*kY@ .::6;x% C L O P{(rRD_!` bC9`(69d h9e!]E*S9hG9j9sMkX .nS!oQ 9R*S9S9T&RySc%Y\[#]m!N%P-\bz$,lS#9#;T<twX }Z8 !b .55!N n@Aq!r(\1Z&A'>'/]xRaAdzb57#F!I=5AJ\ P^Y#c!! f;2[U#2]WT \]"( a%eZ#2iG#nqH r2{\ 2X#2YH2R!b^26"w8$\R c<#B!b] ^.J&_[ !(uK 5 L#TNO#y v5RSz z"U#,VH.1W(c2! B<BBB!5] :5 B$ \BS B3 \ .2B5BB%\B:% BJ5M5S'KT*S U%8 (n #N!b"#+X YZ[ nC_5$qg  ch5 d$Ăj l}ċ_ t2 un ~  k đ  kĖA Z+Q+T\+X>+cd+d_+j`Id+n\PZ +y&}$rZ'~* ^ `(r7#>0]1 n:*S8#na9,>I!G(J, n*UX <]H_;Z!L;%;O v;#;5;P5; \*S;} "^;; ;;m;;<! d<l5#m*S$'\LCp.^0 1'a$rh;i*Sk p#qK+%% v5xz|!bobi!$h5$kj)$un#$ $$p)g$r% $$g%ӆ?ӈv$wR$B$x$$ )m  Yw*Ux . %$#+",-F#0.I0K#:L(~<MG?@NAO"^E5HR"XM ;+ ܦ44%ܵ>#4 4ܽ?)4 r544CH4JR4L&4  #Ll  x 25*S%*]@w{DD!b( "M5N"XY <_a ln#} <)N .-.#3% 9k7= ?DFRfT aM\d'!bj)flHlmbo~i% -j%--m#--#-s!-t#--ء-O)a*S,$ .-.% U5/&#N)RO TP^W) 5_V#c#x \]l x  <# JJ  Y|D@cE('$A$W-[5\D <]J . _~<SA"  \ ]% ^  n"^v n${#&6ԡ k&Ԣ&!Ԩ5&#&Ը\ Թ]nԻ%5& !!b, % .]$$ n6 8'<1?5l p]q #sz5} 5 R*X5io5;(r>H(}9@(\[*w</4^9':E$ ]?% @ CEHKNcO Q*SR כל'םIן <ף$r ש!ת$*׮%װ&zױ/(/,׹4*s .)|l = .!b>%      pATO5A9APA  A"(rA(u5A,vA-2A0y A1zA6L{#}AEX%AK|AR . "#"^ "Ïc{5|Ú*ëKî% B8A*E .#&* ( XN"^YQ7/[1\ Њ$Џ ."5ЕЗ&# =Ф*&<ж0к1о<̞̟#̬7̯!^̳#Ns"^ |#s ߺ߼ #9:b .:2:2::5: n%:~*SR% 4|%aR .g,G'|(%t5SH$T#U<z5 XY ~Z[\$fRG!*SM*SQ $ i% V!Xld #& X5gfl5R}'7^Ɉ ɉ|Ɍ)aɏ:ɗɘ  ɠ#&ȡȣ"P"%Ȧ, -* Ȳ#)$ %1!bȼ;ۺ3 i33( }%4r4s37 <N;,/$0 1h%(r o7#I V . d|(n vc#w##0CYC_#C`%CaCf#ClBC Cs)gCv! (\CI C )C'q) Œ\œZ ž .  b#  d \  Q   9+S5+#׍ג+4,c ,,, % ,(\,d׹c!be :5g* +i k<(c%'# )+, }+\ )/u-#0<3| n}h%@E B%J;^4˾8 & #N$'#)#s<"  < ! #)g#% # !z"#< ) 5X5^<$hHJ5j 5s*5| .$& *,  9601C212Z+B.%2':<7O%;R' D"EEHϿ##0M#Q STx% cmWz>!bľ%*S Golc&<Kqs% ,[! $F%  \*S% j . \ n n*S.6a!bY.< .D|.Eq   .K!.X$x>B &z?H()n,K#H-##25%6 :  < '2>5qH  }K d[&ZP(/˖ .˚w Mˢ˥x$X*SZ%˲~Ra *Sb#hk&mu *S>J!L:5455 %>*@ )*D)an #'`U<'a&s#O!&<#%)#253*S$;7R?%  C&<E>F'bI% )=5*P (rL(#+)03] )>  YAt!bc%d.%L#QRR=*SV] bAcuFl nMu%5( #N)UeO @aR5S ncU,VW%X5!$) u(\CUOz%Q5R { ` # "$,%/! $ 8&#>, IAaA"3,AdA8A9A;A%3,.5 / %0(! 8^<#+A4;'5 ao ^ d j qo  s*S | nu4w   %d+f/i0|+p2A!bt5# 10|349#7:|R .MN)* )W`X YY%-1*4$ . % '8#w(/% % '!#sb:c:*e:f<:#::n(\:#$H5%B#!),(49@% BQ(#{~]xy!#e|i }e%(#5([Y'b[ ncwnBj.),w. r /  t({$ 4(T!H e5!5",*'"^:7#x!H8% ] 33! \$*S33 3N3]0)32H35@% `'d#f+p- j&J+0 wb2hR}kSځ25E#9 \H6I  TbK  U> LrYaP#DDS#D ^D<*SDT#DDD=DVD W*D$?D&@#D)*SD*CD,XSD2DD3D5D;-.# ))bGN% +'/50(22 v3*E6*59:,7d6#l7B BC T#* 8 < # =RBC)g \* I] # _U   `,z(r,A, ,, ,#,, <dS:% l0&Pg wh y{j}x]ӁD(]#Ӆ"ӆHӊ*SӒ%Ӕӕoӗ$KlTU&Wd% ze{g hzq(oDv< nIhGLNk#<|% < \X[<<5</!g#l5<#=M7S Y\5[ B\"(r]#*efg;5h&r&E5x(M|S9BT>AB% nc%D(c6(/jE#O%g!#%V%)%,%* % %,%\9,%&]>/7?9;:<H_#c&ZD#i|$FC .Gn-M@SX#xY2v zH~Ĥ\bPvcN!gK̊N$xD! .#4 N"^m{!bj6 '6%Q#yW/)\#B0D!V5G`8Ia#McT5Yf Z_5_b#c.e#1rw*x  g~i#!#m759&"r \'5* n,3<=]=> & B !C5"(UE .c$)i% m, .uBŁ!"ņ\| I~ .M!S"UV)_Z&\( f"f3*SF c#M .N!.".)aRR.<.$_Z.{bl 9e* gq 7l&(.o nr )/q{ />@k"E)apI] nxN[d^aib$-%Hl#j~  d  5 $ZG IHzI#\N(\O`P#!QT)U #c W  n)Y"^Ru#}bM#c% % a'E HRgh!||2߃  <߉4*Sߋ6O8ߜ9 ߢY_&]g'R5')acS' ':hk|m#'("^(;js!t(r( d((V(&( )(X~BJC~ t .p!b \CE"?jF#xGoI q\Jt#uL x *S{`!ahd* .&ik 0\ \ )*S+#L9T7i u#-C w4"A n5k5Kz}P$FI8G*S%&s.L0O"QR#S }; =T V# W !bB}*S! !<#!!l5!!m5!" 9ц nчo !&!( юsѓt,єD$!/Fs!2G!6u)BddBlyBww|B|fh_|*B .slBBlmp qqIx | . . B!CK]%   iP\   7Wb = y  .bD*S df < "{  # '#w8Qz & < =a&R!bnB#%%p5d'q%t). H# Z*s:ehliGR!bmIOd"^PqVh(\_ `irbj&de);>;?;@! ;Bd;C#;I|o"x;R;S;V!$!5;m'v(#|C5"&, d' .\!  !#$(~a.75  2 }]+$s; ,> @Hʷʾ=MQRL*EE!X!^5E%a#b.s35: >"^?_!vyEɀW ɃRU< 4R=4S?#4VLxA#4W܁#4^B#4b܈܉#4gF% 4h4o4x 4|2#&c4hG HF5 s75_ .w~JMn XO QR : # ."P `lD!k .DDD$Nz5DDD%DDNDD n . &D q=5$5% 1!% !Ŋ  7(ŏw > QŠ R"? U V# Z?Ŭ+ ` b e-> -A-B*-K -M$-O2-Wl1-\ <-g*S %!!, -0#1s~L7(n9"^:% 5<% u=l=wq=#N="% =G=H=== B=[#$"L nw!a5 -( *SPR#SQT(\[ .\"^d insx%!&s&z#&|,&sԋ!bԏ?&\ .Ԕe&w&y && &K#&efmg vKN JOQj<Vm Tn!# $Z#]*[ .#%% (^ #/ 3|48*S>D"^FHr!ݶݺ|6$,s666.#6>C6*S6 \{|e &7 vz$;!" @##CD EO)S U- B`6#cЎИ5 .ОwР;{У^(Хв$иcR \\ "J $-]7d,s;@$5Di)a @<!AT$#0  \ <I#>JABg)ٴ /zپ5/J/ /G/n% }&/p s 9t/%X/:2. .)% &Z,1v D1%2&3Q "L 6$*_AVE!b jJ#R nX&$gh!biW)ao\yc) ̅x4̎#ss%%  (!.t/J!b7 8m: y;'=+A,,,M~P$&+1#;#<CJ(cOP#TF#((նk ]չH(0"ջt$ս( . ( x((K(L (M|(N(O })(S(n$r23$, ? z#^{!_O aP*SdT} "j .mU5o+ 9S . = \ &$t)*+**s5&!s+-ȁwȈ/x Ȏ5)&*| n-#;m @n#Ao%!0NqO(*SUi 8 :4X$A1(c[< n%ل-ٍ .)F٘D!!!h|!H!I G!bv)!x=!%!!!|6!bCCOa2%CCC#BCC0(\LN!P T!5\(r]ac#"^uħU  Ĭ C įo  5 u Z!A&+)a512i?@EA*:FKJM"N\QQ*SRx!m5n5p*Ss{ҁ҆ i҇!҉BҊґ%Җ$E5#a(ͳ(\%! ,%; <;;G ;|)_ n;$r"^;< !5l!\s#u5v@ wMz { .(^% /z{5023)26 9Z!=G"^=I(r?BVA GLHH 9Oy$_w >'#` #h i/{%ˀˁ˄2 .$^ 4aR5b*5|55 d5 iM5m15 5% 5( 5)p 5/|ۙK" n۟A n#ۦ7 ۹EF ^< Gm| }L$EG#EJ nEQoEYEZ %E_!bdEhEj El"^Er EsEu\p"q# r$ s*Sv#2 $Ĉĕ;%0%5ę z       & --ر!bغ!ػ! v- =--l'..' 8Ԫ   R+Ը Կ/,l 0H< k# |` .*S3 N*S7#&9K"^ k& %>/#>0!>5*S>8 >;#>>!b>GH>JT*SV *SX *[ <(  #$"(z&   e#% d!1'f''^\'i(n'] ' ^'#a#'$b)'-m1'3hc͝d͞#͠h#ͧg$ h5ͮ n j#Ͱ 5ͳ*Sͻͼ m0n1u&j*Sz55} "G \"s7:7@ #7D . %7I47O&57P"X7]+*P .+7f:#2(|%(9i8C%$_.2|3%#'(r*#\H# BR5 0 .*S 3*& G6 .5 J&< J < T+ #ƭmƲ(\ƳƴƵ n%cƺ ƻ)5(-.|H  9_:&*St .( v) *V$' 0j0#0k*S0 80#010"q#N02 0506 -;z*S0>0@ #B#;`|C S" 5U# )p)5 Ot  .R5 679:<|=A:B#rJg%M#NTZ \sd iD5 5EK(\"$ P%*S| T 4  x  Q\ 5) 6)37)6)7)995):&#)>'#)?_'< )IN}@)MA)P-#N)U$) !1 %(b#e#f h.%1g"s!b35kld 7?GpFL  .J"K  .U(\, S^4&1nI%@I  \d :ack[ ^` ng <jt v .u5H w W*S)% n +1-4 0W3 #6!7"P |")a#(& .'!b/j*34 m7(T9"aS"b: "e&<@A "iR"s ^"vICNQC !C $ C^# C C[ CC .C] AC'5Oe%  % H> M# Q V Z  ^" b" cH g  iH#+H p s!s{Q( \*S V  YZ  <)!bT Z(!)K*?0m@]  =jN!p!b"$<<!'K"##<#<)& v<(5<) ]1(r<c<< R1H$3 \6&9&G/12c(K 5 9 = \>!bw*SbM"$T&cnJ/#zr\5F n .#I(r .  #O .."/#0&) &R0{)_!^&<%#.<=!5)5!>55(r5#59#5#5=55?5A 5B55 5R5% 5 5#5a'L-,!5-3e5$%9%*S=& v@'AqC*JG!bHj+IkLp c1GS#B D E FxaHIzO{Q}#S<lb)cY #+h0 E^EE%EE!GxE5E4N4"LQ7 vEj .Y9hZ_![\^F'F AF a( e$f+ $,'-l/ nn0q1 /3 143448&8E*S qH vJ x!b) %  9!:P     I .M.{ . +  7,G. . nBH.H.VK .@XTYRU[#X  Mb U:&<XB Y`k)l.og yc3ST U79(;HZ!b]dC,5FBs0P2S#  >V5>,#>#>W >.>/% >1 >%s2>u%Wwzy >2 .^| U 9VJ .Z[)t!\I *\#+]-.^%2`7jma2;L <<"pc=Ce*UD8xgG  I*!bKRUV v!]Y2\^7g71 .3'\#:$=#' GD)'_ ' n[PU} ZU xG_ |it$o7v~ |VFz # R9)Y*S1%` y7s7#7u(m)7x7R77#767,7(\8ކދ8 8\ތ5(ގ*S88l#m#0G!bq:!|>?HC '$yu5v"^}5~m R"1)F   WXZ !G e ) j{*SW|Y}by 9 jN <lpv|#}DŽ YS`$\S .] `5e9jkrzP*S~u(~c0v|00l50 .چ>000^0}06ڒqړr0~7ڕ0 !##'''(), n278A#B#RDFC K }#L NO*SR'( <ra\ n|z}!}  .t]\9w _)_By |{F^L|HCSE 5~ ) B*Snkp^"mT~ op 5 s"^u(W< .g$'io@&0#0)))p)5#)|) }:)*S))5)*34759>G;JGN'R JVZ [# b!S! n%#ZW"u5  vY=Z-< <^ .. &Z;J$ L#N5*S:!bW(J^#oA!5s )a#% 5!%#v) >^ڟ],A^B_#ڤ_ڦEڧ 9GbH`#ڭaڰ ڲJڶjڻc% ڽLھlsc"~ .҈v"w&"x"zґ{Ғ%Ҙ{*"}" ҝ;ҟ# ## DY!V*SDaDf(Di .e(f#DrDt&<p%t%wz| .rQ**S%x)85  $}%~&Q  $ ] 7h n  p  J  .ń  h|ň& 2Ih =4u?y@*|BNCO V\G$H`!nc5Ӽ#k*Sl$= !g@D ncgQR*SY`=#r!z .{cE}@#=1f=2D \G=4I"=6g =8/=Difj,u pfh .v{m!kUm v!w%# (#  Y-!G  G m#y"^%# tr\t$}!&5̼ (*#*+ n .`!K&sd<g#! "P!b{ 5- .56C6G6J6M 6Nݎ)aݞ 6ir*ݦ\ݧ }ݩn#ܿo(rs*Sq(nr*ty%u^(l$z1 #3*S<5':,)|(=b  -s>F|#/F~c*d$5&<41F$F#G&<; <  BQHy+"%.ƀƂ)aƃ" ƌƑ7ƒ .Ƙ< }ƞ>D/#%'قv!كo5/$///5/6v#/9*S/:5/<%ٓz% /A/D /H/J./N\Q#S5 U (r& *S WX;=Y]#`)#aM"Ke$f)(*S?|?X ?YL#?+"R#?S#?Tr?[ ] W <?^RY^?b ?d5?[H?e?\??*S! '!#pW# (  !š:H5EIK­®T$²O5a .¸PgQ5ha$xՂf(>gՅ)aՆ }Ո(?BՌՍ&AՏ,|Ւ5(H(LFդH(V(Z(g#3{8 < \(rm) "^"?*S 6FR!"#$1 7})8} !bs8j$18y8j%GH#?5',  }K#5%*ar:K ?3Eb"^Md$O5!^5!a ѰM%ѹR'Ѻѻ|!l v!q!t v!wS[#^  abHK#g&$R  5X%  $1[1bo1c1e!1m1n 51qs1r21t8!bC(y!#(r1r1,(&1*Sno(r5!5t75 . } y .%{a}'~ \ !b!$#'3&< 2/ 2)3857L*S;"y!ͅ&(͆k\͇((\*(r,351  # \)a#   UC |C # R`!)"X*.  n*h)*r*s*-2 (! <   Bl&}#L% N5T=&<Y#Z)`6!bɒ#]"  }   !!W'q*.2+7[!=:*SBvI#NO@aC,m'nL #*w .! ##&o##5# #H#C*UDDDEDSEUHE#EI E flKE* .)-H26 8RGHJxL%M VZr\[  .Ŷ a e5 f *S # _*x N<n <M NQ%\p Icd \gh"j\ssH% .tv <*W vx-/T;YJ#[l fbm i5m"o5ovtp&Ev |#|  ;%  *S=Y=+='J =\#== $J==!b =$==5M .S <W ^W .  Bjh$((ny)g . GC |S5| 7? .HIl !(, -O QQ,k v\ _%hsHrv,c0e q!b/)n*o"Xb."6A#e366 667K79"^7 7 &AQDv|  Y  ݉ Ksݍ";ݓݘ% ݙ#% qp( S,0G#3RG(4#G)5G-G3r| G9 !>GA!GIl@HGM5GTC BG[ _jsl oqT v y#zb|}ƀƁ;3 4;!b;B#zc/r(/2 .X </ /[/!$5/]֧L)֩֫Tֱ*7ֹV }-"X־#za||LMFV#&H I@&h ~ .= .j|@)R@*r (l#@,X.(@35@5|2@; @@n@Ap@Eq@K,@Nt@O8A@Tpxg% D| 5t" u5f5${ .(y|TU(\Hj%(r\YZ")(? .c:!K(f((~( (h5(+'(&((o5)a"ώ YbϘi!&(Ϯ$^2ϲh&ϳϸ:C7 vϿ%'#(`2 n*(,!b-,% (T0;#9! n29$79-k@ nHB"^93CH94\LD&9=z(^*P4, m%    S  g (n .(5^#&<:R< \=l\AQ\J2!!5"y"5"6#&"|"}#"|"" o""" P#Ș(\ȝȩ#ȫ \<Ȯ*SȰ% Ȳ }ȴȷ Ƚ%# 53 \8| +j:$;  . <zr$a'@#st .'*S22!2) 2,(D|2@2\]tM(c+%e0*s 3%  jb!#4#$!69&8_#+%b#!biR4$o a(\t #H$"^&*3<8 .:=G#SV W ][b` \#$h i#j 5lmr(Ql}\K n`# ng .i j(rhp \q r2#<#  ;#+     3+4+*+c+G+$-+);#+//+0"% +2+4M IpO(~vL|~*S   IJxkgL*SM#! .q OfX95 #X\~ .5)-3#&q%R&]5 w)#*s .. #2?'!4.! /*S"PC"^3($&+*S$.%$/=&X [$@>5$DA$I#]!$*5ED .0BEC n4DE_l .X(rb ``'b5o .gf5z!bjd \lj }sl 4 e f*S - / v 8(r l )m5 +; < ,= .`#+ >)g /n ?(r 1 2p&k \C*U ?EH D= I#%Q&W5"s$$U|!% (r[ecbz ) X7#\w:!'{"*_0 n1#ra d* 8>:5*S>}^CbK5>#+N(/O>zW|X#|5~lci # )5:|<"^@5A/ G HJ#K%L*SO'RY~ \<,=%@)aH\  ]_ YCa4P (2  -|!!7*S(H#N #P55!Y$?RBUh8]i5^cEi2C5R$90H|1&}M:77(= nAI F7R777U&]ZH7]7m7;_`#T"W"J[c?!bgk',P R!\#T' (_5*)!^W:/ 264X% 6Z d9:\>] J?Mj\nF`WIamL:\G \cGGGGGGGsG#sG%D5 "% y&U$(r%_^ \a5"gdN@4 n57C#8#Xo`5dr#kKKok0e!0gP0l 0r,0|R0~ 0^$ nf%00D .=f5PGS$J2N;*SZ1_mfhp4Y)jr#s,tT- . <3*:h(/x%I@Y @Zs@(n@z#@#@*S@ @b@#@(\@@f@h5@9#>##?tw@xO8"?i*Sy .[me]%bw {!bikY5vR .wx"K| ;C|I7):,)A),Y n]cE \}%$g-*Q/% UX[R1#N`22af!b{CBG F*SH#SIUX J YKdhk#9|9 nߎ#9  9 9)g9 Eߢ9 9-!(߱E$F v(S)a5*G!b3,7(r=L@F )H I |+mG  !"6"$Ys#"&cf8*S""uR"o"r"t5"(U V1456R:![ mg }h(rKz BY4 5i5Bk H_Q bRX \|""Wr]%ۃ52 .ۅ ^22ۆ ۏ .ۑ22ۜ"2(r2)22$22 2۴y"۷ .hvl$%#;]b  \< \|tqu~ n&+ .9#m n5o*St v8=vHwhK dx> nR?#+V!X [&sm h15& n!Ds#J"#*SN. .\uRY!Zv$\Rd#hihkrta|k5}3~  Boc=+++.+A*S+/+?+[\ +!b׃mn)v#x  ]8{#E~-5P ne6 :s ;>uD <F#~*S%3|4 YK #"!b ! TU%a+?K@V9; 9\ <_M`xhSe y&VfzY{i(=V$r@&_5eCfgDi mm # 3_ \)aO1Fp6w7%xu[  ܀܅cQ%Wj|܈܎[*S$k$$@$* .ӡnӥm $F$өo$D$p $Ӹ 0F2v&vyF;lFBzFD|FEFNFR"FW !I*&*S v$G#}*# t5 PRX~  y&a |   =  z & *SR5U Y *SZ#[ e*Sg iG!!! ե<զn ճo մյp նq5շw !bB .|) d!φ .ψ6ϑ5q nϔz!ϗ .ϛ) DϠNϤϭ '? g }?.lq(\?H?S# . (#  nz!#Q&ƒ~ .„F ”#KVF"L)i7(lo*Su"&Ζ)(#0ΗΛίγxδ4 Y&κ#λ9(/A n5 i(\F_7!bu b'z{*xR˅g nˉ\ˌ8:8?8B(r8C <8E0ޥ(ޯ#8M,޽5ޠޢ.>^(ާޫެޭޯ ޴޶޷6 ޽/ .$޿#s|(S5 WM'Y)Z%[2\1]"^^*U_]b )dgh,"&\<lu"^w% xRyP+2 \  ǥǨǭfDzldzǾ{MNK6#?g Ǒ5Ǜ#&sǩ8 ǰz *U7 2!\ڟ#ڣڥ .ڨ(ک5151*S111h ڸ11! 1& <1'  10%i! jvF \; n<A5o    qS r&#*(r'P \+L)+"AzS A~ w A? \qWA AAAZ)A EC v<"w\#s!'K"#%  n& Lõ#ú # *!B /%T!b5 5g# 8b 9$'e *"? ֍c)֐C**F֜n֠kQ*8I7֣=(֤֨s,֬%\ְ[*ֱ(!ֳ!*#u \ 0J7N|8C|!b:#T\U Q:E:G :K5:N%:R:V:W5:X{ :]1:`:b v:i)%y:k :m !#y| G{#*S( |#&#K (*-Q% . 0#5RN; -KLT .ҹ05#C&#G(r#KM5#LG|#N#P $'I%(\ 8%#O  MN55 .<$! 3%(r) .*S,!  #3d53g  . .R3r}|3~*S353%3 }(\3& ||| *d1!9E = (\%  '    %R* !5YΊ ΌRH }΍*SwU:ΓΗT(rUNY!# \ΨZ% ="5I  v .1E,*SF d5& X 8   *xP "!4,D,EQ(\,K9,$ ,U,,V#,X"^,YU,[,^Y4,ky,n&,pVR@ . \ `R  E o nC ,B<7\ʏvs\w^#+ʓz _]Fʗ%ʘʚk*Snuy]  #|+ 5 5 T|-.ET AW !#I .J \?<* % . 253D(\4?%p^%s_%|^ .b %g%#%  h %l n5F5FF!bF!F .FFFd^) q,e/f0s2i#?uFvG5H(Lj#MyTmGXn#NZp"X[~*S]s"ct!gm#a#fhk ƹ#lot{B (r qO9t#N}!TXCYR|Zvw)eU{| \rBG|C E#G|M5Vh$(n^agT&<j, n B|Sj!01!|5#8#1& :N^|?&H?#?a% U?&? ?"? ?/ Y9#<S$&#A C Y1F~2(rII{}QM#N(r^R#" U&' nE9J+%  . \ 22339[%? C#ILOQ"*~ST ^ 5ab' )f;h@3<(g#5 Yj5#n# Yn%h#8RR8m8# 8#88"8$z% 8 D8x\ Y! "%0|4w \6 n? E#F & (- Q R&]28UV]%^ t*Sw6WXRY  m G# !"%S >Y5!#]*S |  \k!# # #$ $ %HIdO#R%a&(g k#mn*S5# *S 2 !b|#1} 1%'1#1a .68519 n 1#1<>1\:$[+  -&(( F#8E#,;!@ b# 9! R '`2o0  n )BA'+ +@8YY; Y (dXY;5Y Y Y;EY YWYP;FY YjYL;1Y (dY*Yp;Y Y Y;Y &YX;?Y Y X;;Y YY6;@Y YY;[Y Y Y;NY )YYZ;SY &XY);Y %XY]; Y Y X;$Y YVY%;*Y XY;TY 2XX;\Y pYzX;Y QXY;Y Y Y;|Y Y Y;Y YX;Y YX;}Y XY^;Y Y=X;Y .YY-;0Y XX;&Y CY Y;>Y YWY;{Y XY;Y XYa;Y YX;Y !YX;Y YYk;0Y fY YJ;GY YX;NY YYS;MY 2Y YJ;Y '=Y%Y;,Y %XX;-Y XX;3Y Y Y;Y eYGY);Y Y X;Y `XX;Y 'YX;"Y +Y[Y;0Y Y Yb;eY `YPYJ;xY 'Y%Y;RY Y Y;[Y XX;`Y YzX;Y Y Yo;Y %YaYr;4Y Y Y;6Y XY=;HY YX;LY Y2Y,;Y KYWY;PY YWYP;NY Y Yo;sY XY;Y Y&X;Y uY-X;)Y YX;*Y &Y!Y;-Y &bXY;4Y (dXY;:Y 'XYF;QY XX;gY Y X;iY Y Yz;\Y YY;_Y 2Y X;Y Y Yb;Y XY;Y XY;Y YzY[;;Y ]YWY;=Y XX;CY eYWY:;SY YWY:;Y *YWX;Y YYe;Y .+;Y YY);Y CY Y;Y '=YjYL;rY %Y9X;sY &XX;wY NY X;Y rY X;Y ,Y X;Y (d.,;Y DXYD;Y IYY&;Y XX;Y XX;Y ]Y Y;XY (Y?Y8;ZY XY);Y Y}Y^;Y YX;Y YY;Y lXYs;؏Y &YY0;؜YWPYWX;بY & XX;Y "Y Y3;Y %XYB;Y YWY:;Y &EYhX;HYW%YY`;NY EXYO;Y nY Y;Y YX;ԟY Y YP;ԩY Y Y3;ԵY Y Y;Y YY;Y =Y Y;jY =YX;yY EY Y;ǁY #Y YJ;Y (XX;Y XX;oY YX;Y YWX1N Y & YY;Y XY-;Y (Y2X;Y UY YJ;Y YsX;Y (XX;Y Y YP;Y YWY;Y %YY;Y |YWY:;Y eYWY;#Y Y!Y;ȭY ,A/,1N3Y lXY;Y YDX;Y YhY;Y 5YkY;Y XY;Y YDY&;Y Y Y;Y XY;Y %XX;Y &Y6X;Y (dYjX;Y (XX;Y Y Y;Y TYzX;Y ZY YP;דY &YvX;וY YyX;Y XX;Y 4XY[;Y Y X;Y (dYxX;Y YWYP;Y %Y^Yv;Y YWX;(Y &YX;+YW+Y Y;.Y -XX;1Y XX;3Y 4YWY;)Y @YY^;@Y YbX;Y Y X;Y YzX;Y Y Yo;Y XY;Y Y=X;Y eY X;QY Y X;Y (dY'Yl;Y XYh;Y Y X;Y sYWY; Y .Y-Y&;Y vYWX;Y cY Y; Y iY YP1NY f..;'Y Y Y;7Y Y X;8Y (Y"X;˿YWYX;Y YY;Y PY X;Y :XX;Y YWY:;Y yY X;:Y (dX+2;>Y Y Y3;GY Y X;Y XX;Y &XX;Y Y6Y;GY %YKX;Y Y Y;Y 4Y X; Y (dY{X;Y Y X;(Y 8XX;*Y XY Y;OY YsX;Y YIYC;oY ' YhX;Y YY; Y '=XYF;Y Y Y;Y mYY;-Y Y X;1Y XY;Y &XY;Y Y X;vY YX;Y YWY;Y XX;Y XX;Y Y X;Y Y Y; Y (d-,;)Y YYb;:Y Y YP;Y QYX;Y :Y Yb;CY Y%Yu;DY Y X;GY &YeYG;KY %XY|;QY 4YWY;iY YWX;ZY Y Y;bY YWYh;iY g+.-;EY Y X;KY Y YP;MY `YWY;UY XY;ZY %Y=X;mY `Y YG;_Y TYeY9; Y &YRY5;&Y WY YP;+Y `Y Y;@Y CXY@;\Y %Y.X;Y ZXX;Y (YY;uYW&Y3YJ;Y lYJX1NY YsX;JY YYS;LY (XY ;Y Y6X;Y 6XYP;Y Y X;Y Y Y;Y RXY; Y 1Y Yh;/Y YWY;BY &YY;Y %Y X;Y (XX;YWMYDY&;Y NYzY[;Y YGY);2Y YY;<Y wY X;QY xY-Y;TY Y X;UY &Y X;XY .Y Y;iY Y X;Y wY YP;Y Y}Y);Y Y X;Y %YY;oY LXY3;Y ^Y0Y;cY (Y%Y;fY `YhX;jY 9Y Y;nY Y X;uY YWX;Y SYY;Y IY X;dY %XYN;mY Y Yo;Y Y Y;Y Y X;cY EXX;܎Y NYX;Y YX;Y XY;Y XX;Y YWX;Y %YX;Y Y X;Y XX;oY Y Y;{Y Y YP;Y 6YX;Y XX;Y YYK;Y jXY;Y Y X;Y YsX;Y 6Y Y;Y YWY;Y Y YP;ԃY &bYjYL;ԆY Y Yo;ԖY +Y X;Y \YWYP;Y Y X;Y &XX;Y xY Y;Y (XX;Y XX;Y XYD;Y YX;Y mYWYP;Y %XX;Y Y X;Y XX;ЫY EXX;Y Y YP;Y "Y6X;Y (Y9X;Y 0Y=X;Y (XX;Y EYY;Y YY;Y KXYb;Y YX;_Y YnYg;kY &XY;mY XX;|Y Y YD;Y 6Y YP;Y YbX1NOY (YYYQ;Y 6Y Y;Y YX;Y XY]; Y %XY"; Y (XX;|Y YY; Y Y Y;Y Y Y;Y &YBY;Y Y Yo;ĦY )YY;9Y LYX;PY &YYa;Y #YX;Y Y X;ͺY YyYZ;ͼY XY;Y Y X;Y Y Y-;Y YzY[;Y YzY[;Y Y YD;Y :Y X;Y 'Y,Y ;Y lY-Y=;Y xY YP;Y OY YP1N۷Y XX;Y Y X;Y 'YyYZ;Y %YYy;ضY Y Y;Y 1Y Y3;Y XY ;Y Y-Ys;Y "YDY&;Y Y}Y);Y XY;Y (dYY];Y YYS;Y 0Y X; Y YWY;$Y IY YP;'Y (YnYO;Y @Y YP;-Y XX;"Y &YY;)Y (dYmY;.Y XX;2Y YDX;@Y EYY;IY Y X;Y &bY?Y ;GY MY X;YY XY1NY XY;KY XY";Y Y X;Y HXY;8Y XX;:Y YWYP;RY )XX;Y Y Y;Y YbY;Y iXX;4Y qXX;DY (YY;Y 7Y Y;Y 9Y YP;Y YWY;cY XX;lY (9YoY";tYWMY Y;Y TYWX;Y 3Y[X;Y XY=;+Y XY;Y 'YX;Y YgY;Y YWX;Y Y X;:Y #YWY:;QY Y X;&Y ]Y X;'Y Y X;Y OYeY^;Y (YWYP;Y {Y X;Y YY; Y XX;!Y (YPY;&YWY Y;2Y gY X;8Y YzY[;GY Y YP;cY Y Y;(Y \YY;NY ~Y Y;bY Y X;Y Y Y;Y XX;eY Y Y;dY %YY;?Y ^YYG;CY GYX;RY "Y Yo;Y sYY;Y xY"Y;Y 4YzX;sY 5YY);uY &XX;wY :YzY[;Y (dXY;uY YWY;|Y %XYV;aY 'XY;bY Y-Y&;zY XY-1NY (Y"Y;uYWXY;wY ' YY;ڙY Y?Y ;Y %XY?;Y YX;Y &Y(X;Y YdY];Y (XX;Y XY;Y XX;Y XYe;Y kY YP;Y YWX;qY Y Y;oY Y X;Y XX;Y Y3Yz;Y YYb;Y Y X;Y Y X;MY YWY;QY XYs;VY XX;Y cYWY;IY (dY~X;LY &iXX;ҠYWYWY;ҥY XY;bY NYWY:;uY iY YP;Y YWY:;Y Y X;Y XYz;Y PYX;Y EYX;Y XY;Y Y Yo;Y Y Y;Y YbX;Y &YY;{Y +YbY;Y YWYP;Y YWX;Y YX;Y YY;Y XX;Y YWY;Y #Y X;ʂY &YWYP;ʅY XX;݊Y YeY;ݯY Y Y;Y xYzY[;Y /1.~;Y Y Y;Y Y Y;Y XX;ƅY Y Y;ơY Y Yb;ƬY lYYz;ـY }YsX;٬Y Y X;Y XX;Y 5Y X;Y Y X;Y Y YJ;Y YY;Y 'XYn;Y QY Y;´Y (YY|;ՑY FY YP;՚Y [YDY=;լY YY&;Y YY0;Y (3XY@;Y JYGY2;Y %XY1;Y %XY;ѫY XY;ѭY XX;ѲY eXX;Y XYz;Y qY Y;Y pYWY:;Y Y X;Y Y Y;(Y Y X;Y &bY%Y;Y Y X;Y YWY:;Y YX;Y YX;Y LY Y;#Y 'YjYL;ɑY XX;ɕY YGY;ɤY XX;ɫY YWY;;Y _Y X;Y |Y X;Y Y Y;Y VY Y;Y Y X;Y Y YP;Y SYSY;ŻY 3YWY:;Y 9YWX;Y rY6Y0;qY &YYM;Y KYY];Y NY&Y;Y ]YsX;Y (YtYl;Y 9YzX;Y YsX;Y YWY; Y YWY:;Y Y Yb;;Y Y Yb;>Y Y X;GY XY;VY Y X;XY %YY2;Y &Y=YS;Y (dXY;Y fXX;Y &YY;YW1XX1N6Y 8YYa;Y WY Y;Y RYWX;Y Y YP;Y vY Y; Y XY&;Y Y Y;Y YZY<;Y YWY; Y (dY$Yi;Y &YjX;Y Y X;Y 'YX;Y mYWYP;Y `YJY1NόY dYrY;Y eXY&;)Y Y Y;1Y YWX;4Y XX;9Y pY Y;MY Y"Y;/Y YWX;NY XX;Y Y X;Y Y Y;6Y 1YYV;hY &YDY[;oY %YDY;Y XY6;Y Y X;^Y XY;hY &{XX;&YWXXY-;qY UYWY;sY YYJX;wY hY X;cY &iYPY;YWXX;Y Y Y;Y ]Y YP;{Y YIY;Y ?Y X;"Y xY Y;)Y XY);7Y YgYa;DY 0YY;YY iXYP;]Y :Y Y;_Y XY[;cY Y=Y;(Y YWYP;_Y YY;oY &bXX;Y XY[;Y Y Y;#Y XYS;4Y YWX;5Y YX;:Y Y YP;3Y Y X;6Y &XY9;:Y Y Y;<Y Y YP;iY YWY01NeY 1YWY;MY 4YWY;TY @Y Y;$Y `YWY;]Y YsX;bY Y6X;fY YOYI;eY XY;hY YYG;IY Y X;|Y YZ+;Y YWYh;Y XYM;Y YWYP;Y (Y X;bY zYY&;Y XY;=Y YYS;KY 0Y X;Y 3YY;Y YzX;Y YWY;Y XY&;Y Y=Y;ߌY &Y^Yv;Y }YWY:;Y Y Y;}Y yYX;҂Y (XY;^Y Y X;nY YDY;۔Y Y$Y;Y Y X;Y Y X;Y Y[YS;Y %Y}X;5Y XX;=Y %XYl;BY <Y YP;OY Y Y;UY +YGYa;lY XYk;Y YXX;:Y YWY;=Y &XYv;EY Y Y3;Y YX;Y >YmY;gY YWX;Y 9Y Y;Y NY YP;Y ZY Y;Y YX;Y Y X;Y YWYP;Y YJY1NΜY Y YP;Y #Y X;ޡY XX;޸Y YY;Y 0Y Y;Y SXY;Y 'XY;Y Y-Y;Y Y X;Y YWX;Y XY;Y XX;ǜY Y X;ǢY YY;ǥY Y Y3;Y YWY;Y ?XX;Y GYWX;Y YWX;Y UY Yo;Y Y X;Y YJY1N Y :Y Y;Y Y6Y;Y Y Y;֕Y gYWX;֖Y Y X;Y &XYV;Y Y Yo;Y AXY;Y Y X;Y Y Yo;Y XX;Y Y[X;Y YWX;Y YWY1NQY YJY1N#4Y XX;ҼY JYWY:;Y XY~;Y XY&;Y YY1N3Y %XY$;/Y Y}Y^;DY RYzY[;ΑY \YWY:;ΩY ^XY";αY &iXY;3YWXY6;Y XX;Y (XYo;YWVY Y;Y XX1N,lY Y!Y;Y & Y"Y;YWY YP;Y %YY ; Y Y Y;Y Y Yo;%Y Y Y;%Y JY Y[;&Y XX;Y YWY:;Y Y=Y;Y YWY:;Y fYWY";Y &bXX;Y !YWY;Y TYX;Y RY Y;]Y XX;Y TYeYG;Y YYs;Y Y Y;&Y Y X;UY XX1NDY %YiX;Y (w " s:9ET2 << OY y OY u9OY yOY yOY yOY xqOY t OY x OY x OY t OY x OY xcOY x?dOY x@eOY xAOY sOY sOY vOY wcOY wdOY weOY wfIOY {JOY {OY v OY z=OY z>OY z?OY z@OY zAOY zBOY zCOY zOY zOY uOY yfoOY ypOY yqOY uYOY tOY t}OY t~OY y%OY tFOY tMGOY wHOY wIOY wJOY wKOY wOY tTOY sUOY vVOY vWOY wXOY sYOY sZOY s[OY sOY wOY wOY t.OY uOY {@OY {A*OY v+OY {,OY {-OY {.OY {/OY {OY ztOY zueOY {fOY ugOY {hOY uiOY {jOY {OY yOY yOY yOY yOY yOY yOY yOY uoOY z.OY z/OY z0NOY xOOY tPOY xQOY xOY u OY yQOY yROY u OY ySOY yTEOY wFOY tfGOY x OY x OY x OY t OY x OY tOY w0OY w1OY w2OY tdOY weOY tJfOY wOY uOY {lOY {mOY uOY uOY {n}OY v~OY vOY vOY sOY vOY zOY zOY {4OY {5VOY yWOY u< OY zh OY zi OY zj OY uOY xOY yOY yOY tOY yOY yOY yOY u$OY t|OY t}OY xFOY t~cOY xdOY xeOY tfOY xOY wqOY wrOY wsOY t`OY xOY xOY x[OY v\OY {]OY {^OY v_OY vOY w#OY w$OY w%gOY zhOY ziOY zOY {cOY yOY yOY {UOY zOY zOY zOY zOY z OY y, OY y- OY y.iOY yjOY ykOY ylOY yOY xlOY xmOY tSOY wTOY wUOY wVOY wWOY wOY x8OY ttOY x9OY x:OY tuOY vOY sOY sOY vOY vOY w_OY tOY w`YYWqOY { OY { OY { OY { OY {xOY {OY z7OY z8OY uvOY z9OY uOY uXX.]DNOY y]OOY y^POY uQOY uROY uSOY y_OY yOY uPOY uQOY uROY uSOY uTOY yOY uUjYW\cOY xdOY xeOY xfOY xgOY thOY x%OY y"&OY y#OY wOY wOY wOY wOY w5OY xb6OY xc7OY xdUY OY smOY wnOY woOY t,OY {9OY {: OY {;VYWqOY {OY {OY {OY {OY {OY vVOY zqOY zOY zOY zOY yOY u'OY z&OY z'OY z(OY z)OY xOY xOY xOY xjOY yIkOY ulOY umOY yJnOY uoOY yKpOY yLOY x OY taOY tbOY xOY xOY xOY tOY tOY xOY sOY w-OY w.OY w/OY wOY tEOY wOY {OY wOY wOY wOY tF^OY u_OY {jOY vOY sOY vOY vOY sOY zOY zOY uOY z!OY u"OY {0#OY {1OY yOY yOY yjOY ukOY zdlOY zeOY tOY xOY xOY tOY xOY tOY tOY yOY u"OY u#OY yOY yOY yOY yOY yOY yfOY xBgOY tyhOY xCOY xOY xOY xOY xOY toOY wgpOY whqOY trOY wisOY wjtOY tuOY wkvOY wlOY t^OY wOY w OY w!OY x"OY xOY {OY v OY {OY {OY {OY wOY wOY wOY s OY wOY uOY znOY {`!OY y"OY y#OY y$OY yOY uOY zZOY y&[OY y'\OY y(]OY y)OY u3OY u4OY u5OY yOY xiOY xjOY t!OY t"OY x#OY t$OY x%OY x&OY xOY wOY t/OY wOY wOY wOY wOY wOY t0zOY x3{OY trOY vOY {OY v OY {OY wZOY w[OY w\OY tOY w]OY tWOY {XOY uYOY {ZOY u[OY {\OY {OY {OY {OY {OY {OY {mOY z1nOY z2oOY uppOY uqqOY urrOY z3sOY z4tOY us/OY zOY yUOY u OY u OY yVOY yWOY yX9OY y:OY y;OY uMOY xOY xOY xOY xOY xOY xOY tOY xOY tOY xqOY yrOY zsOY ytOY tuOY y OY w OY tKOY wOY wOY tOY tOY t\OY v]OY vOY wOY t(OY wOY t)OY uOY uOY {OY {OY {OY vOY zkOY zlOY zmOY uuOY zvOY z OY u%OY ukOY z"OY z#OY ulOY xOY xOY uaOY xbOY x OY xOY xOY x OY tvWX]DOY sOY w&OY w'OY w(OY w),OY w-OY wOY uOY {dOY {eOY {f OY zOY uOY zOY {,OY {-OY {.kOY u6lOY ymOY u7nOY u8OY z`{OY x|OY x*OY u+OY u ,OY u!OY x;OY x<OY tvOY twOY txOY x>#OY x$OY tOY waOY tOY wbpOY wqOY t\rOY t])OY {OY wOY sOY wbOY ucOY zdOY zOY uOY {^OY uOY uVOY yOY uWOY uXOY yOY y.OY zOY y$OY yOY yOY u2OY xeOY xfOY xgOY xhOY yOY xbOY t-cOY wOY x0OY tpOY tqybYW]DxOY {yOY {zOY v{OY v|OY {3OY wVOY zOY uOY zOY zOY uOY uOY u?OY {OY z*OY umOY z+OY z,OY un OY z-{OY z|OY z}OY z~OY zOY z]X]DOY yMOY uOY yNOY u OY yOOY yPOY yOY yOY yOY yOY ybOY tOY tOY yOY tOY wOY tGOY wOY tHOY wOY tIOY wOY w"OY xW#OY t$OY t%OY xXOY vOY sOY vOY vOY s}OY w~OY wOY t%OY wOY wOY wOY {2OY uOY {3OY {OY {OY uOY zfOY zgOY zOY ufOY ygOY y'OY ug(OY z)OY zOY x5OY u6OY u^XqOY t_OY xOY xOY xtOY tuOY xOY wOY wOY wOY w OY w!OY w"OY t>OY wOY t?OY t@OY tAOY wsOY utOY {auOY {bvOY uOY vOY vOY vOY vOY vOY vOY vOY u0OY {*OY yOY y(OY u)OY zW*OY zX+OY zY,OY zZ-OY z[ OY x!OY t"OY x#OY xxOY yzyOY y{zOY u{OY u0OY ts1OY x42OY x53OY x64OY x7OY xkOY w^lOY tOY tZOY wOY v OY v OY {OY {2OY w3OY sOY uOY uOY vOY zOY {ZOY uOY uOY {[JX]{OY uNOY yOY uOOY zOY uOY uOY zOY zNYW]{gOY yhOY y iOY y!OY yOY yOY yOY yOY yOY yOY yOY x^OY tOY x_OY x`OY xa8OY x9OY x:OY x;OY xOY t*OY wOY wOY wOY t+OY wEOY tmFOY tnGOY x+OY vOY vOY wQOY t OY wROY t OY zOY z OY zOY {OY {OY {OY {OY {OY {hOY z$iOY z%OY zOY zOY zOY z)OY uJ*OY y+OY yOY xOY xOY xOY xOY tOY xOY xOY tOY yOY tOY tOY yOY yOY tBOY wOY tCOY wOY wOY tDOY wOY xVOY tOY vOY vOY vOY vOY vOY t"OY wOY t#OY wOY wOY wmOY {//OY {0OY {1OY vOY zaOY zbOY zc8OY z9OY u:OY zOY yOY yOY yzOY z{OY zOY xOY xOY xOY t OY xOY y?OY tOY tOY tOY y@yPX]DOY xOY xOY tOY sOY sOY w5OY w6OY w7OY wOY {_OY uOY uOY u1OY v2OY s(OY u)OY u*OY u+OY u,OY z-OY z.OY uOY {#OY uOY uOY {$8OY yOY zQOY uOY zROY uOY zSpOY xOY ytOY yuOY uOY yvOY x1OY x26OY x=7OY t8OY t9OY tOY wWOY wXOY wYOY wOY wOY wOY wOY {OY {OY {OY wOY wOY wqOY zrOY usOY utOY uOY {ROY {SOY uOY {TOY uOY yOY yOY uLOY yAOY zBOY uCOY uOY yOY yOY tOY yLOY yMOY yNOY yOY xYOY xZOY tOY x[OY x\OY x]OY x$OY t&%OY w&OY w'OY w(OY w)OY w*OY t'OY tkOY x&OY x'OY x(LX]DmOY {nOY {=oOY vOY tOY wHOY wIOY wJOY wKOY wLOY zOY zOY zOY uOY zOY z1OY {2OY {3OY {4OY {5OY vOY zOY zOY uhOY z OY uiOY z!OY zOY uOY zOY uOY z#OY u$OY yD%OY u&OY yE'OY yF(OY yG)OY yHOY yOY yOY uEOY uFOY yOY uGOY y"OY xOY t_X4OY xS5OY xT6OY t7OY tOY vOY sOY vOY sCOY wDOY wEOY t FOY wcX]{OY {+OY u~OY {OY {OY {'OY z\(OY u)OY u*OY z]+OY z^,OY u-OY z_|OY u}OY y|~OY uOY uOY y}OY uOY uOY y~OY udOY zOY zOY ueOY zOY x=OY t>OY y<QX]DOY t[OY wOY w8OY x|9OY x}:OY x~0OY s1OY s2OY sOY w<OY {\=OY {]>OY uZX]{OY sOY sOY vOY swOY uxOY zyOY zzOY zOY uOY {OY u/OY u0OY yOY yOY u1OY yCOY zMDOY zNOY tOY tOY uOY ynOY yoOY x,OY x-OY x. OY to!OY x/xOY wSyOY tzOY wT{OY wUOY tTOY wOY wOY tUOY {kXqGOY sHOY w IOY wJOY wOY zOY zOY zVOY uWOY {M"OY y#OY y$OY uK%OY y&OY yOY zOY z.OY y/OY y0OY y1OY y2OY y3OY tdYW]{OY yOY yOY yqOY trOY tsOY tOY tOY xOY xOY tOY tOY wOY t$OY wOY wOY w<OY x#=OY ti>OY x$v\X]DOY vOY vOY {OY w@OY wA-OY z.OY uOY {}OY {~OY {%OY z&OY z'OY zOY zOY zOY zOY zOY usOY yAtOY yBuOY yCvOY twOY t9OY y:OY y;OY ywIYW{0"OY tOY xLOY y MOY y OY t:OY t;OY t<OY t=OY xOOY tOY xP/OY v0OY v1OY vOY wyOY wzOY w{OY w|OY w}OY w~OY {%OY {&OY {'OY {(OY {)OY {OY vOY {OY {OY {OY {OY zTOY zUOY zVBOY zCOY zOY ywOY yxOY yy=OY u_>OY z ?OY u`4OY x5OY x6OY x7OY xOY tOY tOY y7OY y8OY y9@OY wAOY wBOY tWCOY tXDOY tYOY xvOY wOY wOY wOY {VOY {WOY {XOY zOY {YJOY vKOY vLOY vMOY vOY uOY zOY zOY uOY zOY uOY {OY u&OY u,'OY u-(OY u.OY u}OY zJOY tOY ujOY tOY xOY xOY x4`XOY uOY x)OY x*OY tlOOY xPOY xQOY tROY xOY t OY t OY wMOY wNOY wOOY wPOY t ZOY w[OY tQ\OY tR]OY w*OY {+OY v,OY v-OY {.OY {OY sOY w OY w 7OY uOY {JOY {KOY ugXqvOY uHwOY uIxOY yyOY y OY z} OY z~ OY uOY uOY zOY uOY zOY yOY yOY tEOY yFOY yGOY u*HOY yOY tOY tOY xOY xOY xOY t|iX1OY w2OY w3OY w4OY t!OY xOY xOY xOY xOY tg.OY {/OY v0OY {OY w>}OY z~OY zOY zOY zOY z@OY {wAOY {xBOY {yCOY {zDKYWr:4aXOY ufOY zOY zQOY zROY zSOY zOY tOY y=OY y>OY u>OY u?OY y4OY x5OY xOY yTXqOY wOY xLOY xMOY tOY tOY sLOY wwMOY tOY uOY uOY { OY {!OY uOY {"OY uOY uDOY v<OY u=OY zO>OY u?OY u@OY zPOY zOY zOY uOY zHOY ypIOY yqJOY yrKOY yshXqOY zOY zOY u]OY zOY zOY xOY xOY xOY xOY xOY xOY tOY y6OY wOY tVOY wTOY tUOY xrOY wOY wOY t6OY wOY wOY xUOY t7OY t8OY w,OY {N-OY {O.OY {P/OY {Q0OY uOY sOY vOY vOY vOY zOY zOY zOY uOY uOY yOY yOY yTOY uwUOY uxVOY wWOY uyXOY zDYOY zEZOY uzOY tOY xOY xOY xdOY ueOY ygfOY yh2OY tj3OY x%OY tOY xOY xOY xOY x;OY wB<OY wC=OY wD>OY wE?OY t@OY tAOY wFBOY wGOY tNOY wOY tO OY w|OY {}OY vOY wOY wOY wOY wOY wOY zOY uOY zOY uOY zOY zOY zKOY uLOY {BMOY uNOY {COOY {DPOY {EQOY {FOY uAOY uBOY yOY yOY yOY uCOY uDOY uOY zvOY uOY zwOY zxOY uOY zy9OY t:OY y ;OY y <OY tOY yOY yOY yOY yOY yOY yOY y3OY t4OY t5OY xQ6OY xR7OY tOY tOY tOY xOY xOY xOY xOY tOY wOY tLOY xMOY xOY {OY {OY {OY {]OY w3^OY w4_OY w5`OY w6aOY w7bOY w8OY zOY zOY {oOY vOY {pOY {qOY {rOY vOY {s:OY z ;OY z <OY ua=OY z >OY z?OY z@OY ubAOY zBOY ucOY zOY zOY uOY y:OY y;OY tOY tOY yOY yOY yHXqOY xwOY xxOY xyOY xzOY x{OY tROY ySOY yTOY yUOY yOY t9HOY xGIOY tJOY tDOY sEOY vFOY vOY wtOY wuOOY {POY {QOY {ROY {SOY uTOY {UOY {OY {OY {OY {OY {OY u~OY zKOY zLOY uOY uOY zOY zOY zOY zOY uXOY u[YOY zZOY z[OY z\OY u\]OY zOY tOY tOY xOY xOY tOY y/OY y0[Xq6OY w7OY tS8OY w9OY w:OY w;OY wOY xnOY xoOY xpOY w OY w OY wOY t4OY wOY t5OY {L`OY vaOY sbOY vcOY sdOY veOY sOY uOY ujOY {kOY {lOY {mOY {nOY {8OY u+OY z:OY z;OY z<GOY tHOY xIOY xJOY xKOY t OY y`OY yaOY ybOY ycOY ydOY uOY yeOY uOY xOY x OY thOY x!OY x"OY xOY tOY xOY x OY tOY tOY w?OY tXOY wYOY tLOY vOY {{OY vOY {|OY vOY vOY vOY vOY vOY vOY v@OY zAOY uOY {<OY {>OY uOY {?;OY y<OY u@OY uOY zrOY uOY zsOY uOY yOY yOY y TOY u(UOY yVOY u)OY tOY xNiOY xjOY tkOY tlOY xOY tOY tOY tOY wxOY tcOY tdOY xOY xOY teEOY {FOY {GOY {HOY {IOY {oSXq.-օOY sOY zOY zOY u MX OY {kOY z OY u^XOY uYOY zZOY u[OY uOY yOY u:OY u;OY yOY yKOY tLOY xsMOY xtNOY xuOY tXOY wYOY wOY tzOY t{ OY xD OY xEOY sOY vOY sOY sOY sOY vOY sOY tOY tOY tOY wmOY wnOY woOY wpOY {OY {OY u`OY v OY zFOY u{OY zGOY zH OY u| OY zIOY zOY uOY zOY zOY zDRX,?OY yi@OY yjAOY ykBOY ylCOY ymOY uZOY yOY yOY tOY tOY xOY x OY y* OY y+ OY t OY tOY wOY wOY tPiOY xkjOY tOY wOY wOY wOY swOY wxOY t1yOY t2zOY t3<OY u=OY {G>OY {H?OY {IOY {OY v!OY v"NOY zzOOY z{POY z|OY uOY {OY { OY yOY yOY y%OY z5&OY ut'OY uu(OY z6OY xOY tOY tOY x^OY yY_OY yZ`OY y[aOY y\OY xOY xOY xOY xOY xOY tOY xOY xOY tOY tfYWDOY w9EOY tFOY tGOY tHOY w:IOY w;JOY w<KOY w=OY wOY w@OY {tAOY {uBOY {vCOY vOY vOY vOY v eXOY zOY uOY zOY zOY uOY z]OY {6^OY u_OY {7`OY {8OY u=OY yuOY znvOY zowOY zpOY tOY u&NOY xHOOY tPOY xIQOY xJROY tSOY xKOY tOY tOY tOY wvOY tOY x OY x OY x OY {OY {OY {OY {^OY w*_OY u`OY w+aOY w,OY zOY zOY uOY zOY zOY zOY {gOY {hOY {iSOY zOY zOY uOY z^OY y1_OY y2`OY y3aOY tbOY y4cOY y5+W"V*NkQ:#p P ! BO;-54nx C#f=&`68 Ũ*t/( "s$}/("0 0Q Z!"YOlΆ8C#?]r#3#X(#>T{ &ɮ-! A);Qs y t)!)({eLg'VOE2"/&7QE)]$4)v2`*$  l ސ P(_C9&#w5"[wR&) TA]#"&3c4 $Ց f)A ( -( M} D ;r g54L#p.) [l L-'?+('C#n>8f o rA)  F2R(A 4F )2 eV }@;Ex)x2*%;g-# % 'XB!lU# k!  /  m!=1*VU*(& \_ !$>REy>U0Gp?^8 NJ? G^!+ '"M$On$i!t :v,lk&6YXI;U؁ /&4!- )P9l|B!v!] l^˟$.$5(2c&k d*) )+ K6 k2&'$r0!:8* @5'Y"P$3)&p(v@#A[$WGk$\${!m -Q(9 <#h& +( i& a< -BT*;2E 'MA4D}(%#%d'h(&J()kT΋"$Fm+. &c!x\ XcZ } ! %($V! BE;$CvFޘ   BDO(5*%D*d(@Hs&YWk '˯YWl€¬YWk҆YWm`9iYWl:iYWlߘkYWl5Y nƜYWm4ƩY mߗ=YWj'Q@YWj(ԾYWmҙYWm޳+TYWmGUYWmg,WYWmN_YWmTbYWm3_Y j#ԕbYWj3 XY k>gÕgYWjÜmYWj+EY l3NYWlfYWjkn YWjYWluUYWlYWk YWk݄gpYWmRHmuYWmTȓXl.[rjXmݭԥӧYWlݷ95pYWmSdYWjОYWj4wXn0HY j9dY k!БYWj߉eYWjߋlYWj?YWlgҾҠYWkQʶҦ YWkSʺҪYWkTdCYWl\DYWl&>YWkY mCޡ*YWmD\YWl7}iYWm+ƁmYWm$v͎YWl4F&/Y mgY ji3Y nSuYWk$I~LnY kA%`}YWkDSYWkYWlXYWlY&XFYWkCǚYWlmžOYWkm@YWm4sFY m5ܬijHXm6ޠ#m YWl ɏYWm"̘֙YWm*ZBYoiKӊ`IXi14eMYWiyպǟYWmY3#?uY j\ݧYWkYWj$3<NȋY kw4ШXjfбYWj"6ćYWk69ċYWk7qT֛YomѠYWll߂΁ѧYWln5|IҺY m\YWltƑY nEͧXmIߨͩYWmJͪYWmK"͵YWmM4=SXm^YWmB΍4YWnWŲ6YWnY k Y k KYWk I Y:kY:kn[MYWjnNYWjYWjYʴY k+VV2XlݽYX5YWloYWk>YWm>1vXkh1YWl_3Y l`ߏYWlkYWjElY jFHǹYWmX8YWjFlYWmϙw&Xj rz*YWjϜ|+YWjݿ]yYWj^{YWjCWvY kdݪVYWjFɨYWl1BVɪYWl23-Y k'YWkD ¼ĪYWk4k HY k߱7'YWmv@IYWlT@YWmBYWmYWn2jtYWm)VlYWm*WnYWm+YYWm,nПYWmD~CYY j3,I^Y jgLaYWj%ʍiYWmE UYWj{YWj<YWl4EUY k4ÝYWl-YWkuݎYYWl-Xk=YWk YWk@(YWkA*YWkFִBYWmjܭָDYWmkʝեYWlBݷզY lC݁z YWmS YWn"ާȃYWj34 Y mc2RYWjd+3TY j7WYWj3S|OY kI%YWkeUYWj45#Y lq &Xl#YWk$YWkYWkwvӁYWlnYWlOuVYWkǘXYWk|ZYWkߠԌYWm[ SԍYWm\]ԖY m]pԘYWm^$KpYWl7KñJYWm*9\Y l4ZkY ntGYWm dY"j%Ho"Yoj&c,YWm~j9 YWmYWm4Y n8`4YWn9 ԭчYWk: ϤY jA.İẃYWj>YWlcY lYWlE6YWjHYWk\RYWk`W YWka̳|øYWl4XkKkUuYWmOLnWwY mP4dY mߺT0YWn' wYWmSY j4^-Xj4{Y k.tīsYWkĸYWk1<|YWjxzƂYWj4 AY la W3!XkL44"Y kMd=,YWkO0YYWm>.YWm?fYWlV͓YWl͔YWl͚YWl߫t͞YWl4; Y j3<Ο!\Xma\҈*eYWmcȻ.gYWmdߜVBY 2je7YWjgdYWjXYWn"Y k"߆#YWk#?p;YWj,ިŜwYWkYłY kхӪ YWlVY#άaYWk? 7%YWk:ʂ)YWk9YWm-;YWm.3 Yom/B"YWm03#Y m14XlvЉYWlwdYWly.YWlz’ΎYWmYWlXlYWlcɠYWmUJˉ$;YWm;O*?YWm4>PY n~0SYWn F XYWn !H"]YWn "J$_YWn ǬYWkܱ>YWjӗuYWkv܎gYWjA`XlHS>ç\YWl@é^YWl`ê`YWl HóhYWltYWmuYWm-xYWmܡBϹYWmGUYWkl-]|YWkpcYWkXj/ŝYWl8TXk%VYWk&ìbYWkeϖ LYWk3ү Y m]RAYWlZHdɄ XlYɆYWl4tiɈY lv&ΪYWn<8M]YWm9Hc|Y jBgYWjDY mޚf)YWj;[YWmfYWmܾYWkYWk/YWj˼Y l-ѭνYWkѸYWk_YWl3ezaY lbYWl޿iYWlICGʦYk|uʨYWk}37փY ms 0YWmr.rhYWlOmYWn- <YWm"/aYWj3gYWj:ãYWm,?èY mZbYWnG4͉ЊFY kPoǃYWj3̶DžY jܽǎ%YWjϾ Y lgYWlުYWlvŹYWl\yŻYWlޔrYWko޽ԃYWkq(F`YWl=O))Y m8:YWm.`^YWl3+caY l YWnXYWn݋3YWmDѾYWj/3AbšY j{uh¢YWj}zm¦YWj~ȆYWm)GYWj3ɭ*HYWjTY n? YWkGYWk_u_YWjLOYWl YWl{4^ϴ֪Y mW^ɳїYWl#ɵљYWl޺ɶњYWl EŀmY m 3sŁnY m t YWj !YWj!YWmyYWjt̨YWm.wYWn3sfYWn4>eYWkߘAiY kEKvYWjINyYWj JYWkLYWjjgYWl݃ƆYWkIƇYWkR/Y l"3C2Y l#ݳ3YWl$ܤ«YWlέZYWn{˃YWl4)|ˇY m`˒YWm4Λ˔YWmJGYWjhqYY mlYWjl¹YWjYWn$hK YWn)߂̄дY k)߈wrYWk pxvY k-=*YWkYWl]*+YWkKў9YWk:YWk);YWkBYWkEYWkjYWm;&YWmCՆXllՏXlN5~YWmŎ4ѻYWli8YWjހ;Y j,gŇYWm_R͊AYWja'zY nӢYWkIӷXkk~YWk݅֫vYWk;֬wYWk<bYWkˈYWm&ݥYWm(qΖY"m4vYWlr߭YWls3ÞoРY mC,ŗYWlݩ4ťYWl s$xYWnI5%yYWnJ3Y jV~›YWjW3Y jX<CYWjZ4tzXmd YWjt#YWjz)YWj|*YWj3YWkr$YWkt?rYWjoAXsYWjp3ϮDY l@ɟțYWk/)˂ YWlI}ժƳHYokѨYWm?D4Y lcBM @YWlelʠYWnAHUÎY 2m@\[XjKaYWjL iYWjM{ԎūYWm)$9iYWjՖ5QYWm3AY j YCYWj 6ՋTYWk[YWkJL)ǨY"l4ӳZYWl3UŒY kߡXYWkVaYWm 3@GXm{LYWm|P]YYWmQXlL VYWl XYWl^YWlܘ,YWn73WͫĚXj>ͮĜYWj?Uk6Y jyġYWm4:&XjYWkY"j\LͿYWl(ގʁ'xYWlU9(yYWl4βAY mn1NηMYWmoa{YWlL|YWlM3ʌY m,ʎY mEFŶRYWlŷSYWlGźVYWlXәWYWn+IYWm3ʾY j4nYWmz YWm w' us%""%Z 9%92'9H\2% ôB# 8<!Mj3H$bdEp'  Ր)?'Ǚ #($5-* 9 oAzH,)l )  '!p   9 5u A @ % G'! =% )E!A!ZW## 6$k";  Y |!  Aq %٪;B):P$!$!iNY$!c%dĵNAN<1d_i$!Yd1d{YN>iNp$!?Nid Ndhp$!<>i$!ܭpd){%d>iN?%$!o1* G!$pR<$I~h* 6/ 6}!U (E% E!0&!'7 H ;!&%(-"%W,/hAeNW= *ȅ 3 i%h  3PubYxY~CsY=YYY_CtkYYY_Cu'l&,3.NCs[9XY+Cucn&vYYY_Cv\YxY~CtT.YYCthX.Cu a&YxY~CtnYYY_C]D1NrQ1N;1N^2  Kp 73!J/9?(+"`~*o  3BSA: C P@>!  V#՚#?Yǣ^sؾ T;#v # 47O/H&QNG !y@9 ^Y2$[4 & 2u-&d&i c~Z}WaAV Q%: i ɪ 8¥$)5 a*#x &'d#;  ] ):) rA 3nI,=##̐pc% 9%.߫ /B  m N;o<  4D$?-k+3!:! RbX&!!'U !Y!Ҝ<&Rˇ514۽*j. '':& ^>mn9#b { D%<V)5!5 c> k F'QP U#6(eE#!"\=L#+%6y)VFe/V#(#K9$8#(U-!K*e%C  eF= m{(UƊL/>$)""*"h pZ AxF>Ii73'L| 0M-@"!)"v")bB I"Wܗ#$ oFY!*(#@ "I x&q 5+D0'ր#(? ]vl8 q)1w$28 İ#c͎))K9 ܨ   *=c,k t%`R.٦Ҥ(3l9d1y B>!7֍ Yz \ )B  р(+^%;4x q<0$˫.+)#  u f C) 3!J *6 { *  ^$ $E$ m 8<&D0%B)#7*bi#y + 2 X((.{#2G)d:B #"  L A*=H&,t4P0P1PBPB!PB"OݒRRXP` M Nr"P*N*NчQBOMsOcQNMxQNP~DPdP!fQhRtPuNyQHOGOhPN}Q PDN;RMHQNÈPNàMON9Q Q- Q5\Q3-QMUP۪MhP P Pv4N]OR"CN_"OVOWvOX&PZ&JNG|NvGQORR(O#POb QQ$O-;cN+O& N;O(RPP VO^NMQdOpOrQl@RT@Rr@QO#N"O)LOLMRZ=:MNR~BQ@jR[R\GR^9MN3OQPrND\QQ%3RYڂQֲN˿PPMNaR:R;5pO:lR<AN$QPPRkVQyRV Qy}O.2Q;.]N AMRoO[MMN4dPP:Q1QOQ2WQ3Q4wNfR7NNg'^P'jOMQ!*N2O2wOEP"GNJ8PaP&iNPPtJO N P OBRDR gO N{MO$MN؍QF:Q:P+4~ReEQ)On8OoMP| P}N24M,P8Q^NQQR/7R0R1FHO?|O}N1P@qPAePCD/Ne^R/R3<R5UNR-NqNEO%P N P‹P P;PjNsӉO;iQ}P QcOD<Q]*N[jP,NQ)N0PQbPQ́QO5PO6 N# R= R> R@CN)@Q~PVПPW&Q| Q9Q.NNłPNŊN\*?NOON.Q.Pw/R RHQOPOUMO/N~6Q<[Q> Q?RNmQ3,NnN{PߦP|QQQMRjQPMiQW|POCVO6O#IOP$OOPPQ&N8OOOQPOQ8QBOBORO PH P NC M MNONRNN>Q[QP)QM;\O!%RgRh;kRQ WOtOQ9pPPcPRW!iM&NNQ9,R-QiR44iO4NPPDQKbRćRR)RNOTM dO-DN RO +PG/P OQQQQtQRN O1&QSQ#$P6NFAO)۶O6R2N6NBQ Q۰Q8P(N>R"R-O3N;NdJROQo/yO-RSMMZMNM)R?NNuARznQ(N6(QRCZR8OOOON>MN? N@NAO0O2ٙQ!O<Q!PzشQCNaC&OP<OR, QRPc-eOzPP6MMMQQ*OR8<R95QO5POFەO$N>=RHRx>ENUN'PoOfPPN QP%Q''ROOBOO7EQb$2RG7TP}ON-RP_}PaN(M Q XQuQ ZQO"OOdOP0-R!6RR MPNQCcPQEUNyMR6OjO5.HOkPM)5PI)EN-Q)]NN-MD!MMmM?MOOOBQQP9cO8,N QR7CRRCN^CO>COQPNO MmP \NNMQJFQY GQ\O<Om1O|^ON4>N?Q7ЉNiNj:NBMPBPFPhP'OCRIO=N&NbNuMFOݻRM8 Q68R ANyR5?Pd1kQQ N&2Q P5oQdžN7OtNOMEMwQ(QR'nP'SP(QI&Or#OsMpMMCQENFP/QPXPYQ3OQ PQNP[OmNRMګQ8`OAڱN&OBڵROCQ ;Q̿RDxQR5.RO NPoP*O  O APCO`FQtoQdWQe&CQf=$P*Rs='P=(Rp=+P۠RtPRu=EMPRNPPKP8MCNNNRLRQ?QQQFOPMFO6R{RFQ_NN N*Nk6Q=QQPErP?{P]?P?PT#RQCNq3P4P?PYJQKP(XM(]PONNNNOO)RS8N8P\›RUN:N<R9O!WNZ+Q"QOOOPX1|N.1N/NQQNcOuQa$QOy@Q*iP*N*O*PQPR.AMUQO`OwQOQ+NLDP bPf#RiQ#R#NREOERv+P M O POgN QP5G<NNOltOOԁQPӀQmNz=O9=N'OPPSMHRAKQXN*[QN&NgPܹQ Q=,_Q"Q6OZ6RwNRE6RJRF,OROSݚN[P^FR!RnN={NP%{R{RN`QNQhQ@WRǵNwNx(RQ(NG QϑPjN϶Qr6OOZOO.O98PQ,PlPmWPnQNPpP\QțN|ȞONMOOOP2P62*N20P21ONNPhOE7QVeRqQ%O{+QzQ QQ MFMP-@PNlNQNOHOI(OL#OOMR REP; REQPP)NrONOrQQqRy>ONPOPPQOKTQMMOJdMNNNWR7NDRK7Qs tOY+O;NGQ`RMR$SR-HR>NAO P$JOp@NRB,R3#;QDOd!+NNFO9Pk"R_%R`P(NDNE{MPXNPNSOUR]O[M2R|R*2PQ[N N _N`NHdRRlP(dQ`2O&NNN[QQ~O~P3@[O]QM/P93O,EPPRd3QZR NToN*Q$PF3QF9QLOP RP PPOwղN]Q5N՜RպQOQ 3QvQwQx?)Q˼R}?ANRONhPZPPO7QRTN@9M4MνO@RN!)Q,>Q-Q0QXR!N%8<OqRO8HNB8ZO]$RQaO_QRPNM-IM{P2|ONNDZNWQNOzP1Q7R1"Q/!,RQN˶P)QUBP*:P.AQ ;RAOe"R8NP O <PoQ*:Py?QNR PJPQDNIO ,Px:ORPLDP{#UQJQQTENR R&NBOM3Q ON@$P=P>OP?5QjPaQk NO[ȺN3OtO+bO|O<Q,gOP$P'PBPEP SQtPu/*NVNXNY0PF;RaQFR)1OvR{QpMhQ&mQwR#O% RPPPNKgPO^PNtPqN7P7GQJPQ:8P%yRX8R?PPjOaPgRczPi?&MPMO@NOx1Oa6ֈ ֈw4;ֈ(vֈ'5ֈ'ֈ! Lֈ!ֈp,ֈ#yֈ)hֈ*Wֈ$3ֈX%I&t (Q{7( !Q%w9 s7+rV  RW p" 267|*tB! E#aE Ս$?ǖ' #%&9| @غ&Fѹ [( ~2-%ΔRW! &׊*pe.r̤8/&~[ 9@*%_P yi#} *-)א+Ѕ y*p+}%  .A3iB OeQ%o$ 0 l&lL$7%pvgg P;j'tK P<?.z ) V2*ڛ 'u*̫/!$ + Um  $1>n %0_$$ *))j" \l z851!F?1%ʋ& &bRj v$~ v )4<8}wY@I+E&5S' B%%k!M^= &!7t4-&`K#EnqM!4'P -* wmB'L 2@h "x9N&P r!& iI׃q9 i2 +$%K5 8)3 A# N(#*j:{mbU /30v,%eS%%yhk!BM) ;+ʖ#î%<&]Gpr(!i(B W;"\0:4V^! v&c' " Nq"!3 2*!G x2d- B#=#q /$/](^E *>] !  $0O' 9 )o& "NZM#^F  Պ)?  Q ΄$8("!Ǔ40k .#"&qF!:/?*4y>81  IU; ) /f9;|2 !+U { J1@l) Gs9R&' V9"9 :f A ,o"WBQ O;/*ʚ >ò&B _e> 4!zP &%' 6 )$ӨA!K # h =n( +%QF)&Έ 3=`*??'#  :"sz]4/#'R~@ڃ'W#P=f w  'm"x.1ݜ"C9  /"+U t%( !&_et (x %_f b'`!+)' &n;1A);C@;ݦ;Ǎ8e;*k Ӝ&"l/7*=f%$o"wA(] F j3 L)e | | UGD,G EG)W|1|ߵG?|&٩|ҧ|%TA|l|&No| ||%TG>G|)WRG( G EO|Gl@G?GD|&NG 9| =G&0GG(ɲ| |GIe"6Aٷ!ҵP*$ ( $cf^?@*!(''#g q , }#1   :Zz % V# 8G!!'$#(%=X7> "8Y FhG"\1Fl #vU%a<2z@"9 *jɸ*(  *"%S(# ! (}NX i0>7G,=֙ $Aޒ%h 3< s[D D$v 9"!!$!ª ?~) 2"'( =j I)%!J"K p1Zh^9 B #zX˭ &):D[=vn"w(9=:%h iA '$3"%_N  *1L( ,@]CGf%,&&A'x,"BV ^.(!J! b R>0 %>)7 1Pt?u G*"֤)X G *T AIޚ;j)5`g }y$v  ;1&w4|#r'K(eΊ$]-)  &6'I Մ!Nj!4' -p'qfC))LƢ$C Z'QeG$,7#^!*K("N$tDB ()KD#* %:>q27)}t! Fb*}E( Վ?Ǘ#& }&ۺ 7XD[;&Fl 2D9lI<{>fz)x1"&Bn!c; B-0 ! ={T R\1+*Um#m("RJ+:q)}F+.!m!'.Y W*M #e ]* ;$#HC2S)%$b-A<% '* %Z'r%I4G ' 5 9'"\Zk!)+9'%q z  upX%~?&h % K "#Y!#փB h.'0+> 7 ?w'"֦$ Gb  /D|7v  k$cs%ٳ)L'L"=]"<% "=N^Z-1K?Z#9Uɽ# 7 [s xB!E(nS R* ;1 e*kbB@)H * u*&! _y)0"91$# !@izL*)**s a>) #v &* Ie+ U4 )A 8 J!E3O%+'  &Y o n(d e'U;%{'LZ!ym(#-.g-ڋ) ̙&'62!Ţa/Ke QmK/%Y! p"0K  "dZE8$'V0#(%.F /k9G!| U@)$m$<! R 6:(9u/ 0S#"('&2 G@-%> T(t* 6<%Ŭ'h'/ a~8+E6 V׉o .qUt# 2;Y&Ba>JfE!  ?#GǛ #*n؃؄-8 ښ*)|^T\<O]B[,2X,4KG4MHi ݶ<&(ҽJK\(5 ,i&j&k02V2W1W/iGB% L K; k'4:(+ &h01, ׏֢A A AF'7-+-ЄB9+q*u%v ~E>[C3  =CQBs,)~%1%˥˧S''͗"H002)! 5p3)3 @DX0[ _,Cc>?%$R0]5..lm=t'C;:6;;6;<ʧʨ4L=g=hGHIGGƧ06>Lʥ/o 0N1?~((0 (~S!5C9C*(LCۍ \i   k/(')#͕7.n7/u70&r<sA03ܱ)$+)%D :C.yr ? 2 < /[;\8+:? k@.xܰB=0?s>!$bZ/pm U0#lmnWht))1hsjú ʤ^ 5=HFxFŲųC>+*+,^-ZRDU@؅C*^6<ȑr* >849$%   W?=fw}G7>#v/֡!֣I@ kdl/ψ.9/9m,ȏ:ȐrȒ[]G&iT$E1% -bk/>l>m+L070 76B0\0^/@>k)}909?"w" Vj$F(H3ՖC"DxEΒ83ޙ?t~\MǞNǠF)χAsAu 6**:=#-#/"I} ~,;q,<,>HӱQ%%iNF!R;8')! .8;p=1\o1No1No|1Np1No1No1Np 1Np 1Np81No1No1Now1No1No1No1Np)1No1No1Np<1No1No1Np1Np 1No1Np 1No1No1Nol1No1No1No1Np1No1No1No1Np|1No1Np=1No1No1Np!1No1Np41Np51No1No1Np,1No~1Np-1Np 1No1Nov1Np1No1Np1No1No1No1Np1No1No1Np21No|1No1Noo1No1No1Np"1Np#1Np61Np1No1No1No1Nom1No1Np1Np;1No1No1Np31Nor1No1No1Np1No1No1No1Np1Np%1Nox1Np1No1No1Non1No1Np1No1No1No1Noz1No{1No1Np+1No1No1Np?1No1Np71Np/1Np1No1No1Np1No1No1Np1Np1Np>1No1No1Np1No1Not1Np.1No1No1No1Np1Np(1Np1No1No1Nop1Noq1No1No1No1No1No1Np1Nou1No1No1No1No1No1Np@1NpA1No1Np$1No1No1No1No1Np01No1Np'1No1No1No1No1Np1No1Nos1No1Np1No1No1No1No1No1No1Np&1No1No1No1No1No1No1Np1No1No1No1No1Np1No1No}1No1Np 1No1No1Np91Np:1No1No1No1Np*1Np1No1No1No1No1Noy1Np1No1No1No1No1No1No1No1N6?Io" F*<!"'8y1<1601YWYWYWYWYWYWYWYWYWYWYWYW01H 3=.&CM05"hD&fR"} G*"H/ .~xHT9'\͏&%a(LJ .2Z^$ A'4OW' j!W'?)r ;(% O'عJZ6#'l@$E",*+5${'!-;!' |Z!%@!J_( ^_ ="8 #Y%&y( ip$A) jx:(M3!:v(#%# oo y%-   :;|@J&'4(  5-u?(e&}Y*j >\!!` 0 C=* &3H!¯ ,-  %X "#'A3CF V<5%h"%D iN *ۃ(=_ ",v$ "Z$$C!)P;&4&#׍%jT ĶC#Ws>(o͓dƤ }) .v@)V*̧*ܮA&F)L#a}iGq9yA82  ,9%e ؆ &!J=!>o^Ԡ*7Fz("$`k(+ Y'; Q(u!1L,*5}0,"^ WCFʉ!#Fi t`Yu _+mc-cMfY=aLYd<Y?eE/EGY]-4a<,bgYpeqXpc,c.~aYgX+9 ]-]q/uh,^/f/aQ~-E^Y}dnq+< `/ث+c@/g}Y]&ga<Y~ec+l_.*/f,Zdu,vh-d .dpyI/rcC +cE+{i"(Y'Te~.^=-\c-gQ+bSf/dd+d/bY/e:+]+/b/# z/;eKY-hF+`:/d-z/`4-GCb)R.`r^!-d<+.`.jpdn/`/!d ,JeFJ-(#i...(`.duM,yYwe06Ki0pQd/Ra -{E).'vda0rft{U0i),jDc,iNg--"`g.'`,fY}bH-Ee1cYd*X.bY;Q^,g<YQ[^OXaA/t_.r?h[/7h-8?hf/CbXf.V]Ybg= -{0^gYuh+h._m_Y_|YwaXdpw.gu/d -`U-4gXa,^i&z.=i(?+h-Z`.Cg6/;^G /2`~-e/.`c0-`Z/ca.%^_Y*d-gx.hl0}gYx|h.h.id_-a/g8-f|--^3.f@,wc.F].^-z^|aXXd- e-6+am /-^./.f:OX T-2au+vV,_m0rf/.b+oghTXjc<._?gyYH]kY3cZD/;e|Y#jh*X<g.Afm,z\`+dh,]g/dc/]fF-pbE/cS/h.V5+`-f|-4g>.;bX&aY .aF.hF1,ng,[d,;4dp-"Mdv/<Ր,Di/H`"OXdC/GeTY~eb.ebY/ Y#a0 eX dL-Q/eqYmi.a,Rc-`\duE/e$,Hag0.%g>,S&hD+*޹8.B+g/vd^6+f/cJ/Rg- ^_,dv-b]-4>gY>q^Y ~d=+WVY֌.t _/f5-4^+qf1/.rd.t^04#ed@. NaRY:]Yc` YfYcZ+_\+eXa/*_YNb8Xi(I+uHx,f:Ya~j.Ac^$YBb+Bej-`+ ` c/Yz_.e|+b^+8[iL+Zc>-p`d/hb+qrйk0h- Uff-.hN/fAW-g,5. %O-y:V-`0+#a,.-^+ cCz,&hp,3cE|/g/Fk_,Oe,3%`U.e-gV0=_yY%0gI+_/bY,_#u-_;/`+}#`K.2e-4%g-^h- h-d0>aXYf-t_,`0,~],Qq^~-0c1,BaF+`b,ah5+hEY^-baQY^=-=O^0cXgge0T'L0R`.bwXog.fYfggY4!d90K/]`/z_aYcV0=f,c,g;+Z`~P.2f;H/Oud,B{fmA.gD+er5,GcZp+jf|,h}-6_/g/3d&+b07,hY*gj0>d,YcXhx//1Naxy.KeTXd.b`y-ogŐ/gJ/Y=a2XeBY\9d9g,3D,|^j.d-k, d.+jh+<^[Y"j' \c 1 2=i%nH p"J)P1Y 0)2FXGl$] |! nA) 4$&#j # '"- &'i >a"7@iPx( DW':' ^*+.6B` ;=!4%v3 .(0Ε 4 !|P٤[Ң> jZ 7*K hɯ#*\5bV 502#M2~s0$3|(ATb*Q"G)ߩ -i& :<+S =J%KyƈrK9P(@(:}Bd,Xmʘ<P"Ӧ= #0! F! 2RO,/+kq߱B  3$u;uBj&{!T+! ٣ҡ& e%Fs=C0. D !iv +#*>(m=" !T!%H*eE#> q*yƏ /6v!,>)7N7#O$sN%?Z)&Y N1 JF'և@x1 u7$$5 fT wG#]& e*91,PzWނ#,$ P{+@& C jƟ$&G |t,4 P?9' ` Z#h?ˊ~! = aE%F\o&e%'4-t#Z *I$ b&̖8!'D(T p7&"E*As5'"**57"$>S $' BD&Ѻ XʊFu R~-g%a{! (s"g.$!{)9U3ԝ| Fv9  /!&) *Bc XBW(2^+ K *& kg 5!ů'$*Y#q!/&kW>$Ύ]!8 % 3(Z9&f `$)r$?!1q$&Ӛ >#(W ym'EA DJ .;  &S(4&I-ik57̒[ocdN]F#8%HE#|' ~$ ,p*%&? U xe*aŭY[ / 8XXX0XX.XX(}eM k?5ķ Cx(͔fƥ(K)!'OA&ܯG  ,j r"+ %f&+GL ,Q l>*b L?GYWY YWY YWYWY YW011<1201HYWY YWY *46 i(4!- CH5zS `= ̎6+"(#DX'Q ۼ !.#"o;("8  m+${#8)*[a%v_Am")9V! /j y,s(#UӬ]DHHHHHHHHH*!8()T)>YW~>~='| $e6S x v ~£G. ("( uAY!'3*3q8"(<3)3*8"(8")}3}8" \+8"8"!8""t8"3A8"";3 F%8"33)c8"*X3k8".e8" Fډ3)} 8" \̗38"3' 8")8"33"J8"'03)3"tF3oCơONG',6 Qтz}Ҩ<3<3<3<3<355* zhZh u /Kuh!F$ !,! !|ˣF$D!@p k$  Ё ! 59Y B! NˣN 5BЁ'z+KSD/VЁ'z!/!$ ;4hS 9LˣkIS D F$Ё  )ˣ Ё/h9 kpˣ =ˣ$r Ё3D"'ٺ! ˣ +>5Ҹ!k<-h0! %> BˣS !*0? u.(h SNhu=D/ˣ yЁk Yk&F$ !Ё0:  9m F$*03 =Su;> h'z, $^>B=D*0Xˣ"'v .Ё$6D$Suiˣ ˣ0S5D$!Ё*0BYF$h; > ;6F$ 9!/#!"'ö ;-7S*0>N&g>/ЁB>/> +!'zˣ5SNF$|>!*0S(ЁukRЁB~SBЁ G!;B b>h0;u[Ё0F$ !FF$4F$F$NE8Ё  hS>!BF$"''>5͒ˣ D7+ˣn>0ˣu * *00Ё/-F$"'D)ˣ"'S/8S0h S !CDˣ : N *0!<~>$TUS;ˣ/F$ !Xhu(F$'z hh >+ >ЁS7h 97Ё'z>  >JЁD h'ziF$)h,>ND DSSk >ӯ $2h>$Te! !6@ 9F$5ŰF$/ ˣ$T/"'?nЁ$(ˣ(:S F$ !O ;F$>$T*]h C/n /7D#uh ݴD!k ~DBh 9LD= 'z 6Da!z0Ё;/ ֜Ё |S@! !g>$(F$D9ˣ;!'zЁ !S*0+ hgDB !$Ё'zED D0>h>-F$N!uS 90X !:ˣ)z>$TD;rЁ "*ˣ 92h/  Rh#hYF$B+ˣ S5>$O!e ʡF$5vh  B!ՔD0?Dk! /Bh$TΐF$$TޕЁ$TYˣ*0ǝDNS/*S 9>"':<h"'F$#,DS 9PS/!$T "'%dˣ FB7 /?>/D8F$;mD ˣЁ$T1>~%('>r&I/Z$IU* |'H!$pq$63B*=`[=4<2=     5'L p6& (:`*&E#>"09` bZ I&`c%'LvAU pV:!&S$3 c|^ x,)"& :  Q~&+0߿X $"B ? 8O F4 .F V-{ T._ a ! f%'Uٰ 9CCdҮ<'I˙'5B.Z'J " rZRP4)~IK  V#<%E5u$.}'a#!%g(&xD N )=Z$<e6a!!y/f!  K(yJ+!9#vT&q /ۀ(E0 ԑp>m/"\  ^ 2":"WQI rE ^N>ey#60h7#bbC0?[[)%E\#"s%T)*! \-Fj)?g 8m!!%.#1H!)*T"!2>#l!    WG "#֔@'~9 i$Ȅ#(2x+(!:$)(##> o4 1@-1 9 j2I@+&'G$ l 5:e9}*jގ>!Ai!   :1ɺ*3N&µ   H )#v i&ACE 5h"%N^ *u( ,Aj=%h  "_ -yٽ)һ%7V&a=e)f.<D"E #Z'd%9 ^(/8 i"!S!J'S&/s @])X + V3Z&*|ݺ Da (6ؿ "!;>$ )?Q ^ 2eE&R G!e@Z  >9[%2 T^)8#(  5$!4(w!- (# 9j&&X"\AX rZ:!'3@Z§,!#v%O z f)A%<@  _I:$C#ڄmpK, Q F%̑*deV߭ F($ %B( 0)n;q}>%.4 "5="!P&!:O$ݝ) /cC4 x c  8Ҟˉ53W(#.4e'<#bvR `!o%(e"y o }Fx<7"5e@ Nm ' xhS !!!WV #g  +- #F ; 8 'V!/ i, 1#6D#EX HG ԅ'L =0}ƌ /"#))  a",C)Ur!y&'!E N>Kk#! 7R}A*j)x-9dDI  F[& $?X%&q+LN$-#](a- F'UւK?(^$pn8s1)G :$A:A ::jwH(r$M/-< %^އ)+ CJ!d"a5mc `τȊKAo'43 ?CR 5!5)> (k znv!> b+<Et v DD(+D * [@JD='g5q pua NNaxb2GNbxcS@NcxdVIRNyUEROyVVRPyWERQyXT$N{?N{MN{DN{FRwHzRw5$O=yA O>y2O?yQ^O@yNNzS]Ox3INy$JP{k1Nwv?:PyKPy9Py4 QwHOxGOxU2OxIQ{6PQ{74Q{89;PHw0>|PIw1LPJw2TDPzSPzWPzKRw4RwLQBxP QCxQ0QDxSQEx;-M{2M{5M{NM{RjNTy64RAzK1bRBzLTgNwANw@{Nw9NwPRx6N{6N{>OyXOy6Oy8OyDN|z >PwHTPwI;PwJF&PwK:PwL4PzUOQ{TQx?Q x9#Oy45Qw :Qw2yQwL9P4x);5P5x*:Rz`FXP{aS-P{bORwxDRxxA%Q1y5OQ2y=Q3y8Q4yVQ5yKQ6yPQ7yT MvRy^3Ry_L}OyA$OyJNhzW3Niz:NjzE#NkzV,NlzBPx8VPx95Px:9Ny&LjNy'TR{?2sPw9>Pw:EPw;8Pw<8:Pw=NoRmynORnyo4(QzHQzLQzFMwDSMwIIMwQQx2N8{>N9{ P^R&vSFR'vNzK>NzGPZx?;}P[x@BP\xA<O*y,4O+y-OO,y.RP{w4P{xTP{yXIP{z3zOwJwQYy1QZy2Q[yEQ\yRQ]y7Q^y5UQ_yGNP zEQxCQxHQxBPx8!PxKPxERR{BQeRS{CTRT{D5PRU{E:RV{F8Qw?R RytSRyuPRyvG.Qz@ZQz5QzENwL'NwINwQ]Nw9gNwX.R xTNR x@HN{4N{JN{EN{M*N{L0Rsw9RtwERuwINy<A7MzTIMzUJMzVPO`w3[OawCOz:OzJOzG Oz3`NvTPKy KPLy JO!zTO"zLPwV3'Ox^F-Ox_NOx`ROxaGpQFz5rQGz8O{K O{CO{;QxFQxRQx2nPryS Psy7PtyKRRCwFPx1MPx2RRzhP`Rzi;RzjEQy{jONxJNxWNx;7N xSN}v5.Rgw1Rhw>2Nz&PmNz'VNz(?Nz)3ORxnIOSxoKOTxp4N-yiVN.yjA[N/ykWN0yl;"N1ymAO{AO{2O{HP6y=P7yJbO zRO z9O z1PxD> PxE1Ouy1QOvy2POwy3:Oxy4< Oyy5UQ8{}8Q9{~DQ:{JOw7Ow2Ow4Qy8QyKPcz5R5x @R6x RR7x TPxAPyU$PyFMR{JD\R{KTBQgwBHjQhwCbP@w<PAwRxE<O-{X{NwILNvza=!Nwzb1hNxzcQIP wWcP w?Nx?Nx@NxNkNx#Q(yRQ)yPiQ*yWQ+y7MwQMwByMw3NMw5xQx;GQx<@Qx=9rQx>QNBzrENCzsJAR/{tUR0{uIR1{vS9Mx4MxJoMx:fOz5L Oz6XNd{@ONe{A2PxvUNypQNyq8kNyr3NysW#Pu{NPv{U6OAwVOBw;OCw>kODwBPyFPy4O{ ?GO{ 8O{ @O{ AO{DQzxL@1Q{xMCP y::P!y;;Q{=Q{EQ{BQ{;Q{D]R{GBPw?}PwSPwQPwEPwM7RiyFTRjyCRky@uRlyRQz>4MxQMxVjQyGQy6Qy USN2{R<N3{SNyT\Ny8$NyGNy3Ny>^NyFRz3Rz<O wJMx<MxCOz{RNUwLBNzfQNzg=kPdwDPzSPzPQmyQ%Pz$NPz%2QwcPQwd@Qwe?QwfAPxlU#PxmFR_zF(R`zUKRazJDQ {IQ {HQQ {GQ {?Mx<Mx>RMx1MxWQy5QyBQyI9N&w#ON'w$KN(w%QRxBCRxCKNzvKNzwQNzx6fNzy@Ry{{;iRz{|JZMy38MyF3My@SOgv:%OhvR;OivDNHxHENIx =Oz:1Oz;V~Oz<2N{G<+N{HEN{I7PVx|?PWx}RPXx~=wO&ywWO'yx3uO(yy?LP{JP{V-P{>OwO OwTAOw=:OwLOwIeQRyPQSyIP{LP{< QxO;QxPOP|y=<P}y>FnRM{WPwNPwX<PwGPw6RyPRy8RyS.RyLQzWMQz4QzKNx<Nx3Nx<_NxDR y FR y WN{ZSN{[7RowW:RpwXSRqwY1NyWNyDNyMMzNMzQMz90O^wAO_w6N:x8N;xP\N<xW O{#5O{$RPDyI:PEyJS}PFyK:PGyL>aOzkN]OzlXOzmPtPwOPw6QO~x6OxSOvWOv8nOv6QyAQy?Qy9Pgz*?2Phz+@KPiz,1wPjz-CR=wmTnR>wn4zR?woIR@wpAPxqIRzMRzC#RzCCRz4FQt{8Qu{2JNx7Qy?Nyw*5Nzw+K"N{w,7RexFONz}8Nz~N NzCNzCM{?OPxVaN,y6OvBEOvSOv2OvJNx 73Nx?NxStNxRP2zDCkP3zE;O{LSPxDPx;Oqy|4%Ory}ROsy~H Q,{=Q-{EQ.{HQ/{DmQ0{6Ow59OwVOwNQz8QzQQz=~QzFP]{?=P^{ER2xSPR3xT4PyABPyBPPyC8R{7R{O R{GR{@(R{WQ`wQ MyTMyE~My?oQzAQz;QzC0Qz9QzQNfx#5Ngx$NTRWy:PRXy>N{^8)Rw^FyNzANzV=OwOSOw=1Nx8bNxK{NxHP"{*HNw1PyQ2zPyREPySPz17]Pz2CPz34YPz4LRwt8RwuI-QHxs<QIxtAQJxu8Mz;1MzVMzMQ{NNVxM,NWx9NXxONYxDRDy8REyQRFyBRxHLRxINiRxJ8RxKN+O.z=JO/z7N {CN {6/N {7Ox4WN~y3NyUPv9{Pv6@PvDNxLPzJ7OU{NJOV{OHOW{PRzOX{QLQQx:Oy5Oy>OyAQ{S:Q{4Q{BQ{TQ{6 P8w<P9wBP:wNP;wReP<wJ>RzFRzBRzIRzSP{QiP{9P{@P{WP{TP{9R{xVHQ;yD7Q<yEAFQ=yFF Q>yG2Q?yHD<M{BQw=)Qw8_Qw;QwJ Qw7eQwSANJyT?NKy9 NLyQhR8z@R9zGNx&>Nx'1Nx(V RyDRy=Ry:bRy5pRyG8O){`WYMwa1VMwbRiOyUNoz:Npz9NqzK NrzIsPwHXP w?4NxVNxXdNx5P~{,EP{-BP{.L)OHwUpOIwFOJwN?OKw H,OLw!VOMw"6PyY@PyZ1Py[CQy\NjOztROzuSOQwUQwGP)x<'P*x8CP+xULP,xCP-x7P.x>R zWPv8XPv@PvOPvRPv2Rry%LQ#z7ABQ$z82Q%z9zCN?zK+N@zCNAzQ|R+{QzRyRRyHRyERy9bOw35Ow4:Ow5D[Ow6HROw78OO w8GMxN@OzGN`{J OxG~OxKOx=Ox7NyNPPkv?*Plv7PmvHPnvQ5PovH5PpvDPqvPO8x;rO9xBO:xKyO;x6O<x<PzMT PzN5O{UQZO{VEO{WUXO{X1rO{YNRwkQNSwl>OyOOy7DOySaOy4cOyIOyTzOy?NzJ'P_wE P`w:PawQPbw?&P{0EP{1WOw&>$Ow'I7Ow(ElOw)W{Qay`2:Qbya2`QcybPwQdyc@QeydMQfye3P zzJ Pz{QpPz|T8Qw2tPx5PxGPxNPx>RYzD)RZzFVQv:,QvLQv@WRy*QERy+9PQz=SQz>GQz?DQz@HQzARQzBPQzCOeNwyX:NwzANw{B6Nw|:#N w}N6N!w~<9RxJ,RxCNz4}Nz3NzFNzR^NzJNx5{Ox6=OxUOx;My;MyDOcw>63NDxQ@NExRXcOzU'OzEOzIN{1N{SN{BPOxWPPxrRyO2RyPANyAQNyQNyHgMzIMzL_Mz:MzAMzJOYx0IN5y2N6y JN7y!NO{gOAO{hTO{i8NwqKNwr<4Nws:P=y8AP>y9P?y?OzGOzKOzV#OzL OzNVPw5O{x?Q@{4OQA{5HuOw-E Ow.9Ow/FQygFxQyh2R:wMR;w=CR<w6Px5Rz5RzS~RzQQnvKaQovGNy/E|Ny0SQzFMQzG3:QzHIJQzI;wNswENtwQNuw!)7!m$Gt$fu- ^\F#)$p+1#"m V'*CA2! o[<)-1 C 1F=|lW Qi!+&"%  }  " ;"_$iC?)w P7"x( (ie#l*C&TFEk}%ŜL  _"r%|)%7!%"7o? xj Z$f  B '_$ ,( $` @%'f+, YoYWYWXY#YX-YXXXYWYW,! SzG '? s i 6~ /[w"n #wV}}I="" %"  3C 4*! I %Rږ  /g0 JF#)]0 49jC U%ӛf6- D#k['T%8ۿz #)Y<(% $ dW%E"inA)t E*K 9#$7X&CC<%+#^'C# )w O'65&`g6F/_(#[ U(kM$T w%}[l * *Ab+ " 3G 9 [z9F @E[*,y*c;$'ʎ)$34'Zo'TT=T((bF([}>^*/(O**$D &p#ڑ*0F&d.100010100010100010*  Q0F#qj)xM= "{9Y3HY3HY3H*b3%"#U3|@)E / ՘!?9ǡ(v+I( z& 2ԕ#~% 5X\h%b*)t 'h?<1 h (0ELj*T:$V7v-$V@()' {$ 5 jO,*-v#S>#"l2AI %<$ ]ݫ ݬ Gg@g$9M  2M Q-(+D($XY#ZR?&!HpׂeA  wm9!hy2i T+(t(%#]~h4*)+7 '2!$eA M iN:za! 3/ ({,#Ri5@6 %Px ! +j"+ , k 8#)BL &!;*%ʕ4AVsí)-- &\O|%u&q Z'th!:B  /V!!; ' x9j4~V]-P0u &b#bx ! Vp #Q'}/C`C 1 ;\p D7{ *0Nd ")n2 "Q"u%UL)"\]F( Չ?  n΃8'Oǒ0#;>*2*"g%#!#>zs'qI"!F$R .?x"8#dre 91XXXX>Ap1N}X0iXX>A1NXY-XX>As1NY/dXX>A1N>XXXX>A1N6Yd-zXX>A1NY+XX>A1NY,XX>Av1NY|.XX>A1N7XXXX>A 1N$XYlXX>A1NX.@XX>A&1NaX/:XX>A1NX.ZXX>A1NY/XX>A1NYuYXX>A1NY|-XX>A1NXXXX>AU1NY.UXX>A1NXYoXX>A/1NXYXX>A1N2XY_XX>A1N'Y/YWXX>Ay1N{xXXXYW>Ao1NY|-!XX>Aj1NXYoXX>Ae1N@Y|XXX>A1N Yd.1XX>A1NFYYWXX>A1NY(Y0XX>Az1NkY//1XX>A1NY?-jXX>A41N]Y|+XX>A1N*Y0;XX>A1NdX,zXX>AY1NiX0XX>A`1NYXXX>AT1NY|YoXX>Aq1NXY:XX>A1NYu-XYW>A31NNX,XX>A1NSY YXX>A,1N{XY"XX>A<1N)XXXX>A!1NY/XXX>A1NXYoXX>A1NY]YDXX>A1NXYXX>A 1NY?YWXX>A1NXYXX>A1N;XXXX>AM1NYL-XX>A1NgYYXX>AE1NY/- XX>A1NXXXX>A01N~Y|,XX>A1NXYWX>A(1NXXXXX>A1N X,XX>A1NY?XXX>A1NlX.XX>AJ1NX.XX>AP1NX+nXX>Am1NY,XX>A11NYY3XX>A1NYL-XX>A^1NXY XX>A1NY5,XX>AD1NY|/VXX>Ah1NOY/Y4XX>A 1N"XYWXX>Aw1NY.oXX>A1NX0uXX>A1NY/-XX>A1N9Y-XX>A1NY-YXX>A_1NYXXX>A1NHY(XXX>A 1NVY]/XX>A1NKY|-XYW>A1NIY]XXX>A1NnY/,[XX>A1NY/-XX>A1NY-XX>A1N?YF-pXX>A1NZX-XX>AQ1NY|Y XX>A81N+YYWXX>AG1N\XYSXX>A1N%X.XX>A[1NWY//XX>A51NYF,WXX>A:1NXYhXX>Au1N-X.XX>Ac1NAXXXX>AR1NYj+KXX>Af1NbX+BXX>A=1NLY|/XX>A1NYL.#XX>AB1NCX,MXX>A1N.Y?,!XX>A1NYLXXX>A1NtY+XX>A1N#Y]XXX>Ax1NY/hXX>A1N|Yd0jXX>A1Nt&t  "!!!( .l |!&9 /G z) U,:Io#H. 'Ogc"@]G9(* n&>/&&ͅ(+%W NãT*)b"@]"D*& BV~%(7f *V ΍(V H0'  T.3.'GN =#3%q; ` aC$."([# Fbݦ>$4:k4 W-C5)V'=!]$̕m6.$ cDm\*U*!# &8&% h)!.)?^(,  tY>G =MT@'(;D%xK ( &  G"`  &L$' %(    u [(2 )<_:)<2-sAYCA)<)<CA:)<AE}-sAP~rYr6;  \P*;'| :'&>j&vDL;J&irr,!J!\ & %ژ bE @q!P %DTD! j|r+ bDPBL G>j&(';>j XT b" '4iDJ>j6 b&'׌&L%9Z9!P&s >jrٻ\P+| ҹ\ҺPr %h 5Ki'! b@!PJPDj&;& {TA|J Zj'T:!PJn!P >j&3 PT\J=h ,!P&`hP<iJ b%|NiD ;'w.Li%'%-i b! T BZJ |;7%9'\Prʢ b$\'' b;%hDP÷D=ch&h|JL'h&,\J- P+'!J(TJ %tT T br%G!rBD&Brdh%;JJGJۉi bj'E9T'g bԚ b>!%4>j phr +!P'0L%|P .'"C%  rjP) .u,!P b>L&r7L%]LfPd>j%j  |PӰ!P'f̦Fs&űjP/  | ?oLj&8vi'% ;!P  1SP hjr9>j'o!Pr' b&=';b\{ %\L/j֝L@%}h b''(&! 2>j L i'  \ r$T& |% >j b>j. !H'r|;J>'0Y r  @';)|h " Z P! f  b$i F%' DPD!!JD bΑ' 81ޖTJ0; jJ\r¾i% &!P F; 8Dr b?h&'%0i'8jPTP1h< ٮpҬ(vsK  CN i v,O= E5A`%h5 *2"%(ou #XdI!(jUw>ddWx(kVv|icJ((WxN^^3((WvdI b^L5((Wuݽ"L\_2:*-(~Z{ ݾ__gTa (Zw_cX_16F((dTvIdabYW ( X7xE2ihe26(( X9zIfeddL( X:xgodG*(  X;x9cIhiX(("X=xj#oi 2*(Uz.B tY'dc@(BW:vbCSaV1(CW;y gX_1W((FW>u߱J\"eM(Zyx#WfEB2(Ty he8Rvݑ(UMw_c^]S((UOz)lb@Ÿ(CTHyGla*C((FTK{)T^?((O\Wzޏ dYb:U({R_Wuݧha>O((YuuKVthAL( Yv^ScWy(wWPz ]c2({WTyU 8kc6(|WUw!SK`V()}WVzZ'im_wU((~WWxݩ#+m^m?tȚ( [Tw4$Z`;(~V;xz SguK([ wgi<ţ(UzT)eMa; R(AYY.vtUBYaFT(BZY/vW^aUf(C[Y0uފ vg0c5_Z(!mZuk U>h:O(VuQ k`1`(Vy)4o^4wz(EX&wT8ld9D(e3Xv ee<>G(VVz5aTe93$((enWuENnabP((sSvG[TfJaQ(Xt 4n4fIS(Xw4kTLf<cM(([Ywt8o8`S((U\yD 9ah~Fހ(sHVsHoCcC4((uJVxTia;<((Z0vTV_c^Vn(TZz'aGc`6(T[tU l:gJ%(Wynzi/`T;(|Y"wޞ\diL((Y%uܘjaH̃(%U yK)_kP]<X(Yy[R!^Xb><((YtN#j]Ct(Yt `ca2('HSt cdNY(cW^zi- 7Vf0WgU)((-X6zf"cWh(Tx*&Sf5V(Ut;k3^N7(#`XuhaehW((qZuy~"Gae18(4Vgu)h;hkR ((Wt;W'gI}H(WxUeL((Su`U!hO((4"UJwIl1j_hW((5#UKxd#&W]HM(Zv(ߵ'TfjI((SVtbܳ&AYcW(=uWx?f]5c((@xWu0*%WhxI(Ztu{^4fVL((Zte-nChQH(Zy_cX4^(bXZu Yg:ٿ(Yx3 O])eL(YzLragl3t((}>UwCb^3Nsh(~?Uwo^5Fw(AU{i^V((aWNt@ dk0hPEw(bWOwN@(WbIa( ZwC_dL(Zw%f^H.((rTugF^g3(sTv*`hM(Xt  5V(b)H0=(Yx~'fpf}:H(Uex<*ShY2x((Ufs%_fX(UiwO`hW;(VzN#h_yR((Vu\[a_R|(4<Z6t oh8(5=Z7v'#p+_A((PTcz`Di4((Wz*Eni8((WwChb_K(Wx%$rbg>("Y+y&#^^6P(#Y,x >nhV(Uuaof9(Vz k:eM'(Vx,de6(Vz?"jd^@>6(YY{ܣifE(@NXu$n]bL](TzY8h\fm<(dVUy%e`B(WtާEdcF>(gXtN-$gg3(T~w^kh}Le(`YCt kUbxG(bYEzkR` cE:((X@wm $kcUT(@T%uߟccc>((+U{ %\aM3 (0Z}yb+meP0(LbVpxje4G(OeVsy "UcH((Wxݳ"iJ]L=͓(dSuF[b?(URw&I$^UKao=(UTx߻g_a6((Xw~^%Xg>T7(Xvjޖ"ahd7((I#Z t܍%o`]Bb (L&Z#xܑbVHdI=&M'Z$w,Rb3((rV$xFߜ qmdI((WwcHndA((Wvމ] bT5A((@Zt6߭a~hJ@(AZytgee+N ((lUzhgl[]@C(X_xshuWcF( X`w|ܰ!TEe?((uoYw) jc6o (UtU^L(Uto^ =`NfKH~((TtSg??(Tw Ban_;@E(TtO#+pWi-J(+VtG(WgaK7(Z>vTfWA@Tit"j@^3(Y3u+nZiK\(KSVx)e[gP((LTVu.&R\eJ~(MUVzz*^Rh;2((bT z|seYc1Ou(cT tU'eM(vWpym ^i,A0:(Xs}[b5@(Xuoߖ=^_S( Tud\eV@((!Tz #xSbQ'(oKV]vJ Wfb4R(Yt(=^`f:>((Yx~hh=(LSxހ*\hU(OSuXށ% [:h3(PSzI [HfQP((hWz|ogMh^(Ty^WcGte(Ty\;*s` g2R((6YIs*U\xg9B\((7YJy&: f$]>X(9XHv]b#i?^<((;XJt&2&s]4dF2(kT,v UfJF(Uw=|jaJ%p(Zu ݃%`^tN(Vxx݅ 8j9^xG(V{tK(cTh9((V}ve݈3b^|K(V~xUVcPM(c1Wx docwC&(Sz8kSgAb(eXz,!g^1[(Zx.&oi)4p( Zwh*STh_>y( *U vx'mw^KV+((FXjt^fMXX:('Ytrga>;g(((Yzv(nv^6(3UzQ߶Va-Lt+({W[v ocaS((}W]x()[^F((HZsw&]XgIZ(*Tweh^ Lc(Wz Ynmb;p((Wyjad8<(VyTrwR Ub?((WzTsuxݬ#0Sc4H((iY7y|!d`F((yU&zHL)aid8e{(Vshi`IF(wVTwUS8_6$(xWTuj odU-(%Wwvn;hdNL(&WxwC4\ d 2((Xwjw 5la8((TzMl_^,T1(Vau3Ud[I((Vbt ed\C[((Vcy> 9XfEV(!Yu+VaLv(("Yz_)WiiC}h(SxgadG((SwqlEb1G((FWtzZaM5(HWyߢ!]^K(WXyY%j^EN(7VuZ$Eh^WL(8Vx7"heeJ)((:Vy(^cc%4@(qYQxYc)4m*(sYSut2je7g((QZywBmSeV((TZwg^M(mVwe^3(nVx#S#cr;((T5t>ܥhX)dTѶ(T6yܦng*e/UxѸ(T7yW -i\^8L(VVUvX&ZZ^C(XXUyC]{lK_t=s(eYvV,fO((uZt ^_%gJ#((Wxgc?3<(0UbzݔZ^d6l(Z3y0&ZodDV("Wx1(e|dS|a(#WuZ meBH ((4Zu7dj]B(6ZxA!MZeI5((7Zu^]ceMC((9ZxqSj]E@(:Zw h)_U )(Uw| [cee((DWdud_Fr(_GZt*edO(uTxO!lweFf(|Xxܾ)d]?1((uYv7afc G(wYvc"WdMn(T|wBaA` D(GWy]98ocG}(Zw);]^J](ZxXhLN((Zx %`ecVF(5W{sC`edC%H(6W|zJ*c"hMt((9Wz`*_V_m7(1Xt*]`"R(([VhylTeF29(\Viu5mob5wU(]Vjv>ma4(W(x(ZaL<(W*v#\yaJ`(W+yݏn[`T:((OXy$&XG_#VD(QVwFcaHO((RVvi"X\^p@((Y]xyh(^[Xp(oVw5h'_Q3(z X\ty6o`3T({ X]w"YYd7(T=tmS?_[X((Ytm_\1((Yv+#UJ_`Ou((Y s} 2^_b5(( Y s \_bFK=(MZw %S3bGD=(NZvXpb[V((PZzf_Gq(()Vyބ o`O](*Vz0ܭ hi 9O(X{#hfPA(qSv Yh1Fr(Xzkc]H`((Z:zi)gV`L((FV6s ff3(HV8sޱ:^eCG7(6Ws޳JZD`:;(7W{޴ ee1`;2@(8Ww޵2S^HOI(9Ws޶ZZ^IHK(:Wz޺)oeOQb(<Wv?<*wT]U(ZuA=g`T([y&cmaT>(([v0`Z3`KIr(WUu1 /id2R((zYw߃)XUdSj((*Wiv* )XdO((.WmubtY`29(y1Tsl'e&bQA((NXufFe;eA((YzSܺb eL((Yz ofD(Ut޸nb61((Uu-%Zc3VY(Uw^Km^GK9(Wy(k1^L:1(WxHSX bV"(('ZSwܚi_U1(YFs- TmcK((JU1uD-^Cc> ((LU3v!PCi^hB`(;VzQafR(<VwY\YQf4r((?VvrUEdB((\Wt;?&fd=((_Wt y`g<S ((DXtZ%Yc`J(TzߩhdoV((TzK'Wg/7f%(Tvxshds:((T{Ddm`Nth(aVuuFlybFo(bVvymggdO(jKYva$x_o`K(hXuUQgh*M((iXv$XLdp8.+(j Xu|ݰSxh3M((m XtXE%hesJ((TywaxahDա(Ts[LUSfV ( V&yR(/lg_>{(&YayScgaGO()YduTjcPJ(*Ye{"Wf@(Vu%Yf%K((Vwg *xk<f'7((Vy 9Y7a?`(]Xdz mS*f7(_Xfyt0o]>((UtR'X`?N1({Yv;SV`@E (|YzU"haA (Yw+aVcg5(X vXgF+((`Szzi^Un((_Usv|` ch:(kXv/\Le?(jWu1Se: (lWw#6mW_DJ((nWu%[`H;4(8UyBlp`J(:UyD"g_?r((=U!u-[_OX((pYxMUg7(qYu9zX_>((sYtޣ]\i#J7(($sUz܏]Hi%3|((%tUzd nt`AR((Tufh99m(TyR(jadK(#X{]&Z]@((&X!t'JcaG9(r(:Yx%fcBuu(;Yzcݚ5hHh3~Þ(GUus"wY^I((LZZui3'KWjb?s(MZ[wߝIb^E((NZ\x5%W[,b5<(OZ]x#s[^C,((RZ`vj J`e#Cb(4}Tw=dF^4{((SWuߏ idj6M(gU<xhdfAX(9Vw>mbA;K(FZ vx"Sa7(ST/zDy Y_aM(UT1y{.ebwP@((VT2t .SHhvCB(Ys` aLZ(Ttdje>.(TzI]qhDI2(Yt*ncB&((Sz#lbbH^(@W@z)X2b7 (BWBwoT cR#(( XsYcG(( Xxroa";#((Tu)h=aCT((VvRaaoh9G(&Xv!m,hR(\ZIx%XacC(V@tm#OSm`P0(!YzyXdA((UuWT^bt9U(?Wzy*Xd5}((>Zv ZhlP(UxXޝ_eX(( Uu .lho?( Uxb%cYhpE( UsJ#Xk^3I(2W#vQfhOi((4W%s߼be*eV((^ZesܱbeC((`Zgs]o bFӤ(;Tz-=%iNg1M(Vx~U]C((Vu% ls_V%(Zu* jb72( *T9yD [K^O((,T;uUgUM6((Wzߘ$Ab3hJ(Yt{d]=ل('OTw8 ( \aQ3!ٌ((PTw"d aRAٙ(+STwp"VVgX((-UTz$:kgG((.VTyw1_^7;((VuRZc30(Vs\%e]@{(<WHwP&sZ`Pe(1V3y S!bdOX (OYtt(/icJ(\Vzs V `@(]Vy 5^hJ(Xpu7[h]I (]UyK``P(-Yx݉%'_c<6t(tZz݊!bUc>@#(vZt!!Z^_1e((Vzd'T^?e(iX{]d:(|Ut3aZa4CnYt-Xu^V7bV((ZPx߂*^^:M(ZRtI3 jTf_>?m(Wvt"?f|bR6((Wt`^Ko(Swcmb8((bU,s(/bcALa(dU.tA l@dt2j(RrXsBneeKx(SsXtD beW(TtXyY܇ b]?`(qUu܈!T`{M<{(tUt E\`<((*ZvA[eV.(tX/zJx[`8((uX0wޑ m#hNL(vUu,ޓbhXLZ(yUu"?hQaLGm((zUyiܶ'Y]`>(7WZwLlld<Qb(8XZu>'ahNP55(\LYyj:l!c9((]MYw,efeq@((EXx:^^PT(dTur 9g?`q4h(V9x0cdERס(YyzG'k~de5((Y|w X.b+T(׵Y}vܨjb Kh6(pXwy^h^hG(kUzR _eEA(&Vxޮa^q>(Xu6&SbF(2Su8 dbV(3Tt-(V]3p(Xsݥan]I((8cZYyui d:D(AxVRsv=\gDd(ByVStkU]3((!Wz\ka)Uڳ(g'Stߌ[g!6x((h(Svh k^a3E(CU5uK!1Zgt5((+Xw` oeQ(-Xw( h^QH((YgZt5SyhBJJ(ZhZ؀"_:a&4Z- ,8y<)' k2-%Ԝ4%)fhFu(e1U %7  # "J@'@ x q ()k _  "!JZ(*^i : kc'U)/u5pb""! 3\%(6%M(R%lC  &ٴ`Ҳ"%MN *(=^ =,">=%h[ i9Aɾ!3V Ƒ*3)VUb@ ݢ)+; Ih *u*+*DC}(*)D6 * %?B*n!ˡmx3CS"5"$D0!$-?ۏ&l )" ; #!U9V(!&-"=S D - O@&[@'!NEz R"$ rTb+~ 'N(9@$V T L E(f M."^IR((iUޭ"gM((lV߯"^=((mV"^H((Wޅ"_U((WG"_@((W"f"3`((ZZ"_5H((eT"g";((fTk"_6D.((gT"a6`(( X8ު"a5((!X<L"_T ((Y"_$((g5X"bI7((h6XF"^El((i7Xߤ"d?((PZa2"_5((QZbb"_K"((RZc"b^Hu((VW"eE ((VXޢ"e9((VYݡ"a#9;((pS"a&>|((qS"a+L((rS"b&9b((U>"e5((U?}"b(:((U@"eD[(( UA"b*HR(( UB"e8O(( UC:"h2s((Xw"b>((X"cE((Xޟ"c8((X܉"h8:((Xi"]D((tZ "d8((7V"d=((W!"f[I((Wߔ"_TB((Z"_Hj((Z"_(( gT"`T((hTߒ"`;((iT."fF&((jTI"`:((kT"c3((xXC+"gH5z((yXDB"gL6((zXE"gM=(({XF!"h5J((Y"h9JI((Y"b9((?xUX"bH((AzU1"bH((B{UP"gYL((WF"^7((5Z~"^:((6Z݆"^S((7Z"_j4((-GT4"gV((.HT"_kP7((/IT"gQ((1KT"e8)((Wܩ"f2((Yp"fPd((Yrf"e%WY((dUU`"e)1V((fUW"bq2((Vi"hEP((Ve"bs@((V"hH?((V!"i 6(( Z%"eW|((Z&}"e?((Z("e7|((Z)'"i >((Z+ܧ"eQ((Z,"hC((JTRޒ"hTn((KTS"^4z((LTTߧ"hI((MTU"e8(( W."eK(( Wܖ"dx<4(( W"evL((qFY"ez8((rGY"fB1((U"]b((,UYܽ"g<((.WY="fLk((]:XT"aE((4lY"bL'((6nY"aI((7oY"aQ]((8pY"a9g((9qY߸"_>((U"h_O ((UT"h`TA((U"ha=:((U"_L((U"bF8((JWI"bA((LWK"`H6((YZ"c59(([Z"`LV((\Z߄"d6S((T޾"cBCa((T["`6 ((x%W"_<((y&W}"`B((z'W "_N(({(W "`Re((|)W"c<((ZYvs"gR`((U]߉"`LU((U^ "`K((U_"g6((U`"g 7((Ua܎"h90((tIV"cA((vKV&"a7<((Z. "a9Dj((Z/"cV=((TY9"cOS((T\y"^<9((W&"^A5q((W'"aO((Wޗ"^B5((Wp"^D4((Wߦ"dgIs((}Y#ݫ"dhHX((~Y$"aS1(($U ]"eS((&U "dJ'((@V"fE ((AV"d:((BV"fQ((CV"b<6R((Y%"b=:((Y+"dNV(((IS"bz5.((dW_"b|1((eW`"]4 ((Xe"e$D((VM߷"e3((VN"e'D((VO "e(C((VPF"e*Q ((VQ"c/S9(( Y"c04((Y"c2Jo((Y"`E((N<Sߋ"`C((O=S"`H((P>S"goD((W"cHE((W"hW5((X "f{@((X"hZR((X"bJ((jaTt߰"c73((mdTw"c?((neTxܙ"bSt((ofTy"c7^((UC"fVp((Uܝ"^D((Y;"_>4((rZ"_Q((sZ"dSP(( V,"f;r(( V"f B(( V"f Ky(( Vs"f6(( Vy"fK(()X2*"g}<((*X34"g3((+X4"g<_((,X5"dNJ((TV"a4((Tܔ"a<((T"aFU((T{"gQ((Uk"g5((UP"d=(($aX"^7G((rZvݸ"^8>((sZwܕ"h 1((tZxߥ"eVL9((2Veޚ"d;5((3Vf"eT((W"`\2((S"eQ\((S"`^=((S"e7i((S+"hJ((3!UI޷"gF((A?X"fM((B@X"i"S]((Z"cbL((TVg"cf5((UV"cgB((VV"fnX((WV"d5B((<tW/"d7V((>vW "]5((?wWb"f5x((ZO"_G((Z{"fJ@((Z"f9r((Zܢ"_G((YT"_;}((ZT"_B(([U"gQ((aXYd"gC((cX["gk1((Yx"gn> ((Y "gm7((@U"bI((`WM"gB(( Z"gL(( Z"gNi((Z"]8((ZM"^D((}pTN"^@1((~qT2"dG((X"_-< ((Y~"f;((Y"h\63((Ugܛ"h^@((Uh"aE((Vݜ"aP((Vc"`D((3;Z5"_9((OTbߛ"d@~((!Y*"`'D(($Y-"]<((U&"_S3((U"]O((U|"_TO|((U"_VU1((U>"]3'((XYm"]F-((ZYn"]N(([Y"]R((\YP"gN((T?"`2G((TB"gS@((T "b`Op((We"^O;((Wf("^"1((Wg"bdNE((Wh3"^~C((T~"^S((Tߴ"_P((cVT_"efA((|hY"^U#((}iY"a3((S"aI((S"flK((S"_!A((W#"b=((hX"hI-((T"_o<((T3"hA(( T6"ba2((MVi"_M ((\Y?*"c7((]Y@"cEI((^YA"_RJ((_YB"dUP((aYD "b7((ZR"b?((ZM"dR((Z"_<9((^V\"_J,((_Vu"`S((X>"`D((X?"`p"hX"^5((*?X"^G((+@X"^N((,AX"f?((uY"f36((Uo"g)7((*V)"aL((Z;1"d,P ((Z<q"aQ0((Z=~"d/S((Z?-"gIJ ((<Te8"gJG~((=TfO"bK((>Tgߙ"b=((?Thߺ"]Q((F-W"^`B((Y1c"gW((Y2"^e((xWr_"hC((X"hD((X""hL ((X"h=h((X"eJ((Tݪ"e<(("T"h;((lHVZ\"hF((mIV[""hR((nJV\s"f66((Yݕ"_%8((Y"f9P\((Y["`:o((MS"]zU%((NS"f=1((iW@"f8b((jW"fK{((kW/"gG((XW"f?4((TN"fV((Ty"b:Xd((Tݝ"c?((V"^<((V"^>R((V "c1((V ;"^2J((FZ"g5((VW"^N((:XI"f$M,((<XKߡ"^9((=XL"^O((>XM"gH((jT+ "`G((lT-܄"`U2((mT."hC3((WXH"h)O((XX"]|J((Z"_L5{((Z"]6=((Z"]U((Z"hzB((Vy?"h|8!((Vz "hK((V|"hT((Sޛ"hA((S"hU$((S޲"`w>((UX"`X((UY4"`6((UZ"`x8((U[S"`PT{((wZ-"bVj((V()"bG((V)"]6((V*"cT((#W3"cK(($W"]D((Z>"]F((ZJ"eNT((DXh"^J:P((EXi="a<<((&YI"fU(()Y"aB=r((*YO"a/V ((.U"^D((/U="^=((0U>"^:b((1UQ"a15p((2U^"aP((|W\ޔ"^E((FZ"^S\((GZo"hBs((IZ"]6(((T"]A(()TT"]?((+Tv"dI((X X"d'2((X Y"d(J((X"d5((KY["e:((LY߀"_I((YEUt("`2((W"_9((oZC,"_Lj((pZD7"_r((tYTܲ"cN2((uYU1"e1((RZ"e2z((SZs"eE((UZP"e((T4ޠ"f]3((T8n"gPW{((QQUP"gQ2:((RRU"gT2`((SSU"fpPw((TTUT"fq@((UUUݿ"frM((WWU"bR((fY"bF((vZ0"bFx((wZ"c4((dVV"]V((eV"]A[((fV<"]W((gV>"];"((hV"gpNo((1Uc"gsO((2Udߊ"dU((/Xf"`Q((0X݁"`8k((1Xg"`3((2X\"gR ((Z1"aS((Z2"gP((Z4J"d=w((iV0"hW((jV1"d3u((kV2"hR(( W "hMR((!W)"c;((5Zܒ"eK4%((8Z"eNR((;Z"_C:((VXld"e5((WXm"e>((XXnނ"`77"((-Y"`8>((0Y"hT\((1Y}"`98$((2YQ"hG((3Y$"h3((4Y"h>^((5Y"fU((U"fC6((U"i1((AWa"iW((BWba"gD((CWc"fI(({X"]Ri((vY"fA%((Uz"f5O((U{'"f=((U|9"g8((U}"e;V((U~"e<K((U"e=P((U2"^$>((c.Wݓ"^&O((d/W >"fP7D((e0W ?"fQSa((f1W "fR4c((g2W A"fSI((h3W "fUTz((i4Wk"g]5((~=ZKQ"aA((>ZLA"a;v((?ZM݂"^:((TzK"^8A((T{["^9((T}ܼ"]?:((|Y<"^K((}Y="]9((~Y>ߕ"c?((U)"hQ/((U*"cF.(( U+"d<(( VX"d4(( Vݗ"dA(( V"_pJw((TB"`1((T"`2((T "_sE((T!ߣ"`R(( T"E"`7((!T#p"`5U(("T$z"hJZ((7W}0"g38((8W~a"gF3((:W"h 4((/Xܤ"h 8((0XC"bVa((?T5"c74((^Vk"^M4W((aY"]3((bYw"_8M7((=S"_9FT((>Ss"_:C((?S"_=@u((@S"e7((W)"f6((NX܃"`P((PX5"f8((QX"`S.((RX܅"a[V((d&T"a^K((e'Tv"^4((f(T"bLQ ((PV"bOT((SV"bPE~((TV "^XH((Y["^oAP((Y\"]SA((^RZ^"]T?((_SZݍ"ai9 ((`TZ߬"^9#((pV"e4@((| X^"_?((T<C"bA((Uݺ"`AQ(( Uݻ"`Q(( Uz"_]2n((Y"g~S ((Y "g7((Y X"hb5$((KZ"hgA ((LZl"bZ2((OZ!"hhQ^((QZ"cV((+V4"_6((,VH"cL}((X"bA$((X"^>#((oSY"^R((pS"^Pi((rS"`W((sS"bO((.Uj"b64((/Uk4"bI((0Ul"bS((1Umއ"b9((2Un"`bW(( X"f5(( X"`dB((X"g H((Z8ݼ"g=((Z9("`7((GV72"b4((5W߿"bE((;Wެ"]oD(([N"a 8((["a Q((["^FB((UUS"cF((VU8"dQz((lXs%"aTR((mXt"aWH((nXu߆"dE((oXv"d3Ie(({Yg"eP((|Y "a;((qUݛ"a;((rU"aUN((+Wjܴ"aX8((,Wk"aYQ((-WlZ"d=~((/Wnl"b@k((Z%"hJ>((w/T&"hF((x0T"dB((z2T"hI(({3T"cmD((MXu"d@O((Y"_B;((U"b?T((U"_G((Uo"bW((U"];((U"_7$((U"_C((U"`8u((W*"` T((WK"eGS((Wx"f~J(((ZT"fT(()ZU>"eLe((#T"gyM(($T"b"F((9W#"b#B((:W"b$F((;WI"bJC((YG"cG&((YH""c8'((HU//"]:R((IU0"]2((KU2"]8((MU4ޥ"fW((=VG"^L((>V"cQ%((IZ"dN((JZ"f>2((~T'_"fPm((T("fV((T)"f?((T*ޯ"d9(([W6"`?2((]WO"d@K((^W@"`1w((`W"aDi((EXm"a3((FXn"aH((GXG"dm>((T܁"h,7]((T "h0C((TK"h24Y((T-"g:f((`Vtm"i/L ((cVw"cL((hIYQ"cAB((iJY݀"c2((kLY1"g=((`S6"d1((aSc"dV~((bS"_e9P((W3"eS((W4Z"eG((W5Z"_fD((W6N"eH((W7"eR((W8z"_iP((W9q"`cR((k Xy"`eCk((l X"fS((TT"etM((T]"ex3:((T"eyIJ((T܀"hL(( V' "bh4(('Yb"bi1b(((Yc"cj<((Z"clT ((Z"^DP((V޽"f*C((V"_ T((\Xcn"_ E((^Xe@"]pF((`XgQ"eiA7((6TD"enI((7TE"eoJ((8TF "ftI((U"fwX((U4"]:((UJ"fxDv((U"fyP ((U"a?((zY"aF1((}Y"f@((~Y"aQ((Y"]:(((Z'"hIL(( Vc"g+=!((!V`"g,1h(("V "]4((X "]I((X /"d LB((aS+"gQ((bS"dR((\Up"dP`((]UqO"^;((^Ur"g>a((hX"_N]((iX"gX((jX"`N((CZ@#"`Iq((DZA"`Mj((EZB"g;9H((lV:a"h'Q((kW"h(E((mW "bNj((([ A"hsR(()[ ޻"_K((9U "cK((;U"cQ((<U "_6f((>U"q"^r3(( Xx<"^sJ (( Xyܐ"^zQp(( Xz{"_^O((nY6"_8((oY7"_N ((rYS"__C((tY"fN+((Ws8"f=J((Wtޕ"]TD((ZC"aS((Z "aW((Zs"bf@((T߮"i4((($X݌"]H((%X K"iL(('X"]"^ Xc((9Yܓ"`U'((<Y"^ E((=Yݹ"^9G.((HU"dl@Z((IU"^;5((JU"ehF:((W"`)R((PZ^ݣ"`*V ((QZ_ީ"a4((5~Tޤ"h1((|YKo"hAu((}YLk"hC((~YMV"a9((YN$"hRk((YOb"c5F((fU;t"c:3((hU=<"b7Gp((8V"d5r((:V"_zM((DZ ܻ"_{N((EZ "_}Q((GZ N"_I((TT0"f=Fy((uJW"f@A((vKW""g3R((X"b=((YH"aU((T܌"a:((Tp"`19((Tܡ"aK ((TN"c&F((Vގ"c+F(((V"bUK((V"]?((Y"cyI((S"c{M((S"c|C#((Sދ"c~CC((S"d?((?W?$"dG((AWAߍ"`K((CWC"`V#((DWDp"dL ((EWE7"c8(( X"e;1(( X"cV((X="aIG((cV+"_OF((dV,"cC((eV-O"cK+((fV.ޘ"dC((gV/V"aG((3Ym?"aW((4Yn"h7((5Yo"dNC(( Z%"dQ4}(( Z"h3(( Z"iF(( Z"iR^(( Z:"aGN((V$"da1o((-XkW"_.K((0TNA"f?((OY%"f7Z((PY݇"eS4q((\Ze"g3@((]Z݄"bR((tvVm"eC((TX"c-:((VXp"c.J((WX"eG ((XX"cL(( Sݴ"c WM((!SW"c 4(("SG"^1((jUuM"^XN((kUv"f E((lUw"fP.((mUx"e?o(($X"chA((%XU"ck;(('X"eC0(((X1"e 9(()X"feL((ZZG"ffB(([ZH"f8@G((]ZJ"cQh((V>q"c@((V?"aD((tW"aS((uW"cA((y[M"hOE((z["d>Hg((X~"d?I((Xr"dAL_((X"c:((X"dBA((X"g`Uu(( Y"dT(("YM"dN((U"`>((>Wy"fJ((;ZD"dW3((<Z["d:((=Z\"fE#((?ZH"fV,((@Z"g>((Tݟ"gD)((T"b<\((tX("b>((uX)߇"bK>((vX*"hR5((CYf"hS5((DY"hTS~((EYސ"eJb((U"eR(( U"^29(( Uݱ"h;-((1W""_&2((3W$"h5((5W&ݵ"hN((6W'j"e=7((]Zd"eN((_Zf"e7((aZh!"e2((bZi"i 2((<T&"f>((=TY"a=4((QWr"a@?G((RW"fN8((SW@"fO@((TW"aDA((UWܵ"]@H((gYV"b?4((hYW"]J((iYX"b@E((jYY "]M*((kYZ"fI((UDވ"hL((UE"d0F((Z"f?=((Z"eE<(( +T:m"_S((W"_Qi((W"_9((W0"_@((W"_W((W"_T((W"^yC((Yޫ"gb2c(()QT8"gcW((*RTb"gSp((,TT"^W ((V#"hM5((Vߚ"g4((Y"bM8((Y"bE((Y"bVd((Y"gFS((Y]"cH((.S"h>=((;WG"_g5((X"_E((XP"_hB((X"hI((MT"_?&((2V4"_E((3V5$"aR((NYs"hTe((PYu"`?((TfZ:"bO((UgZ"`gI(( XoH"`iP((Xqݙ"^.4((Xr"dF((wTV"d;((xTWd"d2((yTX<"eQ*((ZUo"fv4(([U"e2((\U"`T((^U"`RX((.Y "`SO((/Y!"a5E((uZ"aQe((wZ_"a8T((xZ"a5P((yZ"a::((zZ"g2((V)"^f<+((Vޙ"gE((V܆"hFM((gX"a]D\((hXS"c\;((Sx"aC((}U"^7(()X"_J((*XA"_H((+X"_Rz((,X "_US((ZNݞ"_<((ZOߓ"_((cU-,"]P((QqX"^G8((Z"`XFX((rUE"dS-((sU"cK:((>W"`4((+Z"`:((,ZJ"`T((-Z"cN((^AT"aOA((_BTߞ"aT((`CTu"`E((vX1_"iJ((Y"cI((wU"aJVn((xU$"aNG(({U"d@((]W,L"d"G((_W."dR ((`W/"dC2((aW0]"d)Ev((cW2e"aJA((Zq"aU((Zrݢ"aI((Zs"`FR((}T/"`I4((~T2"`JT((T2"`MXI((Tj"b@((W"f;i((W#"gU((BY^"g8((CY_ߎ"dD((DY`"bDC((UG5"eA((Vܯ"cQQ((V"cSA((Vލ"cTH((Vi"b7((6VZ?"bC((9YZ"]6/((:ZZݲ"^;((T>"e~=((T?e"eE((T@ "eB((TA"e;((TBݶ"^D]((TC"eRG((Wܜ"eFn(((Y |"c;I((AT"c=1((BTް"c@S((CT"f,8((>V%"f07((?V<"b O ((@V]"f2G((AVq"b @(((BVb"cA((^NYc"hyQ`((_OY "fD<((S"cU((QWL"dWX((cTݑ"d85((eTD"dG((f T_"_VT((g Tt"b8((Yx"g%K ((Yz9"g&C((Y{7"hT$(([ "h?(([ܪ"gM(([X"hD(([u"bE((GV"dR((HV"b1((IV4"b9((JV5"^TWt((T] "^U5((T^:"^V9((T_7"^YF((T`:"^^9-((Ta8"_F:((jU9"_GAb((lU#"h$X((mU<"h%U|((nUM"_IG((oU&"eJD((}Y&R"eI((~Y'"eHQ((Y(A"eG((Y)"fA((Za"fA((Z)"f2((ZF"ae4F((%VJ"aj8(('Vޜ"hI((Xߪ"bX9Q((Xw"hM((4Tu"]W#((%cUC"]N((&dUߨ"fuQ|((X"e??L((5`ZVݤ"eDJ((6aZW"eLV-((7bZX"]H ((W"]=((W"a E((W"a H((W"]Dm(( W"gP((e%S"g Je((f&Sw"g=((i)SQ"^?A((DU6o"hrS:((EU7"ht4((FU8="^EB((GU9z"hwT((HU:"c6((,X?"c6((.X"^L((XfZzJ ; IJ% ͐() ;'ܪ % m%b  M MZ ;!N(&lkB%BĹ& )D&aYX#_WE?'A~͘%kƨf)&!E%Gi ܳ L>IY2 f$ \mKGty{5 *,?%j)+:$ #!  PC{X,$Qݰ*:4~߹+H! U(vD' Q< ' { !:*.B0"%p =<rL-2":%|~(y(!?> >4*CQ" ;DP= CV"(6} f1D zz6G&:v"m@ $.#*t`.'VA4S*T*M+ i #Z= Ԃ) nN&& Yq @HD?7'3)fMC Ձ D$DIw *H * wX#' ,v %! t$l <* b̀w*)])i?21O6']Y6(%L' ;2# ') ]#YB2-ZGm$^~$bp<%%'8[' _H- & k-e7%Z)w ?%)p1*| [i.c";"&[%(fY J(|(*{rA a "#ٲ&hҰ#z#% o[9*mC5)xQ$  EAy=@s$)^&+9*B:{ûC  , @!St&<%, iw tE'$4{(#3 ,?&0,/#-! P>G %-I%P< aMC_ƕ&Gj(,*XY'YD<4) /Ftw !G((,s   O; &rX*tD@y8L *|)gvDPՂ&M! d JmZx2E {#u ;H"m%Y (#B,w% i}*@da'L9J'U -9 Q2 a1#(/ :w^K'V,|Iug(# BI;' ʒdêUB6*4&rK p&' .) Z+'Ӡ o!C-`#v>E= )(!ZE!y*%IzF" !Ն%?!E΀Ǐ 8#%.(d+)ue8,! #fa|.U=f /E! )1V9)?Ū)8!j' * !#q-ʜ!'=#%F(cM ;O{& "o% +D>6( r)d B'&Gv& &@#H)W&&,u%%(3*#H$%B d)8ڕ̣g8.!&0!F D)z+;!& ~PhUa(X62pv&_ ݲN <U4#nC z(8)y5D  |a6! 5*tk["u3*/ 6f,(I#ڗ(4#ٵ(I#ڽ;%;41(#!(t1(߭2N(4#t(4#<(3#((3]#m*(4#02;I2[((I#<(4#" (IT#ؑ<(3"#'q(3A#ٙ(4#ڸ(3#ٓ!h(߂#3B;߈1F*;߂2m&(4#<(45#K;I2 (3#ZMS;J1'}(4#TQ;l2(4[#<(3#(4#t'(Y#A(3e#1*(#K(4#ڿ(4#(4#(5 2S*(3*#*(#y (3#C(30#1 (JY#ؑ*(K#*(H#C(-#tL;`2&F*;3h2m(4#K!h(4#3MS;I1L;331*(Ii#B;Im2} (4#ؑ=|;3p2&(#ث(3#*(4#Q(4o2M (3## (J2. (3+#((\# (4#<(4#ھB;H1D6;4O1<(3#!h(3#ر(4v# 1;4w1*(X#C(3?2]3(3<#4!h(3I#o(U#_b(#((y#m!h(ߘ#رa(I2#7;42(31*(3#b*(#ؿ"(K#ס*(3E#ؿ(#ٵ*(4#*( #(4#"(L#O=|;42(3##t(J2#ڽ9;2W4;d1*(#K;4`2 *(w#ڄ(3#(J#Q(4]#B<(4^#0'(߂#u(d2](3+#ب `(\#K;g2 )%(25(H2a(#8B;I1((F#ؾ'(I#u (I# (I#$*(3#ـ N(߫2P<(3#؁ v(4#w&(ܬ#A;Z;I~2(I#ھ(H#(3#(3#R;J2'(J;2&(3V#A'(q2*( #)(1,(4#ڗ(3# UF;I#1(ݳ# (32.*(#0<(3#'(32!h(4 #<(35#iP;2gB;H1*(3[#*(#7;J22(3#ڿ(3#<(2{MS;41(g#;(I1'(J#A*(42*(3#2;42[!h(3#*(H#QT;H1(4#؟*(3# q(42G;%1("#(I#-(432 (4`#((4#خR5;2(4#x=|;J%2B;J&1G;D2x:;4y2*(H#*(#UF;J1(48#k(3#<(5#G;31(I2N (1*(3#(3H#K((#{R5;H2(B2R9;42B;I1(4`#;!h(#!h(4#'(3f2*(4#8!h(#o*(3#G;I91 N(I:2PB;413(#*(3!#؜ (#ؑF*;42m(3#k(#(3#*(#(4#]L(J#:%(#ڳ(4L#1((4#'(4#AR5;Jg2(4#(I#ڽ2(5#B;H2}B;;2}K;d1 q(Y2(1;%;I1!(31 (K2R;I2(y#W4;3?1*(J#G(2S (H1K;41(42N(5#Q*(d2 (K1*(3#G N(3*2;%;JT1 v(ܘ#w q(߂1(#!(#5!h(Y#<(4;#*(ߏ#G7;Iu2!h(I#3 (2. (4j#MS;1(4#(J#((t#b(4#(4#B;H1UF;1*(I#y7;4D1(42a:(ݳ#9(4k# (3#؟(4#*(#;Z;B2*(4n#r:(3#((#ד(3r2R*(J2(3#L(\#p(Hw##(4t#C'(J2A'q(4o#ٙE;32p*(#ٍB;H1(# (4#<(4#؁*(3{#ڼ,(J#ڗ*(ݷ#*(d#8*(4#$B;I1<(3#(H|#F'}(#T*(#"(4y#O(3C# (#1PQ;Jk2+(4#ڽR;I2*(3#;G;2(J#Q(I2M*(4#גUF;41%(3#ڳ(U1((Y#خ<(4{#0*(ܭ#(޳1\(3#CD!;H28?Z;42G*(#;T;X1 v(># (#ھ(4Z#*(3#B;H1!h(4#@*(##؜L(3#:(3K#!:;L2(I#Q'}(#(F#*(#*(3#K(4#B*(J8#(3# `(3#*(4#!h(3P#(JL#Fa(I#3(#4(3#Z(4#La(2`*(#$<(3#D q(41(J2a(J2N*(߫#ـPQ;32+(J#;*(3#ڄE;_1(3#9F;4 1(3^#tB;I1'}(#}:(4#$ (30#$9F;Y1R;42"(3#ס(3<# *(4#(4#t(3a# *(H#y(Jg#?(4#(5#L#(#غ(I]2M(H#?*(Jt#G\(1#C(H#*(#e3(4~#٪*(#גD!;28(41((Ib#خ!h(t#@(J#6(1(I#MS;H1(3i#Q*(4#ג(d2a(4#((3#ד(I#PQ;2+a(Hp2`*(Im#Q (31TQ;32 (#B;H1*(J#0'q(I]#ٙ (H##(I# (_2,(4E#*(4F#PQ;Hw2+:(4#9R5;32<(3S#D7;3b2'(4#u(4#(4Q#J(߱2 (3[2<(3#*(5#C(3#'<(3#0!h(3h#3'}(4#} v(3# *(S#>K;J1 (4#$ (-#<(3#׻ %(U#;-(2(3 # (3!1a(42`(4#׋G;4n2x(3#p:(U#$&(4#ثR;Jt2? (J2L;S1G;32a(4#'}(3#ٻ=|;H2(3b#ڽ2(4#((I#{(3#F'(I2R;32?(5#'(#?9F;41R;߭2<(3#(4#_<(3#1;G1=|;H2G;J2x(J52a6(31B;42}T;51L;42&(3#J:(I#9*(g#b*(h# TQ;H2?Z;JL2G (4#W;2#3(3#W;42#*(H2(3o1(4#׻(32 (%#3(޺#٪:(Hw#2*(#*(3#(Iu#ڽ*(;#Q(H#ڽ(4#kR;I2 N(2'(I2A*(3#y (H}#ؑ;%;1E;'2p*(3#ٍ<(42{)(4z1a(#'(߭2A,(#ڗD6;I1*(3#D6;IC1 (##2;J2[(R#])%(425*(D#r(##(3#*(#ڼ(3I#5(3##'(42A(3#k (#7;1B;I=12;ݳ2[*(J52 (g#G;I1C(I#1'}(3#T N(32P;Z;3L2 N(-2((߂#(4#C(I2N(4)#׋(H#<(4#i=|;J 2'(I2AP;42g!h(4#ر'q(I#ٙ(#ڸ<(4# %(4#;(4j#ب(I#*(3#e(߈#B;I2}TQ;I2)%(H25(3Y#R;J2?*(J# (I#(3#B(4#86(2Z:(3#24X;42L(f#:*(h# (4x2,(3#(3A2M((4#{( #Fo  v'!9 b 1Od@X a\YW|X qYW#%\Y qX:qY ,IYWY \YWIY #YW.YWYW jX<uYW$L; }%w) #%&"'" F-"W$rrc""-}r zs"(rC!K("Sc"sr\(r>'"0(r5(!,'!c!8-!!!!$r-!s!A(!C"![}r}r"Cr$"(AIBIuu(A =AM@qI;OM BC\  &\ODqBFIuFBGB7qAC MO\ AAI jO 77MM>MIq Iq OIIBM? (I quMM qMMM8 uMAI Iq7MM O&ABqO7M9 q I)ABM7ICOqFOM I A<q M II7qMM:77=@Bu7B(C%u#I7IDOAIM77OI7q\I  IME<I9])/&+:#s*,#i{Tʩ+(MA1*Ӳ  =3 nF*| '$:S'Gd w(7&\"_#T(Xw P'(XAif=X%h"% iπNȆ * 4 Ak,  ä@^%߷? 2|Ce'Lp Q &2ś: aK Y7o)e"| pՀHxm^o+#'%' l An  $<Kj%<1"($'T)!J  4K6 $B%EP0'^;& !3[d$''' na$0Er ):(R3'xZ S,"( &6*mz'߻   T(#B!: ;!;}K!!43 -w**F&[ / ]٬>C?ҪZ!e5>!  'FK nH'| r%z2E)C kR!<zA5p.Zy']v c"- at# D=V x>%e/b$ x(uqF*j0! 5 #PI& |E,ԍ>  ƙ/ "6 N"\>u+7^N?&W QWkXe"o)PXFf?c!8i(1D4&". 2:#]VS G i֐@ #z';)ȀP1 $}U$ "!*\  :@G&q0@$/-e9f&nUC$$6'ohފ Ae<  *:ɶ3J% ±,.#6  $ 9#' "Ay&(4-~ 15EN H,d"%Ԕ|Fm8p * i=¸%h & 4;-75L<R|O2j :1ۊ #ԛ %zFt!P8w  *#'"$M&¿'Jf: 7(2!JO^C" " +&"] yp"p%LEC^BB!BBC;5BC'CC-CIBC-C.CJCiC_BCR{BCFC(CCUBBBCCaB C<CoACBBC/,BBCk7BB&C+'CCCKLBBC"C#BBB$B%C?C,9CqCrC.CLBCBBCmBBB6BCXCDCECFBC$BBCnBCb(CVB CJBMC@BCYCC C2BBC CpCWBCAC!*BCCC B8BCcNBBCBCCC0CuCfC[C\C BC6B+C%|C&}BC BCCsCtBBBCCMBB:CgCCOCPBHBIB<BBBBCdCeB~CNBC1CvCGBC:BPC/BBB)BCD3C3C4CwChC CQ B"BBBCCBCZQB0B1CEKBC5C?C@C`CCS B4BCBBBGC7C8;CjCzCT2BC)C*BBBC]BBB BC9#BOClCHBC==C>>C  "-#%#){)=Fl*A7%%%0"U#U)U#U AjU.dUYG&*"A=bA  1P606060506$0605060606 05060505060505060506-0606050600506 06 06'05+6#06+06"0506%06/060605060506.060620506 050606066050505065050506060505050505050506050506 063050506,0505050506 06&064050506060506*05050505605060506)06(05060605060505050610506!0)<Ҿ$)J2P"]DA 9+&kE%H"p y,x S6;! /)ѷ.^ '*!t +52 ':o {$@uI+)J9^*Y%'X9 D"&,:t',7&|>ʪý&0!CN. .*p B$2dӳ#}!U v = mj4$1 F+$$  } j>'P@YWY"I'AYXY>'//YWO$xYYD?A//YWCM YYYoL'BXYh7IMPXYo{XY1N|YXY=;&6YYY"7~&Q--YWOw(YY?4LXXY 7'YPYP?VYYYW8@BYYY D(YYDGEYYXEFXYz;&YYb2(XXY3'YXYP YYJ,MfXYg3+YXY{I^,YYY K9Y&Y&YWFe-.+137'2YSYSYW6!&gXYYR&Q//XOMfYVY *&YY&/]/]XFK(YYXCYWYWYW3(`XYgYPH//YW@XX;%Y Y:E'Y YsM&YYm:/%YoYoYWG&Y=Y=XU(eYkYYG)&UXXE-Y XX3aHYPX1:hYsYsYW=nXX]0XYoYPBYYY V(YoYoYW9YYMXY-&Q,,YW51&XXY I%XXXP|..YWI;kYhYhYW<YX;%XXY >XYkX4,,YW'VYYYW6aYX;&xYYYWPVb.-zV.cXYhX3dY6Y;cY0Y0YW2M'WYoY"Y5gYXYXhY[Y[X7z&yYYY ='XYnYnXPY[Y[X3=aXXQXXY"6YGX3LYYX2$YnYnY"MYYY BS(#Y/XY3?'YuY('YMYMm7'YYSYNbYXY>XXX?(eXXY2Y XXVFXXX? YYYW2($Y:Y:XV'XXY 8(fYXAq'XXYWBXY^YR&HYYBY Y3?&Q,,YWE(YPYP?8&IY=Y=?F7'Y}Y}YW6' YsYsYWST'HY|Y|XI:,YX+;8'Y[Ys2-XYYMd' XYoY1a'XYYDWMBY)X'XXYWQYWY 5YWYo=&:YoY")9&YMYMY"?xY3Y3Y R&//YWAZyYkX=dzY0XH'GXYb1-Ao{YY3H(YoYoYWOaYWY";|XYsXX1N&Q-N-NYoSoXX1NXY[ 'YYYWOU&XYkYC--XM&YYY"IY YoYaQC&YnY!XC!XYH/1/1Y 4XY10KtYPX1CIYY66&YYYoX~XYY6>Y Y:3NYX?OPYYSYPEQXYm&XYhYCdSXY6TXYs1=M)YPXVXXXYAZY;XNY Y:9XX?XYSn&Q++YWPg/d/dX3XX-#-#YW:YXD}4Y XY7YWYWYWXXXXV[YsY&X7(;Y"Y"Y"Q1YDY[1NsYWXGWNXX?+vYWYo&XYeXE.YGYGY"5(=YoYoFo';YoYoN&Y:Y:>D&Y}Y})\E4Y"XYM7Y3Y3Y">mY X;'Y:Y:YWJM2Y3YL&YDXMYY:YK'XXYoTq;YsY&aYYJ5?'<YoYoYW5F&XXYW4g&Q//Y 3fXXYW5&Y=Y=XU%Y5Y5Y"N&YoYoYWH[&//YW7((XXYWAkXXY;m,=.1B9MY Y YW@Y Y2]YhY1NYWXAA'*XYYX?'dYYEXXYW='YYXQwMWYJYJYWTXYOYY&1N YEY1G;~&Q/j/jYW3'UXX L &4YYYoO'&1YoY"YHiYFYmR&5XXYW=jYYY CkXY&+;LYYXSYWXMhY XHjY X='YYY KPlYYY"I'XYhY;>%XX)\6<MGYYPm(XXY 4|F0c0cX8YsYsY 1'YXXI'Y/XYO..YWRaYYYaR'YYYo@YWX1"T.%,Y}K/-X:YYY=Y-Y-X<XYsNYWYN@+YXX//-O&Q,c,cXR0. . XF&XX)\U'7XXYW8'[Y:Y:X6y&XX)\E*-,%4&YoYoXF(%XXX65YbXYaW9Y Y YWJE&YzY-YA(YYYXMqYY:YB&Y=Y=XDR&XXX?9(Y:YBl,,;OYWY"Ub .,,YR(vYYYWUaYY6WcXX.h4&3YYX:&YYY 7afYY-1Ng,A,AYW9.YXL@YWY"I(XYbYIE!YYYWS&Q,,Y 5&Y"Y" EYbY'[YoYoYW3&YY5(YY)\1#XX1N$0202YWUYWYWXA%..X6?'XX3YWY 3n*XXX=z(YY&Y&XSY Y"1NY XD'XXYWS%XXM&cYGXYOYXYVeXYs7XY:Y{IYYYWFzXY1J2XXYVY Y YWQYYYWS<YoYoYWMYY3YAD%XYXRPYYJ)MVY"Y"Y U5XYxDk-,/&Q,,YW9M'YSYSYWGv.2.2X4Y Y:1 @Y X1&AY&Y&X7Y X;XXYWN<XYD11tXXYWU='YYY QYYYW9Y)X:&YY?>hYYXF&Y:XYJYDYsMYY:YBMXYYV`-8/3}YnY5D &Q.b.bXWXYkVYaYZB7Y XYb;nYX;(;XXYW=YhYhX;!M(YY:Y2Y XJ(EXY:.-#XX;&XXY @ YYSY1d(FY2XY1'>YYYoAoYPXYaM(GXXY"MbYYPYWA(HY:Y:YWL.''YYYo=(IYY:YCq&Q++YW4?%XY,YaOH%YYY"OMYYY"VBYSY?&YY?CCXYb+;;&XX5yYWYo1 Jh%Y9XX:IYoYoY MWYWY  Y XRv,=,X:-wYYX8'YoYoYWI'\XX 4yYYY8YYYWC'YY)\8YXX5zYyY5(YDYMY Y XD |YY}RQY Y YW>LYoYoYWHV'YXY;pY Y:7d'Y[Y[ :yYsYOmXX]MYYJ6(XXYWNcYXX9 YPYGoYWXE&Q0505Y B'YXYH1XXX;(lXX5YkYkY NM?YYYo5ecYsY&X2SYbXXW'XXXAYGYGY=YYX; --X@..XQ&Y:Y:Yo3YY&TYzY1N(YYY K]'YhYhYWGYWYo1N7++YWPo9+-0GI&JXX6i'vY:Y:XM(Y:Y:XV'XXXE &KY:Y:8<//YW5=YhY18W7>XXX='wXXYC7'xXYY4LXYY7MY[YYOBY"XYCFC.n.nYW3&LYYX65YXH&Q,V,VYo7YOYg&YYYoB(]YYX3Sw,,XI&YYYoK*XY-XWXXY 3vyYXY4&YhYhX?'XXYX;F++;Y Y"1NY Y<YzYzYWTMLYsYsYWD&XYY9&YYYY"5MYX)\YX1,>MvYYJ8i XYFTXYYWFLYY=Y:B5YiX;OXYs T=YWXO&Q..YWAYYX5j(nYDYD ?Y(oYYX(Y Y YWLWLXXYWNXXY 6&YY@Y9h(XYYKYY;Y YOYDY;YYGEYYh4/4+4'*YXY?v]XXY @'&YNY.`-.N1NXX1N&Y&Y&YWJbY Y3K&YoYoYW4dXXX@'YDYDYo@YYY KM$YYJ5vH,,YW:&Q..Y TW%YXYa:%XXYo:%YOYX@YXYsYWYoT..fYU(7XX M'XXT+Y-XVXXYWEYSX18M{XXY A(XXXBM|YYY"IMYY:YSXYz;YzY1NYPY<XYs;&Q.o.oYWJ&wY:Y:J'VYmYmY N ,~,~YWP&xXXX3`.V, YY@Y=YYa8 Y Y1L@-00>'WYY:Y3XXYWSUXY;&yXXXU~'XXXXNY:Y:Y FXYGWY X;YvY)YSMsXYo,XYXB8(XYYYoP(2YXYPSaj04,1NYhY.5EJF XXXUY Yo1Y)XYh2&Q//X4'jY:Y:Y"S&YoYoYW:pYYX1'YYPX='kXX)\9%Y1XYbYYLYX8(ZXXXN([XXYW9gYWY  XYMYWY"4Y XY5>[XXY";XXD(^XXA XX(_YYv1?]YX-(YoY"YOd^YYY CYWY Y7:aYvYPb,R,RY:D;(MYSYSY K}cYDXY YhN?Y Y:7(YYzX:a//YW:Y=Y=Yo5lXXPY YPAa//^;a-P- ;YYYWN &Q--YWW&(hYoYoHP,,YWHE..YWOLYYYoK'YY#)6'?YCYCY=6'YHYHX@zYY-bY7Y7X7r&8YY}LYYYWRB&9XXY 5 YaXL8&:YYP B'rXX ?|XY"YaVaYX1NY Y:MZ YYY ?(Y:Y:XKEXX1=YY@OoYYJA &Q,','Y >(PYoY"YP6'YYY"M&;Y:Y:Y"6GY:YPXMXYY=Tj(QY&Y&Y?'YY:Y<'YYPYMYYXAXXYW?E+/9,:00$^%.,YJV'>Y:Y:X=XXXA%XYaY?xXY-`3Y:Y:XDFXYeYLY YT&Q,,YW28(YUYYDVl+_+_YWT/mYvYvY"Pj(XXXC Y YoYaOYoYYY{>sXXX4MYkYtXXYoQ+@YWY "YYY J'YoYoYW;&cY0XY8S%XXX? XXX2 YWY";Y3Y1<%XYX=%XYMYU4YY:Y8MVY Y YW>E--YW>)Y YNHYX>Q&Q..Y";sJY[Y[XD(@Y:Y:Y"LI(cY:Y:XK9Y~Y~XJYWYo1UmPYbY=1A<,hY X;M^YYXJ(tYoYoY @(aYYY"HfxYWY";(uYMYY=;(YzYzY"9&-XX 81=YaYaY U'Y:Y:XBM@XXYWM9AXXYTYYzY ;^uXYY7U&.XY},I&YYY ErFYeXVHY[Y&;&YDYDYoPKYbYz1NMYY\G&/YYYWAYYY 2&Q,I,IYWV&YgYYWeYY=8F%YYYoW&YoYo,L%XXHMXXYWD'MXY&YoYo1v YYDXQXYs1 QYXQXY0RXY1-P/-YWY":cY&X;(YXYOY)XLo(YoYoYW:F--YWX(YY5YPFYY1N',;,;YWI ..1ES(YYPYOY Y YWOXXY:JY~Y~YoJ/Y6YM1N&Q//Y WXXY :&YDYDY 4['jYoYoYWO&&XX)\@XX)\YDY7'YoY"YPFJ'kY"Y" BXY:Y{7XYbYA9~XXYWM#F|+x+xYWO-&XYoY;0'.YDY[1NYX;(XYoYoYW8(2XXXGLY3Y3s&Y:Y:XONY XYW/XYY}>['Y:Y:XB MBY^Y+/Y=.k.kYWA&YDYDYo@&Q00YWSXXX7aYzY-m%YvYvXJb,,X6&YYSYO&YYYo;%XXY PcYyYyY 7eYJX+;Qf&YVY Y=OzgYJYb1,3*hYbYYPW&Y"Y"Y JyiYYXD kYXDuY Y"T'AYoYoYWVR%YsYsYWGk(XXY:CM@YYP"nXYJYa7oXX1(H@pXYSYa9q..YWUuXXY"AwYJXU&YsYsYoO &XXY"2UY XMWY Y1n&Q,N,NXN;(nXX1(oY"Y" XZXYoYT&YvY)Y9G'Y-YD/@2T+YXYRQ,XXXE\YbYbYW8q0YJYb1NJYYXD#KYhY3;YWYo1NLYJX$YWXMXXX?--YW@RXY"SY3XQT,,XSUYdY9L(vYvYvY WX//XH$YXYs1DP9ZXX6#[Y6XM_XXYWBWYWY D 'TYYYW;&YYX9`YX;YWY@[&Q/B/BYWXXY Q'YWXR'AY3XX8++XB'BXYd>&YoYoYWVsMPYPYmCXY1NYzYD3GYDY;HXXYW9@YWY(Y Y:RM&Q.,.,Y 4'/.IS&XX)\V$&~YhYhX3&Y:Y:UYYYa;YaYaXE. ,XXXQ#XXX8JXXY 6&YYYoEaXXJ!YX<,,Y Qg#+W+WYW?y//YW5'rYY?W&-z-zY Fq(+<+<YW?7&Y"Y" O)YkYML^XYS5RcY XPZY:Y:Y 8j'sYYXS*YzY1NZYSYSY 4\YYM8YWYoB4&Q.k.kYW5of+/}XU&XXY:T'nYYYWBMPYY: &YSYSXMU^-+61TR_YsX<[;XXYWC`YYaQ'XXXS=&YYYoP&YWYS'Y"XWaYsY1NfXY[U`+^-M}%XXYWJ`YZYT&YoYoW'XXXR'YY?C++XNGMcXXX1%YoY"YPF_YJXYa2ZXY +++YW?YYXXuXYzEZY XR-Y XYOYPYPYWGE YDY[1NY Y"1N7Y)XG&Q+\+\YoOt8YYXBn:Y6Y6YLY2YI`/],`,.01N&YYY"UYDY[1N'XYmX=]XXYS4&Y:Y:T"Y-Y-Yo9XXY-Q'Y)XY@\&YY3YM$YGXYW'YYX2&YoY"YPBXXYW;%XYs<@&Q--YWQY=Y=Y5(Y:Y:6.!.!YW5'YYJs%YYYW9#YX1):?'YMYGG(YkYkYW4 +YYJ*(YbYH'(YhYhXT')XXYo5M}XYoY@Y XV/Y-YD1NcY3YJ1N3Y XD(Y:Y:Y"8VMoXYd'XXYWO?XY=14oYYDY[QXYsI YJXYR:YY2YTXXK4LYXY>XXYW&Q,w,wY Vh'UYY?G?LXXX;0YYX=&1XYhY6&2Y+Y+YW9YYY D@Y Y:HYY&1NY Y Y ;YJYJY X'YoYoYWOrYVYgQ(TYYYo=aXYYa3<YYY{9dY Y"-1/=/=XTEXXY Ds&vYoYoYW42YVX'YY:YM((iYDYDX2YkYkY KXYYTMXYYWBYWX6&Q-r-rYW;8/,L'Y3XXMY[Y?(lY:Y:XX}M?YYY"UXXY RXYX?YXF{MjY=XY<Y"XYA~'YhYY[B&YX@'YYPXTEYYX@-(*YY:Y2!(bYY62(+YY#)W(,XXX4IY8XY7J..YWNLYhYhXNF/</<XPY0Y0Y LS(-YY:YJ XYzEPY3YJ1NmY Y"1NXXCj&Q..XP(XX6k' Y-Y- 2'XXXN' XXY 6'HXXX9XYbYa95'XYSJY XYT*' XYY< 'XYYOJYYJ*'YYYWNYDY[1NbYYXKTYYYoKXYsY2o(Y:Y:mW(YY:X2MY#,YYXF(Y8Y8Y 55XYR^..Y"6Y X8 M&XYY1'2YYY QXXY@XXNYWY 8YYb;YY&A&Q,,YWOcq.(,YhPXXXMXYUS'Y!Y!YWP'YYY"3'XYYS%YoYoYW5%Y"Y" 3'YMYM?; 'YYX6Y-YD1JH!YYYWJ'XXYo3"XXY 5'XYGY:YP1NYY=*YMYP/0xR(YYY"9~'YYYOMfYY@YDX&Y:Y:X>YsY1NXY"YaMYYXPYYYo;XXX9MYGX"%YY:YI&gXYoY7%XYY8!XXYW:Y&XJ#YYSX6"$XYYN2'YX@'YYV7&Q+/+/Y ;MoY:Y &YoYoYW5'YVYVYoEVY)XYA^YMYMYWXOWYYYaC-z-zY"6(XXXAdXYM5XX]]XY1NRY Y:R%YY?1%YsY&X8kY}Y}Y 9m&3Y"Y"Y 5nY-X83XXYWSR4/K-Y>CYGX@6YY1N&Q++YW2(?XXUi(@YXYQO%YYXN9+Y/]Y5Y XXH#;XXXFp(aY6XY?&)XYvFY6XT&*XXY"Q(2YoYoYWC!..Y >LXYIY&XXY ='XXY =&+Y=Y=Y"UMBXY}"*YYJ;+XY1N&XXXUXXOYMYMYo46XYbYEYOYOYYjYjYW:YXXQY:XY6aYYY FXXYWE/XYWYJXF(YYPYS]XXXS4MIY[YYU5YXLcxYhY3;LXXY B?&YYDXCYeYeXX'l,F0=Eq%YYY H'YoYoYWX;YsYsXVYzYzYWG/LXYY7qLXXYW=&HYX:jOYYhCuP-q-qXI&Q..Y =RXX1N%Y3XXNq(XX)\=&IXXWTXXY"60UXXYW:q'XXDqY Y".hNx=YpYpY GYXY=YS1N'XYoYV MBYYG'YPYPYWH(+XX)\CdYYY 5(,XXX:{IYdYdX<-:/1T kY Y YWN'YY:YCUYX1NWY:Y;qYWYJ:r.-E-&Q//YWIN1XXM1&XX?>&Y=Y=XTH XYm--YW>&YYXH&XXYW@(]Y"Y"Y E\YY==&Y:Y:XQ&YcYcYW?yYY3YFXXYP`..YWUXXYR0 .9XYI82&YYY"DNXY;'XY}Y}X@2Y!YPG%YhYhYW;(AY:Y:XV4XXXXH'YYmF6YhY:YkYkXU'Y:Y:X>8YSYYXqLXXY Sw9YY1A,3+3<XYz9YzYzYWR@XXY8&Q+Q+QXI1YWYWYWEY-X(XX '(YYY"L{')XY;S(Y0XY1jXXXP(XXY 6C(YYLYPUY3XY=N.YYxXC_/YYXGXXX50XXY Nh(XYhY>&Q.G.GYW;H ,,YWG'YoX1K@XYY8[&wYY?F&xXXYW>EY6XY3]YYOYJ1YXL(YVY!P:'(XXXXf&yXXY"EMLYYY ;%YY5XN'Y:Y:YW:%Y"Y" O(YoYoYWNb?XX1N'XXY 2YWYWYo<# XX;YWY'XXXH<=XXXF?YzY-Y9@-/X?&YPXSBXY;CYPYPYW?^DXXO'YoY"YGg'XY&Y&XUqY Y"1NYY1NbtYX;0YWY"@`XXYW4b'Y3XX<(YoYo,6-v-vYWLY XYAY0YYRC*9YYXMnM&Y=XYD~'2XXY JYnYnX>YXYa6&Q-l-lYWI(3XXY >Y[Y&&YYVJ'YYX:na+,1N&YYY G0XY"YaU/XY0AXYQ'YYDYLd YXYE(DYoYoYW1}YWXGYYEG`.-`YXw'YsYsX27XXX5MkXYojY~Y~YW7YX-&Y)Y)XR\&#XXY 3'XY}Y HXX1NXYzO&$XX)\6$.'+37*MtXYgY<&/XXX:*YWX&Q..YoV/e-=RYYX4'&YfY(YPYP?1mXXXCw/YWYWYo2M%XXXX#XX;XXX8YY31N //XKM&Y:Y:Y >XXP(YYYo6 'YoYoK)//YW?'XX Uw(Y3Y3"VHYYYaT[;Y&XX9YYXNXX1N+,JYX5b&Q,,YWS`%YY<Y<%YY:X?%Y@XYSXYY?JYWY"9(OXXY"A'YYXMs--YW;..YW9'YnYnY"W}nXY-JpYDY&RMeYYY :YJY;YX6&Q++Y B]'YPX1 ;&BYDYD,7}XYXGAY2Y2XDYX;Y^Y^X6'(Y:Y:YoSXYsYLF--XGFYYJ;Y Yo)XXO*YY[;,YzYzY F'YoY"YP6-'Y:Y:JqMfY;X('YY)\E+'Y"Y"Y FQ'XXY B/XX1N&Q+_+_YW4-:-:XK&YPYP?;U&XXYW8Y/YF;&YY)\TXXYW1IY3Y3Y EXY[Y-6XY61MqXYTIYYXEyF+Y+YXP+o/mY3X;YWXDXXY NBMuYY: 'YoYo? YYY"O]&<YsY&YNaYbYDRgSkY XYHXY-`Nz02.Y}8wXX1NMXYY5Y XJMXYYVxfY3XW^`{,i,;;&Q--XRN'yY:Y:9'YY=YU'zXYYL]'Y:Y:Y"R}YXY{WYX+;D$'{YJX13XXYWMXYD9M)XY:*`(YXYoYD;(XXX6^'XXYW2ZXYY8aM/,,,X=*Y=Y=Y"O)'YoYoJXYD9YyX &XXY"HvY XYT(YnYnY 7-YWY";(YYY F&Q//YW6n'YYY"2'Y(Y(XN\Y3Y13X XXY O>?Y2X?c%XXX<&Y:Y:<T.V.VX=[VXYYL%YYPXE`&YoYoYW<XY"Y"Y Ir^YX6ZXX zYhY39[XYzAMY^YY: &Q//Y 7%XY[m!XXY ; (YoYoYWBYMYMYWBYXY.BaXYkI-z-zX8..YW:YhYhYN YSYY:E(`XYYDW/XXXD8!YYY V<#XXXF$YYXBf_Y3XIY3Y!a,R-1NwY Y:8YYX5Y)Y)YW=YbX+;U'//Y K (YY:YPY[Ys1NYYYP XYeYhW"/,P7XX;YYG&Q//YWIMkYX)\YSYSY5'YoYoYW1XXYo?nYYYa8oYDY[1(OPpY&YYaC&YoY"Y3wYY3YOkYYXG2&]YYYoCOYeYeX>J(+YYD(,YPYPYWI5&^YYPX=bXXYW:WY Y Y Cp'YoY"Y7&_YDYDY :|&Q+G+GY"3(YYYoQ(YYGF4vXXX:}&YSYSYWMLxYDYDX7w YYm=(YYSY5(Y"Y"YW5^/t/tYWU'XY^dU&Y/YMYYL'>YYXN&YYPXG(sXXDXY-Y{VYXY[=\8YYYW?'$XXXQXXYWNYYXKIXX1N+YzX&Q..YWV&wYoYoU%Y/Y/YoHN'VYYX3w7XX1,U:XY[Y-Q<XYY1&yY"Y"YW:=YzY1N'XY Y X3>XXY"GQXX#2,+YWXW'XY-4'Y`YXQ'XYYv3'YX%YYhQ9XXXUXYYU YWX%YoY"Y3'XXY S'YSYYJB'YMYMXS:XX1NYDY[1NYWY XXG&Q--Y W'yYoYo1R%Y:Y:XL'YoYoYW> XXYWT00YWOYeYY}<|&XXXJXX5XXXXF&YkYYG(Y&Y&Y H'YYYWQY:Y;b-E.~1NY YoLXXYWSm' YJXQ(XYh:s&YoYoYWEd&YoYoYWNI+z+zXT(YY)\@//XHY"Y"XR YYU3(YYY =@(YnY!YXgMYY=YLa0r0rYWV&Q.).)YW@ :XXYoX&=Y3XX8Y"Y"XRtYYY{FYYXPYYJBXXY-O&>Y0Y0Y @&?YhYhV>&YYYo8y9XYSaYkY0B YXQ++YW:u'>XXY"2(sY"Y" BXY:Y{<$+/B '$Y/Y/Y"PAYJYJYW2[YWY -`,+/.+:Y Y9DYWXK&pXY&7&Q//X6YXYP<&qY:Y:mTf%YoY"YPKXgY=Y=X;Y Y YWOhYYY{C(%Y)XYQjYXWN&tXYb1-B@&uYY6YAoXXYPSsY Y:Fv-F..hT&XY[X:7%XXXL'XXY NBYXXY"Ya;LYX.N`.E.EXQTXX.56Y[YFYVY Y:GLXXXD'XXY KqYDY&XXX1Y Y YW2YJY;++YWW&Q-H-HYW9MEYY:"YY[1FC]'XYz3M$Y&Y&YW>XYY@D%Y}YGQ&YoX#kYWXJ(XXXY AY(2Y:Y:Y"CYYY F>XY1F7jsXXR'YYYoK;/.,eK,C0:YYe;&Q,6,6Y GX,,DU '7YYPYH(MuYPY'FYGYG SLXXY :9XYm&Y:Y:YWH(%XXXEYMYMYWTX':YX0?M0r,H1G(&XYYTb,.1NYYYWIYoYoY"Ue(YY6XXK23Y Y:HYYXKYMYLmYWYWY < XY}HiXYYWYoBYWY 8(XXYWVnY YPRw&Q,y,yYW6& YoYoTYOYY>&'"YYPXU!MfY5XYKYKYW?YYY"Df-,sX1(YxYxYWO`p./1NYYY >MXXXP'#YJYJY QXXYW5`XX1NbXYs6cXXY 2%XXY AfYSYSXX4&UYMYe?  Y XYBkg,R,RXMHY3Y13YoYoY 9&(XXXMY X<MYYSiYbYbXGYWYo1NjYYY"<YbYz1N//XF6.j.jY 6,,YWH &Q--Yo:GYsY&Y='OXX?T00YW1(kXXY Us'PYgYgYo8'QY`Y`X=]XY&P'RYnY!Y2YSYSY 9'SY&Y&YEXX18YWY 59YY-(LYYYW1`YDY5F$,Q,QX4ZYWY YP(MXXX@=jY XY?glXYv1GOXXCYSX:.&Q0909YWDMXXXAsLY=Y=YW6+'YY)\B&,YY=YU`Y Y YWH&YsY&Y@b&XXY T9++Y CH+YYDY@Y"Y"Y T/r,-Y Y0P1YYPY93Y Y YW:(|XYXU.k.kYW<YXYaEYYY{;YX3'YsY&Y2XY;,+/u0$0$YWNM&Q//Y U&qYoYo,K|YMYe1Nk0k0kX< }YJYJYW6'XXXB~--7BY YrW&YY6)\&tY3Y3YWF&YYh&uYSYX8.r,X_F^YX1NY XHl(XYbXBh(Y:Y:Y :&YoYo=&XXY A_MXXYWD((YY0K()YYN8Y XYK(1YoYoYWQ(YYPYS&YYM?YX;&XY3#(YeYeY F XXY L_YYY Q~&Q//YWK'XXY ='YY?@'XYYPSz'YYY C(!XXY:1bYYXI'YYY <'YRYRY B("YYX4'YSYS;f,,YWCd/T/TXUjhY-YD1NLYXY2XYXH'YY:YAjXXY"2'XYYXO[lYYXVIXYMW Y YBgY YIu,,YNY YoKwYYXS"M`YPYPXQL(YYX@xYYJ z0~0~YW@NYYYW9}YJX+;VY XYE4nY XYQxYYY 7XY1/EB(YYYo9MtYY@YNXXQYhY3;Y YhK&Q++X4XXYWH(XX?:MOXYo,'nYYY B-XYX3MPYX)\!XX?'YoYoY I'Y"Y"Y"E'oYYJ'XX;(XXYD7:--YWTbb-.1N'AYYYO%YYYo3d<YsYsYW4$M XXY 5'BYY: G@YzY&6CYbYY5YvY9IPYWYo7&Q..YWVCYX (NY]Y]XMJ(]XXXRb&XXYW?jXXX6Y3Y3 XYk;4cXX.5TMY XIYDXYU[aYWY %'XXY^X2'YoY1N+Y YoYDY:MkXY?(YYX@;&-Y[Y[>u'XX5Y YoYa5YX3YsYsX>?Y Y YWIAr0]0-1I2&#YYXB2&.YSY5&XXYW>&$YsYs7pXXY 2&XXX=&/XXYW;[fsYY=@b--;&Q..Y 3Q-#/YaPS..YW?(YsYsYW=XY|Y Y XC(;YY:Y@tXX1NXXXAYWY"4LYYY I*&YzY-XWY@Y9Q=l/;/;YW>%Y&Y&YW5Y&YXXXG!CY3Y+~SXY^1.UcXX=xXXYW1ULYXYKnIY Y YWNrLYYY DXYJ='YYMFXXXXP"Y X7&Q--YWJS(YsYsYoCYYvY)X2(XX3(YvYvY Gc[Y3X3&NXXYW=<]XXXMUYWYWY"I3^XX:g(YYYoGbXXY"6d,,YW>`eYgY,QaY[X+Y XIvdY&YY1UW&XYYPN(YoYAV(Y:Y:T<fYYY J5YJXXW(Y"Y"YW7RYYk;YYe?[&Q//XR:&YsYsYW>YYr=Y[Y#)%XXXH]XX1N%YYPYQYYYWLR%YsYsYW@)YYY"IXXY"I/!/!XC;(YoYoYW?, Y3X=#XX1N'NYoYoXWEXXY,,;XYz<M.XXXR&XXYODM`Y Y Y:E^(=YY)\B&XX 6s';YY)\X*fYhY1NYMY02,1,9(>YhYhXTYkYDYbYz1NM0XXYo:r'<YYYo1KXXY 1&Q, , YW?'&Y7X&kYYPXE(XX)\Og&lY@Y@XUR&mYYYo3YY QY XY<SXYXVY Y YW=,M%XXY 4)YWY"K?[XYY;&XXY 5YPY8XY[KXYsDa~..;(YY1:>='MXXYWFa(XXY 7YsY&X8XYYL!'NXXYW6YYGY;&Q--XGY Y Y PMXXY E YYYo2+'Y:Y:F&,YsY&Y>&YYY ?p&YoYoYW=&XXYWR XXY =YSYSY InXXX3C&XXYo6)XYYY@TY:YP1NXX5'YYLXXXAK'YxY+YB"'XXYgK'YKX.%XX4'XXYWG<Y&YY{E{}YbXYaBXYV6XXY:E %YY:YL'Y!XY78'YkYYD@%YzY-Y86a/.;'XXYWDY Y"1Na//XIYYe;,^0W0&0&XOE-4-q;&Q+7+7YWA|&YY#)V;&XXX1DYCXYJX:Y0Y0XMYJXXG&XXYWJ\YSX1BDMXY"_0YsY&XKJXYKUYzY1NYWYPU]Y^Yv1N&GYYY"7(+YPYP?T(,YYYW=YDYDYW6IXY]Y@w,02VY[Y[YC5Y X3'YYPY9XX;Y Y:?&Q//Y F5'jYXYPJ?'tXX 5!'uXX 2'!XY&Y:Y:XW'kXX=XY<1XXYWCYYY:Q.(ZYYYoE([YYXWGYWY Y_Y_X2fcYWYJ=eYWX@EYYX@'AXXX7S%XXY P'(YDYDX1F..Y B<GXXY:ESM@YhYhX8PYWYWY ;LXYYKuYMYe1NYYD5]&Q++YWW(Y"Y"M(XXY >M(Y|Y/YPz'JY:Y:YW2YYXM4YXY{Cs}YX+;?'.`.`YW?uYXY;@F(..YWJ'KYPYPXB|&TXXYW8(YY=YP6O'LYY'S(EXYv;&Y:Y:X4(FYIX/@*'>YhYhYW5AXYV?;(GY^Y^Y4MY[YY7H(HYYX@m''YhYhY WE//YW8bJYkXC(IYYPY7T>Y6Y6YW6Z^YkY0Wg&Q,,YoRa..XAhv0p-YaB(XX B$XXX5~XY~#%YYXU(YXY[XVYX;YDXUXXX8'0Y:Y:W'gXXYWCE(xYYk7 Y^Y^Y :'Y!Yy@)XYJYaB0YhX1"Xo'2YYY <XXYW6 '4YhYWXX;&}Y"Y"Y Tb\0o0oYWF&Q/M/MYWS2&`Y:Y:X &YsYsYWP&aYYX=_YaYaYWN&YYY J$&YoYoYW@&YYYWVnXYD+;OaYsXY{>ldXYYM5eY2X)&Y:Y:Yo4'XYXXJU,t-R &YoY"X1XXY 8XY"YaTY|YOXXYWD:XX.58K& YoYoYWDU'XXYWUMSY Y YW9=XX>d&YWX9FYfYfYW;>Y YQ&Q--Y J?.W.WYWK&YY"7l'YoYoV&XXYoB9DXXXAv,Y Y YWGVFXY}7y3YYYCIXYsY2JXX;&Y"Y"Y FIMYYY UMYkY1YWY -NXYOXOY&XYh:[YYJ= %XXY <(#XYX7(\YXYB%YY=Y1aYYMYHbYXe/!/!YW@JfYMYG>N+YWY";XY1?(XXY 7(fYXF, 02hXX1NcY Y:De&Q..YWH'7XYhYI@MuXY?'FXX,:LXXXHs'8YoYoE(%YYYW:YXYaFD Y3YS2-':Y[X03/(&XYYG XXXTY XE'YoYoY N(YYMYMXL[Y0XB1YWX2&YYXT%XXY"@&YoYo#CBo*XXY J*%XY@L%YY#JBDXY"Ya;+XYK-`/+d1N%YWY 88)YJXXBYDXY-YD1N&Q0 0 XP+T+TYWR,(3Y^Y^X7'Y@Y@YoD'YgYgY"N XXXSY"Y"Y OY Y"-`WXXYWRXXYWTXXYWX'XY[YJ8{'YYYW; YWY Y Y"1N(DXXY R.I,XXXA,,XUYWY@pY Y XQYYXVz%YYY"=YYY{XYPX1G%XYXVY Y YWLmXXX5%YYY,F&YoY"Y='YDY;.X,+ YWYV3YY[80&Q--YWA'YoYoYWTO( XXG(zYoYoYW?({YoYoYW<XXY"OT.0.0YWV!XY!3XX1NNY Y"1NY=Y=YWW-+3>%YYYoQ(AYoYoYW7n,,YW=f/v/vYWT'YDYD,NXYYLk0YYYW3 .f.fYW;N&UYGY^NhY XYQJ'YoYoYWTYYsXY[#sYYX1M:YYY G&Y Y XN5;YY-1NVXY:d@,o,BYF&Q, , Y S(nXX)\P(oXX)\PCXY1k(YqYqXClLYYP"DXYJYa:l'XYeT(XXYP_Y*Y*YWVZYWYo1N'YhYNI.`+XIg'XXXC'XY|Y@9&YY?2&XY)S%YoY:Q;/Y Y X=OL.:.:XKD'YYVY9R'Y=XYP5 'XXY"Se&YYPX:YWX$&Y Y:JYiYiYWYYY :[ YJXL Y&X;M0YYYWG'<Y:Y:X> YWYo1N ++YW8&Q..Y"<:%Y3Y3XW@%XX:MYYYoC&YY)\L&XYh>Y8XB%Y!XYP]WXXYWPYWY4hXY1NXX9'XXY L'}Y:Y:Y X'XX)\H'YYY CM'YPYYkYY}U Y YoYa5XXY-7[MpYY:Y:F'XXY 8XYX5N..YWTLXYvP&Q++YWI/!->&YYQ&~YYXU&XX CW XY3YaSYYY XY,XY=Pv Y Y Y W5YX:_YhY3;YhY.51Y=Y=YWA8Y[Y[X:4&7XXY IXXXE&Y:Y:X3b$Y^Y^YWGXY-Sb%+q. YYX;( YY5(TYoYoYWJYJYJX5e,,YW<&XYO5XXY J( XYoYNM#Y Y YW?<Y3Y3Yo> YDY#YX"YWXAi3XXX:&Q0000Y 8c&YY)\DZ&hXXX9'YYY 54YXJ;&Y7Y7XP$8XX;;YzY&4dXXXCXXX=}YX1N&Y3XYIL:Y Y68o%YYY S(qYYX3'mYYX:%XX)\5&YsY&Y@LXXYW?!Y&XY=OYYYWDY Y YW4XXYW:YVY YRWYWY"Qy&Q0z0zYW65'OYY6&XXXN'&XXXI(kYsYsYW7K&YY?A&'PYYXN'QXXXT!Y6Y6Y Ki Y0Y0YW: Y YoY{@'RYVY X;yrY Y:6eXXX=AYsY&YBXXX>S'SXXX4LYY:YLYWX2_'Y:X1'}YYY J'XXXCM'XY?Y6Y6Y Q'~YoYoYW;Y3XYLXY-B},+6EXYT'YPYPXEPYbY-;XXX=B&Q,,XO/&`XX,F&aY@Y@Y TJ&Y<Y<YoM&Y4Y4XE,,,,YWH=YYYo6{Y Y X7Y=YE&XXXWv&XXY B#'XY6YYaSXY1Nh/0u~D? 'Y:Y:Y"<'YY?Si,,YWHJ&XYk"kXXX6J]Y XYFXY)Y)X7M|Y Y YWWb++;bXY[YP=r,+X>~'XYJ8+&Q//YW3AYLYLXIyXX'YXYhU'Y^Y^XEO(!YYX4P'XX W)'XXY Q("YQYQYW6h'YYX@YYY MvYY1LYYGY4YYO8YYP[Y"Y"Y"Ez'XYSYSXQYWYo1NfXY;1+o+oYWX(XXDx&XXY"5&XXY 1(YY?J(XXX;(YY9YH0Y=Y;XYsWRMYSYYWZY Y YW>dYDY#&Q..Y (YoYo2(YY"<MsYY:&YoYoYWT (Y^Y^YWGP'HXXX?liXYD?]XY1BWY3X2-O-OYW4&,,Y T'YYYo6YX;.aXY;YvY@#YX; Y!Y!Y7E%XXY >(AYYYo??'XYvD.YPYPY 8(Y-Y-Y D*0p0pYWFLYYYoV^+YSY;,Y>X&YoYoYWTaXXXK(Y-XX2w[YX;YWY3>&Q.f.fYW@RYWY IXXXC(wXX P%(XXY X6\XXY 2;9YYY Fm]+:+:Y 9\_Y XX;?YPYhNmaXYsY50AY Y XR(vXXX8YYkYaV9XXYW:YX1,S+:-1 D'TYhYhY Ph&YeYeYoAXYs"?Y=Y=YoFt&Q//Yo2Q&Y"Y" 4&'YY:X5&(YYU"CXXX:&YYXQ'XXTFYX1NGYY3&LYSYk1N'YYY QXX;jYWY4df++Y 3'XXY J='\YY,B'']YYX2@'YbYbYW=XXXP(YsY=N[XYY3LYYXA4LYYY UYDXE5'Y6XYYeYeYoI'YY:YAn-XXY"5sXYoYK!/Y&Y=1N&?YY)\7&XXY M\'XXY M~,0 8LYhYhYoDY XY6q(#YFXY8C+Z+ZYW2IFXXXKWY YoYaS(eY"XX8Y Yo=~Y XY6FXXXE9HY3YJ1NIXXXSM=Y Y YWS($YYYo4f XXXR(fYY&G'Y"Y"Y ;C&Q,,Y CYbYbX?(!XXX7'Y:Y:3Y&YrYrYWB5'Y5Y5YWT("XXXT)Y YoYaJYYY:J'XXXX: YJX9" .g,%XXI(XYh<]XXY5YX;TXX YGY^?XX;(XXX4F0..YWVLYY:Y52Y X;Y Y"1NY-YD1NY XT&Q,,YWNY=YS1N'jYXY8Y%XYA'tY:Y:J'uY:Y:U8&YYXFR,,YW;o'kYY#)8YYY"QlXYeTo(ZXXY 3'lXXY 3(([XXYoEY YP7XXI;Y)YVIW'>XXY @XY)N"/v/vXIYXY{G%YYIY=CPYWY Y>YTYV4Y3XE.V.VXLY[Y[Yo9W&Q//XQ1YWYY35& XX UXXYW:.%.%XN*&"++YW; Y&Y&YW?XXXVu//n;XYX<^YoYoYo@(XXYWCM;XX;'XXY Hr&)XY>"Fr+_+_YWI&*YGYGYoH&PYYOYh<~XY+;4SXX1N,XY-Y{=VXX.hT-Y Y"0wORLY:YM&YoYoYWOx'YoYoYW5y&+XXX3&YzYzY L0c0cYWEE&Q++YWO&~YoYoYWN(XXR.XY.hI1YJYb&YYX82XYs8Y XG'YX7u(YX1NY Y8^-,i/&YYY"E'YYG 3-'>Y3Y3XF&YY:X25.XYYF'$YdYdY IYPYPYWF$/--Y:CtY[YsGbR-/"1N3Y-XYEm%XYS:9YWY"IY=YSL&Q00Y 5 (YY)\O`YYYo7LXXYW6'XX)\V6%YfYfXEBY:XYDYX1P8(YzY-G M}YY:Y1XYQYYWYGa..YJ 'YoYoX<'Y:Y:E'YY)\5Y*Y*YW=,F,FYWR3Y Y1L6DXY1B8m'XYY>BYWY sYXO@XYL--YW7&Q++YW=.-+9%YZXYa>%YbYbX1YDX--YWMsFY YoYaCYXY{36%YgYY^7_NY XYOYYXBY:Y:Y"HM(XYoY@FXX1N%YYYWW(qYYXFu'mY&Y&X2a%YnYn ; &XXXHY"XYU&Y:Y:X2YYP@q&Y=Y=XG5hYXPsjYYhV?kYYb;&Q,,YI'UY:Y:;elY}Y}Y I&4YY3KYYYJ &1YY:Y7&5XXYWG7nYXS#pYJXYb;qXX1+=ttYX<vYDX(E/s/sX6*&YXYQt%YYY V'YYYoH)'YCXYC&YMYM?DJ%YDYD,DXXYWPYY6YNVY Y YW@:M2XY">'XXYWSKY X<*XYEM YX1BMYvY97&&YYY 3i}Y Y Y @r&dY-X=0S0SYWBpY Y>7YWY"?&Q//YW79Y[Y 'Y:Y::1&eY:Y:XH'YYYWI&fY Y YWUXXY BXYb+;XBY3X@XXYW:&YX:"Y X 'XXXXVY X;Y=XKO`-0NYX3'gXXYW=pXXX:Y&zYoYoYWR'YoYo;tY YoYaPq/c/cY <'hXXX8YYY =YbYz1NYoY"YSXXYWR8&|YYDYEswYbX1-NYWYo1N&}YPYPYW4M&Q/D/DY 7'"YY:XV&-o-oXUYY+~UaY3Y3Y"BYWYWX7 Y Yo0S$Y6Y6XG{(Y`Y'MYYY E6'#XXYWE&YJX1->XYs"jYzYD;k+</=-m.`.`YWJ(YYXH(YXY:n..YWH}o00XS'XXYoQt--Y =-YYYWHvXX1@6wY3Y3Y E&xXYJ0GXYoYGXXXY;0c0cX1|&Q/}/}YWTYbYbX1&YY9X48&Y[Y[?U&YY?Ii(YoYo6fY Y:RhF?XY:Y{4OYYY WYYYW2YbY-;%Y&Y&YoJ(YXYDYaXYYWYo1NAXY[&YY6X1S%XXXCG&YoYo7'YYY"5'YZY YW&XX Ks%XX?DFXY:Y{HH,,Y ?WUYWYWXC\J,,YWN'YoYoYW7'M2Y:YRKY&X3'Y"Y"Y 3.MXXY LNXXYWW&XXX:k!0-N-&Q++XW''YYX:XXYoRX%XXXWHXXY Np&=YYYAXY1N,XXY A&>YYXW'YoY"Y6-XYYD&?Y:Y:FN&YoYoYWB'Y6Y6Y"4;'YhYhXP;YZYrCXXYE( XX)\Ob(TXXY =qY X1U"YDXYL%YbYY8Y( XYYMM#Y"Y"Y K(iYzYzYW1gXY[#scXY7&Q..YW?Q'EXYsYY6,'7XYJYaL'FYvYv?KKfYsY&m'8Y:Y:=&=YoYoYWDE'9YYY JXXXY SMYXkXX-`P'YYY CA'Y:Y:YoR(YYYXCmY X;XXX2/+1N&YXXFM`Y"Y"Y"<(=YY?GZ&Y:Y:;(XXYoFYYYo< YPYPYW>g XXXP(>XXX2~a/+1N&Q--Y 1'yYY?M'zY!XX9''YXYP?IYXXF"'{XYD1:hKYY930YVY!9'|YhYhY LJXY084KY Y Y"Ic(YYYY:PH(XXYW= YWX@+/ YWY D/t/tX5(sYY2k--YW4tXXY 8EXYsYM'$YYYLYDY;Y6YXXYWHYYYW9&Q-h-hYWU(hY:Y:9%,,YWA3'XXM'YYYW=(--X:N)YYN%XY^Y=PE00Y W,YX3%wY=Y;y020 , BG{YJYJX<(YGXY}A`'XXDYYYoSi(Y:Y:XE(XYdYhRxY Y Y 7<8Y XY:YWX@gXY[Y>YoYoXG ,;.0Q(XYY43YWY -YY1NYY-1NXY;YYYWX&Q/ / Yo=X%YXYPA(Y"Y" Jjaz-g-:;'XXXW'Y:XYMF0 0 YWV&[YYYWU&\YYX@YkYX>{ YYDXOG_.+18pYYXWVYWYIl'YYY I&/z+P1N YkYYI4MOYY:&XXXD/MPXY,YYSYIXYYa=.XY1,A2:YWYWY Fe!Y3YO1XXYRY XRYY}B&Q,9,9YW9., LYYSYP= XXY A( XY.&XXY"J( YYY"F&kYoY"YPKM,,Y 20(Y"Y" UXXX7,&lYXYPA:&mY=Y=XSYYX;_XY["&XYvX9YbYYJ=&XYP2*Y:Y;%YYU(YYYJFXX(Y=Y=Y 3+T0SW(Y:Y:S[YPYPY X5BYWYWYoX?,_,_Yo?%YYPY^UFYYYW7NY[Y&;YhYhYW3XYz;XYD0J&Q++Y <'7YbXYa=v,,YW1'8YY)\T&=XXXN'9XXXHc--YW=Y&YkYbYD&?YoYoE'YkYkXA.'YYY"B(YY}Y}X@YY[Rc&9YoYoYWK&:YY:2&XXXD'rYoYoI#YDY://YW2?&,,YWFXYsYPYJXY}S YWY (XXY :VYWXC-eYY1N&Q++YWL(YgYX4 (XX OYYSYB(XX>'YoYoYWB&XXY <gXXXOh//YWW(XXYoJljXY=xY X1$?&..YWJx'YXYXR'XXY"SnYYYWN7(Y=Y=YW54Y Y:VeYYJYO=f._._XWgY^Y^XD%YY)\H,,YWHlXXXQm//YWD%Y[YY=OnXXYTvp-,GYGkYYYWP&3XXYWL Y YhP&OYYPW`(XYbXM(YJYF&Q. . X9(YYmUXXYWYJYb1NXXYWG XY}19E YYY?(+Y"Y" AY%XI(,XXXE&^YY:Y=UBYY9 XY) YYY"AYJY-&_XXYWD1WYWYo1Ng(XY0U>YsY@Y YhM&Q0F0FYW;(kY=Y=XU(YCYCYW1XXY NYWYWYWU\+m/Y7(YoYoYWAW>Y XBzYOX>rY3XEYYXLYXYDlYYYWO_'XYXYD1F..YWNY9YO1NY YXEYWY @E&YVYVYoX] //YWTYvYvXHBY Y YW9d(YY-`-:/0H++Yo8XXY TXXXA&Y0Y0XTXXX;c&Q//Y 1XXYD{%YYRY5YYSXK%YYPX8%YVY Y?YbYYEnYYYWXYPYPXFYYY JJ'XXYWJ Y=XY9XYXX YX3R//YW>H0I0IYW4x--YW8( Y"Y" 3mXYO XXX8NYsYPY XTXX;PYYb;&Q//YWG&0YbYI&1XYY56,XXYWU(oXX7&2YYY 7&Y^YY?WXY3(YXYPRRXXYoW'YYXNa_..;XXY TYYPVYYY R{0D0DYWNLYYGYKXXY W_Y3XYHWXXY PXX6Y X@.-;2&Q++Y"A{&wYY)\M>..YWT&xYTYTX7bYVYVY"C{Y3XVYWY Y<{Y Y"1*O~'(YoYoY 7 YDXYC &yYPYPYo?YXYCmYkYXNunYYb>oYX1N'*XYXBL(XX5( XYYVYOAMWXXXIt5YYX>rYY1N'YYYW6sY-Y-YW@uXYOJTY Y XD{+3+3YW9XY36&Q..YW4&YPYP?DA'7Y:Y:YWNMuXYo&YDYDmN'FXX3JLXXYWAO&XXX5(%YIYIYW24Y YoY=Yk Y Y:17VXYOOXXYWMP(&XYoY2&YYDY=(YYkXY8CYXIKa0+1NE//XX7g-,0XF=FY Y XI]GYX77(lYYMYYb1@WDXYYH^(mYY=YWa&YoY"Y=QYYXSBRXXXPSXYb3DTXYTxFE--YWWrIY Y>{XY1N&Q.I.IY R(XX,;(YkYkYWE(YYX='JXXXFwY Yo&XYvYBYWYWY RYJX:RY YoY I`Y6YYYL#SY Y YW6(&Y6YeC'KY:X 'LY:Y:m@bYoY"Y:!Y YogXYYI7(Y6XYN'YDYDXW%YoYoVi)YX6'IXXY >Y Y X=*YXX>(7Y Y:1 9,YYYo7.XYv5<XXYW;'XXY M /YYf v&OXXYW='YX1N?XYz"aYYS;Y Y:@&Q-d-dYWFd+d+dX;Q&XXIH&'YoY"YP=]YHYHYWS!CXXXN&XXYoK'YsYs3Y-Y-YWDK'YnY!XBoYYYWGY Y Y"QMXY^NrY-Y-Y W+'Y"Y"YWKYGYGYW41YMXR'*XYYQ>^jYY4*(Y=Y=)\D^( YXYzYzXJu& YYX3dYPYYDEY5YYYWMXYoYoY N3'YzYzY Ef:XYYLXYTpFYYX?XYYPGJYSX]&Q//XMKXY}YP1YbY&YYXS( Y%Y%Y4(XXC MY!Y?&Y^Y^YNe3Y Y1L1NYYY 69YWYWX2OYGYnU}'CYYVY^X>'DYXY}8&XYGeYY=MYWY";YYX?-bv/041Nbw+m-1NXXYoD+_,;,;XT&'YoYo;;&zXXY >'XX OYYDYPF/XX;-.-[W Y-XYP-&|XY[X?w;XYsY@n'XXYoL`"YWY";&}XXYW;,Y[Y;&Q,,YWG-XX1N'tYY?P3'uYY?Mk.YYSY=0&YhYhYW1/YoY"YA0YXS'CY^YYD'eYY:YH'fXXY :(YSYSY >5XY;&YzYzXXy%XXXD(qYkYkYW@$YLX=%YY0Q%Y9Y94B&YY=YLLXY"XY=YaJXXYX4L&Y[Y3Y[YTyYsYsXOqLY Y YW>6YWY 9w&Q+z+zY J(YYPMyXXX<(XXUr(XXYW> YDY[CeMKXYo,XYW.A+x0O'Y:Y:X7YCYZ1NMzXY&R'XXY3Y YU(YsX1B'MY9Y9Y X(Y:Y:XV(,Y"Y"YW6}cYMY;(XY"8'NY:Y:Yo:YWXRgYYJ;/n. 5F,,YW>&Q,u,uYW4I&%XXI'XXYWBq'XXX?%Y:Y:X5(%XX)\2'YY?G^MXYoXXY: Y@YV1N&&YYz0AYYXGY-X5XXKwOYWXS8XXYW>YYYYE&XYsY37',YsY&YM%YSYSYWI'YoYoYW;M'Y:Y:X>,{,{YW>YY=TYYX?'Y"Y"XU_YX1NXY;&Q..YoUtVXXXT&XXF(YsYs E&Y=XX8'Y:Y:Y O/X/XXH/.XX;YX;'Y-Y-YW?%YYLYhP'YYPYV|%YY7MGY X(XYPB'YXXXhXX;xkXY[YaR'Y"Y"XAY"X49YYY LXY;`YDY[%YGXY UfXXX;%YYXA\Y:XY3YYYW1&Q+@+@YWUY-X&Y3Y3YoS>&XXY N(UYY?F[..YWPl&Y:Y:8v(VYYYoF0!0!X3&YXYV1(WXX1 M'QXXX>P^Y Y X=gYX1!<6YGXYI}Y YP?,+<&YY<^Y:XYE,b/G/GYF0(MXXYWMYcOYhY1NnY Y:BR+M+MYW2SYbYbYo5&Q////Y L'dY{Y.&XXY 6d|,n,nYW5'CYvY)XIk'DYYXP'eYYPYM^'fY:Y:X?sYbX1-NfVY@YK3(XXYoCWYDY;cVYkX2XXXYoO"&JYY6;(YYYoV 'Y:Y:Y"Q&KYY)\E&XX5,Q-ZQUGYXY=DHXXX@K..Y KeXX.5RL/.YR.MXYe%YoY"YL1%XYoYHQY6X LYYOY7MY&YSOZ&LXXYo6EYX;YYJ@_&Q0#0#YWVYDXYK`./T1N'YXY<Y Y YW3YWY";XX.5PY&YYCPYXYD(YYYXL(YYYWTXYs5&XYY;.<.<YWNYWYWY:9YWXU',i,iX@f(YoY"YSV YWY !(YDXX4YJXYMdY XB+Z+ZX@&Q++XPR-F-FYW<"(wY:Y:R(Y6X)UYX(Y4Y4YW@(6YYX7E++Y<XX.5WYY-FYYiXKYeYeYWVYYS;XY&YoY"Y=2MXY}YIYMYMY 44YWYo1NXX@&YXN&XYyYD(XX <XXY9KY Y YWTYPY5XYzYPAXXX<`TYMY2&YYY"UNqYzY-X5 sY-YP!&Q/W/WYW@h&XXC(Y:Y:JcuXXXKvYkYkY P%YYYWXyXX,6Y{Y{YW3r%XXY:P(YXXXDHY:Y;XYXLA++XQ '}XXYW4i'YYm?'Y&Y&YW9M'XYoYXYGVY Y YW=YYXT?Y Y:KMpXYoYJ' Y"Y"YW;,YYkU-XX;.Y-YD1N&Q-v-vY Q ],,XRZ/Y4Y4YWTk&,YYSYUl%YYY";&YY=Y3&Y:Y:X:%YFYFX40XXY 21--YWVhXYYNFY:Y:XP&XXYWVfYYP<7XYz;YWY1O'0YY?Hb'1XXXLp'gYYYW3YYY HY"Y"XK~'hYYY I+YJX.JXYXC`.f.fX4.b=/+1N'2XXY :O'3YY:Y4MxYDXYJYkY6'4YbYzUd&}XXXDYYk;Y X?Y X@j&Q..YWT(YoYoUA&BXX='XXAjYaYZ;%Y7Y7YW>3Y,XYJGYYYo<+Y Y:K. +C'(YYY"XK')YoYoYWFXXYWSY}Y1NXXY DXXYUYWY  5Y Y:HZYYY:C(YXYPS 'XXY:4j'IYsYsYWO<Y-YY7]Y-YD13L;AY Y".hKeXYz)'YoYoYWDbYJYJXBl'XY1NdXXY R&YzYD;&Q00XFi--YW@'YbYbYW23MjYXYT&Y0X>Y Y"1NY]Yu11Y Y"1N)YYX:v(7YY)\8+YYY8(8YY S0YDX1#:3YYXEYX1W&CYhYYKfhYPY;Y/B/BXQ,Z0q0>;&Q,,YW8fY Y XA'jYYYW'tYoYoA'uYoYo1p'!XYq"&XXY J&XY}$RWl'kYPYP?<bXYnKdYsY=;(ZY"Y"YWQ([Y"Y"Y <fYY9NYWY hYYYW5 XXXA Y=YSG; YYY E&YYY DYvYvY K((\Y:Y:Y"AYYY A,&YYJ#F&YXYPChXY:Y{Gb0808XKG5Y Y:1 JYSXC~..YWL XYbH\(YXXL~Y YSYYY":&Q++Y M>-.3(wYoYoBAYkYYUBY"Y"XO'YDXEYX122FYzYzY _,,YWKHa0=0=XA/+R(mYYSX>&YY:Y1YsY1N(YoY"Y5H(YYY OOXY1NXXXLNYYXF\&Q++YWSP(YY)\I'Y:Y:XI/&YYYoC/(UYoYo6(Y@Y@Y 6&XXX9_'YYXVX=YhY.51'YJXYDM,Y Y X2<'XXY M! YYk;(YYXV(YeYeYoA(Y3XX@}LYeYeY"@MYX;XY"Ya8XXYCcY Y:M%YX80"0"YWH&Q//Y 3o'YYY"O2IY-X%YY<YR('Y~Y~XXeXYn2\YXY{QjXYs1>YX1!=GYYY"IXYoYW>LY Y YW@YYX8-(CXXY QrXX(DYYX6'fYWY"'}YYXV'~XXY GH/1/1Y OYYMopYWY"EXXX9'XYY2%(Y9YONS&Q//YWQ..X3K(XX T%YSXYaNXYPY"XM &WYYY Uo&XYY:YA/(YoY"YWoMIXYzYWXY;YDY[1NY Y"1N-0p1CBXYY"YYhAM-/S^YbY%YbX9e-R-RXL'Y"Y"Y K@XXNe YXX9kY Y YW7?NXXXDYZYr,V%YYPYP<XXX4!XXXG%YYDYIouXXO8vYzYD;&Q++YoB>(PYYPX;:&XXY G&;YXYPT&Y&Y&X?XXYWJn(QYYXC&Y:Y:YW68}Y?XH(SYY6'LYsYPXYz;lYYX6jf+B+BX?\(XY:Y:XWXXYW9(2YYY2qXY.h=rXX1NnXYsL0YqYqXK1YX6YWYE2&Q//YWJ&YY1&Y:Y:LM'YX)\YXYK7Y"Y"YoSu8Y3XYP:9XXY BRYPX1B(YYbYbXAAYkYkYoD=2//YWO3YYh?XYY9(XXD(YoY"YP:A7XY?XX.54(XXYWV9YkYkX5M&YXYFC'2YYXKYWXWbY@YV;YWY 8=YYYWQd&Q.7.7Y 7(YYUa0404XN&YYYWB[&YYK(UXX P(YYXPb&Y:Y:Y"8z'XXYWHYX;?++XU=XXXXvT0p/NUXXYW2(YkYkYoU++Y ANF-g-gX;%YDYDY D,XXY"Gbj++d;&XX 79%YY:X3"XXY JXXY<YYY 4MYYGYO7YPYPFY<Y<XL/- :_,J0A(YXX<&Q..YWB%(XX)\UhMyXXX3(Y"Y" @XYY1G@(Y"Y"Y 5e+3+3X;MKYPYmYzXY{QNMzY=YV(XXYW6XX1NLY=Y=YWDXYY=&XXY3EYYYWJ&YY}Y}YoBTY&XYXV//XHXY[ YYEYD9XYsYRXXY VLYSYYFZ\XX1N&Q00XQ(hYY)\5%XYvX@%bYJYJY 7kdXY-TZMqXYoYE&XXY G\&YsYsY 5(YoX8t-P-PYWRM.XXYW3U&XY}YJm(=XX >-';XX S&YY)\OyYYSX9=&XX?J|YoYoXQ:Y6Y6YW5XXYW;M2XYQ&YsY&3'<XXY G&YYYW9 XXY 58&Q-8-8YWA&XXYWE&YYQ&'YYPXQ&(XY.YYY N&YYY:F9'kXXRYJYJY M"bIYY1NsYYk;uY&YDYWY"A&XYXMG',YYSYI%YYYWR6'Y:Y:XDvXY;yYX1GzXY1,RV{YkY1NYWY"%&aY Y XE*&XXY K&Y|Y|XD(]XXYWVYbYzOM&XXY H &XXYWQ&XXY W~YhYhY :YY1NXXY XY0XY}?YPYh&YYYo;t'XYYX7`YY1NDYWXFYyY,'\XX?NcXXF']YY@XK$YXRC(mYsY&YSFYbYbXD'^XYY>;YWY";Y YO&pXYDVcXY=S&Q--YW;h&qXX1fYDY[1)>7YYJHBYJYJXMXX4Y^Y6YY-1N&XYe&tYYXF&YX*_YX;&uYkYYE +:+:YWB --YW>YYXI|XX:YDX&YoY"YI}XY"Ya7Y=Y=YW5Y}YGYDX??,;,;YW=&YYXQQ&YY?2bDYXY{DYF+K+KYWBVHXYsYKJXXXSYWY Y4uXXXEtIXYPnYYJ)LXXYWD(OYzYzY @A'Y:XYHqYXMr/,1 6XYYg7tYPYPYW@yY YoYaAY}YSuYWY";&vY:Y:XG'XXYOC(iYYY"S#..YW& YYYoFa--;(5YsX1B?>-G-GYWGXXXL&Q+v+vYWAz(YY>YXYXY{C-,YYXJY3Y3YWLYvYvX>YWY  'XXY H(OXXXPpXYbF]0~0~YW4sYYY 5YYYo;vYWY";&vYYYo=WvYDY[1NwXYVY>(iYsYsX<yYPYC&Q- - XP,,YWHD&XX EY~XFM'YY: g/d/dX38YYPY@XX;YX(YXXX:QY YPN&XXX@2_YYSYP;(\YYYI&YY<"&XYb$R4&YXY>v YYT2Y6Y;Y Y X2OYWYWX6XYM0F5Y Y XQ7XYs8wYYbLYSYSX1c&Q//YW7=..YW41YDY1;YWY YR XX;XXY-L4'0 0 YWG'YoY"YMYkYkXPM8XYoY3(XXY4&(YXXXU(YY:XQgY6Y6XS/Y=Y;(YMYX5YY=YI<%XX V'IY=Y=XKYDYDXRGNXYYWYo18=uXY[Y4YY1NXYRWhXXX3&OY"Y"Y">mYPYHLnXY1NpXXY"@|&Q..Y 6gqYSYX;m& YY)\S(@YoYoYWGe&!XXY L6(cYoYoYW: &"++YW9xY:Y11E|XYQXEM^YoYoYW8XXYN^XYk<(aY&Y&XCx00X4-YWYIYMY;Y0YB&YYMYQXXYo9%YMYMYoID&XX ==&YY?R%YYRPYYY"EuQXY+~@M7YYPY=^'XXY"W<M2XY?MXYoY>8'YYX9XYD#sXYsYT&YPYPYW34YWX8x\XX;&Q..YWKz%YdYdY <(NY(Y(YWOh&XXXNnY XYBYYYo:cXXY-<:YhY.5RgXXX@'XYY@XOK/?-%(7YoYoM;'YDYD,F&XXXBSY Y XV)UY[Y[Y"J2XYVYVYo6&M{XXYW@(YoYoYW5M|XXY Y3Y3YW6wYYPX>Y3YJ(Y Y YWQJY Y"1N(Y"Y"Y 8YWX2l&Q-2-2Y >+XY,XYSc'-E-EYW4p'YY:Y9Y:XYB=M8YY:YT5(YXYG(YY3Y3X5'(YYPXJ@MkYPY|YYYWMYX&YYYo9&#Y-Y-YoOj&YzY="P&$YY?7XYY?MtYY2YK1&/YPYPYW;YkYkYo9l%YYQFYPYK&Q--YW?(BXYSIY=Y=Y1%YYRYC%Y!Y!XMKYbY-<LXYLuM,,XONYY 7OY:Y:YWALY"Y"Y 2eFYYXV/fTYY=6(CY:Y:XOSY:Y:YW;EfVXY;(DYYYWAZYYYo5[XYz-HYWYP3\XY[O0'XYY375//Y XA]YXYV'!XY.&YY)\M=_YDYH`Y&Y&XFG'Y@Y@YWTl&YYJYF'YYYTXXYWP0cXYz;&YY:XH YWY 5&Q//X8&%YYm@%YYX9^%YPYP?Q9MYPYYDY[X7YWYWXI&&XYD1EXY60AXXYW?ZY[YXS\XXX6'*Y4XX1Q]YYY?`Y!Y!Y"W%Y Y IX&YYY <&XXY A5cYJYJXLdYDXYDMC&XXYWHy&HYoY:CY-X;XXN&Q,D,DYWT %YXYW(YYT4&ZYCXYU&[YYY 8&&\XXYW=/XX1NY X1F//XFHYYG ZYWY 6XYz;'XXXEYY1NXX1N--X6'*XYqYCMWY-X"'YY&X$XY1N'YY1N&Q++Y V&YMYMR4pYeYeXE0:YbYrYvY)L&=YXY4YYX2=&>XXYW=&?YY?8zXXY S&Y:Y:XOYWY -Y X; YWY:XYX6 YGYGXBRXYo(\XXXCYYY B&XY3HqXX&YYYDMKYY:\YWY W7XXXWa,-;%YX>>YY7'XY@P+&Q0m0mYWQMXXYWOW&XX>'XX C&Y0Y0YWI&YdYdX5B)YX1N6Y Y Y V{+YJX+E-YJYJYWC=.,F+0XYYG'`YX1N&YYX3bYY X;YYX5XX1NYWX;6YXM&YYPYCrYYXS0XXXLDXY-GUXY1,LPY&Y&Y"RXXY9YYMY=XYzXXY-I& Y9XYDPuYYYW@'YY:YX& Y:Y:XI%(5YYY 4'Y:Y11YY 3a//;&Q,,Y:X'Y:Y:XW['XYY8'XXXB}(!Y"Y"Y"1q +m+mYWF'YoYo:'XXYoVG("XXYWNYPXYa6Y&Y&YW:'XX H|Y Y YW5YhY38LXY}Y?P'YYPY@Y XY=5YY1N'XXXXAb,YhY1NY YLYYMYQ'YYPXK (XXG'YY?8DXXQ@XYJYa>XY-YaGYJX1PXYnYN$(XYYG%YY1N&Q0Q0QYW<'yYY)\K 'zY XYb6'YYYJIYYYWD-cYX>)'{YYz1S++XSYYY >Z'|YYYW=XXYW2|YbYbXI(YXY:Y3Y Y"1N(YSYSYWHA]YYDLEYYYYYW;<z->+ {/,XI?(2Y3XXQv]YkXOXY[Y-C)XXXTXY5'GY3Y3YW3YbYz1NXYMJY YO&Q/>/>Y 2pb++;&%YDYD,G'YYYWMl'Y}Y}YX/%XXY M0'pXXAp%YYW'XXRhYXY{9XYXJXYsX8YYYWX=&&YJX0Lb,H,;XXYoK&@YX4D'YY?XD&AY`Y"&YoYo?&XYMSd(eXXXCXX.5='XY^Y9$M=YhYhYoDYYX1N(fYY8(gXYY4fYhYX<RYYY"Sv(YDXX9&Q--YW2F(XX,Q&YYRUXYX7(XX)\W!V0q0qY 92XXXV'YoYoN.%YSYSY 6YY[XYWYWXL\XXYo;`^YJYJY K7XXY:H%YXX7(XXY->tMYYY ?%YMYYNW&YYPY:%YYY":DoXYYXCc/F-3)tYbYDuXYz2wYYXQIXX1N&Q--Y 9S(KYkYkX@LYOYOYW>A(XXY 3&RXXYWGi&TXXX4^(XXY P?OYbYbY 9a1Y^YSYWYN'*YXYQ{& YeYeX4 3XYb1C@,.Y Y".h=4XYs;dYYX85XYb1A)'XXXS7XXYJ+:XXY"?k`YX;+d/dDYVYVXL&Q--YWR- 0F!'Y:Y:Y"J(zY:Y:XQ(({Y:Y:XMM?XXYW8T//YWG YDXVw YzY-YPH Y-Y-XQY"XY9,'YoYoYWMTXYz)MXYbXX?faYYDAXX;Y@YV1NYY1N+//0WiXY) (TY:Y:X5XXXP 'YoY"YE(iXXY 7FMYXYBxYWXHmY XU&Q/l/lYoKbr+/YP?$'5YDYDYWJ.+9(Y:Y:X=&--YW4'6XYYT&YYYWRya--;&Y:XY3&Y:Y:XJ9XYJY{PXYYzY-YHC+/Y:XY18 XXYo>MYXYUMYXYB &Q,,YWJ<%XXXN (YY8Y9mXYJ+;39nY!Y8oXY.hLqXX;rXY1NMmYYY JY[Y[XO'XYYMB'YWY +tXX1N5X02Xr//%d,,YWH*'AY:Y:Y"H4%Y=Y=XS<XXY":eM XXYWVM'BYoY")@l-p-pYW;m-0}0N(SYkYmpXY;DYWY 6Y X;@Y Y3N/XXXJ0&Q00Y @iE--YWA(Y:Y:8<++Y :(YPYP?XYYY"W'XX O%XXYWQ5YJYb1,G"Y X;YhY.597YYY VU%YYY:SGMXXY M'XY[YIC%YeYYABXXY Y"NCYbY-I,XYQ_r/,-YV%Y:Y:XJXXY K<&UXX;FYYXRlGY-YX1HYYYWVIXXYWW._uYYX4-Y Y:94LY"Y"Y P&M:YYYWAIFYWY"CXY&;IYWY M&Q,#,#YWI& YY?L(@XXX@&!Y:Y:X8rXYzm(cXXY @ &".U.UYW2XYD14?.:,XUy+-"1WmM^YYY K0(aYY=YVY)XYR Y X;(uY6XXKB1.,2XX]IYYXN'XX ?~'Y:Y:;9YYY >:XX;;YXY=U=YPYPYNxY Y XL?XY3CAYoYoYWEB--YWX'XYoYRHEYbY-;(XY22v//YW4/&Q,,XPh+/Y3G(XXY 7X(Y:Y:R]&VY[Y[4(YYYW3_XXYW97XYT&WYsYsXTF&XYYPY2(YY:YUYPY:MIYYDYVSY[Ys1NYWYk:XX9UYX1N(YYY?YbY0p0pYW2'Y"Y"Y HYYY Qa,,X6YYXEVXY^Y5Y3Y3YBLXY}YRY Y:1XYsY=3TXY=8&Q+J+JYWL-YY15VYXYKVXXYWN&Y=Y=)\=%XX5oXYYQG\YJY1@F]XYTuY Y:5wYsY&YJ{&YSYYI(XXYWJ'YYXFYY1NYY&1NYX;(7Y:Y:?K'YYS'YbY,XY{3+YYYo3B(8Y&Y&3WXY=Ya?_1YWYWY ?mY&XY7O3Y X,Y6Y17WM{XXX3kM|YhYhY";yYzYzY"KFYAYAX@/2/2Y D 2Y X;ZY YUGYWY:C /.$ &Q..Y 4&YbYbX9&kYY:X:(YYR&lY)XX=F&mYYY P&XXX6 TXXYW7UYWX1MJtM%XXYWQ-&XXYWU&YoYoYW7Y-X8//Y <YSXE'XXXBe'XYY>%YPYP?:K(YX8s'Y5XYPM'YFXYv9'YoYoYW?YY\3'XYhDXX;Y Y:9sY&Y&YWU+Y+YY HYYX@4bd+70m;Y YRS&Q/s/sYWD&`YoYo#C<&aXXYWV'YY)\N&XXX6'YYX<-Y:Y11OsY X1?QY=YS8eYgYXOyY:Y:YW&YoYoY 32&YoYoYW87'XYXXq'FYY,N~LYYYoB'8XX 2YbY-;Y"XY800Y X!':Y&Y0GYYkR"'YYYW9YY:YC'XXXG(YXXXShp+Y/]"(YYXC&Y:Y:ScXYsYA&XXY <&XXYoWXXY CDhYhY1N(0XYD%1(1Y:Y:X@&YY:YQY3Y3X:]hXY08  YWY"4 Y Y1YLYLX6X&Q.C.CYW4K(YY FMOYPYm'nXXYoMMPXYb#--YW:Y YoYaLXX.hU'XXYoUXY1NYDYDYW6'YYYDYYY W*'oYzYIzYWY: =YY61N'vYoYoYW>(YoYoYWT@&KYoYoQ$(bYYL,,Y :>+j+jYWM?XXY TdYWYWY :@YX 'wXY}Y4'xXYoYLLY@XYP1&LXXYWBYYYhAYWXOvYWYG&Q--Y H(YoYoJXYY= ..YWLC'YmYmXD `,;02<'YYXEYYXNYWYWXQXXYW?-o,XCVYYYWR&WXXYWL&XYoY"YDY Y YW>/Y3YJ1N[XY-JXY(XXY :XXYO&nYYW(Y3XXD(YY0T(YhYhMi_YhYX9.- Y5XXXY 7L&oY}XX@dF,,Y J'YYWsXYz:'XYO4"&Q--YWDuu,09/MoY3Y&YoYoQ &XXY 2(}XXYWF'XXYoOxXXXC(~Y,XYPB(YTYTXO&YjYYP,Y Y YW5~Y=Y;//X?(Y:Y:Y=YYYWUEYXYIYYGY}JK(YoYoYWQ<--XV -,=X6gzY3XR)YbY[2{(YhYhX:&YY)\>&Y:Y:XN&YYY"B7XXY S&YYPXIXX;XYs;&Q/b/bXN%YoYoYWS&YXY8MXY&(YYXC(YmY XKd(YYXMF(YRYRXE>=Y_YYK>YYY ?s?XYz)A0q/Y3BXX;qYWYo1NsYWYF(//YWH+W+WYWU&XXYoVt\YYYWU]YsX1B:^XXB&.- ''GYYX=&Q,,YWX'YeY)I(BYFXR&XYY5fMYyXG&YYY2(Y%Y%X42YYYW;= Y Y Y ?Y X@(CYYY"4f8Y[Ys1N(DXXYWMY Y"J&XYY3Cz& XYY}O&YXXY M?MYY: XY;YYY H"YYXR& YgYYPP{& YYY"HXY};/.XX2D&Q+t+tY 7XXXP(wYY?:(YeY W&XXY PPkYYX2LXXY-LbMYY:YTh&YYPY2MY^YYXXX1NYWXY/T-&CYYJY5E&DY"Y"Y SXX8tY-YR$&Q++YW:&XXO&~Y:Y:Y Tr(YY"W0~0~YWOcLYX"MXYoYW&YDX3YWY"6&YoYoYWL&&YhYhYW=g.,Y2XY[G'XX H:MfXYY3&zY:Y:X1y'Y:Y:5XXY A'XXYWDL//Y:CY:XY@XY;&|XYsY-LY'YSYSX2q-,;Y:YP1NYX;&}YYYWHIYWXmNYYk;QYDXY1Q&Q.q.qYoI'_YGXY<(Y=Y=XSSXXYW:T'`YY:Y=F UY"Y"Yo4VYJXY6&YsYH'KXXYW4J&Y[Y3WXXY"UFY0=,1NYYSY-=P'LYoYoR'aY[YsCFXXmIYY&UqG//XKY Y5MvYWY"+hR_wXXY Q&YY@Y2 M`Y:Y:X4&YY)\3(Y0Y0Y"?.Y-XkY Y YW6AOYYYWTQYYSRXY:YaD"YYY 7SYY:YJRTXXXTVYYXBWXX;&Q++YWLnXXYWUY'Y)Y)X6~%YeYeY"3!XYXA "-.HtY Y:SMxYY1=E'YGY^Gs%Y3YJ1NY XAdXXYW1%Y3Y3XI(XX?d//YW@y+XY[YQ,XY[W?-XXYWG/XY}+F0Y6Y6X>%XYhYPGLYhYhY"F1XXX7A&XXX8M3YoYoY"PF4XY6[iYDY#YJYb1N&Q//Y 9ijY Y X4&XYY=Q&YYY:;W&Y&Y&Y 7(YYXIXYbYaRFXX-`@YY3NXYbY ^XY7XX1NwYWYo1N&YYYoR'Y}Y0LxYYY"D'>XXY 8&YoY"YPKXY:Y{I)mYY+~ToY Y YW4XYhWYYY ?XY X;MY&YST''XXYW31YWY  Y Y"1NYzYD;YbY3F&Q00YWTP&YYYW:(YYY"4+g-+20L&RYPYPY U9XXYWW]&TYbYbYAY Y:J-(Y:Y:XQ!XX1NYWYU3Y Y X1XXYW9YX1N( XXLYX1N+/0YYXH Y YCY3X;YY1N,YWY 85YX66YX<&Q++XQS7XXX89--YWRL_/B/BY 9Z%XXXOy&YYX:\<XY[Y.NNY=Yk @YsYHAXY.hU:XXXX'XYYX;+VYWY"kXY=I['YzYzY"N'XXY=Y-YD/@T++YWV7YY31NMeXXY UY=Y;gYYY L|cDXXXH-dYbYbXD5Y Y3G(&Q..YWM`&Y"Y"Yo7Y1Y1YWJ&;YXY83&YYYWKXY4YJX04v&YYY AkLY Y YW3XX1NXX;Y Y"1NYXX:&HXXX>5+/Y}6(OYYYW2'XXY";YXY;Y Y YWCY X1<Y XXD.+12Y[XV&vXXY :J'YYPYF'XYYO(iXXYo8dXY3MYYVYC$5YXGYYJT&Q--Y 1},n,nYWB'OY0Y0Xs&YYY"VD&Y/Y]8,&YY)\Ib.-.-YWE&Y3XX1'QY8Y8YWNYXY{DcXXY 95YiXLXXYS`XX;'SXY[YJ:LXYoYTYXL?XXYWI,@,@X7 MsYPYm(2YXYDXY-Y{Q)Y-YD/@1XXX<XXX6YYMYBYY61NXYYY-1NY-XXXXV&Q.w.wYW8Hb--YWBm'YYXC:'7Y-YYaSsXXXMg'8YY?B&=Y:Y:Y"=TXXYH+'9YZYZYo6YYXB{Y Y YW6YSYMb XXXKSYYPWnXXYWP&?XX NYYY:?'XXYoI'YYY"KpgXYhXFY YWBYJYb1NCXYD0TDYX1NEXX1NYWYz>nGXXX2)(YoYoYWHYYY 6 &nY"Y" >}(YXYE!(YYXU<IYHYHYWGD(YY?@JXY:YaMKYhYhY Ga'Y-X,L0.XS&oXYY@QYzYD;&Q/Z/ZX5u'jY3XX9'tYY)\K'uYY)\I4XYb?'Y4X&YYYo:'kYY"9XXX3e'CYGXY@'eYoY"YD'lY&Y&YoN'fYoYoYW6zYJYJXRmXX1N@XYP&XY1NLY Y YWO\%YYYoTc(..X5(#XXYB'YY,G'YsY&YD%XYkYJe-z,;)XXX*YYXU++XY1N,XXFgrYXYPG($YoYoYWK(fYX7%Y^X5S2..YWL]YXXZ%YoY:4{Y]Y]Yo=|XYyO&Q-A-AYWW}XXX8'Y)Y)Yo>I'YYY">'XXXGl'YYXTXXY"6XXY:8XX)YDYDY PYYYGY9]'XYsX2 (CYoYoYWL'YzYzY NuY Y"1N(DY:Y:Y ?%'XXYoO('Y:Y:2McY=Y=Y UXYYNYXXXP++YWW&<YYSYP#YYYQYsYsY RY Y YWUNY X;Y X3YXEOXYkQ-/0U&Q,,,,Y :UYYY >VYsY&%XXYWS(NXXY K&YEYEXX9XYY6[YYXIcYYX9A'XXY)Y1'YhY3;b..YW4kb+d+dX5G}XY1N~/./,=,=YWP}(LY"XAYYY;,Y3Y+~D(YYPX:5/.XVXYUC(MYYYoPJXXY"HYbY ^(XYY L"YWY "F.U/1NXXY RXYz$+x+xY 8Y Y:=&Q,,YWH'5XXX:!XXX?(XXY T#YhX=%&0c0cYWKYkXLr%XXY:7&XY8X<(YLY]JY0Y0X6*Y-X"?Y3YJ1N@XXYW4BXY;LXXY NF%YYY"F;(#YXXB.'YFX"'XX?:$'YY=YC%XYYV$,=,=YW>DYJYJYW4EXXJfHYDY1 UIY}Y02WfYDYDX=D($XXY JRYYJ)'YJYJYWG(fYY-C%YVXAlMXX1Nt//YW:wYWYb3&Q.h.hXI(?YY7(@Y3XX3'YXYPM%YYYoKY"Y"Y V*++YWSlYYhPYSYk1NYzY-Y>p'XXD8YWXN&JYDYD,8'vXXY P(XXY >'YoYoYWT&KXX HU.N.NYWHYYYWOY6YM JY^YYO'wXYYR'xXYYQ8LY XYTm YsY&YJH7&LY"Y"Y 9YJYb1NXX;&Q++YWW(@YYY4 --YWNMfXYF.k.kYW=MXY;9XYwY?YYPYDYs4(tXXYoO*(aYXY<tXXYW:(uYeYYK&@YYK`YYYG-YY1N[Y Y"9B'YYUX3&AYYB&XX V&XYe#CYY}LE/O/OYWJ4YYXT2YY:6'XXYoOM=Y3Y3Y"Nn&YhYYOXYz)YWY 8Y X=n&Q//Y HM%XXYWKXXYWUIXXYWT%YoY"YT&YYYoXS&Y=Y=Y"9o(YYhV Y[YY=(OYDYDYoE;'Y Y X@" YYXAyXYeS&vYYY"?qMeYYYWW{YoYoYWA&Q00YW5-3-/QB4XXX1'YoYo6XXY 2'.YIYIY @e&eYoYoYWR(Y Y XSYXYPPE&fYBYBYWE%<XY"(XYYH>YbX#sbgY}Y06"Y@XYG?XXXV'/XXY"BU?YbYP'XXXY:8,..A(,b,bYWJ(XXYWJMXXXU((XY<XOQMEYPYm,Y6Y6XPgXXX6hYPXYaP0Y&YC YWYWYWPDY X;YWYo=&YYPYF(YY:YI&YkY&Y:Y*(YYXI[Y Y:9&Q++YoCXY@W'XXY AE'Y0Y0XE1YYJXXXX^'Y}Y0YJYX;YkYYAHY X&YYX>]..Y"6u%YIYIYoD3XXYoK%YY^Q%YYmM&YYSY?LYYXX YYYoJXX.hJYY3YbU7 XXX4a YDXX7 Y"XY?LY"Y"Y =Y YA&Q..YWW'YY&;XXXO9M@XY"XYVJvY<Y<YW7&YYPYNK'YoY"Y:'YY:Y?YWY "&)YMYe5#{Y X:tOY X;&*XXX@+&PYY9X@0909YWFdYMXF}'$XXYPR*Y#+XR7Y@YVQLXY"R>XXXWXYsY5|.`/RDXXX6&+YsYsYWQYhYhYW6&Q..Y 2 rY-X(?YDYD,T(@YXYP6MfYqY$3%Y6Y6Y AGYYYa7@tXY:Y{<)9YXYXXBv--YWDf/-";(aYXY?AYVYVY HwY-Y-YWX%xXY1NgYhY3;.'.'Y"6`++XUYY31*?YX1;6'TXXX3cY3XY> FB//XS&XXY"LYWY ,XX1N&Q..YW2XX1N(YYX6(Y}Y0dRE++YW7&YYY ={XYJYa<(UY Y"11XX;hXYSR!YYGYSLG,,XR/&XYhY:3MY)XYFj(XXXO#/.a$Y-Y{+Y/]"nXY9YSYSXH"'0YY)\3'1XYY6'gY"Y"YW8'hY0Y0YWNYXY7 '2Y}Y}X2Kb//X3Z'3YoY"YTYJYJX='4XX@&}YYY =(YXY3BYWXL&Q0h0hX8Y!Y!X:'YYYXTXXYo1M?XXY EgYXY=,,XR--XS'XXY"MmXXE8FXXXWXYY>1YYXNYY6 +.sS%YoYoYWMY.XYF~XXY"B(YYMYK'YY=YHYPXYR;YYJEYpYpXR-&Q--YWE&Y:Y:7&YYYo@'Y9Y9YWCYeYeX;)++YW;XXY!S&YYLXD_.:,X3Y}Y0X&YOYYLn.%,-'YY:XCF.++^(YoYo,@B'YY)\=YmYmY I'YY8('YYXTemXY[:oY&Y1QrXYb@s'YYYW4tXXY 8Z(XYoY2epYX;YDY;&Q,,Y :&YnY!YP5)&XX)\V&YY)\JpY:XYJXXSY3Y1M0z0zXQo%XXYWK#(YXYzX1)-?-?XM(*YYPY7(bYXSE(+YY"5(,YJYJYoGzkY XXRU(-YYPYO1Y XAeIXYCvw0//&Q,f,fYW4'dXY\&Y3Y3XF( XXXBzY,YC'4YoY>MYWYV.>.>YWEYzYzXMz&Q++YW1'_Y0XY?(XXY HY@Y@Y B'`YoY"YVYX:VXXY 9* YY3Y7(;YYP?6'aXXEWSYWY"<1YWYo1NaPXY10"0"YW6%YDYD,C(XXXEXY6?(YYX?(XXYWG(YoYo@LXY"%YoY"X6c&XXXWYYYWP]YWY "+7+7YWFYWY"Y Y:1>Q7nYbYY5+oXY;OpXXXWsYDY[1N6Y X;(Y:Y:X>&nXX)\4\YYB'YoYo?Px(XX#)QOY X;&oYGXY Q_YYPAYWY -YSYSX4YVXVXXT`&Q..Y XQ.:.:Y:G+YYYSr&YY2YK%YhYhYW?&XXM%YY#)<h+:+:YWUY6Y6Y 7QMXXY R&XX @YDYO^ XYkXGYYn1F#YYX2YoYoY C%YY[;YWYP(TY XK^Y-X-(|XYX6\Y Y1L<+/YRO&XY"V:XXX8%XYz<&Q/+/+YWH&YY?'7YoYoYWIYsYsY>'[XXY TXXXM&YzYz <*0}0}YWF (%YYY GYYsY{4yYoYoY ://YW8Y Y"-`2YX>j&YbYY8(YYY=XLYbY-;ZYWYo% XXU&Y^Y^YoN%YoYoYWR(\YXYP1&XYjXXY"2R%YsY&YU&XYC&Y3XX3XY00U(YoYoYW3GY XY2(fY"Y:BiYWY  &Q0Y0YYoNLXXXB'XX:'?XXY"Am'XXYW7v,y,yYWF0~/"MW(YWY";XXa/.;Y-X;YbYzFY XVtYlYlY Kj'>YoYoY WLYWYWXO+B-XTOY XY9zYY: YMYMXQSXXYW2'YoY:EQ'Y0XI &Q--YW?af5+/XQ.%.%YWSTYXYP6_VXXXCy&MXXXW5Y[Ys1(E&NYYX2"XY=X1YYWYWY Gn(YoYoY"SJaYbYYKM\YY:YUYWYVXY;'MYYXJO(+XX1[(,YYY 5&^YoY"Y7XYaN'NYYY :Y[Y=BOgXX1NXY1N&Q,,Y NYWYWXW&YnY!Y8&Y^YXJMkYY: &YGYGY"SXXYWPXY!Y!Y"VXY:16..Y NYXXBYWYWY KZuY XY;VYYJYD(/</<YWDXX1NYWYY1'}YoYoYWK'Y"Y" Id7YWY A=XX.5R!YYz&Q--YW=.YYN=]Y*Y*X:6%YXYXXMMY&Y&Y GYYJYQF,+SY@=Y Yo0B)@YOYgYJYJYWYYY U %YY:YVy&YYX@]&YYYH]Y&X6%YYXSDBY XY;Y X;hYYSXLL'Y:Y:XTT'\YvYv?']YvY)XV'XXXH/(lYoYoYWClXXY :x@YWY TBYWYWX?@LYYXR'YMYY98pXY#s'Y&Y&'D'^XYY;tXX;YYJ;XYk;Pb,,;&Q.S.SXO&Y"Y" V&~YYY 4XXXVE&YoYoV`YYeW&7YoYoYWBMYY:Y6&YsY&Y YYh;\YYHY&XXY S&XXYWRQY=Y;RYXWw&YY:YNYXY^X7!YYXG'YoY"YV& XXY TLY3Y3YWQ(5XXX2'Y"XYPW 'YY}#MSY"Y"Y ;dYWY"N^\XY}YT]YxXQ}F.'.'YWRb+- 1N&Q,,YWXxYY1NXXY<}'5XXY =HY=XmYGYGY Eeb.0.0XF6'"YoY"YPBQ&0202YWNUM,/Y Y1LNYYPYVMYYYW>,'6XXY:^'#YYX?..YW;9&XXXD|YsY1N('XYbYI7Y XY3(YYY 4&XX 7&YoYoYWH &YGYGXI ((YjXXF]()YsYs)\I(0YJYbzW(1XXY 1&YoY"YB:YYXFY3X;fXY1NY YK h-,{XR&Q0&0&Y 3 'Y]Y&YSYSY Di,,YW= 'bYYYW8'YYG'YVY Y=V'cXY&0IQY Y YW5MY0XYJT'XXX8>XYYOYYMYBP- +-.E,Y4YSYSXCMuYX)\'XX KMcYsYsY 9XXYoN>&<YY=YA}XX,ufYXXVYYYW8g//XDtXXX@YoYoY :5YiX64YYS(JY Y::S5YYb;6..YWPO&Q+k+kYWO9,,YW;&YhYhY 2&YjYjYWU(UY:Y:A&YoYo@>&YYYPe'YUYUYWE;YeY}1N=XY[Y-<=>Y6Y6YW7?XYD1GYWYoY Y7XY-WSY X@ (YYPX7M..$YWYWX6XXY-2U(XXXGR'2XXYWVXXY"SQYYGYC/P/PXV&Q-`-`YK'Y3XX?XY0:0XXY ;XY"YYX8'.-o  YsX*`(YYhYhX5(YoY"YPKC&8XXVLXX1NN-,1&9Y:Y:X2&:XYhdM%YXY>''rY:Y:J~XXYWKaYYX7MMXYoYDYDYDY M]UY"Y"XR'sXXYWFi_ YY1N&Q+S+SYWM-*-Na',.1N(KYYXH(YYX4(XXX9(YMYMYWH_lXXXEmXXXDD&RYYYoN&TYYYoH(XYkYD9(YoYoYWJYYf bY YH>&Y:Y:F&XXY UAYYYYYWX YXYaB* YGY)C YhYhY:7XXX<%MYYYWM)YY&MfYnY%B&Q.{.{Y P~&~XXYWO(YY#)8RYuX<YDX1#4YWY PY X;XXz YYP2YYY 7V Y XYAx&YYYWExwYX,'\YGYGN'Y:Y:8YYYaR?YXYa9EXXY D(Y-XA1&YYXC1!Y=Y6:'YXYHXXYW?'XXTiMXY"YbYYBcXX;(YPYPYWM.6.6XP&Q..YW>,,YWQ(nYYmIS..X3a//;(oYPYP?ULYhYhX>YWYo1NY YoJY YoYa9 'XXYo3\KY Y Y:2}0-0-X6,,XEXX1NYoYoY"O'YeYYSYXYD[&8YY)JiY=Y;YbYBM&9YYYoMI&:XYN'rYY)\X0&XXBXY}IMYY:Y8'sY"Y"Y 9'XX7SYWYBB&Q+W+WXH2(XXY"A(XXXE&MYtYtX8SYoYoY"4XYSYaB&NY"Y"Y U.\YYOJM\XYoYQFb,0 8'YYY M @Y-X//YWGBYDXFkCXY}+JXXXB&XXY S3&#YbYbYWN&jY3X5h'YeYeY <XY61=L&$YDYD6-:.u8/MtXYYXYWY"Vl&/YYY UYWYB&Q--YWC(XX9&YYY N9&YCXYPFYeYYLYJX1C>0YWYWYW;l(XXYWA!(XYkY8(YYY 9`bY9Y;YX6b/+Z1N.-FA(LY:Y:Y"@XXY 6Y"Y"Y UWXXY BICY X9(MYYY"AhYWX9XY&&Q,,Y J!'UYoYoUOMGYhY)\.'.'YWHa//YW?Y YoYaXbXXYWLzY Y"0wUY&XTYYY ?vY YhXMIY&XYCgYYb;b_XX1N//YWUY Y>XX3--Y ?&YY?4&YYYoE)&YvYvXSYoX1>XY[G&XY/LYWY";YWXT&Q--YW1y--Z0L&XXXO'jXXXC"&YPYP?N&AYxY+'YY:XG'kYYB&YY)\3P`Y X1KLXYYV~YXAb|0 /;&XYY<'Y-YYaCf%YY"KQ(YYPKg'YYYoQMXXYoK(YbYbY 6HLXYoYCXY!I' Y-Y-Y R&Q/g/gYoLh'XYY6%XXW'XXXM@YY61NYJYJYWGB0,Y1@<XY6]'YvYvXJCXX1Ne]YY31N'YMX*cYWYo1NdYWY"Y X4#gXXX9YzY-mg,,YWM.%Y:Y:J'IYYYo3yY}YG1&OYY:YLYoYoYW7GY Y"1N,G,GX5Q3Y XV&Q,,YW4MfXY&YYY";&,,YWDYbY=19c(`XYYJGXY;Y X1XhYYV\&XXYoQq&XYaX:'}YhYhXCB(YoYoLkYYX@'~Y:Y:X@'XXYFrYY61N&XXYoW&Q00Y T(YYXNZ(YDYD K'(YYYWEUY4Y4YWCYXX?&XXX8I&YZY X=Y^YY=6T(Y"Y"Y E_XX>XXX?z|Y Y"1NPY\Y\X8rYWYK=YWY"=&XYXB',YY=Y2XXYo6%XXX;*'XXY 9'YYYo=ixYWYWYW4QTXXY->VYJYD YYP3'YYYFY[YY8'-YsY&YK/Y XKWYXYP?XXXY RYYY&1NZYbYz1N&XXYW1XXYW;aMYGXA'YDYDYo=YWY:9V&Q,,YWT&YYIY;%XXY H&Y:Y:m<%YY"8YYYWSMXXXN&Y:Y:=$&YoYVB..YWHXY}JXY16K%Y XY4YzY-YVNM XXYW4YWY  `YIYa1NY-X XXX8(\YoYoYWG7XXY Q&Y:Y:Y"UYhYhYWV;Y:Y:YWIVa+,1N8YgYgY =<Y-X"&Q-W-WXP'XX 8=._._YW1Y6Y6YNH'.XXX5*&eXXY TK&fXXX:YX?YY=`&XY"F<YYJ(XY:V'/Y3Y3X6%YWY /'XY[Y[XU?-,S7YJYELY3Y3Y"AXXY U(#Y]YY3OUYYSYbL&(XYm(eY:Y:Y5Y XX8]YY:YNM=XXY CS($YYY"XYYXM(fYY7XX1N'YYXD(gXYoYLegY3XBX&Q++YWCN'_Y^YY}C(XXYP<`'JYoYoX8 PYzY-YRQYsX+;='`YYPX3&XY^X@SXYsB!YWYWY 5K&YX5'KY"XU'LXX ?'aXYSVXXYWHoYY;8U%Y:Y:XX(#XYYTI(\Y3XXDq'XX%YYSYA"e0q0qYWLYYe;XXYoA<XY21AJ(fYY3H%YeX9IYbYz1NYYSYG|XYJ62&Q/9/9Y IXY;%Y:Y:Y"M'XYv;'@XXY>9'YoYoYW?'YYYoUH&\XXX2~XYJ+;X-!YzYzX;BbY3X9C$XY^Q%XYs;MmXXYWV'XXY2'XXYW;Kh-z-zYo;ThYbY,YYY3mXY&XHY&Y&XUgY0X /- 0J(XXYMpYYPP&YoY:@XY1NXX5&$YzYz57MtYVY YV0&/XXYWS0%/33F>//X;1Y X5&Q//YWO&YoYoEYkYkYWAf..YWUYJX+;HY Y"0wF'//Y S+:/0TFYXY}VY Y:XF'YYPY1\XX1N(YYYXF XX1NY Y==43Y6Y;5Y[Y[XH'XX J/G/10T+&Y"Y:1UYWY"4`9XY;&XXYoO(XXXP^4XYS5&(XXXR,/YQ?YXE"(Y-XX9f&Q+M+MY"LO(YoYo#C6(YMYMRMyXXYW=(YYW0(YYXM %XXYW5XY1JWXXY M%MzXY9X%YoY:Y"7(XYYJ>(Y"Y"Y 3MYYYW?V%Y6XXN)XYJXXYB(YYYoS)'YXYPU,MfY!X"#Y Y"B%YWYWY GY Y Y 2XXY-Hp%YYPYN&gXYY=9%XYYX/YWY -++X<&Q.>.>YWR(wYY)\:(YMY>VYJXYGS(6YYXFYYXLYY1N-/X3hYGYGY XmXXYoAYYXOVMXYoYGM&YY:Y2YXYWMYYGYL`XXYWN(EYMYe3XX/&YoYoYW9(FXXXR'>YYXG>XXYoVO%XYyX<XXY JXXY NXXY QXXY M(IYoY"Y;aCYbYbXG}XYDT~XXYLT&Q--Y 5i0h-}UhYX8(kYYYoPYbY'.XXYW@(XXY 9&fXXXSC(XYY6I_Y Y:9'/YhYhYoB'XY-YYG CCI$)0 }0G+&"a2`9r40 5 '(b:y"'%+n73t)_K*Q(~%Ko o; =$ 25?{ðB!#*t 4!I/! D h`E"&: JՌr? %;Ǖ#$"1{zdDnD %řI#[7mFl9Av]\]+#[%Ŷ 8c b @b P ":&h(#@ 6% !@(I&:"(m:L(g, a w ~'n: G %:'!(Ԋ3rFc! 6, ' %/*Wڈ 0;;;T1 N*t{IF! ! !}#ׇ)+$q+4% &A W!c%(v   ,&a !Avm$=[bbg Bu'.oړ  x̡  a'  ")sm8,{0)F,?#\1%,&!>Gt #T 45=̓! 8 $ mAAp pg ^h#:&L$3tT,>e~%Zk0  'u#Zߴz TB x 5N $;w%UFh4)&j#-r#Q;&&RW#U$X)i'i%)^ _ , (٨C; !H Ҧ#6<ː*2ˑ59 ĥ .D.$? 'B  g& Nu 0v@"CP M<O<!5 rmF$.Eu W''n@ X\ #q$^#:Vn D !&=Q 4#*$6 #%/^}(p! ?'  J! 0 tK#3xE%  )ԉ"\>+(͂y77%vƓp/$N)* "1' "{#k#;J>&E U V!:. > q(7Y:0RpQ&)')eOT)*"jL"YQ$ nܝFa" # ;?](&#>8cH 1?"g'*K*L( /)#d 'L'95 &qjN&G 2֋ @#bu88&U{1 "x** )$m Q4Xb5IxG*'(r)(@s` (9_b&2(2A ]$+`+hh!!<4$c _d/*~1 !ޅ lHe !A`)  :(:)-ɱ3F¬,(QP%T #]$ 9$"!  9 /W!)"FUe9|iIA  b:+F r)N-,!yzW%(h* $p ߰!B F 2'L;t&qA% 4 '@-n 8# &QSZ"\)&Z٢U  Ҡ<"ˌ$!!Ģ x.#v%P'= / d*j(rqR<(C #(HX8gB . 2R)'U#  h  Kx  r=O.K6| oF/Y ^&#(l<B!>- 5GV#E"# Ԇ#b>#"7#Ǝ4/)  0 N"/  u$Dv hE&' PZ+> n " 7)T6"0#6P%N)"{G%O>Mܚ F^? !?Y*e&1= i*F%#^ )# 0 8 eIF 9ֆ@d8! 1Etp*$SV 2#-G'a$)@ a]"!#$9H\%.)2;(# 'U+ed8!^%+!:'y+ ށCN! Q! :$ TIɭ )3A},#* c%Qm% )z&Y&==! W H&u$A|_ z+(A9V%  &`#u $`$ ! &OY -R }o !$((| a* W*-#&<SF E'h>)0$ޑ(%)}<H)PA 'w(t&{  ycI':T$e"T"$U)c'@n)U9 <+õ ( 9(!N l% &6*35M< ^D*ۋD8x(\$%K(p'A #! ʞ=F!NG*z0tl%E 1DF@YW> 2%)*@4%x 5'( y:t؈!"!",Pm ءXYXئ!"%جزس!"YTY3_OY YY:S.<YYs`-: R-}<-XYXyYY*BXY"XuYbYbYb<3YWYWXC!"Y3Y-\Y:B YXB'4@B,,RhB58MB; ERY3Y':^  @ Pr YXX~+Y-0>, 'XYYYkYYPYlQE _ T<OX=|X QYo!"YbY=}|Y0/1YoYh ``"___*Y"**B~Y+~* **XYXX*Y6XXKQQ*^_^3{^NYsX}~~J!"R'YZYYJYsO&OYR+.,_ YOYhO,YYJ`*::h-U:!"Y,{!"YJ:n /]+Y/dYY;;?Y*; *RfYP;;YhYXKYWY &)b,PY &*Y- v ~}}<}P!"~dYm#+/YaXYS}.}~p&+_l_`_mYWXYo5_nX!"YDXDYYSY-z!"XY!"XYPY=^&`8_#!"}+Y:P~Qa+cXcd,jRlm#!"#`!_^Y YoYo@P^Yh~kX!}N~.Y^sXw~~-~|}}~\~"ʂ+ʈXY"XYH_Y YoY I+XYY!haX.bY!"YP^AYS;h` YWYX>YCD/-YH4R2R3JYXY9F!h44.^<QjX!"XU!"YN!" Y^Yz!"Xi}tkOYz*T^=YWXYW6Y+NO+T-_ }PE!",r:L!"PFXPG-QYzPYY3} [MY.%/%!~w| %,=.!"  MY Qn"'KY~%1WX%EQo^lnoY&VÀ3.ÆXÇvNYbÌÍÎSNb'ÕÖXyEYP|ÙÚYhÜYWY XS=Yh/ %OYb-XP0Y&%aYXOO!"G4J><!,__QY(n ,I}Yh!" JNN@!"#Y"--&(p'-R-jY"O(/yYh !lMm!"R oY6Y}rYO.av!"4fde.M!"tYo{_C?,,pY~!"YQXY=~^`a}}]RX+<___Q#/GAOY&P| ],Q$QvQC!"*RXYQ%YDRe/"`_]^^e^f^gYh,0YzN^4Y:XY!".%9Y:}6:^&_D^^S_^5^^||^~Y-P)C;P&XOUX}YY<YX'}?~h01YXY7mQXQ&!,QYhUFY3 < !"!,&:(QY"&?* N~(SXYeYY:X?#`N`OGqP@RG}G~X&)*GeuG*YhY:GZw!"Y}GIJ_&PP* 'iOO]kXYnY!"#A&R*RYPYPY!"_Y XYoRs- YL!"*RY=N!"!"Q4.,;Y&Y '^S^.`^H~^I^J^K06=|<N*&,C *YS.e<.  Xc}l {9&6ts  ^^+o.zO'CXXYs:"gf D}&_,.BY,8YYJ!"cQXY X&N?QQXYbYQY!h(' qF*YDXY"Y!".rY"YYPHO/aNYsRRXXYX0}Y|Y!"OV!!"Y,YR!"YX~$fm,~}:OYYRSXY 'YmX~~}OY'YYXX-EXXX<(_~Y-PPqYP!"7 ,XYawREPiYdixPX~zY[*BYY!"}YYCP}OY'q/cYS%Y"XX,YP*Y:M.ٿQ &Yx!"q-!"X(~YrQ>NY[-~YDY^_F^_u{=6YoYoYo2 X79;G~+`>MYr?VPQAABXMF`%!"P!X!"YS9xYoXY|v.Y3R]'YFY3Y^Y:Y:Y:2N -+/ ;%XXT *W/&+*YE*XYSYSOc+0~'Q + .x7,R~(&(Ps!"*ESkYPtYNDHW o'IT1OYk*"k/K!"X!"YUWH?H?H?'^|-f4MYW,Yt!"\8||}9Y[P/1 oNR+sY X ~~UYecXYJX!"dX*fNP$YN, _:2Yo,SNO'K*YvH'M  Q-X}P S~WYXXPTYYX!"YhYX_^-`Y"Y"Y"2`+/,,H/yR'2oeR(*P-/]X|(22XY X9^!"9;!" XYsOXXYo&-YoYwI.<LO.XY;MO/X3.Y YK*P5rXX!YYY*Y=4`@4f!",1BR~7;",X/XMYs(YRRYYBP{.Y"Y"Y"<YYYvH~}~5u+Yg~6~r-PYkXN YhRYJ~9|5*S5*S!-X!" [ _X- sg/n w XXPYoY3YoYYo<_QQY+R+[+X!"XXW+l+<,;XY6*.uXXYoX+|^^!"%!&2YmXYYXAJY}XXX<*F*: #).7O:hO&O00@BY}YSX!"JYO,YXYGXYSXXX`+;`,-RiRj;;;%^ n)}+,s #* ;Rk}v;/YYQY;Rl!"}~ h(`_]_^\^S_^5^]Y YWY 7mXXXWNN!" "" [-*#&-Q})YPNR-ZYC*LYu!h(Y=JQ?Y3 YJXYJ5YoYoYoBXcd0^XfY6*#YTXPX''!"!"XQ_(E$i+Q$t:Q(F<,~nY3X$!"QYvY1$)YhYYo^ ~!"YR}m}~[Y@0Yz&NXY-YYRYhYsXYzYYY<3*}'1*60YY"NGXD|^{[H}K/WO'2.XYP+,HP'}YzY E0cOXYJ_ ` R5Y %YP-XXOtR7YYP4*Y4!"!h(XYoYPN!"^?^@+X*!"N ._Y/d !"YXQ0& NYbYP7Yw~iQ!"--<'zPePKZXX/Y(z"qZ4~dn~P.k}PyjK~"PLp`_]___XQt;YpY&/ =/Y@M?YO!hQuY%!"!"!"QY!"Y1$!"!"Y~RY(!"B*GXNM-.4E8b3-FG-FIO-POYt 5JY3XOLO.!"MOeYEOkYgYzYWYWY 4RX!".R=Yb< %04+BX-KYYPYo_B^,xL-z}4NXOIXYXYX(}5R}7eY&,z!"'XXXCXYY:4+YO/R"q"` P %!"YoPY'XP^S^.`/_+m!"0dQ(!"N:LYXY0Q)YQ*YoY-X2=^i^j,MSaJKXNa* !".+XY-SVQm!".TY3Y}W}}!"Xc[NcOZY:/Y/Q}X- X.X XX}QjO[YPQksYoO]_YPXYzK!"~ YX-&N&/Q*&XY}QX{}&L&+XYXM|YhYsY-Yy<'M=M^_F` _'^S___(_)_*_+m+:!"OYC+uvYg-Yo-Z':OX,RYWXYSYOR,sP!"Y0(~!xXX^L#$Y=+,YYhYMX&XX+,i"YY-}}Yo&^^``"_^^^, ו}I~;+פצ-YXׯO*<YXO,XYbYGYX_``"_R___/83-/,mT6!"YYoYPQ,NQX YbYDY Q+ YYPX4m!"t!"/A*XYsYPYA2-YsYbRXA8A:mQA@XqX)~AS('^S^.`_ YWY"X4_ _ O).':PQ'},YXP!Y"YQ' %OCXXY:XYY3bYPXY# Y<X!"PYsYXqXY'YhYhYh<-+MX=Q!"DGf ,r.*/K!"%!"bVYMXMN}R}:_^Z^Ђ^,YPДКО~K/Y[Y . N*Y-мm:/uYP0Y-XY:+>R)  !"XYPXY5Y//89XI #:X: ;{!"X:YbYEFsY:OgYQ.nphXtX!",Y&X*YP|1%_j[^_`%Y',Y)YPgPhYbY ;"'^_^^XXX5^YbX|,}0}G|~-h~|~//z}1}H|Y.)YU-6W-\XY;b)YvMM^_F` ^/wY Y Y @PNX!"uXɍ~ YE<X~e!"/&|ɡ*G}YXY3_Ou$ 1 uQ/$X&Y3Yo)373Y@YPDY+X3XY"-Y= ~3(XXX!"-!"X~&34M,XY:X7m^^"YYb/YVYoX R5( }`PY9O5YXYb/X-X.O6O7XYC1Y:YYh4mAB !!"" #3adc+Y|<QNYd~~l~|./Y0~P9*RP;O!"COCPCTP!"X RY0Y6CeCgCiCoG(/GYY|OYX Y-I}!"Yo<vAz†/X" #~@~a&P,!"D!"YJ\NO~C9JNK'_!"<=|)%X-MYD-ZX!' /& NX!"B!}XOs+ ! #%g+Xn+k0_o,MYb,Y&tYP.X,YYs(iYzYWYLYWGYhXYh7m^O!" !XN)X!"OXOYYXYY0YP ^_w__?^__@.wY"Y"Y"5_A+R/7Yo+)hYRYJ"Y[C3~}P`-`.,MS<4<5'},YX!"NY!".RYY/Y3mTQY6YWYY:KٿYWYYUX YP [/'!"C  AX!"NUYYoO!"Y}Y3Y0|}}^S_^5_sYWY Y 7mR{WX.BY!"X'!"PYkX-EY-YMYJYbXXY[C-%;ZX/YMYo;% QNX/!%2W%;%<%=.Y* X>"(Yw'}XXX<3NN-˳Y[YyYh"N*Y^S^.`/_$}D0LXXN~X P YJYhXXY"Y!"PXYW`5O`X5YYe(Yzp!"XY-5cu!"X00eY5iBx!"!"yYz<z}]a^BXY X<YNVN".*!"YwPY]E}}XY Yz %N#YzX!h(XXN%6SPPOX.!!"++ q!"^PQNYOYY0(YA___('OF/,[~x((X[`Y&^,()),+YiY YMX|}Y^Q'^m^^b?ZX/YXYYN!"-+Y&~~]~+ZWYXPYnXX.s~%( cXf<Xih/ i$+ .)_YYY<3./Yl!"<a .>.@FYY3[,T}Y]$n !"YY*&LY R ab ^/M?X-Mb%%%.b};UMX X02YWYoY"5Y"XXP=Y./XNYYn.RMYF5H!hI P.9P_Y Y Y P=K-<HYNQ5XQ6YYPQ7^k^lp!"!"YrY&Y!hXOX&>XY)!h(' q9FOnXXX^^} YV!0"XYo"~/''SX./oX+.YWY"X5YXYR'R_Q'Z!Mc/]Y+YoQ'f'g'i'm  Y[  YPY.Q'`!`I^Y-Y-Y-<3^3^)%M# /Y0.YwYBiY?jXlMXYSY3X&YPYYP<YWY X?#^B*N %PdY*mX5YO~ po`O~uS}Sp` _XY:X<_D( %NjJYX +cX!h<]Y~KYkYY~mnY'YYY<YWYWY 1YWY Yo>N2N3:Z( Y$ -.<}X:N}~=Y"YN4YzYzYz2^^356}OP/]YYoXY}!"!"N!"X!"+YP!"XY:XY_YX,*m XoX Q ~=}~|XQgYoY `>YWYY@PXY!Y:RAY(A/"N.*/J*-A,+PX0Ad -RXY}_ \}-BY:^X0RX*!0~~"F YN>&)O/YK-YY-P:XXXX< ]P b e}|PQ:Y mR[NXPP$nX uPYNR9 yPXPY!"^3^4-:Y3X!"u YQXX 0N XYo%Yh*+.1 /XX!hYX+%JXYYoZYPYbYKXYX2_XYX_~V!"XW~TYV.jYJkY,fQ+XQG!"mnY!"YeYYoXs^^`(`)[-G}AR(Y%!"::XNDYP-{:MY}PfY&(Y-:gXY .kX}!".;Ol"COm!"YDY3Y[QMX~~~XOpuqY , ,NYKYzY--YPY6RP``"_R^^_w^^`!`I^XYXKXYoX2^._!"X MYY%<MO!"/]!"\YYMYY"YY"IY:YY:7m0Y: X &NYo-!"N*9Ys<Oo!"_Y XXU{Q/X<X5Ys7,P'D6YPX3<!h(' qYYoXQ 'XY X7m` ;x35YDYD-'!"933!"Y:XYX=>/0X?YJY+33XY3^Y XXP={= ~vf}HIO=3.#!"!" ,*XYnQ2QVBnX+O>ItY QO@zYkN__X?AX-XROWYYe_!"YPBgD} Y3YYUXXX<3X-a I-+BRGDdOu:YD%X-XYhY?XNYoYN!"NYSN'Y*YY)Yv.NbY=X!"?Y9NYoik^S^.`__Y Y Y U  +VPY6+-YV }+!},D6 **P MJ'!"Yo 3,,X QYn < YYhXYX/XY,X(m,,~H-EXYhY-^h_^!"kY[*&:! -Q- YsO YӐY:Y:Y:CXXPXw|Y.OBXY:1R*}YYo(X(XY!"<[!"YoYz %+/Y0:LXM<!h<Rr<<& oYWXYh>}NZ"Y[~e~}B|}P  YDb+})XkN\%!"&6Y:+v,_u.Bq) 0GQ<^!"0s~_YYJM!",!"X`!`I__YWYYP=YWYPYOrY%m,iX%-l%yWn%%-PX%X<%Y:%BQ^h^d^Q^YWYWY 6Ni)~#~3Y)+[Nan~ && NY3YYPY=,/N!"x@X̃`_%Y XY A Yz z|Ux,5YwYOXY}YXY\RYzXXX.YPOY5`X0,D,R<50 }MXYXO6XY6Y"MwR?6 X6'`?^E(/y^F^G-X,"YL? 89X &Ys!3U-:W[Y]P-6-  #q%$Y<~j&:X0~"~'FPX!"X 09h/ i$+ Y!"!"Q}wY_YJ* }/uQ~ X!"/Q+.G_'\*^N/T-.UgXrI/2NN!"YA0XX~b,;YoňX!"Őőy_ vYTXxO!" }XYS-!"RFOkXXOYoY,YXMOXXX2YW$.QF.QR.mo v+%t.!"YMXY{xR]X~!",YWY &7^1^2~}e}@;,xA!"YF.Y}CY+)NY- }E*#d'}Q+MYzXY}&Y3YY37mY Y Y Mu 1XY3-^Q,MNQ~YhYXXY"ijy#) P!"Y"'SXY3!"_X!"XQ;PX/n Q=YRx/YN'/P{yXY'XY"YoY"7mv^-0;YD'q!?-ObACY3EsQ.Y6Y-~tKMYp"ߧ_'Q)~G}'' N %(YhY2Y(Yz3}r}o X*"`!_^HJI vY!"!"Y*_<r|YlrRKY"<*QX0 '.p!"!-,X!"'?+$/XS/!v +)&H+,m"{'S#C !- (YhYYx}PS+(YWY"YWQYK!"X-Y,P!XXY%+dYXYPXP^[^M^N^OYoXYo7mYoXYhKVq0DW,XXX6P!"!"!"\}aXN$ PN9XYh &^!"/!">*Y}UUQ/!NL!"%c.``"_R_^_w^__I(3!"!)!"Y5+K!-0*4X NQ!1*/TmTYbY:Y:Y:BB\!B]Y~~}5~YY$Bn7~EBpXB9z,YXYYXXYzBBXXX<YWYWY S_Y&YhX3'}*XYoY+RO~'#XYWYoY"K P-  !" !?/X.Y&/YJ XY~YPPQ'YG/xX#{!"X R4X -A&%BY-,/Y XYNX0^^^&`8^^-!"}=,OY!" LNAY"F }}XO!"XXX'}3YWY 4_6563W.4QK(+*#A.u}cYSQL2 !"Y:Y.E;d}6X!"(!"c,3fw;Dyz YhY7!"YQy"O%{/{0k# * N XY}Y!"PpY=RXX_p--aXY0/YXXXYJ3#9yYbXW4PC2X3!"`_]^^b02NXXXY"YzY-}KN<!h(' qYlQYqNY/YN$NC ,YzY{bN!"NYbYoYYhOXY_YWXYW7mYWY YWCX-4YV57i8/YpVXAIY[KLYhQ` YYY2YWYWYWBYXR4ZY-Y}4]VOYp4l4qPOL,YXXX!"444YoX^XXXW/qY\r~I*X*UFX!"lt(PnYsY!"Y[c!"n(YJYoYrYc'_YYWXYS_Z!YPH/XPI-YKY Y+RXdeY?PJf YX'wXH!"D`FYY.<0SQ[4 * YYX( `QD^_F^^^YWYoYWI0/!"Y^&Y.,Q~}s?}[~O/Y&Y}~Q6*X`!`I_^S___XY:XS PQ@YzPN A( - P L+,.YSYPR=OW ao cX^S_^5__+/0-E(qYS!"Y-L% Y3X1234RR5-`!"Y6X!"-fKRYJ^YWY:XK,aMS5&YO0.K + X-Y-2RYX4)Y9)** !":0 P P  .!Q,fY}YY6Yo Y-.!"P_`2X=mc7p}PP(**K-=~YoQ=YhX''S=;=Y=Yz*(Yo`=RvXXYzC&8XXX>2}~XNmAB)( oYXYSN`X5XIXkFP}X&_|-Xs0YhX]PQ:*Y`a!"!"GY6XYzP NY3#9zY"!"YYYI__YWYY:C&oQ/-YbX&&NYo&YYe&8}N}}OYz&&/2&YDYDYD2.~e~~0K~XXXY~9Y*PX!?"YDB!".* Y!"YO`q5}Lp>/v-j0RC(YM!"Y/Q}~!"+YWYWY ?#N,, Y:XX+}!"!"YhX/}!"s<Y_^Y XX@PYWYY:5PZXRBY /XXP[/ i!"~) /Y:*XYXP\X[M9OXYP,d{_OH.U5P>!"Y$n/Ye<YD<X'YWYWYWCY Y X1^X&bYY4YN,YX<?NEYM~D |XX'-!"Y".X@,;'YWYoY"SYWY XYP/~>Y6+d//d/* YD/YPXf}/YXY7mM/}JYhYoY:XMXYXR!"/_GYWYPY6!"<+^-!"'b!"XjKM!"'cX*-PYY!"^^__!"HIJKMYYbOO-,!YY*!"YNYsMU!"`_]^^uMXNsNt>XX!"IY!"YDY&FQ<Y^&_D^X"N!"01OdYM])XX!"89XQ-Y=OedOf&Y&X _YIJMLY((>*YG(QY:XQ?!"R1TX(U/X(('YPYPYP<BYJY:XYYYPX!"!"YY X!"Y MXXXB=X!",!"*#  *%sFw<~;XOOO}I~[OYYsOXX/3{zYKYb#XQ--YNXOY0'*NuY__^P^QY:Y:Y:B3W^R.Y\.0N=: op<Nx-Y"sO}3}X,}SYAMY&YoX{^z/XO1O3X!"JYZ~ O4-""3/u|}],^_`M_YYY2!!!./.!!"/nYDNQ!QYFYYh!+Q^h^d`B`CXRRYYC!"/ XCC XC!Y5N[Y!"C)X?<YXRk}^D(_-O/SO*Y5X!"`bXM9 OYzQp_^$_*$ __~-X0DY#PY3 R5X''WS < Qj!"+YY!"XX+  (P  N  z!"X LYo!"YXYNl.'(8Ye-}`YN:Y 79/;;@<!"=!"G%Y2!"XUVYPXY[Kf^XYomUXY%Y8X3vY:yY&"* h-YoYOғY3Y)Y=Y=Y=<3]_OYYYYoPQY(-YXXn[iX-T*Y"QS'XXYKXBYJ;!";+!"Y YY<~~X-XXX,YWYWY 50Ysh,|YzYbY"bi,;or&!"XYYv. QYYX-^_F` _q^^_rYWXXU9f.X!YY#g X.Pj,PROjYMYYDYnYuPXP .-Y.AP-YX!"Yx(+yYYY3%Y}  . YoiDXYk1}~MMY!"XYXIY"XYH^QTY/N~~YXY?Yzj!"'_|~Y˅_Q0[X:}~|z+!YhY Yog,YYY=4`XQgY.AX~YYb!"mY!"Y:(Y6QIYXX#SYz!"^h^d^XYoXA  ~/-Y&!"ۢYۣYD&ۨ!"XX!"R`YY<^__[YPYYPS ,.2}Y!"%m!"gY!"XYk* NXY"PNXYJYo_\,E<5*S5*S !YWYYPK`GRREF MER(I.#EV,G"!XE]mY~}4b(Oy v**+<XW4YEtXrNXYYF~~VxĄYhY!-XĒ!"ėY-&_N_NfP@._*3 <B!"PC,Y:XYoED6P   YIPX^S^.`/_-Y:Y:/Y-vYF!OPI-KR~,--XXOD!. QYMYXY&ԟԢԤ!"O0/ԬYOUYNYKYW. OYy&,[\,b-;Z.Y(YYYZ1X#5'}P78YYY2XXXCXY_-v>'Rw>(>*,FX>7XY"7J:5XY6X!"'}!")_6f YP.u'Y_NdXNe Qm"nYCYYYCYWXYK-/ <Y-/r!"!"--P(,FP,z?Yop_Y Y Y BY&}'~.6~Y\,'!"QY(YYPXQQ'7`=^'͖YWY3XOr/XXͤ-7N8Y}ͯX<=XXYh~Ys;BXOYk.:R/ TQ!"^_F^_,YWXYo8~!"OY/ R5XP+;!"Y!hYOYYb'YYY<717<-Y,_X}>Y%@RHY3Y7YRI(7a7c,G7h.>XY/P-F<. ?Y&/)Y,}&Y&.}YN.Yo v2NXN/N0,YPYN1'XYXIY:X-oY !"~XXP`PbYoYb0D^_F^_XXXA _ 6N @/]le INE-*QeƦ^&d!"YSLƸƹ)P+KYr~o!X O+O  Y  GYJX!"Xx-S2Y_~( }-NQ-!""YX' OQ`YYY2YXY7m,Y%RRl0%Y(~0(Y!"Y!!"YJ.*04XR'o.]YW/!",P-Z-s)X`_]__J_K_LP".L/ZX,;}!"Xb-P'!2z'**#YbYYWY X>QB!"04X I_+aVc/ QDQYOYYWYoYWB^wY"~}f~YYC/*~}_z'XXY[YQ"OQ:NzN{m~^YYhYCYYYs ~&+{Y YwY=*YXXY3'``"__^__YbYbYbCXXY"4ho~0|.U!")@kl *Y)G+!"Xq)S!")Z!"XGY)<Q}}"uXYPX<^^X*Y62Y2#&/NX6X|I-K%XM^&_D_3_4_5Y=BY:X,X.c fg!" NYJYn}b}'DX_9u 1X:;+,-XDQ*BYLMQOYPX!"1[%JXg2jXXX<YWY:XS^V! -*!" !".XXNBNCYYWYoY:Yo<^^^2YO95YYq2Y;Yz=+O:O;K YD5GO<^&`8_"GXY:XW_.|/QYY"\,sYQYQY"r*10`DXCCR+QIC!"XY-RCYb*!"!"YYXY!"YRYhM',YO UXYS-,sYZx'Y YhY:O!f4/OYb/tX2*TYL^h__-N I/PYYX U!"/1XY-Y=X PPYP l+X q4 rR^8!"Y[_}gNLXXh}hQ Y^UNX+Y"+;OVYXN KXYXRXYoN &^O -XQ&,YORg,hMY6XY:Y YoYoP=!"QZ,Q[YXQY.bXQ]Q^/Y:!hX+Q_,FYl<`0< YRoY3Rp< * Y6Y}}zY)<Y Y"Y<RqXXY&XXXC_YWY:X>,!"!"&!"*!"XY"}~tP1LXYP4O}_tXXYY>Y'm/vXwY0YoNYvwsPxY}Y3'''!h9F q'(XX^_^"YYY<Q1 Rm(!"!"!"YxQdYX/MM+YYY<+/!"Y!"Y=,=R\ dY?YzNY`!YZ!"'+!",NXXN1__XY"XS ]]/cQYe!"| lY^YRH#M'}#w/YYY-OX````5,Y0YXCJ'} z s3) }~zYDSY-5&*.<YYo0(Y!^(.}&0&!"X.C,Yo!"YPX9Y3/uY-R*R>Y@XPRd/5YX30(N~!"Y[XYP-+)m,X,YJNW!"PT:-PU Y"YoY"S EY, RXDE(nR'EYER/XXIOjYL(Nuٿ-x),,Yu+L!%*XXYRYd/C~`~!"_ p',\X^ ub(4X`-RXXf!"gXYzOaX 'N*8 YWYWY OrYXda .+.P/}V+BR X!YY&.0pY3R YiYoXYRn.`'*8CDfQ|XO+Y&;% YY&O,RX^EYYYoXX- .+OXO(rY{Yo._E4\MMSa,6-OR=R*6'\YV=YeNQ?YYUY`ZR^!"XR<XbYZY=X!"d!"YfcYb`6P=>>>X(*XYOX0XOYYYY>XYYbYP!"O|Y3>-E^m^n^o^pYWY:X6NhM~}xX!"/1:2Nk!"M;/|Nl~YJ,YE8YYPQQY"YoY"9_yXXXMYE2Y!`O{!"XXY<YfYXYNYX!",XUgy.'. <0 Y''Y.NY!h(&YM$9^/Yo?YSR81NNL!"XSTWXYD-Y-]7aNe~BN8jM:QxP_^_-_.Y+JcdYY:Yo'=NYPXr-ZYbX!"}~t~!"K'q.X2-YS/7!hY&Y(X8XYYsXYnX<YY8XN5YsX "0;ZM}~S,AY+XXX57Y8!"+!"SN+pYzXN6IN7TLY_dXY"XCY}X!"R*UF*YY[,X3Y!i1Q? 7XYzY-K_XX,:  .Q,$ !"QPY<  dQ ^ 0V.2X`YY,iXXY[9(Y^OP~-,OOO.Y YY/Y1+dmYoYlX}~e"_YWY YWA YYhY7m0XNyP4v}k!"P0PR;Y%YX.X0RYPR@$$*S*S^6/z!".Y-Y:Y:01*Px;X=@XY#EY"LXj+\-ux P%YJTP&HtaOX?'lXXX<YYPYNl.B9O8v-N(]=^s!"`+o`!"QH|}+PY* NYsYoQJYb^yYXY2^z!"N}/ %(4&B.!"3 #{Y0Y,XQ~&Y?!!h'XY:X<^^^o-r/1,3Xu}FEBvY3YOqxQO X Y"!",i-YGR^FBˤ)YWXYhS)PMYs %)Y@)-4YXQ)QQXX!!"X0YoXW?Z,/.} ~]X/CYY0_~m} Y*T^h__8.Jv$zX.}'F/ XP P0-Y(Y0,Y=0%X!"<YP{LM0jLW}ypYhYYhWYX}8KNQ XY[Y/<Y&Yk!"!"YoQ RuY>O?Q Q O\X^X,a!b^iJ}+qNFuNGY3XY-.b^^^^}jWXPY!"YD!"]Y^m3-o`!"?Xc!"!"YhYOD___Y:Y-YJ0*?&/n6**Y4QY/6YkR_;Y(:Yh# M }(<^&_D`EDTYWYoYWQDZ0}X!"YyX)VNTMX}X*MXYYWYWY 8~YXOY-Y":Y-/^/;!"Y1SYY^=V@Yz^__  Y#!",d H .YPYY!" S#!"$&F* q!h'(1}PYQ^S__^:^;mfXr ,Y"Y)*xs!+{Y:M}n}iv!"YYk ^m:9!"X!"O " ,R6,#X( `Y$',YP"Y Y X8~-~wu.Qa!"YkQb+Y=QcUQw+!^XdeXYXYG`1XXY@+=-P"Y!"=@=CaYYP<RYY['&iO=|O7Y.Oh&X%YN!"YxYhYaXXЃ_vP PY-"3Y&mzXYQY&YSYNMBYJY^&`8^#t @<OXCYY3N}$YPX}}%}X}&IT`^*FB̨ˤ̩̪̭̯X&YzQ3Y1!"ZX!"X!"YDXY&L~4{~Nq9At9q  _.& X!"+'NPY5Yb$+XY!"XX1,R'Y:PY`XRARB  6T+Y[YY6g-Ng6mL0~'-Mx3XXY4%'YPYPYP<3ܲ^O!"ܼXq|0=X&XXYXYOYnX!"YDY@PYQ8} *XXY./CFM7Y-YPRbY`J`KRX\F:I.Y<(.# FXef0YXF+mFYFR!"^^YYK!" -OY(!h.Y[j~Lyw~g~N}~h~+P')"_YPX!"+-/XTR1 -Y,{YXYsPYbXPQ]89{!-XXYYY<f_R+QOYSY/.m'}*YY/CXY,RYe/R`!_^,{0F4}o/- X0<YA.%'}!" PM "Rb;b.XXXCYWY"XKXMX[<w}~fz!"|P}Dhs} h1}  @YXXX2M.9?}-X,AX((X|!"'lX?$Y[YYR~M-?p{__^q^rY"XY?#^s^t~}~ }No!"Y~ NpXY.<-p&CY:Nr'^S^.`_z_{5!L#0>X G!YMP.Q!"QW~Abj__5/8(BRXQY:? 0R@(TYz'}D!!"Yy(<!"(eF^^!"YoLMSTXU X~}pNYPP'Y:M*X~XY~J E6r!K2 f M %&{oh. ("% ERQ$!%F#  cM!$ !|  (#<*6hx $ O($  %' l)(&B7 #$;& M H"' yLy K$t'5*q ;(E'"Zh#('( { p )u  U' [tG6%r& s f'D"?&*X+ | H(!| =' f y( OG W"0C";$g##!')F!Xv&&%1)aH* !*'b"z}p r& cf&TK"f # )'#"Zu'!!$w :)+`)" d qW$@*<_  )N)&(F*')"&,O ?!z% *# * )\MT\g#{!r *![ i .+ !(`")n+A *z "$H&7 #$% rJ+ X< B D g)*g 'N^$_*O#`tpU$jG$ vU!7 Y#E 3| 'w |juS3 _ f$F # ) "j"Q%! Bi%\Y (q$ '?),!> / \2F' !  DwnQ%-s F.($%S(B> 6r F$(&x&%C**)( @`@9 ' T" #$o)+#1v(*1!'plkY*x %6I "% ' ~ ( R YB i"z ~#)H%  TR ` z( Z 4i  *  V! )&%|!) t#b ;"*%^ VW (( ( &'%}'k)~C5 $J) #%b( /%_>%$m!!!a$(!  #'{( 'mx@- a%R$8#&] Kx # #!=( &Pf&Xxw''% $ (&%" !"# %5"  P &f G'%c \$ e'#) <}=#mY!" Y*/0!"~8zD cY"456Y.*O.*3Yo9:@YK}; RRX8/;X*Xa(mYYXY-8!"RTYRVP(Y YYzY5XXYo?#YYY5ab+c+Y.'XBYXgN;i}~*kOPe a!" YbYo,YsYh,H/~*}*@A~B}X5!"PfY-< !Y;>/YJ$Yo!"P&!"_+m!QYWXYWIYY!"X+QYk  RX!h!"!m!nN8YD,!{(5YP^Y"Y"Y"CY:YY:3Y"Y-J~/h5D)}~}j} ~~NI@*Yh**NYV:2P DTXX!"W!"!h(G!"HYYD(IJ____P+OO YzYNY:O<NY X'$!"Y[,Y?OYWY XYXWXY X3YWXYWQbXO!"XR&Ns319Y:YV!"1(N1}u}LYu{Y^}Z}x#YY&*X./4N1!"}\YhN*!"Yt?YoP*P/'nX%X=Yt+y~Cn!"!"X:<_M3^_Y!"XQNRfRyXYoYQO"OMQPPAhYzY&k`&^}YWYPYWBYXY7m^~!"PgY'N,BYbD7``"_^^_w^__ OvOw(Y-YvY:P0YyNOx!"(s~X&^__X0*xMf!"9.-O*Y&*:*4(aaNQ^_F` ^^ ^!Y XXUZM3}}*0}!"Y}^!"*MsY[YM=_:EY3(XJm~}",sP~$ !"XYR+O)XPYeadY:OYb_pXY3X7mXYWY N0 _`Y:b3 Nd/XX!'Q %ik<Y0}nRU!"!"s1<12^YNNJ-gYJ.j^ nNKYb(K,+ N#Y!"XON;Ym:n;ԟ^X!"YuyQXOo~vZ!"QXe-FgYX<}&"OEj9Z'k&YU-p-++#XQXXY:X-##X/B*YD##]DYhXD#Y&/X\p]0EYvE  EEXYXXEP)YYOOKOLO5/+>} AkTXUXVYMTW?~3O!"pXY- XYkX Y&}|IF9YP X3= N_>NXe O+;O+!"Yf0r/^X!+\XXX<^O,nD)OYbF/PXIYPYz* NVOYzYM!"~N<XNYYx - X ( X)/X-EXYYY"P Y,Y-0}XYP,3W=`3XXXM==Y!"Y= Y3=YYo!"X,*" =*4XXY!"X(,_YD  XY= !Y:Y#O0X$YS%YiYPrXk,'_xYh,s*PPV*$M"XYk.PY" GY3~YoP,mH@H@H@^(,XX0nY%X+_YX})YY0XgPD6X#X3*r)b.A/0kYAXXXU^Y=  bc?Xd vfyNX0jYM!"YzYkYWQ0>*}Q!!"+<)N&\YhUYY,!YPYnYaY3XYY01HXXX<YsYsYs2YXY3X6RD!" Y&X660X6!"X7z7,FYoYoYuYP<'%Y}(Y:}-M*u}YwXQYoXXM݅-X݇OT݋ݎ*&<!"YoYsYsYs<___`+-P] ,YkY2~XYOYG*]Y`_]^`LYWY X(YRz.>YXiM3.Xy&\~/7YYGGGKX GNY-GXYbX/Y.%^^YWYWY >f(nW  ~k}uYP!h'}Y[XY-!hX*DkYYX?#_XXXX2PYh<P,'+XP+2!"+-g,VYY}YYP&L!"F*!h X0-/_/Y-/X+/ 7R' YX/g!",8~~B~ji}VX<ij_`A^^YoYoYoWY-,FXY:@0&!"b} (Y+?PXYXXY6.s_2_HYoYhYo<_IP YzP!,.m X/Y--O**Y"YB,s^%`7*" `9`:`;@!RM!"(RY"@XaYMNw<Y"YoIY@Iy#)   N@UYM!"RL0X^vjq-. }NvYO, YX/^CY^!"Q_}XYXS XYSOReb'k,'}XYYJY"P'}XYX7mQXY^/`P!"!"+Yo((n$6(Yz)YWY"YWBXϐEY:ϒ+Y.Y6R}~ :2O!"oXq!"sgOG( `ϰYWϽ;&YNNv^h^d_/XYX<_0_1XQ/+dNQQ\XX!"V'``#YzYzYz<`$9.lX_9+PhRY+!"91RZY:YS9:YYo+m^T^Us,xx}.Y-+~Y$X.Y;X_gcPk:I~I#<<,jOAYJ!"X=!"JPoX@MPqXYoC_Y!5Y +uX!" Y.jY" (8 Y  ." YNX!"Q"rYPmQ",ȗ+M&pNȣ~ !"hYdN04ȹ"ȻYR&tn +[!"MOXrY!"<1R`!".R$2(XY2#!"2&'l-bXR%Y29YRQ rC+TX/2Y(.,YYYh%0>N[NY:L0~}cEYo/1^S___PYoXYoC YsY'p Q,P2NSY{Y"Y[ P3  `!`I_^S^.`/_YPYPYP2XXX2QTY6lX--J vXQU@IY&&\QWYsQX!"XY<_i^!"!"{~/6.Y[-&,XN!"(YY0(.XYPYhNX!"&~2-b_YoXYo<Y!"&}YPYhYoX&;YY_+Qw}~.tYY:''SP. *6(d,YJYDQY[XQYG'} 3jY""XYq!"XX-(%YM'},Y[#\}!<}}wY_;_<Q!"} ^!"Y@YY+c-6Yh* NM0 mYE6*P}XYQQ!"/*XYh51R 'YMQN X>Yb?XY"Y4Yk* ,gXXX&}~Y}}_^7^^YWY XKY:Y:Y:X2X v-XOJOKQq QY-Y/<$$YsR+vo=|B~ }}}Yo(B!"YL!"YQY6X$8w$:x$;/mX$>z!"*GXXY3X`HMSQ,Y3EYYb!"PEeXQE4Y35X:LY9<'SR<^____,a+Ol"Y0,0 -YM0YvOwYPaQD~cOYoYbz!"'//YYWXYWRYWYWX4_,/4PPPMYO'Q~? %*TX 0W 4 7Yk+<YXN H'^>NX. N&!"XYSN!"|.VXOrYXNNX^}}w3Y"YPYH^]Y3X/;OX Y1d!h `!)-0XO":XX,m'YPYY4&dX}Y!"-/XPQpYhQrX*Y)XQsXY7k``"_R`4Y3Y3Y3U`5-B.>u/Y.>P>AvRzR !}Q.~#}/,X~_ Ys#+#*' X!"XP_XY,@,X X!"OYWXYS6P$'Y),BD!"PPP!" N*\-/ !"f_^)^*=|!"X}2QM~,wYb!"!"Y:^S_^5^^NYb.jY".8%&3~~N/,Y~' YaY"YbXYNYJ.6Y&X!"}a/}!"XegYA*Q&YYD!" !"Q'X__o````Y:/'qY}YQ<N-0'/RJYYX/X7NnXRLY"Q -EY!"X GC /QYXP|U~<~}!~'}* NY:Y"YVQ.X0^_w__aYhXYh9_b_c YSY3Ys/0 ./6})')7}YDXYQR/CPcG3`PG'}R7 M0TGYY'G}d}}!"GlGG'YWXXK^^~qYYz)XzXY8PWPYN0- YhX/X <(4__N]Y)P.''R\bY<P_0`XY^YQ !"00[r0usz0!"00'^YWY YoKP@KRO]iGY\Y=XYb`w-O)YbYxg&<&YSoM!"XXX<3P#Y,XCY'h!";Y*H /@Y&XY,0Y2OSY:\YR@YP.YzRX@!"Y'}I@^_w_^x "(3YSN|Y&3#!"XU~!" %!"~QeYU-,,.K<X=_BDFa'YWYWYWM!"X!"-m+II!"PaXY OX!"- *<P*/^Y__ _X-x(YS) ) YJ0XYPXN!"Yh!")X8YoXYWYPYSXXY8~^Y!"*6)!"YR*!"Yz~~Wnk~BYYJYPP&N.ighXYYY2=_6_7Xk+YXYJ/nC OYY:rX!"^rXPXOO?wx[\~!!hC}~Xy()X.:+.9YJ~y,R,r!"Y:9O!"99Y#4R5Ra+^W,0//;YN56!")YY-}/YP/&#Y@KY6_hLMYkYbb')!wN' -gb)XYlVVW}PuPvYXYY3XYK""+ "X[}Yo.N%"Y<('q"!"<Y*+,'XYX4^Xf,N!"NAYIUYhNXX__XXX2_YWX~p~}3XXOXYY9OIJN!"PDY0@1 -Yo-^XXX5Ys+ ~X!"YY&2X-,2X2R)X2XX*2|Yb2Q^9 4J)%Y:R:`YYR'XdY'gR02X}l>* Lm=YN Y_QXY"X7m~Yz[P6)P7Y!e.`-Yh~vy|X!"XXY?#XY|.XB/XO2q!"XP?XXJ-EYb,^%^i~:g/45YY)7X-:* YPYYsOBKN>~>(MNYhX_`cOY"-YO/,rYHXX-PYSX'YJYJYJ<YoYoYoC+QQ!"1B+Y&0Y * MdY&\++Y2-:0+Q+)X1!?YWY YWY 3X  XXY"Y-XY@,!Y5%Y9XM58%<M<?=:NB.9;^__=_>//-P,S'OYYoMh'RPY MY3'SYpO|YZP^$}X.!"MRO "*X^+^^^_^`YJY:B ^ dY"9t}Y{v>,X|!Y/mYPO_OzY'iٿ,Y`X\YON& NOOY".PXY."K܋X^YYv Y"XYhH_!"X$Q#o`9XMPh4^kkf[e%PY  ?+/~KP#pA<M Q|9V{n+" KpmgO=5r7o'u)hj h[@M'loTI_T8T2rAA'^<I{3Pq2*8tkX$rO39E1_!YYh(K$Q$$ oQQYz$YWXY59"F1YQXl2PnwF8Y[F>&\'S!"/o5/,R*YV!"Y\XQ_!_"_#XY XS YWXYC04XOIi  XYVY3 v!"XuY:YOOXXY8~lX &no /O*X'EQYPXX-Y}<X-'X,LY& Y  MXXX2^AYY:X0JQN,YfY/_N(YQa,}m}{dzXXN ~}}<}N!^՗:XYP՞!"գ wթի*# Y*ձX''Sչ}YoO!-jXYO"X0_^^_XYXA m0 +H,A.WXY OPYkQ"X!"YYX#74f,XYXW!"XR|Y?,NM(%XZ?CX?Io?K?M?NYYYoYnX02[YPQ-]Y$nX!"YX&+K!"XYP-[YA0=YWY XRs?P!"A'C!"Y !"F3GHRIT;YhPYbJX+RXYpI#OY[?%_ac!"}8Y3!"M$mq3!"!"^?.&.XG!YIJK/mβY ηYlEXXX2+-3]E3(   RtYXQ.Q/XY+37gY~9Y:Y6 ```YWXYoOr86/RNXY\ <Y8Di!"* h/2YQ!"Y:8NRPQf!"YP8WR8[[HAHAHA ^^XcYޣ6YYzYY,O^,FXYo"-Y,YMY-.X/ Y<=~AY/P+3YX!"ZZ?} 0e,j^ '^]M%Yk!h,nYpryYYR|.,:\|~,bNcMYWY Y".,aM1!"A0zC~}~s_~{Y-8JX_YWYY:SYWXX@P,PY:!""*Y .% qNYXX.$YbYbYb<`0`R1 1 L1 \/](Y1!"!"~, 1#RYYPR e.ETQ&X)%Y+-FY9/ NY O-YP YHY_M_N,-SP+y+2-PXX!"XWJ,LAX *P,P-Y&YPYYP7m`<A|AXA*YA_vYA+YxY:Y:A{~,0YPA,'^_w_^{^|YYYCY3YXaXN~YRXXXY(9:YY: *LYYoXTQ,,%v !" % 'Y&z )P0mP -"X'OXPX_YM*!Q*%RXN)*4*YhY#Q ~~%:0*@P.Q!"ٿ^^^/ XYJYD.~Yh&/YYX! .%_9YWYY:>X!"YYb0[P!"+:+cY0-OYOYJ,Y"Y'}D!O'GYo^S^.``'::>Y"XY>X0=+BKRcY***M"* :QNRdY=YkX}B*XZY}|}LNHv#!Y2*!"Y+/kXYJX_kY YWY R*Z~XY:/ Pws/&7./,G.{YMPy!"|}PzIYMOX!"|@*BW#8Y#<*K*}>XXLMNXQY0YRSkHQOXQY.0^0N.jY!"YY/N9_~Y[!"__Y&P [Y)R5NO`-F-XHO8Y9X!h(QY@XXO^h_`YYhYIYWY X5.:R,R--3ii3j3ku?-XY GVR.Y:3"X!"Y,RX!"Y"234YdXXX2QN N YM,=!"Y[N./(nYo/!"YY9<^_w^_S^__T^S^.`/_U_V_W64R-<R0!"? '}l:DkYXE!"__QgQhQi"2-yX,0.EXXYXY.OPY-Qlm:ٿY&~F !"Y)UN&S!"&T**X}>>G~H}NN Y_YYY2/R YYX7 Y + /H#SX,j!"{+K@Ro~D0Y!Y?3/eYYXSX&<9-=|}Ys,;!":Y6Y,Z,\.YNYhcn?~*^'O"YPY:-'qX  %O-4 Y&SXY"Y:YVNqWY[XYXX%%YMuXYJab^ n(!"YS4=YJ6wYX;XYBYzY!"YY`YWY _,',WXYz,XX.QY[hY0P8Xz{XYX7YQ^a^b^cX+YX+XNW./,!"YYz}~1X7}~ M!"Q Y!.2'dj~.U} ^^YPYYP6^YOQ& S .q~6&Y!XX'YbX0xN*R!"V'%g%hYo%t%u%w%x!"QQ%bYJ+;%YkQYVX,<e!"%'Y3Y3Y3<X,FmFNIRXYmv}qt/F~ZxyY:!"YRF~YoYWYhYSYoY"Y"P='0-BD1"Y[{T$R+=>X@AXDS/!"Q")SV/_*Q:OYX!)..?r\_`. XYDY:!"Oq-uXwX!"Y:.YX*PX^C^D<OnYY}ON&XX(N'YJN(L!"!"XYWXYWBYPYYPNl^O#Y!"-,z,.RYlMNbUXO$YJdX*3v.XX!"___Qz0tQ{YgX!"YPl Y"YrYo#qrtX/;Y-AYYM?v0XXY R;YhnY"OX!h( `/.nY:W?Y9Y&?Yh(XYWXY:XNlYk~A140Y- ,'-!"Xspy#) a "Lrt^S___|XYX<VYJY^XX^/YJXYu`YY[YP,t`!_^0,Rsb*UF-YY*3Y0%3'MYz!}?~+!'MYMXMXYbYCЃ-Q/^,;CYh~AOiI#-Y&\aNYR!"XUYMY6XYRYo_՗Q!"(#\!"Q8XYz!"Q9!"Y3(8+8B]Y .hRWY8YYYbY(aR"X8Yf4X1Y`!_^^^^^ .O`X8MYM=7{.YaY=8I!"OXX9X:@Y;YW`_]__eo_fqYY}#M`}}T~)}6E|)+Ph03MYPPjY6!"G5XXX5^| !"NY%J09XYeM]XYgY|~,Y)^^FG!",Y\Y X<XO Y3\!",!"!"~EfXNX$~/TY&NU, XXX50%PP '}(*YYPYQ ,X%*YP-P?!"PY1+!"XR!1/1Y31X+Y?XXR"!h(}OYo!"R#vze-@`- v)mu&"2 E&')W1"21@)W"2=R"2DSD"2 E"2t- vZ o 2 'M)3  2q"3 3,@o9XӮ 3-|(=Ӯ$!93ՓCL|(>%= 3:|$!lӮ,5|(uӮ$!5;5,$!ʠ=$!D(= 3(% 3E=$!4, { )(,,$!|*Ӯ(e|" {| {,Ӯ=6(KՓ {F#=(, {mEՓ {, 3 3Ӯ {<Փ?Փ$!ǜՓ 3#+Փ {:h$I* ԇoF_~&* 3($p@(ܦlnYWnD1Nށ!ӘvYWjP;4R,Y k;J ̒/Y k;޴<(AYWj;ߝ<YWl;ZBYWl1NJ!˩Xl;4Xkm1N38o}Y l1Nޑ)WY l9;I:jY l;;3:Xm;4DY m;3eXm1NԳYom;IҜXm;3CRXm;J[Y m1NL]YWm;IPaXm;JaT&Yon=;NOYPk=;Ҷz2Xk;܊Y7YWk;4ÏbYj;JmÔfY j;T_Y j1NJcXj;IXlt1N(YWkb;I1 5Yokc;HY l;IY"l;YWl;ܬksYWmS;FȔY l/1NIMȚY"l0;ݘjaYWm;ݙskYWm;umYWm1N~ypYWm;3ԞyӟYWl;Ԣ|ӣYWl;~ИYWj1NМY j;3"Xj; I/YWms1Nމ[ɓYWjq;8yfYWj;I1nY"n/;HNյYok0;Y"j8;J Xj:;\_Y k;J`Y k;߼ЎY j;4ǧkXk1N^YWj;5WrY j;Iu˫=Y:lf;DDYWlh1NJ#N*Xli;߼ʲң YWkR;֭9Y k;ְ@YWk1NPֹGYWk;JY[mB;ޱsYWl;vYol;AwYWl;{YWl;3 Y l;qҸʫҝYWm;I;ƀlXm;3pk̓Y"l;DŽYWj ;HLJY j ;4Ê&Y j;3)1Y mh1Nܑ5>Y mi;Ij Yjh; oYWjj;YWm;YWj;ހ$YWj;4Y n1NӯYWj0; Y j1;IkYWk;I MoXk;3pMYoj;J)NXj;4TXk;ߝWCY:kB;`JYWkD1N7aLYWkE;+gQYWkF;Hg8Xm2;Ih:Xm3;tZYWl ;weYWl ;ICɍXm;* YWl|;1*YWl};֔̊YWm;I=YAYPi;Ij/^FY"i1N0_GXi1NܳǗYWmX;ܳ>Y j;JYj";IY:j#1NȎYWkx1NgȐY ky;3QȒXkz;JGȕXk{1NIyôY ju;3ppЧXj;^ЩY j;HּYk;EYWk; H֖Y m1N4\џY lk1N@ѤYWlm;4{HҹXm;4tNY l1NI5VY l;JǻͬXmL;hɿ4Y jQ;H5XjR;6XjS;.Ū0YWn;Xk 1NJYjm;IY j;ILYWj1NJLcqXl<1N9SʱYWk*;3ZʵY k,;HTT1Yl;4`;Y l;I?Xm1NJ/tXk;5{YWk;ܙ<ՂYWk;4Y m1N YWm;4O'0Y:l^;u ƛYWm1NY l;IMYol;I[ḎY&n>;oYWjG;3pYjH;vY jI;ӡǺY m1NܦӤǼYom;Jö,Yj;û0Y j1NRxYWm;Ϛy(YWj;3y0Yj;VsYWj;W\xYWj1N[zYWke1NzKm YWjb1NQt&Y jc;IZx+Yjd;4 Yok;MYWj;xWYWj;޶ZɫYWl31NgYWk;< (YWk; )YWk ;4ӜǵEY"l1NǽLYWl;HºĨYbk;JQ¾ĬY"k;4[dYom;J!IXk;J -Ymt;J4#Y mu;J8(Y:mw;9;EXlS;YWn1;HբƭYj;;tХY m;}?UYWj1NIƄPXj1NƉ WY j;IƏ]Xj;ܹȯYWkU;ҁȱ"Y kV;H҉ȸ+XkW;RąYWk;C4ϺY l;0N?Y l ;\YWk1NYk;"Y k;yՠYlA;IթXlD;3հY lE;HճY lF;մYWlG;H@kYm1NtoBY l;3} Y n ;f~ Y n!1Nߖ3<Yom1NJȁY"j21N Y"m;ԏŭY j;I[%Ysm;I*Xm;h%.PYWj;I/6VY j;19XYWj;MUYWnC;9GXkG;J:IYPkH; 'Xl;IY-k;yYWl~;+‰·Xkh;I'‘ΌYki;3ԋY"mZ1NAiY l5;lY"l6;ސʘƼ@YWm;ʡGYWm1NEeYol;֠fYWn;I֢hY"n1N֤mY n1NH(Xm};JQ1Yom;4oXjv;<ԟzYWk81NܚԦрY k9;Ϟ~YWj@;S ESYWk;4;L\Yok;Iĵ{̅YWj1NIYPl;C$YWl;ЋG7YWj;rYWlo;\YWlp;3̍XkZ;JIGXk[;3IY k];NYWk^;4ZYok_;I̬zõXl;߻gYWk;ܻhRnYWmN;H@VXl*;AWYWl+;JuHcXm;3iտXj;3b!йXmp;HYomq;Ỉ+Xm;J$Xj;&Y j;HlYhk-;ސҬY j5;4ҭ Yj6;Ұ Xj71NBĦmYWk;3¸ħnXk1N4 ĩoY k1NI'ĮuYk;ΜVBYWk;fΡYFXk1NxBYWlb1N ]8)YWkN;HjY:l;IlY l;IPXm<;4TXm=;TYWl1N3i͖Y l1N30k͗Yol;Jf<7nYom;H+UυY3l;aϑYWl;4eϔXl;IȲ#]Xmb;00YWjf1N*YWm1NIc-Xm;EcY j;qfXj;T| Xn;CлYWk!1NJl7Yj);m8YWj*;o:YWj+;xYWjx;H1Xjy;37Y jz;IQŢ~Xk;܇̢YWj1Nܦ̦Y j1Nݮ!̧Y j;тӨ Y"lU;4шӫ Y lW;2:Xl;q=F Y l;ߖ2|"Xk1NYWlx1NYWl;HsY"l; Xl;4cY l;JDWYi;+EXYPi1N4EK[Y i;ݾM\YWi;YeYWi;3Yoj[;KARY n ;JϼXj;:YWj1N4QˢY jr;H^Y:j;JzaYolI;ƞY k1;ơY k2;LEY k;4HY k1N4FNY k;3ϨYWmE;J2"ϫY"mF;ɬё8Y jN;ɱѕ:YWjO;Iur̯{Ym;JF̴}Xm;JjշCIYhj;|+dDYWm;q4lIYWm;&(Y j;',-YWj1NIXkj;J=TY:kk;Y jk;4`Ҥ[Y k';3'Xl1N$Y m;70Y m;4"<Xk1NFұ YWm1NHҳY m;*a~Xl;Jn ΠXn:;Jwo!΢Xn;;z=MYWm71NIQGU Y:m8;݉e}YWjC1NɻYom;Y m;,b}$YWj1N߭.Y"j;4ԫ1Yoj;3ZY m;'dY m;܊eY m;J62Xj;l-D?Yoj;II`ԀY i;fԆYWi;/6Yoj];6;YWj^;I˵Y l,;ѮοYPk; ѹY k;`YWl1NxhY l; ;:ֆY m;H˘XbYk1NI)r]iYJk;IwbmXk;ݮ{hsYWk;4IhbY lN;tiYWlP1NJjYolQ;}tYWlR;„´YWm;ޑ+5YWl;3d-6Y l;ܼewYWn,;qYWn.;3AAzYom;+-|Ym;W2~YWm 1N;YWm!;3?Y m#;j:Y m1NIAXm; CYWm1N3)LY m;H|=æXm;ܚEðYWm;Jj`YnF;fY nH;j˶LYWjT1NHs˹OY jU;ImǀYoj;IcxǑ)Y j;Ip'Y k;HVYkp;޵IYYWme1N5ЀK\Y mf;42PhY l>;4**Y m;*+.Y m1NI45Yhm;ܬ: ;Y m;ݘ'[XY l;4)]ZXl;ݙ3ecY l;JwNXn;߶Q YWn1N81YWm1N02ѶY j-1N3ѷXj.;4`֍6Xm;eœYWj|;4,JXj;ߜPYWk@;IQY kA1N4ʆԛY jJ;JY:k;4ƯDY l1NƷLYol ;H;o Xj;I=p Yj;^XyYWj;J6ւYDkf;0D֒,YWkg;I8Xk;4<Y k1NJtEXk;d֨YWmV;OzYY m;IɤэYl;!ɮђYWl;ɰєYWl;3bO=Yon;K YWn;IjYomx1NdvYojs;~`Y j;ȠӅYok3;3 ӈY k4;4ȩӒY k5;PGMxYWj1N3!Xk;:R(YWk;IAYj;ܼHY j;KYoj;4ֵOY j;bϒXlj;YWkX;I XkY;3,{Y mH1NL-YWl!;ܑ>YWl%;®Y l;ߖ²Y l;9Β˅Y m1N3FYoj;g^fNXm;H|ɽr9Yo2Gn#;<YWn%1NH@Y n&;AYWn';lJ YWn(;uЯyXk(1NHr|zXk;JP}̇͂Y k;IfǩXj;+.5$Yk1NR9?-YWk;J!Y"l[;9#YWl\; 'Y kJ;ffYWm:;Ьv YWl1NNt՚YWl;*Ń(ѯYol;ʼn.ѲY l1N4++Y j;4,,Y j;3mͅ=Xj_1NUo͇>YWj`;H$ȣXm;H~NY"j;"uYWn;JS1ă#Xn;HӵXk~;YWjw;ߐlYWk;JynǂXk;HwΑXj;J7Yl;;YWl1N-=YWl;H@Yol;+`YWk;cXk;ξY"m$;IXm%;3`Y m';.ǜ(Y l1NmtYWlq;I )ŖYl;l1ţYWl;H4#ˬXmQ;BYWjY;JW Yj;JnXn;-oY n;'}YWn;4nSY k;JyYks;J ͙Yk;<}Y j1NJYoj1NHϭBXl?;ˁYWl;޴ˆ#Y l1Na՟ƪ@YWk;3ƹNYok;żW*YWm1NžY+Xm;JO][YWk;uH8Y ld1NJoZY"m;IYWl;,JYol;LYol;3YcʚYn@;fpʤY nB;I)Y3mA;VԇŦYWm1NԑŮXm1NM*^Y j;3iXk;JYok;4@Y j 1NUӺ_YWl;J_Y"m ;H4Yok;CYWk;IeEY mz;iPYWm1N*TYWl1NhкYWn5; Y n6;IͥėYzj<;HͨęY j=;+Xm;3WY m;q<YWj;+ͦĘY m;ߖͳğYWm;Ir>)Y j;C-YWj;Jl[D֕Y:i;JoaJ֗Xi;IbK֘Y i;4Y k;,IXj1NKXj;4˻Y j;)WYWj;,DͺY"l&;]KͽYWl';4dSXl);% Y k1NI0Yok;9ʄ*{YWl;KqYWk;J$zY"k;HDί=Ymm;4uYolJ1NHzYolK;a%ʅY m;IŸUY l;]YWl;J+MXn*;HhY"m;)wc)ϋȕ&j>" ueAh oI: R a3p{!:],#"&t#v9 /'*߾(#!@ 84$--zeDU-&$^  a r  e)5mٯCB vҭ <& Q ˘ 5A!ĭ.H'I' &'4!(}xHWC U c<%.D#5 9t#6OZ| ` 5' 2`% f%Kw")D ($=Y;6 K/e"   +8 > Ԑ>͋ 7")Ɲ(#V ^) i)"9&V# I!P!E ]6'Ux#b/a 00ZZ)#[!!"r FS ) "[-ܥdFi>#8l  x1Ge**S! &#kP-> V@'L}$9"! Tȃ}*?*j `)=&q G 30!@%h 09"2%H ) N+r%F"\$kF9)#(!y8aP!%Ah # o:0Nɹ&3M´X,2 (%]E#R=$8jFv $g!@!0a^sn*`  r ω ȓ$" <(Av" !J:/+N~%  !1 3 =&GY(# DW=(= 7 !Z* T#& cNe 2~ .$ G)@*X )I9X %.2$6&+6&'$f%H>t%"\}} 9A>AU: ɩ'3>¤(,"! 8%L" o#((w a xcA \ :e@"mH ,#v4x%!ydbn Tߪ# B" -);n; rg4--jI2& QL$(Q #%W C2# Kқ ˆ 50 (#. &'9#bm ] )Kl% /mV8C  zWCh< 4"5b=!.Rj'O ' xNP ! T d#DP Z=K+*X6x # (j%8!)! i)V+ B q#E &q  ԃ$=0z)7ZƉ/'L!:#6)!!") 5 Uo@)!EF KE)x>h F7%O@0)u!N"aA  ^ H NFX)[ !$?V  e*D#! -#[)a*?%C'U ?*j?pk8#pv1y uM)E3 m0,}{s}!*߲}B} $D} }$}.} } }((n}(U!}|I})>}/}#>}7}D8}(,?[}F}}$9։}};$}v}6}#W-} |}"bރ}}} YrXG4XX2YYB>YWY30Y Y0sYXyY0Y)}FXYS<oYY?wYWYdXYMXXEDYWXFYhXGFYWY K>XY&JHXY>gVXYb?hYWY~zY XUKTYY-Y XfwYWXTxY[Y؞HY YYY XXYrF0YWXBY=YMYWX%Y XYIX'VYWX?YMẌ#Y YéY YJrYWY̶XY̾YWX̿Y XYMXYY׬PY XǂI8YWXǃJYWYYhXb YWYJpXY"2YX(:>Y XXY #&xY YÿYY$zYrX X++MrY XPdYCX6$YWXY XTY-YLhBY YJm`jXYŠuTY XknY XqZY3X2XYbYWXaY^Y j XYY^X$Y XnIY YbͦY&XͫɄFY6Y@(kY X[YY@5Y YbY3YoXY%xyXY6{YWX YWX̍Y XșYWYPȏYY6yY YJzY XDK Y Y,Y YYWXR YWXYWY+YX Y Yb%XY[)TYWX Y X YY}*YXHY9XtYIX1TYXdY Xf5YYzlXYb|Y X٢?YWYΰYWXsY YPY XlzY YCXY YbQtYYYWY"b,/ŃeY XOY YJԗYWXY YbYY=XXݬbY X8XYrY XXY24Y XY Y Y3XiXYk$YWXɬY2Y L YY@(YWXYXYYWX">Y YhEsYWY ,"YWYY X|Y%YqY Y%NXY<YfYWY'_XX^6-XY6)RXY)KY Y8eXYb^mXYTAXYoIXXX"oqYWYhzyYYk<Y YJܳYYvXYb:YWX'x~Y X2Y X}CY X~~YWYo>Y X @XYfY YJώY X‹$YXYXY YŽqYXˋ[YWYPx\YWY}Y XNYJY@̪XXXY_PXXΪ_Y Xγ YY}Y X ZYWX8ʹYXlXXY X]XX9Y XҤ0XYbK`XX_YWYc.YWX>sXYCw_3D&D#" z%9<%   )d` $P\ cU   b[$t DE'!RNk"Nl~OhNOiOj~OkQQ~QRQ/MM~sM~O~'Q ;Q }O:}O;QQ~~QQQ}Mi1Mj}Mk}O?O[O)PNNNOHOO}OMQ]:Q^M.=M/wM0xM1SOzO{O|P?MbN QQQ^MMMbMOOOPPIiPJ}"PKfM|M}gM~2MMhM#N%N'N,PQQO ~OOPPPFNaNbsP/PuQ},Q~NO}M }M N(N)N*N+PZP[}oP\}0N}1N}2NO~(OvOOLM}MMMMFP&IP'QLQMQN6QOQPQQNoNpuNqNr@OoAOpCOq}QMMO}N6<N7>N8?N9AN:jO?kO@pOAQQQMm1MnOOO~PPpPLPP~O~O Q`Qa~OM4~QM5O~rO~P~PPMpQQQDQtQ}Q(M4OR6PM}4PNWPOPPMBMMN|NNPKL~LML_OaOgP hP!M<LM=}M>M? M@}Ne}NfPPPPQQQN=NXN~OGOHOEMN,P^P_qOsO~jL~cM-M~pM.MM~P*KP+~P,QTQUQVQWQX}Nu}Nv}Nw}NxNyNz}N{}N|~OtOuOvOwQ}M{M}LOO~O}SO8QOEOF(OGOHOItOJEOK~Q~aQjQMrMsMtN Qe}xQfQg\OO^OPP}:PMMMINNQ%M}M M }M OS}OTFM~MGM>MIMKMLMdNNN NN~lN}NN P~L~LL~!L~7OOOO}P$MD MEPMFMGP~PWP}TQ N NONCN N}OO}O}ON/}N0oN1~N2~PcQ#Q$Q~NO~OOL}NP._QY}vQZ`Q[aQ\`NcNYQ'QM~OQN@iNA~NB}ON~DQ~GQ~Q}Q~HQ Mw}_MxMy}iMzM{!O}OOP}PP~1PP} P}N}N}eQk}hQlQm~TO}*OOP|MM|MN8PX;PYMMOMMMNNN}APPPPPLLLLOdOO4OMM NmNn~PPPPP~KPiNjN~AO&M&N3@N4~LN5Pe5PfzPgfPhQNNNN}OO}jN}N/P3}/Q_NNN|O}O~QOQQ@MAMMMDMTOOO}Q}NENFNGNHNIOQ4Q~3MMOO7PN.N}NNOOQs~Qt~Qu~QvM:PM;O~O~O~O}OPM6Q,~Q-Q.~Q/M~SMMMP]MM}M}MoNP}FP}GP}HP}P}L}O!}O"}O#O$}O%P(P)+MQ}MRbMSNsNtPPUQQ|NNNNOOOOMN;N<N=UPjPk~[Pl~QQQFODO8LLL-NN N N P8P9~Qb}9Qc~QdANkN~NCN~,O~gO~hOQ~XMMxMMM~UPPXPQQ}Q }Q!}Q"}Q#}Q$NMNNNOQMQNQ$MOOOPXP} P} PNNN}kOQzQ{MAMBMC}O2OP PMN~NQ6Q7Q8MVMWM]MYMrOYWOZP`PaPbKM\NNP~PL~O(~O)DP-~:MY9MZN}N~NN PqP}P}P}PPQNNNOOM }`M!QN>RN?~Pr}$PsPt}%PuaPv~-Q~QRQyN~MN}N!N~xOOOO2L3L4LzN }NP<P=3QhQi4QjN}ONNNO~OOvQMMM.P } P Q&[Q'&Q(]Q)NROU~M~MOcOWOdO~PP+PP~P~P~P|N N#N ~BO~CO}MHMI}MJ}MK MLOOP}P=P MMM N}pN}cN#Q:$Q;&Q<'Q=}(MO_vO`PdM}MM~ M5N9NIQcQQJQKQLLLO0~O1~;O2O3O4P/P0VP1~P2M_~M`~Ma`MbMcPP}PNP%P4N5N7N:N;NOOxM#~M$NCND~P{~P|~P}~P~~P~P(Q~\N~]NOOL~L~LNP@}PA}PB}PC}QnQo}QpQqQr}wNNfOgOkO}fQ)M*M,M-M|P|P|P|Q*Q+NV[NW:NXOVOWQLMMMNM0MSM6O PPN"3N#O~ O ~QQzMN{MO|MP OO*OO<P}KP=PPMN~NzN}Q@zQAaQB~M~M3Od5Oe7Of9Og~`Pi%MM}+M~NQQ~Q}L}6O9P4P5hP6~P7AMfMgCMh}@N>N}BN~NPPP|Q}QNNN}NOP]P^P>P|M'M(lM)M*nM+oM,pM- NJNK~NL)PQP,PBPbPtQQLLL|LNRNRPFPGTPH Qw Qx}QyNNNNOO~Q~QQ~Q~QM{M|MMMMMP:Q0<Q1?Q2|Q3Q4~Q5~.N[~/N\~0N](N^N_~4N`OX}Q}QM.MMM}O}OP}qP~PN'DO&EO'Q}Q} Q}!QQMTeMUMVMWMXOaOOPPM,MiMrNtNQEQFQGQHmQI}|QJQK}MM0M}YOlOm(On PmPnPoPpPq~_MnMoMNNNNL+LULO<O=%O>P:P;Ml~N}-PUPVPPZP~wQ~zQ~Q~{Q~}QPOOcO}O~5P~6P~8P }IP M2M3}NP}NQP~P}PPP/P}Q}QN[N^N_N}ZO}[O}^OBN}N/NPLhQ|N~=NkNO1OQMMMP PxPPPQ9NcNdpO[~O\sO]~O^qQwQQQ+M,M9MUOPO*~EO+O,O-O.O/ Q~Q~Q~Q\M[ M\`M]M^}OOP~M~MNN}QR}QS|M"}Or~OsaPwbPx}PyePz~MM!N|Q 5Q |Q Q|QOOBROCSODP>P?MoMpMqHNeN"PQQQXO O ~O P P~$M6uNSNTvNU~P@PQQFQyO}VO~OOuMvM~N!/PQVPRPS~nQ}~VQ~~WQNgNN<OLLLL}M~M}MM}M|P"uP#}sQ>}tQ?=Ng~fNh<NilNjOaOb}<OcQ|M|MOZQN-N.O5O6O7O8|MdLMeOOOPM}>NNKNM%M&~JOxOy~NP~MMyN NQ~oQ0L2L~#OL~%OMPDPE}MuHMvNN}PPP}P}Q~Q}Q~IPnP>P~P?P}M7}M8}M9NY}NZpPmPBP~PtPQSQ~QN}N}yNOOEO$O~PM &N$'N%N&PTePU PVPWQQQOOOOL L}MOM}MP%QC}}QDn," w^B*Z mHF?Gj2P' $ 4D'j5'L&! !*(7~15" v"U*5<QDC $Z% #"0# 4` o}J}rxMe eV %#)  =#@3)<v#7D!y*"Y $+@a.:t  %ӝ)r@m! !9SbJ 69d:X&:lg(,"}~p"ʛ&ó &^B ? 't8 7(%$ө!!L#Mi=}c&'FY ; 4(~   ;y+ &%f [|!<*(:lj)x9@ n(%?څ ? X`gCݞ$9:|.U  /K!A ))%D'#%y(}E c q>(%!I*-3(z'& 55=R 4= ~ Xwj&5 ) }d*RS ( "/ !;%],Ewe'$M!v&1U| <q׈z+!'hA-%   =n*v.p  a %8-! ##&N E4 _n:Hfdl:Lodm:Su:Uwdn:bdo:fdp(:>ew):Fex*:L)@:_3A:cgB:egC:fg:c :c!:Z":[#:cL:qfM:sfN:f::g:%?g:9Sg::T:&:-d;:6d<:7:C:* :*֎:-֏:c:c:c:E:c:(He:*Ie::Ye:Mne:}:f˺d :l˽d!:ud :58e :<>e  :MOe !:TR=:]g\>:hg]?:kg^@:sg_A:uK:eW: fX:6fY::Z:<f[:&@fx:%ci:ݾj:dk:d: }g':g(:g):g*:g+:!g,:#g-:2c1:6c2:<c3:eS:eT: eU:eV:eW:eX:fg:I:c(:[):k*:rdA:IfB:N$fC:i>f6:g7:g8:h9:h::h;:hW:eX:Y:(Z:+eZ:7–f0[:;›f1\:Sªf2]:T¬f3^:\³f4{:0|:1}:cg~:!ch:"cie:\d^f:^d_g:eh:jd`i:kda:lf:of:sf:0f:4f:Lf:Qf: =+:Bg:d:d:d:d:e:^:e:e: 6: :c>:<:E:d+:d,:':1:2:Dd-9:::fx;:0:^g1:n O:ydP:dQ:ܐdR:ܜdS:ܠdT:ܡd[:de\:e]:ez:;c{:B|:Cc}:Lc~:Pu:׉7nv:׎:ow:׭Rc:Wџ:vѾ:}:fC:fD:fE:fF:gQ:gR:gS:dt: :!:*du:De{:Ee|:Ie}:]e~:me:Ʊg:4:Nc:f:f:f:f:e:ʋq:ʛ~g:ʞg:ʢg:ʧ:ʿg:0;d>:M`d?:Ob:Sh:ޖ eE:ޝ :ު" :ޭ$eF:޿3eG:4eH :g :g :: gi:؉Fj:ؘck:؝cl:ئc:oe:|e:@: J: Mf: Nf:Wf::d :I~:Vgc:egd:ўAc]:ѵYc^:pc_:6e:Ne:X$e:a1e:Nf:R:Yf:c f:j :lf :Ƞc :ȿd:}:ܥg4 :ܧg5!:ܮg6":ܻ#:g7$:+:c5G:Ae\H:We]':Ģfi(:Ĩ):ı fj*:ij fk+:flT:cU:cV:JW:K:P~d:^d:id:w:>:?:E:yb:~b:b::ρe:Ϝe:ϴ:ϸe:D3:df: dg:#:Wf$:Zf%:t &:vf':}f#:R6g$:U8.%:\=/&:`EgD:adE:~F:̇7:ca8:ee9:geV:§c@W:«cA^:FVd0z:if{:քf|:օfr:gs:gt: u: v:w:gx:gy:::d:d:d:ee:sC:ށe:ބe:ޅD:ޓe:= :@c  :Ac  :!Oc  :$Rc  :.Xc:Tr:as:kc:nc:ot:tc :uu :Ҁv!:fH":fI#:fJ-:ӐgV.:ӒgW/:3ӬgXJ:^9dzK:hDd{L:ɁYd|@:eA:'e`:b6a:pgb:sgc:tgd:}gg:Ȩch:Ƚ]:Hvio:vqg!p:xtq:ŅÅg":J:X:e:#'eJ:&+eK:*-:-/eL:.0eM:3:eN:g:g::Rc:\c:YJ:Ze:fK:le:oe:|L:Ѓe:Nf :Pf!:Rf":W#:if$:kf3:e4:e5:eW:X:-gjY:=`:Wcba:Zccb:"a,c:$bcdd:0p-e:5vce:5/:Ae:Ke:Ne:\e:^e|:f}:+5~:09f:Y׋c:\בc:cחc:mפc:{תc:Áױc:d:d:0҃g;:c8::7ec:_:a:ZSfp:n^:{ifq:~y:Wc:Yc:mO:qc:wP:d:$:*d:%f:'f:2f:8f::)b:+b:9b:Ab:Lb: :e%:1e&r:|s:}t:f9u:f:v:~: cl: cm:cn:#co:&cp:|dk: f: f: %f:/:g:vd:d:d:d::`e:le:oe:te:we: }e:Ήf:{ :3cC:d4:d5::d6:d7:  d8:d9::d::)':4f:=f::g:g:g(:d):d*:d/:Swe0:\|F1:ee2:he3:xG4:}H5:IN:DcO:ZP:_cQ:g2:(z3:*d4:Cd5:J{6:M|7:Qd[:yfM\:]:fN::gZ:g[:(:?d:<e:@.:Re:Te: 9::c:<`:Ec:Fa:Rc:Xb:Zc:\c:݀f :݆f:ݗf :ݛf!:ݟf":ݥj#:ݪf$:ݲk: : :g& :'-:vdG.:dH/:dI+:&,:1-:<eQ.:>eRK:^ҺL:aҽgM:kgN:wgO:gP:g;:c<:c=:c>:c?:c@:HZ:HO[:JPb:=fc:Ef:d:d:d::d~:2:e:7?e:‚gp:†:‰gq:’gr:“gs:•gt:Ư~.:/:0Qe:@`3 :Tf:U(:%c):A c*:Jf1:ټ2:d3:d4:O:fP:kQ:g?R:g@S:C:Fc;D:%TE:*ZF:1ec<G:9mc=j:edn:o: fwp:':bc:ic:mc:cx:͌gy:͒kz:͔m{:͚r:':f:-=:.>:1Bf:4E:BLf:DNf:y":~'c:3c:7c:>c:e,::':,e-:1e.:Rf>:hf?:if@:rfA:t:|fB:؁7:إcs&:dq':dr(:dsB:lfC:ufD:wfE:fF:f;:g<:$g=:9g^:/_:5d`:?dj:ԉck:ԑfl:Ԛd:Dm:d=:g:˃f:˒f:g:g::H:ߐWd:ߘ\:ߤkd:ߪrd:߳yd:ie:le:me:pe:e:r:zc:%c:&c:(c:+c:]'}:u=~:̓fP:ͪ:[:^ g`:vga:wgb$:'d%:4d&:5d':8:e:e:҅¿g:ҋ<:Қ=:қ>:Ҟgz:c{:c|:c:Bl:Jm:Sn:cf:~g.:߃g/:߅g0:߈g1:ߑ:ߥg2:ߧg3:߲:!IdK:*[:2a:7jdL:3:8!eY:<$eZ:S=:W@e[:ZD:^F:g:g:g:8Բc:AԾc:Sc:Tc:Yc:őJe:ş]T:ŧfU:ŭpe::6:$Ef:%Ff:Td:td:ud:wd:yd :ɾe :e :e.:wgw/:gx0:gy::Ċ2;:ĎcjU:keV:u6<:/=:K>f>:WKf?:XMfe: cf:cg:ch:c:,d:B:Nd:L:M:P:u:y:c?:4':L<:ZM:fy::fz:f{:f|:f}:f~: &:$Q':5c:$dd:)ld:;d:<d:@d3:Bg4:Mg5:\g4:1c5:=Sc U:شV:ؼW:e0X:e1Y:D:+fGb:6gcvc:S~:d:VӀcwk:f~dvl:lm:pn:vdwo:dxp:dy:: :n5:tg:vd:wd:ȉd:ȕd:ȗ:f: f :g:h:f :7d@:=: D: E,:#f-:=f.:Df/:Lf6:7:W:,X:9dY:AZ:CdJ:VoeK:vڑeL:xڗeM:ڛeq:C4c r:F8c!s:NA t:XL t:;%d :fT:::σge:χgf:όgg:Ϟgh:ϡgi:ϱ:":Id:J:e:e:g:g:g: g:!g:+g:/ g:oc:e:p:f: f:q:f*:f+:~g8,:g9-:g::XdNB:5C:7e^D:9E:Ie_F:Me`G:TeaH:bebc:f&gd:o, e:p-gf:s4!g:u5gh:}<gq:Lr:cs:Mt:N:5e:9V:;e:Ke:Pe:TW:Ze:ef:ff:jf:rf:vf:|f:f:::d: d::e :':)e!:5:9e":?e#:Ae$: ޮg{:?ck:Q4:d1e:p=7:}Fe:f:Sc:Yi:hj::d:d:d::::::cB:$:"%:em&:#::B:GOf:JSf: äc:íc:ñc:òS:d:d:d:d:HS:IVg :LZg :Tdg :cs:gvg :֛Ec:֦N:֫Sc:ֵ_c:Qe6:_ e7:fK:fL:::cx:>:Ao:Cp:Jud}:Kvd~:Sy:Uzd":f:g:&7:'g:.g:4 8:6 g1:d2:3:d4:5:d6:>:ɖmf ?:ɪʃf \:(KcP]:6^cQE:&dAF:ݍ<dBG:ݐ@dCH:ݙKdDI:ݜMJ:ݝOdEK:ݣTdFl:m:fn: o: p: q:f:g:ԣd:Ԭ:Կd:d::e:M:e:e: N:c$: :c%:c&:  :>d  :Hd  :\d+:' fW,:9 fX:Ќgk:Г:Зgl:Пgm:Шgn:бgo<:Zd=:&cd>:'e?:1u::f;0;:lA1<:rD2_:LJg`:ǐAa:ǕBb:ǚCc:ǟDd:ǣEe:Ǭ gf:FJ:Lcj:ۍوuk:ۚٗf!l:ٟۤvm:ۨ١f"n:۶ٯwu:ng<v:qg=w:xg>:/dQ:1dR:Ù=:Νg:Σ#:Τ$:Ϋg:7c:Jc:N c:/e:@e:Ae:Ie:Re:XY:u2:p<:e'=:e(>:e)?:e*@:e+^:rg_:gS:5T:cqU:6V:crx:0X:y:?q;z:Mex:J9fy:N;fz:ZJf:k:c:?շd:Cռ:U:;tcD:<ucE:F{cF:H}cG:OЇcH:| %::f:xT:}c:~c5:Ŗd6:ŗd7:Şd8:Ūd:I:Kg:VgL:D+cM:mUcN:oWcm:e8n: o: e9p: e:q:e;x:fOy:':Jcz:Sc{:mB: d:2:Xef:dlf:mt:::+g:-g:>;:Fg:Jd:Wd:fe:o:qe:Ef:ff:kf:hcV:j":r#:v$:M:Z:idJ:f:f:f:f: : :g::+:/:3g:6,:5Ԉd-:@ԕd.:HԜ:Q:R:e:e:e :e :S,:-:$c).:)/:+c*0:4c+1:5 c,:M:Pd:R:Vd:Wd:]:id:ɜf\: ɞf]:ɠf^:ɥf_:gu::gv:Q:]:^d:L4:M5:`e:#ie:Jg:LI:Tg:\ J:mg:c: c: g:f(:b۝gA :d۟gB :m۪gC':*GdY(:0R):1SdZ*:;Yd[:O ee:Pef:Xeg:p-eh::&D:пcE:cF:c_:<e`:=ea:ZeO:(fP:-gQ::gR:<gS:=gz:d%{:|:#d&}:%':e/:::: g:g:g:R8:jct:n9:pcu :_< :oe:`f:e:g:h:xf:~f:f:"f0:wFc":ؽdB:B:cIC:cJi:esj:(k:etl:eum:"evL:[fM:]fN:afO:gfP:hfQ:lfR:sS:~fT:U:fr:߸Vs:߻Wt:Xu:cv:cw:Yy:n:Yg:_:eg:j:kg:ˬ c:˷(c:4c::c:e?:e@:eA:߹fQ:fR::fS%:LD:d:d:d :6:ֹf7:ֽf8:f9:f::fD:;gE:=gF:7R?G:BYgH:C[gI:Mbgf:Ĝeg:ğe h:Ļi:ľe [: f\:f]:f^:f_:o:_UcZ:of&:uq':JdM:R:Q:o:qg:wg:g:g:::d:d:d:d:@:Tc0:*:);d:fe:ff:<:ˇgz:"{:$}d:/d:0dU:"eV:٩Few:$gx:Agy:FM:h:c:z:f/:: : gD: gE:gF:':1:}xd]:Nei:X:\ : `ej:cek:l!:!oel:rg:sg:vg:*:+g:\R:̉c:̌c:![e:3me:}i:qg:tg::d):!d*:):Oe2:ae3:ie4:ke56:Yڞg7:\ڡ8:cګ 9:tںg:;:<:=8:0e9:5e::9@;:Ee:a:~f:ϼm:c:1c:u:zd:HgN:QgO:!UgP: cK:"cL:#cM:/cN:2 :@cO:T!:s *:vey:ʀez:: :ac :dc:oc:~c:ފc :d::d::d:d/:rg0:xg1:{g2:~g3:g%:_Uc"&:jcc#':mf A: eBB:eCC:#eDI:GֶJ:IַfUK:KָfVL:QּM:ad:ce:cf:cg:ch:ci:cj:cX:nтdY:rфdZ:}ьd:эf:ё:іf:g:@:g:3e:A:Ɗf:Ƌr:Ɛf:ƚf :Ʀs:ƪt:JBc[:MC(:ZNc\:GYdO:R`dP5:f(:# g):."*:5&g+:7+g,:9,gH:xdI:ďdG:XH:eI:eJ:eq:!er:3sc4s:={X:;dY:?d |:B}:_fh~:a}:`~:cg|:tg}:g~::gd:t:v:d:d:De:Ee:Ge:"O8:$P9:!h:#h:%h:4c:Ac):4ըf5$:gG%:gH&:':gI>:+$db?:A;dc@:GEddA:IFdeM:}WenN:b$m:ʊgn:ʣ,o:(ʫgp:@ʾ-e: cf:cg:%ch:-ci:&7c:|`e:b_:oe:qe:|e:~e:ŀ`:^:j:ng : yg::: d.:$d/:):g:6g:B :Kg:nܪ?:yܶ@:A:cy:he:iA:mB:ve:{e:r f:u f:z::.:c:p:q:c:c:c:c:c: c=:d>:?:d@:dA:d:]:egT:rgUZ:?cR[:GcS\:TcT]:UcU}:- e~:3e:6+:7,:Be:L$-:N%e:c:\:c:P:e:m:)vg :)tc':;c(:4eI:6 :?:fY:fZ:: f[:c:d:d: :"f :,f:<f:Ig :W)G!:`.H":e4g#:h6g<:e=::Af#:Cf$:Uf%:]f&:jf'@:V)A:Wc`B:ocaC:p*D:ۀ+:7dS:9dT:J:LdU:NdV:O:QdW:TdX:Yf:)g:7g:9%:!Ѝd:#Аd:4Ф:Dдd:e:Z:[:c6 :c7 : :hd!:%d":(d#:2:5d$:fm:fn:fo:3g:8g:> g:T!g6:vgd7:zd8:|9:d+:Πqe,:βe-:θeE:3"bF:4#bG:J7H:XKbI:\OR:lS:&cT:/cq:f6r:f7s:f8t:{^:V[_:\a`:_ba:yzb:ׅgJc:׆gKd:ׇ:ٵQdh:jdi:ldj:eo:C&:Eep:I':#Jeq:$Ler:g:0:g:g:1:2:g:̜c:̤c:̥c:U:5ob:Cwe:Xe:je%:ՠA8:@d19:Ad2::Ld3;:N 0:e<1:e=2:e>N:̘gO:̮gP:̹Q:̺gR:̻gQ:c|R:CS:*c}T:,c~u:sEv:xew:e\:`f]: e^:!f_:(f`:+a:,f: d: d:!w:%x:'d:-y:.d:te:ze:{e:ȓe:Ȕe:ȝe:zgY:sccW:ܑycX:ܕ~%:ܘcY:8e:;e:.:ӑ۽^/:Ӗc0:Ә_1:Ӝc2:ӱc3:ӵc4:ӻc+:dI:X5g#J:mOg$K:tVg%T:tc-U:c.V:c/u: eOv: w:ePk:Nf`l:O fam:Sfbn:\o:afcp:k)fd:Cc:Tc:cG:H:^d:ad:bd:ƨf:ƭf:.[K:5`L:7dg:ye:ڂe:ږe:f):f*:f+:f,:x:y:f-:f.:cf:xhd\:2: :f: <f :? :Bf :DfG:8gH:@gI:F'J:GgK:R(L:^)M:dg:d:d:da:\ҍ\b:hҙ]:a#c9:̀Lc:::d': d(::Afr:dfs:eft:kfu:mfv:Nj:ǔg:ǝ:ǫ:ǭg:Ǻ:ǽ:g:%?d:@Yd:-M=:1Pe:3U>:9X?:=Ze:K^e:#b:$b:+b:9c:J5c:L9c::f;:f<:f=:gL:/gMp pw3;U/x&o" :3#M* 9*OtKPeQ#D#j4?! e  T~9 U:)ݩ*4Gd rGeV@e!! -9K (42Jb2K!0+A+B$&$U $V !H %e!$ !h< _= t׀3A bA tt u9b&f#*23 kLfRg+#]%#b% l${*2|2 x ^50 !" A# Kj :x_ O3,-K ",}UP3*%Zv d):hp)+hi"5q6 x`*BJ  mѿ(E;(y>(ʓY4>4?ëN-*-+'& $&Z$ "! !:yPz  p!obq'rf>B *  ]S)T&q; -74 /| [-I-#:s&& _$N`2 '9n&z{, - i}C0 /pY%>Ze(#r7x7y 0L"g #)k )ls/20   "(9  J#> [F"\  2Շ ;? 'L΁#8%#  uǐ0# * #&#% n#Qp#6q#;* OjF@GFOP#T, ??v' &8b"67*11 }G_A Z=]D7s)CN /5%! 9QW%$+# *n8l  );" :  Q~e3+,!fILn"-Z ')BP';.ʙ&US ;(=54(y(Gy7>/$("E3$#!a{ӧ69 ũ/!k&%= t!/(%;9$0R"*%" P) + ja F.·J&y(uF!8@ ٶҴ_)A~'ESIo$H) (7@ Ů *~&8 0Ic<)F'N*y! -@:6A/kf E*!0?ZE&"6$&S 3S  "@j9%.7W $f#J"v 0: i17n>Y1N"sb&Vn(8HX%["" ;)U ( +  +K$l;.! `"2 6>< 0WS*Vqy#n&" , ,>};B%1.!j>7 ?lf֚ W(Q$E'͛))!Hk!4$%m|v~x1$'i>) )7J%[)` {c'C & $( <&#|]YusB:;Jy"3LGo {WJ9W :;,$`ЀJ3KWJh) ]\Ѐ o:;P<WLrЀ + <,L%Lˢ:; Ĵ) +  $L:]CK kJ:P W,L5J|]Wth++ "nPʟ 0JLCP6J>gW Pa" $JD]]P -Ѐ] '>g ͑WP7*+ m]=)"J+P:;]YWE  g"P)6W VЀL>g  >gR+>gdL" {ӭ1WP)>gP ܬ) WL'+ЀP *\WJ#tWLWE)  AЀ9 :;JЀ L+"]D]lL) g)]<}>g+ 7L J9:;o) )yL)WP2"]= QW].'"](+P>gLF"u" AW X+ JAp>g]):;]=J%cW]0J?P+Ѐ:;P1w ",rhV",s|",s}",rah",sLhV",r",r",sl",smhVhȋh]",rUhhȋ",rw",rxh(h :#R~C",rh",r :@~ :'I1N",rZhV",s?",s@C",r;",s) : ",r",sh",si",r$"",rp",s ",s ",s\ I$",r",r",s",sh]",rc",rd",re",sM",rV",rW",s;",s<C",rz",r{",r >",rD",s% :~h(h(",r7",r8",s",s",sI;h(",r",rC",r",r",s",s ",rJ",rK",rL@0",s*",s+",s,hV",r",rhV_"",rhۈ",s",sk",r",rq",rr",rhV",s",sP",sQ",sR~",r",sp",sq",rY ",s=",r}",r~ ",rF ;",rC",rh(",r:h(",s",r",sChV",sI1N",s-h",r",r",r;",r",r :",r@W$",r'",rt",ru",rvh(",s_hR",r",r",r",s",rg",rhVCI;",r1N",r",st",r",rh",sc@|",rH",r",r",s(hV",rk",rl",sT",sU;",r",s",r\"w",r",r",sE",sF",sG~",r#",r",r",r",r ",rOh@",s0",s~",rC",r<",r=~h(h]",s",s",r",r",r(",r)h]hV",ry",sChVCC",r",r",rh(hۈ",r ~",r[",r I1N",r",rI",sWh(",s",s",r^",r",r%",r",r",r",r",s ",s1",s2~",r",r",r?hV",r",r#H\ ",sn",soh",r+",r|hۈh]",s`",sa",sbhۈ@",shԙ",r",r~h",r",r",sv",swh(",r",sB",r",rh",rMhȋh",r~",rI1N",r_I;",r&",rh8",s ",s ",s4",s5",rhV",r1NhVh(h",sr",ss",r/",r0h #HCyI1N",rj",s",sh(",r",r",rh",r",sD ~",sg",rN_@T",s/ :",rnhVh(h",r",s",r`I1N",sJ",sh",rh",s",rI1N",su@Y",r1",r2",rhԙh",sdh(hh(",rm",s",sV",r",sz",r]",r",sH",sI",r",sh,",r 1N",r>",s C",r I1N",r*CI1N",s",rT",s7",s8",s9h(",rB",r",s"h(h;",r",se",rh(h] ",rhV",r h(",r",r",r. ] ",r;#Hr:I;",rP",r h(C :&",s3hȋ",ro",s[hh(",rA",r@.",rbh(",r1N",r,",r-",r.hV~",s:",sh",rC",s#",s$_",r",r",r ",s",sfhh",s",s",s rphVh8",r",r",s{",r",rhV",sjhV",s6I;",s]",r",rf",rCC",sN",sO :",s@~C",rXh",r",s",rE",r1N",s&",sx",sy",r",r",r",r",r;",r9",r@+,",r",r",r",r ",r!",r"~CI;I;",sY",r~hVh ",r",sK ",r",rQ",rR1N",r",rs",s^h8",r",s!I;",r3",r4",r5",r~",s>~  :Yh(",rG",s'hR",r",r",sI;",r",rh8 : x",s",s",sZ;&7,=; &dAC%h *"%Ơ($A NG iu,5b.b/^+2^Xb/O^0 ^Xd2,`}Y`,Ng_.~gd+c+bXcYc3+bQ.^bYZd!.<f%Yf'PXf(,Y `!-] Xc)2-y^XdYTgYicYdb/dYFdXb/<fYft,fYf0 `{6YT_s0]b+bcX`YE]+c8Xc/c<Yfc=YEdX`R-f0fGXfRXbT0bW+h .UhXh,Xdp-`.cY]R/T],:eAD/eB YeC YeI+eMY]eOY#b[Xc Yw_/_.bY\b.d<XdBXe.e@YjeBX_/]_YagO~0gUYe,a4+Zh ,bt/zgH-{^Y^Y d#/z`;X], e+eYgW0xd~ ,^+e+e/RgYgY^3/adc.dYZd.J`lg-.`kY/`onY{`qsY{f!Xg'-crYcwYwd)X^5,^8X`u -b.-]+Z] YcXd/d,d-dYf +bN0^Z,Xcb.(e6Y/_@- _D.%fYKhd/heXhi;YmbR_X^-+c+c.0_T,_]+e8+;e9Yya"-Yf1-Fd.bYh.hkY4hl0hn+Thou+Yhqv/d5X^Yi`/#eX_/#a$=,a%>.a)0a*YHbk,bq+bu02d/^e2/aXhp-bYbXdo8Xdq-dsRYfX`+/gYF_`-gYEaF,aAY aC/`/za+i,$-i-'XhC,c9+|^G{0$dt/_-Rf ,g.2^Y$c<X+hW/aYaz-a~Ya0Yw^|+~`:,h-ZbFYmbG!YfJ,Ye#Xe& -_1$YG_2%.c^D./fYleYH`-`XhV.6hYYh]XbKMYc.cY_A+B_,e+0XfZ,b.bYfb-d<+/^bYN`-eY]_KYAg1QYg2XaZ/^h^/hD/B^p/]^q.h,dXd YF_X_.2]Xe8YBa}-a,3b.bYb,h+hXhYLd`-ddYdeYl^t+a-gn+gpY,aXi#A,i%O+b._#,bY5^.di Yed.aY(g,/_6.c`a-^@0(fjY`a.g/g0a.ccXceYg>,G_(]Y`YY`.ga.0b>YgY>b8.]|Xe+_)t-`./f.AgO-hLWYbAl/],=^,c.e0,=e^0SebYaY\a/Pf>,f-hx-hPYwc/`B+Le+_,zh/eaYhfXb)/v^_._^a.n^b/^d-h@-Qc%,eYYd0Vak\/WaoG.g/-gbYhXdUN+^m-{g<k/eY%_Y_/<g,XgC,eay-Ga|+~i&-i.Jb).b*X^+;d[Yjd\Ye.e,aY)a /gY i Xd-^x/^Ydf_+`NY`O+~gqXgs,],cX5Yc[</c]>Y|hv/'dz.N`N,`:XfbXYb1.eq ,gYc/]WY]X0q^;,w]_+P]`Y%fQXfX`-hQM-yhBXi)%.cW+c>Yi_wYaDYaGYf*Y%eL.9g!PXa 0ehLYbJXbPY(bXXc/<^S/1c-P_', eF+/c-eYNa`-g'.b/hXhYZ^W-Gh+?^[/f-_YadY4agXahY#aZ-iY]iYuiYyi Yb_,%^,edM0dO,`:_-eu-ya,aXa.g)XcFY7i|X^r0$fMY4`?Y`@Y{`D,]0IdX`}Y/b%Xb'.<b+Ycn/cv,]}/b^#-]Y]-g]X]/cc-E_lJ.r_nPXf-]0zbt-d9/h:Yh;Xc'Y es,Yb3-_t/gY g-a/nhYNbwXbxX`6/e^H-b^K/c,zcYBaV+d@-goY'b/`M.Ai=-e+gt/guY~e/f+__ynY+i +LboXd&\/dF./eZXa+g|E-gYc>-i Y|^Y4^/X_20J`40.Ua/]/X_ ^0k_ d/d'.d,`MXfGQ,'fK)Xb/zb(,b-`0gYcKYCcPY)]P+Z_0`,`YFh&Xc/_[,j_\,_bY?a.d,dY`dg-p`Y,`W+``Yf_X^MD/Obev.0h*Xh+.Ch1Yh3-X]*/]-f,fYXh5X` 0X_Y1a./el+aGYfaLYg 0IbY.eYhXd4-d80$^@Q/g4SXe,gl,raR+2]I-`-gi-peEXf:IYl`"-+gr0 c,@0 c1j.Ac3mYwdhY^ .U^Y^!X]B,c4Xh/_,_YydX`}X`80$f<wY b.,b1Ywg/cvX]H-3aQO+]-bd,;f.ufY]fY7f Y+]YQc/2d.d/dY`.f,3e1Xa,]iYG^.eY>f^+`.oh~lY.hq+bb?Yj^,,_5Y_7,e_c,ecmYteenYua;>+aS/[hXhYXdj~,^5AXer/2_-_Xa>Y' E ; r& K'1  eb(s72) -w m QIqq7 Iu MqMBMIM =MIMI B#IM7BjOI M=OuO\FM MMB A7F7MCMMIMB :7qMI7E\IIMO7I) MMM qOBu9qM@O7uMC77MMO MM7IqM\M77MC@I B@qMMI7IMMI 7BM\MM?q MMM#I%M\MDMI#Iqq9MAMB)AI<>\(O MIAM7M 7M\A&7uIqqM7Mq7j<>MqII   IMq=u IIMA7I MI  MM7BM%MqM(B(7 O  Aqq(IM77\ MOOM ;Iq7AM7GII=OIBAM\ 7&CGq7quM=)quM7B9&#I7(  7O@7O7&(qI7=MqM\7M\MA7MMMDI IIq7 BIq=OA8qFM7O\qM\I@ 7MM qM7 @"@! m&QDƩ^(ܴ J!!Jn$<G u"|,@s+"ph*x0#&`Z , T vA"3!%N&#6 .)&%uM(P% ٝ<qĞ /.a  a/U$%C Q ! L'P2LpJ(ܖ 8\#19!:mFL)߮Nb *(> ,|=%%h iA` @J="%2 $x"' + f !)2t&:::" 3W ;Dx@.(1,~a0MSQ<q' !h5,2U,QYaY)% 2Lڴ#R ~]׸,f \<<*ڄ4fvڟ*TF#)p.يC*"#&/ א<~2\בWْ?Z*~Tb|(!h3'u q1*ג*~ H21"(%'}, U  g< ~~ZR5<"'q~ [  ~2'12 >*ٍ3< !2QT4׽fٛڰ=|~\(ؾIW#ٳC3?ךbٶ.ؖbכ ؗל,bz*UF"*32%3r2N'2A!u2R'F)׼ {*׿#R'}1'q~*r2  *٩.Wfj)13nh*ڀT l*ڒ1*8<ٽ ~~ K~ &92\)%25k*} L ؉z*0 آأ(nl<g9.\   3٪* _(~zڞs* {: 2 Pu v %l(!h(~"1?R S T3<~L=|~*y $C1<׾<ڥH<س ?2(.1&~ v~11(i$1 2I Y<g2|: $%;Z,S ٘ٚ* -2];  <*ض )hi2cJ2b1, a9^1!.b[#!2*a nn^#1 N2b vګ Kt 1*""1 [2z*(#؂qU*A(!h1oB~_ ھ{K,*+,ڽ ~SC~h 2  ם מ%D$24~()H[ oX 24*q ~E2)')12f Y"׶k!h5e(!hf'~9F qOm:I2~zn;o,pqj<Ez'd" 2X(31l3# %N,<<(41&2B% B~ ׮3#!h~O'~a* TQ7|'3& NzA&BqSgS :m'/P?$NPa D1~*~ #1 *21"P2\C *F*ٖo3r.'2bEL* *bٮ?ZMڧWO~*~) ׌,(<!h-~ (nWٞ!hf'}!h*YL.)rG/2;)2U~z(  <(4,!aٷ*~u*82a*2~vk:(!h@ f<h i"  *~2 ڹ<ڻ9~a *67 +8*$g C~b6'7*_R8"ס*~F e3~ %zפE1*ڼZ vwBTQa2 ~e04 51*!~I#d&\x~:x2~(~ `~;(mPت~r*6;)ّ*!؆ ~~ N~N*~ !ho5%J112ORT'a'}G3ٗ23P[1 h1*B"\ ~*R&R:9ڮS(p `'~,kaiMSm - ں%*~ (* N`<!h=!)1 `"~:,3m٣*#! ''S<'}T"*13e2y}2bV 26(~x<<)%~F N1/ڋ,5~b Tz7׫%ڳ>6*-#;'"3* R5, ؠڇډ3پ#h. ~H*&? *(w<~~"O ח<i v] *WR27& N2 "K2j 2,(F!h~'F*= q&` S ؋*hR~f(7؟*څ*~<~}6<7'}}?89 ~G ~C'}*~ N}حٕ'Sף 'q!?" c ;%d1 &*ؽ*YEe*f؅-؇`*^ #?_*"G3ڃY}YYa Y/YgYY@Yvʼnx:PQי ] 2H#y* N1 ڱ,(L&~bqr04&ث~٦=|273&%؃2l7~#S?3.<9~ , )%D6nׂ#1*3bs s$n&~(گ 1%l<~ Aa2J 2u 21#)2$"22y2 LC @TzB&PqSgS D'/X\T$SH F  :y,B;C؍ *D1)2t:~IPQ %ו~"ؘB/*+!2 ؤ&~J'}3o*$R~K<?9[ 2~<01,+ Ux4 f׷*~Tb=1cR5HI(p!hK!h~i.ټbI;J,ڗa">;Z~*y62Z:'}ٻE  Ya&' (2 ) v  /ذXBDٜ"2:"ڙ)1*ٝ1_:$*>'h ا2@#AS&1!? د o:R5!hرB*׋ cbc(2#C2*,2D2=1vٯ 2+2m2 6+)2E 2!-1"{2!ע1'S1&H2K* 2)*h 1*1%1#SBst4I 5'P?8!h$ן נ<1,٭(5 ځڂ O"*4w* KZ ^* N22o#2:3*G ٿ)2JP, 37~R"ׅ3 n^~1~ڭ "q? i@b~;Z}!h,-,~naMS~*61H #)Lyن'Sئ<?1@<~M* -2*K*'22'12/z1!1* *#(C׃ 1*HN,׆z چ{TEt|?~(!h2'G9F; qy$*; %Y QzX&1qSgS L>'/4G,$TE K<" w<*BL Z ~l*~m*Q)2TB2~Aڍ  >a2`3g<D* .k/:L V<"q(z%mS* N2C 34؎)~,ؐ~:*YaNI j ؏kl"m:"~B~/D iٔ*,), ؑ*ج] Yv)Z3W*~UFt*u3^!i2WQ112!׬?<7v׻ = ~Iک#J<9 .١ oN'1&*/"k1)2bڝ'1!w12- bW2)1;".* ~} 9|,} :~22n2h36#91W4V~*b#صWDEء.aB2V)2^ 02e,2 ױ3*6G7 N83#92i*ړ*ڷ$2r29"~ ڕGB3=,mږ2 <1~P(~Q?'}D!~R*~ N`~ VG؄b '}p"'}A U*\BMIq*؞*ؿb~o Q GJ:XPQ $nV 1=|2 2ع#~YSI <  ~ N L׳)%r<~|=|~!1'٥~ O /D6l*~`*m ؓ - Y n o3*Q31) <ND6~<b&(421 ^_*<~'~`,a ?@*v<ק&~WL~!hF*~ Vת * ڌ~tR<'j<=~*2*0"  (+ %; !h~w<]{|*%ؔ*~yUFك%ץل*K ^ *e12$ إ u1*ٟ%J<FڈP2t22q'1D6~g3`(خ!h'A q2 N13!م2' %<׵nB9#:2~*Z6DY*2ڛڜ*~BE#1'}ׇٓ*C"ڤ,׎~׏1؈x)؊&\ف,؀&+*R,"2* 4a'R_'٤ؼ*٫ ڔ٬~ ^ x*ـ N2P*!#غ2p "7YaPQ*yz v ڿ&\<2{.٠b!h~B,"M2egP~ z E)F,H %s '~צ*J ٸ!hٹٺ {"Iڏ4Xf),\  S*~B~(!h~'~F*~ qc׀$n/<<ى,ً׹md!*GJ*] $22< I*4X~j~d N~k*i  T U,W ٌ׺ز* K2vڠM<ڡN(2w&~LG<ڣ*~&2?*b6~U*ڲ*ڊW!1=|B*sG1$ظ)2s#22] oهe ~;%Q!R*K 1"(@>'}< N~;%~qW<~UF~U ٢ <V* N~*;ٰ ٱ " <$%((~]!h~^&A # % 0K~-'}D!(<>ײ*ُؙ1# ~*G<11)20( rs %*~ >:aB *K'ׁ'SJׄ L?*~6'}~T HI*L~ ׭ 2*&\2=1ׯ>!?װ=|A*X ِ <-׉ 2 <~ %EK~2<!~sD! <fa& g'$nة ^**~G( ؕa~ 2 v% '}*>ר*  BZR~' *ڑ2SA شطTQLb9~XB?'(~{!hj'l ڸ*(.ڨ* p?j"Z*~4X!h~9F,\ %"]*(ד!h @zD2&;qSgS J'/HK$<S ;Mڎ(2dW#SO({<J2>'}j z1C s23 وU)@S.B&*ڢ<<ٲب - .2Y33ٵ'~ "%'}u'qٙ2M<%ؚ'q2K!h]1( < \ <טt1 h2"*ה"Oڐ*"4f،1_mPM ~I؛#L{ڵ*~**ٴ"X ״*B~ ژ?ښ*u "׈;%a n٧^)23 k#  2.*; hB},MS~'}~,׍TQ~ vَ k*ז1? %:L:!h~<؁**]KN''S*^"*؜ 1,m~p'}B\,P*?(`%ڦ'lػ ڪ!h(R `1WQa<~[ ש#)ny <t N2,+t1~~~2Fu*2 *-2k, ->E~G 4qfڶ" MXa b?c<~wdb cd ;1<~Ibق*w Iڬ?C)B*| @*_(~V) `d#3~I#٨. !1" vb*<~W4~~MS:~cL<'S%(nD[R'y" ~G&&\'S؝*)I.( 1#P.׊13:&\# & )1*J~*1'}ؒ7i[ Ha0kk=Y=YYXkHHHH.9n/c.//'.'Ywvb;[X+-/wXFza1XHHk>XXYYvv~h_h`h^h]89.3-76:/520147F7I7G7H7JLLLLLLLLLLLda]^be`\[_c                          EEEEEEEEEEEEEE-F,Y/.Y -l*Fl+/OHaaYfXY",X/ YXFcbFrTn*Hb+bqYfX,orYH./}0,6UYY3YzY]Vb++Wn+YXy_~fXXY[YSHGHHHHLYDY[.iuO!P-.`XjYDXY.wVD==Z{yk7]LL;B9+F$Z(aJQrH9H+T! 2 VNE/@i["SRmO)ob-QXP@7/"!;sO^>h03 &Ic([AW,~#6gd?1)t'CfleW$NF45R&,%p2T}BJ4:_3%0u>nX?5M.|-vUC<<Yzxj6\KK:A8*E#Y '`IPqG8G*S 1 UMD>]>2>5>i>1>,>Q>>>%>r>X>o>=>>B>>>K>>>7==> >S>>>P===>'==>/==>=>e=>9>">6=>W>g> ==>=>m=>T>H>h>>>>^>=>I=>V>Z=>U>N=>:>+>J>==>C>!>->j><>?>q>;>4>\>>>.=>d=>(>>>L> >#>R>>>A>=>>_>G>[> ==>0>>>8>=>&=>l=>D>*>@=>c>n>==>==> >`>M>p>)> >$>k>F>O=>b>f=>a>Y=>E>3qqppqxq8qNqqjqppqhq\qq4qqPpqpqCqqqq6q<qq5q*qtqpqqq~qqppqSqq qbqpq@pppqyqIqrpqpq!ppq0ppqqqpqDqq>qq}qpqqpqqpqzq[qqpq qqHq^pq|qpq{qnqqEq)q`pppqTqq,qqGqLqqFq;qqpq.qqqq"ppqcqqquqq qQpppqqZqpppq1ppqAppqpqpqUq(qOpqqqppqpqpqqmqq#pqqqYqqpqqpqqpqVq:qspppqdq'q=qqXq]qqWqKqq$q q?pqpq2pq qvq&q+qq%qqappqqqlqqppqBppqRppq/pqpqeq9q_pqqqppq pppqqqq3qq-qqkqpqqpqqpqfqJqqppqwq7qMqqiqopqgD>xuZH]w|vkE*_S-GLF;/%bq PY~2A"T)Nj& Xm{U:oc(=W\VK% ?3r',&`iBQ0d9^#z4 .h}eJs8Mglf[5OC 7<6+p!yR a@tIn$1[[[[F\u[>[[[\>[[\S[[\#[[h[\k\2\c[[N[l[[[\[[~[[H[%[o\([\ []\s[)[[L[S[[J[:[\m\I[,[[[\\0\M[s\q\y[\o\_[Y\*\\P[[f[\@[\ [0\.\6[B\,\\[[\[_[#[V[[[\U[[\g[[\;[[|[\\G\|[[d[\[[\$[[[[`[8[\A\\8[t[![<[[b[j[[a[Q[[\][?\[[[1\E\a[[ ['[[\w[p\B\\d[[z[\V\\[C\D\K[Z\C\4[-\[\![u[7[m\[[\h\\ \\[\Q[[[[2\\[*[[y[\%[[\<[[\[v[P[\W\\N[[6[T[[x[[[w[i[[3\v[W\[\ [D\[\z[[5[;[[4[&[\X\3\}[[[\i\\7[[\Z\`[q\Y\J[@\[\9[[O[\&[[\\\[.\\\e[[[[E\t[=[[[\=[[\R[[\"[[g[\j\1\b[[M[k[[[\[[}[[G[$[n\'[\[\\r[([[K[R[[I[9[\l\H[+[[[\\/\L[r\p\x[\n\^[X\)\\O[[e[\?[\ [/\-\5[A\+\\~[[\ [^["[U[[[\T[[\f[[\:[[{[\\F\{[[c@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}{}}z}x}}m}g}v}R}}Q}s}b}h}}o}p}}n}k}}}_}Y}i}}}}e}V}Z}w}a}c}y}`}]}r}S}}[}~}u}|}X}}}j}U}W}l}T}P}d}}}}t}f}q}}}}\}}}^}[`[^[_E>~_ KcsG(fW,IOH:. iyS]1 AX&Q q!\uY9wj%<[aZN"?2z$*#g pBT /k8d 3-olM{7Pntm`4RC6;5)x  Uh@|Lv0 D=}^JbrF'eV+YaXYs1-Y}Y:SHT/3U4+oV5lWX/ VYs/X.YXZ=HHXYqH(b.bu(@,. H-Y_smDHimHXYs,XPH-XYtH.~aEaUW.k. ,%,aY/<.`0}sN,9/qrHkXY@/z,3YsY)XXYtkuHEEFFOEaH+qX/<,HH[k,nYhjHXXYXo,.XYQHrYoYmbHbjuEY[Yz +.`\!X.U]/u^_`%ME,G&FY"YPH)*HH+LY_XX+HXHY[\.`deljElaBIJ-6aHhmg b]/;/,,r5mhHY"X$,/TVH&e'f(X~F(GF|Eb^g)+edNiX+QkYul%mi,/H.9 HEjEE`,/.jij`(J, ,.a.F`>r/r1r0r.&HtuEF"HHYkY)'/ /1vkH2,_,YoY3*{YPkf|Y"Wg+BY3~+H/Y%Hm>M+_,x// H-F. Y!"0kHHHjPLEYHYHH,-YYzYYSY.Yl80HyIXYhX.j3Z5\] ,03-/-5..,[-/H.H$HYoY:Y*PQ-T!Y:YYHYHY-XXYl0mH`r-t.+.9uYYGH/+T`0HY"Y/YYH}XXYPY33~H5 |nG=G;GAG9GCG8G@G:G<GBG>G?H><D40:JFI9-1A67B53?*M2E@C/LN;,.=+)8KGonnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnonnnnnnnnnnnnnnnnnnnonn||<<= <=====!===<<==$==#<<<=<<=<<= <<<== =<<<=<<=<<<<=<= <=<==<<<<<="<=== <<<== =<==<==<Z]Z\Z^Zo7o;o8o9o<o:<<<RX.//H'&' JD*Yw0 kH-,Y:+CNm'kL.Y^M/HHYY+j/^,H/]+/w/1.,+HY7 EHY:YHsYHwXYhXYDW-ZY3Xla3aaH. +HYY&Xk$l Y6YMqlYY?R YYsHta/[Y:/]-Y"xlHlnmmHYhYYYStXxY HHHHm/nXY=HYH7YYYYYYYYYY????????LLLLLLLLLMMMMMMMMMYY&r-2HsHXHXjj5X`6Y:YXXHXXY=H`HtHHmtkf&/'XXpDqEFaGX+Y/,HJ-HY3YJHtbbevYbc-{+x.VHfmuHghmvHjmw{MaYX}HXY04,Y HrbjnFHnGFHXHh+G,+QHnHHjXY?gY XYhYYzY=%(%'9Hj+FYkY)/zH.aGq1Y=tuTY"vlV^FllZF>FmlYXAbY[Y:HYhXE/-<-3._=j`/-2`j\`aYEdHXYIagHh5ia+.pY:,h+YScY:Ha,EijOk2a-f+oH&H46YOYg'Y4"mD#2% F5F~FuEFH:+ybMXYoH?(YEHXYXHnQHY^ZS_\T`]UHnE,HYJXXHOXYkXXEbABebXHf~HHXFF'E'H.HH++HXh- HHpHXk//.,VHXHP0pQ.,taYIXYYA-:JHYDYHaSy#UYKH|+YaZ[H`X+X.a!'`Jj4H,HY`KHYo/D/WNYPY|.+LXYP`d||ZyZZ{ZuZvZ|ZZzZtZrZwZZoZZZZnZ}ZqZZlZsZ~ZpZZZmZxZ<<Y]W_[\`X^ZQQRR@@((GTGURwRsRqRtR|RnRR}RRmRyRpRjRkRrR{RoRRRlRuRRzRvRxR~RRRRs00000000000T/YY- M.U,Qj<kopr/-HXkkkYYoY5-m -6H 5.;6/<H!+H@H"EGFb}0.K0I-Z^y-.u+3.|YY-YbYz5mYwHi"F&Fb,r.0Hj#$l%H/HY"YaPaQOkrP]PHQYUSXY+BXYUXXktYUV ,  aa-E24HY:XY_/l^H,.sYSXHl_al`aJo0m,HXa+tFEEjj+xXX/XYHYXjYhYbjH//g+lj.rjjtX0c,^0=,,.9r/0HH`yYXjYXz`Y+YRFC/c,r-yYHS HHlpFHrmsbHtWbYHz{H}YsH(H~+c/0`|,Zk@,HYz`  de,. a2a3}Xm1H0z-:M4/O++;H/uY,3,j0YoYYXm;ml.l/yMa0=Hall0HH,;Fq+YZX0,3-.X/b..0[n-H\ bYe.9YFFEY HjvR/l`0`Hp1+dY'3YXI,JHHKHLH'^HbH_XY`Hr5555555555555555555555JJJ~JJJJJJJJJJJJJJJJ^ {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{HaHkHdHbHcHjH_HmHgHhH^H`HlHfHeHi pppppppppp8-cYEbymHTU`YgX+,z+-bzH,,b{mBb|,04YZXH/T.,j./a2X34YYzY=?5BHa E6/l7Fa!M GGGGGH,./`.]-+Q.(@YYTkkaXY/|YY/,jY:b++ HXmXXnv'v(v.v<v,v&v#v)v2vBv:v5v7vAv/vDv>v?v$v1vCv=v;v@v*v8v0v+v-v6v%v9v3v4KKKKKKKKKKKKKKKKKKKKKKKKKKKK~   $  "    (   )   %     '       & ! #DDDEEDDDDDEDDDDDDDDDDDDDDDDEDDDDDDDDDDDEDDۻ۹۸۾ۺ۽ۿۼCCCCCCCCCCCCCCCCCiKiLi1i>iPiJiGiMi5iDi<i7i9iCi2iFi@iAiHi4iEi?i=iBiNi:i3iOi0i8iIi;i6rs5ss(rrssVrssdss8rssrsJrsssss>ss2sjrss[s]srssOs^ss9rsrs"ss<s s sGs;rrss`rssusrsLrss0ssMssssAsssss3ss1s$sbrrsssiss rsPsssYrrs=rsrsesHrsssrrs,rsssszsBss:sshs}rssrsssUss rsstsFsWssgskssassCs#sXrsrsRss%ssKssDs6sqs rs)ssyssrsZssscsssNrsrsvsnrsss.rrs?rrsss-ssEssssssslsrs!s{srrrsIssrs\sfssssrs7ssswsrsms+s s_rspsQsSsxrsos@s/sTs&rsrss|s*rrs4ss's~555555555555555555555555n\\\\\\\\IgIkIIfJuIJIJ.JjIIIJ[JJ1IJLJPIJJJ@IpJIJ3IIzJ$IIJnJJJyJJ JVIIJIrJeImIIIJ8IIJFIIJ!IIJ\J-JSIIxIJIIJIIIItJsIJ%IJ IJcJvIIwI|IIuIjJ^J?JxIIIJoJ,JCIJaJhIJ`JNIJ&J JDIIIJ9IJJzJ*J/J(JJkIIJIJqI~JIIJHIIJXIIJ5IIIJpJ=JiIIIIJ0IIIIJAIIIsIIIlJ6JJ)JrIIoJZJ_IyIInJGJ;JbIIIIJI}J4JJJ<IJ2IIJ JfIIJ|IvIJBIIIIJOIIIJIIJYJ JJlJIJEIIIJ}JMJwIIIJ"IIJ7IIJIJIJJtIIIqIIJQIIIIJgIIIIJIJWJ:JKI{IIJ{IJIJmJ]IhIJRJIIJ>IJUJ#J'JdIJTJJJ+IiIIIIIJ      H'HDH6H:HQHAHUH@H=HMH2H,H;HPHWH8H)H-HFH5HKH3H1HCH(H\H.HRH*HHH7H0H4HEHJH>H?HLH&HIH<HBH[HOHSH/HYHZHXHVH+HNHGHTH9H]{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{??{R{Q{P{SCCCCCCCCCCCCCCCC]]]]]]]]]]]]^ ]]]]]]]]]]]^]]]]]^ ]^]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]^ ]|]^]]}]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]^]]]]]]]]]]]]]]]]]]]^]^]]]]]]]]^]]]]]~]]qzQ'Z6UMr)fi1WjS,$G7\!2w`u-I%(V#?]F[ }3;+xlA0_m{~ ys On.*gERa^YB5T K/8pDHvC>oh|b:4XeJLkdNc<@"=t9&P vvvvvhehbhhhghahchfhdORaBe]^gId[V_;SF?APhUKLXlTJGM`Cjbf@YE<=H\Dmk>NiZQWc7K7LLLLLLLLLLLLLLLMMMMMMMMoqxl}y{kunhipwmgfjr|vstz%%%%%%%%%%%%%%%FGFnbnjn\nTnmnPn[nfn^nXnYn_nhn]nWnUnZncnQngndnennn`nSnknlnVnanRni    bbbbbbbbbbbbbbbbb???????????{{{{{{{{{{{{{YY<<<<<<<<<<<<<QRR((((GSGPGRGQooooooooooo oooo oo o o HYi9/EF/`;c,Y/jwHH=-XY#-A`dD&.EFH`KLM yxoutwrpqvsHY(|lo/"X}M(''H,0JP,HH3HHX..HH\]+^b_;,YoY:XQmlY-HXYMYhXHGjyXj)YY,lyjxjjHHIY:HHHaY`X"[[[[[[[[rdr^rcrar`rbr[r_r]r\\]]]]]]]]\\]] \]] ] \]\\\\] \]]\]]] )*+222222IIIIIIywx|~}z{ssssssssssssssssssCCCCCCCCCCCCCCC\[\\[\\[ۅۆۄ?+?3?-?(?)?.?5?,?'?&?*?0?%?4?1?2?6?/rrrrrrrrrrr]I]G]H]L]E]M]J]K]N]FMKJLOHFPEGNI5 5 A)}}}}}}}}}}}}}}}}}}}I[I\IXIZIYHH{q{n{r{o{pCCCCCCCfbcgiea`dh\$\.\+\,\#\)\&\1\!\'\*\%\0\/\"\(\-_^Y[.PYY&/m+.'k.R/IYH+kH9H;HHHY"XXYXY_a XY:HXYH.YmmHfY+?/r-+.sY.`XY %'& *YqXYHHHH+"YY+%+eYnHHH,-aHY[YHYl<H,/`'{-&'|J, /rzX=|YH9FFAbHY^fm7-HXXXH@/04/YDm9FbI|H!8#;788:;+89899;99 7;G:T:h<8<8";;9V9y9F88l;:u;::8;<9;8;k;299x9E;8d;<#88<;:q:<=:j:4;9u;;o798 <9;;n9R;Q;797;:<8:9:98:8;a9j99:B98:88,:7;;;P99;; :x;C;:<{8g88*7:89:@8;9:<;D9<;W:$:8o; 9U7<:lj(}&h'%&('@&Z,iXEE`/YXD-$HYl!k2H?^Ik.%'\amHHH^Hk_YP7Y8P 9Rm#^-V/--//T,.iXYD(&(rHps>/tXc?HHHYi, XYs,HH`mBj)0(k j+YX,0X0 HHnHXY_YHY:13 (''&(N'VXX  Y,-YP)lHY0HQ)M#,+/0R.HmYYDXYs$55!55 55+5.555555 55(5$5/5555-5#5%55*5,55)5'55"55&55RRRSRRRRvwtxyu00000000wNHYY[Y"Y:YPOXY}YR/;xE`yH-+S-HVHX\50)X.HkhA+/,-D.YkHHHHHH ablbfmz/ 0T"YYSjm{/X./y@XHHY")m|Y+-HHvGvHvFvE`e.-0&A+,;.US--zbUHFY+3,%`f,ZXHJht,ALY:kHXY*+-z/-+HKH5Y:lH e,-0?+Hl+3,,YbYYH;.Xj`,Q-R-x/+T&a|<HHja ///we!YHHYoY:YXH .,5Hk6Ibwlmk7.'HHHHH+H/Xn )#$*"!' ,(+%&7B7>7?7C7E7A7=7<7@7D7;LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL {  u r z p m o y q s } w x ~ v t | n????v|vzvxvyv{vwv}EzE{E~EwE}EyExE|Eviiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii??     vvvYYYYYYY<<<<<<<<<<<<<QQbN bO!-S/U%LVYcW0)XXZ1:]^_b+ y&JiXXHY:^nlFY9GHHHHX+e.0~YS/\pHHI+HkP///,,yavT0}kXH  kHH.4>>>>rjrornrirlrkrm]]]]./,01-2222I0I1I/I.[[[[[[[[[[[{I{J{H{GhHiYPY=_z{H,.+,Mll,+-bHoa'&tH\]H^H` A N/ -+<-aXXY:YXHdRY3H+xHH+Y}0.YYP+c,;HHH-zYPkkGY0XXHk HS&jm-O/-W/sYFXXYY&YP9UWEb3X;YkkEmH</j,.(b4H.Y_- km,0 YYb2H/^XHHmu mXH CR1R7R4RFRA1011FYXYYSgH*m.9HcrHYYYYbaS0voYYnY9nwF-EkvaTXr{{{{{{{{{{}{{{{|{{{y{z{{{~{{{{{{sqryo{vw|pzutxnDDDDDDDDDDDDDDDDDDDy{vw|zutx}~]l]b]n]i]j]^]d]m]h]g]k]_]f]c]`]a]e^iefj`hdcglb_m]ak\z\v\w\{\\y\u\t\x\}\s\\~\\\|q}~rxp|{tzwuvys?o?k?l?p?f?n?j?i?m?r?h?e?s?d?g?qssssssssssssssss`V`b`c`W`]`U`a```d`Y`_`\`Z`[`^`X7874757970777372767:717/7.LEZElE]EVEWE_EsE\ETEQEXEeENEpEiEkEME`EPEuEJEREcEOEtEqEKEYEmEaE[E^EjESEoEfEgErEUEnEdEbEhEL}vtu|yz~xw{K555555555555555KKKKKKK~KKKKKKKKK h b g e d f i c j||||||||||||||||????????????????vsvivrvpvovqvuvmvhvvvgvlvtvnvjvkhShYhRhPhOhQhUhMhXhVhWh\hThNhZh[   ]Y ./J"HH0 ./0= b+~*'d&Klc,fY7+P 0)XXY/;iHH le Y"H+`qYP+c`r1&..a0j(4&('&['(((V'P'.'&&%H4`s,;YbYsY+.N,z+y`tX,.H`u=YSXH>R;Xtjvpqh"7 Xy,n.+~XXYPY`HYA`./,FHE,H./H.H 4rrCCC]W]U]T]V]X]S]Q]O]P]R\515250????????I^I]HHHHH{v{s{w{t{uJJJJJJJJJJJJJJJJJJJJJJJvSv`v]v^vRvZvUvOvPvVv\vTvbvavQvWv_v[vXvYJJJJJh          6G6S6T6H6R6Q6E6N6L6P6J6F6I6O6K6M6UKKKKKKKKKKKKKKKKKKKKK   F D E = 5 7 @ ; < A : 9 > 4 3 8 C ? B 6CCCCCCCCCCCCCCEEEEEEEElkj\K\I\N\G\E\F\M\H\J\D\Lfeidibiaicl`+bHHHYc!YXb!D"&UE#Y:X/HHF +eXYYn-' pxpvpwS`<u2*ewORvB5T/!1 90Wn=HA(7r_aNDc>,@F? fzIX"M4Emp^QqJ :L')UK +sYg-]CSy#l`ZG\36d[&8h t;kPb$.xoi% Vj1U1V1Y1Q1X1T1S1W1O1R1PHIHJHQHWHSHNHOHTHHHRHMHLHPHUHKHXHVH,0kym\Hb/K6!#HkG,X&T)HY1Yp8kIU+),+-F}a4Y;XXR]/J0,,0e+HHH/-%aY-0 12HY3,2Li 345HYie00000||||||GGGGG'(%)*&ZZZZpJpHpIp[pRpUpDpYpZpEpXpWpBpOpLpVpGpCpFpTpKpMp\pQpSp]pPpN=T=R=Q=S=PRRRRRRRRRRRRRRRRRRRRRRRRSSSSS SmpnolqrHH`bHYYYEHH a."bXcd5%HC@H+YJj0_.-Xj|FBH~H,D-z.F`HjRHHlghailY3./j,:FXXY~.Y1kXYh,%HFdkmbp.n.qYPHYY3YzHlmYnY"vF wyF!FEbHYmlEEEEEEi{iiiiyilipiiviwiiuisiiiieiqiiiioiifi|ikimi}ijihixiiigiizi~iiiiriiitiiiniii7x7y7wLMMMvvvv%%%G G YYYYYnsnvnrnwntnunx;<Q%S'=Y@.V0q k YX>YkXe?@AY=YY3YJHhLhKhJH-EXHH,j+lYoYPa%y \/"Y@-hkXH#Hb HHXc5u$fXYXXX-E,r+0.N,,s,-+0$%YY3YzY3bmHmHH /02H`.~HHHE0}jxaH,-0+kjyH.Hlf,\ltW Xr,F/+#luHXXaYHHnmp--zH`,_Y[Hb`HY-+-,Z.9/,XgF=FFaY.Y:a.2+<uY3YYY+a;YXkLHFa.a/vO0k<H=H>HX?FtFFbYm$TsHHYWwHHXY:HmXYHH/Y'Y& H4"`./62H8HHY:/&cl@Z-aHXYT.0=HHY[_c`YGda.UHdooo ooo!o@@@@@@@ZkZgZaZbZiZeZfZjZdZcZhZ`XY-R.j+-, YHmqjYXYXHF Y:Y^X/]+:+~.JKLM.,.0F<FwFapU-h-brtFt$kaqvH-:ar,+YXYeHYJYXZYb\XH_{`-?HFYDU,-++x-btbFbYDH.-^HXHc(uE`j0HHZ'L+o*X/,+/B++YhH+mj1 ????vfve{&C\ \ \\\\ۉۇۈYoYzA/"+,.a-/;,+.H-+l`=YPXc@F4XX3/++~-Yl Ha-6iKl 7H9,Yt0X- b/4GH(HY~+z/F`H6QsYzXXX-`YXH0^+1jYDYkF,x`HYj=ZwHHH H$+Hkm,/-:%'aL(YHXYY<,Hp01q2XX-4HYH//bi%HbjH a>J|(mF3XXXN~+MpHqFFmbk)EEFjbl EFYdiH.,&JoeHY'/a-+-p Hmii`l/-,?$YhwnXlEa 3XYtQXYDYsSXXXO HH-RYh  Y6  +-HPHaXll+, ..+YY0H/,QHG.+,Y" 54,&Y HL<''<,Y-bYH;XYs/ (je?`/^,,@]D"AYJYb/$H/BY0Y@+M0jg(I.pXY$Y:,;P)0qHr+svtuk;,Y0XXYk<.F1_Fa/r-r&r+r*r,r)r'r(\\\\\HmNiH.4HIC5mOlmP.0m+jHE>Fuq,EbRXvY6LMtNOLn$y8n%/],Fy(b.HHn&xSHXn'PQHRHSY"n(Hn)YcYY-c.zHHoj6ay-EHH#"o0kH$#pHY*,iQmlHF_4$REa@Fa,+.2%aH,.FaHl-X+J+Y:l/XllXqXH``tXvw -yH/O,S+,~34HYYsX)kHHYXYYYYSY$XY+HHaY9Y KH-y*+Hb8,/m,mH/TYYjY5ni++K7HHl=Y[UXX-QH,GBtY:XVHFY"H,.abmYsbZHY:XY3X+,00^,Yhnmkmm7{7z7}7|7~LLLLLLMMMM%%%G6G7G5('!&$"#% nUV@@@@@ |m|j|h|i|l|kZJZDZIZ?ZNZBZ>ZMZHZEZCZGZ@ZPZAZKZFZLZOZQ<<R&R!RR*RRR RRRR(RRR#RRRR)RR%R$R'RRRR"RRRRRRvvvvvvvvkmh\jcbl]g^def_i`a0G+HHHXYYkkxYPYJ t mkzk{YHaUaVXXYYMYJXXHMMMC,'/-/)0+.UYzHEaGYtY HwSY36/1-o.J:LY Yh?Y,VQSHHUppphij238106*(/:79.')4,-5+@@@@}}}[\[Y[][V[Z[W[X[[============================================Y.<0H-uRXYMYVj -6HHU,.Ej YuHBY:XY-+WXYPXjFHXHHI0I&F;H`j.-0K+YYkYPHH.jHkj,3HN2eY3f4&'rY--(JtYYgX/uvY"ll/XXYYV0Xl3Y:wHHYP8/,HYY-YSXYh.0_-,%b-q,cFEFbHwGH<HHHa5=>H?Y:MYYa6HYFSGHHJO./PKLHHl5XYsl6C>F"%/2YY@& CHHH-)-.-1Bl7YvHY"*aHbHH2fHn5,0,Bb5f678HHj^n6 'n7Y^g 0X@h-jY:HX`-{0HLgjlYE-,j+HHHHl_lY:nH.opHX+,rYMY)-++;H YYYYYYYYYYYYYH&/Z.{bbH,HY=mdmYmHY:bWXHb0EFGkXY}Ha%"- $HHH%&HH~}|{0000HHH=d=cc`fegadbpfpqptpopuprpspvpp   @@@@@@@@@@@@S<S@S>SBSCS?SAS=}}}}}}XHkHkEa/z+ZY3+]XW[QOV_\^UNPYSTZR\9\=\3\B\8\@\>\?\7\A\C\;\5\6\<\4\2\:cbda`?>??bH'XYiHabbH+qb.()YcbX*nojjpjEvw_Q$-- YY{cV&XYq{//}HYXHHYX~HHHYHaX.%YH0aYHl{H*^XXH~+/jEkHH(OH-bH/+Y:XY-,Y-c++TpEFeXYHEFHH%YHHHXXYYOYXX-1aYkZHv\]^DYGY)HEHY-HcHH&% H-, ?YY3YzHYbYY@Y-XX/]YNYY&._H--pHH12YHFZ`3Q]4lH/lIH0+wxM6yH}H0aX?aHHY>m@H/%HH+Yh,{.,HYb&H~Yh12.HHjH.00>Hjjlj`/+,HXH o>o?oBoDoAoFoEo@oC/.Y Yw.xXY-YyXk1kHYbHe~|atH~HZp? ] W Y I R K a G L T J ` ^ H O Z S P Q X M \ U V _ N [E8E5E:EE2E)E#E%E1E>E4E-E.E6EAE3E,E*E/E;E&E?E<E=E$E7E(E E!E+E9E'EBE@E"E0. /-bH-+Y9YY&mYsmYw,%/Y:z{X}.,F,HHHYsXY@HEh`>@.0,3BXXtJXYX/KHL-=YYY HHOaXP//+~elSHgmmlHklYo8 lY-YeHH/X'aq)-XY:X,-41km 3m ( 4,Q.AH"H/ j+[kjHH`Y &-.:(o)j02jY3*0J4M/%n180Oraj:Do>*6dqWY pJ@Z;-= "B<#\hE P&I3Al `bVKcF9H)+NG,e sQ].U?Lgi'_XkRCT25[S(!7m ^$fK1JK`KIKXJKJK|JJK%JKoKcJJK]KKKKOJK_K9K<KgJK^K+KK>JKJJJK KjKJJK"KuKJJJK@JKnKVKeJK&JJJJK2JK{KqJJKkK*KK KZJKmKHKKKsJKlK8K-KMJK'JJJKKvK)KK K/JK(JJK KPJKzKbKrJK3JJJJKAJJJJK KwK7KK.KhJKyKUKWJJKxKGK;KYJK4JJJK#JK6KKK?JK5KJKK[JJKpJJKBJJJJKQJJJJKJKFK,K=KtKJKaKdJKJKTKJKfJKCKJJK0JKEKKKNJKDKKK!KiKJK}JJKRKJJK K\KJJJK$JKSK:KLJ\O555JK9JKKuKKKoK/KK'KaJKqKLKOKyJKpK?K2KQKK,JJJKK|K.K K K6KK-JJKKSJKKhKwJK:JKJJKEJKKJKK}K>K%K4KlJKK[K]KKK~KKKAK_JK;JJJK)KK=KKKCKK<K JKKbJKKtKJKFJJJKKTJKKJK KKJK1KBKzKKKgKjKKKKZKNKkJKGK JKK7KKIK$K&KRJKHKK K(KmKKKKJKUKJJKKcKJJJK*KKYK@KPKKKKsKvJK!KKfK\KxJKVKJKKDJKXK0K3K`JKWK#KK5K{KJKJKKdKJJKKnKJJJK8JKeKMK^KK"JKKJK+JKrKiKJ]#\\\]\]%]]]+\]$\\] ]C\\]W\\].\\\\]8\\\\] \]2]])\\\]K]M\\\]>]4]O\]/\\\]!\]1]]]6\]0]\]]Q\\\\\]9\\\\]D\\\\]\]=]']5\\\]V\\] \]J]@\\]:]\\],\]<]]]B\];]]] \]\\\\]E]\\] ]R]\\\]"\]I]3]A\] \\\\]\]U]L\\]F]\]]7\]H]&](]P\]G]]]*\]\\\\]S]\\]\]\\\]-\]T]?]N\]\\\\njhgikoml?T?`?I?c?\?]?A?N?b?[?X?^?E?U?L?F?H?S?B?W?P?Q?Y?D?V?O?M?R?_?J?C?a?@?G?Z?Kssssss|| |e{||}|||K{||||Y{||||#||O|:|G|| ||m|p||||_|R|r||L| |||?||N|+|-|V||M|||/|t| |||{|Z| ||||f| ||||1||^|E|T||||||||$||l|a|||[||||I||]|9|<|c||\|*||=|||||||g||{|!|u|||{|@||k|Q|b||%|||||2||{|o|{|h|)|||W||j|D|F|s||i|8|,|H||&|||||v|(|||0||'||||J||z|`|q||3|||||A|||~|||w|7||.|d||y|P|S|{|x|C|;|U||4||||"||6|||>||5{{||X|||n|||B|<>Z/$@!( BT*5.&WJL;1M+-3,O\6C:#2SU I=V7)9A8XDPH0? [RKE4G"%NF' Q Y <dR]&0rga*"VcDFkb6,H'm) .(Jq[i1=n5 -_pQToC8U2$4:3 Wf>KB+9lZ\PE^? /A!I@#`sL X %O7GehYSjM;N    b       X C P    u x    h [ z  U    H  W  6 _  V   8 |      c     n     :  g N ]         t j   d    R  f B E l  e   F       o     }     I  s Z k       ;   w   p    `  r M O {  q A 5 Q       ~    9      S   i y  <     J       @  7 m   Y \    L D ^  =      ?   G  >    a   v   K     T    DDHDDCD8DDJD"D%DQDDIDD D'DmDDDDCDTDDDD DaDDDDD*DDXDADODDDDuDwDDDDgD[DyDDUDCD DEDDWD2D4D_DDVD!DD6D{DDDDDDbDDCDDnDDDCD9DDfDMD]DDDDDDD+DDtDiDCDcD DDDRDDeD@DCDkDDdD1D$DDDDDDDDDoDCCD(D|DDDCDFDDsDZDjDD,DDDDD:DDDvDDDpD0DD&D`DDrDLDNDzCDqD?D3DPDD-DDDDD}D/DD D7DD.CCD DSDDDhDxDD;DDDCDGDDDDDD~D>D#D5DlCDDYD\DDDDKDBD^DD<CDCD)DD=YBkokp</=EFXH.-~FHY"XG+YXaOIYHkqMH-(H^f&Hmumbk,HMYPvwbnx,0+bo+SHYXz|3   }HHY"-Gi,rHH-,iSKBF3HaHX/,+~QRYs/F ^E"7G#&%XSHH),aTH.,6-Y0Cz/H./GbDb0HJYwxG(4KLb HMHH,,Q0R0-mbjh`E{:ZFm`ji]`Yh@_dA`GHY-YD9HH$+Wx(Z|.YYDY- Hx-V,.?,-py-QHHz YJ+m{ XX XH/- /O-.:HHH;YS+/<YoY:XY3=HYbXY3Y^mSFEQbTWU,Z6GnGeG\G_GjGcGdGkGbGaGhGYGVG`GmGiGlG^GoGWGfG[G]GgGZGXY3Y[FHR/..+,ibHXX.r/+;kk~k.HXH Yh0Hkk rlqomnpk>>~HlH[\/[>AH]HDXYYzl-HYhYSHXgaHGHH.j=|=XXmj>/ ?HXYh@HYYP)HY:X-Y-,HHH$m\i\p\a\]\g\Q\r\P\f\Z\^\m\c\d\n\b\`\k\W\T\_\q\l\o\\\S\U\h\Y\[\j\X\V\e\RkaH/XY=kYSYOaa,YDY6Y"0.Ea1Y-oY*Y3aY3XHHYYsb9H/RS._TU0YWXXX'omdYYXYHm]^tY:YhFFEFb:XwHH/'.+~hYkHlY&Y/ +KxHY3Y+Ym0YXbmaZ-ka[k~Ha\FkY`X-zYYkY6Yo+^/0.H1Y"YPX-"-j,tm/lkaHY#/,-:llPXqr EaHYZlmx.USYYDH4`FW'`wjja&&%*HHYeDfE1X-y+~-g0I/u0~`xEY`yYoY:Y`zHjkY0K.V``Y9YEH/#t`Y`,.,YhYg@`Y"b#HH=M>O ,1LRHHAXCYoYFHZGHJHH\HLY:NOHUXHHHHH-[.nY vvvvvvvvvvvvvYYFa9a:iXXkPYcHbdHFa;Efhl9HHa^YPY=Hza//O,{TU|W+-YTJ<hHl:]+@Al;..A%lmojtn:QF2YSXY?RXY k)[ ,{.-0TlI5n<XYPXYJYPXW/XYbN?HHHjj,.,9@HY)j+HuK`julY0Hl*/PYJYb,+vwb'H+oYh/HYX mb*b,m/H0mYDXYYY{Y"7H]6]']1])]<]?]4]=]8]*]/]5],](]2];]A]9]:]>]@]-]0]7]+]3].46XY0Yk!HO/bq);<HYg,s/=HP?+B.B@Bmk"DYD8k#-j-nF// .9EaHlaYV+Yp,Y}HH./nY[:, Y,Y:H"?HY;#$@H0q-_%HH2;E<H.)j.+Z+/,YO @u&`vDm+EY3HEH HHH..+KYl~12-+-G/e-R/GHHlXXY"HW000GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGbd/H.>/XXibejHYY"X/H1GkCymyiOXYPXQHHH.-Fjjp}qjHHHjjXY=YYYGF`!H Y6 b#$H/"/7Y,/._HF-Ea0;+c}YVHY0IFHY[XXXX+HYMYGobmjXXH"#Y$+c- +~H'(H+ *Yb+b LLLLL l kj*j]6l,B oFFF EEE789:rtHHHaX(/HYuYXY:YX.WXYRXHBXCmEDE{8-()Y*mF%HTmpH,WoqY/Y*H HY+M/,HQ-HmGR.jF` /,c/1+!,30 -##/H`H+.`Hj . * hEY"^!YHXYk-FFauXY"YPHlkXYYYMk/(y/-+m -"-..:v'+YPYPH7m  ,Xi X2HlHmj50qj6^&H++WVj7WY",YH Y"Y`F`[_HHHHHHHHHHHHH[[[[[[[[[[[[[[[[[[[[[[[A1A2A7A0A/A5A=A;AAA9A6A8A@A:A<A3A>A?A4q}}}}}}}}}}}}}}}}}}}HXXfY.-i>lHH.+.qkt:HaH,b2-,HYeY0m 3GIGEGOGDGHGMGKGFGGGLGNGJRRRRO%%ooojB=Nl0L H.j//57Y89YaR\YX,H{`mplaHHH_H--+:Y1/HHkuchZ_H/7,.0 N$O:;P|H;HHYSm*V}Y`o jH"#H-X-`p.jY3YJ'Hjj)-*Y&12kk-3kskH5RAY,=-/$TB^67-G!8H9H;,'+EEEFECEHEIEDEGiiiiiii/+=,4./+([l\ /0YoYHlHH`Y<N/'/H+`O00/.+jl`/+tuvYzE++HHHY[~lkB]kC.n+8T%?GkDHY-Y/n kF!H #HXYY&$XXXBC^;Y|D`'(6mVY^Yc.NHY+bY3{]^kcn/YP_n0, --a{H0r/ &''&(&A'!''d( '&H+YD-FHHHYbH./F.oMoVoToSoUoIoQoLoJoKoPoHoRoNoOZZ@l@m@o@n||||||=V=W=X=U=YRH,S+UbabcdeXfbHX[XYYlMIH5jB./LjC7N '&%jDYzO,.N HY`XHY"XLYvYVY9YP>?S?@Y"H+H8+z9.Y^Y@YkXa"9XHX/z,FK4>:Y"mkxlHopmmqYz| a crHmsuYFVw eY=Y9b<-@,,N,D.b=-E}Y:XYuY:-1b YPHE bn !"RYbH mHHX;bHHH./HH.,XY=a^a_X,;.CYeY0Hlq]lr0YYO --YNHls,-/!HHFiEaXXXHr"haYj}lHHYY-j}+x,rn"jHXHm./YDY&H,j.20?,e*H-o/^H-.//X..HaH0D/9/YLb$H/H/g+],TH_b%(vY,Hb.rl.|fHhHIcHH7Y"Yb&.,lHHXY&YSY"Y:YPYXHHalUJ//2-E#=d^bmHza>kU{-6Hn1kVYYHca?lkWa@Y:HY}9 mY:Y> pHYDHHRHnoHN}pqrsPaQF~^ul=_v/;H/+L08,TUaHl>V+HXYiHoFbmn>kp~ "%qY.H/)H.jprqrsHo,q-3tHHJ`YY*X,%.+,tYd-FUj"`Y:XY3.%H.:`R:ROFgHYYXH{XHYYdXXXYGH|Hb b bxFH}HH!bmY[H08HY3cJ-XXLNPH5XZ[H\.Q.c/H SHHXXT.%]YkXH.UH_HV,/a+4-H,3-?8/3 YbY..aFFva$&'(b 2 1Ei\i]iYi[iZiX??????vvvvvvvvvvhrhths;X-z2R3.56 SCYVXY3DHEHYoGH0?..Y/bF.kI^ w~pzfPi7:tg$<}x?|Zr/y#a{GKz5'M  "+~!Qn0@u4)uY\{F9_13=2bxAR E&;mqXJsB,DNCvScW8L| l[T>V%(`U*dw-jH] v}oyeOh6qVqpqqAq2qYpq(pppqqq,ppq7qq*ppqq\pqquqpq;ppppqKpqqpqqq?qq4q{pqqdqgqpqqQqDqipq<pppq#qq>q qqHpq=ppqqlpqqqpqLppppq]ppppqqqPq0qFqpqqtqwpqqqcqTqypqMpppq8pqOqqqZpqNq pq!q|ppqppq^pppqqmppppq$pqbqCqWqqpqqpqpqsqfqpq_q ppqIpqaq/q3qjpq`qq q5qqpqppqnqppqq}qpppq9pqrqSqhpqpqqpq%pqqvqpqoqpqq[pqqqBqEqzpqpq.qqGqqpppqq~qppq"qqpppqJpqqeqxpq&pqppq:pqqppqq-q q qkpqqRqUqpqq@q1qXpq'pppqqq+ppq6qq)1.1-1/HDHCHGHEHFHBB+^0K]HX/+[iaH|\jb}]kdzYYJ{YYYG02H| }`HMYPY"Y 0(lYHY H7YPH5Y=H/6H~/=-YY[Y'7#mYY~FJl?m}bg9m~XY1.%,jnHbhHY:XY-oHXVm67knjFE.~-jmjo>@..v+J0+H,X-{7{B{3{2{={.{/{+{'{0{-{:{<{){1{A{5{>{C{?{9{({;{4{D{*{8{E{6{F{@{,5n5[5V5D5K5>5L5Q5X535u5t5U5<5H5^5C5T5M5]5`5:5?5l5q5v5e5J5j565;585Y5O5A555z5y545G5E5h5\5c5@5w5x5S5s5I575P5N5r5o5_5Z5d5R5=5W5k5f5m5F5B5p5i5a5g5b59C\ \\ \\ \\۫۴۷ۥ۩ۚۧۛ۱ۦ۞۶ۣۘۤۗیۓ۳ۜۊۭۢېە۵ۙ۰ۮ۲۠ێۡۨۯے۟ۋ۝ۍ۬ۖ۔۪ۏۑ?7?;?9?:?8rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr]_]n]t]c]v]`]g]a]]]m]^]u]h]p]\]i]Z]j]b]q]s][]r]o]w]f]l]d]e]kHHkYzXkHSLYMkHaSEazX-HN,,HX48.,:TFF)F;0>,<HY+HHHY5XXYH0,/H9E,sFbH\jbFR`Y"=X>XY=.+m-4/=5I0ljdJ3,?5EX+HXYHH.IYHXY$lH/nYY"Hp/+Y&L4LbKKKLYL$L6LLJLMLLHLCL|L!LL8KLKL/KL LeL#L'LpL"LLUKKLL~L^LzLKKL:KKLFKKL+KLKLZL3LQKLLLKKLKKLLLkLL0LL)LL\LmKLLLNLKKLL`KKKKL&LLVL;LILL LLqLtKLLLdL[LuKLPLKLLBKLTL.L1L]KLRLLL2LxL KLKKLLWLKL9KKKLfLALaKLKLKKL,KKLLLwKL<LL7LLjLyKLLLLLKLgLLL{LKL LrL@LOKLiLlKLhL_LL=L%LSKKKLGLL(L}L?LDLL>L5LoLKL*LLvLL KKLXLLLcLL LEKKKLsLKLnKKKL-  sZI]uytkF._S1HLG>}3'b!pPY{5C%T-Nj(#XmxU=nc,@W\VK)A6q+0~* `iDQ4d<^&w72hzeJ|r;Mglf[8OE":?9/o $vRa B7676667666g77 6w766^66666d66667667+667 6666a76\666666666666p6767 66c6s666666}66b7!6u6666i77$6667#66666Z6666667*776{666h6k6666_6V6n67%666767(776W67'6676q666666766666|676766o6~66666666j6Y66666x7 6[66m6r66l6e6776]6667,67 677"6776v667 66z67666`666f667)6666y6X6t66676676666667-77&6vcvdh<h/h0h?h.h,h8h#hh*hAh;h@h(hhh5h%h&h6h$h"h2hhFh h9h4h7hhDhGh+hhh-hhIh'hBh=hHh3h)h1hEh:h>h!hCLKLL|KLYL@LpLKKLfL/LCLL[L_LLZLQLL,LLEKLKL9LLLsL.L2LL-L%LcLKL