@marimo-team/frontend 0.13.3-dev3 → 0.13.3-dev32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ConnectedDataExplorerComponent-DlAS22YU.js → ConnectedDataExplorerComponent-B821Matk.js} +2 -2
- package/dist/assets/{VegaLite-9sMpj8WP.js → VegaLite-BDIItcL_.js} +1 -1
- package/dist/assets/{_baseEach-BREp_Z_w.js → _baseEach-aU27_yi6.js} +1 -1
- package/dist/assets/_baseMap-BoImYWuB.js +1 -0
- package/dist/assets/{_baseUniq-b-PUOPz9.js → _baseUniq-BxCxG8KK.js} +1 -1
- package/dist/assets/{_createAggregator-1ZELXOji.js → _createAggregator-C22Q-PUH.js} +1 -1
- package/dist/assets/{any-language-editor-BnmwJ5U5.js → any-language-editor-B2runOVl.js} +1 -1
- package/dist/assets/arc-Cuwikxov.js +1 -0
- package/dist/assets/{architectureDiagram-IEHRJDOE-D2PZ-h1s.js → architectureDiagram-IEHRJDOE-BWE1IqyP.js} +1 -1
- package/dist/assets/{blockDiagram-JOT3LUYC-Deec6X3v.js → blockDiagram-JOT3LUYC-CO-r-5sa.js} +1 -1
- package/dist/assets/{c4Diagram-VJAJSXHY-wgZ0MRYt.js → c4Diagram-VJAJSXHY-ZKeSOAF8.js} +1 -1
- package/dist/assets/channel-C7tl01KY.js +1 -0
- package/dist/assets/{chunk-4BMEZGHF-DhyYB3v1.js → chunk-4BMEZGHF-BtVxj7Hg.js} +1 -1
- package/dist/assets/{chunk-A2AXSNBT-wlPLHa4q.js → chunk-A2AXSNBT-DELWEFAW.js} +1 -1
- package/dist/assets/{chunk-AEK57VVT-Bt4jVQda.js → chunk-AEK57VVT-jvh3bj9E.js} +1 -1
- package/dist/assets/{chunk-D6G4REZN-7fWPWj3-.js → chunk-D6G4REZN-JUeu7o1I.js} +1 -1
- package/dist/assets/{chunk-RZ5BOZE2-LtOTzvZ4.js → chunk-RZ5BOZE2-CVseedVs.js} +1 -1
- package/dist/assets/{chunk-XZIHB7SX-Dkc3U65D.js → chunk-XZIHB7SX-D_V04Z5D.js} +1 -1
- package/dist/assets/{circle-play-DlY68AqB.js → circle-play-XyUEDnpz.js} +1 -1
- package/dist/assets/classDiagram-GIVACNV2-JKxg30uS.js +1 -0
- package/dist/assets/classDiagram-v2-COTLJTTW-JKxg30uS.js +1 -0
- package/dist/assets/clone-6KSIeGCK.js +1 -0
- package/dist/assets/{compile-CfNsdlrE.js → compile-C5ITuygb.js} +1 -1
- package/dist/assets/{dagre-OKDRZEBW-BeY65J7T.js → dagre-OKDRZEBW-viy5oM4m.js} +1 -1
- package/dist/assets/{data-editor-DgDRGXbD.js → data-editor-CBQEVTvc.js} +1 -1
- package/dist/assets/{diagram-SSKATNLV-DSOFC7OF.js → diagram-SSKATNLV-DRzJzCuk.js} +1 -1
- package/dist/assets/{diagram-VNBRO52H-DO199WF2.js → diagram-VNBRO52H-aF8fGEtL.js} +1 -1
- package/dist/assets/edit-page-C7ewNSnN.js +8 -0
- package/dist/assets/{erDiagram-Q7BY3M3F-Cu-86ey3.js → erDiagram-Q7BY3M3F-RpsH7ilV.js} +1 -1
- package/dist/assets/{flowDiagram-4HSFHLVR-BpuJcqcq.js → flowDiagram-4HSFHLVR-Q8bRoeax.js} +1 -1
- package/dist/assets/{ganttDiagram-APWFNJXF-0woW8VZ8.js → ganttDiagram-APWFNJXF-wpeC3ACh.js} +1 -1
- package/dist/assets/{gitGraphDiagram-7IBYFJ6S-k6C5a7V0.js → gitGraphDiagram-7IBYFJ6S-B0ONZ58Y.js} +1 -1
- package/dist/assets/{graph-CtoB4y0R.js → graph-B5QEz0QR.js} +1 -1
- package/dist/assets/home-page-Bhl1mpqt.js +7 -0
- package/dist/assets/iceberg-COKYXo-A.png +0 -0
- package/dist/assets/{index-HOhJYjl5.js → index-3smqkMPd.js} +1 -1
- package/dist/assets/{index-BNaXC9Ej.js → index-B1lxC8i2.js} +1 -1
- package/dist/assets/{index-Cd9Fuw9b.js → index-BF71uJKI.js} +1 -1
- package/dist/assets/{index-CwgVQLgL.js → index-BM6mAqwh.js} +1 -1
- package/dist/assets/{index-V6fPCJyo.js → index-BP6Pba87.js} +1 -1
- package/dist/assets/{index-BcDiN8Sk.js → index-BuIpOyJy.js} +1 -1
- package/dist/assets/index-C6R_2X_n.css +1 -0
- package/dist/assets/{index-ZAR6kHvH.js → index-CAGgRjf4.js} +1 -1
- package/dist/assets/{index-BW3Sdhlg.js → index-CbjvHrc3.js} +1 -1
- package/dist/assets/{index-YiTxlIJY.js → index-CsXpqd1l.js} +1 -1
- package/dist/assets/{index-jPh6b9Jt.js → index-CzeIqJIT.js} +1 -1
- package/dist/assets/{index-ZBGMxy-v.js → index-D3ILcKRw.js} +1 -1
- package/dist/assets/{index-pT8gPDAJ.js → index-DaWNwNjd.js} +1 -1
- package/dist/assets/{index-Ch5KO2oE.js → index-Dc5Cj3Ds.js} +1 -1
- package/dist/assets/{index-9AIBRUGO.js → index-EtimrLx6.js} +1 -1
- package/dist/assets/{index-Cnjw_Fnt.js → index-GKGEcGLG.js} +1 -1
- package/dist/assets/{index-C8pLJLCV.js → index-PJQFcOFa.js} +1 -1
- package/dist/assets/index-pd33Ugfy.js +86 -0
- package/dist/assets/{index-BuroV-q5.js → index-vtsiayVT.js} +1 -1
- package/dist/assets/infoDiagram-PH2N3AL5-Dd06Feul.js +1 -0
- package/dist/assets/{journeyDiagram-U35MCT3I-BxkIhuki.js → journeyDiagram-U35MCT3I-B_BuZ_f4.js} +1 -1
- package/dist/assets/{kanban-definition-NDS4AKOZ-DInd4LUF.js → kanban-definition-NDS4AKOZ-Y-W7FDOr.js} +1 -1
- package/dist/assets/{layout-DIKii2_M.js → layout-C-qfF_9V.js} +1 -1
- package/dist/assets/{linear-By_iGNTF.js → linear-B7CeRvRC.js} +1 -1
- package/dist/assets/{mermaid-R0SIYS-O.js → mermaid-luHPL1bY.js} +2 -2
- package/dist/assets/{min-CdLjqFAS.js → min-e2nPnriu.js} +1 -1
- package/dist/assets/{mindmap-definition-ALO5MXBD-SzbCQ0Yr.js → mindmap-definition-ALO5MXBD-B1CiBYkB.js} +1 -1
- package/dist/assets/{pieDiagram-IB7DONF6-CuKn1T4Q.js → pieDiagram-IB7DONF6-Db7gRswJ.js} +1 -1
- package/dist/assets/{quadrantDiagram-7GDLP6J5-B-RKYb6X.js → quadrantDiagram-7GDLP6J5-Cvsw8KlM.js} +1 -1
- package/dist/assets/{radar-MK3ICKWK-R9UPShaF.js → radar-MK3ICKWK-B9kmLbJm.js} +1 -1
- package/dist/assets/{react-plotly-DfV1vXI_.js → react-plotly-jq2lVV-r.js} +1 -1
- package/dist/assets/{requirementDiagram-KVF5MWMF-BDAAvrBH.js → requirementDiagram-KVF5MWMF-BR7w-n0f.js} +1 -1
- package/dist/assets/{run-page-a2kHHlPK.js → run-page-Bit0FuH2.js} +1 -1
- package/dist/assets/{sankeyDiagram-QLVOVGJD-C-CNU5Mz.js → sankeyDiagram-QLVOVGJD-CKvZAM5_.js} +1 -1
- package/dist/assets/{sequenceDiagram-X6HHIX6F-D3oq9Sn4.js → sequenceDiagram-X6HHIX6F-cT__st7v.js} +1 -1
- package/dist/assets/{slides-component-CFFe7GGi.js → slides-component-COUG_Hky.js} +1 -1
- package/dist/assets/{sortBy-C59Leyaj.js → sortBy-IDJ4x7Vx.js} +1 -1
- package/dist/assets/{stateDiagram-DGXRK772-DA3UGjGX.js → stateDiagram-DGXRK772-CmZYy58g.js} +1 -1
- package/dist/assets/stateDiagram-v2-YXO3MK2T-Dc2RxQGE.js +1 -0
- package/dist/assets/{step-5BjdtTEt.js → step-BwsUM5iJ.js} +1 -1
- package/dist/assets/{terminal-B89LCvE6.js → terminal-1JsOTPu8.js} +1 -1
- package/dist/assets/{time-CuvPhSZQ.js → time-rw17z-dH.js} +1 -1
- package/dist/assets/{timeline-definition-BDJGKUSR-Wcdx6t44.js → timeline-definition-BDJGKUSR-BZ8QYeuo.js} +1 -1
- package/dist/assets/tracing-DzZNuxUK.js +8 -0
- package/dist/assets/tree-CqjsWE9q.js +8 -0
- package/dist/assets/{useMarimoWebSocket-PCJHCGpk.js → useMarimoWebSocket-qrvXNPVh.js} +3 -3
- package/dist/assets/{vega-component-DQkhAYTd.js → vega-component-Dn9YaRkP.js} +1 -1
- package/dist/assets/{xychartDiagram-VJFVF3MP-C06rLzay.js → xychartDiagram-VJFVF3MP-BXYQWCN-.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +38 -38
- package/dist/assets/_baseMap-Dy2RyyYY.js +0 -1
- package/dist/assets/arc-cUKDg37C.js +0 -1
- package/dist/assets/channel-ndWtxYRe.js +0 -1
- package/dist/assets/classDiagram-GIVACNV2-BN7RqzOg.js +0 -1
- package/dist/assets/classDiagram-v2-COTLJTTW-BN7RqzOg.js +0 -1
- package/dist/assets/clone-Dq2jNQSQ.js +0 -1
- package/dist/assets/edit-page-DdM-d8Ln.js +0 -8
- package/dist/assets/home-page-BLqMIqvx.js +0 -7
- package/dist/assets/index-Cit0XISv.js +0 -79
- package/dist/assets/index-D6Vy1ePY.css +0 -1
- package/dist/assets/infoDiagram-PH2N3AL5-FfzBtrhp.js +0 -1
- package/dist/assets/stateDiagram-v2-YXO3MK2T-Cq-XI_11.js +0 -1
- package/dist/assets/tracing-7ElH9qjq.js +0 -8
- package/dist/assets/tree-BTxQ4d3J.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./index-Cit0XISv.js";const s=e=>e.flatMap(t),t=e=>T(n(e)).map(r),r=e=>e.replace(/ +/g," ").trim(),n=e=>({type:"mandatory_block",items:E(e,0)[0]}),E=(e,s,t)=>{const r=[];for(;e[s];){const[n,E]=i(e,s);if(r.push(n),"|"!==e[s=E]){if("}"===e[s]||"]"===e[s]){if(t!==e[s])throw new Error(`Unbalanced parenthesis in: ${e}`);return[r,++s]}if(s===e.length){if(t)throw new Error(`Unbalanced parenthesis in: ${e}`);return[r,s]}throw new Error(`Unexpected "${e[s]}"`)}s++}return[r,s]},i=(e,s)=>{const t=[];for(;;){const[r,n]=a(e,s);if(!r)break;t.push(r),s=n}return 1===t.length?[t[0],s]:[{type:"concatenation",items:t},s]},a=(e,s)=>{if("{"===e[s])return o(e,s+1);if("["===e[s])return _(e,s+1);{let t="";for(;e[s]&&/[A-Za-z0-9_ ]/.test(e[s]);)t+=e[s],s++;return[t,s]}},o=(e,s)=>{const[t,r]=E(e,s,"}");return[{type:"mandatory_block",items:t},r]},_=(e,s)=>{const[t,r]=E(e,s,"]");return[{type:"optional_block",items:t},r]},T=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(T).reduce(l,[""]);if("mandatory_block"===e.type)return e.items.flatMap(T);if("optional_block"===e.type)return["",...e.items.flatMap(T)];throw new Error(`Unknown node type: ${e}`)},l=(e,s)=>{const t=[];for(const r of e)for(const e of s)t.push(r+e);return t};var R,A;(A=R=R||(R={})).QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",A.IDENTIFIER="IDENTIFIER",A.STRING="STRING",A.VARIABLE="VARIABLE",A.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",A.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",A.RESERVED_KEYWORD="RESERVED_KEYWORD",A.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",A.RESERVED_PHRASE="RESERVED_PHRASE",A.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",A.RESERVED_CLAUSE="RESERVED_CLAUSE",A.RESERVED_SELECT="RESERVED_SELECT",A.RESERVED_JOIN="RESERVED_JOIN",A.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",A.ARRAY_KEYWORD="ARRAY_KEYWORD",A.CASE="CASE",A.END="END",A.WHEN="WHEN",A.ELSE="ELSE",A.THEN="THEN",A.LIMIT="LIMIT",A.BETWEEN="BETWEEN",A.AND="AND",A.OR="OR",A.XOR="XOR",A.OPERATOR="OPERATOR",A.COMMA="COMMA",A.ASTERISK="ASTERISK",A.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",A.OPEN_PAREN="OPEN_PAREN",A.CLOSE_PAREN="CLOSE_PAREN",A.LINE_COMMENT="LINE_COMMENT",A.BLOCK_COMMENT="BLOCK_COMMENT",A.DISABLE_COMMENT="DISABLE_COMMENT",A.NUMBER="NUMBER",A.NAMED_PARAMETER="NAMED_PARAMETER",A.QUOTED_PARAMETER="QUOTED_PARAMETER",A.NUMBERED_PARAMETER="NUMBERED_PARAMETER",A.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",A.CUSTOM_PARAMETER="CUSTOM_PARAMETER",A.DELIMITER="DELIMITER",A.EOF="EOF";const p=e=>({type:R.EOF,raw:"«EOF»",text:"«EOF»",start:e});p(1/0);const S=e=>s=>s.type===e.type&&s.text===e.text;S({text:"ARRAY",type:R.RESERVED_DATA_TYPE}),S({text:"BY",type:R.RESERVED_KEYWORD}),S({text:"SET",type:R.RESERVED_CLAUSE}),S({text:"STRUCT",type:R.RESERVED_DATA_TYPE}),S({text:"WINDOW",type:R.RESERVED_CLAUSE}),S({text:"VALUES",type:R.RESERVED_CLAUSE});const I=s(["SELECT [ALL | DISTINCT]"]),N=s(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL]","HAVING","WINDOW","PARTITION BY","ORDER BY [ALL]","LIMIT","OFFSET","USING SAMPLE","QUALIFY","INSERT [OR REPLACE] INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),c=s(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),m=s(["UPDATE","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","TRUNCATE","ALTER TABLE","ADD [COLUMN] [IF NOT EXISTS]","ADD PRIMARY KEY","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","RENAME [COLUMN]","RENAME TO","SET [DATA] TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","CREATE [OR REPLACE] [TEMPORARY | TEMP] {MACRO | FUNCTION}","DROP MACRO [TABLE] [IF EXISTS]","DROP FUNCTION [IF EXISTS]","CREATE [UNIQUE] INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","CREATE [OR REPLACE] SCHEMA [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","CREATE [OR REPLACE] [PERSISTENT | TEMPORARY] SECRET [IF NOT EXISTS]","DROP [PERSISTENT | TEMPORARY] SECRET [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] SEQUENCE","DROP SEQUENCE [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","DROP VIEW [IF EXISTS]","ALTER VIEW","CREATE TYPE","DROP TYPE [IF EXISTS]","ANALYZE","ATTACH [DATABASE] [IF NOT EXISTS]","DETACH [DATABASE] [IF EXISTS]","CALL","[FORCE] CHECKPOINT","COMMENT ON [TABLE | COLUMN | VIEW | INDEX | SEQUENCE | TYPE | MACRO | MACRO TABLE]","COPY [FROM DATABASE]","DESCRIBE","EXPORT DATABASE","IMPORT DATABASE","INSTALL","LOAD","PIVOT","PIVOT_WIDER","UNPIVOT","EXPLAIN [ANALYZE]","SET {LOCAL | SESSION | GLOBAL}","RESET [LOCAL | SESSION | GLOBAL]","{SET | RESET} VARIABLE","SUMMARIZE","BEGIN TRANSACTION","ROLLBACK","COMMIT","ABORT","USE","VACUUM [ANALYZE]","PREPARE","EXECUTE","DEALLOCATE [PREPARE]"]),h=s(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),u=s(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{NATURAL | ASOF} [INNER] JOIN","{NATURAL | ASOF} {LEFT | RIGHT | FULL} [OUTER] JOIN","POSITIONAL JOIN","ANTI JOIN","SEMI JOIN"]),O=s(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM","TIMESTAMP WITH TIME ZONE"]),y={name:"duckdb",tokenizerOptions:{reservedSelect:I,reservedClauses:[...N,...c,...m],reservedSetOperations:h,reservedJoins:u,reservedPhrases:O,supportsXor:!0,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ATTACH","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","DEFAULT","DEFERRABLE","DESC","DESCRIBE","DETACH","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP","HAVING","IN","INITIALLY","INTERSECT","INTO","LATERAL","LEADING","LIMIT","NOT","NULL","OFFSET","ON","ONLY","OR","ORDER","PIVOT","PIVOT_LONGER","PIVOT_WIDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SHOW","SOME","SUMMARIZE","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","UNPIVOT","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BIT","BITSTRING","BLOB","BOOL","BOOLEAN","BPCHAR","BYTEA","CHAR","DATE","DATETIME","DEC","DECIMAL","DOUBLE","ENUM","FLOAT","FLOAT4","FLOAT8","GUID","HUGEINT","INET","INT","INT1","INT128","INT16","INT2","INT32","INT4","INT64","INT8","INTEGER","INTEGRAL","INTERVAL","JSON","LIST","LOGICAL","LONG","MAP","NUMERIC","NVARCHAR","OID","REAL","ROW","SHORT","SIGNED","SMALLINT","STRING","STRUCT","TEXT","TIME","TIMESTAMP_MS","TIMESTAMP_NS","TIMESTAMP_S","TIMESTAMP_US","TIMESTAMP","TIMESTAMPTZ","TIMETZ","TINYINT","UBIGINT","UHUGEINT","UINT128","UINT16","UINT32","UINT64","UINT8","UINTEGER","UNION","USMALLINT","UTINYINT","UUID","VARBINARY","VARCHAR"],reservedFunctionNames:["ABS","ACOS","ADD","ADD_PARQUET_KEY","AGE","AGGREGATE","ALIAS","ALL_PROFILING_OUTPUT","ANY_VALUE","APPLY","APPROX_COUNT_DISTINCT","APPROX_QUANTILE","ARBITRARY","ARGMAX","ARGMIN","ARG_MAX","ARG_MAX_NULL","ARG_MIN","ARG_MIN_NULL","ARRAY_AGG","ARRAY_AGGR","ARRAY_AGGREGATE","ARRAY_APPEND","ARRAY_APPLY","ARRAY_CAT","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COSINE_SIMILARITY","ARRAY_CROSS_PRODUCT","ARRAY_DISTANCE","ARRAY_DISTINCT","ARRAY_DOT_PRODUCT","ARRAY_EXTRACT","ARRAY_FILTER","ARRAY_GRADE_UP","ARRAY_HAS","ARRAY_HAS_ALL","ARRAY_HAS_ANY","ARRAY_INDEXOF","ARRAY_INNER_PRODUCT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_POP_BACK","ARRAY_POP_FRONT","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUSH_BACK","ARRAY_PUSH_FRONT","ARRAY_REDUCE","ARRAY_RESIZE","ARRAY_REVERSE","ARRAY_REVERSE_SORT","ARRAY_SELECT","ARRAY_SLICE","ARRAY_SORT","ARRAY_TO_JSON","ARRAY_TO_STRING","ARRAY_TRANSFORM","ARRAY_UNIQUE","ARRAY_VALUE","ARRAY_WHERE","ARRAY_ZIP","ARROW_SCAN","ARROW_SCAN_DUMB","ASCII","ASIN","ATAN","ATAN2","AVG","BASE64","BIN","BITSTRING","BITSTRING_AGG","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_POSITION","BIT_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CBRT","CEIL","CEILING","CENTURY","CHECKPOINT","CHR","COLLATIONS","COL_DESCRIPTION","COMBINE","CONCAT","CONCAT_WS","CONSTANT_OR_NULL","CONTAINS","COPY_DATABASE","CORR","COS","COT","COUNT","COUNT_IF","COUNT_STAR","COVAR_POP","COVAR_SAMP","CREATE_SORT_KEY","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_DATE","CURRENT_LOCALTIME","CURRENT_LOCALTIMESTAMP","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SETTING","CURRENT_USER","CURRVAL","DAMERAU_LEVENSHTEIN","DATABASE_LIST","DATABASE_SIZE","DATEDIFF","DATEPART","DATESUB","DATETRUNC","DATE_ADD","DATE_DIFF","DATE_PART","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECADE","DECODE","DEGREES","DISABLE_CHECKPOINT_ON_SHUTDOWN","DISABLE_OBJECT_CACHE","DISABLE_OPTIMIZER","DISABLE_PRINT_PROGRESS_BAR","DISABLE_PROFILE","DISABLE_PROFILING","DISABLE_PROGRESS_BAR","DISABLE_VERIFICATION","DISABLE_VERIFY_EXTERNAL","DISABLE_VERIFY_FETCH_ROW","DISABLE_VERIFY_PARALLELISM","DISABLE_VERIFY_SERIALIZER","DIVIDE","DUCKDB_COLUMNS","DUCKDB_CONSTRAINTS","DUCKDB_DATABASES","DUCKDB_DEPENDENCIES","DUCKDB_EXTENSIONS","DUCKDB_FUNCTIONS","DUCKDB_INDEXES","DUCKDB_KEYWORDS","DUCKDB_MEMORY","DUCKDB_OPTIMIZERS","DUCKDB_SCHEMAS","DUCKDB_SECRETS","DUCKDB_SEQUENCES","DUCKDB_SETTINGS","DUCKDB_TABLES","DUCKDB_TEMPORARY_FILES","DUCKDB_TYPES","DUCKDB_VIEWS","EDIT","EDITDIST3","ELEMENT_AT","ENABLE_CHECKPOINT_ON_SHUTDOWN","ENABLE_OBJECT_CACHE","ENABLE_OPTIMIZER","ENABLE_PRINT_PROGRESS_BAR","ENABLE_PROFILE","ENABLE_PROFILING","ENABLE_PROGRESS_BAR","ENABLE_VERIFICATION","ENCODE","ENDS_WITH","ENTROPY","ENUM_CODE","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","ENUM_RANGE_BOUNDARY","EPOCH","EPOCH_MS","EPOCH_NS","EPOCH_US","ERA","ERROR","EVEN","EXP","FACTORIAL","FAVG","FDIV","FILTER","FINALIZE","FIRST","FLATTEN","FLOOR","FMOD","FORCE_CHECKPOINT","FORMAT","FORMATREADABLEDECIMALSIZE","FORMATREADABLESIZE","FORMAT_BYTES","FORMAT_PG_TYPE","FORMAT_TYPE","FROM_BASE64","FROM_BINARY","FROM_HEX","FROM_JSON","FROM_JSON_STRICT","FSUM","FUNCTIONS","GAMMA","GCD","GENERATE_SERIES","GENERATE_SUBSCRIPTS","GEN_RANDOM_UUID","GEOMEAN","GEOMETRIC_MEAN","GETENV","GET_BIT","GET_BLOCK_SIZE","GET_CURRENT_TIME","GET_CURRENT_TIMESTAMP","GLOB","GRADE_UP","GREATEST","GREATEST_COMMON_DIVISOR","GROUP_CONCAT","HAMMING","HASH","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HEX","HISTOGRAM","HOUR","ICU_CALENDAR_NAMES","ICU_SORT_KEY","ILIKE_ESCAPE","IMPORT_DATABASE","INDEX_SCAN","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","INSTR","IN_SEARCH_PATH","ISFINITE","ISINF","ISNAN","ISODOW","ISOYEAR","JACCARD","JARO_SIMILARITY","JARO_WINKLER_SIMILARITY","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_CONTAINS","JSON_DESERIALIZE_SQL","JSON_EXECUTE_SERIALIZED_SQL","JSON_EXTRACT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_EXTRACT_STRING","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_GROUP_STRUCTURE","JSON_KEYS","JSON_MERGE_PATCH","JSON_OBJECT","JSON_QUOTE","JSON_SERIALIZE_PLAN","JSON_SERIALIZE_SQL","JSON_STRUCTURE","JSON_TRANSFORM","JSON_TRANSFORM_STRICT","JSON_TYPE","JSON_VALID","JULIAN","KAHAN_SUM","KURTOSIS","KURTOSIS_POP","LAST","LAST_DAY","LCASE","LCM","LEAST","LEAST_COMMON_MULTIPLE","LEFT","LEFT_GRAPHEME","LEN","LENGTH","LENGTH_GRAPHEME","LEVENSHTEIN","LGAMMA","LIKE_ESCAPE","LIST","LISTAGG","LIST_AGGR","LIST_AGGREGATE","LIST_ANY_VALUE","LIST_APPEND","LIST_APPLY","LIST_APPROX_COUNT_DISTINCT","LIST_AVG","LIST_BIT_AND","LIST_BIT_OR","LIST_BIT_XOR","LIST_BOOL_AND","LIST_BOOL_OR","LIST_CAT","LIST_CONCAT","LIST_CONTAINS","LIST_COSINE_SIMILARITY","LIST_COUNT","LIST_DISTANCE","LIST_DISTINCT","LIST_DOT_PRODUCT","LIST_ELEMENT","LIST_ENTROPY","LIST_EXTRACT","LIST_FILTER","LIST_FIRST","LIST_GRADE_UP","LIST_HAS","LIST_HAS_ALL","LIST_HAS_ANY","LIST_HISTOGRAM","LIST_INDEXOF","LIST_INNER_PRODUCT","LIST_INTERSECT","LIST_KURTOSIS","LIST_KURTOSIS_POP","LIST_LAST","LIST_MAD","LIST_MAX","LIST_MEDIAN","LIST_MIN","LIST_MODE","LIST_PACK","LIST_POSITION","LIST_PREPEND","LIST_PRODUCT","LIST_REDUCE","LIST_RESIZE","LIST_REVERSE","LIST_REVERSE_SORT","LIST_SELECT","LIST_SEM","LIST_SKEWNESS","LIST_SLICE","LIST_SORT","LIST_STDDEV_POP","LIST_STDDEV_SAMP","LIST_STRING_AGG","LIST_SUM","LIST_TRANSFORM","LIST_UNIQUE","LIST_VALUE","LIST_VAR_POP","LIST_VAR_SAMP","LIST_WHERE","LIST_ZIP","LN","LOG","LOG10","LOG2","LOWER","LPAD","LSMODE","LTRIM","MAD","MAKE_DATE","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_EXTRACT","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","MAX","MAX_BY","MD5","MD5_NUMBER","MD5_NUMBER_LOWER","MD5_NUMBER_UPPER","MEAN","MEDIAN","METADATA_INFO","MICROSECOND","MILLENNIUM","MILLISECOND","MIN","MINUTE","MIN_BY","MISMATCHES","MOD","MODE","MONTH","MONTHNAME","MULTIPLY","NEXTAFTER","NEXTVAL","NFC_NORMALIZE","NOT_ILIKE_ESCAPE","NOT_LIKE_ESCAPE","NOW","NULLIF","OBJ_DESCRIPTION","OCTET_LENGTH","ORD","PARQUET_FILE_METADATA","PARQUET_KV_METADATA","PARQUET_METADATA","PARQUET_SCAN","PARQUET_SCHEMA","PARSE_DIRNAME","PARSE_DIRPATH","PARSE_FILENAME","PARSE_PATH","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IS_OTHER_TEMP_SCHEMA","PG_MY_TEMP_SCHEMA","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_POSTMASTER_START_TIME","PG_SIZE_PRETTY","PG_TABLE_IS_VISIBLE","PG_TIMEZONE_NAMES","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PI","PLATFORM","POSITION","POW","POWER","PRAGMA_COLLATIONS","PRAGMA_DATABASE_SIZE","PRAGMA_METADATA_INFO","PRAGMA_PLATFORM","PRAGMA_SHOW","PRAGMA_STORAGE_INFO","PRAGMA_TABLE_INFO","PRAGMA_USER_AGENT","PRAGMA_VERSION","PREFIX","PRINTF","PRODUCT","QUANTILE","QUANTILE_CONT","QUANTILE_DISC","QUARTER","RADIANS","RANDOM","RANGE","READFILE","READ_BLOB","READ_CSV","READ_CSV_AUTO","READ_JSON","READ_JSON_AUTO","READ_JSON_OBJECTS","READ_JSON_OBJECTS_AUTO","READ_NDJSON","READ_NDJSON_AUTO","READ_NDJSON_OBJECTS","READ_PARQUET","READ_TEXT","REDUCE","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_FULL_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REPEAT","REPEAT_ROW","REPLACE","RESERVOIR_QUANTILE","REVERSE","RIGHT","RIGHT_GRAPHEME","ROUND","ROUNDBANKERS","ROUND_EVEN","ROW","ROW_TO_JSON","RPAD","RTRIM","SECOND","SEM","SEQ_SCAN","SESSION_USER","SETSEED","SET_BIT","SHA256","SHA3","SHELL_ADD_SCHEMA","SHELL_ESCAPE_CRNL","SHELL_IDQUOTE","SHELL_MODULE_SCHEMA","SHELL_PUTSNL","SHOBJ_DESCRIPTION","SHOW","SHOW_DATABASES","SHOW_TABLES","SHOW_TABLES_EXPANDED","SIGN","SIGNBIT","SIN","SKEWNESS","SNIFF_CSV","SPLIT","SPLIT_PART","SQL_AUTO_COMPLETE","SQRT","STARTS_WITH","STATS","STDDEV","STDDEV_POP","STDDEV_SAMP","STORAGE_INFO","STRFTIME","STRING_AGG","STRING_SPLIT","STRING_SPLIT_REGEX","STRING_TO_ARRAY","STRIP_ACCENTS","STRLEN","STRPOS","STRPTIME","STRUCT_EXTRACT","STRUCT_INSERT","STRUCT_PACK","STR_SPLIT","STR_SPLIT_REGEX","SUBSTR","SUBSTRING","SUBSTRING_GRAPHEME","SUBTRACT","SUFFIX","SUM","SUMKAHAN","SUMMARY","SUM_NO_OVERFLOW","TABLE_INFO","TAN","TEST_ALL_TYPES","TEST_VECTOR_TYPES","TIMEZONE","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIME_BUCKET","TODAY","TO_BASE","TO_BASE64","TO_BINARY","TO_CENTURIES","TO_DAYS","TO_DECADES","TO_HEX","TO_HOURS","TO_JSON","TO_MICROSECONDS","TO_MILLENNIA","TO_MILLISECONDS","TO_MINUTES","TO_MONTHS","TO_SECONDS","TO_TIMESTAMP","TO_WEEKS","TO_YEARS","TRANSACTION_TIMESTAMP","TRANSLATE","TRIM","TRUNC","TRY_STRPTIME","TXID_CURRENT","TYPEOF","UCASE","UNBIN","UNHEX","UNICODE","UNION_EXTRACT","UNION_TAG","UNION_VALUE","UNNEST","UNPIVOT_LIST","UPPER","USER","USER_AGENT","UUID","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_TYPE","VERIFY_EXTERNAL","VERIFY_FETCH_ROW","VERIFY_PARALLELISM","VERIFY_SERIALIZER","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","WHICH_SECRET","WRITEFILE","XOR","YEAR","YEARWEEK","CAST","COALESCE","NULL","RANK","ROW_NUMBER"],nestedBlockComments:!0,extraParens:["[]","{}"],stringTypes:["$$","''-qq",{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{rest:"$"},paramTypes:{positional:!0,numbered:["$"],quoted:["$"]},operators:["//","%","**","^","!","&","|","~","<<",">>","::","==","->",":",":=","=>","~~","!~~","~~*","!~~*","~~~","~","!~","~*","!~*","^@","||",">>=","<<="]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...c,...m],tabularOnelineClauses:m}},L=e=>e[e.length-1],d=e=>e.sort(((e,s)=>s.length-e.length||e.localeCompare(s))),C=e=>e.replace(/\s+/gu," "),f=e=>/\n/.test(e),D=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),P=/\s+/uy,b=e=>new RegExp(`(?:${e})`,"uy"),x=e=>e.split("").map((e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`)).join(""),M=(e,s=[])=>{const t="open"===e?0:1,r=["()",...s].map((e=>e[t]));return b(r.map(D).join("|"))},$=e=>b(`${d(e).map(D).join("|")}`),g=(e,s={})=>{if(0===e.length)return/^\b$/u;const t=(({rest:e,dashes:s})=>e||s?`(?![${e||""}${s?"-":""}])`:"")(s),r=d(e).map(D).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${r})${t}\\b`,"iuy")},U=(e,s)=>{if(!e.length)return;const t=e.map(D).join("|");return b(`(?:${t})(?:${s})`)},w={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},s=Object.entries(e).map((([e,s])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,D(e)).replace(/{right}/g,D(s)))),t=D(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${t}])(?:(?!\k<tag>').)*?\k<tag>`}|${s.join("|")})'`})()},B=e=>"string"==typeof e?w[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:s})=>`(?:${e.map(x).join("|")}${s?"":"|"})`)(e)+w[e.quote],G=e=>e.map(B).join("|"),Y=e=>b(G(e)),F=(e={})=>b(V(e)),V=({first:e,rest:s,dashes:t,allowFirstCharNumber:r}={})=>{const n="\\p{Alphabetic}\\p{Mark}_",E="\\p{Decimal_Number}",i=D(null!=e?e:""),a=D(null!=s?s:""),o=r?`[${n}${E}${i}][${n}${E}${a}]*`:`[${n}${i}][${n}${E}${a}]*`;return t?(e=>e+"(?:-"+e+")*")(o):o};function W(e,s){const t=e.slice(0,s).split(/\n/);return{line:t.length,col:t[t.length-1].length+1}}class H{constructor(e,s){this.rules=e,this.dialectName=s,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const s=[];let t;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(t=this.getNextToken(),!t)throw this.createParseError();s.push(Object.assign(Object.assign({},t),{precedingWhitespace:e}))}}return s}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:s,col:t}=W(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${s} column ${t}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){P.lastIndex=this.index;const e=P.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const s=this.match(e);if(s)return s}}match(e){e.regex.lastIndex=this.index;const s=e.regex.exec(this.input);if(s){const t=s[0],r={type:e.type,raw:t,text:e.text?e.text(t):t,start:this.index};return e.key&&(r.key=e.key(t)),this.index+=t.length,r}}}const v=/\/\*/uy,k=/[\s\S]/uy,K=/\*\//uy;class X{constructor(){this.lastIndex=0}exec(e){let s,t="",r=0;if(!(s=this.matchSection(v,e)))return null;for(t+=s,r++;r>0;)if(s=this.matchSection(v,e))t+=s,r++;else if(s=this.matchSection(K,e))t+=s,r--;else{if(!(s=this.matchSection(k,e)))return null;t+=s}return[t]}matchSection(e,s){e.lastIndex=this.lastIndex;const t=e.exec(s);return t&&(this.lastIndex+=t[0].length),t?t[0]:null}}class J{constructor(e,s){this.cfg=e,this.dialectName=s,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,s){const t=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,s),...this.rulesAfterParams],r=new H(t,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(r):r}buildRulesBeforeParams(e){var s,t,r;return this.validRules([{type:R.BLOCK_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:R.BLOCK_COMMENT,regex:e.nestedBlockComments?new X:/(\/\*[^]*?\*\/)/uy},{type:R.LINE_COMMENT,regex:(r=null!==(s=e.lineCommentTypes)&&void 0!==s?s:["--"],new RegExp(`(?:${r.map(D).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:R.QUOTED_IDENTIFIER,regex:Y(e.identTypes)},{type:R.NUMBER,regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:R.RESERVED_PHRASE,regex:g(null!==(t=e.reservedPhrases)&&void 0!==t?t:[],e.identChars),text:q},{type:R.CASE,regex:/CASE\b/iuy,text:q},{type:R.END,regex:/END\b/iuy,text:q},{type:R.BETWEEN,regex:/BETWEEN\b/iuy,text:q},{type:R.LIMIT,regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:q},{type:R.RESERVED_CLAUSE,regex:g(e.reservedClauses,e.identChars),text:q},{type:R.RESERVED_SELECT,regex:g(e.reservedSelect,e.identChars),text:q},{type:R.RESERVED_SET_OPERATION,regex:g(e.reservedSetOperations,e.identChars),text:q},{type:R.WHEN,regex:/WHEN\b/iuy,text:q},{type:R.ELSE,regex:/ELSE\b/iuy,text:q},{type:R.THEN,regex:/THEN\b/iuy,text:q},{type:R.RESERVED_JOIN,regex:g(e.reservedJoins,e.identChars),text:q},{type:R.AND,regex:/AND\b/iuy,text:q},{type:R.OR,regex:/OR\b/iuy,text:q},{type:R.XOR,regex:e.supportsXor?/XOR\b/iuy:void 0,text:q},...e.operatorKeyword?[{type:R.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:R.RESERVED_FUNCTION_NAME,regex:g(e.reservedFunctionNames,e.identChars),text:q},{type:R.RESERVED_DATA_TYPE,regex:g(e.reservedDataTypes,e.identChars),text:q},{type:R.RESERVED_KEYWORD,regex:g(e.reservedKeywords,e.identChars),text:q}])}buildRulesAfterParams(e){var s,t,r;return this.validRules([{type:R.VARIABLE,regex:e.variableTypes?(r=e.variableTypes,b(r.map((e=>"regex"in e?e.regex:B(e))).join("|"))):void 0},{type:R.STRING,regex:Y(e.stringTypes)},{type:R.IDENTIFIER,regex:F(e.identChars)},{type:R.DELIMITER,regex:/[;]/uy},{type:R.COMMA,regex:/[,]/y},{type:R.OPEN_PAREN,regex:M("open",e.extraParens)},{type:R.CLOSE_PAREN,regex:M("close",e.extraParens)},{type:R.OPERATOR,regex:$(["+","-","/",">","<","=","<>","<=",">=","!=",...null!==(s=e.operators)&&void 0!==s?s:[]])},{type:R.ASTERISK,regex:/[*]/uy},{type:R.PROPERTY_ACCESS_OPERATOR,regex:$([".",...null!==(t=e.propertyAccessOperators)&&void 0!==t?t:[]])}])}buildParamRules(e,s){var t,r,n,E,i;const a={named:(null==s?void 0:s.named)||(null===(t=e.paramTypes)||void 0===t?void 0:t.named)||[],quoted:(null==s?void 0:s.quoted)||(null===(r=e.paramTypes)||void 0===r?void 0:r.quoted)||[],numbered:(null==s?void 0:s.numbered)||(null===(n=e.paramTypes)||void 0===n?void 0:n.numbered)||[],positional:"boolean"==typeof(null==s?void 0:s.positional)?s.positional:null===(E=e.paramTypes)||void 0===E?void 0:E.positional,custom:(null==s?void 0:s.custom)||(null===(i=e.paramTypes)||void 0===i?void 0:i.custom)||[]};return this.validRules([{type:R.NAMED_PARAMETER,regex:U(a.named,V(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:R.QUOTED_PARAMETER,regex:U(a.quoted,G(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:s})=>e.replace(new RegExp(D("\\"+s),"gu"),s))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:R.NUMBERED_PARAMETER,regex:U(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:R.POSITIONAL_PARAMETER,regex:a.positional?/[?]/y:void 0},...a.custom.map((e=>{var s;return{type:R.CUSTOM_PARAMETER,regex:b(e.regex),key:null!==(s=e.key)&&void 0!==s?s:e=>e}}))])}validRules(e){return e.filter((e=>Boolean(e.regex)))}}const q=e=>C(e.toUpperCase()),j=new Map,Q=e=>({tokenizer:new J(e.tokenizerOptions,e.name),formatOptions:Z(e.formatOptions)}),Z=e=>{var s;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map((e=>[e,!0]))),tabularOnelineClauses:Object.fromEntries((null!==(s=e.tabularOnelineClauses)&&void 0!==s?s:e.onelineClauses).map((e=>[e,!0])))}};function z(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}class ee{constructor(e){this.params=e,this.index=0}get({key:e,text:s}){return this.params?e?this.params[e]:this.params[this.index++]:s}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}}var se,te,re,ne,Ee={exports:{}};const ie=e((se||(se=1,re=Ee.exports,ne=function(){function e(s,t,r){return this.id=++e.highestId,this.name=s,this.symbols=t,this.postprocess=r,this}function s(e,s,t,r){this.rule=e,this.dot=s,this.reference=t,this.data=[],this.wantedBy=r,this.isComplete=this.dot===e.symbols.length}function t(e,s){this.grammar=e,this.index=s,this.states=[],this.wants={},this.scannable=[],this.completed={}}function r(e,s){this.rules=e,this.start=s||this.rules[0].name;var t=this.byName={};this.rules.forEach((function(e){t.hasOwnProperty(e.name)||(t[e.name]=[]),t[e.name].push(e)}))}function n(){this.reset("")}function E(e,s,E){if(e instanceof r){var i=e;E=s}else i=r.fromCompiled(e,s);for(var a in this.grammar=i,this.options={keepHistory:!1,lexer:i.lexer||new n},E||{})this.options[a]=E[a];this.lexer=this.options.lexer,this.lexerState=void 0;var o=new t(i,0);this.table=[o],o.wants[i.start]=[],o.predict(i.start),o.process(),this.current=0}function i(e){var s=typeof e;if("string"===s)return e;if("object"===s){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var s=void 0===e?this.symbols.map(i).join(" "):this.symbols.slice(0,e).map(i).join(" ")+" ● "+this.symbols.slice(e).map(i).join(" ");return this.name+" → "+s},s.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},s.prototype.nextState=function(e){var t=new s(this.rule,this.dot+1,this.reference,this.wantedBy);return t.left=this,t.right=e,t.isComplete&&(t.data=t.build(),t.right=void 0),t},s.prototype.build=function(){var e=[],s=this;do{e.push(s.right.data),s=s.left}while(s.left);return e.reverse(),e},s.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,E.fail))},t.prototype.process=function(e){for(var s=this.states,t=this.wants,r=this.completed,n=0;n<s.length;n++){var i=s[n];if(i.isComplete){if(i.finish(),i.data!==E.fail){for(var a=i.wantedBy,o=a.length;o--;){var _=a[o];this.complete(_,i)}if(i.reference===this.index){var T=i.rule.name;(this.completed[T]=this.completed[T]||[]).push(i)}}}else{if("string"!=typeof(T=i.rule.symbols[i.dot])){this.scannable.push(i);continue}if(t[T]){if(t[T].push(i),r.hasOwnProperty(T)){var l=r[T];for(o=0;o<l.length;o++){var R=l[o];this.complete(i,R)}}}else t[T]=[i],this.predict(T)}}},t.prototype.predict=function(e){for(var t=this.grammar.byName[e]||[],r=0;r<t.length;r++){var n=t[r],E=this.wants[e],i=new s(n,0,this.index,E);this.states.push(i)}},t.prototype.complete=function(e,s){var t=e.nextState(s);this.states.push(t)},r.fromCompiled=function(s,t){var n=s.Lexer;s.ParserStart&&(t=s.ParserStart,s=s.ParserRules);var E=new r(s=s.map((function(s){return new e(s.name,s.symbols,s.postprocess)})),t);return E.lexer=n,E},n.prototype.reset=function(e,s){this.buffer=e,this.index=0,this.line=s?s.line:1,this.lastLineBreak=s?-s.col:0},n.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},n.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},n.prototype.formatError=function(e,s){var t=this.buffer;if("string"==typeof t){var r=t.split("\n").slice(Math.max(0,this.line-5),this.line),n=t.indexOf("\n",this.index);-1===n&&(n=t.length);var E=this.index-this.lastLineBreak,i=String(this.line).length;return s+=" at line "+this.line+" col "+E+":\n\n",s+=r.map((function(e,s){return a(this.line-r.length+s+1,i)+" "+e}),this).join("\n"),s+="\n"+a("",i+E)+"^\n"}return s+" at index "+(this.index-1);function a(e,s){var t=String(e);return Array(s-t.length+1).join(" ")+t}},E.fail={},E.prototype.feed=function(e){var s,r=this.lexer;for(r.reset(e,this.lexerState);;){try{if(!(s=r.next()))break}catch(I){var E=new t(this.grammar,this.current+1);throw this.table.push(E),(o=new Error(this.reportLexerError(I))).offset=this.current,o.token=I.token,o}var i=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;E=new t(this.grammar,a),this.table.push(E);for(var o,_=void 0!==s.text?s.text:s.value,T=r.constructor===n?s.value:s,l=i.scannable,R=l.length;R--;){var A=l[R],p=A.rule.symbols[A.dot];if(p.test?p.test(T):p.type?p.type===s.type:p.literal===_){var S=A.nextState({data:T,token:s,isToken:!0,reference:a-1});E.states.push(S)}}if(E.process(),0===E.states.length)throw(o=new Error(this.reportError(s))).offset=this.current,o.token=s,o;this.options.keepHistory&&(i.lexerState=r.save()),this.current++}return i&&(this.lexerState=r.save()),this.results=this.finish(),this},E.prototype.reportLexerError=function(e){var s,t,r=e.token;return r?(s="input "+JSON.stringify(r.text[0])+" (lexer error)",t=this.lexer.formatError(r,"Syntax error")):(s="input (lexer error)",t=e.message),this.reportErrorCommon(t,s)},E.prototype.reportError=function(e){var s=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),t=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(t,s)},E.prototype.reportErrorCommon=function(e,s){var t=[];t.push(e);var r=this.table.length-2,n=this.table[r],E=n.states.filter((function(e){var s=e.rule.symbols[e.dot];return s&&"string"!=typeof s}));return 0===E.length?(t.push("Unexpected "+s+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(n.states,t)):(t.push("Unexpected "+s+". Instead, I was expecting to see one of the following:\n"),E.map((function(e){return this.buildFirstStateStack(e,[])||[e]}),this).forEach((function(e){var s=e[0],r=s.rule.symbols[s.dot],n=this.getSymbolDisplay(r);t.push("A "+n+" based on:"),this.displayStateStack(e,t)}),this)),t.push(""),t.join("\n")},E.prototype.displayStateStack=function(e,s){for(var t,r=0,n=0;n<e.length;n++){var E=e[n],i=E.rule.toString(E.dot);i===t?r++:(r>0&&s.push(" ^ "+r+" more lines identical to this"),r=0,s.push(" "+i)),t=i}},E.prototype.getSymbolDisplay=function(e){return function(e){var s=typeof e;if("string"===s)return e;if("object"===s){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},E.prototype.buildFirstStateStack=function(e,s){if(-1!==s.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var t=e.wantedBy[0],r=[e].concat(s),n=this.buildFirstStateStack(t,r);return null===n?null:[e].concat(n)},E.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},E.prototype.restore=function(e){var s=e.index;this.current=s,this.table[s]=e,this.table.splice(s+1),this.lexerState=e.lexerState,this.results=this.finish()},E.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},E.prototype.finish=function(){var e=[],s=this.grammar.start;return this.table[this.table.length-1].states.forEach((function(t){t.rule.name===s&&t.dot===t.rule.symbols.length&&0===t.reference&&t.data!==E.fail&&e.push(t)})),e.map((function(e){return e.data}))},{Parser:E,Grammar:r,Rule:e}},(te=Ee).exports?te.exports=ne():re.nearley=ne()),Ee.exports));const ae=(e,s,t)=>{if((r=e.type)===R.RESERVED_DATA_TYPE||r===R.RESERVED_KEYWORD||r===R.RESERVED_FUNCTION_NAME||r===R.RESERVED_PHRASE||r===R.RESERVED_CLAUSE||r===R.RESERVED_SELECT||r===R.RESERVED_SET_OPERATION||r===R.RESERVED_JOIN||r===R.ARRAY_KEYWORD||r===R.CASE||r===R.END||r===R.WHEN||r===R.ELSE||r===R.THEN||r===R.LIMIT||r===R.BETWEEN||r===R.AND||r===R.OR||r===R.XOR){const r=Re(t,s);if(r&&r.type===R.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:R.IDENTIFIER,text:e.raw});const n=Ae(t,s);if(n&&n.type===R.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:R.IDENTIFIER,text:e.raw})}var r;return e},oe=(e,s,t)=>{if(e.type===R.RESERVED_FUNCTION_NAME){const r=Ae(t,s);if(!r||!pe(r))return Object.assign(Object.assign({},e),{type:R.IDENTIFIER,text:e.raw})}return e},_e=(e,s,t)=>{if(e.type===R.RESERVED_DATA_TYPE){const r=Ae(t,s);if(r&&pe(r))return Object.assign(Object.assign({},e),{type:R.RESERVED_PARAMETERIZED_DATA_TYPE})}return e},Te=(e,s,t)=>{if(e.type===R.IDENTIFIER){const r=Ae(t,s);if(r&&Se(r))return Object.assign(Object.assign({},e),{type:R.ARRAY_IDENTIFIER})}return e},le=(e,s,t)=>{if(e.type===R.RESERVED_DATA_TYPE){const r=Ae(t,s);if(r&&Se(r))return Object.assign(Object.assign({},e),{type:R.ARRAY_KEYWORD})}return e},Re=(e,s)=>Ae(e,s,-1),Ae=(e,s,t=1)=>{let r=1;for(;e[s+r*t]&&Ie(e[s+r*t]);)r++;return e[s+r*t]},pe=e=>e.type===R.OPEN_PAREN&&"("===e.text,Se=e=>e.type===R.OPEN_PAREN&&"["===e.text,Ie=e=>e.type===R.BLOCK_COMMENT||e.type===R.LINE_COMMENT;class Ne{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,s){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:s,col:t}=W(this.input,e.start);return`Parse error at token: ${e.text} at line ${s} column ${t}`}has(e){return e in R}}var ce,me;function he(e){return e[0]}(me=ce=ce||(ce={})).statement="statement",me.clause="clause",me.set_operation="set_operation",me.function_call="function_call",me.parameterized_data_type="parameterized_data_type",me.array_subscript="array_subscript",me.property_access="property_access",me.parenthesis="parenthesis",me.between_predicate="between_predicate",me.case_expression="case_expression",me.case_when="case_when",me.case_else="case_else",me.limit_clause="limit_clause",me.all_columns_asterisk="all_columns_asterisk",me.literal="literal",me.identifier="identifier",me.keyword="keyword",me.data_type="data_type",me.parameter="parameter",me.operator="operator",me.comma="comma",me.line_comment="line_comment",me.block_comment="block_comment",me.disable_comment="disable_comment";const ue=new Ne((e=>[])),Oe=([[e]])=>e,ye=e=>({type:ce.keyword,tokenType:e.type,text:e.text,raw:e.raw}),Le=e=>({type:ce.data_type,text:e.text,raw:e.raw}),de=(e,{leading:s,trailing:t})=>((null==s?void 0:s.length)&&(e=Object.assign(Object.assign({},e),{leadingComments:s})),(null==t?void 0:t.length)&&(e=Object.assign(Object.assign({},e),{trailingComments:t})),e),Ce=(e,{leading:s,trailing:t})=>{if(null==s?void 0:s.length){const[t,...r]=e;e=[de(t,{leading:s}),...r]}if(null==t?void 0:t.length){const s=e.slice(0,-1),r=e[e.length-1];e=[...s,de(r,{trailing:t})]}return e},fe={Lexer:ue,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const s=e[e.length-1];return s&&!s.hasSemicolon?s.children.length>0?e:e.slice(0,-1):e}},{name:"statement$subexpression$1",symbols:[ue.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[ue.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[s]])=>({type:ce.statement,children:e,hasSemicolon:s.type===R.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,s])=>[...e,...s]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:Oe},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[ue.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:he},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[ue.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,s,t,r])=>{if(r){const[n,E]=r;return{type:ce.limit_clause,limitKw:de(ye(e),{trailing:s}),offset:t,count:E}}return{type:ce.limit_clause,limitKw:de(ye(e),{trailing:s}),count:t}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[ue.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[s,t]])=>({type:ce.clause,nameKw:ye(e),children:[s,...t]})},{name:"select_clause",symbols:[ue.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:ce.clause,nameKw:ye(e),children:[]})},{name:"all_columns_asterisk",symbols:[ue.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:ce.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"other_clause",symbols:[ue.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,s])=>({type:ce.clause,nameKw:ye(e),children:s})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"set_operation",symbols:[ue.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,s])=>({type:ce.set_operation,nameKw:ye(e),children:s})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:he},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,s])=>[e,...s]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,s])=>[e,...s]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,s])=>de(e,{trailing:s})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,s])=>de(s,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,s])=>de(s,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:Oe},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:Oe},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:Oe},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:Oe},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:Oe},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:Oe},{name:"array_subscript",symbols:[ue.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,s,t])=>({type:ce.array_subscript,array:de({type:ce.identifier,quoted:!1,text:e.text},{trailing:s}),parenthesis:t})},{name:"array_subscript",symbols:[ue.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,s,t])=>({type:ce.array_subscript,array:de(ye(e),{trailing:s}),parenthesis:t})},{name:"function_call",symbols:[ue.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,s,t])=>({type:ce.function_call,nameKw:de(ye(e),{trailing:s}),parenthesis:t})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,s,t])=>({type:ce.parenthesis,children:s,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,s,t])=>({type:ce.parenthesis,children:s,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,s,t])=>({type:ce.parenthesis,children:s,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",ue.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,s,t,r,[n]])=>({type:ce.property_access,object:de(e,{trailing:s}),operator:t.text,property:de(n,{leading:r})})},{name:"between_predicate",symbols:[ue.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",ue.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,s,t,r,n,E,i])=>({type:ce.between_predicate,betweenKw:ye(e),expr1:Ce(t,{leading:s,trailing:r}),andKw:ye(n),expr2:[de(i,{leading:E})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:he},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:e=>e[0].concat([e[1]])},{name:"case_expression",symbols:[ue.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",ue.has("END")?{type:"END"}:END],postprocess:([e,s,t,r,n])=>({type:ce.case_expression,caseKw:de(ye(e),{trailing:s}),endKw:ye(n),expr:t||[],clauses:r})},{name:"case_clause",symbols:[ue.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",ue.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,s,t,r,n,E])=>({type:ce.case_when,whenKw:de(ye(e),{trailing:s}),thenKw:de(ye(r),{trailing:n}),condition:t,result:E})},{name:"case_clause",symbols:[ue.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,s,t])=>({type:ce.case_else,elseKw:de(ye(e),{trailing:s}),result:t})},{name:"comma$subexpression$1",symbols:[ue.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:ce.comma})},{name:"asterisk$subexpression$1",symbols:[ue.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:ce.operator,text:e.text})},{name:"operator$subexpression$1",symbols:[ue.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:ce.operator,text:e.text})},{name:"identifier$subexpression$1",symbols:[ue.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[ue.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[ue.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:ce.identifier,quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[ue.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ue.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ue.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ue.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ue.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:ce.parameter,key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[ue.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[ue.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:ce.literal,text:e.text})},{name:"keyword$subexpression$1",symbols:[ue.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[ue.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[ue.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>ye(e)},{name:"data_type$subexpression$1",symbols:[ue.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>Le(e)},{name:"data_type",symbols:[ue.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,s,t])=>({type:ce.parameterized_data_type,dataType:de(Le(e),{trailing:s}),parenthesis:t})},{name:"logic_operator$subexpression$1",symbols:[ue.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[ue.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[ue.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>ye(e)},{name:"other_keyword$subexpression$1",symbols:[ue.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[ue.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[ue.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[ue.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>ye(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[ue.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:ce.line_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[ue.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:ce.block_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[ue.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:ce.disable_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},{Parser:De,Grammar:Pe}=ie;var be,xe;(xe=be=be||(be={}))[xe.SPACE=0]="SPACE",xe[xe.NO_SPACE=1]="NO_SPACE",xe[xe.NO_NEWLINE=2]="NO_NEWLINE",xe[xe.NEWLINE=3]="NEWLINE",xe[xe.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",xe[xe.INDENT=5]="INDENT",xe[xe.SINGLE_INDENT=6]="SINGLE_INDENT";class Me{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const s of e)switch(s){case be.SPACE:this.items.push(be.SPACE);break;case be.NO_SPACE:this.trimHorizontalWhitespace();break;case be.NO_NEWLINE:this.trimWhitespace();break;case be.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(be.NEWLINE);break;case be.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(be.MANDATORY_NEWLINE);break;case be.INDENT:this.addIndentation();break;case be.SINGLE_INDENT:this.items.push(be.SINGLE_INDENT);break;default:this.items.push(s)}}trimHorizontalWhitespace(){for(;$e(L(this.items));)this.items.pop()}trimWhitespace(){for(;ge(L(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(L(this.items)){case be.NEWLINE:this.items.pop(),this.items.push(e);break;case be.MANDATORY_NEWLINE:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(be.SINGLE_INDENT)}toString(){return this.items.map((e=>this.itemToString(e))).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case be.SPACE:return" ";case be.NEWLINE:case be.MANDATORY_NEWLINE:return"\n";case be.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return e}}}const $e=e=>e===be.SPACE||e===be.SINGLE_INDENT,ge=e=>e===be.SPACE||e===be.SINGLE_INDENT||e===be.NEWLINE;function Ue(e,s){if("standard"===s)return e;let t=[];return e.length>=10&&e.includes(" ")&&([e,...t]=e.split(" ")),(e="tabularLeft"===s?e.padEnd(9," "):e.padStart(9," "))+["",...t].join(" ")}function we(e){return(e=>e===R.AND||e===R.OR||e===R.XOR)(e)||e===R.RESERVED_CLAUSE||e===R.RESERVED_SELECT||e===R.RESERVED_SET_OPERATION||e===R.RESERVED_JOIN||e===R.LIMIT}const Be="top-level";class Ge{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(Be)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&L(this.indentTypes)===Be&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==Be)break}}}class Ye extends Me{constructor(e){super(new Ge("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach((e=>this.addToLength(e))),this.length>this.expressionWidth)throw new Fe;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(e===be.MANDATORY_NEWLINE||e===be.NEWLINE)throw new Fe;e===be.INDENT||e===be.SINGLE_INDENT||e===be.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):e!==be.NO_NEWLINE&&e!==be.NO_SPACE||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class Fe extends Error{}class Ve{constructor({cfg:e,dialectCfg:s,params:t,layout:r,inline:n=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=s,this.inline=n,this.params=t,this.layout=r}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case ce.function_call:return this.formatFunctionCall(e);case ce.parameterized_data_type:return this.formatParameterizedDataType(e);case ce.array_subscript:return this.formatArraySubscript(e);case ce.property_access:return this.formatPropertyAccess(e);case ce.parenthesis:return this.formatParenthesis(e);case ce.between_predicate:return this.formatBetweenPredicate(e);case ce.case_expression:return this.formatCaseExpression(e);case ce.case_when:return this.formatCaseWhen(e);case ce.case_else:return this.formatCaseElse(e);case ce.clause:return this.formatClause(e);case ce.set_operation:return this.formatSetOperation(e);case ce.limit_clause:return this.formatLimitClause(e);case ce.all_columns_asterisk:return this.formatAllColumnsAsterisk(e);case ce.literal:return this.formatLiteral(e);case ce.identifier:return this.formatIdentifier(e);case ce.parameter:return this.formatParameter(e);case ce.operator:return this.formatOperator(e);case ce.comma:return this.formatComma(e);case ce.line_comment:return this.formatLineComment(e);case ce.block_comment:case ce.disable_comment:return this.formatBlockComment(e);case ce.data_type:return this.formatDataType(e);case ce.keyword:return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,(()=>{this.layout.add(this.showFunctionKw(e.nameKw))})),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,(()=>{this.layout.add(this.showDataType(e.dataType))})),this.formatNode(e.parenthesis)}formatArraySubscript(e){let s;switch(e.array.type){case ce.data_type:s=this.showDataType(e.array);break;case ce.keyword:s=this.showKw(e.array);break;default:s=this.showIdentifier(e.array)}this.withComments(e.array,(()=>{this.layout.add(s)})),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(be.NO_SPACE,e.operator),this.formatNode(e.property)}formatParenthesis(e){const s=this.formatInlineExpression(e.children);s?(this.layout.add(e.openParen),this.layout.add(...s.getLayoutItems()),this.layout.add(be.NO_SPACE,e.closeParen,be.SPACE)):(this.layout.add(e.openParen,be.NEWLINE),z(this.cfg)?(this.layout.add(be.INDENT),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(be.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(be.NEWLINE,be.INDENT,e.closeParen,be.SPACE))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),be.SPACE),this.layout=this.formatSubExpression(e.expr1),this.layout.add(be.NO_SPACE,be.SPACE,this.showNonTabularKw(e.andKw),be.SPACE),this.layout=this.formatSubExpression(e.expr2),this.layout.add(be.SPACE)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(be.NEWLINE,be.INDENT),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(be.NEWLINE,be.INDENT),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(be.NEWLINE,be.INDENT),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):z(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return z(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.nameKw),be.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(be.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.nameKw),be.SPACE),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.nameKw),be.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.nameKw),be.NEWLINE),this.layout.add(be.INDENT),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,(()=>{this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.limitKw))})),this.layout.indentation.increaseTopLevel(),z(this.cfg)?this.layout.add(be.SPACE):this.layout.add(be.NEWLINE,be.INDENT),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(be.NO_SPACE,",",be.SPACE),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",be.SPACE)}formatLiteral(e){this.layout.add(e.text,be.SPACE)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),be.SPACE)}formatParameter(e){this.layout.add(this.params.get(e),be.SPACE)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(be.NO_SPACE,e):":"===e?this.layout.add(be.NO_SPACE,e,be.SPACE):this.layout.add(e,be.SPACE)}formatComma(e){this.inline?this.layout.add(be.NO_SPACE,",",be.SPACE):this.layout.add(be.NO_SPACE,",",be.NEWLINE,be.INDENT)}withComments(e,s){this.formatComments(e.leadingComments),s(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach((e=>{e.type===ce.line_comment?this.formatLineComment(e):this.formatBlockComment(e)}))}formatLineComment(e){f(e.precedingWhitespace||"")?this.layout.add(be.NEWLINE,be.INDENT,e.text,be.MANDATORY_NEWLINE,be.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(be.NO_NEWLINE,be.SPACE,e.text,be.MANDATORY_NEWLINE,be.INDENT):this.layout.add(e.text,be.MANDATORY_NEWLINE,be.INDENT)}formatBlockComment(e){e.type===ce.block_comment&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach((e=>{this.layout.add(be.NEWLINE,be.INDENT,e)})),this.layout.add(be.NEWLINE,be.INDENT)):this.layout.add(e.text,be.SPACE)}isMultilineBlockComment(e){return f(e.text)||f(e.precedingWhitespace||"")}isDocComment(e){const s=e.split(/\n/);return/^\/\*\*?$/.test(s[0])&&s.slice(1,s.length-1).every((e=>/^\s*\*/.test(e)))&&/^\s*\*\/$/.test(L(s))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map((e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e)):e.split(/\n/).map((e=>e.replace(/^\s*/,"")))}formatSubExpression(e){return new Ve({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(e)}formatInlineExpression(e){const s=this.params.getPositionalParameterIndex();try{return new Ve({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new Ye(this.cfg.expressionWidth),inline:!0}).format(e)}catch(t){if(t instanceof Fe)return void this.params.setPositionalParameterIndex(s);throw t}}formatKeywordNode(e){switch(e.tokenType){case R.RESERVED_JOIN:return this.formatJoin(e);case R.AND:case R.OR:case R.XOR:return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){z(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e),be.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e),be.SPACE)}formatKeyword(e){this.layout.add(this.showKw(e),be.SPACE)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?z(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e),be.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e),be.SPACE):this.layout.add(this.showKw(e),be.NEWLINE,be.INDENT)}formatDataType(e){this.layout.add(this.showDataType(e),be.SPACE)}showKw(e){return we(e.tokenType)?Ue(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return C(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return we(e.tokenType)?Ue(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return C(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return C(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}}class We{constructor(e,s){this.dialect=e,this.cfg=s,this.params=new ee(this.cfg.params)}format(e){const s=this.parse(e);return this.formatAst(s).trimEnd()}parse(e){return function(e){let s={};const t=new Ne((t=>{return[...(r=e.tokenize(t,s),r.map(ae).map(oe).map(_e).map(Te).map(le)),p(t.length)];var r})),r=new De(Pe.fromCompiled(fe),{lexer:t});return{parse:(e,t)=>{s=t;const{results:n}=r.feed(e);if(1===n.length)return n[0];throw 0===n.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(n,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map((e=>this.formatStatement(e))).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const s=new Ve({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new Me(new Ge((t=this.cfg,"tabularLeft"===t.indentStyle||"tabularRight"===t.indentStyle?" ".repeat(10):t.useTabs?"\t":" ".repeat(t.tabWidth))))}).format(e.children);var t;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?s.add(be.NEWLINE,";"):s.add(be.NO_NEWLINE,";")),s.toString()}}class He extends Error{}function ve(e){const s=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const r of s)if(r in e)throw new He(`${r} config is no more supported.`);if(e.expressionWidth<=0)throw new He(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var t;if(e.params&&!((t=e.params)instanceof Array?t:Object.values(t)).every((e=>"string"==typeof e))&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every((e=>""!==e.regex));return!0}(e.paramTypes))throw new He("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}const ke={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},Ke=(e,s)=>{var{dialect:t}=s,r=function(e,s){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&s.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)s.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]])}return t}(s,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const n=ve(Object.assign(Object.assign({},ke),r));return new We((e=>{let s=j.get(e);return s||(s=Q(e),j.set(e,s)),s})(t),n).format(e)};export{He as ConfigError,y as duckdb,s as expandPhrases,Ke as formatDialect};
|
|
1
|
+
import{r as e}from"./index-pd33Ugfy.js";const s=e=>e.flatMap(t),t=e=>T(n(e)).map(r),r=e=>e.replace(/ +/g," ").trim(),n=e=>({type:"mandatory_block",items:E(e,0)[0]}),E=(e,s,t)=>{const r=[];for(;e[s];){const[n,E]=i(e,s);if(r.push(n),"|"!==e[s=E]){if("}"===e[s]||"]"===e[s]){if(t!==e[s])throw new Error(`Unbalanced parenthesis in: ${e}`);return[r,++s]}if(s===e.length){if(t)throw new Error(`Unbalanced parenthesis in: ${e}`);return[r,s]}throw new Error(`Unexpected "${e[s]}"`)}s++}return[r,s]},i=(e,s)=>{const t=[];for(;;){const[r,n]=a(e,s);if(!r)break;t.push(r),s=n}return 1===t.length?[t[0],s]:[{type:"concatenation",items:t},s]},a=(e,s)=>{if("{"===e[s])return o(e,s+1);if("["===e[s])return _(e,s+1);{let t="";for(;e[s]&&/[A-Za-z0-9_ ]/.test(e[s]);)t+=e[s],s++;return[t,s]}},o=(e,s)=>{const[t,r]=E(e,s,"}");return[{type:"mandatory_block",items:t},r]},_=(e,s)=>{const[t,r]=E(e,s,"]");return[{type:"optional_block",items:t},r]},T=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(T).reduce(l,[""]);if("mandatory_block"===e.type)return e.items.flatMap(T);if("optional_block"===e.type)return["",...e.items.flatMap(T)];throw new Error(`Unknown node type: ${e}`)},l=(e,s)=>{const t=[];for(const r of e)for(const e of s)t.push(r+e);return t};var R,A;(A=R=R||(R={})).QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",A.IDENTIFIER="IDENTIFIER",A.STRING="STRING",A.VARIABLE="VARIABLE",A.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",A.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",A.RESERVED_KEYWORD="RESERVED_KEYWORD",A.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",A.RESERVED_PHRASE="RESERVED_PHRASE",A.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",A.RESERVED_CLAUSE="RESERVED_CLAUSE",A.RESERVED_SELECT="RESERVED_SELECT",A.RESERVED_JOIN="RESERVED_JOIN",A.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",A.ARRAY_KEYWORD="ARRAY_KEYWORD",A.CASE="CASE",A.END="END",A.WHEN="WHEN",A.ELSE="ELSE",A.THEN="THEN",A.LIMIT="LIMIT",A.BETWEEN="BETWEEN",A.AND="AND",A.OR="OR",A.XOR="XOR",A.OPERATOR="OPERATOR",A.COMMA="COMMA",A.ASTERISK="ASTERISK",A.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",A.OPEN_PAREN="OPEN_PAREN",A.CLOSE_PAREN="CLOSE_PAREN",A.LINE_COMMENT="LINE_COMMENT",A.BLOCK_COMMENT="BLOCK_COMMENT",A.DISABLE_COMMENT="DISABLE_COMMENT",A.NUMBER="NUMBER",A.NAMED_PARAMETER="NAMED_PARAMETER",A.QUOTED_PARAMETER="QUOTED_PARAMETER",A.NUMBERED_PARAMETER="NUMBERED_PARAMETER",A.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",A.CUSTOM_PARAMETER="CUSTOM_PARAMETER",A.DELIMITER="DELIMITER",A.EOF="EOF";const p=e=>({type:R.EOF,raw:"«EOF»",text:"«EOF»",start:e});p(1/0);const S=e=>s=>s.type===e.type&&s.text===e.text;S({text:"ARRAY",type:R.RESERVED_DATA_TYPE}),S({text:"BY",type:R.RESERVED_KEYWORD}),S({text:"SET",type:R.RESERVED_CLAUSE}),S({text:"STRUCT",type:R.RESERVED_DATA_TYPE}),S({text:"WINDOW",type:R.RESERVED_CLAUSE}),S({text:"VALUES",type:R.RESERVED_CLAUSE});const I=s(["SELECT [ALL | DISTINCT]"]),N=s(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL]","HAVING","WINDOW","PARTITION BY","ORDER BY [ALL]","LIMIT","OFFSET","USING SAMPLE","QUALIFY","INSERT [OR REPLACE] INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),c=s(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),m=s(["UPDATE","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","TRUNCATE","ALTER TABLE","ADD [COLUMN] [IF NOT EXISTS]","ADD PRIMARY KEY","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","RENAME [COLUMN]","RENAME TO","SET [DATA] TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","CREATE [OR REPLACE] [TEMPORARY | TEMP] {MACRO | FUNCTION}","DROP MACRO [TABLE] [IF EXISTS]","DROP FUNCTION [IF EXISTS]","CREATE [UNIQUE] INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","CREATE [OR REPLACE] SCHEMA [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","CREATE [OR REPLACE] [PERSISTENT | TEMPORARY] SECRET [IF NOT EXISTS]","DROP [PERSISTENT | TEMPORARY] SECRET [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] SEQUENCE","DROP SEQUENCE [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","DROP VIEW [IF EXISTS]","ALTER VIEW","CREATE TYPE","DROP TYPE [IF EXISTS]","ANALYZE","ATTACH [DATABASE] [IF NOT EXISTS]","DETACH [DATABASE] [IF EXISTS]","CALL","[FORCE] CHECKPOINT","COMMENT ON [TABLE | COLUMN | VIEW | INDEX | SEQUENCE | TYPE | MACRO | MACRO TABLE]","COPY [FROM DATABASE]","DESCRIBE","EXPORT DATABASE","IMPORT DATABASE","INSTALL","LOAD","PIVOT","PIVOT_WIDER","UNPIVOT","EXPLAIN [ANALYZE]","SET {LOCAL | SESSION | GLOBAL}","RESET [LOCAL | SESSION | GLOBAL]","{SET | RESET} VARIABLE","SUMMARIZE","BEGIN TRANSACTION","ROLLBACK","COMMIT","ABORT","USE","VACUUM [ANALYZE]","PREPARE","EXECUTE","DEALLOCATE [PREPARE]"]),h=s(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),u=s(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{NATURAL | ASOF} [INNER] JOIN","{NATURAL | ASOF} {LEFT | RIGHT | FULL} [OUTER] JOIN","POSITIONAL JOIN","ANTI JOIN","SEMI JOIN"]),O=s(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM","TIMESTAMP WITH TIME ZONE"]),y={name:"duckdb",tokenizerOptions:{reservedSelect:I,reservedClauses:[...N,...c,...m],reservedSetOperations:h,reservedJoins:u,reservedPhrases:O,supportsXor:!0,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ATTACH","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","DEFAULT","DEFERRABLE","DESC","DESCRIBE","DETACH","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP","HAVING","IN","INITIALLY","INTERSECT","INTO","LATERAL","LEADING","LIMIT","NOT","NULL","OFFSET","ON","ONLY","OR","ORDER","PIVOT","PIVOT_LONGER","PIVOT_WIDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SHOW","SOME","SUMMARIZE","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","UNPIVOT","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BIT","BITSTRING","BLOB","BOOL","BOOLEAN","BPCHAR","BYTEA","CHAR","DATE","DATETIME","DEC","DECIMAL","DOUBLE","ENUM","FLOAT","FLOAT4","FLOAT8","GUID","HUGEINT","INET","INT","INT1","INT128","INT16","INT2","INT32","INT4","INT64","INT8","INTEGER","INTEGRAL","INTERVAL","JSON","LIST","LOGICAL","LONG","MAP","NUMERIC","NVARCHAR","OID","REAL","ROW","SHORT","SIGNED","SMALLINT","STRING","STRUCT","TEXT","TIME","TIMESTAMP_MS","TIMESTAMP_NS","TIMESTAMP_S","TIMESTAMP_US","TIMESTAMP","TIMESTAMPTZ","TIMETZ","TINYINT","UBIGINT","UHUGEINT","UINT128","UINT16","UINT32","UINT64","UINT8","UINTEGER","UNION","USMALLINT","UTINYINT","UUID","VARBINARY","VARCHAR"],reservedFunctionNames:["ABS","ACOS","ADD","ADD_PARQUET_KEY","AGE","AGGREGATE","ALIAS","ALL_PROFILING_OUTPUT","ANY_VALUE","APPLY","APPROX_COUNT_DISTINCT","APPROX_QUANTILE","ARBITRARY","ARGMAX","ARGMIN","ARG_MAX","ARG_MAX_NULL","ARG_MIN","ARG_MIN_NULL","ARRAY_AGG","ARRAY_AGGR","ARRAY_AGGREGATE","ARRAY_APPEND","ARRAY_APPLY","ARRAY_CAT","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COSINE_SIMILARITY","ARRAY_CROSS_PRODUCT","ARRAY_DISTANCE","ARRAY_DISTINCT","ARRAY_DOT_PRODUCT","ARRAY_EXTRACT","ARRAY_FILTER","ARRAY_GRADE_UP","ARRAY_HAS","ARRAY_HAS_ALL","ARRAY_HAS_ANY","ARRAY_INDEXOF","ARRAY_INNER_PRODUCT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_POP_BACK","ARRAY_POP_FRONT","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUSH_BACK","ARRAY_PUSH_FRONT","ARRAY_REDUCE","ARRAY_RESIZE","ARRAY_REVERSE","ARRAY_REVERSE_SORT","ARRAY_SELECT","ARRAY_SLICE","ARRAY_SORT","ARRAY_TO_JSON","ARRAY_TO_STRING","ARRAY_TRANSFORM","ARRAY_UNIQUE","ARRAY_VALUE","ARRAY_WHERE","ARRAY_ZIP","ARROW_SCAN","ARROW_SCAN_DUMB","ASCII","ASIN","ATAN","ATAN2","AVG","BASE64","BIN","BITSTRING","BITSTRING_AGG","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_POSITION","BIT_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CBRT","CEIL","CEILING","CENTURY","CHECKPOINT","CHR","COLLATIONS","COL_DESCRIPTION","COMBINE","CONCAT","CONCAT_WS","CONSTANT_OR_NULL","CONTAINS","COPY_DATABASE","CORR","COS","COT","COUNT","COUNT_IF","COUNT_STAR","COVAR_POP","COVAR_SAMP","CREATE_SORT_KEY","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_DATE","CURRENT_LOCALTIME","CURRENT_LOCALTIMESTAMP","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SETTING","CURRENT_USER","CURRVAL","DAMERAU_LEVENSHTEIN","DATABASE_LIST","DATABASE_SIZE","DATEDIFF","DATEPART","DATESUB","DATETRUNC","DATE_ADD","DATE_DIFF","DATE_PART","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECADE","DECODE","DEGREES","DISABLE_CHECKPOINT_ON_SHUTDOWN","DISABLE_OBJECT_CACHE","DISABLE_OPTIMIZER","DISABLE_PRINT_PROGRESS_BAR","DISABLE_PROFILE","DISABLE_PROFILING","DISABLE_PROGRESS_BAR","DISABLE_VERIFICATION","DISABLE_VERIFY_EXTERNAL","DISABLE_VERIFY_FETCH_ROW","DISABLE_VERIFY_PARALLELISM","DISABLE_VERIFY_SERIALIZER","DIVIDE","DUCKDB_COLUMNS","DUCKDB_CONSTRAINTS","DUCKDB_DATABASES","DUCKDB_DEPENDENCIES","DUCKDB_EXTENSIONS","DUCKDB_FUNCTIONS","DUCKDB_INDEXES","DUCKDB_KEYWORDS","DUCKDB_MEMORY","DUCKDB_OPTIMIZERS","DUCKDB_SCHEMAS","DUCKDB_SECRETS","DUCKDB_SEQUENCES","DUCKDB_SETTINGS","DUCKDB_TABLES","DUCKDB_TEMPORARY_FILES","DUCKDB_TYPES","DUCKDB_VIEWS","EDIT","EDITDIST3","ELEMENT_AT","ENABLE_CHECKPOINT_ON_SHUTDOWN","ENABLE_OBJECT_CACHE","ENABLE_OPTIMIZER","ENABLE_PRINT_PROGRESS_BAR","ENABLE_PROFILE","ENABLE_PROFILING","ENABLE_PROGRESS_BAR","ENABLE_VERIFICATION","ENCODE","ENDS_WITH","ENTROPY","ENUM_CODE","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","ENUM_RANGE_BOUNDARY","EPOCH","EPOCH_MS","EPOCH_NS","EPOCH_US","ERA","ERROR","EVEN","EXP","FACTORIAL","FAVG","FDIV","FILTER","FINALIZE","FIRST","FLATTEN","FLOOR","FMOD","FORCE_CHECKPOINT","FORMAT","FORMATREADABLEDECIMALSIZE","FORMATREADABLESIZE","FORMAT_BYTES","FORMAT_PG_TYPE","FORMAT_TYPE","FROM_BASE64","FROM_BINARY","FROM_HEX","FROM_JSON","FROM_JSON_STRICT","FSUM","FUNCTIONS","GAMMA","GCD","GENERATE_SERIES","GENERATE_SUBSCRIPTS","GEN_RANDOM_UUID","GEOMEAN","GEOMETRIC_MEAN","GETENV","GET_BIT","GET_BLOCK_SIZE","GET_CURRENT_TIME","GET_CURRENT_TIMESTAMP","GLOB","GRADE_UP","GREATEST","GREATEST_COMMON_DIVISOR","GROUP_CONCAT","HAMMING","HASH","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HEX","HISTOGRAM","HOUR","ICU_CALENDAR_NAMES","ICU_SORT_KEY","ILIKE_ESCAPE","IMPORT_DATABASE","INDEX_SCAN","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","INSTR","IN_SEARCH_PATH","ISFINITE","ISINF","ISNAN","ISODOW","ISOYEAR","JACCARD","JARO_SIMILARITY","JARO_WINKLER_SIMILARITY","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_CONTAINS","JSON_DESERIALIZE_SQL","JSON_EXECUTE_SERIALIZED_SQL","JSON_EXTRACT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_EXTRACT_STRING","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_GROUP_STRUCTURE","JSON_KEYS","JSON_MERGE_PATCH","JSON_OBJECT","JSON_QUOTE","JSON_SERIALIZE_PLAN","JSON_SERIALIZE_SQL","JSON_STRUCTURE","JSON_TRANSFORM","JSON_TRANSFORM_STRICT","JSON_TYPE","JSON_VALID","JULIAN","KAHAN_SUM","KURTOSIS","KURTOSIS_POP","LAST","LAST_DAY","LCASE","LCM","LEAST","LEAST_COMMON_MULTIPLE","LEFT","LEFT_GRAPHEME","LEN","LENGTH","LENGTH_GRAPHEME","LEVENSHTEIN","LGAMMA","LIKE_ESCAPE","LIST","LISTAGG","LIST_AGGR","LIST_AGGREGATE","LIST_ANY_VALUE","LIST_APPEND","LIST_APPLY","LIST_APPROX_COUNT_DISTINCT","LIST_AVG","LIST_BIT_AND","LIST_BIT_OR","LIST_BIT_XOR","LIST_BOOL_AND","LIST_BOOL_OR","LIST_CAT","LIST_CONCAT","LIST_CONTAINS","LIST_COSINE_SIMILARITY","LIST_COUNT","LIST_DISTANCE","LIST_DISTINCT","LIST_DOT_PRODUCT","LIST_ELEMENT","LIST_ENTROPY","LIST_EXTRACT","LIST_FILTER","LIST_FIRST","LIST_GRADE_UP","LIST_HAS","LIST_HAS_ALL","LIST_HAS_ANY","LIST_HISTOGRAM","LIST_INDEXOF","LIST_INNER_PRODUCT","LIST_INTERSECT","LIST_KURTOSIS","LIST_KURTOSIS_POP","LIST_LAST","LIST_MAD","LIST_MAX","LIST_MEDIAN","LIST_MIN","LIST_MODE","LIST_PACK","LIST_POSITION","LIST_PREPEND","LIST_PRODUCT","LIST_REDUCE","LIST_RESIZE","LIST_REVERSE","LIST_REVERSE_SORT","LIST_SELECT","LIST_SEM","LIST_SKEWNESS","LIST_SLICE","LIST_SORT","LIST_STDDEV_POP","LIST_STDDEV_SAMP","LIST_STRING_AGG","LIST_SUM","LIST_TRANSFORM","LIST_UNIQUE","LIST_VALUE","LIST_VAR_POP","LIST_VAR_SAMP","LIST_WHERE","LIST_ZIP","LN","LOG","LOG10","LOG2","LOWER","LPAD","LSMODE","LTRIM","MAD","MAKE_DATE","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_EXTRACT","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","MAX","MAX_BY","MD5","MD5_NUMBER","MD5_NUMBER_LOWER","MD5_NUMBER_UPPER","MEAN","MEDIAN","METADATA_INFO","MICROSECOND","MILLENNIUM","MILLISECOND","MIN","MINUTE","MIN_BY","MISMATCHES","MOD","MODE","MONTH","MONTHNAME","MULTIPLY","NEXTAFTER","NEXTVAL","NFC_NORMALIZE","NOT_ILIKE_ESCAPE","NOT_LIKE_ESCAPE","NOW","NULLIF","OBJ_DESCRIPTION","OCTET_LENGTH","ORD","PARQUET_FILE_METADATA","PARQUET_KV_METADATA","PARQUET_METADATA","PARQUET_SCAN","PARQUET_SCHEMA","PARSE_DIRNAME","PARSE_DIRPATH","PARSE_FILENAME","PARSE_PATH","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IS_OTHER_TEMP_SCHEMA","PG_MY_TEMP_SCHEMA","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_POSTMASTER_START_TIME","PG_SIZE_PRETTY","PG_TABLE_IS_VISIBLE","PG_TIMEZONE_NAMES","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PI","PLATFORM","POSITION","POW","POWER","PRAGMA_COLLATIONS","PRAGMA_DATABASE_SIZE","PRAGMA_METADATA_INFO","PRAGMA_PLATFORM","PRAGMA_SHOW","PRAGMA_STORAGE_INFO","PRAGMA_TABLE_INFO","PRAGMA_USER_AGENT","PRAGMA_VERSION","PREFIX","PRINTF","PRODUCT","QUANTILE","QUANTILE_CONT","QUANTILE_DISC","QUARTER","RADIANS","RANDOM","RANGE","READFILE","READ_BLOB","READ_CSV","READ_CSV_AUTO","READ_JSON","READ_JSON_AUTO","READ_JSON_OBJECTS","READ_JSON_OBJECTS_AUTO","READ_NDJSON","READ_NDJSON_AUTO","READ_NDJSON_OBJECTS","READ_PARQUET","READ_TEXT","REDUCE","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_FULL_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REPEAT","REPEAT_ROW","REPLACE","RESERVOIR_QUANTILE","REVERSE","RIGHT","RIGHT_GRAPHEME","ROUND","ROUNDBANKERS","ROUND_EVEN","ROW","ROW_TO_JSON","RPAD","RTRIM","SECOND","SEM","SEQ_SCAN","SESSION_USER","SETSEED","SET_BIT","SHA256","SHA3","SHELL_ADD_SCHEMA","SHELL_ESCAPE_CRNL","SHELL_IDQUOTE","SHELL_MODULE_SCHEMA","SHELL_PUTSNL","SHOBJ_DESCRIPTION","SHOW","SHOW_DATABASES","SHOW_TABLES","SHOW_TABLES_EXPANDED","SIGN","SIGNBIT","SIN","SKEWNESS","SNIFF_CSV","SPLIT","SPLIT_PART","SQL_AUTO_COMPLETE","SQRT","STARTS_WITH","STATS","STDDEV","STDDEV_POP","STDDEV_SAMP","STORAGE_INFO","STRFTIME","STRING_AGG","STRING_SPLIT","STRING_SPLIT_REGEX","STRING_TO_ARRAY","STRIP_ACCENTS","STRLEN","STRPOS","STRPTIME","STRUCT_EXTRACT","STRUCT_INSERT","STRUCT_PACK","STR_SPLIT","STR_SPLIT_REGEX","SUBSTR","SUBSTRING","SUBSTRING_GRAPHEME","SUBTRACT","SUFFIX","SUM","SUMKAHAN","SUMMARY","SUM_NO_OVERFLOW","TABLE_INFO","TAN","TEST_ALL_TYPES","TEST_VECTOR_TYPES","TIMEZONE","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIME_BUCKET","TODAY","TO_BASE","TO_BASE64","TO_BINARY","TO_CENTURIES","TO_DAYS","TO_DECADES","TO_HEX","TO_HOURS","TO_JSON","TO_MICROSECONDS","TO_MILLENNIA","TO_MILLISECONDS","TO_MINUTES","TO_MONTHS","TO_SECONDS","TO_TIMESTAMP","TO_WEEKS","TO_YEARS","TRANSACTION_TIMESTAMP","TRANSLATE","TRIM","TRUNC","TRY_STRPTIME","TXID_CURRENT","TYPEOF","UCASE","UNBIN","UNHEX","UNICODE","UNION_EXTRACT","UNION_TAG","UNION_VALUE","UNNEST","UNPIVOT_LIST","UPPER","USER","USER_AGENT","UUID","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_TYPE","VERIFY_EXTERNAL","VERIFY_FETCH_ROW","VERIFY_PARALLELISM","VERIFY_SERIALIZER","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","WHICH_SECRET","WRITEFILE","XOR","YEAR","YEARWEEK","CAST","COALESCE","NULL","RANK","ROW_NUMBER"],nestedBlockComments:!0,extraParens:["[]","{}"],stringTypes:["$$","''-qq",{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{rest:"$"},paramTypes:{positional:!0,numbered:["$"],quoted:["$"]},operators:["//","%","**","^","!","&","|","~","<<",">>","::","==","->",":",":=","=>","~~","!~~","~~*","!~~*","~~~","~","!~","~*","!~*","^@","||",">>=","<<="]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...c,...m],tabularOnelineClauses:m}},L=e=>e[e.length-1],d=e=>e.sort(((e,s)=>s.length-e.length||e.localeCompare(s))),C=e=>e.replace(/\s+/gu," "),f=e=>/\n/.test(e),D=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),P=/\s+/uy,b=e=>new RegExp(`(?:${e})`,"uy"),x=e=>e.split("").map((e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`)).join(""),M=(e,s=[])=>{const t="open"===e?0:1,r=["()",...s].map((e=>e[t]));return b(r.map(D).join("|"))},$=e=>b(`${d(e).map(D).join("|")}`),g=(e,s={})=>{if(0===e.length)return/^\b$/u;const t=(({rest:e,dashes:s})=>e||s?`(?![${e||""}${s?"-":""}])`:"")(s),r=d(e).map(D).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${r})${t}\\b`,"iuy")},U=(e,s)=>{if(!e.length)return;const t=e.map(D).join("|");return b(`(?:${t})(?:${s})`)},w={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},s=Object.entries(e).map((([e,s])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,D(e)).replace(/{right}/g,D(s)))),t=D(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${t}])(?:(?!\k<tag>').)*?\k<tag>`}|${s.join("|")})'`})()},B=e=>"string"==typeof e?w[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:s})=>`(?:${e.map(x).join("|")}${s?"":"|"})`)(e)+w[e.quote],G=e=>e.map(B).join("|"),Y=e=>b(G(e)),F=(e={})=>b(V(e)),V=({first:e,rest:s,dashes:t,allowFirstCharNumber:r}={})=>{const n="\\p{Alphabetic}\\p{Mark}_",E="\\p{Decimal_Number}",i=D(null!=e?e:""),a=D(null!=s?s:""),o=r?`[${n}${E}${i}][${n}${E}${a}]*`:`[${n}${i}][${n}${E}${a}]*`;return t?(e=>e+"(?:-"+e+")*")(o):o};function W(e,s){const t=e.slice(0,s).split(/\n/);return{line:t.length,col:t[t.length-1].length+1}}class H{constructor(e,s){this.rules=e,this.dialectName=s,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const s=[];let t;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(t=this.getNextToken(),!t)throw this.createParseError();s.push(Object.assign(Object.assign({},t),{precedingWhitespace:e}))}}return s}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:s,col:t}=W(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${s} column ${t}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){P.lastIndex=this.index;const e=P.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const s=this.match(e);if(s)return s}}match(e){e.regex.lastIndex=this.index;const s=e.regex.exec(this.input);if(s){const t=s[0],r={type:e.type,raw:t,text:e.text?e.text(t):t,start:this.index};return e.key&&(r.key=e.key(t)),this.index+=t.length,r}}}const v=/\/\*/uy,k=/[\s\S]/uy,K=/\*\//uy;class X{constructor(){this.lastIndex=0}exec(e){let s,t="",r=0;if(!(s=this.matchSection(v,e)))return null;for(t+=s,r++;r>0;)if(s=this.matchSection(v,e))t+=s,r++;else if(s=this.matchSection(K,e))t+=s,r--;else{if(!(s=this.matchSection(k,e)))return null;t+=s}return[t]}matchSection(e,s){e.lastIndex=this.lastIndex;const t=e.exec(s);return t&&(this.lastIndex+=t[0].length),t?t[0]:null}}class J{constructor(e,s){this.cfg=e,this.dialectName=s,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,s){const t=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,s),...this.rulesAfterParams],r=new H(t,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(r):r}buildRulesBeforeParams(e){var s,t,r;return this.validRules([{type:R.BLOCK_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:R.BLOCK_COMMENT,regex:e.nestedBlockComments?new X:/(\/\*[^]*?\*\/)/uy},{type:R.LINE_COMMENT,regex:(r=null!==(s=e.lineCommentTypes)&&void 0!==s?s:["--"],new RegExp(`(?:${r.map(D).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:R.QUOTED_IDENTIFIER,regex:Y(e.identTypes)},{type:R.NUMBER,regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:R.RESERVED_PHRASE,regex:g(null!==(t=e.reservedPhrases)&&void 0!==t?t:[],e.identChars),text:q},{type:R.CASE,regex:/CASE\b/iuy,text:q},{type:R.END,regex:/END\b/iuy,text:q},{type:R.BETWEEN,regex:/BETWEEN\b/iuy,text:q},{type:R.LIMIT,regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:q},{type:R.RESERVED_CLAUSE,regex:g(e.reservedClauses,e.identChars),text:q},{type:R.RESERVED_SELECT,regex:g(e.reservedSelect,e.identChars),text:q},{type:R.RESERVED_SET_OPERATION,regex:g(e.reservedSetOperations,e.identChars),text:q},{type:R.WHEN,regex:/WHEN\b/iuy,text:q},{type:R.ELSE,regex:/ELSE\b/iuy,text:q},{type:R.THEN,regex:/THEN\b/iuy,text:q},{type:R.RESERVED_JOIN,regex:g(e.reservedJoins,e.identChars),text:q},{type:R.AND,regex:/AND\b/iuy,text:q},{type:R.OR,regex:/OR\b/iuy,text:q},{type:R.XOR,regex:e.supportsXor?/XOR\b/iuy:void 0,text:q},...e.operatorKeyword?[{type:R.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:R.RESERVED_FUNCTION_NAME,regex:g(e.reservedFunctionNames,e.identChars),text:q},{type:R.RESERVED_DATA_TYPE,regex:g(e.reservedDataTypes,e.identChars),text:q},{type:R.RESERVED_KEYWORD,regex:g(e.reservedKeywords,e.identChars),text:q}])}buildRulesAfterParams(e){var s,t,r;return this.validRules([{type:R.VARIABLE,regex:e.variableTypes?(r=e.variableTypes,b(r.map((e=>"regex"in e?e.regex:B(e))).join("|"))):void 0},{type:R.STRING,regex:Y(e.stringTypes)},{type:R.IDENTIFIER,regex:F(e.identChars)},{type:R.DELIMITER,regex:/[;]/uy},{type:R.COMMA,regex:/[,]/y},{type:R.OPEN_PAREN,regex:M("open",e.extraParens)},{type:R.CLOSE_PAREN,regex:M("close",e.extraParens)},{type:R.OPERATOR,regex:$(["+","-","/",">","<","=","<>","<=",">=","!=",...null!==(s=e.operators)&&void 0!==s?s:[]])},{type:R.ASTERISK,regex:/[*]/uy},{type:R.PROPERTY_ACCESS_OPERATOR,regex:$([".",...null!==(t=e.propertyAccessOperators)&&void 0!==t?t:[]])}])}buildParamRules(e,s){var t,r,n,E,i;const a={named:(null==s?void 0:s.named)||(null===(t=e.paramTypes)||void 0===t?void 0:t.named)||[],quoted:(null==s?void 0:s.quoted)||(null===(r=e.paramTypes)||void 0===r?void 0:r.quoted)||[],numbered:(null==s?void 0:s.numbered)||(null===(n=e.paramTypes)||void 0===n?void 0:n.numbered)||[],positional:"boolean"==typeof(null==s?void 0:s.positional)?s.positional:null===(E=e.paramTypes)||void 0===E?void 0:E.positional,custom:(null==s?void 0:s.custom)||(null===(i=e.paramTypes)||void 0===i?void 0:i.custom)||[]};return this.validRules([{type:R.NAMED_PARAMETER,regex:U(a.named,V(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:R.QUOTED_PARAMETER,regex:U(a.quoted,G(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:s})=>e.replace(new RegExp(D("\\"+s),"gu"),s))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:R.NUMBERED_PARAMETER,regex:U(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:R.POSITIONAL_PARAMETER,regex:a.positional?/[?]/y:void 0},...a.custom.map((e=>{var s;return{type:R.CUSTOM_PARAMETER,regex:b(e.regex),key:null!==(s=e.key)&&void 0!==s?s:e=>e}}))])}validRules(e){return e.filter((e=>Boolean(e.regex)))}}const q=e=>C(e.toUpperCase()),j=new Map,Q=e=>({tokenizer:new J(e.tokenizerOptions,e.name),formatOptions:Z(e.formatOptions)}),Z=e=>{var s;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map((e=>[e,!0]))),tabularOnelineClauses:Object.fromEntries((null!==(s=e.tabularOnelineClauses)&&void 0!==s?s:e.onelineClauses).map((e=>[e,!0])))}};function z(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}class ee{constructor(e){this.params=e,this.index=0}get({key:e,text:s}){return this.params?e?this.params[e]:this.params[this.index++]:s}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}}var se,te,re,ne,Ee={exports:{}};const ie=e((se||(se=1,re=Ee.exports,ne=function(){function e(s,t,r){return this.id=++e.highestId,this.name=s,this.symbols=t,this.postprocess=r,this}function s(e,s,t,r){this.rule=e,this.dot=s,this.reference=t,this.data=[],this.wantedBy=r,this.isComplete=this.dot===e.symbols.length}function t(e,s){this.grammar=e,this.index=s,this.states=[],this.wants={},this.scannable=[],this.completed={}}function r(e,s){this.rules=e,this.start=s||this.rules[0].name;var t=this.byName={};this.rules.forEach((function(e){t.hasOwnProperty(e.name)||(t[e.name]=[]),t[e.name].push(e)}))}function n(){this.reset("")}function E(e,s,E){if(e instanceof r){var i=e;E=s}else i=r.fromCompiled(e,s);for(var a in this.grammar=i,this.options={keepHistory:!1,lexer:i.lexer||new n},E||{})this.options[a]=E[a];this.lexer=this.options.lexer,this.lexerState=void 0;var o=new t(i,0);this.table=[o],o.wants[i.start]=[],o.predict(i.start),o.process(),this.current=0}function i(e){var s=typeof e;if("string"===s)return e;if("object"===s){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var s=void 0===e?this.symbols.map(i).join(" "):this.symbols.slice(0,e).map(i).join(" ")+" ● "+this.symbols.slice(e).map(i).join(" ");return this.name+" → "+s},s.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},s.prototype.nextState=function(e){var t=new s(this.rule,this.dot+1,this.reference,this.wantedBy);return t.left=this,t.right=e,t.isComplete&&(t.data=t.build(),t.right=void 0),t},s.prototype.build=function(){var e=[],s=this;do{e.push(s.right.data),s=s.left}while(s.left);return e.reverse(),e},s.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,E.fail))},t.prototype.process=function(e){for(var s=this.states,t=this.wants,r=this.completed,n=0;n<s.length;n++){var i=s[n];if(i.isComplete){if(i.finish(),i.data!==E.fail){for(var a=i.wantedBy,o=a.length;o--;){var _=a[o];this.complete(_,i)}if(i.reference===this.index){var T=i.rule.name;(this.completed[T]=this.completed[T]||[]).push(i)}}}else{if("string"!=typeof(T=i.rule.symbols[i.dot])){this.scannable.push(i);continue}if(t[T]){if(t[T].push(i),r.hasOwnProperty(T)){var l=r[T];for(o=0;o<l.length;o++){var R=l[o];this.complete(i,R)}}}else t[T]=[i],this.predict(T)}}},t.prototype.predict=function(e){for(var t=this.grammar.byName[e]||[],r=0;r<t.length;r++){var n=t[r],E=this.wants[e],i=new s(n,0,this.index,E);this.states.push(i)}},t.prototype.complete=function(e,s){var t=e.nextState(s);this.states.push(t)},r.fromCompiled=function(s,t){var n=s.Lexer;s.ParserStart&&(t=s.ParserStart,s=s.ParserRules);var E=new r(s=s.map((function(s){return new e(s.name,s.symbols,s.postprocess)})),t);return E.lexer=n,E},n.prototype.reset=function(e,s){this.buffer=e,this.index=0,this.line=s?s.line:1,this.lastLineBreak=s?-s.col:0},n.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},n.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},n.prototype.formatError=function(e,s){var t=this.buffer;if("string"==typeof t){var r=t.split("\n").slice(Math.max(0,this.line-5),this.line),n=t.indexOf("\n",this.index);-1===n&&(n=t.length);var E=this.index-this.lastLineBreak,i=String(this.line).length;return s+=" at line "+this.line+" col "+E+":\n\n",s+=r.map((function(e,s){return a(this.line-r.length+s+1,i)+" "+e}),this).join("\n"),s+="\n"+a("",i+E)+"^\n"}return s+" at index "+(this.index-1);function a(e,s){var t=String(e);return Array(s-t.length+1).join(" ")+t}},E.fail={},E.prototype.feed=function(e){var s,r=this.lexer;for(r.reset(e,this.lexerState);;){try{if(!(s=r.next()))break}catch(I){var E=new t(this.grammar,this.current+1);throw this.table.push(E),(o=new Error(this.reportLexerError(I))).offset=this.current,o.token=I.token,o}var i=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;E=new t(this.grammar,a),this.table.push(E);for(var o,_=void 0!==s.text?s.text:s.value,T=r.constructor===n?s.value:s,l=i.scannable,R=l.length;R--;){var A=l[R],p=A.rule.symbols[A.dot];if(p.test?p.test(T):p.type?p.type===s.type:p.literal===_){var S=A.nextState({data:T,token:s,isToken:!0,reference:a-1});E.states.push(S)}}if(E.process(),0===E.states.length)throw(o=new Error(this.reportError(s))).offset=this.current,o.token=s,o;this.options.keepHistory&&(i.lexerState=r.save()),this.current++}return i&&(this.lexerState=r.save()),this.results=this.finish(),this},E.prototype.reportLexerError=function(e){var s,t,r=e.token;return r?(s="input "+JSON.stringify(r.text[0])+" (lexer error)",t=this.lexer.formatError(r,"Syntax error")):(s="input (lexer error)",t=e.message),this.reportErrorCommon(t,s)},E.prototype.reportError=function(e){var s=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),t=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(t,s)},E.prototype.reportErrorCommon=function(e,s){var t=[];t.push(e);var r=this.table.length-2,n=this.table[r],E=n.states.filter((function(e){var s=e.rule.symbols[e.dot];return s&&"string"!=typeof s}));return 0===E.length?(t.push("Unexpected "+s+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(n.states,t)):(t.push("Unexpected "+s+". Instead, I was expecting to see one of the following:\n"),E.map((function(e){return this.buildFirstStateStack(e,[])||[e]}),this).forEach((function(e){var s=e[0],r=s.rule.symbols[s.dot],n=this.getSymbolDisplay(r);t.push("A "+n+" based on:"),this.displayStateStack(e,t)}),this)),t.push(""),t.join("\n")},E.prototype.displayStateStack=function(e,s){for(var t,r=0,n=0;n<e.length;n++){var E=e[n],i=E.rule.toString(E.dot);i===t?r++:(r>0&&s.push(" ^ "+r+" more lines identical to this"),r=0,s.push(" "+i)),t=i}},E.prototype.getSymbolDisplay=function(e){return function(e){var s=typeof e;if("string"===s)return e;if("object"===s){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},E.prototype.buildFirstStateStack=function(e,s){if(-1!==s.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var t=e.wantedBy[0],r=[e].concat(s),n=this.buildFirstStateStack(t,r);return null===n?null:[e].concat(n)},E.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},E.prototype.restore=function(e){var s=e.index;this.current=s,this.table[s]=e,this.table.splice(s+1),this.lexerState=e.lexerState,this.results=this.finish()},E.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},E.prototype.finish=function(){var e=[],s=this.grammar.start;return this.table[this.table.length-1].states.forEach((function(t){t.rule.name===s&&t.dot===t.rule.symbols.length&&0===t.reference&&t.data!==E.fail&&e.push(t)})),e.map((function(e){return e.data}))},{Parser:E,Grammar:r,Rule:e}},(te=Ee).exports?te.exports=ne():re.nearley=ne()),Ee.exports));const ae=(e,s,t)=>{if((r=e.type)===R.RESERVED_DATA_TYPE||r===R.RESERVED_KEYWORD||r===R.RESERVED_FUNCTION_NAME||r===R.RESERVED_PHRASE||r===R.RESERVED_CLAUSE||r===R.RESERVED_SELECT||r===R.RESERVED_SET_OPERATION||r===R.RESERVED_JOIN||r===R.ARRAY_KEYWORD||r===R.CASE||r===R.END||r===R.WHEN||r===R.ELSE||r===R.THEN||r===R.LIMIT||r===R.BETWEEN||r===R.AND||r===R.OR||r===R.XOR){const r=Re(t,s);if(r&&r.type===R.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:R.IDENTIFIER,text:e.raw});const n=Ae(t,s);if(n&&n.type===R.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:R.IDENTIFIER,text:e.raw})}var r;return e},oe=(e,s,t)=>{if(e.type===R.RESERVED_FUNCTION_NAME){const r=Ae(t,s);if(!r||!pe(r))return Object.assign(Object.assign({},e),{type:R.IDENTIFIER,text:e.raw})}return e},_e=(e,s,t)=>{if(e.type===R.RESERVED_DATA_TYPE){const r=Ae(t,s);if(r&&pe(r))return Object.assign(Object.assign({},e),{type:R.RESERVED_PARAMETERIZED_DATA_TYPE})}return e},Te=(e,s,t)=>{if(e.type===R.IDENTIFIER){const r=Ae(t,s);if(r&&Se(r))return Object.assign(Object.assign({},e),{type:R.ARRAY_IDENTIFIER})}return e},le=(e,s,t)=>{if(e.type===R.RESERVED_DATA_TYPE){const r=Ae(t,s);if(r&&Se(r))return Object.assign(Object.assign({},e),{type:R.ARRAY_KEYWORD})}return e},Re=(e,s)=>Ae(e,s,-1),Ae=(e,s,t=1)=>{let r=1;for(;e[s+r*t]&&Ie(e[s+r*t]);)r++;return e[s+r*t]},pe=e=>e.type===R.OPEN_PAREN&&"("===e.text,Se=e=>e.type===R.OPEN_PAREN&&"["===e.text,Ie=e=>e.type===R.BLOCK_COMMENT||e.type===R.LINE_COMMENT;class Ne{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,s){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:s,col:t}=W(this.input,e.start);return`Parse error at token: ${e.text} at line ${s} column ${t}`}has(e){return e in R}}var ce,me;function he(e){return e[0]}(me=ce=ce||(ce={})).statement="statement",me.clause="clause",me.set_operation="set_operation",me.function_call="function_call",me.parameterized_data_type="parameterized_data_type",me.array_subscript="array_subscript",me.property_access="property_access",me.parenthesis="parenthesis",me.between_predicate="between_predicate",me.case_expression="case_expression",me.case_when="case_when",me.case_else="case_else",me.limit_clause="limit_clause",me.all_columns_asterisk="all_columns_asterisk",me.literal="literal",me.identifier="identifier",me.keyword="keyword",me.data_type="data_type",me.parameter="parameter",me.operator="operator",me.comma="comma",me.line_comment="line_comment",me.block_comment="block_comment",me.disable_comment="disable_comment";const ue=new Ne((e=>[])),Oe=([[e]])=>e,ye=e=>({type:ce.keyword,tokenType:e.type,text:e.text,raw:e.raw}),Le=e=>({type:ce.data_type,text:e.text,raw:e.raw}),de=(e,{leading:s,trailing:t})=>((null==s?void 0:s.length)&&(e=Object.assign(Object.assign({},e),{leadingComments:s})),(null==t?void 0:t.length)&&(e=Object.assign(Object.assign({},e),{trailingComments:t})),e),Ce=(e,{leading:s,trailing:t})=>{if(null==s?void 0:s.length){const[t,...r]=e;e=[de(t,{leading:s}),...r]}if(null==t?void 0:t.length){const s=e.slice(0,-1),r=e[e.length-1];e=[...s,de(r,{trailing:t})]}return e},fe={Lexer:ue,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const s=e[e.length-1];return s&&!s.hasSemicolon?s.children.length>0?e:e.slice(0,-1):e}},{name:"statement$subexpression$1",symbols:[ue.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[ue.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[s]])=>({type:ce.statement,children:e,hasSemicolon:s.type===R.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,s])=>[...e,...s]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:Oe},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[ue.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:he},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[ue.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,s,t,r])=>{if(r){const[n,E]=r;return{type:ce.limit_clause,limitKw:de(ye(e),{trailing:s}),offset:t,count:E}}return{type:ce.limit_clause,limitKw:de(ye(e),{trailing:s}),count:t}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[ue.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[s,t]])=>({type:ce.clause,nameKw:ye(e),children:[s,...t]})},{name:"select_clause",symbols:[ue.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:ce.clause,nameKw:ye(e),children:[]})},{name:"all_columns_asterisk",symbols:[ue.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:ce.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"other_clause",symbols:[ue.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,s])=>({type:ce.clause,nameKw:ye(e),children:s})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"set_operation",symbols:[ue.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,s])=>({type:ce.set_operation,nameKw:ye(e),children:s})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:he},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,s])=>[e,...s]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,s])=>[e,...s]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,s])=>de(e,{trailing:s})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,s])=>de(s,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,s])=>de(s,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:Oe},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:Oe},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:Oe},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:Oe},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:Oe},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:Oe},{name:"array_subscript",symbols:[ue.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,s,t])=>({type:ce.array_subscript,array:de({type:ce.identifier,quoted:!1,text:e.text},{trailing:s}),parenthesis:t})},{name:"array_subscript",symbols:[ue.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,s,t])=>({type:ce.array_subscript,array:de(ye(e),{trailing:s}),parenthesis:t})},{name:"function_call",symbols:[ue.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,s,t])=>({type:ce.function_call,nameKw:de(ye(e),{trailing:s}),parenthesis:t})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,s,t])=>({type:ce.parenthesis,children:s,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,s,t])=>({type:ce.parenthesis,children:s,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,s,t])=>({type:ce.parenthesis,children:s,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",ue.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,s,t,r,[n]])=>({type:ce.property_access,object:de(e,{trailing:s}),operator:t.text,property:de(n,{leading:r})})},{name:"between_predicate",symbols:[ue.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",ue.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,s,t,r,n,E,i])=>({type:ce.between_predicate,betweenKw:ye(e),expr1:Ce(t,{leading:s,trailing:r}),andKw:ye(n),expr2:[de(i,{leading:E})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:he},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:e=>e[0].concat([e[1]])},{name:"case_expression",symbols:[ue.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",ue.has("END")?{type:"END"}:END],postprocess:([e,s,t,r,n])=>({type:ce.case_expression,caseKw:de(ye(e),{trailing:s}),endKw:ye(n),expr:t||[],clauses:r})},{name:"case_clause",symbols:[ue.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",ue.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,s,t,r,n,E])=>({type:ce.case_when,whenKw:de(ye(e),{trailing:s}),thenKw:de(ye(r),{trailing:n}),condition:t,result:E})},{name:"case_clause",symbols:[ue.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,s,t])=>({type:ce.case_else,elseKw:de(ye(e),{trailing:s}),result:t})},{name:"comma$subexpression$1",symbols:[ue.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:ce.comma})},{name:"asterisk$subexpression$1",symbols:[ue.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:ce.operator,text:e.text})},{name:"operator$subexpression$1",symbols:[ue.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:ce.operator,text:e.text})},{name:"identifier$subexpression$1",symbols:[ue.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[ue.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[ue.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:ce.identifier,quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[ue.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ue.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ue.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ue.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[ue.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:ce.parameter,key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[ue.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[ue.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:ce.literal,text:e.text})},{name:"keyword$subexpression$1",symbols:[ue.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[ue.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[ue.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>ye(e)},{name:"data_type$subexpression$1",symbols:[ue.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>Le(e)},{name:"data_type",symbols:[ue.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,s,t])=>({type:ce.parameterized_data_type,dataType:de(Le(e),{trailing:s}),parenthesis:t})},{name:"logic_operator$subexpression$1",symbols:[ue.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[ue.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[ue.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>ye(e)},{name:"other_keyword$subexpression$1",symbols:[ue.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[ue.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[ue.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[ue.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>ye(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[ue.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:ce.line_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[ue.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:ce.block_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[ue.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:ce.disable_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},{Parser:De,Grammar:Pe}=ie;var be,xe;(xe=be=be||(be={}))[xe.SPACE=0]="SPACE",xe[xe.NO_SPACE=1]="NO_SPACE",xe[xe.NO_NEWLINE=2]="NO_NEWLINE",xe[xe.NEWLINE=3]="NEWLINE",xe[xe.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",xe[xe.INDENT=5]="INDENT",xe[xe.SINGLE_INDENT=6]="SINGLE_INDENT";class Me{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const s of e)switch(s){case be.SPACE:this.items.push(be.SPACE);break;case be.NO_SPACE:this.trimHorizontalWhitespace();break;case be.NO_NEWLINE:this.trimWhitespace();break;case be.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(be.NEWLINE);break;case be.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(be.MANDATORY_NEWLINE);break;case be.INDENT:this.addIndentation();break;case be.SINGLE_INDENT:this.items.push(be.SINGLE_INDENT);break;default:this.items.push(s)}}trimHorizontalWhitespace(){for(;$e(L(this.items));)this.items.pop()}trimWhitespace(){for(;ge(L(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(L(this.items)){case be.NEWLINE:this.items.pop(),this.items.push(e);break;case be.MANDATORY_NEWLINE:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(be.SINGLE_INDENT)}toString(){return this.items.map((e=>this.itemToString(e))).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case be.SPACE:return" ";case be.NEWLINE:case be.MANDATORY_NEWLINE:return"\n";case be.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return e}}}const $e=e=>e===be.SPACE||e===be.SINGLE_INDENT,ge=e=>e===be.SPACE||e===be.SINGLE_INDENT||e===be.NEWLINE;function Ue(e,s){if("standard"===s)return e;let t=[];return e.length>=10&&e.includes(" ")&&([e,...t]=e.split(" ")),(e="tabularLeft"===s?e.padEnd(9," "):e.padStart(9," "))+["",...t].join(" ")}function we(e){return(e=>e===R.AND||e===R.OR||e===R.XOR)(e)||e===R.RESERVED_CLAUSE||e===R.RESERVED_SELECT||e===R.RESERVED_SET_OPERATION||e===R.RESERVED_JOIN||e===R.LIMIT}const Be="top-level";class Ge{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(Be)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&L(this.indentTypes)===Be&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==Be)break}}}class Ye extends Me{constructor(e){super(new Ge("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach((e=>this.addToLength(e))),this.length>this.expressionWidth)throw new Fe;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(e===be.MANDATORY_NEWLINE||e===be.NEWLINE)throw new Fe;e===be.INDENT||e===be.SINGLE_INDENT||e===be.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):e!==be.NO_NEWLINE&&e!==be.NO_SPACE||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class Fe extends Error{}class Ve{constructor({cfg:e,dialectCfg:s,params:t,layout:r,inline:n=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=s,this.inline=n,this.params=t,this.layout=r}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case ce.function_call:return this.formatFunctionCall(e);case ce.parameterized_data_type:return this.formatParameterizedDataType(e);case ce.array_subscript:return this.formatArraySubscript(e);case ce.property_access:return this.formatPropertyAccess(e);case ce.parenthesis:return this.formatParenthesis(e);case ce.between_predicate:return this.formatBetweenPredicate(e);case ce.case_expression:return this.formatCaseExpression(e);case ce.case_when:return this.formatCaseWhen(e);case ce.case_else:return this.formatCaseElse(e);case ce.clause:return this.formatClause(e);case ce.set_operation:return this.formatSetOperation(e);case ce.limit_clause:return this.formatLimitClause(e);case ce.all_columns_asterisk:return this.formatAllColumnsAsterisk(e);case ce.literal:return this.formatLiteral(e);case ce.identifier:return this.formatIdentifier(e);case ce.parameter:return this.formatParameter(e);case ce.operator:return this.formatOperator(e);case ce.comma:return this.formatComma(e);case ce.line_comment:return this.formatLineComment(e);case ce.block_comment:case ce.disable_comment:return this.formatBlockComment(e);case ce.data_type:return this.formatDataType(e);case ce.keyword:return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,(()=>{this.layout.add(this.showFunctionKw(e.nameKw))})),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,(()=>{this.layout.add(this.showDataType(e.dataType))})),this.formatNode(e.parenthesis)}formatArraySubscript(e){let s;switch(e.array.type){case ce.data_type:s=this.showDataType(e.array);break;case ce.keyword:s=this.showKw(e.array);break;default:s=this.showIdentifier(e.array)}this.withComments(e.array,(()=>{this.layout.add(s)})),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(be.NO_SPACE,e.operator),this.formatNode(e.property)}formatParenthesis(e){const s=this.formatInlineExpression(e.children);s?(this.layout.add(e.openParen),this.layout.add(...s.getLayoutItems()),this.layout.add(be.NO_SPACE,e.closeParen,be.SPACE)):(this.layout.add(e.openParen,be.NEWLINE),z(this.cfg)?(this.layout.add(be.INDENT),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(be.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(be.NEWLINE,be.INDENT,e.closeParen,be.SPACE))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),be.SPACE),this.layout=this.formatSubExpression(e.expr1),this.layout.add(be.NO_SPACE,be.SPACE,this.showNonTabularKw(e.andKw),be.SPACE),this.layout=this.formatSubExpression(e.expr2),this.layout.add(be.SPACE)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(be.NEWLINE,be.INDENT),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(be.NEWLINE,be.INDENT),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(be.NEWLINE,be.INDENT),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):z(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return z(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.nameKw),be.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(be.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.nameKw),be.SPACE),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.nameKw),be.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.nameKw),be.NEWLINE),this.layout.add(be.INDENT),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,(()=>{this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e.limitKw))})),this.layout.indentation.increaseTopLevel(),z(this.cfg)?this.layout.add(be.SPACE):this.layout.add(be.NEWLINE,be.INDENT),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(be.NO_SPACE,",",be.SPACE),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",be.SPACE)}formatLiteral(e){this.layout.add(e.text,be.SPACE)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),be.SPACE)}formatParameter(e){this.layout.add(this.params.get(e),be.SPACE)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(be.NO_SPACE,e):":"===e?this.layout.add(be.NO_SPACE,e,be.SPACE):this.layout.add(e,be.SPACE)}formatComma(e){this.inline?this.layout.add(be.NO_SPACE,",",be.SPACE):this.layout.add(be.NO_SPACE,",",be.NEWLINE,be.INDENT)}withComments(e,s){this.formatComments(e.leadingComments),s(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach((e=>{e.type===ce.line_comment?this.formatLineComment(e):this.formatBlockComment(e)}))}formatLineComment(e){f(e.precedingWhitespace||"")?this.layout.add(be.NEWLINE,be.INDENT,e.text,be.MANDATORY_NEWLINE,be.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(be.NO_NEWLINE,be.SPACE,e.text,be.MANDATORY_NEWLINE,be.INDENT):this.layout.add(e.text,be.MANDATORY_NEWLINE,be.INDENT)}formatBlockComment(e){e.type===ce.block_comment&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach((e=>{this.layout.add(be.NEWLINE,be.INDENT,e)})),this.layout.add(be.NEWLINE,be.INDENT)):this.layout.add(e.text,be.SPACE)}isMultilineBlockComment(e){return f(e.text)||f(e.precedingWhitespace||"")}isDocComment(e){const s=e.split(/\n/);return/^\/\*\*?$/.test(s[0])&&s.slice(1,s.length-1).every((e=>/^\s*\*/.test(e)))&&/^\s*\*\/$/.test(L(s))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map((e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e)):e.split(/\n/).map((e=>e.replace(/^\s*/,"")))}formatSubExpression(e){return new Ve({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(e)}formatInlineExpression(e){const s=this.params.getPositionalParameterIndex();try{return new Ve({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new Ye(this.cfg.expressionWidth),inline:!0}).format(e)}catch(t){if(t instanceof Fe)return void this.params.setPositionalParameterIndex(s);throw t}}formatKeywordNode(e){switch(e.tokenType){case R.RESERVED_JOIN:return this.formatJoin(e);case R.AND:case R.OR:case R.XOR:return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){z(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e),be.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e),be.SPACE)}formatKeyword(e){this.layout.add(this.showKw(e),be.SPACE)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?z(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e),be.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(be.NEWLINE,be.INDENT,this.showKw(e),be.SPACE):this.layout.add(this.showKw(e),be.NEWLINE,be.INDENT)}formatDataType(e){this.layout.add(this.showDataType(e),be.SPACE)}showKw(e){return we(e.tokenType)?Ue(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return C(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return we(e.tokenType)?Ue(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return C(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return C(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}}class We{constructor(e,s){this.dialect=e,this.cfg=s,this.params=new ee(this.cfg.params)}format(e){const s=this.parse(e);return this.formatAst(s).trimEnd()}parse(e){return function(e){let s={};const t=new Ne((t=>{return[...(r=e.tokenize(t,s),r.map(ae).map(oe).map(_e).map(Te).map(le)),p(t.length)];var r})),r=new De(Pe.fromCompiled(fe),{lexer:t});return{parse:(e,t)=>{s=t;const{results:n}=r.feed(e);if(1===n.length)return n[0];throw 0===n.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(n,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map((e=>this.formatStatement(e))).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const s=new Ve({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new Me(new Ge((t=this.cfg,"tabularLeft"===t.indentStyle||"tabularRight"===t.indentStyle?" ".repeat(10):t.useTabs?"\t":" ".repeat(t.tabWidth))))}).format(e.children);var t;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?s.add(be.NEWLINE,";"):s.add(be.NO_NEWLINE,";")),s.toString()}}class He extends Error{}function ve(e){const s=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const r of s)if(r in e)throw new He(`${r} config is no more supported.`);if(e.expressionWidth<=0)throw new He(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var t;if(e.params&&!((t=e.params)instanceof Array?t:Object.values(t)).every((e=>"string"==typeof e))&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every((e=>""!==e.regex));return!0}(e.paramTypes))throw new He("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}const ke={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},Ke=(e,s)=>{var{dialect:t}=s,r=function(e,s){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&s.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)s.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(t[r[n]]=e[r[n]])}return t}(s,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const n=ve(Object.assign(Object.assign({},ke),r));return new We((e=>{let s=j.get(e);return s||(s=Q(e),j.set(e,s)),s})(t),n).format(e)};export{He as ConfigError,y as duckdb,s as expandPhrases,Ke as formatDialect};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as O,E as Q,q as e,s as a,C as t,t as X,a as P,v as i,L as n,w as o,x as c,i as $,f as l,c as r,k as S,u as T,e as p,l as W,N as V,I as m}from"./index-Cit0XISv.js";const Y=new Q(((O,Q)=>{for(let e=0,a=O.next;(Q.context&&(a<0||10==a||13==a||47==a&&47==O.peek(e+1))||41==a||125==a)&&O.acceptToken(177),32==a||9==a;)a=O.peek(++e)}),{contextual:!0});let R=new Set([95,184,20,12,17,144,145,142,148,13,53,25]);const x=new t({start:!1,shift:(O,Q)=>179==Q?O:R.has(Q)}),w=a({"func interface struct chan map const type var":X.definitionKeyword,"import package":X.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":X.controlKeyword,range:X.keyword,Bool:X.bool,String:X.string,Rune:X.character,Number:X.number,Nil:X.null,VariableName:X.variableName,DefName:X.definition(X.variableName),TypeName:X.typeName,LabelName:X.labelName,FieldName:X.propertyName,"FunctionDecl/DefName":X.function(X.definition(X.variableName)),"TypeSpec/DefName":X.definition(X.typeName),"CallExpr/VariableName":X.function(X.variableName),LineComment:X.lineComment,BlockComment:X.blockComment,LogicOp:X.logicOperator,ArithOp:X.arithmeticOperator,BitOp:X.bitwiseOperator,"DerefOp .":X.derefOperator,"UpdateOp IncDecOp":X.updateOperator,CompareOp:X.compareOperator,"= :=":X.definitionOperator,"<-":X.operator,'~ "*"':X.modifier,"; ,":X.separator,"... :":X.punctuation,"( )":X.paren,"[ ]":X.squareBracket,"{ }":X.brace}),s={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},k=O.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuO<uQQO'#ExO<|QQO'#FRO4cQQO'#FWO=WQQO'#FYO=]QRO'#F_O=jQRO'#FaO=uQQO'#FaOOQP'#Fe'#FeO4cQQO'#FgP=zOWO'#C^POOO)CAz)CAzOOQO'#G]'#G]OOQO,5<W,5<WOOQO-E9j-E9jO?TQTO'#CqOOQO'#C|'#C|OOQP,59g,59gO?tQQO'#D_O@fQSO'#FuO@kQQO'#C}O@pQQO'#D[O9XQQO'#FqO@uQRO,5=TOAyQQO,59yOCVQSO,5:[O@kQQO'#C}OCaQQO'#DjOOQP,59^,59^OOQO,5<a,5<aO?tQQO'#DeOOQO,5:e,5:eOOQO-E9s-E9sOOQP,59z,59zOOQP,59|,59|OCqQSO,5:QO(kQQO,5:ROC{QQO,5:RO&]QRO'#FxOOQO'#Fx'#FxOFjQQO'#GpOFwQQO,5:^OF|QQO,5:_OHdQQO,5:`OHlQQO,5:aOHvQRO'#FyOIaQRO,5=]OIuQQO'#DzOOQP,5:d,5:dOOQO'#EV'#EVOOQO'#EW'#EWOOQO'#EX'#EXOOQO'#EZ'#EZOOQO'#E['#E[O4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:wOOQP,5:x,5:xO?tQQO'#EOOOQP,5:g,5:gOOQP,5:k,5:kO9yQQO,59vO4cQQO,5:zO4cQQO,5:}OI|QRO,5;_OOQO,5<Y,5<YOOQO-E9l-E9lO]QQOOOOQP'#Cb'#CbOOQP,58z,58zOOQP'#Cf'#CfOJWQQO'#CfOJ]QSO'#CkOOQP,59O,59OOJkQQO'#DPOLZQQO,5<UOLbQQO,59iOLsQQO,5<TOMpQQO'#DUOOQP,59n,59nOOQP,59v,59vONfQQO,59vONmQQO'#CwOOQP,59_,59_O?tQQO,5:SONxQRO'#EgO! VQQO'#EhOOQP,5;P,5;PO! |QQO'#EkO!!WQQO'#EnOOQP,5;T,5;TO!!`QRO'#EqO!!mQQO'#ErOOQP,5;Z,5;ZO!!uQTO'#CbO!!|QTO,5;aO&]QRO,5;aO!#WQQO,5;jO!$yQTO,5;dO!%WQQO'#EzOOQP,5;d,5;dO&]QRO,5;dO!%cQSO,5;mO!%mQQO'#E`O!%uQQO'#EcO!%zQQO'#FTO!&UQQO'#FTOOQP,5;m,5;mO!&ZQQO,5;mO!&`QTO,5;rO!&mQQO'#F[OOQP,5;t,5;tO!&xQTO'#GqOOQP,5;y,5;yOOQP'#Et'#EtOOQP,5;{,5;{O!']QTO,5<RPOOO'#Fk'#FkP!'jOWO,58xPOOO,58x,58xO!'uQQO,59yO!'zQQO'#GgOOQP,59i,59iO(kQQO,59vOOQP,5<],5<]OOQP-E9o-E9oOOQP1G/e1G/eOOQP1G/v1G/vO!([QSO'#DlO!(lQQO'#DlO!(wQQO'#DkOOQO'#Go'#GoO!(|QQO'#GoO!)UQQO,5:UO!)ZQQO'#GnO!)fQQO,5:PPOQO'#Cq'#CqO(kQQO1G/lOOQP1G/m1G/mO(kQQO1G/mOOQO,5<d,5<dOOQO-E9v-E9vOOQP1G/x1G/xO!)kQSO1G/yOOQP'#Cy'#CyOOQP1G/z1G/zO?tQQO1G/}O!)xQSO1G/{O!*YQQO1G/|O!*gQTO,5<eOOQP-E9w-E9wOOQP,5:f,5:fO!+QQQO,5:fOOQP1G0[1G0[O!,vQTO1G0[O!.wQTO1G0[O!/OQTO1G0[O!0pQTO1G0[O!1QQTO1G0cO!1bQQO,5:jOOQP1G/b1G/bOOQP1G0f1G0fOOQP1G0i1G0iOOQP1G0y1G0yOOQP,59Q,59QO&]QRO'#FmO!1mQSO,59VOOQP,59V,59VOOQO'#DQ'#DQO?tQQO'#DQO!1{QQO'#DQOOQO'#Gh'#GhO!2SQQO'#GhO!2[QQO,59kO!2aQSO'#CqOJkQQO'#DPOOQP,5=R,5=RO@kQQO1G1pOOQP1G/w1G/wO.hQQO'#ElO!2rQRO1G1oO@kQQO1G1oO@kQQO'#DVO?tQQO'#DWOOQP'#Gk'#GkO!2}QRO'#GjOOQP'#Gj'#GjO&]QRO'#FsO!3`QQO,59pOOQP,59p,59pO!3gQRO'#CxO!3uQQO'#CxO!3|QRO'#CxO.hQQO'#CxO&]QRO'#FoO!4XQQO,59cOOQP,59c,59cO!4dQQO1G/nO4cQQO,5;RO!4iQQO,5;RO&]QRO'#FzO!4nQQO,5;SOOQP,5;S,5;SO!6aQQO'#DgO?tQQO,5;VOOQP,5;V,5;VO&]QRO'#F}O!6hQQO,5;YOOQP,5;Y,5;YO!6pQRO,5;]O4cQQO,5;]O&]QRO'#GOO!6{QQO,5;^OOQP,5;^,5;^O!7TQRO1G0{O!7`QQO1G0{O4cQQO1G1UO!8vQQO1G1UOOQP1G1O1G1OO!9OQQO'#GPO!9YQQO,5;fOOQP,5;f,5;fO4cQQO'#E{O!9eQQO'#E{O<uQQO1G1OOOQP1G1X1G1XO!9jQQO,5:zO!9jQQO,5:}O!9tQSO,5;oO!:OQQO,5;oO!:VQQO,5;oO!9OQQO'#GRO!:aQQO,5;vOOQP,5;v,5;vO!<PQQO'#F]O!<WQQO'#F]POOO-E9i-E9iPOOO1G.d1G.dO!<]QQO,5:VO!<gQQO,5=ZO!<tQQO,5=ZOOQP1G/p1G/pO!<|QQO,5=YO!=WQQO,5=YOOQP1G/k1G/kOOQP7+%W7+%WOOQP7+%X7+%XOOQP7+%e7+%eO!=cQQO7+%eO!=hQQO7+%iOOQP7+%g7+%gO!=mQQO7+%gO!=rQQO7+%hO!>PQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5<X,5<XOOQO-E9k-E9kOOQP1G.q1G.qOOQO,59l,59lO?tQQO,59lO!?cQQO,5=SO!?jQQO,5=SOOQP1G/V1G/VO!?rQQO,59yO!?}QRO7+'[O!@YQQO'#EmO!@dQQO'#HOO!@lQQO,5;WOOQP7+'Z7+'ZO!@qQRO7+'ZOOQP,59q,59qOOQP,59r,59rOOQO'#DZ'#DZO!@]QQO'#FtO!@|QRO,59tOOQO,5<_,5<_OOQO-E9q-E9qOOQP1G/[1G/[OOQP,59d,59dOHgQQO'#FpO!3uQQO,59dO!A_QRO,59dO!AjQRO,59dOOQO,5<Z,5<ZOOQO-E9m-E9mOOQP1G.}1G.}O(kQQO7+%YOOQP1G0m1G0mO4cQQO1G0mOOQO,5<f,5<fOOQO-E9x-E9xOOQP1G0n1G0nO!AxQQO'#GdOOQP1G0q1G0qOOQO,5<i,5<iOOQO-E9{-E9{OOQP1G0t1G0tO4cQQO1G0wOOQP1G0w1G0wOOQO,5<j,5<jOOQO-E9|-E9|OOQP1G0x1G0xO!B]QQO7+&gO!BeQSO7+&gO!CsQSO7+&pO!CzQQO7+&pOOQO,5<k,5<kOOQO-E9}-E9}OOQP1G1Q1G1QO!DRQQO,5;gOOQO,5;g,5;gO!DWQSO7+&jOOQP7+&j7+&jO!DbQQO7+&pO!7`QQO1G1[O!DgQQO1G1ZOOQO1G1Z1G1ZO!DnQSO1G1ZOOQO,5<m,5<mOOQO-E:P-E:POOQP1G1b1G1bO!DxQSO'#GqO!E]QQO'#F^O!EbQQO'#F^O!EgQQO,5;wOOQO,5;w,5;wO!ElQSO1G/qOOQO1G/q1G/qO!EyQSO'#DoO!FZQQO'#DoO!FfQQO'#DnOOQO,5<c,5<cO!FkQQO1G2uOOQO-E9u-E9uOOQO,5<b,5<bO!FxQQO1G2tOOQO-E9t-E9tOOQP<<IP<<IPOOQP<<IT<<ITOOQP<<IR<<IRO!GSQSO<<ISOOQP<<IS<<ISO4cQQO<<ISO!GaQSO<<ISOOQP7+%l7+%lO!GkQQO7+%lOOQP7+%p7+%pO!GpQQO7+%pO!GuQQO7+%pOOQO1G/W1G/WOOQO,5<^,5<^O!G}QQO1G2nOOQO-E9p-E9pOOQP<<Jv<<JvO.hQQO'#F{O!@YQQO,5;XOOQO,5;X,5;XO!HUQQO,5=jO!H^QQO,5=jOOQO1G0r1G0rOOQP<<Ju<<JuOOQP,5<`,5<`OOQP-E9r-E9rOOQO,5<[,5<[OOQO-E9n-E9nO!HfQRO1G/OOOQP1G/O1G/OOOQP<<Ht<<HtOOQP7+&X7+&XO!HqQQO'#DeOOQP7+&c7+&cOOQP<<JR<<JRO!HxQRO<<JRO!ITQQO<<J[O!I]QQO<<J[OOQO1G1R1G1ROOQP<<JU<<JUO4cQQO<<J[O!IbQSO7+&vOOQO7+&u7+&uO!IlQQO7+&uO4cQQO,5;xOOQO1G1c1G1cO!<]QQO,5:YP!<]QQO'#FwP?tQQO'#FvOOQPAN>nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<<IW<<IWOOQP<<I[<<I[O!I}QQO<<I[P!>nQQO'#FrOOQO,5<g,5<gOOQO-E9y-E9yOOQO1G0s1G0sOOQO,5<h,5<hO!JVQQO1G3UOOQO-E9z-E9zOOQP7+$j7+$jO!J_QQO'#GnO!B]QQOAN?mO!JjQQOAN?vO!JqQQOAN?vO!KzQSOAN?vOOQO<<Ja<<JaO!LRQSO1G1dO!L]QSO1G/tOOQO1G/t1G/tO!LjQSOG24YOOQPG24YG24YOOQPAN>vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5<l,5<lOOQO-E:O-E:OOOQP1G1V1G1VO!MzQQO,5;lOOQO,5;l,5;lO!NPQQO!$'NhOOQO1G1W1G1WO!JqQQO!)9DSOOQP!.K9n!.K9nO# {QTO'#CqO#!`QTO'#CqO##}QSO'#CqO#$XQSO'#CqO#&]QSO'#CqO#&gQQO'#FyO#&tQQO'#FyO#'OQQO,5=]O#'ZQQO,5=]O#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO!7`QQO,5:wO!7`QQO,5:zO!7`QQO,5:}O#(yQSO'#CbO#)}QSO'#CbO#*bQSO'#GqO#*rQSO'#GqO#+PQRO'#GgO#+yQSO,5<eO#,ZQSO,5<eO#,hQSO1G0[O#-rQTO1G0[O#-yQSO1G0[O#.TQSO1G0[O#0{QTO1G0[O#1SQSO1G0[O#2eQSO1G0[O#2lQTO1G0[O#2sQSO1G0[O#4XQSO1G0[O#4`QTO1G0[O#4jQSO1G0[O#4wQSO1G0cO#5dQTO'#CqO#5kQTO'#CqO#6bQSO'#GqO#'cQQO'#EPO!7`QQO'#EPOF|QQO'#EPO#8]QQO'#EPO#8gQQO'#EPO#8qQQO'#EPO#8{QQO'#E`O#9TQQO'#EcO@kQQO'#C}O?tQQO,5:RO#9YQQO,59vO#:iQQO,59vO?tQQO,59vO?tQQO1G/lO?tQQO1G/mO?tQQO7+%YO?tQQO'#C{O#:pQQO'#DgO#9YQQO'#D[O#:wQQO'#D[O#:|QSO,5:QO#;WQQO,5:RO#;]QQO1G/nO?tQQO,5:SO#;bQQO'#Dh",stateData:"#;m~O$yOSPOS$zPQ~OVvOX{O[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO$v%QP~OTzO~P]O$z!`O~OVeXZeX^eX^!TXj!TXnUXneX!QeX!WeX!W!TX!|eX#ReX#TeX#UeX#WUX$weX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O!a#hX~P$XOV!bO$w!bO~O[!wX^pX^!wXa!wXd!wXhpXh!wXrpXr!wXwpXw!wX!PpX!P!wX!QpX!Q!wX!WpX!W!wX!]pX!]!wX!p!wX!q!wX%OpX%O!wX%U!wX%V!wX%YpX%Y!wX%f!wX%g!wX%h!wX%i!wX%j!wX~O^!hOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%O!eO%Y!fO~On!lO#W%]XV%]X^%]Xh%]Xr%]Xw%]X!P%]X!Q%]X!W%]X!]%]X#T%]X$w%]X%O%]X%Y%]Xu%]X~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO~P*aOj!qO^%XX]%XXn%XX!V%XX~O!W!tOV%TXZ%TX^%TXn%TX!Q%TX!W%TX!|%TX#R%TX#T%TX#U%TX$w%TX%Y%TX%`%TX%f%TX%g%TX%i%TX%j%TX%k%TX%l%TX%m%TX%n%TX%o%TX%p%TX%q%TX]%TX!V%TXj%TXi%TX!a%TXu%TX~OZ!sO~P,^O%O!eO~O!W!tO^%WXj%WX]%WXn%WX!V%WXu%WXV%WX$w%WX%`%WX#T%WX[%WX!a%WX~Ou!{O!QnO!V!zO~P*aOV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlOi%dP~O^#QO~OZ#RO^#VOn#TO!Q#cO!W#SO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX$w`X~O!|#`O~P2gO^#VO~O^#eO~O!QnO~P*aO[oO^YOaoOdoOh!POr!pOw}O!QnO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!P#hO~P4jO#T#iO#U#iO~O#W#jO~O!a#kO~OVvO[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O$v%QX~P6hO%O#oO~OZ#rO[#qO^#sO%O#oO~O^#uO%O#oO~Oj#yO~O^!hOh!POr!jOw}O!P!OO!Q#|O!WaO!]!QO%O!eO%Y!fO~Oj#}O~O!W$PO~O^$RO%O#oO~O^$UO%O#oO~O^$XO%O#oO~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O$ZO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oj$`O~P;_OV$fOjcO~P;_Oj$kO~O!QnOV$RX$w$RX~P*aO%O$oOV$TX$w$TX~O%O$oO~O${$rO$|$rO$}$tO~OZeX^!TX!W!TXj!TXn!TXh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~O]!TX!V!TXu!TX#T!TXV!TX$w!TX%`!TX[!TX!a!TX~P>VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"⚠ LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:x,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[w],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[Y,1,2,new e("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:O=>s[O]||-1}],tokenPrec:5451}),d=[i("func ${name}(${params}) ${type} {\n\t${}\n}",{label:"func",detail:"declaration",type:"keyword"}),i("func (${receiver}) ${name}(${params}) ${type} {\n\t${}\n}",{label:"func",detail:"method declaration",type:"keyword"}),i("var ${name} = ${value}",{label:"var",detail:"declaration",type:"keyword"}),i("type ${name} ${type}",{label:"type",detail:"declaration",type:"keyword"}),i("const ${name} = ${value}",{label:"const",detail:"declaration",type:"keyword"}),i("type ${name} = ${type}",{label:"type",detail:"alias declaration",type:"keyword"}),i("for ${init}; ${test}; ${update} {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),i("for ${i} := range ${value} {\n\t${}\n}",{label:"for",detail:"range",type:"keyword"}),i("select {\n\t${}\n}",{label:"select",detail:"statement",type:"keyword"}),i("case ${}:\n${}",{label:"case",type:"keyword"}),i("switch ${} {\n\t${}\n}",{label:"switch",detail:"statement",type:"keyword"}),i("switch ${}.(${type}) {\n\t${}\n}",{label:"switch",detail:"type statement",type:"keyword"}),i("if ${} {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),i("if ${} {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),i('import ${name} from "${module}"\n${}',{label:"import",detail:"declaration",type:"keyword"})],h=new V,y=new Set(["SourceFile","Block","FunctionDecl","MethodDecl","FunctionLiteral","ForStatement","SwitchStatement","TypeSwitchStatement","IfStatement"]);function u(O,Q){return(e,a)=>{O:for(let t=e.node.firstChild,X=0,P=null;;){for(;!t;){if(!X)break O;X--,t=P.nextSibling,P=P.parent}Q&&t.name==Q||"SpecList"==t.name?(X++,P=t,t=t.firstChild):("DefName"==t.name&&a(t,O),t=t.nextSibling)}return!0}}const f={FunctionDecl:u("function"),VarDecl:u("var","VarSpec"),ConstDecl:u("constant","ConstSpec"),TypeDecl:u("type","TypeSpec"),ImportDecl:u("constant","ImportSpec"),Parameter:u("var"),__proto__:null};function j(O,Q){let e=h.get(Q);if(e)return e;let a=[],t=!0;function X(Q,e){let t=O.sliceString(Q.from,Q.to);a.push({label:t,type:e})}return Q.cursor(m.IncludeAnonymous).iterate((Q=>{if(t)t=!1;else if(Q.name){let O=f[Q.name];if(O&&O(Q,X)||y.has(Q.name))return!1}else if(Q.to-Q.from>8192){for(let e of j(O,Q.node))a.push(e);return!1}})),h.set(Q,a),a}const g=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,U=["String","LineComment","BlockComment","DefName","LabelName","FieldName",".","?."],G=O=>{let Q=W(O.state).resolveInner(O.pos,-1);if(U.indexOf(Q.name)>-1)return null;let e="VariableName"==Q.name||Q.to-Q.from<20&&g.test(O.state.sliceDoc(Q.from,Q.to));if(!e&&!O.explicit)return null;let a=[];for(let t=Q;t;t=t.parent)y.has(t.name)&&(a=a.concat(j(O.state.doc,t)));return{options:a,from:e?Q.from:O.pos,validFor:g}},b=P.define({name:"go",parser:k.configure({props:[$.add({IfStatement:r({except:/^\s*({|else\b)/}),LabeledStatement:T,"SwitchBlock SelectBlock":O=>{let Q=O.textAfter,e=/^\s*\}/.test(Q),a=/^\s*(case|default)\b/.test(Q);return O.baseIndent+(e||a?0:O.unit)},Block:S({closing:"}"}),BlockComment:()=>null,Statement:r({except:/^{/})}),l.add({"Block SwitchBlock SelectBlock LiteralValue InterfaceType StructType SpecList":p,BlockComment:O=>({from:O.from+2,to:O.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case\b|default\b|\})$/}});let Z=O=>({label:O,type:"keyword"});const q="interface struct chan map package go return break continue goto fallthrough else defer range true false nil".split(" ").map(Z);function _(){let O=d.concat(q);return new n(b,[b.data.of({autocomplete:o(U,c(O))}),b.data.of({autocomplete:G})])}export{_ as go,b as goLanguage,G as localCompletionSource,d as snippets};
|
|
1
|
+
import{b as O,E as Q,q as e,s as a,C as t,t as X,a as P,v as i,L as n,w as o,x as c,i as $,f as l,c as r,k as S,u as T,e as p,l as W,N as V,I as m}from"./index-pd33Ugfy.js";const Y=new Q(((O,Q)=>{for(let e=0,a=O.next;(Q.context&&(a<0||10==a||13==a||47==a&&47==O.peek(e+1))||41==a||125==a)&&O.acceptToken(177),32==a||9==a;)a=O.peek(++e)}),{contextual:!0});let R=new Set([95,184,20,12,17,144,145,142,148,13,53,25]);const x=new t({start:!1,shift:(O,Q)=>179==Q?O:R.has(Q)}),w=a({"func interface struct chan map const type var":X.definitionKeyword,"import package":X.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":X.controlKeyword,range:X.keyword,Bool:X.bool,String:X.string,Rune:X.character,Number:X.number,Nil:X.null,VariableName:X.variableName,DefName:X.definition(X.variableName),TypeName:X.typeName,LabelName:X.labelName,FieldName:X.propertyName,"FunctionDecl/DefName":X.function(X.definition(X.variableName)),"TypeSpec/DefName":X.definition(X.typeName),"CallExpr/VariableName":X.function(X.variableName),LineComment:X.lineComment,BlockComment:X.blockComment,LogicOp:X.logicOperator,ArithOp:X.arithmeticOperator,BitOp:X.bitwiseOperator,"DerefOp .":X.derefOperator,"UpdateOp IncDecOp":X.updateOperator,CompareOp:X.compareOperator,"= :=":X.definitionOperator,"<-":X.operator,'~ "*"':X.modifier,"; ,":X.separator,"... :":X.punctuation,"( )":X.paren,"[ ]":X.squareBracket,"{ }":X.brace}),s={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},k=O.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuO<uQQO'#ExO<|QQO'#FRO4cQQO'#FWO=WQQO'#FYO=]QRO'#F_O=jQRO'#FaO=uQQO'#FaOOQP'#Fe'#FeO4cQQO'#FgP=zOWO'#C^POOO)CAz)CAzOOQO'#G]'#G]OOQO,5<W,5<WOOQO-E9j-E9jO?TQTO'#CqOOQO'#C|'#C|OOQP,59g,59gO?tQQO'#D_O@fQSO'#FuO@kQQO'#C}O@pQQO'#D[O9XQQO'#FqO@uQRO,5=TOAyQQO,59yOCVQSO,5:[O@kQQO'#C}OCaQQO'#DjOOQP,59^,59^OOQO,5<a,5<aO?tQQO'#DeOOQO,5:e,5:eOOQO-E9s-E9sOOQP,59z,59zOOQP,59|,59|OCqQSO,5:QO(kQQO,5:ROC{QQO,5:RO&]QRO'#FxOOQO'#Fx'#FxOFjQQO'#GpOFwQQO,5:^OF|QQO,5:_OHdQQO,5:`OHlQQO,5:aOHvQRO'#FyOIaQRO,5=]OIuQQO'#DzOOQP,5:d,5:dOOQO'#EV'#EVOOQO'#EW'#EWOOQO'#EX'#EXOOQO'#EZ'#EZOOQO'#E['#E[O4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:pO4cQQO,5:wOOQP,5:x,5:xO?tQQO'#EOOOQP,5:g,5:gOOQP,5:k,5:kO9yQQO,59vO4cQQO,5:zO4cQQO,5:}OI|QRO,5;_OOQO,5<Y,5<YOOQO-E9l-E9lO]QQOOOOQP'#Cb'#CbOOQP,58z,58zOOQP'#Cf'#CfOJWQQO'#CfOJ]QSO'#CkOOQP,59O,59OOJkQQO'#DPOLZQQO,5<UOLbQQO,59iOLsQQO,5<TOMpQQO'#DUOOQP,59n,59nOOQP,59v,59vONfQQO,59vONmQQO'#CwOOQP,59_,59_O?tQQO,5:SONxQRO'#EgO! VQQO'#EhOOQP,5;P,5;PO! |QQO'#EkO!!WQQO'#EnOOQP,5;T,5;TO!!`QRO'#EqO!!mQQO'#ErOOQP,5;Z,5;ZO!!uQTO'#CbO!!|QTO,5;aO&]QRO,5;aO!#WQQO,5;jO!$yQTO,5;dO!%WQQO'#EzOOQP,5;d,5;dO&]QRO,5;dO!%cQSO,5;mO!%mQQO'#E`O!%uQQO'#EcO!%zQQO'#FTO!&UQQO'#FTOOQP,5;m,5;mO!&ZQQO,5;mO!&`QTO,5;rO!&mQQO'#F[OOQP,5;t,5;tO!&xQTO'#GqOOQP,5;y,5;yOOQP'#Et'#EtOOQP,5;{,5;{O!']QTO,5<RPOOO'#Fk'#FkP!'jOWO,58xPOOO,58x,58xO!'uQQO,59yO!'zQQO'#GgOOQP,59i,59iO(kQQO,59vOOQP,5<],5<]OOQP-E9o-E9oOOQP1G/e1G/eOOQP1G/v1G/vO!([QSO'#DlO!(lQQO'#DlO!(wQQO'#DkOOQO'#Go'#GoO!(|QQO'#GoO!)UQQO,5:UO!)ZQQO'#GnO!)fQQO,5:PPOQO'#Cq'#CqO(kQQO1G/lOOQP1G/m1G/mO(kQQO1G/mOOQO,5<d,5<dOOQO-E9v-E9vOOQP1G/x1G/xO!)kQSO1G/yOOQP'#Cy'#CyOOQP1G/z1G/zO?tQQO1G/}O!)xQSO1G/{O!*YQQO1G/|O!*gQTO,5<eOOQP-E9w-E9wOOQP,5:f,5:fO!+QQQO,5:fOOQP1G0[1G0[O!,vQTO1G0[O!.wQTO1G0[O!/OQTO1G0[O!0pQTO1G0[O!1QQTO1G0cO!1bQQO,5:jOOQP1G/b1G/bOOQP1G0f1G0fOOQP1G0i1G0iOOQP1G0y1G0yOOQP,59Q,59QO&]QRO'#FmO!1mQSO,59VOOQP,59V,59VOOQO'#DQ'#DQO?tQQO'#DQO!1{QQO'#DQOOQO'#Gh'#GhO!2SQQO'#GhO!2[QQO,59kO!2aQSO'#CqOJkQQO'#DPOOQP,5=R,5=RO@kQQO1G1pOOQP1G/w1G/wO.hQQO'#ElO!2rQRO1G1oO@kQQO1G1oO@kQQO'#DVO?tQQO'#DWOOQP'#Gk'#GkO!2}QRO'#GjOOQP'#Gj'#GjO&]QRO'#FsO!3`QQO,59pOOQP,59p,59pO!3gQRO'#CxO!3uQQO'#CxO!3|QRO'#CxO.hQQO'#CxO&]QRO'#FoO!4XQQO,59cOOQP,59c,59cO!4dQQO1G/nO4cQQO,5;RO!4iQQO,5;RO&]QRO'#FzO!4nQQO,5;SOOQP,5;S,5;SO!6aQQO'#DgO?tQQO,5;VOOQP,5;V,5;VO&]QRO'#F}O!6hQQO,5;YOOQP,5;Y,5;YO!6pQRO,5;]O4cQQO,5;]O&]QRO'#GOO!6{QQO,5;^OOQP,5;^,5;^O!7TQRO1G0{O!7`QQO1G0{O4cQQO1G1UO!8vQQO1G1UOOQP1G1O1G1OO!9OQQO'#GPO!9YQQO,5;fOOQP,5;f,5;fO4cQQO'#E{O!9eQQO'#E{O<uQQO1G1OOOQP1G1X1G1XO!9jQQO,5:zO!9jQQO,5:}O!9tQSO,5;oO!:OQQO,5;oO!:VQQO,5;oO!9OQQO'#GRO!:aQQO,5;vOOQP,5;v,5;vO!<PQQO'#F]O!<WQQO'#F]POOO-E9i-E9iPOOO1G.d1G.dO!<]QQO,5:VO!<gQQO,5=ZO!<tQQO,5=ZOOQP1G/p1G/pO!<|QQO,5=YO!=WQQO,5=YOOQP1G/k1G/kOOQP7+%W7+%WOOQP7+%X7+%XOOQP7+%e7+%eO!=cQQO7+%eO!=hQQO7+%iOOQP7+%g7+%gO!=mQQO7+%gO!=rQQO7+%hO!>PQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5<X,5<XOOQO-E9k-E9kOOQP1G.q1G.qOOQO,59l,59lO?tQQO,59lO!?cQQO,5=SO!?jQQO,5=SOOQP1G/V1G/VO!?rQQO,59yO!?}QRO7+'[O!@YQQO'#EmO!@dQQO'#HOO!@lQQO,5;WOOQP7+'Z7+'ZO!@qQRO7+'ZOOQP,59q,59qOOQP,59r,59rOOQO'#DZ'#DZO!@]QQO'#FtO!@|QRO,59tOOQO,5<_,5<_OOQO-E9q-E9qOOQP1G/[1G/[OOQP,59d,59dOHgQQO'#FpO!3uQQO,59dO!A_QRO,59dO!AjQRO,59dOOQO,5<Z,5<ZOOQO-E9m-E9mOOQP1G.}1G.}O(kQQO7+%YOOQP1G0m1G0mO4cQQO1G0mOOQO,5<f,5<fOOQO-E9x-E9xOOQP1G0n1G0nO!AxQQO'#GdOOQP1G0q1G0qOOQO,5<i,5<iOOQO-E9{-E9{OOQP1G0t1G0tO4cQQO1G0wOOQP1G0w1G0wOOQO,5<j,5<jOOQO-E9|-E9|OOQP1G0x1G0xO!B]QQO7+&gO!BeQSO7+&gO!CsQSO7+&pO!CzQQO7+&pOOQO,5<k,5<kOOQO-E9}-E9}OOQP1G1Q1G1QO!DRQQO,5;gOOQO,5;g,5;gO!DWQSO7+&jOOQP7+&j7+&jO!DbQQO7+&pO!7`QQO1G1[O!DgQQO1G1ZOOQO1G1Z1G1ZO!DnQSO1G1ZOOQO,5<m,5<mOOQO-E:P-E:POOQP1G1b1G1bO!DxQSO'#GqO!E]QQO'#F^O!EbQQO'#F^O!EgQQO,5;wOOQO,5;w,5;wO!ElQSO1G/qOOQO1G/q1G/qO!EyQSO'#DoO!FZQQO'#DoO!FfQQO'#DnOOQO,5<c,5<cO!FkQQO1G2uOOQO-E9u-E9uOOQO,5<b,5<bO!FxQQO1G2tOOQO-E9t-E9tOOQP<<IP<<IPOOQP<<IT<<ITOOQP<<IR<<IRO!GSQSO<<ISOOQP<<IS<<ISO4cQQO<<ISO!GaQSO<<ISOOQP7+%l7+%lO!GkQQO7+%lOOQP7+%p7+%pO!GpQQO7+%pO!GuQQO7+%pOOQO1G/W1G/WOOQO,5<^,5<^O!G}QQO1G2nOOQO-E9p-E9pOOQP<<Jv<<JvO.hQQO'#F{O!@YQQO,5;XOOQO,5;X,5;XO!HUQQO,5=jO!H^QQO,5=jOOQO1G0r1G0rOOQP<<Ju<<JuOOQP,5<`,5<`OOQP-E9r-E9rOOQO,5<[,5<[OOQO-E9n-E9nO!HfQRO1G/OOOQP1G/O1G/OOOQP<<Ht<<HtOOQP7+&X7+&XO!HqQQO'#DeOOQP7+&c7+&cOOQP<<JR<<JRO!HxQRO<<JRO!ITQQO<<J[O!I]QQO<<J[OOQO1G1R1G1ROOQP<<JU<<JUO4cQQO<<J[O!IbQSO7+&vOOQO7+&u7+&uO!IlQQO7+&uO4cQQO,5;xOOQO1G1c1G1cO!<]QQO,5:YP!<]QQO'#FwP?tQQO'#FvOOQPAN>nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<<IW<<IWOOQP<<I[<<I[O!I}QQO<<I[P!>nQQO'#FrOOQO,5<g,5<gOOQO-E9y-E9yOOQO1G0s1G0sOOQO,5<h,5<hO!JVQQO1G3UOOQO-E9z-E9zOOQP7+$j7+$jO!J_QQO'#GnO!B]QQOAN?mO!JjQQOAN?vO!JqQQOAN?vO!KzQSOAN?vOOQO<<Ja<<JaO!LRQSO1G1dO!L]QSO1G/tOOQO1G/t1G/tO!LjQSOG24YOOQPG24YG24YOOQPAN>vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5<l,5<lOOQO-E:O-E:OOOQP1G1V1G1VO!MzQQO,5;lOOQO,5;l,5;lO!NPQQO!$'NhOOQO1G1W1G1WO!JqQQO!)9DSOOQP!.K9n!.K9nO# {QTO'#CqO#!`QTO'#CqO##}QSO'#CqO#$XQSO'#CqO#&]QSO'#CqO#&gQQO'#FyO#&tQQO'#FyO#'OQQO,5=]O#'ZQQO,5=]O#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO#'cQQO,5:pO!7`QQO,5:pOF|QQO,5:pO!7`QQO,5:wO!7`QQO,5:zO!7`QQO,5:}O#(yQSO'#CbO#)}QSO'#CbO#*bQSO'#GqO#*rQSO'#GqO#+PQRO'#GgO#+yQSO,5<eO#,ZQSO,5<eO#,hQSO1G0[O#-rQTO1G0[O#-yQSO1G0[O#.TQSO1G0[O#0{QTO1G0[O#1SQSO1G0[O#2eQSO1G0[O#2lQTO1G0[O#2sQSO1G0[O#4XQSO1G0[O#4`QTO1G0[O#4jQSO1G0[O#4wQSO1G0cO#5dQTO'#CqO#5kQTO'#CqO#6bQSO'#GqO#'cQQO'#EPO!7`QQO'#EPOF|QQO'#EPO#8]QQO'#EPO#8gQQO'#EPO#8qQQO'#EPO#8{QQO'#E`O#9TQQO'#EcO@kQQO'#C}O?tQQO,5:RO#9YQQO,59vO#:iQQO,59vO?tQQO,59vO?tQQO1G/lO?tQQO1G/mO?tQQO7+%YO?tQQO'#C{O#:pQQO'#DgO#9YQQO'#D[O#:wQQO'#D[O#:|QSO,5:QO#;WQQO,5:RO#;]QQO1G/nO?tQQO,5:SO#;bQQO'#Dh",stateData:"#;m~O$yOSPOS$zPQ~OVvOX{O[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO$v%QP~OTzO~P]O$z!`O~OVeXZeX^eX^!TXj!TXnUXneX!QeX!WeX!W!TX!|eX#ReX#TeX#UeX#WUX$weX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O!a#hX~P$XOV!bO$w!bO~O[!wX^pX^!wXa!wXd!wXhpXh!wXrpXr!wXwpXw!wX!PpX!P!wX!QpX!Q!wX!WpX!W!wX!]pX!]!wX!p!wX!q!wX%OpX%O!wX%U!wX%V!wX%YpX%Y!wX%f!wX%g!wX%h!wX%i!wX%j!wX~O^!hOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%O!eO%Y!fO~On!lO#W%]XV%]X^%]Xh%]Xr%]Xw%]X!P%]X!Q%]X!W%]X!]%]X#T%]X$w%]X%O%]X%Y%]Xu%]X~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO~P*aOj!qO^%XX]%XXn%XX!V%XX~O!W!tOV%TXZ%TX^%TXn%TX!Q%TX!W%TX!|%TX#R%TX#T%TX#U%TX$w%TX%Y%TX%`%TX%f%TX%g%TX%i%TX%j%TX%k%TX%l%TX%m%TX%n%TX%o%TX%p%TX%q%TX]%TX!V%TXj%TXi%TX!a%TXu%TX~OZ!sO~P,^O%O!eO~O!W!tO^%WXj%WX]%WXn%WX!V%WXu%WXV%WX$w%WX%`%WX#T%WX[%WX!a%WX~Ou!{O!QnO!V!zO~P*aOV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlOi%dP~O^#QO~OZ#RO^#VOn#TO!Q#cO!W#SO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX$w`X~O!|#`O~P2gO^#VO~O^#eO~O!QnO~P*aO[oO^YOaoOdoOh!POr!pOw}O!QnO!WaO!]!QO!phO!qhO%O+wO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!P#hO~P4jO#T#iO#U#iO~O#W#jO~O!a#kO~OVvO[oO^YOaoOdoOh!POjcOr|Ow}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O$v%QX~P6hO%O#oO~OZ#rO[#qO^#sO%O#oO~O^#uO%O#oO~Oj#yO~O^!hOh!POr!jOw}O!P!OO!Q#|O!WaO!]!QO%O!eO%Y!fO~Oj#}O~O!W$PO~O^$RO%O#oO~O^$UO%O#oO~O^$XO%O#oO~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O$ZO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oj$`O~P;_OV$fOjcO~P;_Oj$kO~O!QnOV$RX$w$RX~P*aO%O$oOV$TX$w$TX~O%O$oO~O${$rO$|$rO$}$tO~OZeX^!TX!W!TXj!TXn!TXh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~O]!TX!V!TXu!TX#T!TXV!TX$w!TX%`!TX[!TX!a!TX~P>VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"⚠ LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:x,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[w],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[Y,1,2,new e("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:O=>s[O]||-1}],tokenPrec:5451}),d=[i("func ${name}(${params}) ${type} {\n\t${}\n}",{label:"func",detail:"declaration",type:"keyword"}),i("func (${receiver}) ${name}(${params}) ${type} {\n\t${}\n}",{label:"func",detail:"method declaration",type:"keyword"}),i("var ${name} = ${value}",{label:"var",detail:"declaration",type:"keyword"}),i("type ${name} ${type}",{label:"type",detail:"declaration",type:"keyword"}),i("const ${name} = ${value}",{label:"const",detail:"declaration",type:"keyword"}),i("type ${name} = ${type}",{label:"type",detail:"alias declaration",type:"keyword"}),i("for ${init}; ${test}; ${update} {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),i("for ${i} := range ${value} {\n\t${}\n}",{label:"for",detail:"range",type:"keyword"}),i("select {\n\t${}\n}",{label:"select",detail:"statement",type:"keyword"}),i("case ${}:\n${}",{label:"case",type:"keyword"}),i("switch ${} {\n\t${}\n}",{label:"switch",detail:"statement",type:"keyword"}),i("switch ${}.(${type}) {\n\t${}\n}",{label:"switch",detail:"type statement",type:"keyword"}),i("if ${} {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),i("if ${} {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),i('import ${name} from "${module}"\n${}',{label:"import",detail:"declaration",type:"keyword"})],h=new V,y=new Set(["SourceFile","Block","FunctionDecl","MethodDecl","FunctionLiteral","ForStatement","SwitchStatement","TypeSwitchStatement","IfStatement"]);function u(O,Q){return(e,a)=>{O:for(let t=e.node.firstChild,X=0,P=null;;){for(;!t;){if(!X)break O;X--,t=P.nextSibling,P=P.parent}Q&&t.name==Q||"SpecList"==t.name?(X++,P=t,t=t.firstChild):("DefName"==t.name&&a(t,O),t=t.nextSibling)}return!0}}const f={FunctionDecl:u("function"),VarDecl:u("var","VarSpec"),ConstDecl:u("constant","ConstSpec"),TypeDecl:u("type","TypeSpec"),ImportDecl:u("constant","ImportSpec"),Parameter:u("var"),__proto__:null};function j(O,Q){let e=h.get(Q);if(e)return e;let a=[],t=!0;function X(Q,e){let t=O.sliceString(Q.from,Q.to);a.push({label:t,type:e})}return Q.cursor(m.IncludeAnonymous).iterate((Q=>{if(t)t=!1;else if(Q.name){let O=f[Q.name];if(O&&O(Q,X)||y.has(Q.name))return!1}else if(Q.to-Q.from>8192){for(let e of j(O,Q.node))a.push(e);return!1}})),h.set(Q,a),a}const g=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,U=["String","LineComment","BlockComment","DefName","LabelName","FieldName",".","?."],G=O=>{let Q=W(O.state).resolveInner(O.pos,-1);if(U.indexOf(Q.name)>-1)return null;let e="VariableName"==Q.name||Q.to-Q.from<20&&g.test(O.state.sliceDoc(Q.from,Q.to));if(!e&&!O.explicit)return null;let a=[];for(let t=Q;t;t=t.parent)y.has(t.name)&&(a=a.concat(j(O.state.doc,t)));return{options:a,from:e?Q.from:O.pos,validFor:g}},b=P.define({name:"go",parser:k.configure({props:[$.add({IfStatement:r({except:/^\s*({|else\b)/}),LabeledStatement:T,"SwitchBlock SelectBlock":O=>{let Q=O.textAfter,e=/^\s*\}/.test(Q),a=/^\s*(case|default)\b/.test(Q);return O.baseIndent+(e||a?0:O.unit)},Block:S({closing:"}"}),BlockComment:()=>null,Statement:r({except:/^{/})}),l.add({"Block SwitchBlock SelectBlock LiteralValue InterfaceType StructType SpecList":p,BlockComment:O=>({from:O.from+2,to:O.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case\b|default\b|\})$/}});let Z=O=>({label:O,type:"keyword"});const q="interface struct chan map package go return break continue goto fallthrough else defer range true false nil".split(" ").map(Z);function _(){let O=d.concat(q);return new n(b,[b.data.of({autocomplete:o(U,c(O))}),b.data.of({autocomplete:G})])}export{_ as go,b as goLanguage,G as localCompletionSource,d as snippets};
|