From b0f9b5ee811bc43aad2a503c90faf8eb32b0b606 Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Tue, 9 Jan 2024 15:26:47 +0100 Subject: [PATCH 01/10] removed plural s in neutron --- tests/_static/example.ort | 2 +- tests/_static/test_example1.ort | 2 +- tests/_static/test_example2.ort | 2 +- tests/_static/test_example3.ort | 2 +- tests/_static/test_example4.ort | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/_static/example.ort b/tests/_static/example.ort index fcdfe515..5ce436a1 100644 --- a/tests/_static/example.ort +++ b/tests/_static/example.ort @@ -9,7 +9,7 @@ # start_date: 2021-05-12 # title: Example data file from refnx docs # instrument: platypus -# probe: neutrons +# probe: neutron # sample: # name: Polymer Film # category: solid / liquid diff --git a/tests/_static/test_example1.ort b/tests/_static/test_example1.ort index fa5cdaee..8c6f3cf8 100644 --- a/tests/_static/test_example1.ort +++ b/tests/_static/test_example1.ort @@ -10,7 +10,7 @@ # start_date: 2021-05-12 # title: Generation of input for formatting purposes # instrument: Amor -# probe: neutrons +# probe: neutron # sample: # name: Ni1000 # description: air | material Ni, thickness 100 nm | Si diff --git a/tests/_static/test_example2.ort b/tests/_static/test_example2.ort index 701db326..f178d9a6 100644 --- a/tests/_static/test_example2.ort +++ b/tests/_static/test_example2.ort @@ -10,7 +10,7 @@ # start_date: 2021-05-12 # title: Generation of input for formatting purposes # instrument: Amor -# probe: neutrons +# probe: neutron # sample: # name: Ni1000 # description: air | material Ni, thickness 100 nm | Si diff --git a/tests/_static/test_example3.ort b/tests/_static/test_example3.ort index 85683f4f..db5e1caf 100644 --- a/tests/_static/test_example3.ort +++ b/tests/_static/test_example3.ort @@ -10,7 +10,7 @@ # start_date: 2021-05-12 # title: Generation of input for formatting purposes # instrument: Amor -# probe: neutrons +# probe: neutron # sample: # name: Ni1000 # description: air | material Ni, thickness 100 nm | Si diff --git a/tests/_static/test_example4.ort b/tests/_static/test_example4.ort index d73e2c7c..c34f0616 100644 --- a/tests/_static/test_example4.ort +++ b/tests/_static/test_example4.ort @@ -10,7 +10,7 @@ # start_date: 2021-05-12 # title: Generation of input for formatting purposes # instrument: Amor -# probe: neutrons +# probe: neutron # sample: # name: Ni1000 # description: air | material Ni, thickness 100 nm | Si From 12cbb4a0971d4964af717f3b4ba93fa3cda5f952 Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Tue, 9 Jan 2024 15:33:31 +0100 Subject: [PATCH 02/10] scipp update, dataset to datagroup --- EasyReflectometry/data.py | 60 ++++---- EasyReflectometry/fitting.py | 42 +++--- EasyReflectometry/measurement/data.py | 2 +- EasyReflectometry/plot.py | 21 ++- docs/monolayer.ipynb | 197 +++++++++++++++++++++++--- docs/multi_contrast.ipynb | 10 +- docs/repeating.ipynb | 2 +- docs/simple_fitting.ipynb | 2 +- docs/solvation.ipynb | 152 +++----------------- pyproject.toml | 2 +- tests/test_data.py | 74 +++++----- 11 files changed, 311 insertions(+), 253 deletions(-) diff --git a/EasyReflectometry/data.py b/EasyReflectometry/data.py index 0e46378e..8d184501 100644 --- a/EasyReflectometry/data.py +++ b/EasyReflectometry/data.py @@ -6,13 +6,13 @@ from orsopy.fileio import orso, Header -def load(fname: Union[TextIO, str]) -> sc.Dataset: +def load(fname: Union[TextIO, str]) -> sc.DataGroup: """ Load data from an ORSO .ort file. :param fname: The file to be read. - :return: A scipp Dataset for the loaded datasets. + :return: A scipp DataGroup for the loaded datasets. """ try: return _load_orso(fname) @@ -20,46 +20,52 @@ def load(fname: Union[TextIO, str]) -> sc.Dataset: return _load_txt(fname) -def _load_orso(fname: Union[TextIO, str]) -> sc.Dataset: +def _load_orso(fname: Union[TextIO, str]) -> sc.DataGroup: """ Load from an ORSO compatible file. :param fname: The path for the file to be read. - :return: A populated scipp dataset. + :return: A populated scipp DataGroup. """ data = {} + coords = {} + attrs = {} f_data = orso.load_orso(fname) for i, o in enumerate(f_data): name = i if o.info.data_set is not None: name = o.info.data_set - coords = {} - coords[f'Qz_{name}'] = sc.array(dims=[f'{o.info.columns[0].name}_{name}'], - values=o.data[:, 0], - variances=np.square(o.data[:, 3]), - unit=sc.Unit(o.info.columns[0].unit)) + coords[f'Qz_{name}'] = sc.array( + dims=[f'{o.info.columns[0].name}_{name}'], + values=o.data[:, 0], + variances=np.square(o.data[:, 3]), + unit=sc.Unit(o.info.columns[0].unit) + ) try: - ordinate = sc.array(dims=[f'{o.info.columns[0].name}_{name}'], - values=o.data[:, 1], - variances=np.square(o.data[:, 2]), - unit=sc.Unit(o.info.columns[1].unit)) + data[f'R_{name}'] = sc.array( + dims=[f'{o.info.columns[0].name}_{name}'], + values=o.data[:, 1], + variances=np.square(o.data[:, 2]), + unit=sc.Unit(o.info.columns[1].unit) + ) except TypeError: - ordinate = sc.array(dims=[f'{o.info.columns[0].name}_{name}'], - values=o.data[:, 1], - variances=np.square(o.data[:, 2])) - attrs = {'orso_header': sc.scalar(Header.asdict(o.info))} - data[f'R_{name}'] = sc.DataArray(data=ordinate, coords=coords, attrs=attrs) - return sc.Dataset(data=data) + data[f'R_{name}'] = sc.array( + dims=[f'{o.info.columns[0].name}_{name}'], + values=o.data[:, 1], + variances=np.square(o.data[:, 2]) + ) + attrs[f'R_{name}'] = {'orso_header': sc.scalar(Header.asdict(o.info))} + return sc.DataGroup(data=data, coords=coords, attrs=attrs) -def _load_txt(fname: Union[TextIO, str]) -> sc.Dataset: +def _load_txt(fname: Union[TextIO, str]) -> sc.DataGroup: """ Load data from a simple txt file. :param fname: The path for the file to be read. - :return: A populated scipp dataset. + :return: A populated scipp DataGroup. """ f_data = np.loadtxt(fname) data = { @@ -68,9 +74,11 @@ def _load_txt(fname: Union[TextIO, str]) -> sc.Dataset: } coords = { data['R_0'].dims[0]: - sc.array(dims=['Qz_0'], - values=f_data[:, 0], - variances=np.square(f_data[:, 3]), - unit=sc.Unit('1/angstrom')) + sc.array( + dims=['Qz_0'], + values=f_data[:, 0], + variances=np.square(f_data[:, 3]), + unit=sc.Unit('1/angstrom') + ) } - return sc.Dataset(data=data, coords=coords) + return sc.DataGroup(data=data, coords=coords) diff --git a/EasyReflectometry/fitting.py b/EasyReflectometry/fitting.py index 27fdd157..b66a4600 100644 --- a/EasyReflectometry/fitting.py +++ b/EasyReflectometry/fitting.py @@ -13,7 +13,7 @@ class Fitter: def __init__(self, *args: Model): """ A convinence class for the :py:class:`easyCore.Fitting.Fitting` - which will populate the :py:class:`sc.Dataset` appropriately + which will populate the :py:class:`sc.DataGroup` appropriately after the fitting is performed. :param model: Reflectometry model @@ -32,35 +32,41 @@ def wrapped(*args, **kwargs): self._models = args self.easy_f = easyFitter(args, self._fit_func) - def fit(self, data: sc.Dataset, method: str = 'least_squares', id=0): + def fit(self, data: sc.DataGroup, method: str = 'least_squares', id: int = 0) -> sc.DataGroup: """ - Perform the fitting and populate the datasets with the result. + Perform the fitting and populate the DataGroups with the result. - :param data: Dataset to be fitted to and populated + :param data: DataGroup to be fitted to and populated :param method: Optimisation method """ - refl_nums = [k[3:] for k, v in data.coords.items() if 'Qz' == k[:2]] - x = [data.coords[f'Qz_{i}'].values for i in refl_nums] - y = [data[f'R_{i}'].data.values for i in refl_nums] - dy = [1 / np.sqrt(data[f'R_{i}'].data.variances) for i in refl_nums] + refl_nums = [k[3:] for k in data['coords'].keys() if 'Qz' == k[:2]] + x = [data['coords'][f'Qz_{i}'].values for i in refl_nums] + y = [data['data'][f'R_{i}'].values for i in refl_nums] + dy = [1 / np.sqrt(data['data'][f'R_{i}'].variances) for i in refl_nums] result = self.easy_f.fit(x, y, weights=dy, method=method) new_data = data.copy() for i, _ in enumerate(result): id = refl_nums[i] - new_data[f'R_{id}_model'] = sc.array(dims=[f'Qz_{id}'], - values=self._fit_func[i]( - data.coords[f'Qz_{id}'].values)) + new_data[f'R_{id}_model'] = sc.array( + dims=[f'Qz_{id}'], + values=self._fit_func[i]( + data['coords'][f'Qz_{id}'].values) + ) sld_profile = self.easy_f._fit_objects[i].interface.sld_profile( self._models[i].uid) - new_data[f'SLD_{id}'] = sc.array(dims=[f'z_{id}'], - values=sld_profile[1] * 1e-6, - unit=sc.Unit('1/angstrom')**2) - new_data[f'R_{id}_model'].attrs['model'] = sc.scalar( - self._models[i].as_dict()) - new_data.coords[f'z_{id}'] = sc.array( + new_data[f'SLD_{id}'] = sc.array( + dims=[f'z_{id}'], + values=sld_profile[1] * 1e-6, + unit=sc.Unit('1/angstrom')**2 + ) + new_data['attrs'][f'R_{id}_model'] = { + 'model' : sc.scalar(self._models[i].as_dict()) + } + new_data['coords'][f'z_{id}'] = sc.array( dims=[f'z_{id}'], values=sld_profile[0], - unit=(1 / new_data.coords[f'Qz_{id}'].unit).unit) + unit=(1 / new_data['coords'][f'Qz_{id}'].unit).unit + ) return new_data diff --git a/EasyReflectometry/measurement/data.py b/EasyReflectometry/measurement/data.py index f4b0d574..8224ec75 100644 --- a/EasyReflectometry/measurement/data.py +++ b/EasyReflectometry/measurement/data.py @@ -5,5 +5,5 @@ from orsopy.fileio import orso -def load(fname: Union[TextIO, str]) -> sc.Dataset: +def load(fname: Union[TextIO, str]) -> sc.DataGroup: return orso.load_orso(fname) diff --git a/EasyReflectometry/plot.py b/EasyReflectometry/plot.py index ce77a864..733f6ea8 100644 --- a/EasyReflectometry/plot.py +++ b/EasyReflectometry/plot.py @@ -7,11 +7,11 @@ color_cycle = plt.rcParams['axes.prop_cycle'].by_key()['color'] -def plot(data: sc.Dataset): +def plot(data: sc.DataGroup) -> None: """ A general plotting function for EasyReflectometry. - :param data: the Dataset to be plotted. + :param data: the DataGroup to be plotted. :returns: The plot canvas. """ @@ -25,9 +25,12 @@ def plot(data: sc.Dataset): gs = GridSpec(2, 1, figure=fig) ax2 = fig.add_subplot(gs[1, 0]) ax1 = fig.add_subplot(gs[0, 0]) - refl_nums = [k[3:] for k, v in data.coords.items() if 'Qz' == k[:2]] + refl_nums = [k[3:] for k in data['coords'].keys() if 'Qz' == k[:2]] for i, refl_num in enumerate(refl_nums): - copy = data[f'R_{refl_num}'].copy() + copy = sc.DataArray( + data=data['data'][f'R_{refl_num}'], + coords={f'Qz_{refl_num}': data['coords'][f'Qz_{refl_num}']} + ) copy.data *= sc.scalar(10.**i, unit=copy.unit) copy.coords[f'Qz_{refl_num}'].variances = None sc.plot( @@ -39,7 +42,10 @@ def plot(data: sc.Dataset): color=color_cycle[i] ) try: - copy = data[f'R_{refl_num}_model'].copy() + copy = sc.DataArray( + data=data['data'][f'R_{refl_num}_model'], + coords={f'Qz_{refl_num}': data['coords'][f'Qz_{refl_num}']} + ) copy.data *= sc.scalar(10.**float(i)) copy.coords[f'Qz_{refl_num}'].variances = None sc.plot( @@ -58,7 +64,10 @@ def plot(data: sc.Dataset): if plot_sld: for i, refl_num in enumerate(refl_nums): - copy = data[f'SLD_{refl_num}'].copy() + copy = sc.DataArray( + data=data[f'SLD_{refl_num}'], + coords={f'z_{refl_num}': data['coords'][f'z_{refl_num}']} + ) copy.data += sc.scalar(10. * i, unit=copy.unit) sc.plot( data[f'SLD_{refl_num}'], diff --git a/docs/monolayer.ipynb b/docs/monolayer.ipynb index d4fdea9c..9d502efa 100644 --- a/docs/monolayer.ipynb +++ b/docs/monolayer.ipynb @@ -22,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "619bb767-475a-408b-b576-552f0bc4f2a7", "metadata": {}, "outputs": [], @@ -51,10 +51,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "054b64e7-1417-485e-925b-d2dbe1fa0919", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "EasyReflectometry: 0.0.2\n", + "refnx: 0.1.41\n" + ] + } + ], "source": [ "print(f'EasyReflectometry: {EasyReflectometry.__version__}')\n", "print(f'refnx: {refnx.__version__}')" @@ -74,10 +83,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "e392660e-6f02-4f0b-be86-4c8ea78883e0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "data = load('_static/d70d2o.ort')\n", "plot(data)" @@ -118,7 +138,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "80c8d71f-d309-4104-bae6-3941daa525d3", "metadata": {}, "outputs": [], @@ -150,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "3ad9adef-8845-486d-8075-9ad6bb81ea6f", "metadata": {}, "outputs": [], @@ -169,7 +189,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "a39a0eca-97d6-44d7-8796-a5e98d024788", "metadata": {}, "outputs": [], @@ -188,7 +208,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "204144c3-a3e7-4ab1-9a6c-6aca8241f69e", "metadata": {}, "outputs": [], @@ -207,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "e39cf91b-e049-4619-a5cd-4bdf8492252d", "metadata": {}, "outputs": [], @@ -228,10 +248,60 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "4576f0b9-8815-46bc-b759-9f03379d2d0b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "layer1:\n", + " EasySurfactantLayer Layer 1:\n", + " material:\n", + " C34D70/Air:\n", + " fraction: 0.0\n", + " sld: 8.753e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " material1:\n", + " C34D70:\n", + " sld: 8.753e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " material2:\n", + " Air:\n", + " sld: 0.000e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " thickness: 17.600 angstrom\n", + " roughness: 3.000 angstrom\n", + " chemical_structure: C34D70\n", + " area_per_molecule: 45.0 angstrom ** 2\n", + "layer2:\n", + " EasySurfactantLayer Layer 2:\n", + " material:\n", + " C10H18NO8P/D2O:\n", + " fraction: 0.5\n", + " sld: 3.697e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " material1:\n", + " C10H18NO8P:\n", + " sld: 1.035e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " material2:\n", + " D2O:\n", + " sld: 6.360e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " thickness: 12.900 angstrom\n", + " roughness: 3.000 angstrom\n", + " chemical_structure: C10H18NO8P\n", + " area_per_molecule: 45.0 angstrom ** 2\n", + "area per molecule constrained: true\n", + "conformal roughness: true" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "dspc = SurfactantLayer.from_pars(tail_formula, tail_thickness, air, tail_solvation, \n", " area_per_molecule, roughness,\n", @@ -252,7 +322,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "c17ecc32-c578-4a22-a12c-da13af1e0347", "metadata": {}, "outputs": [], @@ -272,7 +342,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "f17762ca-33c5-48bb-88a2-bc2568bb18f7", "metadata": {}, "outputs": [], @@ -290,13 +360,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "216bfe40-a97c-4437-a2f9-8bc7966ae58d", "metadata": {}, "outputs": [], "source": [ "structure = Structure.from_pars(air_layer, dspc, d2o_layer)\n", - "model = Model.from_pars(structure, 1, data['R_0'].data.values.min(), 5)" + "model = Model.from_pars(structure, 1, data['data']['R_0'].values.min(), 5)" ] }, { @@ -313,7 +383,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "d30eaa0f-be7f-4cbe-a7d6-11f43512f014", "metadata": {}, "outputs": [], @@ -335,7 +405,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "bc61b31f-11bf-43e1-9fd9-d697ded79196", "metadata": {}, "outputs": [], @@ -356,20 +426,101 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "fee84677-477f-4b8d-aaa5-7650d641804c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plot(analysed)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "020bed24-e8cd-41e4-9b2a-e3acfc133101", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "EasyModel:\n", + " scale: 0.14027260295332553\n", + " background: 8.86282995316922e-07\n", + " resolution: 5.0 %\n", + " structure:\n", + " EasyStructure:\n", + " - Air Superphase:\n", + " material:\n", + " Air:\n", + " sld: 0.000e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " thickness: 0.000 angstrom\n", + " roughness: 0.000 angstrom\n", + " - layer1:\n", + " EasySurfactantLayer Layer 1:\n", + " material:\n", + " C34D70/Air:\n", + " fraction: 0.0\n", + " sld: 8.753e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " material1:\n", + " C34D70:\n", + " sld: 8.753e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " material2:\n", + " Air:\n", + " sld: 0.000e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " thickness: 17.600 angstrom\n", + " roughness: 3.000 angstrom\n", + " chemical_structure: C34D70\n", + " area_per_molecule: 51.9 angstrom ** 2\n", + " layer2:\n", + " EasySurfactantLayer Layer 2:\n", + " material:\n", + " C10H18NO8P/D2O:\n", + " fraction: 0.6240541582806278\n", + " sld: 4.306e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " material1:\n", + " C10H18NO8P:\n", + " sld: 0.897e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " material2:\n", + " D2O:\n", + " sld: 6.360e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " thickness: 12.900 angstrom\n", + " roughness: 3.000 angstrom\n", + " chemical_structure: C10H18NO8P\n", + " area_per_molecule: 51.9 angstrom ** 2\n", + " area per molecule constrained: true\n", + " conformal roughness: true\n", + " - D2O Subphase:\n", + " material:\n", + " D2O:\n", + " sld: 6.360e-6 1 / angstrom ** 2\n", + " isld: 0.000e-6 1 / angstrom ** 2\n", + " thickness: 0.000 angstrom\n", + " roughness: 3.000 angstrom" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "model" ] @@ -451,7 +602,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/docs/multi_contrast.ipynb b/docs/multi_contrast.ipynb index 838bb763..347f202d 100644 --- a/docs/multi_contrast.ipynb +++ b/docs/multi_contrast.ipynb @@ -315,9 +315,9 @@ "d13d2o_structure = Structure.from_pars(air_layer, d13d2o, d2o_layer)\n", "d70d2o_structure = Structure.from_pars(air_layer, d70d2o, d2o_layer)\n", "d83acmw_structure = Structure.from_pars(air_layer, d83acmw, acmw_layer)\n", - "d13d2o_model = Model.from_pars(d13d2o_structure, 0.1, data['R_d13DSPC-D2O'].data.values.min(), 5)\n", - "d70d2o_model = Model.from_pars(d70d2o_structure, 0.1, data['R_d70DSPC-D2O'].data.values.min(), 5)\n", - "d83acmw_model = Model.from_pars(d83acmw_structure, 0.1, data['R_d83DSPC-ACMW'].data.values.min(), 5)" + "d13d2o_model = Model.from_pars(d13d2o_structure, 0.1, data['data']['R_d13DSPC-D2O'].values.min(), 5)\n", + "d70d2o_model = Model.from_pars(d70d2o_structure, 0.1, data['data']['R_d70DSPC-D2O'].values.min(), 5)\n", + "d83acmw_model = Model.from_pars(d83acmw_structure, 0.1, data['data']['R_d83DSPC-ACMW'].values.min(), 5)" ] }, { @@ -344,7 +344,7 @@ "d70d2o_model.scale.bounds = (0.05, 1.5)\n", "d70d2o_model.background.bounds = (4e-8, 1e-5)\n", "d83acmw_model.scale.bounds = (0.05, 1.5)\n", - "d83acmw_model.background.bounds = (4e-8, 1e-5)\n", + "d83acmw_model.background.bounds = (4e-8, 1e-4)\n", "\n", "d13d2o.layers[0].area_per_molecule.bounds = (40, 50)\n", "d13d2o.layers[1].solvation.bounds = (0.2, 0.6)\n", @@ -448,7 +448,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/docs/repeating.ipynb b/docs/repeating.ipynb index a1c97b34..8e312349 100644 --- a/docs/repeating.ipynb +++ b/docs/repeating.ipynb @@ -321,7 +321,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.15" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/docs/simple_fitting.ipynb b/docs/simple_fitting.ipynb index 5b739116..276d58e5 100644 --- a/docs/simple_fitting.ipynb +++ b/docs/simple_fitting.ipynb @@ -519,7 +519,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.15" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/docs/solvation.ipynb b/docs/solvation.ipynb index 3dc17fa0..b4b92405 100644 --- a/docs/solvation.ipynb +++ b/docs/solvation.ipynb @@ -25,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "88c86e82-88dd-4c2d-ad99-826f409ec7b7", "metadata": {}, "outputs": [], @@ -56,21 +56,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "d40fed9d-5888-4bee-b014-0d6430eea8c0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "numpy: 1.26.3\n", - "scipp: 23.08.0\n", - "EasyReflectometry: 0.0.2\n", - "refnx: 0.1.41\n" - ] - } - ], + "outputs": [], "source": [ "print(f'numpy: {np.__version__}')\n", "print(f'scipp: {sc.__version__}')\n", @@ -89,19 +78,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "a95a39dd-d0eb-4029-9dc8-41e6e7918f66", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\Users\\andpe\\miniconda3\\envs\\reflectometry311\\Lib\\site-packages\\orsopy\\fileio\\base.py:277: RuntimeWarning: Has to be one of ('neutron', 'x-ray') got neutrons\n", - " warnings.warn(\n" - ] - } - ], + "outputs": [], "source": [ "data = load('_static/example.ort')" ] @@ -118,7 +98,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "60e5a3c5-58a8-429a-a446-a115f489af0f", "metadata": {}, "outputs": [], @@ -140,7 +120,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "f2b910db-530f-49c5-907a-67712ba939d2", "metadata": {}, "outputs": [], @@ -163,32 +143,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "9762616d-6b1d-4045-8aaf-134b72695a1a", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Solvated Film:\n", - " fraction: 0.25\n", - " sld: 3.090e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material1:\n", - " Film:\n", - " sld: 2.000e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material2:\n", - " D2O:\n", - " sld: 6.360e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "solvated_film" ] @@ -203,7 +161,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "f1ea2e41-f50e-4fbb-989f-aecc0e3e9860", "metadata": {}, "outputs": [], @@ -232,7 +190,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "f99fba34-268d-40ee-a74d-982bb2805b11", "metadata": {}, "outputs": [], @@ -242,25 +200,17 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "d361f9ba-e0a3-46a1-890e-b8f57ac2ada0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], + "outputs": [], "source": [ "print(solvated_film_layer.material.sld)" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "0e872a4d-f468-4e5a-8938-9cb50d16c460", "metadata": {}, "outputs": [], @@ -270,18 +220,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "1c84d8d9-6f94-4b88-9070-55e81cc57858", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], + "outputs": [], "source": [ "print(solvated_film_layer.material.sld)" ] @@ -296,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "79c3dc7a-b4cd-4eea-b098-08c962d747e6", "metadata": {}, "outputs": [], @@ -328,7 +270,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "3e24b615-cb32-41f8-95e5-5998072c7868", "metadata": {}, "outputs": [], @@ -349,62 +291,10 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "8953f8ae-7b2d-4ef5-89f5-1da86af96ce0", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "99da70e628fb47038cd9f1025dbd9b4c", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "99da70e628fb47038cd9f1025dbd9b4c", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plot(analysed)" ] @@ -453,7 +343,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/pyproject.toml b/pyproject.toml index 9381764e..c4cc655e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,7 @@ dependencies = [ "easyScienceCore @ git+https://github.com/easyscience/easycore.git@failed_unit_check", "refnx>=0.1.15", "refl1d>=0.8.14", - "scipp==23.08.0", + "scipp>=23.12.0", "orsopy>=0.0.4" ] diff --git a/tests/test_data.py b/tests/test_data.py index 8a677354..7d3c519b 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -22,13 +22,12 @@ def test_load_with_orso(self): 'tests/_static/test_example1.ort') er_data = load(fpath) o_data = load_orso(fpath) - assert er_data['R_spin_up'].attrs['orso_header'].value == Header.asdict( - o_data[0].info) - assert_almost_equal(er_data['R_spin_up'].data.values, o_data[0].data[:, 1]) - assert_almost_equal(er_data.coords['Qz_spin_up'].values, o_data[0].data[:, 0]) - assert_almost_equal(er_data['R_spin_up'].data.variances, + assert er_data['attrs']['R_spin_up']['orso_header'].value == Header.asdict(o_data[0].info) + assert_almost_equal(er_data['data']['R_spin_up'].values, o_data[0].data[:, 1]) + assert_almost_equal(er_data['coords']['Qz_spin_up'].values, o_data[0].data[:, 0]) + assert_almost_equal(er_data['data']['R_spin_up'].variances, np.square(o_data[0].data[:, 2])) - assert_almost_equal(er_data.coords['Qz_spin_up'].variances, + assert_almost_equal(er_data['coords']['Qz_spin_up'].variances, np.square(o_data[0].data[:, 3])) def test_load_with_txt(self): @@ -37,10 +36,10 @@ def test_load_with_txt(self): 'tests/_static/test_example1.txt') er_data = load(fpath) n_data = np.loadtxt(fpath) - assert_almost_equal(er_data['R_0'].data.values, n_data[:, 1]) - assert_almost_equal(er_data.coords['Qz_0'].values, n_data[:, 0]) - assert_almost_equal(er_data['R_0'].data.variances, np.square(n_data[:, 2])) - assert_almost_equal(er_data.coords['Qz_0'].variances, np.square(n_data[:, 3])) + assert_almost_equal(er_data['data']['R_0'].values, n_data[:, 1]) + assert_almost_equal(er_data['coords']['Qz_0'].values, n_data[:, 0]) + assert_almost_equal(er_data['data']['R_0'].variances, np.square(n_data[:, 2])) + assert_almost_equal(er_data['coords']['Qz_0'].variances, np.square(n_data[:, 3])) def test_orso1(self): fpath = os.path.join( @@ -48,13 +47,12 @@ def test_orso1(self): 'tests/_static/test_example1.ort') er_data = _load_orso(fpath) o_data = load_orso(fpath) - assert er_data['R_spin_up'].attrs['orso_header'].value == Header.asdict( - o_data[0].info) - assert_almost_equal(er_data['R_spin_up'].data.values, o_data[0].data[:, 1]) - assert_almost_equal(er_data.coords['Qz_spin_up'].values, o_data[0].data[:, 0]) - assert_almost_equal(er_data['R_spin_up'].data.variances, + assert er_data['attrs']['R_spin_up']['orso_header'].value == Header.asdict(o_data[0].info) + assert_almost_equal(er_data['data']['R_spin_up'].values, o_data[0].data[:, 1]) + assert_almost_equal(er_data['coords']['Qz_spin_up'].values, o_data[0].data[:, 0]) + assert_almost_equal(er_data['data']['R_spin_up'].variances, np.square(o_data[0].data[:, 2])) - assert_almost_equal(er_data.coords['Qz_spin_up'].variances, + assert_almost_equal(er_data['coords']['Qz_spin_up'].variances, np.square(o_data[0].data[:, 3])) def test_orso2(self): @@ -63,16 +61,13 @@ def test_orso2(self): 'tests/_static/test_example2.ort') er_data = _load_orso(fpath) o_data = load_orso(fpath) - for i, o in enumerate(o_data): - assert er_data[f'R_{o.info.data_set}'].attrs[ - 'orso_header'].value == Header.asdict(o.info) - assert_almost_equal(er_data[f'R_{o.info.data_set}'].data.values, o.data[:, - 1]) - assert_almost_equal(er_data.coords[f'Qz_{o.info.data_set}'].values, - o.data[:, 0]) - assert_almost_equal(er_data[f'R_{o.info.data_set}'].data.variances, + for i, o in enumerate(list(reversed(o_data))): + assert er_data['attrs'][f'R_{o.info.data_set}']['orso_header'].value == Header.asdict(o.info) + assert_almost_equal(er_data['data'][f'R_{o.info.data_set}'].values, o.data[:, 1]) + assert_almost_equal(er_data['coords'][f'Qz_{o.info.data_set}'].values, o.data[:, 0]) + assert_almost_equal(er_data['data'][f'R_{o.info.data_set}'].variances, np.square(o.data[:, 2])) - assert_almost_equal(er_data.coords[f'Qz_{o.info.data_set}'].variances, + assert_almost_equal(er_data['coords'][f'Qz_{o.info.data_set}'].variances, np.square(o.data[:, 3])) def test_orso3(self): @@ -82,15 +77,14 @@ def test_orso3(self): er_data = _load_orso(fpath) o_data = load_orso(fpath) for i, o in enumerate(o_data): - assert er_data[f'R_{o.info.data_set}'].attrs[ - 'orso_header'].value == Header.asdict(o.info) - assert_almost_equal(er_data[f'R_{o.info.data_set}'].data.values, o.data[:, + assert er_data['attrs'][f'R_{o.info.data_set}']['orso_header'].value == Header.asdict(o.info) + assert_almost_equal(er_data['data'][f'R_{o.info.data_set}'].values, o.data[:, 1]) - assert_almost_equal(er_data.coords[f'Qz_{o.info.data_set}'].values, + assert_almost_equal(er_data['coords'][f'Qz_{o.info.data_set}'].values, o.data[:, 0]) - assert_almost_equal(er_data[f'R_{o.info.data_set}'].data.variances, + assert_almost_equal(er_data['data'][f'R_{o.info.data_set}'].variances, np.square(o.data[:, 2])) - assert_almost_equal(er_data.coords[f'Qz_{o.info.data_set}'].variances, + assert_almost_equal(er_data['coords'][f'Qz_{o.info.data_set}'].variances, np.square(o.data[:, 3])) def test_orso4(self): @@ -101,15 +95,15 @@ def test_orso4(self): o_data = load_orso(fpath) for i, o in enumerate(o_data): print(list(er_data.keys())) - assert er_data[f'R_{o.info.data_set}'].attrs[ + assert er_data['attrs'][f'R_{o.info.data_set}'][ 'orso_header'].value == Header.asdict(o.info) - assert_almost_equal(er_data[f'R_{o.info.data_set}'].data.values, o.data[:, + assert_almost_equal(er_data['data'][f'R_{o.info.data_set}'].values, o.data[:, 1]) - assert_almost_equal(er_data.coords[f'Qz_{o.info.data_set}'].values, + assert_almost_equal(er_data['coords'][f'Qz_{o.info.data_set}'].values, o.data[:, 0]) - assert_almost_equal(er_data[f'R_{o.info.data_set}'].data.variances, + assert_almost_equal(er_data['data'][f'R_{o.info.data_set}'].variances, np.square(o.data[:, 2])) - assert_almost_equal(er_data.coords[f'Qz_{o.info.data_set}'].variances, + assert_almost_equal(er_data['coords'][f'Qz_{o.info.data_set}'].variances, np.square(o.data[:, 3])) def test_txt(self): @@ -118,7 +112,7 @@ def test_txt(self): 'tests/_static/test_example1.txt') er_data = _load_txt(fpath) n_data = np.loadtxt(fpath) - assert_almost_equal(er_data['R_0'].data.values, n_data[:, 1]) - assert_almost_equal(er_data.coords['Qz_0'].values, n_data[:, 0]) - assert_almost_equal(er_data['R_0'].data.variances, np.square(n_data[:, 2])) - assert_almost_equal(er_data.coords['Qz_0'].variances, np.square(n_data[:, 3])) + assert_almost_equal(er_data['data']['R_0'].values, n_data[:, 1]) + assert_almost_equal(er_data['coords']['Qz_0'].values, n_data[:, 0]) + assert_almost_equal(er_data['data']['R_0'].variances, np.square(n_data[:, 2])) + assert_almost_equal(er_data['coords']['Qz_0'].variances, np.square(n_data[:, 3])) From 8abec5bb02d7bcd5a003e0b6665a1272db5a7634 Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Wed, 10 Jan 2024 09:32:02 +0100 Subject: [PATCH 03/10] plot adjustments --- EasyReflectometry/plot.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/EasyReflectometry/plot.py b/EasyReflectometry/plot.py index 733f6ea8..50c47cb9 100644 --- a/EasyReflectometry/plot.py +++ b/EasyReflectometry/plot.py @@ -27,14 +27,15 @@ def plot(data: sc.DataGroup) -> None: ax1 = fig.add_subplot(gs[0, 0]) refl_nums = [k[3:] for k in data['coords'].keys() if 'Qz' == k[:2]] for i, refl_num in enumerate(refl_nums): - copy = sc.DataArray( + plot_data = sc.DataArray( + name=f'R_{refl_num}', data=data['data'][f'R_{refl_num}'], coords={f'Qz_{refl_num}': data['coords'][f'Qz_{refl_num}']} ) - copy.data *= sc.scalar(10.**i, unit=copy.unit) - copy.coords[f'Qz_{refl_num}'].variances = None + plot_data.data *= sc.scalar(10.**i, unit=plot_data.unit) + plot_data.coords[f'Qz_{refl_num}'].variances = None sc.plot( - copy, + plot_data, ax=ax1, norm='log', linestyle='', @@ -42,14 +43,15 @@ def plot(data: sc.DataGroup) -> None: color=color_cycle[i] ) try: - copy = sc.DataArray( + plot_model_data = sc.DataArray( + name=f'R_{refl_num}_model', data=data['data'][f'R_{refl_num}_model'], coords={f'Qz_{refl_num}': data['coords'][f'Qz_{refl_num}']} ) - copy.data *= sc.scalar(10.**float(i)) - copy.coords[f'Qz_{refl_num}'].variances = None + plot_model_data.data *= sc.scalar(10.**float(i)) + plot_model_data.coords[f'Qz_{refl_num}'].variances = None sc.plot( - copy, + plot_model_data, ax=ax1, norm='log', linestyle='--', @@ -64,13 +66,13 @@ def plot(data: sc.DataGroup) -> None: if plot_sld: for i, refl_num in enumerate(refl_nums): - copy = sc.DataArray( + plot_sld_data = sc.DataArray( + name=f'SLD_{refl_num}', data=data[f'SLD_{refl_num}'], coords={f'z_{refl_num}': data['coords'][f'z_{refl_num}']} ) - copy.data += sc.scalar(10. * i, unit=copy.unit) sc.plot( - data[f'SLD_{refl_num}'], + plot_sld_data, ax=ax2, linestyle='-', color=color_cycle[i], From b1714e75fcc585c8e2e18f4c405878fec3873cb9 Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Wed, 10 Jan 2024 09:37:39 +0100 Subject: [PATCH 04/10] code cleaning --- EasyReflectometry/plot.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/EasyReflectometry/plot.py b/EasyReflectometry/plot.py index 50c47cb9..a93e50bc 100644 --- a/EasyReflectometry/plot.py +++ b/EasyReflectometry/plot.py @@ -12,8 +12,6 @@ def plot(data: sc.DataGroup) -> None: A general plotting function for EasyReflectometry. :param data: the DataGroup to be plotted. - - :returns: The plot canvas. """ if len([i for i in list(data.keys()) if 'SLD' in i]) == 0: plot_sld = False From 6174a9aa6e56734df7752e2b9af03ad1e908b9cd Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Wed, 10 Jan 2024 11:05:16 +0100 Subject: [PATCH 05/10] copy to ensure new object --- EasyReflectometry/plot.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/EasyReflectometry/plot.py b/EasyReflectometry/plot.py index a93e50bc..feecfbfa 100644 --- a/EasyReflectometry/plot.py +++ b/EasyReflectometry/plot.py @@ -27,8 +27,8 @@ def plot(data: sc.DataGroup) -> None: for i, refl_num in enumerate(refl_nums): plot_data = sc.DataArray( name=f'R_{refl_num}', - data=data['data'][f'R_{refl_num}'], - coords={f'Qz_{refl_num}': data['coords'][f'Qz_{refl_num}']} + data=data['data'][f'R_{refl_num}'].copy(), + coords={f'Qz_{refl_num}': data['coords'][f'Qz_{refl_num}'].copy()} ) plot_data.data *= sc.scalar(10.**i, unit=plot_data.unit) plot_data.coords[f'Qz_{refl_num}'].variances = None @@ -43,10 +43,10 @@ def plot(data: sc.DataGroup) -> None: try: plot_model_data = sc.DataArray( name=f'R_{refl_num}_model', - data=data['data'][f'R_{refl_num}_model'], - coords={f'Qz_{refl_num}': data['coords'][f'Qz_{refl_num}']} + data=data[f'R_{refl_num}_model'].copy(), + coords={f'Qz_{refl_num}': data['coords'][f'Qz_{refl_num}'].copy()} ) - plot_model_data.data *= sc.scalar(10.**float(i)) + plot_model_data.data *= sc.scalar(10.**i, unit=plot_model_data.unit) plot_model_data.coords[f'Qz_{refl_num}'].variances = None sc.plot( plot_model_data, @@ -66,8 +66,8 @@ def plot(data: sc.DataGroup) -> None: for i, refl_num in enumerate(refl_nums): plot_sld_data = sc.DataArray( name=f'SLD_{refl_num}', - data=data[f'SLD_{refl_num}'], - coords={f'z_{refl_num}': data['coords'][f'z_{refl_num}']} + data=data[f'SLD_{refl_num}'].copy(), + coords={f'z_{refl_num}': data['coords'][f'z_{refl_num}'].copy()} ) sc.plot( plot_sld_data, From 2f128e27cd26400b89eb95a7fe3400809d97f5eb Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Wed, 10 Jan 2024 11:35:20 +0100 Subject: [PATCH 06/10] revert changes to ort files --- tests/_static/test_example1.ort | 2 +- tests/_static/test_example2.ort | 2 +- tests/_static/test_example3.ort | 2 +- tests/_static/test_example4.ort | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/_static/test_example1.ort b/tests/_static/test_example1.ort index 8c6f3cf8..fa5cdaee 100644 --- a/tests/_static/test_example1.ort +++ b/tests/_static/test_example1.ort @@ -10,7 +10,7 @@ # start_date: 2021-05-12 # title: Generation of input for formatting purposes # instrument: Amor -# probe: neutron +# probe: neutrons # sample: # name: Ni1000 # description: air | material Ni, thickness 100 nm | Si diff --git a/tests/_static/test_example2.ort b/tests/_static/test_example2.ort index f178d9a6..701db326 100644 --- a/tests/_static/test_example2.ort +++ b/tests/_static/test_example2.ort @@ -10,7 +10,7 @@ # start_date: 2021-05-12 # title: Generation of input for formatting purposes # instrument: Amor -# probe: neutron +# probe: neutrons # sample: # name: Ni1000 # description: air | material Ni, thickness 100 nm | Si diff --git a/tests/_static/test_example3.ort b/tests/_static/test_example3.ort index db5e1caf..85683f4f 100644 --- a/tests/_static/test_example3.ort +++ b/tests/_static/test_example3.ort @@ -10,7 +10,7 @@ # start_date: 2021-05-12 # title: Generation of input for formatting purposes # instrument: Amor -# probe: neutron +# probe: neutrons # sample: # name: Ni1000 # description: air | material Ni, thickness 100 nm | Si diff --git a/tests/_static/test_example4.ort b/tests/_static/test_example4.ort index c34f0616..d73e2c7c 100644 --- a/tests/_static/test_example4.ort +++ b/tests/_static/test_example4.ort @@ -10,7 +10,7 @@ # start_date: 2021-05-12 # title: Generation of input for formatting purposes # instrument: Amor -# probe: neutron +# probe: neutrons # sample: # name: Ni1000 # description: air | material Ni, thickness 100 nm | Si From c67a8c8c70cc6bd8fce6d591a7c2faa36eec7fae Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Wed, 10 Jan 2024 13:40:35 +0100 Subject: [PATCH 07/10] ort with plural s --- tests/_static/example.ort | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/_static/example.ort b/tests/_static/example.ort index 5ce436a1..fcdfe515 100644 --- a/tests/_static/example.ort +++ b/tests/_static/example.ort @@ -9,7 +9,7 @@ # start_date: 2021-05-12 # title: Example data file from refnx docs # instrument: platypus -# probe: neutron +# probe: neutrons # sample: # name: Polymer Film # category: solid / liquid From 9ed466fe36cd73999dad77fe2e5f7d7991d71407 Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Wed, 10 Jan 2024 13:52:33 +0100 Subject: [PATCH 08/10] removed python 3.8 --- .github/workflows/ci_pip.yml | 2 +- .github/workflows/python-package.yml | 2 +- CONTRIBUTING.rst | 2 +- pyproject.toml | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci_pip.yml b/.github/workflows/ci_pip.yml index 6f1abe24..7996d399 100644 --- a/.github/workflows/ci_pip.yml +++ b/.github/workflows/ci_pip.yml @@ -8,7 +8,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.9', '3.10', '3.11'] os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 1d0dd54c..4fafd5ce 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.9', '3.10', '3.11'] if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 768d8ef8..b1ca1512 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -102,7 +102,7 @@ Before you submit a pull request, check that it meets these guidelines: 2. If the pull request adds functionality, the docs should be updated. Put your new functionality into a function with a docstring, and add the feature to the list in README.rst. -3. The pull request should work for Python 3.8, 3.9, and 3.10, and for PyPy. Check +3. The pull request should work for Python 3.9, 3.10, and 3.11, and for PyPy. Check https://travis-ci.com/easyScience/EasyReflectometryLib/pull_requests and make sure that the tests pass for all supported Python versions. diff --git a/pyproject.toml b/pyproject.toml index c4cc655e..27fa016c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,7 @@ classifiers = [ "Topic :: Scientific/Engineering", "Development Status :: 3 - Alpha" ] -requires-python = ">=3.8,<3.12" +requires-python = ">=3.9,<3.12" dependencies = [ "easyScienceCore @ git+https://github.com/easyscience/easycore.git@failed_unit_check", "refnx>=0.1.15", @@ -75,7 +75,6 @@ isolated_build = True envlist = py{38,39,310,311} [gh-actions] python = - 3.8: py38 3.9: py39 3.10: py310 3.11: py311 From 1daebdfe5acc591931df9608c5f7d2f3fa03ad8c Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Thu, 11 Jan 2024 08:59:03 +0100 Subject: [PATCH 09/10] clean notebook --- docs/monolayer.ipynb | 193 +++++-------------------------------------- 1 file changed, 21 insertions(+), 172 deletions(-) diff --git a/docs/monolayer.ipynb b/docs/monolayer.ipynb index 9d502efa..3df1183e 100644 --- a/docs/monolayer.ipynb +++ b/docs/monolayer.ipynb @@ -22,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "619bb767-475a-408b-b576-552f0bc4f2a7", "metadata": {}, "outputs": [], @@ -51,19 +51,10 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "054b64e7-1417-485e-925b-d2dbe1fa0919", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "EasyReflectometry: 0.0.2\n", - "refnx: 0.1.41\n" - ] - } - ], + "outputs": [], "source": [ "print(f'EasyReflectometry: {EasyReflectometry.__version__}')\n", "print(f'refnx: {refnx.__version__}')" @@ -83,21 +74,10 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "e392660e-6f02-4f0b-be86-4c8ea78883e0", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "data = load('_static/d70d2o.ort')\n", "plot(data)" @@ -138,7 +118,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "80c8d71f-d309-4104-bae6-3941daa525d3", "metadata": {}, "outputs": [], @@ -170,7 +150,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "3ad9adef-8845-486d-8075-9ad6bb81ea6f", "metadata": {}, "outputs": [], @@ -189,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "a39a0eca-97d6-44d7-8796-a5e98d024788", "metadata": {}, "outputs": [], @@ -208,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "204144c3-a3e7-4ab1-9a6c-6aca8241f69e", "metadata": {}, "outputs": [], @@ -227,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "e39cf91b-e049-4619-a5cd-4bdf8492252d", "metadata": {}, "outputs": [], @@ -248,60 +228,10 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "4576f0b9-8815-46bc-b759-9f03379d2d0b", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "layer1:\n", - " EasySurfactantLayer Layer 1:\n", - " material:\n", - " C34D70/Air:\n", - " fraction: 0.0\n", - " sld: 8.753e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material1:\n", - " C34D70:\n", - " sld: 8.753e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material2:\n", - " Air:\n", - " sld: 0.000e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " thickness: 17.600 angstrom\n", - " roughness: 3.000 angstrom\n", - " chemical_structure: C34D70\n", - " area_per_molecule: 45.0 angstrom ** 2\n", - "layer2:\n", - " EasySurfactantLayer Layer 2:\n", - " material:\n", - " C10H18NO8P/D2O:\n", - " fraction: 0.5\n", - " sld: 3.697e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material1:\n", - " C10H18NO8P:\n", - " sld: 1.035e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material2:\n", - " D2O:\n", - " sld: 6.360e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " thickness: 12.900 angstrom\n", - " roughness: 3.000 angstrom\n", - " chemical_structure: C10H18NO8P\n", - " area_per_molecule: 45.0 angstrom ** 2\n", - "area per molecule constrained: true\n", - "conformal roughness: true" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "dspc = SurfactantLayer.from_pars(tail_formula, tail_thickness, air, tail_solvation, \n", " area_per_molecule, roughness,\n", @@ -322,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "c17ecc32-c578-4a22-a12c-da13af1e0347", "metadata": {}, "outputs": [], @@ -342,7 +272,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "f17762ca-33c5-48bb-88a2-bc2568bb18f7", "metadata": {}, "outputs": [], @@ -360,7 +290,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "216bfe40-a97c-4437-a2f9-8bc7966ae58d", "metadata": {}, "outputs": [], @@ -383,7 +313,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "d30eaa0f-be7f-4cbe-a7d6-11f43512f014", "metadata": {}, "outputs": [], @@ -405,7 +335,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "bc61b31f-11bf-43e1-9fd9-d697ded79196", "metadata": {}, "outputs": [], @@ -426,101 +356,20 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "fee84677-477f-4b8d-aaa5-7650d641804c", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdcAAAINCAYAAABsyTUVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABunUlEQVR4nO3deVxUVf8H8M/MwAz7ACKbbCpuiAuKIq4tpKm5ZKWmlVn6/Cqsp8xK22zXnrIso81KfbLSFi2f3DJzyVxAhFRURAVBZRGQfZ85vz+QSQQEhpm5M8Pn/XrNS+bOnZnvXIEP59xzz5EJIQSIiIjIYORSF0BERGRtGK5EREQGxnAlIiIyMIYrERGRgTFciYiIDIzhSkREZGAMVyIiIgNjuBIRERmYjdQFmDutVotLly7B2dkZMplM6nKIiEgCQggUFxfD19cXcnnz7VKGazMuXboEf39/qcsgIiIzkJGRAT8/v2b3Y7g2w9nZGUDtAXVxcZG4GiIikkJRURH8/f11mdAchmsz6rqCXVxcGK5ERO1cS08PckATERGRgTFciYiIDIzhSkREZGAMVxPILCzH/rO5yCwsl7oUIiIyAQ5oMrL1celYtOEYtAKQy4AlU/pg2qAAqcsiIiIjYsvViDILy3XBCgBaATy/4ThbsEREVo7hakSpuaW6YK2jEQJpuWXSFERERCbBcDWizh6OkF93SZRCJkOQh4M0BRERkUkwXI3IR22PJVP61DvIr0/uDR+1vWQ1ERGR8TFcjWzaoAD8ufBmOCoVAIA+nVylLYiIiIyO4WoCnVwdMKizOwDg8Pl8iashIiJjY7iaSHigGwBge1IWRwsTEVm5dhOuZWVlCAwMxIIFCyR5/6KKagDAwXP5GLrkD6yPS5ekDiIiMr52E65vvvkmhgwZIsl7ZxaW4/O9qbr7ArzelYjImrWLcE1JScGpU6cwduxYSd4/Nbe0wTZe70pEZL0kD9e9e/diwoQJ8PX1hUwmw88//9xgn5iYGAQFBcHOzg4RERGIjY1t1XssWLAAS5YsMVDFrcfrXYmI2hfJw7W0tBT9+vVDTExMo4+vX78e8+fPx+LFi3HkyBH069cPY8aMQU5Ojm6f/v37IzQ0tMHt0qVL+OWXX9C9e3d0797dVB+pgbrrXRVXF9mVA3hlYgivdyUislIyIYRofjfTkMlk2LhxIyZPnqzbFhERgUGDBuGjjz4CAGi1Wvj7++Pxxx/HwoULm33NRYsWYe3atVAoFCgpKUF1dTWefvppvPzyy43uX1lZicrKSt39oqIi+Pv7o7CwEC4uLm36fJmF5Zi75jCOXyrC/Nu64Z5wfwYsEZEFKCoqglqtbnEWSN5yvZGqqirEx8cjKipKt00ulyMqKgoHDhxo0WssWbIEGRkZSEtLw7vvvou5c+c2Gax1+6vVat3N39+/zZ+jjo/aHi72tgCA93akYNhSjhomIrJGZh2uubm50Gg08PLyqrfdy8sLWVlZRnnPRYsWobCwUHfLyMgw2GvXruuap7vPVXKIiKxTu1rP9cEHH2x2H5VKBZVKZZT3v9GoYXYPExFZD7NuuXp4eEChUCA7O7ve9uzsbHh7e0tUlf44apiIqH0w63BVKpUYOHAgdu7cqdum1Wqxc+dOREZGGvW9Y2JiEBISgkGDBhnsNetGDdflqwzAW1NC2WolIrIykncLl5SU4MyZM7r7qampSExMhLu7OwICAjB//nzMmjUL4eHhGDx4MJYvX47S0lLMnj3bqHVFR0cjOjpaN0LMUKYNCoAAsPCnYwjycMS0QQEGe20iIjIPkofr4cOHcfPNN+vuz58/HwAwa9YsrF69GtOmTcPly5fx8ssvIysrC/3798e2bdsaDHKyJKNDvHE2pwSDgtylLoWIiIzArK5zNUetvbapNTILy5GaW4rOHo7sGiYiMmOtzQLJW67mKiYmBjExMdBoNEZ5/fVx6Vi04Ri0ApDLgCVT+rCLmIjISrDl2gxjtFwzC8sRueSPetsUMhn2LbyZLVgiIjNkVTM0WSuukkNEZN0YrhLg9a5ERNaN4doEY1znWofXuxIRWTeec22GMUcLbzl2CY99kwAXOxt8PHMAuno6MWCJiMwQz7lakNtCvGFnK0dRRQ3u+zKWq+QQEVkJhquEcksqUVGt1d3nKjlERNaB4SohjhomIrJODNcmGHNAU53OHo64btAwRw0TEVkBDmhqhjEHNAG1MzU9v+E4NEJAIZPhrSmhnKmJiMjMcPpDCzNtUABGdu+ItNwyKGQCJVUaZBaWc9QwEZEFY7iaAR+1PZZsOYlNf2cC4FzDRESWjudczUBmYbkuWAGOGiYisnQMVzPAUcNERNaF4doEU4wWrsO5homIrAtHCzfD2KOF66yPS8fCn46h7j9j6ZRQTB8caLT3IyKiluP0hxZq2qAA/P70SNgqapuwWgGecyUislAMVzPStaMzeng7AwCe33iccw0TEVkohqsZySwsx/GLRbr7HDVMRGSZGK5mhKOGiYisA8PVjHDUMBGRdWC4mhEftT2WTOmj+0+RAXh1UginQiQisjAM1yaY8jrXa00bFIA/F96MDo5KCAA5xZU850pEZGF4nWszTHWd6/Vmr4rFruTLADjXMBGR1Iy2Ks7Ro0dbXUxISAhsbLg2QGtlFpbrghX4Z9TwyO4d2UVMRGQBWpx8/fv3h0wmQ0sbunK5HKdPn0aXLl30Lq69utGoYYYrEZH5a1Wz8tChQ+jYsWOz+wkhEBoaqndR7V3dqGHtNX/HcNQwEZHlaHG4jho1CsHBwXB1dW3R/iNHjoS9PVtZ+qgbNbzop2PQXt22aFwPtlqJiCwEBzQ1Q6oBTUDtudf7vjgEuUyG96b2Rx8/tUnfn4iIahltQNONaDQaHDt2DIGBgXBzczPESxJqW7C/zBsOJ5UNMgvLsf9sLjp7OLIFS0Rk5vS6zvXJJ5/El19+CaA2WEeNGoUBAwbA398fu3fvNmR97Z6Tygbr49IxbOkfmLHyECfzJyKyAHqF648//oh+/foBAP73v/8hNTUVp06dwlNPPYUXXnjBoAVKRapJJK6XWViORRuO6QY3aQWw6Kdj+DvjiqR1ERFR0/QK19zcXHh7ewMAtmzZgnvuuQfdu3fHQw89hGPHjhm0QKlER0fjxIkTiIuLk7SO1NzSeqOGAUALYPLH+9mCJSIyU3qFq5eXF06cOAGNRoNt27bhtttuAwCUlZVBoVAYtMD2rrOHI2SNbBdcjo6IyGzpFa6zZ8/G1KlTERoaCplMhqioKAC118H27NnToAW2dz5qeyy9q0+jAcvl6IiIzJNeo4VfeeUVhIaGIiMjA/fccw9UKhUAQKFQYOHChQYtkGon8+/p7YzJH+/HtRdOyQFOLEFEZIYMdp1rQUFBiyeYsCRSXud6vfVx6fUmlnhwaCBemciZsIiIjK21WaBXt/Dbb7+N9evX6+5PnToVHTp0gJ+fn14T/FPLTBsUgL8W3YIJfX0AAFfKqrH/bC7PuxIRmRm9wvXTTz+Fv78/AGDHjh3YsWMHtm7dittvvx0LFiwwaIFUn4/aHosn9sbDw4OwKfESr30lIjJDep1zzcrK0oXrr7/+iqlTp2L06NEICgpCRESEQQukhqo1Wny5L013n0vSERGZF71arm5ubsjIyAAAbNu2TTdaWAgBjUZjuOqoUTdako6IiKSnV8t1ypQpmDFjBrp164a8vDyMHTsWAJCQkIDg4GCDFkgNNbYkHUcOExGZD71aru+//z7mzZuHkJAQ7NixA05OTgCAzMxMPPbYYwYtkBqqW5Lu2v+8W3p5IjW3lIObiIjMAJeca4Y5XYpzvczCcnzxZyq+3Jeq2yaXAUum9MG0QQESVkZEZF1McikOAHz99dcYPnw4fH19cf78eQDA8uXL8csvv+j7ktRKPmp7PDgssN42LadFJCKSnF7h+sknn2D+/PkYO3YsCgoKdIOYXF1dsXz5ckPWJxlzWRWnORn5DUOUg5uIiKSlV7iuWLECK1euxAsvvFBvov7w8HCuimNidYObriUD4KDUu1OCiIjaSK/fwKmpqQgLC2uwXaVSobS04WUiZDyNDW4SAO7kknRERJLRK1w7d+6MxMTEBtu3bduGXr16tbUmaqVpgwKwMXpovW0890pEJB29rnOdP38+oqOjUVFRASEEYmNj8d1332HJkiX44osvDF0jtUBpVcPJO+rOvXLWJiIi09IrXOfMmQN7e3u8+OKLKCsrw4wZM+Dr64sPPvgA06dPN3SN1AKNTSwhAyeWICKSQpuvcy0rK0NJSQk8PT0NVZNZMefrXK+3Pi4dz284Ds01/6UvjOuJO/r5svVKRNQGrc0CTiLRDEsKV6B2Yom03DL8Z/spJKQXAKhtwS69qw9Gdu+I1NxSdPZwZNgSEbVCa7Ogxd3CYWFhkMlkze8I4MiRIy19WTKwutCsC1agdvTwcz8dg+zq15zFiYjIuFocrpMnTzZiGWRIja2aA9QGK8Al6oiIjK3F4bp48WJj1kEG1NjgputxJDERkfG0aRqfqqoqXLhwAenp6fVuJK26iSUUV7vx5ag973otGYDckgpeB0tEZAR6DWg6ffo0Hn74Yezfv7/ediEEZDKZVS2YbmkDmq5VN7gpyMMBe09fbjCSGPhnsBPPvxIRNc1oA5quNXv2bNjY2ODXX3+Fj49Piwc6kWn5qO113b7TBgVgZPeOiE+7gnnfJej2EQAW/XQMPb2dUVql4UhiIiID0CtcExMTER8fj549exq6HjIiH7U93J0aDnbSApgUU9sLwZHERERtp1e4hoSEIDc319C1kAk0N9hJK2pbso4qGwwMdGMrlohID3oNaHr77bfx7LPPYvfu3cjLy0NRUVG9G5mvxgY7XU8LYN63CRi29A+urENEpAe9BjTJ5bW/kq8/12quA5qCgoLg4uICuVwONzc37Nq1q8XPteQBTTdSN9jJQSnHnR/vb7Ilq5DJsG/hzWzBElG7ZpIBTa0JJ3Oxf/9+ODk5SV2G2bh2sNOSKX0aHUkM1F4PG592Be5OnDaRiKil2sXcwkFBQTh+/Lhe4WqtLdfrZRaWIz7tCp5Yl9BkK5aDnYiovWptFug9iURBQQGWLVuGOXPmYM6cOXj//fdRWFjY6tfZu3cvJkyYAF9fX8hkMvz8888N9omJiUFQUBDs7OwQERGB2NjYVr2HTCbDqFGjMGjQIHzzzTetrrE98FHb445+vvXOx16PC7ATEbWMXt3Chw8fxpgxY2Bvb4/BgwcDAN577z28+eab+O233zBgwIAWv1ZpaSn69euHhx56CFOmTGnw+Pr16zF//nx8+umniIiIwPLlyzFmzBgkJyfrlrnr378/ampqGjz3t99+g6+vL/bt24dOnTohMzMTUVFR6NOnD/r27avPR7d6ddfDpuWWIa+0EvO+Taj3uEYIxKXmw8NZxW5iIqIm6NUtPGLECAQHB2PlypWwsanN55qaGsyZMwfnzp3D3r179StGJsPGjRvrLRIQERGBQYMG4aOPPgIAaLVa+Pv74/HHH8fChQtb/R7PPPMMevfujQcffLDRxysrK1FZWam7X1RUBH9/f6vvFm5MZmE5hi39g93ERNTumaRb+PDhw3juued0wQoANjY2ePbZZ3H48GF9XrJRVVVViI+PR1RUlG6bXC5HVFQUDhw40KLXKC0tRXFxMQCgpKQEf/zxB3r37t3k/kuWLIFardbd/P392/YhLNj1l+1c31nMbmIiosbp1S3s4uKC9PT0BjM0ZWRkwNnZ2SCFAUBubi40Gg28vLzqbffy8sKpU6da9BrZ2dm48847AQAajQZz587FoEGDmtx/0aJFmD9/vu5+Xcu1vWpJNzFX1yEiqk+vcJ02bRoefvhhvPvuuxg6dCgA4K+//sIzzzyDe++916AFtlWXLl3w999/t3h/lUoFlUplxIosT91lO5mF5Y3O7nQ6uwhBHg5IzeXlOkREgJ7h+u6770Imk+GBBx7QDSSytbXFo48+iqVLlxqsOA8PDygUCmRnZ9fbnp2dDW9vb4O9T2NiYmIQExNjdhNiSKmum7jumlgZaif+X7zpBF7ZdAIC/5yHHdm9I8OWiNqtNl3nWlZWhrNnzwIAunbtCgcHh7YV08SApsGDB2PFihUAagc0BQQEYN68eXoNaGqt9nKda2vUze4U0MEeH+48g/VxGQ32qQteDnoiImtgkhma6jg4OKBPnz5teQmUlJTgzJkzuvupqalITEyEu7s7AgICMH/+fMyaNQvh4eEYPHgwli9fjtLSUsyePbtN70v6u3Z2p0n9fRsN17q/2OoGPY3s3pEtWCJqN1ocrlOmTMHq1avh4uLS6PWo19qwYUOLCzh8+DBuvvlm3f26wUSzZs3C6tWrMW3aNFy+fBkvv/wysrKy0L9/f2zbtq3BICeSRnOr7AAc9ERE7U+Lw1WtVusm6ler1QYr4KabbkJzPdPz5s3DvHnzDPaeLcFzri1z/XlYOWpX1bmWHIC7o60E1RERSaNdzC3cFjzn2jJ152GDPByw9/TlemGrslUgsIMDlk3th8Lyag5yIiKL09os0Ctcy8vLIYTQDWA6f/48Nm7ciJCQEIwePbr1VZsxhqt+6sJWI7R4ct3fyC35Z9YrGYCld9UOcsosLOeoYiIyeyYJ19GjR2PKlCl45JFHUFBQgB49ekCpVCI3NxfvvfceHn30Ub2KN0cM17aLTc3D1M8ONtg+urcXfj+RDa3gqGIiMm8mmf7wyJEjGDFiBADgxx9/hLe3N86fP4///ve/+PDDD/V5SbJiNU2MdvotKVs3EIpTKRKRNdErXMvKynTTHP7222+YMmUK5HI5hgwZgvPnzxu0QKnExMQgJCTkhlMlUsvUjSi+VmOL2tWNKiYisnR6hWtwcDB+/vlnZGRkYPv27brzrDk5OVbTdRodHY0TJ04gLi5O6lIs3vULAChkMiwc27NB4MoBBHm0bSISIiJzoNckEi+//DJmzJiBp556CrfeeisiIyMB1LZiw8LCDFogWYdrFwAI8nCAj9oerg62ulHFAODqqISTqk3zmhARmQW9L8XJyspCZmYm+vXrB7m8tgEcGxsLFxeXBqvlWDIOaDKuzMJyJF0swou/HEdWYQXGhXpjy/EsAMDhF2+Fh5OdxBUSEZlw+kNvb+8Gk+cPHjxY35ejdqpuKkVXB1tM/eyALlgBILuokuFKRBZJr3OupaWleOmllzB06FAEBwejS5cu9W7WgAOaTCs8yB1P3Nqt3rbxH+7D+rh0iSoiItKfXt3C9957L/bs2YP7778fPj4+umkR6/z73/82WIFSY7ew6WRcKcWIt3fX26aQybBv4c2cYIKIJGWSbuGtW7di8+bNGDZsmD5PJ2pURn7Da1w1QuDv9AJEfvMHAGDzE8PR29dwc1sTERmDXt3Cbm5ucHd3N3Qt1M519nBssE0hkyEps1B3n13FRGQJ9ArX119/HS+//DLKynjBPxmOj9oeL43vpbsvA/Ds7T2w4o+z9fbjTE5EZO706hZetmwZzp49Cy8vLwQFBcHWtv5yYkeOHDFIcdT+TArzxeubTwIAfn1iOArLqxvs09z6sLklFQh/YycAXs5DRNLQK1wnT55s4DLMD9dzlZ6XiwrujspGH/N0aXw7EZE54HquzeBoYel9+ec5XWu2zoNDg/DKxN6N7s+WKxEZmklWxQGAgoICfPHFF1i0aBHy8/MB1HYHX7x4Ud+XJGrUwyO64MCiW/Dd3CFYPq0fAGDNgTQcTsuXuDIiosbp1S189OhRREVFQa1WIy0tDXPnzoW7uzs2bNiA9PR0/Pe//zV0ndTO1c3kBAB/ncnDodSWBStneSIiKejVcp0/fz4efPBBpKSkwM7un19c48aNw969ew1WHFFjXp4Qgm1PjkB4kDsyC8ux/2xuvdHDvyRc0n3NS3eISAp6tVzj4uLw2WefNdjeqVMnZGVlNfIMIsNxtqsdnX79udi37gxFYAeHBudnn99wHCO7d+QsT0RkMnqFq0qlQlFRUYPtp0+fRseOHdtcFFFzMgvLG4boxuON7tvcpTtERIamV7fwxIkT8dprr6G6uvYaRJlMhvT0dDz33HO46667DFqgVDhxv3lLzS1tdLudTcNvaYVMxkXYicik9ArXZcuWoaSkBJ6enigvL8eoUaMQHBwMZ2dnvPnmm4auURLR0dE4ceIE4uLipC6FGtHYVIlyADsXjGowy9NbU0Lh7cJBTURkOnp1C6vVauzYsQP79u3D0aNHUVJSggEDBiAqKsrQ9RE1qm6qxLquYRmAJXf1QSdXh3qzPH07NwIbjlxEXmkVHrspWMKKiag90XuxdAAYPnw4hg8fbqhaiFrl4RFdMK6vD9JyyxDk4dDoOdUzOSX4If4CVDZyjAv1QVAjLV4iIkPTO1zj4uKwa9cu5OTkQKvV1nvsvffea3NhRC1x7fWvjbk91Avbk7Kx70wuXvj5GNY+HNFg/WEiIkPTK1zfeustvPjii+jRowe8vLzq/bLiLy4yJzKZDG/eGYrR7+/FX2fysOHIRdw10E/qsojIyukVrh988AG++uorPPjggwYuh8jwAjs44smo7nh72ym8sfkEevk6o6CsGp09HHl5DhEZhV7hKpfLMWzYMEPXQmQ0c0Z0xi+JF3EqqxjjPtin2/72XX0wbVCAhJURkTXS61Kcp556CjExMYauhcggPJzskLZ0PNKWjtfNK2yrkGPBmB4N9q1beD23pAJBCzcjaOFm5JZUtOr92vJcIrJOerVcFyxYgPHjx6Nr164ICQlpsFj6hg0bDFIckSE5KBUNtmmEQOrlUnT3dpKgIiKyVnq1XJ944gns2rUL3bt3R4cOHaBWq+vdrAFnaLI+jU08AQBvbD6JA2fydPeziypNVRIRWSm9Fkt3dnbGunXrMH78eGPUZFa4WLp1uX6yf1uFDNWahj8CrTkXy8XZiaxfa7NAr25hd3d3dO3aVZ+nEknq+oknbORyLPstGeviMurtt+inY1xJh4j0ple38CuvvILFixejrKzM0PUQGZ2P2h6RXTvAR22Pjs4qTOzv22AfLVCvq5iIqDX0arl++OGHOHv2LLy8vBAUFNRgQNORI0cMUhyRKTR1Lravv3WMHyAi09MrXCdPnmzgMoikc/0iAADw1G3dEOzpDAAQQuBkVlGLJp7ILqrkOVci0m9AU3vCAU3tw7WDkjY/MRy9ff9ptT7ydRy2JeXo7s+I8EeYvxsqqjVwUNqgoKyqXjBzYgoi62OSAU1E1szLRaX7+mJBWb1gBYBvD2Xg20O1A6AC3B2Qnl9/7MHzG45zMBRRO9ficHV3d8fp06fh4eEBNze3G07Qn5+fb5DiiEylblan653Pa3zQXn9/V/ioa7t/rw9XjRBIyy1juBK1Yy0O1/fffx/OzrXnoJYvX26seojMSmODnRQyGT65bwB81PbILCzH1uNZ9R6XAwjycDBRhURkjnjOtRk850rr49Lx/Ibj0AgBhUyGt6aE1junev3EFJP6++KD6WFSlEpERmK0c65FRUUtLoIhRNZk2qAAjOzeUTfxxPXdvZPCfOuF676UXJRU1sBJxSENRO1Vi3/6XV1dW7wQukaj0bsgInPko7Zv0TlUf3d7ZOSX4/O95zD/tu4mqIyIzFGLw3XXrl26r9PS0rBw4UI8+OCDiIyMBAAcOHAAa9aswZIlSwxfpQRiYmIQExPDPxSoVaJv7oqFPx3Hyr3ncF9EADxdeM0rUXuk1znXW2+9FXPmzMG9995bb/u3336Lzz//HLt37zZUfZLjOVdqzrXXyMa9cAvm/vcIEjMKMCMiAG/d2Ufi6ojIEFqbBXrNLXzgwAGEh4c32B4eHo7Y2Fh9XpLIKshkMiwa2xMeTkr09uUfY0TtlV7h6u/vj5UrVzbY/sUXX8Df37/NRRFZsoguHbDvuVswMyJQ6lKISCJ6DWd8//33cdddd2Hr1q2IiIgAAMTGxiIlJQU//fSTQQskskR2tgqpSyAiCenVch03bhxSUlIwceJE5OfnIz8/HxMmTMDp06cxbtw4Q9dIZJGEEPj16CU8tT4RTQ1tyC2pQNDCzQhauBm5JRUmrpCIjKXFLdejR48iNDQUcnltHvv5+eHNN99scv+kpCT06NEDNja81o/ap8sllXj6+0RU1ghsTLjYYEEAIrJeLW65hoWFIS+v5YtHR0ZGIj09Xa+iiKyBp7MdwgPddffHf7gP6+OM8zPBFjCReWlxs1IIgZdeegkODi2bM7WqqkrvoogsSVOT/mcWluOvs/X/IF300zGumEPUDrQ4XEeOHInk5OQWv3BkZCTs7fkLhNqv1NzSBtu0APYkX8b0wVzvlciatThcrWliCCJTaGxFHQB4ffMJ3B7qDVcHpYkrshzXTsxx+MVb4eHEma7Isug1WpiImuejtsfbd/WB4uqc3HIA3b2csGB0DwYrGR3Pw0uLQ3mJjOj6FXU8ne0gv2b9i/RrFmPPLqpkC43ISrDlSmRkPmp7RHbtAB+1PRRymW51qaKKasxZc1i3X1OjiVvbAskuqjRc8TfAlhFR0xiuRBJJyS5Gfll1vW0LfzqGvzOutPq1fkm4pPvamJf8EFHLsFuYSCKVNdoG2wSASTH70dvXBW9MDkVYgFu9x+u6jgvLq3Empxins0uQU1SB939Pqbff8xuO85IfIgkxXIkk0tRoYhmApEtF8HBSAWjYKnWxs0FRRY1um5Oq4Y+xRgik5ZbpFa4cqWtYPJ7tE7uFiSTio7bHS+N76e7LALx9Vx8cfjEKn943AP7uDsgsLMfrm0/We15dsPqo7TCye0fc0denwWvLAAR5tGzCFyIyvHbRck1NTcVDDz2E7OxsKBQKHDx4EI6OjbcaiExpUpivLjx/vWbu4dtDawOzsYkoAODLWeG4tZeX7n43T6d6ISwAbD2WhYeGdzZS5abTnkdRs9VrudpFy/XBBx/Ea6+9hhMnTmDPnj1QqVRSl0TUgJdLw+/LxrqOFTIZQq5biH1SmK/u6/uH1M7+9NqvJ/BzwkXddksa3dvaAVqW9NmofbD6cE1KSoKtrS1GjBgBAHB3d+dKPWQxGus6fmtK6A3PpT5xazBmDwsCACz44W/sSs4xcpXNa034NdYV/vyG48gsLDdmiSZhqsukSHqSh+vevXsxYcIE+Pr6QiaT4eeff26wT0xMDIKCgmBnZ4eIiAjExsa2+PVTUlLg5OSECRMmYMCAAXjrrbcMWD2R8V3bKv31ieGYNujG8xLLZDK8ND4Ek/r7okYr8OjaeMSfb/3lPVKJTc1vsK1ugJYl4mVS7ZPk4VpaWop+/fohJiam0cfXr1+P+fPnY/HixThy5Aj69euHMWPGICfnn7/G+/fvj9DQ0Aa3S5cuoaamBn/++Sc+/vhjHDhwADt27MCOHTuarKeyshJFRUX1bkTmorGu48bI5TK8c3c/jOreERqtQFaheXeVXruY/ODO7o3us/NUNiqqNaYqqQF9up4ba4Uv/OmYVbTC6cYk7x8dO3Ysxo4d2+Tj7733HubOnYvZs2cDAD799FNs3rwZX331FRYuXAgASExMbPL5nTp1Qnh4OPz9/QEA48aNQ2JiIm677bZG91+yZAleffVVPT8NkeE1taRdc5Q2cnxy3wAkXSrCoCD3eoFgLoOEhBD47UQ23tmejC8eCEeQhyN81PZ4YVxPvLnlVL19v/gzFb+fyMbXD0fA371tI6FNNVBo5d5zDbYJQO/LpKj1pBoUJnnL9UaqqqoQHx+PqKgo3Ta5XI6oqCgcOHCgRa8xaNAg5OTk4MqVK9Bqtdi7dy969erV5P6LFi1CYWGh7paRkdHmz0EkFQelDQYF1bYE9emeNOY5wlNZRZj5xSH839fxOJNTgphdZ3SP3Tmgk+7rXx8fhhX3hsHTWQVHlQ181NL/UdAcrVbgzc0n8NVfaQ0ek+Ofy6ROZxfjxZ+PIa2JUeFkuSRvud5Ibm4uNBoNvLy86m338vLCqVOnmnhWfTY2NnjrrbcwcuRICCEwevRo3HHHHU3ur1KpOJqYrE5T3ZOVNVqE+LjAW20HLxc72CrkDUL47bv6NHuetzVSskqw/HgKvj2UDq2obWH/a0QXPHpT10b391bbIbSTK27q0RF5JVWwUdS2CSqqNfj+cAbuNcO1cVPzSvH1wfMAgJu6d8Tu05cB1A5IW3JXH12rdeXec/gh/gK+OZSO23t7418juzSYlcuStedLicw6XA2lua5nImvX2PWyAsDLvyTp7i8Y3R13DfRrEMKLfjoGPzd7DAhwh71S0ejrN9fNfG1g3/vFId3X4/p4Y9HYXi3q5nW2s4Wzna3u/qd7zmL57yn4+sB5PDO6e4trMYWuHZ3wwfQwVFRrMCy4gy5grr2WGQDuGuiHyyWV2J18GVuPZ2Hr8SwMCnLDv0Z2xa09Peu9pjl8Lmo5sw5XDw8PKBQKZGdn19uenZ0Nb29vo753TEwMYmJioNFIN4CCyFAau15WBqCfvyvySiuRXVgJb7V9oyGsBTDzi9oR+h5OKgS422PuiC64VPDPoJzxH+7DxH4+CPJwwpXSKuSXVdX+W1qFf43s0iCwASBmZhjG9/FtsL2lgjo4ooOjEik5JfjX2iP1ajF0a7slUrKLUVmjRWin2vAc07v2d9S157qvH5A2pEsHDOnSAclZxfjiz3P4OfEi4tKuIC7tMAZ3dseYkH967dryuRjMpmfW4apUKjFw4EDs3LkTkydPBgBotVrs3LkT8+bNM+p7R0dHIzo6GkVFRVCr1c0/gciM1V0vWxdyMgBLr/lFrdUKaIXA5ZLGz7E6qWxQUlmD3JJK5JZU4lIj3cyb/s5s9LlJlxofce/u0LbTL5PDOuHmHp549X9J2HDNZBlAbZf3tQsXCCF0S/1dzxDB89eZXDyyNh52tgpsfGwo/NxaN+Cqh7cz3rmnHxaM6YHV+9Ow9uB59PNTNzjGz/10DL+fyIazvS2UCjlsFXIobeQY18cHAwNru5MvFpRj2/EsHE7L0z1Pn2Buz126hiB5uJaUlODMmX8GMqSmpiIxMRHu7u4ICAjA/PnzMWvWLISHh2Pw4MFYvnw5SktLdaOHiahlI4qbmmoRqL10Rw7ZDUO4sKwa6fllyLhSBo224Yo+ABDVyxMhPi5wc1TC3VEJNwcl3Bxt8eW+1Hr7KWQyg8x9rHawxd3hfg3C9doRuRXVGgxb+gd6+bggLMAV/f1dkXSxULdvW1u63x/OwPMbjqFGK9DDyxkOSv1/rXq52OG523si+uZgHDqXh5V/pjbYZ8fJhpOCBHs66cL1bE4JXv/1RIN9uFKSaUkerocPH8bNN9+suz9//nwAwKxZs7B69WpMmzYNly9fxssvv4ysrCz0798f27ZtazDIicgS6XuZTVvd6HrZpkJY7WCLPg5q9PFTN3qdpkImw+uTG5896vrAbm6WqdZorMv72hG5SZeKkFdahX1ncrHvTG6jr6FP8AghsOy30/jo6ijnif188Z+7+8LOtvHz0q3hpLJpMMUlUHvsnozqBjtbBao1WlRpBKo1tYPS6nRwUmJo1w7Yfzav3nPbslIStZ7k4XrTTTfVu4C8MfPmzTN6N/D1eM6VqOkQbqyFe6PAvFGrua0aq+XaEbn9/NT49fHhSMwoQEJ6AQ6cy8WlgvqTQNQFj0Iuw29J2RjSpQO6dnRssiu5qlqLf69LxKa/awdqPX5LMJ6K6g65vOH++v4B1VxXflN6+6qxbGo/RC75o8Fjh1LzENm1Q6trodYz6+tcpRQdHY0TJ04gLi5O6lKIzFJrp2Ws09JZpgxVi41CjtBOatw3JBDLpvbDT48ObfD8um7qfSm5ePHn44h6bw8GvbkT0d8cwdcH0nA6u7heI+CDnSnY9Pcl2Mhl+M/dffH06B6NBqsxP9eNXD8ndZ1rR1uTcUneciUiy2eMwNRXc7XcqNXtbGeLIV3ckZBegNySSmw+lonNx2oHatnb/tMWWX/4Arp2dMTrk0IxNNjDaJ/lWq09xvV6Cx4fhtJKDSK6sNVqKgxXImp3muqmvi3EC7eFeKGyRoO/Mwpx6FweDqbm4XDaFZRX1x/ElXq5FJ07Wsa60N5qu3qjfQvLq/H1gTQ8elMwFEZocRPDtUk850rUPjTWIlTZKDC4szsGd3bH4+iGvadz8MBX9U8RaWGZcwRrtQJz/3sYsan5OJVVjPen9YetgmcIDY3h2gRe50rWRqqRydagm5dzg22GupzI1ORyGR4cGoSE9Cv49Wgmyqo0+HjmAIOMcqZ/8M8VIqJm6LNovTkb18cHKx8Ih52tHH+cysGsr2JRXFEtdVlWheFKREZX12pOWzreYmf60Xfkrrm6qYcn/vtQBJxUNjiUmo/7vjiEK6VVUpfVgD7r6JoDhisRmR1zD2NzGh3dFoM7u+O7uUPg5mCLvy8U4t/rE6UuyWowXJsQExODkJAQDBo0SOpSiIiMpo+fGt//XyRCfFzw8h0hUpdjVMZcn/h6DNcmcBIJImovunk5Y/MTwxHs6aTbVlXd+PzRlub69YnXx6Wb5H0ZrkREVG+qx30puZj88X7dfVO2+AyloKwKmY2s3vT8huONzo1taLwUh4gsXmsvM+JlSU0TQmDFHynIKf4nUMd/uA/zb+uGe8L9oba31WvlH1OsKSuEwKHUfKzZn4adJ3Pw7tS+DfYx1QIGDFciqofB077JZDK8eWcoot7bW2/7eztS8N6OFMwZ3hkvXj03m1VYgamfHYCDUgEnlQ0cVDZwUingqLSBo8oGpZX/XN4z/sN9WDolFNMHBxq85vIqDX5JvIjV+9NwKqtYt/3ClcZXbzLF9ckMVyIiqufaVuu1FDIZHFX/xEZxRe0avy21cMNxbDhyEeFB7ujrp0YfP1f4qu2aXH2oOQVlVfh0zzmsi0tHQVltkNvZynFnmB8eHBqEHt7OUCnkRlvu8EYYrkREZkqqXoTG1shVyGTYt/BmeDn/07Xr5+aAnx6NRGmlBqWVNSitqv23pLIGp7OL8UvipQavE5t2BbFpV3T3Ozgq0cdPjRmDAzC6t/cN67q+a1kul+HrA2kordLAz80eD0QGYmq4P1wdlLp9jLnc4Y0wXJvAuYWJqL1q6Xq99koFBga6N/oamYXlDcJVDuCZ23sgPb8MRy8UIjmrGHmlVdidfBm3hXjp9juVVYR3tiWjj58aWQX/dO2O/3AfwvxdseGxoZDJZHCxs8XCsT3h5WKHW3t5NbsIgSmvT2a4NoFzCxNRe9bWFl9Ti9hfO7NVRbUGp7KKcexCAUYEd9RtP3K+ADtP5WDnqZwGr5uQUYDtJ7Jwe28fAMD9kUGt/GSmwUtxiIjohvRt8TU3ZaSdrQL9/V1xf2QQAjr8M8gosmsHLJ4QguFNrJWrkJl/dJl/hUREZPFaE9CdPRwxe1hnvHNPw0tpFDIZQju5GLI0o2C4EhGRWbLk1YgYrkREZLYsdTUihisREVkES1qNiOHaBK6KQ0RE+mK4NoGr4hARkb54nSsRUQtwzmVqDbZciYiIDIwt12YIIQAARUVFEldCZF6KS6r++bqoBEpt1Q32JlNr6/+PIf5/zeE1DPV9WpcBdZnQHJlo6Z7t1IULF+Dv7y91GUREZAYyMjLg5+fX7H4M12ZotVpcunQJzs7Oei+LJLWioiL4+/sjIyMDLi7mP7OJsfA48BjU4XHgMajT0uMghEBxcTF8fX0hlzd/RpXdws2Qy+Ut+ivFEri4uLTrH6I6PA48BnV4HHgM6rTkOLRmERcOaCIiIjIwhisREZGBMVzbAZVKhcWLF0Olspypw4yBx4HHoA6PA49BHWMdBw5oIiIiMjC2XImIiAyM4UpERGRgDFciIiIDY7gSEREZGMPVSsTExCAoKAh2dnaIiIhAbGxsk/smJSXhrrvuQlBQEGQyGZYvX266Qo2sNcdh5cqVGDFiBNzc3ODm5oaoqKgb7m8pWnMMNmzYgPDwcLi6usLR0RH9+/fH119/bcJqjac1x+Fa69atg0wmw+TJk41boAm05hisXr0aMpms3s3Ozs6E1RpPa78XCgoKEB0dDR8fH6hUKnTv3h1btmxp3ZsKsnjr1q0TSqVSfPXVVyIpKUnMnTtXuLq6iuzs7Eb3j42NFQsWLBDfffed8Pb2Fu+//75pCzaS1h6HGTNmiJiYGJGQkCBOnjwpHnzwQaFWq8WFCxdMXLnhtPYY7Nq1S2zYsEGcOHFCnDlzRixfvlwoFAqxbds2E1duWK09DnVSU1NFp06dxIgRI8SkSZNMU6yRtPYYrFq1Sri4uIjMzEzdLSsry8RVG15rj0NlZaUIDw8X48aNE/v27ROpqali9+7dIjExsVXvy3C1AoMHDxbR0dG6+xqNRvj6+oolS5Y0+9zAwECrCde2HAchhKipqRHOzs5izZo1xirR6Np6DIQQIiwsTLz44ovGKM9k9DkONTU1YujQoeKLL74Qs2bNsvhwbe0xWLVqlVCr1SaqznRaexw++eQT0aVLF1FVVdWm92W3sIWrqqpCfHw8oqKidNvkcjmioqJw4MABCSszLUMch7KyMlRXV8Pd3d1YZRpVW4+BEAI7d+5EcnIyRo4cacxSjUrf4/Daa6/B09MTDz/8sCnKNCp9j0FJSQkCAwPh7++PSZMmISkpyRTlGo0+x2HTpk2IjIxEdHQ0vLy8EBoairfeegsajaZV781wtXC5ubnQaDTw8vKqt93LywtZWVkSVWV6hjgOzz33HHx9fev9IFoSfY9BYWEhnJycoFQqMX78eKxYsQK33Xabscs1Gn2Ow759+/Dll19i5cqVpijR6PQ5Bj169MBXX32FX375BWvXroVWq8XQoUNx4cIFU5RsFPoch3PnzuHHH3+ERqPBli1b8NJLL2HZsmV44403WvXeXBWHCMDSpUuxbt067N6922oGcbSUs7MzEhMTUVJSgp07d2L+/Pno0qULbrrpJqlLM4ni4mLcf//9WLlyJTw8PKQuRzKRkZGIjIzU3R86dCh69eqFzz77DK+//rqElZmWVquFp6cnPv/8cygUCgwcOBAXL17EO++8g8WLF7f4dRiuFs7DwwMKhQLZ2dn1tmdnZ8Pb21uiqkyvLcfh3XffxdKlS/H777+jb9++xizTqPQ9BnK5HMHBwQCA/v374+TJk1iyZInFhmtrj8PZs2eRlpaGCRMm6LZptVoAgI2NDZKTk9G1a1fjFm1ghvi9YGtri7CwMJw5c8YYJZqEPsfBx8cHtra2UCgUum29evVCVlYWqqqqoFQqW/Te7Ba2cEqlEgMHDsTOnTt127RaLXbu3Fnvr1Brp+9x+M9//oPXX38d27ZtQ3h4uClKNRpDfS9otVpUVlYao0STaO1x6NmzJ44dO4bExETdbeLEibj55puRmJgIf39/U5ZvEIb4XtBoNDh27Bh8fHyMVabR6XMchg0bhjNnzuj+wAKA06dPw8fHp8XBCoCX4liDdevWCZVKJVavXi1OnDgh/vWvfwlXV1fdMPr7779fLFy4ULd/ZWWlSEhIEAkJCcLHx0csWLBAJCQkiJSUFKk+gkG09jgsXbpUKJVK8eOPP9a7/KC4uFiqj9BmrT0Gb731lvjtt9/E2bNnxYkTJ8S7774rbGxsxMqVK6X6CAbR2uNwPWsYLdzaY/Dqq6+K7du3i7Nnz4r4+Hgxffp0YWdnJ5KSkqT6CAbR2uOQnp4unJ2dxbx580RycrL49ddfhaenp3jjjTda9b4MVyuxYsUKERAQIJRKpRg8eLA4ePCg7rFRo0aJWbNm6e6npqYKAA1uo0aNMn3hBtaa4xAYGNjocVi8eLHpCzeg1hyDF154QQQHBws7Ozvh5uYmIiMjxbp16ySo2vBacxyuZw3hKkTrjsGTTz6p29fLy0uMGzdOHDlyRIKqDa+13wv79+8XERERQqVSiS5duog333xT1NTUtOo9ueQcERGRgfGcKxERkYExXImIiAyM4UpERGRgDFciIiIDY7gSEREZGMOViIjIwBiuLbR3715MmDABvr6+kMlk+Pnnn43+nhcvXsR9992HDh06wN7eHn369MHhw4eN/r5EppacnIxBgwahc+fO+OWXX6Quh6jNGK4tVFpain79+iEmJsYk73flyhUMGzYMtra22Lp1K06cOIFly5bBzc3NJO9PZEovv/wypk+fjs8//xyPP/641OUQtRnDtYXGjh2LN954A3feeWejj1dWVmLBggXo1KkTHB0dERERgd27d+v9fm+//Tb8/f2xatUqDB48GJ07d8bo0aMtbgJxsj6rV6+GTCaDTCbDk08+aZDXVKvVCAwMRHBwMDw9PRs8ftNNN+neMzEx0SDvSWRMDFcDmTdvHg4cOIB169bh6NGjuOeee3D77bcjJSVFr9fbtGkTwsPDcc8998DT0xNhYWFWs9YktVxGRgYeeugh+Pr6QqlUIjAwEP/+97+Rl5dnsPfYvXs3BgwYAJVKheDgYKxevbrZ57i4uCAzM7PeUmQbNmzA6NGj0aFDh2ZDsHPnzvj9999191977TVMmzYNwcHBWLRoUYP9N2zYgNjY2FZ9LiIpMVwNID09HatWrcIPP/yAESNGoGvXrliwYAGGDx+OVatW6fWa586dwyeffIJu3bph+/btePTRR/HEE09gzZo1Bq6ezNW5c+cQHh6OlJQUfPfddzhz5gw+/fRT3Yoe+fn5bX6P1NRUjB8/XrcCzJNPPok5c+Zg+/btN3yeTCaDt7c3nJ2dddtKS0sxfPhwvP322zd87tGjR3HlyhWMGjVKt+3QoUPw8/PD9OnTsX///gbPcXd3R8eOHVv56Ygk1PYpkdsfAGLjxo26+7/++qsAIBwdHevdbGxsxNSpU4UQQpw8ebLRSeKvvT333HO617S1tRWRkZH13vfxxx8XQ4YMMclnJOndfvvtws/PT5SVldXbnpmZKRwcHMQjjzwihBBi165djX4/3Whi+jrPPvus6N27d71t06ZNE2PGjGnyOatWrRJqtbrJx+sWhkhISGj08ddee01Mmzat3rZJkyaJhQsXiq1btwpPT09RXV3d6tclMidcLN0ASkpKoFAoEB8fX2+BXQBwcnICAHTp0gUnT5684et06NBB97WPjw9CQkLqPd6rVy/89NNPBqqazFl+fj62b9+ON998E/b29vUe8/b2xsyZM7F+/Xp8/PHHGDp0KDIzM3WPnzx5EuPGjcPIkSObfZ8DBw4gKiqq3rYxY8YY7FxqYzZt2oT58+fr7ufk5GDLli1488030bNnT8hkMmzevBmTJk0yWg1ExsZwNYCwsDBoNBrk5ORgxIgRje6jVCrRs2fPFr/msGHDkJycXG/b6dOnERgY2KZayTKkpKRACIFevXo1+nivXr1w5coVXL58GZ6envD29gYA5OXlYc6cOXjooYfw0EMPNfs+WVlZ8PLyqrfNy8sLRUVFKC8vbxDsbXXx4kUcPXoUY8eO1W1bu3Ytevfujd69ewMApk+fjtWrVzNcyaIxXFuopKQEZ86c0d1PTU1FYmIi3N3d0b17d8ycORMPPPAAli1bhrCwMFy+fBk7d+5E3759MX78+Fa/31NPPYWhQ4firbfewtSpUxEbG4vPP/8cn3/+uSE/Fpk50cyKkEqlUvd1dXU17rrrLgQGBuKDDz4wdml62bRpE4YPHw5XV1fdtlWrVuHBBx/U3b/vvvswdOhQXL58medZyWJxQFMLHT58GGFhYQgLCwMAzJ8/H2FhYXj55ZcB1P6CeOCBB/D000+jR48emDx5MuLi4hAQEKDX+w0aNAgbN27Ed999h9DQULz++utYvnw5Zs6cabDPROYrODgYMpmsyVMJJ0+eRMeOHeuF1KOPPoqMjAz88MMPsLFp2d/N3t7eyM7OrrctOzsbLi4uBm+1ArXhOnHiRN39w4cP4/jx43j22WdhY2MDGxsbDBkyBNXV1Vi7dq3B35/IZKQ+6UtEjRs9erTo1KlTkwOannnmGd22ZcuWCWdnZ3Hs2LFWvcezzz4rQkND62279957jTKgqbi4WKhUKpGamqrb9thjj4mRI0eKY8eO1bs9++yzom/fvi16XSJzxHAlMlOnT58WHh4eYsSIEWLPnj0iPT1dbN26VYSGhor+/fuL4uJiIYQQO3bsEAqFQnz66aciMzNTdysoKGj2Pc6dO6cL6pMnT4qYmBihUCjEtm3bmnxOU+Gal5cnEhISxObNmwUAsW7dOpGQkCAyMzOFEEL88MMPok+fPrr9KyoqhJubm/jkk08a/ewARHx8vG4bw5UsCcOVyIylpqaKWbNmCS8vLyGTyQQAMWXKFFFaWqrbZ/HixXpfiiNE7aU8/fv3F0qlUnTp0kWsWrXqhvs3Fa6rVq1qtI7FixcLIYS47777xAsvvKDbf926dUIul4usrKxG36dPnz5i3rx59Y4Fw5UshUyIZkZMtHNarRaXLl2Cs7MzZDKZ1OVQO/fWW28hJiYGP//8MwYNGiRJDd988w0WLVqE9PT0Fj+npqYGwcHB+OmnnzBw4EC93vf8+fPo27cv/vzzT/Tt21ev1yDSlxACxcXF8PX1hVze/HAlhmszLly4AH9/f6nLICIiM5CRkQE/P79m9+OlOM2om94tIyMDLi4uEldD1DoRERHIyMho9LHly5dj6tSprX7N4uJi5OTkAABcXV3rTX5iLJcuXUJ5eTkAwN/fv94lSESmUFRUBH9//3pTft4IW67NKCoqglqtRmFhIcOVLM758+dRXV3d6GNeXl4t/kVB1N61NgvYciWyYpzRi0ganESCiIjIwBiuREREBsZwJSIiMjCGKxERkYFxQBORhIoqqnEqsxjp+WXIKixHVlEFiitqUFqpQVlVDapqtJDLZVDIZLBRyOCotIGboy3U9kp4OCnh7+6AwA4OCOrgCDtbRfNvSEQmwXAlMqHckkrsSb6MP1Mu40h6AdLzywzyugq5DN29nNHf3xURnd1xcw9PqB1sDfLaRNR6DFciI9NqBXaeysH6uHTsSr4Mjbb+peW+ajt06egEH7UdvNV2UNvbwkFpA0eVAkqFHFoBaIRAjUaLksoaFJRV40pZFS4XVyI9vwxpuaUoqqjBycwinMwswnex6bCRyxDRxR0T+/liYr9OsFeyVUtkSpxEohmcRIL0JYTA9qRsLP/9NE5lFeu29/Z1wajuHTG0qwd6+7rAzbHtsw1lFpYjMb0ACRkF2JN8GcnZ/7yfi50NZkQE4pFRXeDqwJmNiPTR2ixguDaD4Ur6uFRQjhc2HsOu5MsAAGeVDWZEBOCecD8Eexp/VqS03FJsPZ6F72LTdV3PznY2ePSmrpgzvAuUNhzLSNQaDFcDY7hSa21PysKC7/9GcWUNlAo55o7sjLkjpGk11nVJL/stWdd67untjHfu7oc+fmqT10NkqRiuBsZwpZYSQuDTPefwn+2nIAQQFuCKd+7ua5KWanO0WoGfEy/i9V9P4EpZNWzkMrx0RwgeiAzkUopELdDaLGDfEJEBCCHwxuaTeHtbbbDePyQQP/xfpFkEKwDI5TJMGeCHHfNHYWyoN2q0Aos3JeHZH4+iqkYrdXlEVofhSmQAy39PwZf7UgEAiyeE4PXJobBRmN+Pl4eTCh/PHIAXxvWCXAb8EH8B//f1YVRUa6QujciqmN9PP5GFWbM/DR/sTAEAvDIhBLOHdZa4ohuTyWSYO7ILvnpwEOxs5diVfBkPrY5DWVWN1KURWQ2GK1EbHDyXh9d+PQEAePq27njQzIP1Wjf18MSa2YPhqFRg/9k8RH9zBDUadhETGQLDlUhPeSWVmPftEWi0ApP7+2LeLcFSl9RqEV064L8PR+hasC/9chwc40jUdgxXIj29vCkJuSVV6O7lhCVT+lrsqNuBgW5Yce8AyGXAd7EZ+GzvOalLIrJ4Vh2uGo0GL730Ejp37gx7e3t07doVr7/+Ov8ypzbbciwTm49mQiGXYdk9/S1+esHbQrzwysTeAIB3tifj0Lk8iSsismxWHa5vv/02PvnkE3z00Uc4efIk3n77bfznP//BihUrpC6NLFhBWRVe+vk4AOCxm7pazWQM9w8JxJSwTtBoBR7/LgGXiyulLonIYll1uO7fvx+TJk3C+PHjERQUhLvvvhujR49GbGys1KWRBfvojzPIK63tDn78lm5Sl2MwMpkMb9wZim6eTsgprsSCH/5mLw+Rnqw6XIcOHYqdO3fi9OnTAIC///4b+/btw9ixY5t8TmVlJYqKiurdiOqk55VhzYE0AMCL40Osbo5eB6UNPp45AEobOfacvowfDl+QuiQii2Rdvxmus3DhQkyfPh09e/aEra0twsLC8OSTT2LmzJlNPmfJkiVQq9W6m7+/vwkrJnP39vZTqNYIjOzeESO7d5S6HKPo5uWMp2/rDgB4/dcTuFRQLnFFRJbHqsP1+++/xzfffINvv/0WR44cwZo1a/Duu+9izZo1TT5n0aJFKCws1N0yMjJMWDGZs78zCrD5aCbkMuD5cT2lLseo5ozogrAAVxRX1uCFjcfYPUzUSla9WPozzzyja70CQJ8+fXD+/HksWbIEs2bNavQ5KpUKKpXKlGWShfh49xkAwOSwTujpbd2LOCjkMrxzdz+M/WAvdiVfxu8nc3BbiJfUZRFZDKtuuZaVlUEur/8RFQoFtFrOQkOtcyanBL+dyAZQO0K4PQj2dMKcEV0AAK/9msT5h4lawarDdcKECXjzzTexefNmpKWlYePGjXjvvfdw5513Sl0aWZjP956FELXXg5rLSjemMO/mYHi72CEjvxyf7jkrdTlEFsOqw3XFihW4++678dhjj6FXr15YsGAB/u///g+vv/661KWRBcksLMfGhIsAgEfbSau1jqPKBi+M7wUA+HTPWWQXVUhcEZFlsOpwdXZ2xvLly3H+/HmUl5fj7NmzeOONN6BUKqUujSzI2oPnUa0RGNzZHQMC3KQux+Tu6OuDgYFuqKjWYvnvKVKXQ2QRrDpcidqqWqPF91ev9XxwaJC0xUhEJpPhudtrR0d/fzgDZ3JKJK6IyPwxXIluYOfJbFwuroSHk6pdj5Yd3NkdUb08odEKvLs9WepyiMwew5XoBr45lA4AmBruB1tF+/5xefb2npDLgG1JWTh+sVDqcojMWvv+bUF0A+l5ZfgzJRcAMH1QgMTVSK+7lzMm9PMFAKz4g+deiW6E4UrUhO8P187ONaKbBwI6OEhcjXmYd3MwZDJge1I2TmVx3m2ipjBciRohhMAvf9defnNPOOeXrtPNyxnjQn0AACv+OCNxNUTmi+FK1IiEjAJk5JfDQanAbb3a70Cmxsy7JRhA7YLxZ3KKJa6GyDwxXIkasSnxEgBgdIgX7JUKiasxL718XDA6xAtC1K5tS0QNMVyJrlOj0eLXo5kAgEn9O0lcjXl64tbaReL/dzQTF7kkHVEDDFei6xw4l4fckkq4OdhieDcPqcsxS6Gd1BgW3AEarcCqfalSl0NkdhiuRNf539+1XcLj+vi0+2tbb6RuxZx1cRkoqqiWuBoi88LfHETX0GgFfj+ZAwAY38dH4mrM203dO6KbpxNKKmuwLjZd6nKIzArDlega8eevIL+0Cmp7Wwzu7C51OWZNJpNh7tXW66q/0lCt4TrJRHUYrkTX+C0pCwBwa09P2LBLuFmTwnzh4aRCZmEFthzLlLocIrPB3x5EVwkhsONkNgC060n6W0Nlo8CsyEAAwOd7z0EIIXFFROaB4Up01ensEpzPK4PSRo6R3TtKXY7FuG9IIOxs5Ui6VIQD5/KkLofILDBcia6q6xIeHuwBR5WNxNVYDjdHJe4e6AcAWP1XmrTFEJkJhivRVb+fqh0lzC7h1psVGQQA+P1kNi5cKZO2GCIzwHAlApBfWoWjFwoAALf09JS2GAvUzcsZw4M9oBXA1wfPS10OkeQYrkQA/ky5DCGAnt7O8HKxk7ocizRraBAAYH1cBiqqNdIWQyQxhisRgD2nLwMARvXgQCZ93dLTE35u9igoq8YviRelLodIUgxXave0WoG9p3MBAKM4SlhvCrkMD1y9LGf1/vO8LIfaNYYrtXsnMouQW1IJB6UC4YGclaktpob7w85WjpOZRYhLuyJ1OUSSYbhSu7c3pbZLeGjXDlDa8EeiLVwdlLgzrHaZvjX706QthkhC/E1C7d6e5KvnW9klbBB1A5u2JWUhs5BrvVL7xHCldq28SoMj6bXdlyO6MVwNoae3CyI6u0OjFfjmIFfLofaJ4Urt2uHz+ajWCPiq7RDYwUHqcqzGg1dbr9/FpvOyHGqXGK7Urh04WzsX7pCuHSCTySSuxnrcFuIFX7Ud8kqrsPkoV8uh9ocTqFK7VjfRfGSXDhJXYl1sFHLMHBKId7YnY82BNEwZ0Il/vJiZqhotsgorcLGgHDnFFSgqr0ZheTUKymr/La2qQVWNFpVXb1VXb9UaLbRCQAjU/gvo7tfeBLTXPGaIS7IMcVXX8G4e+GB6WNtfqIUYrtRulVTW4OiFQgBAZFeGq6HdOzgAH+xMwdELhUjIKMCAADepS2qXhBBIzy9DYkYBTmYW41RWEZKzipFVVGGQ0LIUxRU1Jn0/hiu1W3Fp+dBoBfzd7eHnxvOthubuqMTEfr74Mf4C1uxPY7iaUEW1BrtO5WDnqRwcOJuHiwWNj9pW2cjRydUeni4quNoroba3hdrBFmp7WzipbKCykUN59aayUUBpI4etQgaFTAaZTAa5DJDJZJDJALlMBhmu/ivDP9tkQO0jbdPWjg8HpaLNNbQGw5XarYNn2SVsbA8ODcKP8Rew5VgmXhjfC57OnLfZWIQQOHguH+vi0rHjRDbKqv4ZSGarkCG0kxohPi7o5eOCXj7OCOzgiA6OSnbXGwnDldot3flWdgkbTWgnNQYGuiH+/BWsPZiO+bd1l7okq1Ot0eLnhIv46q80nMws0m3v5GqPcX28MaJbR4QHucFByV/3pmT1R/vixYt47rnnsHXrVpSVlSE4OBirVq1CeHi41KWRhIoqqnH84tXzrV08JK7Gus0eFoT481fwzcHzeOymrrCzNW33nLUSQmDr8Sy8sz0ZqbmlAAB7WwXuHNAJdw/0Q5i/K1ulErLqcL1y5QqGDRuGm2++GVu3bkXHjh2RkpICNzee+2nvYs/lQyuAzh6O8Fazq9KYbu/tjU6u9rhYUI5fEi9i2qAAqUuyeCczi/D8xmNISC8AAHRwVGLOiC64d7A/XB2U0hZHAKw8XN9++234+/tj1apVum2dO3eWsCIyF3VdwkN4vtXobBRyPDg0CG9uOYkv96Viarg/W1R6qqrRImbXGcTsOoMarYCDUoE5I7rgXyO7wEll1b/OLY5VTyKxadMmhIeH45577oGnpyfCwsKwcuXKGz6nsrISRUVF9W5kfWJT8wEAQ7pwFRxTmDbYH45KBU5nl2DfmVypy7FI5y6XYFLMX/hgZwpqtAKjQ7ywa8FNmH9bdwarGbLqcD137hw++eQTdOvWDdu3b8ejjz6KJ554AmvWrGnyOUuWLIFardbd/P39TVgxmUJJZQ2SLtWebx3cmeFqCi52trgnvPZn6ct9qRJXY3m2HMvExI/+wsnMIrg7KvHRjDB8dv9AeLnwlIa5kgkrXtFYqVQiPDwc+/fv12174oknEBcXhwMHDjT6nMrKSlRWVuruFxUVwd/fH4WFhXBxcTF6zWR8+1Jycd+Xh9DJ1R5/LbxF6nLajfN5pbjp3d0QAvh9/kgEezpLXZLZ02oF3t52Cp/tPQcAGBzkjo9mhMGToWpyRUVFUKvVLc4Cq265+vj4ICQkpN62Xr16IT296ZU6VCoVXFxc6t3IusSl1XYJDwriwDZTCuzgiNt6eQEAvvorTdpiLEBFtQaPfXNEF6z/N7ILvp0bwWC1EFYdrsOGDUNycnK9badPn0ZgYKBEFZE5OHy+NlzDg9glbGoPD68dUPhT/AXkllQ2s3f7lV9ahRkrD2JbUhaUCjk+mN4fi8b1go3Cqn9lWxWr/p966qmncPDgQbz11ls4c+YMvv32W3z++eeIjo6WujSSSI1Gq7t8YRDD1eQGd3ZHf39XVNZo8RXPvTYqp6gCUz87gCPpBXCxs8HXDw/GpP6dpC6LWsmqw3XQoEHYuHEjvvvuO4SGhuL111/H8uXLMXPmTKlLI4mczCxGWZUGLnY26ObpJHU57Y5MJkP0zcEAgK8PnEdhebXEFZmXrMIKTP/8IM7klMDbxQ4bHhuKCF4uZpGsfvz2HXfcgTvuuEPqMshM1J1vHRjoBrmc11pK4daenujh5Yzk7GKsPXheF7bt3YUrZZix8hDS88vQydUe380dgoAOXFDCUll1y5XoejzfKj25XIZHb+oKoPaynPJrJphvry4VlGPaZweRnl8Gf3d7rP8/BqulY7hSuyGEwOG0KwB4vlVqd/T1gb+7PfJLq7AurunR++1Bbkkl7vvyEC4WlCOogwO+/79ILoFoBRiu1G5k5Jcjp7gSSoUcff3UUpfTrtko5HhkVG3r9ZPdZ1FR3T5br0UV1Zj1VSzOXS6Fr9oO38wdAh+1vdRlkQEwXKndqDvfGtrJhSuzmIG7B/qhk6s9coorsWZ/mtTlmFxFtQZz1hxG0qUidHBU4us5EejkymC1FgxXajfi02u7hHm+1TyobBR4MqobAOCTPWdRVNF+Rg5Xa7R47JsjiE3Nh7PKBmseGoyuHTl63ZqYzWjho0ePtvo5ISEhsLExm49AZq7u+tYBAa6S1kH/mDLAD5/tPYczOSX4Yu85zB/dQ+qSjE6rFVjww9/441QOVDZyfPngIIR24mkKa2M2ydS/f3/IZDK0dKpjuVyO06dPo0uXLkaujKxBaWUNkrNqVzgKC+C0h+ZCIZdhwejueGTtEXyxLxUPDA2Ch5NK6rKMRgiBxZuS8EviJdjIZfj0voFcPMJKmU24AsChQ4fQsWPHZvcTQiA0NNQEFZG1OHaxEFoB+KrtuJKImRnT2xt9/dQ4eqEQK3am4NVJ1vuz/d6O0/j64HnIZMCyqf1wc09PqUsiIzGbcB01ahSCg4Ph6uraov1HjhwJe3ue/KeWqesS7s8uYbMjk8mw8PaemPHFIaw9lI4ZEYHo4W19K+Z88ec5rPjjDADg9UmhnNLQypnNgKZdu3a1OFgBYMuWLfDx8TFeQWRVEq4OZgrzZ5ewORoa7IGxod7QaAVe2ZTU4tNDlmJdbDre2HwSAPDMmB64bwgXD7F2ZhOuRMYihEBCRgEAIIwtV7P1/LheUNnIceBcHrYcy5K6HIP539+XsGjjMQC1y8Y9dnV2KrJuZheumZmZWLt2LbZs2YKqqqp6j5WWluK1116TqDKyVJcKK3C5uBI2chlHZZoxf3cH3bSIr/4vySom9f/jVDaeWp8IIYAZEQFYOLYnZDLOad0emFW4xsXFISQkBNHR0bj77rvRu3dvJCUl6R4vKSnBq6++KmGFZInquoR7+XDyCHP3yKiu6NLRETnFlXjj1xNSl9MmB87m4dG1R1CjFZjU3xevTwplsLYjZhWuzz//PO68805cuXIF2dnZuO222zBq1CgkJCRIXRpZsLrBTOwSNn92tgq8c3dfyGTAD/EXsDs5R+qS9BKXlo85a+JQWaNFVC8vvHtPPyi4ClO7YlbhGh8fj4ULF0Iul8PZ2Rkff/wxFixYgFtvvRVxcXFSl0cWSjeYieFqEQYGumP20M4AgOd+Ooq8kkqJK2qdA2fz8MCXsSit0mBYcAd8NCMMtgqz+lVLJmB2/+MVFRX17i9cuBDPP/88Ro8ejf3790tUFVmqqhotjl+qnTyiP0cKW4wFY7oj2NMJ2UWVeOr7v6HVWsbo4T9TLmP26liUV2swopsHvnhgEE9FtFNmFa6hoaGNBuiCBQuwaNEi3HvvvRJURZbsZGYRqmq0cHWwRRDXx7QYDkobxMwYADtbOfaevoyPd5+RuqRm7TyZjYfXHEZFtRa39PTEygfCYa9ksLZXZhWuDzzwAP76669GH3v22Wfx6quvIiAgwMRVkSX75/pWVw4msTA9vJ3x2tXZmpbtOI1txzMlrqhp3xw6j7n/PYyqGi1Gh3jh0/sGssXazplVuM6ZMwdff/11k48/99xzSE1NNWFFZOn+ub6VXcKW6J6BfrhvSACEAP69LhFHrv6xZC60WoGlW0/hhY3HoRXAXQP8EDNzAJQ2ZvWrlSTA7wCyaolXw7W/v6ukdZB+ZDIZXpnQG7f09ERljRYPr47Diavn0KVWWF6N/1sbj0/3nAUAPBnVDe/e05eDlwiAmYYrBy6RIeSVVOJ8XhkAoB/D1WLZKORYcW8Y+vmpcaWsGveuPIi/r/7RJJVjFwpxx4o/seNENpQKOd69px+ejOrOUw+kY3bhumXLFtx5551Sl0FWoK7VGuzpBLW9rbTFUJs4qmzw34cjMCDAFYXl1Zj5xSH8cSrb5HVUa7T4ePcZ3PXJfmTkl8Pf3R4/PToUdw/0M3ktZN7MKlzXrl2L6dOn45tvvpG6FLICuskj2Gq1Cmp7W/z34QgM6eKOksoaPLzmMFbsTDHZZTrHLxZi0kd/4T/bklGl0eK2EC/8Om8E+vhxSk1qyGzCdfny5ZgzZw7Wrl2LqKgoqcshK6A738rJI6yGk8oG/30oQjfIadmO07jnswM4k1NstPe8VFCOZ374GxM/2ocTmUVwdbDFsnv64fP7B0LtwB4RapzZrOc6f/58fPjhh5g4caLUpZAV0GiFLly5zJx1UdrI8cbkPujr54pXNyUh/vwVjPtgH2ZEBOCxm7rC08XOIO9zJqcYX/yZig0JF1FVowUATOjni8UTQuDhpDLIe5D1kgkzWThxxIgRyMvLw59//okOHTpIXY5OUVER1Go1CgsL4eLiInU51EKns4sx+v29cFAqcHTxaNhwBKdVulRQjhd/Po4/TtXOQayykWN8Xx/cM9AfEZ3dIW/lfL6ZheX4/WQOfk64iPjz/1z2E9HZHQvH9uQlXe1Ya7PAbFquO3bswF133YXbbrsNu3fvZpBRmyRePd/ap5OawWrFfF3t8eWscPx1Jg/v/34a8eevYMORi9hw5CLcHGwxtKsH+vqp0c3LCT5qe6jtbaG0kaNao0VxRQ0yCytwPq8USReLcCT9ClJySnSvLZcBt4V4Ye6ILhgY6MaRwNQqZhOudnZ22LRpE2bNmoXbb7+dl+NQmyRk1E3Wz5aGtZPJZBjezQPDgjvgSPoV/HD4AjYfzcSVsmpsPpaJzcdaPrOTXAb09XPFHX19MKGfL7wM1MVM7Y/ZhCsAKBQKrF27Fk8++aTUpZCF4zJz7Y9MJsPAQHcMDHTH65NDcfRCAfafyUNydjHO5JTgcnElCsurUaMVsFXI4KiygbeLHTq52qOXjwtCO7lgSJcOcHVQSv1RyAqYVbjWWb58udQlkAUrqaxBcnbt6FFehtM+2SrkuqC9Vt0QE3bxkrFZ3MkoLpxOzTl6oQBCAJ1c7Q02cpSsg0wmY7CSSVhEuObl5eGDDz5Av379EB4eLnU5ZObquoR5fSsRScVsw1Wr1eJ///sfpkyZgk6dOuHTTz/FhAkTcPjwYalLIzPHmZmISGqSh2tubi4WLVqEd955B9XV1UhKSsKCBQvg6+uLOXPmoFOnTtBoNPjpp5/wxhtvICwsTO/3Wrp0KWQyGQdMWTEhBBJ1I4VdpS2GiNotycP13nvvRUVFBWQyGfz8/BAREYGLFy/iyy+/xKVLl7BixQqDvE9cXBw+++wz9O3b1yCvR+bpwpVy5JZUwVYhQ29fzvlKRNKQPFxPnTqFGTNmYPbs2cjLy8O//vUvvPbaaxg/fjwUCoVB3qOkpAQzZ87EypUr4ebG6x6tWd1i2iG+atjZGub7h4iotSQP1xdffBGTJ0/GqFGjsHTpUqSlpSE0NBQRERH46KOPkJub2+b3iI6Oxvjx41u0IEBlZSWKiorq3chy8HwrEZkDya9z/b//+z/MnDkTKpUKtra1K0xcvnwZa9euxcqVK/HUU09Bq9Vix44d8Pf3h7Ozc6tef926dThy5Aji4uJatP+SJUvw6quvtvpzkHlIqJusn+dbiUhCkrdcAcDJyUkXrADQsWNHPPXUU/j7779x8OBBPProo3jttdfg6enZqlVzMjIy8O9//xvffPMN7Oxadr3jokWLUFhYqLtlZGS0+vOQNCqqNThxqRAAMIDTHhKRhMwiXG9k4MCB+Oijj5CZmYk1a9agpqamxc+Nj49HTk4OBgwYABsbG9jY2GDPnj348MMPYWNjA41G0+A5KpUKLi4u9W5kGZIuFaJaI+DhpIKfm73U5RBROyZ5t/C1AgICMHHiREycOBG33HILbGz+KU+pVGLq1KmYOnVqi1/v1ltvxbFjx+ptmz17Nnr27InnnnvOYAOmyDxcO58wZ+EhIimZVbh+/fXX2LRpE6Kjo3H58mWMGTMGEydOxPjx4+Hq6trq13N2dkZoaGi9bY6OjujQoUOD7WT5OFk/EZkLs+oWHjVqFJYtW4aUlBT89ddf6N+/P1asWAFvb2/ccsstWL58Oc6dOyd1mWSmEq5ehhPmz/OtRCQtmahbJsKMZWVl4X//+x82bdqEnTt3okuXLnj77bcxfvx4o793a1efJ2lkFVZgyJKdkMuAY6+MgaPKrDpliMjCtTYLLOI3kLe3N+bOnYu5c+eirKwM27dvh0qlkrosMiN1Ux728HZhsBKR5Czqt1BNTQ1yc3Nx5513Sl0KmRmebyUic2JW51ybk5SUhM6dO0tdBpmhumkPeX0rEZkDiwpXosZUa7Q4eqF28gi2XInIHJhVt/CAAQNu+Hh5ebmJKiFLciqzGJU1WqjtbdG5g6PU5RARmVe4njhxAtOnT2+y6zczMxOnT582cVVk7hKuDmbq7+8KuZyTRxCR9MwqXOtWw3n00UcbfTwxMRErV640cVVk7jiYiYjMjVmdcx02bBiSk5ObfNzZ2RkjR440YUVkCXSTR3AwExGZCbNquX7wwQc3fLxr167YtWuXiaohS5BXUom0vDIAtd3CRETmwGxarkePHoVWq23x/klJSa1aIYesU/z52lZrN08nqO1tm9mbiMg0zCZcw8LCkJeX1+L9IyMjkZ6ebsSKyBIcvhqu4UHuEldCRPQPs+kWFkLgpZdegoODQ4v2r6qqMnJFZAni0vIBAIOCeL6ViMyH2YTryJEjbziY6XqRkZGwt+eC2O1ZRbUGxy/WTh4xiC1XIjIjZhOuu3fvlroEsjB/ZxSgWiPg5aKCnxv/0CIi82E251yJWuva860yGSePICLzwXAli1V3vjU8kOdbici8MFzJImm0QncZDs+3EpG5YbiSRTqdXYziiho4KhXo6e0sdTlERPUwXMki1Z1vHRDoBhsFv42JyLzwtxJZpMO6863sEiYi88NwJYsjhEBcKiePICLzxXAli5ORX45LhRWwVcjQn8vMEZEZYriSxTlwLhcA0M/PFQ5Ks5kHhYhIh+FKFufA2doFHiK7dpC4EiKixjFcyaIIIXDg3NVw7cJwJSLzxHAli5KaW4rsokooFXIM4MxMRGSmGK5kUfZf7RIeEOgKO1uFxNUQETWO4UoW5Z8uYQ+JKyEiahrDlSyGEAKHznEwExGZP4YrWYyUnBLkllTBzlaOfv5qqcshImoSw5UsRt0lOOGB7lDZ8HwrEZkvhitZDF7fSkSWwqrDdcmSJRg0aBCcnZ3h6emJyZMnIzk5WeqySA81Gi3+Ols7M9NQhisRmTmrDtc9e/YgOjoaBw8exI4dO1BdXY3Ro0ejtLRU6tKolRIzClBcUQNXB1v09XOVuhwiohuy6olZt23bVu/+6tWr4enpifj4eIwcOVKiqkgfe05fBgCM6NYRCrlM4mqIiG7MqsP1eoWFhQAAd/em1wCtrKxEZWWl7n5RUZHR66Lm1YXrqO4dJa6EiKh5Vt0tfC2tVosnn3wSw4YNQ2hoaJP7LVmyBGq1Wnfz9/c3YZXUmNySShy9UPuH0chunDyCiMxfuwnX6OhoHD9+HOvWrbvhfosWLUJhYaHulpGRYaIKqSn7UmoHMoX4uMDTxU7iaoiImtcuuoXnzZuHX3/9FXv37oWfn98N91WpVFCpVCaqjFpC1yXcg13CRGQZrDpchRB4/PHHsXHjRuzevRudO3eWuiRqJY1W6MJ1ZDeGKxFZBqsO1+joaHz77bf45Zdf4OzsjKysLACAWq2Gvb29xNVRS8Sfv4L80iqo7W0RHsQl5ojIMlj1OddPPvkEhYWFuOmmm+Dj46O7rV+/XurSqIV+S6r9g+jWnp6wVVj1tysRWRGrbrkKIaQugdpACIHfTmQDAG4L8ZK4GiKilmNTgMzW6ewSpOeXQWkjx0he30pEFoThSmarrkt4RLAHHFVW3clCRFaG4Upma8fJ2i7h0b3ZJUxEloXhSmYpPa8MRy8UQi4DbunJcCUiy8JwJbP0v6OXAABDu3qgozMn9SAiy8JwJbMjhMDPCRcBABP7+0pcDRFR6zFcyeycyipGSk4JlDZy3B7qLXU5REStxnAls/NLYm2X8C09POFiZytxNURErcdwJbOi1Qr87+/acJ3ELmEislAMVzIrB87l4WJBOZxVNri5p6fU5RAR6YXhSmbl20PpAIBJYb6ws1VIXA0RkX4YrmQ2LhdXYvvVWZlmDA6UuBoiIv0xXMls/BCfgRqtQH9/V4T4ukhdDhGR3hiuZBa0WoF1sRkAgBkRARJXQ0TUNgxXMgu7T+cgPb8MznY2mNCXo4SJyLIxXMksfLr7HABg+iB/2Cs5kImILBvDlSR3OC0fsWn5UCrkmDOii9TlEBG1GcOVJPfpnrMAgCkDOsHLxU7iaoiI2o7hSpI6lVWE30/mQCYD/jWSrVYisg4MV5LUu9tPAwDGhfqgS0cniashIjIMhitJJi4tH7+fzIZCLsP80d2lLoeIyGAYriQJrVbgzc0nAQBTw/3Rla1WIrIiDFeSxPrDGUjMKICTygZPRXWTuhwiIoNiuJLJXS6uxNKtpwAAT4/uDk+OECYiK8NwJZMSQmDhT0dRWF6N3r4uuH8IJ+gnIuvDcCWT+jY2HTtP5UCpkOO9qf1ho+C3IBFZH/5mI5NJSL+CVzedAAA8M6YHeng7S1wREZFxMFzJJC5cKcMja+NRpdFiTG8vzBnRWeqSiIiMhuFKRpdbUokHvopFdlElunk64d17+kEmk0ldFhGR0TBcyaguFZRj6mcHcO5yKTq52uO/Dw+Gs52t1GURERmVjdQFkPU6dC4P875LwOXiSnRytcfaORHwUdtLXRYRkdExXMngqjVarPzzHJb9dhoarUB3Lyesnj0Yvq4MViJqHxiuZDBCCOw7k4vX/ncCKTklAIDJ/X3x1pQ+cFDyW42I2o92cc41JiYGQUFBsLOzQ0REBGJjY6UuyaqUV2nwS+JFTIr5C/d/GYuUnBK4Oyrxzt198f60/gxWImp3rP633vr16zF//nx8+umniIiIwPLlyzFmzBgkJyfD09NT6vIskhACZy+XIjY1H/vP5uKPUzkoq9IAAFQ2ctw7OABPRXWH2oEDl4iofZIJIYTURRhTREQEBg0ahI8++ggAoNVq4e/vj8cffxwLFy5s9vlFRUVQq9UoLCyEi4uLscuVjFYrUFGjQVmVBuVVtf+WVtUgr6QKl4srcbm4EhlXynD2cgnO5pSgqKKm3vP93Oxx1wA/PBAZiA5OKok+BRGRcbQ2C6y65VpVVYX4+HgsWrRIt00ulyMqKgoHDhxo9DmVlZWorKzU3S8qKmpzHa9sSsLvJ7MBANf+KSOEgNB9DQgI3eOi3r7Xbxf19rn2Pm6w39VXqvdauPq+1ZrW/Y2lspEjLMAVg4PccVNPT4T5u/LaVSKiq6w6XHNzc6HRaODl5VVvu5eXF06dOtXoc5YsWYJXX33VsHWUVOLClXKDvqYx2dnK4aC0gb2tAh5OSnR0VqGjswreLvbo6umIrh2d0KWjI1Q2CqlLJSIyS1YdrvpYtGgR5s+fr7tfVFQEf3//Nr3m06N74KHhnVHXrpPJZJABqGvoySDDtY0+max2m+7r6/aTXbMfrt3v6mvXbb3h61+3n61CDgelAnY2CsjlbIESEbWFVYerh4cHFAoFsrOz623Pzs6Gt7d3o89RqVRQqQx7zrCzhyM6w9Ggr0lERObLqi/FUSqVGDhwIHbu3KnbptVqsXPnTkRGRkpYGRERWTOrbrkCwPz58zFr1iyEh4dj8ODBWL58OUpLSzF79mypSyMiIitl9eE6bdo0XL58GS+//DKysrLQv39/bNu2rcEgJyIiIkOx+utc26q9XOdKRERNa20WWPU5VyIiIikwXImIiAzM6s+5tlVdr7khZmoiIiLLVJcBLT2TynBtRnFxMQC0eSIJIiKyfMXFxVCr1c3uxwFNzdBqtbh06RKcnZ31nju3bpanjIwMDoq6Do9N03hsGsfj0jQem8YZ4rgIIVBcXAxfX1/I5c2fUWXLtRlyuRx+fn4GeS0XFxd+wzeBx6ZpPDaN43FpGo9N49p6XFrSYq3DAU1EREQGxnAlIiIyMIarCahUKixevNjgCwJYAx6bpvHYNI7HpWk8No2T4rhwQBMREZGBseVKRERkYAxXIiIiA2O4EhERGRjDlYiIyMAYriYQExODoKAg2NnZISIiArGxsVKXZFR79+7FhAkT4OvrC5lMhp9//rne40IIvPzyy/Dx8YG9vT2ioqKQkpJSb5/8/HzMnDkTLi4ucHV1xcMPP4ySkhITfgrDW7JkCQYNGgRnZ2d4enpi8uTJSE5OrrdPRUUFoqOj0aFDBzg5OeGuu+5CdnZ2vX3S09Mxfvx4ODg4wNPTE8888wxqampM+VEM7pNPPkHfvn11F/lHRkZi69atusfb63G53tKlSyGTyfDkk0/qtrXXY/PKK69AJpPVu/Xs2VP3uOTHRZBRrVu3TiiVSvHVV1+JpKQkMXfuXOHq6iqys7OlLs1otmzZIl544QWxYcMGAUBs3Lix3uNLly4VarVa/Pzzz+Lvv/8WEydOFJ07dxbl5eW6fW6//XbRr18/cfDgQfHnn3+K4OBgce+995r4kxjWmDFjxKpVq8Tx48dFYmKiGDdunAgICBAlJSW6fR555BHh7+8vdu7cKQ4fPiyGDBkihg4dqnu8pqZGhIaGiqioKJGQkCC2bNkiPDw8xKJFi6T4SAazadMmsXnzZnH69GmRnJwsnn/+eWFrayuOHz8uhGi/x+VasbGxIigoSPTt21f8+9//1m1vr8dm8eLFonfv3iIzM1N3u3z5su5xqY8Lw9XIBg8eLKKjo3X3NRqN8PX1FUuWLJGwKtO5Ply1Wq3w9vYW77zzjm5bQUGBUKlU4rvvvhNCCHHixAkBQMTFxen22bp1q5DJZOLixYsmq93YcnJyBACxZ88eIUTtcbC1tRU//PCDbp+TJ08KAOLAgQNCiNo/XORyucjKytLt88knnwgXFxdRWVlp2g9gZG5ubuKLL77gcRFCFBcXi27duokdO3aIUaNG6cK1PR+bxYsXi379+jX6mDkcF3YLG1FVVRXi4+MRFRWl2yaXyxEVFYUDBw5IWJl0UlNTkZWVVe+YqNVqRERE6I7JgQMH4OrqivDwcN0+UVFRkMvlOHTokMlrNpbCwkIAgLu7OwAgPj4e1dXV9Y5Nz549ERAQUO/Y9OnTB15eXrp9xowZg6KiIiQlJZmweuPRaDRYt24dSktLERkZyeMCIDo6GuPHj693DAB+z6SkpMDX1xddunTBzJkzkZ6eDsA8jgsn7jei3NxcaDSaev95AODl5YVTp05JVJW0srKyAKDRY1L3WFZWFjw9Pes9bmNjA3d3d90+lk6r1eLJJ5/EsGHDEBoaCqD2cyuVSri6utbb9/pj09ixq3vMkh07dgyRkZGoqKiAk5MTNm7ciJCQECQmJrbr47Ju3TocOXIEcXFxDR5rz98zERERWL16NXr06IHMzEy8+uqrGDFiBI4fP24Wx4XhSiSB6OhoHD9+HPv27ZO6FLPRo0cPJCYmorCwED/++CNmzZqFPXv2SF2WpDIyMvDvf/8bO3bsgJ2dndTlmJWxY8fqvu7bty8iIiIQGBiI77//Hvb29hJWVovdwkbk4eEBhULRYIRadnY2vL29JapKWnWf+0bHxNvbGzk5OfUer6mpQX5+vlUct3nz5uHXX3/Frl276i1n6O3tjaqqKhQUFNTb//pj09ixq3vMkimVSgQHB2PgwIFYsmQJ+vXrhw8++KBdH5f4+Hjk5ORgwIABsLGxgY2NDfbs2YMPP/wQNjY28PLyarfH5nqurq7o3r07zpw5YxbfMwxXI1IqlRg4cCB27typ26bVarFz505ERkZKWJl0OnfuDG9v73rHpKioCIcOHdIdk8jISBQUFCA+Pl63zx9//AGtVouIiAiT12woQgjMmzcPGzduxB9//IHOnTvXe3zgwIGwtbWtd2ySk5ORnp5e79gcO3as3h8fO3bsgIuLC0JCQkzzQUxEq9WisrKyXR+XW2+9FceOHUNiYqLuFh4ejpkzZ+q+bq/H5nolJSU4e/YsfHx8zON7ps1DouiG1q1bJ1QqlVi9erU4ceKE+Ne//iVcXV3rjVCzNsXFxSIhIUEkJCQIAOK9994TCQkJ4vz580KI2ktxXF1dxS+//CKOHj0qJk2a1OilOGFhYeLQoUNi3759olu3bhZ/Kc6jjz4q1Gq12L17d73LB8rKynT7PPLIIyIgIED88ccf4vDhwyIyMlJERkbqHq+7fGD06NEiMTFRbNu2TXTs2NHiL6tYuHCh2LNnj0hNTRVHjx4VCxcuFDKZTPz2229CiPZ7XBpz7WhhIdrvsXn66afF7t27RWpqqvjrr79EVFSU8PDwEDk5OUII6Y8Lw9UEVqxYIQICAoRSqRSDBw8WBw8elLoko9q1a5cA0OA2a9YsIUTt5TgvvfSS8PLyEiqVStx6660iOTm53mvk5eWJe++9Vzg5OQkXFxcxe/ZsUVxcLMGnMZzGjgkAsWrVKt0+5eXl4rHHHhNubm7CwcFB3HnnnSIzM7Pe66SlpYmxY8cKe3t74eHhIZ5++mlRXV1t4k9jWA899JAIDAwUSqVSdOzYUdx66626YBWi/R6Xxlwfru312EybNk34+PgIpVIpOnXqJKZNmybOnDmje1zq48Il54iIiAyM51yJiIgMjOFKRERkYAxXIiIiA2O4EhERGRjDlYiIyMAYrkRERAbGcCUiIjIwhisREZGBMVyJSC9Hjx7FiBEjYGdnB39/f/znP/+RuiQis8FwJaJWKyoqwujRoxEYGIj4+Hi88847eOWVV/D5559LXRqRWWC4ErVjaWlpkMlkDW433XTTDZ/3zTffoKqqCl999RV69+6N6dOn44knnsB7771nmsKJzBzDlagd8/f3R2Zmpu6WkJCADh06YOTIkTd83oEDBzBy5EgolUrdtjFjxiA5ORlXrlwxdtlEZs9G6gKISDoKhUK3MHRFRQUmT56MyMhIvPLKKzd8XlZWVoP1aL28vHSPubm5GaVeIkvBcCUiAMBDDz2E4uJi7NixA3I5O7WI2oLhSkR44403sH37dsTGxsLZ2bnZ/b29vZGdnV1vW939upYwUXvGP0+J2rmffvoJr732Gr7//nt07dq1Rc+JjIzE3r17UV1drdu2Y8cO9OjRg13CRGC4ErVrx48fxwMPPIDnnnsOvXv3RlZWFrKyspCfn3/D582YMQNKpRIPP/wwkpKSsH79enzwwQeYP3++iSonMm8yIYSQuggiksbq1asxe/bsBttHjRqF3bt33/C5R48eRXR0NOLi4uDh4YHHH38czz33nJEqJbIsDFciIiIDY7cwERGRgTFciaiBsWPHwsnJqdHbW2+9JXV5RGaP3cJE1MDFixdRXl7e6GPu7u5wd3c3cUVEloXhSkREZGDsFiYiIjIwhisREZGBMVyJiIgMjOFKRERkYAxXIiIiA2O4EhERGRjDlYiIyMAYrkRERAb2/0x0OqkS1MpzAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plot(analysed)" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "020bed24-e8cd-41e4-9b2a-e3acfc133101", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "EasyModel:\n", - " scale: 0.14027260295332553\n", - " background: 8.86282995316922e-07\n", - " resolution: 5.0 %\n", - " structure:\n", - " EasyStructure:\n", - " - Air Superphase:\n", - " material:\n", - " Air:\n", - " sld: 0.000e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " thickness: 0.000 angstrom\n", - " roughness: 0.000 angstrom\n", - " - layer1:\n", - " EasySurfactantLayer Layer 1:\n", - " material:\n", - " C34D70/Air:\n", - " fraction: 0.0\n", - " sld: 8.753e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material1:\n", - " C34D70:\n", - " sld: 8.753e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material2:\n", - " Air:\n", - " sld: 0.000e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " thickness: 17.600 angstrom\n", - " roughness: 3.000 angstrom\n", - " chemical_structure: C34D70\n", - " area_per_molecule: 51.9 angstrom ** 2\n", - " layer2:\n", - " EasySurfactantLayer Layer 2:\n", - " material:\n", - " C10H18NO8P/D2O:\n", - " fraction: 0.6240541582806278\n", - " sld: 4.306e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material1:\n", - " C10H18NO8P:\n", - " sld: 0.897e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " material2:\n", - " D2O:\n", - " sld: 6.360e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " thickness: 12.900 angstrom\n", - " roughness: 3.000 angstrom\n", - " chemical_structure: C10H18NO8P\n", - " area_per_molecule: 51.9 angstrom ** 2\n", - " area per molecule constrained: true\n", - " conformal roughness: true\n", - " - D2O Subphase:\n", - " material:\n", - " D2O:\n", - " sld: 6.360e-6 1 / angstrom ** 2\n", - " isld: 0.000e-6 1 / angstrom ** 2\n", - " thickness: 0.000 angstrom\n", - " roughness: 3.000 angstrom" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "model" ] From d89117eded4cd0d8a4500df3dc17d509f8195207 Mon Sep 17 00:00:00 2001 From: Andreas Pedersen Date: Thu, 11 Jan 2024 09:02:32 +0100 Subject: [PATCH 10/10] revert change in background.bonds --- docs/multi_contrast.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/multi_contrast.ipynb b/docs/multi_contrast.ipynb index 347f202d..cb6d01f8 100644 --- a/docs/multi_contrast.ipynb +++ b/docs/multi_contrast.ipynb @@ -344,7 +344,7 @@ "d70d2o_model.scale.bounds = (0.05, 1.5)\n", "d70d2o_model.background.bounds = (4e-8, 1e-5)\n", "d83acmw_model.scale.bounds = (0.05, 1.5)\n", - "d83acmw_model.background.bounds = (4e-8, 1e-4)\n", + "d83acmw_model.background.bounds = (4e-8, 1e-5)\n", "\n", "d13d2o.layers[0].area_per_molecule.bounds = (40, 50)\n", "d13d2o.layers[1].solvation.bounds = (0.2, 0.6)\n",