{ "cells": [ { "cell_type": "markdown", "id": "d18a1c68", "metadata": { "incorrectly_encoded_metadata": "jp-MarkdownHeadingCollapsed=true" }, "source": [ "# Numerically Controlled Oscillator\n", "\n", "In this tutorial we will demonstrate how to use the numerically controlled oscillator (NCO) during an experiment by [Changing the modulation frequency](#Frequency-sweeps), e.g. for rapid spectroscopy measurements\n", "\n", "We will show this by using a [QRM](https://qblox-qblox-instruments.readthedocs-hosted.com/en/master/cluster/qrm.html) and directly connecting outputs\n", "$\\text{O}^{[1-2]}$ to inputs $\\text{I}^{[1-2]}$ respectively. We will then use the QRM's sequencers to sequence waveforms on\n", "the outputs and simultaneously acquire the resulting waveforms on the inputs.\n", "\n", "Whilst this tutorial is for the baseband modules, a similar procedure for spectroscopy with RF modules can be found in the [RF Control](https://qblox-qblox-instruments.readthedocs-hosted.com/en/master/tutorials/q1asm_tutorials/basic/rf/rf_control.html) tutorial.\n", "\n", "To run this tutorial please make sure you have installed and enabled ipywidgets:\n", "```\n", " pip install ipywidgets\n", " jupyter nbextension enable --py widgetsnbextension\n", "```\n", "## Getting Started\n", "### How the NCO works\n", "#### Modulation\n", "The NCO modulates any AWG output at a certain frequency, such that we only need to store the envelope of any waveform to create a wave with the correct frequency and phase. To enable IQ up- and downconversion to RF frequencies, the device will generate a phase shifted signal on both signal paths.\n", "\n", "If modulation is enabled, the value of the NCO ($f$) will be multiplied with the awg ($z(t)$) output and forwarded to path 0/1 as follows:\n", "\n", "\\begin{equation*}\n", "z_{\\text{mod}, 0/1} (t) = z(t) \\cdot e^{\\pm i 2 \\pi f t}\n", "\\end{equation*}\n", "\n", "These two outputs can then be used within a QRM-RF module or by an external IQ mixer to generate RF pulses. Each path, 0/1, will have two components (real and imaginary) referred to as I and Q. However, the NCO can also be operated in real mode which will create a direct modulated output.\n", "\n", "#### Demodulation\n", "Usually, we are interested in the envelope of the acquired signal instead of the oscillating values, in particular when integrating. Therefore, the NCO can also be used to demodulate the signal before integration.\n", "If demodulation is enabled, the signal is again multiplied with the NCO, this time with a prefactor $\\sqrt{2}$. Thus, if we modulate and demodulate the same signal, we obtain the original awg output:\n", "\n", "\\begin{equation*}\n", "\\text{path}_{0, \\text{in}} = \\sqrt{2}(\\cos(\\omega t)\\text{in}_0-\\sin(\\omega t)\\text{in}_1)\n", "= \\cos(\\omega t)\\cos(\\omega t)\\text{awg}_0+\\sin(\\omega t)\\sin(\\omega t)\\text{awg}_0 = \\text{awg}_0\n", "\\tag{3}\n", "\\end{equation*}\n", "\n", "\\begin{equation*}\n", "\\text{path}_{1, \\text{in}} = \\sqrt{2}(\\cos(\\omega t)\\text{in}_1+\\sin(\\omega t)\\text{in}_0)\n", "= \\cos(\\omega t)\\cos(\\omega t)\\text{awg}_1+\\sin(\\omega t)\\sin(\\omega t)\\text{awg}_1 = \\text{awg}_1\n", "\\tag{4}\n", "\\end{equation*}\n", "\n" ] }, { "cell_type": "markdown", "id": "f0070120", "metadata": {}, "source": [ "### Setup\n", "\n", "First, we are going to import the required packages and connect to the instrument." ] }, { "cell_type": "code", "execution_count": 1, "id": "446ea0f6", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:30.053199Z", "iopub.status.busy": "2023-12-06T17:12:30.053199Z", "iopub.status.idle": "2023-12-06T17:12:31.526354Z", "shell.execute_reply": "2023-12-06T17:12:31.526354Z" } }, "outputs": [], "source": [ "# Import ipython widgets\n", "import contextlib\n", "import json\n", "\n", "import ipywidgets as widgets\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# Set up the environment.\n", "from IPython.display import display\n", "from qcodes import Instrument\n", "from scipy.signal import spectrogram, welch\n", "\n", "from qblox_instruments import Cluster, PlugAndPlay" ] }, { "cell_type": "markdown", "id": "921fbd44", "metadata": {}, "source": [ "### Scan For Clusters\n", "\n", "We scan for the available devices connected via ethernet using the Plug & Play functionality of the Qblox Instruments package (see [Plug & Play](https://qblox-qblox-instruments.readthedocs-hosted.com/en/master/api_reference/tools.html#api-pnp) for more info)." ] }, { "cell_type": "code", "execution_count": 2, "id": "9b103372", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:31.531379Z", "iopub.status.busy": "2023-12-06T17:12:31.531379Z", "iopub.status.idle": "2023-12-06T17:12:33.472863Z", "shell.execute_reply": "2023-12-06T17:12:33.471862Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Devices:\n", " - 10.10.200.13: cluster_mm 0.6.2 with name \"QSE_1\" and serial number 00015_2321_005\n", " - 10.10.200.42: cluster_mm 0.6.2 with name \"QAE_1\" and serial number 00015_2320_004\n", " - 10.10.200.43: cluster_mm 0.6.2 with name \"QAE_2\" and serial number 00015_2206_003\n", " - 10.10.200.50: cluster_mm 0.6.1 with name \"dd0\" and serial number 00015_2219_003\n", " - 10.10.200.53: cluster_mm 0.6.1 with name \"dd1\" and serial number 00015_2320_003\n", " - 10.10.200.70: cluster_mm 0.6.1 with name \"cluster-mm\" and serial number 123-456-789\n" ] } ], "source": [ "!qblox-pnp list" ] }, { "cell_type": "code", "execution_count": 3, "id": "cb9661c9", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:33.477574Z", "iopub.status.busy": "2023-12-06T17:12:33.476549Z", "iopub.status.idle": "2023-12-06T17:12:33.488644Z", "shell.execute_reply": "2023-12-06T17:12:33.487592Z" } }, "outputs": [], "source": [ "cluster_ip = \"10.10.200.42\"\n", "cluster_name = \"cluster0\"" ] }, { "cell_type": "markdown", "id": "916cf480", "metadata": {}, "source": [ "### Connect to Cluster\n", "\n", "We now make a connection with the Cluster." ] }, { "cell_type": "code", "execution_count": 4, "id": "0bc6fe39", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:33.493246Z", "iopub.status.busy": "2023-12-06T17:12:33.493246Z", "iopub.status.idle": "2023-12-06T17:12:33.890657Z", "shell.execute_reply": "2023-12-06T17:12:33.890145Z" }, "lines_to_next_cell": 2 }, "outputs": [], "source": [ "from qblox_instruments import Cluster, ClusterType\n", "\n", "try: # Close the chosen QCodes instrument to prevent name clash\n", " Cluster.find_instrument(cluster_name).close()\n", "except KeyError:\n", " pass\n", "\n", "cluster = Cluster(\n", " name=cluster_name,\n", " identifier=cluster_ip,\n", " dummy_cfg={\n", " 2: ClusterType.CLUSTER_QCM,\n", " 4: ClusterType.CLUSTER_QRM,\n", " 6: ClusterType.CLUSTER_QCM_RF,\n", " 8: ClusterType.CLUSTER_QRM_RF,\n", " }\n", " if cluster_ip is None\n", " else None,\n", ")" ] }, { "cell_type": "markdown", "id": "c64049a4", "metadata": { "lines_to_next_cell": 2 }, "source": [ "#### Get connected modules" ] }, { "cell_type": "code", "execution_count": 5, "id": "2eab2429", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:33.896837Z", "iopub.status.busy": "2023-12-06T17:12:33.895818Z", "iopub.status.idle": "2023-12-06T17:12:33.906455Z", "shell.execute_reply": "2023-12-06T17:12:33.905950Z" } }, "outputs": [], "source": [ "def get_connected_modules(cluster, filter_fn=None):\n", " def checked_filter_fn(mod):\n", " if filter_fn is not None:\n", " return filter_fn(mod)\n", " return True\n", "\n", " return {\n", " mod.slot_idx: mod for mod in cluster.modules if mod.present() and checked_filter_fn(mod)\n", " }" ] }, { "cell_type": "code", "execution_count": 6, "id": "04c25e1f", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:33.911058Z", "iopub.status.busy": "2023-12-06T17:12:33.911058Z", "iopub.status.idle": "2023-12-06T17:12:33.985582Z", "shell.execute_reply": "2023-12-06T17:12:33.984577Z" } }, "outputs": [ { "data": { "text/plain": [ "{4: }" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# QRM baseband modules\n", "modules = get_connected_modules(cluster, lambda mod: mod.is_qrm_type and not mod.is_rf_type)\n", "modules" ] }, { "cell_type": "code", "execution_count": 7, "id": "dbd495a9", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:33.990878Z", "iopub.status.busy": "2023-12-06T17:12:33.990878Z", "iopub.status.idle": "2023-12-06T17:12:34.001088Z", "shell.execute_reply": "2023-12-06T17:12:33.999932Z" }, "lines_to_next_cell": 0 }, "outputs": [], "source": [ "readout_module = modules[4]" ] }, { "cell_type": "markdown", "id": "a605b1af", "metadata": {}, "source": [ "### Reset the Cluster\n", "\n", "We reset the Cluster to enter a well-defined state. Note that resetting will clear all stored parameters, so resetting between experiments is usually not desirable." ] }, { "cell_type": "code", "execution_count": 8, "id": "293cdc17", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:34.005891Z", "iopub.status.busy": "2023-12-06T17:12:34.004386Z", "iopub.status.idle": "2023-12-06T17:12:37.141958Z", "shell.execute_reply": "2023-12-06T17:12:37.141031Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status: OKAY, Flags: NONE, Slot flags: NONE\n" ] } ], "source": [ "cluster.reset()\n", "print(cluster.get_system_state())" ] }, { "cell_type": "markdown", "id": "61a18608", "metadata": {}, "source": [ "Frequency sweeps \n", "------------------------------\n", "One of the most common experiments is to test the frequency response of the system, e.g. to find the resonance frequencies of a qubit or a resonator. For the purpose of this tutorial, we will sweep the full frequency range supported by the QRM. To improve accuracy we can use the maximum integration time and multiple averages. This does not change the overall measurement time much, as most of it is used for the setup." ] }, { "cell_type": "code", "execution_count": 9, "id": "a7556bb7", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:37.146474Z", "iopub.status.busy": "2023-12-06T17:12:37.146474Z", "iopub.status.idle": "2023-12-06T17:12:37.158014Z", "shell.execute_reply": "2023-12-06T17:12:37.157029Z" }, "lines_to_next_cell": 2 }, "outputs": [], "source": [ "start_freq = -500e6\n", "stop_freq = 500e6\n", "\n", "n_averages = 10\n", "MAXIMUM_SCOPE_ACQUISITION_LENGTH = 16384" ] }, { "cell_type": "markdown", "id": "fba8d670", "metadata": { "lines_to_next_cell": 2 }, "source": [ "In this tutorial, we will analyze the raw data measured by the scope acquisition of the QRM. For this we will define a simple helper function using [scipy.signal.spectrogram](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.spectrogram.html) and [scipy.signal.welch](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.welch.html). The spectrogram shows the frequency spectrum of the QRM output as a function of time, to visualize the frequency sweeps we are doing. Welch's method is used to compute the input power as a function of frequency (power spectral density). This way we obtain the response of the system to find features of interest, e.g. a resonance." ] }, { "cell_type": "code", "execution_count": 10, "id": "4b646270", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:37.163555Z", "iopub.status.busy": "2023-12-06T17:12:37.162031Z", "iopub.status.idle": "2023-12-06T17:12:37.174098Z", "shell.execute_reply": "2023-12-06T17:12:37.172586Z" }, "lines_to_next_cell": 2 }, "outputs": [], "source": [ "# Power as function of frequency and time by chunking the data\n", "def plot_spectrogram(time_series: np.ndarray) -> None:\n", " f_sample = 1e9 # All devices have 1 GSPS sample rate\n", " fig, ax = plt.subplots(1, 2)\n", "\n", " f, t, Sxx = spectrogram(time_series, f_sample, return_onesided=False, detrend=False)\n", "\n", " idx = np.argsort(f)\n", " f = f[idx] / 1e6\n", " Sxx = Sxx[idx]\n", "\n", " spec = ax[0].pcolormesh(t, f, Sxx, shading=\"auto\", cmap=\"YlOrRd\")\n", " cb = fig.colorbar(spec)\n", " cb.set_label(\"Power Spectral Density [V$^2$/Hz]\")\n", " ax[0].set_ylabel(\"Frequency [MHz]\")\n", " ax[0].set_xlabel(\"Time [s]\")\n", "\n", " f, Pxx = welch(time_series, f_sample, return_onesided=False, detrend=False)\n", "\n", " idx = np.argsort(f)\n", " f = f[idx] / 1e6\n", " Pxx = Pxx[idx]\n", "\n", " ax[1].semilogy(f, Pxx)\n", " ax[1].set_xlabel(\"Frequency [MHz]\")\n", " ax[1].set_ylabel(\"Power Spectral Density [V$^2$/Hz]\")\n", " fig.tight_layout()\n", " plt.show()" ] }, { "cell_type": "markdown", "id": "3896839c", "metadata": { "lines_to_next_cell": 2 }, "source": [ "And two more helper functions for plotting the amplitude of an array of I, Q values and a scope acquisition:" ] }, { "cell_type": "code", "execution_count": 11, "id": "c6184dde", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:37.178018Z", "iopub.status.busy": "2023-12-06T17:12:37.178018Z", "iopub.status.idle": "2023-12-06T17:12:37.189450Z", "shell.execute_reply": "2023-12-06T17:12:37.188464Z" } }, "outputs": [], "source": [ "def plot_amplitude(x, I_data, Q_data):\n", " amplitude = np.abs(I_data + 1j * Q_data)\n", "\n", " plt.plot(x / 1e6, amplitude)\n", " plt.xlabel(\"Frequency [MHz]\")\n", " plt.ylabel(\"Integration [V]\")\n", " plt.show()\n", "\n", "\n", "def plot_scope(trace, t_min: int, t_max: int):\n", " x = np.arange(t_min, t_max)\n", " plt.plot(x, np.real(trace[t_min:t_max]))\n", " plt.plot(x, np.imag(trace[t_min:t_max]))\n", " plt.ylabel(\"Scope [V]\")\n", " plt.xlabel(\"Time [ns]\")\n", " plt.show()" ] }, { "cell_type": "markdown", "id": "1a4b485c", "metadata": {}, "source": [ "### Setting up the QRM\n", "We set up a modulated DC offset:" ] }, { "cell_type": "code", "execution_count": 12, "id": "8bfc12eb", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:37.195576Z", "iopub.status.busy": "2023-12-06T17:12:37.194057Z", "iopub.status.idle": "2023-12-06T17:12:37.345579Z", "shell.execute_reply": "2023-12-06T17:12:37.344544Z" } }, "outputs": [], "source": [ "readout_module.disconnect_outputs()\n", "readout_module.disconnect_inputs()\n", "\n", "# Configure channel map\n", "readout_module.sequencer0.connect_sequencer(\"io0_1\")\n", "\n", "# Set DC Offset\n", "readout_module.sequencer0.offset_awg_path0(1)\n", "readout_module.sequencer0.offset_awg_path1(1)\n", "\n", "# Enable modulation and demodulation. Note that the scope is not demodulated\n", "readout_module.sequencer0.mod_en_awg(True)\n", "readout_module.sequencer0.demod_en_acq(True)\n", "\n", "# Enable hardware averaging for the scope\n", "readout_module.scope_acq_avg_mode_en_path0(True)\n", "readout_module.scope_acq_avg_mode_en_path1(True)\n", "\n", "readout_module.sequencer0.integration_length_acq(MAXIMUM_SCOPE_ACQUISITION_LENGTH)" ] }, { "cell_type": "markdown", "id": "74b3cff9", "metadata": {}, "source": [ "### NCO sweep controlled by the host computer\n", "As a baseline, we will run a simple frequency sweep controlled by the host computer using QCoDeS. We do this by setting a DC offset and modulating it with the NCO. This is quite slow, so we will only measure 200 steps to keep the measurement time reasonable." ] }, { "cell_type": "code", "execution_count": 13, "id": "b72338c4", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:37.349812Z", "iopub.status.busy": "2023-12-06T17:12:37.348723Z", "iopub.status.idle": "2023-12-06T17:12:37.360999Z", "shell.execute_reply": "2023-12-06T17:12:37.359938Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Step size 5.0 MHz\n" ] } ], "source": [ "n_steps = 200\n", "\n", "step_freq = (stop_freq - start_freq) / n_steps\n", "print(f\"Step size {step_freq/1e6} MHz\")\n", "\n", "nco_sweep_range = np.arange(start_freq, stop_freq, step_freq)" ] }, { "cell_type": "markdown", "id": "f7be60ee", "metadata": {}, "source": [ "Now we set up a simple program that acquires data and averages. The frequency will be set later with the QCoDeS interface." ] }, { "cell_type": "markdown", "id": "bddc2238", "metadata": {}, "source": [ "Note: While most operations and parameters are executed/updated on a 1 ns timegrid, the instructions that operate on the sequencer’s NCOs (e.g. set_freq, reset_ph, set_ph, set_ph_delta) are updated on a 4 ns timegrid. The minimum time between frequency changes is 8 ns." ] }, { "cell_type": "code", "execution_count": 14, "id": "def9f3de", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:37.365108Z", "iopub.status.busy": "2023-12-06T17:12:37.364087Z", "iopub.status.idle": "2023-12-06T17:12:37.376687Z", "shell.execute_reply": "2023-12-06T17:12:37.375686Z" } }, "outputs": [], "source": [ "acquisitions = {\"acq\": {\"num_bins\": 1, \"index\": 0}}\n", "\n", "# Sequence program.\n", "slow_sweep = f\"\"\"\n", " move {n_averages}, R0 # Average iterator.\n", "\n", "avg_loop:\n", " reset_ph\n", " upd_param 200\n", " acquire 0, 0, {MAXIMUM_SCOPE_ACQUISITION_LENGTH}\n", "\n", " loop R0, @avg_loop\n", "\n", " stop\n", "\"\"\"\n", "\n", "# Add sequence to single dictionary and write to JSON file.\n", "sequence = {\n", " \"waveforms\": {},\n", " \"weights\": {},\n", " \"acquisitions\": acquisitions,\n", " \"program\": slow_sweep,\n", "}\n", "with open(\"sequence.json\", \"w\", encoding=\"utf-8\") as file:\n", " json.dump(sequence, file, indent=4)\n", " file.close()" ] }, { "cell_type": "markdown", "id": "ad6283ca", "metadata": {}, "source": [ "Next, we prepare the QRM for the measurement:" ] }, { "cell_type": "code", "execution_count": 15, "id": "fa43145f", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:37.380562Z", "iopub.status.busy": "2023-12-06T17:12:37.380562Z", "iopub.status.idle": "2023-12-06T17:12:37.407361Z", "shell.execute_reply": "2023-12-06T17:12:37.406237Z" } }, "outputs": [], "source": [ "readout_module.sequencer0.sequence(\"sequence.json\")" ] }, { "cell_type": "markdown", "id": "b51cb561", "metadata": {}, "source": [ "Now we can run the frequency sweep. This is simply a loop where we set the frequency with QCoDeS and then run the program defined above. We measure the run time using the `%%time` Jupyter magic command." ] }, { "cell_type": "code", "execution_count": 16, "id": "ef17e74c", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:37.411087Z", "iopub.status.busy": "2023-12-06T17:12:37.410056Z", "iopub.status.idle": "2023-12-06T17:12:48.258629Z", "shell.execute_reply": "2023-12-06T17:12:48.257628Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: total: 297 ms\n", "Wall time: 10.8 s\n" ] } ], "source": [ "%%time\n", "data = []\n", "for nco_val in nco_sweep_range:\n", " # Set the frequency\n", " readout_module.sequencer0.nco_freq(nco_val)\n", "\n", " # Run the program\n", " readout_module.arm_sequencer(0)\n", " readout_module.start_sequencer()\n", "\n", " # Wait for the sequencer to stop with a timeout period of one minute.\n", " readout_module.get_acquisition_state(0, 1)\n", "\n", " # Move acquisition data from temporary memory to acquisition list.\n", " readout_module.store_scope_acquisition(0, \"acq\")\n", "\n", " # Get acquisition list from instrument.\n", " data.append(readout_module.get_acquisitions(0)[\"acq\"])\n", "\n", " # Clear acquisition data so we do not average the results from different frequencies\n", " readout_module.sequencer0.delete_acquisition_data(\"acq\")" ] }, { "cell_type": "markdown", "id": "ba5b7dd2", "metadata": {}, "source": [ "Plotting the acquired integration data, we can see the frequency behavior of the QRM." ] }, { "cell_type": "code", "execution_count": 17, "id": "45a20644", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:48.263134Z", "iopub.status.busy": "2023-12-06T17:12:48.263134Z", "iopub.status.idle": "2023-12-06T17:12:48.416352Z", "shell.execute_reply": "2023-12-06T17:12:48.414920Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "I_data = (\n", " np.asarray([d[\"acquisition\"][\"bins\"][\"integration\"][\"path0\"][0] for d in data])\n", " / MAXIMUM_SCOPE_ACQUISITION_LENGTH\n", ")\n", "Q_data = (\n", " np.asarray([d[\"acquisition\"][\"bins\"][\"integration\"][\"path1\"][0] for d in data])\n", " / MAXIMUM_SCOPE_ACQUISITION_LENGTH\n", ")\n", "plot_amplitude(nco_sweep_range, I_data, Q_data)" ] }, { "cell_type": "markdown", "id": "3a41ef52", "metadata": {}, "source": [ "We can see that the output amplitude decreases with frequency, this is expected due to the analog filters. We can also analyze the accumulated scope data with a spectrogram. This takes a few seconds, as there are 16384 data points per frequency step. Note that the time axis of the spectrogram refers to measurement time (16.4us * 200 steps $\\approx$ 3.3ms) and not the wall clock time, which is significantly longer." ] }, { "cell_type": "code", "execution_count": 18, "id": "8c77dddd", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:48.420981Z", "iopub.status.busy": "2023-12-06T17:12:48.420981Z", "iopub.status.idle": "2023-12-06T17:12:51.595167Z", "shell.execute_reply": "2023-12-06T17:12:51.593661Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_scope = (\n", " np.asarray([d[\"acquisition\"][\"scope\"][\"path0\"][\"data\"] for d in data]).flatten()\n", " + 1j * np.asarray([d[\"acquisition\"][\"scope\"][\"path1\"][\"data\"] for d in data]).flatten()\n", ")\n", "\n", "plot_spectrogram(data_scope)" ] }, { "cell_type": "markdown", "id": "0b31715e", "metadata": {}, "source": [ "### Spectroscopy using Q1ASM\n", "Now we will run the same spectroscopy experiment using Q1ASM to change the NCO frequency in real time. First, we set up the QRM for continuous wave output and binned acquisition with many bins. This is significantly faster than using QCoDeS. The maximum number of points that can be measured this way is 131072 per sequencer. This corresponds to the number of bins available for acquisition per seqeuncer.\n", "\n", "The sequencer program can fundamentally only support integer values. However, the NCO has a frequency resolution of 0.25 Hz and supports $10^9$ phase values. Therefore, frequencies in the sequencer program must be given as integer multiple of $1/4$ Hz, and phases as integer multiple of $360/10^9$ degree." ] }, { "cell_type": "code", "execution_count": 19, "id": "5629b43c", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:51.601748Z", "iopub.status.busy": "2023-12-06T17:12:51.600740Z", "iopub.status.idle": "2023-12-06T17:12:51.610514Z", "shell.execute_reply": "2023-12-06T17:12:51.609294Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "200 steps with step size 5.0 MHz\n" ] } ], "source": [ "n_steps = 200\n", "\n", "step_freq = (stop_freq - start_freq) / n_steps\n", "print(f\"{n_steps} steps with step size {step_freq/1e6} MHz\")\n", "\n", "# Convert frequencies to multiples of 0.25 Hz\n", "nco_int_start_freq = int(4 * start_freq)\n", "nco_int_step_freq = int(4 * step_freq)" ] }, { "cell_type": "code", "execution_count": 20, "id": "5872e644", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:51.613771Z", "iopub.status.busy": "2023-12-06T17:12:51.613771Z", "iopub.status.idle": "2023-12-06T17:12:51.625873Z", "shell.execute_reply": "2023-12-06T17:12:51.624732Z" } }, "outputs": [], "source": [ "acquisitions = {\"acq\": {\"num_bins\": n_steps, \"index\": 0}}\n", "\n", "setup = f\"\"\"\n", " move {n_averages}, R2\n", "\n", "avg_loop:\n", " move 0, R0 # frequency\n", " move 0, R1 # step counter\n", "\"\"\"\n", "\n", "# To get a negative starting frequency, we substract a positive number from 0\n", "if start_freq <= 0:\n", " setup += f\"\"\"\n", " sub R0, {-nco_int_start_freq}, R0\n", " \"\"\"\n", "else:\n", " setup += f\"\"\"\n", " add R0, {nco_int_start_freq}, R0\n", " \"\"\"\n", "\n", "spectroscopy = (\n", " setup\n", " + f\"\"\"\n", " reset_ph\n", " set_freq R0\n", " upd_param 200\n", "\n", "nco_set:\n", " set_freq R0 # Set the frequency\n", " add R0, {nco_int_step_freq}, R0 # Update the frequency register\n", " upd_param 200 # Wait for time of flight\n", " acquire 0, R1, {MAXIMUM_SCOPE_ACQUISITION_LENGTH}\n", " add R1, 1, R1\n", " nop\n", " jlt R1, {n_steps}, @nco_set # Loop over all frequencies\n", "\n", " loop R2, @avg_loop\n", "\n", " stop # Stop\n", "\"\"\"\n", ")\n", "\n", "# Add sequence to single dictionary and write to JSON file.\n", "sequence = {\n", " \"waveforms\": {},\n", " \"weights\": {},\n", " \"acquisitions\": acquisitions,\n", " \"program\": spectroscopy,\n", "}\n", "with open(\"sequence.json\", \"w\", encoding=\"utf-8\") as file:\n", " json.dump(sequence, file, indent=4)" ] }, { "cell_type": "markdown", "id": "788ccb95", "metadata": {}, "source": [ "Now we prepare the QRM for measurement." ] }, { "cell_type": "code", "execution_count": 21, "id": "c2b1dc0e", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:51.631095Z", "iopub.status.busy": "2023-12-06T17:12:51.630072Z", "iopub.status.idle": "2023-12-06T17:12:51.671744Z", "shell.execute_reply": "2023-12-06T17:12:51.670212Z" } }, "outputs": [], "source": [ "readout_module.sequencer0.sequence(\"sequence.json\")" ] }, { "cell_type": "code", "execution_count": 22, "id": "12505639", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:51.676036Z", "iopub.status.busy": "2023-12-06T17:12:51.674592Z", "iopub.status.idle": "2023-12-06T17:12:51.796373Z", "shell.execute_reply": "2023-12-06T17:12:51.795318Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status:\n", "Status: RUNNING, Flags: ACQ_SCOPE_DONE_PATH_0, ACQ_SCOPE_OVERWRITTEN_PATH_0, ACQ_SCOPE_DONE_PATH_1, ACQ_SCOPE_OVERWRITTEN_PATH_1, ACQ_BINNING_DONE\n", "CPU times: total: 46.9 ms\n", "Wall time: 113 ms\n" ] } ], "source": [ "%%time\n", "readout_module.arm_sequencer(0)\n", "readout_module.start_sequencer()\n", "\n", "print(\"Status:\")\n", "print(readout_module.get_sequencer_state(0))\n", "\n", "# Wait for the sequencer to stop with a timeout period of one minute.\n", "readout_module.get_acquisition_state(0, 1)\n", "\n", "data = readout_module.get_acquisitions(0)[\"acq\"]" ] }, { "cell_type": "markdown", "id": "8c75956c", "metadata": {}, "source": [ "Note that the same measurement as before is now two orders of magnitude faster. If we plot the integrated data, we get the same results as before." ] }, { "cell_type": "code", "execution_count": 23, "id": "da6ce0a8", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:51.801905Z", "iopub.status.busy": "2023-12-06T17:12:51.800908Z", "iopub.status.idle": "2023-12-06T17:12:51.935842Z", "shell.execute_reply": "2023-12-06T17:12:51.934783Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABh6ElEQVR4nO3deVhU9eIG8HdmYBh2UBSQRVBUXFAUldRcQ3ErLUvr5m6WZmVRalRqZaaZ2aaled1a1czcUtRwzUgURVEBRURQWQRkXwZmzu8PdK78XGL/zvJ+nmeem4czw8tchZdzvotMkiQJREREREZCLjoAERERUV1iuSEiIiKjwnJDRERERoXlhoiIiIwKyw0REREZFZYbIiIiMiosN0RERGRUzEQHaGharRY3btyAra0tZDKZ6DhERERUBZIkIT8/H82aNYNc/vBrMyZXbm7cuAEPDw/RMYiIiKgGUlJS4O7u/tBzTK7c2NraAqh4c+zs7ASnISIioqrIy8uDh4eH7uf4w5hcublzK8rOzo7lhoiIyMBUZUgJBxQTERGRUWG5ISIiIqPCckNERERGheWGiIiIjArLDRERERkVlhsiIiIyKiw3REREZFRYboiIiMiosNwQERGRUWG5ISIiIqPCckNERERGheWGiIiIjArLDREZFUmSUFBaLjoGEQnEckNERiMpsxBj1xxHh/l78davZ3CrUC06EhEJYCY6ABFRbV27VYSfjydjzV9XUFquBQBsibqGA3EZeLlfSzwd4A4HK6XglETUUGSSJEmiQzSkvLw82NvbIzc3F3Z2dqLjEFEtxKbm4bN98QiPy8Cd72SP+jhh7COeWLb/Ii6mFwAALMzkeKqLG2Y+1hou9iqBiYmopqrz85vlhogMTlZBKT4Ji8OvUdd0paaXT2OMe6Q5gtu7QCaTQV2uxeaTKfjpeDJiU/MAACpzOV54tAVeGeADlblC4FdARNXFcvMQLDdEhkuSJOw6m4r5O84j+/Z4mmF+rggZ1Botm9g88Dknr97CkrA4nEi6BQBo2cQay0b7o5OHQ0NFJ6JaYrl5CJYbIsNUpC5H6NYYbI++AQDwdbHFwif9ENDcsUrPlyQJe8+nY972c8jIL4VCLkPIwNaY3rcl5HJZfUYnojrAcvMQLDdEhudqViFe+iEKcWn5UMhleKW/D2b094HSrPoTPm8VqjFvx3nsPFNRkvq2boLPx/ijkTUHHBPps+r8/OZUcCLSa4fiM/D4138hLi0fTjZK/PxCIN4Y2LpGxQYAHK2V+Pq5zljydEdYmMlx+OJNjFjxFy6l59dxciISheWGiPSSJElYcTABk9afQF5JOfw9HLDr1d4IbNG4Tl5/dFcPbJvRC80bWyEluxhPffs3/rqUWSevTURisdwQkd4p02gxe8tZfLo3HpIEPNfdE5teeqTOp3G3dbXD7y/3QtfmjsgvKceEdZH4JTK5Tj8HETU8lhsi0itF6nJM/f4kfo26BrkM+GhkByx6yg8WZvUzdbuRtRI/TQ3ESP9m0GglhG6NwaLdsdBqTWo4IpFRYbkhIr2RV1KG8WsicSj+JlTmcnw3rivGPtK83j+vhZkCn4/xx+tBrQAAq44kYvZvZ6FhwSEySCw3RKQXcorUGPff4zh59RbsVGb46YVHENTOucE+v0wmw+tBrfHZM52gkMuwJeoaZm48jTKNtsEyEFHdYLkhIuGyCkrx3OrjOHMtF45W5vh56iNVXr+mro0KcMfy5zrDXCHDrrOpmPHTKZSWa4RkIaKaYbkhIqEy8kow5rt/EJuaBycbC2x6qQc6uNkLzTTEzxWrxgVAaSbHvgvpePH7KJSUseAQGQqWGyIS5npOMUavikBCRgFc7VXY/NIjaO1sKzoWAGCArzPWTewGS3MFDl+8icnrT7DgEBkIlhsiEiI5qwijV0YgKasI7o6W2PxSD7R4wP5QovTyccL3U7rDWqnA35ez8NIPUbxFRWQAWG6IqMElZxVh9KoIXM8phreTNTa/1AMejaxEx7qvbl6NsG5Sd90VnBk/nYK6nIOMifQZyw0RNaiMvBKMXXMcaXklaNXUBptefATNHCxFx3qo7t6NsGZCV1iYyfFnbAZmbjyNcs6iItJbLDdE1GByi8owfm0kkrOL0LyxFX6aGoimdnW76nB96enjVDHIWCHHnnNpePPXM1wHh0hPsdwQUYMoVmswecMJxKXlo4mtBX6YHIimtoZRbO7o16YpVjzfBWZyGbZH38C87ecgSSw4RPqG5YaI6l2ZRovpP0Uh6vYCfd9P7g7Pxvo5xubfDGznjC+f7QyZDPjpeDK++POS6EhE9P+w3BBRvdJqJcz69YxuS4W1E7uhraud6Fi1MqyjKz4c0QEA8GX4Jfzwz1XBiYjobiw3RFSvlu6Lx7boGzCTy/Dt8wHo6tVIdKQ6Me6R5pj5WMVeVPO2n8MfZ1MFJyKiO1huiKje/HT8Kr45dBkAsOgpP/T3bSo4Ud16PagVng/0hCQBb2yKxt8JmaIjERFYboionoTHpmPutnMAKkrAM109BCeqezKZDB+O6IChfi5Qa7R46YcoXEzPFx2LyOSx3BBRnTuTkoNXfj4NrQSM7uquu31jjBRyGT4f44/u3o2QX1qOyetPILOgVHQsIpPGckNEdSoluwhTNpxAcZkGfVo3wcIn/SCTyUTHqlcWZgqsGhuA5o2tcO1WMV78/iT3oSISiOWGiOpMkbocL/4QhcwCNdq52uGb57vAXGEa32YcrZVYO7Eb7FRmOJWcg9lbznINHCJB9OK7zooVK+Dl5QWVSoXAwEBERkY+8Nx+/fpBJpPd8xg2bFgDJiai/0+SJMzechaxqXlwslHivxO6wsbCTHSsBtWyiQ1Wjg2AmVyGHWdu4MtwroFDJILwcrNp0yaEhIRg/vz5OHXqFDp16oTg4GBkZGTc9/ytW7ciNTVV9zh37hwUCgWeeeaZBk5ORHf79vBl7DqbWjHle2yA3u8XVV96+jjho5EVa+B88ecl7Dp7Q3AiItMjvNwsW7YMU6dOxaRJk9CuXTusXLkSVlZWWLt27X3Pb9SoEVxcXHSP/fv3w8rKiuWGSKCDcRn4dG88AOD9J9qjm5GsZVNTz3b3xNTe3gCA2VvOIj6NM6iIGpLQcqNWqxEVFYWgoCDdMblcjqCgIERERFTpNdasWYNnn30W1tbW9/14aWkp8vLyKj2IqO4k3izAaxtPQ5KA57p7YuwjzUVH0gtzBvviUR8nFKk1eOmHk8gtLhMdichkCC03mZmZ0Gg0cHZ2rnTc2dkZaWlp//r8yMhInDt3Di+88MIDz1m0aBHs7e11Dw8P41trg0iU/JIyvPhDFPJLytG1uSM+eKK96Eh6w0whx9fPdYabgyWSsorw+sbT0HIXcaIGIfy2VG2sWbMGfn5+6N69+wPPCQ0NRW5uru6RkpLSgAmJjJdWK+GNTdFIyCiAi50K34ztAqWZQX9LqXOO1kqsGhcACzM5DsbfxBccYEzUIIR+J3JycoJCoUB6enql4+np6XBxcXnocwsLC7Fx40ZMmTLloedZWFjAzs6u0oOIau+LPy/iz9gMKM3kWDUuAE1tVaIj6aUObvZY9JQfAOCr8EvYfyH9X55BRLUltNwolUoEBAQgPDxcd0yr1SI8PBw9evR46HN//fVXlJaWYuzYsfUdk4j+nwNx6fjqQAIAYNGTfujk4SA2kJ57qos7JvSoGIsUsikayVlFghMRGTfh15BDQkKwevVqbNiwAbGxsZg+fToKCwsxadIkAMD48eMRGhp6z/PWrFmDkSNHonHjxg0dmcik3cgpRsjmMwCACT2aY1SAu+BEhuG94e0Q0NwR+aXlmPHzKZSWcwVjovoifIWtMWPG4ObNm5g3bx7S0tLg7++PsLAw3SDj5ORkyOWVO1h8fDz++usv7Nu3T0RkIpNVptHi1V9OI6eoDH5u9nhnWFvRkQyGuUKO5f/pjKFfHkXM9Vws/CMWH47oIDoWkVGSSSa2PnheXh7s7e2Rm5vL8TdE1bR4TxxWHr4MWwsz7HrtUTRvfP8lGOjBDsZnYNK6EwCA5f/pjOEdmwlORGQYqvPzW/htKSIyDAfjM7Dy8GUAwCdPd2SxqaH+bZri5X4tAQBv/xaDK5mFghMRGR+WGyL6V6m5xQjZFA0AGN+jOYb6uYoNZOBCBrZGd+9GKCgtx4yfTnEHcaI6xnJDRA9VrtHitV9O41ZRGdo3s8M7QznOprbuLPDX2FqJC6l5WPhHrOhIREaF5YaIHurzPy/iRNIt2FiYYcV/ukBlrhAdySg426nw+Rh/AMAP/1zFvvP/vio7EVUNyw0RPdDhizex4mDFOJvFo/zg5cRxNnWpT+smeLFPCwDA7N/OIi23RHAiIuPAckNE93Uzv1Q3zub5QE/O6qknbw1qgw5udsgpKkPI5mhouP8UUa2x3BDRPSRJwpzfziKrUA1fF1vMHd5OdCSjpTST46tnO8NKqcDfl7Ow6shl0ZGIDB7LDRHd4+fIZByIy4BSIccXz/pznE09a9HEBu/f3lF92b6LiE7JERuIyMCx3BBRJZdvFmDBrgsAgNmD28DXhYtdNoRnAtwxvKMryrUSZm48jcLSctGRiAwWyw0R6ZRptHhjUzRKyrTo5dMYk3t5i45kMmQyGRY+6Qc3B0tczSrCR5weTlRjLDdEpPNV+CWcvZYLe0tzLH2mE+RymehIJuXO+y6TAb9EJuNAXLroSEQGieWGiAAAUVezseJgAgDg4yf94GpvKTiRaerRsjGm3L5iNntLDLIL1YITERkelhsiQpG6HG9uPgOtBDzV2Q3DOnJ7BZHeCm6DVk1tkFlQind/j4GJ7W9MVGssN0SEJWHxSMoqgoudCvNvz9ohcVTmCnw+xh9mchn2nEvDtujroiMRGRSWGyIT9/flTKz/OwlAxW7f9pbmYgMRAKCDmz1eD2oFAJi3/Txu5BQLTkRkOFhuiExYQWk5Zm85CwB4rrsn+rZuIjgR3W1a35bo7OmA/JJyzNpyBlquXkxUJSw3RCZs4R+xuHarGO6Olnh3GHf71jdmCjmWjfaHpbkCxxKysCEiSXQkIoPAckNkog5fvIlfIpMBAJ8+3Qk2FmaCE9H9eDtZ453bxXPxnjgkZOQLTkSk/1huiExQTpEac27fjprY0ws9WjYWnIgeZmygJ/q0boLSci3e2HQGZRqt6EhEeo3lhsjESJKEd36PQVpeCbydrDFnsK/oSPQvZDIZPr092Dvmei6WH0gQHYlIr7HcEJmYLVHXsDsmDWZyGb581h+WSm6KaQic7VT4aGQHAMDygwncXJPoIVhuiExISnYR3t9xHgDwxsDW6OjuIDYQVcvjnZrh8U7NoNFKCNkUjZIyjehIRHqJ5YbIREiShLnbz6FQrUE3L0dM69tSdCSqgQUj2sPZzgKJmYW8PUX0ACw3RCZid0waDsXfhFIhx6KnOkLBTTENkoOVEh88UXF7auXhy4hP4+wpov+P5YbIBOSVlOGDnRW3o6b1awmfpjaCE1FtDO7ggkHtnFGulfD21rPQcHE/okpYbohMwGd745GRXwpvJ2u83I+3o4zBByPaw8bCDKeTc/DT8aui4xDpFZYbIiMXnZKD7/+p+OG3cGQHqMw5O8oYuNpbYvbgNgAqNj5NzeXeU0R3sNwQGbFyjRbvbI2BJAFPdnZDTx8n0ZGoDj0f2BydPR1QUFqO+dvPi45DpDdYboiM2Pq/k3AhNQ/2lubcO8oIKeQyLHrKD2ZyGfZdSEfYuTTRkYj0AssNkZFKyizEZ/suAgBCh/jCycZCcCKqD74udnipbwsAwPwd55BXUiY4EZF4LDdERkijlfDWr2dQXKZBL5/GGN3VQ3QkqkevDmgFr8ZWSM8rxadh8aLjEAnHckNkhNYdu4KTV2/BWqnAJ6M6Qs41bYyaylyBj5/0AwD8ePwqoq5mC05EJBbLDZGRuZJZiE/3Vvz2/t7wdnB3tBKciBpCTx8nPB3gDkkCQrfGQF3OncPJdLHcEBkRSZLw7u8xKC3X4lEfJzzbjbejTMm7Q9uikbUSF9ML8N2Ry6LjEAnDckNkRH47dR1/X86ChZkcC5/sAJmMt6NMiaO1EvOGtwMAfHUgAYk3CwQnIhKD5YbISGQVlOKjPy4AAF4Pao3mja0FJyIRRvg3Q+9WTlCXa/HO7zGQJG7NQKaH5YbISHwSFoecojL4utjihd7eouOQIDKZDAtH+kFlLsc/idn4Neqa6EhEDY7lhsgIRF3NxuaTFT/EFj7pB3MF/2mbMs/GVngjqDUAYOEfscgsKBWciKhh8TsgkYEr12gxd1vF0vuju7ojoLmj4ESkD6Y86o12rnbILS7Dgl0XRMchalDCy82KFSvg5eUFlUqFwMBAREZGPvT8nJwczJgxA66urrCwsEDr1q2xe/fuBkpLpH9+Op6MC6l5sFOZYc5gX9FxSE+YKeRY9JQf5DJge/QNHL54U3QkogYjtNxs2rQJISEhmD9/Pk6dOoVOnTohODgYGRkZ9z1frVZj4MCBSEpKwpYtWxAfH4/Vq1fDzc2tgZMT6Yeb+aVYuq9iTZtZg33RmFss0F06eThgQk8vAMAHO85z7RsyGULLzbJlyzB16lRMmjQJ7dq1w8qVK2FlZYW1a9fe9/y1a9ciOzsb27ZtQ69eveDl5YW+ffuiU6dOD/wcpaWlyMvLq/QgMhaL9sQiv6Qcfm72+E93T9FxSA+9MbA1nGyUSMwsxLpjV0THIWoQwsqNWq1GVFQUgoKC/hdGLkdQUBAiIiLu+5wdO3agR48emDFjBpydndGhQwd8/PHH0Gg0D/w8ixYtgr29ve7h4cFFzcg4RF7JxtZT1yGTAQtGdoCCWyzQfdipzDH79u3Kr8IvIT2vRHAiovonrNxkZmZCo9HA2dm50nFnZ2ekpaXd9zmJiYnYsmULNBoNdu/ejblz5+Kzzz7DRx999MDPExoaitzcXN0jJSWlTr8OIhHKNVrM234OAPBsNw/4eziIDUR67eku7vD3cEChWoPFe+JExyGqd8IHFFeHVqtF06ZN8d133yEgIABjxozBu+++i5UrVz7wORYWFrCzs6v0IDJ0GyKuIi4tHw5W5pgVzEHE9HByuQwfPNEeMhnw++nrOJnEjTXJuAkrN05OTlAoFEhPT690PD09HS4uLvd9jqurK1q3bg2FQqE71rZtW6SlpUGtVtdrXiJ9kZFXgs/3XwQAzBnsi0bWSsGJyBB08nDA6ICK2/Lztp+HRsuVi8l4CSs3SqUSAQEBCA8P1x3TarUIDw9Hjx497vucXr16ISEhAVrt/0b8X7x4Ea6urlAq+Q2eTMPC3bEoKC1HJw8HjOnKMWRUdbMGt4GtygwXUvPwS2Sy6DhE9UbobamQkBCsXr0aGzZsQGxsLKZPn47CwkJMmjQJADB+/HiEhobqzp8+fTqys7Mxc+ZMXLx4EX/88Qc+/vhjzJgxQ9SXQNSgIq9kY3v0jYpBxCPaQ85BxFQNTjYWCBlYsXLx0n3xuFXIK95knMxEfvIxY8bg5s2bmDdvHtLS0uDv74+wsDDdIOPk5GTI5f/rXx4eHti7dy/eeOMNdOzYEW5ubpg5cybmzJkj6ksgajAarYQPdlasRPxsN090dHcQG4gM0rhHmmNjZAri0/Px2f54fDTST3Qkojonk0xsy9i8vDzY29sjNzeXg4vJoGyMTMbbW2NgqzLDobf6ccE+qrGIy1l4bvU/kMuAna8+ivbN7EVHIvpX1fn5bVCzpYhMVV5JmW4l4pmPtWKxoVrp0bIxhnV0hVYC3t9xHib2Oy6ZAJYbIgOw/EACMgvUaOFkjfE9vETHISPwztC2UJnLcSLpFnaeTRUdh6hOsdwQ6bkrdy2bP3d4OyjN+M+Was/NwRLT+/oAAD7ZE4eSsgev9E5kaPhdkkjPLfzjAso0Evq1aYL+vk1FxyEj8mKfFnC1V+F6TjH+ezRRdByiOsNyQ6THjly8iT9jM2Aml+G9Ye1ExyEjY6lUYM7tfae+OXQZGdx3iowEyw2RnirXaLFg1wUAwPgeXvBpaiM4ERmjJzo1g7+HA4rUGny6N150HKI6wXJDpKc2nUzBpYwCOFiZY+ZjrUTHISMll8sw7/GKq4JbTl3Dueu5ghMR1R7LDZEeyi8pw7J9FftHzXysFeytzAUnImPWxdMRT3RqBkkCPtx1gVPDyeCx3BDpoW8PXUZWYcXU77GPNBcdh0zAnCG+sDCTI/JKNvaeTxMdh6hWWG6I9My1W0X4718VU7/fHuILcwX/mVL9c3OwxIt9WgAAPt4dh9JyTg0nw8XvmkR65tO98VCXa/FIi0YY2M5ZdBwyIdP6tkRTWwskZxdh/bEk0XGIaozlhkiPRKfk6Hb9fm9YO8hk3PWbGo61hRlmBbcBAHx9IAGZBaWCExHVDMsNkZ6QJAkf3Z76/VRnd3Rw42aG1PBGdXFHBzc7FJSWY9n+i6LjENUIyw2RnthzLg0nr96Cylyu++2ZqKHJ5TLMG94eQMVO9PFp+YITEVUfyw2RHigt12DxnjgAwIt9WsLFXiU4EZmy7t6NMLi9C7QSsHB3rOg4RNXGckOkB77/+yqSs4vQxNYCL92esUIkUsVMPRmOXLyJwxdvio5DVC0sN0SC3SpU4+sDlwAAswa1gbWFmeBERICXkzXGPeIFAPj4j1hotFzYjwwHyw2RYF+GX0JeSTl8XWwxKsBddBwindce84G9pTni0/Ox+WSK6DhEVcZyQyRQ4s0C/PjPVQAVU78Vck79Jv3hYKXEqwN8AACf7buIgtJywYmIqoblhkigRXviUK6VMMC3KR5t5SQ6DtE9xvfwQvPGVsgsKMV3hy+LjkNUJSw3RIJEXM7C/gvpUMhleGeor+g4RPelNJPj7cEVfz+/O5qI1NxiwYmI/h3LDZEAGq2Ej/6oWLDvP9094dPUVnAiogcb3MEF3bwcUVKmxdK9XNiP9B/LDZEAW09dw/kbebC1MMPrQa1ExyF6KJlMhneHtQMAbD19Deeu5wpORPRwLDdEDaywtByf7o0HALz6mA8a21gITkT07/w9HPBEp2aQJGDhH7GQJE4NJ/3FckPUwFYdvoyM/FJ4NrLChJ5eouMQVdnswW2gNJMjIjEL4bEZouMQPRDLDVEDupFTjO+OJgIAQof4wsJMITgRUdW5O1phci9vAMDHe2JRptEKTkR0fyw3RA3o073xKCnTortXIwzu4CI6DlG1vdy/JRpZK5F4sxC/RCaLjkN0Xyw3RA3kTEoOfj99HQDw3vC2kMm4YB8ZHjuVOd64PQj+iz8vIa+kTHAionux3BA1AEmSsGBXxdTvp7q4oaO7g9hARLXwXHdPtGxijexCNVYcTBAdh+geLDdEDWB3TBpOXr0Flbkcs4LbiI5DVCtmCjneGdoWALDurySkZBcJTkRUGcsNUT0rKdNgcVgsAOClPi3ham8pOBFR7Q3wbYqeLRtDrdFiye2lDYj0hVlVTtqxY0e1X3jgwIGwtOQ3caL1fychJbsYznYWeKlvC9FxiOpExcJ+bTH867+w88wNTO7lhc6ejqJjEQGoYrkZOXJktV5UJpPh0qVLaNGC38jJtGUWlGLFgYoxCbOCfWGlrNI/OSKD0L6ZPUZ1cceWqGv46I9YbJnWgwPlSS9U+bZUWloatFptlR5WVlb1mZnIYHy+/yLyS8vRwc0OT3V2Ex2HqM69NagNLM0ViLp6C3vOpYmOQwSgiuVmwoQJ1brFNHbsWNjZ2dU4FJExiE/L160DMndYO8jl/I2WjI+LvQpT+1RcpV+8Jw6l5RrBiYiqWG7WrVsHW9uq71r87bffwsnJqcahiIzBwt2x0ErA4PYuCGzRWHQconrzUp8WaGJrgeTsIvwQcVV0HKKq35Z6+umnERYWxs3SiKrgYHwGjly8CXOFDG8P8RUdh6heWVuY4a1BrQEAX4Vfwq1CteBEZOqqXG5u3bqFYcOGwdPTE/PmzUNiYmJ95iIyWOUaLRb+UTH1e2JPL3g5WQtORFT/ng7wgK+LLfJKyvHVgUui45CJq3K5CQ8PR2JiIqZMmYIff/wRrVq1woABA/Dzzz+jtLS0ViFWrFgBLy8vqFQqBAYGIjIy8oHnrl+/HjKZrNJDpVLV6vMT1aVfIpORkFEARytzvDKgleg4RA1CIa+YGg4AP0RcxZXMQsGJyJRVaxG/5s2b4/3330diYiL279+PZs2aYerUqXB1dcWMGTMQFRVV7QCbNm1CSEgI5s+fj1OnTqFTp04IDg5GRkbGA59jZ2eH1NRU3ePqVd7jJf2QW1yGz/+s+K31jYGtYW9pLjgRUcPp3aoJ+rVpgnKthMV7YkXHIRNW4xWKBwwYgB9//BFpaWlYtGgRNm7ciMDAwGq/zrJlyzB16lRMmjQJ7dq1w8qVK2FlZYW1a9c+8DkymQwuLi66h7Ozc02/DKI6teJgArIL1fBpaoP/dPcUHYeowb0ztC3kMmDv+XQcT8wSHYdMVK22X7hy5QqWLl2Kjz/+GLm5uQgKCqrW89VqNaKioio9Ty6XIygoCBEREQ98XkFBAZo3bw4PDw+MGDEC58+ff+C5paWlyMvLq/Qgqg9Xswqx7tgVAMC7Q9vCTMHdTcj0tHa2xbO3i/3C3bHQajkJhRpetb/7lpSU4Mcff8SAAQPQqlUrfP/995gyZQquXLmCsLCwar1WZmYmNBrNPVdenJ2dkZZ2/8Wg2rRpg7Vr12L79u348ccfodVq0bNnT1y7du2+5y9atAj29va6h4eHR7UyElXV4j1xKNNI6N3KCf3aNBEdh0iYN4Jaw8bCDGev5WJb9HXRccgEVbncREZGYtq0aXB1dcXUqVPh4uKCsLAwJCYmYt68eQ1WGnr06IHx48fD398fffv2xdatW9GkSROsWrXqvueHhoYiNzdX90hJSWmQnGRajidmYc+5NMhlwHvD2nEJejJpTWwt8MoAHwDAJ2FxKFKXC05EpqbKG9088sgj6NSpExYsWIDnn38ejo613yDNyckJCoUC6enplY6np6fDxcWlSq9hbm6Ozp07IyEh4b4ft7CwgIWFRa2zEj2IVivho9tTv5/t7ok2LlVf8JLIWE3q5YWfjycjObsIKw8nImRga9GRyIRU+crNyZMncfr0abzyyit1UmwAQKlUIiAgAOHh4bpjWq0W4eHh6NGjR5VeQ6PRICYmBq6urnWSiai6fj99HTHXc2FjYcZv4ES3WZgp8M7QigUsVx2+jOs5xYITkSmpUrk5e/Ys/P39q/yi58+fR3l51S5DhoSEYPXq1diwYQNiY2Mxffp0FBYWYtKkSQCA8ePHIzQ0VHf+hx9+iH379iExMRGnTp3C2LFjcfXqVbzwwgtVzkdUV4rU5ViyNw4AMKO/D5xseJWQ6I7g9i4I9G6E0nItloTFiY5DJqRK5aZz587Iyqr6lL4ePXogOTm5SueOGTMGS5cuxbx58+Dv74/o6GiEhYXpBhknJycjNTVVd/6tW7cwdepUtG3bFkOHDkVeXh7+/vtvtGvXrsr5iOrKd0cSkZ5XCndHS0zq5SU6DpFekclkmDu8HWQyYHv0DURdvSU6EpkImVSFzaLkcjlefPFFWFlZVelFv/nmG1y4cAEtWrSodcC6lpeXB3t7e+Tm5nLncqqVtNwS9F96CMVlGqz4TxcM68hbo0T3M3vLGWw+eQ3+Hg7YOr0n5HIOuKfqq87P7yoNKO7Tpw/i4+OrHKBHjx6wtLSs8vlEhujTvfEoLtOga3NHDPWr2gB4IlP01qA2+ONsKqJTcrDjzA2M7OwmOhIZuSqVm0OHDtVzDCLDEnMtF7+dqlhbqeKyO38TJXqQpnYqvNzfB5/ujcfiPXEY1N4ZVsoqT9YlqjYuoUpUTZIkYcGuCwCAJzu7oZOHg9hARAZgyqPecHOwRFpeCb47kig6Dhk5lhuiatp7Pg2RSdlQmcsxK7iN6DhEBkFlrsA7Qyt2DV95+DJSczk1nOoPyw1RNZSWa/Dx7ooprS/2boFmDhxbRlRVQ/1c0M3LESVlWiwJq/o4TqLqYrkhqobv/76K5OwiNLW1wEt9W4qOQ2RQZDIZ5g1vD5msYvHL08mcGk71g+WGqIqyCkrx1YFLAIC3gtvA2oIDIomqy8/dHqO6uAMAPtx1AVVYjYSo2mr03fnSpUs4ePAgMjIyoNVqK31s3rx5dRKMSN98GX4J+SXlaN/MDk/f/uZMRNU3K7gNdsek4nRyxdTwEf6cGk51q9rlZvXq1Zg+fTqcnJzg4uJSaQqsTCZjuSGjlJBRgJ+OV6y6/d6wdlyEjKgWnO1UmN63JT7bfxGf7IlDcHsXqMwVomOREal2ufnoo4+wcOFCzJkzpz7yEOmlT8LioNFKCGrrjB4tG4uOQ2TwpvZpgV8ik3EjtwQb/k7iGDaqU9Uec3Pr1i0888wz9ZGFSC+dSMrG/gvpUMhleHuIr+g4REZBZa5AyKCKpRSWH0zArUK14ERkTKpdbp555hns27evPrIQ6R1JkvDx7lgAwOiuHvBpaiM4EZHxeLKzG3xdbJFfUo4VBxNExyEjUu3bUj4+Ppg7dy7++ecf+Pn5wdzcvNLHX3vttToLRyRa2Lk0nE7OgaW5Am8EtRIdh8ioKOQyhA5tiwlrI/F9xFVM6OkFj0ZV26CZ6GGqtCv43by9vR/8YjIZEhP1e1lt7gpOVVWm0WLgssNIyirCa4+1QsjA1qIjERkdSZIwds1xHEvIwkj/Zvji2c6iI5GeqvNdwe925cqVGgcjMiS/RCYjKasITjZKvNinheg4REZJJpMhdEhbDP/6L2yLvoEXerdABzd70bHIwNVqET9JkrgAExml/JIyfPlnxYJ9M4Naw4YL9hHVmw5u9hjp3wwAsGhPLH+uUK3VqNx8//338PPzg6WlJSwtLdGxY0f88MMPdZ2NSJiVhy8jq1CNFk7WeLabh+g4REbvzUFtoFTIcSwhC4fib4qOQwau2uVm2bJlmD59OoYOHYrNmzdj8+bNGDx4MKZNm4bPP/+8PjISNajLNwuw+kjF7dfZg31hruAuJUT1zaORFSb28gIAzNtxDsVqjdhAZNBqNKD4gw8+wPjx4ysd37BhA95//329H5PDAcX0MHcPbuzXpgnWTexWaRVuIqo/BaXlGLTsMG7kluClvi0QOqSt6EikR6rz87vav5KmpqaiZ8+e9xzv2bMnUlNTq/tyRHplx5kbOJaQBQszOT54oj2LDVEDsrEww4cjOgAA/nv0Cs7fyBWciAxVtcuNj48PNm/efM/xTZs2oVUrrgNChqukTKNbsG9Gfx80b2wtOBGR6Qlq54xhfq7QaCW8v+M8BxdTjVR7CsgHH3yAMWPG4MiRI+jVqxcA4NixYwgPD79v6SEyFD8dT0Z6XincHCzxUl9O/SYSZe7wdtgfm44TSbcQcTkLPX2cREciA1PtKzejRo3C8ePH4eTkhG3btmHbtm1wcnJCZGQknnzyyfrISFTvitUafHvoMgDglQE+sDDjDsVEorjYq/Dc7VmKX4RfEpyGDFGNFu8ICAjAjz/+WNdZiIT56fhVZBaUwt3REk8HuIuOQ2TypvVriV8iUxB5JRsRl7PQo2Vj0ZHIgFTpyk1eXl6l/37Yg8jQFKnLsfJwxVWbVwf4cOo3kR5wtbfEmNtXb74Mvyg4DRmaKn0Xd3R0REZGBgDAwcEBjo6O9zzuHCcyNGv/uoLMAjU8G1nhqS68akOkL6b3awmlQo5/ErNx9BIX9qOqq9JtqQMHDqBRo0YAgIMHD9ZrIKKGdKtQjVWHKzZ7fXNQa161IdIjzRwsMa5Hc6z56woW74lDr5ZOkMu5PAP9uyqVm759++r+29vbGx4eHves/yFJElJSUuo2HVE9++ZQAvJLy9HW1Q6Pd2wmOg4R/T8z+vtg84kUnL+Rh51nb2CEv5voSGQAqv1rqre3N27evPfyYHZ2Nry9veskFFFDuJ5TjA0RVwEAswe34W+ERHqokbUS0/q1BAAs3RcPdblWcCIyBNUuN5Ik3XfV1oKCAqhUqjoJRdQQvth/EepyLQK9G6Ff6yai4xDRA0zq5YWmthZIyS7Gz8evio5DBqDKU8FDQkIAADKZDHPnzoWVlZXuYxqNBsePH4e/v3+dBySqD5fS8/HbqWsAgDlDfLnNApEes1Ka4fWg1njn9xh8dSABowLcYasyFx2L9FiVy83p06cBVFy5iYmJgVKp1H1MqVSiU6dOeOutt+o+IVE9+HRvPLQSMKidM7p4cpYfkb4b3dUd/z2aiMTMQqw+egUhA1uLjkR6rMrl5s4sqUmTJuHLL7/kjtpksKKu3sK+C+mQyyrG2hCR/jNTyDF7cBtM+/EU/ns0EWMf8URTWw6FoPur9pibdevWsdiQwZIkCZ+ExQEAng5wh09TW8GJiKiqgtu7wN/DAUVqDb4OTxAdh/RYjbZfOHnyJDZv3ozk5GSo1epKH9u6dWudBCOqD4fibyLySjaUZnK8HsTL2kSGRCaT4e0hvnj2u3/wS2QyJj/qDW8na9GxSA9V+8rNxo0b0bNnT8TGxuL3339HWVkZzp8/jwMHDsDe3r4+MhLVCa32f1dtJvb0QjMHS8GJiKi6HmnRGAN8m6JcK2HpvnjRcUhPVbvcfPzxx/j888+xc+dOKJVKfPnll4iLi8Po0aPh6elZHxmJ6sSOMzcQl5YPWwszTO/bUnQcIqqh2YPbQCYD/jibijMpOaLjkB6qdrm5fPkyhg0bBqBillRhYSFkMhneeOMNfPfdd3UekKguqMu1+Gx/xW950/q1hKO18l+eQUT6ytfFDk91rtgHbvGeOEiSJDgR6ZtqlxtHR0fk5+cDANzc3HDu3DkAQE5ODoqKiuo2HVEd+fn4VaRkF6OJrQUm9fISHYeIailkUGsozeSISMzCkUuZouOQnql2uenTpw/2798PAHjmmWcwc+ZMTJ06Fc899xwee+yxGoVYsWIFvLy8oFKpEBgYiMjIyCo9b+PGjZDJZBg5cmSNPi+ZhoLScnx9oGJmxczHWsFKWaNx9ESkR9wcLDGhR3MAFVdvtFpevaH/qXa5Wb58OZ599lkAwLvvvouQkBCkp6dj1KhRWLNmTbUDbNq0CSEhIZg/fz5OnTqFTp06ITg4GBkZGQ99XlJSEt566y307t272p+TTMuao1eQVaiGV2MrjOnmIToOEdWRl/v5wFZlhtjUPOw4c0N0HNIjMqkaNyvLy8vx888/Izg4GM7OznUSIDAwEN26dcPy5csBAFqtFh4eHnj11Vfx9ttv3/c5Go0Gffr0weTJk3H06FHk5ORg27Zt9z23tLQUpaWluj/n5eXBw8MDubm5XK/HBGQVlKLPkoMoVGvw9XOd8Xgn7vxNZEy+OZSAJWHxcHe0RPibfWFhphAdiepJXl4e7O3tq/Tzu1pXbszMzDBt2jSUlJTUKuAdarUaUVFRCAoK+l8guRxBQUGIiIh44PM+/PBDNG3aFFOmTPnXz7Fo0SLY29vrHh4e/M3dlCw/mIBCtQYd3OwwzM9VdBwiqmOTenrD2c4C124V46d/kkXHIT1R7dtS3bt3R3R0dJ188szMTGg0mnuuAjk7OyMtLe2+z/nrr7+wZs0arF69ukqfIzQ0FLm5ubpHSkpKrXOTYUjJLtJ9s5sz2BdyOTfHJDI2lkoF3ri9IOfXBy4hr6RMcCLSB9UeWfnyyy8jJCQEKSkpCAgIgLV15dUhO3bsWGfh/r/8/HyMGzcOq1evhpOTU5WeY2FhAQsLi3rLRPrr8z8vQq3RopdPY/Ru1UR0HCKqJ08HuGP10URcvlmI1UcS8eYg7hln6qpdbu4MJn7ttdd0x2QyGSRJgkwmg0ajqfJrOTk5QaFQID09vdLx9PR0uLi43HP+5cuXkZSUhMcff1x3TKvVAqi4ZRYfH4+WLbk4GwFxaXn4/fR1AMDsYF/BaYioPlVsqumLl36Iwn+PXsG4R5qjqR031TRl1S43V65cqbNPrlQqERAQgPDwcN10bq1Wi/DwcLzyyiv3nO/r64uYmJhKx9577z3k5+fjyy+/5Hga0vk0LB6SBAz1c0EnDwfRcYiong1q54wung44lZyDL8MvYeGTfqIjkUDVLjfNmzev0wAhISGYMGECunbtiu7du+OLL75AYWEhJk2aBAAYP3483NzcsGjRIqhUKnTo0KHS8x0cHADgnuNkuk4kZSM8LgMKuQxv8fI0kUmo2FSzLUavisDGEymY8qg3WjSxER2LBKl2udmxY8d9j8tkMqhUKvj4+MDb27vKrzdmzBjcvHkT8+bNQ1paGvz9/REWFqYbZJycnAy5vNrjnslESZKET/ZUbI45uqsHv7kRmZDu3o0Q1LYp/ozNwNJ98fjm+QDRkUiQaq1zA1RM1b4zxqbSC9017ubRRx/Ftm3b4OjoWKdh60J15smT4fnzQjpe+P4kLMzkODyrP1zsed+dyJTEp+VjyJdHoJWA31/uic6e+vdziGqm3ta5AYD9+/ejW7du2L9/v2569f79+xEYGIhdu3bhyJEjyMrKwltvvVXjL4CoJjRaCUv2Vly1mdTLm8WGyAS1cbHFqC7cVNPUVfu21MyZM/Hdd9+hZ8+eumOPPfYYVCoVXnzxRZw/fx5ffPEFJk+eXKdBif7Nb1HXcDG9APaW5pjel7PmiEzVGwNbY/uZGzh+JRuHLt5E/zZNRUeiBlbtKzeXL1++7+UgOzs7JCYmAgBatWqFzEzu0koNp1itwWf74wEArw7wgb2VueBERCRKMwdLTOrpBQD4ZE8cNNxU0+RUu9wEBARg1qxZuHnzpu7YzZs3MXv2bHTr1g0AcOnSJU7Lpga19tgVpOeVwt3REuN61O2MPiIyPNP7tYSdygxxafnYHn1ddBxqYNUuN2vWrMGVK1fg7u4OHx8f+Pj4wN3dHUlJSfjvf/8LACgoKMB7771X52GJ7ieroBTfHroMAHhrUBtunEdEcLBSYno/HwDAZ/suoqSs6gvMkuGr9pibNm3a4MKFC9i3bx8uXryoOzZw4EDdlO07C/IRNYSvDySgoLQc7ZvZ4Qnu+k1Et03q5YUNfyfhek4xfvznKl7o3UJ0JGog1Z4KfreSkhJYWFhAJjOcDQk5Fdy4XM0qRNCywyjTSPjphUD08qnanmNEZBo2nUjGnN9i4GBljiOz+8NOxfF4hqpep4JrtVosWLAAbm5usLGx0W3HMHfuXKxZs6ZmiYlq6NO98SjTSOjbugmLDRHdY1QXd/g0tUFOURlWHb4sOg41kGqXm48++gjr16/HkiVLoFQqdcc7dOigG3ND1BCiU3Kw62wqZDLg7SHcHJOI7mWmkGN2cMU2LGv+uoL0vBLBiaghVLvcfP/99/juu+/w/PPPQ6H438DNTp06IS4urk7DET2IJElYtDsWAPBUZ3e0deUtRiK6v4HtnBHQ3BElZVp88ecl0XGoAVS73Fy/fh0+Pj73HNdqtSgrK6uTUET/5kBcBo5fyYbSTI43B7UWHYeI9FjFppoVV3c3n0xBQkaB4ERU36pdbtq1a4ejR4/ec3zLli3o3LlznYQiephyjRaLb2+OObmXN5o5WApORET6rptXIwS1dYZGK2Hp3njRcaieVXsq+Lx58zBhwgRcv34dWq0WW7duRXx8PL7//nvs2rWrPjISVfLbqWu4lFEABytzTO/HbRaIqGpmD26DA3HpCDufhlPJt9CFm2oarWpfuRkxYgR27tyJP//8E9bW1pg3bx5iY2Oxc+dODBw4sD4yEukUqcuxbH/F+kqv9PeBvSWndRJR1bR2tsXTAbc31dzNTTWNWbWv3ABA7969sX///rrOQvSv1v7FbRaIqOZeD2qN7dE3EJmUjYPxGRjg6yw6EtWDal+5adGiBbKysu45npOTgxYtuPoj1Z+sglKsPFyxOeusYG6zQETV18zBEhN7eQEAPtkTz001jVS1y01SUhI0mnv36CgtLcX169ycjOrPnW0W/Nzs8XhHbrNARDXzcl8f2KnMEJ+ej62nromOQ/WgyrelduzYofvvvXv3wt7eXvdnjUaD8PBweHl51Wk4ojsSMvLx4z9XAVQs2CeXG86WH0SkX+ytzDGjvw8W7YnDZ/suYlhHV1gpazRKg/RUlf/fvLMZpkwmw4QJEyp9zNzcHF5eXvjss8/qNBzRHQt2xaJcKyGorTO3WSCiWpvQ0ws/Hr+KlOxirDqciDcGcr0sY1Ll21JarRZarRaenp7IyMjQ/Vmr1aK0tBTx8fEYPnx4fWYlE3UwLgOHL96EuUKGd4e1FR2HiIyAylyBd4ZUfD9ZdeQybuQUC05EdanaY26uXLkCJyf+5kwNQ12uxYJdFwBULNjn7WQtOBERGYvBHVzQ3bsRSsq0WBLG7YOMSY1uMoaHhyM8PFx3Bedua9eurZNgRADwfUQSEjML4WSjxCsD7t32g4iopmQyGeYNb4fHl/+FbdE3ML6nFxf2MxLVvnLzwQcfYNCgQQgPD0dmZiZu3bpV6UFUV7IKSvFleMUmd7OC28BWxQX7iKhudXCzx9NdKhb2+3DnBS7sZySqfeVm5cqVWL9+PcaNG1cfeYh0Ptt/Efkl5WjfzA5PB3iIjkNERmpWcBv8EZOK6JQc7DhzAyP83URHolqq9pUbtVqNnj171kcWIp0LN/KwMTIZADD/8fZQcOo3EdWTpnYqzOhfcdt78Z44FKvvXcuNDEu1y80LL7yAn3/+uT6yEAEAJEnCh7vOQysBwzq6ort3I9GRiMjITXnUG24OlkjNLcF3RxJFx6FaqvZtqZKSEnz33Xf4888/0bFjR5ibVx4HsWzZsjoLR6Zp7/k0/JOYDQszOUKH+IqOQ0QmQGWuQOhQX7zy82msPHwZo7u5w9XeUnQsqqFql5uzZ8/C398fAHDu3LlKH5PJeOuAaqekTIOFu2MBAC/1aQF3RyvBiYjIVAzzc8X65kk4efUWPg2Lx7Ix/qIjUQ1Vu9wcPHiwPnIQAQDW/HUFKdnFcLFTYVq/lqLjEJEJkclkmPd4Ozyx/Bi2nr6O8T294O/hIDoW1UC1x9wQ1Zf0vBKsOJgAoGL/KO71QkQNraO7A0bdnhr+wc7z0HLXcINU5Z8eTz31VJXO27p1a43DkGlbEhaPIrUGnT0dMMKfu34TkRizB7fBnnOpOJ2cg+1nruPJzu6iI1E1Vbnc3L0LOFFdO5OSg99OXQNQMfWb47eISBRnOxVeGeCDJWHxWLwnDoPaucDagleSDUmV/99at25dfeYgEyZJEj7YeR4A8FQXN97jJiLhJvfyxsbIFCRnF+GbQwmYFcyZm4aEY25IuB1nbuBUcg6slArMGcxvIEQknspcgXeHVewavvroFSRnFQlORNXBckNCFanLsXhPxW68M/r7wNlOJTgREVGFQe2c8aiPE9TlWnx8e4kKMgwsNyTUysOJSM0tgbujJaY86i06DhGRjkwmw9zh7aCQyxB2Pg1/J2SKjkRVxHJDwlzPKcaqw5cBAO8ObQuVuUJwIiKiytq42GJsoCcA4IOdF1Cu0QpORFXBckPCfLInDqXlWgR6N8LgDi6i4xAR3dcbA1vDwcoc8en5+OX2hr6k3/Si3KxYsQJeXl5QqVQIDAxEZGTkA8/dunUrunbtCgcHB1hbW8Pf3x8//PBDA6aluhB19RZ2nLkBmQyYO7wdp34Tkd5ysFLizYGtAQCf7b+InCK14ET0b4SXm02bNiEkJATz58/HqVOn0KlTJwQHByMjI+O+5zdq1AjvvvsuIiIicPbsWUyaNAmTJk3C3r17Gzg51ZRWK2HBrgsAgNEBHujgxjWUiEi/PdfdE74utsgpKsPn+y+KjkP/QiZJktC1pQMDA9GtWzcsX74cAKDVauHh4YFXX30Vb7/9dpVeo0uXLhg2bBgWLFjwr+fm5eXB3t4eubm5sLOzq1V2qpltp6/j9U3RsFYqcHBWPzS15QwpItJ/fydk4j//PQ6FXIbdr/VGGxdb0ZFMSnV+fgu9cqNWqxEVFYWgoCDdMblcjqCgIERERPzr8yVJQnh4OOLj49GnT5/7nlNaWoq8vLxKDxKn0tTvAT4sNkRkMHr6OGFwexdotBI+3HUegq8N0EMILTeZmZnQaDRwdnaudNzZ2RlpaWkPfF5ubi5sbGygVCoxbNgwfP311xg4cOB9z120aBHs7e11Dw8Pjzr9Gqh6vjuSiLS8iqnfk3tx6jcRGZZ3h7WF0kyOYwlZ2HchXXQcegDhY25qwtbWFtHR0Thx4gQWLlyIkJAQHDp06L7nhoaGIjc3V/dISUlp2LCkk5pbjJW3p36HDuHUbyIyPB6NrPBi7xYAgIV/xKKkTCM4Ed2P0J3AnJycoFAokJ5euf2mp6fDxeXBU4Plcjl8fHwAAP7+/oiNjcWiRYvQr1+/e861sLCAhYVFneammvk0LB4lZVp083LEUD9O/SYiwzS9X0v8GlWx79TaY1fwcj8f0ZHo/xF65UapVCIgIADh4eG6Y1qtFuHh4ejRo0eVX0er1aK0tLQ+IlIdiU7JwdbT1yGTAfOGc9dvIjJc1hZmeHtIxT54yw8kID2vRHAi+v+E35YKCQnB6tWrsWHDBsTGxmL69OkoLCzEpEmTAADjx49HaGio7vxFixZh//79SExMRGxsLD777DP88MMPGDt2rKgvgf6FJEn48Pau36O6uMPPnVO/iciwjfR3QxdPBxSpNfgkLE50HPp/hN6WAoAxY8bg5s2bmDdvHtLS0uDv74+wsDDdIOPk5GTI5f/rYIWFhXj55Zdx7do1WFpawtfXFz/++CPGjBkj6kugf7HzbKpu1+9ZwW1ExyEiqjWZTIb5j7fHiBXHsPXUdYx7pDk6ezqKjkW3CV/npqFxnZuGVVKmwYClh3AjtwRvDmyNVx9rJToSEVGdeevXM9gSdQ3+Hg7YOr0n5HLecq8vBrPODRm/1UcScSO3BM3sVZjap4XoOEREdWr24DawVioQnZKDnWdviI5Dt7HcUL1JzyvBt7enfr/NXb+JyAg1tVVher+WAIAlYfGcGq4nWG6o3ny6Nx5Fag26eDrg8Y6uouMQEdWLF3q3QDN7Fa7nFGPNX1dExyGw3FA9ibmWiy1R1wAA8x7n1G8iMl4qcwVmD66YGv7NwQTczOfSJKKx3FCdk6SKfVcA4MnObvD3cBAbiIionj3RqRk6udujUK3BMu4aLhzLDdW53TFpOJF0CypzOWYP5tRvIjJ+crkM7w1vBwDYdCIZcWncpFkklhuqUyVlGny8OxYAMK1vS7jaWwpORETUMLp5NcJQPxdopYp9p0xspRW9wnJDdWrNX1dwPacYrvYqvNSnpeg4REQNas5gXygVchy9lIlDF2+KjmOyWG6ozmTkl+CbgwkAKv6BWyo59ZuITEvzxtaY2MsLQMXVm3KNVmwgE8VyQ3Xms70XUajWoJOHA57o1Ex0HCIiIWb094GjlTkSMgrwy4kU0XFMEssN1Ylz13OxOariH/G84e24BDkRmSx7S3O8MbA1AODz/ReRW1wmOJHpYbmhWpMkCQt2XYAkVUyHDGjOzeOIyLT9p7snfJraILtQrbtdTw2H5YZqbe/5NBy/kg0LMznmDPEVHYeISDgzhRzvDm0LAFh3LAnJWUWCE5kWlhuqldJyDT7eHQcAeKlPC7g5cOo3EREA9GvTBL1bOUGt0eKTsDjRcUwKyw3VyvpjSUjOLkJTWwu81JdTv4mI7pDJZHh3WFvIZcAfMak4mZQtOpLJYLmhGruZX4qvD1TcS5492BfWFmaCExER6RdfFzuM6eYBAFjwRyy0Wi7s1xBYbqjGlu2/iILScvi52eOpzm6i4xAR6aU3BraGtVKBMyk52Hn2hug4JoHlhmrkwo08bDqRDACY9zinfhMRPUhTWxVe7u8DAPhkTxxKyjSCExk/lhuqtjtTv7USMKyjK7p5NRIdiYhIr0151BvN7FW4kVuCNX9dER3H6LHcULXtv5COiMQsKM3keHswp34TEf0blblCt1TGNwcTkJFfIjiRcWO5oWpRl2t1u36/8Kg3PBpZCU5ERGQYHu/YDJ08HFCo1uDz/RdFxzFqLDdULd9HJCEpqwhONha6e8hERPTv5HIZ5g6rWNhv04kUxKbmCU5kvFhuqMqyCkrxZfglAMDs4Daw4dRvIqJq6erVCMP8XKGVKnYNlyRODa8PLDdUZV+GX0J+STnaN7PDqAB30XGIiAzSnMG+UCrk+CshEwfjM0THMUosN1QlVzIL8fPxiqnf7w5rCwWnfhMR1YhnYytM6uUFoOLqTZlGKzaQEWK5oSr5dG8cyrUS+rdpgp4tnUTHISIyaC/390EjayUu3yzEL5HJouMYHZYb+lenkm9hd0wa5DLg7SFtRcchIjJ49pbmeCOoFQDg8/0XkVtcJjiRcWG5oYeSJAmLb+/6PaqLO9q42ApORERkHJ7r7gmfpja4VVSGFQcTRMcxKiw39FB/xmYgMikbFmZyhAxqLToOEZHRMFPI8c7QioX91v+dhBs5xYITGQ+WG3qgco0Wn4RVXLWZ/Kg3XO0tBSciIjIu/ds0RaB3I6jLtVzYrw6x3NAD/Rp1DQkZBXC0Msf0fi1FxyEiMjoymUy3LcNvp67hYnq+4ETGgeWG7quwtFz3W8QrA1rBTmUuOBERkXHq4umIwe1doJWAJbevllPtsNzQfX176DIy8kvh0cgSYx/xFB2HiMiovRXcBgq5DH/GZuDopZui4xg8lhu6R0p2Eb47mggAeG9YO1iYKQQnIiIybj5NbTChhxcA4P0d56Eu58J+tcFyQ/dY+Ecs1OVa9PJpjEHtnEXHISIyCa8PbAUnm4qF/Tb8nSQ6jkFjuaFK/k7IRNj5NCjkMswb3h4yGbdZICJqCHYqc8weXDG4+MvwS8jIKxGcyHCx3JBOuUaLD3ZeAACMDfTkgn1ERA3s6S7u6OThgILScizm4OIaY7khnV8ikxGfng8HK3O8MZAL9hERNTS5XIYPnmgPANh66jqirmYLTmSYWG4IAJBTpMZnt6d+vzmwNRyslIITERGZJn8PB4zu6g4AmL/jPDRaSXAiw6MX5WbFihXw8vKCSqVCYGAgIiMjH3ju6tWr0bt3bzg6OsLR0RFBQUEPPZ+q5vP9F5FTVAZfF1s8151Tv4mIRJo92Be2KjOcu56HTSdSRMcxOMLLzaZNmxASEoL58+fj1KlT6NSpE4KDg5GRkXHf8w8dOoTnnnsOBw8eREREBDw8PDBo0CBcv369gZMbj/i0fPx4PBkAMG94O5gphP+1ICIyaU42FngjqGJ4wKd745BTpBacyLDIJEkSer0rMDAQ3bp1w/LlywEAWq0WHh4eePXVV/H222//6/M1Gg0cHR2xfPlyjB8//l/Pz8vLg729PXJzc2FnZ1fr/IZOkiSMXXMcxxKyMLi9C1aOCxAdiYiIAJRptBj21VFcTC/A+B7N8eGIDqIjCVWdn99Cf0VXq9WIiopCUFCQ7phcLkdQUBAiIiKq9BpFRUUoKytDo0aN7vvx0tJS5OXlVXrQ/+y7kI5jCVlQmsnx7rC2ouMQEdFt5go53r89uPjHf67iwg3+/KoqoeUmMzMTGo0Gzs6VF4pzdnZGWlpalV5jzpw5aNasWaWCdLdFixbB3t5e9/Dw8Kh1bmNRUqbBR39UTP1+sXcLeDSyEpyIiIju1rOlE4b5uUIrVaxcLPhmi8Ew6MEVixcvxsaNG/H7779DpVLd95zQ0FDk5ubqHikpHJh1x5q/riAluxgudiq83J+7fhMR6aN3hrWFylyOyKRs7DhzQ3QcgyC03Dg5OUGhUCA9Pb3S8fT0dLi4uDz0uUuXLsXixYuxb98+dOzY8YHnWVhYwM7OrtKDgLTcEqw4mAAAeHuIL6yUZoITERHR/bg5WGJGPx8AwMe7Y1FYWi44kf4TWm6USiUCAgIQHh6uO6bVahEeHo4ePXo88HlLlizBggULEBYWhq5duzZEVKOzJCwORWoNApo7YoR/M9FxiIjoIab2aQHPRlZIzyvF8tu/mNKDCb8tFRISgtWrV2PDhg2IjY3F9OnTUVhYiEmTJgEAxo8fj9DQUN35n3zyCebOnYu1a9fCy8sLaWlpSEtLQ0FBgagvweBEXc3G1tPXIZMB8x9vx/2jiIj0nMpcgbnD2wEA/ns0EVcyCwUn0m/Cy82YMWOwdOlSzJs3D/7+/oiOjkZYWJhukHFycjJSU1N153/77bdQq9V4+umn4erqqnssXbpU1JdgUMo1Wrz7+zkAwOgAD3R0dxAbiIiIqiSobVP0ad0EZRoJH+48LzqOXhO+zk1DM/V1btb+dQUf7roABytzHHizHxpZc5sFIiJDcflmAQZ/cQRlGglrJnTFY22d//1JRsJg1rmhhpWRV4Jlt/ePmh3sy2JDRGRgWjaxweRe3gCAD3ddQEmZRnAi/cRyY0IW7o5FQWk5Onk44NluXO+HiMgQvfpYKzS1tcDVrCKs+euK6Dh6ieXGRPx9ORPbo29AJgM+GtEBcjkHERMRGSIbCzOEDvUFACw/kIAbOcWCE+kflhsToC7XYt72isFnYwObw8/dXnAiIiKqjZH+buja3BHFZRp8vDtWdBy9w3JjAtYeu4KEjAI0tlbirUFtRMchIqJakslkeP+J9pDJgF1nUxFxOUt0JL3CcmPkbuQU48s/LwEAQoe2hb2VueBERERUFzq42eM/3T0BAHO3n4O6XCs4kf5guTFyH+68gOIyDbp5OWJUFzfRcYiIqA7NCm6DxtZKJGQUYPXRRNFx9AbLjRE7FJ+BsPNpUMhlWDCyA1ciJiIyMg5WSrw3vC0A4KvwS0jOKhKcSD+w3BipkjIN5u+oGEQ8sacXfF1Mb8FCIiJTMNLfDT1bNkZpuRZzt5+Dia3Ne18sN0bqy/BLuJpVBGc7C7we1Ep0HCIiqicyWcXVeaVCjsMXb2J3TJroSMKx3Bih8zdy8d2RinuvC0Z0gK2Kg4iJiIxZyyY2mN6vJQDgg53nkVdSJjiRWCw3RqZco8Xbv8VAo5Uw1M8Fg9q7iI5EREQNYHq/lvB2skZGfimW7bsoOo5QLDdGZt2xJMRcz4WdygzvP9FedBwiImogKnMFFozoAADYEJGEqKu3BCcSh+XGiCRnFeGz/fEAgHeHtUVTW5XgRERE1JAebeWEUV3cIUnA7C1nTHZjTZYbIyFJEt7dFoOSMi16tGiM0V25MSYRkSmaO7wtmtha4PLNQnwVfkl0HCFYbozE1lPXcfRSJizM5Pj4KT+uaUNEZKIcrJT4aGTF7alVRxIRcy1XcKKGx3JjBDILSrHgjwsAgJlBreDtZC04ERERiRTc3gWPd2oGjVbCrC1nTG5rBpYbI/DhzgvIKSpDW1c7TO3dQnQcIiLSA+8/3g6NrZWIS8vHioMJouM0KJYbA3cwLgM7ztyAXAZ8MsoP5gr+X0pEREBjGwt8MKJi1uyKgwmITc0TnKjh8CehAcstLkPo1hgAwJRHvdHR3UFsICIi0ivD/FwR3N4Z5bdvT5VrTOP2FMuNAftg53mk5ZXAq7EV3hjYWnQcIiLSM3e2ZrC3NMe563lYdcQ0dg5nuTFQe8+nYeup65DLgM9Gd4KV0kx0JCIi0kNNbVWY/3g7AMCXf15CQka+4ET1j+XGAGUXqvHu7xW3o17s0xIBzRsJTkRERPrsyc5u6N+mCdQaLd789SzKjPz2FMuNgZEkCe9ti0FmgRqtnW3wxkDu+E1ERA8nk8nw8VN+sFOZ4UxKDpYfMO7ZUyw3Bmbn2VTsjkmDmVyGZaP9YWGmEB2JiIgMgKu9JT560g8A8PWBS0a99xTLjQFJzyvB3G3nAACvDmiFDm72ghMREZEheaJTM4z0bwatBLyxKRoFpeWiI9ULlhsDodFKeH1jNHKLy+DnZo+X+7cUHYmIiAzQhyM7wM3BEsnZRfhgx3nRceoFy42B+PZQAiISs2ClVODLZ/25WB8REdWIncocy0Z3gkwG/Bp1DXtiUkVHqnP8CWkAoq5m4/M/K3Z2/XBEB7RoYiM4ERERGbLAFo0xrW/FHYDQ32OQllsiOFHdYrnRc7lFZXjtl2hotBJG+jfDqC5uoiMREZEReCOoNTq42SGnqAxvbKr4OWMsWG70mCRJeHvrWVzPKUbzxlZYMLIDZDKZ6FhERGQElGZyfPlsZ1gpFYhIzMK3h4xnejjLjR77OTIZe85VTPv+6tnOsFWZi45ERERGpGUTG3zwRMXmmp//eQknk7IFJ6obLDd66kxKDj7YeQEAMHtwG3TycBAbiIiIjNLTAe4Y4d8MGq2EV34+jYx8wx9/w3KjhzILSjH9xyioy7UIauuMFx5tIToSEREZKZlMhoVP+qFVUxuk5ZVgxk+noC437O0ZWG70TLlGi1d/Po0buSVo4WSNZWM6QS7nOBsiIqo/NhZmWDUuALYWZjiRdAsL/7ggOlKtsNzomSV743Xr2awaFwA7jrMhIqIG0KKJDZaN8QcAbIi4ii1R18QGqgWWGz2y88wNfHckEQCw9JlOaOVsKzgRERGZkoHtnDHzsYoNmd/5PQYx13IFJ6oZlhs9ceFGHmZvOQsAeKlvCwz1cxWciIiITNHMx1rhMd+mUJdrMe3HKIMcYCy83KxYsQJeXl5QqVQIDAxEZGTkA889f/48Ro0aBS8vL8hkMnzxxRcNF7QepeYWY/L6Eygu0+BRHyfMGtRGdCQiIjJRcrkMy8b4w9vJGtdzijFl/UkUqQ1rg02h5WbTpk0ICQnB/PnzcerUKXTq1AnBwcHIyMi47/lFRUVo0aIFFi9eDBcXlwZOWz/ySsowce0JpOWVoFVTG6x4vgvMuG8UEREJZG9pjrUTu8HRyhwx13Px6s+nUa4xnBlUQn+KLlu2DFOnTsWkSZPQrl07rFy5ElZWVli7du19z+/WrRs+/fRTPPvss7CwsGjgtHWvsLQcU9afQHx6PpraWmD95O6wt+QAYiIiEs/byRr/ndANFmZyhMdlYM5vMdAayBYNwsqNWq1GVFQUgoKC/hdGLkdQUBAiIiLq7POUlpYiLy+v0kMfFKnLMWn9CZxIugVblRnWTeoGNwdL0bGIiIh0Apo74qvnOkMhl+G3U9cwd/s5SJL+Fxxh5SYzMxMajQbOzs6Vjjs7OyMtLa3OPs+iRYtgb2+ve3h4eNTZa9dUbnEZJq47gcgr2bC1MMOPUwLRvpm96FhERET3CG7vgmWjO0EmA346noy528/p/SabRj+4IzQ0FLm5ubpHSkqK0DxpuSUYsyoCkVeyYWNhhg1TunNrBSIi0msj/N3wyaiOkMmAH/9Jxis/n0JJmUZ0rAcyE/WJnZycoFAokJ6eXul4enp6nQ4WtrCw0JvxOaeSb2HGT6eQmltSMcZmUne0a2YnOhYREdG/Gt3VA1ZKBUI2ncGec2m4mX8cy//TBS72KtHR7iHsyo1SqURAQADCw8N1x7RaLcLDw9GjRw9RsWrlr0uZyC0qu+e4Vivhv0cTMXplBFJzS9CiiTV+m96TxYaIiAzK8I7NsH5yN9hamOHk1VsY+tVRHIy7/wxnkYTelgoJCcHq1auxYcMGxMbGYvr06SgsLMSkSZMAAOPHj0doaKjufLVajejoaERHR0OtVuP69euIjo5GQkKCqC9BJ+JyFiavP4FnVv2NGznFuuOnk2/hqW//xkd/xKJcK2GYnyu2z+gFj0ZWAtMSERHVTM+WTtjx6qNo52qH7EI1Jq0/gZd/ikJyVpHoaDoySfCw5+XLl+PTTz9FWloa/P398dVXXyEwMBAA0K9fP3h5eWH9+vUAgKSkJHh7e9/zGn379sWhQ4eq9Pny8vJgb2+P3Nxc2NnV3ZWT2NQ8TFwXifS8UrjYqfDKAB/sv5COwxdvAgCslQq8PbQtxgZ6QibjRphERGTYSso0+CQsDhv+ToJWApQKOYI7uGBUFzf0btUEijre9Lk6P7+Fl5uGVl/lBgCu5xRjwtpIJGQUVDr+dIA7Zge3QVM7/bsvSUREVBtxaXlY+Ecsjl7K1B1r4WSNP0P6Ql6HBac6P7+FDSg2Rm4OltgyrQde2xiNlOwiDO/oiqe6uMPbyVp0NCIionrh62KHH6YEIuZaLn47dQ3bo6+js6djnRab6uKVGyIiIqoz6nIt8kvK0NimbmcqV+fnt9Gvc0NEREQNR2kmr/NiU10sN0RERGRUWG6IiIjIqLDcEBERkVFhuSEiIiKjwnJDRERERoXlhoiIiIwKyw0REREZFZYbIiIiMiosN0RERGRUWG6IiIjIqLDcEBERkVFhuSEiIiKjwnJDRERERsVMdICGJkkSgIqt04mIiMgw3Pm5fefn+MOYXLnJz88HAHh4eAhOQkRERNWVn58Pe3v7h54jk6pSgYyIVqvFjRs3YGtrC5lMJjqOcHl5efDw8EBKSgrs7OxExzFqfK8bBt/nhsP3uuHwva64YpOfn49mzZpBLn/4qBqTu3Ijl8vh7u4uOobesbOzM9l/MA2N73XD4PvccPheNxxTf6//7YrNHRxQTEREREaF5YaIiIiMCsuNibOwsMD8+fNhYWEhOorR43vdMPg+Nxy+1w2H73X1mNyAYiIiIjJuvHJDRERERoXlhoiIiIwKyw0REREZFZYbIiIiMiosNyaotLQU/v7+kMlkiI6OrvSxs2fPonfv3lCpVPDw8MCSJUvuef6vv/4KX19fqFQq+Pn5Yffu3Q2UXP8lJSVhypQp8Pb2hqWlJVq2bIn58+dDrVZXOo/vc/1ZsWIFvLy8oFKpEBgYiMjISNGRDMqiRYvQrVs32NraomnTphg5ciTi4+MrnVNSUoIZM2agcePGsLGxwahRo5Cenl7pnOTkZAwbNgxWVlZo2rQpZs2ahfLy8ob8UgzK4sWLIZPJ8Prrr+uO8X2uBYlMzmuvvSYNGTJEAiCdPn1adzw3N1dydnaWnn/+eencuXPSL7/8IllaWkqrVq3SnXPs2DFJoVBIS5YskS5cuCC99957krm5uRQTEyPgK9E/e/bskSZOnCjt3btXunz5srR9+3apadOm0ptvvqk7h+9z/dm4caOkVCqltWvXSufPn5emTp0qOTg4SOnp6aKjGYzg4GBp3bp10rlz56To6Ghp6NChkqenp1RQUKA7Z9q0aZKHh4cUHh4unTx5UnrkkUeknj176j5eXl4udejQQQoKCpJOnz4t7d69W3JycpJCQ0NFfEl6LzIyUvLy8pI6duwozZw5U3ec73PNsdyYmN27d0u+vr7S+fPn7yk333zzjeTo6CiVlpbqjs2ZM0dq06aN7s+jR4+Whg0bVuk1AwMDpZdeeqnesxuqJUuWSN7e3ro/832uP927d5dmzJih+7NGo5GaNWsmLVq0SGAqw5aRkSEBkA4fPixJkiTl5ORI5ubm0q+//qo7JzY2VgIgRURESJJU8X1GLpdLaWlpunO+/fZbyc7OrtLfe5Kk/Px8qVWrVtL+/fulvn376soN3+fa4W0pE5Keno6pU6fihx9+gJWV1T0fj4iIQJ8+faBUKnXHgoODER8fj1u3bunOCQoKqvS84OBgRERE1G94A5abm4tGjRrp/sz3uX6o1WpERUVVet/kcjmCgoL4vtVCbm4uAOj+DkdFRaGsrKzS++zr6wtPT0/d+xwREQE/Pz84OzvrzgkODkZeXh7Onz/fgOn134wZMzBs2LB7/r3zfa4dlhsTIUkSJk6ciGnTpqFr1673PSctLa3SPxIAuj+npaU99Jw7H6fKEhIS8PXXX+Oll17SHeP7XD8yMzOh0Wj4vtUhrVaL119/Hb169UKHDh0AVPzdVCqVcHBwqHTu3e9zVf6OE7Bx40acOnUKixYtuudjfJ9rh+XGwL399tuQyWQPfcTFxeHrr79Gfn4+QkNDRUc2SFV9n+92/fp1DB48GM888wymTp0qKDlRzc2YMQPnzp3Dxo0bRUcxOikpKZg5cyZ++uknqFQq0XGMjpnoAFQ7b775JiZOnPjQc1q0aIEDBw4gIiLinn1Junbtiueffx4bNmyAi4vLPSPx7/zZxcVF97/3O+fOx41VVd/nO27cuIH+/fujZ8+e+O677yqdx/e5fjg5OUGhUPB9qyOvvPIKdu3ahSNHjsDd3V133MXFBWq1Gjk5OZWuKtz9Pru4uNwzS+3//x03dVFRUcjIyECXLl10xzQaDY4cOYLly5dj7969fJ9rQ/SgH2oYV69elWJiYnSPvXv3SgCkLVu2SCkpKZIk/W+gq1qt1j0vNDT0noGuw4cPr/TaPXr04EDXu1y7dk1q1aqV9Oyzz0rl5eX3fJzvc/3p3r279Morr+j+rNFoJDc3Nw4orgatVivNmDFDatasmXTx4sV7Pn5noOuWLVt0x+Li4u470PXuWWqrVq2S7OzspJKSkvr/IgxAXl5epe/JMTExUteuXaWxY8dKMTExfJ9rieXGRF25cuWe2VI5OTmSs7OzNG7cOOncuXPSxo0bJSsrq3umKJuZmUlLly6VYmNjpfnz53OK8l2uXbsm+fj4SI899ph07do1KTU1Vfe4g+9z/dm4caNkYWEhrV+/Xrpw4YL04osvSg4ODpVmk9DDTZ8+XbK3t5cOHTpU6e9vUVGR7pxp06ZJnp6e0oEDB6STJ09KPXr0kHr06KH7+J0pyoMGDZKio6OlsLAwqUmTJpyi/C/uni0lSXyfa4PlxkTdr9xIkiSdOXNGevTRRyULCwvJzc1NWrx48T3P3bx5s9S6dWtJqVRK7du3l/74448GSq3/1q1bJwG47+NufJ/rz9dffy15enpKSqVS6t69u/TPP/+IjmRQHvT3d926dbpziouLpZdffllydHSUrKyspCeffLJSgZckSUpKSpKGDBkiWVpaSk5OTtKbb74plZWVNfBXY1j+f7nh+1xzMkmSpAa/F0ZERERUTzhbioiIiIwKyw0REREZFZYbIiIiMiosN0RERGRUWG6IiIjIqLDcEBERkVFhuSEiIiKjwnJDRERERoXlhojoASZOnKjb9X3btm1Csxw6dEiXZeTIkUKzEOk7lhsiE3L3D+u7HwkJCaKj6a3BgwcjNTUVQ4YM0R278779888/lc4tLS1F48aNIZPJcOjQoUrn368cTZw4scpFpWfPnkhNTcXo0aNr8mUQmRSWGyITc+eH9d0Pb2/ve85Tq9UC0ukfCwsLuLi4wMLCotJxDw8PrFu3rtKx33//HTY2NvWSQ6lUwsXFBZaWlvXy+kTGhOWGyMTc+WF990OhUKBfv3545ZVX8Prrr8PJyQnBwcEAgHPnzmHIkCGwsbGBs7Mzxo0bh8zMTN3rFRYWYvz48bCxsYGrqys+++wz9OvXD6+//rrunPtduXBwcMD69et1f05JScHo0aPh4OCARo0aYcSIEUhKStJ9/M5VjqVLl8LV1RWNGzfGjBkzUFZWpjuntLQUc+bMgYeHBywsLODj44M1a9ZAkiT4+Phg6dKllTJER0fX+MrVhAkTsHHjRhQXF+uOrV27FhMmTKj2awFAUlLSfa+q9evXr0avR2TKWG6ISGfDhg1QKpU4duwYVq5ciZycHAwYMACdO3fGyZMnERYWhvT09Eq3RmbNmoXDhw9j+/bt2LdvHw4dOoRTp05V6/OWlZUhODgYtra2OHr0KI4dOwYbGxsMHjy40hWkgwcP4vLlyzh48CA2bNiA9evXVypI48ePxy+//IKvvvoKsbGxWLVqFWxsbCCTyTB58uR7rrSsW7cOffr0gY+PT7Xfq4CAAHh5eeG3334DACQnJ+PIkSMYN25ctV8LqLgSdPfVtNOnT6Nx48bo06dPjV6PyKQJ3pWciBrQhAkTJIVCIVlbW+seTz/9tCRJktS3b1+pc+fOlc5fsGCBNGjQoErHUlJSJABSfHy8lJ+fLymVSmnz5s26j2dlZUmWlpbSzJkzdccASL///nul17G3t5fWrVsnSZIk/fDDD1KbNm0krVar+3hpaalkaWkp7d27V5e9efPmUnl5ue6cZ555RhozZowkSZIUHx8vAZD2799/36/9+vXrkkKhkI4fPy5JkiSp1WrJyclJWr9+/UPfrxEjRtxz/M7X88UXX0j9+/eXJEmSPvjgA+nJJ5+Ubt26JQGQDh48WOl8lUpV6X23traWzMzM7vv6xcXFUmBgoDR8+HBJo9FUKRMR/Y+ZyGJFRA2vf//++Pbbb3V/tra21v13QEBApXPPnDmDgwcP3nccyeXLl1FcXAy1Wo3AwEDd8UaNGqFNmzbVynTmzBkkJCTA1ta20vGSkhJcvnxZ9+f27dtDoVDo/uzq6oqYmBgAFbeYFAoF+vbte9/P0axZMwwbNgxr165F9+7dsXPnTpSWluKZZ56pVta7jR07Fm+//TYSExOxfv16fPXVVw889/PPP0dQUFClY3PmzIFGo7nn3MmTJyM/Px/79++HXM4L7ETVxXJDZGKsra0feBvm7qIDAAUFBXj88cfxySef3HOuq6trlceqyGQySJJU6djdY2UKCgoQEBCAn3766Z7nNmnSRPff5ubm97yuVqsFgCoNtH3hhRcwbtw4fP7551i3bh3GjBkDKyurKn0N99O4cWMMHz4cU6ZMQUlJCYYMGYL8/Pz7nuvi4nLP+25ra4ucnJxKxz766CPs3bsXkZGR95Q9IqoalhsieqAuXbrgt99+g5eXF8zM7v120bJlS5ibm+P48ePw9PQEANy6dQsXL16sdAWlSZMmSE1N1f350qVLKCoqqvR5Nm3ahKZNm8LOzq5GWf38/KDVanH48OF7rpDcMXToUFhbW+Pbb79FWFgYjhw5UqPPdbfJkydj6NChmDNnTqWrSjXx22+/4cMPP8SePXvQsmXLWmcjMlW83klEDzRjxgxkZ2fjueeew4kTJ3D58mXs3bsXkyZNgkajgY2NDaZMmYJZs2bhwIEDOHfuHCZOnHjPrZQBAwZg+fLlOH36NE6ePIlp06ZVugrz/PPPw8nJCSNGjMDRo0dx5coVHDp0CK+99hquXbtWpaxeXl6YMGECJk+ejG3btuleY/PmzbpzFAoFJk6ciNDQULRq1Qo9evSo9Xs0ePBg3Lx5Ex9++GGtXufcuXMYP3485syZg/bt2yMtLQ1paWnIzs6udUYiU8NyQ0QP1KxZMxw7dgwajQaDBg2Cn58fXn/9dTg4OOgKzKefforevXvj8ccfR1BQEB599NF7xu589tln8PDwQO/evfGf//wHb731VqXbQVZWVjhy5Ag8PT3x1FNPoW3btrpbPdW5kvPtt9/i6aefxssvvwxfX19MnToVhYWFlc6ZMmUK1Go1Jk2aVIt35n9kMhmcnJygVCpr9TonT55EUVERPvroI7i6uuoeTz31VJ3kJDIlMun/3wgnIqqlfv36wd/fH1988YXoKPc4evQoHnvsMaSkpMDZ2fmh506cOBE5OTnCt164mz5mItI3vHJDRCahtLQU165dw/vvv49nnnnmX4vNHbt27YKNjQ127dpVzwkf7ujRo7CxsbnvoGsiqowDionIJPzyyy+YMmUK/P398f3331fpOUuWLMF7770HoGJ2mEhdu3ZFdHQ0ANTbFg9ExoK3pYiIiMio8LYUERERGRWWGyIiIjIqLDdERERkVFhuiIiIyKiw3BAREZFRYbkhIiIio8JyQ0REREaF5YaIiIiMyv8Bd/qGIqVZqiwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# For plotting, convert the NCO integer values back to frequencies\n", "nco_sweep_range = (np.arange(n_steps) * nco_int_step_freq + nco_int_start_freq) / 4.0\n", "\n", "I_data = (\n", " np.asarray(data[\"acquisition\"][\"bins\"][\"integration\"][\"path0\"])\n", " / MAXIMUM_SCOPE_ACQUISITION_LENGTH\n", ")\n", "Q_data = (\n", " np.asarray(data[\"acquisition\"][\"bins\"][\"integration\"][\"path1\"])\n", " / MAXIMUM_SCOPE_ACQUISITION_LENGTH\n", ")\n", "plot_amplitude(nco_sweep_range, I_data, Q_data)" ] }, { "cell_type": "markdown", "id": "6f12a825", "metadata": {}, "source": [ "#### NCO input delay compensation\n", "By default, the input and output of the QRM are multiplied with the same NCO value. As the output path has a time of flight of about 146 ns between the NCO and playback, this means that there is a short time window after frequency/phase updates where demodulation is updated, but playback is still using the old value. There is also always a (fixed) relative phase between playback and demodulation. We can showcase this by using a similar program as before, but with less points, so that the frequency steps are more clearly visible." ] }, { "cell_type": "code", "execution_count": 24, "id": "e2a830b0", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:51.940440Z", "iopub.status.busy": "2023-12-06T17:12:51.940440Z", "iopub.status.idle": "2023-12-06T17:12:51.952074Z", "shell.execute_reply": "2023-12-06T17:12:51.951060Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "20 steps with step size 50.0 MHz\n" ] } ], "source": [ "n_steps = 20\n", "n_averages = 1000\n", "\n", "step_freq = (stop_freq - start_freq) / n_steps\n", "print(f\"{n_steps} steps with step size {step_freq/1e6} MHz\")\n", "\n", "# Convert frequencies to multiples of 0.25 Hz\n", "nco_int_start_freq = int(4 * start_freq)\n", "nco_int_step_freq = int(4 * step_freq)\n", "\n", "# For plotting, convert the NCO integer values back to frequencies\n", "nco_sweep_range = np.arange(nco_int_start_freq, 4 * stop_freq, nco_int_step_freq) / 4.0" ] }, { "cell_type": "markdown", "id": "e9be72ef", "metadata": {}, "source": [ "To make the effect of NCO delay compensation more apparent, we modify the spectroscopy program for short integration time and acquire immediately after the frequency update, without waiting for time of flight. This means that the output at the new frequency only arrives at the input AFTER integration in the current loop iteration has finished. Without further modifications of the program this leads to an off-by-one error. Therefore, we increase the frequency as the first step in the loop." ] }, { "cell_type": "code", "execution_count": 25, "id": "005813da", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:51.956458Z", "iopub.status.busy": "2023-12-06T17:12:51.956458Z", "iopub.status.idle": "2023-12-06T17:12:51.968095Z", "shell.execute_reply": "2023-12-06T17:12:51.966638Z" } }, "outputs": [], "source": [ "acquisitions = {\"acq\": {\"num_bins\": n_steps, \"index\": 0}}\n", "\n", "setup = f\"\"\"\n", " move {n_averages}, R2\n", "\n", "avg_loop:\n", " move 0, R0 # frequency\n", " move 0, R1 # step counter\n", "\"\"\"\n", "\n", "# To get a negative starting frequency, we substract a positive number from 0\n", "if start_freq <= 0:\n", " setup += f\"\"\"\n", " sub R0, {-nco_int_start_freq}, R0\n", " \"\"\"\n", "else:\n", " setup += f\"\"\"\n", " add R0, {nco_int_start_freq}, R0\n", " \"\"\"\n", "\n", "spectroscopy = (\n", " setup\n", " + f\"\"\"\n", " reset_ph\n", " set_freq R0\n", " upd_param 200\n", "\n", "nco_set:\n", " # Due to time of flight, the new frequency will only arrive at the input AFTER integration is done\n", " # Therefore, we already increase the frequency before the first measurement.\n", " add R0, {nco_int_step_freq}, R0\n", " nop\n", " set_freq R0\n", "\n", " # we removed upd_param, so that acquisition starts the moment the frequency is updated\n", " acquire 0, R1, 1200 # Update the NCO and immediately acquire\n", " add R1, 1, R1\n", " nop\n", " jlt R1, {n_steps}, @nco_set # Loop over all frequencies\n", "\n", " loop R2, @avg_loop\n", "\n", " stop # Stop\n", "\"\"\"\n", ")\n", "\n", "# Add sequence to single dictionary and write to JSON file.\n", "sequence = {\n", " \"waveforms\": {},\n", " \"weights\": {},\n", " \"acquisitions\": acquisitions,\n", " \"program\": spectroscopy,\n", "}\n", "with open(\"sequence.json\", \"w\", encoding=\"utf-8\") as file:\n", " json.dump(sequence, file, indent=4)" ] }, { "cell_type": "markdown", "id": "8c40f139", "metadata": {}, "source": [ "As a baseline, we will do a measurement with delay compensation disabled." ] }, { "cell_type": "code", "execution_count": 26, "id": "718cd1fc", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:51.972810Z", "iopub.status.busy": "2023-12-06T17:12:51.972810Z", "iopub.status.idle": "2023-12-06T17:12:52.030885Z", "shell.execute_reply": "2023-12-06T17:12:52.029697Z" } }, "outputs": [], "source": [ "readout_module.sequencer0.sequence(\"sequence.json\")\n", "readout_module.sequencer0.integration_length_acq(140)\n", "readout_module.sequencer0.nco_prop_delay_comp_en(False)" ] }, { "cell_type": "code", "execution_count": 27, "id": "e924d07a", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:52.034918Z", "iopub.status.busy": "2023-12-06T17:12:52.034918Z", "iopub.status.idle": "2023-12-06T17:12:52.202373Z", "shell.execute_reply": "2023-12-06T17:12:52.201848Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status:\n", "Status: RUNNING, Flags: ACQ_BINNING_DONE\n" ] }, { "data": { "image/png": "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Sy4RTU1Ncplx48aJ8ePHCyGEOHDggAAgNm7c6PS9Hzt2TKhUKrFt2zYhhBBms1nExsaKVatWdXi9br/99jbHpfezaNEiceONNwohhHjqqafEHXfcIWpqagQAsXnzZofyGo3G4bqHh4eLoKAgp+c/d+6cyMjIELfddpuwWCwu1YmI7IK8Gc6IqGe68cYbsXTpUvn78PBw+X56erpD2W+//RabN292Oq7m8OHDOHfuHMxmMzIyMuTjF110ES6//HK36vTtt9/i0KFDiIyMdDje0NCAw4cPy99fddVVUKlU8vcJCQnYu3cvAFt3mUqlwqhRo5y+RmJiInJzc7FixQoMHz4cn3zyCUwmE8aNG+dWXVv63e9+h9mzZ+Onn37CqlWr8PLLL7db9sUXX0R2drbDsccffxwWi6VN2fvuuw91dXXYuHEjlEp2FhC5iwGJiNwWHh7ebpdSy7AEAGfPnsVvfvMbPPPMM23KJiQkuDx2R6FQQAjhcKzl2KGzZ88iPT0d77zzTpvnXnzxxfL94ODgNue1Wq0A4NLg5d///veYOHEiXnzxRaxcuRLjx49HWFiYS+/BmV69euG2227DlClT0NDQgFtuuQV1dXVOy8bHx7e57pGRkaitrXU4tmDBAnz66afYvn17m8BIRK5hQCIijxoyZAj+9a9/oX///ggKavuRc9lllyE4OBjbtm1Dv379AAA1NTX48ccfHVpyLr74Ypw4cUL+/uDBg6ivr3d4nTVr1qB3796IiorqVF1TU1NhtVrxxRdftGmpkdx6660IDw/H0qVLUVpaii1btnTqtVq67777cOutt+Lxxx93aN3qjH/961/4y1/+gv/85z+47LLLLrhuRIGK7a5E5FEzZszAmTNncPfdd+Obb77B4cOH8emnn6KgoAAWiwURERGYMmUKHn30UWzatAkVFRWYPHlym26hm266CYsXL8bu3buxY8cOTJ8+3aE16N5770VsbCxuv/12fPnllzhy5Ag+//xzPPjgg/j5559dqmv//v2Rn5+P++67D+vWrZPP8d5778llVCoVJk+ejDlz5iAlJQWZmZkXfI3GjBmDU6dO4S9/+csFnaeiogKTJk3C448/jquuugo6nQ46nQ5nzpy54DoSBRoGJCLyqMTERHz11VewWCwYPXo0UlNTMWvWLERHR8sh6LnnnsN1112H3/zmN8jOzsbIkSPbjGVauHAhkpKScN111+Gee+7BI4884tC1FRYWhi1btqBfv3648847ccUVV8jdVu60KC1duhS//e1v8ac//QkDBw7E1KlTYTQaHcpMmTIFZrMZBQUFF3Bl7BQKBWJjYxESEnJB59mxYwfq6+uxYMECJCQkyLc777yzS+pJFEgUonWnPhGRD7jhhhuQlpaGRYsWebsqbXz55Ze4+eabUVVVhbi4uA7LTp48GbW1tV7fZqQlX6wTka9hCxIRkYtMJhN+/vlnPPnkkxg3btx5w5Fk/fr1iIiIwPr16z1cw459+eWXiIiIcDqQnYgccZA2EZGL3n33XUyZMgVpaWl48803XXrOs88+i3nz5gGwzdrzpqFDh2LPnj0A4LHtTIj8BbvYiIiIiFphFxsRERFRKwxIRERERK0wIBERERG1woBERERE1AoDEhEREVErDEhERERErTAgEREREbXCgERERETUyv8HiisAovsC/WIAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "readout_module.arm_sequencer(0)\n", "readout_module.start_sequencer()\n", "\n", "print(\"Status:\")\n", "print(readout_module.get_sequencer_state(0))\n", "\n", "# Wait for the sequencer to stop with a timeout period of one minute.\n", "readout_module.get_acquisition_state(0, timeout=1)\n", "\n", "data = readout_module.get_acquisitions(0)[\"acq\"]\n", "I_data = np.asarray(data[\"acquisition\"][\"bins\"][\"integration\"][\"path0\"]) / 140\n", "Q_data = np.asarray(data[\"acquisition\"][\"bins\"][\"integration\"][\"path1\"]) / 140\n", "plot_amplitude(nco_sweep_range, I_data, Q_data)" ] }, { "cell_type": "markdown", "id": "19eccb8d", "metadata": {}, "source": [ "Even though we only measured a small number of points, we can see that this is not compatible with the previous spectroscopy measurements. What happened is that `set_freq` updates the NCO frequency immediately. However, there is a time of flight of about 146 ns between the NCO and the output of the device. Thus, the signal will be demodulated at $f_0 + 100$ MHz immediately after `set_freq`, but the incoming signal is still modulated at $f_0$ for another 146 ns - longer than the integration time chosen above. The integrated signal will therefore be approximately zero.\n", "\n", "Now we run the same experiment again, with delay compensation enabled." ] }, { "cell_type": "code", "execution_count": 28, "id": "dd6a1507", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:52.206528Z", "iopub.status.busy": "2023-12-06T17:12:52.206528Z", "iopub.status.idle": "2023-12-06T17:12:52.250287Z", "shell.execute_reply": "2023-12-06T17:12:52.248756Z" } }, "outputs": [], "source": [ "readout_module.sequencer0.sequence(\"sequence.json\")\n", "readout_module.sequencer0.nco_prop_delay_comp_en(True)" ] }, { "cell_type": "markdown", "id": "52ae3a7b", "metadata": {}, "source": [ "This ensures that, for demodulation, the NCO only updates after the time of flight, i.e. that frequency and phase of modulation and demodulation always match." ] }, { "cell_type": "code", "execution_count": 29, "id": "2ce84204", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:52.254889Z", "iopub.status.busy": "2023-12-06T17:12:52.254889Z", "iopub.status.idle": "2023-12-06T17:12:52.433964Z", "shell.execute_reply": "2023-12-06T17:12:52.432884Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status:\n", "Status: RUNNING, Flags: ACQ_BINNING_DONE\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "readout_module.arm_sequencer(0)\n", "readout_module.start_sequencer()\n", "\n", "print(\"Status:\")\n", "print(readout_module.get_sequencer_state(0))\n", "\n", "# Wait for the sequencer to stop with a timeout period of one minute.\n", "readout_module.get_acquisition_state(0, timeout=1)\n", "\n", "data = readout_module.get_acquisitions(0)[\"acq\"]\n", "I_data = np.asarray(data[\"acquisition\"][\"bins\"][\"integration\"][\"path0\"]) / 140\n", "Q_data = np.asarray(data[\"acquisition\"][\"bins\"][\"integration\"][\"path1\"]) / 140\n", "amplitude = np.abs(I_data + 1j * Q_data)\n", "\n", "plot_amplitude(nco_sweep_range, I_data, Q_data)" ] }, { "cell_type": "markdown", "id": "2082d4d4", "metadata": {}, "source": [ "We can see that modulation and demodulation frequency now match, producing similar results as the spectroscopy measurements before." ] }, { "cell_type": "markdown", "id": "d6089b3c", "metadata": {}, "source": [ "## Stop\n", "\n", "Finally, let's stop the playback and close the instrument connection. One can also display a detailed snapshot containing the instrument parameters before\n", "closing the connection by uncommenting the corresponding lines." ] }, { "cell_type": "code", "execution_count": 30, "id": "5e6cc6fd", "metadata": { "execution": { "iopub.execute_input": "2023-12-06T17:12:52.438852Z", "iopub.status.busy": "2023-12-06T17:12:52.437817Z", "iopub.status.idle": "2023-12-06T17:12:55.574897Z", "shell.execute_reply": "2023-12-06T17:12:55.573810Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status: STOPPED, Flags: FORCED_STOP, ACQ_SCOPE_DONE_PATH_0, ACQ_SCOPE_DONE_PATH_1, ACQ_BINNING_DONE\n", "Status: STOPPED, Flags: FORCED_STOP\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Status: OKAY, Flags: NONE, Slot flags: NONE\n" ] } ], "source": [ "# Stop both sequencers.\n", "readout_module.stop_sequencer()\n", "\n", "# Print status of both sequencers (should now say it is stopped).\n", "print(readout_module.get_sequencer_state(0))\n", "print(readout_module.get_sequencer_state(1))\n", "print()\n", "\n", "# Uncomment the following to print an overview of the instrument parameters.\n", "# Print an overview of the instrument parameters.\n", "# print(\"Snapshot:\")\n", "# readout_module.print_readable_snapshot(update=True)\n", "\n", "# Reset the cluster\n", "cluster.reset()\n", "print(cluster.get_system_state())" ] } ], "metadata": { "jupytext": { "formats": "ipynb,py:percent" }, "kernelspec": { "display_name": "py39", "language": "python", "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.8.0" } }, "nbformat": 4, "nbformat_minor": 5 }