diff --git a/tutorials/submitit.ipynb b/tutorials/submitit.ipynb new file mode 100644 index 00000000000..9dd49f37a8d --- /dev/null +++ b/tutorials/submitit.ipynb @@ -0,0 +1,7610 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Hyperparameter Optimization on Slurm via SubmitIt\n", + "\n", + "This notebook serves as a quickstart guide for using the Ax library with the SubmitIt library in an ask-tell loop. [SubmitIt](https://github.com/facebookincubator/submitit/) is a Python toolbox for submitting jobs to [Slurm](https://slurm.schedmd.com/quickstart.html). \n", + "\n", + "The notebook demonstrates how to use the Ax client in an ask-tell loop where each trial is scheduled to run on a Slurm cluster asynchronously.\n", + "\n", + "To use this script, run it on a slurm node either as an interactive notebook or export it as a Python script and run it as a Slurm job.\n", + "\n", + "## Importing Necessary Libraries\n", + "Let's start by importing the necessary libraries." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import time\n", + "from ax.service.ax_client import AxClient, ObjectiveProperties\n", + "from ax.utils.notebook.plotting import render\n", + "from ax.service.utils.report_utils import exp_to_df\n", + "from submitit import AutoExecutor, LocalJob, DebugJob" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Defining the Function to Optimize\n", + "We'll define a simple function to optimize. This function takes two parameters, and returns a single metric." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "def evaluate(parameters):\n", + " x = parameters[\"x\"]\n", + " y = parameters[\"y\"]\n", + " return {\"result\": (x - 3)**2 + (y - 4)**2}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note: SubmitIt's [CommandFunction](https://github.com/facebookincubator/submitit/blob/main/docs/examples.md#working-with-commands) allows you to define commands to run on the node and then redirects the standard output.\n", + "\n", + "## Setting up Ax\n", + "We'll use Ax's Service API for this example. We start by initializing an AxClient and creating an experiment." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO 01-11 17:57:00] ax.service.ax_client: Starting optimization with verbose logging. To disable logging, set the `verbose_logging` argument to `False`. Note that float values in the logs are rounded to 6 decimal points.\n", + "[INFO 01-11 17:57:00] ax.service.utils.instantiation: Inferred value type of ParameterType.FLOAT for parameter x. If that is not the expected value type, you can explicitly specify 'value_type' ('int', 'float', 'bool' or 'str') in parameter dict.\n", + "[INFO 01-11 17:57:00] ax.service.utils.instantiation: Inferred value type of ParameterType.FLOAT for parameter y. If that is not the expected value type, you can explicitly specify 'value_type' ('int', 'float', 'bool' or 'str') in parameter dict.\n", + "[INFO 01-11 17:57:00] ax.service.utils.instantiation: Created search space: SearchSpace(parameters=[RangeParameter(name='x', parameter_type=FLOAT, range=[-10.0, 10.0]), RangeParameter(name='y', parameter_type=FLOAT, range=[-10.0, 10.0])], parameter_constraints=[ParameterConstraint(1.0*x + 1.0*y <= 2.0)]).\n", + "[INFO 01-11 17:57:00] ax.modelbridge.dispatch_utils: Using Models.BOTORCH_MODULAR since there are more ordered parameters than there are categories for the unordered categorical parameters.\n", + "[INFO 01-11 17:57:00] ax.modelbridge.dispatch_utils: Calculating the number of remaining initialization trials based on num_initialization_trials=None max_initialization_trials=None num_tunable_parameters=2 num_trials=None use_batch_trials=False\n", + "[INFO 01-11 17:57:00] ax.modelbridge.dispatch_utils: calculated num_initialization_trials=5\n", + "[INFO 01-11 17:57:00] ax.modelbridge.dispatch_utils: num_completed_initialization_trials=0 num_remaining_initialization_trials=5\n", + "[INFO 01-11 17:57:00] ax.modelbridge.dispatch_utils: `verbose`, `disable_progbar`, and `jit_compile` are not yet supported when using `choose_generation_strategy` with ModularBoTorchModel, dropping these arguments.\n", + "[INFO 01-11 17:57:00] ax.modelbridge.dispatch_utils: Using Bayesian Optimization generation strategy: GenerationStrategy(name='Sobol+BoTorch', steps=[Sobol for 5 trials, BoTorch for subsequent trials]). Iterations after 5 will take longer to generate due to model-fitting.\n" + ] + } + ], + "source": [ + "ax_client = AxClient()\n", + "ax_client.create_experiment(\n", + " name=\"my_experiment\",\n", + " parameters=[\n", + " {\"name\": \"x\", \"type\": \"range\", \"bounds\": [-10.0, 10.0]},\n", + " {\"name\": \"y\", \"type\": \"range\", \"bounds\": [-10.0, 10.0]},\n", + " ],\n", + " objectives={\"result\": ObjectiveProperties(minimize=True)},\n", + " parameter_constraints=[\"x + y <= 2.0\"], # Optional.\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Other commonly used [parameters types](https://ax.dev/docs/glossary.html#parameter) include `choice` parameters and `fixed` parameters. \n", + "\n", + "Tip 1: you can specify additional information for parameters such as `log_scale`, if a parameter operates at a log-scale and `is_ordered` for choice parameters that have a meaningful ordering.\n", + "\n", + "Tip 2: Ax is an excellent choice for multi-objective optimization problems when there are multiple competing objectives and the goal is to find all Pareto-optimal solutions.\n", + "\n", + "Tip 3: One can define constraints on both the parameters and the outcome.\n", + "\n", + "## Setting up SubmitIt\n", + "We'll use SubmitIt's `AutoExecutor` for this example. We start by initializing an `AutoExecutor`, and setting a few commonly used parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Log folder and cluster. Specify cluster='local' or cluster='debug' to run the jobs locally during development.\n", + "# When we're are ready for deployment, switch to cluster='slurm' \n", + "executor = AutoExecutor(folder=\"/tmp/submitit_runs\", cluster='local') \n", + "executor.update_parameters(timeout_min=60) # Timeout of the slurm job. Not including slurm scheduling delay.\n", + "executor.update_parameters(cpus_per_task=2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Other commonly used Slurm parameters include `partition`, `ntasks_per_node`, `cpus_per_task`, `cpus_per_gpu`, `gpus_per_node`, `gpus_per_task`, `qos`, `mem`, `mem_per_gpu`, `mem_per_cpu`, `account`.\n", + "\n", + "## Running the Optimization Loop\n", + "Now, we're ready to run the optimization loop. We'll use an ask-tell loop, where we ask Ax for a suggestion, evaluate it using our function, and then tell Ax the result.\n", + "\n", + "The example loop schedules new jobs whenever there is availability. For tasks that take a similar amount of time regardless of the parameters, it may make more sense to wait for the whole batch to finish before scheduling the next (so ax can make better informed parameter choices).\n", + "\n", + "Note that `get_next_trials` may not use all available `num_parallel_jobs` if it doesn't have good parameter candidates to run." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO 01-11 17:57:00] ax.service.ax_client: Generated new trial 0 with parameters {'x': -1.756784, 'y': -4.021679}.\n", + "[INFO 01-11 17:57:00] ax.service.ax_client: Generated new trial 1 with parameters {'x': -9.300127, 'y': -4.654682}.\n", + "[INFO 01-11 17:57:00] ax.service.ax_client: Generated new trial 2 with parameters {'x': 4.881288, 'y': -7.929573}.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[WARNING 01-11 17:57:03] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.\n", + "[INFO 01-11 17:57:03] ax.service.utils.report_utils: No results present for the specified metrics `[Metric('result')]`. Returning arm parameters and metadata only.\n" + ] + }, + { + "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", + "
trial_indexarm_nametrial_statusgeneration_methodxy
000_0RUNNINGSobol-1.756784-4.021679
111_0RUNNINGSobol-9.300127-4.654682
222_0RUNNINGSobol4.881288-7.929573
\n", + "
" + ], + "text/plain": [ + " trial_index arm_name trial_status generation_method x y\n", + "0 0 0_0 RUNNING Sobol -1.756784 -4.021679\n", + "1 1 1_0 RUNNING Sobol -9.300127 -4.654682\n", + "2 2 2_0 RUNNING Sobol 4.881288 -7.929573" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO 01-11 17:57:33] ax.service.ax_client: Completed trial 0 with data: {'result': (86.974325, None)}.\n", + "[INFO 01-11 17:57:33] ax.service.ax_client: Completed trial 1 with data: {'result': (226.196643, None)}.\n", + "[INFO 01-11 17:57:33] ax.service.ax_client: Completed trial 2 with data: {'result': (145.853961, None)}.\n", + "[INFO 01-11 17:57:33] ax.service.ax_client: Generated new trial 3 with parameters {'x': 2.752141, 'y': -8.223596}.\n", + "/private/home/marton/miniconda3/envs/axenv/lib/python3.10/site-packages/ax/core/data.py:284: FutureWarning:\n", + "\n", + "The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + "\n", + "[INFO 01-11 17:57:33] ax.service.ax_client: Generated new trial 4 with parameters {'x': 9.275037, 'y': -7.347285}.\n", + "/private/home/marton/miniconda3/envs/axenv/lib/python3.10/site-packages/ax/core/data.py:284: FutureWarning:\n", + "\n", + "The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + "\n", + "[WARNING 01-11 17:57:35] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.\n" + ] + }, + { + "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", + "
trial_indexarm_nametrial_statusgeneration_methodresultxy
000_0COMPLETEDSobol86.974325-1.756784-4.021679
111_0COMPLETEDSobol226.196643-9.300127-4.654682
222_0COMPLETEDSobol145.8539614.881288-7.929573
333_0RUNNINGSobolNaN2.752141-8.223596
444_0RUNNINGSobolNaN9.275037-7.347285
\n", + "
" + ], + "text/plain": [ + " trial_index arm_name trial_status generation_method result x \\\n", + "0 0 0_0 COMPLETED Sobol 86.974325 -1.756784 \n", + "1 1 1_0 COMPLETED Sobol 226.196643 -9.300127 \n", + "2 2 2_0 COMPLETED Sobol 145.853961 4.881288 \n", + "3 3 3_0 RUNNING Sobol NaN 2.752141 \n", + "4 4 4_0 RUNNING Sobol NaN 9.275037 \n", + "\n", + " y \n", + "0 -4.021679 \n", + "1 -4.654682 \n", + "2 -7.929573 \n", + "3 -8.223596 \n", + "4 -7.347285 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO 01-11 17:58:05] ax.service.ax_client: Completed trial 3 with data: {'result': (149.477736, None)}.\n", + "[INFO 01-11 17:58:05] ax.service.ax_client: Completed trial 4 with data: {'result': (168.136982, None)}.\n", + "[INFO 01-11 17:58:11] ax.service.ax_client: Generated new trial 5 with parameters {'x': 0.590279, 'y': -1.398661}.\n", + "/private/home/marton/miniconda3/envs/axenv/lib/python3.10/site-packages/ax/core/data.py:284: FutureWarning:\n", + "\n", + "The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + "\n", + "[INFO 01-11 17:58:11] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", + "[INFO 01-11 17:58:17] ax.service.ax_client: Generated new trial 6 with parameters {'x': -2.248477, 'y': 1.686329}.\n", + "/private/home/marton/miniconda3/envs/axenv/lib/python3.10/site-packages/ax/core/data.py:284: FutureWarning:\n", + "\n", + "The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + "\n", + "[INFO 01-11 17:58:17] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", + "[INFO 01-11 17:58:23] ax.service.ax_client: Generated new trial 7 with parameters {'x': 1.439472, 'y': -3.621688}.\n", + "/private/home/marton/miniconda3/envs/axenv/lib/python3.10/site-packages/ax/core/data.py:284: FutureWarning:\n", + "\n", + "The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + "\n", + "[WARNING 01-11 17:58:26] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.\n" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
trial_indexarm_nametrial_statusgeneration_methodresultxy
000_0COMPLETEDSobol86.974325-1.756784-4.021679
111_0COMPLETEDSobol226.196643-9.300127-4.654682
222_0COMPLETEDSobol145.8539614.881288-7.929573
333_0COMPLETEDSobol149.4777362.752141-8.223596
444_0COMPLETEDSobol168.1369829.275037-7.347285
555_0RUNNINGBoTorchNaN0.590279-1.398661
666_0RUNNINGBoTorchNaN-2.2484771.686329
777_0RUNNINGBoTorchNaN1.439472-3.621688
\n", + "
" + ], + "text/plain": [ + " trial_index arm_name trial_status generation_method result x \\\n", + "0 0 0_0 COMPLETED Sobol 86.974325 -1.756784 \n", + "1 1 1_0 COMPLETED Sobol 226.196643 -9.300127 \n", + "2 2 2_0 COMPLETED Sobol 145.853961 4.881288 \n", + "3 3 3_0 COMPLETED Sobol 149.477736 2.752141 \n", + "4 4 4_0 COMPLETED Sobol 168.136982 9.275037 \n", + "5 5 5_0 RUNNING BoTorch NaN 0.590279 \n", + "6 6 6_0 RUNNING BoTorch NaN -2.248477 \n", + "7 7 7_0 RUNNING BoTorch NaN 1.439472 \n", + "\n", + " y \n", + "0 -4.021679 \n", + "1 -4.654682 \n", + "2 -7.929573 \n", + "3 -8.223596 \n", + "4 -7.347285 \n", + "5 -1.398661 \n", + "6 1.686329 \n", + "7 -3.621688 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO 01-11 17:58:56] ax.service.ax_client: Completed trial 5 with data: {'result': (34.952299, None)}.\n", + "[INFO 01-11 17:58:56] ax.service.ax_client: Completed trial 6 with data: {'result': (32.899584, None)}.\n", + "[INFO 01-11 17:58:56] ax.service.ax_client: Completed trial 7 with data: {'result': (60.525376, None)}.\n", + "[INFO 01-11 17:59:03] ax.service.ax_client: Generated new trial 8 with parameters {'x': 0.308729, 'y': 1.691271}.\n", + "/private/home/marton/miniconda3/envs/axenv/lib/python3.10/site-packages/ax/core/data.py:284: FutureWarning:\n", + "\n", + "The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + "\n", + "[INFO 01-11 17:59:03] ax.modelbridge.torch: The observations are identical to the last set of observations used to fit the model. Skipping model fitting.\n", + "[INFO 01-11 17:59:09] ax.service.ax_client: Generated new trial 9 with parameters {'x': 0.3043, 'y': 1.6957}.\n", + "/private/home/marton/miniconda3/envs/axenv/lib/python3.10/site-packages/ax/core/data.py:284: FutureWarning:\n", + "\n", + "The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + "\n", + "[WARNING 01-11 17:59:11] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.\n" + ] + }, + { + "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", + " \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", + "
trial_indexarm_nametrial_statusgeneration_methodresultxy
000_0COMPLETEDSobol86.974325-1.756784-4.021679
111_0COMPLETEDSobol226.196643-9.300127-4.654682
222_0COMPLETEDSobol145.8539614.881288-7.929573
333_0COMPLETEDSobol149.4777362.752141-8.223596
444_0COMPLETEDSobol168.1369829.275037-7.347285
555_0COMPLETEDBoTorch34.9522990.590279-1.398661
666_0COMPLETEDBoTorch32.899584-2.2484771.686329
777_0COMPLETEDBoTorch60.5253761.439472-3.621688
888_0RUNNINGBoTorchNaN0.3087291.691271
999_0RUNNINGBoTorchNaN0.3043001.695700
\n", + "
" + ], + "text/plain": [ + " trial_index arm_name trial_status generation_method result x \\\n", + "0 0 0_0 COMPLETED Sobol 86.974325 -1.756784 \n", + "1 1 1_0 COMPLETED Sobol 226.196643 -9.300127 \n", + "2 2 2_0 COMPLETED Sobol 145.853961 4.881288 \n", + "3 3 3_0 COMPLETED Sobol 149.477736 2.752141 \n", + "4 4 4_0 COMPLETED Sobol 168.136982 9.275037 \n", + "5 5 5_0 COMPLETED BoTorch 34.952299 0.590279 \n", + "6 6 6_0 COMPLETED BoTorch 32.899584 -2.248477 \n", + "7 7 7_0 COMPLETED BoTorch 60.525376 1.439472 \n", + "8 8 8_0 RUNNING BoTorch NaN 0.308729 \n", + "9 9 9_0 RUNNING BoTorch NaN 0.304300 \n", + "\n", + " y \n", + "0 -4.021679 \n", + "1 -4.654682 \n", + "2 -7.929573 \n", + "3 -8.223596 \n", + "4 -7.347285 \n", + "5 -1.398661 \n", + "6 1.686329 \n", + "7 -3.621688 \n", + "8 1.691271 \n", + "9 1.695700 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO 01-11 17:59:41] ax.service.ax_client: Completed trial 8 with data: {'result': (12.573169, None)}.\n", + "[INFO 01-11 17:59:41] ax.service.ax_client: Completed trial 9 with data: {'result': (12.576597, None)}.\n", + "[WARNING 01-11 17:59:41] ax.service.utils.report_utils: Column reason missing for all trials. Not appending column.\n" + ] + }, + { + "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", + " \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", + "
trial_indexarm_nametrial_statusgeneration_methodresultxy
000_0COMPLETEDSobol86.974325-1.756784-4.021679
111_0COMPLETEDSobol226.196643-9.300127-4.654682
222_0COMPLETEDSobol145.8539614.881288-7.929573
333_0COMPLETEDSobol149.4777362.752141-8.223596
444_0COMPLETEDSobol168.1369829.275037-7.347285
555_0COMPLETEDBoTorch34.9522990.590279-1.398661
666_0COMPLETEDBoTorch32.899584-2.2484771.686329
777_0COMPLETEDBoTorch60.5253761.439472-3.621688
888_0COMPLETEDBoTorch12.5731690.3087291.691271
999_0COMPLETEDBoTorch12.5765970.3043001.695700
\n", + "
" + ], + "text/plain": [ + " trial_index arm_name trial_status generation_method result x \\\n", + "0 0 0_0 COMPLETED Sobol 86.974325 -1.756784 \n", + "1 1 1_0 COMPLETED Sobol 226.196643 -9.300127 \n", + "2 2 2_0 COMPLETED Sobol 145.853961 4.881288 \n", + "3 3 3_0 COMPLETED Sobol 149.477736 2.752141 \n", + "4 4 4_0 COMPLETED Sobol 168.136982 9.275037 \n", + "5 5 5_0 COMPLETED BoTorch 34.952299 0.590279 \n", + "6 6 6_0 COMPLETED BoTorch 32.899584 -2.248477 \n", + "7 7 7_0 COMPLETED BoTorch 60.525376 1.439472 \n", + "8 8 8_0 COMPLETED BoTorch 12.573169 0.308729 \n", + "9 9 9_0 COMPLETED BoTorch 12.576597 0.304300 \n", + "\n", + " y \n", + "0 -4.021679 \n", + "1 -4.654682 \n", + "2 -7.929573 \n", + "3 -8.223596 \n", + "4 -7.347285 \n", + "5 -1.398661 \n", + "6 1.686329 \n", + "7 -3.621688 \n", + "8 1.691271 \n", + "9 1.695700 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "total_budget = 10\n", + "num_parallel_jobs = 3\n", + "\n", + "jobs = []\n", + "submitted_jobs = 0\n", + "# Run until all the jobs have finished and our budget is used up.\n", + "while submitted_jobs < total_budget or jobs:\n", + " for job, trial_index in jobs[:]:\n", + " # Poll if any jobs completed\n", + " # Local and debug jobs don't run until .result() is called.\n", + " if job.done() or type(job) in [LocalJob, DebugJob]:\n", + " result = job.result()\n", + " ax_client.complete_trial(trial_index=trial_index, raw_data=result)\n", + " jobs.remove((job, trial_index))\n", + " \n", + " # Schedule new jobs if there is availablity\n", + " trial_index_to_param, _ = ax_client.get_next_trials(\n", + " max_trials=min(num_parallel_jobs - len(jobs), total_budget - submitted_jobs))\n", + " for trial_index, parameters in trial_index_to_param.items():\n", + " job = executor.submit(evaluate, parameters)\n", + " submitted_jobs += 1\n", + " jobs.append((job, trial_index))\n", + " time.sleep(1)\n", + " \n", + " # Display the current trials.\n", + " display(exp_to_df(ax_client.experiment))\n", + "\n", + " # Sleep for a bit before checking the jobs again to avoid overloading the cluster. \n", + " # If you have a large number of jobs, consider adding a sleep statement in the job polling loop aswell.\n", + " time.sleep(30)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "## Finally\n", + "\n", + "We can retrieve the best parameters and render the response surface." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO 01-11 18:00:11] ax.service.ax_client: Retrieving contour plot with parameter 'x' on X-axis and 'y' on Y-axis, for metric 'result'. Remaining parameters are affixed to the middle of their range.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best set of parameters: {'x': -2.2484768683250875, 'y': 1.6863286966529074}\n", + "Mean objective value: {'result': 32.90128530853501}\n" + ] + }, + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "showLink": false + }, + "data": [ + { + "autocolorscale": false, + "autocontour": true, + "colorbar": { + "tickfont": { + "size": 8 + }, + "ticksuffix": "", + "x": 0.45, + "y": 0.5 + }, + "colorscale": [ + [ + 0, + "rgb(247,252,253)" + ], + [ + 0.125, + "rgb(229,245,249)" + ], + [ + 0.25, + "rgb(204,236,230)" + ], + [ + 0.375, + "rgb(153,216,201)" + ], + [ + 0.5, + "rgb(102,194,164)" + ], + [ + 0.625, + "rgb(65,174,118)" + ], + [ + 0.75, + "rgb(35,139,69)" + ], + [ + 0.875, + "rgb(0,109,44)" + ], + [ + 1, + "rgb(0,68,27)" + ] + ], + "contours": { + "coloring": "heatmap" + }, + "hoverinfo": "x+y+z", + "ncontours": 25, + "type": "contour", + "x": [ + -10, + -9.591836734693878, + -9.183673469387756, + -8.775510204081632, + -8.36734693877551, + -7.959183673469388, + -7.551020408163265, + -7.142857142857142, + -6.73469387755102, + -6.326530612244898, + -5.918367346938775, + -5.5102040816326525, + -5.1020408163265305, + -4.6938775510204085, + -4.285714285714286, + -3.8775510204081627, + -3.4693877551020407, + -3.0612244897959187, + -2.6530612244897958, + -2.244897959183673, + -1.8367346938775508, + -1.4285714285714288, + -1.020408163265305, + -0.612244897959183, + -0.204081632653061, + 0.204081632653061, + 0.612244897959183, + 1.0204081632653068, + 1.4285714285714288, + 1.8367346938775508, + 2.2448979591836746, + 2.6530612244897966, + 3.0612244897959187, + 3.4693877551020407, + 3.8775510204081627, + 4.2857142857142865, + 4.6938775510204085, + 5.1020408163265305, + 5.510204081632654, + 5.918367346938776, + 6.326530612244898, + 6.73469387755102, + 7.142857142857142, + 7.551020408163264, + 7.95918367346939, + 8.367346938775512, + 8.775510204081634, + 9.183673469387756, + 9.591836734693878, + 10 + ], + "xaxis": "x", + "y": [ + -10, + -9.591836734693878, + -9.183673469387756, + -8.775510204081632, + -8.36734693877551, + -7.959183673469388, + -7.551020408163265, + -7.142857142857142, + -6.73469387755102, + -6.326530612244898, + -5.918367346938775, + -5.5102040816326525, + -5.1020408163265305, + -4.6938775510204085, + -4.285714285714286, + -3.8775510204081627, + -3.4693877551020407, + -3.0612244897959187, + -2.6530612244897958, + -2.244897959183673, + -1.8367346938775508, + -1.4285714285714288, + -1.020408163265305, + -0.612244897959183, + -0.204081632653061, + 0.204081632653061, + 0.612244897959183, + 1.0204081632653068, + 1.4285714285714288, + 1.8367346938775508, + 2.2448979591836746, + 2.6530612244897966, + 3.0612244897959187, + 3.4693877551020407, + 3.8775510204081627, + 4.2857142857142865, + 4.6938775510204085, + 5.1020408163265305, + 5.510204081632654, + 5.918367346938776, + 6.326530612244898, + 6.73469387755102, + 7.142857142857142, + 7.551020408163264, + 7.95918367346939, + 8.367346938775512, + 8.775510204081634, + 9.183673469387756, + 9.591836734693878, + 10 + ], + "yaxis": "y", + "z": [ + [ + 269.278867722867, + 266.66307665070457, + 263.810649551369, + 260.7369172060047, + 257.46038590601313, + 254.00254368480972, + 250.3875750971642, + 246.64199267863637, + 242.79419705177145, + 238.87398013071822, + 234.9119870333042, + 230.93915241011211, + 226.98612634728758, + 223.0827042094827, + 219.25727409884274, + 215.53629522571217, + 211.94382048878668, + 208.5010768964983, + 205.2261179886575, + 202.13356295539836, + 199.23443752259988, + 196.53613175139225, + 194.04248962667822, + 191.75404468005507, + 189.66841487322736, + 187.78086833459832, + 186.08506857138565, + 184.57400165809605, + 183.24107455830617, + 182.08134486782043, + 181.09278387454816, + 180.27737395619914, + 179.64171774167812, + 179.19678979799056, + 178.95662707725774, + 178.93610800157262, + 179.14828244821274, + 179.60181991162156, + 180.29906451592592, + 181.23498903325353, + 182.39708440335534, + 183.7660082930508, + 185.31673036801942, + 187.01993958153275, + 188.84354796057187, + 190.7541825205459, + 192.71858677906525, + 194.70486274632154, + 196.68348801771958, + 198.62805578430073 + ], + [ + 268.4671169100186, + 265.63763103224755, + 262.5553483185915, + 259.23643651560667, + 255.70057777664874, + 251.97076487825785, + 248.072992657775, + 244.0358550768819, + 239.89006288178973, + 235.6678994193581, + 231.40263290558244, + 227.12790281374578, + 222.87709669215286, + 218.68273224030992, + 214.57585831896952, + 210.58548799407538, + 206.738076769915, + 203.05705974014205, + 199.5624622479086, + 196.27059951479066, + 193.19388130672016, + 190.34073787785542, + 187.71568313539166, + 185.31953030897438, + 183.14977457344673, + 181.20115618015944, + 179.4664165090354, + 177.9372571244225, + 176.60550566924974, + 175.46447486785647, + 174.51045306229514, + 173.7441476836815, + 173.17168625121099, + 172.8045856924115, + 172.65827950507466, + 172.74940154794987, + 173.09251213076737, + 173.69701845178423, + 174.56490727459914, + 175.68966332370485, + 177.05637054600692, + 178.6426757218457, + 180.42022484387547, + 182.3562915836033, + 184.41544295396773, + 186.561160198474, + 188.7573559469493, + 190.96972209905366, + 193.1668291600855, + 195.32090202846837 + ], + [ + 267.40222831723617, + 264.35316612500486, + 261.0346252921401, + 257.46358690746223, + 253.66091031043356, + 249.65111794851623, + 245.4620598426572, + 241.1244713319996, + 236.67144321523938, + 232.13782592743087, + 227.5595893356345, + 222.97315795607193, + 218.41473888068066, + 213.9196573033991, + 209.52171282883253, + 205.25256899876916, + 201.14118869033018, + 197.21332901826352, + 193.49111075870942, + 189.99267867305227, + 186.73197003949628, + 183.71860892261822, + 180.9579431861547, + 178.45124020577745, + 176.196056081873, + 174.18679231634596, + 172.41545361642676, + 170.87262048496774, + 169.54864946735498, + 168.43510891860376, + 167.52643628862782, + 166.82171534821964, + 166.32618480513378, + 166.0515847824408, + 166.01451295857817, + 166.23311810887716, + 166.72319635794344, + 167.4945702404709, + 168.5484718300089, + 169.87647301578534, + 171.46091447194468, + 173.27625798199836, + 175.29080725971545, + 177.4685089233626, + 179.77072709144454, + 182.1579533746559, + 184.59141989080257, + 187.03455511325, + 189.45418138602895, + 191.8213370769897 + ], + [ + 266.0721452130021, + 262.7987872321677, + 259.23889244395826, + 255.41022582696536, + 251.33482000272875, + 247.0387465873374, + 242.55174864715173, + 237.90675268014144, + 233.13928500811798, + 228.2868195638535, + 223.38808259978487, + 218.4823363068246, + 213.60865921687304, + 208.8052377127865, + 204.10868065051204, + 199.55336825240207, + 195.17084697710175, + 190.9892836858411, + 187.03299459876172, + 183.32206664277436, + 179.8720902088096, + 176.69402261042856, + 173.79420057700827, + 171.17451828877464, + 168.83278549768997, + 166.76327898157086, + 164.9575004572296, + 163.40515508960988, + 162.09536627132417, + 161.0181433391678, + 160.1661168166572, + 159.5365331694974, + 159.13329756106265, + 158.96791078272938, + 159.0576131785102, + 159.42142719195473, + 160.07577366041744, + 161.03038081722545, + 162.28524245152911, + 163.82959608292992, + 165.64282660506797, + 167.69623728475094, + 169.95498287178813, + 172.37996115194858, + 174.92963447075564, + 177.56178617468805, + 180.2352065718046, + 182.91126042105003, + 185.5552109361609, + 188.13711193252024 + ], + [ + 264.46512980327105, + 260.96405653775645, + 257.1591930593155, + 253.0690542129778, + 248.71683809365788, + 244.1301806108287, + 239.3407489587876, + 234.38369942015981, + 229.29703245836288, + 224.12087901925884, + 218.89674812009747, + 213.66675967678486, + 208.47288030761246, + 203.35617496357952, + 198.35608432656338, + 193.5097371096664, + 188.8513074790107, + 184.4114303459159, + 180.2166905867192, + 176.28920547001633, + 172.64632176025154, + 169.3004493546735, + 166.2590516625948, + 163.52480979993268, + 161.09597429309576, + 158.96691580431957, + 157.12888633597373, + 155.57100436849493, + 154.28148037990357, + 153.24910169793236, + 152.464996494246, + 151.9246956493843, + 151.63048014637008, + 151.59298226534986, + 151.82908272140097, + 152.35748460208367, + 153.19419851346782, + 154.34815152809108, + 155.8175873915172, + 157.58911004247233, + 159.63919943962821, + 161.936296016616, + 164.44281428815373, + 167.11704958543055, + 169.91500249040328, + 172.79214738620678, + 175.70516217410326, + 178.6135997924481, + 181.4813742667102, + 184.27776573653202 + ], + [ + 262.5699134629136, + 258.83912411812463, + 254.78731603282785, + 250.43371685496606, + 245.80268006872888, + 240.92341787630653, + 235.8295460349776, + 230.558476587296, + 225.15070276291675, + 219.64901876835677, + 214.09770940903235, + 208.54173472309168, + 203.0259260586082, + 197.5942037796147, + 192.28882344870982, + 187.14965676702536, + 182.21351539199603, + 177.51352947908197, + 173.07859764067177, + 168.93292986846345, + 165.0957084115111, + 161.5808922976716, + 158.39718852037248, + 155.54820762239754, + 153.0328156005471, + 150.84569034122478, + 148.97809091701458, + 147.41885188540974, + 146.1556202445354, + 145.17635713662244, + 144.47112757701802, + 144.0341979817753, + 143.86639259156627, + 143.9765973168144, + 144.3797938960864, + 145.0927931973236, + 146.1297702201598, + 147.4978230480531, + 149.19296416938852, + 151.19922042821784, + 153.49057414230813, + 156.0331203037687, + 158.78707841103866, + 161.70868873988485, + 164.75202475962067, + 167.87075349176848, + 171.019874228354, + 174.1574542848739, + 177.2462922222256, + 180.25510319794722 + ], + [ + 260.37591018755256, + 256.4149155503777, + 252.11595955070288, + 247.49894425075706, + 242.58936797644918, + 237.41802927422896, + 232.02050977336512, + 226.4364879761885, + 220.70894407683204, + 214.883309150231, + 209.00659804924027, + 203.12655084349075, + 197.29079623408342, + 191.54604309660158, + 185.93730289391436, + 180.50714560282142, + 175.29499452726623, + 170.33647047441866, + 165.66280255569205, + 161.30033005486476, + 157.27012533909027, + 153.58776930172502, + 150.2633067975852, + 147.30140073815235, + 144.70169348644177, + 142.45937773443598, + 140.56597947045597, + 139.01036266464206, + 137.77997504399806, + 136.86236093680375, + 136.24696256025257, + 135.92718556042456, + 135.9024453465737, + 136.17908153256016, + 136.76874883521808, + 137.68479274352055, + 138.93799022602101, + 140.53222655616986, + 142.46085870363106, + 144.70579442172055, + 147.2391060014448, + 150.02513581100587, + 153.02249830654478, + 156.18596564726852, + 159.46826753311277, + 162.8218381613978, + 166.20054348375467, + 169.56142203840432, + 172.8664553598877, + 176.0839793873941 + ], + [ + 257.8735160408623, + 253.68339907849492, + 249.13896724261355, + 244.2607590757014, + 239.07540852215303, + 233.61530919700607, + 227.918016832141, + 222.02546708059893, + 215.9830904768288, + 209.83888944602035, + 203.64251897853998, + 197.44439271939913, + 191.2948228204516, + 185.2431944296328, + 179.3371727500303, + 173.62194113887196, + 168.13947225228713, + 162.92784064204375, + 158.0205941833123, + 153.44621207786176, + 149.22768619496046, + 145.3822660546293, + 141.9214022265598, + 138.85090849924413, + 136.1713456873977, + 133.87861836619555, + 131.96477644583962, + 130.41902545842106, + 129.22896451740067, + 128.3820754972591, + 127.86745877033714, + 127.67769850490876, + 127.81044690615498, + 128.26890397198548, + 129.06047408725655, + 130.19379729657496, + 131.6749625423484, + 133.50365173714252, + 135.67016609399508, + 138.15448128707132, + 140.92725789264435, + 143.9516641572953, + 147.18530476461626, + 150.58208213600008, + 154.0939821768367, + 157.67280955342886, + 161.2719040982731, + 164.8478713624421, + 168.36234325731456, + 171.78338009882896 + ], + [ + 255.05452203554825, + 250.63796037957007, + 245.85166544212706, + 240.71677647111053, + 235.26105654993677, + 229.51850089795403, + 223.5286335535684, + 217.33560974582053, + 210.98723395902698, + 204.53396812558032, + 198.02796895826205, + 191.52216922880552, + 185.06940430258737, + 178.72157892907563, + 172.52886739020428, + 166.5389412461147, + 160.79622283530082, + 155.3411698436952, + 150.2096072317218, + 145.432137179988, + 141.03367239366207, + 137.03314631396958, + 133.44344744372222, + 130.2716017092093, + 127.51919589832843, + 125.18301391813877, + 123.25585797705779, + 121.72754629941372, + 120.58610151201817, + 119.81914513104923, + 119.41546348202952, + 119.36657570592583, + 119.66791396500521, + 120.31905508922785, + 121.32259576143437, + 122.6817587187477, + 124.39725203509876, + 126.46409226266354, + 128.869215042988, + 131.5905527969497, + 134.5975808670178, + 137.85273666040104, + 141.31315232941927, + 144.93243497304263, + 148.6624168988111, + 152.4548723679014, + 156.26322006252178, + 160.04422636582595, + 163.75963861961492, + 167.3773427875005 + ], + [ + 251.91267273345096, + 247.2739182985481, + 242.25133605310037, + 236.8666338427516, + 231.14870058071648, + 225.13313324077888, + 218.86139379481602, + 212.379777786522, + 205.73833620435585, + 198.98982597452869, + 192.1887173509799, + 185.39026222401543, + 178.649616875861, + 172.02100892757136, + 165.55693765316911, + 159.30739825960455, + 153.31912427950544, + 147.6348490381908, + 142.29259909544697, + 137.32505110040452, + 132.75900669493674, + 128.61505824418876, + 124.90751422905551, + 121.64461643840697, + 118.8290259097992, + 116.45851533244813, + 114.52680600659019, + 113.02452069329901, + 111.94026143540218, + 111.26182907450328, + 110.97754775140626, + 111.07753248506718, + 111.5545823350291, + 112.40430906045196, + 113.62424153218322, + 115.21195748517471, + 117.16261390993692, + 119.46644943465242, + 122.10688438204686, + 125.05967056253792, + 128.29314288783726, + 131.7692694403281, + 135.44512157304374, + 139.2745061566951, + 143.20963765377087, + 147.2028083378573, + 151.2080447005211, + 155.1827185226432, + 159.08898018993028, + 162.89471665706458 + ], + [ + 248.4444076675744, + 243.58922030754377, + 238.33786545923965, + 232.71259245252753, + 226.74341395600496, + 220.467510965533, + 213.9282083129217, + 207.17380179800728, + 200.25639938745633, + 193.23083380301432, + 186.15365547548285, + 179.08219802941184, + 172.07370358212808, + 165.18449425911945, + 158.46917682481273, + 151.97986858364175, + 145.76543512362693, + 139.8707355231243, + 134.3358813414558, + 129.1955366305864, + 124.47832012270449, + 120.20640810659388, + 116.39544485180578, + 113.05481220452076, + 110.18820983363527, + 107.79442651783141, + 105.86818767906253, + 104.40102395803163, + 103.38217205853697, + 102.79954962040125, + 102.64080612249055, + 102.89433620334712, + 103.55000697045561, + 104.59930049740363, + 106.03467641039059, + 107.84818532149728, + 110.02960558042449, + 112.56453716227885, + 115.43291319970304, + 118.60825720805637, + 122.05776711006116, + 125.74308079671997, + 129.62148507773028, + 133.6473604737993, + 137.77372903580022, + 141.95383238909875, + 146.1426906847904, + 150.29857172590272, + 154.38423381521002, + 158.36774826095154 + ], + [ + 244.6498269758033, + 239.58536168452957, + 234.11461566862275, + 228.26035937507686, + 222.05372021963024, + 215.53340020497956, + 208.74443419083812, + 201.73689750795188, + 194.56469995682818, + 187.2844834728462, + 179.95461255053272, + 172.63424175842357, + 165.38244473827066, + 158.25739003784156, + 151.31555010754627, + 144.61093066175383, + 138.19430865642872, + 132.11246945600527, + 126.40744039958629, + 121.11573616305036, + 116.26767328884864, + 111.88688007577262, + 107.99017448675124, + 104.58790784886325, + 101.68468492588359, + 99.28024553506081, + 97.3703201700808, + 95.94737710489488, + 95.0012843206093, + 94.51998112273115, + 94.49024513448961, + 94.89851725596623, + 95.73157830409062, + 96.97679975495919, + 98.62178381603391, + 100.6534033886514, + 103.05644745674817, + 105.81219946521418, + 108.89729167866511, + 112.28308685454417, + 115.9356802427201, + 119.81646344599133, + 123.88310711066268, + 128.09080900522684, + 132.39368442084248, + 136.7462094810879, + 141.10464203785872, + 145.42833173106393, + 149.6808011266451, + 153.83047112528044 + ], + [ + 240.53392397590596, + 235.26857725716428, + 229.58956916939144, + 223.52018335983968, + 217.09261785353473, + 210.346929916864, + 203.32959762613322, + 196.09217125660527, + 188.69005577583326, + 181.18140717278024, + 173.62612334134607, + 166.08491188214757, + 158.61841895347413, + 151.2864048314369, + 144.1469530067459, + 137.2557003544451, + 130.66507613542342, + 124.42353761073602, + 118.57479138417563, + 113.1569982711073, + 108.20199554140622, + 103.73467315269227, + 99.77278162325032, + 96.32737801715996, + 93.40374792654087, + 91.00243079985665, + 89.12008368291558, + 87.75008386715103, + 86.88290433206761, + 86.50642677850446, + 86.60641690580836, + 87.16723594720908, + 88.17257804527296, + 89.60589984883347, + 91.45033306567817, + 93.68808175788104, + 96.29947380151359, + 99.26192353306838, + 102.54906842129914, + 106.13027828127001, + 109.9706301127737, + 114.03133665780281, + 118.27054625956161, + 122.64440491045147, + 127.10827514975426, + 131.61801967058227, + 136.13126419895355, + 140.60854952676434, + 145.01427528144987, + 149.31734823115275 + ], + [ + 236.10810579801068, + 230.6513579925379, + 224.77680351973834, + 218.50827290424127, + 211.87886151317443, + 204.92964521547242, + 197.70817351159943, + 190.26711632822156, + 182.66304562678297, + 174.95532966005754, + 167.2051200790815, + 159.47441430320163, + 151.8251775918572, + 144.31851103609978, + 137.01385311426395, + 129.9682033725724, + 123.23535699224253, + 116.86513827001346, + 110.90261932647904, + 105.3873090276939, + 100.35230791669596, + 95.82351974259124, + 91.81932228448781, + 88.3511545361401, + 85.42470766838065, + 83.04110097414508, + 81.19775342981482, + 79.88885356455339, + 79.10543735037524, + 78.83528614992728, + 79.06308576702678, + 79.7711106474503, + 80.94013206902603, + 82.55006055422932, + 84.58009118432595, + 87.00837872556464, + 89.81140213601427, + 92.96322859941432, + 96.434882649434, + 100.19397872340403, + 104.20470300967469, + 108.42815597764165, + 112.82301031873443, + 117.34640806131755, + 121.9550107903061, + 126.60611755122576, + 131.25876691584833, + 135.87473994604443, + 140.41938426274186, + 144.86219532414538 + ], + [ + 231.39182131670105, + 225.7542774209353, + 219.69831993493062, + 213.24843757988043, + 206.4382566171725, + 199.30942992033505, + 191.9101731719532, + 184.29391063570569, + 176.5180516340492, + 168.64287744265596, + 160.73051879015526, + 152.8440063292138, + 145.04637863814034, + 137.39983435022086, + 129.9649167676577, + 122.79972062082645, + 115.95911123054958, + 109.49394589064197, + 103.45028540020338, + 97.86857986309467, + 92.78280699904174, + 88.2195608951466, + 84.19751681269764, + 80.72820011393017, + 77.81744902155923, + 75.46669042198344, + 73.67382922580593, + 72.43364801942485, + 71.73765018558365, + 71.57350491992972, + 71.92482770829817, + 72.77194464950401, + 74.09305973866627, + 75.86507557305345, + 78.06389880761938, + 80.66431877594044, + 83.63961342916883, + 86.96105391164917, + 90.59746850268318, + 94.51499180375603, + 98.67707439135637, + 103.04477457433325, + 107.5773092397034, + 112.23281109956775, + 116.96922427070743, + 121.74526429426177, + 126.52136770555175, + 131.26055840672797, + 135.92916541047174, + 140.49734253821708 + ], + [ + 226.4133728950045, + 220.60713360766707, + 214.38526914659712, + 207.77297278667714, + 200.80418205243615, + 193.52075521122734, + 185.97118713684927, + 178.20929479585868, + 170.29299477944798, + 162.28318085023977, + 154.24268737185918, + 146.2353221324695, + 138.32495338154453, + 130.57463791105704, + 123.04577903769743, + 115.79730505930893, + 108.88485985007814, + 102.35999733672355, + 96.26937019012274, + 90.65389962410165, + 85.5479070988798, + 80.97819335528752, + 76.96346787603723, + 73.51519247776604, + 70.6391358305788, + 68.33671247701028, + 66.60592101710805, + 65.4417497406991, + 64.83592182593526, + 64.77596705296713, + 65.24454717572107, + 66.22040299546961, + 67.67974341408174, + 69.59713423059537, + 71.94590028129463, + 74.69816146212494, + 77.82463513814108, + 81.29434050104392, + 85.07432996440343, + 89.1295474939414, + 93.42287797831783, + 97.91541274785165, + 102.56692149900914, + 107.33649474362348, + 112.18330438838018, + 117.06742153773287, + 121.95062797535535, + 126.79716004137795, + 131.57433131480036, + 136.25299450793452 + ], + [ + 221.20890430430472, + 215.24765034960467, + 208.87654880077133, + 202.12148621434602, + 195.01664479342628, + 187.6038851986653, + 179.93168337711487, + 172.0539243629323, + 164.0287141479721, + 155.91725934984825, + 147.7828184860035, + 139.6897146720132, + 131.70239667761533, + 123.88453596164189, + 116.29814910696398, + 109.00273705141745, + 102.05443410667088, + 95.50516047201923, + 89.4017713284915, + 83.78519383800977, + 78.68954730230088, + 74.14131853915103, + 70.15902860813688, + 66.75397034064585, + 63.931629933646796, + 61.69306775223847, + 60.03593216293805, + 58.95491578401257, + 58.44148722581295, + 58.48284493629462, + 59.061045035024655, + 60.153897759403854, + 61.73632937530849, + 63.7812817287756, + 66.2601963270298, + 69.14318885679582, + 72.39902125200109, + 75.99497767596506, + 79.89674226663692, + 84.06835838809661, + 88.4723235019778, + 93.0698450307041, + 97.82125547689469, + 102.68656302250314, + 107.626098314218, + 112.601209020446, + 117.5749502669271, + 122.51272068508442, + 127.3828004195688, + 132.15675882014855 + ], + [ + 215.820322546481, + 209.71910228126933, + 203.216366297047, + 196.3386627063994, + 189.12039142694738, + 181.60332296212545, + 173.83572639991627, + 165.87130238809016, + 157.7680662551098, + 149.58725294793706, + 141.39226726465884, + 133.24767999843792, + 125.21826193851643, + 117.36804557495773, + 109.75940512047312, + 102.45214739348447, + 95.5026083209161, + 88.9627518657844, + 82.87927053199626, + 77.29269356881767, + 72.23653993607877, + 67.73666058712209, + 63.81109745213158, + 60.47072727798401, + 57.72049145659935, + 55.560743204673756, + 53.9883368319844, + 52.99717366296989, + 52.57798234189485, + 52.71741299253364, + 53.39734412297344, + 54.595358614163914, + 56.285807159903214, + 58.44069034416136, + 61.03022249648342, + 64.02313450837968, + 67.38679672497317, + 71.08724495062222, + 75.08918691505048, + 79.35605364713876, + 83.85014157281914, + 88.53286966766633, + 93.3651548732276, + 98.30789082795835, + 103.32250127842254, + 108.37153082832147, + 113.4192318677653, + 118.43210733526344, + 123.37937407383627, + 128.2333203734766 + ], + [ + 210.29323957972792, + 204.06820857189268, + 197.4521375080763, + 190.47219022512348, + 183.16295925253098, + 175.56607634721735, + 167.7294899807303, + 159.70653460418214, + 151.55490495260037, + 143.33560815618506, + 135.11192871289379, + 126.94841714847608, + 118.90990074277377, + 111.060509764316, + 103.46271202354284, + 96.17635038009504, + 89.25768121799915, + 82.75841682348296, + 76.72478290307379, + 71.19662068243967, + 66.20660571893066, + 61.779733538924916, + 57.93328507630613, + 54.677399992469496, + 52.01614640224872, + 49.94879767675732, + 48.4709934416305, + 47.57544911737966, + 47.25192554134951, + 47.486558075490095, + 48.26125218721663, + 49.553791976345366, + 51.338515841510635, + 53.5870805381862, + 56.26906717115891, + 59.352391455696, + 62.80355713013073, + 66.58781182521392, + 70.66926581433714, + 75.01102606958854, + 79.57538461388148, + 84.32408396403491, + 89.21866596252224, + 94.2208955262504, + 99.29323917201785, + 104.39937031892501, + 109.50466952739158, + 114.57668790942782, + 119.58554559927512, + 124.50424379160702 + ], + [ + 204.67521841899423, + 198.34338741990288, + 191.63275706399412, + 184.57104779536104, + 177.1930094532079, + 169.5400961050471, + 161.65985772177422, + 153.60512897786796, + 145.43309837929786, + 137.20432100724366, + 128.98171268532482, + 120.82954270151684, + 112.81242908811669, + 104.99433392960488, + 97.43755454936695, + 90.20170849182367, + 83.34271545613124, + 76.91178815283857, + 70.954458326423, + 65.50968786447015, + 60.60915162564358, + 56.2768197758242, + 52.52897535649027, + 49.37473103626831, + 46.81697647526188, + 44.853583662831085, + 43.47865264449803, + 42.683488752190655, + 42.456868471761965, + 42.78451122437741, + 43.64842329690319, + 45.02674450007564, + 46.89411914171026, + 49.22229578823179, + 51.9807134819629, + 55.13697454703224, + 58.65719559075504, + 62.50626779190525, + 66.64806927446273, + 71.0456706366259, + 75.66156616893863, + 80.45795148047365, + 85.39705554333187, + 90.44152333379019, + 95.55483553289596, + 100.70174489420359, + 105.848705218362, + 110.96426839284773, + 116.01942738762259, + 120.98788791038524 + ], + [ + 199.01432276540174, + 192.59332562331568, + 185.80718972749193, + 178.6841202791106, + 171.258975155619, + 163.5729862856108, + 155.67323870482375, + 147.61195951479527, + 139.44567623314995, + 131.2342953431248, + 123.04013597583125, + 114.9269380031432, + 106.95885214891463, + 99.19941305089003, + 91.7104943651406, + 84.55124773271851, + 77.77703479856274, + 71.43837396785776, + 65.57994186200457, + 60.239693355437694, + 55.448189866717414, + 51.22824113923991, + 47.59495061887043, + 44.556196341587224, + 42.11349815384929, + 40.26316484709899, + 38.997607866727435, + 38.30664180363429, + 38.178110091156285, + 38.59734879772829, + 39.546411240135626, + 41.00376763407547, + 42.94448067504264, + 45.34065083881755, + 48.16193719378644, + 51.376040373827365, + 54.94910802695032, + 58.84606709403756, + 63.03090696643259, + 67.46694236083411, + 72.11708128556921, + 76.94411580611444, + 81.91104402454047, + 86.98142251581359, + 92.119740605278, + 97.29180207541894, + 102.4650965369106, + 107.6091418622027, + 112.69578057127545, + 117.699416462479 + ], + [ + 193.35793297702853, + 186.86581792694096, + 180.02333435180034, + 172.85908898556644, + 165.40798443654953, + 157.71097504535325, + 149.81461343769283, + 141.77042196597182, + 133.6341309743811, + 125.46482284042317, + 117.3240113508873, + 109.27467491078542, + 101.38025271871096, + 93.70360716667732, + 86.30595421245147, + 79.2457669548574, + 72.57766680208036, + 66.35133196405508, + 60.61047391682528, + 55.391955647843126, + 50.72514323292245, + 46.63158309327197, + 43.125071199142084, + 40.21212924317658, + 37.8928457976658, + 36.162006201641816, + 35.01044270941402, + 34.42654819573042, + 34.397218654853035, + 34.907267338100155, + 35.93861669239004, + 37.46994144351244, + 39.47671393915424, + 41.93151406242393, + 44.80446134166965, + 48.063666739322656, + 51.67565104106523, + 55.60571476273575, + 59.81826661472419, + 64.27712694929022, + 68.94582364592715, + 73.7878940963244, + 78.76720084280727, + 83.84826174011974, + 88.99658943347231, + 94.17903023665211, + 99.36408957211017, + 104.52223013636683, + 109.62612977675352, + 114.6508884106056 + ], + [ + 187.75179005468297, + 181.2068343493209, + 174.32711541439699, + 167.14154921932274, + 159.68500783691536, + 151.99810121733844, + 144.1267764338526, + 136.12175676892093, + 128.03784991181826, + 119.9331542836426, + 111.868187178634, + 103.90495091999388, + 96.10594615903834, + 88.53313668006528, + 81.2468689872726, + 74.30475379665566, + 67.7605266382669, + 61.66292202570493, + 56.05461920764543, + 50.97134239225709, + 46.441213975626894, + 42.484452758093425, + 39.11347439780988, + 36.33339824431492, + 34.14291625244863, + 32.535457735265624, + 31.50059169642536, + 31.025538438618952, + 31.096084238432567, + 31.69625233722867, + 32.807609877663964, + 34.40887437441084, + 36.47585730415041, + 38.98165572457246, + 41.89698843584003, + 45.19059115061037, + 48.82961569658795, + 52.780007007626025, + 57.00685200133435, + 61.47470573787235, + 66.14790441126263, + 70.99087412635009, + 75.9684411256444, + 81.04614472774215, + 86.19054985212546, + 91.36955238953755, + 96.55266827957449, + 101.71129616733938, + 106.81894390582892, + 111.85141075627665 + ], + [ + 182.23923289419488, + 175.65977834256552, + 168.76176217708925, + 161.5743112715527, + 154.13218331939112, + 146.47556820915656, + 138.649728802605, + 130.704495599854, + 122.69363554034197, + 114.67411615018922, + 106.70528339468282, + 98.84796667254376, + 91.16351923978995, + 83.71279859758715, + 76.55509046476371, + 69.74698341105298, + 63.341210909979935, + 57.38549545835552, + 51.921456096020215, + 46.983671696955014, + 42.59901411983415, + 38.78635762823377, + 35.5567242427843, + 32.913856870366004, + 30.855158522284185, + 29.372915033633305, + 28.45569975838069, + 28.089726686926383, + 28.259652549800336, + 28.94853834956048, + 30.137395062448064, + 31.804813917169284, + 33.926838570649736, + 36.47705649715479, + 39.426841346945864, + 42.74567876492007, + 46.40152486454045, + 50.361166427297924, + 54.590568510989364, + 59.05520623935746, + 63.72038330182986, + 68.5515413418478, + 73.51456338593057, + 78.5760720312227, + 83.70372025911527, + 88.86647018453864, + 94.03485323493871, + 99.18120440731911, + 104.27986341775795, + 109.30733662897167 + ], + [ + 176.86059884892532, + 170.26490421167557, + 163.3672418969529, + 156.19684873020466, + 148.78827961695538, + 141.18122374669403, + 133.42017837429285, + 125.55398935210738, + 117.63527228280388, + 109.71972961095719, + 101.86537761966213, + 94.13169417672052, + 86.57869442816718, + 79.26593869487218, + 72.25147579821109, + 65.59072733460906, + 59.33532609960081, + 53.53193815147486, + 48.221126847954, + 43.43635882778342, + 39.20329153470837, + 35.539482877751965, + 32.454596828477236, + 29.95107370877676, + 28.025159498581118, + 26.66816608586683, + 25.86781161033319, + 25.609407284784098, + 25.876589090778623, + 26.651466494783506, + 27.914399609797897, + 29.6437237048751, + 31.815602281998636, + 34.404047883640914, + 37.3810827289723, + 40.716993189773746, + 44.38063593147311, + 48.339765021840634, + 52.56136139038334, + 57.01195554265688, + 61.657940502505255, + 66.46587487817311, + 71.40277652574025, + 76.43640640678646, + 81.53554069571962, + 86.67022759871483, + 91.81202412265701, + 96.93420742163391, + 102.01195543755684, + 107.0224923014672 + ], + [ + 171.65276289100396, + 165.0588683313125, + 158.17982069208574, + 151.04486653348513, + 143.6882690256989, + 136.14913533263766, + 128.4711168134444, + 120.70198761578416, + 112.89311104220097, + 105.09880466489949, + 97.37561473195481, + 89.78150855051427, + 82.37499105596683, + 75.21414952470208, + 68.35562919649873, + 61.85354340818763, + 55.75832630621777, + 50.11554779489292, + 44.96473665657841, + 40.338309870624286, + 36.2607799432498, + 32.7484455453415, + 29.809672870393612, + 27.445689751012665, + 25.65170701020159, + 24.418186492127873, + 23.732093179083236, + 23.577950977885124, + 23.938529253462818, + 24.795103241363236, + 26.12740490652095, + 27.913461926653284, + 30.12947738400662, + 32.749817279455, + 35.747111429565734, + 39.092444730297416, + 42.755608773026566, + 46.70538734664741, + 50.90985652506433, + 55.33668712721984, + 59.953442736486025, + 64.72786979693103, + 69.62817782263178, + 74.62330797844544, + 79.68318777152743, + 84.77896881524822, + 89.88324395458311, + 94.9702397076645, + 100.01598009323467, + 104.99841848598221 + ], + [ + 166.64879587932413, + 160.0743948264098, + 153.23173295898826, + 146.14996998623806, + 138.862991350645, + 131.4092440123297, + 123.83145797099148, + 116.17625665151637, + 108.49366237691653, + 100.83650473490562, + 93.25973977506533, + 85.81968700146027, + 78.57318956181078, + 71.57670142802777, + 64.88530422150093, + 58.55165613865294, + 52.624876876768795, + 47.149377532092885, + 42.16366033648367, + 37.699162514362015, + 33.779337551146824, + 30.419292228837406, + 27.626165954630167, + 25.40007872412417, + 23.73533556002218, + 22.621675198593962, + 22.0454299646438, + 21.99047928118459, + 22.438901454033243, + 23.3713001413916, + 24.766876438816908, + 26.603371862507373, + 28.856997601642007, + 31.502419857705362, + 34.512826013230224, + 37.86006751852483, + 41.51486240858762, + 45.44703774116431, + 49.62579480965354, + 54.01998426407322, + 58.598382354020984, + 63.329962563786914, + 68.18415877951514, + 73.13111699695418, + 78.14193276936942, + 83.1888714453973, + 88.24556803972989, + 93.28720351758653, + 98.29065447158315, + 103.23461366183105 + ], + [ + 161.87772719120684, + 155.34004195796118, + 148.55094688388488, + 141.5394239931193, + 134.33890051581187, + 126.9870909873924, + 119.52573614815537, + 112.0002400994499, + 104.45920970856235, + 96.95390174804771, + 89.5375837128804, + 82.2648138817027, + 75.19064529890363, + 68.36975730727391, + 61.855517365581335, + 55.69897535086478, + 49.947792480330115, + 44.64510762131809, + 39.82834709681286, + 35.528006341903364, + 31.76656202604761, + 28.557998595608254, + 25.90832664720979, + 23.81671071102963, + 22.276722371247132, + 21.27753929350864, + 20.80501458680881, + 20.842549055369233, + 21.371714636028614, + 22.372620934340063, + 23.82407140797585, + 25.70359152149183, + 27.987413280513408, + 30.650477786530814, + 33.66648789805238, + 37.00801923385028, + 40.64668340602044, + 44.55333115619224, + 48.698282087638006, + 53.05156933370318, + 57.58318999684896, + 62.263354534080726, + 67.06273002901665, + 71.95267341227037, + 76.90545129288971, + 81.89444333900659, + 86.89432629055634, + 91.88123585723413, + 96.8329040523704, + 101.72876998336558 + ], + [ + 157.36440086215447, + 150.88005995599977, + 144.16101888777183, + 137.2359980977618, + 130.13789302736754, + 122.90362099266156, + 115.57387441538815, + 108.19278072578771, + 100.80747133825486, + 93.46756346468932, + 86.22455915102918, + 79.13116591144514, + 72.24054289041808, + 65.60547583105179, + 59.27748346138118, + 53.305857337448856, + 47.73663668697006, + 42.611519216896454, + 37.966707882831116, + 33.83169266994372, + 30.228018114653267, + 27.16863766746104, + 24.65861777602865, + 22.696406499190886, + 21.27506891253067, + 20.383417689519774, + 20.00700359458382, + 20.128925970151883, + 20.730434653284703, + 21.791322539682696, + 23.2901414058817, + 25.20429737494007, + 27.510087767012152, + 30.182730245117682, + 33.196416803897066, + 36.52440735918697, + 40.13916468584543, + 44.01252492223938, + 48.11589468852385, + 52.42046546052544, + 56.89743682974462, + 61.51824172395959, + 66.25476803436067, + 71.07957217294862, + 75.96608084071494, + 80.88877779683895, + 85.82337279158885, + 90.7469501656297, + 95.63809500383462, + 100.47699520521876 + ], + [ + 153.12941712843804, + 146.7143340940219, + 140.0810332838724, + 133.25789685535423, + 126.27722206511729, + 119.17507177617105, + 111.99103963675928, + 104.76792946114091, + 97.55135006372316, + 90.38922801107196, + 83.33124142788878, + 76.42817817775094, + 69.73122155165004, + 63.29116617085892, + 57.15756625534953, + 51.37781777134617, + 45.99617520333399, + 41.05270263316672, + 36.58215716522575, + 32.61280019478558, + 29.165163361169846, + 26.251367827112702, + 23.87586148453383, + 22.036679685080628, + 20.726633717524848, + 19.934381322714387, + 19.64535695748907, + 19.84253788747783, + 20.50703111934743, + 21.618484392545128, + 23.155345631327435, + 25.095011226905868, + 27.413909018657463, + 30.087556989362298, + 33.09062755047482, + 36.39703471245495, + 39.9800507747493, + 43.81245179421853, + 47.866686914494565, + 52.11506489289166, + 56.529950948345046, + 61.083967628055134, + 65.75019424507337, + 70.50236028869188, + 75.31502893460333, + 80.16376736736783, + 85.02530111234479, + 89.8776500135107, + 94.70024393721857, + 99.47401676212131 + ], + [ + 149.18915277044735, + 142.85840825094428, + 136.3256247936816, + 129.61877630410294, + 122.76950202664801, + 115.81295980444655, + 108.78760127346861, + 101.73486797574319, + 94.69880879430859, + 87.72562016530458, + 80.86311117050423, + 74.16009587465842, + 67.66571520374893, + 61.42869033241087, + 55.496509013958004, + 49.914545555153246, + 44.72511417518972, + 39.966454316188674, + 35.6716460818175, + 31.867465629664025, + 28.57330595748462, + 25.800681052283068, + 23.553763810095674, + 21.830482258685365, + 20.623648268477666, + 19.92197935718896, + 19.710984610063406, + 19.97369970576179, + 20.691264287154254, + 21.843347245906998, + 23.408439305517135, + 25.36404311936697, + 27.686795765494495, + 30.352556553949256, + 33.33648634606091, + 36.61313590743556, + 40.156552548766214, + 43.94040780165655, + 47.938144514697484, + 52.123139303570206, + 56.46887525116316, + 60.94911961290952, + 65.53810162239735, + 70.21068603101955, + 74.9425385929442, + 79.71028025320223, + 84.49162729879434, + 89.26551520513496, + 94.01220437541207, + 98.71336644654217 + ], + [ + 145.55585398826074, + 139.323584163047, + 132.90508100433732, + 126.3278460224699, + 119.6228060878899, + 112.82416870759477, + 105.96920558646978, + 99.09796306874338, + 92.25289921623347, + 85.47844817119916, + 78.82051303083506, + 72.32588872423855, + 66.04161635543048, + 60.01427019701962, + 54.28917803826182, + 48.909575006264305, + 43.91569063460278, + 39.34377031215054, + 35.2250415910227, + 31.5846770698205, + 28.440931086095333, + 25.80479144285175, + 23.680351652203683, + 22.065678316609407, + 20.953819476175553, + 20.333764465281405, + 20.191290155040903, + 20.509672280174385, + 21.27025668798703, + 22.452896395108453, + 24.036270278278693, + 25.998106866367564, + 28.31534043611623, + 30.964226008669257, + 33.92043577598106, + 37.1591535476059, + 40.65517757792168, + 44.383036716877015, + 48.317120745124726, + 52.431823062787124, + 56.70169238520194, + 61.10158944435121, + 65.60684459765156, + 70.19341246685245, + 74.83802010630863, + 79.51830563683654, + 84.21294473322985, + 88.90176280530626, + 93.56583116403156, + 98.18754591962019 + ], + [ + 142.2377949532763, + 136.11709037012432, + 129.82551982530134, + 123.39005311226188, + 116.84085466855807, + 110.21114021071456, + 103.53696720577757, + 96.85695748982025, + 90.21195128858525, + 83.64459263651665, + 77.19884669024765, + 70.91944968372113, + 64.85129229865774, + 59.038737093472115, + 53.524870507064705, + 48.35069025214132, + 43.554230814090104, + 39.16963657614001, + 35.22621218300284, + 31.747528469889545, + 28.750743492182863, + 26.246345227730046, + 24.23841497516321, + 22.725296079791107, + 21.70044811142442, + 21.153315733188876, + 21.070124027766326, + 21.4345637097354, + 22.228355117015795, + 23.431693772577347, + 25.023589561494703, + 26.982117836463914, + 29.284603979859014, + 31.90776307730262, + 34.82781391778079, + 38.0205824822615, + 41.46160545781126, + 45.12623995455249, + 48.989782011929464, + 53.02759384360336, + 57.215238045130945, + 61.52861601292137, + 65.94410739810412, + 70.43870736210046, + 74.99015856904379, + 79.57707514510128, + 84.1790561955345, + 88.77678686372212, + 93.35212532593201, + 97.88817453325441 + ], + [ + 139.23949403655624, + 133.2423130080256, + 127.0891342071907, + 120.80634039337059, + 114.42328694807786, + 107.97215927698825, + 101.48776891335973, + 95.00728642984781, + 88.56991003645165, + 82.21646936475037, + 75.98896438924632, + 69.93003972616106, + 64.08239474068307, + 58.48813014210001, + 53.18803240872976, + 48.22079926024823, + 43.62221422842674, + 39.42428964806079, + 35.654420547799916, + 32.334630397418564, + 29.481031043963384, + 27.10362214481981, + 25.206481581195234, + 23.788281723075087, + 22.842994257478082, + 22.36065133667485, + 22.328074381886864, + 22.72952343851061, + 23.54724752272756, + 24.76193300020732, + 26.353057257499515, + 28.299161215883913, + 30.57805752879517, + 33.166992039754746, + 36.042774756592905, + 39.18189388480339, + 42.56062307966566, + 46.15512864967937, + 49.941580408233676, + 53.896267451966175, + 57.99571839595096, + 62.21682445789272, + 66.536963141214, + 70.93411999347276, + 75.38700589865721, + 79.87516751053826, + 84.37908868611476, + 88.88028109127332, + 93.36136249883525, + 97.80612166539042 + ], + [ + 136.561978420673, + 130.69907864170708, + 124.69449356723933, + 118.57396716223768, + 112.36600219636256, + 106.10171792477944, + 99.81465077120336, + 93.54049599786433, + 87.31678899327754, + 81.18252536346826, + 75.17771947659531, + 69.34290153097375, + 63.718553714973424, + 58.344486863623565, + 53.25916070161648, + 48.49895424809259, + 44.097399868725944, + 40.08440706916008, + 36.48552218184638, + 33.3212950903458, + 30.60684177426178, + 28.351680904560226, + 26.55987307080234, + 25.23042267790514, + 24.357854030282567, + 23.932864389397295, + 23.94297672636013, + 24.373142802372215, + 25.206270907058084, + 26.423669308909183, + 28.00540742677758, + 29.9306035412024, + 32.17765161933818, + 34.724401213134186, + 37.54830396113029, + 40.6265385337277, + 43.93612345994234, + 47.45402464604466, + 51.15726190953932, + 55.02301673233994, + 59.02874178421625, + 63.15227158619866, + 67.37193292038732, + 71.66665316847198, + 76.01606459385832, + 80.40060259879299, + 84.80159613007885, + 89.2013486316696, + 93.58320821874733, + 97.93162605412932 + ], + [ + 134.20308672075421, + 128.48397774750438, + 122.63688915770064, + 116.68687789569887, + 110.66155379174764, + 104.5909371943266, + 98.50726347417688, + 92.44473235366651, + 86.43920059044106, + 80.52781709089822, + 74.74860007684808, + 69.13995656311826, + 63.740145299645, + 58.58668580751361, + 53.71571873221105, + 49.16132727539539, + 44.95483701986396, + 41.12412292325743, + 37.69296713346492, + 34.68052569661877, + 32.10096775924005, + 29.96333780989299, + 28.271657689650013, + 27.025242222859376, + 26.21916936854106, + 25.8448342906147, + 25.89052436839826, + 26.341969172755796, + 27.182837328965803, + 28.395166891057443, + 29.959726512044085, + 31.85631178298017, + 34.06398534804846, + 36.561271415231275, + 39.326315611819695, + 42.33702027218155, + 45.5711636455152, + 49.00650956954516, + 52.620912183862714, + 56.392418467418565, + 60.299369898068356, + 64.32050339069588, + 68.43505086360008, + 72.62283626889622, + 76.86436864734848, + 81.14092967641353, + 85.43465422365999, + 89.7286025562287, + 94.00682305952373, + 98.25440456122539 + ], + [ + 132.15779863187944, + 126.59071656378171, + 120.90870941470544, + 115.13610276154927, + 109.29957697731581, + 103.42802470013152, + 97.55235874162189, + 91.70526845647203, + 85.92092314932557, + 80.23462168526613, + 74.68238815133084, + 69.30051430147124, + 64.12505080270532, + 59.191251297912, + 54.53297645890567, + 50.18207007406753, + 46.16772627741737, + 42.51587623955115, + 39.248632676988905, + 36.38383804135442, + 33.9347621540433, + 31.909983046295693, + 30.313461231642364, + 29.14478946067605, + 28.399577171800374, + 28.069918150862435, + 28.144891619111917, + 28.611056676067662, + 29.45291254572649, + 30.653308873218222, + 32.193799810106455, + 34.05494248700438, + 36.21654494188978, + 38.657871063396186, + 41.35781105449085, + 44.295025737775546, + 47.448072089684274, + 50.79551603887564, + 54.31603706256806, + 57.988527659855805, + 61.7921894986696, + 65.70662698705783, + 69.71193822728046, + 73.7888027590275, + 77.91856515496997, + 82.08331336001397, + 86.26595062744326, + 90.45025996670273, + 94.62096015043576, + 98.7637525092926 + ], + [ + 130.4185806106007, + 125.0104849679296, + 119.4998312605198, + 113.91017381750663, + 108.26723166274324, + 102.59874594316196, + 96.9342911728788, + 91.30503847976192, + 85.74346961233282, + 80.28304112996278, + 74.95779902905477, + 69.8019451727913, + 64.84935847649166, + 60.13307610868173, + 55.684743302938074, + 51.53404500895799, + 47.70813859547732, + 44.23111366698964, + 41.12351137905043, + 38.40193901140158, + 36.07881311553864, + 34.16225447748408, + 32.6561413874508, + 31.560308450238324, + 30.870861989919177, + 30.580574108798046, + 30.679316526495413, + 31.15450053143941, + 31.991497731450295, + 33.174025211864176, + 34.68448661585316, + 36.50426686846026, + 38.61398265863417, + 40.99369354214545, + 43.62307991748233, + 46.48159447268735, + 49.54859331076154, + 52.80345211056172, + 56.225671599486255, + 59.79497548102882, + 63.49140289791048, + 67.29539659470889, + 71.18788720767115, + 75.15037355984109, + 79.16499846409249, + 83.2146193123469, + 87.28287262939271, + 91.35423176769811, + 95.41405699107811, + 99.44863731900816 + ], + [ + 128.97573718630701, + 123.73232876285563, + 118.39801429003666, + 112.99554211246044, + 107.54964349137214, + 102.08689034365257, + 96.635510061623, + 91.22515584696906, + 85.88663160115084, + 80.6515711622424, + 75.55207263802494, + 70.62028986775606, + 65.88798479866833, + 61.386046962061, + 57.143989437690294, + 53.18943476380287, + 49.54760899973195, + 46.24086697102902, + 43.28827546621555, + 40.705282201075676, + 38.50349515298775, + 36.69058870444097, + 35.27034086183376, + 34.242792229503166, + 33.60450571006335, + 33.34889862711469, + 33.46661699458208, + 33.94592420584172, + 34.773081804837446, + 35.93270648934626, + 37.408093779153376, + 39.181504106872254, + 41.23441115233848, + 43.54771502755689, + 46.101924569477106, + 48.87731372445862, + 51.85405704257563, + 55.01234886298088, + 58.33251005660725, + 61.79508535571257, + 65.3809334571749, + 69.07131131595929, + 72.8479533919162, + 76.69314609638711, + 80.5897973061517, + 84.5215005604076, + 88.47259341489897, + 92.42820937659651, + 96.37432286313326, + 100.29778670557702 + ], + [ + 127.81775858402939, + 122.74351610259376, + 117.58928648941428, + 112.37698313970132, + 107.13032934199802, + 101.87471686912971, + 96.63702484925304, + 91.44539765433845, + 86.32898119501148, + 81.31761782787814, + 76.44150113103869, + 71.73079317391671, + 67.21520870161439, + 62.92357296836476, + 58.88336283727857, + 55.12024414486392, + 51.65762193087345, + 48.51622338917112, + 45.71373543638954, + 43.264518601055315, + 41.17941567284336, + 39.46566702643075, + 38.126935519752365, + 37.163434028811466, + 36.572140043579765, + 36.34707594728502, + 36.479631349422576, + 36.958904868883224, + 37.77204613810619, + 38.90458339231948, + 40.34072683820705, + 42.063642387086375, + 44.055693921898225, + 46.29865491844784, + 48.77389199049392, + 51.46252389520248, + 54.34555987996725, + 57.404021141468945, + 60.619048759217584, + 63.97200089168307, + 67.44454138818662, + 71.01872134986472, + 74.6770546177371, + 78.40258770277967, + 82.1789643126691, + 85.99048437147775, + 89.82215726344499, + 93.65974894739884, + 97.4898225700954, + 101.29977224033011 + ], + [ + 126.93165676944938, + 122.02988953036387, + 117.0583122917727, + 112.03798078389632, + 106.99159680690178, + 101.94336834756169, + 96.91883312407873, + 91.94464462984597, + 87.0483204329536, + 82.25795334963742, + 77.60188720016538, + 73.10836023685675, + 68.80512106525651, + 64.7190239955444, + 60.87561323671797, + 57.298708048553145, + 54.01000360784146, + 51.028704457422585, + 48.37120837516716, + 46.05085769443447, + 44.07777209890712, + 42.45877171824334, + 41.19739256382542, + 40.29398906430164, + 39.7459119780693, + 39.54774534783553, + 39.691583971021146, + 40.167333039082834, + 40.963013641122245, + 42.06506101399944, + 43.45860604886197, + 45.12773408059445, + 47.055718036436545, + 49.225225426502284, + 51.61850038168232, + 54.21752303200314, + 57.00414906954815, + 59.96023247384944, + 63.06773421468809, + 66.30881939648492, + 69.6659448607143, + 73.12193878812391, + 76.66007339066323, + 80.26413138564844, + 83.91846661875928, + 87.60805895384073, + 91.31856337417946, + 95.03635313506321, + 98.74855676133339, + 102.44308868556303 + ], + [ + 126.30328363060322, + 121.57619701670401, + 116.78873607272538, + 111.96108266587301, + 107.11491049746238, + 102.27324748739456, + 97.46030467493192, + 92.70127104289725, + 88.02207437719146, + 83.44910914909546, + 79.00893349216864, + 74.72793867537749, + 70.63199607303616, + 66.74608849197017, + 63.093934771410744, + 59.69761867022048, + 56.57723494140619, + 53.75056680401757, + 51.23280933708871, + 49.036352257167124, + 47.17063289155681, + 45.64206601686554, + 44.45405204739916, + 43.607059571613206, + 43.09877329470689, + 42.92429477291023, + 43.07638133276885, + 43.54570829712752, + 44.3211408161619, + 45.39000377458119, + 46.738340924069576, + 48.351157146896185, + 50.212640282134984, + 52.306361054272045, + 54.615451256011, + 57.12276145277149, + 59.81100014664713, + 62.662856640865236, + 65.66110987024537, + 68.78872529443015, + 72.02894166451901, + 75.3653491319426, + 78.78195981798864, + 82.26327163596142, + 85.79432587596902, + 89.3607588352257, + 92.94884760749315, + 96.54555003165805, + 100.13853873582731, + 103.7162291923425 + ], + [ + 125.91762663681699, + 121.36639727918144, + 116.76349639367493, + 112.12822234562678, + 107.48122096536841, + 102.84435095059388, + 98.24051879051599, + 93.69348293663704, + 89.2276276500067, + 84.8677078160745, + 80.63856705869028, + 76.56483272013045, + 72.67059270230301, + 68.97906075156129, + 65.51223843356053, + 62.290583639904625, + 59.332696781527964, + 56.6550365868578, + 54.27167735416876, + 52.194118379967065, + 50.43115400795054, + 48.98880942962731, + 47.87034335534787, + 47.076314474344784, + 46.604704806190796, + 46.45109010907818, + 46.60884575945211, + 47.06937602396066, + 47.822355266708016, + 48.85597108950836, + 50.15716135303347, + 51.71183915369264, + 53.50510188018449, + 55.52142227192009, + 57.744820854761535, + 60.15902020821759, + 62.74758223943572, + 65.49403004915028, + 68.38195613399719, + 71.39511864266133, + 74.51752725089773, + 77.73351999501014, + 81.02783214702407, + 84.38565795911, + 87.79270587134386, + 91.23524757885326, + 94.70016119810155, + 98.17496865889164, + 101.64786737630317, + 105.10775622080425 + ], + [ + 125.75907884576758, + 121.38393640125761, + 116.9651082598851, + 112.52100603381214, + 108.0712544397156, + 103.6365604270917, + 99.23855472279126, + 94.89960580054907, + 90.64260697198198, + 86.49073811902933, + 82.46720455743446, + 78.59495663668058, + 74.89639492551476, + 71.39306715725232, + 68.10536443122058, + 65.05222535808414, + 62.250857728580954, + 59.71648768381332, + 57.46214608481452, + 55.498500687562185, + 53.83374079791304, + 52.47351841867843, + 51.4209467607287, + 50.67665373059966, + 50.238885023342064, + 50.103649087691416, + 50.264894719397496, + 50.71471145362813, + 51.443543199196306, + 52.44040650987379, + 53.69310629148203, + 55.188443364277084, + 56.912409937027846, + 58.85037055199472, + 60.98722733408793, + 63.30756937828767, + 65.79580683176246, + 68.43629069345252, + 71.21341960296786, + 74.11173496865996, + 77.11600573841382, + 80.21130398890016, + 83.38307233614269, + 86.61718398103983, + 89.89999601918683, + 93.21839647927008, + 96.55984541691303, + 99.91241028497045, + 103.2647957272297, + 106.60636789821368 + ], + [ + 125.81168148587142, + 121.611994264015, + 117.37591229449922, + 113.12096322098708, + 108.86576343531765, + 104.62989156123311, + 100.43373710986212, + 96.29832455722192, + 92.24511374974972, + 88.2957783127233, + 84.47196461902858, + 80.79503486165892, + 77.2857988353403, + 73.96424012040092, + 70.84924339738657, + 67.95833049718027, + 65.30741337898431, + 62.9105723899346, + 60.77986777425893, + 58.92519139247724, + 57.35416398420542, + 56.072081158455035, + 55.0819088124702, + 54.384326120694595, + 53.97781187732577, + 53.85876806568933, + 54.02167323581601, + 54.45925766822053, + 55.16269235694349, + 56.121784449396515, + 57.32517277868139, + 58.76051834680875, + 60.41468590916503, + 62.27391404687446, + 64.32397220728976, + 66.5503040937624, + 68.93815747594596, + 71.47270097711467, + 74.139128697523, + 76.92275368386692, + 79.80909128907024, + 82.78393341761674, + 85.83341454976909, + 88.94407030848242, + 92.10288919535357, + 95.2973579908726, + 98.51550119904047, + 101.74591482250077, + 104.97779468391875, + 108.20095946224001 + ], + [ + 126.05933848217305, + 122.03370052571704, + 117.97829101776902, + 113.9097619651488, + 109.84573962592073, + 105.80470287644454, + 101.805839343496, + 97.86887974750564, + 94.01391151601301, + 90.26117343017607, + 86.63083385544594, + 83.14275596373624, + 79.81625424764772, + 76.66984750876202, + 73.72101430342715, + 70.98595746467723, + 68.47938469046201, + 66.21431219972862, + 64.20189803116803, + 62.45131065509287, + 60.96963720351857, + 59.76183387882074, + 58.83071912050804, + 58.17700807882181, + 57.79938506216447, + 57.69460907105248, + 57.85764643244759, + 58.281823965683465, + 58.958996036002695, + 59.87971921703256, + 61.033428984062574, + 62.40861377426638, + 63.9929827599066, + 65.77362468523364, + 67.73715604118838, + 69.86985764482976, + 72.15779932792157, + 74.58695291674238, + 77.1432940130749, + 79.81289328411312, + 82.5819980610652, + 85.43710505825743, + 88.36502498081705, + 91.35293971091528, + 94.38845266762164, + 97.45963283720015, + 100.55505287883352, + 103.66382163156653, + 106.77561128517672, + 109.88067943186834 + ], + [ + 126.48600320780291, + 122.63232083034804, + 118.75485338044417, + 114.86939052472026, + 110.99259127469332, + 107.14186765245505, + 103.33524853572547, + 99.59122427918054, + 95.92857327253124, + 92.36617222949441, + 88.92279269517397, + 85.6168869928774, + 82.46636757389936, + 79.48838444095412, + 76.69910593024477, + 74.1135085906538, + 71.74518211887721, + 69.60615522943115, + 67.70674790890334, + 66.0554547057587, + 64.6588625626089, + 63.521605274671785, + 62.64635506494882, + 62.03385014032622, + 61.68295557827535, + 61.59075362178457, + 61.752658527493935, + 62.162550569732694, + 62.81292365348052, + 63.69504119175964, + 64.79909538653095, + 66.11436572996288, + 67.62937332604483, + 69.33202844104767, + 71.20976946110369, + 73.2496921207562, + 75.43866844080907, + 77.7634552663948, + 80.21079262887537, + 82.76749237887731, + 85.42051766877982, + 88.15705392008029, + 90.96457191318315, + 93.83088360175535, + 96.74419119598417, + 99.69312999104979, + 102.66680534820959, + 105.65482417262204, + 108.64732117854399, + 111.63498019099632 + ], + [ + 127.0758384392353, + 123.39141461952933, + 119.6885893710095, + 115.98230764762826, + 112.28828806125, + 108.62291214719372, + 105.00309603459391, + 101.44614522790387, + 97.9695937166259, + 94.59102919329288, + 91.32790676219344, + 88.19735414299484, + 85.21597198501763, + 82.39963347071941, + 79.76328785377322, + 77.32077289520544, + 75.08464127719893, + 73.0660059421329, + 71.27440889346752, + 69.71771729838733, + 68.40204977289821, + 67.33173456343951, + 66.5093000482496, + 65.93549666858482, + 65.60934817140546, + 65.52822899833853, + 65.6879638644955, + 66.08294507711238, + 66.706262955581, + 67.54984480732271, + 68.60459824035289, + 69.86055509125876, + 71.30701285028101, + 72.93267111069937, + 74.72576120491816, + 76.67416777445169, + 78.7655415289448, + 80.98740286657625, + 83.32723635138915, + 85.77257627698269, + 88.3110837006852, + 90.93061542092403, + 93.61928540726396, + 96.36551919137021, + 99.15810170054338, + 101.98621897411715, + 104.83949415545935, + 107.70801810494581, + 110.58237493653226, + 113.45366274513748 + ], + [ + 127.81335099409488, + 124.29496639656455, + 120.76299694685736, + 117.23156419300489, + 113.71547642346277, + 110.2301237250303, + 106.79135747884631, + 103.41535507376524, + 100.11847107381959, + 96.91707657110385, + 93.82738897374868, + 90.86529500109374, + 88.0461701583184, + 85.38469840782335, + 82.89469610650428, + 80.58894449618982, + 78.4790350801475, + 76.57523206001814, + 74.88635562628602, + 73.41968929137539, + 72.18091364970601, + 71.17406798823038, + 70.40154011815854, + 69.86408373049088, + 69.56086157451266, + 69.4895118924789, + 69.64623487204683, + 70.02589543506923, + 70.62213847679749, + 71.42751268989124, + 72.43359932082558, + 73.63114256815535, + 75.01017879322708, + 76.56016222584148, + 78.27008536721465, + 80.12859278602816, + 82.124087445873, + 84.24482907907546, + 86.47902442635201, + 88.81490939447474, + 91.24082335059543, + 93.74527588078749, + 96.31700640201065, + 98.9450370418031, + 101.61871919871831, + 104.32777417786264, + 107.06232826741855, + 109.81294258970365, + 112.57063802853492, + 115.32691550642394 + ], + [ + 128.68350286367013, + 125.32749258510057, + 121.96218377891194, + 118.60089893146551, + 115.25756861605404, + 111.94663243690178, + 108.68292625443671, + 105.4815565133144, + 102.35776290023756, + 99.32677098931215, + 96.4036369751282, + 93.60308702986322, + 90.93935422741511, + 88.42601632755841, + 86.07583797606424, + 83.90062102177431, + 81.91106665061096, + 80.11665286797282, + 78.5255305142241, + 77.14444047659279, + 75.97865408463629, + 75.03193788157319, + 74.3065430999145, + 73.80321929526873, + 73.52125076734217, + 73.45851367734674, + 73.6115512001783, + 73.97566365590168, + 74.54501035840009, + 75.3127198925223, + 76.27100566329386, + 77.41128382032, + 78.72429101074565, + 80.20019981770173, + 81.82873016369814, + 83.59925537116223, + 85.5009019533305, + 87.52264254337385, + 89.65338164996234, + 91.882034151255, + 94.1975966087038, + 96.58921160238106, + 99.04622536792596, + 101.55823905967898, + 104.11515398306604, + 106.70721113930553, + 109.32502541344725, + 111.9596147180354, + 114.60242438341982, + 117.24534706502834 + ] + ], + "zauto": true, + "zmax": 269.278867722867, + "zmin": -269.278867722867 + }, + { + "autocolorscale": false, + "autocontour": true, + "colorbar": { + "tickfont": { + "size": 8 + }, + "ticksuffix": "", + "x": 1, + "y": 0.5 + }, + "colorscale": [ + [ + 0, + "rgb(255,247,251)" + ], + [ + 0.14285714285714285, + "rgb(236,231,242)" + ], + [ + 0.2857142857142857, + "rgb(208,209,230)" + ], + [ + 0.42857142857142855, + "rgb(166,189,219)" + ], + [ + 0.5714285714285714, + "rgb(116,169,207)" + ], + [ + 0.7142857142857143, + "rgb(54,144,192)" + ], + [ + 0.8571428571428571, + "rgb(5,112,176)" + ], + [ + 1, + "rgb(3,78,123)" + ] + ], + "contours": { + "coloring": "heatmap" + }, + "hoverinfo": "x+y+z", + "ncontours": 25, + "type": "contour", + "x": [ + -10, + -9.591836734693878, + -9.183673469387756, + -8.775510204081632, + -8.36734693877551, + -7.959183673469388, + -7.551020408163265, + -7.142857142857142, + -6.73469387755102, + -6.326530612244898, + -5.918367346938775, + -5.5102040816326525, + -5.1020408163265305, + -4.6938775510204085, + -4.285714285714286, + -3.8775510204081627, + -3.4693877551020407, + -3.0612244897959187, + -2.6530612244897958, + -2.244897959183673, + -1.8367346938775508, + -1.4285714285714288, + -1.020408163265305, + -0.612244897959183, + -0.204081632653061, + 0.204081632653061, + 0.612244897959183, + 1.0204081632653068, + 1.4285714285714288, + 1.8367346938775508, + 2.2448979591836746, + 2.6530612244897966, + 3.0612244897959187, + 3.4693877551020407, + 3.8775510204081627, + 4.2857142857142865, + 4.6938775510204085, + 5.1020408163265305, + 5.510204081632654, + 5.918367346938776, + 6.326530612244898, + 6.73469387755102, + 7.142857142857142, + 7.551020408163264, + 7.95918367346939, + 8.367346938775512, + 8.775510204081634, + 9.183673469387756, + 9.591836734693878, + 10 + ], + "xaxis": "x2", + "y": [ + -10, + -9.591836734693878, + -9.183673469387756, + -8.775510204081632, + -8.36734693877551, + -7.959183673469388, + -7.551020408163265, + -7.142857142857142, + -6.73469387755102, + -6.326530612244898, + -5.918367346938775, + -5.5102040816326525, + -5.1020408163265305, + -4.6938775510204085, + -4.285714285714286, + -3.8775510204081627, + -3.4693877551020407, + -3.0612244897959187, + -2.6530612244897958, + -2.244897959183673, + -1.8367346938775508, + -1.4285714285714288, + -1.020408163265305, + -0.612244897959183, + -0.204081632653061, + 0.204081632653061, + 0.612244897959183, + 1.0204081632653068, + 1.4285714285714288, + 1.8367346938775508, + 2.2448979591836746, + 2.6530612244897966, + 3.0612244897959187, + 3.4693877551020407, + 3.8775510204081627, + 4.2857142857142865, + 4.6938775510204085, + 5.1020408163265305, + 5.510204081632654, + 5.918367346938776, + 6.326530612244898, + 6.73469387755102, + 7.142857142857142, + 7.551020408163264, + 7.95918367346939, + 8.367346938775512, + 8.775510204081634, + 9.183673469387756, + 9.591836734693878, + 10 + ], + "yaxis": "y2", + "z": [ + [ + 50.97410920147869, + 50.26007326464553, + 49.60280409800354, + 48.98419879637283, + 48.38430105979118, + 47.78219743795591, + 47.156927834961145, + 46.488341222227525, + 45.757843093129516, + 44.94900058602679, + 44.04799068005432, + 43.04389396062646, + 41.928850076825526, + 40.69810116159964, + 39.34995673168439, + 37.88571862909534, + 36.309607931731335, + 34.628737650791685, + 32.853175328194475, + 30.996137942334247, + 29.074357030375683, + 27.108642859870503, + 25.124658314759486, + 23.153874623969216, + 21.234596552506407, + 19.412764316906635, + 17.741890930428326, + 16.280949723275384, + 15.088551257082452, + 14.212310286560436, + 13.675329055362731, + 13.46654909060166, + 13.542875050446407, + 13.843794572695268, + 14.30985831139062, + 14.89512010243302, + 15.569916579078809, + 16.316459685869535, + 17.12193122648076, + 17.973024083365907, + 18.853855203828505, + 19.747149222317553, + 20.637391790531122, + 21.514434460585264, + 22.376399273174094, + 23.231219110490613, + 24.09653813862569, + 24.997984350131954, + 25.96608585732669, + 27.032360265365753 + ], + [ + 47.77330575802335, + 47.07592053931779, + 46.45246172398714, + 45.88232915903082, + 45.34259104358969, + 44.80912312433718, + 44.257758416346604, + 43.665350385076074, + 43.010677832958756, + 42.27514937593245, + 41.44329320070843, + 40.503040247193454, + 39.445825131810324, + 38.26653983658841, + 36.963382003770164, + 35.537644115865, + 33.99349292067472, + 32.3377905558749, + 30.580009804600795, + 28.732295440963757, + 26.809721550697596, + 24.830791246772932, + 22.81822030004819, + 20.800036780219077, + 18.81100059526535, + 16.89425459455945, + 15.102847089960836, + 13.50008662028781, + 12.156381660992183, + 11.138871321213577, + 10.491916335136434, + 10.215746169099512, + 10.261060919859077, + 10.549283250184228, + 11.003957271683584, + 11.571284569320703, + 12.222578803219708, + 12.944922665695056, + 13.729214276217101, + 14.562095279851679, + 15.424081786974256, + 16.292686613659082, + 17.147823482824016, + 17.977129809828604, + 18.779829364084137, + 19.568521041186933, + 20.36867319457425, + 21.215843215635296, + 22.150969774638362, + 23.214554433779806 + ], + [ + 44.439893107417674, + 43.76093733461724, + 43.17630122577249, + 42.662411550378444, + 42.192737107715075, + 41.73926570105003, + 41.2739827918314, + 40.77021285759874, + 40.20372724307377, + 39.553569025133086, + 38.802585719613035, + 37.937689784977614, + 36.9498848443639, + 35.834105081803365, + 34.58891982345693, + 33.21615775487735, + 31.72050721962177, + 30.10915098202708, + 28.391495099598547, + 26.579051072033625, + 24.685527523034757, + 22.727183015879323, + 20.7234881857506, + 18.69814859788308, + 16.680554901778475, + 14.707747935671856, + 12.826957283792387, + 11.09846873034596, + 9.597344424978347, + 8.409191768252397, + 7.610653832631581, + 7.23116933898925, + 7.223337594167482, + 7.483802709864967, + 7.910157110682773, + 8.43879109320528, + 9.045695327869984, + 9.727198922878639, + 10.479399852209122, + 11.286907909232912, + 12.122887540952561, + 12.956144138670444, + 13.759923843297942, + 14.51924901488585, + 15.235674704825694, + 15.929202187530592, + 16.63713855334299, + 17.40967794430605, + 18.302468702373147, + 19.367520716076296 + ], + [ + 40.9762458865404, + 40.316454367484184, + 39.775329335395995, + 39.32569783609153, + 38.93658461439765, + 38.57517092646144, + 38.208734847472535, + 37.80636933567714, + 37.34034966211859, + 36.78709783843039, + 36.12775073519795, + 35.34837513263558, + 34.43989011356929, + 33.39776187139443, + 32.22153503258884, + 30.914262943185676, + 29.481899550121753, + 27.93271773829184, + 26.27682165087914, + 24.52582090131067, + 22.6927299474724, + 20.792145073897142, + 18.840736733975316, + 16.85808421430397, + 14.86788771225759, + 12.899643589859764, + 10.990991160014593, + 9.19113387169976, + 7.565761296600384, + 6.202318781068969, + 5.206399668820954, + 4.663073768607261, + 4.558067829666954, + 4.761289673940381, + 5.128752428950028, + 5.584389630142802, + 6.116597297749742, + 6.738181379043319, + 7.450581222303871, + 8.230156978229623, + 9.035136976292478, + 9.82030288896771, + 10.549958593849585, + 11.206759032631467, + 11.796968637314347, + 12.35258997948614, + 12.929665683743929, + 13.60132660097434, + 14.445136200606107, + 15.527473314618334 + ], + [ + 37.38706185105953, + 36.745707882681025, + 36.25234180565772, + 35.87535320555561, + 35.57815338952891, + 35.32184481738818, + 35.06782669016219, + 34.78002905066649, + 34.426606613284086, + 33.98105105669857, + 33.422766991071114, + 32.73719890355521, + 31.91560588043371, + 30.95457327156875, + 29.855338316941545, + 28.622997877724163, + 27.265664121321166, + 25.79363807066782, + 24.218678313147734, + 22.553447733048657, + 20.811218785525902, + 19.005902582898813, + 17.152437917902823, + 15.267539144553371, + 13.370771127831047, + 11.485919888575976, + 9.642698389029025, + 7.879036337866584, + 6.244661203953934, + 4.807339638839434, + 3.6618043359630477, + 2.9241980694927734, + 2.6499185231069817, + 2.7186399897404896, + 2.9439598917350187, + 3.243868560515689, + 3.6381121809169596, + 4.168328084497642, + 4.833924398819414, + 5.5844674033775075, + 6.348813950910312, + 7.061337528426652, + 7.676076154434779, + 8.174358579745917, + 8.570325087064251, + 8.91506426843651, + 9.296365091712762, + 9.827866201349188, + 10.623365011056972, + 11.764496307598835 + ], + [ + 33.68004669996077, + 33.05430905394684, + 32.61236149281607, + 32.317014963139634, + 32.1244003104617, + 31.987732243141895, + 31.860907150329993, + 31.701453181526833, + 31.472620142512145, + 31.14461670518937, + 30.695125675908475, + 30.109265304335185, + 29.37915010888502, + 28.503170762770363, + 27.485080224325404, + 26.332952831151275, + 25.058077710765, + 23.673856372124686, + 22.1947921139779, + 20.635677971029992, + 19.011099624788752, + 17.335359163949484, + 15.62288875436796, + 13.889164782674099, + 12.152071360448431, + 10.433627630890436, + 8.762021638272408, + 7.174010090971229, + 5.717888584267348, + 4.456830526721523, + 3.4684703733979823, + 2.8219545667440413, + 2.5079444030994273, + 2.3978412897750396, + 2.3508167817461825, + 2.3328192998549446, + 2.425574047320256, + 2.7346472517955025, + 3.2627846888662315, + 3.910763663509721, + 4.561773115703101, + 5.122956830182638, + 5.533383453442952, + 5.767075516047836, + 5.840635635992466, + 5.827459556656755, + 5.872886949555074, + 6.183274943154297, + 6.95008975389559, + 8.25101435712435 + ], + [ + 29.866903253655877, + 29.25083503206272, + 28.863159585045313, + 28.659516259789775, + 28.58628212495408, + 28.586120154716284, + 28.603123989969315, + 28.586772748878666, + 28.49446255958368, + 28.292768688844745, + 27.957751358741724, + 27.474615632300676, + 26.836961080333644, + 26.04577244926769, + 25.108237504729747, + 24.03644139582192, + 22.8459781712646, + 21.55453632064011, + 20.180550888397256, + 18.742059776988658, + 17.2559397432158, + 15.737707012050526, + 14.202030810739029, + 12.664024461801601, + 11.141271198522343, + 9.656446369948412, + 8.240314823537764, + 6.934653530235612, + 5.793659204628691, + 4.879268266016947, + 4.240837659164548, + 3.8762183880095114, + 3.708431226609598, + 3.6235361713783814, + 3.5399383699303213, + 3.4477654683855854, + 3.406120100259934, + 3.4990435682871457, + 3.7601253171708584, + 4.135877990575668, + 4.5226920553640735, + 4.815488594330024, + 4.930931752683408, + 4.815153570793423, + 4.4517905490297, + 3.8859280402459615, + 3.2967816669570196, + 3.133699320243466, + 3.9050991779753566, + 5.53857843422303 + ], + [ + 25.964931873914686, + 25.34765246383736, + 25.01592468874877, + 24.915922106620705, + 24.980389405976368, + 25.13732402306338, + 25.317672684870136, + 25.460697232743147, + 25.516883541057542, + 25.448947923067692, + 25.231632891839727, + 24.850838760074435, + 24.302428453109453, + 23.59087203069291, + 22.727788081425096, + 21.730384304161188, + 20.619788408651168, + 19.41928686438095, + 18.15254989053722, + 16.84200879708167, + 15.507644625690737, + 14.166504571847197, + 12.833236520997817, + 11.52179398291595, + 10.248228974766063, + 9.034192790199391, + 7.9103508781516405, + 6.918092126364528, + 6.106229010200215, + 5.5177600784038905, + 5.166050011936273, + 5.015796454389588, + 4.992662134974439, + 5.01946968234555, + 5.050252124726378, + 5.08303314202381, + 5.149856758558888, + 5.288391940676991, + 5.508032033264359, + 5.773832919647004, + 6.017440850836099, + 6.15961946205996, + 6.128691752488571, + 5.872152179043108, + 5.366672870390749, + 4.637096450982413, + 3.8113206113892026, + 3.26623874229142, + 3.648969549712436, + 5.104875392383389 + ], + [ + 22.000000818018083, + 21.362265118106844, + 21.086257333215062, + 21.105255794468835, + 21.33180240205648, + 21.672461150115996, + 22.040029215718725, + 22.360803441803824, + 22.57742616947208, + 22.648940717938014, + 22.549503817301005, + 22.266638414142523, + 21.79943519845376, + 21.15682171312907, + 20.355870505877007, + 19.42005553497598, + 18.377355632575682, + 17.258137164901743, + 16.092833801667002, + 14.909589637082961, + 13.732228427298093, + 12.579088198282767, + 11.463293693935274, + 10.394813831517038, + 9.384157791466595, + 8.446907702958244, + 7.607539183238828, + 6.900064373466178, + 6.362213044940765, + 6.021257319654588, + 5.8766847444343435, + 5.893720518029377, + 6.016762489694691, + 6.193571094703785, + 6.393588652302226, + 6.612057640273466, + 6.86051125541313, + 7.149058263990115, + 7.469744602951202, + 7.790302221156824, + 8.06019081600382, + 8.22307867765416, + 8.229601636860169, + 8.048556657199187, + 7.678528523458636, + 7.1644332137713365, + 6.624212314695005, + 6.279506794210225, + 6.431961918641719, + 7.30036402597464 + ], + [ + 18.012964957384742, + 17.320040454128034, + 17.096021546066748, + 17.25598340469741, + 17.67986307810486, + 18.240710328371605, + 18.825561389435375, + 19.344717496997863, + 19.73287619696007, + 19.94662486001514, + 19.96107257664451, + 19.766770879372412, + 19.367194918198845, + 18.776696855469048, + 18.01872542328324, + 17.124074737511997, + 16.12892112433464, + 15.07242569649317, + 13.9937606399616, + 12.92862524992589, + 11.905703504562593, + 10.944004948192152, + 10.05232675545924, + 9.231763770125255, + 8.4811477444177, + 7.803941011938521, + 7.214044989393451, + 6.737422139241741, + 6.406592743394632, + 6.247507037874878, + 6.264658177110062, + 6.435685240924559, + 6.720949486802385, + 7.080434936749016, + 7.486096864052369, + 7.924166231216339, + 8.388819105976918, + 8.872064073265985, + 9.355559926569631, + 9.808371873231158, + 10.19101695304052, + 10.463292617406202, + 10.593200830237238, + 10.565800799519439, + 10.392282840731289, + 10.119986257167016, + 9.842510664214863, + 9.703441830906376, + 9.87796639040029, + 10.520018673514645 + ], + [ + 14.076008851232306, + 13.261257121008375, + 13.077909284438869, + 13.414720601040326, + 14.091735983143863, + 14.92475884354285, + 15.764057257651057, + 16.50246211428687, + 17.069371395394995, + 17.42233858331287, + 17.540273978358933, + 17.41873377886954, + 17.06679963494675, + 16.504971773864543, + 15.763602230997282, + 14.881469834623301, + 13.904101284860449, + 12.881386196050387, + 11.863991584333627, + 10.898240867985972, + 10.019791819083785, + 9.247773386992867, + 8.58235260777031, + 8.008395647673916, + 7.505153836497998, + 7.058555322193407, + 6.671322159822706, + 6.36683635874525, + 6.183850453404721, + 6.161473526151867, + 6.320210603999547, + 6.65157025130514, + 7.123950711526123, + 7.697993444649826, + 8.339002505667397, + 9.020843732371974, + 9.72304641332345, + 10.425354196534027, + 11.103499087761719, + 11.728302806193673, + 12.2682903138055, + 12.694719526603603, + 12.987706087223616, + 13.142577569046457, + 13.176047810768287, + 13.131733281280157, + 13.083578533640713, + 13.133875075874405, + 13.401116768206562, + 13.995850586784655 + ], + [ + 10.342290684601199, + 9.265303756917808, + 9.090989242858539, + 9.673805807204536, + 10.699308379044911, + 11.875984088078356, + 13.007484211254967, + 13.976526258750171, + 14.716684253258178, + 15.193491543939167, + 15.393901344689278, + 15.320641459059406, + 14.989192289487718, + 14.426156705500272, + 13.668350209227519, + 12.762171680756621, + 11.762813564215543, + 10.732642746817303, + 9.737632655508556, + 8.840320265412291, + 8.088440165410075, + 7.501805508795809, + 7.065280658711965, + 6.735951859613767, + 6.463268025753185, + 6.2115995339367, + 5.975746130741214, + 5.78594087538066, + 5.70074420129258, + 5.785814064284007, + 6.083949932209969, + 6.595764485944554, + 7.2858747186365775, + 8.104241326058764, + 9.003272638456748, + 9.943993839168167, + 10.89484707665479, + 11.82806762815197, + 12.716785677863813, + 13.534241410173872, + 14.255263228373288, + 14.859447642739557, + 15.33525874942871, + 15.684348868428543, + 15.925510199727807, + 16.097569499251758, + 16.260147310764548, + 16.490706302082017, + 16.8763661934352, + 17.500551951413655 + ], + [ + 7.219902879637654, + 5.5712639073826615, + 5.302061073228606, + 6.286250224823966, + 7.809941676272938, + 9.390577510471703, + 10.814042154957603, + 11.985321947022374, + 12.860422876329666, + 13.421316518538847, + 13.666258870160371, + 13.605770957164074, + 13.26094360247671, + 12.662845512402635, + 11.852568342027958, + 10.88171908411101, + 9.813192190527179, + 8.721721235087387, + 7.692587780608902, + 6.814410550600717, + 6.159746753831276, + 5.753965833206778, + 5.554846967077733, + 5.471216684756969, + 5.409432998787558, + 5.311436381411949, + 5.1714941806006, + 5.038749192994647, + 5.0072436095925905, + 5.183712068665523, + 5.635595872288152, + 6.3594114907877515, + 7.299123396175185, + 8.384277184130527, + 9.552688859651653, + 10.755569746514592, + 11.954951497504, + 13.11976755859934, + 14.223053312237406, + 15.240935813820245, + 16.153331220964365, + 16.945918781383572, + 17.612828269294965, + 18.15947076570603, + 18.60495772983244, + 18.983509007416068, + 19.344144371650824, + 19.747911222807495, + 20.262180838440813, + 20.95238983449086 + ], + [ + 5.815135093129896, + 3.402910087371471, + 2.7364475636246866, + 4.208620905517483, + 6.162961376736938, + 7.995715889067021, + 9.562294324925778, + 10.812007764859864, + 11.724049588749553, + 12.292762163924623, + 12.523214250690634, + 12.429684675384806, + 12.035212828164509, + 11.371700629965469, + 10.480482623545706, + 9.413516224143589, + 8.235570047374095, + 7.027961188037633, + 5.893752871560528, + 4.959396602658609, + 4.351629742648302, + 4.121426720739709, + 4.175178222253942, + 4.3348289968914475, + 4.451837495602597, + 4.4538093063277, + 4.345935849146983, + 4.2087450502599655, + 4.190560721779415, + 4.457580940373392, + 5.09547851664709, + 6.068465348981694, + 7.280666674762976, + 8.638801346585554, + 10.071102985117733, + 11.524919106849854, + 12.960684754206545, + 14.347224095515958, + 15.658989191770535, + 16.87500172797831, + 17.97914065087407, + 18.961372284970015, + 19.81948645046904, + 20.56089129471596, + 21.204019609961335, + 21.778896114416742, + 22.32642419217534, + 22.896034464251187, + 23.54158705877983, + 24.315881885862314 + ], + [ + 7.146338893992843, + 5.144705583181452, + 4.441137345579836, + 5.201649551044686, + 6.653836261168105, + 8.191035869940388, + 9.564594806490584, + 10.673655416430107, + 11.473909887641502, + 11.947578061836674, + 12.092724732773522, + 11.919029669669985, + 11.446017376902027, + 10.70240876847081, + 9.726178790788733, + 8.565367644652316, + 7.280187690743422, + 5.947927933043294, + 4.674126779416923, + 3.6142018052380736, + 2.9804811886480294, + 2.8987962925073143, + 3.1853480887527303, + 3.5327684518657043, + 3.7514405897599947, + 3.7739037584577124, + 3.6234226997523935, + 3.417255461672821, + 3.3793550097918756, + 3.757874349815636, + 4.626405716783289, + 5.872573296953074, + 7.354325816676901, + 8.966619972390117, + 10.637767152161699, + 12.316981917533795, + 13.966242683250151, + 15.555797505220212, + 17.061889774195436, + 18.46591102226548, + 19.75453513465362, + 20.92049654750156, + 21.963688504103445, + 22.89225100729032, + 23.7233178280481, + 24.483106803916716, + 25.206081872960173, + 25.933015370358536, + 26.707961983081777, + 27.57441930677999 + ], + [ + 10.086532809064959, + 8.572953016014756, + 7.911088613903055, + 8.082555377254558, + 8.81352185649504, + 9.77363793850269, + 10.723493097665619, + 11.52054237937543, + 12.085664378675862, + 12.377891514316762, + 12.3803599616296, + 12.09299341762607, + 11.52872330435137, + 10.711598407738052, + 9.676051839804535, + 8.467161172052506, + 7.142309214981554, + 5.775705844346469, + 4.469607740046846, + 3.3787430226116233, + 2.727332151567935, + 2.656401400124974, + 2.9551311423006625, + 3.2868513199492524, + 3.456367971506571, + 3.396448471985768, + 3.133967751760108, + 2.813079194242774, + 2.750183202959438, + 3.284212818366051, + 4.407904931071981, + 5.90780162442929, + 7.619440747642823, + 9.4428609715628, + 11.312780155451744, + 13.182248952106983, + 15.015298564865228, + 16.78351123479816, + 18.46441745379514, + 20.040912077680247, + 21.501321892235804, + 22.839880220168364, + 24.057381801111628, + 25.161784906432473, + 26.168528000753337, + 27.100347643336224, + 27.98643172194857, + 28.86082683480163, + 29.760144909110018, + 30.7207701990019 + ], + [ + 13.514364393152132, + 12.224240664072138, + 11.525894608021952, + 11.373294925918213, + 11.623721453097065, + 12.093039313128733, + 12.613412488124828, + 13.058376992332546, + 13.342874616770859, + 13.414952211307615, + 13.247599501001968, + 12.83285401737679, + 12.178028837190118, + 11.303523975135253, + 10.241841878895903, + 9.037717594537408, + 7.749641782701607, + 6.453505481780641, + 5.249070341838539, + 4.265454259020269, + 3.6397195101929287, + 3.419855362675991, + 3.4711931880230225, + 3.5700068922342085, + 3.5469455993627594, + 3.325099071581466, + 2.9233707441082983, + 2.5065463440590876, + 2.4792890888660772, + 3.2079350268626263, + 4.550464834785133, + 6.24004978419372, + 8.120849807786744, + 10.1036154742394, + 12.12867266806365, + 14.151547342189444, + 16.137307223769184, + 18.058083487621353, + 19.89193615652637, + 21.62241951381955, + 23.238572731830214, + 24.735161736479913, + 26.11301384790962, + 27.37928276022715, + 28.547483449917472, + 29.637155245519107, + 30.673051714858545, + 31.683820366598994, + 32.700220695474826, + 33.75302471933962 + ], + [ + 17.02491953274796, + 15.821961302602235, + 15.052984743642842, + 14.672724095512608, + 14.588944787034817, + 14.684502357560008, + 14.842865473995534, + 14.965142061991786, + 14.976592193982082, + 14.82647862294939, + 14.485288615613793, + 13.941618638109391, + 13.199624662887599, + 12.277260958657234, + 11.20529856821534, + 10.027073704110373, + 8.79887334392884, + 7.590529202900048, + 6.4844337892983805, + 5.567514587163888, + 4.9060947311568635, + 4.503079485964613, + 4.274491086560622, + 4.085907940685443, + 3.8170101416076334, + 3.4052275446534583, + 2.880813978749522, + 2.45057760521465, + 2.5760378202888408, + 3.5164981220583136, + 5.023495136582365, + 6.845386279953286, + 8.846943285742679, + 10.948024244524037, + 13.092573655631437, + 15.237463830605547, + 17.348197403159315, + 19.397044619006415, + 21.36218004269227, + 23.22731501135126, + 24.981613088297006, + 26.619759241648303, + 28.14206974260394, + 29.55452964887434, + 30.86864850814553, + 32.10104103370507, + 33.27267105532058, + 34.4077436684769, + 35.532288172658006, + 36.6725346821691 + ], + [ + 20.46977559889392, + 19.283510419057812, + 18.426177075484578, + 17.858428942065025, + 17.51434650037531, + 17.312460673800928, + 17.168928498128434, + 17.00819865494191, + 16.769245002993102, + 16.407929303810555, + 15.896978902066717, + 15.224886987731946, + 14.394541142560747, + 13.42196162241655, + 12.335254823705078, + 11.173687083054135, + 9.986532425596184, + 8.830874804907578, + 7.76670937340685, + 6.846854768727265, + 6.100417551835381, + 5.515235790436665, + 5.033641931618385, + 4.57165163885657, + 4.053304892556473, + 3.4484006465060753, + 2.8283903833930926, + 2.4823296134729125, + 2.878335686191976, + 4.059361032598349, + 5.721083473638424, + 7.657588362282523, + 9.759115759073453, + 11.956076213929798, + 14.197028816859689, + 16.440981959654703, + 18.65445237159517, + 20.81020291381888, + 22.88665321371006, + 24.86760671269511, + 26.742144407320986, + 28.504596383615173, + 30.15451491850599, + 31.696573632460183, + 33.14032071206375, + 34.49972668050023, + 35.792490352316534, + 37.03909937458242, + 38.261680521340345, + 39.482713714357665 + ], + [ + 23.782864056774773, + 22.572528565556954, + 21.615684187420456, + 20.87931587520802, + 20.313949847208423, + 19.859998308551578, + 19.45541200496926, + 19.042568818161577, + 18.57319031165086, + 18.011110375729167, + 17.333346419981122, + 16.53007997597408, + 15.60403627541, + 14.569547679624048, + 13.451379433931605, + 12.28319292463855, + 11.105290661247086, + 9.961020353355975, + 8.89104150391323, + 7.925028703616352, + 7.0720472766787505, + 6.3137923770357, + 5.606623795468335, + 4.895534183973935, + 4.138740495355457, + 3.3467210329363644, + 2.667410577708555, + 2.524226723877372, + 3.291869129214739, + 4.742949899543185, + 6.572714103933284, + 8.628028072541442, + 10.825749062007274, + 13.10889369876328, + 15.432584355815722, + 17.759505388284317, + 20.058315139761497, + 22.303038264921636, + 24.47281077447916, + 26.55176486860413, + 28.52896977767418, + 30.39838030044223, + 32.15874987090662, + 33.813463418368244, + 35.37024669311316, + 36.84071697685497, + 38.23975599185009, + 39.584708121779265, + 40.8944328865625, + 42.1882658322653 + ], + [ + 26.93111707954388, + 25.67079918953806, + 24.60650615889508, + 23.71089838741067, + 22.945906765455803, + 22.26675063534066, + 21.626776829806673, + 20.982098843785238, + 20.29531077911354, + 19.537991802528314, + 18.692065773794713, + 17.750244542890066, + 16.71578924293621, + 15.601737427437874, + 14.429616336064376, + 13.227521465468987, + 12.02730962357418, + 10.860599639063206, + 9.753441706114936, + 8.72013528890064, + 7.75782948820719, + 6.844714555261632, + 5.944692241843399, + 5.020249419918482, + 4.056421925615748, + 3.1133200302556903, + 2.468080907675034, + 2.6933648474313463, + 3.8727996279970207, + 5.581871088833185, + 7.575913828776498, + 9.748502714409017, + 12.038400394272209, + 14.400185261034903, + 16.79588572983977, + 19.192594459630982, + 21.561855444591583, + 23.879573528408045, + 26.126056133748172, + 28.286064966322016, + 30.34883805102607, + 32.308063049056535, + 34.16178346536177, + 35.912216122843205, + 37.56545773932929, + 39.131063116427384, + 40.6214876749597, + 42.05140174435095, + 43.43690097043447, + 44.794653582941706 + ], + [ + 29.898296180291666, + 28.570469291212905, + 27.39279803132695, + 26.3427558573217, + 25.39065026571541, + 24.50235291212381, + 23.642560329911735, + 22.77803880037125, + 21.88041126490305, + 20.92823703917481, + 19.90831712007944, + 18.81626938818232, + 17.65644800113647, + 16.44124781821604, + 15.189764830563929, + 13.925707760749146, + 12.674418494080887, + 11.45893573209672, + 10.295334810552594, + 9.188167595950436, + 8.127578534794548, + 7.09015431899089, + 6.045453727632319, + 4.970536045659426, + 3.8808502982856776, + 2.914541067229381, + 2.529445970341055, + 3.236723485783351, + 4.743698037536251, + 6.645315441149159, + 8.770202064364216, + 11.040807641842886, + 13.408833279714045, + 15.836509265629255, + 18.291163691380735, + 20.74376050723478, + 23.168676968472457, + 25.543838748267728, + 27.850914340728906, + 30.07547035372016, + 32.207057887248, + 34.23922043998531, + 36.16941670510772, + 37.998850017984964, + 39.73219567713477, + 41.37722012147592, + 42.94429243896636, + 44.4457981800349, + 45.89547646057372, + 47.30771192520972 + ], + [ + 32.67866767703578, + 31.271194742739105, + 29.975863501597573, + 28.77411258915022, + 27.642576750428656, + 26.5550489763078, + 25.484792858730838, + 24.406891502299327, + 23.300354998234557, + 22.149793540490318, + 20.946554731692082, + 19.689288424141154, + 18.383926508929033, + 17.043051175053943, + 15.68458825496238, + 14.32972989757106, + 13.000010385676951, + 11.713603665603411, + 10.481260551375883, + 9.302867187093765, + 8.166218825131278, + 7.049990941615021, + 5.933269084683591, + 4.816572923719776, + 3.7714155144942025, + 3.060045447204375, + 3.187276358329114, + 4.28644808149037, + 5.9793126519000435, + 7.9913291723308095, + 10.197866996140165, + 12.53389946597456, + 14.95615493510965, + 17.4303146436127, + 19.926684427263588, + 22.41883652512086, + 24.88333270400014, + 27.299820011085217, + 29.65121815113427, + 31.923886552289044, + 34.1077281633997, + 36.19621404161654, + 38.186322063645804, + 40.07838575782794, + 41.87585066188929, + 43.584938213412066, + 45.21422177441427, + 46.77412574546398, + 48.27636595568379, + 49.73335638769911 + ], + [ + 35.274049561159444, + 33.778761811206905, + 32.3631664144758, + 31.01189193085303, + 29.70639089715167, + 28.42641723682446, + 27.15173929692257, + 25.863897351897275, + 24.54782496396215, + 23.19319109984771, + 21.795364766829376, + 20.355938354246366, + 18.88275935786167, + 17.389411214746303, + 15.89406096938154, + 14.417576693723476, + 12.980855756377698, + 11.601470524489919, + 10.29011910542361, + 9.04800038925388, + 7.867012406095846, + 6.735486639397291, + 5.653613277482702, + 4.667111327939492, + 3.932861400161103, + 3.7686555267488453, + 4.4248046507934635, + 5.776335329714565, + 7.567966785422528, + 9.632609911731414, + 11.877309854904299, + 14.244707372818247, + 16.693726391475714, + 19.19137194111341, + 21.709337530398688, + 24.22267995187192, + 26.709397443798174, + 29.15038934609073, + 31.529552145386887, + 33.833894786115025, + 36.053617751345456, + 38.18213012630974, + 40.21599284029709, + 42.154782917457005, + 44.00087738150049, + 45.75915881915013, + 47.43664853894026, + 49.04207791911531, + 50.585413515464445, + 52.07735608198204 + ], + [ + 37.69213378069395, + 36.10417869397372, + 34.567612497171076, + 33.069569165166875, + 31.59514858973616, + 30.1285716707856, + 28.65449736841348, + 27.159379513119806, + 25.63274317607539, + 24.06827747922702, + 22.4646644715104, + 20.826082492234928, + 19.162330304106984, + 17.488512524407685, + 15.824210954972395, + 14.192054551736668, + 12.615628796087677, + 11.116808131735857, + 9.712980398131359, + 8.415412602062558, + 7.231256308249694, + 6.173285472188718, + 5.282741023427848, + 4.666082069873564, + 4.509860292792668, + 4.976641713381771, + 6.050073964223236, + 7.586915614111351, + 9.44937106264249, + 11.541410382787294, + 13.797605500160165, + 16.17025085073521, + 18.621784041163764, + 21.12083062730173, + 23.64022388149896, + 26.156072742875246, + 28.647382343918867, + 31.09595350311168, + 33.486405594352206, + 35.80623371313634, + 38.045849804058925, + 40.198580043045794, + 42.26060386498394, + 44.23082773160957, + 46.110691719183684, + 47.903910910105864, + 49.616157256729785, + 51.254691324844075, + 52.82795698462878, + 54.345155319252086 + ], + [ + 39.945306499920676, + 38.26288049032992, + 36.60683252681188, + 34.9662198523841, + 33.328866884261245, + 31.682293283428987, + 30.014755557122385, + 28.316321239108845, + 26.5798946791874, + 24.80212273610633, + 22.98412284193405, + 21.131990315760508, + 19.257052992806248, + 17.375848106105444, + 15.509801513105813, + 13.684602256702311, + 11.92931087046529, + 10.275378118253473, + 8.756114756293854, + 7.407956335346428, + 6.276069145353958, + 5.426392364597946, + 4.956195147471695, + 4.970922674803099, + 5.512955202615041, + 6.529808428930384, + 7.928353642972752, + 9.625189042659315, + 11.556180034700226, + 13.670918665364917, + 15.92758709266536, + 18.290147635856634, + 20.72686908777063, + 23.20948973244292, + 25.712727044433855, + 28.214012877590594, + 30.6933818369664, + 33.13345491999221, + 35.51947006164753, + 37.839321656666286, + 40.08358158294258, + 42.245483311645486, + 44.32085781859726, + 46.3080154054974, + 48.207571726862746, + 50.022219833681284, + 51.75645325178602, + 53.41624814749877, + 55.00871542253759, + 56.54173590747046 + ], + [ + 42.04964738752123, + 40.273905093871946, + 38.50235625793839, + 36.72551431193512, + 34.933216409098584, + 33.11538140495115, + 31.262847736921962, + 29.368235708091888, + 27.426778821408362, + 25.437075553456364, + 23.401724894591332, + 21.327825189868886, + 19.227337448988557, + 17.117346998046884, + 15.020315869962497, + 12.964536705224676, + 10.985252712237283, + 9.12745264169986, + 7.452398801284421, + 6.050973243270421, + 5.061239391544482, + 4.651276064458649, + 4.898592034794919, + 5.697138904250244, + 6.877724648340314, + 8.32668122979539, + 9.9872344739389, + 11.829628493560389, + 13.831991482236123, + 15.972592058355856, + 18.228070069421637, + 20.573957953201607, + 22.98570135977603, + 25.439530276851634, + 27.91306055168923, + 30.385681662661288, + 32.83880918219955, + 35.25605667406227, + 37.62335502818037, + 39.92902925232864, + 42.16383349447024, + 44.32094165517008, + 46.395890727867425, + 48.386475298035855, + 50.2925935693267, + 52.11604747730361, + 53.86030172561749, + 55.53020881227518, + 57.13170915817184, + 58.671517123484776 + ], + [ + 44.023972629742815, + 42.158985964344105, + 40.27863685250627, + 38.37455550311684, + 36.438080777150404, + 34.46088472021627, + 32.43565200022867, + 30.356774304944768, + 28.22102007513808, + 26.028145257890444, + 23.781421246836594, + 21.488073335811997, + 19.159652114828535, + 16.812415915450522, + 14.46792357282784, + 12.154330584334136, + 9.909663366871762, + 7.790593999341339, + 5.896801537433429, + 4.434120791322951, + 3.786478701841376, + 4.208479934325255, + 5.373251759951533, + 6.877578628609515, + 8.54350383598004, + 10.317298920399331, + 12.189397107015738, + 14.161710159400096, + 16.23501237513591, + 18.40476433837199, + 20.66076978917669, + 22.988421992981568, + 25.37035158216869, + 27.78791953103447, + 30.222375139996302, + 32.655684083834714, + 35.071095679649915, + 37.45352260149697, + 39.78978914013349, + 42.06878469788735, + 44.28154423245226, + 46.42126776312583, + 48.483285752480704, + 50.46497479230957, + 52.36562744768134, + 54.18628059565179, + 55.929507651008315, + 57.59918137342662, + 59.20021525115985, + 60.73829254878752 + ], + [ + 45.88887204489546, + 43.94155542386031, + 41.96193001660007, + 39.94253906261764, + 37.875910124025, + 35.75507510672235, + 33.574126912821555, + 31.32878250287379, + 29.016922244811145, + 26.63907910055749, + 24.19885908197318, + 21.703288585166426, + 19.163110931856043, + 16.593111500834546, + 14.012690897012522, + 11.447300611750528, + 8.932651075510991, + 6.528684818295232, + 4.374541743196363, + 2.922458813465489, + 3.1182172180480268, + 4.627059711114815, + 6.514025672743509, + 8.48364299233387, + 10.47330484231877, + 12.479929031812402, + 14.516673945174956, + 16.598548788465404, + 18.736493894233863, + 20.935177503984548, + 23.192860433386656, + 25.502382417035435, + 27.852605124524203, + 30.229883170746827, + 32.61934192884229, + 35.00588861400452, + 37.3749655236684, + 39.71308763756189, + 42.00821182074914, + 44.24997760768634, + 46.42984926004145, + 48.541179697699114, + 50.57921028892671, + 52.54101629296803, + 54.425405460592835, + 56.23277634851916, + 57.96494281202473, + 59.62493153144312, + 61.21676001277121, + 62.74520305374542 + ], + [ + 47.66573730915744, + 45.64568439123348, + 43.57906764203373, + 41.45927349317258, + 39.27989409376206, + 37.03517220000721, + 34.720472717808555, + 32.33275878322559, + 29.87105111968383, + 27.33685358498876, + 24.73453680708981, + 22.071689480927734, + 19.35948376623211, + 16.613187201222622, + 13.853181593058915, + 11.107547478506806, + 8.419808811934493, + 5.8768163575165815, + 3.7341956582277223, + 2.883040886058898, + 4.055666258855374, + 6.076090699421348, + 8.26566925188758, + 10.46617410305419, + 12.64514283468525, + 14.805378085311622, + 16.960814494150025, + 19.12721099226398, + 21.317649965286115, + 23.540407321323165, + 25.798334982696474, + 28.0892283453504, + 30.40674749344718, + 32.74155315154385, + 35.08242907373451, + 37.417266482532256, + 39.73386341121632, + 42.02053831278798, + 44.2665792280745, + 46.46255616660302, + 48.60052277366906, + 50.67412882994878, + 52.67866033942782, + 54.611020051053494, + 56.469658520120504, + 58.25446414160823, + 59.966619731443735, + 61.608432922126205, + 63.18314763029148, + 64.69474393930068 + ], + [ + 49.37580639031069, + 47.29500807521078, + 45.15619505037965, + 42.95364569349815, + 40.68205666987593, + 38.336945660364144, + 35.9150819677536, + 33.41493332063982, + 30.837121901915353, + 28.184893411274317, + 25.46462500180778, + 22.686443502155875, + 19.865125617503207, + 17.0216917169479, + 14.186736225514968, + 11.40838014905074, + 8.773653602682225, + 6.47125580906316, + 4.950647472371064, + 4.903698770371952, + 6.263213979119569, + 8.276698285058025, + 10.501718129489747, + 12.77492633930036, + 15.041383782719182, + 17.287708743921286, + 19.51742829158502, + 21.740208736161197, + 23.966373656271017, + 26.203993919075966, + 28.457531725857926, + 30.727512684195673, + 33.010853245110816, + 35.30154945507877, + 37.59150648497123, + 39.87136193856172, + 42.131219670479645, + 44.36125787375752, + 46.55220488547847, + 48.69569189922167, + 50.78449815768546, + 52.81270526078671, + 54.77577581223731, + 56.67056945258373, + 58.49530726144941, + 60.249493901175065, + 61.9338057722314, + 63.54995277236154, + 65.10052085877355, + 66.58880236173202 + ], + [ + 51.03926562174461, + 48.91170232530781, + 46.71756106283307, + 44.452149875032376, + 42.11143010758438, + 39.6924114820145, + 37.1935886347776, + 34.61542195924221, + 31.960877732574378, + 29.23606643108261, + 26.451064943981155, + 23.621102730923557, + 20.768490842036496, + 17.92611221738092, + 15.144296412386206, + 12.505158008392758, + 10.152491930163837, + 8.343043358063285, + 7.459459634026559, + 7.76748175390745, + 9.075568874142958, + 10.959583439064591, + 13.10918401814771, + 15.362081914205204, + 17.642617785918993, + 19.919143640077273, + 22.182001796273113, + 24.43205380928072, + 26.674306993481643, + 28.914249325861693, + 31.15582380340953, + 33.40048666636542, + 35.64699149908563, + 37.891631566652435, + 40.12873440605482, + 42.351258017836955, + 44.5513881763936, + 46.72107777921891, + 48.85249964687381, + 50.93840418297415, + 52.972384868943195, + 54.9490602457311, + 56.86418309086666, + 58.714687618077164, + 60.49868480033895, + 62.21541496733943, + 63.86516595353618, + 65.44916437360702, + 66.96944706962822, + 68.42871934995306 + ], + [ + 52.67445733167985, + 50.51558040755504, + 48.284456825190304, + 45.97761015214374, + 43.59248787899317, + 41.12787897911533, + 38.58439596491871, + 35.965040914332725, + 33.2758953594795, + 30.52701113382865, + 27.733647337393748, + 24.91812451529227, + 22.1128006766408, + 19.365092076986436, + 16.746103732746242, + 14.364829840920104, + 12.386945354885393, + 11.04038350064512, + 10.553331604476258, + 11.000755492331573, + 12.226314058872738, + 13.967728823352763, + 16.001476979083616, + 18.182046082497074, + 20.425666412778927, + 22.68790379680445, + 24.947633926683494, + 27.19689548614913, + 29.434541080790957, + 31.662252003604156, + 33.882094485638476, + 36.09513426222005, + 38.300790746391954, + 40.49669469513186, + 42.67886507557644, + 44.84206316316366, + 46.98022024757988, + 49.0868690204478, + 51.15553608642261, + 53.18007337441548, + 55.154920035900915, + 57.07529495572368, + 58.937324732637784, + 60.738114232100145, + 62.47576759073883, + 64.14936755830686, + 65.75892072765113, + 67.30527575818601, + 68.79002124565757, + 70.21536945572616 + ], + [ + 54.29723824312131, + 52.123373740437586, + 49.87438982423946, + 47.54821414039225, + 45.1439988730657, + 42.662579796062815, + 40.10702528490654, + 37.48330858911474, + 34.80116147793912, + 32.0752085992386, + 29.32654893649869, + 26.585054828965024, + 23.892801271300026, + 21.30915767900435, + 18.9178683762922, + 16.83489855325859, + 15.210643019256583, + 14.210364206233987, + 13.956583927301315, + 14.45838050872506, + 15.600132664434206, + 17.20615859765378, + 19.111290875124265, + 21.191448301065943, + 23.363992523765077, + 25.577984423079766, + 27.804166422006425, + 30.027186259878206, + 32.24004632433423, + 34.44027229612623, + 36.627349158227624, + 38.80109323961181, + 40.96071570212924, + 43.10438643843686, + 45.22914366524796, + 47.33102440662042, + 49.40531874767147, + 51.446876399280406, + 53.45041658193953, + 55.410810512087, + 57.32331956562012, + 59.1837818671298, + 60.9887463594605, + 62.73555720596283, + 64.42239345275267, + 66.04826985536707, + 67.61300510092626, + 69.11716362510316, + 70.56197700504877, + 71.94925059435838 + ], + [ + 55.920523118779435, + 53.74824327830739, + 51.50055451369083, + 49.17693785565149, + 46.77840881647309, + 44.30802141313847, + 41.77148149571637, + 39.177908668615736, + 36.540808178579674, + 33.87934557067738, + 31.220056681339642, + 28.59916121500611, + 26.0656319391396, + 23.684962566627917, + 21.54283865387875, + 19.74608105610943, + 18.415173972482908, + 17.661310560147225, + 17.549231768641757, + 18.066825434334273, + 19.128266495895403, + 20.608961242438774, + 22.38389704249974, + 24.349471180167058, + 26.429034157430436, + 28.569980479883473, + 30.738290089340055, + 32.91319464293506, + 35.082792332313225, + 37.24070200667421, + 39.38363012985595, + 41.50968654529738, + 43.61729501564037, + 45.70456200971975, + 47.7689843893079, + 49.80739378790108, + 51.81605323988317, + 53.79083956849178, + 55.72746206769788, + 57.62168302688538, + 59.46951797698169, + 61.26740301274075, + 63.01232339049034, + 64.70190225605862, + 66.33445133297364, + 67.9089871705378, + 69.42521750316023, + 70.88350269523461, + 72.28479733805285, + 73.63057695268564 + ], + [ + 57.5540315849221, + 55.399543773511624, + 53.17162516109853, + 50.87138915354952, + 48.50177426012305, + 46.0680810815366, + 43.57862520872546, + 41.04554132602922, + 38.485786623745696, + 35.922403345286284, + 33.386100467624814, + 30.91717605857758, + 28.567663539609494, + 26.40323022182129, + 24.503628241731708, + 22.959390782539977, + 21.861713072362534, + 21.284181630406863, + 21.261194286011147, + 21.77489133453676, + 22.76025656728161, + 24.1252178462054, + 25.773155959067086, + 27.6181927646526, + 29.591619742818065, + 31.642298615164716, + 33.734202999565696, + 35.843112712679165, + 37.95342576845425, + 40.055452677524215, + 42.14327896638711, + 44.21316849387346, + 46.26243865021017, + 48.28872580765616, + 50.289558604251326, + 52.26216182695008, + 54.203422470863146, + 56.1099604945951, + 57.97825852406187, + 59.80481610717221, + 61.586304237177394, + 63.31970427503866, + 65.00242198699033, + 66.63237229455392, + 68.20803376856468, + 69.72847419005916, + 71.19334993862354, + 72.60288279693253, + 73.95781816698725, + 75.25936881447727 + ], + [ + 59.204236944358684, + 57.08283587509704, + 54.89185762649714, + 52.63404083093675, + 50.31419204442187, + 47.939732492889256, + 45.521352297752586, + 43.07379520410984, + 40.616797563694085, + 38.176196161576044, + 35.7851863935131, + 33.48562875498671, + 31.329124910866334, + 29.377267218677908, + 27.700015626638535, + 26.37079276076295, + 25.457234551781486, + 25.00841865585005, + 25.042623040041356, + 25.541637271252473, + 26.455168188255616, + 27.713068335876603, + 29.239329910523935, + 30.96282058326844, + 32.823128218742326, + 34.77236128831266, + 36.77448533073714, + 38.80350909448459, + 40.84133893334792, + 42.87572915323289, + 44.89851798261594, + 46.90421091036078, + 48.88890854546251, + 50.84954476841475, + 52.783386860620205, + 54.68774483509564, + 56.55983854857015, + 58.39677614045644, + 60.19560433824874, + 61.95339895531513, + 63.66737155534506, + 65.3349751496242, + 66.95399759979793, + 68.52263602266352, + 70.03954899590143, + 71.50388589383572, + 72.91529442265576, + 74.27390855385744, + 75.58031972829107, + 76.83553454553258 + ], + [ + 60.87449762044613, + 58.80011621462975, + 56.6614530345926, + 54.462778589733375, + 52.21060471817393, + 49.91421329476517, + 47.58627116177638, + 45.24353801591618, + 42.90766411902552, + 40.60605082190142, + 38.37269726119541, + 36.24886473001357, + 34.283240661685326, + 32.53108339160259, + 31.05165216423627, + 29.903278289787103, + 29.136027068136897, + 28.783186303749105, + 28.85426710661337, + 29.332527753644772, + 30.17834668313721, + 31.337019846492407, + 32.74785821676883, + 34.35180709156674, + 36.096325594478586, + 37.93762199357396, + 39.84097468472631, + 41.779928597369626, + 43.73497021295249, + 45.692066687944696, + 47.64128634222847, + 49.57560748490258, + 51.48995578419281, + 53.38047164384847, + 55.24398746350607, + 57.07768368931052, + 58.87888838732328, + 60.64498533199052, + 62.373398659499074, + 64.06162676185215, + 65.70730335807524, + 67.30826890238276, + 68.86264024237224, + 70.36887049255624, + 71.82579436327404, + 73.23265670935497, + 74.58912392278943, + 75.89527909952484, + 77.15160277430674, + 78.35894153976133 + ], + [ + 62.565337686593686, + 60.55021757880195, + 58.477113899566774, + 56.351662287777614, + 54.18183260591119, + 51.97841370352124, + 49.75555542360361, + 47.53135884600113, + 45.328489437611466, + 43.17475801471641, + 41.10356453978382, + 39.154024485604154, + 37.37050074055617, + 35.801174658073215, + 34.49528186956767, + 33.49883330704677, + 32.849144402151886, + 32.56923461365253, + 32.663745072498614, + 33.117897755617165, + 33.899995675308034, + 34.96659179813254, + 36.268618394912764, + 37.7568667648864, + 39.385914113714634, + 41.11633976744568, + 42.91552818542923, + 44.75750419889509, + 46.622209634487525, + 48.49452752887249, + 50.363256014117695, + 52.22015206979298, + 54.05910787703817, + 55.87548457277002, + 57.66560422224325, + 59.42638648923746, + 61.1551087988656, + 62.84926570534431, + 64.50650321453509, + 66.12460584247448, + 67.70151734493611, + 69.23537967159827, + 70.7245783155391, + 72.16778554610008, + 73.56399586913729, + 74.91255039407675, + 76.21314861143506, + 77.46584744697017, + 78.6710484271011, + 79.82947443598731 + ], + [ + 64.27483457150109, + 62.32932221150195, + 60.33271472546876, + 58.291793529507466, + 56.21568643991803, + 54.11628902779403, + 52.00871229235182, + 49.91173564455907, + 47.84822597849924, + 45.84545536614695, + 43.93520979039605, + 42.15353158615357, + 40.539891005110746, + 39.13556689347909, + 37.98108222550604, + 37.112740822892384, + 36.55865667676556, + 36.335055915119035, + 36.44383879027207, + 36.872191512983356, + 37.59443049779171, + 38.57554102309973, + 39.77542931786617, + 41.15291823923919, + 42.668856489921744, + 44.288124897758415, + 45.98062775948724, + 47.72150421401519, + 49.49082125038208, + 51.272973522469705, + 53.055958454374334, + 54.83064066427443, + 56.59007572008631, + 58.32893066758731, + 60.043015987458816, + 61.7289284953329, + 63.3837953098494, + 65.00510387584045, + 66.59060096203189, + 68.13824361259086, + 69.64618646300258, + 71.11279203692418, + 72.53665317162695, + 73.91661925727755, + 75.25182031525672, + 76.54168497008637, + 77.78595004341283, + 78.9846608178585, + 80.13816201202471, + 81.24708021773246 + ], + [ + 65.99906988598443, + 64.13153114626112, + 62.22001321082502, + 60.27219490395287, + 58.29804150777188, + 56.31015166809505, + 54.32410247936447, + 52.35876473430101, + 50.43654369568631, + 48.583478273890634, + 46.82910446079281, + 45.20596276778181, + 43.748616810786146, + 42.49207231824438, + 41.469568614816716, + 40.709873599430885, + 40.23442766887585, + 40.05487449564872, + 40.17157008624381, + 40.57349146086624, + 41.23960424188321, + 42.14135130282762, + 43.2456753342747, + 44.5179716390438, + 45.92453443023732, + 47.434292262846434, + 49.019825636260734, + 50.657779357645026, + 52.32882856830731, + 54.01735523356552, + 55.71096612751987, + 57.3999506714363, + 59.076746176485635, + 60.73545253115297, + 62.371418795266564, + 63.98090997539726, + 65.56085256498375, + 67.10865132376334, + 68.62206642012698, + 70.0991387506011, + 71.5381513737131, + 72.93761604629971, + 74.29627542632856, + 75.61311330261587, + 76.8873670124821, + 78.1185378736286, + 79.30639690752204, + 80.45098433490301, + 81.55260227728516, + 82.61180081832501 + ], + [ + 67.73260252629079, + 65.9494393483182, + 64.12934117049906, + 62.28062897121681, + 60.413792276080834, + 58.54175875665767, + 56.680139537649055, + 54.84741988382118, + 53.0650517769894, + 51.35738947122876, + 49.75139408526287, + 48.27602441480243, + 46.96123809413771, + 45.83656255987242, + 44.92926953215919, + 44.262298788931226, + 43.85220284154074, + 43.70747412369932, + 43.82761271517725, + 44.20316597131253, + 44.81675188408452, + 45.644849464773365, + 46.65999209571339, + 47.83297728128155, + 49.13478929701016, + 50.53806345651303, + 52.01804701578159, + 53.55310119228437, + 55.12483562472816, + 56.71797977164162, + 58.32008821542151, + 59.92115956553582, + 61.51322881231153, + 63.08997442759599, + 64.64636589457535, + 66.17836510177105, + 67.68268598816432, + 69.15661056533168, + 70.59785548052754, + 72.00448113447636, + 73.37483457705126, + 74.70751757360003, + 76.00137202723138, + 77.25547608685551, + 78.46914556111733, + 79.64193654797242, + 80.77364638283142, + 81.8643110499758, + 82.91419806787401, + 83.92379454584004 + ], + [ + 69.46893012448002, + 67.77467754694545, + 66.05023154800206, + 64.30431109748577, + 62.5476442409519, + 60.79316407648822, + 59.05616469838518, + 57.35438800099507, + 55.70800304782152, + 54.13943071429652, + 52.67296030844635, + 51.33410650208342, + 50.14867040130921, + 49.141504123145566, + 48.33503626527546, + 47.74768972721967, + 47.3923944015072, + 47.275436030019094, + 47.395861378815546, + 47.74557034454643, + 48.31008960842006, + 49.06988581278042, + 50.00198556227393, + 51.08164850785237, + 52.28388114938027, + 53.58465512645439, + 54.96177422393451, + 56.395398506683925, + 57.86827426695531, + 59.36573663328993, + 60.87555385319188, + 62.38767495946675, + 63.89393089683851, + 65.38772657463744, + 66.86374960227097, + 68.3177115347768, + 69.74612958368358, + 71.14615088357367, + 72.51541733305557, + 73.85196646488684, + 75.15416243882635, + 76.42065079825844, + 77.6503308222748, + 78.84233991230641, + 79.99604529365564, + 81.11103924781224, + 82.1871350214928, + 83.22436141725463, + 84.22295482006075, + 85.18334803672312 + ], + [ + 71.20091367156284, + 69.5983941723107, + 67.97195540365064, + 66.33049393819273, + 64.68473043332725, + 63.047340038860156, + 61.43303346592916, + 59.85856300271484, + 58.34262217679854, + 56.90560372061571, + 55.56918033266546, + 54.355679640049246, + 53.287242228213366, + 52.38478192883053, + 51.6668096571253, + 51.14822915808915, + 50.839251883162106, + 50.74459232693823, + 50.86308163076892, + 51.18777509469022, + 51.70654308652227, + 52.40305033852618, + 53.257970911544604, + 54.25026859601177, + 55.35839283179822, + 56.56128451449981, + 57.83913732961457, + 59.17390528802667, + 60.54957921226434, + 61.95227305673192, + 63.37016754310008, + 64.79335723601321, + 66.2136412381099, + 67.62428971108058, + 69.01981012829555, + 70.39572952532788, + 71.74840253083953, + 73.0748498054306, + 74.37262767174283, + 75.63972705922995, + 76.87449823169041, + 78.0755969159023, + 79.24194720966693, + 80.37271683876179, + 81.46730080166385, + 82.5253100644091, + 83.54656265069124, + 84.53107514615346, + 85.4790532556752, + 86.39088059175529 + ], + [ + 72.92114909502827, + 71.41166260522543, + 69.88395783332705, + 68.3469197952656, + 66.81106106826171, + 65.2885969618205, + 63.79346741575732, + 62.34128428840661, + 60.949179946494645, + 59.63553238418258, + 58.419545178578495, + 57.320669378832015, + 56.35787054917989, + 55.548767958244554, + 54.90870213003517, + 54.44981609318095, + 54.18025617755892, + 54.103600984055966, + 54.21860638521895, + 54.51931138943813, + 54.99549391168351, + 55.63341166571879, + 56.41672560163291, + 57.32748944598162, + 58.3470984750266, + 59.45711661574791, + 60.63993373912858, + 61.87923622466596, + 63.160298381799876, + 64.47011829923571, + 65.79742973029852, + 67.13262348373652, + 68.46760952312705, + 69.79564638649289, + 71.11115898147114, + 72.40956020657171, + 73.68708674787759, + 74.94065508836083, + 76.16774034752797, + 77.36627802947565, + 78.53458701488985, + 79.67131106735167, + 80.77537560256346, + 81.84595635813432, + 82.8824567800311, + 83.884491305508, + 84.85187218670085, + 85.78459799928558, + 86.682842469983, + 87.54694270421942 + ], + [ + 74.62227756662324, + 73.2058086874724, + 71.77619313070633, + 70.34214945097423, + 68.91382682918344, + 67.50283595473661, + 66.12222672355155, + 64.78639592971504, + 63.51090737331621, + 62.312208132394765, + 61.207229258367, + 60.212867893436915, + 59.345361316161885, + 58.619581141285636, + 58.04829561347198, + 57.64146558151181, + 57.405650028869445, + 57.34359501259247, + 57.45406304271944, + 57.73193003124539, + 58.168540051037446, + 58.752272945588984, + 59.469254473472084, + 60.304127942385556, + 61.24081038732317, + 62.263171646732665, + 63.355595718595225, + 64.50340528551578, + 65.6931485682876, + 66.91276088112541, + 68.15162117576854, + 69.40052721463809, + 70.65161296296439, + 71.89822952269385, + 73.13480745569328, + 74.35671442064367, + 75.56011819622212, + 76.74186170152126, + 77.8993537199596, + 79.03047674394905, + 80.13351167072342, + 81.20707793654957, + 82.25008699428139, + 83.26170672571762, + 84.24133434438642, + 85.18857550295448, + 86.10322760100725, + 86.98526563548249, + 87.83482930308034, + 88.65221041948301 + ], + [ + 76.29723271419228, + 74.97266060666875, + 73.6393670020394, + 72.30578304483814, + 70.98158126601557, + 69.67767259816094, + 68.40615300893741, + 67.18018707074137, + 66.01381629465241, + 64.92168239873172, + 63.91866050455242, + 63.01940502278948, + 62.237821679762156, + 61.58649192781146, + 61.07608902242697, + 60.71483553568904, + 60.50805678838726, + 60.45788096597814, + 60.56312358572653, + 60.81937303563426, + 61.21926903622103, + 61.7529423195132, + 62.408566443279895, + 63.17296444492799, + 64.0322143861701, + 64.9722068674212, + 65.97912114310543, + 67.03980125275477, + 68.14202700381975, + 69.27468516017026, + 70.42785326674475, + 71.5928123646266, + 72.76200601636795, + 73.92896230392819, + 75.08819348579551, + 76.23508539302553, + 77.36578584865073, + 78.4770987156002, + 79.56638780284318, + 80.63149288519206, + 81.6706585500262, + 82.68247545962672, + 83.66583286771723, + 84.619880794537, + 85.54400008190848, + 86.4377785550478, + 87.30099165372458, + 88.13358611251329, + 88.93566552833265, + 89.70747692262402 + ], + [ + 77.93942752536496, + 76.70472792462508, + 75.46509780110792, + 74.22859138563398, + 73.00432811029617, + 71.8024649894358, + 70.63412303213931, + 69.5112585242003, + 68.44647123225721, + 67.4527442854042, + 66.54311501613473, + 65.73028251790215, + 65.02616583768098, + 64.44143575854615, + 63.985051627058894, + 63.66384077198715, + 63.48215981002186, + 63.44167313695773, + 63.54127389152009, + 63.77715786467451, + 64.1430437576258, + 64.63051709976189, + 65.2294630089988, + 65.92854671371194, + 66.71570076436478, + 67.5785831722804, + 68.50497948300092, + 69.48313195219856, + 70.50198876390226, + 71.55137440765263, + 72.62208832638487, + 73.70594268299756, + 74.79575182907507, + 75.88528622056451, + 76.96920257994915, + 78.04296048240968, + 79.10273359786318, + 80.14532181712627, + 81.16806861128671, + 82.16878633054309, + 83.14569079823677, + 84.09734551196217, + 85.0226150121241, + 85.92062648658285, + 86.79073840584162, + 87.63251488104919, + 88.44570446259064, + 89.23022221014568, + 89.9861340315827, + 90.71364248030174 + ], + [ + 79.54288668041976, + 78.39531905525119, + 77.24601037816977, + 76.1025761397024, + 74.97353698547428, + 73.86827421468631, + 72.79694449363092, + 71.77034745542029, + 70.79974138577339, + 69.89660486626202, + 69.07234619920202, + 68.33796762306363, + 67.70369740823762, + 67.17860921210426, + 66.77025354387736, + 66.48432961894382, + 66.32442611721312, + 66.2918556733055, + 66.38560033610428, + 66.6023746495171, + 66.93680109604794, + 67.38168144930323, + 67.92833897685938, + 68.56700165967801, + 69.28719600076876, + 70.07812408720578, + 70.92900226426956, + 71.82934677165241, + 72.76919877039236, + 73.73928744978654, + 74.7311348155061, + 75.73710913690644, + 76.75043594320795, + 77.76517613099305, + 78.7761804741875, + 79.77902891299763, + 80.76996170849633, + 81.74580810249431, + 82.70391668063732, + 83.6420903112516, + 84.55852738996896, + 85.45177019196852, + 86.3206604247538, + 87.16430157141616, + 87.9820272925291, + 88.77337498344885, + 89.53806353038371, + 90.27597434188932, + 90.98713482437785, + 91.67170359695079 + ], + [ + 81.10233162271201, + 80.03860743634793, + 78.97577604943791, + 77.92097576603747, + 76.88210747513936, + 75.86777949778782, + 74.88721701386241, + 73.95013192411831, + 73.06655059566502, + 72.24659937334178, + 71.50025103937661, + 70.83703944400388, + 70.26575398568463, + 69.79412994840688, + 69.42855418213163, + 69.17380744900225, + 69.03286427076719, + 69.00676793773678, + 69.09459259815084, + 69.29349670360185, + 69.59886364988563, + 70.0045175354016, + 70.50299576582769, + 71.0858565856699, + 71.74399879897732, + 72.46797270586418, + 73.24826498786521, + 74.07554509454881, + 74.94086579832593, + 75.83581533044752, + 76.75262244830617, + 77.68421869819828, + 78.62426400155651, + 79.56714260892895, + 80.50793660994323, + 81.44238376083467, + 82.36682558956187, + 83.27815073274564, + 84.1737373853681, + 85.05139770434552, + 85.90932606856055, + 86.74605230017036, + 87.56040031182043, + 88.35145216170291, + 89.11851716145361, + 89.86110547174563, + 90.57890551461381, + 91.27176450673745, + 91.93967145196129, + 92.58274200449986 + ] + ] + }, + { + "hoverinfo": "text", + "legendgroup": "In-sample", + "marker": { + "color": "black", + "opacity": 0.5, + "symbol": 1 + }, + "mode": "markers", + "name": "In-sample", + "text": [ + "Arm 0_0
result: 86.9743 (SEM: None)
x: -1.75678
y: -4.02168", + "Arm 1_0
result: 226.197 (SEM: None)
x: -9.30013
y: -4.65468", + "Arm 2_0
result: 145.854 (SEM: None)
x: 4.88129
y: -7.92957", + "Arm 3_0
result: 149.478 (SEM: None)
x: 2.75214
y: -8.2236", + "Arm 4_0
result: 168.137 (SEM: None)
x: 9.27504
y: -7.34729", + "Arm 5_0
result: 34.9523 (SEM: None)
x: 0.590279
y: -1.39866", + "Arm 6_0
result: 32.8996 (SEM: None)
x: -2.24848
y: 1.68633", + "Arm 7_0
result: 60.5254 (SEM: None)
x: 1.43947
y: -3.62169" + ], + "type": "scatter", + "x": [ + -1.756784152239561, + -9.30012697353959, + 4.881288334727287, + 2.752141449600458, + 9.275037422776222, + 0.590278666557456, + -2.2484768683250875, + 1.4394719125089814 + ], + "xaxis": "x", + "y": [ + -4.021678697317839, + -4.654681961983442, + -7.929573114961386, + -8.22359612211585, + -7.347285468131304, + -1.3986611527486303, + 1.6863286966529074, + -3.6216880101600566 + ], + "yaxis": "y" + }, + { + "hoverinfo": "text", + "legendgroup": "In-sample", + "marker": { + "color": "black", + "opacity": 0.5, + "symbol": 1 + }, + "mode": "markers", + "name": "In-sample", + "showlegend": false, + "text": [ + "Arm 0_0
result: 86.9743 (SEM: None)
x: -1.75678
y: -4.02168", + "Arm 1_0
result: 226.197 (SEM: None)
x: -9.30013
y: -4.65468", + "Arm 2_0
result: 145.854 (SEM: None)
x: 4.88129
y: -7.92957", + "Arm 3_0
result: 149.478 (SEM: None)
x: 2.75214
y: -8.2236", + "Arm 4_0
result: 168.137 (SEM: None)
x: 9.27504
y: -7.34729", + "Arm 5_0
result: 34.9523 (SEM: None)
x: 0.590279
y: -1.39866", + "Arm 6_0
result: 32.8996 (SEM: None)
x: -2.24848
y: 1.68633", + "Arm 7_0
result: 60.5254 (SEM: None)
x: 1.43947
y: -3.62169" + ], + "type": "scatter", + "x": [ + -1.756784152239561, + -9.30012697353959, + 4.881288334727287, + 2.752141449600458, + 9.275037422776222, + 0.590278666557456, + -2.2484768683250875, + 1.4394719125089814 + ], + "xaxis": "x2", + "y": [ + -4.021678697317839, + -4.654681961983442, + -7.929573114961386, + -8.22359612211585, + -7.347285468131304, + -1.3986611527486303, + 1.6863286966529074, + -3.6216880101600566 + ], + "yaxis": "y2" + } + ], + "layout": { + "annotations": [ + { + "font": { + "size": 14 + }, + "showarrow": false, + "text": "Mean", + "x": 0.25, + "xanchor": "center", + "xref": "paper", + "y": 1, + "yanchor": "bottom", + "yref": "paper" + }, + { + "font": { + "size": 14 + }, + "showarrow": false, + "text": "Standard Error", + "x": 0.8, + "xanchor": "center", + "xref": "paper", + "y": 1, + "yanchor": "bottom", + "yref": "paper" + } + ], + "autosize": false, + "height": 450, + "hovermode": "closest", + "legend": { + "orientation": "h", + "x": 0, + "y": -0.25 + }, + "margin": { + "b": 100, + "l": 35, + "pad": 0, + "r": 35, + "t": 35 + }, + "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, + "#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, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 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, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 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, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 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, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 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, + "#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" + } + ], + "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, + "#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, + "#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, + "#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, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 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, + "#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": "result" + }, + "width": 950, + "xaxis": { + "anchor": "y", + "autorange": false, + "domain": [ + 0.05, + 0.45 + ], + "exponentformat": "e", + "range": [ + -10, + 10 + ], + "tickfont": { + "size": 11 + }, + "tickmode": "auto", + "title": { + "text": "x" + }, + "type": "linear" + }, + "xaxis2": { + "anchor": "y2", + "autorange": false, + "domain": [ + 0.6, + 1 + ], + "exponentformat": "e", + "range": [ + -10, + 10 + ], + "tickfont": { + "size": 11 + }, + "tickmode": "auto", + "title": { + "text": "x" + }, + "type": "linear" + }, + "yaxis": { + "anchor": "x", + "autorange": false, + "domain": [ + 0, + 1 + ], + "exponentformat": "e", + "range": [ + -10, + 10 + ], + "tickfont": { + "size": 11 + }, + "tickmode": "auto", + "title": { + "text": "y" + }, + "type": "linear" + }, + "yaxis2": { + "anchor": "x2", + "autorange": false, + "domain": [ + 0, + 1 + ], + "exponentformat": "e", + "range": [ + -10, + 10 + ], + "tickfont": { + "size": 11 + }, + "tickmode": "auto", + "type": "linear" + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "best_parameters, (means, covariances) = ax_client.get_best_parameters()\n", + "print(f'Best set of parameters: {best_parameters}')\n", + "print(f'Mean objective value: {means}')\n", + "# The covariance is only meaningful when multiple objectives are present.\n", + "\n", + "render(ax_client.get_contour_plot())\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "axenv", + "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.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/website/pages/tutorials/index.js b/website/pages/tutorials/index.js index 52a1b8ad737..618740522f0 100644 --- a/website/pages/tutorials/index.js +++ b/website/pages/tutorials/index.js @@ -100,6 +100,15 @@ class TutorialHome extends React.Component { Ax and integration with an external ML library. +