{ "cells": [ { "cell_type": "markdown", "id": "aadc351d", "metadata": {}, "source": [ "(sec-tutorial-experiment)=\n", "\n", "# Tutorial: Running an Experiment\n", "\n", "```{seealso}\n", "The complete source code of this tutorial can be found in\n", "\n", "{nb-download}`Running an Experiment.ipynb`\n", "\n", "The example dataset can be downloaded {download}`here <../examples/dataset.hdf5>`.\n", "```\n", "\n", "This notebook presents a structure for setting up experiments using a\n", "combination of `quantify-scheduler` and `quantify-core`. `quantify-scheduler`\n", "provides a high-level interface with the hardware, allowing users to abstract\n", "hardware-specific nuances. `quantify-core`, on the other hand, serves as an\n", "experiment management tool, using `quantify-scheduler` as its hardware\n", "interface. This allows users to manage, execute, and analyze experiments easily.\n", "\n", "The following is a general workflow for using Quantify\n", "\n", "- **{ref}`initial_setup`**\n", " - Set the directory for data storage for the experiment\n", " - Initialize the {class}`~quantify_core.measurement.control.MeasurementControl` and {class}`~quantify_scheduler.instrument_coordinator.instrument_coordinator.InstrumentCoordinator` objects\n", "\n", "- **{ref}`device_setup`**\n", " - Set up a *device compilation configuration* for the *device under test*\n", "\n", "- **{ref}`hardware_setup`**\n", " - Connect to the *control hardware*\n", " - Set up the *hardware compilation configuration*\n", "\n", "- **{ref}`create_schedule`**\n", " - Create a *schedule* containing the timeline of operations for the experiment\n", " - *Compile* the schedule to control-hardware code\n", " - *Visualize* the schedule\n", "\n", "- **{ref}`run_experiment`**\n", " - Setup {class}`~quantify_core.measurement.control.MeasurementControl` to run the experiment\n", " - *Run* the experiment\n", " - *Analyze* the results\n", "\n", "\n", "(initial_setup)=\n", "## 1. Initial Setup\n", "We first set up the directory in which all experimental data will be stored and managed." ] }, { "cell_type": "code", "execution_count": 1, "id": "ed59dd23", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Data will be saved in:\n", "/Users/user/quantify-data\n" ] } ], "source": [ "from quantify_core.data import handling as dh\n", "dh.set_datadir()" ] }, { "cell_type": "markdown", "id": "05d1b9c7", "metadata": {}, "source": [ "Next, we need to initialize two classes:\n", "{class}`~quantify_core.measurement.control.MeasurementControl` for managing the\n", "experiment and {class}`~quantify_scheduler.instrument_coordinator.instrument_coordinator.InstrumentCoordinator` for managing the control hardware." ] }, { "cell_type": "code", "execution_count": 2, "id": "c1fbc7d7", "metadata": {}, "outputs": [], "source": [ "from quantify_core.measurement.control import MeasurementControl\n", "from quantify_scheduler import InstrumentCoordinator\n", "\n", "measurement_control = MeasurementControl(\"measurement_control\")\n", "instrument_coordinator = InstrumentCoordinator(\"instrument_coordinator\")" ] }, { "cell_type": "markdown", "id": "ca862131", "metadata": {}, "source": [ "(device_setup)=\n", "## 2. Device Setup\n", "\n", "We set up the quantum device on which we perform the actual experiments.\n", "This one-qubit chip is represented by {class}`~quantify_scheduler.device_under_test.quantum_device.QuantumDevice` where we add a single\n", "transmon qubit (represented by {class}`~quantify_scheduler.device_under_test.transmon_element.BasicTransmonElement`) `q0` to it." ] }, { "cell_type": "code", "execution_count": 3, "id": "caba716f", "metadata": {}, "outputs": [], "source": [ "# Device parameters\n", "ACQ_DELAY = 100e-9\n", "FREQ_01 = 4e9\n", "READOUT_AMP = 0.1\n", "READOUT_FREQ = 4.3e9\n", "PI_PULSE_AMP = 0.15\n", "LO_FREQ_QUBIT = 3.9e9\n", "LO_FREQ_READOUT = 4.5e9" ] }, { "cell_type": "code", "execution_count": 4, "id": "bbf2677a", "metadata": {}, "outputs": [], "source": [ "from quantify_scheduler import BasicTransmonElement, QuantumDevice\n", "\n", "single_qubit_device = QuantumDevice(\"single_qubit_device\")\n", "single_qubit_device.instr_instrument_coordinator(instrument_coordinator.name)\n", "\n", "q0 = BasicTransmonElement(\"q0\")\n", "single_qubit_device.add_element(q0)\n", "\n", "# Assign device parameters to transmon element\n", "q0.measure.pulse_amp(READOUT_AMP)\n", "q0.clock_freqs.readout(READOUT_FREQ)\n", "q0.clock_freqs.f01(FREQ_01)\n", "q0.measure.acq_delay(ACQ_DELAY)\n", "q0.rxy.amp180(PI_PULSE_AMP)" ] }, { "cell_type": "markdown", "id": "77ac8a2e", "metadata": {}, "source": [ "```{admonition} Quantum Devices and Elements\n", "More information on quantum devices and elements can be found in\n", "{ref}`sec-tutorial-ops-qubits`.\n", "```\n", "\n", "(hardware_setup)=\n", "## 3. Hardware Setup\n", "\n", "Let us now set up the connections to the control hardware. In this example, we\n", "use a dummy Qblox device that is created via an instance of the\n", "{class}`~qblox_instruments.Cluster` class, and is initialized with a dummy\n", "configuration consisting of a readout module in slot `1` and a control module in\n", "slot `2`." ] }, { "cell_type": "code", "execution_count": 5, "id": "2dd90038", "metadata": {}, "outputs": [], "source": [ "from qblox_instruments import Cluster, ClusterType\n", "from quantify_scheduler.qblox import ClusterComponent\n", "cluster = Cluster(\n", " \"cluster\",\n", " dummy_cfg={\n", " 1: ClusterType.CLUSTER_QRM_RF,\n", " 2: ClusterType.CLUSTER_QCM_RF,\n", " },\n", ")\n", "\n", "ic_cluster = ClusterComponent(cluster)\n", "instrument_coordinator.add_component(ic_cluster)" ] }, { "cell_type": "markdown", "id": "50ed448d", "metadata": {}, "source": [ "The last part of setting up the hardware is to define the {class}`~.backends.types.common.HardwareCompilationConfig`\n", "and attach it to our `single_qubit_device`. The hardware compilation configuration is a\n", "pydantic datastructure, parsed either from a file or from a Python\n", "dictionary. It contains all of the information about the instruments used to run\n", "the experiment and is used to compile the schedule to hardware.\n", "For more information on this datastructure, please refer to the explanation in the {ref}`User Guide `." ] }, { "cell_type": "code", "execution_count": 6, "id": "7095e7c5", "metadata": {}, "outputs": [], "source": [ "hardware_comp_cfg = {\n", " \"version\": \"0.2\",\n", " \"config_type\": \"quantify_scheduler.backends.qblox_backend.QbloxHardwareCompilationConfig\",\n", " \"hardware_description\": {\n", " f\"{cluster.name}\": {\n", " \"instrument_type\": \"Cluster\",\n", " \"ref\": \"internal\",\n", " \"modules\": {\n", " \"1\": {\n", " \"instrument_type\": \"QRM_RF\"\n", " },\n", " \"2\": {\n", " \"instrument_type\": \"QCM_RF\"\n", " },\n", " },\n", " },\n", " },\n", " \"hardware_options\": {\n", " \"modulation_frequencies\": {\n", " \"q0:res-q0.ro\": {\"lo_freq\": LO_FREQ_READOUT},\n", " \"q0:mw-q0.01\": {\"lo_freq\": LO_FREQ_QUBIT},\n", " },\n", " },\n", " \"connectivity\": {\n", " \"graph\": [\n", " (f\"{cluster.name}.{cluster.module1.name.split('_')[-1]}.complex_output_0\", \"q0:res\"),\n", " (f\"{cluster.name}.{cluster.module1.name.split('_')[-1]}.complex_input_0\", \"q0:res\"),\n", " (f\"{cluster.name}.{cluster.module2.name.split('_')[-1]}.complex_output_0\", \"q0:mw\")\n", " ]\n", " },\n", "}" ] }, { "cell_type": "code", "execution_count": 7, "id": "ef82fad9", "metadata": {}, "outputs": [], "source": [ "# Tie hardware config to device\n", "single_qubit_device.hardware_config(hardware_comp_cfg)" ] }, { "cell_type": "markdown", "id": "8cf25fdf", "metadata": {}, "source": [ "(create_schedule)=\n", "## 4. Schedule Definition and Compilation\n", "Now we must create a schedule, where we define the set of operations that we\n", "wish to perform on the device under test. We define the schedule independent of\n", "the hardware configuration and rely on Quantify's ability to compile a schedule\n", "to hardware for converting it to hardware-level commands. For this tutorial, we\n", "will define a simple schedule that will run a *T1 experiment* to determine the\n", "relaxation time of our qubit. For various delay times `tau`, we repeatedly\n", "excite the qubit, wait `tau` seconds and then measure the qubit." ] }, { "cell_type": "code", "execution_count": 8, "id": "df9fa048", "metadata": {}, "outputs": [], "source": [ "from quantify_scheduler import Schedule\n", "from quantify_scheduler.operations import Measure, Reset, X\n", "\n", "def t1_sched(times, repetitions=1):\n", " schedule = Schedule(\"T1\", repetitions)\n", " for i, tau in enumerate(times):\n", " schedule.add(Reset(\"q0\"), label=f\"Reset {i}\")\n", " schedule.add(X(\"q0\"), label=f\"pi {i}\")\n", " schedule.add(\n", " Measure(\"q0\", acq_index=i),\n", " ref_pt=\"start\",\n", " rel_time=tau,\n", " label=f\"Measurement {i}\",\n", " )\n", " return schedule" ] }, { "cell_type": "markdown", "id": "2e9e0510", "metadata": {}, "source": [ "```{admonition} Pre-defined Schedules\n", ":class: tip\n", "\n", "The T1 schedule can be imported with `from quantify_scheduler.schedules import t1_sched`.\n", "\n", "For more pre-defined schedules, see {mod}`quantify_scheduler.schedules`.\n", "```\n", "\n", "We can inspect the details of the schedule in three different ways: via (1)\n", "*circuit* and (2) *pulse diagrams*, or through (3) a *timing table* containing the\n", "timing and other information of each operation.\n", "\n", "The\n", "{meth}`~quantify_scheduler.schedules.schedule.ScheduleBase.plot_circuit_diagram`\n", "method can directly be used to display the quantum circuit that corresponds to\n", "the schedule that we defined above." ] }, { "cell_type": "code", "execution_count": 9, "id": "5aa19fb2", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t1_schedule = t1_sched(times=[1e-6])\n", "t1_schedule.plot_circuit_diagram();" ] }, { "cell_type": "markdown", "id": "159282cb", "metadata": {}, "source": [ "For displaying the pulse diagram and timing table, the schedule first needs to get timing information for each operation in the schedule. This is achieved by compiling the schedule using {class}`~quantify_scheduler.backends.graph_compilation.SerialCompiler`. Please note that below in section {ref}`run_experiment`, the compilation is handled by {class}`~quantify_core.measurement.control.MeasurementControl` internally; it is done here only to enable displaying the timing table and pulse diagram.\n", "\n", "```{admonition} Compiling to Hardware\n", "More information on compilation can be found in {ref}`sec-tutorial-compiling`.\n", "```" ] }, { "cell_type": "code", "execution_count": 10, "id": "949f194a", "metadata": {}, "outputs": [], "source": [ "from quantify_scheduler import SerialCompiler\n", "\n", "compiler = SerialCompiler(name=\"compiler\", quantum_device=single_qubit_device)\n", "compiled_schedule = compiler.compile(schedule=t1_schedule)" ] }, { "cell_type": "markdown", "id": "c672f96e", "metadata": {}, "source": [ "Each operation is compiled into pulses that can be viewed and inspected via the {meth}`~quantify_scheduler.schedules.schedule.ScheduleBase.plot_pulse_diagram` method." ] }, { "cell_type": "code", "execution_count": 11, "id": "15e3cbca", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "fill": "tozeroy", "hoverinfo": "x+y+name", "hoverlabel": { "namelength": -1 }, "legendgroup": "0", "line": { "color": "#636EFA" }, "mode": "lines", "name": "X q0, clock q0.01", "showlegend": true, "type": "scatter", "x": { "bdata": "TMMe1eI2Kj8tQxzr4jYqP0A3IoLrNio/UysoGfQ2Kj9mHy6w/DYqP3kTNEcFNyo/jAc63g03Kj+f+z91FjcqP7LvRQwfNyo/xeNLoyc3Kj/Y11E6MDcqP+vLV9E4Nyo//r9daEE3Kj8RtGP/STcqPySoaZZSNyo/N5xvLVs3Kj9KkHXEYzcqP12Ee1tsNyo/cHiB8nQ3Kj+DbIeJfTcqP5ZgjSCGNyo/yNSVoY43Kj+pVJO3jjcqPw==", "dtype": "f8" }, "xaxis": "x", "y": { "bdata": "AAAAAAAAAACALk9R9DebvojN1LrfgSc/TYSCpRC2Sz9rgxU6F/dnPxVagtsFJIE/ysu3eE28lD9J8XSByVOlP6z57yKlrbI/BI/I3ALfuz8o4Mipo7fBP9MnIbCJMcM/jqTLqaO3wT8DRNHcAt+7P+G6+CKlrbI/KEeCgclTpT8MBsh4TbyUP5SBktsFJIE/tCgwOhf3Zz91NKelELZLPzct/7rfgSc/gC5PUfQ3mz4AAAAAAAAAAA==", "dtype": "f8" }, "yaxis": "y" }, { "fill": "tozeroy", "hoverinfo": "x+y+name", "hoverlabel": { "namelength": -1 }, "legendgroup": "1", "line": { "color": "#EF553B" }, "mode": "lines", "name": "SquarePulse, clock q0.ro", "showlegend": true, "type": "scatter", "x": { "bdata": "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", "dtype": "f8" }, "xaxis": "x2", "y": { "bdata": "AAAAAAAAAACamZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5PwAAAAAAAAAA", "dtype": "f8" }, "yaxis": "y2" }, { "marker": { "color": "rgba(0,0,0,.25)", "size": 15, "symbol": [ "arrow-bar-left", "arrow-bar-right" ] }, "mode": "markers", "name": "SSBIntegrationComplex", "type": "scatter", "x": [ 0.0002011, 0.0002021 ], "xaxis": "x2", "y": [ 0, 0 ], "yaxis": "y2" } ], "layout": { "height": 600, "shapes": [ { "fillcolor": "rgba(255,0,0,0.1)", "layer": "below", "line": { "color": "rgba(0,0,0,0)", "width": 3 }, "name": "SSBIntegrationComplex", "type": "rect", "x0": 0.0002011, "x1": 0.0002021, "xref": "x", "y0": 0, "y1": 1, "yref": "y2 domain" } ], "showlegend": false, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermap": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermap" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "T1" }, "width": 1000, "xaxis": { "anchor": "y", "domain": [ 0.0, 1.0 ], "hoverformat": ".3s", "matches": "x2", "showgrid": true, "showticklabels": false, "tickformat": ".2s", "ticksuffix": "s" }, "xaxis2": { "anchor": "y2", "domain": [ 0.0, 1.0 ], "hoverformat": ".3s", "showgrid": true, "tickformat": ".2s", "tickformatstops": [ { "dtickrange": [ null, 1e-09 ], "value": ".10s" }, { "dtickrange": [ 1e-09, 1e-06 ], "value": ".7s" }, { "dtickrange": [ 1e-06, 0.001 ], "value": ".4s" } ], "ticksuffix": "s", "title": { "text": "Time" } }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0.51, 1.0 ], "hoverformat": ".3s", "tickformat": ".2s", "ticksuffix": "V", "title": { "text": "q0:mw" } }, "yaxis2": { "anchor": "x2", "autorange": true, "domain": [ 0.0, 0.49 ], "hoverformat": ".3s", "tickformat": ".2s", "ticksuffix": "V", "title": { "text": "q0:res" } } } }, "text/html": [ "
\n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "compiled_schedule.plot_pulse_diagram(plot_backend=\"plotly\")" ] }, { "cell_type": "markdown", "id": "7829946b", "metadata": {}, "source": [ "By passing the `plotly` backend, we made the above diagram interactive.\n", "\n", "\n", "Lastly, the timing table can simply be accessed via the {attr}`~quantify_scheduler.schedules.schedule.ScheduleBase.timing_table` property of a schedule." ] }, { "cell_type": "code", "execution_count": 12, "id": "ee5998eb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
 waveform_op_idportclockabs_timedurationis_acquisitionoperationwf_idxoperation_hash
0Reset('q0')_acq_0Nonecl0.baseband0.0 ns200,000.0 nsFalseReset('q0')08716898833976611111
1X(qubit='q0')_acq_0q0:mwq0.01200,000.0 ns20.0 nsFalseX(qubit='q0')08481238042246696004
2ResetClockPhase(clock='q0.ro',t0=0)_acq_0Noneq0.ro201,000.0 ns0.0 nsFalseResetClockPhase(clock='q0.ro',t0=0)05946344847860155080
3SquarePulse(amp=0.1,duration=3e-07,port='q0:res',clock='q0.ro',reference_magnitude=None,t0=0)_acq_0q0:resq0.ro201,000.0 ns300.0 nsFalseSquarePulse(amp=0.1,duration=3e-07,port='q0:res',clock='q0.ro',reference_magnitude=None,t0=0)08395129851176209867
4SSBIntegrationComplex(port='q0:res',clock='q0.ro',duration=1e-06,acq_channel=0,acq_index=0,bin_mode='average',phase=0,t0=1e-07)_acq_0q0:resq0.ro201,100.0 ns1,000.0 nsTrueSSBIntegrationComplex(port='q0:res',clock='q0.ro',duration=1e-06,acq_channel=0,acq_index=0,bin_mode='average',phase=0,t0=1e-07)0-1155862783652921257
\n" ], "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "compiled_schedule.timing_table" ] }, { "cell_type": "markdown", "id": "e59da502", "metadata": {}, "source": [ "```{admonition} Device-layer Schedules (Pulses)\n", "More information on defining schedules using pulses can be found in {ref}`sec-tutorial-sched-pulse`.\n", "```\n", "\n", "```{admonition} Circuit-layer Schedules (Gates and Measurements)\n", "More information on defining schedules using circuit-layer operations and mixing with\n", "pulses can be found in {ref}`sec-tutorial-ops-qubits`.\n", "```\n", "\n", "(run_experiment)=\n", "## 5. Experiment Execution and Analysis\n", "\n", "We can now configure our {class}`~quantify_core.measurement.control.MeasurementControl` to run the experiment. In\n", "this case, we will perform a 1-dimensional sweep using a\n", "{class}`qcodes.instrument.parameter.ManualParameter`. Sweeping such a parameter will physically change the hardware output as the sweep is performed." ] }, { "cell_type": "code", "execution_count": 13, "id": "f12bdee9", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from qcodes.instrument.parameter import ManualParameter\n", "from quantify_scheduler import ScheduleGettable\n", "\n", "# Configure the settable\n", "time = ManualParameter(\"sample\", label=\"Sample time\", unit=\"s\")\n", "time.batched = True\n", "\n", "times = np.linspace(start=1.6e-7, stop=4.976e-5, num=125)\n", "\n", "# Configure the gettable\n", "gettable = ScheduleGettable(\n", " quantum_device=single_qubit_device,\n", " schedule_function=t1_sched,\n", " schedule_kwargs={\"times\": times},\n", " batched=True\n", ")\n", "\n", "# Configure MeasurementControl\n", "measurement_control.settables(time)\n", "measurement_control.setpoints(times)\n", "measurement_control.gettables(gettable)" ] }, { "cell_type": "markdown", "id": "509411b6", "metadata": {}, "source": [ "In the above example, we use\n", "{meth}`~quantify_core.measurement.control.MeasurementControl.settables` and\n", "{meth}`~quantify_core.measurement.control.MeasurementControl.gettables` together\n", "with `batched=True` to instruct `measurement_control` how to execute the\n", "experiment. Instead of iteratively processing each value in the `times` array, all are\n", "processed in one batch.\n", "\n", "```{admonition} Configuring MeasurementControl\n", "More information on configuring {class}`~quantify_core.measurement.control.MeasurementControl` can be found in the\n", "[user guide](https://quantify-os.org/docs/quantify-core/dev/user/concepts.html#measurement-control)\n", "of `quantify-core`.\n", "```\n", "\n", "Once {class}`~quantify_core.measurement.control.MeasurementControl` is all set\n", "up, we can run the experiment." ] }, { "cell_type": "code", "execution_count": 14, "id": "9ce08e9c", "metadata": { "mystnb": { "remove_code_outputs": true } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting batched measurement...\n", "Iterative settable(s) [outer loop(s)]:\n", "\t --- (None) --- \n", "Batched settable(s):\n", "\t sample \n", "Batch size limit: 125\n", "\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6162729f257e4bf18ef1105d2ab9679e", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Completed: 0%| [ elapsed time: 00:00 | time left: ? ] it" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dataset = measurement_control.run()" ] }, { "cell_type": "markdown", "id": "f1ffb7ae", "metadata": {}, "source": [ "The result of the experiment is assigned to the variable `dataset`, but also saved to disk (as set by {func}`~quantify_core.data.handling.set_datadir` at the start of this tutorial).\n", "\n", "To analyze the experiment results, we can choose from the variety of classes from the {mod}`quantify_core.analysis`\n", "package. For a T1 experiment, we use the\n", "{class}`~quantify_core.analysis.single_qubit_timedomain.T1Analysis` class which\n", "is used to fit the data, extract relevant parameters and visualize the result.\n", "In this tutorial, we run the experiment on a dummy cluster, and therefore the\n", "dataset that we obtain is empty. For demonstrational purposes, we show how it\n", "would look on an actual dataset. This example dataset can be downloaded\n", "{download}`here <../examples/dataset.hdf5>`." ] }, { "cell_type": "code", "execution_count": 15, "id": "d4720ee7", "metadata": {}, "outputs": [], "source": [ "import xarray\n", "\n", "dataset = xarray.open_dataset(\"../examples/dataset.hdf5\")" ] }, { "cell_type": "code", "execution_count": 16, "id": "ed67331e", "metadata": {}, "outputs": [ { "data": { "image/png": "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CsFUk/okvn8/523kpkxkSIluCXaTiIiIqAbi4uIcd99998yHH3749LS0tMPatGmzvW/fvhsvu+yylaeffrpnWeNK3X777d+4csI/+OCDpW+88cYxc+fOfXr48OH7dNubb765atGiRToz9w+u57Rq1WrH22+//b2uDxs2bO6MGTOGJycn5z/11FNLdFvTpk2/69Onz2GzZs1q9pe//GWLVtWYPn36HNfzhw0btn/hwoVtPvnkk14PPPDAr67tMTExJV9++eVH7ikmPXv2XDdlypQB559//ja9/+KLLw7o3Llzpqt9VI96vOuTqNRURLc72MtdsGx5sJtDREREtXDPPfes3rZt278nT5789uGHH7522bJl7c8666y/33rrrToWzWdaZs61npGRkRsdHV3iHtSmpaXl5uTkJLo/p0OHDuXP0Ul9EhIS8rt27Vq+rWfPnjpVObZs2VL+vKuvvnpwmzZt/paYmHhbbGzsnd9+++2grKwsLaNcrlWrVjs987ovuOCCxfPnz++9f//+KM37/uGHH/qMGTPGlQJMtcTAuw7F9zvY613wC3+dISIiCneNGzcuvf7669e/884732/YsOGlYcOG/fLSSy+Ncg3KNOb/x2YWFBR4jbHi4+MdrnURQWRkZPl91zZNs3XfFhUV9ad93LfZQXw6c6Lzeffcc0/vqVOnHn/aaactff3111//8ssvXzzqqKOW6uBQ9+PExcXpT/KHuOWWW36Piooqe/zxx7s/8cQTXcvKyiJuv/32VdW6UFQhpprUofj+/ZHz0ccoWKbjPomIiKg+6dy58+7Fixd379y5c57e37BhQyM7xwi+/PLL8oGWgfbjjz+26dix4+bnn39+oWvb9u3btaa0T2k1o0eP/uX9998foAH40KFDV6amppbWaYMbEAbedSih/8FfnzTwNg6H1ioKdpOIiIiomtauXRt/8sknn3f22WcvHTp06M60tLSir776quX06dOHDRo0aI0Gpu3atdvywgsvDO/du/e+TZs2JT7++ONa4jgoOnTosHfu3Ln9tIJKnz599j/33HN9MzMzW6alpe335fnjx49fcuyxx16n66+99tohU55T7TDwrkOxXbtC4uPhOHAAxevXI7aze4lyIiIiCpeqJj169NjyxhtvDHnyySdTNf2icePGOccff/ziKVOmzNV9/vOf/3x41VVXnXHaaaf9vWnTplkTJkz46oYbbrg4GO19/PHHF61atar5hAkTztUMmCOPPHLlCSecsHDRokVdfHn+6NGj93bo0GFzbm5u/EUXXbS17lvccGipPjRkIpIMIDs7OxvJybrqXxsvvgT5CxeixT8eQuNzzvH78YmIiBqinJwcpKQ4xwqmGGNyanMsEckYMGDAI1OmTNk/aNCgWh2rPnA4HPpl44bTTz994csvvxzU2cDD2bHHHtt79uzZDxtjFru2MfchAHneinneREREFOp+++23hKuvvvrwAwcOJN17772sZuJnTDWpY/EDbODNyiZEREQU4rp3736bliu89dZbP27fvn1hsNtT3zDwDlBJwaK161B24AAiG+mAZyIiIqLQY4x5INhtqM+YalLHotLSEN2mjX6SOZEOERERUQPGwDuged5MNyEiIiJqqBh4B0B8f9cMlhxgSURERNRQMfAOgPh+h06kQ0REREQNDwPvAIjr1hUSFwdHTg6KN2wIdnOIiIioGnQGSBG5r7Jl7NixI/v27XtBcnLyLXp/0qRJ3WtyrtTU1Ju8Hf/YY489uab7T506tZ0vbVu6dGmjIUOGjElISLg9Ojr6rhYtWlw9bdq0lqihq6++erC2Lzo6+u527dpd8fbbb7eq7XPOO++8UZ6vNSMj47rq7hMsrGoSABIdjfjevZG/aJEz3SS2U6dgN4mIiIh8dPHFF2885phj/u26f8QRR1xz0kknLbz//vsXurbNmjWrRUlJSeTYsWOX3n333WNreq4FCxb8t6SkpLxjdM6cORnXX3/9xeedd96qmu6fk5MT3blz552VtS0zMzPumGOOubxnz54bXnrppTfbtm2bt3jx4rQWLVoUeNu/S5cu484444xfHn/8ca8D2O69995eU6ZMOeHGG2/85Ljjjtv6yCOPDLnsssv+0r9//2d79OiRV5vnNGvWbPfXX3/9mut+bGzsn9IJfNknGBh4BzDP+2Dg/Qsanz0m2M0hIiIiH6WmppampqbmunqF8/Pz40eOHLmxd+/ezm2qd+/efwDQBXfffXeNz9WtW7d89/u33nrr8LS0tH1XXHFFZk33v/nmm9fqUlnbbrzxxuFNmjTJnjdv3oeubcOGDdtf09fx6quvDh09evSSf//7387A/Nhjj/0kLS2ty6RJkwa8/vrr82rznMjISIf7tffGl33caS/7mDFjfpw6deqPrm2tWrW6atiwYWvefffdOXr/wQcf7PnCCy+MzMrKSo2Oji5p27btju+///7tjIyMEl/Pw1STACno2tN5m7N4SbCbQkRERDX09ddft9Dbk046aXt1n3vrrbf217QHX/fPzc2NnDt3bt8TTjhhaUREhN/3d/fjjz9269q167ZBgwadm5SUdFurVq3+fuONNw6s1kHc2rFly5aWo0ePXu/aFhUVZXr37r1++fLlrWv7nN27d6dq2kxaWtqNmhrz888/p3gez5d9qmP58uVJDzzwwNknn3zy0u+///65adOm/e/oo49ebYyR6hyHPd4BMG3hJjwyJwdvAShdvx7vzfkV54zqFexmERERUTUtWrSoRUpKSk7nzp29pmBUpkmTJoVNmzbd4+v+jz32WPfCwsK422677Ze62N/d3r17m3z99deDTznllAV33XXX3Dlz5rR6/vnnT4qJiSl77LHHll100UVHvffee0e59i8pKYl66qmnWj/zzDPlueRz58597vDDD89eu3ZtgsPhkDZt2hzS45yampq3ZcuWdG/n9/U5Q4YM2dKzZ8+ZAwcO3LNhw4akJ598ctQJJ5zw11WrVj3fokWLYl/3qa7ff/+9kcPhiLjyyitXDxkyJFu3nXbaabuqexwG3nVse3YBJs5YAUdMI2xJaorWubsx/dXPMWxAR7RIiQ9284iIiKgafvvttxbt27evdm+3uuuuu9bo4uv+06dPH9CrV68/+vfvf6Au9nenPbdt2rTZNnPmzNl6f8yYMTvWrFmTMX369MM08H7ooYcW/e1vf/vVtf8ll1wyZtSoUasvu+yy1a5tffv2rfZ5q8uVMmPtPOuss7Z27dr1pkcffbTXE088sdTXfarr9NNP39GtW7cNo0aNuqZXr15rhw8fvm78+PGr2rdvX1id4zDVpI5tyMqDwxxc/zW1g/O2R9YGZGYdkpJFREREYSAzM7NFt27dahR4V8ePP/6YsmbNmo4XXHDBkrrY31OjRo0OtGnTZrf7ti5duuzet2+fM0WjY8eOBSNHjtzrWmJiYkqbNm2a574tLi7OOYCxc+fO+REREWbz5s1J7sfbu3dvYuPGjb3mXdfkOapt27aFGRkZe9avX59am3280R5413pMTIxZtWrVay+++OIbHTt23D19+vQjevfuff0PP/zQuDrHZOBdxzqkJyLCvm2/prV33vbeuwHt0xOC2zAiIiKqlj/++CMhOzs7+bDDDqvzwHvy5MkDkpKS8saPH/9HXezvqWvXrpu3bt2a5r5t/fr1aampqc60iupISkoqa9269bZvv/32YI+jptqWlsrKlSs79u3bd4u/nqN27twZo4MdmzVrllubfdTu3bsTXev5+fkR+/fvPyQvXPPmx40bt3n69OlzMjMzX4yMjCx76aWXeqAaGHjXMU0neXhMH0SK4Nc02+OdvQXN4njpiYiIwsnnn3/uHFh53HHHbfcW3H3wwQfNddH769ata6zr7oP6/vnPf3b3pZ60BpxfffVV/9GjRy9z9SK7u+qqqw7v1q3bJb7u70vbxo8fvyAzM7O15nJ/9913qXfddVef2bNnD7rgggt+dh1j5cqVSa7lgw8+eG/cuHFr3bcVFxeX9xBfeumlC+bMmTPotttu6/fFF1+kH3fccacUFxdHT5gwYWlFr8OX55xyyinHT5kypd2CBQsav/rqq21Gjhw5VkQct9xyy4rq7OPN7NmzBzz77LMdv/3229QzzjjjxMLCwtjNmzc3+fXXXxPffPPNVnpttK65XrdJkyb1yMvLS+jdu/chvxJUhTneATB2cFuM6NoUmbvzIIunIGLfXhT++isSBtZosDAREREFwaJFi5prr7K3HOoPP/yw5d///vdLXfdffvnlE15++WUceeSRy3744YeZum3fvn1xu3fvPqRX2Zvnn3++o/a23njjjV7zkffu3ZugVTt83d+Xtp1//vnbNm/ePG3y5MnHvPvuuyNTU1P3XX311bMmTZrkDFavv/76I6dPnz6ysnbPnz//qaFDhzpLED744IO/7tq1K3Hq1Kmjn3jiiaRWrVrtmDp16hu9evXKq+h1+PKcXbt2Jd9yyy3naEnHxMTE/K5du276/PPPp7qXVfRlH28GDhz4+0MPPXSSDjQdOHDg6gsuuOAbHVD65ptvrh05cuT2pUuXtvvwww+HFBUVxTZp0mT/FVdc8aVHPnmVxBibgNxAiUgygOzs7GwkJ+tq3dpy/Q048NVXaHrLzUi/8so6Px8REVF9lJOTg5QUZ4dtijEmpzbHEpGMAQMGPDJlypT9gwYNqtWxKDyleqnjXVvHHnts79mzZz9sjFns2sZ8hwCLH3Swl7uA9byJiIiIGhQG3gGWMGiQ8zZ/6VIYR0jMXkpEREREAcAc7wCL694dEh8PR3Y2itetQ2yXLsFuEhEREVGDtnfv3if9fUxvs1qyxzvAJDoa8f36OdfzmW5CREQUCsrKysocxcXFjIvILwoLCyMcDmdqQ6n7dn7AgsBVzSR/SXmuPREREQVPbl5eXv7GjRs5yQb5xdq1axPy8/MLdByw+3YG3kHAAZZEREShwxhTtHXr1iU///xzk2C3heqHuXPnNt22bdtmAJvctzPwDoL4fv2ByEiUbN2Krb9nBrs5REREDV5hYeEv8+bNK9AJUoLdFgpvOsHOJ598krhly5YfjTFl7o9xcGUQvLd6D+IbtUCX/Vtw50Nv4uQbLnZOskNERERBs2zhwoVvP/HEExcuW7as55AhQ/Z06tQpNz4+niXIqEolJSWydevW+J9++il9zpw5kXPnzv0cwBee+zHwDrDt2QWYOGMFrkzt4Ay8e2ZtwJ0zVjpnttTp5YmIiCjwjJagEJn1008/Za1ateqwDz74oF9SUlJGZGSkZgf8qToFkTsdSFlYWFi0bdu2pXv27FkEYJ4xpviQnRh4B96GrDw4DPBrWnucuX4ueu3ZgDJjkJmVz8CbiIgoyME3gIW6iEgjnRUTQHSw20VhQVNKcgHss58jrxh4B1iH9EREiAbeHQ7ez9mO5JICtE/nQGoiIqJQYYw5AEAXIr/h4MoA017th8f0QU58CjYlZSACBv/qWsbebiIiIqJ6jj3eQaADKTWne2fh98DnH2Lg3g3BbhIRERER1TH2eAeJ9nB3OPYo53r+woXOQZfz12U5b4mIiIio/mGPdxAlDB7svC1YvRqnP/gpDkTHO/O/NRWF5QWJiIiI6hf2eAdRdEYGItq2gxiDnlnrndu04omWF2TPNxEREVH9wsA7yAp69nPe9tlzMPBWrvKCRERERFR/MPAOsiZHHuG87ZO1rnxbpAjLCxIRERHVMwy8g6zlyGHO2077tyKhpMAZdE8a05vlBYmIiIjqGQ6uDLLoZs0Q3a4tsHETXj0sFq1PHs2gm4iIiKgeYo93CEg8/HDnbdvNaxh0ExEREdVTDLxDqKyg1vMmIiIiovqJgXcIBd6Fv/6KstzcYDeHiIiIiOoAA+8QEN2iBaLbtgUcDhQsXhzs5hARERFRHWDgHSISBh/mvGW6CREREVH9xMA7xAZY5v30c7CbQkRERER1gIF3iEiwgbczzzsnJ9jNISIiIiI/Y+AdQnneMe3bO/O8mW5CREREVP8w8A4hCUOHOG/zFvwY7KYQERERkZ8x8A4hiUOGOm/zFiwIdlOIiIiIyM8YeIeQxCMOB0RQvG4dSnbuCnZziIiIiKg+B94icq2IZIpIoYj8JCKHV7H/TSLym4gUiMhmEXlCROIQhiIbN0Zcz57O9fyfmG5CREREVJ+EVOAtImMBTAbwAICBAJYB+EJEMirY/0IAj9j9ewC4HIAeYxLCVKIrz3s+002IiIiI6pOQCrwB3AxgijHmFWPMKgBXaecvgMsq2P9IAD8YY94yxmQaY74E8DaACnvJRSRWRJJdC4BGCCEJQ22e948/whgT7OYQERERUX0LvEUkBsAgAF+7thljHPb+wWj0z+brc1zpKCLSEcDJAD6r5FQTAWS7LVsQQhIGDoRER6N0xw4UZ2YGuzlEREREVN8CbwDpmuYMYKfHdr3f3NsTtKcbwL0A5olICYB1AOYYYypLNXkYQIrb0hohJCI+HvEDBjjXWd2EiIiIqP4IpcC72kRkFIA7AVxjc8LHADhFRO6p6DnGmCJjTI5rAXAAISbxyIMd/Pms501ERERUb4RS4J0FoAxAM4/ten9HBc95CMDrxpipxpgVxpgPbCA+UURC6bVVS+IQO8Dy559hyvSSEBEREVG4C5ng1BhTDGAxgGNc22zwrPcryrlIAKB54O5ckaogTMX17o2IpCQ4srNRuHpNsJtDRERERPUp8La0lOCVInKpiGh5wBe0AxjAK/qgiLwmIpqj7fIxgKtF5HwR6SAix9le8I+NMWHbVSxRUUgYPNi5nrdAx48SERERUbgLqcDbGDMNwK0AHgTwC4D+AE40xrgGXLYF0MLtKf8A8G97q+UHX9K63wD+jjCXaMsKMs+biIiIqH6Qhl4r2tbyzs7OzkZysq4G3/bsAmxcshIpV18CiY1F159+RERcWE7GSUREVCdycnKQkqLFyZBiiyUQhbyQ6vEmYNrCTRj2yDc4f9ZO7I5PgSkqQv7CRcFuFhERERHVEgPvEKI93RNnrIBDf4QQweKMbs7tu76ZE+ymEREREVEtMfAOIRuy8g4G3ZYr8M6f90PwGkVEREREfsHAO4R0SE9EhFsRxF+adkEZBJGbM1GyfXswm0ZEREREtcTAO4S0SInHw2P6IFIORt8FsYko7NzduZ47b16QW0dEREREtRFVq2eT340d3BYjujZFZlY+2qcnIOr1Dch6djU2zfoGhcef6gzOiYiIiCj8sMc7BGlwPbRTmvP2x7TOzm3FP/2IoyZ95ax6QkREREThh4F3iFc5Gb+sGAei45FUWoguezfjzhkrnduJiIiIKLww8A5hWuWkFBFYktHVeX/Qrt9QZowzDYWIiIiIwgsD7zCocrLElhXUwFsHXmruNxERERGFFwbeYVDl5JdmBwPvrvs241/HteUASyIiIqIwxMA7DKqcfPjAWShr1wERMDi+kIMriYiIiMIRA+8woD3cTY8e5VzP5SyWRERERGGJgXeYSBw+zHmbN3cujHGbV56IiIiIwgID7zCRMHgwJCEBpbt3o3DVqmA3h4iIiIiqiYF3mIiIiUHikUOd67nffRfs5hARERFRNTHwDiNJI0c6b3PnMPAmIiIiCjcMvMNI0oiDgXfhihUozcoKdnOIiIiIqBoYeIeR6GYZiOvZEzAGud/PDXZziIiIiKgaGHiHmaRRtqwg87yJiIiIwgoD7zCTNOpguknevHkwxcXBbg4RERER+YiBd5iJ690bkWlpcOTlIX/JkmA3h4iIiIh8xMA7zEhEBJJGjHCus7oJERERUfhg4B3WZQXnBLspREREROQjBt7hOn18VBSKMzOdCxERERGFPgbeYWhXWSRKevV1rrO6CREREVF4YOAdZqYt3IRhj3yDl8taO++v/WhWsJtERERERD5g4B1GtmcXYOKMFXAY4OfmPZzb4lctx9Ytu4LdNCIiIiKqAgPvMLIhK88ZdKttSU2xsVEzRBkHtn8xO9hNIyIiIqIqMPAOIx3SExEh/39/QYveztvGSxcEr1FERERE5BMG3mGkRUo8Hh7TB5FyMPr+qeXBwLts/g9wcBZLIiIiopAWFewGUPWMHdwWI7o2RWZWPtqljkLeGW+jdNcu5P/4Y/nEOkREREQUetjjHaY930M7paFlk0QkHXO0c9uBr5nnTURERBTKGHiHuZIhRzlvs7+eDeNwBLs5RERERFQBBt5hXtP72G8OIC8qDmbvHnzyzpfBbhIRERERVYCBd5jX9C6WqPKa3r+8/ZFzOxERERGFHgbe9aCm94IWvZy3R2xf6Rx0SUREREShh4F3PajpvTijO0okEm1yd6NN7s5gN42IiIiIvGDgXQ9qeudHx2FZRhfn9riffgh204iIiIjICwbeYV7Te96E0Xj7yiE4atwY57YDX38d7GYRERERkRcMvOtJTe/Wp54IiKBw+XKUbNsW7GYRERERkQcG3vVEVNOmSBg0yLme8yXLChIRERGFGgbe9UijE05w3h6Y9UWwm0JEREREHhh41yONjj/emW5S8MsvKNmxI9jNISIiIiI3DLzrkehmGYjs28+5vvXDT4PdHCIiIiJyw8C7nk0h/7yjnXN90avvOe8TERERUWhg4F3PppCf17KP836vvZn495s/cAp5IiIiohDBwLueTSGfFd8Yq1IP9noP2bqcU8gTERERhYio2jxZRI4BoEuGZxBvjLms1q2jak8hr8H33Jb90HPvRgzfthwJMRGYvy7L+bjW/CYiIiKiMOvxFpH7AHxpA+90AE08FgrSFPI/2HST3ns34LLJs3DhlJ8w7JFvmPNNREREFKY93lcBGGeMed2P7aFaTiE/omtTZ3qJY9NMRKz5FUO2rsCnHYc5e8LvnLHS+Th7vomIiIjCK8c7BsB8P7aF/DiFfOGRI533R2xdVv5YmTHM+SYiIiIKw8B7KoAL/dgW8qPmp5/svO29ZwPSCrKd65qG0j49IcgtIyIiImqYapNqEgfgbyJyLIDlAErcHzTG3Fz75lFNtereCdu79kLi77/iqK3L8HGXkZg0pjfTTIiIiIjCMPDuC+AXu97b4zFTi+OSn3QcexZ2PvQrLi/6HXdMuJ9BNxEREVE4ppoYY0ZXshxd0+OKyLUikikihSLyk4gcXsX+jUXkORHZLiJFIvK7iBzMs2jgkk88EYiMRNQfa5C2b2ewm0NERETUoIXUBDoiMhbAZAAPABgIQEcGfiEiGRXsrwM8vwLQHsA5ALoBuBLA1sC3PvREpaUhcehQ53r2Z58FuzlEREREDVqtAm/b23yLiEy1y80iklKLQ2pe+BRjzCvGmFW2ZKGW4ahoMh7dngrgTGPMD8aYTGPMd8aY/y/l0cAln3KK8zbnk0/1V4pgN4eIiIiowarNBDqHAVgHYLwNflPt+joRGViD42nv9SAAX7u2GWMc9v7Bbts/Ox3AAgCaarJTRFaKyJ0iElnJeWJFJNm1AGiEeqzRccdCYmJQvH49itasCXZziIiIiBqs2vR4PwHgI03zMMaM0UVnLgfwCYAna3A8nf1SA2bPZGS937yC53S0KSb6PM3rfgjALQDuruQ8EzXzwm3ZgnosMikJSaNGOdezP9G3hoiIiIjCLfDWHu9/GWNKXRvs+qP2sUC1f5eWNTTGLDbGTAPwT5uiUpGHAaS4La1RzyWfatNNPvscxqE/IhARERFROAXeOQDaetneBsCBGhwvSydXBNDMY7ve31HBc7YD+N0Yo89zWa095DZ15U+MMUXGmBzXUsO2hpWkkSMRkZSE0u3bUbBkSbCbQ0RERNQg1Sbw1t7ll7QSiYi0scv5dkbLt6t7MGNMMYDFAI5xbRORCHtf87i9+QFAZ7ufS1cNyO3xSN/k2Fg0OlbnOQKyP/002M0hIiIiapBqE3jfCmAGgNcAZALYCOB/AN4DcEcNj6mlBK8UkUtFpAeAFwAkAnhFHxSR10REU0VcXrCDOp8Ska4iojkVd+pgy1q8rnop+dRTnbd7P/kM27K0o5+IiIiIwmUCnWJjzI0AmgDoD6CfBsHGmPGazlHDY06zAf2DdlZMPe6JxhjXgEtNbWnhtv9mACcAGGynrX9ag3AAj9T0ddVXn0a3xJ64ZEQcyMFttzyPaQs3BbtJRERERA1KtaaMFxHtkb7HGJNn173t47w1xmhN7mozxjwL4NkKHhvlZZumoQypybkaiu3ZBZg4cxXGtR6Ic9fOwdEbF+HOGX0xomtTTiNPREREFIqBN4ABAKLd1ivCmVpCyIasPDgMMLvtIGfgffjO1UgszEVmVj4DbyIiIqJQDLyNMaO9rVNo65CeiAgBNia3wB8prdAleytGb12K9umnBbtpRERERA1GbWaubCuuvBIvj9WqVeRX2qv98Jg+iBTB120Plli/5MCv7O0mIiIiCuFUE3cb7EBHncCmnIik2ccqnLadAm/s4LbOnO6N67oCF3+KhA1/oOiPPxDbpUuwm0ZERETUINSmnKBUkMudBKCwFselOqI93EMGdkbSqJHO+/tnzgx2k4iIiIgajGr3eLtVM9Gg+yERyXd7WHu5j7ClAClEpZxxOnJnz0bORx8j4+abIZH8cYKIiIgoFFNNBrj1ePcB4D5DpK4vA/C4n9pHdSBp1ChEpqSgdPdu5M1fgKSjhge7SURERET1XrUDb1c1ExHR2SRvNMZwGsQwExETg+RTTsG+t95C9syZDLyJiIiIQnlwpTHmr3orIj3tjJIxHo9/5I8GUt1IOetMZ+B94KuvUJad7ewBJyIiIqIQDLxFpAOAmTbdRPO9XaUFXQMumTgcwuJ690Zst24o+u03ZH/8CYpOG+OcaEdrfrPMIBEREVFolRN82pYNPMbeHg5ASwn+G8Ctfmwj1QEtwR5x6hnAb49i3f/ewNiVKXBAnBPtaM1vLT9IRERERKFRTnAogHuNMVkAHLoYY+YBmGiDcgph0xZuwulrklAcEYWkLZnovG+zc7tOLX/njJXYnl0Q7CYSERER1Su1Cbw1leSAXdfgu6Vd3wigmx/aRnVEg+qJM1YgJzoB81r2dW47YePP5Y+XGYPMLPcqkUREREQUzMB7JYB+dv0nALeLyDDtBQewvtYtozqjudzas61mtdMMIWDUlqWIKy1yruvU8u3TE4LZRCIiIqJ6pzaB9z/cnq/Btg62nAvgZAA3+Kl9VAd0AKXmcqsV6Z2wNTEdCaVFGLF1mTPonjSmNwdYEhEREYVK4G2M+cIYM8OurzXGdAeQDiDDGPONX1tJfqVBtQ6g1CAbIviyvU42ClxfsArzJozmwEoiIiKiEKtq8ifGmL3+PB7VHQ2uR3Rt6szlbit9kXPaLEStWYnUXVuAlC7Bbh4RERFRww68RWSyr/saY26uUYsooD3fB1NK0uAYPQq5X8/G/vfeQ7OJWpiGiIiIiILZ4z3Ax/1ck+hQmGhy7rkHA++ZH6Lp+PGIiIsLdpOIiIiIGm7gbYwZXXdNoWBKHD4c0S1bomTbNuR89jkajzkr2E0iIiIiqldqU9WE6hGJjETj8893ru97++1gN4eIiIio3qnx4EoR0RKCFTLGPFjTY1NwND7nbGQ98wwKV6xAwYoViO/TJ9hNIiIiIqo3alPVxDMXIdrW8i4FsA4AA+8wE5WaikYnnYicjz7GvrffYeBNREREFCJ1vAd4LL21UAaA2QCe8GcjKXCaXHCB8zbn009Rtn9/sJtDREREVG/4NcfbGJMD4D4AD/nzuBQ48f37I7ZHD5iiIuyf8UGwm0NERERUb9TF4MoUu1AYEhE0ucAOsnznHRiHI9hNIiIiIkJDH1x5g+cmm2pyMYDPa980CpaUU0/FrkcfQ8mmTcj7YT6Sjhoe7CYRERERNejBleM97mvX6G4ArwJ4uJbtoiCKSEhAyllnYd/rr2PfW28x8CYiIiIKZuBtjNEKJlSPB1lq4J07Zw6KN25ETLt2wW4SERERUVjzS463WP44FoWG2I4dkDjiKP2Ghb1vvBns5hARERE17MBbRC4XkZUACnXRdRG5wn/No2BKvfRS5232+++j7MCBYDeHiIiIqGEG3iKiE+Q8BeBjAOfaRdefsI9RmEs88kjEdukMR34+9r/3frCbQ0RERNRge7yvBnClMWaiMeYju0wE8DcA1/ixjRTM0oKXXOJc13xvU6qTkhIRERFRoANvnSJ+kZfti2tZLYVCSMpppyGycWOUbNuGA7O/CXZziIiIiBpk4P267fX2pD3eHI0X5rZnF2D+uizsLDJofP5Y57a9r70W7GYRERERha3a9kzr4MrjAfxo7x8BoC2A10RksmsnY8zNtTwPBdC0hZswccYKOAwQIcBjo0eiZ/TLKFi8GAUrViK+T+9gN5GIiIioQfV4a/S1xE6a08kuWXabPjbALv392F4KQE+3K+hWenv7t9sRfcxxzvt7X9X5kYiIiIgokBPojK7pcyl0bcjKKw+6Xcq0lvdJZ6PRrM+Q8/nnyBh/E6JbtQpWE4mIiIgaZB3vxiJyi4hMtct4EUnxX/Mo0DqkJzrTS9xFiqDNkAFIGDoEKCvDnv+x15uIiIgokHW8DwOwDsB4nWvFLprLvU5EBtb0uBRcLVLi8fCYPs5gW+ntpDG9ndvTrjg4N9L+995D6b59QW4pERERUXgRY0zNnigyF8BaW8vbWeBZRDR1ZSqAjsaYEQgDIpKskzNmZ2cjOVlXyZXrnZmVj/bpCc6gW+lnZcPZZ6No1WqkX3cdml53bbCbSUREDVROTg5SUpw/sqcYY3KC3R6iuk410R7vf7mCbmXXH7WPURjTYHtop7TyoNs1oU667fXe9drr2LZjbxBbSERERNRwAu8cWzrQUxsAB2pxXAphn6f2wPbENETkZONfNzzmLD1IRERERHUbeE8D8JKIjBWRNnY536aavF2L41Iolxr8cBXe7zzSef+sP77DPe8tc24nIiIioroLvG8FMEMnywGQaZf/AXgPwB21OC6FeKnBr9oOxr7YJDQr2IdhW35x5oITERERUR0F3saYYmPMjQCa2ElydEk1xow3xhTV9LgUmrRXe09ukbPUYHFkND7qONy5/bw/vkG71LhgN4+IiIioftfxVsYY7e5cqYtdp3pG87iHPfINrn/7F2gRHK00+EmHI5EfFYv2OTuQtGh+sJtIREREVO8n0LlcRDToLtRF10XkYNkLqpdTyOuNGOBf44ahycV/cW7Lev4FZ6lBIiIiIqqbCXQeBPAUgI8BnGsXXX/CPkb1dAp5h+YUJcai7d8uhyQkoGj1auR+OydYTSQiIiKq9z3eV9vJcyYaYz6yy0QAfwNwjR/bSCE4hbxOrBPVpAlSL7rQuS3r+efZ601ERERUR4F3NIBFXrYvBqAzWFI9n0JepY4bB4mPR+HKlcibq5OZEhEREZG/p4x/BkCJMeZmj+2PA4g3xoTFfOKcMr7mU8i77PzXo9j7yiuI69cX7d95xznDJRERUV3ilPHUEAPvSwBsBvCj3XyEnc1Sa3uXuPb1DM5DCQPv2ivdvRtrjz0OpqgIbV6aiqRhw4LdJCIiqucYeFNDSzXpDWAJgN0AOtkly27TxwbYRet7Uz0W1bQpGo89z7me9exzzPUmIiIi8qLGudjGmNE1fS7VwzSUY8eg8bR3UbB0KfK+/x5JIw9OK09EREREfppAhxo21+Q6F8xYh/fbDHFu2/XUUzAOLTpIRERERCEdeIvItSKSKSI6Kc9PInK4j887X0SMiMys+1aS5+Q673Y52jmbZdGq1Tjw5ZfBbh4RERFRSAm5wFtExgKYDOABAAMBLAPwhYhkVPG89gC0ogpr2gVpcp2c2ES83/lgisnup56GKS0NXuOIiIiIQkzIBd4AtALKFGPMK8aYVQCuApAP4LKKniAikQDeBHAfgPWVHVxEYrWSiWsB0KhOXkUDnVzno84jISmNUbxhA7I//ChYTSMiIiIKOSEVeItIDIBBAL52bTPGOOz9oZU89V5NLTbGvOTDaXR2zWy3ZYt/Wt/weJtc556xh6Hp36503s967jk4iouD3EoiIiKi0OCXGSZFJBXAfhsk10a6xm86J4vHdr3fvYJzDwdweTXKFj5sU1lctMebwXcNjR3cFiO6Nj1kch1Hnwux99VXUbJtG/a/Ox2pf7ko2M0kIiIiCt8ebxHpKSITRGS+reW9S0ReE5GzRSTRv82ssA0aNL8O4EpjjNYQr5IxpkgL7bsWAAfqvqX1mwbbQzullc9oGREXh/RrrnauZ734Ihz5milERERE1LBVK/AWkW4i8m8R+cPOVjkYwIsAmgE4GcBGm/aRJSKfi8jB6Mt3GjyX2eO50/s7vOyvk/booMqPRaRUFzub5un2vj5OQdB4zBhEt2mDsqws7HnllWA3h4iIiCjseryPBKC92TdoWogx5mxjzGva22yM+dkYc48xph+AHgBmARhTnYMbYzQheDGAY1zbRCTC3l/g5SlrAPSxaSauRUf0fWvXdTp7CkKZwQWbcxD992uc9/e89DJKdu0KdrOIiIiIgkpCbXpvW07wVQB/B/AzgJsA6Hzk3Y0xOzWdBcBWY8zECp7/P+1wNcac6eP5tLJJdnZ2NpKTdZVqO6GOq7Z3BAzeXfESEtetQeNzz0WLhx4MdvOIiKieyMnJQUpKiq6m2NRRopAXUlVNlDFmGoBbAWiU9ovtuT5Rg267S1tNKw5yM8mHCXUcENzX6ljn+v7330fh778Ht4FERERE9SnwFpE2IvJybY5hjHnWGNPOGBNrjDnCGPOT22OjjDHjKnnuOF97u6luJ9RRv6a2R/GwUYDDgV2P6fxGRERERA1TXfR4a2nBS+vguBSGE+pobe+0m8cD0dHImzsXufN+CFbziIiIiMIr8BaR0ytbAIyum6ZSOE6oc/uJ3bApLhWx52iaPrDr0UdhyrRwDREREVHDUpMJdGZqRofG4JXsE1ojNikoE+os37of//p8jTP9JLmkG95MTAJ+/x3ZH3yAxuecU54Xrikq2lvuqgNOREREVB/VJNVku5YJNMZEeFsADKyDdlIY0QBaZ7F0Bd0qJzoBr3Q82rm+64knUXbggLMCyrBHvsGFU35y3up9IiIiovqqJoG31tkeVMnjVfWGUwMdaPlRhyNR1rodyvbswcZ/P3loBRQD3DljpbMHnIiIiKg+qkng/RgAnSa+ImuZ503eBlqayGgk336Hc73w3Wlok60/nvy/MmOcKSpERERE9VG1A29jzFxjzKxKHs8zxnxX65ZRvRtoOWlMb7Q9fjQaHXccxFGGa5bP1A9M+XN0H01RISIiIqqPajK4kqjaAy01oHYNnmw24Q7kfv89+matw6htyzCnVf/ywJwDLImIiKi+qtaU8SKyoYYVS540xjyNEMQp44Nj9/PPI+vpZyBNM7DvhTfQvk06g24iIvIZp4yncFTdHu8KZ4ysQmYNn0f1VNrllyN7xgco2bIFnb6Yjoxbbg52k4iIiIhCp8e7PmKPd/Ac+OYbbLnmWueslh1nfoDYTp2C3SQiIgoT7PGmcFQXU8YT+SRp9GgkjRwJlJRg+333wTgcwW4SERERUZ1h4E1BIyJofu89kPh4FCxajP3vvx/sJhERERHVGQbeFFTRrVqh6Y03ONd3PvoYFiz8jZPoEBERUb3EwJuCLvUvf0F+hy4wBw5g2YT7OX08ERER1UsMvCnoduSVYEL7U1AGwcitv2DQ9lWcPp6IiIjqHQbeFFAaTM9fl3VIUL0hKw9/pLTGzM4jnPevXTYD0SWFWJy570/7EhEREYUrzlxJAaPpIxNnrIDDABEC55TyOrtlh/RE5/3Xux+P4VuXo1nBPoxb9TlueCf2T/sSERERhSv2eFNAaK+1K+hWeutKJ9EZKzWwLo2Ow9P9z3E+fsb6eei1e92f9iUiIiIKVwy8KSA0ncQVdLuUGYPMrHznuvZmz5swGrfdfSlyjj7ZuW38kncRV1pUvu+ny7cz+CYiIqKwxcCbAsKVTuIuUgTt0xPK72vP99BOaWhz1wTsim+MFvl7cNmvn5Y//o9PV7PiCREREYUtBt4UEK50Eg22ld5OGtPbud1Ty1ZNkXvDHc710zbMR//df5Q/xrQTIiIiCldijMfv/w2MiCQDyM7OzkZysq5SXdKAWdNLtKfbW9Dtbt1d96L4/enYGd8Y1xx9K/Kj48ofe/vKIc7ecSIiaphycnKQkpKiqynGmJxgt4fIF+zxpoBypZNUFXSrDnfegYgWLdGsYD+uWPlxhSkqREREROGAgTeFrIjERLR+5GHn+kkbf8IR23+tNEWFiIiIKJQx8KaQlnjE4Uj961+d6/eunoHvL+/Net5EREQUlhh4U8hrOv4mxPbogYicbJT+8z4Yh8PrDJhEREREoYyDKzm4MiwUrV+PDWPOhiksxLbzr8CVRd05qyURUQPGwZUUjtjjTWEhtmNHNLtzonO96bRX0HHfFuc6ywsSERFRuGDgTWGj8bnnonjoCESbMtyx6E3Eus1q6ZoBk4iIiChUMfCmsCEiSH/gfmTFpaB17m5ct2wGYAzLCxIREVFYYOBNYaVV2xbIvvlulEFw7ObFOHnjzywvSERERGGBgTeFnVMvORWJ11znXL9+1Yc4IzE32E0iIiIiqhIDbwpL7a+7CkmjRgHFxdhy400oy+GAdiIiIgptDLwpLElEBFo+8jCiW7VCyebN2HbnnWjopTGJiIgotDHwprAV2bgxWj35JCQ6Grlfz8bel18JdpOIiIiIKsTAm8JafJ/e5fW9d02ejLz584PdJCIiIiKvGHhT2Gt8/vlIOfNMoKwMW8bfjOJNm4LdJCIiIqI/YeBN9aK+d/MH7kdcv75wZGdjy7XXoiw3L9jNIiIiIjoEA2+qFyJiY9H66WcQ1bQpiv5Yi20T7oBxOILdLCIiIqJyDLyp3ohuloHWzz5TPtgy67nng90kIiIionIMvKleie/XD80ffNC5nvXcc8j57LNgN4mIiIjIiYE31Qvbswswf12W87bxWWciddw45/ZtEyYif8mSYDePiIiICFHBbgBRbU1buAkTZ6yAwwARAjw8pg/Ou+1WFG/Z7Ew52XT1tdj/2PNo1687WqTEB7u5RERE1ECxx5vCmvZwu4JupbcT31+BT3/dich7HkR+x64w2fuRN/56nPTAR84gvaKeciIiIqK6xB5vCmsbsvLKg24XrWVy3VtLIVrju+sFmLzjabTM24N7fnwFd0fFYUTXps6eb2895WMHtw3WSyEiIqJ6jj3eFNY6pCc6g2ZvNB7fF9cI9w69Agei49Fz70bcvOhNZO484LWn/M4ZK9nzTURERHWGgTeFNe251p7qSKkg+gawuVEz/OPwS1ESEYnh21Yg46UnsWF37p96ysuMweLMfUw9ISIiojohxnhEHw2MiCQDyM7OzkZysq5SONJAWYPmG95ZekhAreG4xuS6bcS25Ziw8A2IcSD2kr/i2AO9KtyXqSdERKEtJycHKSkpuppijMkJdnuIfMHAm4F3vaJ525oyor3X2gs+aUxvZ053ZlY+2qcnIO6Lj7Hj3vuc+247/wr8raiHc1/96Uf/Jbj/a9Dnz5swmpVQiIhCEANvCkcMvBl418veb1eg7S1o3vD08yh8/hnnevzd92H70OOwJ6/IOSDT09tXDsHQTmkBaTcREfmOgTeFI+Z4U72jwbYGy96Cbu0RP2ZbW7zXeaTzfv4/H0Kv337CoHZN/jRIU3u8NXgnIiIi8gcG3tRglFcygeClXqdiVrvDnfneW2+7HYkLvj9kkKYrTYVpJkREROQvrONNDbPmtwie6X8OohxlOHbzYmy99Vac9MRkjJgwutI0FSIiIqKaYo83Ndia3w6JwNODzkf0iScDpaXYOv5mJC2af0iaSmUzW3LWSyIiIgr7wFtErhWRTBEpFJGfROTwSva9UkTmisg+u3xd2f7UcHnW/Nbbf5zdF53+/SiSTznFGXxvuWk8Dnz7bXk++LBHvsGFU35y3rpPN1/ZY0RERERhUdVERMYCeA3AVQB+AnATgHMBdDPG7PKy/5sAfgAwH0AhgDsAnAWglzFmqw/nY1WTBsZb1ROjPd633YYDn88CoqOR8I+HMfrHgzW9PcsLKg22vT3G9BQiosBgVRMKR6HY430zgCnGmFeMMatsAJ4P4DJvOxtjLjLGPG+M+cUYswbAFfZ1HRP4plO4Vj2RqCi0evRRNDrpRKCkBHkT78CojYsPeZ7W+/50+XYs3rjP66yXGswTERERhcXgShGJATAIwMOubcYYh6aPABjq42G0/ls0gL0VnCMWgC4ujWrdcKoXJDoarR5/HNvjE5A9YwZuW/I24ksL8WnHYeX7/OPT1QdnuPQy2Q5LDxIREVE49XinawwDYKfHdr3f3Mdj/EsnJQSgwbo3EzW1xG3ZUss2Uz0ikZFo8Y+H0OTii533r1v+Ac79/ZtD9nEF3K6Bmiw9SERERGHX411bIjIBwPkARhljNN/bG+1Nn+zR483gm8pJRASa3TkREUmJ2PPCi7hs1WdIKC3Eqz1OcpYhdAXfz5w/AGlJsSw9SERERGEZeGdpuiyAZh7b9f6Oyp4oIrcC0MD7WGPM8or2M8YUAShye54/2k31jH4uMm68EZGJidj1+L9x/u/fIK0gB08POAelEVHOXu5B7ZscUnZQ64RryULd5nmfiIiIKKQCb2NMsYgstgMjZ+o2EXENlHy2oueJyO0A7gJwgjFmUUAbTfVa2hVXILJxY2y79z4ct3kR0gqz8fAR43DP2MPKA2otJeicEdMcTD85a0ArfLB0a/l9LWE4dnDbYL8UIiIiCrJQLSf4KoC/A/jZlhM8D0B3Y8xOEdFSg1uNMRPt/lo+8EEAF9qygi65xphcH87HcoJUpdzvv8fmG28CCgoQ0bkLOr40BdHNmjl7tj1LC3piqUEiIv9jOUEKR6E2uFJ7vacBuNUG078A6A/gRA267S7addjC7SlXA9BqKO/pL/5uix6DyC+SRoxA+9dfR2R6Ohxr/0Dm+Reg8PffD52GvgIsNUhEREQh2eMdaOzxpuoo3rIFm6/8G4o3bEBEYiLiH5yEUfNK2ONNRBRg7PGmcBRyPd5EoSymdWu0f/stJBx2GBx5eci79SZMjVntrIHpCrLPHtjqkGnpWWqQiIiIFHu82eNNNWCKi7Hjn5Owf5pmRgHRJ56E3X+7Fe1bHax04m1aeiIi8h/2eFM4YuDNwJtqSP/t7Hv7bez85ySgrAxxffqg9bPPIrpZRrCbRkRU7zHwpnDEVBOiWtT6Tr3wQrR9aSoiU1JQuGIFNpx9NvJ+0mI8FdPe8Pnrspy3RERE1HCwx5s93uQHxZs2Yct116Po99+BiAg0vekmpF1xuXMWTHeeNb9Z45uIqGbY403hiD3eRH4Q07Yt2k97BylnnAE4HNg9eTK2XHMtyrKzy/fRHm5X0K309s4ZK9nzTURE1EAw8Cbyk4j4eLR45GE0f+hBSEwMcufMwYYxZ6NgxQrn495qfrPGNxERUcPBwJvIz3nfTc49F+3feRvRbdqgZOtWZF5wIbL+81+0bxLnTC9xp+UGtfIJERER1X8MvInqQFzPnujw/ntodOKJQGkpdj/xBLL+fiXuPSKNNb6JiIgaKA6u5OBKqkP67+uryS8h/eVnEF9WjNzoeGz6641oecaprPFNRFQLHFxJ4Yg93kR1aEdOIa7KaoFrR9+MNU3aIKmkAD3/+wiaPv8vZKC4yvKCLD1IRERUf7DHmz3eVIc0aL5wyk/O9UhHGS5a8yXG/v4NImAQ1bQp/vjLdbguM9FreUFfSg9qQK6DNjukJ7L3nIgaFPZ4Uzhi4M3Am+qQBsbDHvnmkGomvfZmYnLmx3Bs2ui8P7v1QLzY90zkxiQ4877nTRjt3O75PNdjrgCbNcGJqCFj4E3hiKkmRHVIg2QNiN0HVF5y5Wno8tFMFJ59AcogOGbLEvxn9mM4ctuK8vKCVZUeZE1wIiKi8BMV7AYQ1XfaCz2ia1Nn0Ow+oLL57bfhsqx03LjkXbQ7sBP3/PwqfmzeC23HdUdEi5bOXmzPHm9X6cHKAnOmnBAREYUm9ngTBYAGw0M7pR0SFOv6uCtOxY2jb8Y7XY9BqURgyI5fkXP+Odj2wn8x4bjOFZYe1Jxu1gQnIiIKL8zxZo43BZmmh2hPdZuc7dh+/4NI+u3gTJcbGzXD/r+NR7ujh3stPag53ppeoj3drsCcOd5E1FAwx5vCEQNvBt4USgMxH56N0ZsW48qVHyOlOM+5PfqEk9Buwm2IbtHC63M8U1iIiBoCBt4Ujhh4M/CmECw9mFScj3GrPsNJmT85Sw9KbCxSL/srSs/7CzLzjdfygSwtSEQNCQNvCkcMvBl4UwiXHuyavRXP7v8OZUuXOO/viUvGqz1OxDftDsOks/tVWvNbB3S6AnHFoJyI6hMG3hSOGHgz8KYQ4i1v+7zD2mDTR59h7YMPo2XeHud+a1Na4bVeJ+OpyVfpZ/hPAbuOu9RxmbrNNQZTH2a9byKqLxh4Uzhi4M3Am0KMt7xtTUO59MUfcNr6ebjgt6+RVFro3F7auz/yL7kSY+f7Xr9bA/oZ1wxFXnEZe8CJKGwx8KZwxMCbgTeFWRpKclEezvt9Nk7bMB8xjlLn44uadcOrPU7C2satfTqe9obrP332gBNRuGLgTeGIgTcDbwrTNJTHRjXD0PkfY//77wOlBwPwH1r0xjvdjsO6xq2cqSW+8JyKnogoHDDwpnDEwJuBN4V5Gkrxpk3Y/eyzyPn4k4Pd2PoHqe9g/CPlcKxI63Awx9vVw63Ty3s57ttXDnFO8ENEFC4YeFM4YuDNwJvqiaI//kDWf/6LnM8+AxyO8hzwlCuvQNQRQ7FxTwESYiJw1vPz/zQVfWU93ixTSEShiIE3hSMG3gy8qZ7RHvA9U6Zi/8yZQEmJc1tcr15I/etfkXzC8Xj3l+0+z3jprUwh88GJKBQw8KZwxMCbgTfVUyU7dmDvK69g37R3YQoPVkGJatYMTS68EEUnnYZNJTHlKSvuvdpK1xNjIqvdO05EFCgMvCkcMfBm4E31XOnevdj3zjvY99bbKMvKcm6TuDiknH46Ui+5GDP3xZT3arvX/NZ1b/87MB+ciEIBA28KRwy8GXhTA+EoLnbmf+997TUUrVpdvn1Zeid83n4I5rfog5LIqEqPwR5vIgoVDLwpHDHwZuBNDYz+my9YtAh7X3sdObNnQ+xAzOyYRHzV9jDMaj8EW5Oalu+vud3aG+4tH9xfAy85gJOIqouBN4UjBt4MvKkB2/rberx4x5M4PvNnpBdml2//Jb2TMwD/uWUfvHP9COQXOw4pYejPgZe1PQ6DdqKGiYE3hSMG3gy8qYHTwPfu95Zh4I7VODnzRxy2cw0ibHZ3WXwCUk8+ESmnnY6EwwdDIiL+NJNmbdJQanscVl0hargYeFM4qjyhk4jqPQ1UR3RtisysI9E+/Xo4dmzHrnfeQ/ycWYjcvh3Z789wLlEtWyDl1NOQcsbp2ICUQ4JlpeUJdXIf94C5qt5ofcyX43ijx3YF3UpvtUyivhb2fBMRUShi4E1EzkC1PFhN6YhW990Oc8+tKFi8GNkffYScWV+gdNt27Pnvf51LQvtOOD+hK+a27FueD6491ZqOUp3eaA3IXTnkLp7HqUhtgnYiIqJgYKoJU02IquQoKkLut99i9avTkPDLz4gy/z/x/PrkFpjfqh8GX3o2zjxzeLVTSDRA93VCH3f+SnchovDEVBMKRwy8GXgT+cQV6CYV5mHI9pU4atty9N/9xyFBeGyXzmh03HFY32UAzp+zH0YO5oS73H1KD5zSt8WfAmM9tvZUew7grEpNg3YiCn8MvCkcMfBm4E3kk/nrsnDhlJ8O2ZZUnI9Xuxag6dIfkDd/QfkU9WpfbCP83KwHfm7eA0ubdkFBdJxzu78HQdY0aCei8MbAm8IRA28G3kQ+qSq1Y/qcVfhiynQcvn0VBu36DQmlReX7lUgkVqR3wk/Ne2BxRjfsaJSBeROPZqBMRDXGwJvCEQNvBt5EtU7t8AzKoxyl6LtnAx5sth/F8+Yifte2Q46zOz4FycOGocMJo5E4dAii0tOD84KIKGwx8KZwxMCbgTdRrVM7vKWhqLevHOLc79y7pmHwjlU4fMdq9NybiRhH6SH7xXbtisShQ5EwdAgSBg5EZID+LbqXO1SciIcofDDwpnDEwJuBN1Gdp6G495QnlJXgsR4GPbb/hrz58xG17o9DDyaCiE6dkd+9D1KHDEbLo45EdLMMv7XTFVx///vu8nKHYh/X5nMinopxllAKJQy8KRwx8GbgTeQXVVUYce8pdw96Gxfn4ZGORei383fk/7wQxRs3/unY0W3aIGHQIMQPHID4fv0Q27kzJDKy2u3zFmh7o+2fcc1Q5BWXMci0OEsohRoG3hSOGHgz8CbyG18qjFTWO65OvX8memRtQK89G9Bnz3p0yN5ePoW9iyQkIL5nT8T17Yt459IHUS1a6L9nn89ZFT2UqSDIbGg9v6yZTqGIgTeFI85cSUR1MwNmDWacNDDYE5uMea36OReVUFKAXnsz0XPPBvTYuxG9c7chMj8f+YsWOReXyPR0xPfpgzgNyHt0R2z3HshKaoLMPfnYm1dcraBbmQqmom+IPb81mSW0oX05ISLyBQNvIgqoqqaJ93wsPzoeC5v1cC4qGgbfjm2PpPW/o2DFchQuX4HC339HWVaWc3ZNXVxyo+OwObklNqS0xPEpLbEupRU2NWqGksgoZ7qJ9mqXp564erg12Ib3IFO5gm5vQXlDe88SYiKcA2s9g+uG+OUkXPALEVFwMfAmooDSP/YaiHnmg7uCAPfHvAXBJRDMyk3AKceehBZnj3FucxQWonDVahSuXIF9y1biwK+rELExE0klhei7Z71zcSmVCGxNykBKjy5o1rcH9qa1QvO+3RHRth025pQ6g8mznp/v9YtBTXp+wy3w8va4t/fszAEty6+Te3Ctz2+IX07CAb8QEQUfc7yZ400Ucvngrse8BcEu3gIH98BCa4m3ObALHbO32WUr+hTsQmTeAe8NioxETJs2iOncCesSmuL1rRHYnJSOnUlNcef5h3utVx5uuc5VBV5VPV7Z++K6Dhq0V1RacminNK/taqi9sIF83b58dsPtfWCON4Uj9ngTUcjlg7s/5t7T6s6zJ9Wzp7U0IsqZYqLLbBtkzL1jFJrm70fR2rUoWrsORevWonjdehStWwfHgQMozsx0Ls0A3Op2rsh5KdjQrh1i2rbFy1EpeGOzA1sS05xB+YTzj6g0SPEMZioLbmoa+PjyvKp6on3pqXa9L5peUlHPf1WpRJ48g/07TuyOPq1TAhr8BSPgDHTvc1W/1rA3nCgwGHgTUUjTP/4a/H26fDv+8enqCgMHb4GFiyudpWXjBKBxAqJbtkTSiBHlj+svf6W7dqN43VoUOQPxtSheuw7FmzahdNculGVno2y55pMvdwblt7gdO+L7JPzeqjUKUpsiqW1rNO7Q1nn86Jat8OkuB27/ciMcEGcwc9aAVvhg6VavwY0vvc3egkNfA6aqAq/qpNFUFlxXlUrkzluw//Dnaw5eV/ta9L339YtLdbiOs2JrNv71+ZqABpzBSMfx9p5pKteevCIs27yP6UFEAcLAm4hCnv7xP6VvC0z6bHWFPakVBRbPXDgAA9s1qTSA0DKEOkmPLolHHnnIY478fBRv3oLiTRtRsmkTijM3OgNyZ1C+fTscubnAb2sQgzUoXgDscntuLwDvR0ZjV3wT7Epogl1Lm+C8+MbIikvBnvgUvPDKDjQqGY5WrZtWGvhUFFxXJ4Crqie6Oj3VVQXXri9LVZWWrOzLkm6f8P6K8gGwVX1xqenkSZ7n9Hb9/N0jXtGXHP1yqZ/zqs5Rk/Z4vmc6oFibcN1bS8vXw3nsAlG4YI43c7yJ6s0kPVU9XlMVBTrbdu7DBQ/OQPPcPcgo2IeM/H1oVrAfoxqXoWTrNkTs3+vT8YsiorA3LgVZ8cnO2z1xepuMC04eiIwOrfGXGWuxNyYJedFxMBJR7Xxq997dRz//zW/Xz5e67ZWpSX11d1XlKHvr1a5q8iTP61ebFIyKPjeVve6qzlHblBA99+LMfbjhnaWVXvdwGLvAHG8KRwy8GXgThZWqgr3aBoPVCXQ019lb4Hv3KT0wuH0TnPfMd0jL3+8MyA8G5fucOeZphTlILcx23jYqKfC5LVqRJTs2CdkxiWjergXKkhtj9o4S7I9Jwv7Yg8uBuEZ4+PKjkBffCO3bNMXcP7L+lEPdt3Vjn66fquvcZ/dgvyZcQbLn++TeO14d7gFnbQbT+jKQtaLXXdE5/DW4t6LPresXj4pmng21gZcMvCkcMdWEiOrVJD2+TOLjq6pSObylZyjNRXcGf4e1x8yl27AtqWl5Cb6nlm47JNiKKStBamGOMwhPK8xGakEO0otycHS6oFVZHgp37ETO9p3O0ohRxmH3ywFWbHc+/0xvDf/uacRo/q5EoG10PF6MScABXaITkLcoARlDuyIqIw17U1IQ2TgFkcnJiExJQURKCpo2bozmbZPx7i/b/TbYrrKgzT0tZfnW/eU98pompFepsrjZlQrj7X16f8nWarfTM2WmpuUjfUkB8nXsgjtf2uNLgFxRWtGMa4Yiv9jxpy9lHHhJ5D8MvImIKlBVoOOZN+tOn6dBt2cwc+sJ3Q75qb84Mho7EtOwOyn9T/tqELXVpkpM/uRXJBXloklRLlJcS3EuGhcdXIalRyA+Lwe7N+9wPhZXVuIM1BsX5zkXd8WbFyOritfeNTIar0fFIT8qFvnRcSiYF4e1PdsgoUkKIpKSEJGUiMhGjRCRqOtJiGx08Na56LaEeETEx2P6il2Y+MHKSoM217XUnuvT+7Us73HXXGzP2uF6TV33bz+xm/M9qu7MpO6TJ7mO4+1XgMoGJOp7U9FgT18Ddl/GLrirKg/fW4DsOTi1shz9fm2a/OmcrMtO5F9MNWGqCRFVwNef9nU/bz2XldWv9iVf3VuKiAZ9OiDO23kMTHkKQWxpMZJKCtCoOB+NSvKdt0nF+UgpKcDVhzVFfGG+s1pLwZ69KNy7D9H5uZCcHDjyDg3Sa0sruhRFRqMwKgaFkTEojIpFu1apKIuJQ3xyEhKSbZCekACJ12A9wRmw6za9n+2IxM4ioHl6I6SnJWNPCbA1z4FVewvx5HcbURgRhdLIaDgkotLecRfXta5s8KfnQEz3AYlKz1PZYM/qpoR4+yx4C5gr23dR5l7c+M4vh5zT/QtGZXXZK0vLqigtpbK67IHCVBMKRyEZeIvItQBuA9AcwDIA1xtjfq5k/3MBPASgPYA/ANxhjPnMx3Mx8CaiCvk64LAm+bcVBT6VHUtV5zHP3l339nvrIT2vfwts256Fcx7/CnElRUgoKURiaSGSSotw7zHtkFRaCEdunrOaiyP3AMrselF2DopzDiCqIB/Iz4MpKkIglUik89eD4sgolEREIyYxHntLdOBqNEoio9C6WWMkJScisVECEpISINHRXpdlO3Lx0ardzuOVRURhzBEd0L1tKtbtLcILP2xESUSU87HSCF30XK71SDgio/HSFUOQ54jAyl15eOzLtc6ZViMjIqo1UNW96kpVAXNFFVq8qUk+eE0/14HIB2fgTeEo5AJvERkL4DUAVwHQr9k3AdDAupsxZpeX/bX21/cAJgL4BMCFGngDGGiMWenD+Rh4E1GlfB2w6a+qKlX1MlZ2nop6RD3bX1VAVZ3X4jWAH9gK23fuw2mPfYWY0mJnD3xcWTHi9dauO++XFeP6I1sj0VHiLN3oKCiAoyAfJl9vC+AoKoQpLHIG8o7iIud6aUEhygoP5ryHhchISFQUJDISKL+NhER6rEdFOQfQrtqVhzKJKF8cEolurRsjJSkO8XGx5fsXOIBPf93lfI77/kbE+QuAc4GuH7yv2887vB3aZTQCJAISGQFERDrfNGc7IiIgEQe3HXzs4LJgwz68+fMWlOrXuIgIXDysPUZ0b16+/56CUuw4UIRW3Tpg3oHogOWDM/CmcBSKgbf+tVlojLnO3teUus1ajtcY84iX/acBSDTGnOq27UcAvxhjrvKyf6z+Cuu2qRGALQy8icgf/FFVxdfpvStLlfBHCoEvx6lOAK//mXsLlaubtuA6J8rKEO0oRWxZKeJMKWZcPgjpMQLjDNAL4SgqhtHAXYN2z/USXUoOWXbuOYC5q3cg2lGGKEcpohx6/DL0bZ6AWDiwZvNe5zb3x1zrUebg/chw+TJQB97sdhze7HHCISk/dVmWkIE3haOQGlwpIjoQf5DOEu3aZoxxiMjXAIZW8DTdPtlj2xcVDfa3PeP3+a/VRET+rariy+yPlZ3Hlzb4MmGOL8epaiChe9WShJgInPX8fJ+nk/fl+hRpmkd0HO4a0xut+9SyZzW7AE9U8iViqcevAO6DPV1fKiKMA5E2KNf1qRcNwKDWyUBZKXbuz8OWrANo3SgW6QlRMKWlzi8Peuta35OTj9veWQJx6HEczkDeudigPhoO3HpsJyRHRyA7txAvzv4d4v64KcOx3TPQLCkaW/bm4cc/dh983ACHt09Bx9QEwOGAcZQBZQ7AOGD01lEGoy9c26OP6bpucz6m+zsOPqZfLMoOPr+kpAzrd+Y4X6cYg5yYRE7EQxROgTeAdP1/DsBOj+16v3sFz2lewf663ZuHPQJ1Z493LdpMROR3vs7+WFPVmdrdnwG8P85ZV9enJjNyapWaQ75UIAKOyAiUREY7n9+ucytEl88++nuVKRiJAMakdqm0tvlFo4egfac0pGpO5eF/Tgkaao/bEUCXWvwCU1mutj42e/k2/PPTNZUeoyZfrIjqs5BKNRGRlgC0+OqRxpgFbtsfBTDSGHOEl+cUA7jUGPO227ZrtFfbGNPMh3Myx5uIGix/pMYEesbLulbT9lV0HWo6QNHbDJMVVdXx9/WsrHa3+2OeKhvM629MNaFwFGo93lpatgyAZ8Cs93dU8Jwd1dyfiIj8mBpT3d5nf05yVBdq2r6KrkNNJuLR7af2i0decWmVvxD4+3pWVrtbVRR0+1KqkaihC6nA2xhTLCKLARwDYKbb4Eq9/2wFT1tgH3/SbdtxdjsREQVAqAfTwbwOvqTjBCvlyJvKvihorXhvQfc9p/TAyX1bHDJJDxH9mQa1oUbzr68UkUtFpAeAF2za2yv6oIi8JiLlgy8BPAXgRBG5RUS6i8j9AA6rJFAnIiIKGFfuuAbbqrq57a5ZPQMVzLq+KLhzfVGo6DH3oJuIwqTHWxljpomI/p71oB0g+YsG1sYY1wBKTRYrr9dkjJkvIlq7+x8AJtkJdM70pYY3ERFRIASj57quBpn6a4AsUUMUUoMrg4GDK4mIiP6strXi6xoHV1I4CrkebyIiIgq+2taKJ6LwyPEmIiIiIqp3GHgTEREREQUAA28iIiIiogBg4E1EREREFAAMvImIiIiIAoCBNxERERFRADDwJiIiIiIKAAbeREREREQBwMCbiIiIiCgAGHgTEREREQUAA28iIiIiogCICsRJwkFOTk6wm0BEREQ+4t9tCkdijEFDJiKtAGwJdjuIiIioRlobY7YGuxFEvmDgLSIAWgI44MfDNrLBfGs/H5f+jNc6cHitA4fXOnB4rcP7Wusxt5mGHsxQ2GjwqSb2H6tfvykfjOWdDhhj+FtYHeK1Dhxe68DhtQ4cXuuwv9Z8zyiscHAlEREREVEAMPAmIiIiIgoABt51owjAA/aW6havdeDwWgcOr3Xg8FoHDq81NXgNfnAlEREREVEgsMebiIiIiCgAGHgTEREREQUAA28iIiIiogBg4E1EREREFAAMvOuAiFwrIpkiUigiP4nI4cFuU7gTkREi8rGIbBMRIyJnejyuHhSR7SJSICJfi0iX4LU4PInIRBFZKCIHRGSXiMwUkW4e+8SJyHMiskdEckXkfRFpFrxWhycRuVpElotIjl0WiMhJbo/zOtcREZlg/x950m0br7cfiMj99tq6L2vcHud1pgaNgbefichYAJNtyaSBAJYB+EJEMoLdtjCXaK/ltRU8fjuAGwBcBeAIAHn2uscFuJ3hbiSA5wAMAXAcgGgAX4qIXn+XJwCcBuBcu39LADOC2OZwpVNnTwAwCMBhAL4B8KGI9LKP8zrXAREZDODvAJZ7PMTr7T+/Amjhtgx3e4zXmRo0lhP0M+3hBrDQGHOdva9fbjYDeMYY80iw21cfaA8KgLOMMTPtfZ2HeBuAfxtjHrfbUgDsBDDOGPNOsNscrkSkKYBd+gfSGPO9va67AVxojHnP7tMdwGoAQ40xPwa7zeFMRPYCuA2AXlteZz8TkSQASwBcA+BuAL8YY27i59q/Pd4AzjTG9PfyGK8zNXjs8fYjEYmxvVdfu7YZYxz2/tDgtq5e6wCgucd1zwagX4J43WtH/1AqDQhhP9/RHtdaf0bexGtdcyISKSLn2192FvA61xn9NedTY0z5dbV4vf2ri00LXC8ib4pIW7ud15kavKhgN6CeSQcQaXta3el9/VZPdUODblRw3V2PUTXZX2s0B/YHY8xKu1mvZ7ExZr/H7rzWNSAifWygrSlRufaXnFUior2FvM5+ZL/YaPqfppp44ufaf7TDYxyA32yayX0A5opIb15nIgbeRFR572Bvj/xM8i8NTvrbXxbOAfCqiGjeK/mRiLQB8JSOWzDGFAa7PfWZMeZzt7s6eFgD8Y0AzgNQEMSmEYUEppr4VxaAMgCeI7T1/o4gtakhcF1bXnc/EZFnAZwKYLQxRgcBuuj1jBGRxh5P4bWuAWOM9v6tNcYsNsZMtAOIb+R19jtNcdAB7ktEpFQXO7DvBruuPa683nXA9m7/DqAzP9dEDLz9/kcUwGIAx3j8XH+M/TmZ6sYG+5+2+3VPttVNeN2rwZZl1KD7LABHG2P02rrTz3eJx7XWcoOaw8lrXXv6/0Usr7PfzQbQx/664FoWAXjTbZ3Xu+4GtHYCsJ2fayKmmtSFyfbnYv2P/GcAN9kBU68Eu2HhzP7nrT0mLh1sHuxeY8wmW4/3bhH5wwbiD9lKJ87KJ1St9JILAZwBQGt5u/Ius40xBTpoVURe0s+5rcCRoxV79I8mKxJUj4g8DOBzO7Cskb3uowCcwOvsX8aYAwBc4xScRERLju5xjV/g9fYPEdHKUh/b9JKWtrSu/hL8Nj/XRAy8/c4YM82WYHvQDhb5BcCJxhjPgX9UPVrn+FuPLzjqVTuQ51H7Bee/APRnzHn2ujOfs3qutrdzPLb/FcD/7Pp4AFqt533bO/uFLc9G1aOpD6/ZAWjZtq60Bt1f2cd5nQOL19s/WmuQDSDNlg7U/4uHGGN0XfE6U4PGOt5ERERERAHAHG8iIiIiogBg4E1EREREFAAMvImIiIiIAoCBNxERERFRADDwJiIiIiIKAAbeREREREQBwMCbiIiIiCgAGHgTEREREQUAA28iqjMicr+I/BKkc2eKyE1BOO//RMTY5Uw/HbO92zGDcj2JiKj2GHgTUWWBY4mI7BSRr0TkMhEJuf8zRGSciOz38tBgAP9FcMyyU8F/7qfjbbbH+7efjkdEREEQcn9EiSgkuALH9gBOAvAtgKcAfCIiUQgDxpjdxpj8IJ2+yBizwxhT5I+DGWPK9HgAcv1xPCIiCg4G3kRUWeC41RizxBgzCcAZNggf59pJRBqLyFQR2S0iOSLyjYj0q+igIjLY9p5niUi2iHwnIgPdHn9ZRD7xeE60iOwSkcu9HG8UgFcApLj10t/vLdXEPvZ3Pb6I5IvIahEZKiKdRWSOiOSJyHwR6eRxjjNEZImIFIrIehG5r7pfPrSd9vyN3bb1t9va2/vtRORjEdln2/KriJxcnfMQEVFoY+BNRD4xxnwDYBmAMW6bpwPIsAH5IABLAMwWkdQKDtMIwKsAhgMYAuAPAJ+JiG5XUwGcKCLa2+5yKoAEANO8HG8+AA2uc2wPvS6PV/Iy7gHwGoD+ANYAeAvAfwA8DOAwjX8BPOvaWUSOsvtrb39PAH+3Xzzugv89ByAWwAgAfQDcwR5uIqL6JSx+MiaikKHBal9dERENng/XwNstpeJWO6DwHG/51TZ4LycifwOg+dkjNY3FGKM9zr8BuBjAo3a3v2qAb4z5UxBqjCnWnvODq85UjKq8Yox51577XwAWAHjIGPOF3faU7UF3uQ/AI8YY/bKgtMf7Htu2B+BfbQG8b4xZ4TqXn49PRERBxh5vIqoO7RE2dl1TSpIA7BGRXNcCoAOATl6fLNJMRKaIyB82YM6xx9CgE2693n917W9701/2U/uXu63vtLcrPLbFiUiy22u81+P1TdGedRHRXnh/ehrA3SLyg4g8ICLOLzhERFR/sMebiKqjB4ANdl0D5u0ANM/ak7cqI0p7jtMA3Ahgo+aS217nGLd9NLXjEc2/BnCkns8YM9dP7S9xWzeVbItwe43a6z3Dy7EKa9mWSPc7xhjNldee91MAHA9goojcYox5ppbnISKiEMHAm4h8IiJH29zjJ+wmzeduDqDUGJPp42GGAbjGGPOZPWYbAOnuOxhjtAd9pu31HuqR+uFNsWcQ60f6GrsZY9b66XjN3L6UdPR80BijZQNf1EVENO/8SgAMvImI6gkG3kTkTayINLcBrQaLJ2oPrOZh2x5p9bXtrZ4pIrcD+B1AS9tj+4ExZpGX4+pgyotFRB/TdI7HABR42W+qPZee35VfXREN+pNE5Bg7+DPfj2UEH7QlFDcBeA+Aw6af9DbG3F2D42lPvl7HJrYnXR0mItts3vjn9jrq46MBrPbT6yAiohDAHG8i8uZEm0aSaWt6axB4g5YU1JrSsKMZAWi5u+9tr7QGjO8AaOeWP+3pchtUak/y6zaveZeX/b625//CGKNBaYV0QKbtJdaqJ7sB6JcAv7CDLk+1qR8LAfwIYLxNk6lpjrnzy4qtvrLUVkyJs18ynrPB9ix7Pa/x12shIqLgk4N/O4mIQoeIaG71Vk03McZ4y68O6Zk/ATQ2xpzpUW9cJyFqYozZX4tja43yM40xWg6RiIjCDHu8iShk6JT0IqJ1wbVknwaoHyE8nWqroGhvea2JSFtbUeVOfxyPiIiCgzneRBRK2tqqKVt0ohpjTCnCj6a6/MOua7qMP2i6jauX2y/T0BMRUeAx1YSIiIiIKACYakJEREREFAAMvImIiIiIAoCBNxERERFRADDwJiIiIiIKAAbeREREREQBwMCbiIiIiCgAGHgTEREREQUAA28iIiIiItS9/wNi+oEmlccflgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from quantify_core.analysis import T1Analysis\n", "\n", "T1Analysis(dataset=dataset).run().display_figs_mpl()" ] }, { "cell_type": "markdown", "id": "cd713a7b", "metadata": {}, "source": [ "```{admonition} Analyzing Datasets\n", "More information on analyzing datasets can be found in the [user guide](\n", ")\n", "of `quantify-core`.\n", "```" ] } ], "metadata": { "file_format": "mystnb", "kernelspec": { "display_name": "python3", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.21" }, "source_map": [ 6, 54, 57, 63, 69, 79, 90, 105, 121, 134, 143, 177, 180, 192, 208, 227, 230, 238, 243, 248, 250, 257, 259, 277, 300, 318, 325, 339, 345, 349 ], "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "212ed184d70d4e0d82e6f7dd96898633": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "3f782bc43c1749a4a3e7109b037a8dad": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_212ed184d70d4e0d82e6f7dd96898633", "placeholder": "​", "style": "IPY_MODEL_8702171c205a4d83835e43b463cd298a", "tabbable": null, "tooltip": null, "value": "Completed: 100%" } }, "48ec85d741ad491f9f12aa6dd10ca380": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4b3cf2a73731471e8985e1a5612d15a4": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6162729f257e4bf18ef1105d2ab9679e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_3f782bc43c1749a4a3e7109b037a8dad", "IPY_MODEL_fbf0f9a8e72c481aa632833106daaf80", "IPY_MODEL_67a4d0e06b234c68ad6a0cdf63480cf8" ], "layout": "IPY_MODEL_f197039e24fa447bb7d88d0da0667162", "tabbable": null, "tooltip": null } }, "67a4d0e06b234c68ad6a0cdf63480cf8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "HTMLView", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_48ec85d741ad491f9f12aa6dd10ca380", "placeholder": "​", "style": "IPY_MODEL_7a41c12444d04cc4bf0562599a8ebe18", "tabbable": null, "tooltip": null, "value": " [ elapsed time: 00:00 | time left: 00:00 ]  last batch size: 125" } }, "7a41c12444d04cc4bf0562599a8ebe18": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "8702171c205a4d83835e43b463cd298a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "HTMLStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "HTMLStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "background": null, "description_width": "", "font_size": null, "text_color": null } }, "e6d72c52b27d4c8aa177fe307499031b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "f197039e24fa447bb7d88d0da0667162": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "fbf0f9a8e72c481aa632833106daaf80": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_allow_html": false, "layout": "IPY_MODEL_4b3cf2a73731471e8985e1a5612d15a4", "max": 100.0, "min": 0.0, "orientation": "horizontal", "style": "IPY_MODEL_e6d72c52b27d4c8aa177fe307499031b", "tabbable": null, "tooltip": null, "value": 100.0 } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }