Skip to content

Commit 611a70c

Browse files
github-actions[bot]soyeric128
authored andcommitted
๐Ÿ’ฌGenerate LLM translations
1 parent fbf5d1c commit 611a70c

File tree

1 file changed

+205
-0
lines changed

1 file changed

+205
-0
lines changed
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
---
2+
title: ไฝฟ็”จ Vector ่‡ชๅŠจๅŒ–ๅŠ ่ฝฝ JSON ๆ—ฅๅฟ—
3+
---
4+
5+
ๅœจๆœฌๆ•™็จ‹ไธญ๏ผŒๆˆ‘ไปฌๅฐ†ๆจกๆ‹Ÿๆœฌๅœฐ็”Ÿๆˆๆ—ฅๅฟ—๏ผŒไฝฟ็”จ [Vector](https://vector.dev/) ๆ”ถ้›†ๆ—ฅๅฟ—๏ผŒๅฐ†ๅฎƒไปฌๅญ˜ๅ‚จๅœจ S3 ไธญ๏ผŒๅนถไฝฟ็”จ่ฎกๅˆ’ไปปๅŠก่‡ชๅŠจๅŒ–ๅฐ†ๅฎƒไปฌๅŠ ่ฝฝๅˆฐ Databend Cloud ไธญใ€‚
6+
7+
![ไฝฟ็”จ Vector ่‡ชๅŠจๅŒ–ๅŠ ่ฝฝ JSON ๆ—ฅๅฟ—](@site/static/img/documents/tutorials/vector-tutorial.png)
8+
9+
## ๅผ€ๅง‹ไน‹ๅ‰
10+
11+
ๅœจๅผ€ๅง‹ไน‹ๅ‰๏ผŒ่ฏท็กฎไฟๅทฒๅ‡†ๅค‡ๅฅฝไปฅไธ‹ๅ…ˆๅ†ณๆกไปถ๏ผš
12+
13+
- **Amazon S3 ๅญ˜ๅ‚จๆกถ**๏ผšไธ€ไธช S3 ๅญ˜ๅ‚จๆกถ๏ผŒ็”จไบŽๅญ˜ๅ‚จ Vector ๆ”ถ้›†็š„ๆ—ฅๅฟ—ใ€‚[ไบ†่งฃๅฆ‚ไฝ•ๅˆ›ๅปบ S3 ๅญ˜ๅ‚จๆกถ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)ใ€‚
14+
- **AWS ๅ‡ญ่ฏ**๏ผšๅ…ทๆœ‰่ถณๅคŸๆƒ้™่ฎฟ้—ฎๆ‚จ็š„ S3 ๅญ˜ๅ‚จๆกถ็š„ AWS ่ฎฟ้—ฎๅฏ†้’ฅ ID ๅ’Œ็ง˜ๅฏ†่ฎฟ้—ฎๅฏ†้’ฅใ€‚[็ฎก็†ๆ‚จ็š„ AWS ๅ‡ญ่ฏ](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)ใ€‚
15+
- **AWS CLI**๏ผš็กฎไฟๅทฒๅฎ‰่ฃ…ๅนถ้…็ฝฎไบ† [AWS CLI](https://aws.amazon.com/cli/)๏ผŒๅนถๅ…ทๆœ‰่ฎฟ้—ฎๆ‚จ็š„ S3 ๅญ˜ๅ‚จๆกถ็š„ๅฟ…่ฆๆƒ้™ใ€‚
16+
- **Docker**๏ผš็กฎไฟๅœจๆœฌๅœฐๆœบๅ™จไธŠๅฎ‰่ฃ…ไบ† [Docker](https://www.docker.com/)๏ผŒๅ› ไธบๅฎƒๅฐ†็”จไบŽ่ฎพ็ฝฎ Vectorใ€‚
17+
18+
## ๆญฅ้ชค 1๏ผšๅœจ S3 ๅญ˜ๅ‚จๆกถไธญๅˆ›ๅปบ็›ฎๆ ‡ๆ–‡ไปถๅคน
19+
20+
ไธบไบ†ๅญ˜ๅ‚จ Vector ๆ”ถ้›†็š„ๆ—ฅๅฟ—๏ผŒ่ฏทๅœจๆ‚จ็š„ S3 ๅญ˜ๅ‚จๆกถไธญๅˆ›ๅปบไธ€ไธชๅไธบ `logs` ็š„ๆ–‡ไปถๅคนใ€‚ๅœจๆœฌๆ•™็จ‹ไธญ๏ผŒๆˆ‘ไปฌไฝฟ็”จ `s3://databend-doc/logs/` ไฝœไธบ็›ฎๆ ‡ไฝ็ฝฎใ€‚
21+
22+
ๆญคๅ‘ฝไปคๅœจ `databend-doc` ๅญ˜ๅ‚จๆกถไธญๅˆ›ๅปบไธ€ไธชๅไธบ `logs` ็š„็ฉบๆ–‡ไปถๅคน๏ผš
23+
24+
```bash
25+
aws s3api put-object --bucket databend-doc --key logs/
26+
```
27+
28+
## ๆญฅ้ชค 2๏ผšๅˆ›ๅปบๆœฌๅœฐๆ—ฅๅฟ—ๆ–‡ไปถ
29+
30+
้€š่ฟ‡ๅˆ›ๅปบๆœฌๅœฐๆ—ฅๅฟ—ๆ–‡ไปถๆฅๆจกๆ‹Ÿๆ—ฅๅฟ—็”Ÿๆˆใ€‚ๅœจๆœฌๆ•™็จ‹ไธญ๏ผŒๆˆ‘ไปฌไฝฟ็”จ `/Users/eric/Documents/logs/app.log` ไฝœไธบๆ–‡ไปถ่ทฏๅพ„ใ€‚
31+
32+
ๅฐ†ไปฅไธ‹ JSON ่กŒๆทปๅŠ ๅˆฐๆ–‡ไปถไธญ๏ผŒไปฅ่กจ็คบ็คบไพ‹ๆ—ฅๅฟ—ไบ‹ไปถ๏ผš
33+
34+
```json title='app.log'
35+
{"user_id": 1, "event": "login", "timestamp": "2024-12-08T10:00:00Z"}
36+
{"user_id": 2, "event": "purchase", "timestamp": "2024-12-08T10:05:00Z"}
37+
```
38+
39+
## ๆญฅ้ชค 3๏ผš้…็ฝฎๅนถ่ฟ่กŒ Vector
40+
41+
1. ๅœจๆœฌๅœฐๆœบๅ™จไธŠๅˆ›ๅปบไธ€ไธชๅไธบ `vector.yaml` ็š„ Vector ้…็ฝฎๆ–‡ไปถใ€‚ๅœจๆœฌๆ•™็จ‹ไธญ๏ผŒๆˆ‘ไปฌๅœจ `/Users/eric/Documents/vector.yaml` ๅˆ›ๅปบๅฎƒ๏ผŒๅ†…ๅฎนๅฆ‚ไธ‹๏ผš
42+
43+
```yaml title='vector.yaml'
44+
sources:
45+
logs:
46+
type: file
47+
include:
48+
- "/logs/app.log"
49+
read_from: beginning
50+
51+
transforms:
52+
extract_message:
53+
type: remap
54+
inputs:
55+
- "logs"
56+
source: |
57+
. = parse_json(.message) ?? {}
58+
59+
sinks:
60+
s3:
61+
type: aws_s3
62+
inputs:
63+
- "extract_message"
64+
bucket: databend-doc
65+
region: us-east-2
66+
key_prefix: "logs/"
67+
content_type: "text/plain"
68+
encoding:
69+
codec: "native_json"
70+
auth:
71+
access_key_id: "<your-access-key-id>"
72+
secret_access_key: "<your-secret-access-key>"
73+
```
74+
75+
2. ไฝฟ็”จ Docker ๅฏๅŠจ Vector๏ผŒๆ˜ ๅฐ„้…็ฝฎๆ–‡ไปถๅ’Œๆœฌๅœฐๆ—ฅๅฟ—็›ฎๅฝ•๏ผš
76+
77+
```bash
78+
docker run \
79+
-d \
80+
-v /Users/eric/Documents/vector.yaml:/etc/vector/vector.yaml:ro \
81+
-v /Users/eric/Documents/logs:/logs \
82+
-p 8686:8686 \
83+
--name vector \
84+
timberio/vector:nightly-alpine
85+
```
86+
87+
3. ็จ็ญ‰็‰‡ๅˆป๏ผŒ็„ถๅŽๆฃ€ๆŸฅๆ˜ฏๅฆๆœ‰ๆ—ฅๅฟ—ๅทฒๅŒๆญฅๅˆฐ S3 ็š„ `logs` ๆ–‡ไปถๅคนไธญ๏ผš
88+
89+
```bash
90+
aws s3 ls s3://databend-doc/logs/
91+
```
92+
93+
ๅฆ‚ๆžœๆ—ฅๅฟ—ๆ–‡ไปถๅทฒๆˆๅŠŸๅŒๆญฅๅˆฐ S3๏ผŒๆ‚จๅบ”่ฏฅไผš็œ‹ๅˆฐ็ฑปไผผไปฅไธ‹็š„่พ“ๅ‡บ๏ผš
94+
95+
```bash
96+
2024-12-10 15:22:13 0
97+
2024-12-10 17:52:42 112 1733871161-7b89e50a-6eb4-4531-8479-dd46981e4674.log.gz
98+
```
99+
100+
็Žฐๅœจ๏ผŒๆ‚จๅฏไปฅไปŽๅญ˜ๅ‚จๆกถไธญไธ‹่ฝฝๅŒๆญฅ็š„ๆ—ฅๅฟ—ๆ–‡ไปถ๏ผš
101+
102+
```bash
103+
aws s3 cp s3://databend-doc/logs/1733871161-7b89e50a-6eb4-4531-8479-dd46981e4674.log.gz ~/Documents/
104+
```
105+
106+
ไธŽๅŽŸๅง‹ๆ—ฅๅฟ—็›ธๆฏ”๏ผŒๅŒๆญฅ็š„ๆ—ฅๅฟ—ไธบ NDJSON ๆ ผๅผ๏ผŒๆฏไธช่ฎฐๅฝ•้ƒฝๅŒ…่ฃนๅœจไธ€ไธชๅค–้ƒจ็š„ `log` ๅญ—ๆฎตไธญ๏ผš
107+
108+
```json
109+
{"log":{"event":"login","timestamp":"2024-12-08T10:00:00Z","user_id":1}}
110+
{"log":{"event":"purchase","timestamp":"2024-12-08T10:05:00Z","user_id":2}}
111+
```
112+
113+
## ๆญฅ้ชค 4๏ผšๅœจ Databend Cloud ไธญๅˆ›ๅปบไปปๅŠก
114+
115+
1. ๆ‰“ๅผ€ไธ€ไธชๅทฅไฝœ่กจ๏ผŒๅนถๅˆ›ๅปบไธ€ไธชๅค–้ƒจ Stage๏ผŒ้“พๆŽฅๅˆฐๅญ˜ๅ‚จๆกถไธญ็š„ `logs` ๆ–‡ไปถๅคน๏ผš
116+
117+
```sql
118+
CREATE STAGE mylog 's3://databend-doc/logs/' CONNECTION=(
119+
ACCESS_KEY_ID = '<your-access-key-id>',
120+
SECRET_ACCESS_KEY = '<your-secret-access-key>'
121+
);
122+
```
123+
124+
ไธ€ๆ—ฆ Stage ๆˆๅŠŸๅˆ›ๅปบ๏ผŒๆ‚จๅฏไปฅๅˆ—ๅ‡บๅ…ถไธญ็š„ๆ–‡ไปถ๏ผš
125+
126+
```sql
127+
LIST @mylog;
128+
129+
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
130+
โ”‚ name โ”‚ size โ”‚ md5 โ”‚ last_modified โ”‚ creator โ”‚
131+
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
132+
โ”‚ 1733871161-7b89e50a-6eb4-4531-8479-dd46981e4674.log.gz โ”‚ 112 โ”‚ "231ddcc590222bfaabd296b151154844" โ”‚ 2024-12-10 22:52:42.000 +0000 โ”‚ NULL โ”‚
133+
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
134+
```
135+
136+
2. ๅˆ›ๅปบไธ€ไธช่กจ๏ผŒๅ…ถๅˆ—ๆ˜ ๅฐ„ๅˆฐๆ—ฅๅฟ—ไธญ็š„ๅญ—ๆฎต๏ผš
137+
138+
```sql
139+
CREATE TABLE logs (
140+
event String,
141+
timestamp Timestamp,
142+
user_id Int32
143+
);
144+
```
145+
146+
3. ๅˆ›ๅปบไธ€ไธช่ฎกๅˆ’ไปปๅŠก๏ผŒๅฐ†ๆ—ฅๅฟ—ไปŽๅค–้ƒจ Stage ๅŠ ่ฝฝๅˆฐ `logs` ่กจไธญ๏ผš
147+
148+
```sql
149+
CREATE TASK IF NOT EXISTS myvectortask
150+
WAREHOUSE = 'eric'
151+
SCHEDULE = 1 MINUTE
152+
SUSPEND_TASK_AFTER_NUM_FAILURES = 3
153+
AS
154+
COPY INTO logs
155+
FROM (
156+
SELECT $1:log:event, $1:log:timestamp, $1:log:user_id
157+
FROM @mylog/
158+
)
159+
FILE_FORMAT = (TYPE = NDJSON, COMPRESSION = AUTO)
160+
MAX_FILES = 10000
161+
PURGE = TRUE;
162+
```
163+
164+
4. ๅฏๅŠจไปปๅŠก๏ผš
165+
166+
```sql
167+
ALTER TASK myvectortask RESUME;
168+
```
169+
170+
็จ็ญ‰็‰‡ๅˆป๏ผŒ็„ถๅŽๆฃ€ๆŸฅๆ—ฅๅฟ—ๆ˜ฏๅฆๅทฒๅŠ ่ฝฝๅˆฐ่กจไธญ๏ผš
171+
172+
```sql
173+
SELECT * FROM logs;
174+
175+
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
176+
โ”‚ event โ”‚ timestamp โ”‚ user_id โ”‚
177+
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
178+
โ”‚ login โ”‚ 2024-12-08 10:00:00 โ”‚ 1 โ”‚
179+
โ”‚ purchase โ”‚ 2024-12-08 10:05:00 โ”‚ 2 โ”‚
180+
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
181+
```
182+
183+
ๅฆ‚ๆžœๆ‚จ็Žฐๅœจ่ฟ่กŒ `LIST @mylog;`๏ผŒๆ‚จๅฐ†็œ‹ไธๅˆฐไปปไฝ•ๆ–‡ไปถใ€‚่ฟ™ๆ˜ฏๅ› ไธบไปปๅŠก้…็ฝฎไบ† `PURGE = TRUE`๏ผŒๅœจๆ—ฅๅฟ—ๅŠ ่ฝฝๅŽไผšไปŽ S3 ไธญๅˆ ้™คๅŒๆญฅ็š„ๆ–‡ไปถใ€‚
184+
185+
็Žฐๅœจ๏ผŒ่ฎฉๆˆ‘ไปฌๅœจๆœฌๅœฐๆ—ฅๅฟ—ๆ–‡ไปถ `app.log` ไธญๆจกๆ‹Ÿ็”Ÿๆˆไธคๆกๆ–ฐ็š„ๆ—ฅๅฟ—๏ผš
186+
187+
```bash
188+
echo '{"user_id": 3, "event": "logout", "timestamp": "2024-12-08T10:10:00Z"}' >> /Users/eric/Documents/logs/app.log
189+
echo '{"user_id": 4, "event": "login", "timestamp": "2024-12-08T10:15:00Z"}' >> /Users/eric/Documents/logs/app.log
190+
```
191+
192+
็จ็ญ‰็‰‡ๅˆป๏ผŒ็ญ‰ๅพ…ๆ—ฅๅฟ—ๅŒๆญฅๅˆฐ S3๏ผˆ`logs` ๆ–‡ไปถๅคนไธญๅบ”ๅ‡บ็Žฐไธ€ไธชๆ–ฐๆ–‡ไปถ๏ผ‰ใ€‚็„ถๅŽ๏ผŒ่ฎกๅˆ’ไปปๅŠกๅฐ†ๆŠŠๆ–ฐ็š„ๆ—ฅๅฟ—ๅŠ ่ฝฝๅˆฐ่กจไธญใ€‚ๅฆ‚ๆžœๆ‚จๅ†ๆฌกๆŸฅ่ฏข่กจ๏ผŒๆ‚จๅฐ†ๆ‰พๅˆฐ่ฟ™ไบ›ๆ—ฅๅฟ—๏ผš
193+
194+
```sql
195+
SELECT * FROM logs;
196+
197+
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
198+
โ”‚ event โ”‚ timestamp โ”‚ user_id โ”‚
199+
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
200+
โ”‚ logout โ”‚ 2024-12-08 10:10:00 โ”‚ 3 โ”‚
201+
โ”‚ login โ”‚ 2024-12-08 10:15:00 โ”‚ 4 โ”‚
202+
โ”‚ login โ”‚ 2024-12-08 10:00:00 โ”‚ 1 โ”‚
203+
โ”‚ purchase โ”‚ 2024-12-08 10:05:00 โ”‚ 2 โ”‚
204+
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
205+
```

0 commit comments

Comments
ย (0)