qtmodel 0.5.30__tar.gz → 0.5.32__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.
Potentially problematic release.
This version of qtmodel might be problematic. Click here for more details.
- {qtmodel-0.5.30 → qtmodel-0.5.32}/PKG-INFO +12 -6
- {qtmodel-0.5.30 → qtmodel-0.5.32}/README.md +10 -4
- {qtmodel-0.5.30 → qtmodel-0.5.32}/qtmodel/qt_mdb.py +88 -78
- {qtmodel-0.5.30 → qtmodel-0.5.32}/qtmodel.egg-info/PKG-INFO +12 -6
- {qtmodel-0.5.30 → qtmodel-0.5.32}/setup.py +2 -2
- {qtmodel-0.5.30 → qtmodel-0.5.32}/qtmodel/__init__.py +0 -0
- {qtmodel-0.5.30 → qtmodel-0.5.32}/qtmodel/qt_db.py +0 -0
- {qtmodel-0.5.30 → qtmodel-0.5.32}/qtmodel/qt_odb.py +0 -0
- {qtmodel-0.5.30 → qtmodel-0.5.32}/qtmodel.egg-info/SOURCES.txt +0 -0
- {qtmodel-0.5.30 → qtmodel-0.5.32}/qtmodel.egg-info/dependency_links.txt +0 -0
- {qtmodel-0.5.30 → qtmodel-0.5.32}/qtmodel.egg-info/top_level.txt +0 -0
- {qtmodel-0.5.30 → qtmodel-0.5.32}/setup.cfg +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: qtmodel
|
|
3
|
-
Version: 0.5.
|
|
4
|
-
Summary: python modeling for qt 24/10/
|
|
3
|
+
Version: 0.5.32
|
|
4
|
+
Summary: python modeling for qt 24/10/31
|
|
5
5
|
Home-page: https://github.com/Inface0443/pyqt
|
|
6
6
|
Author: dqy-zhj
|
|
7
7
|
Author-email: 1105417715@qq.com
|
|
@@ -12,7 +12,8 @@ Classifier: Programming Language :: Python :: 3
|
|
|
12
12
|
Classifier: Operating System :: OS Independent
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
C:\Users\Robert\.conda\envs\py39\python.exe C:/Users/Robert/Desktop/MyWork/Python建模/test.py
|
|
16
|
+
# 最新版本 V0.5.32 - 2024.10.30
|
|
16
17
|
> pip install --upgrade qtmodel -i https://pypi.org/simple
|
|
17
18
|
- 修改帮助文档
|
|
18
19
|
## 项目管理
|
|
@@ -117,7 +118,10 @@ Returns: 无
|
|
|
117
118
|
### export_file
|
|
118
119
|
导入命令
|
|
119
120
|
> 参数:
|
|
120
|
-
> file_path:导出文件全路径,支持格式(.mct/.qdat/.
|
|
121
|
+
> file_path:导出文件全路径,支持格式(.mct/.qdat/.obj/.txt/.py)
|
|
122
|
+
> convert_sec_group:是否将变截面组转换为变截面
|
|
123
|
+
> type_kind:输出文件类型 1-详细文件 2-计算文件
|
|
124
|
+
> group_name:obj与 APDL导出时指定结构组导出
|
|
121
125
|
```Python
|
|
122
126
|
# 示例代码
|
|
123
127
|
from qtmodel import *
|
|
@@ -473,12 +477,12 @@ Returns: 无
|
|
|
473
477
|
将收缩徐变参数连接到材料
|
|
474
478
|
> 参数:
|
|
475
479
|
> index: 材料编号
|
|
476
|
-
>
|
|
480
|
+
> creep_name: 收缩徐变名称
|
|
477
481
|
> f_cuk: 材料标准抗压强度,仅自定义材料是需要输入
|
|
478
482
|
```Python
|
|
479
483
|
# 示例代码
|
|
480
484
|
from qtmodel import *
|
|
481
|
-
mdb.update_material_creep(index=1,
|
|
485
|
+
mdb.update_material_creep(index=1,creep_name="C60",f_cuk=5e7)
|
|
482
486
|
```
|
|
483
487
|
Returns: 无
|
|
484
488
|
### remove_material
|
|
@@ -557,6 +561,8 @@ Returns: 无
|
|
|
557
561
|
> sec_type:截面类型
|
|
558
562
|
> sec_begin:截面始端编号
|
|
559
563
|
> sec_end:截面末端编号
|
|
564
|
+
> shear_consider:考虑剪切变形
|
|
565
|
+
> sec_normalize:变截面线段线圈重新排序
|
|
560
566
|
```Python
|
|
561
567
|
# 示例代码
|
|
562
568
|
from qtmodel import *
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
C:\Users\Robert\.conda\envs\py39\python.exe C:/Users/Robert/Desktop/MyWork/Python建模/test.py
|
|
2
|
+
# 最新版本 V0.5.32 - 2024.10.30
|
|
2
3
|
> pip install --upgrade qtmodel -i https://pypi.org/simple
|
|
3
4
|
- 修改帮助文档
|
|
4
5
|
## 项目管理
|
|
@@ -103,7 +104,10 @@ Returns: 无
|
|
|
103
104
|
### export_file
|
|
104
105
|
导入命令
|
|
105
106
|
> 参数:
|
|
106
|
-
> file_path:导出文件全路径,支持格式(.mct/.qdat/.
|
|
107
|
+
> file_path:导出文件全路径,支持格式(.mct/.qdat/.obj/.txt/.py)
|
|
108
|
+
> convert_sec_group:是否将变截面组转换为变截面
|
|
109
|
+
> type_kind:输出文件类型 1-详细文件 2-计算文件
|
|
110
|
+
> group_name:obj与 APDL导出时指定结构组导出
|
|
107
111
|
```Python
|
|
108
112
|
# 示例代码
|
|
109
113
|
from qtmodel import *
|
|
@@ -459,12 +463,12 @@ Returns: 无
|
|
|
459
463
|
将收缩徐变参数连接到材料
|
|
460
464
|
> 参数:
|
|
461
465
|
> index: 材料编号
|
|
462
|
-
>
|
|
466
|
+
> creep_name: 收缩徐变名称
|
|
463
467
|
> f_cuk: 材料标准抗压强度,仅自定义材料是需要输入
|
|
464
468
|
```Python
|
|
465
469
|
# 示例代码
|
|
466
470
|
from qtmodel import *
|
|
467
|
-
mdb.update_material_creep(index=1,
|
|
471
|
+
mdb.update_material_creep(index=1,creep_name="C60",f_cuk=5e7)
|
|
468
472
|
```
|
|
469
473
|
Returns: 无
|
|
470
474
|
### remove_material
|
|
@@ -543,6 +547,8 @@ Returns: 无
|
|
|
543
547
|
> sec_type:截面类型
|
|
544
548
|
> sec_begin:截面始端编号
|
|
545
549
|
> sec_end:截面末端编号
|
|
550
|
+
> shear_consider:考虑剪切变形
|
|
551
|
+
> sec_normalize:变截面线段线圈重新排序
|
|
546
552
|
```Python
|
|
547
553
|
# 示例代码
|
|
548
554
|
from qtmodel import *
|
|
@@ -162,17 +162,20 @@ class Mdb:
|
|
|
162
162
|
raise Exception(ex)
|
|
163
163
|
|
|
164
164
|
@staticmethod
|
|
165
|
-
def export_file(file_path: str):
|
|
165
|
+
def export_file(file_path: str, convert_sec_group: bool = False, type_kind: int = 1, group_name: (Union[str, List[str]]) = None):
|
|
166
166
|
"""
|
|
167
167
|
导入命令
|
|
168
168
|
Args:
|
|
169
|
-
file_path:导出文件全路径,支持格式(.mct/.qdat/.
|
|
169
|
+
file_path:导出文件全路径,支持格式(.mct/.qdat/.obj/.txt/.py)
|
|
170
|
+
convert_sec_group:是否将变截面组转换为变截面
|
|
171
|
+
type_kind:输出文件类型 1-详细文件 2-计算文件
|
|
172
|
+
group_name:obj与 APDL导出时指定结构组导出
|
|
170
173
|
Example:
|
|
171
174
|
mdb.export_file(file_path="a.mct")
|
|
172
175
|
Returns: 无
|
|
173
176
|
"""
|
|
174
177
|
try:
|
|
175
|
-
qt_model.ExportFile(file_path)
|
|
178
|
+
qt_model.ExportFile(filePath=file_path, convertSectionGroup=convert_sec_group, typeKind=type_kind, groupName=group_name)
|
|
176
179
|
except Exception as ex:
|
|
177
180
|
raise Exception(ex)
|
|
178
181
|
|
|
@@ -772,19 +775,19 @@ class Mdb:
|
|
|
772
775
|
raise Exception(ex)
|
|
773
776
|
|
|
774
777
|
@staticmethod
|
|
775
|
-
def update_material_creep(index: int = 1,
|
|
778
|
+
def update_material_creep(index: int = 1, creep_name: str = "", f_cuk: float = 0):
|
|
776
779
|
"""
|
|
777
780
|
将收缩徐变参数连接到材料
|
|
778
781
|
Args:
|
|
779
782
|
index: 材料编号
|
|
780
|
-
|
|
783
|
+
creep_name: 收缩徐变名称
|
|
781
784
|
f_cuk: 材料标准抗压强度,仅自定义材料是需要输入
|
|
782
785
|
Example:
|
|
783
|
-
mdb.update_material_creep(index=1,
|
|
786
|
+
mdb.update_material_creep(index=1,creep_name="C60",f_cuk=5e7)
|
|
784
787
|
Returns: 无
|
|
785
788
|
"""
|
|
786
789
|
try:
|
|
787
|
-
qt_model.UpdateMaterialCreep(materialId=index,
|
|
790
|
+
qt_model.UpdateMaterialCreep(materialId=index, creepName=creep_name, fcuk=f_cuk)
|
|
788
791
|
qt_model.UpdateModel()
|
|
789
792
|
except Exception as ex:
|
|
790
793
|
raise Exception(ex)
|
|
@@ -907,7 +910,8 @@ class Mdb:
|
|
|
907
910
|
raise Exception(ex)
|
|
908
911
|
|
|
909
912
|
@staticmethod
|
|
910
|
-
def add_tapper_section(index: int = -1, name: str = "", sec_type: str = "矩形", sec_begin: dict = None, sec_end: dict = None
|
|
913
|
+
def add_tapper_section(index: int = -1, name: str = "", sec_type: str = "矩形", sec_begin: dict = None, sec_end: dict = None,
|
|
914
|
+
shear_consider: bool = True, sec_normalize: bool = False):
|
|
911
915
|
"""
|
|
912
916
|
添加变截面,字典参数参考单一截面,如果截面存在则自动覆盖
|
|
913
917
|
Args:
|
|
@@ -916,6 +920,8 @@ class Mdb:
|
|
|
916
920
|
sec_type:截面类型
|
|
917
921
|
sec_begin:截面始端编号
|
|
918
922
|
sec_end:截面末端编号
|
|
923
|
+
shear_consider:考虑剪切变形
|
|
924
|
+
sec_normalize:变截面线段线圈重新排序
|
|
919
925
|
Example:
|
|
920
926
|
mdb.add_tapper_section(index=1,name="变截面1",sec_type="矩形",
|
|
921
927
|
sec_begin={"sec_info":[1,2],"bias_type":"中心"},
|
|
@@ -923,7 +929,8 @@ class Mdb:
|
|
|
923
929
|
Returns: 无
|
|
924
930
|
"""
|
|
925
931
|
try:
|
|
926
|
-
qt_model.AddTapperSection(id=index, name=name, secType=sec_type, secBegin=sec_begin, secEnd=sec_end
|
|
932
|
+
qt_model.AddTapperSection(id=index, name=name, secType=sec_type, secBegin=sec_begin, secEnd=sec_end,
|
|
933
|
+
shearConsider=shear_consider,secNormalize=sec_normalize)
|
|
927
934
|
except Exception as ex:
|
|
928
935
|
raise Exception(ex)
|
|
929
936
|
|
|
@@ -1647,6 +1654,78 @@ class Mdb:
|
|
|
1647
1654
|
|
|
1648
1655
|
# endregion
|
|
1649
1656
|
|
|
1657
|
+
# region 动力荷载操作
|
|
1658
|
+
@staticmethod
|
|
1659
|
+
def add_load_to_mass(name: str, factor: float = 1):
|
|
1660
|
+
"""
|
|
1661
|
+
添加荷载转为质量
|
|
1662
|
+
Args:
|
|
1663
|
+
name: 荷载工况名称
|
|
1664
|
+
factor: 系数
|
|
1665
|
+
Example:
|
|
1666
|
+
mdb.add_load_to_mass(name="荷载工况",factor=1)
|
|
1667
|
+
Returns: 无
|
|
1668
|
+
"""
|
|
1669
|
+
try:
|
|
1670
|
+
qt_model.AddLoadToMass(name=name, factor=factor)
|
|
1671
|
+
qt_model.UpdateModel()
|
|
1672
|
+
except Exception as ex:
|
|
1673
|
+
raise Exception(ex)
|
|
1674
|
+
|
|
1675
|
+
@staticmethod
|
|
1676
|
+
def add_nodal_mass(node_id: (Union[int, List[int]]) = 1, mass_info: tuple[float, float, float, float] = None):
|
|
1677
|
+
"""
|
|
1678
|
+
添加节点质量
|
|
1679
|
+
Args:
|
|
1680
|
+
node_id:节点编号,支持单个编号和编号列表
|
|
1681
|
+
mass_info:[m,rmX,rmY,rmZ]
|
|
1682
|
+
Example:
|
|
1683
|
+
mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
|
|
1684
|
+
Returns: 无
|
|
1685
|
+
"""
|
|
1686
|
+
try:
|
|
1687
|
+
if mass_info is None:
|
|
1688
|
+
raise Exception("操作错误,节点质量信息列表不能为空")
|
|
1689
|
+
qt_model.AddNodalMass(nodeId=node_id, massInfo=mass_info)
|
|
1690
|
+
qt_model.UpdateModel()
|
|
1691
|
+
except Exception as ex:
|
|
1692
|
+
raise Exception(ex)
|
|
1693
|
+
|
|
1694
|
+
@staticmethod
|
|
1695
|
+
def remove_nodal_mass(node_id: (Union[int, List[int]]) = -1):
|
|
1696
|
+
"""
|
|
1697
|
+
删除节点质量
|
|
1698
|
+
Args:
|
|
1699
|
+
node_id:节点号,默认删除所有节点质量
|
|
1700
|
+
Example:
|
|
1701
|
+
mdb.remove_nodal_mass(node_id=1)
|
|
1702
|
+
Returns: 无
|
|
1703
|
+
"""
|
|
1704
|
+
try:
|
|
1705
|
+
if node_id == -1:
|
|
1706
|
+
qt_model.RemoveAllNodalMass()
|
|
1707
|
+
else:
|
|
1708
|
+
qt_model.RemoveNodalMass(nodeId=node_id)
|
|
1709
|
+
except Exception as ex:
|
|
1710
|
+
raise Exception(ex)
|
|
1711
|
+
|
|
1712
|
+
@staticmethod
|
|
1713
|
+
def remove_load_to_mass(name: str):
|
|
1714
|
+
"""
|
|
1715
|
+
删除荷载转为质量
|
|
1716
|
+
Args:
|
|
1717
|
+
name:荷载工况名
|
|
1718
|
+
Example:
|
|
1719
|
+
mdb.remove_load_to_mass(name="荷载工况")
|
|
1720
|
+
Returns: 无
|
|
1721
|
+
"""
|
|
1722
|
+
try:
|
|
1723
|
+
qt_model.RemoveLoadToMass(name=name)
|
|
1724
|
+
except Exception as ex:
|
|
1725
|
+
raise Exception(ex)
|
|
1726
|
+
|
|
1727
|
+
# endregion
|
|
1728
|
+
|
|
1650
1729
|
# region 钢束操作
|
|
1651
1730
|
@staticmethod
|
|
1652
1731
|
def add_tendon_group(name: str = "", index: int = -1):
|
|
@@ -1923,75 +2002,6 @@ class Mdb:
|
|
|
1923
2002
|
except Exception as ex:
|
|
1924
2003
|
raise Exception(ex)
|
|
1925
2004
|
|
|
1926
|
-
@staticmethod
|
|
1927
|
-
def add_load_to_mass(name: str, factor: float = 1):
|
|
1928
|
-
"""
|
|
1929
|
-
添加荷载转为质量
|
|
1930
|
-
Args:
|
|
1931
|
-
name: 荷载工况名称
|
|
1932
|
-
factor: 系数
|
|
1933
|
-
Example:
|
|
1934
|
-
mdb.add_load_to_mass(name="荷载工况",factor=1)
|
|
1935
|
-
Returns: 无
|
|
1936
|
-
"""
|
|
1937
|
-
try:
|
|
1938
|
-
qt_model.AddLoadToMass(name=name, factor=factor)
|
|
1939
|
-
qt_model.UpdateModel()
|
|
1940
|
-
except Exception as ex:
|
|
1941
|
-
raise Exception(ex)
|
|
1942
|
-
|
|
1943
|
-
@staticmethod
|
|
1944
|
-
def add_nodal_mass(node_id: (Union[int, List[int]]) = 1, mass_info: tuple[float, float, float, float] = None):
|
|
1945
|
-
"""
|
|
1946
|
-
添加节点质量
|
|
1947
|
-
Args:
|
|
1948
|
-
node_id:节点编号,支持单个编号和编号列表
|
|
1949
|
-
mass_info:[m,rmX,rmY,rmZ]
|
|
1950
|
-
Example:
|
|
1951
|
-
mdb.add_nodal_mass(node_id=1,mass_info=(100,0,0,0))
|
|
1952
|
-
Returns: 无
|
|
1953
|
-
"""
|
|
1954
|
-
try:
|
|
1955
|
-
if mass_info is None:
|
|
1956
|
-
raise Exception("操作错误,节点质量信息列表不能为空")
|
|
1957
|
-
qt_model.AddNodalMass(nodeId=node_id, massInfo=mass_info)
|
|
1958
|
-
qt_model.UpdateModel()
|
|
1959
|
-
except Exception as ex:
|
|
1960
|
-
raise Exception(ex)
|
|
1961
|
-
|
|
1962
|
-
@staticmethod
|
|
1963
|
-
def remove_nodal_mass(node_id: (Union[int, List[int]]) = -1):
|
|
1964
|
-
"""
|
|
1965
|
-
删除节点质量
|
|
1966
|
-
Args:
|
|
1967
|
-
node_id:节点号,默认删除所有节点质量
|
|
1968
|
-
Example:
|
|
1969
|
-
mdb.remove_nodal_mass(node_id=1)
|
|
1970
|
-
Returns: 无
|
|
1971
|
-
"""
|
|
1972
|
-
try:
|
|
1973
|
-
if node_id == -1:
|
|
1974
|
-
qt_model.RemoveAllNodalMass()
|
|
1975
|
-
else:
|
|
1976
|
-
qt_model.RemoveNodalMass(nodeId=node_id)
|
|
1977
|
-
except Exception as ex:
|
|
1978
|
-
raise Exception(ex)
|
|
1979
|
-
|
|
1980
|
-
@staticmethod
|
|
1981
|
-
def remove_load_to_mass(name: str):
|
|
1982
|
-
"""
|
|
1983
|
-
删除荷载转为质量
|
|
1984
|
-
Args:
|
|
1985
|
-
name:荷载工况名
|
|
1986
|
-
Example:
|
|
1987
|
-
mdb.remove_load_to_mass(name="荷载工况")
|
|
1988
|
-
Returns: 无
|
|
1989
|
-
"""
|
|
1990
|
-
try:
|
|
1991
|
-
qt_model.RemoveLoadToMass(name=name)
|
|
1992
|
-
except Exception as ex:
|
|
1993
|
-
raise Exception(ex)
|
|
1994
|
-
|
|
1995
2005
|
@staticmethod
|
|
1996
2006
|
def add_pre_stress(case_name: str = "", tendon_name: (Union[str, List[str]]) = "", tension_type: int = 2,
|
|
1997
2007
|
force: float = 1395000, group_name: str = "默认荷载组"):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: qtmodel
|
|
3
|
-
Version: 0.5.
|
|
4
|
-
Summary: python modeling for qt 24/10/
|
|
3
|
+
Version: 0.5.32
|
|
4
|
+
Summary: python modeling for qt 24/10/31
|
|
5
5
|
Home-page: https://github.com/Inface0443/pyqt
|
|
6
6
|
Author: dqy-zhj
|
|
7
7
|
Author-email: 1105417715@qq.com
|
|
@@ -12,7 +12,8 @@ Classifier: Programming Language :: Python :: 3
|
|
|
12
12
|
Classifier: Operating System :: OS Independent
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
C:\Users\Robert\.conda\envs\py39\python.exe C:/Users/Robert/Desktop/MyWork/Python建模/test.py
|
|
16
|
+
# 最新版本 V0.5.32 - 2024.10.30
|
|
16
17
|
> pip install --upgrade qtmodel -i https://pypi.org/simple
|
|
17
18
|
- 修改帮助文档
|
|
18
19
|
## 项目管理
|
|
@@ -117,7 +118,10 @@ Returns: 无
|
|
|
117
118
|
### export_file
|
|
118
119
|
导入命令
|
|
119
120
|
> 参数:
|
|
120
|
-
> file_path:导出文件全路径,支持格式(.mct/.qdat/.
|
|
121
|
+
> file_path:导出文件全路径,支持格式(.mct/.qdat/.obj/.txt/.py)
|
|
122
|
+
> convert_sec_group:是否将变截面组转换为变截面
|
|
123
|
+
> type_kind:输出文件类型 1-详细文件 2-计算文件
|
|
124
|
+
> group_name:obj与 APDL导出时指定结构组导出
|
|
121
125
|
```Python
|
|
122
126
|
# 示例代码
|
|
123
127
|
from qtmodel import *
|
|
@@ -473,12 +477,12 @@ Returns: 无
|
|
|
473
477
|
将收缩徐变参数连接到材料
|
|
474
478
|
> 参数:
|
|
475
479
|
> index: 材料编号
|
|
476
|
-
>
|
|
480
|
+
> creep_name: 收缩徐变名称
|
|
477
481
|
> f_cuk: 材料标准抗压强度,仅自定义材料是需要输入
|
|
478
482
|
```Python
|
|
479
483
|
# 示例代码
|
|
480
484
|
from qtmodel import *
|
|
481
|
-
mdb.update_material_creep(index=1,
|
|
485
|
+
mdb.update_material_creep(index=1,creep_name="C60",f_cuk=5e7)
|
|
482
486
|
```
|
|
483
487
|
Returns: 无
|
|
484
488
|
### remove_material
|
|
@@ -557,6 +561,8 @@ Returns: 无
|
|
|
557
561
|
> sec_type:截面类型
|
|
558
562
|
> sec_begin:截面始端编号
|
|
559
563
|
> sec_end:截面末端编号
|
|
564
|
+
> shear_consider:考虑剪切变形
|
|
565
|
+
> sec_normalize:变截面线段线圈重新排序
|
|
560
566
|
```Python
|
|
561
567
|
# 示例代码
|
|
562
568
|
from qtmodel import *
|
|
@@ -7,10 +7,10 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|
|
7
7
|
# twine upload dist/*
|
|
8
8
|
setup(
|
|
9
9
|
name="qtmodel",
|
|
10
|
-
version="0.5.
|
|
10
|
+
version="0.5.32",
|
|
11
11
|
author="dqy-zhj",
|
|
12
12
|
author_email="1105417715@qq.com",
|
|
13
|
-
description="python modeling for qt 24/10/
|
|
13
|
+
description="python modeling for qt 24/10/31 ",
|
|
14
14
|
long_description=long_description, # 使用读取的 README.md 文件内容
|
|
15
15
|
long_description_content_type="text/markdown", # 指明内容格式为markdown
|
|
16
16
|
url="https://github.com/Inface0443/pyqt",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|