X_attachedController_animationControllerssizepixelssizeToPixels
isAttachedpixelsToSize	animateTojumpToreset_assertAttached_attach_onExtentReplaced_detach_disposeAnimationControllersinitialChildSizeminChildSizemaxChildSizeexpandsnap	snapSizessnapAnimationDuration
controllershouldCloseOnMinExtentbuildercreateStateextent	minExtent	maxExtentinitialExtentcontextdebugFillDescription_cancelActivityminSizemaxSizeinitialSize_currentSizeavailablePixels
hasDragged
hasChangedisAtMinisAtMaxcurrentSizecurrentPixelspixelSnapSizesstartActivityaddPixelDelta
updateSizedisposecopyWith_scrollController_extent	initState_impliedSnapSizesdidUpdateWidgetdidChangeDependenciesbuild_replaceExtent_snapSizeErrorMessageonPositionDetachedcreateScrollPositionpositiondetach_dragCancelCallback	getExtent_ballisticControllerslistShouldScrollabsorbbeginActivityapplyUserOffset_getCurrentSnapSize_isAtSnapSize_shouldSnapgoBallisticdragchild	_notifier
_wasCalled	sendReset
_sendResetshouldResetvelocityminimumSpeed_pixelSnapSizedxisDonex_getSnapSizeScrollableWidgetBuilderDraggableScrollableControllerDraggableScrollableSheetDraggableScrollableNotification_DraggableSheetExtent_DraggableScrollableSheetState)_DraggableScrollableSheetScrollController'_DraggableScrollableSheetScrollPositionDraggableScrollableActuator!_DraggableScrollableActuatorState_ResetNotifier_InheritedResetNotifier_SnappingSimulationBuildContextScrollControllerAxisscrollController
ScrollViewSingleChildScrollViewListViewGridViewWidgetStatebuild
ListenableChangeNotifier kFlutterMemoryAllocationsEnabledmaybeDispatchObjectCreationSetAnimationControllerdoubleextentcurrentSizecurrentPixelssizeToPixelsScrollPositionbool
hasClientspixelsToSizesnapFutureWidgetTesterpumpAndSettlevoidDurationCurvedurationzero	unboundedvsyncpositioncontextvalueaddgoIdle
hasDragged
hasChangedstartActivity
onCanceledisAnimatingstopaddListener
updateSizenotificationContext	animateToclampDoubleminSizemaxSizecurveinitialChildSizereset_currentSizenotifyListenersonPositionDetacheddisposeExtentdisposeremoveListeneranimationControllerclear
ScrollablejumpToListTileScaffoldScrollBehaviorPointerDeviceKindmousedragDevicesStatefulWidgetCenterListoverrideNotificationNotificationListenerdepthsetStateFloatingActionButtonViewportNotificationMixinStringdebugFillDescriptionValueNotifierinfinitydebugMaybeDispatchCreatedVoidCallbackmaptoListcall	minExtent	maxExtentinitialExtentshouldCloseOnMinExtentdispatchdebugMaybeDispatchDisposed	snapSizessnapAnimationDurationinitialSize	initStatewidgetminChildSizemaxChildSize
controller_attachindexlengthisEmptyfirstlastdidUpdateWidget_detachdidChangeDependenciesshouldResetValueListenableBuildervalueListenablebuilderLayoutBuilderBoxConstraintsavailablePixelsconstraintsbiggestheightFractionallySizedBoxheightFactor	alignment	AlignmentbottomCenterchildexpandSizedBoxcopyWith_onExtentReplacedWidgetsBindinginstanceaddPostFrameCallback	positions	elementAtgoBallistic
debugLabelintasMapkeystoStringPrimaryScrollControllerScrollPhysicsScrollContextphysicsapplyToAlwaysScrollableScrollPhysicsoldPosition	getExtent_cancelActivityoffsetmillisecondsCurveslineardetachScrollActivityViewportScrollPositionWithSingleContextpixelsabsorb_dragCancelCallbackballisticControllerbeginActivityisAtMinisAtMaxaddPixelDeltaapplyUserOffsetfirstWhereOrNullsnapSizeabstoleranceFordistance
SimulationinitialVelocitypixelSnapSizepixelSnapSizes	toleranceClampingScrollSimulationvelocityobjectRuntimeTypesignisCompletedanimateWithwhenCompleteOrCancelcontainsremoveDragDragStartDetailsdrag"dependOnInheritedWidgetOfExactType
_sendResetnotifierhasListenersInheritedNotifier	sendResetInheritedWidget
_wasCalledinMillisecondsminmax
indexWheresize	ChangeNotifierStatefulWidgetNotificationViewportNotificationMixinStateScrollControllerScrollPositionWithSingleContextInheritedNotifier
Simulation3s9Bq       !$math$	dart:math  ,   "package:collection/collection.dart  Y   package:flutter/foundation.dart     package:flutter/gestures.dart     
basic.dart     binding.dart     framework.dart     inherited_notifier.dart     layout_builder.dart  1   notification_listener.dart  V   scroll_activity.dart  u   scroll_context.dart     scroll_controller.dart     scroll_notification.dart     scroll_physics.dart     scroll_position.dart     (scroll_position_with_single_context.dart  G   scroll_simulation.dart  h   value_listenable_builder.dart d  I <ՁCo*+Xׂ0UtփFgхW[2PՇو)w{ĉ\,iȊ,267yˋ̌#7N׌$()]ӏ ."_cdCPӒٓ'FL0t5\ՖFrĖ+Zq˗ *3:c	2ÙʙΙϚTZ@C`w#O07;<˞+AMp7ɢkͣg	6Cݤ
] AEϧptF2yɩK۫(GK37խ";?SW?ڮiLưʱ)-.Q`Բ4\w!xyɴ4ٵ߶"#sֶ׷'DJl۷:ݸ@bh
Z`a)*gm"n
 &uQÿĿ @K @ @ @ @ A( A) Av A A A B% BJ BK B B B C# C$ C0 C C C C D D. D2 D D E EY E E F F Fi F G	 GV G G H@ H{ H I( I7 I= I I J J J9 JV Jw J J J J K  KK Ko K K K K K L3 LM LN Ls L L L L L M# M) My M M N N Ng N N N O O O$ O\ O O P P P P P PN P P P Q QQ QU Q Q Q R! R? RY Rt R R R R S S+ SA SW S S S S T TP Tz T T U U" U# UD UE U] Uu U U U U V V> VX VY V V V W W WY Wh W W XN X X X X Y Y@ YA Yq Y Y Y Y ZM Z Z Z [( [8 [s [ [ [ [ \ \: \@ \ \ ] ]9 ]V ]r ] ] ] ^ ^1 ^? ^E ^ ^ ^ ^ ^ ^ _F _\ _ _ `
 ` ` `D `i ` ` ` ` ` a( aA aE aF am a a a a a a a b b9 bU bY bZ b} b b b b c cC cm ct c c c c c d( dH d d d e5 e> e\ ez e e e e e f fQ fw fx f f f f f g g6 g\ g g h  h h[ h h h h i i? iM i j j j jZ j j j k
 kK k k k k l l` lg lk ll lx l l m mA mv m| m m m m m m n( nI nO nS nT n` n n n o: o o p p2 pa p{ p p p p q q$ q( q) q5 qH qm q q q q q r r
 r rQ r r r r s s9 st s s s t1 t t t u uU us u u v vU v v w= wp w x x( xc x x x y y y y yC y y z	 z3 z; zX zi z z z z z {F {k {o { | |J |N |\ |` | | } }f }z } ~
 ~ ~+ ~O ~P ~\ ~ ~ ~ ~ ~ - t         H p t u      2 Q p    +        4 P T V W     b       v    2 I f l m    E F y z      , : @ A n        H        ! > n     < B F G    ' ]       6 7 C V         C r      Y z       H p    - 6 C    M u       _ {      > n   R     T y    j    & 0 N V \ ] u    I r |      1 _        l   L P   =    S     A B     6 U [    ) _      ? A B       N R S _ r       ' U j      
  C ^ _        $ ; L P R S   ^     : R X    E _ s y   , ` v z | }     . S h o    d j   ; v          L k          ( , - 9 V |       W        _ {  & F i o      c   , I X q y      C G I   ^/// @docImport 'package:flutter/material.dart';
/// @docImport 'package:flutter_test/flutter_test.dart';
///
/// @docImport 'primary_scroll_controller.dart';
/// @docImport 'scroll_configuration.dart';
/// @docImport 'scroll_view.dart';
/// @docImport 'scrollable.dart';
/// @docImport 'single_child_scroll_view.dart';
/// @docImport 'viewport.dart';$ +  X              0  U  t            F  g           kk 8/// Creates a controller for [DraggableScrollableSheet].  d9>d ǋȋƋ{N    ΋΀0T/// Get the current size (as a fraction of the parent height) of the attached sheet.   7/// Get the current pixel height of the attached sheet.   9&/// Returns Whether any [DraggableScrollableController] objects have attached themselves to the
/// [DraggableScrollableSheet].
///
/// If this is false, then members that interact with the [ScrollPosition],
/// such as [sizeToPixels], [size], [animateTo], and [jumpTo], must not be
/// called. 
     ++S/// Convert a sheet's size (fractional value of parent container height) to pixels.     Y/// Convert a sheet's pixel height to size (fractional value of parent container height).         ۔  ffg	/// Animates the attached sheet from its current size to the given [size], a
/// fractional value of the parent container's height.
///
/// Any active sheet animation is canceled. If the sheet's internal scrollable
/// is currently animating (e.g. responding to a user fling), that animation is
/// canceled as well.
///
/// An animation will be interrupted whenever the user attempts to scroll
/// manually, whenever another activity is started, or when the sheet hits its
/// max or min size (e.g. if you animate to 1 but the max size is .8, the
/// animation will stop playing when it reaches .8).
///
/// The duration must not be zero. To jump to a particular value without an
/// animation, use [jumpTo].
///
/// The sheet will not snap after calling [animateTo] even if [DraggableScrollableSheet.snap]
/// is true. Snapping only occurs after user drags.
///
/// When calling [animateTo] in widget tests, `await`ing the returned
/// [Future] may cause the test to hang and timeout. Instead, use
/// [WidgetTester.pumpAndSettle].   QQX  љфiJ[/// Jumps the attached sheet from its current size to the given [size], a
/// fractional value of the parent container's height.
///
/// If [size] is outside of a the attached sheet's min or max child size,
/// [jumpTo] will jump the sheet to the nearest valid size instead.
///
/// Any active sheet animation is canceled. If the sheet's inner scrollable
/// is currently animating (e.g. responding to a user fling), that animation is
/// canceled as well.
///
/// The sheet will not snap after calling [jumpTo] even if [DraggableScrollableSheet.snap]
/// is true. Snapping only occurs after user drags.   >>d/// Reset the attached sheet to its initial size (see: [DraggableScrollableSheet.initialChildSize]).       :-      $  5    ѣ ãÁ      /2/// Controls a [DraggableScrollableSheet].
///
/// Draggable scrollable controllers are typically stored as member variables in
/// [State] objects and are reused in each [State.build]. Controllers can only
/// be used to control one sheet at a time. A controller can be reused with a
/// new sheet if the previous sheet has been disposed.
///
/// The controller's methods cannot be used until after the controller has been
/// passed into a [DraggableScrollableSheet] and the sheet has run initState.
///
/// A [DraggableScrollableController] is a [Listenable]. It notifies its
/// listeners whenever an attached sheet changes sizes. It does not notify its
/// listeners when a sheet is first attached or when an attached sheet's
/// parameters change without affecting the sheet's current size. It does not
/// fire when [pixels] changes without [size] changing. For example, if the
/// constraints provided to an attached sheet change.  6 N    UU	[   ddi            ز         ##(   88"=   ``n *|βV~Ƴ̳ڳͳݳ(.uME/HfPhpqゔ J/// Creates a widget that can be dragged and scrolled in a single gesture. 
 {w/// The initial fractional value of the parent container's height to use when
/// displaying the widget.
///
/// Rebuilding the sheet with a new [initialChildSize] will only move
/// the sheet to the new value if the sheet has not yet been dragged since it
/// was first built or since the last call to [DraggableScrollableActuator.reset].
///
/// The default value is `0.5`. ȶ%Ȁ/// The minimum fractional value of the parent container's height to use when
/// displaying the widget.
///
/// The default value is `0.25`. {ـ{/// The maximum fractional value of the parent container's height to use when
/// displaying the widget.
///
/// The default value is `1.0`. 귌dB/// Whether the widget should expand to fill the available space in its parent
/// or not.
///
/// In most cases, this should be true. However, in the case of a parent
/// widget that will position this one based on its desired size (such as a
/// [Center]), this should be set to false.
///
/// The default value is true. #2#/// Whether the widget should snap between [snapSizes] when the user lifts
/// their finger during a drag.
///
/// If the user's finger was still moving when they lifted it, the widget will
/// snap to the next snap size (see [snapSizes]) in the direction of the drag.
/// If their finger was still, the widget will snap to the nearest snap size.
///
/// Snapping is not applied when the sheet is programmatically moved by
/// calling [DraggableScrollableController.animateTo] or [DraggableScrollableController.jumpTo].
///
/// Rebuilding the sheet with snap newly enabled will immediately trigger a
/// snap unless the sheet has not yet been dragged away from
/// [initialChildSize] since first being built or since the last call to
/// [DraggableScrollableActuator.reset]. ,U/// A list of target sizes that the widget should snap to.
///
/// Snap sizes are fractional values of the parent container's height. They
/// must be listed in increasing order and be between [minChildSize] and
/// [maxChildSize].
///
/// The [minChildSize] and [maxChildSize] are implicitly included in snap
/// sizes and do not need to be specified here. For example, `snapSizes = [.5]`
/// will result in a sheet that snaps between [minChildSize], `.5`, and
/// [maxChildSize].
///
/// Any modifications to the [snapSizes] list will not take effect until the
/// `build` function containing this widget is run again.
///
/// Rebuilding with a modified or new list will trigger a snap unless the
/// sheet has not yet been dragged away from [initialChildSize] since first
/// being built or since the last call to [DraggableScrollableActuator.reset].  @ƀ @/// Defines a duration for the snap animations.
///
/// If it's not set, then the animation duration is the distance to the snap
/// target divided by the velocity of the widget.  A @{ AI/// A controller that can be used to programmatically control this sheet.  B2 A+ B2/// Whether the sheet, when dragged (or flung) to its minimum size, should
/// cause its parent sheet to close.
///
/// Set on emitted [DraggableScrollableNotification]s. It is up to parent
/// classes to properly read and handle this value.  C BM C/// The builder that creates a child to display in this widget, which will
/// use the provided [ScrollController] to enable dragging and scrolling
/// of the contents.     C& C' C& C&^ CR  /// A container for a [Scrollable] that responds to drag gestures by resizing
/// the scrollable until a limit is reached, and then scrolling.
///
/// {@youtube 560 315 https://www.youtube.com/watch?v=Hgw819mL_78}
///
/// This widget can be dragged along the vertical axis between its
/// [minChildSize], which defaults to `0.25` and [maxChildSize], which defaults
/// to `1.0`. These sizes are percentages of the height of the parent container.
///
/// The widget coordinates resizing and scrolling of the widget returned by
/// builder as the user drags along the horizontal axis.
///
/// The widget will initially be displayed at its initialChildSize which
/// defaults to `0.5`, meaning half the height of its parent. Dragging will work
/// between the range of minChildSize and maxChildSize (as percentages of the
/// parent container's height) as long as the builder creates a widget which
/// uses the provided [ScrollController]. If the widget created by the
/// [ScrollableWidgetBuilder] does not use the provided [ScrollController], the
/// sheet will remain at the initialChildSize.
///
/// By default, the widget will stay at whatever size the user drags it to. To
/// make the widget snap to specific sizes whenever they lift their finger
/// during a drag, set [snap] to `true`. The sheet will snap between
/// [minChildSize] and [maxChildSize]. Use [snapSizes] to add more sizes for
/// the sheet to snap between.
///
/// The snapping effect is only applied on user drags. Programmatically
/// manipulating the sheet size via [DraggableScrollableController.animateTo] or
/// [DraggableScrollableController.jumpTo] will ignore [snap] and [snapSizes].
///
/// By default, the widget will expand its non-occupied area to fill available
/// space in the parent. If this is not desired, e.g. because the parent wants
/// to position sheet based on the space it is taking, the [expand] property
/// may be set to false.
///
/// {@tool dartpad}
///
/// This is a sample widget which shows a [ListView] that has 25 [ListTile]s.
/// It starts out as taking up half the body of the [Scaffold], and can be
/// dragged up to the full height of the scaffold or down to 25% of the height
/// of the scaffold. Upon reaching full height, the list contents will be
/// scrolled up or down, until they reach the top of the list again and the user
/// drags the sheet back down.
///
/// On desktop and web running on desktop platforms, dragging to scroll with a mouse is disabled by default
/// to align with the natural behavior found in other desktop applications.
///
/// This behavior is dictated by the [ScrollBehavior], and can be changed by adding
/// [PointerDeviceKind.mouse] to [ScrollBehavior.dragDevices].
/// For more info on this, please refer to https://docs.flutter.dev/release/breaking-changes/default-scroll-behavior-drag
///
/// Alternatively, this example illustrates how to add a drag handle for desktop applications.
///
/// ** See code in examples/api/lib/widgets/draggable_scrollable_sheet/draggable_scrollable_sheet.0.dart **
/// {@end-tool}   I  I     J J J    J  J  J.    J= J= JK    JZ JZ Jh    J{ J{ J    J J" J % J J J J J J J J J J J J J K K	 K K K
 K K' K- KH K8 K. K; KR KX Kl K` KY Kc Kv K| K K K} K H Hق /// Creates a notification that the extent of a [DraggableScrollableSheet] has
/// changed.
///
/// All parameters are required. The [minExtent] must be >= 0. The [maxExtent]
/// must be <= 1.0. The [extent] must be between [minExtent] and [maxExtent].   K K_ KI/// The current value of the extent, between [minExtent] and [maxExtent].  LB LJ LB1/// The minimum value of [extent], which is >= 0.  L LP; L"/// The maximum value of [extent].  L LL L//// The initially requested value for [extent].  N L4 N/// The build context of the widget that fired this notification.
///
/// This can be used to find the sheet's render objects to determine the size
/// of the viewport, for instance. A listener can only assume this context
/// is live when it first gets the notification.  N N N/// Whether the widget that fired this notification, when dragged (or flung)
/// to minExtent, should cause its parent sheet to close.
///
/// It is up to parent classes to properly read and handle this value.      O@ O@ OM  O O O O O+   C C H/// A [Notification] related to the extent, which is the size, and scroll
/// offset, which is the position of the child list, of the
/// [DraggableScrollableSheet].
///
/// [DraggableScrollableSheet] widgets notify their ancestors when the size of
/// the sheet changes. When the extent of the sheet changes via a drag,
/// this notification bubbles up through the tree, which means a given
/// [NotificationListener] will receive notifications for all descendant
/// [DraggableScrollableSheet] widgets. To focus on notifications from the
/// nearest [DraggableScrollableSheet] descendant, check that the [depth]
/// property of the notification is zero.
///
/// When an extent notification is received by a [NotificationListener], the
/// listener will already have completed build and layout, and it is therefore
/// too late for that widget to call [State.setState]. Any attempt to adjust the
/// build or layout based on an extent notification would result in a layout
/// that lagged one frame behind, which is a poor user experience. Extent
/// notifications are used primarily to drive animations. The [Scaffold] widget
/// listens for extent notifications and responds by driving animations for the
/// [FloatingActionButton] as the bottom sheet scrolls up.   RA  RV  
   R] R] Rk    Rx Rx R    R R R    R R R    R R R    R R R    S S" S    S/ S/ S5    SE SE SK    S[ S[" S` 3 Sy S S S S S S S S S S S S S S S S S S S S T S S S T T T) T T, T9 T@ T: TA TM TB Tg TW Ti To Tp T T T T T T T T T T RA RA     U3 U% U3   UT UG UT   Ul U_ Ul   U Uw U   U U U   U U% U   U U U   U U! U   V0 V( V0   VG V@ VG   V V V   X X X     X X2 X     Y Y2 Y     YC YC- YN     Ys Ys= Y~     Y YH Y      [N [N  [d   Z  Z  [?-/// Start an activity that affects the sheet and register a cancel call back
/// that will be called if another activity starts.
///
/// The `onCanceled` callback will get called even if the subsequent activity
/// started after this one finished, so `onCanceled` must be safe to call at
/// any time.    \ \ \    \ \ ]   [ [ \ہ/// The scroll position gets inputs in terms of pixels, but the size is
/// expected to be expressed as a number between 0..1.
///
/// This should only be called to respond to a user drag. To update the
/// size in response to a programmatic call, use [updateSize] directly.    _n _n _u    _~ _~ _   ^ ^ _c/// Set the size to the new value. [newSize] should be a number between
/// [minSize] and [maxSize].
///
/// This can be triggered by a programmatic (e.g. controller triggered) change
/// or a user drag.    a\ a\ ac   aH aHW aO     a a a   a aS a     a a^ a     b b b    b b b    b b b    b b b    b b c    c c( c,    cG cG$ cU   b\ b\^ br   P P R'/// Manages state between [_DraggableScrollableSheetState],
/// [_DraggableScrollableSheetScrollController], and
/// [_DraggableScrollableSheetScrollPosition].
///
/// The State knows the pixels available along the axis the widget wants to
/// scroll, but expects to get a fraction of those pixels to render the sheet.
///
/// The ScrollPosition knows the number of pixels a user wants to move the sheet.
///
/// The [currentSize] will never be null.
/// The [availablePixels] will never be null, but may be `double.infinity`.    f> f@ f>   fn fS" fn      fz f{ fz fz f     h h h     l l, l  ln lo ln ln0 l    m m m m m     no no n|  nV nW nV nV ni    q+ q, q+ q+ q<     r! r!, rD   r r r     y/ y/ y3   y y y   e e5 e    }  }     } } ~    } }B     ~# ~ ~#   ~; ~-  ~;    w x w w       ~ ~ ~    ~ ~ ~    ~ ~ ~  ~R ~S ~R ~R ~            ـ                    r    z z` }/// A [ScrollController] suitable for use in a [ScrollableWidgetBuilder] created
/// by a [DraggableScrollableSheet].
///
/// If a [DraggableScrollableSheet] contains content that is exceeds the height
/// of its container, this controller will allow the sheet to both be dragged to
/// fill the container and then scroll the child content.
///
/// See also:
///
///  * [_DraggableScrollableSheetScrollPosition], which manages the positioning logic for
///    this controller.
///  * [PrimaryScrollController], which can be used to establish a
///    [_DraggableScrollableSheetScrollController] as the primary controller for
///    descendants.                  )    6 6 <    M M [    Ѐ     } o! }    0          N       * #     H H0 b  	        | } | |Z        	     ځ             U       ƀ       6       K     9 : 9 9 J     0 0 7     v $                  	    W WA |/// A scroll position that manages scroll activities for
/// [_DraggableScrollableSheetScrollController].
///
/// This class is a concrete subclass of [ScrollPosition] logic that handles a
/// single [ScrollContext], such as a [Scrollable]. An instance of this class
/// manages [ScrollActivity] instances, which changes the
/// [_DraggableSheetExtent.currentSize] or visible content offset in the
/// [Scrollable]'s [Viewport]
///
/// See also:
///
///  * [_DraggableScrollableSheetScrollController], which uses this as its [ScrollPosition].           	 %    * * 8   U U /// Creates a widget that can notify descendent [DraggableScrollableSheet]s
/// to reset to their initial position.
///
/// The [child] parameter is required.    D /// This child's [DraggableScrollableSheet] descendant will be reset when the
/// [reset] method is applied to a context that includes it.             /// Notifies any descendant [DraggableScrollableSheet] that it should reset
/// to its initial position.
///
/// Returns `true` if a [DraggableScrollableActuator] is available and
/// some [DraggableScrollableSheet] is listening for updates, `false`
/// otherwise.      d 	     }/// A widget that can notify a descendent [DraggableScrollableSheet] that it
/// should reset its position to the initial state.
///
/// The [Scaffold] uses this widget to notify a persistent bottom sheet that
/// the user has tapped back if the sheet has started to cover more of the body
/// than when at its initial position. This is important for users of assistive
/// technology, where dragging may be difficult to communicate.
///
/// This is just a wrapper on top of [DraggableScrollableController]. It is
/// primarily useful for controlling a sheet in a part of the widget tree that
/// the current code does not control (e.g. library code trying to affect a sheet
/// in library users' code). Generally, it's easier to control the sheet
/// directly by creating a controller and passing the controller to the sheet in
/// its constructor (see [DraggableScrollableSheet.controller]).       1               π     U V U UN f   B Bc H    W  e     W W    W J ۀ Jc/// Whether someone called [sendReset] or not.
///
/// This flag should be reset after checking it.      a a _/// Fires a reset notification to descendants.
///
/// Returns false if there are no listeners.    -/// A [ChangeNotifier] to use with [_InheritedResetNotifier] to notify
/// descendants that they should reset to initial state.   f  }            &      /// Creates an [InheritedNotifier] that the [DraggableScrollableSheet] will
/// listen to for an indication that it should reset itself back to [DraggableScrollableSheet.initialChildSize].         +             /// Specifies whether the [DraggableScrollableSheet] should reset to its
/// initial position.
///
/// Returns true if the notifier requested a reset, false otherwise.  S S( Y                       	 	#     2 2 <    W W ]                    m)                     k      G G N  / 0 / /P @            J                 } }    } }             /// The signature of a method that provides a [BuildContext] and
/// [ScrollController] for building a widget that may overflow the draggable
/// [Axis] of the containing [DraggableScrollableSheet].
///
/// Users should apply the [scrollController] to a [ScrollView] subclass, such
/// as a [SingleChildScrollView], [ListView] or [GridView], to have the whole
/// sheet be draggable.     package:flutter/material.dart    &package:flutter_test/flutter_test.dart    primary_scroll_controller.dart  L  scroll_configuration.dart  x  scroll_view.dart    scrollable.dart    single_child_scroll_view.dart    viewport.dart  <ՁCo*+Xׂ0UtփFgхW[2PՇو)w{ĉ\,iȊ,267yˋ̌#7N׌$()]ӏ ."_cdCPӒٓ'FL0t5\ՖFrĖ+Zq˗ *3:c	2ÙʙΙϚTZ@C`w#O07;<˞+AMp7ɢkͣg	6Cݤ
] AEϧptF2yɩK۫(GK37խ";?SW?ڮiLưʱ)-.Q`Բ4\w!xyɴ4ٵ߶"#sֶ׷'DJl۷:ݸ@bh
Z`a)*gm"n
 &uQÿĿ @K @ @ @ @ A( A) Av A A A B% BJ BK B B B C# C$ C0 C C C C D D. D2 D D E EY E E F F Fi F G	 GV G G H@ H{ H I( I7 I= I I J J J9 JV Jw J J J J K  KK Ko K K K K K L3 LM LN Ls L L L L L M# M) My M M N N Ng N N N O O O$ O\ O O P P P P P PN P P P Q QQ QU Q Q Q R! R? RY Rt R R R R S S+ SA SW S S S S T TP Tz T T U U" U# UD UE U] Uu U U U U V V> VX VY V V V W W WY Wh W W XN X X X X Y Y@ YA Yq Y Y Y Y ZM Z Z Z [( [8 [s [ [ [ [ \ \: \@ \ \ ] ]9 ]V ]r ] ] ] ^ ^1 ^? ^E ^ ^ ^ ^ ^ ^ _F _\ _ _ `
 ` ` `D `i ` ` ` ` ` a( aA aE aF am a a a a a a a b b9 bU bY bZ b} b b b b c cC cm ct c c c c c d( dH d d d e5 e> e\ ez e e e e e f fQ fw fx f f f f f g g6 g\ g g h  h h[ h h h h i i? iM i j j j jZ j j j k
 kK k k k k l l` lg lk ll lx l l m mA mv m| m m m m m m n( nI nO nS nT n` n n n o: o o p p2 pa p{ p p p p q q$ q( q) q5 qH qm q q q q q r r
 r rQ r r r r s s9 st s s s t1 t t t u uU us u u v vU v v w= wp w x x( xc x x x y y y y yC y y z	 z3 z; zX zi z z z z z {F {k {o { | |J |N |\ |` | | } }f }z } ~
 ~ ~+ ~O ~P ~\ ~ ~ ~ ~ ~ - t         H p t u      2 Q p    +        4 P T V W     b       v    2 I f l m    E F y z      , : @ A n        H        ! > n     < B F G    ' ]       6 7 C V         C r      Y z       H p    - 6 C    M u       _ {      > n   R     T y    j    & 0 N V \ ] u    I r |      1 _        l   L P   =    S     A B     6 U [    ) _      ? A B       N R S _ r       ' U j      
  C ^ _        $ ; L P R S   ^     : R X    E _ s y   , ` v z | }     . S h o    d j   ; v          L k          ( , - 9 V |       W        _ {  & F i o      c   , I X q y      C G I   DraggableScrollableControllerDraggableScrollableSheetDraggableScrollableNotification_DraggableSheetExtent_DraggableScrollableSheetState)_DraggableScrollableSheetScrollController'_DraggableScrollableSheetScrollPositionDraggableScrollableActuator!_DraggableScrollableActuatorState_ResetNotifier_InheritedResetNotifier_SnappingSimulation  