Initial commit
All checks were successful
Generate Map Previews for Switzerland25 Tournament / Full CI/CD Pipeline (push) Successful in 1m1s

This commit is contained in:
2025-09-17 18:37:48 +02:00
commit ea7456b7f3
2061 changed files with 7709 additions and 0 deletions

32
.gitattributes vendored Normal file
View File

@@ -0,0 +1,32 @@
*.db filter=lfs diff=lfs merge=lfs -text
*.exe filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.JPG filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.PNG filter=lfs diff=lfs merge=lfs -text
*.pnG filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.webp filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.xcf filter=lfs diff=lfs merge=lfs -text
*.pxr filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.WAV filter=lfs diff=lfs merge=lfs -text
*.sfk filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
*.lnk filter=lfs diff=lfs merge=lfs -text
*.pk filter=lfs diff=lfs merge=lfs -text
*.fig filter=lfs diff=lfs merge=lfs -text
*.fds filter=lfs diff=lfs merge=lfs -text
*.pdn filter=lfs diff=lfs merge=lfs -text
*.osk filter=lfs diff=lfs merge=lfs -text
*.osr filter=lfs diff=lfs merge=lfs -text
*.osz filter=lfs diff=lfs merge=lfs -text
*.pack filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text

151
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,151 @@
name: Generate Map Previews for Switzerland25 Tournament
on:
push:
paths:
- '.gitea/workflows/*'
- 'replays/**'
workflow_dispatch:
env:
DANSER_PATH: "/app/danser/danser-cli"
DANSER_DIR: "/app/danser"
DANSER_VIDEO_DIR: "/app/danser/videos"
DANSER_SKINS_DIR: "/app/danser/skins"
DANSER_MAPS_DIR: "/app/danser/songs"
SKINS_DIR: "${{ github.workspace }}/skins"
REPLAY_DIR: "${{ github.workspace }}/replays"
MAPS_DIR: "${{ github.workspace }}/maps"
OUTPUT_DIR: "${{ github.workspace }}/outputs"
TIMESTAMPS_JSON: "${{ github.workspace }}/.gitea/workflows/timestamps.json"
IMAGE_NAME: osc/skins-image
REGISTRY_URL: "https://${{ vars.CONTAINER_REGISTRY }}"
jobs:
generate_everything:
name: Full CI/CD Pipeline
runs-on: danser
container:
image: ${{ vars.CONTAINER_REGISTRY }}/${{ env.IMAGE_NAME }}:latest
options: >-
--gpus all
--privileged
--security-opt seccomp=unconfined
--security-opt apparmor=unconfined
--cap-add=ALL
--env NVIDIA_DRIVER_CAPABILITIES=all
--env NVIDIA_VISIBLE_DEVICES=all
--user 0:0
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
tags: true
lfs: true
- name: Set XDG_RUNTIME_DIR
shell: bash
run: |
echo "Setting XDG_RUNTIME_DIR..."
mkdir -p /tmp/xdg_runtime_dir
chmod 0700 /tmp/xdg_runtime_dir
echo "XDG_RUNTIME_DIR=/tmp/xdg_runtime_dir" >> "$GITHUB_ENV"
echo "XDG_RUNTIME_DIR set."
- name: Move necessary files to Danser directory
shell: bash
run: |
mkdir -p "$DANSER_SKINS_DIR"
mv "$SKINS_DIR"/* "$DANSER_SKINS_DIR"
mkdir -p "$DANSER_MAPS_DIR"
find "$MAPS_DIR" -type f -name '*.osz' -exec mv -t "$DANSER_MAPS_DIR" {} +
- name: Generate Danser videos
shell: bash
run: |
JSON_FILE="$TIMESTAMPS_JSON"
mapfile -t REPLAYS < <(find "$REPLAY_DIR" -type f -name "*.osr")
[ ! -f "$JSON_FILE" ] && exit 0
choose_skin() {
local name="$1"
case "$name" in
*FM*) echo "Aristia(Edit)+trail" ;;
*HD*) echo "Aristia(Edit)+trail" ;;
*DT*) echo "boop" ;;
*EZ*) echo "Jace 6.25" ;;
*TB*) echo "Aristia(Edit)+trail" ;;
*HR*) echo "Aristia(Edit)+trail" ;;
*) echo "OSCT_2023" ;;
esac
}
for REPLAY in "${REPLAYS[@]}"; do
[ ! -f "$REPLAY" ] && continue
REPLAY_NAME=$(basename "$REPLAY" .osr)
STAGE="${REPLAY_NAME%%_*}"
ENTRY=$(jq -c --arg name "$REPLAY_NAME" '
.[] | map(select(.name == $name)) | .[]' "$JSON_FILE")
if [ -z "$ENTRY" ]; then
continue
fi
DONE=$(echo "$ENTRY" | jq -r '.done')
if [ "$DONE" = "true" ]; then
continue
fi
START=$(echo "$ENTRY" | jq -r '.start')
END=$(echo "$ENTRY" | jq -r '.end')
OUT_VIDEO_DIR="$OUTPUT_DIR/$STAGE"
OUT_VIDEO_FILE="$OUT_VIDEO_DIR/$REPLAY_NAME.mp4"
mkdir -p "$OUT_VIDEO_DIR"
SKIN=$(choose_skin "$REPLAY_NAME")
xvfb-run -a "$DANSER_DIR/danser-cli" \
-replay "$REPLAY" -record -skip -settings="tourneypreview" -skin="$SKIN" -start=$START -end=$END -noupdatecheck \
-out="$REPLAY_NAME"
if [ -f "$DANSER_VIDEO_DIR/$REPLAY_NAME.mp4" ]; then
mv "$DANSER_VIDEO_DIR/$REPLAY_NAME.mp4" "$OUT_VIDEO_FILE"
ffmpeg -hide_banner -loglevel error \
-ss 5 \
-i "$OUT_VIDEO_FILE" \
-c:v h264_nvenc -preset slow -rc vbr -cq 19 -b:v 10M -maxrate 20M \
-c:a aac -b:a 192k \
"${OUT_VIDEO_FILE}.tmp.mp4"
mv "${OUT_VIDEO_FILE}.tmp.mp4" "$OUT_VIDEO_FILE"
tmp=$(mktemp)
jq --arg name "$REPLAY_NAME" '
(.. | objects | select(has("name")) | select(.name == $name))
|= (.done = true)' "$JSON_FILE" > "$tmp" && mv "$tmp" "$JSON_FILE"
fi
done
- name: Configure Git
shell: bash
run: |
git config user.email "arlind@sulej.ch"
git config user.name "ci-bot"
- name: Add and Commit changes
shell: bash
run: |
git config advice.addIgnoredFile false
git add outputs/
git commit -m "[ci skip] push back from pipeline" -q || echo "No changes to commit"
- name: Push changes and create tag
shell: bash
run: git push origin main || echo "No changes to push"

View File

@@ -0,0 +1,70 @@
{
"QF": [
{ "name": "QF_FM1", "start": 0, "end": 0, "done": false },
{ "name": "QF_FM2", "start": 0, "end": 0, "done": false },
{ "name": "QF_FM3", "start": 0, "end": 0, "done": false },
{ "name": "QF_FM4", "start": 0, "end": 0, "done": false },
{ "name": "QF_FM5", "start": 0, "end": 0, "done": false },
{ "name": "QF_HD1", "start": 0, "end": 0, "done": false },
{ "name": "QF_HD2", "start": 0, "end": 0, "done": false },
{ "name": "QF_HR1", "start": 0, "end": 0, "done": false },
{ "name": "QF_HR2", "start": 0, "end": 0, "done": false },
{ "name": "QF_DT1", "start": 0, "end": 0, "done": false },
{ "name": "QF_DT2", "start": 0, "end": 0, "done": false },
{ "name": "QF_DT3", "start": 0, "end": 0, "done": false }
],
"Ro16": [
{ "name": "Ro16_FM1", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_FM2", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_FM3", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_FM4", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_FM5", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_FM6", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_HD1", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_HD2", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_HR1", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_DT1", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_DT2", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_DT3", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_EZ1", "start": 0, "end": 0, "done": false },
{ "name": "Ro16_TB1", "start": 0, "end": 0, "done": false }
],
"SF": [
{ "name": "SF_FM1", "start": 0, "end": 0, "done": false },
{ "name": "SF_FM2", "start": 0, "end": 0, "done": false },
{ "name": "SF_FM3", "start": 0, "end": 0, "done": false },
{ "name": "SF_FM4", "start": 0, "end": 0, "done": false },
{ "name": "SF_FM5", "start": 0, "end": 0, "done": false },
{ "name": "SF_FM6", "start": 0, "end": 0, "done": false },
{ "name": "SF_HD1", "start": 0, "end": 0, "done": false },
{ "name": "SF_HD2", "start": 0, "end": 0, "done": false },
{ "name": "SF_HR1", "start": 0, "end": 0, "done": false },
{ "name": "SF_HR2", "start": 0, "end": 0, "done": false },
{ "name": "SF_DT1", "start": 0, "end": 0, "done": false },
{ "name": "SF_DT2", "start": 0, "end": 0, "done": false },
{ "name": "SF_DT3", "start": 0, "end": 0, "done": false },
{ "name": "SF_DT4", "start": 0, "end": 0, "done": false },
{ "name": "SF_EZ1", "start": 0, "end": 0, "done": false },
{ "name": "SF_TB1", "start": 0, "end": 0, "done": false }
],
"GF": [
{ "name": "GF_FM1", "start": 0, "end": 0, "done": false },
{ "name": "GF_FM2", "start": 0, "end": 0, "done": false },
{ "name": "GF_FM3", "start": 0, "end": 0, "done": false },
{ "name": "GF_FM4", "start": 0, "end": 0, "done": false },
{ "name": "GF_FM5", "start": 0, "end": 0, "done": false },
{ "name": "GF_FM6", "start": 0, "end": 0, "done": false },
{ "name": "GF_FM7", "start": 0, "end": 0, "done": false },
{ "name": "GF_HD1", "start": 0, "end": 0, "done": false },
{ "name": "GF_HD2", "start": 0, "end": 0, "done": false },
{ "name": "GF_HR1", "start": 0, "end": 0, "done": false },
{ "name": "GF_HR2", "start": 0, "end": 0, "done": false },
{ "name": "GF_HR3", "start": 100, "end": 120, "done": false },
{ "name": "GF_DT1", "start": 0, "end": 0, "done": false },
{ "name": "GF_DT2", "start": 0, "end": 0, "done": false },
{ "name": "GF_DT3", "start": 0, "end": 0, "done": false },
{ "name": "GF_DT4", "start": 0, "end": 0, "done": false },
{ "name": "GF_EZ1", "start": 0, "end": 0, "done": false },
{ "name": "GF_TB1", "start": 0, "end": 0, "done": false }
]
}

8
README.md Normal file
View File

@@ -0,0 +1,8 @@
# Switzerlan25 Tournament
## Video Outputs
- [Qualifiers](/outputs/QF/)
- [Round of 16](/outputs/Ro16/)
- [Semifinals](/outputs/SF/)
- [Grand Finals](/outputs/GF/)

BIN
maps/GF/GF_HR3.osz LFS Normal file

Binary file not shown.

0
maps/QF/.gitkeep Normal file
View File

0
maps/Ro16/.gitkeep Normal file
View File

0
maps/SF/.gitkeep Normal file
View File

20
outputs/GF/README.md Normal file
View File

@@ -0,0 +1,20 @@
# Grand Finals Previews
- [GF_FM1](./GF_FM1.mp4)
- [GF_FM2](./GF_FM2.mp4)
- [GF_FM3](./GF_FM3.mp4)
- [GF_FM4](./GF_FM4.mp4)
- [GF_FM5](./GF_FM5.mp4)
- [GF_FM6](./GF_FM6.mp4)
- [GF_FM7](./GF_FM7.mp4)
- [GF_HD1](./GF_HD1.mp4)
- [GF_HD2](./GF_HD2.mp4)
- [GF_HR1](./GF_HR1.mp4)
- [GF_HR2](./GF_HR2.mp4)
- [GF_HR3](./GF_HR3.mp4)
- [GF_DT1](./GF_DT1.mp4)
- [GF_DT2](./GF_DT2.mp4)
- [GF_DT3](./GF_DT3.mp4)
- [GF_DT4](./GF_DT4.mp4)
- [GF_EZ1](./GF_EZ1.mp4)
- [GF_TB1](./GF_TB1.mp4)

14
outputs/QF/README.md Normal file
View File

@@ -0,0 +1,14 @@
# Qualifiers Previews
- [QF_FM1](./QF_FM1.mp4)
- [QF_FM2](./QF_FM2.mp4)
- [QF_FM3](./QF_FM3.mp4)
- [QF_FM4](./QF_FM4.mp4)
- [QF_FM5](./QF_FM5.mp4)
- [QF_HD1](./QF_HD1.mp4)
- [QF_HD2](./QF_HD2.mp4)
- [QF_HR1](./QF_HR1.mp4)
- [QF_HR2](./QF_HR2.mp4)
- [QF_DT1](./QF_DT1.mp4)
- [QF_DT2](./QF_DT2.mp4)
- [QF_DT3](./QF_DT3.mp4)

16
outputs/Ro16/README.md Normal file
View File

@@ -0,0 +1,16 @@
# Round of 16 Previews
- [Ro16_FM1](./Ro16_FM1.mp4)
- [Ro16_FM2](./Ro16_FM2.mp4)
- [Ro16_FM3](./Ro16_FM3.mp4)
- [Ro16_FM4](./Ro16_FM4.mp4)
- [Ro16_FM5](./Ro16_FM5.mp4)
- [Ro16_FM6](./Ro16_FM6.mp4)
- [Ro16_HD1](./Ro16_HD1.mp4)
- [Ro16_HD2](./Ro16_HD2.mp4)
- [Ro16_HR1](./Ro16_HR1.mp4)
- [Ro16_DT1](./Ro16_DT1.mp4)
- [Ro16_DT2](./Ro16_DT2.mp4)
- [Ro16_DT3](./Ro16_DT3.mp4)
- [Ro16_EZ1](./Ro16_EZ1.mp4)
- [Ro16_TB1](./Ro16_TB1.mp4)

18
outputs/SF/README.md Normal file
View File

@@ -0,0 +1,18 @@
# Semifinals Previews
- [SF_FM1](./SF_FM1.mp4)
- [SF_FM2](./SF_FM2.mp4)
- [SF_FM3](./SF_FM3.mp4)
- [SF_FM4](./SF_FM4.mp4)
- [SF_FM5](./SF_FM5.mp4)
- [SF_FM6](./SF_FM6.mp4)
- [SF_HD1](./SF_HD1.mp4)
- [SF_HD2](./SF_HD2.mp4)
- [SF_HR1](./SF_HR1.mp4)
- [SF_HR2](./SF_HR2.mp4)
- [SF_DT1](./SF_DT1.mp4)
- [SF_DT2](./SF_DT2.mp4)
- [SF_DT3](./SF_DT3.mp4)
- [SF_DT4](./SF_DT4.mp4)
- [SF_EZ1](./SF_EZ1.mp4)
- [SF_TB1](./SF_TB1.mp4)

BIN
replays/GF/GF_FM1.osr LFS Normal file

Binary file not shown.

BIN
replays/GF/GF_HR3.osr LFS Normal file

Binary file not shown.

BIN
replays/QF/QF_DT1.osr LFS Normal file

Binary file not shown.

BIN
replays/QF/QF_DT2.osr LFS Normal file

Binary file not shown.

BIN
replays/QF/QF_DT3.osr LFS Normal file

Binary file not shown.

BIN
replays/QF/QF_FM4.osr LFS Normal file

Binary file not shown.

BIN
replays/QF/QF_FM5.osr LFS Normal file

Binary file not shown.

BIN
replays/QF/QF_HD2.osr LFS Normal file

Binary file not shown.

BIN
replays/QF/QF_HR1.osr LFS Normal file

Binary file not shown.

BIN
replays/Ro16/Ro16_EZ1.osr LFS Normal file

Binary file not shown.

BIN
replays/Ro16/Ro16_FM2.osr LFS Normal file

Binary file not shown.

BIN
replays/Ro16/Ro16_FM6.osr LFS Normal file

Binary file not shown.

BIN
replays/SF/SF_EZ1.osr LFS Normal file

Binary file not shown.

BIN
skins/Aristia(Edit)+trail/Go.png LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,207 @@
[General]
Name: Aristia(Edit)+trail
Author: [Garin] + Aristia + Various
Version: 2.4
SliderBallFlip: 1
CursorRotate: 0
CursorTrailRotate: 0
CursorExpand: 0
CursorCentre: 1
SliderBallFrames: 60
HitCircleOverlayAboveNumer: 1
SliderStyle: 2
AllowSliderBallTint: 1
SpinnerFadePlayfield: 0
[Colours]
Combo1: 26,116,242
Combo2: 164,32,240
Combo3: 37,185,239
Combo4: 23,209,116
Combo5: 255,75,255
//Combo1: 255,75,255
//Combo2: 37,185,239
//Combo3: 26,116,242
SongSelectActiveText: 250,250,250
SongSelectInactiveText: 230,230,230
SliderBorder: 120,120,120
SliderTrackOverride: 3,3,12
[Fonts]
HitCirclePrefix: default
HitCircleOverlap: 6
//The prefix for the score font sprites (top left of interface)
ScorePrefix: num\berlin
ScoreOverlap: 0
//The prefix for the combo font sprites (bottom left of interface)
ComboPrefix: num\berlin
ComboOverlap: 5
[Mania]
Keys: 4
//Mania skin config
ColumnStart: 340
HitPosition: 400
SpecialStyle: 0
UpsideDown: 0
JudgementLine: 0
ScorePosition: 300
ComboPosition: 275
LightFramePerSecond: 24
ColumnWidth: 45,45,45,45
ColumnLineWidth: 0,0,0,0,0
BarlineHeight: 0
//Colours
ColourLight1: 102,205,107,175
ColourLight2: 69,188,250,175
ColourLight3: 69,188,250,175
ColourLight4: 102,205,107,175
Colour1: 0,0,0,240
Colour2: 0,0,0,240
Colour3: 0,0,0,240
Colour4: 0,0,0,240
ColourHold: 255,230,0,255
[Mania]
Keys: 5
//Mania skin config
ColumnStart: 336
HitPosition: 400
SpecialStyle: 0
UpsideDown: 0
JudgementLine: 0
ScorePosition: 300
ComboPosition: 275
LightFramePerSecond: 24
ColumnWidth: 43,40,44,40,43
ColumnLineWidth: 0,0,0,0,0,0
BarlineHeight: 0
//Colours
ColourLight1: 102,205,107,175
ColourLight2: 69,188,250,175
ColourLight3: 205,102,102,175
ColourLight4: 69,188,250,175
ColourLight5: 102,205,107,175
Colour1: 0,0,0,240
Colour2: 0,0,0,240
Colour3: 0,0,0,240
Colour4: 0,0,0,240
Colour5: 0,0,0,240
ColourHold: 255,230,0,255
//images
KeyImage2: mania-keyS
KeyImage2D: mania-keySD
NoteImage2: mania-noteS
NoteImage2H: mania-noteSH
NoteImage2L: mania-noteSL
[Mania]
Keys: 6
//Mania skin config
ColumnStart: 336
HitPosition: 400
SpecialStyle: 0
UpsideDown: 0
JudgementLine: 0
ScorePosition: 300
ComboPosition: 275
LightFramePerSecond: 24
ColumnWidth: 38,35,38,35,38,35
ColumnLineWidth: 0,0,0,0,0,0,0
BarlineHeight: 0
//Colours
ColourLight1: 102,205,107,175
ColourLight2: 69,188,250,175
ColourLight3: 102,205,107,175
ColourLight4: 102,205,107,175
ColourLight5: 69,188,250,175
ColourLight6: 102,205,107,175
Colour1: 0,0,0,240
Colour2: 0,0,0,240
Colour3: 0,0,0,240
Colour4: 0,0,0,240
Colour5: 0,0,0,240
Colour6: 0,0,0,240
ColourHold: 255,230,0,255
[Mania]
Keys: 7
//Mania skin config
ColumnStart: 336
HitPosition: 400
ScorePosition: 300
ComboPosition: 275
JudgementLine: 0
LightFramePerSecond: 24
ColumnWidth: 36,34,36,38,36,34,38
ColumnLineWidth: 0,0,0,0,0,0,0,0
BarlineHeight: 0
//Colours
ColourLight1: 102,205,170,255
ColourLight2: 69,188,250,175
ColourLight3: 102,205,170,255
ColourLight4: 205,102,102,175
ColourLight5: 102,205,170,255
ColourLight6: 69,188,250,175
ColourLight7: 102,205,170,255
Colour1: 0,0,0,240
Colour2: 0,0,0,240
Colour3: 0,0,0,240
Colour4: 0,0,0,240
Colour5: 0,0,0,240
Colour6: 0,0,0,240
Colour7: 0,0,0,240
ColourHold: 255,230,0,255
[Mania]
Keys: 8
//Mania skin config
ColumnStart: 336
Barline: 0
HitPosition: 400
SpecialStyle: 1
UpsideDown: 0
JudgementLine: 0
ScorePosition: 300
ComboPosition: 275
LightFramePerSecond: 24
ColumnWidth: 45,28,25,28,25,28,25,28
ColumnLineWidth: 0,2,2,2,2,2,2,2,0
BarlineHeight: 0
//Colours
Colour1: 0,0,0,240
Colour2: 24,24,24,240
Colour3: 0,0,0,240
Colour4: 24,24,24,240
Colour5: 0,0,0,240
Colour6: 24,24,24,240
Colour7: 0,0,0,240
Colour8: 24,24,24,240
ColourLight1: 205,102,102,175
ColourLight2: 102,205,107,175
ColourLight3: 69,188,250,175
ColourLight4: 102,205,107,175
ColourLight5: 69,188,250,175
ColourLight6: 102,205,107,175
ColourLight7: 69,188,250,175
ColourLight8: 102,205,107,175
ColourHold: 255,255,255,255
ColourColumnLine: 99,99,99,255
ColourHold: 255,230,0,255
//images
KeyImage0: Mania-keyT
KeyImage0D: Mania-KeyTD

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More