MultiOptPy 1.20.3__tar.gz → 1.20.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {multioptpy-1.20.3 → multioptpy-1.20.4/MultiOptPy.egg-info}/PKG-INFO +6 -6
- {multioptpy-1.20.3/MultiOptPy.egg-info → multioptpy-1.20.4}/PKG-INFO +6 -6
- {multioptpy-1.20.3 → multioptpy-1.20.4}/README.md +5 -5
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/optimization.py +32 -12
- {multioptpy-1.20.3 → multioptpy-1.20.4}/pyproject.toml +3 -2
- {multioptpy-1.20.3 → multioptpy-1.20.4}/LICENSE +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/MultiOptPy.egg-info/SOURCES.txt +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/MultiOptPy.egg-info/dependency_links.txt +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/MultiOptPy.egg-info/entry_points.txt +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/MultiOptPy.egg-info/requires.txt +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/MultiOptPy.egg-info/top_level.txt +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_tools/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_tools/fairchem.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_tools/gamess.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_tools/gaussian.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_tools/mace.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_tools/mopac.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_tools/nwchem.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_tools/orca.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/ase_tools/pygfn0.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/dxtb_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/emt_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/gpaw_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/lj_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/psi4_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/pwscf_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/pyscf_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/sqm1_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/sqm2_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/tblite_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Calculator/tersoff_calculation_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Constraint/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Constraint/constraint_condition.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Coordinate/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Coordinate/polar_coordinate.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Coordinate/redundant_coordinate.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/IRC/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/IRC/converge_criteria.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/IRC/dvv.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/IRC/euler.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/IRC/hpc.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/IRC/lqa.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/IRC/modekill.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/IRC/rk4.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Interpolation/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Interpolation/adaptive_interpolation.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Interpolation/binomial_interpolation.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Interpolation/geodesic_interpolation.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Interpolation/interpolation.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Interpolation/linear_interpolation.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Interpolation/savitzky_golay_interpolation.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Interpolation/spline_interpolation.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MD/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MD/thermostat.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_bneb_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_dmf_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_dneb_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_ewbneb_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_gpneb_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_lup_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_neb_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_nesb_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_om_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_qsm_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/MEP/pathopt_qsmv2_force.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelFunction/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelFunction/avoiding_model_function.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelFunction/binary_image_ts_search_model_function.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelFunction/conical_model_function.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelFunction/opt_meci.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelFunction/opt_mesx.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelFunction/opt_mesx_2.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelFunction/seam_model_function.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/approx_hessian.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/calc_params.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/fischer.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/fischerd3.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/fischerd4.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/gfn0xtb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/gfnff.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/lindh.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/lindh2007d2.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/lindh2007d3.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/lindh2007d4.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/morse.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/schlegel.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/schlegeld3.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/schlegeld4.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/shortrange.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/swartd2.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/swartd3.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/swartd4.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ModelHessian/tshess.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/QHAdam.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/abc_fire.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adabelief.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adabound.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adadelta.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adaderivative.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adadiff.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adafactor.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adam.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adamax.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adamod.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adamw.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/adiis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/afire_neb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/block_hessian_update.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/c2diis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/component_wise_scaling.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/conjugate_gradient.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/conjugate_gradient_neb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/coordinate_locking.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/crsirfo.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/dic_rsirfo.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/ediis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/eve.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/fastadabelief.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/fire.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/fire2.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/fire_neb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/gan_step.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/gdiis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/gediis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/geodesic_step.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/gpmin.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/gpr_step.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/gradientdescent.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/gradientdescent_neb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/hessian_update.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/hybrid_rfo.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/kdiis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/lars.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/lbfgs.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/lbfgs_neb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/linesearch.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/lookahead.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/mf_rsirfo.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/mode_following.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/nadam.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/newton.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/prodigy.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/purtubation.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/quickmin_neb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/radam.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/rfo_neb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/ric_rfo.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/rl_step.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/rmspropgrave.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/rsirfo.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/rsprfo.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/sadam.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/samsgrad.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/tr_lbfgs.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/trim.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/trust_radius.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/trust_radius_neb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Optimizer/yogi.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/OtherMethod/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/OtherMethod/addf.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/OtherMethod/dimer.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/OtherMethod/elastic_image_pair.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/OtherMethod/modelfunction.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/OtherMethod/newton_traj.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/OtherMethod/twopshs.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/PESAnalyzer/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/PESAnalyzer/calc_irc_curvature.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/PESAnalyzer/cmds_analysis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/PESAnalyzer/koopman_analysis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/PESAnalyzer/pca_analysis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/atomic_mass.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/atomic_number.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/covalent_radii.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/d2.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/d3.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/d4.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/dreiding.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/gfn0xtb_param.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/gfnff_param.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/gnb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/parameter.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/uff.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Parameters/unit_values.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/AFIR_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/LJ_repulsive_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/anharmonic_keep_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/asym_elllipsoidal_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/electrostatic_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/flux_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/gaussian_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/idpp.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/keep_angle_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/keep_dihedral_angle_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/keep_outofplain_angle_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/keep_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/mechano_force_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/nanoreactor_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/spacer_model_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/switching_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/universal_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/value_range_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Potential/void_point_potential.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm1/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm1/sqm1_core.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/calc_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_basis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_bond.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_core.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_data.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_disp.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_eeq.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_overlapint.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_qm.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_rep.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/SQM/sqm2/sqm2_srb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Thermo/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Thermo/normal_mode_analyzer.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Utils/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Utils/bond_connectivity.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Utils/calc_tools.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Utils/oniom.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Utils/pbc.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Utils/riemann_curvature.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Utils/symmetry_analyzer.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Visualization/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Visualization/visualization.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/WFAnalyzer/MO_analysis.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/WFAnalyzer/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Wrapper/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Wrapper/autots.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Wrapper/ieip_wrapper.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Wrapper/md_wrapper.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Wrapper/neb_wrapper.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Wrapper/optimize_wrapper.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/__init__.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/entrypoints.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/fileio.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/ieip.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/interface.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/irc.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/moleculardynamics.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/neb.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/optimizer.py +0 -0
- {multioptpy-1.20.3 → multioptpy-1.20.4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MultiOptPy
|
|
3
|
-
Version: 1.20.
|
|
3
|
+
Version: 1.20.4
|
|
4
4
|
Summary: Multifunctional geometry optimization tools for quantum chemical calculations.
|
|
5
5
|
Author-email: ss0832 <highlighty876@gmail.com>
|
|
6
6
|
License: GPLv3
|
|
@@ -29,7 +29,7 @@ Dynamic: license-file
|
|
|
29
29
|
[](https://buymeacoffee.com/ss0832)
|
|
30
30
|
|
|
31
31
|
[](https://pepy.tech/projects/multioptpy)
|
|
32
|
-
[](https://doi.org/10.5281/zenodo.17970774)
|
|
33
33
|
|
|
34
34
|
If this tool helped your studies, education, or saved your time, I'd appreciate a coffee!
|
|
35
35
|
Your support serves as a great encouragement for this personal project and fuels my next journey.
|
|
@@ -412,13 +412,13 @@ If you use MultiOptPy in your research, please cite it as follows:
|
|
|
412
412
|
month = dec,
|
|
413
413
|
year = 2025,
|
|
414
414
|
publisher = {Zenodo},
|
|
415
|
-
version = {v1.20.
|
|
416
|
-
doi = {10.5281/zenodo.
|
|
417
|
-
url = {
|
|
415
|
+
version = {v1.20.3},
|
|
416
|
+
doi = {10.5281/zenodo.17970774},
|
|
417
|
+
url = {https://doi.org/10.5281/zenodo.17970774}
|
|
418
418
|
}
|
|
419
419
|
```
|
|
420
420
|
```
|
|
421
|
-
ss0832. (2025). MultiOptPy: Multifunctional geometry optimization tools for quantum chemical calculations (v1.20.
|
|
421
|
+
ss0832. (2025). MultiOptPy: Multifunctional geometry optimization tools for quantum chemical calculations (v1.20.3). Zenodo. https://doi.org/10.5281/zenodo.17970774
|
|
422
422
|
```
|
|
423
423
|
|
|
424
424
|
## Setting Up an Environment for Using NNP(UMA) on Windows 11
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MultiOptPy
|
|
3
|
-
Version: 1.20.
|
|
3
|
+
Version: 1.20.4
|
|
4
4
|
Summary: Multifunctional geometry optimization tools for quantum chemical calculations.
|
|
5
5
|
Author-email: ss0832 <highlighty876@gmail.com>
|
|
6
6
|
License: GPLv3
|
|
@@ -29,7 +29,7 @@ Dynamic: license-file
|
|
|
29
29
|
[](https://buymeacoffee.com/ss0832)
|
|
30
30
|
|
|
31
31
|
[](https://pepy.tech/projects/multioptpy)
|
|
32
|
-
[](https://doi.org/10.5281/zenodo.17970774)
|
|
33
33
|
|
|
34
34
|
If this tool helped your studies, education, or saved your time, I'd appreciate a coffee!
|
|
35
35
|
Your support serves as a great encouragement for this personal project and fuels my next journey.
|
|
@@ -412,13 +412,13 @@ If you use MultiOptPy in your research, please cite it as follows:
|
|
|
412
412
|
month = dec,
|
|
413
413
|
year = 2025,
|
|
414
414
|
publisher = {Zenodo},
|
|
415
|
-
version = {v1.20.
|
|
416
|
-
doi = {10.5281/zenodo.
|
|
417
|
-
url = {
|
|
415
|
+
version = {v1.20.3},
|
|
416
|
+
doi = {10.5281/zenodo.17970774},
|
|
417
|
+
url = {https://doi.org/10.5281/zenodo.17970774}
|
|
418
418
|
}
|
|
419
419
|
```
|
|
420
420
|
```
|
|
421
|
-
ss0832. (2025). MultiOptPy: Multifunctional geometry optimization tools for quantum chemical calculations (v1.20.
|
|
421
|
+
ss0832. (2025). MultiOptPy: Multifunctional geometry optimization tools for quantum chemical calculations (v1.20.3). Zenodo. https://doi.org/10.5281/zenodo.17970774
|
|
422
422
|
```
|
|
423
423
|
|
|
424
424
|
## Setting Up an Environment for Using NNP(UMA) on Windows 11
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://buymeacoffee.com/ss0832)
|
|
10
10
|
|
|
11
11
|
[](https://pepy.tech/projects/multioptpy)
|
|
12
|
-
[](https://doi.org/10.5281/zenodo.17970774)
|
|
13
13
|
|
|
14
14
|
If this tool helped your studies, education, or saved your time, I'd appreciate a coffee!
|
|
15
15
|
Your support serves as a great encouragement for this personal project and fuels my next journey.
|
|
@@ -392,13 +392,13 @@ If you use MultiOptPy in your research, please cite it as follows:
|
|
|
392
392
|
month = dec,
|
|
393
393
|
year = 2025,
|
|
394
394
|
publisher = {Zenodo},
|
|
395
|
-
version = {v1.20.
|
|
396
|
-
doi = {10.5281/zenodo.
|
|
397
|
-
url = {
|
|
395
|
+
version = {v1.20.3},
|
|
396
|
+
doi = {10.5281/zenodo.17970774},
|
|
397
|
+
url = {https://doi.org/10.5281/zenodo.17970774}
|
|
398
398
|
}
|
|
399
399
|
```
|
|
400
400
|
```
|
|
401
|
-
ss0832. (2025). MultiOptPy: Multifunctional geometry optimization tools for quantum chemical calculations (v1.20.
|
|
401
|
+
ss0832. (2025). MultiOptPy: Multifunctional geometry optimization tools for quantum chemical calculations (v1.20.3). Zenodo. https://doi.org/10.5281/zenodo.17970774
|
|
402
402
|
```
|
|
403
403
|
|
|
404
404
|
## Setting Up an Environment for Using NNP(UMA) on Windows 11
|
|
@@ -339,8 +339,6 @@ class StandardHandler(BasePotentialHandler):
|
|
|
339
339
|
state.Model_hess = copy.deepcopy(self.calculator.Model_hess)
|
|
340
340
|
return state
|
|
341
341
|
|
|
342
|
-
|
|
343
|
-
|
|
344
342
|
class ModelFunctionHandler(BasePotentialHandler):
|
|
345
343
|
def __init__(self, calc1, calc2, mf_args, config, file_io, base_dir, force_data):
|
|
346
344
|
super().__init__(config, file_io, base_dir, force_data)
|
|
@@ -360,13 +358,11 @@ class ModelFunctionHandler(BasePotentialHandler):
|
|
|
360
358
|
self.bitss_geom2_history = []
|
|
361
359
|
self.bitss_ref_geom = None
|
|
362
360
|
|
|
363
|
-
|
|
364
361
|
self.bitss_initialized = False
|
|
365
362
|
|
|
366
363
|
if self.is_bitss:
|
|
367
364
|
self._setup_bitss_initialization()
|
|
368
365
|
|
|
369
|
-
|
|
370
366
|
def _load_mf_class(self):
|
|
371
367
|
if self.method_name == "opt_meci":
|
|
372
368
|
return OptMECI()
|
|
@@ -396,7 +392,6 @@ class ModelFunctionHandler(BasePotentialHandler):
|
|
|
396
392
|
if len(self.params) < 1:
|
|
397
393
|
raise ValueError("BITSS requires a reference geometry file path.")
|
|
398
394
|
|
|
399
|
-
|
|
400
395
|
temp_io = FileIO(self.base_dir, self.params[0])
|
|
401
396
|
g_list, _, _ = temp_io.make_geometry_list(self.config.electric_charge_and_multiplicity)
|
|
402
397
|
|
|
@@ -414,7 +409,6 @@ class ModelFunctionHandler(BasePotentialHandler):
|
|
|
414
409
|
n_atoms = len(self.single_element_list)
|
|
415
410
|
geom_1, geom_2 = state.geometry[:n_atoms], state.geometry[n_atoms:]
|
|
416
411
|
|
|
417
|
-
|
|
418
412
|
if not self.bitss_initialized:
|
|
419
413
|
self.mf_instance = BITSSModelFunction(geom_1, geom_2)
|
|
420
414
|
self._apply_config_params()
|
|
@@ -422,11 +416,18 @@ class ModelFunctionHandler(BasePotentialHandler):
|
|
|
422
416
|
else:
|
|
423
417
|
geom_1 = geom_2 = state.geometry
|
|
424
418
|
|
|
425
|
-
|
|
426
419
|
# State 1
|
|
427
420
|
e1, g1, ex1 = self._run_calc(self.calc1, geom_1, self.single_element_list, self.config.electric_charge_and_multiplicity, "State1", iter_idx)
|
|
421
|
+
|
|
428
422
|
# State 2
|
|
429
|
-
|
|
423
|
+
if self.is_bitss:
|
|
424
|
+
chg_mult_2 = self.config.electric_charge_and_multiplicity
|
|
425
|
+
else:
|
|
426
|
+
if len(self.params) >= 2:
|
|
427
|
+
chg_mult_2 = [int(self.params[0]), int(self.params[1])]
|
|
428
|
+
else:
|
|
429
|
+
chg_mult_2 = self.config.electric_charge_and_multiplicity
|
|
430
|
+
|
|
430
431
|
e2, g2, ex2 = self._run_calc(self.calc2, geom_2, self.single_element_list, chg_mult_2, "State2", iter_idx)
|
|
431
432
|
|
|
432
433
|
if ex1 or ex2:
|
|
@@ -530,7 +531,6 @@ class ModelFunctionHandler(BasePotentialHandler):
|
|
|
530
531
|
|
|
531
532
|
return state
|
|
532
533
|
|
|
533
|
-
|
|
534
534
|
def _make_block_diag_hess(self, h1, h2):
|
|
535
535
|
d1 = h1.shape[0]
|
|
536
536
|
d2 = h2.shape[0]
|
|
@@ -554,9 +554,30 @@ class ModelFunctionHandler(BasePotentialHandler):
|
|
|
554
554
|
os.makedirs(run_dir, exist_ok=True)
|
|
555
555
|
old_dir = calc_inst.BPA_FOLDER_DIRECTORY
|
|
556
556
|
calc_inst.BPA_FOLDER_DIRECTORY = run_dir
|
|
557
|
+
|
|
558
|
+
# Charge/Multiplicity update for PySCF compatibility
|
|
559
|
+
calc_inst.electronic_charge = chg_mult[0]
|
|
560
|
+
calc_inst.spin_multiplicity = chg_mult[1]
|
|
561
|
+
|
|
557
562
|
geom_str = self.file_io.print_geometry_list(geom * self.config.bohr2angstroms, elems, chg_mult, display_flag=True)
|
|
558
563
|
inp_path = self.file_io.make_psi4_input_file(geom_str, iter_idx, path=run_dir)
|
|
559
|
-
|
|
564
|
+
|
|
565
|
+
# Method string for xTB
|
|
566
|
+
method_str = getattr(calc_inst, "xtb_method", "")
|
|
567
|
+
if method_str is None:
|
|
568
|
+
method_str = ""
|
|
569
|
+
|
|
570
|
+
# [FIX] Convert list to numpy array (int) to avoid 'list has no attribute tolist' error in tblite tools
|
|
571
|
+
atom_nums = np.array([element_number(el) for el in elems], dtype=int)
|
|
572
|
+
|
|
573
|
+
e, g, _, ex = calc_inst.single_point(
|
|
574
|
+
inp_path,
|
|
575
|
+
atom_nums, # Passing numpy array instead of list
|
|
576
|
+
iter_idx,
|
|
577
|
+
chg_mult,
|
|
578
|
+
method=method_str
|
|
579
|
+
)
|
|
580
|
+
|
|
560
581
|
calc_inst.BPA_FOLDER_DIRECTORY = old_dir
|
|
561
582
|
return e, g, ex
|
|
562
583
|
|
|
@@ -569,8 +590,7 @@ class ModelFunctionHandler(BasePotentialHandler):
|
|
|
569
590
|
f.write(f"{len(g)}\nBITSS_Step {s}\n")
|
|
570
591
|
for i, atom in enumerate(g):
|
|
571
592
|
f.write(f"{self.single_element_list[i]:2s} {atom[0]:12.8f} {atom[1]:12.8f} {atom[2]:12.8f}\n")
|
|
572
|
-
|
|
573
|
-
|
|
593
|
+
|
|
574
594
|
class ONIOMHandler(BasePotentialHandler):
|
|
575
595
|
"""
|
|
576
596
|
Handles ONIOM calculations with microiterations.
|
|
@@ -11,7 +11,7 @@ build-backend = "setuptools.build_meta"
|
|
|
11
11
|
|
|
12
12
|
[project]
|
|
13
13
|
name = "MultiOptPy"
|
|
14
|
-
version = "1.20.
|
|
14
|
+
version = "1.20.4"
|
|
15
15
|
description = "Multifunctional geometry optimization tools for quantum chemical calculations."
|
|
16
16
|
readme = "README.md"
|
|
17
17
|
requires-python = ">=3.12"
|
|
@@ -45,4 +45,5 @@ orientsearch = "multioptpy.entrypoints:run_orientsearch"
|
|
|
45
45
|
|
|
46
46
|
[tool.setuptools.packages.find]
|
|
47
47
|
where = ["."]
|
|
48
|
-
|
|
48
|
+
|
|
49
|
+
include = ["multioptpy*"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multioptpy-1.20.3 → multioptpy-1.20.4}/multioptpy/Interpolation/savitzky_golay_interpolation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|