Upload folder using huggingface_hub

#1
.gitattributes CHANGED
@@ -33,3 +33,8 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ text_encoder/model.neuron filter=lfs diff=lfs merge=lfs -text
37
+ unet/model.neuron filter=lfs diff=lfs merge=lfs -text
38
+ text_encoder_2/model.neuron filter=lfs diff=lfs merge=lfs -text
39
+ vae_decoder/model.neuron filter=lfs diff=lfs merge=lfs -text
40
+ vae_encoder/model.neuron filter=lfs diff=lfs merge=lfs -text
model_index.json ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "NeuronStableDiffusionXLPipeline",
3
+ "_diffusers_version": "0.23.0",
4
+ "force_zeros_for_empty_prompt": true,
5
+ "scheduler": [
6
+ "diffusers",
7
+ "EulerDiscreteScheduler"
8
+ ],
9
+ "text_encoder": [
10
+ "optimum",
11
+ "NeuronModelTextEncoder"
12
+ ],
13
+ "text_encoder_2": [
14
+ "optimum",
15
+ "NeuronModelTextEncoder"
16
+ ],
17
+ "tokenizer": [
18
+ "transformers",
19
+ "CLIPTokenizer"
20
+ ],
21
+ "tokenizer_2": [
22
+ "transformers",
23
+ "CLIPTokenizer"
24
+ ],
25
+ "unet": [
26
+ "optimum",
27
+ "NeuronModelUnet"
28
+ ],
29
+ "vae_decoder": [
30
+ "optimum",
31
+ "NeuronModelVaeDecoder"
32
+ ],
33
+ "vae_encoder": [
34
+ "optimum",
35
+ "NeuronModelVaeEncoder"
36
+ ]
37
+ }
scheduler/scheduler_config.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "EulerDiscreteScheduler",
3
+ "_diffusers_version": "0.23.0",
4
+ "beta_end": 0.012,
5
+ "beta_schedule": "scaled_linear",
6
+ "beta_start": 0.00085,
7
+ "clip_sample": false,
8
+ "interpolation_type": "linear",
9
+ "num_train_timesteps": 1000,
10
+ "prediction_type": "epsilon",
11
+ "sample_max_value": 1.0,
12
+ "set_alpha_to_one": false,
13
+ "skip_prk_steps": true,
14
+ "steps_offset": 1,
15
+ "timestep_spacing": "leading",
16
+ "trained_betas": null,
17
+ "use_karras_sigmas": false
18
+ }
text_encoder/config.json ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "/home/ubuntu/.cache/huggingface/hub/models--ThinkDiffusion--ThinkDiffusionXL/snapshots/e31c4693b7f87128fee02fa6b16c4dc2ada13721/text_encoder",
3
+ "architectures": [
4
+ "CLIPTextModel"
5
+ ],
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 0,
8
+ "dropout": 0.0,
9
+ "eos_token_id": 2,
10
+ "hidden_act": "quick_gelu",
11
+ "hidden_size": 768,
12
+ "initializer_factor": 1.0,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 3072,
15
+ "layer_norm_eps": 1e-05,
16
+ "max_position_embeddings": 77,
17
+ "model_type": "clip_text_model",
18
+ "neuron": {
19
+ "auto_cast": "all",
20
+ "auto_cast_type": "bf16",
21
+ "compiler_type": "neuronx-cc",
22
+ "compiler_version": "2.12.54.0+f631c2365",
23
+ "disable_fallback": false,
24
+ "disable_fast_relayout": false,
25
+ "dynamic_batch_size": false,
26
+ "input_names": [
27
+ "input_ids"
28
+ ],
29
+ "model_type": "clip-text-model",
30
+ "optlevel": "2",
31
+ "output_attentions": false,
32
+ "output_hidden_states": false,
33
+ "output_names": [
34
+ "last_hidden_state",
35
+ "pooler_output",
36
+ "hidden_states"
37
+ ],
38
+ "static_batch_size": 1,
39
+ "static_num_beams": 1,
40
+ "static_sequence_length": 77
41
+ },
42
+ "num_attention_heads": 12,
43
+ "num_hidden_layers": 12,
44
+ "output_hidden_states": true,
45
+ "pad_token_id": 1,
46
+ "projection_dim": 768,
47
+ "task": "feature-extraction",
48
+ "torch_dtype": "float16",
49
+ "torchscript": true,
50
+ "transformers_version": "4.36.2",
51
+ "vocab_size": 49408
52
+ }
text_encoder/model.neuron ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35f676fb689abc2fe7068c0617655ab6c5dcbf3c8929ea80db6fc6fc75398d27
3
+ size 375884546
text_encoder_2/config.json ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "/home/ubuntu/.cache/huggingface/hub/models--ThinkDiffusion--ThinkDiffusionXL/snapshots/e31c4693b7f87128fee02fa6b16c4dc2ada13721/text_encoder_2",
3
+ "architectures": [
4
+ "CLIPTextModelWithProjection"
5
+ ],
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 0,
8
+ "dropout": 0.0,
9
+ "eos_token_id": 2,
10
+ "hidden_act": "gelu",
11
+ "hidden_size": 1280,
12
+ "initializer_factor": 1.0,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 5120,
15
+ "layer_norm_eps": 1e-05,
16
+ "max_position_embeddings": 77,
17
+ "model_type": "clip_text_model",
18
+ "neuron": {
19
+ "auto_cast": "all",
20
+ "auto_cast_type": "bf16",
21
+ "compiler_type": "neuronx-cc",
22
+ "compiler_version": "2.12.54.0+f631c2365",
23
+ "disable_fallback": false,
24
+ "disable_fast_relayout": false,
25
+ "dynamic_batch_size": false,
26
+ "input_names": [
27
+ "input_ids"
28
+ ],
29
+ "model_type": "clip-text-model",
30
+ "optlevel": "2",
31
+ "output_attentions": false,
32
+ "output_hidden_states": false,
33
+ "output_names": [
34
+ "text_embeds",
35
+ "last_hidden_state",
36
+ "hidden_states"
37
+ ],
38
+ "static_batch_size": 1,
39
+ "static_num_beams": 1,
40
+ "static_sequence_length": 77
41
+ },
42
+ "num_attention_heads": 20,
43
+ "num_hidden_layers": 32,
44
+ "output_hidden_states": true,
45
+ "pad_token_id": 1,
46
+ "projection_dim": 1280,
47
+ "task": "feature-extraction",
48
+ "torch_dtype": "float16",
49
+ "torchscript": true,
50
+ "transformers_version": "4.36.2",
51
+ "vocab_size": 49408
52
+ }
text_encoder_2/model.neuron ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a6b763f3c12472a8e42d1c84b75826c8cea51d69e785ea4710e490f86c42d100
3
+ size 1788954872
tokenizer/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer/special_tokens_map.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<|startoftext|>",
4
+ "lstrip": false,
5
+ "normalized": true,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "<|endoftext|>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "<|endoftext|>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "unk_token": {
24
+ "content": "<|endoftext|>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ }
30
+ }
tokenizer/tokenizer_config.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "49406": {
5
+ "content": "<|startoftext|>",
6
+ "lstrip": false,
7
+ "normalized": true,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "49407": {
13
+ "content": "<|endoftext|>",
14
+ "lstrip": false,
15
+ "normalized": false,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ }
20
+ },
21
+ "additional_special_tokens": [],
22
+ "bos_token": "<|startoftext|>",
23
+ "clean_up_tokenization_spaces": true,
24
+ "do_lower_case": true,
25
+ "eos_token": "<|endoftext|>",
26
+ "errors": "replace",
27
+ "model_max_length": 77,
28
+ "pad_token": "<|endoftext|>",
29
+ "tokenizer_class": "CLIPTokenizer",
30
+ "unk_token": "<|endoftext|>"
31
+ }
tokenizer/vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_2/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_2/special_tokens_map.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<|startoftext|>",
4
+ "lstrip": false,
5
+ "normalized": true,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "<|endoftext|>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "!",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "unk_token": {
24
+ "content": "<|endoftext|>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ }
30
+ }
tokenizer_2/tokenizer_config.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "0": {
5
+ "content": "!",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "49406": {
13
+ "content": "<|startoftext|>",
14
+ "lstrip": false,
15
+ "normalized": true,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ },
20
+ "49407": {
21
+ "content": "<|endoftext|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false,
26
+ "special": true
27
+ }
28
+ },
29
+ "additional_special_tokens": [],
30
+ "bos_token": "<|startoftext|>",
31
+ "clean_up_tokenization_spaces": true,
32
+ "do_lower_case": true,
33
+ "eos_token": "<|endoftext|>",
34
+ "errors": "replace",
35
+ "model_max_length": 77,
36
+ "pad_token": "!",
37
+ "tokenizer_class": "CLIPTokenizer",
38
+ "unk_token": "<|endoftext|>"
39
+ }
tokenizer_2/vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
unet/config.json ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "UNet2DConditionModel",
3
+ "_commit_hash": null,
4
+ "_diffusers_version": "0.23.0",
5
+ "_name_or_path": "/home/ubuntu/.cache/huggingface/hub/models--ThinkDiffusion--ThinkDiffusionXL/snapshots/e31c4693b7f87128fee02fa6b16c4dc2ada13721/unet",
6
+ "_use_default_values": [
7
+ "reverse_transformer_layers_per_block"
8
+ ],
9
+ "act_fn": "silu",
10
+ "addition_embed_type": "text_time",
11
+ "addition_embed_type_num_heads": 64,
12
+ "addition_time_embed_dim": 256,
13
+ "attention_head_dim": [
14
+ 5,
15
+ 10,
16
+ 20
17
+ ],
18
+ "attention_type": "default",
19
+ "block_out_channels": [
20
+ 320,
21
+ 640,
22
+ 1280
23
+ ],
24
+ "center_input_sample": false,
25
+ "class_embed_type": null,
26
+ "class_embeddings_concat": false,
27
+ "conv_in_kernel": 3,
28
+ "conv_out_kernel": 3,
29
+ "cross_attention_dim": 2048,
30
+ "cross_attention_norm": null,
31
+ "down_block_types": [
32
+ "DownBlock2D",
33
+ "CrossAttnDownBlock2D",
34
+ "CrossAttnDownBlock2D"
35
+ ],
36
+ "downsample_padding": 1,
37
+ "dropout": 0.0,
38
+ "dual_cross_attention": false,
39
+ "encoder_hid_dim": null,
40
+ "encoder_hid_dim_type": null,
41
+ "flip_sin_to_cos": true,
42
+ "freq_shift": 0,
43
+ "in_channels": 4,
44
+ "layers_per_block": 2,
45
+ "mid_block_only_cross_attention": null,
46
+ "mid_block_scale_factor": 1,
47
+ "mid_block_type": "UNetMidBlock2DCrossAttn",
48
+ "neuron": {
49
+ "auto_cast": "all",
50
+ "auto_cast_type": "bf16",
51
+ "compiler_type": "neuronx-cc",
52
+ "compiler_version": "2.12.54.0+f631c2365",
53
+ "disable_fallback": false,
54
+ "disable_fast_relayout": false,
55
+ "dynamic_batch_size": false,
56
+ "input_names": [
57
+ "sample",
58
+ "timestep",
59
+ "encoder_hidden_states",
60
+ "text_embeds",
61
+ "time_ids"
62
+ ],
63
+ "model_type": "unet",
64
+ "optlevel": "2",
65
+ "output_attentions": false,
66
+ "output_hidden_states": false,
67
+ "output_names": [
68
+ "sample"
69
+ ],
70
+ "static_batch_size": 1,
71
+ "static_height": 128,
72
+ "static_num_beams": 1,
73
+ "static_num_channels": 4,
74
+ "static_sequence_length": 77,
75
+ "static_width": 128
76
+ },
77
+ "norm_eps": 1e-05,
78
+ "norm_num_groups": 32,
79
+ "num_attention_heads": null,
80
+ "num_class_embeds": null,
81
+ "only_cross_attention": false,
82
+ "out_channels": 4,
83
+ "projection_class_embeddings_input_dim": 2816,
84
+ "resnet_out_scale_factor": 1.0,
85
+ "resnet_skip_time_act": false,
86
+ "resnet_time_scale_shift": "default",
87
+ "reverse_transformer_layers_per_block": null,
88
+ "sample_size": 128,
89
+ "task": "semantic-segmentation",
90
+ "time_cond_proj_dim": null,
91
+ "time_embedding_act_fn": null,
92
+ "time_embedding_dim": null,
93
+ "time_embedding_type": "positional",
94
+ "timestep_post_act": null,
95
+ "transformer_layers_per_block": [
96
+ 1,
97
+ 2,
98
+ 10
99
+ ],
100
+ "transformers_version": null,
101
+ "up_block_types": [
102
+ "CrossAttnUpBlock2D",
103
+ "CrossAttnUpBlock2D",
104
+ "UpBlock2D"
105
+ ],
106
+ "upcast_attention": null,
107
+ "use_linear_projection": true
108
+ }
unet/model.neuron ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c610536f5e32952b85567b52df5af4fa24bb7e3b59a26a40ac994dcc0ddbff02
3
+ size 4175437436
vae_decoder/config.json ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "AutoencoderKL",
3
+ "_commit_hash": null,
4
+ "_diffusers_version": "0.23.0",
5
+ "_name_or_path": "/home/ubuntu/.cache/huggingface/hub/models--ThinkDiffusion--ThinkDiffusionXL/snapshots/e31c4693b7f87128fee02fa6b16c4dc2ada13721/vae",
6
+ "act_fn": "silu",
7
+ "block_out_channels": [
8
+ 128,
9
+ 256,
10
+ 512,
11
+ 512
12
+ ],
13
+ "down_block_types": [
14
+ "DownEncoderBlock2D",
15
+ "DownEncoderBlock2D",
16
+ "DownEncoderBlock2D",
17
+ "DownEncoderBlock2D"
18
+ ],
19
+ "force_upcast": true,
20
+ "in_channels": 3,
21
+ "latent_channels": 4,
22
+ "layers_per_block": 2,
23
+ "neuron": {
24
+ "auto_cast": "all",
25
+ "auto_cast_type": "bf16",
26
+ "compiler_type": "neuronx-cc",
27
+ "compiler_version": "2.12.54.0+f631c2365",
28
+ "disable_fallback": false,
29
+ "disable_fast_relayout": false,
30
+ "dynamic_batch_size": false,
31
+ "input_names": [
32
+ "latent_sample"
33
+ ],
34
+ "model_type": "vae-decoder",
35
+ "optlevel": "2",
36
+ "output_attentions": false,
37
+ "output_hidden_states": false,
38
+ "output_names": [
39
+ "sample"
40
+ ],
41
+ "static_batch_size": 1,
42
+ "static_height": 128,
43
+ "static_num_beams": 1,
44
+ "static_num_channels": 4,
45
+ "static_width": 128
46
+ },
47
+ "norm_num_groups": 32,
48
+ "out_channels": 3,
49
+ "sample_size": 1024,
50
+ "scaling_factor": 0.13025,
51
+ "task": "semantic-segmentation",
52
+ "transformers_version": null,
53
+ "up_block_types": [
54
+ "UpDecoderBlock2D",
55
+ "UpDecoderBlock2D",
56
+ "UpDecoderBlock2D",
57
+ "UpDecoderBlock2D"
58
+ ]
59
+ }
vae_decoder/model.neuron ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:01aabb2fb1fb986cdf719c1ce55ef06bae78568a5362bf4789faf504e167cc3a
3
+ size 811576830
vae_encoder/config.json ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "AutoencoderKL",
3
+ "_commit_hash": null,
4
+ "_diffusers_version": "0.23.0",
5
+ "_name_or_path": "/home/ubuntu/.cache/huggingface/hub/models--ThinkDiffusion--ThinkDiffusionXL/snapshots/e31c4693b7f87128fee02fa6b16c4dc2ada13721/vae",
6
+ "act_fn": "silu",
7
+ "block_out_channels": [
8
+ 128,
9
+ 256,
10
+ 512,
11
+ 512
12
+ ],
13
+ "down_block_types": [
14
+ "DownEncoderBlock2D",
15
+ "DownEncoderBlock2D",
16
+ "DownEncoderBlock2D",
17
+ "DownEncoderBlock2D"
18
+ ],
19
+ "force_upcast": true,
20
+ "in_channels": 3,
21
+ "latent_channels": 4,
22
+ "layers_per_block": 2,
23
+ "neuron": {
24
+ "auto_cast": "all",
25
+ "auto_cast_type": "bf16",
26
+ "compiler_type": "neuronx-cc",
27
+ "compiler_version": "2.12.54.0+f631c2365",
28
+ "disable_fallback": false,
29
+ "disable_fast_relayout": false,
30
+ "dynamic_batch_size": false,
31
+ "input_names": [
32
+ "sample"
33
+ ],
34
+ "model_type": "vae-encoder",
35
+ "optlevel": "2",
36
+ "output_attentions": false,
37
+ "output_hidden_states": false,
38
+ "output_names": [
39
+ "latent_sample"
40
+ ],
41
+ "static_batch_size": 1,
42
+ "static_height": 1024,
43
+ "static_num_beams": 1,
44
+ "static_num_channels": 3,
45
+ "static_width": 1024
46
+ },
47
+ "norm_num_groups": 32,
48
+ "out_channels": 3,
49
+ "sample_size": 1024,
50
+ "scaling_factor": 0.13025,
51
+ "task": "semantic-segmentation",
52
+ "transformers_version": null,
53
+ "up_block_types": [
54
+ "UpDecoderBlock2D",
55
+ "UpDecoderBlock2D",
56
+ "UpDecoderBlock2D",
57
+ "UpDecoderBlock2D"
58
+ ]
59
+ }
vae_encoder/model.neuron ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e0f9914ff7b1c53f7e10582ae6beb7e2277a37d12a26b2eecb1b64fd0ad6b04c
3
+ size 398106110