Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
LightX2V
Commits
a1ebc651
Commit
a1ebc651
authored
Dec 11, 2025
by
xuwx1
Browse files
updata lightx2v
parent
5a4db490
Pipeline
#3149
canceled with stages
Changes
428
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
506 additions
and
0 deletions
+506
-0
configs/seko_talk/mlu/seko_talk_bf16.json
configs/seko_talk/mlu/seko_talk_bf16.json
+18
-0
configs/seko_talk/mlu/seko_talk_int8.json
configs/seko_talk/mlu/seko_talk_int8.json
+29
-0
configs/seko_talk/mlu/seko_talk_int8_dist.json
configs/seko_talk/mlu/seko_talk_int8_dist.json
+33
-0
configs/seko_talk/multi_person/01_base.json
configs/seko_talk/multi_person/01_base.json
+16
-0
configs/seko_talk/multi_person/02_base_fp8.json
configs/seko_talk/multi_person/02_base_fp8.json
+22
-0
configs/seko_talk/multi_person/03_dist.json
configs/seko_talk/multi_person/03_dist.json
+20
-0
configs/seko_talk/multi_person/04_dist_fp8.json
configs/seko_talk/multi_person/04_dist_fp8.json
+26
-0
configs/seko_talk/multi_person/15_base_compile.json
configs/seko_talk/multi_person/15_base_compile.json
+27
-0
configs/seko_talk/seko_talk_01_base.json
configs/seko_talk/seko_talk_01_base.json
+16
-0
configs/seko_talk/seko_talk_02_fp8.json
configs/seko_talk/seko_talk_02_fp8.json
+24
-0
configs/seko_talk/seko_talk_03_dist.json
configs/seko_talk/seko_talk_03_dist.json
+20
-0
configs/seko_talk/seko_talk_04_fp8_dist.json
configs/seko_talk/seko_talk_04_fp8_dist.json
+26
-0
configs/seko_talk/seko_talk_05_offload_fp8_4090.json
configs/seko_talk/seko_talk_05_offload_fp8_4090.json
+32
-0
configs/seko_talk/seko_talk_05_offload_fp8_4090_dist.json
configs/seko_talk/seko_talk_05_offload_fp8_4090_dist.json
+36
-0
configs/seko_talk/seko_talk_06_offload_fp8_H100.json
configs/seko_talk/seko_talk_06_offload_fp8_H100.json
+30
-0
configs/seko_talk/seko_talk_07_dist_offload.json
configs/seko_talk/seko_talk_07_dist_offload.json
+28
-0
configs/seko_talk/seko_talk_08_5B_base.json
configs/seko_talk/seko_talk_08_5B_base.json
+31
-0
configs/seko_talk/seko_talk_09_base_fixed_min_area.json
configs/seko_talk/seko_talk_09_base_fixed_min_area.json
+16
-0
configs/seko_talk/seko_talk_10_fp8_dist_fixed_min_area.json
configs/seko_talk/seko_talk_10_fp8_dist_fixed_min_area.json
+26
-0
configs/seko_talk/seko_talk_11_fp8_dist_fixed_shape.json
configs/seko_talk/seko_talk_11_fp8_dist_fixed_shape.json
+30
-0
No files found.
Too many changes to show.
To preserve performance only
428 of 428+
files are displayed.
Plain diff
Email patch
configs/seko_talk/mlu/seko_talk_bf16.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"mlu_sage_attn"
,
"cross_attn_1_type"
:
"mlu_sage_attn"
,
"cross_attn_2_type"
:
"mlu_sage_attn"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"rope_type"
:
"torch"
,
"modulate_type"
:
"torch"
}
configs/seko_talk/mlu/seko_talk_int8.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"mlu_sage_attn"
,
"cross_attn_1_type"
:
"mlu_sage_attn"
,
"cross_attn_2_type"
:
"mlu_sage_attn"
,
"seed"
:
42
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"clip_quantized"
:
false
,
"clip_quant_scheme"
:
"int8-tmo"
,
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"int8-tmo"
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"int8-tmo"
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"int8-tmo"
,
"modulate_type"
:
"torch"
,
"rope_type"
:
"torch"
,
"ln_type"
:
"Default"
,
"rms_type"
:
"Default"
}
configs/seko_talk/mlu/seko_talk_int8_dist.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"mlu_sage_attn"
,
"cross_attn_1_type"
:
"mlu_sage_attn"
,
"cross_attn_2_type"
:
"mlu_sage_attn"
,
"seed"
:
42
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"clip_quantized"
:
false
,
"clip_quant_scheme"
:
"int8-tmo"
,
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"int8-tmo"
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"int8-tmo"
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"int8-tmo"
,
"modulate_type"
:
"torch"
,
"rope_type"
:
"torch"
,
"ln_type"
:
"Default"
,
"rms_type"
:
"Default"
,
"parallel"
:
{
"seq_p_size"
:
8
,
"seq_p_attn_type"
:
"ulysses"
}
}
configs/seko_talk/multi_person/01_base.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"flash_attn3"
,
"cross_attn_1_type"
:
"flash_attn3"
,
"cross_attn_2_type"
:
"flash_attn3"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
}
configs/seko_talk/multi_person/02_base_fp8.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"fp8-sgl"
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"fp8"
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"fp8"
}
configs/seko_talk/multi_person/03_dist.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"parallel"
:
{
"seq_p_size"
:
4
,
"seq_p_attn_type"
:
"ulysses"
}
}
configs/seko_talk/multi_person/04_dist_fp8.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"fp8-sgl"
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"fp8"
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"fp8"
,
"parallel"
:
{
"seq_p_size"
:
4
,
"seq_p_attn_type"
:
"ulysses"
}
}
configs/seko_talk/multi_person/15_base_compile.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"flash_attn3"
,
"cross_attn_1_type"
:
"flash_attn3"
,
"cross_attn_2_type"
:
"flash_attn3"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"compile"
:
true
,
"compile_shapes"
:
[
[
480
,
832
],
[
720
,
1280
]
]
}
configs/seko_talk/seko_talk_01_base.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"flash_attn3"
,
"cross_attn_1_type"
:
"flash_attn3"
,
"cross_attn_2_type"
:
"flash_attn3"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
}
configs/seko_talk/seko_talk_02_fp8.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"clip_quantized"
:
true
,
"clip_quant_scheme"
:
"fp8-sgl"
,
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"fp8-sgl"
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"fp8-sgl"
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"fp8-sgl"
}
configs/seko_talk/seko_talk_03_dist.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"flash_attn3"
,
"cross_attn_1_type"
:
"flash_attn3"
,
"cross_attn_2_type"
:
"flash_attn3"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"parallel"
:
{
"seq_p_size"
:
8
,
"seq_p_attn_type"
:
"ulysses"
}
}
configs/seko_talk/seko_talk_04_fp8_dist.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"parallel"
:
{
"seq_p_size"
:
8
,
"seq_p_attn_type"
:
"ulysses"
},
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"fp8-sgl"
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"fp8-sgl"
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"fp8-sgl"
}
configs/seko_talk/seko_talk_05_offload_fp8_4090.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"use_31_block"
:
false
,
"cpu_offload"
:
true
,
"offload_granularity"
:
"block"
,
"offload_ratio"
:
1
,
"t5_cpu_offload"
:
false
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"fp8-q8f"
,
"clip_cpu_offload"
:
false
,
"clip_quantized"
:
true
,
"clip_quant_scheme"
:
"fp8-q8f"
,
"audio_encoder_cpu_offload"
:
false
,
"audio_adapter_cpu_offload"
:
false
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"fp8-q8f"
,
"vae_cpu_offload"
:
false
,
"use_tiling_vae"
:
false
,
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"fp8-q8f"
}
configs/seko_talk/seko_talk_05_offload_fp8_4090_dist.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"use_31_block"
:
false
,
"cpu_offload"
:
true
,
"offload_granularity"
:
"block"
,
"offload_ratio"
:
1
,
"t5_cpu_offload"
:
false
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"fp8-q8f"
,
"clip_cpu_offload"
:
false
,
"clip_quantized"
:
true
,
"clip_quant_scheme"
:
"fp8-q8f"
,
"audio_encoder_cpu_offload"
:
false
,
"audio_adapter_cpu_offload"
:
false
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"fp8-q8f"
,
"vae_cpu_offload"
:
false
,
"use_tiling_vae"
:
false
,
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"fp8-q8f"
,
"parallel"
:
{
"seq_p_size"
:
8
,
"seq_p_attn_type"
:
"ulysses-4090"
}
}
configs/seko_talk/seko_talk_06_offload_fp8_H100.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"use_31_block"
:
false
,
"cpu_offload"
:
true
,
"offload_granularity"
:
"block"
,
"offload_ratio"
:
1
,
"t5_cpu_offload"
:
true
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"fp8-sgl"
,
"clip_cpu_offload"
:
false
,
"audio_encoder_cpu_offload"
:
false
,
"audio_adapter_cpu_offload"
:
false
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"fp8-sgl"
,
"vae_cpu_offload"
:
false
,
"use_tiling_vae"
:
false
,
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"fp8-sgl"
}
configs/seko_talk/seko_talk_07_dist_offload.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"adaptive"
,
"self_attn_1_type"
:
"flash_attn3"
,
"cross_attn_1_type"
:
"flash_attn3"
,
"cross_attn_2_type"
:
"flash_attn3"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"use_31_block"
:
false
,
"parallel"
:
{
"seq_p_size"
:
4
,
"seq_p_attn_type"
:
"ulysses"
},
"cpu_offload"
:
true
,
"offload_granularity"
:
"block"
,
"t5_cpu_offload"
:
true
,
"clip_cpu_offload"
:
false
,
"vae_cpu_offload"
:
false
,
"offload_ratio"
:
1
,
"use_tiling_vae"
:
true
,
"audio_encoder_cpu_offload"
:
true
,
"audio_adapter_cpu_offload"
:
false
}
configs/seko_talk/seko_talk_08_5B_base.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
24
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
121
,
"resize_mode"
:
"adaptive"
,
"text_len"
:
512
,
"num_channels_latents"
:
48
,
"vae_stride"
:
[
4
,
16
,
16
],
"self_attn_1_type"
:
"flash_attn3"
,
"cross_attn_1_type"
:
"flash_attn3"
,
"cross_attn_2_type"
:
"flash_attn3"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5.0
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"fps"
:
24
,
"use_image_encoder"
:
false
,
"use_31_block"
:
false
,
"lora_configs"
:
[
{
"path"
:
"/mnt/aigc/rtxiang/pretrain/qianhai_weights/lora_model.safetensors"
,
"strength"
:
0.125
}
]
}
configs/seko_talk/seko_talk_09_base_fixed_min_area.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"fixed_min_area"
,
"self_attn_1_type"
:
"flash_attn3"
,
"cross_attn_1_type"
:
"flash_attn3"
,
"cross_attn_2_type"
:
"flash_attn3"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
}
configs/seko_talk/seko_talk_10_fp8_dist_fixed_min_area.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"fixed_min_area"
,
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"parallel"
:
{
"seq_p_size"
:
4
,
"seq_p_attn_type"
:
"ulysses"
},
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"fp8-sgl"
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"fp8-sgl"
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"fp8-sgl"
}
configs/seko_talk/seko_talk_11_fp8_dist_fixed_shape.json
0 → 100644
View file @
a1ebc651
{
"infer_steps"
:
4
,
"target_fps"
:
16
,
"video_duration"
:
360
,
"audio_sr"
:
16000
,
"target_video_length"
:
81
,
"resize_mode"
:
"fixed_shape"
,
"fixed_shape"
:
[
240
,
320
],
"self_attn_1_type"
:
"sage_attn2"
,
"cross_attn_1_type"
:
"sage_attn2"
,
"cross_attn_2_type"
:
"sage_attn2"
,
"sample_guide_scale"
:
1.0
,
"sample_shift"
:
5
,
"enable_cfg"
:
false
,
"cpu_offload"
:
false
,
"use_31_block"
:
false
,
"parallel"
:
{
"seq_p_size"
:
4
,
"seq_p_attn_type"
:
"ulysses"
},
"dit_quantized"
:
true
,
"dit_quant_scheme"
:
"fp8-sgl"
,
"adapter_quantized"
:
true
,
"adapter_quant_scheme"
:
"fp8-sgl"
,
"t5_quantized"
:
true
,
"t5_quant_scheme"
:
"fp8-sgl"
}
Prev
1
…
6
7
8
9
10
11
12
13
14
…
22
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment