!Cw8      !"#$%&'()*+,-./0123456789:;<=>?@AB C D E F G H I J K L M N O P Q R STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy z { | } ~        !"#$%&'()*+,-./01234567Optics for working with s.None&'/48=>?@ACHPSUVX_kX8 optics-extraConstruct a hash map from an 8.%The construction is left-biased (see 9S), i.e. the first occurences of keys in the fold or traversal order are preferred."toMapOf ifolded ["hello", "world"]"fromList [(0,"hello"),(1,"world")]8toMapOf (folded % ifolded) [('a',"alpha"),('b', "beta")]%fromList [('a',"alpha"),('b',"beta")]KtoMapOf (folded % ifolded) [('a', "hello"), ('b', "world"), ('a', "dummy")]&fromList [('a',"hello"),('b',"world")]88Optics for working with :s.None&'/48=>?@ACHPSUVX_k 9 optics-extraThis ;% can be used to change the type of a :( by mapping the elements to new values. Sadly, you can't create a valid  for a :., but you can manipulate it by reading using < and reindexing it via 9.(over setmapped (+1) (fromList [1,2,3,4])fromList [2,3,4,5]: optics-extra Construct a : from a fold.setOf folded ["hello","world"]fromList ["hello","world"]7setOf (folded % _2) [("hello",1),("world",2),("!!!",3)]fromList [1,2,3]9:9:Optics for working with lazy =.None%&'/48=>?@ACHPSUVX_gk6 < optics-extra This isomorphism can be used to > (or ?) lazy =."hello" ^. packed -- :: Text"hello" > x "a x  < ? x "a x  @ < < "a @ = = optics-extra This isomorphism can be used to ? (or >) lazy =.*Text.pack "hello" ^. unpacked -- :: String"hello" > x "a x  @ = ? x "a x  < This AM is provided for notational convenience rather than out of great need, since = "a @ < > optics-extraThis is an alias for =+ that makes it clearer how to use it with (). > = @ < _Text # "hello" -- :: Text"hello"? optics-extraConvert between lazy = and B . C x "a x  ? D x "a x  @ ? @ optics-extra(Traverse the individual characters in a =.'anyOf text (=='c') $ Text.pack "chello"True @ = = % E @When the type is unambiguous, you can also use the more general  . @ "a   $Note that when just using this as a ;, F   can be more efficient.A optics-extraEncode/Decode a lazy = to/from lazy G , via UTF-8.yNote: This function does not decode lazily, as it must consume the entire input before deciding whether or not it fails.(ByteString.unpack (utf8 # Text.pack "&") [226,152,131]H optics-extraInternal implementation of =.I optics-extraInternal implementation of @.J optics-extraIndexed fold for I.K optics-extraIndexed setter for I.;<=>?@A<=>@?A; Optics for working with strict L.None%&'/48=>?@ACHPSUVX_gkK C optics-extra This isomorphism can be used to M (or N ) strict L."hello" ^. packed -- :: Text"hello" M x "a x  C N x "a x  @ C C "a @ D C "a O M N D optics-extra This isomorphism can be used to N (or M ) strict L.,Strict.pack "hello" ^. unpacked -- :: String"hello"This AM is provided for notational convenience rather than out of great need, since D "a @ C M x "a x  @ D N x "a x  C D "a O N M E optics-extraThis is an alias for D0 that makes it more obvious how to use it with  > _Text # "hello" -- :: Text"hello"F optics-extraConvert between strict L and B . P x "a x  F Q (D x) "a x  @ F G optics-extra-Traverse the individual characters in strict L.(anyOf text (=='o') (Strict.pack "hello")True@When the type is unambiguous, you can also use the more general  . G "a D % E G "a   $Note that when just using this as a ;, F !  can be more efficient.H optics-extraEncode/Decode a strict L to/from strict R , via UTF-8.utf8 # Strict.pack "&""\226\152\131"S optics-extraInternal implementation of D.T optics-extraInternal implementation of G.U optics-extraIndexed fold for T.V optics-extraIndexed setter for T.BCDEFGHCDFGHEB 'Optics for working with strict or lazy M.None%&'/48=>?@ACHPSUVX_gkWI optics-extraTraversals for strict or lazy MJ optics-extra This isomorphism can be used to M (or N) strict or lazy M. M x "a x  J N x "a x  @ J J "a @ N K optics-extraConvert between strict or lazy M and a B. P x "a x  K L optics-extra5Traverse the individual characters in strict or lazy M. L = N . E N optics-extra This isomorphism can be used to N (or M) both strict or lazy M. N x "a x  N M x "a x  @ N This AM is provided for notational convenience rather than out of great need, since N "a @ J O optics-extraThis is an alias for N+ that makes it clearer how to use it with (). O = @ J _Text # "hello" :: Strict.Text"hello"ILKJMNOILKJNOM Optics for " and #$-like containers.None&'/48=>?@ACHPSUVX_kY   :Optics to access the left or right element of a container.None&'/48=>?@ACHPSUVX_gk[ !"#$&%('&%"! #('$A W for a type that may be *.None&'/48=>?@ACHPSUVX_gk])+*+*) None&'/48=>?@ACHPSUVX_kuvy optics-extraTraverse a strict Rb in a relatively balanced fashion, as a balanced tree with biased runs of elements at the leaves.z optics-extraTraverse a strict R in a relatively balanced fashion, as a balanced tree with biased runs of elements at the leaves, pretending the bytes are chars.{ optics-extraAn X# of the individual bytes in a lazy G.| optics-extraAn X# of the individual bytes in a lazy G! pretending the bytes are chars.Y optics-extraInternal version of y.Z optics-extraIndexed setter for Y.[ optics-extraIndexed fold for Y.\ optics-extraInternal version of z.] optics-extraIndexed setter for \.^ optics-extraIndexed fold for \._ optics-extraInternal version of {.` optics-extraIndexed setter for _.a optics-extraIndexed fold for _.b optics-extraInternal version of |.c optics-extraIndexed setter for b.d optics-extraIndexed fold for b.e optics-extraConversion between f and g. Should compile to a no-op.h optics-extraUnsafe conversion between g and f<. This is a no-op and silently truncates to 8 bits Chars > '\255'=. It is provided as convenience for ByteString construction.i optics-extra8A way of creating ByteStrings outside the IO monad. The Int: argument gives the final size of the ByteString. Unlike  createAndTrimV the ByteString is not reallocated if the final size is less than the estimated size.j optics-extraCreate ByteString of size l and use action f to fill it's contents.yz{|yz{| None%&'/48=>?@ACHPSUVX_gk optics-extra%& (or %') a list of bytes into a R  "a @  %& x "a x k  %' x "a x k @  $[104,101,108,108,111] ^. packedBytes"hello" optics-extra%' (or %&) a R into a list of bytes.  "a @  %' x "a x k  %& x "a x k @  &"hello" ^. packedChars % unpackedBytes[104,101,108,108,111] optics-extraTraverse each f in a R.This l walks the R in a tree-like fashion enable zippers to seek to locations in logarithmic time and accelerating many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  "a  m E *anyOf bytes (== 0x80) (Char8.pack "hello")False$Note that when just using this as a ;, F %  can be more efficient. optics-extra(& (or (') a list of characters into a RWhen writing back to the R it is assumed that every g lies between '\x00' and '\xff'.  "a @  (& x "a x k  (' x "a x k @  sfoldOf (packedChars % each % to (\w -> let x = showHex w "" in if Prelude.length x == 1 then '0':x else x)) "hello" "68656c6c6f" optics-extra(' (or (&) a list of characters into a RWhen writing back to the R it is assumed that every g lies between '\x00' and '\xff'.  "a @  (' x "a x k  (& x "a x k @  4[104,101,108,108,111] ^. packedBytes % unpackedChars"hello" optics-extra#Traverse the individual bytes in a R as characters.When writing back to the R it is assumed that every g lies between '\x00' and '\xff'.This l walks the R in a tree-like fashion enable zippers to seek to locations in logarithmic time and accelerating many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  =  m E )anyOf chars (== 'h') $ Char8.pack "hello"True}~~} None%&'/48=>?@ACHPSUVX_gk! optics-extra)& (or )') a list of bytes into a G.  "a @  %& x "a x k  %' x "a x k @  :[104,101,108,108,111] ^. packedBytes == Char8.pack "hello"True optics-extra)' (or )&) a G into a list of bytes.  "a @  %' x "a x k  %& x "a x k @  &"hello" ^. packedChars % unpackedBytes[104,101,108,108,111] optics-extra#Traverse the individual bytes in a G.This l walks each strict G chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  "a  m E *anyOf bytes (== 0x80) (Char8.pack "hello")False$Note that when just using this as a ;, F )  can be more efficient. optics-extra*& (or *') a list of characters into a G.When writing back to the G it is assumed that every g lies between '\x00' and '\xff'.  "a @  (& x "a x k  (' x "a x k @  sfoldOf (packedChars % each % to (\w -> let x = showHex w "" in if Prelude.length x == 1 then '0':x else x)) "hello" "68656c6c6f" optics-extra*' (or *&) a list of characters into a GWhen writing back to the G it is assumed that every g lies between '\x00' and '\xff'.  "a @  (' x "a x k  (& x "a x k @  4[104,101,108,108,111] ^. packedBytes % unpackedChars"hello" optics-extra#Traverse the individual bytes in a G as characters.When writing back to the G it is assumed that every g lies between '\x00' and '\xff'.This l walks each strict G chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to:  =  m E )anyOf chars (== 'h') $ Char8.pack "hello"TrueNone%&'/48=>?@ACHPSUVX_gkȲ optics-extraTraversals for ByteStrings. optics-extra%& (or %')) a list of bytes into a strict or lazy R. %& x "a x k  %' x "a x k @   "a @   optics-extra(& (or ('.) a list of characters into a strict or lazy R.When writing back to the R it is assumed that every g lies between '\x00' and '\xff'. (& x "a x k  (' x "a x k @   "a @   optics-extraTraverse each f in a strict or lazy RThis l walks each strict R chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  "a  n E o  (p 0x80) :: R -> q  optics-extra2Traverse the individual bytes in a strict or lazy R as characters.When writing back to the R it is assumed that every g lies between '\x00' and '\xff'.This l walks each strict R chunk in a tree-like fashion enable zippers to seek to locations more quickly and accelerate many monoidal queries, but up to associativity (and constant factors) it is equivalent to the much slower:  "a  n E o  (p 'c') :: R -> q  optics-extra%' (or %&) a R into a list of bytes.  "a @  %' x "a x k  %& x "a x k @   :: r %+ [f]  :: r )+ [f]  optics-extra(' (or (&0) a list of characters into a strict (or lazy) RWhen writing back to the R it is assumed that every g lies between '\x00' and '\xff'.  "a @  (' x "a x k  (& x "a x k @   :: r %+ s  :: r )+ s Safe&'/48=>?@ACHPSUVX_kΏ optics-extrahReturn the the subset of given ordinals within a given bound and in order of the first occurrence seen.Bound:  0 <= x < lordinalNub 3 [-1,2,1,4,2,3][2,1] optics-extrastrict upper bound  optics-extraordinals  optics-extra)unique, in-bound ordinals, in order seen None&'/48=>?@ACHPSUVX_kG  optics-extra sliced i n provides a t that edits the n elements starting at index i from a t.This is only a valid t3 if you do not change the length of the resulting u.RAttempting to return a longer or shorter vector will result in violations of the t laws.DVector.fromList [1..10] ^. sliced 2 5 == Vector.fromList [3,4,5,6,7]True^(Vector.fromList [1..10] & sliced 2 5 % mapped .~ 0) == Vector.fromList [1,2,0,0,0,0,0,8,9,10]True optics-extra Similar to v, but returning a u.G(toVectorOf each (8,15) :: Vector.Vector Int) == Vector.fromList [8,15]True optics-extraConvert a list to a u (or back.)C([1,2,3] ^. vector :: Vector.Vector Int) == Vector.fromList [1,2,3]True%Vector.fromList [0,8,15] ^. re vector[0,8,15] optics-extra Convert a u to a finite w (or back.) optics-extra Convert a u to a finite w from right to left (or back.) optics-extra Convert a uH back and forth to an initializer that when run produces a copy of the u. optics-extra Convert a u3 to a version that doesn't retain any extra memory. optics-extraThis l= will ignore any duplicates in the supplied list of indices.>toListOf (ordinals [1,3,2,5,9,10]) $ Vector.fromList [2,4..40][4,8,6,12,20,22] optics-extraLike $ but polymorphic in the vector type. optics-extra.Indexed vector traversal for a generic vector. optics-extra>Different vector implementations are isomorphic to each other. optics-extrai starting index optics-extran length None&'/48=>?@ACHPSUVX_k optics-extra sliced i n provides a t that edits the n elements starting at index i from a t.This is only a valid t3 if you do not change the length of the resulting x.RAttempting to return a longer or shorter vector will result in violations of the t laws.DVector.fromList [1..10] ^. sliced 2 5 == Vector.fromList [3,4,5,6,7]True^(Vector.fromList [1..10] & sliced 2 5 % mapped .~ 0) == Vector.fromList [1,2,0,0,0,0,0,8,9,10]True optics-extra Similar to v, but returning a x.0toVectorOf each (8,15) == Vector.fromList [8,15]True optics-extraConvert a list to a x (or back),[1,2,3] ^. vector == Vector.fromList [1,2,3]True[1,2,3] ^. vector % re vector[1,2,3]JVector.fromList [0,8,15] ^. re vector % vector == Vector.fromList [0,8,15]True optics-extra Convert a x4 to a version that doesn't retain any extra memory. optics-extraThis l= will ignore any duplicates in the supplied list of indices.>toListOf (ordinals [1,3,2,5,9,10]) $ Vector.fromList [2,4..40][4,8,6,12,20,22] optics-extrai starting index optics-extran lengthNone&'/48=>?@ACHPSUVX_k optics-extra,Wrap a monadic effect. Used when magnifying ,-. optics-extraWrap a monadic effect. optics-extraMake a y out of z for error handling. optics-extraMake a y out of { for error handling. optics-extraUsed by . to / into ,-. optics-extraUsed by . to / into 01.Definitions of indexed optics.None&'/48=>?@ACHPSUVX_k>m |}~X8,-./10543276 /105432.-76,An X for  2 element of a (potentially monomorphic) container.None&'/48=>?@ACHPSUVX_k   optics-extra   :: X  G G f f optics-extra   :: X  R R f f optics-extra   :: X  = = g g optics-extra   :: X  L L g g optics-extra   :: ( a,  b) => X  ( a) ( b) a b optics-extra   :: ( a,  b) => X  ( a) ( b) a b optics-extra   :: ( a,  b) => X Int (23 a) (23 b) a b optics-extra   :: X Int (x a) (x b) a b optics-extra   :: X k ( k a) ( k b) a b  ; utilities for working with .None&'/48=>?@ACHPSUVX_k optics-extraMap over the target(s) of an  in our monadic state.BexecState (do modifying _1 (*10); modifying _2 $ stimes 5) (6,"o") (60,"ooooo")/execState (modifying each $ stimes 2) ("a","b") ("aa","bb") optics-extra Version of B that is strict in both optic application and state modification.Gflip evalState ('a','b') $ modifying _1 (errorWithoutStackTrace "oops")()Hflip evalState ('a','b') $ modifying' _1 (errorWithoutStackTrace "oops")*** Exception: oops optics-extraReplace the target(s) of an A in our monadic state with a new value, irrespective of the old.5execState (do assign _1 'c'; assign _2 'd') ('a','b') ('c','d')%execState (assign each 'c') ('a','b') ('c','c') optics-extra Version of B that is strict in both optic application and state modification.Dflip evalState ('a','b') $ assign _1 (errorWithoutStackTrace "oops")()Eflip evalState ('a','b') $ assign' _1 (errorWithoutStackTrace "oops")*** Exception: oops optics-extraUse the target of a t, A, or  in the current state.evalState (use _1) ('a','b')'a'$evalState (use _2) ("hello","world")"world" optics-extraUse the target of a AffineTraveral or  in the current state.0evalState (preuse $ _1 % _Right) (Right 'a','b')Just 'a'None&'/48=>?@ACHPSUVX_k5 optics-extra*Generalized view (even more powerful than view from the lens library).)View the value(s) pointed to by an optic.5The type of the result depends on the optic. You get:Exactly one result a with A, t,  and .At most one result Maybe a with W,  and . Monoidal summary of all results  Monoid a => a with l and .mWhen in doubt, use specific, flavour restricted versions. This function is mostly useful for things such as 4. optics-extraUse the target of a t, A, or . in the current state, or use a summary of a  or l! that points to a monoidal value.evalState (guse _1) ('a','b')'a'%evalState (guse _2) ("hello","world")"world" optics-extraUse the target of a t, A or . in the current state, or use a summary of a  or l! that points to a monoidal value.-evalState (guses _1 length) ("hello","world")5 optics-extraThis is a generalized form of D that only extracts the portion of the log that is focused on by a  . If given a  or a lU then a monoidal summary of the parts of the log that are visited will be returned. optics-extraThis is a generalized form of D that only extracts the portion of the log that is focused on by a  . If given a  or a lU then a monoidal summary of the parts of the log that are visited will be returned.None&'/48=>?@ACHPSUVX_k8! optics-extraModify the target of an % returning extra information of type r.+Infix operators for state-modifying optics.None&'/48=>?@ACHPSUVX_kNg  optics-extraReplace the target(s) of an A in our monadic state with a new value, irrespective of the old.This is an infix version of . optics-extraReplace the target(s) of an  in our monadic state with ' a new value, irrespective of the old. optics-extraMap over the target(s) of an  in our monadic state.This is an infix version of . optics-extraModify the target of an X in the current state returning some extra information of type depending on the optic (r, Maybe r or monoidal summary). optics-extraModify the target of a  into your Monad';s state by a user supplied function and return the result. optics-extraSet  a value with pass-through.LThis is useful for chaining assignment without round-tripping through your  stack. optics-extraSet with pass-through.LThis is useful for chaining assignment without round-tripping through your  stack. optics-extraModify the target of a  into your Monad'4s state by a user supplied function and return the old value that was replaced.  optics-extraReplace the target of a  into your Monad's state with & a user supplied value and return the old value that was replaced.  optics-extraReplace the target of a  into your Monad'3s state with a user supplied value and return the old value that was replaced.      44444444 4 4None&'/48=>?@ACHPSUVX_kp[  optics-extraExtends  $ with an ability to magnify using a o over multiple targets so that actions for each one are executed sequentially and the results are aggregated.)There is however no sensible instance of   for .  optics-extraThis class allows us to O part of the environment, changing the environment supplied by many different  transformers. Unlike 5 this can change the environment of a deeply nested  transformer.kIts functions can be used to run a monadic action in a larger environment than it was defined in, using a  or an .They act like 56D, but can in many cases change the type of the environment as well.3They're commonly used to lift actions in a simpler   into a  with a larger environment type.)They can be used to edit pretty much any . transformer stack with an environment in it:(1,2) & magnify _2 (+1)3,flip runReader (1,2) $ magnify _1 Reader.ask1Dflip runReader (1,2,[10..20]) $ magnifyMaybe (_3 % _tail) Reader.ask$Just [11,12,13,14,15,16,17,18,19,20] optics-extraThis class allows us to  in, changing the f supplied by many different monad transformers, potentially quite deep in a monad transformer stack.>Its functions can be used to run a monadic action in a larger " than it was defined in, using a , an  or a .3This is commonly used to lift actions in a simpler   into a   with a larger  type.When used with a m over multiple values, the actions for each target are executed sequentially and the results are aggregated.)This can be used to edit pretty much any  transformer stack with a  in it!3flip L.evalState ('a','b') $ zoom _1 $ use equality'a'6flip S.execState ('a','b') $ zoom _1 $ equality .= 'c' ('c','b')Aflip L.execState [(1,2),(3,4)] $ zoomMany traversed $ _2 %= (*10)[(1,20),(3,40)]Rflip S.runState [('a',"b"),('c',"d")] $ zoomMany traversed $ _2 <%= (\x -> x <> x) ("bbdd",[('a',"bb"),('c',"dd")])9flip S.evalState ("a","b") $ zoomMany each (use equality)"ab", optics-extra  =   =  7 optics-extra   =          2222227None&'/48=>?@ACHPSUVX_kry |}~XEl kF    ;  !"#$&%(')+* !"#$%&'()*+,-./012345678OAr9:;<=>?@ABCD@EFGHIJKLMNOPWQRSTUVWXYZt[\8]^_`abcdefghijklomnopqrstuvwxy<z{|v}~,-./10543276m   89:89;89<89=89>89?89@89A89B89C89D8EF8EG8HI8HJ8HK8HL8HM8HN8HO8HP8HQ8HR8HS8HT8UV8UW8UX8UY8UZ8U[8U\8U]8U^8U_8U`8Ua8Ub8Uc8Ud8Ue8fg8fh8fi8jk8jl8jm8jn8jo8jp8jq8jr8js8jt8ju8jvwxyz{|}~ z { | } ~   { ~  z | }           4 !"#$%./&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK8LMNOPNQR8ST8UVWXzW&W'8YZ8[\W]^W]_W]`8a8Sbcd+efghWizW!&Wj'8[kW]lWmcn+ e f o p8qr8st u v w x y z { | } ~      8888U8[838U38s8s8s8s8s8s8s8s8s8s8s8s8s8s8s8s8s8s8s8s8s88888888888888888888888L8L8L8L8L8L8L8L8L8L8L8L8L8L8L8L8L8L8L8L8L8L8888888888888888888332NO8 8  8  888U18888 8  8U!"#$%8&8'8(8)8*8+8,8-8.8/8081828384856857858898:8;8<8=8>88?8@8SA8SB8SC8SD8SE8SF8GH8GI8GJ8GK8GL8GM8GN8GO8GP8GQ8GR8GS8GT8GU8GV8GW8GX8GY8GZ8G[8G\8G]8G^8G_8G`8Ga8Gb8[c8[d8[e8[f8[g8[h8[i8[j8[k8[l8[m8[n8[o8[p8[q8[r8[s8[t8uv8uw8ux8y8z{8z|8}~8}8Y8Y88888q8q8q8q8q8q8q8q8q888888888888U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8U8j8j8j8 8 8 8 8 8888888888888 8 8888888888888888888'optics-extra-0.2-1DSF304PGTpIU4e3RSMT8UOptics.Indexed Optics.Each Optics.AtData.HashMap.Optics Optics.Cons Optics.EmptyData.HashSet.OpticsData.Text.Lazy.OpticsData.Text.Strict.OpticsData.Text.Optics Optics.Extra.Internal.ByteStringData.ByteString.Strict.OpticsData.ByteString.Lazy.OpticsData.ByteString.OpticsOptics.Extra.Internal.VectorData.Vector.Generic.OpticsData.Vector.OpticsOptics.Extra.Internal.Zoom Optics.State Optics.ViewOptics.PassthroughOptics.State.Operators Optics.ZoomData.MapHashMapOptics.Traversal TraversalOptics.Operators^.#Data.Text.Lazymap Data.TextMapData.SetSetData.ByteStringpackunpackData.ByteString.Char8Data.ByteString.LazyData.ByteString.Lazy.Char8 ByteStringControl.Monad.RWSRWSTZoomzoomControl.Monad.StateStateTPrimVector passthroughControl.Monad.Reader.Classlocal Optics.Extra%optics-core-0.2-gD5oLonty5JUp0ntsTPgJOptics.Indexed.Core icomposeN icompose5 icompose4 icompose3icompose reindexed<%%><%>noIxIxOpticOptics.Each.CoreeachEachOptics.At.Coresansat'ixAtIndexcontainsContainsIxValueixIxKindIxedatAtOptics.Cons.Coreunsnocsnoc|>_last_init_tail_headunconscons<|:<:>_ConsCons_SnocSnocOptics.Empty.CoreEmpty_EmptyAsEmptyOptics.Internal.Indexediforifor_ itraverse_ conjoinedimapFunctorWithIndexifoldl'ifoldrifoldMapFoldableWithIndex itraverseTraversableWithIndextoMapOf setmappedsetOfTextpackedunpacked_Textbuildertextutf8IsText $fIsTextText $fIsTextText0 $fIsText[] $fAtHashSet $fAtHashMap$fIxedByteString$fIxedByteString0 $fIxedText $fIxedText0 $fIxedVector $fIxedVector0 $fIxedVector1 $fIxedVector2 $fIxedHashSet $fIxedHashMap$fContainsHashSet$fSnocTextTextCharChar$fSnocTextTextCharChar0$$fSnocByteStringByteStringWord8Word8%$fSnocByteStringByteStringWord8Word80$fSnocVectorVectorab$fSnocVectorVectorab0$fSnocVectorVectorab1$fSnocVectorVectorab2$fConsVectorVectorab$fConsVectorVectorab0$fConsVectorVectorab1$fConsVectorVectorab2$fConsTextTextCharChar$fConsTextTextCharChar0$$fConsByteStringByteStringWord8Word8%$fConsByteStringByteStringWord8Word80 $fAsEmptyText$fAsEmptyText0$fAsEmptyByteString$fAsEmptyByteString0$fAsEmptyVector$fAsEmptyVector0$fAsEmptyVector1$fAsEmptyHashSet$fAsEmptyHashMaptraversedStrictTreetraversedStrictTree8 traversedLazytraversedLazy8CharsBytes packedBytes unpackedBytesbytes packedChars unpackedCharschars IsByteString$fIsByteStringByteString$fIsByteStringByteString0 ordinalNubsliced toVectorOfvectorasStream asStreamRclonedforcedordinalsvectorIxvectorTraverse converted EffectRWS getEffectRWSEffect getEffectErrgetErrMaygetMay FocusingWithunfocusingWithFocusing unfocusing stateZoomstateZoomMaybe stateZoomManyrwsZoom rwsZoomMaybe rwsZoomMany shuffleMay shuffleErr rwsMagnifyrwsMagnifyMayberwsMagnifyManyshuffleSshuffleW$fApplicativeFocusing$fFunctorFocusing$fApplicativeFocusingWith$fFunctorFocusingWith $fMonoidMay$fSemigroupMay $fMonoidErr$fSemigroupErr$fMonoidEffect$fSemigroupEffect$fMonoidEffectRWS$fSemigroupEffectRWS$fTraversableWithIndexIntVector$fFoldableWithIndexIntVector$fFunctorWithIndexIntVector$fTraversableWithIndexkHashMap$fFoldableWithIndexkHashMap$fFunctorWithIndexkHashMap!$fEachInt64ByteStringByteStringab"$fEachInt64ByteStringByteStringab0$fEachIntTextTextab$fEachIntTextTextab0$fEachIntVectorVectorab$fEachIntVectorVectorab0$fEachIntVectorVectorab1$fEachIntVectorVectorab2$fEachkHashMapHashMapab modifying modifying'assignassign'usepreuse ViewableOptic ViewResultgviewgviewsguseguses glistening glistenings$fViewableOpticA_Foldr$fViewableOpticA_Traversalr$fViewableOpticAn_AffineFoldr"$fViewableOpticAn_AffineTraversalr$fViewableOpticA_Prismr$fViewableOpticA_Getterr$fViewableOpticA_ReversedPrismr$fViewableOpticA_Lensr$fViewableOpticAn_IsorPermeableOptic$fPermeableOpticA_Traversalr#$fPermeableOpticAn_AffineTraversalr$fPermeableOpticA_Prismr$fPermeableOpticA_Lensr$fPermeableOpticAn_Isor.=?=%=%%=<%=->ba$fMagnifyManyExceptTExceptTba$fMagnifyManyErrorTErrorTba$fMagnifyManyMaybeTMaybeTba$fMagnifyManyListTListTba$fMagnifyManyWriterTWriterTba$fMagnifyManyWriterTWriterTba0!$fMagnifyManyIdentityTIdentityTba$fMagnifyManyRWSTRWSTba$fMagnifyManyRWSTRWSTba0$fMagnifyManyReaderTReaderTba$fMagnifyMany->->ba Optics.IxFoldIxFold3unordered-containers-0.2.10.0-b9YJCQLkMeLUf311RZkQDData.HashMap.BaseunionData.HashSet.BaseHashSet Optics.SetterSetter Optics.Foldfolded text-1.2.3.1Data.Text.Internal.Lazy Optics.Rere Optics.IsoIsoData.Text.Internal.BuilderBuilder fromLazyText toLazyText traversedsetsbytestring-0.10.8.2Data.ByteString.Lazy.Internal unpacked__text__ ifoldrLazyimapLazyData.Text.InternalData.Text.ShowisofromTexttoStrictData.ByteString.Internal ifoldrStrict imapStrict Optics.PrismPrismOptics.IxTraversal IxTraversaltraversedStrictTree__imapBifoldrBtraversedStrictTree8__imapB8ifoldrB8traversedLazy__imapBLifoldrBLtraversedLazy8__imapBL8 ifoldrBL8w2cbaseGHC.WordWord8ghc-prim GHC.TypesCharc2w unsafeCreatecreateOptics.Internal.Optic%GHC.Base.anyOf GHC.Classes==BoolIso'String Optics.LensLens&vector-0.12.0.3-ChzWbiXyvuNAQj0dcU08SgData.Vector.Generic.BasetoListOfData.Vector.Fusion.BundleBundle Data.VectorMonoid Data.EitherEither GHC.MaybeMaybeipartsOfelement elementOfelements elementsOf ibackwardsindicesignored itraversed ifailover' ifailover iscanr1Of iscanl1Of imapAccumROf imapAccumLOfiforOf itraverseOf itraversalVL IxTraversal' IxTraversalVLIxTraversalVL'Optics.IxSetterimappedisetsiset'isetiover'ioverIxSetter IxSetter' Optics.IxLensdevoid withIxLensVL toIxLensVLilensVLilensIxLensIxLens'IxLensVL IxLensVL'Optics.IxGetteriviewsiview selfIndexitoIxGetterifindMOfifindOfinoneOfiallOfianyOfilastOfiheadOfifailingisumming ibackwards_ ifilteredipre ifoldringifoldingifoldediforOf_ itraverseOf_ itoListOf ifoldlOf'ifoldrOf ifoldMapOfifoldVLOptics.IxAffineTraversaltoIxAtraversalVL iatraversalVL iatraversalIxAffineTraversalIxAffineTraversal'IxAffineTraversalVLIxAffineTraversalVL'Optics.IxAffineFold iafailing iafolding ipreviewsipreview IxAffineFoldOptics.Internal.Optic.TypesA_LensAn_AffineTraversal A_TraversalA_SetterA_Getter An_AffineFoldA_FoldGHC.IntInt64IntData.Vector.Unboxed.BaseUnboxForeign.StorableStorableData.Vector.Storable(primitive-0.7.0.0-9xMM76CsovTEGnXCHiCdRJData.Primitive.Types mtl-2.2.2Control.Monad.State.Class MonadStateOptic Optics.GetterGetterOptics.AffineFold AffineFoldOptics.ReversedPrism ReversedPrismOptics.AffineTraversalAffineTraversalFoldControl.Monad.Writer.ClasslistenJustMonadtransformers-0.5.5.0 Control.Monad.Trans.State.StrictControl.Monad.Trans.ReaderReaderStateLens'AffineTraversal' Traversal'viewspreviews foldMapOf Data.Function& Data.Functor<&>partsOf backwards failover'failoverscanr1Ofscanl1Of mapAccumROf mapAccumLOf transposeOf sequenceOfforOf traverseOf traversalVL TraversalVL TraversalVL' Optics.ArrowassignA ArrowOpticoverA?!~?~!~.~%!~%~^..^?mappedset'setover'overSetter'Data.Tuple.Optics_9'_8'_7'_6'_5'_4'_3'_2'_1'Field1_1Field2_2Field3_3Field4_4Field5_5Field6_6Field7_7Field8_8Field9_9 involutedflipped uncurriedcurriedanonnon'noncoerced1 coercedTocoercedsimpleequalitymappingunderauwithIsoSwappedswapped Optics.ReviewuntoreviewReviewReversedPrism'Optics.ReversedLens ReversedLens ReversedLens'Optics.ReadOnly ToReadOnlygettingReversibleOptic ReversedOpticData.Either.Optics_Right_LeftData.Maybe.Optics_Just_Nothingnearlyonlybelowwithoutaside withPrismprism'prismPrism'united alongsidechosen equality' withLensVLtoLensVLlensVLwithLenslensLensVLLensVL'lookupOffindMOffindOf minimumByOf maximumByOf minimumOf maximumOflengthOf notElemOfelemOfmsumOfasumOfsumOf productOfnoneOfallOforOfandOflastOfheadOfhasn'thasfailingsumming backwards_preunfoldedfoldringfolding sequenceOf_forOf_ traverseOf_foldlOf'foldrOffoldOffoldVLAcceptsEmptyIndicesNonEmptyIndicesHasSingleIndexisn'tafailingfilteredafoldingpreviewunsafeFilteredmatchingtoAtraversalVL atraversalVLwithAffineTraversal atraversalAffineTraversalVLAffineTraversalVL' Optics.CoercecoerceBcoerceAcoerceTcoerceStoview%&%% castOpticOptic' LabelOptic labelOptic LabelOptic'Optics.Internal.Optic.SubtypingIsJoin OpticKindAn_IsoA_PrismA_ReversedPrismA_ReversedLensA_ReviewOptics.Internal.Optic.TypeLevelIxListNoIxWithIxAppend