úÎ!$!C/      !"#$%&'()*+,-.(c) 2019 Edward KmettBSD-2-Clause OR Apache-2.0Edward Kmett <ekmett@gmail.com> experimental non-portableNone"#%1:=?@ACX_`müatlasAUse and cast back and forth to ints instead for more natural API?atlasbottom-left sort-heightatlasbest first sort-height    (c) 2019-2021 Edward KmettBSD-2-Clause OR Apache-2.0Edward Kmett <ekmett@gmail.com> experimental non-portableNone%*=?@AUVX Ï'atlasCreate a packing context.(atlas1Initialization with an optional node count, when node count < width. is used this results in quantization unless +H is enabled. When no value is supplied, it defaults to the width of the .)atlas.Reinitialize an atlas with the same parameters.atlasAdd one rectangle to the . Using ,S can yield significantly better packing than calling this one rectangle at a time.,atlas1The atlas you want to pack these rectangles into.atlas1for each item you want to pack, extract the size.atlas2when some fail to pack this will be called, with /* a position for each that succeeded, and 0Q for any that it failed on. The successes and failures may well be out of order.atlas8when all succeed this will be called with each position.atlasBA container full of things that you'd like to pack into the atlas.atlasAEither a mixture of successes and failures, or a successful pack.-atlasThe ( you want to pack these rectangles into.atlasFfor each item you want to pack, extract the size, with effects in matlas2when some fail to pack this will be called, with /+ a position for each that succeeded, and 0Q for any that it failed on. The successes and failures may well be out of order.atlas9when all succeed, this will be called with each position.atlasBA container full of things that you'd like to pack into the atlas.atlas1; a mixture of successes and failures, or a successful pack.'()*+,-.'()*+,.-2      !"#$%&'()*+,-./0120130456atlas-0-inplaceData.Atlas.Internal Data.AtlasPt Heuristic BottomLeft BestFirstAtlas AtlasContextRectNodeCoorddieatlasCtx heuristicId sizeOfAtlas sizeOfNode sizeOfRectpeekWHpokeWHpeekXY peekMaybeXY$fDefaultHeuristic$fNumPt $fEqAtlas $fOrdAtlas $fShowAtlas $fEqHeuristic$fOrdHeuristic$fShowHeuristic$fReadHeuristic$fEnumHeuristic $fIxHeuristic$fBoundedHeuristic$fLiftHeuristic$fEqPt$fOrdPt$fShowPt$fReadPt$fLiftPtcreatecreateExplicitreset setHeuristicsetAllowOutOfMempackpackMpack1base GHC.MaybeJustNothing Data.EitherEither