#       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None%&'=>?@ASX_lm minilight3Custom rules of the lens. All lens are prefixed by '_'.None%&'=>?@ASX_lm    None%&'=>?@ASX_lm*  minilight IRegistry: typeclass presents a registry interface. The complexity O(1)1 in the operations can be "amortized" complexity.  minilightO(1)% Checking if the specified key exists! minilightO(1) Indexing" minilightO(1) Safe indexing# minilightO(1)6 Update, raise an exception if the key does not exist.$ minilightO(1)5 Write, raise an exception if the key does not exist.% minilightO(1)( Adding a new value to the last position& minilightO(n)K Inserting a new value to the specified position (in the underlying vector)' minilightO(n)9 Deleting the specified value (this is a slow operation).( minilightO(1)S Get the underlying vector. Be careful: modifying the vector might cause a problem.) minilight3For-loop over the registry, ignoring the key order.* minilightBFor-loop over the registry with the index, ignoring the key order.+ minilight6Modifying the item one by one, ignoring the key order. (% #"$&'!)*+ (% #"$&'!)*+!9 "9 None%&'=>?@ASX_lm5, minilightIOVectorD consists of (1) pointer to the underlying vector (2) length While  has the underlying array itself, this type only has the pointer. This means read/write should be slower than the original vector.0 minilight)Get the position of the last cell in the IOVector,. This operation is not safe because of the .3 minilightGet the capacity of the IOVector,. This operation is not safe because of the .5 minilightO(n)9 Insert a value into any place. This is a slow operation.6 minilightO(n)_ This is a slow operation. This also throws an exception if the specified index does not exist.5 minilight1The vector should have positive (non-zero) length,-./0123456789:,-./0123456789:None%&'=>?@ASX_lm7!;<=;<=None%&'=>?@ASX_lm;q? minilightThe Registry type can represents any  instance.A minilightO(n)c Create a registry from a list. The current implementation uses a hashtable, defined in the module .B minilightCreate a new empty registry.!'&$"# %()*+?@AB?@ABNone%&'-8=>?@AEHSX_lmF. D minilightCanonical datatype of F`. It consists of event name and event data itself. This type is usually used for global events.F minilightEvent type representation minilightThis type is same as  from  Data.Dynamic, but it requires J contraint.J minilight6EventType says some type can be used as an event type.M minilightCreate a signal event.N minilightCast a signal event to some J.O minilightCast an event to some P minilightCast an event to some Q minilightCast a signal event to DM minilightsource component ID minilight<target component ID, leave Nothing if this is a global eventDEFGHIJKLMNOPQFGHIJKLDEMNOPQNone%&'1=>?@AIMSX_lmLT minilight!The environment for LightT monad.V minilightRenderer for SDL2W minilightSystem font informationX minilightLogger connected stdout\ minilightLCurrent state of keys, represents how many frames the key down has been down] minilight Event queue^ minilightSSignals emitted from components are stored in the queue and poll in the next frame.( TUVWXZ[\]^_b`acefghijklmnopqrs(_b`acfghTUVWXenopijklmZ[\]^qrs  None%&'=>?@ACESX_lmc~ minilight:Rendering typeclass provides basic operations for figures. minilight Change the place to be rendered. minilight6Specify some area and clip the figure into the region. minilightRotate a figure. minilightCreate a text texture.  Be careful9: this is a slow operation, use cache as long as you can. minilight"Create a texture from a png file.  Be careful9: this is a slow operation, use cache as long as you can. minilight(Create a texture from a raw SDL texture. minilightCreate an outlined rectangle.  Be careful9: this is a slow operation, use cache as long as you can. minilightCreate a filled texture.  Be careful9: this is a slow operation, use cache as long as you can. minilightCreate an outlined triangle.  Be careful9: this is a slow operation, use cache as long as you can. minilightKFigure type carries a texture, sizing information and rotation information. minilight'Texture can be Nothing in headless mode minilight#Lens for the center of a rectangle. minilight!Lens for the size of a rectangle. minilight@A figure which has no texture. You can render it but do nothing. minilightRender a figure. minilightRender figures. minilight Stroke color minilightSize minilight Filling color minilightSize minilight Stroke color minilightSize~~ None%&'=>?@ASX_lmx minilight>Environmental information, which are passed for each component minilight The unique id minilight The hooks minilightA wrapper for  instances. minilightHCompoonentUnit typeclass provides a way to define a new component. Any  instance can be embedded into  type. minilightUpdating a model. minilight=Descirbes a view. The figures here would be cached. See also  for the cache configuration. minilightDrawing a figures. minilightEvent handlers minilightReturn True8 if a cache stored in the previous frame should be used. minilight~To be called just before clearing caches. If you want to destroy cached textures for memory efficiency, override this method.NBR: Freeing SDL textures and figures are not performed automatically. You must call  at your own risk. minilight7Emit a signal, which will be catched at the next frame. minilightEmit a signal globally. minilightUnsafe coercing the component minilightCreate a new component. minilightGet the size of a component. minilightGet its unique id. minilight Get the hooks minilight Get the hooks minilight=Clear the previous model cache and reflect the current model. minilight#A model value in the previous frame minilight"A model value in the current frame minilighttarget component ID None%&'7=>?@ASX_lm~  minilightThe type for component resolver minilight*A configuration for the application itself minilightA configuration for a component minilightGenerate an unique id. minilightComponent Type minilightUID minilightComponent Property None%&'7=>?@ASX_glm minilightreference syntax: ${ref:...} minilightvariable syntax: ${var:...} minilightexpr operator: +, -, *, / minilight$constants (string or number or null) minilight token symbol minilight#function application ($func(a,b,c)) minilight4Interpret a JSON value, and unsafely apply fromRight minilightCreate  value from JSON value None%&'=>?@ASX_lm minilight!The environment for config loader minilight'Create a component with given resolver. minilight,Load an config file and return the resolved  AppConfig. minilightLoad an config file and set in the environment. Calling this function at once, this overrides all values in the environment. This will generate an error log and skip the component if the configuration is invalid. This function also assign unique IDs for each component, using  assignUID. minilightzLoad the config file again and place the newly loaded components. This is used for HCR (hot component replacement). Call  first. minilightFilepath to the yaml file. minilightSpecify any resolver. minilightFilepath to the yaml file. minilightSpecify any resolver."None%&'=>?@ACSX_lm minilightThe state in the mainloop. minilightUse   for a default setting. minilightSet Nothing) if all keys should be watched. See also . minilight<Specify a yaml file which describes component settings. See  for the yaml syntax. minilightnThe directory path to be watched. If set, the config file modification will replace the component dynamically. minilight;Your custom mappings between a component name and its type. minilight=The components here would be added during the initialization. minilightCustom configuration for LightT minilightLogQueue for logger  minilightLogLevel for logger  minilight/Run a light monad with default configuration. , runLightT = runLightTWith defLightConfig   minilightDefault configuration for    minilightRun a Light monad.  minilight9Default configurations for the mainloop. You need to set componentResolver if you use a component. minilight0Type synonym to the minimal type of the mainloop minilightRun an action over a component. minilight1Emit a signal with a loader-defined target name  (3!) :: EventType et => T.Text -> et -> MiniLoop ()  minilightSame as  but fixing the type. minilightBRun a mainloop. In a mainloop, components and events are managed.RComponents in a mainloop: draw ~ update ~ (user-defined function) ~ event handling minilight0Quit the mainloop and terminate the application. minilightEnvironment conversion minilight Loop config minilight Initial state minilightA function called in every loop DEFGHIJKLMNOPQTUVWXZ[\]^_b`acefghijklmnopqrs~          None%&'=>?@ASX_lm( minilightLoad a system font from  type.) minilightyCreate a text texture from the config. **NB** This function is a slow operation since it loads the font data every time.  "!#&%$'()  "!#&%$'()None%&'=>?@ASX_lm, minilight1 configuration. If static/ enabled, only the first page will be rendered.. minilightpaged messagesA minilightpages messages,-./01297653:48;<=?A@BCDEFGHIJK,-./0=<;1297653:48IHGFEDCB?A@JKNone%&'=>?@ASX_lmNOTSRQPUVWXZY[WXZYUVNOTSRQP[None%&'=>?@ASX_lm_ minilightBasic config typee minilightBasic signal type.p minilightLThis wrapper function is useful when you write your component config parser.q minilight&The rectangle region of the component.r minilightAThis automatically applies basic configuration such as: position.s minilight8This wrapper function is useful when you write your own  component.t minilightKBasic signaling function. Signals are emitted towards the source component.u minilighthandle basic signalsf minilight*The relative position of the mouse pointerg minilight*The relative position of the mouse pointerh minilight*The relative position of the mouse pointers minilightlens to _ minilightcustom onSignal function_`cbaeihgfjlnkmopqrstuv_`cbajlnkmopqeihgfrstuvNone%&'=>?@ASX_lm6z{|}~~z{|}None%&'=>?@ASX_lmdNone%&'=>?@ASX_lm  None%&'=>?@ASX_lmNone%&'=>?@ASX_lm minilight=Pre-defined resolver supports all components in this library. minilightName minilightConstructor of the component minilight Old resolver  !"!#!$!$%&'%&()*+)*,)*-)*.)*/)*0)*1)*2)*3)*4)*5)*6789:;<=>?@ABCDEFGHIJKLMMNOPQRSEGHTUVWXXYZ[[UN\]]^_`abcdefghijkllmnopqqrstuvwxyz{{|}~         D                                 !"#$%&''()*+,-./0123''4567789:;<=>,?@A2BCDEFGHIJKLNMNO'')P*QRSTUU6,NV2W'')XYZ_[\]^+,_/`abcMdef23ghhi,''jk2lmEnNop3qqi6r,s''jtuk2lvmwxyzE{?|nN3}~''i9,N2i,''j2lEnN3%^^minilight-0.4.3-inplaceMiniLight.LightControl.Monad.CasterControl.Lens.TH.RulesData.Registry.ClassData.Vector.Mutable.PushBackData.Registry.HashTable Data.RegistryMiniLight.EventMiniLight.FigureMiniLight.ComponentMiniLight.Loader.Internal.Types"MiniLight.Loader.Internal.ResolverMiniLight.Loader MiniLightData.Config.FontData.Component.MessageEngineData.Component.ButtonData.Component.BasicData.Component.LayerData.Component.SelectionData.Component.AnimationLayerData.Component.MessageLayerData.Component.ResolverDataVector HashTableLoaderTFontyFruity-0.5.3.5-6e41fa6b0290f400c0c6ab6096f536570062d79b245dcb2ab66dc258ddf680f4"Graphics.Text.TrueType.FontFolders_descriptorStyle_descriptorFamilyNameFontDescriptorGraphics.Text.TrueType.Header_fontStyleItalic_fontStyleBold FontStylebaseControl.Monad.IO.ClassliftIOMonadIOOcaster-0.0.3.0-08419122edb35fde121e6d65ff38c2a3565799e5fb0296da9aa195a39a20340aSystem.Log.Caster.Core toBuilder ToBuilder LogEmergencyLogAlert LogCriticalLogErrorLogWarn LogNoticeLogInfoLogDebugLogLevelLogQueue lensRules_ MonadLogger getLoggerdebuginfowarnerr stdoutLoggeriohandleLogger IRegistryhas!!?updatewriteregisterinsertdeleteasVecforV_iforV_modifyV_IOVectornewread safeLengthlength safeCapacitycapacitypushfromList asIOVectorasUnsafeIOVector HashTableImpl fromListImpl$fIRegistryHashTableImplRegistry$fIRegistryRegistry EventDataEventSignalRawEvent NotifyEvent EventType getEventTypegetEventPropertiessignalasSignal asRawEvent asNotifyEvent asEventData$fEventTypeEventData$fShowEventDataLightEnvrenderer fontCachelogger$fHashableFontDescriptorLoopEnv keyStatesevents signalQueue HasLightEnvlightEnv _fontCache_logger _renderer$fHasLightEnvLightEnvLightT runLightT' HasLoopEnvloopEnv_events _keyStates _signalQueue liftMiniLight envLightT mapLightT loadFontCacheloadFontwithFont$fHasLoopEnvLoopEnv$fMonadLoggerLightT$fMonadReaderenvLightT$fFunctorLightT$fApplicativeLightT $fMonadLightT$fMonadIOLightT$fMonadThrowLightT$fMonadMaskLightT$fMonadCatchLightT Rendering translatecliprotatetextpicture fromTexturerectangleOutlinerectangleFilledtriangleOutlineFiguretexture sourceArea targetArearotationcenterLsizeL emptyFigure getFigureSize freeFigureunionrenderrenderswithBlendedText$fRenderingFigureLightT ComponentEnvuid callbacksHookMap Component ComponentUnitfiguresdrawonSignaluseCachebeforeClearCacheHasComponentEnv componentEnv _callbacks_uidemit emitGlobally _unsafeAs newComponentgetComponentSizegetUIDgetHookssetHooks propagate$fHasComponentEnvComponentEnv$fComponentUnitComponentResolver AppConfigappuuidComponentConfig componentTypetagID propertieshooksHook signalName parametertoHooknewUID$fFromJSONHook $fToJSONHook$fFromJSONComponentConfig$fToJSONComponentConfig$fFromJSONAppConfig $fShowHook $fGenericHookContextpath variablesvaluesExprNoneRefVarOpConstantSymbolAppparser emptyContextgetAt normalizeeval convertPathconvert parseText resolveWithresolveparseAppConfig$fFromJSONExpr $fToJSONExpr$fEqExpr $fShowExpr $fGenericExpr LoaderEnvregistry tagRegistry appConfig HasLoaderEnv loaderEnv _appConfig _registry _tagRegistrycreateComponentBy lookupByTagID resolveConfig loadAppConfigpatchAppConfig$fHasLoaderEnvLoaderEnv LoopStatelightlooploader LoopConfig watchKeys appConfigFilehotConfigReplacementcomponentResolveradditionalComponents LightConfigheadlesslogQueuelogLevel runLightTdefLightConfig runLightTWith defConfig$fHashableScancodeMiniLoop$fHasLoaderEnvLoopState$fHasLoopEnvLoopState$fHasLightEnvLoopState$fHasLoopStateLoopStaterunComponentEnv@@! runMiniloop runMainloopquit$fHasComponentEnvComponentState$fHasLoaderEnvComponentState$fHasLoopEnvComponentState$fHasLightEnvComponentState"$fHasComponentStateComponentStateaConfig descriptorsizecolor HasConfigconfig_color _descriptor_size loadFontFromtextFrom$fFromJSONConfig$fHasConfigConfigmessagesstaticfont MessageEnginefontDatacounterpage textCounter textTexturefinishedcurrentMessages_font _messages_static EngineEventNextPage SetMessage_config_counter_currentMessages _finished _fontData_page _textCounter _textTexture wrapSignal$fComponentUnitMessageEngine$fEventTypeEngineEventlabelfontConffontSize ButtonEventClickButton$fEventTypeButtonEvent$fComponentUnitButtonpositionvisible $fShowConfig MousePressed MouseReleased MouseOver SetVisibility _position_visible wrapConfig areaRectangle wrapFiguresemitBasicSignalhandleBasicSignalcontains$fEventTypeSignalLayerlayerbasicimage_basic_image_layer newNineTile$fComponentUnitLayer Selectionhover currentLabelslabels fontConfig _fontConfig_labelsSelectionEventSelect SetOptions_currentLabels_hover$fEventTypeSelectionEvent$fComponentUnitSelection layerConfdivisionintervalAnimationLayertileSize$fComponentUnitAnimationLayer MessageLayer messageEnginecursorenginewindownext_engine_next_windowMessageLayerEventFinish_cursor_messageEngineengineLcursorL$fComponentUnitMessageLayer$fEventTypeMessageLayerEventresolverextendResolver GHC.IO.UnsafeunsafePerformIODynamicMsdl2-2.4.1.0-66f0dcab2a014a2bc7f822928d31131d6469bcaf7f8daea6e213013e042e1d3b SDL.EventQfsnotify-0.3.0.1-4cde949f7c1836a2de54ad9f0663161c4e5f36dec5ad1d94f19b4ec3627eaad2System.FSNotify.Types