92{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzNone,-345;=>?FKTV,A type family to be used in your ECS recrod.Describes how we can change an a.Keep the current value.&Delete the current value if it exists.Set the current value.<Data kind used to parameterize the fields of the ECS record.*This component can be owned by any entity.>This component can be owned by only a single entity at a time. *This component is owned by another system. .Data kind used to parameterize the ECS record. #Used to describe the actual entity. &Used to construct the world's storage. /Used to construct a setter to update an entity.EA collection of methods necessary to dispatch reads and writes to a   component.'Get the value of an entity's component.*Update the value of an entity's component..A computation to run over a particular entity."A monad over an ECS given a world w..A monad transformer over an ECS given a world w.The internal state of the  monad.The key for an entity.  !!     None-;<=>?FSTVh 9:;<=>?@A ?@FEDCB=>KJIHG;<PONMLA9:XWVUTSRQ9:;<=>?@None%-7;<=>?ANVh/YAn Y is a set of s to iterate over.[`Transforms an entity into a setter to transform the default entity into the given one. Used by d.\)The default entity, owning no components.]IThe default setter, which keeps all components with their previous value.^-A setter which will delete the entity if its  matches._NThis class provides all of the functionality necessary to manipulate the ECS.`+Fetches an entity from the world given its .a Updates an  in the world given its setter.b8The default world, which contains only empty containers.cRetrieve a unique .dCreate a new entity.eDelete an entity.f Evaluate a .gMap a / transformation over all entites that match it.hKCollect the results of a monadic computation over every entity matching a .iDo an g and an h at the same time.jRun a  over a particular .kProvides a resumable X. This is a pretty big hack until I come up with a better formalization for everything.l Evaluate a .m Evaluate a .nOnly evaluate this - for entities which have the given component.oOnly evaluate this 5 for entities which do not have the given component.p*Get the value of a component, failing the  if it isn't present.q(Attempt to get the value of a component.rGet the  for whom this query is running.sQuery a flag as a {.tPerform a query with a default.uIterate over all entities.vIterate over some entities.wIterate over an entity.xTurn a | into an . YZ[^]\_a`bcdefghijklmnopqrstuvwx)_``aabbZ[[\\]]^^yzcdefghijklmnopqrstYuvwxZ[[\\]]^^_``aabbNone1Q. Y^]\a`bdeghijklmnopqrstuvwx. blkmd\`aeghi]^Yuvwjpnorqstx}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&ecstasy-0.2.0.0-EyRNoQBDaqhFKB0KgPckYS Data.EcstasyData.Ecstasy.TypesData.Ecstasy.Internal.DerivingData.Ecstasy.Internalbase GHC.GenericsGeneric ComponentUpdateKeepUnsetSet ComponentTypeFieldUniqueVirtual StorageTypeFieldOfWorldOfSetterOfVTablevgetvsetQueryT runQueryT'SystemSystemT runSystemT' SystemStateEntunEnt $fShowEnt$fMonadReaderrQueryT$fMonadTransQueryT$fMonadStatesSystemT$fMonadTransSystemT$fEqEnt$fOrdEnt$fFunctorQueryT$fApplicativeQueryT $fMonadQueryT$fMonadStateQueryT$fMonadWriterQueryT$fMonadIOQueryT$fAlternativeQueryT$fMonadPlusQueryT$fFunctorSystemT$fApplicativeSystemT$fMonadSystemT$fMonadReaderSystemT$fMonadWriterSystemT$fMonadIOSystemT $fEqUpdate $fOrdUpdate $fShowUpdate $fReadUpdate$fFunctorUpdate$fFoldableUpdate$fTraversableUpdateGDefaultgdef GSetEntity gSetEntity GGetEntity gGetEntityGConvertSettergConvertSetterdef$fGConvertSetter:*::*:$fGConvertSetterM1M1$fGConvertSetterK1K1$fGConvertSetterK1K10$fGConvertSetterK1K11$fGGetEntitym:*::*:$fGGetEntitymM1M1$fGGetEntitymK1K1$fGGetEntitymK1K10$fGGetEntitymK1K11$fGSetEntitym:*::*:$fGSetEntitymM1M1$fGSetEntitymK1K1$fGSetEntitymK1K10$fGSetEntitymK1K11$fGDefaultkeep:*:$fGDefaultkeepM1$fGDefaultkeepM10$fGDefaultkeepK1$fGDefaultTrueK1$fGDefaultFalseK1$fGDefaultkeepK10$fGDefaultkeepU1 EntTarget HasWorld' convertSetter newEntity unchanged delEntityHasWorld getEntity setEntity defStorage nextEntity createEntity deleteEntityunQueryTemapeforeover runQueryT yieldSystemT runSystemT runSystemwithwithoutquery queryMaybequeryEnt queryFlagqueryDefallEntssomeEntsanEnt maybeToUpdate$fHasWorld'world$fHasWorldworldmghc-prim GHC.TypesBoolGHC.BaseMaybe