fiqus 2026.1.1__tar.gz → 2026.1.3__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.
Files changed (115) hide show
  1. {fiqus-2026.1.1 → fiqus-2026.1.3}/PKG-INFO +3 -3
  2. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataFiQuSMultipole.py +0 -7
  3. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mains/MainMultipole.py +7 -22
  4. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mesh_generators/MeshMultipole.py +1 -1
  5. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus.egg-info/PKG-INFO +3 -3
  6. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus.egg-info/requires.txt +2 -2
  7. {fiqus-2026.1.1 → fiqus-2026.1.3}/setup.py +2 -2
  8. {fiqus-2026.1.1 → fiqus-2026.1.3}/LICENSE.txt +0 -0
  9. {fiqus-2026.1.1 → fiqus-2026.1.3}/README.md +0 -0
  10. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/MainFiQuS.py +0 -0
  11. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/__init__.py +0 -0
  12. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataConductor.py +0 -0
  13. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataFiQuS.py +0 -0
  14. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataFiQuSCCT.py +0 -0
  15. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataFiQuSConductor.py +0 -0
  16. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataFiQuSConductorAC_CC.py +0 -0
  17. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataFiQuSConductorAC_Rutherford.py +0 -0
  18. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataFiQuSConductorAC_Strand.py +0 -0
  19. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataFiQuSHomogenizedConductor.py +0 -0
  20. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataFiQuSPancake3D.py +0 -0
  21. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataModelCommon.py +0 -0
  22. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataMultipole.py +0 -0
  23. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataRoxieParser.py +0 -0
  24. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataSettings.py +0 -0
  25. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/DataWindingsCCT.py +0 -0
  26. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/RegionsModelFiQuS.py +0 -0
  27. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/data/__init__.py +0 -0
  28. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/GeometryCCT.py +0 -0
  29. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/GeometryConductorAC_CC.py +0 -0
  30. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/GeometryConductorAC_Rutherford.py +0 -0
  31. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/GeometryConductorAC_Strand.py +0 -0
  32. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/GeometryConductorAC_Strand_RutherfordCopy.py +0 -0
  33. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/GeometryHomogenizedConductor.py +0 -0
  34. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/GeometryMultipole.py +0 -0
  35. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/GeometryPancake3D.py +0 -0
  36. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/GeometryPancake3DUtils.py +0 -0
  37. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/geom_generators/__init__.py +0 -0
  38. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/getdp_runners/RunGetdpCCT.py +0 -0
  39. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/getdp_runners/RunGetdpConductorAC_CC.py +0 -0
  40. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/getdp_runners/RunGetdpConductorAC_Rutherford.py +0 -0
  41. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/getdp_runners/RunGetdpConductorAC_Strand.py +0 -0
  42. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/getdp_runners/RunGetdpHomogenizedConductor.py +0 -0
  43. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/getdp_runners/RunGetdpMultipole.py +0 -0
  44. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/getdp_runners/RunGetdpPancake3D.py +0 -0
  45. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/getdp_runners/__init__.py +0 -0
  46. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mains/MainCCT.py +0 -0
  47. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mains/MainConductorAC_CC.py +0 -0
  48. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mains/MainConductorAC_Rutherford.py +0 -0
  49. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mains/MainConductorAC_Strand.py +0 -0
  50. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mains/MainHomogenizedConductor.py +0 -0
  51. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mains/MainPancake3D.py +0 -0
  52. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mains/__init__.py +0 -0
  53. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mesh_generators/MeshCCT.py +0 -0
  54. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mesh_generators/MeshConductorAC_CC.py +0 -0
  55. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mesh_generators/MeshConductorAC_Rutherford.py +0 -0
  56. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mesh_generators/MeshConductorAC_Strand.py +0 -0
  57. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mesh_generators/MeshConductorAC_Strand_RutherfordCopy.py +0 -0
  58. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mesh_generators/MeshHomogenizedConductor.py +0 -0
  59. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mesh_generators/MeshPancake3D.py +0 -0
  60. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/mesh_generators/__init__.py +0 -0
  61. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/parsers/ParserCOND.py +0 -0
  62. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/parsers/ParserDAT.py +0 -0
  63. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/parsers/ParserGetDPOnSection.py +0 -0
  64. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/parsers/ParserGetDPTimeTable.py +0 -0
  65. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/parsers/ParserMSH.py +0 -0
  66. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/parsers/ParserPOS.py +0 -0
  67. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/parsers/ParserRES.py +0 -0
  68. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/parsers/__init__.py +0 -0
  69. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/plotters/PlotPythonCCT.py +0 -0
  70. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/plotters/PlotPythonConductorAC.py +0 -0
  71. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/plotters/PlotPythonMultipole.py +0 -0
  72. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/plotters/__init__.py +0 -0
  73. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/post_processors/PostProcessAC_CC.py +0 -0
  74. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/post_processors/PostProcessAC_Rutherford.py +0 -0
  75. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/post_processors/PostProcessCCT.py +0 -0
  76. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/post_processors/PostProcessConductorAC.py +0 -0
  77. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/post_processors/PostProcessHomogenizedConductor.py +0 -0
  78. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/post_processors/PostProcessMultipole.py +0 -0
  79. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/post_processors/PostProcessPancake3D.py +0 -0
  80. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/post_processors/__init__.py +0 -0
  81. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pre_processors/PreProcessCCT.py +0 -0
  82. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pre_processors/__init__.py +0 -0
  83. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_assemblers/ProAssembler.py +0 -0
  84. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_assemblers/__init__.py +0 -0
  85. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_material_functions/ironBHcurves.pro +0 -0
  86. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/__init__.py +0 -0
  87. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/CAC_CC_template.pro +0 -0
  88. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/CAC_Rutherford_template.pro +0 -0
  89. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/CAC_Strand_template.pro +0 -0
  90. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/CCT_template.pro +0 -0
  91. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/CC_Module.pro +0 -0
  92. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/HomogenizedConductor_template.pro +0 -0
  93. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/Multipole_template.pro +0 -0
  94. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/Pancake3D_template.pro +0 -0
  95. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/TSA_materials.pro +0 -0
  96. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/__init__.py +0 -0
  97. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/combined/materials.pro +0 -0
  98. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/pro_templates/separated/__init__.py +0 -0
  99. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/utils/Utils.py +0 -0
  100. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/utils/__init__.py +0 -0
  101. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus/utils/update_data_settings.py +0 -0
  102. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus.egg-info/SOURCES.txt +0 -0
  103. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus.egg-info/dependency_links.txt +0 -0
  104. {fiqus-2026.1.1 → fiqus-2026.1.3}/fiqus.egg-info/top_level.txt +0 -0
  105. {fiqus-2026.1.1 → fiqus-2026.1.3}/setup.cfg +0 -0
  106. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/__init__.py +0 -0
  107. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/test_FiQuS.py +0 -0
  108. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/test_geometry_generators.py +0 -0
  109. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/test_mesh_generators.py +0 -0
  110. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/test_solvers.py +0 -0
  111. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/utils/__init__.py +0 -0
  112. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/utils/fiqus_test_classes.py +0 -0
  113. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/utils/generate_reference_files_ConductorAC.py +0 -0
  114. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/utils/generate_reference_files_Pancake3D.py +0 -0
  115. {fiqus-2026.1.1 → fiqus-2026.1.3}/tests/utils/helpers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fiqus
3
- Version: 2026.1.1
3
+ Version: 2026.1.3
4
4
  Summary: Source code for STEAM FiQuS tool
5
5
  Home-page: https://gitlab.cern.ch/steam/fiqus
6
6
  Author: STEAM Team
@@ -10,7 +10,7 @@ Classifier: Programming Language :: Python :: 3.11
10
10
  Requires-Python: >=3.11
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE.txt
13
- Requires-Dist: gmsh<5,>=4.13
13
+ Requires-Dist: gmsh==4.15.0
14
14
  Requires-Dist: h5py<4,>=3.10
15
15
  Requires-Dist: Jinja2<4,>=3.1
16
16
  Requires-Dist: matplotlib<4,>=3.8
@@ -44,7 +44,7 @@ Requires-Dist: setuptools==69.2.0; extra == "build"
44
44
  Requires-Dist: wheel==0.45.1; extra == "build"
45
45
  Requires-Dist: twine==6.0.1; extra == "build"
46
46
  Provides-Extra: all
47
- Requires-Dist: gmsh<5,>=4.13; extra == "all"
47
+ Requires-Dist: gmsh==4.15.0; extra == "all"
48
48
  Requires-Dist: h5py<4,>=3.10; extra == "all"
49
49
  Requires-Dist: Jinja2<4,>=3.1; extra == "all"
50
50
  Requires-Dist: matplotlib<4,>=3.8; extra == "all"
@@ -226,13 +226,6 @@ class MultipoleSolveNonLinearSolver(BaseModel):
226
226
  default='LinfNorm',
227
227
  description="It specifies the type of norm to be calculated for convergence assessment.",
228
228
  )
229
- integration_method: Union[None, Literal[
230
- "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
231
- ]] = Field(
232
- default="Euler",
233
- title="Integration Method",
234
- description="It specifies the type of integration method to be used.",
235
- )
236
229
 
237
230
  class MultipoleSolveTransientThermal(MultipoleSolveTransient_parent):
238
231
  """
@@ -109,7 +109,7 @@ class MainMultipole:
109
109
  This code generates the reference models for the FALCOND_C
110
110
  """
111
111
  ### hardcoded, we need only one reference
112
- if self.fdm.general.magnet_name == 'TEST_MULTIPOLE_FALCOND_C_TSA_COLLAR_POLE':
112
+ if 'FALCOND_C' in self.fdm.general.magnet_name.upper() and 'POLE' in self.fdm.general.magnet_name.upper():
113
113
  CUT_REFERENCE = True # self specify loop and surf
114
114
 
115
115
  L_col = [56, 57, 58, 35, 16, 49, 48, 47]
@@ -205,35 +205,20 @@ class MainMultipole:
205
205
 
206
206
  def solve_and_postprocess_getdp(self, gui: bool = False):
207
207
  an = AssignNaming(data=self.fdm)
208
- rg = RunGetdpMultipole(data=an, solution_folder=self.solution_folder, GetDP_path=self.GetDP_path,
209
- verbose=self.verbose)
210
- rg.loadRegionFiles()
211
- if self.fdm.magnet.solve.thermal.solve_type and self.fdm.magnet.geometry.thermal.use_TSA:
212
- rg.loadRegionCoordinateFile()
213
- rg.assemblePro()
214
- start_time = time.time()
215
- rg.solve_and_postprocess()
216
- rg.ending_step(gui)
217
- return time.time() - start_time
208
+ rg = RunGetdpMultipole(data=an, solution_folder=self.solution_folder, GetDP_path=self.GetDP_path, verbose=self.verbose)
218
209
 
219
- def solve_and_postprocess_getdp(self, gui: bool = False):
220
- an = AssignNaming(data=self.fdm)
221
- rg = RunGetdpMultipole(data=an, solution_folder=self.solution_folder, GetDP_path=self.GetDP_path,
222
- verbose=self.verbose)
223
210
  rg.loadRegionFiles()
224
- if self.fdm.magnet.solve.thermal.solve_type and self.fdm.magnet.geometry.thermal.use_TSA:
225
- rg.loadRegionCoordinateFile()
226
- rg.read_aux_file(os.path.join(self.mesh_folder, f"{self.fdm.general.magnet_name}_EM.aux"))
227
- rg.extract_half_turn_blocks()
211
+ rg.loadRegionCoordinateFile()
212
+ rg.read_aux_file(os.path.join(self.mesh_folder, f"{self.fdm.general.magnet_name}_EM.aux"))
213
+ rg.extract_half_turn_blocks()
228
214
  if self.fdm.magnet.geometry.thermal.use_TSA_new:
229
- rg.read_aux_file(os.path.join(self.mesh_folder,
230
- f"{self.fdm.general.magnet_name}_TH.aux")) # now load the thermal aux file
215
+ rg.read_aux_file(os.path.join(self.mesh_folder, f"{self.fdm.general.magnet_name}_TH.aux")) # now load the thermal aux file
231
216
  rg.extract_specific_TSA_lines()
217
+
232
218
  rg.assemblePro()
233
219
  start_time = time.time()
234
220
  rg.solve_and_postprocess()
235
221
  rg.ending_step(gui)
236
- return time.time() - start_time
237
222
 
238
223
 
239
224
  def post_process_getdp(self, gui: bool = False):
@@ -217,7 +217,7 @@ class Mesh:
217
217
  if not 'collar' in geometry.areas:
218
218
  raise Exception("Adding the reference segment without collar is not intended.")
219
219
  distance_ref = self.mesh.field.add("Distance")
220
- if self.data.general.magnet_name == 'TEST_MULTIPOLE_FALCOND_C_TSA_COLLAR_POLE':
220
+ if 'FALCOND_C' in self.data.general.magnet_name.upper() and 'POLE' in self.data.general.magnet_name.upper():
221
221
  lines = list(range(754, 855)) + list(range(910, 1011))
222
222
  self.mesh.field.setNumbers(distance_ref, "CurvesList", lines)
223
223
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fiqus
3
- Version: 2026.1.1
3
+ Version: 2026.1.3
4
4
  Summary: Source code for STEAM FiQuS tool
5
5
  Home-page: https://gitlab.cern.ch/steam/fiqus
6
6
  Author: STEAM Team
@@ -10,7 +10,7 @@ Classifier: Programming Language :: Python :: 3.11
10
10
  Requires-Python: >=3.11
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE.txt
13
- Requires-Dist: gmsh<5,>=4.13
13
+ Requires-Dist: gmsh==4.15.0
14
14
  Requires-Dist: h5py<4,>=3.10
15
15
  Requires-Dist: Jinja2<4,>=3.1
16
16
  Requires-Dist: matplotlib<4,>=3.8
@@ -44,7 +44,7 @@ Requires-Dist: setuptools==69.2.0; extra == "build"
44
44
  Requires-Dist: wheel==0.45.1; extra == "build"
45
45
  Requires-Dist: twine==6.0.1; extra == "build"
46
46
  Provides-Extra: all
47
- Requires-Dist: gmsh<5,>=4.13; extra == "all"
47
+ Requires-Dist: gmsh==4.15.0; extra == "all"
48
48
  Requires-Dist: h5py<4,>=3.10; extra == "all"
49
49
  Requires-Dist: Jinja2<4,>=3.1; extra == "all"
50
50
  Requires-Dist: matplotlib<4,>=3.8; extra == "all"
@@ -1,4 +1,4 @@
1
- gmsh<5,>=4.13
1
+ gmsh==4.15.0
2
2
  h5py<4,>=3.10
3
3
  Jinja2<4,>=3.1
4
4
  matplotlib<4,>=3.8
@@ -11,7 +11,7 @@ scipy<2,>=1.14
11
11
  tqdm<5,>=4.66
12
12
 
13
13
  [all]
14
- gmsh<5,>=4.13
14
+ gmsh==4.15.0
15
15
  h5py<4,>=3.10
16
16
  Jinja2<4,>=3.1
17
17
  matplotlib<4,>=3.8
@@ -6,7 +6,7 @@ this_dir = Path(__file__).parent
6
6
  long_description = (this_dir / "README.md").read_text(encoding="utf-8")
7
7
 
8
8
  install_requires = [
9
- "gmsh>=4.13,<5",
9
+ "gmsh==4.15.0",
10
10
  "h5py>=3.10,<4",
11
11
  "Jinja2>=3.1,<4",
12
12
  "matplotlib>=3.8,<4",
@@ -49,7 +49,7 @@ build_require = [
49
49
 
50
50
  setup(
51
51
  name="fiqus",
52
- version="2026.1.1",
52
+ version="2026.1.3",
53
53
  author="STEAM Team",
54
54
  author_email="steam-team@cern.ch",
55
55
  description="Source code for STEAM FiQuS tool",
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