úÎ`LUÄģ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤Ĩϧ¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩšēNone&',-3;<=>?FKQSTV>î Generic Arbitrary Generic Arbitrary?Generators for unary type constructors that are not containers."Generators for containers of kind * -> *3, parameterized by the generator for each element.3A generator which overrides a specific field named s.Available only for  base >= 4.9.!Heterogeneous list of generators."@Whether to decrease the size parameter before generating fields.%Type-level options for  .(1Derived uniform distribution of constructors for a.06A binary constructor for building up trees of weights.4rType of a single weight, tagged with the name of the associated constructor for additional compile-time checking. ((9 :: 4 "Leaf") 0 (8 :: 4 "Node") 0 ()) 62Trees of weights assigned to constructors of type a1, rescaled to obtain a probability distribution.Two ways of constructing them. (x1 0 x2 0 ... 0 xn 0 ()) :: 6 a G :: 6 a Using (0)C, there must be exactly as many weights as there are constructors.G is equivalent to (1 0 ... 0 1 0 ())3 (automatically fills out the right number of 1s).=[Pick a constructor with a given distribution, and fill its fields with recursive calls to ģ.Example *genericArbitrary (2 % 3 % 5 % ()) :: Gen a-Picks the first constructor with probability 2/10, the second with probability 3/10, the third with probability 5/10.>>Pick every constructor with equal probability. Equivalent to = G. genericArbitraryU :: Gen a?ģ0 for types with one constructor. Equivalent to >, with a stricter type. genericArbitrarySingle :: Gen a@RDecrease size at every recursive call, but don't do anything different at size 0. /genericArbitraryRec (7 % 11 % 13 % ()) :: Gen a#N.B.: This replaces fields of type [t] with Q arbitrary.A= with explicit generators.Example +genericArbitraryG customGens (17 % 19 % ()).where, for example to override generators for ŧ and Ŋ fields, customGens :: GenList+ '[String, Int] customGens = (filter (/= '\NUL') ž arbitrary) :@ (getNonNegative ž arbitrary) :@ Nil Note on multiple matches9If the list contains multiple matching types for a field x of type a (i.e., either a or Field "x" a5), the generator for the first match will be picked.B>% with explicit generators. See also A.C?% with explicit generators. See also A.D@% with explicit generators. See also A.E.General generic generator with custom options.FQA smart constructor to specify a custom distribution. It can be omitted for the 0& operator is overloaded to insert it.GUniform distribution.H'Default options for unsized generators.I%Default options for sized generators.J4Default options overriding the list generator using Q.OField3 constructor with the field name given via a proxy.PAn alternative to ŋ< that divides the size parameter by the length of the list.QAn alternative to listOfx that divides the size parameter by the length of the list. The length follows a geometric distribution of parameter 1/(sqrt size + 1).RAn alternative to listOf1• (nonempty lists) that divides the size parameter by the length of the list. The length (minus one) follows a geometric distribution of parameter 1/(sqrt size + 1).S$Geometric distribution of parameter 1/(sqrt n + 1) (n >= 0).=%List of weights for every constructor@%List of weights for every constructorD%List of weights for every constructorV  !"$#%&'()*+,.-/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUv=>?@ABCDE<:;896745FG321/0ZY,-.XWV*+]\[)^(_%&'HIJ"#$! KLM`NOPQRS  badgT cf kjleishrqponmutU  "#$%&'*+,-./0456789:;1101None,-7;<=>?FQSTVQ׎3Custom instances can override the default behavior.Generator of base cases.+Progressively increase the depth bound for ”.”Find a base case of type a with maximum depth z, recursively using ”# instances to search deeper levels.y' is the depth of a base case, if found.e4 is the original type the search started with, that a- appears in. It is used for error reporting.–iDecrease size to ensure termination for recursive types, looking for base cases once the size reaches 0. .genericArbitrary' (17 % 19 % 23 % ()) :: Gen a#N.B.: This replaces fields of type [t] with Q arbitrary.—Equivalent to – G. genericArbitraryU :: Gen a#N.B.: This replaces fields of type [t] with Q arbitrary.˜URun the first generator if the size is positive. Run the second if the size is zero. %defaultGen `withBaseCase` baseCaseGen™ Overlappable–%List of weights for every constructor!xyz|{}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜C–—˜”•ēĻĨ¤ŖĸĄ Ÿž’“›š‘œŽ™Œ‹Š‰ˆ‡†…ƒ„Ēށ‚­Ŧ̞€ą°¯ĩ}~´ŗz{|¸ˇļЍ§xyš xyz{|}~€‚ƒ„Ž‘’“”•NoneT0  !"#$%(046=>?@ABCDEGHIJLMNOPQRŽ–—˜0=>?@–—ABCDE˜Ž640G% IJ!H"#$LMON (QRPNoneUžĀ      !"#$%%&'()*+,-./0123344556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤Ĩϧ¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩšēģŧŊžŋēĀÁˇÂÃÄ-generic-random-1.2.0.0-4nCw6QIZbJBEs6TozW4cNEGeneric.Random.Internal.GenericGeneric.Random Generic.Random.Internal.BaseCaseGeneric.Random.TutorialWeighted SelectorName ArbitraryOr arbitraryOrArity GAProduct' gaProduct' GAProduct gaProductGASumgaSum GArbitraryGAgaGen1_unGen1_Gen1unGen1FieldGen unFieldGenSetGens HasGenerators generators GeneratorsOf:+SizingOf SizedOptsDef SizedOpts UnsizedOptsSizingSizedUnsizedOptions _generatorsGUniformWeightUniformWeight_ UniformWeight uniformWeight WeightBuilderPrec%.WeightBuilder'%Prec'First'FirstWWeightsL:|NWeights_genericArbitrarygenericArbitraryUgenericArbitrarySinglegenericArbitraryRecgenericArbitraryGgenericArbitraryUGgenericArbitrarySingleGgenericArbitraryRecGgenericArbitraryWithweightsuniform unsizedOpts sizedOpts sizedOptsDef proxySizingsetSized setUnsized setGeneratorsfieldGen vectorOf'listOf'listOf1'geomgaSum'liftGen$fWeightBuilder()$fWeightBuilderL$fWeightBuilder:|$fWeightBuilder'(,,)$fWeightBuilder'Weights$fUniformWeight()$fUniformWeightL$fUniformWeight:|$fUniformWeight_f$fGUniformWeighta$fHasGeneratorsOptions $fGAoptsM1$fGArbitraryoptsa$fGASumopts:+: $fGAopts:+:$fGAProductkSizedoptsU1 $fGASumoptsM1 $fGAoptsM10$fGAProduct'kopts:*:$fGAProduct'koptsU1$fGAProductkSizedoptsM1$fGAProductkUnsizedoptsf$fGAProductkSizedoptsf$fArbitraryOrfg:+self$fArbitraryOrfg:+self0$fArbitraryOrfg:+Justa$fArbitraryOrfg()sela$fArbitraryOrfg:+sela$fArbitraryOrfg:+sela0$fGAProduct'koptsM1$fAlternativeWeighted$fApplicativeWeighted$fNumW$fFunctorWeightedGBaseCaseSearchgBaseCaseSearchIsMaybeifMmapifM GBCSProduct gbcsProductGBCSSumComparegbcsSumCompareGBCSSumgbcsSumGBCSgbcsMinOfMinMaxOfMax&&?||?IsEQ==IfMBaseCasebaseCaseBaseCaseSearchingbaseCaseSearchingBaseCaseSearching_baseCaseSearching_BaseCaseSearchbaseCaseSearchgenericArbitrary'genericArbitraryU' withBaseCase $fBaseCasea!$fBaseCaseSearching_NattazNothing$fBaseCaseSearching_ktazJust$fBaseCaseSearchingNataz$fBaseCaseSearchOrderingzye$fBaseCaseSearch[]zye$fBaseCaseSearchBoolzye$fBaseCaseSearch()zye$fBaseCaseSearchWordzye$fBaseCaseSearchDoublezye$fBaseCaseSearchFloatzye$fBaseCaseSearchIntegerzye$fBaseCaseSearchIntzye$fBaseCaseSearchCharzye $fGBCSkfzye $fGBCSkU1zye $fGBCSkK10ye $fGBCSkM1zye$fGBCSSumkkkfgzeNothingJust$fGBCSSumkkkfgzeJustNothing$fGBCSSumkkkfgzeNothingNothing $fGBCSk:+:zye!$fGBCSSumComparekkkOrderingfgzeGT!$fGBCSSumComparekkkOrderingfgzeLT!$fGBCSSumComparekkkOrderingfgzeEQ$fGBCSSumkkkfgzeJustJust$fGBCSProductkkkfgzeJustJust$fGBCSProductkkkfgzeyfyg $fGBCSk:*:zye $fGBCSkK1zye$fIsMaybetNothing$fIsMaybetJust$fGBaseCaseSearchNatNatTYPEazye$fBaseCaseSearchazye(QuickCheck-2.10.1-BUFYQzp5Pjm7JbQeTzW89lTest.QuickCheck.Arbitrary arbitrarybaseGHC.BaseStringghc-prim GHC.TypesInt Data.Functor<$>Test.QuickCheck.GenvectorOf