]Tש      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?Syntax tree for representing elements in Persistent model files(c) James M.C. Haver IIBSD3mchaver@gmail.comBetaSafe5%IThese items may occur at the very end of a Field's line and in any order. persistent-template >= 1.2.0 marks a field that is ignored by normal processing but retained for migration purposes. Useful for implementing columns that other tools may need but Persistent does not. $ is used to deprecate a field after  has been used. The field will be removed from the database if it is present. This is a destructive change which is marked as safe by the user.'Haskell style comments that start with --  in Persistent. White space found in the Persistent file or QuasiQuoter. Need to save the white space in case you want to reproduce the original file or an altered version of the file from the Persist Syntax Tree.'Foreign Tree fkparent parent''Primary name' deriving Eq,  deriving Show, etc. There may be custom generic typeclasses so there is no restriction on what the type might be , other than it starts with a capital letter.deriving Eq, deriving Show#A unique idenfitier for an Entity: UniqueUserName userIdent, UniqueNameAndAge name age. UniqueUserName  userIdentAn entity data row's type.Text, Int, Double~Text, !Text, Text Text, [Int], [Double]!#Text Maybe, Int Maybe, Double Maybe" Table rows can be strict or lazy#3Persist Model types are strict without any notation$4"!" can be used to reemphasize that a type is strict%"~" means that a type is Lazy&An EntityField corresponds to a column in SQL or a key-value pair in MongoDB. The minimal definition of an EntityField in Persistent has a name and a type.(name, address, age)Text, [Text],  Text Maybe, ~Int*  MigrationOnly+  SafeToRemove,default=Nothing,  default=now(), default=CURRENT_DATE- sql=my_id_name. sqltype=varchar(255)/ maxlen=30`All of the child elements of a Persist Model Entity. | They are all indented in the Model File.8A single Persist Model Entity.: Person;  Person json< Person sql=people>,Top level pieces of a Persistent Model file.BThe root of the Persistent syntax tree. A collection of data types with which you can recontruct a Persist Model file or create an altered version.C<Define equality to match based only on the type constructor.D  !"#$%&'()*+,-./0123456789:;<=>?@ABCC  !"#$%&'()*+,-./0123456789:;<=>?@ABDB>?@A89:;<=01234567&'()*+,-./"#$% !  C   !"#$%& '()*+,-./0123456789:;<=>?@ABC'Persistent model file parsing functions(c) James M.C. Haver IIBSD3mchaver@gmail.comBetaSafe5T.{Parse a Persistent models file.|2Parse Persistent QuasiQuoters from a Haskell file.}AParse Persist Models that are in quasi-quoters in a Haskell file.~Parse a Persist Models file.Parse a single Persist Entity.&Parse the user defined SQL table name.Wrap a Parser in 2 because it might fail. Useful for making choices.Parse a lowercase .Parse an uppercase .Parse an underline.,Parse strict marker "!" for haskellTypeName.*Parse lazy marker "~" for haskellTypeName.Parse any space  excluding "n".Parse a Haskell function name. It starts with underscore or lowercase letter then is followed by a combination of underscores, single quotes, letters and digits. E.g., "get", "_get", "get_1", etc.Parse a Haskell type name. It starts with an uppercase letter then is followed by a combination of underscores, single quotes, letters and digits. E.g., Person, Address,  PhoneNumber, etc.6Parse a Haskell Type name that does not have a prefix.&Parse a comment that starts with "--".Parse and collect white space.!Parse and collect an Entity name.!Parse and collect an EntityField.[Delete elements from the second list that exist in the first list. Removes any duplicates.Parse .Parse .Match one of the parsers.Parse  and . The occur in the same spot.Match  constructor, get its  value.Match  constructor, get its  value.Match  constructor, get its  value.Match  constructor, get its  value.&Get parser based on constructor match.Parse FieldDefault.Parse FieldSqlRow.Parse FieldSqlType.Parse FieldMaxLen.Parse EntityFieldLastItem.Parse Entity Field name. Parse type ".Parse EntityFieldType.'Parse Maybe qualifier for a Field Type.Parse EntityUnique.Parse Entity UniqueName!Parse EntityUniqueEntityFieldNameParse EntityDerive.Parse EntityPrimary.Parse EntityForeign.Parse ForeignKeyType.{|}~.{|}~.{|}~.{|}~'Persistent model file parsing functions(c) James M.C. Haver IIBSD3mchaver@gmail.comBetaSafe{|{|       !"##$%&'()*+,-./01234456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0persistent-parser-0.1.0.2-80zSDov4xwfKh3Z4iyDm5UDatabase.Persist.Syntax.Types Database.Persist.Internal.ParserDatabase.Persist.ParserEntityFieldLastItem FieldDefault FieldSqlRow FieldSqlType FieldMaxLen"MigrationOnlyAndSafeToRemoveOption MigrationOnly SafeToRemoveCommentcomment WhiteSpace whiteSpace EntityForeignentityForeignTableentityForeignTypes EntityPrimaryentityPrimaryType EntityDeriveentityDeriveTypes EntityUniqueentityUniqueNameentityUniqueEntityFieldNameEntityFieldTypeentityFieldTypeTextentityFieldStrictnessentityFieldTypeListentityFieldTypeMaybe StrictnessStrictExplicitStrictLazy EntityFieldentityFieldNameentityFieldTypeentityFieldIsMigrationOnlyentityFieldIsSafeToRemoveentityFieldDefaultentityFieldSqlRowentityFieldSqlTypeentityFieldMaxLen EntityChildEntityChildEntityFieldEntityChildEntityUniqueEntityChildEntityDeriveEntityChildEntityPrimaryEntityChildEntityForeignEntityChildCommentEntityChildWhiteSpaceEntity entityNameentityDeriveJsonentitySqlTableentityChildrenModelsFilePieceModelsFileEntityModelsFileCommentModelsFileWhiteSpace ModelsFile$fEqEntityFieldLastItem$fEqStrictness$fShowStrictness$fReadStrictness$fGenericStrictness$fEqEntityFieldType$fReadEntityFieldType$fShowEntityFieldType$fGenericEntityFieldType$fEqEntityField$fReadEntityField$fShowEntityField$fGenericEntityField$fEqEntityUnique$fShowEntityUnique$fReadEntityUnique$fGenericEntityUnique$fEqEntityDerive$fShowEntityDerive$fReadEntityDerive$fGenericEntityDerive$fEqEntityPrimary$fShowEntityPrimary$fReadEntityPrimary$fGenericEntityPrimary$fEqEntityForeign$fShowEntityForeign$fReadEntityForeign$fGenericEntityForeign$fEqWhiteSpace$fShowWhiteSpace$fReadWhiteSpace$fGenericWhiteSpace $fEqComment $fShowComment $fReadComment$fGenericComment$fEqEntityChild$fReadEntityChild$fShowEntityChild$fGenericEntityChild $fEqEntity $fReadEntity $fShowEntity$fGenericEntity$fEqModelsFilePiece$fReadModelsFilePiece$fShowModelsFilePiece$fGenericModelsFilePiece&$fEqMigrationOnlyAndSafeToRemoveOption($fReadMigrationOnlyAndSafeToRemoveOption($fShowMigrationOnlyAndSafeToRemoveOption+$fGenericMigrationOnlyAndSafeToRemoveOption$fReadEntityFieldLastItem$fShowEntityFieldLastItem$fGenericEntityFieldLastItemparseModelsFileparseQuasiQuotersFileparsePersistQuasiQuoters parseEntities parseEntityparseEntitySqlTable maybeOption lowerCase upperCase underlineexclamationMarktildespaceNoNewLinehaskellFunctionNamehaskellTypeNamehaskellTypeNameWithoutPrefixsingleLineCommentcollectWhiteSpaceparseEntityNameparseEntityField deleteItemsparseMigrationOnlyparseSafeToRemove%getMigrationOnlyAndSafeToRemoveOption!parseMigrationOnlyAndSafeToRemovegetFieldDefaultgetFieldSqlRowgetFieldSqlTypegetFieldMaxLengetEntityFieldLastItemParserparseFieldDefaultparseFieldSqlRowparseFieldSqlTypeparseFieldMaxLenparseEntityFieldLastItemparseEntityFieldNameparseStrictnessparseEntityFieldType parseMaybeparseEntityUniqueparseEntityUniqueName parseEntityUniqueEntityFieldNameparseEntityDeriveparseEntityPrimaryparseEntityForeignparseForeignKeyTypebaseGHC.BaseMaybeghc-prim GHC.TypesChar#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.InternalText