detailed licence kv metadata was missing
Browse files- Tinyllama-4.6M-v0.0-F16.dump.md +104 -101
- Tinyllama-4.6M-v0.0-F16.gguf +2 -2
- Tinyllama-4.6M-v0.0-F16.llamafile +1 -1
- llamafile-creation.sh +1 -1
- maykeye_tinyllama-metadata.json +4 -3
Tinyllama-4.6M-v0.0-F16.dump.md
CHANGED
@@ -4,13 +4,13 @@
|
|
4 |
|
5 |
## Key Value Metadata Store
|
6 |
|
7 |
-
There are
|
8 |
|
9 |
| POS | TYPE | Count | Key | Value |
|
10 |
|----:|:----------|------:|:---------------------------------------|:---------------------------------------------------------------------------------|
|
11 |
| 1 | UINT32 | 1 | GGUF.version | 3 |
|
12 |
| 2 | UINT64 | 1 | GGUF.tensor_count | 75 |
|
13 |
-
| 3 | UINT64 | 1 | GGUF.kv_count |
|
14 |
| 4 | STRING | 1 | general.architecture | `llama` |
|
15 |
| 5 | STRING | 1 | general.type | `model` |
|
16 |
| 6 | STRING | 1 | general.name | `TinyLLama` |
|
@@ -20,30 +20,33 @@ There are 36 key-value pairs in this file
|
|
20 |
| 10 | STRING | 1 | general.quantized_by | `Mofosyne` |
|
21 |
| 11 | STRING | 1 | general.size_label | `4.6M` |
|
22 |
| 12 | STRING | 1 | general.license | `apache-2.0` |
|
23 |
-
| 13 | STRING | 1 | general.
|
24 |
-
| 14 | STRING | 1 | general.
|
25 |
-
| 15 |
|
26 |
-
| 16 |
|
27 |
-
| 17 |
|
28 |
-
| 18 |
|
29 |
-
| 19 |
|
30 |
-
| 20 |
|
31 |
-
| 21 | UINT32 | 1 | llama.
|
32 |
-
| 22 | UINT32 | 1 | llama.
|
33 |
-
| 23 |
|
34 |
-
| 24 | UINT32 | 1 |
|
35 |
-
| 25 | UINT32 | 1 | llama.
|
36 |
-
| 26 |
|
37 |
-
| 27 |
|
38 |
-
| 28 |
|
39 |
-
| 29 |
|
40 |
-
| 30 |
|
41 |
-
| 31 |
|
42 |
-
| 32 |
|
43 |
-
| 33 |
|
44 |
-
| 34 |
|
45 |
-
| 35 | UINT32 | 1 | tokenizer.ggml.
|
46 |
-
| 36 | UINT32 | 1 |
|
|
|
|
|
|
|
47 |
|
48 |
## Tensors Overview ~5M Elements
|
49 |
|
@@ -65,81 +68,81 @@ This table contains the offset and data segment relative to start of file
|
|
65 |
|
66 |
| T_ID | Tensor Layer Name | Data Offset (B) | Data Size (B) |
|
67 |
|-----:|:-------------------------|-----------------:|-----------------:|
|
68 |
-
| 0 | output.weight |
|
69 |
-
| 1 | token_embd.weight |
|
70 |
-
| 2 | blk.0.attn_norm.weight |
|
71 |
-
| 3 | blk.0.ffn_down.weight |
|
72 |
-
| 4 | blk.0.ffn_gate.weight |
|
73 |
-
| 5 | blk.0.ffn_up.weight |
|
74 |
-
| 6 | blk.0.ffn_norm.weight |
|
75 |
-
| 7 | blk.0.attn_k.weight |
|
76 |
-
| 8 | blk.0.attn_output.weight |
|
77 |
-
| 9 | blk.0.attn_q.weight |
|
78 |
-
| 10 | blk.0.attn_v.weight |
|
79 |
-
| 11 | blk.1.attn_norm.weight |
|
80 |
-
| 12 | blk.1.ffn_down.weight |
|
81 |
-
| 13 | blk.1.ffn_gate.weight |
|
82 |
-
| 14 | blk.1.ffn_up.weight |
|
83 |
-
| 15 | blk.1.ffn_norm.weight |
|
84 |
-
| 16 | blk.1.attn_k.weight |
|
85 |
-
| 17 | blk.1.attn_output.weight |
|
86 |
-
| 18 | blk.1.attn_q.weight |
|
87 |
-
| 19 | blk.1.attn_v.weight |
|
88 |
-
| 20 | blk.2.attn_norm.weight |
|
89 |
-
| 21 | blk.2.ffn_down.weight |
|
90 |
-
| 22 | blk.2.ffn_gate.weight |
|
91 |
-
| 23 | blk.2.ffn_up.weight |
|
92 |
-
| 24 | blk.2.ffn_norm.weight |
|
93 |
-
| 25 | blk.2.attn_k.weight |
|
94 |
-
| 26 | blk.2.attn_output.weight |
|
95 |
-
| 27 | blk.2.attn_q.weight |
|
96 |
-
| 28 | blk.2.attn_v.weight |
|
97 |
-
| 29 | blk.3.attn_norm.weight |
|
98 |
-
| 30 | blk.3.ffn_down.weight |
|
99 |
-
| 31 | blk.3.ffn_gate.weight |
|
100 |
-
| 32 | blk.3.ffn_up.weight |
|
101 |
-
| 33 | blk.3.ffn_norm.weight |
|
102 |
-
| 34 | blk.3.attn_k.weight |
|
103 |
-
| 35 | blk.3.attn_output.weight |
|
104 |
-
| 36 | blk.3.attn_q.weight |
|
105 |
-
| 37 | blk.3.attn_v.weight |
|
106 |
-
| 38 | blk.4.attn_norm.weight |
|
107 |
-
| 39 | blk.4.ffn_down.weight |
|
108 |
-
| 40 | blk.4.ffn_gate.weight |
|
109 |
-
| 41 | blk.4.ffn_up.weight |
|
110 |
-
| 42 | blk.4.ffn_norm.weight |
|
111 |
-
| 43 | blk.4.attn_k.weight |
|
112 |
-
| 44 | blk.4.attn_output.weight |
|
113 |
-
| 45 | blk.4.attn_q.weight |
|
114 |
-
| 46 | blk.4.attn_v.weight |
|
115 |
-
| 47 | blk.5.attn_norm.weight |
|
116 |
-
| 48 | blk.5.ffn_down.weight |
|
117 |
-
| 49 | blk.5.ffn_gate.weight |
|
118 |
-
| 50 | blk.5.ffn_up.weight |
|
119 |
-
| 51 | blk.5.ffn_norm.weight |
|
120 |
-
| 52 | blk.5.attn_k.weight |
|
121 |
-
| 53 | blk.5.attn_output.weight |
|
122 |
-
| 54 | blk.5.attn_q.weight |
|
123 |
-
| 55 | blk.5.attn_v.weight |
|
124 |
-
| 56 | blk.6.attn_norm.weight |
|
125 |
-
| 57 | blk.6.ffn_down.weight |
|
126 |
-
| 58 | blk.6.ffn_gate.weight |
|
127 |
-
| 59 | blk.6.ffn_up.weight |
|
128 |
-
| 60 | blk.6.ffn_norm.weight |
|
129 |
-
| 61 | blk.6.attn_k.weight |
|
130 |
-
| 62 | blk.6.attn_output.weight |
|
131 |
-
| 63 | blk.6.attn_q.weight |
|
132 |
-
| 64 | blk.6.attn_v.weight |
|
133 |
-
| 65 | blk.7.attn_norm.weight |
|
134 |
-
| 66 | blk.7.ffn_down.weight |
|
135 |
-
| 67 | blk.7.ffn_gate.weight |
|
136 |
-
| 68 | blk.7.ffn_up.weight |
|
137 |
-
| 69 | blk.7.ffn_norm.weight |
|
138 |
-
| 70 | blk.7.attn_k.weight |
|
139 |
-
| 71 | blk.7.attn_output.weight |
|
140 |
-
| 72 | blk.7.attn_q.weight |
|
141 |
-
| 73 | blk.7.attn_v.weight |
|
142 |
-
| 74 | output_norm.weight |
|
143 |
|
144 |
### <a name="base">Base Tensor Group : ~4M Elements</a>
|
145 |
|
|
|
4 |
|
5 |
## Key Value Metadata Store
|
6 |
|
7 |
+
There are 39 key-value pairs in this file
|
8 |
|
9 |
| POS | TYPE | Count | Key | Value |
|
10 |
|----:|:----------|------:|:---------------------------------------|:---------------------------------------------------------------------------------|
|
11 |
| 1 | UINT32 | 1 | GGUF.version | 3 |
|
12 |
| 2 | UINT64 | 1 | GGUF.tensor_count | 75 |
|
13 |
+
| 3 | UINT64 | 1 | GGUF.kv_count | 36 |
|
14 |
| 4 | STRING | 1 | general.architecture | `llama` |
|
15 |
| 5 | STRING | 1 | general.type | `model` |
|
16 |
| 6 | STRING | 1 | general.name | `TinyLLama` |
|
|
|
20 |
| 10 | STRING | 1 | general.quantized_by | `Mofosyne` |
|
21 |
| 11 | STRING | 1 | general.size_label | `4.6M` |
|
22 |
| 12 | STRING | 1 | general.license | `apache-2.0` |
|
23 |
+
| 13 | STRING | 1 | general.license.name | `Apache License Version 2.0, January 2004` |
|
24 |
+
| 14 | STRING | 1 | general.license.link | `https://huggingface.co/dataset`...`ob/main/markdown/apache-2.0.md` |
|
25 |
+
| 15 | STRING | 1 | general.url | `https://huggingface.co/mofosyne/TinyLLama-v0-llamafile` |
|
26 |
+
| 16 | STRING | 1 | general.source.url | `https://huggingface.co/Maykeye/TinyLLama-v0` |
|
27 |
+
| 17 | STRING | 1 | general.source.repo_url | `https://huggingface.co/Maykeye/TinyLLama-v0` |
|
28 |
+
| 18 | [STRING] | 5 | general.tags | [ `text generation`, `transformer`, `llama`, `tiny`, `tiny model` ] |
|
29 |
+
| 19 | [STRING] | 1 | general.languages | [ `en` ] |
|
30 |
+
| 20 | [STRING] | 2 | general.datasets | [ `https://hugging`...`-GPT4-train.txt`, `https://hugging`...`-GPT4-valid.txt` ] |
|
31 |
+
| 21 | UINT32 | 1 | llama.block_count | 8 |
|
32 |
+
| 22 | UINT32 | 1 | llama.context_length | 2048 |
|
33 |
+
| 23 | UINT32 | 1 | llama.embedding_length | 64 |
|
34 |
+
| 24 | UINT32 | 1 | llama.feed_forward_length | 256 |
|
35 |
+
| 25 | UINT32 | 1 | llama.attention.head_count | 16 |
|
36 |
+
| 26 | FLOAT32 | 1 | llama.attention.layer_norm_rms_epsilon | 1e-06 |
|
37 |
+
| 27 | UINT32 | 1 | general.file_type | 1 |
|
38 |
+
| 28 | UINT32 | 1 | llama.vocab_size | 32000 |
|
39 |
+
| 29 | UINT32 | 1 | llama.rope.dimension_count | 4 |
|
40 |
+
| 30 | STRING | 1 | tokenizer.ggml.model | `llama` |
|
41 |
+
| 31 | STRING | 1 | tokenizer.ggml.pre | `default` |
|
42 |
+
| 32 | [STRING] | 32000 | tokenizer.ggml.tokens | [ `<unk>`, `<s>`, `</s>`, `<0x00>`, `<0x01>`, ... ] |
|
43 |
+
| 33 | [FLOAT32] | 32000 | tokenizer.ggml.scores | [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... ] |
|
44 |
+
| 34 | [INT32] | 32000 | tokenizer.ggml.token_type | [ 2, 3, 3, 6, 6, 6, 6, ... ] |
|
45 |
+
| 35 | UINT32 | 1 | tokenizer.ggml.bos_token_id | 1 |
|
46 |
+
| 36 | UINT32 | 1 | tokenizer.ggml.eos_token_id | 2 |
|
47 |
+
| 37 | UINT32 | 1 | tokenizer.ggml.unknown_token_id | 0 |
|
48 |
+
| 38 | UINT32 | 1 | tokenizer.ggml.padding_token_id | 0 |
|
49 |
+
| 39 | UINT32 | 1 | general.quantization_version | 2 |
|
50 |
|
51 |
## Tensors Overview ~5M Elements
|
52 |
|
|
|
68 |
|
69 |
| T_ID | Tensor Layer Name | Data Offset (B) | Data Size (B) |
|
70 |
|-----:|:-------------------------|-----------------:|-----------------:|
|
71 |
+
| 0 | output.weight | 0xba880 | 0x3e8000 |
|
72 |
+
| 1 | token_embd.weight | 0x4a2880 | 0x3e8000 |
|
73 |
+
| 2 | blk.0.attn_norm.weight | 0x88a880 | 0x100 |
|
74 |
+
| 3 | blk.0.ffn_down.weight | 0x88a980 | 0x8000 |
|
75 |
+
| 4 | blk.0.ffn_gate.weight | 0x892980 | 0x8000 |
|
76 |
+
| 5 | blk.0.ffn_up.weight | 0x89a980 | 0x8000 |
|
77 |
+
| 6 | blk.0.ffn_norm.weight | 0x8a2980 | 0x100 |
|
78 |
+
| 7 | blk.0.attn_k.weight | 0x8a2a80 | 0x2000 |
|
79 |
+
| 8 | blk.0.attn_output.weight | 0x8a4a80 | 0x2000 |
|
80 |
+
| 9 | blk.0.attn_q.weight | 0x8a6a80 | 0x2000 |
|
81 |
+
| 10 | blk.0.attn_v.weight | 0x8a8a80 | 0x2000 |
|
82 |
+
| 11 | blk.1.attn_norm.weight | 0x8aaa80 | 0x100 |
|
83 |
+
| 12 | blk.1.ffn_down.weight | 0x8aab80 | 0x8000 |
|
84 |
+
| 13 | blk.1.ffn_gate.weight | 0x8b2b80 | 0x8000 |
|
85 |
+
| 14 | blk.1.ffn_up.weight | 0x8bab80 | 0x8000 |
|
86 |
+
| 15 | blk.1.ffn_norm.weight | 0x8c2b80 | 0x100 |
|
87 |
+
| 16 | blk.1.attn_k.weight | 0x8c2c80 | 0x2000 |
|
88 |
+
| 17 | blk.1.attn_output.weight | 0x8c4c80 | 0x2000 |
|
89 |
+
| 18 | blk.1.attn_q.weight | 0x8c6c80 | 0x2000 |
|
90 |
+
| 19 | blk.1.attn_v.weight | 0x8c8c80 | 0x2000 |
|
91 |
+
| 20 | blk.2.attn_norm.weight | 0x8cac80 | 0x100 |
|
92 |
+
| 21 | blk.2.ffn_down.weight | 0x8cad80 | 0x8000 |
|
93 |
+
| 22 | blk.2.ffn_gate.weight | 0x8d2d80 | 0x8000 |
|
94 |
+
| 23 | blk.2.ffn_up.weight | 0x8dad80 | 0x8000 |
|
95 |
+
| 24 | blk.2.ffn_norm.weight | 0x8e2d80 | 0x100 |
|
96 |
+
| 25 | blk.2.attn_k.weight | 0x8e2e80 | 0x2000 |
|
97 |
+
| 26 | blk.2.attn_output.weight | 0x8e4e80 | 0x2000 |
|
98 |
+
| 27 | blk.2.attn_q.weight | 0x8e6e80 | 0x2000 |
|
99 |
+
| 28 | blk.2.attn_v.weight | 0x8e8e80 | 0x2000 |
|
100 |
+
| 29 | blk.3.attn_norm.weight | 0x8eae80 | 0x100 |
|
101 |
+
| 30 | blk.3.ffn_down.weight | 0x8eaf80 | 0x8000 |
|
102 |
+
| 31 | blk.3.ffn_gate.weight | 0x8f2f80 | 0x8000 |
|
103 |
+
| 32 | blk.3.ffn_up.weight | 0x8faf80 | 0x8000 |
|
104 |
+
| 33 | blk.3.ffn_norm.weight | 0x902f80 | 0x100 |
|
105 |
+
| 34 | blk.3.attn_k.weight | 0x903080 | 0x2000 |
|
106 |
+
| 35 | blk.3.attn_output.weight | 0x905080 | 0x2000 |
|
107 |
+
| 36 | blk.3.attn_q.weight | 0x907080 | 0x2000 |
|
108 |
+
| 37 | blk.3.attn_v.weight | 0x909080 | 0x2000 |
|
109 |
+
| 38 | blk.4.attn_norm.weight | 0x90b080 | 0x100 |
|
110 |
+
| 39 | blk.4.ffn_down.weight | 0x90b180 | 0x8000 |
|
111 |
+
| 40 | blk.4.ffn_gate.weight | 0x913180 | 0x8000 |
|
112 |
+
| 41 | blk.4.ffn_up.weight | 0x91b180 | 0x8000 |
|
113 |
+
| 42 | blk.4.ffn_norm.weight | 0x923180 | 0x100 |
|
114 |
+
| 43 | blk.4.attn_k.weight | 0x923280 | 0x2000 |
|
115 |
+
| 44 | blk.4.attn_output.weight | 0x925280 | 0x2000 |
|
116 |
+
| 45 | blk.4.attn_q.weight | 0x927280 | 0x2000 |
|
117 |
+
| 46 | blk.4.attn_v.weight | 0x929280 | 0x2000 |
|
118 |
+
| 47 | blk.5.attn_norm.weight | 0x92b280 | 0x100 |
|
119 |
+
| 48 | blk.5.ffn_down.weight | 0x92b380 | 0x8000 |
|
120 |
+
| 49 | blk.5.ffn_gate.weight | 0x933380 | 0x8000 |
|
121 |
+
| 50 | blk.5.ffn_up.weight | 0x93b380 | 0x8000 |
|
122 |
+
| 51 | blk.5.ffn_norm.weight | 0x943380 | 0x100 |
|
123 |
+
| 52 | blk.5.attn_k.weight | 0x943480 | 0x2000 |
|
124 |
+
| 53 | blk.5.attn_output.weight | 0x945480 | 0x2000 |
|
125 |
+
| 54 | blk.5.attn_q.weight | 0x947480 | 0x2000 |
|
126 |
+
| 55 | blk.5.attn_v.weight | 0x949480 | 0x2000 |
|
127 |
+
| 56 | blk.6.attn_norm.weight | 0x94b480 | 0x100 |
|
128 |
+
| 57 | blk.6.ffn_down.weight | 0x94b580 | 0x8000 |
|
129 |
+
| 58 | blk.6.ffn_gate.weight | 0x953580 | 0x8000 |
|
130 |
+
| 59 | blk.6.ffn_up.weight | 0x95b580 | 0x8000 |
|
131 |
+
| 60 | blk.6.ffn_norm.weight | 0x963580 | 0x100 |
|
132 |
+
| 61 | blk.6.attn_k.weight | 0x963680 | 0x2000 |
|
133 |
+
| 62 | blk.6.attn_output.weight | 0x965680 | 0x2000 |
|
134 |
+
| 63 | blk.6.attn_q.weight | 0x967680 | 0x2000 |
|
135 |
+
| 64 | blk.6.attn_v.weight | 0x969680 | 0x2000 |
|
136 |
+
| 65 | blk.7.attn_norm.weight | 0x96b680 | 0x100 |
|
137 |
+
| 66 | blk.7.ffn_down.weight | 0x96b780 | 0x8000 |
|
138 |
+
| 67 | blk.7.ffn_gate.weight | 0x973780 | 0x8000 |
|
139 |
+
| 68 | blk.7.ffn_up.weight | 0x97b780 | 0x8000 |
|
140 |
+
| 69 | blk.7.ffn_norm.weight | 0x983780 | 0x100 |
|
141 |
+
| 70 | blk.7.attn_k.weight | 0x983880 | 0x2000 |
|
142 |
+
| 71 | blk.7.attn_output.weight | 0x985880 | 0x2000 |
|
143 |
+
| 72 | blk.7.attn_q.weight | 0x987880 | 0x2000 |
|
144 |
+
| 73 | blk.7.attn_v.weight | 0x989880 | 0x2000 |
|
145 |
+
| 74 | output_norm.weight | 0x98b880 | 0x100 |
|
146 |
|
147 |
### <a name="base">Base Tensor Group : ~4M Elements</a>
|
148 |
|
Tinyllama-4.6M-v0.0-F16.gguf
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4b8df674f3486214ade8412f6f0bc42168ad37ee086ebe3b1888832a8d8bca7c
|
3 |
+
size 10008960
|
Tinyllama-4.6M-v0.0-F16.llamafile
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 21509955
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d583b00bc88fc261078db9c5979ea65d2a4a5be4d7bf5c1662c5678ea9e72c28
|
3 |
size 21509955
|
llamafile-creation.sh
CHANGED
@@ -6,7 +6,7 @@ METADATA_FILE="maykeye_tinyllama-metadata.json"
|
|
6 |
###############################################################################
|
7 |
# Pull both model folder, llamafile (for the engine) and llama.cpp (for the conversion script)
|
8 |
echo == Prep Enviroment ==
|
9 |
-
|
10 |
|
11 |
###############################################################################
|
12 |
echo == Build and prep the llamafile engine execuable ==
|
|
|
6 |
###############################################################################
|
7 |
# Pull both model folder, llamafile (for the engine) and llama.cpp (for the conversion script)
|
8 |
echo == Prep Enviroment ==
|
9 |
+
git submodule update --init
|
10 |
|
11 |
###############################################################################
|
12 |
echo == Build and prep the llamafile engine execuable ==
|
maykeye_tinyllama-metadata.json
CHANGED
@@ -4,12 +4,13 @@
|
|
4 |
"general.author": "Maykeye",
|
5 |
"general.quantized_by": "Mofosyne",
|
6 |
"general.url": "https://huggingface.co/mofosyne/TinyLLama-v0-llamafile",
|
|
|
7 |
"general.description": "This gguf is ported from a first version of Maykeye attempt at recreating roneneldan/TinyStories-1M but using Llama architecture",
|
8 |
"general.license": "apache-2.0",
|
9 |
-
"general.
|
10 |
-
"general.
|
11 |
"general.source.url": "https://huggingface.co/Maykeye/TinyLLama-v0",
|
12 |
-
"general.source.
|
13 |
"general.tags": ["text generation", "transformer", "llama", "tiny", "tiny model"],
|
14 |
"general.languages": ["en"],
|
15 |
"general.datasets": ["https://huggingface.co/datasets/roneneldan/TinyStories/blob/main/TinyStoriesV2-GPT4-train.txt", "https://huggingface.co/datasets/roneneldan/TinyStories/blob/main/TinyStoriesV2-GPT4-valid.txt"]
|
|
|
4 |
"general.author": "Maykeye",
|
5 |
"general.quantized_by": "Mofosyne",
|
6 |
"general.url": "https://huggingface.co/mofosyne/TinyLLama-v0-llamafile",
|
7 |
+
"general.repo_url": "https://huggingface.co/mofosyne/TinyLLama-v0-llamafile",
|
8 |
"general.description": "This gguf is ported from a first version of Maykeye attempt at recreating roneneldan/TinyStories-1M but using Llama architecture",
|
9 |
"general.license": "apache-2.0",
|
10 |
+
"general.license.name": "Apache License Version 2.0, January 2004",
|
11 |
+
"general.license.link": "https://huggingface.co/datasets/choosealicense/licenses/blob/main/markdown/apache-2.0.md",
|
12 |
"general.source.url": "https://huggingface.co/Maykeye/TinyLLama-v0",
|
13 |
+
"general.source.repo_url": "https://huggingface.co/Maykeye/TinyLLama-v0",
|
14 |
"general.tags": ["text generation", "transformer", "llama", "tiny", "tiny model"],
|
15 |
"general.languages": ["en"],
|
16 |
"general.datasets": ["https://huggingface.co/datasets/roneneldan/TinyStories/blob/main/TinyStoriesV2-GPT4-train.txt", "https://huggingface.co/datasets/roneneldan/TinyStories/blob/main/TinyStoriesV2-GPT4-valid.txt"]
|