{"payload":{"allShortcutsEnabled":false,"fileTree":{"qiskit/transpiler/passes/optimization":{"items":[{"name":"template_matching","path":"qiskit/transpiler/passes/optimization/template_matching","contentType":"directory"},{"name":"__init__.py","path":"qiskit/transpiler/passes/optimization/__init__.py","contentType":"file"},{"name":"_gate_extension.py","path":"qiskit/transpiler/passes/optimization/_gate_extension.py","contentType":"file"},{"name":"collect_1q_runs.py","path":"qiskit/transpiler/passes/optimization/collect_1q_runs.py","contentType":"file"},{"name":"collect_2q_blocks.py","path":"qiskit/transpiler/passes/optimization/collect_2q_blocks.py","contentType":"file"},{"name":"collect_and_collapse.py","path":"qiskit/transpiler/passes/optimization/collect_and_collapse.py","contentType":"file"},{"name":"collect_cliffords.py","path":"qiskit/transpiler/passes/optimization/collect_cliffords.py","contentType":"file"},{"name":"collect_linear_functions.py","path":"qiskit/transpiler/passes/optimization/collect_linear_functions.py","contentType":"file"},{"name":"collect_multiqubit_blocks.py","path":"qiskit/transpiler/passes/optimization/collect_multiqubit_blocks.py","contentType":"file"},{"name":"commutation_analysis.py","path":"qiskit/transpiler/passes/optimization/commutation_analysis.py","contentType":"file"},{"name":"commutative_cancellation.py","path":"qiskit/transpiler/passes/optimization/commutative_cancellation.py","contentType":"file"},{"name":"commutative_inverse_cancellation.py","path":"qiskit/transpiler/passes/optimization/commutative_inverse_cancellation.py","contentType":"file"},{"name":"consolidate_blocks.py","path":"qiskit/transpiler/passes/optimization/consolidate_blocks.py","contentType":"file"},{"name":"cx_cancellation.py","path":"qiskit/transpiler/passes/optimization/cx_cancellation.py","contentType":"file"},{"name":"echo_rzx_weyl_decomposition.py","path":"qiskit/transpiler/passes/optimization/echo_rzx_weyl_decomposition.py","contentType":"file"},{"name":"hoare_opt.py","path":"qiskit/transpiler/passes/optimization/hoare_opt.py","contentType":"file"},{"name":"inverse_cancellation.py","path":"qiskit/transpiler/passes/optimization/inverse_cancellation.py","contentType":"file"},{"name":"normalize_rx_angle.py","path":"qiskit/transpiler/passes/optimization/normalize_rx_angle.py","contentType":"file"},{"name":"optimize_1q_commutation.py","path":"qiskit/transpiler/passes/optimization/optimize_1q_commutation.py","contentType":"file"},{"name":"optimize_1q_decomposition.py","path":"qiskit/transpiler/passes/optimization/optimize_1q_decomposition.py","contentType":"file"},{"name":"optimize_1q_gates.py","path":"qiskit/transpiler/passes/optimization/optimize_1q_gates.py","contentType":"file"},{"name":"optimize_annotated.py","path":"qiskit/transpiler/passes/optimization/optimize_annotated.py","contentType":"file"},{"name":"optimize_cliffords.py","path":"qiskit/transpiler/passes/optimization/optimize_cliffords.py","contentType":"file"},{"name":"optimize_swap_before_measure.py","path":"qiskit/transpiler/passes/optimization/optimize_swap_before_measure.py","contentType":"file"},{"name":"remove_diagonal_gates_before_measure.py","path":"qiskit/transpiler/passes/optimization/remove_diagonal_gates_before_measure.py","contentType":"file"},{"name":"remove_reset_in_zero_state.py","path":"qiskit/transpiler/passes/optimization/remove_reset_in_zero_state.py","contentType":"file"},{"name":"reset_after_measure_simplification.py","path":"qiskit/transpiler/passes/optimization/reset_after_measure_simplification.py","contentType":"file"},{"name":"template_optimization.py","path":"qiskit/transpiler/passes/optimization/template_optimization.py","contentType":"file"}],"totalCount":28},"qiskit/transpiler/passes":{"items":[{"name":"analysis","path":"qiskit/transpiler/passes/analysis","contentType":"directory"},{"name":"basis","path":"qiskit/transpiler/passes/basis","contentType":"directory"},{"name":"calibration","path":"qiskit/transpiler/passes/calibration","contentType":"directory"},{"name":"layout","path":"qiskit/transpiler/passes/layout","contentType":"directory"},{"name":"optimization","path":"qiskit/transpiler/passes/optimization","contentType":"directory"},{"name":"routing","path":"qiskit/transpiler/passes/routing","contentType":"directory"},{"name":"scheduling","path":"qiskit/transpiler/passes/scheduling","contentType":"directory"},{"name":"synthesis","path":"qiskit/transpiler/passes/synthesis","contentType":"directory"},{"name":"utils","path":"qiskit/transpiler/passes/utils","contentType":"directory"},{"name":"__init__.py","path":"qiskit/transpiler/passes/__init__.py","contentType":"file"}],"totalCount":10},"qiskit/transpiler":{"items":[{"name":"passes","path":"qiskit/transpiler/passes","contentType":"directory"},{"name":"preset_passmanagers","path":"qiskit/transpiler/preset_passmanagers","contentType":"directory"},{"name":"__init__.py","path":"qiskit/transpiler/__init__.py","contentType":"file"},{"name":"basepasses.py","path":"qiskit/transpiler/basepasses.py","contentType":"file"},{"name":"coupling.py","path":"qiskit/transpiler/coupling.py","contentType":"file"},{"name":"exceptions.py","path":"qiskit/transpiler/exceptions.py","contentType":"file"},{"name":"instruction_durations.py","path":"qiskit/transpiler/instruction_durations.py","contentType":"file"},{"name":"layout.py","path":"qiskit/transpiler/layout.py","contentType":"file"},{"name":"passmanager.py","path":"qiskit/transpiler/passmanager.py","contentType":"file"},{"name":"passmanager_config.py","path":"qiskit/transpiler/passmanager_config.py","contentType":"file"},{"name":"target.py","path":"qiskit/transpiler/target.py","contentType":"file"},{"name":"timing_constraints.py","path":"qiskit/transpiler/timing_constraints.py","contentType":"file"}],"totalCount":12},"qiskit":{"items":[{"name":"assembler","path":"qiskit/assembler","contentType":"directory"},{"name":"circuit","path":"qiskit/circuit","contentType":"directory"},{"name":"compiler","path":"qiskit/compiler","contentType":"directory"},{"name":"converters","path":"qiskit/converters","contentType":"directory"},{"name":"dagcircuit","path":"qiskit/dagcircuit","contentType":"directory"},{"name":"passmanager","path":"qiskit/passmanager","contentType":"directory"},{"name":"primitives","path":"qiskit/primitives","contentType":"directory"},{"name":"providers","path":"qiskit/providers","contentType":"directory"},{"name":"pulse","path":"qiskit/pulse","contentType":"directory"},{"name":"qasm","path":"qiskit/qasm","contentType":"directory"},{"name":"qasm2","path":"qiskit/qasm2","contentType":"directory"},{"name":"qasm3","path":"qiskit/qasm3","contentType":"directory"},{"name":"qobj","path":"qiskit/qobj","contentType":"directory"},{"name":"qpy","path":"qiskit/qpy","contentType":"directory"},{"name":"quantum_info","path":"qiskit/quantum_info","contentType":"directory"},{"name":"result","path":"qiskit/result","contentType":"directory"},{"name":"scheduler","path":"qiskit/scheduler","contentType":"directory"},{"name":"synthesis","path":"qiskit/synthesis","contentType":"directory"},{"name":"transpiler","path":"qiskit/transpiler","contentType":"directory"},{"name":"utils","path":"qiskit/utils","contentType":"directory"},{"name":"visualization","path":"qiskit/visualization","contentType":"directory"},{"name":"VERSION.txt","path":"qiskit/VERSION.txt","contentType":"file"},{"name":"__init__.py","path":"qiskit/__init__.py","contentType":"file"},{"name":"exceptions.py","path":"qiskit/exceptions.py","contentType":"file"},{"name":"user_config.py","path":"qiskit/user_config.py","contentType":"file"},{"name":"version.py","path":"qiskit/version.py","contentType":"file"}],"totalCount":26},"":{"items":[{"name":".azure","path":".azure","contentType":"directory"},{"name":".binder","path":".binder","contentType":"directory"},{"name":".cargo","path":".cargo","contentType":"directory"},{"name":".github","path":".github","contentType":"directory"},{"name":"crates","path":"crates","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"examples","path":"examples","contentType":"directory"},{"name":"qiskit","path":"qiskit","contentType":"directory"},{"name":"releasenotes","path":"releasenotes","contentType":"directory"},{"name":"test","path":"test","contentType":"directory"},{"name":"tools","path":"tools","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".local-spellings","path":".local-spellings","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":".mergify.yml","path":".mergify.yml","contentType":"file"},{"name":".stestr.conf","path":".stestr.conf","contentType":"file"},{"name":"CITATION.bib","path":"CITATION.bib","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"Cargo.lock","path":"Cargo.lock","contentType":"file"},{"name":"Cargo.toml","path":"Cargo.toml","contentType":"file"},{"name":"DEPRECATION.md","path":"DEPRECATION.md","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"MAINTAINING.md","path":"MAINTAINING.md","contentType":"file"},{"name":"MANIFEST.in","path":"MANIFEST.in","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"SECURITY.md","path":"SECURITY.md","contentType":"file"},{"name":"asv.conf.json","path":"asv.conf.json","contentType":"file"},{"name":"azure-pipelines.yml","path":"azure-pipelines.yml","contentType":"file"},{"name":"constraints.txt","path":"constraints.txt","contentType":"file"},{"name":"pyproject.toml","path":"pyproject.toml","contentType":"file"},{"name":"qiskit_bot.yaml","path":"qiskit_bot.yaml","contentType":"file"},{"name":"requirements-dev.txt","path":"requirements-dev.txt","contentType":"file"},{"name":"requirements-optional.txt","path":"requirements-optional.txt","contentType":"file"},{"name":"requirements.txt","path":"requirements.txt","contentType":"file"},{"name":"rust-toolchain.toml","path":"rust-toolchain.toml","contentType":"file"},{"name":"setup.py","path":"setup.py","contentType":"file"},{"name":"tox.ini","path":"tox.ini","contentType":"file"}],"totalCount":41}},"fileTreeProcessingTime":21.536172,"foldersToFetch":[],"repo":{"id":83821669,"defaultBranch":"main","name":"qiskit","ownerLogin":"Qiskit","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-03-03T17:02:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/30696987?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1710785011.0","canEdit":false,"refType":"branch","currentOid":"43381ae1b159c01b55159d2dc1e8a65970b72746"},"path":"qiskit/transpiler/passes/optimization/consolidate_blocks.py","currentUser":null,"blob":{"rawLines":["# This code is part of Qiskit.","#","# (C) Copyright IBM 2017, 2019.","#","# This code is licensed under the Apache License, Version 2.0. You may","# obtain a copy of this license in the LICENSE.txt file in the root directory","# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.","#","# Any modifications or derivative works of this code must retain this","# copyright notice, and modified files need to carry a notice indicating","# that they have been altered from the originals.","","\"\"\"Replace each block of consecutive gates by a single Unitary node.\"\"\"","from __future__ import annotations","","import numpy as np","","from qiskit.circuit.classicalregister import ClassicalRegister","from qiskit.circuit.quantumregister import QuantumRegister","from qiskit.circuit.quantumcircuit import QuantumCircuit","from qiskit.dagcircuit.dagnode import DAGOpNode","from qiskit.quantum_info import Operator","from qiskit.synthesis.two_qubit import TwoQubitBasisDecomposer","from qiskit.circuit.library.generalized_gates.unitary import UnitaryGate","from qiskit.circuit.library.standard_gates import CXGate","from qiskit.transpiler.basepasses import TransformationPass","from qiskit.circuit.controlflow import ControlFlowOp","from qiskit.transpiler.passmanager import PassManager","from qiskit.transpiler.passes.synthesis import unitary_synthesis","from qiskit.transpiler.passes.utils import _block_to_matrix","from .collect_1q_runs import Collect1qRuns","from .collect_2q_blocks import Collect2qBlocks","","","class ConsolidateBlocks(TransformationPass):"," \"\"\"Replace each block of consecutive gates by a single Unitary node.",""," Pass to consolidate sequences of uninterrupted gates acting on"," the same qubits into a Unitary node, to be resynthesized later,"," to a potentially more optimal subcircuit.",""," Notes:"," This pass assumes that the 'blocks_list' property that it reads is"," given such that blocks are in topological order. The blocks are"," collected by a previous pass, such as `Collect2qBlocks`."," \"\"\"",""," def __init__("," self,"," kak_basis_gate=None,"," force_consolidate=False,"," basis_gates=None,"," approximation_degree=1.0,"," target=None,"," ):"," \"\"\"ConsolidateBlocks initializer.",""," If ``kak_basis_gate`` is not ``None`` it will be used as the basis gate for KAK decomposition."," Otherwise, if ``basis_gates`` is not ``None`` a basis gate will be chosen from this list."," Otherwise, the basis gate will be :class:`.CXGate`.",""," Args:"," kak_basis_gate (Gate): Basis gate for KAK decomposition."," force_consolidate (bool): Force block consolidation."," basis_gates (List(str)): Basis gates from which to choose a KAK gate."," approximation_degree (float): a float between :math:`[0.0, 1.0]`. Lower approximates more."," target (Target): The target object for the compilation target backend."," \"\"\""," super().__init__()"," self.basis_gates = None"," self.target = target"," if basis_gates is not None:"," self.basis_gates = set(basis_gates)"," self.force_consolidate = force_consolidate",""," if kak_basis_gate is not None:"," self.decomposer = TwoQubitBasisDecomposer(kak_basis_gate)"," elif basis_gates is not None:"," self.decomposer = unitary_synthesis._decomposer_2q_from_basis_gates("," basis_gates, approximation_degree=approximation_degree"," )"," else:"," self.decomposer = TwoQubitBasisDecomposer(CXGate())",""," def run(self, dag):"," \"\"\"Run the ConsolidateBlocks pass on `dag`.",""," Iterate over each block and replace it with an equivalent Unitary"," on the same wires."," \"\"\""," if self.decomposer is None:"," return dag",""," blocks = self.property_set[\"block_list\"] or []"," basis_gate_name = self.decomposer.gate.name"," all_block_gates = set()"," for block in blocks:"," if len(block) == 1 and self._check_not_in_basis(dag, block[0].name, block[0].qargs):"," all_block_gates.add(block[0])"," dag.substitute_node(block[0], UnitaryGate(block[0].op.to_matrix()))"," else:"," basis_count = 0"," outside_basis = False"," block_qargs = set()"," block_cargs = set()"," for nd in block:"," block_qargs |= set(nd.qargs)"," if isinstance(nd, DAGOpNode) and getattr(nd.op, \"condition\", None):"," block_cargs |= set(getattr(nd.op, \"condition\", None)[0])"," all_block_gates.add(nd)"," block_index_map = self._block_qargs_to_indices(dag, block_qargs)"," for nd in block:"," if nd.op.name == basis_gate_name:"," basis_count += 1"," if self._check_not_in_basis(dag, nd.op.name, nd.qargs):"," outside_basis = True"," if len(block_qargs) > 2:"," q = QuantumRegister(len(block_qargs))"," qc = QuantumCircuit(q)"," if block_cargs:"," c = ClassicalRegister(len(block_cargs))"," qc.add_register(c)"," for nd in block:"," qc.append(nd.op, [q[block_index_map[i]] for i in nd.qargs])"," unitary = UnitaryGate(Operator(qc), check_input=False)"," else:"," matrix = _block_to_matrix(block, block_index_map)"," unitary = UnitaryGate(matrix, check_input=False)",""," max_2q_depth = 20 # If depth > 20, there will be 1q gates to consolidate."," if ( # pylint: disable=too-many-boolean-expressions"," self.force_consolidate"," or unitary.num_qubits > 2"," or self.decomposer.num_basis_gates(unitary) < basis_count"," or len(block) > max_2q_depth"," or ((self.basis_gates is not None) and outside_basis)"," or ((self.target is not None) and outside_basis)"," ):"," identity = np.eye(2**unitary.num_qubits)"," if np.allclose(identity, unitary.to_matrix()):"," for node in block:"," dag.remove_op_node(node)"," else:"," dag.replace_block_with_op("," block, unitary, block_index_map, cycle_check=False"," )"," # If 1q runs are collected before consolidate those too"," runs = self.property_set[\"run_list\"] or []"," identity_1q = np.eye(2)"," for run in runs:"," if any(gate in all_block_gates for gate in run):"," continue"," if len(run) == 1 and not self._check_not_in_basis(dag, run[0].name, run[0].qargs):"," dag.substitute_node(run[0], UnitaryGate(run[0].op.to_matrix(), check_input=False))"," else:"," qubit = run[0].qargs[0]"," operator = run[0].op.to_matrix()"," already_in_block = False"," for gate in run[1:]:"," if gate in all_block_gates:"," already_in_block = True"," operator = gate.op.to_matrix().dot(operator)"," if already_in_block:"," continue"," unitary = UnitaryGate(operator, check_input=False)"," if np.allclose(identity_1q, unitary.to_matrix()):"," for node in run:"," dag.remove_op_node(node)"," else:"," dag.replace_block_with_op(run, unitary, {qubit: 0}, cycle_check=False)",""," dag = self._handle_control_flow_ops(dag)",""," # Clear collected blocks and runs as they are no longer valid after consolidation"," if \"run_list\" in self.property_set:"," del self.property_set[\"run_list\"]"," if \"block_list\" in self.property_set:"," del self.property_set[\"block_list\"]",""," return dag",""," def _handle_control_flow_ops(self, dag):"," \"\"\""," This is similar to transpiler/passes/utils/control_flow.py except that the"," collect blocks is redone for the control flow blocks."," \"\"\"",""," pass_manager = PassManager()"," if \"run_list\" in self.property_set:"," pass_manager.append(Collect1qRuns())"," if \"block_list\" in self.property_set:"," pass_manager.append(Collect2qBlocks())",""," pass_manager.append(self)"," for node in dag.op_nodes(ControlFlowOp):"," node.op = node.op.replace_blocks(pass_manager.run(block) for block in node.op.blocks)"," return dag",""," def _check_not_in_basis(self, dag, gate_name, qargs):"," if self.target is not None:"," return not self.target.instruction_supported("," gate_name, tuple(dag.find_bit(qubit).index for qubit in qargs)"," )"," else:"," return self.basis_gates and gate_name not in self.basis_gates",""," def _block_qargs_to_indices(self, dag, block_qargs):"," \"\"\"Map each qubit in block_qargs to its wire position among the block's wires."," Args:"," block_qargs (list): list of qubits that a block acts on"," global_index_map (dict): mapping from each qubit in the"," circuit to its wire position within that circuit"," Returns:"," dict: mapping from qarg to position in block"," \"\"\""," block_indices = [dag.find_bit(q).index for q in block_qargs]"," ordered_block_indices = {bit: index for index, bit in enumerate(sorted(block_indices))}"," block_positions = {q: ordered_block_indices[dag.find_bit(q).index] for q in block_qargs}"," return block_positions"],"stylingDirectives":[[{"start":0,"end":30,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":31,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":70,"cssClass":"pl-c"}],[{"start":0,"end":77,"cssClass":"pl-c"}],[{"start":0,"end":71,"cssClass":"pl-c"}],[{"start":0,"end":1,"cssClass":"pl-c"}],[{"start":0,"end":69,"cssClass":"pl-c"}],[{"start":0,"end":72,"cssClass":"pl-c"}],[{"start":0,"end":49,"cssClass":"pl-c"}],[],[{"start":0,"end":71,"cssClass":"pl-s"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":16,"end":22,"cssClass":"pl-k"},{"start":23,"end":34,"cssClass":"pl-s1"}],[],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":12,"cssClass":"pl-s1"},{"start":13,"end":15,"cssClass":"pl-k"},{"start":16,"end":18,"cssClass":"pl-s1"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":37,"cssClass":"pl-s1"},{"start":38,"end":44,"cssClass":"pl-k"},{"start":45,"end":62,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":35,"cssClass":"pl-s1"},{"start":36,"end":42,"cssClass":"pl-k"},{"start":43,"end":58,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":34,"cssClass":"pl-s1"},{"start":35,"end":41,"cssClass":"pl-k"},{"start":42,"end":56,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":30,"cssClass":"pl-s1"},{"start":31,"end":37,"cssClass":"pl-k"},{"start":38,"end":47,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-k"},{"start":32,"end":40,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":31,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-k"},{"start":39,"end":62,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":27,"cssClass":"pl-s1"},{"start":28,"end":45,"cssClass":"pl-s1"},{"start":46,"end":53,"cssClass":"pl-s1"},{"start":54,"end":60,"cssClass":"pl-k"},{"start":61,"end":72,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":27,"cssClass":"pl-s1"},{"start":28,"end":42,"cssClass":"pl-s1"},{"start":43,"end":49,"cssClass":"pl-k"},{"start":50,"end":56,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":33,"cssClass":"pl-s1"},{"start":34,"end":40,"cssClass":"pl-k"},{"start":41,"end":59,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":31,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-k"},{"start":39,"end":52,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":34,"cssClass":"pl-s1"},{"start":35,"end":41,"cssClass":"pl-k"},{"start":42,"end":53,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-s1"},{"start":30,"end":39,"cssClass":"pl-s1"},{"start":40,"end":46,"cssClass":"pl-k"},{"start":47,"end":64,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-s1"},{"start":30,"end":35,"cssClass":"pl-s1"},{"start":36,"end":42,"cssClass":"pl-k"},{"start":43,"end":59,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":6,"end":21,"cssClass":"pl-s1"},{"start":22,"end":28,"cssClass":"pl-k"},{"start":29,"end":42,"cssClass":"pl-v"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":6,"end":23,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-k"},{"start":31,"end":46,"cssClass":"pl-v"}],[],[],[{"start":0,"end":5,"cssClass":"pl-k"},{"start":6,"end":23,"cssClass":"pl-v"},{"start":24,"end":42,"cssClass":"pl-v"}],[{"start":4,"end":72,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":66,"cssClass":"pl-s"}],[{"start":0,"end":67,"cssClass":"pl-s"}],[{"start":0,"end":45,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":10,"cssClass":"pl-s"}],[{"start":0,"end":74,"cssClass":"pl-s"}],[{"start":0,"end":71,"cssClass":"pl-s"}],[{"start":0,"end":64,"cssClass":"pl-s"}],[{"start":0,"end":7,"cssClass":"pl-s"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":16,"cssClass":"pl-en"}],[{"start":8,"end":12,"cssClass":"pl-s1"}],[{"start":8,"end":22,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":23,"end":27,"cssClass":"pl-c1"}],[{"start":8,"end":25,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":26,"end":31,"cssClass":"pl-c1"}],[{"start":8,"end":19,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":20,"end":24,"cssClass":"pl-c1"}],[{"start":8,"end":28,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-c1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":15,"end":19,"cssClass":"pl-c1"}],[],[{"start":8,"end":41,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":102,"cssClass":"pl-s"}],[{"start":0,"end":97,"cssClass":"pl-s"}],[{"start":0,"end":59,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":68,"cssClass":"pl-s"}],[{"start":0,"end":64,"cssClass":"pl-s"}],[{"start":0,"end":81,"cssClass":"pl-s"}],[{"start":0,"end":102,"cssClass":"pl-s"}],[{"start":0,"end":82,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":16,"end":24,"cssClass":"pl-en"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":22,"end":28,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":22,"cssClass":"pl-s1"},{"start":23,"end":25,"cssClass":"pl-c1"},{"start":26,"end":29,"cssClass":"pl-c1"},{"start":30,"end":34,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":34,"cssClass":"pl-en"},{"start":35,"end":46,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":33,"end":50,"cssClass":"pl-s1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-c1"},{"start":33,"end":37,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":53,"cssClass":"pl-v"},{"start":54,"end":68,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-k"},{"start":13,"end":24,"cssClass":"pl-s1"},{"start":25,"end":27,"cssClass":"pl-c1"},{"start":28,"end":31,"cssClass":"pl-c1"},{"start":32,"end":36,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":47,"cssClass":"pl-s1"},{"start":48,"end":79,"cssClass":"pl-en"}],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":29,"end":49,"cssClass":"pl-s1"},{"start":49,"end":50,"cssClass":"pl-c1"},{"start":50,"end":70,"cssClass":"pl-s1"}],[],[{"start":8,"end":12,"cssClass":"pl-k"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":53,"cssClass":"pl-v"},{"start":54,"end":60,"cssClass":"pl-v"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":11,"cssClass":"pl-en"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":18,"end":21,"cssClass":"pl-s1"}],[{"start":8,"end":51,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":73,"cssClass":"pl-s"}],[{"start":0,"end":26,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-s1"},{"start":16,"end":26,"cssClass":"pl-s1"},{"start":27,"end":29,"cssClass":"pl-c1"},{"start":30,"end":34,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":21,"cssClass":"pl-s1"},{"start":22,"end":34,"cssClass":"pl-s1"},{"start":35,"end":47,"cssClass":"pl-s"},{"start":49,"end":51,"cssClass":"pl-c1"}],[{"start":8,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":31,"end":41,"cssClass":"pl-s1"},{"start":42,"end":46,"cssClass":"pl-s1"},{"start":47,"end":51,"cssClass":"pl-s1"}],[{"start":8,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":29,"cssClass":"pl-en"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":27,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-en"},{"start":19,"end":24,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":34,"cssClass":"pl-c1"},{"start":35,"end":39,"cssClass":"pl-s1"},{"start":40,"end":59,"cssClass":"pl-en"},{"start":60,"end":63,"cssClass":"pl-s1"},{"start":65,"end":70,"cssClass":"pl-s1"},{"start":71,"end":72,"cssClass":"pl-c1"},{"start":74,"end":78,"cssClass":"pl-s1"},{"start":80,"end":85,"cssClass":"pl-s1"},{"start":86,"end":87,"cssClass":"pl-c1"},{"start":89,"end":94,"cssClass":"pl-s1"}],[{"start":16,"end":31,"cssClass":"pl-s1"},{"start":32,"end":35,"cssClass":"pl-en"},{"start":36,"end":41,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"}],[{"start":16,"end":19,"cssClass":"pl-s1"},{"start":20,"end":35,"cssClass":"pl-en"},{"start":36,"end":41,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":46,"end":57,"cssClass":"pl-v"},{"start":58,"end":63,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-c1"},{"start":67,"end":69,"cssClass":"pl-s1"},{"start":70,"end":79,"cssClass":"pl-en"}],[{"start":12,"end":16,"cssClass":"pl-k"}],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":31,"cssClass":"pl-c1"}],[{"start":16,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":37,"cssClass":"pl-c1"}],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":33,"cssClass":"pl-en"}],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":33,"cssClass":"pl-en"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":25,"cssClass":"pl-c1"},{"start":26,"end":31,"cssClass":"pl-s1"}],[{"start":20,"end":31,"cssClass":"pl-s1"},{"start":35,"end":38,"cssClass":"pl-en"},{"start":39,"end":41,"cssClass":"pl-s1"},{"start":42,"end":47,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":33,"cssClass":"pl-en"},{"start":34,"end":36,"cssClass":"pl-s1"},{"start":38,"end":47,"cssClass":"pl-v"},{"start":49,"end":52,"cssClass":"pl-c1"},{"start":53,"end":60,"cssClass":"pl-en"},{"start":61,"end":63,"cssClass":"pl-s1"},{"start":64,"end":66,"cssClass":"pl-s1"},{"start":68,"end":79,"cssClass":"pl-s"},{"start":81,"end":85,"cssClass":"pl-c1"}],[{"start":24,"end":35,"cssClass":"pl-s1"},{"start":39,"end":42,"cssClass":"pl-en"},{"start":43,"end":50,"cssClass":"pl-en"},{"start":51,"end":53,"cssClass":"pl-s1"},{"start":54,"end":56,"cssClass":"pl-s1"},{"start":58,"end":69,"cssClass":"pl-s"},{"start":71,"end":75,"cssClass":"pl-c1"},{"start":77,"end":78,"cssClass":"pl-c1"}],[{"start":20,"end":35,"cssClass":"pl-s1"},{"start":36,"end":39,"cssClass":"pl-en"},{"start":40,"end":42,"cssClass":"pl-s1"}],[{"start":16,"end":31,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":34,"end":38,"cssClass":"pl-s1"},{"start":39,"end":62,"cssClass":"pl-en"},{"start":63,"end":66,"cssClass":"pl-s1"},{"start":68,"end":79,"cssClass":"pl-s1"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":25,"cssClass":"pl-c1"},{"start":26,"end":31,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":25,"cssClass":"pl-s1"},{"start":26,"end":28,"cssClass":"pl-s1"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":34,"end":36,"cssClass":"pl-c1"},{"start":37,"end":52,"cssClass":"pl-s1"}],[{"start":24,"end":35,"cssClass":"pl-s1"},{"start":36,"end":38,"cssClass":"pl-c1"},{"start":39,"end":40,"cssClass":"pl-c1"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":47,"cssClass":"pl-en"},{"start":48,"end":51,"cssClass":"pl-s1"},{"start":53,"end":55,"cssClass":"pl-s1"},{"start":56,"end":58,"cssClass":"pl-s1"},{"start":59,"end":63,"cssClass":"pl-s1"},{"start":65,"end":67,"cssClass":"pl-s1"},{"start":68,"end":73,"cssClass":"pl-s1"}],[{"start":24,"end":37,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":40,"end":44,"cssClass":"pl-c1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-en"},{"start":23,"end":34,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":38,"end":39,"cssClass":"pl-c1"}],[{"start":20,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":39,"cssClass":"pl-v"},{"start":40,"end":43,"cssClass":"pl-en"},{"start":44,"end":55,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":25,"end":39,"cssClass":"pl-v"},{"start":40,"end":41,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":34,"cssClass":"pl-s1"}],[{"start":24,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":45,"cssClass":"pl-v"},{"start":46,"end":49,"cssClass":"pl-en"},{"start":50,"end":61,"cssClass":"pl-s1"}],[{"start":24,"end":26,"cssClass":"pl-s1"},{"start":27,"end":39,"cssClass":"pl-en"},{"start":40,"end":41,"cssClass":"pl-s1"}],[{"start":20,"end":23,"cssClass":"pl-k"},{"start":24,"end":26,"cssClass":"pl-s1"},{"start":27,"end":29,"cssClass":"pl-c1"},{"start":30,"end":35,"cssClass":"pl-s1"}],[{"start":24,"end":26,"cssClass":"pl-s1"},{"start":27,"end":33,"cssClass":"pl-en"},{"start":34,"end":36,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-s1"},{"start":44,"end":59,"cssClass":"pl-s1"},{"start":60,"end":61,"cssClass":"pl-s1"},{"start":64,"end":67,"cssClass":"pl-k"},{"start":68,"end":69,"cssClass":"pl-s1"},{"start":70,"end":72,"cssClass":"pl-c1"},{"start":73,"end":75,"cssClass":"pl-s1"},{"start":76,"end":81,"cssClass":"pl-s1"}],[{"start":20,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":41,"cssClass":"pl-v"},{"start":42,"end":50,"cssClass":"pl-v"},{"start":51,"end":53,"cssClass":"pl-s1"},{"start":56,"end":67,"cssClass":"pl-s1"},{"start":67,"end":68,"cssClass":"pl-c1"},{"start":68,"end":73,"cssClass":"pl-c1"}],[{"start":16,"end":20,"cssClass":"pl-k"}],[{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":45,"cssClass":"pl-en"},{"start":46,"end":51,"cssClass":"pl-s1"},{"start":53,"end":68,"cssClass":"pl-s1"}],[{"start":20,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":30,"end":41,"cssClass":"pl-v"},{"start":42,"end":48,"cssClass":"pl-s1"},{"start":50,"end":61,"cssClass":"pl-s1"},{"start":61,"end":62,"cssClass":"pl-c1"},{"start":62,"end":67,"cssClass":"pl-c1"}],[],[{"start":16,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":33,"cssClass":"pl-c1"},{"start":35,"end":90,"cssClass":"pl-c"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":22,"end":68,"cssClass":"pl-c"}],[{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":42,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-c1"},{"start":23,"end":30,"cssClass":"pl-s1"},{"start":31,"end":41,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":44,"end":45,"cssClass":"pl-c1"}],[{"start":20,"end":22,"cssClass":"pl-c1"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":38,"cssClass":"pl-s1"},{"start":39,"end":54,"cssClass":"pl-en"},{"start":55,"end":62,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-c1"},{"start":66,"end":77,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-c1"},{"start":23,"end":26,"cssClass":"pl-en"},{"start":27,"end":32,"cssClass":"pl-s1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":36,"end":48,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-c1"},{"start":25,"end":29,"cssClass":"pl-s1"},{"start":30,"end":41,"cssClass":"pl-s1"},{"start":42,"end":44,"cssClass":"pl-c1"},{"start":45,"end":48,"cssClass":"pl-c1"},{"start":49,"end":53,"cssClass":"pl-c1"},{"start":55,"end":58,"cssClass":"pl-c1"},{"start":59,"end":72,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-c1"},{"start":25,"end":29,"cssClass":"pl-s1"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-c1"},{"start":40,"end":43,"cssClass":"pl-c1"},{"start":44,"end":48,"cssClass":"pl-c1"},{"start":50,"end":53,"cssClass":"pl-c1"},{"start":54,"end":67,"cssClass":"pl-s1"}],[],[{"start":20,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":33,"cssClass":"pl-s1"},{"start":34,"end":37,"cssClass":"pl-en"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":39,"end":41,"cssClass":"pl-c1"},{"start":41,"end":48,"cssClass":"pl-s1"},{"start":49,"end":59,"cssClass":"pl-s1"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":25,"cssClass":"pl-s1"},{"start":26,"end":34,"cssClass":"pl-en"},{"start":35,"end":43,"cssClass":"pl-s1"},{"start":45,"end":52,"cssClass":"pl-s1"},{"start":53,"end":62,"cssClass":"pl-en"}],[{"start":24,"end":27,"cssClass":"pl-k"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":33,"end":35,"cssClass":"pl-c1"},{"start":36,"end":41,"cssClass":"pl-s1"}],[{"start":28,"end":31,"cssClass":"pl-s1"},{"start":32,"end":46,"cssClass":"pl-en"},{"start":47,"end":51,"cssClass":"pl-s1"}],[{"start":20,"end":24,"cssClass":"pl-k"}],[{"start":24,"end":27,"cssClass":"pl-s1"},{"start":28,"end":49,"cssClass":"pl-en"}],[{"start":28,"end":33,"cssClass":"pl-s1"},{"start":35,"end":42,"cssClass":"pl-s1"},{"start":44,"end":59,"cssClass":"pl-s1"},{"start":61,"end":72,"cssClass":"pl-s1"},{"start":72,"end":73,"cssClass":"pl-c1"},{"start":73,"end":78,"cssClass":"pl-c1"}],[],[{"start":8,"end":63,"cssClass":"pl-c"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":20,"end":32,"cssClass":"pl-s1"},{"start":33,"end":43,"cssClass":"pl-s"},{"start":45,"end":47,"cssClass":"pl-c1"}],[{"start":8,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":22,"end":24,"cssClass":"pl-s1"},{"start":25,"end":28,"cssClass":"pl-en"},{"start":29,"end":30,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":18,"cssClass":"pl-c1"},{"start":19,"end":23,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-en"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":42,"cssClass":"pl-s1"},{"start":43,"end":46,"cssClass":"pl-k"},{"start":47,"end":51,"cssClass":"pl-s1"},{"start":52,"end":54,"cssClass":"pl-c1"},{"start":55,"end":58,"cssClass":"pl-s1"}],[{"start":16,"end":24,"cssClass":"pl-k"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-en"},{"start":19,"end":22,"cssClass":"pl-s1"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":32,"cssClass":"pl-c1"},{"start":33,"end":36,"cssClass":"pl-c1"},{"start":37,"end":41,"cssClass":"pl-s1"},{"start":42,"end":61,"cssClass":"pl-en"},{"start":62,"end":65,"cssClass":"pl-s1"},{"start":67,"end":70,"cssClass":"pl-s1"},{"start":71,"end":72,"cssClass":"pl-c1"},{"start":74,"end":78,"cssClass":"pl-s1"},{"start":80,"end":83,"cssClass":"pl-s1"},{"start":84,"end":85,"cssClass":"pl-c1"},{"start":87,"end":92,"cssClass":"pl-s1"}],[{"start":16,"end":19,"cssClass":"pl-s1"},{"start":20,"end":35,"cssClass":"pl-en"},{"start":36,"end":39,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":44,"end":55,"cssClass":"pl-v"},{"start":56,"end":59,"cssClass":"pl-s1"},{"start":60,"end":61,"cssClass":"pl-c1"},{"start":63,"end":65,"cssClass":"pl-s1"},{"start":66,"end":75,"cssClass":"pl-en"},{"start":79,"end":90,"cssClass":"pl-s1"},{"start":90,"end":91,"cssClass":"pl-c1"},{"start":91,"end":96,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-k"}],[{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":27,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-c1"},{"start":31,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"}],[{"start":16,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":34,"end":36,"cssClass":"pl-s1"},{"start":37,"end":46,"cssClass":"pl-en"}],[{"start":16,"end":32,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":35,"end":40,"cssClass":"pl-c1"}],[{"start":16,"end":19,"cssClass":"pl-k"},{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":27,"cssClass":"pl-c1"},{"start":28,"end":31,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"}],[{"start":20,"end":22,"cssClass":"pl-k"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":30,"cssClass":"pl-c1"},{"start":31,"end":46,"cssClass":"pl-s1"}],[{"start":24,"end":40,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":43,"end":47,"cssClass":"pl-c1"}],[{"start":20,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":35,"cssClass":"pl-s1"},{"start":36,"end":38,"cssClass":"pl-s1"},{"start":39,"end":48,"cssClass":"pl-en"},{"start":51,"end":54,"cssClass":"pl-en"},{"start":55,"end":63,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":35,"cssClass":"pl-s1"}],[{"start":20,"end":28,"cssClass":"pl-k"}],[{"start":16,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":26,"end":37,"cssClass":"pl-v"},{"start":38,"end":46,"cssClass":"pl-s1"},{"start":48,"end":59,"cssClass":"pl-s1"},{"start":59,"end":60,"cssClass":"pl-c1"},{"start":60,"end":65,"cssClass":"pl-c1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":21,"cssClass":"pl-s1"},{"start":22,"end":30,"cssClass":"pl-en"},{"start":31,"end":42,"cssClass":"pl-s1"},{"start":44,"end":51,"cssClass":"pl-s1"},{"start":52,"end":61,"cssClass":"pl-en"}],[{"start":20,"end":23,"cssClass":"pl-k"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":35,"cssClass":"pl-s1"}],[{"start":24,"end":27,"cssClass":"pl-s1"},{"start":28,"end":42,"cssClass":"pl-en"},{"start":43,"end":47,"cssClass":"pl-s1"}],[{"start":16,"end":20,"cssClass":"pl-k"}],[{"start":20,"end":23,"cssClass":"pl-s1"},{"start":24,"end":45,"cssClass":"pl-en"},{"start":46,"end":49,"cssClass":"pl-s1"},{"start":51,"end":58,"cssClass":"pl-s1"},{"start":61,"end":66,"cssClass":"pl-s1"},{"start":68,"end":69,"cssClass":"pl-c1"},{"start":72,"end":83,"cssClass":"pl-s1"},{"start":83,"end":84,"cssClass":"pl-c1"},{"start":84,"end":89,"cssClass":"pl-c1"}],[],[{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":13,"cssClass":"pl-c1"},{"start":14,"end":18,"cssClass":"pl-s1"},{"start":19,"end":43,"cssClass":"pl-en"},{"start":44,"end":47,"cssClass":"pl-s1"}],[],[{"start":8,"end":89,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":21,"cssClass":"pl-s"},{"start":22,"end":24,"cssClass":"pl-c1"},{"start":25,"end":29,"cssClass":"pl-s1"},{"start":30,"end":42,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":33,"cssClass":"pl-s1"},{"start":34,"end":44,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":23,"cssClass":"pl-s"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":44,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":33,"cssClass":"pl-s1"},{"start":34,"end":46,"cssClass":"pl-s"}],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":32,"cssClass":"pl-en"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":39,"end":42,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-s"}],[{"start":0,"end":82,"cssClass":"pl-s"}],[{"start":0,"end":61,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":34,"cssClass":"pl-v"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":21,"cssClass":"pl-s"},{"start":22,"end":24,"cssClass":"pl-c1"},{"start":25,"end":29,"cssClass":"pl-s1"},{"start":30,"end":42,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-en"},{"start":32,"end":45,"cssClass":"pl-v"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":23,"cssClass":"pl-s"},{"start":24,"end":26,"cssClass":"pl-c1"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":44,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-en"},{"start":32,"end":47,"cssClass":"pl-v"}],[],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":21,"end":27,"cssClass":"pl-en"},{"start":28,"end":32,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-c1"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":24,"end":32,"cssClass":"pl-en"},{"start":33,"end":46,"cssClass":"pl-v"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":22,"end":26,"cssClass":"pl-s1"},{"start":27,"end":29,"cssClass":"pl-s1"},{"start":30,"end":44,"cssClass":"pl-en"},{"start":45,"end":57,"cssClass":"pl-s1"},{"start":58,"end":61,"cssClass":"pl-en"},{"start":62,"end":67,"cssClass":"pl-s1"},{"start":69,"end":72,"cssClass":"pl-k"},{"start":73,"end":78,"cssClass":"pl-s1"},{"start":79,"end":81,"cssClass":"pl-c1"},{"start":82,"end":86,"cssClass":"pl-s1"},{"start":87,"end":89,"cssClass":"pl-s1"},{"start":90,"end":96,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":27,"cssClass":"pl-en"},{"start":28,"end":32,"cssClass":"pl-s1"},{"start":34,"end":37,"cssClass":"pl-s1"},{"start":39,"end":48,"cssClass":"pl-s1"},{"start":50,"end":55,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-s1"},{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":25,"cssClass":"pl-c1"},{"start":26,"end":29,"cssClass":"pl-c1"},{"start":30,"end":34,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-c1"},{"start":23,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":35,"end":56,"cssClass":"pl-en"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":27,"end":32,"cssClass":"pl-en"},{"start":33,"end":36,"cssClass":"pl-s1"},{"start":37,"end":45,"cssClass":"pl-en"},{"start":46,"end":51,"cssClass":"pl-s1"},{"start":53,"end":58,"cssClass":"pl-s1"},{"start":59,"end":62,"cssClass":"pl-k"},{"start":63,"end":68,"cssClass":"pl-s1"},{"start":69,"end":71,"cssClass":"pl-c1"},{"start":72,"end":77,"cssClass":"pl-s1"}],[],[{"start":8,"end":12,"cssClass":"pl-k"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":24,"end":35,"cssClass":"pl-s1"},{"start":36,"end":39,"cssClass":"pl-c1"},{"start":40,"end":49,"cssClass":"pl-s1"},{"start":50,"end":53,"cssClass":"pl-c1"},{"start":54,"end":56,"cssClass":"pl-c1"},{"start":57,"end":61,"cssClass":"pl-s1"},{"start":62,"end":73,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":31,"cssClass":"pl-en"},{"start":32,"end":36,"cssClass":"pl-s1"},{"start":38,"end":41,"cssClass":"pl-s1"},{"start":43,"end":54,"cssClass":"pl-s1"}],[{"start":8,"end":86,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":67,"cssClass":"pl-s"}],[{"start":0,"end":67,"cssClass":"pl-s"}],[{"start":0,"end":64,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":56,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":25,"end":28,"cssClass":"pl-s1"},{"start":29,"end":37,"cssClass":"pl-en"},{"start":38,"end":39,"cssClass":"pl-s1"},{"start":41,"end":46,"cssClass":"pl-s1"},{"start":47,"end":50,"cssClass":"pl-k"},{"start":51,"end":52,"cssClass":"pl-s1"},{"start":53,"end":55,"cssClass":"pl-c1"},{"start":56,"end":67,"cssClass":"pl-s1"}],[{"start":8,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":33,"end":36,"cssClass":"pl-s1"},{"start":38,"end":43,"cssClass":"pl-s1"},{"start":44,"end":47,"cssClass":"pl-k"},{"start":48,"end":53,"cssClass":"pl-s1"},{"start":55,"end":58,"cssClass":"pl-s1"},{"start":59,"end":61,"cssClass":"pl-c1"},{"start":62,"end":71,"cssClass":"pl-en"},{"start":72,"end":78,"cssClass":"pl-en"},{"start":79,"end":92,"cssClass":"pl-s1"}],[{"start":8,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":27,"end":28,"cssClass":"pl-s1"},{"start":30,"end":51,"cssClass":"pl-s1"},{"start":52,"end":55,"cssClass":"pl-s1"},{"start":56,"end":64,"cssClass":"pl-en"},{"start":65,"end":66,"cssClass":"pl-s1"},{"start":68,"end":73,"cssClass":"pl-s1"},{"start":75,"end":78,"cssClass":"pl-k"},{"start":79,"end":80,"cssClass":"pl-s1"},{"start":81,"end":83,"cssClass":"pl-c1"},{"start":84,"end":95,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":30,"cssClass":"pl-s1"}]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/Qiskit/qiskit/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"consolidate_blocks.py","displayUrl":"https://github.com/Qiskit/qiskit/blob/main/qiskit/transpiler/passes/optimization/consolidate_blocks.py?raw=true","headerInfo":{"blobSize":"9.57 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"41407ac","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FQiskit%2Fqiskit%2Fblob%2Fmain%2Fqiskit%2Ftranspiler%2Fpasses%2Foptimization%2Fconsolidate_blocks.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"219","truncatedSloc":"196"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Python","languageID":303,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/Qiskit/qiskit/blob/main/qiskit/transpiler/passes/optimization/consolidate_blocks.py","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/Qiskit/qiskit/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/Qiskit/qiskit/raw/main/qiskit/transpiler/passes/optimization/consolidate_blocks.py","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"ConsolidateBlocks","kind":"class","ident_start":1463,"ident_end":1480,"extent_start":1457,"extent_end":9795,"fully_qualified_name":"ConsolidateBlocks","ident_utf16":{"start":{"line_number":34,"utf16_col":6},"end":{"line_number":34,"utf16_col":23}},"extent_utf16":{"start":{"line_number":34,"utf16_col":0},"end":{"line_number":218,"utf16_col":30}}},{"name":"__init__","kind":"function","ident_start":1998,"ident_end":2006,"extent_start":1994,"extent_end":3519,"fully_qualified_name":"ConsolidateBlocks.__init__","ident_utf16":{"start":{"line_number":47,"utf16_col":8},"end":{"line_number":47,"utf16_col":16}},"extent_utf16":{"start":{"line_number":47,"utf16_col":4},"end":{"line_number":82,"utf16_col":63}}},{"name":"run","kind":"function","ident_start":3529,"ident_end":3532,"extent_start":3525,"extent_end":8078,"fully_qualified_name":"ConsolidateBlocks.run","ident_utf16":{"start":{"line_number":84,"utf16_col":8},"end":{"line_number":84,"utf16_col":11}},"extent_utf16":{"start":{"line_number":84,"utf16_col":4},"end":{"line_number":179,"utf16_col":18}}},{"name":"_handle_control_flow_ops","kind":"function","ident_start":8088,"ident_end":8112,"extent_start":8084,"extent_end":8722,"fully_qualified_name":"ConsolidateBlocks._handle_control_flow_ops","ident_utf16":{"start":{"line_number":181,"utf16_col":8},"end":{"line_number":181,"utf16_col":32}},"extent_utf16":{"start":{"line_number":181,"utf16_col":4},"end":{"line_number":196,"utf16_col":18}}},{"name":"_check_not_in_basis","kind":"function","ident_start":8732,"ident_end":8751,"extent_start":8728,"extent_end":9056,"fully_qualified_name":"ConsolidateBlocks._check_not_in_basis","ident_utf16":{"start":{"line_number":198,"utf16_col":8},"end":{"line_number":198,"utf16_col":27}},"extent_utf16":{"start":{"line_number":198,"utf16_col":4},"end":{"line_number":204,"utf16_col":73}}},{"name":"_block_qargs_to_indices","kind":"function","ident_start":9066,"ident_end":9089,"extent_start":9062,"extent_end":9795,"fully_qualified_name":"ConsolidateBlocks._block_qargs_to_indices","ident_utf16":{"start":{"line_number":206,"utf16_col":8},"end":{"line_number":206,"utf16_col":31}},"extent_utf16":{"start":{"line_number":206,"utf16_col":4},"end":{"line_number":218,"utf16_col":30}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/Qiskit/qiskit/branches":{"post":"9VKQTWu0Pj3YWzVngh6qforqbVkt5hH6Z7oJIEC_CnRdyXYcgLdjvG7_5jzv0lQQypi2f9xzd7qqfRMxKl2Mjg"},"/repos/preferences":{"post":"TIqXUnKZmwpzV8JNX7BVv4EQp9pY2negupAif3VwWVo5S4OxHPQ6dFvowQpkLoEl4_Bbk10e6vYk9oormhU49A"}}},"title":"qiskit/qiskit/transpiler/passes/optimization/consolidate_blocks.py at main ยท Qiskit/qiskit"}