diff --git a/test_data/pyecloud_pinch/Pinch_creation/.gitignore b/test_data/pyecloud_pinch/Pinch_creation/.gitignore new file mode 100644 index 00000000..b43fee10 --- /dev/null +++ b/test_data/pyecloud_pinch/Pinch_creation/.gitignore @@ -0,0 +1,4 @@ +*.h5 +*.mat +MP_state* +*.txt \ No newline at end of file diff --git a/test_data/pyecloud_pinch/Pinch_creation/000_buildup.py b/test_data/pyecloud_pinch/Pinch_creation/000_buildup.py new file mode 100644 index 00000000..f98587d0 --- /dev/null +++ b/test_data/pyecloud_pinch/Pinch_creation/000_buildup.py @@ -0,0 +1,4 @@ +from PyECLOUD.buildup_simulation import BuildupSimulation + +sim = BuildupSimulation() +sim.run() \ No newline at end of file diff --git a/test_data/pyecloud_pinch/Pinch_creation/001_pinch.py b/test_data/pyecloud_pinch/Pinch_creation/001_pinch.py new file mode 100644 index 00000000..2e1c1242 --- /dev/null +++ b/test_data/pyecloud_pinch/Pinch_creation/001_pinch.py @@ -0,0 +1,131 @@ +import json +import scipy.io +from scipy.constants import c,e +import matplotlib.pyplot as plt +import numpy as np +# from cmcrameri import cm +from rich.progress import Progress +import glob +import os + +import sys +import filemanager as exfm + +from PyECLOUD.buildup_simulation import BuildupSimulation +import argparse + +if os.path.exists("Pinch.h5"): + os.remove("Pinch.h5") + +zeta_max = 0.2 + +parser = argparse.ArgumentParser() +parser.add_argument("--ecloud", nargs="?", type=str, default="ecloud.q3r1.ir1.0") +args = parser.parse_args() + +ecloud = args.ecloud + +mod_factor = 1 + +out_pinch = f"Pinch.h5" + +mp_states = [] +mp_state_files = ["MP_state_0"] +for name in mp_state_files: + mp_system = scipy.io.loadmat(name) + mp_system['nel_mp'] = mp_system['nel_mp']/len(mp_state_files) + mp_states.append(mp_system) + +t_min = 2.5e-9 - zeta_max / c +t_max = 2.5e-9 + zeta_max / c +t_end_sim = t_max + 0.02 / c +total_N_particles = sum([mp_system["N_mp"][0][0] for mp_system in mp_states]) +total_N_particles *= 2 #put more particles to max allowed +total_N_particles += 10000 #put more particles to max allowed + +PyPICmode = 'ShortleyWeller_WithTelescopicGrids' +target_grid = {'x_min_target' : -12e-3, 'x_max_target' : 12e-3, + 'y_min_target' : -5e-3, 'y_max_target' : 5e-3, + 'Dh_target' : 1.e-4} +f_telescope = 0.5 +N_nodes_discard = 10 +N_min_Dh_main = 50 + +sim = BuildupSimulation(extract_sey=False, N_mp_max=total_N_particles, PyPICmode=PyPICmode, + target_grid=target_grid, f_telescope=f_telescope, + N_nodes_discard=N_nodes_discard, N_min_Dh_main=N_min_Dh_main, + init_unif_edens_flag=0, Dt_sc=None) + +sim = BuildupSimulation(extract_sey=False, N_mp_max=total_N_particles, + init_unif_edens_flag=0, Dt_sc=None) + + +sim.cloud_list[0].MP_e.init_from_dict(mp_states[0]) +sim.cloud_list[0].MP_e.nel_mp_ref *= len(mp_states) +prev_mp = sim.cloud_list[0].MP_e.N_mp +for mp_system in mp_states[1:]: + sim.cloud_list[0].MP_e.add_from_file(mp_system) + now_mp = sim.cloud_list[0].MP_e.N_mp + print(now_mp, mp_system["N_mp"][0][0], now_mp - prev_mp) + prev_mp = now_mp + +N_mp = sim.cloud_list[0].MP_e.N_mp +max_nel_mp = np.max(sim.cloud_list[0].MP_e.nel_mp[:N_mp]) +sim.cloud_list[0].MP_e.nel_mp_split = 3*(max_nel_mp) + +print(sim.cloud_list[0].MP_e.nel_mp_split) + +print("Start timestep iter") + +## simulation +def time_step(sim, t_end_sim=None): + beamtim = sim.beamtim + if t_end_sim is not None and beamtim.tt_curr is not None: + if beamtim.tt_curr >= t_end_sim: + print("Reached user defined t_end_sim --> Ending simulation") + return 1 + + beamtim.next_time_step() + + if sim.flag_presence_sec_beams: + for sec_beam in sim.sec_beams_list: + sec_beam.next_time_step() + + sim.sim_time_step(force_reinterp_fields_at_substeps=True, skip_MP_cleaning=True, skip_MP_regen=True) + + if beamtim.flag_new_bunch_pass: + print( + "**** Done pass_numb = %d/%d\n" + % (beamtim.pass_numb, beamtim.N_pass_tot) + ) + return 0 + + + +xg = sim.spacech_ele.xg +yg = sim.spacech_ele.yg +zg = [] + +ii = 0 +jj = 0 + +with Progress() as progress: + task = progress.add_task("PyECLOUD tracking", total=t_end_sim) + + while not time_step(sim, t_end_sim=t_end_sim): +# print(sim.cloud_list[0].MP_e.N_mp/total_N_particles) + ii += 1 + tt = sim.beamtim.tt_curr + progress.update(task, completed=tt) + if tt > t_min and tt < t_max: + if ii%mod_factor == 0.: +# print(jj, ii, -c*(tt-2.5e-9)) + zg.append(-c*(tt-2.5e-9)) + exfm.dict_to_h5({'phi' : sim.spacech_ele.phi, 'rho' : sim.spacech_ele.rho}, out_pinch, group='slices/slice%d'%jj, readwrite_opts='a') + jj += 1 + +grid_dict = {"xg" : np.array(xg), + "yg" : np.array(yg), + "zg" : np.array(zg), +} +exfm.dict_to_h5(grid_dict, out_pinch, group='grid', readwrite_opts='a') diff --git a/test_data/pyecloud_pinch/Pinch_creation/beam.beam b/test_data/pyecloud_pinch/Pinch_creation/beam.beam new file mode 100644 index 00000000..1c0cfb3d --- /dev/null +++ b/test_data/pyecloud_pinch/Pinch_creation/beam.beam @@ -0,0 +1,33 @@ +# BEAM PARAMETERS +energy_eV = 0.450000e+12 +nemittx = 2.00e-6 +nemitty = 2.00e-6 #m +Dp_p = 0 + + +# x_beam_pos = 0 +# y_beam_pos = 0 + +beam_field_file = 'computeFD' +Dh_beam_field=1.0e-4 +Nx = None +Ny = None +nimag = None +#save_beam_field_file_as = 'beam1field.mat' + + +b_spac = 25e-9 #s (to be specified also if you load the profile from file - + # it is used as period for clean and save) +fact_beam = 1.200000e+11 + + + +flag_bunched_beam = 1 # 1: bunched beam 0:load profile from file + +# to be filled in case of bunched beam +sigmaz = 9.000000e-02 +t_offs = 2.5e-9 +filling_pattern_file = 1*(48*[1.]+7*[0.]) +#filling_pattern_file = 2*(3*(48*[1.]+7*[0.])+32*[0.]) + [0.] + +beam_long_prof_file = -1 diff --git a/test_data/pyecloud_pinch/Pinch_creation/filemanager.py b/test_data/pyecloud_pinch/Pinch_creation/filemanager.py new file mode 100644 index 00000000..67af7eca --- /dev/null +++ b/test_data/pyecloud_pinch/Pinch_creation/filemanager.py @@ -0,0 +1,54 @@ +### Adapted from https://github.com/PyECLOUD/myfilemanager.py + +import h5py +import numpy + +class obj_from_dict: + def __init__(self, mydict): + for key in mydict.keys(): + setattr(self, key, mydict[key]) + +def h5_to_dict(filename, group=None): + fid = h5py.File(filename, 'r') + if group == None : + grp = fid + else: + grp = fid[group] + mydict={} + for key in grp.keys(): + mydict[key] = grp[key][()] + return mydict + +def h5_to_obj(filename, group=None): + return obj_from_dict(h5_to_dict(filename, group=group)) + +def overwrite(dict_save, filename, group=None, verbose=False): + with h5py.File(filename, 'a') as fid: + if group == None : + grp = fid + else: + grp = fid[group] + + for kk in dict_save.keys(): + if verbose: print('Overwriting '+kk) + grp[kk][...] = dict_save[kk] + +def dict_to_h5(dict_save, filename, compression_opts=4, group=None, readwrite_opts='w', verbose=False): + with h5py.File(filename, readwrite_opts) as fid: + if group == None : + grp = fid + else: + grp = fid.create_group(group) + + for kk in dict_save.keys(): + if verbose: print('Writing '+kk) + if isinstance(dict_save[kk], numpy.ndarray): + dset = grp.create_dataset(kk, shape=dict_save[kk].shape, dtype=dict_save[kk].dtype, compression='gzip', compression_opts=compression_opts) + dset[...] = dict_save[kk] + else: + grp[kk] = dict_save[kk] + +def print_h5(filename): + def print_this(x,y): print(x,y) + with h5py.File(filename,'r') as fid: + fid.visititems(print_this) diff --git a/test_data/pyecloud_pinch/Pinch_creation/machine_parameters.input b/test_data/pyecloud_pinch/Pinch_creation/machine_parameters.input new file mode 100755 index 00000000..e3813bb3 --- /dev/null +++ b/test_data/pyecloud_pinch/Pinch_creation/machine_parameters.input @@ -0,0 +1,51 @@ +# MACHINE PARAMETERS + +# Choose chamb_type='ellip'/ 'polyg' +chamb_type = 'polyg_cython' +# flag_assume_convex = False + +x_aper = 2.300000e-02 +y_aper = 1.800000e-02 + +#For polygonal chamber +filename_chm = 'LHC_chm_ver.mat' + +# Choose track_method= 'StrongBdip' / 'StrongBgen'/ 'Boris' +track_method= 'BorisMultipole' +# N_sub_steps = 5 + +B_multip = [0., 12.1] +B_skew = [0., 0.] + +betafx = 80. +betafy = 80. + +# gas ionization parameters +gas_ion_flag = 0 +P_nTorr=12.; +sigma_ion_MBarn=2.; +Temp_K=300.; +unif_frac=0.1 +E_init_ion=0.1; #in eV + +# photoemission parameters +photoem_flag = 0 +inv_CDF_refl_photoem_file = 'unif_no_file' +k_pe_st=0.0001233 +refl_frac=1. +alimit=10.*pi/180. +e_pe_sigma=5. #in eV +e_pe_max=7. #in eV +x0_refl=0. #no effect since uniform seeding +y0_refl=0. #no effect since uniform seeding +out_radius = .1 +phem_resc_fac=0.995 + + +# initial uniform electron density +init_unif_edens_flag=1 +init_unif_edens=1e8 +E_init_unif_edens = 1. +# init_unif_flag=1 +# Nel_init_unif=1e8 +# E_init_unif = 1. diff --git a/test_data/pyecloud_pinch/Pinch_creation/secondary_emission_parameters.input b/test_data/pyecloud_pinch/Pinch_creation/secondary_emission_parameters.input new file mode 100644 index 00000000..c050e192 --- /dev/null +++ b/test_data/pyecloud_pinch/Pinch_creation/secondary_emission_parameters.input @@ -0,0 +1,16 @@ +# secondary emission model +Emax = 332.; +del_max = 1.50000 +R0 = 0.7 +switch_model=0 + +# hilleret model for sec. emission +E_th = 35.; +sigmafit =1.0828; +mufit = 1.6636; + +switch_no_increase_energy = 0 +thresh_low_energy = -1 + +scrub_en_th = 20.#eV +secondary_angle_distribution = 'cosine_3D' diff --git a/test_data/pyecloud_pinch/Pinch_creation/simulation_parameters.input b/test_data/pyecloud_pinch/Pinch_creation/simulation_parameters.input new file mode 100755 index 00000000..fa84737f --- /dev/null +++ b/test_data/pyecloud_pinch/Pinch_creation/simulation_parameters.input @@ -0,0 +1,81 @@ +# SIMULATION PARAMETERS + +machine_param_file='machine_parameters.input' +secondary_emission_parameters_file='secondary_emission_parameters.input' +beam_parameters_file='beam.beam' + +#secondary_beams_file_list = ['beam2.beam'] +#additional_clouds_file_list = ['electrons2.cloud'] + +logfile_path = 'logfile.txt' +progress_path = 'progress.txt' +stopfile = 'progress.stop' + +Dt = 25.000000e-12 +t_end=1e-9; #s (no effect if log. profile is imported from file) + +import numpy as np +dec_fact_out = int(np.round(5 * 25e-12/Dt)) +# save_mat_every = 6 + +lam_th=1.e2 #e-/m +Dx_hist=1.e-3 #m +r_center=2.e-3 #m + + +Dt_En_hist = 25e-9 #s +Nbin_En_hist= 100 +En_hist_max= 1000. #eV + +t_ion=100.; #s + +N_mp_max=200000; #size of allocated vectors + +#Regen parameters + +N_mp_regen=400000; +N_mp_regen_low=5000; +N_mp_after_regen=10000; +t_ON_regen_low=0. +fact_split=1.5; +fact_clean=1e-4; +nel_mp_ref_0=1e8*3.14*0.055**2/10000/2. +regen_hist_cut = 1.e-4 + +N_mp_soft_regen = 100000 +N_mp_after_soft_regen = 40000 + + +# Number of bins +Nx_regen=51;#it must be odd! +Ny_regen=51;#it must be odd! +Nvx_regen=51;#it must be odd! +Nvy_regen=101;#it must be odd! +Nvz_regen=51;#it must be odd! + +#Sp_ch params +Dt_sc = 0.3e-9 +Dh_sc = 0.2e-3 +# Dt_sc# = 0.5e-9 +# Dh_sc# = 0.1e-3 +t_sc_ON=0e-9; #s +sparse_solver = 'klu' + +#save_mp_state_time_file = -1 +#save_mp_state_time_file = np.arange(88,136,1)*25e-9 # 1x48 bunches +save_mp_state_time_file = np.arange(44,46,1)*25e-9 # + +flag_hist_impact_seg = 1 + +flag_movie = 0 #1/0 +flag_sc_movie = 0 #1/0 + +flag_verbose_file = False +flag_verbose_stdout = False +flag_detailed_MP_info = 0 +dec_fac_secbeam_prof=dec_fact_out + +el_density_probes = [{'x' : 3.578528e-07, 'y': 6.051342e-03, 'r_obs': 1e-3},{'x' : -1.186982e-06, 'y': -0.006264070337426034, 'r_obs': 1e-3}] +# [\ +# {'x' : .007, 'y': .004, 'r_obs': 1e-3},\ +# {'x' : .007, 'y': -.004, 'r_obs': 1e-3}] diff --git a/test_data/pyecloud_pinch/README.md b/test_data/pyecloud_pinch/README.md new file mode 100644 index 00000000..e132d219 --- /dev/null +++ b/test_data/pyecloud_pinch/README.md @@ -0,0 +1,35 @@ +# example to run e-cloud with xsuite + + +## First do the pinch + +``` +cd Quadrupole +python 000_buildup.py +python 001_pinch.py +``` + +## "Refine" the pinch + +Dependencies: +``` +git clone git@github.com:ecloud-cern/refine_pinch.git +pip install git+https://github.com/kparasch/TricubicInterpolation.git@v1.1.0 +``` + +To run the refinement: +``` +cd refine_pinch.py +cp ../Pinch.h5 . +python reorder_slices.py Pinch.h5 +python refine_pinch.py Pinch.h5 --DTO 2 +``` + +output refined pinch that is ready to be used in xsuite will be called: + ```Quadrupole/refine_pinch/refined_Pinch_MTI1.0_MLI1.0_DTO2.0_DLO1.0.h5``` + +In the refinement code: +- MTI (magnify tranverse input) refers to ratio between input grid and auxilliary grid +- MLI (magnify longitudinal input) refers to ratio between number of slices in the input grid and and the auxilliary grid +- DTO (demagnify transverse output) refers to ratio between input grid and output grid +- DLO (demagnify longitudinal output) refers to ratio between number of slices in the input grid and and the output grid diff --git a/test_data/pyecloud_pinch/eclouds.json b/test_data/pyecloud_pinch/eclouds.json new file mode 100644 index 00000000..6aca4013 --- /dev/null +++ b/test_data/pyecloud_pinch/eclouds.json @@ -0,0 +1,5838 @@ +{ + "mb": { + "ecloud.mb.12.0": { + "length": 42.900000000000006, + "s": 20457.9378 + }, + "ecloud.mb.12.1": { + "length": 42.900000000000006, + "s": 20511.38928 + }, + "ecloud.mb.12.10": { + "length": 42.900000000000006, + "s": 20992.45264 + }, + "ecloud.mb.12.11": { + "length": 42.900000000000006, + "s": 21045.90412 + }, + "ecloud.mb.12.12": { + "length": 42.900000000000006, + "s": 21099.35561 + }, + "ecloud.mb.12.13": { + "length": 42.900000000000006, + "s": 21152.80709 + }, + "ecloud.mb.12.14": { + "length": 42.900000000000006, + "s": 21206.25858 + }, + "ecloud.mb.12.15": { + "length": 42.900000000000006, + "s": 21259.71006 + }, + "ecloud.mb.12.16": { + "length": 42.900000000000006, + "s": 21313.16155 + }, + "ecloud.mb.12.17": { + "length": 42.900000000000006, + "s": 21366.61303 + }, + "ecloud.mb.12.18": { + "length": 42.900000000000006, + "s": 21420.06451 + }, + "ecloud.mb.12.19": { + "length": 42.900000000000006, + "s": 21473.516 + }, + "ecloud.mb.12.2": { + "length": 42.900000000000006, + "s": 20564.84077 + }, + "ecloud.mb.12.20": { + "length": 42.900000000000006, + "s": 21526.96748 + }, + "ecloud.mb.12.21": { + "length": 42.900000000000006, + "s": 21580.41897 + }, + "ecloud.mb.12.22": { + "length": 42.900000000000006, + "s": 21633.87045 + }, + "ecloud.mb.12.23": { + "length": 42.900000000000006, + "s": 21687.32193 + }, + "ecloud.mb.12.24": { + "length": 42.900000000000006, + "s": 21740.77342 + }, + "ecloud.mb.12.25": { + "length": 42.900000000000006, + "s": 21794.2249 + }, + "ecloud.mb.12.26": { + "length": 42.900000000000006, + "s": 21847.67639 + }, + "ecloud.mb.12.27": { + "length": 42.900000000000006, + "s": 21901.12787 + }, + "ecloud.mb.12.28": { + "length": 42.900000000000006, + "s": 21954.57935 + }, + "ecloud.mb.12.29": { + "length": 42.900000000000006, + "s": 22008.03084 + }, + "ecloud.mb.12.3": { + "length": 42.900000000000006, + "s": 20618.29225 + }, + "ecloud.mb.12.30": { + "length": 42.900000000000006, + "s": 22061.48232 + }, + "ecloud.mb.12.31": { + "length": 42.900000000000006, + "s": 22114.93381 + }, + "ecloud.mb.12.32": { + "length": 42.900000000000006, + "s": 22168.38529 + }, + "ecloud.mb.12.33": { + "length": 42.900000000000006, + "s": 22221.83677 + }, + "ecloud.mb.12.34": { + "length": 42.900000000000006, + "s": 22275.28826 + }, + "ecloud.mb.12.35": { + "length": 42.900000000000006, + "s": 22328.73974 + }, + "ecloud.mb.12.36": { + "length": 42.900000000000006, + "s": 22382.19123 + }, + "ecloud.mb.12.37": { + "length": 42.900000000000006, + "s": 22435.64271 + }, + "ecloud.mb.12.38": { + "length": 42.900000000000006, + "s": 22489.0942 + }, + "ecloud.mb.12.39": { + "length": 42.900000000000006, + "s": 22542.54568 + }, + "ecloud.mb.12.4": { + "length": 42.900000000000006, + "s": 20671.74374 + }, + "ecloud.mb.12.40": { + "length": 42.900000000000006, + "s": 22595.99716 + }, + "ecloud.mb.12.41": { + "length": 42.900000000000006, + "s": 22649.44865 + }, + "ecloud.mb.12.42": { + "length": 42.900000000000006, + "s": 22702.90013 + }, + "ecloud.mb.12.43": { + "length": 42.900000000000006, + "s": 22756.35162 + }, + "ecloud.mb.12.44": { + "length": 42.900000000000006, + "s": 22809.8031 + }, + "ecloud.mb.12.45": { + "length": 42.900000000000006, + "s": 22863.25458 + }, + "ecloud.mb.12.5": { + "length": 42.900000000000006, + "s": 20725.19522 + }, + "ecloud.mb.12.6": { + "length": 42.900000000000006, + "s": 20778.6467 + }, + "ecloud.mb.12.7": { + "length": 42.900000000000006, + "s": 20832.09819 + }, + "ecloud.mb.12.8": { + "length": 42.900000000000006, + "s": 20885.54967 + }, + "ecloud.mb.12.9": { + "length": 42.900000000000006, + "s": 20939.00116 + }, + "ecloud.mb.23.0": { + "length": 42.900000000000006, + "s": 23789.93398 + }, + "ecloud.mb.23.1": { + "length": 42.900000000000006, + "s": 23843.3825 + }, + "ecloud.mb.23.10": { + "length": 42.900000000000006, + "s": 24324.41914 + }, + "ecloud.mb.23.11": { + "length": 42.900000000000006, + "s": 24377.86766 + }, + "ecloud.mb.23.12": { + "length": 42.900000000000006, + "s": 24431.31617 + }, + "ecloud.mb.23.13": { + "length": 42.900000000000006, + "s": 24484.76469 + }, + "ecloud.mb.23.14": { + "length": 42.900000000000006, + "s": 24538.21321 + }, + "ecloud.mb.23.15": { + "length": 42.900000000000006, + "s": 24591.66172 + }, + "ecloud.mb.23.16": { + "length": 42.900000000000006, + "s": 24645.11024 + }, + "ecloud.mb.23.17": { + "length": 42.900000000000006, + "s": 24698.55875 + }, + "ecloud.mb.23.18": { + "length": 42.900000000000006, + "s": 24752.00727 + }, + "ecloud.mb.23.19": { + "length": 42.900000000000006, + "s": 24805.45579 + }, + "ecloud.mb.23.2": { + "length": 42.900000000000006, + "s": 23896.83102 + }, + "ecloud.mb.23.20": { + "length": 42.900000000000006, + "s": 24858.9043 + }, + "ecloud.mb.23.21": { + "length": 42.900000000000006, + "s": 24912.35282 + }, + "ecloud.mb.23.22": { + "length": 42.900000000000006, + "s": 24965.80133 + }, + "ecloud.mb.23.23": { + "length": 42.900000000000006, + "s": 25019.24985 + }, + "ecloud.mb.23.24": { + "length": 42.900000000000006, + "s": 25072.69837 + }, + "ecloud.mb.23.25": { + "length": 42.900000000000006, + "s": 25126.14688 + }, + "ecloud.mb.23.26": { + "length": 42.900000000000006, + "s": 25179.5954 + }, + "ecloud.mb.23.27": { + "length": 42.900000000000006, + "s": 25233.04391 + }, + "ecloud.mb.23.28": { + "length": 42.900000000000006, + "s": 25286.49243 + }, + "ecloud.mb.23.29": { + "length": 42.900000000000006, + "s": 25339.94095 + }, + "ecloud.mb.23.3": { + "length": 42.900000000000006, + "s": 23950.27953 + }, + "ecloud.mb.23.30": { + "length": 42.900000000000006, + "s": 25393.38946 + }, + "ecloud.mb.23.31": { + "length": 42.900000000000006, + "s": 25446.83798 + }, + "ecloud.mb.23.32": { + "length": 42.900000000000006, + "s": 25500.28649 + }, + "ecloud.mb.23.33": { + "length": 42.900000000000006, + "s": 25553.73501 + }, + "ecloud.mb.23.34": { + "length": 42.900000000000006, + "s": 25607.18352 + }, + "ecloud.mb.23.35": { + "length": 42.900000000000006, + "s": 25660.63204 + }, + "ecloud.mb.23.36": { + "length": 42.900000000000006, + "s": 25714.08056 + }, + "ecloud.mb.23.37": { + "length": 42.900000000000006, + "s": 25767.52907 + }, + "ecloud.mb.23.38": { + "length": 42.900000000000006, + "s": 25820.97759 + }, + "ecloud.mb.23.39": { + "length": 42.900000000000006, + "s": 25874.4261 + }, + "ecloud.mb.23.4": { + "length": 42.900000000000006, + "s": 24003.72805 + }, + "ecloud.mb.23.40": { + "length": 42.900000000000006, + "s": 25927.87462 + }, + "ecloud.mb.23.41": { + "length": 42.900000000000006, + "s": 25981.32314 + }, + "ecloud.mb.23.42": { + "length": 42.900000000000006, + "s": 26034.77165 + }, + "ecloud.mb.23.43": { + "length": 42.900000000000006, + "s": 26088.22017 + }, + "ecloud.mb.23.44": { + "length": 42.900000000000006, + "s": 26141.66868 + }, + "ecloud.mb.23.45": { + "length": 42.900000000000006, + "s": 26195.1172 + }, + "ecloud.mb.23.5": { + "length": 42.900000000000006, + "s": 24057.17656 + }, + "ecloud.mb.23.6": { + "length": 42.900000000000006, + "s": 24110.62508 + }, + "ecloud.mb.23.7": { + "length": 42.900000000000006, + "s": 24164.0736 + }, + "ecloud.mb.23.8": { + "length": 42.900000000000006, + "s": 24217.52211 + }, + "ecloud.mb.23.9": { + "length": 42.900000000000006, + "s": 24270.97063 + }, + "ecloud.mb.34.0": { + "length": 42.900000000000006, + "s": 463.7660004 + }, + "ecloud.mb.34.1": { + "length": 42.900000000000006, + "s": 517.2145163 + }, + "ecloud.mb.34.10": { + "length": 42.900000000000006, + "s": 998.2511594 + }, + "ecloud.mb.34.11": { + "length": 42.900000000000006, + "s": 1051.699675 + }, + "ecloud.mb.34.12": { + "length": 42.900000000000006, + "s": 1105.148191 + }, + "ecloud.mb.34.13": { + "length": 42.900000000000006, + "s": 1158.596707 + }, + "ecloud.mb.34.14": { + "length": 42.900000000000006, + "s": 1212.045223 + }, + "ecloud.mb.34.15": { + "length": 42.900000000000006, + "s": 1265.493739 + }, + "ecloud.mb.34.16": { + "length": 42.900000000000006, + "s": 1318.942255 + }, + "ecloud.mb.34.17": { + "length": 42.900000000000006, + "s": 1372.390771 + }, + "ecloud.mb.34.18": { + "length": 42.900000000000006, + "s": 1425.839287 + }, + "ecloud.mb.34.19": { + "length": 42.900000000000006, + "s": 1479.287803 + }, + "ecloud.mb.34.2": { + "length": 42.900000000000006, + "s": 570.6630322 + }, + "ecloud.mb.34.20": { + "length": 42.900000000000006, + "s": 1532.736318 + }, + "ecloud.mb.34.21": { + "length": 42.900000000000006, + "s": 1586.184834 + }, + "ecloud.mb.34.22": { + "length": 42.900000000000006, + "s": 1639.63335 + }, + "ecloud.mb.34.23": { + "length": 42.900000000000006, + "s": 1693.081866 + }, + "ecloud.mb.34.24": { + "length": 42.900000000000006, + "s": 1746.530382 + }, + "ecloud.mb.34.25": { + "length": 42.900000000000006, + "s": 1799.978898 + }, + "ecloud.mb.34.26": { + "length": 42.900000000000006, + "s": 1853.427414 + }, + "ecloud.mb.34.27": { + "length": 42.900000000000006, + "s": 1906.87593 + }, + "ecloud.mb.34.28": { + "length": 42.900000000000006, + "s": 1960.324446 + }, + "ecloud.mb.34.29": { + "length": 42.900000000000006, + "s": 2013.772962 + }, + "ecloud.mb.34.3": { + "length": 42.900000000000006, + "s": 624.1115481 + }, + "ecloud.mb.34.30": { + "length": 42.900000000000006, + "s": 2067.221477 + }, + "ecloud.mb.34.31": { + "length": 42.900000000000006, + "s": 2120.669993 + }, + "ecloud.mb.34.32": { + "length": 42.900000000000006, + "s": 2174.118509 + }, + "ecloud.mb.34.33": { + "length": 42.900000000000006, + "s": 2227.567025 + }, + "ecloud.mb.34.34": { + "length": 42.900000000000006, + "s": 2281.015541 + }, + "ecloud.mb.34.35": { + "length": 42.900000000000006, + "s": 2334.464057 + }, + "ecloud.mb.34.36": { + "length": 42.900000000000006, + "s": 2387.912573 + }, + "ecloud.mb.34.37": { + "length": 42.900000000000006, + "s": 2441.361089 + }, + "ecloud.mb.34.38": { + "length": 42.900000000000006, + "s": 2494.809605 + }, + "ecloud.mb.34.39": { + "length": 42.900000000000006, + "s": 2548.258121 + }, + "ecloud.mb.34.4": { + "length": 42.900000000000006, + "s": 677.560064 + }, + "ecloud.mb.34.40": { + "length": 42.900000000000006, + "s": 2601.706636 + }, + "ecloud.mb.34.41": { + "length": 42.900000000000006, + "s": 2655.155152 + }, + "ecloud.mb.34.42": { + "length": 42.900000000000006, + "s": 2708.603668 + }, + "ecloud.mb.34.43": { + "length": 42.900000000000006, + "s": 2762.052184 + }, + "ecloud.mb.34.44": { + "length": 42.900000000000006, + "s": 2815.5007 + }, + "ecloud.mb.34.45": { + "length": 42.900000000000006, + "s": 2868.949216 + }, + "ecloud.mb.34.5": { + "length": 42.900000000000006, + "s": 731.0085799 + }, + "ecloud.mb.34.6": { + "length": 42.900000000000006, + "s": 784.4570958 + }, + "ecloud.mb.34.7": { + "length": 42.900000000000006, + "s": 837.9056117 + }, + "ecloud.mb.34.8": { + "length": 42.900000000000006, + "s": 891.3541276 + }, + "ecloud.mb.34.9": { + "length": 42.900000000000006, + "s": 944.8026435 + }, + "ecloud.mb.45.0": { + "length": 42.900000000000006, + "s": 3795.619217 + }, + "ecloud.mb.45.1": { + "length": 42.900000000000006, + "s": 3849.067733 + }, + "ecloud.mb.45.10": { + "length": 42.900000000000006, + "s": 4330.104376 + }, + "ecloud.mb.45.11": { + "length": 42.900000000000006, + "s": 4383.552892 + }, + "ecloud.mb.45.12": { + "length": 42.900000000000006, + "s": 4437.001408 + }, + "ecloud.mb.45.13": { + "length": 42.900000000000006, + "s": 4490.449923 + }, + "ecloud.mb.45.14": { + "length": 42.900000000000006, + "s": 4543.898439 + }, + "ecloud.mb.45.15": { + "length": 42.900000000000006, + "s": 4597.346955 + }, + "ecloud.mb.45.16": { + "length": 42.900000000000006, + "s": 4650.795471 + }, + "ecloud.mb.45.17": { + "length": 42.900000000000006, + "s": 4704.243987 + }, + "ecloud.mb.45.18": { + "length": 42.900000000000006, + "s": 4757.692503 + }, + "ecloud.mb.45.19": { + "length": 42.900000000000006, + "s": 4811.141019 + }, + "ecloud.mb.45.2": { + "length": 42.900000000000006, + "s": 3902.516249 + }, + "ecloud.mb.45.20": { + "length": 42.900000000000006, + "s": 4864.589535 + }, + "ecloud.mb.45.21": { + "length": 42.900000000000006, + "s": 4918.038051 + }, + "ecloud.mb.45.22": { + "length": 42.900000000000006, + "s": 4971.486567 + }, + "ecloud.mb.45.23": { + "length": 42.900000000000006, + "s": 5024.935083 + }, + "ecloud.mb.45.24": { + "length": 42.900000000000006, + "s": 5078.383598 + }, + "ecloud.mb.45.25": { + "length": 42.900000000000006, + "s": 5131.832114 + }, + "ecloud.mb.45.26": { + "length": 42.900000000000006, + "s": 5185.28063 + }, + "ecloud.mb.45.27": { + "length": 42.900000000000006, + "s": 5238.729146 + }, + "ecloud.mb.45.28": { + "length": 42.900000000000006, + "s": 5292.177662 + }, + "ecloud.mb.45.29": { + "length": 42.900000000000006, + "s": 5345.626178 + }, + "ecloud.mb.45.3": { + "length": 42.900000000000006, + "s": 3955.964764 + }, + "ecloud.mb.45.30": { + "length": 42.900000000000006, + "s": 5399.074694 + }, + "ecloud.mb.45.31": { + "length": 42.900000000000006, + "s": 5452.52321 + }, + "ecloud.mb.45.32": { + "length": 42.900000000000006, + "s": 5505.971726 + }, + "ecloud.mb.45.33": { + "length": 42.900000000000006, + "s": 5559.420242 + }, + "ecloud.mb.45.34": { + "length": 42.900000000000006, + "s": 5612.868757 + }, + "ecloud.mb.45.35": { + "length": 42.900000000000006, + "s": 5666.317273 + }, + "ecloud.mb.45.36": { + "length": 42.900000000000006, + "s": 5719.765789 + }, + "ecloud.mb.45.37": { + "length": 42.900000000000006, + "s": 5773.214305 + }, + "ecloud.mb.45.38": { + "length": 42.900000000000006, + "s": 5826.662821 + }, + "ecloud.mb.45.39": { + "length": 42.900000000000006, + "s": 5880.111337 + }, + "ecloud.mb.45.4": { + "length": 42.900000000000006, + "s": 4009.41328 + }, + "ecloud.mb.45.40": { + "length": 42.900000000000006, + "s": 5933.559853 + }, + "ecloud.mb.45.41": { + "length": 42.900000000000006, + "s": 5987.008369 + }, + "ecloud.mb.45.42": { + "length": 42.900000000000006, + "s": 6040.456885 + }, + "ecloud.mb.45.43": { + "length": 42.900000000000006, + "s": 6093.905401 + }, + "ecloud.mb.45.44": { + "length": 42.900000000000006, + "s": 6147.353916 + }, + "ecloud.mb.45.45": { + "length": 42.900000000000006, + "s": 6200.802432 + }, + "ecloud.mb.45.5": { + "length": 42.900000000000006, + "s": 4062.861796 + }, + "ecloud.mb.45.6": { + "length": 42.900000000000006, + "s": 4116.310312 + }, + "ecloud.mb.45.7": { + "length": 42.900000000000006, + "s": 4169.758828 + }, + "ecloud.mb.45.8": { + "length": 42.900000000000006, + "s": 4223.207344 + }, + "ecloud.mb.45.9": { + "length": 42.900000000000006, + "s": 4276.65586 + }, + "ecloud.mb.56.0": { + "length": 42.900000000000006, + "s": 7128.343832 + }, + "ecloud.mb.56.1": { + "length": 42.900000000000006, + "s": 7181.795316 + }, + "ecloud.mb.56.10": { + "length": 42.900000000000006, + "s": 7662.858673 + }, + "ecloud.mb.56.11": { + "length": 42.900000000000006, + "s": 7716.310157 + }, + "ecloud.mb.56.12": { + "length": 42.900000000000006, + "s": 7769.761642 + }, + "ecloud.mb.56.13": { + "length": 42.900000000000006, + "s": 7823.213126 + }, + "ecloud.mb.56.14": { + "length": 42.900000000000006, + "s": 7876.66461 + }, + "ecloud.mb.56.15": { + "length": 42.900000000000006, + "s": 7930.116094 + }, + "ecloud.mb.56.16": { + "length": 42.900000000000006, + "s": 7983.567578 + }, + "ecloud.mb.56.17": { + "length": 42.900000000000006, + "s": 8037.019062 + }, + "ecloud.mb.56.18": { + "length": 42.900000000000006, + "s": 8090.470546 + }, + "ecloud.mb.56.19": { + "length": 42.900000000000006, + "s": 8143.92203 + }, + "ecloud.mb.56.2": { + "length": 42.900000000000006, + "s": 7235.246801 + }, + "ecloud.mb.56.20": { + "length": 42.900000000000006, + "s": 8197.373514 + }, + "ecloud.mb.56.21": { + "length": 42.900000000000006, + "s": 8250.824998 + }, + "ecloud.mb.56.22": { + "length": 42.900000000000006, + "s": 8304.276483 + }, + "ecloud.mb.56.23": { + "length": 42.900000000000006, + "s": 8357.727967 + }, + "ecloud.mb.56.24": { + "length": 42.900000000000006, + "s": 8411.179451 + }, + "ecloud.mb.56.25": { + "length": 42.900000000000006, + "s": 8464.630935 + }, + "ecloud.mb.56.26": { + "length": 42.900000000000006, + "s": 8518.082419 + }, + "ecloud.mb.56.27": { + "length": 42.900000000000006, + "s": 8571.533903 + }, + "ecloud.mb.56.28": { + "length": 42.900000000000006, + "s": 8624.985387 + }, + "ecloud.mb.56.29": { + "length": 42.900000000000006, + "s": 8678.436871 + }, + "ecloud.mb.56.3": { + "length": 42.900000000000006, + "s": 7288.698285 + }, + "ecloud.mb.56.30": { + "length": 42.900000000000006, + "s": 8731.888355 + }, + "ecloud.mb.56.31": { + "length": 42.900000000000006, + "s": 8785.339839 + }, + "ecloud.mb.56.32": { + "length": 42.900000000000006, + "s": 8838.791323 + }, + "ecloud.mb.56.33": { + "length": 42.900000000000006, + "s": 8892.242808 + }, + "ecloud.mb.56.34": { + "length": 42.900000000000006, + "s": 8945.694292 + }, + "ecloud.mb.56.35": { + "length": 42.900000000000006, + "s": 8999.145776 + }, + "ecloud.mb.56.36": { + "length": 42.900000000000006, + "s": 9052.59726 + }, + "ecloud.mb.56.37": { + "length": 42.900000000000006, + "s": 9106.048744 + }, + "ecloud.mb.56.38": { + "length": 42.900000000000006, + "s": 9159.500228 + }, + "ecloud.mb.56.39": { + "length": 42.900000000000006, + "s": 9212.951712 + }, + "ecloud.mb.56.4": { + "length": 42.900000000000006, + "s": 7342.149769 + }, + "ecloud.mb.56.40": { + "length": 42.900000000000006, + "s": 9266.403196 + }, + "ecloud.mb.56.41": { + "length": 42.900000000000006, + "s": 9319.85468 + }, + "ecloud.mb.56.42": { + "length": 42.900000000000006, + "s": 9373.306164 + }, + "ecloud.mb.56.43": { + "length": 42.900000000000006, + "s": 9426.757649 + }, + "ecloud.mb.56.44": { + "length": 42.900000000000006, + "s": 9480.209133 + }, + "ecloud.mb.56.45": { + "length": 42.900000000000006, + "s": 9533.660617 + }, + "ecloud.mb.56.5": { + "length": 42.900000000000006, + "s": 7395.601253 + }, + "ecloud.mb.56.6": { + "length": 42.900000000000006, + "s": 7449.052737 + }, + "ecloud.mb.56.7": { + "length": 42.900000000000006, + "s": 7502.504221 + }, + "ecloud.mb.56.8": { + "length": 42.900000000000006, + "s": 7555.955705 + }, + "ecloud.mb.56.9": { + "length": 42.900000000000006, + "s": 7609.407189 + }, + "ecloud.mb.67.0": { + "length": 42.900000000000006, + "s": 10460.34942 + }, + "ecloud.mb.67.1": { + "length": 42.900000000000006, + "s": 10513.8009 + }, + "ecloud.mb.67.10": { + "length": 42.900000000000006, + "s": 10994.86426 + }, + "ecloud.mb.67.11": { + "length": 42.900000000000006, + "s": 11048.31574 + }, + "ecloud.mb.67.12": { + "length": 42.900000000000006, + "s": 11101.76723 + }, + "ecloud.mb.67.13": { + "length": 42.900000000000006, + "s": 11155.21871 + }, + "ecloud.mb.67.14": { + "length": 42.900000000000006, + "s": 11208.67019 + }, + "ecloud.mb.67.15": { + "length": 42.900000000000006, + "s": 11262.12168 + }, + "ecloud.mb.67.16": { + "length": 42.900000000000006, + "s": 11315.57316 + }, + "ecloud.mb.67.17": { + "length": 42.900000000000006, + "s": 11369.02465 + }, + "ecloud.mb.67.18": { + "length": 42.900000000000006, + "s": 11422.47613 + }, + "ecloud.mb.67.19": { + "length": 42.900000000000006, + "s": 11475.92761 + }, + "ecloud.mb.67.2": { + "length": 42.900000000000006, + "s": 10567.25238 + }, + "ecloud.mb.67.20": { + "length": 42.900000000000006, + "s": 11529.3791 + }, + "ecloud.mb.67.21": { + "length": 42.900000000000006, + "s": 11582.83058 + }, + "ecloud.mb.67.22": { + "length": 42.900000000000006, + "s": 11636.28207 + }, + "ecloud.mb.67.23": { + "length": 42.900000000000006, + "s": 11689.73355 + }, + "ecloud.mb.67.24": { + "length": 42.900000000000006, + "s": 11743.18503 + }, + "ecloud.mb.67.25": { + "length": 42.900000000000006, + "s": 11796.63652 + }, + "ecloud.mb.67.26": { + "length": 42.900000000000006, + "s": 11850.088 + }, + "ecloud.mb.67.27": { + "length": 42.900000000000006, + "s": 11903.53949 + }, + "ecloud.mb.67.28": { + "length": 42.900000000000006, + "s": 11956.99097 + }, + "ecloud.mb.67.29": { + "length": 42.900000000000006, + "s": 12010.44245 + }, + "ecloud.mb.67.3": { + "length": 42.900000000000006, + "s": 10620.70387 + }, + "ecloud.mb.67.30": { + "length": 42.900000000000006, + "s": 12063.89394 + }, + "ecloud.mb.67.31": { + "length": 42.900000000000006, + "s": 12117.34542 + }, + "ecloud.mb.67.32": { + "length": 42.900000000000006, + "s": 12170.79691 + }, + "ecloud.mb.67.33": { + "length": 42.900000000000006, + "s": 12224.24839 + }, + "ecloud.mb.67.34": { + "length": 42.900000000000006, + "s": 12277.69988 + }, + "ecloud.mb.67.35": { + "length": 42.900000000000006, + "s": 12331.15136 + }, + "ecloud.mb.67.36": { + "length": 42.900000000000006, + "s": 12384.60284 + }, + "ecloud.mb.67.37": { + "length": 42.900000000000006, + "s": 12438.05433 + }, + "ecloud.mb.67.38": { + "length": 42.900000000000006, + "s": 12491.50581 + }, + "ecloud.mb.67.39": { + "length": 42.900000000000006, + "s": 12544.9573 + }, + "ecloud.mb.67.4": { + "length": 42.900000000000006, + "s": 10674.15535 + }, + "ecloud.mb.67.40": { + "length": 42.900000000000006, + "s": 12598.40878 + }, + "ecloud.mb.67.41": { + "length": 42.900000000000006, + "s": 12651.86026 + }, + "ecloud.mb.67.42": { + "length": 42.900000000000006, + "s": 12705.31175 + }, + "ecloud.mb.67.43": { + "length": 42.900000000000006, + "s": 12758.76323 + }, + "ecloud.mb.67.44": { + "length": 42.900000000000006, + "s": 12812.21472 + }, + "ecloud.mb.67.45": { + "length": 42.900000000000006, + "s": 12865.6662 + }, + "ecloud.mb.67.5": { + "length": 42.900000000000006, + "s": 10727.60684 + }, + "ecloud.mb.67.6": { + "length": 42.900000000000006, + "s": 10781.05832 + }, + "ecloud.mb.67.7": { + "length": 42.900000000000006, + "s": 10834.5098 + }, + "ecloud.mb.67.8": { + "length": 42.900000000000006, + "s": 10887.96129 + }, + "ecloud.mb.67.9": { + "length": 42.900000000000006, + "s": 10941.41277 + }, + "ecloud.mb.78.0": { + "length": 42.900000000000006, + "s": 13793.217 + }, + "ecloud.mb.78.1": { + "length": 42.900000000000006, + "s": 13846.66848 + }, + "ecloud.mb.78.10": { + "length": 42.900000000000006, + "s": 14327.73184 + }, + "ecloud.mb.78.11": { + "length": 42.900000000000006, + "s": 14381.18332 + }, + "ecloud.mb.78.12": { + "length": 42.900000000000006, + "s": 14434.63481 + }, + "ecloud.mb.78.13": { + "length": 42.900000000000006, + "s": 14488.08629 + }, + "ecloud.mb.78.14": { + "length": 42.900000000000006, + "s": 14541.53778 + }, + "ecloud.mb.78.15": { + "length": 42.900000000000006, + "s": 14594.98926 + }, + "ecloud.mb.78.16": { + "length": 42.900000000000006, + "s": 14648.44075 + }, + "ecloud.mb.78.17": { + "length": 42.900000000000006, + "s": 14701.89223 + }, + "ecloud.mb.78.18": { + "length": 42.900000000000006, + "s": 14755.34371 + }, + "ecloud.mb.78.19": { + "length": 42.900000000000006, + "s": 14808.7952 + }, + "ecloud.mb.78.2": { + "length": 42.900000000000006, + "s": 13900.11997 + }, + "ecloud.mb.78.20": { + "length": 42.900000000000006, + "s": 14862.24668 + }, + "ecloud.mb.78.21": { + "length": 42.900000000000006, + "s": 14915.69817 + }, + "ecloud.mb.78.22": { + "length": 42.900000000000006, + "s": 14969.14965 + }, + "ecloud.mb.78.23": { + "length": 42.900000000000006, + "s": 15022.60113 + }, + "ecloud.mb.78.24": { + "length": 42.900000000000006, + "s": 15076.05262 + }, + "ecloud.mb.78.25": { + "length": 42.900000000000006, + "s": 15129.5041 + }, + "ecloud.mb.78.26": { + "length": 42.900000000000006, + "s": 15182.95559 + }, + "ecloud.mb.78.27": { + "length": 42.900000000000006, + "s": 15236.40707 + }, + "ecloud.mb.78.28": { + "length": 42.900000000000006, + "s": 15289.85855 + }, + "ecloud.mb.78.29": { + "length": 42.900000000000006, + "s": 15343.31004 + }, + "ecloud.mb.78.3": { + "length": 42.900000000000006, + "s": 13953.57145 + }, + "ecloud.mb.78.30": { + "length": 42.900000000000006, + "s": 15396.76152 + }, + "ecloud.mb.78.31": { + "length": 42.900000000000006, + "s": 15450.21301 + }, + "ecloud.mb.78.32": { + "length": 42.900000000000006, + "s": 15503.66449 + }, + "ecloud.mb.78.33": { + "length": 42.900000000000006, + "s": 15557.11597 + }, + "ecloud.mb.78.34": { + "length": 42.900000000000006, + "s": 15610.56746 + }, + "ecloud.mb.78.35": { + "length": 42.900000000000006, + "s": 15664.01894 + }, + "ecloud.mb.78.36": { + "length": 42.900000000000006, + "s": 15717.47043 + }, + "ecloud.mb.78.37": { + "length": 42.900000000000006, + "s": 15770.92191 + }, + "ecloud.mb.78.38": { + "length": 42.900000000000006, + "s": 15824.3734 + }, + "ecloud.mb.78.39": { + "length": 42.900000000000006, + "s": 15877.82488 + }, + "ecloud.mb.78.4": { + "length": 42.900000000000006, + "s": 14007.02294 + }, + "ecloud.mb.78.40": { + "length": 42.900000000000006, + "s": 15931.27636 + }, + "ecloud.mb.78.41": { + "length": 42.900000000000006, + "s": 15984.72785 + }, + "ecloud.mb.78.42": { + "length": 42.900000000000006, + "s": 16038.17933 + }, + "ecloud.mb.78.43": { + "length": 42.900000000000006, + "s": 16091.63082 + }, + "ecloud.mb.78.44": { + "length": 42.900000000000006, + "s": 16145.0823 + }, + "ecloud.mb.78.45": { + "length": 42.900000000000006, + "s": 16198.53378 + }, + "ecloud.mb.78.5": { + "length": 42.900000000000006, + "s": 14060.47442 + }, + "ecloud.mb.78.6": { + "length": 42.900000000000006, + "s": 14113.9259 + }, + "ecloud.mb.78.7": { + "length": 42.900000000000006, + "s": 14167.37739 + }, + "ecloud.mb.78.8": { + "length": 42.900000000000006, + "s": 14220.82887 + }, + "ecloud.mb.78.9": { + "length": 42.900000000000006, + "s": 14274.28036 + }, + "ecloud.mb.81.0": { + "length": 42.900000000000006, + "s": 17125.21318 + }, + "ecloud.mb.81.1": { + "length": 42.900000000000006, + "s": 17178.6617 + }, + "ecloud.mb.81.10": { + "length": 42.900000000000006, + "s": 17659.69834 + }, + "ecloud.mb.81.11": { + "length": 42.900000000000006, + "s": 17713.14686 + }, + "ecloud.mb.81.12": { + "length": 42.900000000000006, + "s": 17766.59537 + }, + "ecloud.mb.81.13": { + "length": 42.900000000000006, + "s": 17820.04389 + }, + "ecloud.mb.81.14": { + "length": 42.900000000000006, + "s": 17873.49241 + }, + "ecloud.mb.81.15": { + "length": 42.900000000000006, + "s": 17926.94092 + }, + "ecloud.mb.81.16": { + "length": 42.900000000000006, + "s": 17980.38944 + }, + "ecloud.mb.81.17": { + "length": 42.900000000000006, + "s": 18033.83795 + }, + "ecloud.mb.81.18": { + "length": 42.900000000000006, + "s": 18087.28647 + }, + "ecloud.mb.81.19": { + "length": 42.900000000000006, + "s": 18140.73499 + }, + "ecloud.mb.81.2": { + "length": 42.900000000000006, + "s": 17232.11022 + }, + "ecloud.mb.81.20": { + "length": 42.900000000000006, + "s": 18194.1835 + }, + "ecloud.mb.81.21": { + "length": 42.900000000000006, + "s": 18247.63202 + }, + "ecloud.mb.81.22": { + "length": 42.900000000000006, + "s": 18301.08053 + }, + "ecloud.mb.81.23": { + "length": 42.900000000000006, + "s": 18354.52905 + }, + "ecloud.mb.81.24": { + "length": 42.900000000000006, + "s": 18407.97757 + }, + "ecloud.mb.81.25": { + "length": 42.900000000000006, + "s": 18461.42608 + }, + "ecloud.mb.81.26": { + "length": 42.900000000000006, + "s": 18514.8746 + }, + "ecloud.mb.81.27": { + "length": 42.900000000000006, + "s": 18568.32311 + }, + "ecloud.mb.81.28": { + "length": 42.900000000000006, + "s": 18621.77163 + }, + "ecloud.mb.81.29": { + "length": 42.900000000000006, + "s": 18675.22015 + }, + "ecloud.mb.81.3": { + "length": 42.900000000000006, + "s": 17285.55873 + }, + "ecloud.mb.81.30": { + "length": 42.900000000000006, + "s": 18728.66866 + }, + "ecloud.mb.81.31": { + "length": 42.900000000000006, + "s": 18782.11718 + }, + "ecloud.mb.81.32": { + "length": 42.900000000000006, + "s": 18835.56569 + }, + "ecloud.mb.81.33": { + "length": 42.900000000000006, + "s": 18889.01421 + }, + "ecloud.mb.81.34": { + "length": 42.900000000000006, + "s": 18942.46272 + }, + "ecloud.mb.81.35": { + "length": 42.900000000000006, + "s": 18995.91124 + }, + "ecloud.mb.81.36": { + "length": 42.900000000000006, + "s": 19049.35976 + }, + "ecloud.mb.81.37": { + "length": 42.900000000000006, + "s": 19102.80827 + }, + "ecloud.mb.81.38": { + "length": 42.900000000000006, + "s": 19156.25679 + }, + "ecloud.mb.81.39": { + "length": 42.900000000000006, + "s": 19209.7053 + }, + "ecloud.mb.81.4": { + "length": 42.900000000000006, + "s": 17339.00725 + }, + "ecloud.mb.81.40": { + "length": 42.900000000000006, + "s": 19263.15382 + }, + "ecloud.mb.81.41": { + "length": 42.900000000000006, + "s": 19316.60234 + }, + "ecloud.mb.81.42": { + "length": 42.900000000000006, + "s": 19370.05085 + }, + "ecloud.mb.81.43": { + "length": 42.900000000000006, + "s": 19423.49937 + }, + "ecloud.mb.81.44": { + "length": 42.900000000000006, + "s": 19476.94788 + }, + "ecloud.mb.81.45": { + "length": 42.900000000000006, + "s": 19530.3964 + }, + "ecloud.mb.81.5": { + "length": 42.900000000000006, + "s": 17392.45576 + }, + "ecloud.mb.81.6": { + "length": 42.900000000000006, + "s": 17445.90428 + }, + "ecloud.mb.81.7": { + "length": 42.900000000000006, + "s": 17499.3528 + }, + "ecloud.mb.81.8": { + "length": 42.900000000000006, + "s": 17552.80131 + }, + "ecloud.mb.81.9": { + "length": 42.900000000000006, + "s": 17606.24983 + } + }, + "mbc": { + "ecloud.mbc.12.0": { + "length": 42.900000000000006, + "s": 20457.9378 + }, + "ecloud.mbc.12.1": { + "length": 42.900000000000006, + "s": 20511.38928 + }, + "ecloud.mbc.12.10": { + "length": 42.900000000000006, + "s": 20992.45264 + }, + "ecloud.mbc.12.11": { + "length": 42.900000000000006, + "s": 21045.90412 + }, + "ecloud.mbc.12.12": { + "length": 42.900000000000006, + "s": 21099.35561 + }, + "ecloud.mbc.12.13": { + "length": 42.900000000000006, + "s": 21152.80709 + }, + "ecloud.mbc.12.14": { + "length": 42.900000000000006, + "s": 21206.25858 + }, + "ecloud.mbc.12.15": { + "length": 42.900000000000006, + "s": 21259.71006 + }, + "ecloud.mbc.12.16": { + "length": 42.900000000000006, + "s": 21313.16155 + }, + "ecloud.mbc.12.17": { + "length": 42.900000000000006, + "s": 21366.61303 + }, + "ecloud.mbc.12.18": { + "length": 42.900000000000006, + "s": 21420.06451 + }, + "ecloud.mbc.12.19": { + "length": 42.900000000000006, + "s": 21473.516 + }, + "ecloud.mbc.12.2": { + "length": 42.900000000000006, + "s": 20564.84077 + }, + "ecloud.mbc.12.20": { + "length": 42.900000000000006, + "s": 21526.96748 + }, + "ecloud.mbc.12.21": { + "length": 42.900000000000006, + "s": 21580.41897 + }, + "ecloud.mbc.12.22": { + "length": 42.900000000000006, + "s": 21633.87045 + }, + "ecloud.mbc.12.23": { + "length": 42.900000000000006, + "s": 21687.32193 + }, + "ecloud.mbc.12.24": { + "length": 42.900000000000006, + "s": 21740.77342 + }, + "ecloud.mbc.12.25": { + "length": 42.900000000000006, + "s": 21794.2249 + }, + "ecloud.mbc.12.26": { + "length": 42.900000000000006, + "s": 21847.67639 + }, + "ecloud.mbc.12.27": { + "length": 42.900000000000006, + "s": 21901.12787 + }, + "ecloud.mbc.12.28": { + "length": 42.900000000000006, + "s": 21954.57935 + }, + "ecloud.mbc.12.29": { + "length": 42.900000000000006, + "s": 22008.03084 + }, + "ecloud.mbc.12.3": { + "length": 42.900000000000006, + "s": 20618.29225 + }, + "ecloud.mbc.12.30": { + "length": 42.900000000000006, + "s": 22061.48232 + }, + "ecloud.mbc.12.31": { + "length": 42.900000000000006, + "s": 22114.93381 + }, + "ecloud.mbc.12.32": { + "length": 42.900000000000006, + "s": 22168.38529 + }, + "ecloud.mbc.12.33": { + "length": 42.900000000000006, + "s": 22221.83677 + }, + "ecloud.mbc.12.34": { + "length": 42.900000000000006, + "s": 22275.28826 + }, + "ecloud.mbc.12.35": { + "length": 42.900000000000006, + "s": 22328.73974 + }, + "ecloud.mbc.12.36": { + "length": 42.900000000000006, + "s": 22382.19123 + }, + "ecloud.mbc.12.37": { + "length": 42.900000000000006, + "s": 22435.64271 + }, + "ecloud.mbc.12.38": { + "length": 42.900000000000006, + "s": 22489.0942 + }, + "ecloud.mbc.12.39": { + "length": 42.900000000000006, + "s": 22542.54568 + }, + "ecloud.mbc.12.4": { + "length": 42.900000000000006, + "s": 20671.74374 + }, + "ecloud.mbc.12.40": { + "length": 42.900000000000006, + "s": 22595.99716 + }, + "ecloud.mbc.12.41": { + "length": 42.900000000000006, + "s": 22649.44865 + }, + "ecloud.mbc.12.42": { + "length": 42.900000000000006, + "s": 22702.90013 + }, + "ecloud.mbc.12.43": { + "length": 42.900000000000006, + "s": 22756.35162 + }, + "ecloud.mbc.12.44": { + "length": 42.900000000000006, + "s": 22809.8031 + }, + "ecloud.mbc.12.45": { + "length": 42.900000000000006, + "s": 22863.25458 + }, + "ecloud.mbc.12.5": { + "length": 42.900000000000006, + "s": 20725.19522 + }, + "ecloud.mbc.12.6": { + "length": 42.900000000000006, + "s": 20778.6467 + }, + "ecloud.mbc.12.7": { + "length": 42.900000000000006, + "s": 20832.09819 + }, + "ecloud.mbc.12.8": { + "length": 42.900000000000006, + "s": 20885.54967 + }, + "ecloud.mbc.12.9": { + "length": 42.900000000000006, + "s": 20939.00116 + }, + "ecloud.mbc.23.0": { + "length": 42.900000000000006, + "s": 23789.93398 + }, + "ecloud.mbc.23.1": { + "length": 42.900000000000006, + "s": 23843.3825 + }, + "ecloud.mbc.23.10": { + "length": 42.900000000000006, + "s": 24324.41914 + }, + "ecloud.mbc.23.11": { + "length": 42.900000000000006, + "s": 24377.86766 + }, + "ecloud.mbc.23.12": { + "length": 42.900000000000006, + "s": 24431.31617 + }, + "ecloud.mbc.23.13": { + "length": 42.900000000000006, + "s": 24484.76469 + }, + "ecloud.mbc.23.14": { + "length": 42.900000000000006, + "s": 24538.21321 + }, + "ecloud.mbc.23.15": { + "length": 42.900000000000006, + "s": 24591.66172 + }, + "ecloud.mbc.23.16": { + "length": 42.900000000000006, + "s": 24645.11024 + }, + "ecloud.mbc.23.17": { + "length": 42.900000000000006, + "s": 24698.55875 + }, + "ecloud.mbc.23.18": { + "length": 42.900000000000006, + "s": 24752.00727 + }, + "ecloud.mbc.23.19": { + "length": 42.900000000000006, + "s": 24805.45579 + }, + "ecloud.mbc.23.2": { + "length": 42.900000000000006, + "s": 23896.83102 + }, + "ecloud.mbc.23.20": { + "length": 42.900000000000006, + "s": 24858.9043 + }, + "ecloud.mbc.23.21": { + "length": 42.900000000000006, + "s": 24912.35282 + }, + "ecloud.mbc.23.22": { + "length": 42.900000000000006, + "s": 24965.80133 + }, + "ecloud.mbc.23.23": { + "length": 42.900000000000006, + "s": 25019.24985 + }, + "ecloud.mbc.23.24": { + "length": 42.900000000000006, + "s": 25072.69837 + }, + "ecloud.mbc.23.25": { + "length": 42.900000000000006, + "s": 25126.14688 + }, + "ecloud.mbc.23.26": { + "length": 42.900000000000006, + "s": 25179.5954 + }, + "ecloud.mbc.23.27": { + "length": 42.900000000000006, + "s": 25233.04391 + }, + "ecloud.mbc.23.28": { + "length": 42.900000000000006, + "s": 25286.49243 + }, + "ecloud.mbc.23.29": { + "length": 42.900000000000006, + "s": 25339.94095 + }, + "ecloud.mbc.23.3": { + "length": 42.900000000000006, + "s": 23950.27953 + }, + "ecloud.mbc.23.30": { + "length": 42.900000000000006, + "s": 25393.38946 + }, + "ecloud.mbc.23.31": { + "length": 42.900000000000006, + "s": 25446.83798 + }, + "ecloud.mbc.23.32": { + "length": 42.900000000000006, + "s": 25500.28649 + }, + "ecloud.mbc.23.33": { + "length": 42.900000000000006, + "s": 25553.73501 + }, + "ecloud.mbc.23.34": { + "length": 42.900000000000006, + "s": 25607.18352 + }, + "ecloud.mbc.23.35": { + "length": 42.900000000000006, + "s": 25660.63204 + }, + "ecloud.mbc.23.36": { + "length": 42.900000000000006, + "s": 25714.08056 + }, + "ecloud.mbc.23.37": { + "length": 42.900000000000006, + "s": 25767.52907 + }, + "ecloud.mbc.23.38": { + "length": 42.900000000000006, + "s": 25820.97759 + }, + "ecloud.mbc.23.39": { + "length": 42.900000000000006, + "s": 25874.4261 + }, + "ecloud.mbc.23.4": { + "length": 42.900000000000006, + "s": 24003.72805 + }, + "ecloud.mbc.23.40": { + "length": 42.900000000000006, + "s": 25927.87462 + }, + "ecloud.mbc.23.41": { + "length": 42.900000000000006, + "s": 25981.32314 + }, + "ecloud.mbc.23.42": { + "length": 42.900000000000006, + "s": 26034.77165 + }, + "ecloud.mbc.23.43": { + "length": 42.900000000000006, + "s": 26088.22017 + }, + "ecloud.mbc.23.44": { + "length": 42.900000000000006, + "s": 26141.66868 + }, + "ecloud.mbc.23.45": { + "length": 42.900000000000006, + "s": 26195.1172 + }, + "ecloud.mbc.23.5": { + "length": 42.900000000000006, + "s": 24057.17656 + }, + "ecloud.mbc.23.6": { + "length": 42.900000000000006, + "s": 24110.62508 + }, + "ecloud.mbc.23.7": { + "length": 42.900000000000006, + "s": 24164.0736 + }, + "ecloud.mbc.23.8": { + "length": 42.900000000000006, + "s": 24217.52211 + }, + "ecloud.mbc.23.9": { + "length": 42.900000000000006, + "s": 24270.97063 + }, + "ecloud.mbc.34.0": { + "length": 42.900000000000006, + "s": 463.7660004 + }, + "ecloud.mbc.34.1": { + "length": 42.900000000000006, + "s": 517.2145163 + }, + "ecloud.mbc.34.10": { + "length": 42.900000000000006, + "s": 998.2511594 + }, + "ecloud.mbc.34.11": { + "length": 42.900000000000006, + "s": 1051.699675 + }, + "ecloud.mbc.34.12": { + "length": 42.900000000000006, + "s": 1105.148191 + }, + "ecloud.mbc.34.13": { + "length": 42.900000000000006, + "s": 1158.596707 + }, + "ecloud.mbc.34.14": { + "length": 42.900000000000006, + "s": 1212.045223 + }, + "ecloud.mbc.34.15": { + "length": 42.900000000000006, + "s": 1265.493739 + }, + "ecloud.mbc.34.16": { + "length": 42.900000000000006, + "s": 1318.942255 + }, + "ecloud.mbc.34.17": { + "length": 42.900000000000006, + "s": 1372.390771 + }, + "ecloud.mbc.34.18": { + "length": 42.900000000000006, + "s": 1425.839287 + }, + "ecloud.mbc.34.19": { + "length": 42.900000000000006, + "s": 1479.287803 + }, + "ecloud.mbc.34.2": { + "length": 42.900000000000006, + "s": 570.6630322 + }, + "ecloud.mbc.34.20": { + "length": 42.900000000000006, + "s": 1532.736318 + }, + "ecloud.mbc.34.21": { + "length": 42.900000000000006, + "s": 1586.184834 + }, + "ecloud.mbc.34.22": { + "length": 42.900000000000006, + "s": 1639.63335 + }, + "ecloud.mbc.34.23": { + "length": 42.900000000000006, + "s": 1693.081866 + }, + "ecloud.mbc.34.24": { + "length": 42.900000000000006, + "s": 1746.530382 + }, + "ecloud.mbc.34.25": { + "length": 42.900000000000006, + "s": 1799.978898 + }, + "ecloud.mbc.34.26": { + "length": 42.900000000000006, + "s": 1853.427414 + }, + "ecloud.mbc.34.27": { + "length": 42.900000000000006, + "s": 1906.87593 + }, + "ecloud.mbc.34.28": { + "length": 42.900000000000006, + "s": 1960.324446 + }, + "ecloud.mbc.34.29": { + "length": 42.900000000000006, + "s": 2013.772962 + }, + "ecloud.mbc.34.3": { + "length": 42.900000000000006, + "s": 624.1115481 + }, + "ecloud.mbc.34.30": { + "length": 42.900000000000006, + "s": 2067.221477 + }, + "ecloud.mbc.34.31": { + "length": 42.900000000000006, + "s": 2120.669993 + }, + "ecloud.mbc.34.32": { + "length": 42.900000000000006, + "s": 2174.118509 + }, + "ecloud.mbc.34.33": { + "length": 42.900000000000006, + "s": 2227.567025 + }, + "ecloud.mbc.34.34": { + "length": 42.900000000000006, + "s": 2281.015541 + }, + "ecloud.mbc.34.35": { + "length": 42.900000000000006, + "s": 2334.464057 + }, + "ecloud.mbc.34.36": { + "length": 42.900000000000006, + "s": 2387.912573 + }, + "ecloud.mbc.34.37": { + "length": 42.900000000000006, + "s": 2441.361089 + }, + "ecloud.mbc.34.38": { + "length": 42.900000000000006, + "s": 2494.809605 + }, + "ecloud.mbc.34.39": { + "length": 42.900000000000006, + "s": 2548.258121 + }, + "ecloud.mbc.34.4": { + "length": 42.900000000000006, + "s": 677.560064 + }, + "ecloud.mbc.34.40": { + "length": 42.900000000000006, + "s": 2601.706636 + }, + "ecloud.mbc.34.41": { + "length": 42.900000000000006, + "s": 2655.155152 + }, + "ecloud.mbc.34.42": { + "length": 42.900000000000006, + "s": 2708.603668 + }, + "ecloud.mbc.34.43": { + "length": 42.900000000000006, + "s": 2762.052184 + }, + "ecloud.mbc.34.44": { + "length": 42.900000000000006, + "s": 2815.5007 + }, + "ecloud.mbc.34.45": { + "length": 42.900000000000006, + "s": 2868.949216 + }, + "ecloud.mbc.34.5": { + "length": 42.900000000000006, + "s": 731.0085799 + }, + "ecloud.mbc.34.6": { + "length": 42.900000000000006, + "s": 784.4570958 + }, + "ecloud.mbc.34.7": { + "length": 42.900000000000006, + "s": 837.9056117 + }, + "ecloud.mbc.34.8": { + "length": 42.900000000000006, + "s": 891.3541276 + }, + "ecloud.mbc.34.9": { + "length": 42.900000000000006, + "s": 944.8026435 + }, + "ecloud.mbc.45.0": { + "length": 42.900000000000006, + "s": 3795.619217 + }, + "ecloud.mbc.45.1": { + "length": 42.900000000000006, + "s": 3849.067733 + }, + "ecloud.mbc.45.10": { + "length": 42.900000000000006, + "s": 4330.104376 + }, + "ecloud.mbc.45.11": { + "length": 42.900000000000006, + "s": 4383.552892 + }, + "ecloud.mbc.45.12": { + "length": 42.900000000000006, + "s": 4437.001408 + }, + "ecloud.mbc.45.13": { + "length": 42.900000000000006, + "s": 4490.449923 + }, + "ecloud.mbc.45.14": { + "length": 42.900000000000006, + "s": 4543.898439 + }, + "ecloud.mbc.45.15": { + "length": 42.900000000000006, + "s": 4597.346955 + }, + "ecloud.mbc.45.16": { + "length": 42.900000000000006, + "s": 4650.795471 + }, + "ecloud.mbc.45.17": { + "length": 42.900000000000006, + "s": 4704.243987 + }, + "ecloud.mbc.45.18": { + "length": 42.900000000000006, + "s": 4757.692503 + }, + "ecloud.mbc.45.19": { + "length": 42.900000000000006, + "s": 4811.141019 + }, + "ecloud.mbc.45.2": { + "length": 42.900000000000006, + "s": 3902.516249 + }, + "ecloud.mbc.45.20": { + "length": 42.900000000000006, + "s": 4864.589535 + }, + "ecloud.mbc.45.21": { + "length": 42.900000000000006, + "s": 4918.038051 + }, + "ecloud.mbc.45.22": { + "length": 42.900000000000006, + "s": 4971.486567 + }, + "ecloud.mbc.45.23": { + "length": 42.900000000000006, + "s": 5024.935083 + }, + "ecloud.mbc.45.24": { + "length": 42.900000000000006, + "s": 5078.383598 + }, + "ecloud.mbc.45.25": { + "length": 42.900000000000006, + "s": 5131.832114 + }, + "ecloud.mbc.45.26": { + "length": 42.900000000000006, + "s": 5185.28063 + }, + "ecloud.mbc.45.27": { + "length": 42.900000000000006, + "s": 5238.729146 + }, + "ecloud.mbc.45.28": { + "length": 42.900000000000006, + "s": 5292.177662 + }, + "ecloud.mbc.45.29": { + "length": 42.900000000000006, + "s": 5345.626178 + }, + "ecloud.mbc.45.3": { + "length": 42.900000000000006, + "s": 3955.964764 + }, + "ecloud.mbc.45.30": { + "length": 42.900000000000006, + "s": 5399.074694 + }, + "ecloud.mbc.45.31": { + "length": 42.900000000000006, + "s": 5452.52321 + }, + "ecloud.mbc.45.32": { + "length": 42.900000000000006, + "s": 5505.971726 + }, + "ecloud.mbc.45.33": { + "length": 42.900000000000006, + "s": 5559.420242 + }, + "ecloud.mbc.45.34": { + "length": 42.900000000000006, + "s": 5612.868757 + }, + "ecloud.mbc.45.35": { + "length": 42.900000000000006, + "s": 5666.317273 + }, + "ecloud.mbc.45.36": { + "length": 42.900000000000006, + "s": 5719.765789 + }, + "ecloud.mbc.45.37": { + "length": 42.900000000000006, + "s": 5773.214305 + }, + "ecloud.mbc.45.38": { + "length": 42.900000000000006, + "s": 5826.662821 + }, + "ecloud.mbc.45.39": { + "length": 42.900000000000006, + "s": 5880.111337 + }, + "ecloud.mbc.45.4": { + "length": 42.900000000000006, + "s": 4009.41328 + }, + "ecloud.mbc.45.40": { + "length": 42.900000000000006, + "s": 5933.559853 + }, + "ecloud.mbc.45.41": { + "length": 42.900000000000006, + "s": 5987.008369 + }, + "ecloud.mbc.45.42": { + "length": 42.900000000000006, + "s": 6040.456885 + }, + "ecloud.mbc.45.43": { + "length": 42.900000000000006, + "s": 6093.905401 + }, + "ecloud.mbc.45.44": { + "length": 42.900000000000006, + "s": 6147.353916 + }, + "ecloud.mbc.45.45": { + "length": 42.900000000000006, + "s": 6200.802432 + }, + "ecloud.mbc.45.5": { + "length": 42.900000000000006, + "s": 4062.861796 + }, + "ecloud.mbc.45.6": { + "length": 42.900000000000006, + "s": 4116.310312 + }, + "ecloud.mbc.45.7": { + "length": 42.900000000000006, + "s": 4169.758828 + }, + "ecloud.mbc.45.8": { + "length": 42.900000000000006, + "s": 4223.207344 + }, + "ecloud.mbc.45.9": { + "length": 42.900000000000006, + "s": 4276.65586 + }, + "ecloud.mbc.56.0": { + "length": 42.900000000000006, + "s": 7128.343832 + }, + "ecloud.mbc.56.1": { + "length": 42.900000000000006, + "s": 7181.795316 + }, + "ecloud.mbc.56.10": { + "length": 42.900000000000006, + "s": 7662.858673 + }, + "ecloud.mbc.56.11": { + "length": 42.900000000000006, + "s": 7716.310157 + }, + "ecloud.mbc.56.12": { + "length": 42.900000000000006, + "s": 7769.761642 + }, + "ecloud.mbc.56.13": { + "length": 42.900000000000006, + "s": 7823.213126 + }, + "ecloud.mbc.56.14": { + "length": 42.900000000000006, + "s": 7876.66461 + }, + "ecloud.mbc.56.15": { + "length": 42.900000000000006, + "s": 7930.116094 + }, + "ecloud.mbc.56.16": { + "length": 42.900000000000006, + "s": 7983.567578 + }, + "ecloud.mbc.56.17": { + "length": 42.900000000000006, + "s": 8037.019062 + }, + "ecloud.mbc.56.18": { + "length": 42.900000000000006, + "s": 8090.470546 + }, + "ecloud.mbc.56.19": { + "length": 42.900000000000006, + "s": 8143.92203 + }, + "ecloud.mbc.56.2": { + "length": 42.900000000000006, + "s": 7235.246801 + }, + "ecloud.mbc.56.20": { + "length": 42.900000000000006, + "s": 8197.373514 + }, + "ecloud.mbc.56.21": { + "length": 42.900000000000006, + "s": 8250.824998 + }, + "ecloud.mbc.56.22": { + "length": 42.900000000000006, + "s": 8304.276483 + }, + "ecloud.mbc.56.23": { + "length": 42.900000000000006, + "s": 8357.727967 + }, + "ecloud.mbc.56.24": { + "length": 42.900000000000006, + "s": 8411.179451 + }, + "ecloud.mbc.56.25": { + "length": 42.900000000000006, + "s": 8464.630935 + }, + "ecloud.mbc.56.26": { + "length": 42.900000000000006, + "s": 8518.082419 + }, + "ecloud.mbc.56.27": { + "length": 42.900000000000006, + "s": 8571.533903 + }, + "ecloud.mbc.56.28": { + "length": 42.900000000000006, + "s": 8624.985387 + }, + "ecloud.mbc.56.29": { + "length": 42.900000000000006, + "s": 8678.436871 + }, + "ecloud.mbc.56.3": { + "length": 42.900000000000006, + "s": 7288.698285 + }, + "ecloud.mbc.56.30": { + "length": 42.900000000000006, + "s": 8731.888355 + }, + "ecloud.mbc.56.31": { + "length": 42.900000000000006, + "s": 8785.339839 + }, + "ecloud.mbc.56.32": { + "length": 42.900000000000006, + "s": 8838.791323 + }, + "ecloud.mbc.56.33": { + "length": 42.900000000000006, + "s": 8892.242808 + }, + "ecloud.mbc.56.34": { + "length": 42.900000000000006, + "s": 8945.694292 + }, + "ecloud.mbc.56.35": { + "length": 42.900000000000006, + "s": 8999.145776 + }, + "ecloud.mbc.56.36": { + "length": 42.900000000000006, + "s": 9052.59726 + }, + "ecloud.mbc.56.37": { + "length": 42.900000000000006, + "s": 9106.048744 + }, + "ecloud.mbc.56.38": { + "length": 42.900000000000006, + "s": 9159.500228 + }, + "ecloud.mbc.56.39": { + "length": 42.900000000000006, + "s": 9212.951712 + }, + "ecloud.mbc.56.4": { + "length": 42.900000000000006, + "s": 7342.149769 + }, + "ecloud.mbc.56.40": { + "length": 42.900000000000006, + "s": 9266.403196 + }, + "ecloud.mbc.56.41": { + "length": 42.900000000000006, + "s": 9319.85468 + }, + "ecloud.mbc.56.42": { + "length": 42.900000000000006, + "s": 9373.306164 + }, + "ecloud.mbc.56.43": { + "length": 42.900000000000006, + "s": 9426.757649 + }, + "ecloud.mbc.56.44": { + "length": 42.900000000000006, + "s": 9480.209133 + }, + "ecloud.mbc.56.45": { + "length": 42.900000000000006, + "s": 9533.660617 + }, + "ecloud.mbc.56.5": { + "length": 42.900000000000006, + "s": 7395.601253 + }, + "ecloud.mbc.56.6": { + "length": 42.900000000000006, + "s": 7449.052737 + }, + "ecloud.mbc.56.7": { + "length": 42.900000000000006, + "s": 7502.504221 + }, + "ecloud.mbc.56.8": { + "length": 42.900000000000006, + "s": 7555.955705 + }, + "ecloud.mbc.56.9": { + "length": 42.900000000000006, + "s": 7609.407189 + }, + "ecloud.mbc.67.0": { + "length": 42.900000000000006, + "s": 10460.34942 + }, + "ecloud.mbc.67.1": { + "length": 42.900000000000006, + "s": 10513.8009 + }, + "ecloud.mbc.67.10": { + "length": 42.900000000000006, + "s": 10994.86426 + }, + "ecloud.mbc.67.11": { + "length": 42.900000000000006, + "s": 11048.31574 + }, + "ecloud.mbc.67.12": { + "length": 42.900000000000006, + "s": 11101.76723 + }, + "ecloud.mbc.67.13": { + "length": 42.900000000000006, + "s": 11155.21871 + }, + "ecloud.mbc.67.14": { + "length": 42.900000000000006, + "s": 11208.67019 + }, + "ecloud.mbc.67.15": { + "length": 42.900000000000006, + "s": 11262.12168 + }, + "ecloud.mbc.67.16": { + "length": 42.900000000000006, + "s": 11315.57316 + }, + "ecloud.mbc.67.17": { + "length": 42.900000000000006, + "s": 11369.02465 + }, + "ecloud.mbc.67.18": { + "length": 42.900000000000006, + "s": 11422.47613 + }, + "ecloud.mbc.67.19": { + "length": 42.900000000000006, + "s": 11475.92761 + }, + "ecloud.mbc.67.2": { + "length": 42.900000000000006, + "s": 10567.25238 + }, + "ecloud.mbc.67.20": { + "length": 42.900000000000006, + "s": 11529.3791 + }, + "ecloud.mbc.67.21": { + "length": 42.900000000000006, + "s": 11582.83058 + }, + "ecloud.mbc.67.22": { + "length": 42.900000000000006, + "s": 11636.28207 + }, + "ecloud.mbc.67.23": { + "length": 42.900000000000006, + "s": 11689.73355 + }, + "ecloud.mbc.67.24": { + "length": 42.900000000000006, + "s": 11743.18503 + }, + "ecloud.mbc.67.25": { + "length": 42.900000000000006, + "s": 11796.63652 + }, + "ecloud.mbc.67.26": { + "length": 42.900000000000006, + "s": 11850.088 + }, + "ecloud.mbc.67.27": { + "length": 42.900000000000006, + "s": 11903.53949 + }, + "ecloud.mbc.67.28": { + "length": 42.900000000000006, + "s": 11956.99097 + }, + "ecloud.mbc.67.29": { + "length": 42.900000000000006, + "s": 12010.44245 + }, + "ecloud.mbc.67.3": { + "length": 42.900000000000006, + "s": 10620.70387 + }, + "ecloud.mbc.67.30": { + "length": 42.900000000000006, + "s": 12063.89394 + }, + "ecloud.mbc.67.31": { + "length": 42.900000000000006, + "s": 12117.34542 + }, + "ecloud.mbc.67.32": { + "length": 42.900000000000006, + "s": 12170.79691 + }, + "ecloud.mbc.67.33": { + "length": 42.900000000000006, + "s": 12224.24839 + }, + "ecloud.mbc.67.34": { + "length": 42.900000000000006, + "s": 12277.69988 + }, + "ecloud.mbc.67.35": { + "length": 42.900000000000006, + "s": 12331.15136 + }, + "ecloud.mbc.67.36": { + "length": 42.900000000000006, + "s": 12384.60284 + }, + "ecloud.mbc.67.37": { + "length": 42.900000000000006, + "s": 12438.05433 + }, + "ecloud.mbc.67.38": { + "length": 42.900000000000006, + "s": 12491.50581 + }, + "ecloud.mbc.67.39": { + "length": 42.900000000000006, + "s": 12544.9573 + }, + "ecloud.mbc.67.4": { + "length": 42.900000000000006, + "s": 10674.15535 + }, + "ecloud.mbc.67.40": { + "length": 42.900000000000006, + "s": 12598.40878 + }, + "ecloud.mbc.67.41": { + "length": 42.900000000000006, + "s": 12651.86026 + }, + "ecloud.mbc.67.42": { + "length": 42.900000000000006, + "s": 12705.31175 + }, + "ecloud.mbc.67.43": { + "length": 42.900000000000006, + "s": 12758.76323 + }, + "ecloud.mbc.67.44": { + "length": 42.900000000000006, + "s": 12812.21472 + }, + "ecloud.mbc.67.45": { + "length": 42.900000000000006, + "s": 12865.6662 + }, + "ecloud.mbc.67.5": { + "length": 42.900000000000006, + "s": 10727.60684 + }, + "ecloud.mbc.67.6": { + "length": 42.900000000000006, + "s": 10781.05832 + }, + "ecloud.mbc.67.7": { + "length": 42.900000000000006, + "s": 10834.5098 + }, + "ecloud.mbc.67.8": { + "length": 42.900000000000006, + "s": 10887.96129 + }, + "ecloud.mbc.67.9": { + "length": 42.900000000000006, + "s": 10941.41277 + }, + "ecloud.mbc.78.0": { + "length": 42.900000000000006, + "s": 13793.217 + }, + "ecloud.mbc.78.1": { + "length": 42.900000000000006, + "s": 13846.66848 + }, + "ecloud.mbc.78.10": { + "length": 42.900000000000006, + "s": 14327.73184 + }, + "ecloud.mbc.78.11": { + "length": 42.900000000000006, + "s": 14381.18332 + }, + "ecloud.mbc.78.12": { + "length": 42.900000000000006, + "s": 14434.63481 + }, + "ecloud.mbc.78.13": { + "length": 42.900000000000006, + "s": 14488.08629 + }, + "ecloud.mbc.78.14": { + "length": 42.900000000000006, + "s": 14541.53778 + }, + "ecloud.mbc.78.15": { + "length": 42.900000000000006, + "s": 14594.98926 + }, + "ecloud.mbc.78.16": { + "length": 42.900000000000006, + "s": 14648.44075 + }, + "ecloud.mbc.78.17": { + "length": 42.900000000000006, + "s": 14701.89223 + }, + "ecloud.mbc.78.18": { + "length": 42.900000000000006, + "s": 14755.34371 + }, + "ecloud.mbc.78.19": { + "length": 42.900000000000006, + "s": 14808.7952 + }, + "ecloud.mbc.78.2": { + "length": 42.900000000000006, + "s": 13900.11997 + }, + "ecloud.mbc.78.20": { + "length": 42.900000000000006, + "s": 14862.24668 + }, + "ecloud.mbc.78.21": { + "length": 42.900000000000006, + "s": 14915.69817 + }, + "ecloud.mbc.78.22": { + "length": 42.900000000000006, + "s": 14969.14965 + }, + "ecloud.mbc.78.23": { + "length": 42.900000000000006, + "s": 15022.60113 + }, + "ecloud.mbc.78.24": { + "length": 42.900000000000006, + "s": 15076.05262 + }, + "ecloud.mbc.78.25": { + "length": 42.900000000000006, + "s": 15129.5041 + }, + "ecloud.mbc.78.26": { + "length": 42.900000000000006, + "s": 15182.95559 + }, + "ecloud.mbc.78.27": { + "length": 42.900000000000006, + "s": 15236.40707 + }, + "ecloud.mbc.78.28": { + "length": 42.900000000000006, + "s": 15289.85855 + }, + "ecloud.mbc.78.29": { + "length": 42.900000000000006, + "s": 15343.31004 + }, + "ecloud.mbc.78.3": { + "length": 42.900000000000006, + "s": 13953.57145 + }, + "ecloud.mbc.78.30": { + "length": 42.900000000000006, + "s": 15396.76152 + }, + "ecloud.mbc.78.31": { + "length": 42.900000000000006, + "s": 15450.21301 + }, + "ecloud.mbc.78.32": { + "length": 42.900000000000006, + "s": 15503.66449 + }, + "ecloud.mbc.78.33": { + "length": 42.900000000000006, + "s": 15557.11597 + }, + "ecloud.mbc.78.34": { + "length": 42.900000000000006, + "s": 15610.56746 + }, + "ecloud.mbc.78.35": { + "length": 42.900000000000006, + "s": 15664.01894 + }, + "ecloud.mbc.78.36": { + "length": 42.900000000000006, + "s": 15717.47043 + }, + "ecloud.mbc.78.37": { + "length": 42.900000000000006, + "s": 15770.92191 + }, + "ecloud.mbc.78.38": { + "length": 42.900000000000006, + "s": 15824.3734 + }, + "ecloud.mbc.78.39": { + "length": 42.900000000000006, + "s": 15877.82488 + }, + "ecloud.mbc.78.4": { + "length": 42.900000000000006, + "s": 14007.02294 + }, + "ecloud.mbc.78.40": { + "length": 42.900000000000006, + "s": 15931.27636 + }, + "ecloud.mbc.78.41": { + "length": 42.900000000000006, + "s": 15984.72785 + }, + "ecloud.mbc.78.42": { + "length": 42.900000000000006, + "s": 16038.17933 + }, + "ecloud.mbc.78.43": { + "length": 42.900000000000006, + "s": 16091.63082 + }, + "ecloud.mbc.78.44": { + "length": 42.900000000000006, + "s": 16145.0823 + }, + "ecloud.mbc.78.45": { + "length": 42.900000000000006, + "s": 16198.53378 + }, + "ecloud.mbc.78.5": { + "length": 42.900000000000006, + "s": 14060.47442 + }, + "ecloud.mbc.78.6": { + "length": 42.900000000000006, + "s": 14113.9259 + }, + "ecloud.mbc.78.7": { + "length": 42.900000000000006, + "s": 14167.37739 + }, + "ecloud.mbc.78.8": { + "length": 42.900000000000006, + "s": 14220.82887 + }, + "ecloud.mbc.78.9": { + "length": 42.900000000000006, + "s": 14274.28036 + }, + "ecloud.mbc.81.0": { + "length": 42.900000000000006, + "s": 17125.21318 + }, + "ecloud.mbc.81.1": { + "length": 42.900000000000006, + "s": 17178.6617 + }, + "ecloud.mbc.81.10": { + "length": 42.900000000000006, + "s": 17659.69834 + }, + "ecloud.mbc.81.11": { + "length": 42.900000000000006, + "s": 17713.14686 + }, + "ecloud.mbc.81.12": { + "length": 42.900000000000006, + "s": 17766.59537 + }, + "ecloud.mbc.81.13": { + "length": 42.900000000000006, + "s": 17820.04389 + }, + "ecloud.mbc.81.14": { + "length": 42.900000000000006, + "s": 17873.49241 + }, + "ecloud.mbc.81.15": { + "length": 42.900000000000006, + "s": 17926.94092 + }, + "ecloud.mbc.81.16": { + "length": 42.900000000000006, + "s": 17980.38944 + }, + "ecloud.mbc.81.17": { + "length": 42.900000000000006, + "s": 18033.83795 + }, + "ecloud.mbc.81.18": { + "length": 42.900000000000006, + "s": 18087.28647 + }, + "ecloud.mbc.81.19": { + "length": 42.900000000000006, + "s": 18140.73499 + }, + "ecloud.mbc.81.2": { + "length": 42.900000000000006, + "s": 17232.11022 + }, + "ecloud.mbc.81.20": { + "length": 42.900000000000006, + "s": 18194.1835 + }, + "ecloud.mbc.81.21": { + "length": 42.900000000000006, + "s": 18247.63202 + }, + "ecloud.mbc.81.22": { + "length": 42.900000000000006, + "s": 18301.08053 + }, + "ecloud.mbc.81.23": { + "length": 42.900000000000006, + "s": 18354.52905 + }, + "ecloud.mbc.81.24": { + "length": 42.900000000000006, + "s": 18407.97757 + }, + "ecloud.mbc.81.25": { + "length": 42.900000000000006, + "s": 18461.42608 + }, + "ecloud.mbc.81.26": { + "length": 42.900000000000006, + "s": 18514.8746 + }, + "ecloud.mbc.81.27": { + "length": 42.900000000000006, + "s": 18568.32311 + }, + "ecloud.mbc.81.28": { + "length": 42.900000000000006, + "s": 18621.77163 + }, + "ecloud.mbc.81.29": { + "length": 42.900000000000006, + "s": 18675.22015 + }, + "ecloud.mbc.81.3": { + "length": 42.900000000000006, + "s": 17285.55873 + }, + "ecloud.mbc.81.30": { + "length": 42.900000000000006, + "s": 18728.66866 + }, + "ecloud.mbc.81.31": { + "length": 42.900000000000006, + "s": 18782.11718 + }, + "ecloud.mbc.81.32": { + "length": 42.900000000000006, + "s": 18835.56569 + }, + "ecloud.mbc.81.33": { + "length": 42.900000000000006, + "s": 18889.01421 + }, + "ecloud.mbc.81.34": { + "length": 42.900000000000006, + "s": 18942.46272 + }, + "ecloud.mbc.81.35": { + "length": 42.900000000000006, + "s": 18995.91124 + }, + "ecloud.mbc.81.36": { + "length": 42.900000000000006, + "s": 19049.35976 + }, + "ecloud.mbc.81.37": { + "length": 42.900000000000006, + "s": 19102.80827 + }, + "ecloud.mbc.81.38": { + "length": 42.900000000000006, + "s": 19156.25679 + }, + "ecloud.mbc.81.39": { + "length": 42.900000000000006, + "s": 19209.7053 + }, + "ecloud.mbc.81.4": { + "length": 42.900000000000006, + "s": 17339.00725 + }, + "ecloud.mbc.81.40": { + "length": 42.900000000000006, + "s": 19263.15382 + }, + "ecloud.mbc.81.41": { + "length": 42.900000000000006, + "s": 19316.60234 + }, + "ecloud.mbc.81.42": { + "length": 42.900000000000006, + "s": 19370.05085 + }, + "ecloud.mbc.81.43": { + "length": 42.900000000000006, + "s": 19423.49937 + }, + "ecloud.mbc.81.44": { + "length": 42.900000000000006, + "s": 19476.94788 + }, + "ecloud.mbc.81.45": { + "length": 42.900000000000006, + "s": 19530.3964 + }, + "ecloud.mbc.81.5": { + "length": 42.900000000000006, + "s": 17392.45576 + }, + "ecloud.mbc.81.6": { + "length": 42.900000000000006, + "s": 17445.90428 + }, + "ecloud.mbc.81.7": { + "length": 42.900000000000006, + "s": 17499.3528 + }, + "ecloud.mbc.81.8": { + "length": 42.900000000000006, + "s": 17552.80131 + }, + "ecloud.mbc.81.9": { + "length": 42.900000000000006, + "s": 17606.24983 + } + }, + "mqd": { + "ecloud.mqd.12.0": { + "length": 3.1, + "s": 20484.66354 + }, + "ecloud.mqd.12.1": { + "length": 3.1, + "s": 20591.56651 + }, + "ecloud.mqd.12.10": { + "length": 3.1, + "s": 21553.69322 + }, + "ecloud.mqd.12.11": { + "length": 3.1, + "s": 21660.59619 + }, + "ecloud.mqd.12.12": { + "length": 3.1, + "s": 21767.49916 + }, + "ecloud.mqd.12.13": { + "length": 3.1, + "s": 21874.40213 + }, + "ecloud.mqd.12.14": { + "length": 3.1, + "s": 21981.3051 + }, + "ecloud.mqd.12.15": { + "length": 3.1, + "s": 22088.20806 + }, + "ecloud.mqd.12.16": { + "length": 3.1, + "s": 22195.11103 + }, + "ecloud.mqd.12.17": { + "length": 3.1, + "s": 22302.014 + }, + "ecloud.mqd.12.18": { + "length": 3.1, + "s": 22408.91697 + }, + "ecloud.mqd.12.19": { + "length": 3.1, + "s": 22515.81994 + }, + "ecloud.mqd.12.2": { + "length": 3.1, + "s": 20698.46948 + }, + "ecloud.mqd.12.20": { + "length": 3.1, + "s": 22622.72291 + }, + "ecloud.mqd.12.21": { + "length": 3.1, + "s": 22729.62587 + }, + "ecloud.mqd.12.22": { + "length": 3.1, + "s": 22836.52884 + }, + "ecloud.mqd.12.3": { + "length": 3.1, + "s": 20805.37245 + }, + "ecloud.mqd.12.4": { + "length": 3.1, + "s": 20912.27541 + }, + "ecloud.mqd.12.5": { + "length": 3.1, + "s": 21019.17838 + }, + "ecloud.mqd.12.6": { + "length": 3.1, + "s": 21126.08135 + }, + "ecloud.mqd.12.7": { + "length": 3.1, + "s": 21232.98432 + }, + "ecloud.mqd.12.8": { + "length": 3.1, + "s": 21339.88729 + }, + "ecloud.mqd.12.9": { + "length": 3.1, + "s": 21446.79026 + }, + "ecloud.mqd.23.0": { + "length": 3.1, + "s": 23870.10676 + }, + "ecloud.mqd.23.1": { + "length": 3.1, + "s": 23977.00379 + }, + "ecloud.mqd.23.10": { + "length": 3.1, + "s": 24939.07708 + }, + "ecloud.mqd.23.11": { + "length": 3.1, + "s": 25045.97411 + }, + "ecloud.mqd.23.12": { + "length": 3.1, + "s": 25152.87114 + }, + "ecloud.mqd.23.13": { + "length": 3.1, + "s": 25259.76817 + }, + "ecloud.mqd.23.14": { + "length": 3.1, + "s": 25366.6652 + }, + "ecloud.mqd.23.15": { + "length": 3.1, + "s": 25473.56223 + }, + "ecloud.mqd.23.16": { + "length": 3.1, + "s": 25580.45927 + }, + "ecloud.mqd.23.17": { + "length": 3.1, + "s": 25687.3563 + }, + "ecloud.mqd.23.18": { + "length": 3.1, + "s": 25794.25333 + }, + "ecloud.mqd.23.19": { + "length": 3.1, + "s": 25901.15036 + }, + "ecloud.mqd.23.2": { + "length": 3.1, + "s": 24083.90082 + }, + "ecloud.mqd.23.20": { + "length": 3.1, + "s": 26008.04739 + }, + "ecloud.mqd.23.21": { + "length": 3.1, + "s": 26114.94443 + }, + "ecloud.mqd.23.3": { + "length": 3.1, + "s": 24190.79785 + }, + "ecloud.mqd.23.4": { + "length": 3.1, + "s": 24297.69489 + }, + "ecloud.mqd.23.5": { + "length": 3.1, + "s": 24404.59192 + }, + "ecloud.mqd.23.6": { + "length": 3.1, + "s": 24511.48895 + }, + "ecloud.mqd.23.7": { + "length": 3.1, + "s": 24618.38598 + }, + "ecloud.mqd.23.8": { + "length": 3.1, + "s": 24725.28301 + }, + "ecloud.mqd.23.9": { + "length": 3.1, + "s": 24832.18004 + }, + "ecloud.mqd.34.0": { + "length": 3.1, + "s": 490.4902583 + }, + "ecloud.mqd.34.1": { + "length": 3.1, + "s": 597.3872901 + }, + "ecloud.mqd.34.10": { + "length": 3.1, + "s": 1559.460576 + }, + "ecloud.mqd.34.11": { + "length": 3.1, + "s": 1666.357608 + }, + "ecloud.mqd.34.12": { + "length": 3.1, + "s": 1773.25464 + }, + "ecloud.mqd.34.13": { + "length": 3.1, + "s": 1880.151672 + }, + "ecloud.mqd.34.14": { + "length": 3.1, + "s": 1987.048704 + }, + "ecloud.mqd.34.15": { + "length": 3.1, + "s": 2093.945735 + }, + "ecloud.mqd.34.16": { + "length": 3.1, + "s": 2200.842767 + }, + "ecloud.mqd.34.17": { + "length": 3.1, + "s": 2307.739799 + }, + "ecloud.mqd.34.18": { + "length": 3.1, + "s": 2414.636831 + }, + "ecloud.mqd.34.19": { + "length": 3.1, + "s": 2521.533863 + }, + "ecloud.mqd.34.2": { + "length": 3.1, + "s": 704.2843219 + }, + "ecloud.mqd.34.20": { + "length": 3.1, + "s": 2628.430894 + }, + "ecloud.mqd.34.21": { + "length": 3.1, + "s": 2735.327926 + }, + "ecloud.mqd.34.22": { + "length": 3.1, + "s": 2842.224958 + }, + "ecloud.mqd.34.3": { + "length": 3.1, + "s": 811.1813537 + }, + "ecloud.mqd.34.4": { + "length": 3.1, + "s": 918.0783855 + }, + "ecloud.mqd.34.5": { + "length": 3.1, + "s": 1024.975417 + }, + "ecloud.mqd.34.6": { + "length": 3.1, + "s": 1131.872449 + }, + "ecloud.mqd.34.7": { + "length": 3.1, + "s": 1238.769481 + }, + "ecloud.mqd.34.8": { + "length": 3.1, + "s": 1345.666513 + }, + "ecloud.mqd.34.9": { + "length": 3.1, + "s": 1452.563545 + }, + "ecloud.mqd.45.0": { + "length": 3.1, + "s": 3875.791991 + }, + "ecloud.mqd.45.1": { + "length": 3.1, + "s": 3982.689022 + }, + "ecloud.mqd.45.10": { + "length": 3.1, + "s": 4944.762309 + }, + "ecloud.mqd.45.11": { + "length": 3.1, + "s": 5051.65934 + }, + "ecloud.mqd.45.12": { + "length": 3.1, + "s": 5158.556372 + }, + "ecloud.mqd.45.13": { + "length": 3.1, + "s": 5265.453404 + }, + "ecloud.mqd.45.14": { + "length": 3.1, + "s": 5372.350436 + }, + "ecloud.mqd.45.15": { + "length": 3.1, + "s": 5479.247468 + }, + "ecloud.mqd.45.16": { + "length": 3.1, + "s": 5586.1445 + }, + "ecloud.mqd.45.17": { + "length": 3.1, + "s": 5693.041531 + }, + "ecloud.mqd.45.18": { + "length": 3.1, + "s": 5799.938563 + }, + "ecloud.mqd.45.19": { + "length": 3.1, + "s": 5906.835595 + }, + "ecloud.mqd.45.2": { + "length": 3.1, + "s": 4089.586054 + }, + "ecloud.mqd.45.20": { + "length": 3.1, + "s": 6013.732627 + }, + "ecloud.mqd.45.21": { + "length": 3.1, + "s": 6120.629659 + }, + "ecloud.mqd.45.3": { + "length": 3.1, + "s": 4196.483086 + }, + "ecloud.mqd.45.4": { + "length": 3.1, + "s": 4303.380118 + }, + "ecloud.mqd.45.5": { + "length": 3.1, + "s": 4410.27715 + }, + "ecloud.mqd.45.6": { + "length": 3.1, + "s": 4517.174181 + }, + "ecloud.mqd.45.7": { + "length": 3.1, + "s": 4624.071213 + }, + "ecloud.mqd.45.8": { + "length": 3.1, + "s": 4730.968245 + }, + "ecloud.mqd.45.9": { + "length": 3.1, + "s": 4837.865277 + }, + "ecloud.mqd.56.0": { + "length": 3.1, + "s": 7155.069574 + }, + "ecloud.mqd.56.1": { + "length": 3.1, + "s": 7261.972543 + }, + "ecloud.mqd.56.10": { + "length": 3.1, + "s": 8224.099256 + }, + "ecloud.mqd.56.11": { + "length": 3.1, + "s": 8331.002225 + }, + "ecloud.mqd.56.12": { + "length": 3.1, + "s": 8437.905193 + }, + "ecloud.mqd.56.13": { + "length": 3.1, + "s": 8544.808161 + }, + "ecloud.mqd.56.14": { + "length": 3.1, + "s": 8651.711129 + }, + "ecloud.mqd.56.15": { + "length": 3.1, + "s": 8758.614097 + }, + "ecloud.mqd.56.16": { + "length": 3.1, + "s": 8865.517066 + }, + "ecloud.mqd.56.17": { + "length": 3.1, + "s": 8972.420034 + }, + "ecloud.mqd.56.18": { + "length": 3.1, + "s": 9079.323002 + }, + "ecloud.mqd.56.19": { + "length": 3.1, + "s": 9186.22597 + }, + "ecloud.mqd.56.2": { + "length": 3.1, + "s": 7368.875511 + }, + "ecloud.mqd.56.20": { + "length": 3.1, + "s": 9293.128938 + }, + "ecloud.mqd.56.21": { + "length": 3.1, + "s": 9400.031906 + }, + "ecloud.mqd.56.22": { + "length": 3.1, + "s": 9506.934875 + }, + "ecloud.mqd.56.3": { + "length": 3.1, + "s": 7475.778479 + }, + "ecloud.mqd.56.4": { + "length": 3.1, + "s": 7582.681447 + }, + "ecloud.mqd.56.5": { + "length": 3.1, + "s": 7689.584415 + }, + "ecloud.mqd.56.6": { + "length": 3.1, + "s": 7796.487384 + }, + "ecloud.mqd.56.7": { + "length": 3.1, + "s": 7903.390352 + }, + "ecloud.mqd.56.8": { + "length": 3.1, + "s": 8010.29332 + }, + "ecloud.mqd.56.9": { + "length": 3.1, + "s": 8117.196288 + }, + "ecloud.mqd.67.0": { + "length": 3.1, + "s": 10540.52664 + }, + "ecloud.mqd.67.1": { + "length": 3.1, + "s": 10647.42961 + }, + "ecloud.mqd.67.10": { + "length": 3.1, + "s": 11609.55632 + }, + "ecloud.mqd.67.11": { + "length": 3.1, + "s": 11716.45929 + }, + "ecloud.mqd.67.12": { + "length": 3.1, + "s": 11823.36226 + }, + "ecloud.mqd.67.13": { + "length": 3.1, + "s": 11930.26523 + }, + "ecloud.mqd.67.14": { + "length": 3.1, + "s": 12037.1682 + }, + "ecloud.mqd.67.15": { + "length": 3.1, + "s": 12144.07117 + }, + "ecloud.mqd.67.16": { + "length": 3.1, + "s": 12250.97413 + }, + "ecloud.mqd.67.17": { + "length": 3.1, + "s": 12357.8771 + }, + "ecloud.mqd.67.18": { + "length": 3.1, + "s": 12464.78007 + }, + "ecloud.mqd.67.19": { + "length": 3.1, + "s": 12571.68304 + }, + "ecloud.mqd.67.2": { + "length": 3.1, + "s": 10754.33258 + }, + "ecloud.mqd.67.20": { + "length": 3.1, + "s": 12678.58601 + }, + "ecloud.mqd.67.21": { + "length": 3.1, + "s": 12785.48897 + }, + "ecloud.mqd.67.3": { + "length": 3.1, + "s": 10861.23555 + }, + "ecloud.mqd.67.4": { + "length": 3.1, + "s": 10968.13851 + }, + "ecloud.mqd.67.5": { + "length": 3.1, + "s": 11075.04148 + }, + "ecloud.mqd.67.6": { + "length": 3.1, + "s": 11181.94445 + }, + "ecloud.mqd.67.7": { + "length": 3.1, + "s": 11288.84742 + }, + "ecloud.mqd.67.8": { + "length": 3.1, + "s": 11395.75039 + }, + "ecloud.mqd.67.9": { + "length": 3.1, + "s": 11502.65336 + }, + "ecloud.mqd.78.0": { + "length": 3.1, + "s": 13819.94274 + }, + "ecloud.mqd.78.1": { + "length": 3.1, + "s": 13926.84571 + }, + "ecloud.mqd.78.10": { + "length": 3.1, + "s": 14888.97242 + }, + "ecloud.mqd.78.11": { + "length": 3.1, + "s": 14995.87539 + }, + "ecloud.mqd.78.12": { + "length": 3.1, + "s": 15102.77836 + }, + "ecloud.mqd.78.13": { + "length": 3.1, + "s": 15209.68133 + }, + "ecloud.mqd.78.14": { + "length": 3.1, + "s": 15316.5843 + }, + "ecloud.mqd.78.15": { + "length": 3.1, + "s": 15423.48726 + }, + "ecloud.mqd.78.16": { + "length": 3.1, + "s": 15530.39023 + }, + "ecloud.mqd.78.17": { + "length": 3.1, + "s": 15637.2932 + }, + "ecloud.mqd.78.18": { + "length": 3.1, + "s": 15744.19617 + }, + "ecloud.mqd.78.19": { + "length": 3.1, + "s": 15851.09914 + }, + "ecloud.mqd.78.2": { + "length": 3.1, + "s": 14033.74868 + }, + "ecloud.mqd.78.20": { + "length": 3.1, + "s": 15958.00211 + }, + "ecloud.mqd.78.21": { + "length": 3.1, + "s": 16064.90507 + }, + "ecloud.mqd.78.22": { + "length": 3.1, + "s": 16171.80804 + }, + "ecloud.mqd.78.3": { + "length": 3.1, + "s": 14140.65165 + }, + "ecloud.mqd.78.4": { + "length": 3.1, + "s": 14247.55461 + }, + "ecloud.mqd.78.5": { + "length": 3.1, + "s": 14354.45758 + }, + "ecloud.mqd.78.6": { + "length": 3.1, + "s": 14461.36055 + }, + "ecloud.mqd.78.7": { + "length": 3.1, + "s": 14568.26352 + }, + "ecloud.mqd.78.8": { + "length": 3.1, + "s": 14675.16649 + }, + "ecloud.mqd.78.9": { + "length": 3.1, + "s": 14782.06946 + }, + "ecloud.mqd.81.0": { + "length": 3.1, + "s": 17205.38596 + }, + "ecloud.mqd.81.1": { + "length": 3.1, + "s": 17312.28299 + }, + "ecloud.mqd.81.10": { + "length": 3.1, + "s": 18274.35628 + }, + "ecloud.mqd.81.11": { + "length": 3.1, + "s": 18381.25331 + }, + "ecloud.mqd.81.12": { + "length": 3.1, + "s": 18488.15034 + }, + "ecloud.mqd.81.13": { + "length": 3.1, + "s": 18595.04737 + }, + "ecloud.mqd.81.14": { + "length": 3.1, + "s": 18701.9444 + }, + "ecloud.mqd.81.15": { + "length": 3.1, + "s": 18808.84143 + }, + "ecloud.mqd.81.16": { + "length": 3.1, + "s": 18915.73847 + }, + "ecloud.mqd.81.17": { + "length": 3.1, + "s": 19022.6355 + }, + "ecloud.mqd.81.18": { + "length": 3.1, + "s": 19129.53253 + }, + "ecloud.mqd.81.19": { + "length": 3.1, + "s": 19236.42956 + }, + "ecloud.mqd.81.2": { + "length": 3.1, + "s": 17419.18002 + }, + "ecloud.mqd.81.20": { + "length": 3.1, + "s": 19343.32659 + }, + "ecloud.mqd.81.21": { + "length": 3.1, + "s": 19450.22363 + }, + "ecloud.mqd.81.3": { + "length": 3.1, + "s": 17526.07705 + }, + "ecloud.mqd.81.4": { + "length": 3.1, + "s": 17632.97409 + }, + "ecloud.mqd.81.5": { + "length": 3.1, + "s": 17739.87112 + }, + "ecloud.mqd.81.6": { + "length": 3.1, + "s": 17846.76815 + }, + "ecloud.mqd.81.7": { + "length": 3.1, + "s": 17953.66518 + }, + "ecloud.mqd.81.8": { + "length": 3.1, + "s": 18060.56221 + }, + "ecloud.mqd.81.9": { + "length": 3.1, + "s": 18167.45924 + } + }, + "mqdc": { + "ecloud.mqdc.12.0": { + "length": 3.1, + "s": 20484.66354 + }, + "ecloud.mqdc.12.1": { + "length": 3.1, + "s": 20591.56651 + }, + "ecloud.mqdc.12.10": { + "length": 3.1, + "s": 21553.69322 + }, + "ecloud.mqdc.12.11": { + "length": 3.1, + "s": 21660.59619 + }, + "ecloud.mqdc.12.12": { + "length": 3.1, + "s": 21767.49916 + }, + "ecloud.mqdc.12.13": { + "length": 3.1, + "s": 21874.40213 + }, + "ecloud.mqdc.12.14": { + "length": 3.1, + "s": 21981.3051 + }, + "ecloud.mqdc.12.15": { + "length": 3.1, + "s": 22088.20806 + }, + "ecloud.mqdc.12.16": { + "length": 3.1, + "s": 22195.11103 + }, + "ecloud.mqdc.12.17": { + "length": 3.1, + "s": 22302.014 + }, + "ecloud.mqdc.12.18": { + "length": 3.1, + "s": 22408.91697 + }, + "ecloud.mqdc.12.19": { + "length": 3.1, + "s": 22515.81994 + }, + "ecloud.mqdc.12.2": { + "length": 3.1, + "s": 20698.46948 + }, + "ecloud.mqdc.12.20": { + "length": 3.1, + "s": 22622.72291 + }, + "ecloud.mqdc.12.21": { + "length": 3.1, + "s": 22729.62587 + }, + "ecloud.mqdc.12.22": { + "length": 3.1, + "s": 22836.52884 + }, + "ecloud.mqdc.12.3": { + "length": 3.1, + "s": 20805.37245 + }, + "ecloud.mqdc.12.4": { + "length": 3.1, + "s": 20912.27541 + }, + "ecloud.mqdc.12.5": { + "length": 3.1, + "s": 21019.17838 + }, + "ecloud.mqdc.12.6": { + "length": 3.1, + "s": 21126.08135 + }, + "ecloud.mqdc.12.7": { + "length": 3.1, + "s": 21232.98432 + }, + "ecloud.mqdc.12.8": { + "length": 3.1, + "s": 21339.88729 + }, + "ecloud.mqdc.12.9": { + "length": 3.1, + "s": 21446.79026 + }, + "ecloud.mqdc.23.0": { + "length": 3.1, + "s": 23870.10676 + }, + "ecloud.mqdc.23.1": { + "length": 3.1, + "s": 23977.00379 + }, + "ecloud.mqdc.23.10": { + "length": 3.1, + "s": 24939.07708 + }, + "ecloud.mqdc.23.11": { + "length": 3.1, + "s": 25045.97411 + }, + "ecloud.mqdc.23.12": { + "length": 3.1, + "s": 25152.87114 + }, + "ecloud.mqdc.23.13": { + "length": 3.1, + "s": 25259.76817 + }, + "ecloud.mqdc.23.14": { + "length": 3.1, + "s": 25366.6652 + }, + "ecloud.mqdc.23.15": { + "length": 3.1, + "s": 25473.56223 + }, + "ecloud.mqdc.23.16": { + "length": 3.1, + "s": 25580.45927 + }, + "ecloud.mqdc.23.17": { + "length": 3.1, + "s": 25687.3563 + }, + "ecloud.mqdc.23.18": { + "length": 3.1, + "s": 25794.25333 + }, + "ecloud.mqdc.23.19": { + "length": 3.1, + "s": 25901.15036 + }, + "ecloud.mqdc.23.2": { + "length": 3.1, + "s": 24083.90082 + }, + "ecloud.mqdc.23.20": { + "length": 3.1, + "s": 26008.04739 + }, + "ecloud.mqdc.23.21": { + "length": 3.1, + "s": 26114.94443 + }, + "ecloud.mqdc.23.3": { + "length": 3.1, + "s": 24190.79785 + }, + "ecloud.mqdc.23.4": { + "length": 3.1, + "s": 24297.69489 + }, + "ecloud.mqdc.23.5": { + "length": 3.1, + "s": 24404.59192 + }, + "ecloud.mqdc.23.6": { + "length": 3.1, + "s": 24511.48895 + }, + "ecloud.mqdc.23.7": { + "length": 3.1, + "s": 24618.38598 + }, + "ecloud.mqdc.23.8": { + "length": 3.1, + "s": 24725.28301 + }, + "ecloud.mqdc.23.9": { + "length": 3.1, + "s": 24832.18004 + }, + "ecloud.mqdc.34.0": { + "length": 3.1, + "s": 490.4902583 + }, + "ecloud.mqdc.34.1": { + "length": 3.1, + "s": 597.3872901 + }, + "ecloud.mqdc.34.10": { + "length": 3.1, + "s": 1559.460576 + }, + "ecloud.mqdc.34.11": { + "length": 3.1, + "s": 1666.357608 + }, + "ecloud.mqdc.34.12": { + "length": 3.1, + "s": 1773.25464 + }, + "ecloud.mqdc.34.13": { + "length": 3.1, + "s": 1880.151672 + }, + "ecloud.mqdc.34.14": { + "length": 3.1, + "s": 1987.048704 + }, + "ecloud.mqdc.34.15": { + "length": 3.1, + "s": 2093.945735 + }, + "ecloud.mqdc.34.16": { + "length": 3.1, + "s": 2200.842767 + }, + "ecloud.mqdc.34.17": { + "length": 3.1, + "s": 2307.739799 + }, + "ecloud.mqdc.34.18": { + "length": 3.1, + "s": 2414.636831 + }, + "ecloud.mqdc.34.19": { + "length": 3.1, + "s": 2521.533863 + }, + "ecloud.mqdc.34.2": { + "length": 3.1, + "s": 704.2843219 + }, + "ecloud.mqdc.34.20": { + "length": 3.1, + "s": 2628.430894 + }, + "ecloud.mqdc.34.21": { + "length": 3.1, + "s": 2735.327926 + }, + "ecloud.mqdc.34.22": { + "length": 3.1, + "s": 2842.224958 + }, + "ecloud.mqdc.34.3": { + "length": 3.1, + "s": 811.1813537 + }, + "ecloud.mqdc.34.4": { + "length": 3.1, + "s": 918.0783855 + }, + "ecloud.mqdc.34.5": { + "length": 3.1, + "s": 1024.975417 + }, + "ecloud.mqdc.34.6": { + "length": 3.1, + "s": 1131.872449 + }, + "ecloud.mqdc.34.7": { + "length": 3.1, + "s": 1238.769481 + }, + "ecloud.mqdc.34.8": { + "length": 3.1, + "s": 1345.666513 + }, + "ecloud.mqdc.34.9": { + "length": 3.1, + "s": 1452.563545 + }, + "ecloud.mqdc.45.0": { + "length": 3.1, + "s": 3875.791991 + }, + "ecloud.mqdc.45.1": { + "length": 3.1, + "s": 3982.689022 + }, + "ecloud.mqdc.45.10": { + "length": 3.1, + "s": 4944.762309 + }, + "ecloud.mqdc.45.11": { + "length": 3.1, + "s": 5051.65934 + }, + "ecloud.mqdc.45.12": { + "length": 3.1, + "s": 5158.556372 + }, + "ecloud.mqdc.45.13": { + "length": 3.1, + "s": 5265.453404 + }, + "ecloud.mqdc.45.14": { + "length": 3.1, + "s": 5372.350436 + }, + "ecloud.mqdc.45.15": { + "length": 3.1, + "s": 5479.247468 + }, + "ecloud.mqdc.45.16": { + "length": 3.1, + "s": 5586.1445 + }, + "ecloud.mqdc.45.17": { + "length": 3.1, + "s": 5693.041531 + }, + "ecloud.mqdc.45.18": { + "length": 3.1, + "s": 5799.938563 + }, + "ecloud.mqdc.45.19": { + "length": 3.1, + "s": 5906.835595 + }, + "ecloud.mqdc.45.2": { + "length": 3.1, + "s": 4089.586054 + }, + "ecloud.mqdc.45.20": { + "length": 3.1, + "s": 6013.732627 + }, + "ecloud.mqdc.45.21": { + "length": 3.1, + "s": 6120.629659 + }, + "ecloud.mqdc.45.3": { + "length": 3.1, + "s": 4196.483086 + }, + "ecloud.mqdc.45.4": { + "length": 3.1, + "s": 4303.380118 + }, + "ecloud.mqdc.45.5": { + "length": 3.1, + "s": 4410.27715 + }, + "ecloud.mqdc.45.6": { + "length": 3.1, + "s": 4517.174181 + }, + "ecloud.mqdc.45.7": { + "length": 3.1, + "s": 4624.071213 + }, + "ecloud.mqdc.45.8": { + "length": 3.1, + "s": 4730.968245 + }, + "ecloud.mqdc.45.9": { + "length": 3.1, + "s": 4837.865277 + }, + "ecloud.mqdc.56.0": { + "length": 3.1, + "s": 7155.069574 + }, + "ecloud.mqdc.56.1": { + "length": 3.1, + "s": 7261.972543 + }, + "ecloud.mqdc.56.10": { + "length": 3.1, + "s": 8224.099256 + }, + "ecloud.mqdc.56.11": { + "length": 3.1, + "s": 8331.002225 + }, + "ecloud.mqdc.56.12": { + "length": 3.1, + "s": 8437.905193 + }, + "ecloud.mqdc.56.13": { + "length": 3.1, + "s": 8544.808161 + }, + "ecloud.mqdc.56.14": { + "length": 3.1, + "s": 8651.711129 + }, + "ecloud.mqdc.56.15": { + "length": 3.1, + "s": 8758.614097 + }, + "ecloud.mqdc.56.16": { + "length": 3.1, + "s": 8865.517066 + }, + "ecloud.mqdc.56.17": { + "length": 3.1, + "s": 8972.420034 + }, + "ecloud.mqdc.56.18": { + "length": 3.1, + "s": 9079.323002 + }, + "ecloud.mqdc.56.19": { + "length": 3.1, + "s": 9186.22597 + }, + "ecloud.mqdc.56.2": { + "length": 3.1, + "s": 7368.875511 + }, + "ecloud.mqdc.56.20": { + "length": 3.1, + "s": 9293.128938 + }, + "ecloud.mqdc.56.21": { + "length": 3.1, + "s": 9400.031906 + }, + "ecloud.mqdc.56.22": { + "length": 3.1, + "s": 9506.934875 + }, + "ecloud.mqdc.56.3": { + "length": 3.1, + "s": 7475.778479 + }, + "ecloud.mqdc.56.4": { + "length": 3.1, + "s": 7582.681447 + }, + "ecloud.mqdc.56.5": { + "length": 3.1, + "s": 7689.584415 + }, + "ecloud.mqdc.56.6": { + "length": 3.1, + "s": 7796.487384 + }, + "ecloud.mqdc.56.7": { + "length": 3.1, + "s": 7903.390352 + }, + "ecloud.mqdc.56.8": { + "length": 3.1, + "s": 8010.29332 + }, + "ecloud.mqdc.56.9": { + "length": 3.1, + "s": 8117.196288 + }, + "ecloud.mqdc.67.0": { + "length": 3.1, + "s": 10540.52664 + }, + "ecloud.mqdc.67.1": { + "length": 3.1, + "s": 10647.42961 + }, + "ecloud.mqdc.67.10": { + "length": 3.1, + "s": 11609.55632 + }, + "ecloud.mqdc.67.11": { + "length": 3.1, + "s": 11716.45929 + }, + "ecloud.mqdc.67.12": { + "length": 3.1, + "s": 11823.36226 + }, + "ecloud.mqdc.67.13": { + "length": 3.1, + "s": 11930.26523 + }, + "ecloud.mqdc.67.14": { + "length": 3.1, + "s": 12037.1682 + }, + "ecloud.mqdc.67.15": { + "length": 3.1, + "s": 12144.07117 + }, + "ecloud.mqdc.67.16": { + "length": 3.1, + "s": 12250.97413 + }, + "ecloud.mqdc.67.17": { + "length": 3.1, + "s": 12357.8771 + }, + "ecloud.mqdc.67.18": { + "length": 3.1, + "s": 12464.78007 + }, + "ecloud.mqdc.67.19": { + "length": 3.1, + "s": 12571.68304 + }, + "ecloud.mqdc.67.2": { + "length": 3.1, + "s": 10754.33258 + }, + "ecloud.mqdc.67.20": { + "length": 3.1, + "s": 12678.58601 + }, + "ecloud.mqdc.67.21": { + "length": 3.1, + "s": 12785.48897 + }, + "ecloud.mqdc.67.3": { + "length": 3.1, + "s": 10861.23555 + }, + "ecloud.mqdc.67.4": { + "length": 3.1, + "s": 10968.13851 + }, + "ecloud.mqdc.67.5": { + "length": 3.1, + "s": 11075.04148 + }, + "ecloud.mqdc.67.6": { + "length": 3.1, + "s": 11181.94445 + }, + "ecloud.mqdc.67.7": { + "length": 3.1, + "s": 11288.84742 + }, + "ecloud.mqdc.67.8": { + "length": 3.1, + "s": 11395.75039 + }, + "ecloud.mqdc.67.9": { + "length": 3.1, + "s": 11502.65336 + }, + "ecloud.mqdc.78.0": { + "length": 3.1, + "s": 13819.94274 + }, + "ecloud.mqdc.78.1": { + "length": 3.1, + "s": 13926.84571 + }, + "ecloud.mqdc.78.10": { + "length": 3.1, + "s": 14888.97242 + }, + "ecloud.mqdc.78.11": { + "length": 3.1, + "s": 14995.87539 + }, + "ecloud.mqdc.78.12": { + "length": 3.1, + "s": 15102.77836 + }, + "ecloud.mqdc.78.13": { + "length": 3.1, + "s": 15209.68133 + }, + "ecloud.mqdc.78.14": { + "length": 3.1, + "s": 15316.5843 + }, + "ecloud.mqdc.78.15": { + "length": 3.1, + "s": 15423.48726 + }, + "ecloud.mqdc.78.16": { + "length": 3.1, + "s": 15530.39023 + }, + "ecloud.mqdc.78.17": { + "length": 3.1, + "s": 15637.2932 + }, + "ecloud.mqdc.78.18": { + "length": 3.1, + "s": 15744.19617 + }, + "ecloud.mqdc.78.19": { + "length": 3.1, + "s": 15851.09914 + }, + "ecloud.mqdc.78.2": { + "length": 3.1, + "s": 14033.74868 + }, + "ecloud.mqdc.78.20": { + "length": 3.1, + "s": 15958.00211 + }, + "ecloud.mqdc.78.21": { + "length": 3.1, + "s": 16064.90507 + }, + "ecloud.mqdc.78.22": { + "length": 3.1, + "s": 16171.80804 + }, + "ecloud.mqdc.78.3": { + "length": 3.1, + "s": 14140.65165 + }, + "ecloud.mqdc.78.4": { + "length": 3.1, + "s": 14247.55461 + }, + "ecloud.mqdc.78.5": { + "length": 3.1, + "s": 14354.45758 + }, + "ecloud.mqdc.78.6": { + "length": 3.1, + "s": 14461.36055 + }, + "ecloud.mqdc.78.7": { + "length": 3.1, + "s": 14568.26352 + }, + "ecloud.mqdc.78.8": { + "length": 3.1, + "s": 14675.16649 + }, + "ecloud.mqdc.78.9": { + "length": 3.1, + "s": 14782.06946 + }, + "ecloud.mqdc.81.0": { + "length": 3.1, + "s": 17205.38596 + }, + "ecloud.mqdc.81.1": { + "length": 3.1, + "s": 17312.28299 + }, + "ecloud.mqdc.81.10": { + "length": 3.1, + "s": 18274.35628 + }, + "ecloud.mqdc.81.11": { + "length": 3.1, + "s": 18381.25331 + }, + "ecloud.mqdc.81.12": { + "length": 3.1, + "s": 18488.15034 + }, + "ecloud.mqdc.81.13": { + "length": 3.1, + "s": 18595.04737 + }, + "ecloud.mqdc.81.14": { + "length": 3.1, + "s": 18701.9444 + }, + "ecloud.mqdc.81.15": { + "length": 3.1, + "s": 18808.84143 + }, + "ecloud.mqdc.81.16": { + "length": 3.1, + "s": 18915.73847 + }, + "ecloud.mqdc.81.17": { + "length": 3.1, + "s": 19022.6355 + }, + "ecloud.mqdc.81.18": { + "length": 3.1, + "s": 19129.53253 + }, + "ecloud.mqdc.81.19": { + "length": 3.1, + "s": 19236.42956 + }, + "ecloud.mqdc.81.2": { + "length": 3.1, + "s": 17419.18002 + }, + "ecloud.mqdc.81.20": { + "length": 3.1, + "s": 19343.32659 + }, + "ecloud.mqdc.81.21": { + "length": 3.1, + "s": 19450.22363 + }, + "ecloud.mqdc.81.3": { + "length": 3.1, + "s": 17526.07705 + }, + "ecloud.mqdc.81.4": { + "length": 3.1, + "s": 17632.97409 + }, + "ecloud.mqdc.81.5": { + "length": 3.1, + "s": 17739.87112 + }, + "ecloud.mqdc.81.6": { + "length": 3.1, + "s": 17846.76815 + }, + "ecloud.mqdc.81.7": { + "length": 3.1, + "s": 17953.66518 + }, + "ecloud.mqdc.81.8": { + "length": 3.1, + "s": 18060.56221 + }, + "ecloud.mqdc.81.9": { + "length": 3.1, + "s": 18167.45924 + } + }, + "mqf": { + "ecloud.mqf.12.0": { + "length": 3.1, + "s": 20538.11503 + }, + "ecloud.mqf.12.1": { + "length": 3.1, + "s": 20645.01799 + }, + "ecloud.mqf.12.10": { + "length": 3.1, + "s": 21607.14471 + }, + "ecloud.mqf.12.11": { + "length": 3.1, + "s": 21714.04768 + }, + "ecloud.mqf.12.12": { + "length": 3.1, + "s": 21820.95064 + }, + "ecloud.mqf.12.13": { + "length": 3.1, + "s": 21927.85361 + }, + "ecloud.mqf.12.14": { + "length": 3.1, + "s": 22034.75658 + }, + "ecloud.mqf.12.15": { + "length": 3.1, + "s": 22141.65955 + }, + "ecloud.mqf.12.16": { + "length": 3.1, + "s": 22248.56252 + }, + "ecloud.mqf.12.17": { + "length": 3.1, + "s": 22355.46549 + }, + "ecloud.mqf.12.18": { + "length": 3.1, + "s": 22462.36845 + }, + "ecloud.mqf.12.19": { + "length": 3.1, + "s": 22569.27142 + }, + "ecloud.mqf.12.2": { + "length": 3.1, + "s": 20751.92096 + }, + "ecloud.mqf.12.20": { + "length": 3.1, + "s": 22676.17439 + }, + "ecloud.mqf.12.21": { + "length": 3.1, + "s": 22783.07736 + }, + "ecloud.mqf.12.3": { + "length": 3.1, + "s": 20858.82393 + }, + "ecloud.mqf.12.4": { + "length": 3.1, + "s": 20965.7269 + }, + "ecloud.mqf.12.5": { + "length": 3.1, + "s": 21072.62987 + }, + "ecloud.mqf.12.6": { + "length": 3.1, + "s": 21179.53283 + }, + "ecloud.mqf.12.7": { + "length": 3.1, + "s": 21286.4358 + }, + "ecloud.mqf.12.8": { + "length": 3.1, + "s": 21393.33877 + }, + "ecloud.mqf.12.9": { + "length": 3.1, + "s": 21500.24174 + }, + "ecloud.mqf.23.0": { + "length": 3.1, + "s": 23816.65824 + }, + "ecloud.mqf.23.1": { + "length": 3.1, + "s": 23923.55527 + }, + "ecloud.mqf.23.10": { + "length": 3.1, + "s": 24885.62856 + }, + "ecloud.mqf.23.11": { + "length": 3.1, + "s": 24992.52559 + }, + "ecloud.mqf.23.12": { + "length": 3.1, + "s": 25099.42262 + }, + "ecloud.mqf.23.13": { + "length": 3.1, + "s": 25206.31966 + }, + "ecloud.mqf.23.14": { + "length": 3.1, + "s": 25313.21669 + }, + "ecloud.mqf.23.15": { + "length": 3.1, + "s": 25420.11372 + }, + "ecloud.mqf.23.16": { + "length": 3.1, + "s": 25527.01075 + }, + "ecloud.mqf.23.17": { + "length": 3.1, + "s": 25633.90778 + }, + "ecloud.mqf.23.18": { + "length": 3.1, + "s": 25740.80481 + }, + "ecloud.mqf.23.19": { + "length": 3.1, + "s": 25847.70185 + }, + "ecloud.mqf.23.2": { + "length": 3.1, + "s": 24030.45231 + }, + "ecloud.mqf.23.20": { + "length": 3.1, + "s": 25954.59888 + }, + "ecloud.mqf.23.21": { + "length": 3.1, + "s": 26061.49591 + }, + "ecloud.mqf.23.22": { + "length": 3.1, + "s": 26168.39294 + }, + "ecloud.mqf.23.3": { + "length": 3.1, + "s": 24137.34934 + }, + "ecloud.mqf.23.4": { + "length": 3.1, + "s": 24244.24637 + }, + "ecloud.mqf.23.5": { + "length": 3.1, + "s": 24351.1434 + }, + "ecloud.mqf.23.6": { + "length": 3.1, + "s": 24458.04043 + }, + "ecloud.mqf.23.7": { + "length": 3.1, + "s": 24564.93746 + }, + "ecloud.mqf.23.8": { + "length": 3.1, + "s": 24671.8345 + }, + "ecloud.mqf.23.9": { + "length": 3.1, + "s": 24778.73153 + }, + "ecloud.mqf.34.0": { + "length": 3.1, + "s": 543.9387742 + }, + "ecloud.mqf.34.1": { + "length": 3.1, + "s": 650.835806 + }, + "ecloud.mqf.34.10": { + "length": 3.1, + "s": 1612.909092 + }, + "ecloud.mqf.34.11": { + "length": 3.1, + "s": 1719.806124 + }, + "ecloud.mqf.34.12": { + "length": 3.1, + "s": 1826.703156 + }, + "ecloud.mqf.34.13": { + "length": 3.1, + "s": 1933.600188 + }, + "ecloud.mqf.34.14": { + "length": 3.1, + "s": 2040.49722 + }, + "ecloud.mqf.34.15": { + "length": 3.1, + "s": 2147.394251 + }, + "ecloud.mqf.34.16": { + "length": 3.1, + "s": 2254.291283 + }, + "ecloud.mqf.34.17": { + "length": 3.1, + "s": 2361.188315 + }, + "ecloud.mqf.34.18": { + "length": 3.1, + "s": 2468.085347 + }, + "ecloud.mqf.34.19": { + "length": 3.1, + "s": 2574.982379 + }, + "ecloud.mqf.34.2": { + "length": 3.1, + "s": 757.7328378 + }, + "ecloud.mqf.34.20": { + "length": 3.1, + "s": 2681.87941 + }, + "ecloud.mqf.34.21": { + "length": 3.1, + "s": 2788.776442 + }, + "ecloud.mqf.34.3": { + "length": 3.1, + "s": 864.6298696 + }, + "ecloud.mqf.34.4": { + "length": 3.1, + "s": 971.5269014 + }, + "ecloud.mqf.34.5": { + "length": 3.1, + "s": 1078.423933 + }, + "ecloud.mqf.34.6": { + "length": 3.1, + "s": 1185.320965 + }, + "ecloud.mqf.34.7": { + "length": 3.1, + "s": 1292.217997 + }, + "ecloud.mqf.34.8": { + "length": 3.1, + "s": 1399.115029 + }, + "ecloud.mqf.34.9": { + "length": 3.1, + "s": 1506.01206 + }, + "ecloud.mqf.45.0": { + "length": 3.1, + "s": 3822.343475 + }, + "ecloud.mqf.45.1": { + "length": 3.1, + "s": 3929.240506 + }, + "ecloud.mqf.45.10": { + "length": 3.1, + "s": 4891.313793 + }, + "ecloud.mqf.45.11": { + "length": 3.1, + "s": 4998.210825 + }, + "ecloud.mqf.45.12": { + "length": 3.1, + "s": 5105.107856 + }, + "ecloud.mqf.45.13": { + "length": 3.1, + "s": 5212.004888 + }, + "ecloud.mqf.45.14": { + "length": 3.1, + "s": 5318.90192 + }, + "ecloud.mqf.45.15": { + "length": 3.1, + "s": 5425.798952 + }, + "ecloud.mqf.45.16": { + "length": 3.1, + "s": 5532.695984 + }, + "ecloud.mqf.45.17": { + "length": 3.1, + "s": 5639.593015 + }, + "ecloud.mqf.45.18": { + "length": 3.1, + "s": 5746.490047 + }, + "ecloud.mqf.45.19": { + "length": 3.1, + "s": 5853.387079 + }, + "ecloud.mqf.45.2": { + "length": 3.1, + "s": 4036.137538 + }, + "ecloud.mqf.45.20": { + "length": 3.1, + "s": 5960.284111 + }, + "ecloud.mqf.45.21": { + "length": 3.1, + "s": 6067.181143 + }, + "ecloud.mqf.45.22": { + "length": 3.1, + "s": 6174.078174 + }, + "ecloud.mqf.45.3": { + "length": 3.1, + "s": 4143.03457 + }, + "ecloud.mqf.45.4": { + "length": 3.1, + "s": 4249.931602 + }, + "ecloud.mqf.45.5": { + "length": 3.1, + "s": 4356.828634 + }, + "ecloud.mqf.45.6": { + "length": 3.1, + "s": 4463.725666 + }, + "ecloud.mqf.45.7": { + "length": 3.1, + "s": 4570.622697 + }, + "ecloud.mqf.45.8": { + "length": 3.1, + "s": 4677.519729 + }, + "ecloud.mqf.45.9": { + "length": 3.1, + "s": 4784.416761 + }, + "ecloud.mqf.56.0": { + "length": 3.1, + "s": 7208.521059 + }, + "ecloud.mqf.56.1": { + "length": 3.1, + "s": 7315.424027 + }, + "ecloud.mqf.56.10": { + "length": 3.1, + "s": 8277.55074 + }, + "ecloud.mqf.56.11": { + "length": 3.1, + "s": 8384.453709 + }, + "ecloud.mqf.56.12": { + "length": 3.1, + "s": 8491.356677 + }, + "ecloud.mqf.56.13": { + "length": 3.1, + "s": 8598.259645 + }, + "ecloud.mqf.56.14": { + "length": 3.1, + "s": 8705.162613 + }, + "ecloud.mqf.56.15": { + "length": 3.1, + "s": 8812.065581 + }, + "ecloud.mqf.56.16": { + "length": 3.1, + "s": 8918.96855 + }, + "ecloud.mqf.56.17": { + "length": 3.1, + "s": 9025.871518 + }, + "ecloud.mqf.56.18": { + "length": 3.1, + "s": 9132.774486 + }, + "ecloud.mqf.56.19": { + "length": 3.1, + "s": 9239.677454 + }, + "ecloud.mqf.56.2": { + "length": 3.1, + "s": 7422.326995 + }, + "ecloud.mqf.56.20": { + "length": 3.1, + "s": 9346.580422 + }, + "ecloud.mqf.56.21": { + "length": 3.1, + "s": 9453.483391 + }, + "ecloud.mqf.56.3": { + "length": 3.1, + "s": 7529.229963 + }, + "ecloud.mqf.56.4": { + "length": 3.1, + "s": 7636.132931 + }, + "ecloud.mqf.56.5": { + "length": 3.1, + "s": 7743.0359 + }, + "ecloud.mqf.56.6": { + "length": 3.1, + "s": 7849.938868 + }, + "ecloud.mqf.56.7": { + "length": 3.1, + "s": 7956.841836 + }, + "ecloud.mqf.56.8": { + "length": 3.1, + "s": 8063.744804 + }, + "ecloud.mqf.56.9": { + "length": 3.1, + "s": 8170.647772 + }, + "ecloud.mqf.67.0": { + "length": 3.1, + "s": 10487.07516 + }, + "ecloud.mqf.67.1": { + "length": 3.1, + "s": 10593.97813 + }, + "ecloud.mqf.67.10": { + "length": 3.1, + "s": 11556.10484 + }, + "ecloud.mqf.67.11": { + "length": 3.1, + "s": 11663.00781 + }, + "ecloud.mqf.67.12": { + "length": 3.1, + "s": 11769.91078 + }, + "ecloud.mqf.67.13": { + "length": 3.1, + "s": 11876.81374 + }, + "ecloud.mqf.67.14": { + "length": 3.1, + "s": 11983.71671 + }, + "ecloud.mqf.67.15": { + "length": 3.1, + "s": 12090.61968 + }, + "ecloud.mqf.67.16": { + "length": 3.1, + "s": 12197.52265 + }, + "ecloud.mqf.67.17": { + "length": 3.1, + "s": 12304.42562 + }, + "ecloud.mqf.67.18": { + "length": 3.1, + "s": 12411.32859 + }, + "ecloud.mqf.67.19": { + "length": 3.1, + "s": 12518.23155 + }, + "ecloud.mqf.67.2": { + "length": 3.1, + "s": 10700.88109 + }, + "ecloud.mqf.67.20": { + "length": 3.1, + "s": 12625.13452 + }, + "ecloud.mqf.67.21": { + "length": 3.1, + "s": 12732.03749 + }, + "ecloud.mqf.67.22": { + "length": 3.1, + "s": 12838.94046 + }, + "ecloud.mqf.67.3": { + "length": 3.1, + "s": 10807.78406 + }, + "ecloud.mqf.67.4": { + "length": 3.1, + "s": 10914.68703 + }, + "ecloud.mqf.67.5": { + "length": 3.1, + "s": 11021.59 + }, + "ecloud.mqf.67.6": { + "length": 3.1, + "s": 11128.49297 + }, + "ecloud.mqf.67.7": { + "length": 3.1, + "s": 11235.39594 + }, + "ecloud.mqf.67.8": { + "length": 3.1, + "s": 11342.2989 + }, + "ecloud.mqf.67.9": { + "length": 3.1, + "s": 11449.20187 + }, + "ecloud.mqf.78.0": { + "length": 3.1, + "s": 13873.39423 + }, + "ecloud.mqf.78.1": { + "length": 3.1, + "s": 13980.29719 + }, + "ecloud.mqf.78.10": { + "length": 3.1, + "s": 14942.42391 + }, + "ecloud.mqf.78.11": { + "length": 3.1, + "s": 15049.32688 + }, + "ecloud.mqf.78.12": { + "length": 3.1, + "s": 15156.22984 + }, + "ecloud.mqf.78.13": { + "length": 3.1, + "s": 15263.13281 + }, + "ecloud.mqf.78.14": { + "length": 3.1, + "s": 15370.03578 + }, + "ecloud.mqf.78.15": { + "length": 3.1, + "s": 15476.93875 + }, + "ecloud.mqf.78.16": { + "length": 3.1, + "s": 15583.84172 + }, + "ecloud.mqf.78.17": { + "length": 3.1, + "s": 15690.74469 + }, + "ecloud.mqf.78.18": { + "length": 3.1, + "s": 15797.64765 + }, + "ecloud.mqf.78.19": { + "length": 3.1, + "s": 15904.55062 + }, + "ecloud.mqf.78.2": { + "length": 3.1, + "s": 14087.20016 + }, + "ecloud.mqf.78.20": { + "length": 3.1, + "s": 16011.45359 + }, + "ecloud.mqf.78.21": { + "length": 3.1, + "s": 16118.35656 + }, + "ecloud.mqf.78.3": { + "length": 3.1, + "s": 14194.10313 + }, + "ecloud.mqf.78.4": { + "length": 3.1, + "s": 14301.0061 + }, + "ecloud.mqf.78.5": { + "length": 3.1, + "s": 14407.90907 + }, + "ecloud.mqf.78.6": { + "length": 3.1, + "s": 14514.81203 + }, + "ecloud.mqf.78.7": { + "length": 3.1, + "s": 14621.715 + }, + "ecloud.mqf.78.8": { + "length": 3.1, + "s": 14728.61797 + }, + "ecloud.mqf.78.9": { + "length": 3.1, + "s": 14835.52094 + }, + "ecloud.mqf.81.0": { + "length": 3.1, + "s": 17151.93744 + }, + "ecloud.mqf.81.1": { + "length": 3.1, + "s": 17258.83447 + }, + "ecloud.mqf.81.10": { + "length": 3.1, + "s": 18220.90776 + }, + "ecloud.mqf.81.11": { + "length": 3.1, + "s": 18327.80479 + }, + "ecloud.mqf.81.12": { + "length": 3.1, + "s": 18434.70182 + }, + "ecloud.mqf.81.13": { + "length": 3.1, + "s": 18541.59886 + }, + "ecloud.mqf.81.14": { + "length": 3.1, + "s": 18648.49589 + }, + "ecloud.mqf.81.15": { + "length": 3.1, + "s": 18755.39292 + }, + "ecloud.mqf.81.16": { + "length": 3.1, + "s": 18862.28995 + }, + "ecloud.mqf.81.17": { + "length": 3.1, + "s": 18969.18698 + }, + "ecloud.mqf.81.18": { + "length": 3.1, + "s": 19076.08401 + }, + "ecloud.mqf.81.19": { + "length": 3.1, + "s": 19182.98105 + }, + "ecloud.mqf.81.2": { + "length": 3.1, + "s": 17365.73151 + }, + "ecloud.mqf.81.20": { + "length": 3.1, + "s": 19289.87808 + }, + "ecloud.mqf.81.21": { + "length": 3.1, + "s": 19396.77511 + }, + "ecloud.mqf.81.22": { + "length": 3.1, + "s": 19503.67214 + }, + "ecloud.mqf.81.3": { + "length": 3.1, + "s": 17472.62854 + }, + "ecloud.mqf.81.4": { + "length": 3.1, + "s": 17579.52557 + }, + "ecloud.mqf.81.5": { + "length": 3.1, + "s": 17686.4226 + }, + "ecloud.mqf.81.6": { + "length": 3.1, + "s": 17793.31963 + }, + "ecloud.mqf.81.7": { + "length": 3.1, + "s": 17900.21666 + }, + "ecloud.mqf.81.8": { + "length": 3.1, + "s": 18007.1137 + }, + "ecloud.mqf.81.9": { + "length": 3.1, + "s": 18114.01073 + } + }, + "mqfc": { + "ecloud.mqfc.12.0": { + "length": 3.1, + "s": 20538.11503 + }, + "ecloud.mqfc.12.1": { + "length": 3.1, + "s": 20645.01799 + }, + "ecloud.mqfc.12.10": { + "length": 3.1, + "s": 21607.14471 + }, + "ecloud.mqfc.12.11": { + "length": 3.1, + "s": 21714.04768 + }, + "ecloud.mqfc.12.12": { + "length": 3.1, + "s": 21820.95064 + }, + "ecloud.mqfc.12.13": { + "length": 3.1, + "s": 21927.85361 + }, + "ecloud.mqfc.12.14": { + "length": 3.1, + "s": 22034.75658 + }, + "ecloud.mqfc.12.15": { + "length": 3.1, + "s": 22141.65955 + }, + "ecloud.mqfc.12.16": { + "length": 3.1, + "s": 22248.56252 + }, + "ecloud.mqfc.12.17": { + "length": 3.1, + "s": 22355.46549 + }, + "ecloud.mqfc.12.18": { + "length": 3.1, + "s": 22462.36845 + }, + "ecloud.mqfc.12.19": { + "length": 3.1, + "s": 22569.27142 + }, + "ecloud.mqfc.12.2": { + "length": 3.1, + "s": 20751.92096 + }, + "ecloud.mqfc.12.20": { + "length": 3.1, + "s": 22676.17439 + }, + "ecloud.mqfc.12.21": { + "length": 3.1, + "s": 22783.07736 + }, + "ecloud.mqfc.12.3": { + "length": 3.1, + "s": 20858.82393 + }, + "ecloud.mqfc.12.4": { + "length": 3.1, + "s": 20965.7269 + }, + "ecloud.mqfc.12.5": { + "length": 3.1, + "s": 21072.62987 + }, + "ecloud.mqfc.12.6": { + "length": 3.1, + "s": 21179.53283 + }, + "ecloud.mqfc.12.7": { + "length": 3.1, + "s": 21286.4358 + }, + "ecloud.mqfc.12.8": { + "length": 3.1, + "s": 21393.33877 + }, + "ecloud.mqfc.12.9": { + "length": 3.1, + "s": 21500.24174 + }, + "ecloud.mqfc.23.0": { + "length": 3.1, + "s": 23816.65824 + }, + "ecloud.mqfc.23.1": { + "length": 3.1, + "s": 23923.55527 + }, + "ecloud.mqfc.23.10": { + "length": 3.1, + "s": 24885.62856 + }, + "ecloud.mqfc.23.11": { + "length": 3.1, + "s": 24992.52559 + }, + "ecloud.mqfc.23.12": { + "length": 3.1, + "s": 25099.42262 + }, + "ecloud.mqfc.23.13": { + "length": 3.1, + "s": 25206.31966 + }, + "ecloud.mqfc.23.14": { + "length": 3.1, + "s": 25313.21669 + }, + "ecloud.mqfc.23.15": { + "length": 3.1, + "s": 25420.11372 + }, + "ecloud.mqfc.23.16": { + "length": 3.1, + "s": 25527.01075 + }, + "ecloud.mqfc.23.17": { + "length": 3.1, + "s": 25633.90778 + }, + "ecloud.mqfc.23.18": { + "length": 3.1, + "s": 25740.80481 + }, + "ecloud.mqfc.23.19": { + "length": 3.1, + "s": 25847.70185 + }, + "ecloud.mqfc.23.2": { + "length": 3.1, + "s": 24030.45231 + }, + "ecloud.mqfc.23.20": { + "length": 3.1, + "s": 25954.59888 + }, + "ecloud.mqfc.23.21": { + "length": 3.1, + "s": 26061.49591 + }, + "ecloud.mqfc.23.22": { + "length": 3.1, + "s": 26168.39294 + }, + "ecloud.mqfc.23.3": { + "length": 3.1, + "s": 24137.34934 + }, + "ecloud.mqfc.23.4": { + "length": 3.1, + "s": 24244.24637 + }, + "ecloud.mqfc.23.5": { + "length": 3.1, + "s": 24351.1434 + }, + "ecloud.mqfc.23.6": { + "length": 3.1, + "s": 24458.04043 + }, + "ecloud.mqfc.23.7": { + "length": 3.1, + "s": 24564.93746 + }, + "ecloud.mqfc.23.8": { + "length": 3.1, + "s": 24671.8345 + }, + "ecloud.mqfc.23.9": { + "length": 3.1, + "s": 24778.73153 + }, + "ecloud.mqfc.34.0": { + "length": 3.1, + "s": 543.9387742 + }, + "ecloud.mqfc.34.1": { + "length": 3.1, + "s": 650.835806 + }, + "ecloud.mqfc.34.10": { + "length": 3.1, + "s": 1612.909092 + }, + "ecloud.mqfc.34.11": { + "length": 3.1, + "s": 1719.806124 + }, + "ecloud.mqfc.34.12": { + "length": 3.1, + "s": 1826.703156 + }, + "ecloud.mqfc.34.13": { + "length": 3.1, + "s": 1933.600188 + }, + "ecloud.mqfc.34.14": { + "length": 3.1, + "s": 2040.49722 + }, + "ecloud.mqfc.34.15": { + "length": 3.1, + "s": 2147.394251 + }, + "ecloud.mqfc.34.16": { + "length": 3.1, + "s": 2254.291283 + }, + "ecloud.mqfc.34.17": { + "length": 3.1, + "s": 2361.188315 + }, + "ecloud.mqfc.34.18": { + "length": 3.1, + "s": 2468.085347 + }, + "ecloud.mqfc.34.19": { + "length": 3.1, + "s": 2574.982379 + }, + "ecloud.mqfc.34.2": { + "length": 3.1, + "s": 757.7328378 + }, + "ecloud.mqfc.34.20": { + "length": 3.1, + "s": 2681.87941 + }, + "ecloud.mqfc.34.21": { + "length": 3.1, + "s": 2788.776442 + }, + "ecloud.mqfc.34.3": { + "length": 3.1, + "s": 864.6298696 + }, + "ecloud.mqfc.34.4": { + "length": 3.1, + "s": 971.5269014 + }, + "ecloud.mqfc.34.5": { + "length": 3.1, + "s": 1078.423933 + }, + "ecloud.mqfc.34.6": { + "length": 3.1, + "s": 1185.320965 + }, + "ecloud.mqfc.34.7": { + "length": 3.1, + "s": 1292.217997 + }, + "ecloud.mqfc.34.8": { + "length": 3.1, + "s": 1399.115029 + }, + "ecloud.mqfc.34.9": { + "length": 3.1, + "s": 1506.01206 + }, + "ecloud.mqfc.45.0": { + "length": 3.1, + "s": 3822.343475 + }, + "ecloud.mqfc.45.1": { + "length": 3.1, + "s": 3929.240506 + }, + "ecloud.mqfc.45.10": { + "length": 3.1, + "s": 4891.313793 + }, + "ecloud.mqfc.45.11": { + "length": 3.1, + "s": 4998.210825 + }, + "ecloud.mqfc.45.12": { + "length": 3.1, + "s": 5105.107856 + }, + "ecloud.mqfc.45.13": { + "length": 3.1, + "s": 5212.004888 + }, + "ecloud.mqfc.45.14": { + "length": 3.1, + "s": 5318.90192 + }, + "ecloud.mqfc.45.15": { + "length": 3.1, + "s": 5425.798952 + }, + "ecloud.mqfc.45.16": { + "length": 3.1, + "s": 5532.695984 + }, + "ecloud.mqfc.45.17": { + "length": 3.1, + "s": 5639.593015 + }, + "ecloud.mqfc.45.18": { + "length": 3.1, + "s": 5746.490047 + }, + "ecloud.mqfc.45.19": { + "length": 3.1, + "s": 5853.387079 + }, + "ecloud.mqfc.45.2": { + "length": 3.1, + "s": 4036.137538 + }, + "ecloud.mqfc.45.20": { + "length": 3.1, + "s": 5960.284111 + }, + "ecloud.mqfc.45.21": { + "length": 3.1, + "s": 6067.181143 + }, + "ecloud.mqfc.45.22": { + "length": 3.1, + "s": 6174.078174 + }, + "ecloud.mqfc.45.3": { + "length": 3.1, + "s": 4143.03457 + }, + "ecloud.mqfc.45.4": { + "length": 3.1, + "s": 4249.931602 + }, + "ecloud.mqfc.45.5": { + "length": 3.1, + "s": 4356.828634 + }, + "ecloud.mqfc.45.6": { + "length": 3.1, + "s": 4463.725666 + }, + "ecloud.mqfc.45.7": { + "length": 3.1, + "s": 4570.622697 + }, + "ecloud.mqfc.45.8": { + "length": 3.1, + "s": 4677.519729 + }, + "ecloud.mqfc.45.9": { + "length": 3.1, + "s": 4784.416761 + }, + "ecloud.mqfc.56.0": { + "length": 3.1, + "s": 7208.521059 + }, + "ecloud.mqfc.56.1": { + "length": 3.1, + "s": 7315.424027 + }, + "ecloud.mqfc.56.10": { + "length": 3.1, + "s": 8277.55074 + }, + "ecloud.mqfc.56.11": { + "length": 3.1, + "s": 8384.453709 + }, + "ecloud.mqfc.56.12": { + "length": 3.1, + "s": 8491.356677 + }, + "ecloud.mqfc.56.13": { + "length": 3.1, + "s": 8598.259645 + }, + "ecloud.mqfc.56.14": { + "length": 3.1, + "s": 8705.162613 + }, + "ecloud.mqfc.56.15": { + "length": 3.1, + "s": 8812.065581 + }, + "ecloud.mqfc.56.16": { + "length": 3.1, + "s": 8918.96855 + }, + "ecloud.mqfc.56.17": { + "length": 3.1, + "s": 9025.871518 + }, + "ecloud.mqfc.56.18": { + "length": 3.1, + "s": 9132.774486 + }, + "ecloud.mqfc.56.19": { + "length": 3.1, + "s": 9239.677454 + }, + "ecloud.mqfc.56.2": { + "length": 3.1, + "s": 7422.326995 + }, + "ecloud.mqfc.56.20": { + "length": 3.1, + "s": 9346.580422 + }, + "ecloud.mqfc.56.21": { + "length": 3.1, + "s": 9453.483391 + }, + "ecloud.mqfc.56.3": { + "length": 3.1, + "s": 7529.229963 + }, + "ecloud.mqfc.56.4": { + "length": 3.1, + "s": 7636.132931 + }, + "ecloud.mqfc.56.5": { + "length": 3.1, + "s": 7743.0359 + }, + "ecloud.mqfc.56.6": { + "length": 3.1, + "s": 7849.938868 + }, + "ecloud.mqfc.56.7": { + "length": 3.1, + "s": 7956.841836 + }, + "ecloud.mqfc.56.8": { + "length": 3.1, + "s": 8063.744804 + }, + "ecloud.mqfc.56.9": { + "length": 3.1, + "s": 8170.647772 + }, + "ecloud.mqfc.67.0": { + "length": 3.1, + "s": 10487.07516 + }, + "ecloud.mqfc.67.1": { + "length": 3.1, + "s": 10593.97813 + }, + "ecloud.mqfc.67.10": { + "length": 3.1, + "s": 11556.10484 + }, + "ecloud.mqfc.67.11": { + "length": 3.1, + "s": 11663.00781 + }, + "ecloud.mqfc.67.12": { + "length": 3.1, + "s": 11769.91078 + }, + "ecloud.mqfc.67.13": { + "length": 3.1, + "s": 11876.81374 + }, + "ecloud.mqfc.67.14": { + "length": 3.1, + "s": 11983.71671 + }, + "ecloud.mqfc.67.15": { + "length": 3.1, + "s": 12090.61968 + }, + "ecloud.mqfc.67.16": { + "length": 3.1, + "s": 12197.52265 + }, + "ecloud.mqfc.67.17": { + "length": 3.1, + "s": 12304.42562 + }, + "ecloud.mqfc.67.18": { + "length": 3.1, + "s": 12411.32859 + }, + "ecloud.mqfc.67.19": { + "length": 3.1, + "s": 12518.23155 + }, + "ecloud.mqfc.67.2": { + "length": 3.1, + "s": 10700.88109 + }, + "ecloud.mqfc.67.20": { + "length": 3.1, + "s": 12625.13452 + }, + "ecloud.mqfc.67.21": { + "length": 3.1, + "s": 12732.03749 + }, + "ecloud.mqfc.67.22": { + "length": 3.1, + "s": 12838.94046 + }, + "ecloud.mqfc.67.3": { + "length": 3.1, + "s": 10807.78406 + }, + "ecloud.mqfc.67.4": { + "length": 3.1, + "s": 10914.68703 + }, + "ecloud.mqfc.67.5": { + "length": 3.1, + "s": 11021.59 + }, + "ecloud.mqfc.67.6": { + "length": 3.1, + "s": 11128.49297 + }, + "ecloud.mqfc.67.7": { + "length": 3.1, + "s": 11235.39594 + }, + "ecloud.mqfc.67.8": { + "length": 3.1, + "s": 11342.2989 + }, + "ecloud.mqfc.67.9": { + "length": 3.1, + "s": 11449.20187 + }, + "ecloud.mqfc.78.0": { + "length": 3.1, + "s": 13873.39423 + }, + "ecloud.mqfc.78.1": { + "length": 3.1, + "s": 13980.29719 + }, + "ecloud.mqfc.78.10": { + "length": 3.1, + "s": 14942.42391 + }, + "ecloud.mqfc.78.11": { + "length": 3.1, + "s": 15049.32688 + }, + "ecloud.mqfc.78.12": { + "length": 3.1, + "s": 15156.22984 + }, + "ecloud.mqfc.78.13": { + "length": 3.1, + "s": 15263.13281 + }, + "ecloud.mqfc.78.14": { + "length": 3.1, + "s": 15370.03578 + }, + "ecloud.mqfc.78.15": { + "length": 3.1, + "s": 15476.93875 + }, + "ecloud.mqfc.78.16": { + "length": 3.1, + "s": 15583.84172 + }, + "ecloud.mqfc.78.17": { + "length": 3.1, + "s": 15690.74469 + }, + "ecloud.mqfc.78.18": { + "length": 3.1, + "s": 15797.64765 + }, + "ecloud.mqfc.78.19": { + "length": 3.1, + "s": 15904.55062 + }, + "ecloud.mqfc.78.2": { + "length": 3.1, + "s": 14087.20016 + }, + "ecloud.mqfc.78.20": { + "length": 3.1, + "s": 16011.45359 + }, + "ecloud.mqfc.78.21": { + "length": 3.1, + "s": 16118.35656 + }, + "ecloud.mqfc.78.3": { + "length": 3.1, + "s": 14194.10313 + }, + "ecloud.mqfc.78.4": { + "length": 3.1, + "s": 14301.0061 + }, + "ecloud.mqfc.78.5": { + "length": 3.1, + "s": 14407.90907 + }, + "ecloud.mqfc.78.6": { + "length": 3.1, + "s": 14514.81203 + }, + "ecloud.mqfc.78.7": { + "length": 3.1, + "s": 14621.715 + }, + "ecloud.mqfc.78.8": { + "length": 3.1, + "s": 14728.61797 + }, + "ecloud.mqfc.78.9": { + "length": 3.1, + "s": 14835.52094 + }, + "ecloud.mqfc.81.0": { + "length": 3.1, + "s": 17151.93744 + }, + "ecloud.mqfc.81.1": { + "length": 3.1, + "s": 17258.83447 + }, + "ecloud.mqfc.81.10": { + "length": 3.1, + "s": 18220.90776 + }, + "ecloud.mqfc.81.11": { + "length": 3.1, + "s": 18327.80479 + }, + "ecloud.mqfc.81.12": { + "length": 3.1, + "s": 18434.70182 + }, + "ecloud.mqfc.81.13": { + "length": 3.1, + "s": 18541.59886 + }, + "ecloud.mqfc.81.14": { + "length": 3.1, + "s": 18648.49589 + }, + "ecloud.mqfc.81.15": { + "length": 3.1, + "s": 18755.39292 + }, + "ecloud.mqfc.81.16": { + "length": 3.1, + "s": 18862.28995 + }, + "ecloud.mqfc.81.17": { + "length": 3.1, + "s": 18969.18698 + }, + "ecloud.mqfc.81.18": { + "length": 3.1, + "s": 19076.08401 + }, + "ecloud.mqfc.81.19": { + "length": 3.1, + "s": 19182.98105 + }, + "ecloud.mqfc.81.2": { + "length": 3.1, + "s": 17365.73151 + }, + "ecloud.mqfc.81.20": { + "length": 3.1, + "s": 19289.87808 + }, + "ecloud.mqfc.81.21": { + "length": 3.1, + "s": 19396.77511 + }, + "ecloud.mqfc.81.22": { + "length": 3.1, + "s": 19503.67214 + }, + "ecloud.mqfc.81.3": { + "length": 3.1, + "s": 17472.62854 + }, + "ecloud.mqfc.81.4": { + "length": 3.1, + "s": 17579.52557 + }, + "ecloud.mqfc.81.5": { + "length": 3.1, + "s": 17686.4226 + }, + "ecloud.mqfc.81.6": { + "length": 3.1, + "s": 17793.31963 + }, + "ecloud.mqfc.81.7": { + "length": 3.1, + "s": 17900.21666 + }, + "ecloud.mqfc.81.8": { + "length": 3.1, + "s": 18007.1137 + }, + "ecloud.mqfc.81.9": { + "length": 3.1, + "s": 18114.01073 + } + } +} \ No newline at end of file diff --git a/test_data/pyecloud_pinch/refined_Pinch_MTI1.0_MLI1.0_DTO2.0_DLO1.0.h5 b/test_data/pyecloud_pinch/refined_Pinch_MTI1.0_MLI1.0_DTO2.0_DLO1.0.h5 new file mode 100644 index 00000000..a208b9f6 Binary files /dev/null and b/test_data/pyecloud_pinch/refined_Pinch_MTI1.0_MLI1.0_DTO2.0_DLO1.0.h5 differ diff --git a/tests/test_electroncloud.py b/tests/test_electroncloud.py index 0dbd79c7..389843bb 100644 --- a/tests/test_electroncloud.py +++ b/tests/test_electroncloud.py @@ -4,13 +4,20 @@ # ########################################### # import numpy as np +import json +import pathlib from numpy.random import default_rng + import xobjects as xo import xpart as xp import xfields as xf +import xtrack as xt from xobjects.test_helpers import for_all_test_contexts +XTRACK_TEST_DATA = pathlib.Path(__file__).parent.parent.parent / "xtrack" / "test_data/" + + @for_all_test_contexts def test_tricubic_interpolation(test_context): @@ -67,24 +74,24 @@ def test_tricubic_interpolation(test_context): rng = default_rng(12345) x_test = rng.random(n_parts) * 1.2 - 0.6 y_test = rng.random(n_parts) * 1.2 - 0.6 - tau_test = rng.random(n_parts) * 1.2 - 0.6 + zeta_test = rng.random(n_parts) * 1.2 - 0.6 p0c = 450e9 testp0 = xp.Particles(p0c=p0c) beta0 = testp0.beta0 part = xp.Particles(_context=test_context, x=x_test, y=y_test, - zeta=beta0*tau_test, p0c=p0c) + zeta=zeta_test, p0c=p0c) ecloud.track(part) part.move(_context=xo.ContextCpu()) mask_p = part.state != -11 true_px = np.array([-dfdx(xx, yy, zz) for xx, yy, zz in zip(part.x[mask_p], part.y[mask_p], - part.zeta[mask_p] / part.beta0[mask_p])]) + part.zeta[mask_p])]) true_py = np.array([-dfdy(xx, yy, zz) for xx, yy, zz in zip(part.x[mask_p], part.y[mask_p], - part.zeta[mask_p] / part.beta0[mask_p])]) - true_ptau = np.array([-dfdz(xx, yy, zz) for xx, yy, zz in zip(part.x[mask_p], part.y[mask_p], - part.zeta[mask_p] / part.beta0[mask_p])]) + part.zeta[mask_p])]) + true_pzeta = np.array([-dfdz(xx, yy, zz) for xx, yy, zz in zip(part.x[mask_p], part.y[mask_p], + part.zeta[mask_p])]) # print(true_px[:5]) # print(part.ptau[:5]) @@ -101,4 +108,34 @@ def test_tricubic_interpolation(test_context): assert np.allclose(part.px[mask_p], true_px, atol=1.e-13, rtol=1.e-13) assert np.allclose(part.py[mask_p], true_py, atol=1.e-13, rtol=1.e-13) - assert np.allclose(part.ptau[mask_p], true_ptau, atol=1.e-13, rtol=1.e-13) + assert np.allclose(part.pzeta[mask_p], true_pzeta, atol=1.e-13, rtol=1.e-13) + +@for_all_test_contexts +def test_electroncloud_config(test_context): + fname_line = XTRACK_TEST_DATA/"lhc_no_bb/line_and_particle.json" + + with open(fname_line, 'r') as fid: + input_data = json.load(fid) + line = xt.Line.from_dict(input_data['line']) + line.particle_ref = xp.Particles(p0c=input_data['particle']['p0c']) + + xfields_test_data_folder = pathlib.Path( + __file__).parent.joinpath('../test_data').absolute() + + pinch_filenames = {'mqf': xfields_test_data_folder/"pyecloud_pinch/refined_Pinch_MTI1.0_MLI1.0_DTO2.0_DLO1.0.h5", + 'mqd': xfields_test_data_folder/"pyecloud_pinch/refined_Pinch_MTI1.0_MLI1.0_DTO2.0_DLO1.0.h5"} + + zeta_max = 0.1 + ecloud_info = json.load(open(xfields_test_data_folder/"pyecloud_pinch/eclouds.json", "r")) + + reduced_ecloud_info = { + 'mqf': {key: ecloud_info['mqf'][key] for key in list(ecloud_info['mqf'].keys())[:5]}, + 'mqd': {key: ecloud_info['mqd'][key] for key in list(ecloud_info['mqd'].keys())[:5]} + } + + twiss_without_ecloud, twiss_with_ecloud = xf.full_electroncloud_setup(line=line, + ecloud_info=reduced_ecloud_info, filenames=pinch_filenames, context=test_context, zeta_max=zeta_max) + + + assert np.all(np.isclose(twiss_with_ecloud['x'],twiss_without_ecloud['x'], atol=1e-12, rtol=0)) + assert np.all(np.isclose(twiss_with_ecloud['y'],twiss_without_ecloud['y'], atol=1e-12, rtol=0)) \ No newline at end of file diff --git a/xfields/beam_elements/electroncloud.py b/xfields/beam_elements/electroncloud.py index ea1bc445..7bb1de74 100644 --- a/xfields/beam_elements/electroncloud.py +++ b/xfields/beam_elements/electroncloud.py @@ -24,17 +24,17 @@ class ElectronCloud(xt.BeamElement): y_shift (float): shifts the y coordinate. Should be set equal to the closed orbit if the fieldmap is defined with respect to the closed orbit. Measured in meters. - tau_shift (float): shifts the tau coordinate. Should be set equal + zeta_shift (float): shifts the zeta coordinate. Should be set equal to the closed orbit if the fieldmap is defined with respect to - the closed orbit. Measured in meters. (tau = s/beta_0 - c t) + the closed orbit. Measured in meters. (zeta = s - beta_0 c t) dipolar_px_kick (float): subtracts a constant value from the kick to px. Should be set equal to the field map's kick at the closed orbit to remove closed orbit distortion effects. dipolar_py_kick (float): subtracts a constant value from the kick to py. Should be set equal to the field map's kick at the closed orbit to remove closed orbit distortion effects. - dipolar_ptau_kick (float): subtracts a constant value from the kick to - ptau. Should be set equal to the field map's kick at the closed + dipolar_pzeta_kick (float): subtracts a constant value from the kick to + pzeta. Should be set equal to the field map's kick at the closed orbit to remove closed orbit distortion effects. length (float): the length of the electron-cloud interaction in meters. @@ -49,10 +49,10 @@ class ElectronCloud(xt.BeamElement): _xofields = { 'x_shift': xo.Float64, 'y_shift': xo.Float64, - 'tau_shift': xo.Float64, + 'zeta_shift': xo.Float64, 'dipolar_px_kick': xo.Float64, 'dipolar_py_kick': xo.Float64, - 'dipolar_ptau_kick': xo.Float64, + 'dipolar_pzeta_kick': xo.Float64, 'length': xo.Float64, #'fieldmap': TriCubicInterpolatedFieldMapData, 'fieldmap': xo.Ref(TriCubicInterpolatedFieldMap._XoStruct), @@ -71,10 +71,10 @@ def __init__(self, _offset=None, x_shift=0., y_shift=0., - tau_shift=0., + zeta_shift=0., dipolar_px_kick=0., dipolar_py_kick=0., - dipolar_ptau_kick=0., + dipolar_pzeta_kick=0., length=None, apply_z_kick=True, fieldmap=None, @@ -98,9 +98,9 @@ def __init__(self, _offset=_offset, x_shift=x_shift, y_shift=y_shift, - tau_shift=tau_shift, + zeta_shift=zeta_shift, dipolar_px_kick=dipolar_px_kick, dipolar_py_kick=dipolar_py_kick, - dipolar_ptau_kick=dipolar_ptau_kick, + dipolar_pzeta_kick=dipolar_pzeta_kick, length=length, fieldmap=fieldmap) diff --git a/xfields/beam_elements/electroncloud_src/electroncloud.h b/xfields/beam_elements/electroncloud_src/electroncloud.h index cfdd22d3..b38fac66 100644 --- a/xfields/beam_elements/electroncloud_src/electroncloud.h +++ b/xfields/beam_elements/electroncloud_src/electroncloud.h @@ -16,7 +16,7 @@ void ElectronCloud_track_local_particle( const double x_shift = ElectronCloudData_get_x_shift(el); const double y_shift = ElectronCloudData_get_y_shift(el); - const double tau_shift = ElectronCloudData_get_tau_shift(el); + const double zeta_shift = ElectronCloudData_get_zeta_shift(el); TriCubicInterpolatedFieldMapData fmap = ElectronCloudData_getp_fieldmap(el); //start_per_particle_block (part0->part) const double x = LocalParticle_get_x(part); @@ -25,22 +25,20 @@ void ElectronCloud_track_local_particle( double const beta0 = LocalParticle_get_beta0(part); - double const tau = zeta / beta0; - double dphi_dx=0; double dphi_dy=0; - double dphi_dtau=0; + double dphi_dzeta=0; if( TriCubicInterpolatedFieldMap_interpolate_grad(fmap, - x - x_shift, y - y_shift, tau - tau_shift, - &dphi_dx, &dphi_dy, &dphi_dtau) + x - x_shift, y - y_shift, zeta - zeta_shift, + &dphi_dx, &dphi_dy, &dphi_dzeta) ){ LocalParticle_set_state(part, XF_OUTSIDE_INTERPOL); // Stop tracking particle if it escapes the interpolation grid. } const double px_kick = - dphi_dx * length - ElectronCloudData_get_dipolar_px_kick(el); const double py_kick = - dphi_dy * length - ElectronCloudData_get_dipolar_py_kick(el); - const double ptau_kick = - dphi_dtau * length - ElectronCloudData_get_dipolar_ptau_kick(el); + const double pzeta_kick = - dphi_dzeta * length - ElectronCloudData_get_dipolar_pzeta_kick(el); // TODO: implement kicks for particles with different charge and or mass LocalParticle_add_to_px(part, px_kick); @@ -48,7 +46,7 @@ void ElectronCloud_track_local_particle( double const q = LocalParticle_get_q0(part); double const p0c = LocalParticle_get_p0c(part); - double const energy_change = q * (p0c * ptau_kick); + double const energy_change = q * ( ( beta0 * p0c ) * pzeta_kick); LocalParticle_add_to_energy(part, energy_change, 1); //end_per_particle_block diff --git a/xfields/config_tools/electroncloud_config_tools.py b/xfields/config_tools/electroncloud_config_tools.py index 5be6c118..64c5601a 100644 --- a/xfields/config_tools/electroncloud_config_tools.py +++ b/xfields/config_tools/electroncloud_config_tools.py @@ -5,13 +5,16 @@ import numpy as np -import xfields as xf +from ..beam_elements.electroncloud import ElectronCloud +from ..fieldmaps.tricubicinterpolated import TriCubicInterpolatedFieldMap + import xpart as xp -import xtrack as xt +from xobjects.general import _print +from xtrack.progress_indicator import progress def get_electroncloud_fieldmap_from_h5( - filename, tau_max=None, buffer=None, ecloud_name="e-cloud"): + filename, zeta_max=None, buffer=None, ecloud_name="e-cloud"): assert buffer is not None import h5py ff = h5py.File(filename, "r") @@ -24,8 +27,8 @@ def get_electroncloud_fieldmap_from_h5( iy1 = 0 iy2 = ny - # Select a subset of slices (from -tau_max to +tau_max) - if tau_max is None: + # Select a subset of slices (from -zeta_max to +zeta_max) + if zeta_max is None: nz = len(ff["grid/zg"][()]) iz1 = 0 iz2 = nz @@ -33,12 +36,12 @@ def get_electroncloud_fieldmap_from_h5( zg = ff["grid/zg"][()] nz = len(zg) # add one index to make sure range is included - min_index = np.argmin(np.abs(zg + np.abs(tau_max))) - 1 - max_index = np.argmin(np.abs(zg - np.abs(tau_max))) + 1 + min_index = np.argmin(np.abs(zg + np.abs(zeta_max))) - 1 + max_index = np.argmin(np.abs(zg - np.abs(zeta_max))) + 1 if min_index < 0 or max_index > nz: raise Exception( - f"Range ({-np.abs(tau_max):.4f}, {np.abs(tau_max):.4f}) not in maximum range of z_grid: ({zg[0]:.4f},{zg[-1:]:.3f}) of file: {filename}") + f"Range ({-np.abs(zeta_max):.4f}, {np.abs(zeta_max):.4f}) not in maximum range of z_grid: ({zg[0]:.4f},{zg[-1]:.3f}) of file: {filename}") iz1 = min_index iz2 = max_index @@ -50,22 +53,17 @@ def get_electroncloud_fieldmap_from_h5( mirror2D = ff["settings/symmetric2D"][()] # (in GB), 8 bytes per double-precision number memory_estimate = (ix2 - ix1) * (iy2 - iy1) * (iz2 - iz1) * 8 * 8 * 1.e-9 - print(f"Creating fieldmap... (Memory estimate = {memory_estimate:.2f} GB)") - fieldmap = xf.TriCubicInterpolatedFieldMap(x_grid=x_grid, y_grid=y_grid, z_grid=z_grid, + fieldmap = TriCubicInterpolatedFieldMap(x_grid=x_grid, y_grid=y_grid, z_grid=z_grid, mirror_x=mirror2D, mirror_y=mirror2D, mirror_z=0, _buffer=buffer) - print(f"Reading {ecloud_name}: ") - kk = 0. + scale = [1., fieldmap.dx, fieldmap.dy, fieldmap.dz, fieldmap.dx * fieldmap.dy, fieldmap.dx * fieldmap.dz, fieldmap.dy * fieldmap.dz, fieldmap.dx * fieldmap.dy * fieldmap.dz] ####### Optimized version of the loop in the block below. ################ - for iz in range(iz1, iz2): - if (iz - iz1) / (iz2 - iz1) > kk: - while (iz - iz1) / (iz2 - iz1) > kk: - kk += 0.2 - print(f"{int(np.round(100*kk)):d}%..") + _prog = progress(range(iz1, iz2), desc=f'Reading ecloud {ecloud_name} (~ {memory_estimate:.2f} GB)') + for iz in _prog: phi_slice = ff[f"slices/slice{iz}/phi"][ix1:ix2, iy1:iy2, :].transpose(1, 0, 2) for ll in range(8): @@ -98,7 +96,7 @@ def insert_electronclouds(eclouds, fieldmap=None, line=None): s = eclouds[name]["s"] length = 0. line.insert_element( - element=xf.ElectronCloud( + element=ElectronCloud( length=length, fieldmap=fieldmap, _buffer=fieldmap._buffer), @@ -107,20 +105,19 @@ def insert_electronclouds(eclouds, fieldmap=None, line=None): def config_electronclouds(line, twiss=None, ecloud_info=None, shift_to_closed_orbit=False, - subtract_dipolar_kicks=False, fieldmaps=None, ecloud_strength=1.): + subtract_dipolar_kicks=False, fieldmaps=None): assert twiss is not None assert ecloud_info is not None - if subtract_dipolar_kicks: - dipolar_kicks = {} - assert fieldmaps is not None - for key in fieldmaps.keys(): - fieldmap = fieldmaps[key] - dipolar_kicks[key] = electroncloud_dipolar_kicks_of_fieldmap( - fieldmap=fieldmap, p0c=line.particle_ref.p0c) - - length_factor = ecloud_strength / \ + # if subtract_dipolar_kicks: + # dipolar_kicks = {} + # assert fieldmaps is not None + # for key in fieldmaps.keys(): + # fieldmap = fieldmaps[key] + # dipolar_kicks[key] = electroncloud_dipolar_kicks_of_fieldmap( + # fieldmap=fieldmap, p0c=line.particle_ref.p0c) + + length_factor = line.vars['ecloud_strength'] / \ (line.particle_ref.p0c[0] * line.particle_ref.beta0[0]) - part = twiss["particle_on_co"].copy() for ii, el_name in enumerate(twiss["name"]): if 'ecloud' in el_name: # naming format is "ecloud.ecloud_type.sector.index_in_sector", @@ -128,21 +125,29 @@ def config_electronclouds(line, twiss=None, ecloud_info=None, shift_to_closed_or ecloud_type = el_name.split(".")[1] length = ecloud_info[ecloud_type][el_name]["length"] * \ length_factor - line.elements[ii].length = length + line.element_refs[el_name].length = length + # line.elements[ii].length = length assert el_name == line.element_names[ii] if shift_to_closed_orbit: line.elements[ii].x_shift = twiss["x"][ii] line.elements[ii].y_shift = twiss["y"][ii] - part.delta = twiss["delta"][ii] - part.zeta = twiss["zeta"][ii] - line.elements[ii].tau_shift = part.zeta[0] / \ - (part.beta0[0] * part.rvv[0]) + line.elements[ii].zeta_shift = twiss["zeta"][ii] if subtract_dipolar_kicks: - line.elements[ii].dipolar_px_kick = dipolar_kicks[ecloud_type][0] * length - line.elements[ii].dipolar_py_kick = dipolar_kicks[ecloud_type][1] * length - line.elements[ii].dipolar_ptau_kick = dipolar_kicks[ecloud_type][2] * length + temp_part = line.particle_ref.copy(_context=line._context) + temp_part.x = twiss["x"][ii] + temp_part.y = twiss["y"][ii] + temp_part.zeta = twiss["zeta"][ii] + temp_part.px = 0 + temp_part.py = 0 + temp_part.ptau = 0 #pzeta has no setter + line.elements[ii].track(temp_part) + + ctx_to_np = line._context.nparray_from_context_array + line.element_refs[el_name].dipolar_px_kick = ctx_to_np(temp_part.px)[0] * line.vars['ecloud_strength'] / line.vars['ecloud_strength']._value + line.element_refs[el_name].dipolar_py_kick = ctx_to_np(temp_part.py)[0] * line.vars['ecloud_strength'] / line.vars['ecloud_strength']._value + line.element_refs[el_name].dipolar_pzeta_kick = ctx_to_np(temp_part.pzeta)[0] * line.vars['ecloud_strength'] / line.vars['ecloud_strength']._value def electroncloud_dipolar_kicks_of_fieldmap(fieldmap=None, p0c=None): @@ -151,32 +156,35 @@ def electroncloud_dipolar_kicks_of_fieldmap(fieldmap=None, p0c=None): assert fieldmap is not None part = xp.Particles(_context=fieldmap._context, p0c=p0c) - ecloud = xf.ElectronCloud( + ecloud = ElectronCloud( length=1, fieldmap=fieldmap, _buffer=fieldmap._buffer) ecloud.track(part) px = part.px[0] py = part.py[0] - ptau = part.ptau[0] - return [px, py, ptau] + pzeta = part.pzeta[0] + return [px, py, pzeta] def full_electroncloud_setup(line=None, ecloud_info=None, filenames=None, context=None, - tau_max=None, subtract_dipolar_kicks=True, shift_to_closed_orbit=True): + zeta_max=None, subtract_dipolar_kicks=True, shift_to_closed_orbit=True, + steps_r_matrix=None): buffer = context.new_buffer() fieldmaps = { ecloud_type: get_electroncloud_fieldmap_from_h5( filename=filename, buffer=buffer, - tau_max=tau_max, + zeta_max=zeta_max, ecloud_name=ecloud_type) for ( ecloud_type, filename) in filenames.items()} + line.vars['ecloud_strength'] = 1 + for ecloud_type, fieldmap in fieldmaps.items(): - print(f"Inserting \"{ecloud_type}\" electron clouds...") + _print(f"Inserting \"{ecloud_type}\" electron clouds...") insert_electronclouds( ecloud_info[ecloud_type], fieldmap=fieldmap, @@ -191,8 +199,8 @@ def full_electroncloud_setup(line=None, ecloud_info=None, filenames=None, contex ecloud_info=ecloud_info, subtract_dipolar_kicks=subtract_dipolar_kicks, shift_to_closed_orbit=shift_to_closed_orbit, - fieldmaps=fieldmaps, - ecloud_strength=1) - twiss_with_ecloud = line.twiss() + fieldmaps=fieldmaps + ) + twiss_with_ecloud = line.twiss(steps_r_matrix=steps_r_matrix) - return line, twiss_without_ecloud, twiss_with_ecloud + return twiss_without_ecloud, twiss_with_ecloud