$(TOP)\ext\icu\sqliteicu.h \
$(TOP)\ext\icu\icu.c \
$(TOP)\ext\rtree\rtree.h \
-- $(TOP)\ext\rtree\rtree.c
- SRC = $(SRC) \
++ $(TOP)\ext\rtree\rtree.c \
+ $(TOP)\ext\session\sqlite3session.h \
+ $(TOP)\ext\session\sqlite3session.c
# Generated source code files
# Rules to build the extension objects.
#
icu.lo: $(TOP)\ext\icu\icu.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\icu\icu.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\icu\icu.c
fts2.lo: $(TOP)\ext\fts2\fts2.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2.c
fts2_hash.lo: $(TOP)\ext\fts2\fts2_hash.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_hash.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_hash.c
fts2_icu.lo: $(TOP)\ext\fts2\fts2_icu.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_icu.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_icu.c
fts2_porter.lo: $(TOP)\ext\fts2\fts2_porter.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_porter.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_porter.c
fts2_tokenizer.lo: $(TOP)\ext\fts2\fts2_tokenizer.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_tokenizer.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_tokenizer.c
fts2_tokenizer1.lo: $(TOP)\ext\fts2\fts2_tokenizer1.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_tokenizer1.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts2\fts2_tokenizer1.c
fts3.lo: $(TOP)\ext\fts3\fts3.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3.c
fts3_aux.lo: $(TOP)\ext\fts3\fts3_aux.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_aux.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_aux.c
fts3_expr.lo: $(TOP)\ext\fts3\fts3_expr.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_expr.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_expr.c
fts3_hash.lo: $(TOP)\ext\fts3\fts3_hash.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_hash.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_hash.c
fts3_icu.lo: $(TOP)\ext\fts3\fts3_icu.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_icu.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_icu.c
fts3_snippet.lo: $(TOP)\ext\fts3\fts3_snippet.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_snippet.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_snippet.c
fts3_porter.lo: $(TOP)\ext\fts3\fts3_porter.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_porter.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_porter.c
fts3_tokenizer.lo: $(TOP)\ext\fts3\fts3_tokenizer.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenizer.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenizer.c
fts3_tokenizer1.lo: $(TOP)\ext\fts3\fts3_tokenizer1.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenizer1.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenizer1.c
fts3_tokenize_vtab.lo: $(TOP)\ext\fts3\fts3_tokenize_vtab.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenize_vtab.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_tokenize_vtab.c
fts3_unicode.lo: $(TOP)\ext\fts3\fts3_unicode.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_unicode.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_unicode.c
fts3_unicode2.lo: $(TOP)\ext\fts3\fts3_unicode2.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_unicode2.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_unicode2.c
fts3_write.lo: $(TOP)\ext\fts3\fts3_write.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_write.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\fts3\fts3_write.c
rtree.lo: $(TOP)\ext\rtree\rtree.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\rtree\rtree.c
+ $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\rtree\rtree.c
+sqlite3session.lo: $(TOP)\ext\session\sqlite3sesion.c $(HDR) $(EXTHDR)
+ $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\session\sqlite3session.c
+
# Rules to build the 'testfixture' application.
#
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_SERVER=1 -DSQLITE_PRIVATE=""
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_CORE $(NO_WARN)
- TESTFIXTURE_SRC0 = $(TESTEXT) $(TESTSRC2) libsqlite3.lib
+ TESTFIXTURE_SRC0 = $(TESTEXT) $(TESTSRC2) $(SHELL_CORE_DEP)
-TESTFIXTURE_SRC1 = $(TESTEXT) $(SQLITE3C)
+TESTFIXTURE_SRC1 = $(TESTEXT) $(TESTSRC3) $(SQLITE3C)
!IF $(USE_AMALGAMATION)==0
TESTFIXTURE_SRC = $(TESTSRC) $(TOP)\src\tclsqlite.c $(TESTFIXTURE_SRC0)
!ELSE
$(TOP)\tool\showjournal.c $(SQLITE3C)
showwal.exe: $(TOP)\tool\showwal.c $(SQLITE3C)
- $(LTLINK) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
+ $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
$(TOP)\tool\showwal.c $(SQLITE3C)
+changeset.exe: $(TOP)\ext\session\changeset.c $(SQLITE3C)
+ $(LTLINK) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
+ $(TOP)\ext\session\changeset.c $(SQLITE3C)
+
fts3view.exe: $(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C)
- $(LTLINK) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
+ $(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -Fe$@ \
$(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C)
rollback-test.exe: $(TOP)\tool\rollback-test.c $(SQLITE3C)
$(TOP)\test\speedtest1.c $(SQLITE3C)
clean:
- del /Q *.lo *.ilk *.lib *.obj *.pdb sqlite3.exe libsqlite3.lib
- del /Q *.cod *.da *.bb *.bbg gmon.out
- del /Q sqlite3.h opcodes.c opcodes.h
- del /Q lemon.* lempar.c parse.*
- del /Q mkkeywordhash.* keywordhash.h
- del /Q notasharedlib.*
- -rmdir /Q/S .deps
- -rmdir /Q/S .libs
- -rmdir /Q/S quota2a
- -rmdir /Q/S quota2b
- -rmdir /Q/S quota2c
- -rmdir /Q/S tsrc
- del /Q .target_source
- del /Q tclsqlite3.exe tclsqlite3.exp
- del /Q testloadext.dll testloadext.exp
- del /Q testfixture.exe testfixture.exp test.db
- del /Q LogEst.exe fts3view.exe rollback-test.exe showdb.exe changeset.exe
- del /Q showjournal.exe showstat4.exe showwal.exe speedtest1.exe
- del /Q wordcount.exe
- del /Q sqlite3.dll sqlite3.lib sqlite3.exp sqlite3.def
- del /Q sqlite3.c sqlite3-*.c
- del /Q sqlite3rc.h
- del /Q shell.c sqlite3ext.h
- del /Q sqlite3_analyzer.exe sqlite3_analyzer.exp sqlite3_analyzer.c
- del /Q sqlite-*-output.vsix
- del /Q mptester.exe
+ del /Q *.exp *.lo *.ilk *.lib *.obj *.pdb 2>NUL
+ del /Q *.cod *.da *.bb *.bbg gmon.out 2>NUL
+ del /Q sqlite3.h opcodes.c opcodes.h 2>NUL
+ del /Q lemon.* lempar.c parse.* 2>NUL
+ del /Q mkkeywordhash.* keywordhash.h 2>NUL
+ del /Q notasharedlib.* 2>NUL
+ -rmdir /Q/S .deps 2>NUL
+ -rmdir /Q/S .libs 2>NUL
+ -rmdir /Q/S quota2a 2>NUL
+ -rmdir /Q/S quota2b 2>NUL
+ -rmdir /Q/S quota2c 2>NUL
+ -rmdir /Q/S tsrc 2>NUL
+ del /Q .target_source 2>NUL
+ del /Q tclsqlite3.exe 2>NUL
+ del /Q testloadext.dll 2>NUL
+ del /Q testfixture.exe test.db 2>NUL
+ del /Q LogEst.exe fts3view.exe rollback-test.exe showdb.exe 2>NUL
++ del /Q changeset.exe 2>NUL
+ del /Q showjournal.exe showstat4.exe showwal.exe speedtest1.exe 2>NUL
+ del /Q mptester.exe wordcount.exe 2>NUL
+ del /Q sqlite3.exe sqlite3.dll sqlite3.def 2>NUL
+ del /Q sqlite3.c sqlite3-*.c 2>NUL
+ del /Q sqlite3rc.h 2>NUL
+ del /Q shell.c sqlite3ext.h 2>NUL
+ del /Q sqlite3_analyzer.exe sqlite3_analyzer.c 2>NUL
+ del /Q sqlite-*-output.vsix 2>NUL
# Dynamic link library section.
#
-C Suppress\sa\scompiler\swarning\sthat\swas\sappearing\swith\sSQLITE_THREADSAFE=0.
-D 2015-03-24T18:19:39.691
+C Merge\sall\srecent\strunk\senhancements\sinto\sthe\ssessions\sbranch.
- D 2015-03-17T18:54:10.608
++D 2015-03-24T19:02:13.346
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
-F Makefile.in 88a3e6261286db378fdffa1124cad11b3c05f5bb
+F Makefile.in 1bf4de5d0809e0ed046d6f2671ea46d1d6c69608
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc 0de5ab64775feb698a51950874e56cf15fb8f67f
-F Makefile.msc cd626b52ebeec0e2c0dd929243bdd25b0df19a71
++F Makefile.msc 9547047d5f1b55326a195323ee41cd86281a5d9e
F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858
F README.md d58e3bebc0a4145e0f2a87994015fdb575a8e866
F VERSION 319eb1ced4b4d17a67730f2b7b85f15c1346cb60
F src/complete.c 198a0066ba60ab06fc00fba1998d870a4d575463
F src/ctime.c 98f89724adc891a1a4c655bee04e33e716e05887
F src/date.c e4d50b3283696836ec1036b695ead9a19e37a5ac
-F src/delete.c 37964e6c1d73ff49cbea9ff690c9605fb15f600e
+F src/delete.c 5075d88557eb4e2a7fdb2b61a96142830d8589b8
- F src/expr.c 3ef111b88ae2941b84b6b6ea4be8d501ba1af0cb
+ F src/expr.c d09dac67d53c78880ba31d56e8ba2be3a6490553
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
F src/fkey.c e0444b61bed271a76840cbe6182df93a9baa3f12
F src/func.c 1414c24c873c48796ad45942257a179a423ba42f
F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
F src/lempar.c 7274c97d24bb46631e504332ccd3bd1b37841770
F src/loadext.c 86bd4e2fccd520b748cba52492ab60c4a770f660
- F src/main.c 17902e3835e77d58a672dbd7b40a502afee733cc
- F src/malloc.c 740db54387204c9a2eb67c6d98e68b08e9ef4eab
-F src/main.c 569d45ba9eb4fbdd631d53f440bcdb4a35ab1505
++F src/main.c e404037a74cc37251e54c7b71a9a25b48b21e884
+ F src/malloc.c e818a0db9ac0898f9dc74002f3a5baca32232d05
F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
F src/mem1.c abe6ee469b6c5a35c7f22bfeb9c9bac664a1c987
F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3
F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
F src/resolve.c f4d79e31ffa5820c2e3d1740baa5e9b190425f2b
F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
- F src/select.c 94e016b6733b1d39a2f4c8d431155b4c2897d907
- F src/shell.c b90258c9083d94f51434ab57ab12336550a1483f
- F src/sqlite.h.in dff62c6db32b6b627184edae85878d66b184bd62
+ F src/select.c 72ffb62e2879956302140e9f6e6ae88aee36b0e5
-F src/shell.c 3ae1e53878d2804fe77b8c8f1f6ca287a0e5d80e
-F src/sqlite.h.in 2f9606a682af372415ce9d1f244183c5cc8385aa
++F src/shell.c 560f5ceec3a1855c1aa474a52b75dea112d548b4
++F src/sqlite.h.in 690648d5c676eb3ded09f635fc8d0aeb22235df0
F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
F src/sqlite3ext.h 17d487c3c91b0b8c584a32fbeb393f6f795eea7d
- F src/sqliteInt.h 9c62b8dff75ed3a8fc3bb5883a91e66ece8666da
-F src/sqliteInt.h bedf15914c09bfb5fe3ec4e3f211a4a6fc42cd33
++F src/sqliteInt.h d2804bd5a9c270bc60fe096c9c416123425ebdde
F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
- F src/status.c 81712116e826b0089bb221b018929536b2b5406f
+ F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179
F src/table.c e7a09215315a978057fb42c640f890160dbcc45e
-F src/tclsqlite.c fa72a7c5278662357c105ba7925c1d0972506ff9
+F src/tclsqlite.c 7ed2644b48685cba250eb71c7c298fedab6e221a
F src/test1.c 90fbedce75330d48d99eadb7d5f4223e86969585
F src/test2.c 577961fe48961b2f2e5c8b56ee50c3f459d3359d
F src/test3.c 64d2afdd68feac1bb5e2ffb8226c8c639f798622
F src/test_vfstrace.c bab9594adc976cbe696ff3970728830b4c5ed698
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
F src/threads.c 6bbcc9fe50c917864d48287b4792d46d6e873481
- F src/tokenize.c 05e52378c46efbc1fd63cbbbf7f3c555f840f4bf
+ F src/tokenize.c a8d270b06e5f709930f7b67cf70a847969cb5bf3
F src/trigger.c 25571661fdeae8c7f975ff40ffec205520a3f92f
-F src/update.c 3c4ecc282accf12d39edb8d524cf089645e55a13
+F src/update.c d207deb7a031f698104bee879de0632b611e72dd
F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c
F src/util.c 98a7627ca48ad3265b6940915a1d08355eb3fc7e
F src/vacuum.c 9460b9de7b2d4e34b0d374894aa6c8a0632be8ec
- F src/vdbe.c 20dc93eae5fe11a33a7edf6d863c634e4e2eb15e
-F src/vdbe.c bbfede5a8a6908b3ddcd55fdb0b2301288dd4754
-F src/vdbe.h 6fc69d9c5e146302c56e163cb4b31d1ee64a18c3
-F src/vdbeInt.h 9cbaa84f53ddd2d09a0cf61a94337a3a035d08a0
-F src/vdbeapi.c 583d56b129dd27f12bed518270de9ebe521e6a75
-F src/vdbeaux.c 413dc496248ac18eb0c19e35e86bb1ffd47b8907
-F src/vdbeblob.c 4f2e8e075d238392df98c5e03a64342465b03f90
-F src/vdbemem.c c0dc81285b7571b0a31c40f17846fe2397ec1cd9
++F src/vdbe.c 334c39a26214270555f4b5f9ba490aaf9a9e2601
+F src/vdbe.h b434bb75fbec973d18d49225a59833ae39ee2afc
- F src/vdbeInt.h 50fc184e25bfe1b39b8e508082cd3f0cd8a29b3d
++F src/vdbeInt.h 96e4303a96c6f983e36e1fe32657b2c547f5c8f1
+F src/vdbeapi.c d95f2bb43d01a91d93231cde181811b38182202e
- F src/vdbeaux.c bf85a5975ade7da58fb31473a713c2f63ac86697
++F src/vdbeaux.c 3f36b184dbb5ca87b30c7c616d7cef6eb9e74ed6
+F src/vdbeblob.c ab33f9b57cfce7dddb23853090186da614be4846
+F src/vdbemem.c 149e585645c3f3ef063f2b7251646388cfe3d47d
- F src/vdbesort.c 6d64c5448b64851b99931ede980addc3af70d5e2
+ F src/vdbesort.c 919717d7599fa31d343ec28bffd0f9e91a4ff5f6
F src/vdbetrace.c 7e4222955e07dd707a2f360c0eb73452be1cb010
- F src/vtab.c 699f2b8d509cfe379c33dde33827875d5b030e01
+ F src/vtab.c 62d49237bd8f3be4863815a39387b0f9897fa5e1
F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb
F src/wal.c 878c8e1a51cb2ec45c395d26b7d5cd9e1a098e4a
F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P 68c8937e83b770d5ec6b1855c1bde81057c11b5f 7214dab7443d35c105904dd69635c1f8b45b2fc8
- R 2d91509a074fbfae08a7fbe6a418b4b7
-P cbeb9a1aed8ce3fb569a7717ad03c7c058b68de6
-R 1df40f85f677c47017b13b63b82a97b5
++P 1d1c57c3566d86cd44f146688b620131b3b57e52 436314b5728c9413f9ac2d837e1c19364f31be72
++R b5b5e91935316c7c5da3a524cb5abdb1
U drh
- Z 602e4d87f819b64c7ba9f529ae0477ce
-Z 408df2ac27dc537c38335d50565b918f
++Z a1e013db0b150b015d815c843c8a5cc9