minimal ffmpeg build (#36138)

* min ffmpeg

* remove avfilter

* x264

* merge x264

* simpler

* pin x264

* mac

* rm that

* lil more

* move includes to lfs

* try this

* cleanup

* larch

---------

Co-authored-by: Comma Device <device@comma.ai>
pull/36147/head
Adeeb Shihadeh 1 day ago committed by GitHub
parent cbea5f198f
commit 347b23055d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      .gitattributes
  2. 4
      SConstruct
  3. 4
      system/loggerd/SConscript
  4. 14
      system/loggerd/tests/test_loggerd.py
  5. 2
      third_party/.gitignore
  6. 3
      third_party/ffmpeg/Darwin/lib/libavcodec.a
  7. 3
      third_party/ffmpeg/Darwin/lib/libavformat.a
  8. 3
      third_party/ffmpeg/Darwin/lib/libavutil.a
  9. 3
      third_party/ffmpeg/Darwin/lib/libx264.a
  10. 83
      third_party/ffmpeg/build.sh
  11. 3
      third_party/ffmpeg/include/libavcodec/ac3_parser.h
  12. 3
      third_party/ffmpeg/include/libavcodec/adts_parser.h
  13. 3
      third_party/ffmpeg/include/libavcodec/avcodec.h
  14. 3
      third_party/ffmpeg/include/libavcodec/avdct.h
  15. 3
      third_party/ffmpeg/include/libavcodec/avfft.h
  16. 3
      third_party/ffmpeg/include/libavcodec/bsf.h
  17. 3
      third_party/ffmpeg/include/libavcodec/codec.h
  18. 3
      third_party/ffmpeg/include/libavcodec/codec_desc.h
  19. 3
      third_party/ffmpeg/include/libavcodec/codec_id.h
  20. 3
      third_party/ffmpeg/include/libavcodec/codec_par.h
  21. 3
      third_party/ffmpeg/include/libavcodec/d3d11va.h
  22. 3
      third_party/ffmpeg/include/libavcodec/defs.h
  23. 3
      third_party/ffmpeg/include/libavcodec/dirac.h
  24. 3
      third_party/ffmpeg/include/libavcodec/dv_profile.h
  25. 3
      third_party/ffmpeg/include/libavcodec/dxva2.h
  26. 3
      third_party/ffmpeg/include/libavcodec/jni.h
  27. 3
      third_party/ffmpeg/include/libavcodec/mediacodec.h
  28. 3
      third_party/ffmpeg/include/libavcodec/packet.h
  29. 3
      third_party/ffmpeg/include/libavcodec/qsv.h
  30. 3
      third_party/ffmpeg/include/libavcodec/vdpau.h
  31. 3
      third_party/ffmpeg/include/libavcodec/version.h
  32. 3
      third_party/ffmpeg/include/libavcodec/version_major.h
  33. 3
      third_party/ffmpeg/include/libavcodec/videotoolbox.h
  34. 3
      third_party/ffmpeg/include/libavcodec/vorbis_parser.h
  35. 3
      third_party/ffmpeg/include/libavcodec/xvmc.h
  36. 3
      third_party/ffmpeg/include/libavformat/avformat.h
  37. 3
      third_party/ffmpeg/include/libavformat/avio.h
  38. 3
      third_party/ffmpeg/include/libavformat/version.h
  39. 3
      third_party/ffmpeg/include/libavformat/version_major.h
  40. 3
      third_party/ffmpeg/include/libavutil/adler32.h
  41. 3
      third_party/ffmpeg/include/libavutil/aes.h
  42. 3
      third_party/ffmpeg/include/libavutil/aes_ctr.h
  43. 3
      third_party/ffmpeg/include/libavutil/ambient_viewing_environment.h
  44. 3
      third_party/ffmpeg/include/libavutil/attributes.h
  45. 3
      third_party/ffmpeg/include/libavutil/audio_fifo.h
  46. 3
      third_party/ffmpeg/include/libavutil/avassert.h
  47. 3
      third_party/ffmpeg/include/libavutil/avconfig.h
  48. 3
      third_party/ffmpeg/include/libavutil/avstring.h
  49. 3
      third_party/ffmpeg/include/libavutil/avutil.h
  50. 3
      third_party/ffmpeg/include/libavutil/base64.h
  51. 3
      third_party/ffmpeg/include/libavutil/blowfish.h
  52. 3
      third_party/ffmpeg/include/libavutil/bprint.h
  53. 3
      third_party/ffmpeg/include/libavutil/bswap.h
  54. 3
      third_party/ffmpeg/include/libavutil/buffer.h
  55. 3
      third_party/ffmpeg/include/libavutil/camellia.h
  56. 3
      third_party/ffmpeg/include/libavutil/cast5.h
  57. 3
      third_party/ffmpeg/include/libavutil/channel_layout.h
  58. 3
      third_party/ffmpeg/include/libavutil/common.h
  59. 3
      third_party/ffmpeg/include/libavutil/cpu.h
  60. 3
      third_party/ffmpeg/include/libavutil/crc.h
  61. 3
      third_party/ffmpeg/include/libavutil/csp.h
  62. 3
      third_party/ffmpeg/include/libavutil/des.h
  63. 3
      third_party/ffmpeg/include/libavutil/detection_bbox.h
  64. 3
      third_party/ffmpeg/include/libavutil/dict.h
  65. 3
      third_party/ffmpeg/include/libavutil/display.h
  66. 3
      third_party/ffmpeg/include/libavutil/dovi_meta.h
  67. 3
      third_party/ffmpeg/include/libavutil/downmix_info.h
  68. 3
      third_party/ffmpeg/include/libavutil/encryption_info.h
  69. 3
      third_party/ffmpeg/include/libavutil/error.h
  70. 3
      third_party/ffmpeg/include/libavutil/eval.h
  71. 3
      third_party/ffmpeg/include/libavutil/executor.h
  72. 3
      third_party/ffmpeg/include/libavutil/ffversion.h
  73. 3
      third_party/ffmpeg/include/libavutil/fifo.h
  74. 3
      third_party/ffmpeg/include/libavutil/file.h
  75. 3
      third_party/ffmpeg/include/libavutil/film_grain_params.h
  76. 3
      third_party/ffmpeg/include/libavutil/frame.h
  77. 3
      third_party/ffmpeg/include/libavutil/hash.h
  78. 3
      third_party/ffmpeg/include/libavutil/hdr_dynamic_metadata.h
  79. 3
      third_party/ffmpeg/include/libavutil/hdr_dynamic_vivid_metadata.h
  80. 3
      third_party/ffmpeg/include/libavutil/hmac.h
  81. 3
      third_party/ffmpeg/include/libavutil/hwcontext.h
  82. 3
      third_party/ffmpeg/include/libavutil/hwcontext_cuda.h
  83. 3
      third_party/ffmpeg/include/libavutil/hwcontext_d3d11va.h
  84. 3
      third_party/ffmpeg/include/libavutil/hwcontext_drm.h
  85. 3
      third_party/ffmpeg/include/libavutil/hwcontext_dxva2.h
  86. 3
      third_party/ffmpeg/include/libavutil/hwcontext_mediacodec.h
  87. 3
      third_party/ffmpeg/include/libavutil/hwcontext_opencl.h
  88. 3
      third_party/ffmpeg/include/libavutil/hwcontext_qsv.h
  89. 3
      third_party/ffmpeg/include/libavutil/hwcontext_vaapi.h
  90. 3
      third_party/ffmpeg/include/libavutil/hwcontext_vdpau.h
  91. 3
      third_party/ffmpeg/include/libavutil/hwcontext_videotoolbox.h
  92. 3
      third_party/ffmpeg/include/libavutil/hwcontext_vulkan.h
  93. 3
      third_party/ffmpeg/include/libavutil/imgutils.h
  94. 3
      third_party/ffmpeg/include/libavutil/intfloat.h
  95. 3
      third_party/ffmpeg/include/libavutil/intreadwrite.h
  96. 3
      third_party/ffmpeg/include/libavutil/lfg.h
  97. 3
      third_party/ffmpeg/include/libavutil/log.h
  98. 3
      third_party/ffmpeg/include/libavutil/lzo.h
  99. 3
      third_party/ffmpeg/include/libavutil/macros.h
  100. 3
      third_party/ffmpeg/include/libavutil/mastering_display_metadata.h
  101. Some files were not shown because too many files have changed in this diff Show More

1
.gitattributes vendored

@ -15,6 +15,7 @@ third_party/**/*.a filter=lfs diff=lfs merge=lfs -text
third_party/**/*.so filter=lfs diff=lfs merge=lfs -text third_party/**/*.so filter=lfs diff=lfs merge=lfs -text
third_party/**/*.so.* filter=lfs diff=lfs merge=lfs -text third_party/**/*.so.* filter=lfs diff=lfs merge=lfs -text
third_party/**/*.dylib filter=lfs diff=lfs merge=lfs -text third_party/**/*.dylib filter=lfs diff=lfs merge=lfs -text
third_party/ffmpeg/include/**/*.h filter=lfs diff=lfs merge=lfs -text
third_party/acados/*/t_renderer filter=lfs diff=lfs merge=lfs -text third_party/acados/*/t_renderer filter=lfs diff=lfs merge=lfs -text
third_party/qt5/larch64/bin/lrelease filter=lfs diff=lfs merge=lfs -text third_party/qt5/larch64/bin/lrelease filter=lfs diff=lfs merge=lfs -text
third_party/qt5/larch64/bin/lupdate filter=lfs diff=lfs merge=lfs -text third_party/qt5/larch64/bin/lupdate filter=lfs diff=lfs merge=lfs -text

@ -91,6 +91,7 @@ if arch == "larch64":
] ]
libpath = [ libpath = [
f"#third_party/ffmpeg/{arch}/lib",
"/usr/local/lib", "/usr/local/lib",
"/system/vendor/lib64", "/system/vendor/lib64",
f"#third_party/acados/{arch}/lib", f"#third_party/acados/{arch}/lib",
@ -114,6 +115,7 @@ else:
libpath = [ libpath = [
f"#third_party/libyuv/{arch}/lib", f"#third_party/libyuv/{arch}/lib",
f"#third_party/acados/{arch}/lib", f"#third_party/acados/{arch}/lib",
f"#third_party/ffmpeg/{arch}/lib",
f"{brew_prefix}/lib", f"{brew_prefix}/lib",
f"{brew_prefix}/opt/openssl@3.0/lib", f"{brew_prefix}/opt/openssl@3.0/lib",
"/System/Library/Frameworks/OpenGL.framework/Libraries", "/System/Library/Frameworks/OpenGL.framework/Libraries",
@ -130,6 +132,7 @@ else:
libpath = [ libpath = [
f"#third_party/acados/{arch}/lib", f"#third_party/acados/{arch}/lib",
f"#third_party/libyuv/{arch}/lib", f"#third_party/libyuv/{arch}/lib",
f"#third_party/ffmpeg/{arch}/lib",
"/usr/lib", "/usr/lib",
"/usr/local/lib", "/usr/local/lib",
] ]
@ -177,6 +180,7 @@ env = Environment(
"#third_party/libyuv/include", "#third_party/libyuv/include",
"#third_party/json11", "#third_party/json11",
"#third_party/linux/include", "#third_party/linux/include",
"#third_party/ffmpeg/include",
"#third_party", "#third_party",
"#msgq", "#msgq",
], ],

@ -1,8 +1,8 @@
Import('env', 'arch', 'messaging', 'common', 'visionipc') Import('env', 'arch', 'messaging', 'common', 'visionipc')
libs = [common, messaging, visionipc, libs = [common, messaging, visionipc,
'avformat', 'avcodec', 'avutil', 'yuv', 'OpenCL', 'pthread', 'zstd',
'yuv', 'OpenCL', 'pthread', 'zstd'] 'avformat', 'avcodec', 'avutil', 'x264']
src = ['logger.cc', 'zstd_writer.cc', 'video_writer.cc', 'encoder/encoder.cc', 'encoder/v4l_encoder.cc', 'encoder/jpeg_encoder.cc'] src = ['logger.cc', 'zstd_writer.cc', 'video_writer.cc', 'encoder/encoder.cc', 'encoder/v4l_encoder.cc', 'encoder/jpeg_encoder.cc']
if arch != "larch64": if arch != "larch64":

@ -316,8 +316,18 @@ class TestLoggerd:
self._publish_camera_and_audio_messages() self._publish_camera_and_audio_messages()
qcamera_ts_path = os.path.join(self._get_latest_log_dir(), 'qcamera.ts') qcamera_ts_path = os.path.join(self._get_latest_log_dir(), 'qcamera.ts')
ffprobe_cmd = f"ffprobe -i {qcamera_ts_path} -show_streams -select_streams a -loglevel error"
has_audio_stream = subprocess.run(ffprobe_cmd, shell=True, capture_output=True).stdout.strip() != b'' # simplest heuristic: look for AAC ADTS syncwords in the TS file
def ts_has_audio_stream(ts_path: str) -> bool:
try:
with open(ts_path, 'rb') as f:
data = f.read()
# ADTS headers typically start with 0xFFF1 or 0xFFF9
return (b"\xFF\xF1" in data) or (b"\xFF\xF9" in data)
except Exception:
return False
has_audio_stream = ts_has_audio_stream(qcamera_ts_path)
assert has_audio_stream == record_audio assert has_audio_stream == record_audio
raw_audio_in_rlog = any(m.which() == 'rawAudioData' for m in LogReader(os.path.join(self._get_latest_log_dir(), 'rlog.zst'))) raw_audio_in_rlog = any(m.which() == 'rawAudioData' for m in LogReader(os.path.join(self._get_latest_log_dir(), 'rlog.zst')))

@ -1 +1,3 @@
*.pyc *.pyc
src/
build/

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2dcb729a6833558fc0e01abe5e728eba2b3c215abc7dece74d5ce1bc1d279e7d
size 2328832

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:825f145f7168226deae199538113f063e6b71a02999b297c75254dfa466b73cb
size 863544

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c13c341440029d06a1044479876843bc93615849554dc636e386f31f6776850
size 789024

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8bedf59051187092bd9f282acb7f22f7885ed41b2f89692e0478252329bd7e4b
size 1941808

@ -0,0 +1,83 @@
#!/usr/bin/env bash
set -e
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
cd $DIR
# Detect arch
ARCHNAME="x86_64"
if [ -f /TICI ]; then
ARCHNAME="larch64"
fi
if [[ "$OSTYPE" == "darwin"* ]]; then
ARCHNAME="Darwin"
fi
VERSION="6.1.1" # LTS
PREFIX="$DIR/$ARCHNAME"
BUILD_DIR="$DIR/build/"
mkdir -p "$BUILD_DIR"
rm -rf include/ && mkdir -p include/
rm -rf "$PREFIX" && mkdir -p "$PREFIX"
# *** build x264 ***
if [[ ! -d "$DIR/src/x264/" ]]; then
# TODO: pin to a commit
git clone --depth=1 --branch "stable" https://code.videolan.org/videolan/x264.git "$DIR/src/x264/"
fi
cd $DIR/src/x264
git fetch origin b35605ace3ddf7c1a5d67a2eb553f034aef41d55
git checkout -f FETCH_HEAD
./configure --prefix="$PREFIX" --enable-static --disable-opencl --enable-pic --disable-cli
make -j8
make install
cp -a "$PREFIX/include/." "$DIR/include/"
# *** build ffmpeg ***
mkdir -p "$DIR/src"
if [[ ! -d "$DIR/src/ffmpeg-$VERSION" ]]; then
echo "Downloading FFmpeg $VERSION ..."
curl -L "https://ffmpeg.org/releases/ffmpeg-${VERSION}.tar.xz" -o "$DIR/src/ffmpeg-${VERSION}.tar.xz"
tar -C "$DIR/src" -xf "$DIR/src/ffmpeg-${VERSION}.tar.xz"
fi
cd $BUILD_DIR
export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:${PKG_CONFIG_PATH:-}"
export EXTRA_CFLAGS="-I$PREFIX/include ${EXTRA_CFLAGS:-}"
export EXTRA_LDFLAGS="-L$PREFIX/lib ${EXTRA_LDFLAGS:-}"
# Configure minimal static FFmpeg for desktop Linux tools
"$DIR/src/ffmpeg-$VERSION/configure" \
--prefix="$PREFIX" \
--datadir="$PREFIX" \
--docdir="$PREFIX" \
--mandir="$PREFIX" \
--enable-static --disable-shared \
--disable-programs --disable-doc --disable-debug \
--disable-network \
--disable-avdevice --disable-swscale --disable-swresample --disable-postproc --disable-avfilter \
--disable-autodetect --disable-iconv \
--enable-avcodec --enable-avformat --enable-avutil \
--enable-protocol=file \
--pkg-config-flags=--static \
--enable-gpl --enable-libx264 \
--disable-decoders --enable-decoder=h264,hevc,aac \
--disable-encoders --enable-encoder=libx264,ffvhuff,aac \
--disable-demuxers --enable-demuxer=mpegts,hevc,h264,matroska,mov \
--disable-muxers --enable-muxer=matroska,mpegts \
--disable-parsers --enable-parser=h264,hevc,aac,vorbis \
--disable-bsfs \
--enable-small \
--extra-cflags="${EXTRA_CFLAGS:-}" \
--extra-ldflags="${EXTRA_LDFLAGS:-}"
make -j$(nproc)
make install
cp -a "$PREFIX/include/." "$DIR/include/"
# *** cleanup ***
cd $PREFIX
rm -rf share/ doc/ man/ examples/ examples/ include/ lib/pkgconfig/
rm -f lib/libavfilter* "$DIR/include/libavfilter*"

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:200c6d2e96975196e8ba5f5716223dc9dda999d51578dabce2fca93175a05252
size 1207

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d466583a8dc1260b015e588adbe3abd45f3f8ca0e43722f3088b472e80492a15
size 1354

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc38e85633a2c6c44fc60b319d7e046a6e4206456565aa61240dd93ee2e81188
size 114251

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c125edc1985ec078f99abb1c9044c4fc76b06a03eb02c026cb968fb9d41fcca
size 2726

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:81bb6c5359f57de53b0e39766591404b632d15e700d313c97ded234d63d4e393
size 4081

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cc26676aa44638fa5cbef953d967e19e2084b46aaa100f0a35ba2d34b302301c
size 11540

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d8b75f2e4128ce59db3172e2bdcbf64540424e6242952dc0912002bee5314254
size 13460

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4c1a8d02398cc82c1913487405c483f4d74ec71ed3e666ed7e7570f581c8f479
size 3974

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:754a846797be20c7c1ca30358d2555873df3bb19b6b2c8011c85697440f600df
size 18020

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5f2bef7f23782ac9c0b5769eeb54704103efa5074ca5b657d7f01890795baf08
size 8065

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:74a55a2e3f19ce797e99624a224302f25efa89a115b9bf2e932c8fa179b0cc66
size 2853

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0bb9d7049499d252c75f1fe15fced5022ebb30d1966d47217848236eb021604a
size 12358

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09fd1f670422ee61713568abd90fdf371b30e6fe35bc6fb8213f1ad32b45cf56
size 4126

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:19f59e0b20ac583de4bfd76d18889d334bf0b6cdf7b5356723a33f3874738466
size 3694

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e69dc45a7d5a9206b3bfead10caf3117117005cd532c4fc599d9976637c1b9e3
size 2361

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:18ca8eae5bce081b4eef1b1f61a62aefed1d4e6e3cde41487c81fb96ee709e51
size 1650

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f64544000dd2f2ec94604d5fcf7c2a6d26d32d085264356084a4b53a7f0c3f0
size 3570

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:18eb41b9aa9ec55b3ee3932279cc54ead813710741f004c5ea5a1c2957896f59
size 28678

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e45780237ab0e9ea9ec11aab9f62dfb8b059138f846632ecacdc024db16dfb1b
size 3844

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3e0c963348495936556724cfb4d2d35eb4c14007ba72d51be94dd26c83d93fb8
size 5104

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b6938a71f9eb6b1ef2a201499f47ef1131869b90755932a2ee70a272b2ee0784
size 1619

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e9562c933e8eebb020eb143d21c4b2b529e2dc38d2d7365bc13adb8d0ef8227b
size 2494

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:19b6ba05f4e9f600044f45f1a5dc04d0da9276dc9a1cb5b07826df5cab5012c9
size 4677

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:57077b2e1d28d42636cab0f69e4b92b1ad64ac2eaa2843c270a6afaf308a76ae
size 2285

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ca59c5caaaa32368f7c84c714bbf2ad1cba61ec9ca5b5cb1a14cf6975affe8a2
size 6136

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1ca6edf1d5eab00126fa7320f01c21ed8cea09dc2d931f84a4015b9e50f8d2a
size 110803

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de6fe4be374481b1ee5ba8722882af7e7698038fd744375de153d1c78f528836
size 31681

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:08b64bb52109a07ae3ee1a1dafd12ad336d0a646c23aea075c5024b9437f3b29
size 1652

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2d440097abe2039c3c831d3b91d315857829d04e462415ee632c9f36321d520d
size 2240

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f21a861957bf4b1812ed67fdc528890f9cff1bb483facf0f5109e4a51932fe3b
size 1696

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0a86ebeaf9ed33548bf0f92359f7047e521d4d80fe6b0ef1c8ef9505e38b6d28
size 1912

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fbbb94888bfab2ea7141e7e1afa5872de099e7ee57baea17632c3d4fdd2cba3f
size 2443

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:00135de08089f8c711bb113588f80575a1d26e86d50b6dac5928a27a0ff9a8c7
size 2585

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f51258ba39861e08cbc8d407ec37a8d0fd28669aa7306c1365cb9c675fa1d76
size 4850

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3c513ca46927346c0673cd9db302afe62dbbf976844f36da0307fd10f7f47bfd
size 5966

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39dfe16f0790daa5d6b9b1bad3167c3c9e638c72452e0acdaf2d163c9c75ea40
size 2408

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:975611ad5eba15212d9e1d5fca9d4fdf0daec6d2269b2fcab8e29af8667164bc
size 180

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ac51462bf55ff62da39db4b15c7a6b9b783387709f06879196a065691b34edbf
size 14940

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7640d72de6a72eb9589ed2c623b4ec0924a241097846086c62dc3e05ab70ee9e
size 9968

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:81ac13d23f3744fe85ea2651ce903e201cd55fc63fcdd899d2cfe5560d50ef3d
size 2285

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b955a63c60c8b3be0203ec6c3973f9084d848cf884fe56cd56088301aeef7992
size 2394

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c19f6dc2c06e55d47bc1fbe9fc7658acc7a0d506b6baf16839a6119a03e873c1
size 8812

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:855e138f6d8c7947553b1c63a7bab06bcb71362f03c72b761fd9ed61820d71aa
size 2903

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f16742d574216434580573a2b09f56fc5b66b7dda1960d4f02ba59e3269ba548
size 11998

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1db30753e71c73f1937e807850069e8215cdf37a1bc3ff89d3a6370a719c1fde
size 2139

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:05b2e13aecaa0adbb470081a689f45baffb8e03a71997c31f37a22ea4e383a60
size 2561

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5df118692f2b7043820f0e641f1968cadb66c39f0ba85fab7435391322a223f5
size 33727

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d861dac3eaecc326fa8fb717d90f195d961cc8ac7898daccfefd10bd5ea42398
size 17166

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:37c4ccea939e19b463a2a3e4c101ff8dd03c98847fc045395d28ba0c9db8b662
size 6320

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5728cf65705a46723ea28b4f6c8361aad82b76a90e859943efe8af0edb79ec86
size 3259

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7969fd662f31cf3180403510a6784a14af60d7f9bf3a569dde84585a696dff09
size 4927

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:15ebdda1af65d91c4607a3444c5f749d5e9757ff5d7f4b04213b3194603f74d9
size 2514

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8f5817d77af243a52e905947aa5ae73c218d68dba909040b2f63bd2ca6f93922
size 3524

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c95cba1829e7886e31469f4e058bb9af3c8f215619c7ffddbc2045c9039f0554
size 9374

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b9c78c80aa9331b945802b6bcd1db4ecc9ec4f9fad41993cc82b880c0dec2576
size 3472

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a67a422676c5b6e2dfd59b3e6a8e3f816b0602f5d73332c0b1d8e6b43644077
size 7641

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2fc23ad8f0750d82fcd6aa3b653998e2ea9721f9d1664df7b6cb80e93d7fa3aa
size 3235

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ccc3a4a889b8a3c5aaf37b9fb2407bcdf23a065487c7cba718518a517c463b18
size 7056

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f90feec75a317e491618e06ce14d19218e5b0257c885155613b704002a9d5bda
size 5489

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e92af6be91c610c3bcad3a344a2df5e3516153fc89045464447bb0ee44b1f56
size 6599

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0c949cf5269ad933ed1a200ece06a3998db10147e1403629a398b7be52459cdc
size 1885

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1defa7afe4fab2090455bf74435ce185bce721d1b795f94c56994a031ae20080
size 184

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0c77e489715a83e1dc1ce3187b5e23b1b0cd52762638919e955d43afae316f9b
size 15452

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f91c41bc9a14a206bc86c87b9edd7215b5be63b8aade2bda40297dc6752de36
size 3039

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e1bda2934dce25cb0bb9fa6eaae230cd21aca79428905b66417f74fc8f0fa72a
size 8499

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0512cdd2a4479faac17b556f6311a3307ace2a5278217c4d738bd752c07dc37e
size 35894

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b0896571267220736679eea28c454783795a02a0f1aef008ebe7c40489a75fdd
size 8457

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:457274c2eda1fe91e83ae76b9d1ab8682e6144adfacbd2c86f5fb4a03ede421f
size 14385

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f50e471376bc9e8ca504a338cfe74ef634b8f2c242ccefed2e4da67197112de
size 10004

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d14d625a897d6bba0668acdf33dc597bb0050237c5c1a5f7e568fe36822782e7
size 2865

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e05c09b0a2f51c800aa57dc21277b5b4534e6783ab3df52dbf81c63e37fe8323
size 24341

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4878f46347271bc7a9ff26bb1573449a99cc81447684e1034a3edd4b0ff91d9a
size 1843

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d99c1b5c5dab94c23709d4ce6cf489c2a0b4f4bd57bb04e2196371277dca5af7
size 6669

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b598f37f40cf1342f923c0b97784a6f2830b543868eccee046375e096fbd5f24
size 4673

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:73a0333b65e99675834dcb1b63a5e9339638ccc619f1a2fcba85cdd0e179ade0
size 2411

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8c602859ebca906ba6e43ea548ff28821cf2886b4500b2be1deaaf2d552496d4
size 1988

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ad521fa2fd015cb1aba962468ca4ac176f5fc6b2c4b7be28f05e1c03d89e1b31
size 3097

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4986f86340b8162ef2724f0e77a380b5133aaa0612749cfb836c38b4c166d20d
size 1960

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6f6c6a5250dd0f901cdc7de8b9b3db26102719b7e056cd17500009096bfd9b39
size 3787

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6c96373d9e5deb2c500004f3f55ee1d2cea0f76cdfaeabaf5a3ad3e4938e8252
size 1360

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f74c83778a0df9738abcae823412436cbbeaff8e9083281fb6f38116cb401c2
size 3431

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:74067b6224e8a9d60969f192fdc17f97a12ff073274f5047c380543647026760
size 11412

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b4cceea6c7b3017dea61a9fd514d7460ab13592907addb69a2e92870872207f1
size 14819

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a29e4eebc8c269cfd867b96de91d8231773d392c12a8820e46eaba96d2b4ca1
size 1726

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f815f4edb0fb58c0b2c7b4f4763a27ee223672fa43ef4c5c0b99fb4575b66bf7
size 18735

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c3bc1533172fe74870df8e37f168f28b0ff2e21bdb6a519b6555ec72710c910f
size 2541

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8555ad5d41f5f2fa1c7dd0dc65f2145b0517c0a414654575aade8b3968e4c408
size 12766

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:61e89928dee9d83030adececac06aa6c1ae2aada06c5682fde52c52015c53556
size 2048

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b63b3a268b096f0eed1e91b821714cff334e5dc5bb34365148704393ae15321e
size 2304

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9d5743a42306ac0158e26248a1281ae8be9ebfeb02e67f14e0e6ae770a543a65
size 3944

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

Loading…
Cancel
Save