moai-adk 0.4.1__py3-none-any.whl → 0.4.4__py3-none-any.whl
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 moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +7 -1
- moai_adk/cli/commands/update.py +1 -1
- moai_adk/cli/prompts/init_prompts.py +2 -2
- moai_adk/core/project/backup_utils.py +1 -11
- moai_adk/core/project/checker.py +2 -2
- moai_adk/core/project/phase_executor.py +8 -13
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +63 -63
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/template/backup.py +10 -5
- moai_adk/core/template/merger.py +2 -5
- moai_adk/core/template/processor.py +3 -3
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +5 -2
- moai_adk/templates/.claude/agents/alfred/project-manager.md +17 -9
- moai_adk/templates/.claude/commands/alfred/0-project.md +96 -13
- moai_adk/templates/.claude/commands/alfred/1-plan.md +7 -6
- moai_adk/templates/.claude/commands/alfred/2-run.md +10 -8
- moai_adk/templates/.claude/commands/alfred/3-sync.md +33 -12
- moai_adk/templates/.moai/memory/spec-metadata.md +80 -0
- moai_adk/templates/CLAUDE.md +227 -0
- {moai_adk-0.4.1.dist-info → moai_adk-0.4.4.dist-info}/METADATA +74 -8
- {moai_adk-0.4.1.dist-info → moai_adk-0.4.4.dist-info}/RECORD +26 -26
- {moai_adk-0.4.1.dist-info → moai_adk-0.4.4.dist-info}/WHEEL +0 -0
- {moai_adk-0.4.1.dist-info → moai_adk-0.4.4.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.4.1.dist-info → moai_adk-0.4.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: moai-adk
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.4
|
|
4
4
|
Summary: MoAI Agentic Development Kit - SPEC-First TDD with Alfred SuperAgent
|
|
5
5
|
Project-URL: Homepage, https://github.com/modu-ai/moai-adk
|
|
6
6
|
Project-URL: Repository, https://github.com/modu-ai/moai-adk
|
|
@@ -39,6 +39,8 @@ Description-Content-Type: text/markdown
|
|
|
39
39
|
|
|
40
40
|
# MoAI-ADK (Agentic Development Kit)
|
|
41
41
|
|
|
42
|
+
[한국어](README.md) | [English](README.en.md) | [ไทย](README.th.md) | [日本語](README.ja.md) | [中文](README.zh.md) | [हिन्दी](README.hi.md)
|
|
43
|
+
|
|
42
44
|
[](https://pypi.org/project/moai-adk/)
|
|
43
45
|
[](https://opensource.org/licenses/MIT)
|
|
44
46
|
[](https://www.python.org/)
|
|
@@ -95,18 +97,14 @@ MoAI-ADK(MoAI Agentic Development Kit)는 **AI가 개발 과정 전체를 도와
|
|
|
95
97
|
# 1. (선택) uv 설치 — pip보다 훨씬 빠른 Python 패키지 관리자
|
|
96
98
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
97
99
|
|
|
98
|
-
# 2.
|
|
99
|
-
uv venv .venv
|
|
100
|
-
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
101
|
-
|
|
102
|
-
# 3. MoAI-ADK 설치 (tool 모드: 전역-격리 실행)
|
|
100
|
+
# 2. MoAI-ADK 설치 (tool 모드: 전역-격리 실행)
|
|
103
101
|
uv tool install moai-adk
|
|
104
102
|
|
|
105
|
-
#
|
|
103
|
+
# 3. 새 프로젝트 시작
|
|
106
104
|
moai-adk init my-project
|
|
107
105
|
cd my-project
|
|
108
106
|
|
|
109
|
-
#
|
|
107
|
+
# 4. Claude Code(또는 CLI)에서 Alfred 호출
|
|
110
108
|
claude # Claude Code 실행 후 아래 명령 사용
|
|
111
109
|
/alfred:0-project "프로젝트 이름"
|
|
112
110
|
```
|
|
@@ -115,6 +113,74 @@ claude # Claude Code 실행 후 아래 명령 사용
|
|
|
115
113
|
|
|
116
114
|
---
|
|
117
115
|
|
|
116
|
+
## MoAI-ADK 최신 버전 유지하기
|
|
117
|
+
|
|
118
|
+
### 버전 확인
|
|
119
|
+
```bash
|
|
120
|
+
# 현재 설치된 버전 확인
|
|
121
|
+
moai-adk --version
|
|
122
|
+
|
|
123
|
+
# PyPI에서 최신 버전 확인
|
|
124
|
+
uv tool list # moai-adk의 현재 버전 확인
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 업그레이드 하기
|
|
128
|
+
|
|
129
|
+
#### 방법 1: moai-adk 자체 업데이트 명령어 (가장 간단)
|
|
130
|
+
```bash
|
|
131
|
+
# MoAI-ADK 자체 업데이트 명령어 - 에이전트/Skills 템플릿도 함께 업데이트
|
|
132
|
+
moai-adk update
|
|
133
|
+
|
|
134
|
+
# 업데이트 후 프로젝트에 새 템플릿 적용 (선택)
|
|
135
|
+
moai-adk init .
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### 방법 2: uv tool 명령어로 업그레이드
|
|
139
|
+
|
|
140
|
+
**특정 도구만 업그레이드 (권장)**
|
|
141
|
+
```bash
|
|
142
|
+
# moai-adk만 최신 버전으로 업그레이드
|
|
143
|
+
uv tool upgrade moai-adk
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**모든 설치된 도구 업그레이드**
|
|
147
|
+
```bash
|
|
148
|
+
# 모든 uv tool 도구를 최신 버전으로 업그레이트
|
|
149
|
+
uv tool update
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**특정 버전으로 설치**
|
|
153
|
+
```bash
|
|
154
|
+
# 특정 버전으로 재설치 (예: 0.4.2)
|
|
155
|
+
uv tool install moai-adk==0.4.2
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 업데이트 후 확인
|
|
159
|
+
```bash
|
|
160
|
+
# 1. 설치된 버전 확인
|
|
161
|
+
moai-adk --version
|
|
162
|
+
|
|
163
|
+
# 2. 프로젝트 정상 작동 확인
|
|
164
|
+
moai-adk doctor
|
|
165
|
+
|
|
166
|
+
# 3. 기존 프로젝트에 새 템플릿 적용 (필요한 경우)
|
|
167
|
+
cd your-project
|
|
168
|
+
moai-adk init . # 기존 코드는 유지, .moai/ 구조와 템플릿만 업데이트
|
|
169
|
+
|
|
170
|
+
# 4. Alfred에서 업데이트된 기능 확인
|
|
171
|
+
cd your-project
|
|
172
|
+
claude
|
|
173
|
+
/alfred:0-project # 새로운 언어 선택 기능 등을 확인
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
> 💡 **Tip**:
|
|
177
|
+
> - `moai-adk update`: MoAI-ADK 패키지 버전 업데이트 + 에이전트/Skills 템플릿 동기화
|
|
178
|
+
> - `moai-adk init .`: 기존 프로젝트에 새 템플릿 적용 (코드는 안전하게 유지)
|
|
179
|
+
> - 두 명령을 함께 실행하면 완전한 업데이트가 완료됩니다.
|
|
180
|
+
> - 주요 업데이트(minor/major)가 나오면 위 절차를 실행하여 새로운 에이전트/Skills를 활용할 수 있습니다.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
118
184
|
## 기본 워크플로우 (0 → 3)
|
|
119
185
|
|
|
120
186
|
Alfred는 네 개의 명령으로 프로젝트를 반복 개발합니다.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
moai_adk/__init__.py,sha256=
|
|
1
|
+
moai_adk/__init__.py,sha256=13W_xzmjDwuZOGsFL3LEKDPwOmWwXZEOHWap16wp-2E,359
|
|
2
2
|
moai_adk/__main__.py,sha256=vDQDlH6B9Pvp0dZBopngY1ctWubDdkB7uRyDFEjBxmM,2424
|
|
3
3
|
moai_adk/cli/__init__.py,sha256=tidIaJnd4Pje_5QYRq7OvRRst4T3kaPlkw5QcPQ3l1Y,135
|
|
4
4
|
moai_adk/cli/main.py,sha256=mHACHi27AP2N7fg7zhzOo1tlF1Jrlw1_AcbxMfpGLVE,306
|
|
@@ -7,9 +7,9 @@ moai_adk/cli/commands/backup.py,sha256=Hzf3zc7NhfChAJu2OTN_0xARtUbNaB32fmPczchbr
|
|
|
7
7
|
moai_adk/cli/commands/doctor.py,sha256=rDwXEV2q29pNCFvk5ZULsBePVozjGPk-yRDzk5SbQYY,8563
|
|
8
8
|
moai_adk/cli/commands/init.py,sha256=SUpQUPDtKGnIcNjiamg6HGkv9Hp92kXvwTPim1lfyxI,10565
|
|
9
9
|
moai_adk/cli/commands/status.py,sha256=BA8b85PKUmzXCO0bXZzdbjpodnw1lwjJs3cj5qTlr_s,2282
|
|
10
|
-
moai_adk/cli/commands/update.py,sha256=
|
|
10
|
+
moai_adk/cli/commands/update.py,sha256=EbAjl1rIeMh2-QCusMYhp-GqQtk7XpvovAZxIk__lFA,13302
|
|
11
11
|
moai_adk/cli/prompts/__init__.py,sha256=a4_ctS4KEvGtmM9j7z8XIlMkpftohjVb9woUwZu38gE,136
|
|
12
|
-
moai_adk/cli/prompts/init_prompts.py,sha256=
|
|
12
|
+
moai_adk/cli/prompts/init_prompts.py,sha256=OZ_T-b4XfkyXQsKXTwLcDYwmLbaf0k5oZfbi_asTH9M,5226
|
|
13
13
|
moai_adk/core/__init__.py,sha256=1sJO-PHEKF1NmYjeOPPPzn_HRgYln3CKlCpUH4E2Jrs,129
|
|
14
14
|
moai_adk/core/diagnostics/__init__.py,sha256=aF-qC2CW0wxZDpxnlh-TILYs3kqwOIj2EjXYEXY-2j8,387
|
|
15
15
|
moai_adk/core/diagnostics/slash_commands.py,sha256=cEH96M5RLxa1JLyoeoRqziBMzAbnN30j04YjNjxM7Ro,4682
|
|
@@ -21,41 +21,41 @@ moai_adk/core/git/commit.py,sha256=WBs6PucPoX3shVJqski7q7Is0n2Szku75jLA-JY-m_8,2
|
|
|
21
21
|
moai_adk/core/git/event_detector.py,sha256=MI9byiAYZcUuXnXE6FZ1Lx7kG4EuJJxlBS7K_b1w0t0,2319
|
|
22
22
|
moai_adk/core/git/manager.py,sha256=pNqdW4ZON5OCXyrNxynR-ewzIDHYm9_NrgM9aOAOLKg,3634
|
|
23
23
|
moai_adk/core/project/__init__.py,sha256=w_VdJ6lJDkTMdYYEwj0Io6Ay3ekqsLO3qXInSfXX7Vs,134
|
|
24
|
-
moai_adk/core/project/backup_utils.py,sha256
|
|
25
|
-
moai_adk/core/project/checker.py,sha256=
|
|
24
|
+
moai_adk/core/project/backup_utils.py,sha256=-zEXIhGsM-MdX1voUIpKxLlR57Y-lqLEZSi8noeKV1E,1775
|
|
25
|
+
moai_adk/core/project/checker.py,sha256=B94mGLHDZkjQnFDgV8sknJDms5oIiHeyKcgxWI87-f8,9523
|
|
26
26
|
moai_adk/core/project/detector.py,sha256=ON2t0KYyaop3lxBcbEq5HIJGmnBLluA8k6GErmr4IM8,3733
|
|
27
27
|
moai_adk/core/project/initializer.py,sha256=iFTb7d5537WL_zumY4kqV7UPSvUd1ZJQClvycJXF40E,6073
|
|
28
|
-
moai_adk/core/project/phase_executor.py,sha256=
|
|
28
|
+
moai_adk/core/project/phase_executor.py,sha256=DDZRHGrOFYB5DLqHDzcvkAye02EKYXKQjuOmfHeD3Wk,10219
|
|
29
29
|
moai_adk/core/project/validator.py,sha256=gH9ywTMQTwqtqBVrMWj5_bPYFrVzjHuFoU4QdeVa1O4,5756
|
|
30
|
-
moai_adk/core/quality/__init__.py,sha256=
|
|
31
|
-
moai_adk/core/quality/trust_checker.py,sha256=
|
|
32
|
-
moai_adk/core/quality/validators/__init__.py,sha256=
|
|
33
|
-
moai_adk/core/quality/validators/base_validator.py,sha256=
|
|
30
|
+
moai_adk/core/quality/__init__.py,sha256=_uNsbThBLmVLWZCPmEgfFyQqJx3tdef9jhkP9QoHuJY,222
|
|
31
|
+
moai_adk/core/quality/trust_checker.py,sha256=CN067AiublAH46IBAKEV_I-8Wc0bNaR2dMnMf9n5oBg,15198
|
|
32
|
+
moai_adk/core/quality/validators/__init__.py,sha256=Q53sqQFOK7GnwshPVi0HvUSq_VCvHEL28-V5J_L9LoE,189
|
|
33
|
+
moai_adk/core/quality/validators/base_validator.py,sha256=8Fk5casPdfRtnlEfslIK6mOYsZeZLWIK_MAebWCrNw4,437
|
|
34
34
|
moai_adk/core/template/__init__.py,sha256=BB65Zkar2Oywt1_RFtQKIup6HXq20VNQrYqXD_Qp1_g,354
|
|
35
|
-
moai_adk/core/template/backup.py,sha256=
|
|
35
|
+
moai_adk/core/template/backup.py,sha256=44y3QGCKsYqrRPbzkB1xNM9qtpG6kNNMcWR8DnAcPiQ,3228
|
|
36
36
|
moai_adk/core/template/config.py,sha256=ZJU9UKSGF2tkPiwSFReoCkAHGQ0aN2jKmIIQt88x5-o,3532
|
|
37
37
|
moai_adk/core/template/languages.py,sha256=V0wLcxCIOve9Q_0_NhrHGQevSIN_MB612GwrOWZowL4,1653
|
|
38
|
-
moai_adk/core/template/merger.py,sha256=
|
|
39
|
-
moai_adk/core/template/processor.py,sha256=
|
|
38
|
+
moai_adk/core/template/merger.py,sha256=ZV8_U1HZJ3bfAtgyNmSxgj8KdTMt4eUnUG6kVVRT7bE,6909
|
|
39
|
+
moai_adk/core/template/processor.py,sha256=W4M3BNrlfA0dHRwvPWIkJmJwhkNDglXaNzsYBoVTSnQ,17019
|
|
40
40
|
moai_adk/templates/.gitignore,sha256=6VNKResdDpyaii3cmJA4pOLwK2PhYARIWkUODYtKyxg,310
|
|
41
|
-
moai_adk/templates/CLAUDE.md,sha256=
|
|
41
|
+
moai_adk/templates/CLAUDE.md,sha256=ePqEtcSQLmjVEERXMWjdaLi2me5ofDhurjcZEOw70jg,34556
|
|
42
42
|
moai_adk/templates/__init__.py,sha256=6MV1gCB7PLZMiL4gaD_dZSKxtcQyo45MMTuN8fVdchA,104
|
|
43
43
|
moai_adk/templates/.claude/settings.json,sha256=5y0IO9Q7-_vHp2Mkw6zeIQY-k-tdBB8CZ2H5NT1PVcY,2283
|
|
44
|
-
moai_adk/templates/.claude/agents/alfred/cc-manager.md,sha256=
|
|
44
|
+
moai_adk/templates/.claude/agents/alfred/cc-manager.md,sha256=Q3LCVI52YOOEpf6qybinJoJoNgsswoEGi_qtBqQDT4M,34056
|
|
45
45
|
moai_adk/templates/.claude/agents/alfred/debug-helper.md,sha256=DkRK4eTqXi195OOagx-Y4mRiUDdw9Z7DXTDmGr4IlgM,6288
|
|
46
46
|
moai_adk/templates/.claude/agents/alfred/doc-syncer.md,sha256=cVjFPmuNbMrW00GTi1GZCzjKCZ7Gm234dsggCXDkpxU,7587
|
|
47
47
|
moai_adk/templates/.claude/agents/alfred/git-manager.md,sha256=grtyYv0nc2sN857LgVgeZi9Op1xfhxHF_3pPFI6jecU,12854
|
|
48
48
|
moai_adk/templates/.claude/agents/alfred/implementation-planner.md,sha256=5vy0TiMGU-FbvYZo9un-8CWkFDWUSuwUiEvHGxcqT1o,10512
|
|
49
|
-
moai_adk/templates/.claude/agents/alfred/project-manager.md,sha256=
|
|
49
|
+
moai_adk/templates/.claude/agents/alfred/project-manager.md,sha256=tmX-ofqOcu4UAdZ5kvOHgu3iL1P7brPi1Xox1hQE_qI,14603
|
|
50
50
|
moai_adk/templates/.claude/agents/alfred/quality-gate.md,sha256=NAt_ewFK7qxJpsdUdjFGuOHgy8S8gWBkehMwljCV7-Q,10582
|
|
51
51
|
moai_adk/templates/.claude/agents/alfred/spec-builder.md,sha256=u3-wlUQdeDLFkJDo-uUSH2y6dyuuKeBjzZ778dMhtR8,11612
|
|
52
52
|
moai_adk/templates/.claude/agents/alfred/tag-agent.md,sha256=Lh1ElEaGQQ9LfQByvAmGy93_pg6gEhtipQYGdf3T37g,9262
|
|
53
53
|
moai_adk/templates/.claude/agents/alfred/tdd-implementer.md,sha256=Dh9qKQDdZ1HW5T0Yn9TAu7iLMCd9DyUHmOo0DayQ8nY,9265
|
|
54
54
|
moai_adk/templates/.claude/agents/alfred/trust-checker.md,sha256=e7u2nfaZi0kqlEL1NE8rX17P0TP1dg3iHWW5Bu4X7PU,13312
|
|
55
|
-
moai_adk/templates/.claude/commands/alfred/0-project.md,sha256=
|
|
56
|
-
moai_adk/templates/.claude/commands/alfred/1-plan.md,sha256=
|
|
57
|
-
moai_adk/templates/.claude/commands/alfred/2-run.md,sha256=
|
|
58
|
-
moai_adk/templates/.claude/commands/alfred/3-sync.md,sha256=
|
|
55
|
+
moai_adk/templates/.claude/commands/alfred/0-project.md,sha256=_pSA30sJ6V0_WxLi-YL9Pga8EZKelWK_CGHj8irpW3o,42345
|
|
56
|
+
moai_adk/templates/.claude/commands/alfred/1-plan.md,sha256=ujB3S5cwLPx4DyX0dRDYCi8Lymd_uBXDlFysXXNA8yQ,21659
|
|
57
|
+
moai_adk/templates/.claude/commands/alfred/2-run.md,sha256=bY3sp0F3p94A_wkFfQ2e_Vqi4gwhaviv0DanVys_M50,19041
|
|
58
|
+
moai_adk/templates/.claude/commands/alfred/3-sync.md,sha256=Ud0R4ymvUPoXUbU4hDZ2_Hrf-GLupnBEpjG_e1D5lKw,21346
|
|
59
59
|
moai_adk/templates/.claude/hooks/alfred/README.md,sha256=8JirNg3Jn2OUFmHySYBd8QxQgPkG7kcev86Zkf80asY,6852
|
|
60
60
|
moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py,sha256=ZgAtZ3sorerMefQzTa-b3DApzct8MDCK0MIRRbgqMgQ,6972
|
|
61
61
|
moai_adk/templates/.claude/hooks/alfred/core/__init__.py,sha256=LhCQ82B6ZqhVsbQi98G6E_Hfkbm5C2io93aO3KZfF8s,2767
|
|
@@ -138,15 +138,15 @@ moai_adk/templates/.github/workflows/moai-gitflow.yml,sha256=D9ob1O7tzsUvk3WQPPa
|
|
|
138
138
|
moai_adk/templates/.moai/config.json,sha256=XLbCOlu373TirPty1mB9F8lh3gmXbydMpVhmCBk8It8,2182
|
|
139
139
|
moai_adk/templates/.moai/memory/development-guide.md,sha256=q4tYQ3r-4KeTiNxnxqxcXTEge373iorPsA7bNYMoeG4,14534
|
|
140
140
|
moai_adk/templates/.moai/memory/gitflow-protection-policy.md,sha256=tm2ZOmNMvomAhh4_AGTUNjmSsc-eKzo1SGshojx2QL0,6228
|
|
141
|
-
moai_adk/templates/.moai/memory/spec-metadata.md,sha256
|
|
141
|
+
moai_adk/templates/.moai/memory/spec-metadata.md,sha256=Ha4ATMxyH2PgQdVbS1fYwVH0PnIkfqk4hfuB5ksMFFk,9702
|
|
142
142
|
moai_adk/templates/.moai/project/product.md,sha256=IrRSqhu0o5KNfn453DUWoUKzdoO3m6013iYCwaHYCxM,5166
|
|
143
143
|
moai_adk/templates/.moai/project/structure.md,sha256=YWZ4ggmfzveKx8SQGFQWXdDUh5mxOLkEyy5yVdR3Rn0,4791
|
|
144
144
|
moai_adk/templates/.moai/project/tech.md,sha256=REecMv8wOvutt-pQZ5nlGk5YdReTan7AHcKJ2Yes6RM,5758
|
|
145
145
|
moai_adk/utils/__init__.py,sha256=VnVfQzzKHvKw4bNdEw5xdscnRQYFrnr-v_TOBr3naPs,225
|
|
146
146
|
moai_adk/utils/banner.py,sha256=znppKd5yo-tTqgyhgPVJjstrTrfcy_v3X1_RFQxP4Fk,1878
|
|
147
147
|
moai_adk/utils/logger.py,sha256=g-m07PGKjK2bKRIInfSn6m-024Bedai-pV_WjZKDeu8,5064
|
|
148
|
-
moai_adk-0.4.
|
|
149
|
-
moai_adk-0.4.
|
|
150
|
-
moai_adk-0.4.
|
|
151
|
-
moai_adk-0.4.
|
|
152
|
-
moai_adk-0.4.
|
|
148
|
+
moai_adk-0.4.4.dist-info/METADATA,sha256=GOqJ5BB_P1bRx22_PQMih0gpSy1EGJkaEo_K02LU1No,15487
|
|
149
|
+
moai_adk-0.4.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
150
|
+
moai_adk-0.4.4.dist-info/entry_points.txt,sha256=P9no1794UipqH72LP-ltdyfVd_MeB1WKJY_6-JQgV3U,52
|
|
151
|
+
moai_adk-0.4.4.dist-info/licenses/LICENSE,sha256=M1M2b07fWcSWRM6_P3wbZKndZvyfHyYk_Wu9bS8F7o8,1069
|
|
152
|
+
moai_adk-0.4.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|