7I1s      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrNone#,/69:;<=DIQRT[ A 98-related exception with a corresponding HTTP error code.Most 9%s are really just newtypes. By using  , you can construct trees of 9<s by providing only their inner types, much like Servant. Handle a POST request and produce a JSON response, with s. Handle a GET request and produce a JSON response, with s.fUseful synonym for dynamic endpoints: accept requests with a given method, compute a JSON response in s and don't cache.Accept a "multipart/form-data" request. Files will be stored in a temporary directory and will be deleted automatically after the request is processed. 'A parsed "multipart/form-data" request. Produce a response with s.Parse a JSON request body. Prevent caching for sub-routers.VSet extra headers on responses. Existing headers will be overriden if specified here.Return a given JSON object'Accepts requests with a certain method.&Capture a path segment and pass it on.":The class of types that can be parsed from a path segment.$$Match any of a set of path segments.'Try to route with left, or try to route with right.+Match a path, segment, e.g "foo" +  Bar,'Match a constant directory in the path.When specifying APIs, use the +% combinator to specify sub-paths: "foo" +  Bar/Only accept the end of a path.2Serve a given WAI t.5Serve a given WAI u.86Compose routers. This is just type application, ie.: "Foo :> Bar :> Baz == Foo (Bar Baz)9Routers are the basic typeclass of Solga: their types describe what type of requests they accept, and their values describe how to handle them. You can use v to get free instance of 9- for any data type with one constructor and 9Is as fields. The fields will be considered alternatives, as if you wrote ' between them.:Given a request, if the router supports the given request return a function that constructs a response with a concrete router.;The right hand side of  Application. Request is already known.<Try to route using a type r+ by providing a function to turn it into a 9 r'2. Useful for passing routing on to the next step.=Like < but in s.>Serve a 9 with Solga, returning 1s as HTTP responses and other errors as HTTP 500.?Serve a 9 with Solga, throwing s.@ Create a 400 Bad Request error with a given message.A Create a  404 Not Found error with a given message.ewxy  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aB  !"#$%&'()*+,-./0123456789:;<=>?@AD>?8+567234/01 ,-.$%&"# !  '()*@A9::;<=?wxy   !"#$%&'()*+,-./0123456789::;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a'1(1+282z         !"#$$%&&'(()**+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkljmnopqrst$solga-0.1.0.2-BEWyzSWol1MLwI5QclKifmSolga SolgaError AbbreviatedBriefbriefPostGetEndpointReqBodyMultipartreqMultiPartParsereqMultiPartNext MultiPartDataWithIO withIONext ReqBodyJSONreqBodyJSONNextNoCache noCacheNext ExtraHeaders extraHeadersextraHeadersNextJSON jsonResponseMethod methodNextCapture captureNext FromSegment fromSegment OneOfSegs oneOfSegsNext:<|>altLeftaltRight/>SegsegNextEndendNext RawResponse rawResponseRawrawApp:>RoutertryRoute Responder tryRouteNexttryRouteNextIOserve serveThrow badRequestnotFound$fExceptionSolgaError $fRouter:*:$fAbbreviatedReqBodyMultipart$fAbbreviatedWithIO$fAbbreviatedReqBodyJSON$fAbbreviatedNoCache$fAbbreviatedExtraHeaders$fAbbreviatedJSON$fAbbreviatedMethod$fAbbreviatedCapture$fAbbreviatedOneOfSegs$fAbbreviated:<|>$fAbbreviatedSeg$fAbbreviatedEnd$fAbbreviatedRawResponse$fAbbreviatedRaw$fRouterReqBodyMultipart$fRouterWithIO$fRouterReqBodyJSON$fRouterNoCache$fRouterExtraHeaders $fRouterJSON$fRouterMethod$fRouterCapture$fFromSegmentText$fRouterOneOfSegs$fRouterOneOfSegs0 $fRouter:<|> $fRouterSeg $fRouterEnd$fRouterRawResponse $fRouterRaw$fEqSeg$fOrdSeg $fShowSeg$fEq:<|> $fOrd:<|> $fShow:<|> $fEqMethod $fOrdMethod $fShowMethod$fEqJSON $fOrdJSON $fShowJSON$fEqSolgaError$fOrdSolgaError$fShowSolgaError $fRouterM1 $fRouterK1ghc-prim GHC.TypesIO"wai-3.2.1.1-5RZsFhRyJZcC8rXXkujlwNNetwork.Wai.InternalResponse Network.Wai Applicationbase GHC.GenericsGeneric errorStatus errorMessage