qasm-ts 2.0.0 → 2.1.0

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.
Files changed (365) hide show
  1. package/.github/workflows/draft-pdf.yml +24 -0
  2. package/CONTRIBUTING.md +3 -0
  3. package/LICENSE +201 -0
  4. package/dist/errors.js +9 -0
  5. package/dist/lexer.js +74 -0
  6. package/dist/main.js +82 -7
  7. package/dist/parser.js +71 -0
  8. package/dist/qasm2/ast.js +33 -0
  9. package/dist/qasm2/lexer.js +54 -1
  10. package/dist/qasm2/parser.js +51 -1
  11. package/dist/qasm2/token.js +30 -0
  12. package/dist/qasm3/lexer.js +59 -1
  13. package/dist/qasm3/parser.js +55 -2
  14. package/dist/qasm3/token.js +93 -10
  15. package/dist/version.js +17 -1
  16. package/docs/assets/hierarchy.js +1 -0
  17. package/docs/custom.css +3 -0
  18. package/docs/docs-readme.md +208 -0
  19. package/docs/index.html +17 -55
  20. package/docs/typedoc/assets/custom.css +3 -0
  21. package/docs/typedoc/assets/hierarchy.js +1 -0
  22. package/docs/{assets → typedoc/assets}/highlight.css +20 -20
  23. package/docs/{assets → typedoc/assets}/icons.js +1 -1
  24. package/docs/{assets → typedoc/assets}/icons.svg +1 -1
  25. package/docs/typedoc/assets/main.js +60 -0
  26. package/docs/typedoc/assets/navigation.js +1 -0
  27. package/docs/typedoc/assets/search.js +1 -0
  28. package/docs/typedoc/assets/style.css +1633 -0
  29. package/docs/typedoc/classes/Error_Handling.BadArgumentError.html +12 -0
  30. package/docs/typedoc/classes/Error_Handling.BadBarrierError.html +12 -0
  31. package/docs/typedoc/classes/Error_Handling.BadClassicalTypeError.html +12 -0
  32. package/docs/typedoc/classes/Error_Handling.BadConditionalError.html +12 -0
  33. package/docs/typedoc/classes/Error_Handling.BadCregError.html +12 -0
  34. package/docs/typedoc/classes/Error_Handling.BadEqualsError.html +12 -0
  35. package/docs/typedoc/classes/Error_Handling.BadExpressionError.html +12 -0
  36. package/docs/typedoc/classes/Error_Handling.BadGateError.html +12 -0
  37. package/docs/typedoc/classes/Error_Handling.BadIncludeError.html +12 -0
  38. package/docs/typedoc/classes/Error_Handling.BadLoopError.html +12 -0
  39. package/docs/typedoc/classes/Error_Handling.BadMeasurementError.html +12 -0
  40. package/docs/typedoc/classes/Error_Handling.BadParameterError.html +12 -0
  41. package/docs/typedoc/classes/Error_Handling.BadQregError.html +12 -0
  42. package/docs/typedoc/classes/Error_Handling.BadQuantumInstructionError.html +12 -0
  43. package/docs/typedoc/classes/Error_Handling.BadStringLiteralError.html +12 -0
  44. package/docs/typedoc/classes/Error_Handling.BadSubroutineError.html +12 -0
  45. package/docs/typedoc/classes/Error_Handling.MissingBraceError.html +12 -0
  46. package/docs/typedoc/classes/Error_Handling.MissingSemicolonError.html +12 -0
  47. package/docs/typedoc/classes/Error_Handling.UnsupportedOpenQASMVersionError.html +12 -0
  48. package/docs/typedoc/classes/Version_Management.OpenQASMVersion.html +16 -0
  49. package/docs/typedoc/classes/qasm2_ast.ApplyGate.html +6 -0
  50. package/docs/typedoc/classes/qasm2_ast.AstNode.html +3 -0
  51. package/docs/typedoc/classes/qasm2_ast.Barrier.html +5 -0
  52. package/docs/typedoc/classes/qasm2_ast.CReg.html +5 -0
  53. package/docs/typedoc/classes/qasm2_ast.Cos.html +3 -0
  54. package/docs/typedoc/classes/qasm2_ast.Divide.html +3 -0
  55. package/docs/typedoc/classes/qasm2_ast.Exp.html +3 -0
  56. package/docs/typedoc/classes/qasm2_ast.Gate.html +7 -0
  57. package/docs/typedoc/classes/qasm2_ast.Id.html +4 -0
  58. package/docs/typedoc/classes/qasm2_ast.If.html +6 -0
  59. package/docs/typedoc/classes/qasm2_ast.Include.html +4 -0
  60. package/docs/typedoc/classes/qasm2_ast.Ln.html +3 -0
  61. package/docs/typedoc/classes/qasm2_ast.Measure.html +7 -0
  62. package/docs/typedoc/classes/qasm2_ast.Minus.html +3 -0
  63. package/docs/typedoc/classes/qasm2_ast.NNInteger.html +4 -0
  64. package/docs/typedoc/classes/qasm2_ast.Opaque.html +6 -0
  65. package/docs/typedoc/classes/qasm2_ast.Pi.html +3 -0
  66. package/docs/typedoc/classes/qasm2_ast.Plus.html +3 -0
  67. package/docs/typedoc/classes/qasm2_ast.Power.html +3 -0
  68. package/docs/typedoc/classes/qasm2_ast.QReg.html +5 -0
  69. package/docs/typedoc/classes/qasm2_ast.Real.html +4 -0
  70. package/docs/typedoc/classes/qasm2_ast.Sin.html +3 -0
  71. package/docs/typedoc/classes/qasm2_ast.Sqrt.html +3 -0
  72. package/docs/typedoc/classes/qasm2_ast.Tan.html +3 -0
  73. package/docs/typedoc/classes/qasm2_ast.Times.html +3 -0
  74. package/docs/typedoc/classes/qasm2_ast.Variable.html +4 -0
  75. package/docs/typedoc/classes/qasm2_ast.Version.html +4 -0
  76. package/docs/typedoc/classes/qasm2_lexer.default.html +57 -0
  77. package/docs/typedoc/classes/qasm2_parser.default.html +93 -0
  78. package/docs/typedoc/classes/qasm3_ast.AliasStatement.html +5 -0
  79. package/docs/typedoc/classes/qasm3_ast.AngleType.html +4 -0
  80. package/docs/typedoc/classes/qasm3_ast.Arithmetic.html +6 -0
  81. package/docs/typedoc/classes/qasm3_ast.ArrayAccess.html +5 -0
  82. package/docs/typedoc/classes/qasm3_ast.ArrayDeclaration.html +7 -0
  83. package/docs/typedoc/classes/qasm3_ast.ArrayInitializer.html +4 -0
  84. package/docs/typedoc/classes/qasm3_ast.ArrayReference.html +5 -0
  85. package/docs/typedoc/classes/qasm3_ast.AssignmentStatement.html +5 -0
  86. package/docs/typedoc/classes/qasm3_ast.AstNode.html +3 -0
  87. package/docs/typedoc/classes/qasm3_ast.Binary.html +6 -0
  88. package/docs/typedoc/classes/qasm3_ast.BitType.html +4 -0
  89. package/docs/typedoc/classes/qasm3_ast.BitstringLiteral.html +4 -0
  90. package/docs/typedoc/classes/qasm3_ast.BoolType.html +3 -0
  91. package/docs/typedoc/classes/qasm3_ast.BooleanLiteral.html +4 -0
  92. package/docs/typedoc/classes/qasm3_ast.BoxDefinition.html +7 -0
  93. package/docs/typedoc/classes/qasm3_ast.BranchingStatement.html +8 -0
  94. package/docs/typedoc/classes/qasm3_ast.BreakStatement.html +3 -0
  95. package/docs/typedoc/classes/qasm3_ast.CalibrationGrammarDeclaration.html +6 -0
  96. package/docs/typedoc/classes/qasm3_ast.CaseStatement.html +5 -0
  97. package/docs/typedoc/classes/qasm3_ast.Cast.html +5 -0
  98. package/docs/typedoc/classes/qasm3_ast.ClassicalDeclaration.html +7 -0
  99. package/docs/typedoc/classes/qasm3_ast.ClassicalType.html +3 -0
  100. package/docs/typedoc/classes/qasm3_ast.ComplexType.html +6 -0
  101. package/docs/typedoc/classes/qasm3_ast.ContinueStatement.html +3 -0
  102. package/docs/typedoc/classes/qasm3_ast.DefaultStatement.html +4 -0
  103. package/docs/typedoc/classes/qasm3_ast.DurationLiteral.html +5 -0
  104. package/docs/typedoc/classes/qasm3_ast.DurationOf.html +4 -0
  105. package/docs/typedoc/classes/qasm3_ast.DurationType.html +3 -0
  106. package/docs/typedoc/classes/qasm3_ast.Euler.html +3 -0
  107. package/docs/typedoc/classes/qasm3_ast.Expression.html +3 -0
  108. package/docs/typedoc/classes/qasm3_ast.ExternSignature.html +8 -0
  109. package/docs/typedoc/classes/qasm3_ast.FloatLiteral.html +4 -0
  110. package/docs/typedoc/classes/qasm3_ast.FloatType.html +6 -0
  111. package/docs/typedoc/classes/qasm3_ast.ForLoopStatement.html +12 -0
  112. package/docs/typedoc/classes/qasm3_ast.HardwareQubit.html +5 -0
  113. package/docs/typedoc/classes/qasm3_ast.IODeclaration.html +5 -0
  114. package/docs/typedoc/classes/qasm3_ast.Identifier.html +4 -0
  115. package/docs/typedoc/classes/qasm3_ast.ImaginaryLiteral.html +4 -0
  116. package/docs/typedoc/classes/qasm3_ast.Include.html +6 -0
  117. package/docs/typedoc/classes/qasm3_ast.IndexSet.html +5 -0
  118. package/docs/typedoc/classes/qasm3_ast.IntType.html +4 -0
  119. package/docs/typedoc/classes/qasm3_ast.IntegerLiteral.html +4 -0
  120. package/docs/typedoc/classes/qasm3_ast.MathFunction.html +5 -0
  121. package/docs/typedoc/classes/qasm3_ast.NumericLiteral.html +4 -0
  122. package/docs/typedoc/classes/qasm3_ast.Parameters.html +4 -0
  123. package/docs/typedoc/classes/qasm3_ast.Pi.html +3 -0
  124. package/docs/typedoc/classes/qasm3_ast.ProgramBlock.html +7 -0
  125. package/docs/typedoc/classes/qasm3_ast.QuantumBarrier.html +6 -0
  126. package/docs/typedoc/classes/qasm3_ast.QuantumBlock.html +6 -0
  127. package/docs/typedoc/classes/qasm3_ast.QuantumDeclaration.html +8 -0
  128. package/docs/typedoc/classes/qasm3_ast.QuantumDelay.html +5 -0
  129. package/docs/typedoc/classes/qasm3_ast.QuantumGateCall.html +9 -0
  130. package/docs/typedoc/classes/qasm3_ast.QuantumGateDefinition.html +9 -0
  131. package/docs/typedoc/classes/qasm3_ast.QuantumGateModifier.html +5 -0
  132. package/docs/typedoc/classes/qasm3_ast.QuantumMeasurement.html +6 -0
  133. package/docs/typedoc/classes/qasm3_ast.QuantumMeasurementAssignment.html +8 -0
  134. package/docs/typedoc/classes/qasm3_ast.QuantumReset.html +4 -0
  135. package/docs/typedoc/classes/qasm3_ast.Range.html +6 -0
  136. package/docs/typedoc/classes/qasm3_ast.ReturnStatement.html +4 -0
  137. package/docs/typedoc/classes/qasm3_ast.SizeOf.html +5 -0
  138. package/docs/typedoc/classes/qasm3_ast.Statement.html +12 -0
  139. package/docs/typedoc/classes/qasm3_ast.StretchType.html +3 -0
  140. package/docs/typedoc/classes/qasm3_ast.SubroutineBlock.html +6 -0
  141. package/docs/typedoc/classes/qasm3_ast.SubroutineCall.html +5 -0
  142. package/docs/typedoc/classes/qasm3_ast.SubroutineDefinition.html +10 -0
  143. package/docs/typedoc/classes/qasm3_ast.SubscriptedIdentifier.html +5 -0
  144. package/docs/typedoc/classes/qasm3_ast.SwitchStatement.html +6 -0
  145. package/docs/typedoc/classes/qasm3_ast.Tau.html +3 -0
  146. package/docs/typedoc/classes/qasm3_ast.TrigFunction.html +5 -0
  147. package/docs/typedoc/classes/qasm3_ast.UIntType.html +4 -0
  148. package/docs/typedoc/classes/qasm3_ast.Unary.html +5 -0
  149. package/docs/typedoc/classes/qasm3_ast.Version.html +6 -0
  150. package/docs/typedoc/classes/qasm3_ast.WhileLoopStatement.html +6 -0
  151. package/docs/typedoc/classes/qasm3_lexer.default.html +71 -0
  152. package/docs/typedoc/classes/qasm3_parser.default.html +237 -0
  153. package/docs/typedoc/enums/Version_Management.OpenQASMMajorVersion.html +4 -0
  154. package/docs/typedoc/enums/qasm2_token.Token.html +42 -0
  155. package/docs/typedoc/enums/qasm3_ast.ArithmeticOp.html +9 -0
  156. package/docs/typedoc/enums/qasm3_ast.ArrayReferenceModifier.html +4 -0
  157. package/docs/typedoc/enums/qasm3_ast.BinaryOp.html +15 -0
  158. package/docs/typedoc/enums/qasm3_ast.DurationUnit.html +7 -0
  159. package/docs/typedoc/enums/qasm3_ast.IOModifier.html +4 -0
  160. package/docs/typedoc/enums/qasm3_ast.MathFunctionTypes.html +12 -0
  161. package/docs/typedoc/enums/qasm3_ast.QuantumGateModifierName.html +6 -0
  162. package/docs/typedoc/enums/qasm3_ast.TrigFunctionTypes.html +8 -0
  163. package/docs/typedoc/enums/qasm3_ast.UnaryOp.html +5 -0
  164. package/docs/typedoc/enums/qasm3_token.Token.html +113 -0
  165. package/docs/typedoc/functions/Lexing.lex.html +24 -0
  166. package/docs/typedoc/functions/Main_Functions.parseFile.html +13 -0
  167. package/docs/typedoc/functions/Main_Functions.parseString.html +19 -0
  168. package/docs/typedoc/functions/Parsing.parse.html +15 -0
  169. package/docs/typedoc/functions/qasm2_token.inverseLookup.html +3 -0
  170. package/docs/typedoc/functions/qasm2_token.lookup.html +4 -0
  171. package/docs/typedoc/functions/qasm2_token.notParam.html +3 -0
  172. package/docs/typedoc/functions/qasm3_token.inverseLookup.html +9 -0
  173. package/docs/typedoc/functions/qasm3_token.lookup.html +10 -0
  174. package/docs/typedoc/functions/qasm3_token.notParam.html +11 -0
  175. package/docs/typedoc/hierarchy.html +1 -0
  176. package/docs/typedoc/index.html +76 -0
  177. package/docs/typedoc/modules/Error_Handling.html +5 -0
  178. package/docs/typedoc/modules/Lexing.html +20 -0
  179. package/docs/typedoc/modules/Main_Functions.html +2 -0
  180. package/docs/typedoc/modules/Parsing.html +24 -0
  181. package/docs/typedoc/modules/Version_Management.html +8 -0
  182. package/docs/typedoc/modules/qasm2_ast.html +22 -0
  183. package/docs/typedoc/modules/qasm2_lexer.html +24 -0
  184. package/docs/typedoc/modules/qasm2_parser.html +21 -0
  185. package/docs/typedoc/modules/qasm2_token.html +15 -0
  186. package/docs/typedoc/modules/qasm3_ast.html +26 -0
  187. package/docs/typedoc/modules/qasm3_lexer.html +25 -0
  188. package/docs/typedoc/modules/qasm3_parser.html +25 -0
  189. package/docs/typedoc/modules/qasm3_token.html +15 -0
  190. package/docs/typedoc/modules.html +1 -0
  191. package/docs/typedoc/types/Error_Handling.ReturnErrorConstructor.html +2 -0
  192. package/docs/typedoc.json +47 -0
  193. package/package.json +6 -2
  194. package/paper/jats/paper.jats +464 -0
  195. package/paper/main.bib +191 -0
  196. package/paper/paper.md +166 -0
  197. package/paper/paper.pdf +0 -0
  198. package/readme.md +63 -9
  199. package/docs/assets/main.js +0 -60
  200. package/docs/assets/navigation.js +0 -1
  201. package/docs/assets/search.js +0 -1
  202. package/docs/assets/style.css +0 -1493
  203. package/docs/classes/errors.BadArgumentError.html +0 -12
  204. package/docs/classes/errors.BadBarrierError.html +0 -12
  205. package/docs/classes/errors.BadClassicalTypeError.html +0 -12
  206. package/docs/classes/errors.BadConditionalError.html +0 -12
  207. package/docs/classes/errors.BadCregError.html +0 -12
  208. package/docs/classes/errors.BadEqualsError.html +0 -12
  209. package/docs/classes/errors.BadExpressionError.html +0 -12
  210. package/docs/classes/errors.BadGateError.html +0 -12
  211. package/docs/classes/errors.BadIncludeError.html +0 -12
  212. package/docs/classes/errors.BadLoopError.html +0 -12
  213. package/docs/classes/errors.BadMeasurementError.html +0 -12
  214. package/docs/classes/errors.BadParameterError.html +0 -12
  215. package/docs/classes/errors.BadQregError.html +0 -12
  216. package/docs/classes/errors.BadQuantumInstructionError.html +0 -12
  217. package/docs/classes/errors.BadStringLiteralError.html +0 -12
  218. package/docs/classes/errors.BadSubroutineError.html +0 -12
  219. package/docs/classes/errors.MissingBraceError.html +0 -12
  220. package/docs/classes/errors.MissingSemicolonError.html +0 -12
  221. package/docs/classes/errors.UnsupportedOpenQASMVersionError.html +0 -12
  222. package/docs/classes/qasm2_ast.ApplyGate.html +0 -6
  223. package/docs/classes/qasm2_ast.AstNode.html +0 -3
  224. package/docs/classes/qasm2_ast.Barrier.html +0 -5
  225. package/docs/classes/qasm2_ast.CReg.html +0 -5
  226. package/docs/classes/qasm2_ast.Cos.html +0 -3
  227. package/docs/classes/qasm2_ast.Divide.html +0 -3
  228. package/docs/classes/qasm2_ast.Exp.html +0 -3
  229. package/docs/classes/qasm2_ast.Gate.html +0 -7
  230. package/docs/classes/qasm2_ast.Id.html +0 -4
  231. package/docs/classes/qasm2_ast.If.html +0 -6
  232. package/docs/classes/qasm2_ast.Include.html +0 -4
  233. package/docs/classes/qasm2_ast.Ln.html +0 -3
  234. package/docs/classes/qasm2_ast.Measure.html +0 -7
  235. package/docs/classes/qasm2_ast.Minus.html +0 -3
  236. package/docs/classes/qasm2_ast.NNInteger.html +0 -4
  237. package/docs/classes/qasm2_ast.Opaque.html +0 -6
  238. package/docs/classes/qasm2_ast.Pi.html +0 -3
  239. package/docs/classes/qasm2_ast.Plus.html +0 -3
  240. package/docs/classes/qasm2_ast.Power.html +0 -3
  241. package/docs/classes/qasm2_ast.QReg.html +0 -5
  242. package/docs/classes/qasm2_ast.Real.html +0 -4
  243. package/docs/classes/qasm2_ast.Sin.html +0 -3
  244. package/docs/classes/qasm2_ast.Sqrt.html +0 -3
  245. package/docs/classes/qasm2_ast.Tan.html +0 -3
  246. package/docs/classes/qasm2_ast.Times.html +0 -3
  247. package/docs/classes/qasm2_ast.Variable.html +0 -4
  248. package/docs/classes/qasm2_ast.Version.html +0 -4
  249. package/docs/classes/qasm2_lexer.default.html +0 -50
  250. package/docs/classes/qasm2_parser.default.html +0 -87
  251. package/docs/classes/qasm3_ast.AliasStatement.html +0 -5
  252. package/docs/classes/qasm3_ast.AngleType.html +0 -4
  253. package/docs/classes/qasm3_ast.Arithmetic.html +0 -6
  254. package/docs/classes/qasm3_ast.ArrayAccess.html +0 -5
  255. package/docs/classes/qasm3_ast.ArrayDeclaration.html +0 -7
  256. package/docs/classes/qasm3_ast.ArrayInitializer.html +0 -4
  257. package/docs/classes/qasm3_ast.ArrayReference.html +0 -5
  258. package/docs/classes/qasm3_ast.AssignmentStatement.html +0 -5
  259. package/docs/classes/qasm3_ast.AstNode.html +0 -3
  260. package/docs/classes/qasm3_ast.Binary.html +0 -6
  261. package/docs/classes/qasm3_ast.BitType.html +0 -4
  262. package/docs/classes/qasm3_ast.BitstringLiteral.html +0 -4
  263. package/docs/classes/qasm3_ast.BoolType.html +0 -3
  264. package/docs/classes/qasm3_ast.BooleanLiteral.html +0 -4
  265. package/docs/classes/qasm3_ast.BoxDefinition.html +0 -7
  266. package/docs/classes/qasm3_ast.BranchingStatement.html +0 -8
  267. package/docs/classes/qasm3_ast.BreakStatement.html +0 -3
  268. package/docs/classes/qasm3_ast.CalibrationGrammarDeclaration.html +0 -6
  269. package/docs/classes/qasm3_ast.CaseStatement.html +0 -5
  270. package/docs/classes/qasm3_ast.Cast.html +0 -5
  271. package/docs/classes/qasm3_ast.ClassicalDeclaration.html +0 -7
  272. package/docs/classes/qasm3_ast.ClassicalType.html +0 -3
  273. package/docs/classes/qasm3_ast.ComplexType.html +0 -6
  274. package/docs/classes/qasm3_ast.ContinueStatement.html +0 -3
  275. package/docs/classes/qasm3_ast.DefaultStatement.html +0 -4
  276. package/docs/classes/qasm3_ast.DurationLiteral.html +0 -5
  277. package/docs/classes/qasm3_ast.DurationOf.html +0 -4
  278. package/docs/classes/qasm3_ast.DurationType.html +0 -3
  279. package/docs/classes/qasm3_ast.Euler.html +0 -3
  280. package/docs/classes/qasm3_ast.Expression.html +0 -3
  281. package/docs/classes/qasm3_ast.ExternSignature.html +0 -8
  282. package/docs/classes/qasm3_ast.FloatLiteral.html +0 -4
  283. package/docs/classes/qasm3_ast.FloatType.html +0 -6
  284. package/docs/classes/qasm3_ast.ForLoopStatement.html +0 -12
  285. package/docs/classes/qasm3_ast.HardwareQubit.html +0 -5
  286. package/docs/classes/qasm3_ast.IODeclaration.html +0 -5
  287. package/docs/classes/qasm3_ast.Identifier.html +0 -4
  288. package/docs/classes/qasm3_ast.ImaginaryLiteral.html +0 -4
  289. package/docs/classes/qasm3_ast.Include.html +0 -6
  290. package/docs/classes/qasm3_ast.IndexSet.html +0 -5
  291. package/docs/classes/qasm3_ast.IntType.html +0 -4
  292. package/docs/classes/qasm3_ast.IntegerLiteral.html +0 -4
  293. package/docs/classes/qasm3_ast.MathFunction.html +0 -5
  294. package/docs/classes/qasm3_ast.NumericLiteral.html +0 -4
  295. package/docs/classes/qasm3_ast.Parameters.html +0 -4
  296. package/docs/classes/qasm3_ast.Pi.html +0 -3
  297. package/docs/classes/qasm3_ast.ProgramBlock.html +0 -7
  298. package/docs/classes/qasm3_ast.QuantumBarrier.html +0 -6
  299. package/docs/classes/qasm3_ast.QuantumBlock.html +0 -6
  300. package/docs/classes/qasm3_ast.QuantumDeclaration.html +0 -8
  301. package/docs/classes/qasm3_ast.QuantumDelay.html +0 -5
  302. package/docs/classes/qasm3_ast.QuantumGateCall.html +0 -9
  303. package/docs/classes/qasm3_ast.QuantumGateDefinition.html +0 -9
  304. package/docs/classes/qasm3_ast.QuantumGateModifier.html +0 -5
  305. package/docs/classes/qasm3_ast.QuantumMeasurement.html +0 -6
  306. package/docs/classes/qasm3_ast.QuantumMeasurementAssignment.html +0 -8
  307. package/docs/classes/qasm3_ast.QuantumReset.html +0 -4
  308. package/docs/classes/qasm3_ast.Range.html +0 -6
  309. package/docs/classes/qasm3_ast.ReturnStatement.html +0 -4
  310. package/docs/classes/qasm3_ast.SizeOf.html +0 -5
  311. package/docs/classes/qasm3_ast.Statement.html +0 -12
  312. package/docs/classes/qasm3_ast.StretchType.html +0 -3
  313. package/docs/classes/qasm3_ast.SubroutineBlock.html +0 -6
  314. package/docs/classes/qasm3_ast.SubroutineCall.html +0 -5
  315. package/docs/classes/qasm3_ast.SubroutineDefinition.html +0 -10
  316. package/docs/classes/qasm3_ast.SubscriptedIdentifier.html +0 -5
  317. package/docs/classes/qasm3_ast.SwitchStatement.html +0 -6
  318. package/docs/classes/qasm3_ast.Tau.html +0 -3
  319. package/docs/classes/qasm3_ast.TrigFunction.html +0 -5
  320. package/docs/classes/qasm3_ast.UIntType.html +0 -4
  321. package/docs/classes/qasm3_ast.Unary.html +0 -5
  322. package/docs/classes/qasm3_ast.Version.html +0 -6
  323. package/docs/classes/qasm3_ast.WhileLoopStatement.html +0 -6
  324. package/docs/classes/qasm3_lexer.default.html +0 -60
  325. package/docs/classes/qasm3_parser.default.html +0 -227
  326. package/docs/classes/version.OpenQASMVersion.html +0 -16
  327. package/docs/enums/qasm2_token.Token.html +0 -39
  328. package/docs/enums/qasm3_ast.ArithmeticOp.html +0 -9
  329. package/docs/enums/qasm3_ast.ArrayReferenceModifier.html +0 -4
  330. package/docs/enums/qasm3_ast.BinaryOp.html +0 -15
  331. package/docs/enums/qasm3_ast.DurationUnit.html +0 -7
  332. package/docs/enums/qasm3_ast.IOModifier.html +0 -4
  333. package/docs/enums/qasm3_ast.MathFunctionTypes.html +0 -12
  334. package/docs/enums/qasm3_ast.QuantumGateModifierName.html +0 -6
  335. package/docs/enums/qasm3_ast.TrigFunctionTypes.html +0 -8
  336. package/docs/enums/qasm3_ast.UnaryOp.html +0 -5
  337. package/docs/enums/qasm3_token.Token.html +0 -101
  338. package/docs/enums/version.OpenQASMMajorVersion.html +0 -4
  339. package/docs/functions/lexer.lex.html +0 -1
  340. package/docs/functions/main.parseFile.html +0 -4
  341. package/docs/functions/main.parseString.html +0 -4
  342. package/docs/functions/parser.parse.html +0 -1
  343. package/docs/functions/qasm2_token.inverseLookup.html +0 -3
  344. package/docs/functions/qasm2_token.lookup.html +0 -4
  345. package/docs/functions/qasm2_token.notParam.html +0 -3
  346. package/docs/functions/qasm3_token.inverseLookup.html +0 -3
  347. package/docs/functions/qasm3_token.lookup.html +0 -4
  348. package/docs/functions/qasm3_token.notParam.html +0 -3
  349. package/docs/hierarchy.html +0 -1
  350. package/docs/modules/errors.html +0 -21
  351. package/docs/modules/lexer.html +0 -2
  352. package/docs/modules/main.html +0 -3
  353. package/docs/modules/parser.html +0 -2
  354. package/docs/modules/qasm2_ast.html +0 -28
  355. package/docs/modules/qasm2_lexer.html +0 -2
  356. package/docs/modules/qasm2_parser.html +0 -2
  357. package/docs/modules/qasm2_token.html +0 -5
  358. package/docs/modules/qasm3_ast.html +0 -83
  359. package/docs/modules/qasm3_lexer.html +0 -2
  360. package/docs/modules/qasm3_parser.html +0 -2
  361. package/docs/modules/qasm3_token.html +0 -5
  362. package/docs/modules/version.html +0 -3
  363. package/docs/modules.html +0 -14
  364. package/docs/types/errors.ReturnErrorConstructor.html +0 -2
  365. /package/docs/{.nojekyll → typedoc/.nojekyll} +0 -0
@@ -1,60 +0,0 @@
1
- "use strict";
2
- window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."};
3
- "use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(m){return new t.Token(t.utils.asString(m).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var l=r.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
4
- `,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,l=0,u=0,d=0;u<s&&d<o;)a=r[u],l=i[d],a<l?u+=2:a>l?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,d="^("+s+")?"+i,m=new RegExp(a),p=new RegExp(u),b=new RegExp(l),g=new RegExp(d),L=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,y=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,w=/.$/,k=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),B=new RegExp("^"+s+i+"[^aeiouwxy]$"),A=/^(.+?[^aeiou])y$/,j=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,q=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,V=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,$=/^(.+?)(s|t)(ion)$/,C=/^(.+?)e$/,z=/ll$/,W=new RegExp("^"+s+i+"[^aeiouwxy]$"),H=function(c){var v,P,T,h,x,O,M;if(c.length<3)return c;if(T=c.substr(0,1),T=="y"&&(c=T.toUpperCase()+c.substr(1)),h=L,x=f,h.test(c)?c=c.replace(h,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),h=y,x=S,h.test(c)){var E=h.exec(c);h=m,h.test(E[1])&&(h=w,c=c.replace(h,""))}else if(x.test(c)){var E=x.exec(c);v=E[1],x=g,x.test(v)&&(c=v,x=k,O=_,M=B,x.test(c)?c=c+"e":O.test(c)?(h=w,c=c.replace(h,"")):M.test(c)&&(c=c+"e"))}if(h=A,h.test(c)){var E=h.exec(c);v=E[1],c=v+"i"}if(h=j,h.test(c)){var E=h.exec(c);v=E[1],P=E[2],h=m,h.test(v)&&(c=v+e[P])}if(h=q,h.test(c)){var E=h.exec(c);v=E[1],P=E[2],h=m,h.test(v)&&(c=v+n[P])}if(h=V,x=$,h.test(c)){var E=h.exec(c);v=E[1],h=p,h.test(v)&&(c=v)}else if(x.test(c)){var E=x.exec(c);v=E[1]+E[2],x=p,x.test(v)&&(c=v)}if(h=C,h.test(c)){var E=h.exec(c);v=E[1],h=p,x=b,O=W,(h.test(v)||x.test(v)&&!O.test(v))&&(c=v)}return h=z,x=p,h.test(c)&&x.test(c)&&(h=w,c=c.replace(h,"")),T=="y"&&(c=T.toLowerCase()+c.substr(1)),c};return function(R){return R.update(H)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var l=new t.TokenSet;l.final=a,n.edges[o]=l,n=l}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),l=a.length,u=0;u<o;u++)for(var d=s[u],m=0;m<l;m++){var p=a[m];if(p==d||d=="*"){var b=r.node.edges[p],g=r.qNode.edges[d],L=b.final&&g.final,f=void 0;p in r.output.edges?(f=r.output.edges[p],f.final=f.final||L):(f=new t.TokenSet,f.final=L,r.output.edges[p]=f),i.push({qNode:g,output:f,node:b})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(n,n);for(var l=0;l<n.clauses.length;l++){var u=n.clauses[l],d=null,m=t.Set.empty;u.usePipeline?d=this.pipeline.runString(u.term,{fields:u.fields}):d=[u.term];for(var p=0;p<d.length;p++){var b=d[p];u.term=b;var g=t.TokenSet.fromClause(u),L=this.tokenSet.intersect(g).toArray();if(L.length===0&&u.presence===t.Query.presence.REQUIRED){for(var f=0;f<u.fields.length;f++){var y=u.fields[f];o[y]=t.Set.empty}break}for(var S=0;S<L.length;S++)for(var w=L[S],k=this.invertedIndex[w],_=k._index,f=0;f<u.fields.length;f++){var y=u.fields[f],B=k[y],A=Object.keys(B),j=w+"/"+y,q=new t.Set(A);if(u.presence==t.Query.presence.REQUIRED&&(m=m.union(q),o[y]===void 0&&(o[y]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[y]===void 0&&(a[y]=t.Set.empty),a[y]=a[y].union(q);continue}if(i[y].upsert(_,u.boost,function(Ie,Ce){return Ie+Ce}),!s[j]){for(var V=0;V<A.length;V++){var $=A[V],C=new t.FieldRef($,y),z=B[$],W;(W=r[C])===void 0?r[C]=new t.MatchData(w,y,z):W.add(w,y,z)}s[j]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var f=0;f<u.fields.length;f++){var y=u.fields[f];o[y]=o[y].intersect(m)}}for(var H=t.Set.complete,R=t.Set.empty,l=0;l<this.fields.length;l++){var y=this.fields[l];o[y]&&(H=H.intersect(o[y])),a[y]&&(R=R.union(a[y]))}var c=Object.keys(r),v=[],P=Object.create(null);if(n.isNegated()){c=Object.keys(this.fieldVectors);for(var l=0;l<c.length;l++){var C=c[l],T=t.FieldRef.fromString(C);r[C]=new t.MatchData}}for(var l=0;l<c.length;l++){var T=t.FieldRef.fromString(c[l]),h=T.docRef;if(H.contains(h)&&!R.contains(h)){var x=this.fieldVectors[T],O=i[T.fieldName].similarity(x),M;if((M=P[h])!==void 0)M.score+=O,M.matchData.combine(r[T]);else{var E={ref:h,score:O,matchData:r[T]};P[h]=E,v.push(E)}}}return v.sort(function(ke,Qe){return Qe.score-ke.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var d=i[u],m=d[0],p=d[1];r[m]=new t.Vector(p)}for(var u=0;u<o.length;u++){var d=o[u],b=d[0],g=d[1];a.insert(b),s[b]=g}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=l,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),d=this.pipeline.run(u),m=new t.FieldRef(r,o),p=Object.create(null);this.fieldTermFrequencies[m]=p,this.fieldLengths[m]=0,this.fieldLengths[m]+=d.length;for(var b=0;b<d.length;b++){var g=d[b];if(p[g]==null&&(p[g]=0),p[g]+=1,this.invertedIndex[g]==null){var L=Object.create(null);L._index=this.termIndex,this.termIndex+=1;for(var f=0;f<i.length;f++)L[i[f]]=Object.create(null);this.invertedIndex[g]=L}this.invertedIndex[g][o][r]==null&&(this.invertedIndex[g][o][r]=Object.create(null));for(var y=0;y<this.metadataWhitelist.length;y++){var S=this.metadataWhitelist[y],w=g.metadata[S];this.invertedIndex[g][o][r][S]==null&&(this.invertedIndex[g][o][r][S]=[]),this.invertedIndex[g][o][r][S].push(w)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];r[u]=r[u]/i[u]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,d=this.fieldTermFrequencies[o],m=Object.keys(d),p=m.length,b=this._fields[a].boost||1,g=this._documents[o.docRef].boost||1,L=0;L<p;L++){var f=m[L],y=d[f],S=this.invertedIndex[f]._index,w,k,_;i[f]===void 0?(w=t.idf(this.invertedIndex[f],this.documentCount),i[f]=w):w=i[f],k=w*((this._k1+1)*y)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+y),k*=b,k*=g,_=Math.round(k*1e3)/1e3,u.insert(S,_)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var d=l[u];this.metadata[i][a][d]==null?this.metadata[i][a][d]=e.metadata[i][a][d]:this.metadata[i][a][d]=this.metadata[i][a][d].concat(e.metadata[i][a][d])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;o<s.length;o++){let a=s[o],l=r.data.rows[Number(a.ref)],u=1;l.name.toLowerCase().startsWith(i.toLowerCase())&&(u*=1+1/(1+Math.abs(l.name.length-i.length))),a.score*=u}if(s.length===0){let o=document.createElement("li");o.classList.add("no-results");let a=document.createElement("span");a.textContent="No results found",o.appendChild(a),e.appendChild(o)}s.sort((o,a)=>a.score-o.score);for(let o=0,a=Math.min(10,s.length);o<a;o++){let l=r.data.rows[Number(s[o].ref)],u=`<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon"><use href="#icon-${l.kind}"></use></svg>`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=`<span class="parent">
5
- ${he(l.parent,i)}.</span>${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`<b>${ee(t.substring(o,o+r.length))}</b>`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#039;",'"':"&quot;"};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
6
- `,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=`<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon"><use href="#icon-${t.kind}"></use></svg>`),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon"><use href="#icon-folder"></use></svg>',r.appendChild(document.createElement("span")).textContent=t.text}}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})();
7
- /*! Bundled license information:
8
-
9
- lunr/lunr.js:
10
- (**
11
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
12
- * Copyright (C) 2020 Oliver Nightingale
13
- * @license MIT
14
- *)
15
- (*!
16
- * lunr.utils
17
- * Copyright (C) 2020 Oliver Nightingale
18
- *)
19
- (*!
20
- * lunr.Set
21
- * Copyright (C) 2020 Oliver Nightingale
22
- *)
23
- (*!
24
- * lunr.tokenizer
25
- * Copyright (C) 2020 Oliver Nightingale
26
- *)
27
- (*!
28
- * lunr.Pipeline
29
- * Copyright (C) 2020 Oliver Nightingale
30
- *)
31
- (*!
32
- * lunr.Vector
33
- * Copyright (C) 2020 Oliver Nightingale
34
- *)
35
- (*!
36
- * lunr.stemmer
37
- * Copyright (C) 2020 Oliver Nightingale
38
- * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
39
- *)
40
- (*!
41
- * lunr.stopWordFilter
42
- * Copyright (C) 2020 Oliver Nightingale
43
- *)
44
- (*!
45
- * lunr.trimmer
46
- * Copyright (C) 2020 Oliver Nightingale
47
- *)
48
- (*!
49
- * lunr.TokenSet
50
- * Copyright (C) 2020 Oliver Nightingale
51
- *)
52
- (*!
53
- * lunr.Index
54
- * Copyright (C) 2020 Oliver Nightingale
55
- *)
56
- (*!
57
- * lunr.Builder
58
- * Copyright (C) 2020 Oliver Nightingale
59
- *)
60
- */
@@ -1 +0,0 @@
1
- window.navigationData = "data:application/octet-stream;base64,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"
@@ -1 +0,0 @@
1
- window.searchData = "data:application/octet-stream;base64,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";