!YTP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNONone$"#$%&',-.0127=>?@ACHMPSUVWX_kj  interpolatoriA class for showing environment variable values, which should only be defined on primitives. Similar to P9 except that for text-type values it should use identity. interpolatoriA class for parsing environment variable values, which should only be defined on primitives. Similar to QA except that for text-type values it should parse using identity.  interpolator3Type for a value that can be described either with  '_env...'$ or as just a literal value in JSON. interpolator&Type for a value that is described by #'_env:ENVIRONMENT_VARIABLE:default' in JSON. interpolator2Newtype wrapper for an environment variable value. interpolator0Newtype wrapper for an environment variable key. interpolatoreRun a template using the interpolation context and failing if the value is not found or not readable.3 interpolatorHWhen we can parse template values, we can interpolate from the template.4 interpolatorPure transformation for the identity interpolation. FIXME this is too clunky for overlapping instances, define an auxiliary class (or type) for IdentityInterpolation.    None$"#$%&',-.0127=>?@ACHMPSUVWX_kRL interpolatorMake an instance of R for  of an ADT. Can't do it for an arbitrary Profunctor p because of partial functions. This splice is meant to be used in conjunction with makeAdaptorAndInstance! for records as a way to project R instances down to all leaves. @ data Foo' a b = Foo1 a | Foo2 b makeInterpolatorSumInstance 'Foo  instance (Default Interpolator a1 b1, Default Interpolator a2 b2) => Default Interpolator (Foo' a1 a2) (Foo' b1 b2) where def = Interpolator $ case Foo1 x -> Foo1  $+ runInterpolator def x Foo2 x -> Foo2  $ runInterpolator def x M interpolatorWhen applied to a simple data type declaration, substitute a fully-polymorphic data type (suffixed with a "prime"), and type aliases for "normal" and "uninterpolated" variants.7For example, a record or newtype (using record syntax):  withUninterpolated [d| data Foo = Foo { fooBar :: String , fooBaz :: Maybe Int } deriving (Eq, Show) |] Is equivalent to:  data Foo' bar baz = Foo { fooBar :: bar , fooBaz :: baz } deriving (Eq, Show) type Foo = Foo' String (Maybe Int) type UninterpolatedFoo = Foo' (Uninterpolated String) (Maybe (Uninterpolated Int)) Note: the trailing |]K of the quasi quote bracket has to be indented or a parse error will occur.?A simple sum type whose constructors have one argument or less: d withUninterpolated [d| data MaybeFoo = AFoo Foo | NoFoo deriving (Eq, Show)  Expands to:  data MaybeFoo' aFoo = AFoo aFoo | NoFoo deriving (Eq, Show) type MaybeFoo = MaybeFoo' Foo type UninterpolatedMaybeFoo = MaybeFoo' (Foo' (Uninterpolated String) (Maybe (Uninterpolated Int))) -- Note: UninterpolatedMaybeFoo ~ MaybeFoo' UninterpolatedFoo =Whenever the type of a field is one for which an instance of % is present, the type is wrapped in Uninterpolated(. Otherwise, an attempt is made to push Uninterpolatedc down into the field's type, even if it's a type synonym such as one generated by this same macro.#Note: this splice is equivalent to "withPolymorphic [d|data Foo ... |] followed by deriveUninterpolated ''Foo.N interpolatorWhen applied to a simple data type declaration, substitute a fully-polymorphic data type (suffixed with a "prime"), and a simple type alias which matches the supplied declaration./This splice does not include the corresponding Uninterpolated type, so it can be used separately when needed. For example, if you want to define all your record types first, then define/derive the Uninterpolated types for each. This can be important because the presence of a ` instance, defined before the splice, will affect the shape of the derived Uninterpolated type.7For example, a record or newtype (using record syntax):  withPolymorphic [d| data Foo = Foo { fooBar :: String , fooBaz :: Maybe Int } deriving (Eq, Show) |] Is equivalent to:  data Foo' bar baz = Foo { fooBar :: bar , fooBaz :: baz } deriving (Eq, Show) type Foo = Foo' String (Maybe Int) Note: the trailing |]K of the quasi quote bracket has to be indented or a parse error will occur.O interpolatormGiven the name of a type alias which specializes a polymorphic type (such as the "simple" type generated by N), generate the corresponding Uninterpolated5 type alias which replaces each simple type with an Uninterpolated, form, taking account for which types have  instances.Use this instead of M when you need to define instances for referenced types, and you need flexibility in the ordering of declarations in your module's source.S interpolatorjFrom a simple type declaration, generate declarations for the polymorphic type and the simple type alias.LMNOLMNONone%"#$%&',-.0127=>?@ACHMPSUVWX_kTqTUVWXYZ[\       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQORSTUVWXYZ[\]^_`)interpolator-1.1.0-Afhx45aId5N7ox2Nw3z6eWData.InterpolationData.Interpolation.THPaths_interpolator InterpolatorrunInterpolatorToTemplateValuetoTemplateValueFromTemplateValueparseTemplateValueInterpolationContextunInterpolationContextInterpolationFailureInterpolationFailureKeyNotFound$InterpolationFailureValueNotReadableUninterpolated TemplatedLiteralTemplate _templateKey_templateDefault TemplateValueunTemplateValue TemplateKey unTemplateKey runTemplatemkInterpolationContextinterpolateWithContextinterpolateWithContextExplicit$fArbitraryTemplateKey$fArbitraryUninterpolated$fArbitraryUninterpolated0$fArbitrary1Uninterpolated$fShowInterpolationFailure$fFromJSONUninterpolated$fFromJSONTemplate$fFromTemplateValueBool$fFromTemplateValueInt$fFromTemplateValue[]$fFromTemplateValueText$fToJSONUninterpolated$fToJSONTemplate$fToTemplateValueBool$fToTemplateValueInt$fToTemplateValue[]$fToTemplateValueText$fDefaultInterpolatorMaybeMaybe$fDefaultInterpolator[][]$fDefaultInterpolatorSetSet$fDefaultInterpolatorMapMap$$fDefaultInterpolatorUninterpolateda$fDefaultInterpolatoraa$fSumProfunctorInterpolator$fProductProfunctorInterpolator$fProfunctorInterpolator$fApplicativeInterpolator$fFunctorInterpolator$fEqTemplateKey$fOrdTemplateKey$fShowTemplateKey$fToJSONTemplateKey$fFromJSONTemplateKey$fEqTemplateValue$fOrdTemplateValue$fShowTemplateValue$fToJSONTemplateValue$fFromJSONTemplateValue $fEqTemplate $fOrdTemplate$fShowTemplate$fEqUninterpolated$fOrdUninterpolated$fShowUninterpolated$fEqInterpolationFailure$fOrdInterpolationFailuremakeInterpolatorSumInstancewithUninterpolatedwithPolymorphicderiveUninterpolatedbaseGHC.ShowShowGHC.ReadRead3product-profunctors-0.10.0.1-7wbv0GtpyI64QEDOTRazEg%Data.Profunctor.Product.Default.ClassDefaultwithPolymorphic_version getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName