DminmaxmatchesdescribedescribeMismatchexpectedUserTextScaleFactorfailWithDescription_value _stringValue_lineNumberValueKey_expectedLineValueKey_seenLineValueKey_normalizeString _normalize _toStringDeepErrorDescriptionKeydistanceFunctionvalueepsilonname arguments _deepEquals_deepEqualsList_deepEqualsMaprenderObjectMatchesTrenderObjectMatchesMshape borderRadius elevationassertRoundedRectangle assertCircle expectedPath areaToCompare sampleSizemaxHorizontalNoisemaxVerticalNoiserandom _samplePoint_target _thresholdreferenceImage matchAsync identifierlabelattributedLabelhintattributedHintattributedValueincreasedValueattributedIncreasedValuedecreasedValueattributedDecreasedValuetooltip hintOverrides customActions textDirectionrectsizeplatformViewIdmaxValueLengthcurrentValueLength inputTypechildrenvalidationResultactionsflags_stringAttributesEqual_createEnumsSummary guideline[ findsNothing findsWidgetsfindsAnyfindsOneWidgetfindsOne findsNWidgets findsExactlyfindsAtLeastNWidgets findsAtLeast isOffstage isOnstageisInCard isNotInCard colorEpsilonisSameColorSwatchAs isSameColorAsisSystemTextScalerhasOneLineDescriptionhasAGoodToStringDeepthrowsFlutterErrorthrowsAssertionErrorisFlutterErrorisAssertionError isInstanceOfmoreOrLessEqualsrectMoreOrLessEqualsmatrixMoreOrLessEqualsmatrix3MoreOrLessEqualsoffsetMoreOrLessEqualsequalsIgnoringHashCodes isMethodCallcoversSameAreaAsmatchesGoldenFilematchesReferenceImagematchesSemanticscontainsSemanticsmeetsGuidelinedoesNotMeetGuideline_FindsCountMatcher_hasAncestorMatching_hasAncestorOfType _IsOffstage _IsOnstage _IsInCard _IsNotInCard_IsSystemTextScaler_HasOneLineDescription_EqualsIgnoringHashCodes _isWhitespace_isVerticalLine_isAllTreeConnectorCharacters_HasGoodToStringDeepDistanceFunctionAnyDistanceFunction_kStandardDistanceFunctions _intDistance_doubleDistance_offsetDistance_maxComponentColorDistance_maxComponentHSVColorDistance_maxComponentHSLColorDistance _rectDistance_matrixDistance_matrix3Distance _sizeDistancewithin_IsWithinDistance_MoreOrLessEquals _IsMethodCallclipsWithBoundingRecthasNoImmediateClipclipsWithBoundingRRectclipsWithShapeBorderrendersOnPhysicalModelrendersOnPhysicalShape_FailWithDescriptionMatcher_MatchAnythingExceptClip_MatchRenderObject_RendersOnPhysicalModel_RendersOnPhysicalShape_ClipsWithBoundingRect_ClipsWithBoundingRRect_ClipsWithShapeBorder_CoversSameAreaAs_ColorSwatchMatcher _ColorMatcher_countDifferentPixels_MatchesReferenceImage_MatchesSemanticsData_MatchesAccessibilityGuideline#_DoesNotMatchAccessibilityGuideline�V LineSplitterCardMatrix3dartlibrary js_interopMatchesGoldenFile captureImage WidgetTester FinderBaseMatcherFinderintOffstagedouble ColorSwatch thresholdColor TextScaler MediaQueryTestPlatformDispatchertextScaleFactorTestValuewithScaleFactor FlutterError pumpWidgetTestWidgetsFlutterBinding takeExceptionAssertionErrorthrowsArgumentError ArgumentErrorthrowsA TypeMatcherisAprecisionErrorTolerancecloseToinInclusiveRangeRectOffsetepsilonMatrix4StringdescribeIdentity shortHashObjecthashCodeDiagnosticableTree toStringDeepIterable runtimeType MethodCall argumentsListMapdynamic sampleSize areaToComparePathcontainsImageversionRepaintBoundaryUri expectLatergoldenFileComparatorLocalFileComparatorGoldenFileComparator flutter_test AsyncMatcher forStringPath SemanticsNode CommonFinders semanticsSemanticsControllerfindAttributedString TextDirectionSizeSemanticsValidationResultnoneSemanticsInputTypeboolCustomSemanticsAction identifierlabelattributedLabelhintattributedHintvalueattributedValueincreasedValueattributedIncreasedValuedecreasedValueattributedDecreasedValuetooltip textDirectionrectsizeplatformViewId customActionsmaxValueLengthcurrentValueLengthvalidationResult inputTypehasCheckedState isCheckedisCheckStateMixed isSelectedhasSelectedStateisButtonisSlider isKeyboardKeyisLink isFocused isFocusable isTextField isReadOnlyhasEnabledState isEnabledisInMutuallyExclusiveGroupisHeader isObscured isMultiline namesRoute scopesRouteisHiddenisImage isLiveRegionhasToggledState isToggledhasImplicitScrollinghasExpandedState isExpandedhasRequiredState isRequired hasTapActionhasFocusActionhasLongPressActionhasScrollLeftActionhasScrollRightActionhasScrollUpActionhasScrollDownActionhasIncreaseActionhasDecreaseActionhasShowOnScreenAction%hasMoveCursorForwardByCharacterAction&hasMoveCursorBackwardByCharacterAction hasMoveCursorForwardByWordAction!hasMoveCursorBackwardByWordActionhasSetTextActionhasSetSelectionAction hasCopyAction hasCutActionhasPasteAction"hasDidGainAccessibilityFocusAction"hasDidLoseAccessibilityFocusActionhasDismissActionchildrenonLongPressHint onTapHintandroidTapTargetGuidelineiOSTapTargetGuidelinetextContrastGuidelinelabeledTapTargetGuidelineAccessibilityGuidelineisNotoverrideIteratorevaluateiteratormoveNext DescriptionaddfoundlengthWidgetElementsinglevisitAncestorElementsancestorwidgetTypeoffstageSystemTextScalertextScaleFactortoString isNotEmptytrim replaceAllRegExpsplitmapitemexpectedequalscurrentmatchesaddDescriptionOf containsKeyi codeUnitAtendsWith substringisEmpty trimRightlast prefixLineOneprefixOtherLinesfirst startsWith StringBufferwritelnwriteAllnumTNeverHSVColorHSLColorabsdistancemaxredgreenbluealphatoDouble saturationhue lightnesslefttoprightbottomdistanceFunctionfromdescribeMismatchmethodkeyskeyRenderClipRectRenderClipPathRenderClipRRectRenderClipOval borderRadius BorderRadiusShapeBorderClippershape ShapeBorderRenderPhysicalModelRenderPhysicalShape elevationBoxShapefailWithDescription RenderObject renderObjectclipper rectanglezerocircleRoundedRectangleBorder CircleBorderwidthheightRandomj nextDouble colorSpaceargb Uint8ListFutureinstancerunAsyncByteData toByteDataviewbufferdispose SemanticsFlagSemanticsActiontapfocus longPress scrollLeft scrollRightscrollUp scrollDownincreasedecrease showOnScreenmoveCursorForwardByCharactermoveCursorBackwardByCharacter setSelectioncopycutpastedidGainAccessibilityFocusdidLoseAccessibilityFocus customActiondismissmoveCursorForwardByWordmoveCursorBackwardByWordsetTextSemanticsHintOverridesindexentrieswhereMapEntryetoListcastchilddescribeStringAttributeSpellOutStringAttributerangeLocaleStringAttributelocale SemanticsDatagetSemanticsDatastring attributes actionEntryactionscustomSemanticsActionIds getActionidoverridingActionaction getIdentifiersort flagEntryflags visitChildrendnamejoin description EvaluationpassedreasonMatcher_FailWithDescriptionMatcher_MatchRenderObject AsyncMatcher<óÆëÏ.>X /h:ÊÜ€ï� LineSplitter€Ú dart:convert���math� dart:math�!�1�4ui�4dart:ui�<package:flutter/foundation.dart���–Card�gpackage:flutter/material.dart�špackage:flutter/rendering.dart�Äpackage:flutter/services.dart�ípackage:flutter/widgets.dart‚package:matcher/expect.dart‚<-package:matcher/src/expect/async_matcher.dart‚Ç‚ÓMatrix3‚—'package:vector_math/vector_math_64.dartƒ/ƒSMatchesGoldenFile captureImagedart.library.js_interop_matchers_web.dart‚Ù_matchers_io.dartƒWaccessibility.dartƒu binding.dartƒ�controller.dartƒ¨ finders.dartƒÀ goldens.dartƒó„ WidgetTesterƒØwidget_tester.dartÀØ‘À¨:‹”=€ˆ€§€©€Í€×€Ù�� �9�;�f�™�Ã�ì‚‚;‚–‚Ö‚Ø‚ôƒ+ƒVƒtƒŒƒ§ƒ¿ƒ×„„ „Y„^„r„w„„„²„»„À„τԅ!…m…dž*†e†g†¶†»†÷†ü‡‡‡"‡P‡Y‡^‡m‡r‡¹ˆˆ_ˆÂˆýˆÿ‰K‰P‰d‰i‰v‰ ‰©‰®‰½‰ÂŠ ŠUН‹‹I‹K‹œ‹¡‹Ý‹â‹ö‹ûŒŒ8ŒAŒFŒUŒZŒ¡Œî�H�«�å�çŽ0Ž5ŽIŽNŽ[Ž…ŽŽŽ“Ž¢Ž§Žî�;�’�õ�)�+�†�‹�Ë�Ð�ä�é�ö‘(‘1‘6‘E‘J‘‘‘Þ’*’�’È’Ê“““2“7“D“u“~“ƒ“’“—“Þ”+”x”Û•••o•t•´•¹•͕ҕߖ–!–&–5–:–�–Η—t—¹—»˜˜˜(˜-˜:˜k˜t˜y˜ˆ˜�˜Ô™!™n™ÈšššJšušzšÅšÜšášõšú››H›Q›V›e›j›�›¸›º›ýœœ$œ3œ8œ\œ…œ‡œÊœñœö�� �/�V�X�›�¹�¾�ì�ñžžž'žTžVžœžÀžÂŸŸ$Ÿ)Ÿ{ŸÀŸÅ  - ˆ ¼ ¿ Á¡¡¡n¡­¡ö¢!¢$¢&¢s¢¶¢»££[£¢£§£ò¤6¤;¤Š¤Ô¥4¥6¥„¥‰¥Ú¦$¦k¦¬¦®¦ô§§ §C§y§~§´§ó¨A¨Œ¨¯¨é©©8©t©²©´©ì©ñª,ª1ª|ªÍªÒªáªæ«9«Š«Ï¬ ¬¬H¬M¬Š¬�¬Ú­­3­8­G­L­™­ê®=®~®€®£®¨®ã®è®÷®ü¯I¯œ¯ã¯å° °°L°Q°`°e°¸°ý±J±L±ž±£±ð²²!²i²n²¥²ó³@³’³ä´/´<´P´U´d´i´³´Óµµ.µ~µº¶¶=¶@¶B¶ˆ¶�¶Á¶Æ¶Õ¶Ú··H·˜·Ñ¸)¸k¸n¸p¸¹¸¾¸ò¸÷¹¹ ¹?¹y¹µººYº\º^º§º¬ºàºåºôºù»-»g»¢¼¼H¼K¼M¼•¼š¼Î¼Ó¼â¼ç½½Q½¡½Ü¾8¾~¾�¾ƒ¾Ê¾î¾ó¿B¿f¿k¿³¿¸¿Ç¿ÌÀ@À@VÀ@¢À@ÏÀAÀAMÀA~ÀA‰ÀA¼ÀB:ÀB@ÀBkÀBnÀBpÀB¶ÀBÚÀBßÀC,ÀCoÀC™ÀCœÀCžÀCéÀCîÀD>ÀDŠÀD¦ÀD«ÀDúÀEIÀExÀEÜÀF8ÀF:ÀFSÀFiÀF�ÀF±ÀFÕÀFóÀFõÀGAÀG�ÀG•ÀGåÀH6ÀH‡ÀHÖÀHÛÀI'ÀI,ÀIxÀI§ÀI¬ÀIòÀJ>ÀJRÀJWÀJsÀJxÀJËÀKÀKAÀKFÀK“ÀKØÀKÝÀKòÀL"ÀL'ÀL4ÀLLÀLfÀLŒÀL”ÀL™ÀL±ÀL¿ÀLåÀLíÀLòÀM ÀMÀM8ÀMMÀMbÀMlÀMtÀMyÀM‘ÀM¯ÀMáÀMéÀMòÀNÀNÀNMÀNeÀNjÀN²ÀOÀORÀOŸÀOîÀPÀPÀPTÀP§ÀPóÀQÀQ ÀQÀQQÀQ^ÀQ»ÀR ÀR_ÀRdÀR®ÀRÎÀRÓÀSÀS ÀS$ÀSDÀSpÀSzÀSƒÀSŒÀS�ÀS¢ÀSõÀTBÀT•ÀT°ÀTµÀTÊÀU ÀUÀUgÀU‚ÀUÔÀUöÀVÀVÀVÀV&ÀV/ÀV@ÀVTÀVYÀVhÀVmÀV¹ÀWÀW/ÀW|ÀWÂÀXÀXEÀXƒÀXœÀXËÀY ÀYaÀYgÀYjÀYlÀY¶ÀYâÀYçÀZ7ÀZˆÀZ²ÀZ·ÀZýÀ[IÀ[]À[bÀ[vÀ[{À[ˆÀ[ÐÀ[ùÀ\$À\BÀ\ƒÀ\¿À\úÀ]5À]ZÀ]šÀ]ÆÀ]ËÀ^À^gÀ^µÀ^¾À^ÇÀ^ÌÀ^ÛÀ^àÀ_0À_nÀ_¤À_ÍÀ_ÐÀ_ÒÀ`À`À`lÀ`¸À`öÀ`ûÀaCÀa‘ÀaÑÀaÖÀb&ÀbsÀb•ÀbšÀb®Àb³ÀbÀÀcÀcCÀcQÀc«ÀcÄÀcÍÀcÖÀcÛÀcêÀcïÀd`Àd½ÀdÙÀdðÀeÀe(Àe9Àe^ÀepÀe–Àe±ÀeàÀeûÀf*Àf>Àf_ÀfnÀf}Àf“Àf©ÀfÁÀfÙÀfõÀgEÀgjÀgyÀgšÀgµÀgØÀgôÀhÀh0ÀhJÀhiÀh�ÀhœÀh¹ÀhÖÀhòÀiÀi.ÀiZÀitÀi�Ài­ÀiÉÀiæÀjÀjÀj7ÀjXÀjsÀj™Àj»Àj×ÀjùÀkÀk&ÀkDÀkdÀkˆÀk­ÀkÓÀköÀlÀl>ÀlaÀlˆÀl¿Àl÷Àm)Àm\Àm~Àm¥ÀmÄÀmâÀnÀn6ÀnjÀnŒÀn¯ÀnÅÀnáÀoÀo,Ào2ÀoSÀopÀoƒÀoªÀo»ÀoàÀoóÀpÀp?ÀpxÀp�ÀpÖÀpíÀqÀq!Àq2ÀqWÀqzÀqŸÀqÌÀqõÀrÀrÀrEÀr`Àr‹Àr¨ÀrÑÀrêÀsÀs&Às;ÀsVÀsuÀs”Às±ÀsØÀsóÀt0ÀtIÀtfÀt…Àt¢ÀtÁÀtÚÀtñÀuÀu9ÀuTÀu…Àu®ÀuËÀuôÀvÀv!ÀvBÀvgÀv”ÀvÃÀvôÀwÀwNÀwyÀw¤Àw×Àx*ÀxÀxÈÀyÀy<ÀyoÀy’Ày³ÀyØÀz%ÀzrÀz›ÀzÀÀzÙÀ{À{À{!À{$À{&À{nÀ{sÀ{¿À{ÏÀ{ÔÀ|À|jÀ|ªÀ|¯À|ÿÀ}LÀ}nÀ}sÀ}‡À}ŒÀ}™À}ÝÀ~À~+À~†À~ŸÀ~¨À~±À~¶À~ÅÀ~ÊÀ;À•À²ÀÉÀÛÀ€À€À€7À€IÀ€oÀ€ŠÀ€¹À€ÔÀ�À�À�8À�GÀ�VÀ�lÀ�‚À�šÀ�²À�ÎÀ‚À‚CÀ‚OÀ‚iÀ‚}À‚™À‚®À‚ÉÀ‚ÜÀ‚ïÀƒÀƒÀƒ,ÀƒBÀƒXÀƒmÀƒ‡Àƒ›ÀƒÀÀƒÓÀƒèÀƒþÀ„À„)À„<À„NÀ„eÀ„À„“À„²À„ÍÀ„âÀ„ýÀ…À… À…7À…PÀ…mÀ…‹À…ªÀ…ÆÀ…äÀ†À†À†<À†lÀ†�À†ÈÀ†ôÀ‡À‡/À‡GÀ‡^À‡wÀ‡¤À‡ÑÀ‡ìÀˆÀˆ%ÀˆAÀˆpÀˆŒÀˆ’Àˆ³ÀˆÐÀˆãÀ‰ À‰À‰@À‰SÀ‰zÀ‰ŸÀ‰ØÀ‰ýÀŠ6ÀŠMÀŠpÀŠ�ÀŠ’ÀŠ·ÀŠÚÀŠÿÀ‹,À‹UÀ‹pÀ‹~À‹¥À‹ÀÀ‹ëÀŒÀŒ1ÀŒJÀŒcÀŒ†ÀŒ›ÀŒ¶ÀŒÕÀŒôÀ�À�8À�SÀ��À�©À�ÆÀ�åÀŽÀŽ!ÀŽ:ÀŽQÀŽrÀŽ™ÀŽ´ÀŽåÀ�À�+À�TÀ�qÀ��À�¢À�ÇÀ�ôÀ�#À�TÀ�À�®À�ÙÀ‘À‘7À‘ŠÀ‘ßÀ’(À’sÀ’œÀ’ÏÀ’òÀ“À“8À“…À“ÒÀ“ûÀ” À”9À”`À”{À”�À”„À”†À”×À”éÀ”îÀ•:À•NÀ•SÀ•gÀ•lÀ•yÀ•½À•ýÀ– À–TÀ–mÀ–vÀ–À–„À–­À–²À—À—RÀ—ŸÀ—íÀ˜.À˜cÀ˜fÀ˜hÀ˜–À˜›À˜äÀ˜ùÀ™@À™zÀ™}À™À™«À™ÜÀ™ÞÀ™ñÀšÀšÀšÀšmÀš–ÀšÏÀšõÀ› À›MÀ›eÀ›šÀ›¯À›¸À›ÓÀ›êÀ›óÀ›úÀœÀœHÀœ]ÀœfÀœ�Àœ˜Àœ¡Àœ¨ÀœºÀœ¿ÀœÁÀœÎÀ�À�*À�AÀ�XÀ�›À�¤À�çÀ�îÀžÀžÀžXÀžaÀžxÀž»ÀžÄÀŸÀŸÀŸ&ÀŸ=ÀŸ�ÀŸŠÀŸÎÀŸÕÀ +À 0À 2À ?À `À sÀ ™À ÀÀ ÓÀ ÚÀ¡1À¡]À¡tÀ¡œÀ¡¿À¢À¢À¢vÀ¢}À¢’À¢«À£À£ À£bÀ£iÀ£‘À£ÉÀ£ÐÀ£úÀ¤.À¤3À¤6À¤8À¤ŒÀ¤ÂÀ¤ÞÀ¤ñÀ¤öÀ¥À¥IÀ¥pÀ¥†À¥›À¥¢À¥´À¥»À¥ÍÀ¥ÐÀ¥ÒÀ¦ À¦jÀ¦mÀ¦oÀ¦”À¦¬À¦®À¦»À§À§CÀ§dÀ§…À§ŽÀ§£À§¬À§±À§³À§ÀÀ¨À¨À¨À¨:À¨QÀ¨SÀ¨`À¨­À¨åÀ©À©À©À©8À©uÀ©£À©ÄÀ©èÀ©ÿÀªÀªÀª%Àª9Àª>Àª@ÀªMÀª�Àª Àª¢ÀªÅÀªÛÀªÝÀªêÀ«8À«aÀ«cÀ«pÀ«ÀÀ«ÃÀ«ÅÀ«ëÀ¬À¬À¬À¬aÀ¬‹À¬�À¬šÀ¬îÀ¬ñÀ¬óÀ­ À­`À­bÀ­�À­’À­ŸÀ­áÀ­ýÀ®4À®kÀ®¬À®ÊÀ®áÀ¯BÀ¯NÀ¯qÀ¯ÏÀ¯×À¯ÜÀ¯ÞÀ¯ëÀ°À°IÀ°¢À°¿À±8À±@À±EÀ±GÀ±›À±ÅÀ±ØÀ±ÝÀ±ßÀ±ìÀ² À² À²FÀ²mÀ²€À²‡À²ÍÀ²ÒÀ²ÕÀ²×À³À³*À³,À³9À³}À³°À³ÖÀ³þÀ´0À´\À´aÀ´cÀ´pÀ´ÍÀ´ÐÀ´ÒÀµÀµ*ÀµIÀµ‰Àµ‹Àµ­ÀµÌÀµÎÀ¶À¶>À¶sÀ¶uÀ¶§À¶êÀ¶ïÀ¶ñÀ·?À·[À·}À·�À·ØÀ·ßÀ¸À¸[À¸bÀ¸|À¸ÆÀ¹À¹6À¹>À¹CÀ¹EÀ¹RÀ¹–À¹îÀº(ÀºbÀºdÀº}ÀºÀº®ÀºÕÀºûÀ»IÀ»€À»ÁÀ»úÀ¼À¼À¼À¼4À¼`À¼„À¼‹À¼�À¼³À¼¸À¼ºÀ¼ÇÀ¼úÀ½^À½cÀ½eÀ½rÀ½“À½¦À½ÌÀ½óÀ¾À¾ À¾EÀ¾À¾µÀ¾ûÀ¿À¿KÀ¿‰À¿ËÀ¿ìÀÀ+ÀÀ4ÀÀ;ÀÀ\ÀÀaÀÀdÀÀfÀÀ¢ÀÀíÀÀïÀÁ?ÀÁDÀÁ•ÀÁåÀÂ7ÀÂCÀÂbÀ¦À©À«ÀÂôÀÂùÀÃ3ÀÃ{ÀîÀÃáÀÄ ÀÄ3ÀÄhÀÄ}ÀÄ„ÀĉÀÄ™ÀÄœÀÄžÀÄÌÀÄíÀÄïÀÅ3ÀÅ5ÀÅBÀņÀųÀÆ ÀÆ4ÀÆxÀƳÀÆúÀÇÀÇ@ÀÇGÀÇIÀÇwÀǦÀÇ­ÀǯÀÇèÀÈÀÈ9ÀÈ@ÀÈBÀÈsÀȧÀÈ®ÀȰÀÈÞÀÉÀÉÀÉNÀÉWÀÉYÀÉ€ÀÉ¿ÀÉÈÀÉÏÀÉÑÀÊÀÊIÀÊPÀÊRÀÊžÀÊêÀË)ÀËbÀËžÀËÑÀË÷ÀÌÀÌ~ÀÌ–ÀÌÉÀÍ ÀÍHÀÍŒÀ͘ÀÍÅÀÍÏÀÍÖÀÎ'ÀÎfÀίÀζÀθÀÎòÀÏ3ÀÏ…ÀÏŽÀÏ•ÀÏ—ÀÏÒÀÏðÀÐ(ÀÐVÀІÀÐ�ÀÐ�ÀгÀÐÔÀÑ:ÀÑDÀÑ~ÀÑ´ÀÑ»ÀѽÀÑåÀÒ8ÀÒMÀÒTÀÒfÀÒkÀÒmÀÒzÀÒ›ÀÒ®ÀÒÔÀÒûÀÓÀÓÀÓZÀÓ¹ÀÓÀÀÓáÀÓæÀÓèÀÓõÀÔ(ÀÔ_ÀÔdÀÔgÀÔiÀÔ˜ÀÔ�ÀÔÙÀÕ%ÀÕgÀÕlÀÕ€ÀÕªÀÕÄÀÖÀÖ ÀÖZÀÖ’ÀÖÉÀÖËÀ×À×$À×)À×rÀ×¾ÀØÀØ^ÀØpÀØuÀØÂÀÙÀÙGÀÙIÀÙªÀÙÐÀÙüÀÚ(ÀÚDÀÚZÀÚvÀÚŽÀÚ¦ÀÚªÀÚ¬ÀÚÞÀÛÀÛ]ÀÛ_ÀÛ–ÀÛæÀÜ ÀÜ\ÀÜxÀÜ{ÀÜ}ÀÜÌÀÝÀÝAÀÝ¥ÀÝêÀÞ(ÀÞ+ÀÞ-ÀÞ|ÀÞ±ÀÞñÀßÀß?ÀßgÀßmÀß²ÀßðÀßóÀßõÀàÀàqÀà°ÀàñÀáÀáÀáÀá7ÀáNÀásÀá®Àá³ÀáÄÀáÇÀáÉÀáúÀâÀâ5ÀâpÀâuÀâ†Àâ‰Àâ‹Àâ³ÀâÞÀâøÀâûÀâýÀãIÀãNÀã…ÀãŠÀãÛÀä'Àä3Àä8Àä}ÀäËÀäíÀå1ÀåƒÀå­ÀåüÀæMÀæRÀæaÀæfÀæ¸ÀæóÀç:Àç‚Àç¸ÀèÀènÀèpÀè“Àè­ÀèøÀéFÀéaÀéiÀénÀépÀé²ÀéµÀé·ÀéåÀê2Àê4ÀêcÀêuÀê‹Àê�ÀêšÀêÞÀê÷Àë ÀëÀë/ÀëCÀëJÀë…ÀëžÀëºÀì Àì[Àì�ÀìšÀì¡ÀìÉÀìêÀìïÀìñÀìþÀíYÀí[ÀíhÀí‰ÀížÀíÄÀíëÀíþÀîÀîaÀî‚Àî‡ÀîŠÀîŒÀî·ÀïÀïÀïÀï6Àï8ÀïEÀï‰Àï¤Àï¹ÀïÀÀïÜÀïðÀï÷Àð&Àð+Àð-Àð:Àð•Àð—Àð¤ÀðÅÀðØÀðþÀñ%Àñ8Àñ?Àñ’ÀñÔÀñÙÀñÜÀñÞÀòÀò8Àò:ÀòPÀòlÀònÀò{Àò½ÀòÝÀòòÀòùÀóÀó.Àó5ÀóiÀónÀópÀóœÀó¯ÀóÃÀóÊÀóàÀôÀôÀô.Àô^ÀôeÀôxÀô}ÀôÀô»ÀôÜÀôñÀôøÀõ"ÀõIÀõ`ÀõiÀõpÀõ‚Àõ‡Àõ‰ÀõÔÀõõÀö ÀöÀö:Àö|Àö“ÀöœÀö£ÀöµÀöºÀö¼ÀöÉÀöüÀ÷À÷7À÷XÀ÷{À÷¢À÷§À÷ªÀ÷¬À÷ùÀø:ÀøQÀø’Àø”ÀøäÀù)Àù@Àù€Àù‚ÀùÏÀúÀúTÀúœÀúÛÀúÞÀúàÀû-ÀûrÀû€Àû¾ÀûíÀûðÀûòÀü?Àü{Àü€Àü·Àý ÀýÀý�Àý˜Àý÷Àþ ÀþBÀþŽÀþ±ÀþþÀÿÀÿlÀÿ€ÀÿäÀGÀJÀLÀ™ÀæÀÀSÀnÀÁÀÀ À ÀKÀsÀuÀÉÀóÀÀ À ÀÀ;ÀNÀtÀ›À®ÀµÀûÀÀÀÀKÀpÀrÀÀÌÀÀ"À}À„ÀÇÀÉÀòÀÀ:À^ÀƒÀ¨À¿À ÀÀ'À=ÀDÀIÀKÀXÀ‹ÀÖÀÛÀÞÀàÀ3À^À}ÀÀÏÀ À !À .À {À ³À ÑÀ ,À 3À vÀ xÀ ¢À åÀ ìÀ îÀ À [À bÀ dÀ …À ˜À àÀ èÀ íÀ ðÀ òÀ XÀ «À ­À ÇÀ ìÀ À À À zÀ ³ÀÀ ÀÀ]À¾ÀÅÀÇÀ ÀgÀnÀpÀ‚À‡À‰À–ÀùÀ<À“ÀšÀôÀöÀ[ÀpÀwÀyÀšÀÂÀÀ(À/À1ÀRÀwÀ«ÀÀÀÇÀÉÀÀiÀpÀrÀ„À‰À‹À«ÀÑÀñÀÀÀdÀ¾ÀÅÀÀNÀ©À°ÀÂÀÇÀÉÀ#À^À¸À¿ÀÑÀÖÀØÀåÀÀMÀgÀ•ÀœÀ½ÀùÀÀÀTÀ[ÀtÀyÀ|À~ÀäÀ-À/ÀKÀgÀiÀvÀÙÀÀsÀzÀÔÀÖÀþÀQÀXÀZÀŸÀúÀÀÀÀÀÀ)ÀŒÀŸÀ¤À¦À³ÀæÀ-ÀKÀ�ÀˆÀ¡À¦À©À«ÀÀ)À+À8À–À¿À À'À9À>À@ÀMÀ«ÀîÀ EÀ LÀ ¦À ëÀ!>À!EÀ!žÀ!ÓÀ".À"5À"GÀ"LÀ"NÀ"[À"ÁÀ"ÄÀ"ÆÀ##À#cÀ#eÀ#‰À#‹À#˜À#÷À$ À$�À$ˆÀ$ŠÀ$ÀÀ%!À%(À%*À%<À%AÀ%CÀ%PÀ%®À%ñÀ&HÀ&OÀ&©À&îÀ'AÀ'HÀ'¡À'ÑÀ(,À(3À(EÀ(JÀ(LÀ(YÀ(�À(ïÀ(òÀ(ôÀ)OÀ)†À)ˆÀ)¤À)¦À)³À*À*TÀ*«À*²À+ À+4À+‡À+ŽÀ+ À+¥À+§À+´À,À,&À,+À,-À,:À,›À,žÀ, À,ËÀ-(À-fÀ-¤À-êÀ.À. À.À.+À.HÀ.aÀ.…À.§À.ÃÀ.ÅÀ.ÒÀ/!À/PÀ/�À/¨À/ÛÀ0À0À0À0[À0tÀ0À0�À0§À0ÜÀ1À1À1À1cÀ1|À1‡À1�À1—À1©À1®À1°À2 À2RÀ2fÀ2mÀ2oÀ2—À2ºÀ2ÏÀ3 À3*À38À3[À3pÀ3ÁÀ3ËÀ3ÒÀ3×À3ÙÀ4-À4WÀ4jÀ4oÀ4qÀ4~À4ŸÀ4²À4ØÀ4ÿÀ5À5À5_À5dÀ5fÀ5sÀ5§À5îÀ5ñÀ5óÀ6#À6ZÀ6\À6}À6™À6›À6¨À6ÛÀ79À7>À7@À7MÀ7�À7¯À7øÀ8)À8@À8IÀ8KÀ8vÀ8ÇÀ8ÿÀ9À9#À9,À9.À9eÀ9sÀ9ˆÀ9�À9”À9—À9™À9ÀÀ9ñÀ9óÀ:À:*À:,À:9À:lÀ:ÃÀ:ÈÀ:ÊÀ:×À;À;9À;kÀ; À;ÕÀ< À<=ÀÀ>6À>8À>ZÀ>\À>iÀ>�À>ÀÀ>ÐÀ?;À?`À?{À?˜À?¼À?ïÀ@ À@À@GÀ@„À@£À@èÀAÀA=ÀAFÀAzÀA–ÀA�ÀAŸÀAòÀB#ÀBTÀBaÀBœÀBºÀBåÀBðÀBòÀC?ÀCfÀC§ÀC²ÀC´ÀDÀDpÀD{ÀD}ÀD¾ÀDçÀEÀE%ÀEŠÀE�ÀEºÀEÖÀEáÀEêÀEóÀEøÀEúÀFÀF:ÀF�ÀF¢ÀF¥ÀF§ÀFÖÀFñÀGÀG*ÀGNÀGgÀGŠÀG¤ÀGÈÀGëÀHÀH;ÀHhÀH„ÀH¦ÀH¿ÀHØÀHûÀIÀIEÀIjÀIˆÀI–ÀI»ÀIÚÀJÀJ!ÀJGÀJeÀJƒÀJ¦ÀJÂÀJáÀKÀK#ÀKCÀKhÀK‡ÀK·ÀKÕÀKõÀLÀL6ÀLWÀLuÀL’ÀL´ÀLÙÀLøÀM"ÀMHÀMhÀMŽÀM®ÀM¾ÀMàÀNÀN,ÀNUÀNÀN¦ÀNÏÀNöÀOÀOHÀOƒÀO¿ÀOõÀP,ÀPRÀP}ÀP ÀPÂÀPæÀQÀQVÀQ|ÀQ¡ÀQÂÀQéÀR ÀR(ÀROÀR¦ÀRëÀSHÀS�ÀSêÀT,ÀTnÀT¿ÀTûÀUFÀUŽÀUÓÀVÀVuÀVºÀVìÀW>ÀW€ÀWÈÀXÀX[ÀX¦ÀXèÀY'ÀYuÀYÌÀZÀZwÀZ¹À[À[[À[µÀ[ýÀ\À\3À\zÀ\ÇÀ] À]|À]ÛÀ^1À^�À^ãÀ_9À_›À_ØÀ`9À`wÀ`ÚÀa<Àa†ÀaÍÀbÀbTÀb¯ÀbéÀcDÀc¡ÀcôÀd,ÀdƒÀd¼ÀeÀehÀesÀe‹ÀeÄÀeÛÀf=Àf?Àf\ÀftÀf Àf·ÀfâÀfúÀg&ÀgGÀg|Àg�ÀgÒÀgìÀhÀhQÀhxÀh�Àh¢ÀhÀÀhÞÀiÀi+ÀiMÀi‚Ài„Ài¿ÀiÆÀj ÀjÀjÖÀkÀk,Àk.Àk;ÀkÀkÍÀkçÀlÀlÀlAÀl„Àl‹Àl¥ÀlÔÀlÛÀlÿÀmBÀmIÀmbÀm�Àm–Àm¹ÀmúÀnÀn$ÀnfÀnmÀnšÀnïÀnöÀoÀo[ÀobÀo�ÀoäÀoëÀpÀp:ÀpAÀp_Àp–Àp�Àp¼ÀpñÀq ÀqUÀqšÀq´ÀqìÀrÀrQÀr–Àr°Àr²ÀrÛÀs0Às9ÀseÀsÀÀsÉÀsÐÀsíÀtÀt7Àt~ÀtÁÀtÛÀuÀu(ÀupÀu³ÀuÍÀuÏÀuöÀvGÀvPÀvzÀvÑÀvÚÀváÀwÀwCÀwJÀwcÀw�Àw—Àw°ÀwÝÀwäÀxÀxHÀxOÀxrÀx³ÀxºÀxáÀy*Ày1ÀySÀy“ÀyšÀy¼ÀyúÀzÀz@Àz†Àz�ÀzªÀzÙÀ{:À{UÀ{–À{òÀ|À|AÀ|LÀ|fÀ|oÀ|vÀ|�À|”À|–À|òÀ}À}1À}8À}fÀ}˜À}óÀ~ À~À~CÀ~vÀ~ªÀ~èÀ+ÀBÀKÀRÀdÀiÀkÀxÀºÀÓÀöÀ€ À€2À€dÀ€nÀ€uÀ€wÀ€§À€ÚÀ�+À�NÀ�VÀ�XÀ�‰À�ÔÀ�ÛÀ�ÿÀ‚CÀ‚iÀ‚•À‚ÅÀ‚ØÀƒ7Àƒ>ÀƒlÀƒµÀƒ¼ÀƒßÀ„!À„†À„ãÀ„êÀ…À…fÀ…mÀ…‘À…ÕÀ…ûÀ†'À†WÀ†jÀ†ÉÀ†ÐÀ‡À‡yÀ‡€À‡­ÀˆÀˆ)Àˆ^Àˆ—ÀˆªÀˆÍÀˆâÀ‰-À‰7À‰>À‰ŠÀ‰çÀ‰îÀŠÀŠqÀŠ—ÀŠÌÀ‹À‹À‹;À‹PÀ‹›À‹¥À‹¬À‹ãÀŒ2ÀŒ9ÀŒ‚ÀŒÖÀŒÝÀ� À�TÀ�[À�ŽÀ�ÜÀ�ãÀŽ/ÀŽŒÀŽ“ÀŽëÀ�PÀ�WÀ�£À�À�À�=À�žÀ�¥À�âÀ‘5À‘<À‘[À‘§À‘ðÀ’GÀ’ƒÀ’»À“À“>À“_À“ˆÀ“œÀ“ÈÀ“ÕÀ“àÀ“éÀ“ëÀ”3À”XÀ”oÀ”óÀ”ÿÀ•À•À•JÀ•‹À•ÛÀ–À–/À–UÀ––À–×À—À—*À—]À—‹À—µÀ—ÃÀ—ÏÀ—ØÀ˜ À˜1À˜dÀ˜˜À˜ÈÀ˜ÖÀ˜âÀ˜ëÀ™6À™–À™ŸÀ™ñÀš-ÀšfÀšoÀšqÀš¡ÀšÑÀ›À›VÀ›¸À›ÃÀ›ÌÀ›ÓÀ›ðÀœ6ÀœyÀœÊÀ�À�4À�}À�©À�ÈÀ�íÀžÀž)Àž6ÀžAÀžJÀžLÀž�ÀžµÀžÌÀŸHÀŸTÀŸ]ÀŸdÀŸ�ÀŸžÀŸ°ÀŸõÀ BÀ SÀ oÀ zÀ �À ™À žÀ  À ôÀ¡À¡1À¡6À¡8À¡EÀ¡fÀ¡yÀ¡ŸÀ¡ÆÀ¡ÙÀ¡àÀ¢&À¢+À¢-À¢uÀ¢‚À¢µÀ£ À£À£6À£›À£©À¤ À¤À¤À¤À¤À¤XÀ¤‹À¤�À¤¸À¤ºÀ¤ÇÀ¤úÀ¥.À¥3À¥5À¥BÀ¥‡À¥ÈÀ¥âÀ¥öÀ¥ýÀ¦À¦À¦ À¦"À¦dÀ¦œÀ¦žÀ¦ÉÀ¦ËÀ¦ØÀ§ À§MÀ§RÀ§TÀ§aÀ§¦À§çÀ¨À¨À¨ À¨2À¨7À¨:"/// @docImport '_goldens_io.dart';€Ù€ï����� �5�4�;�f���–�™�Ã�ì‚‚;‚–‚ǂӂ؃/ƒSƒVƒtƒŒƒ§ƒ¿ƒ×ƒó„À™еÀ™…À™…À™­-À™³À™³À™ÅÀ™ÆÀ™ÌÀ™ËÀ™ÐÀ™ÖÀ™ÕÀ™àÀ™ëÀ™ëÀ™óÀ™þÀ™þÀš‚µÀšÀšÀš"$ÀšAÀš@ÀšH Àš_Àš^ÀšÀš ÀœÃƒkÀœÜÀœÜÀœåÀœòÀœñÀœÃÀœÄÀ 4ƒýÀ MÀ MÀ d À mÀ lÀ wÀ „À ƒÀ � À ´À ³À Ä À ÊÀ ÉÀ 4À 5À¦o�£À¦uÀ¦uÀ¦–À¦œÀ¦œÀ¦§À¦°€ÿÀ¦ÂÀ¦ÂÀ¦ÊÀ¦ÜÀ¦ÛÀ¦ã À¦úÀ¦ùÀ¦°À¦±À§µZÀ§ÎÀ§ÎÀ§×À§äÀ§ãÀ§µÀ§¶À¨‚ˆÀ¨À¨À¨<À¨BÀ¨BÀ¨LÀ¨U�çÀ¨gÀ¨gÀ¨oÀ¨�À¨€À¨ˆ À¨ŸÀ¨žÀ¨UÀ¨VÀªBYÀª[Àª[ÀªdÀªqÀªpÀªBÀªCÀª¢�Àª¨Àª¨ÀªÇÀªÍÀªÍÀªÖÀªß€€ÀªñÀªñÀªùÀ« À« À« À«)À«(ÀªßÀªàÀ«eYÀ«~À«~À«‡À«”À«“À«eÀ«fÀ«Å�*À«ËÀ«ËÀ«íÀ«óÀ«óÀ«ÿÀ¬€�À¬À¬À¬"À¬4À¬3À¬; À¬RÀ¬QÀ¬À¬ À¬�]À¬¨À¬¨À¬±À¬¾À¬½À¬�À¬�À¬ó…àÀ¬ùÀ¬ùÀ­"<À­(À­(À­;À­< À­BÀ­AÀ­d)À­rÀ­rÀ­”‚FÀ­¦À­¦À­® À­·À­¶À­¼ À­ÓÀ­ÒÀ­”À­•À¯à�cÀ¯ùÀ¯ùÀ°À°À°À¯àÀ¯áÀ±I€’À±NÀ±NÀ±b À±yÀ±xÀ±„À±ŒÀ±‹À±á€ïÀ±úÀ±úÀ² À²À²À²$À²1À²0À²J À²aÀ²`À²q À²wÀ²vÀ±áÀ±âÀ²×�÷À²ÝÀ²ÝÀ³ À³À³À³%À³.�1À³@À³@À³HÀ³QÀ³PÀ³X À³oÀ³nÀ³.À³/À´efÀ´~À´~À´‡À´”À´“À´eÀ´fÀ´Ò‹�À´ØÀ´ØÀµ€�ÀµÀµÀµÀµÀµ'Àµ&Àµ7Àµ0Àµ9ÀµCÀµEÀµDÀµ\ÀµOÀµjÀµ€Àµ`Àµ^ÀµcÀµlÀµ|Àµ~Àµ}Àµ‚Àµ�Àµ¤Àµ¤Àµ¯Àµ½Àµ½ÀµÐ2ÀµäÀµäÀµúÀ¶À¶À¶4À¶À¶À¶3À¶9À¶:À¶@0À¶TÀ¶TÀ¶hÀ¶nÀ¶oÀ¶wvÀ¶…À¶…À¶– À¶žÀ¶�À¶ó‚NÀ· À· À· À·À·À·%À·+À·*À·5À¹GƒoÀ¹YÀ¹YÀ¹aÀ¹jÀ¹iÀ¹q À¹ˆÀ¹‡À¹GÀ¹HÀ¼¼€¥À¼ÕÀ¼ÕÀ¼ÞÀ¼ëÀ¼êÀ¼¼À¼½À½g‚øÀ½€À½€À½— À½ À½ŸÀ½ªÀ½·À½¶À½Ð À½çÀ½æÀ½÷ À½ýÀ½üÀ½gÀ½hÀÄž�ÇÀĤÀĤÀÄÎÀÄÔÀÄÔÀÄèÀÄñ?ÀÅÀÅÀÅ(ÀÅ.ÀÅ/ÀÅ7�2ÀÅIÀÅIÀÅQÀÅZÀÅYÀÅa ÀÅxÀÅwÀÅ7ÀÅ8ÀÒo�uÀÒˆÀÒˆÀÒŸ ÀÒ¨ÀÒ§ÀÒ²ÀÒ¿ÀÒ¾ÀÒØ ÀÒïÀÒîÀÒÿ ÀÓÀÓÀÒoÀÒpÀÓêxÀÔÀÔÀÔ ÀÔÀÔÀÓêÀÓëÀé·„ÑÀé½Àé½ÀéÏÀéÏÀéÏÀéçIÀéíÀéíÀéþÀéÿÀêÀêÀê ÀêÀêÀê" Àê(Àê'Àê6*ÀêPÀêPÀêe ÀêmÀêmÀêwÀê�Àê�Àê�‚^Àê¡Àê¡Àê©Àê²Àê±Àê¹ ÀêÐÀêÏÀê�Àê�ÀìódÀí Àí ÀíÀí"Àí!ÀìóÀìôÀí]�(ÀívÀívÀí�Àí–Àí•Àí¢Àí¯Àí®ÀíÈ ÀíßÀíÞÀíï ÀíõÀíôÀí]Àí^ÀNÀî’Àî’Àî¹IÀî¿Àî¿ÀîÐÀîÑ Àî×ÀîÖÀîÝ ÀîãÀîâÀîíÀîóÀïÀîüÀîôÀîÿÀïÀïÀïÀïÀï,Àï,Àï:€ïÀïLÀïLÀïTÀï]Àï\Àïd Àï{ÀïzÀï:Àï;Àð/dÀðHÀðHÀðQÀð^Àð]Àð/Àð0Àð™�>Àð²Àð²ÀðÉ ÀðÒÀðÑÀðÜÀðéÀðèÀñ ÀñÀñÀñ) Àñ/Àñ.Àð™ÀðšÀñÞ…ÊÀñäÀñäÀò/Àò Àò ÀòÀò Àò!Àò Àò&Àò,Àò+Àò<ÀòIÀòIÀòRÀò`Àò`Àòp€üÀò‚Àò‚ÀòŠ Àò“Àò’Àò˜ Àò¯Àò®ÀòpÀòqÀór� ÀówÀówÀóƒ ÀóŒÀó‹ÀóŽ Àó—Àó–Àô��Àô†Àô†Àô–Àô¥Àô¤Àô§Àô¶ÀôµÀõ‹�-Àõ�Àõ�ÀõŸÀõ¶ÀõµÀõ¸ÀõÏÀõÎÀö¾€çÀö×Àö×ÀöàÀöíÀöìÀö¾Àö¿À �ôÀÀÀM$ÀSÀSÀnÀw€’À|À|À� À§À¦À²ÀºÀ¹À€ïÀ(À(À? ÀHÀGÀRÀ_À^Àx À�ÀŽÀŸ À¥À¤ÀÀÀƒ×À À ÀM!ÀSÀSÀkÀt‚ÓÀ†À†ÀŽÀ ÀŸÀ§ À¾À½ÀtÀuÀM€ŒÀfÀfÀoÀ|À{ÀMÀNÀà„ÀïÀïÀÀÀÀÀÀÀ`ÀfÀfÀxÀ�LÀ†À†À› À²À±À½ÀÀÀ¿ÀÑLÀÖÀÖÀë À À À À À À #‚ÈÀ 5À 5À =À OÀ NÀ V À mÀ lÀ #À $À òŒˆÀ øÀ øÀ ZOÀ `À `À wÀ y À À ~À …À ‹À ŠÀ ˜À žÀ �À ¯À ¿À ¿À É À ÝÀ ÝÀ îÀ üÀ üÀ ‚yÀ À À 3 À JÀ IÀ U À jÀ iÀ À À‹ƒüÀ�À�À² ÀÉÀÈÀÔ ÀéÀèÀ‹ÀŒÀ�‚8À’À’À¯ÀÃÀÂÀÕÀãÀâÀõ À À ÀË� ÀÐÀÐÀÝÀñÀðÀþ ÀÀÀÚ��ÀóÀóÀüÀ ÀÀÚÀÛÀ~…)À„À„ÀæEÀìÀìÀÀÀÀÀÀ ÀÀ1ÀCÀCÀMÀ[À[Àk‚­À}À}À’ À©À¨À´ ÀÉÀÈÀkÀlÀ€„À0À0ÀE À\À[Àg À|À{ÀÀÀ¨€üÀÁÀÁÀÊÀ×ÀÖÀ¨À©À«…À±À±ÀÀÀÀ$À-�À?À?ÀT ÀkÀjÀvÀ†À…À-À.ÀBƒÀTÀTÀi À€ÀÀ‹À›ÀšÀBÀCÀ"PoÀ"iÀ"iÀ"rÀ"À"~À"PÀ"QÀ"Ɔ*À"ÌÀ"ÌÀ#%<À#+À#+À#BÀ#DÀ#SÀ#RÀ#gÀ#zÀ#zÀ#��²À#ŸÀ#ŸÀ#´ À#ËÀ#ÊÀ#ÖÀ#çÀ#æÀ#�À#ŽÀ%EƒÀ%WÀ%WÀ%l À%ƒÀ%‚À%ŽÀ%žÀ%�À%EÀ%FÀ(N€ŸÀ(gÀ(gÀ(pÀ(}À(|À(NÀ(OÀ(ôƒ¨À(úÀ(úÀ)Q3À)WÀ)WÀ)lÀ)nÀ)}À)|À)ŠÀ)œÀ)œÀ)¨�ûÀ)ºÀ)ºÀ)Ï À)æÀ)åÀ)ñÀ*À*À)¨À)©À+©€€À+»À+»À+Ð À+çÀ+æÀ+òÀ,À,À+©À+ªÀ,/jÀ,HÀ,HÀ,QÀ,^À,]À,/À,0À, ‰OÀ,¦À,¦À,Í�>À,ÍÀ,ÍÀ,ÞÀ,ßÀ,åÀ,äÀ,óÀ-À-À-À-À-À-"À-AÀ-.À-WÀ-CÀ-PÀ-QÀ-YÀ-}À-lÀ-”À-À-ŒÀ-�À-–À.À.À.À.-À.8À.8À.JÀ.TÀ.TÀ.cÀ.pÀ.pÀ.‡À.”À.”À.©À.ºÀ.ºÀ.Ç‚åÀ.ÙÀ.ÙÀ.áÀ.ñÀ.ðÀ.ü À/À/À.ÇÀ.ÈÀ1²‚#À1·À1·À1Ä À1ÛÀ1ÚÀ1æÀ1ìÀ1ëÀ1÷ À1ÿÀ1þÀ3Û€’À3àÀ3àÀ3ô À4 À4 À4À4À4À4s€ïÀ4ŒÀ4ŒÀ4£ À4¬À4«À4¶À4ÃÀ4ÂÀ4Ü À4óÀ4òÀ5 À5 À5À4sÀ4tÀ5h€„À5�À5�À5ŠÀ5—À5–À5hÀ5iÀ5óƒ¢À5ùÀ5ùÀ6 À6 À6 À6%3À6%À6%À68À69 À6?À6>À6GÀ6MÀ6LÀ6^À6sÀ6sÀ6À6ŒÀ6ŒÀ6�€ŸÀ6¶À6¶À6¿À6ÌÀ6ËÀ6�À6žÀ7B‚PÀ7TÀ7TÀ7\ À7eÀ7dÀ7j À7�À7€À7BÀ7CÀ9™‚ªÀ9ŸÀ9ŸÀ9Â-À9ÂÀ9ÂÀ9ÏÀ9Ð À9ÖÀ9ÕÀ9ÞÀ9äÀ9ãÀ9õÀ:À:À:À:À:À:.€˜À:GÀ:GÀ:PÀ:]À:\À:.À:/À:Ì�tÀ:ÞÀ:ÞÀ:æ À:ïÀ:îÀ:ô À; À; À:ÌÀ:ÍÀ=ˈØÀ=ÑÀ=ÑÀ>2À>À>À>À>À>%À>$À>:À>IÀ>IÀ>^‡˜À>{À>{À>† À>�À>ŽÀ>^À>_ÀEü€¤ÀFÀFÀFÀF+ÀF*ÀEüÀEýÀF§À]pÀF­ÀF­ÀFØŸcÀFØÀFØÀFíMÀFõÀGÀGÀGÀG#ÀG"ÀG.ÀG=ÀG<ÀGRÀGaÀG`ÀGkÀGzÀGyÀGŽÀG�ÀGœÀG¨ÀG·ÀG¶ÀGÌÀGÛÀGÚÀGï&ÀGþÀGýÀHÀH+ÀH*ÀH?&ÀHNÀHMÀHlÀH{ÀHzÀHˆÀH—ÀH–ÀHªÀH¹ÀH¸ÀHÃÀHÒÀHÑÀHÜÀHëÀHêÀHÿÀIÀI ÀI" ÀI1ÀI0ÀIIÀIXÀIWÀInÀI}ÀI|ÀIšÀIªÀI©ÀI¿ÀIÏÀIÎÀIÞ ÀIîÀIíÀJÀJÀJÀJ%ÀJ5ÀJ4ÀJKÀJ[ÀJZÀJiÀJyÀJxÀJ‡ÀJ—ÀJ–ÀJªÀJºÀJ¹ÀJÆÀJÖÀJÕÀJåÀJõÀJôÀKÀKÀKÀK'ÀK7ÀK6ÀKGÀKWÀKVÀKlÀK|ÀK{ÀK‹)ÀK›ÀKšÀK»ÀKËÀKÊÀKÙÀKéÀKèÀKùÀL ÀLÀLÀL*ÀL)ÀL:ÀLJÀLIÀL[ÀLkÀLjÀLyÀL‰ÀLˆÀL–ÀL¦ÀL¥ÀL¸ÀLÈÀLÇÀLÝÀLíÀLìÀLü#ÀM ÀM ÀM&ÀM6ÀM5ÀMLÀM\ÀM[ÀMlÀM|ÀM{ÀM’ÀM¢ÀM¡ÀMÂÀMÒÀMÑÀMäÀMôÀMóÀN!ÀNÀNÀN0"ÀN@ÀN?ÀNY#ÀNiÀNhÀNƒ ÀN“ÀN’ÀNª"ÀNºÀN¹ÀNÓ ÀNãÀNâÀNú ÀO ÀO ÀO!$ÀO1ÀO0ÀOL4ÀO\ÀO[ÀO‡5ÀO—ÀO–ÀOÃ/ÀOÓÀOÒÀOù0ÀP ÀPÀP0ÀP@ÀP?ÀPV$ÀPfÀPeÀP�ÀP‘ÀP�ÀP¤ÀP´ÀP³ÀPÆÀPÖÀPÕÀPê1ÀPúÀPùÀQ"1ÀQ2ÀQ1ÀQZÀQjÀQiÀQ¥ÀQ·ÀQ¶ÀQÆ ÀQØÀQ×ÀQíÀQüÀQûÀRÀRÀR‚„ÀR5ÀR/ÀRLÀ\ÀR7ÀRKÀR8ÀRGÀRXÀR[ÀRsÀRlÀR\ÀRoÀR’ÀRuÀR‚ÀRƒÀR”ÀR¯ÀR²ÀRÄÀR½ÀR³ÀRÀÀRÝÀRÆÀRÓÀRÔÀRßÀRôÀR÷ÀSÀS ÀRøÀS ÀS2ÀSÀS ÀS!ÀS4ÀSQÀSTÀSgÀS`ÀSUÀScÀS�ÀSiÀSvÀSwÀSƒÀS™ÀSœÀSµÀS®ÀS�ÀS±ÀSÕÀS·ÀSÄÀSÅÀS×ÀSóÀSöÀTÀTÀS÷ÀTÀTÀT ÀTÀTÀT!ÀT5ÀT8ÀTIÀTBÀT9ÀTEÀTaÀTKÀTXÀTYÀTcÀTwÀTzÀT�ÀT‰ÀT{ÀTŒÀT­ÀT’ÀTŸÀT ÀT¯ÀTÈÀTËÀTÚÀTÓÀTÌÀTÖÀTðÀTÜÀTéÀTêÀTòÀUÀUÀUÀUÀUÀUÀU6ÀUÀU*ÀU+ÀU8ÀUOÀURÀUeÀU^ÀUSÀUaÀUÀUgÀUtÀUuÀU�ÀU—ÀUšÀU¬ÀU¥ÀU›ÀU¨ÀUÅÀU®ÀU»ÀU¼ÀUÇÀUÜÀUßÀUóÀUìÀUàÀUïÀVÀUõÀVÀVÀVÀV'ÀV*ÀVBÀV;ÀV+ÀV>ÀVaÀVDÀVQÀVRÀVcÀV~ÀV�ÀV“ÀVŒÀV‚ÀV�ÀV¬ÀV•ÀV¢ÀV£ÀV®ÀVÃÀVÆÀVéÀVâÀVÇÀVåÀWÀV÷ÀWÀWÀW!ÀWGÀWJÀW[ÀWTÀWKÀWWÀWsÀW]ÀWjÀWkÀWuÀW‰ÀWŒÀWŸÀW˜ÀW�ÀW›ÀW¹ÀW¡ÀW®ÀW¯ÀW»ÀWÑÀWÔÀWèÀWáÀWÕÀWäÀXÀWêÀW÷ÀWøÀXÀXÀXÀX2ÀX+ÀX ÀX.ÀXLÀX4ÀXAÀXBÀXNÀXdÀXgÀX{ÀXtÀXhÀXwÀX–ÀX}ÀXŠÀX‹ÀX˜ÀX¯ÀX²ÀXÃÀX¼ÀX³ÀX¿ÀXÛÀXÅÀXÒÀXÓÀXÝÀXñÀXôÀYÀXýÀXõÀYÀYÀYÀYÀYÀYÀY0ÀY3ÀYHÀYAÀY4ÀYDÀYdÀYJÀYWÀYXÀYfÀY~ÀY�ÀY™ÀY’ÀY‚ÀY•ÀY¸ÀY›ÀY¨ÀY©ÀYºÀYÕÀYØÀYêÀYãÀYÙÀYæÀZÀYìÀYùÀYúÀZÀZÀZÀZ:ÀZ3ÀZÀZ6ÀZ^ÀZ<ÀZIÀZJÀZ`ÀZ€ÀZƒÀZ”ÀZ�ÀZ„ÀZ�ÀZ¬ÀZ–ÀZ£ÀZ¤ÀZ®ÀZÂÀZÅÀZÞÀZ×ÀZÆÀZÚÀZþÀZàÀZíÀZîÀ[À[À[À[2À[+À[ À[.À[LÀ[4À[AÀ[BÀ[NÀ[dÀ[gÀ[€À[yÀ[hÀ[|À[ À[‚À[�À[�À[¢À[¾À[ÁÀ[ÔÀ[ÍÀ[ÂÀ[ÐÀ[îÀ[ÖÀ[ãÀ[äÀ[ðÀ\À\À\0ÀeoÀ\À\/À\À\+À\<À\?À\TÀ\MÀ\@À\PÀ\iÀ\VÀ\eÀ\fÀ\kÀ\ƒÀ\†À\�À\–À\‡À\™À\´À\ŸÀ\®À\¯À\¶À\ÐÀ\ÓÀ\îÀ\çÀ\ÔÀ\êÀ] À\ðÀ\ÿÀ]À] À])À],À]HÀ]AÀ]-À]DÀ]dÀ]JÀ]YÀ]ZÀ]fÀ]…À]ˆÀ]¥À]žÀ]‰À]¡À]ÂÀ]§À]¶À]·À]ÄÀ]äÀ]çÀ^À]úÀ]èÀ]ýÀ^À^À^À^À^À^:À^=À^YÀ^RÀ^>À^UÀ^uÀ^[À^jÀ^kÀ^wÀ^–À^™À^³À^¬À^šÀ^¯À^ÍÀ^µÀ^ÄÀ^ÅÀ^ÏÀ^ìÀ^ïÀ_ À_À^ðÀ_À_#À_ À_À_À_%À_BÀ_EÀ_cÀ_\À_FÀ__À_�À_eÀ_tÀ_uÀ_ƒÀ_¤À_§À_ÕÀ_ÎÀ_¨À_ÑÀ`À_ãÀ_òÀ_óÀ`À`BÀ`EÀ`tÀ`mÀ`FÀ`pÀ`¯À`‚À`‘À`’À`±À`ãÀ`æÀaÀ`ýÀ`çÀaÀa"ÀaÀaÀaÀa$ÀaEÀaHÀa^ÀaWÀaIÀaZÀatÀa`ÀaoÀapÀavÀa�Àa’Àa§Àa Àa“Àa£Àa¼Àa©Àa¸Àa¹Àa¾ÀaÖÀaÙÀaðÀaéÀaÚÀaìÀbÀaòÀbÀbÀb Àb#Àb&ÀbQÀbJÀb'ÀbMÀbˆÀb_ÀbnÀboÀbŠÀb¸Àb»ÀbæÀbßÀb¼ÀbâÀcÀbôÀcÀcÀcÀcMÀcPÀcfÀc_ÀcQÀcbÀc„ÀchÀcwÀcxÀc†Àc“Àc”ÀcªÀc­ÀcÆÀc¿Àc®ÀcÂÀcßÀcÈÀc×ÀcØÀcáÀcýÀdÀd)Àd"ÀdÀd%Àd^Àd7ÀdFÀdGÀd`ÀdŒÀd�Àd¹Àd²Àd�ÀdµÀdïÀdÇÀdÖÀd×ÀdñÀeÀe!Àe:Àe3Àe"Àe6ÀeSÀe<ÀeKÀeLÀeUÀeˆÀezÀeÓÀeêÀe¨Àe Àe–Àe£Àe»Àe«Àe¾ÀeÕÀeìÀfÀf9Àf ÀfÀfÀf(ÀfÀf*ÀfAÀfOÀfOÀf^ÀflÀflÀfv'ÀfŽÀfŽÀf¢Àf°Àf°Àf¹&ÀfÑÀfÑÀfäÀfòÀfòÀfü'ÀgÀgÀg(Àg6Àg6ÀgI0ÀgaÀgaÀg~ÀgŒÀgŒÀgŸ0Àg·Àg·ÀgÔÀgâÀgâÀgî+Àh Àh Àh0ÀhAÀhAÀhS"ÀhhÀhhÀhzÀh†Àh†Àh�Àh›Àh›Àh¤Àh¯Àh¯ÀhÂÀhÍÀhÍÀhàÀhëÀhëÀi&ÀiÀiÀi-ÀiBÀiBÀiO0ÀioÀioÀi†�zÀjùÀjù�B/// There are three possible states for these two maps: /// /// 1. If the flag/action maps to `true`, then it must be present in the SemanticData /// 2. If the flag/action maps to `false`, then it must not be present in the SemanticData /// 3. If the flag/action is not in the map, then it will not be validated againstÀk$Àk$Àk$Àk0‘bÀkIÀkIÀkRÀk_Àk^Àkl ÀkuÀktÀk0Àk1À|˜‚ÏÀ|�À|�À|´À|ËÀ|ÊÀ|ÑÀ|èÀ|çÀm¡/ÀÀÀ‡ À�À�À• À¬À«ÀmÀnÀ ¢€’À §À §À » À ÒÀ ÑÀ ÝÀ åÀ äÀ¡:€ïÀ¡SÀ¡SÀ¡j À¡sÀ¡rÀ¡}À¡ŠÀ¡‰À¡£ À¡ºÀ¡¹À¡Ê À¡ÐÀ¡ÏÀ¡:À¡;À¢/�åÀ¢=À¢=À¢QÀ¢QÀ¢QÀ¢c À¢lÀ¢kÀ¤‚À¤!À¤!À¤Z/À¤ZÀ¤ZÀ¤xÀ¤yÀ¤À¤~À¤�&À¤¬À¤¬À¤¼uÀ¤ÕÀ¤ÕÀ¤ÞÀ¤ëÀ¤êÀ¤¼À¤½À¥7€äÀ¥TÀ¥TÀ¥_À¥wÀ¥vÀ¥7À¥8À¦"‚À¦(À¦(À¦f4À¦fÀ¦fÀ¦‰À¦ŠÀ¦�À¦�À¦ &À¦½À¦½À¦Í€ƒÀ¦æÀ¦æÀ¦ïÀ¦üÀ¦ûÀ¦ÍÀ¦ÎÀ§V€ßÀ§sÀ§sÀ§~À§–À§•À§VÀ§W+�+‚›’•’•‚Q/// Asserts that the [Finder] locates the specified number of widgets in the widget tree. /// /// This is equivalent to the preferred [findsExactly] method. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save'), findsNWidgets(2)); /// ``` /// /// See also: /// /// * [findsNothing], when you want the finder to not find anything. /// * [findsAny], when you want the finder to find one or more candidates. /// * [findsOne], when you want the finder to find exactly one candidate. /// * [findsAtLeast], when you want the finder to find at least a specific number of candidates.’£’¨’§’Ê‚I”ã”ã‚/// Asserts that the [FinderBase] locates the specified number of candidates. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save'), findsExactly(2)); /// ``` /// /// See also: /// /// * [findsNothing], when you want the finder to not find anything. /// * [findsAny], when you want the finder to find one or more candidates. /// * [findsOne], when you want the finder to find exactly one candidates. /// * [findsAtLeast], when you want the finder to find at least a specific number of candidates.”ð”õ”ô•‚ —|—|‚L/// Asserts that the [Finder] locates at least a number of widgets in the widget tree. /// /// This is equivalent to the preferred [findsAtLeast] method. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save'), findsAtLeastNWidgets(2)); /// ``` /// /// See also: /// /// * [findsNothing], when you want the finder to not find anything. /// * [findsAny], when you want the finder to find one or more candidates. /// * [findsOne], when you want the finder to find exactly one candidate. /// * [findsExactly], when you want the finder to find a specific number of candidates.—‘—–—•—»‚H™Ð™Ð�þ/// Asserts that the [FinderBase] locates at least the given number of candidates. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save'), findsAtLeast(2)); /// ``` /// /// See also: /// /// * [findsNothing], when you want the finder to not find anything. /// * [findsAny], when you want the finder to find one or more candidates. /// * [findsOne], when you want the finder to find exactly one candidates. /// * [findsExactly], when you want the finder to find a specific number of candidates.™Ý™â™ážÂ�û 5 5�b/// Asserts that the object represents the same color swatch as [color] when /// used to paint. /// /// Specifically this matcher checks the object is of type [ColorSwatch] and its /// color components fall below the delta specified by [threshold]. /// /// Note: This doesn't recurse into the swatches [Color] type, instead treating /// them as [Color]s. I I I L \ [ c k j v Á�a¡µ¡µ€ç/// Asserts that the object represents the same color as [color] when used to paint. /// /// Specifically this matcher checks the object is of type [Color] and its color /// components fall below the delta specified by [threshold].¡Ã ¡Ê¡É¡Ñ¡Ù¡Ø¡ä¢&ƒ ¤Ü¤Ü‚¡/// Asserts that the object is a [TextScaler] that reflects the user's font /// scale preferences from the platform's accessibility settings. /// /// This matcher is useful for verifying the text scaling within a widget subtree /// respects the user accessibility preferences, and not accidentally being /// shadowed by a [MediaQuery] with a different type of [TextScaler]. /// /// In widget tests, the value of the system font scale preference can be /// changed via [TestPlatformDispatcher.textScaleFactorTestValue]. /// /// If `withScaleFactor` is specified and non-null, this matcher also asserts /// that the [TextScaler]'s' `textScaleFactor` equals `withScaleFactor`.¤ð¤ù¤ø±L€Ñ±ÿ±ÿ€ /// A matcher that compares the type of the actual value to the type argument T. /// /// This is identical to [isA] and is included for backwards compatibility.² ² ² ²!„µÂµÂƒ…/// Asserts that two [double]s are equal, within some tolerated error. /// /// {@template flutter.flutter_test.moreOrLessEquals} /// Two values are considered equal if the difference between them is within /// [precisionErrorTolerance] of the larger one. This is an arbitrary value /// which can be adjusted using the `epsilon` argument. This matcher is intended /// to compare floating point numbers that are the result of different sequences /// of operations, such that they may have accumulated slightly different /// errors. /// {@endtemplate} /// /// See also: /// /// * [closeTo], which is identical except that the epsilon argument is /// required and not named. /// * [inInclusiveRange], which matches if the argument is in a specified /// range. /// * [rectMoreOrLessEquals] and [offsetMoreOrLessEquals], which do something /// similar but for [Rect]s and [Offset]s respectively.µÓ µÛµÚµâ(µêµéµó¶B‚*·Ù·Ù�„/// Asserts that two [Rect]s are equal, within some tolerated error. /// /// {@macro flutter.flutter_test.moreOrLessEquals} /// /// See also: /// /// * [moreOrLessEquals], which is for [double]s. /// * [offsetMoreOrLessEquals], which is for [Offset]s. /// * [within], which offers a generic version of this functionality that can /// be used to match [Rect]s as well as other types.·î ·ô·ó·û(¸¸¸ ¸p�ê¹½¹½�;/// Asserts that two [Matrix4]s are equal, within some tolerated error. /// /// {@macro flutter.flutter_test.moreOrLessEquals} /// /// See also: /// /// * [moreOrLessEquals], which is for [double]s. /// * [offsetMoreOrLessEquals], which is for [Offset]s. /// * [matrix3MoreOrLessEquals], which is for [Matrix3]s.¹Ô ¹Ý¹Ü¹ä(¹ì¹ë¹õº^�뻪»ª�:/// Asserts that two [Matrix3]s are equal, within some tolerated error. /// /// {@macro flutter.flutter_test.moreOrLessEquals} /// /// See also: /// /// * [moreOrLessEquals], which is for [double]s. /// * [offsetMoreOrLessEquals], which is for [Offset]s. /// * [matrixMoreOrLessEquals], which is for [Matrix4]s.»Â »Ë»Ê»Ò(»Ú»Ù»ã¼M‚2½ä½ä�„/// Asserts that two [Offset]s are equal, within some tolerated error. /// /// {@macro flutter.flutter_test.moreOrLessEquals} /// /// See also: /// /// * [moreOrLessEquals], which is for [double]s. /// * [rectMoreOrLessEquals], which is for [Rect]s. /// * [within], which offers a generic version of this functionality that can /// be used to match [Offset]s as well as other types.½û ¾¾¾ (¾¾¾¾ƒƒéÀAUÀAU‚¹/// Asserts that two [String]s or `Iterable`s are equal after /// normalizing likely hash codes. /// /// A `#` followed by 5 hexadecimal digits is assumed to be a short hash code /// and is normalized to `#00000`. /// /// Only [String] or `Iterable` are allowed types for `value`. /// /// See Also: /// /// * [describeIdentity], a method that generates short descriptions of objects /// with ids that match the pattern `#[0-9a-f]{5}`. /// * [shortHash], a method that generates a 5 character long hexadecimal /// [String] based on [Object.hashCode]. /// * [DiagnosticableTree.toStringDeep], a method that returns a [String] /// typically containing multiple hash codes.ÀAm ÀAuÀAtÀBp�*ÀC4ÀC4€·/// A matcher for [MethodCall]s, asserting that it has the specified /// method [name] and [arguments]. /// /// Arguments checking implements deep equality for [List] and [Map] types.ÀCA ÀCIÀCHÀCOÀCaÀC`ÀCž‚˜ÀE€ÀE€�Ð/// Asserts that 2 paths cover the same area by sampling multiple points. /// /// Samples at least [sampleSize]^2 points inside [areaToCompare], and asserts /// that the [Path.contains] method returns the same value for each of the /// points for both paths. /// /// When using this matcher you typically want to use a rectangle larger than /// the area you expect to paint in for [areaToCompare] to catch errors where /// the path draws outside the expected area.ÀE‘ÀE—ÀE–ÀE¥ÀE´ÀE³ÀEÂÀEÇÀEÆÀEÓÀFõ’sÀXRÀXR�Ø/// Asserts that a [Finder], [Future], or [ui.Image] matches the /// golden image file identified by [key], with an optional [version] number. /// /// For the case of a [Finder], the [Finder] must match exactly one widget and /// the rendered image of the first [RepaintBoundary] ancestor of the widget is /// treated as the image for the widget. As such, you may choose to wrap a test /// widget in a [RepaintBoundary] to specify a particular focus for the test. /// /// The [key] may be either a [Uri] or a [String] representation of a URL. /// /// The [version] is a number that can be used to differentiate historical /// golden files. This parameter is optional. /// /// This is an asynchronous matcher, meaning that callers should use /// [expectLater] when using this matcher and await the future returned by /// [expectLater]. /// /// ## Golden File Testing /// /// The term __golden file__ refers to a master image that is considered the true /// rendering of a given widget, state, application, or other visual /// representation you have chosen to capture. /// /// The master golden image files that are tested against can be created or /// updated by running `flutter test --update-goldens` on the test. /// /// {@tool snippet} /// Sample invocations of [matchesGoldenFile]. /// /// ```dart /// await expectLater( /// find.text('Save'), /// matchesGoldenFile('save.png'), /// ); /// /// await expectLater( /// image, /// matchesGoldenFile('save.png'), /// ); /// /// await expectLater( /// imageFuture, /// matchesGoldenFile( /// 'save.png', /// version: 2, /// ), /// ); /// /// await expectLater( /// find.byType(MyWidget), /// matchesGoldenFile('goldens/myWidget.png'), /// ); /// ``` /// {@end-tool} /// /// {@template flutter.flutter_test.matchesGoldenFile.custom_fonts} /// ## Including Fonts /// /// Custom fonts may render differently across different platforms, or /// between different versions of Flutter. For example, a golden file generated /// on Windows with fonts will likely differ from the one produced by another /// operating system. Even on the same platform, if the generated golden is /// tested with a different Flutter version, the test may fail and require an /// updated image. /// /// By default, the Flutter framework uses a font called 'Ahem' which shows /// squares instead of characters, however, it is possible to render images using /// custom fonts. For example, this is how to load the 'Roboto' font for a /// golden test: /// /// {@tool snippet} /// How to load a custom font for golden images. /// ```dart /// testWidgets('Creating a golden image with a custom font', (WidgetTester tester) async { /// // Assuming the 'Roboto.ttf' file is declared in the pubspec.yaml file /// final Future font = rootBundle.load('path/to/font-file/Roboto.ttf'); /// /// final FontLoader fontLoader = FontLoader('Roboto')..addFont(font); /// await fontLoader.load(); /// /// await tester.pumpWidget(const MyWidget()); /// /// await expectLater( /// find.byType(MyWidget), /// matchesGoldenFile('myWidget.png'), /// ); /// }); /// ``` /// {@end-tool} /// /// The example above loads the desired font only for that specific test. To load /// a font for all golden file tests, the `FontLoader.load()` call could be /// moved in the `flutter_test_config.dart`. In this way, the font will always be /// loaded before a test: /// /// {@tool snippet} /// Loading a custom font from the flutter_test_config.dart file. /// ```dart /// Future testExecutable(FutureOr Function() testMain) async { /// setUpAll(() async { /// final FontLoader fontLoader = FontLoader('SomeFont')..addFont(someFont); /// await fontLoader.load(); /// }); /// /// await testMain(); /// } /// ``` /// {@end-tool} /// {@endtemplate} /// /// See also: /// /// * [goldenFileComparator], which acts as the backend for this matcher. /// * [LocalFileComparator], which is the default [GoldenFileComparator] /// implementation for `flutter test`. /// * [matchesReferenceImage], which should be used instead if you want to /// verify that two different code paths create identical images. /// * [flutter_test] for a discussion of test configurations, whereby callers /// may swap out the backend for this matcher.ÀXd ÀXlÀXkÀXq ÀXwÀXvÀYl†bÀ_{À_{…Ý/// Asserts that a [Finder], [Future], or [ui.Image] matches a /// reference image identified by [image]. /// /// For the case of a [Finder], the [Finder] must match exactly one widget and /// the rendered image of the first [RepaintBoundary] ancestor of the widget is /// treated as the image for the widget. /// /// This is an asynchronous matcher, meaning that callers should use /// [expectLater] when using this matcher and await the future returned by /// [expectLater]. /// /// ## Sample code /// /// ```dart /// testWidgets('matchesReferenceImage', (WidgetTester tester) async { /// final ui.Paint paint = ui.Paint() /// ..style = ui.PaintingStyle.stroke /// ..strokeWidth = 1.0; /// final ui.PictureRecorder recorder = ui.PictureRecorder(); /// final ui.Canvas pictureCanvas = ui.Canvas(recorder); /// pictureCanvas.drawCircle(Offset.zero, 20.0, paint); /// final ui.Picture picture = recorder.endRecording(); /// addTearDown(picture.dispose); /// ui.Image referenceImage = await picture.toImage(50, 50); /// addTearDown(referenceImage.dispose); /// /// await expectLater(find.text('Save'), matchesReferenceImage(referenceImage)); /// await expectLater(image, matchesReferenceImage(referenceImage)); /// await expectLater(imageFuture, matchesReferenceImage(referenceImage)); /// }); /// ``` /// /// See also: /// /// * [matchesGoldenFile], which should be used instead if you need to verify /// that a [Finder] or [ui.Image] matches a golden image.À_‘À_›À_šÀ_Ò›PÀdÅÀdÅ„Í/// Asserts that a [SemanticsNode] contains the specified information. /// /// If either the label, hint, value, textDirection, or rect fields are not /// provided, then they are not part of the comparison. All of the boolean /// flag and action fields must match, and default to false. /// /// To find a [SemanticsNode] directly, use [CommonFinders.semantics]. /// These methods will search the semantics tree directly and avoid the edge /// cases that [SemanticsController.find] sometimes runs into. /// /// To retrieve the semantics data of a widget, use [SemanticsController.find] /// with a [Finder] that returns a single widget. Semantics must be enabled /// in order to use this method. /// /// ## Sample code /// /// ```dart /// testWidgets('matchesSemantics', (WidgetTester tester) async { /// final SemanticsHandle handle = tester.ensureSemantics(); /// // ... /// expect(tester.getSemantics(find.text('hello')), matchesSemantics(label: 'hello')); /// handle.dispose(); /// }); /// ``` /// /// See also: /// /// * [SemanticsController.find] under [WidgetTester.semantics], the tester method which retrieves semantics. /// * [containsSemantics], a similar matcher without default values for flags or actions.OÀdÛÀdäÀdãÀdò ÀdûÀdúÀe!ÀeÀeÀe* Àe3Àe2Àe; ÀeNÀeMÀe` ÀeiÀehÀer!Àe…Àe„Àe˜Àe¡Àe Àe³*ÀeÆÀeÅÀeâÀeëÀeêÀeý*ÀfÀfÀf,Àf5Àf4Àf@ÀfPÀfOÀfa ÀfhÀfgÀfp ÀfwÀfvÀfÀfˆÀf‡Àf•ÀfžÀf�Àf«Àf±Àf°ÀfÃÀfÉÀfÈÀfÛÀfáÀfàÀf÷KÀgÀgÀgG Àg_Àg^Àg{Àg�Àg€ÀgœÀg¢Àg¡Àg·Àg½Àg¼ÀgÚÀgàÀgßÀgöÀgüÀgûÀhÀhÀhÀh2Àh8Àh7ÀhLÀhRÀhQÀhkÀhqÀhpÀhƒÀh‰ÀhˆÀhžÀh¤Àh£Àh»ÀhÁÀhÀÀhØÀhÞÀhÝÀhôÀhúÀhùÀiÀiÀiÀi0'Ài6Ài5Ài\ÀibÀiaÀivÀi|Ài{Ài’Ài˜Ài—Ài¯ÀiµÀi´ÀiËÀiÑÀiÐÀièÀiîÀiíÀjÀjÀjÀjÀj!Àj Àj9Àj?Àj>ÀjZÀj`Àj_Àju!Àj{ÀjzÀj›Àj¡Àj Àj½ÀjÃÀjÂÀjÙÀjßÀjÞÀjûÀkÀkÀk(Àk.Àk-ÀkFÀkLÀkKÀkfÀklÀkkÀkŠ Àk�Àk�Àk¯!ÀkµÀk´ÀkÕÀkÛÀkÚÀkø ÀkþÀkýÀlÀl#Àl"Àl@ÀlFÀlEÀlc"ÀliÀlhÀlŠ2Àl�Àl�ÀlÁ3ÀlÇÀlÆÀlù-ÀlÿÀlþÀm+.Àm1Àm0Àm^ÀmdÀmcÀm€"Àm†Àm…Àm§Àm­Àm¬ÀmÆÀmÌÀmËÀmäÀmêÀméÀn/Àn Àn Àn8/Àn>Àn=ÀnlÀnrÀnqÀn±ÀnºÀn¹ÀnÇÀnÐÀnÏÀnã*ÀoÀoÀoÀo"Ào!8Àg$Àg=Àg>Àg’Àg­ÀgÐÀgìÀhÀh(ÀhBÀhaÀhyÀh”Àh±ÀhÎÀhêÀi Ài&ÀiRÀilÀiˆÀi¥ÀiÁÀiÞÀiøÀjÀj/ÀjPÀjkÀj‘Àj³ÀjÏÀjñÀk Àk<Àk\Àk€Àk¥ÀkËÀkîÀlÀl6ÀlYÀl€Àl·ÀlïÀm!ÀmTÀmvÀm�Àm¼ÀmÚÀmúÀn.ÀnbÀn„À{&™\À�À�„R/// Asserts that a [SemanticsNode] contains the specified information. /// /// There are no default expected values, so no unspecified values will be /// validated. /// /// To find a [SemanticsNode] directly, use [CommonFinders.semantics]. /// These methods will search the semantics tree directly and avoid the edge /// cases that [SemanticsController.find] sometimes runs into. /// /// To retrieve the semantics data of a widget, use [SemanticsController.find] /// with a [Finder] that returns a single widget. Semantics must be enabled /// in order to use this method. /// /// ## Sample code /// /// ```dart /// testWidgets('containsSemantics', (WidgetTester tester) async { /// final SemanticsHandle handle = tester.ensureSemantics(); /// // ... /// expect(tester.getSemantics(find.text('hello')), containsSemantics(label: 'hello')); /// handle.dispose(); /// }); /// ``` /// /// See also: /// /// * [SemanticsController.find] under [WidgetTester.semantics], the tester method which retrieves semantics. /// * [matchesSemantics], a similar matcher with default values for flags and actions.OÀ´À½À¼ÀË ÀÔÀÓÀÝ!ÀðÀïÀ€ À€ À€ À€ À€'À€&À€9 À€BÀ€AÀ€K!À€^À€]À€qÀ€zÀ€yÀ€Œ*À€ŸÀ€žÀ€»À€ÄÀ€ÃÀ€Ö*À€éÀ€èÀ�À�À� À�À�)À�(À�: À�AÀ�@À�I À�PÀ�OÀ�XÀ�aÀ�`À�nÀ�wÀ�vÀ�„À�ŠÀ�‰À�œÀ�¢À�¡À�´À�ºÀ�¹À�ÐKÀ�ëÀ�êÀ‚ À‚8À‚7À‚QÀ‚XÀ‚WÀ‚kÀ‚rÀ‚qÀ‚À‚†À‚…À‚›À‚¢À‚¡À‚°À‚·À‚¶À‚ËÀ‚ÒÀ‚ÑÀ‚ÞÀ‚åÀ‚äÀ‚ñÀ‚øÀ‚÷Àƒ ÀƒÀƒÀƒÀƒ!Àƒ Àƒ.Àƒ5Àƒ4ÀƒDÀƒKÀƒJÀƒZÀƒaÀƒ`ÀƒoÀƒvÀƒuÀƒ‰Àƒ�Àƒ�Àƒ� Àƒ¤Àƒ£ÀƒÂÀƒÉÀƒÈÀƒÕÀƒÜÀƒÛÀƒêÀƒñÀƒðÀ„À„À„À„À„À„À„+À„2À„1À„> À„EÀ„DÀ„PÀ„WÀ„VÀ„gÀ„nÀ„mÀ„�À„ˆÀ„‡À„•À„œÀ„›À„´À„»À„ºÀ„ÏÀ„ÖÀ„ÕÀ„äÀ„ëÀ„êÀ„ÿÀ…À…À…"À…)À…(À…9À…@À…?À…RÀ…YÀ…XÀ…oÀ…vÀ…uÀ…�À…”À…“À…¬À…³À…²À…ÈÀ…ÏÀ…ÎÀ…æÀ…íÀ…ìÀ†À† À†À†À†%À†$À†>+À†EÀ†DÀ†n,À†uÀ†tÀ†Ÿ&À†¦À†¥À†Ê'À†ÑÀ†ÐÀ†öÀ†ýÀ†üÀ‡À‡À‡À‡1À‡8À‡7À‡IÀ‡PÀ‡OÀ‡`À‡gÀ‡fÀ‡y(À‡€À‡À‡¦(À‡­À‡¬À‡ÓÀ‡ÚÀ‡ÙÀˆÀˆÀˆÀˆ'Àˆ0Àˆ/ÀˆC*ÀˆaÀˆ`ÀˆrÀˆ‚Àˆ�À�ýÀ‚À‚À”†ƒÞÀ—úÀ—úƒO/// Asserts that the currently rendered widget meets the provided accessibility /// `guideline`. /// /// This matcher requires the result to be awaited and for semantics to be /// enabled first. /// /// ## Sample code /// /// ```dart /// testWidgets('containsSemantics', (WidgetTester tester) async { /// final SemanticsHandle handle = tester.ensureSemantics(); /// // ... /// await expectLater(tester, meetsGuideline(textContrastGuideline)); /// handle.dispose(); /// }); /// ``` /// /// Supported accessibility guidelines: /// /// * [androidTapTargetGuideline], for Android minimum tappable area guidelines. /// * [iOSTapTargetGuideline], for iOS minimum tappable area guidelines. /// * [textContrastGuideline], for WCAG minimum text contrast guidelines. /// * [labeledTapTargetGuideline], for enforcing labels on tappable areas.À˜ À˜!À˜ À˜h�À™À™€Œ/// The inverse matcher of [meetsGuideline]. /// /// This is needed because the [isNot] matcher does not compose with an /// [AsyncMatcher].À™ À™3À™2À¤8�–À¤=À¤=À¤R À¤ZÀ¤YÀ¤a&À¤À¤~À¥Ò€™À¥×À¥×À¥ê À¥òÀ¥ñÀ¥ùÀ¥ÿÀ¥þÀÀf€…ÀÀ§ÀÀ§:/// Returns true if [c] represents a whitespace code unit.ÀÀµÀÀºÀÀ¹ÀÀï�¸ÀÂHÀÂH�M/// Returns true if [c] represents a vertical line Unicode line art code unit. /// /// See [https://en.wikipedia.org/wiki/Box-drawing_character]. This method only /// specifies vertical line art code units currently used by Flutter line art. /// There are other line art characters that technically also represent vertical /// lines.ÀÂXÀÂ]ÀÂ\À«�ïÀóÀó�/// Returns whether a [line] is all vertical tree connector characters. /// /// Example vertical tree connector characters: `│ â•‘ ╎`. /// The last line of a text tree contains only vertical tree connector /// characters indicates a poorly formatted tree.ÀÃÑ ÀÃÙÀÃØÀÚ¬0ÀÚ°ÀÚ°ÀÚ½ÀÚÂÀÚÁÀÚÄÀÚÉÀÚÈÀÚÞ<ÀÚåÀÚåÀÚõÀÚýÀÚüÀÚÿÀÛÀÛÀÛ?ÀÛ#ÀÛ#ÀÛ3ÀÛ;ÀÛ:ÀÛ=ÀÛEÀÛDÀÛ_�ÀÛfÀÛfÀÛ�ÀÛˆÀÛ‡ÀÛŠÀÛ‘ÀÛ�ÀÝ�(ÀÝÀÝÀÝ& ÀÝ0ÀÝ/ÀÝ2 ÀÝ<ÀÝ;ÀÞ±�@ÀÞ¸ÀÞ¸ÀÞÖ ÀÞàÀÞßÀÞâ ÀÞìÀÞëÀßõ�ÀßüÀßüÀà ÀàÀàÀàÀàÀàÀှÀáÀáÀá Àá'Àá&Àá) Àá2Àá1ÀáÉ€¾ÀáÐÀáÐÀáá ÀáêÀáéÀáì ÀáõÀáôÀâ‹nÀâ’Àâ’Àâ Àâ¦Àâ¥Àâ¨Àâ®Àâ­Àâý†¶ÀçÀÀçÀ„¢/// Asserts that two values are within a certain distance from each other. /// /// The distance is computed by a [DistanceFunction]. /// /// If `distanceFunction` is null, a standard distance function is used for the /// `T` generic argument. Standard functions are defined for the following /// types: /// /// * [Color], whose distance is the maximum component-wise delta. /// * [Offset], whose distance is the Euclidean distance computed using the /// method [Offset.distance]. /// * [Rect], whose distance is the maximum component-wise delta. /// * [Size], whose distance is the [Offset.distance] of the offset computed as /// the difference between two sizes. /// * [int], whose distance is the absolute difference between two integers. /// * [double], whose distance is the absolute difference between two doubles. /// /// See also: /// /// * [moreOrLessEquals], which is similar to this function, but specializes in /// [double]s and has an optional `epsilon` parameter. /// * [rectMoreOrLessEquals], which is similar to this function, but /// specializes in [Rect]s and has an optional `epsilon` parameter. /// * [closeTo], which specializes in numbers only.ÀçÇÀçÇÀçÇÀçËÀçÙÀçØÀçâÀçîÀçíÀçó%Àè ÀèÀù‚�ZÀú\Àú\€Î/// Asserts that a [Finder] locates a single object whose root RenderObject /// is a [RenderClipRRect] with no clipper set, and border radius equals to /// [borderRadius], or an equivalent [RenderClipPath].Àút"Àú‹ÀúŠÀúà�ÀûˆÀûˆ€œ/// Asserts that a [Finder] locates a single object whose root RenderObject /// is a [RenderClipPath] with a [ShapeBorderClipper] that clips to /// [shape].ÀûžÀû´Àû³Àûò„VÀÿˆÀÿˆƒ|/// Asserts that a [Finder] locates a single object whose root RenderObject /// is a [RenderPhysicalModel] or a [RenderPhysicalShape]. /// /// - If the render object is a [RenderPhysicalModel] /// - If [shape] is non null asserts that [RenderPhysicalModel.shape] is equal to /// [shape]. /// - If [borderRadius] is non null asserts that [RenderPhysicalModel.borderRadius] is equal to /// [borderRadius]. /// - If [elevation] is non null asserts that [RenderPhysicalModel.elevation] is equal to /// [elevation]. /// - If the render object is a [RenderPhysicalShape] /// - If [borderRadius] is non null asserts that the shape is a rounded /// rectangle with this radius. /// - If [borderRadius] is null, asserts that the shape is equivalent to /// [shape]. /// - If [elevation] is non null asserts that [RenderPhysicalModel.elevation] is equal to /// [elevation].Àÿ Àÿ«ÀÿªÀÿ±ÀÿÀÀÿ¿ÀÿÍÀÿÖÀÿÕÀL�½ÀvÀv�/// Asserts that a [Finder] locates a single object whose root RenderObject /// is [RenderPhysicalShape] that uses a [ShapeBorderClipper] that clips to /// [shape] as its clipper. /// If [elevation] is non null asserts that [RenderPhysicalShape.elevation] is /// equal to [elevation].ÀŽÀ¤À£ÀªÀ³À²À= 0 /// - f(a, b) == 0 if and only if a == b /// - f(a, b) == f(b, a) /// - f(a, c) <= f(a, b) + f(b, c), known as triangle inequality /// /// This makes it useful for comparing numbers, [Color]s, [Offset]s and other /// sets of value for which a metric space is defined.ÀÖ«ÀÖ«ÀÖ«ÀÖ½ÀÖÀÀÖ¿ÀÖÂÀÖÅÀÖÄÀÖË‚zÀÙÀÙ‚1/// The type of a union of instances of [DistanceFunction] for various types /// T. /// /// This type is used to describe a collection of [DistanceFunction] /// functions which have (potentially) unrelated argument types. Since the /// argument types of the functions may be unrelated, their type is declared as /// `Never`, which is the bottom type in dart to which all other types can be /// assigned to. /// /// Calling an instance of this type must either be done dynamically, or by /// first casting it to a [DistanceFunction] for some concrete T.ÀÙ3ÀÙ:ÀÙ9ÀÙ<ÀÙCÀÙB„ ‚Y†8†8‚/// Asserts that the [FinderBase] matches nothing in the available candidates. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save'), findsNothing); /// ``` /// /// See also: /// /// * [findsAny], when you want the finder to find one or more candidates. /// * [findsOne], when you want the finder to find exactly one candidate. /// * [findsExactly], when you want the finder to find a specific number of candidates. /// * [findsAtLeast], when you want the finder to find at least a specific number of candidates.†G†Y†a†Z†`†g‚“ˆÐˆÐ‚J/// Asserts that the [Finder] locates at least one widget in the widget tree. /// /// This is equivalent to the preferred [findsAny] method. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save'), findsWidgets); /// ``` /// /// See also: /// /// * [findsNothing], when you want the finder to not find anything. /// * [findsOne], when you want the finder to find exactly one candidate. /// * [findsExactly], when you want the finder to find a specific number of candidates. /// * [findsAtLeast], when you want the finder to find at least a specific number of candidates.ˆßˆñˆùˆòˆõˆÿ‚G‹ ‹ ‚/// Asserts that the [FinderBase] locates at least one matching candidate. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save'), findsAny); /// ``` /// /// See also: /// /// * [findsNothing], when you want the finder to not find anything. /// * [findsOne], when you want the finder to find exactly one candidate. /// * [findsExactly], when you want the finder to find a specific number of candidates. /// * [findsAtLeast], when you want the finder to find at least a specific number of candidates.‹+‹=‹E‹>‹A‹K‚—�¹�¹‚O/// Asserts that the [Finder] locates at exactly one widget in the widget tree. /// /// This is equivalent to the preferred [findsOne] method. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save'), findsOneWidget); /// ``` /// /// See also: /// /// * [findsNothing], when you want the finder to not find anything. /// * [findsAny], when you want the finder to find one or more candidates. /// * [findsExactly], when you want the finder to find a specific number of candidates. /// * [findsAtLeast], when you want the finder to find at least a specific number of candidates.�Ê�Ü�á�Ý�à�ç‚?���ÿ/// Asserts that the [FinderBase] finds exactly one matching candidate. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save'), findsOne); /// ``` /// /// See also: /// /// * [findsNothing], when you want the finder to not find anything. /// * [findsAny], when you want the finder to find one or more candidates. /// * [findsExactly], when you want the finder to find a specific number candidates. /// * [findsAtLeast], when you want the finder to find at least a specific number of candidates.�� �%�!�$š�®››››�v/// Asserts that the [Finder] locates a single widget that has at /// least one [Offstage] widget ancestor. /// /// It's important to use a full finder, since by default finders exclude /// offstage widgets. /// /// ## Sample code /// /// ```dart /// expect(find.text('Save', skipOffstage: false), isOffstage); /// ``` /// /// See also: /// /// * [isOnstage], the opposite.›¨›³›´›º€Èœjœj€›/// Asserts that the [Finder] locates a single widget that has no /// [Offstage] widget ancestors. /// /// See also: /// /// * [isOffstage], the opposite.œvœ€œ�œ‡€Ì�=�=€¡/// Asserts that the [Finder] locates a single widget that has at /// least one [Card] widget ancestor. /// /// See also: /// /// * [isNotInCard], the opposite.�H�Q�R�X€ùž5ž5€Æ/// Asserts that the [Finder] locates a single widget that has no /// [Card] widget ancestors. /// /// This is equivalent to `isNot(isInCard)`. /// /// See also: /// /// * [isInCard], the opposite.žCžOžPžVgž©ž©D/// Default threshold for [isSameColorAs] and [isSameColorSwatchAs].ž¸¥6�s¦y¦y�//// Asserts that an object's toString() is a plausible one-line description. /// /// Specifically, this matcher checks that the string does not contains newline /// characters, and does not have leading or trailing whitespace, is not /// empty, and does not contain the default `Instance of ...` string.¦‘¦§¦¨¦®ƒ©‚©‚‚¼/// Asserts that an object's toStringDeep() is a plausible multiline /// description. /// /// Specifically, this matcher checks that an object's /// `toStringDeep(prefixLineOne, prefixOtherLines)`: /// /// * Does not have leading or trailing whitespace. /// * Does not contain the default `Instance of ...` string. /// * The last line has characters other than tree connector characters and /// whitespace. For example: the line ` │ â•‘ ╎` has only tree connector /// characters and whitespace. /// * Does not contain lines with trailing white space. /// * Has multiple lines. /// * The first line starts with `prefixLineOne` /// * All subsequent lines start with `prefixOtherLines`.©™©­©®©´‚U«Ý«Ý‚/// A matcher for functions that throw [FlutterError]. /// /// This is equivalent to `throwsA(isA())`. /// /// If you are trying to test whether a call to [WidgetTester.pumpWidget] /// results in a [FlutterError], see [TestWidgetsFlutterBinding.takeException]. /// /// See also: /// /// * [throwsAssertionError], to test if a function throws any [AssertionError]. /// * [throwsArgumentError], to test if a functions throws an [ArgumentError]. /// * [isFlutterError], to test if any object is a [FlutterError].«ò«ù¬«ú¬‚m®K®K‚!/// A matcher for functions that throw [AssertionError]. /// /// This is equivalent to `throwsA(isA())`. /// /// If you are trying to test whether a call to [WidgetTester.pumpWidget] /// results in an [AssertionError], see /// [TestWidgetsFlutterBinding.takeException]. /// /// See also: /// /// * [throwsFlutterError], to test if a function throws a [FlutterError]. /// * [throwsArgumentError], to test if a functions throws an [ArgumentError]. /// * [isAssertionError], to test if any object is any kind of [AssertionError].®b®i®z®j®€�`¯¼¯¼�/// A matcher for [FlutterError]. /// /// This is equivalent to `isInstanceOf()`. /// /// See also: /// /// * [throwsFlutterError], to test if a function throws a [FlutterError]. /// * [isAssertionError], to test if any object is any kind of [AssertionError].¯Í¯Ð¯Ý¯Ñ¯Þ¯ß¯å�b±±�/// A matcher for [AssertionError]. /// /// This is equivalent to `isInstanceOf()`. /// /// See also: /// /// * [throwsAssertionError], to test if a function throws any [AssertionError]. /// * [isFlutterError], to test if any object is a [FlutterError].±2±5±D±6±E±FÀÙI�^ÀÙnÀÙnÀÙ§ÀÚ¦ÀÙŒÀÙ¦ÀÙ�ÀÙ“ÀÙ±ÀÙ¬ÀÙ³ÀÙÚÀÙÒÀÙÜÀÚÀÙþÀÚÀÚ0ÀÚ*ÀÚ2ÀÚIÀÚFÀÚKÀÚbÀÚ\ÀÚdÀÚ|ÀÚxÀÚ~ÀÚ”ÀÚ�ÀÚ–À÷¬€ãÀø_Àø_€¡/// Asserts that a [Finder] locates a single object whose root RenderObject /// is a [RenderClipRect] with no clipper set, or an equivalent /// [RenderClipPath].ÀøwÀø�ÀøŽÀø”€éÀùNÀùN€¨/// Asserts that a [Finder] locates a single object whose root RenderObject is /// not a [RenderClipRect], [RenderClipRRect], [RenderClipOval], or /// [RenderClipPath].ÀùcÀù{Àù|€²_goldens_io.dart‹”=€ˆ€§€©€Í€×€Ù�� �9�;�f�™�Ã�ì‚‚;‚–‚Ö‚Ø‚ôƒ+ƒVƒtƒŒƒ§ƒ¿ƒ×„„ „Y„^„r„w„„„²„»„À„τԅ!…m…dž*†e†g†¶†»†÷†ü‡‡‡"‡P‡Y‡^‡m‡r‡¹ˆˆ_ˆÂˆýˆÿ‰K‰P‰d‰i‰v‰ ‰©‰®‰½‰ÂŠ ŠUН‹‹I‹K‹œ‹¡‹Ý‹â‹ö‹ûŒŒ8ŒAŒFŒUŒZŒ¡Œî�H�«�å�çŽ0Ž5ŽIŽNŽ[Ž…ŽŽŽ“Ž¢Ž§Žî�;�’�õ�)�+�†�‹�Ë�Ð�ä�é�ö‘(‘1‘6‘E‘J‘‘‘Þ’*’�’È’Ê“““2“7“D“u“~“ƒ“’“—“Þ”+”x”Û•••o•t•´•¹•͕ҕߖ–!–&–5–:–�–Η—t—¹—»˜˜˜(˜-˜:˜k˜t˜y˜ˆ˜�˜Ô™!™n™ÈšššJšušzšÅšÜšášõšú››H›Q›V›e›j›�›¸›º›ýœœ$œ3œ8œ\œ…œ‡œÊœñœö�� �/�V�X�›�¹�¾�ì�ñžžž'žTžVžœžÀžÂŸŸ$Ÿ)Ÿ{ŸÀŸÅ  - ˆ ¼ ¿ Á¡¡¡n¡­¡ö¢!¢$¢&¢s¢¶¢»££[£¢£§£ò¤6¤;¤Š¤Ô¥4¥6¥„¥‰¥Ú¦$¦k¦¬¦®¦ô§§ §C§y§~§´§ó¨A¨Œ¨¯¨é©©8©t©²©´©ì©ñª,ª1ª|ªÍªÒªáªæ«9«Š«Ï¬ ¬¬H¬M¬Š¬�¬Ú­­3­8­G­L­™­ê®=®~®€®£®¨®ã®è®÷®ü¯I¯œ¯ã¯å° °°L°Q°`°e°¸°ý±J±L±ž±£±ð²²!²i²n²¥²ó³@³’³ä´/´<´P´U´d´i´³´Óµµ.µ~µº¶¶=¶@¶B¶ˆ¶�¶Á¶Æ¶Õ¶Ú··H·˜·Ñ¸)¸k¸n¸p¸¹¸¾¸ò¸÷¹¹ ¹?¹y¹µººYº\º^º§º¬ºàºåºôºù»-»g»¢¼¼H¼K¼M¼•¼š¼Î¼Ó¼â¼ç½½Q½¡½Ü¾8¾~¾�¾ƒ¾Ê¾î¾ó¿B¿f¿k¿³¿¸¿Ç¿ÌÀ@À@VÀ@¢À@ÏÀAÀAMÀA~ÀA‰ÀA¼ÀB:ÀB@ÀBkÀBnÀBpÀB¶ÀBÚÀBßÀC,ÀCoÀC™ÀCœÀCžÀCéÀCîÀD>ÀDŠÀD¦ÀD«ÀDúÀEIÀExÀEÜÀF8ÀF:ÀFSÀFiÀF�ÀF±ÀFÕÀFóÀFõÀGAÀG�ÀG•ÀGåÀH6ÀH‡ÀHÖÀHÛÀI'ÀI,ÀIxÀI§ÀI¬ÀIòÀJ>ÀJRÀJWÀJsÀJxÀJËÀKÀKAÀKFÀK“ÀKØÀKÝÀKòÀL"ÀL'ÀL4ÀLLÀLfÀLŒÀL”ÀL™ÀL±ÀL¿ÀLåÀLíÀLòÀM ÀMÀM8ÀMMÀMbÀMlÀMtÀMyÀM‘ÀM¯ÀMáÀMéÀMòÀNÀNÀNMÀNeÀNjÀN²ÀOÀORÀOŸÀOîÀPÀPÀPTÀP§ÀPóÀQÀQ ÀQÀQQÀQ^ÀQ»ÀR ÀR_ÀRdÀR®ÀRÎÀRÓÀSÀS ÀS$ÀSDÀSpÀSzÀSƒÀSŒÀS�ÀS¢ÀSõÀTBÀT•ÀT°ÀTµÀTÊÀU ÀUÀUgÀU‚ÀUÔÀUöÀVÀVÀVÀV&ÀV/ÀV@ÀVTÀVYÀVhÀVmÀV¹ÀWÀW/ÀW|ÀWÂÀXÀXEÀXƒÀXœÀXËÀY ÀYaÀYgÀYjÀYlÀY¶ÀYâÀYçÀZ7ÀZˆÀZ²ÀZ·ÀZýÀ[IÀ[]À[bÀ[vÀ[{À[ˆÀ[ÐÀ[ùÀ\$À\BÀ\ƒÀ\¿À\úÀ]5À]ZÀ]šÀ]ÆÀ]ËÀ^À^gÀ^µÀ^¾À^ÇÀ^ÌÀ^ÛÀ^àÀ_0À_nÀ_¤À_ÍÀ_ÐÀ_ÒÀ`À`À`lÀ`¸À`öÀ`ûÀaCÀa‘ÀaÑÀaÖÀb&ÀbsÀb•ÀbšÀb®Àb³ÀbÀÀcÀcCÀcQÀc«ÀcÄÀcÍÀcÖÀcÛÀcêÀcïÀd`Àd½ÀdÙÀdðÀeÀe(Àe9Àe^ÀepÀe–Àe±ÀeàÀeûÀf*Àf>Àf_ÀfnÀf}Àf“Àf©ÀfÁÀfÙÀfõÀgEÀgjÀgyÀgšÀgµÀgØÀgôÀhÀh0ÀhJÀhiÀh�ÀhœÀh¹ÀhÖÀhòÀiÀi.ÀiZÀitÀi�Ài­ÀiÉÀiæÀjÀjÀj7ÀjXÀjsÀj™Àj»Àj×ÀjùÀkÀk&ÀkDÀkdÀkˆÀk­ÀkÓÀköÀlÀl>ÀlaÀlˆÀl¿Àl÷Àm)Àm\Àm~Àm¥ÀmÄÀmâÀnÀn6ÀnjÀnŒÀn¯ÀnÅÀnáÀoÀo,Ào2ÀoSÀopÀoƒÀoªÀo»ÀoàÀoóÀpÀp?ÀpxÀp�ÀpÖÀpíÀqÀq!Àq2ÀqWÀqzÀqŸÀqÌÀqõÀrÀrÀrEÀr`Àr‹Àr¨ÀrÑÀrêÀsÀs&Às;ÀsVÀsuÀs”Às±ÀsØÀsóÀt0ÀtIÀtfÀt…Àt¢ÀtÁÀtÚÀtñÀuÀu9ÀuTÀu…Àu®ÀuËÀuôÀvÀv!ÀvBÀvgÀv”ÀvÃÀvôÀwÀwNÀwyÀw¤Àw×Àx*ÀxÀxÈÀyÀy<ÀyoÀy’Ày³ÀyØÀz%ÀzrÀz›ÀzÀÀzÙÀ{À{À{!À{$À{&À{nÀ{sÀ{¿À{ÏÀ{ÔÀ|À|jÀ|ªÀ|¯À|ÿÀ}LÀ}nÀ}sÀ}‡À}ŒÀ}™À}ÝÀ~À~+À~†À~ŸÀ~¨À~±À~¶À~ÅÀ~ÊÀ;À•À²ÀÉÀÛÀ€À€À€7À€IÀ€oÀ€ŠÀ€¹À€ÔÀ�À�À�8À�GÀ�VÀ�lÀ�‚À�šÀ�²À�ÎÀ‚À‚CÀ‚OÀ‚iÀ‚}À‚™À‚®À‚ÉÀ‚ÜÀ‚ïÀƒÀƒÀƒ,ÀƒBÀƒXÀƒmÀƒ‡Àƒ›ÀƒÀÀƒÓÀƒèÀƒþÀ„À„)À„<À„NÀ„eÀ„À„“À„²À„ÍÀ„âÀ„ýÀ…À… À…7À…PÀ…mÀ…‹À…ªÀ…ÆÀ…äÀ†À†À†<À†lÀ†�À†ÈÀ†ôÀ‡À‡/À‡GÀ‡^À‡wÀ‡¤À‡ÑÀ‡ìÀˆÀˆ%ÀˆAÀˆpÀˆŒÀˆ’Àˆ³ÀˆÐÀˆãÀ‰ À‰À‰@À‰SÀ‰zÀ‰ŸÀ‰ØÀ‰ýÀŠ6ÀŠMÀŠpÀŠ�ÀŠ’ÀŠ·ÀŠÚÀŠÿÀ‹,À‹UÀ‹pÀ‹~À‹¥À‹ÀÀ‹ëÀŒÀŒ1ÀŒJÀŒcÀŒ†ÀŒ›ÀŒ¶ÀŒÕÀŒôÀ�À�8À�SÀ��À�©À�ÆÀ�åÀŽÀŽ!ÀŽ:ÀŽQÀŽrÀŽ™ÀŽ´ÀŽåÀ�À�+À�TÀ�qÀ��À�¢À�ÇÀ�ôÀ�#À�TÀ�À�®À�ÙÀ‘À‘7À‘ŠÀ‘ßÀ’(À’sÀ’œÀ’ÏÀ’òÀ“À“8À“…À“ÒÀ“ûÀ” À”9À”`À”{À”�À”„À”†À”×À”éÀ”îÀ•:À•NÀ•SÀ•gÀ•lÀ•yÀ•½À•ýÀ– À–TÀ–mÀ–vÀ–À–„À–­À–²À—À—RÀ—ŸÀ—íÀ˜.À˜cÀ˜fÀ˜hÀ˜–À˜›À˜äÀ˜ùÀ™@À™zÀ™}À™À™«À™ÜÀ™ÞÀ™ñÀšÀšÀšÀšmÀš–ÀšÏÀšõÀ› À›MÀ›eÀ›šÀ›¯À›¸À›ÓÀ›êÀ›óÀ›úÀœÀœHÀœ]ÀœfÀœ�Àœ˜Àœ¡Àœ¨ÀœºÀœ¿ÀœÁÀœÎÀ�À�*À�AÀ�XÀ�›À�¤À�çÀ�îÀžÀžÀžXÀžaÀžxÀž»ÀžÄÀŸÀŸÀŸ&ÀŸ=ÀŸ�ÀŸŠÀŸÎÀŸÕÀ +À 0À 2À ?À `À sÀ ™À ÀÀ ÓÀ ÚÀ¡1À¡]À¡tÀ¡œÀ¡¿À¢À¢À¢vÀ¢}À¢’À¢«À£À£ À£bÀ£iÀ£‘À£ÉÀ£ÐÀ£úÀ¤.À¤3À¤6À¤8À¤ŒÀ¤ÂÀ¤ÞÀ¤ñÀ¤öÀ¥À¥IÀ¥pÀ¥†À¥›À¥¢À¥´À¥»À¥ÍÀ¥ÐÀ¥ÒÀ¦ À¦jÀ¦mÀ¦oÀ¦”À¦¬À¦®À¦»À§À§CÀ§dÀ§…À§ŽÀ§£À§¬À§±À§³À§ÀÀ¨À¨À¨À¨:À¨QÀ¨SÀ¨`À¨­À¨åÀ©À©À©À©8À©uÀ©£À©ÄÀ©èÀ©ÿÀªÀªÀª%Àª9Àª>Àª@ÀªMÀª�Àª Àª¢ÀªÅÀªÛÀªÝÀªêÀ«8À«aÀ«cÀ«pÀ«ÀÀ«ÃÀ«ÅÀ«ëÀ¬À¬À¬À¬aÀ¬‹À¬�À¬šÀ¬îÀ¬ñÀ¬óÀ­ À­`À­bÀ­�À­’À­ŸÀ­áÀ­ýÀ®4À®kÀ®¬À®ÊÀ®áÀ¯BÀ¯NÀ¯qÀ¯ÏÀ¯×À¯ÜÀ¯ÞÀ¯ëÀ°À°IÀ°¢À°¿À±8À±@À±EÀ±GÀ±›À±ÅÀ±ØÀ±ÝÀ±ßÀ±ìÀ² À² À²FÀ²mÀ²€À²‡À²ÍÀ²ÒÀ²ÕÀ²×À³À³*À³,À³9À³}À³°À³ÖÀ³þÀ´0À´\À´aÀ´cÀ´pÀ´ÍÀ´ÐÀ´ÒÀµÀµ*ÀµIÀµ‰Àµ‹Àµ­ÀµÌÀµÎÀ¶À¶>À¶sÀ¶uÀ¶§À¶êÀ¶ïÀ¶ñÀ·?À·[À·}À·�À·ØÀ·ßÀ¸À¸[À¸bÀ¸|À¸ÆÀ¹À¹6À¹>À¹CÀ¹EÀ¹RÀ¹–À¹îÀº(ÀºbÀºdÀº}ÀºÀº®ÀºÕÀºûÀ»IÀ»€À»ÁÀ»úÀ¼À¼À¼À¼4À¼`À¼„À¼‹À¼�À¼³À¼¸À¼ºÀ¼ÇÀ¼úÀ½^À½cÀ½eÀ½rÀ½“À½¦À½ÌÀ½óÀ¾À¾ À¾EÀ¾À¾µÀ¾ûÀ¿À¿KÀ¿‰À¿ËÀ¿ìÀÀ+ÀÀ4ÀÀ;ÀÀ\ÀÀaÀÀdÀÀfÀÀ¢ÀÀíÀÀïÀÁ?ÀÁDÀÁ•ÀÁåÀÂ7ÀÂCÀÂbÀ¦À©À«ÀÂôÀÂùÀÃ3ÀÃ{ÀîÀÃáÀÄ ÀÄ3ÀÄhÀÄ}ÀÄ„ÀĉÀÄ™ÀÄœÀÄžÀÄÌÀÄíÀÄïÀÅ3ÀÅ5ÀÅBÀņÀųÀÆ ÀÆ4ÀÆxÀƳÀÆúÀÇÀÇ@ÀÇGÀÇIÀÇwÀǦÀÇ­ÀǯÀÇèÀÈÀÈ9ÀÈ@ÀÈBÀÈsÀȧÀÈ®ÀȰÀÈÞÀÉÀÉÀÉNÀÉWÀÉYÀÉ€ÀÉ¿ÀÉÈÀÉÏÀÉÑÀÊÀÊIÀÊPÀÊRÀÊžÀÊêÀË)ÀËbÀËžÀËÑÀË÷ÀÌÀÌ~ÀÌ–ÀÌÉÀÍ ÀÍHÀÍŒÀ͘ÀÍÅÀÍÏÀÍÖÀÎ'ÀÎfÀίÀζÀθÀÎòÀÏ3ÀÏ…ÀÏŽÀÏ•ÀÏ—ÀÏÒÀÏðÀÐ(ÀÐVÀІÀÐ�ÀÐ�ÀгÀÐÔÀÑ:ÀÑDÀÑ~ÀÑ´ÀÑ»ÀѽÀÑåÀÒ8ÀÒMÀÒTÀÒfÀÒkÀÒmÀÒzÀÒ›ÀÒ®ÀÒÔÀÒûÀÓÀÓÀÓZÀÓ¹ÀÓÀÀÓáÀÓæÀÓèÀÓõÀÔ(ÀÔ_ÀÔdÀÔgÀÔiÀÔ˜ÀÔ�ÀÔÙÀÕ%ÀÕgÀÕlÀÕ€ÀÕªÀÕÄÀÖÀÖ ÀÖZÀÖ’ÀÖÉÀÖËÀ×À×$À×)À×rÀ×¾ÀØÀØ^ÀØpÀØuÀØÂÀÙÀÙGÀÙIÀÙªÀÙÐÀÙüÀÚ(ÀÚDÀÚZÀÚvÀÚŽÀÚ¦ÀÚªÀÚ¬ÀÚÞÀÛÀÛ]ÀÛ_ÀÛ–ÀÛæÀÜ ÀÜ\ÀÜxÀÜ{ÀÜ}ÀÜÌÀÝÀÝAÀÝ¥ÀÝêÀÞ(ÀÞ+ÀÞ-ÀÞ|ÀÞ±ÀÞñÀßÀß?ÀßgÀßmÀß²ÀßðÀßóÀßõÀàÀàqÀà°ÀàñÀáÀáÀáÀá7ÀáNÀásÀá®Àá³ÀáÄÀáÇÀáÉÀáúÀâÀâ5ÀâpÀâuÀâ†Àâ‰Àâ‹Àâ³ÀâÞÀâøÀâûÀâýÀãIÀãNÀã…ÀãŠÀãÛÀä'Àä3Àä8Àä}ÀäËÀäíÀå1ÀåƒÀå­ÀåüÀæMÀæRÀæaÀæfÀæ¸ÀæóÀç:Àç‚Àç¸ÀèÀènÀèpÀè“Àè­ÀèøÀéFÀéaÀéiÀénÀépÀé²ÀéµÀé·ÀéåÀê2Àê4ÀêcÀêuÀê‹Àê�ÀêšÀêÞÀê÷Àë ÀëÀë/ÀëCÀëJÀë…ÀëžÀëºÀì Àì[Àì�ÀìšÀì¡ÀìÉÀìêÀìïÀìñÀìþÀíYÀí[ÀíhÀí‰ÀížÀíÄÀíëÀíþÀîÀîaÀî‚Àî‡ÀîŠÀîŒÀî·ÀïÀïÀïÀï6Àï8ÀïEÀï‰Àï¤Àï¹ÀïÀÀïÜÀïðÀï÷Àð&Àð+Àð-Àð:Àð•Àð—Àð¤ÀðÅÀðØÀðþÀñ%Àñ8Àñ?Àñ’ÀñÔÀñÙÀñÜÀñÞÀòÀò8Àò:ÀòPÀòlÀònÀò{Àò½ÀòÝÀòòÀòùÀóÀó.Àó5ÀóiÀónÀópÀóœÀó¯ÀóÃÀóÊÀóàÀôÀôÀô.Àô^ÀôeÀôxÀô}ÀôÀô»ÀôÜÀôñÀôøÀõ"ÀõIÀõ`ÀõiÀõpÀõ‚Àõ‡Àõ‰ÀõÔÀõõÀö ÀöÀö:Àö|Àö“ÀöœÀö£ÀöµÀöºÀö¼ÀöÉÀöüÀ÷À÷7À÷XÀ÷{À÷¢À÷§À÷ªÀ÷¬À÷ùÀø:ÀøQÀø’Àø”ÀøäÀù)Àù@Àù€Àù‚ÀùÏÀúÀúTÀúœÀúÛÀúÞÀúàÀû-ÀûrÀû€Àû¾ÀûíÀûðÀûòÀü?Àü{Àü€Àü·Àý ÀýÀý�Àý˜Àý÷Àþ ÀþBÀþŽÀþ±ÀþþÀÿÀÿlÀÿ€ÀÿäÀGÀJÀLÀ™ÀæÀÀSÀnÀÁÀÀ À ÀKÀsÀuÀÉÀóÀÀ À ÀÀ;ÀNÀtÀ›À®ÀµÀûÀÀÀÀKÀpÀrÀÀÌÀÀ"À}À„ÀÇÀÉÀòÀÀ:À^ÀƒÀ¨À¿À ÀÀ'À=ÀDÀIÀKÀXÀ‹ÀÖÀÛÀÞÀàÀ3À^À}ÀÀÏÀ À !À .À {À ³À ÑÀ ,À 3À vÀ xÀ ¢À åÀ ìÀ îÀ À [À bÀ dÀ …À ˜À àÀ èÀ íÀ ðÀ òÀ XÀ «À ­À ÇÀ ìÀ À À À zÀ ³ÀÀ ÀÀ]À¾ÀÅÀÇÀ ÀgÀnÀpÀ‚À‡À‰À–ÀùÀ<À“ÀšÀôÀöÀ[ÀpÀwÀyÀšÀÂÀÀ(À/À1ÀRÀwÀ«ÀÀÀÇÀÉÀÀiÀpÀrÀ„À‰À‹À«ÀÑÀñÀÀÀdÀ¾ÀÅÀÀNÀ©À°ÀÂÀÇÀÉÀ#À^À¸À¿ÀÑÀÖÀØÀåÀÀMÀgÀ•ÀœÀ½ÀùÀÀÀTÀ[ÀtÀyÀ|À~ÀäÀ-À/ÀKÀgÀiÀvÀÙÀÀsÀzÀÔÀÖÀþÀQÀXÀZÀŸÀúÀÀÀÀÀÀ)ÀŒÀŸÀ¤À¦À³ÀæÀ-ÀKÀ�ÀˆÀ¡À¦À©À«ÀÀ)À+À8À–À¿À À'À9À>À@ÀMÀ«ÀîÀ EÀ LÀ ¦À ëÀ!>À!EÀ!žÀ!ÓÀ".À"5À"GÀ"LÀ"NÀ"[À"ÁÀ"ÄÀ"ÆÀ##À#cÀ#eÀ#‰À#‹À#˜À#÷À$ À$�À$ˆÀ$ŠÀ$ÀÀ%!À%(À%*À%<À%AÀ%CÀ%PÀ%®À%ñÀ&HÀ&OÀ&©À&îÀ'AÀ'HÀ'¡À'ÑÀ(,À(3À(EÀ(JÀ(LÀ(YÀ(�À(ïÀ(òÀ(ôÀ)OÀ)†À)ˆÀ)¤À)¦À)³À*À*TÀ*«À*²À+ À+4À+‡À+ŽÀ+ À+¥À+§À+´À,À,&À,+À,-À,:À,›À,žÀ, À,ËÀ-(À-fÀ-¤À-êÀ.À. À.À.+À.HÀ.aÀ.…À.§À.ÃÀ.ÅÀ.ÒÀ/!À/PÀ/�À/¨À/ÛÀ0À0À0À0[À0tÀ0À0�À0§À0ÜÀ1À1À1À1cÀ1|À1‡À1�À1—À1©À1®À1°À2 À2RÀ2fÀ2mÀ2oÀ2—À2ºÀ2ÏÀ3 À3*À38À3[À3pÀ3ÁÀ3ËÀ3ÒÀ3×À3ÙÀ4-À4WÀ4jÀ4oÀ4qÀ4~À4ŸÀ4²À4ØÀ4ÿÀ5À5À5_À5dÀ5fÀ5sÀ5§À5îÀ5ñÀ5óÀ6#À6ZÀ6\À6}À6™À6›À6¨À6ÛÀ79À7>À7@À7MÀ7�À7¯À7øÀ8)À8@À8IÀ8KÀ8vÀ8ÇÀ8ÿÀ9À9#À9,À9.À9eÀ9sÀ9ˆÀ9�À9”À9—À9™À9ÀÀ9ñÀ9óÀ:À:*À:,À:9À:lÀ:ÃÀ:ÈÀ:ÊÀ:×À;À;9À;kÀ; À;ÕÀ< À<=ÀÀ>6À>8À>ZÀ>\À>iÀ>�À>ÀÀ>ÐÀ?;À?`À?{À?˜À?¼À?ïÀ@ À@À@GÀ@„À@£À@èÀAÀA=ÀAFÀAzÀA–ÀA�ÀAŸÀAòÀB#ÀBTÀBaÀBœÀBºÀBåÀBðÀBòÀC?ÀCfÀC§ÀC²ÀC´ÀDÀDpÀD{ÀD}ÀD¾ÀDçÀEÀE%ÀEŠÀE�ÀEºÀEÖÀEáÀEêÀEóÀEøÀEúÀFÀF:ÀF�ÀF¢ÀF¥ÀF§ÀFÖÀFñÀGÀG*ÀGNÀGgÀGŠÀG¤ÀGÈÀGëÀHÀH;ÀHhÀH„ÀH¦ÀH¿ÀHØÀHûÀIÀIEÀIjÀIˆÀI–ÀI»ÀIÚÀJÀJ!ÀJGÀJeÀJƒÀJ¦ÀJÂÀJáÀKÀK#ÀKCÀKhÀK‡ÀK·ÀKÕÀKõÀLÀL6ÀLWÀLuÀL’ÀL´ÀLÙÀLøÀM"ÀMHÀMhÀMŽÀM®ÀM¾ÀMàÀNÀN,ÀNUÀNÀN¦ÀNÏÀNöÀOÀOHÀOƒÀO¿ÀOõÀP,ÀPRÀP}ÀP ÀPÂÀPæÀQÀQVÀQ|ÀQ¡ÀQÂÀQéÀR ÀR(ÀROÀR¦ÀRëÀSHÀS�ÀSêÀT,ÀTnÀT¿ÀTûÀUFÀUŽÀUÓÀVÀVuÀVºÀVìÀW>ÀW€ÀWÈÀXÀX[ÀX¦ÀXèÀY'ÀYuÀYÌÀZÀZwÀZ¹À[À[[À[µÀ[ýÀ\À\3À\zÀ\ÇÀ] À]|À]ÛÀ^1À^�À^ãÀ_9À_›À_ØÀ`9À`wÀ`ÚÀa<Àa†ÀaÍÀbÀbTÀb¯ÀbéÀcDÀc¡ÀcôÀd,ÀdƒÀd¼ÀeÀehÀesÀe‹ÀeÄÀeÛÀf=Àf?Àf\ÀftÀf Àf·ÀfâÀfúÀg&ÀgGÀg|Àg�ÀgÒÀgìÀhÀhQÀhxÀh�Àh¢ÀhÀÀhÞÀiÀi+ÀiMÀi‚Ài„Ài¿ÀiÆÀj ÀjÀjÖÀkÀk,Àk.Àk;ÀkÀkÍÀkçÀlÀlÀlAÀl„Àl‹Àl¥ÀlÔÀlÛÀlÿÀmBÀmIÀmbÀm�Àm–Àm¹ÀmúÀnÀn$ÀnfÀnmÀnšÀnïÀnöÀoÀo[ÀobÀo�ÀoäÀoëÀpÀp:ÀpAÀp_Àp–Àp�Àp¼ÀpñÀq ÀqUÀqšÀq´ÀqìÀrÀrQÀr–Àr°Àr²ÀrÛÀs0Às9ÀseÀsÀÀsÉÀsÐÀsíÀtÀt7Àt~ÀtÁÀtÛÀuÀu(ÀupÀu³ÀuÍÀuÏÀuöÀvGÀvPÀvzÀvÑÀvÚÀváÀwÀwCÀwJÀwcÀw�Àw—Àw°ÀwÝÀwäÀxÀxHÀxOÀxrÀx³ÀxºÀxáÀy*Ày1ÀySÀy“ÀyšÀy¼ÀyúÀzÀz@Àz†Àz�ÀzªÀzÙÀ{:À{UÀ{–À{òÀ|À|AÀ|LÀ|fÀ|oÀ|vÀ|�À|”À|–À|òÀ}À}1À}8À}fÀ}˜À}óÀ~ À~À~CÀ~vÀ~ªÀ~èÀ+ÀBÀKÀRÀdÀiÀkÀxÀºÀÓÀöÀ€ À€2À€dÀ€nÀ€uÀ€wÀ€§À€ÚÀ�+À�NÀ�VÀ�XÀ�‰À�ÔÀ�ÛÀ�ÿÀ‚CÀ‚iÀ‚•À‚ÅÀ‚ØÀƒ7Àƒ>ÀƒlÀƒµÀƒ¼ÀƒßÀ„!À„†À„ãÀ„êÀ…À…fÀ…mÀ…‘À…ÕÀ…ûÀ†'À†WÀ†jÀ†ÉÀ†ÐÀ‡À‡yÀ‡€À‡­ÀˆÀˆ)Àˆ^Àˆ—ÀˆªÀˆÍÀˆâÀ‰-À‰7À‰>À‰ŠÀ‰çÀ‰îÀŠÀŠqÀŠ—ÀŠÌÀ‹À‹À‹;À‹PÀ‹›À‹¥À‹¬À‹ãÀŒ2ÀŒ9ÀŒ‚ÀŒÖÀŒÝÀ� À�TÀ�[À�ŽÀ�ÜÀ�ãÀŽ/ÀŽŒÀŽ“ÀŽëÀ�PÀ�WÀ�£À�À�À�=À�žÀ�¥À�âÀ‘5À‘<À‘[À‘§À‘ðÀ’GÀ’ƒÀ’»À“À“>À“_À“ˆÀ“œÀ“ÈÀ“ÕÀ“àÀ“éÀ“ëÀ”3À”XÀ”oÀ”óÀ”ÿÀ•À•À•JÀ•‹À•ÛÀ–À–/À–UÀ––À–×À—À—*À—]À—‹À—µÀ—ÃÀ—ÏÀ—ØÀ˜ À˜1À˜dÀ˜˜À˜ÈÀ˜ÖÀ˜âÀ˜ëÀ™6À™–À™ŸÀ™ñÀš-ÀšfÀšoÀšqÀš¡ÀšÑÀ›À›VÀ›¸À›ÃÀ›ÌÀ›ÓÀ›ðÀœ6ÀœyÀœÊÀ�À�4À�}À�©À�ÈÀ�íÀžÀž)Àž6ÀžAÀžJÀžLÀž�ÀžµÀžÌÀŸHÀŸTÀŸ]ÀŸdÀŸ�ÀŸžÀŸ°ÀŸõÀ BÀ SÀ oÀ zÀ �À ™À žÀ  À ôÀ¡À¡1À¡6À¡8À¡EÀ¡fÀ¡yÀ¡ŸÀ¡ÆÀ¡ÙÀ¡àÀ¢&À¢+À¢-À¢uÀ¢‚À¢µÀ£ À£À£6À£›À£©À¤ À¤À¤À¤À¤À¤XÀ¤‹À¤�À¤¸À¤ºÀ¤ÇÀ¤úÀ¥.À¥3À¥5À¥BÀ¥‡À¥ÈÀ¥âÀ¥öÀ¥ýÀ¦À¦À¦ À¦"À¦dÀ¦œÀ¦žÀ¦ÉÀ¦ËÀ¦ØÀ§ À§MÀ§RÀ§TÀ§aÀ§¦À§çÀ¨À¨À¨ À¨2À¨7À¨:Y findsNothing findsWidgetsfindsAnyfindsOneWidgetfindsOne findsNWidgets findsExactlyfindsAtLeastNWidgets findsAtLeast isOffstage isOnstageisInCard isNotInCard colorEpsilonisSameColorSwatchAs isSameColorAsisSystemTextScalerhasOneLineDescriptionhasAGoodToStringDeepthrowsFlutterErrorthrowsAssertionErrorisFlutterErrorisAssertionError isInstanceOfmoreOrLessEqualsrectMoreOrLessEqualsmatrixMoreOrLessEqualsmatrix3MoreOrLessEqualsoffsetMoreOrLessEqualsequalsIgnoringHashCodes isMethodCallcoversSameAreaAsmatchesGoldenFilematchesReferenceImagematchesSemanticscontainsSemanticsmeetsGuidelinedoesNotMeetGuideline_FindsCountMatcher_hasAncestorMatching_hasAncestorOfType _IsOffstage _IsOnstage _IsInCard _IsNotInCard_IsSystemTextScaler_HasOneLineDescription_EqualsIgnoringHashCodes _isWhitespace_isVerticalLine_isAllTreeConnectorCharacters_HasGoodToStringDeep_kStandardDistanceFunctions _intDistance_doubleDistance_offsetDistance_maxComponentColorDistance_maxComponentHSVColorDistance_maxComponentHSLColorDistance _rectDistance_matrixDistance_matrix3Distance _sizeDistancewithin_IsWithinDistance_MoreOrLessEquals _IsMethodCallclipsWithBoundingRecthasNoImmediateClipclipsWithBoundingRRectclipsWithShapeBorderrendersOnPhysicalModelrendersOnPhysicalShape_FailWithDescriptionMatcher_MatchAnythingExceptClip_MatchRenderObject_RendersOnPhysicalModel_RendersOnPhysicalShape_ClipsWithBoundingRect_ClipsWithBoundingRRect_ClipsWithShapeBorder_CoversSameAreaAs_ColorSwatchMatcher _ColorMatcher_countDifferentPixels_MatchesReferenceImage_MatchesSemanticsData_MatchesAccessibilityGuideline#_DoesNotMatchAccessibilityGuideline%flutter.flutter_test.moreOrLessEquals�xTwo values are considered equal if the difference between them is within [precisionErrorTolerance] of the larger one. This is an arbitrary value which can be adjusted using the `epsilon` argument. This matcher is intended to compare floating point numbers that are the result of different sequences of operations, such that they may have accumulated slightly different errors.3flutter.flutter_test.matchesGoldenFile.custom_fonts†÷## Including Fonts Custom fonts may render differently across different platforms, or between different versions of Flutter. For example, a golden file generated on Windows with fonts will likely differ from the one produced by another operating system. Even on the same platform, if the generated golden is tested with a different Flutter version, the test may fail and require an updated image. By default, the Flutter framework uses a font called 'Ahem' which shows squares instead of characters, however, it is possible to render images using custom fonts. For example, this is how to load the 'Roboto' font for a golden test: {@tool snippet} How to load a custom font for golden images. ```dart testWidgets('Creating a golden image with a custom font', (WidgetTester tester) async { // Assuming the 'Roboto.ttf' file is declared in the pubspec.yaml file final Future font = rootBundle.load('path/to/font-file/Roboto.ttf'); final FontLoader fontLoader = FontLoader('Roboto')..addFont(font); await fontLoader.load(); await tester.pumpWidget(const MyWidget()); await expectLater( find.byType(MyWidget), matchesGoldenFile('myWidget.png'), ); }); ``` {@end-tool} The example above loads the desired font only for that specific test. To load a font for all golden file tests, the `FontLoader.load()` call could be moved in the `flutter_test_config.dart`. In this way, the font will always be loaded before a test: {@tool snippet} Loading a custom font from the flutter_test_config.dart file. ```dart Future testExecutable(FutureOr Function() testMain) async { setUpAll(() async { final FontLoader fontLoader = FontLoader('SomeFont')..addFont(someFont); await fontLoader.load(); }); await testMain(); } ``` {@end-tool}Ï