classiq 0.91.1__py3-none-any.whl → 0.93.0__py3-none-any.whl

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 (43) hide show
  1. classiq/__init__.py +13 -0
  2. classiq/_internals/config.py +1 -1
  3. classiq/analyzer/show_interactive_hack.py +1 -1
  4. classiq/applications/__init__.py +2 -6
  5. classiq/applications/qsp/__init__.py +7 -0
  6. classiq/applications/qsp/qsp.py +366 -0
  7. classiq/evaluators/parameter_types.py +13 -7
  8. classiq/execution/jobs.py +18 -8
  9. classiq/interface/_version.py +1 -1
  10. classiq/interface/backend/backend_preferences.py +8 -8
  11. classiq/interface/exceptions.py +4 -0
  12. classiq/interface/executor/result.py +4 -0
  13. classiq/interface/generator/functions/builtins/internal_operators.py +1 -0
  14. classiq/interface/generator/generated_circuit_data.py +5 -17
  15. classiq/interface/generator/transpiler_basis_gates.py +1 -1
  16. classiq/interface/helpers/versioned_model.py +0 -2
  17. classiq/interface/interface_version.py +1 -1
  18. classiq/interface/model/bind_operation.py +0 -12
  19. classiq/interface/model/handle_binding.py +3 -0
  20. classiq/interface/model/skip_control.py +11 -0
  21. classiq/interface/model/statement_block.py +3 -0
  22. classiq/interface/server/routes.py +0 -3
  23. classiq/model_expansions/interpreters/generative_interpreter.py +18 -1
  24. classiq/model_expansions/quantum_operations/assignment_result_processor.py +6 -0
  25. classiq/model_expansions/quantum_operations/bind.py +14 -0
  26. classiq/model_expansions/quantum_operations/skip_control_verifier.py +20 -0
  27. classiq/model_expansions/quantum_operations/variable_decleration.py +59 -27
  28. classiq/open_library/functions/__init__.py +2 -0
  29. classiq/open_library/functions/discrete_sine_cosine_transform.py +15 -10
  30. classiq/open_library/functions/qsvt.py +60 -6
  31. classiq/qmod/builtins/operations.py +24 -0
  32. classiq/qmod/classical_variable.py +4 -2
  33. classiq/qmod/native/pretty_printer.py +8 -0
  34. classiq/qmod/pretty_print/pretty_printer.py +5 -0
  35. classiq/qmod/quantum_expandable.py +31 -15
  36. classiq/qmod/symbolic_expr.py +12 -4
  37. classiq/synthesis.py +1 -1
  38. {classiq-0.91.1.dist-info → classiq-0.93.0.dist-info}/METADATA +39 -34
  39. {classiq-0.91.1.dist-info → classiq-0.93.0.dist-info}/RECORD +41 -37
  40. classiq-0.93.0.dist-info/WHEEL +4 -0
  41. classiq-0.93.0.dist-info/licenses/LICENSE.txt +27 -0
  42. classiq/interface/ide/ide_data.py +0 -102
  43. classiq-0.91.1.dist-info/WHEEL +0 -4
@@ -78,6 +78,7 @@ from classiq.interface.model.quantum_type import (
78
78
  QuantumNumeric,
79
79
  )
80
80
  from classiq.interface.model.repeat import Repeat
81
+ from classiq.interface.model.skip_control import SkipControl
81
82
  from classiq.interface.model.statement_block import StatementBlock
82
83
  from classiq.interface.model.variable_declaration_statement import (
83
84
  VariableDeclarationStatement,
@@ -311,6 +312,13 @@ class DSLPrettyPrinter(ModelVisitor):
311
312
  control += "\n"
312
313
  return control
313
314
 
315
+ def visit_SkipControl(self, op: SkipControl) -> str:
316
+ sc = f"{self._indent}skip_control {{\n"
317
+ sc += self._visit_body(op.body)
318
+ sc += f"{self._indent}}}"
319
+ sc += "\n"
320
+ return sc
321
+
314
322
  def visit_PhaseOperation(self, op: PhaseOperation) -> str:
315
323
  theta = f", {self.visit(op.theta)}" if op.theta.expr != "1.0" else ""
316
324
  phase = f"{self._indent}phase ({self.visit(op.expression)}{theta});\n"
@@ -78,6 +78,7 @@ from classiq.interface.model.quantum_type import (
78
78
  QuantumNumeric,
79
79
  )
80
80
  from classiq.interface.model.repeat import Repeat
81
+ from classiq.interface.model.skip_control import SkipControl
81
82
  from classiq.interface.model.statement_block import StatementBlock
82
83
  from classiq.interface.model.variable_declaration_statement import (
83
84
  VariableDeclarationStatement,
@@ -459,6 +460,10 @@ class PythonPrettyPrinter(ModelVisitor):
459
460
  )
460
461
  return f"{self._indent}control({self.visit(op.expression)}, {self._visit_body(op.body)}{control_else})\n"
461
462
 
463
+ def visit_SkipControl(self, op: SkipControl) -> str:
464
+ self._imports["skip_control"] = 1
465
+ return f"{self._indent}skip_control({self._visit_body(op.body)})\n"
466
+
462
467
  def visit_PhaseOperation(self, op: PhaseOperation) -> str:
463
468
  self._imports["phase"] = 1
464
469
  theta = f", {self.visit(op.theta)}" if op.theta.expr != "1.0" else ""
@@ -15,6 +15,7 @@ from typing import (
15
15
  overload,
16
16
  )
17
17
 
18
+ import numpy as np
18
19
  import pydantic
19
20
  from sympy import Basic
20
21
  from typing_extensions import Self
@@ -400,6 +401,7 @@ def _validate_classical_arg(
400
401
  and not _is_legal_iterable(arg)
401
402
  and not is_dataclass(arg) # type: ignore[unreachable]
402
403
  and not isinstance(arg, QmodStructInstance)
404
+ and not np.isscalar(arg)
403
405
  )
404
406
  try:
405
407
  is_pydantic_classical_type = isinstance(
@@ -472,6 +474,34 @@ def _prepare_args(
472
474
  return result
473
475
 
474
476
 
477
+ def _validate_argument_names(
478
+ decl: QuantumFunctionDeclaration, arg_list: list[Any], kwargs: dict[str, Any]
479
+ ) -> None:
480
+ params = decl.positional_arg_declarations
481
+ param_names = {
482
+ mangle_keyword(param.name) for param in params if param.name is not None
483
+ }
484
+ pos_arg_names = {
485
+ mangle_keyword(param.name)
486
+ for param in params[: len(arg_list)]
487
+ if param.name is not None
488
+ }
489
+ for kwarg_name in kwargs:
490
+ if kwarg_name not in param_names:
491
+ raise ClassiqValueError(
492
+ f"{decl.name}() got an unexpected keyword argument {kwarg_name!r}"
493
+ )
494
+ if kwarg_name in pos_arg_names:
495
+ raise ClassiqValueError(
496
+ f"{decl.name}() got multiple values for argument {kwarg_name!r}"
497
+ )
498
+ total_args = len(arg_list) + len(kwargs)
499
+ if total_args != len(params):
500
+ raise ClassiqValueError(
501
+ f"{decl.name}() takes {len(params)} arguments but {total_args} were given"
502
+ )
503
+
504
+
475
505
  def _create_quantum_function_call(
476
506
  decl_: QuantumFunctionDeclaration,
477
507
  index_: Optional[Union[CParamScalar, int]] = None,
@@ -479,24 +509,10 @@ def _create_quantum_function_call(
479
509
  *args: Any,
480
510
  **kwargs: Any,
481
511
  ) -> QuantumFunctionCall:
482
- arg_decls = decl_.positional_arg_declarations
483
512
  arg_list = list(args)
513
+ _validate_argument_names(decl_, arg_list, kwargs)
484
514
  prepared_args = _prepare_args(decl_, arg_list, kwargs)
485
515
 
486
- if kwargs:
487
- bad_kwarg = next(iter(kwargs))
488
- if not all(arg_decl.name == bad_kwarg for arg_decl in arg_decls):
489
- raise ClassiqValueError(
490
- f"{decl_.name}() got an unexpected keyword argument {bad_kwarg!r}"
491
- )
492
- else:
493
- raise ClassiqValueError(
494
- f"{decl_.name}() got multiple values for argument {bad_kwarg!r}"
495
- )
496
- if arg_list:
497
- raise ClassiqValueError(
498
- f"{decl_.name}() takes {len(arg_decls)} arguments but {len(args)} were given"
499
- )
500
516
  function_ident: Union[str, OperandIdentifier] = decl_.name
501
517
  if index_ is not None:
502
518
  function_ident = OperandIdentifier(
@@ -6,6 +6,8 @@ from typing import Any
6
6
 
7
7
  import sympy
8
8
 
9
+ from classiq.interface.exceptions import ClassiqTypeError
10
+
9
11
  from classiq.qmod.utilities import qmod_val_to_expr_str
10
12
 
11
13
 
@@ -24,7 +26,7 @@ class Symbolic:
24
26
  try:
25
27
  return bool(ast.literal_eval(self._expr))
26
28
  except ValueError:
27
- raise TypeError(
29
+ raise ClassiqTypeError(
28
30
  f"Symbolic expression {self._expr!r} cannot be converted to bool"
29
31
  ) from None
30
32
 
@@ -38,12 +40,16 @@ class SymbolicExpr(Symbolic):
38
40
  if not isinstance(
39
41
  lhs, (SymbolicExpr, int, float, bool, PythonEnum, sympy.Basic)
40
42
  ):
41
- raise TypeError(f"Invalid lhs argument {lhs!r} for binary operation {op!r}")
43
+ raise ClassiqTypeError(
44
+ f"Invalid lhs argument {lhs!r} for binary operation {op!r}"
45
+ )
42
46
 
43
47
  if not isinstance(
44
48
  rhs, (SymbolicExpr, int, float, bool, PythonEnum, sympy.Basic)
45
49
  ):
46
- raise TypeError(f"Invalid lhs argument {rhs!r} for binary operation {op!r}")
50
+ raise ClassiqTypeError(
51
+ f"Invalid lhs argument {rhs!r} for binary operation {op!r}"
52
+ )
47
53
 
48
54
  lhs_str = qmod_val_to_expr_str(lhs)
49
55
  if not isinstance(lhs, (int, float, bool, PythonEnum)):
@@ -62,7 +68,9 @@ class SymbolicExpr(Symbolic):
62
68
  @staticmethod
63
69
  def _unary_op(arg: Any, op: str) -> SymbolicExpr:
64
70
  if not isinstance(arg, (SymbolicExpr, int, float, bool)):
65
- raise TypeError(f"Invalid argument {arg!r} for unary operation {op!r}")
71
+ raise ClassiqTypeError(
72
+ f"Invalid argument {arg!r} for unary operation {op!r}"
73
+ )
66
74
 
67
75
  arg_is_quantum = isinstance(arg, SymbolicExpr) and arg.is_quantum
68
76
 
classiq/synthesis.py CHANGED
@@ -69,7 +69,7 @@ def synthesize(
69
69
  ) -> QuantumProgram:
70
70
  """
71
71
  Synthesize a model with the Classiq engine to receive a quantum program.
72
- [More details](https://docs.classiq.io/latest/reference-manual/synthesis/)
72
+ [More details](https://docs.classiq.io/latest/sdk-reference/synthesis/#classiq.synthesize)
73
73
 
74
74
  Args:
75
75
  model: The entry point of the Qmod model - a qfunc named 'main' (or alternatively the output of 'create_model').
@@ -1,12 +1,11 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: classiq
3
- Version: 0.91.1
3
+ Version: 0.93.0
4
4
  Summary: Classiq's Python SDK for quantum computing
5
- License: Proprietary
6
5
  Keywords: quantum computing,quantum circuits,quantum algorithms,QAD,QDL
7
6
  Author: Classiq Technologies
8
- Author-email: support@classiq.io
9
- Requires-Python: >=3.9, <3.13
7
+ Author-email: Classiq Technologies <support@classiq.io>
8
+ License-File: LICENSE.txt
10
9
  Classifier: Development Status :: 4 - Beta
11
10
  Classifier: License :: Other/Proprietary License
12
11
  Classifier: Intended Audience :: Developers
@@ -26,37 +25,44 @@ Classifier: Topic :: Software Development :: Code Generators
26
25
  Classifier: Topic :: Software Development :: Compilers
27
26
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
28
27
  Classifier: Typing :: Typed
28
+ Requires-Dist: configargparse>=1.5.3,<2
29
+ Requires-Dist: pydantic>=2.10.4,<3
30
+ Requires-Dist: keyring>=23.5.0,<24
31
+ Requires-Dist: pyomo>=6.9,<6.10
32
+ Requires-Dist: httpx>=0.23.0,<1
33
+ Requires-Dist: packaging~=23.2
34
+ Requires-Dist: numpy>=1.26.4,<2 ; python_full_version < '3.10'
35
+ Requires-Dist: numpy<3.0.0 ; python_full_version >= '3.10'
36
+ Requires-Dist: networkx>=3.2.0,<4.0.0
37
+ Requires-Dist: matplotlib>=3.4.3,<4
38
+ Requires-Dist: tabulate>=0.8.9,<1
39
+ Requires-Dist: pandas>=2.0.0,<3
40
+ Requires-Dist: sympy>=1.13.0,<2
41
+ Requires-Dist: plotly>=5.7.0,<6
42
+ Requires-Dist: numexpr>=2.7.3,<3
43
+ Requires-Dist: scipy>=1.11.0,<2
44
+ Requires-Dist: black~=24.0
45
+ Requires-Dist: pydantic-settings>=2.4.0,<3
46
+ Requires-Dist: tqdm>=4.67.1,<5
47
+ Requires-Dist: zstandard>=0.23.0,<0.24
48
+ Requires-Dist: ipywidgets>=7.7.1,<8.0.0 ; extra == 'analyzer-sdk'
49
+ Requires-Dist: jupyterlab>=4.2.5,<5 ; extra == 'analyzer-sdk'
50
+ Requires-Dist: notebook>=7.2.2,<8 ; extra == 'analyzer-sdk'
51
+ Requires-Dist: openfermion==1.6.1 ; python_full_version < '3.10' and extra == 'chemistry'
52
+ Requires-Dist: openfermion==1.7.1 ; python_full_version >= '3.10' and extra == 'chemistry'
53
+ Requires-Dist: openfermionpyscf>=0.5 ; extra == 'chemistry'
54
+ Requires-Dist: torch~=2.3 ; extra == 'qml'
55
+ Requires-Dist: torchvision>=0.18,<1.0 ; extra == 'qml'
56
+ Requires-Dist: cvxpy>=1.7.1,<2 ; extra == 'qsp'
57
+ Requires-Dist: pyqsp>=0.2.0,<0.3 ; extra == 'qsp'
58
+ Requires-Python: >=3.9, <3.13
59
+ Project-URL: documentation, https://docs.classiq.io/
60
+ Project-URL: examples, https://github.com/Classiq/classiq-library
61
+ Project-URL: homepage, https://classiq.io
29
62
  Provides-Extra: analyzer-sdk
30
63
  Provides-Extra: chemistry
31
64
  Provides-Extra: qml
32
- Requires-Dist: ConfigArgParse (>=1.5.3,<2.0.0)
33
- Requires-Dist: Pyomo (>=6.9,<6.10)
34
- Requires-Dist: black (>=24.0,<25.0)
35
- Requires-Dist: httpx (>=0.23.0,<1)
36
- Requires-Dist: ipywidgets ; extra == "analyzer-sdk"
37
- Requires-Dist: jupyterlab ; extra == "analyzer-sdk"
38
- Requires-Dist: keyring (>=23.5.0,<24.0.0)
39
- Requires-Dist: matplotlib (>=3.4.3,<4.0.0)
40
- Requires-Dist: networkx (>=3.2.0,<4.0.0)
41
- Requires-Dist: notebook ; extra == "analyzer-sdk"
42
- Requires-Dist: numexpr (>=2.7.3,<3.0.0)
43
- Requires-Dist: numpy (<3.0.0) ; python_version >= "3.10"
44
- Requires-Dist: numpy (>=1.26.4,<2.0.0) ; python_version < "3.10"
45
- Requires-Dist: openfermion ; extra == "chemistry"
46
- Requires-Dist: openfermionpyscf ; extra == "chemistry"
47
- Requires-Dist: packaging (>=23.2,<24.0)
48
- Requires-Dist: pandas (>=1.4.0,<3.0.0)
49
- Requires-Dist: plotly (>=5.7.0,<6.0.0)
50
- Requires-Dist: pydantic (>=2.10.4,<3.0.0)
51
- Requires-Dist: pydantic-settings (>=2.4.0,<3.0.0)
52
- Requires-Dist: scipy (>=1.10.0,<2.0.0) ; python_version < "3.12"
53
- Requires-Dist: scipy (>=1.11.0,<2.0.0) ; python_version >= "3.12"
54
- Requires-Dist: sympy (>=1.13.0,<2.0.0)
55
- Requires-Dist: tabulate (>=0.8.9,<1)
56
- Requires-Dist: torch ; extra == "qml"
57
- Requires-Dist: torchvision ; extra == "qml"
58
- Requires-Dist: tqdm (>=4.67.1,<5.0.0)
59
- Requires-Dist: zstandard (>=0.23.0,<0.24.0)
65
+ Provides-Extra: qsp
60
66
  Description-Content-Type: text/markdown
61
67
 
62
68
  <p align="center">
@@ -79,4 +85,3 @@ For information about Classiq's SDK, see the
79
85
  ## License
80
86
 
81
87
  See [license](https://classiq.io/license).
82
-
@@ -1,4 +1,4 @@
1
- classiq/__init__.py,sha256=OAYqqP7XmK0vY3fqKbrKAEAZEbIxGsyDqphVIJfU5Cg,3682
1
+ classiq/__init__.py,sha256=NWAOP_EfUly9LWbp50c6M5Q-WFblUDZs8annNdNexIY,4005
2
2
  classiq/_analyzer_extras/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  classiq/_analyzer_extras/_ipywidgets_async_extension.py,sha256=7zv7mANDaLHH8QRGyY9QGDPPKPTjKKYdoq22iJaq_Ns,2190
4
4
  classiq/_analyzer_extras/interactive_hardware.py,sha256=f7ad2HeFq1f-2dJtPpgOE_w2IFzm49W6P_c-MzqJ5qE,3257
@@ -12,7 +12,7 @@ classiq/_internals/authentication/device.py,sha256=dUii1-Z26j0NY4R6J4p0gjYSq5Goj
12
12
  classiq/_internals/authentication/password_manager.py,sha256=nhJyr8IGrsq3oaGtD0UXZ_rCN4GPI-4LrTYHc1R--sQ,4464
13
13
  classiq/_internals/authentication/token_manager.py,sha256=XStkqCPUQEqc3uj6tt_XzfUIcUlyT-94tBZ8tpQIy_s,5280
14
14
  classiq/_internals/client.py,sha256=gHnkpKedytRAXaRasU2CkICttbQd2IsT1tAPPGd8oTU,12634
15
- classiq/_internals/config.py,sha256=xABHFEtcW5RlPWQ7PG2BNC1DSmY62cfpOnR7qReVxF8,3555
15
+ classiq/_internals/config.py,sha256=1WAD_ippHe1RBm4yWoSSEUhhkBYJTq3oh-fa6naNCp8,3560
16
16
  classiq/_internals/help.py,sha256=9gl64Y8nKW-f-8pYt7lMozOP6uERcIIf8dotgn_WKA0,460
17
17
  classiq/_internals/host_checker.py,sha256=D0rgnoZrHo62rYS32yCuYZSyMrMChZG5ITsJxwj0R5g,3969
18
18
  classiq/_internals/jobs.py,sha256=Wu8FvnhqAjLghBhfrCOHj0cMSH7LV39gI-6Iit_TWOc,6329
@@ -22,9 +22,9 @@ classiq/analyzer/__init__.py,sha256=1ASEd3a5BLznMq_uD4ogR6buanALXfJIONZYmCweAgA,
22
22
  classiq/analyzer/analyzer.py,sha256=GOCuI9YpNCOGuA139j9gCMheu8qBDuj0wixNg-cyXpU,6648
23
23
  classiq/analyzer/analyzer_utilities.py,sha256=PT_WsLygmAx4Hf7-VGBzKi6xHclIy5FYelCkdtChe1k,3658
24
24
  classiq/analyzer/rb.py,sha256=gUQPYEcy99rLcV-MQG87HSbiQP4IP_Qz3KKqqeq2T2E,4934
25
- classiq/analyzer/show_interactive_hack.py,sha256=8cRUN6Tf2qbdFdhBCLwZXQieBC3niIzWiX9cI3zwHSM,5771
25
+ classiq/analyzer/show_interactive_hack.py,sha256=1NQEOlRkoolEJPlrk7AdYDMqTFx-duNXu1i1_MK7dYQ,5781
26
26
  classiq/analyzer/url_utils.py,sha256=VkZCzidnFRIAGShn0u1PO3BFJvN5776_szco8Y7Vejs,829
27
- classiq/applications/__init__.py,sha256=7Bcp2IIbEFH88HOyrQwgQ7kvwHaaNSWQu3I8SlCubaM,282
27
+ classiq/applications/__init__.py,sha256=4YdfSI4NvnmFcD-v8tQk-t5uupI0_cU8UDrOLeNW_EY,279
28
28
  classiq/applications/chemistry/__init__.py,sha256=_OGx8E8znq8jpjnHCSj89NpjxkcFZZ7endS5JLCybBM,1094
29
29
  classiq/applications/chemistry/ansatz_parameters.py,sha256=2YXfTOGrsCc6xMpLiGhnIQfI6iBXvlWOS9DY862fgJc,673
30
30
  classiq/applications/chemistry/chemistry_execution_parameters.py,sha256=bqzXBwEl56a7OGKNk_aV2MGPxdMebwG7bIUqVJQyJQ0,505
@@ -85,6 +85,8 @@ classiq/applications/qnn/gradients/simple_quantum_gradient.py,sha256=QT1wh9SpSFt
85
85
  classiq/applications/qnn/qlayer.py,sha256=AfLgvNfWQpF-srLbGC4DIZYCm7PLPQ7sHI0B_J_pgtc,9066
86
86
  classiq/applications/qnn/torch_utils.py,sha256=vCUsTyvDCSwY9Z9rcK9QslEzAVag3caTHFXXH8iblUg,4430
87
87
  classiq/applications/qnn/types.py,sha256=mDElTam102OolLt1KWrVHZPW_9jNTUyhohJLEN-SOs0,835
88
+ classiq/applications/qsp/__init__.py,sha256=8Zr-aJ3SQMD7f4YaUikbKB6gDD0gOhPD_ZO9poaEtqY,169
89
+ classiq/applications/qsp/qsp.py,sha256=U3XDc6jryWFeYPT8kZ8GJAp5cEv8r32LGooahto28W4,13535
88
90
  classiq/applications/qsvm/__init__.py,sha256=ctM9hllKY9zuc3Ps8YgLBrDXgPInJNwJ3nVpTurs8MY,191
89
91
  classiq/applications/qsvm/qsvm.py,sha256=vuc7TDHcxN9VvPRDufRmXcIVHkCpzjz2QuY48WJN6Is,177
90
92
  classiq/applications/qsvm/qsvm_data_generation.py,sha256=BIXBAxYNAvwZi1pVQJeSPTa5b5CTRaejuAlBgyy3d9E,1604
@@ -93,7 +95,7 @@ classiq/evaluators/argument_types.py,sha256=ecSLiaXuI9iEGIePNSM-MrTxulOb5pMPfcoK
93
95
  classiq/evaluators/classical_expression.py,sha256=5xtDBn-hAguMuoQ9VCVLMd8jVIY2aD_uBpOgoWO0c3Q,2626
94
96
  classiq/evaluators/control.py,sha256=aJvAFwWEV__hbjD97z4dcjCYf8O0Pcbg6WNjP5ymqHM,3472
95
97
  classiq/evaluators/expression_evaluator.py,sha256=eMuGRocdNj3uQbcMGWBamVyFQKlh1H3MXnNzzENSYNY,1668
96
- classiq/evaluators/parameter_types.py,sha256=AJ_6T-U-5PqgQK9Hm9bjQRjzWl55liIzrqIg2K2sKGM,16450
98
+ classiq/evaluators/parameter_types.py,sha256=oAyzhzrHUOn5wSYhBeoo43KihvKzG72hPVyxU6jrGHo,16677
97
99
  classiq/evaluators/qmod_annotated_expression.py,sha256=zJvgU88tX4ak--_nb0IyhWWndLhCqR0Mh3ZoibDtKnk,11227
98
100
  classiq/evaluators/qmod_expression_visitors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
101
  classiq/evaluators/qmod_expression_visitors/out_of_place_node_transformer.py,sha256=V77ZsxPvr52zSpUF3XuuP9_7khZRMIxon02I9gaayUo,682
@@ -128,12 +130,12 @@ classiq/execution/__init__.py,sha256=tjAsQFbm8_9yj6cHXK_E0Eajs1F7REjcKstddpsvkDI
128
130
  classiq/execution/all_hardware_devices.py,sha256=KpLefEISE03FDdgFPGggXeG7NAxBW4090gN4272Dl-E,368
129
131
  classiq/execution/execution_session.py,sha256=AJPhCwNOo7tpjhUL-TAtkmL7uVhRgAFvSUdLm-gsPcY,25617
130
132
  classiq/execution/iqcc.py,sha256=fG92ZwgZl_tAih0vndZpIKksVCQuLTk5pJy2X4LRkxA,4298
131
- classiq/execution/jobs.py,sha256=XHOrmKuVXVmgwij4vdNtmrgrKrrY6mfZMFdsU8s4DmU,11768
133
+ classiq/execution/jobs.py,sha256=ionFy74Ywm0sxEd1YgQKySwHbVt8rBxoIgVn9GuHi8c,12154
132
134
  classiq/execution/qnn.py,sha256=S7I7OK59RF9jUcfhN4zso4bF-0HnqYnZID11iquA-lM,2467
133
135
  classiq/execution/user_budgets.py,sha256=aQ92T6fWMpnWUXe6WvOHHu1BdFGKjpbdPa8avoS5PaQ,2573
134
136
  classiq/executor.py,sha256=uLr1640-DZtdPP0T6fCsmUf1Jj7QPumyoE09mJ8lVo0,2308
135
137
  classiq/interface/__init__.py,sha256=cg7hD_XVu1_jJ1fgwmT0rMIoZHopNVeB8xtlmMx-E_A,83
136
- classiq/interface/_version.py,sha256=7cCqWKyPg2zyNfcMgZ8WvZjA_N5XifDYzLoEIqtsYYM,197
138
+ classiq/interface/_version.py,sha256=0WIJMEoCzLhDjeLCYC93_TntjGj5QL6x43PPgzVPFKM,197
137
139
  classiq/interface/analyzer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
140
  classiq/interface/analyzer/analysis_params.py,sha256=lhytuFXEU7sYXo2vtvoGpuwWsB-RglOAjtQ9jT0vpn8,3010
139
141
  classiq/interface/analyzer/cytoscape_graph.py,sha256=MpeRBIYS1TfwYwiFpgTO51IE0KoxhY510pmEM3S0rbw,2361
@@ -145,7 +147,7 @@ classiq/interface/applications/iqae/iqae_result.py,sha256=S13A_mQKRTBaqO2NKJEJlg
145
147
  classiq/interface/applications/qsvm.py,sha256=4dHVSZH--sv58SvxmpDHPh9JDr4qQUZbbGCeaEv6b1I,3408
146
148
  classiq/interface/ast_node.py,sha256=-X3lke3c2Wm0fGDupj0g4cGfuRmLv4hA4EjLsJ1dHqE,941
147
149
  classiq/interface/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
- classiq/interface/backend/backend_preferences.py,sha256=uxcmn15AOi27tXkoSTT9_YrPJwpnx9zT9S0_eX26Flc,20730
150
+ classiq/interface/backend/backend_preferences.py,sha256=bi9dyNnEKVceXkqm_yVHyZuFohijir6duFj6O3iAEV4,20512
149
151
  classiq/interface/backend/ionq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
152
  classiq/interface/backend/ionq/ionq_quantum_program.py,sha256=f8w1XvgIggaM_w9TF0_wkQHB3wamXg5kHMNsgtCsH3k,1235
151
153
  classiq/interface/backend/pydantic_backend.py,sha256=XfG1u_8ZEq382P5LTHYEhjkDH7UZYY_1sl1O-RImSmk,1610
@@ -185,7 +187,7 @@ classiq/interface/debug_info/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
185
187
  classiq/interface/debug_info/back_ref_util.py,sha256=plWBiBMfFIY6aYAR3NVYComsY394ysLVdk_yFy1qcC4,791
186
188
  classiq/interface/debug_info/debug_info.py,sha256=edYYZyJpAbACibNcyqVyiyhBaZMSOzo8yt0qDoCAPzo,4437
187
189
  classiq/interface/enum_utils.py,sha256=QxkxLGgON8vdSzLZzHFlPEBJoGOqoIwpESEfLfRqN0w,312
188
- classiq/interface/exceptions.py,sha256=fXl3esnLP03zds09BLxIJSN4aIwx2PVPX0Do8awfLjg,4418
190
+ classiq/interface/exceptions.py,sha256=TZWXvuQSYqE-Yy5uF95DF22L-wKLmr1fbeXOmfW2p3k,4478
189
191
  classiq/interface/execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
192
  classiq/interface/execution/iqcc.py,sha256=pS4c4y37i8NtKRcXDtamdir7021A82w0gSw5Ar368kQ,838
191
193
  classiq/interface/execution/primitives.py,sha256=ET5rK8WAISdhekLJA-nUk3uPHkf3u6XqX2b1lr8aI-k,1501
@@ -201,7 +203,7 @@ classiq/interface/executor/quantum_code.py,sha256=_aXwuG8wkSDPUIpTlbLoWkepHH4gv3
201
203
  classiq/interface/executor/quantum_instruction_set.py,sha256=z6i6jWsXjatmyrTJW6t9XjQrO6scRgmfV1Oi2xEEu1A,592
202
204
  classiq/interface/executor/quantum_program_params.py,sha256=yoxZRCa-O_sbzchUXPcIjQ_doT6db_8o9mf040NDWkM,503
203
205
  classiq/interface/executor/register_initialization.py,sha256=-dkivVSDkkLGkIdu0L5VaONhPCRp_JE42LiAZuHUK7k,1365
204
- classiq/interface/executor/result.py,sha256=VfC-Fjj1CIRW98cBgbLT1MvJ1ZQJctraWjjge5qXLTU,16765
206
+ classiq/interface/executor/result.py,sha256=z2ocubv2AtHM5EV5fjjURyVRxDftORvtjaWh5HG-dmk,16885
205
207
  classiq/interface/executor/user_budget.py,sha256=ybjBF-kvN1p4m-3zJ_MqcpQfrgAf5w4DfvilwlW10bE,1322
206
208
  classiq/interface/executor/vqe_result.py,sha256=cH66jBbZVhyU5Ud4WeoC1eKeX15aO60phEXWFrilc4E,2324
207
209
  classiq/interface/generator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -272,7 +274,7 @@ classiq/interface/generator/function_param_list.py,sha256=qytPr8Fa0rjxaFI6Od2qaG
272
274
  classiq/interface/generator/function_params.py,sha256=GNWfJu_lmcNIZni6PwT0RvsQz0pVrvWiWzfPAnWRneI,9679
273
275
  classiq/interface/generator/functions/__init__.py,sha256=HXHq8Fw2zHG3AYuRXrDEQdJ-CEFX7ibsNCp8czuCmmM,73
274
276
  classiq/interface/generator/functions/builtins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
- classiq/interface/generator/functions/builtins/internal_operators.py,sha256=12AfPkgPEw8FqFpB_m8hmaKboezqNzn0lFWMpykedxI,516
277
+ classiq/interface/generator/functions/builtins/internal_operators.py,sha256=r1D2ORIVx32C36lZ85kDGC6J9XrYAdDjw97I5VMKlI4,560
276
278
  classiq/interface/generator/functions/classical_function_declaration.py,sha256=1Y8LNr1HzKYNpxAZ5AIi7ko0fftO5kbkYPqZsJbXXto,1168
277
279
  classiq/interface/generator/functions/classical_type.py,sha256=wbOe307407mfpRG5yvxoMGKVrCpNeHIk4SFp_IqfE5E,10201
278
280
  classiq/interface/generator/functions/concrete_types.py,sha256=XHrnvhIgRpoLi4_OVmjFn2Djib123uWu98SKPAPsHVo,1662
@@ -281,7 +283,7 @@ classiq/interface/generator/functions/port_declaration.py,sha256=ESJE_19jOg_zS1r
281
283
  classiq/interface/generator/functions/qmod_python_interface.py,sha256=w1Oz3bV6KS7WzVB8z0_7CnNzdRqos9xoqJzD820db1c,590
282
284
  classiq/interface/generator/functions/type_modifier.py,sha256=m7KTKcrxN0ybUv36tLbqvf2VTwVnN8JL5HftNSPzII0,902
283
285
  classiq/interface/generator/functions/type_name.py,sha256=goaXBfdVjes2u1yqBRTbjP904Md4CSsRWX1EnavSfjU,7151
284
- classiq/interface/generator/generated_circuit_data.py,sha256=gy9TwWaWjgJDcvD1HITsl4t7398MvZ_DBJtXxoHgZH4,13552
286
+ classiq/interface/generator/generated_circuit_data.py,sha256=Fm78GIbkqlhAl9g9_p_RKNmgCj9Mm7yXH84z-9Fwf4Q,12976
285
287
  classiq/interface/generator/hadamard_transform.py,sha256=NI4oZBpDCGfaw2OTb5SL3iSGI_nDtyUgElTCO4pEKnk,673
286
288
  classiq/interface/generator/hamiltonian_evolution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
287
289
  classiq/interface/generator/hamiltonian_evolution/exponentiation.py,sha256=NIMJ8MTLHoQc0zAQo0r3py0n28eAN2UKcYbmLrbzNUo,1710
@@ -342,7 +344,7 @@ classiq/interface/generator/synthesis_execution_parameter.py,sha256=H7bNCQcixEol
342
344
  classiq/interface/generator/synthesis_metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
343
345
  classiq/interface/generator/synthesis_metadata/synthesis_duration.py,sha256=CzE61mB4cVKhwO443STVkcPYWPuEjuB02KCtjqqBi4I,468
344
346
  classiq/interface/generator/synthesis_metadata/synthesis_execution_data.py,sha256=lCSEvDEWrLQjoiKkSwm9qe2O3pnacCa_w_KU2aScvFo,1945
345
- classiq/interface/generator/transpiler_basis_gates.py,sha256=2XQiFfBh4HQZ6q7AV5wfVrl1ii71DqEWdZgoZvi4HVw,2535
347
+ classiq/interface/generator/transpiler_basis_gates.py,sha256=cUKqFTEsSJejQbFqaZKlTX5rYOAGTPgfUa_RMnfoBX0,2542
346
348
  classiq/interface/generator/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
347
349
  classiq/interface/generator/types/builtin_enum_declarations.py,sha256=a6EEbADoxeP_AOjhLZKnRgnD-4I7y_aJXLkYXy5BWT4,2189
348
350
  classiq/interface/generator/types/compilation_metadata.py,sha256=KbrBAPM-3tpwwwv38ugMDMRG0zHAH4Y_moD2jRWtKnQ,586
@@ -369,22 +371,21 @@ classiq/interface/helpers/model_normalizer.py,sha256=TC3byg70bLCHubzYttLr_jz2AtH
369
371
  classiq/interface/helpers/pydantic_model_helpers.py,sha256=i4AccZnH4EuxaRF6dbMdNrZ2kwxbbHsjzxP-fGDtyE0,548
370
372
  classiq/interface/helpers/text_utils.py,sha256=T0EYCtSg6antfbvXwE5meoDHGRwNHQL7YaHpqHEE9JU,584
371
373
  classiq/interface/helpers/validation_helpers.py,sha256=Jt0xs5EZeEQZOBEZPRmKctHmAiEfp6cWhLcSycsU_8w,594
372
- classiq/interface/helpers/versioned_model.py,sha256=ttIxi5oRkISFtTlVXU47gcamqE3hWr1YGSkS2ZQ8Y_o,677
374
+ classiq/interface/helpers/versioned_model.py,sha256=XFjk7GPEUKeUeXc4fK0azhUUvze8bNheTDDIE-JZTdw,579
373
375
  classiq/interface/ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
374
- classiq/interface/ide/ide_data.py,sha256=a6HlNobQy4-5zkcRRfhPp7WZ1k7cV2D5Hl4LLeSD_3U,2532
375
376
  classiq/interface/ide/operation_registry.py,sha256=WlOrN0kIM8Tda-ix5G25uMXQM-B49mjl1YnUGCOKu_c,1585
376
377
  classiq/interface/ide/visual_model.py,sha256=QwQfZ5NyCNmmmyA7AbX8vlWRynaC1noeQ97AOebvHvE,6270
377
- classiq/interface/interface_version.py,sha256=xE-GrYxA_H8DtcmC-Uu27pU8yDRmpL7EB2LwXM8KlgQ,25
378
+ classiq/interface/interface_version.py,sha256=1GyDh56S4XUiZbyiq2YyLxwMfkEMd2KmTFwu3s-j_2c,25
378
379
  classiq/interface/jobs.py,sha256=i8hrBR2qtptCbxNI-PVYZedH_EDehOe2i09JbJUlD1g,2339
379
380
  classiq/interface/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
380
381
  classiq/interface/model/allocate.py,sha256=sN9v5ile1oxkahpML8o1nB39odHMcHnsXDuMMhEFcgY,993
381
- classiq/interface/model/bind_operation.py,sha256=J0E6u8KOSB-vRcdpsukYpk1oc8efRohyX-PwLKh98Dc,1869
382
+ classiq/interface/model/bind_operation.py,sha256=wfc1u6VX5urfOVuwW5bUnBKXuDzDDjS-2XBQTK3knjM,1470
382
383
  classiq/interface/model/block.py,sha256=x-yff9PAxI4jmRGN-btCY0k-ke7sU5V2igS-szpkxlE,382
383
384
  classiq/interface/model/bounds.py,sha256=gGIo1wW1ZliA-EJSgkpHW_0la4NUhzziDxdr3H6yHc8,723
384
385
  classiq/interface/model/classical_if.py,sha256=CGxctbd44IaDuzYIMvAzGWte6pxEPKVc1UsbaQueeSk,2087
385
386
  classiq/interface/model/classical_parameter_declaration.py,sha256=Xy545UrJPBL7o-2eL6vOQ1YfrKmQRDZj7eSdl7ap_lI,1363
386
387
  classiq/interface/model/control.py,sha256=D2AxQG5Fb6uT-Bf1HYA20ESJ11Z0Nkkb6apHzD9_XOg,1534
387
- classiq/interface/model/handle_binding.py,sha256=RKHZ8hKulb735mrvothttDH7BsFwvZVxjC_y8rVcYXE,12667
388
+ classiq/interface/model/handle_binding.py,sha256=yr9cTVPEcrtY1wqeAYp1cpEXIUjR3kpzDYqWBUl6iZ0,12754
388
389
  classiq/interface/model/inplace_binary_operation.py,sha256=NkQY99yXE8y7aqyAolFUXkSi7gcIuuyFMYdB8hA2KBw,1630
389
390
  classiq/interface/model/invert.py,sha256=-NuT2Fb9sNIvS6x_14wqLSiqngRlCdmdmBqpAzZMp6M,458
390
391
  classiq/interface/model/model.py,sha256=CDFnLG6Qv4gjzGQROzWm2Pf1_PW2gHqrZa2tWFjt3M8,7339
@@ -404,7 +405,8 @@ classiq/interface/model/quantum_lambda_function.py,sha256=4bAlG9czqRbrDSKusdy7Eh
404
405
  classiq/interface/model/quantum_statement.py,sha256=u04etTX42gl7GdW4RqTdVfcOAUTiwaRHVYWh3_eVWVY,3830
405
406
  classiq/interface/model/quantum_type.py,sha256=jLpDW6SIL7fpvhvierC6w3WIvet631tyE1kS0CkcDyw,16144
406
407
  classiq/interface/model/repeat.py,sha256=1j8QBxO3swEx6-hByMeLTRSPB3Tf2aOLFUUbKqSJvCg,662
407
- classiq/interface/model/statement_block.py,sha256=CWed4nDefWPK-G3vxayJ9dA13uXLfuKpPWyQkxB41G0,2260
408
+ classiq/interface/model/skip_control.py,sha256=qkFniKBZBsI8yPLw98e-ErdCvljOIwrnrrPtmW7zbMo,303
409
+ classiq/interface/model/statement_block.py,sha256=O4iYIl2-gGEjYJsLNH_vYNSD7aQhqPOkfjc6ToJEL-o,2370
408
410
  classiq/interface/model/validation_handle.py,sha256=dbaY2ck5g36RkY1peYVxFXK_CFyA7L0k5flADpu9s68,1577
409
411
  classiq/interface/model/variable_declaration_statement.py,sha256=soX_IP3TaYETosyPp3A9xzcA3jpMSLX80pi9Llf9Ffw,1402
410
412
  classiq/interface/model/within_apply_operation.py,sha256=YYyAbDAqDNGhwBzDUdYHGbmYczKrmvY-gxn4HgXisQQ,707
@@ -417,7 +419,7 @@ classiq/interface/pyomo_extension/pyomo_sympy_bimap.py,sha256=ED3DFL7hKnrrEoV4V3
417
419
  classiq/interface/pyomo_extension/set_pprint.py,sha256=jlyYUHfQXwyzPQIzstnTeIK6T62BcSPn3eJdD1Qjy7E,344
418
420
  classiq/interface/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
419
421
  classiq/interface/server/global_versions.py,sha256=EyUtBCoGHjgS4jybiHI8wOZq3WOqvta2WYZc5MARkoA,274
420
- classiq/interface/server/routes.py,sha256=iEhlkl84Sp1cuTfv2sTfy7kdnuIo5P_XcuyXnoIgDdc,4142
422
+ classiq/interface/server/routes.py,sha256=KXrUBkRUrHt5nt2U4q-HdpAoSxq0QcLeYt0VJNM_fa0,3971
421
423
  classiq/interface/source_reference.py,sha256=H31MKyWVq6pHdJ8fgjd56AvXBx6qWvqXJBERoElS2fk,1881
422
424
  classiq/model_expansions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
423
425
  classiq/model_expansions/arithmetic.py,sha256=APgL7EbRTBQgEtZWcAri-hmFT2dOmWXmQ7otZ4zkmEU,5004
@@ -432,13 +434,13 @@ classiq/model_expansions/generative_functions.py,sha256=RVE6bpuY1LxH95x3ZWNKb5Lv
432
434
  classiq/model_expansions/interpreters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
433
435
  classiq/model_expansions/interpreters/base_interpreter.py,sha256=tS6NzNgo7Q4T5aD2cWJRvVnY2KNfjE3CuJfRxZ8n7FA,14767
434
436
  classiq/model_expansions/interpreters/frontend_generative_interpreter.py,sha256=1cLioVejTqjOiINvaXmVgg0aVbyTaGobGLJHnQCxqpA,3784
435
- classiq/model_expansions/interpreters/generative_interpreter.py,sha256=mNvGctSHzMF-Lgk8X52q1n-_t9hnQatA-SVMeXWTJ1A,15643
437
+ classiq/model_expansions/interpreters/generative_interpreter.py,sha256=vtgKqzEq6j6TioaZfZjiCzah-pYe716zrlBp1MP8COc,16239
436
438
  classiq/model_expansions/quantum_operations/__init__.py,sha256=unuHvw4nfyOwE_UyOcyLNHJfr_ZutX7msHNZ8yrToDM,398
437
439
  classiq/model_expansions/quantum_operations/allocate.py,sha256=BbdvJmlUK-UBFL7g3SDiBqbhODAO6vOfx1ZTHZts5r8,10584
438
440
  classiq/model_expansions/quantum_operations/arithmetic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
439
441
  classiq/model_expansions/quantum_operations/arithmetic/explicit_boolean_expressions.py,sha256=M61ftzpwB5MMqVFvyRucqBr2l6AofSaTLLc5ccATklA,2180
440
- classiq/model_expansions/quantum_operations/assignment_result_processor.py,sha256=cyTwU5ZCb5950etoXGOKklhvQv7MVi9XnlV5wuv3Kgg,11803
441
- classiq/model_expansions/quantum_operations/bind.py,sha256=TyY_MpEg1aZD9vHYeZSLdPokeVjRs1cq5LO7Uc8DKrc,6253
442
+ classiq/model_expansions/quantum_operations/assignment_result_processor.py,sha256=aj8_CRddYYNksVY8sKj6GgkXYW7WbBJ0LEIx0GoU9Q4,12092
443
+ classiq/model_expansions/quantum_operations/bind.py,sha256=6-jIhZEAXi5cb7xuOB4YN1KiDTK_DuXUNnkTqfD2jc4,6760
442
444
  classiq/model_expansions/quantum_operations/block_evaluator.py,sha256=06EYOb5CVDUvqYXKk-s-rcoY3rQ2Dr2XWUkqNzT0N0w,4734
443
445
  classiq/model_expansions/quantum_operations/bounds.py,sha256=p2qb5MybXCTEQ2zeJRN3P3CDtSyhLSjJ_QZ_-xEWjBM,1394
444
446
  classiq/model_expansions/quantum_operations/call_emitter.py,sha256=xs9IrNDotxMewoE-DXyysjpdJkSbTOCWyPB0Ma1tsCM,19177
@@ -451,7 +453,8 @@ classiq/model_expansions/quantum_operations/function_calls_cache.py,sha256=maEDj
451
453
  classiq/model_expansions/quantum_operations/handle_evaluator.py,sha256=VGh8W_pRhoynnn4mevOt2CHLUCuoeJmWZQk0XF5_HJ0,902
452
454
  classiq/model_expansions/quantum_operations/quantum_function_call.py,sha256=epgknrzzwDV1zN9PDLEMelu2wFzaM8UMWBbaD28CzBc,3448
453
455
  classiq/model_expansions/quantum_operations/repeat_block_evaluator.py,sha256=kV6quFtPq8YFrYqM5JrERxDRYJrjJOBueTvNOu-qAgc,1412
454
- classiq/model_expansions/quantum_operations/variable_decleration.py,sha256=rfYQ5CQFn6W2S3e6pj8nXxjf-h35cbpNKchkmLBDZBQ,2839
456
+ classiq/model_expansions/quantum_operations/skip_control_verifier.py,sha256=HQWGRhZeJKM6BOBkXNbfhihvgkj_uuZ6tHSzEQd7yIc,866
457
+ classiq/model_expansions/quantum_operations/variable_decleration.py,sha256=hDslofkCvWaTILcgDN4Oh8JDCediClqjf_PwFQCaav8,4141
455
458
  classiq/model_expansions/scope.py,sha256=k_m-eM67E9TXyT5zujP1whsPdwwVg5TIvckzIZJPM0U,11061
456
459
  classiq/model_expansions/scope_initialization.py,sha256=MvQ2RE0Ie8xRHgK2Fo2ZQHzYG2SIkdKDlZMXZXtv4BA,5407
457
460
  classiq/model_expansions/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -465,10 +468,10 @@ classiq/model_expansions/visitors/boolean_expression_transformers.py,sha256=ReVG
465
468
  classiq/model_expansions/visitors/symbolic_param_inference.py,sha256=d_JiEHHP-Bvw8eEAi3QG3pyAufwzpweCgjCStOs8fLI,8395
466
469
  classiq/model_expansions/visitors/variable_references.py,sha256=0Aj1gXNV4OYZ0x41a7eoNGW2axnABMoEgWBUPxlw4kE,6631
467
470
  classiq/open_library/__init__.py,sha256=bmg_qqXCXo85hcU7_QCce-qYGrpAVSFNwTKCClsclrg,114
468
- classiq/open_library/functions/__init__.py,sha256=R0WiSt0NMqqTV8NCSjF0fiFDfApUIaHUr99sHuN-geo,3626
471
+ classiq/open_library/functions/__init__.py,sha256=mO2-E_Ui5g-aeQi0nNFt6L09q4w6APxvnD-AYY_gOko,3648
469
472
  classiq/open_library/functions/amplitude_amplification.py,sha256=WH2dqYbmmWHZX7beu7-EipnC6Gzn4En4D2gmB2sXvZI,3997
470
473
  classiq/open_library/functions/amplitude_estimation.py,sha256=iCkca5SQN_HQoJWk1_tLT56fHT72hu5QIt2pxSZQRko,1766
471
- classiq/open_library/functions/discrete_sine_cosine_transform.py,sha256=mWlRIl_xHIvVclNxnIbGirPwbqTj6gE1ScjQEqnwb-M,4508
474
+ classiq/open_library/functions/discrete_sine_cosine_transform.py,sha256=G80JWzjJPnW-inncR7DiuDbvg9_4dOFiL5FLy1ZdRMc,4640
472
475
  classiq/open_library/functions/grover.py,sha256=RbsTMZdF860Pco-l6_6QkfSSwQ1SN10R4nYwXaIIaQ4,4652
473
476
  classiq/open_library/functions/hea.py,sha256=Nc9pj-4mGLZVQQKCaVRgrcPd4eViuz3Ji5ZeYzaCozg,4889
474
477
  classiq/open_library/functions/lcu.py,sha256=wzkavQZfIl1IsKPUou-sN6flb23YjT_4uR_khqG25Vk,4105
@@ -478,7 +481,7 @@ classiq/open_library/functions/modular_exponentiation.py,sha256=UqY31e13oGRjX06l
478
481
  classiq/open_library/functions/qaoa_penalty.py,sha256=bnsBlnLwmjAPB4CZ9m1SVPP-eGTnAKXXJwNB-_RuS_Y,4248
479
482
  classiq/open_library/functions/qft_functions.py,sha256=7pdPBq48QvyQkxHrF3rEKTf0J50qUu_2bN17lfSc7I0,1382
480
483
  classiq/open_library/functions/qpe.py,sha256=e7MBpOthBn73BdqhWpNGT0lkd6Jw3ZG7tE6n--IM0jc,2140
481
- classiq/open_library/functions/qsvt.py,sha256=wpLq0P-pmhdTaRQJJWRHwbTZqRnE1M58MfQ2y1C0YUI,14271
484
+ classiq/open_library/functions/qsvt.py,sha256=_PM8oid6azDY8NwEIilQV1B5_YCGcv9-eeOK_B0BdFc,16481
482
485
  classiq/open_library/functions/state_preparation.py,sha256=73rLbRwI86Kiz2EUICd-VodqPvAwUiWqEIKMLZzwALs,22764
483
486
  classiq/open_library/functions/swap_test.py,sha256=hAjiJjZGeJP2qzEkVYmBVlEK44VcNibWZ-KqJwPEcFY,1048
484
487
  classiq/open_library/functions/utility_functions.py,sha256=-0r7dUdh1KJa93QORRlmPFM8ZDObyreB5Q5Jx4d9RBM,2539
@@ -500,11 +503,11 @@ classiq/qmod/builtins/functions/mid_circuit_measurement.py,sha256=UYtVbsl1vZSBU7
500
503
  classiq/qmod/builtins/functions/operators.py,sha256=3IWFjUFhljY5CEe2ZU9Z8m33FzwM9E80IADcDcxVuNI,270
501
504
  classiq/qmod/builtins/functions/qsvm.py,sha256=Db7mW8Do2OuM7MjoMAtBgIFgKrcp49J34EetI2Pu5d8,572
502
505
  classiq/qmod/builtins/functions/standard_gates.py,sha256=mhIA7z8YTX-IY4hkwIklAEMmXB9oZ2YH7GSh2saGdqY,15936
503
- classiq/qmod/builtins/operations.py,sha256=Pqt2fQilC_jPU_oDCCqitBAfqg-W4D81hFS8yv7aTFQ,27435
506
+ classiq/qmod/builtins/operations.py,sha256=97Rckf_OcmT9JtUJs3wgK1p4lx6P8hT9FL0bxKfZwyE,28317
504
507
  classiq/qmod/builtins/structs.py,sha256=LkHvDjyNt-33QLmKyzslI6ZMqICI7vHrIYXFK8V1j6U,6646
505
508
  classiq/qmod/cfunc.py,sha256=e3zWNEloBBPy-wJaGI1K5cdNFbd3oq0o4TUY2YDr6ks,1087
506
509
  classiq/qmod/classical_function.py,sha256=iHm6T719PUZQPwuNSkouaMA8J9yHrrHUpP-2AQjsA5g,1088
507
- classiq/qmod/classical_variable.py,sha256=J3xonT7sOHLA-BHPxAoiSHEn_tkf-1cLevo3iv8g0Jw,2616
510
+ classiq/qmod/classical_variable.py,sha256=OTZr316ChpZwmSyMtYgB7US9jYeljkKwkt9aq4dpWUM,2663
508
511
  classiq/qmod/cparam.py,sha256=WqWG_XLYU4SVYDHHXsZNFu0QcE4dfaEM-0C_Q1OOFs0,2007
509
512
  classiq/qmod/create_model_function.py,sha256=vZowFbyQLSXo42Tmlogc9MDQTRgc_IkZVWaidP_ehV4,2858
510
513
  classiq/qmod/declaration_inferrer.py,sha256=vKXLLhaDQz89cHIBFC-BQvka__FgA0EP-SdlJSurPxs,8639
@@ -513,17 +516,17 @@ classiq/qmod/generative.py,sha256=n9nCvzBjseGUfyX6TipFej77b_zRTnMv84OoOTA54oc,14
513
516
  classiq/qmod/global_declarative_switch.py,sha256=30QOkNsDdsVdk14TNx-AetFbBskoXGpHQ-k--vNqVWc,427
514
517
  classiq/qmod/model_state_container.py,sha256=ZLP-yGf9syJy3uH6Bm5NhesoVfihADidvNP4tYYZwgs,2147
515
518
  classiq/qmod/native/__init__.py,sha256=gm0L3ew0KAy0eSqaMQrvpnKWx85HoA1p9ADaAlyejdA,126
516
- classiq/qmod/native/pretty_printer.py,sha256=1xO9NdstzN1eemVpfqdQzvkrwqQHW8vf3XvaisrE7oo,18584
519
+ classiq/qmod/native/pretty_printer.py,sha256=briyS8SS88nsYf00T133aqqeWmKg-SVOMm5ZX0GELc4,18862
517
520
  classiq/qmod/pretty_print/__init__.py,sha256=jhR0cpXumOJnyb-zWnvMLpEuUOYPnnJ7DJmV-Zxpy1I,132
518
521
  classiq/qmod/pretty_print/expression_to_python.py,sha256=AL2gaUegPn5rpx-yG-yprM87yS9AxG-d1E1D4RVsrcQ,7455
519
- classiq/qmod/pretty_print/pretty_printer.py,sha256=egBGIY7eLc2cPAtiY5k8sDrSVv0mJhMMO6pgenYF_dg,26063
522
+ classiq/qmod/pretty_print/pretty_printer.py,sha256=cmCnRR4Q5lOBTiTuR23DL3yFMYFtEJFSKnst5-2KHhw,26300
520
523
  classiq/qmod/python_classical_type.py,sha256=y4ow8MhaYzktzB4z461fsBrn9CfrRNASgPlnO_dqWBM,3264
521
524
  classiq/qmod/qfunc.py,sha256=DtrSlVurHzjyyD-_tC99t_EResF5GIG9kan0uVDyqH4,2593
522
525
  classiq/qmod/qmod_constant.py,sha256=GgwSFWiXnOH8HKQGgA_AWR3TcP9CS-v7jt6qAO5fraA,5143
523
526
  classiq/qmod/qmod_parameter.py,sha256=200NaEWife2_IzJUAwHMwuBJTKM0qpXm8nz6vvtNchI,6461
524
527
  classiq/qmod/qmod_variable.py,sha256=jHHbhX3HUVNdZlEzteks0u_wnUru0vo7lPbI4RSqWgU,32595
525
528
  classiq/qmod/quantum_callable.py,sha256=RifbkZEmZ4COOHfluPD2jfd-qYSda2ytW173diR3tI4,2501
526
- classiq/qmod/quantum_expandable.py,sha256=cwvSjH31udbBE9iU2fxdct6M0ziX7eKQtwHya0g6R6g,18860
529
+ classiq/qmod/quantum_expandable.py,sha256=iPo-IkLMDWsf_50SznxuAy93OWxHU3P4mWWxOpbacJI,19365
527
530
  classiq/qmod/quantum_function.py,sha256=wFMti9chpV2wdA9Xrc92zqKsKSmkhfZO4LTwaBWorbU,15383
528
531
  classiq/qmod/semantics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
529
532
  classiq/qmod/semantics/annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -542,14 +545,15 @@ classiq/qmod/semantics/validation/signature_validation.py,sha256=WZerCfEwgbCPmXD
542
545
  classiq/qmod/semantics/validation/type_hints.py,sha256=OsArqgU7I_W4nbGEQ7OGODkrxi57CnZGhwy5hyJr_Ow,1340
543
546
  classiq/qmod/semantics/validation/types_validation.py,sha256=uVyW1WlDvUQU7emzHT75QTS0huIlFZr9DgUXLQ7s7vQ,4856
544
547
  classiq/qmod/symbolic.py,sha256=B_54ogYIjzFltD_r75-Z4-AdlJD0HkQHpqMbZSBGIoE,8211
545
- classiq/qmod/symbolic_expr.py,sha256=RZkqJqaydahlOW4Qcf5Zvj9FrxPpwxT-YCZUonYA-mI,7424
548
+ classiq/qmod/symbolic_expr.py,sha256=z49EyU_bzqc8qOlaOWcWH8A87ACS6aIkYzsLC0DmUBU,7601
546
549
  classiq/qmod/symbolic_type.py,sha256=27tY6pJMFt3EmXIKDJPrNFIUuanIlEu4OueseARbk10,260
547
550
  classiq/qmod/type_attribute_remover.py,sha256=NZmTXAsngWqthXjE8n-n6yE72fiWTFM12-TXXJ1kJ-Q,1242
548
551
  classiq/qmod/utilities.py,sha256=QAhvaBzNfbCdqmBgxTnPaP6m5PO264N_7I5ygsUjebY,5611
549
552
  classiq/qmod/write_qmod.py,sha256=rG0EFDpq13wjIuBVLocPQWyZMx8aM64eOn2k3D7Jq0g,3543
550
553
  classiq/quantum_program.py,sha256=q4vTnRqNr4VWjrZPJVreX3L_C3s60Nnb1GOp3Wv3SJ0,2088
551
- classiq/synthesis.py,sha256=PWMeE1feUHhG7iKLN06zzgMnZx7Cgc4JqGo-T6O7MdE,9670
554
+ classiq/synthesis.py,sha256=_BvUamS310QBN89W8mxyA1Kx_9vr_p6K5kwlf0MGTXw,9686
552
555
  classiq/visualization.py,sha256=SvLkPNN-RFd74wnH83eBNANjX11phBTo0wedTazr7VQ,975
553
- classiq-0.91.1.dist-info/METADATA,sha256=xhqiP486BhNgIWPd-hW4Oz6Zn7kl9Q1d3VrXdpHW_E4,3505
554
- classiq-0.91.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
555
- classiq-0.91.1.dist-info/RECORD,,
556
+ classiq-0.93.0.dist-info/licenses/LICENSE.txt,sha256=pIUwTWPybNElw1us8qbLyUuGDCH1_YioM4ol5tg0Zzw,13367
557
+ classiq-0.93.0.dist-info/WHEEL,sha256=Jb20R3Ili4n9P1fcwuLup21eQ5r9WXhs4_qy7VTrgPI,79
558
+ classiq-0.93.0.dist-info/METADATA,sha256=YWMFSOvPVCFqE0VqE00VP9hvonVrCAcvzKehGdKaYoM,3793
559
+ classiq-0.93.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.8.15
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,27 @@
1
+ LICENSE AGREEMENT
2
+
3
+ By clicking the "accept" or "ok" button and/or by using the Software (as defined below) you expressly acknowledge and agree that you, on behalf of yourself or your organization ("Licensee", "you"), are entering into a legal agreement with Classiq Technologies Ltd., a company incorporated under the laws of the State of Israel having its principal place of business at 3 Daniel Frisch Street, Tel Aviv-Yafo, Israel ("Classiq") (each, a "Party" and collectively, the "Parties"), and have understood and agree to comply with, and be legally bound by, the terms and conditions of this Evaluation Agreement ("Agreement"). You hereby waive any applicable rights to require an original (non-electronic) signature or delivery or retention of non-electronic records, to the extent not prohibited under applicable law. If you do not agree to be bound by this Agreement, please do not use the Software.
4
+
5
+ 1. License.
6
+
7
+ 1.1. Subject to the terms of this Agreement, Classiq grants Licensee a limited, nonexclusive, non-assignable and nontransferable, fully revocable license to install, access and use Classiq's quantum algorithm design platform ("Software"), during the Evaluation Period (as defined below), solely for internal evaluation purposes ("Evaluation License"). Notwithstanding anything to the contrary, Classiq may, at its sole discretion, deny access to the Software or part thereof at any time.
8
+
9
+ 1.2. During the Evaluation Period, Licensee may allow its employees who are explicitly authorized by Licensee to use the Software, solely for the Licensee's evaluation of the Software (each, a "Permitted User"). Each Permitted User shall be bound by the terms and conditions in writing at least as restrictive as those contained in this Agreement and Licensee shall be liable for any breach of the terms of this Agreement by a Permitted User. Licensee shall immediately report any unauthorized access or use of the Software to Classiq. During the Evaluation Period, Classiq may collect, record and save information about Permitted Users' use and interaction with the Software, for the purposes of improving Classiq's services to you in relation to your use of the Software ("Interaction Information"). Subject to the terms of this Section 1.2, Classiq shall destroy all Interaction Information at the expiry or termination of this Agreement. Notwithstanding anything to the contrary, Classiq may save, store and retain Interaction Information for internal purposes such as (but not limited to) improving or developing products, provision of services to all clients and collaborating with partners, provided that such Interaction Information is aggregated and anonymized ("Anonymized Aggregated Information"). Classiq shall not be required to destroy any Anonymized Aggregated Information at the expiry or termination of this Agreement. Licensee represents and warrants that it has obtained the necessary consents from each Permitted User to allow Classiq to collect record and save the Interaction Information and to retain the Anonymized Aggregated Information in accordance with this Section 1.2.
10
+
11
+ 2. Title and Ownership. Other than the Evaluation License granted under this Agreement to Licensee during the Evaluation Period, all intellectual property rights, ownership rights, and proprietary rights in and to: (a) the Software, including any and all derivatives, updates, upgrades, changes and improvements thereof; and (b) Feedback (as defined below), lie and remain exclusively with Classiq and/or its licensors. Nothing herein constitutes a waiver of Classiq's intellectual property rights under any law. All rights not expressly granted hereunder are reserved by Classiq.
12
+
13
+ 3. Feedback. As a condition of the Evaluation License, Licensee shall provide Classiq with detailed Feedback (defined below), which may be used by Classiq at its sole discretion. "Feedback" means ideas, suggestions, or similar feedback about performance of the Software and/or for improving the Software, as well as the results of the evaluation. All Feedback shall be provided 'as is' with no warranty on behalf of Licensee and shall be deemed the exclusive property of Classiq, and Licensee hereby irrevocably transfers and assigns to Classiq all intellectual property rights to the Feedback and waives any and all moral rights or economic rights that Licensee may have with respect thereto.
14
+
15
+ 4. Restricted Use. Unless otherwise explicitly specified and permitted under this Agreement, without the prior written consent of Classiq, Licensee may not, directly or indirectly (i) copy, modify, create derivative works of or distribute any part of the Software (including by incorporation into its products); (ii) sell, license (or sub-license), lease, assign, transfer, pledge, or share Licensee's rights under this Agreement with any third party; (iii) use any "open source" or "copyleft software" in a manner that would require Classiq to disclose the source code of the Software to any third party; (iv) disclose the results of any testing or benchmarking of the Software to any third party; (v) disassemble, decompile, reverse engineer or attempt to discover the Software's source code or underlying algorithms; (vi) use the Software in a manner that violates or infringes any rights of any third party, including but not limited to, privacy rights, publicity rights or intellectual property rights; (vii) remove or alter any trademarks or other proprietary notices related to the Software; (viii) circumvent, disable or otherwise interfere with security-related features of the Software or features that enforce use limitations; (ix) export, make available or use the Software in any manner prohibited by applicable laws (including without limitation export control laws); and/or (x) transmit any malicious code (i.e., software viruses, Trojan horses, worms, malware or other computer instructions, devices, or techniques that erase data or programming, infect, disrupt, damage, disable, or shut down a computer system or any component of such computer system) or other unlawful material in connection with the Software.
16
+
17
+ 5. Open Source Components. The Software may use or include third party open source software, files, libraries or components that may be distributed to Licensee and are subject to third party open source license terms. If there is a conflict between any open source license and the terms of this Agreement, then the open source license terms shall prevail but solely in connection with the related third party open source software. Classiq makes no warranty or indemnity hereunder with respect to any third party open source software.
18
+
19
+ 6. Disclaimer of Warranties. EXCEPT AS EXPLICITLY SET FORTH IN THIS AGREEMENT THE SOFTWARE AND ANY OUTPUT WHICH MAY BE PROVIDED TO LICENSEE HEREUNDER ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND FOR INTERNAL EVALUATION PURPOSES ONLY. CLASSIQ DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON INFRINGEMENT, WITH RESPECT TO THE SOFTWARE AND ANY OTHER OUTPUT WHICH MAY BE PROVIDED TO LICENSEE HEREUNDER.
20
+
21
+ 7. Limitation of Liability. GIVEN THE NATURE OF THIS PILOT AGREEMENT AND THE FACT THAT THIS AGREEMENT IS FOR EVALUATION PURPOSES, TO THE MAXIMUM EXTENT PERMITTED BY LAW: (I) CLASSIQ SHALL NOT BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING WITHOUT LIMITATION, ANY LOST PROFITS OR GOODWILL, LOST OR DAMAGED DATA OR DOCUMENTATION, LOST SAVINGS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THIS AGREEMENT, THE SOFTWARE, OR LICENSEE'S USE OF THE SOFTWARE; AND (II) IN NO EVENT SHALL CLASSIQ'S AGGREGATE LIABILITY FOR ANY DAMAGES ARISING OUT OF OR RELATED TO THIS AGREEMENT, WHETHER IN CONTRACT OR TORT, OR OTHERWISE EXCEED $100.
22
+
23
+ 8. Confidentiality. Each Party may have access to certain non-public information of the other Party, in any form or media, including without limitation trade secrets and other information related to the products, software, technology, data, know-how, or business of the other Party, and any other information that a reasonable person should have reason to believe is proprietary, confidential, or competitively sensitive (the "Confidential Information"). Each Party shall take reasonable measures, at least as protective as those taken to protect its own confidential information, but in no event less than reasonable care, to protect the other Party's Confidential Information from disclosure to a third party. The receiving party's obligations under this Section, with respect to any Confidential Information of the disclosing party, shall not apply to and/or shall terminate if such information: (a) was already lawfully known to the receiving party at the time of disclosure by the disclosing party; (b) was disclosed to the receiving party by a third party who had the right to make such disclosure without any confidentiality restrictions; (c) is, or through no fault of the receiving party has become, generally available to the public; or (d) was independently developed by the receiving party without access to, or use of, the disclosing party's Confidential Information. Neither Party shall use or disclose the Confidential Information of the other Party except for performance of its obligations under this Agreement. The receiving party shall only permit access to the disclosing party's Confidential Information to its respective employees, consultants, affiliates, agents and subcontractors having a need to know such information in connection with the abovementioned purpose, who either (i) have signed a non-disclosure agreement with the receiving party containing terms at least as restrictive as those contained herein or (ii) are otherwise bound by a duty of confidentiality to the receiving party at least as restrictive as the terms set forth herein. The receiving party will be allowed to disclose Confidential Information to the extent that such disclosure is required by law or by the order or a court of similar judicial or administrative body, provided that it notifies the disclosing Party of such required disclosure to enable disclosing party to seek a protective order or otherwise prevent or restrict such disclosure. All right, title and interest in and to Confidential Information are and shall remain the sole and exclusive property of the disclosing Party.
24
+
25
+ 9. Term and Termination. This Agreement shall commence on the date you accept the terms of this Agreement and shall expire ninety (90) days later ("Evaluation Period"), unless earlier terminated by either Party in writing on three (3) days' prior written notice to the other Party. Licensee's unauthorized use of the Software or otherwise failure to comply with the terms of this Agreement shall result in automatic immediate termination of this Agreement, upon notice by Classiq. Upon expiration or termination, (a) each Party shall promptly return or destroy all Confidential Information received from the other Party, and all copes thereof, (b) Licensee shall: (i) immediately cease access to and use of the Software; (ii) return the Software and all copies thereof, as well as it related documentation in Licensee or any of its Permitted Users' possession or control to Classiq; (iii) erase or otherwise destroy all copies of the Software in its possession, which are fixed or resident in the memory or hard disks of its devices; and (iv) return to Classiq any and all of Classiq's Confidential Information then in its possession. The following provisions shall survive the expiration or termination of this Agreement: 2 (Title and Ownership), 6 (Disclaimer of Warranties), 7 (Limitation of Liability), 8 (Confidentiality), 9 (Term and Termination) and 10 (Miscellaneous).
26
+
27
+ 10. Miscellaneous. This Agreement shall be governed by and construed under the laws of the State of Israel. The competent courts of Tel Aviv-Yafo, Israel shall have the exclusive jurisdiction with respect to any dispute and action arising under or in relation to this Agreement. Licensee shall not assign this Agreement without the prior written consent of Classiq. Any prohibited assignment shall be null and void. No waiver of rights arising under this Agreement shall be effective unless in writing and signed by the Party against whom such waiver is sought to be enforced. No failure or delay by either Party in exercising any right, power or remedy under this Agreement shall operate as a waiver of any such right, power or remedy and/or prejudice any rights of such Party. This Agreement does not, and shall not be construed to create any relationship, partnership, joint venture, employer-employee, agency, or franchisor-franchisee relationship between the Parties. Nothing in this Agreement shall be construed to limit or delay either Classiq's or Licensee's ability to seek immediate relief at law or in equity for any breach by the other. This Agreement constitutes the complete and entire agreement of the Parties and supersedes all previous communications between them, oral or written, relating to the subject matter hereof. This Agreement may be executed in two or more counterparts, each of which shall be deemed an original and all of which shall together be deemed to constitute one and the same agreement.