U
    axs                     @   s  d dl Z d dlmZ dd Zddejjjfdejjjfdejjfd	ejjfd
ejfdej	fdej
fdejfdejfdejfdejfdejfdejjfdejjfdejjfdejfdejjfdejfdejfdejfdejfdejfdejjfdejjfdejjfdejjfd ejjfd!ejjfd"ejjfd#ejfd$ejfd%ejfd&ejfd'ejfd(ejfd)ejjfd*ejjfd+ejfd,ejfd-ejfd.ejfd/ejjfd0ejjfd1efd2ejfd3ejjfd4ejfg/iZe je jB Z d5d6 ed D Zejejejejejejejejejejejejejejejejejejj!ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj"ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj!ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj"ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj"ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj#ejejejejejejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejejjejjejjejjejjejjejjejjd7Z$ejj"ejj"ejj"ejj"ejj"ejj"ejj"ejjejjejjejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd8(Z%ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd9VZ&ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd:'Z'ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd;JZ(dS )<    N)tokensc                 C   sB   |   }t|p<t|p<t|p<t|p<t|tj| fS )N)	upperKEYWORDS_COMMONgetKEYWORDS_ORACLEKEYWORDS_PLPGSQLKEYWORDS_HQLKEYWORDSr   Name)valueval r   /home/adriano.carvalho/ftp/files/BrinquedotecaVirtual/brinquedotecavirtual/venv/lib/python3.8/site-packages/sqlparse/keywords.py
is_keyword   s    
 r   rootz(--|# )\+.*?(\r\n|\r|\n|$)z/\*\+[\s\S]*?\*/z(--|# ).*?(\r\n|\r|\n|$)z/\*[\s\S]*?\*/z(\r\n|\r|\n)z\s+?z:=z::z\*z`(``|[^`])*`u   ´(´´|[^´])*´u*   ((?<!\S)\$(?:[_A-ZÀ-Ü]\w*)?\$)[\s\S]*?\1z\?z%(\(\w+\))?sz(?<!\w)[$:?]\w+z\\\w+z(NOT\s+)?(IN)\bz (CASE|IN|VALUES|USING|FROM|AS)\bu   (@|##|#)[A-ZÀ-Ü]\w+u   [A-ZÀ-Ü]\w*(?=\s*\.)u   (?<=\.)[A-ZÀ-Ü]\w*u   [A-ZÀ-Ü]\w*(?=\()z-?0x[\dA-F]+z-?\d+(\.\d+)?E-?\d+u2   (?![_A-ZÀ-Ü])-?(\d+(\.\d*)|\.\d+)(?![_A-ZÀ-Ü])u#   (?![_A-ZÀ-Ü])-?\d+(?![_A-ZÀ-Ü])z'(''|\\\\|\\'|[^'])*'z"(""|\\\\|\\"|[^"])*"z(""|".*?[^\\]")z(?<![\w\])])(\[[^\]\[]+\])z[((LEFT\s+|RIGHT\s+|FULL\s+)?(INNER\s+|OUTER\s+|STRAIGHT\s+)?|(CROSS\s+|NATURAL\s+)?)?JOIN\bzEND(\s+IF|\s+LOOP|\s+WHILE)?\bzNOT\s+NULL\bzNULLS\s+(FIRST|LAST)\bzUNION\s+ALL\bzCREATE(\s+OR\s+REPLACE)?\bzDOUBLE\s+PRECISION\bzGROUP\s+BY\bzORDER\s+BY\bzHANDLER\s+FOR\bzF(LATERAL\s+VIEW\s+)(EXPLODE|INLINE|PARSE_URL_TUPLE|POSEXPLODE|STACK)\bz"(AT|WITH')\s+TIME\s+ZONE\s+'[^']+'z(NOT\s+)?(LIKE|ILIKE|RLIKE)\bu   [0-9_A-ZÀ-Ü][_$#\w]*z[;:()\[\],\.]z[<>=~!]+z[+/@#%^&|^-]+c                 C   s"   g | ]\}}t |tj|fqS r   )recompileFLAGSmatch).0rxttr   r   r   
<listcomp>d   s     r   (  ZABORTZABSZABSOLUTEZACCESSZADAZADDZADMINZAFTERZ	AGGREGATEZALIASALLZALLOCATEZANALYSEZANALYZEANYZARRAYLENZAREASCZ
ASENSITIVEZ	ASSERTIONZ
ASSIGNMENTZ
ASYMMETRICATZATOMICZAUDITZAUTHORIZATIONZAUTO_INCREMENTZAVGZBACKWARDZBEFOREZBEGINZBETWEENZBITVARZ
BIT_LENGTHZBOTHZBREADTHCACHECALLZCALLEDZCARDINALITYZCASCADEZCASCADEDZCASTZCATALOGZCATALOG_NAMEZCHAINZCHARACTERISTICSZCHARACTER_LENGTHZCHARACTER_SET_CATALOGZCHARACTER_SET_NAMEZCHARACTER_SET_SCHEMAZCHAR_LENGTHCHARSETZCHECKZCHECKED
CHECKPOINTZCLASSZCLASS_ORIGINZCLOBZCLOSEZCLUSTERZCOALESCEZCOBOLZCOLLATEZ	COLLATIONZCOLLATION_CATALOGZCOLLATION_NAMEZCOLLATION_SCHEMAZCOLLECTZCOLUMNZCOLUMN_NAMEZCOMPRESSZCOMMAND_FUNCTIONZCOMMAND_FUNCTION_CODECOMMENTZCOMMITZ	COMMITTEDZ
COMPLETIONZCONCURRENTLYZCONDITION_NUMBERZCONNECTZ
CONNECTIONZCONNECTION_NAMEZ
CONSTRAINTZCONSTRAINTSZCONSTRAINT_CATALOGZCONSTRAINT_NAMEZCONSTRAINT_SCHEMAZCONSTRUCTORZCONTAINSCONTINUEZ
CONVERSIONZCONVERTCOPYZCORRESPONDINGZCOUNTZCREATEDBZ
CREATEUSERZCROSSZCUBEZCURRENTZCURRENT_DATEZCURRENT_PATHZCURRENT_ROLEZCURRENT_TIMEZCURRENT_TIMESTAMPZCURRENT_USERZCURSORZCURSOR_NAMEZCYCLEZDATAZDATABASEZDATETIME_INTERVAL_CODEZDATETIME_INTERVAL_PRECISIONZDAYZ
DEALLOCATEZDECLAREDEFAULTZDEFAULTSZ
DEFERRABLEZDEFERREDZDEFINEDZDEFINERZ	DELIMITERZ
DELIMITERSZDEREFZDESCZDESCRIBEZ
DESCRIPTORZDESTROYZ
DESTRUCTORZDETERMINISTICZDIAGNOSTICSZ
DICTIONARYZDISABLEZ
DISCONNECTZDISPATCHZDOZDOMAINZDYNAMICZDYNAMIC_FUNCTIONZDYNAMIC_FUNCTION_CODEZEACHZENABLEENCODING	ENCRYPTEDzEND-EXECZENGINEZEQUALSESCAPEZEVERYZEXCEPTZ	EXCEPTIONZ	EXCLUDINGZ	EXCLUSIVEZEXECZEXECUTEZEXISTINGZEXISTSEXPLAINZEXTERNALZEXTRACTFALSEZFETCHFILEZFINALZFIRSTZFORCEZFOREACHZFOREIGNZFORTRANFORWARDFOUNDZFREEZFREEZEFULLZFUNCTIONZGENERALZ	GENERATEDGETGLOBALZGOZGOTOZGRANTZGRANTEDZGROUPINGZHAVINGZ	HIERARCHYZHOLDHOURZHOSTZ
IDENTIFIEDZIDENTITYZIGNOREZILIKEZ	IMMEDIATEZ	IMMUTABLEZIMPLEMENTATIONZIMPLICITZ	INCLUDINGZ	INCREMENTZINDEXZ
INDITCATORZINFIXZINHERITSZINITIALZ
INITIALIZEZ	INITIALLYZINOUTZINPUTZINSENSITIVEZINSTANTIABLEZINSTEADZ	INTERSECTZINTOZINVOKERZISZISNULLZ	ISOLATIONZITERATEZKEYZ
KEY_MEMBERZKEY_TYPEZLANCOMPILERLANGUAGEZLARGEZLASTZLATERALZLEADINGZLENGTHLESSZLEVELZLIMITZLISTENZLOADZLOCALZ	LOCALTIMEZLOCALTIMESTAMPZLOCATIONZLOCATORZLOCKZLOWERZMAPMATCHZ
MAXEXTENTSZMAXVALUEZMESSAGE_LENGTHZMESSAGE_OCTET_LENGTHZMESSAGE_TEXTZMETHODZMINUTEMINUSZMINVALUEZMODZMODEZMODIFIESZMODIFYZMONTHZMOREZMOVEZMUMPSZNAMESZNATIONALZNATURALZNCHARZNCLOBZNEWZNEXTNOZNOAUDITZ
NOCOMPRESSZ
NOCREATEDBZNOCREATEUSERNONEZNOTZNOTFOUNDZNOTHINGZNOTIFYZNOTNULLZNOWAITZNULLZNULLABLEZNULLIFZOBJECTZOCTET_LENGTHZOFZOFFZOFFLINEZOFFSETZOIDSZOLDZONLINEZONLYZOPENZ	OPERATIONZOPERATORZOPTIONOPTIONSZ
ORDINALITYZOUTZOUTPUTZOVERLAPSZOVERLAYZ
OVERRIDINGZOWNERZQUARTERZPADZ	PARAMETERZ
PARAMETERSZPARAMETER_MODEZPARAMETER_NAMEZPARAMETER_ORDINAL_POSITIONZPARAMETER_SPECIFIC_CATALOGZPARAMETER_SPECIFIC_NAMEZPARAMETER_SPECIFIC_SCHEMAPARTIALZPASCALZPCTFREEZPENDANTZPLACINGZPLIZPOSITIONZPOSTFIXZ	PRECISIONPREFIXZPREORDERZPREPAREZPRESERVEZPRIMARYZPRIORZ
PRIVILEGESZ
PROCEDURALZ	PROCEDUREZPUBLICZRAISEZRAWREADZREADSZRECHECKZ	RECURSIVEZREFZ
REFERENCESZREFERENCINGZREINDEXZRELATIVEZRENAMEZ
REPEATABLERESETZRESOURCEZRESTARTZRESTRICTZRESULTZRETURNZRETURNED_LENGTHZRETURNED_OCTET_LENGTHZRETURNED_SQLSTATEZ	RETURNINGZRETURNSZREVOKERIGHTZROLEZROLLBACKZROLLUPZROUTINEZROUTINE_CATALOGZROUTINE_NAMEZROUTINE_SCHEMAZROWZROWSZ	ROW_COUNTZRULEZ
SAVE_POINTZSCALEZSCHEMAZSCHEMA_NAMEZSCOPEZSCROLLZSEARCHZSECONDZSECURITYZSELFZ	SENSITIVEZSEQUENCEZSERIALIZABLEZSERVER_NAMEZSESSIONZSESSION_USERZSETOFZSETSZSHAREZSHOWZSIMILARZSIMPLEZSIZEZSOMEZSOURCESPACEZSPECIFICZSPECIFICTYPEZSPECIFIC_NAMEZSQLZSQLBUFZSQLCODEZSQLERRORZSQLEXCEPTIONZSQLSTATEZ
SQLWARNINGZSTABLESTARTZ	STATEMENTZSTATICZ
STATISTICSZSTDINSTDOUTZSTORAGEZSTRICTZ	STRUCTUREZSTYPEZSUBCLASS_ORIGINZSUBLISTZ	SUBSTRINGZ
SUCCESSFULZSUMZ	SYMMETRICZSYNONYMZSYSIDZSYSTEMZSYSTEM_USERZTABLEZ
TABLE_NAMETEMPTEMPLATE	TEMPORARYZ	TERMINATEZTHAN	TIMESTAMPZTIMEZONE_HOURZTIMEZONE_MINUTEZTOZTOASTZTRAILINGZ
TRANSATIONZTRANSACTIONS_COMMITTEDZTRANSACTIONS_ROLLED_BACKZTRANSATION_ACTIVEZ	TRANSFORMZ
TRANSFORMSZ	TRANSLATEZTRANSLATIONZTREATZTRIGGERZTRIGGER_CATALOGZTRIGGER_NAMEZTRIGGER_SCHEMAZTRIMTRUEZTRUNCATEZTRUSTEDZTYPEUIDZUNCOMMITTEDZUNDERZUNENCRYPTEDZUNIONZUNIQUEUNKNOWNZUNLISTENZUNNAMEDZUNNESTZUNTILZUPPERUSAGEZUSEUSERZUSER_DEFINED_TYPE_CATALOGZUSER_DEFINED_TYPE_NAMEZUSER_DEFINED_TYPE_SCHEMAZUSINGZVACUUMZVALIDZVALIDATEZ	VALIDATORZVALUESVARIABLEVERBOSEVERSIONZVIEWZVOLATILEZWEEKZWHENEVERZWITHZWITHOUTZWORKWRITEZYEARZZONEARRAYZBIGINTBINARYZBITZBLOBZBOOLEANZCHAR	CHARACTERZDATEZDECZDECIMALZ	FILE_TYPEFLOATINTZINT8ZINTEGERZINTERVALLONGZNATURALNZNVARCHARNUMBERZNUMERICZPLS_INTEGERPOSITIVEZ	POSITIVENZREALZROWIDZROWLABELZROWNUMZSERIALZSERIAL8ZSIGNEDZSIGNTYPEZSIMPLE_DOUBLEZSIMPLE_FLOATZSIMPLE_INTEGERZSMALLINTZSYS_REFCURSORZSYSDATEZTEXTZTINYINTZUNSIGNEDZUROWIDZUTL_FILEZVARCHARZVARCHAR2ZVARYING)(ZSELECTZINSERTDELETEZUPDATEZUPSERTZREPLACEZMERGEZDROPZCREATEZALTERZWHEREZFROMZINNERZJOINZSTRAIGHT_JOINANDORZLIKEONINZSETZBYZGROUPZORDERLEFTZOUTERr-   ZIFZENDZTHENLOOPZASELSEFORZWHILEZCASEZWHENZMINMAXZDISTINCT)VZARCHIVEZ
ARCHIVELOGZBACKUPZBECOMEZBLOCKZBODYZCANCELZCHANGEZCOMPILEZCONTENTSZCONTROLFILEZDATAFILEZDBAZDISMOUNTZDOUBLEZDUMPZELSIFZEVENTSZ
EXCEPTIONSr(   ZEXTENTZ
EXTERNALLYZFLUSHZFREELISTZ	FREELISTSZ	INDICATORZINITRANSINSTANCEZLAYERZLINKZLISTSZLOGFILEZMANAGEZMANUALZMAXDATAFILESZMAXINSTANCESZMAXLOGFILESZMAXLOGHISTORYZMAXLOGMEMBERSZMAXTRANSZ
MINEXTENTSMODULEZMOUNTZNOARCHIVELOGZNOCACHEZNOCYCLEZ
NOMAXVALUEZ
NOMINVALUEZNOORDERZNORESETLOGSNORMALZNOSORTZOPTIMALZOWNZPACKAGEZPARALLELZPCTINCREASEZPCTUSEDZPLANZPRIVATEZPROFILEZQUOTAZRECOVERZ	RESETLOGSZ
RESTRICTEDZREUSEZROLESZ	SAVEPOINTZSCNZSECTIONZSEGMENTZSHAREDZSNAPSHOTZSORTZSTATEMENT_IDSTOPZSWITCHZTABLESZ
TABLESPACEZTHREADZTIMEZTRACINGZTRANSACTIONZTRIGGERSZ	UNLIMITEDZUNLOCK)'CONFLICTZWINDOWZ	PARTITIONZOVERZPERFORMZNOTICEZPLPGSQLZINHERITZINDEXESZON_ERROR_STOPZBYTEAZ	BIGSERIALzBIT VARYINGZBOXrO   zCHARACTER VARYINGZCIDRZCIRCLEzDOUBLE PRECISIONZINETZJSONZJSONBZLINEZLSEGZMACADDRZMONEYPATHZPG_LSNZPOINTZPOLYGONZSMALLSERIALZTSQUERYZTSVECTORZTXID_SNAPSHOTUUIDXMLr]   rY   r[   )JZEXPLODEZ	DIRECTORYZ
DISTRIBUTEZINCLUDEZLOCATEZ	OVERWRITEZ
POSEXPLODEZARRAY_CONTAINSZCMPZCOLLECT_LISTZCONCATZ	CONDITIONZDATE_ADDZDATE_SUBZDECODEZDBMS_OUTPUTZELEMENTSZEXCHANGEZEXTENDEDZFLOORZ	FOLLOWINGZFROM_UNIXTIMEFTPr0   ZINLINEZINSTRZLENZ
MAXELEMENTZMAXINDEXZMAX_PART_DATEZMAX_PART_INTZMAX_PART_STRINGZ
MINELEMENTZMININDEXZMIN_PART_DATEZMIN_PART_INTZMIN_PART_STRINGZNOWZNVLZNVL2ZPARSE_URL_TUPLEZPART_LOCZ
PART_COUNTZPART_COUNT_BYZPRINTZPUT_LINERANGEREDUCEZREGEXP_REPLACEZRESIGNALZRTRIMZSIGNZSIGNALZSINZSPLITZSQRTZSTACKZSTRZSUBSTRZSUMMARYZTBLPROPERTIESZTIMESTAMP_ISOZTO_CHARZTO_DATEZTO_TIMESTAMPZTRUNCZ	UNBOUNDEDZ
UNIQUEJOINZUNIX_TIMESTAMPZUTC_TIMESTAMPZVIEWSZEXITZBREAKZLEAVE))r   Zsqlparser   r   CommentSingleZHintZ	MultilineZNewline
WhitespaceZ
AssignmentZPunctuationZWildcardr
   LiteralZPlaceholderCommandZOperatorZ
ComparisonKeywordNumberZHexadecimalZFloatZIntegerStringZSymbolZDDLZBuiltinZTZCastZ	SQL_REGEX
IGNORECASEUNICODEr   ZOrderZDMLZCTEr	   r   r   r   r   r   r   r   r   <module>   s  

















M        G0n.