{"payload":{"allShortcutsEnabled":false,"fileTree":{"qiskit/transpiler/passes/layout":{"items":[{"name":"__init__.py","path":"qiskit/transpiler/passes/layout/__init__.py","contentType":"file"},{"name":"_csp_custom_solver.py","path":"qiskit/transpiler/passes/layout/_csp_custom_solver.py","contentType":"file"},{"name":"apply_layout.py","path":"qiskit/transpiler/passes/layout/apply_layout.py","contentType":"file"},{"name":"csp_layout.py","path":"qiskit/transpiler/passes/layout/csp_layout.py","contentType":"file"},{"name":"dense_layout.py","path":"qiskit/transpiler/passes/layout/dense_layout.py","contentType":"file"},{"name":"disjoint_utils.py","path":"qiskit/transpiler/passes/layout/disjoint_utils.py","contentType":"file"},{"name":"enlarge_with_ancilla.py","path":"qiskit/transpiler/passes/layout/enlarge_with_ancilla.py","contentType":"file"},{"name":"full_ancilla_allocation.py","path":"qiskit/transpiler/passes/layout/full_ancilla_allocation.py","contentType":"file"},{"name":"layout_2q_distance.py","path":"qiskit/transpiler/passes/layout/layout_2q_distance.py","contentType":"file"},{"name":"sabre_layout.py","path":"qiskit/transpiler/passes/layout/sabre_layout.py","contentType":"file"},{"name":"sabre_pre_layout.py","path":"qiskit/transpiler/passes/layout/sabre_pre_layout.py","contentType":"file"},{"name":"set_layout.py","path":"qiskit/transpiler/passes/layout/set_layout.py","contentType":"file"},{"name":"trivial_layout.py","path":"qiskit/transpiler/passes/layout/trivial_layout.py","contentType":"file"},{"name":"vf2_layout.py","path":"qiskit/transpiler/passes/layout/vf2_layout.py","contentType":"file"},{"name":"vf2_post_layout.py","path":"qiskit/transpiler/passes/layout/vf2_post_layout.py","contentType":"file"},{"name":"vf2_utils.py","path":"qiskit/transpiler/passes/layout/vf2_utils.py","contentType":"file"}],"totalCount":16},"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":24.98326,"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/layout/dense_layout.py","currentUser":null,"blob":{"rawLines":["# This code is part of Qiskit.","#","# (C) Copyright IBM 2017, 2018.","#","# 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.","","\"\"\"Choose a Layout by finding the most connected subset of qubits.\"\"\"","","","import numpy as np","import rustworkx","","from qiskit.transpiler.layout import Layout","from qiskit.transpiler.basepasses import AnalysisPass","from qiskit.transpiler.exceptions import TranspilerError","from qiskit.transpiler.passes.layout import disjoint_utils","","from qiskit._accelerate.dense_layout import best_subset","","","class DenseLayout(AnalysisPass):"," \"\"\"Choose a Layout by finding the most connected subset of qubits.",""," This pass associates a physical qubit (int) to each virtual qubit"," of the circuit (Qubit).",""," Note:"," Even though a ``'layout'`` is not strictly a property of the DAG,"," in the transpiler architecture it is best passed around between passes"," by being set in ``property_set``."," \"\"\"",""," def __init__(self, coupling_map=None, backend_prop=None, target=None):"," \"\"\"DenseLayout initializer.",""," Args:"," coupling_map (Coupling): directed graph representing a coupling map."," backend_prop (BackendProperties): backend properties object"," target (Target): A target representing the target backend."," \"\"\""," super().__init__()"," self.coupling_map = coupling_map"," self.backend_prop = backend_prop"," self.target = target"," self.adjacency_matrix = None"," if target is not None:"," self.coupling_map = target.build_coupling_map()",""," def run(self, dag):"," \"\"\"Run the DenseLayout pass on `dag`.",""," Pick a convenient layout depending on the best matching"," qubit connectivity, and set the property `layout`.",""," Args:"," dag (DAGCircuit): DAG to find layout for.",""," Raises:"," TranspilerError: if dag wider than self.coupling_map"," \"\"\""," if self.coupling_map is None:"," raise TranspilerError("," \"A coupling_map or target with constrained qargs is necessary to run the pass.\""," )"," layout_components = disjoint_utils.run_pass_over_connected_components("," dag,"," self.coupling_map if self.target is None else self.target,"," self._inner_run,"," )"," layout_mapping = {}"," for component in layout_components:"," layout_mapping.update(component)"," layout = Layout(layout_mapping)"," for qreg in dag.qregs.values():"," layout.add_register(qreg)"," self.property_set[\"layout\"] = layout",""," def _inner_run(self, dag, coupling_map):"," num_dag_qubits = len(dag.qubits)"," if num_dag_qubits > coupling_map.size():"," raise TranspilerError(\"Number of qubits greater than device.\")"," num_cx = 0"," num_meas = 0",""," if self.target is not None:"," num_cx = 1"," num_meas = 1"," else:"," # Get avg number of cx and meas per qubit"," ops = dag.count_ops(recurse=True)"," if \"cx\" in ops.keys():"," num_cx = ops[\"cx\"]"," if \"measure\" in ops.keys():"," num_meas = ops[\"measure\"]",""," best_sub = self._best_subset(num_dag_qubits, num_meas, num_cx, coupling_map)"," layout_mapping = {"," qubit: coupling_map.graph[int(best_sub[i])] for i, qubit in enumerate(dag.qubits)"," }"," return layout_mapping",""," def _best_subset(self, num_qubits, num_meas, num_cx, coupling_map):"," \"\"\"Computes the qubit mapping with the best connectivity.",""," Args:"," num_qubits (int): Number of subset qubits to consider.",""," Returns:"," ndarray: Array of qubits to use for best connectivity mapping."," \"\"\""," from scipy.sparse import coo_matrix, csgraph",""," if num_qubits == 1:"," return np.array([0])"," if num_qubits == 0:"," return []",""," adjacency_matrix = rustworkx.adjacency_matrix(coupling_map.graph)"," reverse_index_map = {v: k for k, v in enumerate(coupling_map.graph.nodes())}",""," error_mat, use_error = _build_error_matrix("," coupling_map.size(),"," reverse_index_map,"," backend_prop=self.backend_prop,"," coupling_map=self.coupling_map,"," target=self.target,"," )",""," rows, cols, best_map = best_subset("," num_qubits,"," adjacency_matrix,"," num_meas,"," num_cx,"," use_error,"," coupling_map.is_symmetric,"," error_mat,"," )"," data = [1] * len(rows)"," sp_sub_graph = coo_matrix((data, (rows, cols)), shape=(num_qubits, num_qubits)).tocsr()"," perm = csgraph.reverse_cuthill_mckee(sp_sub_graph)"," best_map = best_map[perm]"," return best_map","","","def _build_error_matrix(num_qubits, qubit_map, target=None, coupling_map=None, backend_prop=None):"," error_mat = np.zeros((num_qubits, num_qubits))"," use_error = False"," if target is not None and target.qargs is not None:"," for qargs in target.qargs:"," # Ignore gates over 2q DenseLayout only works with 2q"," if len(qargs) > 2:"," continue"," error = 0.0"," ops = target.operation_names_for_qargs(qargs)"," for op in ops:"," props = target[op].get(qargs, None)"," if props is not None and props.error is not None:"," # Use max error rate to represent operation error"," # on a qubit(s). If there is more than 1 operation available"," # we don't know what will be used on the qubits eventually"," # so we take the highest error operation as a proxy for"," # the possible worst case."," error = max(error, props.error)"," max_error = error"," if any(qubit not in qubit_map for qubit in qargs):"," continue"," # TODO: Factor in T1 and T2 to error matrix after #7736"," if len(qargs) == 1:"," qubit = qubit_map[qargs[0]]"," error_mat[qubit][qubit] = max_error"," use_error = True"," elif len(qargs) == 2:"," error_mat[qubit_map[qargs[0]]][qubit_map[qargs[1]]] = max_error"," use_error = True"," elif backend_prop and coupling_map:"," error_dict = {"," tuple(gate.qubits): gate.parameters[0].value"," for gate in backend_prop.gates"," if len(gate.qubits) == 2"," }"," for edge in coupling_map.get_edges():"," gate_error = error_dict.get(edge)"," if gate_error is not None:"," if edge[0] not in qubit_map or edge[1] not in qubit_map:"," continue"," error_mat[qubit_map[edge[0]]][qubit_map[edge[1]]] = gate_error"," use_error = True"," for index, qubit_data in enumerate(backend_prop.qubits):"," if index not in qubit_map:"," continue"," for item in qubit_data:"," if item.name == \"readout_error\":"," mapped_index = qubit_map[index]"," error_mat[mapped_index][mapped_index] = item.value"," use_error = True"," return error_mat, use_error"],"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":69,"cssClass":"pl-s"}],[],[],[{"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":6,"cssClass":"pl-k"},{"start":7,"end":16,"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":36,"cssClass":"pl-k"},{"start":37,"end":43,"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":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":33,"cssClass":"pl-s1"},{"start":34,"end":40,"cssClass":"pl-k"},{"start":41,"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":29,"cssClass":"pl-s1"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-k"},{"start":44,"end":58,"cssClass":"pl-s1"}],[],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":11,"cssClass":"pl-s1"},{"start":12,"end":23,"cssClass":"pl-s1"},{"start":24,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-k"},{"start":44,"end":55,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":5,"cssClass":"pl-k"},{"start":6,"end":17,"cssClass":"pl-v"},{"start":18,"end":30,"cssClass":"pl-v"}],[{"start":4,"end":70,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":69,"cssClass":"pl-s"}],[{"start":0,"end":27,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":9,"cssClass":"pl-s"}],[{"start":0,"end":73,"cssClass":"pl-s"}],[{"start":0,"end":78,"cssClass":"pl-s"}],[{"start":0,"end":41,"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":17,"end":21,"cssClass":"pl-s1"},{"start":23,"end":35,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":36,"end":40,"cssClass":"pl-c1"},{"start":42,"end":54,"cssClass":"pl-s1"},{"start":54,"end":55,"cssClass":"pl-c1"},{"start":55,"end":59,"cssClass":"pl-c1"},{"start":61,"end":67,"cssClass":"pl-s1"},{"start":67,"end":68,"cssClass":"pl-c1"},{"start":68,"end":72,"cssClass":"pl-c1"}],[{"start":8,"end":35,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":80,"cssClass":"pl-s"}],[{"start":0,"end":71,"cssClass":"pl-s"}],[{"start":0,"end":70,"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":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":40,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":40,"cssClass":"pl-s1"}],[{"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":12,"cssClass":"pl-s1"},{"start":13,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":36,"cssClass":"pl-c1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-c1"},{"start":25,"end":29,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":38,"cssClass":"pl-s1"},{"start":39,"end":57,"cssClass":"pl-en"}],[],[{"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":45,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":63,"cssClass":"pl-s"}],[{"start":0,"end":58,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":53,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":15,"cssClass":"pl-s"}],[{"start":0,"end":64,"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":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":36,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":33,"cssClass":"pl-v"}],[{"start":16,"end":95,"cssClass":"pl-s"}],[],[{"start":8,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":42,"cssClass":"pl-s1"},{"start":43,"end":77,"cssClass":"pl-en"}],[{"start":12,"end":15,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":29,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-k"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":38,"end":44,"cssClass":"pl-s1"},{"start":45,"end":47,"cssClass":"pl-c1"},{"start":48,"end":52,"cssClass":"pl-c1"},{"start":53,"end":57,"cssClass":"pl-k"},{"start":58,"end":62,"cssClass":"pl-s1"},{"start":63,"end":69,"cssClass":"pl-s1"}],[{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":27,"cssClass":"pl-s1"}],[],[{"start":8,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":24,"cssClass":"pl-c1"},{"start":25,"end":42,"cssClass":"pl-s1"}],[{"start":12,"end":26,"cssClass":"pl-s1"},{"start":27,"end":33,"cssClass":"pl-en"},{"start":34,"end":43,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":23,"cssClass":"pl-v"},{"start":24,"end":38,"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":29,"cssClass":"pl-s1"},{"start":30,"end":36,"cssClass":"pl-en"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":31,"cssClass":"pl-en"},{"start":32,"end":36,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":25,"cssClass":"pl-s1"},{"start":26,"end":34,"cssClass":"pl-s"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":38,"end":44,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":18,"cssClass":"pl-en"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":25,"end":28,"cssClass":"pl-s1"},{"start":30,"end":42,"cssClass":"pl-s1"}],[{"start":8,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":25,"end":28,"cssClass":"pl-en"},{"start":29,"end":32,"cssClass":"pl-s1"},{"start":33,"end":39,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":40,"cssClass":"pl-s1"},{"start":41,"end":45,"cssClass":"pl-en"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":33,"cssClass":"pl-v"},{"start":34,"end":73,"cssClass":"pl-s"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":17,"end":18,"cssClass":"pl-c1"}],[{"start":8,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":19,"end":20,"cssClass":"pl-c1"}],[],[{"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-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":22,"cssClass":"pl-c1"}],[{"start":12,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":24,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-k"}],[{"start":12,"end":53,"cssClass":"pl-c"}],[{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":21,"cssClass":"pl-s1"},{"start":22,"end":31,"cssClass":"pl-en"},{"start":32,"end":39,"cssClass":"pl-s1"},{"start":39,"end":40,"cssClass":"pl-c1"},{"start":40,"end":44,"cssClass":"pl-c1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":19,"cssClass":"pl-s"},{"start":20,"end":22,"cssClass":"pl-c1"},{"start":23,"end":26,"cssClass":"pl-s1"},{"start":27,"end":31,"cssClass":"pl-en"}],[{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":25,"end":28,"cssClass":"pl-s1"},{"start":29,"end":33,"cssClass":"pl-s"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":24,"cssClass":"pl-s"},{"start":25,"end":27,"cssClass":"pl-c1"},{"start":28,"end":31,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-en"}],[{"start":16,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":30,"cssClass":"pl-s1"},{"start":31,"end":40,"cssClass":"pl-s"}],[],[{"start":8,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":24,"end":36,"cssClass":"pl-en"},{"start":37,"end":51,"cssClass":"pl-s1"},{"start":53,"end":61,"cssClass":"pl-s1"},{"start":63,"end":69,"cssClass":"pl-s1"},{"start":71,"end":83,"cssClass":"pl-s1"}],[{"start":8,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":19,"end":31,"cssClass":"pl-s1"},{"start":32,"end":37,"cssClass":"pl-s1"},{"start":38,"end":41,"cssClass":"pl-en"},{"start":42,"end":50,"cssClass":"pl-s1"},{"start":51,"end":52,"cssClass":"pl-s1"},{"start":56,"end":59,"cssClass":"pl-k"},{"start":60,"end":61,"cssClass":"pl-s1"},{"start":63,"end":68,"cssClass":"pl-s1"},{"start":69,"end":71,"cssClass":"pl-c1"},{"start":72,"end":81,"cssClass":"pl-en"},{"start":82,"end":85,"cssClass":"pl-s1"},{"start":86,"end":92,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":29,"cssClass":"pl-s1"}],[],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":20,"cssClass":"pl-en"},{"start":21,"end":25,"cssClass":"pl-s1"},{"start":27,"end":37,"cssClass":"pl-s1"},{"start":39,"end":47,"cssClass":"pl-s1"},{"start":49,"end":55,"cssClass":"pl-s1"},{"start":57,"end":69,"cssClass":"pl-s1"}],[{"start":8,"end":65,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":13,"cssClass":"pl-s"}],[{"start":0,"end":66,"cssClass":"pl-s"}],[{"start":0,"end":0,"cssClass":"pl-s"}],[{"start":0,"end":16,"cssClass":"pl-s"}],[{"start":0,"end":74,"cssClass":"pl-s"}],[{"start":0,"end":11,"cssClass":"pl-s"}],[{"start":8,"end":12,"cssClass":"pl-k"},{"start":13,"end":18,"cssClass":"pl-s1"},{"start":19,"end":25,"cssClass":"pl-s1"},{"start":26,"end":32,"cssClass":"pl-k"},{"start":33,"end":43,"cssClass":"pl-s1"},{"start":45,"end":52,"cssClass":"pl-s1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":21,"cssClass":"pl-s1"},{"start":22,"end":24,"cssClass":"pl-c1"},{"start":25,"end":26,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":21,"cssClass":"pl-s1"},{"start":22,"end":27,"cssClass":"pl-en"},{"start":29,"end":30,"cssClass":"pl-c1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":21,"cssClass":"pl-s1"},{"start":22,"end":24,"cssClass":"pl-c1"},{"start":25,"end":26,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-k"}],[],[{"start":8,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":36,"cssClass":"pl-s1"},{"start":37,"end":53,"cssClass":"pl-en"},{"start":54,"end":66,"cssClass":"pl-s1"},{"start":67,"end":72,"cssClass":"pl-s1"}],[{"start":8,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-s1"},{"start":34,"end":37,"cssClass":"pl-k"},{"start":38,"end":39,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-s1"},{"start":43,"end":45,"cssClass":"pl-c1"},{"start":46,"end":55,"cssClass":"pl-en"},{"start":56,"end":68,"cssClass":"pl-s1"},{"start":69,"end":74,"cssClass":"pl-s1"},{"start":75,"end":80,"cssClass":"pl-en"}],[],[{"start":8,"end":17,"cssClass":"pl-s1"},{"start":19,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":50,"cssClass":"pl-en"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":29,"cssClass":"pl-en"}],[{"start":12,"end":29,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":24,"end":25,"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":24,"end":25,"cssClass":"pl-c1"},{"start":25,"end":29,"cssClass":"pl-s1"},{"start":30,"end":42,"cssClass":"pl-s1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":14,"end":18,"cssClass":"pl-s1"},{"start":20,"end":28,"cssClass":"pl-s1"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":31,"end":42,"cssClass":"pl-en"}],[{"start":12,"end":22,"cssClass":"pl-s1"}],[{"start":12,"end":28,"cssClass":"pl-s1"}],[{"start":12,"end":20,"cssClass":"pl-s1"}],[{"start":12,"end":18,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":25,"end":37,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"}],[],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-en"},{"start":25,"end":29,"cssClass":"pl-s1"}],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":33,"cssClass":"pl-en"},{"start":35,"end":39,"cssClass":"pl-s1"},{"start":42,"end":46,"cssClass":"pl-s1"},{"start":48,"end":52,"cssClass":"pl-s1"},{"start":56,"end":61,"cssClass":"pl-s1"},{"start":61,"end":62,"cssClass":"pl-c1"},{"start":63,"end":73,"cssClass":"pl-s1"},{"start":75,"end":85,"cssClass":"pl-s1"},{"start":88,"end":93,"cssClass":"pl-en"}],[{"start":8,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":15,"end":22,"cssClass":"pl-s1"},{"start":23,"end":44,"cssClass":"pl-en"},{"start":45,"end":57,"cssClass":"pl-s1"}],[{"start":8,"end":16,"cssClass":"pl-s1"},{"start":17,"end":18,"cssClass":"pl-c1"},{"start":19,"end":27,"cssClass":"pl-s1"},{"start":28,"end":32,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":23,"cssClass":"pl-s1"}],[],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":23,"cssClass":"pl-en"},{"start":24,"end":34,"cssClass":"pl-s1"},{"start":36,"end":45,"cssClass":"pl-s1"},{"start":47,"end":53,"cssClass":"pl-s1"},{"start":53,"end":54,"cssClass":"pl-c1"},{"start":54,"end":58,"cssClass":"pl-c1"},{"start":60,"end":72,"cssClass":"pl-s1"},{"start":72,"end":73,"cssClass":"pl-c1"},{"start":73,"end":77,"cssClass":"pl-c1"},{"start":79,"end":91,"cssClass":"pl-s1"},{"start":91,"end":92,"cssClass":"pl-c1"},{"start":92,"end":96,"cssClass":"pl-c1"}],[{"start":4,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":16,"end":18,"cssClass":"pl-s1"},{"start":19,"end":24,"cssClass":"pl-en"},{"start":26,"end":36,"cssClass":"pl-s1"},{"start":38,"end":48,"cssClass":"pl-s1"}],[{"start":4,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":16,"end":21,"cssClass":"pl-c1"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":13,"cssClass":"pl-s1"},{"start":14,"end":16,"cssClass":"pl-c1"},{"start":17,"end":20,"cssClass":"pl-c1"},{"start":21,"end":25,"cssClass":"pl-c1"},{"start":26,"end":29,"cssClass":"pl-c1"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":37,"end":42,"cssClass":"pl-s1"},{"start":43,"end":45,"cssClass":"pl-c1"},{"start":46,"end":49,"cssClass":"pl-c1"},{"start":50,"end":54,"cssClass":"pl-c1"}],[{"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":28,"end":33,"cssClass":"pl-s1"}],[{"start":12,"end":65,"cssClass":"pl-c"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":18,"cssClass":"pl-en"},{"start":19,"end":24,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":29,"cssClass":"pl-c1"}],[{"start":16,"end":24,"cssClass":"pl-k"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":23,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":24,"cssClass":"pl-s1"},{"start":25,"end":50,"cssClass":"pl-en"},{"start":51,"end":56,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":18,"cssClass":"pl-s1"},{"start":19,"end":21,"cssClass":"pl-c1"},{"start":22,"end":25,"cssClass":"pl-s1"}],[{"start":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":30,"cssClass":"pl-s1"},{"start":31,"end":33,"cssClass":"pl-s1"},{"start":35,"end":38,"cssClass":"pl-en"},{"start":39,"end":44,"cssClass":"pl-s1"},{"start":46,"end":50,"cssClass":"pl-c1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"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":37,"end":40,"cssClass":"pl-c1"},{"start":41,"end":46,"cssClass":"pl-s1"},{"start":47,"end":52,"cssClass":"pl-s1"},{"start":53,"end":55,"cssClass":"pl-c1"},{"start":56,"end":59,"cssClass":"pl-c1"},{"start":60,"end":64,"cssClass":"pl-c1"}],[{"start":20,"end":69,"cssClass":"pl-c"}],[{"start":20,"end":80,"cssClass":"pl-c"}],[{"start":20,"end":78,"cssClass":"pl-c"}],[{"start":20,"end":75,"cssClass":"pl-c"}],[{"start":20,"end":46,"cssClass":"pl-c"}],[{"start":20,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":31,"cssClass":"pl-en"},{"start":32,"end":37,"cssClass":"pl-s1"},{"start":39,"end":44,"cssClass":"pl-s1"},{"start":45,"end":50,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":29,"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":25,"end":28,"cssClass":"pl-c1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":41,"cssClass":"pl-s1"},{"start":42,"end":45,"cssClass":"pl-k"},{"start":46,"end":51,"cssClass":"pl-s1"},{"start":52,"end":54,"cssClass":"pl-c1"},{"start":55,"end":60,"cssClass":"pl-s1"}],[{"start":16,"end":24,"cssClass":"pl-k"}],[{"start":12,"end":67,"cssClass":"pl-c"}],[{"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":16,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":33,"cssClass":"pl-s1"},{"start":34,"end":39,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-c1"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":31,"cssClass":"pl-s1"},{"start":33,"end":38,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":42,"end":51,"cssClass":"pl-s1"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-c1"}],[{"start":12,"end":16,"cssClass":"pl-k"},{"start":17,"end":20,"cssClass":"pl-en"},{"start":21,"end":26,"cssClass":"pl-s1"},{"start":28,"end":30,"cssClass":"pl-c1"},{"start":31,"end":32,"cssClass":"pl-c1"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":35,"cssClass":"pl-s1"},{"start":36,"end":41,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":47,"end":56,"cssClass":"pl-s1"},{"start":57,"end":62,"cssClass":"pl-s1"},{"start":63,"end":64,"cssClass":"pl-c1"},{"start":68,"end":69,"cssClass":"pl-c1"},{"start":70,"end":79,"cssClass":"pl-s1"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-c1"}],[{"start":4,"end":8,"cssClass":"pl-k"},{"start":9,"end":21,"cssClass":"pl-s1"},{"start":22,"end":25,"cssClass":"pl-c1"},{"start":26,"end":38,"cssClass":"pl-s1"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-en"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-s1"},{"start":32,"end":36,"cssClass":"pl-s1"},{"start":37,"end":47,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":51,"end":56,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":36,"cssClass":"pl-s1"},{"start":37,"end":42,"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":30,"cssClass":"pl-s1"},{"start":32,"end":34,"cssClass":"pl-c1"},{"start":35,"end":36,"cssClass":"pl-c1"}],[],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-c1"},{"start":20,"end":32,"cssClass":"pl-s1"},{"start":33,"end":42,"cssClass":"pl-en"}],[{"start":12,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":25,"end":35,"cssClass":"pl-s1"},{"start":36,"end":39,"cssClass":"pl-en"},{"start":40,"end":44,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"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":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-c1"},{"start":27,"end":30,"cssClass":"pl-c1"},{"start":31,"end":33,"cssClass":"pl-c1"},{"start":34,"end":43,"cssClass":"pl-s1"},{"start":44,"end":46,"cssClass":"pl-c1"},{"start":47,"end":51,"cssClass":"pl-s1"},{"start":52,"end":53,"cssClass":"pl-c1"},{"start":55,"end":58,"cssClass":"pl-c1"},{"start":59,"end":61,"cssClass":"pl-c1"},{"start":62,"end":71,"cssClass":"pl-s1"}],[{"start":20,"end":28,"cssClass":"pl-k"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":35,"cssClass":"pl-s1"},{"start":36,"end":40,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":46,"end":55,"cssClass":"pl-s1"},{"start":56,"end":60,"cssClass":"pl-s1"},{"start":61,"end":62,"cssClass":"pl-c1"},{"start":66,"end":67,"cssClass":"pl-c1"},{"start":68,"end":78,"cssClass":"pl-s1"}],[{"start":16,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":28,"end":32,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":19,"end":29,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-c1"},{"start":33,"end":42,"cssClass":"pl-en"},{"start":43,"end":55,"cssClass":"pl-s1"},{"start":56,"end":62,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":15,"end":20,"cssClass":"pl-s1"},{"start":21,"end":24,"cssClass":"pl-c1"},{"start":25,"end":27,"cssClass":"pl-c1"},{"start":28,"end":37,"cssClass":"pl-s1"}],[{"start":16,"end":24,"cssClass":"pl-k"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":16,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":34,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":19,"end":23,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-s1"},{"start":29,"end":31,"cssClass":"pl-c1"},{"start":32,"end":47,"cssClass":"pl-s"}],[{"start":20,"end":32,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":35,"end":44,"cssClass":"pl-s1"},{"start":45,"end":50,"cssClass":"pl-s1"}],[{"start":20,"end":29,"cssClass":"pl-s1"},{"start":30,"end":42,"cssClass":"pl-s1"},{"start":44,"end":56,"cssClass":"pl-s1"},{"start":58,"end":59,"cssClass":"pl-c1"},{"start":60,"end":64,"cssClass":"pl-s1"},{"start":65,"end":70,"cssClass":"pl-s1"}],[{"start":20,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":32,"end":36,"cssClass":"pl-c1"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":20,"cssClass":"pl-s1"},{"start":22,"end":31,"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":"dense_layout.py","displayUrl":"https://github.com/Qiskit/qiskit/blob/main/qiskit/transpiler/passes/layout/dense_layout.py?raw=true","headerInfo":{"blobSize":"7.46 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":"71c6973","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FQiskit%2Fqiskit%2Fblob%2Fmain%2Fqiskit%2Ftranspiler%2Fpasses%2Flayout%2Fdense_layout.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"202","truncatedSloc":"175"},"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/layout/dense_layout.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/layout/dense_layout.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":"DenseLayout","kind":"class","ident_start":872,"ident_end":883,"extent_start":866,"extent_end":5165,"fully_qualified_name":"DenseLayout","ident_utf16":{"start":{"line_number":26,"utf16_col":6},"end":{"line_number":26,"utf16_col":17}},"extent_utf16":{"start":{"line_number":26,"utf16_col":0},"end":{"line_number":147,"utf16_col":23}}},{"name":"__init__","kind":"function","ident_start":1292,"ident_end":1300,"extent_start":1288,"extent_end":1911,"fully_qualified_name":"DenseLayout.__init__","ident_utf16":{"start":{"line_number":38,"utf16_col":8},"end":{"line_number":38,"utf16_col":16}},"extent_utf16":{"start":{"line_number":38,"utf16_col":4},"end":{"line_number":52,"utf16_col":59}}},{"name":"run","kind":"function","ident_start":1921,"ident_end":1924,"extent_start":1917,"extent_end":2938,"fully_qualified_name":"DenseLayout.run","ident_utf16":{"start":{"line_number":54,"utf16_col":8},"end":{"line_number":54,"utf16_col":11}},"extent_utf16":{"start":{"line_number":54,"utf16_col":4},"end":{"line_number":81,"utf16_col":44}}},{"name":"_inner_run","kind":"function","ident_start":2948,"ident_end":2958,"extent_start":2944,"extent_end":3787,"fully_qualified_name":"DenseLayout._inner_run","ident_utf16":{"start":{"line_number":83,"utf16_col":8},"end":{"line_number":83,"utf16_col":18}},"extent_utf16":{"start":{"line_number":83,"utf16_col":4},"end":{"line_number":105,"utf16_col":29}}},{"name":"_best_subset","kind":"function","ident_start":3797,"ident_end":3809,"extent_start":3793,"extent_end":5165,"fully_qualified_name":"DenseLayout._best_subset","ident_utf16":{"start":{"line_number":107,"utf16_col":8},"end":{"line_number":107,"utf16_col":20}},"extent_utf16":{"start":{"line_number":107,"utf16_col":4},"end":{"line_number":147,"utf16_col":23}}},{"name":"_build_error_matrix","kind":"function","ident_start":5172,"ident_end":5191,"extent_start":5168,"extent_end":7639,"fully_qualified_name":"_build_error_matrix","ident_utf16":{"start":{"line_number":150,"utf16_col":4},"end":{"line_number":150,"utf16_col":23}},"extent_utf16":{"start":{"line_number":150,"utf16_col":0},"end":{"line_number":201,"utf16_col":31}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/Qiskit/qiskit/branches":{"post":"gIY2NZ9iTE3ymypgRyT6c8ExpA_4FVtOP0QHvNPo0AmO0KpCkgYHefUSp7CizgfNf3on2ms9RMehYLnUwej7Zg"},"/repos/preferences":{"post":"imDiZpLUAiG8csh0haHKVhVuWyAaa09OxnT6mEDcMA7ei0yjvdUX-PkVh9jqtLdl4s2dGTpFoNWbKTGLPbFCCQ"}}},"title":"qiskit/qiskit/transpiler/passes/layout/dense_layout.py at main ยท Qiskit/qiskit"}