Q_defaultErrorDescriptiondurationpositioncaption captionOffsetbuffered isPlaying isLooping isBufferingvolume playbackSpeederrorDescription isCompletedsizerotationCorrection isInitializedhasError aspectRatiocopyWithtoString==hashCode dataSource httpHeaders formatHintdataSourceTypevideoPlayerOptionspackageviewType_closedCaptionFileFuture_closedCaptionFile_timer _isDisposed_creatingCompleter_eventSubscription_lifeCycleObserverkUninitializedPlayerId _playerIdplayerId initializedisposeplay setLoopingpause _applyLooping_applyPlayPause _applyVolume_applyPlaybackSpeedseekTo setVolumesetPlaybackSpeedsetCaptionOffset _getCaptionAtclosedCaptionFilesetClosedCaptionFile_updateClosedCaptionWithFuture_updatePositionremoveListener_isDisposedOrNotInitialized_wasPlayingBeforePause _controllerdidChangeAppLifecycleState controller createState _listener initStatedidUpdateWidget deactivatebuildrotationchild playedColor bufferedColorbackgroundColor_controllerWasPlayingcolorsallowScrubbingpaddinglistenertext textStyle_lastVideoPlayerPlatform_videoPlayerPlatformVideoPlayerValueVideoPlayerController_VideoAppLifeCycleObserver VideoPlayer_VideoPlayerState_VideoPlayerWithRotationVideoProgressColors VideoScrubber_VideoScrubberStateVideoProgressIndicator_VideoProgressIndicatorState ClosedCaption€âDataSourceType DurationRange VideoFormatVideoPlayerOptionsVideoPlayerWebOptionsVideoPlayerWebOptionsControls VideoViewTypeVideoPlayerPlatforminstanceinit immutableSizezeroDurationCaptionnoneduration isInitializedStringerrorDescriptionListbooldoubleintwidthheightsizepositioncaption captionOffsetbuffered isPlaying isLooping isBufferingvolume playbackSpeedrotationCorrection isCompletedoverrideobjectRuntimeTypejoinObject identical runtimeType listEqualshash ValueNotifierFutureClosedCaptionFile textureViewasset DeprecatednetworkUritoStringFilefileabsolutepathdefaultTargetPlatformTargetPlatformandroid contentUriMapTimer CompletervoidStreamSubscriptiondynamicvisibleForTestingallowBackgroundPlayback initialize DataSource sourceTypepackageuri formatHint httpHeadersVideoCreationOptions dataSourceviewType mixWithOtherssetMixWithOtherscreateWithOptionscompletekIsWeb webOptions setWebOptions VideoEvent eventTypeVideoEventType initializedvaluecopyWith StateError completedthenbufferingUpdatebufferingStart bufferingEndisPlayingStateUpdateunknownPlatformException erroneousmessagecancel completeErrorvideoEventsForlistenonErrorfuturedispose setLoopingplayperiodic millisecondspause setVolumesetPlaybackSpeed getPositionmomentseekToclamp ArgumentErrorcaptionsstartend VoidCallbackremoveListenerWidgetsBindingObserverWidgetsBinding addObserverAppLifecycleStatepausedresumedremoveObserverStatefulWidgetStatewidget controllerplayerIdsetState initState addListenerdidUpdateWidget deactivateWidget BuildContextkUninitializedPlayerId ContainerrotationchildbuildViewWithOptionsVideoViewOptionsStatelessWidget RotatedBox quarterTurnsfromRGBOColorOffset RenderBoxfindRenderObject globalToLocaldxGestureDetectorbehaviorHitTestBehavioropaqueonHorizontalDragStartDragStartDetailsonHorizontalDragUpdateDragUpdateDetailsdetailsglobalPositiononHorizontalDragEndDragEndDetails onTapDownTapDownDetailsonlytop EdgeInsetsmountedcolorsinMillisecondsrangeStackfitStackFit passthroughchildrenLinearProgressIndicator valueColorAlwaysStoppedAnimation bufferedColorbackgroundColor playedColorColors transparentPaddingpaddingallowScrubbingclosedCaptionFile TextStyletextisEmptyshrinkDefaultTextStyleofstylefontSizecolorwhiteAlign alignment Alignment bottomCenterbottom DecoratedBox decoration BoxDecoration borderRadius BorderRadiuscircular symmetric horizontalText ValueNotifierObjectWidgetsBindingObserverStatefulWidgetStateStatelessWidget€'ˆ$\�οcÞÜôqí‚!‚áDataSourceType DurationRange VideoFormatVideoPlayerOptionsVideoPlayerWebOptionsVideoPlayerWebOptionsControls VideoViewType�ÇLpackage:video_player_platform_interface/video_player_platform_interface.dart‚äsrc/closed_caption_file.dart€¦ dart:async€»dart:io€Îpackage:flutter/foundation.dart€øpackage:flutter/material.dart� package:flutter/services.dart�HLpackage:video_player_platform_interface/video_player_platform_interface.dart� src/closed_caption_file.dartÀP¤ÀŸë„Õ<€†€¤€¥€º€Ì€Í€÷��G�ž�Ÿ�Æ�Ç‚‚&‚>‚U‚j‚†‚¥‚Ì‚ã‚äƒ ƒ ƒ;ƒ<ƒkƒ·ƒì„:„L„h„˜„œ„¶„¸„¹……)…4…M…ž…Ù…ô††+†N†o†—†Ä†ä‡‡‡:‡Q‡o‡�‡«‡É‡Ï‡Ðˆˆ8ˆuˆvˆ³ˆïˆý‰"‰D‰u‰v‰ÉŠŠgŠhŠ�Š•ŠáŠüŠý‹"‹=‹>‹Œ‹’‹ÞŒŒ/Œ0Œ˜ŒžŒ¿ŒßŒà��+�,�f�~��£�»�¼�쎎Ž1ŽHŽIŽrŽ�ޑ޾ŽÄŽñ���E�K�–�Á�Û�Ü� �� �l�Œ���Ü�ø�ù‘H‘Œ‘½‘¾‘ê‘ð’ ’/’h’¢’½’þ“““O“k“}“ƒ“›“Ÿ“ “ð”5”S”k”{”“”©”Ɣ镕•,•C•W•r•�•ȕߕæ––.–M–x– –Ú——?—m—›—Ï—ô˜.˜w˜¼˜Ù˜ü™0™7™;™<™H™^™›™»™Ó™óšš;šjš”š¶šØšþ››D›t›››Ÿ› ›¬›Ð›ðœœAœiœ‘œ·œé��E�o���Á�óž+žKž‡ž¹žåžæžòŸŸ'Ÿ9ŸJŸaŸsŸ†Ÿ™Ÿ®Ÿ¾ŸÕŸïŸý  0 E N P Q ž ¬ ° ã ç¡7¡;¡{¡¡²¡ø¢B¢H¢š¢ê£ ££c£±£Î£í¤¤¤H¤e¤”¤Ê¤ù¥¥D¥„¥…¥É¥Ï¦¦¦f¦�¦“¦ä§2§O§U§�§º§ø¨¨0¨E¨w¨”¨Å¨ô©*©[©s©³©´©ø©þªAªGª•ª¼ªÂªü«'«K«Z«o«¡«¾«ï¬¬T¬y¬ª¬Â­­­K­Q­¢®®"®3®e®‚®³®â¯¯V¯„¯œ¯·¯÷¯ø°F°L°‡°°°Ô°ê±±9±h±¨±÷²-²Y²�²¥²À²ð³0³1³�³³³Î³Ï´ ´<´f´�´�´Ùµµ%µ&µkµ†µ­µ®¶ ¶<¶=¶Œ¶¥¶¦¶Ö¶Ü·(·H·I·€·©·º·Ö·ý¸0¸b¸c¸š¸¯¸ß¹ ¹ ¹[¹p¹…¹¦¹§¹øººEºƒº§ºäºê»»<»=»h»†»§»Ó»ÿ¼¼8¼C¼f¼’¼À¼Û¼ý½!½,½L½x½£½¾½â½í¾¾?¾p¾‹¾–¾œ¾�¾ä¿ ¿'¿.¿/¿d¿…¿Å¿Ë¿Ì¿ÜÀ@'À@KÀ@sÀ@¸À@¹À@ßÀAÀAKÀA^ÀA‡ÀA�ÀA–ÀA—ÀAÂÀAÛÀAëÀAóÀAôÀBÀB>ÀB`ÀB†ÀB¤ÀBÞÀCÀC5ÀCUÀCbÀCtÀC¤ÀCòÀD8ÀD†ÀDÃÀDÐÀEÀENÀEZÀEŠÀE¥ÀE¿ÀEÜÀFÀFNÀFœÀFêÀG!ÀGgÀGœÀGÉÀHÀH1ÀHfÀH�ÀHÆÀHøÀI"ÀI6ÀI†ÀI™ÀIÙÀIåÀJ ÀJÀJ#ÀJ)ÀJ*ÀJVÀJœÀJ¢ÀJ£ÀJÈÀKÀK:ÀKRÀK‚ÀK´ÀK¼ÀKÂÀKÃÀKñÀLÀLLÀLuÀLyÀLzÀL†ÀL§ÀL¾ÀLÌÀLÒÀLÓÀLùÀM!ÀM;ÀMWÀMqÀM�ÀMÔÀMÜÀNÀNÀNÀN4ÀN8ÀN9ÀNYÀN_ÀN°ÀN¶ÀOÀOOÀO_ÀO}ÀO©ÀOÌÀOÒÀOÿÀPÀP ÀP!ÀPnÀP’ÀPÂÀPòÀQ ÀQÀQÀQ*ÀQIÀQwÀQ”ÀQ˜ÀQ™ÀQÀÀQçÀQõÀQûÀRBÀRFÀRGÀRpÀR—ÀR¥ÀR«ÀRÆÀRøÀRùÀSÀS0ÀS[ÀSyÀS–ÀSªÀS¶ÀSîÀTÀT'ÀT3ÀT[ÀTfÀToÀTpÀT½ÀU ÀU!ÀUDÀUQÀUiÀUœÀU¢ÀU¦ÀU§ÀUÍÀUôÀVÀVÀVKÀVOÀVPÀV}ÀV¤ÀV²ÀV¸ÀV¹ÀWÀWQÀWƒÀWŸÀW­ÀW³ÀW´ÀWåÀWöÀXÀXÀXÀXÀXFÀXoÀX†ÀX™ÀXŸÀX×ÀXÛÀXÜÀY!ÀYhÀYnÀY¾ÀYÚÀZ ÀZ2ÀZ@ÀZFÀZkÀZŒÀZ·ÀZ×ÀZÝÀ[À[8À[<À[=À[dÀ[jÀ[»À[ÏÀ[ÿÀ\;À\UÀ\YÀ\ZÀ\ƒÀ\‰À\ÒÀ]À]%À]RÀ]™À]åÀ^}À^ÎÀ_À_kÀ_yÀ_ÉÀ`À`eÀ`�À`ÃÀ`ØÀ`ùÀaÀaGÀaPÀamÀaŽÀa�ÀaîÀa÷ÀaýÀaþÀb0ÀbQÀbUÀbVÀbuÀb{ÀbÕÀcÀc Àc8Àc~ÀcßÀdBÀdmÀd‰Àd¦ÀdÔÀdÛÀdßÀdàÀe'Àe-ÀexÀe™ÀeŸÀeïÀfÀf-ÀfSÀfnÀftÀfuÀfºÀgÀgEÀg•Àg­ÀgµÀg»Àg¼ÀgÕÀgÙÀgÚÀh#ÀhXÀh}Àh�Àh‚Àh¤ÀhªÀhñÀiÀiHÀiTÀi‘ÀiÃÀiÇÀiÈÀi÷Àj)Àj5ÀjgÀj«Àj¯Àj°ÀjÜÀk,Àk}Àk¬ÀkÑÀkòÀkøÀlÀl.ÀlVÀl…ÀlŒÀl�Àl‘Àl�ÀlÌÀm!ÀmpÀmˆÀm®Àm´Àm¸Àm¹ÀnÀn Àn ÀnYÀn‰ÀnŠÀn±ÀnÜÀnÝÀnóÀo"Ào&Ào'Ào3ÀopÀo�ÀoÙÀoôÀp)ÀpMÀpiÀpqÀpwÀp{Àp|Àp�ÀpÁÀpÅÀpÇÀpÈÀqÀq2Àq{Àq®Àq¯ÀqýÀrÀr:Àr;ÀrGÀr‚Àr„Àr…ÀrºÀrÒÀrçÀs!ÀsGÀs]Às€ÀsŒÀs”Às›ÀsŸÀs Às¿ÀsÀÀsÖÀs×ÀsãÀsøÀtÀt;Àt†ÀtËÀtùÀtýÀtþÀu Àu:Àu`Àu”ÀuÀÀuîÀuòÀuóÀuÿÀvÀv-Àv^ÀvbÀvcÀvoÀv–ÀvÛÀvñÀwÀwWÀw•ÀwÊÀwÙÀwæÀwêÀwìÀwíÀx&ÀxvÀx¿ÀxÀÀxÖÀxìÀxíÀxùÀy Ày9ÀyMÀySÀyjÀyŽÀy¢Ày©Ày­Ày¯Ày°ÀyþÀz Àz$ÀzqÀz�ÀzÒÀzØÀ{'À{xÀ{†À{ŒÀ{ÛÀ|$À|;À|AÀ|‘À|ßÀ}À}9À}vÀ}·À}üÀ~À~À~RÀ~£À~±À~ÌÀ~ÍÀÀeÀ|À™ÀšÀêÀ€8À€tÀ€“À€•À€–À€ÉÀ€öÀ�5À�;À�ˆÀ��À�µÀ�ÄÀ�ÝÀ�ûÀ‚À‚À‚GÀ‚]À‚^À‚ªÀ‚ÔÀ‚ÕÀ‚áÀƒ Àƒ"Àƒ#Àƒ\Àƒ‚ÀƒƒÀƒÀÀƒÁÀƒÍÀƒôÀ„-À„sÀ„²À„ìÀ…2À…UÀ…[À…\À…xÀ… À…»À…õÀ†$À†6À†@À†|À†¡À†¿À†ÉÀ†ÒÀ‡À‡=À‡OÀ‡YÀ‡‘À‡šÀ‡ÐÀ‡õÀˆ;ÀˆXÀˆbÀˆkÀˆ—ÀˆÆÀˆØÀˆâÀ‰À‰#À‰*À‰.À‰0À‰1À‰�À‰…À‰ÑÀ‰ñÀ‰õÀŠFÀŠnÀФÀŠõÀ‹À‹À‹kÀ‹ºÀ‹ÏÀ‹ïÀŒÀŒÀŒDÀŒfÀŒšÀŒ ÀŒ¡ÀŒîÀŒüÀ�&À�'À�_À�eÀ�™À�½À�¾ÀŽ ÀŽIÀŽOÀŽhÀŽ…ÀކÀŽÒÀ�À� À�(À�DÀ�EÀ�QÀ�¢À�¤À�¥À�ðÀ�À�'À�=À�MÀ�UÀ�lÀ�sÀ�wÀ�xÀ�–À�—À�ÔÀ�ÕÀ‘À‘ À‘À‘*À‘AÀ‘gÀ‘kÀ‘lÀ‘xÀ‘ŽÀ‘·À‘ÏÀ‘ÓÀ‘ÔÀ‘àÀ’À’%À’OÀ’”À’ÙÀ’ÚÀ’öÀ“;À“mÀ“�À“­À“·À“¿À“ÀÀ“áÀ”À” À”CÀ”oÀ”¼À”ñÀ”þÀ•!À•IÀ•”À•ÅÀ•ÒÀ•ÝÀ•æÀ•óÀ–&À–mÀ–žÀ–§À–­À–áÀ—À— À—'À—HÀ—dÀ—„À—¬À—µÀ—ÂÀ—èÀ—îÀ—òÀ—ôÀ—õÀ˜2À˜6À˜tÀ˜xÀ˜ÈÀ˜ÕÀ˜ÙÀ™À™JÀ™NÀ™YÀ™]À™iÀ™‡À™§À™âÀ™êÀ™òÀš Àš_Àš�Àš‡ÀšÄÀ›À›À›SÀ›jÀ›¤À›ºÀ›»À›ûÀœÀœNÀœhÀœ†Àœ‡Àœ“ÀœºÀœÞÀ�À�,À�2À�3À�iÀ�žÀ�¼À�ßÀ�îÀ�ïÀžÀž*Àž@ÀžvÀž“Àž¸ÀžäÀŸÀŸ'ÀŸAÀŸƒÀŸ½ÀŸÊÀŸÕÀŸÞÀŸåÀŸéÀŸë€¥€º€Í€÷��G�Ÿ�Ç‚!‚á‚ä …á…ñ…ø…ø†††††/†/†4†R†R†W†s†s"†x†›†›'† †È†È†Í†è†è†í‡‡‡ ‡ ‡ ‡%‡>‡>‡C‡U‡U‡Z‡s‡s‡x‡”‡”‡™‡¯‡¯‡´† †$†%†?†G†H†a†h†i†ˆ†�†‘†«†À†Á†±†¿†²†Ý†ù‡‡3‡L‡j‡�‡Â…O…O‚€‡/// Constructs a video with the given values. Only [duration] is required. The /// rest will initialize with default values when unset.ˆˆ'ˆ5 ˆ@ˆDˆrˆMˆEˆOˆWˆXˆkˆ^ˆm‡Ò‡Ò€¢ˆ(™?™>™>‚`™Q›¿›¿ ›Æ›¢›£›¢›¢ƒB›¼…)…*„¹„¹›–…:o/// The duration, current position, buffering state, error state and settings /// of a [VideoPlayerController].£Ð£å£ë£ñ£ñ£ö¤¤ ¤ ¤¤,¤5¤L¤L¤Q¤i¤i)¤n#¤y¤†¤‡¤µ¤œ¤·¤á¤Ò¤ã¤ñ¤ò¥ ¥¥¥(¥¥*¥@¥A¥0¥?¥1¥9¥L¥Q¥�¥R¥X¥h¥€¥q¥i¥s¥{¥|¡ú¡úƒ‰£æ�Ã/// Constructs a [VideoPlayerController] playing a video from an asset. /// /// The name of the asset is given by the [dataSource] argument and must not be /// null. The [package] argument must be non-null when the asset comes from a /// package and null otherwise. /// /// The [viewType] option allows the caller to request a specific display mode /// for the video. Platforms that do not support the request view type will /// ignore this parameter.§ú¨¨¨¨¨"¨4¨4¨9¨I¨I,¨d¨{¨{¨€¨˜¨˜+¨�¨É¨É)¨Î&§¼§½§Ç§ö§È¨«¨Á¨Â¨±¨À¨²¨º¨Ù¨æ¨ç©¨ü©©A©2©C©Q©R©k©c©m©{©€©°©�©‡©—©¯© ©˜©¢©ª©«¥‡¥‡„+¨‚/// Constructs a [VideoPlayerController] playing a network video. /// /// The URI for the video is given by the [dataSource] argument. /// /// **Android only**: The [formatHint] option allows the caller to override /// the video format detection code. /// /// The [viewType] option allows the caller to request a specific display mode /// for the video. Platforms that do not support the request view type will /// ignore this parameter. /// /// [httpHeaders] option allows to specify HTTP headers /// for the request to the [dataSource].«)«>«I«O«O«S«^«^«c«s«s,«Ž«¥«¥«ª«Â«Â+«Ç«ó«ó)«ø(«Õ«ë«ì«Û«ê«Ü«ä¬¬¬¬?¬&¬A¬g¬\¬i¬l¬m¬u¬v¬�¬�¬’¬ ¬¡¬º¬²¬¼¬Ê¬Ï¬ÿ¬Ð¬Ö¬æ¬þ¬ï¬ç¬ñ¬ù¬ú©¶©¶ƒK«?�`/// Constructs a [VideoPlayerController] playing a network video. /// /// The URI for the video is given by the [dataSource] argument. /// /// **Android only**: The [formatHint] option allows the caller to override /// the video format detection code. /// /// [httpHeaders] option allows to specify HTTP headers /// for the request to the [dataSource].®®® ®&®& ®+®7®7,®R®i®i®n®†®†+®‹®·®·)®¼4®™®¯®°®Ÿ®®® ®¨®Ç®Ô®Õ¯®ê¯¯+¯ ¯-¯0¯1¯5¯H¯6¯:¯;¯C¯D¯I¯J¯R¯S¯m¯^¯o¯}¯~¯”¯Œ¯–¯¯¯¤¯±¯¿¯Ä¯ô¯Å¯Ë¯Û¯ó¯ä¯Ü¯æ¯î¯ï­­‚ñ®€ø/// Constructs a [VideoPlayerController] playing a video from a file. /// /// This will load the file from a file:// URI constructed from [file]'s path. /// [httpHeaders] option allows to specify HTTP headers, mainly used for hls files like (m3u8).°²°Ç°Ò°Ø°Ø°Ü°î°î,± ± ± ±%±=±=)±B7±M±Z±[±p±v±¦±ô±�±w±�±ž±Ÿ±´²±ÿ²²@²5²B²L²M²U²V²p²a²r²€²�²�²•²Ÿ²¸²­²º²Ô²È²Ö²ì²í²Ü²ë²Ý²å²ø²ý³-²þ³³³,³³³³'³(¯ú¯úƒ5°È€¯/// Constructs a [VideoPlayerController] playing a video from a contentUri. /// /// This will load the video from the input content-URI. /// This is supported on Android only.³Â³3€™³Â}/// The URI to the video file. This will be in different formats depending on /// the [DataSourceType] of the original video.´‚³Ñ€¼´‚€�/// HTTP headers used for the request to the [dataSource]. /// Only for [VideoPlayerController.network]. /// Always empty for other video types.µ´’€‘µo/// **Android only**. Will override the platform's generic file format /// detection with whatever is set here.µ�µ(€ƒµ�[/// Describes the type of data source this [VideoPlayerController] /// is constructed with.¶(µ°€Š¶([/// Provide additional configuration options (optional). Like setting the audio mode to mix¶œ¶?d¶œL/// Only set for [asset] videos. The package that the asset was loaded from.·>¶¨€ž·>{/// The requested display mode for the video. /// /// Platforms that do not support the request view type will ignore this.·f·K3·f·•·‚%·•·²·« ·²·Ï·Á·¼·Á·é·Ø#·é¸·ÿ/¸¸N¸2.¸N¸œ¸�¸Û¸Ü¸Â¸ex¸Â4/// The id of a player that hasn't been initialized.¸ñ¸å¸á&¸å¹r¹s¹ ¹ €™¹�a/// This is just exposed for testing. It shouldn't be used by anyone depending /// on the plugin.ÀXÀX€»ÀX^&/// The position in the current video.ÀgÜÀgÜ€¤ÀhDF/// Returns the file containing closed captions for the video, if any.Àm»Àm»LÀmĹ©¹©’ϺN/// Attempts to open the given [dataSource] and load metadata about the video.ÀL|ÀL}ÀL|ÀL|�»ÀL•ÀN;ÀN;�äÀOn�/// Starts playing the video. /// /// If the video is at the end, this method starts playing from the beginning. /// /// This method returns a future that completes as soon as the "play" command /// has been sent to the platform, not when playback itself is totally /// finished.ÀP¬ÀP¬ ÀP±ÀP#ÀP#€íÀP¡l/// Sets whether or not the video should loop after playing once. See also /// [VideoPlayerValue.isLooping].ÀQÀQ€ƒÀQ9/// Pauses the video.ÀQ›ÀQ›€ªÀQ¨ÀRIÀRIƒ\ÀRVÀU©ÀU©€¥ÀU¶ÀVRÀVR�ÉÀV_ÀYðÀYðÀYùÀXÞÀXÞ‚]ÀYé€ó/// Sets the video's current timestamp to be at [moment]. The next /// time the video is played it will resume from the given [moment]. /// /// If [moment] is outside of the video's full range it will be automatically /// and silently clamped.À[èÀ[è À[ïÀ[?À[?�À[Þ€‰/// Sets the audio volume of [this]. /// /// [volume] indicates a value between 0.0 (silent) and 1.0 (full volume) on a /// linear scale.À`­À`­ À`´À\\À\\…øÀ`œ„/// Sets the playback speed of [this]. /// /// [speed] indicates a speed value with different platforms accepting /// different ranges for speed values. The [speed] must be greater than 0. /// /// The values will be handled as follows: /// * On web, the audio will be muted at some speed when the browser /// determines that the sound would not be useful anymore. For example, /// "Gecko mutes the sound outside the range `0.25` to `5.0`" (see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate). /// * On Android, some very extreme speeds will not be played back accurately. /// Instead, your video will still be played back, but the speed will be /// clamped by ExoPlayer (but the values are allowed by the player, like on /// web). /// * On iOS, you can sometimes not go above `2.0` playback speed on a video. /// An error will be thrown for if the option is unsupported. It is also /// possible that your specific video cannot be slowed down, in which case /// the plugin also reports errors.ÀdZÀdZÀdcÀbXÀbX‚†ÀdI�Ù/// Sets the caption offset. /// /// The [offset] will be used when getting the correct caption for a specific position. /// The [offset] can be positive or negative. /// /// The values will be handled as follows: /// * 0: This is the default behaviour. No offset will be applied. /// * >0: The caption will have a negative offset. So you will get caption text from the past. /// * <0: The caption will have a positive offset. So you will get caption text from the future.ÀfÀfÀf!ÀdâÀdâ‚öÀf �/// The closed caption based on the current [position] in the video. /// /// If there are no closed captions at the current [position], this will /// return an empty [Caption]. /// /// If no [closedCaptionFile] was specified, this will always return an empty /// [Caption].ÀiÀi,Ài5Àh„Àh„�BÀih/// Sets a closed caption file. /// /// If [closedCaptionFile] is null, closed captions will be removed.ÀiûÀiû,ÀjÀiÊÀiÊ€äÀi×ÀjÇÀjÇÀjÐÀj²Àj²�ÝÀj·Àl³Àl³ÀlÀÀl“Àl”Àl“Àl“�$Àl¤ Q QÀM¸¡¸�`/// Controls a platform video player, and provides updates when the state is /// changing. /// /// Instances must be initialized with initialize. /// /// The video is displayed in a Flutter app by creating a [VideoPlayer] widget. /// /// To reclaim the resources used by the player call [dispose]. /// /// After [dispose] all further calls are ignored.Àn[ÀnuÀnvÀnvÀn{Àn[Àn[-ÀnªÀn‘ÀnŒ#Àn‘ÀnÏÀn³'ÀnÏÀnßÀnßFÀnäÀoUÀoUÀogÀo)Ào*Ào)Ào)�QÀo:Àp~Àp~FÀpƒÀn Àn ‚»ÀnÀqƒÀqŽÀq�Àq�Àq”Àq¡Àq¡ Àq§Àq4Àq4yF/// Uses the given [controller] for all video rendered in this widget.Àr.Àq±€‡Àr.\/// The [VideoPlayerController] responsible for the video being rendered in /// this widget.Àr=Àr>Àr=Àr=DÀr\ÀpÈÀpÈ�»Àq >/// Widget that displays the video controlled by [controller].Àr¼ÀrÍÀr¼Àr¼€âÀs´Às¢Às´ÀsËÀsÂÀsËÀsÙÀsÚÀsÙÀsÙ�#ÀsêÀu!Àu!Àu-ÀuÀuÀuÀu€ñÀuÀuõÀuöÀuõÀuõlÀvÀv~Àv~Àv‹ÀveÀvfÀveÀve�„ÀvxÀr…Àr……fÀr‹Àx.ÀxFÀxHÀxHÀxVÀx`Àx`Àxn Àx~Àx„Àx—Àx¼Àx“ÀxŽÀx…Àx�Àx–Àx™Àx(Àx(€–ÀxÌÀxÂÀxÌÀxåÀxØÀxåÀyÀyÀyÀxïÀxðÀxïÀxÀyÀwíÀwí�ÁÀwóÀ}#À}6À}=À}=7À}BÀ}zÀ}z;À}À}»À}»?À}ÀÀ}PÀ}VÀ}[À}\À}dÀ}sÀ}eÀ}jÀ}mÀ}pÀ}�À}•À}šÀ}›À}£À}´À}¤À}¨À}¬À}±À}ÒÀ}ØÀ}ÝÀ}ÞÀ}æÀ}ùÀ}çÀ}ìÀ}ñÀ}öÀz�Àz�ƒr‚s/// Any property can be set to any color. They each have defaults. /// /// [playedColor] defaults to red at 70% opacity. This fills up a portion of /// the [VideoProgressIndicator] to represent how much of the video has played /// so far. /// /// [bufferedColor] defaults to blue at 20% opacity. This fills up a portion /// of [VideoProgressIndicator] to represent how much of the video has /// buffered so far. /// /// [backgroundColor] defaults to gray at 50% opacity. This is the background /// color behind both [playedColor] and [bufferedColor] to denote the total /// size of the video compared to either of those values.À~¿À~€ÅÀ~¿€§/// [playedColor] defaults to red at 70% opacity. This fills up a portion of /// the [VideoProgressIndicator] to represent how much of the video has played /// so far.ÀŠÀ~Ï€ÈÀŠ€¨/// [bufferedColor] defaults to blue at 20% opacity. This fills up a portion /// of [VideoProgressIndicator] to represent how much of the video has /// buffered so far.À€‚Àœ€õÀ€‚€Ó/// [backgroundColor] defaults to gray at 50% opacity. This is the background /// color behind both [playedColor] and [bufferedColor] to denote the total /// size of the video compared to either of those values.Ày°Ày°†äÀzw€À/// Used to configure the [VideoProgressIndicator] widget's colors for how it /// describes the video's status. /// /// The widget uses default colors that are customizable through this class.À�¥À�²À�¹À�¹ À�¿À�ÈÀ�ÈÀ�ÖÀ�áÀ�áÀ�ïÀ€øÀ€ø�€ž/// Create a [VideoScrubber] handler with the given [child]. /// /// [controller] is the [VideoPlayerController] that will be controlled by /// this scrubber.À‚VÀ‚WÀ‚VB/// The widget that will be displayed inside the gesture detector.À‚ÈÀ‚`rÀ‚ÈI/// The [VideoPlayerController] that will be controlled by this scrubber.À‚×À‚ØÀ‚×À‚×HÀ‚øÀ€–À€–‚‹À€Ï2/// A scrubber to control [VideoPlayerController]sÀƒ{ÀƒcÀƒ^"ÀƒcÀƒ…Àƒ…:ÀƒŸÀƒÜÀƒÜÀƒéÀƒÃÀƒÄÀƒÃÀƒÃ…jÀƒÖÀƒ#Àƒ#† Àƒ)À‹×À‹íÀ‹óÀ‹óÀ‹øÀŒ ÀŒ ÀŒÀŒÀŒ)ÀŒÀŒHÀŒHÀŒVÀŒjÀŒj.ÀŒo ÀŒ'ÀŒ-ÀŒ@ÀŒAÀŒyÀŒÀŒ‰ÀŒŠÀŒŽÀŒ—ÀŒ’ÀŒ�ÀŒ”ÀЦÀЦ�ù�/// Construct an instance that displays the play/buffering status of the video /// controlled by [controller]. /// /// Defaults will be used for everything except [controller] if they're not /// provided. [allowScrubbing] defaults to false, and [padding] will default /// to `top: 5.0`.À�ÀŒ£€�À�V/// The [VideoPlayerController] that actually associates a video with this /// widget.À�µÀ�)€’À�µk/// The default colors used throughout the indicator. /// /// See [VideoProgressColors] for default values.ÀŽuÀ�À€ÃÀŽu€¡/// When true, the widget will detect touch input and try to seek the video /// accordingly. The widget ignores such input when false. /// /// Defaults to false.À�;ÀŽˆ€ºÀ�;€™/// This allows for visual padding around the progress indicator that can /// still detect gestures via [allowScrubbing]. /// /// Defaults to `top: 5.0`.À�GÀ�HÀ�GÀ�GZÀ�qÀ‰1À‰1†rÀŠt�[ /// VideoPlayer(_controller), /// ClosedCaption(text: _controller.value.caption.text), /// ]), /// ```ƒ<ƒ<�{ƒTƒ!ƒ -ƒ!„Õ<€†€¤€¥€º€Ì€Í€÷��G�ž�Ÿ�Æ�Ç‚‚&‚>‚U‚j‚†‚¥‚Ì‚ã‚äƒ ƒ ƒ;ƒ<ƒkƒ·ƒì„:„L„h„˜„œ„¶„¸„¹……)…4…M…ž…Ù…ô††+†N†o†—†Ä†ä‡‡‡:‡Q‡o‡�‡«‡É‡Ï‡Ðˆˆ8ˆuˆvˆ³ˆïˆý‰"‰D‰u‰v‰ÉŠŠgŠhŠ�Š•ŠáŠüŠý‹"‹=‹>‹Œ‹’‹ÞŒŒ/Œ0Œ˜ŒžŒ¿ŒßŒà��+�,�f�~��£�»�¼�쎎Ž1ŽHŽIŽrŽ�ޑ޾ŽÄŽñ���E�K�–�Á�Û�Ü� �� �l�Œ���Ü�ø�ù‘H‘Œ‘½‘¾‘ê‘ð’ ’/’h’¢’½’þ“““O“k“}“ƒ“›“Ÿ“ “ð”5”S”k”{”“”©”Ɣ镕•,•C•W•r•�•ȕߕæ––.–M–x– –Ú——?—m—›—Ï—ô˜.˜w˜¼˜Ù˜ü™0™7™;™<™H™^™›™»™Ó™óšš;šjš”š¶šØšþ››D›t›››Ÿ› ›¬›Ð›ðœœAœiœ‘œ·œé��E�o���Á�óž+žKž‡ž¹žåžæžòŸŸ'Ÿ9ŸJŸaŸsŸ†Ÿ™Ÿ®Ÿ¾ŸÕŸïŸý  0 E N P Q ž ¬ ° ã ç¡7¡;¡{¡¡²¡ø¢B¢H¢š¢ê£ ££c£±£Î£í¤¤¤H¤e¤”¤Ê¤ù¥¥D¥„¥…¥É¥Ï¦¦¦f¦�¦“¦ä§2§O§U§�§º§ø¨¨0¨E¨w¨”¨Å¨ô©*©[©s©³©´©ø©þªAªGª•ª¼ªÂªü«'«K«Z«o«¡«¾«ï¬¬T¬y¬ª¬Â­­­K­Q­¢®®"®3®e®‚®³®â¯¯V¯„¯œ¯·¯÷¯ø°F°L°‡°°°Ô°ê±±9±h±¨±÷²-²Y²�²¥²À²ð³0³1³�³³³Î³Ï´ ´<´f´�´�´Ùµµ%µ&µkµ†µ­µ®¶ ¶<¶=¶Œ¶¥¶¦¶Ö¶Ü·(·H·I·€·©·º·Ö·ý¸0¸b¸c¸š¸¯¸ß¹ ¹ ¹[¹p¹…¹¦¹§¹øººEºƒº§ºäºê»»<»=»h»†»§»Ó»ÿ¼¼8¼C¼f¼’¼À¼Û¼ý½!½,½L½x½£½¾½â½í¾¾?¾p¾‹¾–¾œ¾�¾ä¿ ¿'¿.¿/¿d¿…¿Å¿Ë¿Ì¿ÜÀ@'À@KÀ@sÀ@¸À@¹À@ßÀAÀAKÀA^ÀA‡ÀA�ÀA–ÀA—ÀAÂÀAÛÀAëÀAóÀAôÀBÀB>ÀB`ÀB†ÀB¤ÀBÞÀCÀC5ÀCUÀCbÀCtÀC¤ÀCòÀD8ÀD†ÀDÃÀDÐÀEÀENÀEZÀEŠÀE¥ÀE¿ÀEÜÀFÀFNÀFœÀFêÀG!ÀGgÀGœÀGÉÀHÀH1ÀHfÀH�ÀHÆÀHøÀI"ÀI6ÀI†ÀI™ÀIÙÀIåÀJ ÀJÀJ#ÀJ)ÀJ*ÀJVÀJœÀJ¢ÀJ£ÀJÈÀKÀK:ÀKRÀK‚ÀK´ÀK¼ÀKÂÀKÃÀKñÀLÀLLÀLuÀLyÀLzÀL†ÀL§ÀL¾ÀLÌÀLÒÀLÓÀLùÀM!ÀM;ÀMWÀMqÀM�ÀMÔÀMÜÀNÀNÀNÀN4ÀN8ÀN9ÀNYÀN_ÀN°ÀN¶ÀOÀOOÀO_ÀO}ÀO©ÀOÌÀOÒÀOÿÀPÀP ÀP!ÀPnÀP’ÀPÂÀPòÀQ ÀQÀQÀQ*ÀQIÀQwÀQ”ÀQ˜ÀQ™ÀQÀÀQçÀQõÀQûÀRBÀRFÀRGÀRpÀR—ÀR¥ÀR«ÀRÆÀRøÀRùÀSÀS0ÀS[ÀSyÀS–ÀSªÀS¶ÀSîÀTÀT'ÀT3ÀT[ÀTfÀToÀTpÀT½ÀU ÀU!ÀUDÀUQÀUiÀUœÀU¢ÀU¦ÀU§ÀUÍÀUôÀVÀVÀVKÀVOÀVPÀV}ÀV¤ÀV²ÀV¸ÀV¹ÀWÀWQÀWƒÀWŸÀW­ÀW³ÀW´ÀWåÀWöÀXÀXÀXÀXÀXFÀXoÀX†ÀX™ÀXŸÀX×ÀXÛÀXÜÀY!ÀYhÀYnÀY¾ÀYÚÀZ ÀZ2ÀZ@ÀZFÀZkÀZŒÀZ·ÀZ×ÀZÝÀ[À[8À[<À[=À[dÀ[jÀ[»À[ÏÀ[ÿÀ\;À\UÀ\YÀ\ZÀ\ƒÀ\‰À\ÒÀ]À]%À]RÀ]™À]åÀ^}À^ÎÀ_À_kÀ_yÀ_ÉÀ`À`eÀ`�À`ÃÀ`ØÀ`ùÀaÀaGÀaPÀamÀaŽÀa�ÀaîÀa÷ÀaýÀaþÀb0ÀbQÀbUÀbVÀbuÀb{ÀbÕÀcÀc Àc8Àc~ÀcßÀdBÀdmÀd‰Àd¦ÀdÔÀdÛÀdßÀdàÀe'Àe-ÀexÀe™ÀeŸÀeïÀfÀf-ÀfSÀfnÀftÀfuÀfºÀgÀgEÀg•Àg­ÀgµÀg»Àg¼ÀgÕÀgÙÀgÚÀh#ÀhXÀh}Àh�Àh‚Àh¤ÀhªÀhñÀiÀiHÀiTÀi‘ÀiÃÀiÇÀiÈÀi÷Àj)Àj5ÀjgÀj«Àj¯Àj°ÀjÜÀk,Àk}Àk¬ÀkÑÀkòÀkøÀlÀl.ÀlVÀl…ÀlŒÀl�Àl‘Àl�ÀlÌÀm!ÀmpÀmˆÀm®Àm´Àm¸Àm¹ÀnÀn Àn ÀnYÀn‰ÀnŠÀn±ÀnÜÀnÝÀnóÀo"Ào&Ào'Ào3ÀopÀo�ÀoÙÀoôÀp)ÀpMÀpiÀpqÀpwÀp{Àp|Àp�ÀpÁÀpÅÀpÇÀpÈÀqÀq2Àq{Àq®Àq¯ÀqýÀrÀr:Àr;ÀrGÀr‚Àr„Àr…ÀrºÀrÒÀrçÀs!ÀsGÀs]Às€ÀsŒÀs”Às›ÀsŸÀs Às¿ÀsÀÀsÖÀs×ÀsãÀsøÀtÀt;Àt†ÀtËÀtùÀtýÀtþÀu Àu:Àu`Àu”ÀuÀÀuîÀuòÀuóÀuÿÀvÀv-Àv^ÀvbÀvcÀvoÀv–ÀvÛÀvñÀwÀwWÀw•ÀwÊÀwÙÀwæÀwêÀwìÀwíÀx&ÀxvÀx¿ÀxÀÀxÖÀxìÀxíÀxùÀy Ày9ÀyMÀySÀyjÀyŽÀy¢Ày©Ày­Ày¯Ày°ÀyþÀz Àz$ÀzqÀz�ÀzÒÀzØÀ{'À{xÀ{†À{ŒÀ{ÛÀ|$À|;À|AÀ|‘À|ßÀ}À}9À}vÀ}·À}üÀ~À~À~RÀ~£À~±À~ÌÀ~ÍÀÀeÀ|À™ÀšÀêÀ€8À€tÀ€“À€•À€–À€ÉÀ€öÀ�5À�;À�ˆÀ��À�µÀ�ÄÀ�ÝÀ�ûÀ‚À‚À‚GÀ‚]À‚^À‚ªÀ‚ÔÀ‚ÕÀ‚áÀƒ Àƒ"Àƒ#Àƒ\Àƒ‚ÀƒƒÀƒÀÀƒÁÀƒÍÀƒôÀ„-À„sÀ„²À„ìÀ…2À…UÀ…[À…\À…xÀ… À…»À…õÀ†$À†6À†@À†|À†¡À†¿À†ÉÀ†ÒÀ‡À‡=À‡OÀ‡YÀ‡‘À‡šÀ‡ÐÀ‡õÀˆ;ÀˆXÀˆbÀˆkÀˆ—ÀˆÆÀˆØÀˆâÀ‰À‰#À‰*À‰.À‰0À‰1À‰�À‰…À‰ÑÀ‰ñÀ‰õÀŠFÀŠnÀФÀŠõÀ‹À‹À‹kÀ‹ºÀ‹ÏÀ‹ïÀŒÀŒÀŒDÀŒfÀŒšÀŒ ÀŒ¡ÀŒîÀŒüÀ�&À�'À�_À�eÀ�™À�½À�¾ÀŽ ÀŽIÀŽOÀŽhÀŽ…ÀކÀŽÒÀ�À� À�(À�DÀ�EÀ�QÀ�¢À�¤À�¥À�ðÀ�À�'À�=À�MÀ�UÀ�lÀ�sÀ�wÀ�xÀ�–À�—À�ÔÀ�ÕÀ‘À‘ À‘À‘*À‘AÀ‘gÀ‘kÀ‘lÀ‘xÀ‘ŽÀ‘·À‘ÏÀ‘ÓÀ‘ÔÀ‘àÀ’À’%À’OÀ’”À’ÙÀ’ÚÀ’öÀ“;À“mÀ“�À“­À“·À“¿À“ÀÀ“áÀ”À” À”CÀ”oÀ”¼À”ñÀ”þÀ•!À•IÀ•”À•ÅÀ•ÒÀ•ÝÀ•æÀ•óÀ–&À–mÀ–žÀ–§À–­À–áÀ—À— À—'À—HÀ—dÀ—„À—¬À—µÀ—ÂÀ—èÀ—îÀ—òÀ—ôÀ—õÀ˜2À˜6À˜tÀ˜xÀ˜ÈÀ˜ÕÀ˜ÙÀ™À™JÀ™NÀ™YÀ™]À™iÀ™‡À™§À™âÀ™êÀ™òÀš Àš_Àš�Àš‡ÀšÄÀ›À›À›SÀ›jÀ›¤À›ºÀ›»À›ûÀœÀœNÀœhÀœ†Àœ‡Àœ“ÀœºÀœÞÀ�À�,À�2À�3À�iÀ�žÀ�¼À�ßÀ�îÀ�ïÀžÀž*Àž@ÀžvÀž“Àž¸ÀžäÀŸÀŸ'ÀŸAÀŸƒÀŸ½ÀŸÊÀŸÕÀŸÞÀŸåÀŸéÀŸë_lastVideoPlayerPlatform_videoPlayerPlatformVideoPlayerValueVideoPlayerController_VideoAppLifeCycleObserver VideoPlayer_VideoPlayerState_VideoPlayerWithRotationVideoProgressColors VideoScrubber_VideoScrubberStateVideoProgressIndicator_VideoProgressIndicatorState ClosedCaption”’